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

[아키텍처] 인텔(Intel) 모바일 반격의 열쇠가 되는 ​​저전력 CPU 실버몬트(Silvermont)

tware 2013. 5. 28. 23:55

 

22nm 공정으로 5년 만에 아키텍처를 일신


 Intel은 22nm 공정으로 제조하는 2세대 Atom 계 CPU 마이크로 아키텍쳐 "Silvermont (실버몬트)"를 탑재 한 Atom 제품군을 올해 (2013 년) 후반부터 투입하기 시작한다. 스마트 폰의 'Merrifield (메리필드) "모바일 기기 용의"Baytrail (베이트레일), "서버용"Avoton "통신 기기 용의"Rangeley'등이 Silvermont 코어 기반으로 된다.

 

Silvermont는 22nm 공정

 

 

 

 

Silvermont 코어 채용 파생 품


 Intel은 초대 Atom인 "Silverthorne (실버쏜)"에서 5년, Atom의 마이크로 아키텍처를 대부분 확장하지 않고 왔었다.(인텔 틱톡처럼 2개팀이 중첩 개발하지 않으면 당연한 결과) 첫번째 45nm 프로세스 Atom 계 코어 아키텍처 "Bonnell (본넬) '은 32nm 프로세스의"Saltwell (솔트웰) "에도 계승되었다. 메인스트림 & 성능 PC용 CPU에서 2년에 한 번 아키텍처를 쇄신하는 것 과는 대조적이다.

 그러나 Intel은 Silvermont을 5 년만에 아키텍처를 쇄신한다. 아웃 오브 오더 (Out-of-Order) 실행을 채택하여 단일 스레드 성능을 강화하고 모바일에서는 4코어로 멀티 코어 제품(내부 인터커넥트으로 8 코어까지 가능)도 준비한다. 즉, 코어 당 성능을 인상하면서 코어를 작게 유지하고 멀티 코어를 쉽게하고 있다. 상반되는 요구를 목표를 충족하기 위해 Intel은 Silvermont를 주의 깊게 디자인했다.

 

Silvermont의 블록 다이어그램


 중요한 점은 x86 계 명령을 2명령어 디코딩 하여 아웃 오브 오더 실행 한다. Silvermont에도 명령 디코드 폭은 3명령을 펼치고 있지 않다. 실행 유닛도 정수 연산 유닛이 2, 부동 소수점 / SIMD (Single Instruction, Multiple Data) 연산 유닛이 2,로드 / 스토어 유닛이 1로서 인오더 실행 2명령 디코드였던 종전과 거의 다르지 않다. 아웃 오브 오더 윈도우도 공격적으로 확대하지 않고 최소화하고 있다. 다소 얌전한 디자인이다.

 거기에는 CPU를 복잡하게 CPU 코어의 다이 (반도체 본체) 영역을 확대시키지 않도록 하는 설계 사상이 보인다. 원래 Atom 계는 Cortex-A8과 A9 대해 단일 ​​코어 성능은 유리이기 때문에 코어를 대형화 하기 보다는 CPU 코어를 작게두고, 지연되는 멀티 코어 화를 촉진하려고 하고 있는 것이 보인다.

 

Silvermont 개요

 

 

특징

 

 

아키텍처와 마이크로 아키텍처의 정의

 

 

 

IA의 장점

 

 

Core와 Atom의 가정 시장

 

 

CISC 2 명령어 RISC 3 명령이 저전력 코어 동향


 Silvermont를 AMD의 저전력 CPU 코어와 비교하면 비슷하게 가고 있다는 것을 실감한다. AMD의 x86 계열의 저전력 CPU 코어인 "Bobcat (밥캣) '과'Jaguar (재규어) '도 2 명령 디코딩 아웃 오브 오더 실행. Intel과 AMD에서 저전력 코어의 기본 구성은 같다.

 

