Mikrorendszerek tervezése

Hasonló dokumentumok
Mikrorendszerek tervezése

Rendszerarchitektúrák labor Xilinx EDK

Az interrupt Benesóczky Zoltán 2004

Architektúra, megszakítási rendszerek

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

Digitális technika VIMIAA01

Digitális technika (VIMIAA01) Laboratórium 11

Mikrorendszerek tervezése

Mikrorendszerek tervezése

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

Digitális technika VIMIAA01 9. hét

Digitális technika (VIMIAA01) Laboratórium 11

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika VIMIAA01

Digitális technika (VIMIAA01) Laboratórium 9

Mikrorendszerek tervezése

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

Az operációs rendszer szerkezete, szolgáltatásai

ARM Cortex magú mikrovezérlők

ARM (Advanced RISC Machine)

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

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Mechatronika és mikroszámítógépek. 2018/2019 I. félév. Külső megszakítások

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

Rendszerarchitektúrák labor Xilinx EDK

A MiniRISC processzor

Mikrorendszerek tervezése

Digitális technika (VIMIAA02) Laboratórium 5.5

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

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

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

Mikrorendszerek tervezése

Digitális technika (VIMIAA02) Laboratórium 12

Digitális technika (VIMIAA02) Laboratórium 12

Digitális rendszerek. Mikroarchitektúra szintje

Az MSP430 energiatakarékos használata

Digitális technika (VIMIAA02) Laboratórium 4

Raikovich Tamás BME MIT

Digitális technika (VIMIAA02) Laboratórium 4

Informatika érettségi vizsga

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

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

Digitális technika (VIMIAA01) Laboratórium 4

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

10. Digitális tároló áramkörök

Nagyteljesítményű mikrovezérlők

SysCVideo: fiktív grafikus kártya SystemC modulként, SDL alapú megjelenítéssel

Digitális technika VIMIAA01 5. hét


Mechatronika és mikroszámítógépek

Nagy Gergely április 4.

AF 088II DIO 16/8 AF 088II DIO 16. Digitális ki-, bemeneti modul. Digitális bemeneti modul

Digitális technika VIMIAA01

Digitális technika VIMIAA01

Yottacontrol I/O modulok beállítási segédlet

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

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

Máté: Assembly programozás

Bevezetés a mikrovezérlők programozásába: MAX6958: Hétszegmenses LED kijelző vezérlő

Karakteres LCD kijelző használata MiniRISC processzoron

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

Processzor (CPU - Central Processing Unit)

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

A MiniRISC processzor

Megszakítási rendszer

A MiniRISC processzor

Perifériakezelési módszerek (Korrigált) Feltétel nélküli

A MicroBlaze processzor

MSP430 programozás Energia környezetben. LED mátrix vezérlése MAX7219 IC-vel

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

Dr. Oniga István DIGITÁLIS TECHNIKA 8

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

Digitális rendszerek. Digitális logika szintje

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

Digitális technika VIMIAA hét

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

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

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.

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

Digitális technika VIMIAA hét

Operációs rendszerek. Bemutatkozás

Szekvenciális hálózatok Állapotdiagram

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

A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg. Olvasható aláírás:...minta VIZSGA...

Digitális technika VIMIAA hét

ARM Cortex magú mikrovezérlők

The modular mitmót system. DPY kijelző kártya C API

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

5. tétel. A számítógép sematikus felépítése. (Ábra, buszok, CPU, Memória, IT, DMA, Periféria vezérlő)

A LOGSYS rendszer ismertetése

MSP430 programozás Energia környezetben. Az I/O portok kezelése

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

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

TM Szervó vezérlő és dekóder

PWM elve, mikroszervó motor vezérlése MiniRISC processzoron

AC-MF1W. RFID kártyaolvasó és kódzár. Felhasználói leírás

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

Á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 Mikrorendszerek tervezése Megszakítás- és kivételkezelés Fehér Béla Raikovich Tamás

