Zoom In 펜티엄4 ! [2]

중앙일보

입력

펜티엄4의 성능

프로세서의 성능을 측정하기 위한 유일한 방법은 어플리케이션을 실행하는데 걸리는 시간을 따져보는 것이다. 같은 시간에 처리한 명령어의 개수를 측정하는 것도 같은 방법이다.

위 수식이 뜻하는 바는 우수한 성능을 제공하기 위해서는 필연적으로 높은 동작 주파수(Frequency)를 필요로 할 뿐 아니라 클럭당 실행되는 명령어의 수(IPC) 또한 많아져야 한다는 것이다. 펜티엄4에서는 높은 동작 주파수를 얻기 위해 20레벨에 이르는 하이퍼 파이프라인(Hyper Pipeline)을 채택하고 있는데, 문제는 파이프라인의 깊이(depth)가 깊어질수록 IPC에서는 손해를 본다는 것이다. 파이프라인 깊이와 IPC는 서로 트레이드오프(trade-off) 관계라는 것이다. 따라서 파이프라인의 깊이만 무조건 깊게 한다고 프로세서의 성능이 향상되는 것이 아니므로 인텔은 파이프라인의 깊이를 깊게 하는 한편 IPC를 향상시키기 위한 다양한 방법을 고안하여 펜티엄4에 적용하고 있다.

다양한 기술이 사용된 넷버스트 마이크로 아키텍쳐

펜티엄4는 IA-32 아키텍쳐에서 최고의 성능을 이끌어내는 것을 목표로 설계되었고, 이러한 설계 목표를 만족시키기 위해 다수의 신기술들이 적용되었다. 현재 인텔은 펜티엄4에 사용한 대부분의 기술적인 내용들을 공개하였으며, 그 내용은 다음과 같다.

펜티엄4의 다이는 이렇게 구성된다.

하이퍼 파이프라인 기술(Hyper Pipelined Technology) : 넷버스트 아키텍쳐에 사용된 하이퍼 파이프라인의 깊이는 P6 마이크로 아키텍쳐의 파이프라인 깊이와 비교해 그 2배인 20 레벨에 이른다. 일반적으로 파이프라인의 각 스테이지에 사용되는 게이트(Gate)의 수가 적을수록 클럭을 높이는 것이 용이하기 때문에 20 레벨에 달하는 하이퍼 파이프라인은 추후 넷버스트 마이크로 아키텍쳐가 좀 더 높은 주파수로 동작하게 하는 기초가 된다.

실행 추적 캐쉬(Execution Trace Cache, ETC) : 실행 추적 캐쉬는 L1 명령어 캐쉬를 구현하는 새로운 기술이다. 실행 추적 캐쉬는 이미 디코딩된 x86 명령어의 마이크로 오퍼레이터(micro-op)를 저장함으로써 명령어 디코더와 관련된 레이턴시를 줄이는 역할을 한다. 또한 실행 추적 캐쉬는 프로그램의 실행 흐름에 포함된 명령어들만을 저장함으로써 캐쉬의 저장 용량을 효율적으로 사용하게 할 뿐 아니라, 분기 예측의 실수로 인해 낭비되는 시간을 절약한다.

고속 실행 유닛(Rapid Execution Unit) : 넷버스트 마이크로 아키텍쳐는 심플한 디자인의 ALU(Arithmatic Logic Unit)을 탑재하여 프로세서 코어에 공급되는 2배 주파수로 동작하도록 규정하고 있다. 이로 인해 ALU가 명령어를 실행하는 데 소요되는 레이턴시는 통상의 경우에 비해 1/2로 줄어들게 되며, 결과적으로 프로세서의 실행 효율을 높일 수 있게 된다.

400MHz 시스템 버스 : 시스템 버스의 시그널링에는 100MHz 클럭이 내부적으로 4배 펌프되어 결과적으로 400MHz로 데이터를 전송하며, 버퍼링 또한 400MHz 전송을 지원한다. 이로 인해 펜티엄4 시스템 버스의 대역폭은 3.2GB/s로 과거 펜티엄III의 133MHz 버스 대역폭이 1.02GB/s였던 것에 비해 비약적으로 상승하였다.

고급 동적 실행(Advanced Dynamic Execution) : 넷버스트 마이크로 아키텍쳐의 고급 동적 실행 엔진은 대규모의 비순차적(out-of-order) 추측 실행(Speculative Execution)을 가능하게 한다. 이 기능은 명령어의 비순차적 실행에 있어 명령어간의 데이터 의존성(Dependency)을 파악하는 동안 발생할 수 있는 파이프라이닝의 일시적인 정지(Stall)를 피할 수 있다. 고급 동적 실행 엔진은 또한 분기 예측 능력을 향상시킴으로써 펜티엄4 프로세서가 좀 더 정확한 분기 예측을 하도록 해준다. 이로 인해 넷버스트 마이크로 아키텍쳐의 분기 예측 실패는 P6 마이크로 아키텍쳐에 비해 33% 가량 감소한다. 이러한 결과는 과거의 분기 히스토리에 대한 자세한 정보가 저장되는 4KB의 분기 목표 버퍼(Branch Target Buffer)와 발전된 분기 예측 알고리듬으로 인해 가능해진 것이다.

고급 전송 캐쉬(Advanced Transfer Cache, ATC) : 실행 추적 캐쉬가 L1 명령어 캐쉬에 적용된 기술인 반면, ATC는 L2 캐쉬를 대상으로 적용된 기술이다. ATC는 프로세서 코어와 32바이트로 인터페이스되어 있으며 프로세서와 같은 클럭으로 동작한다. 또한 매 클럭마다 데이터를 전송할 수 있으므로 1.4GHz의 펜티엄4라면 무려 48GB/s (32Byte * 1.4GHz)라는 엄청난 데이터 전송 속도를 가지게 된다.

Streaming SIMD Extention 2(SSE2) : SSE2는 MMX 명령어와 SSE 명령어에 다시 144개의 명령어를 추가한 것이다. 새로 추가된 명령어들은 128bit의 SIMD(Single Instruction Multiple Data) 정수 연산과 128bit의 SIMD 배정밀도 부동소수점 연산을 위한 것들이다. 이러한 명령어들의 추가는 펜티엄4의 비디오, 스피치, 이미지 처리, 암호화, 금융, 공학 및 과학 기술 분야의 어플리케이션 성능을 향상시킬 것이다.

이성희
자료제공: pcBee (http://www.pcbee.co.kr)

 

ADVERTISEMENT
ADVERTISEMENT