|
|
|
|
|
|
|
I/O Systems Storage Management |
|
|
|
| |
|
|
|
|
Generally, data is distributed over many physical devices. The problem in accessing data is to design a system that is efficient in: |
|
|
|
| |
|
|
|
|
1. Finding the physical location of the required data. |
|
|
|
| |
|
|
|
|
2. Finding a path from the processor memory to the particular physical device that contains the information. |
|
|
|
| |
|
|
|
|
3. Accomplishing (1) and (2) without significantly interfering with the central processor's execution of user programs. |
|
|
|
| |
|
|
|
|
The more complex the overall systemthe more processors involved, the more diverse the memory systemthe more complex is the problem of effective I/O storage system design. |
|
|
|
|
|
|
|
|
|
Figure 9.1
Programmed I/O. Processor
waits until I/O responds to I/O
request. |
|
|
|
|
|
|
|
|
therefore relatively slow. The device controller interfaces to a standard memory bus protocol and assembles I/O data into proper bus protocol data units for use by the processor or memory. |
|
|
|
|
|
|
|
|
The simplest protocol is programmed I/O (Figure 9.1). In this protocol, the processor, upon issuing an I/O request, enters a loop polling the I/O controller status until the data is available. When it is finally available, the controller posts a signal and data is read into the processor, which subsequently stores it in memory. |
|
|
|
|
|
|
|
|
Figure 9.2
Interrupt-driven I/O. Processor
continues after initiating I/O
request. Interrupt from I/O
allows processor to move I/O data
into memory. |
|
|
|
|
|