AMD K10 nadchodzi...

Czy przyszłość AMD jest świetlana? Naszym zdaniem K10 pozwoli temu koncernowi iść z Intelem łeb w łeb w dziedzinie wydajności przez kolejne kilka(naście) miesięcy. Jeśli bowiem nie brać pod uwagę wydajności, lecz stosunek możliwości do ceny, czy też wydzielanie ciepła, to już od jakiegoś czasu w tych aspektach AMD może się pochwalić lepszymi wynikami od swojego flagowego konkurenta. Trzyrdzeniowe procesory X3 również są w stanie nieźle zamieszać na rynku i jeśli "zieloni" dobrze to rozegrają, ich triple-core może zostać niezłym hitem - przynajmniej do czasu radykalnych spadków cen czterordzeniowców.

Wprowadzenie

K8 to architektura, która pojawiła się na rynku w 2003 roku wraz z premierą serwerowego Opterona opartego na rdzeniu SledgeHammer. Później była cała seria procesorów - Athlon 64, Sempron i dwurdzeniowy Athlon 64 X2. Było to w czasach, kiedy Intel forsował chipy z technologią NetBurst. W 2004 wprowadził procesory Prescott, które nie grzeszyły wydajnością, za to koszmarnie się grzały, wymagając wydajnych i często głośnych systemów chłodzenia.

Rozwiązania AMD były chłodne, wydajne, wyposażone w obsługę 64-bitowych instrukcji i oferowane w atrakcyjnych cenach. Intel zauważył swój błąd, zrezygnował z NetBurst i wprowadził w 2006 roku nową architekturę Core 2 Duo. Była ona oparta na energooszczędnych rdzeniach, znanych z takich procesorów, jak Pentium M i stanowiła połączenie najlepszych cech procesorów Pentium III i Pentium 4, przy jednoczesnej rezygnacji z architektury NetBurst. Chipy Intela przestały być gorące, a zaczęły być chłodne i wydajne, co w połączeniu z ich dużą podatnością na podkręcanie z dnia na dzień zmniejszyło atrakcyjność oferty konkurencyjnego AMD. Koncern był już w trakcie przygotowywania nowej architektury, która byłaby w stanie nawiązać równorzędną walkę z konkurentem na polu wydajności. Udało się to w drugim kwartale 2007 roku - na rynku pojawił się K10.

Image

K10 to określenie architektury, na której oparte będą nowe procesory AMD, między innymi Phenomy oraz Opterony wykorzystujące rdzeń Barcelona. Przy okazji wokół nazwy kodowej nowych chipów powstało pewne zamieszanie. Na wielu portalach oraz przez wielu użytkowników pojęcia K10 i Barcelona używane są zamiennie. W praktyce nazwa kodowa Barcelona dotyczy zaledwie jednego z wielu planowanych procesorów wykorzystujących nową architekturę AMD. Na początek koncern przygotował procesory czterordzeniowe (po raz pierwszy w swojej historii), planowane są również chipy z mniejszą liczbą rdzeni.

W poniższym artykule zaprezentujemy nowości, którymi dysponuje K10, w tym jego nową architekturę, dodatkową pamięć L3, poprawiony kontroler pamięci i świeżo wprowadzony zestaw instrukcji. Pokażemy też zapowiadane modele procesorów opartych na K10 wraz z odpowiadającymi im nazwami kodowymi.

Nowa architektura. Usprawniony kontroler pamięci

K10 oparty jest na nowej architekturze, która jednak nie jest rewolucyjnym odejściem od dotychczasowych procesorów AMD, a co najwyżej twórczym rozwinięciem wcześniejszej K8. Nie ma więc tutaj mowy o takich zmianach, jak te wprowadzone w Pentium 4, który w stosunku do Pentium III był zaprojektowany niemal zupełnie od nowa. K10 można porównać do Core 2 Duo, który jest ulepszoną i wzbogaconą wersją Pentium M.

