인텔 터보부스트 2.0의 소개

지금의 데스크탑 CPU에서는 듀얼코어 CPU의 효율(코어 수와 성능의 비례)이 제일 높고, 쿼드코어나 트리플코어 CPU의 코어 효율은 낮습니다. 이것은 비싼 가격 때문이기도 하지만, 현재 대부분의 어플리케이션들이 멀티코어 CPU의 역량을 제대로 이끌어내지 못하기 때문입니다.

멀티코어 CPU는 TDP의 제한 때문에 그 클럭이 그리 높지 않습니다(플래그쉽 제외). 인텔 쿼드코어 코어 i5-750의 클럭은 2.66GHz인데 듀얼코어 코어 i4-650은 3.2GHz지요. 멀티코어어 최적화된 어플과 게임을 제외하면 코어 i5-650의 성능이 코어 i7750을 넘어버릴 수도 있는 것입니다. 두 제품의 가격 차이를 생각해 보면 멀티코어의 매력이 떨어지게 되지요. 이 문제를 해결하기 위해 CPu 제조사들은 멀티코어와 높은 클럭 사이에 균형을 찾는 방법을 도입하게 됐습니다.

양대 CPU 회사 중에서 선두를 달리고 있는 인텔이 먼저 해결책을 내놨습니다. 네할렘 아키텍처의 차세대 코어 i7/i5 프로세서에서 터보 부스트라는 기능을 사용한 것입니다. 이 기술은 코어 2 시리즈의 IDA(Intel Dynamic Acceleration Technology)를 계승하는 기술이라 볼 수 있는데, 당시의 IDA는 작동하지 않는 CPU의 코어를 끄고, 다른 코어의 클럭을 상승시켜 연산 성능을 높이는 기술이었습니다.

1.jpg

네할렘 아키텍처의 CPU 유닛

네할렘 아키텍처의 CPU는 한개의 코어가 각자의 PLL(Phase Locked Loop) 회로를 가지고 있습니다. 이렇게 하여 각각의 코어 전압과 클럭이 독립적으로 조절되며, 인텔은 CPU 내부에 PCU(Power Control Unit) 유닛을 넣어, PCU가 1ms(1초에 천번)의 속도로 4개 코어의 온도, 전류, 소비 전력 등을 실시간 모니터링하게 하였습니다. 독립된 조절 기능은 터보 부스트를 위한 물리적인 기초가 됩니다.

2.jpg

C-스테이트에 따라 소비 전력과 활성화 상태가 달라집니다.

제일 위에서부터 코어 전압, 코어 클럭, PLL, L1 캐시 데이터, L2 캐시 데이터, 전환 시간, 아이들시 전력 사용량으로. C0에서 C4로 갈수록 해당 기능들이 점점 꺼지면서 전환 시간이 오래 걸리게 되지만 소비 전력은 줄어드는 것을 볼 수 있습니다.

독립된 물리적 회로 외에도 터보 부스트는 Deep Power Down Technology의 도움을 필요로 합니다. CPU 코어를 활동 상태에 따라 다르게 분류하여, C0, C1, C3, C4, C6 등으로 나누게 됩니다. 그 중 C1은 현재 명령을 실행하는 상태이고, C1에서 C6까지 가면서 소로 다른 등급으로 절전 모드로 들어가게 됩니다. 그 중에서 C6은 코어 내부의 L1 캐시 데이터를 완전히 소거하고 프로세서의 상태를 보존하면서 내부 코어(코어 클럭과 PLL)와 L2 캐시를 정지하게 됩니다. 비록 칩셋이 계속 I/O 메모리 교환 동작을 수행하긴 하지만, 내부 코어를 Wake-up 하진 않습니다. 오직 내부 코어에서 전압이 올라가면 코어 클럭과 PLL이 상승하며 프로세서가 다시 셋팅되고, 캐시 데이터가 메모리에 다시 전해지면서 프로세서 아키텍처가 완전히 회복되어, 계속하여 명령을 실행하게 됩니다.

C0과 C1 스테이트에서 코어는 액티브 코어(Active core) 상태이고, C3와 C6 상태에서는 언액티브 코어Unactive core)가 됩니다. 각각의 코어가 액티브와 언액티브 둘 중 어느 상태인지에 따라서 터보 부스트의 가속 여부가 결정됩니다.

인텔의 공식 문서에서는 터보 부스트가 다음 요소에 영향을 받는다고 설명하였습니다.

1. CPU 모델 종류

2. 액티브 상태로 작동하는 코어의 수

3. TDP

4. 내부 코어의 전류

5. 내부 코어의 소비 전력

6. 내부 코어의 온도

그중 첫번째 조건은 인위적인 것으로 기술적인 장애가 아닙니다. 터보 부스트에 정말 영향을 주는 요소는 2, 4, 5, 6입니다. 실제 사용에서 완전히 사용하지 않는 코어가 언액티브 상태가 되면 터보 부스트가 작동을 시작하는 것입니다.

3.jpg

터보 부스트는 실제로 CPU의 모든 코어 상태를 쉬지 않고 모니터링하면서, 일단 어떤 코어가 언액티브 상태로 들어갔다면 PCU가 자동으로 액티브 상태의 코어 클럭을 TDP의 한계까지 끌어올리게 됩니다. 그 상승 정도는 bin에 따라 계산하는데 네할렘 아키텍처에서는 1bin=bclk 클럭으로 133.33Mhz입니다. CPU 모델은 클럭이 상승할 수 있는 TDP를 결정하는데 일반 모델은 TDP가 140W를 넘지 않지만 익스트림 에디션은 190W까지 올라갑니다.

