2006-10-06 13:12
Autor: Jolly Roger
75

Core 2 Duo - powrót króla

Strona 2 - Netburst do śmietnika

Netburst do śmietnika



Grzejnik – to pierwsze słowo, które mi się kojarzy na myśl o Pentium 4 i zapewne nie tylko mi. Architektura, która rozwijana przez kolejne lata miała umożliwić powstanie super wydajnego CPU taktowanego zegarem do 10 GHz po prostu się nie sprawdziła. Ogromne problemy z ilością wydzielanego ciepła doprowadziły do tego, że więcej niż 3.8 GHz Intel nie chciał wykrzesać. Skończyło się na zwiększaniu pojemności cache L2, przyspieszaniu FSB, stworzeniu układów dwurdzeniowym i przejściu na proces technologiczny 65 nm. To jednak wszystko na nic – wydajność w porównaniu do dwurdzeniowych układów AMD wcale się rewelacyjnie nie przedstawiała, a proces 65 nm nie spowodował znacznego ograniczenia wydzielania ciepła.

Chipzilla zdawała sobie sprawę, że możliwości rozwoju Pentium 4 są ograniczone i przyjdzie czas, kiedy nie da się już z tej technologii niczego więcej wycisnąć. To właśnie wtedy inżynierowie Intela musieli wpaść na iście szatański pomysł – należy powrócić do sprawdzonej architektury Pentium 3, rozwijanej cały czas jako Pentium M i stosowanej w modelach przenośnych. Kolejne jego ewolucje, w postaci rdzeni Dothan i Yonah (szeroko znany jako Core Duo), znacząco przybliżały Intela do budowy tego, czym obecnie jest Core 2 Duo. Wprowadzanie obsługi nowych instrukcji, zwiększanie pamięci cache, przyspieszanie FSB, dodanie wielordzeniowości i udoskonalanie samej architektury miało jeszcze bardziej usprawnić to, co wkrótce musiało podbić serca przyszłych klientów, czyli wymagających użytkowników rozwiązań desktopowych. Sam Yonah wymagał jednak kilka usprawnień, które by sprawiły, że byłby to CPU mogący nie tylko z powodzeniem zastąpić odchodzące Netburst, ale jeszcze musiałby wyprzedzić konkurencję w wyścigu o fotel lidera wydajności.


Przyjrzyjmy się więc pokrótce rozwiązaniom, które w znaczny sposób wpływają na wydajność, a którymi tak się chwali Intel w swoich rozpiskach. Będzie to tylko krótki przegląd kilku kluczowych zagadnień, mający przedstawić kierunek, w którym ewoluowała rodzina procesorów wywodzących się bezpośrednio z Pentium 3. Czytelników pragnących bardziej szczegółowej wiedzy zapraszam do zapoznania się z dokumentacją Intela. Uprzedzam jednak lojalnie – jej lektura do zjadliwych nie należy, a przedzieranie się przez kilka tysięcy stron technicznej dokumentacji zabiera trochę czasu.

Jakie więc są podstawowe ulepszenia, które również w Core 2 Duo miały zaowocować wzorową wydajnością? Intel stawia na 5 podstawowych technologii:

- Intel® Wide Dynamic Execution
- Intel® Intelligent Power Capability
- Intel® Advanced Smart Cache
- Intel® Smart Memory Access
- Intel® Advanced Digital Media Boost


Powszechnie wiadomo, że na wydajność procesora składa się tylko jego częstotliwość. Jest to oczywiście założenie błędne i już wielu się mocno zdziwiło, kiedy się okazało, że Celeron 2.6 GHz okazał się mniej wydajny od Durona 1.6 GHz. W rzeczywistości, oprócz częstotliwości pracy liczy się równie mocno ilość instrukcji procesora wykonywana w czasie jednego cyklu (ang. IPC – instructions per cycle). Ogólny zapis powinien więc wyglądać następująco:

WYDAJNOŚĆ = CZĘSTOTLIWOŚĆ x IPC


Zerwanie z Netburst spowodowało znaczne obniżenie pierwszego z dwóch współczynników, wobec czego należało dążyć do zwiększenia tego drugiego.

