Danh mục

Chương 4- Các phương pháp vào ra dữ liệu

Số trang: 76      Loại file: ppt      Dung lượng: 2.06 MB      Lượt xem: 11      Lượt tải: 0    
tailieu_vip

Xem trước 8 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

I. Phương pháp vào/ra dữ liệu bằng ngắt1. Khái niệm ngắtNgắ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 Stackmem.•Tìm địa chỉ...
Nội dung trích xuất từ tài liệu:
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ìnhcon xử lý ngắt. •Khi CPU đang thực hiện chương trình chính đến dònglệnh thứ n ngẫu nhiên ngoại vi thứ i xin phục vụ bằngcá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 1.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 Stackmem. •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ệnyêu cầu phục vụ (nhờ lệnh IRET ở cuối chương trình phụcvụ ngắt) •Tiếp tục thực hiện chương trìnhI. Phương pháp vào/ra dữ liệu bằng ngắt Main Prog ISRj ISRin: IRQi m: IRQj n+1 m+1 IRET IRET Đặ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ínhkiể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ảiquyết ưu tiên ngắt. 2. Ưu tiên Interrupt -Thiết bị ưu tiên cao có thể dừng ISR của thiết bị ưu tiênthấ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 vicố đị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 (Intel8085: INTR, 5.5, 6.5, 7.5 và TRAP) -Z80 CPU & others: Ưu tiên theo kiểu Daisy Chain 3. Ngắt trong hệ vi xử lý 8086 3.1. 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 CPUvà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ínhiệ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à STIcó ảnh hưởng trực tiếp đến trạng thái của cờ IF trong BVXL, tức ảnhhưở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.Nó có thể có kiểu ngắt N nằm trong khoảng từ 00h đến FFh. Kiểu ngắtnày phải được đưa vào Bus dữ liệu để CPU có thể đọc được khi cóxung INTA trong chu kỳ trả lời chấp nhận ngắt. 3. Ngắt trong hệ vi xử lý 8086 -Nhóm các ngắt mềm: Khi CPU thực hiện các lệnh ngắtdạng INT N, trong đó N là số hiệu (kiểu) ngắt nằm trongkhoảng 00h đến FFh. -Nhóm các ngắt ngoại lệ: Đó là các ngắt do các lỗi nảysinh trong quá trình hoạt động của CPU như phép chia cho0, xảy ra tràn khi tính toán. 3. Ngắt trong hệ vi xử lý 8086 3.2. x86 và PC Interrupt Bảng vector ngắt IVT (Interrupt Vector Table- Realmode) -CPU x86: 1st kilo byte (RAM) bảng vector ngắt. -1st KB=256 elements of 4 byte -Chứa địa chỉ đầu của ISR tương ứng. Khi khởi tạo,BIOS nạp vào IVT địa chỉ đầu của các ISR ứng với IO. -Khi đổi vector ngắt: Đổi nội dung của vector này. Các ngắt cứng, NMI và Internal đều tương ứng với 1lệnh ngắt mềm có cùng vector type, tức có vector trongbảng IVT. 3. Ngắt trong hệ vi xử lý 8086 00014 Print ScreenCS hi 00010 Over Flow 0000C Break PointCS low 00008 NMIIP hi 00004 Single StepIP low 00000 Divide by zero4 byte Vector Element 3. Ngắt trong hệ vi xử lý 8086 CS của CTPVN FFh03FEh-03FFh IP của CTPVN FFh03FCh-03FDh CS của CTPVN 20h0082h-0083h IP của CTPVN 20h0080h-0081h CS của CTPVN 2h000Ah-000Bh IP của CTPVN 2h0008h-0009h CS của CTPVN 1h0006h-0007h IP của CTPVN 1h0004h-0005h CS của CTPVN 0h0002h-0003h IP của CTPVN 0h0000h-0001h Bảng vectơ ngắt của 8088 tại 1st KB RAM 3. Ngắt trong hệ vi xử lý 8086 Các yêu cầu ngắt sẽ được CPU kiểm tra thường xuyên tạichu kỳ đồng hồ cuối cùng của mỗi lệnh. Để đưa số hiệu ngắt N vào Bus dữ liệu trong khi cũng tạo rayêu cầu ngắt đưa vào chân INTR tương ứng của 8086. Giả thiếttrong một thời điểm nhất định chỉ có một yêu cầu ngắt nhất địnhIRi được tác động và khi đó đầu ra của mạch NAND sẽ có xungyêu cầu ngắt đến CPU. Tín hiệu IRi được đồng thời đưa quamạch khuếch đại đệm để tạo ra số hiệu ngắt tương ứng, số hiệungắt này sẽ được CPU đọc vào khi nó đưa ra tín hiệu trả lờiINTA. 3. Ngắt trong hệ vi xử lý 8086 7 6 ...

Tài liệu được xem nhiều: