CPU (Central Processing Unit) feladatai

Slides:



Advertisements
Hasonló előadás
Átváltás decimális számrendszerből bináris számrendszerbe.
Advertisements

Alaplap.
Adatbázisrendszerek elméleti alapjai 2. előadás
1 Számítógépek felépítése 9. előadás I/O rendszerek.
A számítógép felépítése
Alapvető digitális logikai áramkörök
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Adatbázisrendszerek elméleti alapjai 6. előadás
Adatbázisrendszerek elméleti alapjai 5. előadás
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Bevezetés a Java programozásba
Logikai műveletek
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Operandus megadás Közvetlen operandus (immediate operand): Az operandus megadása a címrészen (5.16. ábra) Direkt címzés (direct addressing): A memóriacím.
. . Egyszerű sín alapú számítógép (2.1. ábra)
Máté: Architektúrák2. előadás1 Központi memória (2.9. ábra) A programok és adatok tárolására szolgál. Bit: a memória alapegysége, egy 0-t vagy 1-et tartalmazhat.
Máté: Orvosi képfeldolgozás1. előadás1. Máté: Orvosi képfeldolgozás1. előadás2 A leképezés fizikai alapjai Fény, fénykép, mikroszkóp Röntgen sugárzás.
előjel nélküli és előjeles egész számok (8, 16, 32, 64 bites).
Csernoch Mária Adatábrázolás Csernoch Mária
Csernoch Mária Adatábrázolás Csernoch Mária
Mutatók, tömbök, függvények
A verem működése fpga-n
Bevezetés a digitális technikába
A számítógéprendszer.
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
PIC processzor és környezete
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
Huffman Kódolás.
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Egy egyszerű gép vázlata
Egy harmadik generációs gép (az IBM 360) felépítése
Excel Hivatkozások, függvények használata
Számítógép architektúra Címzésmódok. 2007Címzésmódok2-21 Operandusok egy operandus hossza lehet: –1 byte –2 byte (szó) –4 byte egy operandus lehet: –az.
Számítógép architektúra
Az információ-technológia alapfogalmai
Mikrokontroller (MCU, mikroC)
Boole-algebra (formális logika).
Operátorok Értékadások
Visual Basic 2008 Express Edition
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.
Objektum orientált programozás
Logikai műveletek és áramkörök
A Visual Basic nyelvi elemei
Táblázatkezelés KÉPLETEK.
Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.
Ismerkedjünk tovább a számítógéppel
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 8. előadás.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
BIOLÓGUS INFORMATIKA 2008 – 2009 (1. évfolyam/1.félév) 3. Előadás.
Írja fel a tizes számrendszerbeli
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
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
1 A számítógépek tárolói. 2 Memória Memóriaszó  A tárak olyan egységei, melyek egyetlen művelettel kezelhetők.  A legrövidebb memóriaszó a byte (bájt)
Sz&p prof.
15. óra Logikai függvények
Építsünk Processzort Avagy mi is kell hozzá.
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ép architektúrák
Cache példák 2019 (IMSC).
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

CPU (Central Processing Unit) feladatai a végrehajtandó utasítás betöltése, a betöltött utasítás típusának megállapítása, az ezt követő utasítás címének megállapítása, ha kell, az operandus(ok) helyének megállapítása, ha kell, az operandus(ok) betöltése, az utasítás végrehajtása, ha kell, az eredmény helyének megállapítása, ha kell, az eredmény tárolása, az egész ciklus újra kezdése. 66-72 Máté: Architektúrák 2. előadás

Központi memória (2.9. ábra) A programok és adatok tárolására szolgál. Bit: a memória alapegysége, egy 0-t vagy 1-et tartalmazhat. Memória rekesz (cella): több bit együttese. Minden rekesz ugyanannyi bitből áll. Minden rekeszhez hozzá van rendelve egy szám, a rekesz címe. Egy rekeszre a címével hivatkozhatunk. A rekesz a legkisebb címezhető egység. 83-86 Máté: Architektúrák 2. előadás

