Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
558,24 KB
Nội dung
lOMoARcPSD|15963670 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ***** BÀI TẬP LỚN KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH CHỦ ĐỀ: Nghiên cứu tìm hiểu vi mạch điều khiển ưu tiên ngắt PIC 8259A (Priority Interrupt Controller) Thành viên : Nguyễn Văn Tuấn - 2020601830 Nguyễn Quang Huy - 2020603337 Trương Văn Cảnh - 2020600216 Hà Long Vũ - 2020602281 Vũ Đức Quảng - 2020603632 Hồ An Hải - 2020607641 Lớp : 20211IT6067001 Khóa : K15 GIẢNG VIÊN HƯỚNG DẪN: NGUYỄN THANH HẢI HÀ NỘI – 2021 lOMoARcPSD|15963670 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ***** BÀI TẬP LỚN KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH CHỦ ĐỀ: Nghiên cứu tìm hiểu vi mạch điều khiển ưu tiên ngắt PIC 8259A (Priority Interrupt Controller) Thành viên : Nguyễn Văn Tuấn - 2020601830 Nguyễn Quang Huy - 2020603337 Trương Văn Cảnh - 2020600216 Hà Long Vũ - 2020602281 Vũ Đức Quảng - 2020603632 Hồ An Hải - 2020607641 Lớp : 20211IT6067001 Khóa : K15 GIẢNG VIÊN HƯỚNG DẪN: NGUYỄN THANH HẢI HÀ NỘI – 2021 lOMoARcPSD|15963670 Mục Lục Nội dung PHẦN 1: MỞ ĐẦU PHẦN 2: NỘI DUNG I Giới thiệu chung phương pháp trao đổi tin điều khiển ngắt, trình ngắt 1.1 Khái niệm ngắt 1.2 Phân loại ngắt .3 1.3 Quá trình ngắt II Giới thiệu chung vi mạch điều khiển ưu tiên ngắt PIC 8259A III Nhiệm vụ PIC 8259A IV Cấu tạo PIC 8259A 4.1: Sơ đồ chức chân PIC 8259A: 4.2 Sơ đồ chức khối V Nguyên tắc ghép nối nguyên tắc hoạt động 13 5.1 Nguyên tắc ghép nối 13 5.2 Hoạt động 16 Tổng quát 16 Các kiện xảy sau hệ thống MCS-80/85 .17 Các kiện xảy hệ thống 8086 giống bước 18 Đầu yêu cầu ngắt MCS-80, MCS-85 19 Chế độ 8086, 8088 19 Ví dụ 20 5.3 Các chế độ hoạt động 21 5.3.1: Chế độ hoạt động đầy đủ (Fully Nested Mode) 21 5.3.2: Chế độ hoán đổi thứ tự ưu tiên: (Rotating Priority Mode) .21 5.3.3: Chế độ tự động (Auto Mode) 21 5.3.4: Chế độ không tự động (Specific Mode) 22 5.3.5: Chế độ che đặc biệt (Special Mask Mode - SMM) 22 5.3.6: Chế độ quay vòng (Polled Mode) .23 5.3.7: Cascading 23 PHẦN 3: KẾT LUẬN 24 lOMoARcPSD|15963670 PHẦN 1: MỞ ĐẦU 1.Nhiệm vụ chung: trình bày sơ đồ chân, chức chân tín hiệu Sơ đồ khối, chức khối, ghi, sơ đồ ghép nối 2.Bố cục chung báo cáo Phần 1: Mở đầu Phần 2: Nội dung + Giới thiệu phương pháp trao đổi tin điều khiển ngắt, trình ngắt + Giới thiệu chung PIC 8259A + Nhiệm vụ PIC 8259A + Cấu tạo PIC 8259A Sơ đồ chân Sơ đồ khối Cấu tạo chi tiết + Nguyên tắc ghép nối nguyên tắc hoạt động: Nguyên tắc ghép nối Trình bày hoạt động Các chế hoạt động Phần 3: Kết luận lOMoARcPSD|15963670 PHẦN 2: NỘI DUNG I Giới thiệu chung phương pháp trao đổi tin điều khiển ngắt, trình ngắt 1.1 Khái niệm ngắắt Trong thiết kế hệ thống máy tính yêu cầu thiết bị Vào/Ra như: Bàn phím, hình, cảm biến thành phần khác phải phục vụ cách hiệu để máy tính tối ưu hóa số nhiệm vụ thực mà khơng ảnh hưởng đến dung lượng Phương pháp phổ biến để phục vụ thiết bị Polled Method Đây nơi CPU phải kiểm tra thiết bị theo trình tự “Hỏi” thiết bị xem có cần phải trao đổi liệu hay khơng Ta nhận thấy phần lớn chương trình lặp lại chu kỳ yêu cầu cần trao đổi liệu điều gây ảnh hưởng lớn đến dung lượng hệ thống, cần hạn chế tác vụ CPU đảm nhận giảm bớt tài nguyên sử dụng thiết bị Một phương pháp tạo để tăng dung lượng hệ thống giúp cho CPU đảm nhận nhiều nhiệm vụ để nâng cao hiệu nó, Người ta gọi Phương pháp Ngắt Phương pháp Ngắt phương pháp cho phép CPU xử lý chương trình tạm thời dừng lại công việc để trao đổi liệu với thiết bị ngoại vi yêu cầu cần phục vụ thiết bị Sau hồn thành việc trao đổi liệu CPU lại quay để làm tiếp cơng việc bị giám đoạn Nhóm – KTMT HDH lOMoARcPSD|15963670 Bộ điều khiển ngắt lập trình (PIC) hoạt động người quản lý môi trường hệ thống theo hướng ngắt Nó chấp nhận yêu cầu từ thiết bị ngoại vi, xác định yêu cầu số yêu cầu đến có tầm quan trọng cao (ưu tiên), xác định xem yêu cầu đến có giá trị ưu tiên cao mức xử lý hay không đưa ngắt cho CPU dựa điều Mỗi thiết bị ngoại vi cấu trúc thường có tín hiệu đặc biệt ''quy trình'' gắn liền với yêu cầu chức hoạt động cụ thể nó; điều gọi ''quy trình phục vụ'' Sau đưa tín hiệu ngắt cho CPU, PIC phải nhập thơng tin vào CPU để ''trỏ'' đếm chương trình đến quy trình dịch vụ liên kết với thiết bị yêu cầu ''Con trỏ'' địa bảng vectơ thường gọi liệu vectơ 1.2 Phân loại ngắắt NGẮT Ngắt mềm Ngắt hệ thống DOS BIOS Ngắt cứng Ngắt người sử dụng Ngắt Ngắt tự động Ngắt Có cấm Khơng cấm Hình 1: Phân loại loại ngắt a) Ngắt mềm loại ngắt gọi lệnh chương trình ngơn ngữ máy Ngắt mềm thực hợp ngữ thông qua lệnh INT Đối với ngôn ngữ bậc cao hơn, cho phép thực gọi ngắt phải biên dịch thành lệnh INT hợp ngữ mời thực b) Ngắt cứng kiện CPU phải tạm dừng tiến trình thực để chuyển sang thực tiến trình phục vụ ngắt có u cầu ngắt từ phần mạch bên ngồi gửi đến CPU Các tín hiệu đến từ chân INTR NMI lOMoARcPSD|15963670 - Ngắt cứng NMI yêu cầu ngắt không che tương đương với ngắt mềm INT2 - Ngắt cứng INTR yêu cầu ngắt che Yêu cầu ngắt chân INTR có kiểu ngắt N nằm khoảng 0-FFH Kiểu ngắt phải đưa vào bus liệu để CPU đọc có xung INTA chu kì trả lời chấp nhận ngắt c) Ngắt tự động (các trường hợp ngoại lệ) ngắt lỗi nảy sinh trình hoạt động CPU phép chia cho 0, xảy tràn tính tốn, … * Một số lệnh liên quan: - CLI: Xóa cờ ngắt - STI: Đặt cờ ngắt - INT XX: Gọi ngắt mềm số XX - IRET: Câu lệnh trở kết thúc chương trình xử lý ngắt - HLT: Treo CPU có ngắt khởi động lại Nhóm – KTMT HDH lOMoARcPSD|15963670 1.3 Q trình ngắắt SPFR Lưu ghi cờ IF TF Cấm ngắt Lưu đoạn lệnh Lưu trỏ lệnh SP CS SPIP IP N * CS N * Nạp đoạn lệnh trỏ lệnh Thực chương trình ngắt Thực chương trình ngắt Khơi phục lại ghi trước ngắt Sai Đúng Kết thúc IP SP CS SP 2 FR SP 4 II Giới thiệu chung vi mạch điều khiển ưu tiên ngắt PIC 8259A PIC 8259A thiết bị thiết kế đặc biệt để sử dụng thời gian thực điều khiển ngắt CPU giúp CPU vào/ra liệu phương pháp ngắt cứng trường hợp nhiều yêu cầu ngắt cần phục vụ ta thường dùng vi mạch PIC 8259A để giải vấn đề ưu tiên.PIC 8259A giải yêu cầu ngắt với mức ưu tiên khác có tính tích hợp để mở rộng sang 8259A khác (lên đến 64 cấp độ ngắt khác ) PIC 8259A thiết bị điều khiển ưu tiên ngắt lập trình Ta dùng ngơn ngữ lập trình khác asembly, C để lập trình cho PIC 8259A Vi mạch có ưu điểm là: xếp xử lí ngắt tốt Hình mơ tả q trình làm việc CPU có u cầu ngắt từ mạch phần cứng bên gửi đến CPU CPU chấp nhận ngắt: Nhóm – KTMT HDH lOMoARcPSD|15963670 Chương trình phục vụ ngắt Tiến trình bị ngắt Tín hiệu yêu cầu ngắt IRQ từ mạch phần cứng bên ngồi gửi tới CPU Hình 2: Mơ tả khái niệm ngắt cứng trình ngắt cứng Thơng thường q trình vào theo ngắt cứng trợ giúp thiết bị điều khiển ngắt PIC (Programmable Interrupt Controller) Một PIC biết đến nhiều nhất, 8259A, đưa vào PC x86 Trong thời đại, chip riêng PC x86, mà phần chipset cầu nam bo mạch chủ (chip cầu nam thường triển khai khả chậm bo mạch chủ kiến trúc máy tính cầu bắc/ cầu nam (Nguồn: https://wiki2th.com/vi/Southbridge_(computing) ) III Nhiệm vụ PIC 8259A PIC 8259A có chức nhận yêu cầu ngắt IRQ , xử lý ưu tiên ngắt cung cấp số hiệu ngắt ưu tiên cao cho CPU , vào số hiệu ngắt CPU lấy địa chương trình phục vụ ngắt này.8259A ngắt CPU mục đích để I/O hay CPU phải thực vấn đề Vấn đề lập trình thành chương trình phục vụ ngắt.Để gọi chương trình cần xác định ngắt 8259A phát sinh để gọi chương trình tương ứng Tức có phát sinh ngắt đầu vào IRQ gọi chương trình phục vụ ngắt tương Nhóm – KTMT HDH lOMoARcPSD|15963670 ứng Đây nhiệm vụ vi mạch điều khiển ưu tiên ngắt PIC 8259A (Priority Interrupt Controller) IV Cấu tạo PIC 8259A 4.1: Sơ đồồ chức nắng chân PIC 8259A: Hình 3: Sơ đồ chân PIC 8259A Kí hiệu Vị trí chân Type Tên chức Vcc 28 I SUPPLY: Một nguồn cung cấp 5V GND 14 I GROUND CS I CHIP SELECT: Mức thấp chân cho phép RD WR CPU 8259A Các chức INTA độc lập với CS lOMoARcPSD|15963670 Khối xử lý mức ưu tiên ngắt Priority Resolver Ðây khối logic có chức định mức độ ưu tiên bit ghi IRR Bit có độ ưu tiên cao chọn gửi đến bit tương ứng ghi ISR khoảng thời gian có xung INTA Thanh ghi che ngắt Interruption Mask Register Cho người lập trình biết ngắt có che hay không IMR sử dụng để che (Mask) mở (Unmask) đầu vào yêu cầu ngắt riêng lẻ Đây Thanh ghi bit Mỗi bit ghi tương ứng với ngắt đầu vào với số IMR hoạt động IRR Che đầu vào với độ ưu tiên cao không ảnh hưởng đến dòng yêu cầu ngắt đầu vào ưu tiên thấp Để ngừng che tín hiệu ngắt nào, bit tương ứng đặt "0" Các tín hiệu điều khiển CAS0 đến CAS2 (in, out): ngõ vào chọn mạch 8259A tới (slave) từ mạch 8259A chủ (master) trường hợp dùng nhiều mạch 8259A để tăng yêu cầu ngắt Tạo tín hiệu ghi đọc ghi đệm Nó trung tâm vi xử lý điều khiển hoạt động khối Nó có chân INTA kết nối với vi xử lý khác để nhận yêu cầu ngắt chân INT để đưa đầu Nếu 8259A bật cờ Ngắt vi xử lý khác mức cao giá trị đầu chân INT cao theo cách 8259A đáp ứng yêu cầu vi xử lý khác Tín hiệu đưa trực tiếp vào đầu vào ngắt CPU Mức cao tín hiệu ln tương thích với mức tín hiệu vào 8088A, 8085A 8086 cấp độ Tín hiệu vào tạo 8259A (System controler and Bus controler) hệ thống Các xung NTA khiến 8259A giải phóng thơng tin vectơ vào bus liệu Định dạng liệu phụ thuộc vào chế độ hệ thống (mPM) 8259A Logic điều khiển INT INTA 10 Control logic Interrupt Interrupt Acknowledge Nhóm – KTMT HDH lOMoARcPSD|15963670 Khối đệm bus liệu Data bus Buffer Ðây đệm bit ,3 trạng thái, hai chiều sử dụng để ghép nối 8259 với Data bus Các từ điều khiển, thông tin trạng thái trao đổi thông qua đệm Khối logic điều khiển đọc/ghi Read /Write control Logic Chức khối nhận lệnh điều khiển từ CPU Khối bao gồm ghi từ lệnh khởi tạo (ICWR- Initionlize Command Word) ghi lệnh hoạt động (OCWR - Operation Command Word Register) Các ghi chứa từ lệnh điều khiển hoạt động 8259 Cascade Buffer/ Comparator 10 Khối có chức lưu trữ so sánh vai trò tất vi mạch 8259 sử dụng hệ thống Các chân tín hiệu CAS0 -CAS2 đầu vi mạch 8259 đóng vai trị master (SP =1) đầu vào vi mạch sử dụng làm slave (SP= 0) Khi hoạt động với vai trị master, 8259A gửi tín hiệu ngắt thiết bị đường CAS0- CAS2 Các vi mạch slave tương ứng chọn gửi địa chương trình ngắt chúng lên bus liệu Khối so sánh xử lý song song Trong trường hợp hệ thống có số lượng ngắt lớn mắc nhiều 8259A liên tầng theo hình sau: lOMoARcPSD|15963670 Hình :8259A ghép liên tầng V Nguyên tắc ghép nối nguyên tắc hoạt động 5.1 Nguyên tắắc ghép nồắi Khi ghép vào CPU PIC 8259A ghép sau: 12 Nhóm – KTMT HDH lOMoARcPSD|15963670 Hình 6: Sơ đồ ghép nối: Thứ tự ưu tiên cố định số hiệu ngắt tương ứng thể bảng sau: IRQ Interrupt type DEVICE lOMoARcPSD|15963670 08H System timer 09H Keyboard 0AH Reserved (2nd 8259A) 0BH Serial port (COM 1) 0CH Serial port (COM 2) 0DH Hard disk 0EH Floppy Disk 0FH Printer (LPT1) Trong máy tính hệ cũ sử dụng IC 8259A thứ tự ưu tiên 0,1,2,3,4,5,6,7 Trong máy tính đại sử dụng hai IC 8259A thứ tự ưu tiên 0,1, (8,9,10,11,12,13,14,15),3,4,5,6,7 Các IRQs từ đến 15 thay IRQ2 Các IRQs cách sử dụng thể bảng sau: IRQ Đường Bus Ưu tiên Mặc định sử dụng điển hình Sử dụng thơng thường khác No Giờ hệ thống None No Bộ điều khiển bàn phím None No(rerouted) N/a Bộ điều khiển bàn phím Modem, card video, COM3(cổng nối tiếp thứ 3), COM (cổng nối tiếp thứ 4) 8/16-bit 11 COM2(second serial port) COM4(cổng nối tiếp thứ 4), modem, card âm thanh, mạng lưới thẻ, accelerator thẻ 8/16-bit 12 COM1(first serial port) COM3(cổng nối tiếp thứ 3) Modem, card âm thanh, mạng lưới thẻ, accelerator thẻ 8/16-bit 13 Sound card On old PC/XT 14 Nhóm – KTMT HDH lOMoARcPSD|15963670 8/16-bit 14 Floppy disk controller LPT2 (hai cổng song song), LPT3 (cổng song song thứ 3), COM3(cổng nối tiếp thứ 3), COM4 (cổng nối tiếp thứ 4), modem, card mạng, điều khiển đĩa cứng 8/16-bit 15 LTP1(first parallel port) LPT2(Hai cổng song song), COM3(cổng nối tiếp thứ 3), COM4(cổng nối tiếp thứ 4), modem, thẻ âm thanh, mạng lưới thẻ, băng accelerator thẻ No Real-time clock None 16- bit only Card mạng, card âm thanh, SCSI thích ứng chủ, PCI thiết bị ấn định tuyến đường lai IQR2 thiết bị 10 16-bit only Card mạng, card âm thanh, SCSI thích ứng chủ, PCI thiết bị ẩn định tuyến tương lai IRQ2 thiết bị 11 16-bit only Card mạng, card âm thanh, máy chủ SCSI, card hình, quatarnary kênh IDE, thiết bị PCI 12 16-bit only PS/2 mouse Card mạng, card âm máy chủ SCSI, card hình, quaternarry kênh IDE, thiết bị PCI 13 No Floating Point Unit (EPU/NPU/Math Coprocessor) None 14 16-bit only Primary IDE channel Bộ thích ứng chủ SCSI 15 16-bit only 10 Secondary IDE Card mạng, SCS channel lOMoARcPSD|15963670 5.2 Hoạt động Tổng quát Khi có hay nhiều yêu cầu ngắt từ phận ngoại vi ( IRQ0 – IRQ15 ), Thanh ghi IRR 8259A lưu trữ lại yêu cầu ngắt đó, ghi PR vào ghi IRR, IMR , ISR để chọn yêu cầu ngắt có độ ưu tiên cao gửi cho khối Control logic Khối Control logic nhận yêu cầu gửi tín hiệu INT =1 tới CPU thông qua chân INTR CPU ghi nhận yêu cầu ngắt trả lời cách phát xung INTA 8259A nhận tín hiệu INTA từ CPU gửi bus liệu lệnh CALL(mã 11001101) dạng nhị phân bit qua đường dây liệu (chân D0-D7) Lệnh CALL yêu cầu CPU gửi thêm hai xung INTA đến PIC 8259A Hai xung INTA cho phép 8259A giải phóng địa chương trình lập trình trước lên Bus liệu Chuỗi chương trình chuyển đến vị trí nhớ định lệnh CALL để xử lý ngắt Sau đó, CPU tiến hành phục vụ yêu cầu phận ngoại vi Chuỗi hoạt động việc xử lý ngắt phụ thuộc vào loại CPU sử dụng Các kiện xảy sau hệ thốống MCS-80/85 Một nhiều dòng IR (IR7–0) nâng lên mức cao, thiết lập (các) bit IRR tương ứng 16 Nhóm – KTMT HDH lOMoARcPSD|15963670 8259 đánh giá yêu cầu khối Priority Resolver (PR) PR kiểm tra ghi IRR , IMR ,ISR để đưa yêu cầu có độ ưu tiên cao gửi tín hiệu INT cho CPU thông qua chân INTA Ban đầu bit ghi IMR đươc thiết lập Sau IMR bắt đầu bỏ che cho IRR từ IR0->IR7 Cho đến IRR ta nhận bit dừng lại Và kiểm tra ghi ISR xem có yêu cầu phục vụ khơng Nếu có đợi q trình ngắt u cầu xong Nếu khơng PR gửi tín hiệu phục vụ ngắt cho khối logic Control logic để gửi tín hiệu INT = qua chân INTA cho CPU CPU xác nhận INT phản hồi xung INTA Khi nhận INTA từ nhóm CPU, bit ISR ưu tiên cao đặt bit IRR tương ứng đặt lại 8259A phát hành mã lệnh CALL (11001101) lên Bus liệu 8-bit thơng qua chân D7–0 Lệnh CALL bắt đầu thêm hai xung INTA gửi đến 8259A từ nhóm CPU Hai xung INTA cho phép 8259A giải phóng địa chương trình lập trình trước lên Bus liệu Địa 8-bit thấp giải phóng xung INTA địa 8-bit cao giải phóng xung INTA thứ hai Điều hoàn thành lệnh CALL 3-byte phát hành 8259A Trong AEOI mode, bit ISR đặt lại cuối xung INTA thứ ba Nếu không, bit ISR đặt lệnh EOI thích hợp đưa cuối chuỗi ngắt lOMoARcPSD|15963670 Các kiện xảy hệ thốống 8086 giốống cho đếốn bước 4 Khi nhận INTA từ nhóm CPU, bit ISR ưu tiên cao đặt bit IRR tương ứng đặt lại 8259A không điều khiển Bus liệu chu kỳ 8086 bắt đầu xung INTA thứ hai Trong xung này, 8259A giải phóng trỏ 8-bit vào Bus liệu nơi đọc CPU Điều hoàn thành chu kỳ ngắt Ở chế độ AEOI bit ISR đặt lại cuối xung INTA thứ hai Nếu không, bit ISR đặt lệnh EOI thích hợp đưa cuối chương trình ngắt Nếu khơng có u cầu ngắt bước hai chuỗi (tức yêu cầu có thời lượng ngắn) 8259A đưa mức ngắt Cả byte vectơ dòng CAS giống mức ngắt yêu cầu Khi 8259A PIC nhận yêu cầu ngắt, INT hoạt động chu kỳ xác nhận ngắt bắt đầu Nếu yêu cầu ngắt ưu tiên cao xảy hai xung INTA, dịng INT khơng hoạt động sau xung INTA thứ hai Sau khoảng thời gian khơng xác định, đường INT kích hoạt trở lại để báo hiệu yêu cầu ngắt có mức ưu tiên cao chờ dịch vụ Thời gian không hoạt động khơng định khác phận Người thiết kế nên lưu ý vấn đề thiết kế hệ thống sử dụng 8259A Khuyến nghị kỹ thuật thiết kế khơng đồng thích hợp nên tn theo 18 Nhóm – KTMT HDH lOMoARcPSD|15963670 Đầầu yếu cầầu ngắốt MCS-80, MCS-85 Trình tự định thời ba xung INTA Trong xung INTA đầu tiên, mã opcode CALL kích hoạt bus liệu Trong xung INTA thứ hai, địa thấp quy trình dịch vụ thích hợp kích hoạt bus liệu Khi Interval = 4, bit A5 – A7 lập trình A0 – A4 8259A chèn tự động Khi Interval = A6 A7 lập trình A0 – A5 tự động đưa vào Trong xung INTA thứ ba, địa cao quy trình dịch vụ thích hợp lập trình dạng byte chuỗi khởi tạo (A8 – A15), kích hoạt bus Chếố độ 8086, 8088 Chế độ 8086 tương tự chế độ MCS-80 ngoại trừ việc có hai chu kỳ Thơng báo ngắt cấp xử lý mã lệnh CALL gửi đến xử lý Chu kỳ xác nhận ngắt tương tự hệ thống MCS-80, 85 8259A sử dụng để đóng băng nội trạng thái ngắt để giải ưu tiên hệ thống tổng thể, đưa mã ngắt dòng CAS cuối xung INTA Trong chu kỳ này, khơng cấp liệu cho xử lý khiến đệm bus liệu bị vơ hiệu hóa Vào chu kỳ xác nhận ngắt thứ hai chế độ 8086, chủ (hoặc phụ lập trình vậy) gửi byte liệu đến xử lý với mã ngắt thừa nhận cấu tạo sau (lưu ý trạng thái điều khiển chế độ ADI bị bỏ qua A5 – A11 không sử dụng chế độ 8086): lOMoARcPSD|15963670 Ví dụ dịng IRQ 0, nâng lên mức cao Từ thiết lập bit tương ứng IRR sau: 11000000 Trước đó, ta có ISR: 00000000 IMR lập trình sau: 01111111 Với thơng tin từ ghi, Priority Resolver xử lý yêu cầu sau: Đầu tiên, PR xét ghi IRR ghi IMR, bit IRR yêu cầu qua lọc, ta lọc yêu cầu PR xét ghi ISR, so sánh nhận thấy yêu cầu chưa phục vụ trước => 8259A xử lý yêu cầu PR gửi tín hiệu INT đến CPU CPU nhận INT phát xung thứ chân INTA Khi nhận INTA từ nhóm CPU, bit ISR tương ứng với yêu cầu đặt: 10000000 bit IRR tương ứng đặt lại: 01000000 8259A phát hành mã lệnh CALL (11001101) lên Bus liệu 8-bit thơng qua chân D7–0 Lệnh CALL bắt đầu thêm hai xung INTA gửi đến 8259A từ nhóm CPU Hai xung INTA cho phép 8259A giải phóng địa chương trình lập trình trước lên Bus liệu Địa 8-bit thấp giải phóng xung INTA địa 8-bit cao giải phóng xung INTA thứ hai Điều hồn thành lệnh CALL 3-byte phát hành 8259A Trong AEOI mode, bit ISR đặt lại cuối xung INTA thứ ba Nếu không, bit ISR đặt lệnh EOI thích hợp đưa cuối chuỗi ngắt Chu kỳ ngắt thứ kết thúc Thanh ghi ISR sau chu kỳ ngắt thứ là: 00000000 ghi IRR là: 01000000 Hệ thống tiếp tục xử lý yêu cầu ngắt Lúc này, PR xét ghi IRR ghi IMR, khơng có bit thông qua lọc, đặt lại IMR thành: 10111111, bit IRR yêu cầu qua lọc, lọc yêu cầu 1, PR xét ISR nhận thấy yêu cầu chưa phục vụ trước => 8259A xử lý yêu cầu PR gửi tín hiệu INT đến CPU CPU nhận INT phát xung thứ chân INTA Khi nhận INTA từ nhóm CPU, bit ISR tương ứng với yêu cầu đặt: 01000000 bit IRR tương ứng đặt lại: 00000000 8259A phát hành mã lệnh CALL (11001101) lên Bus liệu 8-bit thông qua chân D7–0 20 Nhóm – KTMT HDH lOMoARcPSD|15963670 Lệnh CALL bắt đầu thêm hai xung INTA gửi đến 8259A từ nhóm CPU Hai xung INTA cho phép 8259A giải phóng địa chương trình lập trình trước lên Bus liệu Địa 8-bit thấp giải phóng xung INTA địa 8-bit cao giải phóng xung INTA thứ hai => Điều hoàn thành lệnh CALL 3-byte phát hành 8259A Trong AEOI mode, bit ISR đặt lại cuối xung INTA thứ ba Nếu không, bit ISR đặt lệnh EOI thích hợp đưa cuối chuỗi ngắt Kết thúc chu kỳ ngắt số Khơng cịn u cầu cần phục vụ, hệ thống ngừng hoạt động 5.3 Các chếố độ hoạt động 5.3.1: Chếố độ hoạt động đầầy đủ (Fully Nested Mode) 8259A hoạt động chế độ sau thực trình khởi tạo mà không cần đến từ điều khiển hoạt động OCW Trong chế độ này, yêu cầu ngắt xếp theo mức ưu tiên từ đến Khi yêu cầu ngắt chấp nhận, yêu cầu ngắt có mức ưu tiên cao thực vector địa truyền lên bus liệu Ngoài ra, bit ghi phục vụ ngắt đặt Bit giữ nguyên giá trị 8088 phát lệnh EOI trước trở từ chu trình phục vụ Trong bit ghi ISR 1, tất ngắt có mức ưu tiên thấp (những ngắt chấp nhận 8088 chấp nhận thông qua điều khiển phần mềm) bị loại bỏ Sau thực q trình khởi tạo, tín hiệu yêu cầu ngắt vào IR0 có mức ưu tiên cao vào IR7 có mức ưu tiên thấp Thứ tự ưu tiên thay đổi chế độ hoán đổi thứ tự ưu tiên đề cập sau 5.3.2: Chếố độ hoán đổi thứ tự ưu tiến: (Rotating Priority Mode) 8259A hoạt động chế độ hệ thống có thiết bị có yêu cầu ngắt có mức ưu tiên tương đương kênh truyền thơng Có hai chế độ hoán đổi mức ưu tiên chế độ hoán đổi tự động chế độ hoán đổi đặc biệt 5.3.3: Chếố độ tự động (Auto Mode) Trong chế độ này, thiết bị sau phục vụ, gán cho mức ưu tiên thấp nhất, thiết bị u cầu ngắt phải đợi chí phải đợi thiết bị khác phục vụ xong lOMoARcPSD|15963670 5.3.4: Chếố độ khống tự động (Specific Mode) Trong chế độ người lập trình viên thay đổi thứ tự ưu tiên ngắt cách lập trình mức ngắt có ưu tiên thấp cách xác lập mức ngắt có ưu tiên cao ví dụ IR5 lập trình có mức ưu tiên thấp IR6 có mức ưu tiên cao Lệnh điều khiển xác định OCW2, R =1, SEOI =1, bit L2, L1, L0 xác định mức ưu tiên (tính theo hệ thập phân) thiết bị có mức ưu tiên thấp Cần ý chế độ hoạt động độc lập với lệnh EOI trình hốn đổi mức ưu tiên thực thực lệnh EOI EOI (End of Interupt) SEOI (Specific EOI) Một lệnh EOI phải đưa tới 8259A trước kết thúc chương trình ngắt để khởi tạo bit tương ứng ghi ISR EOI SEOI hai dạng lệnh EOI non - specific (không xác định) specific (xác định) Khi 8259A chế độ hoạt động đầy đủ (Fully Neste Mode) xác định bit ghi ISR cần khởi tạo lệnh EOI Khi nhận lệnh non- specific EOI ,8259A tự động khởi tạo bit cao số bit xác lập Tuy nhiên, chế độ xác lập gây ảnh hưởng đến chế độ hoạt động đầy đủ chế độ hoán đổi thứ tự ưu tiên (Rotating Priority Mode), 8259A xác định mức ngắt cuối ghi nhận Trong trường hợp lệnh lệnh EOI xác định gửi đến 8259A bao gồm bit cần khởi tạo ghi IS Lệnh EOI thực thực EOI = "1" từ điều khiển OCW2 Lưu ý lệnh hốn đổi thực suốt q trình EOI=1 khơng cần thiết phải làm 5.3.5: Chếố độ che đặc biệt (Special Mask Mode - SMM) Chế độ sử dụng có số bit xác lập (che - mask) ghi mặt nạ (Interrupt Mask Register) từ lệnh OCW1 Trong chế độ mức ngắt ưu tiên thấp cho phép hoạt động chế độ hoạt động khởi tạo lại Các mức ưu tiên cao khơng có tác dụng Chế độ xác lập từ điều khiển OSW3 ESMM=1, SMM=1 khởi tạo lại ESSM=1 SMM=0 5.3.6: Chếố độ quay vòng (Polled Mode) Trong chế độ ,8088 cấm đường vào INT Các phục vụ dành cho thiết bị thực lệnh Poll Lệnh Poll thực cách đặt bit P ="1" từ lệnh OCW3 suốt q trình có xung WR 8259A coi xung RD tín hiệu xác nhận ngắt, xác lập mạch lật tương ứng có yêu cầu ngắt đọc mức ưu tiên ngắt Từ điều khiển bus liệu trình RD là: 22 Nhóm – KTMT HDH lOMoARcPSD|15963670 Chế độ có ưu có chu trình lệnh thơng dụng vài mức ưu tiên nên khơng cần đến tín hiệu INTA Các ứng dụng khác thường sử dụng chế độ để mở rộng số lượng mức ưu tiờn ngắt lớn 64 mức 5.3.7: Cascading Trong chế độ vi mạch 8259A nối với vi mạch 8259A có vai trị master nhằm tăng số mức ưu tiên ngắt lên tới 64 mức hình vẽ sau: Trong hệ thống vi mạch 8259A đóng vai trị master điều khiển vi mạch slave thơng qua đường tín hiệu CAS0- CAS2 Các đường tín hiệu yêu cầu ngắt nối với đầu vào tín hiệu yêu cầu ngắt vi mạch master Khi slave có yêu cầu phục vụ ngắt sau có tín hiệu chấp nhận, vi mạch master phát lệnh CALL khoảng byte thứ INTA cho phép slave tương ứng đzưa địa chương trình ngắt thiết bị khoảng byte thứ hai thứ ba INTA Các đường dây cascade thông thường mức thấp chứa địa slave khoảng thời gian từ sườn lên xung INTA sườn lên xung INTA thứ ba Như vi mạch 8259A hệ thống phải hoạt động riêng biệt tuần tự, lập trình hoạt động chế độ khác Một lệnh EOI phải phát hai lần, lệnh cho master cho slave tương ứng đồng thời vi mạch 8259A hệ thống cần phải giải mã địa qua tín hiệu CS lOMoARcPSD|15963670 PHẦN 3: KẾT LUẬN PIC 8259A thiết bị vi mạch điều khiển ưu tiên ngắt cho CPU Thiết bị giúp xác định ưu tiên ngắt cho CPU, giúp giải tốn có nhiều nhiệm vụ u cầu cung lúc, giúp CPU hoạt động với công suất lớn Sau thực tập lớn thành viên nhóm I lớp khoa học máy tính I khóa V thu kiến thức cấu tạo, chức nguyên tắc hoạt động PIC 8259A, thiết bị vi xử lý điều khiển ưu tiên ngắt PIC 8259A (Priority Interrupt Cntroller) Rèn luyện cho thành viên nhóm khả làm việc theo nhóm, khả tìm chia sẻ tài liệu Danh mục tài liệu tham khảo 1.Kiến trúc máy tính – Thầy Vương Quốc Dũng 2.Cấu trúc máy vi tính – Trần Quang Vinh 3.Tài liệu lập trình hệ thống-Phạm Hùng Kim Khánh 4.Datasheet_VXL_8259A: intel-8259A-pic: http://alldatasheet.com/ 24 Nhóm – KTMT HDH Downloaded by ng?c trâm (ngoctram201217@gmail.com) ... PIC 8259A để giải vấn đề ưu tiên. PIC 8259A giải yêu cầu ngắt với mức ưu tiên khác có tính tích hợp để mở rộng sang 8259A khác (lên đến 64 cấp độ ngắt khác ) PIC 8259A thiết bị điều khiển ưu tiên. .. Trong chế độ vi mạch 8259A nối với vi mạch 8259A có vai trị master nhằm tăng số mức ưu tiên ngắt lên tới 64 mức hình vẽ sau: Trong hệ thống vi mạch 8259A đóng vai trị master điều khiển vi mạch slave... ứng Đây nhiệm vụ vi mạch điều khiển ưu tiên ngắt PIC 8259A (Priority Interrupt Controller) IV Cấu tạo PIC 8259A 4.1: Sơ đồồ chức nắng chân PIC 8259A: Hình 3: Sơ đồ chân PIC 8259A Kí hiệu Vị trí