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



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

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

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

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

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

A MiniRISC processzor

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

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

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

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

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

Az interrupt Benesóczky Zoltán 2004

INTEL 8085 gépi utasításkészlete

Assembly Rekurzív függvények, EXE, C programok. Iványi Péter

A SZÁMÍTÓGÉP FELÉPÍTÉSE.

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

Egyszerű RISC CPU tervezése

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

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

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Bevezetés az informatikába

Számítógépes alapismeretek

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

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Számítógép Architektúrák I-II-III.

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Mikrovezérlık története (nagyon) röviden

Assembly. Iványi Péter

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

A 6502 mikroprocesszor

1. Digitális integrált áramkörök

MISKOLCI EGYETEM VILLAMOSMÉRNÖKI INTÉZET AUTOMATIZÁLÁSI TANSZÉK

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

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

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

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

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

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

Jelfeldolgozás a közlekedésben

BELÉPTETİ RENDSZER TERVEZÉSE

Architektúra, megszakítási rendszerek

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

Hardverközeli programozás oktatása a DIY Calculator segítségével Teaching hardware programming with DIY Calculator

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

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

1. A számítógépek kialakulása:

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

HARDVERKÖZELI PROGRAMOZÁS1

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

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

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/12. (Personal computer - From Wikipedia, the free encyclopedia)

Assembly Programozás Rodek Lajos Diós Gábor

Közlekedés gépjárművek elektronikája, diagnosztikája. Mikroprocesszoros technika. Memóriák, címek, alapáramkörök. A programozás alapjai

A regiszterek az assembly programozás változói. A processzor az egyes mőveleteket kizárólag regiszterek közremőködésével tudja végrehajtani.

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

Hardverközeli programozás 1 1. gyakorlat. Kocsis Gergely

2016/08/31 02:45 1/6 Hardver alapok

Szegmentálás. Memória kezelési stratégia mely a felhasználó nézőpontját támogatja Például:

DDS alapú szinusz jelgenerátor fejlesztése

DSP architektúrák dspic30f család

Vezérlés és irányítástechnológia (Mikroprocesszoros irányítás)

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

INFORMATIKA MATEMATIKAI ALAPJAI

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

1. Fejezet: Számítógép rendszerek

Aktív zajcsökkentı rendszerek megvalósítása szenzorhálózattal

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

Gábor Dénes Főiskola Győr. Mikroszámítógépek. Előadás vázlat. 2004/2005 tanév 4. szemeszter. Készítette: Markó Imre 2006

2017/12/16 21:33 1/7 Hardver alapok

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.

Assembly. Iványi Péter

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.

7. Fejezet A processzor és a memória

Blaise Pascal ( )

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

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

PROGRAMOZHATÓ LOGIKAI VEZÉRLİK

Autóipari beágyazott rendszerek

FPGA áramkörök alkalmazásainak vizsgálata

Rakjunk össze számítógépet!

Az AVR ATmega128 mikrokontroller

Bevezetés az assembly nyelvbe

ARM Cortex magú 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.

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/15. (Personal computer - From Wikipedia, the free encyclopedia)

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

Operációs rendszerek MINB240. Bevitel-Kivitel. 6. előadás Input és Output. Perifériák csoportosításá, használat szerint

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

Mikrovezérlők Alkalmazástechnikája

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz

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

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Újrakonfigurálható eszközök

KIEGÉSZÍTİ AUTOMATIKA SZIKVÍZPALACKOZÓ BERENDEZÉSEKHEZ

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ő)

Processzorok Utasításszintű Kezelése tavasz

A jegyzetben használt ikonok

Az assembly nyelv sor-orientált nyelv, tehát minden sorba pontosan egy utasítás kerül. Egy sor mezőkből áll a következőképpen:

Bevezetés az informatikába

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

Átírás:

Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítógépek felépítése, mőködési módjai Mikroprocesszoros Rendszerek Felépítése

