샌디 브릿지의 아키텍처 소개와 간단한 벤치마크 글입니다. 원래 출처는 http://www.expreview.com/13290.html

 

 

1. 머리말

 

몇년 전의 자료를 뒤적여보면, 인텔의 32나노 공정 프로세서는 네할렘-C와 게셔(Gesher) 아키텍처가 있습니다. 특히 게셔는 생소한 이름이지요.

 

1.jpg

 

몇년 전에 나온 자료에 의하면 지금 세대에 해당하는 아키텍처는 게셔

 

그때의 네할렘-C는 웨스터메어 아키텍처이고(클락데일 코어의 코어 i5/i3), 게셔는 바로 샌디 브릿지가 되겠습니다.

 

그리스어에서 게셔는 '다리'라는 의미가 있습니다. 샌디 브릿지와 딱 맞아 떨어지는 의미이지요. 샌디 브릿지는 인텔이 지금까지 3개로 분할되어 있던 칩을 하나로 합친 것으로서, P6(펜티엄 프로), 넷버스트(펜티엄 4)에 이어서, 이번에는 그래픽을 완전히 내장시킨 새로운 32나노 공정 원칩 아키텍처인 것입니다.

 

2.jpg

 

인텔의 틱-톡 전략은 널리 알려져 있습니다. 제조 공정과 아키텍처를 번갈아 업그레이드하는 것으로, 짝수년에는 아키텍처를, 홀수년에는 제조 공정을 개선하는 것입니다. 2010년에 인텔은 32나노 공정을 도입했으며, 올해에는 새로운 아키텍처인 샌디 브릿지를 출시하였습니다.

 

3.jpg

 

 

2. 샌디 브릿지 아키텍처의 간단한 소개

 

샌디 브릿지는 P6과 넷버스트를 기반으로 하여 새로운 유닛을 내장시킨 아키텍처입니다. 그 구조가 P6과 비슷하긴 하지만 상당히 많은 차이점이 존재합니다. 물론 네할렘의 이전 세대였던 코어 아키텍처에서도 P6을 기반으로 하였지만 큰 차이가 있으며, 샌디 브릿지도 P6과는 많은 차이가 있습니다. 예를 들어 마이크로 op 캐시와 물리 레지스터 파일같은 것은 넷버스트 아키텍처에서 가져온 것입니다. 전체적으로 보면 샌디 브릿지는 각 부분에서 네할렘보다 많은 향상이 있었습니다.

 

4.jpg

 

샌디 브릿지의 코어

 

비록 샌디 브릿지가 32나노 공정을 사용하긴 하지만, 똑같은 32나노 공정인 웨스터메어와 비교하여 GPU와 CPU를 혼합하였기 때문에 이전의 듀얼 다이 구조보다 획기적인 변화라고 할 수 있습니다. 당연히 샌디 브릿지의 변화는 이것만 있는것이 아니며 주요 특징은 다음과 같습니다.

 

1. 32나노 공정의 새로운 아키텍처. 높은 성능과 낮아진 소비 전력.

-새로운 분기 예측 유닛

-새로운 물리 레지스터 파일

-256비트 명령 실행

-QPI 대신 링버스를 사용

-최종 캐시에 LLC 매커니즘 사용

-새로운 시스템 관리 기능

 

2. 32나노 공정의 차세대 그래픽 엔진. 뛰어난 멀티미디어 성능.

 

3. 향상된 벡터 확장 명령어 셋트-인텔 AVX. 부동소수점 연산 밀집형 어플을 더 빠르게 실행.

 

4. 터보 부스트 2.0. CPU와 GPU 클럭을 동적 조절.

 

네할렘부터 인텔 프로세서는 코어와 언코어의 두부분으로 나뉘게 되었습니다. 따라서 여기서도 샌디 브릿지 아키텍처를 코어와 언코어의 두부분으로 나눠서 설명하고자 합니다. 하지만 그 전에 일단 CPU의 내부 작동 구조에 대해 설명해야 되겠지요.

 

 

3. CPU의 작업 흐름

 

P6은 최초의 아웃 오브 오더 실행(Out of Order Execute)을 사용한 마이크로아키텍처입니다. P6에서 파생되어 나온 샌디 브릿지와 네할렘은 모두 아웃 오브 오더 실행 슈퍼스칼라 x86 명령어 아키텍처를 사용하였는데, 그 내부의 흐름은 다음과 같습니다.

 

5.png

 

컴퓨터 프로그램은 매우 많은 명령어로 구성되어 있습니다. 이를 실행하기 전에 프로그램은 반드시 메모리 중에 옮겨져야 하며, 프로그램을 실행할 때에 CPU는 먼저 메모리나 고속 캐시에서 명령어를 가져오는데 이를 Instruction Fetch라고 합니다. 프로세서가 명령어를 가져온 다음에 이 명령어가 어떤 종류의 명령인지, 어떤 조작을 실하는지를 판단해야 하는데 이 과정은 Decode라고 합니다. 명령어를 해석한 다음에는 해당 명령어가 계산에 필요로 하는 자원-리소스, 예를 들면 덧셈/곱셈기- 등을 분배해줘야 하는데 이 과정은 Dispatch와 Launch라고 합니다. 명령어가 계산 유닛 중에서 구체적으로 명령을 실행하는 과정은 Execute라고 합니다. 명령 실행이 끝난 다음에 그 결과를 목표 주소로 옮기는 과정은 Write Back이라고 부릅니다.

 

프로세서 내부의 회로 유닛 설계는 위 과정의 하나씩 대응됩니다. 샌디 브릿지와 네할렘의 코어 부분은 이런 부분에 알맞는 개선이 이루어졌습니다.

 

샌디 브릿지 아키텍처를 자세히 보기 전에, 먼저 네할렘 아키텍처의 코어 기능은 어떻게 구분되는지 봅시다.

 

6.png

 

네할렘 아키텍처의 프로세서 코어 부분 회로 설계는 위그림처럼 되어 있습니다. 오직 언코어 부분만 설계가 다르며 하이퍼스레딩을 막기 위한 것입니다. 샌디 브릿지 아키텍처에서는 마찬가지 방법으로 고급형/중급형/저급형 제품을 나눴습니다.

 

그럼 이제 샌디 브릿지 아키텍처에서 코어 부분의 달라진 점을 보도록 합시다.

 

 

4. Instruction Fetch. 새로운 분기 예측 유닛

 

CPU 프론트 엔드의 주요 임무는 명령어를 충분한 마이크로-ops에 전달하여 포화 상태를 유지하는 것입니다. 명령어를 전달하는 과정은 분기의 간섭을 계속 받으며, 인텔의 마이크로아키텍처는 분기 예측 부분이 상당히 중요한 부분으로, 분기 예측이 각 세대마다 상승하여 왔습니다.

 

샌디 브릿지는 네할렘의 4개 분기 예측기를 그대로 사용했습니다. 각각 the branch target buffer, indirect branch target array, loop detector, renamed return stack buffer입니다. 하지만 샌디 브릿지의 분기 예측기(Branch Predictor)는 명령어 페치 유닛(Instruction Fetch Unit)에서 분리되어 나와 분기 예측 유닛(Branch Prediction unit)으로 새롭게 정의되었습니다.

 

7.jpg

 

새로운 분기 예측 유닛은 CPU 내부에 포함된 문법 예측의 정확성과 예측 속도를 올려줍니다.

 

1. 서로 다른 다양한 크기의 분기 오브젝트를 지원하여 더 많은 분기 오브젝트를 추적할 수 있습니다.

2. 분기 예측을 서로 다른 길이의 히스토리에 따라 구분할 수 있습니다.

3. 분기 예측 히스토리 중에서 같은 위치에 더 많은 분기를 대응시킬 수 있습니다.

 