Központi memória (2.9. ábra) Cím Rekesz/cella A rekesz hossza manapság legtöbbször 8 bit (byte ~ bájt). n a memória cellák száma . . . 1 n-1 83-86 Rekesz hossza Központi memória (2.9. ábra) Máté: Architektúrák 2. előadás

A bitek száma rekeszenként néhány számítógép-történetileg érdekes, kereskedelmi forgalomba került gépen (2.10. ábra) Számítógép Bit Burroughs B1700 1 IBM PC 8 DEC PDP-8 12 IBM 1130 16 DEC PDP-15 18 XDS 940 24 Electrologica X8 27 XDS Sigma 9 32 Honeywell 6180 36 CDC 3600 48 CDC Cyber 60 83-86 Máté: Architektúrák 2. előadás

A legmagasabb helyértékű bájt a szóban a Bájtsorrend A legtöbb processzor több egymás utáni bájttal is tud dolgozni (szó – word, …). A legmagasabb helyértékű bájt a szóban a legalacsonyabb címen: legmagasabb címen: nagy (big) endian kis (little) endian MSBfirst LSBfirst Most/Least Significant Byte first Ha egy 32 bites szó bájtjainak értéke rendre: a, b, c, d, akkor a szó értéke: a*2563+b*2562+c*256+d a+b*256+c*2562+d*2563 86-88 Máté: Architektúrák 2. előadás

Bájtsorrend (2.11. ábra) A memória címek úgy vannak fölírva, hogy a legmagasabb helyértékű bájt van bal oldalon. Cim Nagy endian 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Kis endian Cím 3 2 1 7 6 5 4 11 10 9 8 15 14 13 12 86-88 32 bites szó 32 bites szó Máté: Architektúrák 2. előadás

Problémák a gépek közötti kommunikációban! Bájtsorrend (12. ábra) A szövegek karaktereit mindkét esetben növekvő bájt sorrendben helyezik el kis endian Cím 3 T 2 X 1 E 0 T 7 12 6 34 5 56 4 78 4 Cím nagy endian 0 T 1 E 2 X 3 T 4 4 12 5 34 6 56 7 78 Cím 0 T 1 E 2 X 3 T 4 4 78 5 56 6 34 7 12 A TEXT szöveg és az 12345678 hexadecimális szám elhelyezése a két géptípuson 86-88 Problémák a gépek közötti kommunikációban! Máté: Architektúrák 2. előadás

Kódolás: adat + ellenőrző bitek = kódszó. Két kódszó Hamming távolsága: az eltérő bitek száma. Pl.: 11001 és 11011 (Hamming) távolsága = 1. Hibaérzékelő kód: bármely két kódszó távolsága > 1: paritás bit. d hibás bit javítása: a kódszavak távolsága > 2d. Egy hibát javító kód (2.13. ábra): m adat, r ellenőrző bit, összesen n = m + r. 2m „jó” szó, + minden „jó” szónak n db „egyhibás” szomszédja van, ezért (1+ n)2m £ 2n = 2m+ r , 2m -mel egyszerűsítve: m + r +1 £ 2r, vagy másképp: m + r  2r szükséges. 88-89 Máté: Architektúrák 2. előadás

Minden utasítás tartalmaz műveleti kódot Minden utasítás tartalmaz műveleti kódot. Ezen kívül tartalmazhat az operandusokra, eredményre vonatkozó információt. Utasítás típusok: regiszter-memória utasítások: a regiszterek és a memória közötti adatforgalom (betöltés, tárolás). Ilyenkor egy regiszter és egy memória cím megadása szükséges a címrészen. regiszter-regiszter utasítások: összeadás, kivonás, … Az eredmény is regiszterben keletkezik. Ilyenkor három regiszter megadása szükséges a címrészen. … Máté: Architektúrák 2. előadás

