CN101529404B - 用于时间戳消息的方法 - Google Patents

用于时间戳消息的方法 Download PDF

Info

Publication number
CN101529404B
CN101529404B CN2007800392557A CN200780039255A CN101529404B CN 101529404 B CN101529404 B CN 101529404B CN 2007800392557 A CN2007800392557 A CN 2007800392557A CN 200780039255 A CN200780039255 A CN 200780039255A CN 101529404 B CN101529404 B CN 101529404B
Authority
CN
China
Prior art keywords
time
message
equipment
tracking
stamping messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007800392557A
Other languages
English (en)
Other versions
CN101529404A (zh
Inventor
O·林德瓦尔
T·云尼拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Origin Asset Group Co ltd
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN101529404A publication Critical patent/CN101529404A/zh
Application granted granted Critical
Publication of CN101529404B publication Critical patent/CN101529404B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种用于计算消息排队时间的方法。所述方法包括在第一时间将消息排队到缓冲器中,生成表示在所述第一时间所述缓冲器中的消息数目的时间戳消息,传送该消息到另一设备,传送该时间戳消息到跟踪设备,并基于所述时间戳消息、所述第一时间以及所述缓冲器中的数据量计算所述消息排队时间。

Description

用于时间戳消息的方法
技术领域
本发明的实施例普遍涉及用于数据队列的时间戳处理。
背景技术
当在被跟踪的源或设备与用于解释跟踪数据的目标或设备之间存在先进先出类型(FIFO)的缓冲器时,使用典型的方法难以准确地从一个专用集成电路(ASIC)内的多个跟踪源测量消息的相对通过时间。
当前的方法采用时间戳计数器的使用来测量ASIC中的时间;然而,该过程需要在ASIC内实现相当大的计数器用于将要进行的准确的计时测量。使得准确地测量消息的通过时间的问题更加复杂的是,典型的方法要求按比例降低时间戳的准确性,以减少基于计数的时间戳所消耗的带宽,其中所述准确性与大小成正比。而且,为了减少功耗,通常将额外的休眠时钟计数器用于跟踪ASIC深度休眠期间的时间,这需要额外的计数器以及在走出深度休眠之后通过软件来调整时间戳计数器的过程。使用额外的时钟控制和软件集成使得时间戳过程更加复杂。
因此,需要一种被配置为准确地测量消息排队时间且消耗最小的物理硬件开销和最小的带宽的设备和方法。
发明内容
本发明的实施例提供了一种被配置为准确地测量消息排队时间且消耗最小的物理硬件开销和最小的带宽的设备和方法。为了测量消息排队时间,在消息传送的接收侧将接收时间、消息排队时FIFO缓冲器状态以及之前的消息的长度用于计算时间戳。
本发明的实施例还提供了一种用于计算消息排队时间的方法。所述方法包括:在第一时间将消息排队到缓冲器中,生成表示在所述第一时间所述缓冲器中的消息数目的时间戳消息,传送所述消息到另一设备,传送所述时间戳消息到跟踪设备,以及基于所述时间戳消息、所述第一时间以及所述缓冲器中的数据量计算所述消息排队时间。
本发明的实施例还提供了一种用于确定消息排队时间的系统。所述系统包括:置于集成电路上的跟踪接口设备,其被配置为在第一时间将消息排队到缓冲器中,以及生成表示在所述第一时间所述缓冲器中的消息数目的时间戳消息;以及将所述跟踪接口设备与外部跟踪设备连接的输出端,其中所述外部跟踪设备被配置为基于所述时间戳消息、所述第一时间以及所述缓冲器中的数据量计算所述消息排队时间。
本发明的实施例还提供了一种用于计算消息排队时间的电路。所述电路包括:排队模块,其被配置为在第一时间将消息排队到缓冲器中;时间戳生成模块,其被配置为生成表示在所述第一时间所述缓冲器中的消息数目的时间戳消息;通信链路,其被配置为允许将所述消息传送到另一设备;以及跟踪模块,其被配置为基于所述时间戳消息、所述第一时间以及所述缓冲器中的数据量计算所述消息排队时间。
本发明的实施例还提供了一种用于计算消息排队时间的系统。所述系统包括:排队装置,用于在第一时间将消息排队到缓冲器中;时间戳生成装置,用于生成表示在所述第一时间缓冲器中的消息数目的时间戳消息;通信装置,其被配置为允许将所述消息传送到另一设备;以及计算装置,用于基于所述时间戳消息、所述第一时间以及所述缓冲器中的数据量计算所述消息排队时间。
本发明的实施例还提供了一种包含在计算机可读介质上的计算机程序,所述计算机程序被配置为通过执行该计算机程序的处理器来控制用于计算消息排队时间的方法。所述方法包括:在第一时间将消息排队到缓冲器中,生成表示在所述第一时间所述缓冲器中的消息数目的时间戳消息,传送所述消息到另一设备,传送所述时间戳消息到跟踪设备,以及基于所述时间戳消息、所述第一时间以及所述缓冲器中的数据量计算所述消息排队时间。
附图说明
应该参考附图以便准确理解本发明,其中:
图1示例性示出本发明的示例性外部跟踪接口(XTI)系统的高级别框图;
图2示例性示出显示元件的驱动时钟的本发明示例性XTI系统的高级别框图;
图3示例性示出本发明的示例性XTI系统的输出的相对时序;
图4示例性示出本发明的示例性方法的流程图;以及
图5示例性示出本发明的另一示例性XTI系统的输出的相对时序;
具体实施方式
图1示例性示出置于ASIC 101上的本发明的示例性外部跟踪接口(XTI)系统100的高级别框图。尽管在本实施例中系统100被置于ASIC 101上,但是可选地系统100可以被置于任何分离的电路上,并且本发明不限于与ASIC一起使用。XTI系统100通常包括与判别器106通信的系统跟踪模块(STM)102。通常判别器106还经由软件数据连接107(SW数据)与多个处理器和DMA控制器108通信。系统100还包括与判别器106通信的存储器和外围设备110,与STM 102通信的外部跟踪设备112,以及与外部跟踪设备112通信的PC 114。囊括外部跟踪设备112和PC 114作为调试和测试系统(DTS)115的一部分。
图2示例性示出显示用于元件的驱动时钟的示例性XTI系统100子块(sub-block)的高级别框图。更具体地,在示例性XTI系统100中,图中左侧组件(配置接口设备201、时钟控制设备202、跟踪总线接口设备203以及消息生成设备204)都用总线时钟来计时。相反地,图中右侧示出的组件(FIFO读逻辑205和输出控制206)被在XTI输出时钟域中计时。然而,FIFO缓冲器207桥接在两个时钟域之间。对于XTI子块的主要输入是连接到那里的两种总线。第一种总线通常被称为配置总线105,通常被用于设置运行时间配置(启用和禁用不同的主控(master),设置内部时钟设置等),而第二种总线通常被称为跟踪总线103,被用于捕获跟踪数据并被置于STM 102和判别器106之间。
返回到对图1中示出的系统100的讨论,通过操作核心协议(OCP,operational core protocol)交叉(crossbar)类型架构将STM 102连接到总线主控,该架构使得若干主控利用STM 102进行跟踪成为可能。STM 102通常是OCP总线类型从动模块,其接受被置于STM 102和判别器106之间的跟踪总线103上的写传递。STM 102可以被进一步配置为封装数据并将封装的数据转发给外部跟踪设备112用于进一步处理,而无需使用ASIC101的开销。
图2中示例性示出的配置总线105通常是带有简单MByteEn OCP扩展的标准OCP接口。配置寄存器自身可以是特定于实现的,但是应该至少包括允许关于每个连接到STM 102的主控的比特的配置,并且如果主控被禁止,则STM 102通常将丢弃接收自被禁止的主控的跟踪数据。另外,配置寄存器通常包括时钟调整寄存器,该时钟调整寄存器可用于调整STM 102和外部跟踪设备112之间的接口的时钟速率。
跟踪总线103通常是被置于STM 102和判别器106之间的只写类型的OCP接口。除了MByteEn扩展之外,跟踪总线103通常使用MReqInfo扩展用以向STM 102写跟踪数据。通常,TraceMReqInf信号用于将不同的OCP总线主控彼此区分开。跟踪总线103通常是32或64位宽(bit wide),这取决于ASIC架构,并且跟踪总线103通常支持8位、16位、32位和64位接入。对于64位系统跟踪总线103地址通常是12位宽,或者对于32位系统是11位。STM 102通常丢弃子字(sub-word)寻址,也就是用于64位系统的地址中的3个最不重要的位,或者用于32位系统的2个最不重要的位,并且将仅使用TraceMByteEn用于局部的字接入。当使用64位STM 102时,16和32位接入通常被调整到合适的字边界。类似地,当使用32位STM102时,16位接入将通常被调整到16位字边界
为了保护跟踪数据免于丢失,通常配置并控制STM 102以便中断跟踪总线103,也就是如果FIFO缓冲器207满了,则它将不接受跟踪总线103上的另外的传递。当STM 102对MASTER、OVRF或A8消息进行排队时,也可产生额外的等待状态。STM 102在一个时钟周期中仅存储一个消息到FIFO中,因此,STM 102所连接到的主控通常能够在STM 102释放FIFO中的空间时处理相对长的等待,或者能够在将数据写到STM 102之前丢弃不必要的数据。在这些特殊情形之外,STM 102通常被配置为每时钟周期接受一个接入,并且不会引起对于主控的额外的等待状态。
在消息生成子块中封装通过跟踪总线接口捕获的接入,用以创建对于跟踪设备的数据消息。XTI系统识别两种不同的跟踪模式。每个主控可被配置用于SW或HW模式,它们使用稍有不同的消息组合来输出不同类型的数据。SW和HW消息两者都使用相同的基础低级别消息类型,尽管不是所有的消息类型都被这两种模式使用。通过有限状态机(FSM,finite statemachine)(未示出)来执行消息生成。FSM通常在IDLE状态中启动STM 102,并且将在FIFO缓冲器为空并且没有消息要处理时返回到该状态。在IDLE状态期间,STM 102可以传送IDLE消息,并且STM 102也可以在其空闲时停止时钟输出。
如果STM 102收到来自SW主控的接入,并且对于同一主控它还未处于SW数据状态,则其通常转变到SW状态。在SW状态,STM 102将排队MASTER消息,以通知跟踪设备接下来的消息将来自哪个主控。STM 102还将自动地从SW状态转变到SW地址状态。在SW地址状态中,STM 102将排队A8消息,以用信号通知用于后续一个(多个)数据消息的信道编号。STM 102将自动地从SW地址状态转变到SW数据状态。
STM 102将停留在该状态,直到接收到来自另一主控、来自同一主控上的另一信道的接入,或者如果在FIFO缓冲器被清空之前没有收到新的消息。在SW数据状态,对于接收到的写接入,STM 102将排队数据消息。数据消息的大小被通过所用字节来确定,并且其通常是尽可能的小,但仍然包含所述接入中的所有活动的字节。如果STM 102收到来自HW主控的接入,并且对于同一主控它未处于HW数据状态,则STM 102将转变到HW状态。在HW状态,STM将排队MASTER消息,以通知跟踪设备接下来的消息来自哪个主控。如果地址中的Overflow(溢出)位是高的,则STM 102将从HW或HW数据状态转变到OVRF(溢出)状态。在OVRF状态,STM将排队OVRF消息,以通知跟踪设备主控上已出现溢出。如果地址中的Overflow位是低的,则STM将随后从HW状态转变到HW数据状态,并自动地从OVRF状态转变到HW数据状态。在HW数据状态,对于接收到的写接入,STM将排队数据消息。
通常,参考XTI设计在每个上文提到的状态中消耗至少一个时钟周期,通常仅一个时钟周期,但是如果FIFO缓冲器是满的,则延时可能会更长。因此,从IDLE(或HW数据)状态排队SW消息通常将消耗三个时钟周期,在此期间STM 102通常将不会接受任何额外的总线接入请求。只要STM 102停留在上文提到的HW数据或SW数据状态,STM 102便能够在一个时钟周期中排队来自同一主控的另外的消息。
消息中的时间戳通常被配置为指示跟踪设备112在消息被排队时FIFO缓冲器207中有多少消息。指示消息数目的时间戳使得跟踪设备112基于消息到达跟踪设备112的时间以及该消息被传送前FIFO中的数据量,来计算消息被排队的时间成为可能。除了通知消息的结束之外(其通常使用时间戳消息来通知),STM 102通常处理消息封装过程。本发明的XTI硬件不需要该消息结束标记,但是来自消息的结束的标记可以被跟踪设备和软件协议使用,在由于溢出或其他干扰数据丢失的情况,所述设备和协议也可使用时间戳消息来分离连续的消息。
SW模式提供了有效的方法来通过XTI接口传送软件调试信息。SW模式通常定义大约256个可在跟踪设备112中被分开处理的不同的信道。对于信道的示例性使用是对每个软件过程或任务分配不同的信道,因此关于正被调试的任务的调试信息可被容易地提取。此外,在发送SW消息时不需要在软件中禁用中断,因为信道创建了固有线程系统(natural threadingsystem)用于所述消息,因此即使其他任务中断了发送过程,也保持该消息内容。SW模式通常不支持数据丢失,因此其通常不能生成OVRF消息。当FIFO缓冲器207充满时,STM 102将中断跟踪总线(因而中断与其连接的主控)。
HW模式提供了灵活的方法用以通过XTI接口传送不同类型的数据,而STM 102不必理解数据的重要性或内容。通常HW消息被使用特定的辅助模块来生成,例如其能够为系统提供I/O跟踪和程序计数器跟踪功能。在HW模式中,在主控不能通过STM 102发送其全部数据的情况下,主控支持溢出是可能的。主控可使用OVRF消息用信号通知外部跟踪设备数据的丢失,所述消息告知外部跟踪设备丢失了该溢出消息和来自同一主控的在前消息之间的一些数据。
如上所述,STM 102在FIFO缓冲器207中存储消息,并且如果总线接口时钟与输出接口时钟不一致则还可被用于交叉(cross)时钟域边界,如图2所示。可以通过许多已知技术来完成FIFO缓冲器207的实现,这取决于期望的优化级别。例如,实现可以使用一个FIFO槽(slot)来存储一个消息,而另一实现可以每个槽存储一个总线接入。不同的实现也可使用不同的压缩方法来在缓冲器中存储数据,以增加FIFO的存储效率。
FIFO读逻辑205每次在缓冲器中读取一个消息,并将它们发送到输出控制206,随后输出控制206传送它们到外部跟踪设备112。如果需要,输出控制通常被从FIFO读逻辑205分别分割,使得能够以其他传输方法代替该输出控制逻辑。例如,另一实现可使用与串行ATA类似的信令来输出跟踪数据。
输出控制逻辑负责驱动输出。输出的相对时序显示在图3和5中。STM102的输出使用双倍数据速率(DDR)信令,这意味着新的数据被存储在时钟的两个边缘上的数据输出中。这样,从XTI的有效比特率输出是8*f(时钟)。例如,用100MHz的时钟,XTI吞吐量可达到800兆比特/秒(Mbit/s)。如果合适的接收器也适用于外部跟踪设备,则可用另外的传输来替代输出逻辑。外部跟踪设备112等待XTI半字节(nibble)流中的暂停(静默)。如果检测到足够长的暂停,则确保了下一半字节属于消息报头,也就是说,它是新消息的第一个半字节。
时钟控制子块通过在不需要时关闭时钟来控制STM 102中的电源管理。STM 102还输出空闲信号到ASIC最高级别,其通知STM 102准备好被关闭电源,也就是说,FIFO缓冲器空了并且所有的状态机都处于空闲状态。
XTI系统100允许通过实现外部跟踪模块112进行的扩展,该外部跟踪模块提供跟踪数据到STM 102。该外部跟踪模块112创建跟踪总线103上的写接入,并且STM 102为外部跟踪设备112对其进行捕获和封装。
如果通过跟踪设备发送的单个数据项在STM 102所支持的最大数据大小范围内,则由于仅需要单个写接入因此跟踪操作是简单的。在这种情况下,跟踪模块应该使用时间戳地址以便将数据写到FIFO缓冲器207。然而,如果跟踪数据不在XTI字范围内,那么跟踪模块通常将使用稍微更加复杂的信令系统以便使得实现再同步成为可能,即使丢失了数据流中的一些数据。除了单个数据块的恰好最后的写之外,其他所有的都应该在XTI中使用非时间戳地址,并且该最后的写则应该是关于时间戳地址。
操作中,消息中的时间戳告诉外部跟踪设备112当消息被排队时FIFO缓冲器207中有多少消息。该信息使得外部跟踪设备112可以基于消息到达的时间以及消息被传送之前FIFO缓冲器207中的数据量,计算消息被排队的时间。例如,假设外部跟踪设备在时间123μs收到D8TS消息,并且时间戳值是3,这表明在消息被排队时FIFO缓冲器207中有3个消息。如果PTI输出时钟是10MHz(4位,双倍数据速率),并且在前的3个消息是MASTER、C8和D32。在该场景中,通过注意到这占用15个时钟边缘或7.5个时钟周期来输出所述在前的3个消息,可以计算消息被排队的时间。显然7.5个时钟周期转换为7.5*100ns,或者750ns,因而消息在123μs-750ns=122.25μs时被排队。然而,可能需要用来自外部跟踪设备112的延时和传输延时(比如管线等)来对该结果进行补偿,以获得完整准确的结果。然而,对于计算时间差别(differential)来说,该方法的准确性通常是足够的。
因此,就规模来说,时间戳中的误差是FIFO中的第一消息之前的消息的一半长度。时间戳通常表示FIFO缓冲器207中的消息的数量;该时间戳通常不考虑在FIFO缓冲器207之后遇到的任何延时。如果这些额外的延时在长度上不一致,那么时间戳通常不会充分地确保对时间的准确估计。发明人预期时间戳在每个应用中被有效地使用,通常在STM FIFO和外部pin接口之间不放置缓冲器。然而,在普通使用中,由于通常感兴趣的是消息流的开始和结束时间(其被本发明的方法覆盖),因此不需要所有消息的准确时间。
图4示出本发明示例性方法的流程图。该示例性方法开始于步骤400并继续到步骤401,在那里生成时间戳消息。时间戳消息通常包括指示在被讨论的(与时间戳关联的消息)消息被排队时STM FIFO缓冲器中的消息数目或数量的信息。该时间戳消息在STM 102中被生成,并随后被传送到外部跟踪设备112,如步骤402示例的以及图1所示。一旦在外部跟踪设备112中收到该时间戳消息,外部跟踪设备112可以使用该时间戳信息来计算与时间戳关联的消息被排队的时间。可以由与时间戳关联的消息到达FIFO的时间以及消息被传送前FIFO中的数据量来确定对与时间戳关联的消息被排队的时间的计算。一旦在步骤403计算出消息排队时间,该方法继续到步骤404,在那里该方法结束。
在本发明的另一实施例中,消息排队时间的计算可以在ASIC上完成。例如,时间戳信息可以由ASIC 100上的组件来处理,而不是将时间戳消息信息发送到外部跟踪设备。能够实施(conduct)该处理的机载组件的实例可以是STM 102。类似地,在本发明的另一实施例中,可以通过诸如图1中示出的PC 114之类的外部处理设备来实施对消息排队时间的计算。在本发明的该实施例中,可以将时间戳消息信息,连同指示与时间戳消息关联的消息到达FIFO的时间的以及在与时间戳消息关联的消息被传送之前FIFO中的信息量的信息一起,传送到PC 114用以处理和确定消息排队时间。
本发明方法的众多优点中的部分优点包括与典型的全尺寸时间戳计数器相比,计算FIFO缓冲器状态的过程需要更少的ASIC上的硬件。另外,要传送的比特数目仅仅等于FIFO缓冲器大小的Log2,并且本发明的方法更少地依赖ASIC内部使用的实际时钟速率。而且,不需要对时间戳计数器的软件调整以补偿非计数周期,例如深度休眠或长空闲时间,并且最终复杂性通常被从ASIC转移到目标,这样更经济的实现了复杂性而无需占用ASIC开销和空间(landscape)。
在本发明的另一实施例中,可以提供包含在计算机可读介质上的计算机程序。当计算机程序被计算机处理器执行时,可以被配置为控制上文讨论的任何方法和设备。在本发明的一具体实施例中,计算机程序被配置为通过执行该计算机程序的处理器来控制用于计算消息排队时间的方法。该法包括:在第一时间将消息排队到缓冲器中,生成表示在所述第一时间缓冲器中的消息数目的时间戳消息,传送该消息到另一设备,传送该时间戳消息到跟踪设备,并基于该时间戳消息、第一时间以及缓冲器中的数据量计算消息排队时间。
本领域普通技术人员将容易理解,可以使用不同顺序的步骤,和/或不同于那些所公开的配置中的硬件元件来实现上文讨论的本发明。因此,尽管基于这些优选实施例描述了本发明,但是对于本领域技术人员来说许多修改、变形以及替代性的构造是显而易见的,其仍然处于本发明的精神和范围内。因此,应该参照所附权利要求以便确定本发明的界限和范围。

Claims (17)

1.一种用于时间戳消息的方法,包括:
在第一时间将第一消息排队到缓冲器中;
生成表示在所述第一时间所述缓冲器中的消息的数目的时间戳消息;
传送所述第一消息到跟踪设备;
传送所述时间戳消息到所述跟踪设备,其中,基于所述第一消息到达所述跟踪设备的时间和所述时间戳消息来计算消息排队时间。
2.如权利要求1所述的方法,其中生成所述时间戳消息包括在跟踪接口模块中生成所述时间戳消息。
3.如权利要求2所述的方法,其中排队所述第一消息在所述跟踪接口模块中实施。
4.如权利要求2所述的方法,还包括在所述跟踪接口模块中接收跟踪信息,所述跟踪接口模块处在专用集成电路上并经由跟踪总线与判别器通信。
5.一种用于时间戳消息的设备,包括:
排队模块,其被配置为在第一时间将第一消息排队到缓冲器中;
时间戳生成模块,其被配置为生成表示在所述第一时间所述缓冲器中的消息的数目的时间戳消息;
通信链路,其被配置为传送所述第一消息和所述时间戳消息到跟踪设备,其中,所述跟踪设备基于所述第一消息的到达时间和所述时间戳消息来计算消息排队时间。
6.如权利要求5所述的设备,其中所述时间戳生成模块包括跟踪接口模块。
7.如权利要求6所述的设备,其中所述跟踪设备与所述排队模块通信。
8.如权利要求5所述的设备,还包括:
经由硬件接口与所述排队模块通信的至少一个存储器或外围设备;以及
经由操作系统监控器与所述排队模块通信的至少一个处理器或直接存储访问控制器。
9.一种用于时间戳消息的设备,包括:
用于在第一时间将第一消息排队到缓冲器中的装置;
用于生成表示在所述第一时间所述缓冲器中的消息的数目的时间戳消息的装置;
用于传送所述第一消息到跟踪设备的装置;
用于传送所述时间戳消息到所述跟踪设备的装置,其中,基于所述第
一消息到达所述跟踪设备的时间和所述时间戳消息来计算消息排队时间。
10.如权利要求9所述的设备,其中生成所述时间戳消息包括在跟踪接口模块中生成所述时间戳消息。
11.如权利要求10所述的设备,还包括用于在所述跟踪接口模块中接收跟踪信息的装置,所述跟踪接口模块处在专用集成电路上并经由跟踪总线与判别器通信。
12.一种用于计算消息排队时间的方法,包括:
接收在第一时间被排队到缓冲器中的第一消息;
接收时间戳消息,其中所述时间戳消息代表在所述第一时间所述缓冲器中的消息的数目;
基于所述时间戳消息和到达时间计算消息排队时间,其中所述到达时间限定所述第一消息何时被接收。
13.一种用于计算消息排队时间的设备,包括:
用于接收在第一时间被排队到缓冲器中的第一消息的装置;
用于接收时间戳消息的装置,其中所述时间戳消息表示在所述第一时间所述缓冲器中的消息的数目;
用于基于所述时间戳消息和到达时间计算消息排队时间的装置,其中所述到达时间限定所述第一消息何时被接收。
14.一种用于时间戳消息的设备,包括:
用于在第一时间将第一消息排队到缓冲器中的排队装置;
用于生成表示在所述第一时间所述缓冲器中的消息的数目的时间戳消息的时间戳生成装置;
被配置为传送所述第一消息和所述时间戳消息到跟踪设备的通信装置,其中,基于所述第一消息到达所述跟踪设备的时间和所述时间戳消息来计算消息排队时间。
15.一种用于计算消息排队时间的系统,包括:
置于集成电路上的跟踪接口设备,其被配置为在第一时间将第一消息排队到缓冲器中,并生成表示在所述第一时间所述缓冲器中的消息的数目的时间戳消息;以及
连接到所述跟踪接口设备的外部跟踪设备,其中所述外部跟踪设备被配置为基于所述第一消息到达所述跟踪设备的时间和所述时间戳消息来计算消息排队时间。
16.如权利要求15所述的系统,其中所述跟踪接口设备被置于专用集成电路上。
17.如权利要求16所述的系统,还包括至少一个判别器,所述判别器被置于所述专用集成电路上并经由所述专用集成电路上的跟踪总线与所述跟踪接口设备通信。
CN2007800392557A 2006-09-22 2007-09-18 用于时间戳消息的方法 Expired - Fee Related CN101529404B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/525,125 US8160084B2 (en) 2006-09-22 2006-09-22 Method for time-stamping messages
US11/525,125 2006-09-22
PCT/IB2007/002693 WO2008035167A2 (en) 2006-09-22 2007-09-18 A method for time-stamping messages

Publications (2)

Publication Number Publication Date
CN101529404A CN101529404A (zh) 2009-09-09
CN101529404B true CN101529404B (zh) 2012-07-18

Family

ID=39200888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800392557A Expired - Fee Related CN101529404B (zh) 2006-09-22 2007-09-18 用于时间戳消息的方法

Country Status (6)

Country Link
US (1) US8160084B2 (zh)
EP (1) EP2064628B1 (zh)
KR (1) KR101054109B1 (zh)
CN (1) CN101529404B (zh)
TW (1) TWI430101B (zh)
WO (1) WO2008035167A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743279B2 (en) * 2007-04-06 2010-06-22 Apple Inc. Program counter (PC) trace
GB2478328B (en) * 2010-03-03 2015-07-01 Advanced Risc Mach Ltd Method, apparatus and trace module for generating timestamps
FR2983323B1 (fr) * 2011-11-28 2014-06-06 Schneider Electric Ind Sas Systeme de gestion de buffers d'evenements horodates
US8990534B2 (en) * 2012-05-31 2015-03-24 Apple Inc. Adaptive resource management of a data processing system
DE102015121940A1 (de) * 2015-12-16 2017-06-22 Intel IP Corporation Eine Schaltung und ein Verfahren zum Anhängen eines Zeitstempels an eine Tracenachricht
CN111327386B (zh) * 2018-12-14 2023-08-08 深圳市中兴微电子技术有限公司 一种延时抖动补偿方法、装置及计算机存储介质
US11231987B1 (en) * 2019-06-28 2022-01-25 Amazon Technologies, Inc. Debugging of memory operations
KR102373562B1 (ko) 2021-08-03 2022-03-10 이지케어텍(주) 메시지 처리 순서 보장 방법, 장치, 시스템 및 컴퓨터 프로그램

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397352B1 (en) * 1999-02-24 2002-05-28 Oracle Corporation Reliable message propagation in a distributed computer system
US6615371B2 (en) * 2002-03-11 2003-09-02 American Arium Trace reporting method and system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05227153A (ja) 1992-02-14 1993-09-03 Fuji Xerox Co Ltd データ伝送制御装置
US5859980A (en) * 1996-02-08 1999-01-12 Advanced Micro Devices, Inc. Network interface having adaptive transmit start point for each packet to avoid transmit underflow
US6314530B1 (en) * 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US6567932B2 (en) * 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
JP2001202270A (ja) * 2000-01-21 2001-07-27 Mitsubishi Electric Corp 内部バストレース機能付プロセッサ
US6658519B1 (en) * 2000-07-28 2003-12-02 International Business Machines Corporation Bus bridge with embedded input/output (I/O) and transaction tracing capabilities
US7069544B1 (en) * 2001-04-30 2006-06-27 Mips Technologies, Inc. Dynamic selection of a compression algorithm for trace data
KR20040026507A (ko) 2002-09-25 2004-03-31 엘지전자 주식회사 프로세서간 통신장치의 메시지 큐 길이 결정 방법
US7463653B2 (en) * 2002-12-17 2008-12-09 Texas Instruments Incorporated Apparatus and method for compression of the timing trace stream
KR100518813B1 (ko) * 2003-02-15 2005-10-05 삼성전자주식회사 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법
US7016319B2 (en) 2003-03-24 2006-03-21 Motorola, Inc. Method and apparatus for reducing co-channel interference in a communication system
US7069176B2 (en) * 2003-08-07 2006-06-27 Arm Limited Trace source correlation in a data processing apparatus
US6920586B1 (en) * 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof
US8000268B2 (en) 2004-06-30 2011-08-16 Motorola Mobility, Inc. Frequency-hopped IFDMA communication system
US10355825B2 (en) 2004-07-21 2019-07-16 Qualcomm Incorporated Shared signaling channel for a communication system
US8265091B2 (en) * 2004-08-18 2012-09-11 Avaya Inc. Traffic multiplexing using timestamping
JP4394541B2 (ja) * 2004-08-23 2010-01-06 日本電気株式会社 通信装置、データ通信方法およびプログラム
US7957275B2 (en) * 2004-09-09 2011-06-07 Jinsalas Solutions, Llc Queuing system
JP4591118B2 (ja) 2005-03-03 2010-12-01 三菱電機株式会社 通信装置、通信方法、およびプログラム
US8881114B2 (en) * 2005-05-16 2014-11-04 Texas Instruments Incorporated Stored program writing stall information when a processor stalls waiting for another processor
EP1922555B1 (en) * 2005-08-09 2014-10-08 Texas Instruments Incorporated Selectable jtag or trace access with data store and output
US7451367B2 (en) * 2006-02-14 2008-11-11 Atmel Corporation Accessing sequential data in microcontrollers
US7552363B2 (en) * 2006-03-23 2009-06-23 Arm Limited Generation of trace elements within a data processing apparatus
US7870437B2 (en) * 2007-11-14 2011-01-11 Arm Limited Trace data timestamping
US8307344B2 (en) * 2008-02-08 2012-11-06 Texas Instruments Incorporated Sliding granularity time stamping

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397352B1 (en) * 1999-02-24 2002-05-28 Oracle Corporation Reliable message propagation in a distributed computer system
US6615371B2 (en) * 2002-03-11 2003-09-02 American Arium Trace reporting method and system

Also Published As

Publication number Publication date
WO2008035167A2 (en) 2008-03-27
WO2008035167A3 (en) 2008-08-07
EP2064628B1 (en) 2017-04-19
US20080075015A1 (en) 2008-03-27
TW200832142A (en) 2008-08-01
EP2064628A4 (en) 2011-10-26
EP2064628A2 (en) 2009-06-03
CN101529404A (zh) 2009-09-09
KR101054109B1 (ko) 2011-08-03
TWI430101B (zh) 2014-03-11
KR20090054478A (ko) 2009-05-29
US8160084B2 (en) 2012-04-17

Similar Documents

Publication Publication Date Title
CN101529404B (zh) 用于时间戳消息的方法
CN110213143B (zh) 一种1553b总线ip核及监视系统
EP1690184B1 (en) Apparatus and method for time ordering events in a system having multiple time domains
KR101298862B1 (ko) Pci 익스프레스를 통해 ⅰd 기반 스트림을 가능하게 하는 방법 및 장치
US8074131B2 (en) Generic debug external connection (GDXC) for high integration integrated circuits
CN100440154C (zh) Dma设备的实时调试支持及其方法
US10132863B2 (en) Debug architecture
GB2478328A (en) Inserting time stamps into a trace stream on the occurrence of a predetermined event
GB2501135A (en) Buffers for debug information of integrated circuits
US9032109B2 (en) Prioritising event data over configuration data in a single interface in a SoC/debug architecture
RU2312386C2 (ru) Помечание событий меткой времени
EP1614043B1 (en) Diagnostic data capture within an integrated circuit
GB2501333A (en) Controlling transportation of debug data on an integrated circuit chip
US9424166B2 (en) Routing debug messages
US6662258B1 (en) Fly-by support module for a peripheral bus
GB2503881A (en) Adjusting the base address for relative addressing in a hierarchical on-chip debug network
CN114003352A (zh) 抓取处理器内部信号的系统及方法
CN109597785A (zh) 一种基于AXI4接口的PCI Express总线适配多接口的设计方法
Iman et al. Collectors and Monitors
Module Collectors and Monitors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160215

Address after: Espoo, Finland

Patentee after: NOKIA TECHNOLOGIES OY

Address before: Espoo, Finland

Patentee before: NOKIA Corp.

TR01 Transfer of patent right

Effective date of registration: 20190520

Address after: American New York

Patentee after: Origin Asset Group Co.,Ltd.

Address before: Espoo, Finland

Patentee before: NOKIA TECHNOLOGIES OY

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120718

CF01 Termination of patent right due to non-payment of annual fee