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

Bài giảng Kiến trúc máy tính (Computer Architecture) Chương 8

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 (220.7 KB, 49 trang )

NKK-HUST

.c

om

Kiến trúc máy tính

cu
u

du

on

g

th

an

co

ng

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
CuuDuongThanCong.com

432
/>

NKK-HUST

Nội dung học phần

cu
u

du

on

g

th

an

co

ng

.c


om

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
CuuDuongThanCong.com

433
/>

NKK-HUST

.c

om

Nội dung của chương 8

cu
u


du

on

g

th

an

co

ng

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
CuuDuongThanCong.com

434
/>

NKK-HUST

.c


Bus
hệ
thống

ng

Chức năng: Trao đổi
thơng tin giữa máy tính
với bên ngồi
Các thao tác cơ bản:

th

Vào dữ liệu (Input)
Ra dữ liệu (Output)

du

Các thành phần chính:
n
n

Thiếtbị
vào-ra

g

n

n


Mơ-đun
vào-ra

on

n

Các thiết bị vào-ra
Các mơ-đun vào-ra

cu
u

n

Thiếtbị
vào-ra

an

co

n

om

8.1. Tổng quan về hệ thống vào-ra

2017


Mơ-đun
vào-ra

Kiến trúc máy tính
CuuDuongThanCong.com

Thiếtbị
vào-ra

435
/>

NKK-HUST

Đặc điểm của hệ thống vào-ra

n

ng

co

n

Nguyên tắc hoạt động
Tốc độ
Khuôn dạng dữ liệu

an


n

.c

om

Tồn tại đa dạng các thiết bị vào-ra khác
nhau về:

th

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

cu
u

du

on

g

n


2017

Kiến trúc máy tính
CuuDuongThanCong.com

436
/>

NKK-HUST

Thiết bị vào-ra

om

n

n

an

th

cu
u

n

g

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)

on

n

du

n

co

ng

n

Còn gọi là thiết bị ngoại vi (Peripherals)
Chức năng: chuyển đổi dữ liệu giữa bên trong
và bên ngồi máy tính
Phân loại:

.c

n

Giao tiếp:

n
n

Người - máy
Máy - máy

2017

Kiến trúc máy tính
CuuDuongThanCong.com

437
/>

NKK-HUST

Dữ liệu
từ/đến
mơ-đun
vào-ra

.c

om

Cấu trúc chung của thiết bị vào-ra

Bộ
chuyển
đổi

tín hiệu

an

co

ng

Bộ
đệm
dữ
liệu

Dữ liệu
đến/từ
bên ngồi

on

g

th

Tín hiệu
điều khiển

du

Khối logic điều khiển


cu
u

Tín hiệu
trạng thái

2017

Kiến trúc máy tính
CuuDuongThanCong.com

438
/>

NKK-HUST

n

ng

co

an

cu
u

n

th


n

g

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

on

n

.c

Chức năng:

du

n

om

Mô-đun vào-ra

2017


Kiến trúc máy tính
CuuDuongThanCong.com

439
/>

NKK-HUST

Cấu trúc của mô-đun vào-ra

.c

om

Bus

ng

Cổng
vào
ra

an

Bộ đệm
dữ liệu

co


Các
đường
dữ liệu

g
on

dữ liệu

Khối logic
điều khiển

Các
đường
điều
khiển

2017

Tín hiệu
điều khiển

Tín hiệu
trạng thái

th
cu
u

du


Các
đường
địa chỉ

dữ liệu

Cổng
vào
ra

Tín hiệu
điều khiển

Tín hiệu
trạng thái

Kiến trúc máy tính
CuuDuongThanCong.com

440
/>

NKK-HUST

4. Địa chỉ hóa cổng vào-ra (IO addressing)

om

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

ng

.c

n

co

g

Một số bộ xử lý có hai khơng gian địa chỉ tách
biệt:
n
n

Khơng gian địa chỉ bộ nhớ
Khơng gian địa chỉ vào-ra
Ví dụ: Intel x86

cu
u

n

du

on


n

th

n

Các bộ xử lý 680x0 của Motorola
Các bộ xử lý theo kiến trúc RISC: MIPS, ARM, ...

an

n

2017

Kiến trúc máy tính
CuuDuongThanCong.com