Három cím: cél = forrás1 + forrás2. Címzési módszerek Három cím: cél = forrás1 + forrás2. A memória sok rekeszt tartalmaz, de csak kevés regiszter van. Egy regiszter néhány bittel címezhető. Regiszterek használata rövidíti a címeket, de nyújtja a programot, ha az operandus csak egyszer kell. A legtöbb operandust többször használjuk. Implicit operandusok: Két cím: regiszter2 = regiszter2 + forrás1. Egy cím: akkumulátor = akkumulátor + forrás1. Nulla cím: verem, pl. az IJVM IADD utasítása. 371-372 Máté: Architektúrák 2. előadás

Operandus megadás Közvetlen operandus (immediate operand): Az operandus megadása az utasításban (5.17. ábra) Direkt címzés (direct addressing): A memóriacím megadása a címrészen. Az utasítás mindig ugyanazt a címet használja. Az operandus értéke változhat, de a címe nem (fordításkor ismert kell legyen!). Regiszter címzés (register addressing): Mint a direkt címzés, csak nem memóriát, hanem regisztert címez. MOV R1 #4 380-381 Máté: Architektúrák 2. előadás

Regiszter-indirekt címzés (register indirect addresing): A címrészen valamelyik regisztert adjuk meg, de a megadott regiszter nem az operandust tartalmazza, hanem azt a memóriacímet, amely az operandust tartalmazza (mutató - pointer). Rövidebb és a cím változtatható. Önmódosító program (Neumann): Ma már kerülendő (cache problémák!), pl. regiszter-indirekt címzéssel kikerülhetjük. 381-382 Máté: Architektúrák 2. előadás

MOV R1, #0 ; gyűjtsük az eredményt R1-ben, Pl.:, a 100 szóból álló A tömb elemeinek összeadása (egy elem 4 bájt), ~ 5.18. ábra. MOV R1, #0 ; gyűjtsük az eredményt R1-ben, ; kezdetben ez legyen 0. MOV R2, #A ; az A tömb címe MOV R3, #A + 400 ; a tömb utáni első cím C: ADD R1, (R2) ; regiszter-indirekt címzés a tömb ; aktuális elemének elérésére ADD R2, #4 ; R2 tartalmát növeljük 4-gyel CMP R2, R3 ; végeztünk? BLT C ; ugrás a C címkéhez, ha nem . . . ; kész az összegzés 381-382 Máté: Architektúrák 2. előadás

MOV R1, #0 ; gyűjtsük az eredményt R1-ben, ; kezdetben ez legyen 0. Indexelt címzés (indexed addressing): Egy eltolási érték (offset) és egy (index) regiszter tartalmának összege lesz az operandus címe, 5.19-20. ábra. MOV R1, #0 ; gyűjtsük az eredményt R1-ben, ; kezdetben ez legyen 0. MOV R2, #0 ; az index kezdő értéke MOV R3, #400 ; a tömb mögé mutató index C: ADD R1, A(R2) ; indexelt címzés a tömb ; aktuális elemének elérésére ADD R2, #4 ; R2 tartalmát növeljük 4-gyel CMP R2, R3 ; végeztünk? BLT C ; ugrás a C címkéhez, ha nem . . . ; kész az összegzés 382-384, A14-19 Máté: Architektúrák 2. előadás

Bázisindex címzés (based-indexed addressing): Egy eltolási érték (offset) és két (egy bázis és egy index) regiszter tartalmának összege lesz az operandus címe. Ha R5 A címét tartalmazza, akkor C: ADD R1, A(R2) helyett a C: ADD R1, (R2+R5) utasítás is írható. Verem címzés (stack addressing): Az operandus a verem tetején van. Nem kell operandust megadni az utasításban. 384, A14-19 Máté: Architektúrák 2. előadás

Az Intel 8086/8088 társzervezése A memória byte szervezésű. Egy byte 8 bitből áll. word, double word. Byte sorrend: Little Endian (LSBfirst). A negatív számok 2-es komplemens kódban. szegmens, szegmens cím a szegmensen belüli „relatív” cím, logikai cím, virtuális cím, OFFSET, displacement, eltolás, Effective Address (EA) fizikai cím (Address) A11-12, 725-726 Máté: Architektúrák 2. előadás