Bevezetés Az utasítások végrehajtása (alapvetően) a programozó által meghatározott sorrendben történik Események kezelése lekérdezéssel lassú Sok esetben gyorsabb reagálás kell megszakítás Megszakítás (interrupt) Jelzés a processzornak kiszolgálási igényre A CPU az aktuális utasítás végrehajtása után elfogadhatja Hardver megszakítás Jelzés külső hardver egységtől Szoftver megszakítás Kivételes esemény a CPU-n belül (kivétel, exception) Speciális, megszakítást okozó utasítás (pl. x86 INT x) 1

MicroBlaze processzor Események Vektortáblázat a 0x0000 0x004F címen, áthelyezhető A táblázatban minden eseményhez két szó tartozik IMM + BRAI utasítások: tetszőleges 32 bites cím Relatív prioritás 1 6 5 3 4 2 2

MicroBlaze processzor Események Kapcsolódó MSR (Machine Status Register) bitek EIP (Exception In Progress) 1, ha hardver kivétel van folyamatban, 0 egyébként EE (Exception Enable) Hardver kivételek engedélyezése (1) vagy tiltása (0) Az MMU kivételek mindig engedélyezettek BIP (Break In Progress) 1, ha break esemény van folyamatban, 0 egyébként IE (Interrupt Enable) Hardver megszakítások engedélyezése (1) vagy tiltása (0) 3

MicroBlaze processzor Események Hardver megszakítás (interrupt) Debug reset Reset Maszkolható HW break Nem maszkolható HW break 4

MicroBlaze processzor Reset A Reset vagy a Debug_Rst bemenet váltja ki Legalább 16 órajel periódusnyi aktivitás szükséges Hatása Pipeline kiürítése Egyes regiszterek alapállapotának beállítása Utasítás beolvasása a reset vektor címéről 5

MicroBlaze processzor Kivétel A processzor belső hibás állapotának jelzése Lehetséges hardver kivétel események Utasítás- és adatbusz kivételek Utasítás és adat TLB nincs találat kivételek Utasítás és adat tárolási kivételek Illegális műveleti kód kivétel Privilegizált utasítás kivétel Verem védelem megsértés kivétel Nem igazított memóriaelérés kivétel Osztás kivétel, FPU kivétel, AXI4-Stream kivétel 6

MicroBlaze processzor Kivétel Hatása Pipeline kiürítése Az MSR[EE] bit törlése, az MSR[EIP] bit beállítása A visszatérési cím az r17 regiszterbe kerül MMU kivételek: a kivételt okozó utasítás Egyéb kivételek: a kivételt okozó utasítást követő utasítás Delay slot: a visszatérési cím a BTR regiszterbe kerül Utasítás beolvasása a hardver kivétel vektor címéről Visszatérés: rted utasítás Az MSR[EE] bitet beállítja, az MSR[EIP] bitet törli 7

MicroBlaze processzor Break Töréspont Hardveres, nem maszkolható: Ext_NM_BRK bemenet Mindig érvényre jut Hardveres, maszkolható: Ext_BRK bemenet Szoftveres, maszkolható: brk vagy brki utasítások Érvényre jut, ha nincs kivétel vagy break folyamatban Hatása A dekódolt utasítás felülíródik egy ugró utasítással, amely a hardveres vagy a szoftveres break vektorra ugrik Az MSR[BIP] bit beállítása A visszatérési cím az r16 regiszterbe kerül Visszatérés: rtbd utasítás Az MSR[BIP] bitet törli 8

MicroBlaze processzor Megszakítás Külső hardver esemény Az Interrupt bemenet váltja ki, ha MSR[IE]=1 és nincs kivétel vagy break folyamatban Hatása A dekódolt utasítás felülíródik egy ugró utasítással, amely a megszakítás vektorra ugrik Az MSR[IE] bit törlése A visszatérési cím az r14 regiszterbe kerül Visszatérés: rtid utasítás Az MSR[IE] bitet beállítja 9