Dreźnieński Fab 36 od środka - to tutaj powstają procesory AMD

Image

Jednym z usprawnień występujących w K10 jest ilość danych, które procesor może pobrać w jednym cyklu zegara z przeznaczonej na instrukcje pamięci cache L1. Jest ona dwukrotnie większa niż w K8, co oznacza, że nowe układy AMD są w stanie odczytać 32 bajty na jeden cykl, podobnie jak procesory Intela z serii Core.

Balcerona, czyli cztery rdzenie w jednej obudowie

Image

Kolejne istotne usprawnienie stanowi akcelerator obliczeń zmiennoprzecinkowych, zwany w oryginale AMD Wide Floating Point Accelerator. W układach z serii K8 przekazywanie danych wewnątrz procesora odbywało się po 64-bitowej szynie. Stanowiło to wąskie gardło dla instrukcji SSE. Posiadają one bowiem 128-bitowe rejestry XMM0-XMM7, co sprawiało, że wykonywane na nich operacje musiały być najpierw rozbite na dwa 64-bitowe fragmenty. W K10 zastosowano wewnętrznie 128-bitową szynę danych, co sprawia, że wykonywanie 128-bitowych operacji SSE nie jest już tak czasochłonne. Podobnie zresztą zrobił Intel w swoich procesorach Core.

Ogólna architektura 4 rdzeni AMD na przykładzie nowego Opterona

Image

- Usprawniony kontroler pamięci

Wydajność komputera w dużej mierze zależy od tego, jak dużą ilość danych z pamięci RAM uda się pobrać procesorowi podczas jednego cyklu zegara. Ponieważ taktowanie CPU jest znacznie wyższe od taktowania pamięci RAM, wydajność tej ostatniej bezpośrednio przekłada się na prędkość działania procesora. Sposobem na zapewnienie wydajnej pracy CPU jest ładowanie dużych porcji danych podczas każdego odwołania do pamięci operacyjnej.

Moduły pamięci komunikują się za pośrednictwem 64-bitowej szyny danych. Aby zwiększyć ich wydajność, kilka lat temu wymyślono tryb dual-channel, a więc dwukanałowy dostęp do pamięci. Polega on na jednoczesnym dostępie do dwóch 64-bitowych modułów, dzięki czemu w jednym cyklu można odczytać dwa 64-bitowe pakiety danych. W teorii więc takie rozwiązanie podwaja przepustowość pamięci RAM.

Dwukanałowy dostęp do pamięci ma jednak swoje wady. Jedną z nich jest to, że kolejne dwie porcje danych mogą być pobrane wyłącznie z adresów bezpośrednio następujących po sobie. Na przykład, jeśli CPU odczyta informację, znajdującą się pierwszej komórce RAM, kontroler pamięci automatycznie przekaże mu również dane z drugiej, następującej po niej komórki. Ponieważ dane z tej ostatnie w wielu wypadkach okazują się niepotrzebne dla CPU (ponieważ zakończył proces odczytu na jednej komórce lub wymaga danych z zupełnie innego miejsca), dodatkowy odczyt nie przekłada się na przyrost wydajności.

Zawarty w K10 sterownik pamięci wykorzystuje nową technologię AMD Memory Optimizer Technology, która pozwala na ominięcie powyższego problemu. Udoskonalony sterownik jest w stanie w jednym cyklu zegara pobierać dane z dwóch zupełnie różnych komórek pamięci RAM. Takie rozwiązanie pozwala zwiększyć wydajność procesora, ponieważ unika się w ten sposób tracenia cykli na ładowanie niewykorzystanych danych z pamięci. AMD oficjalnie nazywa swoje rozwiązanie AMD Memory Optimizer Technology.

K10 oficjalnie obsługują jedynie pamięci DDR2, wewnętrznie jednak są przygotowane również na nowy, wydajniejszy i bardziej energooszczędny standard DDR3. AMD uaktywni jego obsługę, kiedy uzna to za stosowne, a więc zapewne w połowie przyszłego roku, kiedy ceny tych modułów spadną do akceptowalnych poziomów (obecnie DDR3 potrafią być nawet 10-krotnie droższe od DDR2).

