0% found this document useful (0 votes)
192 views

Computer IO Buses and Interfaces

The document discusses standard computer I/O buses and interfaces. It describes the general PC bus architecture and how the processor, memory, and I/O devices communicate via different types of buses. It then covers key characteristics of buses like data and control lines, synchronous vs asynchronous protocols, and direct memory access. The document provides details on bus design considerations and standards to facilitate communication between computer components.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
192 views

Computer IO Buses and Interfaces

The document discusses standard computer I/O buses and interfaces. It describes the general PC bus architecture and how the processor, memory, and I/O devices communicate via different types of buses. It then covers key characteristics of buses like data and control lines, synchronous vs asynchronous protocols, and direct memory access. The document provides details on bus design considerations and standards to facilitate communication between computer components.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Standard

 computer  
I/O  Buses  and  Interfaces  
General  PC  bus  architecture  

Processor      

Cache  

Memory  -­‐  I/O  Bus      

Main   I/O   I/O  


Memory   Controller   Controller  
(DRAM)  
   
Disk   …   Disk   Disk   …   Disk  

   
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  
 

Backplane  bus  (may  be  industry  standard)  


The  backplane  is  an  interconnecBon  structure  within  the  chassis  
Used  as  an  intermediary  bus  connecBng  I/O  busses  to  the  processor-­‐memory  bus  
 
I/O  bus  (industry  standard,  e.g.,  SCSI,  PCI-­‐e,USB,  Hypertransport)  
Usually  is  lengthy  and  slower  
Needs  to  accommodate  a  wide  range  of  I/O  devices  
Connects  to  the  processor-­‐memory  bus  or  backplane  bus  
Bus  CharacterisBcs  
Control  lines:  Master  ini@ates  requests  
Bus   Data  lines:  Data  can  go  either  way   Bus  
Master   Slave  

•  Data  &  Address  lines  


–  Data,  addresses,  and  complex  commands  
•  Control  lines  
–  Signal  requests  and  acknowledgments  
–  Indicate  what  type  of  informaBon  is  on  the  data  lines  
•  Bus  transacBon  consists  of  
–  Master  issuing  the  command  (and  address)    –  request  
–  Slave  receiving  (or  sending)  the  data      –  acBon  
–  Defined  by  what  the  transacBon  does  to  memory  
•  Input  –  inputs  data  from  the  I/O  device  to  the  memory  
•  Output  –  outputs  data  from  the  memory  to  the  I/O  device  
Bus  design  consideraBons:  
 
Accessibility  
Speed  
Reliability  
Extensibility  
BoMle  necks  
Noise  (electrical)  
Flexibility  
Ease  of  Interfacing  
Power  
Sharability  
CommunicaBon  Protocol  
Length  
Bus  CommunicaBons  
•  Bus  Protocols  
–  Asynchronous  
–  Synchronous  
–  Memory  Read  /  Writes    
–  I/O  Read  Writes  
–  Peer  communicaBon  –  e.g.  CPU  to  CPU  
–  Are  communicaBons  verified?  
–  Is  there  error  checking  (parity,  CRC,  etc.)  ?  
Synchronous  and  Asynchronous  Buses  
•  Synchronous  bus  (e.g.,  processor-­‐memory  buses)  
–  Includes  a  clock  in  the  control  lines  and  has  a  fixed  
protocol  for  communicaBon  that  is  relaBve  to  the  clock  
–  Advantage:  involves  very  liMle  logic  and  can  run  very  fast  
–  Disadvantages:  
•  Every  device  communicaBng  on  the  bus  must  use  same  clock  rate  
•  To  avoid  clock  skew,  they  cannot  be  long  if  they  are  fast  
•  Asynchronous  bus  (e.g.,  I/O  buses)  
–  It  is  not  clocked,  so  requires  a  handshaking  protocol  and  
addiBonal  control  lines  (ReadReq,  Ack,  DataRdy)  
–  Advantages:  
•  Can  accommodate  a  wide  range  of  devices  and  device  speeds  
•  Can  be  lengthened  without  worrying  about  clock  skew  or  
synchronizaBon  problems  
–  Disadvantage:  slow(er)  
Synchronous  Bus  
Asynchronous  Bus  Handshaking  Protocol  
-­‐  Output  (read)  data  from  memory  to  an  I/O  device  

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

device (3) interrupt


service addr
read
store interrupt
... service
User program halts only (4) rti routine
during actual transfer
memory
1000 transfers/second:
1000 interrupts @ 2 µsec per interrupt=> 2 msec
1000 interrupt service @ 98 µsec each=> 98 msec
100 msec = 0.1 CPU seconds
Direct  Memory  Access  Time  esBmate  

Time to do 1000 xfers in 1 msec:


CPU sends a starting address, 1 DMA set-up sequence: @ 50 µsec
direction(R/W), and word count 1 interrupt: @ 2 µsec
to DMAC. Then issues "start". 1 interrupt service sequence: @ 48 µsec
100µsec
CPU .0001 second of CPU time