여러 데스크탑 프로세서의 터보 부스트는 1~2 bins까지 상승 가능하며, 특수 모델은 5~7 bins까지 상승할 수 있습니다. 기본 클럭이 낮을수록 클럭 상승 효과가 크며, 절전형 모델은 표준형 모델보다 클럭 상승이 더 큽니다. 32나노 공정은 45나노 공정 모델보다 더 상승 폭이 큽니다. 따라서 TDP가 터보 부스트의 상승폭을 결정한다는 것을 볼 수 있습니다.

4.jpg

터보 부스트는 네할렘 아키텍처에서 처음으로 등장하였으며, 인텔 틱-톡 사이클에 맞춰 업데이트됩니다. 인텔의 샌디 브릿지에서는 새로운 터보 부스트 2.0이 정식으로 등장하면서, 기존 기술을 기초로 하여 연산 방법을 개량하여 더욱 탄력적으로 속도를 조절하고, CPU 뿐만 아니라 내장 GPU의 클럭까지 조절할 수 있게 되었습니다.

터보 부스트가 완벽 무결한 것은 아닙니다. TDP에 맞춰 상승폭이 제한되어 있기 때문에 일단 TDP의 한계에 도달하면 CPU 클럭이 정상으로 돌아오게 되며, 대부분의 데스크탑 CPU는 1~2 bins 정도만 클럭이 상승하게 됩니다. CPU는 실제로 그보다 더 큰 클럭 상승의 여지가 있으며, 터보 부스트 2.0에서는 CPU의 클럭 상승을 3~10 bins까지 높여서 저전력 모델의 경우 더 큰 클럭 상승이 가능하게 하였습니다.

5.jpg

터보 부스트 2.0은 단시간애 TDP 제한을 넘어서 작동하도록 합니다.

터보 부스트 2.0에서 TDP의 제한이 완화되었습니다. PCU는 액티브 코어가 짧은 시간 동안 TDP의 상한선을 넘은 다음 안정 상태로 돌아오도록 조절해주며, IDF에서 공개된 데이터에 따르면 그 시간은 25초까지 가능했습니다. 이 시간은 결코 작은 시간이 아니며 25초동안 최대 가속을 하여 연산을 처리하면 그 누적 결과가 기존의 1~2 bins 가속과 확실한 차이를 보여줍니다. 더 중요한 것은 사용자가 CPU의 손상을 우려할 여지가 없다는 것입니다. 짧은 시간 동안 TDP를 넘어도 이것은 안전적인 설계 내에서 이루어집니다.

또 다른 터보 부스트 2.0의 특징은 CPU 클럭 뿐만 아니라 GPU도 똑같이 가속 작용을 한다는 것입니다.

작년에 발표됐던 클락데일 코어의 i5, i3 프로세서에서는 인텔이 GPU를 CPU에 내장시켰습니다. 2개 칩을 하나로 패키징한 것에 지나지 않지만 실제 측정 결과 GPU 클럭과 BCLK 클럭은 서로 연결되어 작동하였다는것이 알려졌습니다.

6.jpg

CPU와 GPU 소비 전력의 일체화 관리

샌디 브릿지 아키텍처에서 GPU가 진정한 의미에서 CPU에 내장되어 하나의 코어가 되었습니다. CPU와 GPU는 밀접한 관계를 이루고 있으며 터보 부스트 2.0는 CPU와 GPU의 일체화 소비 전력 관리를 지원하여 필요에 따라 GPU의 클럭을 높일 수 있습니다. 이런 변화가 가져온 영향은 상당히 큰데, 예를 들어 게임 중에서 CPU의 사용이 남는다면 터보 부스트 2.0이 GPU의 성능을 높이기 위해 GPU의 클럭을 높이게 되는 것입니다. 여기에 샌디 브릿지에서 GPU 아키텍처에 새로운 개선이 이루어져 별도의 성능 향상이 이루어졌습니다.

7.jpg

터보 부스트 2.0의 다양한 조합

32나노 하이-K 공정을 통해 낮아진 소비 전력과 발열은 터보 부스트 2.0이 더 큰 성능을 발휘할 공간을 제공할 것입니다. 샌디 브릿지 아키텍처의 CPU 클럭은 2.2~3.4GHz 사이인데, 코어 i7-2600은 기본 클럭이 3.4GHz이고 터보 부스트 2.0에서 4개 코어를 3.8GHz까지 올릴 수 있으며 싱글 코어는 4.2GHz까지 올리는게 가능합니다.

8.jpg

터보 부스트 2.0에 새로 늘어난 클럭 변화 모니터링

터보 부스트 2.0은 CPU의 클럭 변화를 실시간으로 모니터링하는 프로그램을 지원합니다. 인터페이스도 매우 직관적이며 CPU 형태의 창을 사용합니다. 코어 i5-2500의 기본 클럭은 3.3GHz이지만 저 프로그램에 의하면 3.5GHz까지 상승한 것을 볼 수 있습니다.

9.png

샌디 브릿지 프로세서의 터보 부스트 사용 클럭

현재 멀티 코어 프로세서가 시장의 대부분을 차지하고 있지만, 아직 소프트웨어는 멀티 스레드를 완전히 지원하지 못하고 있습니다. 값비싼 멀티 코어 프로세서의 값어치를 제대로 활용한다는 점에서 터보 부스트의 의의가 있습니다.  

Dr.kchris

Hello, I'm Dr.kchris, a neuroscience researcher. I love studying and trying new things and also love challenging myself. Have a great day! :)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.