Cấu trúc máy tính là một mảng kiến thức nghiên cứu về cách xử lý của một hệ thống máy tính dưới cách nhìn của một lập trình viên. Cách nhìn này thực tế cũng có nhiều khía cạnh
Bµi 5Ng¾t vµ Chip ®iÒu khiÓn ng¾t 8259 1. Giới thiệu2. Tổ chức ngắt ở máy tính XT3. Chip điều khiển ngắt 82594. Từ lệnh khởi tạo và Từ lệnh điều khiển hoạt động của 82595. Nối ghép 8259 ở máy tính IBM PC XT6. Ngắt ở máy tính 286 về sau7. Minh họa hoạt động ngắt bàn phím và nhập dữ liệu từ bán phím BUSHình 1: Hệ thống hỗ trợ Vào/RaHệ máy vi tínhBộ vi xử lýBộ nhớHT hỗ trợ I/OPORTMáy inổ đĩaBànphím 1. Giới thiệu Máy tính IBM PC XT thực hiện vào/ra qua các cổng nhờ có hệ thống hỗ trợ vào/ra. Hệ thống hỗ trợ vào/ra chủ yếu gồm:- Chip điều khiển ngắt 8259- Chip điều khiển vào ra 8255- Chip định thời 8253 Có 2 phương pháp thực hiện vào/ra: - Phương pháp thăm dò- Phương pháp ngắt Phương pháp thăm dò: Bộ VXL liên tục kiểm tra tình trạng của thiết bị qua cổng I/O và khi có thiết bị yêu cầu thì tiến hành phục vụ thiết bị. Phục vụ xong, bộ VXL chuyển sang kiểm tra trạng thái của thiết bị tiếp theo cho đến khi tất cả đều được phục vụ. Nhược điểm của phương pháp thăm dò: Chiếm nhiều thời gian của bộ VXL. Phục vụ thiết bị không theo thứ tự ưu tiên mà theo thứ tự định sẵn Phương pháp ngắt: Khi có một thiết bị cần được phục vụ thì thiết bị sẽ báo cho bộ VXL bằng cách gửi một tín hiệu ngắt. Khi nhận được tín hiệu này, bộ VXL ngừng mọi công việc đang thực hiện để chuyển sang phục vụ thiết bị. Mỗi ngắt có Chương trình con phục vụ ngắt ISR (Interrupt Service Routine) được đặt trong bộ nhớ. Ưu điểm của phương pháp ngắt: Bộ VXL phục vụ thiết bị dựa theo mức ưu tiên được gán cho thiết bị. Khi thiết bị có yêu cầu được phục vụ, bộ VXL vẫn có thể bỏ qua. Tiết kiệm thời gian cho bộ VXL. Bộ VXL có thể thực hiện được nhiều công việc khác trước khi phục vụ thiết bị. 003FC0001800014000100000C000080000400000INT FFINT 06INT 05INT 04 INT 03INT 02INT 01INT 00Bè trÝ ng¾t cña bé vi xö lý 8088/8086CSIPCSIPCSIPCSIP 2. Tæ chøc Ng¾t cña m¸y tÝnh IBM PC XT Ngắt của máy tính XT 8088/86 có tất cả 256 ngắt được đặt tên từ INT 00, INT 01, . , INT FFH. Khi thực hiện một ngắt, CPU tự động: Lưu các thanh ghi cờ, con trỏ lệnh và thanh ghi đoạn mã vào ngăn xếp. Chuyển điều khiển tới địa chỉ xác định trong bộ nhớ để thực hiện chương trình con phục vụ ngắt gọi là ISR. [...]... đó. Trong bảng vectơ ngắt của máy tính XT, 2 byte thấp lu IP, 2 byte cao tiÕp theo lu CS. d) Nếu "INT 50H" được gán cho IR0, INT 51H cho IR1 và INT 52H cho IR2 thì các vị trị nhớ ứng với các IR sẽ như sau: IRQ(8259) INT Địa chỉ logic Địa chỉ vật lý IR0 50H 0000:0140H-0143 00140H-00143 IR1 51H 0000:0144H-0147 00144H-00147 IR2 52H 0000:0148H-014B 00148H-0014B Phân loại ngắt Ngắt... bàn phím (BIOS) Vào/ra máy in song song (BIOS) Nạp ROM BASIC Nạp bẫy-khởi động (BIOS) Thời gian hệ thống (BIOS) Điều khiển Ctrl-Brk Kiểm soát bộ định thời Bảng các tham số video Bảng các tham số đĩa mềm Bảng ký tự đồ hoạ ((DOS 3.0 trở lên) Kết thúc chương trình DOS Gọi chức năng DOS Địa chỉ kết thúc DOS Địa chỉ thoát Ctrl-Brk DOS Vec tơ xử lý lỗi Vào/ra đĩa (BIOS) Vào/ra RS-232 (BIOS) Vào/ra cassette... thị màn hình Vào: AH = 0 AL =kiểu (xem bảng 12.2) Ra: Không Hàm 1h: Thay đổi kích thước của con trỏ. Vào: CH = dòng bắt đầu của con trỏ (các bit từ 4 - 0) CL = dßng kÕt thóc cđa con trá (các bit từ 4 - 0) Ra: Không Bảng 1 1-7 . Ngắt cứng của máy tính IBM PC/XT Dạng nhị phân của ICW2 8259 Interrupt Input INT D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 0 0 0 IR0 INT08 0 0 0 0 1 0 0 1 IR1 INT09 0 0 0 0 1 0... Địa chỉ cổng ICW2, ICW3, ICW4 1 0 0 0 0 1 x x x x 0 20 Địa chỉ cổng OCW2, OCW3 1 0 0 0 0 1 x x x x 1 21 Địa chỉ cổng OCW1 Bảng 1 1-6 . Địa chỉ cổng của các ICW và OCW AEN BUS Hình 1: Hệ thống hỗ trợ Vào/Ra Hệ máy vi tính Bộ vi xử lý Bộ nhớ HT hỗ trợ I/O PORT Máy in ổ đĩa Bàn phím 1. Giíi thiƯu 0 X Không đệm 1 0 Đệm tớ 1 1 Đệm chñ 1= for x86 0= for 8085 1= Auto EOI 0=Normal EOI 1 0 0 0... riêng Là chế độ 8259 được lập trình để thực hiện theo trình tự riêng chứ không theo trình tự ngầm định IR0 - IR7. 6. nèI GHÐP 8259 ë M¸Y TÝNH ibm pc xt 8259A 74LS138 A5 A6 A7 A8 A0 A9 AEN CS A0 A B Y1 C E1 E2 E3 Hình 1 1-8 . Mạch chọn chip cña 8259A Có 4 từ lệnh khởi tạo ICW1-ICW4 Địa chỉ cổng các ICW CS A0 Khởi tạo 0 0 ICW1 0 1 ICW2, ICW3, ICW4 1 x Không chọn 8259 4. Từ lệnh khởi... Giải a). Địa chỉ cổng 0101.010 0 = 54H ICW1 0101.010 1 =55H ICW2, ICW3, ICW4 b) Tõ h×nh 1 1-6 chóng ta cã: ICW1 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 1 0 1 1 = 1BH Hình 11.4 Mạch điều khiển ngắt 8259 D0 -D7 AO.C S RD WR SP/E N CAS 0.12 INT INTA Logic ®iỊu khiĨn ISR PR IRR IM R BUS IR0-IR7 Bé ®Ưm d÷ liƯu Khèi logic (®äc ghi) Bộ đệm cascad Các yêu cầu ngắt 3. Chip... 8259 (đĩa mềm) IRQ7 của 8259 (cổng LPT1) Vào/ra cho Video (BIOS) Kiểm tra cấu hình thiết bị (BIOS) Kiểm tra kích thước bé nhí (BIOS) 003FC 00018 00014 00010 0000C 00008 00004 00000 INT FF INT 06 INT 05 INT 04 INT 03 INT 02 INT 01 INT 00 Bè trÝ ng¾t cđa bé vi xư lý 8088/8086 CS IP CS IP CS IP CS IP 2. Tổ chức Ngắt của máy tính IBM PC XT Một số ngắt thường gặp INT 00 (phép chia 0) Thuộc nhóm... Bộ đệm cascad Các yêu cầu ngắt 3. Chip điều khiĨn ng¾t 8259 Ví dụ: Viết đoạn chương trình khảo sát bộ nhí qui íc m¸y tÝnh IBM PC XT. INT 12H INT 3H INT 20 H Trình tự thực hiện ngắt ở máy tính XT 1.Khi một IR được kích hoạt, 8259 sẽ đáp lại bằng cách đặt INTR (8259) lên mức cao để thông báo cho CPU biết có yêu cầu ngắt. 2.8088/86 đặt mức điện áp tư ơng ứng lên S0, S1 và S2 (S0 =... các yêu cầu ngắt khác, và cuối cùng đẩy các thanh ghi CS:IP vào ngăn xếp. 9.8088/86 đọc CS:IP của ISR trong bảng vectơ ngắt và bắt đầu thực hiện ISR này Bảng 11.2. Địa chỉ ISR của các ngắt ở máy tính XT Ngắt 0 1 2 3 4 5 6,7 8 9 A B C D E F 10 11 12 Địa chỉ LG 00E3:3072 0600:08ED F000:E2C3 0600:08E6 0700:0147 F000:FF54 F000:FEA5 F000:E987 F000:EF57 F070:0147 F000:F065 F000:F84D F000:F841 Địa... ngắt thường gặp INT 00 (phép chia 0) Thuộc nhóm ngắt ngoại lệ (exception interrupts). Khi gặp phép chia 0, CPU gọi INT 0. INT0 hiển thị thông báo DIVIDE “ ERROR” VÝ dô: MOV AL,92 SUB CL,CL DIV CL Bài 5 Ngắt và Chip điều khiển ngắt 8259 Ưu điểm của phương pháp ngắt: Bộ VXL phục vụ thiết bị dựa theo mức ưu tiên được gán cho thiết bị. Khi thiết bị có yêu cầu đư ợc phục vụ, bộ VXL . lạiCó thể đặt lạiCó thể đặt lạiFEC59FE40 1-- -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - Vào/ra đĩa (XT)Các tham số đĩa cứngDự trữ cho. lạiPSP:000APSP:000EPSP:0012FE82EFEFD2F6000FE6F2FFE6E00840FFF53FF0A4005220193 7-- -- - -- - -- - -- - -- - -- - -- - -- Vào/ra bàn phím (BIOS)Vào/ra máy in song song (BIOS)Nạp ROM BASICNạp bẫy-khởi động (BIOS)Thời gian