用于启用确定性接口的方法、装置和系统的制作方法

文档序号:6360121阅读:199来源:国知局
专利名称:用于启用确定性接口的方法、装置和系统的制作方法
用于启用确定性接口的方法、装置和系统高性能和低功耗的主流的处理器芯片都在不断集成附加的功能,比如图形、显示引擎、安全引擎、PCIe 端口(B卩根据外设部件快速互连(PCIExpress (PCIe )规范基本规范2. O (发布于2007年I月17日)(以下简称PCIeTM规范)的端口)和其他以PCI-EtmS基础的外围设备。分组交换网络中的延迟时间可以用单程的方式测量(从发送数据包的源到接收到它的目的地的时间),也可以用往返的方式测量(从源到目的地的单程时间加上从目的地返回源的单程时间)。往返延迟时间更常被使用,因为它可以从单个点上来测量。需要注意的是往返延迟中不包括目的地系统处理分组所耗费的时间量。许多软件平台提供一种服务称为ping,它可以被用来测量往返延迟。Ping不执行分组处理,它只是当接收到分组时发送 回响应(即执行一个no-op),因此它是一个相对准确的测量延迟的方法。在精度很重要的情况下,链接的单向延迟可以更严格地被定义为从分组传输的开始到分组接收的开始的时间。在接近结尾时从分组传输的开始到分组传输的结尾的时间被单独测量并被称为串行延时。这种延迟的定义取决于该链路的吞吐量以及分组的大小,并且是系统向导线发出完整的分组所需要的时间。然而,在一个非平凡网络中,典型分组将经由许多网关在许多链接上被转发,每一个网关在分组被完全接收之前都不会开始转发分组。在这样的网络中,最小延迟是每一个链接的最小延迟的总和,加上除了最后一个链路之外的每一个链路的传输延时,加上每一个网关的转发延迟。在实践中,该最小延迟还会因为排队和处理延时而进一步增加。当网关收到来自不同源向同一个目的地的多个分组时,排队延时就会发生。由于通常一次只能发送一个分组,一些分组必须排队等待发送,这产生了额外的延时。而当网关决定对新接收到的分组要作些什么的时候,处理延时就会发生。传输延时、串行延时、排队延时和处理延时的组合通常产生了复杂且多变的网络延迟情况。取决于制造集成化基于PCI-eTM的外围设备以及任何带有接口的集成设备的复杂度,延迟的变化存在于晶片硅和封装之间。延迟的变化可能导致非确定性的行为。目前,现有的PCI-e规范没有解决这个问题。(I)如果一系统、逻辑或芯片根据其输入通道上发生的事件的顺序(时间戳)总是以同样的方式进行反应(内部状态和最终输出),那么该系统、逻辑或芯片是确定性的。但是晶片处理和系统测试器的变化会导致测试接口单元行为的一定程度的不确定性。这种非确定性的行为增加了测试复杂性,因为现在测试必须检查所有变化为预期输出。图I中所示的现有的一个解决方案是AFE旁路模式,AFE旁路模式通过如下方式来管理不可预测的行为将来自DDR (双数据速率)接口的并行数据与来自PCIe AFE (模拟前端)的并行数据进行复用,多路复用器的输出进入PCIe以用于处理。因此,不可预测源(即,AFE)被旁路。当AFE旁边模式被启用时,多路复用器选择来自DDR接口的数据,并且经调节的(经重新映射以匹配DDR引脚)PCIe模式被馈送到DDR接口。因此,这些模式映射到在接收器端的PCIe核心逻辑。由PCIe传输器对这些模式的响应是使用MISR来监测和比较的,MISR最终连接到观察引脚。不幸的是,这种解决方案旁路了 AFE,且导致AFE测试覆盖范围的损失。附图
描述图I是现有技术。图2是根据本发明的实施例的计数器行为的时序图。图3是根据本发明的 实施例的用于调节数据路径的延迟的装置。图4是根据本发明的实施例的延迟调节的时序图。图5是根据本发明的实施例的装置的框图。
具体实施例方式在各种实施例当中,下文的对附图的详细描述实现了用于进行数据通信的接口的确定性(可预测的)行为。在一个具体实施例中,该接口是PCIe兼容的串行接口,并且修正接收机中的延迟变化,由此导致确定性的传输数据。因此,接收到的数据和/或发送到的数据相对于时间是可预测的,并促进对设备以及与接口相关联的逻辑的测试和验证。图2是根据本发明的实施例的计数器行为的时序图。在该时序图中,公共时钟10、复位15、延迟固定计数器20、以及链路时钟30被用来使能延迟固定计数器。第一链路时钟30从距离公共时钟10预定的距离开始启用。因此,计数器20从第一链路时钟30开始。延迟固定计数器20在每一个公共时钟10的上升沿上被重新启动(翻转)。在一个实施例中,以链路时钟比上公共时钟的时钟比率来对计数器重新启动(翻转)。图3是根据本发明的一个实施例的用于调节数据路径的延迟的装置。在一个装置中,该装置是延迟缓冲器300。然而,要求保护的主题不限于缓冲器,并且可能是寄存器、易失性或非易失性存储器、可以是可编程的或固定式的。在一个实施例中,至少部分基于来自于去歪斜缓冲器的数据的不可预测性来确定缓冲器的大小。例如,它可以基于单位间隔(UI)的时限。此外,缓冲器的大小可以至少部分基于被支持的PCIe规范版本来确定。在一个实施例中,延迟缓冲器300在PCIe物理层内的去歪斜缓冲器后被添加。然而,要求保护的主题并不限于此特定的实施例。本领域技术人员能理解到使用不同的名称、或将缓冲器、寄存器或逻辑按照它们特定实现的要求用于根复合体结构、片上系统(SoC)、存储器控制器集线器、或桥装置。然而,被要求保护的主题并不限于来自去歪斜缓冲器的数据,并且可以是从任何接收机或发射机或中间存储器所接收到的。同样地,被要求保护的主题并不限于PCIe规范中所示的Π时限。本领域的技术人员能理解到基于应用的类型以及特定协议和定时要求的指定而对不同缓冲器大小的诸多修改。在一个具体实施例中,对于PCIe第二代规范的操作模式,缓冲器的深度是20UI,对于PCIe —代规范的模式,深度是10Π。在该图中,多个触发器寄存器24从去歪斜缓冲器接收数据,并存储数据。每个触发器的输出被耦合到多路复用器26的输入。多路复用器输入选择被耦合到逻辑28,逻辑28确定适当的时间以使能多路复用器的输出。逻辑28分析存储在寄存器22中的目标延迟。在一个实施例中,目标延迟是被编程为一值的内部寄存器,该值表示在PCIe接收机侧的时间延迟。在一个实施例中,在接收机侧的目标延迟是固定值。在其它实施例中,目标延迟可以是在接收机侧的最大可能延迟。然而,目标延迟不限于固定值或可能最大延迟,并且可以是基于路由、协议、半导体处理、或特定设计实现而有所不同。跳跃指令集在PCIe接收机侧以公共时钟被发送。在同一时间,通过配置写入,在PCI Express内部使能定时延迟固定。一旦PCI Express缓冲器看到跳跃指令集,它就会调节延迟缓冲器输出指针,以匹配于与延迟固定计数器相对应的条目,该延迟固定计数器等于针对存储在寄存器22中的目标延迟所编程的配置寄存器。这种机制确保RX侧延迟总是被固定为编程值。正如前面所提到的,跳跃指令集在PCIe接收机侧被发送。跳跃命令集被用于在所有通道上传输,从而允许接收机时钟补偿逻辑对设备发射机将串行比特流时钟输出所用的时钟与设备接收机的恢复时钟之间的时钟频率变化做出补偿。在一个实施例中,所发送的第一代PCIe和第二代PCIe的跳跃指令集是COM码元后面跟三个SKP码元。如果在两个末端之间有中继器,则在一末端的接收机侧,SKP码元的数目可以从I变化到5。
权利要求
1.一种用于在接口上促进确定性数据的方法,包括 在公共时钟之后的预定时间后,启动链路时钟; 基于所述链路时钟,初始化计数器; 在共同时钟的每个上升沿,以链路时钟比上共同时钟的时钟比率,重新启动计数器;以及 响应于检测到跳跃指令集,调节延迟缓冲器输出点,从而匹配于一条目,该条目对应于与寄存器中的值相等的计数器。
2.如权利要求I所述的方法,其特征在于,所述寄存器被编程为目标延迟的配置寄存器。
3.如权利要求I所述的方法,其特征在于,所述跳跃指令集是COM码元后跟三个SKP码J Li ο
4.如权利要求I所述的方法,其特征在于,所述跳跃指令集是SKP(55h)码元。
5.如权利要求4所述的方法,其特征在于,带有SKP(55h)码元的跳跃指令集拥有中继器。
6.如权利要求I所述的方法,其特征在于,所述接口是PCIe兼容接口。
7.如权利要求I所述的方法,其特征在于,所述延迟缓冲器具有基于单位时间间隔(UI)的深度。
8.如权利要求7所述的方法,其特征在于,所述延迟缓冲器的深度是20个Π。
9.如权利要求7所述的方法,其特征在于,所述延迟缓冲器的深度是10个Π。
10.一种促进确定性数据的接口,包括 接收机,接收串行数据流; 码元边界电路,接收所述串行数据流并从至少部分基于跳跃命令集的串行数据流中确定码元边界; 解码器,从码元边界电路的输出中接收所述串行数据流; 第一缓冲器,接收所述解码器的输出,并对来自所述串行数据流的恢复时钟和传输链路时钟之间的时钟频率差异做出补偿; 第二缓冲器,接收所述第一缓冲器的输出,并对通道到通道的歪斜做出补偿; 第三缓冲器,响应于检测到待匹配的跳跃指令集而调节指针;以及 对应于计数器的条目,所述计数器等于寄存器中使得接收到的串行数据流是确定性的值。
11.如权利要求10所述的接口,其特征在于,所述发送时钟是来自PCIe设备。
12.如权利要求10所述的接口,其特征在于,所述缓冲区通过对串行数据流添加或删除SKP马钰来对时钟频率的差异做出补偿。
13.如权利要求10所述的接口,其特征在于,接收所述解码器的输出并对来自所述串行数据流的恢复时钟和传输链路时钟之间的时钟频率差异做出补偿的所述第一缓冲器是弹性缓冲器。
14.如权利要求10所述的接口,其特征在于,所述第二缓冲区是去歪斜缓冲器。
15.如权利要求10所述的接口,其特征在于,所述第三缓冲区是延迟缓冲器。
16.如权利要求10所述的接口,其特征在于,所述解码器是10b/8b解码器。
17.如权利要求10所述的接口,其特征在于,发射机电路,响应于所接收的确定性的串行数据流,重置传输差异,并调度对发射机的LFSE进行重置的跳跃指令集。
18.—种串行数据接口的物理层,包括 接收机,接收串行数据流; 码元边界电路,接收串行数据流并从至少部分基于跳跃命令集的串行数据流中确定码元边界; 解码器,从所述码元边界电路的输出中接收所述串行数据流; 第一缓冲器,接收所述解码器的输出,并对来自串行数据流的恢复时钟和传输链路时钟之间的时钟频率差异做出补偿; 第二缓冲器,接收所述第一缓冲器的输出; 逻辑控件,接收所述第二缓冲器的输出,并控制第三缓冲器,其中所述第三缓冲器响应于检测待匹配的跳跃指令集而调节指针;以及 对应于计数器的条目,所述计数器等于寄存器中使得接收到的串行数据流是确定性的值。
19.如权利要求18所述的物理层,其特征在于,发送机电路,响应于所接收的确定性的串行数据流,调度对LFSR进行重置的跳跃指令集,并在来自发射机电路的数据流上执行相同的确定性时间延迟固定。
20.如权利要求18所述的物理层,其特征在于,所述逻辑控件是确定性的控制和计数器电路。
全文摘要
为了解决对集成器件、片系统以及计算机的高效可靠测试的需要,通过固定与接收机和发送机相关的数据流的延迟变化来实现确定性的接口行为。接口可以是兼容PCIe的串行接口,并修正接收器的延迟变化,最终导致确定性的传输数据。因此,接收到和/或发送的数据相对于时间是可预测的,并促进设备以及与接口相关联的逻辑的测试和检验。
文档编号G06F13/14GK102918513SQ201180017605
公开日2013年2月6日 申请日期2011年3月29日 优先权日2010年4月1日
发明者B·沙科, G·J·加西亚, S·尤帕德雅亚 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1