Fókuszban az AMD K10 architektúra

Bevezető

2003-ban, amikor a K8-at, az Opteron és Athlon 64 alapjául szolgáló architektúrát bemutattuk, először a K7-re (Athlon és Athlon XP) való visszautalással kezdtük cikkünket, igaz, teljesen más okból, mint most. Anno a K7 megkerülhetetlen volt az x86-os piacon dúló háború leírásakor, másrészt a K8 bizony sok tekintetben a K7-re építkezett.

Most, 2007-ben, amikor a K10 került a figyelem középpontjába, szintén a K7-től indulunk ki, hogy jobban érthetővé váljanak azok a fejlesztési irányok, melyek eredményképpen piacra kerülhettek a harmadik generációs Opteronok, illetve – cikkünk megjelenésének napján – az asztali számítógépekbe szánt Phenom processzorok. A K7 1999-ben debütált, tehát nem kevesebb mint 8 éves mikroarchitektúráról van szó. Megjelenése komolyan felbolygatta a piacot, hiszen az Intel vitathatatlanul uralta az x86-os szegmenst, ennek ellenére az AMD, a kis „Dávid” egy olyan megoldással rukkolt elő, amellyel verte „Góliátot”.

A K7, ahogy napjaink asztali processzorainak többsége, a bonyolult x86-os utasításokat egyszerűbb – a RISC rendszerekéhez hasonló – utasításokra bontja le, amelyeket már közvetlenül végre tud hajtani. Ebben nem is különbözött a rivális megoldásától, hiszen ugyanez elmondható volt a P6-ról is, amelynek sokadszorra ráncfelvarrt verziója ketyegett a Pentium III-ban. Jelentős volt viszont a lista, amiben éppenséggel különbözött ellenfelétől: architekturális felépítése, buszrendszere (EV6 a GTL-lel szemben), és a P6-ot verő lebegőpontos számítási teljesítménye, amit az Intelnek csak tavaly sikerült felülmúlnia.

Az AMD erős chipje felébresztette a reményt, hogy a gyártó sikerrel törhet be az x86-os szerverek piacára. Ez azonban egyelőre szándék maradt, az AMD ekkortájt még nem rúghatott labdába a Pentium Xeon, majd Xeon néven futtatott Intel szerverprocesszorok mellett. A K7 teljesítményével nem voltak gondok, de több más szempont is hatással volt fogadtatásukra. A K7-ből legfeljebb kettőt lehetett egy rendszerbe ültetni, a rivális processzorok széles körű elterjedése, a piac tehetetlensége is akadályozta a térhódítást, valamint a kiszolgálókba szánt processzorokkal szemben támasztott megbízhatósági, rendelkezésre állási, szervizelhetőségi követelményeknek is nehezebben tett eleget az AMD. Athlonokhoz való chipsetek sem hemzsegtek mindenfelé, jól illusztrálja a helyzetet, hogy az AMD kénytelen volt saját maga többprocesszoros működést lehetővé tevő chipsetet készíteni (AMD 760 MPX), hiszen a VIA erre nem vállalkozott, az NVIDIA a chipseteket tekintve még sehol sem volt, a SIS pedig nem volt jelentős tényező. Mindettől függetlenül a K7 kitűnően sikerült, jó teljesítményt nyújtott, és bár a szerverpiacon nem hódított, az asztali PC-s felhasználók jól jártak vele.

2003-ban jött a K8, melyhez az AMD nem titkoltan nagy reményeket fűzött, főleg abban a tekintetben, hogy a többprocesszoros rendszerek világát is meghódítsa, ennek érdekében pedig számos újítást vezetett be. A K8 nem volt más, mint egy felturbózott, a ciklusonként végrehajtott műveletek számában (instructions per cycle, IPC) feljavított, sávszélességéhes alkalmazásokhoz optimalizált K7, ráadásul 64 bites kiterjesztéssel. Az IPC javult, mert nőtt az elsőszintű adat- és utasításcache virtuális memóriacímek fordításában közreműködő TLB pufferének (Translation Lookaside Buffer) mérete, csökkent a gyorsítótárak elérési ideje, nőtt az ütemezők száma, javítottak az elágazásbecslés hatékonyságán, és az új mag már támogatta az SSE2 (SIMD) utasításkészletet.

A 64 bites kiterjesztés szintén nem az asztali PC-k esetében tette vonzóbbá a chipet (bár kétségtelen, hogy jelentős reklámértéke volt). Korábban úgy tartották, hogy a 64 bites RISC szerverprocesszorok kiszorítják az x86-ot a szerverek piacáról – hogy ez nem történt meg, az minden valószínűség szerint az AMD 64-nek (másképp: x86-64) köszönhető, hiszen megtartotta az x86-kompatibilitást, vagyis lehetővé tette a drágán beszerzett programok futtatását 64 bites környezetben is. A nagyobb megcímezhető memória (és a plusz regiszterek) szintén a szerverek világában jöhet jól, otthon senki nem használ 16–64 GB memóriát. Az x86-64 megjelenése abból a szempontból is jelentős volt, hogy megjelenésével az AMD ki tudta ragadni az Intel kezéből a kezdeményezést, a kulcsfontosságú szoftverfejlesztők is hozzá igazították termékkínálatukat, olyan piaci szereplők, mint a Microsoft, a Sun, illetve a Linuxra építő cégek támogatták technológiáját.

