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

[분석정보] AMD가 K8 코어의 부동 소수점 연산 유닛을 2배로

tware 2006. 5. 22. 19:30

 

밝혀진 Rev. G 이후의 AMD CPU 코어

 

 AMD는 지난 5월 15 ~ 17일에 개최된 프로세서 관련 컨퍼런스 "Spring Processor Forum"에서 쿼드 코어 K8의 컨셉 레이아웃과 기본 특징을 공표했다. 컨퍼런스 자체는 오오하라 유스케 씨가 리포트를 한 대로, 여기에서는 자료상에서 알게되는 쿼드코어 K8과 신세대의 K8 코어 군에 대해 분석해 보고자 한다.

 

 이번 발표에 의해, 겨우 지금까지 불분명했던 65nm 세대의 첫 번째 K8 "Rev. G (Revision G)"와 K8의 리프레시인 "New Core"의 관계가 어느정도 보였다. 쿼드코어 K8의 그림에 삽입 된 CPU 코어는 Rev. G 세대의 CPU 코어와는 명확하게 다르며 확장되어 있다. 아마도 AMD가 New Core라고 부르는 차세대 코어에 탑재되는 CPU 코어의 정체는, K8 마이크로 아키텍처 (내부 구현 아키텍처)를 Rev. F / G를 거쳐 단계적으로 확장하는 것이다. 최종적으로 현행 Rev. E까지의 K8과는 꽤 별개로 진화한다고 보인다. 말하자면 "K8 + α"로 "Rev. H"이나 "K8L" 이라고 부르는 CPU 코어와 동일하다고 본다.

 

 지금까지의 정보에서는, AMD의 쿼드코어 서버 CPU는 2007년의 "Deerhound (디어하운드)"와 2008년 "Zamora (자모라)"의 2 단계로 되어 있었다. 이번에 발표된 쿼드 코어는 Deerhound가 되지만, 세부가 다르다. Deerhound는 Rev. F 세대 듀얼 코어 Opteron과 같은 인프라 (칩셋 / 마더 보드 / 소켓)에 실릴 것이다. 메모리는 DDR2에, HyperTransport 1로 되어있다. 그러나 이번 쿼드는 HyperTransport 3 세대를 구현하는 것으로 되어있다.

 다만 HyperTransport 1과의 호환성도 갖추기 때문에, 최초에 등장하는 Deerhound에서는 HyperTransport 1의 까지로, 그 후 HyperTransport 3이 작동 가능 될 가능성도 있다.

 

 

부동 소수점 연산 성능이 이론 값 2 배로

 

 이번 발표에서 쿼드코어 K8에서는 CPU 코어 마이크로 아키텍처 자체가 확장되는 것이 밝혀졌다. 그 중에서도 눈에 띄는 것은 부동 소수점 연산의 이론치 성능이 2배 (클럭 당) 되는 것이다.

 

 

쿼드 코어 Opteron의 개요

 

 프레젠테이션에 의하면, 1 코어에서 최대 4 FLOPS / Cycle의 피크 스루풋으로 배정밀도 부동 소수점 연산이 가능하게 된다. 1 사이클 당 연산 처리량은 지금까지의 K8의 2배가 된다. 이것은 Intel의 Core Microarchitecture (콘로/메롬)와 같아서, 부동 소수점 연산 성능의 강화는 추세인 것이 나타난다. 참고로, 쿼드 코어 K8에서는 128bit 데이터 로드도 2 Load/Cycle로 2배로 되며, 128bit SSE 데이터 흐름도 듀얼로 되었다. 이것은 연산 성능의 두배에 맞췄다고 보인다.

 

 명령어 페치도 확장된다. K8는 명령어 페치는 L1에서 16byte 폭이었다. 반면 쿼드 K8 코어에서는 32byte 폭으로 페치한다. 즉, 단순 계산으로 2배 길이의 명령 페치를 하는 것이 가능하다는 의미다. 물론 페치 다음 명령 디코드에서 변환 가능한 이상의 명령 수는 실행할 수 없지만, 상위의 페치 폭을 넓히는 것으로 디코더에 막힘 없이 명령을 보내는 것이 가능하게 된다.

 

 범용 프로세싱에서 성능 향상의 중요한 요소가 되는 분기 예측도 확장된다. 다만 확장의 자세한 내용은 알 수 없다. 이 밖에 out-of-order (아웃 오브 오더)의 로드 실행도 가능하게 된다. 이것이 메모리에 데이터를 기입하는 스토어 조작 전에, 메모리에서 데이터를 읽는 로드 조작을 스케쥴 가능한 것을 의미한다면, 스토어와 로드의 데이터 의존관계를 확인하는 구조도 갖는 것이 된다. 동일한 구조는 Intel도 Core Microarchitecture (Merom)에서 채택한다. 이 밖에 보고한 것 처럼 명령 세트의 약간의 확장도 진행된다.

 

 이렇게 살펴보면, 이 세대의 AMD CPU 코어의 확장은, 초점을 맞추는 포인트가 Intel과 어느정도 비슷한 것이 판명된다. CPU의 프로세싱 효율을 높이고, 부동 소수점 연산 성능을 특히 강화한다. 상정한 것보다 대폭적인 확장의 기운이 강하고, Intel로 말하면 Pentium M 세대 (Banias : 베니어스 / Yonah : 요나 계)에서 Core Microarchitecture 세대 (Merom : 메롬 계)로의 확장에 어느 정도 닮았다.

 

 

