Phần điều khiển I/O phải có thanh ghi trạng thái để phản ánh tức thời trạng thái hoạt động của thiết bị ngoại vi hoặc trạng thái hoạt động của bản thân phần điều khiển I/O.. Yêu cầu ngắ
Trang 1CHƯƠNG 5
Trang 2CPU1 Bộ nhớ CPU2
Xuất / nhập Tại sao phải trao đổi thông tin ?
Thiết bị
Trang 3Bộ nhớ dùng chung
1 Cả hai CPU đều truy xuất được vùng nhớ chung
2 Một trong hai CPU (master) có quyền cấm CPU (slave) còn lại truy xuất
3 Tốc độ trao đổi cao
4 Cần có mạch chọn địa chỉ bộ nhớ
5 Tầm địa chỉ truy xuất bộ nhớ của 2 CPU có thể khác nhau (tùy thuộc mạch giải mã địa chỉ)
6 Mỗi CPU có thể có vùng nhớ riêng
7 Cần phân định cấu trúc (khung) cho vùng nhớ chung
Trang 4CPU
Card màn hình
RAM màn hình
Màn hình
RAM màn hình
Màn hình máy IBM/PC
Địa chỉ phân trang 64 KB
Tín hiệu RGB
Trang 580 cột
25 dòng
(dòng 0,cột 0)
có địa chỉ B800:0000
- Mỗi ký tự lưu bằng 2 byte
- Byte địa chỉ thấp chứa mã ASCII
- Byte địa chỉ cao chứa mã màu
Màu nền
Màu chữ Sáng Chớp
Trang 6Kiểm tra trạng thái
1 Dùng để trao đổi thông tin với I/O
2 Phần điều khiển I/O phải có thanh ghi trạng thái để phản ánh tức thời trạng
thái hoạt động của thiết bị ngoại vi hoặc trạng thái hoạt động của bản
thân phần điều khiển I/O
3 CPU cần kiểm tra thường xuyên và định kỳ thanh ghi trạng thái
4 Hiệu suất thấp, lãng phí thời gian CPU
5 Đoạn chương trình lặp vòng kiểm tra trạng thái không thể thiếu trong chương trình
6 Phương pháp này chỉ dùng tốt khi CPU không làm công việc gì khác
Trang 7Bắt đầu
Kiểm tra bit Ready
công việc I/O
Đ
S
công việc chính
nhập thanh ghi trạng thái
Kiểm tra bit Ready
Lưu đồ kiểm tra trạng thái
Yếu tố thời gian (Time out)
Trang 8Yêu cầu ngắt quãng
Xuất nhập
Cần trao đổi thông tin
CPU
Thiết bị ngoại vi Chương trình chính
Chương trình phục vụ ngắt quãng
Interrupt
Chấp nhận ngắt quãng
Yêu cầu ngắt quãng
Trang 9Yêu cầu phần cứng
1 Phần điều khiển I/O phải có đường cung cấp tín hiệu yêu cầu ngắt quãng
2 CPU phải có tín hiệu trả lời chấp nhận ngắt quãng cho phần điều khiển thiết
bị
3 Khi phần điều khiển thiết bị nhận được tín hiệu chấp nhận ngắt quãng từ CPU, nó phải cung cấp một thông tin lên tuyến dữ liệu có liên quan đến cách truy xuất chương trình phục vụ ngắt quãng mà thường được gọi là
vector ngắt
4 CPU lấy vector ngắt từ tuyến dữ liệu (cất tạm đâu đó nếu cần)
5 CPU đẩy giá trị bộ đếm chương trình và thanh ghi trạng thái chương trình (PSW) vào stack
6 CPU định vị chương trình phục vụ ngắt thông qua vector ngắt và chuyển điều khiển đến đó
Trang 10Yêu cầu phần mềm
1 Bảo vệ các thanh ghi có sử dụng trong chương trình phục vụ ngắt (thường dùng stack)
2 Xác định chính xác thiết bị gây ra ngắt quãng trong trường hợp nhiều thiết
bị dùng chung vector ngắt
3 Đọc nội dung các thanh ghi có liên quan đến thiết bị
4 Nếu có lỗi xuất nhập thì xử lý trong chương trình phục vụ ngắt
5 Xử lý nhập hoặc xuất dữ liệu
6 Báo hiệu kết thúc ngắt cho phần điều khiển ngắt quãng nếu cần
7 Phục hồi các thanh ghi đã bảo vệ
8 Làm lệnh TRỞ VỀ TỪ NGẮT QUÃNG để trả điều khiển cho chương trình đang bị ngắt
Trang 11Bộ nhớ
CPU Xuất/nhập
Thiết bị ngoại vi
Byte thông tin nhập
Byte thông tin xuất
Quá trình chuyển ngoại vi - bộ nhớ Quá trình chuyển bộ nhớ - ngoại vi
Nhập
Xuất
Hoạt động xuất nhập bình thường
Trang 12Lưu lượng thông tin lấy từ Sound card
Tần số lấy mẫu : 44100 Hz
Độ lớn lấy mẫu : 16 bit
Số kênh stereo : 2
Tín hiệu
Các điểm lấy mẫu
U
t
44100 mẫu / s
2 byte / kênh
Trang 13Lưu lượng thông tin lấy từ Video capture card
Số điểm ngang : 800
Số điểm dọc : 600
Số bit màu : 32
Số hình trên s : 30
800 pixels
32 bits màu / pixel
800 x 600 x 4 = 1.920.000 bytes / hình DVD
1.920.000 x 30 = 55 MB / s VCD
320 x 240 x 4 x 30 = 8.8 MB / s
Trang 14Hoạt động xuất nhập dùng cơ chế DMA
Bộ nhớ
Thiết bị ngoại vi DMAC
BUS
Yêu cầu BUS
Chấp nhận nhường BUS
DMAC chiếm BUS để điều khiển
Cần trao đổi thông tin với lưu lượng lớn
Trang 15Các thông tin mà DMAC cần giữ
1 Địa chỉ vùng nhớ sẽ làm DMA
2 Số byte cần chuyển trong quà trình DMA
3 Thiết bị xuất nhập dùng cơ chế DMA
4 Chiều làm DMA
Trang 16DMA theo trang
DMAC chuyển tối đa 64 KB
(DMAC 8237A)
Bộ nhớ hệ thống
1 MB
Phân thành trang 64 KB
(16 trang)
1
2 làm DMA 2 lần