用于收集队列性能数据的方法和设备的制作方法

文档序号:6356904阅读:112来源:国知局
专利名称:用于收集队列性能数据的方法和设备的制作方法
技术领域
本发明涉及计算机系统领域。更具体地说,此发明涉及在计算机系统组件中收集队列性能数据的领域。
背景技术
为了实现计算机系统性能的协调,能够特征化计算机系统行为的各种方面是十分重要的。一种这样的方面是队列利用和行为。队列是指令或数据的临时存储空间。队列可以在整个计算机系统中定位,并且通常包含在处理器以及芯片组设备中。
在现有系统中已经使用计数器从物理上不能访问的队列中收集数据。可以由计数器独自收集的信息类型仅限于简单的平均量度,诸如吞吐量。另一个可以收集的量度是队列为满的时间的百分数。可以使用这些简单量度来完成计算机系统性能协调的数量是有限的。因此,期望获得能够从队列中收集更有意义以及更又用的数据的能力。
附图简述通过下文给出的详细说明以及通过本发明实施例的附图,将能够全面地理解本发明,然而,这些内容不应该认为是将本发明限定为所描述的具体实施例,而仅仅是用于解释和理解。


图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的值之间的差,给出了队列条目保持在队列头处正好三个时钟周期(第三次运行的阈值)的确切次数。
在前述的说明书中,已经相对于本发明具体的示例性实施例描述了本发明。然而,很显然,在不脱离由所附权利要求书提出的本发明的较宽的精神和范围内,可以对其做出各种修改和变化。因此,说明书以及附图应认为是举例说明而非限制意图。
在说明书中提及的“实施例”、“一个实施例”、“一些实施例”或“其他实施例”意指连同所述实施例描述的特定的特征、结构或特性包括在本发明的至少一些实施例中,但未必包括在本发明的所有实施例中。“实施例”、“一个实施例”或“一些实施例”的各种表示形式未不必都指的是同一实施例。
权利要求
1.一种设备,包括队列;事件选择逻辑单元,用于从所述队列接收队列进入信号、队列退出信号以及队列非空信号;以及计数器,用于响应由事件选择逻辑单元发送的递增事件信号而进行递增,所述计数器用于响应由事件选择逻辑单元发送的递减事件信号而进行递减。
2.如权利要求1所述的设备,所述事件选择逻辑单元进一步接收队列非空信号的相反信号。
3.如权利要求2所述的设备,进一步包括与所述计数器耦合的数据寄存器
4.如权利要求3所述的设备,进一步包括比较器,所述比较器包括第一输入、第二输入以及输出,所述第一输入与数据寄存器耦合,所述第二输入与计数器耦合,且所述输出提供给事件选择逻辑单元。
5.如权利要求4所述的设备,所述事件选择逻辑包括可编程的功能,以用于允许队列进入信号、队列退出信号、队列非空信号、队列空信号以及比较器输出信号的各种组合充当递增或递减事件。
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所述的方法,进一步包括将计数器的值与数据寄存器的值进行比较。
全文摘要
一种用于收集队列性能数据的设备,包括事件调节逻辑单元(220),用于从队列(210)接收队列进入信号(211)、队列退出信号(213)以及队列非空信号(215)。该设备还包括可以递增以及递减的计数器(230)。事件调节逻辑单元可被编程以用于在出现队列信号的预定组合时递增计数器。事件调节逻辑单元还可被编程以用于在出现队列信号的另外预定组合时递减计数器。
文档编号G06F11/34GK1507588SQ02809412
公开日2004年6月23日 申请日期2002年5月2日 优先权日2001年5月4日
发明者J·查普尔, J 查普尔, F·哈迪, K·梅塔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1