Periféria kezelési módszerek. programozott megszakításos DMA-s - közvetlen szoftver ütemezés - lekérdezéses ütemezés

Hasonló dokumentumok
Az interrupt Benesóczky Zoltán 2004

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...

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

OPERÁCIÓS RENDSZEREK. Elmélet

BELÉPTETŐ RENDSZER TERVEZÉSE

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

Architektúra, megszakítási rendszerek

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

Digitális technika (VIMIAA01) Laboratórium 9

funkcionális elemek regiszter latch számláló shiftregiszter multiplexer dekóder komparátor összeadó ALU BCD/7szegmenses dekóder stb...

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Digitális technika (VIMIAA01) Laboratórium 9

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

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

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

Mikrorendszerek tervezése

A számítógép alapfelépítése

Programozási segédlet DS89C450 Fejlesztőpanelhez

Digitális technika VIMIAA hét

1. ábra: Perifériára való írás idődiagramja

Digitális technika (VIMIAA02) Laboratórium 12

Digitális technika (VIMIAA02) Laboratórium 12

Digitális rendszerek. Mikroarchitektúra szintje

DIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István

Dr. Oniga István DIGITÁLIS TECHNIKA 8

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

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

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

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

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

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

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

A számítógép fő részei

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

Karakteres LCD kijelző használata MiniRISC processzoron

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

A/D és D/A konverterek vezérlése számítógéppel

Az MSP430 mikrovezérlők digitális I/O programozása

BELÉPTETİ RENDSZER TERVEZÉSE - hardver

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

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

Digitális technika (VIMIAA02) Laboratórium 4

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

SZORGALMI FELADAT. 17. Oktober

Előadó: Nagy István (A65)

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

Bevitel-Kivitel. Bevitel-Kivitel és Perifériák. Algoritmusok és Alkalmazásaik Tanszék Budapest december 16.

Mérési jegyzőkönyv. az ötödik méréshez

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

A Számítógépek felépítése, mőködési módjai

Digitális technika (VIMIAA02) Laboratórium 4

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

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

8.3. AZ ASIC TESZTELÉSE

Informatika érettségi vizsga

Operációs rendszerek. Bemutatkozás

SZÁMÍTÓGÉPARCHITEKTÚRÁK

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

Programozható logikai vezérlő

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

Digitális Technika 2 házi feladat Dudás Márton

Multi-20 modul. Felhasználói dokumentáció 1.1. Készítette: Parrag László. Jóváhagyta: Rubin Informatikai Zrt.

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

Digitális technika VIMIAA01 9. hét

EB134 Komplex digitális áramkörök vizsgálata

1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat

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

SR mini PLC Modbus illesztő modul. Modul beállítása Bemeneti pontok kiosztása főmodul esetén Bemeneti pontok címkiosztása kiegészítő modul esetében

3.6. HAGYOMÁNYOS SZEKVENCIÁLIS FUNKCIONÁLIS EGYSÉGEK

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

Funkcionális áramkörök vizsgálata

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

_INVHU000_WriteReadParameter.cxf Frekvenciaváltók

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

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

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

Új kompakt X20 vezérlő integrált I/O pontokkal

A fealdatot két részre osztjuk: adatstruktúrára és vezérlőre

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.

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

A számítógép egységei

Digitális technika (VIMIAA01) Laboratórium 10

Nagy Gergely április 4.

Kiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez

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

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

1 done by: b+bme. Adja meg, hogy milyen ICW3 parancsot kell küldeni a MASTER illetve a SLAVE egységeknek!

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

Programozott soros szinkron adatátvitel

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

Számítógép fajtái. 1) személyi számítógép ( PC, Apple Macintosh) - asztali (desktop) - hordozható (laptop, notebook, palmtop)

Digitális technika II., 2009/2010 tavasz 1. vizsga A csoport

4. hét: Ideális és valódi építőelemek. Steiner Henriette Egészségügyi mérnök

A LOGSYS rendszer ismertetése

11.12 Menü 12: Küszöbdetektorok, változó-kiválasztók és a fékvezérlés funkciója

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

Digitális technika VIMIAA hét

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

Digitális technika II. - Ellenőrző feladatok

Átírás:

