[IT강의실] 0과 1로 세상을 바꾼 컴퓨터의 두뇌 - CPU

김영우 pengo@itdonga.com

[용어로 보는 IT 2015 개정판] 컴퓨터의 성능을 가늠하고자 할 때 가장 먼저 살펴보게 되는 것이 바로 기본 사양표다. 여기에는 해당 컴퓨터를 구성하고 있는 부품의 항목이 일목요연하게 정리되어 있는 데, 가장 상단에는 대부분 'CPU'라는 항목이 위치해 있다. 그만큼 컴퓨터에서 CPU는 전반적인 성능을 좌우하는 가장 중요한 부품이라고 할 수 있다.

'CPU', 혹은 '마이크로프로세서'라고 부르는 그것

CPU는 'Central Processing Unit'의 약자로서,직역 하면 중앙처리장치(中央處理裝置)다. 단어 그대로, 컴퓨터의 정중앙에서 모든 데이터를 처리하는 장치라는 뜻이다. CPU는 컴퓨터의 두뇌에 해당하는 것으로서, 사용자로부터 입력 받은 명령어를 해석, 연산한 후 그 결과를 출력하는 역할을 한다. 그리고 이렇게 하나의 부품에 연산 장치, 해독 장치, 제어 장치 등이 집적되어 있는 형태를 일컬어 '마이크로프로세서(Micro-processor)'라고 한다. CPU와 마이크로프로세서는 거의 같은 의미로 쓰이는 일이 많다. 다만 마이크로프로세서 중에는 전기밥솥이나 세탁기와 같은 제품의 제어용으로 쓰이는 것도 있어, 일반적인 컴퓨터에 장착되는 CPU와는 미묘하게 의미가 구분된다(여기서는 CPU라고 통일해 지칭).

CPU 장착
CPU 장착

< PC 시스템의 메인보드(주기판)에 CPU를 장착하는 모습>

또한 최근에는 하나의 칩에 CPU 및 GPU(그래픽 처리장치), 각종 장치용 제어기 등이 함께 들어가는 경우가 많아 CPU의 개념이 '부품'이라기 보다는 '기능'의 하나로 바뀌는 경향이 나타나고 있다. 특히 스마트폰과 같은 소형 기기에 주로 쓰이는 통합형 프로세서는 CPU보다는 'SoC(System on a chip)', 혹은 'AP(Application Processor)'라고 부르곤 한다. 그리고 AMD는 CPU와 GPU의 기능을 융합한 PC용 통합형 프로세서를 'APU(Accelerated Processing Unit)'라는 이름으로 부르기도 한다.

1초에만 몇 억 번씩 0과 1을 헤아리는 CPU

컴퓨터 CPU의 가장 기본적인 역할은 연산/계산 작업이다. 이를테면 사용자가 '0 + 1'이라는 명령을 내리면 CPU는 이를 받아들여 계산을 한 후 '1'이라는 결과를 영상 출력 장치(모니터 등)로 보여준다. 물론, 지금 우리가 사용하는 컴퓨터의 CPU는 이러한 단순한 계산 작업만 처리하지는 않으며, 문서나 그림, 음악이나 동영상 처리 등 다양한 데이터를 취급한다. 하지만 처리하는 데이터의 종류가 다르다 해도 CPU가 데이터를 처리하는 기본 원리는 '0 + 1 = 1'을 계산할 때와 크게 다르지 않다.

CPU 연산 도식
CPU 연산 도식

< CPU는 수많은 0과 1로 이루어진 데이터를 연산해 다양한 결과물을 도출한다>

왜냐하면 컴퓨터의 내부에서 이동하는 데이터는 어차피 '0'과 '1'로만 구성된 디지털 신호의 조합이기 때문이다. 예를 들어, 사용자가 숫자 '3'을 컴퓨터에 입력하면 CPU는 이를 '00011'이라는 0과 1의 조합으로 인식한다. 만약 단순한 숫자 데이터가 아닌 영상이나 음악 등의 복잡한 데이터를 CPU가 인식, 처리할 수 있는 디지털 신호로 구성하려면 수많은 0과 1의 조합이 필요하다.

이를 테면 5MB 용량의 음악 파일 1개가 있다면 CPU는 이를 총 4천만 개 정도의 0과 1이 조합된 집합체로 인식한다. 사용자가 PC 상에서 음악 파일 하나를 클릭하여 재생하는 순간, CPU 내부에서는 '1100011000111101100011000110011001110~'등으로 한없이 이어지는 연산 작업이 초당 몇 천만 번, 혹은 몇 억 번씩 이루어 지고 있는 셈이다.

클럭 속도? 코어 수? 무엇이 중요해?