Buszrendszer CPU OPERATÍV TÁR µ processzor RAM ROM BUS Illesztı egységek I/O Interface 1. I/O Interface 2. I/O Interface n. Klaviatúra Monitor Perif. Egység n. Periféria egységek: Klaviatúra, Monitor, Printer, Egér, Szkenner, stb. Mérı perifériák, Ipari folyamatirányító rendszerek perifériái,.stb.

CÍM BUS A0 A1 A2 A15 BUS BUS Pld: Operatív tár Írás ADAT BUS CONTROL BUS Tápfeszültség D0 D1 D7 MR MW I/O R I/O W ACK CPU H 1 L 0 Cím érvényes Address CPU 1 0 Adat érvényes Data CPU Slave 1 0 1 0 MW ACK t [ ns ]

CPU CPU H 1 L 0 1 0 Cím érvényes Adat érvényes Address Data CPU Slave 1 0 1 0 MW ACK t [ ns ] BUSZ CIKLUS BUSZ ciklusok: Operatív tár olvasás Memory Read MR Operatív tár írás Memory Write MW I/O olvasás Memory Read IOR I/O írás Memory Read IOW Handshake jelpár: MW-ACK IT vektor beolvasás DMA ciklusok

Bináris Decimális Hexadecimális 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 0 1 1 0 1 1 1 183 B7 2 3 2 2 2 1 2 0 1 0 1 1 2 3 2 2 2 1 2 0 0 1 1 1 B 7 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 255 1 2 3. 9 0 FF 1 2 3. 9 10 A 11 B 12 C 13 D 14 E 15 F

