'SMT'에 해당되는 글 2건

  1. 2017.07.23 AMD 젠 아키텍처 분석 (프론트엔드, OP캐시, SMT, CCX 등) by 랩터 인터내셔널
  2. 2016.04.23 인텔 네할렘 아키텍처, 로드맵 분석 (SMT,터보부스트) by 랩터 인터내셔널


불도저 아키텍처 발표 이후 6년이 지난 2017년 3월, AMD는 마침내 새로운 시대의 서막을 알리는「 젠 마이크로 아키텍처(Zen Microarchitecture) 」를 발표했다. 이는 6년간 프로세서 시장을 사실상 독점한 인텔과 다시 한번 경쟁할 수 있는 기반이 마련된 것으로써 AMD의 강력한 "Sweet Spot" 될 가능성이 있는 젠 아키텍처를 세부적으로 살펴보도록 한다.


- 선행 구독

인텔 네할렘 아키텍처 분석

http://raptor-hw.net/xe/index.php?mid=rapter_analysis&page=2&document_srl=108899

인텔 샌디브릿지 아키텍처 분석

http://raptor-hw.net/xe/index.php?mid=rapter_analysis&page=2&document_srl=109029

AMD 불도저 아키텍처 분석

http://raptor-hw.net/xe/index.php?mid=rapter_analysis&page=2&document_srl=109017

GPU 시장 분석) GPGPU 페르미 아키텍처 분석

http://raptor-hw.net/xe/index.php?mid=rapter_analysis&page=2&document_srl=109109  

반도체 아키텍처 분석) x86, HSA, HBM, TSV, 3D V-NAND

http://raptor-hw.net/xe/rapter_analysis/109695



먼저 젠 아키텍처의 프론트 엔드 스테이지 전반은 많은 변화가 진행되고 있다. 눈에 띄는 점은 완전히 재설계 된 SIMD 파이프 라인과 부동 소수점 유닛 부문이다. SIMD(Single Instruction, Multiple Data) 유닛과 부동 소수점 유닛은 128bit SIMD의 MUL/FMAD와 128bit SIMD의 ADD 유닛이 2세트로 총 4유닛이다. 128bit MUL/ADD가 2유닛, FMAD 2유닛으로 사이클당 최대 4명령 발행이 가능하며 디스패치는 최대 4마이크로 오퍼레이션이다. 명령 디코더는 사이클당 4명령을 내부 마이크로 오퍼레이션/OP 캐시에 디코드하며 스케줄러에서 정수와 부동 소수점 연산계로 나누어 연산한다. 캐시는 64KB의 L1 명령 캐시와 32KB L1 데이터 캐시, 512KB L2 캐시와 코어간 공유하는 8MB L3 캐시, 명령 디코더의 하단에 새롭게 추가된 OP 캐시를 갖춘다. 캐시 대역은 L1 명령 캐시가 32byte(256bit)/사이클, L1 데이터 캐시에서 2개의 16byte(128bit) 로드와 하나의 16byte(128bit) 스토어를 병렬로 실행할 수 있으며 L2 대역은 L1 명령 캐시/L1 데이터 캐시가 각각 32byte(256bit)/사이클이며 L3 - L2 구간도 32byte(256bit)/사이클.


마이크로 오퍼레이션(OP) : 명령 포맷이 복잡하고 가변 길이 형태인 x86 명령과 달리 명령 포맷이 단순한 고정 길이/고정 포맷형태로써 RISC와 같이 비교적 간단하게 실행



4개의 정수 연산 유닛은 일반적으로는 같은 기능을 갖지만 Multiply, Divide, CRC32 3가지 기능은 1유닛씩 각각 다른 정수 파이프에 할당되어 있다. 이것은 하나의 ALU만이 Multiply가 가능하고 다른 하나의 ALU가 Divide, 또 다른 하나의 ALU가 CRC32를 처리할 수 있는 것이며 그 외의 일반적인 연산은 4개 ALU가 모두 동일하다. 또한 물리 레지스터 파일은 통합된 하나의 168엔트리 구조로 변경되고 있다. 불도저가 스레드당 96엔트리, 2개의 유닛이 총 192엔트리로 많아 보이지만 불도저는 정수 유닛이 물리적으로 분리되어 있기 때문에 차별성이 있다. 정수 스케줄러는 6개의 명령 포트로 각각 14단 큐에서 합계 84엔트리, 불도저는 각 스레드마다 40엔트리로 2개의 정수 코어, 합계 80엔트리로 젠 아키텍처의 스케줄링은 불도저보다 깊다.



정수 파이프는 2개의 ALU 파이프가 각각 개별적인 브랜치 유닛과 접속하고 있다. 2개 분기는 같은 스레드에 속하는 분기 명령이나 다른 스레드에 속하는 분기 명령이라도 모두 실행이 가능한 2분기/사이클이다. 2병렬 브랜치 유닛은 2스레드일 경우 각각의 브랜치 명령을 동시에 실행할 수 있고, 1스레드 중 복수의 브랜치 명령도 1주기로 실행하여 더 많은 브랜치를 1사이클에 처리할 수 있기 때문에 연속 코드의 실행 효율이 향상되고 있다.


젠 아키텍처도 브랜치 퓨전(Branch Fusion)을 도입하고 있다. 이것은 비교형 명령과 점프 명령을 융합시키는 것으로써 2개의 명령은 디스패치 단계에서 하나의 마이크로 오퍼레이션으로 융합되고 융합된 브랜치 퓨전 마이크로 오퍼레이션은 하나의 마이크로 오퍼레이션으로 리타이어(Retire)까지 다룬다. 실행시에도 2개의 마이크로 오퍼레이션으로 분리되지 않는다.



