CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.
-
Upload
irvin-luman -
Category
Documents
-
view
214 -
download
0
Transcript of CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.
![Page 1: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/1.jpg)
CS61C L13 I/O © UC Regents
1
CS 161 Chapter 8 - I/O
Lecture 17
![Page 2: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/2.jpg)
CS61C L13 I/O © UC Regents
2
Anatomy: 5 components of any Computer
Processor (active)
Computer
Control(“brain”)
Datapath(“brawn”)
Memory(passive)
(where programs, data live whenrunning)
Devices
Input
Output
Keyboard, Mouse
Display, Printer
Disk (where programs, data live when not running)
![Page 3: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/3.jpg)
CS61C L13 I/O © UC Regents
3
I/O Device Examples and Speeds° I/O Speed: bytes transferred per second
(from mouse to display: million-to-1)
° Device Behavior Partner Data Rate (Mbit/sec)
Keyboard Input Human 0.0001Mouse Input Human 0.0038Laser Printer Output Human 3.2.000Magnetic Disk Storage Machine 240-2560Modem I or O Machine 0.016-0.064Network-LAN I or O Machine 100-1000Graphics Display Output Human 800-8000
See Fig. 8.2 Text
![Page 4: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/4.jpg)
CS61C L13 I/O © UC Regents
4
Buses in a PC: connect a few devices
CPU Memory bus
MemorySCSI:
External I/O bus
(1 to 15 disks)
SCSI Interface
Ethernet Interface
Ethernet Local Area Network
°Data rates• Memory: 133 MHz, 8 bytes 1064 MB/s (peak)
• PCI: 33 MHz, 8 bytes wide 264 MB/s (peak)
• SCSI: “Ultra3” (80 MHz), “Wide” (2 bytes) 160 MB/s (peak)
Ethernet:12.5 MB/s (peak)
PCI Interface
PCI: Internal
(Backplane) I/O bus
![Page 5: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/5.jpg)
CS61C L13 I/O © UC Regents
5
![Page 6: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/6.jpg)
CS61C L13 I/O © UC Regents
6
Disk Device Terminology
° Several platters, with information recorded magnetically on both surfaces (usually)
° Actuator moves head (end of arm,1/surface) over track (“seek”), select surface, wait for sector rotate under head, then read or write
• “Cylinder”: all tracks under heads
° Bits recorded in tracks, which in turn divided into sectors (e.g., 512 Bytes)
Platter
OuterTrack
InnerTrackSector
Actuator
HeadArm
![Page 7: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/7.jpg)
CS61C L13 I/O © UC Regents
7
Disk Device Performance
Platter
Arm
Actuator
HeadSectorInnerTrack
OuterTrack
°Disk Latency = Seek Time + Rotation Time + Transfer Time + Controller Overhead
° Seek Time? depends no. tracks move arm, seek speed of disk
° Rotation Time? depends on speed disk rotates, how far sector is from head
° Transfer Time? depends on data rate (bandwidth) of disk (bit density), size of request
ControllerSpindle
![Page 8: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/8.jpg)
CS61C L13 I/O © UC Regents
8
Disk Device Performance
°Average distance sector from head?
°1/2 time of a rotation• 7200 Revolutions Per Minute 120 Rev/sec
• 1 revolution = 1/120 sec 8.33 milliseconds
• 1/2 rotation (revolution) 4.16 ms
°Average no. tracks move arm?• Sum all possible seek distances from all possible tracks / # possible
- Assumes average seek distance is random
• Disk industry standard benchmark
![Page 9: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/9.jpg)
CS61C L13 I/O © UC Regents
9
Disk Performance Model /Trends° Capacity
+ 100%/year (2X / 1.0 yrs)
°Transfer rate (BW)+ 40%/year (2X / 2.0 yrs)
°Rotation + Seek time– 8%/ year (1/2 in 10 yrs)
°MB/$> 100%/year (2X / <1.5 yrs)
Fewer chips + areal density
![Page 10: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/10.jpg)
CS61C L13 I/O © UC Regents
10
![Page 11: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/11.jpg)
CS61C L13 I/O © UC Regents
11
Disk Performance
°Calculate time to read 1 sector (512B) for UltraStar 72 using advertised performance; sector is on outer track
Disk latency = average seek time + average rotational delay + transfer time + controller overhead
= 5.3 ms + 0.5 * 1/(10000 RPM) + 0.5 KB / (50 MB/s) + 0.15 ms
= 5.3 ms + 0.5 /(10000 RPM/(60000ms/M))
+ 0.5 KB / (50 KB/ms) + 0.15 ms
= 5.3 + 3.0 + 0.10 + 0.15 ms = 8.55 ms
![Page 12: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/12.jpg)
CS61C L13 I/O © UC Regents
12
Instruction Set Architecture for I/O°Some machines have special input and output instructions
°Alternative model (used by MIPS):• Input: ~ reads a sequence of bytes
• Output: ~ writes a sequence of bytes
°Memory also a sequence of bytes, so use loads for input, stores for output
• Called “Memory Mapped Input/Output”
• A portion of the address space dedicated to communication paths to Input or Output devices (no memory there)
![Page 13: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/13.jpg)
CS61C L13 I/O © UC Regents
13
Memory Mapped I/O°Certain addresses are not regular memory
° Instead, they correspond to registers in I/O devices
0
0xFFFFFFFF
0xFFFF0000 cmd reg.data reg.
address
![Page 14: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/14.jpg)
CS61C L13 I/O © UC Regents
14
Processor-I/O Speed Mismatch°500 MHz microprocessor can execute 500 million load or store instructions per second, or 2,000,000 KB/s data rate
• I/O devices from 0.01 KB/s to 30,000 KB/s
° Input: device may not be ready to send data as fast as the processor loads it
• Also, might be waiting for human to act
°Output: device may not be ready to accept data as fast as processor stores it
°What to do?
![Page 15: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/15.jpg)
CS61C L13 I/O © UC Regents
15
Processor Checks Status before Acting: Polling
° Path to device generally has 2 registers:
• 1 register says it’s OK to read/write (I/O ready), often called Control Register
• 1 register that contains data, often called Data Register
° Processor reads from Control Register in loop, waiting for device to set Ready bit in Control reg to say its OK (0 1)
° Processor then loads from (input) or writes to (output) data register
• Load from device/Store into Data Register resets Ready bit (1 0) of Control Register
![Page 16: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/16.jpg)
CS61C L13 I/O © UC Regents
16
Cost of Polling?°Assume for a processor with a 500-MHz clock it takes 400 clock cycles for a polling operation (call polling routine, accessing the device, and returning). Determine % of processor time for polling
• Mouse: polled 30 times/sec so as not to miss user movement
• Floppy disk: transfers data in 2-byte units and has a data rate of 50 KB/second. No data transfer can be missed.
• Hard disk: transfers data in 16-byte chunks and can transfer at 8 MB/second. Again, no transfer can be missed.
![Page 17: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/17.jpg)
CS61C L13 I/O © UC Regents
17
% Processor time to poll mouse, floppy°Mouse Polling Clocks/sec
= 30 * 400 = 12000 clocks/sec
% Processor for polling = 12*103/500*106 = 0.002% Polling mouse little impact on processor
°Times Polling Floppy/sec = 50 KB/s /2B = 25K polls/sec
Floppy Polling Clocks/sec
= 25K * 400 = 10,000,000 clocks/sec
% Processor for polling = 10*106/500*106 = 2%
OK if not too many I/O devices
![Page 18: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/18.jpg)
CS61C L13 I/O © UC Regents
18
% Processor time to hard disk°Times Polling Disk/sec
= 8 MB/s /16B = 500K polls/sec
Disk Polling Clocks/sec= 500K * 400 = 200,000,000 clocks/sec
% Processor for polling: 200*106/500*106 = 40%
Unacceptable
![Page 19: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/19.jpg)
CS61C L13 I/O © UC Regents
19
What is the alternative to polling? Interrupt°Wasteful to have processor spend most of its time “spin-waiting” for I/O to be ready
°Wish we could have an unplanned procedure call that would be invoked only when I/O device is ready
°Solution: use exception mechanism to help I/O. Interrupt program when I/O ready, return when done with data transfer
![Page 20: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/20.jpg)
CS61C L13 I/O © UC Regents
20
Interrupt Driven Data Transfer
(1) I/Ointerrupt
(2) save PC
(3) interruptservice addr
Memory
addsubandor
userprogram
readstore...jr
interruptserviceroutine
(4)
(5)
![Page 21: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/21.jpg)
CS61C L13 I/O © UC Regents
21
Benefit of Interrupt-Driven I/O°500 clock cycle overhead for each
transfer, including interrupt. Find the % of processor consumed if the hard disk is only active 5% of the time.
° Interrupt rate = polling rate• Disk Interrupts/sec = 8 MB/s /16B
= 500K interrupts/sec
• Disk Polling Clocks/sec = 500K * 500 = 250,000,000 clocks/sec
• % Processor for during transfer: 250*106/500*106= 50%
°Disk active 5% 5% * 50%2.5% busy
![Page 22: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/22.jpg)
CS61C L13 I/O © UC Regents
22
4 Responsibilities leading to OS°The I/O system is shared by multiple
programs using the processor
°Low-level control of I/O device is complex because requires managing a set of concurrent events and because requirements for correct device control are often very detailed
° I/O systems often use interrupts to communicate information about I/O operations
°Would like I/O services for all user programs under safe control
![Page 23: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/23.jpg)
CS61C L13 I/O © UC Regents
23
Direct Memory Access (DMA)° How to transfer data between a Device and
Memory? Wastage of CPU cycles if done through CPU.
° Let the device controller transfer data directly to and from memory => DMA
° The CPU sets up the DMA transfer by supplying the type of operation, memory address and number of bytes to be transferred.
° The DMA controller contacts the bus directly, provides memory address and transfers the data
° Once the DMA transfer is complete, the controller interrupts the CPU to inform completion.
° Cycle Stealing – Bus gives priority to DMA controller thus stealing cycles from the CPU
![Page 24: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/24.jpg)
CS61C L13 I/O © UC Regents
24
Why Networks?°Originally sharing I/O devices between computers
(e.g., printers)
°Then Communicating between computers
(e.g, file transfer protocol)
°Then Communicating between people (e.g., email)
°Then Communicating between networks of computers Internet, WWW
![Page 25: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/25.jpg)
CS61C L13 I/O © UC Regents
25
What makes networks work?° links connecting switches to each other and to computers or devices
Computer
networkinterface
switch
switch
switch
°ability to name the components and to route packets of information - messages - from a source to a destination
°Layering, protocols, and encapsulation as means of abstraction
![Page 26: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/26.jpg)
CS61C L13 I/O © UC Regents
26
Typical Types of Networks°Local Area Network (Ethernet)• Inside a building: Up to 1 km
• (peak) Data Rate: 10 Mbits/sec, 100 Mbits /sec,1000 Mbits/sec (1.25, 12.5, 125 MBytes/s)
• Run, installed by network administrators
°Wide Area Network• Across a continent (10km to 10000 km)
• (peak) Data Rate: 1.5 Mbits/sec to 2500 Mbits/sec
• Run, installed by telephone companies
°Wireless Networks, ...
![Page 27: CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.](https://reader035.fdocuments.net/reader035/viewer/2022070308/551c45dd550346a5458b4797/html5/thumbnails/27.jpg)
CS61C L13 I/O © UC Regents
27
ABCs: many computers
°switches and routers interpret the header in order to deliver the packet
°source encodes and destination decodes content of the payload
networkinterfacedevice
OS
appln
OS
appln