Computer Architecture CSE 3322Lecture 24
Homework Due May 5: 5.8.4(a), 5.11.1I/O 1. I/O 2, ( see Handout / Web Site
Five Components of Computers
Input
Output
MemoryControl
Datapath
Processor
Input / Output Technology
• Human input interface Data Rate (Mbit/sec)*• Keyboard 0.0001• Mouse 0.0038• Speech 0.2640
* I/O data rates are usually given in base 10K = 1,000 and M = 1,000,000
instead of base 2 like memory and some transfer rates K = 1,024 and M = 1,024 x 1,024
•Human output interface Data Rate (Mbits/sec)• Printer
• Image: laser printer, ink jet printer 3.2
• Audio• sounds, music, speech 8.0
• Display• High Resolution Color Graphics Display 800-8000
Input / Output Technology
Input / Output Technology
• Data Storage Data Rate ( Mbits/sec)• Optical Disks 80-220• Magnetic Tapes 5-120• Hard Disks 800-3000
Input / Output Technology
• Communications Data Rate ( Mbits/sec)• Modem 0.128-6.0• Network / LAN 100-10,000
Input / Output Technology
• Extremely Diverse• Response times• Data rates• Size of blocks of data
Input / Output Technology
• Extremely Diverse• Response times• Data rates• Size of blocks of data
• Requires Flexibility of Configuration• Unknown I/O may be added• Requires expandability
Input / Output Technology
• Extremely Diverse• Response times• Data rates• Size of blocks of data
• Requires Flexibility of Configuration• Unknown I/O may be added• Requires expandability
• Most Require Critical Timing• Sustain data rates• Acceptable response time
How can we connect I/O to the computer ?
How can we connect I/O to the computer ?
Dedicated Register ( I/O port) for each device
I/O Register
How can we connect I/O to the computer ?
Dedicated Register ( I/O port) for each device
I/O Register
Special instructions to transfer data in and out of the register
How can we connect I/O to the computer ?
Dedicated Register ( I/O port) for each device
I/O Register
Special instructions to transfer data in and out of the register
I/O device transfers data in and outof the register
How can we connect I/O to the computer ?
Dedicated Register ( I/O port) for each device
I/O Register
Special instructions to transfer data in and out of the register
I/O device transfers data in and outof the register
Need control protocol and some control means
How can we connect I/O to the computer ?
A Bus - A shared communication link
How can we connect I/O to the computer ?
A Bus - A shared communication link
ExamplesRegister File BusMemory Bus
How can we connect I/O to the computer ?
A Bus - A shared communication link
ExamplesRegister File BusMemory Bus
• Shared Data and Address and Control lines ( wires)by many I/O controllers/devices
How can we connect I/O to the computer ?
A Bus - A shared communication link
ExamplesRegister File BusMemory Bus
• Shared Data and Address and Control lines ( wires)by many I/O controllers/devices
• Expandability, Expandability, Expandability
How can we connect I/O to the computer ?
A Bus - A shared communication link
ExamplesRegister File BusMemory Bus
• Shared Data and Address and Control lines ( wires)by many I/O controllers/devices
• Expandability, Expandability, Expandability• Standard I/O bus interfaces enable third party
development
CPU/Memory
Control
Data
I/O 1 I/O 2 I/O 3
I/O bus
CPU/Memory
Control
Data
I/O 1 I/O 2 I/O 3
I/O bus
Typical bus transaction1. CPU initiates a transfer with a selected I/O using Control
CPU/Memory
Control
Data
I/O 1 I/O 2 I/O 3
I/O bus
Typical bus transaction1. CPU initiates a transfer with a selected I/O using Control2. The Address is sent using Data ( Multiplexed)
CPU/Memory
Control
Data
I/O 1 I/O 2 I/O 3
I/O bus
Typical bus transaction1. CPU initiates a transfer with a selected I/O using Control2. The Address is sent using Data ( Multiplexed)3. The data is sent / received using Data
CPU/Memory
Control
Data
I/O 1 I/O 2 I/O 3
I/O bus
Typical bus transaction1. CPU initiates a transfer with a selected I/O using Control2. The Address is sent using Data ( Multiplexed)3. The data is sent / received using Data
Control lines control the timing, starting and completion
Processor MemoryProcessor Memory bus
I/ODevice
Connecting to CPU / Memory
1. The processor- memory bus• I/O conforms to the memory controls
( Memory Mapped)
Connecting to CPU / Memory
1. The processor- memory bus• I/O conforms to the memory controls• Fastest bandwidth – Direct to CPU
Connecting to CPU / Memory
1. The processor- memory bus• I/O conforms to the memory controls• Fastest bandwidth – Direct to CPU• Very restricted length – few inches
Connecting to CPU / Memory
1. The processor- memory bus• I/O conforms to the memory controls• Fastest bandwidth – Direct to CPU• Very restricted length – few inches• Loading and noise are major problems
Connecting to CPU / Memory
1. The processor- memory bus• I/O conforms to the memory controls• Fastest bandwidth – Direct to CPU• Very restricted length – few inches• Loading and noise are major problems• Processor & Memory design specific
Processor MemoryProcessor-memory bus
I/ODevice
BusAdapter
I/ODevice
I/ODevice
Expansion bus
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus
• Plug in Device Controller Card
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus
• Plug in Device Controller Card• Standard Spec’s (PCI, PCMCIA)
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus
• Plug in Device Controller Card• Standard Spec’s (PCI, PCMCIA)• Bus adapter to processor - memory bus
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus
• Plug in Device Controller Card• Standard Spec’s (PCI, PCMCIA)• Bus adapter to processor - memory bus• Length of several inches
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus
• Plug in Device Controller Card• Standard Spec’s (PCI, PCMCIA)• Bus adapter to processor - memory bus• Length of several inches• Can be different clock rate
Processor MemoryProcessor-memory bus
I/ODevice
BusAdapter
I/ODevice
I/ODevice
BusAdapter
I/ODevice
I/ODevice
Expansion bus
I/O Bus
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus3. I/O bus
• Standard intelligent controller and interface
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus3. I/O bus
• Standard intelligent controller and interface• SCSI (parallel / serial) and USB ( serial)
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus3. I/O bus
• Standard intelligent controller and interface• SCSI (parallel / serial) and USB ( serial)• Simple low level interface
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus3. I/O bus
• Standard intelligent controller and interface• SCSI (parallel / serial) and USB ( serial)• Simple low level interface• Typically connects to Expansion bus
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus3. I/O bus
• Standard intelligent controller and interface• SCSI (parallel / serial) and USB ( serial)• Simple low level interface• Typically connects to Expansion bus• Length of several feet
Connecting to CPU / Memory
1. The processor - memory bus2. Backplane bus or Expansion bus3. I/O bus
• Standard intelligent controller and interface• SCSI (parallel / serial) and USB ( serial)• Simple low level interface• Typically connects to Expansion bus• Length of several feet• May enable stand-alone device to device transfers
Processor MemoryProcessor-memory bus
I/ODevice
BusAdapter
I/ODevice
I/ODevice
BusAdapter
I/ODevice
I/ODevice
Expansion bus
I/O Bus
I/O Bus ExamplesFirewire USB 2.0 PCI Express Serial ATA Serial
Attached SCSI
Intended use External External Internal Internal External
Devices per channel
63 127 1 1 4
Data width 4 2 2/lane 4 4
Peak bandwidth
50MB/s or 100MB/s
0.2MB/s, 1.5MB/s, or 60MB/s
250MB/s/lane1×, 2×, 4×, 8×, 16×, 32×
300MB/s 300MB/s
Hot pluggable
Yes Yes Depends Yes Yes
Max length 4.5m 5m 0.5m 1m 8m
Standard IEEE 1394 USB Implementers Forum
PCI-SIG SATA-IO INCITS TC T10
Typical x86 PC I/O System
VGA Controller