디스패치 유닛은 최대 6마이크로 오퍼레이션을 1사이클에 발행한다. 이것은 In-Order 에서 Out-of-Order 로 사이클당 최대 6마이크로 오퍼레이션으로 보내는 것이며 제어 할 수 있는 총 마이크로 오퍼레이션의 수는 192개다.(불도저 128개) Out-of-Order 가 발행한 6마이크로 오퍼레이션을 8마이크로 오퍼레이션을 수용하는 리타이어 큐가 최대한 빠르게 리타이어 시키는 구조.


기존 불도저 아키텍처는 모듈 내에 정수 코어가 물리적으로 2개로 분리되어 병렬 스레드로 처리했다. 이 설계의 이점은 각 모듈(코어)가 정수 유닛 자원을 경쟁없이 원할하게 2개의 병렬로 실행하여 멀티스레드 성능 향상을 도모할 수 있으나 반대로 물리적인 강제 분리에 따라 싱글 스레드 성능이 낮아지기 때문에 불도저의 싱글 스레드 성능은 경쟁사 대비 처참했다. 그에 따라 AMD는 젠 아키텍처에 보다 전통적인 SMT(Simultaneous Multithreading) 기술을 도입하여 대부분의 자원을 스레드에서 공유하는 다중 스레드 설계로 전환했다. 젠 아키텍처의 정수 연산은 4파이프, 로드/스토어 주소 생성이 2파이프로써 불도저 대비 2배 상승한 스레드당 정수 연산 병렬성을 나타내고 있다.



부동 소수점 연산 파이프는 MUL/ADD가 각각 2개지만 실제로는 MUL 파이프에 ADD 유닛이 포함되어 있고, FMAD 유닛으로 실행된다. 이론적으로는 FMAD에서 MUL/ADD 파이프를 동시에 움직일 수 있지만 실제로는 레지스터 파일의 리드 포트 제약 때문에 MUL/ADD는 동시에 진행할 수 없다. 4개의 SIMD 파이프 라인과 부동 소수점 유닛은 각각 2개의 레지스터 리드 포트를 갖추며 1사이클에 각 유닛에서 2개 소스의 오퍼랜드(Operand) 리드가 가능하다. MUL/FMAD는 3개의 소스 오퍼랜드가 필요하다. 레지스터 파일에서 읽을 경우 리드 포트가 부족하기 때문에 약간의 트릭을 사용하고 있다. MUL/FMAD는 ADD 파이프에서 레지스터 파일의 리드 포트를 하나 차용하고 있다. MUL/FMAD는 ADD 유닛은 사용하지 않기 때문에 ADD 유닛 자체가 비어 ADD는 스케줄러가 차단한다. 이것은 MUL/FMAD 유닛과 ADD 유닛 자체는 분리되어 있지만 레지스터 리드 포트 수가 한정되어 있기 때문에 두 가지를 동시에 실행 수 없는 것이며 FP 레지스터 파일 전체는 128bit 리드 포트가 각 유닛에 2개씩 총 8포트로 구성되고 있다.


부동 소수점 유닛의 마이크로 오퍼레이션 큐 사인은 NSQ(Non-Scheduling Queue)와 스케줄 큐(Scheduler Queue) 2단계로 진행된다. 스케줄러 큐는 각 실행 유닛에 대한 마이크로 오퍼레이션을 발행할 때까지 대기시킨 스케줄링한 큐를 말하며 Out-of-Order 의 일반적인 스케줄이다. 반면 전단부에 추가된 NSQ는 단순한 마이크로 오퍼레이션의 버퍼로 볼 수 있지만 NSQ에 FP 마이크로 오퍼레이션이 대기하고 있는 동안 정수 유닛 쪽에 발행된 다른 마이크로 오퍼레이션이 실행된다. 상대적으로 레이턴시가 긴 마이크로 오퍼레이션이 실행 되는 사이 FP 마이크로 오퍼레이션은 NSQ에서 스케줄 큐로 옮겨지며 이후 FP 마이크로 오퍼레이션이 연산 파이프에서 처리되는 시점에는 오퍼랜드의 데이터가 레지스터에 로딩되어 있다.


이러한 2단계 큐로 구성함으로써 스케줄링의 자원을 절약하고 있다. 큐잉의 전반은 자원 체크 등의 스케줄링을 하지 않아 로드 레이턴시를 은폐하기 때문에 마이크로 오퍼레이션을 완충할 수 있다. 이것에 의해 스케줄링의 자원을 억제하며 큐잉을 효율적으로 할 수 진행할 수 있기 때문에 정수/부동 소수점 연산 큐잉의 균형을 잡을 수 있다.
 
또한 젠 아키텍처는 AVX2의 256bit SIMD 명령을 지원한다. 256bit 명령은 2개의 피스로 분리하여 각각 독립적으로 실행한다. 128bit의 연산 유닛을 2개 결합시켜 실행하는 형태가 아니며 2개의 128bit 운영은 완전히 독립된 마이크로 오퍼레이션으로써 2개의 마이크로 오퍼레이션을 Out-of-Order 에서 실행할 수도 있다. 즉 256bit AVX 명령은 디스패치 스테이지에서 세분화 된 마이크로 오퍼레이션으로 분리되고 개별적인 128bit 마이크로 오퍼레이션으로 진행되며 레지스터도 각각 128bit 레지스터를 사용하는 것.



