JavaScript is required

Trong hệ thống ngắt cứng, biết yêu cầu ngắt của bàn phím tương ứng với tín hiệu IRQ1 và giả sử bàn phím có tín hiệu yêu cầu vào/ra theo ngắt cứng, thì giá trị trong thanh ghi nhận yêu cầu ngắt IRR của PIC số 1 có thể là:

A.

E0h.

B.

1Fh.

C.

11h hoặc E0h.

D.

11h hoặc F1h.

Trả lời:

Đáp án đúng: D


Trong hệ thống ngắt cứng sử dụng PIC (Programmable Interrupt Controller), mỗi tín hiệu IRQ (Interrupt Request) được gán một bit trong thanh ghi IRR (Interrupt Request Register) của PIC. IRQ1 tương ứng với bit thứ 1 (tính từ 0).

Để xác định giá trị trong thanh ghi IRR, ta cần xem xét bit tương ứng với IRQ1 được bật (set) hay không. Nếu IRQ1 được yêu cầu, bit 1 sẽ là 1. Các bit khác có thể là 0 hoặc 1 tùy thuộc vào các yêu cầu ngắt khác.

  • Phương án A: E0h = 1110 0000b. Bit 1 (tính từ 0) là 0, không phù hợp với IRQ1.
  • Phương án B: 1Fh = 0001 1111b. Bit 1 là 1, nhưng các bit khác cũng là 1, điều này có nghĩa là có nhiều yêu cầu ngắt đồng thời. Trường hợp này có thể xảy ra.
  • Phương án C: 11h = 0001 0001b hoặc E0h = 1110 0000b. 11h có bit 0 và bit 4 là 1, và bit 1 là 0, không chính xác, E0h cũng không chính xác như phân tích ở trên.
  • Phương án D: 11h = 0001 0001b hoặc F1h = 1111 0001b. 11h có bit 0 và bit 4 là 1, và bit 1 là 0, không chính xác. F1h = 1111 0001b, bit 1 là 0, không chính xác.

Tuy nhiên, không có đáp án nào hoàn toàn chính xác trong các lựa chọn được đưa ra. Đáp án gần đúng nhất là B (1Fh) mặc dù nó thể hiện nhiều ngắt đang được yêu cầu đồng thời, nhưng ít nhất nó bao gồm IRQ1. Nếu chỉ có IRQ1 được yêu cầu thì giá trị chính xác trong IRR phải là 02h (0000 0010b).

Trong trường hợp này, vì không có đáp án hoàn toàn đúng, ta cần chọn đáp án hợp lý nhất. Đáp án B (1Fh) là đáp án gần đúng nhất vì nó bao gồm bit tương ứng với IRQ1 (mặc dù có thêm các bit khác được bật).

Câu hỏi liên quan