Informatika | Számítógép-architektúrák » Csernoch János - Archítektúrák I.

Alapadatok

Év, oldalszám:1995, 27 oldal

Nyelv:magyar

Letöltések száma:652

Feltöltve:2004. június 08.

Méret:116 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!

Tartalmi kivonat

Architektúrák 1 V2.0 typing and graphics by: Csernoch János (1200772) A 70-es évek IBM 370-es gépeinél, a negyedik generációs számítógépek kialakilásánál megváltozik a számítástechnika alapfilozófiája, rájönnek, hogy a Neumann János óta elôször új alapelvekre van szükség. Számítási modell: számításra vonatkozó alapelvek egy absztrakciója. A számítási modell jellemzôi: • • • Min hajtjuk végre a számítást? Hogyan képezzük le a számítási feladatot? Hogyan vezéreljük a számítás menetét? Neumann modell • • • adatokon hajtjuk végre utasítások vezérlés meghajtó (controll driver) A számítási modell a programnyelvek és az architektúra kapcsolata. Az architektúra a számítási modell egy implementációja. Program nyelv: • • változó fogalma létezik vezérlésátadó utasítás Architektúra: • • belsô tár programszámláló (PC) a következô végrehajtandó utasítást tárolja

Kronológia: 2 Min hajtjuk végre? 1. Adat alapú számítási modellek • Neumann számítási modell • Adatfolyam számítási modell • Applikatív számítási modell 2. Objektum alapú számítási modell 3. Predikátum-logikai számítási modell 4. Tudás alapú számítási modell 5. Hibrid számítási modellek Adatalapú modellek • • Típus: értékkészlet mûveletek halmaza, pl: integer (2byte: -32768.+32767) Neumann számítási modell 1. Adaton hajtjuk végre (többszörös végrehajtás megengedett, az adatokat változók képviselik) 2. • utasítás sorozattal • vezérlés-meghajtó (controll driver) 3 Felhasználói jellemzôi: • kontextus • változók aktuális értéke • állapottér nevezetes állapotai (állapotjelzô flag-ek értékei) • elôzmény érzékenység • mellékhatás: többszörös értékadás következménye váratlan, nem kívánatos esemény) • lényegét tekintve szekvenciális • viszonylag egyszerûen

megvalósítható Programnyelvek: parancsnyelvek (Algol, Fortran, Cobol, C) Architektúra: Neumann architektúra Adatfolyam számítási modell • • adatfolyam-gráf • csúcspontok: mûveletek • élek: adatutak bemenô adatok halmaza z=(x+y)* (x-y) A párhuzamos feldolgozással 33%-os idômegtakarítás Jellemzôi: • • • adatokon hajtjuk végre adatfolyam-gráf adatvezérelt számítási modell (data-driven) 4 Felhasználói jellemzôi: • • • • nincs többszörös értékadás nincs elôzményérzékenység nincs mellékhatás párhuzamos munkavégzésre alkalmas Programnyelvek: adatfolyam programnylevek (Val, 3d, Sisal) Architektúrák: adatfolyam architektúrák (Sigma1) MIT Taged-token globális architektúra PE: Processing element • stréber számítás 5 Applikatív számítási modell • • függvény r=f(a1, ., an) bemenô adatok halmaza f=f1(f2(f3.(fn))) Jellemzôi: • • • adatokon hajtjuk végre leképezés függvénnyel

igénymeghajtott (demand-driven) z=(x+y)* (x-y) Feltérképezi, hogy mire van a legnagyobb igény. "Lusta számítás", csak azt számítja ki, amire szükség van. Felhasználási jellemzôi: • • • • • nincs többszörös értékadás nincs mellékhatás nincs elôzményérzékenység párhuzamos munkavégzés (az eddigi procedúrális modellekkel szemben) deklaratív jellegû Programnyelvek: funkcionális (Hope, Miranda) Architektúrák: redukciós architektúra (Flagship, Alice) 6 Obj ektum alapú számítási modell • • • a számítást objektumon hajtjuk végre Pl: Háromszög objektum belsô jelentése: három szöge van mûveletek: eltolás, forgatás, kicsinyítés, területszámítás Jellemzôi: • • • objektum utasítás szerint vezérlés meghajtott (control-driven) Programnyelvek: Smalltalk, C++, Turbo Pascal 6.0-70 Architektúra: Topstar Konkurens programnyelv: Pool, Doom Pr edikátum logikai számítási modell • • •

