alapvető digitális logikai áramkörök

65
Máté: Architektú rák 3. előadás 1 Alapvető digitális logikai áramkörök Integrált áramkör ( IC, Integrated Circuit, chip, lapka) 5x5 mm 2 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).

Upload: donar

Post on 13-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Alapvető digitális logikai áramkörök Integrált áramkör ( IC , Integrated Circuit, chip, lapka) 5x5 mm 2 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), - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Alapvető digitális logikai áramkörök

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

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

Page 2: Alapvető digitális logikai áramkörök

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

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 3: Alapvető digitális logikai áramkörök

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

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 4: Alapvető digitális logikai áramkörök

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

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

C

D0

D1

D2

D3

D4

D5

D6

D7

A B

F

Sematikus rajza

Page 5: Alapvető digitális logikai áramkörök

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

n vezérlő bemenetű multiplexerrel tetszés szerinti n változós Boole-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:

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

Page 6: Alapvető digitális logikai áramkörök

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

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 7: Alapvető digitális logikai áramkörök

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

dekódolódemultiplexer

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

Page 8: Alapvető digitális logikai áramkörök

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

KIZÁRÓ VAGY

(XOR eXclusive OR) 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)

Page 9: Alapvető digitális logikai áramkörök

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

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

0

1

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 10: Alapvető digitális logikai áramkörök

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

Page 11: Alapvető digitális logikai áramkörök

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

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

Léptető:

C=1: jobbra,

C=0: balraléptet.

Page 12: Alapvető digitális logikai áramkörök

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

Összeadók:

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

Page 13: Alapvető digitális logikai áramkörök

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

Összeadók:

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

Page 14: Alapvető digitális logikai áramkörök

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

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

Page 15: Alapvető digitális logikai áramkörök

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

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

Page 16: Alapvető digitális logikai áramkörök

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

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

Page 17: Alapvető digitális logikai áramkörök

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

Nem kombinációs áramkörök

Óra (clock, 3.21. ábra): ciklusidő (cycle time). Pl.: 500 MHz - 2 nsec. Finomabb felbontás késleltetéssel.Aszimmetrikus óra.

késleltetés

AB

C

Page 18: Alapvető digitális logikai áramkörök

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

Memória: „Emlékszik” az utolsó beállításra.

Tároló: Szint vezérelt (level triggered).

SR tároló (Set Reset latch, 3.22. ábra). Stabil állapot: a két kimenet 0, 1 vagy 1, 0. S (set), R (reset) bemenet. (Q# ≡ Q)

Page 19: Alapvető digitális logikai áramkörök

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

Mindkét SR tároló indeterminisztikussá válna, ha S = R = 1 egyszerre fordulna elő.

Page 20: Alapvető digitális logikai áramkörök

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

Az inverternek van egy pici (1-10 ns) késleltetése (Δ).

Page 21: Alapvető digitális logikai áramkörök

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

Flip-flop: élvezérelt (edge triggered), D flip-flop: 3.26. ábra.

Page 22: Alapvető digitális logikai áramkörök

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

3.27. ábra: Tárolók és flip-flopok

(a) CK=1, (b) CK=0 szint esetén írja be D-t,

(c) CK emelkedő, (d) CK lefelé menő élénél.

Sokszor S (set, PR preset), R (reset,CLR clear) be- és Q# kimenet is van.

D Q

CK

D Q

>CK

(a) (b)

tárolók

(c) (d)

flip-flopok

D Q

CK

D Q

>CK

CK: órajel

Page 23: Alapvető digitális logikai áramkörök

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

3.28. ábra: (a) 2 független D flip-flop,

1 2 3 4 5 6 7

14 13 12 11 10 9 8

D Q

>CK Q#

CLR

PR

D Q

>CK Q#

CLR

PR

Vcc

GND

Page 24: Alapvető digitális logikai áramkörök

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

3.28. ábra: (b) közös CK-val és CLR-rel vezérelt 8 bites D flip-flop: regiszter

20 19 18 17 16 15 14 13 12 11

1 2 3 4 5 6 7 8 9 10GND

Vcc

D Q

>CKCLR

D Q>CKCLR

D Q

>CKCLR

D Q>CKCLR

D Q

>CKCLR

D Q>CKCLR

D Q

>CKCLR

D Q>CKCLR

Page 25: Alapvető digitális logikai áramkörök

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

Memória szervezése

Elvárás: szavak címezhetősége.

3.29. ábra: Négy db három bites szó. Bemenetek: három a vezérléshez, – CS (Chip Select): lapka választás, – RD (ReaD): 1: olvasás, 0: írás választása, – OE (Output Enable): kimenet engedélyezése.

kettő a címzéshez (dekódoló), három a bemenő adatoknak, három adat kimenet.

Page 26: Alapvető digitális logikai áramkörök

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

3.29. ábra.

4 3-as memória

Page 27: Alapvető digitális logikai áramkörök

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

Memória szervezése Az igazi memóriáknál a bemenet és kimenet közös

(kevesebb lábra van szükség): Nem invertáló és invertáló pufferek (ezek három állapotú eszközök, tri-state device, 3.30. ábra).

adat be adat ki

vezérlés

adat be adat ki

vezérlés

nem invertáló puffer invertáló puffer

magas

alacsony

Ha a vezérlő jel

magas

alacsony

Ha a vezérlő jel

Page 28: Alapvető digitális logikai áramkörök

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

Memórialapkák Előnyös, ha a szavak száma 2 hatvány. 4 Mbit-es memória kétféle szervezése: 3.31. ábra.

A0 A1...

A18

D0 D1...

D7

512 K 8 bites

memória

(4 Mbit)

CS WE OE

A0 A1...

A10D

4096 K 1 bites

memória

(4 Mbit)

CS WE OE

RAS

CAS

19 cím, 8 adat vonal

11 cím, 1 adat vonalRow Address Strobe

Column Address Strobe

Page 29: Alapvető digitális logikai áramkörök

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

Memórialapkák A jel (bemenet) beállított (asserted) vagy negált.

CS beállított: 1, de CS# beállított: 0

a) 512 K bájtos elrendezés: 19 cím, 8 adat vonal.