Pamięć cache trzeciego poziomu. Energooszczędność

Pamięć cache procesora to szybka pamięć Static RAM, znajdująca się bezpośrednio na procesorze. Jej zadaniem, podobnie jak każdej innej pamięci cache, jest przechowywanie często wykorzystywanych danych - w tym przypadku takich, które mogą być przydatne do wykonania instrukcji planowanych na najbliższe cykle zegara. W sytuacji, kiedy procesor nie znajdzie wymaganych danych w pamięci cache, będzie zmuszony do sięgnięcia do wielokrotnie wolniejszej pamięci DRAM, wetkniętej w sloty na płycie głównej. Ponieważ jest ona dynamiczna, wymaga częstego odświeżania, co spowalnia jej działanie, jest też taktowana kilkukrotnie niższym zegarem, niż pamięć cache na procesorze.

W dwurdzeniowych procesorach K8 (na przykład w Athlonie 64 X2), a także w Pentium D, każdy ze rdzeni posiada własną, odrębną pamięć L2. Natomiast w przypadku nowocześniejszej architektury Core zastosowano inne rozwiązanie, w którym w procesorze znajduje się jeden cache L2, wykorzystywany wspólnie przez oba rdzenie.

Przepływ danych pomiędzy rdzeniami procesorów K10

Image

Oba rozwiązania mają swoje wady i zalety. W przypadku odrębnej pamięci L2 dla każdego z rdzeni, mogą zdarzyć się sytuacje, w której jeden ze rdzeni wykorzystał już całą dostępną dla siebie pamięć i musi odwoływać się do wolniejszej zewnętrznej pamięci DRAM, podczas gdy drugi rdzeń dysponuje jeszcze wolną pamięcią drugiego poziomu. Z drugiej strony, takie rozwiązanie jest prostsze i tańsze w implementacji. Wspólna pamięć L2 teoretycznie pozwala z kolei na bardziej elastyczny przydział pamięci do tego rdzenia, który aktualnie bardziej jej potrzebuje.

A jak to wygląda w układach czterordzeniowych Intela, takich jak procesory Core 2 Quad? Jako, że składają się one z dwóch połączonych chipów dwurdzeniowych, każda para rdzeni ma do podziału swój własny moduł cache. W przyszłości Intel planuje stworzenie procesorów z czterema oddzielnymi rdzeniami, które będą miał do swojej dyspozycji jedną, wspólną pamięć L2.

Bohaterowie niniejszego artykułu, a więc procesory oparte na architekturze K10 będą wykorzystywały jeszcze inny pomysł, zbliżony do rozwiązań stosowanych w serwerach. Będzie to współdzielony cache trzeciego poziomu (L3). AMD nazywa swoje podejście mianem Balanced Smart Cache. Jego rozmiar będzie zależał od modelu układu, podobnie jak objętość cache L2. A co z pamięcią L1? Ta pozostanie natomiast identyczny, co dotychczas w K8 - po 64 KB na instrukcje i dane.

- Energooszczędność

Mimo że już procesory z serii K8 były całkiem chłodne, w K10 wprowadzono dodatkowe usprawnienia, mające na celu ograniczenie poboru energii, a co za tym idzie redukcję ilości oddawanego ciepła.

Independent Dynamic Core Technology pozwala na niezależne zarządzanie taktowaniem poszczególnych rdzeni

Image

Najważniejszą technologią, wpływającą na większą energooszczędność nowych CPU jest Independent Dynamic Core Technology. Pozwala ona każdemu z rdzeni pracować z inną częstotliwością. Nie ma jednak róży bez kolców - wszystkie rdzenie będą musiały korzystać z takiego samego napięcia, co ten najbardziej obciążony w danym momencie.