프론트 엔드 스테이지에는 최대 특징 중 하나로 디코딩한 내부 명령인 Micro-OP(마이크로 오퍼레이션)을 캐시하는 OP 캐시가 추가되고 있다. x86 프로세서의 강력함은 x86 명령에 있지만 복잡하고 장기간에 걸쳐 확장이 진행된 x86 명령 디코딩 자체가 프로세서를 짓누르는 전력 소모의 근원이자 퍼포먼스에 직결되는 부문이기 때문에 x86 CPU의 성능을 결정짓는 핵심적인 요소가 되고 있다. 과거 인텔은 이러한 문제를 해결하기 위해 샌디브릿지 아키텍처에 uOP 캐시(uOP Cache)를 도입했다. 인텔의 uOP 캐시는 트레이스(추적)을 생성하지 않고, L1 명령 캐시와 같이 주소 기준으로 확인하는 16byte 명령 페치 라인을 2개 연결하여 32byte의 마이크로 오퍼레이션을 uOP 캐시 라인에 격납하는 형태다. 인텔의 uOP와 같이 AMD 젠의 OP 캐시는 비슷한 맥락으로 보이지만 트레이스 캐시적인 구조는 아닌 것으로 보이며 L1 명령 캐시와 OP 캐시는 분리된 캐시로써 OP 캐시는 전용 캐시 태그를 갖추며 마이크로 태그(Micro-tags)로 L1 명령 캐시 및 OP 캐시 중 히트한 방향을 확인한다.


일반적인 x86 프로세서의 마이크로 오퍼레이션은 명령 디코딩시 CISC(Complex Instruction Set Computer)의 복합 명령을 내부적으로 RISC(Reduced Instruction Set Computer)형태와 같은 단순 분리된 마이크로 오퍼레이션 명령으로 변환하여 실행한다. 그러나 현행의 x86 프로세서는 CISC의 복합 명령을 어느 정도 유지한 채 In-Order 구간에서 전체적으로 핸들링하여 실제로 처리가 진행되는 Out-of-Order 구간에서 단순한 마이크로 오퍼레이션으로 변환되고 있다. 젠 아키텍처의 명령 디코딩은 복합 마이크로 오퍼레이션 Macro-OP, 단순 분리된 마이크로 오퍼레이션의 2단계 구성이다. 이러한 2단계 구성은 x86, x64 명령을 1:1 고밀도 마이크로 오퍼레이션으로 변환하는 형태이며 젠 아키텍처의 명령 디코더는 디스패치까지 전체적으로 확장되는 형태로 보인다. 주로 명령 디코더가 디코딩을 진행 하지만 어느 정도의 디코딩은 마이크로 오퍼레이션 큐의 후단에도 발생한다. 여기서 OP 캐시가 적용됐기 때문에 마이크로 오퍼레이션 큐에 저장된 OP는 상당히 고밀도이며 그것이 처리되는 단계에서는 보다 전통적인 마이크로 오퍼레이션으로 전개된다. 
 

젠 아키텍처는 인텔의 uOP 캐시와 흡사한 OP 캐시를 도입했지만 명령 디코딩의 플로우는 인텔과 다르다. 이전 불도저 아키텍처의 명령 디코딩은 하나의 OP로 변환되는 패스트 패스 싱글(Fast Path Single), 2개의 OP로 변환되는 패스트 패스 더블(Fast Path Double), 그 이상의 OP로 변환되는 마이크로 코드(Microcode) 3가지 디코딩 타입이 적용됐으나 젠 아키텍처는 명령 디코더에서 명령 바운드리을 검색하여 x86, x64 명령을 분리하고, 마이크로 오퍼레이션으로 변환한 뒤 마이크로 오퍼레이션 큐로 전송한다. 이때의 마이크로 오퍼레이션은 매우 고밀도로써 AMD가 패스트 패스 더블이라고 부르는 명령도 하나의 고밀도 마이크로 오퍼레이션이 되고 있기 때문에 처리 스테이지까지 그대로인 형태다.



이것은 기존 불도저 아키텍처의 패스트 패스 더블 형태를 젠 아키텍처는 x86 명령을 분리하지 않고, 하나의 내부 명령으로 매핑하는 고밀도 마이크로 오퍼레이션으로 처리한다는 것을 의미한다. 불도저 아키텍처는 매우 복잡한 x86 명령은 마이크로 코드 ROM에서 마이크로 오퍼레이션으로 전개하며 2개까지의 마이크로 오퍼레이션으로 변환되는 명령은 일반적인 병렬 디코더, 3개 이상의 마이크로 오퍼레이션으로 변환되는 명령은 마이크로 코드 순으로 이어지며 디코딩 단계에서 마이크로 코드 엔진에서 3개 이상의 마이크로 오퍼레이션으로 변환된다.


여기서 젠 아키텍처는 복잡한 구간을 마이크로 코드 ROM 주소를 저장한 뒤 고밀도 마이크로 오퍼레이션으로 변환하고, 마이크로 오퍼레이션 큐에 기록한다. 마이크로 코드 ROM의 마이크로 오퍼레이션은 큐에는 저장되지 않지만 마이크로 코드 ROM의 주소를 매핑하여 고밀도 마이크로 오퍼레이션을 마지막 단계까지 전개하지 않고, ROM이 필요한 마이크로 오퍼레이션은 디스패치의 타이밍에 맞게 설정된 Kicking Sequence에서 마이크로 코드 ROM으로 보낸다.


AMD는 불도저 아키텍처에서 비교형 명령과 점프 명령을 융합시킨 브랜치 퓨전을 도입했다. 이는 연계성이 있는 2개의 명령을 조합하여 하나의 마이크로 오퍼레이션으로 하나의 실행 파이프에서 실행한다. 명령 수를 줄인다는 의미에서는 최초 명령 디코더 단계부터 퓨전을 하는 것이 효율적으로 보이지만 젠 아키텍처는 처리 단계에서 퓨전을 진행하고 있다. 디코더에서 연계성이 있는 2개의 마이크로 오퍼레이션이 처리 단계에서 하나의 마이크로 오퍼레이션으로 퓨전되는 것으로 처리 단계에서 디스패치는 6개의 마이크로 오퍼레이션을 상한으로 퓨전하여 하나로 만든다.


