Các loại ngắt

Chức năng của ngắt

Khái niệm chung về ngắt: Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang thực hiện để chuyển sang thực hiện một chương trình khác, gọi là chương trình con phục vụ ngắt.

Phần lớn các nhà sản xuất máy tính (ví dụ như IBM, INTEL) dùng từ ngắt quãng để ám chỉ sự kiện này, tuy nhiên một số nhà sản xuất khác dùng từ “ngoại lệ”, “lỗi”, “bẩy” để chỉ định hiện tượng này.

Bộ điều khiển của CPU là bộ phận khó thực hiện nhất và ngắt quãng là phần khó thực hiện nhất trong bộ điều khiển. Để nhận biết được một ngắt quãng lúc đang thi hành một lệnh, ta phải biết điều chỉnh chu kỳ xung nhịp và điều này có thể ảnh hưởng đến hiệu quả của máy tính.

Các loại ngắt

Người ta đã nghỉ ra “ngắt quãng” là để nhận biết các sai sót trong tính toán số học, và để ứng dụng cho những hiện tượng thời gian thực. Bây giờ, ngắt quãng được dùng cho các công việc sau đây:

  • Ngắt do lỗi khi thực hiện chương trình, ví dụ: tràn số, chia cho 0.
  • Ngắt do lỗi phần cứng, ví dụ lỗi bộ nhớ RAM.
  • Ngắt do mô-đun vào-ra phát tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu.
  • Người lập trình muốn dùng dịch vụ của hệ điều hành.
  • Báo tràn số liệu trong tính toán số học.
  • Trang bộ nhớ thực sự không có trong bộ nhớ.
  • Báo vi phạm vùng cấm của bộ nhớ.
  • Báo dùng một lệnh không có trong tập lệnh.
  • Báo điện bị cắt.

Dù rằng ngắt quãng không xảy ra thường xuyên nhưng bộ xử lý phải được thiết kế sao cho có thể lưu giữ trạng thái của nó trước khi nhảy đi phục vụ ngắt quãng. Sau khi thực hiện xong chương trình phục vụ ngắt, bộ xử lý phải khôi phục trạng thái của nó để có thể tiếp tục công việc.

Hoạt động của ngắt

Để đơn giản việc thiết kế, một vài bộ xử lý chỉ chấp nhận ngắt sau khi thực hiện xong lệnh đang chạy. Khi một ngắt xảy ra, bộ xử lý thi hành các bước sau đây:

  1. Thực hiện xong lệnh đang làm.
  2. Lưu trữ trạng thái hiện tại.
  3. Nhảy đến chương trình phục vụ ngắt
  4. Khi chương trình phục vụ chấm dứt, bộ xử lý khôi phục lại trạng thái cũ của nó và tiếp tục thực hiện chương trình mà nó đang thực hiện khi bị ngắt.

Sơ đồ mô tả hoạt động ngắt

  • Nội dung của bộ đếm chương trình PC (địa chỉ trở về sau khi ngắt) được đưa ra bus dữ liệu.
  • CPU đưa địa chỉ (thường được lấy từ con trỏ ngăn xếp SP) ra bus địa chỉ.
  • CPU phát tín hiệu điều khiển ghi bộ nhớ.
  • Địa chỉ trở về trên bus dữ liệu được ghi ra vị trí xác định (ở ngăn xếp).
  • Địa chỉ lệnh đầu tiên của chương trình con điều khiển ngắt được nạp vào PC.