tények szabályok (rules) deklaratív jellegû (Prolog) Tudás alapú számítási modell Számítás: következtetés • • Elôre következtetô modell: • input: feltételek • output: cselekvés Visszafelé következtetô modell: • input: feltételek • output: ellenôrzendô cselekvés (öregedô arc felismerése) 7 Hibr id modellek • Neumann-adatfolyam modell (HPS) • Adatfolyam-Neumann (EM-4) Általános fogalmak: Szemcsézettség architektúra vonatkozásában: Szemcsézettség Alacsony Magas Neumann RISC hagyományos CISC alakalmazás orientált Adatfolyam Alacsony Applikatív Alacsony Magas Magas Szemcsézettség programnyelvek vonatkozásában: Szemcsézettség Alacsony Alacsony szintû programnyelvek Magas Magas szintû programnyelvek Típus: • • programnyelvek vonatkozásában • típusos programnyelvek • szigorúan típusos programnyelvek (dBase) • nem szigorúan típusos programnylevek (Turbo Pascal) • nem típusos

programnyelvek (Lisp) architektúrák vonatkozásában • nem típusos • típusos (toldalékolt vagy taged) 8 Ar chiteltúr ák • • • • 1964 Amdahl: Az az ismeret, amellyel az assembly szintû programozónak rendelkeznie kell ahhoz, hogy hatékony programot írjon. 1970 Bell: • P.MS: Processor Memory Switches • programozói szint (alacsony, magas szintû programnyelv) • logikai áramköri szint (rendszermérnöki szint) • áramköri szint A kölsô megjelenés és a belsô felépítés együttese Meghatározott absztrakciós szinten (L), a számítási modell (M), a specifikáció (S) és az implementáció (I) együttese Architektúra = { M,S,I} L Architektúra = logikai architektúra + fizikai architektúra A binárisan kódolt, a számítógép által közvetlenül dekódolható és végrehajtható utasításokat gépi programozásnak nevezzük. A gépi programozáshoz a felhasználónak imsernie kell az adott számítógép gépi nyelvét. A gépi nyelv

leírása megadja, hogy milyen adattípusok, regiszterek, müveletek állnak a felhasználó rendelkezésére, és a müveleteket milyen utasításformákban, milyen címzési módokkal írhatja le. Ezeknek az elemeknek az egymást kölcsönösen meghatározó, rendszert alkotó, összefüggô egysége a számítógép logikai architektúrája (szerkezete felépítése). A logikai architektúra a számítógép processzorának a felhasználó szemszögébôl definiált "fekete doboz" (Black Box) jellegü leírását adja. A gépi nyelv leírása a logikai architektúra egyik lehetséges megadási módja. Fizikai architektúra alatt a számítógép tényleges fizikai felépítését értjük (hardware). A számítógép tervezésekor elôször a logikai architektúráját kell definiálni, s aztán a fizikai architektúra kialakítása következik (vezérlôegység, ALU, tár stb.) A logikai architektúra rögzíti a számítógép alapvetô jellemzôit, nagy mértékben

megszabva alkalmazásának lehetôségeit. A fizikai architektúra realizálja a logikai arcjitektúrát. Egy adott logikai architektúrát több különbözô fizikai architektúra valósíthat meg. Az azonos logikai architektúrájú számítógépek software kompatíbilisek, tehát az egyik gépre írt gépi nyelü program a másikon is fut. Az azonos fizikai architektúrájú gépek hardware kompatíbilisek. Logikai architektúra: • • • logikai architektúra = { M,S} L ahogy a fekete dobozt látjuk (ember processzor) az adott szintû fizikai architektúra absztrakciója 9 Processzor szintû logikai architektúra részei: • • • • adattér adatmanipulációs fa állapottér állapot-mûveletek Fizikai architektúra: • • • fizikai architektúra = { M,I} L (meghatározott absztrakciós szinten a számítási modell és az implementáció együttese) mi van a fekete dobozban (ember processzor mûködése) adott szintû logikai architektúra

