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

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

tware 2013. 5. 30. 16:36

 

Bonnell에서 Silvermont으로 내부 구조를 진화


 현재 컴퓨팅 시장 싸움의 초점은 데스크톱이나 노트북 PC 대신 모바일과 서버로 옮겨가고 있다. 그리고 Intel로서는 서버는 지키지만 모바일은 공격한다. ARM 아키텍처가 점유한 시장을 어떻게 공격해 가는가?. Intel의 2세대 Atom 아키텍처인 'Silvermont (실버몬트)'는 이를 위한 중요한 무기이다.

 Silvermont의 특징은 기존의 Atom의 인오더 실행 파이프 라인에서 아웃 오브 오더 실행 파이프 라인으로 변경한 것. Atom은 첫 45nm 프로세스 "Bonnell (본넬)"아키텍처에서 32nm 프로세스 "Saltwell (솔트웰) '까지 마이크로 아키텍처면에서는 그다지 크게 변경되지 않았다. Silvermont는 그것이 일신되어 명령 디코드 폭은 2 명령어 이지만, 실행 파이프 라인이 아웃 오브 오더된다. 이것은 AMD의 저전력 x86 CPU의 Bobcat (밥캣), Jaguar (재규어)와 동일하다.

 이로 인해 CPU 코어의 전체 구조는 크게 바뀌었다. Bonnell / Saltwell과 Silvermont는 모두 x86 명령어를 2명령어 동시 디코딩 아키텍쳐이지만, 명령 디코드까지 프런트 엔드는 비슷하고 그 아래의 실행 파이프의 구성은 크게 다르다. 아래는 두 아키텍처를 비교한 그림에서 왼쪽이 기존의 Bonnell / Saltwell 계, 오른쪽이 새로운 Silvermont로 되어 있다.

 

Bonnell과 Silvermont의 블록 다이어그램


 이러한 차이는 인오더 실행 또는 아웃 오브 오더 실행 여부에 따른다. 기존의 Bonnell 계 아키텍처는 CISC (Complex Instruction Set Computer) 명령의 인오더 실행에 최적화하고 있었기 때문에 로드 - 오퍼레이션 - 스토어 같은 복합 명령을 효율적으로 수행하기 위해 연산 유닛의 앞에 로드 스테이지가 있었다. 위의 그림으로 말해서, 메모리 실행 클러스터를 거쳐 정수 실행 클러스터에 들어가는 구조로 되어 있었다.

 그러나 Silvermont은 로드 / 스토어 유닛은 연산 유닛과 병렬로 정렬, 병렬로 명령 발행 하게 했다. 일반, 아웃 오브 오더 형 프로세서의 배치로 바뀌었다. 인오더의 Bonnell과 아웃 오브 오더의 Silvermont 파이프 라인의 차이를 개념으로 표시하면 아래 그림과 같다.

 

 

 

인오더와 아웃 오브 오더 파이프 라인의 차이

 

 

 

Bonnell과 Silvermont 파이프 라인과 블록 다이어그램


레지스터 파일은 리네이밍 버퍼를 쓰는 방식


 Silvermont에도 Bonnell에도 x86 명령어는 내부 명령인 MacroOP로 디코딩 한다. Bonnell은 MacroOP 그대로 실행 파이프 라인에 보내지지만, 아웃 오브 오더 실행 Silvermont에서 얼로케이트 및 레지스터 리네임 단계로 보내진다. 리 오더 버퍼는 32 앤트리면 상대적으로 적은, 그러나 이것은 내부 명령을 복합형의 MacroOP로 다루고 있기 때문이다.

 레지스터 파일은 아키텍처럴 레지스터 파일과 리네임 버퍼로 나뉜 전통적인 방식을 채택하고 있다. 이 방식의 경우 리네임한 레지스터의 값은 리네임 버퍼에 기록된 명령 실행이 끝난 단계에서 레지스터 파일 옆에 기록된다.

 Intel은 Nehalem까지 이 방식을 채택하고 있었지만, 데이터의 이동이 많아지면서 전력의 낭비가 많다고 해 Sandy Bridge에서 변경했다. Sandy Bridge에서 다수의 물리 레지스터 파일을 준비하고, 그 레지스터 군의 아키텍처럴 레지스터 매핑을 관리하는 것으로, 레지스터 리 네이밍을 행한다.

 Intel이 Silvermont에서 종래 방식을 취한 이유는 리네임 하는 공간이 좁기 때문에 큰 문제가 되지 않는다고 판단했을지도 모른다. 참고로, AMD의 Jaguar는 물리 레지스터 파일로 후자의 방식을 취하고 있는 것으로 보인다.

 또한 기존의 Bonnell / Saltwell은 멀티 스레딩을 위해 아키텍처럴 레지스터 파일을 2 스레드 분 보유하고 있었다. 자원으로는 두 번째 스레드분의 레지스터가 레지스터 버퍼의 일부에 전용 됐다는 견해도 있다.

 이 외에도 Intel 아키텍처는 레지스터를 포함한 아키텍처럴 스테이트를 유지하기 위한 'C6 어레이 "라고 부르는 스테이트 저장용 SRAM 영역을 CPU 코어 내부에 갖추고있다. Bonnell 에서는 10.5KB의 C6 배열을 가지고, 절전 스테이트에서 CPU 코어를 완전히 파워 게이트 한 경우에도 스테이트를 CPU 코어 내부에 보관한다. Silvermont도 C6를 지원하기 위해 이 구조도 계승되고 있다.

 


