Trong cách vào/ra dữ liệu điều khiển bằng phương pháp thăm dò, trước khi tiến hành trao đổi dữ liệu CPU phải dành toàn bộ thời gian vào việc xác định trạng thái sẵn sàng của thiết bị cần trao đổi. Trong hệ thống VXL với cách làm việc như vậy, thông thường CPU được thiết kế chủ yếu chỉ là để phục vụ cho việc vào/ ra dữ liệu và thực hiện các tác vụ xử lý dữ liệu liên quan. Trong thực tế, người ta phải tận dụng những khả năng của CPU để thực hiện những công việc khác ngoài việc trao đổi dữ liệu với TBN, chỉ khi nào có yêu cầu trao đổi dữ liệu thì mới yêu cầu CPU tạm dừng công việc hiện tại để phục vụ việc trao đổi dữ liệu. Sau khi hoàn thành thì CPU lại trở lại thực hiện tiếp công việc đang tiến hành, hoặc thực hiện một công việc mới. Cách làm việc như vậy gọi là ngắt cứng để trao đổi dữ liệu. Một hệ thống như vậy có thể đáp ứng rất nhanh với các yêu cầu trao đổi dữ liệu trong khi vẫn có thể thực hiện các công việc khác.
56
Ngắt là sự kiện CPU bị tạm dừng tiến trình đang thực hiện để chuyển sang thực hiện quá trình phục vụ ngắt.
Ngắt cứng là phương pháp vào/ra dữ liệu trong đó thiết bị vào/ra chủ động khởi động quá trình vào/ra dữ liệu nhờ hệ thống ngắt cứng.
Thông thường quá trình vào/ra theo ngắt cứng được trợ giúp bởi thiết bị điều khiển ngắt PIC (Programmable Interrupt Controller). PIC có chức năng ghi nhận các yêu cầu ngắt IRQ và cung cấp cho CPU số ngắt đại diện cho địa chỉ của chương trình con phục vụ ngắt và tương ứng yêu cầu ngắt IRQ.
Cấu trúc của hệ thống ngắt cứng:
Quá trình vào ra theo ngắt cứng;
- CPU dang thực hiện một chương trình nào đó
- Một hoặc nhiều thiết bị vào/ra có yêu cầu được phục vụ phát tín hiệu IRQ cho PIC - Thiết bị PIC phát ra tín hiệu INT cho CPU, đòi CPU phục vụ
- CPU thực hiện các thao tác sau:
++ Thực hiện nốt lệnh của chương trình hiện hành.
++ Lưu địa chỉ trở về (nội dung các thanh ghi CS, IP) và thanh ghi cờ FLAGS vào ngăn xếp. ++ Gửi 2 tín hiệu trả lời ngắt INTA cho PIC
- PIC nhận được tín hiệu INTA lần thứ 1 từ CPU thì PIC không gửi gì cho CPU mà thực hiện chức năng của nó như: Sắp xếp độ ưu tiên cho các yêu cầu ngắt IRQi.
- PIC nhận được tín hiệu INTA lần 2 thì nó phát số hiệu ngắt (con số đại diện cho địa chỉ
của chương trình con phục vụ ngắt, và tương ứng với tín hiệu IRQ) cho CPU.
- Dựa trên số hiệu ngắt này CPU kích hoạt và thực hiện chương trình con phục vụ ngắt để thực hiện vào ra dữ liệu.
- Khi chương trình phục vụ ngắt kết thúc (Khi CPU thực hiện lệnh IRET) thì CPU khôi phục địa chỉ trở về vào thanh ghi CS, IP, nội dung thanh ghi FLAGS và tiếp tục tiếp tục thực hiện chương trình vừa bị tạm dừng.
57 Ưu điểm:
- CPU thực hiện vào ra dữ liệu ngay sau khi có yêu cầu từ TB bên ngoài do vậy quá trình vào dữ liệu có độ tin cậy cao.
- CPU chỉ phục vụ thiết bị vào ra khi có yêu cầu do vậy tăng hiệu quả làm việc của CPU.
Do những ưu điểm này mà phương pháp này được dùng để thực hiện vào/ra dữ liệu với phần lớn các thiết bị chuẩn của máy tính như: Bàn phím, máy in, thiết bị vào/ra nối tiếp, song song,…
Tuy nhiên đối với phương pháp này quá trình chuyển dữ liệu giữa bộ nhớ và thiết bị vào/ra vẫn phải qua CPU và quá trình vào/ra dữ liệu vẫn do CPU thực hiện nên đây chưa phải là phương pháp vào ra dữ liệu nhanh nhất.