You are on page 1of 14

Bài giảng Kiến trúc máy tính 13 February 2011

NKK-HUT NKK-HUT

Kiến trúc máy tính Nội dung học phần

„ Chương 1. Giới thiệu chung


„ Chương
g 2. Cơ bản về logic
g số
Chương 8 „ Chương 3. Hệ thống máy tính
Chương 4. Kiến trúc tập lệnh
VÀO-RA
„

„ Chương 5. Số học máy tính


„ Chương 6. Bộ xử lý
„ Chương 7. Bộ nhớ
Nguyễn Kim Khánh „ Chương 8. Vào-ra
Trường Đại học Bách khoa Hà Nội
„ Chương 9. Kiến trúc máy tính tiên tiến

13 February 2011 IT3030 1 13


„13February
February2011
2011 IT3030 2
„

NKK-HUT NKK-HUT

Nội dung của chương 8 8.1. Tổng quan về vào-ra


1. Giới thiệu chung
8.1. Tổng quan về vào-ra
„ Chức năng của vào-ra: Trao đổi thông
8 2 Các phương pháp điều khiển vào-ra
8.2. vào ra tin giữa máy tính với thế giới bên
8.3. Nối ghép thiết bị ngoại vi ngoài
8.4. Các cổng vào-ra thông dụng trên PC „ Các thao tác cơ bản:

„ Vào dữ liệu (Input)


„ R dữ liệu
Ra liệ (Output)
(O t t)
„ Các thành phần chính:
„ Các thiết bị ngoại vi
„ Các mô-đun vào-ra
13 February 2011 IT3030 3 13 February 2011 IT3030 4

Nguyễn Kim Khánh - ĐHBKHN 1


Bài giảng Kiến trúc máy tính 13 February 2011

NKK-HUT NKK-HUT

Cấu trúc cơ bản của vào-ra Đặc điểm của vào-ra

„ Tồn tại đa dạng các thiết bị ngoại vi


khác nhau về:
„ Nguyên
N ê tắ
tắc hoạt
h t động
độ
„ Tốc độ
„ Khuôn dạng dữ liệu
„Tất cả các thiết bị ngoại vi đề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ị ngoại vi với CPU và bộ nhớ
chính

13 February 2011 IT3030 5 13 February 2011 IT3030 6

NKK-HUT NKK-HUT

2. Các thiết bị ngoại vi Một số thiết bị ngoại vi


Input type Prime examples Other examples Data rate (b/s) Main uses
Symbol Keyboard, keypad Music note, OCR 10s Ubiquitous
„ Chức năng: chuyển đổi dữ liệu giữa Position Mouse, touchpad Stick, wheel, glove 100s Ubiquitous
Identity Barcode reader Badge, fingerprint 100s Sales, security
bên trong và bên ngoài máy tính S
Sensory T
Touch,
h motion,
ti light
li ht S
Scent,
t brain
b i signal
i l 100
100s C t l security
Control, it
Audio Microphone Phone, radio, tape 1000s Ubiquitous

„ Phân loại: Image


Video
Scanner, camera
Camcorder, DVD
Graphic tablet
VCR, TV cable
1000s-106s
1000s-109s
Photos, publishing
Entertainment

„ Thiết bị ngoại vi giao tiếp người-máy: Output type Prime examples Other examples Data rate (b/s) Main uses
Symbol LCD line segments LED, status light 10s Ubiquitous
Bàn phím, Màn hình, Máy in,... Position Stepper motor Robotic motion 100s Ubiquitous
Warning Buzzer, bell, siren Flashing light A few Safety, security
„ Thiết bị ngoại vi giao tiếp máy-máy: gồm Sensory Braille text Scent, brain stimulus 100s Personal assistance

các thiết
ế bị theo dõi và kiểm
ể tra Audio
Image
Speaker, audiotape
Monitor, printer
Voice synthesizer
Plotter, microfilm
1000s
1000s
Ubiquitous
Ubiquitous

„ Thiết bị ngoại vi truyền thông: Modem, Video Monitor, TV screen Film/video recorder 1000s-109s Entertainment
Two-way I/O Prime examples Other examples Data rate (b/s) Main uses
Network Interface Card (NIC) Mass storage Hard/floppy disk CD, tape, archive 106s Ubiquitous
Network Modem, fax, LAN Cable, DSL, ATM 1000s-109s Ubiquitous

13 February 2011 IT3030 7 13 February 2011 IT3030 8