szegmens kezdőcíme + szegmensen belüli cím Az Intel 8086/8088 üzemmódjai valós (real) védett (protected) szegmens cím szegmens regiszter ↓ szegmens regiszter page tábla elem tartalma * 16 ↓ szegmens kezdőcíme fizikai cím szegmens kezdőcíme + szegmensen belüli cím 359-360, A11-12 Máté: Architektúrák 2. előadás

Szegmens regiszterek (16 bitesek) A szegmens regiszterek bevezetésének eredeti célja az volt, hogy nagyobb memóriát lehessen elérni. CS (Code Segment) utasítások címzéséhez SS (Stack Segment) verem címzéséhez DS (Data Segment) (automatikus) adat terület címzéséhez ES (Extra Segment) másodlagos adat terület címzéséhez A12, 724-725 Máté: Architektúrák 2. előadás

Vezérlő regiszterek (16 bitesek) IP (Instruction Pointer) az éppen végrehajtandó utasítás logikai címét tartalmazza a CS által mutatott szegmensben SP (Stack Pointer) a stack-be (verembe) utolsónak beírt elem logika címét tartalmazza az SS által mutatott szegmensben STATUS (SR vagy FLAGS) a processzor állapotát jelző regiszter BP (Base Pointer) a stack indexelt címzéséhez használatos SI (Source Index) a kiindulási (forrás) adat terület indexelt címzéséhez használatos DI (Destination Index) a cél adat terület indexelt címzéséhez használatos A12-13, 720-725 Máté: Architektúrák 2. előadás

STATUS (FLAGS) bitjei (flag-jei) O (Overflow) előjeles túlcsordulás D (Direction) a string műveletek iránya, 0: növekvő, 1: csökkenő I (Interrupt) 1: megszakítás engedélyezése (enable), 0: tiltása (disable) T (Trap) 1: „single step”, 0: automatikus üzemmód S (Sign) az eredmény legmagasabb helyértékű bit-je (előjel bit) Z (Zero) 1 (igaz), ha az eredmény 0, különben 0 (hamis) A (Auxiliary Carry) átvitel a 3. és 4. bit között (decimális aritmetika) P (Parity) az eredmény alsó 8 bitjének paritása C (Carry) átvitel előjel nélküli műveleteknél - O D I T S Z A P C 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 A12-13, 724 Máté: Architektúrák 2. előadás

Általános regiszterek (16 illetve 8 bitesek) word higher byte lower byte AX AH AL Accumulátor (szorzás, osztás is) BX BH BL Base Register (címző regiszter) CX CH CL Counter Register (számláló regiszter) DX DH DL Data Register (szorzás, osztás, I/O) A13, 721-723 Máté: Architektúrák 2. előadás

Az egyik cím mindig regiszter! Az I8086/88 címzési rendszere Operandus megadás Adat megadás Kódba épített adat (immediate – közvetlen operandus) MOV AL, 6 ; AL új tartalma 6 MOV AX, 0FFH ; AX új tartalma 000FFH Regiszter címzés: MOV AX, BX Az egyik cím mindig regiszter! A többi adat megadás esetén az automatikus szegmens regiszter: DS A14, 725-730 Máté: Architektúrák 2. előadás

(DS:SZO) illetve (DS:KAR) Direkt memória címzés: a címrészen az operandus logikai címe (eltolás, displacement) MOV AX, SZO ; AX új tartalma SZO tartalma MOV AL, KAR ; AL új tartalma KAR tartalma Valahol a DS által mutatott szegmensben: SZO DW 1375H KAR DB 3FH (DS:SZO) illetve (DS:KAR) MOV AX, KAR ; hibás MOV AL, SZO ; hibás MOV AX, WORD PTR KAR ; helyes, de … MOV AL, BYTE PTR SZO ; helyes, de … A14-15, 725-730 Máté: Architektúrák 2. előadás

Regiszter-indirekt címzés: eltolási érték nélküli indexelt címzés Indexelt címzés: a logikai cím: a 8 vagy 16 bites eltolás + SI vagy DI (esetleg BX) tartalma MOV AX, 10H[SI] MOV AX, -10H[SI] MOV AX, [SI] Regiszter-indirekt címzés: eltolási érték nélküli indexelt címzés MOV AX, [BX] Bázis relatív (bázisindex) címzés: a logikai cím: eltolás + BX + SI vagy DI tartalma MOV AX, 10H[BX][SI] MOV AX, [BX+SI+10H] A15, 725-730 Máté: Architektúrák 2. előadás