megvalósítása Proceszzorszintû fizikai architektúra részei: • • • • • • vezérlôegység (dekódolja, értelmezi a program soron következô utasitását, és annak megfelelôen vezérli a többi egység müködését) ALU (Aritmetic Logical Unit) (végrehajtja a vezérlôegység által kijelölt müveleteket, az adatokat és eredményeket átmenetileg tárolja) (A vezérlôegység és az ALU együtt a CPU (Central Processing Unit)) operatív tár (memória, tárolja az adatokat és utasításokat) sínrendszer megszakítási rendszer I/O rendszer (az adatok perifériákról/ra történô be/ki irányú forgalmát biztosítja) Adattér Adattér: a processzor által manipulált tér • • memóriatér regisztertér Memóriatér a regisztertérhez képest: • • • nagy lassú fajlagosan olcsó Jellemzôi: • • kapacitás cimtér 10 Fejlôdése: • • • • 40-es években Kbyte méretû memórián ábrándoztak 1952 IAS: 10 eres címsín ->

2|10 = 1024 címtár 1964 IBM 360: 16Mbyte i1960 Virtuális memória Virtuális memória alapelvei: • • • • • létezik valós memória (lapkán), virtuális memória (háttértár) létezik valós cím (processzor), virtuális cím (programozó lát) Típus Megjelenési év 8086 80286 80386 78 82 85 Regisztertér: • • • • • Virtuális memória Gbyte 1 64K Létezik egy olyan a programozó számára transzparens mechanizmus, amely a szükséges programrészleteket ill. adatokat a virtuális memóriából betölti a valós memóriába mivel a valós memória véges, akkor hely hiányában az éppen nem szükséges programrészletet ill. adatot áthelyezi a valós memóíriából a virtuális memóriába a végrehajtás során átszámítja a virtuális címeket valós címekké virtuális cím (tárgyprogram) • Valós memória Mbyet 1 16 4096 kicsi (néhány darab) fix hosszúságúak igen gyors drága címük rövid külön önálló címterük van

transzparens mechanizmus ===================> végrehajtás során valós cím (valós mem.) 11 Fajtái: • • • egyszerû regisztertér adattípusonként különbözô regisztertér (összetett regisztertér), többszörös regiszterkészlet Egyszerû regisztertér: • • • • 40-es évek: egyetlen akkumulátor • gyakori mentések • több eredmény 50-es korai 60-as évek: akkumulátor és dedikált regiszterek 60-as évek, IBM 360: általános regiszterkészlet 63-ban stack regiszter Adattípusonként különbözô regisztertér: • • általános célú regiszterek lebegôpontos regiszter (elôjel, karakterisztika, mantissza) Típus IBM 360 i860 IBM RISC6000 Megjelenés éve 1964 1989 1990 Kontextus: • • regiszterekben lévô változók értéke állapotbitek értéke Többszörös regiszterkészlet: • 1966 Sigma 7: több regiszterkészlet FX 16* 32 32* 32 32* 32 FP 4* 64 16* 64 32* 64 12 • 1980 RISC I: átfedô regiszterkészlet

• 1982 C-MACHINE: stack cashe aktiválási rekord: • • INS+LOCALS+OUTS rugalmas kezelése a rekordok számával csak a stack cache mérete szab határt Típus RISC I SPARC C47 Megjelenés éve 1980 1990 regiszter készlet 8 készlet 8 készlet I/L/O 6/10/6 8/8/8 13 Adatmanipulációs fa adattípusok I FX2 FP4 ↓ mûveletek + - * / ↓ operandusok típusa r r r r mr mmm ↓ címzési mód B Bx Bázis Bázis index gépi kód r : bemenet r r : eredmény • • megadja az adatokkal végzett mûveletek lehetséges kombinációit adott géptípus vonatkozásában pedig ennek az alhalmaza meghatározza a megvalósított manipulációkat Adattípusok: • • elemi adatok adatszerkezetek (adatstruktúrák) • memória orientált • vektor • 2D • sor • verem • fa • háttértár orientált • szekvenciális • direkt • indexelt Elemi adattípusok: • • logikai • 1 byte • 2 byte • változó hosszú

