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

Slides:



Advertisements
Hasonló előadás
Alaplap.
Advertisements

1 Számítógépek felépítése 9. előadás I/O rendszerek.
Rendszertervezés Hardver ismeretek.
A számítógép felépítése
PLC alapismeretek.
Memória.
Neumann-elvek A számítógép legyen teljesen elektronikus, külön vezérlő és végrehajtó egységgel. Kettes számrendszert használjon. Az adatok és a programok.
A mikroprocesszor 1. rész.
Számítógépek felépítése sínrendszer, megszakítás
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
A számítógép alapegységei
A hardver és a személyi számítógép konfigurációja
A verem működése fpga-n
a számítógép kézzelfogható részei.
Alapfogalmak Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Információ:
Központi feldolgozó egység (CPU)
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
PIC processzor és környezete
CISC - RISC processzor jellemzők
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
A PLC-s vezérlés előnyei és alkalmazásai (Mitsubishi)
Sínrendszer.
Egy egyszerű gép vázlata
Egy harmadik generációs gép (az IBM 360) felépítése
A számítógép működése TAKÁCS BÉLA
Címzési módok, utasítások a CPU-ban Címértelmezés műv. kódadat műv. kód 0 1 cím adat cím adat közvetlen (immediat) adatmegadás rejtett (inheritent),
A számítógép felépítése (funkcionális)
Számítógép architektúra
modul Szövegfeldolgozás Speciális informatikai feladatok.
A Mikroprocesszor Második rész.
V.) Számítógép architektúrák
Mikrokontroller (MCU, mikroC)
Erőforrások: Hardver Manver Szoftver.
PIO és DMA Zeke Éva Anita Készült a Számítógép rendszerek és perifériák tantárgyhoz.
A számítógép felépítése
A számítógép felépítése
A számítógép elvi felépítése
A Neumann-elvű gépek A Neumann elvek:
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
A Mikroprocesszor Harmadik rész.
Óravázlat Készítette: Kucsera Mihály 2011.
HARDVER IT ALAPFOGALMAK. NEUMANN-ELVŰ SZÁMÍTÓGÉPEK FELÉPÍTÉSE Központi feldolgozó egység Háttértárolók Adatbeviteli eszközök (Input) Operatív tár (Memória)
Alaplapra integrált csatlakozók
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Írja fel a tizes számrendszerbeli
Mikroprocesszorok Működés.
Számítástechnikai alapismeretek 2. (TK o.)
IT ALAPFOGALMAK HARDVER.
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
PIC mikrokontroller.
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Hőmérséklet mérése Makan Gergely, Mellár János, Mingesz Róbert V március 23.
A CPU (központi feldolgozó egység vagy processzor)
1 A számítógépek felépítése jellemzői, működése. 2 A számítógép feladata Az adatok Bevitele Tárolása Feldolgozása Kivitele (eredmény megjelenítése)
Neumann elvű számítógép. Neumann János ► Neumann János december 28-án Budapesten született ► 1930-ban emigrált az USA-ba.
A Számítógépek hardver elemei Korszerű perifériák és rendszercsatolásuk Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts.
Sz&p prof.
Z-80-s monitor program működésének aprólékos elemzése
Neumann elvek és a Neumann elvű számítógép felépítése
A számítógép felépítése
Építsünk Processzort Avagy mi is kell hozzá.
A számítógép felépítése
A Számítógépek hardver elemei
A Számítástudomány alapjai A Számítógépek felépítése, működési módjai
A Számítógépek felépítése, működési módjai
A Számítógépek felépítése, működési módjai
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

A Számítógépek felépítése, működési módjai 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 BUS Illesztő egységek ROM μ processzor RAM 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 BUS BUS ADAT BUS CONTROL BUS Tápfeszültség t [ ns ] A0 A1 A2 MR MW CONTROL BUS I/O R I/O W ACK Tápfeszültség Pld: Operatív tár Írás H 1 CPU Cím érvényes Address L 0 1 CPU Adat érvényes Data 1 CPU MW 1 Slave ACK t [ ns ]

Operatív tár olvasás Memory Read MR Operatív tár írás Memory Write MW H 1 CPU Cím érvényes Address L 0 1 CPU Adat érvényes Data 1 CPU MW 1 Slave 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 I/O Read IOR I/O írás I/O Write IOW IT vektor beolvasás DMA ciklusok Handshake jelpár: MW-ACK