AMD CPU 코어의 향후 3 세대의 변화

 

 AMD에 의하면, 쿼드 코어의 CPU 코어 아키텍처 특징 공개에 의해, 겨우 AMD의 2008 년까지의 CPU 확장의 구멍이 메워졌다.

 

 이전의 칼럼에서 AMD가 2007년에 Rev. G까지의 CPU 코어 확장을 준비하고 있는 것을 보고했다. Rev. G로 보이는 65nm K8과 Rev. F에서는, CPU 코어의 다이 (반도체 본체)의 레이아웃이 명확하게 다르고 확장은 명백했다.

 

 

Rev. F 다이

 

 

Rev. G 다이

 

그러나 그 앞의 세대에 대해서는 정보가 엇갈리고 있다.

 

 우선 AMD가 Rev. G의 다음의 CPU 코어 Rev. H에서, 부동 소수점 연산 성능이 2 배가된다고 설명한 것이 나타났다. 그 한편으로 AMD가 2007년 말부터 2008년 상반기에 출시 하는 New Core 세대의 모바일 CPU가 Rev. G 기반이 된다는 정보도 있었다. Rev. G는 부동 소수점 연산 유닛이 크게 확장되는 듯이 보지 않기 때문에 "Rev. H = New Core CPU 코어" 라는 부분도 포함해서 수수께끼가 남아 있었다. 물론 이들 정보가 오래된, 혹은 잘못된 가능성도 있지만, 확증은 잡지 못했다.

 

 그런데 이번 쿼드 코어 CPU 코어의 다이 레이아웃을 보면, 이 의문이 꽤 풀린다. 이 CPU 코어는 Rev. G와 기본 부분은 공통이지만, 부동 소수점 연산 유닛 (FPU) 부분만이 확장 되듯이 보이기 때문이다. 이것이 Rev. H 세대 CPU 코어라면 꽤 의문이 풀린다.

 

 지금까지 AMD가 발표한 향후 3 세대의 K8 CPU 코어를 비교한 것이 아래의 그림이다. 맨 위는 2월의 반도체 학회 "ISSCC 2006"의 발표 자료를 기반으로 다이 사진에 각 유닛 블록의 구분을 쓰고 더한 Rev. F CPU 코어. 중간은 4월 AMD의 일본에서의 브리핑 자료에 추정되는 유닛 블록 구분을 더한 65nm CPU 코어. 이것은 Rev. G로 추정된다. 가장 아래는, 지난주 SPF 쿼드 코어의 자료에 추정되는 유닛 블록 구분을 더한 것. 일단 편의적으로 Rev. H로 했다.

 

 

Rev. F / G / H의 비교

 

 이전 리포트 한대로, Rev. F부터 Rev. G에서 K8은 다이 레이아웃이 처음 크게 바뀌었다. 다이를 보면, 명령어 페치 & 디코더가 확장되는 것이 명료하게 알게된다. 로드 / 스토어 유닛도, 내부의 배치가 바뀐 것처럼 보인다. 그러나 부동 소수점 연산 유닛에 대해서는 Rev. G와 Rev. F를 비교해도 상대적으로 동일한 정도의 크기 밖에 보이지 않는다. 유닛 면적 (= 트랜지스터)을 늘리지 않으면, 성능을 비약시키는 것은 어렵다.

 

 

