28nm 벌크 공정으로 전환하는 AMD의 APU
AMD가 올해 (2013 년) 안에 발표를 예정하고 있는 제 3세대의 성능 APU "Kaveri (카붸리)." 본래라면 2013년 상반기에 등장할 예정이었던 Kaveri는 AMD의 APU 아키텍처에서 열쇠가 되는 제품이다. 왜냐하면 AMD의 이기종 (Heterogeneous : 이종 혼합) 컴퓨팅 구상의 "거의 완성형"이 Kaveri 아키텍처 이기 때문이다.
AMD가 "HSA (Heterogeneous System Architecture)"라고 하는 회사의 이기종 컴퓨팅 아키텍처는 다음 단계에서 새로운 메모리 모델 "hUMA (heterogeneous Uniform Memory Access : 휴마) '로 나아간다. hUMA는 CPU와 GPU가 동일한 가상 메모리 주소 공간을 공유하는 프로세서 간 메모리 일관성을 하드웨어로 유지한다. hUMA의 도입에 따라 AMD의 HSA 프레임 워크는 프로그래밍 모델도 진화한다. 그래서 AMD 아키텍처에서 GPU 코어를 범용으로 사용하는 소프트웨어의 개발은 hUMA 대기 모드가 되고 있다. 역으로 말하면, Kaveri을 출시함으로써 겨우 AMD는 HSA를 본격적으로 추진하기 시작할 수 있다는 상황에 있다. Kaveri에서 미완성인 HSA 요소는 GPU 코어의 선점 작업 스위치 등, 그것은 Kaveri 다음 APU가 된다.
AMD는 Kaveri의 동작 시현을 6월 COMPUTEX에서 처음 공개했다. Kaveri는 GLOBALFOUNDRIES의 28nm 공정으로 제조한다. 늦은 원인은 28nm 고성능 공정의 양산이 일정한 페이스에 타기까지 시간이 걸렸기 때문이다. AMD는 TSMC의 28nm 공정을 사용하고 있지만, Kaveri 설계를 다른 Fab에 옮기는 것은 어렵기 때문에 GLOBALFOUNDRIES에서 제조한다.
기존의 AMD 고성능 APU 인 'Llano (라노) "와"Trinity (트리니티) / Richland (리치 랜드) "의 제조 파운드리는 같은 GLOBALFOUNDRIES 이지만 32nm SOI (Silicon-On-Insulator) 공정으로 제조하고 있다. 그것에 비해, Kaveri는 28nm 벌크 (Bulk) 프로공정에서 공정의 형상을 미세화 한다.
그러나 32nm는 SOI인데 반해, 28nm는 벌크여서 트랜지스터 성능에 큰 차이가 없다고 본다. 32nm SOI → 28nm 벌크의 미세화의 장점은 트랜지스터 성능보다 트랜지스터 밀도가 더 크다. 동일한 정도의 면적대 라면 더 많은 트랜지스터를 넣을 수 있다. Llano → Trinity에서는 공정 기술 자체는 변하지 않아 트랜지스터 규모로 보면 이번이 AMD APU에 처음 큰 점프가 된다.
늘어나는 트랜지스터를 아키텍처의 강화에
AMD는 28nm 공정의 이행으로 늘어나는 트랜지스터를 Kaveri의 아키텍처 위의 강화에 썼다. Kaveri에서는 CPU 코어와 GPU 코어 각각의 아키텍처가 크게 달라진다. CPU 코어는 Trinity / Richland의 "Piledriver (파일드라이버)"코어에서 Kaveri는 "Steamroller (스팀롤러)"코어로, GPU 코어는 Trinity / Richland의 "VLIW4"에서 Kaveri는 "GCN (Graphics Core Next)" 으로 변한다.
GPU의 비교
Trinity의 Piledriver는 Bulldozer (불도저) 코어의 마이너 체인지였지만, Kaveri의 Steamroller는 Bulldozer 계 아키텍처의 첫 대폭 확장이 된다. GPU 코어도 마찬가지로, GCN은 AMD에게 있어서 첫 범용 컴퓨팅에 최적화 된 아키텍처로 HSA는 GCN을 전제로 하고 있다.
CPU 코어는 4코어지만, GPU 코어는 적화산(MAD) 유닛 수에서 512 개가 되다고 보여진다. 이것은 Kaveri와 같은 다이로 보이는 서버용 "Berlin (베를린)"의 GPU 코어가 512개 이기 때문이다. Trinity에서는 MAD 유닛은 384개 였으니 33% 늘어난다.
명령 디코더를 2 유닛으로 병렬화한 Steamroller
Kaveri의 CPU 코어 Steamroller의 가장 큰 특징은 명령 디코더를 2 병렬로 한 것. Bulldozer 계 마이크로 아키텍처는 2개의 CPU 코어를 1모듈에 융합시켰고, 두 쓰레드를 병렬로 돌릴 수 있다. Bulldozer 모듈에서는 정수 코어가 L1 데이터 캐시는 쓰레드마다 갖추고 있지만, 명령 디코더를 포함한 프런트 엔드와 부동 소수점 연산 유닛은 2 쓰레드에서 공유한다. 명령 디코더는 4-way가 1 유닛이다.
그러나 Steamroller에서는 2 쓰레드가 각각 전용 명령어 디코더를 갖춘다. Bulldozer의 프런트 엔드 병목 현상을 해소하는 것이 목적이다. 사이클당 내부 명령 디스패치 수는 쓰레드당 최대 25% 늘릴 수 있다고. Steamroller에서 실행 유니트 측이나 메모리 서브 시스템도 강화되지만 주목적은 쓰레드당 IPC (Instruction-per-Clock)의 향상에 있다.
명령 디코더의 병렬화
AMD가 Bulldozer에서 디코더를 2코어에 대해 1 유닛으로 줄인 이유 하나는 x86 CPU에서 디코더의 구현이 무겁기 때문이다. 복잡한 x86 명령어 디코딩에는 방대한 로직이 필요하며 전력도 먹는다. 그러나 프런트 엔드에서 충분한 양의 명령 디코드를 못하면 병목이 된다. Steamroller에서는 이 부분을 다시 균형을 잡고 보다 전통적인 멀티 코어 CPU에 가까운 스타일로 되돌린 것으로 보인다. 이러한 강화에 의해 Steamroller는 Bulldozer / Piledriver보다 모듈의 다이 영역이 커지고 있다고 추측된다. 28nm 공정에서 2코어 1모듈이 20 제곱 mm 대 중반 정도의 크기를 가질 것으로 추측된다.
Bulldozer와 Steamroller의 멀티 쓰레딩의 차이
512 유닛으로 늘어난 MAD 유닛이 다이 공간을 먹다
Kaveri의 GPU 코어 MAD 유닛의 수는 512 유닛인 것으로 보인다. GCN은 64 개의 MAD가 1개의 CU (Compute Unit)에 탑재되고 있어, Kaveri는 8 개의 CU를 갖추게 된다. AMD APU는 3세대 GPU 코어를 진화시켜 왔다. MAD 전용 유닛 수만 비교하면 Llano의 320 유닛에서 Trinity 384, 그리고 Kaveri 512로 늘어난다. 그러나 Llano의 VLIW5 에서는 80유닛의 슈퍼 펑션 유닛도 MAD로 사용할 수 있으므로 이론적으로 Llano와 Trinity 계 MAD 수는 거의 같다.
APU의 GPU의 진화
AMD는 Kaveri 세대 1TFLOPS의 APU를 실현한다고 이전에 설명했다. 512 유닛 MAD 라면, CPU 코어 측의 FPU 성능과 합계 1TFLOPS 클래스의 성능 범위에 이른다고 예상된다.
Trinity 계의 384 MAD 유닛에서 Kaveri 512 MAD 유닛으로 강화는 연산 유닛의 33% 증가에 그치지 않는다. Kaveri의 GPU 코어 GCN 아키텍처는 Trinity 계의 GPU 코어의 VLIW4 아키텍처에 비해 연산 성능당 트랜지스터 수를 더 필요로 한다. 이것은 AMD의 개별 GPU를 보면 일목요연 하다.
개별 GPU의 진화와 다이 크기
위의 그림에서 왼쪽이 40nm의 VLIW4 / 5 아키텍처 GPU로 오른쪽이 28nm 공정 GCN 아키텍처 GPU다. 40nm와 28nm 각각의 동급 다이에서 MAD 유닛 수는 2 배로 되지 않는다. GCN의 오버 헤드 때문에 MAD 수가 깎이게 된다.
참고로 같은 GCN 아키텍처의 GPU 코어를 가지는 PlayStation 4 (PS4)의 APU는 18 유닛의 CU로 합계 1,152 개의 MAD 유닛이 유효 (게임기는 스펙이 고정되어 있기 때문에 수율을 높이기 위해 물리적으로 더 많은 유닛을 싣고 있다)가 된다. MAD 유닛 수는 Kaveri는 PS4의 절반 미만이 된다. 그렇지만, Kaveri 지원 메모리는 여전히 DDR3이므로 MAD를 더 늘려도 메모리가 제약이 되어 성능을 발휘할 수 없을 것이다.
Kaveri 내부 버스 아키텍처가 변화
코어의 강화 이외에, AMD는 Kaveri는 내부 버스도 크게 바꾼다. 구체적으로는 GPU 코어와 메모리 컨트롤러의 접속형태를 현재의 2 계통의 버스 아키텍처에서 통합 버스로 전환한다. 이것은 hUMA 지원을 위해, GPU 측의 메모리 컨트롤러 유닛을 크게 변경하기 때문이다.
AMD의 현재 APU는 GPU 코어가 DRAM 컨트롤러에 액세스 하는 버스가 2 계통 있다. 하나는 "Radeon Memory Bus (Garlic )"로 이것은 GPU 코어에서 메모리 컨트롤러에 광대역 액세스를 실현한다. Garlic은 GPU 코어가 메모리 컨트롤러에 광대역에 직결되는 개별(외장) GPU에 가까운 액세스를 위한 버스이다. 두번째 버스는 "Fusion Compute Link (Onion)"로 개별(외장) GPU가 I / O 컨트롤러를 통해 CPU와 연결되어 있던 것을 온다이에 구현한 것 같은 버스이다. onion 버스는 GPU 코어에서 CPU 캐시에 스눕이 가능한 일관성 버스 이다.
Trinity 버스 아키텍처
Garlic / onion의 2 계통의 버스 아키텍처는 지금까지의 모든 AMD APU에서 채용되고 있다. 위는 Trinity / Richland 예에서 onion는 PCI Express를 경유로 장치로 부터의 액세스와 같은 경로임을 알 수 있다. PS4의 APU에도 Garlic / onion의 확장판이 사용되고 있다.
그러나 Kaveri에서는 이 구조가 크게 달라져 통합 버스가 된다. 이것은 GPU 측의 메모리 컨트롤러가 hUMA 대응으로 확장되고 CPU 코어와 동일한 가상 메모리 주소 공간을 공유하게 되고, 페이지 폴트의 처리 등을 지원하며 CPU 코어간에 메모리 일관성이 유지 되기 때문이다. 그러한 아키텍처는 Garlic / onion의 2 계통으로 나눌 이유는 없게된다. AMD는 다음과 같이 설명한다.
"아직 자세히 말할 수 없지만 싱글 메커니즘으로 이행하는 것이다. 최대한 모든 (코어간의) 일관성을 취하도록 설계한다면 통합 버스가 훨신 뛰어난 솔루션이다. 처음부터 그러지 않은 것은 세대마다 IP 블록을 개량하고 대체해 가는 것이 구현을 간단하게 하기 때문 "이라고 AMD의 Joe Macri 씨 (CTO, Fusion)는 설명한다. AMD의 GPU 아키텍처를 담당하는 Michael Mantor 씨 (Senior Fellow Architect)도 다음과 같이 말한다. "완전한 통합 데이터 버스에서는 GPU 코어와 CPU 코어가 동일 패브릭을 경유하여 메모리에 액세스 하게 된다. 패브릭 부분에서 일관성을 유지한다. 이러한 모델이 소프트웨어 에코 시스템에 있어서도 사용하기 쉽게 될 것이다 "
통합 된 1 계통의 메모리 경로는 매우 당연하고, 그런 의미에서 지금까지 2 개의 경로의 구현이 특수하다고 할 수 있다. 또 PS4의 APU가 Garlic / onion 이므로, PS4는 hUMA을 기능적으로 갖추지 않은 것을 알수 있다.
Ivy Bridge / Haswell보다 큰 다이 사이즈
Kaveri의 문제점의 하나는 Intel 대해 공정 기술면의 회전이 지연이 된 것이다. Intel은 이미 지난해 (2012년) 부터 22nm FinFET 공정으로 이행해 있다. 그에 비해 AMD는 성능 APU에 대해서는 아직도 32nm 공정으로 Kaveri에서 겨우 28nm 공정이 된다. 28nm도 평면형(planar) 트랜지스터로 Intel의 22nm 같은 FinFET의 3D 트랜지스터가 아니다.
따라서 Intel은 FinFET으로 낮은 누설 전류 (Leakage) 와 저전압시 높은 특성의 장점을 독점적으로 누리고 있다. 또한 미세화에 의한 칩다이의 축소도 장점이 있다.
AMD와 Intel의 다이 크기 비교
32nm 공정 세대에서는 AMD의 주력인 APU Llano와 Intel의 Sandy Bridge (샌디 브릿지)의 4 코어 + GT2 GPU 코어판의 다이 크기는 모두 200 제곱 mm를 넘어 거의 같은 수준이었다. 그것에 비해 22nm 세대의 Ivy Bridge는 4 코어 + GT2가 160 제곱 mm로 축소하고 GPU 코어의 피크 성능은 배 이상이 되었다. Haswell (하스웰) 에서도, Intel은 4 코어 + GT2의 크기를 177제곱 mm로 작게 유지하고 있다. 간단히 말해서, 32nm 세대의 다이에 74 ~ 82 %의 다이 크기로 두었다.
Kaveri도 말하면, AMD가 공개한 패키지의 다이를 측정하면, 다이 크기는 240 제곱 mm를 약간 밑도는 정도가 된다. 이것은 32nm의 Llano / Trinity과 거의 동급으로 AMD는 다이를 소형화하는 것보다 트랜지스터 예산을 기능 강화에 쏟아 넣은 꼴이 되고 있다. 따라서 다이 사이즈 적으로는 Intel 비해 불리하게 된다. Kaveri는 Haswell의 최고 성능의 쿼드 코어 + GT3e보다는 다이가 작다. 하지만 메인 스트림 CPU / APU끼리 비교하면 다이가 크고 제조 원가에 보디 블로우처럼 효과가 올 가능성이 있다.
Kaveri의 다이
AMD CPU의 다이 사이즈 추이
그러나 Intel이 22nm 공정에서 주력 CPU 다이를 32nm 세대보다 작게 두는 것은 이유가 있다. Intel은 통상이라면 다이를 이전 세대보다 작게하기 보다 그만큼 기능을 증가 방법을 선택한다. 22nm에서는 다이를 작게하는 방향으로 기울은 것은 Intel에 있어서도 FinFET 화로 트랜지스터 구조를 크게 바꾼 22nm 공정은 위험이 높다고 판단했기 때문이라고 추측된다. 다이가 작으면 수율이 다소 나빠도 웨이퍼당 다이 수를 유지할 수 있다. 실제, Intel은 22nm 공정에는 시작은 조심 조심과 같은 분위기로 공정 기술의 우위에 대해서도 별로 강조하지 않았다.
그러나 현재 Intel의 22nm 공정에서 문제가 발생했다는 소식은 들리지 않는다. 오히려 제품의 출하 페이스를 보면, 최고로 좋은 상태로 보인다. 아마도 뚜껑을 열면 수율이 아주 좋은 페이스로 향상됐다 추측된다. 그래서 Kaveri는 불리하다.
[벤치리뷰] 기가바이트 BRIX Pro(GB-BXi5-4570R)VS 카베리
[벤치리뷰] 아키텍처를 쇄신한 A10-7850K 벤치 마크 보고서
[분석정보] 카베리와 최근 인텔 AMD 칩의 부동소수점 피크 성능
[CES 2014] AMD 차기 APU "Kaveri"의 개요 및 성과를 공개
[정보분석] CPU와 GPU의 메모리 공간을 통일하는 AMD의 hUMA 아키텍처
[분석정보] 컴퓨텍스 타이페이 2013 AMD 리치랜드(Richland) 데스크탑 발표
[분석정보] 라라비 (Larrabee)의 비장의 카드 공유 가상 메모리
[분석정보] 실행 모델을 변경한 Skylake의 GPU 코어, 보다 일반적인 GPU 컴퓨팅으로 향한 설계
[분석정보] GPU 컴퓨팅 기능을 강화한 Skylake의 GPU
[분석정보] 인텔 데스크탑 eDRAM 버전을 포함한 브로드웰 패밀리 설명
[분석정보] AMD의 신 GPU 아키텍처 "Graphics Core Next"의 비밀
[분석정보] 피크성능에서 실효성능으로 포커스가 바뀐 AMD의 GPU 아키텍처
[분석정보] 인텔의 차세대 마이크로 아키텍처 스카이레이크
[분석정보] AMD Kaveri의 메모리 아키텍처와 향후의 APU 진화
'벤치리뷰·뉴스·정보 > 아키텍처·정보분석' 카테고리의 다른 글
[분석정보] 부드러운 데이터 센터를 만드는 Intel의 Software Defined Infrastructure (0) | 2013.07.30 |
---|---|
[분석정보] 20나노 공정부터 앞으로 무어의 법칙의 의미가 없어지나? ~ 트랜지스터당 비용 상승 (0) | 2013.07.09 |
[분석정보] 인텔 하스웰 설계를 행한 마레이시아 제조 개발 거점을 공개 (0) | 2013.07.08 |
[분석정보] 하스웰 eDRAM에 JEDEC 차세대 DRAM으로 대항하는 AMD의 메모리 전략 (0) | 2013.07.08 |
[분석정보] Research @ Intel 2013 Direct Compressed Execution 등을 시현 (0) | 2013.06.30 |
[분석정보] 4만 8000개의 제온파이로 중국 톈허2 세계에서 가장 빠른 슈퍼 컴퓨터 (0) | 2013.06.19 |
[분석정보] TOP500 슈퍼컴퓨터 순위 2013년 6월 (0) | 2013.06.18 |
Intel Xeon Phi 새로운 폼 팩터 채용 포함 5모델 추가 (0) | 2013.06.18 |