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

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

Az interrupt Benesóczky Zoltán 2004

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

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

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

Architektúra, megszakítási rendszerek

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

Digitális technika (VIMIAA02) Laboratórium 12

Digitális technika (VIMIAA02) Laboratórium 12

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

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

A MiniRISC processzor

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

Digitális technika (VIMIAA01) Laboratórium 9

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

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

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

Karakteres LCD kijelző használata MiniRISC processzoron

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

Digitális technika VIMIAA01 9. hét

Programozási segédlet DS89C450 Fejlesztőpanelhez

Mikrorendszerek tervezése

Bevezetés az informatikába

Digitális technika (VIMIAA01) Laboratórium 9

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

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

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

Periféria illesztési példák áramkörön belüli buszra (kiegészítés az előadás vázlathoz) Benesóczky Zoltán (2017)

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

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

Egyszerű RISC CPU tervezése

Assembly. Iványi Péter

Digitális technika (VIMIAA01) Laboratórium 11

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

Digitális technika VIMIAA hét

Mérési utasítás Mikrokontroller programozás 2.sz. mérés

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 10

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

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

loop() Referencia:

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 II., 2009/2010 tavasz 1. vizsga A csoport

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

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

Digitális technika (VIMIAA01) Laboratórium 11

A MiniRISC processzor

Digitális technika VIMIAA01

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

Digitális technika VIMIAA01

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

Whead 3.0. Szélsebesség és széliránymérő illesztő távadó. Előzetes

A MiniRISC processzor

Digitális technika VIMIAA02 9. hét

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

Programozott soros szinkron adatátvitel

Az vevő- és vezérlőáramkör programja

Nagy Gergely április 4.

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

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

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

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

Labor gyakorlat Mikrovezérlők

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.

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

OPERÁCIÓS RENDSZEREK. Elmélet

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

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.

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

Digitális technika VIMIAA01

Digitális technika VIMIAA01

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

assume CS:Code, DS:Data, SS:Stack Start: xor di, di mov si, 1 Torles int 10h mov dl, 40 xor bh, bh mov ah, 02h Kesleltet int 16h

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

Labor gyakorlat Mikrovezérlők

Az AVR ATmega128 mikrokontroller

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Mikrorendszerek tervezése

Silabs STK3700, Simplicity Studio laborgyakorlat

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

Adatok ábrázolása, adattípusok

BELÉPTETŐ RENDSZER TERVEZÉSE

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

Labor 2 Mikrovezérlők

A 32 bites x86-os architektúra regiszterei

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika VIMIAA01

Digitális technika VIMIAA01

Digitális technika (VIMIAA01) Laboratórium 8

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

Billentyűzet. Csatlakozók: A billentyűzetet kétféle csatlakozóval szerelhetik. 5 pólusú DIN (AT vagy XT billentyűzet csatlakozó),

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

Az integrált áramkörök kimenetének kialakítása

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

Mikrorendszerek tervezése

Dr. Oniga István DIGITÁLIS TECHNIKA 9

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 tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

Digitális technika (VIMIAA02) Laboratórium 8

Átírás:

Informatika alapjai-6 A számítógép felépítése 1/14 A számítógép alapfelépítése Nevezzük számítógépnek a következő kétféle elrendezést: A: Harvard struktúra B: Neumann struktúra A kétféle elrendezés alapvetően egyformán működik: a CPU (Central Processing Unit = központi egység) - általában sorban egymás után - előveszi az utasításokat a program memóriából és végrehajtja azokat az utasítás végrehajtása alapvetően háromféle lehet: o az adatmemóriában lévő adatokat manipulálja o az utasítások végrehajtásának sorrendjét módosítja o adatot hoz be a környezetből, vagy adatot visz ki. A kétfajta elrendezés néhány tulajdonsága különbözik: Legfontosabb a Neumann János által megfogalmazott struktúrának az a tulajdonsága, hogy a program és az adatok ugyanabban a memóriában vannak, így a gép képes arra, hogy saját programját generálja, majd futtassa az első fázisban a program adat, melyet az akkor futó program, az úgynevezett fordító hoz létre, általában egy forrás szövegből, amit a programozó írt meg. Harvard struktúrában a program- és adatkimemória szervezése különböző lehet

Informatika alapjai-6 A számítógép felépítése 2/14 a Harvard struktúrából adódik egy gyorsítási lehetőség: mialatt egy utasítás végrehajtása folyik, elő lehet venni a következő utasítást. Ezt pipe-line szervezésnek nevezik. Megjegyezzük, hogy Neumann struktúrájú számítógépekben is sokféle működés gyorsító technikát alkalmaznak például pipe line-t is. A számítástechnikában mindkét féle elrendezésre számos példát találunk: Neumann struktúrájúak az úgynevezett univerzális számítógépek, például a PC amelyet közismerten alkalmaznak saját programjának fejlesztésére is. A mikrokontrollerek egy része például a AVR, PIC Harvard architektúrájúak. A további részek a MiniRISC_short jegyzetben folytatódnak. processzor felépítése működése, utasítás végrehajtás (FETCH, DECODE, EXECUTE) a konkrét utasítás készletet nem kell tudni, de az utasítás típusokat igen és példát is egy-egy típusra (adatmozgató, aritmetikai, logikai, shiftelő-rotáló, vezérlés átadó) az ismertetett címzési módokat ismerni kell, melyik mit jelent (immediate, direkt, regiszter, indirekt)

Mintaprogramok Két szám összeadása: Informatika alapjai-6 A számítógép felépítése 3/14 DEF GPIOA_DO 0xa0 DEF GPIOA_DIR 0xa2 ; adatregiszter címe ;irányregiszter címe CODE ; Programkód szegmens org 0x0; ; Kezdocím = 0 ;*********************************************** ;* A bemeneti adatok beolvasása * ;*********************************************** start: mov r0, #0x4a ;regiszterek feltöltése mov r1, #0x15 add r1, r0 ;összeadás mov r0, #GPIOA_DO mov (r0),r1 ;kiiírás a be/kimeneti periféria adat regiszterébe mov r0, #GPIOA_DIR mov r2, #0xff ;az irányregiszterbe 1-et kell írni a kimenetkén használandó bitekbe mov (r0),r2 loop: jmp loop ;a be/kimeneti periféria beállítása kimenetként, ;ekkor jelenik meg az adat a GPIOA 8 bites kimenetén ;végtelen ciklus (önmagára ugrás, a program demo, nincs több feladata)

Informatika alapjai-6 A számítógép felépítése 4/14 Memória másoló program: DEF mem1 0x00 DEF mem2 0x10 DEF len 0x08 ;másolandó terület címe ;célterület címe ;adatok száma CODE ORG 0x00 start: jsr mem_ini ;memória kezdeti feltöltése mov r0,#mem1 mov r1,#mem2 mov r2,#len loop: mov r3, (r0) ;adatmozgatás mov (r1),r3 add r0, #1 ;forrás cím növelés add r1, #1 ;cél cím növelés sub r2,#1 ;ciklus számláló csökkentés jnz loop ;vissza, amíg a ciklus számláló nem 0 end: jmp end ;memória inicializáló szubrutin mem_ini: mov r0,#mem1 mov r1,#mem2 mov r2,#len mov r3, #1 mov r4, #0 ini_loop: mov (r0), r3 ;mem1 feltöltése növekvő értékekkel add r0,#1 ;mem1 cím növelés add r3, #1 ;érték növelés mov (r1), r4 ;mem2 feltöltése 0-val add r1,#1 ;mem2 cím növelés sub r2, #1 ;ciklus számláló csökkentés jnz ini_loop ;vissza, amíg a ciklus számláló nem 0 rts ;visszatérés szubrutinból

Informatika alapjai-6 A számítógép felépítése 5/14 A perifériák adat RD WR CS cím belsõ buszra csatlakozás ADAT REGISZTER(EK) ÁLLAPOT REGISZTER PARANCS REGISZTER(EK) ÜZEMMÓD REGISZTER(EK) konkrét periféria funkciót megvalósító egység külvilághoz csatlakozó jelek Egy periféria 4 fajta regiszterrel rendelkezhet, melyek írása, olvasása a RAM-hoz hasonló vezérlő jelekkel történik. Üzemmód regiszter: A periféria működési módjának beállítására szolgál. Egy-egy periféria egy adott feladatcsoport megoldását teszi lehetővé konfigurálható üzemmódok segítségével (pl. egy timer egységgel időzítési, számlálási, impulzus generálási feladatok oldhatók meg). Parancs regiszter: A periféria valamely működését lehet vele kezdeményezni. Pl. A/D konverzió indítása. Sokszor az üzemmód és parancs reigsztert összevonják és vezérlő regiszternek nevezik. Állapot (státus) regiszter: A periféria állapotáról ad informáziókat. Az állapotregiszter bitjei ún. megszakítást is kérhetnek, ha az engedélyezett.

