CPU 이미지

[인프라 용어 알아보기] 제 1탄: CPU – 제조공정, 클럭, 코어, 스레드, 캐시 메모리

1) 제조공정

제조공정은 CPU 내부 회로의 굵기를 의미합니다. CPU 사양을 보면 65nm, 45nm 등 ‘나노미터(nm)’ 단위로 제조공정을 표시합니다. 이 굵기가 얇을수록 전자가 옆 회로로 이동하는 거리가 짧아지고, 이로 인해 필요 전압이 줄어들며, 전력 소모와 CPU의 발열량도 감소합니다. 동일한 코어 수, 캐시 크기를 가진 CPU이더라도 제조공정이 다르면 소비 전력이 달라지게 됩니다.

또한 CPU의 공정이 미세해질수록 동일한 크기 대비 더 많은 회로가 CPU 안에 들어갈 수 있고, 이 회로들이 많이 들어갈수록 CPU의 성능 역시 좋아지게 됩니다. 즉, 제조공정이 작을수록 더 많은 트랜지스터를 집적할 수 있고, 이 트랜지스터가 많을수록 한 번에 더 많은 계산을 할 수 있으므로 성능이 향상되는 것입니다.


제조공정[인텔의 CPU 제조공정 발전, 2015년 생산/판매되는 최신 CPU는 14nm 공정으로 제작되고 있음]

 

2) 클럭(동작 주파수)

클럭(clock)이란 CPU의 속도를 나타내는 단위입니다. 클럭은 1초 동안 파장이 한 번 움직이는 시간을 의미하는데, 이 시간 동안 처리하는 데이터 양에 따라 CPU의 속도가 달라지게 됩니다.

과거, CPU의 성능을 높이는 가장 편리한 방법은 클럭(동작 주파수)를 올리는 것이었습니다. 하지만 클럭이 높아질수록 발열량과 소비 전력이 커지는 문제가 발생하였습니다. 따라서 최근에는 클럭을 일정 수준으로 유지하는 대신, ‘멀티 코어’나 ‘멀티 스레드’ 같은 방식으로 CPU 성능을 높이고 있습니다. 이를 통해 하나의 CPU로 동시에 처리할 수 있는 연산 개수를 늘려 연산 능력 향상을 꾀하는 것입니다.

 

3) 코어

CPU에서 코어(core)는 연산 작업을 수행하는 핵심적인 부분이며, CPU의 성능을 판단하는 기준 중 하나가 바로 ‘코어의 수’입니다. CPU에 코어가 많아지면 연산을 여러 개의 코어가 처리하기 때문에 훨씬 빠른 일 처리가 가능해집니다. 과거에는 하나의 다이(die)에 하나의 코어가 있는 ‘싱클 코어’ 밖에 없었지만, 지금은 하나 또는 두 개의 다이에 여러 개의 코어가 있는 ‘멀티 코어’ 형태로 출시되고 있으며, 8개의 코어까지 들어간 CPU도 존재합니다.

고속도로를 지나가는 자동차가 데이터라면, 클럭(동작 주파수)는 고속도로의 ‘제한 속도’를, 코어 수는 고속도로의 ‘차선 수’로 비유할 수 있습니다. 1차선 고속도로에서는 순서대로 자동차 한 대씩만 지나갈 수 있지만, 2차선 고속도로에서는 동시에 2대의 자동차가 지나갈 수도 있습니다.

마찬가지로, 2코어 CPU는 동시에 두 개의 작업을 처리할 수 있으므로 이론적으로 1코어 CPU보다 2배 많은 작업을 동시에 처리할 수 있습니다. 여기서 중요한 것은, 한번에 처리하는 작업량이 2배가 된다는 것이지, 속도가 2배가 된다는 것은 아닙니다. 자세한 설명은 아래 링크에서 확인할 수 있습니다.
> CPU 선정 포인트 – 다코어가 좋을까 고클럭이 좋을까

 

4) 스레드

스레드(thread)란 CPU 내부에서 실질적으로 업무를 수행하는 가장 작은 단위입니다. 동시에 동작하는 스레드의 수는 각 CPU의 기능과 코어의 수에 따라 달라지게 됩니다. 일반적으로 ‘1개의 코어=1개의 스레드’라는 공식이 성립하지만, 인텔의 ‘하이퍼스레딩(Hyperthreading)’ 기술을 통해 1개의 코어에서 2개의 스레드를 만들 수도 있습니다. 만약 멀티코어 CPU가 하이퍼스레딩 기술을 지원하면 스레드의 수는 ‘코어 수x2’가 됩니다. 자신이 사용하는 서버의 CPU가 지원하는 스레드 형태를 알고 싶다면, 작업 표시줄에서 마우스 오른쪽 버튼 클릭 후 작업 관리자를 실행시키면 확인할 수 있습니다.

 

5) 캐시 메모리

캐시 메모리는 CPU 내부에서 임시로 사용하는 버퍼(Buffer) 메모리 중 하나입니다. 인터넷 브라우저에서 ‘캐시 파일’은 자주 사용하는 그림 파일 등을 따로 모아두고, 나중에 해당 파일을 다시 실행하면 컴퓨터에서 바로 불러오는 파일을 의미합니다. 인터넷에서 파일을 받아오는 것이 아니라 컴퓨터에서 바로 파일을 읽어 들이기 때문에 빠르게 페이지를 열 수 있는 장점이 있는데, CPU의 캐시 메모리 역시 동일한 역할을 하고 있습니다.

CPU가 하나의 데이터를 처리하는 동안 메인 메모리로부터 다음에 처리할 데이터를 불러와 대기하는 곳이 캐시 메모리이며, 자주 사용하는 데이터는 캐시 메모리에 저장하여 처리 속도를 높일 수 있습니다.

이 캐시 메모리의 속도와 용량 등에 따라 CPU의 성능과 가격이 결정되기도 합니다. 실제로 클럭과 코어 수가 같은 CPU에서 캐시 메모리의 유무가 큰 성능의 차이를 보이기도 합니다.

 

6) 가상화 지원

가상화 지원은 간단히 말해서, 운영체제 안에 또 다른 운영체제를 구동하는 것입니다. 예를 들어, 윈도우 구동 후 그 안에 프로그램을 실행하듯 리눅스나 다른 운영체제를 구동할 수 있는 기술을 의미합니다. Intel CPU는 ‘VT-x’, AMD CPU는 ‘AMD-v’라는 이름으로 가상화를 지원하고 있습니다. 서버로 클라우드 환경을 구축하려면 필수적으로 CPU가 가상화를 지원하는지 확인해보아야 합니다.


가상화 지원

[가상화 지원을 통해 하나의 서버에서 여러 운영체제를 사용할 수 있습니다]

 

7) Intel Xeon CPU 예시

XEON CPU 예시
Intel의 서버용 CPU 중 하나를 ‘CPU-Z’라는 툴로 확인한 결과입니다. 제조공정은 22nm, 클럭은 2.6Hz입니다. 코어 10개에 하이퍼스레딩이 지원되어 스레드는 총 24개입니다. 캐시 메모리가 30MB이고, 가상화를 위한 VT-x가 지원되는 것을 확인할 수 있습니다. ‘Core speed’가 1.2GHz로 표시되는 것은 처리할 데이터가 많지 않을 때는 클럭을 낮추어 전력 소모를 줄이고, 필요할 때만 최대 클럭으로 높이는 기술이 적용되었기 때문입니다.
> 서버 CPU 확인하기 (CPU-Z 다운로드)