부동 소수점 연산 파이프를 1개 추가?

 

 그런데 쿼드 CPU 코어 (Rev. H?)를 보면, 부동 소수점 연산 유닛 (FPU) 옆에 1 개 유닛이 더해져 있다. 이것이 추가의 부동 소수점 연산 유닛이라고 하면, 이 유닛의 크기는 2 배는 되지 않지만, 꽤 면적이 확장된다.

 

 현재 x86 계 CPU는 64bit 폭의 부동 소수점 연산 유닛으로 128bit SIMD 연산을 실행하고 있다. 즉, 기존의 부동 소수점 연산 파이프는 64bit 라는 것이다. 만약 AMD가 거기에 64bit 부동 소수점 연산 파이프를 또 1 개 더해서, 128bit SIMD 연산을 1 사이클 스루풋으로 가능하도록 했다고 하면, 부동 소수점 연산 성능이 2 배가 된다는 것도 납득할 수 있다.

 

 이것은 꼭 Intel의 Prescott 이후 NetBurst 아키텍처가, 32bit 정수 연산 유닛을 2 파이프로 해서 64bit 연산을 가능하게 한 것과 비슷한 구현이다 (넷버스트 아키텍처에서 프레스컷 부터 64bit를 지원하죠.). 참고로, Intel의 Core Microarchitecture도 (콘로,메롬) 128bit SIMD 연산 유닛 구현​​되어 있다 (NetBurst와 Pentium M은 64bit SIMD 구현. 인텔도 SSE 시리즈를 처음 도입할 때 128bit SIMD 라고 4개의 32bit 데이터를 한번에 연산하는 형태가 아닌, 32bit 2개 씩 두번에 걸쳐서 처리하는 형태였습니다. 논리적 구조는 128bit 연산이지만, 하드웨어 구현은 64bit씩 두번에 걸쳐서 처리. 이러면 소프트웨어의 처리는 (구조는, 개발은) 동일하지만, 하드웨어의 여유가 생길 때 하드웨어를 확장하면 속도를 더욱 늘릴 수 있죠. 이후에 256bit AVX를 만들 때도 일단은 128bit 씩 두번에 걸쳐서 처리하고 이후의 아키텍처에서 하드웨어적드로도 확장하는 것은 아닌가 했지만, AVX를 도입한  샌디브릿지는 하드웨어적으로도 한번에 256bit 처리를 하도록 만들었구요. 다른 기사를 보면, 네할렘 때도 256bit SIMD를 도입하냐 마냐 하다가 회로 추가가 너무 과해져서 (회로및 전력)  좀더 날렵한 코어로 전성비가 좋은 쪽으로 코어를 더 많이 싣는 쪽으로 개발이 되었다고 합니다...)

 

 재미있는 것은, Rev. H로 보이는 코어는 부동 소수점 연산 유닛 부분 이외의 부분의 대략적인 레이아웃이 Rev. G에 비슷하게 보이는 것이다. 이만큼 대략적인 그림은 확신을 가지고 말할 수 없지만, 블록이 크게 변한 것처럼 보이지 않는다. 여기에서 추정 가능한 것은, 부동 소수점 연산 파이프 이외의 확장은, Rev. G에서 이미 구현하고 있는 가능성이다. 그 위에서 부동 소수점 연산 유닛도 확장 할 수 있도록 설계한 것이 Rev. G 인지도 모른다. 쿼드코어의 슬라이드에서 설명된 명령어 페치나 분기 예측 등의 확장은, 모두 Rev. G로 대형화되고 있는 명령어 페치 & 디코드 유닛 부분에 포함된다.

 

 그렇다면 Rev. G에서 Rev. H로는 비교적 쉽게 확장 가능하게 된다. 즉, Rev. H는 Rev. G + 추가 부동 소수점 연산 유닛이라는 구성 일지도 모른다. SPF의 프레젠테이션을 보면, 서버 & 워크 스테이션은 Rev. G를 생략하고 Rev. H 코어로 이동한다고 생각된다. 이것은 AMD가 과거 몇년의 프레젠테이션에서 CPU의 코어 블록의 모듈화를 강조하고 있는 것과도 부합한다.

 

 만약 Rev. G에서 Rev. H로 비교적 쉽게 확장 가능하다고 하면, New Core 세대에서 CPU 코어에 변형이 존재한다고 해도 이상하지 않다. 예를 들면, 모바일용에는 부동 소수점 연산은 확장하지 않은 Rev. G 코어로, 서버나 데스크톱은 Rev. H 코어 등 조합도 가능할 것이다. 그렇게 생각하면, 앞에서 설명한 모순 된 정보의 설명도 붙는다.

 

 여기까지의 흐름을 정리하면, AMD의 CPU 코어 아키텍처는 3 단계의 발전을 이룬다고 추측된다. Rev. F에서 가상화 등 다이에 영향이 작은 확장. Rev. G에서 명령 페치나 로드 / 스토어 등의 확장. Rev. H에서 부동 소수점 연산 성능에 초점을 맞춘 확장 등 단계라는 추리이다. 물론, 이것은 다이에서 추측되는 확장으로, 실제로 확장된 기능이 활성화되는지 어떤지는 다른 이야기이다.

 

 