Informatika alapjai-6 A számítógép felépítése 6/14 Adat regiszter: Ide kell beírni itt lehet kiolvasni az adatot. Periféria kezelési módszerek A perifériák egy része jelzést ad, ha elkészült a feladattal (új adat keletkezett vagy új adat fogadására kész). A jelzés észrevételére és az adat kezelésére 3 féle alapmódszer létezik. Hogy ezek közül melyiket célszerű alkalmazni, az a periféria és a CPU relatív sebességétől függ. 3 kategóriába sorolhatjuk a perifériákat: a. A CPU sebességénél gyorsabb (bemeneti periféria esetén a CPU nem képes elvenni az adatokat olyan ütemben, amelyben azok termelődnek ill. kimeneti periféria esetén a CPU nem képes olyan ütemben termelni az adatokat, amely ütemben szükség lenne azokra.) b. A CPU képes az adatokat megfelelő sebességgel elvenni ill. termelni, de két adat elvétele ill. termelése között csak annyi idő van, hogy nem képes sok (pl. több mint 50) utasítás végrehajtására. c. A CPU képes az adatokat megfelelő sebességgel elvenni ill. termelni, sőt két adat elvétele ill. termelése között annyi idő van, hogy sok utasítást képes végrehajtani.

Informatika alapjai-6 A számítógép felépítése 7/14 DMA-s periféria kezelés d. Az a. esetben célhardver, DMA vezérlő szükséges a periféria kezelésére. e. Ez egy speciális periféria, amely ideiglenesen adatmozgatás céljából átveszi a buszmaster szerepét és a CPU megkerülésével képes elvégezni az adatmozgatást a periféria és a memória kijelölhető része között. f. Az egyszerű uc-kben ritka, nem foglalkozunk vele részletesen. DMC MEMÓRIA adat a DMC temporary regisztere PERIFÉRIA

Informatika alapjai-6 A számítógép felépítése 8/14 Programozott lekérdezéses periféria kezelés A b. esetben CPU a periféria státus regiszterét figyelve veheti észre, hogy a perifériának kiszolgálási igénye van. Mivel a periféria olyan sebességgel termeli az adatot, hogy a státus figyelő ciklusban nem tölt sok időt a CPU, így nem romlik a kihasználtsága. INDÍTÁS STÁTUS OLVASÁS READY? n ADATÁTVITEL i

Informatika alapjai-6 A számítógép felépítése 9/14 Interruptos periféria kezelés A c. esetben az a célszerű, ha a periféria aktívan jelzi a CPU-nek a kiszolgálási igényét, mert pl. programozott lekérdezésnél feleslegesen sok időt töltene a lekérdezési ciklusban. Ezt interrupt (IT) kéréssel teheti meg. Az IT hatása: A CPU a következő utasítás címét a stack-re menti. Többnyire letiltja a további IT-ket. Elugrik az IT rutin elejére. Végrehajtaja az IT rutin utasításait. Az IT rutin utolsó utasítása RETI, aminek hatására előveszi a stak-ről az oda mentett címet és ennek alapján visszaugrik a megszakított program következő utasítására. Az IT rutin feladata a periféria jelzés hatására az IT rutinban gyorsan elvégezni a feladatok időkritikus részét (pl. adat elvétele). A többi kapcsolódó (nem időkritikus) feladatot a főprogramra kell hagyni.

Informatika alapjai-6 A számítógép felépítése 10/14 Az IT rutin címéne meghatározása, IT rendszerek Egyszerű IT rendszer: Minden IT rutin ugyanott kezdődik. Az IT kérő periféria beazonosítása a státusregiszterek lekérdezésével történik ITi FUTÓ PROGRAM UTASÍTÁS i UTASÍTÁS i+1 közös IT rutin: REGISZTER MENTÉSEK STÁTUS 1 OLVASÁS READY 1? i i CALL Kiszolgáló rutin 1 STÁTUS i OLVASÁS READY i? i i CALL Kiszolgáló rutin i REGISZTER MENTÉSEK RETI

Informatika alapjai-6 A számítógép felépítése 11/14 MiniRISC_short jegyzetből: Perifériák közül basic IO (GPIO) regisztereinek funkciója: o programozható be/kimenet o irányregiszterrel állítható be a bitek iránya o kimeneti adatregiszterbe írandó a kimeneti adat (az irányt kimenetbe kell állítani, mert csak akkor jelenik meg az adatvezetékeken) o bemeneti adatregiszterből olvasható be a port adatvezetékein megjelenő logikai érték (bemenet esetén a kivülről rátett adat, kimenet esetén a kimeneti adatregiszter tartalma) USRT funkciója o kétirányú szinkron soros port o órajel ütemezi az adatátvitelt o a kimenet adatbiteket időben sorosan adja ki a kimenetén (TX), az órajellel szinkronban o a bemeneti adatbiteket időben sorosan veiszi a bemenetén (RX), az órajellel szinkronban o a státus regiszter jelzi, ha a bemeneti regiszterbe adat jött ill. ha a kimeneti regiszterben van hely újabb adatnak

