57
Máté: Architektú rák 2. előadás 1 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 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

Operandus megadás

  • Upload
    neci

  • View
    23

  • Download
    1

Embed Size (px)

DESCRIPTION

Operandus megadás Közvetlen operandus (immediate operand): Az operandus megadása a címrészen ( 5.16. ábra ) - PowerPoint PPT Presentation

Citation preview

Page 1: Operandus megadás

Máté: Architektúrák 2. előadás 1

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

Page 2: Operandus megadás

Máté: Architektúrák 2. előadás 2

• 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!), regiszter indirekt címzéssel kikerülhetjük.

Page 3: Operandus megadás

Máté: Architektúrák 2. előadás 3

Pl.:, a 100 szóból álló A tömb elemeinek összeadása (egy elem 4 bájt), ~ 5.17. ábra.

MOV R1, #0 ; gyűjtsük az eredményt R1-ben,; kezdetben ez 0.

MOV R2, #A ; az A tömb címeMOV R3, #A + 400 ; a tömb utáni 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-gyelCMP R2, R3 ; végeztünk?BLT C ; ugrás a C címkéhez, ha nem. . . ; kész az összegzés

Page 4: Operandus megadás

Máté: Architektúrák 2. előadás 4

• 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.18-19. ábra.

MOV R1, #0 ; gyűjtsük az eredményt R1-ben,; kezdetben ez 0.

MOV R2, #0 ; az index kezdő értékeMOV 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-gyelCMP R2, R3 ; végeztünk?BLT C ; ugrás a C címkéhez, ha nem. . . ; kész az összegzés

Page 5: Operandus megadás

Máté: Architektúrák 2. előadás 5

• 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 aC: 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.

Page 6: Operandus megadás

Máté: Architektúrák 2. előadás 6

Az Intel 8086/8088 társzervezéseA 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íma 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)

Page 7: Operandus megadás

Máté: Architektúrák 2. előadás 7

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

Page 8: Operandus megadás

Máté: Architektúrák 2. előadás 8

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

Page 9: Operandus megadás

Máté: Architektúrák 2. előadás 9

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

Page 10: Operandus megadás

Máté: Architektúrák 2. előadás 10

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 - C15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Page 11: Operandus megadás

Máté: Architektúrák 2. előadás 11

Általános regiszterek (16 illetve 8 bitesek)

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

Page 12: Operandus megadás

Máté: Architektúrák 2. előadás 12

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 6MOV AX, 0FFH ; AX új tartalma 000FFH

Page 13: Operandus megadás

Máté: Architektúrák 2. előadás 13

Automatikus szegmens regiszter: DS• 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 1375HKAR DB 3FH

(DS:SZO) illetve (DS:KAR) MOV AX, KAR ; hibásMOV AL, SZO ; hibásMOV AX, WORD PTR KAR ; helyesMOV AL, BYTE PTR SZO ; helyes

Page 14: Operandus megadás

Máté: Architektúrák 2. előadás 14

• Indexelt címzés: a logikai cím: a 8 vagy 16 bites eltolás + SI vagy DI (esetleg BX) tartalma

MOV AX, [SI] MOV AX, 10H[SI] MOV AX, -10H[SI]

• Regiszter indirekt címzés: eltolási érték nélküli indexelt címzés

MOV AX, [BX] MOV AX, [SI]

• Bázis relatív címzés: a logikai cím: eltolás + BX + SI vagy DI tartalma

MOV AX, 10H[BX][SI] MOV AX, [BX+SI+10H]

Page 15: Operandus megadás

Máté: Architektúrák 2. előadás 15

Stack (verem) terület címzésAutomatikus szegmens regiszter: SS

Megegyezik a bázis relatív címzéssel, csak a BX regiszter helyett a BP szerepel.

Page 16: Operandus megadás

Máté: Architektúrák 2. előadás 16

Program terület címzésAutomatikus szegmens regiszter: CSA 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 operandusTávoli (FAR): (CS:IP) <= a 32 bites operandus.

CALL VALAMI ; az eljárás típusától függően ; NEAR vagy FAR

Page 17: Operandus megadás

Máté: Architektúrák 2. előadás 17

• 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ímreJMP [BX] ; ugrás a (DS:BX) által címzett

; szóban tárolt címre.

Page 18: Operandus megadás

Máté: Architektúrák 2. előadás 18

Az utasítások szerkezete

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ükCímzési mód byte: hogyan kell az operandust értelmezniOperandus: mivel kell a műveletet elvégezni

prefixum operációs kód címzési mód operandus0 - 2 byte 1 byte 0 - 1 byte 0 - 4 byte