Nguyễn Kim Khánh - ĐHBKHN 2


Bài giảng Kiến trúc máy tính 13 February 2011

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

13 February 2011 IT3030 9 13 February 2011 IT3030 10

NKK-HUT NKK-HUT

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

„ Chức năng của mô-đun vào-ra:


„ Điều khiển
Điề khiể và à định
đị h 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

13 February 2011 IT3030 11 13 February 2011 IT3030 12

Nguyễn Kim Khánh - ĐHBKHN 3


Bài giảng Kiến trúc máy tính 13 February 2011

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
„ Thanh ghi đệm dữ liệu: đệm dữ liệu a. Không gian địa chỉ của bộ xử lý
trong quá trình trao đổi
„ Các cổng
ổ vào-ra (I/O 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
13 February 2011 IT3030 13 13 February 2011 IT3030 14

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ỉ bộ nhớ: 2N địa chỉ
không gian đị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
„ Ví dụ: gian địa chỉ
„ Tập lệnh có các lệnh vào-ra chuyên dụng
„ Các bộ xử lý 680x0 (Motorola)
„ Ví dụ: Pentium (Intel)
„ Cá bộ xử
Các ử lý theo
th kiến
kiế ttrúc
ú RISC:
RISC MIPS,
MIPS …
„ 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ụng: IN, OUT
13 February 2011 IT3030 15 13 February 2011 IT3030 16

Nguyễn Kim Khánh - ĐHBKHN 4


Bài giảng Kiến trúc máy tính 13 February 2011

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

„ Vào-ra riêng biệt „ Cổng vào-ra được đánh địa chỉ theo
khônggggian địa
ị chỉ vào-ra
(Isolated IO hay IO mapped IO)
„ CPU trao đổi dữ liệu với cổng vào-ra
„ Vào-ra theo bản đồ bộ nhớ
thông qua các lệnh vào-ra chuyên dụng
(Memory mapped IO) (IN, OUT)
„ Chỉ có thể thực hiện trên các hệ thống có
quản
ả lý không
khô giani địa
đị chỉ
hỉ vào-ra
à riêng

biệt

13 February 2011 IT3030 17 13 February 2011 IT3030 18

NKK-HUT NKK-HUT

Vào-ra theo bản đồ bộ nhớ 8.2. Các phương pháp điều khiển vào-ra

„ 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
„ Vào-ra giống như đọc/ghi bộ nhớ (Programmed IO)
„ CPU trao đổi dữ liệu với cổng vào-ra „ Vào-ra điều khiển bằng ngắt
thông qua các lệnh truy nhập dữ liệu bộ (Interrupt Driven IO)
nhớ „ 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)

13 February 2011 IT3030 19 13 February 2011 IT3030 20

Nguyễn Kim Khánh - ĐHBKHN 5


Bài giảng Kiến trúc máy tính 13 February 2011

NKK-HUT NKK-HUT

Ba kỹ thuật thực hiện vào một khối dữ liệu 1. Vào-ra bằng chương trình

„ Nguyên
g y tắc chung: g 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.

13 February 2011 IT3030 21 13 February 2011 IT3030 22

NKK-HUT NKK-HUT

Các tín hiệu điều khiển vào-ra Các lệnh 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 „ Với vào-ra riêng
g biệt:
ệ sử dụng
ụ g các lệnh

của mô-đun vào-ra và thiết bị ngoại vi vào-ra chuyên dụng (IN, OUT).
„ Tín hiệu điều khiển đọc (Read): yêu cầu mô- „ Với vào-ra theo bản đồ bộ nhớ: sử
đ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 dụng các lệnh trao đổi dữ liệu với bộ
nhận dữ liệu đó nhớ để trao đổi dữ liệu với cổng vào-ra.
„ Tí hiệ
Tín hiệu điều
điề khiển
khiể ghi
hi (Write):
(W i ) 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

13 February 2011 IT3030 23 13 February 2011 IT3030 24

Nguyễn Kim Khánh - ĐHBKHN 6


Bài giảng Kiến trúc máy tính 13 February 2011

NKK-HUT NKK-HUT

Lưu đồ đoạn chương trình vào-ra Hoạt động của vào-ra bằng chương trình
„ CPU yêu cầu thao tác vào-ra
„ Mô-đun vào-ra thực hiện thao tác
„ Mô-đun vào-ra thiết lập các bit trạng
thái
„ 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

