You are on page 1of 12

Software/Hardware Integration

PCI
Peripheral Component Interface

LISHA/UFSC

Prof. Dr. Antônio Augusto Fröhlich


guto@lisha.ufsc.br
http://www.lisha.ufsc.br/~guto

March 2002
http://www.lisha.ufsc.br 1






The Standard
Software/Hardware Integration

More than a bus




PCI specifies the interaction between several




hardware components (mechanical, electrical,


timing, protocols)
Replacement for ISA


Used on IA-32, IA-64, Alpha, PowerPC,




Sparc64, and others

http://www.lisha.ufsc.br 2






Features
Software/Hardware Integration

32 or 64 bits (also 64 data and 32 address)




Synchronous operation


33 MHz ~ 132 MB/s


66 MHz ~ 528 MB/s


Down to 0 MHz

Single or multiple bus masters




Bus parity error reporting




Cache support


http://www.lisha.ufsc.br 3






Architectural Overview
Software/Hardware Integration

http://www.lisha.ufsc.br 4






Transactions
Software/Hardware Integration

Initiator (or Master)




Owns the bus and initiates the data transfer


Must also be a Target


Target (or Slave)




Target of the data transfer (read or write)


Agent


Any initiator or target on the bus


Burst transaction


More than one data phase


http://www.lisha.ufsc.br 5






Software/Hardware Integration

 


http://www.lisha.ufsc.br
Transactions

 



6
Software/Hardware Integration

 

  dr
 € t `
f r
 d c
_ d [_
‚
da [_ [ Z `
 b d
d d i z
bo d f[ d } |{
a [_ l ` ` [ gfhe _ z
[ ab` bZ _ }
d b
€ Z b
~ a
j DCEB
\ gj a
ƒ
y

F
H G
I
C


JK
Ž
‡

‡ L G
I
… * 0
- 23 ! *
† '+ /
' ' )*  ) - '&
%$ ' 01 59 4 M
‹  "# ! *. *. 0
 & & 66
 & & ' ' -& , & &
  ( " '& 66 5 4
"& 
7
78 78

! * 1!
? )-> '+ , -
-
@ >" ) " )!
'! )0
%
A

…„
 0 0
* ˆ  ‘ ’“ ˆ  †‡ "  - 23 ! *
1 3 # '
* ” 0
 # * ! '& :4
#,

http://www.lisha.ufsc.br
& •– ”
Bus Signals

& ! %, … ;: ; (:
) , &! & & ; :
66 5
 , '  ‰
†
66 < 4 5=
;
‹ Š
X 8
8
Œ

OPN

` Q
RIG
ct pqr ` c
b d [_ W VU
X L
fh i i ` [_
d
n do lm_ [
\ k b ^ \][ YZ
s bo gfhe S
\u [ _ `a
bZ TK
j
V\u

wxv L G
I
u
y
M
7
Bus Signals
Software/Hardware Integration

CLK


Can be lowered to 0 MHz


IDSEL


Individual device select for configuration (one per


agent)
Allows address configuration

Arbitration (REQ/GNT)


Individual connections to/from arbiter


http://www.lisha.ufsc.br 8






Address Spaces
Software/Hardware Integration

Configuration space (256 bytes)


ž

Basic information about devices


Ÿ

Supports Plug-N-Play
Ÿ

Accessed by OS to perform settings


Ÿ

I/O space
ž

IBM PC (IA-32)
Ÿ

4 B to 2 GB per device
Ÿ

Memory space
ž

Everything else
Ÿ

16 B to 2 GB per device (> 4 K suggested)


Ÿ

http://www.lisha.ufsc.br 9
œ ›


œ
˜™š —
PCI Commands
Software/Hardware Integration

C/BE Command
0000 Interrupt acknowledge
0001 Special cycle Space
0010 I/O read I/O
0011 I/O write Memory
0110 Memory read Config
0111 Memory write
IDSEL 1010 Configuration read
IDSEL 1011 Configuration write
1100 Memory read multiple
1101 Dual address cycle
1110 Memory read line
1111 Memory write and invalidate

http://www.lisha.ufsc.br 10
œ ›


œ
˜™š —
Configuration Space Header
Software/Hardware Integration

http://www.lisha.ufsc.br 11
œ ›


œ
˜™š —
PCI Variations
Software/Hardware Integration

AGP
ž

Point-to-point protocol
 

Graphics on PCs
 

CardBus
ž

PCI in a PCMCIA form factor


 

Portable systems
 

CompactPCI
ž

PCI in a EUROCARD form factor


 

Passive backplane
 

Used in telecom and industrial applications


 

http://www.lisha.ufsc.br 12
œ ›


œ
˜™š —

You might also like