32나노 공정의 메인스트림 PC용 APU

 

AMD는 퓨전 전략의 중심이 되는 메인스트림 PC용 APU, 라노를 정식 발표했습니다. 이번에 발표한 것은 메인스트림 노트북용 라노 1이며, AMD A 시리즈 APU라는 브랜드가 붙습니다. 플랫홈은 Sabine, 칩셋은 AMD 퓨전 컨트롤러 허브 A70M/A60M입니다.

 

01.jpg

 

라노의 다이의 블럭

 

02.jpg

 

메인스트림 노트북용 Sabine 플랫홈

 

03.jpg

 

AMD A 시리즈 APU의 특징

 

라노는 메인스트림용 CPU와 GPU를 통합한 AMD APU 라인업의 상위 제품입니다. 4코어 CPU와 고성능 GPU를 통합한 라노 1과, 2코어 CPU와 저성능 GPU를 통합한 라노 2의 2가지 종류가 있으며, 이번에 출시되는건 라노 1, 라노 2는 몇달 후에 출시됩니다.

 

라노는 AMD 최초의 32나노 공정 제품으로 글로벌 파운드리의 32나노 SOI(silicon-on-insulator) 공정을 사용합니다. 이것은 글로벌 파운드리 최초의 HKMG(Higk-K/Metal Gate) 기술을 사용한 공정으로, 제조 공정에서는 인텔과 비교하여 1년 반 정도 뒤떨어진 것입니다.

 

APU에 통합된 CPU와 GPU 코어는 1세대 전의 것으로 충분히 검증된 것입니다. 위험 부담을 피하기 위해 라노의 CPU 코어는 새로운 불도저 코어가 아니라 기존의 스타 코어(K10 또는 하운드)입니다. 하지만 기존의 코어를 45나노에서 32나노 공정으로 이식했을 뿐만 아니라 마이크로 아키텍처와 절전 기능을 개량하였습니다. 하지만 인텔의 네할렘-샌디 브릿지 정도의 극적인 개량이 아니라 어디까지나 마이너 체인지입니다.

 

GPU 코어도 마찬가지로, 최신 아키텍처인 라데온 HD 6970(Cayman)이 아니라 라데온 HD 5000 시리즈나 라데온 HD 6000 시리즈의 하위 GPU와 같습니다. 라노에서는 FP 연산이 가능한 스트림 프로세서가 총 400개 탑재되고, 순수 성능에서는 355기가플롭스로 중급형 GPU에 해당하는 처리 능력입니다.

 

CPU 코어의 클럭은 모바일 버전에서 최고 2.6GHz(기본 1.9GHz)입니다. AMD는 2010년 2월의 반도체 컨퍼런스 ISSCC(IEEE International Solid-State Circuits Conference)에서 라노 아키텍처의 클럭은 최고 3GHz라고 설명하였습니다. GPU의 클럭은 모바일 버전의 경우 444MHz입니다. 고정 기능 유닛이 많은 GPU 코어는 CPU 코어만큼 클럭을 향상시킬 수 없습니다.

 

04.jpg

 

3가지 종류의 라노 내장 GPU

 

05.jpg

 

AMD A 시리즈의 라인업

 

라노에는 동영상 가속을 위한 UVD에 HD 영상 기능을 강화한 UVD3이 탑재되었습니다. DDR3 듀얼채널 메모리 인터페이스, 모바일에서는 DDR3-1333까지 지원하며 최대 대역폭은 25.6GB/s, 데스크탑은 DDR3-1600으로 최고 29.8GB/s의 대역폭이 나옵니다. PCI-E는 총 24레인이며 디지털 디스플레이 출력도 지원합니다.

 

06.jpg

 

AMD의 서버/데스크탑/모바일 CPU 로드맵

 

07.jpg

 

UVD의 기능 비교. 라노는 UVD3을 탑재.

 

08.jpg

 

AMD A8, A6, A4의 차이

 

09.jpg

 

메모리 스펙

 

10.jpg

 

디스플레이 출력, PCI-E의 스펙

 

 

GPU 코어와의 연결이 특이한 라노의 전체 구성

 

라노 전체의 다이 레이아웃은 아래 그림대로입니다. 그림 위쪽 절반이 CPU 코어와 노스 브릿지, 아래쪽이 GPU 코어, 양쪽에 메모리 인터페이스와 PCI-E 같은 I/O 인터페이스가 배치됩니다.

 

11.jpg

 

라노의 다이 레이아웃

 

12.jpg

 

라노에 내장된 CPU, GPU, 노스브릿지, 메모리 컨트롤러, I/O의 접속

 