Stack (verem) terület címzés Automatikus szegmens regiszter: SS Megegyezik a bázis relatív címzéssel, csak a BX regiszter helyett a BP szerepel. A16, 725-730 Máté: Architektúrák 2. előadás

Program terület címzés Automatikus szegmens regiszter: CS A végrehajtandó utasítás címe: (CS:IP) Egy utasítás végrehajtásának elején: IP = IP + az utasítás hossza. IP relatív címzés: IP = IP + a 8 bites előjeles közvetlen operandus Direkt utasítás címzés: Az operandus annak az utasításnak a címe, ahova a vezérlést átadni kívánjuk. Közeli (NEAR): IP <= a 16 bites operandus Távoli (FAR): (CS:IP) <= a 32 bites operandus. CALL VALAMI ; az eljárás típusától függően ; NEAR vagy FAR A16-17, 725-730 Máté: Architektúrák 2. előadás

JMP AX ; ugrás az AX-ben tárolt címre Indirekt utasítás címzés: Bármilyen adat címzési móddal megadott szóban vagy dupla szóban tárolt címre történő vezérlés átadás. Pl.: JMP AX ; ugrás az AX-ben tárolt címre JMP [BX] ; ugrás a (DS:BX) által címzett ; szóban tárolt címre. JMP FAR [BX] ; ugrás a (DS:BX) által ; címzett dupla szóban tárolt címre. A17, 725-730 Máté: Architektúrák 2. előadás

Az utasítások szerkezete prefixum operációs kód címzési mód operandus 0 - 2 byte 1 byte 0 - 1 byte 0 - 4 byte Prefixum: utasítás ismétlés, explicit szegmens megadás vagy LOCK MOV AX, CS:S ; S nem a DS, ; hanem a CS regiszterrel címzendő Operációs kód: szimbolikus alakját mnemonic-nak nevezzük Címzési mód byte: hogyan kell az operandust értelmezni Operandus: mivel kell a műveletet elvégezni A17 Máté: Architektúrák 2. előadás

A legtöbb utasítás kód után szerepel. Szerkezete: Címzési mód byte A legtöbb utasítás kód után szerepel. Szerkezete: 7 6 5 4 3 2 1 Mód Regiszter Reg/Mem Ha a műveleti kód legalacsonyabb helyértékű bit-je 0, akkor byte-os művelet, 1, akkor word-ös (szavas) művelet. A18 Máté: Architektúrák 2. előadás

Reg/Mem jelentése, ha Mód =  Regiszter Reg/Mem jelentése, ha Mód = byte word 00 01 10 11 000 AL AX BX + SI + DI „00” + 8 bit displ. 16 R e g i s z t r 001 CL CX 010 DL DX BP + SI 011 BL BX 100 AH SP SI DI 101 CH BP 110 DH közv. op. BP+8 bit d. BP+16 bit d. 111 BH „00”+8 bit „00”+16 bit A18 Máté: Architektúrák 2. előadás

7 6 5 4 3 2 1 Mód Reriszter Reg/Mem +16 bit d. AX SI+BX Szimbolikus alakban az operandusok sorrendje, gépi utasítás formájában a gépi utasítás kód mondja meg a regiszter és a memória közti adatátvitel irányát. Pl. az alábbi két utasítás esetén a címzési mód byte megegyezik: MOV AX, 122H[SI+BX] ; hexadecimálisan 8B 80 0122 MOV 122H[SI+BX], AX ; hexadecimálisan 89 80 0122 7 6 5 4 3 2 1 Mód Reriszter Reg/Mem +16 bit d. AX SI+BX A18 Máté: Architektúrák 2. előadás

