12 AMD1세대 모듈 프로세서 불도저

d8f1a85abbabc4ab7490342e1edddff9.jpg

AMD 6번째 이야기. 불도저와 라노에 대해 이야기하고자 한다. 개선 기술에 초점이 맞춰져 있으므로 성능에 관한 부분은은 언급하지 않겠다.


불도저의 커집니다.)

'불도저'

'불도저'의 특징은 2개의 CPU 코어 모듈이라는 단위로써 정리자면 FPU는 모듈 단위로 하나를 공유하는 구조로되어있는 것이다. 조금 이해하기 어렵기 때문에 일반적인 CPU 코어의 구조와 비교하여 보았다. 그림 1은 공유 L2캐시를 가진 일반적인 듀얼 코어 CPU이다. 불도저의 구조를 나타낸 것이 그림 2이다. 요점은 다음과 같다.


[그림1]일반적인 듀얼코어 CPU의 구조 [그림2]불도저 아키텍쳐의 구조

◎ 프런트 엔드 L1명령어 캐쉬와 명령어 TLB 반입/디코딩은 2개의 코어로 공유
◎ 정수 연산 스케줄러~실행 유닛, Load/Store 장치 데이터 TLB등은 코어마다 준비
◎ FPU는 스케줄러를 포함하여 공유

이러한 구성을 취하는것에 대해 AMD는 몇 가지 이유를 들고있다. 우선은 '다이의 효율성'이다. FPU블록 부동 소수점 연산을 본격적으로 처리하게 된 것이 큰 다이 크기를 차지하게되었다. 그런데 실제 사용 방법을 보면, 그것이 전체에 사용되는 것은 극히 희소하다. 과학 기술 계산 등 일부 용도를 제외하면 대부분의 경우 FPU 낭비 놀고있는 것이다. '그렇다면, 2 개의 코어가 공유해서 실질적으로 성능에는 거의 영향이 없다'고 판단 결과가 FPU의 공용 부분을 몰어넣는 것이다.

이것은 두 가지 장점이 태어났다. 하나는 'AVX'호환 256bit FMAC명령을 구현해도 다이 크기에 영향이 경미한 것이다. AMD는 SSE5를 포기하고 AVX 호환 명령을 채용하고있는데, AVX는 레지스터 길이가 증가뿐만 아니라 꽤 많은 명령어가 추가되고있다. 이것을 구현하기 위해서는, FPU 측의 실행 유닛도 커질수밖에 없다.

그런데 불도저는 2코어에서 이를 절반씩 처리되므로 코어 당 면적은 그다지 큰 영향이 없다. 'K10'(페넘II, 애슬론II)의 세대는 코어마다 'FPU/MMX/SSE1~3'의 실행 유닛과 스케줄러를 준비하고 있었다. 반면 이번에는 2코어에서 공유이기 때문에 FPU관련 면적은 반감한다. 궁극적 으로는 K10세대 FPU크기는 크게 변하지 않는 다이 면적 그대로, AVX까지 대응이 가능하게 된 셈이다.

또 하나의 장점은 'AMD 퓨전'의 전환에 영향을 끼쳤다는 것이다. 퓨전은 미래에 APU와 FPU가 혼합된 형태가 될 예정이지만, 이번 불도저는 FPU가 코어 밖에 있는 형태로, 미래의 APU를 여기에 통합하기 쉬워졌다. AMD 퓨전의 진화는 '한 번에 한 단계'는 느린 속도로의 전환을 생각하고, 이번 FPU공유화도 이 일환이라고 생각할 수도 있을것이다. FPU뿐만 아니라, 인출/디코딩까지 공유화한 것은 단순히 다이 절약 이상의 목적도 있다고 생각된다.

재미있는 것은, 이 프론트 엔드 구성이 K10기반 페넘II와 거의 다르지 않는 것이다. 물론, 디코딩은 페넘II의 3명령어/사이클에서 강화되고 있지만, 반대로 말하면 그 정도의 차이 밖에 없다는 것이다.

불도저의 경우 각 코어 1스레드 씩 처리가 가능하기 때문에, 예를 들면 6명령어/스레드의 디코더를 만들면 이론적으로는 거의 페넘II와 동일한 성능이 된다. 굳이 늘리지 않은이유는, 거기까지만 해도 성능에는 별로 기여하지 않고, 그에 비해 소비 전력이 증가하므로, AMD가 말하는 '와트 당 성능'이 오히려 감소하기 때문이라고 생각된다.

원래 K8(애슬론64 세대)~K10 아키텍처는 ALU와 AGU(주소 생성)이 쌍으로 배합하는 형태로되어 있으며, 이론상은 'Load'+'연산'이 동시 3명령어가 처리 가능한 구조였다. 불도저와 '밥캣'에서 ALU와 AGU가 분리된 것은 사실 이 조합으로 최고의 성능이 나오기 때문이다.

명령어가 Load+연산만의 경우에는 K8~K10의 구성은 매우 효율적이다. 그런데 Load가 단일로 명령하거나, Load를 지원하지 않는 연산 같은 경우는 절반 단위 밖에 움직이지 않게된다. 또 이러한 단일 명령어의 경우 K8~K10 세대로는 Load 또는 ALU시에 최대 3명령어 까지 밖에 처리할 수 없다. 한편 불도저와 밥캣의 경우 ALU가 두 개, AGU 두 개라는 구성 때문에 이러한 단일 명령어의 경우 최대 동시 4명령어까지 처리할 수있게되어 오히려 성능이 오른다.