Jaguar의 블록 다이어그램


 대조적으로, 시장이 겹치는 ARM 계열 CPU 코어 아키텍처는 Cortex-A15와 Krait가 3 명령 디코딩 아웃 오브 오더 실행이되고 있다. 명령 디코드 대역에서는 ARM 쪽을 보면 넓은 것처럼 보이지만 실제로는 그렇지도 않다. 명령어 세트 아키텍처 (ISA : Instruction Set Architecture)가 다르기 때문이다.

 

ARM Cortex-A15 블록 다이어그램


 ARM의 각 ISA는 RISC (Reduced Instruction Set Computer) 계로 상대적으로 간단한 작업의 명령 체계로 있다. 이에 대응되는 Intel의 IA (x86) 계 ISA는 CISC (Complex Instruction Set Computer) 계로 여러 작업을 포함한 명령을 많이 갖추고 있다. 따라서 RISC 3명령 디코드와 CISC의 2명령 디코드에서는 디코더가 생성 할 수 있는 작업의 밀도는 원리 적으로는 크게 다르지 않을 것이다.


[분석정보] x86을 고속화하는 조커기술 명령변환 구조

 올해부터 내년 (2014 년)라는 페이즈에서 보면, 저전력 CPU는 CISC 2명령 디코드 & 아웃 오브 오더 실행하거나 RISC 3명령 디코드 & 아웃 오브 오더 실행으로 수렴하고 있는 것으로 보인다. 이것이 저전력 CPU의 파워와 성능의 균형을 적절하게 떨어트린 것 일지도 모른다.

 


아웃 오브 오더 화로 짧아진 파이프 라인


 파이프 라인 단수도 Bonnell 계와 Silvermont 계에서 큰 차이가 없다. Silvermont의 정수 연산 파이프 라인 단수는 14 스테이지로 Bonnell의 16 스테이지 보다 약간 짧아졌다. 그러나 파이프 라인이 짧아진 주원인은 Bonnell 아키텍처가 CISC (Complex Instruction Set Computer) 명령의 인오더 실행에 최적화된 반면 Silvermont는 아웃 오브 오더 실행이기 때문이다.

 

Bonnell과 Silvermont 파이프 라인


 위 그림의 왼쪽은 Bonnell 파이프 라인, 오른쪽이 Silvermont 파이프 라인이다. Bonnell는 CISC 방향의 파이프 라인 구성을 취하고 있었기 때문에 파이프 라인이 길었다는 것을 알 수있다. 구체적으로는 ALU의 실행 단계 전에 L1 데이터 캐시 액세스의 무대가 새겨져 있다. 차이를 간략하게 나타낸 것이 아래의 그림이다.

 

 

 

In-Order 및 Out-of-Order 파이프라인의 차이


 Bonnell과 Silvermont는 아웃 오브 오더 실행과 관련된 부분 이외는 큰 차이가 없다. 따라서 Silvermont에도 아키텍쳐 적으로는 동작 주파수에 큰 차이가 나지 않게된다. 물론, 트랜지스터 성능 향상과 구동 전압에 따라 실제 제품의 동작 주파수는 오른다. 덧붙여서, ARM의 Cortex-A15는 정수 연산 15 스테이지. RISC 쪽이 명령 디코드의 부담이 상대적으로 적은 것을 생각하면, A15 쪽이 약간 깊은 이라고 말할 수 있을지도 모른다.

 

ARM Cortex-A15의 파이프 라인

 


명령어를 프리디코딩 Atom 계 아키텍처


 Intel은 Silvermont에서 성능을 높이면서 전력 효율을 향상시키고 있다. 거기에는 FinFET 3D 트랜지스터의 22nm 프로세스에 의한, 기술면에서의 이득도 있지만, Intel은 아키텍처면에서도 주의 깊게 성능을 인상하면서 전력의 증대를 억제했다.

 

Silvermont의 주요 포인트

 

 

하이라이트

 

 

마이크로 아키텍처

 

 

진화하는 아키텍처

 

 

