강력한 부동 소수점 연산 유닛

AMD는 부동 소수점 연산 유닛을 공유화 하면서 효율을 높이기 위한 수단을 설명했다.


「우리는 부동 소수점 연산 유닛을 공유 자원으로 했다. 다만 유연한 방법으로 공유할 수 있다. 부동 소수점 연산 유닛의 일부씩을 2개의 정수 연산 유닛이 각각 동시에 사용할 수도 있다. 혹은 정수 연산 유닛의 다른 한쪽이 부동 소수점 연산 유닛을 점유 할 수도 있다」(Akrout씨).


부동 소수점 연산 유닛은 병렬적인 스레드 실행이 가능한 유닛이 되어 있는 것 같다. 그리고 AMD는 부동 소수점 연산 유닛 자체를 매우 파워 풀하게 만들었다.


「우리는 부동 소수점 연산 유닛을 가장 효율적인 공유 자원으로 하기 위해서 매우 사이즈가 큰 것으로 했다. 128-bit(SIMD)의 FMAC(부동 소수점적 일본 재래의 주산기)를2개 갖추고 있다. 사용되는 경우에는 매우 고속이고 효율적으로 되도록 했다」(Patla씨).


Bulldozer에서는 부동 소수점 연산 유닛은 공유가 되고 있지만 자원은 강력해서 사용되는 경우에는 높은 퍼포먼스를 발휘할 수 있다. AMD는 Bulldozer의 설명에서는 부동 소수점 연산 퍼포먼스가 성장하는 것을 강조해 왔지만 그 이유는 여기서 명쾌하게 나타나고 있다. 덧붙여서 AMD는 범용 CPU에 넣는 SIMD 유닛의 벡터 길이는 단정도로 4-way(128-bit)가 적절하다고 생각하고 있어 Intel과 같은 단정도로 8-way(256-bit)로 적극적으로 확장하려는 자세는 볼 수 없다.


여기서 재미있는 것은 정수 연산 클러스터가 두 개에 대해서 부동 소수점 연산 클러스터가 하나라고 하는 비율이 비교적 일반적인 것이다. 예를 들면 Sun Microsystems의 Niagara2(UltraSPARC T1/UltraSPARC T2)이나 Rock 등도 두 개의 정수 코어와 하나의 공유 부동 소수점 코어라고 하는 비율이다. 또 구 DEC/Compaq의 Alpha 프로세서의 「EV8」도 4-way의 SMT(Simultaneous Multithreading)로 8개의 정수 연산 유닛의 클러스터에 대해서 4개의 부동 소수점 연산 유닛 구성이었다. multi-thread 성능을 추구하는 CPU가 이 비율을 취하고 있는 것은 멀티 스레딩 시에 효율이 뛰어나는 것을 나타내고 있다고 보여진다. 덧붙여서 EV8의 아키텍터 였던 Joel Emer씨는 현재는 Intel에 재적하고 있다(Intel Fellow, Intel Architecture Group).



● Heterogeneous화로 강력한 데이터 병렬 컴퓨팅 기능도 통합

사용 빈도가 낮은 부동 소수점 연산 유닛을 공유화하는 Bulldozer의 아키텍처는 현재의 작업 부담량에서는 납득할 수 있다. 그러나 향후의 throughput 중시의 작업 부담량에서는 부동 소수점 연산을 자주 사용하는 애플리케이션이 급증할 것이다. AMD도 Intel도 그러한 비전을 내걸고 있다. Bulldozer 모듈로의 부동 소수점 연산 유닛의 공유화는 그러한 흐름에 역행하는 것처럼 보인다. 그러나 그렇지 않다고 한다.


「시간과 함께 Bulldozer코어는 APU(Accelerated Processing Unit)에도 사용되어 간다. APU SOC(System on a Chip)로서 매우 파워 풀한 데이터 병렬 엔진을 CPU 위에 대비하게 된다. (Bulldozer코어의)작은 부동 소수점 연산 유닛의 기능과 자꾸자꾸 증가해 가는 GPU의 데이터 병렬 부동 소수점 연산 기능이 흥미로운 점이다」(Moore씨).


