调节时钟频率的制作方法

文档序号:9631203阅读:501来源:国知局
调节时钟频率的制作方法
【技术领域】
[0001]本申请涉及具有可调节的时钟频率的计算机系统。
【背景技术】
[0002]许多计算机系统具有多个安排用于执行指令的处理器。每个处理器被安排用于接收时钟信号,并且根据它来设置其工作频率。换言之,处理器的处理周期的频率是根据时钟信号的频率设置的。通常,处理器的工作频率等于时钟信号的频率。该工作频率决定了处理器处理指令的迅速程度。输入处理器的时钟信号频率越高,由处理器实时执行指令就越快。
[0003]处理周期可以用在有用的工作上和无用的工作上,有用的工作诸如:例如指令执行,有意闲置,无用的工作诸如:例如当风险被引入管线时或当等待存储器访问完成时。可以引入有意闲置以避免将风险引入到管线中。风险可以是结构化风险(诸如当硬件不能支持并行执行的指令合集时),数据风险(诸如当指令依赖于仍在处理器管线中的指令结果)以及控制风险(诸如在其他指令正在执行时需要基于指令的结果做出决策)。风险的示例之一为指令管线需要根据分支误预测而清除。
[0004]可以使用每秒指令数(IPS)计算用于完成有用的工作的时间,并且随后转化为可以由处理器请求执行的时钟频率。可以使用基于软件的请求来获得IPS。考虑到无用的工作也可能被执行的现况,使用“最坏情况”转化因数将IPS的值转化为时钟频率请求值。向计算机系统中的控制系统提供时钟频率请求值以用于设置时钟信号的频率。

【发明内容】

