Mobilny Athlon 64 - szczegóły

Procesor AMD Athlon 64 do notebooków umożliwia pracę zarówno z systemami 64-, jak i 32-bitowymi. Wyjaśnimy, jak to działa, i powiemy, jakie cechy szczególne wyróżniają go spośród innych procesorów.

Procesor AMD Athlon 64 do notebooków umożliwia pracę zarówno z systemami 64-, jak i 32-bitowymi. Wyjaśnimy, jak to działa, i powiemy, jakie cechy szczególne wyróżniają go spośród innych procesorów.

Athlon 64 do notebooków to przeniesienie 64-bitowej architektury AMD do komputerów przenośnych. Pierwszy 64-bitowy procesor do notebooków opiera się na Athlonie 64 do komputerów stacjonarnych, dlatego wyposażone w niego maszyny mogą pracować z 32- i 64-bitowymi systemami operacyjnymi.

Trik, jakim posłużyło się AMD, jest stosunkowo prosty: rozszerzono rejestry 32-bitowe do 64 bitów.

Jeżeli procesor wykryje 32-bitowy system operacyjny, rozszerzenie pozostaje pasywne, a procesor zachowuje się jak zwykły x86. Inaczej jest w przypadku systemu 64-bitowego - dodatkowe rejestry są wykorzystywane. Podobnie postąpił Intel, przechodząc z procesorów 286 na modele 386.

Oczywiście, zalety 64-bitowego procesora ujawnia dopiero 64-bitowy system operacyjny. Właściciele takich notebooków muszą się uzbroić w cierpliwość. Odpowiednia wersja Windows XP zapowiadana jest na drugą połowę 2004 roku. W wersji beta system znany jest od września 2003 roku. Linux - 32- czy 64-bitowy - ciągle nie jest idealnym rozwiązaniem do notebooków ze względu na rozmaite problemy z obsługą sprzętu i niedociągnięcia w zarządzaniu poborem energii.

W dalszym ciągu szczegółowo opiszemy, jak sprawuje się Athlon 64 do notebooków z 32- i 64-bitowymi systemami operacyjnymi i co kryje jego architektura.

Szczegóły budowy rdzenia

Struktura Athlona 64 DTR jest zdominowana przez pamięć cache L2 o wielkości 1 MB. Na obrzeżach znalazły się interfejsy pamięci i technologii HyperTransport.

Struktura Athlona 64 DTR jest zdominowana przez pamięć cache L2 o wielkości 1 MB. Na obrzeżach znalazły się interfejsy pamięci i technologii HyperTransport.

Producent określa Athlon 64 do notebooków jako procesor do komputerów przenośnych zastępujących komputery stacjonarne (Desktop Replacement - DTR), stąd też bywa nazywany Athlonem 64 DTR. Procesor umieszczony jest w obudowie µPGA o 754 nóżkach. AMD zrezygnował ze stosowanego w wersji desktopowej elementu Head Spreader. Upraszcza to odprowadzenie ciepła i pozwala na niższą zabudowę.

Od chwili premiery we wrześniu 2003 AMD oferuje procesor Athlon 64 DTR w wersjach 3000+ oraz 3200+, taktowanych odpowiednio z częstotliwością 1,8 oraz 2,0 GHz. Oznaczenia mają odzwierciedlać rzeczywistą wydajność procesora w testach, podobnie jak w przypadku Athlona XP. Procesor jest wytwarzany w procesie 0,13 µm SOI. Mierząca 193 mm2 struktura mieści 105,9 miliona tranzystorów. Dla porównania: Athlon XP z rdzeniem Barton zawiera ich o połowę mniej - 54,3 miliona. Większość dodatkowych tranzystorów Athlona 64 DTR to pamięć cache L2 o wielkości 1 MB.

Dzięki pewnym zmianom w budowie tranzystorów Athlon 64 w wersji DTR zużywa nieco mniej energii od swojego odpowiednika do komputerów stacjonarnych. Różnica pomiędzy Athlonem 64 3200+ DTR a Athlonem 64 do komputerów stacjonarnych jednak nie imponuje - odpowiednie wartości wynoszą 81,5 oraz 89 W.

Technologia PowerNow!

Za oszczędne gospodarowanie energią przez procesor Athlon 64 DTR odpowiada znana od czasów procesora K6-2+ technologia PowerNow! Jest w nią wyposażony także desktopowy Athlon 64, choć w tym przypadku nazywa się ona Cool'n'Quiet. PowerNow! zmienia dynamicznie częstotliwość taktowania i napięcie rdzenia procesora. Możliwe są 32 stopnie poboru mocy, w których częstotliwość taktowania rdzenia zmienia się od 800 do 2000 MHz. Odpowiednio do częstotliwości zmienia się też napięcie rdzenia - od 1,1 V (800 MHz) do 1,5 V (2000 MHz). Przy pełnym obciążeniu Athlon 64 DTR pobiera prąd o natężeniu 59,2 A, co odpowiada mocy TDP 81,5 W - bardzo wysokiej, jak na procesor do komputerów przenośnych. Dla porównania - Intel Pentium M przy częstotliwości 1,7 GHz charakteryzuje się 27 W TDP. Procesor AMD w trybie PowerNow! schodzi do 19 W dopiero przy minimalnej częstotliwości taktowania 800 MHz. W 2004 roku AMD zamierza przedstawić prawdziwie mobilną wersję Athlona 64, o znacznie zredukowanym poborze mocy.