Periféria kezelési módszerek programozott megszakításos MA-s - közvetlen szoftver ütemezés - lekérdezéses ütemezés Programozott periféria kezelés Közvetlen szoftver ütemezés gyes perifériáknál nincs szükség szinkronizálásra mert vagy nincs mihez szinkronizálódni (pl: egy kijelzőt meghajtó regiszter, egyszerű bementi port), vagy a periféria egy művelet elindítása után a következő utasítás végrehajtására már biztosan elkészül (gyors A/ konverter). Az ilyen perifériákhoz a processzor tetszőleges időpontban fordulhat. 1

Lekérdezéses ütemezés Ha a periféria sebessége olyan, hogy egy perifériás művelet néhány utasítás végrehajtási időn belül fejeződik be, akkor a szinkronizálást státus figyeléssel célszerű megoldani. INÍTÁ TÁTU OLVAÁ RAY? n AATÁTVITL i Lassú periféria esetében sok várakozással jár, ami alatt a CPU nem végez érdemleges működést. zért csak akkor engedhető meg, ha CPU egyéb feladatait így is képes elvégezni. Az igényelt hardver tekintetében általában a lekérdezéses ütemezés a legolcsóbb megoldás. 2

Program megszakításos periféria kezelés Ha a periféria csak viszonylag hosszú idő vagy előre kiszámíthatatlan idő múlva lesz kész az újabb adatátvitelre, a lekérdezéses ütemezés feleslegesen foglalja a processzor idejét. zért ilyenkor interruptos periféria kezelést célszerű alkalmazni. A perifériához fordulást maga a periféria kezdeményezi egy logikai jellel a CPU vagy IT vezérlő interrupt kérő bemenetén. Az interruptot hardvertől függően az IT vonal szintje (szintérzékeny IT), vagy a jel valamely éle (élérzékeny IT) váltja ki. Az IT kezdeményezés hatására valamilyen mechanizmussal előbb-utóbb egy speciális szubrutinra (interrupt rutin) adódik a vezérlés, ami elvégzi a periféria kezelését. Mivel a CPU és a periféria szinkronizálása automatikus, nem kell feleslegesen státusz figyeléssel tölteni az időt. Az interruptos kezelés a program áttekinthetőségét is növeli. Mivel az IT rutinban nem a periféria kezelését szolgáló, ugyanakkor mindig végrehajtandó feladatok is vannak (regiszter mentés, regiszter visszaállítás, stack kezelés), túl sűrűn érkező IT-k szintén leronthatják a CPU kihasználtságát. 3

IT-s periféria kezelést akkor célszerű alkalmazni, ha: a CPU sebessége elegendő a periféria kezelésére és az interruptok várhatóan nem túl sűrűn jönnek, közöttük a CPU elég sok utasítást képes végrehajtani, vagy ha az interrupt bekövetkezésének időpontja véletlenszerű, de ha bekövetkezik, akkor gyorsan ki kell szolgálni, az interrupt alatt elvégzendő feladatok nem vesznek túl sok időt igénybe, vagy ha igen, akkor azt egyéb IT is megszakíthatja (többszintű IT rendszer). az interruptos szervezés a program strukturáltságát, áttekinthetőségét szolgálja. 4

A közvetlen memória hozzáférés (MA) Ha a processzor sebessége nem elegendő az adatátvitel lebonyolítására a periféria és memória között, MA-s kezelést kell alkalmazni. Az ún. MA vezérlő segítségével a processzort kikerülve, közvetlen adatátvitel lehetséges a memória és a periféria között. zt nevezik közvetlen memória hozzáférésnek (irect Memory Access). A MA átvitel általában gyorsabb, mintha a CPU végezné (nem kell közben a memóriából utasításokat olvasni és nem kell az adatot a CPUn keresztül áramoltatni. A MA-s kezelést tipikusan nagy sebességű, blokkos adatátvitelt igénylő perifériáknál alkalmazzák (winchester, nagysbességű soros adatátvitel stb). MA-s periféria kezelés MC Programozott adatátvitel adat adat MMÓRIA adat PRIFÉRIA MMÓRIA CPU PRIFÉRIA a.) b.) 5

