3. CPU 아키텍처 개선된 샌디브릿지

샌디브릿지 (Sandy Bridge)는 CPU와 GPU가 분리되었던 클락데일 (Clarkdale)와 비교해 보다 완전한 통합 프로세서에 가까워졌으며, CPU 코어와 그래픽코어, 그리고 메모리 컨트롤러와 PCIe 버스 컨트롤러를 비롯한 언코어 부분도 개선이 이루어졌다. 이들 중 이번에는 32nm 공정과 기존에서 개선된 CPU 처리 부분에 대한 내용을 바탕으로 차이를 살펴보자.
원칩 솔루션으로 CPU 코어와 그래픽코어 및 각종 컨트롤러 내장

[CPU와 GPU가 하나의 싱글칩에 모두 내장]
샌디브릿지는 CPU 코어와 그래픽코어, 그리고 메모리 컨트롤러와 디스플레이 인터페이스 등이 포함된 노스브릿지 및 언코어 부에 해당하는 시스템 에이전트 (System Agent)를 추가해 기존 린필드와 클락데일의 네할렘 아키텍처의 문제점들을 개선했다.
샌디브릿지는 2/ 4코어를 내장하며, 제품에 따라 하이퍼스레딩
(Hyper-Threading)을 지원한다. L3 캐쉬는 최대 8MB를 내장하며, 듀얼 채널 DDR3 메모리 컨트롤러를
내장한다. 16 PCIe 2.0 레인을 제공하며, GPU는 DX10.1을 지원한다. 이들은 하이엔드부터 퍼포먼스, 메인스트림 라인업으로 린필드와 클락데일 대체할 것으로 알려지고 있다.
또, 샌디브릿지는 같은 클럭에서 성능을 개선했으며, 낮은 소비전력을 제공한다. 샌디브릿지는 32nm 공정과 더불어 향상된 클럭을 적용하며, 인텔 AVX (Intel Advanced Vector Extensions)를 통해 멀티미디어, 금융 또는 과학 알고리즘
연산에 필요한 기능을 지원한다. SSE 벡터 (Vector) 명령어셋보다 높은 동작을 가진 (128bit보다 높은 256bit로 동작)다.
따라서, 프로세싱은 적은 리소스로 많은 데이터를 처리가 가능해진다.
샌디브릿지는 린필드와 같은 수의 코어와 클럭이 적용될 경우 최대 5-10% 향상된 성능을 제공할 것으로 알려지고 있으며, 소비전력은 약 25% 더 낮은 것으로 알려져 와트 당 성능이 개선되었다. 샌디브릿지는 린필드 대비 약 10% 더 높은 클럭을 가지는 만큼 이전 세대보다 최소 25% 빠를 것으로 예상되고 있다. 이들 외에도 그래픽 코어 성능 향상과 AES-NI 명령어와 AVX 명령어를 지원할 경우 이전보다 향상된 성능도 예상된다.
듀얼 채널 (2채널) DDR3 메모리 컨트롤러
샌디브릿지 프로세서는 린필드 (Lynnfield)와 같이 듀얼 채널 DDR3 메모리 컨트롤러가 내장된다. 공식 지원은 DDR3-1066/ DDR3-1333MHz이며, 오버클럭을 통해 더 높은 메모리 클럭을 지원한다.
2채널 DDR3-1333의 대역폭은 (1333MHz x 128bit/8 (byte로 계산위해 8로 나눔)) = 21.328GB/s로 계산되어 린필드와 이론상으로 대역폭에는 차이가 없다.
클락데일 (Clarkdale)은 CPU와 GPU가 멀티칩 방식으로 분리되고 GPU 다이에 메모리 컨트롤러가 개별로 내장되어 CPU와 메모리 간의 데이터 교환시 지연시간과 메모리 대역폭 확보 및 빠른 반응성에서 불리했는데 샌디브릿지는 CPU와 GPU, 메모리 컨트롤러 등이 모두 통합되고 링버스 아키텍처 (Ring bus)로 유기적인 연결을 통해 지연시간과 메모리 대역폭, 빠른 반응성에서 더 유리해졌다.
하이퍼스레딩 지원 (4/ 8-Way Multi-Task Processing)

