P4 Prescott - nowy procesor, nowa technologia

Dzisiaj na rynek zostaje wprowadzony nowy procesor Intela, następca Pentium 4 o nazwie Prescott. Układ ten korzysta z rozbudowanej architektury NetBurst, jednak jedną z najistotniejszych jego cech jest to, że przełamał kolejną barierę technologiczną – jest wykonywany w procesie 0,09 mikrona. To pozwala nie tylko na tańszą produkcję, lecz również na osiągnięcie duży wyższych częstotliwości taktowania niż dotychczas. Prescott nie jest lekko podretuszowanym procesorem Northwood. Rdzeń dokładnie przekonstruowano dokonując szeregu bardzo istotnych zmian w jego budowie.

Podstawka procesora P4 E

Podstawka procesora P4 E

Prescott to nazwa nowego rdzenia procesora P4. Ma być on rywalem najszybszych układów AMD – Athlona 64 i FX. Pierwsza batalia, dotycząca procesu technologicznego została już przez Intela wygrana. 0,09 mikrona niesie ze sobą wymierne korzyści finansowe. Intel może na waflach krzemowych tej samej wielkości (300 mm) wytwarzać kilkadziesiąt procent procesorów więcej, co pomimo poniesienia ogromnych nakładów finansowych na powstanie nowych linii produkcyjnych, jest dla firmy opłacalne. Athlony AMD powstają na razie w procesie 0,13 mikrona. Są droższe w produkcji, AMD mniej na nich zarabia, a przede wszystkim napotyka ograniczenia związane z częstotliwością taktowania układów. Athlony wykonywane w technologii 0,09 mikrona mają pojawić się na rynku w drugiej połowie br. Czy tak się stanie czas pokaże.

Wprowadzone dzisiaj układy Prescott taktowane są z częstotliwościami od 2,8 do 3,4 GHz. Można je instalować w płytach z podstawką Socket 478. Pracują z szyną systemową 800 MHz i maja wbudowaną technologie wielowątkowości.

Budowa rdzenia P4 E

Budowa rdzenia P4 E

Rewolucja w rdzeniu

Rdzeń procesorów P4 Prescott zdecydowanie różni się od swoich poprzedników – Northwood. Przy opracowywaniu rdzenia, inżynierowie Intela postanowili nie dokonywać drobnego faceliftingu Northwooda, lecz wiele istotnych elementów konstrukcji opracowano całkowicie od podstaw. Architektura rdzenia została opracowana tak aby był on podatny na istotne zwiększanie taktowania, a po drugie dobrze radził sobie z odprowadzaniem ciepła. Rdzeń Prescotta składa się ze 125 mln tranzystorów. Dla porównania Northwood ma ich 55 mln, a np. Athlon 64 i FX 105,9 mln. Ciekawie wygląda też porównanie samych wielkości rdzeni: 112 mm2 Prescott 131 mm2 Northwood i aż 193 mm2 Athlon 64.

Więcej pamięci

Prescott posiada więcej pamięci podręcznej i to nie tylko drugiego ale i pierwszego poziomu. Pojemność cache zwiększono z 8 do 16 KB dla pierwszego poziomu i z 512 KB do 1 MB dla drugiego poziomu. Pamięć instrukcji (Trace Cache) pozostanie na poziomie 12k uOps.To powinno istotnie wpłynąć na wydajność procesora. Duży wzrost ilości tranzystorów wynika z zastosowania większej ilości pamięci podręcznej oraz dodania 13 nowych instrukcji multimedialnych SSE3. Ponieważ Prescott jest jednocześnie kompatybilny z dotychczasowym gniazdem 478, wystarczy odpowiednio uaktualnić BIOS, by mógł pracować w wieloma z dotychczasowych płyt głównych do Pentium 4. Intel zadbał o to już na wiosnę 2003, publikując odpowiednie specyfikacje dla Prescotta do chipsetów i865 oraz i875. Oto pełna lista chipsetów, które mogą współpracować z nowym procesorem: ATI Radeon 9100IGP; Intel 848P, 865P, 865G, 865PE, 875P; SiS 655FX, 655TX; VIA PT800, PT880.

W połowie 2004 Intel wprowadzi równolegle gniazdo LGA775. Początkowo będzie ono przystosowane również do magistrali FSB 800 MHz, jednak w niedługim czasie powinno osiągnąć 1200 MHz. Ponadto, 297 dodatkowych styków umożliwi zasilanie procesora większym prądem, a więc moc strat przekroczy 100 W. Już to wystarczy, by Prescott (a może jego następcy) mógł dojść do bariery 5 GHz.

