TAILIEUCHUNG - Lecture Introduction to computing systems (from bits & gates to C & beyond): Chapter 8 - Yale N. Patt, Sanjay J. Patel

Chapter 8 - Input/Output. The main contents of this chapter include all of the following: I/O basics; input from the keyboard; output to the monitor; a more sophisticated input routine; interrupt-driven I/O; implementation of memory-mapped I/O, revisited. | Chapter 8 Input/Output Basic organization Keyboard input Monitor output Interrupts DMA I/O Basics Definitions Input transfer data from the outside world to the computer: keyboard, mouse, scanner, bar-code reader, etc. Output transfer data from the computer to the outside: monitor, printer, LED display, etc. Peripheral: any I/O device, including disks. LC-2 supports a keyboard and a monitor 8 - Device Registers I/O Interface Through a set of Device Registers: Status register (device is busy/idle/error) Data register (data to be moved to/from device) The device registers can be read/written by the CPU LC-2 KBDR: keyboard data register KBSR: keyboard status register CRTDR: monitor data register CRTST: monitor status register KBSR[15] - keyboard ready (new character available) KBDR[7:0] - character typed (ASCII) CTRSR[15] - CRT ready CTRDR[7:0] - character to be displayed (ASCII) KBSR KBDR CTRSR CTRDR LC-2 8 - Addressing Device Registers Special I/O Instructions Read or write a device register using specialized I/O instructions. Memory Mapped I/O Use existing data movement instructions (Load & Store). Map each device register to a memory address (fixed). CPU communicates with the device registers as if they were memory locations. LC-2 Uses memory mapped I/O CRTSR CRTDR KBDR KBSR xF3FC xF3FF xF401 xF400 LC-2 memory map 8 - Synchronizing CPU and I/O Problem Speed mismatch between CPU and I/O: CPU runs at > 2 GHz, all I/O is much slower. Example : Keyboard input is at irregular intervals. Need a protocol to keep CPU & KBD synchronized Handshake synchronization CPU checks the KBD Ready status bit. If set, CPU reads the data register and resets the Ready bit. Start over. Make CPU-I/O interaction seem to be synchronous 8 - Polling v/s Interrupts (Who’s driving?) Polling - CPU driving CPU checks the ready bit of status register (as per program instructions). If (KBSR[15] == 1) then load KBDR[7:0] to a register. If the I/O device is very slow, CPU is busy .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.