현재 프로세서의 대부분은 슈퍼 스칼라 스트림 아키텍처이기 때문에, 스트림 파이프라인 중에서 일반적으로 몇십개의 명령이 동시에 실행됩니다. 만약 그 중에 분기 명령의 예측이 빗나간다면 프로세서가 파이프라인 중의 모든 분기 명령어를 지울 수밖에 없으며, 정확한 위치에서 또 다시  Instruction Fetch, Decode, Execute를 실행해야 합니다. 이렇게 하면 프로세서의 효율이 크게 떨어집니다. 프로그램 중에 분기 예측 명령이 상당히 많기 때문에 분기 예측의 정확성은 프로세서의 성능이 큰 영향을 줍니다.

 

 

5. Decode. 새로운 마이크로-op 캐시

 

네할렘 마이크로 아키텍처의 CPU에서는 디코드 후에 마이크로0op를 생성하여 디코드가 끝난 명령 캐시에 저장합니다. CPU가 명령을 실행할때 순환 흐름 구조의 검사기가 데이터 중의 순환을 검사하여 마이크로-op의 제한보다 낮은 수준을 유지합니다. 네할렘은 이 순환 저장을 사용하여 새로 명령어를 Fetch, 분기 예측, 디코드 등의 조작을 할 필요가 없도록 하기 때문에, 순환 처리 성능을 높일 수 있었습니다.

 

하지만 28개의 마이크로-op는 너무 작습니다. 일단 고속 캐시에서 히트 레이트(명령 적중)이 발생하지 않으면, 특히 SMT 동기화 멀티스레딩에서 히트 레이트가 늘어난 수만큼 배로 늘어나지 않으면, 이때 CPU는 메모리에서 데이터를 검색해야 하며 이때 CPU의 연산 효율이 극도로 낮아지게 됩니다. 따라서 샌디 브릿지 마이크로아키텍처에서는 이런 한계를 대폭 개선하여, 28개의 마이크로-op 제한을 1500개로 확장하여, 고속 캐시에서 히트 레이트가 발생하지 않을 확률을 대폭 낮췄습니다.

 

8.jpg

 

샌디 브릿지의 프론트 엔드는 디코드 마이크로-op 캐시의 용량을 늘려 1.5K의 마이크로-ops를 저장할 수 있습니다. 인텔은 마이크로-op 버퍼가 1개의 6KB 명령어 캐시와 같으며 80%의 히트 레이트를 가지고 있다고 설명하였습니다. 이에 비해 p4 12K 마이크로-op의 추적 캐시의 성능은 8~16KB 정도입니다. 마이크로-op 캐시 히트 레이트는 32B의 완전한 명령어 포트를 넘어 설 수 있는데 이것은 전통적인 프론트 엔드의 대역폭을 확대시킨 것으로, 16B 명령어 Fetch에 국한되어 있습니다.

 

9.jpg

 

샌디 브릿지의 마이크로-op 캐시와 P4의 추적 캐시는 제일 큰 차이는 1가지입니다. 바로 마이크로-op 캐시가 전통적인 프론트 엔드를 개선한 것이냐는 점입니다. 이와 비교해서 P4는 추적 캐시를 이용하여 프론트 엔드를 대체하였습니다.

 

마이크로-op 캐시는 샌디 브릿지에서 제일 전망이 좋은 기술 중 하나로 소비 전력을 낮추면서 성능을 높일 수 있습니다. 전력을 많이 잡아먹는 x86 디코드를 피하기 위해 파이프라인 스테이지를 확장시키면 값비싼 하드웨어가 뷸규칙한 명령어 셋트를 지원해야 합니다. 일반적으로 보면 마이크로-op 캐시가 기존의 추적 캐시의 문제를 해결하였으며, 동시에 소비 전력을 줄인 방법이라 할 수 있습니다.

 

 

6. Dispatch와 Launch. 물리 레지스터 파일

 

10.jpg

 

샌디 브릿지의 아웃 오브 오드 실행은 P6과 P4 아키텍처의 결합입니다. 샌디 브릿지의 프론트 엔드에서는 2개의 스레드 중에 4개의 마이크로-op를 1 사이클마다 제공합니다. 마이크로-op는 이때 여전히 순서에 따라 실행되며, 필요한 리소스를 추적하여 실행하는 과정이 병행됩니다. 각각의 마이크로-op는 1개의 어레이를 분배받아 ROB(Reorder Buffer)에 넣어, 상태와 완전한 상황을 추적하고, 정확한 실행 순서를 유지할 수 있습니다.

 

일단 마이크로-op가 분배를 받고 새로 명명되면, 그때부터 자유롭게 아웃 오브 오더 실행을 할 수 있습니다. 샌디 브릿지는 통일된 Entry Unified Schedule을 사용하여 스레드 사이의 동적인 공유를 실현하며, 그 용량은 네할렘의 1.5배입니다. 이렇게 하여 더 효율적인 명령어 조합을 할 수 있으며 명령 태스크를 효율적으로 실행할 수 있습니다. 일단 마이크로-op가 준비되면 여기에 상응하는 실행 유닛에 발사-Launch-됩니다. 네할렘과 샌디 브릿지는 6개의 마이크로-op를 런치하고, 각각의 포트에서 1 사이클마다 4개의 마이크로-op를 처리할 수 있습니다.

 

11.jpg

 

더 중요한 것은 네할렘 아키텍처에서 아웃 오브 오더 실행이 셋업 단계의 Retirement Register File 유닛에서 1 사이클에 오직 4번의 마이크로-op 레지스터 파일의 쓰기만 가능했던 반면, 샌디 브릿지에서는 유닛을 새로 설계하여 물리 레지스터 파일을 만들었습니다. 이 레지스터 파일에는 마이크로-op의 조작을 저장하는데, 이것은 마이크로-op가 아웃 오브 오더 실행 중에 필요로 하는 조작 지침을 저장하는 것이지 데이터 자체를 저장하는 것이 아닙니다. 이렇게 하여 아웃 오브 오더 실행 하드웨어의 소비 전력(대용량 데이터를 이동하느라 낭비되는 전력)을 줄였으며, 동시에 파이프라인의 코어 면적도 줄여, 데이터플로우 윈도우를 33% 늘렸습니다.

 

물리 레지스터 파일-PRF-는 일찌기 넷버스트 아키텍처의 P4에서 사용되었던 것이지만 샌디 브릿지에서 다시 등장하였습니다. PRF의 사용은 아웃 오브 오더의 실행 캐시를 늘리며 부동소수점 엔진의 출력량을 만족시킵니다. AVX 명령어 셋트와 같이 배합되어 부동소수점 성능을 한층 더 끌어올리게 되었습니다.

 

 

7. Execute. 256비트 명령어의 처리

 

12.jpg

 

샌디 브릿지의 실행 유닛은 256비트 AVX 명령어를 실행할 수 있도록 수정되어, 부동소수점 성능의 양적인 증가를 하였습니다. 거의 모둔 256비트 AVX 명령 디코드가 1개의 다일 마이크로-op에서 가능합니다. 하지만 샌디 브릿지는 데이터 채널을 256비트로 확장하진 않았고, SIMD 정수의 임시 저장은 서로 다른 포트를 통해 진행합니다. 또한 기존의 128비트 SIMD와 128비트 부동소수점 데이터 채널을 교묘하게 이용하여 256비트 마이크로-op를 공동으로 실행하게 하였습니다.

 

이전의 네할렘 아키텍처에서 어드레스를 스토어/로드하는 2개의 포트 기능은 고정되어 있었습니다. 샌디 브릿지 아키텍처에서는 이 2개의 포트가 동시에 어드레스의 로드/스토어 기능을 가지고 있어, 하나의 유닛에서 한번에 조작할 수 있는 성능이 배로 늘어나게 되었습니다.

 

13.jpg

 

샌디 브릿지는 보안 성능도 강화하여 AES(Advanced Encryption Standard) 같은 기능도 지원합니다. 이는 이전 세대인 웨스트메어 아키텍처에서 응용됐던 것입니다. 샌디 브릿지는 SHLD 성능도 개선하여 SHA-1에 사용할 수 있습니다.

 

 

8. QPI 대신 링버스를 사용

 

샌디 브릿지에서 코어 부분은 일부만 개선되었지만, 언코어 부분의 개선은 상당히 큽니다. 인텔은 샌디 브릿지에 몇가지 새로운 기술을 도입하여 이전 세대 제품과 본질적인 차이를 두었습니다.

 