따라서 젠 아키텍처의 명령 디코딩 스테이지는 x86 명령을 CISC적인 특성을 어느 정도 유치한 채 고밀도 마이크로 오퍼레이션으로 분리하고 정리한다. 이후 마이크로 오퍼레이션을 저장한 OP 캐시를 OP 큐가 취급하고 Out-of-Order 단계에서 한번에 마이크로 오퍼레이션으로 전개하며 이것은 처리 후단에서 진행하는 것으로 보인다. 복합 명령을 1:1로 하나의 고밀도 마이크로 오퍼레이션으로 변환하는 형태로써 일정량으로 정해져있는 작은 OP 캐시에 최대한의 마이크로 오퍼레이션을 저장할 수 있는 최적화를 도모하고 있는 것으로써 젠 아키텍처의 전체적인 명령 디코딩 플로우는 새롭게 도입된 OP 캐시에 초점을 맞춰 설계했다고 볼 수 있다.



젠 아키텍처는 새로운 뉴럴 네트워크 분기 예측 기술이 탑재되고 있다. 이 기술은 소니 플레이스테이션과 같은 콘솔 시장을 타겟으로 하는 AMD의 기존 재규어(Jaguar)에도 탑재되고 있는 기술이지만 AMD는 이에 대한 세부적인 알고리즘을 공개하지 않았다. 분기 예측은 말 그대로 분기를 예측하는 것으로써 정확도가 높을수록 파이프 라인은 손실을 줄이고 효율적인 처리가 가능하기 때문에 전력 효율 감소로 이어지는 중요할 기술이다. 젠 아키텍처의 Branch Target Buffer(BTB)는 L1명령 캐시와 통합된 연관성이 있으며 1엔트리에 2브랜치를 1사이클에 예측, 브랜치 히스토리 테이블(Branch History Table)의 사이즈를 2배로 증가시켰다는 점만 확인할 수 있다. 



전체적인 코어 디자인은 새로운 CCX(Core Complex)로 설계되고 있다. CCX는 4개의 물리 코어가 하나의 집단(1CCX)을 이루는 형태로 각각의 코어는 8MB L3 캐시를 공유한다. 캐시 계층은 L3 캐시가 L2에 대한 익스클러시브 방식으로 L2 캐시 데이터는 L3 캐시에 존재하지 않고, 캐시 스누프에서 L3가 미스한 경우 각 CPU 코어의 L2 캐시도 스누프한다. 또한 스누프 트래픽을 경감하기 위한 L2 캐시 태그의 사본을 L3에 저장한다.


CCX는 회로 설계도 강화되고 있다. 디지털 LDO(Low Drop-Out)에 의한 전압 제어는 VRM에서 CPU 코어의 가장 높은 VID로 입력된 코어 전압인 RVDD를 각 코어별로 VDD에 흡수하여 부하에 맞춰 최적의 전압과 주파수로 조정하며 1300개 이상의 크리티컬 패스 모니터와 파워 서플라이 모니터, 서멀 다이오드, 루프 디텍더 등을 배치하여 전압의 변동이나 다이 온도 상승, 크리티컬 패스의 딜레이 등을 세부적으로 확인하여 최적의 동작 주파수를 검증하고, AVFS(Adaptive Frequency and Voltage Scaling)는 보다 디테일 한 25MHz 단위로 주파수를 조정, 구동 전압도 각 코어 단위로 개별적으로 제어하며 전압 제어를 위해 배선층에 다수의 MIMCap를 심고 있다. 이 기술들은 젠 아키텍처의 XFR(Xtended Frequency Range) 기술로 이어져 프로세서의 쿨링 상황에 따라 보장된 터보 클럭 이상의 클럭으로 동작하는 기능도 제공한다.




젠 아키텍처는 이러한 CCX가 2개로 구성된 2CCX 설계로 각각의 CCX는 새로운 인터커넥트 기술인 인피니티 패브릭(Infinity Fabric)으로 연결된다. 인피니티 패브릭은 데이터 전송을 위한 Infinity Scalable Data Fabric(SDF)와 제어 신호를 전달하는 Infinity Scalable Control Fabric(SCF)의 2계통으로써 의미대로 SDF가 데이터 제어, SCF가 앞서 설명한 다양한 CCX 내부 센서 외 클럭, 전원, 초기화, 보안 등의 다양한 제어 신호를 총괄한다. AMD는 인피니피 패브릭을 젠 아키텍처 뿐 만 아니라 향후 개발되는 프로세서, GPU, 서버, 모바일 등의 제품군에 공통으로 사용한다고 밝혔다. 이것은 새로운 제품 개발에 각각 별도의 인터커넥트 기술을 개발하지 않고, 일관된 IP를 사용함으로써 제품 개발에 소요되는 시간과 노력, 비용 등을 절감하기 위함이다.

  


지금까지 살펴 본 AMD의 젠 마이크로 아키텍처는 불도저 아키텍처와 달리 근본부터 재설계한 완전히 새로운 아키텍처임을 다시 한번 확인할 수 있었다. 전체적인 아키텍처 디자인은 AMD 만의 차별성도 있으나 인텔 아키텍처를 닮아가고 있는 인상을 주고 있으며  그에 따른 퍼포먼스는 이전 프로세서 대비 40% 향상된 IPC로 인텔의 턱밑까지 추격하는데 성공하여 소비자들에게 다양한 시스템을 구성할 수 있는 선택의 폭을 넓혀주고 있다.


AMD 젠 아키텍처 성능 - http://raptor-hw.net/xe/benchmark

