Számítógép architektúrák II.

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Számítógép architektúrák II."

Átírás

1 Számítógép architektúrák II Órai jegyzet (Dr. Broczkó Péter anyagához) AnNo és Broadcast jegyzeteinek frissített változata A jegyzet készítői az esetleges hibákért semmilyen felelősséget nem vállalnak, annak birtoklása az előadáson való részvételt nem pótolja!

2 1. Párhuzamos architektúrák Mindig a feldolgozás gyorsítása a cél Párhuzamos architektúrák megjelenése o Nagy számítógépek: 60 -as években, szuperskalár és futószalag o Mikrogépek: 80 -as évektől Created by AnNo & Broadcast, frissítette: Félix 1.1 A párhuzamosság dimenziói: A rendelkezésre álló és a kihasznált párhuzamosság A rendelkezésre álló párhuzamosság: az adott programban, illetve általánosabban az adott feladatban rejtőzködő párhuzamosság A kihasznált párhuzamosság: a tényleges feldolgozás során a rendelkezésre álló párhuzamosságból hasznosított rész Adat- és funkcionális párhuzamosság Adat párhuzamosság Adatpárhuzamosság kihasználása: Adatpárhuzamos architektúrákkal Funkcionális párhuzamossággá alakítással, pl.: az adatok feldolgozását ciklusokkal dolgozzuk fel, és a ciklus iterációkat hajtjuk végre párhuzamosan Funkcionális párhuzamosság: Fogalma: A feladat logikájában rejlő párhuzamosság, ami minden formális megjelenésben érzékelhető: folyamatábra, pszeudokód, program A funkcionális párhuzamosság szintje Rendelkezésre álló párhuzamosság szintjei Minél komplexebb, annál durvább a szemcsézettség Utasítás szint Ciklus szint Eljárás szint Program szint => Felhasználó szint Finomszemcsézettségű párhuzamosság kihasználása tipikusan architektúrával vagy fordítóprogrammal történik, a durva pedig tipikusan OS szinten Kihasználható párhuzamosság A rendelkezésre álló párhuzamosság kihasználása Eszközei: o Architektúra o Operációs rendszer o Fordítóprogram Szintjei o Utasításszinten(ILP): Párhuzamos architektúrákkal vagy fordítóprogrammal o Szál és folyamat a programkód legkisebb önállóan végrehajtható egysége programozó, aki párhuzamos programot használ fordítóprogram többszálas operációs rendszer megj.: a ciklus és eljárás szintű párhuzamosságot tipikusan szál vagy folyamat szinten tudjuk kihasználni

3 2 Architektúrák osztályozása 2.1 Az architektúrák Flynn-féle osztályozása Fogalmak: o SI Single Instructions: a vezérlő egyetlen utasításfolyamot bocsát ki o MI Multiple Instructions: a vezérlő több független utasításfolyamot bocsát ki o SD Single Data: egyetlen utasításfolyamot dolgoz fel o MD Multiple Data: A végrehajtó egység több utasításfolyamot dolgoz fel Ezek kombinációi SISD SIMD MISD MIMD hagyományos multimédia elméleti kategória párhuzamos szekv. feldolgozás feldolgozás értelmetlen feldolgozás Értékelés: - előnye: egyszerű és jól átlátható - hátránya: nem mutatja meg a párhuzamosság fajtáját, szintjét és a kihasználásának módját 2.2 Párhuzamos architektúrák javasolt csoportosítása Adatpárhuzamos architektúrák Funkcionálisan párhuzamos architektúrák Vektorproc. Neurális SIMD Szisztolikus Utasításszinten párhuzamos Szálszinten Folyamatszinten architektúrák párhuzamos párhuzamos shared distributed Futószalag VLIW Szuperskalár memory memory Félkövérrel szedve: a félév anyaga 2000 ig szuperskalár, utána szálszinten párhuzamosítottak. 3 Utasításszinten párhuzamos architektúrák ILP (ILP = Instruction Level Parallelism) 3.1 Az ILP processzorok fő fejlődési iránya 1.) 2.) 3.) 4.) től Neumann-féle hagyományos architektúra Skaláris ILP Szuperskalár ILP Szuperskalár ILP + MM/ 3D kiegészítés Soros kibocsátás, soros végrehajtás SISD Soros kibocsátás, párhuzamos végrehajtás (Gyorsítótár, elágazás feldolg.) Párhuzamos kibocsátás, párhuzamos végrehajtás (Térbeli párhuzamosság) Párhuzamos kibocsátás, párhuzamos végrehajtás, utasításokon belüli párh. SIMD SIMD MIMD Szekvenciális feldolgozás Időbeli párhuzamosság (ez a fő csapásirány) Időbeli + térbeli párhuzamosság Időbeli, térbeli, utasításon belüli párhuzamosság Egyetlen, nem futószalag elvű processzor Intel 8080 (Very Long Instruction Word) Egyetlen, futószalag elvű processzor Intel Több, futószalag elvű végrehajtó egységet tartalmazó processzor (VLIW) Több, futószalag elvű processzor utasításon belüli párhuzamossággal kiegészítve

4 1. Hagyományos szekvenciális architektúra: soros utasítás kibocsátás és végrehajtás 2. Utasítás szintű párhuzamos feldolgozás: Módszerei: időbeli és térbeli párhuzamosság Időbeli párhuzamosság: Futószalag utasítás Feldolgozás VE 1 VE 2 VE n (VE: Végrehajtó egység) A futószalag processzorok teljesítményét hatékony ugrás-előrejelzéssel és gyors memória alrendszerrel (gyorsítótárral) növelték, az ezen az úton elérhető teljesítmény határáig. 3. Kibocsátásbeli párhuzamosság - Szuperskalár ILP: Térbeli párhuzamosság: Többszörözés utasítás A végrehajtó egység szakosodott, pl.: fixpontos / lebegőpontos VE 1 VE 2 VE n A futószalagelvű végrehajtó egységek számát többszörözték. Párhuzamos kibocsátás bevezetése. Eredmény: I. generációs szuperskalár processzorok Probléma: nem győzték etetni elég utasítással. Ha kellett egy adat, leblokkol (a függőségek blokkolják a feldolgozást) Megoldás: utasítás várakoztatással (puffer, várakoztató állomás) vagy regiszter átnevezéssel (függő utasítások függetlenné tételére) Ezzel az általános célú processzorok tekintetében az ilyen irányú teljesítménynövelés kimerült. 80 as évek VLIW processzorok: a függőségeket a compiler kezelte (statikus) 90 es évek szuperskalár ILP processzorok: a függőségeket a hardver kezelte (bonyolultabb, de jobb, dinamikus). 4. Utasításbeli párhuzamosság: Szuperskalárok MM/3D kiegészítéssel - Kizárólag a multimédia műveleteket gyorsít (video, audió) - SIMD elven működik - Multimédia esetén függőség nincs, nagymennyiségű adat van, és ezek előre rendelkezésre állnak után a fejlődés 2 irányra válik: - evolúciós irány: a feldolgozási szélesség 32 bitről 64 bitre nőtt, meghagyták a korábbi utasításkészletet, a logikai architektúra változatlan. Pl.: AMD - revolúciós irány: teljesen új logikai architektúra, VLIW. Pl.: Intel körül felhagytak ezzel, többmagos processzorokban látták a jövőt

5 3.2 Az ILP processzorok iránt támasztott követelmények A. Függőségek A függőségeket a CPU nak és/vagy a compiler nek kell kezelnie. Fajtái: Függőségek Adatfüggőségek Adat Vezérlés Erőforrás Jellege szerint Adatfüggőség Operandus típusa szerint Utasítás Ciklusban Regiszter Memória szekvenciában Valós függőség (RAW) Álfüggőség Műveleti Behívási WAR WAW Utasítás szekvenciában Valós adatfüggőség (RAW Read After Write) Műveleti adatfüggőség Probléma felvetés: például egy összeadás eredményét duplázni akarjuk (balra léptetés = duplázás) I 1 ADD r 3 r 2 r 1 r 3 r 1 +r 2 I 2 SHL r 3 I 1 I 2 F ADD D/SO r1r2 E ADD W/B r3 Mivel az r 3 -ban a szorzat még nem állt elő, ezért a másik utasítás várakozni kényszerül F SHL NOP NOP D/SO r3 E SHL W/B r3 Fetch Decode Source Operand Execution Write Back Probléma kezelése: operandus előrehozással, extra hardver (regiszter) segítségével, dinamikusan: r0 r1 r2 r3 SRC 0 SRC 1 ALU rslt Valós függőség; csak mérsékelni tudjuk, kiküszöbölni nem CPU érzékeli, hogy szükség lesz még az adatra. Ha igen, ne csak az r3 ba töltsük vissza, hanem az ALU ba is

6 I 1 F ADD D r1r2 E ADD W/B r3 I 2 F SHL FWD E SHL W/B r3 Minden mai processzor használja. Valós (RAW) műveleti adatfüggőségek mérséklésének általános formája, az operandus előrehozás: operandusok VE Regiszter Lehívási adatfüggőség kezelésének általános formája: gyorsítótár operandus előrehozás (extra HW) VE regiszter Ál-adatfüggőségek WAR (Write After Read) o Probléma felvetése: Mit tehetünk, hogy ne írja felül a Szorzás: MUL r 3 r 2 r 1 // r 3 r 2 * r 1 következő operandus az előzőt? ADD r 2 r 4 r 5 MUL sokkal lassabb, ADD megelőzi!! o Megoldás: Regiszter átnevezés CPU minden eredményregisztert átnevez, átmeneti regisztertérbe pakol MUL r 3 r 2 r 1 ADD r 26 r 4 r 5 r 26 új, önálló HW (regiszter), saját címtartománnyal WAW (Write After Write) o Probléma felvetése MUL r 3 r 2 r 1 ADD r 3 r 4 r 5 o Megoldás: Szintén regiszter-átnevezéssel (történhet statikusan és dinamikusan is) MUL r 3 r 2 r 1 ADD r 36 r 4 r 5-6 -