14.jpg

 

클락데일 코어

 

네할렘과 웨스트메어 아키텍처에서는 프로세서 코어, PCI-E 컨트롤러, 메모리 컨트롤러, GPU 코어를 QPI 버스로 서로 연결하였습니다. 하지만 샌디 브릿지에서는 CPU 코어와 GPU 코어를 완전히 결합하였기 때문에, 인텔은 QPI 버스 대신 서버 프로세서에서 주로 사용되던 링버스를 사용하였습니다.

 

15.jpg

 

샌디 브릿지의 주요 모듈은 3개의 출력과 클럭에 맞춰져 있습니다. 코어와 라스트 레벨 캐시(LLC, 즉 L3), GPU와 시스템 에이전트에서 코어와 GPU의 전압과 클럭은 변할 수 있으며 시스템 에이전트는 고정된 클럭으로 실행됩니다. 링버스는 이들 몇가지 부분을 서로 연결합니다.

 

이런 링버스는 4개의 독립된 링으로 구성되는데 Data 링, Request 링, Acknowledge 링, Snoop 링입니다. 각각의 링의 접속점은 클럭 사이클 내에 32바이트 데이터를 받을 수 있고, 링의 엑세스는 자동으로 최단 경로를 찾아 레이턴시를 단축합니다.

 

샌디 브릿지의 링버스는 6개의 플랫홈이 있는데 4개의 코어와 LLC가 플랫홈을 공유하고, GPU와 시스템 에이전트가 2개의 플랫홈을 갖추고 있습니다. 각각의 플랫홈은 링의 접속점을 통해 L3 캐시에 진입하게 됩니다. 이것은 네할렘이나 웨스트메어처럼 통일된 구조가 아니라, 서버용인 네할렘-EX나 웨스트메어-EX처럼 더 높은 대역폭과 관련성을 가진 구역으로 나뉜 것입니다.

 

 

9. 라스트 레벨 캐시 매커니즘

 

16.jpg

 

네할렘에서 L3 캐시는 CPU 코어의 부속품이었고 오직 CPU 코어만 엑세스가 가능했습니다. 샌디 브릿지에서 전통적인 L3 캐시가 CPU 밖에 위치하고, 시스템 에이전트와 내장 그래픽이 모두 링버스에 각각의 연결점을 가지게 되면서, 캐시의 데이터를 직접 엑세스하게 되었습니다. 인텔은 이런 종류의 새로운 캐시 매커니즘을 LLC(Last Level Cache)라고 명명하였습니다.

 

인텔이 공식 발표한 데이터를 보면 라스트 레벨 캐시의 경로는 여러가지가 있어, 동시에 내부에 여러 구역을 나눌 수 있고, 이 구역을을 각각의 프로세서 코어에 대응시킵니다. 각각의 프로세서 코어는 모두 링버스를 통해 자신의 연결점과 완전히 캐시 파이프라인에 이어지며, 각 프로세서 코어의 대역폭은 96GB/s이고, 각 프로세서 코어는 전부 모든 라스트 레벨 캐시에 엑세스가 가능합니다. 하지만 레이턴시는 차이가 납니다.

 

라스트 레벨 캐시의 출현으로 더 나은 그래픽 성능, 더 높은 메모리 대역폭(시스템 에이전트와 메모리 컨트롤러 포함), 소비 전력의 절감이 가능하게 되었습니다..

 

 

10. 시스템 에이전트

 

17.jpg

 

샌디 브릿지에서 시스템 에이전트는 하나의 독립 부분으로 설계되었습니다. 그 기능은 전통적인 노스브릿지 칩에 속하며, 시스템 에이전트는 연결점을 통해 링버스에 연결되며 고정된 전압과 클럭으로 실행되고, 다음 몇가지 부분을 포함하고 있습니다.

 

PCI-E 컨트롤러. 1개의 PCI-E x16 슬롯과 2개의 PCI-E x8 슬롯

새로 설계된 듀얼채널 DDR3 메모리 컨트롤러

DMI 버스 포트

디스플레이 출력 컨트롤 유닛

전원 관리 유닛

 

시스템 에이전트의 제일 중요한 부분은 전원 관리 유닛(PCU)입니다. PCU는 마이크로 컨트롤러로서 칩의 전원과 발열을 관리하며, 터보 부스트 모드에서 그래픽 코어와 캐시를 조절하고, 더 개선된 모델 칩을 사용하였습니다.

 

지금까지 GPU는 별도의 코어로 취급되어 드라이버가 관리를 했습니다. 샌디 브릿지에서 그래픽은 CPU와 같은 칩에 장착되었기 때문에 PCU가 전원과 TDP를 더 효율적으로 관리할 수 있습니다. 샌디 브릿지는 그래픽과 CPU 사이에 전원 에너지를 공유하여, 대다수의 어플리케이션에서 더 높은 성능을 내면서도 전력 소비를 발열에 따라 나눠 관리할 수 있습니다.

 

샌디 브릿지의 모든 코어는 각자 전원 컨트롤이 가능하지만 캐시와 링버스는 이 기능을 지원하지 않는데 그 이유는 모든 부분이 캐시와 링버스를 공유하기 때문입니다. 따라서 인텔은 대기 상태에서 L3 캐시가 슬립으로 들어가게 하여 아이들시의 전력 소비를 낮췄습니다. 링버스를 사용하지 않을 때에는 링버스의 소비 전력도 낮추게 됩니다. 물론 시스템 에이전트는 시종일관 활동 상태를 유지하는데, CPU와 DMI 클럭 제네레이터에서 오는 신호를 받기 때문입니다.

 

 

11. 터보 부스트 2.0

 

18.jpg

 

터보 부스트는 네할렘 아키텍처에서 처음으로 등장하였으며, 인텔 틱-톡 사이클에 맞춰 업데이트됩니다. 인텔의 샌디 브릿지에서는 새로운 터보 부스트 2.0이 정식으로 등장하면서, 기존 기술을 기초로 하여 연산 방법을 개량하여 더욱 탄력적으로 속도를 조절하고, CPU 뿐만 아니라 내장 GPU의 클럭까지 조절할 수 있게 되었습니다.

 

터보 부스트가 완벽 무결한 것은 아닙니다. TDP에 맞춰 상승폭이 제한되어 있기 때문에 일단 TDP의 한계에 도달하면 CPU 클럭이 정상으로 돌아오게 되며, 대부분의 데스크탑 CPU는 1~2 bins 정도만 클럭이 상승하게 됩니다. CPU는 실제로 그보다 더 큰 클럭 상승의 여지가 있으며, 터보 부스트 2.0에서는 CPU의 클럭 상승을 3~10 bins까지 높여서 저전력 모델의 경우 더 큰 클럭 상승이 가능하게 하였습니다.

 

19.jpg

 

터보 부스트 2.0은 단시간에 TDP 제한을 넘어서 작동하도록 합니다.

 

터보 부스트 2.0에서 TDP의 제한이 완화되었습니다. PCU는 액티브 코어가 짧은 시간 동안 TDP의 상한선을 넘은 다음 안정 상태로 돌아오도록 조절해주며, IDF에서 공개된 데이터에 따르면 그 시간은 25초까지 가능했습니다. 이 시간은 결코 작은 시간이 아니며 25초동안 최대 가속을 하여 연산을 처리하면 그 누적 결과가 기존의 1~2 bins 가속과 확실한 차이를 보여줍니다. 더 중요한 것은 사용자가 CPU의 손상을 우려할 여지가 없다는 것입니다. 짧은 시간 동안 TDP를 넘어도 이것은 안전적인 설계 내에서 이루어집니다.

 

또 다른 터보 부스트 2.0의 특징은 CPU 클럭 뿐만 아니라 GPU도 똑같이 가속 작용을 한다는 것입니다.

 

작년에 발표됐던 클락데일 코어의 i5, i3 프로세서에서는 인텔이 GPU를 CPU에 내장시켰습니다. 2개 칩을 하나로 패키징한 것에 지나지 않지만 실제 측정 결과 GPU 클럭과 BCLK 클럭은 서로 연결되어 작동하였다는것이 알려졌습니다.

 

