Ngắt

spinner.gif

Câu 4: Ngắt, tại sao các hệ thống VXL cần phải có sự hỗ trợ của các bộ điều khiển ngắt. Sơ đồ ghép nối VXL 8088 với mạch điều khiển ưu tiên ngắt 8259A:

a)Hệ thống ngắt trong PC:

           *  Các kỹ thuật quản lý vào ra của PC :  hiện nay PC có thể điều khiển các quá trình vào ra bằng các kỹ thuật :

điều khiển bằng ngắt.

điều khiển theo cơ chế DMA.

điều khiển bằng chương trình (là các quá trình I/O được điều khiển bởi vi mạch lập trình 8259A. Tức là người lập trình viết chương trình điều khiển sự hoạt động của vi mạch để vi mạch thực hiện việc điều khiển các quá trình I/O của dữ liệu).

     *  Quản lý các thiết bị vào ra với ngắt :  các hệ thống hiện nay có thể theo dõi các yêu cầu được trao đổi dữ liệu với hệ thống của các thiết bị vào ra theo 2 cách :

Quét vòng : sau mỗi chu kỳ lệch CPU sẽ kiểm tra tất cả cổng I/O để xem có thiết bị nào có yêu cầu hay không. Nếu có thì đáp ứng, nếu không thì sẽ tiếp tục 1 chu kỳ lệch mới. Cách này không hiệu quả có thể làm lãng phí thời gian của CPU và sẽ đơn giản cho các thiết bị vào ra.

Đợi ngắt : CPU quy định các thiết bị I/O khi cần trao đổi dữ liệu với hệ thống hoặc cần được sự phục vụ của CPU thì phải gửi tín hiệu yêu cầu tới CPU. Tín hiệu này được gọi là tín hiệu yêu cầu ngắt IRQ. Khi nhận được tín hiệu yêu cầu ngắt, CPU dừng ngay thao tác hiện tại để xem xét và đáp ứng yêu cầu của thiết bị vào ra. Sau đó tiếp tục tại vị trí mà nó dừng trước đó. Cách làm này đơn giản cho thiết bị I/O và phức tạp cho CPU, CPU phải có cơ chế tiếp nhận ngắt. Ưu điểm của cách này là hoạt động của CPU không phụ thuộc thiết bị I/O và thời gian CPU không bị lãng phí.

  *    Sự cần thiết của ngắt : khi có yêu cầu trao đổi dữ liệu thì yêu cầu CPU tạm ngư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 công việc trao đổi dữ liệu thì CPU lại phải quay về để làm tiếp công việc đang bị gián đoạn. Cách làm việc theo kiểu này gọi là ngắt CPU để trao đổi dữ liệu. Một hệ thống với cách làm việc theo kiểu này đáp ứng nhanh các yêu cầu trao đổi dữ liệu trong khi vẫn có thể làm được các công việc khác. Muốn vậy ta phải tổ chức hệ thống sao cho tận dụng được khả năng thực hiện các chương trình phục vụ ngắt tại các địa chỉ xác định của CPU. 8088 có các chân tín hiệu cho các yêu cầu ngắt che được INTR và không che được NMI, các chân này sẽ sử dụng vào việc đưa các yêu cầu ngắt từ bên ngoài đến CPU.

  *   Các loại ngắt : trong hệ VXL 8088 có thể xếp các nguyên nhân gây ra ngắt CPU vào 3 nhóm sau :

nhóm các ngắt cứng : đó là các yêu cầu ngắt CPU do các tín hiệu đến từ các chân INTR và NMI. Ngắt cứng NMI là yêu cầu ngắt không che được tương đương với ngắt mềm INT2. Các lệnh CLI (xoá cờ IF) và STI (lập cờ CF) không có ảnh hưởng đến việc nhận biết tín hiệu yêu cầu ngắt NMI. Ngắt cứng INTR là yêu cầu ngắt che được. Các lệch CLI và STI có ảnh hưởng trực tiếp tới trạng thái của cờ IF trong bộ VXL, tức là ảnh hưởng tới việc CPU có nhận biết yêu cầu ngắt tại chân này hay không. Yêu cầu ngắt tại chân INTR có thể có kiểu ngắt N nằm trong khoảng 0-FFH. Kiểu ngắt này phải được đưa vào bus dữ liệu để CPU có thể đọc được khi có xung  trong chu kỳ trả lời chấp nhận ngắt.

nhóm các ngắt mềm : khi CPU thực hiện các lệnh ngắt dạng INT N, trong đó N là số hiệu (kiểu) ngắt nằm trong khoảng 00-FFH (0-255).

nhóm các hiện tượng ngoại lệ: đó là các ngắt do các lỗi này sinh ra trong quá trình hoạt động của CPU như : phép chia cho 0, xảy ra tràn khi tính toán ….

Tất cả các ngắt đều chuyển về ngắt mềm do tác dụng của bộ điều khiển ngắt dưới dạng  một chương trình con phục vụ ngắt.

Bình luận & Đánh giá

library_icon_grey.png Thêm share_icon_grey.png Chia sẻ

Đang đọc

Đề nghị