Page 19: Operandus megadás

Máté: Architektúrák 2. előadás 19

Címzési mód byteA legtöbb utasítás kód után szerepel. Szerkezete:

7 6 5 4 3 2 1 0

Mód Reriszter Reg/Mem

Ha a műveleti kód legalacsonyabb helyértékű bit-je 0, akkor a regiszter byte, 1, akkor a regiszter word.

Page 20: Operandus megadás

Máté: Architektúrák 2. előadás 20

 Regiszter Reg/Mem jelentése, ha Mód =

byte word 00 01 10 11000 AL AX BX + SI

+ DI „00”

+

8

bit

displ.

„00”

+

16

bit

displ.

R e g i s z t e r

001 CL CX

010 DL DX BP + SI + DI011 BL BX

100 AH SP SI DI101 CH BP

110 DH SI közv. op. BP+8 bit d. BP+16 bit d.

111 BH DI BX „00”+8 bit „00”+16 bit

Page 21: Operandus megadás

Máté: Architektúrák 2. előadás 21

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 01 0 0 0 0 0 0 0Mód Reriszter Reg/Mem

+16 bit d. AX SI+BX

Page 22: Operandus megadás

Máté: Architektúrák 2. előadás 22

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

Page 23: Operandus megadás

Máté: Architektúrák 2. előadás 23

; 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!

Page 24: Operandus megadás

Máté: Architektúrák 2. előadás 24

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 ; AX0, az OFFSET rész = 0PUSH AX ; Veremben a (FAR) visszatérési cím MOV AX, ADAT ; AX az ADAT SEGMENT címeMOV 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

Page 25: Operandus megadás

Máté: Architektúrák 2. előadás 25

MOV SI, OFFSET SZOVEG; SISZÖ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

Page 26: Operandus megadás

Máté: Architektúrák 2. előadás 26

KIIRO PROC ; NEAR eljárás,; megadása nem kötelező

CIKLUS: LODSB ; ALa következő karakterCMP AL, 0 ; AL =? 0JE VEGE ; ugrás a VEGE címkéhez, ; ha AL=0MOVAH, 14 ; BIOS rutin paraméterezéseINT 10H ; a 10-es interrupt hívása: ; az AL-ben lévő karaktert kiírja; a képernyőreJMP CIKLUS ; ugrás a CIKLUS címkéhez,; a kiírás folytatása

VEGE: RET ; Visszatérés a hívó programhozKIIRO ENDP ; A KIIRO eljárás végeKOD ENDS ; A KOD szegmens vége

Page 27: Operandus megadás

Máté: Architektúrák 2. előadás 27

ADAT SEGMENTPARA PUBLIC DATASZOVEG DB Ezt a szöveget kiírja a képernyőre

DB 13, 10 ; 13: a kocsi vissza,; 10: a soremelés kódja,

DB 0 ; 0: a szöveg vége jelADAT ENDS ; Az ADAT szegmens vége; =================================================VEREM SEGMENTPARA 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

Page 28: Operandus megadás

Máté: Architektúrák 2. előadás 28

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 kiszámítani.Kapcsolási idő néhány ns (nanoszekundum = 10-9 s)

Page 29: Operandus megadás

Máté: Architektúrák 2. előadás 29

NEM (NOT) kapu (3.1. ábra).

Emitter

Bázis Kollektor

+ Vcc

Vbe

Vki + Vcc

0 + Vcc

0

Tranzisztor

A X0 11 0

Igazság tábla:

Szimbolikus jelölése: A X

NEM (NOT) kapu, inverter

erősítő Inverziós gömb

+ Vcc + Vcc

Page 30: Operandus megadás

Máté: Architektúrák 2. előadás 30

NEM-ÉS (NAND) kapu

A B X0 0 10 1 11 0 11 1 0

Igazság tábla:

+ Vcc

V1

Vki

V2

Szimbolikus jelölése

A

BX

Page 31: Operandus megadás

Máté: Architektúrák 2. előadás 31

NEM-VAGY (NOR) kapu

+ Vcc

Vki

A B X0 0 10 1 01 0 01 1 0

Igazság tábla:

V1 V2

Szimbolikus jelölése

A

BX

Page 32: Operandus megadás

Máté: Architektúrák 2. előadás 32

ÉS kapu

A B X0 0 00 1 01 0 01 1 1

Igazság tábla:

Szimbolikus jelölése A

BX

Page 33: Operandus megadás

Máté: Architektúrák 2. előadás 33

VAGY kapu

