Zen 대한 자세한 내용은 다음주 컨퍼런스에서 발표
AMD는 고성능 CPU 시장에서의 점유율을 탈환하기 위한 조커로서 차세대 x86 CPU "Zen"을 올해 투입한다. Zen은 현재 Bulldozer계 CPU 코어 "Excavator (엑스케베이터)"보다 40% 나 클럭 당 정수 명령 실행 성능이 높아진다. 또 AMD의 CPU로는 처음으로 SMT (Simultaneous Multithreading)를 지원해, 2 스레드를 1 코어로 혼합시켜 실행 가능하다. 14nm FinFET 공정으로 제조되기 때문에, AMD의 28nm인 현재 APU나 40nm의 현재 CPU보다 성능/전력이 (전력당 성능) 높이 뛴다. (위에 32나노가 40나노로 잘못 적힌듯. 기존 비쉐라는 32나노죠. 그런데, 아래에도 계속 40나노라고 써있습니다.)
AMD는 미 샌프란시스코에서 기자 회견을 개최, 톱인 Lisa Su (리사 수)씨 (President and Chief Executive Officer, AMD)와 기술면을 이끄는 Mark Papermaster (마크 페이프마스터 씨 (Senior Vice President and Chief Technology Officer, AMD)가 등장해서 Zen을 발표했다. AMD는 다음주 칩 컨퍼런스 "Hot Chips"에서 Zen의 세부 사항을 발표 예정이지만, 그 개요를 앞당겨 공개했다.
Lisa Su (리사 수)씨 (President and Chief Executive Officer, AMD)
Mark Papermaster (마크 페이프마스터)씨 (Senior Vice President and Chief Technology Officer, AMD)
Zen은 현행 Bulldozer계 CPU와는 달리, 완전히 제로부터 설계된 새로운 CPU 코어다. Bulldozer에서는 2CPU 코어가 1 모듈로 되어 있지만, Zen은 독립된 CPU 코어의 구성이다. AMD는 Zen 코어를 우선 8코어 CPU 제품 "Summit Ridge (서밋 릿지)"로 제공한다. 또한 32코어의 "Naples (나폴리 / 네이플스)"도 서버 시장에 투입한다. AMD의 하이엔드 데스크탑 & 서버 CPU는 오랫동안 신제품 부재의 상황이었다. Zen 기반 제품 패밀리로 단숨에 만회.
정공법인 마이크로 아키텍처로 공격하는 Zen 프로세서
AMD는 Zen 아키텍처를 높은 성능, 처리량, 효율성을 염두에 두고 설계했다고 설명한다. 기존의 Bulldozer계 아키텍처는, 싱글 스레드 성능을 어느 정도 억제해서 전력과 다이 면적당 성능을 추구했다. 그것에 비해 Zen은 싱글 스레드 성능을 추구하며 성능 효율을 높이는 점이 다르다.
Zen의 설계 사상
CPU 아키텍처를 보면 그 설계 사상은 더 분명하다. Zen은 스트레이트 포워드, 즉 기교를 뽐내지 않고 정공법으로 아키텍처를 조립했다. 4 명령/사이클의 명령 디코더에서 x86/x64 명령을 내부 명령 마이크로 옵스 (Micro-Op / uOP)로 디코드. uOP를 인테저 (정수)계와 FP (부동 소수점 연산)계의 크게 2개로 나뉘어진 스케줄러 스트럭쳐에 디스패치 한다. 디스패치 대역폭은 최대 6 uOPS/사이클이다.
정수 계열은 4연산 파이프와 2 주소 생성 파이프, FP 계는 SIMD (Single Instruction, Multiple Data)의 FP 곱셈과 FP 가산의 쌍이 2개인 4 파이프. 메모리 계층은 64KB의 L1 명령 캐시와 32KB의 L1 데이터 캐시, 512KB의 L2 캐시와 코어 사이에서 공유하는 8MB L3 캐시에, 여기에 더해 명령 디코더의 하류에 uOP 캐쉬를 갖춘다. 아키텍쳐 적으로는 Intel CPU와 설계가 비슷한 부분도 많다.
Bulldozer 계의 CPU 코어는 스레드 당 정수 연산 파이프가 2개였다. 그것에 비해 Zen은 정수 연산 파이프는 4개로 배로 늘었다. AMD의 현재의 CPU 코어 "Excavator"보다 클럭 당 정수계 명령 실행 성능 IPC (Instruction-per-Clock)는 40%나 높아진다. 참고로, K10까지의 이전 AMD 아키텍처는 정수 연산 파이프가 3개. 4개의 정수 연산 파이프는 AMD 아키텍처에서는 처음이다.
마이크로 옵스 캐시를 갖춘 Zen 프론트 엔드
Zen 프런트엔드는 L1 명령 캐시는 64KB의 4-way로, L1에서 명령어 패치는 32 바이트 폭이 된다. 명령 디코더는 4-way로 최대 4개의 x86/x64 명령을 디코드 가능하다. 기존대로 명령 퓨전을 구현하고 있다면, 분기 명령 등을 융합시키는 것으로 최대 5 명령 분을 디코딩 가능하게 된다. x86 / x64 명령을 디코딩하여 생성한 내부 명령 마이크로 옵스 (Micro-Op / uOP)는 마이크로 옵스 큐에서 큐잉된다. 프론트 엔드에서는 분기 예측도 강화 되었다.
Zen의 프론트 엔드에서 기존의 AMD 아키텍처에 없었던 것은 "마이크로 옵스 캐시 (uOPs Cache)." 디코딩 된 uOPs를 캐시한다. 가변 길이에 다양한 명령 형식이기 때문에 명령 디코드가 복잡한 x86 / x64 명령의 디코딩을 생략하고 디코드를 끝낸 uOPs을 캐시하는 것으로, 효율적인 명령 피드를 실현한다. 전력 소비가 많은 명령 디코드를 건너 뛰기 때문에 절전력면에서의 효과도 크다. AMD는 큰 uOP 캐시이라고 설명하고 있기 때문에 수십 명령 정도의 루프 캐시가 아니라는 것을 알게된다.
Intel도 같은 구조를 가지고 있으며, uOPs 캐쉬의 태그가 L1 명령 캐시의 태그와 끈으로 연결되어 있다. L1 명령 캐시를 맵하는 히트 로직을 채용하는 것으로, 추적 빌드 등을 하지 않는 간단한 (다만 낭비도 많다) 제어를 한다. 현재 Skylake의 경우 uOP 캐시는 64 바이트 분의 L1 명령 캐시 페치 윈도우를 맵 한다.
Zen 아키텍처
마이크로 옵스 큐로부터 1 사이클에 6개의 uOPs를 스케줄러기구에 디스패치 할 수 있다. 만약 명령 디코더가 4 uOPs / 사이클밖에 디코딩 할 수 없다면 디코딩 대역과 엇박자가 된다. 그렇지만, uOP 캐시에서 페치가 최대 6 uOPs인 가능성도 있다. Intel의 Skylake도 마이크로 옵스 캐시에 히트한 경우는, 최대 6 uOPs를 페치 가능하다. 기존의 Bulldozer계 CPU 코어는 스케줄러에 대해서 4 uOPs 페지. 따라서 AMD는 Zen에서 1.5배의 명령 이슈 대역이라고 설명한다.
참고로, x86 / x64 CISC (Complex Instruction Set Computer) 명령을 실행하는 AMD CPU는 기존에는 마이크로 오퍼레이션을 복합시킨 Macro-OP를 스케줄러 단계에서 운영 단위의 Micro-OP로 변환하는 스타일을 가졌다. 내부적으로도 CISC 형 이었다. Zen의 경우 아직 어떤 uOPs 구성이 되는지 분명하지 않다.
Zen 코어의 마이크로 아키텍처
4개의 정수 연산 파이프인 Zen의 정수 코어
Zen의 정수 코어 구성은 4개의 정수 연산 파이프에 2개의 로드 / 스토어 파이프 구성. 기존의 Bulldozer계 코어는 2개의 정수 연산 파이프와 2개의 로드 / 스토어 파이프. 따라서 AMD는 Zen에서 실행 리소스가 1.5 배가 되었다고 주장하고 있다. 파이프를 늘렸을 뿐만 아니라, AMD는 명령 스케줄링 윈도우도 1.75 배로 했다. 다만 이것은 1코어 당 비교 가능성이 있다. AMD Zen에서는 더 큰 1 코어 2 스레드를 실행시키는 구조이기 때문에 쉽게 비교할 수 없다. 한층 세밀하게 보면, Zen 코어는 스택 오퍼레이션을 위한 하드웨어 엔진을 갖는다. Move 명령의 엘리미네이션도 한다.
FP 연산 파이프에 대해서는 아직 분명하지 않다. AMD는 Zen에서는 부동 소수점 연산 성능도 크게 향상된다고 설명했다. AMD의 슬라이드에서의 구성은 곱셈 유닛이 2 개에 가산 유닛이 2개. 곱셈 유닛과 가산 유닛을 조합하는 것으로 적화산 명령을 실행하는 것으로 보인다. SIMD (Single Instruction, Multiple Data) 유닛이지만, SIMD 폭은 아직 분명하지 않다. 256-bit가 4 유닛으로 예상된다.
로드 / 스토어는 주소 생성 유닛이 2 유닛. 다만 2로드와 1 스토어를 병렬 실행 가능하다고 되어 있다. L1 데이터 캐시는 32KB에 8-way. 데이터 캐시에는 프리 페처가 있지데, Zen에서는 이것이 대폭 강화되었다고 한다. 더 복잡한 데이터 패턴을 프리페치 가능하다고 예상된다.
스레드 병렬을 SMT (Simultaneous Multithreading)로 전환한 Zen
캐시 계층은 L0에 해당하는 uOP 캐시와 적당한 용량의 L1, 상대적으로 조금 작은 L2, 대용량으로 코어 사이에서 공유인 L3의 4단계 구성. L2를 작게한 것으로, L2 액세스 레이턴시는 대폭으로 단축되었다고 보여진다. 캐시 계층은 Intel CPU의 캐시 계층과 아주 비슷하다. 캐시 대역은 L1 명령 캐시로부터의 페치가 32-byte (256-bit) / 사이클. L1 데이터 캐시로 부터는 2개의 16-byte (128-bit)로드와 1개의 16-byte (128-bit) 스토어를 병렬로 실행 가능하다. L2로 부터의 대역폭은 L1 명령 캐시와 L1 데이터 캐시가 각각 32-byte (256-bit) / 사이클. L3와 L2 사이도 32-byte (256-bit) / 사이클이다.
스레드 병렬성에서는 Zen은 SMT (Simultaneous Multithreading)를 구현해 2 스레드를 혼합 실행 가능하다. Bulldozer계 아키텍처는 스레드마다 독립된 정수 코어를 준비하는 것으로 2 스레드를 병렬 실행했다. Bulldozer 계에서는 FP 유닛이나 L2 캐시를 2 스레드에서 공유, 기본 정수 유닛은 스레드마다 독립시킨 구성이었다. 반면 Zen에서는 큰 싱글 코어에서 2개의 스레드를 병렬 실행한다. Intel Hyper-Threading과 기본은 같다.
2개의 스레드는 각각 독립된 프로그램 카운터를 갖춰, 아키텍처르 레지스터 파일도 개별이다. 실제로 아키텍처르 레지스터는 물리 레지스터 파일에 리네이밍 기구로 매핑된다. 각각의 스레드의 명령은 아웃 오브 오더 실행 엔진 안에서 병렬 실행된다.
데스크탑용은 8코어 Summit Ridge
Zen 제조 공정 기술은 14nm 노드. GLOBALFOUNDRIES의 14LPP라 보인다. AMD의 CPU와 APU (Accelerated Processing Unit)로는 처음으로 FinFET 3D 트랜지스터 공정이다. AMD는 APU가 28nm CPU가 40nm 공정 이었기에, 14nm의 FinFET 공정으로의 이행은 큰 점프다. 누설 전류 (Leakage)가 내려갈 뿐만 아니라, 일정 동작 주파수 때도 활성 전류도 내려가기 때문에 대폭 절전력화 된다.
AMD는 동작 주파수 당 전력 소비는 현재의 CPU 코어 Excavator와 동등이면서, IPC (Instruction-per-Clock)가 40%나 오른다고 강조한다. 또 AMD는 향후 Zen 코어를 발전시킬 전망으로, 더 명령 실행 효율을 높이는 "Zen+"가 예정되어 있다.
AMD는 Zen 코어를 위에서 아래로 투입해 간다. 먼저 제품화하는 것은 하이엔드 데스크탑용 "Summit Ridge (서밋 릿지)". 8 코어에 16 스레드의 CPU 제품이다. 소켓 플랫폼은 "AM4"가 된다. 메모리는 DDR4, I / O는 PCI Express gen3, 여기에 더해 아직 공개되지 않은 칩간 인터커넥트를 갖춘다. 게이밍이나 VR (Virtual Reality), 워크스테이션 등의 시장을 노린다.
AMD에게는 오랜만의 하이엔드 CPU가 되는 Summit Ridge
AMD는 8코어 / 16스레드의 성능 비교를 공개.
Zen이 애플 투 애플의 성능 비교에서 우수한 것을 보였다
AMD가 공개한 Zen 데모 시스템의 종류
여기에 더해 AMD는 32코어 서버 SoC (System on a Chip) "Naples"도 공개. SMT로 64 스레드가 되는 몬스터 CPU다. 구성에서 보면 4개의 Summit Ridge 다이를 연결하고 있을 가능성도 있다. AMD가 공개한 것은 Naples의 2소켓 서버였다.
32 코어 Naples
거듭 AMD는 향후는 Zen 기반의 APU (Accelerated Processing Unit)도 투입. 더 메인 스트림 데스크탑이나 노트북 PC, 여기에 더해 임베디드까지 Zen을 가져간다고 한다. AMD에게는, 그동안은 임펙트 있는 CPU나 APU에 부족한 혹독한 시기였다. AMD는 Zen의 투입으로 상황을 완전히 바꾸려고 한다.
2016년 8월 18일 기사
기사 내용도 그렇지만, 쭉 봐도 거의 인텔의 기존 아키텍처에 매우 비슷하기 때문에 기존의 인텔 기사가 좋은 참고가 되겠죠.
[분석정보] IPC가 40% 향상된 AMD의 차세대 CPU Zen과 2017년 까지의 로드맵
[분석정보] AMD, 차세대 CPU"Zen"은 8코어 16스레드의 하이엔드
[분석정보] AMD Zen코어를 채용 Summit Ridge를 첫 공개
[분석정보] IDF에서 공개된 "Nehalem"의 내부 구조
[분석정보] x86에서의 탈피를 도모 Intel의 새로운 로드맵
[분석정보] 왜 인텔은 샌디브릿지에 AVX를 구현하는가?
[아키텍처] Intel의 차기 CPU "Nehalem"의 설계 개념은 "1 for 1"
[아키텍처] Nehalem(네할렘)으로 볼 수 있는 인텔 CPU 마이크로 아키텍처의 미래
[분석정보] Atom의 절전 기술도 탑재한 Nehalem
[아키텍처] 정수 연산 성능을 희생해서 효율성을 거둔 AMD의 "Bulldozer"
[분석정보] IDF 2010 왜 Sandy Bridge는 성능이 높은가?
[아키텍처] 트릭을 거듭한 Sandy Bridge 마이크로 아키텍처
[분석정보] 드디어 밝혀진 AMD의 불도저 (Bulldozer)
[아키텍처] IDF 2012 인텔 차세대 주력 CPU Haswell(하스웰) 공개
[분석정보] 인텔(intel) CPU의 큰 이정표가 될 하스웰(Haswell) 드디어 등장
[분석정보] 인텔 팬리스 PC를 위한 Core M 프로세서
[분석정보] 슬라이드로 보는 Skylake 아키텍처의 개요
[분석정보] 인텔의 차세대 마이크로 아키텍처 스카이레이크
[분석정보] Skylake 아키텍처의 수수께끼 2 - 5명령 디코더와 6명령 uOP캐시
'벤치리뷰·뉴스·정보 > 아키텍처·정보분석' 카테고리의 다른 글
[분석정보] 인텔 새로운 소형 개발 보드 joule의 자세한 내용 (0) | 2016.09.08 |
---|---|
[분석정보] Intel의 "Kaby Lake"는 "+" 공정 세대 첫 CPU (0) | 2016.09.03 |
[분석정보] Intel, Kaby Lake 제7세대 Core프로세서를 정식 발표 (0) | 2016.08.30 |
[분석정보] AMD가 차세대 Zen 개요를 더욱 밝혀 (0) | 2016.08.25 |
[분석정보] AMD Zen코어를 채용 Summit Ridge를 첫 공개 (0) | 2016.08.18 |
[분석정보] Intel 실리콘 포토닉스 광 트랜시버. IDF 16 (0) | 2016.08.18 |
[분석정보] 인텔 에디슨/갈릴레오의 후계인 소형 개발보드 "줄" 발표 (0) | 2016.08.17 |
[분석정보] Intel, Windows 기반의 VR HMD Project Alloy를 밝혀 (0) | 2016.08.17 |