tailieunhanh - Chương 4- Các phương pháp vào ra dữ liệu
I. Phương pháp vào/ra dữ liệu bằng ngắt 1. Khái niệm ngắt Ngắt là khả năng dừng chương trình chính đang chạy để thực hiện một chương trình khác gọi là chương trình con xử lý ngắt. Khi CPU đang thực hiện chương trình chính đến dòng lệnh thứ n ngẫu nhiên ngoại vi thứ i xin phục vụ bằng cách phát ra tín hiệu IRQ(i) (Interrupt Request) đến CPU. Nói chung, CPU khi nhận được yêu cầu xin phục vụ của các ngoại vi nó sẽ thực hiện: •Ngừng xử lý chương trình chính. •Cất ngữ cảnh của chương trình hiện tại vào Stack mem. •Tìm địa chỉ. | 1. Khái niệm ngắt Ngắt là khả năng dừng chương trình chính đang chạy để thực hiện một chương trình khác gọi là chương trình con xử lý ngắt. Khi CPU đang thực hiện chương trình chính đến dòng lệnh thứ n ngẫu nhiên ngoại vi thứ i xin phục vụ bằng cách phát ra tín hiệu IRQ(i) (Interrupt Request) đến CPU. I. Phương pháp vào/ra dữ liệu bằng ngắt Khái niệm ngắt Nói chung, CPU khi nhận được yêu cầu xin phục vụ của các ngoại vi nó sẽ thực hiện: Ngừng xử lý chương trình chính. Cất ngữ cảnh của chương trình hiện tại vào Stack mem. Tìm địa chỉ của chương trình con phục vụ ngắt tương ứng (Interrupt Service Routine- ISR) để thực hiện. Khôi phục ngữ cảnh của chương trình đã xuất hiện yêu cầu phục vụ (nhờ lệnh IRET ở cuối chương trình phục vụ ngắt) Tiếp tục thực hiện chương trình I. Phương pháp vào/ra dữ liệu bằng ngắt Main Prog n: IRQi n+1 m: IRQj m+1 ISRi ISRj IRET IRET I. Phương pháp vào/ra dữ liệu bằng ngắt Đặc điểm Interrupt Là phương pháp vào/ra kết hợp tín hiệu và phần mềm để thực hiện đa . | 1. Khái niệm ngắt Ngắt là khả năng dừng chương trình chính đang chạy để thực hiện một chương trình khác gọi là chương trình con xử lý ngắt. Khi CPU đang thực hiện chương trình chính đến dòng lệnh thứ n ngẫu nhiên ngoại vi thứ i xin phục vụ bằng cách phát ra tín hiệu IRQ(i) (Interrupt Request) đến CPU. I. Phương pháp vào/ra dữ liệu bằng ngắt Khái niệm ngắt Nói chung, CPU khi nhận được yêu cầu xin phục vụ của các ngoại vi nó sẽ thực hiện: Ngừng xử lý chương trình chính. Cất ngữ cảnh của chương trình hiện tại vào Stack mem. Tìm địa chỉ của chương trình con phục vụ ngắt tương ứng (Interrupt Service Routine- ISR) để thực hiện. Khôi phục ngữ cảnh của chương trình đã xuất hiện yêu cầu phục vụ (nhờ lệnh IRET ở cuối chương trình phục vụ ngắt) Tiếp tục thực hiện chương trình I. Phương pháp vào/ra dữ liệu bằng ngắt Main Prog n: IRQi n+1 m: IRQj m+1 ISRi ISRj IRET IRET I. Phương pháp vào/ra dữ liệu bằng ngắt Đặc điểm Interrupt Là phương pháp vào/ra kết hợp tín hiệu và phần mềm để thực hiện đa nhiệm. Là chế độ hoạt động riêng cho các vi xử lý/máy tính kiểu ONLINE. Nguồn ngắt: Chủ yếu từ ngoại vi, CPU. Xảy ra ngẫu nhiên Nhiều IOs, ngẫu nhiên => Tranh chấp => Giải quyết ưu tiên ngắt. Thiết bị ưu tiên cao có thể dừng ISR của thiết bị ưu tiên thấp. Hệ lớn, nhiều IOs thường dùng PIC (Intel PIC 8259A) Chỉ số ưu tiên do nhà sản xuất qui định cho các ngoại vi cố định, mức 0 là cao nhất. Theo hình trên: Level (j) > Level (i), i>j Ưu tiên phân định do các tín hiệu ngắt trong CPU (Intel 8085: INTR, , , và TRAP) Z80 CPU & others: Ưu tiên theo kiểu Daisy Chain 2. Ưu tiên Interrupt 3. Ngắt trong hệ vi xử lý 8086 . Phân loại ngắt Trong hệ vi xử lý 8086 có thể xếp các nguyên nhân gây ra ngắt CPU vào 3 nhóm như 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 INTR là các yêu cầu ngắt che được. Các lệnh CLI và STI có ảnh hưởng trực tiếp đến trạng thái của cờ IF trong BVXL, tức ảnh hưởng tới việc CPU có nhận biết yêu cầu ngắt
đang nạp các trang xem trước