Wide Dynamic Execution miało dążyć do tego, aby możliwe było wykonanie w jednym cyklu jak najwięcej instrukcji. Dzięki połączonym mikrofuzji i makrofuzji możliwe się stało obsłużenie do czterech instrukcji jednocześnie (w porównaniu do trzech w Netburst). W starszych procesorach każda instrukcja była pojedynczo dekodowana i wykonywana. Dekoder w Core 2 Duo może jednak wybrać dwie mikrooperacje, które mogą być jednocześnie wprowadzone do potoku wykonawczego, łącząc je w pary i de facto powodując, że dwie mikrooperacje są traktowane jako jedna. Technika ta została nazwana Macro Operation Fusion. Mamy więc już dwie instrukcje w jednym cyklu, a co z pozostałymi dwiema, o których wcześniej wspomniałem? Tutaj z pomocą przychodzi Micro Operations Fusion, czyli technika, która pozwala na łączenie i jednoczesne wykonywanie dwóch mikrooperacji, przy czym każda z mikrooperacji może się składać z dwóch instrukcji, co razem daje nam 4 mikroinstrukcje lub dwie pary mikroinstrukcji, które jednocześnie mogą trafić do jednej i tej samej fazy potoku wykonawczego. Pozwala to w tym samym czasie wykonać więcej instrukcji, co musi się przełożyć na wzrost wydajności.


Intel® Intelligent Power Capability to kolejna rzecz tak eksponowana przez Intela. W skład IIPC wchodzą pewne możliwości procesora, które pozwalają na włączenie mechanizmów powodujących mniejszą konsumpcję energii elektrycznej, co również powinno przełożyć się na niższe temperatury. Core 2 Duo ma wiele cech łączących go z notebookowymi przodkami, więc o odpowiednie mechanizmy oszczędzania energii powinniśmy być spokojni. Przyjrzyjmy się jednak kilku z nich.

Zacznijmy od Enhanced Intel SpeedStep Technology (EIST), które w połączeniu z Enhanced Halt Mode (w biosach występujący pod nazwą C1E Mode) powodują, iż w czasie nieznacznego obciążenia mnożnik procesora jest redukowany do wartości x6 przy niezmienionej szynie FSB. Mnożnik x6 powoduje, że dowolny procesor z rodziny Core 2 Duo będzie taktowany zegarem 1.6 GHz. W najwolniejszych modelach zysk w mniejszym wydzielaniu ciepła będzie co prawda niewielki, za to jest on bardziej odczuwalny w egzemplarzach z najwyższą częstotliwością. Zmianie mnożnika w dół towarzyszy również zmniejszenie napięcia zasilającego rdzenia do 1.12V (według programów monitorujących). Ale to nie koniec – wystarczy w opcjach zasilania ustawić minimalne zarządzanie energią, aby woltaż w spoczynku spadał do 1.05V.


Drugim równie ważnym elementem wpływającym na wydzielanie ciepła jest Ultra Fine Grained Power Control, polegający na tym, iż aktualnie nieużywane bloki procesora są dezaktywowane. Jest to rozwiązanie odziedziczone po mobilnych platformach. Niskie zużycie energii spowoduje spadek wydzielanego ciepła. Przydałoby się, aby prowadziło to również do zmniejszenia hałasu wytwarzanego przez wentylator na radiatorze procesora. Jest na to szansa dzięki połączeniu interfejsu PECI oraz technologii QST – dzięki nim regulacja wentylatora będzie płynniejsza (nie będzie gwałtownych skoków), zaś prędkości obrotowe będą lepiej dopasowane do panującej temperatury. Problemowi temperatur z praktycznego punktu widzenia przyjrzymy się w dalszej części artykułu.


