Computer IO Buses and Interfaces
Computer IO Buses and Interfaces
computer
I/O
Buses
and
Interfaces
General
PC
bus
architecture
Processor
Cache
The
bus
is
a
criBcal
component
of
the
Computer:
• Buses
are
shared
components
that
provide
the
paths
for
all
parts
of
the
computer
to
communicate
with
each
other
• They
can
reduce
the
complexity
of
communicaBons
between
computer
components
• They
contain
conduits
for
data,
“addressing”,
and
Bming/control
• They
need
a
protocol
that
all
users
use
• They
can
provide
an
easy
way
to
evolve
a
computer
system
–
add
components
• They
can
be
a
serious
boMleneck
if
not
designed
and
used
appropriately
• As
systems
grow,
they
need
to
evolve
hierarchically
• They
can
be
parallel
or
serial
• They
can
have
data
widths
larger
than
the
computer
word
length
General
Bus
types
Processor-‐memory
bus
(may
be
proprietary)
Short
and
high
speed
Matched
to
the
memory
system
to
maximize
the
memory-‐processor
bandwidth
OpBmized
for
cache
block
transfers
ReadReq
1
2
Data
addr
data
3
Ack
4
6
5
7
DataRdy
I/O
device
signals
a
request
by
raising
ReadReq
and
pu^ng
the
addr
on
the
data
lines
1. Memory sees ReadReq, reads addr from data lines, and raises Ack
2. I/O device sees Ack and releases the ReadReq and data lines
3. Memory sees ReadReq go low and drops Ack
4. When memory has data ready, it places it on data lines and raises DataRdy
5. I/O device sees DataRdy, reads the data from data lines, and raises Ack
6. Memory sees Ack, releases the data lines, and drops DataRdy
7. I/O
device
sees
DataRdy
go
low
and
drops
Ack
Asynchronous
Bus
Interrupt
Driven
Data
Transfer
Time
esBmate
CPU add
(1) I/O sub user
interrupt and program
or
nop
Memory IOC (2) save PC
0
ROM
DMAC provides;
Peripheral controller Handshake signals Peripherals
Memory Addresses
Handshake signals
DMAC
n
Bus
Standards
6
SIMM
2
DIMM
5
PCI
slots
PenBum
CPU
slots
slots
Disk
Interfaces
• Examples
– ATA
–
AT
AMachment
(named
afer
IBM
PC-‐AT)
(outdated)
– IDE
–
Integrated
Drive
Electronics
(same
as
ATA)
(outdated)
– Enhanced
IDE
(outdated)
• Encompasses
several
older
standards
(ST-‐506/ST-‐412,
IDE,
ESDI,
ATA-‐2,
ATA-‐3,
ATA-‐4)
– Floppy
disk
(outdated)
– SCSI
–
Small
Computer
Systems
Interface
(servers)
(Current)
– ESDI
–
Enhanced
Small
Device
Interface
(mid-‐80s,
obsolete)
(outdated)
– PCMCIA
(outdated)
– SATA
–
serial
ATA
(Current)
– Ethernet
(used
for
network
drives)
(Current)
External
Buses
• Examples
– Parallel
–
someBmes
called
LPT
(“line
printer”)
(outdated)
– Serial
–
typically
RS232C
(someBmes
RS422)
(outdated)
– PS/2
–
for
keyboards
and
mice
(outdated)
– USB
–
Universal
Serial
Bus
(current)
– IrDA
–
Infrared
Device
AMachment
(specialized)
– FireWire
–
very
high
speed,
developed
by
IEEE
(outdated)
CommunicaBons
Buses
History
– a
computer
bus
standard
for
IBM
PC
compaBble
computers
introduced
with
the
IBM
Personal
Computer
to
support
its
Intel
8088
microprocessor's
8-‐bit
external
data
bus
and
extended
to
16
bits
for
the
IBM
Personal
Computer/AT's
Intel
80286
processor
• ConfiguraBon
– Parallel,
mulB-‐drop
Advancements
• EISA
• Extended
ISA
• Design
by
nine
IBM
compeBtors
(AST,
Compaq,
Epson,
HP,
NEC,
Olive^,
Tandy,
WYSE,
Zenith)
• Intended
to
compete
with
IBM’s
MCA
-‐
EISA
is
hardware
compaBble
with
ISA
• MCA
• Micro
Channel
Architecture
• Introduced
by
IBM
in
1987
as
a
replacement
for
the
AT/ISA
bus
• History
– In
the
context
of
PCs,
a
“parallel
interface”
implies
a
Centronics-‐
compaBble
printer
interface
– Originally
developed
by
printer
company,
Centronics
– Introduced
on
the
IBM
PC
(1981)
as
an
LPT
(“line
printer”)
port
– Improvements
• EPP
(Enhanced
Parallel
Port),
development
by
Intel,
Xircom,
Xenith
• Enshrined
in
the
standard
IEEE-‐1284
(1994)
– “Standard
Signaling
Method
for
a
Bi-‐direcBonal
Parallel
Peripheral
Interface
for
Personal
Computers”
– Includes
Centronics/LPT
mode,
EPP
mode,
and…
– ECP
mode
(Enhanced
Capability
Port)
• Data
Rate
– 150
Kbytes/s
(LPT)
to
1.5
Mbytes/s
(ECP)
• ConfiguraBon
– Parallel,
point-‐to-‐point
SCSI
• Small
Computer
Systems
Interface
• History
– Developed
by
Shugart
Associates
(1981)
– Originally
called
Shugart
Associates
Systems
Interface
(SASI,
pronounced
“sassi”)
– Scaled
down
version
of
IBM’s
System
360
Selector
Channel
– Became
an
ANSI
standard
in
1986
• Used
for…
– Disk
drives,
CD-‐ROM
drives,
tape
drives,
scanners,
printers,
etc.
• ConfiguraBon
– Parallel,
daisy
chain
– Requires
terminator
at
end
of
chain
• Versions
(data
width,
data
rate)
– SCSI-‐1,
Narrow
SCSI
(8
bits,
5
MBps)
– SCSI-‐2
(8,
bits
10
MBps)
– SCSI-‐3
(8,
bits,
20
MBps)
– UltraWide
SCSI
(16
bits,
40
MBps)
– Ultra2
SCSI
(8
bits
40
MBps)
– Wide
Ultra2
SCSI
(16
bits,
80
MBps)
Ethernet
• History
– In
1980,
Xerox,
Digital
Equipment
CorporaBon
(DEC,
now
Compaq),
and
Intel
published
a
specificaBon
for
an
“Ethernet”
LAN
(local
area
network)
– Now
exists
as
a
standard
-‐
IEEE
802.3
• Physical
interface
uses
either
coax
cable
with
BNC
connectors
or
twisted
pair
cable
with
RJ-‐45
connectors
(10Base-‐T)
– Fast
Ethernet
• Specified
in
IEEE
802.3u
(100Base-‐TX)
• Data
Rate
– 10
Mbits/s
for
Ethernet
(10Base-‐T)
– 100
Mbits/s
for
Fast
Ethernet
(100Base-‐T)
– 1000
Mbits/s
for
Gigabit
Ethernet
(1000Base-‐T)
• ConfiguraBon
– Serial,
mulB-‐point
(token
ring
or
token
bus)
USB
• History
– Universal
Serial
Bus
(USB)
is
an
industry
standard
developed
in
the
mid-‐1990s
– Versions
=
USB
1.x,
USB
2.0,
USB
3.0,
USB
3.1
• Data
Rate
/
Power
– USB1.x
-‐
1.5
Mbit/s
(Low-‐Bandwidth)
and
12
Mbit/s
(Full-‐Bandwidth),
/
100
-‐
500mA
– USB2.0
-‐
35
MB/s
or
280
Mbit/s,
/1.5
up
to
5A
– USB3.0
-‐
up
to
4
Gbit/s
(500
MB/s),
/low
power
150
mA
and
900
mA,
up
to
hi
power
5A.
– USB3.1
-‐
10
Gbps,/
up
to
2
A
at
5
V,
up
to
5
A
at
either
12
V
(60
W)
or
20
V
(100
W)
• ConfiguraBon
– Serial,
hub,
Bered
star