Informatika alapjai-6 A számítógép felépítése 12/14 Mintaprogramok USRT periféria programozott kezelése és kimeneti port kezelés. A program programozott státus lekérdezéssel vár egy adat érkezésére a USRT-be, azt kiírja a LED kimetei port adatregiszterébe, és egy! karaktert küld a PC-nek. DEF UC 0x88 ; USRT kontroll regiszter (csak írható) DEF US 0x89 ; USRT FIFO státusz regiszter (csak olvasható) DEF UIE 0x8A ; USRT megszakítás eng. reg. (írható/olvasható) DEF UD 0x8B ; USRT adatregiszter (írható/olvasható) DEF LED 0x80 ; LED-ek (írható/olvasható) DEF UC_SET 0x0f DEF RXNE 0x04 DEF TXNF 0x02 ;FIFIO-k törlése, adás és vétel engedélyezés org 0x00 start: mov r0, #UC_SET mov UC, r0 loop: jsr Receive mov LED, r1 mov r1, #'!' jsr Send jmp loop ;FIFIO-k törlése, adás és vétel engedélyezés ;várakozás bejövő adatra ;adat kiírása a LED-ekre ;! karakter kiküldése az USRT-n a PC-nek ;egy karakter kiküldése az USRT-n ;bemenet r1, a küldendő adat Send: mov r0, US ;státus olvasás and r0, #TXNF ;adás pufferben van még hely tesztelése jz Send ;vissza, ha nincs hely mov UD, r1 ;karakter küldése, ha van hely rts Receive: mov r0, US and r0, #RXNE jz Receive mov r1, UD rts ;státus olvasás ;vételi pufferben van adat tesztelése ;vissza, ha nincs adat ;adat beolvasása, ha van adat

Informatika alapjai-6 A számítógép felépítése 13/14 USRT interruptos kezelése. A program nyomógomb megnyomásra vár és ekkor interruptos periféria kezeléssel kiírja az adatmemóriában eltárolt stringet az USRT segítségével a PC-be. DEF BT 0x84 ; Nyomógomb adatregiszter (csak olvasható) DEF BTIE 0x85 ; Nyomógomb megszakítás eng. regiszter (írható/olvasható) DEF BTIF 0x86 ; Nyomógomb megszakítás flag regiszter (olvasható és a bit 1 beírásával törölhető) DEF UC 0x88 ; USRT kontroll regiszter (csak írható) DEF US 0x89 ; USRT FIFO státusz regiszter (csak olvasható) DEF UIE 0x8A ; USRT megszakítás eng. reg. (írható/olvasható) DEF UD 0x8B ; USRT adatregiszter (írható/olvasható) DEF UC_SET 0x05 DEF TXNF 0x02 DEF BT0 0x01 DEF CR 0x0d DEF LF 0x0a ;kocsi vissza ;soremelés data string: db "Hello!",0x0d,0x0a,0 code org 0 jmp Start jmp IT Start: mov r0, #UC_SET mov UC, r0 sti mov r0, BT and r0, #BT0 Loop: jsr WaitBT0 mov r10, #string mov r13, #TXNF mov UIE, r0 jmp Loop WaitBT0: mov r1, BT and r1, #BT0 mov r2, r1 xor r0, #BT0 and r0, r1 mov r0, r2 jz WaitBT0 rts ;adat memória ;kód memória ;RESET belépési pont ;Interruptok belépési címe (egyszerű IT rendszer) ;minden IT-nek ugyanaz a belépési címe ;USRT adás FIFO törlése, adás engedélyezése ;IT engedélyezése a processzorban ;várakozás BT0 megnyomására ;string kezdőcíme az IT rutinnak ;USRT adás FIFO nincs tele IT engedélyezése ;várakozás BT0 megnyomására ;aktuális nyomógom értéke ;aktuális nyomógomb mentése ;régi nyomógomb invertálása ;lenyomás, ha régi nem lenyomott és új lenyomott ;régi = aktuális ;vissza, ha nem volt lenyomás ;visszatérés szubrutinból

Informatika alapjai-6 A számítógép felépítése 14/14 ;minden IT-ben kiírja az r10-ben levő címről a string következő karakterét ;amíg a 0x00-át el nem éri. Akkor letiltja saját adás IT-jét IT: mov r11, (r10) ;string aktuális karaktere add r10, #1 ;cím növelése (következő karakter címe) and r11, r11 jz IT_tilt ;ha az adat 0, akkor vége mov UD, r11 ;egyébként adat az USRT-be jmp IT_end IT_tilt: mov r12, #0x00 mov UIE, r12 ;adás IT- tiltása IT_end: rti ;visszatérés IT-ből