Advanced Smart Cache jest związany z cache L2, który w Core 2 Duo jest współdzielony przez oba rdzenie. Pamięć podręczna drugiego poziomu jest dynamicznie dzielona w zależności od potrzeb, tzn. jeżeli zajdzie sytuacja, że korzystamy z programu, który nie jest w stanie skorzystać z wielordzeniowości i drugie jądro nie będzie wykorzystywane, to praktycznie cały L2 zostanie przydzielony do dyspozycji rdzenia nr 1. W większości starszych CPU, L2 jest na sztywno dzielony na dwie równe połowy, zaś jeden rdzeń procesora nie ma bezpośredniego dostępu do pamięci drugiego. Operacje na wspólnych danych często prowadzą do braku spójności, co pociąga za sobą konieczność ciągłego sprawdzania zgodności danych w L2 pierwszego jak i drugiego rdzenia. Taka regularna kontrola oznacza przestoje w wykonywaniu pracy.


Smart Memory Access to kolejne techniki, które w założeniu mają usprawnić dostęp do pamięci operacyjnej i nieco złagodzić negatywny wpływ opóźnień na wydajność. Intel zaproponował tu technologię memory disambiguation. W standardowych rozwiązaniach przeprowadza się operacje zapisu do pamięci a następnie odczytu, przy czym nie mogą być one wykonywane równocześnie, lecz najpierw musi być dokonany proces zapisu danych, a dopiero następnie odczytu. W Core 2 Duo, dzięki memory disambiguation i inteligentnych algorytmom, możliwe jest wykonanie instrukcji odczytu jeszcze przed zapisem. Następuje więc tutaj swoiste przekolejkowanie operacji, co również będzie miało wpływ na to, iż jednostka centralna będzie musiała krócej czekać na kolejne dane do przetworzenia. W tym przypadku ważne jest również to, iż pewne porcje danych mogą zostać przeniesione do pamięci cache jeszcze zanim będzie wymagany do nich dostęp, co po raz kolejny ma maksymalnie zniwelować opóźnienia i wpłynąć na ogólną wydajność.


Advanced Digital Media Boost związany jest z przyspieszeniem wykonywania 128-bitowych instrukcji SSE/SSE2/SSE3. Onegdaj jedna taka instrukcja odbywała się w czasie dwóch cyklów, a obecnie w Core 2 Duo już w czasie jednego. W testach syntetycznych wzrost wydajności powinien być mocno zauważalny, tak samo jak w aplikacjach zoptymalizowanych do wykorzystywania SSE/SSE2/SSE3.


Zmiany w architekturze musiały jednak iść krok dalej, aby Yonah mógł się przekształcić w CPU, który by mógł przez lata dominować. Pojawienie się 64-bitowych systemów operacyjnych i takiegoż oprogramowania zmusiło inżynierów Intela do takiego przeprojektowania układu, aby był on w stanie wykonywać instrukcje 64-bitowe. Trudno bowiem sobie wyobrazić, aby Windows Vista w wersji 64-bit nie działał na najnowszym dziecku Intela. Jednak i ten krok został wykonany, co uczyniło ten procesor (w założeniach) niemal ideałem. Ostatnim drobnym szczegółem pozostało ogólne podniesienie wydajności poprzez teoretycznie najprostszą rzecz – zwiększenie zegara taktującego. Najwydajniejszy Yonah działa z częstotliwością 2.33 GHz, zaś Core 2 Extreme to już 2.93 GHz, co przekłada się na dodatkowe 0.6 GHz. Niestety, nie ma róży bez ognia (to z Barei:)) – potok wykonawczy musiał zostać wydłużony z 12 do 14 faz, co i tak nie wygląda wcale źle, zważywszy na fakt, iż Prescott miał potok 31-fazowy. Ostatnią drobną poprawką było przyspieszenie FSB do 266 MHz (w Yonahu tylko 166 MHz) i tak oto powstał potwór, który miał zmiażdżyć konkurencję. Plany zostały zmaterializowane w postaci egzemplarzy inżynieryjnych, które w kolejnych rewizjach ulegały lekkiej ewolucji. Pierwotna wersja B0 szybko została zastąpiona przez B1, która charakteryzowała się znacznie mniejszym wydzielaniem ciepła. Takie właśnie sztuki trafiły do recenzentów. W sklepach zaś znajdziecie B2, w których również pozbyto się kilku błędów.

Strona 2 z 15 <<<123456...15>>>