「Bulldozer는 APU가 되는 능력을 가지고 있다. 즉 heterogeneous컴퓨팅 기능을 통합할 수 있다」(Akrout씨).


아마 AMD의 전략은 다음과 같은 것이다. 향후 작업 부담량으로 증가하는 것이 예상되는 부동 소수점 연산의 요구의 상당수는 CPU에 싣는 GPU와 같은 데이터 병렬형 엔진으로 흡수한다. 그 쪽이 효율적이기 때문이다. CPU 코어 측의 부동 소수점 연산 기능의 확장은 APU화를 전제로서 약간 조심스럽게 억제한다. Bulldozer 또 하나의 중요한 컨셉은 heterogeneous화에 있는 것을 생각하면 아키텍처의 선택을 납득할 수 있다.


이렇게 하여 Bulldozer의 컨셉을 개관 하면 AMD가 Bulldozer 모듈을 듀얼 코어라고 세는 이유도 잘 알 수 있다. AMD로서는 주로 사용되는 정수 연산 파이프에 대해서는 완전하게 코어를 나누어 스레드 당 성능을 유지하고 있다. 그 발상의 원점은 현재의 싱글 스레드의 성능에 대해서는 가능한 한 유지하는 것에 있다. 그러니까 듀얼 코어라고 부를 수 있는 것일 것이다.

 

 

출처 : http://pc.watch.impress.co.jp/docs/column/kaigai/20091126_331235.html

신고
by 흥배 2009.12.18 08:30

● throughput 시대에 맞춘 아키텍처 연구

원래는 throughput 컴퓨팅 시대가 온다고 하는 예측으로부터 시작되었다.


「우선 우리는 CPU 아키텍처에 throughput 시대가 온다고 예측했다. 그리고 그 시대를 향해서 가장 파워 효율이 높고, 가장 밀도의 높은 throughput 엔진을 개발하기로 했다. 그것도 싱글 스레드 퍼포먼스에 대해 타협하지 않고. 그 때문에 CPU의 작업 부담량을 연구하여 각 작업의 부담량이 시스템 중에서 어떻게 행동하는지를 연구했다」(Moore씨).


PC용 CPU의 발전은 긴 기간 싱글 스레드의 성능 향상이라고 하는 주박에 묶여 있었다. 그러나 AMD는 2002~2004년 정도에(Moore씨가 AMD에 참가한 전후)에서 향후는 throughput가 최대 중요 요소가 된다고 판단했다. 거기서 스레드의 병렬 처리로 고 throughput를 얻을 수 있고 게다가 필요한 트랜지스터 카운트가 적은 고효율로 고밀도의 아키텍처를 연구하기 시작한 것 같다.


일반적으로 CPU 코어를 심플하게 하면 면적 당 코어 수가 증가하여 throughput는 높아진다. 그러나 그 경우 싱글 스레드 퍼포먼스가 떨어져 버린다. AMD는 싱글 스레드 성능을 떨어뜨리지 않고 끝내는 것도 최대 중요 포인트로서 잡았다. 거기서 작업 부담량을 분석하여 싱글 스레드 성능을 유지하면서 고 throughput를 달성할 수 있는 CPU 아키텍처를 찾았다. 그것이 Bulldozer의 출발점이었다.



● Busy인 것은 정수 유닛으로 부동 소수점 유닛은 잠시

AMD는 Analyst Day의 프레젠테이션 중 작업 부담량 연구 결과가 어떻게 되었는지를 다음과 같이 설명했다.


「우리는 모든 어플리케이션의 작업의 부담량을 조사했다. 그 결과 프로세서 중에서 가장 자주 사용하고 있는 부분은 정수 연산 유닛이며 부동 소수점 연산 유닛은 아닌 것을 알 수 있었다. 부동 소수점 연산 유닛도 사용되지만 대다수(의 명령)는 정수 연산 유닛에 간다」(Chekib Akrout씨(General Manager, Technology Group)).


