K10 élesben - nyúzópadon a Phenom

Az északi híd és az L3 cache órajele

A Phenom processzorok egyik legnagyobb, legfelkapottabb újítása a harmadszintű gyorsítótár. Az L3 cache-sel részletesen foglalkoztunk mélylélektani elemzésünkben, ezért most egy kis kitérő után azonnal a teljesítményt befolyásoló hatására térnénk.

A processzor feldolgozóegységei és a memória között tradicionálisan a háttértár > memória (> L3 cache) > L2 cache > L1 cache az adatok útvonala. Ez azt jelenti, hogy a processzor alaphelyzetben – ha arra van szükség – a memóriából először az L2 cache-be tölti a gyakran használt adatokat, majd onnan az L1-be. Itt találjuk a leggyakrabban használt adatokat, de általában az L2 cache-ben megmarad ennek a másolata, ekkor beszélünk inkluzív gyorsítótárról (az L1 részhalmaza az L2-nek). Az AMD a K10-ben kicsit megkavarta a lapokat, ugyanis megváltoztatta ezt a megszokott sémát. A K10 a memóriából közvetlenül az L1-be tölti az adatokat, majd ha ez megtelik, a helyhiány miatt az adatok az L2-be kerülnek (victim cache), és ha ez is megtelik, akkor az L3-ba (szintén victim cache).

A K10-ben megtalálható megoldásnak szinte csak előnye van. A tradicionális módszer hátrányt jelent olyan helyzetekben, amikor a programkód rövid, és az adatmennyiség, amelyen a processzor dolgozik, szintén kevéske, hiszen ez azt jelenti, hogy a cache-re nincs szükség, tehát az adatok késleltetése feleslegesen magas, elvégre amíg eljutnak a feldolgozásig, addig meg kell tenni a memória–L2 cache–L1 cache útvonalat, ezeknek elérési ideje tehát összeadódik. Szerencsére a legújabb processzorok már nagyon komoly prefetch (előbehívó) logikákat vonultatnak fel, például a Core 2 processzorokban a Data Prefetch Logic, amely az L2-ben működik, az L1 adatelérési sémáit elemzi, és ha szekvenciális lekérést detektál, akkor előre behúzza az adatokat a memóriából, így a hierarchiából adódó hátrányokat ezekben a helyzetekben némileg ellensúlyozza. Ezzel szemben a K10 a memóriából közvetlenül az L1-be tölti az adatokat, ráadásul prefetcherek segítségével, ez pedig azt jelenti, hogy az L2 cache elérési idejét megspórolja magának a processzor.

Vannak viszont esetek, amikor nagy adatmennyiségekkel kell dolgozni, ilyenkor mi történik? Az attól függ, hogy a feldolgozott adatok ismétlődnek-e vagy sem. Ha ismétlődnek, akkor a K10 ismét előnyben van, hiszen, a K10 az L3-ból az adatokat közvetlenül az L1-be tölti (az L2 mindig kimarad), ezzel sok-sok ciklusnyi késleltetést spórol meg magának. A hagyományos felépítés ebben a helyzetben ismét csak lassabb, hiszen az L1–L2–L3 közti késleltetés nem kerülhető ki. Amikor nagy mennyiségű, de nem ismétlődő adatcsomagokkal van dolgunk, a K10-es megoldás a közvetlenül L1-be töltő logika miatt szintén előnyt élvez riválisával szemben. Az egyedüli probléma, hogy az első, 65 nm-en gyártott K10-es chipek esetében mindössze 2 MB méretű a harmadszintű gyorsítótár, ami nagyon kevésnek tűnik elsőre, elvégre ezt illik az L2 cache legalább 8–16-szorosára méretezni, de mint láttuk, a K10 esetében a cache-hierarchia alján álló L3 egy útvonal végét jelenti, ezért csak és kizárólag olyan adatokat találunk benne, melyek az L2-be nem fértek el (tehát ebből az irányból exkluzív), ellentétben a hagyományos kialakítású processzorokkal, melyekben a memória után ez az adatok első állomása, emiatt a memória elérésének idejében is közrejátszik (növeli azt), és az L2-ben, illetve L1-ben is megtalálható adatok másolatát is tartalmazza (inkluzív), sok felesleges, egyszer használatos adattal egyetemben.

A K10 processzorokban az L3 cache a processzorban megtalálható „északi híd” órajelén üzemel. Az északi híd nagyjából ugyanazokat a funkciókat látja el, amiket egy külső megoldás, egy chipset északi hídja (adatforgalom-irányítás, szinkronizálás stb.). Minthogy az L3 cache alapvetően egy szeletke felturbózott memóriának felel meg, az L2 cache-ben felhasznált SRAM celláknál kisebb órajelet bír, ezért az L3 a processzor órajelénél alacsonyabb órajelen jár. Például a Phenom processzorokban amíg a processzor órajele 2,2–2,3 GHz, addig az L3 cache 1,8 GHz-en ketyeg. A legmagasabb órajelű tesztre kiadott Barcelona (mintapéldány) 2,5 GHz-es, ebben az L3 cache csak 2 GHz-en jár, és így tovább. A kérdés csupán az, hogy a harmadszintű gyorsítótár órajele miképpen befolyásolja a processzor teljesítményét. Sejthető, hogy amíg szekvenciális adatfolyamon dolgozunk, addig nem különösebben érdekes ez a kérdés. Még akkor sem, ha beleférünk a 64+512 kB-os keretbe. De ha ki is csúszunk belőle, akkor sem a memóriánál alig magasabb elérhető sávszélesség miatt profitálhatunk belőle, hanem a memóriánál sokkal rövidebb elérési ideje miatt (lásd mélylélektani elemzésünket).

A következő táblázatban összesítettük a 2,2 GHz-es Phenom processzor teljesítményét 1,8 és 2,2 GHz-es L3 cache órajel mellett.


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

Azóta történt

  • 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.

  • Wolfdale a hárommagos Phenom ellen

    Tesztünkben olyan érdekes chipeknek jut a főszerep, mint az Intel 45 nm-es Core 2 Duója, illetve az AMD három aktív magot tartalmazó Phenomja.

  • Tavaszi árverseny

    Egyre élesebb a piaci verseny a főbb hardverágazatokban, és jönnek az új nyomtatók, notebookok.

  • Skulltrail: nyolc mag másodszorra

    Bemutatjuk az Intel asztali PC-kbe szánt, de a szerverek világából származó új platformját.

Előzmények

Hirdetés