同步通信,是指在总线上传送数据时,通信双方使用同一个时钟信号进行同步,这个时钟信号通常可以由CPU的总线控制逻辑部件提供,称为总线时钟。可以用一或几个总线时钟构成一个总线周期,每个周期完成一次数据传输,总线周期的长短,需要与被读写部件的存取时间配合好。通信双方送出与接收地址信号、控制命令信号和数据信号,都是使用这一时钟信号完成定时的,可以有比较高的数据传输率。
异步通信,是指在总线上传送数据时,允许通信双方各自使用自己的时钟信号,采用"应答方式"(握手方式)解决数据传输过程中的时间配合关系,而不是共同使用同一个时钟信号进行同步。例如,CPU要把一个通用寄存器中的内容传输给某台输出设备,必须给出IO端口地址,把数据内容写进接口的输出数据寄存器(其输出端已与接收方设备的数据输入端接通),但相应的设备却无法知道数据送来的准确时刻,CPU就必须再提供出一个时钟信号,通知接受设备数据已发送过去,接受方设备还将用这一时钟信号作为自己接收数据的选通信号。接收设备在接收到数据之后,通常有两种办法向发送方(CPU)作出回应,一是无任何反应直接结束这次传输过程,其缺点是发送方无法知道接收方是否正确接收到数据;二是接收方向发送方送出一个回答信号,表示数据已收到,发送方将用这一回答信号结束传输过程,以便开始下一次传输。这种通过应答方式控制总线传送数据的方案,适用于在存取周期不同的部件之间完成数据交换。
|
|