Intel twierdzi, że nowa architektura procesora pozwoli osiągnąć taktowanie rzędu 5,0 GHz. Aby to było możliwe potrzebna była także zmiana w długości potoku wykonawczego. W Northwoodzie ma od 20 etapów długości. W Prescottcie nie znamy dokładanej ilości etapów, jednak Intel zdradza, że jest ich nie mniej niż 30 (prawdopodobnie jest ich ok 35). Wydłużenie potoków ma także swoje wady. Intel wprowadził więc kilka udoskonaleń do mikroarchitektury NetBurst, które mają zapobiec tym problemom. Intel po raz kolejny wyraźnie rozbudował mechanizmy przewidywania skoku i wstępnego pobierania rozkazów. Chociaż prace nad nimi trwają od lat, wydaje się, że wciąż można tu wiele poprawić. Oba bloki funkcjonalne dostarczają nieustannie kolejnych porcji rozkazów, przyczyniając się w ten sposób do lepszego wykorzystania skrajnie długich potoków Prescotta. Wbrew wcześniejszym oczekiwaniom Intel nie zwiększył liczby wirtualnych procesorów w technologii Hyper Threading – pozostały dwa.

Kontrowersyjne bezpieczeństwo zależne od sprzętu

Wiele kontrowersji budzi rozszerzenie „La Grande Support". Ma ono umożliwiać bezpieczne wykonywanie programów (secure computing), chroniąc nawzajem przed sobą programy i wątki. W gruncie rzeczy, jest to zintegrowana w procesorze koncepcja Trustem Computing Group ( http://www.trustedcomputinggroup.org/home ) (TCG, wcześniej TCPA), idąca jednak o krok dalej. La Grande ma sprawić, że żaden, nawet wysoko uprzywilejowany program, nie będzie mógł odwoływać się do danych lub kodu innej aplikacji.

La Grande daje możliwość wykonywania chronionego kodu w izolowanym otoczeniu w procesorze i w pamięci. W ten sposób wyklucza się późniejsze debugowanie, reverse engineering oraz zakładanie łat przez złośliwe oprogramowanie w trakcie wykonywania programu. Nawet komunikacja z urządzeniami wprowadzania danych, jak klawiatura czy mysz, odbywa się kanałami chronionymi kryptograficznie. Wszystko to wymaga jednak wielkich zmian w chipsecie i systemie operacyjnym.

Rozszerzenie La Grande mogłoby po raz pierwszy znaleźć zastosowanie w następcy Windows XP, systemie operacyjnym o kodowej nazwie Longhorn. To jednocześnie dowód na to, że Microsoft praktycznie zrezygnował ze stworzenia całkowicie bezpiecznego systemu Windows. Zamiast tego, Longhorn podzieli wirtualnie komputer na dwie części: jedną normalną, z jak zwykle niebezpiecznym systemem Windows, i drugą z bezpiecznym jądrem o nazwie Nexus. Nexus odgrodzi się od reszty komputera tym łatwiej, że będzie dysponował nawet własną warstwą abstrakcji sprzętu (Hardware Abstraction Layer, HAL), w tym przypadku o nazwie NAL. W twierdzy Nexusa mają bezpiecznie pracować wybrane programy, na przykład do obsługi bankowości internetowej.

W początkowym okresie Prescott z rozszerzeniem La Grande będzie z pewnością dostępny tylko dla konstruktorów – procesory dostępne w handlu nie będą go zawierały. Później Intel ma zamiar oferować Prescotta w dwóch wersjach – z rozszerzeniem i bez. Takie są przynajmniej obecne plany. Z naszych informacji wynika jednak, że podobnie jak w przypadku kontrowersyjnego numeru seryjnego procesora użytkownik będzie mógł sam zdecydować, czy funkcja ma być aktywna, czy nie.

Rozszerzenia zestawu rozkazów SSE3

W procesorze Prescott Intel rozszerzył zestaw rozkazów IA32 o dodatkowe 13 rozkazów. Nowe rozkazy dotyczą głównie jednostki zmiennopozycyjnej z nowymi rozkazami SIMD, ponadto obejmują rozszerzenia dla obliczeń na liczbach zespolonych. Intel określa zestaw dodatkowych rozkazów mało spektakularną nazwą SSE3. Większość nowych rozkazów jest raczej egzotyczna i ma zastosowanie w bardzo szczególnych przypadkach. SSE3 dysponuje pewnym potencjałem optymalizacji w przypadku bibliotek matematycznych, które wykonują wiele operacji na liczbach zespolonych, lub wykorzystują algorytm motylkowy do szybkich transformacji Fouriera. Prawdopodobną korzyść mogą odnieść aplikacje naukowe i kodeki audio/wideo.

Wielowątkowość na dopingu

Prawdziwa nowość techniczna w zestawie instrukcji procesora Prescott to sprzętowa synchronizacja wątków za pomocą rozkazów MONITOR i MWAIT. Dzięki nim można zatrzymać jeden potok procesora z technologią Hyper Threading do czasu, gdy inny potok wykona operację zapisu we wcześniej zdefiniowanej komórce pamięci. W ten sposób dwa wątki mogą się synchronizować z bardzo dużą szybkością, nie zużywając na to wydajności procesora.

