các pp vào ra dữ liệu:thăm dò,DMA,ngắt

Màu nền
Font chữ
Font size
Chiều cao dòng

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 DACKnắ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ừ caothấ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 đếnchấp nhận ngắtlư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ắtkế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: Truyen2U.Pro