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 3 KIẾN TRÚC HỆ THỐNG VÀO-RA

(cid:132) Chương 1. Giới thiệu chung (cid:132) Chương 2. Kiến trúc bộ nhớ (cid:132) Chương 3. Kiến trúc vào-ra (cid:132) Chương 4. Kiến trúc bộ xử lý (cid:132) Chương 5. Kiến trúc máy tính tiên tiến

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

NKK-HUT

NKK-HUT

8 September 2009 1 8 September 2009 2

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

Nội dung

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

1. Giới thiệu chung (cid:132) 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

(cid:132) Các thao tác cơ bản: (cid:132) Vào dữ liệu (Input) (cid:132) Ra dữ liệu (Output) (cid:132) Các thành phần chính: (cid:132) Các thiết bị ngoại vi (cid:132) Các mô-đun vào-ra

4 8 September 2009 3 8 September 2009

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

Disk

Disk

Network

Graphics display

NKK-HUT

NKK-HUT

8 September 2009 5 8 September 2009 6

Tổ chức bus vào-ra phân cấp

Đặc điểm của vào-ra

Interrupts

(cid:132) Tồn tại đa dạng các thiết bị ngoại vi

CPU

Main memory

Cache

Memory bus

Bus adapter

Bus adapter

AGP

PCI bus

khác nhau về: (cid:132) Nguyên tắc hoạt động (cid:132) Tốc độ (cid:132) Khuôn dạng dữ liệu

Intermediate buses / ports

(cid:132) Tất cả các thiết bị ngoại vi đều chậm

Bus adapter

I/O bus

I/O controller

hơn CPU và RAM

I/O controller

I/O controller

I/O controller

Graphics display

Network

Disk

Disk

CD/DVD

(cid:198) 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

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

Keyboard, keypad

Music note, OCR

10s

Ubiquitous

Symbol

Mouse, touchpad

Stick, wheel, glove

100s

Ubiquitous

Position

(cid:132) Chức năng: chuyển đổi dữ liệu giữa

Barcode reader

Badge, fingerprint

100s

Sales, security

Identity

Touch, motion, light

Scent, brain signal

100s

Control, security

Sensory

Input type Prime examples Other examples Data rate (b/s) Main uses

bên trong và bên ngoài máy tính

Microphone

Phone, radio, tape

1000s

Ubiquitous

Audio

Photos, publishing

Scanner, camera

Graphic tablet

1000s-106s

Image

(cid:132) Phân loại:

Camcorder, DVD

VCR, TV cable

1000s-109s

Entertainment

Video

(cid:132) Thiết bị ngoại vi giao tiếp người-máy:

LCD line segments

LED, status light

10s

Ubiquitous

Symbol

Bàn phím, Màn hình, Máy in,...

Stepper motor

Robotic motion

100s

Ubiquitous

Position

Buzzer, bell, siren

Flashing light

A few

Safety, security

Warning

(cid:132) Thiết bị ngoại vi giao tiếp máy-máy: gồm

Braille text

Scent, brain stimulus

100s

Personal assistance

Sensory

Speaker, audiotape

Voice synthesizer

1000s

Ubiquitous

Audio

các thiết bị theo dõi và kiểm tra

Monitor, printer

Plotter, microfilm

1000s

Ubiquitous

Image

Video

Monitor, TV screen

Film/video recorder

1000s-109s

Entertainment

(cid:132) Thiết bị ngoại vi truyền thông: Modem,

Output type Prime examples Other examples Data rate (b/s) Main uses

Ubiquitous

Mass storage

Hard/floppy disk

CD, tape, archive

106s

Network Interface Card (NIC)

Network

Modem, fax, LAN

Cable, DSL, ATM

1000s-109s

Ubiquitous

Two-way I/O Prime examples Other examples Data rate (b/s) Main uses

NKK-HUT

NKK-HUT

8 September 2009 9 8 September 2009 10

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

(cid:132) 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

(cid:132) 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

(cid:132) 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

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

(cid:132) Chức năng của mô-đun vào-ra:

(cid:132) Điều khiển và định thời (cid:132) Trao đổi thông tin với CPU hoặc bộ nhớ

