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

Slides:



Advertisements
Hasonló előadás
Alaplap.
Advertisements

1 Számítógépek felépítése 9. előadás I/O rendszerek.
Memóriák típusai, jellemzői
A számítógép felépítése
Hardver alapok I. 10. osztály.
PLC alapismeretek.
I. Informatikai alapismeretek Dabas, november 18.
Neumann-elvek A számítógép legyen teljesen elektronikus, külön vezérlő és végrehajtó egységgel. Kettes számrendszert használjon. Az adatok és a programok.
A mikroprocesszor 1. rész.
3. A programozás eszközei, programozás-technikai alapismeretek
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
A számítógép alapegységei
A számítógép felépítése
A hardver és a személyi számítógép konfigurációja
A számítógép felépítése
A Neumann-elvű számítógép jellemzői:
A számítógéprendszer.
Alapfogalmak Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Információ:
A 2000-es év utáni processzorok jellemzői
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
Utasítás végrehajtás lépései
Paradigmaváltások a processzorfejlesztésben Sima Dezső augusztus 25.
PIC processzor és környezete
CISC - RISC processzor jellemzők
A memória.
Felkészítő tanár: Széki Tibor tanár úr
Egy egyszerű gép vázlata
a CPU gyorsítása, pipeline, cache
A mikrovezérlők világa
Egy harmadik generációs gép (az IBM 360) felépítése
Címzési módok, utasítások a CPU-ban Címértelmezés műv. kódadat műv. kód 0 1 cím adat cím adat közvetlen (immediat) adatmegadás rejtett (inheritent),
A számítógép felépítése (funkcionális)
Operációs Rendszerek II.
Hardvereszközök Hardvereszközök I.rész. Hardvereszközök CPU Memóri a Input Háttértárolók Outpu t A számítógép felépítési elve Neumann elvek: 1.Soros utasításvégrehajtás.
A Memória.
Magas szintű hardware szintézis
Mikrokontroller (MCU, mikroC)
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
A szoftver, szoftvertípusok
A Neumann-elvű gépek A Neumann elvek:
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
A Mikroprocesszor Harmadik rész.
Mikroprocesszor.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- architektúrák dr. Kovács György DE AVK GAIT.
Írja fel a tizes számrendszerbeli
Mikroprocesszorok Működés.
IT ALAPFOGALMAK HARDVER.
Mikroprocesszorok (Microprocessors, CPU-s)
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
CISC-RISC processzor jellemzők Előadó: Thész Péter Programtervező informatikus hallgató Budapest,
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
PIC mikrokontroller.
A CPU (központi feldolgozó egység vagy processzor)
1 A számítógépek felépítése jellemzői, működése. 2 A számítógép feladata Az adatok Bevitele Tárolása Feldolgozása Kivitele (eredmény megjelenítése)
kialakulása, fejlődése, generációk
1 A számítógépek tárolói. 2 Memória Memóriaszó  A tárak olyan egységei, melyek egyetlen művelettel kezelhetők.  A legrövidebb memóriaszó a byte (bájt)
Operációs rendszerek Az operációs rendszerek működésének alapfogalmai.
Sz&p prof.
RAM (Random Access Memory)
Programozási alapok.
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
A számítógép működésének alapjai
Pipeline példák (IMSC, 2019).
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

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

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

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

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

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

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(100-300) é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)

A RISC jellemzői - kevésbé bonyolult utasítások - kevés utasítás(<120-150) é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

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

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

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

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

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

Folyamatok párhuzmosítása (pipelining)

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

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)

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

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)

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

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

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)

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

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