CN100524246C - 用于收集队列性能数据的方法,设备和系统 - Google Patents

用于收集队列性能数据的方法,设备和系统 Download PDF

Info

Publication number
CN100524246C
CN100524246C CNB028094123A CN02809412A CN100524246C CN 100524246 C CN100524246 C CN 100524246C CN B028094123 A CNB028094123 A CN B028094123A CN 02809412 A CN02809412 A CN 02809412A CN 100524246 C CN100524246 C CN 100524246C
Authority
CN
China
Prior art keywords
formation
signal
counter
event
response
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
CNB028094123A
Other languages
English (en)
Other versions
CN1507588A (zh
Inventor
J·查普尔
F·哈迪
K·梅塔
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1507588A publication Critical patent/CN1507588A/zh
Application granted granted Critical
Publication of CN100524246C publication Critical patent/CN100524246C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • 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
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags

Abstract

一种用于收集队列性能数据的设备,包括事件调节逻辑单元(220),用于从队列(210)接收队列进入信号(211)、队列退出信号(213)以及队列非空信号(215)。该设备还包括可以递增以及递减的计数器(230)。事件调节逻辑单元可被编程以用于在出现队列信号的预定组合时递增计数器。事件调节逻辑单元还可被编程以用于在出现队列信号的另外预定组合时递减计数器。

Description

用于收集队列性能数据的方法,设备和系统
技术领域
本发明涉及计算机系统领域。更具体地说,此发明涉及在计算机系统组件中收集队列性能数据的领域。
背景技术
为了实现计算机系统性能的协调,能够特征化计算机系统行为的各种方面是十分重要的。一种这样的方面是队列利用和行为。队列是指令或数据的临时存储空间。队列可以在整个计算机系统中定位,并且通常包含在处理器以及芯片组设备中。
在现有系统中已经使用计数器从物理上不能访问的队列中收集数据。可以由计数器独自收集的信息类型仅限于简单的平均量度,诸如吞吐量。另一个可以收集的量度是队列为满的时间的百分数。可以使用这些简单量度来完成计算机系统性能协调的数量是有限的。因此,期望获得能够从队列中收集更有意义以及更又用的数据的能力。
发明内容
在本发明的一个方面,提供了一种用于收集队列性能数据的设备,包括:
队列;
可编程事件调节逻辑单元,用于从所述队列中接收队列进入信号、队列退出信号以及队列非空信号,响应条目进入队列,所述队列进入信号被置为有效,响应条目退出队列,所述队列退出信号被置为有效,并且所述队列非空信号表明所述队列包括至少一个条目;以及
计数器,响应由事件调节逻辑单元发送的递增事件信号而进行递增,所述计数器响应由事件调节逻辑单元发送的递减事件信号而进行递减。
优选地,所述事件调节逻辑单元还用于接收队列非空信号的相反信号。
优选地,所述设备进一步包括与所述计数器相耦合的数据寄存器,用于存储阈值。
优选地,所述设备进一步包括比较器,所述比较器包括第一输入、第二输入以及输出,所述第一输入与数据寄存器相耦合,所述第二输入与计数器相耦合,且所述输出被提供给事件调节逻辑单元,每当所述计数器达到在所述数据寄存器中存储的阈值之时,所述比较器就输出信号。
优选地,所述事件调节逻辑包括可编程的功能,用于允许队列进入信号、队列退出信号、队列非空信号、队列空信号以及比较器输出信号的各种组合作为递增或递减事件。
优选地,所述的设备进一步包括寄存器块,所述寄存器块包括:
命令寄存器,被耦合来从所述可编程事件调节逻辑单元接收信号;以及
另一数据寄存器,与所述计数器相耦合,并且还耦合到所述命令寄存器。
在本发明的另一个方面,提供了一种用于收集队列性能数据的设备,包括:
队列;
可编程事件调节逻辑单元,用于从所述队列中接收队列进入信号、队列退出信号以及队列非空信号,响应条目进入队列,所述队列进入信号被置为有效,响应条目退出队列,所述队列退出信号被置为有效,并且所述队列非空信号表明所述队列包括至少一个条目;以及
第一计数器,响应由事件调节逻辑单元发送的第一递增事件信号而进行递增,所述第一计数器响应由事件调节逻辑单元发送的第一递减事件信号而进行递减;以及
第二计数器,响应由事件调节逻辑单元发送的第二递增事件信号而进行递增,所述第二计数器响应由事件调节逻辑单元发送的第二递减事件信号而进行递减。
优选地,所述事件调节逻辑单元还用于接收队列非空信号的相反信号。
优选地,所述的设备进一步包括与所述第一计数器相耦合的数据寄存器,用于存储阈值。
优选地,所述的设备进一步包括比较器,所述比较器包括第一输入、第二输入以及输出,所述第一输入与数据寄存器相耦合,所述第二输入与第一计数器相耦合,且所述输出被提供给事件调节逻辑单元,每当所述计数器达到在所述数据寄存器中存储的阈值之时,所述比较器就输出信号。
优选地,所述事件调节逻辑包括可编程的功能,用于允许队列进入信号、队列退出信号、队列非空信号、队列空信号以及比较器输出信号的各种组合作为递增或递减事件。
优选地,所述第二计数器响应表明第一计数器的值与数据寄存器的值相匹配的比较器输出而进行递增。
优选地,所述的设备进一步包括寄存器块,所述寄存器块包括
命令寄存器,被耦合来从所述可编程事件调节逻辑单元接收信号;以及
另一数据寄存器,与所述计数器相耦合,并且还耦合到所述命令寄存器。
在本发明的又一个方面,提供了一种用于收集队列性能数据的系统,包括:
处理器;以及
与所述处理器相耦合的系统逻辑设备,所述系统逻辑设备包括:
队列,
可编程事件调节逻辑单元,用于从所述队列接收队列进入信号、队列退出信号以及队列非空信号,响应条目进入队列,所述队列进入信号被置为有效,响应条目退出队列,所述队列退出信号被置为有效,并且所述队列非空信号表明所述队列包括至少一个条目;以及
计数器,响应由事件调节逻辑单元发送的递增事件信号而进行递增,所述计数器响应由事件调节逻辑单元发送的递减事件信号而进行递减。
优选地,所述事件调节逻辑单元还用于接收队列非空信号的相反信号。
优选地,所述系统进一步包括与所述计数器相耦合的数据寄存器,用于存储阈值。
优选地,所述系统逻辑设备进一步包括比较器,所述比较器包括第一输入、第二输入以及输出,所述第一输入与数据寄存器相耦合,所述第二输入与计数器相耦合,且所述输出被提供给事件调节逻辑单元,每当所述计数器达到在所述数据寄存器中存储的阈值之时,所述比较器就输出信号。
优选地,所述事件调节逻辑单元包括可编程的功能,用于允许队列进入信号、队列退出信号、队列非空信号、队列空信号以及比较器输出信号的各种组合作为递增或递减事件。
优选地,所述系统逻辑设备进一步包括寄存器块,所述寄存器块包括:
命令寄存器,被耦合来从所述可编程事件调节逻辑单元接收信号;以及
另一数据寄存器,与所述计数器相耦合,并且还耦合到所述命令寄存器。
在本发明的再又一个方面,提供了一种用于收集队列性能数据的方法,包括:
向可编程事件调节逻辑单元发送队列进入信号、队列退出信号以及队列非空信号,响应条目进入队列,所述队列进入信号被置为有效,响应条目退出队列,所述队列退出信号被置为有效,并且所述队列非空信号表明所述队列包括至少一个条目;
响应队列进入信号、队列退出信号以及队列非空信号的第一可编程组合的出现,把递增事件信号置为有效;
响应把递增事件信号置为有效,递增计数器;
响应队列进入信号、队列退出信号以及队列非空信号的第二可编程组合的出现,把递减事件信号置为有效;以及
响应把递减事件信号置为有效,递减计数器。
优选地,所述方法进一步包括把计数器的值存储在数据寄存器中。
优选地,所述方法进一步包括把计数器的值与数据寄存器的值进行比较。
附图说明
通过下文给出的详细说明以及通过本发明实施例的附图,将能够全面地理解本发明,然而,这些内容不应该认为是将本发明限定为所描述的具体实施例,而仅仅是用于解释和理解。
图1是一个包括队列以及队列性能数据收集单元的计算机系统的框图。
图2是与事件调节逻辑单元耦合的队列的框图,其中所述事件调节逻辑单元依次与计数器耦合。
图3是包括事件调节逻辑单元以及两个计数器的队列性能数据收集单元的框图。
图4是示范经由图3的队列性能收集单元进行的一遍采样工作量的时序图,其中所述队列性能收集单元被设置成用于以阈值1获取队列头测量。
图5是示范经由图3的队列性能收集单元进行的一遍采样工作量过程的时序图,其中所述队列性能收集单元被设置成用于以阈值2获取队列头测量。
图6是示范经由图3的队列性能收集单元进行的一遍采样工作量过程的时序图,其中所述队列性能收集单元被设置成用于以阈值3获取队列头测量。
图7是示范经由图3的队列性能收集单元进行的一遍采样工作量过程的时序图,其中所述队列性能收集单元被设置成用于以阈值4获取队列头测量。
具体实施方式
下文所描述的示例性实施例利用了在队列中产生的多个信号,包括队列进入信号、队列退出信号以及队列非空信号。除了允许计数器递增或递减外,这些信号还提供了比先前更宽范围的测量可能性。所述实施例能够使用一个以上的计数器。
图1是一个包括队列122以及队列性能数据收集单元124的计算机系统的框图。队列122以及队列性能数据收集单元124包括在系统逻辑设备120中。系统逻辑设备120从处理器110接收命令。该示例性实施例中的命令临时存储在队列122中。稍后,将命令传送到输入/输出集线器150中。在处理器110、系统逻辑设备120以及输入/输出集线器150之间还可以进行许多其他类型的通信。系统逻辑设备120进一步与图形控制器130以及系统存储器140耦合。
队列性能数据收集单元124从队列122接收信号,并执行数据收集操作。一些可能的数据收集操作在下文论述。
虽然此示例性实施例论述了处理器110以及输入/输出集线器150之间仅具有单个队列的情况,但是其他的实施例能够在多个接口之间使用多个队列。队列122意在示范可包括在计算机系统中的多个可能的队列中的一个。
图2是与事件调节逻辑单元220耦合的队列210的框图,其中事件调节逻辑单元220依次与计数器230耦合。队列210向事件调节逻辑单元220提供队列进入信号211、队列退出信号213以及队列非空信号215。队列非空信号215的相反信号(实际上是队列空信号)也提供给事件调节逻辑单元220。每当新条目(entry)一进入队歹210,就在一个时钟周期内使队列进入信号211有效。每当条目从队列210退出,在一时钟周期内使队列退出信号213有效。每当在队列210中存在一个或多个条目,就使队列非空信号有效。
事件调节逻辑单元220使用来自于队列210的一个或多个信号来产生递增事件信号221以及递减事件信号223。该递增和递减事件信号221和223与计数器230耦合。计数器230响应递增事件信号221的有效而递增,以及响应递减事件信号223的有效而递减。
事件调节逻辑单元220的功能能够经由软件可视(software—visible)的寄存器来编程。事件调节逻辑单元220的一个可能的功能是:每当队列进入信号有效就使递增事件信号221有效,以及每当队列退出信号213有效就使递减事件信号223有效。如果队列进入信号211以及队列退出信号213两者都有效,那么事件调节逻辑不使递增事件信号221有效也不使递减事件信号223有效。每当新条目进入队列,就递增计数器230以及每当条目退出队列就递减计数器230,计数器将总包含这样一个值,即该值能够准确地表示出队列目前的填充级。
事件调节逻辑单元220可被编程以用于通过使用队列进入信号211、队列退出信号213、队列非空信号215以及队列非空信号215的相反信号的各种组合来执行其他分析任务,以便触发递增事件信号221以及递减事件信号223的有效。
图3是包括事件调节逻辑单元320的队列性能数据收集单元的框图。该示例性实施例被配置以用于执行队列头的测量。还可能存在其他的配置以用于能够进行其他类型的队列分析。事件调节逻辑单元320从队列310接收队列进入信号311、队列退出信号313、队列非空信号315以及队列空信号317(队列非空信号315的相反信号)。事件调节逻辑单元320将递增事件A信号传送给计数器A,并将递增事件B信号传送给计数器B。计数器A将它的值传送给比较器330的一个输入端。比较器330从数据寄存器A接收其另一个输入,所述数据寄存器A对软件来说是可编程的且可视的。在此例中,当计数器值与数据寄存器A的内容相匹配时,比较器输出信号331成为有效的。将比较器输出331提供给事件调节逻辑单元320。其他的实施例也是可能的,其中当比较器330检测到计数器A的值小于数据寄存器A的值时,以及当比较器330检测到计数器A的值大于数据寄存器A的值时,比较器330使其输出有效。比较器330的功能性是可以进行编程的。
图3的队列性能数据收集单元进一步包括命令寄存器组A和B,它们均与事件调节逻辑单元320耦合。命令寄存器A和B还分别与数据寄存器A和B耦合。
对于此例来说,将阈值等级写入数据寄存器A。事件调节逻辑单元320被编程以便每当队列非空信号315有效,就使递增事件A信号有效。事件调节逻辑单元320还被编程以用于响应比较器输出信号331的有效而使递增事件B信号有效。每当队列退出信号313有效,就使计数器A复位。
在此示例性实施例中实现的队列头测量是依照如下来操作的。当在队列310中存在条目时,使队列非空信号315有效。事件调节逻辑单元320响应队列非空信号315的有效而使递增事件A信号有效。计数器A响应递增事件A信号的有效而进行递增。计数器A连续递增每个时钟周期,直到计数器A响应队列退出信号313的有效而复位。
在每个时钟周期期间,比较器330将计数器A的值与存储在数据寄存器A中的阈值进行比较。当比较器330检测到匹配时,使比较器输出信号331有效,导致了递增事件B信号的有效。计数器B响应递增事件B信号的有效而进行递增。此种方式下,在工作量运行期间,计数器B跟踪一队列条目保持在队列头处达到至少由存储在数据寄存器A中的阈值所表明的时钟周期数之久的次数。在工作量运行的末尾,计数器B的值可以通过读取数据寄存器B而被访问到,所述数据寄存器B锁存计数器B的值。
如下面在图4至7的时序图中所示那样,通过观察可重复的工作量的多次运行,将会更好的理解图3的队列性能数据收集单元的操作。
图4是示范经由图3的阈值为1的队列性能收集单元进行的一遍采样工作量过程的时序图,其中所述阈值1存储在数据寄存器A中。在时钟周期1期间,队列非空信号315以及队列退出信号313无效,且计数器A和B设置为0。因为该例中的阈值等级为1且计数器A为0,因此比较器输出信号331无效。
在时钟周期2期间,队列非空信号315变为有效的,且计数器A递增。计数器A的值目前与阈值匹配,并且比较器输出信号331因此而有效。比较器输出信号331的有效导致了计数器B的递增,然后计数器B包含1。
在时钟周期3和4期间,队列非空信号315保持有效,并且队列退出信号313保持无效。因此,计数器A继续递增。计数器A的值与阈值不匹配,由此使得计数器B的值保持在1。
在时钟周期5期间,在队列非空信号315保持有效的同时,队列退出信号313变为有效,这表明在该队列320的队列头处存在新条目。计数器A被复位并且递增到值1。然后,计数器A的值与存储在数据寄存器A中的阈值匹配,并且通过比较器330使比较器输出信号331变为有效。比较器输出信号331的有效导致了计数器B的递增,因而计数器B包含了值2。
在时钟周期7期间,队列退出信号313再次有效,这导致了计数器A复位为0。队列非空信号315还不是有效的,因此计数器A不进行递增。在时钟周期9期间,队列非空信号315再次变为有效,并且一直保持有效到时钟周期27。因此,在时钟周期9至26期间,计数器A在每个时钟周期递增一次。在时钟周期10、14、18、20、22—23以及27期间,队列退出信号313有效,这导致计数器A在这些时钟周期期间被复位。在时钟周期9—10、14、18、20以及22—23期间,比较器输出信号331变为有效。在工作量运行的末尾,计数器B表明在工作量运行期间,队列条目保持在队列头处大于或等于一个时钟周期(该例的阈值)9次。
通过改变阈值以及重新运行同一工作量,可以建立队列头的次数的直方图。随后的附图按照与上文关于图4论述的工作量相同的工作量进行论述。
图5是示范经由图3的阈值为2的队列性能收集单元进行的一遍采样工作量过程的时序图。因为该例的工作量与图4的例子中所使用的工作量相同,故而图5的队列非空315、队列退出313以及计数器A的波形与图4中的相同。因为对于该例来说阈值为2,故而当计数器A的值达到2时,比较器输出信号331变为有效。计数器B的值响应比较器输出信号331的有效而进行递增。在工作量运行的末尾,计数器B表明在工作量运行期间,队列条目保持在队列头处大于或等于两个时钟周期(该例的阈值)7次。
在第二次工作量运行之后,现在就可以确定附加的数据。目前应该知道的是,在工作量运行期间,队列条目保持在队列头处正好一个时钟周期共计2次。这可以通过观察以下事实来确定,即依照阈值为1进行的第一次运行导致了计数器B的值为9,而依照阈值为2进行的第二次运行导致了计数器B的值为7。第一次运行的计数器B的值与第二次运行的计数器B的值之间的差,给出了队列条目保持在队列头处正好一个时钟周期(第一次运行的阈值)的确切次数。
图6是示范经由图3的阈值为3的队列性能收集单元进行的一遍采样工作量过程的时序图。因为该例的工作量与图4和5的例子所使用的工作量相同,故而图6的队列非空315、队列退出313以及计数器A的波形与图4和5中的相同。因为对于该例来说阈值为3,故而当计数器A的值为3时,比较器输出信号331变为有效。计数器B的值响应比较器输出信号331的有效而进行递增。在工作量运行的末尾,计数器B表明在工作量运行期间,队列条目保持在队列头处大于或等于三个时钟周期(该例的阈值)4次。
在第三次工作量运行之后,现在可以确定进一步的数据。现在应该知道的是,在工作量运行期间,队列条目保持在队列头处正好2个时钟周期共计3次。这可以通过观察以下事实来确定,即依照阈值为2进行的第二次运行导致了计数器B的值为7,而依照阈值为3进行的第三次运行导致了计数器B的值为4。第二次运行的计数器B的值与第三次运行的计数器B的值之间的差,给出了队列条目保持在队列头处正好两个时钟周期(第二次运行的阈值)的确切次数。
图7是示范经由图3的阈值为4的队列性能收集单元进行的一遍采样工作量过程的时序图。因为该例的工作量与图4、5和6的例子所使用的工作量相同,故而图7的队列非空315、队列退出313以及计数器A的波形与图4、5和6中的相同。因为对于该例来说阈值为4,故而当计数器A的值为4时,比较器输出信号331变为有效。计数器B的值响应比较器输出信号331的有效而进行递增。在工作量运行的末尾,计数器B表明在工作量运行期间,队列条目保持在队列头处大于或等于4个时钟周期(该例的阈值)3次。
在第四次工作量运行之后,现在可以确定额外的数据。现在应该知道的是,在工作量运行期间,队列条目保持在队列头处正好三个时钟周期共计1次。这可以通过观察以下事实来确定,即依照阈值为3进行的第三次运行导致了计数器B的值为4,而依照阈值为4进行的第四次运行导致了计数器B的值为3。第三次运行的计数器B的值与第四次运行的计数器B的值之间的差,给出了队列条目保持在队列头处正好三个时钟周期(第三次运行的阈值)的确切次数。
在前述的说明书中,已经相对于本发明具体的示例性实施例描述了本发明。然而,很显然,在不脱离由所附权利要求书提出的本发明的较宽的精神和范围内,可以对其做出各种修改和变化。因此,说明书以及附图应认为是举例说明而非限制意图。
在说明书中提及的“实施例”、“一个实施例”、“一些实施例”或“其他实施例”意指连同所述实施例描述的特定的特征、结构或特性包括在本发明的至少一些实施例中,但未必包括在本发明的所有实施例中。“实施例”、“一个实施例”或“一些实施例”的各种表示形式未不必都指的是同一实施例。

Claims (22)

1.一种用于收集队列性能数据的设备,包括:
队列;
可编程事件调节逻辑单元,用于从所述队列中接收队列进入信号、队列退出信号以及队列非空信号,响应条目进入队列,所述队列进入信号被置为有效,响应条目退出队列,所述队列退出信号被置为有效,并且所述队列非空信号表明所述队列包括至少一个条目;以及
计数器,响应由事件调节逻辑单元发送的递增事件信号而进行递增,所述计数器响应由事件调节逻辑单元发送的递减事件信号而进行递减。
2.如权利要求1所述的设备,所述事件调节逻辑单元还用于接收队列非空信号的相反信号。
3.如权利要求2所述的设备,进一步包括与所述计数器相耦合的数据寄存器,用于存储阈值。
4.如权利要求3所述的设备,进一步包括比较器,所述比较器包括第一输入、第二输入以及输出,所述第一输入与数据寄存器相耦合,所述第二输入与计数器相耦合,且所述输出被提供给事件调节逻辑单元,每当所述计数器达到在所述数据寄存器中存储的阈值之时,所述比较器就输出信号。
5.如权利要求3所述的设备,所述事件调节逻辑单元包括可编程的功能,用于允许队列进入信号、队列退出信号、队列非空信号、队列空信号以及比较器输出信号的各种组合作为递增或递减事件。
6.如权利要求5所述的设备,进一步包括寄存器块,所述寄存器块包括:
命令寄存器,被耦合来从所述可编程事件调节逻辑单元接收信号;以及
另一数据寄存器,与所述计数器相耦合,并且还耦合到所述命令寄存器。
7.一种用于收集队列性能数据的设备,包括:
队列;
可编程事件调节逻辑单元,用于从所述队列中接收队列进入信号、队列退出信号以及队列非空信号,响应条目进入队列,所述队列进入信号被置为有效,响应条目退出队列,所述队列退出信号被置为有效,并且所述队列非空信号表明所述队列包括至少一个条目;以及
第一计数器,响应由事件调节逻辑单元发送的第一递增事件信号而进行递增,所述第一计数器响应由事件调节逻辑单元发送的第一递减事件信号而进行递减;以及
第二计数器,响应由事件调节逻辑单元发送的第二递增事件信号而进行递增,所述第二计数器响应由事件调节逻辑单元发送的第二递减事件信号而进行递减。
8.如权利要求7所述的设备,所述事件调节逻辑单元还用于接收队列非空信号的相反信号。
9.如权利要求8所述的设备,进一步包括与所述第一计数器相耦合的数据寄存器,用于存储阈值。
10.如权利要求9所述的设备,进一步包括比较器,所述比较器包括第一输入、第二输入以及输出,所述第一输入与数据寄存器相耦合,所述第二输入与第一计数器相耦合,且所述输出被提供给事件调节逻辑单元,每当所述计数器达到在所述数据寄存器中存储的阈值之时,所述比较器就输出信号。
11.如权利要求10所述的设备,所述事件调节逻辑单元包括可编程的功能,用于允许队列进入信号、队列退出信号、队列非空信号、队列空信号以及比较器输出信号的各种组合作为递增或递减事件。
12.如权利要求11所述的设备,所述第二计数器响应表明第一计数器的值与数据寄存器的值相匹配的比较器输出而进行递增。
13.如权利要求12所述的设备,进一步包括寄存器块,所述寄存器块包括:
命令寄存器,被耦合来从所述可编程事件调节逻辑单元接收信号;以及
另一数据寄存器,与所述计数器相耦合,并且还耦合到所述命令寄存器。
14.一种用于收集队列性能数据的系统,包括:
处理器;以及
与所述处理器相耦合的系统逻辑设备,所述系统逻辑设备包括:
队列,
可编程事件调节逻辑单元,用于从所述队列接收队列进入信号、队列退出信号以及队列非空信号,响应条目进入队列,所述队列进入信号被置为有效,响应条目退出队列,所述队列退出信号被置为有效,并且所述队列非空信号表明所述队列包括至少一个条目;以及
计数器,响应由事件调节逻辑单元发送的递增事件信号而进行递增,所述计数器响应由事件调节逻辑单元发送的递减事件信号而进行递减。
15.如权利要求14所述的系统,所述事件调节逻辑单元还用于接收队列非空信号的相反信号。
16.如权利要求15所述的系统,进一步包括与所述计数器相耦合的数据寄存器,用于存储阈值。
17.如权利要求16所述的系统,所述系统逻辑设备进一步包括比较器,所述比较器包括第一输入、第二输入以及输出,所述第一输入与数据寄存器相耦合,所述第二输入与计数器相耦合,且所述输出被提供给事件调节逻辑单元,每当所述计数器达到在所述数据寄存器中存储的阈值之时,所述比较器就输出信号。
18.如权利要求17所述的系统,所述事件调节逻辑单元包括可编程的功能,用于允许队列进入信号、队列退出信号、队列非空信号、队列空信号以及比较器输出信号的各种组合作为递增或递减事件。
19.如权利要求18所述的系统,所述系统逻辑设备进一步包括寄存器块,所述寄存器块包括:
命令寄存器,被耦合来从所述可编程事件调节逻辑单元接收信号;以及
另一数据寄存器,与所述计数器相耦合,并且还耦合到所述命令寄存器。
20.一种用于收集队列性能数据的方法,包括:
向可编程事件调节逻辑单元发送队列进入信号、队列退出信号以及队列非空信号,响应条目进入队列,所述队列进入信号被置为有效,响应条目退出队列,所述队列退出信号被置为有效,并且所述队列非空信号表明所述队列包括至少一个条目;
响应队列进入信号、队列退出信号以及队列非空信号的第一可编程组合的出现,把递增事件信号置为有效;
响应把递增事件信号置为有效,递增计数器;
响应队列进入信号、队列退出信号以及队列非空信号的第二可编程组合的出现,把递减事件信号置为有效;以及
响应把递减事件信号置为有效,递减计数器。
21.如权利要求20所述的方法,进一步包括把计数器的值存储在数据寄存器中。
22.如权利要求20所述的方法,进一步包括把计数器的值与数据寄存器的值进行比较。
CNB028094123A 2001-05-04 2002-05-02 用于收集队列性能数据的方法,设备和系统 Expired - Fee Related CN100524246C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/848,998 2001-05-04
US09/848,998 US6950887B2 (en) 2001-05-04 2001-05-04 Method and apparatus for gathering queue performance data

Publications (2)

Publication Number Publication Date
CN1507588A CN1507588A (zh) 2004-06-23
CN100524246C true CN100524246C (zh) 2009-08-05

Family

ID=25304823

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028094123A Expired - Fee Related CN100524246C (zh) 2001-05-04 2002-05-02 用于收集队列性能数据的方法,设备和系统

Country Status (8)

Country Link
US (1) US6950887B2 (zh)
EP (1) EP1393180B1 (zh)
KR (1) KR100545950B1 (zh)
CN (1) CN100524246C (zh)
AT (1) ATE344944T1 (zh)
DE (1) DE60215934T2 (zh)
TW (1) TWI250446B (zh)
WO (1) WO2002091188A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4376787B2 (ja) * 2002-11-21 2009-12-02 富士通株式会社 イベント通知方法、デバイス及びプロセッサシステム
KR100528476B1 (ko) * 2003-07-22 2005-11-15 삼성전자주식회사 컴퓨터 시스템의 인터럽트 처리 장치
US7546400B2 (en) * 2004-02-13 2009-06-09 International Business Machines Corporation Data packet buffering system with automatic threshold optimization
JP4500213B2 (ja) * 2005-05-20 2010-07-14 オリンパスイメージング株式会社 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
US11036275B2 (en) * 2019-03-29 2021-06-15 Intel Corporation Detection of known workload patterns

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62279438A (ja) 1986-05-29 1987-12-04 Mitsubishi Electric Corp トレ−ス回路
US5469398A (en) * 1991-09-10 1995-11-21 Silicon Systems, Inc. Selectable width, brustable FIFO
US5450546A (en) * 1992-01-31 1995-09-12 Adaptec, Inc. Intelligent hardware for automatically controlling buffer memory storage space in a disk drive
JPH07244649A (ja) * 1994-03-08 1995-09-19 Fujitsu Ltd 割込処理分散方式
US6134218A (en) * 1994-04-28 2000-10-17 Pmc-Sierra (Maryland), Inc. Many dimensional congestion detection system and method
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
US5717954A (en) 1995-10-13 1998-02-10 Compaq Computer Corporation Locked exchange FIFO
US5835702A (en) * 1996-10-21 1998-11-10 International Business Machines Corporation Performance monitor
US6487212B1 (en) * 1997-02-14 2002-11-26 Advanced Micro Devices, Inc. Queuing structure and method for prioritization of frames in a network switch
US6092126A (en) * 1997-11-13 2000-07-18 Creative Technology, Ltd. Asynchronous sample rate tracker with multiple tracking modes
JPH11275112A (ja) * 1998-03-26 1999-10-08 Oki Electric Ind Co Ltd Atmネットワークにおけるセル送出スケジューリング装置
JPH11339464A (ja) * 1998-05-28 1999-12-10 Sony Corp Fifo記憶回路
US7181548B2 (en) * 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
US6401149B1 (en) * 1999-05-05 2002-06-04 Qlogic Corporation Methods for context switching within a disk controller
US6501757B1 (en) * 2000-02-29 2002-12-31 Centre For Development Of Telematics ATM switch

Also Published As

Publication number Publication date
TWI250446B (en) 2006-03-01
DE60215934D1 (de) 2006-12-21
US6950887B2 (en) 2005-09-27
KR100545950B1 (ko) 2006-01-26
EP1393180A1 (en) 2004-03-03
DE60215934T2 (de) 2007-06-06
EP1393180B1 (en) 2006-11-08
KR20040043119A (ko) 2004-05-22
WO2002091188A1 (en) 2002-11-14
CN1507588A (zh) 2004-06-23
ATE344944T1 (de) 2006-11-15
US20020172319A1 (en) 2002-11-21

Similar Documents

Publication Publication Date Title
US8978017B2 (en) Profiling operating context
US6539500B1 (en) System and method for tracing
US5778194A (en) Method and apparatus for measuring performance of a computer bus
US20080133787A1 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
CN102841870B (zh) 基于高速串行总线的通用dma结构及预读方法
CN102841871B (zh) 基于高速串行总线的DMA结构的pipeline读写方法
CN113468097B (zh) 基于片上系统的数据交换方法
US20070011689A1 (en) Information processing unit, computer control method, and information storage medium
CN103198001A (zh) 能够自测pcie接口的存储系统及测试方法
US6633937B2 (en) GPIB system and method which performs autopolling using heuristics
CN100524246C (zh) 用于收集队列性能数据的方法,设备和系统
US20080312896A1 (en) Optimal bus operation performance in a logic simulation environment
CN109656479A (zh) 一种构建存储器命令序列的方法及装置
CN116893991B (zh) 一种axi协议下的存储模块转换接口及其转换方法
US7373557B1 (en) Performance monitor for data processing systems
US7958510B2 (en) Device, system and method of managing a resource request
CN110175146B (zh) 硬盘信息获取方法和获取硬盘信息的装置
US20050125784A1 (en) Hardware environment for low-overhead profiling
CN116738089A (zh) 渲染方法、芯片、电子设备及存储介质
US6023737A (en) Multi-stage pipelined data coalescing for improved frequency operation
US7716397B2 (en) Methods and systems for interprocessor message exchange between devices using only write bus transactions
CN110417514A (zh) 数据发送方法和装置、数据接收方法和装置
CN117312202B (zh) 片上系统和用于片上系统的数据传输方法
CN116560949B (zh) 一种数据采集与接收的实现方法、系统、设备及存储介质
CN113052780A (zh) 利用蓝牙通信的数据打包系统

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090805

Termination date: 20180502

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