반응형
Posted by 랩터 인터내셔널


 
2008년 11월, 인텔은 CORE i7 (네할렘)을 공식 발표하며 마이크로 프로세서 시장의 선두적 기술리더임을 다시 한번 입증시켰다. AMD가 뒤늦게 45나노 프로세스로 이전하고, 단계적으로 클럭을 상승시킨 모델을 투입하여 인텔의 요크필드 상위 라인업까지 격차를 좁히는데 성공을 거두고 있을 무렵 등장한 네할렘은 다시 한번 다윗과 골리앗의 관계임을 확인시켜 주었고, 세상에 얼굴을 내민 네할렘은 말그대로 프로세서 시장의 절대적인 '골리앗' 이였다.

 

 

인텔은 2006년 코어 마이크로 아키텍쳐의 발표화 함께 틱톡 정책을 제시한 바 있다. 이것은 한해에는 한단계 진보된 제조 프로세스로 이전하고, 한해에는 새로운 아키텍쳐를 도입하여, 신공정과 신아키텍쳐의 순환적인 개발 방식 모델을 뜻하는 것으로, 인텔은 틱톡정책대로 2008년에 네할렘을 내놓음으로써 자신들의 정책을 지켜나가고 있다.

 

 

인텔의 틱톡정책에 따라 2009년 말에는 한단계 제조 공정이 이전된 32나노 웨스트미어가 선보이고 2010년에는 새로운 아키텍쳐 샌디브릿지가 투입되야 하지만 샌디브릿지는 인텔의 발표에 의하면 2011년으로 미루어졌기 때문에 2010년은 CORE I7/I5/I3가 공존하고, 2분기에 6코어 걸프타운(가칭 core i9)이 추가로 투입되어 샌디브릿지의 출시 이전까지 라인업될 전망되며, 발표시기는 언제든지 변경될수 있기때문에 샌디브릿지의 출시시기는 시간을 두고 좀 더 지켜봐야 될것으로 보인다. 


2010년 2분기에 출시될 예정인 6코어 걸프타운은 32나노 프로세스로 설계, L3캐쉬가 12mb로 증가하고 물리적인 6개의 코어에 SMT 기술이 탑재되어 총 12스레드의 막강한 퍼포먼스를 나타낼것으로 전망되는 모델이다. 걸프타운은 현재의 core i7의 소켓 1366 / x58 인터페이스에 호환될 예정이기 때문에 블룸필드 플랫폼 사용자에게 좀더 유연한 확장성을 제공한다.  


인텔의 걸프타운 출시로 유추할수 있는 사실은 현재의 코어 i7의 1366 플랫폼은 최상위 하이엔드 플랫폼으로 구분짓고 린필드 플랫폼과의 갭을 유지하여 라인업을 명확하게 구분 지으려는 의도를 확인할수 있다는 점이다. 아직까지 걸프타운의 브랜드 페밀리가 i7으로 포함될지 새로운 i9으로 분류될지는 인텔의 정확한 발표가 없었기 때문에 좀더 시간이 지나고 정확한 정보를 확인할수 있을 것으로 보인다.

 
 

네할렘 아키텍쳐는 기존의 코어 마이크로 아키텍쳐에서 완전히 쇄신된 아키텍쳐가 아니다. 코어 마이크로 아키텍쳐의 핵심 연산유닛은 계승되어 좀 더 개선됐고, 메모리 컨트롤러나 QPI 등 몇가지 새로운 기술이 융합되어 재탄생된 아키텍쳐로 볼수 있는데 업계에서는 이부분을 두고 새로운 아키텍쳐로 볼것인지 확장된 아키텍쳐로 볼것인지 의사가 나뉘고 있지만 결국적으로는 AMD의 K8에서 K10으로의 확장보다는 그 개선된 기술들이 다양하고 성능 향상 폭이 크지만, 핵심 유닛은 유지되고 있기 때문에 동일한 맥락으로 코어마이크로 아키텍쳐의 확장판으로 보는 것이 맞을 것이라 생각된다.

 

 

일반적으로 제조공정 레벨이 높아질수록 공정 미세화에 따라 동일한 다이사이즈에 더많은 트랜지스터를 집적할수 있고, 이에 따른 상대적인 고클럭화가 가능하며 클럭당 소비전력이나 발열적인 부분이 개선된다. 인텔의 이전 넷버스트 아키텍쳐에 사용된 실리콘 다이옥사이드 소재는 회로의 두께를 줄일수록 누설전류가 많아지는 문제가 있었다. 이의 산물이 바로 90나노로 생산된 프레스캇이다. 프레스캇은 당시 상당한 전력소모와 심각한 발열문제로 프레스핫이라는 별명까지 얻었을 정도였고, 65나노의 시더밀에서는 좀더 개선되기는 했으나 같은 맥락의 문제를 갖고 있었다.  


그러나 동일한 소재의 65나노로 제작된 인텔의 코어 마이크로 아키텍쳐(콘로)는 기존 넷버스트 아키텍쳐를 계승하지 않고, 아키텍쳐 자체가 쇄신되었기 때문에 전력효율과 발열적인 문제를 아키텍쳐 자체에서 해결했다. 하지만 인텔은 코어 마이크로 아키텍쳐의 고클럭 모델을 생산하는데 있어 벽에 부딪히게 된다. 따라서 인텔은 45나노 펜린으로 이전하며 미세공정에 따라 전력효율과 고클럭을 달성하기 위해 새로운 hi-k 메탈게이트를 도입한다. hi-k 메탈게이트는 절연체 자체가 두껍기 때문에 회로가 얇아져도 누설전류를 최소화 할수 있었다. 


