Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
382 KB
Nội dung
Input /Output Devices Mục tiêu Nắm nguyên lý cấu tạo đặc điểm thiết bị I/O Nhiệm vụ yêu cầu thiết bị I/O Cách giao tiếp CPU thiết bị I/O Hiểu bước trình ngắt quãng : I/O Devices DMA Nắm Chuong 5chế Nội dung Nguyên lý xuất nhập máy tính Cách CPU giao tiếp với thiết bị I/O Ngắt quãng DMA Các thiết bò I/O : Hard Disk,Floopy Disk, Printer, Keyboard,Mouse Chuong : I/O Devices Thiết bị I/O : Thiết bị I/O thiết bị có khả cung cấp liệu CPU yêu cầu tác vụ đọc có khả ghi liệu vào CPU thực thi tác vụ ghi Chuong : I/O Devices Làm CPU nhận biết I/O Mỗi I/O có địa riêng gọi cổng (port) Khi CPU truy xuất I/O , CPU xuất địa Một số bit cao địa vào giải mã, đường bộ giải mã có tín hiệu Chip select tương ứng với I/O mà CPịa muốn xuất Các chỉtruy thấp lại đến I/O có I/O có đường Chip Select tích cực truy xuất Chuong : I/O Devices Sơ đồ giải mã địa Bit cao ADDRESS BUS CPU CPU ROMCS RAMCS I/OCS Các bit thấp Address bus Chuong : I/O Devices Minh hoïa HARD DISK KEYBOARD MONITOR CPU MEMORY FLOPPY DISK VIDEO CONTROLLER KEYBOARD CONTROLLER HARDDISK CONTROLLER BUS Chuong : I/O Devices FLOPPYDISK CONTROLLER CPU liên lạc với thiết bị I/O Thiết bị ngoại vi liên lạc với CPU thông qua cổng I/O Các thiết bị I/O có tốc độ làm việc chậm tốc độ CPU nhiều để khắc phục nhược điểm người ta dùng vùng nhớ đệm Sự truyền thông tin thiết bị I/O CPU thực theo bước : Chuong : I/O Devices CPU liên lạc với thiết bị I/O Bước : truyền thông tin nhớ nhớ đệm Bước : truyền thông tin nhớ đệm thiết bị I/O Chuong : I/O Devices CPU liên lạc với thiết bị I/O Có thể tổ chức để CPU làm việc đồng thời với nhiều thiết bị ngoại vi cách phân chia thời gian Thiết bị I/O Buffer Tín hiệu điều khiển nhớ đệm Chuong : I/O Devices Bộ nhớ Tín hiệu điều khiển t CPU Ngắt quãng (Interrupt) Ngắt (Interrupt) ? : Ngắt làm ngừng chương trình chạy Một interrupt xuất chương trình thực thi bị ngưng Interrupt tạo nhiều lý khác Chuong : I/O Devices 10 Scan code Bàn phím Làm MT phân biệt phím nhấn phím nhả ? Khi nhả phím bị ấn, bàn phím tạo mã scan khác với mã scan lúc phím bị ấn, có giá trị mã trước cộng thêm 128 (80h) , nghóa đổi bit byte mã scan trước từ Ex : ta ấn chữ z , scan code 44 Nhả phím bàn phím Chuong 5172 : I/O Devices 35 tạo mã scan Bộ mã hoá quét ma trận KEY DOWN line To line DEMUX COL1 COL2 COL3 EN 0 Q0 ROW4 ROW3 ROW2 ROW1 line To line DECODER CO DE R TO COL4 1 Q1 Q2 Q3 Bit Counter PU TE R SCAN OSC Chuong : I/O Devices CO M 36 HOẠT ĐỘNG NGẮT QUÃNG CỦA IO Khi IO có yêu cầu giao tiếp với CPU (xuất nhập data), IO kích khởi đường tín hiệu IRQ (Interrupt request) để báo cần phục vụ Các bước tiến trình ngắt quãng : IO có yêu cầu CPU phục vụ, gửi tín hiệu IRQ đến Interrupt controller Nếu có nhiều I/O yêu cầu ngắt , IntController giải yêu cầu chế độ phát ưu tiên IntController tín hiệu đến CPU xin ngắt, CPU hoàn tất lệnh thực , cất giá trị ghi IP CS Chuongđịa : I/Ochỉ Devices 37 vào stack để biết trở sau Liên lạc bàn phím CPU(cont) Cứ lần có tác động ấn phím mạch bàn phím gây ngắt gọi chương trình phục vụ ROM BIOS INT đọc cổng 60H để biết tác động phím xãy (đọc mã scan tương ứng) INT 9h chuyển mã scan thành mã dài bytes , byte thấp chứa mã ASCII : I/O Devices phímChuongđó, byte 38cao HOẠT ĐỘNG NGẮT QUÃNG CỦA I/O CPU yêu cầu mã nhận dạng để biết phục vụ gì? Nhờ mã CPU vào bảng Interrupt vector để biết địa bắt đầu chương trình phục vụ ngắt nằm nhớ CPâu chép địa bắt đầu chương trình phục vụ ngắt vào CS thực thi mã lệnh chương trình Sau thực xong tác vụ ngắt , lệnh cuối INTR, CPU lấy giá trị cũ CS IP stack để tiếp tục thực thi lệnh lại ứng dụng Chuong : I/O Devices 39 Thí dụ minh hoạ interrupt IRQ5 ADAPTER CARD INT CPU I I R M Q R PREORITY CONTROL INTERRUPT ENABLE FLAG I S R IRQ5 CONTROL DATA Chuong : I/O Devices 40 STI CLI Giải thích Card IO yêu cầu phục vụ cách đưa đường tín hiệu IRQ card lên mức Đường IRQ nối với điều khiển ngắt, yêu cầu làm bật bit ghi IRR Interrupt controller so sánh IRR với ghi mặt nạ IMR để xem có cho phép IRQ5 hay không Nếu cho phép kiểm tra tiếp Kiểm tra xem có ngắt có ưu tiên cao IRQ5 hay không Nếu có IRQ5 phải chờ sau ngắt ưu tiên thực xong Chuong : I/O Devices 41 Giải thích (cont) Lệnh EOI xóa bit ghi ISR để IntController tiếp nhận yêu cầu khác Chương trình phục vụ ngắt phát lệnh IRET kết thúc CPU phục hồi giá trị CS IP từ Stack để tiếp tục thực trình trước Chuong : I/O Devices 42 Giải thích (cont) Interrupt controller đưa đường tín hiệu INT lên mức để báo cho CPU biết có ngắt quãng CPU nhận tín hiệu INT, báo lại cho Interrupt controller tín hiệu đồng ý cách đưa tín hiệu INTA mức Sau CPU chấp thuận ngắt, Interrupt controller gửi data cho CPU với trị 0Dh (giả sử IRQ5 tương ứng với ngắt 0Dh) Bật bit ghi phục vụ ISR, xoá bít IRR IRQ5 giải Chuong : I/O Devices 43 Giải thích (cont) CPU tạm dừng trình hành, lưu giá trị CS IP vào stack Nhảy đến địa 0000:4*0Dh , lấy địa offset chương trình phục vụ ngắt 0Dh Nhảy đến nơi chứa lệnh ngắt thực thi lệnh tương ứng cuối chưong trình phục vụ ngắt, CPU gửi giá trị báo kết thúc phục vụ ngắt EOI (End of Interrupt =20h) cho IntControler Chuong : I/O Devices 44 Hard Disk Các thuật ngữ Track Cylinder Sector Cluster track sector Chuong : I/O Devices 45 Hard Disk Chuong : I/O Devices 46 Hệ thống tập tin DOS điều khiển đóa Bảng FAT : (File Allocation Table) Nằm Boot Sector (sector 0) Bảng FAT tạo ta partion đóa cứng Nội dung Bảng FAT mô tả trạng thái cluster tốt hay hư (vật lý), Chuong dùng : I/O Devices hay chưa 47 Summary slide I/O ? Mô tả tiến trình phục vụ ngắt quãng Tính toán vị trí vector ngắt interrupt 20h Viết lệnh sử dụng ngắt 21h , hàm để hiển thị ngày Bảng FAT ? Chuong : I/O Devices 48 Summary slide Thế ngắt nội Cho thí dụ minh họa Khi lập trình, ta thường gọi chương trình phục vụ xuất nhập, lúc ta sử dụng loại ngắt Cách gọi Làm để phân biệt ngắt cứng ngắt mềm Khi dùng INT 21h để hiển thị ký tự hình, ghi chứa ký tự hiển thị? Chuong : I/O Devices 49 ... tràn làm việc vớI số có dấu F000:FF54 FFF54 In hình (BIOS) ,7 dự trữ đến F ngắt chip 8 259 10 F000:F0 65 FF0 65 Vào cho Video (BIOS) 11 F000:F84D FF84D kiểm tra cấu hình tbị (BIOS) 12 F000: F841... (BIOS) Chuong : I/O Devices 16 Hệ thống ngắt IBM PC/XT Ngắt địa logic địa VL công dụng 13 F000:EC59 FEC59 Vào/ra đĩa (BIOS) 14 F000:E739 FE739 vào/ra RS 232 (BIOS) 15 F000:F 859 FF 859 vào/ra cassette... tràn làm việc vớI số có dấu F000:FF54 FFF54 In hình (BIOS) ,7 dự trữ đến F ngắt chip 8 259 10 F000:F0 65 FF0 65 Vào cho Video (BIOS) 11 F000:F84D FF84D kiểm tra cấu hình tbị (BIOS) 12 F000: F841