20.jpg

 

CPU와 GPU 소비 전력의 일체화 관리

 

샌디 브릿지 아키텍처에서 GPU가 진정한 의미에서 CPU에 내장되어 하나의 코어가 되었습니다. CPU와 GPU는 밀접한 관계를 이루고 있으며 터보 부스트 2.0는 CPU와 GPU의 일체화 소비 전력 관리를 지원하여 필요에 따라 GPU의 클럭을 높일 수 있습니다. 이런 변화가 가져온 영향은 상당히 큰데, 예를 들어 게임 중에서 CPU의 사용이 남는다면 터보 부스트 2.0이 GPU의 성능을 높이기 위해 GPU의 클럭을 높이게 되는 것입니다. 여기에 샌디 브릿지에서 GPU 아키텍처에 새로운 개선이 이루어져 별도의 성능 향상이 이루어졌습니다.

 

21.jpg

 

터보 부스트 2.0의 다양한 조합

 

32나노 하이-K 공정을 통해 낮아진 소비 전력과 발열은 터보 부스트 2.0이 더 큰 성능을 발휘할 공간을 제공할 것입니다. 샌디 브릿지 아키텍처의 CPU 클럭은 2.2~3.4GHz 사이인데, 코어 i7-2600은 기본 클럭이 3.4GHz이고 터보 부스트 2.0에서 4개 코어를 3.8GHz까지 올릴 수 있으며 싱글 코어는 4.2GHz까지 올리는게 가능합니다.

 

22.jpg

 

터보 부스트 2.0에 새로 늘어난 클럭 변화 모니터링

 

터보 부스트 2.0은 CPU의 클럭 변화를 실시간으로 모니터링하는 프로그램을 지원합니다. 인터페이스도 매우 직관적이며 CPU 형태의 창을 사용합니다. 코어 i5-2500의 기본 클럭은 3.3GHz이지만 저 프로그램에 의하면 3.5GHz까지 상승한 것을 볼 수 있습니다.

 

 

12. AVX 명령어 셋트

 

명령어 셋트는 CPU에서 실행할 수 있는 명령어의 집합으로, 1개의 명령어는 1개의 조작-오퍼레이션-에 해당하며, 어떤 프로그램도 마지막에는 몇개의 명령어로 번역되어 CPU가 이를 식별하고 실행합니다. CPU는 명령에 의존하여 계산을 하며 시스템을 조절하고, 명령어의 강약에 따라 CPU의 성능도 달라지며, 명령어 셋트는 CPU의 효율을 높여주는 도구이기도 합니다.

 

CPU는 기본적인 명령어 셋트를 가지고 있습니다. 예를 들어 인텔과 AMD의 절대 다수 프로세서는 x86 명령어 셋트를 사용하는데, 이것은 이 제품들이 x86 아키텍처에서 비롯된 것이기 때문입니다. 하지만 CPU가 얼마나 빠르건 x86 명령어는 오직 한번에 1개의 데이터만 처리할 수 있어 효율이 매우 낮습니다. 우리가 실제 사용하는 어플리케이션에서는 데이터가 일종의 셋트를 이루어서 출현하는 경우가 많은데, 예를 들면 1개 점의 좌표(XYZ)나 색상(RGB), 멀티 채널 사운드 등이 그렇습니다. CPU가 이런 부분에서 높은 성능을 낼 수 있도록 하기 위해서는 특수한 명령어를 사용하여 시대의 변화에 따른 수요를 따라가게 되며, 이렇게 새로 늘어나는 명령어를 확장 명령어 셋트라고 합니다.

 

인텔 CPU의 확장 명령어 셋트의 변화

 

인텔은 1996년에 MMX(Multi Media eXtensions) 멀티미디어 확장 명령어 셋티으를 도입하여, SIMD(Single Instruction Multiple Data) 명령어 셋트의 선구자가 되었습니다. 즉 1개의 사이클에 1개의 명령어로 여러 데이터 조작을 완성할 수 있는 것입니다. MMX 명령어 셋트는 당시 펜티엄 MMX부터 사용되기 시작했습니다.

 

23.jpg

 

인텔 프로세서의 확장 명령어 셋트의 변천사

 

SSE(Streaming SIMD Extensions)는 1999년에 인텔이 펜티엄 3 프로세서에 먼저 사용한 것으로서, 그 벡터 처리 능력을 64비트에서 128비트로 높인 것입니다. 윌라멧 코어의 펜티엄 4에서는 SSE2로 확장되었으며(2000년), SSE3 명령어는 프레스컷 코어의 펜티엄 4부터 시작되었습니다.

 

SSE4(2007년)은 SSE 명령어 셋트에서 제일 큰 명령어 확장으로, 펜린에서 도입된 SSE4.1과 네할렘에서 도입된 SSE4.2로 나뉩니다. 그 중 SSE4.1에 대부분의 명령어-47개-가 있고, 네할렘에서 추가된 SSE4 명령어 셋트는 7개밖에 안됩니다. 이렇게 하여 총 54개의 명령어가 SSE4.2가 됩니다.

 

24.png

 

샌디 브릿지의 AVX 명령어 셋트.

 

그 다음으로는 SSE5가 나와야 할것 같지만, 2007년 8월에 AMD가 먼저 SSE5 명령어 셋트를 발표하자 인텔은 SSE5 대신 AVX 명령어 셋트를 샌디 브릿지에서 사용한다고 2008년 3월에 발표하고, 4월에는 AVX 명령어 셋트의 스펙을 정식으로 발표했습니다. 그 이후 여러 변화가 있긴 했지만, 업계에서는 AVX가 샌디 브릿지의 제일 중요한 특징이라고 보고 있습니다.

  

인텔 AVX 명령어 셋트의 소개

 

AVX(Advanced Vector Extensions) 명령어 셋트는 AMD SSE5의 설계에서 일부를 참고하여, 확장/강화시켜 만든 차세대 SIMD 명령어 셋트입니다.

 

25.jpg

 

IDF 2010에 등장한 AVX의 응용.

 

2010년 4월의 IDF 2010에서 인텔은 AVX의 응용 사례를 보여주었습니다. 2개의 다른 플랫홈에서 운동복의 국기를 추적하는데 AVX를 지원하는 영상 추적 시스템은 14초가 걸려서, AVX를 지원하지 않은 시스템보다 21초 빠른 결과가 나와 60% 이상의 성능 향상을 보여주었습니다.

 

관심 있으신 분은 AVX 관령 영상의 33분 쯤을 보세요. http://intelstudios.edgesuite.net/idf/2010/bj/keynote/100413_DP_CN/f.htm

 

26.jpg

 

인텔 AVX의 새로운 특징.

 

인텔 AVX는 다음과 같은 몇가지 확충과 강화가 있습니다.

 

256비트 벡터 계산으로 부동소수점 성능을 2배 증가.

개선된 데이터 재배열로 효율적으로 데이터를 액세스.

3 조작 함수와 4 조작 함수를 지원하여 벡터와 스칼라 코드에서 레지스터를 더 효율적으로 사용.

 

256비트 벡터 계산의 지원

 

199년에 SSE는 벡터 처리 능력을 64비트에서 128비트로 끌어올렸습니다. 그 이후로 SSE 시리즈는 128비트 XMM 레지스터만 사용해 왔는데, 이번에 AVX가 16개의 128비트 XMM 레지스터를 256비트 UMM 레지스터로 확충하면서 256비트 벡터 연산을 지원하게 됐습니다.

 

27.jpg

 

128비트 XMM 레지스터가 256비트로 확장.

 

이것은 동시에 8개의 32비트 부동소수점이나 1개의 256비트 부동소수점을 처리할 수 있다는 것을 의미합니다. 프로그램을 짤 때 SSE 128비트의 제한을 신경쓰지 않아도 되며, 한번에 더 많은 조작을 직접 해서 256비트 데이터 대역폭의 코드를 충분히 이용한다면, 이상적인 경우 부동소수점 성능은 최고 2배 늘어나게 됩니다.

 