네할렘 또한 hi-k 메탈게이트가 적용됐고, 인텔은 32나노 프로세스까지 hi-k 메탈게이트로 이행할 계획을 갖고 있다. 올해 말에 선보일 32나노 웨스트미어는 개선된 2세대 high-k 메탈게이트 트랜지스터 기술과 새로운 액침 리소그래피 기술이 도입되어 현재의 45나노 프로세서보다 22% 정도 성능이 향상될 것이라고 전해지고 있다.

 
 

인텔의 기존 프로세서 플랫폼은 메인보드의 노스브릿지 칩에 메모리 컨트롤러가 탑재되어 CPU와 노스브릿지, 시스템 메모리 간의 데이터 순환으로 노스브릿지라는 한번의 중계적 위치를 통과함에 따라 데이터의 병목현상을 갖을수 밖에 없었다. 그러나 네할렘은 이러한 문제점을 개선하기 위해 프로세서에 자체에 메모리 컨트롤러를 탑재해 CPU와 시스템 메모리 구간을 다이렉트 링크로 개선하고 CPU와 칩셋, CPU와 시스템 메모리 구간을 고속, 고효율 패킷 기반의 점대점(point-to-point) 상호접속 연결 버스인 QPI (QuickPath Interconnect) 로 연결했다.

 

보안 문제로 관리자 아이디로는 embed를 볼 수 없습니다. 확인하려면 다른 아이디로 접속하세요

 

 

QuickPath Interconnect (QPI)


QPI는 각 버스 방향당 16비트 데이터의 폭의 UP/DOWN 2개의 단방향 20비트 점대점 링크로 구성되어 있으며, 독립된 클럭신호가 있다. 각 핀들은 차동(Differential Pair)신호로서 총 핀수는 84개. 전송속도는 4.8GT/s - 6.4GT/s로 플랫폼에 따라 다양하다. 따라서 대역폭은 단위 링크당 최대 25.6GB/s 가 된다. 고성능이 요구되는 서버에서는 Reliability, Availability, Serviceability 기능을 겸비하고 있다. 20+1개의 신호중 하나 또는 그 이상의 신호가 문제가 생기면 15+1 또는 10+1, 5+1로 전송이 가능하며 클럭 신호에서도 문제가 생기면 이 문제된 클럭 신호를 데이터 신호에 재 할당하여 데이터 전송이 가능하다. 또한 데이터 전송 오류를 줄이기 위한 4개의 순환 중복 검사(CRC)핀이 있어 데이터를 정확히 전송할 뿐만 아니라 데이터 전송 패킷내에 오류 확인을 위한 부분을 따로 둘 필요가 없기 때문에 전체 패킷크기를 줄일 수 있다.

 

 

QPI는 기존 FSB 체계의 12.8GB/s의 대역폭보다 2배로 향상된 25.6GB/s의 대역폭을 실현하여 보다 고도의 데이터 프로세싱 능력을 실현했다. 따라서 기존 MCH의 핵심 담당부분이였던 메모리 컨트롤이 CPU로 이전되면서 MCH는 I/O와 PCI-E 부분만 담당하여 IOH로 변경되고 CPU와 IOH는 QPI로 연결했다. 메모리 컨트롤러의 탑재와 QPI버스의 도입은 네할렘의 혁신적인 퍼포먼스 향상에 가장 크게 일조한 기술이라고 볼수 있다.

 

 

CPU는 전원이 인가되고 O/S 환경에 진입하여 사용자에 의해 특정 프로그램이 실행됨에 따라 코어가 동작한다. 이때 항상 물리적인 4개의 코어가 100% 동작하지는 않는데 지금까지의 멀티코어는 프로그램 구동시 동작하지 않는 코어에도 전력이 공급 되어 불필요한 전력소모가 이루어졌다.  


네할렘은 이러한 형태를 개선하기 위해 새로운 터보 모드라는 기술을 도입했다. 터보 모드는 동작하지 않는 휴면 상태의 코어에는 전력을 차단, 액티브 코어에 그 추가 전력을 인가해 해당 코어의 클럭을 더 끌어올려 성능 향상을 유도하는 기술로, 각 코어의 전력공급을 컨트롤 하는 PCU(POWER CONTROL UNIT)과 연계되어 동작한다.  


이 기술이 도입된 전제는 현재 하드웨어 업계의 눈부신 발전으로 계속해서 다중 코어화가 실현되고 있지만 소프트웨어 업계는 발전속도가 상당히 더디기 때문이다. 아직도 멀티 스레드보다 싱글 스레드로 동작하는 프로그램들의 비중이 상당히 높기 때문에 네할렘의 터보 모드는 이러한 맥락에서 효과적인 기술이라고 볼수 있다. 네할렘의 터보 모드는 사용자가 임의로 ON/OFF가 가능하고, TDP와 클럭설정 또한 가능하기 때문에 사용자는 환경에 따라서 이 기술을 선택적으로 적용할 수 있다.

 
 

네할렘은 기존 넷버스트에 도입했던 SMT(Simultaneous Multithreading)기술을 답습한다. 더 커진 메모리 대역폭과 고속 캐시를 기반으로 SMT를 부활시킨 네할렘의 SMT는 이전 넷버스트의 SMT보다 강력해졌다. 


각각의 물리적인 CPU 코어가 2개의 스레드를 동시에 병렬 실행하여 총 8스레드의 연산능력을 갖게 되었는데, 인텔이 기존의 SMT 기술을 재도입한 이유는 최근 아키텍쳐의 트렌드라 말할수 있는 와트당 성능에 전제하여 SMT가 전력 소비대비 성능 향상을 이루어 낼수 있는 열쇠라고 판단한데 기인하고 있다.  

 
 