13 February 2011 IT3030 25 13 February 2011 IT3030 26

NKK-HUT NKK-HUT

Đặc điểm 2. Vào-ra điều khiển bằng ngắt

„ Nguyên tắc chung:


„ Vào-ra do ý muốn của người
g lập
ập trình „ 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
„ CPU trực tiếp điều khiển vào-ra chương trình nào đó
„ CPU đợi mô-đun vào-ra Æ tiêu tốn thời „ Khi mô-đun vào-ra sẵn sàng thì nó phát tín
gian của CPU 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

13 February 2011 IT3030 27 13 February 2011 IT3030 28

Nguyễn Kim Khánh - ĐHBKHN 7


Bài giảng Kiến trúc máy tính 13 February 2011

NKK-HUT NKK-HUT

Chuyển điều khiển đến chương trình con ngắt 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


ọ từ CPU
đọ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
„ Khi đã có dữ liệu Æ mô-đun vào-ra phát
tín
í hiệu
hiệ ngắtắ CPU
„ CPU yêu cầu dữ liệu
„ Mô-đun vào-ra chuyển dữ liệu đến CPU
13 February 2011 IT3030 29 13 February 2011 IT3030 30

NKK-HUT NKK-HUT

Hoạt động vào dữ liệu: nhìn từ CPU Các vấn đề nảy sinh khi thiết kế

„ Phát tín hiệu điều khiển đọc „ Làm thế nào để xác định được mô-đun
„ Làm việc
ệ khác vào-ra nào phát tín hiệu ngắt ?
„ Cuối mỗi chu trình lệnh, kiểm tra tín „ CPU làm như thế nào khi có nhiều yêu
hiệu ngắt cầu ngắt cùng xẩy ra ?
„ Nếu bị ngắt:
„ Cất ngữ cảnh (nội dung các thanh ghi)
„ Th hiện
Thực hiệ chương
h trình
t ì h con ngắt
ắt để vào
à
dữ liệu
„ Khôi phục ngữ cảnh của chương trình
đang thực hiện
13 February 2011 IT3030 31 13 February 2011 IT3030 32

Nguyễn Kim Khánh - ĐHBKHN 8


Bài giảng Kiến trúc máy tính 13 February 2011

NKK-HUT NKK-HUT

Các phương pháp nối ghép ngắt Nhiều đường yêu cầ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
Poll)
„ Hỏi vòng bằng phần cứng (Daisy Chain
or Hardware Poll)
„ Sử dụng
ụ g bộ
ộ điều khiển ngắt
g ((PIC))
„ Mỗi mô-đ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
13 February 2011 IT3030 33 13 February 2011 IT3030 34

NKK-HUT NKK-HUT

Hỏi vòng bằng phần mềm Hỏi vòng bằng phần cứng

„ CPU thực
ự hiệnệ phần
p mềm hỏi lần lượt
ợ từng
g
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
13 February 2011 IT3030 35 13 February 2011 IT3030 36

Nguyễn Kim Khánh - ĐHBKHN 9


Bài giảng Kiến trúc máy tính 13 February 2011

NKK-HUT NKK-HUT

Kiểm tra vòng bằng phần cứng (tiếp) Bộ điều khiển ngắt lập trình được

„ CPU phát tín hiệu chấp nhận ngắt


(INTA) đến
đế mô-đun
ô đ vào-ra
à đầ tiên
đầu tiê
„ 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 „ PIC – Programmable
P bl IInterrupt
t t Controller
C t ll
„ Thứ tự các mô-đun vào-ra kết nối trong „ PIC có nhiều đường vào yêu cầu ngắt có qui
chuỗi xác định thứ tự ưu tiên đị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
13 February 2011 IT3030 37 13 February 2011 IT3030 38

NKK-HUT NKK-HUT

Đặc điểm của vào-ra điều khiển bằng ngắt Ngắt của 80x86

„ Có sự kết hợp giữa phần cứng và phần „ Tổ chức kiểu vector ngắt
mềm „ Số hiệu
hiệ ngắt:
ắt n (00-FF)
(00 FF)
„ Phần cứng: gây ngắt CPU
„ Bảng vector ngắt: 256 x 4 byte = 1024bytes
„ Phần mềm: trao đổi dữ liệu
00000 – 003FF
„ CPU trực tiếp điều khiển vào-ra
„ Lệnh INT n
„ CPU không phải đợi mô-đun
mô đun vào
vào-ra
ra Æ
hiệu quả sử dụng CPU tốt hơn

