컴퓨터 시스템에서 가장 핵심적인 부품을 하나 꼽으라면 단연 CPU(중앙 처리 장치)일 것입니다. 이는 컴퓨터의 중추이자 ‘두뇌’ 역할을 수행하며, 프로그램, 운영 체제, 그리고 기타 하드웨어 컴포넌트로부터 전달되는 모든 명령을 처리합니다.
이진법의 세계
기술의 발전은 CPU의 성능 향상을 통해 급격히 이루어졌습니다. 초창기에는 화면에 겨우 이미지를 표시하는 수준이었지만, 이제는 넷플릭스 스트리밍, 화상 회의, 생생한 비디오 게임까지 구동할 수 있게 되었습니다.
CPU는 고도의 엔지니어링 기술이 집약된 결과물입니다. 하지만 그 근본 원리는 여전히 1과 0으로 구성된 이진 신호를 해석하는 데 기반합니다. 과거에는 펀치 카드나 진공관을 사용해 명령을 처리했지만, 현대의 CPU는 수많은 미세한 트랜지스터를 활용하여 틱톡 비디오를 편집하거나 스프레드시트에 데이터를 채우는 등 다양한 작업을 수행합니다.
CPU의 기본 구조
CPU 제조 과정은 매우 복잡합니다. 핵심은 각 CPU가 수십억 개의 미세한 트랜지스터를 포함하는 실리콘 칩(단일 또는 복수)으로 구성된다는 점입니다.
앞서 언급했듯이, 이 트랜지스터들은 전기 신호(‘켜짐’ 또는 ‘꺼짐’)를 사용하여 1과 0으로 이루어진 기계어 코드를 나타냅니다. 트랜지스터 수가 많을수록 CPU는 더욱 복잡한 작업을 보다 빠르게 처리할 수 있습니다.
하지만 트랜지스터의 수가 CPU 속도를 결정하는 유일한 요소는 아닙니다. 그럼에도 불구하고, 오늘날 우리가 휴대하는 스마트폰은 NASA가 최초로 달에 착륙했을 때 사용했던 컴퓨터보다 훨씬 강력한 컴퓨팅 성능을 가지고 있습니다.
CPU의 작동 방식을 좀 더 자세히 살펴보겠습니다. CPU는 ‘명령어 세트’라고 불리는 기계어 기반으로 명령을 실행합니다. CPU 제조사마다 명령어 세트가 다를 수 있지만, 항상 그런 것은 아닙니다.
예를 들어, 대부분의 Windows PC와 최신 Mac 컴퓨터에 탑재된 프로세서는 인텔 또는 AMD CPU와 관계없이 x86-64 명령어 세트를 사용합니다. 그러나 2020년 말부터 출시된 일부 Mac은 ARM 기반 CPU를 탑재하여 다른 명령어 세트를 사용합니다. 일부 Windows 10 PC도 ARM 프로세서를 사용합니다.
코어, 캐시, 그래픽 처리
이제 CPU의 내부 구조를 살펴보겠습니다. 위 그림은 2014년 인텔에서 발표한 CPU 아키텍처 백서의 내용으로, 코어 i7-4770S 프로세서를 예시로 보여줍니다. 물론 다른 CPU는 레이아웃이 다를 수 있습니다.
이 그림에서 프로세서가 4개의 코어를 가지고 있음을 알 수 있습니다. 예전에는 CPU에 코어가 하나밖에 없었지만, 이제는 여러 개의 코어가 있어 명령을 훨씬 빠르게 처리할 수 있습니다. 코어는 하이퍼스레딩(또는 동시 멀티스레딩, SMT) 기술을 지원하여 하나의 코어가 두 개의 코어처럼 보이게 할 수 있습니다. 이는 처리 속도를 더욱 향상시키는 데 큰 도움이 됩니다.
위 그림에서 코어들은 L3 캐시를 공유하고 있습니다. 이는 CPU 내부에 있는 온보드 메모리의 한 형태입니다. 또한, CPU는 각 코어에 내장된 L1 및 L2 캐시와 저수준 메모리인 레지스터를 가지고 있습니다. 레지스터, 캐시, 시스템 RAM의 차이점에 대한 자세한 내용은 StackExchange 답변을 참고하십시오.
위 그림의 CPU에는 시스템 에이전트, 메모리 컨트롤러 등 CPU로 들어오고 나가는 정보를 관리하는 실리콘 부분도 포함되어 있습니다.
마지막으로, 화면에 보이는 시각적인 요소를 생성하는 프로세서의 온보드 그래픽 기능이 있습니다. 모든 CPU가 자체 그래픽 기능을 가지고 있는 것은 아닙니다. 예를 들어, AMD Zen 데스크탑 CPU는 화면에 이미지를 표시하기 위해 별도의 그래픽 카드가 필요합니다. 일부 인텔 코어 데스크탑 CPU도 온보드 그래픽을 포함하고 있지 않습니다.
마더보드와 CPU의 연결
이제 CPU 내부 구조를 살펴보았으니, CPU가 컴퓨터의 다른 부품들과 어떻게 연결되는지 알아보겠습니다. CPU는 마더보드의 소켓이라고 불리는 곳에 장착됩니다.
소켓에 장착되면 컴퓨터의 다른 부품들은 ‘버스’를 통해 CPU와 통신할 수 있습니다. 예를 들어 RAM은 자체 버스를 통해 CPU에 연결되고, 다른 많은 PC 구성 요소는 PCIe라는 특정 유형의 버스를 사용합니다.
각 CPU는 사용할 수 있는 ‘PCIe 레인’ 세트를 가지고 있습니다. 예를 들어 AMD의 Zen 2 CPU는 CPU에 직접 연결되는 24개의 레인을 가지고 있습니다. 이 레인들은 AMD의 지침에 따라 마더보드 제조사들에 의해 분할됩니다.
일반적으로 16개의 레인은 x16 그래픽 카드 슬롯에 사용됩니다. 나머지 4개의 레인은 M.2 SSD와 같은 고속 저장 장치에 사용됩니다. 또는 이 4개의 레인을 분할하여 2개의 레인은 M.2 SSD에, 2개의 레인은 하드 드라이브 또는 2.5인치 SSD와 같은 더 느린 SATA 드라이브에 할당할 수도 있습니다.
이렇게 하면 20개 레인이 사용되고, 나머지 4개 레인은 마더보드의 통신 허브이자 트래픽 컨트롤러인 칩셋에 할당됩니다. 칩셋은 자체 버스 연결 세트를 가지고 있어 PC에 더 많은 구성 요소를 추가할 수 있도록 합니다. 고성능 구성 요소일수록 CPU에 직접 연결되는 경향이 있습니다.
보시다시피 CPU는 대부분의 명령 처리를 수행하고, 경우에 따라 그래픽 처리도 담당합니다. 하지만 CPU만이 명령을 처리하는 유일한 수단은 아닙니다. 그래픽 카드와 같은 다른 구성 요소들도 자체적인 온보드 처리 능력을 가지고 있습니다. 또한 GPU는 자체 처리 능력을 활용하여 CPU와 협력하여 게임을 실행하거나 그래픽 집약적인 작업을 수행합니다.
가장 큰 차이점은 각 구성 요소 프로세서가 특정 작업을 염두에 두고 제작되었다는 것입니다. 반면, CPU는 모든 종류의 컴퓨팅 작업을 처리할 수 있는 다용도 장치입니다. 이러한 이유로 CPU는 PC 내부에서 가장 중요한 역할을 담당하며, 나머지 시스템은 CPU에 의존하여 작동합니다.