chính

(cid:132) Trao đổi thông tin với thiết bị ngoại vi (cid:132) Đệm giữa bên trong máy tính với thiết bị

ngoại vi

(cid:132) Phát hiện lỗi của thiết bị ngoại vi

NKK-HUT

NKK-HUT

8 September 2009 13 8 September 2009 14

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ý

(cid:132) Thanh ghi đệm dữ liệu: đệm dữ liệu

trong quá trình trao đổi

(cid:132) 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

(cid:132) 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

(cid:132) 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)

(cid:132) Một số bộ xử lý quản lý hai không gian địa chỉ

(cid:132) Một số bộ xử lý chỉ quản lý duy nhất một

tách biệt: (cid:132) Không gian địa chỉ bộ nhớ: 2N địa chỉ (cid:132) Không gian địa chỉ vào-ra: 2N1 địa chỉ (cid:132) Có tín hiệu điều khiển phân biệt truy nhập không

gian địa chỉ

không gian địa chỉ: (cid:132) không gian địa chỉ bộ nhớ: 2N địa chỉ (cid:132) Ví dụ: Các bộ xử lý 680x0 (Motorola)

(cid:132) Tập lệnh có các lệnh vào-ra chuyên dụng

(cid:132) Ví dụ: Pentium (Intel)

(cid:132) không gian địa chỉ bộ nhớ = 232 byte = 4GB (cid:132) không gian địa chỉ vào-ra = 216 byte = 64KB (cid:132) Tín hiệu điều khiển (cid:132) Lệnh vào-ra chuyên dụng: IN, OUT

NKK-HUT

NKK-HUT

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

8 September 2009 17 8 September 2009 18

Vào-ra riêng biệt

(cid:132) Cổng vào-ra được đánh địa chỉ theo

(cid:132) Vào-ra riêng biệt

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

(Isolated IO hay IO mapped IO)

(cid:132) CPU trao đổi dữ liệu với cổng vào-ra

(cid:132) Vào-ra theo bản đồ bộ nhớ

(Memory mapped IO)

thông qua các lệnh vào-ra chuyên dụng (IN, OUT)

(cid:132) 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ớ

(cid:132) Cổng vào-ra được đánh địa chỉ theo

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

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

(cid:132) Vào-ra giống như đọc/ghi bộ nhớ (cid:132) CPU trao đổi dữ liệu với cổng vào-ra

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

thông qua các lệnh truy nhập dữ liệu bộ nhớ

(cid:132) Truy nhập bộ nhớ trực tiếp - DMA

(cid:132) Có thể thực hiện trên mọi hệ thống

(Direct Memory Access)

NKK-HUT

NKK-HUT

8 September 2009 21 8 September 2009 22

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

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

(cid:132) Tín hiệu điều khiển (Control): kích hoạt thiết

bị ngoại vi

(cid:132) 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

(cid:132) Nguyên tắc chung: CPU điều khiển trực tiếp vào-ra bằng chương trình (cid:198) cần phải lập trình vào-ra.

(cid:132) 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 đó

(cid:132) 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

(cid:132) 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). (cid:132) 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.

NKK-HUT

NKK-HUT

8 September 2009 25 8 September 2009 26

Hoạt động của vào-ra bằng chương trình

Đặc điểm

(cid:132) CPU yêu cầu thao tác vào-ra (cid:132) Mô-đun vào-ra thực hiện thao tác (cid:132) Mô-đun vào-ra thiết lập các bit trạng

thái

(cid:132) Vào-ra do ý muốn của người lập trình (cid:132) CPU trực tiếp điều khiển vào-ra (cid:132) CPU đợi mô-đun vào-ra (cid:198) tiêu tốn thời

(cid:132) CPU kiểm tra các bit trạng thái:

gian của CPU

(cid:132) Nếu chưa sẵn sàng thì quay lại kiểm tra (cid:132) 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

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

(cid:132) Nguyên tắc chung:

(cid:132) 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 đó

(cid:132) Khi mô-đun vào-ra sẵn sàng thì nó phát tín

hiệu ngắt CPU

