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 đủ
ppt 49 trang baolam 22180 Free
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:

  • pptbai_giang_lap_trinh_hop_ngu_chuong_5_io_devices.ppt