Bài giảng Kiến trúc máy tính - Chương 8: Hệ thống vào - ra - Nguyễn Kim Khánh

NKK-HUST  
Kiến trúc máy tính  
Chương 8  
HỆ THỐNG VÀO-RA  
Nguyễn Kim Khánh  
Trường Đại học Bách khoa Hà Nội  
2017  
Kiến trúc máy tính  
432  
NKK-HUST  
Nội dung học phần  
Chương 1. Giới thiệu chung  
Chương 2. Cơ bản về logic số  
Chương 3. Hệ thống máy tính  
Chương 4. Số học máy tính  
Chương 5. Kiến trúc tập lệnh  
Chương 6. Bộ xử lý  
Chương 7. Bộ nhớ máy tính  
Chương 8. Hệ thống vào-ra  
Chương 9. Các kiến trúc song song  
2017  
Kiến trúc máy tính  
433  
NKK-HUST  
Nội dung của chương 8  
8.1. Tổng quan về hệ thống vào-ra  
8.2. Các phương pháp điều khiển vào-ra  
8.3. Nối ghép thiết bị vào-ra  
2017  
Kiến trúc máy tính  
434  
NKK-HUST  
8.1. Tổng quan về hệ thống vào-ra  
n Chức năng: Trao đổi  
thông tin giữa máy tính  
với bên ngoài  
Thiết bị  
vào-ra  
Bus  
hệ  
thống  
Mô-đun  
vào-ra  
n Các thao tác cơ bản:  
Thiết bị  
vào-ra  
n
Vào dữ liệu (Input)  
Ra dữ liệu (Output)  
n
n Các thành phần chính:  
Thiết bị  
vào-ra  
Mô-đun  
vào-ra  
n
Các thiết bị vào-ra  
n
Các mô-đun vào-ra  
2017  
Kiến trúc máy tính  
435  
NKK-HUST  
Đặc điểm của hệ thống vào-ra  
n Tồn tại đa dạng các thiết bị vào-ra khác  
nhau về:  
n
n
n
Nguyên tắc hoạt động  
Tốc độ  
Khuôn dạng dữ liệu  
n Tất cả các thiết bị vào-ra đều chậm hơn  
CPU và RAM  
à Cần có các mô-đun vào-ra để nối ghép  
các thiết bị với CPU và bộ nhớ chính  
2017  
Kiến trúc máy tính  
436  
NKK-HUST  
Thiết bị vào-ra  
n Còn gọi là thiết bị ngoại vi (Peripherals)  
n Chức năng: chuyển đổi dữ liệu giữa bên trong  
và bên ngoài máy tính  
n Phân loại:  
n
n
n
n
Thiết bị vào (Input Devices)  
Thiết bị ra (Output Devices)  
Thiết bị lưu trữ (Storage Devices)  
Thiết bị truyền thông (Communication Devices)  
n Giao tiếp:  
n
Người - máy  
Máy - máy  
n
2017  
Kiến trúc máy tính  
437  
NKK-HUST  
Cấu trúc chung của thiết bị vào-ra  
Dữ liệu  
từ/đến  
mô-đun  
vào-ra  
Dữ liệu  
đến/từ  
bên ngoài  
Bộ  
đệm  
dữ  
Bộ  
chuyển  
đổi  
liệu  
tín hiệu  
Tín hiệu  
điều khiển  
Khối logic điều khiển  
Tín hiệu  
trạng thái  
2017  
Kiến trúc máy tính  
438  
NKK-HUST  
Mô-đun vào-ra  
n Chức năng:  
n
n
n
n
n
Điều khiển và định thời  
Trao đổi thông tin với CPU hoặc bộ nhớ chính  
Trao đổi thông tin với thiết bị vào-ra  
Đệm giữa bên trong máy tính với thiết bị vào-ra  
Phát hiện lỗi của thiết bị vào-ra  
2017  
Kiến trúc máy tính  
439  
NKK-HUST  
Cấu trúc của mô-đun vào-ra  
Bus  
dữ liệu  
Các  
đường  
dữ liệu  
Cổng  
vào  
ra  
Tín hiệu  
điều khiển  
Bộ đệm  
dữ liệu  
Tín hiệu  
trạng thái  
Các  
đường  
địa chỉ  
dữ liệu  
Cổng  
vào  
ra  
Tín hiệu  
điều khiển  
Khối logic  
điều khiển  
Các  
đường  
điều  
Tín hiệu  
trạng thái  
khiển  
2017  
Kiến trúc máy tính  
440  
NKK-HUST  
4. Địa chỉ hóa cổng vào-ra (IO addressing)  
n Hầu hết các bộ xử lý chỉ có một không gian địa  
chỉ chung cho cả các ngăn nhớ và các cổng  
vào-ra  
n
Các bộ xử lý 680x0 của Motorola  
n
Các bộ xử lý theo kiến trúc RISC: MIPS, ARM, ...  
n Một số bộ xử lý có hai không gian địa chỉ tách  
biệt:  
n
n
n
Không gian địa chỉ bộ nhớ  
Không gian địa chỉ vào-ra  
Ví dụ: Intel x86  
2017  
Kiến trúc máy tính  
441  
NKK-HUST  
Không gian địa chỉ tách biệt  
Không gian địa chỉ  
bộ nhớ  
Không gian địa  
chỉ vào-ra  
N bit  
N1 bit  
00...00  
00...01  
00...10  
00...11  
000...000  
000...001  
000...010  
000...011  
000...100  
000...101  
.
.
.
.
.
.
.
.
.
11...11  
.
.
.
111...111  
2017  
Kiến trúc máy tính  
442  
NKK-HUST  
Các phương pháp địa chỉ hoá cổng vào-ra  
n Vào-ra theo bản đồ bộ nhớ  
(Memory mapped IO)  
n Vào-ra riêng biệt  
(Isolated IO hay IO mapped IO)  
2017  
Kiến trúc máy tính  
443  
NKK-HUST  
Vào-ra theo bản đồ bộ nhớ  
n Cổng vào-ra được đánh địa chỉ theo không gian  
địa chỉ bộ nhớ  
n CPU coi cổng vào-ra như ngăn nhớ  
n Lập trình trao đổi dữ liệu với cổng vào-ra bằng  
các lệnh truy nhập dữ liệu bộ nhớ  
n Có thể thực hiện trên mọi hệ thống  
n Ví dụ: Bộ xử lý MIPS  
n
n
n
32-bit địa chỉ cho một không gian địa chỉ chung cho cả  
các ngăn nhớ và các cổng vào-ra  
Các cổng vào-ra được gắn các địa chỉ thuộc vùng địa  
chỉ dự trữ  
Vào/ra dữ liệu: sử dụng lệnh load/store  
2017  
Kiến trúc máy tính  
444  
NKK-HUST  
Ví dụ lập trình vào-ra cho MIPS  
n Ví dụ: Có hai cổng vào-ra được gán địa chỉ:  
n
Cổng 1: 0xFFFFFFF4  
n
Cổng 2: 0xFFFFFFF8  
n Ghi giá trị 0x41 ra cổng 1  
addi $t0, $0, 0x41  
# đưa giá trị 0x41  
sw $t0, 0xFFF4($0) # ra cổng 1  
Chú ý: giá trị 16-bit 0xFFF4 được sign-extended thành 32-bit 0xFFFFFFF4  
n Đọc dữ liệu từ cổng 2 đưa vào $t3  
lw $t3, 0xFFF8($0) # đọc dữ liệu cổng 2 đưa vào $t3  
2017  
Kiến trúc máy tính  
445  
NKK-HUST  
Vào-ra riêng biệt (Isolated IO)  
n Cổng vào-ra được đánh địa chỉ theo không gian  
địa chỉ vào-ra riêng  
n Lập trình trao đổi dữ liệu với cổng vào-ra bằng  
các lệnh vào-ra chuyên dụng  
n Ví dụ: Intel x86  
n
Dùng 8-bit hoặc 16-bit địa chỉ cho không gian địa chỉ  
vào-ra riêng  
n
Có hai lệnh vào-ra chuyên dụng  
n
Lệnh IN: nhận dữ liệu từ cổng vào  
n
Lệnh OUT: đưa dữ liệu đến cổng ra  
2017  
Kiến trúc máy tính  
446  
NKK-HUST  
8.2. Các phương pháp điều khiển vào-ra  
n Vào-ra bằng chương trình  
(Programmed IO)  
n Vào-ra điều khiển bằng ngắt  
(Interrupt Driven IO)  
n Truy nhập bộ nhớ trực tiếp - DMA  
(Direct Memory Access)  
2017  
Kiến trúc máy tính  
447  
NKK-HUST  
Ba kỹ thuật thực hiện vào một khối dữ liệu  
CPU I/O  
Do something  
CPU DMA  
Issue read  
command to  
I/O module  
Issue read  
command to  
I/O module  
Issue read  
block command  
to I/O module  
CPU I/O  
Do something  
else  
else  
Read status  
of I/O  
module  
Read status  
of I/O  
module  
Read status  
of DMA  
module  
Interrupt  
Interrupt  
I/O CPU  
I/O CPU  
DMA CPU  
Not  
ready  
Next instruction  
Check  
Status  
Check  
status  
Error  
condition  
Error  
condition  
(c) Direct Memory Access  
Ready  
Ready  
Read word  
from I/O  
module  
Read word  
from I/O  
module  
I/O CPU  
I/O CPU  
Write word  
into memory  
Write word  
into memory  
CPU Memory  
CPU Memory  
No  
No  
Done?  
Yes  
Done?  
Yes  
Next instruction  
(a) Programmed I/O  
Next instruction  
(b) Interrupt-Driven I/O  
2017  
Kiến trúc máy tính  
448  
NKK-HUST  
1. Vào-ra bằng chương trình  
n Nguyên tắc chung:  
Đọc trạng thái  
mô-đun vào-ra  
n
CPU điều khiển trực tiếp vào-ra  
bằng chương trình à cần phải lập  
trình vào-ra để trao đổi dữ liệu  
giữa CPU với mô-đun vào-ra  
N
Sẵn sàng ?  
n
CPU nhanh hơn thiết bị vào-ra rất  
nhiều lần, vì vậy trước khi thực  
hiện lệnh vào-ra, chương trình cần  
đọc và kiểm tra trạng thái sẵn sàng  
của mô-đun vào-ra  
Y
Trao đổi dữ liệu  
2017  
Kiến trúc máy tính  
449  
NKK-HUST  
Các tín hiệu điều khiển vào-ra  
n Tín hiệu điều khiển (Control): kích hoạt thiết bị  
vào-ra  
n Tín hiệu kiểm tra (Test): kiểm tra trạng thái  
của mô-đun vào-ra và thiết bị vào-ra  
n Tín hiệu điều khiển đọc (Read): yêu cầu mô-  
đun vào-ra nhận dữ liệu từ thiết bị vào-ra và  
đưa vào bộ đệm dữ liệu, rồi CPU nhận dữ liệu  
đó  
n Tín hiệu điều khiển ghi (Write): yêu cầu mô-  
đun vào-ra lấy dữ liệu trên bus dữ liệu đưa đến  
bộ đệm dữ liệu rồi chuyển ra thiết bị vào-ra  
2017  
Kiến trúc máy tính  
450  
NKK-HUST  
Các lệnh vào-ra  
n Với vào-ra theo bản đồ bộ nhớ: sử  
dụng các lệnh trao đổi dữ liệu với bộ  
nhớ để trao đổi dữ liệu với cổng vào-ra  
n Với vào-ra riêng biệt: sử dụng các lệnh  
vào-ra chuyên dụng (IN, OUT)  
2017  
Kiến trúc máy tính  
451  
Tải về để xem bản đầy đủ
pdf 49 trang yennguyen 18020 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 8: Hệ thống vào - ra - Nguyễn Kim Khánh", để 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:

  • pdfbai_giang_kien_truc_may_tinh_chuong_8_he_thong_vao_ra_nguyen.pdf