부동 소수점 연산 유닛은 실은 99%의 시간은 사용되지 않았다. 수치 연산은 매우 보기 드물었다」(Patrick Patla씨(Vice President and General Manager, AMD Server Business)).


즉 CPU 코어 중에서 사용 빈도 높은 부분과 낮은 부분이 있으며 붐비는 부분이 성능의 열쇠가 되는 것을 AMD는 인식했다. 그리고 빈도가 높은 것이 정수 연산부이며 빈도가 낮았던 것은 부동 소수점 연산부라고 하는 것이다. 특히 Patla씨가 담당하는 서버 시장의 경우는 하이 퍼포먼스 컴퓨팅(HPC)이외에서는 부동 소수점 연산은 거의 사용되지 않을 것이다.


거기서 AMD는 클러스터 아키텍처 Bulldozer를 선택하게 된다. CPU 코어 안을 분할하여 정수 연산부 등을 스레드 전용의 자원으로 하는 한편으로 부동 소수점 연산부를 스레드 공유 자원으로 했다.


「우리는 Bulldozer 모듈 안에 2개의 정수 연산 유닛과 2개의 정수 스케쥴러를 분리하여 구현했다. 이 2개의 정수 연산 코어는 각각이 1 스레드를 완전하게 독립하게 병렬로 실행 할 수 있다. 그 때문에 최고 퍼포먼스를 달성할 수 있다」(Akrout씨).

Bulldozer의 아키텍쳐



스레드 간 간섭이 없는 정수 연산 클러스터

Moore씨에 의하면 이 아키텍처 선택은 싱글 스레드 퍼포먼스를 떨어뜨리지 않고, 효율을 올리기 위한 선택이었다고 한다.


「우리는 2개의 완전하게 분리된 완전한 정수 연산 부품을 갖추는 것이 바람직하다고 깨달았다. 2개의 분리한 정수 코어는 각각이 정수 오퍼레이션에서는 풀 기능을 갖춘다. 1개의 정수 코어가 다른 정수 코어와 실행 시에 간섭하는 것이 없다. 또 분리된 데이터 캐쉬, 분리된 스케쥴러를 갖춘다. 그 때문에 양쪽 모두의 정수 연산 코어가 동시에 사용되고 있는 경우에서도 싱글 스 레드 퍼포먼스는 매우 좋은 것이 된다. 그것이 열쇠였다」.


AMD의 판단은 Hyper-Threading과 같은 SMT 기술에서는 정수 연산 자원이 충분하지 않으면 자원의 경합이 발생하고 성능이 억제되어 버린다고 하는 것이었다. 그것보다 사용 빈도가 높은 정수 연산 파이프는 각각의 스레드마다 분리한 클러스터 베이스 멀티 스레딩이 퍼포먼스를 올린다.


한편 스레드 간 경합 하는 빈도가 낮다고 예상되는 부동 소수점 연산 유닛은 공유로 했다.


「통상은 부동 소수점 연산 유닛은 별로 사용되지 않는다. 그러니까 공유는 완벽하게 자연스러운 일이다」라고 Moore씨는 설명하고 있다.

부동 소수점 유닛을 공유하는 Bulldozer

 

 

 

출처 : http://pc.watch.impress.co.jp/docs/column/kaigai/20091126_331235.html

신고
by 흥배 2009.12.17 08:30

● Bulldozer아키텍처에 의해서8코어를 싣는 Zambezi

AMD는 2011년에 Bulldozer 아키텍처의 최초 CPU로서 최대 8코어의 「Zambezi(잠비지)」를 투입한다. Zambezi는 GPU코어를 탑재하지 않는 현재의 AMD CPU와 같은 CPU 코어만의 제품이다. AMD의 현재 라인 업으로 말하면 Phenom II계가 Zambezi로 옮겨지게 되는 것 같다.