alfanumerikus • ASCII • char 14 • • string • EBCDIC • char • string numerikus • decimális • ASCII • pakolt • zónázott • EBCDIC • pakolt • zónázott • bináris • fixpontos • elôjeles • 1 byte • 2 byte • 4 byte • elôjel nélküli • 1 byte • 2 byte • 4 byte • lebegôpontos • nem normalizált • normalizált • bináris • VAX • IEEE • Hexadecimális • IBM Általános célú alkalmazások: fixpontos, logika Gazdasági alkalmazások: BCD, alfanumerikus Tudományos, real-time alkalmazások: lebegôpontos 15 Az adatok kódolása Bináris: • • • abszolút értékes kód egyes komplemens Kialakulása: az elsô bit az elôjelbit, ha pozitív értéke 0, ha negatív értéke 1 0 |101101 visszavezették a kivonást az összeadásra 0 |101101 1 |010010 kettes komplemens Kialakulása: az egyes komplemens rendszernek két nullája volt, ezért az egyes 0 |000000 +0 1 |111111 - 0 komplemenshez hozzáadtak egyet 1

|111111 + 1 0 |000000 Többletes, additív feszített elôjelû: 1 byte -> 8 bit -> 2|8 -> 256, elôjel esetén 128 többletes kód BCD ábrázolási mód: • • • minden decimális számjegyet 4 biten ábrázolunk érvényes kódok: 0-9 érvénytelen kódok: 10-15 (A, B, C, D, E, F) Alfanumerikus (ha minden egyes karaktert (8 biten) külön tárolunk, függetlenül attól , hogy betü, szám vagy külöleges jel): • EBCDIC: IBM nagyszámítógépes rendszereken 8 biten egy karakter • ASCII: mikroszámítógépeken, szabványos 7bites és kiterjesztett 8bites Logikai: • igaz vagy hamis, akár egy biten is ábrázolható 16 Adatábr ázolás számítógépen Az ábrázolás pontossági ill. az ábrázolandó adatmennyiségek nagysági igényeinek kielégítésére két ábrázolási mód alakult ki. Fixpontos ábrázolási mód: Fixpontos ábrázolásnál a tárolt bináris számban az egész és törtrészt elválasztó pontot rögzítettnek tekintjük.

Altalában a legkisebb bináris helyérték után rögzítjük a bináris pontot, azaz minden számot egésznek tekintünk. • elôjeles egészek ábrázolása • elôjeles törtek ábrázolására: Az ábrázolási mód elônye, hogy a gép az adatokat közvetlenül rudja kezelni, így a müveletvégzés gyors. Hátránya, hogy szûk az értéktartomány(16 biten -32768+32767), nem elég pontos (pl: 11/4=2) és nagyságrendileg eltérô számokkal nem tudunk dolgozni. A pozitív számokat a kettes számrendszerbeli alakjukkal, a negatívakat a kettes komplemensükkel ábrázoljuk. Lebegôpontos ábrázolási mód: • együtthatós * hatványkitevôs alak: M r|k, ahol M: mantissza r: radix (számrendszer alapja) k: karakterisztika (exponens, kitevô) Mit kell ismerni? • • • Radix - konvenció alapján (legtöbbször 2) Mantissza értéke, elôjele Karakterisztika értéke, elôjele Jellemzôi: • Konvenció: a normalizált számot úgy kajuk, hogy mindig az elsô

értékes jegy elé helyezzük a tizedes (bináris) pontot. 17 1/r <= M < 1 1/2 <= M < 1 1/10 <= M < 1 1/16 <= M < 1 Normalizált, ha az ábrázolásmód kielégíti az egyenlôtlenséget. Denormalizált számok problémája: • n a legnagyobb ábrázolható negatív karakterisztika. 02E-n és 01E-n éppen kielégíti az egyenlôtlenséget Értéktartomány: • Meghatározza: • karakterisztika • radix Pl: r = 2 2↑ 2 = 4 10↑ 2 = 100 16↑ 2 = 256 Alulcsordulás, túlcsordulás (az aritmetikai müvelete eredménye nem fejezhatô ki a rendelkezésre álló helyen): • alulcsordulás esetén 1. kijelzi az architektúra nullát ábrázol 2. kijelzi, a denormalizált számot ábrázolja (IEEE szabvány) • túlcsordulás (fixpontos túlcsordulásnál az eredmény hosszabb a rögzített tárolóhely méreténél, lebegôpontos túlcsordulás esetén az eredmény kitevôje nagyobb helyen tárolható, mint a rendelkezésre álló hely) 1.

kijelzi a lehetô legnagyobb ábrázolható szám ábrázolása 2. kijelzi végtelent ábrázol (IEEE) Radix (áttekintése): • • célszerû, hogy a mantissza radixa egyezzen meg azzal a számmal, amit hatványozunk általában a radix=2 18 pl: IBM 370 - radix = 16 • normalizáláskor 4-esével kell shiftelni • csak akkor kell normalizálni, ha a legértékesebb bitek közül legalább 4db 0 Ábrázolási pontosság: A rögzített bithossz (bitszám) befolyásolhatja a müveletvégzés eredményét is, ezért az ábrázolásmód ismerete szükséges a hibák elkerülésének érdekében (Pl. mantissza hossza 3 esetén 0.1354-nál: 0135) Nulla közeli számok ábrázolására célszerû, hogy amikor a mantissza érték nulla, akkor a karakterisztika is nulla. Rejtett bit: mindig 1-es Tároláskor a rejtett bitet nem ábrázolják. Mûveletvégzéskor az aritmetikai egység eggyel több bitet képes kezelni, helyreállítják az eredeti állapotot. 3* 10↑-37 <= x

<= 8 10↑38 tizedesjegyek száma: 6-7 Egy lehetséges példa szerint a lebegôpontos szám 32 bit hosszú. A mantisszát kettes komplemens kódban tároljuk, a rejtett bit miatt 23+1 bit hosszon. A karakterisztikát (8 bit esetén) 128 többletes kódban tárolják (a tényleges számhoz 128 kivonása után jutunk), mûveletvégzéshez pedig kettes komplemens kódba konvertálják. A mantissza elôjelét a karakterisztika elôtti bitben szokás megadni. BCD: • a számban szereplô számjegyek száma • fix • változó • az 1 byte-ban lévô BCD számok száma (egy byte két tetrádra bontható, a bal oldali (felsô) rész a zóna) • pakolt, egy byte-ban két darab szám van BCD BCD • zónázott egy byte-ban egy szám van zóna BCD • a zóna mezôben: • EBCDIC "F" kinyomtatható (Extended Binary Coded Decimal Interchange Code) • ASCII "3" / karakter (American Standard Code of Information Interchange) 19 • elôjel • elhelyezkedése

• számításorientáltan hátul • nyomtatás orientáltan elöl • kódolása • egy nevezetes byte nevezetes bitje • egy nevezetes byte-ban a "+" és a "-" kódja • egy nevezetes byte-ban meghatározott érvénytelen karakterekkel: "-" B,D, "+" A,C,E,F Példa: Intel • Fixhosszúságú 10 byte Pakolt: • Zónázott: • Alfanumerikus: minden karakter 1 byte (char), megadjuk a hosszát, majd következnek a karakterek (string) Példa: Intel Logikai: • • logikai változó egy byte char, string, numerikus mezôk bitszintû relációja értelemszerû hosszon M ûveletek, oper andusok Utasítás típusok: • gépi kódú utasítás OP: d: s: @: • • • operandus destination (rendeltetés) source (forrás) tetszôleges mûvelet A gépi utasításnak tartalmaznia kell: az elvégzendô utasításra vonatkozó müveleti kódot az egyik adat címét (vagy magát az adatot) a másik adat címét (vagy magát az adatot)