441
/>

NKK-HUST

Không gian địa chỉ tách biệt

.c
ng
co


an

N bit
000...000
000...001
000...010
000...011
000...100
000...101

Không gian địa
chỉ vào-ra

om

Không gian địa chỉ
bộ nhớ

00...00
00...01
00...10
00...11

.
.
.

du

on


g

th

.
.
.

N1 bit

.
.
.
11...11

cu
u

.
.
.

111...111
2017

Kiến trúc máy tính
CuuDuongThanCong.com

442

/>

NKK-HUST

.c

Vào-ra theo bản đồ bộ nhớ
(Memory mapped IO)
Vào-ra riêng biệt
(Isolated IO hay IO mapped IO)

cu
u

du

on

g

th

an

n

co

ng


n

om

Các phương pháp địa chỉ hoá cổng vào-ra

2017

Kiến trúc máy tính
CuuDuongThanCong.com

443
/>

NKK-HUST

Vào-ra theo bản đồ bộ nhớ

om

.c

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

du

n

cu
u

n

on

g

n

th

an

n

ng

n

Cổng vào-ra được đánh địa chỉ theo không gian
địa chỉ bộ nhớ
CPU coi cổng vào-ra như ngăn nhớ

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ớ
Có thể thực hiện trên mọi hệ thống
Ví dụ: Bộ xử lý MIPS

co

n

2017

Kiến trúc máy tính
CuuDuongThanCong.com

444
/>

NKK-HUST

Ví dụ lập trình vào-ra cho MIPS

n

.c
co

n

Cổng 1: 0xFFFFFFF4
Cổng 2: 0xFFFFFFF8


ng

n

om

Ví dụ: Có hai cổng vào-ra được gán địa chỉ:

Ghi giá trị 0x41 ra cổng 1

#đưagiátrị0x41
#racổng1

du

on

g

th

addi $t0,$0,0x41
sw
$t0,0xFFF4($0)

an

n


n

cu
u

Chú ý: giá trị 16-bit 0xFFF4 được sign-extended thành 32-bit 0xFFFFFFF4

Đọc dữ liệu từ cổng 2 đưa vào $t3
lw

$t3,0xFFF8($0)

2017

#đọcdữliệucổng2đưavào$t3
Kiến trúc máy tính

CuuDuongThanCong.com

445
/>

NKK-HUST

Vào-ra riêng biệt (Isolated IO)

om

Cổng vào-ra được đánh địa chỉ theo khơng gian
địa chỉ vào-ra riêng

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
Ví dụ: Intel x86

th

Dùng 8-bit hoặc 16-bit địa chỉ cho không gian địa chỉ
vào-ra riêng
Có hai lệnh vào-ra chuyên dụng
n
n

cu
u

n

du

on

n

g

n

an

co


n

ng

.c

n

Lệnh IN: nhận dữ liệu từ cổng vào
Lệnh OUT: đưa dữ liệu đến cổng ra

2017

Kiến trúc máy tính
CuuDuongThanCong.com

446
/>

NKK-HUST

.c

Vào-ra bằng chương trình
(Programmed IO)

ng

n


om

8.2. Các phương pháp điều khiển vào-ra

an

co

Vào-ra điều khiển bằng ngắt
(Interrupt Driven IO)

th

n

on

g

Truy nhập bộ nhớ trực tiếp - DMA
(Direct Memory Access)

cu
u

du

n


2017

Kiến trúc máy tính
CuuDuongThanCong.com

447
/>

NKK-HUST

Ba kỹ thuật thực hiện vào một khối dữ liệu

Read status
of I/O
module

CPU

Not
ready
Check
status

Error
condition

Ready

Write word
into memory


CPU

Read word
from I/O
module

CPU

g

I/O

CPU

Error
condition

I/O

Read status
of DMA
module

Interrupt
DMA

CPU

Next instruction

(c) Direct Memory Access

CPU

Done?

Write word
into memory

Memory

cu
u

No

du

on

Read word
from I/O
module

I/O

th

Ready


Interrupt

an

Check
Status

om

I/O

CPU DMA
Issue read
block command
Do something
to I/O module
else

I/O
Do something
else

.c

Read status
of I/O
module

CPU


Issue read
command to
I/O module

I/O

ng

CPU

co