프로세스 디자인과 아키텍처의 공동 최적화

 

 Silvermont 구조, 상단의 프런트 엔드에서 살펴보면, 언뜻 보면 Bonnell과 크게 다르지 않지만 몇 가지 차이가​​ 있다는 것을 알 수 있다. 분기 예측 유닛의 구성과 테이블의 규모가 바뀐 외에도 다중 스레드 기능이 없어진 것으로 thread마다 가지고 있던 버퍼가 단일화 됐다.

 Silvermont에서는, 명령 프리 페처를 공유 L2 / 버스에서 명령을 인출하여 L1 명령 캐시에 채운다. 원래 Atom 인 Bonnell는 L1 명령어 캐시로 가져 오기 단계에서 x86 명령어의 프리 디코딩을 하고 있었다. 프리 디코딩 비트 군을 붙이고, 가변 길이의 x86 명령의 명령 구분 등을 표시한다. 명령 유형의 판별도 행한다고 볼 수 있다.

 이 구조의 목적은 프리 디코딩 파이프 라인의 이전 캐시 라인 필 단계에서 행하는 것으로, 파이프 라인의 디코드의 부담을 경감하고 디코딩 단계를 단축하는 것이다. 이 아이디어는 Intel 것이 아니라 원래는 AMD가 채용했다. Silvermont과 Bonnell는 프런트 엔드의 명령 디코드 파이프 라인이 변하지 않기 때문에 프리 디코딩 구조도 바뀌어 않은 것으로 보인다.

 L1 명령어 캐시에서 명령어 인출은 파이프 라인에서 3단계. L1 명령어 접근이다 인출 지연 사이클 수는 Bonnell과 변함 없다. 페치 대역은 Intel은 좁개하는 경향이 있다. Bonnell는 16-byte 폭 이었으므로, Silvermont도 마찬가지인 것으로 보인다. 무엇보다, Atom 계는 명령 디코드 대역도 2 명령으로 좁기 때문에, 균형 잡히고 있다.

 

Silvermont 파이프 라인

 

 

프런트 엔드에서는 분기 예측을 향상


 명령어 인출 파이프 라인은 분기 예측의 구성이 Bonnell에서 변경되었다. Bonnell 아키텍처는 분기 예측 알고리즘은 일반적인 GShare 알고리즘 이었다. Silvermont에도 GShare 상태에서 기본 분기 예측 알고리즘 자체의 공격적인 개혁은 이루어지지 않은 것으로 보인다.

 하지만 간접 분기를 위한 Indirect Branch 프리딕터가 참가됐다. 분기 어드레스를 레지스터 또는 메모리에 의해 특정되는 간접 분기는 Android의 Dalvik 같은 실행 환경에서 자주 나타나기 때문에 모바일 대상으로 자리를 잡은 CPU에서도 예측이 중요 해지고 있다. Silvermont에서는 이를 위한 전용 유닛이 마련됐다.

 또한 Intel 원래 Silvermont 그림에서는 분기 예측 유닛이 2 개로 분할되어 있다. 이는 분기 예측이 2 단계로 분할 된 때문으로 풀이된다. 최초유닛에 분기 주소의 버퍼 인 BTB (Branch Target Buffer)와 콜의 리턴 스택 RSB (Return Stack Buffer)가 배치되어 있다. 두 번째 유닛에 GShare와 간접 분기, RSB로 되어있다.

 Intel은 Silvermont는 프리딕터 항목을 대형화하여 분기 예측 기능을 강화했다고 설명하고 있다. 일반적으로 분기 기록을 거두는 BHT (Branch History Table)를 탑재한다면 분기 예측은 향상되지만, 분기 예측에 의해 시간이 걸리게된다. Intel의 Core 브랜드의 CPU 아키텍처는이 문제를 해결하기 위해 Nehalem (네할렘)에서 분기 예측은 2 계층을 도입했다. Silvermont의 경우 BHT를 참조하여 예측 결과를 얻을 스테이지가 후단되어있는 것 같다.

 


