Bộ vi xử lý - 8086 Ngắt

Interruptlà phương pháp tạo điểm dừng tạm thời trong quá trình thực thi chương trình và cho phép các thiết bị ngoại vi truy cập vào bộ vi xử lý. Bộ vi xử lý đáp ứng với ngắt đó bằngISR (Quy trình dịch vụ ngắt), là một chương trình ngắn để hướng dẫn bộ vi xử lý cách xử lý ngắt.

Hình ảnh sau đây cho thấy các loại ngắt mà chúng ta có trong bộ vi xử lý 8086 -

Ngắt phần cứng

Ngắt phần cứng là do bất kỳ thiết bị ngoại vi nào gây ra bằng cách gửi tín hiệu qua một chân được chỉ định tới bộ vi xử lý.

8086 có hai chân ngắt phần cứng, tức là NMI và INTR. NMI là ngắt không che được và INTR là ngắt có thể che có mức ưu tiên thấp hơn. Một chân ngắt khác được liên kết với INTA được gọi là xác nhận ngắt.

NMI

Nó là một chân ngắt không che được (NMI) duy nhất có mức ưu tiên cao hơn chân yêu cầu ngắt có thể che được (INTR) và nó thuộc loại ngắt 2.

Khi ngắt này được kích hoạt, các hành động này sẽ diễn ra -

  • Hoàn thành hướng dẫn hiện tại đang được thực hiện.

  • Đẩy các giá trị thanh ghi Cờ vào ngăn xếp.

  • Đẩy giá trị CS (đoạn mã) và giá trị IP (con trỏ lệnh) của địa chỉ trả về vào ngăn xếp.

  • IP được tải từ nội dung của vị trí từ 00008H.

  • CS được tải từ nội dung của vị trí từ tiếp theo 0000AH.

  • Cờ ngắt và cờ bẫy được đặt lại về 0.

INTR

INTR là ngắt có thể che dấu vì bộ vi xử lý sẽ bị ngắt chỉ khi ngắt được kích hoạt bằng cách sử dụng lệnh cờ ngắt đã đặt. Nó không nên được kích hoạt bằng cách sử dụng hướng dẫn Cờ ngắt rõ ràng.

Ngắt INTR được kích hoạt bởi một cổng I / O. Nếu ngắt được kích hoạt và NMI bị vô hiệu hóa, thì trước tiên bộ vi xử lý sẽ hoàn thành việc thực thi hiện tại và gửi '0' trên chân INTA hai lần. Số '0' đầu tiên có nghĩa là INTA thông báo cho thiết bị bên ngoài chuẩn bị sẵn sàng và trong '0' thứ hai, bộ vi xử lý nhận 8 bit, chẳng hạn như X, từ bộ điều khiển ngắt có thể lập trình.

Các hành động này được thực hiện bởi bộ vi xử lý -

  • Đầu tiên hoàn thành hướng dẫn hiện tại.

  • Kích hoạt đầu ra INTA và nhận kiểu ngắt, giả sử X.

  • Giá trị thanh ghi cờ, giá trị CS của địa chỉ trả về và giá trị IP của địa chỉ trả về được đẩy vào ngăn xếp.

  • Giá trị IP được tải từ nội dung của vị trí từ X × 4

  • CS được tải từ nội dung của vị trí từ tiếp theo.

  • Cờ ngắt và cờ bẫy được đặt lại thành 0

Phần mềm ngắt

Một số hướng dẫn được chèn vào vị trí mong muốn vào chương trình để tạo ngắt. Các lệnh ngắt này có thể được sử dụng để kiểm tra hoạt động của các bộ xử lý ngắt khác nhau. Nó bao gồm -

INT- Lệnh ngắt với số kiểu

Đây là lệnh 2 byte. Byte đầu tiên cung cấp mã op và byte thứ hai cung cấp số kiểu ngắt. Có 256 kiểu ngắt trong nhóm này.

Quá trình thực thi của nó bao gồm các bước sau:

  • Giá trị thanh ghi cờ được đẩy vào ngăn xếp.

  • Giá trị CS của địa chỉ trả về và giá trị IP của địa chỉ trả về được đẩy vào ngăn xếp.

  • IP được tải từ nội dung của vị trí từ 'số loại' × 4

  • CS được tải từ nội dung của vị trí từ tiếp theo.

  • Cờ ngắt và Cờ bẫy được đặt lại thành 0

Địa chỉ bắt đầu cho ngắt kiểu0 là 000000H, cho ngắt kiểu1 là 00004H tương tự cho kiểu2 là 00008H và …… vv. Năm con trỏ đầu tiên là con trỏ ngắt chuyên dụng. tức là -

  • TYPE 0 ngắt biểu thị tình huống chia cho số không.

  • TYPE 1 ngắt biểu thị việc thực thi một bước trong quá trình gỡ lỗi chương trình.

  • TYPE 2 ngắt biểu diễn ngắt NMI không che được.

  • TYPE 3 ngắt biểu diễn ngắt điểm ngắt.

  • TYPE 4 ngắt biểu diễn ngắt tràn.

Các ngắt từ Kiểu 5 đến Kiểu 31 được dành riêng cho các bộ vi xử lý tiên tiến khác, và ngắt từ 32 đến Kiểu 255 dành cho ngắt phần cứng và phần mềm.

Hướng dẫn ngắt INT 3 điểm ngắt

Nó là một lệnh 1 byte có mã op là CCH. Các lệnh này được chèn vào chương trình để khi bộ xử lý đến đó, nó sẽ dừng quá trình thực thi bình thường của chương trình và tuân theo quy trình điểm ngắt.

Quá trình thực thi của nó bao gồm các bước sau:

  • Giá trị thanh ghi cờ được đẩy vào ngăn xếp.

  • Giá trị CS của địa chỉ trả về và giá trị IP của địa chỉ trả về được đẩy vào ngăn xếp.

  • IP được tải từ nội dung của vị trí từ 3 × 4 = 0000CH

  • CS được tải từ nội dung của vị trí từ tiếp theo.

  • Cờ ngắt và Cờ bẫy được đặt lại thành 0

INTO - Ngắt trên lệnh tràn

Đó là một hướng dẫn 1 byte và cách ghi nhớ của chúng INTO. Mã op cho hướng dẫn này là CEH. Như tên cho thấy nó là một lệnh ngắt có điều kiện, tức là nó chỉ hoạt động khi cờ tràn được đặt thành 1 và rẽ nhánh tới trình xử lý ngắt có số kiểu ngắt là 4. Nếu cờ tràn được đặt lại thì việc thực thi tiếp tục hướng dẫn tiếp theo.

Quá trình thực thi của nó bao gồm các bước sau:

  • Giá trị thanh ghi cờ được đẩy vào ngăn xếp.

  • Giá trị CS của địa chỉ trả về và giá trị IP của địa chỉ trả về được đẩy vào ngăn xếp.

  • IP được tải từ nội dung của vị trí từ 4 × 4 = 00010H

  • CS được tải từ nội dung của vị trí từ tiếp theo.

  • Cờ ngắt và cờ bẫy được đặt lại thành 0