당연히 256비트 코드를 충분히 이용하지 못할 경우도 있습니다. 대부분의 경우 이런 레지스터에서 128비트보다 더 높은 부분은 0이나 left unchanged로 채워질 것입니다. 동시에 모든 SSE/SSE2/SSE3/SSSE3/SSE4 명령어는 AVX와 완전 호환되기 때문에(AVX는 MMX를 호환하지 않습니다) 실제로 조작하는 YMM 레지스터가 128비트보다 낮아도, 원래의 SSE 시리즈 명령어와 차이가 없습니다.

 

28.jpg

 

샌디 브릿지의 하이라이트.

 

명령어 대역폭의 개선을 만족하기 위해 Load 유닛도 한번에 256비트를 처리할 수 있는 능력을 갖춰야 합니다. 따라서 1개의 완전한 Load 조작을 할 수 있는 유닛을 추가하였으며 이것은 단순히 대역폭이 배로 늘어난 것이 아닙니다. 이렇게 하여 1 사이클에 256비트의 곱셈/덧셈과 셔플 연산이 가능합니다.

 

새로운 256비트 레지스터를 사용하여 데이터 I/O 효율이 나아지고 데이터의 전달과 태그가 더 나아졌으며, 데이터의 배열 순서를 동적으로 고칠 수 있게 되었습니다. 이렇게 하여 필요한 데이터를 조직하고, 엑세스하고 불러들여 연산하는 속도가 더 빨라지고 효율적이 되었습니다.

 

29.jpg

 

AVX는 아주 많은 새 부동소수점 연산 명령을 추가했습니다.

 

AVX는 많은 새 부동소수점 명령어를 추가하여 부동소수점 연산 능력을 강화하였으며, 3D 게임의 성능 향상 뿐만 아니라 복잡한 플래시의 표시, 더 빠른 SVG(스케잉러블 벡터 그래픽), 더 나은 HTML5 효과 등을 지원하게 되었습니다. GPU 계산과 비교하면 전력 소비가 더 적고, 크기가 더 적고, 제조 원가도 아주 낮아 GPU 연산에 상당한 충격을 가져다 줄 것입니다.

 

 

3 조작수와 4 조작수

 

통상적인 컴퓨터 명령어느 조작 코드와 조작 수(Operands, 피 연산 수)를 가지고 있습니다. 조작 코드는 조작의 완성을 결정하고 자작 수는 연산에 참가하는 데이터와 필요한 유닛의 주소를 가리킵니다. 예를 들어 movaps xmm1, xmm0은 듀얼 조작수이며 SSE 명령 movaps는 조작 코드로서, 그 기능은 xmm0 레지스터의 내용을 xmm1에 복사하는 것입니다.

 

30.jpg

새로운 3 조작수와 4 조작수의 포멧.

 

AVX 명령어의 개선과 더불어 원래 특징을 강화하여 , 3 조작수의 명령어 코드와 문법을 더욱 알맞게 사용할 수 있게 되었습니다. 예를 들어 xmm10 = xmm9 + xmm1라는 기능은 지금까지만 해도 2개의 명령어를 사용하여 실행해야만 했습니다.

 

movapps xmm10, xmm9 xmm9 레지스터의 데이터를 xmm10으로 복사할것
addpd xmm10, xmm1 xmm1과 xmm10 레지스터의 데이터를 추가하여 xmm10에 저장할것

 

하지만 AVX 명령어에서 새로 늘어난 3 조작 함수를 사용하면 1개의 명령만으로 완성됩니다.

 

vaddpd xmm10, xmm9, xmm1

 

AVX의 3조작 삼수는 더 적은 레지스터 복제를 사용하며 더 간단한 코드를 사용한다는 것을 알 수 있습니다.

 

4 조작 함수는 비록 AMD의 SSE5에서 먼저 나온 것이지만, 인텔의 AVX에서도 이를 지원합니다. AVX 128과 AVX 256비 비파괴성 문법을 사용하기 때문에 레지스터 사이에 복사를 줄이고 코드를 간소화하며 load/op fusion의 기회를 늘리는데 도움이 됩니다.

 

movaps xmm0, xmm4
movaps xmm1, xmm2
blendvps xmm1, m128

 

이상의 3개 명령어를 4 조작 함수를 사용하면 xmm0을 쓰지 않고 1줄의 명령으로 완성할 수 있습니다.

 

vblendvps xmm1, xmm2, m128, xmm4

 

정렬되지 않은 메모리 어드레스 엑세스의 효율적 지원

 

CPU가 작동할때는 메모리 데이터의 길이(예를 들면 32비트)의 배수에 따라 메모리 조작을 진행하게 됩니다. 예를 들면 어드레스가 0, 32, 64, 96 같은 식으로 나가면서 엑세스를 하는 것이고, 27, 58, 83 같은 어드레스에 엑세스하진 않습니다. 만약 이런 어드레스에 저장된 내용을 직접 엑세스 가능하다면 메모리 효율을 크게 높일 수 잇을 것입니다.

 

하나의 구조체 설계 길이는 32의 배수일 필요는 없습니다. 예를 들어 6바이트의 구조를 사용하면 길이가 48비트가 되는 것입니다. 만약 다양한 형태의 이런 구조를 메모리 배열에 사용한다면, 시작 주소가 주소의 경계에 위치하지 않는 여러가지 구조가 있을 것이고, 따라서 프로그래머가 각 구조의 끝부분에 반드시 공백문자를 넣어서 32비트의 배수로 바꿔야 할 것입니다. 이것이 메모리 정렬의 기본 원리입니다.

 

31.jpg

 

전통적인 명령어에서 정렬되지 않은 메모리 엑세스(unaligned memory access)를 할 때에, 상당히 큰 액세스 사이클을 필요로 하며, 심지어는 그 속도를 대폭 감소시키기도 합니다.

 

AVX 명령어 셋트에서느 VEX prefix에 연결된 코드의 산술 명령과 메모리 엑세스 명령어가, 메모리를 더 효율적으로 엑세스할 수 있도록 하여 정렬되지 않은 메모리 주소를 바로 엑세스하여 데이터를 꺼내올 수 있게 하였습니다. 물론 정렬되지 않은 데이터 엑세스에는 어느 정도의 성능 손실이 있지만, 전통적인 명령어와 비교하면 많이 줄어든 것입니다.

 

혁신적인 VEX 명령어 포멧

 

인텔은 2008년 봄 IDF에서 AVX를 소개하면서 AVX에서 도입한 VES(Vector Extension)을 소개했습니다.

 

32.jpg

 

VEX 명령어 코딩 솔루션

 

x86 명령어는 쉽게 확장이 가능하지만 새로운 명령어와 새로운 데어터에 맞춰 확장을 해야 하며, 모두 opcode 전에 새로운 1바이트 prefix를 넣는 것으로 확장을 지원합니다. 이렇게 하여 명령어 셋트의 복잡도와 명령어 길이의 증가를 하게 되며, 이 때문에 이진 구조에서 데이터가 쓸데없이 남게 되고 CPU 명령 디코드 하드웨어가 복잡해지게 됩니다.

 

VEX 인코딩은 이 문제를 해결하였습니다. VEX는 prefix의 데이터를 압축하는 방법을 사용하여, 1바이트의 payload에 전부의 prefix를 포함시켜, 명령어 길이를 단축시키고 불필요한 code size의 낭비를 대폭 줄였습니다. 뿐만 아니라 앞으로 새로운 레지스터를 도입할 수 있고, 128비트나 더 긴 256비트 데이터에서도 payload를 압축하게 됩니다.

 

33.jpg

 

인텔 AVX와 AMD XOP.

 

VEX prefix는 2바이트와 3바이트 버전으로 나뉘는데 prefix 부분에서 C4h와 C5h를 사용합니다. AMD의 XP 명령어 셋트도 비슷한 방법을 사용하는데 XOP의 prefix 바이트는 8Fh로 바뀝니다. 비록 prefix가 다르긴 하지만 payload 부분의 포멧은 VEX와 같습니다. AVX의 VEX 코딩 시스템은 인텔 프로세서의 앞으로 변화를 반영하며, x86 시리즈 CPU의 코딩 능력 부족을 해결할 것입니다.

 