(cid:132) CPU thực hiện chương trình con vào-ra

tương ứng để trao đổi dữ liệu

(cid:132) CPU trở lại tiếp tục thực hiện chương trình

đang bị ngắt

NKK-HUT

NKK-HUT

8 September 2009 29 8 September 2009 30

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

(cid:132) Mô-đun vào-ra nhận tín hiệu điều khiển

đọc từ CPU

(cid:132) Phát tín hiệu điều khiển đọc (cid:132) Làm việc khác (cid:132) Cuối mỗi chu trình lệnh, kiểm tra tín

(cid:132) 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

hiệu ngắt (cid:132) Nếu bị ngắt:

(cid:132) Khi đã có dữ liệu (cid:198) mô-đun vào-ra phát

(cid:132) Cất ngữ cảnh (nội dung các thanh ghi) (cid:132) Thực hiện chương trình con ngắt để vào

dữ liệu

(cid:132) Khôi phục ngữ cảnh của chương trình

tín hiệu ngắt CPU (cid:132) CPU yêu cầu dữ liệu (cid:132) Mô-đun vào-ra chuyển dữ liệu đến CPU

đang thực hiện

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

(cid:132) Làm thế nào để xác định được mô-đun

vào-ra nào phát tín hiệu ngắt ?

(cid:132) Sử dụng nhiều đường yêu cầu ngắt (cid:132) Hỏi vòng bằng phần mềm (Software

(cid:132) CPU làm như thế nào khi có nhiều yêu

Poll)

cầu ngắt cùng xẩy ra ?

(cid:132) Hỏi vòng bằng phần cứng (Daisy Chain

or Hardware Poll)

(cid:132) Sử dụng bộ điều khiển ngắt (PIC)

NKK-HUT

NKK-HUT

8 September 2009 33 8 September 2009 34

Nhiều đường yêu cầu ngắt

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

(cid:132) CPU thực hiện phần mềm hỏi lần lượt từng

mô-đun vào-ra

ngắt

(cid:132) Chậm (cid:132) Thứ tự các mô-đun được hỏi vòng chính là

thứ tự ưu tiên

(cid:132) Mỗi mô-đun vào-ra được nối với một đường yêu cầu

(cid:132) CPU phải có nhiều đường tín hiệu yêu cầu ngắt (cid:132) Hạn chế số lượng mô-đun vào-ra (cid:132) 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)

(cid:132) CPU phát tín hiệu chấp nhận ngắt (INTA) đến mô-đun vào-ra đầu tiên (cid:132) 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

(cid:132) Thứ tự các mô-đun vào-ra kết nối trong

chuỗi xác định thứ tự ưu tiên

NKK-HUT

NKK-HUT

8 September 2009 37 8 September 2009 38

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

(cid:132) Có sự kết hợp giữa phần cứng và phần

mềm (cid:132) Phần cứng: gây ngắt CPU (cid:132) Phần mềm: trao đổi dữ liệu

(cid:132) CPU trực tiếp điều khiển vào-ra (cid:132) CPU không phải đợi mô-đun vào-ra (cid:198)

hiệu quả sử dụng CPU tốt hơn

(cid:132) PIC – Programmable Interrupt Controller (cid:132) PIC có nhiều đường vào yêu cầu ngắt có qui

định mức ưu tiên

(cid:132) 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

(cid:132) Vào-ra bằng chương trình và bằng ngắt

do CPU trực tiếp điều khiển: (cid:132) Chiếm thời gian của CPU (cid:132) Tốc độ truyền bị hạn chế vì phải chuyển

qua CPU

(cid:132) Để khắc phục dùng DMA

(cid:132) Thêm mô-đun phần cứng trên bus (cid:198)

DMAC (Controller)

(cid:132) DMAC điều khiển trao đổi dữ liệu giữa mô-

đun vào-ra với bộ nhớ chính

NKK-HUT

NKK-HUT

8 September 2009 41 8 September 2009 42

Các thành phần của DMAC

Hoạt động DMA