b) 2048*2048 bites elrendezés: 11 cím, 1 adat vonal: Bit kiválasztás sor- (RAS: Row Address Strobe) és oszlopindex CAS (Column ...) segítségével. Gyakran alkalmazzák nagyobb memóriáknál, bár a két cím megadása lassíthat.

Nagyobb memóriáknál 1, 4, 8, 16 bites kimeneteket is használnak.

Page 30: Alapvető digitális logikai áramkörök

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

RAM (Random Access Memory) • Statikus RAM (SRAM). D flip-flop elemekből épül fel.

Amíg áram alatt van, tartja a tartalmát. Elérési idő: néhány nsec (cache-nek jók).

• Dinamikus RAM (DRAM): minden bit egy tranzisztor és egy kondenzátor: néhány msec-onként frissíteni kell, de nagyobb adatsűrűség érhető el. Elérési idő: néhány tíz nsec (főmemóriák). - régi: FPM (Fast Page Mode) sor-, oszlopcím.- újabb: EDO (Extended Data Output) lehet új

memóriahivatkozás, mielőtt az előző befejeződik.• SDRAM (Synchronous DRAM). A központi óra vezérli.

Blokkos átvitel. Újabban: DDR (Double Data Rate). Az órajel föl- és lefutó élénél is van adatátvitel.

Page 31: Alapvető digitális logikai áramkörök

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

ROM (Read-Only Memory)ROM: gyárilag kialakított tartalom.PROM (Programmable ROM): a tartalom

biztosítékok kiégetésével alakul ki (a PLA-khoz hasonlóan, 3.15. ábra).

EPROM (Erasable PROM): a biztosítékok speciális fénnyel kiolvaszthatók és „kijavíthatók”.

EEPROM: elektromos impulzusokkal.Flash memória: törlés és újraírás csak blokkonként.

Kb. 100 000 használat után „elkopnak”. Ilyen van a legtöbb MP3 lejátszóban, digitális fényképezőgépben …

Page 32: Alapvető digitális logikai áramkörök

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

512 MB-os flash memória (2006)

Page 33: Alapvető digitális logikai áramkörök

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

1 GB-os flash memória (2007)

Page 34: Alapvető digitális logikai áramkörök

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

Az I8086/8088 utasítás rendszereJelőlések : értékadás : felcserélésop, op1, op2: tetszőlegesen választható operandus

(közvetlen, memória vagy regiszter). op1 és op2 közül az egyik regiszter kell legyen!reg: általános, bázis vagy index regisztermem: memória operandusipr: (8 bites) IP relatív cím port: port cím (8 bites eltolás vagy DX)[op]: az op által mutatott cím tartalma

