PCI (1)

基本介紹

PCI(Peripheral Component Interconnect) 分為 2 種

1
2
1. 線路直接裝在主機板上
2. 插槽式介面

PCI 下一代為 PCIE,皆由 PCI-SIG 組織所制定

PCI/PCIE 主要的作用就是傳輸更大的資料量

以及對傳輸資料的品質有所提升,所以才會一直改進

歷史

1
2
3
4
5
6
7
Intel   1992 : PCI  1.0
PCI-SIG 1993 : PCI 2.0
PCI-SIG 1995 : PCI 2.1
PCI-SIG 1998 : PCI 2.2
PCI-SIG 2002 : PCI 2.3
PCI-SIG 2004 : PCI 3.0
PCI-SIG 2004 : PCIE 1.0 = 3GIO

中斷

PCI 4 種中斷

1
2
3
4
INTA#
INTB#
INTC#
INTD#

規格

1
2
3
4
5
6
7
33.33 MHz clock 的同步傳輸
133 megabytes per second for 32-bit bus width(33.33 MHz×32 bits ÷ 8 bits/byte = 133 MB/s)
32-bit 匯流排寬度
32/64位元的記憶體位址(4 gigabytes or 16 exabytes)
32 位元I/O port空間
256-byte(每個裝置)配置空間
5-volt 訊息

Spec

PCI 3.0

專有名詞

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
asserted / deasserted : 使(信號)生效/使(信號)失效
edge, clock edge : rising edge of the clock
# :
signal name 後面有 # = low voltage
signal name 後面沒有 # = high voltage
reserved : 此區塊只能由 PCI-SIG 修改

AD[31::00] :
AD = signal names
[31::00] = signal range/ 31 = msb, 00 = lsb


Interrupt有分好幾種 mode,可以分成
Edge Trigger / Level Trigger

Edge Trigger 分成 Rising and Falling Edge Trigger
Level Trigger 分成 High and Low Level

3
+-------+
| |
1 | | 2
| |
------+ +------
4

1: Rising
2: Falling
3: High
4: Low

Edge Trigger 主要是靠波形的變化
正緣觸發 (pos-edge) low -> high(Rising)
負緣觸發 (neg-edge) high -> low (Falling)
Level Trigger 則是看絕對的準位 -> 一定要到達某個值


主橋 (Host Bridge) = 北橋(North Bridge)
北橋晶片就是主板上離CPU最近的晶片

CPU --------- North Bridge ------- South Bridge
| | |
| AGP/PCIE/Memory PCI/Flash/IO
Clock


RC (Root Complex) : 其實就類似主橋的功能,只有在 X86 上面
局部總線(Local Bus) : 用來連接外部設備
IA (Intel Architecture) : 架構
帶寬(Bandwidth) : 在此指頻率,最高容忍度,數據傳輸率 (byte/s)

其他

PCI 其他分支

1
2
PCMCIA ->  PCI Card -> ExpressCard : 用在筆電上
Mini PCI : 插槽占用面積較小

PCISGI 還有規範

1
2
3
4
PCI-to-PCI 規範 : 體系基礎
電源管理
熱拔差
CompactPCI : 有背板的大型系統

PCI-X 也是 PCI 的分支

最後還是被 PCI-E 取代

1
支援 133/266/533 MHz

缺點

PCI/PCI-X 使用單端並行信號通訊 = 容易被干擾 = 頻率難提升

並行為同一時刻可傳輸多位數據

總線寬度 = 同時傳輸的位數,16 位總線 = 同時傳數據為 16 位

等於 2 byte ( 16 bit)

32 位總線 = 4 byte

64 位總線 = 8 byte

總線寬度越大資料可傳越多

總線帶寬表示在一定時間內傳輸的數據總量

64 位總線 800 MHz = (64bit*800MHz) / 8(byte) = 6.4 GB/s