벤치리뷰·뉴스·정보/아키텍처·정보분석

[분석정보] AMD가 Hot Chips에서 Richland에서 확장한 전력 제어 장치 등을 발표

tware 2013. 8. 30. 20:00

 

AMD는 Hot Chips에서 Kabini와 Richland 발표

 

미국 스탠포드 대학에서 개최된 칩 컨퍼런스 "Hot Chips 25"에서 AMD는 2개의 프리젠 테이션을 했다. 하나는 현재의 메인 스트림 APU "Richland (리치랜드)", 다른 하나는 전력감소 APU "Kabini (카비니)." AMD는 지난 Hot Chips에서는 차세대 CPU 코어 "Steamroller (스팀롤러)"의 개요를 발표했지만, 이번에는 그러한 큰 발표가 아니라 비교적 작은 발표에 머물렀다.

 

미국 스탠퍼드 대학의 Stanford Memorial Auditorium

 

 

Hot Chips에서 Richland의 발표를 행한 Praveen Dongara 씨 (Principal Member of Technical Staff, System Architect)


 Richland는 GLOBALFOUNDRIES의 32nm SOI 공정으로 제조한 APU로 동일한 32nm SOI의 "Trinity (트리니티)"의 마이너 체인지 버전이다. 모두 Bulldozer (불도저) 아키텍처 "Piledriver (파일드라이버)"CPU 코어를 2모듈 4코어 탑재. 동일 "VLIW (Very Long Instruction Word) 4" 아키텍처의 GPU 코어를 6 SIMD (Single Instruction, Multiple Data) 엔진을 탑재한다. 전체적으로 보면 차이는 다소의 사양 변경만 보이지만, 실은 프로세서의 동작 주파수를 높이는 Turbo CORE 기능 제어 등에 관해서는 Richland는 크게 확장되었다.

 Intel, AMD가 열심히 끌어들인 터보 기능은 시스템의 냉각 능력의 범위 내에서 CPU 코어와 GPU 코어의 주파수를 최대한 올려 성능을 끌어 올린다. 예를 들어, GPU 코어가 낮은 부하로 APU 전체 전력소비가 냉각 능력의 범위보다 낮으면 CPU 코어 주파수를 끌어 올린다. 터보의 핵심은 어떻게 냉각 능력의 헤드룸을 탐지 하는가에 달려있다.

 

Richland의 주요 특징

 

 

 

Turbo CORE 기능

 


단계적으로 진화한 AMD의 Turbo CORE 기술


 이 터보 헤드룸 탐지에서는 AMD는 Intel에 뒤떨어져 있었다. 최초 K10 코어 기반의 Phenom II 등에서 터보를 도입했을 때는 액티브 코어의 주파수를 기계적으로 올린 것이었다. 1세대 AMD의 Turbo CORE 기술은 아래와 같은 구조다.

 

 

 

AMD의 CPU / APU 터보기구의 진화


 그러나 AMD는 초대 APU Llano (라노)에서 전력 모니터의 값을 기반으로 소비 전력을 계산하는 방식으로 발전시켰다. Llano에서는 GPU 코어를 통합으로 GPU 코어에서 CPU 코어로의 Thermal budget 의 이송도 가능해졌다. 2세대 Turbo CORE 기술은 아래와 같은 구조로 되어있다.

 

 

 

 

 

2011 년 Hot Chips에서 발표 된 Llano 전력 모니터링 방법

 

 

2 세대 Turbo CORE 기술


 2세대째 APU Trinity에 이르면 터보 트리거로 온도 계산도 수행하게 된다. 또한 CPU가 아이들 상태일 때 GPU 코어 터보를 수행할 수도 있게 되었다. 3세대 Turbo CORE 기술은 더 치밀하게 더 큰 폭으로 터보가 가능하게 되었다.

 

 

 

2012 년 Hot Chips에서 발표 된 Trinity  파워 모니터링 방법

 

 

3 세대 Turbo CORE 기술

 


