artykuły

Pentium 4 "Prescott" - recenzja na żywo [zakończona]

2 lutego 2004, 11:16 Krzysztof Wierzbicki, Paweł Pilarczyk
Gdy pod koniec 2000 roku do sprzedaży trafił procesor o kodowej nazwie "Willamette", czyli pierwsze wcielenie Pentium 4, na rynku zawrzało. Wielu z niedowierzaniem patrzyło na wyniki benchmarków pokazujących, że pracujący ze znacznie wyższym zegarem P4, zazwyczaj tylko nieznacznie wygrywał z najwydajniejszym Pentium III, a w wielu testach nowy procesor zostawał nawet w tyle! Willamette nie powstał jednak po to, by pokonać w pojedynku "zegar w zegar" swojego poprzednika. Pentium 4 swoją przewagę zawdzięczać miał zdolności do pracy z zegarami nieosiągalnymi dla PIII. A wszystko dzięki dwukrotnie dłuższemu potokowi wykonawczemu.

Obecnie mamy do czynienia z sytuacją analogiczną. W dniu dzisiejszym Intel zaprezentował procesor, który w założeniu wcale nie ma być wydajniejszy od porównywalnego Northwooda. Nowy Pentium 4, znany dotychczas pod nazwą kodową "Prescott", wykonany jest w technologii 0,09 mikrometra i - teoretycznie - może być taktowany zegarami przekraczającymi 5 GHz!

W naszym laboratorium testujemy - na żywo - procesor Pentium 4 "Prescott" taktowany zegarem 3,2 GHz. Porównamy go do Pentium 4 "Northwood" (0,13 mikrometra), a także Athlon 64 3200+. Zapraszamy do naszej recenzji na żywo.

Spis treści

Tajemnice Prescotta

Willamette zadebiutował z potokiem wykonawczym składającym się aż z 20 etapów. Jeszcze do niedawna wydawać by się mogło, że rozwiązanie to ciągle jest na tyle rewolucyjne i przyszłościowe, że bez problemu pozwoli na dalsze zwiększanie zegara Pentium 4. Tym bardziej, że z Prescottem debiutuje nowy wymiar technologiczny 90 nm (0,09 mikrona), podnoszący jeszcze bardziej górną granicę możliwego do zastosowania zegara. A jednak, Intel pomimo tego zdecydował się na kolejne wydłużenie potoku wykonawczego. Potok Prescotta ma aż... 31 etapów! Widać więc wyraźnie, w jakim kierunku Intel zmierza... zegar ponad wszystko! Dlaczego jednak wydłużenie potoku wykonawczego przekłada się na wyższy zegar procesora? Odpowiedź jest prosta. Im dłuższy potok, tym każdy z jego etapów może być mniejszy (krótszy), a tym samym złożony z mniejszej liczby tranzystorów. To zaś w konsekwencji umożliwia mu pracę ze znacznie wyższym zegarem (prosta zależność: mniejsza złożoność układu - wyższy zegar, z jakim może on pracować).


Prescott - testowany w naszym laboratorium procesor to wersja inżynieryjna (można ją rozpoznać po napisach "Intel Confidential")

Gdyby jednak wydłużanie potoku wykonawczego przynosiło tylko korzyści, dziś mielibyśmy procesory z potokami złożonymi z kilkudziesięciu etapów. Tak się jednak nie dzieje. Rozwiązanie to pociąga bowiem za sobą bardzo poważne konsekwencje. Wyobraźmy sobie taką sytuację: wykonywany przez procesor program jest już na końcu długiego potoku wykonawczego, gdy nagle okazuje się, że chce on skoczyć do adresu, który nie został wcześniej przez procesor przewidziany. W konsekwencji, program ten nie może być całkowicie wykonany, a cały potok trzeba opróżnić i wypełnić ponownie. A im dłuższy potok, tym więcej instrukcji "w locie" zostaje utraconych i tym dłużej trwać będzie ponowne napełnienie potoku. By sobie z tym poradzić, Intel we wszystkich procesorach Pentium 4 zastosował, obok klasycznej pamięci pierwszego poziomu dla danych, układ o nazwie Execution Trace Cache, będący niczym innym, jak pamięcią cache dla instrukcji umieszczoną za dekoderami instrukcji. Pamięć ta przechowuje więc nie fragmenty kodu maszynowego x86, a ciągi mikrooperacji procesora, które powstały już po zdekodowaniu przyjętych instrukcji x86. Dzięki temu rozwiązaniu, cały potok wykonawczy staje się efektywnie krótszy (Execution Trace Cache znajduje się bowiem w jego wnętrzu i nie trzeba zaczynać, po błędnej predykcji skoku, od pierwszego etapu potoku wykonawczego), a dodatkowo odpada konieczność wielokrotnego dekodowania instrukcji tworzących powtarzające się pętle.