Bináris Decimális Hexadecimális 27 26 25 24 23 22 21 20 183 1 1 1 1 1 1 1 1 1 1 B7 23 22 21 20 23 22 21 20 1 1 1 1 1 1 1 2 3 . 9 10 A 11 B 12 C 13 D 14 E 15 F B 7 1 2 3 . 9 00 . . . . . . . . . 1 1 1 1 1 1 1 1 255 FF

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 : 00 0001 : B7 0002 : 3F 0003 : A1 . . . . . . FFFF : 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

BUSZ Meghajtó interface

A μ processzoros rendszer regiszter modellje (részlet) RAM térkép: Regisztertömb : 0200 : LDA /3A/ 0201 : Addr L /00/ A : 00 04 F : 0202 : Addr H /20/ B : 00 C : 00 0203 : ADD /87/ Vezérlő/ Utasítás dekóder 00 D : E : 0204 : Addr L /00/ 0205 : Addr H /30/ 00 H : L : 0206 : STA /32/ 0207 : Addr L /00/ LDA /3A/ 0208 : Addr H /40/ PC : 0200 0202 0201 0203 . . . SP : 2000 : 04 . . . . . . További 2db byte 3000 : 05 Addr : 20 00 . . . 4000 : -- . . . 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, ……….. FFFF : -- Fontos !! 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 …..)

PC=0206, Akkumulátor: 09 . . . . . . . . . . . . RAM térkép: 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 RAM térkép: 0200 : LDA /3A/ 0201 : Addr L /00/ 1. utasítás 0202 : Addr H /20/ 0203 : ADD /87/ 0204 : Addr L /00/ 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 2. utasítás 0205 : Addr H /30/ 0206 : STA /32/ 0207 : Addr L /00/ 3. utasítás 0208 : Addr H /40/ . . . 2000 : 04 . . . 3000 : 05 . . . 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: 4000, data: 09 PC=0209, Akkumulátor: 09 4000 : 09 . . . FFFF : --

Az ugrás (feltétel nélküli ugrás) utasítás végrehajtása - 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 025A : Program kezdete 0280 : JMP 0281 : 00 JUMP utasítás 0282 : 50 0283 : . Nem tároltuk azt az információt, hogy ‘honnan ugrottunk az új címre !! 5000 : LDA /3A/ Addr L /00/ Addr H /20/ - Program vége Feltételes ugró utasítás

A feltételes ugrás utasítás végrehajtása A FLAG (állapotjelző) szerepe: 027F : „CMPA” 0280 : JIZ F : 0281 : 00 0282 : 50 0283 : S Z - AC - P - CY . 1 S: Előjel Z: Zéró AC: Kiegészítő átviteljelző Auxiliary Carry Flag P: Paritásjelző CY: Átviteljelző Carry Flag 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! Az utasításkészlet leírása meghatározza, hogy mely utasítások melyik FLAG-eket állítják.

A STACK Szükségessége az Elméleti Számítástudomány 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ó. Stack kezelő utasítások: PUSH, POP 9000 : - A stack kezdőcímét a programban értékadó utasítással állítjuk be. 9001: F7 SP : 9003 9002 : D3 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-1, 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) 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 - 025A : Program kezdete 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 0280 : CALL 0281 : 00 CALL 5000 0282 : 50 0283 : . 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 5000 : Szubrutin kezdete Szubrutin 503D : RET 503E : Program vége

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 IT ok: A Folyamatban rendkívüli esemény történt, azonnal reagálni kell, el kell zárni a gázcsapot. 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. μ processzor OPERATÍV TÁR IRQ1 . . . . . . I/O Interface 1. IT ok1 Érzékelők: Túlnyomas érzékelő ………….. Beavatkozók: Mágnesszelep ………….. IPARI FOLYAMAT

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 025A : Főprogram kezdete 0280 : LDA /3A/ Főprogram 0281 : Addr L /00/ 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. 0282 : Addr H /20/ 0283 : Főprogram vége . 5000 : IT Rutin1 kezdete IT Rutin1 503D : RETURN IT 503E :

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