1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng Kiến trúc máy tính chương 6 Tổ chức vào ra

66 297 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 9,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Cung cấp một phương pháp để chuyển giao thông tin giữa bộ lưu trữnội bộ bộ nhớ và các thanh ghi CPU và các thiết bị I/O bên ngoài • Giải quyết sự chênh lệch giữa các thiết bị máy tính

Trang 1

KIẾN TRÚC MÁY TÍNH

Chương VI: Tổ chức vào ra

Giảng viên: TS Nguyễn Quý Sỹ

Email: synq@ptit.edu.vn

Trang 2

1 Các thiết bị ngoại vi

2 Giao diện Vào/Ra

3 Chuyển giao dữ liệu không đồng bộ

4 Các chế độ chuyển giao

5 Bộ xử lý vào-ra

Nội dung

Trang 3

trung tâm và môi trường bên ngoài

Trang 5

1 Các thiết bị ngoại vi

2 Giao diện Vào/Ra

3 Chuyển giao dữ liệu không đồng bộ

4 Các chế độ chuyển giao

5 Bộ xử lý vào-ra

Trang 6

Cung cấp một phương pháp để chuyển giao thông tin giữa bộ lưu trữ

nội bộ (bộ nhớ và các thanh ghi CPU) và các thiết bị I/O bên ngoài

Giải quyết sự chênh lệch giữa các thiết bị máy tính và các thiết bị

ngoại vi

Ngoại vi-Các thiết bị cơ điện

CPU hoặc bộ nhớ-Thiết bị điện tử

Tốc độ chuyển giao dữ liệu

Ngoại vi - thường chậm hơn

CPU hoặc bộ nhớ-Thường nhanh hơn ngoại vi

Có thể cần tới một số kiểu cơ chế đồng bộ

Khối thông tin

Ngoại vi – Byte, Khối, …

CPU hoặc bộ nhớ – Từ

Biểu diễn dữ liệu có thể khác nhau

2 Giao diện vào ra

Trang 7

Giao diện

Giải mã địa chỉ thiết bị (mã thiết bị)

Giải mã lệnh (tác vụ)

Cung cấp các tín hiệu cho bộ điều khiển ngoại vị

Đồng bộ luồng dữ liệu và giám sát tốc độ chuyển giao dữ liệu

giữa ngoại vi và CPU hoặc bộ nhớ

Processor

Interface

Keyboard and display terminal

Magnetic tape Printer

Interface Interface Interface

Data Address Control

Magnetic disk I/O bus

Trang 8

2 Giao diện vào ra-Kết nối của I/O Bus

Trang 9

Kết nối của bus I/O bus tới CPU

I/O bus

Device address

Command decoder Function code

Data lines

Buffer register

Peripheral register

Output peripheral device and controller

AD = 1101 Interface

Logic

I/O bus

Op.

code

Device address

Function code

Accumulator register

Computer I/O control

Sense lines Data lines

Function code lines Device address lines

CPU

Trang 10

Bus bộ nhớ là để cho chuyển giao các thông tin giữa CPU

và MM

và thiết bị I/O thông qua giao diện I/O

cho cả hai khối bộ nhớ và khối giao diện I/O

Sử dụng một bus chung nhưng các đường điều khiển tách biệt

cho từng chức năng

Sử dụng một bus chung với các đường điều khiển chung cho cả

hai chức năng

nhớ

Trang 11

Một số máy tính sử dụng hai bus tách riêng, một trao đổi

thông tin với bộ nhớ và một với các giao diện I/O

Trao đổi thông tin giữa CPU và tất cả các khối giao diện là qua

một bus I/O chung

Một giao diện nối tới một thiết bị ngoại vi có thể có một số thanh

ghi dữ liệu, 1 thanh ghi điều khiển và 1 thanh ghi trạng thái

Một lệnh được chuyển tới ngoại vi bằng cách gửi tới một thanh

ghi giao diện thích hợp

Không cần tới các đường mã chức năng và đường cảm ứng

(chuyển giao thông tin điều khiển dữ liệu và thông tin trạng thái luôn qua một bus I/O chung)

Trang 12

I/O riêng biệt

Tách riêng các đưòng điều khiển đọc/ghi I/O ngoài các đường

điều khiển đọc/ghi bộ nhớ

