1. Trang chủ
  2. » Công Nghệ Thông Tin

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

76 2,8K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 2,06 MB

Nội dung

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 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 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: IRQ i n+1 m: IRQ j m+1 ISR i ISR j 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, 5.5, 6.5, 7.5 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 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 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 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ắt nà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ắt dạng INT N, trong đó N là số hiệu (kiểu) ngắt nằm trong khoảng 00h đến FFh. - Nhóm các ngắt ngoại lệ: Đó là các ngắt do các lỗi nảy sinh 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. 3.2. x86 và PC Interrupt Bảng vector ngắt IVT (Interrupt Vector Table- Real mode) - CPU x86: 1 st kilo byte (RAM) bảng vector ngắt. - 1 st 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 1 lệnh ngắt mềm có cùng vector type, tức có vector trong bảng IVT. 3. Ngắt trong hệ vi xử lý 8086 CS hi CS low IP hi IP low 00014 Print Screen 00010 Over Flow 0000C Break Point 00008 NMI 00004 Single Step 00000 Divide by zero 4 byte Vector Element 3. Ngắt trong hệ vi xử lý 8086 Bảng vectơ ngắt của 8088 tại 1 st KB RAM 3. Ngắt trong hệ vi xử lý 8086 03FEh-03FFh CS của CTPVN FFh 03FCh-03FDh IP của CTPVN FFh 0082h-0083h CS của CTPVN 20h 0080h-0081h IP của CTPVN 20h 000Ah-000Bh CS của CTPVN 2h 0008h-0009h IP của CTPVN 2h 0006h-0007h CS của CTPVN 1h 0004h-0005h IP của CTPVN 1h 0002h-0003h CS của CTPVN 0h 0000h-0001h IP của CTPVN 0h [...]... Lối vào chọn chíp - RD: 8259 ra số liệu, CPU có thể đọc số liệu từ 8259 - WR: 8259 ra số liệu từ Bus số liệu, CPU có thể viết số liệu vào thanh ghi bên trong 8259 - D0-D7: Bus số liệu hai hướng - CAS0-CAS2: Các đường nối tầng giữa các PIC 1 PIC chủ có thể chọn 1 trong 8 PIC tớ qua 3 đường này Do đó có thể coi đây là Bus địa chỉ cụ bộ của PIC - GND: Tín hiệu nối đất Chức năng các chân - SP/EN: Trong chế... hiệu ngắt tại ngõ vào của 8259A và nhận trả lời chấp nhận yêu cầu ngắt hay không INTA từ CPU để đưa kiểu ngắt vào CPU • Data bus buffer (Đệm bus dữ liệu) : Giao tiếp giữa 8259A với bus dữ liệu của CPU • Cascade buffer/comparator (Đệm nối tầng và so sánh): Lưu trữ và so sánh số hiệu của các kiểu ngắt trong trường hợp dùng nhiều mạch 8259A 4 Bảng phân phối hoạt động theo địa chỉ 5 Các hoạt động khi có... ra lệnh EOI tới 8259 khi chạy chương trình ngắt để xóa 5 Các hoạt động khi có yêu cầu ngắt từ ngoại vi Các PIC 8259 có thể được ghép nối tầng với nhau Chúng được phân thành hai mức: 1 PIC chủ (Master) và từ 1 đến 8 PIC tớ (Slave) Khi đó, hệ có thể quản lý yêu cầu ngắt của hơn 8 TBNV Lúc đó lối ra INT của PIC tớ được nối với lối vào IR của PIC chủ vào các tín hiệu từ CAS 0-CAS2 được dùng cho việc trao... 8259 là chủ, SP=0 thì 8259 là tớ - INT: Nối trực tiếp với đầu vào INTR của CPU - IR0-IR7: Nối với các đầu ra tín hiệu ngắt của các TBNV - INTA: Tín hiệu chấp nhận ngắt từ CPU - A0: Cùng với các tín hiệu CS, WR và RD phân biệt các lệnh khác nhau từ CPU và cung cấp các thông tin trạng thái - VCC: Nguồn nuôi 2 Sơ đồ khối PIC 8259A ChipChức năng các8 259A 3 điều khiển ngắt PIC khối Trong trường hợp nhiều... hiện các công việc sau: Bước 1: CPU kết thúc lệnh đang thực hiện Bước 2: 1 (SP)  (SP) – 2 chỉ ra đỉnh mới của ngăn xếp {SP}  FR Cất giá trị thanh ghi cờ vào đỉnh NX 3 Ngắt trong hệ vi xử lý 8086 2 IF  0, TF  0 Cấm các ngắt khác tác động vào CPU, cho CPU chạy ở chế độ bình thường) 3 (SP)  (SP) – 2 chỉ ra đỉnh mới của ngăn xếp {SP}  (CS) Cất giá trị Segment vào đỉnh NX 4 (SP)  (SP) – 2 chỉ ra đỉnh...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ại chu 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 ra yêu cầu ngắt đưa vào chân INTR tương ứng của 8086 Giả thiết trong một thời điểm nhất định chỉ có một yêu cầu ngắt nhất định IRi được tác động và khi đó đầu ra của mạch NAND sẽ có xung yêu cầu ngắt đến CPU... 8259A có thể giải quyết được 8 yêu cầu ngắt với 8 mức ưu tiên khác nhau Các khối chức năng: • IRR (Thanh ghi yêu cầu ngắt): lưu trữ các yêu cầu ngắt tại ngõ vào IR tương ứng • ISR (Thanh ghi phục vụ ngắt): Lưu trữ các yêu cầu ngắt đang phục vụ • IMR (Thanh ghi mặt nạ ngắt): Lưu trữ mặt nạ của các yêu cầu ngắt tại ngõ vào ChipChức năng các8 259A 3 điều khiển ngắt PIC khối • Control logic (Logic điều khiển):... tế đặt ra là nếu tại cùng một thời điểm có nhiều yêu cầu ngắt khác nhau cùng đòi hỏi CPU phục vụ thì CPU xử lý các yêu cầu ngắt đó như thế nào? Câu trả lời là CPU xử lý các yêu cầu ngắt theo thứ tự ưu tiên với nguyên tắc ngắt nào có mức ưu tiên và được phục vụ trước II Chíp điều khiển ngắt PIC 8259A (Priority Interrupt Controller) 1 Các chân tín hiệu của PIC 8259A Chức năng các chân - CS: Lối vào chọn... NX 4 (SP)  (SP) – 2 chỉ ra đỉnh mới của ngăn xếp {SP}  (IP) Cất giá trị Offset vào đỉnh NX Bước 3: Cất giữ nội dung các TG đa năng khác (nếu cần) vào NX 3 Ngắt trong hệ vi xử lý 8086 Bước 4: {N*4}  IP, {N*4+2}  CS Bước 5: Thực hiện chương trình con Bước 6: Khôi phục trạng thái cũ của các TG đa năng Bước 7: Tại cuối chương trình phục vụ ngắt khi gặp lệnh IRET: {SP}  (IP), (SP)  (SP) +2 {SP}  (CS),... khiển khởi đầu ICW1 (Initialization Control Word) 1: 4 bit 0: 8 bit Số hiệu các PIC tớ từ PIC0-PIC7 Từ điều khiển hoạt động OCW1 (Operation Control Word) 9 Hoạt động của PIC 8259A 10 Các chế độ làm việc của PIC 8259A • Trong quá trình hoạt động có thể thay đổi chế độ ưu tiên che ngắt bằng cách nạp từ điều khiển hoạt động OCW vào 8259A • Bảng liệt kê chế độ ưu tiên ngắt CHẾ ĐỘ CHỨC NĂNG, Ý NGHĨA Ưu tiên . IRQ j m+1 ISR i ISR j 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. 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. 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 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

Ngày đăng: 06/07/2014, 07:16

TỪ KHÓA LIÊN QUAN