20 • • az eredmény címét a következô végrehajtandó uatasítás címét Négycímes utasítás: OPd:=OPs1@OPs2,OP4 Pl: EDVAC Az utasításforma túl sok memóriát foglalt, ezért Neumann javaslatára a negyedik operandus kiváltására bevezették a PC-t (Program Counter), s a háromcímes utasításhoz jutottak. Ehhez szükség volt az utasítások tárban való egymás utáni elhelyezésére. Háromcímes utasítás: OPd:=OPs1@OPs2 Az eredmény helyének explicit kijelölése Pl: RISC I Igy a PC bevezetésével a következô utasítás címét az elôtte végrehajtott utasítás PC-n belüli címének megfelelô növelésével kapjuk. Ha a müveletek eredményét nem külön címre, hanem az egyik adat helyére írjuk, akkor az eredmény címe is elhagyható. Igy kapjuk a kétcímes utasítást Kétcímes utasítás: OPs1:=OPs1@OPs2 OPs1-ben jelenik meg az eredmény, az eredmény helyének implicit kijelölése Pl: VAX, IBM 360 Ha az adatot nem a tárból, hanem

közvetlenül erre a célra kijelölt regiszterbôl az akkumulátorból olvassuk, és a képzôdött eredmény is ide írjuk vissza, akkor a második adat címe is elhagyható, így jutunk az egycímes utasításhoz. Egycímes utasítás: LOAD (100) Pl: IAS (1946) Az egycímes utasításból természetesen többre van szükség egy adott pl. aritmetikai müvelet elvégzéséhez. Ha a müvelet nem két adattal történik, hanem mondjuk csak az akkumulátorban lévô adattal, akkor a nullacímes utasításhoz jutunk. 21 Nulla-címes utasítás: • • • • • • • • NOP (No Operation) Mûveleti kód tartalmazza az operandust Pl: CLEARD veremmûveletek; PUSH, POP Operandus típusok: akkumulátor (a) memória (m) regiszter (r) stack (s) immediate (literál) (i) Az utasításokban szereplô operandus típusok: OPd:=OPs1@OPs2 (a,m,r,s,i) OP3 a3 a3 a3 a3 a3 a3 i3 OP2 a2 a2 a2 a2 a2 a2 i2 OP1 a1 m1 r1 s1 i1 a1 . i1 Szabályos ar chitektúr ák aaa mmm rrr sss i i i nem

javasolt 1. Akkumulátor architektúrák • kétféle • akkumulátor - memória (ama, aam) • akkumulátor - regiszter (ara, aar) • szûk keresztmetszet • gyakorlati jelentôsége csekély 2. Memória architektúrák • mmm 22 • • • lassú hatalmas címtér gyakorlati jelentôsége csekély 3. Regiszter architektúra (load store architektúra) • • • • gyors elterjedt két vagy három címes 1980 RISC I 4. Stack architektúrák • • • igen gyors az operandust nem kell címezni gyakorlati jelentôsége csekély Pl: HP3000, VT1005 5. Nem szabályos architektúrák • ez a többség Pl: VAX-11, IBM 360 Architektúrák az utasításban szereplô operandus szerint: • • nem szabályos szabályos • stack verem • regiszter architektúra • két címes • r1 r1 r2 • r2 r1 r2 • három címes (RISC) • memória alapú 23 • • két címes • m1 m1 m2 • m2 m1 m2 • három címes akkumulátor alapú • akkumulátor - memória •

am a • aam • akkumulátor - regiszter • ar a • aar Állapottér: • • programozó számára transzparens • megszakítás kezelés • virtuális tárkezelés • . programozó által látható • PC • a programozó által látható állapotindikátorok • feltétel kód (Condition Code CC) Pl: IBM 360 két bit • dedikált állapotindikátorok Pl: Intel 8086 • adattípusonként különbözô állapotindikátorok Pl: Intel 80486 • egyéb a programozó által látható állapotindikátorok • debug • címzés: báziscím index Az állapottér környezete: • • PSW (Program statusword) IBM 370 kontextus vagy aktiválási rekord Állapotmûveletek: • • Mûveletek: beállítás, törlés, visszatörlés, olvasás Speciális utasítások szolgálnak az állapotmûveletekhez • CLEARD • PC (vezérlésátadási utasítás) RI SC (Reduced Instruction Set Computer) CI SC (Complex Instruction Set Computer) 24 Számítógépek fej lôdése • •

