Tài liệu Lập trình hệ thống Chương 2
Số trang: 15
Loại file: pdf
Dung lượng: 322.38 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tài liệu Lập trình hệ thốngChương 2Chương 2 NGẮT VÀ SỰ KIỆN1. Khái niệmNgắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR – Interrupt Service Routine). ISR hoàn toàn giống với một chương trình bình thường trên máy tính, nghĩa là nó có khả năng truy xuất đến tất cả các lệnh ngôn ngữ máy của µP....
Nội dung trích xuất từ tài liệu:
Tài liệu Lập trình hệ thống Chương 2 Tài liệu Lập trình hệ thống Chương 2 Chương 2 NGẮT VÀ SỰ KIỆN 1. Khái niệm Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiệnmột chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR –Interrupt Service Routine). ISR hoàn toàn giống với một chương trình bình thường trên máytính, nghĩa là nó có khả năng truy xuất đến tất cả các lệnh ngôn ngữ máy của µP. Tuy nhiêncuối ISR sẽ kết thúc bằng lệnh IRET (Interrupt Return) để µP tiếp tục thực hiện lệnh đã kếtthúc trước đây. Các nguyên nhân dẫn đến ngắt là: - Bản thân chương trình đang thực hiện bị lỗi, ví dụ như: chia cho 0, … - Do tác động của thiết bị ngoại vi, ví dụ như: thực hiện lệnh in nhưng máy in lỗi, ghi dữ liệu vào đĩa nhưng không có đĩa, … - Do lập trình viên chủ động gọi các ngắt có sẵn. Một cách đơn giản, chúng ta có thể xem ngắt như là quá trình gọi chương trình connhưng các chương trình con này được tạo ra sẵn trong máy tính và quá trình gọi này có thểxảy ra tại thời điểm không xác định trước. Sự kiện (Event) là một tác động lên một đối tượng trong môi trường Windows. Khicó một sự kiện xảy ra, Windows sẽ gởi thông điệp (message) đến đối tượng. Các sự kiệnthường xảy ra là: - Sự kiện chuột: Click, Double Click, … - Sự kiện bàn phím: nhấn phím, nhả phím, … - Sự kiện cửa sổ: Activate, Load, Unload, … 2. Các loại ngắt và bảng vector ngắt Quá trình ngắt có thể mô tả như sau: Chương trình chính ISR Lưu trữ các thanh ghi cần thiết … Khôi phục các thanh ghi Quay về chương trình chính (IRET) Hình 2.1 – Quá trình thực hiện ngắtPhạm Hùng Kim Khánh Trang 34Tài liệu Lập trình hệ thống Chương 2 Trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm. Ngắtmềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy. Ngắt mềm đượcthục hiện trên hợp ngữ thông qua lệnh INT. Đối với các ngôn ngữ bậc cao hơn, vẫn chophép thực hiện gọi ngắt nhưng phải được biên dịch thành lệnh INT trong hợp ngữ rồi mờithực hiện. Khác với ngắt mềm, ngắt cứng không được khởi động bên trong máy tính mà do cáclinh kiện điện tử tác đông lên hệ thống. Ngắt cứng cũng được chia thành 2 loại: ngắt cheđược và ngắt không che được. Ngắt che được là ngắt có thể cho phép hay không cho phépthực thi bằng phần mềm thông qua cờ ngắt IF (Interrupt Flag): lệnh CLI (Clear InterruptFlag) sẽ cấm ngắt và lệnh STI (Set Interrupt Flag) sẽ cho phép các ngắt này hoạt động. Các loại ngắt khác nhau có thể mô tả như sau: Ngắt Ngắt mềm Ngắt cứng Ngắt do người Ngắt hệ thống Trong Ngoài sử dụng Không HĐH BIOS Che được che được Hình 2.2 – Các loại ngắt Khi thực hiện lệnh gọi một ngắt nào đó, chương trình con phục vụ cho ngắt sẽ đượcgọi. Để thực hiện các ngắt tương ứng, địa chỉ thực hiện các chương trình con phục vụ ngắtđược đặt trong một bảng, gọi là bảng vector ngắt. Bảng vector ngắt gồm có 256 phần tử, mỗi phần tử gồm 4 byte ứng với 256 ngắt (từngắt 0 đến ngắt 0FFh). Mỗi phần tử trong bảng vector ngắt chứa 2 địa chỉ: địa chỉ thanh ghiđoạn đưa vào CS và địa chỉ offset của chương trình phục vụ ngắt đưa vào IP.Phạm Hùng Kim Khánh Trang 35Tài liệu Lập trình hệ thống Chương 2 Bảng vector ngắt có thể mô tả như sau: Địa chỉ Địa chỉ ISR Số thứ tự ngắt 0000h:0000h CS 0 0000h:0002h IP 0000h:0004h CS ...
Nội dung trích xuất từ tài liệu:
Tài liệu Lập trình hệ thống Chương 2 Tài liệu Lập trình hệ thống Chương 2 Chương 2 NGẮT VÀ SỰ KIỆN 1. Khái niệm Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiệnmột chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR –Interrupt Service Routine). ISR hoàn toàn giống với một chương trình bình thường trên máytính, nghĩa là nó có khả năng truy xuất đến tất cả các lệnh ngôn ngữ máy của µP. Tuy nhiêncuối ISR sẽ kết thúc bằng lệnh IRET (Interrupt Return) để µP tiếp tục thực hiện lệnh đã kếtthúc trước đây. Các nguyên nhân dẫn đến ngắt là: - Bản thân chương trình đang thực hiện bị lỗi, ví dụ như: chia cho 0, … - Do tác động của thiết bị ngoại vi, ví dụ như: thực hiện lệnh in nhưng máy in lỗi, ghi dữ liệu vào đĩa nhưng không có đĩa, … - Do lập trình viên chủ động gọi các ngắt có sẵn. Một cách đơn giản, chúng ta có thể xem ngắt như là quá trình gọi chương trình connhưng các chương trình con này được tạo ra sẵn trong máy tính và quá trình gọi này có thểxảy ra tại thời điểm không xác định trước. Sự kiện (Event) là một tác động lên một đối tượng trong môi trường Windows. Khicó một sự kiện xảy ra, Windows sẽ gởi thông điệp (message) đến đối tượng. Các sự kiệnthường xảy ra là: - Sự kiện chuột: Click, Double Click, … - Sự kiện bàn phím: nhấn phím, nhả phím, … - Sự kiện cửa sổ: Activate, Load, Unload, … 2. Các loại ngắt và bảng vector ngắt Quá trình ngắt có thể mô tả như sau: Chương trình chính ISR Lưu trữ các thanh ghi cần thiết … Khôi phục các thanh ghi Quay về chương trình chính (IRET) Hình 2.1 – Quá trình thực hiện ngắtPhạm Hùng Kim Khánh Trang 34Tài liệu Lập trình hệ thống Chương 2 Trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm. Ngắtmềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy. Ngắt mềm đượcthục hiện trên hợp ngữ thông qua lệnh INT. Đối với các ngôn ngữ bậc cao hơn, vẫn chophép thực hiện gọi ngắt nhưng phải được biên dịch thành lệnh INT trong hợp ngữ rồi mờithực hiện. Khác với ngắt mềm, ngắt cứng không được khởi động bên trong máy tính mà do cáclinh kiện điện tử tác đông lên hệ thống. Ngắt cứng cũng được chia thành 2 loại: ngắt cheđược và ngắt không che được. Ngắt che được là ngắt có thể cho phép hay không cho phépthực thi bằng phần mềm thông qua cờ ngắt IF (Interrupt Flag): lệnh CLI (Clear InterruptFlag) sẽ cấm ngắt và lệnh STI (Set Interrupt Flag) sẽ cho phép các ngắt này hoạt động. Các loại ngắt khác nhau có thể mô tả như sau: Ngắt Ngắt mềm Ngắt cứng Ngắt do người Ngắt hệ thống Trong Ngoài sử dụng Không HĐH BIOS Che được che được Hình 2.2 – Các loại ngắt Khi thực hiện lệnh gọi một ngắt nào đó, chương trình con phục vụ cho ngắt sẽ đượcgọi. Để thực hiện các ngắt tương ứng, địa chỉ thực hiện các chương trình con phục vụ ngắtđược đặt trong một bảng, gọi là bảng vector ngắt. Bảng vector ngắt gồm có 256 phần tử, mỗi phần tử gồm 4 byte ứng với 256 ngắt (từngắt 0 đến ngắt 0FFh). Mỗi phần tử trong bảng vector ngắt chứa 2 địa chỉ: địa chỉ thanh ghiđoạn đưa vào CS và địa chỉ offset của chương trình phục vụ ngắt đưa vào IP.Phạm Hùng Kim Khánh Trang 35Tài liệu Lập trình hệ thống Chương 2 Bảng vector ngắt có thể mô tả như sau: Địa chỉ Địa chỉ ISR Số thứ tự ngắt 0000h:0000h CS 0 0000h:0002h IP 0000h:0004h CS ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật Công nghệ điện tử viễn thông giáo trình tài liệu tham khảo Tài liệu Lập trình hệ thốngGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Trí tuệ nhân tạo
12 trang 419 0 0 -
Đề cương chi tiết học phần Vi xử lý
12 trang 284 0 0 -
Bài giảng Quan hệ Công chúng ( Đinh Tiên Minh) - Giới thiệu môn học
19 trang 221 0 0 -
Đồ án: Kỹ thuật xử lý ảnh sử dụng biến đổi Wavelet
41 trang 214 0 0 -
79 trang 211 0 0
-
91 trang 185 0 0
-
32 trang 160 0 0
-
Tìm hiểu chương trình đào tạo ngành Điện tử - Viễn thông hệ đại học: Phần 2
174 trang 155 0 0 -
Hình thành hệ thống điều khiển trình tự xử lý các toán tử trong một biểu thức logic
50 trang 155 0 0 -
Đề cương chi tiết học phần Thực tập Kỹ thuật truyền hình
16 trang 152 0 0