Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

RISC processzorok Processzorkategóriák RISC tervezési filozófia

Hasonló előadás


Az előadások a következő témára: "RISC processzorok Processzorkategóriák RISC tervezési filozófia"— Előadás másolata:

1 RISC processzorok Processzorkategóriák RISC tervezési filozófia
Történelmi háttér RISC és CISC processzorok összehasonlítása A CISC jellemzői A RISC jellemzői CISC-RISC processzorok összehasonlítása Utasításkészlet Folyamatok párhuzamosítása Memóriautasítások Elágazások Regisztertárak Fordítóprogram Főbb RISC arhitektúrák

2 Processzorkategóriák
RISC processzorok (Reduced Instruction Set Computer) Csökkentett utasításkészletû, ám rendkívül nagy sebességû processzor, általában speciális illetve nagy számításigényû feladatok megoldására használatos. CISC processzorok (Complex Instruction Set Computer) Összetett utasítás-végrehajtási eljárású processzor. Ilyen processzorok találhatók például a az IBM PC kompatíbilis személyi számítógépekben is. Processzorkategóriák

3 RISC tervezési filozófia
- az alkalmazási terület elemzése a leggyakrabban használt, szükséges elemek meghatározására - az adatútvonalak optimális kialakítása az utasítások lehető leggyorsabb feldolgozása érdekében - további, kevésbé gyakori feladatok megoldására szolgáló utasítások használata csak akkor, ha azok viszonylag gyakoriak, a kidolgozott adatútvonalakhoz illeszkednek és nem lassítják le a gyakoribb utasítások végrehajtását - csak akkor építeni be valamit, ha annak használati gyakorisága indokolja és nem lassítja le a gyakrabban használt erőforrások működését

4 Történelmi háttér - '60-as évekig egyszerű és kevés számú utasítás, kevés címzésmódot (RISC) - 1964: IBM 360-as gépcsalád - mikroprogramozott műveleti vezérlés - lassú memóriák, gyors ROM(mikroprogram) => memória minél ritkább használata, => bonyolult utasításkészlet - magasszintű programozási nyelvek megjelenése - kialakul a CISC - '70-es évek - gyors RAM, cache => memóriahasználat nem jelent gondot - a bonyolult mikroprogramok lassítják a feldolgozást - felmerül az egyszerüsítés gondolata – el kellene hagyni az egész mikrovezérlő rendszert (RISC alapgondolata) - az elképzelést segíti a jó minőségű fordítóprogramok kifejlesztése

5 Történelmi háttér - '60 - as évek eleje: CDC 6600,
az első RISC jellemzőjű processzor - NCR első gyártásba helyezett számítógép IBM 801 U. of Berkeley: RISC I, RISC II - Stanford University: MIPS

6 A CISC jellemzői -az utasítások bonyolult műveletsor végrehajtását eredményezik és ehhez több gépi ciklust használnak fel -sokféle utasítás( ) és címzési mód(8-20) használatának lehetősége pl. az i386/486-os processzornál 111 utasítás, 8 címzési mód -sokféle, tárolót közvetlenül igénybevevő, megcímző utasítás használati lehetősége -mikroprogramozott utasításvégrehajtás; -az utasítások változó hosszúságúak, a gyakrabban használt utasítások rövidebbek (i386/486-osnál 1-17 byte között)

7 A RISC jellemzői - kevésbé bonyolult utasítások
- kevés utasítás(< ) és címzési mód(2-4) használata - az utasítások rögzített hosszúságúak - memőriahasználatra csak 2 (LOAD és STORE) utasítás áll rendelkezésre - az utasítások végrehajtásához egy gépi ciklust használnak fel - a ciklusszám csökkentésére utasításpipeline alkalmazása - az utasítások végrehajtásához nincs mikroprogram, az igen bonyolult fordítóprogram állítja elő a végső formát - fordítóprogramok bonyolultsága nagy

8 CISC-el szembeni előnyök
- a processzor egyszerűsödése miatt a fejlesztési ciklus, az új megoldások kidolgozása és megvalósítása lerövidül - kevés, egyszerű szerkezetű utasítás -> dekódolás időtartama csökken - huzalozott műveleti vezérlés -> kevesebb ciklusszám - nagy kapacitású regisztertárak a processzor és a memória közötti adatforgalom csökkentésére - külön utasítás- és adatelérési útvonal; külön adat és utasításcache-tár; - az utasításkészlet feladatorientált, hiányoznak a kevéssé használt funkciók - több hely áll rendelkezésre a chipen

9 CISC-el szembeni hátrányok
- az utasításkészlet kialaítása a felhasználói terület elemzése után alakul ki - az egyszerűbb utasítások miatt a lefordított program hossza nagyobb, mint egy hasonló CISC programhoz tartozó programé - a működéssel kapcsolatos megbízhatósági, védelmi kérdések megoldását a hardver nem segíti, azt szoftver úton kell megvalósítani

10 Utasításkészlet - a processzor utasításkészlete alatt azoknak az elemi(gépi kódú) utasításoknak az összességét értjük, amelyek végrehajtására a legalsó, hardver szinten a processzor alkalmas - ez az a szint, amelyet egy programozó felhasználhat, illetve, amelyre egy fordítóprogram egy programot lefordít - felmerül annak a kérdése, hogy hogyan érdemes kialakítani egy jó utasításkészletet