이전 인텔의 멀티코어 프로세서에는 각 코어별 L1캐쉬를 할당하고, L2캐쉬를 공유하는 형태로 설계되었다. 이때까지 인텔은 이러한 듀얼코어 프로세서 2개를 하나로 패키징(Multi-Chip Module)하여 쿼드코어를 만들어 냈었다. 그러나 네할렘은 각 코어별로 L1캐쉬를 할당하고 레이턴시가 개선된 L2캐쉬를 각 코어에 추가 할당, 새롭게 추가된 통합 L3캐쉬를 4개의 코어가 공유하는 원칩 네이티브 디자인으로 설계됐다. 


또한 물리적 메모리 어드레스를 캐싱하는 Translation Lookaside Buffer(TLB)도 계층화됐는데 두번째 레벨의 TLB를 도입한 것은 어플리케이션들의 스케일이 커지면서 전체적인 성능향상을 위해서는 TLB를 계층화 하는 것이 중요해졌기 때문이다. 따라서 네할렘은 두번째 레벨에 512 엔트리의 TLB가 추가되어 성능 향상에 일조하고 있다.

 
 

네할렘은 분기 예측(Branch Prediction)의 성능도 끌어올렸다. 네할렘은 두번째 레벨의 분기 예측 유닛을 추가하여 2단계로 분할했다. 분할된 2단계 유닛은 매우 큰 코드라도 분기를 캡쳐할 수 있고, 이전의 분기 예측유닛 버퍼는 코드가 크면 모든 분기를 넣지 못했지만 두번째 레벨의 분기 유닛을 추가해 데이터베이스같은 어플리케이션에서 성능 향상을 도모했다. 


 
 

네할렘은 unaligned 캐시 액세스도 개선됐지만 어떤 구현에 의해 unaligned 캐시 액세스를 빠르게 한 것인지는 확인할 수 없다.  또한 네할렘은 기존 SSE 4.1명령어에 STTNI 명령어를 추가하여 XML 어플리케이션에서의 성능향상과 ATA 명령어의 추가로 텍스트 프로세싱 작업시의 성능향상을 도모했다.(SSE 4.2)

 

 

▲ 블룸필드 다이

 
 

▲ 린필드 다이

 

인텔은 네할렘 아키텍쳐로 최초 블룸필드를 선보였고, 다음으로 네할렘의 보급화를 위한 린필드를 선보였다. 린필드는 네할렘 아키텍쳐에서 약간의 트윅이 이루어졌는데 상단의 블룸필드의 다이사진과 하단의 린필드의 다이사진을 살펴보면 차이점을 확인할 수 있다. 


린필드는 네할렘의 핵심 연산 유닛은 그대로 유지되고 있지만 기존의 블룸필드에 탑재되어 있던 QPI 컨트롤러가 제거되고 그 자리를 PCI-E 컨트롤러가 대신하고 있다. 또한 블룸필드는 트리플 채널 메모리 컨트롤러가 탑재되었던 반면, 린필드에는 듀얼채널 메모리 컨트롤러가 탑재되었다.

 

 

기존 블룸필드 플랫폼은 CPU에 메모리 컨트롤러가 탑재되면서 MCH의 주요 기능이 CPU로 이전되어 MCH는 IOH로 대체되고, IOH에서 PCI-E 까지는 컨트롤을 하였다. 반면 린필드 플랫폼은 PCI-E 컨트롤러까지 CPU에 내장하면서 더 이상 마더보드에 두 개의 칩을 필요로 하지 않게 되었다. 


인텔은 린필드가 원칩으로 플랫폼이 구성됨에 따라 중앙 허브칩을 PCH (Platform Controller Hub)라 명명하였다. 따라서 린필드 프로세서 자체에서 메모리 컨트롤 및 PCI-E 까지 컨트롤을 담당하고 PCH는 각종 I/O 포트 컨트롤만을 담당하게 된다. 또 한가지 플랫폼 구성도에서 확인할 수 있는 차별점은 CPU와 PCH가 DMI (Direct Media Interface)버스로 연결되고 있다는 점이다. 


기존 QPI의 대역폭이 25.6GB/s 이였던 반면, DMI는 불과 2.0GB/s의 대역폭을 나타내는데, 이것은 린필드 프로세서는 PCI-E 컨트롤러까지 내장하면서 그래픽카드와의 다이렉트 통신이 이루어져 기존의 방식인 CPU-칩셋-그래픽카드를 거치는 과정이 사라졌기 때문이다. 따라서 CPU와 칩셋간에는 고속의 버스가 필요없게 됨에 따라 DMI 버스로 대체하게 된 것이다. 린필드에  탑재되어 있는 PCI-E 컨트롤러는 하나의 외장 GPU가 장착되었을 때는 x16으로 동작하고 멀티 GPU 모드시에는 x8,x8로 동작한다. 기존 블룸필드는 하나의 GPU, 또는 멀티 GPU 환경에서도 각각 x16으로 동작하는것과 비교해보면 작은 부분이지만 린필드와 블룸필드를 퍼포먼스적으로 구분지으려는 의도를 확인할 수 있다. 


블룸필드는 트리플채널 메모리 컨트롤러와 FULL x16으로 동작하는 PCI-E 컨트롤러로 린필드와의 갭을 만들었고, 다음달에 새로운 블룸필드 960을 출시하며, 2010년 2분기에는 물리적 6코어 (SMT적용 12스레드)의 걸프타운 프로세서를 출시하는 것을 분석해볼때, 인텔은 1366 플랫폼을 하이엔드 라인업으로 계속해서 유지하고, 린필드의 1156 플랫폼을 준하이엔드 및 퍼포먼스급 라인업으로 차별성을 두려 한다는 점이다. 린필드가 출시 될 때쯤 린필드의 출시와 동시에 1366 플랫폼이 단종될것이라는 소문이 무성했지만, 이것은 헛된 소문일 뿐이였고 인텔은 2011년 새로운 샌디브릿지 아키텍쳐가 투입될 때까지 1366 플랫폼은 계속해서 인텔의 최상위 라인업을 고수하게 된다.

 


 
 
 
 
 
 

 