이러한 연산 속도는 CPU의 종류마다 다르다. CPU의 속도를 나타내는 대표적인 단위는 ‘클럭(clock)’인데, 이는 1초당 CPU 내부에서 몇 단계의 작업이 처리되는 지를 측정해 이를 주파수 단위인 ‘Hz(헤르츠)’로 나타낸 것이다. 따라서, 이 클럭 수치가 높을수록 빠른 성능의 CPU라고 할 수 있다. 참고로, 1971년에 등장한 세계 최초의 컴퓨터 CPU인 '인텔(Intel) 4004'의 최대 동작 클럭은 740KHz(74만Hz)였으며, 2015년 현재 판매 중인 CPU인 '인텔 코어(Core) i7 4790K'의 동작 클럭은 4GHz(약 40억Hz)에 달한다.

다만, 과거에는 이러한 클럭 속도가 CPU의 성능을 나타내는 절대적인 기준이었지만, 최근에는 하나의 CPU에 2개 이상의 코어(Core)를 집어넣은 멀티 코어(Multi Core) CPU가 등장하여 클럭 속도 외에도 코어의 수가 CPU의 성능을 나타내는 또 하나의 기준이 되고 있다. 클럭만 너무 높이면 발열이나 전력소모도 심해진다. 이는 특히 휴대용 기기에 치명적이다.

멀티코어 CPU
멀티코어 CPU

< 하나의 칩에 2개 이상의 코어를 탑재한 다중 코어 CPU>

코어란 CPU에 내장된 처리회로의 핵심 부분으로서, 예전에는 1개의 CPU 당 1개의 코어(단일 코어: Single Core)만을 가지고 있는 것이 당연시 되었다. 1990년대 후반과 2000년대 초반을 즈음하여 산업용이나 전문가용 컴퓨터를 위한 다중 코어(Multi Core) CPU가 나온 적은 있으나 극히 제한된 분야에만 사용되어 시장에 미치는 영향은 미미한 수준이었다. 하지만 2005년, 2개의 코어를 갖춘 듀얼 코어(Dual Core) CPU인 인텔의 '펜티엄(Pentium) D'와 AMD의 '애슬론(Athlon)64 X2'가 등장하면서 일반 PC에서도 다중 코어 CPU의 대중화가 시작되었다.

이후, 4개의 코어를 갖춘 쿼드 코어(Quad Core) CPU, 6개의 코어를 갖춘 헥사 코어(Hexa Core) CPU, 그리고 8개의 코어를 갖춘 옥타 코어(Octa Core) CPU도 차례로 PC 시장에 등장했다. 그리고 2011년에는 듀얼 코어 CPU 기반 AP인 '엔비디아 테그라2'를 탑재한 'LG전자 옵티머스 2X'가 등장하는 등, 모바일 기기에도 다중 코어 CPU는 적용 범위를 확대하고 있다.

다중 코어 CPU는 내장된 코어의 수와 같은 수의 단일 코어 CPU를 동시에 설치한 것과 유사한 성능을 낸다. 이를테면 듀얼 코어 CPU는 기존의 단일 코어 CPU가 2번에 걸쳐 처리해야 하는 작업을 듀얼 코어 CPU는 1번에 끝낼 수 있어 전반적인 처리 효율을 높일 수 있다. 다만, 다중 코어 CPU는 동시에 여러 가지 작업을 하거나 다중 코어 연산에 최적화된 소프트웨어를 구동할 때 비로소 큰 효과를 볼 수 있다. 다중 코어 연산을 지원하지 않는 소프트웨어를 사용하거나 한 가지 작업만 집중적으로 할 때는 코어가 많고 클럭 수치는 낮은 CPU 보다는 코어의 수가 적어도 클럭 수치가 높은 CPU를 사용하는 것이 오히려 나은 결과를 내는 경우도 많다. 그래픽 편집 프로그램이나 동영상 인코딩 프로그램, 혹은 파일 압축 프로그램 중에 다중 코어를 지원하는 경우가 많으니 참고하자.

CPU의 등급과 가격을 구분 짓는 중요한 지표, 캐시 메모리

클럭 속도와 코어의 수 외에도, CPU의 성능을 가늠할 수 있는 또 하나의 기준은 CPU 안에 들어 있는 캐시 메모리(cache memory)의 용량이다. '캐시'라 줄여 부르곤 하는데, CPU 내부의 임시 저장공간으로서 CPU가 데이터를 처리할 때 자주 사용하는 데이터를 임시 보관하는 곳이다. 이 캐시 메모리의 용량이 작으면 CPU에 비해 동작 속도가 훨씬 느린 주 기억장치(RAM, 메모리)나 보조 기억 장치(하드디스크, CD-ROM, SSD 등)로부터 직접 데이터를 불러들이는 빈도가 높아지는데, 이런 경우 컴퓨터의 전반적인 처리 속도가 크게 저하된다. 결론적으로 CPU의 캐시 메모리는 크면 클수록 성능 향상에 유리하다.

캐시 설명 그림
캐시 설명 그림

캐시 메모리는 CPU 코어와의 위치에 따라 1차 캐시 메모리(Level 1 cache memory)와 2차 캐시 메모리(Level 2 cache memory), 3차 캐시 메모리(Level 3 cache memory) 등으로 나뉜다. CPU와 가까운 곳에 위치한 캐시 메모리 일수록 성능 향상 폭이 크지만, 그만큼 제조가 어렵고 생산 단가도 높아진다.