라노에서 4개의 CPU 코어가 크로스바 스위치를 통해 노스브릿지와 연결됩니다. 노스브릿지는 메모리 컨트롤러에 연결되어 노스브릿지가 허브가 됩니다. GPU 코어도 노스브릿지에 연결되지만 CPU와는 다른 방식으로 연결됩니다.

 

한쪽은 라데온 메모리 버스(코드네임 Garlic-마늘)이며, GPU 코어에서 메모리 컨트롤러까지 광대역 액세스를 실현합니다. Garlic은 GPU 코어가 메모리 컨트롤러에 광대역으로 바로 연결되는 외장 GPU에 가까운 액세스를 위한 버스이며, 주로 그래픽 처리를 위해 사용됩니다. 메모리는 2채널 인터리빙에서 효율을 높이기 위해 실제 메모리 대역은 읽기 17GB/s, 쓰기 12GB/s입니다. 이 버스에서 GPU 코어와의 최대 대역폭은 29.8GB/s입니다.

 

13.jpg

 

PCI-E의 컨피그레이션

 

또 다른 버스는 퓨전 컴퓨트 링크(코드네임 Onion-양파)입니다. 이것은 CPU와의 코히런트 버스이며, 이 버스를 사용하면 지금까지 GPU 코어가 할 수 없었던 CPU 캐시 스누프가 가능해집니다. Onion 버스를 사용하면 GPU에서의 범용 컴퓨팅에서 CPU와 GPU 사이에 불필요한 메모리 복사를 할 필요가 없어지게 됩니다.

 

하지만 GPU 코어가 CPU 메모리 공간의 엑세스하는 데에는 제약이 있어, CPU 코어와 GPU 코어가 자유롭게 같은 메모리 공간을 읽고 쓸 수 있는 것은 아닙니다. 자유로은 액세스는 다음 세대의 APU에서 실현될 것입니다. 또한 Onion 버스는 Garlic 버스보다 메모리 대역폭도 제한됩니다. I/O는 I/O 버스를 통해 노스브릿지와 연결되며 I/O 컴플렉스는 GPU 코어에도 액세스 포트가 있습니다.

 

 

마이크로 아키텍처가 확장된 라노의 CPU 코어

 

라노의 CPU 코어는 K10 마이크로 아키텍처의 32나노 공정 버전입니다. AMD는 이 코어의 특징을 2010년 2월의 반도체 컨퍼런스 ISSCC(IEEE International Solid-State Circuits Conference)에서 공개하였습니다. 아래 그림은 ISSCC에서 발표된 32나노 CPU 코어의 플로어 플랜입니다. 전체 레이아웃은 기존 K10 코어와 대부분 변하지 않았습니다.

 

14.jpg

 

32나노 공정의 K10 코어

 

15.jpg

 

32나노 공정 버전은 IPC가 최대 6% 향상

 

그러나 명령 실행의 효율을 향상시켜 IPC(Instruction-per-Clock)는 최대 6% 향상됩니다.

 

명령 스케줄링에서는 아웃 오브 오더 실행의 Re-order 버퍼 명령 윈도우가 기존의 72 엔트리에서 84 엔트리로 확장되었습니다. 이것은 정수와 부동 소수점(FP)의 실행 스루풋을 모두 향상시킵니다. 로드/스토어의 윈도우 사이즈도 확장되었으며, 하드웨어 데이터 프리페치도 확장되었고, 메모리 fill과 겟 스테이트의 트랜젝션이 고속화되었습니다.

 

정수연산에서는 나눗셈이 하드웨어화되었고 부동소수점 연산에서는 몇개 명령의 실행 지연시간이 단축되었습니다. 이밖에 가상화의 고속화를 위한 TLB의 확장이 진행되었습니다. 극적이진 않지만 성능을 향상시키기 위한 작은 요소들이 집중되었습니다.

 

 

외장 GPU를 커스터마이즈하여 내장한 라노의 GPU 코어

 

라노의 GPU 코어는 외장 GPU를 커스터마이즈한 것입니다. 외장 GPU와의 제일 큰 차이는 메모리 컨트롤러가  ROP(Rendering Output Pipeline) 유닛에 바로 연결되지 않고 노스브릿지에 연결된다는 것입니다. GPU 코어 내부의 허브도 동일하게 노스브릿지에 연결되며, PCI-E 버스는 GPU 코어 내부의 허브에 연결되지 않습니다. 외장 GPU의 허브와는 그 역할이 다릅니다.

 

31.jpg

 

라노에 내장된 Sumo 코어

 

GPU 코어의 마이크로 아키텍처 자체는 외장 GPU와 같습니다. 최소 단위는 VLIW(Very Long Instruction Word)형태의 스레드 프로세서이며 1개의 VLIW 프로세서에 5개의 스트림 프로세서가 탑재된 VLIW5 구성입니다. VLIW 프로세서는 16개이며 1개의  SIMD(Single Instruction, Multiple Data)엔진을 구성합니다. 라노 1에서는 다이에 5개의 SIMD 엔진이 탑재되기 때문에 총 400개의 스트림 프로세서가 있습니다.

 