7 Ciklusbeli adatfüggőségek A probléma: do i=2,n x(i):=a(i)*x(i-1)+b(i) end do x(i-1) értékére szükségünk van ahhoz, hogy az x(i) értékét megkapjuk, itt erős a függés! Amíg x(i-1) nem készült el, nem tudunk továbblépni. Kezelése: az algoritmus átalakításával Vezérlés függőségek Feltétlen vezérlésátadás: késleltetett ugrás Probléma felvetése: Nem az ADD fog következni Címke MUL JMP Címke ADD SHL Nem megoldás, hanem kezelés: ugrási rés (buborék): ez a probléma, ezt kell feltölteni. A buborék mérete: 1. Kétfokozatú futószalagnál: 2-1=1 2. Négyfokozatú futószalagnál 4-1=3 3. n-fokozatú futószalagnál n-1 Egyszerű compiler (Statikus kezelés) kétfokozatú futószalag esetén Minden JMP utasítás után beszúr egy NOP ot MUL JMP címke NOP ADD Címke SHL Optimalizáló compiler F MUL Értékelése: Mivel a JMP hatására feltétlen ugrás következik be, nem az ADD hanem az SHL a következő. Az ADD utasítás nem hajtódik végre, így a hátrány: - feleslegesen hívjuk le az ADD utasítást - veszélyeztetjük a regiszter-tartalmakat A compiler megkísérli az ugrási rés feltöltését olyan adatmanipuláló utasításokkal, amelyek az ugrási utasítást fizikailag megelőzik. (példánkban: a MUL utasítás később hajtódik végre) E MUL F JMP F ADD Értékelés: bár felesleges műveletet végzünk (NOP), de nem veszélyeztetjük a regisztertartalmat F JMP F MUL F SHL MUL Értékelés: JMP Címke Amennyiben az ugrási rés mérete 1, akkor a feltöltés ADD valószínűsége kb. 85%, ha nagyobb, rohamosan csökken. Manapság fokozatú a futószalag. címke SHL Alkalmazása: a korai RISC processzoroknál

8 3.2.3 Erőforrás-függőségek A tervezési szempont: Ne okozzon az erőforrás függőség szűk keresztmetszetet. Kezelése: pl. többszörözéssel B. Szekvenciális (soros) konzisztencia Az utasítás-feldolgozás szekvenciális konzisztenciája Kivételkezelés szekvenciális konzisztenciája Utasítás-végrehajtás Behívás Kivétel-konzisztencia Művelet-konzisztencia Memória-konzisztencia Művelet-konzisztencia A probléma felvetése: MUL r3,r2,r1 ADD r4,r5,r6 JZ címke (JUMP When Zero) (akkor ugrik, ha az előző utasítás eredménye 0) Szekvenciális végrehajtás: Először a MUL, aztán az ADD hajtódik végre és a címkére ugrás pedig akkor következik be, ha az ADD eredménye 0. Párhuzamos feldolgozás: A MUL utasítás fejeződik be később, tehát biztosítani kell, hogy a címkére ugrás csak akkor következzen be, ha az ADD eredménye Memória-konzisztencia: nem fogunk foglalkozni vele Kivételkezelés soros konzisztenciája Pontatlan kivételkezelés Gyenge konzisztencia Pontos kivételkezelés Erős konzisztencia Pontatlan kivételkezelés Probléma felvetése: MUL r3r2r1 ADD r4r5r6 JZ címke Szekvenciális végrehajtás. A MUL utasítás után végrehajtásra kerül az ADD, majd a JZ. Párhuzamos eset: Először az ADD fejeződik be, s tegyük fel, hogy túlcsordul. Amennyiben a processzor a megszakítást soron kívül elfogadja, gyenge konzisztenciát eredményez. A MUL utasítás ekkor definiálatlan állapotba kerül, nem lehet tudni, befejeződik-e, vagy sem. A megfelelő állapot helyreállítása csak bonyolult eljárásokkal lehetséges. Alkalmazása: korai szuperskalároknál - 8 -

9 Pontos kivételkezelés A korszerű processzorok ezt alkalmazzák, azaz a megszakítást kizárólag az utasítások eredeti sorrendjében fogadja el. Megvalósítása: átrendező-puffer (ReOrder Buffer, ROB) használatával. A processzor csak akkor fogadja el a megszakításkérést, amikor az adott utasítást kiírjuk az átrendező-pufferből. Pl.: Intel processzorcsalád, és a mai korszerű processzorok. C. Az ILP processzorok teljesítmény vizsgálata Az utasításszinten párhuzamos processzorok teljesítménynövelésének lehetőségei: 1. A kihasználható párhuzamosság: Függőségek hatása: Erőforrás-függőség: annyi erőforrást készítünk elő, amennyi szükséges Adatfüggőségek: az ál-adatfüggőségek nem akadályozzák a feldolgozást a valós adatfüggőség valódi akadályt jelent a vezérlési függőség valódi akadályt jelent A szoftverek osztályozása: általános célú programok: OS és a nem numerikus alkalmazások tudományos-műszaki programok: numerikus alkalmazások, mátrix-vektor számolás Az általános célúak esetén az ILP gyorsítási lehetőség kétszeres, a tudományosaknál 2-4 x. Ez igen csekély mértékű gyorsítás, melynek magyarázata a következő: Értelmezik az alapblokkot, mely vezérlésátadó utasítástól vezérlésátadó utasításig terjed. Az alapblokkok viszonylag rövidek, 4-5 adatmanipuláló utasítás van bennük. 2. A várható teljesítmény meghatározása - A ciklusokban rejlő párhuzamosság kihasználása Több módszer is létezik, ezek egyike a szoftver-futószalag L L 1 Ciklus L 2 L n Az n-szer kibontott ciklus Értékelés: például 2 darab végrehajtó egységgel csak maximum kétszeres gyorsítás érhető el, a ciklus végrehajtás ideje a felére csökken (függőségek lassíthatják a végrehajtást). Ebből következik, hogy a gyorsítás tényleges mértéke erőforrásfüggő

10 - Elágazások kezelése Ha a függőségeket tökéletesen tudnánk kezelni, akár 100x ra növelhetnénk a feldolgozás sebességét. Ezt nem tudjuk megvalósítani. Végrehajthatnánk minden elágazási ágat, de n darab 2 irányú elágazás 2 n elágazási irányt jelentene, ez a gyakorlatban kivitelezhetetlen A gyakorlatban minden elágazásnak megkeressük a várható irányát, és abban az irányban hívjuk le az utasításokat. o Amennyiben a becslés helyes volt, folytatjuk a feldolgozást a megkezdett irányban. o Amennyiben a becslés helytelen volt, a hibás irányba lehívott utasításokat eldobjuk, és elkezdjük a feldolgozást a helyes irányban. Minden feltételes utasításnál mindkét irányba elindul a feldolgozás, s amikor a feltétel kiértékelésre került, akkor a hibás irányba lehívott utasításokat eldobjuk Mindezek eredményeképpen, az elérhető gyorsulás: Általános célú programok esetén kb. 4-szeres Tudományos célú programoknál szoros 3.3 Időbeli párhuzamosság: Futószalagos feldolgozás (pipeline) Gyakorlati példa: n: elemek száma (munkahelyek száma) t: egy munkahelyen töltött idő T: egy termék elkészítésének ideje T=n*t A termék egyidejűleg n db munkahelyen készül => t idő alatt készül el a termék! Számítástechnikai vonatkozás: Hagyományos feldolgozás t 1 t 2 t 3 F 1 E 1 F 2 E 2 F 3 E 3 I 1 I 2 I 3 Futószalagos feldolgozás: t 1 t 2 I 1 F 1 E 1 I 2 I 3 I 4 F 2 E 2 F3 E 3 F 4 Futószalagos feldolgozás előfeltételei: o Az F és az E szakasz időigénye egyezzen meg o F és E egymástól független, önálló hardver legyen, a független működés érdekében o Az egyik szakasz kimenete legyen a következő szakasz bemenete o Minden fokozat órajelre lép működésbe

11 Nagy utasításszám esetén elvben (függőségek) megkétszereződik az utasítás-feldolgozási sebesség Ötlet: bontsuk 4 szakaszra az utasítás-feldolgozási ciklust: Fetch, Decoding, Execution, Write Back. Eredménye: elvben megnégyszereztük a feldolgozási sebességet (a függőségek ezt korlátozzák) A futószalagos feldolgozás jellemzői Teljesítmény A fokozatok száma A fokozatok számának növekedésével előbb-utóbb elkezd csökkenni a teljesítmény a függőségek miatt: Sok utasításlehívás esetén sokat is kell eldobni. Fokozatok száma Példa: 1980 RISC 1982 RISC II 2000 Manapság 2 fokozatú 3 fokozatú ~10 fokozatú fokozatú (nem nő tovább) Újrafeldolgozás: mai processzorok mind tartalmazzák F D E W/B Elveknek megfelelő megvalósítás F D E W/B Újrafeldolgozásos megvalósítás A fixpontos szorzás/osztásnál igen hosszú lenne, ha a részeredményeket műveletenként kimentenénk a regiszterekbe. Helyette a részeredményeket az E fokozat végéről visszavezetik az E fokozat bemenetére. Operandus előrehozás: mai processzorok mind tartalmazzák Szinkron-aszinkron feldolgozás: napjainkban a processzorok mind szinkron elven működnek

12 3.3.2 A futószalagos feldolgozás alkalmazási területei - Hagyományos feldolgozás (összehasonlításul): F D E W/B I 1 I 2 - Előlehívás: az előző utasítás visszaírási fázisát és az aktuális utasítás lehívási fázisát párhuzamosítjuk. F W/B F Elvben maximum 1 óraciklus nyereség utasításonként, ezt a függőségek mérséklik Pl.: a 60 -as évek nagyszámítógépeinek egy része, valamint az Intel A végrehajtási fokozat futószalagos elvű megvalósítása I 1 E 1 E 2 E 3 E 4 I 2 E 1 E 2 E 3 E 4 I 3 E 1 E 2 E 3 E 4 Pl.: Nagyszámítógépek: a 60-as vektorprocesszorai Mikroprocesszoroknál ez a fejlődési lépcsőfok kimaradt. I 4 E 1 E 2 E 3 E 4 I 5 E 1 E 2 E 3 E 4 - A teljes utasítás-feldolgozási fázisban: I 1 F D E W B I 2 F D E W B I 3 F D E W B I 4 F D E W B Pl.: Az utasításlehívás elvben óraciklusonként történik, amit a függőségek akadályoznak Példa: 60 as évek nagyszámítógépei Intel I 5 F D E W B