AVX는 샌디 브릿지의 제일 중요한 개선점

 

34.jpg

 

AVX와 SSE의 처리 속도 비교

 

인텔 AVX 명령어 셋트는 벡터 처리 성능을 256비트로 끌어올려, 이론적으로는 CPU의 부동소수점 성능을 최대 2배로 끌어올렸습니다. 뿐만 아니라 혁신적인 VES 코딩은 x86 디코더의 병목 현상을 해결할 것으로 기대됩니다.

 

AMD의 SSE5와 인텔의 AVX 명령어 셋트는 그 기능이 비슷하지만, AVX가 더 많은 우수한 특징을 가지고 있습니다. 비록 SSE5가 AVX보다 더 먼저 발표되었지만 작년에 AMD도 AVX를 지원할 것이라고 결정하였기 때문에 개발자들에게 어려움은 없을 것입니다. 동시에 AMD는 SSE5를 고쳐 XOP, CVT16, FMA4 명령어 셋트를 새로 정의할 것입니다. 심지어 AVX 명령어 때문에 불도저가 2010년에서 2011년으로 연기되었다는 이야기도 있으니까요.

 

AVX는 샌디 브릿지에서 제일 중요한 개선점이며, 며칠 후면 그 진면목을 보게 될 것입니다. 물론 하드웨어 뿐만 아니라 소프트웨어의 지원은 필수 불가결한 것인데, 다행인 것은 윈도우즈 7 SP1에서 AVX를 지원한다는 것입니다.

 

 

13. 새로운 그래픽 코어 아키텍처

 

35.jpg

 

클락데일과 다르게, 샌디 브릿지 아키텍처의 코어와 GFX는 똑같이 32나노 공정을 사용하며, 듀얼 채널 메모리와 PCI-E 2.0 컨트롤러를 내장하고 있습니다.

 

샌디 브릿지의 제일 큰 개선점은 LLC를 링버스로 고치면서 레이턴시를 25사이클로 줄였으며, 코어, GFX, 디스플레이 멀티미디어 컨트롤러가 L3 고속 캐시를 모두 공유한다는 것입니다. 이렇게 하여 프로세서의 모든 코어, 그래픽 코어, 시스템 에이전트가 직접 L3 캐시에서 통신을 진행합니다.

 

36.jpg

 

샌디 브릿지는 일반 버전과 배수 제한이 없는 K 버전으로 나뉘는데, 일반 버전의 GFX는 HD 그래픽스 2000이고, K 시리즈와 모든 모바일 프로세서는 더 높은 HD 그래픽스 3000을 사용합니다.

 

HD 그래픽스 2000과 HD 그래픽스 3000의 제일 큰 차이는 6개의 실행 유닛입니다. 3000은 12개의 실행 유닛이 있고 2000은 6개지요. 따라서 성능에서 상당한 차이가 납니다.

 

37.jpg

 

내장된 그래픽 코어의 해설

 

샌디 브릿지의 그래픽은 Command Streamers, Media Processing, Multi-Foumat Codec, EU, Array of Unified Execution Units, Media Sampler, Texture Sampler와 명령어 캐시로 구성됩니다.

 

38.png

 

인텔 HD 그래픽스 3000

 

39.png

 

인텔 HD 그래픽스 2000

 

 

14. 멀티미디어 프로세서

 

40.jpg

 

샌디 브릿지는 전통적인 프로세서의 개념을 뛰어넘어, 멀티미디어 프로세서라고 부르는 것이 더 타당할 것입니다. 그 중에는 내장 그래픽 유닛의 고효율 비디오 디코딩 기능이 있습니다. 그래픽스 부분이 멀티 포멧 코덱을 포함하였는데, 이것은 전용 병렬 엔진으로 MPEG-2/VC-1/VC 포멧의 영상을 디코딩할 수 있으며, MVC 포멧의 서라운드 3D의 재생도 지원합니다.

 

여기서 강조해야 할 것은 샌디 브릿지 GFX의 디코딩은 내부 실행 유닛에서 처리하는 것이 아니라 모두 멀티 포멧 코덱에서 완성된다는 것입니다.

 

41.jpg

 

동영상 인코드도 샌디 브릿지에서 뛰어난 부분 중 하나입니다. 이 과정은 프로그래머블 실행 유닛을 통해 진행되며 연산량에 따라 실행 모드를 알맞게 조절합니다. 미디어 샘플러에는 많은 양의 Video Motion Estimator가 있어 이를 통합 실행 유닛 어레이에 넘겨 처리하게 합니다.

 

42.jpg

 

동영상 인코딩/디코딩 과정 중에 샌디 브릿지는 AVC의 완전한 하드웨어 가속을 실현합니다.

 

43.jpg

 

샌디 브릿지는 Color Processing Accelerators를 백 엔드에서 처리하는데 그 주요 기능은 STE(Skin Tone Enhancement), ACE(Adaptive Contrast Enhancement), TCC(Total Color Control)이 있습니다. 이들은 모두 인텔 CUI에서 설정이 가능합니다.

 

44.jpg

 

STE.

 

45.jpg

 

STE의 사용 예.

 

46.jpg

ACE의 작동 원리.

 

47.jpg

 

ACE의 사용 예.

 

48.jpg

 

TCC의 원리.

 

49.jpg

 

TCC의 사용 예.

 

 

15. 샌디 브릿지 프로세서의 구별

 

50.jpg

 

51.jpg

 

샌디 브릿지는 새로운 LGA 1155 소켓을 사용합니다. 기존 LGA 1156과 1개의 접점이 차이날 뿐이지만 CPU 양쪽에 움푹 들어간 위치가 다르기 때문에 두 소켓은 호환되지 않습니다.

 

예전 제품과의 혼동을 막기 위해, 인텔은 샌디 브릿지 프로세서에 코어 ix-2000이라는 이름을 붙이기로 하였습니다. 코어 i7 시리즈는 2600이고 코어 i5 시리즈는 2500/2400/23x0, 코어 i3 시리즈는 21x0, 펜티엄은 G8x0과 G620 등입니다. 이런 명명 방식을 보면 코어 i7-2700과 코어 i3-2200 같은 후속 제품이 나올 것으로 보입니다.

 

52.png

 

코어 ix-2000 시리즈의 명명 방식은 인텔의 예전 코어 브랜드와 비슷합니다. 여기서는 코어 i7-2600K를 예로 들어봅시다.

 

인텔 코어는 브랜드 이름, i7은 제품군(i7은 플래그쉽, i5는 메인스트림, i3은 저가형), 2600은 구체적인 제품 번호, K는 이 제품의 버전(보통 제품은 아무것도 없고 K는 배수락 해제, S는 절전형, T는 초저전력)입니다.

 

53.png

 

샌디 브릿지 프로세서의 제품 스펙은 다음과 같은 차이가 있습니다.

 

1. 코어 i7 시리즈는 4 코어 8 스레드, 8MB L3 캐시, 터보 부스트.

 

2. 코어 i5 시리즈는 4 코어 4 스레드, 6MB L3 캐시, 터보 부스트(유일한 예외는 코어 i5-2390T로 2코어 4스레드, 3MB L3 캐시입니다)

 

3. 코어 i3 시리즈는 2 코어 4 스레드, 3MB L3 캐시, 터보 부스트 지원 안함.

 

4. 펜티엄 시리즈는 2코어 2 스레드, 3MB L3 캐시, 터보 부스트 지원 안함.

 

54.png

 

내장 그래픽의 경우 K 시리즈는 인텔 HD 그래픽스 3000이고 나머지 코어 i7/i5/i3과 S/T 버전은 인텔 HD 그래픽스 2000입니다. 펜티엄은 인텔 HD 그래픽스를 사용합니다.

 

내장 그래픽의 클럭은 조절이 가능한데, 코어 i7-2600K의 경우 850Mhz에서 1350Mhz로 상승합니다.

 

 

16. 6 시리즈 칩셋의 구별

 

