Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 45

BI GING K THUT VI X L

NGNH IN T-VIN THNG I HC BCH KHOA NNG CA H VIT VIT, KHOA TVT

Ti liu tham kho [1] K thut vi x l, Vn Th Minh, NXB Gio dc, 1997 [2] K thut vi x l v Lp trnh Assembly cho h vi x l, Xun Tin, NXB Khoa hc & k thut, 2001

CHNG 6 CC KIU I/O


6.1 Thm d (Polling) 6.2 I/O iu khin bng ngt (Interrupt)
-

6.3 DMA (Direct Memory Access)

THM D
A19 A18 : A0 D7 D6 D5 D4 D3 A0 A1 A2 A3 A4 A5 A6 A7 E IOR IOW B0 B1 B2 B3 B4 B6 B7 DIR 5V

8088 Minimum Mode

D2 D1 D0

74LS245 B5

mov L1: in cmp je


A A A A A A A A A A A A A A A A IOR 1111119876543210 543210

dx, F000 al, dx al, FF L1 : :

THE CIRCUIT

A19 A18 :

5V

A0
D7 D6 D5 D4 D3 A0 B0 A1 B1 A2 B2 A3 B3 A4 B4 74LS245 B5 A5 A6 A7 E IOR IOW B6 B7 DIR D0 Q0 D1 Q1 D2 Q2 D3 Q3 D4 Q4 D574LS373 Q5 D6 Q6 D7 Q7 A A A A A A A A A A A A A A A A IOR 1111119876543210 543210 LE OE

8088 Minimum Mode

D2 D1 D0

AAAAAAAAAAAAAAAAIOW 1111119876543210 543210

BI TON

Chng trnh to ra hiu ng LED chy: - Ban u LED chy t trn xung - Khi nhn phm thp nht th LED thay i hng chy - Khi nhn phm cao nht th chng trnh kt thc

CHNG TRNH
mov mov mov out mov dec jnz cmp jne rol cmp jne jmp ror cmp jne dx, ah, al, dx, cx, cx L2 ah, L3 al, al, L1 L4 al, al, L1 F000 00 01 al FFFF L4: mov bl, in al, cmp al, je L6 test al, jnz L5 xor ah, jmp L6 test al, jz L7 mov al, jmp L1 al dx FF 01 FF 80 bl

L1:
L2:

00 1 01 L5: L6: 1 80 L7:

L3:

KHUYT IM CA THM D

Tn nhiu thi gian

NgI s dng c th nh phm trc khi lnh in al, dx c thc hin, do b vi xi x l s khng bit rng ngI s dng nhn phm
Lm sao khc phc cc khuyt im ?

KHUYT IM CA THM D
L1: L2: mov mov mov out mov dec jnz cmp jne rol cmp jne jmp ror cmp jne dx, ah, al, dx, cx, cx L2 ah, L3 al, al, L1 L4 al, al, L1 F000 00 01 al FFFF L4: mov bl, in al, cmp al, je L6 test al, jnz L5 xor ah, jmp L6 test al, jz L7 mov al, jmp L1 al dx FF 01 FF 80 bl

00 1 01 L5: L6: 1 80 L7:

L3:

NGT L G?

THM D
instruction
While studying, Ill check the bucket every 5 minutes to see if it is already full so that I can transfer the content of the bucket to the drum.

Input Memory Device

P THM D

NGT
instruction
Ill just study. When the speaker starts playing music it means that the bucket is full. I can then transfer the content of the bucket to the drum.

Input Memory Device

Interrupt request P INTERRUPT

INTERRUPT- NGT
B vi x l khng cn phi kim tra tnh sn sng ca thit b I/O. Cc thit b I/O s bo cho vi x l bit khi chng sn sng B vi x l c th lm cng vic khc khi thit b I/O khng c nhu cu trao I d liu

INTERRUPT- NGT

Mt s thut ng cn nh:
Yu

cu ngt u vo ngt u ra chp nhn ngt Chng trnh con phc v ngt Vector ngt S ngt Bng cc vector ngt

INTERRUPT SERVICE ROUTINE (ISR) - CHNG TRNH CON PHC V NGT INTERRUPT VECTOR - VECTOR NGT

L chng trnh c thc hin khi c mt yu cu ngt c chp nhn Kt thc bng lnh IRET a ch ca chng trnh con phc v ngt Bao gm 4 byte:

byte cho a ch Offset 2 byte cho a ch Segment

INTERRUPT VECTOR NUMBER S NGT


L mt s c dng phn bit cc yu cu ngt. Bi v c th c nhiu hn mt thit b pht yu cu ngt n b vi x l cho nn cho b vi x l c th nhn bit c thit b th mI thit b s c gn cho mt s ngt Trong h thng 8088, co th c n 256 s ngt (t 00h n FFh)

INTERRUPT VECTOR TABLE BNG CC VECTOR NGT


L vng nh c dnh ring lu tr cc vector ngt C th xem nh l mt mng cc vector ngt

Mng

ny c 256 phn t Mi phn t gm 4 byte: 2 byte u lu a ch offset, 2 byte sau lu a ch segment Cc vector ngt c lu tr theo trt t tng dn ca s ngt

BNG CC VECTOR NGT

PHN NG CA VI X L KHI KHNG C NGT


1.

2. 3. 4.

5.

Khi bt cng tc ngun hoc nhn nt reset. B vi x l c khi ng: (IP) = 0000h (CS) = FFFFh IF = 0 B vi x l tm v ly 1 byte lnh. IP tng ln 1. B vi x l gii m v thc hin lnh nu tt c cc byte lnh ca mt lnh c ly. Quay tr li bc 2.

PHN NG CA VI X L KHI C NGT


6.

7.

8.

Thit b I/O a yu cu ngt n b vi x l bng cch lm cho u vo ngt INTR chuyn sang mc cao. B vi x l s hon thnh lnh ang thc hin trc khi chp nhn ngt B vi x l chp nhn ngt bng cch a ra tn hiu chp nhn ngt mc thp t chn INTA. Lc ny thit b I/O s lm cho tn hiu INTR chuyn v mc thp. Thit b I/O s a s ngt c gn cho n n b vi x l thng qua D-Bus. B vi x l s lu tr s ngt ny vo mt thanh ghi tm thi

PHN NG CA VI X L KHI C NGT


9. 10. 11. 12. 13.

14.

B vi x l lu gi tr hin thi ca thanh ghi c vo stack. B vi x l xo c ngt B vi x l lu gi tr hin thi ca CS vo stack. B vi x l lu gi tr hin thI ca IP vo stack. B vi x l nhn s ngt vi 4. Kt qu ny chnh l a ch ca ni lu tr vector ngt tng ng trong bng cc vector ngt. Hai byte u tin ca vector ngt c copy vo IP v hai byte tip theo c copy vo CS. Quay tr v bc 2.

8088 V MT THIT B RA N GIN


A19 A18 : A0 D7 D6 D5 D4 D3 D0 D1 D2 D3 D4 D5 D6 D7 LE IOR IOW Q0 Q1 Q2 Q3 Q4 Q6 Q7 OE

8088 Minimum Mode

D2 D1 D0

74LS373 Q5

A A A A A A A A A A A A A A A A IOW 1111119876543210 543210

8088 V MT THIT B VO N GIN


A19 A18 : A0 D7 D6 D5 D4 D3 A0 A1 A2 A3 A4 A5 A6 A7 E IOR IOW B0 B1 B2 B3 B4 B6 B7 DIR 5V

8088 Minimum Mode

D2 D1 D0

74LS245 B5

A A A A A A A A A A A A A A A A IOR 1111119876543210 543210

8088 V THIT B VO HOT NG THEO C CH NGT


A19 A18 5V

: A0
D7 D6 D5 D4 A7 A6 A5 A4 A3 A2 A1 A0 E IOR IOW INTR INTA INTR A A A A A A A A A A A A A A A A IOR 1111119876543210 543210 B7 B6 B5 B4 B3 B1 B0

8088 Minimum Mode

D3 D2 D1 D0

74LS245 B2

DIR

8088 V MT THIT B VO HOT NG THEO C CH NGT

A19 A18 :

5V

A0
D7 D6 D5 D4 D3 D2 A7 A6 A5 A4 A3 A1 A0 E IOR IOW INTR INTA 5V B0 B1 B2 B3 B4 B6 B7