AMD CPU 코어의 전환 예상도

 

 

쿼드 코어는 512KB의 L2 캐시와 2MB의 공유 L3 구성?

 

이 밖에 쿼드 레이아웃에서 몇 가지 사실을 알 수 있다.

 

 

쿼드 코어 Opteron의 레이아웃

 

 쿼드 코어의 그림에 있는 CPU 코어의 L2 캐쉬는 각 코어 512KB 씩으로 보인다. 좌우가 대칭의 배치, 즉 CPU 코어의 레이아웃은 상하 코어로 뒤집어져 있다. 4 코어와 L3 캐시, 각 I / O를 연결한다고 보인다 노스 브릿지 블록은 CPU 코어에 필적 할만한 크기로 거대화되어 있다. 이 세대도 계속 크로스바를 취한다.

 

 DRAM 인터페이스는 현재와 같은 모양으로 CPU에 통합으로, DDR3 로의 마이그레이션을 고려한 DDR2로 되어 있다. 다음 Zamora에서는 FB-DIMM 지원이라고 말한다. 패드는 CPU 다이의 1.x 정도를 차지하고있다. 공유 L3 캐시는 DRAM 인터페이스와 반대 측에 배치되어 있다. 이것이 Deerhound 라고 하면 L3는 2MB 일 것으로, 면적과 거의 일치한다.

 

 SPF에서 AMD의 Chuck Moore 씨 (AMD Senior Fellow)의 프레젠테이션은 그가 작년 (2005년) 11월의 프로세서 아키텍처 컨퍼런스 "Micro-38"에서 행한 프레젠테이션 "Chip Multi-Processors : Now and into the Future"의 연결이 된다. 프레젠테이션 자체의 차이는 쿼드 코어의 그림 이외는 그리 많지 않다. 그는 다이제스트를 지난해 6월 AMD Analyst Day에서도 진행했다.

 

 그리고 이번 발표에서, 아래 슬라이드의 4 세대로 나눈 멀티코어 구현 비전 가운데 AMD는 Gen-1에서 Gen-2로 넘어 이동하려는 것이 보인다. (Gen-0은 Intel의 Pentium D 을 나타낸다). 다음 단계 Gen-3에서는, 런타임 아답티브 플레시빌리티 라는 의미심장한 항목도 있어, AMD의 CPU 아키텍처 확장이 아직 계속인 것을 보이고 있다.

 

 

SPF에서 발표된 키 노트


다음에 올릴 이 다음 기사를 꼭 보세요. (차세대 코어 Hound 기사)

2006년 5월 22일 기사

 

 

[분석정보] AMD, 데스크탑 네이티브 쿼드코어 Phenom을 발표

 

 

[벤치리뷰] 페넘 x4 벤치마크

 

 

[벤치리뷰] Phenom TLB 패치 벤치마크

 

 

[벤치리뷰] TLB 픽스 테스트

 

 

[벤치리뷰] 비교적 저렴한 4코어 CPU 비교 테스트

 

 

[분석정보] K8 이후 크게 바뀐 AMD의 CPU 개발주기

 

 

[분석정보] 심플 코어로 향하는 차세대 CPU 아키텍처

 

 

[분석정보] 결정된 헤테로지니어스 멀티코어에 대한 기류

 

 

[분석정보] AMD가 2009년의 CPU 코어와 통합 CPU의 개요를 발표

 

 

[분석정보] 현실 노선으로 수정된 AMD의 FUSION

 

 

[분석정보] 수수께끼가 많은 K10 아키텍처의 방향성

 

 

[분석정보] Bulldozer가 후퇴한 AMD의 로드맵의 의미

 

 

[분석정보] 인텔의 대항에 직면한 AMD의 서버 로드맵

 

 

[분석정보] Intel의 차세대 CPU 콘로는 2.66GHz로 3분기에 등장

 

 

[고전 2005.5.25] 도선 오버 넷버스트

 

 

[분석정보] Rev.F의 다음 다음에 오는 AMD의 차세대 코어 Hound

 

 

[분석정보] AMD가 쿼드 코어 CPU Barcelona의 상세를 발표

 

 

[분석정보] 대폭 강화된 AMD의 쿼드 코어 Barcelona

 

 

[분석정보] AMD "Barcelona"는 가장 빠른 Xeon 보다 50% 고속