복잡한 현행 Atom의 SIMD 실행 엔진의 구조


 레지스터 리네이밍 단계가 끝나면 내부 명령은 각 실행 유닛마다 설치된 스케줄러로 전송된다. 개별 레저베이션 스테이션이 있어, Core 계의 마이크로 아키텍처가 채택하고 있는 통합 스케줄러는 있지 않다. 더 간단한 방식이다.

 Silvermont에서는 5 개의 명령 발행 포트가 정수 연산이 2단위, 부동 소수점 / SIMD 연산이 2유닛, 로드 / 스토어가 1 단위로 되어 있다. 이전 기사에서는 Silvermont의 실행 유닛 부분에 약간 실수가 있었으므로 수정하고 있다.(각 회사들이 정확하게 하나하나 외부에 알려주는게 아니기 때문에, 분석에 의한 추측이 들어 갑니다. 그렇기 때문에 세부적으로는 약간씩 틀릴수가 있고, 그런 부분은 이후의 추가 기사에서 바로 잡기도 합니다. 이 기사 말고 다른 기사들도, 그래서 하나만 보는게 아닌 이후의 기사들도 보는게 좋습니다. 어디에서 어떤 기사를 보던지 말이죠.) 구체적으로는 FP 파이프의 SIMD 연산폭 부분에서 명확하게 되어 있지 않기 때문에 뺏다. Atom의 부동 소수점 / SIMD 파이프 라인 구조는 사실 매우 복잡하고 이것이 어떻게 바뀐건지도 Silvermont의 포인트다.

 

Bonnell과 Silvermont 백엔드 블록 다이어그램


 Bonnell 계 마이크로 아키텍쳐에서 특징적이었던 것은 SIMD 곱셈과 SIMD 덧셈의 파이프 라인이 비대칭 인 것. 가산 유닛 (ADD)이 128-bit SIMD인데, 곱셈 유닛 (MUL)는 64-bit SIMD로 동등한 성능은 없었다. Intel 기반 아키텍처 상으로, 곱셈과 덧셈 다른 파이프로 나눌 수 있다.

 정확하게는 좀 더 복잡하다. 먼저 Bonnell 아키텍처는 SIMD 곱셈 유닛(MUL)은 부동 소수점을 정수 연산도 모두 64-bit 폭의 SIMD가 되​​고 있다. 따라서 128 - bit 폭의 SSE SIMD 명령어는 더블 범프로 실행한다. 배정밀도 (DP)의 SIMD 연산에서는 더 처리량이 떨어진다.

 반면 가산 유닛 (ADD)는 단정밀도 (SP) 부동 소수점 연산과 정수 연산에서는 전체 128-bit 폭이되고 있다. 1 사이클 throughput으로 128 - bit의 SIMD 단정도 및 정수의 덧셈 자체는 실행할 수 있다. 그러나 배정밀도 부동 소수점 연산시에는 SIMD 덧셈 유닛은 64-bit 폭으로 128 - bit SIMD 배정밀도 (2x64-bit)는 더블 범프로 실행한다. Intel은 Atom 발표시의 아키텍처 설명회에서 이같이 설명했다.

 복잡한 것 같지만, 간단히 말하면 기존의 Atom은 가산은 빠르지만 곱셈은 늦게, 단정밀도는 그럭저럭 이지만 배정밀도가 특히 느린 구조로 되어 있었다. 배정밀도 연산 속도가 느린 것은 유명하고, 이 기준은 Atom의 약점으로 있었다. 첫번째 Atom에서는 보다 복잡한 곱셈 유닛을 단순화하여 실행 유닛의 다이(반도체 본체)영역을 작게 한 것으로 보인다.

 반면 Silvermont에서는 Intel은 실행 유닛 군은 완전히 재 설계하고 성능을 향상 시켰다고 설명하고 있다. Atom에서 문제가 된 곱셈계의 명령실행 지연시간 및 처리량도 포함 된 것이다. 그러나 AMD의 Jaguar처럼 완전히 곱셈과 덧셈 모두 128-bit 파이프에 재구성되어 있다면 그 점을 강조하는 것이지만, Intel은 그렇게 하지 ​​않는다.

 