여기서 포인트는 “코어”수다. 현재의 45nm 프로세스의 Phenom II에서 데스크탑 CPU로서 경제적인 die size의 한계인 200평방mm대에서는 CPU 코어를 4개 밖에 탑재할 수 없다. 6코어는 300평방mm대가 되어 코스트적으로 통상의 데스크탑 CPU의 테두리를 초과해 버린다. AMD는 2010년 6 코어의 데스크탑 CPU「Thuban(투밴)」도 투입하지만 코스트적인 것을 생각하면 아래의 가격대로는 내릴 수 없을 것이다.


그런데 Bulldozer에서는 32nm프로세스로 8코어를 탑재할 수 있게 된다. 이것이 경제적인 die size내에서의 이야기라고 하면 AMD의 퍼포먼스 CPU는 4코어로부터 8코어로 코어 수를 배증시키게 된다.


1세대 프로세스 기술이 미세화하면 2배의 트랜지스터가 실리므로 2배 수의 코어가 되는 것은 계산이 맞는 것처럼 보인다. 그러나 실제로는 CPU 코어 수가 증가하는 것에 따라서 CPU 코어 이외의 언 코어의 부분이 비대화 해 버리므로 단순하게 2배로는 좀처럼 할 수 없다. Intel도 32nm의 퍼포먼스 CPU는 당면의 Westmere(웨스트미어)세대로는 6코어(Gulftown:걸프 타운) 다. 그런데 AMD는 Zambezi로 8코어를 예정하고 있다.


아마 이것이 Bulldozer아키텍처의 이점이다. CPU 코어를 multi-thread 처리에 최적화하는 것으로 단위면적 당 “코어 수”를 늘릴 수 있다. 결과적으로 CPU의 면적 당 컴퓨팅 성능을 올릴 수 있다.

K10의 die size

AMD CPU의 die size 추이

AMD의 데스크탑 전용 CPU의 추이



● Bulldozer 모듈은 듀얼 코어인가 싱글 코어인가

다만 여기에 정의의 문제가 하나 부상한다. 그것은 Bulldozer의 경우 “CPU 코어”라고 불러도 좋은 것인가라고 하는 점이다. Bulldozer의 경우는 2개의 CPU 코어가 부분적으로 자원을 공유하여 「Bulldozer 모듈」을 형성하고 있다. 즉 Zambezi는 4개의 Bulldozer 모듈을 탑재하고 있게 된다. 이 경우 Bulldozer 모듈을 하나의 멀티 스레딩 코어라고 셀지 아니면 Bulldozer 모듈을 2개의 코어라고 셀 것인가라는 것이다.


당연 라이벌 Intel은 Bulldozer의 “코어”는 멀티 스레딩 코어의 일부이며 8코어는 실제로는 4코어라고 주장할 것이다. Intel의 Hyper-Threading 코어는 2 스레드를 SMT(Simultaneous Multithreading)로 실행할 수 있다. 그 때문에 Intel CPU는 4코어로 8 스레드, 6코어로 12 스레드가 된다. 당연 Intel은 대 Bulldozer의 마케팅 전략으로서 CPU를 코어는 아니고 병렬 스레드 수로 카운트 하게 될 것이다. 단순한 병렬 스레드 수라면 다이 면적 당으로 Intel측이 위가 될 가능성이 높다. 이 부분은 마케팅이지만 실제로 기술상 Bulldozer의 코어를 코어라고 불러도 좋은지 어떤지는 논의가 일어날 것이다.


이 점에 대해서 AMD에서 Bulldozer의 개발을 리드했던 AMD의 Chuck Moore씨(Corporate Fellow and CTO Technology Development)는 「2009 Financial Analyst Day」에서 다음과 같이 명쾌하게 단언하고 있다.


우리가 Bulldozer 모듈이라고 부르고 있는 것은 실제로는 듀얼 코어다. 그러나 최적화된 듀얼 코어다」.


Moore씨가 말하듯이 Bulldozer 모듈이 80%의 multi-thread throughput를 얻을 수 있다면 모듈은 듀얼 코어라고 말해 좋은 것 같다. 그러나 Moore씨의 설명에 의하면 그 진심은 더 깊은 곳에 있는 것 같다.

