Hirdetés

Intel Prescott: az új generáció

Egy új processzor


A Prescott magja

A Prescott egyik váratlan újítása a rendkívül hosszú futószalag: az Intel mérnökei igen merészen 20 fokozatról 31 fokozatra növelték a futószalag hosszát.* A radikális lépést a működési frekvencia skálázhatóságának kitolása indokolta, hiszen azáltal, hogy az utasításvégrehajtást több részfeladatra bontja le a processzor, a részfeladatokat végző áramköri elemek bonyolultsága csökkenthető, és így növelhető az órajel. Az Intel célkitűzései szerint a módosított architektúra 4-5 GHz-ig skálázódik. A futószalag-fokozatok számának növelése azonban a gyakorlatban a processzor teljesítményének csökkenéséhez vezethet: jó példa erre az első Pentium 4 processzor (Willamette), amely azonos órajelen látványosan gyengébb teljesítményt nyújtott, mint a 10 fokozatú futószalaggal ellátott Pentium III. Joggal várhatnánk tehát, hogy a Prescott gyengébb teljesítményt nyújt, mint elődje; a bevezetett további mikroarchitekturális változtatások jelentős része éppen a hosszabb futószalag okozta teljesítménycsökkenés minimalizálását szolgálja.

Hirdetés

Elágazásbecslés

Ilyen a javított hatékonyságú elágazásbecslés. Jól ismert tény, hogy az elágazások (GO TO, IF-THEN-ELSE) kezelése komoly kihívást jelent a processzortervezők számára, hiszen az elágazáskezelő logika hatékonysága jelentős mértékben befolyásolja a chipek teljesítményét. A modern mikroprocesszorok jelentős része – így a Pentium 4 vagy az Athlon 64 – az elágazásokat spekulatív módon hajtja végre. Ez azt jelenti, hogy a processzor megbecsüli a feltétel eredményét és a becslésnek megfelelő ágon folytatja a program végrehajtását. Ám ha a becslés hibás volt, a processzornak törölnie kell a spekulatív módon végrehajtott utasításokat, vissza kell állítania az elágazás előtti állapotot, és a helyes ágon kell megkezdenie a végrehajtást. Ez egy 31 fokozatú futószalagot tartalmazó processzor esetében számos ciklusnyi kiesést jelent, ami – figyelembe véve, hogy egy általános célú program minden 4-6. utasítása elágazás – komoly teljesítménycsökkenéssel járhat.

A Prescott statikus elágazásbecslő logikája intelligensebb, mint a Northwoodé. A Northwood ugyanis minden feltételes visszaugráshoz határozott elágazás értéket rendel, azaz úgy becsüli, hogy a feltételtől függő ugrást végre kell hajtani. Ez a statikus szabály rendkívül hatékonyan alkalmazható a programkódban található ciklusok végrehajtása során, hiszen ezek kizárólag visszafelé mutató elágazást tartalmaznak. De nem minden feltételes visszaugrás cikluszáró utasítás. Ezeknek a kivételeknek az azonosítására szolgál az a logika, amelyik megvizsgálja, hogy milyen távoli a feltételes visszaugrás: általánosságban elmondható ugyanis, hogy a cikluszáró ugrások rövidebbek.

A Prescott dinamikus elágazásbecslése is hatékonyabb, mint a korábbi Pentium 4 modelleké: az Intel mérnökei a Pentium M processzorban használt megoldást ültették át a Prescottba. A vállalat mérései szerint a fejlettebb elágazáskezelésnek köszönhetően a SPEC CPU2000 teszt alkalmazásaiban átlagosan 13 százalékkal csökken a téves becslések száma.

Ütemezés

Az utasítások hatékony ütemezése a modern – soron kívüli végrehajtást támogató szuperskalár – processzorokban rendkívül fontos a teljesítmény szempontjából. Az utasításütemező feladata, hogy a processzor végrehajtóegységeit – amennyire csak lehetséges – folyamatosan dolgoztassa. Azonban minél hosszabb a futószalag, annál nehezebb a dolga az ütemezőnek, hiszen annál több utasítást kell okosan (a köztük lévő függőségeket elemezve) sorba állítania végrehajtásra. Az ütemezők hatékonyságát javítandó növelték meg a Prescottban a lebegőpontos ütemezőpuffer és néhány további puffer méretét, így az ütemezők több utasítás közül választhatják ki a végrehajtásra legalkalmasabb jelölteket.

Szintén a hatékonyabb ütemezés érdekében vezette be az Intel az egymástól függő betöltő (load) és tároló (store) utasítások intelligens kezelését. Az utasítások párhuzamos végrehajtása során gyakran előfordul, hogy olyan adatra (például egy szorzás eredményére) van szükség egy művelethez, amely még nem került visszaírásra a gyorsítótárba. Ilyenkor az adatot betöltő utasítás mindaddig nem hajtódik végre, míg a korábbi eredmény nem került tárolásra. A Prescott azonban tartalmaz egy becslő logikát, amelynek az a feladata, hogy megjósolja: egy tároló utasítás eredményére szüksége lehet-e egy közeli betöltő utasításnak, és ha igen, a betöltés ütemezését késlelteti.

* A mikroprocesszorok teljesítménye jelentősen növelhető az utasítások végrehajtásának párhuzamosítása (azaz egy időben több utasítás végrehajtása) révén. A futószalagelvű utasításvégrehajtás a párhuzamosítás egyik régóta alkalmazott technikája. A processzor futószalagja egy ipari gyártósorhoz hasonlítható. Egy gépkocsi elkészítése számos lépésből áll, minden egyes lépés valamit hozzáad a készülő járműhöz. A gyártósoron az egyes lépések végrehajtása párhuzamos, minden egyes lépésben egy újabb autó kerül szerelésre. A processzor szintén lépésekre, részfeladatokra bontja az utasítások végrehajtását, és minden egyes lépésben az utasítás egy-egy részét hajtja végre. Akárcsak a gyártósoron, az egyes lépések végrehajtása párhuzamosan folyik újabb és újabb utasításokon, azaz – optimális esetben – minden lépésre jut egy utasítás. A futószalag fokozatainak száma az utasítás végrehajtásához szükséges részfeladatok számát adja meg.

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

Hirdetés

  • Kapcsolódó cégek:
  • Intel

Azóta történt

  • A 3400-asok klubja

    Cikkükben a 3,4 GHz-en futó Northwood Pentium 4 és az AMD Athlon 64 3400+ küzdelméről tudósítunk.

  • GMA900 – 3D Intel módra

    Az Intel új integrált grafikus vezérlője, a GMA900 számos újdonsággal szolgál elődjéhez képest.

  • Processzor-megateszt - 1/2

    Cikkünkben az AMD és az Intel PC-kbe szánt processzorainak főbb jellegzetes- ségeit és legutóbbi átalakulásait boncolgatjuk.

  • Processzor-megateszt - 2/2

    Cikkünk második részében mérések egész sorával derítünk fényt az Intel és az AMD chipjeinek erényeire – és gyengéire.

Előzmények