Jaguar의 블록 다이어그램


 기존의 Bonnell 계의 아키텍처는 L1 데이터 캐시가 24KB였다. 24KB라는 어중간한 용량이 된 이유의 하나는 L1 데이터 캐시 액세스를 높은 클럭시에도 2사이클로 유지하기 위해서다. Bonnell은 CISC (Complex Instruction Set Computer)에 최적화 된 Load-Op 형의 파이프 라인이므로, 실행단계 전에 L1 데이터 캐시 스테이지군이 끼워진다. 따라서 L1 데이터 캐시 액세스를 짧은 대기 시간으로 고정 필요가 있다.

 Silvermont는 아웃 오브 오더 실행되고 파이프 라인의 구조가 완전히 바뀌었음 에도 불구하고, L1 데이터 캐시의 크기는 그대로 두고 있는 것 같다. 여전히 캐시 액세스 지연 중시임을 알 수 있다.

 

 

 

Bonnell과 Silvermont 파이프 라인

 


짧아 진 Silvermont 파이프 라인


 인오더 실행에서 아웃 오브 오더 실행에 바뀐 것으로, Silvermont는 파이프 라인도 바뀌었다. 실행 단계 사이에 L1 데이터 캐시 액세스가 없어진 것으로, 파이프라인 스테이지가 약간 짧아졌다. 정수 연산에서는 Bonnell 계가 16 스테이지, 이에 비해 Silvermont는 14 스테이지다.

 또한 잘못된 분기 예측시 패널티 사이클도 짧아졌다. Bonnell이 13주기 미스 프레딕션 지연인데 비해 Silvermont 에서는 10주기가 되었다. 그만큼 분기 예측을 실수했을 때의 손실이 줄어들고 그만큼 성능은 좋아지고 동시에 전력을 억제할 수 있게 되었다.

 Silvermont는 기존의 Atom보다 파이프 라인이 짧아졌다고는 해도 각 단계의 분리가 바뀐 것은 아니다. 따라서 스테이지마다 지연에 따른 행동 수의 상한이 크게 바뀌는 것은 아니다.

 Silvermont 파이프라인을 같은 저전력 x86인 AMD의 Jaguar와 비교하면 디코딩 단계의 차이가 눈에 띈다. Jaguar는 명령디코드는 명령어 인출과 오버랩하는 단계에서 시작 6단계로 되어 있다. Bobcat에서 명령 디코드가 1스테이지 늘었다. 디코딩 관계의 부분만 보면 AMD 쪽이 배의 스테이지 수로 보인다. 잘못된 분기 예측 파이프 라인 지연 시간도 14주기면 길다.

 

Jaguar의 파이프 라인


 이러한 차이에는 이유가 있다. Intel은 Atom 계에서는 L1 명령 캐시에 필 단계에서 프리 디코딩을 하고 있다. Silvermont에서도 이 구조는 이어지고 있는 것으로 보인다.

 따라서 캐시 앞의 프리 디코딩 단계군은 파이프 라인에 포함되지 않는다. x86/x64 시스템 명령은 명령 길이의 편차가 매우 많기 때문에 명령을 자르는 작업 자체에 시간이 걸린다. 프리 디코딩이 작업을 끝내 준다면 Silvermont 파이프 라인은 그만큼 짧아진다. L1 명령어 캐시가 히트하는 한 파이프 라인의 짧음은 유지된다. 그러나 Atom 접근에도 상반되는 것이 있다. L1의 명령 프리 페치의 실수가 있으면 명령 프리 디코드만큼 대기 시간이 늘어 프리 디코딩 전력 소비도 늘어난다. 이는 분기 예측의 정확도도 관련하고 있다.

 Intel은 Silvermont을 기반으로 한 SoC (System on a Chip) 제품을 올해 (2013 년)후반부터 투입하기 시작한다. 스마트폰의 'Merrifield (메리필드) "모바일 기기용의"Baytrail (베이트레일), "서버용"Avoton "통신 기기 용의"Rangeley "등으로 임베디드도 마련된다.

 

 

 

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

 

 

[정보분석] 인텔 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나노 공정까지 달려가는 인텔 아톰 스마트폰, 타블렛 전략