샌디 브릿지의 칩셋은 비지니스용 플랫홈으로 Q67, Q65, B65가 출시되지만 우리가 관심을 가지고 있는 것은 일반 소비자용 플랫홈으로 출시되는 P67, H67, P61이겠지요.

 

55.jpg

 

인텔의 칩셋 로드맵입니다. P67과 H67은 내년 1월에 샌디 브릿지 프로세서와 같이 발표되오 지금의 P55, H57, H55의 위치를 대체하게 됩니다. 내년 2분기에는 저가형인 H61이 출시되어 기존의 G41을 대체합니다. 이 말은 오랬동안 이어졌던 LGA 775 소켓이 드디어 LGA 1155로 대체된다는 이야기가 되겠습니다.

 

56.jpg

 

인텔 P67 칩셋의 구조도입니다.

 

PCI-E 버스와 메모리 컨트롤러가 CPU에 내장되고, CPU에서 제공하는 PCI-E 채널은 x16이나 x8 + x8입니다. NVIDIA의 SLI 라이센스를 얻었으니 SLI와 크로스파이어 모두 지원합니다.

 

P67 PCH는 14개의 USB 2.0 포트를 지원합니다. 아직 USB 3.0은 지원하지 않습니다. SATA 포트 중에는 2개의 6Gbps가 있습니다. 이 말은 인텔이 6 시리즈 칩셋에서 차세대 SATA 표준을 네이티브 지원한다는 것입니다. 그 밖에 인텔 익스트림 튜닝 메모리 최적화 기술을 지원합니다.

 

57.jpg

 

인텔 H67 칩셋의 구조도입니다. H67 칩셋은 CPU의 내장 그래픽을 사용할 수 있습니다. HDMI와 디스플레이포트 출력이 가능하며, 그래픽 데이터 전송을 위한 전용 채널인 FDI(Flexible Display Interface)가 있는데 이것은 H55와 같습니다.

 

P67과 다르게, H67은 CPU의 PCI-E 채널을 2개로 나누지 못해 오직 1개의 x16 슬롯만 사용할 수 있습니다. 2개의 SATA 6GBps 포트를 지원하지만 메모리 최적화 기술은 제공하지 않습니다.

 

H61은 P67의 보급형으로 SATA 6Gbps 포트를 지원하지 않고, USB 2.0 포트는 10개로 줄었으며, PCH에 내장된 PCI-E 버스도 6개이고, 레이드도 지원하지 않습니다. H61은 2개의 메모리 슬롯만 제공하며 1개의 채널이 1개의 슬롯이 됩니다.

 

58.png

 

간단하게 비교하면 이렇습니다.

 

6 시리즈와 5 시리즈 메인보드의 제일 큰 차이라면 SATA 6Gbps의 네이티브 지원입니다. 또한 6 시리즈의 PCH 제공 PCI-E 대역은 2.5GT/s에서 5GT/s로 늘어났습니다. 따라서 서드파티 USB 3.0/SATA 6Gbps 포트를 사용해도 충분한 대역폭을 낼 수 있게 되었습니다.

 

또한 6 시리즈 칩셋은 PCI 슬롯을 지원하지 않기 때문에, PCI 슬롯을 사용하려면 별도의 서드파티 칩셋을 장착해야만 합니다.

 

 

17. 샌디 브릿지 프로세서의 실물 모습

 

59.jpg

 

코어 i7-2600입니다. 파란색 디자인, 박스 크기는 상당히 많이 줄었습니다.

 

60.jpg

 

CPU의 앞면과 뒷면.

 

61.png

 

CPU-Z 스크린샷.

 

코어 i7-2600은 32나노, LGA 1155, 4코어 8스레드, 기본 클럭 3.4GHz, 8MB L3 캐시, 듀얼 채널 DDr3 메모리 컨트롤러, 네이티브 인텔 HD 그래픽스 2000 내장 그래픽, 터보 부스트 2.0 지원, TDP 95W.

 

62.jpg

 

쿨러.

 

소비 전력이 작기 때문에 레퍼런스 쿨러도 그리 크지 않습니다. LGA 1156 쿨러와 같은 물건입니다.

 

63.jpg

 

박스 구성품.

 

 

18. 샌디 브릿지 프로세서의 소비 전력

 

P67 메인보드와 코어 i7-2600, 코어 i5-2300. 그리고 P55 메인보드와 코어 i5-750의 소비 전력을 비교했습니다. 메인보드가 다르기 때문에 최종 결과는 CPU만의 소비 전력은 아니며 전체 플랫홈의 차이입니다.

 

아이들은 시스템을 켜고 나서 10분 후에 기록한 것이고 풀로드는 스트레스 프라임 2004로 10분동안 부하를 줘서 측정했습티다. 측정 장비는 시소닉 파워엔젤.

 

64.png

 

아이들에서 코어 i5-750의 P55 플랫홈은 코어 i7-2600이나 코어 i5-2300의 P67 플랫홈보다 9~10W 정도 소비 전력이 더 적습니다. 하지만 거긋은 아이들 상태의 클럭이 낮기 때문일 것입니다. 풀로드에서 터보 부스트를 켜자 이들 프로세서의 작동 클러는 기본 클럭을 넘어섰습니다. 이때 코어 i5-2300은 코어 i5-750보다 9W 정도 낮았고, 코어 i7-2600은 최고 148W까지 상승했습니다.

 

샌디 브릿지가 GPU를 내장했다는걸 고려하고, 코어 i5-2300 플랫홈의 클럭이 높았다는걸 생각하면 소비 전력이 더 줄어들었다고 할 수 있겠습니다. 우수한 전원 관리와 32나노 공정의 장점이겠지요.

 

 

19. 샌디 브릿지 프로세서의 온도

 

온도도 마찬가지로 코어 i7-2600, 코어 i5-2500, 코어 i5-750의 3가지 프로세서를 사용하여 측정했습니다. 스트레스 프라임으로 10분 정도 부하를 준 상태에서 온도가 안정되면 AIDA64 1.5로 각 코어의 아이들/풀로드시의 온도를 측증했습니다.

 

테스트 중에 두 플랫홈은 모두 EIST와 터보 부스트를 사용했습니다. 쿨러는 공냉 쿨러 중에서 좋은 성능을 보여주는 슈퍼 메가 외에도 인텔의 레퍼런스 쿨러를 장착했습니다.

 

65.png

 

먼저 프로리마테크 슈퍼 메가 쿨러를 사용했을 경우입니다. 아이들시에 온도는 다들 같습니다. 풀로드에서는 소비 전력이 제일 낮은 코어 i5-2300이 제일 우수하며, 코어 i5-750보다 2.6도 정도 낮았습니다. 소비 전력이 제일 많은 코어 i7-2600도 52도 정도였습니다.

 

66.png

 

레퍼런스 쿨러를 장착했을 경우입니다. 아이들 시의 온도가 31도로 올랐지만 이건 3개 CPU가 전부 같습니다. 풀로드에서 코어 i7-2600은 79도, 코어 i5-750은 74.1도, 코어 95-2300은 68.5도가 나왔습니다. 이것은 샌디 브릿지 플랫홈의 온도가 전작보다 개선되었다는것을 의미합니다.

 

풀로드 시에 레퍼런스 쿨러의 온도는 비교적 높은 편이니 오버클럭을 원한다면 저보다 더 좋은 쿨러가 필요할 것입니다.

 

 

20. 샌디 브릿지 프로세서의 오버클럭

 

인텔 P67 칩셋이 이전의 P55 칩셋과 다른 점이라면, 베이스 클럭 제네레이트와 DMICLK의 설계 방식을 사용하지 않고 클럭 제네레이터를 내장하며 베이스 클럭을 사용하지 않습니다. 따라서 오버클럭은 DMICLK를 조절해야만 가능합니다.

 

여기서 문제가 발생합니다. DMICLK를 약간만 조절해도 PCI-E, SATA 클럭이 다 같이 바뀐다는 것이지요. 따라서 샌디 브릿지는 지금까지 했던 것처럼 버스 스피드를 올려서 CPU 클럭을 올리는 방법을 사용하기가 상당히 어렵게 되었습니다. 샌디 브릿지 프로세서의 기본 DMICLK는 100Mhz이며, 110Mz를 넘기도 힘듭니다.

 

