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 đủ
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:
bai_giang_kien_truc_may_tinh_chuong_8_he_thong_vao_ra_nguyen.pdf