Prescott od spodu

Także Prescott korzysta z Execution Trace Cache. Jednak z racji znacznie dłuższego potoku wykonawczego, pamięć ta znajduje się relatywnie głębiej w samym potoku, a tym samym, w porównaniu do dotychczasowego P4, efektywnie jeszcze bardziej go skraca. Co więcej, choć Execution Trace Cache pomieścić może tyle samo mikrooperacji, co w przypadku obecnego P4 (12K), to Intel zrobił sporo, by przechowywane w tej pamięci instrukcje były dokładnie takie, jakich procesor może w danej chwili potrzebować.

P4 od samego początku wyposażony jest w mechanizm spekulatywnych pobrań wyprzedzających (do pamięci cache L2 pobierany jest kod "na zapas"). Za owe pobrania wyprzedzające odpowiedzialny jest bardzo rozbudowany układ przewidywania (predykcji) rozgałęzień programu, który może decydować, np. o rozpoczęciu dekodowania ciągu instrukcji stanowiącego wyjście z pętli lub ewentualną gałąź programu jeszcze przed wypełnieniem warunku skoku. Zdekodowane odgałęzienie programu trafia wtedy do Execution Trace Cache, dzięki czemu w chwili wypełnienia warunku skoku procesor pobiera dalsze operacje już z tej pamięci. Intel chwali się, że obecny w Prescocie system predykcji rozgałęzień jest znacznie bardziej zaawansowany, a przez to efektywniejszy niż znany z obecnego P4. Co więcej, by pobrania wyprzedzające były jeszcze efektywniejsze, a przez to ekstremalnie długi potok wykonawczy Prescotta nie tracił czasu na zbędne obliczenia, Intel wyposażył swój najnowszy procesor w dwukrotnie większą pamięć podręczną pierwszego (nie 8, a 16 kB) i drugiego poziomu (cache L2 urósł z 512 kB do 1 MB). Warto jednak wspomnieć, że pamięć ta charakteryzuje się większymi opóźnieniami w stosunku do cache Northwooda. Większy, ale wolniejszy cache L1 i L2 jest jednak w przypadku Prescotta znacznie bardziej korzystny, aniżeli mniejszy, ale za to szybszy. Mówiąc dosadniej, gdyby nie większy cache i usprawnienia predykcji, Prescott mógłby wypaść na tle obecnego P4 tak samo „efektownie”, jak Willamette w porównaniu z Pentium III...

Strona:
tygrysekZobacz profil
Poziom ostrzeżenia: 0%
tygrysek2004.02.02, 11:18
jedna recenzja, dwóch recenzentów mniam mniam!
SunchezZobacz profil
Poziom ostrzeżenia: 0%
Sunchez2004.02.02, 11:43
PIŁA przetestuj Prescotta na

Asusie P4P800/P4P800Delux !

Interesuje mnie w szczególnosci współpraca tego procesora z P4P800 ver. 1.02 !!!



Co wy na to ?
pilaZobacz profil
Poziom ostrzeżenia: 0%
pila2004.02.02, 11:44
Nie ma problemu!
OlsonZobacz profil
Poziom ostrzeżenia: 0%
Olson2004.02.02, 11:47
nowego P4 oznacza, że "Intek" ostatecznie uporał się z tym problemem - chyba Intel , pod zdjeciem z RTG procka



Recki na pclab`ie sa mniam, mniam =]
*Konto usunięte*2004.02.02, 11:47
Czyżby Krzystof pisał wstęp i odólnie o procku, a Paweł zajął się testami?
pilaZobacz profil
Poziom ostrzeżenia: 0%
pila2004.02.02, 11:49
Literówka poprawiona, dzięki za zwrócenie uwagi!
pilaZobacz profil
Poziom ostrzeżenia: 0%
pila2004.02.02, 11:50
Dokładnie smilies/smile.gif
*Konto usunięte*2004.02.02, 11:57
Ale ja jestem inteligentny smilies/wink.gif
*Konto usunięte*2004.02.02, 12:02
coś mi się jednak wydaje, że to pic na wodę i okaże się, że procesor jest bardzo wolny w porównaniu do starego Northwooda



AMD górą! smilies/smile.gif
*Konto usunięte*2004.02.02, 12:03
heh, no obaj z Pawlem mielismy ochote na recke tego procka, trza wiec bylo sie jakos podzielic, a ze Pawel naczelny, to sobie testy wzial smilies/wink.gif
Funkcja komentowania została wyłączona. Do dyskusji zapraszamy na forum.
1