本质的原因在于agp是同步并行信号,而pci-e是异步串行差分信号。
AGP使用的是0.8v电平的并行信号,时钟由CLK信号来同步,数据和地址通过32个AD(Address/Data)信号的电平来传输。
随着频率的提高,这里会有几个问题:
其一是信号传输的时间不可忽略,对线路的等长要求会提高,这里的33根信号必须一样长,否则会出现同步风险(比如时钟先于数据到达,而数据还未就位)。
其二是抗干扰和功耗之间的矛盾无法调和。由于环境中一定会存在电磁干扰,而agp采用的是非差分信号,要保证信号质量必须保持较高的逻辑电平。但功耗与频率成正比,与电压的平方成正比。
而pcie正是针对这些问题做了针对性的设计。
首先pcie使用的是异步设计,每根通道内使用时钟同步包进行同步,无需额外的时钟信号。这样信道的发送端可以自顾自的发,吞吐量可以大很多。
其次pcie使用的是差分信号,也就是两根线组成一个通道,P线比N线电平高表示逻辑1,反之表示逻辑0。布局时,只需要单一通道的两根线实现等长即可。同时,由于这两根线在板上的走线非常接近,受到的电磁干扰也非常接近,所以干扰不会影响差分信号的相对电平。这就使得差分信号可以工作在更高的频率,更低的电平上(压差在400-800mv,眼图开口可以低至283mv)。
其三,pcie的通道是上下行分离的,每一个pcie lane包含了两对差分信号,一对用于上行,一对用于下行,各自独立,可以实现更高的数据吞吐量