operandus megadás
DESCRIPTION
Operandus megadás Közvetlen operandus (immediate operand): Az operandus megadása a címrészen ( 5.16. ábra ) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Operandus megadás](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/49.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/51.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/55.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/56.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062816/56815583550346895dc35578/html5/thumbnails/57.jpg)
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?