Operatív tár Gépi szó hossza A byte egész számú többszöröse. 8, 16, 32, 64, 128 bites gépi szó. (Arithmetika) Címezhetı legkisebb egység Külön címmel rendelkezı (külön elérhetı memória regiszter. Pld. byte Operatív tár mérete Memóriaregiszterek száma byte-ban. RAM Random Access Memory ROM Read-Only Memory Technológia MOS-FET Dinamikus memória 0000 : 0001 : 0002 : 0003 : FFFF : 00 B7 3F A1 00 Pld: 64 Kbyte

Mikroprocesszor belsı felépítése Központi vezérlı egység Arithmetikai egység CPU fı elemei: Vezérlı egység: utasítás számláló (PC, IP), utasítás regiszter (IR), akkumulátor (ACC), vezérlı jelek (órajel, IT, stb.) ALU: aritmetikai és logikai mőveletek, feltétel vizsgálat Regiszterek: általános célú, státusz, címzés: szegmens, index, stb. belsı busz, memória címregiszter, memória adatregiszter

+1-1 ACCU. TEMP. REG. TÖMB MPX IR UTASÍTÁS belsõ feltételek ALU SP PC + belsõ vezérlés DEKÓDER & VEZÉRLÕ CLOCK FLAG R. RESET ADAT CÍM VEZ. OUT. VEZ. IN. ADATBUSZ CÍMBUSZ VEZÉRLÕBUSZ BUSZ Meghajtó interface

A µ processzoros rendszer regiszter modellje (részlet) Regisztertömb : A : 00 04 F : B : 00 C : 00 D : 00 E : 00 H : 00 L : 00 PC : 0200 0201 0202 SP : Addr : 20 00 Regisztermodell: A: Akkumulátor, B,C,D,E,H általános célú regiszterek, PC: utasítás számláló regiszter (IR), SP: Stack pointer,.. Vezérlı/ Utasítás dekóder LDA /3A/ További 2db byte Fontos!! 0200 : 0201 : 0202 : 0203 : 0204 : 0205 : 0206 : 0207 : 0208 : 2000 : 3000 : 4000 : FFFF : RAM térkép: LDA /3A/ Addr L /00/ Addr H /20/ ADD /87/ Addr L /00/ Addr H /30/ STA /32/ Addr L /00/ Addr H /40/ 04 05 -- Az utasítás felhozatala után a PC a soronkövetkezı utasítás elsı byte-jára mutat. --

A gépi kódú program Assembly nyelvő program:.. LDA 2000; ADD 3000; Fordítási folyamat gépi kódú program STA 4000; (compiler, linker) Utasításkészlet Adatmozgató utasítások Arithmetikai / Logikai utasítások Vezérlésátadó utasítások (feltétel nélküli és feltételes ugrás) Szubrutinhívás I/O utasítások Különleges utasítások (IT vezérlése, NOP..)

1. Utasítás: Utasítás felhozatal: PC=0200 Buszciklus MR, addr: 0200, data: 3A Buszciklus MR, addr: 0201, data: 00 Buszciklus MR, addr: 0202, data: 20 Utasítás dekódolás [ A < (2000) ] Végrehajtás: Buszciklus MR, addr: 2000, data: 04 PC=0203, Akkumulátor: 04 2. Utasítás: Utasítás felhozatal: PC=0203 Buszciklus MR, addr: 0203, data: 87 Buszciklus MR, addr: 0204, data: 00 Buszciklus MR, addr: 0205, data: 30 Utasítás dekódolás [ A = A + (3000) ] Végrehajtás: Buszciklus MR, addr: 3000, data: 05 ALU A = A + 05 PC=0206, Akkumulátor: 09 3. Utasítás: Utasítás felhozatal: PC=0206 Buszciklus MR, addr: 0206, data: 32 Buszciklus MR, addr: 0207, data: 00 Buszciklus MR, addr: 0208, data: 40 Utasítás dekódolás [ A > (4000) ] Végrehajtás: Buszciklus MW, addr: 2000, data: 04 PC=0206, Akkumulátor: 09 0200 : LDA /3A/ 0201 : Addr L /00/ 0202 : Addr H /20/ 0203 : ADD /87/ 0204 : Addr L /00/ 0205 : Addr H /30/ 0206 : STA /32/ 0207 : 0208 : 2000 : 3000 : 4000 : FFFF : RAM térkép: Addr L /00/ Addr H /40/ 04 05 09 -- 1. utasítás 2. utasítás 3. utasítás

Az ugrás (feltétel nélküli ugrás) utasítás végrehajtása 025A : 0280 : 0281 : 0282 : - Program kezdete JMP 00 50 JUMP utasítás 1. Utasítás: Utasítás felhozatal: PC=0280 Buszciklus MR, addr: 0280, data: JUMP Buszciklus MR, addr: 0281, data: 00 Buszciklus MR, addr: 0282, data: 50 PC=0283 Utasítás dekódolás [ PC < 5000 ] Végrehajtás: PC=5000 0283 :. 5000 : LDA /3A/ - Addr L /00/ Addr H /20/ Program vége Nem tároltuk azt az információt, hogy honnan ugrottunk az új címre!! Feltételes ugró utasítás

A feltételes ugrás utasítás végrehajtása A FLAG (állapotjelzı) szerepe: 0 1 F : S Z - AC - P - CY 027F : 0280 : 0281 : 0282 : 0283 : CMPA JIZ 00 50. S: Elıjel Z: Zéró AC: Kiegészítı átviteljelzı Auxiliary Carry Flag P: Paritásjelzı CY: Átviteljelzı Carry Flag Az utasításkészlet leírása meghatározza, hogy mely utasítások melyik FLAG-eket állítják. 5000 : JIZ Utasítás: Utasítás felhozatal: PC=0280 Buszciklus MR, addr: 0280, data: JIZ Buszciklus MR, addr: 0281, data: 00 Buszciklus MR, addr: 0282, data: 50 PC=0283 Utasítás dekódolás Ha igaz akkor [ PC < 5000 ] Végrehajtás: Ha Z=1 PC=5000 Ha Z=0 PC=0283 NEM VÁLTOZIK!

A STACK Szükségessége az Elméleti Számítástudomány Stack kezelı utasítások: PUSH, POP eredményeibıl következik. A stack (verem) a memóriában helyezkedik el, mérete és helye (kezdıcíme) a programból meghatározható. 9000 : - A stack kezdıcímét a 9001: F7 programban értékadó SP : 9003 9002 : D3 utasítással állítjuk be. 9003 : 9004 : - - B : D3 C : F7 Példa: PUSH BC Végrehajtás elıtt: SP=9003, B=D3, C=F7 SP=SP-1, B regiszter tartalmának beírása az op. tárba SP=SP-2, C regiszter tartalmának beírása az op. tárba Végrehajtás után: SP=9001, B=D3, C=F7, (9002)=D3, (9001)=F7

A Szubrutinhívó utasítás végrehajtása (CALL, RET utasítás pár) 025A : - Program Paraméterátadás: pld: y=f(x) ->hol található x Címkidolgozás: hol kezdıdik az alprogram Visszatérési lehetıség biztosítása >STACK kezdete 0280 : 0281 : 0282 : 0283 : CALL 00 50. CALL 5000 CALL Utasítás: Utasítás felhozatal: PC=0280 Buszciklus MR, addr: 0280, data: CALL Buszciklus MR, addr: 0281, data: 00 Buszciklus MR, addr: 0282, data: 50 PC=0283 Utasítás dekódolás Végrehajtás: PC -> Stack (Push jellegő mővelet) PC=5000 5000 : 503D : 503E : Szubrutin kezdete RET Program vége Szubrutin RET Utasítás: Utasítás felhozatal: PC=503D Buszciklus MR, addr: 503D, data: RET PC=503E Utasítás dekódolás Végrehajtás: PC <- Stack (Pop jellegő mővelet), PC=0283

ZH!!! Egy fıprogramhoz több szubrutin is tartozhat. Egy szubrutinon belül meghívhatunk egy másik szubrutint? Ebben az esetben STACK tartalma hogyan alakul? Elvileg végtelen számú szubrutin ágyazódhat egymásba?

Az Interrupt (A Program megszakítása)_1 µ processzor OPERATÍV TÁR IT ok: A Folyamatban rendkívüli esemény történt, azonnal reagálni kell, el kell zárni a gázcsapot. IRQ1 IT ok1 I/O Interface 1. Érzékelık: Beavatkozók: Túlnyomas érzékelı Mágnesszelep.... IPARI FOLYAMAT IRQ1: Interrupt request, (Megszakítás igény) jelentkezése. A BUS egyik Control vezetéke. IT Rutin1: Interrupt lekezelı rutin, amelynek haladéktalanul le kell futnia, az I/O interfacen lévı regiszter megfelelı bitjét 0-ra állítva (az OUT-put rendszer szervói segítségével) el kell zárnia a mágnes szelepet, majd vissza kell térni a fıprogramba, oda ahol a megszakítás elıtt a programvégrehajtás tartott.

Az Interrupt (A Program megszakítása)_2 Szükségessége Címkidolgozás: hol kezdıdik az IT kezelı alprogram Vezérlés: visszatérési lehetıség biztosítása >STACK Egymásba ágyazódó IT-k IT Prioritás rendszer kialakítása Az IT jelentkezése: Elıre nem tervezhetı idıpontban. ( A program futásához asszinkron.) Végrehajtás lépései: Az éppen végrehajtás alatt álló utasítást befejezni. A PC ekkor a soron következı utasításra mutat. Ezt az értéket (op.tár címet elmenteni a STACK-be. Címkidolgozás: Vezérlés: Visszatérés a fıprogramba. 025A : 0280 : 0281 : 0282 : 0283 : 5000 : 503D : 503E : - Fıprogram kezdete LDA /3A/ Addr L /00/ Addr H /20/ Fıprogram. vége IT Rutin1 kezdete RETURN IT Fıprogram IT Rutin1

Az Interrupt (A Program megszakítása)_3 (címkidolgozás, vezérlés) 0000 : IT UGRÁSI Programból állítható PC=5000 IT rutin1 kezdıcíme TÁBLA IT regiszter 00 IT vektor 42 Program PC Az IT ekkor jelentkezik, VEKTOR PC->STACK I/O Interface 1. IT Rutin1 kezdete IT Rutin1 PC<-STACK RETURN IT