Periféria illesztés A perifériák biztosítják a processzor és a környezet közötti kapcsolatot. A periféria illesztő áramkör a periféria kommunikációs felületét illeszti a mikroprocesszor buszára mikroprocesszoros busz periféria felülete környezet CPU periféria illesztõ periféria Periféria regiszterek tipusai: üzemmód regiszter (a periféria használati jellemzőinek (pl. soros vonal sebessége) beállítása parancs regiszter (utasítás a perifériának, pl. A/ konverter indítása) státus regiszter (a periféria állapota pl. A/ konverter kész) adat regiszter (adat a perifériának vagy a perifériától pl. A/ konvertertől jövő adat, a bementi feszültséggel arányos bináris szám) 6

A periféria címdekóder felépítése A periféria kijelölése (PL) és a periférián belüli címek (PL BA+i ) kijelölésének elve: cím busz n n-k KOMP periféria bázis címe (BA) n-k = PL Belsõ regiszter kiválasztó jelek: k N1 Y0 Y1 0.. K k-1 PL BA+0 PL BA+1 IOR N2 Y k 2-1 PL k BA+2-1 Periféria cím dekóder Olvasás engedélyező és beíró impulzusok előállítása: Periféria cím dekóder cím busz n n-k KOMP periféria bázis címe (BA) n-k = k PL N1 Y0 Y1 0.. K k-1 /R BA+0 /R BA+1 olvasás engedélyezõ jelek /IOR /R N2 N3 Y k 2-1 /R k BA+2-1 k PL N1 Y0 Y1 0.. K k-1 /WR BA+0 /WR BA+1 beíró jelek /IOR /WR N2 N3 Y k 2-1 /WR k BA+2-1 7

Tipikus periféria illesztő felépítése 2 olvasható és 2 írható regiszter, adat busz leválasztással (nem IT-os) P R I F É R I A TÁTU AAT IN PARANC/VZÉRLÉ AAT OUT -R -IOR -IOR RG RG 0-7 IR B U F n A1.. A7 PL = K O M P -R0 0 1 1 K 2 kezdõ cím A0 -R1 -WR0 -WR1 PL 0 1 1 K 2 -IOR -WR -IOWR -IOR Programozási felület regiszter címe funkciója az egyes bitek szerepe írható (W), olvasható (R), vagy mindkettő (R/W) kezdő cím parancs regiszter x W kezdő cím státus regiszter x R kezdő cím+1 adat regiszter x R kezdő cím+1 adat regiszter x W 8

2 olvasható és 2 írható regiszter, adat busz leválasztás nélkül P R I F É R I A TÁTU AAT IN PARANC/VZÉRLÉ AAT OUT RG RG A1.. A7 PL = K O M P -R0 0 1 1 K 2 kezdõ cím A0 -R1 -WR0 -WR1 PL 0 1 1 K 2 -IOR -IOWR -R -IOR -WR -IOR 9

Olvasás a státus regiszterből A periféria bázis címe C0H, státus reg:c0h IN A,(C0H) utasítás hatása P R I F É R I A TÁTU=40H AAT IN PARANC/VZÉRLÉ AAT OUT -IOR RG RG 40H -R0 PL 0 1 1 K 2 = K A7-A1 1100 000 O A7-A0 0 C0H M P -R1 -WR0 -WR1 PL 0 1 1 K 2 -IOR -IOWR A0 -R -IOR -WR -IOR A7-A0 C0H PL IOR R, IOR R0 40H 10

Írás az adat regiszterbe A periféria bázis címe C0H, adat reg: C1H L A,#55H OUT (C1H,A P R I F É R I A TÁTU AAT IN PARANC/VZÉRLÉ AAT=55H -IOR RG RG 55H -R0 PL 0 1 1 K 2 = K A7-A1 1100 000 O A7-A0 1 C1H M P -R1 -WR0 -WR1 PL 0 1 1 K 2 -IOR -IOWR A0 -R -IOR -WR -IOR A7-A0 C1H IOR WR, IOWR WR1 55H AAT_RG 55H 11

Programozott kezelés (program részlet Z80 utasításokkal): A periféria parancs regiszterébe 1-et kell írni az indításhoz. A státus regiszter 7. bitjén jelzi, hogy kész van. BA equ C0H PAR_RG equ BA TAT_RG equ BA ATA_IN equ BA+1 TART equ 01H RAY equ 80H... L A,#TART OUT (PAR_RG),A ;indítás loop: IN A,(TAT_RG) AN A,#RAY ;periféria kész figyelés JZ loop IN A,(ATA_IN) ;adat beolvasás... 12

MMÓRIÁBA ÁGYAZOTT PRIFÉRIA ILLZTÉ A memória egy területét IO területnek tartjuk fenn, erre a címtartományra nem szabad memóriát illeszteni. A periféria memória referenciás utasításokkal érhető el. -R -MMR 0-k A10 A15 -MMR IR B U F n & IO P R I F É R I A TÁTU AAT IN PARANC/VZÉRLÉ AAT OUT PL & = A1 K. kezdõ O cím A9 M P -R0 0 1 1 K 2 A0 RG RG -R1 -WR0 -WR1 PL 0 1 -MMWR 1 K 2 -MMR -WR -MMR 13

Interruptos periféria IT kérő logikája bben a megvalósításban perifériában az eseményre egy impulzust kell generálni. Az impulzus billenti be az IT kérő flip-floppot és okoz IT-ot, ha a parancs regiszter ITN bitjével engedélyezve van. megvalósításban az IT rutinban kiadott státus regiszter olvasás törli az IT kérést. A státus regiszterből kiolvasható az IT kérő flip-flop állapota és az ITN bit. A up IT vonalára több periféria csatlakozhat. A perifériáknak open collectorosan kell meghajtani az IT vonalat. Az IT kérést kiszolgálásig fenn kell tartatni. R0 1 Ut & O.C. IT ITN ITR Cl Cl Pr 0 RT WR0 0 R0 IT ok (impulzus) R0 14

Adott egy mikroprocesszoros busz, melynek jelei: (adat busz), A15-A0 (címbusz), -R (alacsony aktív olvasás engedélyezés), -WR (alacsony aktív beíró impulzus, az adat a jel hátsó élénél stabil), -MR (memóriához fordulás jelzése, alacsony aktív, amíg a jel aktív, a memória cím stabil, -IOR (perifériához fordulás jelzése, alacsony aktív, amíg a jel aktív, a periféria cím stabil), -IR, alacsony aktív interrupt kérő jel, -RT, alacsony aktív alaphelyzetbe hozó jel, YCLK (rendszer órajel). A processzor 256 IO címmel rendelkezik (A7-A0). Illesszen a fenti buszra egy szinkron soros adó egységet. Az egység az AAT regiszterébe írt adatot az írást követően (annak hatására) sorosan kiadja az OUT kimenetén egy CLK órajellel együtt, amelynek felfutó élénél változik az adat. Az adás előtt és után az CLK órajel 0 értékű, az OUT kimenet pedig tetszőleges. A periféria a teljes 8 bit kiküldése után jelez a státusregiszter RY bitjén és IT-ot kér, ha engedélyezett (parancsregiszter ITN bitje). (15p) Az alábbiakban részekre bontottuk a feladatot. Az összes részfeladat megoldása után áll elő a teljes feladatot megvalósító interfész. Az egyes részeknél azok részletes funkcionális blokkvázlatát kérjük, egymástól jól elhatároltan lerajzolni! a. Rajzolja le a periféria cím és utasítás dekóderét, továbbá a parancsregisztert (ITN), az adatregisztert, a státuszregisztert és a beírásukat/kiolvasásukat lehetővé tevő logikát! Az adatregiszter az A0H címen, a parancsregiszter az A1H, a státuszregiszter az A2H címen legyen. A parancsregiszter bitkiosztása: ITN: 0. Az állapot regiszterből legyen kiolvasható az RY bit (1 bit) és az ITR = (ITN & RY) bit (0 bit) értéke! (6p) b. Rajzolja le a teljes interrupt kérő logikát, mely az RY bebillenésekor interruptot kér! Az interrupt kérés programból legyen tiltható (ITN bit) és RT hatására is tiltódjon le. Az interrupt kérő flip-flop (RY bit) törlődjön a státuszregiszter olvasása után és RT hatására. (4p) c. Rajzolja le a fent specifikált működést megvalósító soros adó egységet! (4p) d. Adja meg az egység programozási felületét, az alább megadott táblázatnak megfelelő formában! (1p) regiszter címe (hexa) funkciója bitek szerepe 7 6 5 4 3 2 1 0 tipusa R (olvasható),w (irh.), R/W (mindkettő) 15

Részletes funkcionális blokkvázlat A. A7-A2 KOMP = 1010 00 HR O OUT A1 A0 /IOR /WRA0 /WR N2 K 0 1 /WR 1 0 /R N1 2 7-0 RG 0 1 /WRA0 /WRA1 /RA2 ITN 0 Cl /WRA1 RT C. IN /L/ CLK 7-0 TRT /CLK /WRA0 Pr Cl J K 0 CLK CLK RY RT Cl Cl CLK Y7 K Z Pr CLK 0 /RA2 ITR /CLK N /RA2 RY OC. IT B. ITN ITR RY Működést bemutató idődiagram: CLK /WRA0 TRT /L/ HR CLK Z Y7 PR RY/IT -RA2 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 0 16

Memória illesztés Memória térképen reprezentáljuk a memóriák elhelyezkedését a címtartományban: 16kbyte ROM 16kbyte RAM 16kbyte RAM 16kbyte RAM A15 A14 0 0 0 1 1 0 1 1 A legfelső címbitek alapján állítjuk elő az egyes memória chipek engedélyező jelét (-C). gyszerre csak egy memória kaphat engedélyezést. Az alsó címbitek jelölik ki a kiválasztott memória egy rekeszét. A13-A0 -MMR A13-A0 A13-A0 A13-A0 A13-A0 O R 1. RAM R 2. RAM R 3. RAM ROM C C WR C WR C WR 0 1 2 3 K B A -MMWR A14 A15 17

gyszerű lapozásos memória illesztése (tömbkapcsolás) 16kbyte ROM 16kbyte RAM 32 kbyte RAM 32 kbyte RAM 0. lap 1. lap P=0 P=1 A15 A14 0 0 0 1 1 x A lapozós rész megvalósítása 2db 32kbyte-os chippel A15-A0 A13-A0 A13-A0 A14-A0 A14-A0 -R ROM 1. RAM 2. RAM 3. RAM O R R R 16k 16k 32k 32k C C WR C WR C WR -CO -CA0 -CA1 -CA2 -WR -MMR 0 1 2 3 K B A -MMR P -R0 A15 A14 WR0 0 A lapozós rész megvalósítása 1db 64kbyte-os chippel A15-A0 A13-A0 A13-A0 A14-A0 A15 -R ROM 1. RAM 2. RAM O R R 16k 16k 64k C C WR C WR -CO -CA0 -CA1 -MMR 0 1 2 3 K B A -MMR A15 P -R0 A15 A14 WR0 0 18

TÖRÉPONTI GYÉG Megadható címről olvasáskor NMI-t kér és trigger jelet generál reg A15-A0 16 16 komp -WRal TRIGGR = -NMI -MR reg A7 A6 A5 A4 A3 A2 -WR -IOR 0 L TN A1 A0 -IOWR Cl -WRen -RT -WRah -WRen -WRal -WRah A1 A0 A1 A0 19

ORO A/ + FZÜLTÉG HATÁR FIGYLŐ Az A/ TRT bemenetén levő jel felfutó éle indítja az átalakítást, majd az ezt követő 8 órajel alatt (f=10khz) az kimenetén jelenik meg az adat bitsorosan, az órajel lefutó élével szinkronban, 2-es komplemens kódban. Az átalakítás végét a RY vonal jelzi. A feladat, az A/ felhasználásával egy programozható feszültség határ figyelő megtervezése. Az áramkör - programból való engedélyezés után (N) - 1 msec-onként ciklikusan elindítja a konverziót. IT-t kér, ha az átalakított adat egy 8 biten programozható VL értéket meghalad. gyszerű IT rendszert tételezünk fel. Rendelkezésre áll egy 10 khz-es órajel. A periféria kezdőcíme A0H. U CLK TRT Ain A/ RY MB 7 6 5 4 3 2 1 0 U CLK TRT Ain A/ RY I n H R 7.. 0 N7-N0 B U F n TRT b.) 3-0 BC száml. RCO Cl N CLK10kHz a.) R0 N7 K A0 O B0 M A6 P B6 A7 B7 A>B H7-H0 H7 R G J HT WR0 0 c.) 0 K Cl R1 A7-A1 K O M 1010000 7 P 7 = RT R0 d.) 0 WR1 HTCL ITN Cl O.C. IT A0 IOR WR 1 y0 2 Y1 K 3 WR0 WR1 1 RT N WR1 Cl R 1 y0 2 Y1 K 3 R0 R1 f.) RT e.) 20