Issue read
command to
I/O module

Yes

No

CPU

Memory

Done?
Yes

Next instruction
(a) Programmed I/O


2017

Next instruction
(b) Interrupt-Driven I/O

Kiến trúc máy tính
CuuDuongThanCong.com

448
/>

NKK-HUST

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
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

Đọc trạng thái
mô-đun vào-ra

Sẵn sàng ?

N


g

cu
u

du

on

n

th

an

co

n

.c

Nguyên tắc chung:

ng

n

om

1. Vào-ra bằng chương trình


2017

Y
Trao đổi dữ liệu

Kiến trúc máy tính
CuuDuongThanCong.com

449
/>

NKK-HUST

Các tín hiệu điều khiển vào-ra

om

.c

ng

cu
u

n

du

on


g

th

n

co

n

Tín hiệu điều khiển (Control): kích hoạt thiết bị
vào-ra
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
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
đó
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

an

n

2017

Kiến trúc máy tính
CuuDuongThanCong.com


450
/>

NKK-HUST

om

Các lệnh vào-ra

.c

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
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)

g

cu
u

du

on

n

th


an

co

ng

n

2017

Kiến trúc máy tính
CuuDuongThanCong.com

451
/>

NKK-HUST

.c

th

cu
u

du

on

g


n

an

co

n

Vào-ra do ý muốn của người lập trình
CPU trực tiếp điều khiển trao đổi dữ liệu
giữa CPU với mô-đun vào-ra
CPU đợi mô-đun vào-ra à tiêu tốn nhiều
thời gian của CPU

ng

n

om

Đặc điểm

2017

Kiến trúc máy tính
CuuDuongThanCong.com

452
/>


NKK-HUST

2. Vào-ra điều khiển bằng ngắt
CPU không phải đợi trạng thái sẵn sàng
của mơ-đun vào-ra, CPU thực hiện một
chương trình nào đó
Khi mơ-đun vào-ra sẵn sàng thì nó phát tín
hiệu ngắt CPU
CPU thực hiện chương trình con xử lý ngắt
vào-ra tương ứng để trao đổi dữ liệu
CPU trở lại tiếp tục thực hiện chương trình
đang bị ngắt

n

cu
u

du

n

on

g

th

n


an

co

ng

n

om

Nguyên tắc chung:

.c

n

2017

Kiến trúc máy tính
CuuDuongThanCong.com

453
/>

NKK-HUST

Chuyển điều khiển đến chương trình con ngắt

.c


om

Chương trình
đang thực hiện

co

lệnh

an

lệnh

th

lệnh

lệnh i

lệnh
lệnh
lệnh

g

Ngắt ở đây

Chương trình con
xử lý ngắt


ng

lệnh

cu
u

du

on

lệnh i+1
lệnh

...

RETURN
...

lệnh

2017

Kiến trúc máy tính
CuuDuongThanCong.com

454
/>


NKK-HUST

Hoạt động vào dữ liệu: nhìn từ mơ-đun vào-ra

om

Mơ-đun vào-ra nhận tín hiệu điều khiển
đọc từ CPU
Mơ-đun vào-ra nhận dữ liệu từ thiết bị
vào-ra, trong khi đó CPU làm việc khác
Khi đã có dữ liệu à mơ-đun vào-ra phát
tín hiệu ngắt CPU
CPU yêu cầu dữ liệu
Mô-đun vào-ra chuyển dữ liệu đến CPU

n
n

co

g

cu
u

du

on

n


th

an

n

ng

.c

n

2017

Kiến trúc máy tính
CuuDuongThanCong.com

455
/>

NKK-HUST

Hoạt động vào dữ liệu: nhìn từ CPU

om

th

g


Cất ngữ cảnh (nội dung các thanh ghi liên
quan)
Thực hiện chương trình con xử lý ngắt để vào
dữ liệu
Khôi phục ngữ cảnh của chương trình đang
thực hiện

n

n

cu
u

du

n

on

n

an

co

n

.c


n

Phát tín hiệu điều khiển đọc
Làm việc khác
Cuối mỗi chu trình lệnh, kiểm tra tín hiệu
u cầu ngắt
Nếu bị ngắt:

ng

n

2017

Kiến trúc máy tính
CuuDuongThanCong.com

456
/>

×