Bài giảng Hệ thống máy tính - Chương 3: Kiến trúc vào-ra - Nguyễn Kim Khánh
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Hệ thống máy tính
Nội dung học phần
Chương 1. Giới thiệu chung
Chương 2. Kiến trúc bộ nhớ
Chương 3. Kiến trúc vào-ra
Chương 4. Kiến trúc bộ xử lý
Chương 5. Kiến trúc máy tính tiên tiến
Chương 3
KIẾN TRÚC HỆ THỐNG VÀO-RA
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
8 September 2009
1
8 September 2009
2
NKK-HUT
NKK-HUT
Nội dung
3.1. Tổng quan về hệ thống vào-ra
1. Giới thiệu chung
3.1. Tổng quan về hệ thống vào-ra
3.2. Các phương pháp điều khiển vào-ra
3.3. Nối ghép thiết bị ngoại vi
Chức năng của hệ thống vào-ra: Trao
đổi thông tin giữa máy tính với thế giới
bên ngoài
Các thao tác cơ bản:
Vào dữ liệu (Input)
Ra dữ liệu (Output)
Các thành phần chính:
Các thiết bị ngoại vi
Các mô-đun vào-ra
8 September 2009
3
8 September 2009
4
Nguyễn Kim Khánh - ĐHBKHN
1
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Cấu trúc cơ bản của hệ thống vào-ra
Tổ chức bus dùng chung
Interrupts
CPU
Main
memory
Cache
System bus
I/O controller
I/O controller
I/O controller
Graphics
display
Disk
Disk
Network
8 September 2009
5
8 September 2009
6
NKK-HUT
NKK-HUT
Tổ chức bus vào-ra phân cấp
Đặc điểm của vào-ra
Interrupts
Tồn tại đa dạng các thiết bị ngoại vi
khác nhau về:
CPU
Main
memory
Cache
Memory bus
Nguyên tắc hoạt động
Tốc độ
Khuôn dạng dữ liệu
Bus
adapter
Bus
adapter
AGP
PCI bus
Intermediate
buses / ports
Bus
adapter
Tất cả các thiết bị ngoại vi đều chậm
hơn CPU và RAM
I/O bus
I/O controller
I/O controller
I/O controller
I/O controller
CD/DVD
Æ Cần có các mô-đun vào-ra để nối ghép
các thiết bị ngoại vi với CPU và bộ nhớ
chính
Graphics
display
Network
Disk
Disk
8 September 2009
7
8 September 2009
8
Nguyễn Kim Khánh - ĐHBKHN
2
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
2. Các thiết bị ngoại vi
Một số thiết bị ngoại vi
Input type
Symbol
Position
Identity
Sensory
Audio
Prime examples
Keyboard, keypad
Mouse, touchpad
Barcode reader
Other examples
Music note, OCR
Stick, wheel, glove
Badge, fingerprint
Scent, brain signal
Phone, radio, tape
Graphic tablet
Data rate (b/s) Main uses
10s
Ubiquitous
100s
Ubiquitous
Chức năng: chuyển đổi dữ liệu giữa
100s
Sales, security
Control, security
Ubiquitous
bên trong và bên ngoài máy tính
Touch, motion, light
Microphone
100s
1000s
Image
Scanner, camera
Camcorder, DVD
1000s-106s
1000s-109s
Photos, publishing
Entertainment
Phân loại:
Video
VCR, TV cable
Output type
Symbol
Position
Warning
Sensory
Audio
Prime examples
LCD line segments
Stepper motor
Other examples
LED, status light
Robotic motion
Data rate (b/s) Main uses
Thiết bị ngoại vi giao tiếp người-máy:
Bàn phím, Màn hình, Máy in,...
10s
Ubiquitous
100s
Ubiquitous
Buzzer, bell, siren
Braille text
Flashing light
A few
100s
Safety, security
Personal assistance
Ubiquitous
Thiết bị ngoại vi giao tiếp máy-máy: gồm
các thiết bị theo dõi và kiểm tra
Scent, brain stimulus
Voice synthesizer
Plotter, microfilm
Film/video recorder
Speaker, audiotape
Monitor, printer
1000s
1000s
1000s-109s
Image
Ubiquitous
Video
Monitor, TV screen
Entertainment
Thiết bị ngoại vi truyền thông: Modem,
Network Interface Card (NIC)
Two-way I/O Prime examples
Other examples
CD, tape, archive
Cable, DSL, ATM
Data rate (b/s) Main uses
Mass storage
Network
Hard/floppy disk
Modem, fax, LAN
106s
1000s-109s
Ubiquitous
Ubiquitous
8 September 2009
9
8 September 2009
10
NKK-HUT
NKK-HUT
Cấu trúc chung của thiết bị ngoại vi
Các thành phần của thiết bị ngoại vi
Bộ chuyển đổi tín hiệu: chuyển đổi dữ
liệu giữa bên ngoài và bên trong máy
tính
Bộ đệm dữ liệu: đệm dữ liệu khi truyền
giữa mô-đun vào-ra và thiết bị ngoại vi
Khối logic điều khiển: điều khiển hoạt
động của thiết bị ngoại vi đáp ứng theo
yêu cầu từ mô-đun vào-ra
8 September 2009
11
8 September 2009
12
Nguyễn Kim Khánh - ĐHBKHN
3
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
3. Mô-đun vào-ra
Chức năng của mô-đun vào-ra:
Cấu trúc chung của mô-đun vào-ra
Đ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ị ngoại vi
Đệm giữa bên trong máy tính với thiết bị
ngoại vi
Phát hiện lỗi của thiết bị ngoại vi
8 September 2009
13
8 September 2009
14
NKK-HUT
NKK-HUT
Các thành phần của mô-đun vào-ra
4. Địa chỉ hóa cổng vào-ra
a. Không gian địa chỉ của bộ xử lý
Thanh ghi đệm dữ liệu: đệm dữ liệu
trong quá trình trao đổi
Các cổng vào-ra (I/O Port): kết nối với
thiết bị ngoại vi, mỗi cổng có một địa chỉ
xác định
Thanh ghi trạng thái/điều khiển: lưu giữ
thông tin trạng thái/điều khiển cho các
cổng vào-ra
Khối logic điều khiển: điều khiển mô-
đun vào-ra
8 September 2009
15
8 September 2009
16
Nguyễn Kim Khánh - ĐHBKHN
4
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Không gian địa chỉ của bộ xử lý (tiếp)
Không gian địa chỉ của bộ xử lý (tiếp)
Một số bộ xử lý quản lý hai không gian địa chỉ
tách biệt:
Một số bộ xử lý chỉ quản lý duy nhất một
không gian địa chỉ:
Không gian địa chỉ bộ nhớ: 2N địa chỉ
Không gian địa chỉ vào-ra: 2N1 địa chỉ
không gian địa chỉ bộ nhớ: 2N địa chỉ
Có tín hiệu điều khiển phân biệt truy nhập không
gian địa chỉ
Ví dụ: Các bộ xử lý 680x0 (Motorola)
Tập lệnh có các lệnh vào-ra chuyên dụng
Ví dụ: Pentium (Intel)
không gian địa chỉ bộ nhớ = 232 byte = 4GB
không gian địa chỉ vào-ra = 216 byte = 64KB
Tín hiệu điều khiển
Lệnh vào-ra chuyên dụnN, OUT
8 September 2009
17
8 September 2009
18
NKK-HUT
NKK-HUT
b. Các phương pháp địa chỉ hoá cổng vào-ra
Vào-ra riêng biệt
Cổng vào-ra được đánh địa chỉ theo
không gian địa chỉ vào-ra
Vào-ra riêng biệt
(Isolated IO hay IO mapped IO)
Vào-ra theo bản đồ bộ nhớ
(Memory mapped IO)
CPU trao đổi dữ liệu với cổng vào-ra
thông qua các lệnh vào-ra chuyên dụng
(IN, OUT)
Chỉ có thể thực hiện trên các hệ thống có
quản lý không gian địa chỉ vào-ra riêng
biệt
8 September 2009
19
8 September 2009
20
Nguyễn Kim Khánh - ĐHBKHN
5
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
3.2. Các phương pháp điều khiển vào-ra
Vào-ra theo bản đồ bộ nhớ
Cổng vào-ra được đánh địa chỉ theo
không gian địa chỉ bộ nhớ
Vào-ra bằng chương trình
(Programmed IO)
Vào-ra giống như đọc/ghi bộ nhớ
CPU trao đổi dữ liệu với cổng vào-ra
thông qua các lệnh truy nhập dữ liệu bộ
nhớ
Vào-ra điều khiển bằng ngắt
(Interrupt Driven IO)
Truy nhập bộ nhớ trực tiếp - DMA
Có thể thực hiện trên mọi hệ thống
(Direct Memory Access)
8 September 2009
21
8 September 2009
22
NKK-HUT
NKK-HUT
1. Vào-ra bằng chương trình
Các tín hiệu điều khiển vào-ra
Tín hiệu điều khiển (Control): kích hoạt thiết
bị ngoại vi
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ị ngoại vi
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ị ngoại vi
và đưa vào thanh ghi đệm dữ liệu, rồi CPU
nhận dữ liệu đó
Nguyên tắc chung: 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.
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 thanh ghi đệm dữ liệu rồi chuyển ra thiết
bị ngoại vi
8 September 2009
23
8 September 2009
24
Nguyễn Kim Khánh - ĐHBKHN
6
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Các lệnh vào-ra
Lưu đồ đoạn chương trình 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).
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.
8 September 2009
25
8 September 2009
26
NKK-HUT
NKK-HUT
Hoạt động của vào-ra bằng chương trình
Đặc điểm
CPU yêu cầu thao tác vào-ra
Mô-đun vào-ra thực hiện thao tác
Vào-ra do ý muốn của người lập trình
CPU trực tiếp điều khiển vào-ra
Mô-đun vào-ra thiết lập các bit trạng
thái
CPU đợi mô-đun vào-ra Æ tiêu tốn thời
gian của CPU
CPU kiểm tra các bit trạng thái:
Nếu chưa sẵn sàng thì quay lại kiểm tra
Nếu sẵn sàng thì chuyển sang trao đổi dữ
liệu với mô-đun vào-ra
8 September 2009
27
8 September 2009
28
Nguyễn Kim Khánh - ĐHBKHN
7
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
2. Vào-ra điều khiển bằng ngắt
Nguyên tắc chung:
Chuyển điều khiển đến chương trình con 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 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
8 September 2009
29
8 September 2009
30
NKK-HUT
NKK-HUT
Hoạt động vào dữ liệu: nhìn từ CPU
Hoạt động vào dữ liệu: nhìn từ mô-đun vào-ra
Mô-đun vào-ra nhận tín hiệu điều khiển
đọc từ CPU
Phát tín hiệu điều khiển đọc
Làm việc khác
Mô-đun vào-ra nhận dữ liệu từ thiết bị
ngoại vi, trong khi đó CPU làm việc
khác
Cuối mỗi chu trình lệnh, kiểm tra tín
hiệu ngắt
Nếu bị ngắt:
Cất ngữ cảnh (nội dung các thanh ghi)
Thực hiện chương trình con 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
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
8 September 2009
31
8 September 2009
32
Nguyễn Kim Khánh - ĐHBKHN
8
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Các vấn đề nảy sinh khi thiết kế
Các phương pháp nối ghép ngắt
Làm thế nào để xác định được mô-đun
vào-ra nào phát tín hiệu ngắt ?
Sử dụng nhiều đường yêu cầu ngắt
Hỏi vòng bằng phần mềm (Software
CPU làm như thế nào khi có nhiều yêu
cầu ngắt cùng xẩy ra ?
Poll)
Hỏi vòng bằng phần cứng (Daisy Chain
or Hardware Poll)
Sử dụng bộ điều khiển ngắt (PIC)
8 September 2009
33
8 September 2009
34
NKK-HUT
NKK-HUT
Nhiều đường yêu cầu ngắt
Hỏi vòng bằng phần mềm
CPU thực hiện phần mềm hỏi lần lượt từng
mô-đun vào-ra
Chậm
Thứ tự các mô-đun được hỏi vòng chính là
thứ tự ưu tiên
Mmô-đun vào-ra được nối với một đường yêu cầu
ngắt
CPU phải có nhiều đường tín hiệu yêu cầu ngắt
Hạn chế số lượng mô-đun vào-ra
Các đường ngắt được qui định mức ưu tiên
8 September 2009
35
8 September 2009
36
Nguyễn Kim Khánh - ĐHBKHN
9
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Hỏi vòng bằng phần cứng
Kiểm tra vòng bằng phần cứng (tiếp)
CPU phát tín hiệu chấp nhận ngắt
(INTA) đến mô-đun vào-ra đầu tiên
Nếu mô-đun vào-ra đó không gây ra
ngắt thì nó gửi tín hiệu đến mô-đun kế
tiếp cho đến khi xác định được mô-đun
gây ngắt
Thứ tự các mô-đun vào-ra kết nối trong
chuỗi xác định thứ tự ưu tiên
8 September 2009
37
8 September 2009
38
NKK-HUT
NKK-HUT
Bộ điều khiển ngắt lập trình được
Đặc điểm của vào-ra điều khiển bằng ngắt
Có sự kết hợp giữa phần cứng và phần
mềm
Phần cứng: gây ngắt CPU
Phần mềm: trao đổi dữ liệu
CPU trực tiếp điều khiển vào-ra
CPU không phải đợi mô-đun vào-ra Æ
hiệu quả sử dụng CPU tốt hơn
PIC – Programmable Interrupt Controller
PIC có nhiều đường vào yêu cầu ngắt có qui
định mức ưu tiên
PIC chọn một yêu cầu ngắt không bị cấm có
mức ưu tiên cao nhất gửi tới CPU
8 September 2009
39
8 September 2009
40
Nguyễn Kim Khánh - ĐHBKHN
10
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
3. DMA (Direct Memory Access)
Sơ đồ cấu trúc của DMAC
Vào-ra bằng chương trình và bằng ngắt
do CPU trực tiếp điều khiển:
Chiếm thời gian của CPU
Tốc độ truyền bị hạn chế vì phải chuyển
qua CPU
Để khắc phục dùng DMA
Thêm mô-đun phần cứng trên bus Æ
DMAC (Controller)
DMAC điều khiển trao đổi dữ liệu giữa mô-
đun vào-ra với bộ nhớ chính
8 September 2009
41
8 September 2009
42
NKK-HUT
NKK-HUT
Các thành phần của DMAC
Hoạt động DMA
CPU “nói” cho DMAC
Vào hay Ra dữ liệu
Thanh ghi dữ liệu: chứa dữ liệu trao đổi
Thanh ghi địa chỉ: chứa địa chỉ ngăn
nhớ dữ liệu
Bộ đếm dữ liệu: chứa số từ dữ liệu cần
trao đổi
Logic điều khiển: điều khiển hoạt động
của DMAC
Địa chỉ thiết bị vào-ra (cổng vào-ra tương ứng)
Địa chỉ đầu của mảng nhớ chứa dữ liệu Æ nạp vào
thanh ghi địa chỉ
Số từ dữ liệu cần truyền Æ nạp vào bộ đếm dữ liệu
CPU làm việc khác
DMAC điều khiển trao đổi dữ liệu
Sau khi truyền được một từ dữ liệu thì:
nội dung thanh ghi địa chỉ tăng
nội dung bộ đếm dữ liệu giảm
Khi bộ đếm dữ liệu = 0, DMAC gửi tín hiệu ngắt
CPU để báo kết thúc DMA
44
8 September 2009
43
8 September 2009
Nguyễn Kim Khánh - ĐHBKHN
11
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Các kiểu thực hiện DMA
Cấu hình DMA (1)
DMA truyền theo khối (Block-transfer DMA):
DMAC sử dụng bus để truyền xong cả khối
dữ liệu
DMA lấy chu kỳ (Cycle Stealing DMA): DMAC
cưỡng bức CPU treo tạm thời từng chu kỳ
bus, DMAC chiếm bus thực hiện truyền một
từ dữ liệu.
Mỗi lần trao đổi một dữ liệu, DMAC sử dụng
bus hai lần
Giữa mô-đun vào-ra với DMAC
Giữa DMAC với bộ nhớ
DMA trong suốt (Transparent DMA): DMAC
nhận biết những chu kỳ nào CPU không sử
dụng bus thì chiếm bus để trao đổi một từ dữ
liệu.
8 September 2009
45
8 September 2009
46
NKK-HUT
NKK-HUT
Cấu hình DMA (2)
Cấu hình DMA (3)
DMAC điều khiển một hoặc vài mô-đun vào-ra
Mỗi lần trao đổi một dữ liệu, DMAC sử dụng
bus một lần
Bus vào-ra tách rời hỗ trợ tất cả các thiết bị cho phép DMA
Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus một lần
Giữa DMAC với bộ nhớ
Giữa DMAC với bộ nhớ
8 September 2009
47
8 September 2009
48
Nguyễn Kim Khánh - ĐHBKHN
12
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Đặc điểm của DMA
4. Kênh vào-ra hay là bộ xử lý vào-ra
Việc điều khiển vào-ra được thực hiện
bởi một bộ xử lý vào-ra chuyên dụng
CPU không tham gia trong quá trình
trao đổi dữ liệu
Bộ xử lý vào-ra hoạt động theo chương
trình của riêng nó
DMAC điều khiển trao đổi dữ liệu giữa
bộ nhớ chính với mô-đun vào-ra (hoàn
toàn bằng phần cứng)Æ tốc độ nhanh
Chương trình của bộ xử lý vào-ra có thể
nằm trong bộ nhớ chính hoặc nằm
trong một bộ nhớ riêng
Phù hợp với các yêu cầu trao đổi mảng
dữ liệu có kích thước lớn
Hoạt động theo kiến trúc đa xử lý
8 September 2009
49
8 September 2009
50
NKK-HUT
NKK-HUT
Nối ghép song song
3.3. Nối ghép thiết bị ngoại vi
1. Các kiểu nối ghép vào-ra
Nối ghép song song
Nối ghép nối tiếp
Truyền nhiều bit song song
Tốc độ nhanh
Cần nhiều đường truyền dữ liệu
8 September 2009
51
8 September 2009
52
Nguyễn Kim Khánh - ĐHBKHN
13
Bài giảng Hệ thống máy tính
NKK-HUT
NKK-HUT
Nối ghép nối tiếp
2. Các cấu hình nối ghép
Điểm tới điểm (Point to Point)
Thông qua một cổng vào-ra nối ghép với một
thiết bị ngoại vi
Điểm tới đa điểm (Point to Multipoint)
Thông qua một cổng vào-ra cho phép nối
ghép được với nhiều thiết bị ngoại vi
Ví dụ:
Truyền lần lượt từng bit
Cần có bộ chuyển đổi từ dữ liệu song song sang
nối tiếp hoặc/và ngược lại
Tốc độ chậm hơn
Cần ít đường truyền dữ liệu
SCSI (Small Computer System Interface): 7 hoặc
15 thiết bị
USB (Universal Serial Bus): 127 thiết bị
IEEE 1394 (FireWire): 63 thiết bị
8 September 2009
53
8 September 2009
54
NKK-HUT
Hết chương 3
8 September 2009
55
Nguyễn Kim Khánh - ĐHBKHN
14
Bạn đang xem tài liệu "Bài giảng Hệ thống máy tính - Chương 3: Kiến trúc 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_he_thong_may_tinh_chuong_3_kien_truc_vao_ra_nguyen.pdf