멀티 스레딩 비교

 

 

 

출처 : http://pc.watch.impress.co.jp/docs/column/kaigai/20091126_331235.html

신고
by 흥배 2009.12.16 08:30

 IntelAtom과는 크게 다른 Bobcat아키텍처


AMD는 저소비 전력&저비용 CPU Bobcat에 대해서도 개요를 분명히 했다. Bobcat은 종래의AMDK8 코어나 Hound(K10) 코어와도 다른 아키텍처로 Bulldozer와도 다르다고 한다. 1W 이하를 타겟으로 개발된 완전하게 새로운 코어로 IntelAtom에 상당한다.


그러나 아키텍처는 Atom과는 꽤 다르다. 최대 2명령 발행인 점은 Atom과 같지만 명령 스케줄링에 차이가 있다. Atom이 복잡성을 없애기 위해서 명령을 차례로 실행하는 In-Order실행을 채용한 것에 비하여 Bobcat은 명령의 순서를 바꿔 넣는 Out-of-Order 실행을 채용하고 있다. Out-of-Order 실행이 In-Order 실행보다 명령의 병렬 실행 확률이 높아지기 때문에 IPC(Instruction-per-Clock)가 높아진다. 그 반면 CPU의 스케줄러가 복잡하게 된다.


Bobcat2 명령 발행 2 명령 리타이어/사이클의 Out-of-Order 실행 코어로 퍼포먼스는 상대적으로 같은 클락의 Atom보다 높다고 추정된다. AMD는 지금의 메인 스트림 퍼포먼스로 비교해서 90%를 달성할 수 있다고 설명하고 있다. CPU의 실리콘 에리어는 반으로 끝난다고 한다. 50% die size(면적)으로 90%의 퍼포먼스를 실현할 수 있게 된다.


이러한 배경으로부터 BobcatAtom보다 약간 높은 퍼포먼스 레인지의 아키텍처라고 추정된다. 명령 세트에서는 지금의 메인 스트림 CPUfeature를 커버한다고 한다.  x86명령 셋의 확장에서는 SSE1~3과 가상화가 지원된다.


Bobcat
Bulldozer와 같이 2011년에 등장할 예정이다. 최초의 제품은 Ontario로 노트북 PC를 타겟으로 한다. Bobcat은 커스텀 회로를 사용하지 않고 재이용하기 쉽게 고 레벨 언어로 쓰여져 있다. 그 때문에 바리에이션이 다수 등장하는 것이 예상된다.

Bobcat의 아키텍처


 APU의 최초의 칩 Llano가 드디어 베일을 벗는다


AMD
CPUGPU코어를 통합한 APU(Accelerated Processing Unit)의 최초의 제품 Llano에 대해서도 개요를 분명히 했다. Llano는 노트북 PC와 데스크탑 PC 전용으로 2011년 초에 등장한다. 제조 프로세스는 32nm SOI로 된다.

Llano
1개의 다이에 4개의 CPU코어와 DirectX 11 GPU코어를 통합한다. 설계 플로우로서 디스크리트의 CPUGPU 각각으로서 성숙한 기술을 APU에서 융합시킨다고 한다. 그 때문에 LlanoCPU코어도 GPU코어도 2011년 시점의 최첨단의 것은 아니다. CPU 코어는 현재의 Hound(K10) 코어를 32nm로 해서 확장한 것으로 GPU코어도 DirectX 11베이스가 된다.


GPUCPU의 통합


LlanoGPUCPU를 통합한 AMD 최초의 CPU


AMDLlano의 다이 레이아웃도 분명히 했다. 아래는 현재의 쿼드 코어 Athlon II X4(Propus) 과 비교한 그림이다. CPU코어의 아키텍처는 거의 같아서 CPU코어의 사이즈를 프로세스의 미세화에 준해 축소하고 축척을 추정. 거의 동축척과 추정되는 크기에 가지런히 해 보았다. 그 결과 LlanoPropus die size(면적)은 거의 같은 정도라고 볼 수 있다.