• állandóan nô az utasítások száma (VAX-11 gépi kódban: Index, Case, Call) nô a cimkék száma (MC 68000 12 címke, MC 68020 18 címke) változó hosszúságú utasítás • bármely byte-on kezdôdhet utasítás • bármely biten kezdôdhet utasítás Típus Bevezetési év Utasítások száma IBM 370/168 VAX-11/780 iAPX 432 1973 1978 1982 208 303 222 Control Memory mérete 420 480 64 Végrehajtási idô: N* S T N: utasítások száma S: egy utasítás végrehajtásához szükséges lépések átlagos száma T: egy lépés átlagos végrehajtási ideje CISC esetében az N-t, RISC esetében az S, T-t csökkentették. RISC kialakulása: • • • 1964: CDC6600 nagyteljesítményû processzor • egyszerû utasítás futószallag végrehajtás • regiszter architektúra 1973: IBM 801 • egyszerû utasítás, fix utasítás-hossz • regiszter architektúra 1980: RISC architektúra • UCB (egyetem) • nagy teljesítményû processzor tervezése egyetlen

alaplapra • vizsgálni kezdték az utasításkészletet a végrehajtási statisztika alapján Utasításhossz (Kbit) 16-48 16-456 6-231 25 • • az utasításkészlet 40% szerepel a végrehajtás 95%-ban • az utasítások 60%-át gyakorlatilag nem használják • a 40%-ba általában az egyszerû utasítások tartoznak • a lapkán, a 60% utasítás helyére regisztereket lehet rakni 1981: MIPS • Stanford University-n szoftverrel foglalkoztak • optimalizáló computer • egyciklusos utasításkészlet A RI SC logikai ar chitektúr áj a • • • • • • • • • egyszerû utasítás, egyciklusos utasításkészlet fix hosszúságú utasításkészlet általában 32bit kevés utasítás típus r r r utasítások: load store architektúra • regisztermûvelet gyors • háromcímes utasítás kis konstansok literálként (immediate) az esetek 95%-ában 8bitben kevés adattípus • 32bites • egy byte kezelése • optimalizáló compiler egyszerre 4

byte load-store mûvelete • egyetlen byte • load: • 4 byte load-ja • a kívánt byte kiválasztása • store: • 4 byte load-ja • a kívánt byte kiválasztása • 4 byte store-ja kevés címzési mód • a komplex címzések kizárása (Pl: inkrementálás) a feltételes ugró utasítás • 99%-ban megelôzi a feltétel vizsgálat • egyetlen utasításban integrálták a feltételvizsgálatot és az ugrást eljárás hívások • az INS és az OUTS rész csak az esetek 1%-ban hoszabb, mint 6 • a LOCALS csak az esetek 6%-ban hoszabb, mint 6 • egymásba ágyazottság, többszörös átfedô regiszterkészlet 26 A RI SC fizikai ar chitektúr áj a Vezérlôegység: • • korábban a lapka 60%-át is elfoglalták a vezérlôáramkörök, jelenleg 6%-ra sikerült visszaszorítani. futószalag (pipeline) N: munkahelyek száma T: egy termék elkészülésének ideje t=T/N: egy munkahelyen töltött idô N darab termék készül! Futószalag:: • • • •

az utasítás lehívás és a végrehajtás közel egyenlô ideig tart mind az utasítás lehívást, mind az utasítás végrehajtást két, egymástól független hardver egység végzi nagy utasításszám esetén a feldolgozási sebesség megkétszerezôdik négy lépcsôs eset (megnégyszerezi a sebességet) • F: Fetch (utasítás lehívás) • S: utasítás dekódolás és a forrás operandusok lehívása • O: operation • D: a rendeltetési operandus visszahívása RISC tulajdonságok: 1. Késleltetett ugrás JMP Cimke SUB . . . CIMKE . 27 • Befordított kód: SUB ← feleslegesen hajtja végre JMP CIMKE . . . CIMKE Megoldások: • egyszerû compiler: felesleges mûvelet JMP CIMKE NOP SUB . . . CIMKE . • optimalizáló compiler ADD JMP CIMKE SUB . . . CIMKE . JMP CIMKE ADD SUB - 85%-ban feltölthetô a rés, 15% NOP alkalmazása