Digitális technika VIMIAA01 9. hét

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

Digitális technika VIMIAA02 9. hét

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

Digitális technika (VIMIAA01) Laboratórium 8

Digitális technika (VIMIAA02) Laboratórium 8

A MiniRISC processzor

A MiniRISC processzor

A MiniRISC processzor

A MiniRISC processzor (rövidített verzió)

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

A PicoBlaze vezérlő alkalmazása a LOGSYS kártyán

Digitális technika VIMIAA hét

Digitális technika VIMIAA hét

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 5.5

Bevezetés az informatikába

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika VIMIAA hét

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika (VIMIAA01) Laboratórium 11

Digitális technika (VIMIAA01) Laboratórium 11

ISA szimulátor objektum-orientált modell (C++)

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

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA01) Laboratórium 4

Digitális technika VIMIAA01

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

Perifériák hozzáadása a rendszerhez

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Labor 2 Mikrovezérlők

Egyszerű RISC CPU tervezése

Mikrorendszerek tervezése

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Egyszerű számítógép működése

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

Architektúra, megszakítási rendszerek

Digitális technika Xilinx ISE GUI használata

SZORGALMI FELADAT. 17. Oktober

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

Digitális technika (VIMIAA01) Laboratórium 10

Nagy Gergely április 4.

Digitális technika VIMIAA hét

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

A ChipScope logikai analizátor

Digitális technika (VIMIAA02) Laboratórium 2

Digitális technika VIMIAA01

Digitális technika VIMIAA01

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Programozási segédlet DS89C450 Fejlesztőpanelhez

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

Digitális technika VIMIAA hét

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

Adatok ábrázolása, adattípusok

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Modellező eszközök, kódgenerálás

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

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

Digitális technika VIMIAA02

Mikrorendszerek tervezése

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

A LOGSYS rendszer ismertetése

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

Labor gyakorlat Mikrovezérlők

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

Adatfeldolgozó rendszer tervezése funkcionális elemekkel

Az interrupt Benesóczky Zoltán 2004

VEZÉRLŐEGYSÉGEK. Tartalom

Digitális technika (VIMIAA01) Laboratórium 2

Egyszerű mikroprocesszor RTL modellek (VHDL)

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

Digitális technika VIMIAA01

Mikrorendszerek tervezése

Digitális technika VIMIAA01

Labor gyakorlat Mikrovezérlők

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.

Digitális technika (VIMIAA01) Laboratórium 2

[cimke:] [feltétel] utasítás paraméterek [; megjegyzés]

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

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

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

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

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

Digitális technika VIMIAA02 7. hét Fehér Béla BME MIT

Digitális technika VIMIAA02 7. hét

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

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

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

Mikrorendszerek tervezése

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

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1.

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Bevezetés az informatikába

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

Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév

A Számítógépek hardver elemei

Átírás:

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 digitális rendszer: Általános rendszerterv: adatstruktúra + vezérlés Processzoros rendszerek: Általános processzor adatstruktúra + ASM alapú egyszerűsített processzor vezérlőegység A vezérlési állapot indirekt megadása: PC (programmemória cím) programtár olvasás (aktuális utasítás) dekódolt vezérlő jelek származtatása és végrehajtás Továbblépés: PC = PC +1 vagy esetleg (feltételes) ugrás Egységesített adatméret és be-/kimeneti interfészek LOAD/STORE működés, külső vagy memória adatok regiszterbe töltődnek használat előtt

MiniRISC processzor bevezetése A MiniRISC processzor diasorozat 1-21 dia A processzor működés alapjai

MiniRISC processzor Felépítése követi az adatstruktúra-vezérlő szemléletet Vezérlő: az utasítások beolvasása, feldolgozása és ennek megfelelően az adatstruktúra vezérlése Adatstruktúra: műveletek végrehajtása az adatokon Programmemória Adatmemória ADDR DOUT RD WR ADDR DIN DOUT Vezérlőegység MiniRISC processzor, 2013.04.17. (v1.2) Vezérlő jelek Feltétel jelek 4 Adatstruktúra MiniRISC processzor

MiniRISC processzor blokkvázlata A részletes felépítést lásd a Verilog forráskódban Programmemória Adatmemória ADDR DOUT DIN DOUT RD WR ADDR IRQ Debug modul PC Számláló 0x00 0x01 ugrási cím Init Break Vezérlő állapotgép Vezérlőegység MiniRISC processzor, 2013.04.17. (v1.2) Verem Z,C,N,V Fetch Decode Execute Int_req Z,C,N,V IE bit IF bit 5 IR vezérlő jelek feltétel jelek MiniRISC processzor 8 bites konstans ugrási cím MUX1 WrX Regisztertömb RdX RdY OP1 Adatstruktúra ALU MUX2 OP2