Jak do tej pory, szybka synchronizacja dwóch wątków wymagała bardzo skomplikowanych funkcji systemu operacyjnego. Dotychczas, bezpośrednia i szybka synchronizacja – gdy na przykład jeden wątek musi zaczekać, aż drugi zakończy zadanie o krytycznym znaczeniu – wymaga zastosowania mechanizmów, które opisujemy poniżej. Oba wątki otrzymują dostęp do tej wspólnej zmiennej. Wątek oczekujący w pętli nieustannie sprawdza stan tej zmiennej. Gdy wątek pracujący efektywnie ukończy swoje zadanie, zmienia jej wartość. Wówczas wątek oczekujący w pętli wychodzi z niej i podejmuje na nowo efektywną pracę. Jednak w czasie oczekiwania pierwszy wątek zużył masę mocy obliczeniowej procesora li tylko na kręcenie z gigahercową prędkością pętli oczekiwania – hamując w ten sposób wykonanie efektywnie pracującego wątku. W jądrze Northwood Intel zastosował wprawdzie rozkaz PAUSE, który zmniejszał zużycie zasobów procesora na podtrzymywanie pętli, jednak z pewnością nie było to rozwiązanie doskonałe.

Prescott idzie w tym względzie o krok dalej. Nowy rozkaz MONITOR to pierwszy tego rodzaju sprzętowy synchronizator. Za pomocą tego rozkazu wątek określa adres w pamięci, którego stan ma nadzorować procesor – nie zużywając na ten cel mocy obliczeniowej. Kolejny rozkaż, MWAIT, wprowadza wątek w stan uśpienia, zwalniając w ten sposób zasoby procesora dla innych wątków. Gdy jednak aktywny wątek dokona operacji zapisu w określonej wcześniej komórce pamięci, procesor przełącza się z powrotem w tryb Hyper Threading, a uśpiony wątek powraca do życia, nie zużywszy w okresie uśpienia zasobów procesora.

W poniższym przykładzie rozkaz MONITOR przekazuje procesorowi adres zmiennej sterującej „trigger” w EAX. Na koniec MWAIT usypia potok na czas konieczny do zmiany stanu „trigger” przez równolegle biegnący wątek.

trigger=0;

If (!triger){

EAX=&trigger

ECX=0

EDX=0

monitor eax, ecx, edx

if (!trigger){

EAX=0

ECX=0

MWAIT EAX, ECX

}

}

W chwili obecnej Prescott nie dysponuje innymi opcjami rozkazu MONITOR. Jednak programiści przyszłych procesorów mogą umieścić rozszerzone parametry w dwóch właśnie do tego przeznaczonych rejestrach ECX oraz EDX. Można w ten sposób wymusić przejście do trybu oszczędzania energii lub przypisać do „trigger” dodatkowe warunki. W przyszłości wielkość bloku „Monitor” ma być zmienna, przez co zakończenie stanu uśpienia będzie mogło być wywołane przez odwołania do różnych zmiennych.

Jaka wydajność?

Testy wydajności procesora dają wyniki dość zaskakujące. W zdecydowanej większości benchmarków, takich jak gry 3D (m.in. Aquamark 3, aplikacje do profesjonalnej grafiki 3D – 3D Max, Lightwave) wykazują, że Prescott jest mniej wydajny niż odpowiadający mu częstotliwością taktowania Northwood. Z drugiej strony aplikacje multimedialne (kodowanie DivX, authoring DVD) i większość biurowych (SySMark 2004, kompresja WinRar) dają lepsze rezultaty. Widać tu zasługę nowych instrukcji multimedialnych.

W chwili obecnej zakup Prescotta byłby nieudaną inwestycją. Procesor ten jest owszem próbką możliwości technologicznych Intela i z pewnością wskazuje co czeka nas w świecie procesorów w najbliższej przyszłości. Zmiany architektury procesora nie mogą być jednak w pełni uwidocznione, co wynika z niskich częstotliwości taktowania układu. Głównym założeniem Intela przy jego opracowywaniu nowego procesora była jego wysoka skalowalność i zmniejszenie kosztów produkcji. Oba cele zostały osiągnięte. Naszym zdaniem pełnię swoich możliwości Prescott pokaże dopiero po zmianie podstawki na LGA775 i związanym z tym posunięciem zwiększeniem taktowania układu do nieosiągalnych obecnie częstotliwości.

Modele i ceny

Aktualnie w ofercie Intela znajdują sie 4 procesory Prescotta o częstotliwościach taktowania 2,8; 3,0; 3,2 i 3,4 GHz. Ich ceny to odpowiednio: 178, 218, 278 i 417 USD.


Zobacz również