Tách riêng không gian địa chỉ bộ nhớ và không gian địa chỉ I/O

Các lệnh vào và ra riêng biệt

Một tập duy nhất các đường điều khiển đọc/ghi (không tách

riêng giữa chuyển giao bộ nhớ và I/O

Các địa chỉ bộ nhớ và I/O sử dụng chung không gian địa chỉ ->

giảm được khoảng địa chỉ bộ nhớ có thể sử dụng

Lệnh vào hoặc ra không xác định->các lệnh tương tự tham chiếu

bộ nhớ có thể sử dụng để chuyển giao I/O

Khá linh hoạt trong các tác vụ giám sát I/O

nhớ (t)

Trang 13

I/O riêng biệt

Tách riêng các đưòng điều khiển đọc/ghi I/O ngoài các đường

điều khiển đọc/ghi bộ nhớ

Tách riêng không gian địa chỉ bộ nhớ và không gian địa chỉ I/O

Các lệnh vào và ra riêng biệt

Một tập duy nhất các đường điều khiển đọc/ghi (không tách

riêng giữa chuyển giao bộ nhớ và I/O

Các địa chỉ bộ nhớ và I/O sử dụng chung không gian địa chỉ ->

giảm được khoảng địa chỉ bộ nhớ có thể sử dụng

Lệnh vào hoặc ra không xác định->các lệnh tương tự tham chiếu

bộ nhớ có thể sử dụng để chuyển giao I/O

Khá linh hoạt trong các tác vụ giám sát I/O

Trang 14

2 Giao diện I/O (t)

I/O write

CS RS1 RS0 RD WR

Timing and Control

Bus buffers

Bidirectional data bus

Port A register

Port B register

Control register

Status register

Trang 15

Giao diện có thể lập trình

Thông tin trong mỗi cổng có thể được ấn định một ý nghĩa phụ

thuộc vào chế độ hoạt động của thiết bị I/O

→ Port A = Data; Port B = Command; Port C = Status

CPU khởi tạo (nạp) từng cổng bằng cách chuyển một byte vào

thanh ghi điều khiển

→ Cho phép CPU có thể định nghĩa chế độ hoạt động của mỗi cổng

→ Cổng có thể lập trình được: Nhờ thay đổi các bit trong thanh ghi

điều khiển, nó có thể thay đổi các đặc tính giao diện

Trang 16

ISA - Industrial Standard Architecture:

Khe gắn card mở rộng trên Mainboard

Card mở rộng chuẩn ISA: Card âm thanh, card màn hình và

các thiết bị ngoại vi khác.

Băng thông của ISA là 8-16 bits, tần số 8-10Mhz.

ISA là chuẩn kênh truyền mở rộng chính trên máy tính IBM AT

nên thường được gọi là "kênh AT"

Kênh truyền 32-bit (máy PS/2, RS/6000 và một số đời của

ES/9370)

Hỗ trợ 15 mức Bus Mastering cho phép truyền dữ liệu từ tốc độ

20Mbytes/s đến 80 Mbytes/s

Vào cuối năm 1996, IBM ngưng hỗ trợ công nghệ MCA và

chuyển qua sử dụng PCI.

2 Giao diện I/O-Một số giao diện điển hình

Trang 17

EISA - Extended ISA:

Phiên bản mở rộng của kênh truyền ISA (Kênh truyền AT - AT

bus) 16-bit thành kênh truyền 32-bit

Một sự lựa chọn 32-bit thay thế cho MCA

Card mở rộng loại ISA có thể gắn vào khe gắn EISA dễ dàng do

cả hai cùng sử dụng tốc độ 8-10Mhz

Chuẩn EISA sau này được thay thế bởi chuẩn PCI.

Được phát triển bởi VESA và sử dụng phổ biến ở các đời máy

486

VL-Bus là loại kênh truyền 32-bit, hỗ trợ bus mastering và họat

động ở tốc độ 40Mhz.

Trang 18

EISA - Extended ISA:

Phiên bản mở rộng của kênh truyền ISA (Kênh truyền AT - AT

bus) 16-bit thành kênh truyền 32-bit

Một sự lựa chọn 32-bit thay thế cho MCA

Card mở rộng loại ISA có thể gắn vào khe gắn EISA dễ dàng do

cả hai cùng sử dụng tốc độ 8-10Mhz

Chuẩn EISA sau này được thay thế bởi chuẩn PCI.

Được phát triển bởi VESA và sử dụng phổ biến ở các đời máy

Trang 19

PCI - Peripheral Component Interconnect

Là một loại kênh ngoại vi trên Mainboard -Intel thiết kế vào

năm 1993

Dùng để gắn các card mở rộng cung cấp các đường truyền tốc

độ cao giữa CPU và các thiết bị ngoại vi (màn hình, mạng, đĩa cứng ngoài )

Cung cấp khả năng "cắm và chạy" ( plug and play ) là khả năng

tự nhận dạng và cài đặt các card PCI rất tốt

PCI cho phép chia sẻ "tài nguyên" IRQ (Interrupt

Request-Ngắt hệ thống) giữa các card PCI với nhau

Đặc điểm này rất quan trọng trong khi các card ngoại vi phục

vụ nhiều thiết bị ngoại vi và ứng dụng ngày càng nhiều còn số lượng các IRQ được hỗ trợ thì lại giới hạn.

Thiết bị PCI hoạt động ở tần số 33Mhz với các đường truyền dữ

liệu có băng thông 32 hoặc 64 bits (PCI version 2.1 họat động ở xung nhịp 66Mhz).

Trang 20

AGP - Accelerated Graphics Port

Chuẩn của khe gắn card mở rộng chuyên dùng cho card màn

hình tốc độ cao

Cung cấp kết nối trực tiếp giữa card màn hình và bộ nhớ

Có màu nâu, ngắn hơn và được thiết kế hơi thụt vào một chút so

với khe gắn PCI

AGP có băng thông 32-bits

Chuẩn AGP nguyên thủy (AGP 1X) cung cấp tốc độ truyền dữ

Trang 21

CNR-Communications and Networking Riser

Là chuẩn khe gắn cho phép gắn bổ xung mạch hỗ trợ các chức năng

như âm thanh (audio), modem (communications) và mạng (networking).

Là một chuẩn khe gắn cho phép gắn các card mở rộng chứa mạch xử lý

âm thanh (audio) và bộ điều biến (modem) lên Mainboard

Được thiết kế bởi hãng Intel,

AMR cung cấp khe cắm 46-pin giao diện kỹ thuật số (digital interface)

lên Mainboard

Card mở rộng chuẩn AMR hỗ trợ tất cả các chức năng xử lý tương tự

(analog functions - codecs) theo yêu cầu xử lý âm thanh và truyền thông dạng tương tự

Cùng với chuẩn cắm CNR, AMR là các lựa chọn cho các nhà sản xuất

Mainboard Hiện nay, AMR và CNR chưa hỗ trợ khả năng tương thích rộng rãi như các chuẩn khe cắm công nghiệp khác trước đây.

Trang 22

USB - Universal Serial Bus:

Giao diện kết nối phần cứng dùng cho các thiết bị ngoại vi có tốc

độ thấp như: keyboard, mouse, cần chỉnh hướng (dùng cho game), máy in và các thiết bị điện thoại

Nó còn hỗ trợ video kỹ thuật số như MPEG-1 và MPEG-2

USB 1.1 có băng thông (bandwidth) lớn nhất là 12 Mbits/sec

(tương đương với 1.5 Mbytes/sec) và có thể gắn được tới 127 thiết bị

Các thiết bị USB được mắc nối tiếp tạo thành chuỗi thiết bị

USB

Các thiết bị cần tốc độ cao thì sử dụng tòan bộ băng thông còn

những thiết bị tốc độ thấp thì có thể truyền dữ liệu ở các kênh truyền con là 1.5 Mbits/sec

Khả năng hoán đổi nóng của USB cho phép mọi thiết bị được

gắn vào hoặc tháo ra mà không cần phải tắt máy

2 Giao diện I/O-Một số giao diện điển hình (t)

Trang 23

USB - Universal Serial Bus: (t)

Các cổng USB đã có trong các máy tính cá nhân từ năm 1997, và

Windows 98 hỗ trợ đầy đủ cho giao diện này

USB 2.0 tăng dung lượng đột ngột lên đến 480 Mbits/sec Nó

được xem là mạch ghép nối tuần tự cho tương lai và là "đối thủ" của chuẩn giao tiếp FireWire (IEEE1394).

Các thiết bị USB có thể được gắn trực tiếp vào ổ cắm 4-chân

(4-pin socket) trên PC, gắn vào hub có nhiều cổng được nối vào PC hoặc gắn vào thiết bị có chức năng như là hub cho các thiết bị khác.

Phân phối 0.5 amps (500 milliamps) cho mỗi cổng

Bổ sung nguồn: sử dụng adapter nguồn AC rời

Hub (USB) có thể lấy nguồn điện từ đường truyền USB (gọi là

Bus powered - được cung cấp nguồn qua kênh truyền dữ liệu),

Trang 24

1 Các thiết bị ngoại vi

2 Giao diện Vào/Ra

3 Chuyển giao dữ liệu không đồng bộ

4 Các chế độ chuyển giao

5 Bộ xử lý vào-ra

Nội dung

Trang 25

Các hoạt động đồng bộ và không đồng bộ

Đồng bộ - Tất cả các thiết bị lấy thông tin thời gian từ một CLK

chung

Chuyển giao dữ liệu không đồng bộ giữa hai khối độc lập yêu

cầu các tín hiệu điều khiển phải phát đi giữa các khối thông tin

để chỉ thị dữ liệu đang được phát đi

Strobe pulse (xung nháy): Một xung strobe được cung cấp bởi

một khối để chỉ thị khối khác khi chuyển giao xảy ra

Bắt tay: Một tín hiệu điều khiển được cung cấp cùng với dữ liệu

Trang 26

Sử dụng một đường điều khiển duy nhất cho mỗi lần chuyển giao

Strobe có thể được kích hoạt hoặc bằng khối nguồn hoặc khối đích

3 Chuyển giao dữ liệu không đồng bộ-STROBE

Source

unit

Destination unit

Destination unit

Trang 27

Các phương pháp Strobe-hạn chế

Khối nguồn khởi tạo chuyển giao không có cách nào để biết được

khối đích đã thực sự nhận được dữ liệu hay không

Đích khởi tạo

Khối đích khởi tạo chuyển giao không có cách nào để biết được

nguồn đã thực sự đặt dữ liệu lên bus hay không

một tín hiệu điều khiển thứ hai để cung cấp một phản hồi (Reply) cho khối khởi tạo ra chuyển giao

Trang 28

Cho phép trễ tuỳ ý từ trạng thái này sang trạng thái khác

liệu của nó

cao do hoàn toàn thành công chuyển giao dữ liệu dựa trên

sự tham gia tích cực bởi cả hai khối

hoàn thành

-> Có thể phát hiện được bằng các cơ chế timeout

khởi tạo chuyển giao

Trang 29

Sequence of Events

Place data on bus.

Enable data valid.

Disable data valid.

Invalidate data on bus.

Source unit

Destination unit Data accepted

Data bus

Data valid

Valid data Data valid

Sequence of Events

Place data on bus.

Enable data valid.

Disable data valid.

Invalidate data on bus.

Source unit

Destination unit Data accepted

Data bus

Data valid

Valid data Data valid

Data accepted

Trang 30

khởi tạo chuyển giao (t)

Block Diagram

Timing Diagram

Source unit

Destination unit

Data bus Ready for data Data valid

Sequence of Events

Place data on bus.

Enable data valid.

Ready to accept data.

Enable ready for data.

Disable data valid.

Invalidate data on bus (initial state).

Accept data from bus.

Disable ready for data.

Ready for data

Destination unit

Data bus Ready for data Data valid

Sequence of Events

Place data on bus.

Enable data valid.

Ready to accept data.

Enable ready for data.

Disable data valid.

Invalidate data on bus (initial state).

Accept data from bus.

Disable ready for data.

Ready for data

Data valid

Trang 31

Bốn dạng chuyển giao

Chuyển giao nối tiếp không đồng bộ

Chuyển giao nối tiếp đồng bộ

Trang 32

Chuyển giao nối tiếp không đồng bộ

Sử dụng các bit đặc biệt chèn vào 2 đầu của mã ký tự

Mỗi ký tự chưa 3 phần: Start bit; Data bits; Stop bits.

Khi dữ liệu không có, đường được duy trì ở trạng thái 1 (trạng

thái rỗi)

Khởi tạo truyền ký tự được phát hiện bởi Start Bit, luôn là 1 số

0

Các bit ký tự luôn luôn theo sau Start Bit

Sau kỹ tự cuối cùng, một Stop Bit được phát hiện khi đường trả

lạ trạng thái 1 ít nhất 1 lần

thông tin dự kiến

3 Chuyển giao không đồng bộ-N ối tiếp (t)

Trang 33

Giao diện trao đổi thông tin không đồng bộ thông thường

Bus buffers

Bidirectional

data bus

Transmitter register

Control register

Status register

Receiver register

Shift register

Transmitter control and clock

Receiver control and clock

Shift register

Transmit data

Transmitter clock

Receiver clock

Receive data

Trang 34

Thanh ghi phát

Chấp nhận một byte dữ liệu (từ CPU)

Chuyển tới một thanh ghi dịch để truyền nối tiếp

Nhận thông tin nối tiếp vào một thanh ghi

byte dữ liệu hoàn thành được gửi tới thanh ghi nhận

Được dùng cho các cờ I/O và cho các lỗi ghi

Định nghĩa tốc độ baud, số lượng bit trên mỗi ký tự

Tạo ra và kiểm tra parity, và số lượng các bit dừng

3 Chuyển giao không đồng bộ- UART (t)

Trang 35

Dữ liệu vào và ra ở hai tốc độ khác nhau

đệm

giao không đồng bộ

Trang 36

3 Chuyển giao không đồng bộ-B ộ đệm FIFO (t)

4-bit register

S R

F F'

1 1

4-bit register

S R

F F'

2 2

4-bit register

S R

F F'

3 3

4-bit register

S R

F F'

4 4

F F

S R

F F'

S R

Data output

Output ready

Delete

Data input

Insert

Input ready

Master clear

Trang 37

1 Các thiết bị ngoại vi

2 Giao diện Vào/Ra

3 Chuyển giao dữ liệu không đồng bộ

4 Các chế độ chuyển giao

5 Bộ xử lý vào-ra

Trang 38

3 chế độ chuyển giao dữ liệu giữa máy tính trung tâm

(CPU hoặc bộ nhớ) và các ngoại vi;

I/O được điều khiển bằng chương trình

I/O được điều khiển bằng ngắt

Bộ xử lý (kênh) I/O

4 Chế độ chuyển giao

Trang 39

I/O được điều khiển bằng chương trình

Polling or Status Checking

Continue with program

= 0

= 1

yes no

CPU

Data bus Address bus I/O read I/O write

Interface Data register

Status register F

I/O bus Data valid Data accepted

I/O device

Trang 40

Bầu chọn (điều khiển I/O bằng chương trình) làm mất

thời gian quý giá của CPU

chuyển -> Ngắt.

liệu, nó tạo ra một yêu cầu ngắt cho CPU

đang thực hiện, rẽ nhánh tới thủ tục dịch vụ ngắt để xử lý chuyển giao dữ liệu, và sau đó chuyển trả về nhiệm vụ nó đang thực hiện trước đó

4.2 I/O kh ởi tạo ngắt

Trang 41

Các ngắt ưu tiên cao hơn có thể thực hiện các yêu cầu ngắt khi

máy tính đang phục vụ ngắt ưu tiên thấp hơn

Sự ưu tiên được thiết lập theo thứ tự bầu chọn thiết bị (các

nguồn ngắt)

Linh hoạt bởi vì được thiết lập bằng phần mềm

Chi phí thấp vì nó cần phần cứng tối thiểu

Trang 42

Ngắt ưu tiên bằng phần cứng

Yêu cầu một bộ quản ngắt ưu tiên, bộ quản lý ngắt chấp nhận

tất cả các yêu cầu ngắt để xác định yêu cầu ưu tiên cao nhất

Nhanh vì nhận dạng yêu cầu ngắt có độ ưu tiên cao nhất được

nhận dạng bằng phần cứng

Nhanh vì mỗi nguồn ngắt có một vector ngắt để truy cập trực

tiếp tới thủ tục dịch vụ ngắt của nó

4.2 I/O kh ởi tạo ngắt (t)

Ngày đăng: 12/08/2015, 16:36

HÌNH ẢNH LIÊN QUAN

Hình tốc độ cao. - Bài giảng Kiến trúc máy tính chương 6 Tổ chức vào ra
Hình t ốc độ cao (Trang 20)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w