Dziewięć jednostek wykonawczych

W Athlonie 64 DTR dziewięć jednostek wykonawczych czeka na polecenia. Jednostki zmiennopozycyjne po raz pierwszy w architekturze AMD64 obsługują SSE2.

W Athlonie 64 DTR dziewięć jednostek wykonawczych czeka na polecenia. Jednostki zmiennopozycyjne po raz pierwszy w architekturze AMD64 obsługują SSE2.

Rdzeń procesora Athlon 64 DTR zawiera dziewięć jednostek wykonawczych do operacji na liczbach całkowitych i zmiennopozycyjnych, w tym jednostkę kompatybilną z SSE2. Jednostki wykonawcze są zasilane według zasady out of order za pośrednictwem trzech niezależnych potoków dekoderów poleceń, zakończonych (scheduler). Trzy z nich mogą buforować po osiem wpisów, obsługując sześć jednostek liczb całkowitych, z których trzy to Arithmetical Logical Units (ALU), a trzy - Address Generation Units (AGU), odpowiedzialne za procesy load/store z i do pamięci cache. Trzy jednostki zmiennopozycyjne zasila czwarty zarządca procesów, mieszczący 36 wpisów.

Podstawowy problem w nowoczesnych architekturach procesorów o wielu jednostkach wykonawczych polega na tym, aby zmusić je do pracy z pełną wydajnością, dostarczając odpowiednio dużo danych. AMD nie udało się rozwiązać tego problemu i jednostki wykonawcze pracują sporo poniżej swoich możliwości. Rozwiązanie znalazł natomiast Intel - to HyperThreading. Procesor jest traktowany jak dwa procesory i wykonuje równolegle dwa wątki. Jednostki wykonawcze są dzięki temu lepiej wykorzystane, jeśli aplikacja została odpowiednio przystosowana do tej technologii.

Tuning pamięci cache i TLB

Biorąc pod uwagę, że AMD mówił o najszybszej architekturze kompatybilnej z x86 już w odniesieniu do rdzenia K8 Athlona 64, trzeba przyjąć, że wyższa wydajność musi mieć inne źródła, niż zwiększona liczba jednostek wykonawczych. Możliwości tych ostatnich wykorzystane są przecież tylko częściowo. Wielkość pamięci cache L1 wynosi 64 KB poleceń i danych - bez zmian w stosunku do Athlona XP. Skojarzeniowa, 16-drożna pamięć cache L2 ma natomiast wielkość 1 MB, podczas gdy Athlon XP z rdzeniem Barton musiał się zadowolić 512 KB.

O wiele dalej idą zmiany architektury AMD64 już na początkowym etapie przetwarzania poleceń. Gruntownej modernizacji poddano Translation Lookaside Buffer (TLB). Im więcej wpisów może zmieścić TLB, tym rzadziej podczas obliczania fizycznego adresu ładowana jest tablica translacji z pamięci roboczej.

Oznacza to oszczędność czasu, a wykonanie niektórych poleceń wymaga mniej cykli taktowania. TLB pamięci danych i poleceń L1 procesorów Athlon 64 mieści po 40 wpisów. W procesorze Athlon XP jedynie TLB pamięci danych L1 mieści tyle samo wpisów, natomiast TLB pamięci poleceń ma objętość 25 wpisów. TLB skojarzeniowej 4-drożnej pamięci L2 rdzenia K8 mieszczą po 512 wpisów, a więc dwa razy więcej niż w Athlonie XP. Ponadto TLB Athlona 64 mają krótsze opóźnienia niż TLB rdzenia K7.

Tuning mechanizmów opróżniania i skoków

Oprócz większych TLBs architektura AMD64 ma również Flush Filter o pojemności 32 wpisów. Umożliwia on lepsze zarządzanie TLBs podczas zmiany zadań. Filtr umożliwia wielu wątkom współdzielenie TLB bez ingerencji oprogramowania. W przeciwnym razie procesor podczas każdej zmiany zadania tworzy nowe TLBs, a podczas powrotu do poprzedniego - odtwarza wcześniejsze. To wszystko wymaga czasu.

AMD poprawił również w procesorach Athlon 64 prognozowanie skoków. Procesor ma się charakteryzować znacznie większą wydajnością szczególnie w aplikacjach intensywnie korzystających z pamięci - tzw. large workloads. W tym celu Global History Counter powiększono do 16 K wpisów - to czterokrotny wzrost w stosunku do rdzenia K7. Procesor tym bardziej potrzebuje lepszego prognozowania, że przybyło mu również stopni potoków.

Długie potoki to niebezpieczeństwo fałszywych prognoz. W najgorszym przypadku trzeba od nowa załadować kompletny potok, czyli wszystkie jednostki funkcjonalne. Kosztuje to wiele cykli taktowania i obniża wydajność. Skuteczne branch predictions to w nowoczesnych procesorach najbardziej efektywny czynnik zwiększania wydajności.


Zobacz również