오버클럭커들의 수요를 맞추기 위해, 인텔은 샌디 브릿지 프로세서를 Full Unlocked와 Partially Unlocked의 두가지 버전으로 출시하게 되었습니다. Full Unlocked는 제품명 뒤에 K가 붙는 제품으로 배수 제한이 걸려있지 않습니다. Partially Unlocked는 배수가 어느 정도 제한되어 있지만 터보 부스트를 사용하여 오버클럭이 됩니다.

 

여기서는 배수 제한이 풀린 코어 i5-2500K 프로세서를 사용하여 오버클럭을 하였습니다. 메인보드는 기가바이트 P67A-UD4, 쿨러는 프로리마테크 슈퍼 메가, 스트레스 프라임으로 안정성 테스트를 했습니다.

 

67.png

 

코어 i5-2500는 터보 부스트를 사용하면 3.4GHz까지 상승합니다.

 

68.png

 

기가바이트 P67A-UD4 메인보드는 코어 i5-2500K의 시스템 버스를 106Mhz까지 올릴 수 있습니다.

 

69.jpg

 

코어 i5-2500K를 공냉에서 4.7GHz로 오버클럭.

 

바이오스에서 CPU 전압은 1.360V로 하고 다른 전압은 자동으로 했을때 CPU 클럭이 4.7GHz가 되었습니다. 이때 시스템 버스는 100MHz, 배수는 47, 안정적으로 스트레스 프라임을 통과했습니다.

 

바이오스에서 터보 부스트를 켜면 최대 배수가 255까지 되지만 터보 부스트를 끄면 57까지 조절 가능합니다. 하지만 이 CPU가 실제로 적용 가능한 배수는 47이었습니다.

 

여기서 알아둬야 할 것은 P67 메인보드가 DDR3 메모리에 제한을 하지 않고, 메모리 클럭이 DMICLK에 따라서 메모리 배수가 결정됩니다. 기가바이트 P67A-UD4를 예로 들어서 설명하면 바이오스 설정에서 메모리 배수를 8.00에서 21.33까지 설정할 수 있습니다.

 

 

21. 메모리 성능 테스트

 

메모리 성능은 AIDA64 Extreme Edition v1.5의 캐시와 메모리 벤치마크를 사용하여 측정했습니다.

 

70.png

 

코어 i5-750의 메모리 성능.

 

71.png

 

코어 i5-2300의 메모리 성능.

 

코어 i5-750과 코어 i5-2300의 메모리 클럭이 666Mhz로 똑같은 상황에서, 읽기/쓰기/ 복사 성능은 샌디 브릿지가 개선되었습니다. 각각 6.53%, 26.31%, 7.63%가 상승하였습니다. 메모리 레이턴시는 기본적으로 같습니다. CPU의 캐시 성능은 샌디 브릿지 쪽이 읽기/쓰기 성능이 훨씬 높습니다.

 

 

22. HD 영상 재생

 

HD 영상 테스트는 파워DVD 10을 이용하여 테스트했습니다. 작업 관리자에서 CPU 점유율을 측정했습니다.

 

72.jpg

 

파워DVD 10.

 

73.jpg

 

파워DVD 10에서 인텔 클리어 비디오 하드웨어 가속 기능을 켭니다.

 

코어 i5-2300과 H67 메인보드의 구성에서 인텔 클리어비디오의 유무를 비교하고, 추가로 NVIDIA 퓨어 비디오(지포스 GTX 460)과도 비교하였습니다.

 

74.png

 

인텔 클리어 비디오의 위력은 상당한 편입니다.

 

 

23. 벤치마크 환경 설명

 

75.png

 

4종의 플랫홈을 사용했습니다. 코어 i5-750과 코어 i5-2300을 직접 비교하게 되는데 이것은 두 제품의 가격대가 비슷하기 때문입니다. 플랫홈 설정은 모두 기본값으로 했습니다. 그 외에 코어 i7-920과 코어 i7-2600을 전부 4GHz로 오버클럭하여 비교했습니다.

 

게임 테스트는 지포스 GTX 460 1GB, 윈도우즈 7 울티메이트 64 SP1, 최신 버전 드라이버.

 

 

24. 기초 어플리케이션 성능 1

 

76.png

 

코어 i5-750과 비교했을때 코어 i5-2300은 대부분의 경우에서 높은 성능을 보여주고 있으며, 평균 18.16% 높은 성능을 보여주었습니다. 특히 부동소수점 연산 부분에서 성능 향상이 컸는데, AVX 명령어 셋트와 관련이 있을 것입니다(어떤 프로그램이 AVX를 지원한다고는 안써놨군요).

 

현재 코어 i5-750과 코어 i5-2300의 가격은 비슷하기 때문에 LGA 1156 소켓은 LGA 1155로 완전히 대체될 것입니다.

 

 

25.기초 어플리케이셩 성능 2

 

77.png

 

샌디 브릿지와 블룸필드를 똑같은 클럭으로 설정했을 경우, 샌디 브릿지의 성능이 더 높았으며 특히 부동소수점 성능이 잘 나왔습니다. 평균 15.27%의 성능 차이가 나왔습니다.

 

물론, 샌디 브릿지는 DDR3 듀얼채널 메모리만 지원하기 때문에 트리플채널 메모리를 지원하는 블룸필드에 미치지 못합니다. 산드라의 메모리 테스트에서는 8~9% 정도 떨어지는 것으로 나왔습니다.

 

 

26. 게임 성능 테스트

 

78.png

 

비슷한 가격대의 코어 i5-2300과 코어 i5-750의 게임 성능 차이는 그리 크지 않았습니다. 샌디 브릿지가 2% 정도 앞섰으며, 월드 인 컨플릭트에서는 최대 7.55%의 성능 차이가 나왔습니다.

 

79.png

 

똑같이 4GHz로 설정한 코어 i7-2600과 코어 i7-920은 게임에서의 성능 차이가 별로 확실하지 않았습니다. 평균 1.57% 정도.

 

 

27. 샌디 브릿지 내장 그래픽 성능 벤치마크 플랫홈

 

80.png

 

인텔의 HD 그래픽스(코어 i3-530), HD 그래픽스 2000(코어 i5-2300), HD 그래픽스 3000(코어 i5-2500K)의 성능 향상이 어느 정도인지 알아보고, AMD 880G 칩셋(라데온 HD 4250), 지포스 210 DR2 128MB, 라데온 HD 5450 DDR2 128MB를 비교용으로 사용했습니다.

 

여기서는 지포스 210의 성능을 100%로 잡고, 다른 제품들의 성능이 얼마나 차이나는지 그래프로 작성했습니다.

 

 

28. 샌디 브릿지의 내장 그래픽 성능

 

81.png

 

82.png

 

83.png

 

84.png

 

85.png

 

86.png

 

87.png

 

88.png

 

 

29. 결론. 개선된 성능과 소비 전력

 

89.jpg

 

인텔의 틱-톡 전략에 맞춰 출시된 샌디 브릿지는 더 나은 성능과 소비 전력이란 말로 요약이 가능합니다.

 

AVX로 CPU의 벡터 처리 성능을 256비트로 늘리고 부동소수점 성능을 높였으며, 터보 부스트 2.0으로 CPU와 GPU에 더 효율적인 클럭 조절을, 또한 진정한 CPU+GPU 결합 구조, 종합 성능 개선을 이루었습니다.

 

90.jpg

 

인텔은 2008년에 LGA 1366, 2009년에 LGA 1156, 2011년에 샌디 브릿지의 LGA 1155 소켓을 발표하면서 많은 원망을 사고 있습니다. 현지 LGA 775가 상당한 시장을 차지하고 있지만 앞으로 LGA 775는 샌디 브릿지로 대체될 것이고, 블룸필드와 린필드 쿼드코어는 최상위 제품군에 당분간은 그대로 남아있다가 올해 4분기에 코드네임 Patsburg 칩셋과 LGA 2011 소켓의 샌디브릿지-E로대체될 것입니다.

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.