Turbo CORE의 제어를 보다 정확히 한 Richland


 Richland에서는 Trinity의 제3세대 Turbo CORE를 기반으로 그위에 온다이 (On-Die)의 써멀(열) 센서로 부터의 데이터도 더해 터보를 제어. 더 정확하게 헤드 룸을(여유) 탐지하여 프로세서의 주파수를 터보 할 수 있게 했다. 또한 시스템의 냉각 능력에 따라 TDP를 변경할수 있는 " 설정가능 TDP (Configurable TDP : cTDP)"도 가능하게 됐다..

 Richland는 APU 다이가 여러개의 써멀 도메인으로 (열 영역) 나뉘어 있다. 2개의 CPU 모듈과 GPU 코어가 별도의 "열 독립체 (Thermal Entity)"로 제어되고 있다. 각각의 열 독립체 마다 전력 및 온도 계산을 행하고 있다.

 

 

 

 

 

 

 

 

 

Richland의 Turbo CORE 기술


 Trinity는 구체적으로 전력 계산기에서 계산상의 전력 "Pcalculated"을 온도 계산기에서 계산상의 온도 "Tcalculated"를 산출. 그것을 특정 시점의 최대온도의 한계와 비교해 헤드룸을 산출해 프로세서의 주파수를 제어한다. Tcalculated 가 온도의 한계를 밑도는 경우는 대상 클럭을 부스트 끌어 올린다. Tcalculated (계산온도) 가 범위를 초과 할 경우는 대상의 클럭을 내린다.

 

Turbo CORE 제어 흐름


 Richland에서는 그위에 온다이 온도 센서의 값과 TDP (cTDP)의 설정 TDP가 이 처리에 추가 되었다. 실제 다이 (반도체 본체) 온도를 측정하는 것으로, 보다 정확하게 헤드룸을 탐지하는 것이 가능해졌다. 이에 따라 환경온도의 차이를 Turbo CORE를 결정하는 처리에 집어넣을 수 있었다.

 

Richland의 Turbo CORE 결정 방식

 


동적 감시 기반으로 CPU와 GPU 사이의 작업량 조정


 각 열 독립체 상의 온도 센서가 측정한 Tsensor의 값을 다이 온도의 한계와 비교하여 계산상의 전력인 Pcalculated의 값에 보정을 건다. 이에 따라 실제 온도 기반의 제어가 가능하게 됐다. 또한 환경 온도 (Tambient)가 35 ℃ 인 경우와 25 ℃의 경우, 시스템이 냉각 할 수 있는 헤드룸도 바뀐다. 다이 온도를 측정하는 것으로, Tambient의 차이도 이용할 수 있다.


 

 

 

Turbo CORE 기술의 온도 측정 및 계산


 또한 Richland에서는 시스템의 냉각 능력의 차이도 Turbo CORE 제어 처리에 추가하고 있다. 예를 들어 노트북 PC에서 시스템의 냉각 능력에 차이가 있거나 노트 PC 냉각 장치가 내장된 도킹 스테이션 등을 추가로 냉각 능력에 차이가 생기는 경우 그것을 이용하여 더 높은 주파수 터보할 수 있다.

 

시스템의 냉각 능력도 Turbo CORE에 영향


 Richland에서는 "지능형 부스트 (Intelligent Boost) '라고 부르는 기능도 추가되었다. 이것은 열 독립체간에 부스트 제어를 보조하는 기능이다. Richland는 2개의 CPU 모듈과 GPU 코어의 세 가지 주요 열 독립체가 있다. 그 3 개의 Turbo CORE 루프는 지금까지 설명한 것처럼 되어있다. 그러나 그대로는 3 개의 열 독립체는 개별적으로 Turbo CORE를 제어해 버린다.

 라고 해도, 전체 TDP의 범위를 나누기 때문에 CPU가 아이들이 되면 GPU가 터보됐다. 그러나 Richland에서는 또한 CPU 코어와 GPU 코어 사이에 효율적인 작업량 조정을 한다. 따라서 프로세서의 활동성 감시를 통해 지능형 부스트를 행한다.

 예를 들어, CPU 코어로 동작되는 태스크가 거의 주파수에 의존하지 않으면 CPU의 주파수를 내리고, 그 만큼 GPU 코어로 돌린다. GPU가 고부하 애플리케이션의 경우는 GPU 부분이 병목 현상이 생겨 처리성능이 오르지 않는 경우가 있다. 이런 경우 CPU를 상대적으로 낮추고 GPU를 터보 부스트해 전체 성능을 올린다.

 

 

 