실제 제품에서는 SIMD가 일부 무효화되어 스트림 프로세서가 320개(4 SIMD), 240개(3 SIMD)의 제품이 있습니다. 라노 모바일에서는 A8이 400개, A6이 320개, A4가 240개입니다.

 

16.jpg

 

Sumo GPU 코어

 

17.jpg

 

라데온 HD 6470M보다도 빠른 스모

 

AMD의 VLIW 프로세서에 있는 5개의 스트림 프로세서는 실제로 4개의 싱글 프리시전 FP MAD 유닛과 1개의 슈퍼 팩션 유닛-SFU-입니다. SFU는 초월함수 등을 실행하는 유닛으로 싱글 프리시전 FP MAD 유닛도 겸하고 있습니다. 각각의 연산 유닛은 동일 명령을 실행하는 SIMD가 아니라 각각 다른 명령을 실행할 수 있습니다.

 

18.jpg

 

스모의 SIMD 어레이와 VLIW5 프로세서

 

19.jpg

 

스레드 프로세서

 

각각의 VLIW 프로세서는 VLIW 명령에 포함된 6개의 명령을 1 사이클로 실행합니다. 연산 유닛인 스트림 프로세서는 5개이지만 분기를 담당하는 브런치 유닛이 1개 포함되어, 명령 슬롯은 6이 됩니다.

 

AMD 아키텍처에서는 SIMD 엔진에 포함된 16개의 VLIW 프로세서가 동일한 VLIW 명령을 실행합니다. AMD가 SIMD를 더 잘게 나누지 않고 SIMD 단위로 하는 것은 이 때문입니다. SIMD 엔진이 AMD GPU 아키텍처의 실행 단위인 웨이브프론트를 실행하는 최소 구성 단위가 되고 있습니다. 16개의 VLIW 프로세서가 4사이클로 64스레드를 실행하면 웨이브프론트가 AMD GPU의 논리 벡터 길이에 해당합니다. 즉, SIMD의 프로세서 수가 바뀌면 논리 벡터의 길이가 바뀌게 되면서 프로그래밍에 큰 영향을 주게 됩니다.

 

20.jpg

 

SIMD를 발행하는 AMD GPU의 VLIW 명령

 

ROP 클로스터의 수는 2개로 상대적으로 적은 편입니다. 이것은 CPU가 표준적인 메모리를 사용하지 않으면 안되는 APU에서 메모리 대역폭 자체가 제한되기 때문입니다. 메모리 대역을 차지하는 ROP를 늘려도 메모리 액세스 자체가 넘치기 때문에 의미가 없습니다.

 

 

파워 게이팅을 사용한 라노의 절전 기능

 

AMD CPU의 제조를 담당하는 글로벌 파운드리는 32나노 SOI 공정에서 High-K Metal-Gate (HKMG)를 사용했습니다. HKMG는 게이트 누설 전류를 억제하는데 유리합니다. 제조 공정에서의 장점에 더해 AMD는 회로 설계에서 각양각색의 절전 기능을 추가하고 있습니다.

 

우선 CPU 코어 내부의 L1 캐시는 기존의 6트랜지스터 SRAM에서 8트랜지스터 SRAM으로 바뀌었습니다. 이를 통해 보다 저전압에서 동작이 쉬워졌습니다. 게이트 전압은 표준(RVt)보다도 체널 길이가 더 긴 트랜지스터(LC-RVt)를 많이 사용하여 누설 전류를 억제하고 있습니다. 또한 라노에서는 파워 모니터 회로를 CPU에 내장하여 CPU 코어가 각양각색의 스테이트를 실시간으로 모니터링하여 세밀한 전력 관리를 하도록 하였습니다.

 

절전 기능에서 라노의 핵심은 파워 게이팅입니다. 파워 게이팅에서는 아이들 상태에서 코어의 전력 공급을 완전히 끕니다. 전원을 차단하여 누설 전류를 최대한으로 억제합니다. 라노에서는 CPU 코어와 L2 캐시가 묶여있는 블럭 단위로 파워 게이팅을 합니다. 또한 GPU 코어와 UVD 코어도 각각 별도의 파워 게이팅을 합니다.

 

21.jpg

 

AMD 터보 코어 테크놀러지

 

22.jpg

 

시스템 전력의 최적화

 

23.jpg

 

라노의 저전력 설계

 

24.jpg

 

UVD와 그래픽의 파워 게이팅

 

25.jpg

 

터보 코어 테크놀러지의 전력 제어

 

 

