PCI体系是个协议系统,有点像tcp/ip的局域网系统。
用桥连起不同的网段,并且使用虚拟地址进行寻址。
部件间并没有硬寻址设施的存在,这个是为了使得系统内可以灵活增加设备,实际上就是网络的思想。它甚至可以动态分配地址,这一点很像DHCP。
PCI理解上并不是为了速度而生的一个设施。它主要是一个互联设施也就是说是一个架子。它存在,不是为了高速数据传输,是为了提供一个架子,或者说,扩展的可能。或者说可扩展性。
可扩展性很重要,就像面向对象的继承。有时候你就需要这个东西。比如,PC厂商。他们必须提供这个东西,不然电脑就卖不出去。
所以理解了这一点就知道,它的主要设计方向是向外部提供灵活的可接入性,所以必须使用软件寻址。否则把设备直接挂在CPU总线上就行了,何必这么啰嗦。
这个需求,把计算机彻底地复杂了起来。
再在上面挂个USB。这就是计算机复杂性的根本来源。
本来一切都很简单的。
事实上,USB与PCI除了一个并行,一个串行,区别并不大。照现在的趋势,将来的USB必将统一扩展性的江湖。并行只是个啰嗦。
并且USB多好,全部都是协议,协议全部软件化。估计若干年以后,硬件全都变成一条(USB实际上是两条,差分传输。但是放在一起的)线。
天下太平。