린필드는 최하위 750 모델만 SMT 기술이 제거됬고, 나머지 모델은 모두 SMT 기술을 지원한다. 또한 기존 블룸필드의 터보 모드 기술이 탑재되어 린필드 750은 디폴트 클럭 2.66GHz에서 터보 모드시 최대 3.20GHz, 860은 디폴트 클럭 2.80GHz에서 터보 모드시 최대 3.46GHz, 870은 디폴트 클럭 2.93GHz에서 터보 모드시 최대 3.60GHz로 블룸필드의 터보모드시 클럭 상승폭보다 린필드의 터보 모드시의 클럭 상승폭이 더 크다는 점을 확인할 수 있다.

 
 
 

터보 모드를 활성화 했을때와 OFF 했을시의 성능차이는 적은 수치가 아니다. SYSMark 2007, Dawn of War IISacred 2, World of Warcraft 의 테스트에서 터보 모드를 활성화 했을 때 최대 16.7%까지 성능이 향상된다는 점은 터보모드가 단순히 부가 기능이라기 보다는 반드시 활성화를 시킬 필요성이 있는 핵심기술중에 하나라는 점이다. 


어떠한 특정 프로그램이 4개의 코어까지 필요로 하지 않는다면 아키텍쳐의 PCU 유닛은, 휴먼 상태의 코어에 인가되는 전류를 현재 프로그램이 사용하고 있는 코어로 몰아, 일정수준 클럭을 오버하여 사용중인 코어의 성능을 극대화시키는 터보모드야 말로, 아키텍쳐 레벨에서 이루어지는 자동 오버클럭이라 칭할 수 있다. 사용자는 굳이 마더보드 레벨의 오버클럭을 하지 않아도 효과적인 능동적 오버클럭 기술을 사용할 수 있는 것이다.

 

 

현재의 블룸필드와 린필드는 각각 X58/P55 칩과 조합되고 있다. 인텔은 린필드 출시 이전에 이미 P55를 출시하여 린필드의 출시와 동시에 플랫폼 구성이 가능하도록 했다. 이후 인텔은 2010년 1분기에 새로운 칩셋들을 발표할 예정이다. 새롭게 선보일 1156 플랫폼의 P55/P57은 내장 IGP가 없는 프로세서와 조합되고, H55/H57은 내장 IGP가 있는 프로세서와 조합된다. 

H계열 칩셋은 IGP 유닛이 PCH에 내장되었기 때문에 현재의 G계열 칩셋과 같은 맥락으로 보면된다. IGP를 탑재한 CPU는, PCH (H계열)의 IGP 유닛을 연결할 별도의 채널이 필요하여 H55/H57 칩과 조합된 CPU 간에 새로운FDI(Flexible Display Interface)버스가 추가된다. 이를 통해 CPU의 IGP에 의해 처리가 된 그래픽 신호를 이를 통해 출력한다. 


P57/H57과 P55/H55의 주된 차별점은 브레이드 우드의 지원 여부다. P57/H57은 이를 지원할 예정이었으나 인텔은 최근 P57의 출시를 취소했다는 정보가 전해졌다. 브레이드 우드는 인텔의 기존 터보 메모리 기술를 개선한 것으로, NVRAM 컨트롤러를 내장한 브레이드 우드 모듈을 사용해, 시스템과 저장 장치 사이에 존재하는 버퍼로 사용하여 SSD를 장착한 것과 비슷한 효과를 낼수 있게 지원해주는 기술로, 취소에 대한 정확한 인텔의 내부 사정은 확인할 수가 없다. 반면 H57은 출시가 되고, 브레이드 우드 기술만 제거될것으로 전해지고 있지만 이 사실들은 인텔의 공식발표가 있기 전까지는 좀더 지켜봐야 될것으로 보인다.

 

 

인텔의 2010년까지 로드맵을 보면 현재의 네할렘 블룸필드의 라인업은 975/950/920으로 유지된다고 표기되고 있지만 인텔은 다음달 1366 소켓의 960 모델이 라인업에 추가되고, 2010년 2분기에는 32나노 기반의 6코어 걸프타운이 투입된다는 사실은 추가적으로 인지하고 있어야 된다. 현재 1366 플랫폼의 최하위 920 모델도 930으로 대체된다는 정보가 유출됬기 때문에 이 부분 또한 인지하고 있을 필요성이 있다. 


소켓 1156 인터페이스의 린필드 라인업은 린필드의 하이엔드 모델  Core i7 - 8xx, 메인스트림 모델은  Core i5 - 7xx 시리즈로 유지되고. 32나노 프로세스의  클락데일 라인업은 상위 Core i5 - 6xx 시리즈, 메인스트림 Core i3 시리즈로 분류된다.  린필드와 클락데일은 같은 1156 소켓 인터페이스로 규격이 호환된다는 이점을 갖고 있고, 린필드의 i5 시리즈까지는 모두 쿼드코어 라인업, 32나노 클락데일은 듀얼코어 라인업으로 45나노 프로세스의 IGP가 CPU에 탑재되고, 펜티엄 G9650을 제외한 전 모델이 SMT 기술이 적용된다. 또한 클락데일의 상위 i5 라인까지는 터보모드가 적용되고 하위 i3 라인과 G9650은 터보 모드 기술이 제거된다.

 



 



반응형
Posted by 랩터 인터내셔널