PCI Peripheral Component Interface: Prof. Dr. Antônio Augusto Fröhlich
PCI Peripheral Component Interface: Prof. Dr. Antônio Augusto Fröhlich
PCI
Peripheral Component Interface
LISHA/UFSC
March 2002
http://www.lisha.ufsc.br 1
The Standard
Software/Hardware Integration
http://www.lisha.ufsc.br 2
Features
Software/Hardware Integration
Synchronous operation
Down to 0 MHz
Cache support
http://www.lisha.ufsc.br 3
Architectural Overview
Software/Hardware Integration
http://www.lisha.ufsc.br 4
Transactions
Software/Hardware Integration
Agent
Burst transaction
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
\ gj 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
IDSEL
agent)
Allows address configuration
Arbitration (REQ/GNT)
http://www.lisha.ufsc.br 8
Address Spaces
Software/Hardware Integration
Supports Plug-N-Play
I/O space
IBM PC (IA-32)
4 B to 2 GB per device
Memory space
Everything else
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
Portable systems
CompactPCI
Passive backplane
http://www.lisha.ufsc.br 12