샌디 브릿지와 많이 다른 라노

 

AMD는 듀얼코어인 라노 2도 준비하고 있지만 라노 1보다 몇개월 늦게 출시됩니다. 제일 먼저 출시되는 듀얼코어 라노는 라노 1의 쿼드코어 중에서 2개의 코어를 비활성화해둔 제품이 될 것입니다.

 

라노 2의 출시가 늦는 것은 라노 아키텍처의 경우 2코어 버전을 파생시키는데 대규모 재설계가 필요하기 때문입니다. 인텔의 샌디 브릿지는 4코어에서 2코어를 비교적 간단히 만들 수 있습니다. 그러나 라노의 경우에는 CPU 코어를 바꿀때 우선 크로스바 스위치의 설계 변경이 필요합니다. 또한 기존의 레이아웃에서는 양쪽 측면의 I/O 배치도 바꾸지 않으면 안됩니다. 또 AMD는 라노 2에서 GPU 코어의 규모도 축소한다고 설명하기 때문에 라노 2에서는 상당한 엔지니어링이 필요하며, 따라서 출시가 늦게 됩니다.

 

라노와 인텔 샌디 브릿지는 모두 4개의 CPU 코어, GPU 코어, PCI-E, 2채널 메모리 컨트롤러를 내장합니다. 그 구성은 비슷하지만 다이를 비교하면 상당히 다릅니다. 아래는 동일 규모로 비교한 라노와 샌디 브릿지의 다이입니다. 다이 사이즈 자체는 거의 같지만 유닛의 비율이 완전히 다릅니다.

 

26.jpg

 

라노와 샌디 브릿지의 다이 비교

 

라노에서 CPU 코어와 캐시는 CPU 전체의 30% 정도만 차지하고 있지만, 샌디 브릿지에서는 CPU 다이에서 절반 이상을 CPU 코어와 캐시가 차지하고 있습니다. GPU 코어의 크기 차이는 매우 뚜렷하여, 라노가 훨씬 GPU 코어가 큽니다. AMD가 GPU 코어를 중시하는 이유는 AMD가 GPU를 사용한 통용 계산에 주력하기 때문입니다.

 

AMD는 CPU 코어에 의한 스칼라 프로세싱과 GPU 코어에 의한 병렬 프로세싱을 조합한 헤테로지니어스 컴퓨팅으로 컴퓨터의 성능을 향상시키려 하고 있습니다. 이에 비해 인텔은 기존의 x86 스칼라 성능을 높이는 입장입니다. 인텔은 x86 코어의 벡터 유닛도 256비트 AVX로 확장하고 있습니다. 인텔과 AMd의 아키텍처 차이는 벡터 프로세싱을 CPU 코어와 GPU 코어 중에서 어느 쪽이 담당하느냐에 따라 달라지는 것이라 볼 수도 있습니다.

 

AMD는 CPU 코어 크기를 늘리지 않는 전략을 사용하고 있어, AMD CPU 코어의 크기는 뚜렷히 작아지고 있습니다. 아래는 AMD의 세대별 CPU 코어 크기 차트입니다. 차세대 불도저도 2 CPU 코어를 융합한 모듈이며, 라노 CPU 코어 2개 정도의 크기입니다. CPU 코어의 작은 크기가 AMD의 장점이 되고 있습니다.

 

27.jpg

 

AMD의 세대별 코어 크기 차이

 

 

라노부터 지속되는 APU의 길

 

라노의 다이 크기는 228평방mm이며 트랜지스터 수는 15억개, CPU와 GPU를 통합한 APU로서 메인스트림에 적합한 다이 크기가 됩니다. 기존의 메인스트림 CPU의 다이는 140평방mm가 적정선이었지만 이제는 GPU 코어를 통합하여 200평방mm 이상으로 크기가 커졌습니다. 2코어의 라노 2는 보다 작은 다이가 될 것으로 추정됩니다.

 

28.jpg

 

AMD CPU의 다이 크기 변화

 

AMD는 라노를 K7→K8→K10(Stars/Hound)로 발전해온 마지막 코어라고 설명하고 있습니다. 내년부터는 AMD 메인스트림 코어도 불도저로 바뀝니다. 이렇게 보면 라노는 과도기적인 제품이라 할 수 있습니다. 불도저부터는 CPU 코어의 아키텍처가 완전히 바뀌기 때문에 AMD에게 있어서 큰 변화가 됩니다. 2012년에 GPU 코어의 아키텍처나 CPU와 GPU를 통합하는 시스템 아키텍처도 크게 변하면서 아키텍처가 급속히 발전될 것입니다.

 

29.jpg

 

불도저, K10, 밥캣의 아키텍처 비교

 

30.jpg

 

AMD CPU 아키텍처의 로드맵                  

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.