A B X0 0 00 1 11 0 11 1 1

Igazság tábla:

Szimbolikus jelölése A

BX

Page 34: Operandus megadás

Máté: Architektúrák 2. előadás 34

Boole algebraOlyan algebra, amelynek változói és függvényei csak

a 0, 1 értéket veszik fel.

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.

Page 35: Operandus megadás

Máté: Architektúrák 2. előadás 35

Pl. 3 változós többségi függvény (3.3. ábra): értéke 1, ha legalább két operandus 1

A B C M0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

ABCCABCBABCAM

Igazság tábla:

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

Page 36: Operandus megadás

Máté: Architektúrák 2. előadás 36

Boole függvény megvalósításának lépései:• igazságtábla, • negált értékek,• ÉS kapuk bemenetei, • ÉS kapuk, • VAGY kapu, kimenet.

A B C M0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

A

B

C

M

A B C A B C

ABCCABCBABCAM

Page 37: Operandus megadás

Máté: Architektúrák 2. előadás 37

NAND és NOR előnye: teljesség (3.4. ábra).

NOT

AND OR

Page 38: Operandus megadás

Máté: Architektúrák 2. előadás 38

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.

Page 39: Operandus megadás

Máté: Architektúrák 2. előadás 39

Néhány azonosság (3.6. ábra)

Szabály ÉS forma VAGY formaIdentitás 1A = A 0+A=ANull 0A = 0 1+A=1 Idempotens AA=A A+A=AInverz AA=0 A+A=1Kommutatív AB=BA A+B=B+AAsszociatív (AB)C=A(BC) (A+B)+C=A+(B+C)Disztribúciós A+BC=(A+B)(A+C) A(B+C)=AB+ACAbszorpciós A(A+B)=A A+AB=ADe Morgan AB=A+B A+B=AB

Page 40: Operandus megadás

Máté: Architektúrák 2. előadás 40

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)

Page 41: Operandus megadás

Máté: Architektúrák 2. előadás 41

Alapvető digitális logikai áramkörök Integrált áramkör (IC, Integrated Circuit, chip, lapka)

5x5 mm2 szilícium darab kerámia vagy műanyag lapon (tokban), lábakkal (pins). Négy alaptípus:

• SSI (Small Scale Integrated 1-10 kapu), • MSI (Medium Scale ..., 10-100 kapu), • LSI (Large Scale..., 100-100 000 kapu), • VLSI (Very Large Scale ..., > 100 000 kapu). Példa SSI-re: 3.10. ábra, Vcc: feszültség, GND: föld.

Kapukésleltetés (gate delay): 1-10 nsec.

Page 42: Operandus megadás

Máté: Architektúrák 2. előadás 42

3.10. ábra SSI lapka négy NAND kapuval Vcc: feszültség, GND: föld.

14 13 12 11 10 9 8

1 2 3 4 5 6 7

Vcc

GND

Bevágás

Page 43: Operandus megadás

Máté: Architektúrák 2. előadás 43

Kívánalom: sok kapu – kevés láb

Kombinációs áramkörök

Definíció: A kimeneteket egyértelműen meghatározzák a pillanatnyi bemenetek.

Page 44: Operandus megadás

Máté: Architektúrák 2. előadás 44

• Multiplexer: 2n adatbemenet, n vezérlő bemenet, 1 kimenet. Az egyik adatbemenet kapuzott (gated) a kimenetre (3.11. ábra). D0

D1

D2

D3

D4

D5

D6

D7

A B C

F

C

D0

D1

D2

D3

D4

D5

D6

D7

A B

F

Sematikus rajza

Page 45: Operandus megadás

Máté: Architektúrák 2. előadás 45

n vezérlő bemenetű multiplexerrel tetszés szerinti n változós bool függvény megvalósítható az adatbemenetek megfelelő választásával. Pl. a 3 változós többségi függvény:

A B C M0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

Vcc

C

D0

D1

D2D3D4D5D6D7

A B

F

3.12. ábra

Igazság tábla:

Párhuzamos-soros átalakítás: vezérlő vonalakon rendre: 000, 001, … 111.

Page 46: Operandus megadás

Máté: Architektúrák 2. előadás 46

D0

D1

D2

D3

D4

D5

D6

D7

D0

D1

D2

D3

D4

D5

D6

D7

multiplexer demultiplexer

• Demultiplexer: egy egyedi bemenetet irányít az n vezérlő bemenet értékétől függően a 2n kimenet egyikére

Page 47: Operandus megadás

Máté: Architektúrák 2. előadás 47

D0

D1

D2