Kolejnym krokiem w zakresie walki z wysoką temperaturą jest CoolCore Technology. Dzięki niej niewykorzystywane w danym momencie elementy procesora będą mogły być wyłączane (odłączane od zasilania). Taka funkcjonalność jest już wykorzystywana przez Intela w procesorach z serii Core.

Jeszcze jedną nowością jest Dual Dynamic Power Managment (DDPM), funkcjonująca również pod nazwą split-plane. DDPM umożliwia procesorowi i zintegrowanemu z CPU kontrolerowi pamięci na korzystanie z oddzielnych źródeł zasilania. Dzięki temu nie muszą one pracować pod tym samym napięciem, a kontroler pamięci może być wyżej taktowany, zazwyczaj o około 200 MHz więcej niż główny zegar procesora. Technologia ta pozwala procesorowi na pracę przy niższym napięciu przy zachowaniu takiej samej wydajności, ułatwia również systemowi powrót z trybu uśpienia. DDPM wymaga nowej płyty głównej z gniazdem AM2+, w starszych płytach nie będzie wykorzystywana, a obie części procesora będą zasilane tym samym napięciem.

HyperTransport 3.0. Nowe instrukcje. Przewidywanie rozgałęzień

Procesory z serii K10 w wersji desktopowej będą też korzystały z nowej technologii HyperTransport 3.0. Dzięki temu transfer danych pomiędzy procesorem, a pozostałymi podzespołami komputera będzie szybszy niż w dotychczasowych wersjach tej magistrali i wyniesie maksymalnie 10,4 GB / sekundę. Jest to wydajność ponad 2.5-krotnie wyższa od dotychczasowej wersji HT, z której można było wycisnąć co najwyżej 4 GB / sekundę przy taktowaniu jej zegarem 1 GHz. Dzięki szybszej magistrali zwiększy się skalowalność całego systemu. W rozwiązaniach serwerowych szybsze HT pojawi się w późniejszym terminie.

HyperTransport 3.0 to jednak nie tylko wyższa wydajność, a również oszczędność energii. Dzięki temu, że HT 3.0 pozwala procesorowi na bieżąco zmieniać taktowanie oraz liczbę bitów przesyłanych w jednym cyklu zegara po tej magistrali, w momencie gdy procesor nie jest obciążony, będzie redukował swój zegar, a przy okazji pobierał mniej energii.

Nowy HyperTransport jest zgodny wstecz. Dzięki temu procesory K10 będzie więc można instalować w płytach głównych z gniazdem AM2. Będą jednak działały z wolniejszym taktowaniem magistrali HT i obniżoną prędkością transferu.

Nowe instrukcje

Lista rozkazów w procesorach K10 została rozszerzona o kilka nowych instrukcji:

1. Rozszerzone operacje bitowe na rejestrach ogólnego przeznaczenia: LZCNT i POPCNT

2. Instrukcje przetwarzania rejestrów SSE, czyli zestaw SSE4a: EXTRQ, INSERTQ, MOVNTSS i MOVNTSD

Warto zauważyć, że rozszerzenie SSE4a to coś zupełnie innego niż wprowadzane przez Intela dodatki w postaci SSE4.1 i SSE 4.2. Na początku z pewnością spowoduje to mały zamęt i konieczność dostosowywania kompilatorów i oprogramowania do obsługi kolejnych rozszerzeń.

Warstwy wirtualizacji w architekturze x86

Image

AMD rozwija też swoje technologie wirtualizacyjne. Wirtualizacja jest technologią umożliwiającą jednoczesne uruchamianie kilku systemów operacyjnych w tym samym czasie bez znaczącego spadku wydajności. Jednym z usprawnień K10 w sferze wirtualizacji jest implementacja technologii nested paging. Strony pamięci maszyn wirtualnych są w przypadku tej technologii zagnieżdżone w nadrzędnej tablicy stron. W sytuacji, gdy w buforze TLB nie znajdują się odniesienia do żądanej strony pamięci, procesor automatycznie wykonuje wszystkie wymagane przekształcenia tablic. Nested paging stanowi spory krok naprzód w stosunku do starszej technologii shadow paging, przy zastosowaniu której, operacje na tablicach stron pamięci maszyn wirtualnych pożerały sporą część zasobów procesora.