Page 35: Alapvető digitális logikai áramkörök

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

Adat mozgató utasítások Nem módosítják a flag-eket (kivéve POPF és SAHF)

MOV op1, op2 ; op1 op2 (MOVe)XCHG op1, op2 ; op1 op2 (eXCHanGe), op2 sem

; lehet közvetlen operandusXLAT ; AL [BX+AL] (trans(X)LATe), a

; BX által címzett maximum 256 byte-; os tartomány AL-edik byte-jának ; tartalma lesz AL új tartalma

LDS reg, mem ; reg mem, mem+1; DS mem+2, mem+3 (Load DS)

LES reg, mem ; reg mem, mem+1; ES mem+2, mem+3 (Load ES)

LEAreg, mem ; reg mem effektív (logikai) címe ; (Load Effective Address)

Page 36: Alapvető digitális logikai áramkörök

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

A veremmel (stack-kel) kapcsolatos adat mozgató utasítások:

PUSH op ; SP SP-2; (SS:SP) op

PUSHF ; (PUSH Flags)

; SP SP-2; (SS:SP) STATUS

POP op ; op (SS:SP); SP SP+2

POPF ; (POP Flags)

; STATUS (SS:SP); SP SP+2

Az Intel 8080-nal való kompatibilitást célozza az alábbi két utasítás:

SAHF ; STATUS alsó 8 bitje AH

LAHF ; AH STATUS alsó 8 bitje

Page 37: Alapvető digitális logikai áramkörök

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

Aritmetikai utasításokADD op1, op2 ; op1 op1 + op2 (ADD)

Pl.: előjeles/előjel nélküli számok összeadása MOV AX, -1 ; AX=-1 (=0FFFFH)ADD AX, 2 ; AX=1, C=1, O=0

ADC op1, op2 ; op1 op1 + op2 + C ; (ADD with Carry)

Pl.: két szavas összeadás (előjeles/előjel nélküli)ADD AX, BXADC DX, CX ; (DX:AX) = (DX:AX) +

(CX:BX)

INC op ; op op + 1, C változatlan! (INCrement)

Page 38: Alapvető digitális logikai áramkörök

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

SUB op1, op2 ; op1 op1 - op2 (SUBtraction)

CMP op1, op2 ; flag-ek op1 - op2 szerint (CoMPare)

SBB op1, op2 ; op1 op1 - op2 – C:

; a több szavas kivonást segíti.

DECop ; op op - 1, C változatlan ; (DECrement)

NEG op ; op -op (NEGate)

Page 39: Alapvető digitális logikai áramkörök

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

Az összeadástól és kivonástól eltérően a szorzás és osztás esetében különbséget kell tennünk, hogy előjeles vagy előjel nélküli számábrázolást alkalmazunk-e. További lényeges eltérés, hogy két 8 bites vagy 16 bites mennyiség szorzata ritkán fér el 8 illetve 16 biten, ezért a szorzás műveletét úgy alakították ki, hogy 8 bites tényezők szorzata 16, 16 biteseké pedig 32 biten keletkezzék:

Szorzásnál op nem lehet közvetlen operandus!

MUL op ; előjel nélküli szorzás (MULtiplicate),

IMUL op ; előjeles szorzás (Integer MULtiplicate).

Ha op 8 bites AX AL op.

Ha op 16 bites (DX:AX) AX op.

Page 40: Alapvető digitális logikai áramkörök

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

Osztásnál op nem lehet közvetlen operandus!

DIV op ; (DIVide) előjel nélküli osztás,IDIV op ; (Integer DIVide) előjeles osztás,

; A nem 0 maradék előjele megegyezik; az osztóéval.

Ha op 8 bites: AL AX/op hányadosa,AH AX/op maradéka.

Ha op 16 bites: AX (DX:AX)/op hányadosa,DX (DX:AX)/op maradéka.

Osztásnál túlcsordulás azonnal elhal (abortál) a programunk!

Page 41: Alapvető digitális logikai áramkörök

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

Ha bájtot bájttal vagy szót szóval akarunk osztani, akkor:• Előjel nélküli osztás előkészítése AH illetve DX

nullázásával történik. • Előjeles osztás előkészítésére szolgál az alábbi két előjel