[네할렘 아키텍처에 이어 샌디브릿지도 하이퍼스레딩 지원]
네할렘 마이크로아키텍처에서는 메모리 컨트롤러 내장 외에도 펜티엄 4 노스우드에 사용되었다가 사용되지 않았던 하이퍼스레딩 (Hyper-Threading Technology, HT)를 부활시켰다. 샌디브릿지 프로세서 역시 하이퍼스레딩 지원으로 응답시간을 줄이고 동시에 처리할 수 있는 작업들을 늘렸다.
샌디브릿지는 린필드 (Lynnfield)와 클락데일 (Clarkdale)을 대체하는 라인업으로 펜티엄부터 코어 i3/ i5/ i7 브랜드를 이어간다. 이들과 같이 2코어/ 4코어를 가지며, 하이퍼스레딩을 지원하는 프로세서는 4스레드 또는 8스레드까지 지원된다.
하이퍼스레딩은 SMT (Simultaneous Multi-Threading) 기술의 일종으로 물리코어 (실제 코어증가)를 늘리는 것이 아닌 논리코어 (실제 코어는 유지)를 늘려 성능을 늘리는 방법으로 네할렘 마이크아키텍처에서는 코어 크기가 4-5% 늘어나는 대신 일부 애플리케이션에서 최대 40%의 성능 향상이 가능하다고 밝히고 있다. 하지만, 하이퍼스레딩은 이전에도 살펴본 것처럼 성능 저하가 발생할 수도 있고 지원 운영체제도 필요하다.
암호화를 위한 AES-NI와 부동소수점 연산 개선을 위한 AVX 명령어 내장

ASE-NI 명령어는 32nm 기반의 웨스트미어 (Westmere) 아키텍처를 적용한 클락데일과 걸프타운 (Gulftwon)에 적용되었으며, 이 명령어는 암호화 기술을 지원할 경우 더 빠른 처리 속도를 제공할 수 있어 효율을 높일 수 있게 된다.
인텔 AVX (Advanced Vector Extensions) 명령어는 256bit로 동작되며, 부동소수점연산 성능을 개선할 수 있어 이를 지원하는 멀티미디어 환경이나 과학연산 분야에서 처리 효율을 개선할 수 있다.
CPU 처리 부분을 개선한 샌디브릿지

[샌디브릿지 아키텍처, 프로세서 처리 구조]
샌디브릿지 아키텍처는 과거의 펜티엄 4에 적용되었던 넷버스트 마이크로아키텍처 (NetBurst
Microarchitecture)의 장점을 빌려왔다. 펜티엄 4의 경우 소비전력이나 발열이 문제였지만, 샌디브릿지는 32nm 기반의 개선된 공정으로 클럭이 높아지고 내부 처리 유닛 등이 추가되었지만, 오히려 소비전력과 발열을 이전 네할렘 마이크로아키텍처보다 줄일 수 있게 되었다.
샌디브릿지는 파이프라인에 변화가 이루어졌던 네할렘을 기본 베이스로 하며, 클럭 당 4명령어 처리 및 Micro-Fusion과 Macro Fusion 기술을 지원한다. 또, L0 캐쉬를 추가해 디코딩 결과를 저장해 처리 효율을 늘리는데 이는 넷버스트 마이크로아키텍처의 구조에서 빌려온 부분이다.
decoded micro-ops 캐쉬를 약 6KB로 늘려 디코더 효율 증대와 디코딩 성능 저하를 줄이고 디코더를 로드 오프하도록 하여 CPU 전력소모를 줄일 수 있다. 샌디브릿지는 성능에 영향을 주는 이 분기예측유닛 (Branch Prediction Unit)을 효율적으로 관리하도록 개선하고 버퍼 저장 증대를 바탕으로 이전 세대보다 5% 이상을 개선했다.
또, 아웃오브오더 프로세서 (Out-of-Order Processors, 비순차적 명령어 처리) 유닛에도 수정이 이루어졌고 넷버스트 아키텍처에 가깝게 설계되었다. 물리 레지스터 파일을 넣어 중복복사를 막는 등 처리 효율 및 성능 저하를 막고 있다. 샌디브릿지 비순차적 명령어 처리 클러스터는 최대 168 micro-ops로 네할렘 마이크로아키텍처의 128 micro-ops보다 ROB (reorder buffer)에 더 저장할 수 있고 전력도 일부 절약할 수 있게 되었다. 그러나, 실행 파이프라인에는 역참조 (어떤 주소를 취하여 그 주소에 저장된 값을 리턴하는 것, dereferencing) 신호를 위한 새로운 스테이지가 추가되어 처리 과정이 더 늘어나게 되는 단점도 있다.
샌디브릿지는 새로운 AVX (Advanced Vector Extensions) 명령어를 추가 했고 256bit 레지스터로 동작하며, 이에 맞도록 재디자인된 설계를 적용하고 있다. AVX 명령어는 무거운 부동소수점연산(floating-point) 연산에 속하는 멀티미디어, 과학, 금융 어플리케이션 실행에서 성능 향상과 전력을 절약할 수 있게 된다. 물론, 이도 SSE처럼 이를 지원하는 애플케이션의 지원이 필요하며, SSE보다 개발이 어렵지 않은 것으로 알려져 있다.
샌디브릿지는 2개의 128bit 실행 유닛을 조합하여 256bit 데이터로 효율을 늘릴 수도 있고 네할렘의 한 개이던 것을 3개 포트로 늘렸다. 이에 따라 64bit, 128bit integer, 128bit real의 3가지 타입 데이터를 동작할 수 있고 리소스 재배열로 프로세서 실행 유닛의 대역폭에 영향을 주지 않아 처리 효율과 성능을 증대시킨다.각 포트는 클럭 당 16bytes를 최대로 통과시킬 수 있고 L1 데이터 캐쉬의 전체 입출력은 50% 증가시킨 것으로 알려져 있다. 샌디브릿지 아키텍천는 로드 데이터 최대 32bytes, 클럭 사이클 당 16bytes의 데이터 저장이 가능하다.
샌디브릿지 아키텍처는 네할렘 아키텍처의 성능 저하를 가져오던 병목현상의 수정에서 더 나아가 새롭게 추가된 성능과 기능을 위한 많은 변화가 이루어졌다.
링버스 아키텍처로 대역폭과 처리 효율 개선