x86 명령을 거의 그대로 MacroOP하는 Silvermont


 인출 된 명령어는 프리 페치 버퍼로 가져와 명령 디코더에 최대 2명령씩 보낸다. 멀티 스레딩의 Bonnell는 여기에 버퍼가 2 스레드 분이되어 있었지만, 단일 스레드 Silvermont에서는 버퍼는 1계통이다. 아래 그림은 왼쪽이 Bonnell, 오른쪽이 Silvermont의 프런트 엔드 부분이다.

 

Silvermont과 Bonnell의 블록 다이어그램


 명령 디코더는 2-way로 x86 명령어를 최대 2명령어 동시에 디코딩 할 수 있다. 2명령 디코드 된다는 점은 Bonnell과 같다. 그러나 Silvermont는 명령 디코더 자신이 향상된다. Bonnell은 디코더 부분에 제약이 있어 하나의 명령 밖에 디코딩 할 수 없는 경우도 많았다. Silvermont에서는 이 문제가 해결되어 보다 많은 경우 2명령어를 병렬 디코딩 할 수 있게 된 것으로 보인다.

 기존의 Atom Bonnell은 일반 x86 명령어는 거의 그대로 1 대 1 대응으로 내부 명령어로 디코딩 하고 있었다. CISC 형의 x86 명령어는 Load-Op-Store 형 명령의 경우 로드 작업과 ALU (Arithmetic Logic Unit) 운영, 스토어 운영이 한 명령에 포함된다. 데이터를 메모리에서 로드하여 작업을 수행하고 데이터를 다시 메모리에 저장한다.

 이것을 Intel 형 마이크​​로 아키텍처 RISC (Reduced Instruction Set Computer) 형의 마이크로 오퍼레이션 (uOP)로 분해하면 로드 uOP, ALU uOP 저장소 uOP 군에서 최대 4 개의 uOP가 생성된다. 하지만 아웃 오브 오더 실행에서 추적해야 한다. uOP의 수가 많으면 그만큼 CPU의 프론트 엔드가 복잡해져 전력 소비도 증가 할 것이다.

 초대 Atom 인 Bonnell은 CISC 명령어 자체는 분해하지 않고 인오더 형 파이프 라인 쪽을 CISC 명령의 실행에 최적화 했다. 반면 Silvermont는 아웃 오브 오더 실행이기 때문에 파이프 라인이 크게 다르다. 그러나 명령 디코드 단은 Silvermont도 x86을 거의 그대로 내부 명령인 MacroOP로 변환하고 있다고 한다. Bonnell 마찬가지로 로드-ALU-스토어의 경우에도 1 개의 MacroOP로 유지된다.

 로드와 ALU를 융합시킬뿐만 아니라 스토어를 포함한 x86 거의 그대로의 MacroOP로 취급하여 MacroOP의 입도가 커진다. MacroOP 하는 것으로, 명령의 처리를 용이하게하여 CPU를 심플하게 두어 소비 전력을 억제 할 목적이다. Intel의 Core 계의 마이크로 아키텍처의 Fused uOP에 비해 더 많은 작업을 1 MacroOP에 통합한다. Silvermont의 아웃 오브 오더 윈도우 32 항목이 상대적으로 작은 것은 x86에 가까운 MacroOP의 형태로 다루고 있기 때문으로 보인다.

 실제로 Silvermont는 실행 유닛은 로드 / 스토어 및 실행에서 분할되어 있다. 따라서로드 및 실행, 스토어의 Load-Op-Store 형의 경우 MacroOP가 먼저 로딩에 게시된 데이터가 로드된 후 MacroOP가 ALU에 게시되어 ALU를 종료하고 스토어가 발행 될 것으로 보인다. uOP으로 분해되어 발행되는 것으로 간주 할 수도 있지만, 어쨌든 1개의 MacroOP의 운영 끼리는 의존성이 있는 것이 명확하기 때문에 관리가 용이​​하게 된다.

 