13 3.3.3 A futószalagok logikai felépítése Két szint: I. szint: A futószalagok funkcionális kialakítása Minden utasítás kategóriában célszerű kialakítani 1-1 cél-futószalagot, pl.: FP, FX, L/S, ugrás (B) F F D / S/O E W B E Aritmetikai futószalag (pl. összeadás) Ugrási futószalag (B: Branch) II. szint: Egyes fokozatok által végrehajtandó elemi műveletek specifikálása első szint F E második szint (elemi műveletek) MAR PC MDR (MAR) IR MDR PC PC + 1 DEC IR PC DEC címrész A futószalagok általános fizikai felépítése as évek (futószalagok) Elválasztó Regiszter VE Elválasztó Regiszter VE Elválasztó Regiszter Elválasztó regiszter: rejtett regiszter - 90-es évek (szuperskalárok) I. fokozat (F) II. fokozat (D) Elválasztó regiszter és Multiplexer VE VE Elválasztó regiszter és Multiplexer VE VE Elválasztó regiszter és Multiplexer VE I. fokozat (F) II. fokozat (D) VE

14 A futószalagok fizikai felépítése: - Univerzális futószalag: A hardver elemek számát minimalizálták, de emiatt lassú Egy fizikai futószalagon több logikai futószalagot valósítanak meg Pl. RISC I. - Master futószalag (Pentium I.): Az egyik futószalag (master) minden utasítás feldolgozására alkalmas A másik csak bizonyos utasításkörben (csak egyszerű utasítás feldolgozásoknál) - Dedikált futószalagok Minden logikai futószalagot igyekeznek külön fizikai futószalagon megvalósítani. Pl.: PowerPC 604 Alkalmazási lehetőségek: L / S Load, Store B Branch (ugrás) FP Floating Point FX egyszerű FX egyszerű FX összetett F D CO W/B FP L/S + B L/S és B nem dedikáltak, de kettő van belőlük L/S + B Megjegyzések: FX egyszerű: + és - FX összetett: * és / (újrafeldolgozás) Azért kell 2 db FX egyszerű, hogy ne merüljön fel erőforráshiány Konzisztencia fokozat (CO): FX gyorsabb, mint FP, ezt kezeli le Konzisztencia megvalósítása: Az eredeti programsorrendnek megfelelő sorrendben kell visszaírni az eredményeket, ezt biztosítja a CO egység (kivárja hogy a másik utasítás is megérkezzen) RISC-CISC futószalagok a CISC futószalagok tipikusan 2 fokozattal hosszabbak, mint a RISC futószalagok, mivel tartalmazniuk kell a címszámítási és a gyorsítótárban fordulást biztosító fokozatokat is

15 3.3.5 A futószalagos feldolgozás bevezetésének következményei A memória szűk keresztmetszetének mérséklése Created by AnNo & Broadcast, frissítette: Félix o Probléma: A memória lassabb, mint a processzor => szűk keresztmetszet Hagyományos feldolgozás: F D E WB F D E WB utasítás-lehívás minden negyedik óraciklusban, 1 Fetch Futószalagos feldolgozás: F D E WB F D E WB 4 Fetch ugyanannyi idő alatt => szűk keresztmetszet Míg a szekvenciális feldolgozásnál az utasításonként történik az operatív tárba fordulás, a futószalagos feldolgozásnál elvben óraciklusonként. Ezt az operatív tár (DRAM) nem képes biztosítani. o Kezelése: Gyorsítótárak (cache) bevezetésével. 80 as évek közepén a futószalagos feldolgozás megjelenésekor robbanásszerűen terjedtek el a gyorsítótárak. Elágazás-kezelés o Probléma: Feltétlen elágazásnál az ugrási rés (buborék) méretének megfelelő számú utasítás lehívását blokkolja az elágazási utasítás. Ha n a futószalag fokozatainak száma, akkor az ugrási rés mérete n-1 Feltételes elágazás esetén ehhez hozzájön a feltétel kiértékelése és az ugrási cím számítása is (1-2 óraciklus) o Kezelése: A korai RISC gépek: késleltetett ugrás A korai CISC gépek: hardveres úton (a dekódolás fokozatban megtörténik a feltétel kiértékelése és az ugrási cím kiszámítása) A későbbi CISC gépek: fix előrejelzést (elágazás becslést) alkalmaztak: feltételezték, hogy mindig ugrik. Ennek a jelentősége meghatározó az utasításszintű párhuzamosságban, hiszen az elágazási utasítások nem blokkolják az utasítás feldolgozását, hanem az folytatódhat a becslés szerinti irányban. Pl. Intel Valós függőség: A feltétel kiértékelésében szereplő operandusok nagy késleltetésű (látenciájú) utasítás végrehajtásától függ. Pl. a:=x/y, majd if a < 10 Ez a futószalag processzoroknál és az első generációs szuperskalár processzoroknál blokkolja a további utasítások lehívását, a 2. generációs szuperskalároknál: spekulatív elágazásbecsléssel oldják majd fel

16 3.4 Párhuzamos kibocsátás, szuperskalár processzorok Az I. és II. generációs szuperskalár processzorok közös jellemzői Feldolgozási ráta: óraciklusonként feldolgozott utasítások száma 1. Többszörözés: az időbeli párhuzamosság mellett megjelent a térbeli is időbeli párhuzamosság (futószalagos feldolgozás) VE1 VE2 VE3 2. Párhuzamos kibocsátás, hagyományos utasításfolyam feldolgozás térbeli párhuzamosság (többszörözés) Utasításgyorsítótár 3. Függőségek kezelése dinamikus: extra hardver segítségével regisztertér Az I. generációs szuperskalár processzorok (keskeny szuperskalár processzorok) ~ 1990-ben jelentek meg Jellemzői: Közvetlen (nem pufferelt) utasítás-kibocsátás Statikus elágazás-becslés: a programkód alapján, pl: Gyorsítótárak (szűk keresztmetszet miatt) o Külön adat- és utasítás-gyorsítótár o Kétszintű gyorsítótár: a > 0 a 0 ugrik L1 gyorsítótár: a processzor lapkáján helyezkedik el L2 gyorsítótár: különálló lapkán helyezkedik el o Portok száma tipikusan 1 nél több a < 0 soros folytatás

17 Elve: Utasítás gyorsítótár Közvetlen (nem pufferelt) utasítás-kibocsátás Dekódolás Függőség-ellenőrzés Kibocsátás Utasításablak: óraciklusonként egyszerre lehívott utasítások száma Működési alternatívák: Utasítás-ablak feltöltése: o A kibocsátott utasításokat egyenként pótoljuk o Az utasítás-ablak teljes kiürülése után az egészet egyszerre pótoljuk Az utasítások feldolgozása történhet: o sorrendben o sorrenden kívül VE 1 VE 2 VE n Gyakorlati megvalósítás: Sorrendben dolgozzák fel az utasításokat Egyszerre töltik fel az utasításablakot Példa: Jelölés: : Független utasítás : Függő utasítás : Utasítás-kibocsátás Ci: óraciklus i 1, i 2, i 3 : utasítások (az utasításablakban helyezkednek el) C i Kibocsátjuk a független i 1 utasítást C i+1 C i+2 C i+3 i 6 A következő óraciklusban az i 2 utasítás függősége már feloldódott, ezért kibocsátható mind az i 2, mind pedig az i 3. Ezzel az utasításablak kiürült. Feltöltjük a kiürült utasításablakot 3 további utasítással. Közülük az i 4 és az i 5 független, ezért kibocsátjuk, míg az i 6 a függőségek feloldásáig vár a kibocsátásra i 6 utasítás kibocsátásra kerül C i+4 i 9 i 8 i 7 Utasításablakot feltöltjük. I 7 feloldása után nincs függőség. 0 db kibocsátott utasítás C i+5 i 9 i 8 i 7 Összes kibocsátása (nincs függőség)

18 Egy első generációs szuperskalár RISC processzor modellje Az utasítás-feldolgozási rendszert alrendszerekre bontjuk Utasításgyorsítótár Lehívás Első rész Utasítások lehívása, utasításablak feltöltése Utasítás-ablak Adat-gyorsítótár Dekódolás Kibocsátás Regisztertár Store Végrehajtás Visszaírás Load Forrásoperandusok Regisztereredmény Hátsó rész Utasításablak ürítése utasítások végrehajtása Az ábra alrendszerek sorozatát tartalmazza. Az egész rendszer teljesítményét a legszűkebb keresztmetszet határozza meg. Jellemzők: Az első rész az utasításokat hívja le, és az utasításablak feltöltését végzi el A hátsó rész végzi az utasítások feldolgozását és az utasítás-ablak ürítését Kibocsátási szűk keresztmetszet Eddigi szűk keresztmetszetek: A memória okozta szűk keresztmetszet: gyorsítótárakkal kezeljük => nem blokkol Elágazási szűk keresztmetszet: statikus becsléssel kezeljük => nem blokkol Függőségek hatásai: Erőforrásfüggőség: nem akadály, annyit állítunk be, amennyire szükségünk van Adatfüggőség: valódi függőség mindig blokkol, és első generációs szuperskalároknál az ál-adatfüggőség is Vezérlésfüggőség: statikus elágazásbecslés Az előzőek következtében: bár az utasításablak mérete o RISC esetében 3 o CISC esetében 2 Az első generációs szuperskalárok megvalósítása: Jellemzően kétféle: Két univerzális végrehajtó egységgel (Pentium I) Vagy 2-4 dedikált végrehajtó egységgel (Alpha 21064), de a feldolgozási ráta 1 utasítás / óraciklus alatt van a függőségek okozta blokkolások miatt

19 Esettanulmány: Pentium I Utasítás gyorsítótár (RISC utasítások) FP futószalag - A belső sínrendszer 64 bites - Processzor Két futószalag: o U (master) futószalag: minden utasítás feldolgozására alkalmas (univerzális) o V futószalag: csak az Intel által egyszerűnek titulált utasítások feldolgozására alkalmas pl. FX, L/S, B Mindkét futószalag 5 fokozatú o F, D, gyorsítótár elérés, E, W/B Csak akkor működik párhuzamosan, ha mindkét futószalag egyszerű utasítást dolgoz fel Az FP utasításokat az U futószalag előfeldolgozza, s magát a számítást egy három fokozatú kiegészítő lebegőpontos futószalag végzi - Gyorsítótár: 2 db, egyenként 8KB méretű van belőle, utasítás-, ill. adatgyorsítótár

