PCI和AGP都属于并行总线,并行总线带宽(MB/s) = 并行总线时钟频率(MHz) * 并行总线位宽(bit/8 = B) * 每时钟传输几组数据(cycle)。

PCI有两种,32位PCI总线和64位PCI总线,32位的较为常见,一般PC都有124引脚,颜色一般是白的,64位的PCI总线一般在工作站以上级别的主板才有,188引脚。PCI总线的带宽计算方法如下: 32位PCI:总线位宽是32位,总线频率 33 MHz,每时钟传输 1 组数据,它的带宽为 1056Mbps,即132MB/s。64位PCI:总线位宽是64位,总线频率 66 MHz,每时钟传输 1 组数据,它的带宽为 4224Mbps,即528MB/s。

AGP从AGP 1X, 2X, 4X一直到AGP 8X。总线位宽都是32位。1X的总线频率是66 MHz,2X 4X 8X都使用了一些扩展的传输方法,使在同一个总线时钟频率内,传输2倍到8倍的数据。

AGP 总线位宽是 32位,总线频率 66 MHz,每时钟传输 1 组数据,它的带宽为 264 MB/s,即 2112 MbpsAGP 2X 带宽为 528 MB/s,即 4224 Mbps。AGP 4X 带宽为 1056 MB/s,即 8448Mbps。AGP 8X 带宽为 2112 MB/s,即 16896 Mbps。

PCI-E属于串行总线,串行总线带宽(MB/s) = 串行总线时钟频率(MHz) * 串行总线位宽(bit/8 = B) * 串行总线管线 * 编码方式 * 每时钟传输几组数据(cycle)

PCI Express x1 总线位宽是 1位,总线频率 2500 MHz,串行总线管线是 1 条,每时钟传输 2 组数据,编码方式为 8b/10b,公式是 2500(MHz) * 1/8(bit) * 1(条管线) * 8/10(bit) * 2(每时钟传输2组数据) = 500 MB/s ,即 4000 Mbps。PCI Express x4 PCI Express x8 PCI Express x16 PCI Express x32 都是通过扩展管线的方式去扩展传输能力的,x4就是4条管线,x8就是8条,大家自己计算看看吧。

根据这些数据我们可以清晰的了解到:

1、SCSI卡为什么必须要用64位的PCI,答案是Ultra320的峰值带宽是320MB/s,那PCI的132MB/s是不够的。64位PCI的528MB/s够用。

2、高端的千兆网卡,特别是多口卡,为什么都是64位的,答案同上,千兆是1000Mbps,基本上一个端口就把PCI32位的跑满了。

3、PCI的1394卡够用么?用PCI-E的是不是更能充分的发挥1394接口的能力?1394常见的是400Mbps和800Mbps的速率,如果你的卡是单接口的,那么用PCI够了,如果是双接口或4接口,且芯片支持每个接口都全速运作,那PCI的带宽就不够了,使用PCI-E可提供4000Mbps,可共4个800Mbps的1394端口全速运作。还是有意义的。