이번에는 노트북 PC의 핵심 부품인 CPU에 대해서 간단히 알아보도록 할까요? 나라에는 수도가 있고 수도에는 각종 행정을 관장하는 시청이 있습니다. 사람에게는 약 100조개의 신경 접합부로 구성된 두뇌가 있고요. 마찬가지로 PC에는 각종 데이터를 처리하여 사용자가 원하는 정보로 가공, 출력하는데 주도적인 역할을 수행하는 CPU가 있습니다.
CPU는 흔히 '반도체'(半導體, semiconductor)라고 말합니다. 반도체란 쉽게 말해서 금속과 같은 도체보다는 전하 즉 전기를 잘 이동시키지 못하지만 유리와 같은 절연체보다는 전하를 잘 이동시키는 물체입니다. 그래서 도체와 전연체의 중간적 성격을 띠고 있다하여 '반도체'라고 불리게 된 것입니다. 물론 램이라고 부르는 DDR SDRAM도 반도체입니다.
반도체는 특수하게도 전기를 통하게도 할 수 있고 전기를 통하지 않게도 할 수 있습니다. 이런 기능을 갖출 수 있었던 것은 반도체가 전기를 끊었다 연결하는 ON/OFF 스위치 기능을 수행하는 트랜지스터로 구성되어 있기 때문입니다. 보통 디지털은 '1'과 '0'으로 이루어져 있다고 하는 것도 이 때문입니다. 트랜지스터는 전기가 흐르는 상태에서 '1'을, 전기가 흐르지 않은 상태에서 '0'으로 표시됩니다. 따라서 '1'과 '0' 만을 표시하는 트랜지스터로 구성된 반도체도 '1'과 '0'만으로 연산을 수행하며 이러한 반도체를 핵심부품으로 사용하고 있는 PC도 오로지 '1'과 '0'으로 이루어진 2진수 체계만으로 작동을 하게 되는 것입니다.
2진수만을 사용한다고 해서 걱정할 필요는 없습니다. 트랜지스터가 몇 개만으로 CPU가 구성되어 있다면 모를까.. CPU 안에는 육안으로는 그 수를 헤아릴 수 없을 정도로 엄청난 수의 트랜지스터가 집적되어 있기 때문에 '1'과 '0'만으로도 모든 연산을 수행해 낼 수 있습니다. 가령 펜티엄 초기 CPU에는 약 300만개 정도의 트랜지스터가 집적되었으며 펜티엄 2 CPU에는 약 750만 개, 펜티엄 3에는 약 2800만 개, 펜티엄 4 프로세서에는 약 4200-4800만 개의 트랜지스터가 한 개의 CPU 안에 집적되어 있습니다. 노트북용 프로세서인 배니어스 코어의 펜티엄 M CPU에는 7700만 개의 트랜지스터가, 인텔이 최근 발표한 Dothan CPU에는 무려 1억 4000만 개의 트랜지스터가 집적되어 있습니다. 따라서 2진수만으로도 처리하지 못할 데이터가 없는 것입니다.
대단히 민감한 장치인만큼 CPU는 먼지가 거의 없는 클린룸에서 제조됩니다. CPU의 공정 역시 매우 까다롭습니다. CPU의 기본 재료는 단단한 결정으로 만들어진 실리콘입니다. 이 실리콘 위에 칩의 게이트와 회로도가 추가되어 실리콘 기판을 형성하고 이 위에 트랜지스터, 금, 알루미늄등을 입혀서 제조됩니다.
CPU를 구분하는 단위는 Hz로 표기되는 동작 클럭입니다. Hz는 주파수 단위를 의미하는데, 주파수는 일정한 크기의 전류나 전압 또는 전계와 자계의 진동(oscillation)과 같은 주기적 현상이 단위 시간인 1초 동안에 반복되는 횟수를 말합니다. 가령 100Hz라함은 진동이나 주기적 현상이 1초 간에 100회 반복되는 것을 의미합니다. M이란 100만을 의미하는 '메가' 단위를 의미하기 때문에 1MHz는 1초 간에 진동이나 주기적 현상이 1,000,000회 반복되는 것을 뜻합니다. 클럭주파수는 컴퓨터내에서 발생하는 동기적 신호입니다. 즉 이 신호 한 번에 CPU도 하나의 일을 처리할 수 있다고 생각하시면 됩니다. 보통 노트북 PC에 사용되는 CPU중 1.6 Ghz 제품이 평균적인데, 이는 1초에 약 1,600,000,000번의 동기적 신호가 발생한다는 말이 됩니다. 물론 CPU가 초당 발생하는 신호의 양이 크면 클수록 더 높은 성능을 발휘하게 됩니다.
최근 노트북에 사용되고 있는 Pentium M CPU는 제품에 따라 1GHz에서 2.1GHz 사이의 클럭으로 동작되도록 제조되어 있는데, 클럭이 다르면 제품을 제조하는 공정 또한 다를 것으로 생각되겠지만, 이는 사실과 다릅니다. 일반적인 공산품은 모델에 따라 생산 라인이 구분되지만 CPU는 그렇지 않습니다. 동일 코드명의 CPU들은 모두 하나의 생산 라인에서 제조되며 클럭 주파수 입력 과정인 '한계 테스트'에 의해 제품의 등급이 나뉩니다.
가령 특정 CPU에 1.8GHz의 클럭을 입력하였을 때에는 불안정하게 동작하였지만 1.5GHz의 클럭을 입력하였을 때 안정적으로 동작하였다면 안정성 테스트를 한 번 더 거친 후 1.5GHz CPU 라벨을 달고 출시되게 됩니다. 물론 같은 라인에서 생상된 다른 CPU가 1.8GHz 클럭에서 안정적으로 동작하였다면 이 제품은 1.8GHz 라벨을 달고 훨씬 비싼 가격에 출시되는 것이지요. 쉽게 말해 Dothan 코어의 최하위 모델인 1.5 GHz CPU나 최상위 모델인 2.1GHz나 결국에는 모두 동일한 제품입니다. 다만 제품에 따라 고클럭을 안정적으로 받아들일 수 있도록 제조되었느냐 그렇지 않느냐의 차이인 것입니다. 이 때문에 원래 CPU에 입력되어 있는 한계 클럭보다 높은 클럭으로 동작하도록 만드는 '오버클러킹'이 가능한 것입니다. 조금 허무하다고요? 그럴 수도 있겠네요. ^^
캐시메모리의 역할
CPU의 성능을 구분하는 것 중에는 캐시메모리라는 것도 있습니다. 캐시메모리가 무조건 높은 것이 좋다고 하는데, 캐시메모리는 도대체 CPU에서 어떤 역할을 할까요? 쉽게 말하자면 캐시메모리는 빠른 CPU와 느린 램 사이에서 발생하는 속도차이로 인해 발생하는 데이터 병목현상을 조절하는 중재자 역할을 하는 부품을 말합니다. CPU의 빠른 데이터 처리 성능을 램이 따라오지 못하기 때문에 CPU는 램이 필요한 정보를 충분히 전송할 때까지 '대기 상태'로 기다려야 하는데, 이렇게 되면 CPU는 원래의 성능을 발휘하지 못하게 됩니다. 따라서 CPU와 램 사이에 램보다 빠른 속도의 메모리를 마련함으로써 램과 CPU 속도차로 인한 지연 현상을 없애는 방법을 사용하는데, 바로 그 역할을 수행하는 것이 캐시메모리인 것입니다. 캐시메모리는 CPU와 램 사이에서 필요한 데이터를 임시로 저장해 두고 있기 때문에 램이 미처 전달하지 못한 데이터를 빠른 속도로 CPU에 전달하기 때문에 CPU가 자체 속도로 원할하게 동작할 수 있도록 만들어 줍니다.
"CPU의 제원표를 보면 캐시메모리도 L1, L2로 구분되던데요?" - 맞습니다. 캐시메모리는 L1, L2 캐시로 구분됩니다. L1 캐시는 '레벨 1' 캐시라고도 부르며 SRAM(Static RAM)을 사용합니다. L1 캐시에는 CPU 명령어가 저장되는 명령캐시와 데이터가 저장되는 데이터 캐시로 구분됩니다. 반면 L2 캐시는 '레벨 2' 캐시라고도 부르며 L1 캐시가 담지 못하고 있는 데이터를 저장하여 CPU가 원래의 속도로 동작할 수 있게 만들어줍니다. 캐시를 L1, L2로 나눈 이유는 바로 비용문제 때문입니다. L1캐시메모리에 사용되는 SRAM은 L2 캐시보다 빠르지만 가격이 무척 비싸기 때문에 대용량 메모리를 사용할 경우 CPU 가격이 상당히 비싸지게 되는데, 가격이 상승하는 것은 제조사측에서 절대로 원하는 일이 아니지요.
따라서 L1캐시와 램 사이에 L1캐시보다 상대적으로 저렴한 L2 캐시메모리를 두어 필요한 데이터를 CPU로 공급할 수 있도록 마련한 것입니다. 즉 CPU는 가장 빠른 L1 캐시에서 필요한 데이터를 검색한 다음 원하는 정보가 없을 때 L2 캐시를 검색하게 되는 것입니다. Dothan 코어의 프로세서에는 L1 캐시메모리와 램 사이에 위치하여 CPU에 필요한 데이터를 공급하는 L2 캐시메모리가 2MB 탑재되어 있다는 것입니다. 예상할 수 있듯이 L2 캐시메모리 용량이 크면 클수록 CPU 가격은 더욱 비싸지며 성능 또한 향상되는 것 아니겠습니까?
CPU의 제조공정이란?
CPU 사양표에서 0.13μm 공정으로 제조되었다는, 더욱 미세화된 0.09μm 공정으로 제조되었다는 표현을 한번 쯤은 보셨을 겁니다. 사실 수 천만에서 1억 개가 넘는 트랜지스터를 집적하고 있다고는 하지만 배터리로 동작해야 하는 노트북 CPU는 대단히 낮은 전압만을 사용하도록 설계되어 있습니다. 보통 데스크탑용 CPU가 1.475-1.7V로 동작하며 노트북용 CPU는 0.9-1.2V의 낮은 전압에서 동작합니다. 그러면서도 1초당 1억 5000만회가 넘는 주파수로 동작하려면 당연히 열이 많이 발생할 수 밖에 없습니다. 이는 CPU 클럭이 높아지고 집적된 트랜지스터의 숫자가 많아질 수록 심화됩니다. 마치 빨리뛰면 빨리뛸수록 숨이 더 차고 땀을 더 많이 흘리는 것과 같은 이치인 것입니다. 사람도 일정 이상으로 체온이 올라가면 정신을 잃거나 사망에 이르듯이 CPU 역시 규정 온도를 넘어서면 동작을 멈추거나 코어가 손상되어 고장을 일으킬 수 있습니다. 이 때문에 고성능 노트북일수록 더욱 크고 섬세한 쿨링시스템이 적용되어 CPU에서 발생하는 발열에 대비하는 것입니다.
CPU 발열을 적정수준으로 제어하면서 CPU 성능을 지속적으로 올릴 수 있는 해결책이 바로 제조 공정을 더욱 미세화하는 방법입니다. CPU 내부에서 발열을 일으키는 부분은 CPU 내부에서 데이터가 이동하는 전선의 폭과 길이입니다. 따라서 CPU의 동작클럭이 높아지고 집적된 트랜지스터 수가 증가하더라도 제조 공정을 더욱 미세화시켜 CPU 내부의 전선의 폭과 길이를 줄인다면 성능 향상에 따른 발열 증가도 어느 정도 제어할 수 있게 됩니다. 보통 0.13μm, 0.09μm 등을 표기할 때 사용되는 기호 μ은 '미크론'이라는 단위로서 1 미크론은 1mm의 1/1000을 나타냅니다. 따라서 계산해보면 0.13μm, 0.09μm 등의 단위가 얼마나 미세한 크기인지 아실 수 있을겁니다. 참고로 0.09μm는 90나노로도 표기되는데, '나노'(nano, ns로 표기)라는 단위는 10의 -9승, 즉 10억분의 1m를 말하는데, 이는 머리카락의 1000분의 1에 해당하는 크기입니다. 당연히 고성능 CPU일수록 더욱 미세화된 공정으로 제조됩니다.
32비트? 64비트?
한가지만 더 언급하고 마치도록 하겠습니다.
CPU 사양을 보시면 32비트, 64비트와 같은 단위를 보셨을겁니다. 특히 작년 가을, AMD에서 X86과 호환되는 64bit 프로세서인 AMD의 Athlon64를 출시한 이후 일반 PC 사용자들도 64 비트 프로세서에 대한 관심도가 많이 높아지고 있습니다.
일단 결론부터 말씀드리지만, 일부 고사양 데스크탑이나 워크스테이션, 서버 등에는 인텔 제온(Xeon)이나 AMD의 Athlon64와 같은 64 비트 CPU를 탑재하고 있지만 현재 노트북 PC에서 사용되고 있는 CPU는 모두 32BIT 기반입니다.
여기서 '비트'라는 단위는 클럭당 데이터를 처리하는 bit 즉 데이터가 전송되는 버스 폭을 의미합니다. 즉 32비트 CPU는 한 번 연산할 때마다 2의 32 제곱에 해당하는 데이터를 주고받을 수 있다는 것을 말합니다.
하지만 64비트 CPU는 아직까지 일반 사용자 입장에서는 큰 효용성이 없습니다. 왜냐하면 현재 우리가 사용하고 있는 윈도우 XP는 32비트 기반의 OS이며 위드와 오피스를 비롯한 대다수의 프로그램 역시 16비트 혹은 32비트 기반으로 제작되어 있기 때문에 당장 64비트 CPU가 노트북에 탑재된다해도 소용이 없습니다.