kiterjesztő utasítás: CBW ; (Convert Byte to Word)

; AX AL előjel helyesenCWD ; (Convert Word to Double word)

; (DX:AX) AX előjel helyesen Pozitív számok esetén (az előjel 0) az előjel kiterjesztés az AH illetve a DX regiszter nullázását, negatív számok esetén (az előjel 1) csupa 1-es bittel való feltöltését jelenti.

Az előjel kiterjesztés máskor is alkalmazható.

Page 42: Alapvető digitális logikai áramkörök

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

; Két vektor skalár szorzata. 1. változat

code segment para public ’code’

assume cs:code, ds:data, ss:stack, es:nothing

skalar proc far

push ds ; visszatérési cím a verembe

xor ax,ax ; ax 0

push ax ; visszatérés offset címe

mov ax,data ; ds a data szegmensre mutasson

mov ds,ax ; sajnos „mov ds,data”

; nem megengedett

; A

Page 43: Alapvető digitális logikai áramkörök

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

mov cl,n ; cl n, 0 n 255

xor ch,ch ; cx = n szavasan

xor dx,dx ; az eredmény ideiglenes helye

JCXZ kesz ; ugrás a kesz címkére,

; ha CX (=n) = 0

xor bx,bx ; bx 0,

; bx-et használjuk indexezéshez

Page 44: Alapvető digitális logikai áramkörök

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

ism: mov al,a[bx] ; al a[0], később a[1], ...

imul b[bx] ; ax a[0]b[0], a[1]b[1], ...

add dx,ax ; dx részösszeg

inc bx ; bx bx+1, az index növelése

; B

dec cx ; cx cx-1, (vissza)számlálás

JCXZ kesz ; ugrás a kész címkére, ha cx=0

jmp ism ; ugrás az ism címkére

kesz: mov ax,dx ; a skalár szorzat értéke ax-ben

; C

Page 45: Alapvető digitális logikai áramkörök

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

call hexa ; az eredmény kiírása

; hexadecimálisan

mov si,offset kvse ; kocsi vissza soremelés

call kiiro ; kiírása

ret ; vissza az Op. rendszerhez

skalar endp ; a skalár eljárás vége

; D

Page 46: Alapvető digitális logikai áramkörök

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

hexa proc ; ax kiírása hexadecimálisanxchg ah,al ; ah és al felcserélésecall hexa_b ; al (az eredeti ah) kiírásaxchg ah,al ; ah és al visszacserélésecall hexa_b ; al kiírásaret ; visszatérés

hexa endp ; a hexa eljárás vége; ----------------------------------------------------------hexa_b proc ; al kiírása hexadecimálisan

push cx ; mentés a verembemov cl,4 ; 4 bit-es rotálás előkészítéseROR al,CL ; az első jegy az alsó 4 bitencall h_jegy ; az első jegy kiírása ROR al,CL ; a második jegy az alsó 4 bitencall h_jegy ; a második jegy kiírása pop cx ; visszamentés a verembőlret ; visszatérés

hexa_b endp ; a hexa_b eljárás vége

Page 47: Alapvető digitális logikai áramkörök

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

h_jegy proc ; hexadecimális jegy kiírásapush ax ; mentés a verembeAND al,0FH ; a felső 4 bit 0 lesz,

; a többi változatlanadd al,’0’ ; + 0 kódjacmp al,’9’ ; 9 ?JLE h_jegy1 ; ugrás h_jegy1 -hez, ha igenadd al,’A’-’0’-0AH ; A-F hexadecimális jegyek

; kialakításah_jegy1: mov ah,14 ; BIOS szolgáltatás előkészítése

int 10H ; BIOS hívás: karakter kiíráspop ax ; visszamentés a verembőlret ; visszatérés

h_jegy endp ; a hexa_b eljárás vége

Page 48: Alapvető digitális logikai áramkörök

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

kiiro proc ; szöveg kiírás (DS:SI)-tőlpush axcld

ki1: lodsb ; ala következő karaktercmp al, 0 ; al =? 0je ki2 ; ugrás a ki2 címkéhez, ha al=0mov ah,14 ; BIOS rutin paraméterezéseint 10H ; az AL-ben lévő karaktert

; kiírja a képernyőrejmp ki1 ; a kiírás folytatása

ki2: pop axret ; visszatérés a hívó programhoz