Az általános regiszterek és SI, DI, SP, BP korlátlanul használható, a többi (a szegmens regiszterek, IP és STATUS) csak speciális utasításokkal. Pl.: MOV DS, ADAT ; hibás! MOV AX, ADAT ; helyes! MOV DS, AX ; helyes! A „többi” regiszter nem lehet aritmetikai utasítás operandusa, sőt, IP és CS csak vezérlés átadó utasításokkal módosítható, közvetlenül nem is olvasható. A18-19 Máté: Architektúrák 2. előadás

; Assembly főprogram, amely adott szöveget ír a képernyőre ; ================================================= KOD SEGMENT PARA PUBLIC CODE ; Szegmens kezdet ; KOD: a szegmens neve ; align-type (igazítás típusa): BYTE, WORD, PARA, PAGE ; combine-type: PUBLIC, COMMON, AT kifejezés, STACK ; class: CODE, DATA, (CONSTANT,) STACK, MEMORY ; ajánlott értelemszerűen ASSUME CS:KOD, DS:ADAT, SS:VEREM, ES:NOTHING ; feltételezett szegmens regiszter értékek. ; A beállításról ez az utasítás nem gondoskodik! A8-9 Máté: Architektúrák 2. előadás

KIIR PROC FAR ; A fő eljárás mindig FAR ; FAR: távoli, NEAR: közeli eljárás ; Az operációs rendszer úgy hívja meg a főprogramokat, hogy ; a CS és IP a program végén lévő END utasításban megadott ; címke szegmens és OFFSET címét tartalmazza, SS és SP a ; a STACK kombinációs típusú szegmens végét mutatja, ; a visszatérés szegmens címe DS-ben van, OFFSET-je pedig 0 PUSH DS ; DS-ben van a visszatérési cím ; SEGMENT része XOR AX, AX ; AX0, az OFFSET rész = 0 PUSH AX ; Veremben a (FAR) visszatérési cím MOV AX, ADAT ; AX az ADAT SEGMENT címe MOV DS, AX ; Most már teljesül, amit az ASSUME utasításban írtunk ; Eddig tartott a főprogram előkészületi része A8-9 Máté: Architektúrák 2. előadás

; SISZÖVEG OFFSET címe CLD ; a SZÖVEGet növekvő címek MOV SI, OFFSET SZOVEG ; SISZÖVEG OFFSET címe CLD ; a SZÖVEGet növekvő címek ; szerint kell olvasni CALL KIIRO ; Eljárás hívás RET ; Visszatérés az op. rendszerhez ; a veremből visszaolvasott ; szegmens és OFFSET címre KIIR ENDP ; A KIIR eljárás vége A8-9 Máté: Architektúrák 2. előadás

KIIRO PROC ; NEAR eljárás, ; megadása nem kötelező CIKLUS: LODSB ; ALa következő karakter CMP AL, 0 ; AL =? 0 JE VEGE ; ugrás a VEGE címkéhez, ; ha AL=0 MOV AH, 14 ; BIOS rutin paraméterezése INT 10H ; a 10-es interrupt hívása: ; az AL-ben lévő karaktert kiírja ; a képernyőre JMP CIKLUS ; ugrás a CIKLUS címkéhez, ; a kiírás folytatása VEGE: RET ; Visszatérés a hívó programhoz KIIRO ENDP ; A KIIRO eljárás vége KOD ENDS ; A KOD szegmens vége A8-9 Máté: Architektúrák 2. előadás

ADAT SEGMENT PARA PUBLIC DATA SZOVEG DB Ezt a szöveget kiírja a képernyőre DB 13, 10, 0 ; 13: a kocsi vissza, ; 10: a soremelés kódja, ; 0: a szöveg vége jel ADAT ENDS ; Az ADAT szegmens vége ; ================================================= VEREM SEGMENT PARA STACK DW 100 DUP (?) ; Helyfoglalás 100 db ; inicializálatlan szó számára VEREM ENDS ; A VEREM szegmens vége END KIIR ; Modul vége, ; a program kezdőcíme: KIIR A8-9 Máté: Architektúrák 2. előadás

