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