1990년대 초반까지는 CPU에 1차 캐시 메모리만 내장하고 경우에 따라서 메인보드(주 기판) 상에 2차나 3차 캐시 메모리를 추가 장착하는 방식이 주류를 이루었으나, 1990년대 중반 이후부터는 CPU 내부에 1차, 2차 캐시 메모리를 함께 내장하는 방식이 일반화 되었다. 그리고 2007년, 'AMD 페넘 X4'의 발매를 즈음하여 3차 캐시 메모리까지 CPU 내부에 넣는 경우가 많아졌다.

캐시 메모리의 구성과 용량은 CPU의 등급과 가격을 결정하는 중요한 잣대가 되기도 한다. 1998년에 출시된 인텔의 '셀러론(Celeron) 300' 모델은 상위 제품인 '펜티엄 II 300' 모델과 클럭 속도와 코어의 종류가 동일했으나 가격은 절반 이하였다. 두 제품의 차이는 512KB 2차 캐시의 유무뿐이었는데, 이로 인해 상당한 성능차이가 발생하여 셀러론 300을 구매한 소비자들이 불만이 컸다. 그 후, 인텔은 기존의 셀러론 300에 128KB의 2차 캐시를 추가하고 가격은 거의 비슷한 '셀러론 300A'를 출시하였는데, 가격에 비해 성능이 매우 우수해 큰 인기를 끌었다. 이후 출시된 PC용 CPU들은 저가형 제품이라도 일정 수준 이상의 2차 캐시나 3차 캐시를 탑재하고 나오는 경우가 대부분이다.

2010년대 이후에 나온 PC용 CPU들은 2차 캐시보다 상대적으로 확장이 쉬운 3차 캐시 용량의 확대에 더 적극적이다. 2015년 현재 판매중인 인텔의 PC용 CPU는 거의 모든 모델이 코어당 동일한 256KB의 2차 캐시를 탑재하고 있으나 3차 캐시의 경우, 2MB(셀러론 G1840) ~ 20MB(코어 i7 5960X)로 제품 등급이나 가격대에 따라 용량 차이가 크다.

성능 비교의 시작이자 끝, 아키텍처

그리고 마지막으로 알아두어야 할 점은 바로 CPU의 아키텍처(architecture)의 차이다. 아키텍처란 컴퓨터 시스템의 기본 구조 및 설계 방식, 그리고 제조 공정까지 포함하는 개념으로서, 클럭 속도나 코어의 수, 캐시의 용량이 모두 같더라도 아키텍처가 다르면 전반적인 성능에 차이가 난다.

인텔과 AMD CPU 연표
인텔과 AMD CPU 연표

< 인텔과 AMD의 PC용 CPU 아키텍처와 대표제품>

자동차로 비유하면 엔진 배기량이나 차체 크기가 유사한 모델이라도, 연식이나 시리즈에 따라 출력, 편의기능 등에서 차이가 나는 것과 유사하다. 즉 몇 기통 엔진을 장착했는가, 차체 뼈대를 어떻게 설계했는가, 어떤 옵션과 부품을 내장했는가 등의 기준에 따라 전반적인 성능 및 기능이 달라지게 되는 것이다. 이와 같은 기준들이 자동차 생산에 있어 하나의 '아키텍처'인 셈이다.

이를 테면 2006년 1월에 출시된 '펜티엄 D 930'은 3GHz의 클럭과 2개의 코어, 그리고 총 4MB의 2차 캐시 메모리를 갖춘 CPU다. 그리고 2014년에 출시된 '셀러론 G1820'은 2.7GHz의 클럭과 2개의 코어, 그리고 총 512KB의 2차 캐시 메모리 및 2MB의 3차 캐시 메모리를 갖추고 있다. 단지 수치적인 사양만 보면 펜티엄 D 930이 더 나아 보이지만, 실제 성능은 셀러론 G1820이 훨씬 우수할 뿐 아니라 전력 소모나 발열도 더 적다. 이는 셀러론 G1820에 적용된 하스웰 아키텍처가 펜티엄 D 930에 적용된 넷버스트 아키텍처에 비해 한층 진보된 것이기 때문이다.

따라서 CPU끼리 성능을 비교하고자 할 때는 일단 아키텍처가 같은 제품끼리 분류한 후에 클럭이나 코어, 캐시 메모리 등의 우열을 따져보는 것이 바람직하다. 그리고 만약 아키텍처가 다른 CPU끼리 성능을 비교하고자 할 때는 세부적인 수치를 따지는 것 보다는 각종 매체나 관련 커뮤니티에서 얻을 수 있는 정보를 참고하자. 그리고 모델 간의 가격 차이를 확인해 보는 것도 좋다.

글 / IT동아 김영우(pengo@itdonga.com)

※ 본 기사는 네이버캐스트(http://navercast.naver.com/)의 '용어로 보는 IT' 코너에도 함께 연재됩니다.

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.