MiniRISC processzor Verilog HDL A Verilog HDL projekt kicsit összetettebb az eddig megismerteknél, de egy teljes processzoros rendszer esetén ez természetes A fő komponensek: MiniRISC CPU: vezérlés + adatstruktúra Perifériák: Külső, belső egységek És ez még csak a HW MiniRISC processzor, 2013.04.17. (v1.2) 6

MiniRISC processzor implementáció A szintézis szerint a MiniRISC processzor kb. az FPGA 50%-át foglalja el Az időzítési adatok alapján a szükséges 16MHz-es sebesség bőven teljesül MiniRISC processzor, 2013.04.17. (v1.2) 7

MiniRISC assembler A MiniRISC processzor felhasználói programjait alacsonyszintű (gépközeli) programnyelven készíthetjük el és fordíthatjuk futtatható bináris kódra. Az assembly nyelven megírt programok lefordítása a LOGSYS MiniRISCv2-as assemblerrel lehetséges Konkrét programfejlesztési részletek az előadás végén MiniRISC processzor, 2013.04.17. (v1.2) 8

MiniRISC kódgenerálás az assemblerrel Futtatása parancssorból: MiniRISCv2-as filename.s A filename.s assembly forrásfájlt beolvassa és ha nincs benne hiba, lefordítja és generálja a következő fájlokat filename.lst code.hex data.hex filename.svf filename.dbgdat assembler listafájl címekkel, címkékkel, azonosítókkal, utasításkódokkal szöveges fájl a Verilog kódból történő programmemória inicializáláshoz szöveges fájl a Verilog kódból történő adatmemória inicializáláshoz a LOGSYS GUI-val letölthető, a program- és adatmemória tartalmát inicializáló SVF fájl a debug információkat tartalmazó fájl Az esetleges hibaüzenetek a konzolon jelennek meg A MiniRISC assembler a MiniRISC IDE integrált részét képezi, a parancssorból való futtatása ezért nem gyakori, de egy példa kedvéért bemutatjuk. MiniRISC processzor, 2013.04.17. (v1.2) 9

MiniRISC kódgenerálás az assemblerrel Futtatása parancssorból: MiniRISCv2-as filename.s Forrásprogram: demo_add.s MiniRISC processzor, 2013.04.17. (v1.2) 10

MiniRISC kódgenerálás az assemblerrel Fordítás eredménye: Generált lista fájl: demo_add.lst MiniRISC processzor, 2013.04.17. (v1.2) 11

MiniRISC kódgenerálás az assemblerrel A generált memória tárgykód fájlok: code.hex Programmemória kódfájl: code.hex 256 db 16 bites utasításkód Adatmemória kódfájl: data.hex 128 db 8 bites adat A kész kódfájlokat elérhetővé tesszük a Verilog HDL projekt számára (átmásoljuk az ISE projekt könyvtárba) data.hex MiniRISC processzor, 2013.04.17. (v1.2) 12

MiniRISC processzor szimuláció A szimulációt támogató fájlok A minirisc_system_tf.v szimulációs tesztkörnyezet A MiniRISC_alap.wcfg szimulációs hullámforma ablak konfigurációs fájl A szimuláció menete: Az aktuális code.hex és data.hex fájlok bemásolása Az ISE átkapcsolása szimulációs módba A minirisc_system_tf.v fájl kiválasztása Az ISim szimulátor indítása viselkedési módban Szimulációs idő beállítása 187,5ns-ra == 1 utasítás MiniRISC processzor, 2013.04.17. (v1.2) 13

MiniRISC processzor szimuláció MiniRISC processzor, 2013.04.17. (v1.2) 14

MiniRISC processzor szimuláció Megfigyelhető a belső működés, tetszőleges részletességgel (de erre ritkán vagyunk kíváncsiak) Vezérlő állapota, PC, IR tartalma A FETCH DECODE EXEC ciklus Utasításkód alapján az utasítás mnemonik megjelenítése, disassembler funkció, (bináris kódból utasítás neve, paramétereinek értelmezése), de címkék, azonosítók/változónevek nincsenek ALU operandusok és a művelet eredménye Flagek értéke (Z,C,N,V) Busz adatátvitel paraméterei, iránya és időzítése Elemi perifériák (LD, SW, BT) értékei MiniRISC processzor, 2013.04.17. (v1.2) 15

MiniRISC processzor szimuláció A valódi programok működése jellemzően sokkal hosszabb futásidőt igényel Az idődiagram itt nem áttekinthető, nem jelent segítséget, viszont minden részletében megfigyelhető a rendszer, ha szükséges Esetleg speciális perifériáknál SW-HW együttes fejlesztése Fontosabb egy jó programozói modell, ami a processzor műveleti szintjét, belső állapotát jeleníti meg (PC, program forráskód, regiszterek, memória) MiniRISC processzor, 2013.04.17. (v1.2) 16

MiniRISC processzor bevezetése A MiniRISC processzor diasorozat 22 42 dia A processzor programozása

Digitális technika 9. EA vége