13 February 2011 IT3030 39 13 February 2011 IT3030 40

Nguyễn Kim Khánh - ĐHBKHN 10


Bài giảng Kiến trúc máy tính 13 February 2011

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
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
13 February 2011 IT3030 41 13 February 2011 IT3030 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 „ Địa
ị chỉ thiết bịị vào-ra ((cổng
g vào-ra tương
g ứng)
g)
„ Thanh ghi địa chỉ: chứa địa chỉ ngăn „ Địa chỉ đầu của mảng nhớ chứa dữ liệu Æ nạp vào
nhớ dữ liệu thanh ghi địa chỉ
Số từ dữ liệu cần truyền Æ nạp vào bộ đếm dữ liệu
Bộ đếm dữ liệu: chứa số từ dữ liệu cần
„
„
„ CPU làm việc khác
trao đổi
„ DMAC điều khiển trao đổi dữ liệu
„ Logic điều khiển: điều khiển hoạt động
„ Sau khi truyền
ề được một từ dữ liệu thì:
của DMAC „ 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
13 February 2011 IT3030 43 13 February 2011 IT3030 44

Nguyễn Kim Khánh - ĐHBKHN 11


Bài giảng Kiến trúc máy tính 13 February 2011

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 „ Mỗi lần trao đổi một dữ liệu, DMAC sử dụng
từ dữ liệu. bus hai lần
„ DMA trong suốtố (Transparent DMA): DMAC „ Giữa mô-đun vào-ra với DMAC
nhận biết những chu kỳ nào CPU không sử „ Giữa DMAC với bộ nhớ
dụng bus thì chiếm bus để trao đổi một từ dữ
liệu.
13 February 2011 IT3030 45 13 February 2011 IT3030 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 vào-ra tách rời hỗ trợ tất cả các thiết bị cho phép DMA
bus một lần „ 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ớ

13 February 2011 IT3030 47 13 February 2011 IT3030 48

Nguyễn Kim Khánh - ĐHBKHN 12


Bài giảng Kiến trúc máy tính 13 February 2011

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


„ CPU không tham gia trong quá trình bởi một bộ xử lý vào-ra chuyên dụng
trao đổi dữ liệu
„ Bộ xử lý vào-ra hoạt động theo chương
„ DMAC điều khiển trao đổi dữ liệu giữa trình của riêng nó
bộ nhớ chính với mô-đun vào-ra (hoàn
„ Chương trình của bộ xử lý vào-ra có thể
toàn bằng phần cứng)Æ tốc độ nhanh
nằm trong bộ nhớ chính hoặc nằm
„ Phù hợp với các yêu cầu trao đổi mảng trong một bộ nhớ riêng
dữ liệu có kích thước lớn
„ Hoạt động theo kiến trúc đa xử lý

13 February 2011 IT3030 49 13 February 2011 IT3030 50

NKK-HUT NKK-HUT

8.3. Nối ghép thiết bị ngoại vi Nối ghép song song

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
13 February 2011 IT3030 51 13 February 2011 IT3030 52

Nguyễn Kim Khánh - ĐHBKHN 13


Bài giảng Kiến trúc máy tính 13 February 2011

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
„ SCSI (Small Computer System Interface): 7 hoặc
„ 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 15 thiết bị
„ Tốc độ chậm hơn „ USB (Universal Serial Bus): 127 thiết bị
„ Cần ít đường truyền dữ liệu „ IEEE 1394 (FireWire): 63 thiết bị
13 February 2011 IT3030 53 13 February 2011 IT3030 54

NKK-HUT NKK-HUT

8.4. Các cổng vào-ra thông dụng trên PC

„ Các cổng PS/2: nối ghép bàn phím và chuột


„ Cổng nối ghép màn hình
„ Cổng LPT (Line Printer): nối ghép với máy in, là
cổng song song (Parallel Port) – 25 chân Hết chương 8
„ Cổng COM (Communication): nối ghép với
MODEM, là cổng nối tiếp (Serial Port) - 9 hoặc
25 chân
„ Cổng USB (Universal Serial Bus): Cổng nối tiếp
đa năng, cho phép nối ghép tối đa 127 thiết bị,
nhờ các USB Hub
„ ...
13 February 2011 IT3030 55 13 February 2011 IT3030 56

Nguyễn Kim Khánh - ĐHBKHN 14

You might also like