[0005]本公开的一个方面提供了一种计算机系统。在一个实施例中,计算机系统包括时钟发生器,至少一个处理器以及时钟频率控制器。时钟发生器配置为提供具有时钟频率的时钟信号。至少一个处理器配置为接收时钟信号且根据时钟频率的速度进行工作。时钟频率控制器配置为接收表示至少一个处理器的当前效率的效率信息。时钟频率控制器进一步配置为接收来自处理器的针对在特定时间周期内处理目标数量的处理器指令的请求。时钟频率控制器进一步配置为向时钟发生器输出频率控制信号,用于根据其控制时钟频率。
[0006]本公开的另一个方面提供了一种方法。在一个实施例中,该方法包括在时钟发生器生成具有时钟频率的时钟信号、以及在处理器接收时钟信号并且使处理器以根据时钟频率的速度工作。该方法进一步包括在时钟控制逻辑接收来自处理器的表示在时期周期内的处理器效率的效率信息。该方法进一步包括在时钟频率控制器接收来自处理器的针对在时间周期内处理目标数量的处理器指令的请求。该方法进一步包括从时钟控制逻辑向时钟发生器输出频率控制信号,用于根据所述频率控制信号来控制时钟频率并且调节时钟频率。
【附图说明】
[0007]现结合附图来参考以下描述,其中:
[0008]图1A是单处理器计算机系统的框图;
[0009]图1Β是多处理器计算机系统的框图;
[0010]图2示出了用于在计算机系统中调节时钟频率信号的示范性过程;
[0011]图3示出了选择效率参数的框图;
[0012]图4示出了控制时钟发生器的框图;以及
[0013]图5示出了典型的处理器架构。
【具体实施方式】
[0014]所述“最坏情况”转化因数通常对于多数处理器的执行时间来说过大。在时钟频率取决于供应时钟发生器的电压的情况下(诸如时钟发生器为数字频率锁定环(DFLL)或者另外包括电压控制振荡器),其可能影响电源供应的漏压。在这种情况下,最坏情况转化因数将造成时钟信号的频率高于大部分时间的必要频率。这意味着时钟发生器将从电源供应获得高于大部分时间的必要电压的电压,其引起了不必要的电源浪费。这在电源供应有限时尤其不利,例如,当电源供应为电池时,发明人发现改进所采用的“最坏情况”转化因数是比较理想的。发明人进一步发现,难于确定无用的工作周期的数量有多个原因。例如,处理器具有在不同平台或不同执行条件上的不同的存储器访问延迟(例如,在共享存储器系统中有不同级别的竞争性通信量)。对于这种影响,提供了集成软件/硬件系统用于控制处理器时钟工作的频率。
[0015]以下公开涉及一种计算机系统,其中处理器的时钟频率可以用与计算机系统操作相关的响应方式控制。处理器配置为接收时钟信号,其具有根据在预定时间周期内执行的目标数量的处理器指令和处理器提供的效率信息而可调节的频率。该效率信息表示处理器在特定时间内的效率。其目标是:知晓处理器的效率以允许设置特定时钟频率,其将在固定周期内传递固定数量的指令。所述目标数量的指令可以是比率(例如,MIPS),或者依据在某个时间周期内完成的预期工作,或者在某个绝限之前。
[0016]为了提供下述情况,图5示出了处理器500的公知架构。而随后描述的图1A至图4的实施例并不限于该特定处理器架构。处理器500包括提取单元501,执行管线503,指令存储器505,寄存器506,以及数据存储器507。虽然被描述为分立实体,技术人员应当理解指令存储器505和数据存储器507可以用相同的存储器块实现。附图标记504表示了代表在存储器505中的指令序列的代码块。
[0017]所示出的执行管线503包括五个阶段,用于完成指令周期的执行。完成在执行管线503中的每个阶段所用的时间由来自时钟发生器502的时钟Φ确定。时钟发生器502提供了时钟Φ,其定义了时钟周期,时钟周期是从一个时钟“刻点”到下一个时钟刻点所花费的时间(即,从时钟发生器的一个逻辑高(或低)到时钟发生器的下一个逻辑高(或低)所花费的时间)。每个阶段在时钟周期内完成。由于在执行管线503中有五个阶段,五条指令可以在任何时间装载进入执行管线,即,每个阶段一条指令。一旦执行管线503被装满,每个时钟刻点将标记单条指令的完成(假设没有风险)。
[0018]需要理解,虽然以上描述了仅五个处理器阶段,在执行管线503中可以实现更少或更多的阶段。例如,附加阶段可以用来评估所存储的操作数的地址。
[0019]在领域内应当理解,为了增加处理器执行指令的速度,应当增加时钟发生器的频率。对于某些类型的诸如那些包括电压控制振荡器的时钟发生器,增加频率会增加需供应时钟发生器的电压量,其增加了时钟使用的电源量并且增加了电源供应的漏压。
[0020]时钟信号的频率(以及处理器的速度)根据处理器请求而设定。该处理器请求下限频率(其为处理器要求的最小频率)并且请求优选的时钟频率,其对应于处理器在后的时间周期中预期执行的每秒指令数(IPS)。时钟发生器利用该信息来设置时钟信号的频率。如上所述并进一步解释如下,通常用一组转化因数(余裕量)来高估优选的时钟频率,以确保所有指令可以在后续时间周期中完成。
[0021]当执行诸如附图标记504示出的指令序列时,对执行特定指令序列或代码块所花费的时间量具有一定程度的可预测性是很重要的。虽然可以知晓在代码块中的指令数量,并且因此可以知晓理论上的执行时间长度,但事实上由于上述【背景技术】部分说明的原因,在有用的工作中并不总能够利用时钟的“刻点”。因此为了在某个最大时间量中完成某个指令序列,时钟的频率可能需要不必要的增加。即,通常代码序列会在短于最大时间量的时间内完成,并可能在较慢时钟的最大时间量内完成。本公开讨论了在设置时钟频率中将非必要余裕量最小化的机制。
[0022]在一种先进有源电源管理器(APM)中,客户端软件可以请求处理器时钟频率,并且在任意后续时间请求新的处理器时钟频率。APM以可以实现为定义(和配置)处理器时钟的诸如时钟频率和转化因数的工作参数的软件。APM也配置诸如效率确定单元的其他硬件部件的工作参数。在具体示例中,在时钟发生器为数字频率锁定环(DFLL)的情况下,APM确定用于将所请求的时钟频率转化为来自电源的电压请求的转化因数。该转化因数基于由时钟提供的针对处理器的效率的信息。该转化因数被配置到DFLL中,因此DFLL将在接收来自处理器的请求时钟频率的基础上利用转化因数将所请求的时钟频率转化为所请求的电压。该转化使用DFLL中的硬件执行。所请求的电压指示通过DFLL提供给电源。该电源配置为使用所请求的电压指示来调节供应给DFLL的电压。
[0023]APM可以具有用于比剩余部分更快地处理部分周期性工作负载的重复频率模式。重复模式的一个或多个分段可以适用于部分工作负载中的可变工作量。APM也可以被修改以改变存储器频率,控制DFLL等等。目标为允许APM软件动态控制频率。而单独的软件控制虽然有用,但在某些情况下不能足够迅速地响应。
[0024]本公开主要考虑了对这种类型的APM的修改,并且在本文中被称为是响应式APM情况。在响应式APM情况中,诸如DFLL的时钟发生器被控制为传递响应频率。作为与上述讨论的APM的第一区别,客户端软件(即,响应式APM)不请求每处理器(CPU)的频率(MHz值)。作为替代,客户端软件接收在特定时间周期内需要完成的指令数量的指示。在一个实施例中,该指示以每秒要完成的指令的平均数量的形式提供,诸如每秒百万条指令(MIPS)。在另一个实施例中,该指示以在特定时间周期内要执行的指令的总数量的形式、工作完成的形式提供。本文描述了软件和硬件联合工作以将频率和其他参数适用于在具体时间周期内执行所请求数量的指令。这允许处理器适用于适应其效率的改变,例如改变高速缓存误码(misrate)和延迟。频繁采样传递的结果(约为几十毫秒)以确定处理器的效率以及预编程的硬件响应性,允许时钟频率在此
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1