1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bc_Ktmtvhdh.docx

30 15 0

Đ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 30
Dung lượng 1,06 MB

Nội dung

Bài tập lớn Kiến Trúc Máy tính và Hệ Điều Hành trường Đại học Công nghiệp Hà Nội - Hanoi University of Industry. Đề tài Nghiên cứu tìm hiểu về vi mạch điều khiển ưu tiên ngắt PIC 8259A

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO Kiến Trúc Máy Tính Và Hệ Điều Hành Đề tài: 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) Giảng viên hướng dẫn : TH.S Nguyễn Thanh Hải Nhóm thực : Nhóm 13 Hà Nội, ngày 21 tháng 11 năm 2023 1|Page BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THƠNG TIN BÁO CÁO Kiến Trúc Máy Tính Và Hệ Điều Hành Đề tài: 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) Giảng viên hướng dẫn : TH.S Nguyễn Thanh Hải Sinh viên thực : Nguyễn Mạnh Niên Vũ Tuấn Minh Nguyễn Thị Oanh Lê Xuân Trường Vũ Văn Tuyên Hà Nội, ngày 21 tháng 11 năm 2023 Mục lụcc lục lụcc Khái niệm, chức phân loại mạch ngắt .5 1.1 Khái niệm mạch PIC 8259A .5 1.2 Chức vi mạch PIC 8259A 1.3 Phân loại mạch ngắt 1.3.1 Ngắt cứng 1.3.2 Các ngắt mềm 1.3.3 Các ngắt địa .8 Sơ đồ chân chức chân tín hiệu 2.1 Sơ đồ chân .9 2.2 Chức chân tín hiệu 10 Sơ đồ khối, chức khối ghi .11 3.1 Sơ đồ khối .11 3.2 Chức khối 12 3.3 Chức ghi 13 Sơ đồ phối ghép nguyên tắc hoạt động vi mạch hệ thống ngắt cứng PIC 8259A 14 4.1 Sơ đồ phối ghép 14 4.2 Nguyên tắc hoạt động vi mạch PIC 8259A .16 Lập trình cho vi mạch PIC 8259A 17 5.1 Các từ lệnh khởi tạo (ICW) 18 5.1.1 ICW1, ICW2 .18 5.1.2 ICW3 19 5.1.3 ICW4 20 5.2 Các từ lệnh hoạt động 22 5.2.1 OCW1 23 5.2.2 OCW2 24 5.2.3 OCW3 24 5.3 Các chế độ hoạt động 24 5.3.1 Chế độ hoạt động đầy đủ (Fully Nested Mode) 24 2|Page 5.3.2 Chế độ hoán đổi thứ tự ưu tiên (Rotating Priority Mode) 25 5.3.3 Chế độ tự động (Auto Mode) 25 5.3.4 Chế độ đặc biệt (Specific Mode) 25 5.3.5 Chế độ che đặc biệt .26 5.3.6 Chế độ quay vòng 26 5.3.7 Cascading 27 Kết luận 28 3|Page Lời nói đầu Trong thời đại ngày nay, với phổ cập tích hợp ngày sâu rộng công nghệ vào sống hàng ngày, nhu cầu hiệu suất quản lý ngắt hệ thống máy tính trở nên ngày quan trọng Một thành phần quan trọng vi mạch điều khiển ưu tiên ngắt, đặc biệt PIC 8259A Bằng cách giới thiệu nghiên cứu này, nhóm em bước đầu khám phá sâu rộng cấu trúc nguyên tắc hoạt động PIC 8259A xem xét vai trị quan trọng quản lý ngắt đảm bảo ổn định hệ thống máy tính Với mục đích tìm hiểu vi mạch điều khiển ưu tiên ngắt PIC 8259A (Priority interrupt controller) Nhóm sinh viên chúng em tìm hiểu khái niệm phân loại mạch ngắt, sơ đồ chân chức tín hiệu, chức ghi, nguyên tắc ghép nối sơ đồ phối ghép vi mạch hệ thống ngắt cứng PIC 8259A, sơ đồ ghép nối lập trình vi mạch 8259A Mặc dù cố gắng tiểu luận chúng em khơng thể tránh khỏi sai sót, mong đóng góp ý kiến bạn thầy Nhóm tác giả xin chân thành cảm ơn người đọc tiểu luận này, đóng góp ý kiến để tiểu luận chúng em hoàn thiện 4|Page Khái niệm, chức phân loại mạch ngắt - Tại cần sử dụng vi mạch ngắt PIC? o Thiết kế hệ thống vi xử lý đòi hỏi thiết bị ngoại vi bàn phím, hình, cảm biến thành phần khác nhận dịch vụ cách hiệu để lượng lớn công việc hệ thống tổng thực vi xử lý mà không ảnh hưởng đến lưu lượng o Phương pháp phổ biến để cung cấp dịch vụ cho thiết bị phương pháp Polled Điều có nghĩa xử lý phải kiểm tra thiết bị theo trình tự thực tế "hỏi" thiết bị xem cần phục vụ hay khơng Dễ thấy phần lớn chương trình lặp qua chu kỳ kiểm tra liên tục phương pháp ảnh hưởng nghiêm trọng đến lưu lượng hệ thống, giảm hiệu suất công việc thực vi xử lý giảm hiệu chi phí việc sử dụng thiết bị o Một phương pháp mong muốn cho phép vi xử lý thực chương trình dừng lại để phục vụ thiết bị ngoại vi báo hiệu làm thiết bị Thực tế, phương pháp cung cấp đầu vào bất đồng bên ngồi mà thơng báo cho xử lý nên hồn thành lệnh thực lấy chương trình để phục vụ thiết bị yêu cầu Tuy nhiên, sau dịch vụ hoàn tất, xử lý tiếp tục xác từ nơi dừng lại o Phương pháp gọi Ngắt Dễ thấy lưu lượng hệ thống tăng đáng kể, từ vi xử lý thực thêm cơng việc để tăng cường hiệu suất chi phí 1.1 Khái niệm mạch PIC 8259A Mỡi thiết bị phần cứng hay chương trình cần đến giúp đỡ CPU gửi tín hiệu lệnh gọi ngắt đến vi xử lý định công việc cụ thể mà cần CPU thực Khi vi xử lý nhận tín hiệu ngắt 5|Page thường tạm ngưng tất hoạt động khác kích hoạt chương trình có nhớ gọi chương trình xử lý ngắt tương ứng với số liệu ngắt cụ thể Sau chương trình xử lý ngắt làm xong nhiệm vụ, hoạt động máy tính tiếp tục lại từ nơi bị tạm dừng lúc xảy ngắt 1.2 Chức vi mạch PIC 8259A Bộ Điều khiển Ngắt Có thể Lập trình (PIC) hoạt động quản lý tổng thể môi trường Hệ thống Điều khiển 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 có mức ưu tiên cao nhất, xác định xem yêu cầu đến có giá trị ưu tiên cao mức phục vụ hay không, phát ngắt đến CPU dựa định Mỗi thiết bị ngoại vi cấu trúc thường có chương trình "quy trình" đặc biệt liên kết với yêu cầu chức vận hành cụ thể nó; điều gọi "quy trình dịch vụ" PIC, sau phát ngắt đến CPU, phải somehow đưa thơng tin vào CPU "trỏ" Bộ Đếm Chương Trình đến quy trình dịch vụ liên quan đến thiết bị yêu cầu "Trỏ" địa bảng vector thường đề cập đến tài liệu liệu vectoring 8259A thiết bị thiết kế đặc biệt để sử dụng hệ thống máy tính vi xử lý thời gian thực, dựa ngắt Nó quản lý tám mức u cầu có tính tích hợp để mở rộng cho 8259A khác (lên đến 64 mức) Nó lập trình phần mềm hệ thống thiết bị ngoại vi I/O Người lập trình chọn từ loạt chế độ ưu tiên để cấu hình cách yêu cầu xử lý 8259A cho phù hợp với yêu cầu hệ thống người dùng Các chế độ ưu tiên thay đổi cấu hình lại động lúc chương trình Điều có nghĩa cấu trúc ngắt hồn chỉnh định nghĩa theo yêu cầu, dựa môi trường hệ thống tổng thể 1.3 - Phân loại mạch ngắt Có loại ngắt chính: 6|Page o Đầu tiên ngắt tạo mạch điện máy tính nhằm đáp lại kiện nhấn phím bàn phím Các ngắt điều khiển ngắt 8259A quản lý, 8259A ấn định mức độ ưu tiên cho ngắt gửi đến CPU o Sau ngắt CPU tạo gặp phải kết bất thường thực chương trình chia cho chẳng hạn o Cuối ngắt chương trình tạo nhằm gọi chương trình xa nằm ROM RAM, ngắt gọi ngắt mềm chúng thường phận chương trình phục vụ ROM-BIOS DOS 1.1.1 Ngắt cứng 7|Page Hình 1.1: Mơ tả q trình ngắt cứng 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 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 1.1.2 Các ngắt mềm 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ữ thực Những ngắt phần chương trình ROM – BIOS, số hiệu dành cho ngắt ROM- BIOS 5, từ 10h đến 1C hex 48h Ngồi cịn có ngắt DOS ngắt BASIC phục vụ hệ điều hành DOS chương trình BASIC 1.1.3 Các ngắt địa Ba số ngắt trỏ đến ba bảng quan trọng bảng khởi tạo hình, Bảng sở đĩa bảng ký tự đồ thị Các bảng chứa tham số ROM BIOS dùng khởi động hệ thống tạo ký tự đồ thị Các số hiệu dành cho ngắt từ 1Dhex đến Fhex 8|Page Sơ đồ chân chức chân tín hiệu 2.1 Sơ đồ chân Hình 2.1: Sơ đồ chân PIC 8259A - PIC 8259A gồm có 28 chân (như hình vẽ) Trong đó: o chân IR đánh số từ IR0 đến IR7 chân đánh số theo thứ tự: 18, 19, 20, 21, 22, 23, 24, 25 o chân D đánh số từ D0 đến D7 chân đánh số theo tứ tự: 11, 10, 9, 8, 7, 6, 5, o chân CAS đánh số từ CAS0 đến CAS2 đánh số theo thứ tự: 12, 13, 15 o chân SP/EN chân số 16 o chân INT chân số 17 o chân CS chân số o chân WR chân số o chân RD chân số o chân INTA chân số 26 o chân A0 chân số 27 o chân GND chân số 14 9|Page 0DH 0EH 0FH Hard disk Floppy disk 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, Trong máy tính đại sử dụng hai IC 8259A thứ tự ưu tiên 0, 1, 2(8, 9, 10, 11, 12, 12, 14, 15), 3, 4, 5, 6, Các IRQs từ đến 15 thay IRQ2 - Các IRQs cách sử dụng thể bảng sau: IQ R Đường Bus No Ưu tiên No (reouted) n/a 8/16-bit 11 8/16-bit 12 8/16-bit 14 8/16-bit 15 No 16-bit only 10 16-bit only 11 16-bit only 12 16-bit only Mặc định sử dụng Sử dụng thông dụng khác Giờ hệ thống None Modem, card video, COM3 Bộ điều khiển bàn (cổng nối tiếp thứ 3), COM4 phím (cổng nối tiếp thứ tư) COM4 (cổng nối tiếp thứ tư), COM2 (second serial modem, card âm thanh, mạng port) lưới thẻ, accelerator thẻ COM3 (cổng nối tiếp thứ ba), COM1 (first serial modem, card âm thanh, mạng port) lưới thẻ, accelerator thẻ LPT2 (hai cổng song song), LPT3 (cổng song song thứ ba), Floppy disk controller COM3, COM4, modem, card mạng, điều khiển đĩa cứng LPT2, COM3, COM4, modem, LPT1 (first parallel thẻ âm thanh, mạng lưới thẻ, port) băng accelerator thẻ Real-time clock None Card mạng, card âm thanh, SCSI thích ứng chủ, PCI thiết bị ấn định tuyến đường lai IRQ2 Card mạng, card âm thanh, SCSI thích ứng chủ, trung kênh IDE, thiết bị PCI Card mạng, card âm thanh, máy chủ SCSI, card hình, quaternary kênh IDE, thiết bị PCI PS/2 mouse 15 | P a g e 13 14 15 2.2 16-bit only 16-bit only Floating Point Unit (FPU/NPU/Math Coprocessor) None Primary iDE channel Bộ thích ứng chủ SCSI 10 Secondary IDE channel Card mạng, SCS Nguyên tắc hoạt động vi mạch PIC 8259A 1: Một nhiều dòng yêu cầu ngắt (IR7 – IR0) đưa lên mức cao, đặt bit tương ứng bảng đăng ký yêu cầu ngắt 2: 8259A đánh giá yêu cầu gửi INT đến CPU thích hợp 3: CPU xác nhận INT phản hồi với xung INTA 4: Khi nhận INTA từ nhóm CPU, bit ISR ưu tiên cao thiết lập, bit IRR tương ứng đặt lại 8259A phát mã lệnh CALL (11001101) Bus Dữ liệu bit thông qua chân D7-0 5: Mã lệnh CALL khởi chạy thêm hai xung INTA gửi đến 8259A từ nhóm CPU 6: Hai xung INTA cho phép 8259A phát địa ch̃i con-routine lập trình Bus Dữ liệu.Địa bit thấp giải phóng xung INTA địa bit cao giải phóng xung INTA thứ hai 7: Điều hoàn thành mã lệnh CALL byte giải phóng 8259A - Trong chế độ AEOI, bit ISR đặt lại cuối xung INTA thứ ba Ngược lại, bit ISR đặt đến lệnh EOI thích hợp phát cuối chuỗi ngắt Các kiện xảy hệ thống 8086 giống bước 4: Khi nhận INTA từ nhóm CPU, bit ISR có ưu tiên cao thiết lập bit IRR tương ứng đặt lại 8259A không đưa Bus Dữ liệu chu kỳ 5: 8086 khởi chạy xung INTA thứ hai Trong suốt xung này, 8259A phát trỏ bit lên Bus Dữ liệu, nơi đọc CPU 6: Điều hồn thành chu kỳ ngắt Trong chế độ AEOI, bit ISR đặt lại cuối xung INTA thứ hai Ngược lại, bit ISR đặt đến lệnh EOI thích hợp phát cuối ch̃i ngắt 16 | P a g e Nếu khơng có u cầu ngắt xuất bước chuỗi (tức là, yêu cầu ngắt ngắn), 8259A phát mức ngắt Cả hai byte vectoring dòng CAS giống mức ngắt yêu cầu Khi Bộ Điều khiển Ngắt 8259A nhận ngắt, tín hiệu INT trở nên hoạt động chu kỳ xác nhận ngắt khởi đầu Nếu ngắt ưu tiên cao xảy hai xung INTA, tín hiệu INT trở nên không hoạt động sau xung INTA thứ hai Sau khoảng thời gian khơng xác định, tín hiệu INT kích hoạt lại để báo hiệu ngắt ưu tiên cao chờ phục vụ Thời gian không hoạt động không định thay đổi linh kiện Người thiết kế nên nhận thức xem xét thiết kế hệ thống sử dụng 8259A Đề xuất sử dụng kỹ thuật thiết kế không đồng cách Lập trình cho vi mạch PIC 8259A - 8259A chấp nhận loại lệnh từ CPU tạo ra: Các lệnh từ khởi tạo (ICW): Trước hoạt động bình thường, mỡi 8259A hệ thống phải đưa điểm xuất phát chuỗi từ đến byte định thời xung WR Các lệnh từ hoạt động (OCW): Đây từ lệnh lệnh cho 8259A hoạt động nhiều chế độ ngắt khác nhau, gồm chế độ: a Chế độ lồng hoàn toàn (Fully nested mode) b Chế độ ưu tiên xoay (Rotating priority mode) c Chế độ mặt nạ đặc biệt (Special mask mode) d Chế độ thăm dị ý kiến (Polled mode) o OCW ghi vào 8259A lúc sau khởi tạo  Các từ điều khiển khởi tạo (ICW) Cần xác lập chế độ làm việc PIC 8259A trước sử dụng Quá trình gọi lập trình khởi động thiết bị Việc lập trình khởi động PIC 8259A thực qua từ điều khiển ICW - Tổng quan o Bất lệnh đưa với A0 = D4 = 1, điều hiểu lệnh khởi tạo o ICW1 bắt đầu trình khởi tạo, q trình sau tự động diễn ra: a Mạch cảm biến biên thiết lập lại, có nghĩa sau khởi tạo, yêu cầu ngắt IR đưa vào phải thực chuyển đổi từ thấp đến cao để tạo ngắt 17 | P a g e b Thanh ghi mặt nạ ngắt xóa c Đầu vào IR7 gán mức ưu tiên d Địa chế độ nô lệ đặt thành e Chế độ mặt nạ đặc biệt bị xóa đọc Trạng thái bị xóa đặt thành IRR f Nếu IC4 = tất hàm chọn ICW4 đặt thành công (Chế độ khơng đệm*, khơng có hệ thống auto EOI, MCS-80, 85) *NOTE: Master/Slave ICW4 sử dụng vùng đệm cách thức 3.1 Các từ lệnh khởi tạo (ICW) 3.1.1 ICW1, ICW2 o A5 – A15: Địa bắt đầu trang quy trình dịch vụ Trong hệ thống MCS 80/85, mức yêu cầu gọi đến vị trí cách nhớ Chúng lập trình để đặt cách khoảng cách vị trí nhớ, quy trình chiếm trang tương ứng 32 byte 64 byte o Định dạng địa dài byte (A0 – A15) Khi khoảng địa 4, A0 – A4 8259A tự động xếp, A5 – A15 lập trình bên ngồi Khi khoảng địa 8, A0 – A5 8259A tự động chèn vào, A6 – A15 lập trình bên ngồi o Khoảng cách 8-byte trì khả tương thích với phần mềm tại, khoảng cách 4-byte khoảng tốt cho tablet nhỏ gọn o Trong hệ thống 8086: A5 – A11 chèn vào bit quan trọng byte vector 8259A đặt bit trọng số thấp theo mức ngắt A10 – A5 bị bỏ qua ADI (Khoảng địa chỉ) khơng có hiệu lực  LTIM: Nếu LTIM = 8259A hoạt động chế độ ngắt mức Logic phát cạnh đầu vào bị vơ hiệu hóa  ADI: Gọi khoảng địa ADI = khoảng = 4; ADI = khoảng =  SNGL: Single Có nghĩa 8259A hệ thống Nếu SNGL = ICW3 khơng cấp 18 | P a g e  IC4: Nếu bit đặt – ICW4 phải đọc Nếu ICW4 không cần thiết, đặt IC4 = 3.1.2 ICW3 o Từ đọc có nhiều 8259A hệ thống xếp tầng sử dụng, trường hợp SNGL = Nó tải ghi Slave 8-bit Chức ghi là:  Ở chế độ (Khi SP = 1, chế độ đệm M/S = ICW4): “1” đặt cho slave hệ thống Lúc đó, master giải phóng byte ch̃i gọi (đối với hệ thống MCS 80/85) kích hoạt tương ứng slave để giải phóng byte (chỉ dành cho byte 8086) thông qua cascade line  Trong chế độ Slave (Khi SP = BUF = M/S = ICW4): Các bit – xác định slave Slave so sánh đầu vào theo tầng với bit chúng byte chuỗi gọi (hoặc byte cho 8086) phát hành Bus liệu Hình 5.1 Trình tự khởi tạo 19 | P a g e

Ngày đăng: 28/11/2023, 20:30

w