11 Utasításkészlet - utasításfajták gyakorisági sorrendben (csökkenő): adatmozgatás, elágazások, szubrutin és eljáráshívó utasítások, műveleti(aritmetikai, logikai) utasítások - a kevesebb utasítással, címzéssel dolgozó processzorok esetében a vezérlő logika, a dekódoló áramkörök bonyolultsága alacsony => gyorsabb működésűek - a kisebb bonyolultságú utasítások ugyancsak csökkentik az áramkörök bonyolultságát, mennyiségét - a fordítók az egyszerűbb megoldásokat, címzési módokat részesítik előnyben - az utasítások egyszerű feladatot hajtanak végre => feldolgozási útvonalak optimális kialakítása, azonos időtartama - az utasítások azonos hosszúságúak (általában 32 bit), - szóhatáron, 4-el osztható címtől kezdődően helyezkedhetnek el

12 Folyamatok párhuzmosítása (pipelining)
- órajel frekvencia növelés + folyamatok párhuzamosítása = számítógép gyorsulás - párhuzamosítás = folyamatok részfeladatokra bontása, amelyek önálló részek és más-más erőforrást igényelnek - 1. fázis eredménye -> 2. fázis induló adata - Előny: egy-egy folyamat végrehajtási időtartama nem változik, de ugyanannyi idő alatt több folyamat fejezhető be

13 Folyamatok párhuzmosítása (pipelining)

14 Folyamatok párhuzmosítása (pipelining)
- a folyamatok feldolgozásához tartozó egységek működtetése kétféle módon történhet: 1. Aszinkron ütemezéssel - a feldolgozás továbbhaladása folyamatos az adatcsatornán keresztül 2. Szinkron ütemezéssel - az egyes fokozatok azonos időben kezdik feldolgozási lépéseiket, a feldolgozási folyamat ütemezését mindig a legtöbb időt igénybevevő egység szabja meg

15 Folyamatok párhuzmosítása (pipelining)
RISC processzorokra jellemző szakaszok: - utasítás előkészítése (fetching), amely az utasításcache (I-cache) kiolvasását jelenti - utasítás dekódolása (decoding), a műveleti előírás elemzése, értelemezése - operanduscímek kiszámítása, meghatározása, a regiszter-tartalmak segítségével - operandusok előkészítése az adatcache-ből (D-cache) - művelet végrehajtása (executing), amely még általában további fázisokra bontható - az eredmény visszaírása az adatcache-be (a következő utasítás címének meghatározása)

16 Folyamatok párhuzmosítása (pipelining)
Problémák: - LOAD/STORE utasítások - feltétel nélküli, a feltételes vezérlésátadó (ugró) és ciklusutasítások - megszakítások, kivételek

17 Memóriautasítások - a pipeline folyamatos működtetésének szervezése szempontjából akadályozó tényező a tárolóhoz fordulás nagyobb időigénye, illetve ha nincs külön utasítás- és adattároló Megoldások: - váróciklusok beiktatása (wait cycle) – nem optimális - késleltetett LOAD utasítás (delayed LOAD)

18 Elágazások - a pipeline folyamatos működtetésében az elágazások okozzák a legtöbb gondot: - a feltétel teljesülése, az ugrási cím csak akkor lesz ismert, ha az utasítást feldolgoztuk - ha az ugrási címtől kell folytassuk a végrehajtást -> adatcsatorna utastításait törölni kell, visszaállítani az eredeti állapotba

19 Elágazások Elágazásokat kezelő algoritmusok:
1. alap: folyamatos a pipeline feltöltése, ha elágazási utasítás -> a már betöltött, felesleges utasításokat törli a pipeline-ból és elkezdi feltölteni az elágazás utasításaival 2. leállítás(pipeline freezing) 3. elágazás előrejelezés (branch prediction) 4. utasítássorrend átrendezése 5. pipeline többszörözése

20 Regisztertárak - a processzor számára egy feladat feldolgozása közben, általában a regiszterek egy része látható csak (ablak) ablakkialakítási technikák: -regiszterbank (register banking) -ablaktechnika(register windowing) -blokktechnika(register blocking)

21 Fordítóprogramok - CISC -> a program egy „virtuális gép” utasításait tartalmazza - RISC -> valódi gépi program Feltételek, különbségek: - a RISC esetén a megfelelő utasítás kiválasztása könnyebb, mint a CISC-nél - a RISC utasításainak címzési lehetőségei kevesebbek, mint a CISC-é - RISC-nél nincsenek memóriahivatkozású utasítások -> operandusok kezelése leegyszerűsödik - a RISC processzorok regisztertárainak használatát optimizálni kell a RISC - hosszabb a tárgyprogramok méretét - a tárgykódot illeszteni kell a pipeline használatához

22 Főbb RISC alapú arhitektúrák
- MIPS - PlayStation és Nintendo 64 - IBM POWER sorozatok - a Motorola és az IBM PowerPC-je (egy POWER verzió); ezt használja az Apple Macintosh - a Sun SPARC és UltraSPARC processzorai; a legújabb gépeikben kizárólag ezeket használják - a Hewlett-Packard's PA-RISC HP/PA - DEC Alpha - ARM — Palm, Inc. eredetileg CISC (Motorola 680x0) processzort használt, jelenleg RISC (ARM) alapú processzoraikat teszik a palmtopjukba - a Nintendo ARM CPU-t használ a Game Boy Advance és a Nintendo DS rendszereikhez


Letölteni ppt "RISC processzorok Processzorkategóriák RISC tervezési filozófia"

Hasonló előadás


Google Hirdetések