클럭, 멀티코어, 멀티스레드가 각각 무엇인지 알아보고, 이들이 CPU 속도와 어떤 관계가 있는지 학습해 본다.

클럭

CPU를 설계하는 엔지니어라 가정해보자. 조금이라도 더 빠른 CPU를 만들려면 어떻게 설계해야 할까?

→ 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직이겠지? 즉, 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복할 것이고, 다른 부품들도 그에 발맞춰 더 빠르게 작동할 것이다.

실제로 클럭 속도가 높은 CPU는 일반적으로 성능이 좋다. 그래서 클럭 속도는 CPU 속도 단위로 간주되기도 한다.

클럭 속도 는 헤르츠(Hz)단위로 측정한다. 이는 1초에 클럭이 몇번 반복되는지를 나타낸다. 가령 클럭이 “똑-딱-”하고 1초에 한 번 반복되면 CPU 클럭 속도는 1Hz인 것이고, 클럭이 1초에 100번 반복되면 CPU 클럭 속도는 100Hz인 셈이다.

실제 CPU 클럭 속도는 어떨까? 기본 속도(Base)가 2.5GHz ~ 최대 4.9GHz인 CPU가 있다고 가정한다.

이는 1초에 클럭이 기본적으로 25억($2.5 10^9$)번, 순간 최대 49억($4.910^9$)번 반복된다는 것을 나타낸다

Note - 클럭 속도는 일정하지 않다.

‘클럭’이라는 단어만 보고 시계를 떠올려 클럭 속도가 매번 일정하게 유지된다고 생각할 수 있지만, 실제로는 그렇지 않다.

CPU는 기본 클럭 속도(Base)와 최대 클럭 속도(Max)로 나뉘어 있다. 이처럼 CPU는 계속 일정한 클럭 속도를 유지하기보다는 고성능을 요하는 순간에는 순간적으로 클럭 속도를 높이고, 그렇지 않을 때는 유연하게 클럭 속도를 낮추기도 한다. 최대 클럭 속도를 강제로 더 끌어올릴 수도 있는데, 이런 기법을 오버클럭킹(overclocking) 이라고 한다.

그럼 클럭 속도를 무지막지하게 높이면 무조건 CPU가 빨라질까?

→ 안타깝게도 그렇지 않다. 그래픽이 많이 요구되는 게임이나 영상 편집과 같이 CPU에 무리가 가는 작업을 장시간 하면 컴퓨터가 뜨겁게 달아오르는 것을 경험해 본 적이 있을 것이다. 클럭 속도를 무작정 높이면 이러한 발열 문제가 더 심각해 진다.

이처럼 클럭 속도를 높이는 것은 분명 CPU를 빠르게 만들지만, 클럭 속도만으로 CPU의 성능을 올리는 것에는 한계가 있다.

코어와 멀티코어

클럭 속도를 높이는 방법 외에 CPU의 성능을 높이는 방법에는 어떤 것들이 있을까? 대표적인 해결책으로는 CPU의 코어와 스레드 수를 늘리는 방법이 있다.