实时监视中央处理单元的系统和方法_3

文档序号:8298664阅读:来源:国知局
器622。“000000”值寄存器620可为二十四位长且可包含“000000”值。此外,“FFFFFF”值寄存器622可为二十四位长且可包含“FFFFFF”值。在特定方面中,“000000”值和“FFFFFF”值不可由用户配置。依据从二次取样系统602接收的经二次取样数据,第二选择器624可从“000000”值寄存器620选择“000000”值或从“FFFFFF”值寄存器622选择“FFFFFF”值。举例来说,如果经二次取样数据位等于一(I),那么可选择“FFFFFF”值。如果经二次取样数据位等于零(O),那么可选择“000000”值。如图6所示,第二选择器624可作为到第二向右移位器626的输入而连接,所述第二向右移位器626可用于将选定值向右移位选定的阿尔法系数位。
[0047]如图6中描绘,滤波器604可包含耦合到第一向右移位器616和第二向右移位器626的求和单元630。此外,存储器寄存器632也可连接到求和单元630。并且,第一比较器634和第二比较器636可连接到求和单元630。低阈值寄存器638可连接到第一比较器634,且高阈值寄存器640可连接到第二比较器636。在特定方面中,每一阈值寄存器638、640可为八位长且可包含当前滤波器值可与之比较的阈值。每一阈值可以可由用户配置。如图所示,中断请求(IRQ)产生器642可连接到比较器634、636。
[0048]在特定方面中,求和单元630可从存储器寄存器632接收先前滤波器值,且求和单元630可从存储在存储器寄存器632中的先前滤波器值减去来自第一向右移位器616的值且将来自第二向右移位器626的值与所述结果相加。接着,求和单元630可将新的滤波器值输出到存储器寄存器632以便替代先前滤波器值。此值可为二十四(24)位。求和单元630还可将当前滤波器值的前八位输出到第一比较器634和第二比较器636。
[0049]第一比较器634可将当前滤波器值(即,当前滤波器值的前八位)与存储在低阈值寄存器638中的低阈值进行比较。第二比较器636可将当前滤波器值(即,当前滤波器值的前八位)与存储在高阈值寄存器640中的高阈值进行比较。如果当前值小于低阈值或大于高阈值,那么任一比较器可将单一位指示符输出到IRQ产生器642。接着,IRQ产生器642可产生中断请求且将所述中断请求发射到功率管理器。
[0050]图6所示的系统600可用于实时监视一个或一个以上硬件核。特定来说,单一位输入信号可在固定频率下经取样且接着向下取样到可编程IIR时钟频率。IIR可包含具有独立的可编程向上和向下系数(即,阿尔法系数)的简单单一寄存器IIR。IIR的输出可接着与高和低阈值进行比较,且如果超过任一阈值则产生一信号。
[0051]在特定方面中,系统600可使用下和上阈值来触发系统状态的调整。软件可经调用以处理所监视系统(例如,核)脱离其所要操作限制时的情形。系统600使用直接输入和直接输出,且可不存在对所监视系统(例如,核)的观测影响。此外,增加取样速率可不影响所监视系统的性能。另外,系统600可允许比使用软件解决方案可实现的监视实质上更快的监视。
[0052]在另一特定方面中,到滤波器的输入信号特性可为单一位而无时钟位,且因此不需要输入信号的平衡,这可简化信号路由。如果利用时钟位则输入信号可为多个位,且输入得以平衡。此外,输入信号可允许提供多个位信号而不需要转化为单一位输入。
[0053]在特定方面中,滤波器604可在单一 IIR滤波器中使用独立的上升和下降速率。如此,硬件成本可减小,且可排除当上升和下降速率不同时同时低和高阈值跨越的可能性。滤波器604还可提供可用于与低和高阈值进行比较的单一统一输出值。此外,滤波器604可提供对输入信号的可变向下取样。滤波器604可保持长期平均值和可变存储桶大小。并且,滤波器604可例如通过确定到滤波器604的每一输入样本表示的持续时间而允许宽动态范围和滤波器604的粒度的宽范围。滤波器604还可提供可变IIR窗口大小,且滤波器604可通过设定滤波器输出可改变的速率而允许宽调谐范围。
[0054]如结合图6描述,滤波器604可包含两个或两个以上可独立编程系数,即存储在下阿尔法系数寄存器610和向上阿尔法系数寄存器612的阿尔法系数。所述系数可基于输入(例如,输入信号为高(I)或低(O))来选择。选定系数可接着用以缩放经映射输入值(例如,在输入为高的情况下映射到OxFFFFFF,且在输入为低的情况下映射到0x000000)和先前输出值(即,先前滤波器值)两者,且经缩放值可添加回到先前输出值以形成新的输出值(即,当前滤波器值)。滤波器的输出(即,当前滤波器值)可接着与一个或一个以上阈值进行比较
[0055]滤波器604具有使用单一 IIR滤波器以可与高/低阈值进行比较的单一无缝输出值实施多个独立系数的能力。此外,滤波器604具有将两个或两个以上独立系数施加到单一 IIR滤波器的能力,以及使用单一 IIR滤波器实施两个独立阈值的能力。滤波器604进一步包含对输入信号的可变向下取样,而无长期平均值的损失。并且,滤波器604提供在增加和减小输入工作循环之间的过渡点处不复位的单一无缝输出信号。滤波器604允许代替使用两个独立IIR滤波器的较低成本实施方案,且滤波器604可通过将两个系数设定为相同值而模拟标准IIR滤波器。
[0056]现参看图7,展示实时监视中央处理单元的第一方面,且其在框702处开始。在框702处,控制器可确定与一个或一个以上硬件核相关联的状态数据。所述状态数据可包含忙碌(即,活动)、闲置等。在一个方面中,控制器可大体实时接收状态数据。此外,在一个方面中,控制器可直接从硬件核接收状态数据。或者,控制器可从存储器寄存器接收状态数据。在另一方面中,状态数据可由监视硬件核的软件产生。
[0057]移动到框704,控制器可对状态数据进行滤波或以其它方式操纵状态数据。举例来说,控制器可使用一个或一个以上低通滤波器、一个或一个以上高通滤波器、一个或一个以上移位器、一个或一个以上求和单元、一个或一个以上积分器、一个或一个以上算术逻辑单元或其组合来处理所述数据。在框706处,控制器可例如使用一个或一个以上比较器将经滤波状态数据与一个或一个以上预定义阈值进行比较。
[0058]移动到决策708,控制器可确定经滤波数据是否满足修改设定条件。在特定方面中,为了满足修改设定条件,经滤波数据可大于预定上阈值。在另一方面中,为了满足修改设定条件,经滤波数据可小于预定下阈值。在任一情况下,如果在决策708处未满足修改设定条件,那么方法700可进行到框710。在框710处,控制器可维持当前系统设定,例如当前CPU频率、当前CPU电压等。接着,方法700可结束。
[0059]返回到决策708,如果经滤波数据满足修改设定条件,那么方法700可进行到框712。在框712处,控制器可确定针对一个或一个以上系统设定的经修改值,例如电压、频率等。接下来,在框714处,控制器可评估系统的当前状态,即当前系统设定。在框716处,控制器可视需要根据上文确定的系统设定的经修改值而调整当前系统设定的一者或一者以上。方法700接着可结束。
[0060]图8说明对数据进行二次取样的方法,表示为800。如图所示,当接收到系统概况表示和诊断监视(SPDM)时钟信号时,方法800可在决策802处开始。在决策802处,二次取样单元可确定SPDM时钟信号是否经切换。如果否,那么方法800返回到开始且二次取样单元可等待接收到下一 SPDM时钟信号。
[0061]如果SPDM时钟信号经切换,那么方法800可进行到框804。在框804处,可接收实时数据,且二次取样单元可随着实时数据递增事件数目。随后,在决策806处,二次取样单元可确定事件数目是否等于存储桶大小。如果是,那么方法800可移动到框808,且二次取样单元可将事件数目复位。在框810处,二次取样单元可将下一经二次取样数据设定为高值。此外,在框812处,二次取样单元可递增时钟循环的数目。方法800可从框812进行到决策814。
[0062]返回到决策806,如果事件数目不等于存储桶大小,那么方法800可直接移动到框812,且二次取样单元可递增时钟循环的数目。接着,方法800可进行到决策814。在决策814处,二次取样单元可确定时钟循环的数目是否等于存储桶大小。如果否,那么方法800
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1