Tải bản đầy đủ (.pdf) (27 trang)

Bài giảng Kiến trúc máy tính và hệ điều hành: Bài 9 - Nguyễn Hồng Sơn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (168.9 KB, 27 trang )

.c
om
ng

BÀI 9

cu

u

du
o

ng

th

an

co

HỆ THỐNG XUẤT NHẬP

1

CuuDuongThanCong.com

/>

.c
om



THIẾT BỊ NGOẠI VI

cu

u

du
o

ng

th

an

co

ng

Mỗi thiết bị ngoại vi được gắn vào
computer qua một liên kết đến I/O module
Liên kết được dùng để trao đổi control,
status và data giữa I/O module với thiết bị
ngoại vi.

2

CuuDuongThanCong.com


/>

Status

.c
om

(đến I/O module)

Control

Data

th

an

co

ng

(từ I/O modue)

Bộ biến đổi

cu

u

du

o

ng

Điều khiển
luận lý

Bộ đệm

Thiết bị ngoại vi

Data đi và đến từ
môi trường ngoài
3

CuuDuongThanCong.com

/>

ng

cu

u

du
o

ng


th

an

co

Human-readable
Machine-readable
Communication

.c
om

Có ba loaiï thiết bị ngoại vi:

4

CuuDuongThanCong.com

/>

.c
om

I/O module

cu

u


du
o

ng

th

an

co

ng

Là thực thể nằm trong máy tính chịu trách
nhiệm điều khiển một hay nhiều thiết bị
ngoại vi để trao đổi data với main
memory và các register của CPU=> I/O
module coù 2 interface

5

CuuDuongThanCong.com

/>

.c
om

Address bus


co

ng

Data bus

System bus

ng

th

an

Control bus

cu

u

du
o

I/O module
Các liên kết
đến thiết bị
ngoại vi

Mơ hình chung của I/O module


CuuDuongThanCong.com

6

/>

.c
om

Yêu cầu tối thiểu về chức năng của I/O
module:

cu

u

du
o

ng

th

an

co

ng

Điều khiển và định thời

Truyền thông với CPU
Truyền thông với ngoại vi
Đệm dữ liệu
Phát hiện lỗi
(ví dụ)

7

CuuDuongThanCong.com

/>

ng

Thanh ghi data

Data

Logic giao tiếp
thiết bị ngoại vi

Status
Conrol

co

Data bus

.c
om


Giao tiếp với
system bus

ng

Addr bus

th

an

Thanh ghi status/control

cu

u

du
o

Control bus

I/O
logic
Logic giao tiếp
thiết bị ngoại vi

Status
Conrol


Sơ đồ khối của một I/O module
CuuDuongThanCong.com

Data

8

/>

.c
om

Kỹ thuật thao tác I/O

cu

u

du
o

ng

th

an

co


ng

Programmed I/O: data được trao đổi giữa
CPU và I/O module. CPU thực thi một
chương trình mà qua đó điều khiển hoạt
động của I/O
I/O dùng ngắt điều khiển
I/O dùng DMA: I/O module và bộ nhớ
trao đổi data một cách trực tiếp.
9

CuuDuongThanCong.com

/>

.c
om

Programmed I/O

cu

u

du
o

ng

th


an

co

ng

CPU phát lệnh đến I/O module.
I/O module thực hiện tác vụ theo yêu cầu
và đặt các bit thích hợp trong thanh ghi
trạng thái.
Định kỳ CPU phải kiểm tra trạng thái của
I/O module cho đến khi nhận thấy tác vụ
yêu cầu đã hoàn tất.
10

CuuDuongThanCong.com

/>

.c
om

Programmed I/O (tt)
ng

I/O command,I/O instruction

ng


cu

u

du
o

Control
Test
Read
Write

th

an

co

Để thực hiện một instruction liên quan đến I/O, CPU
phát ra một addr + I/O command
Có bốn loại I/O command

Một I/O instruction tương ứng với một I/O command

11

CuuDuongThanCong.com

/>


.c
om

Programmed I/O (tt)
ng

Memory-mapped I/O, Isolated I/O

cu

u

du
o

ng

th

an

co

Là hai cơ chế địa chỉ trong trường hợp dùng chung bus.
Memory-mapped I/O: chỉ có một không gian địa chỉ
chung cho bộ nhớ và thiết bị I/O, dùng các instruction
truy xuất giống nhau.
Isolated I/O: toàn bộ không gian địa chỉ khả dụng cho cả
hai, sử dụng các I/O command đặc biệt để kích hoạt các
I/O command line treân bus


12

CuuDuongThanCong.com

/>

501

6

5

4

3

2

1

0

7

6

5

4


3

2

1

0

sign=1:sẵn sàng

ng

operand
“1”
501
501
202
500

ng

th

an

co

Addr
200


u

Instruction
Start I/O
Test I/O
Branch Not Ready
In
(b) Isolated I/O

cu

Addr
200
201

Thanh ghi trạng thái
và điều khiển

1: bắt đầu đọc

du
o

Instruction
Ld AC
Store AC
202
Ld AC
Branch if Sign=0

Ld AC
(a) Memory-mapped I/O

Thanh ghi data nhaäp

.c
om

500

7

CuuDuongThanCong.com

operand
4
4
201
4
13

/>

.c
om

Interrupt-driven I/O

cu


u

du
o

ng

th

an

co

ng

CPU phát ra lệnh I/O và chuyển sang
phục vụ tác vụ khác.
I/O module ngắt CPU để yêu cầu phục vuï
Interrupt controller

14

CuuDuongThanCong.com