- Przewidywanie rozgałęzień

Procesor, który wykonuje serię rozgałęziających się instrukcji powinien umieć przewidzieć najbardziej prawdopodobny przebieg operacji. Dzięki temu będzie w stanie uniknąć przerw w przetwarzaniu kodu. Jedną z większych bolączek architektury K8 była niezdolność przewidywania rozgałęzień pośrednich, które nie mają ustalonego adresu skoku.

W rozgałęzieniach tego rodzaju adres skoku obliczany jest na bieżąco podczas wykonywania programu. Zwykle pojawiają się one podczas interpretacji instrukcji warunkowych, bądź przy wywołaniach funkcji adresowanych i wirtualnych stosowanych w programowaniu obiektowym. K8 zawsze pobierał blok kodu, kierując się adresem ostatniego rozgałęzienia, a w przypadku jego zmiany opróżniał potok. Jeśli adres zmieniał się często, pomyłki przy zgadywaniu procesor wykonywał praktycznie bez przerwy. Pierwszym układem, w którym zastosowano moduł przewidywania dynamicznie zmieniających się adresów rozgałęzień pośrednich, był Pentium M. Brak podobnego algorytmu w K8 powodował, że procesor nie miał rewelacyjnej wydajności podczas wykonywania kodu obiektowego.

Na szczęście K10 może się pochwalić sporymi poprawkami na tym polu. W nowej architekturze zaimplementowano algorytm przewidywania adresów rozgałęzień warunkowych, który korzysta z 512-elementowej tablicy. Wzrosła też objętość rejestru pozwalającego określić typowy przebieg rozgałęzień na podstawie wyników uprzednio wykonanych instrukcji - z 8 do 12 bitów. Inżynierowie AMD zdecydowali się również na zwiększenie do 24 pozycji wielkości stosu adresów zwrotnych. Stos ten umożliwia szybkie pobranie adresu zwrotnego i kontynuowanie wykonywania kodu bez zwyczajowego oczekiwania na wynik funkcji RET.

Dzięki wprowadzonym ulepszeniom, K10 powinien radzić sobie ze złożonym kodem obiektowym dużo lepiej od poprzednika. Jak wypadnie w praktyce, okaże się po wykonaniu odpowiednich benchmarków.

Procesory oparte na K10. Trzy rdzenie. Podsumowanie

Pierwszymi procesorami z serii K10, które pojawiły się już na rynku są czterordzeniowe Opterony oparte na rdzeniu Balcerona. My jednak skupmy się na tych najbardziej interesujących, przeznaczonych dla komputerów biurkowych.

Planowane przez AMD desktopowe procesory K10 to:

  • Spica: jednordzeniowy Sempron z 512 KB L2 pamięci cache, obsługą DDR2 i szyną HyperTransport 3.0, przeznaczony dla gniazda AM2+
  • Rana: dwurdzeniowy Athlon X2 z 512 KB L2 cache na rdzeń, pamięcią L3 o nieznanej dotąd wielkości, obsługą DDR2 i szyną HyperTransport 3.0, przeznaczony dla gniazda AM2+
  • Kuma: dwurdzeniowy Phenom X2 z 512 KB L2 cache na rdzeń, 2 MB pamięci L3, obsługą DDR2 i szyną HyperTransport 3.0, przeznaczony dla gniazda AM2+
  • Agena: czterordzeniowy Phenom X4 z 512 KB L2 cache na rdzeń, 2 MB pamięci L3, obsługą DDR2 i szyną HyperTransport 3.0, przeznaczony dla gniazda AM2+
  • Agena FX: czterordzeniowy Phenom FX z 512 KB L2 na rdzeń, 2 MB pamięci L3, obsługą DDR2 i szyną HyperTransport 3.0, przeznaczony dla gniazd AM2+ oraz Socket 1207+