LlanoPropus die size는 거의 같다

라고 하면 32nm이 되면 AMD는 현재의 4코어 CPUGPU코어를 넣을 수 있게 된다는 계산이다. 가격 레인지도 동일한 정도로 100달러 클래스로 가져 올 수 있을 것이다. Llano 같은 32nmGPU코어 통합의 IntelSandy Bridge와 비교한 것이 아래의 그림이다. 이쪽도 추정으로 동일한 정도라고 생각되는 축척에 가지런히 해 있다.

LlanoSandy Bridge die size 비교

LlanoSandy Bridge에서는 GPU코어는 동일한 정도의 사이즈가 된다고 추정된다. 메모리 컨트룰러도 거의 같다. CPU 코어에서는 Sandy Bridge측이 크고 캐쉬는 Sandy Bridge측이 훨씬 크다. 그 때문에 Sandy Bridge측이 다이가 한층 크다고 추정된다.


Llano의 주된 특징


 CPUGPU의 로드맵도 쇄신


AMDCPU 로드맵도 쇄신 했다. 로드맵 자체는 작년(2008)Analyst Day로부터 크게 차이가 나지 않는다. 세부가 보다 명확하게 되었다.


데스크탑에서는 2011년에는 Bulldozer 코어의 엔스지아  데스크탑 CPUZambezi(잠비지)」가 등장한다. 작년은 「Orochi(오로치)」라고 하는 코드네임이었다. Zambezi4 또는8코어이므로 Bulldozer Module2 또는 4라고 하는 계산이 된다. 플랫폼은 「Scorpius(스콜피어스)」로 GPU 아키텍처도 신세대가 된다. 메인 스트림 데스크탑에서는 2011년에 Llano APU를 베이스로 한 「Lynx(린스)」플랫폼으로 이행한다.


메인 스트림 노트북 PC에서는 2011년에 Llano APU베이스의 「Sabine(세바인)」플랫폼이 등장. 넷북이나 울트라신 노트북 PC전용으로는 Bobcat 아키텍쳐의 Ontario APU의 「Brazos(브라조스)」가 등장한다.


서버 사이드에서는 2011년에 12 또는 16코어의 「Interlagos(인터라고스)」가 등장. Bulldozer코어로 MCM(Multi-Chip Module)으로 2 다이를 1패키지에 넣는다고 보여진다. 플랫폼은 Opteron 6000계 전용의 「Maranello(마라넬로)」로 2 또는4소켓 전용의 「소켓G34」지원.


또 같은 시기에 6 또는 8코어의 「Valencia(발렌시아)」가 등장한다. 플랫폼은 Opteron 4000용의 「San Marino(산마리노)」로 1 또는 2소켓 전용의 「소켓C32. 현재는 2 소켓과 4소켓 전용의 플랫폼이 공통의 소켓 F베이스의 「Fiorano(피오라노)」로 1소켓 전용만이 데스크탑과 같은 소켓AM2베이스로 차이가 났지만 구분이 바뀐다. CPU소켓 수의 상한 이외와 G34C32의 최대의 차이는 메모리 인터페이스다. G344채널메모리, C322채널메모리가 된다.



GPU에서는 DirectX 11세대의 R800계 아키텍처로의 이행이 급격하게 진행된다. 듀얼 GPUHemlock(헴락)」가 다음 주 등장하는 것 외에 내년(2010) 14분기에 메인 스트림과 밸류 전용의 「Redwood(레드 우드)」와 「Cedar」가 투입될 예정이다.

모바일 전용의 DirectX 11계도 내년(2010) 14분기에 등장한다. 코드네임은 NY맨하탄 지구의 스트리트명 시리즈로 「Broadway(브로드웨이), Madison(매디슨), Park(파크)」가 예정되어 있다.


GPU의 로드맵


AMD CPUdie size의 이행도





