các pp vào ra dữ liệu:thăm dò,DMA,ngắt
III. Các phương pháp vào ra DL:
1. Phương pháp thăm dò:
* Đặc điểm:
- Các thiết bị I/O sẽ liên tục cập nhật trạng thái sẵn sàng làm việc của mình lên byte trong byte trạng thái tương ứng.
- CPU quét byte trạng thái Nếu bít vào đó =1 => thiết bị tương ứng sẵn sàng làm việc -> 2 bên sẽ trao đổi DL
Ưu điểm: Phương pháp đơn giản, dễ thực hiện, có thể thực hiện bằng phần mềm.
Nhược điểm: tốn time CPU để quét sạch trạng thái, ko còn time thực hiện công việc khác.
* Có 2 phương pháp thăm dò:
- Chức năng: thăm dò đc dung khi: + khởi động (chuột, bàn phím, ổ đĩa)
+ Chạy (ổ mềm, CD, máy in)
2. Phương pháp DMA:
- Là qua trình thiết bị I/O trao đổi trực tiếp với Mem ko qua CPU
- Chu trình hoạt động:
B1: Thiết bị I/O gửi yêu cầu DRQ DMAC
. DRQ_DMA Request
. HRQ_Hold Request
. Hold_ nhận tín hiệu CPU tiếp nhận yêu cầu DMA
. HLDA_ nhận tín hiệu trả lời yêu cầu DMA
. HACK_ Hold Acknow ledge
. DACK_DMA Acknow ledge
B2: DMAC chuyển yêu cầu đến chân tín hiệu HOLD của CPU
B3: CPU: + Hoàn tất lệnh đang thực hiện
+ Gửi tín hiệu trả lời (đồng ý) HACK thông qua HLDA
+ CPU tự treo (tách ra khỏi hệ thống bus -- toàn bộ bus A và D
-- 1 phần bus C)
B4: DMAC nhận đc HACK Cho thiết bị I/O đc DACKnắm quyền điều khiển bus cho CPU
- Các kiểu trao đổi DL bằng DMA:
+ Treo CPU để trao đổi 1 byte DL
+ Treo CPU để trao đổi mảng DL
+ Tận dụng thời gian bus rỗi để trao đổi DL
- Chức năng: sử dụng DMA khi các thiết bị có nhu cầu: DL nhiều
Tốc độ cao
3. Ngắt, xử lý ngắt:
* Định nghĩa: ngắt là sự kiện CPU tạm dừng thực hiện chương trình để chuyển sang thực hiện chương trình khác theo yêu cầu bên ngoài.
* Các loại ngắt:
- Ngắt cứng là cách ngắt khởi tạo từ thiết bị phần cứng và đc gửi đến 1 trong 2 chân của CPU: NMI
INTR
- Ngắt mềm: là các ngắt kích hoạt từ chương trình thông qua các lệnh gọi ngắt INT (n-số hiệu ngắt)
- Ngoại lệ: là các ngắt xảy ra do các lỗi trong quá trình thực hiện chương trình (VD: Chia cho 0, do tràn)
* Ưu tiên xử lý ngắt:
- Khi có nhiều yêu cầu ngắt gửi đến CPU nó sẽ phân cấp từ caothấp
+ Ngắt nội bộ: INT N, INT 0 (phép chia cho 0)...
+ Ngắt ko cho đc NMI
+ Ngắt cho đc INTR
+ Ngắt để chạy từng lệnh INT 1
* Chu trình xử lý ngắt:
- CPU đang thực hiện chương trình con thì có yêu cầu ngắt gửi đếnchấp nhận ngắtlưu các thanh ghi: F, CS, IP
- Xóa cờ ngắt (IF=0): xóa cờ (TF=0). Sau đó lấy địa chỉ của chương trình con phục vụ ngắt (căn cứ vào số hiệu ngắt n) nạp vào CS và IP
- CPU thực hiện chương trình con phục vụ ngắtkết thúc (gặp IRET)
CPU nạp lại (khôi phục các giá trị của IP, CS, F) và tiếp tục thực hiện chương trình chính.
* Chương trình vào ra bằng ngắt: gồm 5 bước
B1: thiết bị I/O có yêu cầu ngắt. Yêu cầu ngắt đc chuyển đến CPU INTR
B2: CPU thực hiện các việc:
+ Hoàn tất các lệnh đang thực hiện
+ Lưu các thanh ghi IP, CS, F
+ Gửi tín hiệu chấp nhận ngắt đến thiết bị I/O thông qua INTA
+ Xóa cờ ngắt (cấm ngắt), xóa cờ bẫy (IF=0)
+ Yêu cầu thiết bị I/O cung cấp số hiệu ngắt
B3: Thiết bị I/O nhận đc tín hiệu chấp nhận ngắt, gửi số hiệu ngắt đến CPU
B4: CPU nhận số hiệu ngắt n. Qua đó xác định đc phục vụ ngắt (CS, IP). Đồng thời thực hiện chương trình con phục vụ ngắt trao đổi DL với thiết bị I/O
B5: Kết thúc chương trình con phục vụ ngắt, CPU sẽ khôi phục các thanh ghi IP, CS, F. Đặt IF=1 và tiếp tục thực hiện chương trình con.
4. So sánh 3 phương pháp: thăm dò, DMA và ngắt
Đặc điểm Thăm dò Ngắt DMA
1. Ai chủ động:- CPU....- I/O......- I/O
2. Tính đơn giản:- Đơn giản....- Tương đối phức tạp.....- Rất phức tạp
3. Tốc độ:- Chậm.....- Chậm......- Nhanh
4. Hiệu năng :- Thấp.....- Trung bình .....- Cao
Bạn đang đọc truyện trên: truyentop.pro