专利名称:稳定异步接口的方法和计算机系统装置的利记博彩app
技术领域:
本发明涉及数据传输,具体地说,涉及在不使用用于计算机系统数据 传输的单独控制信号的情况下稳定通过异步或未定时接口的一个或多个总 线信号的方法。
背景技术:
在SMP计算机(例如,IBM生产的IBM zSeries⑧大型计算机系统) 中,保持较高级别或性能及互锁是极其重要的。很多时候,有些接口是自 校准的,而其他接口按照严格的早/晚定时准则定时。但是,自校准逻辑可 能占用很大面积。异步接口也由于经常通过接口的一侧和另一侧的握手信 号而带来问题。
许多应用都有需要在总线上异步发送的数据或控制,在此等待时间不 是大问题。通常,添加了亚稳定(metastability)锁存器来帮助解决可能 的信号转变。通常存在一个用于在总线传输的一个方向上进行握手的控制 信号。该信号用于边沿触发采样事件。在激活该信号前数据总线是稳定的 很重要。必须注意确保该控制信号比数据总线具有更多的等待时间。如果 不是,则会在正常的数据总线仍在转变时进行采样.
虽然现有技术解决了一些由异步接口引发的问题,但是仍存在控制信 号与数据分离的限制。使用数据总线在异步接口上对数据本身进行采样的 尝试可能带来不正确的数据采样,这是由于并非所有数据位都在每个周期 上一致
发明内容
根据本发明和所描述的实施例的数据传输接口无需单独的控制信号。 提供了一种机制,其中数据本身用于判定数据是否已经更改。本发明提供 了稳定逻辑,所述逻辑防止输出数据在达到新的稳态之前在不正确或不合 法的状态间转变。本发明还允许稳定窗口的可编程延迟以容许所经历的无法预料的时滞 和噪声。序产品。通过本发明的技术实现了其他功能和优点。在文中详细说明了本发明 的其他实施例和方面并将其视为所要求保护的发明的一部分。为了更好地 理解本发明的优点和功能,将参考说明书和附图。由概括的发明可知,对于数据稳定并向另一个稳态转变的异步或未定 时接口,无需用于接口的单独控制信号。这可以免于昂贵的连线,特别是 在芯片或其他电路之间。此外,等待时间可以由数据时滞限制,所以如果 数据时滞较少,则可以为其设计较少的等待时间。本发明允许可编程的等 待时间以在无需重新设计的情况下允许在损坏风险和等待时间/性能之间 进行最终平衡。
在说明书结尾处的权利要求书中特别指出并明确要求保护了被视为本 发明的主题。通过以下结合附图的详细说明,本发明的上述和其他目标、功能和优点是显而易见的,这些附图是图1示出了从源到宿的现有技术通信的实例;图2示出了现有技术的异步接收器电路的实例;图3示出了结合本发明的数据传输方法的实例;图4是示出本发明特有的稳定技术的状态图;图5示出了使用寄存器的可编程稳定窗口持续时间值的实例;图6是示出了实例数据总线流以及根据和未根据本发明的结果的表。
详细的说明通过实例方式参考附图阐述了本发明的优选实施例以及优 点和功能。
具体实施例方式
现在转到更详细的附图,将看到图1中示出的现有技术包含两个彼此
通信的电路。示出的是单方向的通信。数据总线104由源电路101驱动并 由宿电路102接收。还存在从源电路101发送到宿电路102的控制信号103。 通常,允许数据总线104切换并稳定在新值上。然后,将使用控制信号103 来激活选通脉沖以对稳定的数据采样。
图2示出了现有技术的宿逻辑102的更详细的图。在该实施例中,控 制信号103和数据总线104 iiX异步接收器电路102。示出了亚稳定锁存 器202、边沿检测电路203和登台寄存器或緩冲器204。存在大量实现现有
技术的其他实施例。
图3示出了使用本发明的数据传输方法的优选实施例。与现有技术不 同,在源电路310和宿电路301之间没有控制信号103。相反,直接在装 置中使用数据总线312来检测数据转变。数据总线312通过亚稳定寄存器 307登台。这是为了确保数据对于下游处理是一致的。有一个稳定多路复 用器308,其允许新数据馈入通常在每个周期都捕获数据的稳定寄存器 302。使用边沿检测电路303将稳定寄存器的输出和稳定寄存器的输入进行 比较。当出现新旧数据总线值的m比较时,检测电路303使用稳定窗口 持续时间值总线305加载稳定窗口计数器304。
预测的下一个计数器状态在下一个计数器状态总线309上的稳定窗口 计数器304的输出处可用。下一个计数器状态总线309馈入计数器检测电 路306,计数器检测电路306判定下一个计数是否为零。在同一周期上使 用稳定窗口持续时间值总线305加载计数器,下一个计数器状态总线309 为非零。这迫使稳定多路复用器308使用其先前的值重新加载稳定寄存器 302,而不是允许新数据进入寄存器。这导致稳定寄存器302冻结其状态。 能够使用总线数据加载寄存器的唯一方法是使计数器达到零。
同时,计数器检测电路306检测非零计数器值并将递减稳定窗口计数 器304,直至其最终达到零。如同宿电路稳定输出数据总线311,稳定寄存器302的输出对下游逻 辑可用。因为控制稳定寄存器302在对正在转变的数据采样之前一直等待, 所以宿电路稳定输出数据总线311也是稳定的。图4示出了代表本发明的方法的状态图。系统在稳定数据可用的"运 行"状态启动。当检测到输入数据中的任何位的转变时,将先前的数据作 为输出保存。此转变还导致状态更改为"等待"状态。本发明将"等待" 一段预定的时间。通常,这类似于已加载和递减的计数器。在"等待,,状 态时,输出数据仍保持先前的状态。当"等待"周期结束时(例如,计数 =0),则转变回"运行,,状态。然后将新数据作为输出发送。本发明依赖 于"等待,,周期至少与数据的最大不稳定窗口一样长的事实。此外,在保 证的"等待,,周期之后,不应允许数据在一个周期内再次切换。假如在定 时中存在不确定性,则建议确保在从源发送新数据之前至少出现了三个最 大"等待"周期。图5示出了使用稳定窗口持续时间可编程寄存器501来供给稳定窗口 持续时间值总线305的优选方法的一种实施方式。可以根据本领域的技术 人员公知的多种技术来加载或更改此寄存器。的表。注意在不使用本发明时遇到的从不试图在原始数据总线上发送的非 法状态。例如,源电,据总线仅驱动模式00000、 OOFFOO和OOOFF。未 根据本发明时,其他数据模式0A000、 0E800、 00331和001FA都会出现, 如该特定实例中所示。它们代表可能与在不同时间到达的数据位关联的时 滞和/或噪声。但是,根据本发明,仅在输出处观察到00000、 00FF00和 000FF。虽然附图和详细说明描述了单数据总线的单向异步接口,但是本领域 的技术人员可以将此概念扩展到多总线的双向(连同确认协议)接口或系 统。此外,虽然在本发明中示出了计数器,但是可以构建其他延迟稳定周 期的装置。虽然说明示出了稳定寄存器通常未锁定并允许稳定数据流过, 然后锁入稳定窗口的情况,但是可以这样构建本发明,使得数据通常与稳 定窗口阻隔,并且仅当存在稳定数据时才选通到稳定寄存器中。将需要考 虑这些情况下所保存数据的起始值。当然可以应用许多等效的电路和方法。附图指示特定的电路实施方式,但也可以代表在不偏离本发明精神的 情况下对该方式的模仿。可以通过软件、固件、硬件或其组合来实现本发明的功能。作为 一个实例,本发明的一个或多个方面可以包括在具有例如计算机 可用介质的一件制品(例如, 一个或多个计算机程序产品)中。所述介质 其中例如包含用于提供和协助本发明功能的计算机可读程序代码装置。所 述制品可以包括为计算机系统的一部分或单独出售。此外,可以提供至少一个机器可读的程序存储设备,其有形地包含可 由机器执行以执行本发明功能的至少 一个指令程序。本文中示出的流程图仅为实例。本文说明的这些示意图或步骤(或操 作)可以存在许多变型而不偏离本发明的精神。例如,可以以不同的顺序 执行这些步骤,或可以添加、删除或修改步骤。所有这些变型都被视为所 要求保护的发明的一部分。虽然说明了本发明的优选实施例,但是本领域的技术人员将理解,不 论现在还是将来都可以做出落入以下权利要求的范围内的改进和增强。应 将这些权利要求理解为维持对首先描述的本发明的正确保护。
权利要求
1. 一种在计算机系统中从源到宿进行数据传输的方法,所述方法包括以下步骤检测在所述宿处接收到的数据的更改;允许在检测到数据更改 时观察先前的数据;在一个时间段之后释放先前的数据并允许观察新的数据。
2. 如权利要求l中所述的方法,其中所述数据传输是异步数据传输。
3. 如权利要求2中所述的方法,其中所述数据传输是不使用任何异步 控制信号的异步数据传输。
4. 如权利要求l中所述的方法,其中所述时间段使用计数器来实现。
5. 如权利要求l中所述的方法,其中所述时间段是可编程的。
6. 如权利要求l中所述的方法,其中所述数据在检测在所述宿处接收 到的数据的更改中用于判定。
7. 如权利要求6中所述的方法,其中稳定逻辑阻止数据在达到新的稳 态之前在不正确的状态间转变。
8. 如权利要求7中所述的方法,其中在没有单独的控制信号的情况下 传输所述数据。
9. 如权利要求8中所述的方法,其中可编程的延迟提供了用于检测被 传输数据中的时滞的窗口。
10. —种计算机系统装置,所述装置包括源电路,用于驱动连接到 宿电路的数据总线,所述宿电路检测所述数据总线中的转变以便如果所述 数据总线更改状态,则接收器电路将所述数据总线的先前值保持为可观察 并在一段时间内忽略所述数据总线,此时所述接收器电路使得可以观察所 述数据总线的新值;而如果所述数据总线没有更改状态,则所述接收器电 路允许观察稳定的数据总线。
11, 一种用于数据传输的计算机系统装置,所述装置包括 源电路,其将数据发送到数据总线上;宿电路,其从包括亚稳定寄存器和稳定寄存器电路的所述数据总线捕获数据,提供了数据更改检测逻辑和稳定窗口延迟计数器及多路复用寄存 器对以便在传输期间保存先前的数据。
12. 如权利要求ll中所述的装置,其中所述宿电路亚稳定寄存器登台 输入数据总线。
13. 如权利要求12中所述的装置,其中所述稳定寄存器电路保存来自 与宿电路输出数据总线相连的所述数据总线的先前数据。
14. 如权利要求13中所述的装置,其中多路复用器在末级的所述稳定 寄存器的输出和所述稳定寄存器的输出之间进行选择。
15. 如权利要求14中所述的装置,包括具有加载输入控制、加载输入 值总线和递减递增控制的稳定计数器。
16. 如权利要求15中所述的装置,还包括边沿检测电路,该电路将所 述稳定寄存器的输入和输出总线相比较以判定数据是否发生更改,所述更 改还激活所述稳定计数器的所述加载输入。
17. 如权利要求16中所述的装置,还包括计数器检测电路,该电路在 所述计数器具有非零值时递减所述计数器,并且还在所述计数器不是零时 控制所述多路复用器将所述稳定寄存器保持在其当前值。
18. 如权利要求17中所述的装置,其中所述稳定计数器将在同时激活 加载和递减输入时递减。
19. 如权利要求ll中所述的装置,包括与所述稳定计数器的加载输入 值总线相连的可编程寄存器。
20. 如权利要求ll中所述的装置,其中所述装置稳定通过所迷计算机 系统的异步或未定时接口的一个或多个数据总线信号,而不4吏用用于计算 机系统数据传输的单独控制信号。
全文摘要
一种在不使用异步控制信号的情况下在源和宿之间进行异步数据传输的方法和计算机系统装置。所述装置包括亚稳定电路、数据更改检测逻辑、稳定窗口延迟计数器和多路复用器/寄存器对,以允许在转变期间保存先前的稳定数据。虽然所使用的处理逻辑特别应用于异步逻辑,但是同样可以将所述逻辑扩展到同步或未定时接口。还公开了调整窗口延迟的可编程装置。
文档编号G06F13/38GK101145143SQ20071015442
公开日2008年3月19日 申请日期2007年9月12日 优先权日2006年9月15日
发明者A·P·库伦, M·菲, P·J·米尼 申请人:国际商业机器公司