Máté: Számítógép architektúrák
|
|
- Ottó Orsós
- 4 évvel ezelőtt
- Látták:
Átírás
1 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; fetch // offset. bájtja goto3 =<<8 // 1. (előjeles) bájt <<8. bájt goto4 =U OR // 1 bites offset goto5 P=OP+; fetch; goto Main1 // P új értéke Main1 P = P + 1; fetch; goto() opkód goto5 kezdeményezi a P új értékénél lévő bájt olvasását, Main1 ben goto() már a folytatás első opkódjának megfelelő címre ugrik! 1 Gyakorlásra mic1_5.swf A IFLT offset utasítás (Mic 1) Kivesz egy szót a veremből és ugrik, ha negatív. iflt1 == 1; rd //. szó a veremből iflt OP= // mentése iflt3 = // = a verem új teteje iflt4 =OP; if() goto T; else goto F //elágazás T OP=P 1; goto goto // igaz ág F P=P+1 // hamis ág, át kell lépni offset et F P=P+1; fetch; goto (Main1) // P új értéke, az offset utáni utasításának betöltése Fontos: T címe = F címe + 0x100 3 Gyakorlásra mic1_5.swf 4 (4.1. ábra), A PP által mutatott területen a disp ( bájt) indexű szó mutat a meghívandó metódus kezdő szavára. Ennek a szónak az első két bájtja tartalmazza a metódus paramétereinek számát, a második két bájtja a metódus lokális változóinak számát. A metódus végrehajtása a metódus 5. bájtján indul. 5 (~4.1. ábra) ívó je ívó P je etett paraméterek A hívó lokális területe verem a hívás előtt. paraméter OJREF új alapja alapja hívás. paraméter előtt verem a hívás után ívott lokális. paraméter. paraméter 1
2 4.17. ábra A PP által mutatott táblázat disp indexű eleme a meghívandó metódusra mutat. disp első bájtjának be olvasását már Main1 kezdeményezte. invo1 P = P + 1; fetch // disp. bájtját olvassa invo = U << 8 // disp 1. bájtját lépteti invo3 = U OR // =disp invo4 = PP + ; rd // kezdő cím olvasása invo5 OP = P + 1 // OldP = visszatérési cím 7 IVOKEVIRTUAL: a metódus elején lévő bájt tartalmazza a paraméterek számát. invo P = ; fetch // P: új metódus eleje invo7 P = P + 1; fetch // paraméterek száma invo8 = U << 8 invo9 = OR U // = paraméterek száma invo10 = // OJREF is paraméter! invo11 = = + 1 // OJREF címe ban tároljuk ideiglenesen OJREF címét, ide mutat majd a hívott metódus je. A μutasítások sorrendje más, mint a könyvben! 8 (~4.1. ábra) ívó je ívó P je etett paraméterek A hívó lokális területe verem a hívás előtt. paraméter OJREF új alapja alapja hívás. paraméter előtt verem a hívás után ívott lokális. paraméter. paraméter 9 IVOKEVIRTUAL: lokálisok száma bájt a paraméterek száma után, OJREF helyére kerül a lokális változók fölötti címre mutató Kapcsoló mutató. A mutatott címre kerül majd a ívó P je. = = OJREF címe invo1 P = P + 1; fetch // lokálisok száma 1. bájt invo13 P = P+ 1; fetch // lokálisok száma. bájt invo14 = U << 8 invo15 = OR U // = lokálisok száma invo1 = + + 1; wr // OJREF cseréje = ívó P jének címe 10 etett paraméterek A hívó lokális területe verem a hívás után (~4.1. ábra) ívó je ívó P je verem a hívás előtt. paraméter OJREF új alapja alapja hívás. paraméter előtt ívott lokális. paraméter. paraméter 11 IVOKEVIRTUAL: a hívó P je és je = OJREF címe invo17 = = // hívó P jének helye invo18 = OP; wr // hívó P jének vermelése invo19 = = + 1 // hívó jének a helye invo0 = ; wr // hívó jének vermelése invo1 P = P + 1; fetch // utasítás olvasás invo = // új értéke (a verem új alapja) invo3 = ; goto Main1 // =hívó je = nélkül a címét (a hívott jét) tartalmazná! 1
3 etett paraméterek A hívó lokális területe Verem IRETUR előtt Visszatérési é. ívó je ívó P je ívott lokális. paraméter IRETUR ~4.1. ábra alapja IRETUR előtt Verem IRETUR után Visszatérési é i é.. paraméter alapja IRETUR után. paraméter 13 IRETUR // ~4.13. ábra iret1 = = ; rd // kapcs. mut. olvasása iret = // vár, hogy az olvasás befejeződjön iret3 = = ; rd // hívó P olvasása iret4 = + 1; rd // hívó címe iret5 P= ; fetch //hívó P, opkód olv. iret = // visszatérési érték címe iret7 = // hívó iret8 = ; wr; goto Main1 iret3 4: nem lehet SOURE operandus! 14 ázi feladat: A ábra többi része. Továbbfejlesztések: több es rendszerek. 15 Gyakorlásra mic1_.swf 1 A mikroarchitektúra szint tervezése Mic 1: olcsó, de lassú. Sebesség növelés: rövidebb óraciklus, kevesebb μutasítás az utasítások végrehajtásához, az utasítások végrehajtásának átlapolása. 9 regiszterét 4 bittel címeztük: dekódolóra van szükség, növeli az adatút ciklus idejét! (4.. ábra) Úthossz (path length, a szükséges ciklusok száma) rövidítése: Main1 néha megspórolható, jobb mikroprogram vagy pl. P növelésére (ez legtöbbször fetch csel együtt történik) külön áramkör. A Main1 néha megspórolható: Minden IJVM utasítás értelmezése akkor fejeződik be (kezdődik), amikor a fetch; goto() végrehajtásra kerül (ez a Main1 ben volt). Ilyenkor nek a következő IJVM utasítás kódját kell tartalmaznia, és megkezdődik ennek az utasításnak az értelmezése. Ez a fetch az utasítás kódja utáni bájt olvasását kezdeményezi. Korábbi μutasítás ezt nem kezdeményezheti, mert akkor tartalmát fölülírná a goto() végrehajtása előtt. A következő IJVM értelmezésének első μutasítása nem használhatja taz adatúton, mert ilyenkor ben még az IJVM utasítás kódja található
4 Main1 néha megspórolható ( ábra): 0x57 POP legfelső szavát eldobja. pop1 == 1; rd //. szó címe, olvas pop // vár pop3 =; goto main1 //=a verem teteje Mi1P Main1 P=P+1;fetch;goto() //következő k ő ut. Új változat pop1 == 1; rd pop P=P+1; fetch pop3 =; fetch; goto() //következő ut. 19 P PP OP A ALU ALU P PP OP ALU ALU 4.1. ábra Mic 1 ~4.9. ábra áromes architektúra A 0 árom es architektúra Sok regiszter csatlakozhat az A hez, nemcsak (4.1., 4.9. ábra). A három es architektúra előnye a két es architektúrával szemben: pl. iload banb nem kll kell = ( ábra). ) ILOAD varnum // lokális változó a verembe varnum a lokális változó 8 bites indexe. 1 Mic 1 kód (4.5. ábra) iload1 = iload = U + ; rd iload3 = = + 1 iload4 P = P + 1; fetch; wr iload5 = ; goto main1 main1 P = P + 1; fetch; goto() árom es kód(4.. ábra) iload1 = U + ; rd iload = = + 1 iload3 P = P + 1; fetch; wr iload4 = iload5 P = P + 1; fetch; goto() ibás a könyvben lévő kód (4.. ábra), mert még nem áll rendelkezésre U értéke, mert az előző utasítás utolsó μutasításában volt az a fetch, amely az ILOAD operandusát olvassa. árom es kód(4.. ábra) iload1 = U + ; rd iload = = + 1 iload3 P = P + 1; fetch; wr iload4 = iload5 P = P + 1; fetch; goto() 3 Mic 1 kód (4.5. ábra) iload1 = iload = U + ; rd iload3 = = + 1 iload4 P = P + 1; fetch; wr iload5 = ; goto main1 main1 P = P + 1; fetch; goto() árom es kód(4.. ábra) iload1 P = P + 1; fetch iload = U + ; rd iload3 = = + 1 iload4 = ; wr iload5 P = P + 1; fetch; goto() 4 4
5 A P vel kapcsolatos teendők: P növelése 1 gyel, fetch, bájtos operandus olvasás a memóriából. ALU nál egyszerűbb áramkörrel megvalósíthatók. Utasításbetöltő egység (IFU Instruction Fetch Unit) ~4.7. ábra Memória felől Utasításbetöltő egység (IFU Instruction Fetch Unit) értelmezhet minden kódot, hogy kell e operandus, de egyszerűbb, ha a kódtól függetlenül előkészíti a következő 8 és 1 bites részt (4.7. ábra). Memória felé regiszter Legalacsonyabb bit I +1 P +1, 5 Utasításbetöltő egység (IFU Instruction Fetch Unit) ~4.7. ábra A memóriából szavanként történik az olvasás a léptető regiszter utolsó 4 bájtjára, amint lehetséges. A léptető regiszterből újra föltöltésre kerül és, amint olvasás történik ből, vagy ből, ilyenkor a léptető regiszter tartalma 1 vagy bájttal balra lép. Memória felől regiszter I mutatja a legközelebb betöltendő szó címét. I módosul, amint a léptető regiszterbe írta a következő 4 bájtot, de P csak akkor, ha 1 vagy olvasása történik. Memória felől Memória felé regiszter Legalacsonyabb bit I +1 P +1, 7 8 a P értéket kap a ről, azt I is megkapja. Ilyenkor a mikroprogramnak várnia kell a léptető regiszter, 1 és feltöltésére. Memória felől Véges állapotú gép FSM Finite State Machine (4.8. ábra) 0,, : állapotok, élek: események. Szó olvasás Szó olvasás Szó olvasás Memória felé regiszter Legalacsonyabb bit I +1 P +1,
6 IFU P 1 PP OP ALU ALU A Mic (4.9. ábra) Main1 fölösleges, P növeléséhez nem kell az ALU, a 8 és 1 bites operandusokat IFU adja (nincs fetch). Mic (4.9. ábra) Több hardver kell az A címzése és IFU miatt, de kevesebb μutasítás kell, pl. WIDE ILOAD hoz az eddigi 9 helyett csak 4 (v.ö ábra). WIDE ILOAD varnum //beteszi a 1 bites varnum indexű lokális változót a verembe: wide1 goto (1 OR 0x100) w_iload1 =+U; rd; goto iload iload1 =+1U; rd // változó olvasása iload ==+1 // vermelés előkészítése iload3 =; wr; goto (1) 31 3 Vezérlés átadáskor várni kell, míg az IFU elkészül (a léptető megkapja az új értékét, 1 és feltöltése megtörténik). GOTO offset az 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 program: goto1 =P 1 // IFU már csinált P=P+1 et goto P=+ // itt folytatódik a program goto3 // IFU még nincs kész, várni kell! goto4 goto (1) // a folytatás 1. utasítása Az IFLT offset utasítás (Mic ) Kivesz egy szót a veremből és ugrik, ha negatív. iflt1 == 1; rd //. szó a veremből iflt OP= // mentése iflt3 = // = a verem új teteje iflt4 =OP; if() goto T; else goto F //elágazás T =P 1; goto goto // igaz ág F = // hamis ág, eldobja offset et F goto (1) // a folytatás 1. utasítása IFU P 1 PP OP ALU ALU A A Mic adatút idejének összetevői (4.9. ábra): az A és ek feltöltése a regiszterekből, az ALU és a léptető munkája, az eredmények tárolása a ről. IFU P 1 PP OP A ALU ALU A sővonalas terv: Mic 3 (4.31. ábra) A, és tároló. 3 mikrolépés (μlépés): A, feltöltése, feltöltése az ALU és a léptető eredménye alapján, tárolása regiszterbe. 3 μlépés egyidejűleg (párhuzamosan) végrehajtható! 35 3
7 Pl.: a verem két felső szavának cseréje Mic 3 on (4.33. ábra): swap1 swap swap3 swap4 swap5 swap cy = 1;rd 1 = = =; wr = 1 = 3 = = Várni kell! 4 rd = Várni kell! = = 1;wr =; goto(1) Valódi függőség RAW Read After Write! Elakadás 5 = = = 7 = = = 8 wr = = 1 = 9 = = 10 wr = 11 eldugaszolja a csővezetéket! goto(1) Mire szolgál a GOTO utasítás? ogy valósítható meg a GOTO utasítás Mic 1 en? Melyek az IJVM feltételes ugró utasításai? Mire szolgál az IFLT utasítás? ogy valósítható meg az IFLT utasítás Mic 1 en? Mit nevezünk metódusnak? IJVM melyik utasítása szolgál a metódus hívására? Mire szolgál az IVOKEVIRTUAL utasítás? ol található az utasítással hívott metódus? Milyeninformáció információ van a metódus elején? ogy néz ki a veremnek egy metódus számára látható része? 39 Mely regiszterek tartalmát kell menteni metódus hívás esetén? IJVM melyik utasítása szolgál a metódusból való visszatérésre? ogy találhatók meg a mentett regiszter tartalmak visszatéréskor? Miért nem lenne jó IRETUR megvalósításában: iret3: = ; rd iret4: = + 1? ol található a metódus visszatérési értéke az IRETUR utasítás végrehajtása után? Elemezze a ábra programjait! 40 Az IRETUR utasítás mikroprogramozását úgy is megvalósíthattuk volna, hogy a t nem használjuk, hanem értékéből indulunk ki. ogyan? Így 7 utasítás is elegendő lett volna. Miért jobb mégis az előadáson bemutatott megoldás? Mi az úthossz? Milyen lehetőségek vannak a Mic 1 gyorsítására? Jellemezze a 3 es architektúrát! Mi az előnye a három es architektúrának a Mic 1 gyel szemben? Soroljafel a Mic 1 ésmic közötti különbségeket! Miért eredményeznek ezek gyorsítást?
8 Mi az utasítás betöltő egység (IFU) feladata? Milyen részei vannak az IFU nak? Mi az I szerepe az IFU ban? Írja le az I és a P regiszter kapcsolatát? ogy működik az IFU? ogyábrázolható véges állapotú géppel (FSM) az IFU működése? Mi a különbség a Mic és Mic 3 között? Miért eredményez ez gyorsítást? A SWAP utasítás (a verem két felső szavának cseréje) Mic 3 on négy μutasítással megoldható kilenc μlépésben. ogyan? A megoldás nem vihető át Mic re. Miért? A feladat nehéz! Élesen ki kell használni az adatút szakaszainak időzítését. Ezt ugyan nem tárgyaltuk, de kikövetkeztethető abból, hogy az egyesszakaszokszakaszok egyidejűleg működhetnek Az előadáshoz kapcsolódó Fontosabb témák Feltétlen és feltételes elágazó utasítás megvalósítása Mic 1 en. Utasítás betöltő egység. Mic. sővonalas terv: Mic
Máté: Számítógép architektúrák
Mikroarchitektúra szint Feladata az ISA (Instruction Set Architecture gépi utasítás szint) megvalósítása. Nincs rá általánosan elfogadott, egységes elv. A ISA szintű utasítások függvények, ezeket egy főprogram
RészletesebbenMáté: Számítógép architektúrák
MPC új tartalma, JMPC JMPC esetén MPC 8 alacsonyabb helyértékű bitjének és MR 8 bitjének bitenkénti vagy kapcsolata képződik MPC-ben az adatút ciklus vége felé (MR megérkezése után). Ilyenkor Addr 8 alacsonyabb
RészletesebbenMáté: Számítógép architektúrák
A mikroprogram Mic 1: 4.. ábra. 51x3 bites vezérlőtár a mikroprogramnak, MPC (MicroProgram Counter): mikroprogram utasításszámláló. MIR (MicroInstruction Register): mikroutasítás regiszter. Az adatút ciklus
RészletesebbenMáté: Számítógép architektúrák
NEXT ADDRESS JMPC JAMN JAMZ SLL8 SRA1 F0 F1 ENA EN INVA INC H OPC TOS LV SP PC MDR MAR WRITE READ FETCH 4 sín Mikroutasítások 24 bit: az adatút vezérléséhez bit: a következő utasítás címének megadásához,
RészletesebbenDigitá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észletesebbenMáté: Számítógép architektúrák
Máté: Számítógép architektúrák... Pl.: a verem két felső szavának cseréje Micon (.. ábra): swap swap swap swap swap swap cy MAR= SP;rd B=SP MAR= SP H=MDR; wr C=B B=SP MAR=C C=B Várni kell! rd MAR=C Várni
RészletesebbenSzámítógép architektúrák
Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi utasítás szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált
RészletesebbenBevezeté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észletesebbenDigitá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észletesebbenMáté: Számítógép architektúrák
Máté: Számítógép architektúrák... Hétszakaszú csővezeték: Mic (.. ábra). Az IFU a bejövő bájtfolyamot a dekódolóba küldi. IJVM hossz. A dekódoló a WIDE prefixumot felismeri, pl. WIDE ILOAD ot átalakítja
RészletesebbenMutatók és mutató-aritmetika C-ben március 19.
Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:
Részletesebbentalá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észletesebben5-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észletesebbenOperandus 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észletesebbenMá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észletesebbenSzá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észletesebbenA verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása
A verem (stack) A verem egy olyan struktúra, aminek a tetejére betehetünk egy új (vagy sorban több) elemet a tetejéről kivehetünk egy (vagy sorban több) elemet A verem felhasználása Függvény visszatérési
RészletesebbenAssembly 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észletesebbenAssembly. 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észletesebbenAdatelé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észletesebbenSzá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észletesebbenSZÁMÍTÓGÉP ARCHITEKTÚRÁK
SZÁMÍTÓGÉP ARCHITEKTÚRÁK Kártyás ajtónyitó tervezése Horváth Gábor BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-02-19 Hálózati Rendszerek és Szolgáltatások
RészletesebbenSzekvenciá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észletesebbenDigitá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észletesebbenDigitá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észletesebbenA 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észletesebbenParaméter átadás regisztereken keresztül
Eljárások paramétereinek átadási módjai Az eljárások deklarációjánál nincs mód arra, hogy paramétereket adjunk meg, ezért más, közvetett módon tudunk átadni paramétereket az eljárásoknak. Emlékeztetőül:
RészletesebbenSzA19. 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észletesebbenEgyszerű 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észletesebbenMintavé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észletesebbenMi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása
Mi az assembly Gyakorlatias assembly bevezető Fordítóprogramok előadás (A, C, T szakirány) programozási nyelvek egy csoportja gépközeli: az adott processzor utasításai használhatóak általában nincsenek
Részletesebben1. 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észletesebbenMáté: Számítógép architektúrák
Sín műveletek z eddigiek közönséges műveletek voltak. lokkos átvitel (3.4. ábra): kezdő címen kívül az adatre kell tenni a mozgatandó adatok számát. Esetleges várakozó ciklusok után ciklusonként egy adat
RészletesebbenSZORGALMI FELADAT. 17. Oktober
SZORGALMI FELADAT F2. Tervezzen egy statikus aszinkron SRAM memóriainterfész áramkört a kártyán található 128Ki*8 bites memóriához! Az áramkör legyen képes az írási és olvasási műveletek végrehajtására
RészletesebbenAdatok á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észletesebbenRekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
RészletesebbenS z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
RészletesebbenSzámítógép architektúrák
Számítógép architektúrák Kártyás ajtónyitó tervezése 2016. március 7. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Számítógép Architektúrák Horváth
RészletesebbenAlprogramok fordítása. Kódgenerálás II. (alprogramok, memóriakezelés) Függvény, eljárás. Alprogramok írása assemblyben
Alprograok forítása Kógenerálás II. (alprograok, eóriakezelés) Forítóprograok előaás (A,C,T szakirány) függvény, eljárás, etóus paraéterátaási forák érték szerint, hivatkozás szerint... tagfüggvények 28.
RészletesebbenC programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
RészletesebbenMáté: Számítógép architektúrák 2010.12.10.
Pentium 4 Gépi utasítások RIS szerű μműveletek, több μművelet futhat egyszerre: szuperskaláris gép, megengedi a sorrenden kívüli végrehajtást is. Pentium 4 3 szintű belső gyorsító tár. L1: KBadat, 4 utas
RészletesebbenVEZÉ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észletesebbenAdatszerkezetek 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észletesebbenDSP architektúrák dspic30f család
DSP architektúrák dspic30f család A Microchip 2004 nyarán piacra dobta a dspic30f családot, egy 16 bites fixpontos DSC. Mivel a mikróvezérlők tantárgy keretén belül a PIC családdal már megismerkedtetek,
RészletesebbenMáté: Számítógép architektúrák 2010.10.06.
szinkron : Minden eseményt egy előző esemény okoz! Nincs órajel, WIT, van viszont: MSYN# (kérés Master SYNchronization), SSYN# (kész Slave SYNchronization). Ugyanazon a en gyors és lassú mester szolga
RészletesebbenMáté: Számítógép architektúrák
.7. ábra. A NetBurst csővezeték Branch Target Buffer elágazási cél puffer Branch Target Buffer elágazási cél puffer Bemeneti rész ekódoló egység L1 BTB μrom Nyomkövető Nyomkövető BTB Bemeneti rész ekódoló
RészletesebbenHardver 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észletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenAz interrupt Benesóczky Zoltán 2004
Az interrupt Benesóczky Zoltán 2004 1 Az interrupt (program megszakítás) órajel generátor cím busz környezet RESET áramkör CPU ROM RAM PERIF. adat busz vezérlõ busz A periféria kezelés során információt
RészletesebbenBalaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.
Balaton Marcell Balázs Assembly jegyzet Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született. 1. Regiszterek Regiszterek fajtái a. Szegmensregiszterek cs (code):
RészletesebbenA programozás alapjai
A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,
RészletesebbenA számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni.
Példák számok kiírására A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni. Decimális számok kiírása Az alábbi
RészletesebbenProgramozá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észletesebbenUtasí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észletesebbenTeljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20
Teljesítmény Mérés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés 2013 1 / 20 Tartalomjegyzék 1 Bevezetés 2 Visual Studio Kód metrikák Performance Explorer Tóth Zsolt
RészletesebbenSZÁ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észletesebbenA C programozási nyelv II. Utasítások. A függvény.
A C programozási nyelv II. Utasítások. A függvény. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv II (Utasítások, fuggvények) CBEV2 / 1 Kifejezés utasítás Kifejezés utasítás, blokk
RészletesebbenProgramozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók Dr. Bécsi Tamás 7. Előadás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza.
RészletesebbenSzá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észletesebbenMagas 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észletesebbenJá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észletesebben8. 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észletesebbenTömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
Részletesebben8. 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észletesebbenArchitektú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észletesebbenA számítógép alapfelépítése
Informatika alapjai-6 számítógép felépítése 1/8 számítógép alapfelépítése Nevezzük számítógépnek a következő kétféle elrendezést: : Harvard struktúra : Neumann struktúra kétféle elrendezés alapvetően egyformán
RészletesebbenDr. Oniga István DIGITÁLIS TECHNIKA 8
Dr. Oniga István DIGITÁLIS TECHNIA 8 Szekvenciális (sorrendi) hálózatok Szekvenciális hálózatok fogalma Tárolók RS tárolók tárolók T és D típusú tárolók Számlálók Szinkron számlálók Aszinkron számlálók
RészletesebbenA 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észletesebbenSzá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észletesebbenA MiniRISC processzor
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK A MiniRISC processzor Fehér Béla, Raikovich Tamás, Fejér Attila BME MIT
RészletesebbenBonyolultságelmélet. Monday 26 th September, 2016, 18:50
Bonyolultságelmélet Monday 26 th September, 2016, 18:50 A kiszámítás modelljei 2 De milyen architektúrán polinom? A kiszámításnak számos (matematikai) modellje létezik: Általános rekurzív függvények λ-kalkulus
Részletesebben1 Doszpi
ADDLW Konstans hozzáadása W-hez ADDLW k Állított jelződitek: C, DC, Z A 8 bites k konstans hozzáadása W értékéhez; az eredmény a W-be kerül. ADDWF W és f összeadása ADDWF f, d Állított jelződitek: C, DC,
Részletesebben1. ábra: Perifériára való írás idődiagramja
BELÉPTETŐ RENDSZER TERVEZÉSE A tárgy első részében tanult ismeretek részbeni összefoglalására tervezzük meg egy egyszerű mikroprocesszoros rendszer hardverét, és írjuk meg működtető szoftverét! A feladat
RészletesebbenVé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észletesebbenC memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre.
C memóriakezelés Ez a kis segédanyag az adatszerkezetek órán használt eszközök megértését hivatott elősegíteni. A teljesség igénye nélkül kerül bemutatásra a mutató típus és a dinamikus memóriakezelés.
RészletesebbenSZÁ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észletesebbenSzámítógép Architektúrák
Kocsis Ilona Győri László Számítógép Architektúrák Előadás jegyzet SZÁMÍTÓGÉP ARCHITEKTÚRÁK A számítógép architektúra szintjei A digitális számítógép olyan gép, amely a neki szóló utasítások alapján problémákat
Részletesebben8. gyakorlat Pointerek, dinamikus memóriakezelés
8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.
RészletesebbenInformatika 1 2. el adás: Absztrakt számítógépek
Informatika 1 2. el adás: Budapesti M szaki és Gazdaságtudományi Egyetem 2015-09-08 1 2 3 A egy M = Q, Γ, b, Σ, δ, q 0, F hetes, ahol Q az 'állapotok' nem üres halmaza, Γ a 'szalag ábécé' véges, nem üres
RészletesebbenProgramozott soros szinkron adatátvitel
Programozott soros szinkron adatátvitel 1. Feladat Név:... Irjon programot, mely a P1.0 kimenet egy lefutó élének időpontjában a P1.1 kimeneten egy adatbitet ad ki. A bájt legalacsonyabb helyiértéke 1.
RészletesebbenObjektumorientált Programozás VI.
Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
RészletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
RészletesebbenSzá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észletesebbenNagy Gergely április 4.
Mikrovezérlők Nagy Gergely BME EET 2012. április 4. ebook ready 1 Bevezetés Áttekintés Az elektronikai tervezés eszközei Mikroprocesszorok 2 A mikrovezérlők 3 Főbb gyártók Áttekintés A mikrovezérlők az
RészletesebbenProgramozás alapjai. 7. előadás
7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való
RészletesebbenProgramozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
RészletesebbenVéges állapotú gépek (FSM) tervezése
Véges állapotú gépek (FSM) tervezése F1. Tervezzünk egy soros mintafelismerőt, ami a bemenetére ciklikusan, sorosan érkező 4 bites számok közül felismeri azokat, amelyek 3-mal vagy 5-tel oszthatók. A fenti
RészletesebbenBevezetés a programozásba. 8. Előadás: Függvények 2.
Bevezetés a programozásba 8. Előadás: Függvények 2. ISMÉTLÉS Helló #include using namespace std; int main() cout
Részletesebben7.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észletesebbenDSP architektúrák dspic30f család memória kezelése
DSP architektúrák dspic30f család memória kezelése Az adatmemória Az adatmemória 16 bites, két külön memóriazóna van kiépítve, az X és az Y memória, mindkettőnek címgeneráló egysége és adat sínrendszere
Részletesebben.Net adatstruktúrák. Készítette: Major Péter
.Net adatstruktúrák Készítette: Major Péter Adatstruktúrák általában A.Net-ben számos nyelvvel ellentétben nem kell bajlódnunk a változó hosszúságú tömbök, listák, sorok stb. implementálásával, mert ezek
RészletesebbenJava programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
RészletesebbenA 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észletesebbenAssembly Utasítások, programok. Iványi Péter
Assembly Utasítások, programok Iványi Péter Assembly programozás Egyszerű logikán alapul Egy utasítás CSAK egy dolgot csinál Magas szintű nyelven: x = 5 * z + y; /* 3 darab művelet */ Assembly: Szorozzuk
RészletesebbenAritmetikai 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észletesebbenVerem Verem mutató 01
A számítástechnikában a verem (stack) egy speciális adatszerkezet, amiben csak kétféle művelet van. A berak (push) egy elemet a verembe rak, a kivesz (pop) egy elemet elvesz a verem tetejéről. Mindig az
RészletesebbenMáté: Számítógép architektúrák
I-51 (19) Cél: beépített rendszerekben való alkalmazás Fő szempont: olcsóság (ma már 1-15 ), sokoldalú alkalmazhatóság A memóriával, be- és kivitellel együtt egyetlen lapkára integrált számítógép Mikrovezérlő
RészletesebbenA 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észletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
RészletesebbenSzá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