금성 Partner. 필자가 초등학교 6학년때 처음으로
접한 컴퓨터다. 당시 65만원이라는 거금을 들여 12인치 녹색모니터에 CGA를 장착하고 5.25인치 플로피드라이브 2D (2HD가
아니다)2개를 장착한 컴퓨터를 하나 마련했다. 한달동안 필자가 그 컴퓨터로 한것이라고는 구입할때 동봉된 플로피디스크에 들어있던 팩맨
게임이었다.
필자가 그컴퓨터를 쓰면서 가장 궁금하였었던것은 이노무
컴퓨터가 위쪽에 있는 플로피드라이브에 이상하게 영어로 씌여져있는 디스켓을 꼽지 않으면 아예 작동을 하지 않는다는 것이었다. 필자는 그것이
고장이라고 생각했다. 왜냐면 필자는 그 컴퓨터를 들여놓기전 MSX를 잠시 만져볼 기회가 있었는데, MSX에서는 플로피를 꼽지않아도 잘
작동했기 때문이었다. 그래서 엄마한테 한마디 했다. "엄마!! 이거 컴퓨터가 이상해" 우리어머니 왈 "그럼 A/S불러!!"
1990년이었다. 지금으로부터 딱 12년 전 이야기이다. 그때는 Intel
Inside라는 말 자체가 없었다. 그때 가장 중요한 구입 조건은 어느회사에서 만든 컴퓨터냐 하는 점이었다. 그러나 구입 6개월 후 필자는
통한의 눈물을 흘렸다. 왜냐!!! 그래픽카드가 CGA방식이었기 때문에 Hercules계열에서 돌아가는 게임이 작동하지 않았기 때문이다.
통한의 눈물을 흘린 필자는, 그때부터 각종 컴퓨터잡지를 꿰차고 살았다.
기억하실것이다. 마이컴. 필자는 이잡지를 3년정도 빼놓지않고 매달 25일 서점에가서 구입하였다. 그리고 부모님의 성화에 컴퓨터를 잠시
놓았던 필자는 1994년 추석, 고등학교 2학년때 드디어 일을 저지르고 말았다. 당시 486DX2가 주류이던 시절, 최고급제품이라는
컴퓨터를 용산에서 하나 조립했다. 물론 처음의 후회를 하지 않기위해 아주 조심해서. 그이름도 거창한 Intel Pentium 60Mhz
Processor가 탑재된. 약 300만원짜리였다.
- 언제부터 Intel Inside가 구입기준이 되었나?
Intel이
Pentium Processor를 출시한 뒤부터 대대적인 마케팅 전략을 사용하기 시작했다. 얼마의 시간이 흐른뒤 사람들에게는 Intel
Inside 로고가 구입의 필수요건으로 자리잡았다.
우리나라가 반도체 강국이라고 알고있는 대다수의 국민은 그래서 Intel이라는 이름에 더욱 친숙해있을지 모른다. Intel
Inside는 지금도, 대다수 국민의 컴퓨터 구입기준의 척도로 자리잡았다.
AMD는 그동안 뭘했을까? 가만히 앉아서 놀았나? 당시 K5의 참패후(K5는
성능면, 가격면에서 어떤층에서도 전혀 자신을 알릴 기회가 없었다.) AMD는 시장에서 잠수했다. 그뒤 필자가 고등학교를 졸업한 뒤
96년, 갑자기 핵폭탄 하나를 터트린다. AMD K6 Processor. NexGen을 인수하여 급조한 제품.
이거는 요즘말로하면 "만년묵은 CPU인 것이었던 것입니다~~~~" 라고
요약될수있는 반응을 불러일으켰다고 해도 과언이 아니다. 그전까지 AMD K5는 100% 고려대상이 아니었다. 기껐해야 "용팔이"라고
불리우는 작자들이 아무것도 모르는 고객들에게 저렴하게 컴퓨터를 맞추어주는데 사용된 하나의 '대용품' 이었다. 그들말처럼 당연히
저렴할수밖에 없었을것이다. Pentium 의 반도 안되는 값에 팔리곤 했으니. 참고로 말해두자면 95 1/4분기 Intel Pentium
100Mhz Processor의 용산 가격은 51만원이었다.
AMD의 폭풍이 불어닥치면서, 하이텔 / 나우누리 활동자들을 주축으로
AMD제품에 대한 활발한 토론이 오갔었다. AMD 관련 각종 포럼도 그때부터 생긴것이라 봐도 무방하다. 필자도 저렴한 가격에 힘입어
97년 후반인지 98년 초반인지 모르겠지만 K6-200을 뒤늣게 하나 구입했다. 구입에 가장 역점을 두었던 것은 각종 잡지의 벤치마크
구입가이드와 자료였다.
"최고의 가격대 성능비" 그때 요약은 그것 뿐이었다. 그이상도 그이하도
아니었다. Intel Pentium MMX 200보다 뛰어나고 Pentium II 233Mhz보다 조금 떨어지는 성능. 10만원대 중반의
가격. 그누가 구입하지 않겠는가? 필자는 K6이후로 줄곧 AMD만 사용하고 있으며, 지금도 Athlon 1333Mhz, Athlon
1700+ 두기지의 CPU를 사용중이다.
필자는 군에 복무했던 98년 6월 ~ 00년 12월까지 (공군에 복무했다)
약 100 ~ 200여대가 넘는 컴퓨터를 조립하여 판매한 남다른 경험이 있다. 당시 AMD계열이 60%였고 인텔이 40%였다. 따라서
AMD계열을 주로 사용하긴 했지만 다양한 경험으로 Intel제품 또한 접할기회가 많았다. 그러나 필자는 AMD Athlon의 성능에
반하여 줄곧 AMD만을 사용하고 있으며, Intel Pentium 4는 CPU도 아니다 라는 생각을 가지는 극좌주의자(?)중에 하나이다.
-
벌써 Pentium 4 의 열풍?
그러나 이번 Northwood건은 조용하게 데뷔했지만 그리 간단히 넘어갈 수
있는 상황이 아닌거같다는 느낌이다. 다시 확장된 512캐시, 엄청난 오버클럭능력, 저렴한 가격, 거기에 자꾸 붉어지는 VIA계열
메인보드의 불안정성 문제, 무엇하나 이제는 AMD만을 고집할 수 없는 상황이 되었다.
마침 필자에게 Intel Pentium 4 Northwood 1.6Ghz가
하나 생겼다. 그리고 여러 용도로 사용하면서 Northwood의 성능에 대해 많은 관심을 가지게 되었다. 어떻게 보면 CPU의 변화 때문이 아니라
해당 플랫폼에 대한 관심이라고 볼 수 있겠다. 따라서 필자는 이번 설 연휴동안에 두가지의 플랫폼에 대해 비교해보고싶은 욕심이 들었다.
마침 필자가 현재 AMD XP 1700+와 Northwood 1.6 두가지를 다 가지고 있고, 충분하게 사용도 해 보았다. 그래서
쓰기로했다.
필자는 이글의 컨셉을 가지고 많은 고민을 했다. 플랫폼 리뷰냐, 단순
가이드냐, CPU리뷰냐 ... 어떻게 해야될지에 대해 많은 고민을 했고 필자는 구입가이드로 최종 선택을 내렸다. 사실 가장 단순한
문제이면서 언제나 같은 컨셉같지만, 그때마다 사람들을 가장 골치 아프게 하는 컨셉이 바로 이것이다. 무엇을 살 것이냐? 무엇이 나에게
맞겠느냐?
- Northwood 1.6Ghz 와 Athon XP 1700+를 고른이유.
아주 단순하게 생각했다. 만약 진짜 공정하게 하자고 하면 XP 1700+가
아닌 1600+로 해야된다고 하는 분들도 계실것이다. 그러나 필자는 1700+를 선택했다. 단순하게 이야기하자면, XP1600+는 이미
용산에서는 역사속으로 사라진 제품이다. 구입가이드로서의 의미가 없어져버린 셈이다.
또한 Pentium 4는 이제 앞으로, Northwood의 시대다. 423을
산다는것은 이제 말도 안되는 이야기이며, 478 Willamette을 산다는것도 이해가 안가는 상황이다. 1만원의 가격차이인데 하나는
256KB의 Cache를 가지고있고, 다른 하나는 512KB라면 무엇을 사겠는가? 당연히 512KB의 Northwood를 선택할 것이다.
| Athlon XP 1700+
Ceramic |
Intel Pentium 4 Northwood
1.6 |
| 177,000 (2월 21일자
검색사이트 최저가격) |
195,000(2월 21일자
검색사이트 최저가격) |
가격적인 면에서 보아도 그렇다. 두제품의 가격을 그대로 받아들이는 분은
없으리라 믿는다. 필자가 파악하기로는 2월 9일자 Northwood가격은 용산에서 구입할수있는 가격이 208,000원 이었다. XP
1700+는 필자가 아는 후배에게 8일날 하나 구입해줘서 아는데 175,000이 맞다.(세라믹, 승전 정품) 가격적인 면에서나, 현재
가장 구입가치가 큰 제품을 상대로 비교를 하는것이 좋겠다는 생각이 들었으며, 가격도 상당히 엇비슷한 상태이고, 두제품 모두 구입이
부담가지않는 가격이라는 것도 크게 작용하였다.
혹, 뻔한 결론 아니냐? 로 AMD의 우세를 점치시는 분들이 많을것이라
생각된다. 솔직히 단순한 성능비교라면 AMD 1600+가 Intel 1.6G보다 앞서는것이 사실이다. 그러나 필자는 다른 방법으로
접근하고 싶다. Northwood를 구입하면서 오버를 생각하지 않는 사람이 있을까? AMD를 사면서 배수락을 풀지않을 사람이 있을까?
배수락까지는 아니더라도 약간의 오버는 누구나할것이다. 오히려 제조사들이 이점을 비공식적 마케팅의 도구로 이용하고 있다는 느낌까지 든다.
미리 말씀드리지만 단순한 성능비교테스트로 끝내지 않을것이다. 가능한한
모든경우를 전부 조사해볼것이며, 이경우는 하드코어 오버클럭을 제외하고 일반적인 상황에서 간단하게 조정할수있는 경우에 한정하였다. 간단한
조정으로 어디까지 사용이 가능한지 파악해 볼것이며, 플랫폼 비교를 통한 플랫폼의 안정성과 기타 점검사항까지 모두 다루어 볼것이다. 따라서
단순한 결론을 이끌어내지는 않을 것이다.
따라서 이글이 구입가이드이긴 하지만 필자는 조금 더 다양한 방법으로 접근을 하고자
한다. 여기서는 두가지 CPU의 아키텍처부터 살펴보고 넘어가려 한다.
Intel Pentium 4
Architecture
Architecture를 확인하기전, Northwood와
Willamette의 차이점에 대한 설명이 필요할듯하다. 어차피 뒤에서 설명해야할 구조도는 Northwood나 Willamette이나 몇가지 차이점을 빼고 똑같은 내용이기 때문에 보시는 분 입장에서 헷갈릴 수 있다. 따라서 먼저 Northwood와 Willamette의
차이점부터 알아본 후, 구조도에 관해 언급하도록 하겠다.
- Northwood와 Willamette Pentium 4 의 차이점
-
512KB 8-way L2 Cache
-
.13 micron process
Northwood의 Pentium 4는 기존 Willamette 478
Core의 개선판이라고 보는것이 현명하다. 즉, 공정을 기존 .18에서 .13으로 바꾸어 Die크기를 줄여 제조원가를 낮춘다음, 기존
256KB의 L2 Cache를 512KB로 확장하여 고성능 멀티미디어 작업시 성능하락을 방지하였다. 또한 기존 Willamette
Core의 최고 클럭이 2Ghz임에 반해 Northwood는 그이상의 Core Clock을 지원한다. 따라서 첫 제품은 2.0Ghz부터
출시되었다.
1.6Ghz의 Northwood가 나온 이유는 마케팅적인 면에서 해석할 수
있겠는데, 조금 더 빨리 기존 Willamette Core를 단종시키고 Northwood로 전환시키려는 인텔의 의지와, Athlon XP와의
대결에서 허우적대는 상황을 만회하고자 출시한것으로 보인다.
문제는 이 1.6Ghz에 있다. Northwood는 공정을 개선하여
기본적으로 2.0Ghz이상의 고클럭에서의 작동을 보증하도록 설계되었다. 그런데, 개선된 공정에서 1.6Ghz라는 아주 낮은(?)클럭의
제품이 나왔다. 이는 두가지의 가능성으로 압축될 수 있다고 판단된다.
1. 2.0Ghz이하의 제품이 나오는 불합격판정 제품을 모아서 판매하는 경우
2. 2.0Ghz 이상으로 작동함에도 불구하고 1.6Ghz로 표기하여 판매하는 경우
그러나 여기서 유추해볼 수 있는것은, Northwood의 오버폭에 관한
사실이다. 아시다시피 Northwood 1.6Ghz의 오버클럭에 대해 요즘 여기저기 시끄러운것이 사실이다. 조금이라도 아신다면, 1번항은
아니라는 계산이다. 그럼 2번이라는 이야기인데, 이것역시 꺼림찍하기도 하고 믿지 못하실 것이다.
- CPU 제조사들은 일부러 클럭을 낮게해서 판다?
일반인들은 이해가 잘 되시지 않겠지만, 이런경우는 비단 이번뿐이 아니었다.
AMD Athlon은 1Ghz이상 제품은 다 똑같다는 이야기가 많다. 1Ghz AXIA Core제품의 경우 1.3 ~ 1.4이상의 오버는
기본이라고 알려져있다. 이 상황 \도 같은 경우로 보인다.
CPU의 제조공정이, 클럭과 무관하게 같은 공정이라는 것을 잘 알고계시리라
믿는다. 여기에서 각 제품마다 동작클럭을 측정하여 그 상황에 맞는 클럭을 매겨 판매한다는것 또한 잘 알고계시리라 믿는다. 가령
2.1Ghz에서 안정적으로 작동하는 제품이라면 2.0Ghz로 한단계 낮추어 패키징하여 판매한다.
그런데, 상황이 이러면 어떨까? 현재 시장에서 주류제품이 1Ghz라고 하자.
그런데 공정의 개선으로 1.4Ghz에서 견디는 제품의 출고량이 전체 출고량의 절반을 넘는다고 가정하자. 또한 시장에서 주력제품이 1Ghz라고
가정하자.
이럴경우 회사입장에서는 두가지 입장을 취할 수 있을것이다. 1.4Ghz 에서 동작하는
제품을 1Ghz로 마킹한후 오버클럭 방지기술을 탑재시켜 판매하거나, 아니면 1.4Ghz의 가격을 1Ghz가격까지 낮추거나. 머리에 총을 맞은 CEO가 아니라면 후자는
절대로 선택하지 않을 것이다.
이런현상은 Athlon 1Ghz때 이미 있었고, Northwood에서도
다시 나타났다고 본다. 원래 Northwood는 2.0Ghz이상의 고클럭에서 작동이 가능하도록 설계된 제품이다. 그러나 마케팅의 특수상
1.6Ghz대의 주류제품이 필요했고, 어쩔수없이 2.0Ghz이상에서 동작이 가능한 제품을 배수를 고정시켜 1.6Ghz로 마킹하여 판매하는
것이라고 볼 수 있을 것이다.
- Pentium 4 Net-Burst Architecture's
specific Features
이제 Pentium 4의 구조도에 관해 살펴보도록 하자. Intel Pentium 4 Northwood가 내세운 장점은 다음과 같다.
다음은 인텔 공식기술자료에서 발췌한 부분이다.
이것에 대해 일일히 설명을 다 하자면 밤이 새도 모자를 듯한 느낌이 들지
않으시는가? 이중 필자가 짚고 넘어갈 몇가지를 간추려 소개할 예정이다.
사실 Net-Burst Architecture가 장점의 하나라고 기술하기는
좀 어려울 듯 하다. 물론 상단의 Features란에는 그렇게 써있기는 하지만, Net-Burst Architecture란 어느 하나의
기술을 의미하는 것이 아니라, Pentium 4 의 구조도 자체를 인텔은 'Net-Burst'라고 부른다.
Intel사는 Pentium III에서 SSE를 도입후, Pentium
III가 Internet에 적합한 프로세서임을 강조하는 뜻을 강조하려 했다는 것을 잘 알고있을 것이다. Pentium 4라고 해서 다를바
없다. 인텔은 역시 Pentium 4가 인터넷과 네트워크 환경에 가장 적합한 프로세서임을 강조하기위해 Pentium 4의 구조도 자체를
'Net-Burst'라고 부르는 것이다. 그러나 진짜 Pentium 4가 Net을 'Burst'해줄지는 두고볼 일이다.
Net-Burst Architecture에서 Intel사가 가장 강조하는
부분은 다음의 6가지로 볼 수 있다.
-
Quad-Pumped System Bus
-
Execution Trace Cache
-
Enhanced Branch prediction
-
Hyper Pipelined Technology
-
Rapid Execution Engine
-
Enhanced Floating Point & Multimedia
(SSE2)
이사항은 위의 인텔사의 공식자료에도 포함된 것이고, tomshardware를
비롯한 여러 사이트에서도 가장 강조(?)하는 부분이기도 하다. 필자는 이 6개의 기능에 대해서 여러분들과 하나씩 뜯어보는 재미를 가져볼까
한다.
- Quad Pumped System Bus
CPU는 단순히 명령어의 입력을 받아 처리해주어 결과값을 넘겨주는 장치이다.
그리 생각해보면, 명령어가 들어오는 부분이 있을것이고 나가는 부분이 있을것이다. 이부분을 System BUS라고 하며, 아래 그림의 왼쪽
부분이다.
사진출처 : tomshardware.com
시스템 버스를 통해 P4안으로 들어온 데이터는 제일먼저 BIU(Bus
Interface Unit)와 만나게 된다. CPU안으로 들어온 데이터는 이 BIU에서 지정한 속도로 L2 Cache로 전달이 되어
지는데, Pentium 4의 BIU의 대역폭은 3.2GB/S이고, 속도(FSB)는 100Mhz*4=400Mhz 이다.
Pentium 4 메인보드의 배수설정부분을 보면 100Mhz라고 되어있는데,
왜 400이냐 하면, FSB를 상향 조정하는데는 CPU제조사 입장에서 그만큼의 무리수가 가는 모험이다. FSB를 올리게되면 Noise를
심하게 타고, 또 그에대한 구조도의 개선이 필요한데, 인텔은 FSB를 직접 올리는 대신, Quad-Pumped를 채용하여 1클럭당 4개의
데이터를 보내게 한것이다. 이는 AGP 4X의 원리와 같으며, AMD XP에서 133*2를 하는것과 마찬가지의 개념이다.
Quad-pumped를 채용하게되면, CPU의 데이터 전송 대역폭을
획기적으로 증가할 수 있다. 계산해보면 64bit(8byte) X 100Mhz X 4 = 3.2GB/S가 되는것이다. 이는 역대 CPU상
최대의 대역폭을 가지는 것이라고 볼 수 있다. 대역폭이 늘어나게되면 가지게 되는 이점에 대해서는 Part II에서 다루도록 하자.
- Execution Trace Cache (추적캐시의 실행루트 개선)
데이터가 BIU를 지나고 L2를 지나 L1 Instruction
Cache부분으로 흐르게 된다. L1은 기본적으로 Data Cache와 Flow Cache(Instruction Cache / Trace
Cache)로 나뉘게 되는데, 그 역할이 캐시마다 다르다. P-III에서는 16/16을 , XP는 64/64를 가지고 있지만 P4는
8/12만을 가지게 된다.
적은 캐시의 용량을 보시고 혹, L1 캐싱능력이 떨어진다고 보시면 오산이다.
이는 구조적으로 향상된 Trace Cache가 내장되어있기 때문이다.
L1 캐시는 해당 데이터가 넘어오면 데이터를 Fetch하고, x86명령어로
바꾸어준다. 이것이 L1 Flow Cache의 역할인데, Trace Cache가 없는 기존의 L1캐시에서는 Execution
Engine에서 해당 데이터를 계속 호출할 때마다, Fetch와 x86해석을 반복해야만 했었다. 따라서 똑같은 데이터의 해석을 계속
반복해야만 했었다.
이를 향상시키기 위해서 기존의 구조도로는, 캐시의 속도를 올리는 전법을 썼다.
그러나 캐시는 어디까지나 CPU의 전체클럭에 고정되어버리기 때문에 클럭을 올리는데는 문제가 있었다. 또한 P6코어는 더이상 클럭을
올리기가 수월치 않은 구조였다.
Trace Cache는 이 단점을 보완하여, Instruction
Fetch에서 해석된 데이터를 Trace Cache로 넘기고, 여기에서 다시 Execution Engine으로 넘기게 된다. 그리고 해당
데이터를 당분간 계속 저장해놓고 있게된다. 따라서, 같은 데이터를 다시 호출할 시, Instruction Fetch부분으로 넘기지 않고,
저장되어있던 데이터를 그대로 돌려주게된다. 따라서 Instruction Fetch의 실행 용량을 크게 향상시킬 수가 있으며, 데이터의
해석/전송 속도도 그만큼 빨라지게 되는 것이다.
Enhanced Branch Prediction (분기 예측구조의
개선)
위에 tomshardware의 구조도를 보시면 아시겠지만, P4에는 크게
7개의 실행/분기 유닛이 있다. L1에서 넘어온 데이터는, 이 7개의 유닛중에서, 본인이 실행이 될 UNIT에 들어가서 해석되어야만
한다. 다음의 그림을 보자.
단순하게 그린 실행유닛의 구조도이다. L1에서 넘어온 데이터는 스케줄러를
거처 해당 유닛으로 들어가 해석이 되게 된다. 문제는 넘어온 데이터를, 어느 유닛에 어떻게 배정해야할지 아무도 모른다는것이다. 따라서, 해당 데이터의 흐름을 파악하여
비슷한 부류의 데이터가 들어오게 되면 해당 유닛으로 분기시켜주는 역할을 하는 장치가 바로 BPU(Bracnch Prediction)이다.
퀘이크같은 게임을 하게되면 게임을 하는동안 CPU를 가장 많은 부하에
빠트리는것은 부동소숫점연산일것이다. 즉, 하나의 작업을 하게되면 해당 작업이 끝날때 까지는 비슷한 부류의 데이터가 넘어온다는 뜻이다.
이것을 다음에 들어올 데이터의 분류를 미리 예측하고, 실행유닛의 상태에 따라 데이터를 해당 유닛으로 들어가게 해주도록 조언해주는
장치가 Branch Prediction인 것이다.아래의 그림을 보자.
왼쪽은 Branch Prediction이 없는 상태의 파이프라인 작동상황이고
오른쪽은 Branch Prediction이 있는 경우에 작동상황이다. 흰색은 빈 클럭이다.
Branch Prediction은 이렇게, 해당 파이프라인에서 해석될
명령어의 분배를 미리 예측해주어 클럭이 낭비되는 것을 막고 CPU가 최고의 작동을 할 수 있도록 해준다. 또한 정확한 예측이
Pipeline에서의 클럭의 낭비를 막는다. 다음의 Pipeline편에서 다시 다루어볼것이다.
Branch Prediction에는 두가지의 타입이 있다. Static
Prediction과 Dynamic Prediction이 있는데 Static Prediction은 단순한 구조로 되어있으며, 이는
대다수의 암시하고 있는 데이터가 반복적인 고리의 문맥에서 일어난다라고 하는 가정에 근거한다, 거기서 갈림 명령어는 고리를 다시 되풀이
해야 하는지 결정하기 위해 사용된다.
Hyper Pipelined Technology (더욱 깊은
파이프라인을 통한 속도개선) 과연???
Pentium 4에는 구조의 단순화로 실행유닛의 깊은 파이프라인을 만드는데
성공했다. P4의 파이프라인은 총 20단계로, Athlon / Pentium 3보다 깊은 파이프라인을 가지고 있다.
이런 깊은 파이프라인의 구조는 일정 작업에서는 좋은 효과를 거둘수도 있지만
(3D부분이나 동영상부분) 다른 면에서는 치명적인 단점이 된다. 만약 단계 3,4의 파이프라인 안으로 이미 들어와버린 상황이라면, L1
캐시에서 Instruction을 잘못 해석하거나 빗나갈경우 (Branch Prediction의 오류에 의해서) 이 파이프라인을 빠져나와
Instruction Decod부터 다시 시작해야만 한다. 아래의 그림을 보면 Execution Engine부분에 흰색으로 되어있는
부분이 있다. 이부분은 Pipeline에서 오류가 발생하여 해당 클럭을 비워버린 경우이다. (명령은 처음부터 다시 시작하고, 해당
클럭동안 실행유닛은 놀게된다)
이런상황이 계속 발생을 하게되면, 성능에 치명적인 단점이 될 수가 있다.
파이프라인은 무조건 깊게 되어있다고 좋은것이 아니라는 뜻이다. 이 빈 클럭은 'Pipeline Bubble"이라고 불리우는데, 해당
클럭에 프로세서가 Branch Prediction부분의 예측 실수로 배분을 못하는 경우이다.
문제는 더 심각하다. P4같은 20단계의 파이프라인이라면, 하나의
Bubble이 생긴다면 20단계 전체가 수포로 돌아가므로 20 Cycle이 낭비된체 버려지게 된다. 따라서 정확한 분기예측과
Instruction Decode가 수반되어야 제성능을 발휘할 수 있다. 그러나 아무리 분기예측을 정확하게 한다고해도 오류는 나게
마련이며, 이 오류는 엄청난 사이클을 허공에 그냥 버려버리는 셈이다.
단계별 실행상황은 다음과 같다
- 단계 1, 2 : Trace cahce next
instruction pointer
- 단계 3, 4 - Trace Cache Fetch
- 단계 5 : Drive
- 단계 6, 7, 8 : Allocate and Rename
- 단계 9 : Queue
- 단계 10, 11, 12 : Schedule
- 단계 13, 14 :Dispatch
- 단계 15, 16 : Register Files
- 단계 17 : Execute
- 단계 18 : Flags
- 단계 19 : Branch Check
- 단계 20 : Drive
해당 단계에 대해 다 알아본다면 세월이 언제 끝날지 모르니, 알아볼 수 있는
링크를 마지막에 공개하도록 하겠다. 참고하시기 바란다.
Rapid Execution Engine (더욱 빠른 유닛의 연산
실행속도)
펜티엄 4의 실행유닛의 갯수는 애슬론 / 펜3계열보다 상당히 단순화한 구조로
되어있다. 그러면 어떻게 높은성능(?)을 낼수가 있을까?
정수연산부분(초록색)을 보게되면, 2xALU로 되어있는것을 보실 수 있다.
그럼 이는 ALU가 두개라는 이야기인가? 머지?ㅡㅡㅋ
Rapid Execution Engine은 1클럭당 2개의 명령어를
처리해주는 기술이다. 즉 생각해보면, Net-Burst 구조도 자체를 다음의 말로 요약할수있을 것으로 보인다 "구조는 단순하게, 속도는
빠르게"
실행유닛의 수를 늘리게되면, 그만큼 복잡한 스케줄러와, Trace
Cache, 분기예측이 필요하므로, 이를 줄이고 실수를 범하지 않게하면서, 빠른 클럭으로 대응하는 것이다. 이미 20단계의
Pipeline을 가지고 있기에 프로세서의 전체 클럭또한 상향시키기가 아주 쉬운것이다.
Rapid Execution Engine이란, 정수연산 부분이 2개의 2배수
ALU, 1개의 Slow ALU로 구성되어있는것을 뜻한다. 즉, 실제로 유닛의 갯수는 3개이지만, 5개의 효과를 낸다는 것이다. (애슬론의
정수연산 유닛은 6개이다)
이는 장점이면서 단점이 될 수가 있는데, 단점이 더 눈에 보인다. 이
Rapid Execution Engine에서는 FPU부분은 포함하지 않고 있다. 따라서 FPU는 1개의 유닛을 사용하므로 3개를 사용하는
Athlon계열보다 느릴 수 밖에 없다.
또한 실질적으로 Unit의 갯수는 3개이지만(정수연산부분) Slow Unit은 Rapid Execution이 처리할 수 없는
복잡한 코드로 구성된 코드의 해석부분을 담당한다. 따라서, 처리할 수
없는 부분이 기하학적으로 늘게되면 이는 프로세서 전체의 병목 현상으로까지 번지게 되는 사태가 발생하게된다. 그렇지만 그런 경우가 그리
많지 않기때문에 (대부분의 코드는 간단한 구성으로 되어있다) 실질적으로 5개의 유닛의 결과와 비슷한(?) 성능향상을 느낄 수는 있다.
FPU부분은 오히려 P4가 P3보다 떨어진다는 인상을 받을것이다. 이는
산드라 점수나 기타 등등에서 이미 증명된 것이다. 유닛의 갯수가 P3에 비해 줄었기 때문이다. 부동소숫점 연산은 P4에서는 단
한개의 유닛만 사용했다.(P3에서는 두개, 애슬론은 3개) 인텔에서는 유닛의 증가가 성능에 영향을 미치지 않는다고 하지만, Athlon 과 비교하게 되면
그 성능차이는 뚜렷히 확인할 수 있다. 대신 인텔은 다른 곳에서 그 대안을 찾아다고 한다. (과연 대안이 될지 ㅡㅡㅋ)
Streaming SIMD Exetension 2 (멀티미디어
확장연산기능 2)
P4의 가장 메리트라고 말할수 있는 점이 이 SSE2가 아닐까 생각된다.
144개의 새로운 명령어는 기존 SSE보다 더욱 강력한 기능을 탑재하고 있으며, 부동소숫점 연산 가속기능까지 제공하고
있다.또한 SSE2는 128비트 데이터로 구성이 되어있다.
문제는 역시 지원 Software이다. SSE2를 사용하려면, 기존 사용하던
x86코드를 버리고 SSE2코드로 변경해야만 한다. 새로운 변화는 누구나 싫어하는 법. 아직 SSE2를 사용할 수 있는 Softwre는
아직 없다. 그러나 분명 뛰어난 기술임에는 분명하고, MMX / SSE와는 달리 활용폭이 대단히 넓다는 것에 찬사를 보낼 수도 있을것이다.
AMD는 이미 SSE를 XP에 포함시켰으며, SSE2를 Hammer 시리즈에 장착할 것이라고 이미 밝혔다.
Athlon XP Architecture
Athlon 계열의 프로세서가 세상에 나온지도 어언 2년 6개월이 다
되어간다. Athlon 계열의 구조도를 파악하려면 결국 2년 6개월전으로 거슬러 올라가야 한다는 것인데, 여기서는 기존 Athlon
특징에 대해서는 간단하게만 언급하기로 하고 XP로 올라가면서 바뀐점에 대해서 중점적으로 다루어보도록 하자.
출처 : tomshardware.com
- L1 Cache 구조도 / Branch Prediction의
정확성
Athlon의 실행유닛 개수는 이전에 말한것처럼 9개이다. 정수연산부분은
IEU와 AGU가 하나처럼 작동하여 실질적 해석 유닛은 3개이며, 부동소숫점연산부분은 두개이다. 따라서 P4보다 다른 모든 사항을
고려하지 않았을때 좋은 성능을 보일것으로 생각된다.(실제로 그렇다)
위의 블럭 다이어그램은 Slot Athlon을 이야기하므로 L2 Cache가
빠져있다. 오른쪽 아래에 보면 L2 SRAM과의 통신에 대해 나와있다. 구조도상으로 보면 안에 들어와있냐, 나가있냐 뿐이지 별 차이가
없으니 그냥 보아주기 바란다.
Athlon계열은 P4와 달리, L1 Cache에서 x86명령어를
Predecode하여 넘겨준다. 물론 Instruction Decoder는 따로 있다. 또한 2Way의 Instruction Cache
, 3Way Decoder를 가지고 있어 P4보다 Decoder능력에서 훨씬 강력함을 엿볼 수 있다. 이는 데이터가 파이프라인을
통과하는데서 상당히 중요한데, 아까 언급하였듯, Decode를 잘못하게되면 Pipeline을 다시 빠져나와야 하기 때문에 중요성은 그만큼
커진다.
Athlon은 한번에 3개의 명령을 Decode할 수 있고, 뒤에서 언급할
분기예측기술의 발전으로 Pipeline에서 버려지는 clock이 줄어들게 된다. 또한 명령어 수행유닛도 P4보다 많다. 그러나 BUS
Interface가 2.1GB/S로 P4보다 떨어지며, 내부동작 클럭이 P4에 비해 느리므로 이는 단점이 될 수도 있다.
- Pipeline
Athlon의 Pipeline은 총 15단계이다. 파이프라인은 두가지의
얼굴을 가지고 있는데 이 두가지가 완전히 반대의 경우(?)를 나타내기에 파이프라인이 길고 짧은것에 대해 좋다, 나쁘다라고 말하기가
어렵다.
파이프라인이 길면 그만큼, 수행처리 속도가 줄게되며, 또한 깊은
파이프라인일수록 전체 CPU의 클럭속도를 상향하기가 상당히 쉽다. 따라서 전체적으로 파이프라인은 늘어나는 추세이다.
그러나 파이프라인이 길어질시, Branch Prediction에서 예측을
잘못하게되면, 진행되던 모든 과정이 수포로돌아가고 처음부터 다시 시작해야된다. 따라서 분기예측 코드 설계를 제대로 못하면
Pipeline이 긴것이 오히려 성능에 영향을 끼치게 된다. 자세한것은 P4부분에서 이미 언급하였기로 넘어가도록 하겠다.
Athlon XP Palomino 와 Thunderbird의 차이점
- QuantiSpeed Architecture
Intel이 Net-Burst라고 부르듯, AMD는 Palomino의 구조도
이름을 QuantiSpeed Architecture 라고 부른다. 특징은 아래와 같다.
Thunderbird는 기존 Athlon Classic이 L2-Cache가
Off-die되었던 것에 반해 On-die시킴으로서 Processor Clock과 동일하게 L2 캐시를 작동시켜, 고클럭으로 갈수록
떨어지는 Cache성능을 보완하였음에 그 큰 의미가 있다.
Athlon XP (Palomino)는 Thunderbird와 역시 별
차이가 없다. 공정은 0.18um그대로이고 몇가지 부분에서 개선되었다. 가장 큰것이 아마 SSE의 지원이 아닐까 싶다.
SSE의 지원으로, 기존에 많이 발표된 SSE지원 소프트웨어에서의 성능향상을
느낄 수 있다. 실제로 멀티미디어 소프트웨어에서는 대부분 SSE를 채용하고 있는데 이들 지원 소프트웨어에서 강력한 기능을 더욱 느낄 수
있을 것으로 보인다.
또한 가장 중요한 또하나의 장점은 소모전력감소라고 할 수 있겠다.
다음의 표를 보면 알 수 있다.
이표는 Athlo XP의 기술문서에 있는 표로서, XP계열의
CPU 전력소모에 대해 언급하고 있다. 2000+의경우 Max. 70W의 전력을 소모한다고 한다. 기존 Athlon 1.4Ghz가
65W의 전력을 소모한것에 비하면 상당한 전력감소율이라고 할 수 있다. 이로인해 파워선택의 해방에서 조금 더 자유로워지며, 전체
전력사용율이 떨어짐에 따라 시스템의 안정화를 가지고 온다. 또한 내구성 향상에도 많은 도움이 된다.
또한 Thermal Diode의 지원으로, Intel P4의 IHS와 비슷한
기능을 추가하였는데, 이는 Part III에 쿨링 솔루션 정리에서 다시 알아보기로 하자.
결론을 내리자면 Athlon XP는 기존 Athlon Thunderbird의
성능향상판이기는 하지만, 그외에 기존의 단점을 보완하는 수정판이라고 보는것이 더욱 현명한 방법이라고 본다. SSE의 지원은 아주
매력적이지만 그외 성능상의 향상은 없다. 물론 Pre-fetch가 도입이 되어 L1 Decode 향상에 많은 도움이 되었으나 전체적인
성능향상은은미미한 편이다.
Part I을 마치며
이상 Athlon XP와 Northwood의 구조도에 대해 알아보았다. 대강
자신이 구입하려는 제품이 어떤 기능을 가지고 있는지 알아보자는 취지에서 진행이 되어, 너무 깊이 들어가지 않으려고 노력했다. 그러나 이걸
설명해야하면 저걸 설명해야하고, 꼬이고 꼬이는것이 큰 문제였다. 어렵다고 생각되지면 보지 않으셔도 되겠다.
필자는 Engineer가 아닌 이상(Engineer가 되려는 중이다) 이
구조도에 관해 어떤것이 더 낫다고 결론지을 수 없을것 같다. 실제로 살펴보면 알겠지만 모든 기술은 양날의 칼을 가지고 있다. 이게
좋아지면 저게 떨어지고 그걸 보완하려면 다시 이렇게 해야되고, 그렇게 복잡하게 얽히고 싥히게 된다.
Pentium 4는 그 구조를 처음부터 다시 짠 점에서 볼때 평가해줄만
하다. Pentium IV의 모토는 "구조는 단순하게, 속도는 빠르게"라고 아까 언급한적이 있다. 몇가지 상황을 제외한다면 현상황에서
불만없는 컴퓨팅에는 문제가 없다고 판단된다.
Athlon XP는 현재 IBM계열 CPU구조도상 최강의 제품임은 틀림이
없다. 또한 이 구조가 98년에 출시된 구조에서 몇가지를 제외하고 거의 변화가 없다는 것이 더 놀랍다. 하긴, P6 코어는 5년을 가까이
버텼었다.
이글은 구입가이드다. 또한 Intel Northwood 1.6과 Athlon
XP 1700+의 구입가이드다. 구입가이드에 웬 구조도냐고 하시겠지만 CPU의 갈림은 해당 플랫폼의 갈림을 의미하고, 사용하는 메모리의
종류, 메인보드 등, 성능과 안정성에 중요시되는 부품들의 구조를 결정짓는 역할을 한다. 따라서 건성으로나마 CPU의 구조에 대해
살펴보았으며 Part II에서는 해당 CPU의 플랫폼에 대해 살펴볼 것이다.
그리고 Part III에서는 직접 구입을 해볼 것이고, Part IV에서는
꼽아보고 직접 써보도록하고, Part V에서는 마치도록 할 것이다. 컴퓨터를 구입하는데 생각할수있는 모든 환경을 전부 언급하도록 하겠다.
그래야 진정한 구입가이드 아닌가? 단지 CPU하나 좋다 나쁘다가 아니라 구입하려는 사람들은 CPU, Memory, M/B, AGP까지
전부 고려하게 된다. AGP의 고려는 여기서 제외하도록 하고, 검토할수있는 모든 경우를 Part V까지 전부 다 검토해 볼 것이다.
1부마침
Part II예고
| 당신은 무엇을 사겠는가. Part II Intel VS AMD Platform 비교
|
| Intel Platform
Intel i850 |
| Intel Platform
Intel i845 |
| Intel Platform
VIA P4X266A |
| Intel Platform
SiS645 |
| Intel Platform
ALi ALADDiN-P4 |
| Intel
Platform에서 RDRAM이 가장 성능이 뛰어난 이유 |
| AMD Platform
VIA KT266A / KT333 / KT333A |
| AMD Platform
SiS 735 / 745 |
|
AMD Platform ALi MAGiK 1 |
| AMD 플랫폼에서
DDR333이 쓸모가 없는 이유는? |
Part III 예고
| 당신은 무엇을 사겠는가. Part III
가격별 플랫폼 비교 |
| 최적의 플랫폼을 찾아라 |
|
Platform별 가격비교 |
|
적절한 쿨러의 선택 |
Part IV 예고
| 당신은 무엇을 사겠는가. Part IV
성능테스트 |
Part V 예고
예고의 내용은 필자의 집필 사정상 추가될 수 있습니다.
|