Richland에 추가된 '지능형 부스트 "


 이러한 향상 이외에, Richland에서는 터보시 상태 단계를 더 세분화하고 있다.

 

추가된 P 스테이트


 전체적으로 보면 세밀한 개량이지만, AMD가 약점이었던 전력 제어를 세대마다 꾸준히 강화하고 있는 것으로 밝혀졌다. 이러한 변화는 AMD의 CPU 설계자의 Samuel Naffziger 씨가 참가하면서 부터 시작됐다. Naffziger 씨는 HP (Hewlett-Packard)의 RISC (Reduced Instruction Set Computer) 프로세서 "PA-RISC"의 설계자였다. 이후 Intel과 HP가 함께한 Itanium 제품군의 개발에 참가한 Intel의 Fellow  였다.

 Naffziger 씨의 이름은 AMD에서는 32nm의 K10 계열 코어의 전력 감시 회로의 논문에서 부터 볼수 있게 됐다. 참고로 동적으로 전력 소비를 계산하는 구조는 Intel의 Itanium에서도 채용하고 있다. Naffziger 씨는 이번 Hot Chips에도 참가했지만 발표는하지 않았다.

 


CPU 코어와 GPU 코어를 또 다른 열 분산기로 쓰는 Kabini


 AMD는 Hot Chips에서 행한 Kabini 발표에서도 파워 모니터링에 대한 설명에 시간을 할애했다. Kabini은 Jaguar (재규어) 아키텍처 쿼드코어 및 GCN (Graphics Core Next) 아키텍처의 GPU 코어를 조합한 SoC (System on a Chip)다. 발표 자체는 AMD가 Kabini의 발표시에 한것과 같지만, 공공 학회에서 한것은 처음이다.

 Kabini도 Richland과 Trinity 등과 마찬가지로 CPU 코어와 GPU 코어를 갖추고, 각각 전력 및 성능 제어를 한다. Turbo CORE라고 부르지 않았지만,하는 것은 같다. 아래 Kabini 슬라이드를 보면, 2012 년 Hot Chips에서의 Trinity 그림과 비슷함을 알수 있다.

 

 

 

 

 

 

Kabini 전력 모니터링


 Kabini에서 특징적인 것은 CPU 코어와 GPU 코어를 일부러 나란히 배치하여 두 코어 사이의 열 예산의 이송을 하고 있다는 점이다. Kabini은 SoC 로써 Richland 용도 같이 CPU 코어와 GPU 코어가 칩의 대부분을 점유하고 있는 것은 아니다. 그러나 CPU와 GPU는 인접해 배치됐다. 이것은 CPU 코어와 GPU 코어는 둘다 풀로 고부하가 되는 응용 프로그램이 적다는 관측에 기초한 전략이다.

 Kabini에서는 GPU 코어에 부하가 걸려 터보되면 전력 소비가 높을 때는 비교적 부하가 낮은 시원한 CPU 코어들이 GPU 코어를 위한 히트 스프레더로 (열 분산기. 예: CPU 뚜껑) 작용한다. 그 반대로, CPU 코어들의 부하가 높아 전력 소비가 많은 경우 시원한 GPU 코어가 CPU 코어를 위한 히트 스프레더가 된다. 참고로, Kabini 발표때 AMD의 자사 회견에서는 전력 제어 부분은 Naffziger 씨가 발표를 진행했다.

 

 

 

Kabini 열 이송

 

 

 

[아키텍처] 환경 조건을 이용하여 성능을 끌어 올리는 터보 모드