20 3.4.3 Második generációs (széles) szuperskalár processzorok Jellemzői: - Kibocsátási szűk keresztmetszet kiküszöbölése Dinamikus utasítás-ütemezés Regiszter-átnevezés - Elágazások kezelése: dinamikus előrejelzéssel, ugrástörténet figyelembevételével - Kifinomult gyorsítótár alrendszer Dinamikus utasítás-ütemezés: Pufferelt utasítás-kibocsátás Sorrenden kívüli kiküldés Elve: RISC esetében Utasítás-gyorsítótár Utasítás puffer Utasítás-ablak Várakoztató állomások Lehívás Dekódolás Kibocsátás Kibocsátás Első rész Függőség vizsgálat Kiküldés Függőség vizsgálat Kiküldés Függőség vizsgálat Kiküldés VE 1 VE 2 VE n Kiküldés Hátsó rész Működése: 1. Első rész: Mivel a kibocsátás során nincs függőségvizsgálat, ezért a lehívás-dekódolás-kibocsátás a nominális rátával működhet (RISC: 4 db utasítás / óraciklus) 2. Hátsó rész: Óraciklusonkét akár több tucat utasítás közül is kiválaszthatja a CPU a függetleneket, és azokat kiküldi a megfelelő végrehajtó egységek felé. A kiküldés sorrenden kívül történik

21 Regiszter-átnevezés 2. generációs szuperskalár processzoroknál jelent meg A CPU minden célregiszterhez hozzárendel egy átnevezési regisztert A CPU az adott regiszterre forrásregiszterként történő hivatkozásokat is kezeli. Az utasítás-feldolgozás végén a processzor az átnevezési regiszterek tartalmát átmásolja az architekturális regiszterekbe, és az átnevezési regisztert felszabadítja. Regiszter átnevezések eredményeképpen az ál-adatfüggőségek teljesen kiküszöbölődnek, ennek eredményeképpen a várakoztató állomásokban lévő független regiszterek száma nő Második generációs RISC processzorok végrehajtási modellje Utasítás gyorsítótár Lehívás Dekódolás Átnevezés Első rész Kibocsátás forrás operandusok Hátsó rész Adatgyorsítótár Utasítás-ablak Store Kiküldés Végrehajtás Visszaírás Eredmények Architekturális regisztertár az eremények átnevezése Load Működése: Első rész: Átnevezési regisztertár Az utasításablak feltöltése Minden alrendszer a nominális rátával működik Hátsó rész: A várakoztató állomásból a független utasítások kiküldésre kerülnek VE -khez A visszaírás során o az eredményeket az átnevezési regiszterbe írják o Az átnevezési regiszterből pedig az architekturális regiszterbe

22 Jellemző átbocsátó képesség: A kiküldési ráta tipikusan 5-8 utasítás/ciklus A végrehajtási alrendszer rátája még nagyobb, mivel minden esetben győznie kell a feldolgozást. CISC feldolgozás A CISC processzoron belül kialakítunk egy RISC magot A CPU a beérkező CISC utasításokat lefordítja RISC utasításokká, majd ezeket dolgozza fel Egy CISC utasítás ~1,2-1,5 RISC utasítássá alakítható át átlagosan A CISC kibocsátási ráta 3 utasítás/ciklus, a RISC magon belül ez ~ 4 RISC utasítás/ciklussá alakul Adatfolyam végrehajtási modell Központi várakoztató állomás VE VE VE VE Kiküldési feltételek áttekintése: Erőforrás függőség Elágazások: dinamikus utasításfeldolgozás kezelés Ál-adatfüggőségek: regiszter átnevezéssel feloldjuk Valós adatfüggőségek: akadályozzák a kiküldést

23 Esettanulmány: Pentium Pro Created by AnNo & Broadcast, frissítette: Félix 1995: eredetileg 133Mhz, 14 fokozatú fixpontos futószalag Központi várakoztató állomás 20 db RISC szerű utasítást képes befogadni, fixpontost és lebegőpontost egyaránt. Az átnevezéseket a ROB kezeli A szekvenciális konzisztencia szintén ROB által biztosított

24 operandus lehívás, átnevezés, kibocsátás: kibocsátáshoz kötött operandus lehívás minden célregisztert átnevez, erre a ROB ot használja fel várakoztató állomásban RISC utasítás-szerkezet: r1 <= r2@r3 MK R 1 R 2 A 2 R 3 A 3 A: állapotjelzőbit Amennyiben a forrásoperandus értéke még nem áll rendelkezésre, akkor a regiszterazonosítót írja be a várakoztató állomásba, és az állapotbitet 0 ra állítja Ha a forrásoperandus a ROB ban is megtalálható, akkor az architekturális regiszterrel szemben a ROB beli értéket helyezi előnybe kiküldés az idősebb utasításokat részesíti előnyben végrehajtás Azért van 6 db VE egy porton, hogy helyet takarítson meg a lapkán IU integer unit IDIV egész osztás ISH léptetés Visszaírás: 2 helyen kell visszaírni: o Várakoztató állomásba Kiveszi azt a regiszter azonosítót, amelynek az eredménye elkészült Ezt felülírjuk az eredménnyel Állapotbitet 1 re állítjuk o ROB ból A későbbi utasítások számára, melyek ugyanerre a regiszterre hivatkoznak A ROB ba való kiírás szabályai: Az összes megelőző utasítás már kiírásra került RISC utasítások csak akkor írhatók ki, ha az adott CISC hez tartozó összes RISC elkészült Amikor a CISC eredményét kiírta a ROB ból az architekturális regiszterbe, akkor felszabadítja az adott utasításnak a ROB ban elfoglalt helyét

25 A 2. és a 3. generációs szuperskalárok tervezési tere, megvalósítása, és alrendszerei átbocsátóképességének növelése Elágazásokkal kapcsolatos alapismeretek: 1. Elágazások fajtái 2. Feltételes elágazások használata - Operandusok összehasonlítása - Eredmények vizsgálata I. állapottér módszerrel és közvetlen adatvizsgálattal II. Operandusok összehasonlítása 3. Elágazás statisztika - Feltétlen elágazások aránya - A feltételes és a feltétlen utasítások aránya - A teljesülés és a nem-teljesülés aránya 1. Az elágazások fajtái Feltétlen Feltételes egyszerű eljárás visszatérés cikluszáró egyéb feltételes feltétlen elágazás hívás az eljárásból utasítások utasítások (GOTO, JMP) (címet menti) (címet visszatölti) (IF, CASE) Feltétlen elágazások egyszerű feltétlen elágazások mindig ugrik eljárás hívás az ugrás előtt elmentik a visszatérési címet (LIFO elvű tárolás) visszatérés az eljárásból felhasználva a visszatérési címet Feltételes elágazások a cikluszáró feltételes elágazás egyéb feltételes elágazások (if, case szerkezet) 2. A feltételes elágazások használata Két okból használjuk: Az utasításban meghatározott művelet eredményét vizsgáljuk, pl.: nulla, negatív, átvitel Két operandus összehasonlítása: ha megegyeznek, ugrunk, ha nem, soros folytatás = visszavezethetjük a műveletek eredményének vizsgálatára, kivonjuk egymásból őket és az eredményt vizsgáljuk, tehát gyakorlatilag visszavezettük az előző esetre = A következőekben ismertetett mindkét módszer tartalmaz kifejezetten a két operandus összehasonlítására vonatkozó utasítást A műveletek eredménye alapján történő feltétel vizsgálat I. Állapottér alkalmazásával = Kétféle tér: a művelet eredményének tere, és az eredmény által meghatározott állapottér = Az állapotvizsgálatot a CPU automatikusan végzi, és az eredményt beírja feltétel kódba (CC) vagy jelzőbitekbe (flag) = Működése aktualizálása: minden művelet után a CPU karbantrtja az állapotteret a megfelelő biteket bebillenti a jelzőbitek közül (pl.: nulla az eredmény, túlcsordulás)

26 ezt követően a programozó tesztelheti a számára szükséges jelzőbitet, és annak értékétől függően ugrás, vagy soros folytatás = Példa: A programozó szeretné elkerülni a nullával való osztást - megoldás1: a művelet elvégzése után közvetlenül kérdezzük le az állapotteret add r 1,r 2,r 3 // r1 r2+r3 beq zero // ha az r1=0, akkor ugrik a zero címkére div r 5,r 4,r 1 // r 5 r 4 /r 1 zero: - megoldás2: Egy korábbi művelet során kaptuk meg az eredményt, és azt regiszterben vagy operatív tárban eltároltuk. Ehhez a vizsgálathoz minden architektúra biztosít utasítást. Legyen az eltárolt eredményünk r1 ben: teq r1 // ez az r1 tartalma alapján beállítja az állapotteret beq zero div r 4,r 5,r 1 // r 4 r 5 /r 1 zero: = Példák: IBM 360/370, Intel, Motorola, Power PC, SPARC = Értékelés hátrányok - Ebben az esetben a tesztelés további időt igényel (párhuzamosítható) - Kiegészítő hardvert is igényel - Megszakítás esetén az adattér mellett az állapotteret is le kell menteni, s ehhez az operációs rendszerre is szükség van - Alapvetően koncepció alapvetően szekvenciális szemléletű - Párhuzamosítás esetén: Több jelzőbit-készletet alakítanak ki, pl: az Intel és Motorola: 2db SPARC: 3db PowerPC: 8db Minden utasításhoz hozzá kell rendelni a megfelelő jelzőbit készletet Tesztelésnél nekünk a megfelelő jelzőbit-készletet kell tesztelni - Az állapottér aktualizálása és tesztelése szekvenciális, ami valós függőséget eredményez. Ez visszafogja a teljesítményt, lassít. - (A közvetlen adatvizsgálat kíválóan alkalmas a párhuzamos feldolgozásra) előnyök - A tárgykód 1-7% -kal rövidebb (nem jelentős manapság) - A jelzőbit (flag) vizsgálata rendkívül gyors = Következtetés: A hátrányok súlyosabbak, mint az előnyök, tehát a jövőben inkább a közvetlen adatvizsgálat elterjedése várható