AMD가 차기 아키텍쳐 「Bulldozer」와「Bobcat」의 개요를 공표 - 1
AMD가 차기 아키텍쳐 「Bulldozer」와「Bobcat」의 개요를 공표 - 2
출처 : http://pc.watch.impress.co.jp/docs/column/kaigai/20091112_328392.html
저작자 표시
신고
by 흥배 2009.11.15 10:00

퍼포먼스가 80% 올라간 Bulldozer


Bulldozer의 개발을 리드한 AMDChuck Moore(Corporate Fellow and CTO Technology Development)2005Analyst Day에서 클러스터 아키텍처의 이점을 설명.  CPU 코어의 자원을 50% 늘리는 것만으로 80% throughput가 오른다고 설명하고 있었다. 이 때의 설명으로는 Hyper-Threading과 같은 SMT(Simultaneous Multithreading)로는 자원도 조금으로 끝나지만 퍼포먼스 향상도 적다고 설명하고 있다.


50%CPU 자원 증가로 80%의 퍼포먼스 증가

Moore씨는 이번 Analyst Day가 아키텍처의 설명을 통해서 Bulldozer80% throughput 향상을 달성할 수 있다고 말하고 있다. AMD는 클러스터 아키텍처에 관련된 특허도 몇 개인가 신청(United States Patent Application 20090006814, 20090024836 )하고 있다.


Bulldozer의 구체적인 구조는 아래의 그림대로. 1개의 Bulldozer Module 안에 2개의 정수 연산 코어가 있다. 각각의 정수 연산 코어는 4개의 정수 연산 파이프라인을 가진다고 한다. 4개의 파이프는 ALU(연산 유닛)AGU(주소 생성 유닛)의 페어가 4개나 그렇지 않으면 2개의 페어로 합계 4 파이프로 되어 있는지 아직 밝혀지지 않았다.

현재의 AMD 아키텍처에서는 ALUAGU의 페어가 3개로 최대 3개의 x86 정수 연산 명령을 실행할 수 있다. ALUAGU의 페어가 4개라고 하면 1개의 정수 연산 코어가 현재의CPU 코어보다 확장되고 있다. ALUAGU의 페어가 2개라고 하면 현재 코어의 2/3의 규모가 된다.



Bulldozer의 아키텍처


Bulldozer의 구체적인 구조


Bulldozer Module의 명령어 인출과 디코드는 각 사이클 4명령이라고 되고 있다. x86에서 4명령이 연산 명령과 메모리 오퍼레이션 명령으로 분해되어 8개의 uOPs(내부 명령)이 된다고 생각하면 정수 연산 파이프가 ALUAGU의 페어가 2개이면 정확히 계산이 맞는다.


부동 소수점 연산 유닛은 128-bitSIMD 승산,누산 유닛이 2개 갖춰져 있다. 2 유닛을 사용하여 256-bitIntel AVX 호환 SIMD 명령을 실행할 것으로 예상된다. AMDBulldozer에 독자적인 SSE5를 구현할 계획을 변경, Intel256-bit SIMD 명령 AVX에 독자 명령을 더한 명령을 구현하기로 했다. 부동 소수점 연산 유닛은 다른 한쪽의 스레드가 2 파이프를 양쪽 모두 점유 하는 것이나 양쪽 모두의 스레드로 1파이프씩 쉐어 하는 것도 가능하다고 한다.



AMD의 명령 확장의 변경


AVX포맷의 명령도 수중에 넣는다




AMD가 차기 아키텍쳐 「Bulldozer」와「Bobcat」의 개요를 공표 - 1

출처 : http://pc.watch.impress.co.jp/docs/column/kaigai/20091112_328392.html
저작자 표시
신고
by 흥배 2009.11.14 18:29


다채로운 발표였던 Analyst Day

AMD는 어젯밤(미국 시간에1111)에 애널리스트를 위한 컨퍼런스 「2009 Financial Analyst Day」를 개최했다. 동 컨퍼런스에서 AMD는 차기 CPU 아키텍쳐인 「Bulldozer(bulldozer)」와 Atom대항의 저 소비 전력 CPU 아키텍쳐 「Bobcat(보브캣)」의 개요를 발표Bulldozer가 효율적으로 멀티 스레딩을 실현하는 클러스터(Clusters) 아키텍처를 취하는 것을 공식으로 분명히 했다.