Przedstawione powyżej gniazda AM2+ oraz Socket 1207+ są po prostu unowocześnionymi odpowiednikami dotychczasowych AM2 i Socket 1207. Różnią się obsługą szyny HyperTransport 3.0 oraz technologią dynamicznego zarządzania energią (DDPM). Jak już wspomnieliśmy, można zainstalować procesory K10 w starym gnieździe AM2 lub Socket 1207, jednak kosztem nieco niższej wydajności i wyłączenia niektórych funkcji oszczędzania energii. 

- Trzy rdzenie

Przy okazji wprowadzenia nowej architektury, AMD zdecydowało się na stworzenie swoistego kompromisu między niską ceną procesorów dwurdzeniowych, a droższych rozwiązań quad-core. Będą to procesory Phenom X3, a więc trzy rdzenie na jednym chipie.

Ogólna architektura trzyrdzeniowych procesorów AMD Phenom X3

Image

Trzyrdzeniowe rozwiązania od AMD planowane są na pierwszy kwartał 2008 roku. Pierwszy tego typu procesor, który ujrzy światło dziennie nie został jeszcze zapowiedziany, ale wiadomo, że będzie oferował obsługę pamięci DDR2, dysponował 512 KB cache L2 na rdzeń, 2 MB pamięci L3, będzie też oczywiście zgodny z nową szyną HyperTransport 3.0 i gniazdkami AM2+.

- Podsumowanie

K10 to dla AMD możliwość odebrania palmy pierwszeństwa albo przynajmniej dorównania konkurencyjnym procesorom Intel Core 2 Duo, które są szybkie, chłodne i oferowane w atrakcyjnych cenach - choć nie tak atrakcyjnych, jak AMD. Chyba, że wziąć pod uwagę możliwości podkręcania procesorów Intela - wówczas wygrywa on znacząco, gdyż taktowane 1.8 GHz egzemplarze E4300 za 400 złotych spokojnie można podciągnąć do 2.7 GHz, a w wielu przypadkach nawet i więcej, do ponad 3 GHz. Intel oferuje również procesory E6850, firmowo taktowane takim zegarem. AMD póki co nie ma w swojej ofercie właściwie niczego, co odpowiadałoby wydajności 3 GHz Core 2 Duo.

Serwerowa Balcerona, choć spóźniona, jest już na rynku. Biurkowych K10 można spodziewać się na przełomie listopada i grudnia. Dlaczego ich premiery są ciągle przekładane? AMD najprawdopodobniej zmaga się z kolejnymi problemami technologicznymi, które nie pozwalają na taktowanie nowych chipów na tyle wysokimi zegarami, aby mogły być konkurencyjne. Występują również problemy z osiągnięciem odpowiednio dużej liczby sprawnych procesorów z jednego wafla, co jest koniecznie, aby cały proces produkcyjny był opłacalny.

Czy przyszłość AMD jest świetlana? Naszym zdaniem K10 pozwoli temu koncernowi iść z Intelem łeb w łeb w dziedzinie wydajności przez kolejne kilka(naście) miesięcy. Jeśli bowiem nie brać pod uwagę wydajności, lecz stosunek możliwości do ceny, czy też wydzielanie ciepła, to już od jakiegoś czasu w tych aspektach AMD może się pochwalić lepszymi wynikami od swojego flagowego konkurenta. Trzyrdzeniowe procesory X3 również są w stanie nieźle zamieszać na rynku i jeśli "zieloni" dobrze to rozegrają, ich triple-core może zostać niezłym hitem - przynajmniej do czasu radykalnych spadków cen czterordzeniowców.

Wybrane dla Ciebie
ZATRZYMAJ SIĘ NA CHWILĘ… TE ARTYKUŁY WARTO PRZECZYTAĆ