Nguyen Thanh Tung THPT QUY H
OP I
1
KiÕn tróc m¸y tÝnh
Ch¬ng 6
HÖ thèng vµo/ra
2
Nội dung bài giảng
Chương 1: Giới thiệu chung
Chương 2: Biểu diễn DL & số học máy tính
Chương 3: Bộ xử lý
Chương 4: Kiến trúc tập lệnh
Chương 5: Hệ thống nhớ
Chương 6: Hệ thống vào/ra
3
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.
4
Tổng quan về Hệ thống vào/ra
Chức năng của hệ thống vào/ra: trao đổi thông
tin giữa máy tính với thế giới bên ngoài
Các thao tác cơ bản:
Vào dữ liệu (Input)
Ra dữ liệu (Output)
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)
5
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
§å häa
M¹ng
C¸c ng¾t
6
Tại sao cần Modul vào/ra?
Không thể nối trực tiếp các thiết bị ngoại với
bus hệ thống, vì:
BXL không thể điều khiển được tất cả TBNV
Tốc độ trao đổi dữ liệu khác nhau
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
7
Các thiết bị ngoại vi
Chức năng: chuyển đổi dữ liệu giữa bên trong
và bên ngoài máy tính
Phân loại:
TBNV giao tiếp người-máy: màn hình, bàn phím,
máy in, ...
TBNV giao tiếp máy-máy: các thiết bị theo dõi và
kiểm tra
TBNV truyền thông: modem, card giao tiếp mạng
(NIC)
8
Mét sè TBNV th«ng dông
9
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
10
Các thành phần cơ bản của TBNV
Bộ chuyển đổi tín hiệu (transducer): chuyển
đổi dữ liệu từ dạng tín hiệu điện thành dạng
năng lượng khác và ngược lại
Logic điều khiển (control logic): điều khiển
hoạt động của TBNV đáp ứng theo yêu cầu từ
Modul vào/ra
Bộ đệm (buffer): chứa dữ liệu tạm thời khi trao
đổi dữ liệu giữa Modul vào/ra và TBNV
11
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
12
Sơ đồ khối của Modul vào/ra
Các đường
dữ liệu
Nối ghép với
TBNV
Các đường
địa chỉ
Các đường
điều khiển
Thanh ghi dữ liệu
Thanh ghi ĐK/trạng thái
Logic
vào/ra
Logic
giao diện
với TBNV
Logic
giao diện
với TBNV
Dữ liệu
Điều khiển
Trạng thái
Dữ liệu
Điều khiển
Trạng thái
Nối ghép với
bus hệ thống
13
Thành phần cơ bản của Modul vào/ra
Thanh ghi dữ 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
14
Các PP địa chỉ hóa cổng vào/ra
Vào/ra cách biệt (isolated IO)
Vào/ra theo bản đồ bộ nhớ
(memory mapped IO)
15
Vào/ra cách biệt
Đặc điểm:
Không gian địa chỉ cổng vào/ra nằm ngoài không
gian địa chỉ bộ nhớ
Cách truy nhập:
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.
16
VÝ dô ®èi víi BXL 8088
Bé nhí ThiÕt bÞ vµo ThiÕt bÞ ra
LÖnh: MOV IN OUT
T/h §K: IO/M = 0 IO/M = 1 IO/M = 1
1 MB
00000H
FFFFFH
64 KB
0000H
FFFFH
64 KB
0000H
FFFFH
17
Vào/ra theo bản đồ bộ nhớ
Đặc điểm:
Không gian địa chỉ cổng vào/ra nằm trong không
gian địa chỉ 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ớ
18
VÝ dô ®èi víi BXL 8088
LÖnh vµ tÝn hiÖu
®iÒu khiÓn chung
cho c¶ hai:
MOV
IO/M = 0
00000H
FFFFFH
Vµo/ra
Bé nhí
19
C¸c ph¬ng ph¸p ®iÒu khiÓn vµo/ra
Vµo/ra b»ng ch¬ng tr×nh (Programmed IO)
Vµo/ra b»ng ng¾t (Interrupt Driven IO)
Vµo/ra b»ng DMA (Direct Memory Access)
20
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
21
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
Modul vào/ra thiết lập các bit trạng thái
BXL kiểm tra các bit trạng thái:
Nếu chưa sẵn sàng thì quay lại kiểm tra
Nếu đã sẵn sàng thì tiến hành trao đổi dữ liệu với
modul vào ra
22
Lu ®å ho¹t ®éng
§äc tr¹ng th¸i
cña TBNV
TBNV s½n sµng ?
Trao ®æi DL
víi TBNV
Sai
§óng
23
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
Kiểm tra: kiểm tra trạng thái
VD: nguồn? lỗi?
Đọc/ghi
Modul truyền DL qua bộ đệm từ/tới thiết bị
24
§Æc ®iÓm
BXL trùc tiÕp ®iÒu khiÓn vµo/ra
•
NhËn biÕt th«ng tin tr¹ng th¸i tõ TBNV
•
Ph¸t tÝn hiÖu ®iÒu khiÓn Read/Write
•
Trao ®æi d÷ liÖu
BXL chê ®Õn khi Modul vµo/ra hoµn thµnh
thao t¸c
Tèn thêi gian cña BXL
25
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ố nguồn; lỗi bộ nhớ
Ngắt cứng MI (Maskable Interrupt): có yêu cầu
ngắt thì có hai khả năng xẩy ra:
Được ngắt nếu ngắt đó ở trạng thái cho phép
Không được ngắt nếu ngắt đó ở trạng thái bị cấm
Ngắt cứng MI dùng để trao đổi dữ liệu với TBNV