A sávszélesség kérdése komplikáltabb, több elemből épül fel. A K8-ban megjelent az integrált memóriavezérlő (IMC), ami egyben azt is jelentette, hogy feleslegessé vált az északi híd, pontosabban annak memóriát vezérlő tevékenysége. Sokáig azt hihettük, hogy az integrált memóriavezérlő miatt az Athlon processzorok behozhatatlan előnyben vannak a memóriakésleltetés terén, azonban a Core megjelenésével ez a képzet szertefoszlott: jól megtervezett, feljavított előbehívókkal a Core – annak ellenére, hogy továbbra is eggyel több állomáson megy keresztül az adat a CPU és a memória között – majdnem behozta az Athlon 64-et. Igaz, ehhez az előrelépéshez a K8 bemutatkozásától számítva el kellett telnie három évnek. Az IMC igazán áldásos hatása a szervereknél érhető tetten: minden processzor saját, adott méretű memóriával gazdálkodhat, melyhez ráadásul rendkívül gyorsan hozzáfér. Ám ami ennél is szebb, hogy – a szintén a K8-ban bemutatkozó – HyperTransportnak köszönhetően az összekapcsolt processzorok, ez esetben Opteronok belelátnak egymás memóriájába (NUMA).

A HyperTransportot (korábban LDT, azaz Lightning Data Transport néven emlegették) az AMD fejlesztette ki, majd annak érdekében, hogy az Intellel szemben javítsa pozícióit, továbbadta egy számos nagy vállalatot tömörítő konzorciumnak, hogy azok szabadon felhasználhassák, terjesszék, implementálják. A HyperTransport nem más, mint egy nagy sebességű pont-pont összeköttetés. Az asztali PC-k szempontjából nincs túl sok előnye, hiszen az asztali K8-as rendszerekben csak a CPU és a lapkakészlet között találunk HyperTransport linket, de erre a feladatra megfelelt volna a korábban már megismert EV6 busz egy továbbfejlesztett változata is. A többprocesszoros rendszerek esetében azonban már nagyon is kézenfekvő előnyökkel jár. A K8-as Opteron processzorok a chipsettel összeköttetést teremtő HyperTransport kapcsolaton kívül további két linkkel rendelkeznek, ezek pedig további két Opteron processzorhoz való csatlakozás lehetőségét rejtik magukban. Az Opteron a négyutas szerverekig szépen skálázódik, hiszen a topológiában minden egyes Opteron egy vagy két lépésben eléri bármely másikat, viszont efölött a forgalomszűrők hiánya miatt a cache-koherencia felemészti a HT linkek sávszélességének nagyját, így hiába a rendkívül gyors HT linkek sokasága, a jó skálázódás elmarad.

Felmerülhet a kérdés, miért fontos kitérni a szerverprocesszorokat jellemző részletekre. Azért, mert a K10, jelen cikkünk tárgya esetében az AMD ismét egy sor olyan újítással állt elő, melyek kiszolgálókban, közülük is a többprocesszoros kiszolgálókban nyernek jelentőséget. Úgy tűnik, a gyártó az előző chipgeneráció történetéből okulva ismét a szerverpiacon szeretne nagyot tarolni. Természetesen az otthoni PC-s felhasználók is profitálnak majd a K10 újításaiból, de az AMD számára az a lényeg, hogy a szerverek világában minél versenyképesebb legyen, legalábbis erre utalnak a fejlesztések. A K8-as Opteron befutott, de a Core mikroarchitektúrával szemben már nem volt elég erős, ezen kívánnak fordítani a K10-zel.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

  • Intel - elterelő manőver

    Épp a Phenom premierjével egy időben érkezett tesztlaborunkba a Core 2 Extreme QX9770. Csúcsmodell, de minek?

  • A processzorok mélylélektana

    Szokásos tesztrutinunkat megtörve szintetikus benchmarkokkal merülünk alá az x86-os processzorok lelkivilágában.

  • K10 élesben - nyúzópadon a Phenom

    Az AMD új architektúráját elemző írásaink után éles helyzetben, valós alkalmazásokkal teszteltük a Phenom processzort.

  • Processzorok 64 biten

    64 bites operációs rendszer alatt próbáltuk ki, mit hoz a gyakorlatban a mai x86-os processzorok 64 bites kiterjesztése.

Előzmények

Hirdetés