Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
1
1
Input /Output Devices
Input /Output Devices
Na
Na
ộ
ộ
m nguyeõn ly
m nguyeõn ly
ự
ự
ca
ca
ỏ
ỏ
u ta
u ta
ù
ù
o va
o va
ứ
ứ
ủ
ủ
a
a
ở
va
ứ
ứ
yeõu ca
yeõu ca
u cu
u cu
ỷ
ỷ
a thie
a thie
ỏ
ỏ
t bũ I/O.
t bũ I/O.
Ca
Ca
ự
ự
ch giao tie
ch giao tie
ỏ
ỏ
p gi
p gi
ử
ử
ừa CPU va
tr
ỡ
ỡ
nh nga
nh nga
ộ
ộ
t
t
quaừng.
quaừng.
Na
Na
ộ
ộ
m
m
ủử
ủử
ụ
ụ
ù
ù
c cụ che
c cụ che
ỏ
ỏ
DMA
DMA
Muùc tieõu
í
í
nh
nh
Ca
Ca
ù
ù
ch CPU giao tie
ch CPU giao tie
á
á
p vô
p vô
ù
ù
i thie
i thie
á
á
t bò I/O.
t bò I/O.
Nga
Nga
é
é
t bũ
t bũ
I/O :
I/O :
Thie
Thie
ỏ
ỏ
t bũ I/O la
t bũ I/O la
ứ
ứ
1 thie
1 thie
ỏ
ỏ
t bũ co
t bũ co
ự
ự
kha
kha
ỷ
ỷ
naờng cung ca
naờng cung ca
ỏ
ỏ
ứ
ứ
co
co
ự
ự
kha
kha
ỷ
ỷ
naờng ghi d
naờng ghi d
ử
ử
ừ lie
ừ lie
ọ
ọ
u va
u va
ứ
ứ
o khi CPU
o khi CPU
th
th
ửù
ửù
c thi 1 ta
c thi 1 ta
t
í
í
n hie
n hie
ä
ä
u Chip
u Chip
select t
select t
ư
ư
ơng
ơng
ứ
ứ
ng vơ
ng vơ
ù
ù
i I/O ma
i I/O ma
ø
ø
CPU muo
CPU muo
á
á
n truy xua
ï
i sẽ
i sẽ
đ
đ
i
i
đ
đ
e
e
á
á
n mo
n mo
ï
ï
i I/O nh
i I/O nh
ư
ư
ng
ng
ch
ch
ỉ
ỉ
co
co
ù
đư
ơ
ơ
ï
ï
c truy xua
c truy xua
á
á
t.
t.
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
5
5
Sô
Sô
ñ
ñ
o
o
à
à
gia
gia
û
û
i maõ
i maõ
ñ
CONTROLLER
HARDDISK
CONTROLLER
FLOPPYDISK
CONTROLLER
MONITOR
KEYBOARD
HARD DISK
FLOPPY
DISK
BUS
BUS
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
7
7
CPU lieõn la
CPU lieõn la
ù
ù
c vụ
c vụ
ự
ự
i thie
i thie
ỏ
ỏ
t bũ I/O
t bũ I/O
Ca
Ca
ự
ự
c thie
c thie
ỏ
ỏ
t bũ I/O co
t bũ I/O co
ự
ự
to
to
ỏ
ỏ
c
c
ủ
ủ
o
o
ọ
ọ
la
la
ứ
ứ
m vie
m vie
u
u
ủ
ủ
e
e
ồ
ồ
kha
kha
ộ
ộ
c phu
c phu
ù
ù
c nh
c nh
ử
ử
ụ
ụ
ù
ù
c
c
ự
ự
ủ
ủ
e
e
ọ
ọ
m.
m.
S
S
ửù
ửù
truye
truye
n thoõng tin gi
n thoõng tin gi
ử
ử
ừa thie
ừa thie
ỏ
ỏ
t bũ I/O va
t bũ I/O va
ứ
ứ
8
8
CPU lieân la
CPU lieân la
ï
ï
c vô
c vô
ù
ù
i thie
i thie
á
á
t bò I/O
t bò I/O
B
B
ö
ö
ô
ô
ù
ù
c 1
c 1
: truye
: truye
à
à
ä
ä
m.
m.
B
B
ö
ö
ô
ô
ù
ù
c 2
c 2
: truye
: truye
à
à
n thoâng tin gi
n thoâng tin gi
ö
ö
õa bo
õa bo
ä
ä
nhô
nhô
ù
ù
i thie
i thie
á
á
t bò I/O
t bò I/O
Co
Co
ù
ù
the
the
å
å
to
to
å
å
ch
ch
ứ
ứ
c
c
đ
đ
e
e
à
à
u thie
u thie
á
á
t bò ngoa
t bò ngoa
ï
ï
i vi ba
i vi ba
è
è
ng ca
ng ca
ù
ù
ch
ch
phân chia thơ
phân chia thơ
ø
ø
i gian.
i gian.
Thiết bò I/O
Buffer
Bộ nhớ trong
Tín hiệu điều khiển của bộ nhớ
ộ
ộ
t la
t la
ứ
ứ
s
s
ửù
ửù
la
la
ứ
ứ
m ng
m ng
ửứ
ửứ
ng ch
ng ch
ử
ử
ụng tr
ụng tr
ỡ
ỡ
nh
nh
ủ
ủ
ủ
ủ
ang th
ang th
ửù
ửù
c thi bũ ng
c thi bũ ng
ử
ử
ng.
ng.
Interrupt
Interrupt
ủử
ủử
ụ
ụ
ù
ù
c ta
c ta
ù
ù
o ra bụ
o ra bụ
ỷ
ỷ
ọ
ọ
p tr
p tr
ỡ
ỡ
nh co
nh co
ự
ự
le
le
ọ
ọ
nh INT <number> yeõu ca
nh INT <number> yeõu ca
u
u
phu
phu
ù
ù
c vu
c vu
ù
ù
nga
nga
tho
tho
ỏ
ỏ
ng gaõy ra v
ng gaõy ra v
ỡ
ỡ
1 ly
1 ly
ự
ự
do na
do na
ứ
ứ
o
o
ủ
ủ
o
o
ự
ự
khoõng mong
khoõng mong
muo
muo
ỏ
ỏ
)
)
Do thie
Do thie
ỏ
ỏ
t bũ I/O gaõy ra : ma
t bũ I/O gaõy ra : ma
ự
ự
y in, ba
y in, ba
ứ
ứ
n ph
n ph
ớ
ớ
m, o
m, o
ồ
ồ
ủú
ủú
a
a
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
ì
ì
nh.
nh.
Xãy ra khi ca
Xãy ra khi ca
à
à
n 1 ch
n 1 ch
ư
ư
ơng tr
ơng tr
ì
ì
nh con trong he
nh con trong he
ä
ä
đ
đ
ie
ie
à
à
u ha
u ha
ø
ø
t nha
t nha
ä
ä
p.
p.
Cú pháp gọi 1 ngắt mềm trong chương trình :
INT number
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
13
13
Software Interrupt
Software Interrupt
Mo
Mo
ä
ä
t so
t so
á
á
nga
nga
é
é
t me
t me
a go
a go
ï
ï
i nga
i nga
é
é
t me
t me
à
à
m
m
MOV …
INT 10h
ADD ….
……
3069 F000:F065 F000:AB62
3069 F000:F065 F000:AB62
STL
CLD
PUSH ES
PUSH DS
……
IRET
RETURN TO
CALLING
PROGRAM
F000:F065
ệ
ệ
th
th
ố
ố
ng ng
ng ng
ắ
ắ
t IBM PC/XT
t IBM PC/XT
Ngắt địa chỉ logic địa chỉ VL công dụng
0 00E3:3072 03EA2 lỗI phép chia
1 0600:08ED 068ED chạy từng lệnh
2 F000:E2C3 FE2C3 ngắt không che NMI
3 0600:08E6 068E6 điểm dừng
4 0700:0147 07147 tràn khi làm việc vớI số có dấu
5 F000:FF54 FFF54 In màn hình (BIOS)
6 ,7 dự trữ
8 đến F các ngắt của chip 8259
10 F000:F065 FF065 Vào ra cho Video (BIOS)
11 F000:F84D FF84D kiểm tra cấu hình tbị (BIOS)
12 F000: F841 FF841 kiểm tra kích thước bộ nhớ (BIOS)
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
17
17
H
H
H
ệ
ệ
th
th
ố
ố
ng ng
ng ng
ắ
ắ
t IBM PC/XT
t IBM PC/XT
Ngắt địa chỉ logic địa chỉ VL công dụng
1A F000:FE6E FFE6E thờI gian hệ thống (BIOS)
1B F000:0140 00840 điều khiển Ctrl+Break
………………………………………………………………………………………
20 PSP:0000 Kết thúc chương trình DOS
21 Có thể đặt lại gọI chức năng DOS
F1 – FF không sử dụng
Tùy version DOS, dạng MT một số địa chỉ logic có thể khác nhau
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
19
19
M
M
ộ
ộ
của BIOS, việc sử dụng bộ nhớ kép (shadow memory).
Đối với ngắt lỗi phép chia (INT 0), CS:IP được đặt ở
địa chỉ 0,1,2,3.
CS = 00A7 IP = 1068
Còn INT 8 thì sao ?
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
21
21
Ex : minh họa INT 0 được gọI và thi hành
MOV AL,92
SUB CL,CL
DIV CL
INT 0
INT 3
Đoạn CT trên sẽ xuất thông báo
Divide Error
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
22
22
Interrupt no
Interrupt no
ọ
ọ
i
i
Nga
Nga
ộ
i la
ứ
ứ
nga
nga
ộ
ộ
t khoõng che NMI.
t khoõng che NMI.
Nga
Nga
ộ
ộ
t no
t no
ọ
ọ
i xaừy ra khi CPU ụ
i xaừy ra khi CPU ụ
ỷ
ỷ
1 tra
1 tra
ù
ù
ng tha
ng tha
ự
ự
i khoõng mong
n a
ự
ự
p nguo
p nguo
n bũ gia
n bũ gia
ỷ
ỷ
m tha
m tha
ỏ
ỏ
p
p
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
23
23
Hardware Interrupt
Hardware Interrupt
Nga
Nga
ộ
ộ
t c
ủ
e
e
ỏ
ỏ
n CPU.
n CPU.
ẹ
ẹ
aờ
aờ
ù
ù
c tr
c tr
ử
ử
ng cu
ng cu
ỷ
ỷ
a nga
a nga
ộ
ộ
t c
t c
ửự
ửự
ng la
ộ
t ba
t ba
ứ
ứ
n ph
n ph
ớ
ớ
m la
m la
ứ
ứ
1
1
ủ
ủ
ie
ie
ồ
ồ
n h
n h
ỡ
ỡ
nh nga
nh nga
ộ
ộ
t c
ca
ỏ
ỏ
m nga
m nga
ộ
ộ
t c
t c
ửự
ửự
ng.
ng.
Ngt cng c phỏt sinh bI chip 8259 Interrupt
Controler, phỏt tớn hiu cho CPU tm ỡnh ch s thi
hnh ca CT hin hnh v x lý ngt.
Chuong 5 : I/O Devices
Chuong 5 : I/O Devices
24
24
Hardware Interrupt
Hardware Interrupt
ẹ
ẹ
aờ
aờ
ù
ù
c tr
c tr
u nga
u nga
ộ
ộ
t
t
quaừng
quaừng
INTR
INTR
.
.
Nga
Nga
ộ
ộ
t ba
t ba
ứ
ứ
n ph
n ph
ớ
ớ
m la
m la
ứ
ứ
1
1
ử
ử
ụng tr
ụng tr
ỡ
ỡ
nh co
nh co
ự
ự
the
the
ồ
ồ
ca
ca
ỏ
ỏ
m nga
m nga
ộ
ộ
t c
t c
ửự
ửự
ng b
ng b
ù
ù
da
da
ø
ø
i 1024 bytes
i 1024 bytes
đ
đ
a
a
ë
ë
t ơ
t ơ
û
û
đ
đ
a
a
à
à
u bo
u bo
ä
ä
nhơ
nhơ
ử
ử
la
la
ø
ø
1 bo
1 bo
ä
ä
4 bytes
4 bytes
đ
đ
a
a
ù
ù
nh so
nh so
á
á
t
t
ừ
ừ
0h
0h
-
-
ï
ï
o tha
o tha
ø
ø
nh ba
nh ba
û
û
ng vector nga
ng vector nga
é
é
t
t
.
.
Mỗi vector ngắt chứa đòa chỉ của 1 chương
trình phục vụ ngắt đặt trong bộ nhớ.
Các chương trình phục vụ này liên lạc trực
tiếp với các thiết bò I/O thông qua 1 số thanh
ghi gọi là cổng (port) vào/ra.