27 II. Közvetlen adatvizsgálat útján Nem értelmezett az állapottér = Fajtái: - két utasításos megoldás: - Az egyik utasítással tesztelünk, és az eredményt egy regiszterben tároljuk - A másik utasítással a regiszter tartalmát vizsgáljuk Példa: add r 1, r 2, r 3 cmpeq r 7, r 1 // ha az r 1 tartalma 0, az r 7 tartalma logikai igaz lesz beq r 7, zero // ha az r 7 igaz, ugrik a zero címkére div r 5, r 4, r 1 zero (Pl: AMD AM29000) - egy utasításos megoldás - Egyetlen utasításban hajtódik verge a tesztelés és a feltételvizsgálat Példa: add r 1, r 2, r 3 beq r 1, zero // akkor ugrik a zero címkére, ha az r 1 értéke nulla div r 5, r 4, r 1 zero (Pl: Cray szuperszámítógép, DEC Alpha processzorok) = Értékelés: - Párhuzamos feldolgozásra is kíválóan alkalmas - Jövőbeli fejlesztésekben várható az alkalmazása 3. Az elágazások statisztikája = Az általános célú programokban az utasítások 20% feltételes vezérlés-átadás, tudományos-műszaki célú programok esetén 5-10% = A feltételes elágazási utasítások alapblokkokra tagolják a programot = Ha minden 5. utasítás feltételes elágazás, akkor 4db utasítás párhuzamosítható = A gyakorlatban (ha a CPU nem képes feltárni a feloldatlan elágazásokat), Ezzel a módszerrel maximum 2x-es gyorsítást érhetünk el A feltétlen és a feltételes elágazások aránya Grahorski szerint (1990) Feltétlen elágazások 1/3 Cikluszáró feltételes 1/3 Egyéb feltételes 1/3 A teljesült és a nem teljesült elágazások aránya Forrás Fajta Teljesült Nem teljesült Gromovski Feltétlen Mind Feltételes cikluszáró n-1 (~ mind) Egyéb feltételes 1/6 1/6 Összeg 5/6 1/6 Egyéb I. 75% 25% Egyéb II % 1-43% végeredmény 75% 25% Következtetés: mivel az elágazások 75% -a ugrik, ezért a teljesítmény növelés során kiemelten kell foglalkozni a teljesülő ág gyorsításával, mint a nem-teljesülőével. Pl. Futószalag processzorok fix előrejelzése: tipikusan mindig ugrik

28 Az utasításlehívás alrendszer átbocsátó képességének növelése Created by AnNo & Broadcast, frissítette: Félix Probléma Kezelése ugrási irány az elágazási cél feloldatlan becslése leggyorsabb elérése elágazások kezelése Probléma: Ideális esetben a 2. generációs szuperskalár processzorok lehívási rátája 4 utasítás/óraciklus Ezt akadályozza: Feltételes és feltétlen elágazások (a cím kiszámítása időt vesz igénybe) A gyorsítótáraknál a találathiány (cache miss) Mindez tovább élesedik: 1. minél nagyobb a feldolgozási ráta 2. minél több fokozatból áll a futószalag 1. Feldolgozási ráta - 1. generációs szuperskalárok: Mivel a feldolgozási rátája 1 utasítás/óraciklus alatt van, a kibocsátási ráta 3 utasítás/óraciklus. Nagy a puffer, a vázolt probléma nem éles generációs szuperskalárok: A feldolgozási és a kibocsátási ráta is tipikusan 4 utasítás/óraciklus. Csekély a puffer, nagyon éles a probléma. 2. A futószalag hossza - hosszú futószalagnál növekszik a veszteség a hibás elágazás-becslés miatt - Pentium Pro: 12 fokozat - Pentium 4: 20 fokozat - P4 Prescott: 30 fokozat Kezelése: - az ugrási irány pontosabb becslése: dinamikus - az elágazási irány leggyorsabb elérése: BTAC és BTIC módszer - feloldatlan elágazások: spekulatív elágazás-kezelés Az ugrási irány becslése lokális globális kombinált egyszintű kétszintű fix statikus dinamikus 1 bites 2 bites 3 bites

29 Lokális elágazás-becslés Csak az aktuális elágazási utasítást vesszük figyelembe (a globális esetében több elágazási utasítást is figyelembe vesszük, a környezetét) - Lokális egyszintű fix: tipikusan mindig ugrik a futószalag processzorok használták - Lokális egyszintű statikus: 1. generációs szuperskalárok használták Programkód alapján működik a becslés (ciklust is jól fel lehet ismerni, ezért jó a becslés) - Lokális egyszintű dinamikus: bimodal branch prediction Elve: ugrástörténeten alapján működik Megvalósítása: y IFAR (Instruction Fetch Address Register): Ez felel meg a PC nek BHT - (Branch History Table): telített számláló IFAR BHT, kétbites telített számláló (jelen esetben) x Jellemzői: - y tengely: A CPU minden elágazási utasításhoz létrehoz egy bejegyzést Ezeket indexeli az IFAR legkisebb helyiértékű bitjei szerint - x tengely: A számláló lehet 1, 2 vagy 3 bites, mi mindig 2 bitest feltételezünk Az egyes bejegyzések telített számlálók, azaz dekrementálás legkisebb értéke 00, inkrementáláskor pedig 11. A lehetséges értékei: 11 erős ugrás 10 gyenge ugrás 01 gyenge soros folytatás 00 erős soros folytatás a becslés az első bithelyiérték alapján történik. Működése: - Becslés: = Amennyiben az aktuális elágazási utasítás először fordul elő, akkor a táblázat aktuális értéke 11 lesz (ugrást feltételezünk, mert nagy valószínűséggel ugrik). = Ha már korábban futott az aktuális elágazási utasításunk, akkor a táblázat értékének megfelelően történik a becslés. - A táblázat aktualizálása: A becslés után, az elágazási feltétel kiértékelésekor, ha a tényleges folytatási irány: ugrás, akkor a telített számláló inkrementálódik, soros folytatás, akkor a telített számláló dekrementálódik

30 A számláló mérete: 1. amennyiben a BHT viszonylag nagy (pl 1024 bejegyzés), akkor minden elágazási utasításhoz egy-egy önálló bejegyzés tartozik 2. amennyiben kicsi, akkor több elágazású utasítás osztozik egy bejegyzésen, ezért a becslés rosszabb lesz Értékelés: Amennyiben minden elágazási utasításhoz hozzá lehet rendelni egy-egy önálló bejegyzést, akkor a becslés 93,5%-ban helyes Pl. Pentium I - A lokális kétszintű dinamikus becslés Megvalósítása: IFAR 16 db bejegyzés legkisebb helyiérték alapján találja meg a BHT -t telített számláló Jellemzői 1.szint: BHT - y tengely BHT Brench History Table A CPU minden elágazási utasításhoz hozzárendel egy bejegyzést a BHT -ban Ezeket a bejegyzéseket az IFAR legkisebb helyiértékű bitjei szerint indexeli - x tengely Esetünkben 4 bites léptetőregiszter Legutóbbi 4 kiértékelés eredményét tartalmazza Az ugrástörténet tartalmazza: 0, ha soros folytatás volt 1, ha ugrott 2.szint: számláló - y tengely Ha a BHT 4 bites, akkor a számláló bejegyzéseinek száma 16 A BHT táblázatban az adott elágazási utasítás ugrástörténetét címként felhasználva történik az egyes számláló-tábla bejegyzések címzése (pl 0110) - x tengely: 2 bites telített számláló Értékei megegyeznek a lokális egyszintű előrejelzővel

31 Működése: - Becslés: = Az aktuális elágazási utasításnak megfelelő BHT bejegyzésre ugrik; az adott BHT bejegyzésben szereplő bitmintának megfelelő számlálócímre ugrik abban a számlálóban, amely az adott bejegyzéshez tartozik. = A számláló értékének megfelelően történik a becslés. - Aktualizálás: A becslés után, az elágazási feltétel kiértékelésekor karbantartja a Léptetőregiszter tartalmát és a Számláló tartalmát Példa: Váltakozva, hol ugrik, hol nem ugrik, tehát a bitmintája Lehetséges esetek 4 bites metszetben: , azaz 5 decimálisan: ezt mindig soros folytatás követi , azaz 10 decimálisan: ezt mindig ugrás követi A BHT tábla adott bejegyzéséhez tartozó számlálótábla lehetséges értékei: Összesen 2 bejegyzést használunk, a többi üres. 100% -os pontossággal becsül az első két lefutás után (ekkor áll be a soros folytatás) Szabályos minták esetén tökéletes a becslés. Értékelés: előny: a helyes becslés aránya 97,1% szabályos minták esetén. hátrány: viszonylag lassú a két szint miatt további hardver szükséges hozzá Pl.: Pentium Pro, Pentium MMX

32 Globális elágazás-becslés Elve: Az aktuális elágazási utasításon kívül a környezetének elágazási utasításait is figyelembevesszük Az egymást követő elágazások közötti kapcsolatot igyekszik kihasználni if (a < 0) if (a 0) ha az egyik igaz, a másik hamis! Megvalósítása: léptető regiszter BHT Telített számláló Értékelés: gyorsabb mint a kétszintű lokális előrejelzés becslése jobb mint az egyszintű, de rosszabb,mint a kétszintű lokális előrejelzés Kombinált A lokális és a globális előrejelzés kombinálása A kétszintű pontossága és az egyszintű gyorsasága

33 Az ugrási irány lehető leggyorsabb elérése Bevezetés A. Hagyományos feldolgozás (elágazás-becslés nélkül) MAR <- PC A PC ből a cím eljut az operatív tárba MDR <- (MAR) Az operatív tárból eljut az utasítás az MDR be (Utasítás lehívása) A PC forrásai: Formalizált leírás Forrás Megjegyzés PC IPC CPU a program induló címe PC PC+1 PC inkrementálása soros a folytatás PC BTA Elágazási utasítás Ugrás következik IPC Initial PC (kezdeti érték) BTA Branch Target Address Megvalósítása: PC Processzor Memória MAR cím Operatív tár MDR utasítás B. szuperskalár feldolgozás Az IFAR forrásai: - IIFA Initial Instruction Fetch Address - inkrementálás - BTA Branch Target Address Egyéb jellemző fogalmak: - IFA Instruction Fetch Address - BTI Branch Target Instruction o Probléma: - Az elágazási utasítások miatti blokkolódás kiküszöbölésére alkalmazzuk az elágazás-becslést. - Az elágazási cél mielőbbi elérése azért fontos, mert az elágazási utasítások többsége (~ 75% -a) ebben az irányban folytatódik. o Kezelése: - A lehető legkevesebb ciklussal próbáljuk elérni az ugrási célt. - Részleteiben nagyon sokféle megoldás létezik, mi egy egyszerűsített változatot nézünk meg