/>

.c
om

Cơ chế DMA


ng

th

an

co

ng

I/O Module
Main Memory
Dùng DMA module
Khi CPU muốn đọc hay ghi một khối data, nó
phát ra một lệnh đến DMA module kèm theo
các thông tin sau:

cu

u

du
o

Yêu cầu là đọc hay ghi
Địa chỉ của thiết bị
Vị trí bắt đầu trong bộ nhớ
Số lượng từ được đọc hay ghi
15


CuuDuongThanCong.com

/>

.c
om

Data count

Data register

Addr
lines

Addr register

Sơ đồ khối của DMA
module tiêu biểu

Read

cu

INTR

u

DMA ACK


du
o

DMA REQ

ng

th

an

co

ng

Data
lines

Control logic

Write

16

CuuDuongThanCong.com

/>

.c
om


Cơ chế DMA (tiếp theo)

cu

u

du
o

ng

th

an

co

ng

CPU chuyển sang công việc khác sau khi
đã chuyển lệnh đến DMA module
DMA module được giao phó toàn bộ hoạt
động I/O, nó truyền/nhận toàn bộ khối dữ
liệu lần lượt từng từ một với bộ nhớ.
Khi hoạt động truyền/nhận dữ liệu hoàn
tất DMA module gửi một ngắt ñeán CPU.
17

CuuDuongThanCong.com


/>

.c
om

Cơ chế DMA (tt)

cu

u

du
o

ng

th

an

co

ng

DMA module cần lấy điều khiển bus để truyền
data.
DMA module dùng bus khi CPU không sử dụng
hoặc buộc CPU vào trạng thái treo tạm thời
Kỹ thuật buộc CPU treo tạm thời là phổ biến và

được xem như thực hiện một chu kỳ chiếm hữu
(cycle-stealing), DMA module chiếm một chu
kỳ bus.
18

CuuDuongThanCong.com

/>

.c
om

Lấy lệnh

Giải mã
lệnh

Processor
Cycle

Processor
Cycle

Processor
Cycle

Thực thi
lệnh

Lưu kết

quả

th

Processor
Cycle

Processor
Cycle

Processor
Cycle

du
o

ng

Processor
Cycle

an

co

ng

Instruction Cycle

Xử lý

ngắt

cu

u

Lấy toán
hạng

Những thời
điểm DMA
chiếm hữu

CuuDuongThanCong.com

Thời điểm
ngắt
19

/>

.c
om

Các cấu hình có thể của DMA

cu

u


du
o

ng

th

an

co

ng

Dùng một DMA module dùng chung
Dùng nhiều DMA module
Dùng I/O bus giao tiếp với moät DMA
module

20

CuuDuongThanCong.com

/>

DMA
module

I/O

I/O


.c
om

th

I/O

I/O

ng
du
o
u

cu

CPU

I/O

DMA
module

Memory

an

co


DMA
module

CPU

Memory

ng

CPU

I/O
System bus

DMA
module

Memory
I/O bus

I/O

I/O
21

CuuDuongThanCong.com

/>

.c

om

I/O channel

Sự tiến bộ trong chức năng I/O:

cu

u

du
o

ng

th

an

co

ng

CPU điều khiển trực tiếp một thiết bị ngoại vi
Thêm vào một I/O module. CPU dùng I/O được lập trình
không cần ngắt
Thêm vào I/O module, sử dụng ngắt, CPU không cần chờ hoạt
động I/O
I/O module được trao đổi trực tiếp với bộ nhớ qua DMA, gửi
khối data không thông qua CPU, ngoại trừ thời điểm đầu và

cuối.
I/O module được cải tiến để trở thành một bộ xử lý có thẩm
quyền riêng, với tập lệnh đặc biệt dành cho I/O. CPU chỉ cho
bộ xử lý này thực hiện một chương trình trong bộ nhớ
I/O module có bộ nhớ cục bộ và thực sự là một máy
tính(terminal)
22

CuuDuongThanCong.com

/>

.c
om

I/O Channel (tt)

cu

u

du
o

ng

th

an


co

ng

Một I/O module nhận lấy hầu hết các xử
lý chi tiết và thực hiện một giao thức mức
cao được gọi là một I/O channel hay I/O
processor
I/O channel là mở rộng khái niệm DMA.
Một I/O channel có khả năng thực thi các
lệnh I/O, điều khiển toàn bộ các hoạt
động I/O
23

CuuDuongThanCong.com

/>

.c
om

Các đặc tính của I/O channel

cu

u

du
o


ng

th

an

co

ng

Các Inst I/O nằm trên bộ nhớ chính,được thực
hiện bởi bộ xử lý có mục đích đặc biệt nằm ngay
trên I/O channel.
CPU chỉ ra chương trình trong bộ nhớ cho I/O
channel
Chương trình sẽ chỉ ra thiết bị, vùng nhớ lưu trữ,
thứ tự và các thao tác cần tiến hành trong điều
kiện lỗi nào đó. I/O chanel theo các chỉ thị này
để điều khiển hoạt động truyền/nhận data.
24

CuuDuongThanCong.com

/>

Selector

Đường dẫn
tín hiệu điều
khiển đến

CPU

I/O
controller

ng

Multiplexor

th

an

co

I/O
controller

ng

Data và Addr
Channel đến
Main memory

.c
om

Hai kiến trúc I/O channel phổ dụng

cu


u

du
o

(a) Selector

I/O
controller

I/O
controller

I/O
controller
I/O
controller

CuuDuongThanCong.com

(b) Multiplexor
/>
25


×