6.3 总线的控制和通信
一、总线控制
在了解计算机系统中总线的概念之后,我们要进一步探讨总线的控制机制。因为总线是由多个部件共享的资源,所以它的有效管理对于确保系统稳定运行至关重要。
1. 总线控制的必要性
总线控制机构的作用在于对总线的使用进行分配和管理。当总线上的一个部件需要与另一个部件通信时,必须首先发出请求信号。在同一时刻,可能有多个部件请求使用总线。此时,总线控制机制会根据一定的规则(如优先次序)决定哪个部件可以首先使用总线。只有获得总线使用权的部件才能开始数据传送。
2. 总线控制方式
总线控制方式通常分为两类:集中式和分散式。集中式控制是指总线控制逻辑主要集中在一处,如CPU或I/O通道;分散式控制是指总线控制逻辑分散在各个部件中。
i. 集中式总线控制
在集中式总线控制中,主要采用以下三种控制方式:
- 链式查询方式
- 计数器定时查询方式
- 独立请求方式
ii. 链式查询方式
如图6.11(a)所示,链式查询方式的总线控制部件可能是CPU的一部分,在I/O总线中,则可能是通道的一部分。这种方式下,总线同意信号BG串行地从一个I/O接口传到下一个接口。如果某接口有总线请求,BG信号停止传递,意味着该接口获得总线使用权。链式查询的电路结构简单,但对电路故障非常敏感,一旦出现故障,可能导致多个设备无法工作。
iii. 计数器定时查询方式
在计数器定时查询方式中,如图6.11(b)所示,总线控制器接到请求信号后,会让计数器开始计数。计数值通过地址线发送至各设备,当计数值与某设备地址相匹配时,该设备获得总线使用权。这种方式适合于需要公平总线使用权的设备。
iv. 独立请求方式
独立请求方式如图6.11(c)所示,每个设备有独立的请求线和同意线。设备请求使用总线时,总线控制器会根据优先次序决定响应哪个设备的请求。这种方式响应时间快,但需要更多的控制线。
二、总线通信
总线通信指的是通过总线进行的数据传输。确保有效的总线通信不仅需要合理的总线控制机制,还需要高效的通信协议和数据传输标准。
1. 通信协议
通信协议定义了数据传输的规则和标准,确保信息在各部件间正确无误地传递。通信协议通常涵盖了数据的打包、传输、接收、解包以及错误检测和纠正等多个方面。
2. 数据传输标准
数据传输标准确定了传输速率、传输模式(并行或串行)、同步或异步传输等关键参数。这些参数对于总线的性能和兼容性有重要影响。
通过有效的控制和通信机制,总线能够实现资源共享,提高系统整体的性能和效率。在计算机架构的设计中,总线设计是连接各种硬件组件,实现它们之间通信的重要基础。
二、总线通信
在计算机系统中,控制总线的部件如何获得总线使用权只是总线操作的一个方面。总线通信,则关注的是总线上的部件如何互相传递数据。
1. 通信方式的分类
总线通信方式主要分为同步通信和异步通信两种。每种通信方式都有其特定的使用场景和优缺点。
i. 同步通信
在同步通信中,总线上的部件通过一个共有的时钟信号来同步信息传送。这可以通过将时钟信号从CPU或总线控制部件发送到每个部件来实现,也可以让每个部件拥有自己的时钟发生器,但这些时钟必须与总线控制部件发出的信号同步。
同步通信的特点是所有部件的发送或接收时刻都由统一的时钟信号决定,从而保证了高传输频率。它适用于总线长度较短且部件存取时间接近的环境。这是因为同步通信为所有设备提供同等的时间安排,并且总线的设计必须考虑到最长传输延迟。因此,长总线会降低传输频率。
同步通信的缺点在于,如果总线上的部件存取时间差异很大,会导致效率损失,因为公共时钟必须以最慢的部件为准来设计。
ii. 异步通信
异步通信不使用公共的时钟信号,而是允许每个部件拥有各自的时钟。部件间通信不依赖于统一的时间标准,而是使用发送信息时的时间标志信号进行“应答方式”通信。
异步通信分为单向方式和双向方式(即应答式通信)。在单向方式中,数据传送的正确性无法得到保证,因此在需要保证数据可靠性的情况下,通常采用双向方式。
在全互锁的双向异步通信方式中,发送部件放置数据到总线上,并在一定延迟后发出READY信号。接收部件使用READY信号作为选通脉冲接收数据,然后发出ACK信号表示数据已接收。发送部件收到ACK信号后,可以清除数据和READY信号,准备下一次传输。这种方式下,READY和ACK信号的宽度会根据传输条件的不同而变化,以适应不同的传输距离和部件速度。
异步通信的优点是适用于存取周期不同的部件之间的通信,并且对总线长度没有严格要求。因此,它提供了更高的灵活性和扩展性。
通过理解这些通信方式的原理和适用场景,我们能够更好地理解计算机系统内部的复杂数据流动和处理机制。在下一节中,我们将结合PDP-11单总线系统的实例来进一步说明这些概念。