34 Utasítás-gyorsítótár: Address, Instruction A I I+1 I+2 I+3 4 byte 4 byte 4 byte 4 byte Branch Target Instruction BTI BTI+1 BTI+2 BTI+3 - Minden bejegyzés 16 byte hosszú - Ezek 4db, egyenként 4 byte hosszú utasítást tartalmaznak - Az utasítások igazítottak az ugrási cél utasítás mindig az első pozíción helyezkedik el - Gyors utasítás-gyorsítótár: az ugrási cím meghatározása utáni óraciklusban az utasítás-gyorsítótárból kiolvasásra kerül az ugrási cél utasítás - Lassú utasítás-gyorsítótár: Mindezt cask 2-3 óraciklus alatt képes biztosítani Számítási/lehívási módszer (Compute/Fetch scheme) Ez az ugrási cím elérésének a természetes módszere (hagyományos módszer) Megvalósítása: IIFA inkrem. BTA IFAR A I I+1 I+2 I+3 utasítás gyorsítótár BTI BTI+1 BTI+2 BTI+3 lehívás Folyamata: = a CPU meghatározza induló program kezdőcímét (IIFA), és betölti az IFAR-ba = IFAR inkrementálódik, az adatmanipuláló utasítások feldolgozásra kerülnek = Elágazási utasítás esetén futószalag fokozattal vagy címszámítóval meghatározásra kerül az ugrási cím = A kapott címmel felülírjuk az IFAR tartalmát = A vezérlés átadásra kerül az IFAR ban lévő ugrási címre Példa: i 1 b címke i 3 // branch címke: i t1 // target1-34 -

35 Időigény: i 1 F D E W/B b F D cím számítás ugrás b+1 F időveszteség Értékelés - előnye: = egyszerű = nem igényel extra hardvert - hátrány: = a címszámítás és az ugrás szekvenciális = például ciklus estén, ha az n-szer fut akkor n-szer kell kiszámítani ugyan azt a címet felesleges munka, időveszteség, mert ezt előre is meg tudnánk mondani BTAC módszer (Branch Target Address Cache) Lényege: az ugrási címet cask egyszer számoljuk ki, és azt tároljuk a BTAC ben; a következőkben az ott eltárolt címet használjuk fel Megvalósítás: IIFA inkrem. BTA IFAR BA BTA A I I+1 I+2 I+3 utasítás gyorsítótár BTAC lehívás BTI BTI+1 BTI+2 BTI+3 Működése: = az ugrási utasítások címe és a hozzájuk tartozó ugrási célcím beírásra kerül a BTAC -be = amennyiben az IFAR ban olyan ugrási utasítás címe van, amelyhez tartozik bejegyzés a BTAC ben, akkor - az utasítás-gyorsítótár elérésével egyidejűleg a BTAC -ből kiolvasásra kerül az ugrási cím. - a következő óraciklusban pedig már az ugrási címre adódik át a vezérlés Időigény: i 1 F D E W/B b F D i+1 F D E Nincs időveszteség Értékelés: - Előny: = Nem képez szekvenciát az ugrási cím meghatározása és az ugrás. = Csak egyszer kell meghatározni az ugrási címet - Hátrány = Extra hardvert igényel: BTAC Példa: Pentium I

36 Nullciklusú utasítás Lényege: - Feltétlen elágazás esetén nem a BA, hanem a BA-1 utasítást tároljuk a BTAC-ben - Amikor az IFAR ban a feltétlen elágazási utasítást megelőző cím található, akkor kilo vasásra kerül a feltétlen elágazás célcíme a BTAC ből - A következő óraciklusban a vezérlés az ugrási célcímre adódik át, tehát a feltétlen elágazási utasítás feldolgozása kimarad! Időigény: i 1 F D E W/B i t1 F D hiányzik a feltétlen elágazási utasítás! Értékelés: - Előnye: = Az ugrási cél elérése során egy óraciklust nyertünk (gyorsabb, mintha soros folytatási ágon mennénk tovább; 3 óraciklus veszteség helyett 1 óraciklus nyereség!) Megvalósítása: olyan mint az előző rajz, csak BA helyett BA-1-t kell írni! BTIC módszer (Branch Target Instruction Cache) Lényege: igen lassú az utasítás-gyorsítótár, 2-3 óraciklus késéssel tudja csak szállítani az ugrási cél utasítást. Ezt a késést hasznosítjuk ezzel a módszerrel. Megvalósítás: IIFA inkrem. BTA IFAR IFA BA BTI BTIC BTA+ vagy BTI+ A I utasítás gyorsítótár Működése: DEC - A BTIC egy kicsi és gyors gyorsítótár - Ebbe behívásra kerülnek a legutóbbi néhány = elágazási utasítás címe, vagy = az elágazási utasítások közül azok címe, melyek az ugrási irányban folytatódtak - A BTIC további részében = az ugrási utasítás (BTI) ÉS = az azt követő néhány utasítás címe (BTA+) VAGY = az azt követő néhány utasítás (BTI+) - Amennyiben az IFAR ban olyan elágazási utasítás címe kerül, melyhez tartozik bejegyzés a BTIC ben, akkor az ugrási címen lévő utasítás a BTIC ből kerül lehívásra, sokkal gyorsabban, mint az utasítás-gyorsítótárból megtörténhetne. - Példa: AMD AM

37 A feloldatlan elágazások kezelése Probléma: Amennyiben a feltétel kiértékelése valamilyen nagy késleltetésű művelet (pl. osztás) eredményétől függ, feloldatlan vagy függő elágazásról beszélünk Példa: x:=a/b if x <0 // valós, termelő-fogyasztó függőség Ez a futószalag és az első generációs szuperskalároknál blokkol Kezelése: a 2. generációs szuperskalároknál: - Spekulatív elágazás-kezeléssel, azaz az alapblokkok kiterjesztése ún. virtuális alapblokkokká virtuális alap blokk 1.alap blokk 2.alap blokk Feltételes elágazás Adatmanipuláló utasítás Spekulatív irány Ez a becslés több alapblokkot is magába foglal! Az alapvető mutató a spekuláció mélysége, azaz hány alapblokkot foglalhat magába a spekuláció: - Ahhoz, hogy a várakoztató állomásban több tucat utasítás lehessen, igen mély spekulációra van szükség. - Másrészt mély spekuláció esetén a hibás becslés miatti büntetés igen súlyos, azaz igen sok már lehívott utasítást kell eldobni. - Ökölszabály: minél nagyobb a várakoztató állomás kapacitása, annál pontosabb becslésre vvan szükség. Működése: - Feloldatlan elágazás esetén megbecsülik a folytatási irányt, és annak megfelelően hívják le az utasításokat. - Mikor kiértékelődik a feltétel, = amennyiben a becslés helyes volt, folytatódik a feldolgozás = amennyibeb hibás, akkor a hibás irányba lehívott utasításokat eldobják, és megkezdődik a lehívás a helyes irányban A spekulációs mélység: 2-7 Pl. Power 2 esetén: 2 Power PC esetén: 4 A spekulatív elágazás-becslés infrastruktúrális előfeltételei: - Átnevezés: ez biztosítja a spekulatív iránybeli eredmények kezelését - ROB (átrendezőpuffer): a hibás irány esetén a könnyű visszajátszás lehetőségét biztosítja

38 A dekódolási alrendszer gyorsítása Futószalagos dekódolás utasítás gyorsítótár Szuperskalár dekódolás utasítás gyorsítótár Utasítás puffer Utasítás puffer F D/K Dekódolás Kibocsátás F D K 1 db 4 db Probléma: A szuperskalár processzorok esetében - Többlet feladatok = CISC esetén RISC szerű utasításra fordítás = Átnevezés = Szabad helyek meglétének ellenőrzése az átnevezési pufferben (ROB) a várakoztató állomáson = Megfelelő várakoztató állomás kiválasztása = Egy várakoztató állomásba egy óraciklusban több utasítás kibocsátása - Mennyiségileg is többet kell elvégezni = CISC esetében 3 utasítás / óraciklus = RISC esetében 4 utasítás / óraciklus Dekódolás Kibocsátás Megoldás: elődekódolással Megvalósítás: Célja: A 2. szintű gyorsítótár és az utasítás-gyorsítótár között elvégzett műveletekkel mérsékeljük a dekódolás komplexitását és gyorsítjuk az utasítás-feldolgozás első részét 2-es szintű gyorsítótár utasítás- Feladatai: gyorsítótár - CISC esetben az utasítás kezdetének és a végének felismerése (a CISC változó hosszúságú utasítás, a RISC hossza fix) - Az utasítás típusának meghatározása (Load/Store, aritmetikai, stb) - Ugrási utasítások felismerése - A műveleti kód behatárolása Elődekódoló pl.: 128 bit/óraciklus pl.: 148 bit/óraciklus Példák: az AMD K5 CISC processzor minden byte -hoz hosszá tesz 3 bitet => 60% -kal több RISC: tipikusan 4-7 bitet tesznek hozzá => 10-12% -os növekedés

SzA19. Az elágazások vizsgálata