Digitális logikai szint Digitális áramkör: két érték – általában 0-1 volt között az egyik (pl. 0, hamis), 2-5 volt között a másik (1, igaz). Más feszültségeket nem engednek meg. Kapu (gate): kétértékű jelek valamilyen függvényét tudja meghatározni. Kapcsolási idő néhány ns (nanoszekundum = 10-9 s) 152-155 Máté: Architektúrák 2. előadás

NEM (NOT) kapu, inverter Tranzisztor Szimbolikus jelölése: A X 1 NEM (NOT) kapu (3.1-2. ábra) + Vcc + Vcc + Vcc + Vcc + Vcc Vki Bázis Kollektor Vbe Emitter NEM (NOT) kapu, inverter Tranzisztor Szimbolikus jelölése: A X 1 Igazság tábla: 152-155 A X erősítő Inverziós gömb Máté: Architektúrák 2. előadás

NEM-ÉS (NAND) kapu (3.1-2. ábra) Igazság tábla: + Vcc V1 Vki V2 A B X 1 Szimbolikus jelölése A 152-155 X B Máté: Architektúrák 2. előadás

NEM-VAGY (NOR) kapu (3.1-2. ábra) Igazság tábla: A B X 1 + Vcc V1 V2 Vki Szimbolikus jelölése 152-155 A B X Máté: Architektúrák 2. előadás

ÉS (AND) kapu (3.2. ábra) Igazság tábla: A B X 1 A B X 1 A B X 152-155 Szimbolikus jelölése Máté: Architektúrák 2. előadás

VAGY (OR) kapu (3.2. ábra) Igazság tábla: A B X 1 A B X 1 A B X 152-155 Szimbolikus jelölése Máté: Architektúrák 2. előadás

Boole-algebra Olyan algebra, amelynek változói és függvényei csak a 0, 1 értéket veszik fel, a műveletei: ÉS (konjunkció), VAGY (diszjunkció), NEM (negáció). Igazságtábla: olyan táblázat, amely a változók összes lehetséges értéke mellett megadja a függvény vagy kifejezés értékét. 155-159 Máté: Architektúrák 2. előadás

Diszjunktív normálforma. Pl. 3 változós többségi függvény (3.3. ábra): értéke 1, ha legalább két argumentuma 1 Igazság tábla: A B C M 1 Boole-algebrai alakja: A fölülvonás a NEM (negáció), az egymás mellé írás az ÉS, a + a VAGY művelet jele. Diszjunktív normálforma. 155-159 Máté: Architektúrák 2. előadás

Boole-függvény megvalósításának lépései (3.3. ábra): igazságtábla, negált értékek, ÉS kapuk bemenetei, ÉS kapuk, VAGY kapu, kimenet. A B C M A B C A B C A B C M 1 155-159 Máté: Architektúrák 2. előadás

NAND és NOR előnye: teljesség (3.4. ábra) NOT 155-159 AND OR Máté: Architektúrák 2. előadás

Pl.: AB + AC és A(B + C) ekvivalens (3.5. ábra). Definíció: Akkor mondjuk, hogy két Boole-függvény ekvivalens, ha az összes lehetséges bemenetre a két függvény azonos kimenetet ad. Két Boole-függvény ekvivalenciája könnyen ellenőrizhető az igazság táblájuk alapján. Pl.: AB + AC és A(B + C) ekvivalens (3.5. ábra). Az első függvény megvalósításához két ÉS és egy VAGY kapura van szükség, a másodikhoz elegendő egy ÉS és egy VAGY kapu. 159-162 Máté: Architektúrák 2. előadás

Néhány azonosság (3.6. ábra) Szabály ÉS forma VAGY forma Identitás 1A = A 0+A=A Null 0A = 0 1+A=1 Idempotens AA=A A+A=A Inverz AA=0 A+A=1 Kommutatív AB=BA A+B=B+A Asszociatív (AB)C=A(BC) (A+B)+C=A+(B+C) Disztribúciós A+BC=(A+B)(A+C) A(B+C)=AB+AC Abszorpciós A(A+B)=A A+AB=A De Morgan AB=A+B A+B=AB 159-162 Máté: Architektúrák 2. előadás

