Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (771.82 KB, 45 trang )
Interrupt Vector Number
Số ngắt
•
Là một số
vì có thể
đến bộ vi
biết được
số ngắt
•
Trong hệ thống 8088, co thể có đến 256 số ngắt (từ 00h
đến FFh)
được dùng để phân biệt các yếu cầu ngắt. Bởi
có nhiều hơn một thiết bị phát yêu cầu ngắt
xử lý cho nên để cho bộ vi xử lý có thể nhận
thiết bị thì mỗI thiết bị sẽ được gán cho một
Interrupt Vector Table
Bảng các vector ngắt
•
Là vùng nhớ được dành riêng để lưu trữ các vector ngắt
•
Có thể xem như là một mảng các vector ngắt
– Mảng này có 256 phần tử
– Mỗi phần tử gồm 4 byte: 2 byte đầu lưu địa
chỉ offset, 2 byte sau lưu địa chỉ segment
– Các vector ngắt được lưu trữ theo trật tự tăng
dần của số ngắt
Bảng các vector ngắt
Phản ứng của vi xử lý khi không có
ngắt
•
1.
2.
3.
4.
5.
Khi bật công tấc nguồn hoặc nhấn nút reset.
Bộ vi xử lý được khởi động:
– (IP) = 0000h
– (CS) = FFFFh
– IF = 0
Bộ vi xử lý tìm và lấy 1 byte lệnh.
IP tăng lên 1.
Bộ vi xử lý giải mã và thực hiện lệnh nếu tất cả các byte lệnh
của một lệnh đã được lấy.
Quay trỏ lại bước 2.
Phản ứng của vi xử lý khi có ngắt
•
Thiết bị I/O đưa yêu cầu ngắt đến bộ vi xử lý bằng cách làm
cho đầu vào ngắt INTR chuyển sang mức cao.
6. Bộ vi xử lý sẽ hoàn thành lệnh đang thực hiện trước khi chấp
nhận ngắt
7. Bộ vi xử lý chấp nhận ngắt bằng cách đưa ra tín hiệu chấp
nhận ngắt ở mức thấp từ chân INTA. Lúc này thiết bị I/O sẽ
làm cho tín hiệu ở INTR chuyển về mức thấp.
8. Thiết bị I/O sẽ đưa số ngắt được gán cho nó đến bộ vi xử lý
thông qua D-Bus. Bộ vi xử lý sẽ lưu trữ số ngắt này vào một
thanh ghi tạm thời