D3

D4

D5

D6

D7

dekódoló

D0

D1

D2

D3

D4

D5

D6

D7

demultiplexer

• Dekódoló: n bemenet, 2n kimenet. Pontosan egy kimeneten lesz 1 (3.13. ábra). Demultiplexerrel: a bemenetet igazra állítjuk.

Page 48: Operandus megadás

Máté: Architektúrák 2. előadás 48

KIZÁRÓ VAGY kapu

A B X0 0 00 1 11 0 11 1 0

Igazság tábla:

Szimbolikus jelölése

A

BX

• Összehasonlító (comparator): (3.14. ábra).

A0

B0

A1

B1

A2

B2

A3

B3

A ≡ B

4 bites összehasonlító

Page 49: Operandus megadás

Máté: Architektúrák 2. előadás 49

• Programozható logikai tömbök: PLA (3.15. ábra) (Programmable Logic Array).

01

49

0 1 5

A B L

12 bemenő jel

Ha ezt a biztosítékot kiégetjük, akkor nem jelenik meg #B az 1-es ÉS kapu bemenetén

Ha ezt a biztosítékot kiégetjük, akkor az 1-es ÉS kapu kimenete nem

jelenik meg az 5-ös VAGY kapu bemenetén

24 bemenő vonal

50 bemenő vonal

6 kimenet

Page 50: Operandus megadás

Máté: Architektúrák 2. előadás 50

Aritmetikai áramkörökA kombinációs áramkörökön belül külön csoportot alkotnak.

Léptető (shifter): 3.16. ábra, C=0: balra, 1: jobbra.

CD0 D1 D2 D3 D4 D5 D6 D7

S0 S1 S2 S3 S4 S5 S6 S7

Page 51: Operandus megadás

Máté: Architektúrák 2. előadás 51

Aritmetikai áramkörökÖsszeadók:

Fél-összeadó (half adder, 3.17. ábra)

Teljes-összeadó (full adder, 3.18. ábra)

átvitel beösszeg

összeg

átvitel ki

átvitel

Page 52: Operandus megadás

Máté: Architektúrák 2. előadás 52

Aritmetikai-logikai egység: bitszelet (bit slice, 3.19. ábra), F0, F1 -től függően ÉS, VAGY, NEGÁCIÓ vagy +

ENB

ENA

INVA

átvitel be

B

kimenet

teljes összeadó

dekódolóF0

F1

A

engedélyező jelek átvitel ki

összeg

Page 53: Operandus megadás

Máté: Architektúrák 2. előadás 53

• átvitel továbbterjesztő összeadó (ripple carry adder):

1 bit ALU

A7 B7

Q7

1 bit ALU

A6 B6

Q6

1 bit ALU

A5 B5

Q5

1 bit ALU

A4 B4

Q4

1 bit ALU

A3 B3

Q3

1 bit ALU

A2 B2

Q2

1 bit ALU

A1 B1

Q1

1 bit ALU

A0 B0

Q0

INC

átvitel

F0

F1

Page 54: Operandus megadás

Máté: Architektúrák 2. előadás 54

• átvitel kiválasztó összeadó (carry select adder) eljárás:

1 bit ALU

A7 B7

Q7

1 bit ALU

A6 B6

Q6

1 bit ALU

A5 B5

Q5

1 bit ALU

A4 B4

Q4

0

1 bit ALU

A7 B7

Q7

1 bit ALU

A6 B6

Q6

1 bit ALU

A5 B5

Q5

1 bit ALU

A4 B4

Q4

1

1 bit ALU

A3 B3

Q3

1 bit ALU

A2 B2

Q2

1 bit ALU

A1 B1

Q1

1 bit ALU

A0 B0

Q0

INC

Page 55: Operandus megadás

Máté: Architektúrák 2. előadás 55

FeladatokAz 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 10241024 10 10

Egy régi gépnek 8192 szavas memóriája volt. Miért nem 8000?

Page 56: Operandus megadás

Máté: Architektúrák 2. előadás 56

FeladatokA memória 100-adik bájtjától a 01234567H 4bá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?

Milyen operandus megadási módokat ismer? Ezek közül melyek alkalmazhatók az IBM PC-n?

Mire szolgál a címzési mód bájt?

Page 57: Operandus megadás

Máté: Architektúrák 2. előadás 57

FeladatokMit jelent az áramköri ekvivalencia?Sorolja fel a bool algebra néhány azonosságát!Írja fel a De Morgan szabályt! Milyen kombinációs áramköröket ismer?Mi indokolja a „fél összeadó” elnevezést?