Gordon CPS 311 - Inpu tOutput System

Unformatted text preview:

CS311 Lecture: The IO System last revised 11/28/11Objectives:1. To discuss issues and options in the design of bus systems.2. To discuss IO control options: programmed, interrupt-driven, DMAI. Introduction-- ------------ A. A complete computer system consists of three major subsystems: 1. The CPU 2. The memory subsystem 3. The IO subsystem Having considered the first two of these, we now turn to the third B. The IO subsystem needs to cope with great diversity, since almost anything can be connected to a computer system as an IO device, and various kinds of devices have widely varying requirements. 1. Some IO devices transfer relatively small quantities of information at a time, while others transfer large quantities of information at a time. Example: mouse button versus a disk block 2. Data rates vary. Example: a keyboard typically transfers only a few bytes per second, even at maximum typing speed; a 1 Gbit ethernet interface may transfer over 100MB per second. 3. Some IO devices require the system to respond to a request for service within a short period of time, or there may be undesirable consequences such as data loss or worse Example: slow response to mouse clicks or key presses is annoying to a user, but a delay of a small fraction of a second will not be noticeable. (Such a delay could correspond to millions of instructions!) Example: a modem typically requires that one received byte be processed before the next byte completely arrives, or the first byte is lost Example: a "fly by wire" airplane may require that the system respond to a certain event within a tightly-contrained time period or the plane may crash. 1C. The following key issues arise in connection with the IO subsystem. 1. The characteristics of the IO devices themselves 2. The way in which IO devices are connected to the rest of the system 3. The strategies used for interaction between the CPU and the IO devices. 4. Ancillary issues such as data compression and encryption. D. We will not spend time on the first and last of these issues. Instead, we will focus on interconnection structures and control regimens. 1. A key design issue in building a computer system is how its various components are CONNECTED. The SPEED at which information flows between the various components of the system can be the determining factor in overall system performance. If system performance is limited by the speed of the interconnection system, then technical improvements to the individual components will not result in performance gains. There are two different measurements which are important in assessing the speed of a given connection system. a. LATENCY refers to the time it takes to actually perform an operation, which includes both setup time and the time to actually transmit the information. i. Certain latency is inherent in the different devices - e.g. the time needed for seek and search on a disk. ii. Some latency is associated with the communication system - e.g. the overhead necessary to initiate a connection between two devices. For a given operation, the total latency is the sum of these two components. b. THROUGHPUT refers to the rate at which data is actually transmitted once the flow of data begins. i. Throughput may be dictated by the device - how fast can it generate or consume data. ii. Throughput may be dictated by the capacity of the communication system. For a given operation, the throughput is the MINIMUM of these two components. Example: A disk may have a latency of (say) 10 ms, but may have a throughput of (say) 10 million bytes / second. In this case, bus latency may be so small as to be insignificant, and bus throughput may be high enough that the transfer rate is determined solely by the disk.22. Because the CPU and IO devices often operate at vastly different speeds, we will also discuss ways to SYNCHRONIZE the CPU with external devices. In particular, because the CPU is much faster than most (but not all) IO devices, we will discuss various approaches to avoiding having the CPU "cool its heels" while a much slower mechanical device is performing an operation. [This is especially important if the device has high latency]. E. Interconnection structures can be characterized in several ways. 1. Parallel versus serial. a. In a PARALLEL CONNECTION, there is one data line for each bit of data being sent over the connection during a given transaction. All the bits of data are transmitted at the same time. b. In a SERIAL CONNECTION, there is just one data line. The data bits are sent over this wire one after another over time. (Also, there usually aren't separate lines for sending addresses - instead, if an address needs to be sent it is sent serially.) c. Thus, a parallel connection uses n wires to transmit n bits of data in one unit of time. A serial connection uses 1 wire to transmit n bits of data in n units of time. d. Historically, parallel connections were used for higher-speed devices (e.g. disks) and serial connections for slower devices (e.g keyboards). Today, however, there are several very fast serial bus technologies, and serial connections are often used even in very high speed situations. Examples: USB, Firewire, Ethernet e. It remains the case that busses inside the system box are almost always parallel, with serial busses often used for connecting external devices. A key reason for the latter is reduction in the total number of wires, which yields cheaper, more flexible cables. f. In our discussion, we will deal primarily with


View Full Document

Gordon CPS 311 - Inpu tOutput System

Download Inpu tOutput System
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Inpu tOutput System and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Inpu tOutput System 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?