MicroBlaze processzor Megszakítás Az Interrupt bemenet lehet él- vagy szintérzékeny A C_INTERRUPT_IS_EDGE paraméterrel állítható be Szintértékeny megszakítás bemenetet Aktívan kell tartani az esemény elfogadásáig A forrásnál nyugtázni kell az eseményt Élérzékeny megszakítás bemenet A processzor tárolja az eseményt MSR[IE] értékétől függetlenül Érvényre jut, ha MSR[IE]=1 Normál mód Egyetlen megszakítás vektor van Szoftveres forrás azonosítás és nyugtázás szükséges Alacsony késleltetésű (gyors) mód A forrástól függő vektort a megszakítás vezérlő adja A processzor nyugtázó jelet küld a megszakítás vezérlőnek 10

AXI Interrupt Controller Megszakítás vezérlő periféria Biztosítja max. 32 hardver megszakítás forrás kezelését A 0. megszakítás bemenet a legnagyobb prioritású Szinkronizálja a megszakítás bemeneteket a saját órajeléhez Él- vagy szintérzékeny megszakítás bemenetek (a kapcsolódó IP irq megszakítás interfészének SENSITIVITY paramétere) Felfutó élre: SENSITIVITY = EDGE_RISING Lefutó élre: SENSITIVITY = EDGE_FALLING Magas szintre: SENSITIVITY = LEVEL_HIGH Alacsony szintre: SENSITIVITY = LEVEL_LOW A megszakításkérő kimenet lehet él- vagy szintérzékeny Biztosít szoftver megszakításokat is Támogatja a MicroBlaze CPU gyors megszakítás módját Több megszakítás vezérlő kaszkádosítható 11

AXI Interrupt Controller Részletek: AXI Interrupt Controller Product Guide (PG099) A megszakítás vezérlő regiszterkészlete Az ide tartozó szoftveres részről külön lesz szó 12

AXI Interrupt Controller Interrupt Status Register (ISR) (írható és) olvasható Az aktív megszakításkérő bemeneteket jelzi A bitek függetlenek a megszakítás engedélyezettségétől A szoftver megszakítások bitjei írhatóak is a generáláshoz Interrupt Pending Register (IPR) csak olvasható Az engedélyezett és aktív megszakításokat jelzi Az Interrupt Status Register és az Interrupt Enable Register bitenkénti ÉS kapcsolata Interrupt Enable Register (IER) írható és olvasható A megszakítás bemenetek engedélyezése vagy tiltása Interrupt Acknowledge Register (IAR) csak írható 1 beírásával törölhető az ISR adott bitje (nyugtázás) Gyors mód esetén a MicroBlaze hardveresen nyugtáz 13

AXI Interrupt Controller Set Interrupt Enables (SIE) csak írható 1 beírásával atomi módon beállíthatók az IER bitjei Clear Interrupt Enables (CIE) csak írható 1 beírásával atomi módon törölhetők az IER bitjei Interrupt Vector Register (IVR) csak olvasható A legnagyobb prioritású engedélyezett és aktív megszakítás bemenet sorszáma Master Enable Register (MER) írható és olvasható ME (0. bit): minden megszakítás tiltott (0) vagy egyedileg engedélyezhetőek a megszakítások (1) HIE (1. bit): az ISR hardver megszakítás bitek írhatóak teszt célból (0) vagy a hardver megszakítások engedélyezettek (1) Beállítás után csak reset hatására törlődik 14

AXI Interrupt Controller Interrupt Mode Register (IMR) írható és olvasható Ha engedélyezett a gyors megszakítás mód, akkor itt állítható be az egyes bemenetekre a normál (0) vagy a gyors (1) használat Interrupt Level Register (ILR) írható és olvasható Csak a beállított sorszámnál magasabb prioritású megszakítások jutnak érvényre Interrupt Vector Addr. Reg. (IVAR) írható és olvasható Minden megszakítás bemenethez és szoftver megszakításhoz tartozik egy ilyen regiszter, ha engedélyezett a gyors megszakítás mód Az egyedi megszakítás vektor címet tárolja 15

AXI Interrupt Controller Megszakítás vezérlők kaszkádosítása 16