CPU에 GPU 코어를 통합하는 「APU(Accelerated Processing Unit)」의 최초의 제품이 되는 「Llano(리아노)」의 다이 레이아웃을 공개. CPU 로드맵을 갱신하고, 넷북 시장용으로 Bobcat 베이스의 「Ontario(온타리오)」를 사용한 「Brazos」플랫폼을 도입하는 것 등을 분명히 했다.

게다가 GPU의 신제품으로서 다음 주 R800계의 듀얼 GPUHemlock(헴락)」을 발표하는 것이나 내년(2010년) 제14분기에 모바일 전용 DirectX 11 GPU  「Broadway(브로드웨이)」 등을 도입하는 일도 밝혔다.


Llano의 다이




클러스터 아키텍처를  취한 Bulldozer 코어

AMD2011년에 투입하는 차세대 마이크로 아키텍쳐 Bulldozer의 개요를 마침내 분명히 했다. Bulldozer는 우선 디스크리트 CPU로서 서버&데스크탑 전용의 세그먼트(segment)에 투입된다. 종래의 K8이나 K10(Hound) 아키텍처의 후계로서 완전하게 새롭게 개발된 CPU 아키텍처. 제조 프로세스는 32nm SOI에서 시작한다.


AMDBulldozer에 클러스터(Clustered)형태 마이크로 아키텍쳐를 취한다고 소문이 나고 있었다. 이번에 AMD는 클러스터 아키텍처를 공식적으로 분명히 했다. Bulldozer의 클러스터 아키텍처에서는 CPU 코어가 클러스터화 되고 있다. 구체적으로는 두 개의 CPU코어가 융합되고 있어 부동 소수점 연산 유닛이나 명령 디코더 등의 자원이 두 개의 코어/스레드에서 공유되게 되어 있다.


Bulldozer 아키텍처에서는 2 코어의 융합한 클러스터를 「Bulldozer Module」이라고 부르고 있다. 2개의 스레드를 병렬로 실행할 수 있는 모듈이 Bulldozer의 기본 단위다. Bulldozer는 이 유닛을 복수 모으는 것으로 멀티 코어 구성을 실현한다고 보여진다. 예를 들면 4 코어의 Bulldozer CPU라면 두 개의 Bulldozer Module을 탑재할 것이다.


Bulldozer의 클러스터 아키텍처는 1개의 모듈로 2개의 스레드를 동시에 실행할 수 있다. 이것은 1개의 CPU 코어 중에서 2게의 스레드를 실행할 수 있는 IntelHyper-Threading과 닮아 있는 것처럼 보이지만 크게 다르다.


IntelHyper-Threading에서는 CPU 전체의 자원을 명령 단위로 2개의 스레드에서 공유한다. 그에 비해 AMD에서는 CPU의 자원 중 정수 연산 파이프는 2개의 스레드가 각각 전용 파이프를 가진다. 그러나 명령 디코더나 부동 소수점 연산 유닛 등은 2개의 스레드에서 공유한다. 정수 연산에서는 스레드간의 경합이 없기 때문에  throughput가 높다.


AMD에 의하면 CPU의 용도에서는 실제로는 부동 소수점 연산은 Idle 상태가 많고 정수 연산 파이프가 Busy가 된다고 한다. 그 때문에 경합이 일어나는 정수 연산 파이프를 이중화 하여 경합이 적은 부동 소수점 연산 파이프는 공유로 했다고 설명한다. CPU 중에서 자주 사용되는 부분은 2 스레드로 각각 분리하고, 공유로 하는 것이 효율이 좋은 부분은 싱글로 한 것이 Bulldozer의 클러스터 아키텍처이다.


Bulldozer의 아키텍쳐




나머지 내용은 다음에 또 올리겠습니다.^^;;

저작자 표시
신고
by 흥배 2009.11.12 23:51
| 1 |