kiiro endp ; a kiíró eljárás vége; ----------------------------------------------------------code ends ; a code szegmens vége

Page 49: Alapvető digitális logikai áramkörök

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

data segment para public ’data’n db 3a db 1, 2, 3b db 3, 2, 1kvse db 13, 10, 0 ; kocsi vissza, soremelésdata ends ; a data szegmens vége; ==========================================stack segment para stack ’stack’

dw 100 dup (?) ; 100 word legyen a veremstack ends ; a stack szegmens vége; ==========================================

end skalar ; modul vége, ; a program kezdő címe: skalar

Page 50: Alapvető digitális logikai áramkörök

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

Vezérlés átadó utasítások

Eljárásokkal kapcsolatos utasítások

Eljárás hívás:

CALL op ; eljárás hívás

- közeli: push IP, IP op,

- távoli: push CS, push IP, (CS:IP) op.

Visszatérés az eljárásból:

RET ; visszatérés a hívó programhoz (RETurn)

- közeli: pop IP,

- távoli: pop IP, pop CS.

RET op ; . . . , SP SP+op

; op csak közvetlen adat lehet!

Page 51: Alapvető digitális logikai áramkörök

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

Feltétlen vezérlés átadás (ugrás)

JMP op ; ha op közeli: IP op,

; ha távoli: (CS:IP) op.

Page 52: Alapvető digitális logikai áramkörök

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

Feltételes ugrások, aritmetikai csoport

Előjeles Reláció Előjel nélküli

JZ ≡ JE = JZ ≡ JE

JNZ ≡ JNE ≠ JNZ ≡ JNE

JG ≡ JNLE > JA ≡ JNBE

JGE ≡ JNL ≥ JAE ≡ JNB ≡ JNC

JL ≡ JNGE < JB ≡ JNAE ≡ JC

JLE ≡ JNG ≤ JBE ≡ JNA

A feltételek: Zero, Equal, No (Not), Greater, Less, Above, Below, Carry

Page 53: Alapvető digitális logikai áramkörök

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

A feltételek: Zero, Equal, No (Not), Carry, Sign, Overflow, Parity Even, Parity Odd.

Feltételes ugrások, logikai csoport

a flag igaz (1) flag a flag hamis (0)

JZ ≡ JE Zero JNZ ≡ JNE

JC Carry JNC

JS Sign JNS

JO Overflow JNO

JP ≡ JPE Parity JNP ≡ JPO

JCXZ CX = 0

Page 54: Alapvető digitális logikai áramkörök

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

Minden feltételes vezérlés átadás IP relatív címzéssel (SHORT) valósul meg!

Pl.:

JZ MESSZE ; Hibás, ha

; MESSZE messze van

Megoldás:

JNZ IDE ; Negált feltételű ugrás

JMP MESSZE

IDE: . . .

Page 55: Alapvető digitális logikai áramkörök

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

Ciklus szervező utasítások

IP relatív címzéssel (SHORT) valósulnak meg.

LOOP ipr ; CX CX – 1, ugrás ipr -re,

; ha CX 0

LOOPZ ipr ; CX CX – 1, ugrás ipr -re,

; ha (CX 0 és Z=1)

LOOPE ipr ; ugyanaz mint LOOPZ

LOOPNZ ipr ; CX CX – 1, ugrás ipr -re,

; ha (CX 0 és Z=0)

LOOPNE ipr ; ugyanaz mint LOOPNZ

Page 56: Alapvető digitális logikai áramkörök

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

FeladatokMit nevezünk kombinációs áramkörnek?Milyen kombinációs áramköröket ismer?Milyen be- és kimenetei vannak a multiplexernek, a

demultiplexernek, a dekódolónak?Mire használható a multiplexer, és hogyan?Mire használható a PLA, és hogyan?Milyen aritmetikai áramköröket ismer?Hogy működik a léptető?Hogy működik a „fél összeadó”? Mi indokolja a „fél összeadó” elnevezést?

Page 57: Alapvető digitális logikai áramkörök

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

Feladatok

Hogy épül fel a teljes összeadó?

Milyen részei vannak az ALU-nak?

Milyen be- és kimenetei vannak az 1 bites ALU-nak?

Milyen műveletek végezhetők el az ALU-val?

Hogy működik az átvitel továbbterjesztő/kiválasztó összeadó?

Page 58: Alapvető digitális logikai áramkörök

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