[링버스 아키텍처는 샌디브릿지 유기적 연결에 중심점]
인텔은 네할렘 마이크로아키텍처에서 CPU에 메모리 컨트롤러를 시작으로 린필드와 클락데일에서는 메모리 컨트롤러에 PCIe 버스 컨트롤러, 그래픽코어, L3 캐쉬를 추가하는 등 많은 변화가 이루어졌다.
이러한 변화는 데이터 전송의 지연시간을 줄여 성능 향상이 가능하도록 만들어주었다. 하지만, 여러 기능들이 하나에 통합되면서 이들을 유기적으로 연결해 처리 성능의 저하를 막을 방법이 필요해지고 더 많은 실행 유닛이나 기능들을 포함하기 위한 대역폭 확보 등이 필요하게 되었다. 이를 위해 샌디브릿지는 새롭게 링버스 아키텍처 (Ring Bus)를 도입해 CPU 코어와 그래픽코어, 노스브릿지 등의 언코어 부분을 연결해 데이터의 빠른 처리가 가능하도록 만들었다.

링버스 아키텍처는 CPU 코어와 그래픽코어, 시스템 에이전트 (System Agent), 등과 같은 부분의 유기적인 연결을 가능하게 해주고 L3 캐쉬는 2MB로 동일하게 나뉘어 각 유닛들과 커뮤니케이션이 진행된다.
L3 캐쉬는 성능과 마케팅의 이유로 용량의 차이를 두며, 그래픽코어도 L3 캐쉬를 공유하고 내부 대역폭도 기본보다 더 늘어나 병목현상을 줄여 처리 성능을 높인다. 쿼드코어 CPU가 3.4GHz로 동작될 때 32bit Wide L3 캐쉬 피크 대역폭은 435.2GB/s를 제공하며, 링버스를 통해 L3 캐쉬의 데이터 전송 루트를 줄여 레이턴시 감소 등을 통해 효율을 증대시킨다. 네할렘의 L3 캐쉬는 35-40 클럭의 레이턴시를 제공하는데 샌디브릿지는 이보다 줄어든 25-31 클럭 레이턴시를 제공한다.
샌디브릿지의 모든 캐쉬 메모리는 프로세서 동작클럭과 동일한 클럭으로 동작되며, 그래픽코어는 메모리와 직접 데이터 전송하지 않고 L3 캐쉬를 이용하여 기존보다 빠르게 데이터 교환이 이루어져 메모리 버스와 그래픽코어, CPU를 거치던 방식의 성능 저하를 줄일 수 있을 것으로 알려져 있다.
System Agent (PCIe/ DMI/ 메모리 컨트롤러/ 디스플레이 엔진 등 내장)

샌디브릿지에는 System Agent로 불리는 새로운 유닛이 포함되는데 여기에는 PCIe 버스 컨트롤러와 DMI, 메모리 컨트롤러, 디스플레이 엔진 등 거의 모든 외부 인터페이스가 포함된다. 네할렘의 언코어 부와 유사하나 L3 캐쉬를 포함하지 않은 것이 차이다. 이 개별 유닛은 샌디브릿지 프로세서 동작클럭으로 동작되며, 링버스를 통해 프로세서와 그래픽코어 간의 데이터 교환이 이루어져 기존보다 효율이 높아진다.
클락데일의 경우 CPU와 GPU를 처음으로 통합한 데스크탑 프로세서지만, 그래픽코어부에 개별 메모리 컨트롤러가 내장되는 등으로 지연시간 문제 등이 발생해 메모리 대역폭 및 처리 효율이 하락되었다. 샌디브릿지는 링버스 아키텍처를 바탕으로 린필드만큼 메모리 컨트롤러의 효율을 높였다. 듀얼채널 DDR3 컨틀로러 및 DDR3-1066/ 1333MHz를 공식 지원하고 오버클럭을 통해 1600/ 1866/ 2133MHz 등의 높은 클럭도 지원된다.
샌디브릿지의 PCIe 버스 컨트롤러는 린필드와 같이 16 레인의 PCIe 2.0을 제공하고 x8 2개 레인 분할을 지원한다. 디스플레이 인터페이스 부분의 주요한 변화는 HDMI 1.4를 지원해 3D를 지원하는 것이다.