0
ROM

Memory DMAC IOC


Memory
Mapped I/O RAM
I/O device

DMAC provides;
Peripheral controller Handshake signals Peripherals
Memory Addresses
Handshake signals
DMAC
n
Bus  Standards  

•  Expansion  buses  or  “slots”  


•  Disk  interfaces  
•  External  buses  
•  CommunicaBons  interfaces  
Expansion  Buses  

•  These  are  “slots”  on  the  motherboard  


 
–  ISA  –  Industry  Standard  Architecture  (outdated)  
–  PCI  –  Personal  Component  Interconnect  (outdated)  
–  EISA  –  Extended  ISA  (outdated)  
•  SIMM  –  Single  Inline  Memory  Module  (plugs  into  slot)  
•  DIMM  –  Dual  Inline  Memory  Module  (plugs  into  slot)  
–  MCA  –  Micro-­‐Channel  Architecture  (outdated)  
–  AGP  –  Accelerated  Graphics  Port  (outdated)  
–  VESA  –  Video  Electronics  Standards  AssociaBon  (outdated)  
–  PCMCIA  –  Personal  Computer  Memory  Card  InternaBonal  
AssociaBon  (outdated)  
–  PCI-­‐e  –  PCI  express  (Current)  
–  HT  –  Hypertransport  (Current)  
3  ISA  
slots  

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  

•  For  connecBng  systems  to  systems  


•  Parallel/LPT  (outdated)  
–  special  purpose,  e.g.,  using  special  sofware  
(Laplink)  to  transfer  data  between  systems  
•  Serial/RS232C  (outdated)  
–  To  connect  a  system  to  a  voice-­‐grade  modem  
•  Ethernet  (current)  
–  To  connect  a  system  to  a  high-­‐speed  network  
Bus  Details  

•  A  look  at  a  few  of  the  preceding  examples  in  more  


detail  :  
–  ISA  
–  PCI  
–  AGP  
–  Serial  
–  Parallel  
–  SCSI  
–  Ethernet  
–  USB  
ISA  bus  

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  

•  EISA  and  MCA  have  not  been  successful!  


 
PCI  

•  Peripheral  Component  Interconnect  


–  Also  called  “Local  Bus”  
•  History  
–  Developed  by  Intel  (1993)  
–  Very  successful,  widely  used  
–  Much  faster  than  ISA  
–  Gradually  replaced  ISA  
•  ConfiguraBon  
–  Parallel,  mulB-­‐drop  
•  Used  for…  
–  Just  about  any  peripheral  
–  Can  support  mulBple  high-­‐performance  devices  
–  Graphics,  full-­‐moBon  video,  SCSI,  local  area  networks,  etc.    
•  SpecificaBons  
–  64-­‐bit  bus  capability  
–  Usually  implemented  as  a  32-­‐bit  bus  
–  Runs  at  33  MHz  or  66  MHz  
–  At  33  MHz  and  a  32-­‐bit  bus,  data  rate  is  133  Mbytes/s  
AGP  

•  Accelerated  Graphics  Port  


•  History  
–  First  appeared  on  PenBum  II  boards  
–  Developed  just  for  graphics  (especially  3D  graphics)  
•  ConfiguraBon  
–  Parallel,  point-­‐to-­‐point  (only  one  AGP  port  /  system)  
•  SpecificaBons  
–  Data  rates  up  to  532  Mbytes/s    
Serial  Interfaces  

•  On  PCs,  a  “serial  interface”  implies  a  “COM  port”,  or  “communicaBons  


port”  
–  COM1,  COM2,  COM3,  etc.  
•  COM  ports  conform  to  the  RS-­‐232C  interface  standard  
•  History  
–  Well-­‐established  standard,  developed  by  the  EIA  (Electronics  Industry  AssociaBon)  in  1960s  
–  Originally  intended  as  an  electrical  specificaBon  to  connect  computer  terminals  to  modems  
•  Defines  the  interface  between  a  DTE  and  a  DCE  
–   DTE  =  Data  Terminal  Equipment  (terminal)  
–   DCE  =  Data  CommunicaBons  Equipment  (modem)  
–  A  “modem”  is  someBmes  called  a  “data  set”  
–  A  “terminal”  is  anything  at  the  “terminus”  of  the  connecBon  
•  VDT  (video  display  terminal),  computer,  printer,  etc.  
•  Data  rate  
–  Maximum  specified  data  rate  is  20  Kbits/s  with  a  maximum  cable  length  of  15  meters  
–  However…  
•  It  is  common  to  “push”  an  RS-­‐232C  interface  to  higher  data  rates  
•  Data  rates  to  1  Mbit/s  can  be  achieved  (with  short  cables!)  
•  ConfiguraBon  
–  Serial,  point-­‐to-­‐point  
 
Parallel  Interfaces  

•  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  

You might also like