器之间,CPU与每个控制器之间,以及每个控制器预祝储存器之间进行传送。协调总线上的所有这些活动是个很大的难题。即使设计十分出,CPU域控制器竞争总线存储时,中央总线也可能成为障碍。此障碍称为冯·诺依曼瓶颈(von Neuann bottleneck),因为它源于冯·诺依曼体系结构,在该结构中,CPU是通过中央总先从祝储存器去值的。 总线上的音频设备2.5.3 握手
两个计算机部件之间的数据传输很少是单向进行的。即使我们可以把打印机看成接收数据的机器,但事实上他也向计算机发送数据。毕竟,计算机产生字符并向打印机发送字符的速度远远快于打印机能够打印的速度。如果计算机盲目地把数据发送给打印机,那么打印机很快就落在后面了,结果是使数据丢失。因此诸如打印机这样的过程都会包含持续性的双向对话。计算机和外围设备之间交换设备状态的信息,协调他们之间的活动。这个过程成为握手(handshaking)。 握手通常设计一个状态字,他是有外围设备生成并发送给控制器的一个位模式。该状态字是一个位图,其中的各个二进制位反映了该设备的各种状态。已打印机为例,其状态字的最低有效位数值可以表示该打印机是否缺纸,而下一个位可以表示该打印机是否已经准备好接受数据,另外还有一位可以用于支出是否卡纸。控制器是自己相应这些状态信息,还是交给CPU来处理,这取决于不同的系统。无论哪种情况,状态字都提供了一种机制,用于协调与外围设备的通信。
2.5.4 流行的通信媒介
计算机之间的通信设备有两种途径处理:并行及串行。这些术语指的是传输信号的方式。并行通信(parallel communication)指的是若干信号同时传输,每个信号都在各自的线路上。这种技术数据传输快,但是需要相对复杂的通信通路。例如计算机内部总线,其中多条线路被用于同时传输大量数据快及其他信号。
与此相反,串行通信(serial communication)只在一条信号线上一个信号戒指一个信号地传输。相对于并行通信,串行通信只需要一条相对简单的数据途径,这也是他很流行的原因。USB与FireWire在短短几米的距离内提供相对高速的传输速率,属于串行通信。对于相对较长的距离(在家中或者办公楼里),通过以太网连接的串行通信,无论是通过电线还是通过无线电广播链接,都很流行。