Phan Trung Kiên
1
Kiến trúc máy tính
Chương 6
HỆ
THỐNG VÀO/RA
Phan Trung Kiên
2
Nội dung chương 6
Tổng quan về
hệ
thống vào/ra
Các phương pháp địa chỉ
hóa cổng
vào/ra
Các phương pháp điều khiển vào/ra
Nối ghép thiết bị
ngoại vi.
Các thành phần chính:
•
Các thiết bị
ngoại vi
•
Mạch nối ghép vào/ra (Modul vào/ra)
Phan Trung Kiên
4
Tổng quan về
Hệ
thống vào/ra
Cache
Bus chính
BXL
Bộ
nhớ
chính
Mạch ĐK
vào/ra
Mạch ĐK
vào/ra
Mạch ĐK
vào/ra
Đĩa Đĩa
Khuôn dạng dữ
liệu khác nhau
•
Tất cả
có
tốc độ
chậm hơn BXL và
RAM
Chức năng của Modul vào/ra:
•
Nối ghép với BXL và
hệ
thống nhớ
•
Nối ghép với một hoặc nhiều TBNV
Phan Trung Kiên
6
Các thiết bị
Một số
TBNV thông dụng
Phan Trung Kiên
8
Sơ đồ
khối của TBNV
TÝn hiÖu §K
tõ Modul
vµo/ra
TÝn hiÖu TT
®Õn Modul
vµo/ra
D÷ liÖu ®Õn
vµ tõ Modul
vµo/ra
D÷ liÖu ®Õn vµ
tõ m«i tr−êng
bªn ngoµi
Logic §K
Bé ®Öm
Bé chuyÓn
®æi tÝn hiÖu
Phan Trung Kiên
9
Các thành phần cơ bản của TBNV
Bộ
10
Modul vào/ra
Chức năng:
•
Điều khiển và định thời gian
•
Trao đổi thông tin với BXL
•
Trao đổi thông tin với TBNV
•
Bộ đệm dữ
liệu
•
Phát hiện lỗi
Phan Trung Kiên
11
Sơ đồ
khối của Modul vào/ra
C¸c ®−êng
d÷ liÖu
Nèi ghÐp víi
liệu: đệm dữ
liệu trong
quá
trình trao đổi
Các cổng vào/ra: kết nối với TBNV,
mỗi cổng có
một địa chỉ
xác định
Thanh ghi điều khiển/trạng thái: lưu
giữ thông tin điều khiển, trạng thái
cho các cổng vào/ra
Logic điều khiển: điều khiển Modul
vào/ra
Phan Trung Kiên
13
Các PP địa chỉ
hóa cổng vào/ra
•
Cần có
tín hiệu phân biệt truy nhập
cổng vào/ra hay truy nhập bộ
nhớ
•
Sử
dụng lệnh vào/ra chuyên dụng: IN,
OUT.
Phan Trung Kiên
15
Ví
dụ đối với BXL 8088
BỘ
NHỚ
THIẾT BỊ
VÀO THIẾT BỊ
RA
Lệnh: MOV
bộ
nhớ
Cách truy nhập:
•
Dùng chung tín hiệu như truy nhập bộ
nhớ
•
Dùng chung lệnh trao đổi dữ
liệu với bộ
nhớ
Phan Trung Kiên
17
Ví
dụ đối với BXL 8088
Lệnh và
tín hiệu
điều khiển chung
cho cả
Vào/ra bằng chương trình
Nguyên tắc chung:
•
Sử
dụng lệnh vào/ra trong chương trình
để trao đổi dữ
liệu với cổng vào/ra
•
Khi BXL thực hiện chương trình, gặp
lệnh vào/ra thì BXL điều khiển trao đổi
dữ
liệu với thiết bị
ngoại vi
Phan Trung Kiên
20
Hoạt động vào/ra bằng chương trình
BXL yêu cầu thao tác vào/ra
Modul vào/ra thực hiện thao tác
hoạt động
Đọc trạng thái
của TBNV
TBNV sẵn sàng?
Trao đổi DL
với TBNV
Sai
Đúng
Phan Trung Kiên
22
Các lệnh vào/ra
BXL phát ra địa chỉ
•
Xác định Modul vào/ra (và
thiết bị
nếu
một Modul chứa nhiều hơn 1 thiết bị)
BXL phát ra lệnh:
•
Điều khiển: yêu cầu Modul làm việc gì
VD: điều khiển quay đĩa
thành thao tác
Tốn thời gian của BXL
Phan Trung Kiên
24
Phân loại ngắt
Ngắt cứng
(Hard Interrupt): yêu cầu ngắt
do mạch phần cứng bên ngoài gửi đến
•
Ngắt cứng NMI
(None Maskable Interrupt): có
yêu cầu ngắt thì
bắt buộc phải ngắt
Ví
dụ: Có
sự
cố
liệu
với
TBNV
Phan Trung Kiên
25
Phân loại ngắt
Ngắt mềm
(Soft Interrupt): Yêu cầu ngắt
do lệnh gọi ngắt nằm trong chương trình
sinh ra
Ngắt ngoại lệ
(Exception Interrupt): là
các
ngắt sinh ra do lỗi xuất hiện trong quá
trình thực hiện chương trình
•
Ví
dụ: