计算机组织中的异步数据传输2025年06月13日 | 阅读 6 分钟 数字系统中单个单元的内部操作使用时钟脉冲进行同步。这意味着时钟脉冲被馈送到所有寄存器。并且内部寄存器之间所有的数据传输在时钟脉冲发生期间同时进行。现在,假设数字系统的任意两个单元是独立设计的,例如 CPU 和 I/O 接口。 如果 I/O 接口中的寄存器与 CPU 寄存器共享同一个时钟,则这两个单元之间的传输被认为是同步的。但在大多数情况下,每个单元的内部时序是相互独立的,因此每个单元都为其内部寄存器使用私有时钟。在这种情况下,这两个单元被认为是相互异步的,如果它们之间发生数据传输,则称为异步数据传输。 但是,两个独立单元之间的异步数据传输要求在通信单元之间传输控制信号,以便指示它们何时发送数据。这两种方法可以实现这种异步数据传输方式: - 选通控制(Strobe control):一个单元提供一个选通脉冲,指示另一个单元何时应进行传输。
- 握手(Handshaking):这种方法通常用于在传输的每个数据项都附带一个指示总线上数据就绪的控制信号。接收数据的单元会响应另一个信号以确认收到数据。
异步数据传输的选通脉冲和握手方法并不局限于 I/O 传输。它们广泛用于需要两个独立单元之间传输数据的众多场合。因此,在这里我们将发送单元视为源,接收单元视为目标。 例如,CPU 在输出或写传输期间是源,在输入或读传输期间是目标单元。 因此,异步传输期间的控制序列取决于传输是由源还是由目标发起的。 因此,在异步讨论每种数据传输方法时,您可以从两个方面看到控制序列:由源发起和由目标发起。这样,每种数据传输方法都可以进一步细分为源发起和目标发起两个部分。 异步数据传输方法两个独立单元之间的异步数据传输要求在通信单元之间传输控制信号,以指示它们何时发送数据。因此,这两种方法可以实现异步数据传输方式。 1. 选通控制方法 (Strobe Control Method) 异步数据传输的选通控制方法使用一个控制线来定时每次传输。这条控制线也称为选通(strobe),它可以由源或目标发起,具体取决于哪一方发起传输。 - 源发起的选通:在下面的框图中,您可以看到选通是由源发起的,并且在时序图中显示,源单元首先将数据放在数据总线上。
 在短暂延迟后,以确保数据稳定,源激活一个选通脉冲。数据总线上的信息和选通控制信号会保持活跃状态足够长的时间,以便目标单元能够接收数据。 目标单元使用选通控制的下降沿将数据总线的内容传输到其内部寄存器之一。源在禁用其选通脉冲后从数据总线上移除数据。因此,只有在选通再次启用后才能获得新的有效数据。 在这种情况下,选通可能是 CPU 发送给存储单元的内存写入控制信号。CPU 将字放在数据总线上,并通知存储单元(目标单元)。 - 目标发起的选通:在下面的框图中,您可以看到选通是由目标发起的,并且在时序图中,目标单元首先激活选通脉冲,通知源单元提供数据。
 源单元通过将请求的二进制信息放在数据总线上做出响应。数据必须有效并保持在总线上足够长的时间,以便目标单元能够接受它。 选通脉冲的下降沿可以再次用于触发目标寄存器。然后目标单元禁用选通。最后,源单元在确定时间间隔后从数据总线上移除数据。 在这种情况下,选通可能是 CPU 发送给存储单元的内存读取控制。CPU 发起读取操作,以通知存储单元(源单元)将选定的字放到数据总线上。
2. 握手方法 (Handshaking Method) 选通方法的一个缺点是,发起传输的源单元不知道目标是否收到了放在总线上的数据。同样,发起传输的目标单元也不知道源单元是否将数据放在了总线上。 这个问题的解决方案是握手方法。握手方法引入了第二个控制信号线,该信号线可以被被传输的单元所取代。 在这种方法中,一条控制线与总线上的数据流方向相同,从源指向目标。源单元使用它来通知目标单元总线上是否有有效数据。 另一条控制线方向相反,从目标指向源。这是因为目标单元使用它来通知源单元它是否能够接收数据。在这两种情况下,控制顺序都取决于发起传输的单元。因此,这意味着控制顺序取决于传输是由源还是由目标发起的。 - 源发起的握手:在下面的框图中,您可以看到两条握手线是“数据有效”(由源单元生成)和“数据已接受”(由目标单元生成)。
 时序图显示了两个单元之间信号交换的时序关系。源单元通过将数据放在总线上并激活其“数据有效”信号来发起传输。目标单元在从总线上接受数据后激活“数据已接受”信号。 然后源单元禁用其“有效数据”信号,使总线上的数据失效。 之后,目标单元禁用其“数据已接受”信号,系统恢复到初始状态。源单元在目标单元通过禁用“数据已接受”信号表明准备好接受新数据后,才发送下一个数据项。 上述事件序列在序列图中显示,它显示了系统在任何给定时间点的事件发生顺序。 - 目标发起的握手:在下面的框图中,您可以看到两条握手线是“数据有效”(由源单元生成)和“准备好接收数据”(由目标单元生成)。
请注意,由目标单元生成的数据接收信号的名称已更改为“准备好接收数据”,以反映其新的含义。
 目标发起传输,因此源单元在收到目标单元的“准备好接收数据”信号之前不会将数据放在数据总线上。之后,握手过程与源发起的握手过程相同。 事件序列在序列图中显示,信号之间的时序关系在时序图中显示。因此,这两种情况下的事件序列将是相同的。
异步数据传输的优点计算机组织中的异步数据传输具有以下优点,例如: - 它更加灵活,设备可以按照自己的节奏交换信息。此外,单个数据字符可以独立完成,因此即使一个数据包损坏,其前导和后续数据包也不会受到影响。
- 它不需要接收设备进行复杂的处理。此外,这意味着数据传输中的不一致不会导致大问题,因为设备可以跟上数据流。它也使得异步传输适用于字符数据生成不规则的应用。
异步数据传输的缺点在计算机组织中使用异步数据传输也存在一些缺点,例如: - 这些传输的成功取决于起始位及其识别。不幸的是,这很容易受到线路干扰的影响,导致这些位被损坏或失真。
- 大部分传输数据用于控制和标识头部位,因此不包含与传输数据相关的任何有用信息。这不可避免地意味着需要发送更多数据包。
|