SzA19. Az elágazások vizsgálata SzA19. Az elágazások vizsgálata (Az elágazások csoportosítása, a feltételes utasítások használata, a műveletek eredményének vizsgálata az állapottér módszerrel és közvetlen adatvizsgálattal, az elágazási

Részletesebben

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Az utasítás-pipeline szélesítése Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-05-19 1 UTASÍTÁSFELDOLGOZÁS

Részletesebben

Számítógép architektúrák záróvizsga-kérdések február

Számítógép architektúrák záróvizsga-kérdések február Számítógép architektúrák záróvizsga-kérdések 2007. február 1. Az ILP feldolgozás fejlődése 1.1 ILP feldolgozási paradigmák (Releváns paradigmák áttekintése, teljesítmény potenciáljuk, megjelenési sorrendjük

Részletesebben

Számítógép architektúrák. A mai témák. A teljesítmény fokozás. A processzor teljesítmény növelése

Számítógép architektúrák. A mai témák. A teljesítmény fokozás. A processzor teljesítmény növelése Számítógép architektúrák A processzor teljesítmény növelése A mai témák CISC és RISC Párhuzamosságok Utasítás szintű párhuzamosságok Futószalag feldolgozás Többszörözés (szuperskalaritás) A függőségek

Részletesebben

A mai témák. Számítógép architektúrák. CISC és RISC. A teljesítmény fokozás. További előnyök. A RISC gondolat

A mai témák. Számítógép architektúrák. CISC és RISC. A teljesítmény fokozás. További előnyök. A RISC gondolat A mai témák Számítógép architektúrák A processzor teljesítmény növelése CISC és RISC Párhuzamosságok Utasítás szintű párhuzamosságok Futószalag feldolgozás Többszörözés (szuperskalaritás) A függőségek

Részletesebben

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete Operandus típusok Bevezetés: Az utasítás-feldolgozás menete Egy gépi kódú utasítás általános formája: MK Címrész MK = műveleti kód Mit? Mivel? Az utasítás-feldolgozás általános folyamatábrája: Megszakítás?

Részletesebben

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix 2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.

Részletesebben

Összeadás BCD számokkal

Összeadás BCD számokkal Összeadás BCD számokkal Ugyanúgy adjuk össze a BCD számokat is, mint a binárisakat, csak - fel kell ismernünk az érvénytelen tetrádokat és - ezeknél korrekciót kell végrehajtani. A, Az érvénytelen tetrádok

Részletesebben

Számítógép architektúrák. A processzor teljesítmény növelése

Számítógép architektúrák. A processzor teljesítmény növelése Számítógép architektúrák A processzor teljesítmény növelése A mai témák CISC és RISC Párhuzamosságok Utasítás szintű párhuzamosságok Futószalag feldolgozás Többszörözés (szuperskalaritás) A függőségek

Részletesebben

Számítógépek felépítése

Számítógépek felépítése Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák

Részletesebben

Számítógép Architektúrák

Számítógép Architektúrák Az utasítás-pipeline szélesítése Horváth Gábor 2015. április 23. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Aktuális 2. ZH jövő csütörtök Memória technológiák, virtuális

Részletesebben

Digitális rendszerek. Utasításarchitektúra szintje

Digitális rendszerek. Utasításarchitektúra szintje Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik

Részletesebben

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek)

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek) SzA35. VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek) Működési elvük: Jellemzőik: -függőségek kezelése statikusan, compiler által -hátránya: a compiler erősen

Részletesebben

Számítógép Architektúrák

Számítógép Architektúrák Soron kívüli utasítás-végrehajtás Horváth Gábor 2016. április 27. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Különböző késleltetésű műveletek Láttuk, hogy a lebegőpontos

Részletesebben

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások 8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

Részletesebben

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Pipeline utasításfeldolgozás Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-04-24 1 UTASÍTÁSOK

Részletesebben

Számítógépek felépítése, alapfogalmak

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés

Részletesebben

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Soron kívüli utasítás-végrehajtás Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-04-24 1 KÜLÖNBÖZŐ

Részletesebben

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások 8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

Részletesebben

Számítógép felépítése

Számítógép felépítése Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége

Részletesebben

Számítógép Architektúrák I-II-III.

Számítógép Architektúrák I-II-III. Kidolgozott államvizsgatételek Számítógép Architektúrák I-II-III. tárgyakhoz 2010. június A sikeres államvizsgához kizárólag ennek a dokumentumnak az ismerete nem elégséges, a témaköröket a Számítógép

Részletesebben

egy szisztolikus példa

egy szisztolikus példa Automatikus párhuzamosítás egy szisztolikus példa Áttekintés Bevezetés Példa konkrét szisztolikus algoritmus Automatikus párhuzamosítási módszer ötlet Áttekintés Bevezetés Példa konkrét szisztolikus algoritmus

Részletesebben

Hardver Ismeretek IA32 -> IA64

Hardver Ismeretek IA32 -> IA64 Hardver Ismeretek IA32 -> IA64 Problémák az IA-32-vel Bonyolult architektúra CISC ISA (RISC jobb a párhuzamos feldolgozás szempontjából) Változó utasításhossz és forma nehéz dekódolni és párhuzamosítani

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg.

A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg. Mikroprocesszor A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg. A mikroprocesszor részei A mikroprocesszor a szokásos

Részletesebben

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus

Részletesebben

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei Kutató Intézet kisszámítógépes rendszerekben Tudományos számításokban gyakran nagy mennyiségű aritmetikai művelet elvégzésére van

Részletesebben

Számítógép architektúrák. Korszerű architektúrák

Számítógép architektúrák. Korszerű architektúrák Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül 2 Az Intel P6 család IA instrukciókat feldolgozó (x86, MMX, Katmai Iset),

Részletesebben

Számítógép Architektúrák I-II-III.

Számítógép Architektúrák I-II-III. Kidolgozott államvizsgatételek Számítógép Architektúrák I-II-III. tárgyakhoz 2010. június A sikeres államvizsgához kizárólag ennek a dokumentumnak az ismerete nem elégséges, a témaköröket a Számítógép

Részletesebben

Programozási nyelvek 6. előadás

Programozási nyelvek 6. előadás Programozási nyelvek 6. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig) Számítási modell (hogyan

Részletesebben

Flynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD

Flynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD M5-. A lineáris algebra párhuzamos algoritmusai. Ismertesse a párhuzamos gépi architektúrák Flynn-féle osztályozását. A párhuzamos lineáris algebrai algoritmusok között mi a BLAS csomag célja, melyek annak

Részletesebben

Processzor (CPU - Central Processing Unit)

Processzor (CPU - Central Processing Unit) Készíts saját kódolású WEBOLDALT az alábbi ismeretanyag felhasználásával! A lap alján lábjegyzetben hivatkozz a fenti oldalra! Processzor (CPU - Central Processing Unit) A központi feldolgozó egység a

Részletesebben

Módosított ábra: szaggatott nyíl: a fejlődési ív Az ábrából kimaradt a mobil szegmens (hordozható számítógépek). Y tengely: ár.

Módosított ábra: szaggatott nyíl: a fejlődési ív Az ábrából kimaradt a mobil szegmens (hordozható számítógépek). Y tengely: ár. 2009. 09. 23. 1 2 3 Módosított ábra: szaggatott nyíl: a fejlődési ív Az ábrából kimaradt a mobil szegmens (hordozható számítógépek). Y tengely: ár. A value PC hez hasonló idővonalat kell elképzelni hozzá.

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Az GOTO offset utasítás. P relatív: P értékéhez hozzá kell adni a két bájtos, előjeles offset értékét. Mic 1 program: Main1 P = P + 1; fetch; goto() goto1 OP=P 1 // Main1 nél : P=P+1 1. bájt goto P=P+1;

Részletesebben

Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül

Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül Vadász, 2005. 2 Az Intel P6 család IA instrukciókat feldolgozó (x86 és Katmai

Részletesebben

Központi vezérlőegység

Központi vezérlőegység Központi vezérlőegység A számítógép agya a központi vezérlőegység (CPU: Central Processing Unit). Két fő része a vezérlőegység (CU: Controll Unit), ami a memóriában tárolt program dekódolását és végrehajtását

Részletesebben

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép

Részletesebben

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem) 65-67 A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem) Két fő része: a vezérlőegység, ami a memóriában tárolt program dekódolását és végrehajtását végzi, az

Részletesebben

Számítógépek felépítése, alapfogalmak

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd SZE MTK MSZT lovas.szilard@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? Nem reprezentatív felmérés kinek van

Részletesebben

Architektúra, megszakítási rendszerek

Architektúra, megszakítási rendszerek Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép

Részletesebben

Adatok ábrázolása, adattípusok

Adatok ábrázolása, adattípusok Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában

Részletesebben

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter További Op. rsz. funkcionalitások PSP címének lekérdezése mov ah, 62h int 21h Eredmény: BX = PSP szegmens címe További Op. rsz. funkcionalitások Paraméterek kimásolása mov di, parameter

Részletesebben

Digitális rendszerek. Mikroarchitektúra szintje

Digitális rendszerek. Mikroarchitektúra szintje Digitális rendszerek Mikroarchitektúra szintje Mikroarchitektúra Jellemzők A digitális logika feletti szint Feladata az utasításrendszer-architektúra szint megalapozása, illetve megvalósítása Példa Egy

Részletesebben

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 1 Kombinációs hálózatok leírását végezhetjük mind adatfolyam-, mind viselkedési szinten. Az adatfolyam szintű leírásokhoz az assign kulcsszót használjuk, a

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

Részletesebben

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő) Memóriák (felejtő) Memória Kapacitás Ár Sebesség Memóriák - tárak Háttértár (nem felejtő) Memória Vezérlő egység Központi memória Aritmetikai Logikai Egység (ALU) Regiszterek Programok Adatok Ez nélkül

Részletesebben

Egyszerű RISC CPU tervezése

Egyszerű RISC CPU tervezése IC és MEMS tervezés laboratórium BMEVIEEM314 Budapesti Műszaki és Gazdaságtudományi Egyetem Egyszerű RISC CPU tervezése Nagy Gergely Elektronikus Eszközök Tanszéke (BME) 2013. február 14. Nagy Gergely

Részletesebben

Párhuzamos programozási platformok

Párhuzamos programozási platformok Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási

Részletesebben

Számítógép architektúrák. Korszerű architektúrák

Számítógép architektúrák. Korszerű architektúrák Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül 2 Az Intel P6 család IA instrukciókat feldolgozó (x86, MMX, Katmai Iset),

Részletesebben

7. Fejezet A processzor és a memória

7. Fejezet A processzor és a memória 7. Fejezet A processzor és a memória The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

Részletesebben

VEZÉRLŐEGYSÉGEK. Tartalom

VEZÉRLŐEGYSÉGEK. Tartalom VEZÉRLŐEGYSÉGEK Tartalom VEZÉRLŐEGYSÉGEK... 1 Vezérlőegységek fajtái és jellemzői... 2 A processzor elemei... 2 A vezérlés modellje... 2 A vezérlőegységek csoportosítása a tervezés módszere szerint...

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Programozási nyelvek a közoktatásban alapfogalmak I. előadás Programozási nyelvek a közoktatásban alapfogalmak I. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig)

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Elágazás jövendölés ok gép megjövendöli, hogy egy ugrást végre kell hajtani vagy sem. Egy triviális jóslás: a visszafelé irányulót végre kell hajtani (ilyen van a ciklusok végén), az előre irányulót nem

Részletesebben

1. Az utasítás beolvasása a processzorba

1. Az utasítás beolvasása a processzorba A MIKROPROCESSZOR A mikroprocesszor olyan nagy bonyolultságú félvezető eszköz, amely a digitális számítógép központi egységének a feladatait végzi el. Dekódolja az uatasításokat, vezérli a műveletek elvégzéséhez

Részletesebben

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely Készítette: Trosztel Mátyás Konzulens: Hajós Gergely Monte Carlo Markov Chain MCMC során egy megfelelően konstruált Markov-lánc segítségével mintákat generálunk. Ezek eloszlása követi a céleloszlást. A

