Mạch DMAC 8237-5 của Intel

Một phần của tài liệu BÀI GIẢNG KỸ THUẬT VI XỬ LÝ (Trang 114 - 116)

X: Don’t care

7.2.2. Mạch DMAC 8237-5 của Intel

Vấn đề:

Trong thực tế tại một thời điểm có thể có nhiều yêu cầu ngắt từ các loại ngắt khác nhau, cùng đòi hỏi CPU phục vụ. CPU cùng một lúc không thể phục vụ tất cả các yêu cầu ngắt. Vì thế cần có một quy trình nhất định dựa trên một đặc tính tính ưu tiên nào đó mà lần lượt các yêu cầu ngắt sẽ được đáp ứng.

Bản thân 8088 cũng được thiết kế để có thể phân và nhận diện các mức ưu tiên ngắt theo tính chất quan trong của nó như sau:

Mức ưu tiên

• Ngắt nội bộ: INT 0 (phép chia cho 0). …..Cao nhất

• Ngắt khơng che được NMI

• Ngắt che được ỈNT

• Ngắt để chạy từng lệnh ….Thấp nhất

Khi có nhiều yêu cầu ngắt cùng một lúc thì CPU lần lượt phục vụ theo mức ưu tiên giảm dần.

Trong trường hợp có nhiều ngắt che được từ bên ngồi phải phục vụ ta thường dùng vi mạch có sẵn 8259A để giải quyết vấn đề ưu tiên. Mạch 8259A được gọi là mạch điều khiển ngắt ưu tiên (priority interupt controller. PIC). Đó là 1 vi mạch cỡ lớn lập trình được, có thể xử lý trước được 8 yêu cầu ngắt với 8 mức ưu tiên khác nhau để tạo ra 1 yêu cầu ngắt đưa đến đầu vào INTR(yêu cầu ngắt che được) của CPU 8088. Nếu nối tầng 1 mạch 8259A chủ với 8 mạch 8259A ta có thể nâng tổng số các yêu cầu ngắt với các mức ưu tiên khác nhau lên thành 64.

CLK

HOLD HOLDA

Sơ đồ khối của PIC 8259A

Ghi chú:

• IR0-IR7: các yêu cầu ngắt.

• IRR: Thanh ghi yêu cầu ngắt.

• PR: Bộ xử lý ưu tiên.

• SP-EN: Slave program/Enable bufer(lập trình thành mạch thợ/mở đệm BUS dữ liệu).

• ISR: Thanh ghi các yêu cầu ngắt đang được phục vụ.

• Cas0-Cas2: Tín hiệu nối tầng giữa các PIC với nhau.

Các khối chức năng chính của 8259A

• Thanh ghi IRR: Ghi nhớ các yêu cầu ngắt có tại đầu vào IRi

• Thanh ghi ISR: Ghi nhớ các yêu cầu ngắt đang được phục vụ trong số các yêu cầu ngắt Iri.

• Thanh ghi IMR: ghi nhớ mặt nạ ngắt đối với các yêu cầu ngắt IRi.

• Logic điều khiển: Khối này có nhiệm vụ gửi yêu cầu ngắt tới INTR của 8088 khi có tín hiệu tại các chân IRi và nhận trả lời chấp nhận trả lời chấp nhận yêu cầu ngắt INTA từ CPU để rồi điều khiển việc đưa ra kiểu ngắt trên bus dữ liệu.

• Đệm bus dữ liệu: Dùng để phối ghép 8259A với bus dữ liệu của CPU.

• Logic điều khiển ghi/đọc: Dùng cho việc ghi các từ điều khiển và đọc các từ trạng thái của 8259A.

• Khối đệm nối tầng và so sánh: Ghi nhớ và so sánh số hiệu của các mạch 8259A có mặt trong hệ vi xử lý.

Các tín hiệu của 8259A:

Một số tín hiệu trong mạch 8259A có tên giống như các tín hiệu tiêu chuẩn của 8088 ta có thể thấy rõ và hiểu được ý nghĩa của chúng như ở hình trên. Ngồi các tín hiệu này ra cịn có một số tín hiệu khác đặc biệt khác như sau:

Cas0-Cas2 [I.O]: Là các đầu vào đối với các mạch 8259A thợ hoặc các đầu ra của mạch 8259A chủ dùng khi cần nối tầng.

SP/EN

Đệm

Bus D Logic điều khiển

ISR PR IRR IMR (thanh ghi mặt nạ) Logic ghi đọc Đệm nối tầng và so sánh IR0 IR0 IR0 RD WR A0 CS Cas0 Cas1 Cas2 INTA INT Bus nội bộ

SP/EN[I.O]: Khi 8259A làm việc ở chế độ khơng có đệm bus dữ liệu thì đây là tín hiệu vào dùng lập trình để biến mạch 8259A thành mạch thợ (SP=0) hoặc chủ (SP=1). Khi 8259A làm việc trong hệ vi xử lý ở chế độ có đệm bus dữ liệu thì chân này là tín hiệu ra EN dùng mở đệm bus dữ liệu để 8088 và 8259 thông vào bus dữ liệu hệ thống. Việc định nghĩa 8259A là chủ hoặc thợ phải thực hiện thông qua từ điều khiển ICW4.

• INT [O]: Tín hiệu u cầu ngắt đến chân INTR của 8088.

Một phần của tài liệu BÀI GIẢNG KỸ THUẬT VI XỬ LÝ (Trang 114 - 116)