A+BC=A+(BC)=(A+B)(A+C) Disztribúciós szabály: A+BC=A+(BC)=(A+B)(A+C) Jelölje az ÉS műveletet ٨ , a VAGY műveletet ٧ , akkor A ٧ (B ٨ C) = (A ٧ B) ٨ (A ٧ C) 159-162 Máté: Architektúrák 2. előadás

Milyen feladatai vannak a CPU-nak? Mi a központi memória feladata? Feladatok Milyen feladatai vannak a CPU-nak? Mi a központi memória feladata? Mi a memória cella/rekesz? Mit jelent a big endian kifejezés? Milyen problémát okoz az eltérő bájtsorrend? Mi a Hamming távolság? Mekkora a hexadecimális E6 és C7 Hamming távolsága? Hány ellenőrző bit szükséges 256 kódszó 1 hibát javító kódolásához? 683-684 Máté: Architektúrák 2. előadás

10 bites címek 1024 db 8 bites rekesz 10 1024 12 9 1024 10 11 1024 10 Feladatok Az alábbi memóriák közül melyik lehetséges, melyik ésszerű? Indokolja meg! 10 bites címek 1024 db 8 bites rekesz 10 1024 12 9 1024 10 11 1024 10 10 10 1024 1024 10 10 Egy régi gépnek 8192 szavas memóriája volt. Miért nem 8000? Máté: Architektúrák 2. előadás

Melyik címre hivatkozik az alábbi utasítás? MOV AX, 12H[SI] Feladatok A memória 100-adik bájtjától a 01234567H 4 bájtos számot és – folytatólagosan – az abcd szöveget helyeztük el. Mi az egyes bájtok tartalma, ha a memória big/little endian szervezésű? Mi a helyzet Intel 8086/8088-as gépen? Hogyan számítjuk ki a fizikai címet Intel 8086/8088-as gépen valós üzemmódban? Melyik címre hivatkozik az alábbi utasítás? MOV AX, 12H[SI] Melyik címre ugrik az alábbi utasítás? JMP FAR SS:6[BX,DI] Máté: Architektúrák 2. előadás

Mi a közvetlen operandus megadás? Mi a direkt címzés? Feladatok Milyen operandus megadási módokat ismer? Ezek közül melyek alkalmazhatók az IBM PC-n? Mi a közvetlen operandus megadás? Mi a direkt címzés? Mi a regiszter címzés? Mi a regiszter-indirekt címzés? Mi az indexelt címzés? Mi a bázisindex címzés? Milyen az I-8086/8088 társzervezése? Ismertesse az I-8086/8088 regiszter készletét! 683-684 Máté: Architektúrák 2. előadás

Ismertesse az I-8086/8088 szegmens regisztereit! Feladatok Ismertesse az I-8086/8088 szegmens regisztereit! Ismertesse az I-8086/8088 általános regisztereit! Ismertesse az I-8086/8088 vezérlő regisztereit! Mire szolgál a STATUS (FLAGS) regiszter? Ismertesse az I-8086/8088 utasításainak szerkezetét! Ismertesse az I-8086/8088 címzési módjait! Ismertesse az I-8086/8088 stack terület címzését! Ismertesse az I-8086/8088 program terület címzését! Milyen prefixumokat ismer? Mire szolgál a címzési mód bájt? 683-684 Máté: Architektúrák 2. előadás

Mikor mondunk két Boole-függvényt equivalensnek? Feladatok Mi az igazság tábla? Írja fel a NEM, ÉS, VAGY, NAND, NOR, XOR művelet igazság tábláját! Mi a Bool algebra? Írja fel a 3 változós többségi függvény igazság tábláját és Bool-algebrai alakját! Mikor mondunk két Boole-függvényt equivalensnek? Hogy valósítható meg egy Boole-függvény? Mit jelent a NAND és NOR művelet teljessége? Írja föl a Boole-algebra legfontosabb azonosságait! Mit jelent az áramköri ekvivalencia? Írja fel a De Morgan szabályt! Máté: Architektúrák 2. előadás