Részletesebben

Magas szintű optimalizálás

Magas szintű optimalizálás Magas szintű optimalizálás Soros kód párhuzamosítása Mennyi a várható teljesítmény növekedés? Erős skálázódás (Amdahl törvény) Mennyire lineáris a skálázódás a párhuzamosítás növelésével? S 1 P 1 P N GPGPU

Részletesebben

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK 1 Az adatok feldolgozását végezhetjük olyan általános rendeltetésű digitális eszközökkel, amelyeket megfelelő szoftverrel (programmal) vezérelünk. A mai digitális

Részletesebben

Párhuzamos programozási platformok

Párhuzamos programozási platformok Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási

Részletesebben

Első sor az érdekes, IBM PC. 8088 ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat

Első sor az érdekes, IBM PC. 8088 ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat 1 2 3 Első sor az érdekes, IBM PC. 8088 ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat XT: 83. CPU ugyanaz, nagyobb RAM, elsőként jelent

Részletesebben

elektronikus adattárolást memóriacím

elektronikus adattárolást memóriacím MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása

Részletesebben

4. Fejezet : Az egész számok (integer) ábrázolása

4. Fejezet : Az egész számok (integer) ábrázolása 4. Fejezet : Az egész számok (integer) ábrázolása The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes Architektúra, cache irıl lesz szó? Alapfogalmak Adat cache tervezési terének alapkomponensei Koschek Vilmos Fejlıdés vkoschek@vonalkodhu Teljesítmény Teljesítmény növelése Technológia Architektúra (mem)

Részletesebben

Grafikus csővezeték 1 / 44

Grafikus csővezeték 1 / 44 Grafikus csővezeték 1 / 44 Grafikus csővezeték Vertex feldolgozás A vertexek egyenként a képernyő térbe vannak transzformálva Primitív feldolgozás A vertexek primitívekbe vannak szervezve Raszterizálás

Részletesebben

Utasításszintű architektúra Adattér

Utasításszintű architektúra Adattér Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Utasításszintű architektúra Adattér Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu ISA Instruction Set

Részletesebben

A 32 bites x86-os architektúra regiszterei

A 32 bites x86-os architektúra regiszterei Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

Részletesebben

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység Mikroprocesszor CPU C Central Központi P Processing Számító U Unit Egység A mikroprocesszor általános belső felépítése 1-1 BUSZ Utasítás dekóder 1-1 BUSZ Az utasítás regiszterben levő utasítás értelmezését

Részletesebben

A mikroszámítógép felépítése.

A mikroszámítógép felépítése. 1. Processzoros rendszerek fő elemei mikroszámítógépek alapja a mikroprocesszor. Elemei a mikroprocesszor, memória, és input/output eszközök. komponenseket valamilyen buszrendszer köti össze, amelyen az

Részletesebben

Bevezetés. Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar

Bevezetés. Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar Bevezetés Motiváció Soros és párhuzamos végrehajtás, soros és párhuzamos programozás Miért? Alapfogalmak

Részletesebben

Szekvenciális hálózatok és automaták

Szekvenciális hálózatok és automaták Szekvenciális hálózatok a kombinációs hálózatokból jöhetnek létre tárolási tulajdonságok hozzáadásával. A tárolás megvalósítása történhet a kapcsolás logikáját képező kombinációs hálózat kimeneteinek visszacsatolásával

Részletesebben

Véges állapotú gépek (FSM) tervezése

Véges állapotú gépek (FSM) tervezése Véges állapotú gépek (FSM) tervezése F1. A 2. gyakorlaton foglalkoztunk a 3-mal vagy 5-tel osztható 4 bites számok felismerésével. Abban a feladatban a bemenet bitpárhuzamosan, azaz egy időben minden adatbit

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu

Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu 1 Bevezetés - fogalmak Informatika sokrétű Információk Szerzése Feldolgozása Tárolása Továbbítása Információtechnika Informatika a technikai

Részletesebben

Utasításfajták Memóriacímzés Architektúrák Végrehajtás Esettanulmányok. 2. előadás. Kitlei Róbert november 28.

Utasításfajták Memóriacímzés Architektúrák Végrehajtás Esettanulmányok. 2. előadás. Kitlei Róbert november 28. 2. előadás Kitlei Róbert 2008. november 28. 1 / 21 Adatmozgató irányai regiszter és memória között konstans betöltése regiszterbe vagy memóriába memóriából memóriába közvetlenül másoló utasítás nincsen

Részletesebben

Mikrorendszerek tervezése

Mikrorendszerek tervezése BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése MicroBlaze processzor Fehér Béla Raikovich Tamás

Részletesebben

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás ATmega128 CPU Single-level pipelining Egyciklusú ALU működés Reg. reg., reg. konst. közötti műveletek 32 x 8 bit általános célú regiszter Egyciklusú

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő

Részletesebben

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Elméleti anyag: Processzoros vezérlés általános tulajdonságai o z induló készletben

Részletesebben

Programozás alapjai. 10. előadás

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

Részletesebben

Számítógép Architektúrák

Számítógép Architektúrák Számítógép Architektúrák Utasításkészlet architektúrák 2015. április 11. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Számítógép Architektúrák Horváth

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9. Bevezetés Megszakítások

Részletesebben

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

Digitális technika VIMIAA01 9. hét

Digitális technika VIMIAA01 9. hét BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

Adatelérés és memóriakezelés

Adatelérés és memóriakezelés Adatelérés és memóriakezelés Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

Részletesebben

SZÁMÍTÓGÉP-ARCHITEKTÚRÁK I

SZÁMÍTÓGÉP-ARCHITEKTÚRÁK I SZÁMÍTÓGÉP-ARCHITEKTÚRÁK I 1. ZH A hardver fogalma, fejlődése és leírása 1. Határozza meg a hardver fogalmát! Lényegében ez a számítógépet alkotó, kézzel fogható eszközök összefoglaló neve, a számítógép

Részletesebben

Aritmetikai utasítások I.

Aritmetikai utasítások I. Aritmetikai utasítások I. Az értékadó és aritmetikai utasítások során a címzési módok különböző típusaira látunk példákat. A 8086/8088-as mikroprocesszor memóriája és regiszterei a little endian tárolást

Részletesebben

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés . Számítógépek működési elve Bevezetés az informatikába. előadás Dudásné Nagy Marianna Az általánosan használt számítógépek a belső programvezérlés elvén működnek Külső programvezérlés... Vezérlés elve

Részletesebben

2017/12/16 21:33 1/7 Hardver alapok

2017/12/16 21:33 1/7 Hardver alapok 2017/12/16 21:33 1/7 Hardver alapok < Hardver Hardver alapok Szerző: Sallai András Copyright Sallai András, 2011, 2013, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Bevezetés A számítógépet

Részletesebben

Gábor Dénes Főiskola Győr. Mikroszámítógépek. Előadás vázlat. 2004/2005 tanév 4. szemeszter. Készítette: Markó Imre 2006

Gábor Dénes Főiskola Győr. Mikroszámítógépek. Előadás vázlat. 2004/2005 tanév 4. szemeszter. Készítette: Markó Imre 2006 Gábor Dénes Főiskola Győr Mikroszámítógépek Előadás vázlat 102 2004/2005 tanév 4. szemeszter A PROCESSZOR A processzorok jellemzése A processzor felépítése A processzorok üzemmódjai Regiszterkészlet Utasításfelépítés,

Részletesebben

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. 6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. Neumann elv: Külön vezérlő és végrehajtó egység van Kettes

Részletesebben

7.hét: A sorrendi hálózatok elemei II.

7.hét: A sorrendi hálózatok elemei II. 7.hét: A sorrendi hálózatok elemei II. Tárolók Bevezetés Bevezetés Regiszterek Számlálók Memóriák Regiszter DEFINÍCIÓ Tárolóegységek összekapcsolásával, egyszerű bemeneti kombinációs hálózattal kiegészítve

Részletesebben

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD Misák Sándor ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD Nanoelektronikai és Nanotechnológiai Részleg DE TTK v.0.1 (2007.02.13.) 1. előadás 1. Általános ismeretek. 2. Sajátos tulajdonságok. 3. A processzor jellemzői.

Részletesebben

GPGPU: Általános célú grafikus processzorok cgpu: computational GPU GPGPU = cgpu Adatpárhuzamos gyorsító: dedikált eszköz, ami eleve csak erre

GPGPU: Általános célú grafikus processzorok cgpu: computational GPU GPGPU = cgpu Adatpárhuzamos gyorsító: dedikált eszköz, ami eleve csak erre GPGPU: Általános célú grafikus processzorok cgpu: computational GPU GPGPU = cgpu Adatpárhuzamos gyorsító: dedikált eszköz, ami eleve csak erre szolgál. Nagyobb memória+grafika nélkül (nincs kijelzőre kimenet)

Részletesebben

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Misák Sándor SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Nanoelektronikai és Nanotechnológiai Részleg DE TTK v.0.1 (2007.02.20.) 3. előadás A SZÁMÍTÓGÉP- RENDSZEREK FELÉPÍTÉSE 1. Processzorok: 3. előadás CPU felépítése,

Részletesebben

A mikroprocesszor felépítése és működése

A mikroprocesszor felépítése és működése A mikroprocesszor felépítése és működése + az egyes részegységek feladata! Információtartalom vázlata A mikroprocesszor feladatai A mikroprocesszor részegységei A mikroprocesszor működése A mikroprocesszor

Részletesebben

Dr. Sima Dezső. Architektúrák III. Készítette: Kappel Krisztián. komment by Krysz, Felix (2010, 2009 ősz)

Dr. Sima Dezső. Architektúrák III. Készítette: Kappel Krisztián. komment by Krysz, Felix (2010, 2009 ősz) Dr. Sima Dezső Architektúrák III. Készítette: Kappel Krisztián komment by Krysz, Felix (2010, 2009 ősz) Az ILP feldolgozás fejlődése 2010 őszi félév Felépítés: - 2 - Szaggatott nyíl: a fejlődési ív. Az

Részletesebben

Assembly utasítások listája

Assembly utasítások listája Assembly utasítások listája Bevezetés: Ebben a segédanyagban a fontosabb assembly utasításokat szedtem össze. Az utasítások csoportosítva vannak. A fontos kategóriába azok az utasítások tartoznak, amiknek

Részletesebben

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor Ismerkedjünk tovább a számítógéppel Alaplap és a processzeor Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív

Részletesebben