실행 유닛의 이러한 변경은 당연히 디코딩 단계에 영향을 미친다. 원래 K10세대는 SSE 명령어를 동시에 두 개 처리할 수있는 것을 목적으로해서 L1캐시의 대역폭이 32byte/사이클로 증가했다. 이것이 그대로 인출 대역되어 있었지만, 디코딩은 3명령어/사이클에서(일부 명령을 제외하면) 분명 인출 대역폭을 초과했다.

그것이 불도저는 4명령어/사이클 디코딩으로 균형이 다소 개선되었으며, 실행 유닛이 진짜 2명령어/사이클이 된 것이다. 2코어 4명령어/사이클이 되었으므로 일치하는 디코딩 성능이 되었다.

한편 실행 단계이지만, 불도저는 스레드마다 독립적인 코어 구조다. 'SMT'(동기 멀티 스레딩), 예를 들면 과거에는 펜티엄4, 최근에는 '넷로직 마이크로시스템즈'사의 'XLP프로세서'과 같이 실행 유닛의 이용 효율이 나쁜 경우에는 성능 향상의 정도는 크다.

펜티엄4의 경우는 실행 유닛의 이용 효율은 30%정도로써 인텔이 발표한 사항이다. 이것이 하이퍼 스레딩 기술을 사용함으로써 50%정도까지 개선했다. 넷로직 XLP의 경우 처음부터 SMT의 이용을 전제로 MIPS64 기반 4명령어 동시 실행의 슈퍼 스칼라 구성으로 되어있다. 이쪽도 단일 스레드에서 실행 부분의 이용 효율은 낮은 것 같다.

또한 메모리 접근 지연이 큰 시스템에서는, SMT에 의해 스레드가 메모리 액세스를 기다리는 동안 다른 스레드의 처리를 진행하는 형태로 효율을 개선할 수있다. 그런데 반대로, 이미 실행 유닛의 이용 효율이 충분히 높은 경우에는 SMT의 성능 개선의 정도는 그다지 많지 않다. 오히려 부하 증가로 인해 성능이 떨어지는 경우도있다.

예를 들어 코어i7의 경우 32bit 윈도우XP 환경에서 하이퍼 스레딩을 사용하면 대부분의 경우 성능이 떨어진다. 이러한 실정을 고려하여 불도저는 완전히 다른 두 개의 코어로 분리함으로써 확실한 성능 향상을 꾀한 것이다.

물론 예를 들어 실행 유닛을 ALU×4, AGU×4로해서 억지로 1코어화 하라는 방법론도있다. 하지만 그럼 스케줄러와 레지스터 파일 등을 포함하여 내부가 복잡해진다. 물리적으로 2개의 코어로 분리하는 것은 디자인 측면에서 의미가 있다고 할 수있다.

한편 공유되었던 FPU이지만, MMX/SSE에 관해서는 4명령어/사이클, AVX에 관해서는 1명령어/사이클이 되므로 실행 코어 당 성능의 관점에서 보면 기존의 페넘II와 같은 최고의 성능이다. 따라서 과학 기술 계산등의 용도는 기존의 K10기반 옵테론에 비해 성능이 떨어지는 일은 거의 없다.


발매한 'FX8150'




AMD A시리즈의 커집니다)

'라노A'

데스크톱 A시리즈는 4코어 CPU와 미들레인지 GPU 코어를 통합한 '퓨전APU'로써 새로운 AMD데스크탑 프로세서의 미들레인지 시장을 커버하는 제품이다. 내부 구조는 이미 발표되고있는 노트북용과 큰 차이는 없지만, 노트북 PC에 비해 TDP에 여유가 있기 때문에 CPU코어, GPU코어도 클럭이 크게 높아진 것이 특징이다.

A시리즈에 탑재되는 CPU코어는, 페넘II 계열의 핵심 기술을 개량하고, 32nm공정으로 축소한 것이다. L2캐시는 코어 마다 1MB로써 페넘II의 두배인 반면, L3캐시는 탑재되어 있지 않다. 또한, 페넘II의 '투반'기반 모델에 탑재되어있는 부하에 따라 동적으로 클럭을 변경하는 기능인 '터보 코어'를 지원하는 모델이 이번에도 포함되어있다.

GPU 코어는 4개의 라데온 코어와 하나의 다기능 라데온 코어를 탑재한 '스모'코어를 사용한다. 이것은 라데온HD5600 시리즈 '레드우드'코어를 기반으로 UVD3대응 등의 개량을 더해 32nm공정으로 축소 한 것이라고 생각해도 좋을 것이다.


상위 버전이되는 AMD A8시리즈의 GPU코어는 쉐이더 프로세서 400개, GPU 클럭이 600MHz의 풀 스펙 판 '라데온HD6550D'를, 미들레인지의 AMD A6시리즈는 쉐이더 프로세서 320개, 동작 클럭이 443MHz로 제한된'라데온HD6530D'가 탑재되어있다.

또한 지금까지의 GPU통합형 칩 세트와 마찬가지로 듀얼 그래픽 기술, 이른바 '크로스 파이어'를 지원한다. A시리즈는 라데온HD 6670/6570/6450와 내장 GPU를 결합하여 그래픽 성능을 더욱 향상시킬 수있다.


라노A 내장그래픽과 라데온 보급형 그래픽과의 스팩차이.


라노 'A8 3850'


AM3가 아닌 FM1이라는 새로운 규격의 소켓을 사용한다.



출처: amd, ascii
원문: http://ascii.jp/elem/000/000/621/621954/
http://ascii.jp/elem/000/000/651/651690/#eid651694
http://ascii.jp/elem/000/000/641/641601/
http://ascii.jp/elem/000/000/616/616444/


[OGTITLE]12 AMD1세대 모듈 프로세서 불도저[/OGTITLE]

이 글을 공유하기

댓글(0)

Designed by 테크윈