FeladatokHogy érhetünk el az órajelnél finomabb időzítést?Milyen nem kombinációs áramköröket ismer?Kombinációs áramkör-e az ALU?Hogyan csökkenthető az összeadásnál az átvitelekből

származó idő?Hány stabil állapota van az SR tárolónak?Mi a különbség az SR és az időzített SR tároló között?Mi a különbség az SR és D tároló között?Mi a pulzusgenerátor, és mi a működési elve?Mi a különbség a tároló és a flip-flop között?

Page 59: Alapvető digitális logikai áramkörök

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

FeladatokHogy működik az invertáló és a nem invertáló puffer?Miért használnak a memóriáknál invertáló vagy nem

invertáló puffert?Hogy címezhető meg n címlábon 2n nél nagyobb

memória?Mit jelent, hogy a CS/CS# bemenet beállított/negált?Mi a RAM?Milyen elemekből épül fel a SRAM?Milyen elemekből épül fel a DRAM?Hogy működik a DRAM?

Page 60: Alapvető digitális logikai áramkörök

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

Feladatok

Hogy működik az SDRAM?

Mit jelent az FPM rövidítés?

Mit jelent az EDO rövidítés?

Hogy működik a DDR?

Mit jelent a ROM rövidítés?

Hogy működik az EPROM?

Hogy működik az EEPROM?

Milyen memória van a legtöbb fényképezőgépben?

Page 61: Alapvető digitális logikai áramkörök

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

Feladatok

Milyen adat mozgató utasításokat ismer? Hogy működnek?

Milyen aritmetikai utasításokat ismer? Hogy működnek?

Mit csinál az IDIV utasítás?

Mit csinál az CWD utasítás?

Miért hibás az

imul [di+bx]

utasítás?

Page 62: Alapvető digitális logikai áramkörök

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

Feladatok

Írjon program részletet a/b kiszámítására, feltéve, hogy a és b előjeles/előjel nélküli bájt/word!

Írjon program részletet a/b kiszámítására, feltéve, hogy a előjeles és b előjel nélküli bájt/word!

Írjon program részletet a/b kiszámítására, feltéve, hogy a előjeles bájt és b előjeles word!

Írjon program részletet a/b kiszámítására, feltéve, hogy a előjeles bájt és b előjel nélküli word!

Írjon program részletet a/b kiszámítására, feltéve, hogy a előjeles word és b előjel nélküli bájt!

Page 63: Alapvető digitális logikai áramkörök

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

FeladatokMelyik az eljárást hívó utasítás?Hova helyezi el a visszatérési címet a CALL utasítás?Mi a különbség a közeli és távoli eljárás hívás között?Meghívható-e egy közeli/távoli eljárás másik

szegmensből?Honnan „tudja” a CALL utasítás, hogy közeli vagy

távoli a hívott eljárás?Honnan „tudja” a RET utasítás, hogy közeli vagy

távoli ugrással kell visszatérni az eljárásból?Mi történik RET 4 hatására?Mi történik CALL FAR 8[BX][SI] hatására?

Page 64: Alapvető digitális logikai áramkörök

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

FeladatokMilyen a feltételes ugró utasítások címzési módja?Mi a különbség a JA és JG utasítás között?Sorolja fel az aritmetikai csoportba tartozó feltételes

ugró utasításokat!Írjon programrészletet, amely az A, B, C címkéhez

ágazik el aszerint, hogy AX <, = vagy > 0!Írjon programrészletet, amely az A, B, C címkéhez

ágazik el aszerint, hogy X <, = vagy > Y! X előjeles, Y előjel nélküli bájt.

A program JCXZ A utasítása hibás, mert az A címke túl messze van. Hogy javítható a hiba?

Page 65: Alapvető digitális logikai áramkörök

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

FeladatokMilyen ciklus szervező utasításokat ismer? Hogy

működnek?Mi a különbség a LOOP és a LOOPZ utasítás között?Írjon programrészletet az 50 elemű, szavakból álló A

tömb első 0 elemének megtalálására!Írjon programrészletet az 50 elemű, szavakból álló A

tömb utolsó 0 elemének megtalálására!Írjon programrészletet az 50 elemű, bájtokból álló A

tömbben található a betűk megszámlálására!Hibás a LOOPNE A utasítás, mert az A címke túl

messze van. Hogy javítható a hiba?