Nguyên lý vào/ra điều khiển bằng ngắt

Một phần của tài liệu bai giang vi xu ly va LTHN 2013 (Trang 112 - 114)

. Tớnh tổng (hiệu) hai số cú kết quả nhỏ hơn 10 nhập vào từ bàn phớm file congasm

1. Khối đó được ọn cú màu

4.1.1 Nguyên lý vào/ra điều khiển bằng ngắt

Ngắt là gì? Sự cần thiết phải ngắt CPU

− Ngắt là khả n thực hiện 1

Hỡnh 4.1. Dừng chương trỡnh chớnh để thực hiện ISR

− Ch−ơng trình phục vụ ngắt ISR: Là ch−ơng trình t−ơng ứng với mỗi 1 ngắt khi

ngắt đó đ T (Interrupt

ch−ơng trình chính)

− Số l−ợ ắt làm tăng khả

năng hoạt động của CPU. Nhờ có khả năng đáp ứng ngắt CPU có thể đáp ứng dữ liệu, đáp ứng các sự kiện trong khi vẫn có thể

Vào/ ra số liệu điều khiển b

CPU thực hiện trao đổi thông tin với các thiết bị thông qua thiết bị giao diện. Dũng dữ liệu

điều khiển được. Có thể phân chia các ph−ơng pháp vào/ra dữ liệu thành 2 nhóm: Vào ra do CPU chủ động:

+ Vào ra theo

− Vào ra do thiết bị ngoại vi chủ động:

+ Vào ra bằng ngắt cứng.

ăng dừng ch−ơng trình chính đang thực hiện để

ch−ơng trình con khác gọi là ch−ơng trình con phục vụ ngắt ISR (Interrupt Service Routine)

ISR Main Program

−ợc gọi. Các ch−ơng trình này khi kết thúc có lệnh IRE Return - Trở về

ng ngắt trong các loại CPU khác nhau là khác nhau. Ng rất nhanh các yêu cầu trao đổi

thực hiện đ−ợc các công việc khác. Các loại ngắt

− Ngắt cứng

+ Ngắt trong

+ Ngắt ngoài: có 2 loại: ngắt che đ−ợc và không che đ−ợc

+ Ngắt hệ thống: Gồm ngắt của DOS và ngắt của BIOS

+ Ngắt của ng−ời sử dụng Đáp ứng của CPU khi có ngắt

Máy tính đang thự trìn dòng lệnh n thì có tín hiệu xin ngắt (Xin dừng ch−ơng trình chính lại để phục vụ ngắt). Nói chung (trừ tr−ờng hợp ợc) CPU sẽ thực hiện nốt lệnh đang làm dở, cất địa chỉ của lệnh tiếp theo n+1 vào stack, nếu ngắt có thể che thì không tác động; nạp địa chỉ của ch−ơng trình con ngắt t−ơng ứng (Interupt Service Routine) rồi thực hiện ch−ơng trình ISR. Cuối ch−ơng trình con ISR gặp lệnh IRET CPU khôi phục lại vị trí địa chỉ của ch−ơng trình chính bị dừng và thực hiện tiếp ch−ơng trình chính

Hỡnh 4.2. Đỏp ứng của CPU khi cú ngắt

+

+

Bảng vector ngắt: Gồm 1KB trong bộ nhớ từ địa chỉ 00000 đến địa chỉ 003ff ợc tạo ra trong quá trình khởi động máy tính. Bảng vector

− c hiện ch−ơng h chính đến 1 ngắt che đ−

Lệnh đang làm dở Làm nốt Điểm xuất hiện ngắt

Main Program

n-1 n n+1 n+2

IRET

ISR

Hoạt động của CPU khi có yêu cầu ngắt và thực hiện đ−ợc gồm 3 giai đoạn:

Giai đoạn 1: Kết thúc lệnh còn đang dở. Có thể cất thanh ghi cờ. Cất địa chỉ trở về vào Stack. Cấm các ngắt khác để xử lý trọn vẹn. Trả lời ra ngoài chấp nhận ngắt qua chân tín hiệu INTA

Giai đoạn 2: Tính địa chỉ ISR.

+ Giai đoạn 3: Thực hiện ISR, cuối ch−ơng trình ISR gặp lệnh IRET kết thúc ISR, lấy lại địa chỉ trở về, trạng thái của Main Program. Thực hiện tiếp Main Program

Bảng vectơ ngắt. Kỹ thuật thay vectơ ngắt

(Địa chỉ lo gic) đ−

ngắt chứa các địa chỉ của các ch−ơng trình phục ngắt, gồm 256 phần tử mỗi phần tử gồm 4 bytes 2 bytes chứa segment, 2 bytes chứa offset của ch−ơng trình phục vụ ngắt t−ơng ứng.

− Kỹ thuật thay vộc tơ ngắt dùng để thực hiện thay đổi địa chỉ của ch−ơng trình phục vụ ngắt đến 1 địa chỉ của 1 ch−ơng trình ứng dụng do ng−ời sử dụng viết. (Khi 1 ực hiện 1 ch−ơng trình ISR nào đó thì bây giờ lại thực h ng trình của ng−ời sử dụng).

• Xử lý

Nếu tại một thời điểm nào đó đồng thời có nhiều yêu cầu ngắt thì CPU sẽ đáp ứng yêu cầu ngắt nào? Câu trả lời là CPU sẽ xử lý các yêu cầu ngắt theo thứ tự

− −u tiên cao nhất sẽ đ−ợc CPU nhận biết

ắt để chạy từng lệnh

Một phần của tài liệu bai giang vi xu ly va LTHN 2013 (Trang 112 - 114)

Tải bản đầy đủ (PDF)

(165 trang)