10/12/2017<br />
<br />
Bộ xử lí dùng 2 cách để liên lạc với các bộ phận vào ra:<br />
+ cách thứ nhất: cách này thường được sử dụng, là cách dùng một vùng<br />
địa chỉ của bộ nhớ làm vùng địa chỉ của các ngoại vi. Khi đọc hay viết vào vùng địa<br />
chỉ này của bộ nhớ là liên hệ đến các ngoại vi.<br />
<br />
Cấu trúc hệ thống vào ra<br />
<br />
1<br />
<br />
10/12/2017<br />
<br />
Tất cả các thiết bị ngoại vi đều chậm hơn CPU và RAM. Vì<br />
vậy cần có các mô-đun vào ra nối ghép các thiết bị ngoại vi<br />
với CPU và bộ nhớ chính.<br />
<br />
Mô-đun vào ra:<br />
Chức năng:<br />
Điều khiển và định thời.<br />
Trao đổi thông tin với CPU.<br />
Trao đổi thông tin với các thiết bị ngoại vi.<br />
Đệm giữa bên trong máy tính với các thiết<br />
bị ngoại vi.<br />
Phát hiện lỗi của các thiết bị ngoại vi.<br />
<br />
Cấu trúc chung của mô-đun vào ra<br />
<br />
2<br />
<br />
10/12/2017<br />
<br />
Các thành phần của mô-đun vào ra:<br />
Thanh ghi đệm dữ kiệu: đệm dữ liệu trong quá trình<br />
trao đổi.<br />
Các cổng vào ra (I/O port): kết nối các thiết bị ngoại<br />
vi, mỗi cổng có một địa chỉ xác định.<br />
Thanh ghi trạng thái/điều khiển: lưu giữ thông tin<br />
trạng thái/điều khiển cho các cổng vào ra.<br />
Khối logic điều khiển: điều khiển các mô-đun vào ra.<br />
<br />
Kết nối CPU<br />
CPU phát địa chỉ đến bộ nhớ hay mô-đun vào ra.<br />
Đọc lệnh và dữ kiệu.<br />
Đưa dữ liệu ra sau khi xử lí.<br />
Phát tín hiệu điều khiển đến mô-đun nhớ hay mô-đun vào<br />
ra.<br />
Nhận tín hiệu ngắt.<br />
<br />
3<br />
<br />
10/12/2017<br />
<br />
+ Cách thứ hai, dùng mã lệnh riêng biệt cho vào/ra (tức là<br />
có các lệnh vào/ra riêng, không trùng với lệnh đọc hay viết<br />
vào ô nhớ).<br />
<br />
Trong đó có 2 phương pháp chính để liên<br />
lạc:<br />
Dùng phương pháp thăm dò (polling)<br />
Dùng yêu cầu ngắt IRQ (Interrupt<br />
ReQuest)<br />
Dùng bộ xử lí DMA (Direct Memory<br />
Access)<br />
<br />
Bộ xử lý phát sinh một lệnh I/O đến các đơn vị I/O, sau đó,<br />
nó chờ trong trạng thái "busy" cho đến khi thao tác này<br />
hoàn tất trước khi tiếp tục xử lý.<br />
<br />
Bộ xử lý phát sinh một lệnh I/O đến các đơn vị I/O, sau<br />
đó, nó tiếp tục việc xử lí cho tới khi nhận được một ngắt<br />
từ đơn vị I/O báo là đã hoàn tất, nó tạm ngưng việc xử lý<br />
hiện tại để chuyển qua xử lí ngắt.<br />
<br />
4<br />
<br />
10/12/2017<br />
<br />
DMA là một kỹ thuật chuyển dữ liệu nhanh từ một card thiết bị<br />
tới bộ nhớ, từ bộ nhớ ra card thiết bị, hoặc trong một vài<br />
trường hợp từ một vị trí trong bộ nhớ tới một vị trí khác. Việc<br />
chuyển theo DMA rất quan trọng vì nó không yêu cầu đến sự<br />
thực thi của CPU. Chuyển theo DMA được thực hiện bằng cách<br />
lập trình một chip có tên là bộ điều khiển DMA (gọi ngắn gọn là<br />
DMAC), chip đó nằm trên bo mạch hệ thống của mọi máy PC.<br />
Mỗi lần bộ điều khiển được khởi động và quá trình chuyển dữ<br />
liệu bắt đầu, CPU được tự do và làm việc khác trong khi DMAC<br />
tiếp tục thực hiện chuyển dữ liệu<br />
<br />
5<br />
<br />