Bài giảng Lập trình hợp ngữ - Chương 5: IO Devices
Input /Output Devices
Muïc tieâu
Naém nguyeân lycaáu taïo vañaëc ñieåm cuûa
thiebI/.
Nhieäm vuvayeâu caàu cuûa thiebI/.
Caùch giao tieáp giöõCPU vathiebI/.
Hieåu caùc böôùc trong quaù trình ngaét
quaõn.
Naém ñöôïcô cheDMA
Chuong 5 : I/O Devices
1
Noäi dung
▪ Nguyeân lyxuanhaäp trong maùy tính
▪ Caùch CPU giao tieáp vôthiebI/.
▪ Ngaquaõng
▪ DMA
▪ Caùc thieát bò I/O :
Hard Disk,Floopy Disk, Printer,
Keyboard,Mouse
Chuong 5 : I/O Devices
2
Thieát bI/O :
▪ Thieát bò I/O la1 thieát bò cokhaû
naêng cung caáp dölieäu khi CPU
yeâu caàu trong taùc vuñoïc vacoù
khanaêng ghdölieäu vaøo khCPU
thöïc th1 taùc vugh.
Chuong 5 : I/O Devices
3
Laøm sao CPU nhaän bieát moät I/O
▪ Moãi I/O coù 1 ñòa chæ rieâng goïi laø coång (port). Khi
CPU truy xuaát I/O , CPU xuaát ra 1 ñòa chæ.
▪ Moät soá bit cao cuûa ñòa chæ ñi vaøo boä giaûi maõ, treân
ñöôøng ra cuûa bobogiaûi masecotín hieäu Chip
selectöông öùng vôI/O maCPU muoán truy xua.
Caùñòa chthaáp coøn laseññeán moI/O nhöng
chcoI/O naøo coñöôøng Chip Selectích cöïc môùi
ñöôïc truy xua.
Chuong 5 : I/O Devices
4
Sô ñoà giaûi maõ ñòa chæ
ROMCS
RAMCS
Bit cao
ADDRESS BUS
I/OCS
CPU
Caùc bit thaáp Address bus
Chuong 5 : I/O Devices
5
Minh
hoïa
FLOPPY
DISK
HARD DISK
KEYBOARD
MONITOR
VIDEO
CONTROLLER
KEYBOARD
CONTROLLER
HARDDISK
CONTROLLER
FLOPPYDISK
CONTROLLER
MEMORY
CPU
BUS
Chuong 5 : I/O Devices
6
CPU lieân laïc vôùi thieát bò I/O
▪ Thieát bò ngoaïi vi lieân laïc vôùi CPU thoâng
qua caùc coång I/O .
Caùc thieát bI/O cotoác ñolaøm vieäc chaäm hôn toác ñocuûa
CPU raánhieàu ➔ ñekhaéc phuïc nhöôïc ñieåm naøy ngöôøta
duøng vuøng nhôñeäm.
Sötruyeàn thoâng tin giöõa thieábI/O vaCPU ñöôïc thöïc
hieän theo 2 böôùc :
Chuong 5 : I/O Devices
7
CPU lieân laïc vôùi thieát bò I/O
Böôùtruyeàn thoâng tin giöõa bonhôtrong
vabonhôñeäm.
Böôùc 2 : truyeàn thoâng tin giöõa boä nhôù ñeäm
vaø thieát bò I/O.
Chuong 5 : I/O Devices
8
CPU lieân laïc vôùi thieát bò I/O
▪ Cothetochöùc ñe1 CPU laøm vieäc ñoàng
thôøi vôùi nhieàu thieábò ngoaïi vi baèng caùch
phaân chia thôgia.
Buffer
Thieát bò I/O
Boä nhôù trong
Tín hieäu ñieàu khieån töø CPU
Tín hieäu ñieàu khieån cuûa boä nhôù
ñeäm
Chuong 5 : I/O Devices
9
Ngaét quaõng (Interrupt)
▪ Ngaét (Interrupt) laø gì ? :
Ngaét laø söï laøm ngöøng chöông trình ñang chaïy.
▪ Moät interrupt xuaát hieän khi 1 chöông trình
ñang thöïc thi bò ngöng.
▪ Interrupt ñöôïc taïo ra bôûi nhieàu lyù do khaùc
nhau
Chuong 5 : I/O Devices
10
Ngaét quaõng (Interrupt)
▪ Do user laäp trình coù leänh INT <number> yeâu caàu
phuïc vuï ngaét quaõng (nhö xuaát nhaäp chaúng haïn).
▪ Do heä thoáng gaây ra vì 1 lyù do naøo ñoù khoâng mong
muoán (nhö loãi cuûa pheùp chia 0, pheùp tính bò traøn
soá…)
▪ Do thieát bò I/O gaây ra : maùy in, baøn phím, oå ñóa ...
Chuong 5 : I/O Devices
11
Software Interrupt
▪ Ngaét meàm :
Do thi haønh leänh INT trong chöông trình.
Xaõy ra khi caàn 1 chöông trình con trong heä
ñieàu haønh vaø thöôøng laø chöông trình con
xuaát nhaäp.
Cuù phaùp goïi 1 ngaét meàm trong chöông trình :
INT number
Chuong 5 : I/O Devices
12
Software Interrupt
▪ Moät soá ngaét meàm thoâng duïng :
INT 10h : Video services
INT 16h : Keyboard services
INT 17h : Printer services
INT 1AH : Time of Day
INT 1CH : User Time Interrupt
INT 21H : Dos Service
Chuong 5 : I/O Devices
13
Thí duï minh hoïa goïi ngaét meàm
ROM BIOS
CALLING PROGRAM
3
MOV …
INT 10h
ADD ….
……..
STL
CLD
PUSH ES
PUSH DS
……
1
F000:F065
F000:F066
F000:F067
F000:F068
2
RETURN TO
CALLING
PROGRAM
………….
IRET
4
3069 F000:F065
F000:AB62
INTERRUPT VECTOR TABLE
Chuong 5 : I/O Devices
14
Giải thích
1. Con số theo sau INT báo cho CPU biết phải định vị
mục nào trong bảng vector ngắt quãng.
2. CPU nhảy đến địa chỉ lưu trong bảng vector ngắt
quã ng (F000:F065).
3. Một chương trình con (điều khiển ngắt) tại F000:F065
bắt đầu được thi hành và hoàn tất khi gặp lệnh IRET.
4. lệnh IRET giúp CT quay trở lại ngay sau lệnh gọi ngắt
và tiếp tục thi hành lệnh này.
Chuong 5 : I/O Devices
15
Hệ tng nt IBM PC/XT
Ngắt
địa chỉ logic
địa chỉ VL
03EA2
068ED
FE2C3
068E6
công dụng
0 00E3:3072
1 0600:08ED
2 F000:E2C3
3 0600:08E6
4 0700:0147
5 F000:FF54
6 ,7 dự trữ
lỗI phép chia
chạy từng lệnh
ngắt không che NMI
điểm dừng
07147
tràn khi làm việc vớI số có dấu
In màn hì nh (BIOS)
FFF54
8 đến F các ngắt của chip 8259
10 F000:F065
11 F000:F84D
12 F000: F841
FF065
FF84D
FF841
Vào ra cho Video (BIOS)
kiểm tra cấu hình tbị (BIOS)
kiểm tra kích thước bộ nhớ (BIOS)
Chuong 5 : I/O Devices
16
Hệ tng nt IBM PC/XT
Ngắt
13
địa chỉ logic
F000:EC59
F000:E739
F000:F859
F000:E82E
địa chỉ VL
FEC59
FE739
công dụng
Vào/ra đĩa (BIOS)
14
vào/ra RS 232 (BIOS)
vào/ra cassette (BIOS)
Vào/ra bàn phí m (BIOS)
15
FF859
16
FE82E
0700:0147
07147
FFF54
tràn khi làm việc vớI số có dấu
2 F000:FF54
3 ,7 dự trữ
In màn hì nh (BIOS)
8 đến F các ngắt của chip 8259
10 F000:F065
11 F000:F84D
12 F000: F841
…….
FF065
FF84D
FF841
Vào ra cho Video (BIOS)
kiểm tra cấu hình tbị (BIOS)
kiểm tra kích thước bộ nhớ (BIOS)
Chuong 5 : I/O Devices
17
Hệ tng nt IBM PC/XT
Ngắt
1A
địa chỉ logic
F000:FE6E
F000:0140
địa chỉ VL
FFE6E
công dụng
thờI gian hệ thống (BIOS)
điều khiển Ctrl+Break
1B
00840
………………………………………………………………………………………..
20
PSP:0000
---------
Kết thúc chương trình DOS
gọI chức năng DOS
21 Có thể đặt lại
----------
--------------------------------------------------------------------------------------------------
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
18
Mt ố ví ụ minh a
Ex : Xem bảng vector ngắt quãng trên MT
a. Sử dụng DEBUG để hiển thị nội dung của
các ô nhớ 0000:002Fh
b. Tìm CS:IP của lỗi phép chia, NMI và INT 8
Đối vớI lỗi phép chia INT 0, CS:IP được đặt
ở địa chỉ 0,1,2,3.
Chuong 5 : I/O Devices
19
Có thể dữ liệu trên máy PC của bạn khác vớI dữ liệu
trên vì còn phụ thuộc vào version của DOS, ngày tháng
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
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hợp ngữ - Chương 5: IO Devices", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_lap_trinh_hop_ngu_chuong_5_io_devices.ppt