74LS245 B5 A2

8088 Minimum Mode

D1 D0

DIR

5V

set

INTR

A A A A A A A A A A A A A A A A IOR 1111119876543210 543210

clr 5V

8088 V MT THIT B VO HOT NG THEO C CH NGT


A19 A18 : A0 D7 D6 D5 D4 D3 D2 D1 D0 A7 A6 A5 A4 B7 B6 B5 B4 5V

8088 Minimum Mode

A3 B3 74LS245 B2 A2 A1 B1 A0 E B0

DIR

IOR IOW INTR INTA

5V 5V D set Q INTR

A A A A A A A A A A A A A A A A IOR 1111119876543210 543210

clr

INTA

8088 V MT THIT B VO HOT NG THEO C CH NGT

A19 A18 : A0 D7 D6 D5 D4 D3 D2 D1 D0 A7 A6 A5 A4 B7 B6 B5 B4

5V

5V D7 D6 D5 D4 D3 D2 D1 D0 INTA DIR A7 A6 A5 A4 A3 74LS245 A2 A1 A0 E B7 B6 B5 B4 B3 B2 B1 B0

8088 Minimum Mode

A3 B3 74LS245 B2 A2 A1 B1 A0 E B0

DIR

IOR IOW INTR INTA

5V 5V D set Q INTR

A A A A A A A A A A A A A A A A IOR 1111119876543210 543210

clr

INTA

8088 V MT THIT B VO HOT NG THEO C CH NGT


A19 A18 : A0 D7 D6 D5 D4 D3 D2 D1 D0 A7 A6 A5 A4 A3 74LS245 A2 A1 A0 E IOR IOW INTR INTA B7 B6 B5 B4 B3 B2 B1 B0 D7 D6 D5 D4 D3 D2 D1 D0 INTA DIR A7 A6 A5 A4 A3 A2 A1 A0 E 5V

INT 3
5V B7 B6 B5 B4 B3 B1 B0

74LS245 B2

8088 Minimum Mode

DIR

5V 5V D set Q INTR

A A A A A A A A A A A A A A A A IOR 1111119876543210 543210

clr

Q INTA RESET

THE CIRCUIT
A0
D7 D6 D5 D4 D3 A0 B0 A1 B1 A2 B2 A3 B3 A4 B4 74LS245 B5 A5 A6 A7 E IOR IOW B6 B7 DIR

A19 A18 :

5V

8088 Minimum Mode

D2 D1 D0

D0 Q0 D1 Q1 D2 Q2 D3 Q3 D4 Q4 D574LS373 Q5 D6 Q6 D7 Q7
A A A A A A A A A A A A A A A A IOR 1111119876543210 543210 LE OE

AAAAAAAAAAAAAAAAIOW 1111119876543210 543210

CHNG TRNH CHNH


ISR bt u t 52800h mov mov mov mov mov mov mov sti mov mov mov ax,0000 ds, ax bx, 000C ax, 2800 [bx], ax ax, 5000 [bx+02], ax dx, F000 ah, 00 al, 01 L1: cmp je out mov dec jnz cmp jne rol jmp ror jmp ah, L4 dx, cx, cx L2 ah, L3 al, L1 al, L1 88 al FFFF Kt thc

L2:

00 1

L3:
L4:

CHNG TRNH CON PHC V NGT (ISR)


mov in test jnz xor jmp test jnz mov mov iret bl, al, al, S1 ah, S2 al, S2 ah, al, al dx 01 FF 80 88 bl

S1:

S2:

8259

ICW

ICW1, ICW2

ICW3, ICW4

OCW1 V OCW2

OCW3

8259 N

ICW1: 13H ICW2: 08H ICW3: 09H

INTERRUPT SOURCES IN PC

SOURCES OF NMI

8259S NI TNG

8259S NI TNG

IRQ9 INSTEAD OF IRQ2

INTERRUPTS (SUMMARY)

EDGE TRIGGERED AND INTERRUPT SHARING


Level triggered mode: IRQ line should be brought down before EOI. Edge triggered mode: noise on IRQ lines might cause false interrupts.

New computer and busses.


Level

triggered. Interrupt sharing.

You might also like