(cid:132) CPU “nói” cho DMAC (cid:132) Vào hay Ra dữ liệu (cid:132) Địa chỉ thiết bị vào-ra (cổng vào-ra tương ứng) (cid:132) Địa chỉ đầu của mảng nhớ chứa dữ liệu (cid:198) nạp vào

(cid:132) Thanh ghi dữ liệu: chứa dữ liệu trao đổi (cid:132) Thanh ghi địa chỉ: chứa địa chỉ ngăn

thanh ghi địa chỉ

nhớ dữ liệu

(cid:132) Số từ dữ liệu cần truyền (cid:198) nạp vào bộ đếm dữ liệu

(cid:132) Bộ đếm dữ liệu: chứa số từ dữ liệu cần

trao đổi

(cid:132) Logic điều khiển: điều khiển hoạt động

(cid:132) CPU làm việc khác (cid:132) DMAC điều khiển trao đổi dữ liệu (cid:132) Sau khi truyền được một từ dữ liệu thì:

của DMAC

(cid:132) nội dung thanh ghi địa chỉ tăng (cid:132) nội dung bộ đếm dữ liệu giảm

(cid:132) Khi bộ đếm dữ liệu = 0, DMAC gửi tín hiệu ngắt

CPU để báo kết thúc DMA

8 September 2009 43 8 September 2009 44

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)

(cid:132) DMA truyền theo khối (Block-transfer DMA): DMAC sử dụng bus để truyền xong cả khối dữ liệu

(cid:132) Mỗi lần trao đổi một dữ liệu, DMAC sử dụng

(cid:132) 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.

bus hai lần (cid:132) Giữa mô-đun vào-ra với DMAC (cid:132) Giữa DMAC với bộ nhớ

(cid:132) 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.

NKK-HUT

NKK-HUT

8 September 2009 45 8 September 2009 46

Cấu hình DMA (2)

Cấu hình DMA (3)

(cid:132) DMAC điều khiển một hoặc vài mô-đun vào-ra (cid:132) Mỗi lần trao đổi một dữ liệu, DMAC sử dụng

(cid:132) Giữa DMAC với bộ nhớ

bus một lần (cid:132) Giữa DMAC với bộ nhớ

(cid:132) Bus vào-ra tách rời hỗ trợ tất cả các thiết bị cho phép DMA (cid:132) Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus một lần

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

(cid:132) CPU không tham gia trong quá trình

trao đổi dữ liệu

(cid:132) 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 (cid:132) Bộ xử lý vào-ra hoạt động theo chương

trình của riêng nó

(cid:132) Chương trình của bộ xử lý vào-ra có thể

(cid:132) 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)(cid:198) tốc độ nhanh (cid:132) Phù hợp với các yêu cầu trao đổi mảng

nằm trong bộ nhớ chính hoặc nằm trong một bộ nhớ riêng

dữ liệu có kích thước lớn

(cid:132) Hoạt động theo kiến trúc đa xử lý

NKK-HUT

NKK-HUT

8 September 2009 49 8 September 2009 50

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 (cid:132) Nối ghép song song (cid:132) Nối ghép nối tiếp

(cid:132) Truyền nhiều bit song song (cid:132) Tốc độ nhanh (cid:132) 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

2. Các cấu hình nối ghép

Nối ghép nối tiếp

(cid:132) Điểm tới điểm (Point to Point)

(cid:132) Thông qua một cổng vào-ra nối ghép với một

thiết bị ngoại vi

(cid:132) Điểm tới đa điểm (Point to Multipoint)

(cid:132) 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

(cid:132) Ví dụ:

Truyền lần lượt từng bit

(cid:132) SCSI (Small Computer System Interface): 7 hoặc

15 thiết bị

nối tiếp hoặc/và ngược lại Tốc độ chậm hơn

(cid:132) USB (Universal Serial Bus): 127 thiết bị (cid:132) IEEE 1394 (FireWire): 63 thiết bị

(cid:132) (cid:132) Cần có bộ chuyển đổi từ dữ liệu song song sang

(cid:132) (cid:132) Cần ít đường truyền dữ liệu

NKK-HUT

8 September 2009 53 8 September 2009 54

Hết chương 3

8 September 2009 55

Nguyễn Kim Khánh - ĐHBKHN

14