NetBurst
Architektura Intel Netburst Microarchitecture, w firmie Intel oznaczana jako P68, jest spadkobiercą mikroarchitektury P6 linii x86 procesorów Intela. Pierwszym rdzeniem korzystającym z tej mikroarchitektury był Willamette, który na rynku pojawił się pod koniec roku 2000. Rdzeń stanowił podstawę pierwszych procesorów serii Pentium 4; wszystkie dalsze układy z tej serii również korzystały z architektury NetBurst. W roku 2001 Intel zaprezentował rdzeń Foster, w którym ta architektura również znalazła swoje miejsce. W konsekwencji tych działań, NetBurst pojawił się również w linii procesorów Xeon, podobnie, jak ma to miejsce w przypadku procesorów Celeron, pochodzących od Pentium 4.
Czasami architekturę NetBurst określa się błędnie jako Intel P7, lub Intel 80786, bazując taką nazwę na porównaniu z poprzednimi pokoleniami procesorów. Nie są to jednak nazwy oficjalne. Skrót P7 wprawdzie funkcjonował wewnątrz firmy Intel, jednak wyłącznie w odniesieniu do architektury procesorów Itanium.
Technologia
Architektura NetBurst zawiera rozwiązania o nazwach "Hyper Pipelined Technology" i "Rapid Execution Engine", które pojawiły się w niej po raz pierwszy.
Hyper Pipelined Technology
Intel wybrał tę nazwę do określenia dwudziestoetapowych potoków rdzenia Willamette. Był to znaczny wzrost w porównaniu do 10 etapów w potokach procesorów Pentium III. Architektura rdzenia Prescott, jak dotąd ostatnia w linii procesorów Pentium 4, wyposażona jest w potoki o długości 31 etapów. Mimo że dłuższe potoki obarczone są pewnymi wadami, wśród których główną jest zredukowana liczba instrukcji wykonywanych w jednym cyklu procesora (IPC), taka liczba pozwala na stosowanie wyższego taktowania procesora, co równoważy straty spowodowane redukcją IPC. Mniejsza liczba IPC jest pośrednią konsekwencją głębokości potoku – kwestią kompromisu projektowego (mała liczba długich potoków charakteryzuje się mniejszą IPC, niż większa liczba krótkich potoków. Kolejną niedogodnością związaną ze zwiększoną liczbą etapów potoku jest zwiększenie liczby kroków, które trzeba pokonać wstecz, by dotrzeć do zdarzenia, w którym mechanizm przewidywania rozgałęzień popełnił błąd. Zwiększa to naturalnie straty spowodowane błędem rozgałęzienia. By zrównoważyć te straty, Intel opracował mechanizm "Rapid Execution Engine" i zainwestował wiele środków w technologię przewidywania rozgałęzień. Według zapewnień firmy, pozwoliło to zmniejszyć liczbę błędów w przewidywaniach o 33% w stosunku do Pentium III[1].
Rapid Execution Engine
W przypadku tej technologii, jednostki arytmetyczno-logiczne (ALU) procesora pracują z podwojoną częstotliwością rdzenia. Oznacza to, że w procesorze o taktowaniu rzędu 3,5 GHz, jednostki ALU osiągają efektywne taktowanie rzędu 7 GHz. Powodem wprowadzenia takiego rozwiązania jest chęć nadrobienia strat spowodowanych niską liczbą IPC. Dodatkowo, takie rozwiązanie znacznie zwiększa wydajność procesora w operacjach na liczbach całkowitych. Wadą rozwiązania Rapid Execution Engine jest spowolnienie wykonywania pewnych instrukcji (i to zarówno spowolnienie rzeczywiste, jak i względne), co z kolei powoduje problemy przy optymalizacji. Przykładem są operacje przesunięcia i obrotu, cierpiące z powodu braku kombinacyjnego układu przesuwającego (ang. barrel shifter), który do tej pory był obecny w każdym procesorze serii x86, począwszy od modeli 80386. Układ taki można znaleźć również w procesorach Athlon i Hammer.
Execution Trace Cache
W pamięci podręcznej drugiego poziomu Intel umieścił "Execution Trace Cache" – pamięć podręczną śledzącą wykonywanie programu. Ta pamięć służy do przechowywania zdekodowanych mikrooperacji, by podczas ponownego wykonania danej instrukcji procesor mógł pobrać wcześniej zdekodowane mikrorozkazy z pamięci podręcznej, co przekłada się na zaoszczędzenie sporej ilości czasu. Dodatkowo, mikrorozkazy z tej pamięci są przechowywane wraz z ich przewidzianymi ścieżkami wykonania, co oznacza, że w momencie przywołania z pamięci mikrorozkazy są już ułożone w odpowiedniej kolejności.
Mimo wymienionych powyżej rozszerzeń, architektura NetBurst nie pokazała się jako wysoce wydajna. Wprowadzając rozwiązania NetBurst, Intel dążył do taktowania procesorów zegarami rzędu 10 GHz, lecz wraz ze zwiększaniem taktowania pojawiły się kłopoty z rozpraszaniem mocy cieplnej (a raczej z minimalizowaniem tego zjawiska), z którymi Intel nie mógł sobie poradzić. Firma stwierdziła, że granica leży na poziomie 3,8 GHz, a nawet osiągnięcie takiego taktowania nie było bezproblemowe. Nowe kierunki prac Intela jasno sugerują porzucenie architektury NetBurst na rzecz mikroarchitektury Core, inspirowanej linią procesorów Pentium M.
Wersje
W styczniu roku 2002 Intel dokonał zamiany rdzenia Willamette na nowy, określony nazwą Northwood, w którym wykorzystano zmienioną wersję architektury NetBurst. Rdzeń Northwood charakteryzował się zwiększoną pamięcią podręczną, wprowadzeniem procesu produkcyjnego 130 nm i technologią Hyper Threading (choć we wszystkich modelach opartych na tym rdzeniu, oprócz procesora taktowanego zegarem 3,06 GHz technologia ta była wyłączona). Architektura NetBurst w tej wersji została poddana zabiegom zwiększającym wydajność i unowocześniającym.
W lutym roku 2004, Intel wprowadził kolejną wersję architektury, z jeszcze dalej idącymi zmianami, zamkniętą w rdzeniu Prescott. Ten rdzeń powstał w procesie produkcyjnym 90 nm i zawierał kilka ważniejszych zmian konstrukcyjnych, w tym wprowadzenie pamięci podręcznej o rozmiarze 1 MB (w rdzeniu Northwood było to 512 KB), a nawet 2 MB, wydłużenie potoków do 31 kroków (zmiana z 24 w rdzeniu Northwod), poprawki w układzie przewidującym rozgałęzienia, wprowadzenie instrukcji SIMD SSE3], zaś później zastosowanie zestawu instrukcji EMT64, co stanowiło tabliczkę Intela przyczepioną do stworzonego standardu kompatybilnego z 64-bitowymi rozszerzeniami AMD64 firmy AMD. Podobnie, jak w poprzednich przypadkach, jądro Prescott posiadało zaimplementowaną sprzętowo obsługę funkcji Hyper Threading, lecz przed odblokowaniem jej w linii procesorów Pentium, Intel udostępnił ją początkowo wyłącznie posiadaczom układów Xeon. Mimo wprowadzenia całego szeregu usprawnień, procesory oparte na rdzeniu Prescott częstokroć działały znacznie wolniej, niż identycznie taktowane układy z rdzeniem Northwood. Wielu inżynierów było zdania, że rzeczywiste osiągi procesorów zostały zachwiane przez dążenia producenta do ciągłego zwiększania taktowania układów. Z procesorami opartymi na rdzeniu Prescott związane również były kwestie poboru mocy i odprowadzania wydzielanego ciepła – układ był jednym z najbardziej prądożernych w historii. Wysokie zapotrzebowanie na prąd i wytwarzana przez procesor temperatura udaremniła plany Intela zakładające wprowadzenie układów taktowanych zegarami ponad 3,8 GHz, czy opracowanie wersji mobilnych.
Intel wprowadził na rynek również dwurdzeniową wersję procesorów z technologią NetBurst, nadając jej nazwę kodową Smithfield i zamykając w jednym układzie dwa rdzenie Prescott. Kolejną wersją układu dwurdzeniowego był Presler, który składał się z dwóch rdzeni Cedar Mill w dwóch układach – sam rdzeń Cedar Mill został wykonany w technologii 65 nm bez zmian konstrukcyjnych w stosunku do jądra Prescott.
Przyszłość
Intel wycofał architekturę NetBurst, w jej miejsce wprowadzając mikroarchitekturę Intel Core, której premiera odbyła się w lipcu 2006. Pochodzi ona w bardziej bezpośredni sposób od architektury właściwej układom Pentium Pro niż NetBurst.
Presler, jądro procesora Pentium D udostępnionego do sprzedaży na początku roku 2006, było szeroko ogłoszone jako ostatnie wyprodukowane w mikroarchitekturze NetBurst, choć naprawdę ostatnim układem tego typu było jądro procesora Xeon MP, Tulsa. Następcą Preslera jest wersja "Conroe" procesora Intel Core 2, która korzysta już z mikroarchitektury Intel Core.
Układy oparte na mikroarchitekturze NetBurst
- Celeron, od roku 2000
- Celeron D
- Pentium 4
- Pentium 4 Extreme Edition
- Pentium D
- Pentium Extreme Edition
- Xeon, od roku 2001