Core 계 마이크로 아키텍쳐와의 큰 차이


 Silvermont는 명령 디코드 단계로 뒤에는 MacroOPs 큐가 있다. 이 큐가 실질적으로 루프를 위한 버퍼 "Loop Stream Buffer"가 있다.짧은 루프는 여기에 버퍼한 MacroOPs에서 스케줄러에 발행하는 것으로, 프런트 엔드 전력을 컷 할 수 있게된다. 같은 구조는 Core 계의 마이크로 아키텍처에서도 Nehalem (네할렘) 이후 uOPs 캐시 형태로 갖추고 있다. Silvermont 분은, 루프를 감지하여 MacroOP를 재사용 하는 보다 단순한 구조다. Cortex-A15 역시 디코딩 무대 뒤에 루프 버퍼를 갖추고 있다.

 Intel은 Silvermont에서 이 루프 스트림 버퍼가 강화됐다고 설명했다. Bonnell이 큐부분이 스레드마다 2개의 16 항목으로 나누어져 있었다. Silvermont는 2스레드 분의 항목이 1 스레드에서 사용할 수 있게 된 것으로 보인다.

 이렇게 파이프 라인의 전단만 봐도 Atom과 Core 전략의 차이는 명확하다. Intel은 Atom 계 CPU 코어는 작게 두어 일정한 속도로 확장 Core 시스템 성능형 CPU 코어와 차별화 해 가려고 하고있다. 아래는 Haswell (하스웰) 블록 다이어그램으로 Silvermont와 비교하면 복잡도가 훨씬 높은 것을 알 수 있다. 최대 4명령 디코드(Macro-Fusion이 가능하므로 실제로는 5명령)로 명령 실행 파이프 8. 이렇게 보면 상대적으로 Core 시스템은 CPU 코어를 보다 강력하게 하는 방향으로, 대조적 Atom 계는 다소 얌전하게 확장되어 있는 것을 알 수 있다.

 

Haswell 블록 다이어그램

 

 

 

[정보분석] 태블릿 윈도우 라이센스 재검토 시작 윈텔(Wintel) 제국의 역습

 

 

[분석정보] 컴퓨텍스 Bay Trail-T와 LTE 모뎀을 무기로 모바일 시장에 파는 Intel

 

 

[아키텍처] 저전력 x86 시장에서 AMD의 재규어와 싸울 인텔 실버몬트

 

 

[정보분석] 인텔 22나노 아톰(ATOM) CPU코어 실버몬트(Silvermont) 세부 사항

 

 

 

 

[모바일 뉴스] Intel, 태블릿 / 스마트폰용 'Atom Z2500'시리즈 발표

 

 

[정보분석] Intel의 스마트폰 시장 공략 비장의 카드 "Medfield"

 

 

[정보분석] Atom Z2760을 철저 분석 ~ 모바일 Windows 사용자의 새로운 선택

 

 

[정보분석] IDF에서 보다. Google, Microsoft, Intel의 줄다리기

 

 

[모바일 리뷰] ThinkPad Tablet 2 & ThinkPad X1 Carbon

 

 

 

[정보분석] IDF 2011 Justin Rattner 매니코어 시대가 다가옴 2/2부

 

 

[정보분석] Clover Trail +과 같은 과정을 무기로 전진하는 Intel 스마트 폰 사업

 

 

[정보분석] 아웃 오브 오더 및 최신 프로세스를 채용하는 향후의 Atom



[모바일 리뷰] 삼성 아티브 스마트 PC 500T 아톰기반 윈도우8 태블릿

 

 

[모바일 리뷰] 인텔 클로버 트레일(Atom Z2760) 리뷰 에이서 W510

 

 

[정보분석] 14나노 공정까지 달려가는 인텔 아톰 스마트폰, 타블렛 전략

 

 

[분석정보] ARM버전 Windows로 시작된 x86 대 ARM의 CPU전쟁