CN105843324B - 一种处理器细粒度调频的方法及装置 - Google Patents
一种处理器细粒度调频的方法及装置 Download PDFInfo
- Publication number
- CN105843324B CN105843324B CN201610145166.1A CN201610145166A CN105843324B CN 105843324 B CN105843324 B CN 105843324B CN 201610145166 A CN201610145166 A CN 201610145166A CN 105843324 B CN105843324 B CN 105843324B
- Authority
- CN
- China
- Prior art keywords
- clock
- processor
- bus
- initial
- frequency modulation
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
Abstract
一种处理器细粒度调频的方法,采用处理器时钟关断的方式实现处理器工作频率的细粒度调节,依据调频参数M、N,选择性的对处理器初始时钟做关断处理,关断后时钟作为处理器模块的工作时钟。以及提供一种处理器细粒度调频的装置,包括处理器模块、存储模块、总线模块、时钟产生模块和,用于接受调频参数M、N和时钟产生模块馈入的处理器初始时钟、总线时钟,产生调频后时钟并馈入处理器模块的调频控制模块。本发明提供一种低功耗效果良好、机制简单、硬件开销较小的处理器细粒度调频的方法及装置。
Description
技术领域
本发明属于系统芯片设计领域,尤其是一种处理器细粒度调频的方法及装置。
背景技术
能耗是片上系统芯片的关键指标。优异的能耗表现意味着芯片和整机系统更长的工作时长和待机时间。从低功耗技术的层次划分,系统芯片的低功耗技术主要包括电路级低功耗、逻辑级低功耗和架构级低功耗。其中,电路级低功耗主要通过采用能耗更低的数字电路单元实现,具体包括低电压的数字电路单元、高阈值的数字电路单元等。逻辑级低功耗主要包括门控时钟技术、操作数隔离技术等。系统级的低功耗技术比较多,包括多电压域技术、频率调节技术、电源关断技术等。
目前,系统芯片领域的频率调节技术主要局限在粗粒度的频率调节上,其典型实现是采用支持不同时钟配比的处理器模块。一般来说,这类处理器支持处理器时钟和总线时钟的可配,配比一般为1:1、2:1、3:1、4:1、5:1、6:1、7:1、8:1。以一个典型片上系统芯片为例,当总线时钟工作在533MHz频率时,处理器的时钟只能工作在533MHz、1066MHz、1599MHz等指定频率点上。随着系统芯片的系统时钟频率越来越高,处理器频率调节的粒度越来越粗,通过频率调节实现功耗降低的效果越来越差。
一般来说,系统芯片上会运行各种软件,处理器在不同时间片段的负荷存在大小之分。当处理器负荷较大时,处理器往往运行在较高的频率上,如果处理器负荷较小,则希望处理器运行在较低的频率上,从而降低处理器的动态功耗。由于传统的处理器时钟调频技术比较粗糙,我们希望提供更简洁有效的细粒度调频技术,支持处理器精细化的依据不同的负荷运行在相应的频率点上,达到灵活降低处理器运行功耗的目的。
发明内容
为了克服已有调频方式的粒度过粗、低功耗效果不佳的不足,本发明提供一种低功耗效果良好、机制简单、硬件开销较小的处理器细粒度调频的方法及装置。
本发明解决其技术问题所采用的技术方案是:
一种处理器细粒度调频的方法,所述方法包括如下步骤:
步骤a,接受处理器初始时钟、总线时钟、调频参数N、调频参数M,处理器总线响应信号;
步骤b,依据处理器初始时钟和总线时钟,产生总线时钟采样信号;
步骤c,当总线时钟采样信号有效时,将处理器时钟计数器初始化为N,关断时钟计数器初始化为0,并开启调频功能,其中处理器时钟计数器做循环自减1操作;
步骤d,当处理器总线响应无效时,关断处理器初始时钟,关断时钟计数器加1,否则使能处理器初始时钟,关断时钟计数器不变;
步骤e,判断关断时钟计数器是否小于M,如果是,返回步骤d,否则进入步骤f;
步骤f,无条件使能处理器初始时钟,直至处理器时钟计数器减为0;
步骤g,跳转进入步骤c。
一种处理器细粒度调频的装置,所述装置包括:
处理器模块,用于执行程序;
存储模块,用于存放程序和数据;
总线模块,用于互联处理器模块和存储模块;
时钟产生模块,用于分别产生处理器初始时钟、总线时钟、存储器时钟并分别馈入调频控制模块、总线模块、存储模块;
调频控制模块,用于接受调频参数M、N和时钟产生模块馈入的处理器初始时钟、总线时钟,产生调频后时钟并馈入处理器模块;
其中,调频控制模块依据调频参数M、N,选择性的对处理器初始时钟做关断处理,关断后时钟作为处理器模块的工作时钟。
进一步,所述调频参数M、N表示在N个处理器初始时钟中,关断M个时钟,使能(N-M)个时钟,即处理器的调频比为(N-M)/N。
再进一步,所述调频控制模块中,依据处理器初始时钟和总线时钟,产生总线时钟采样信号,该信号用于指示处理器对总线模块返回的响应进行采样。
更进一步,所述调频控制模块中,监视处理器的总线响应,当处理器总线响应有效时,结合总线时钟采样信号使能处理器初始时钟,不做关断处理,否则将依据已关断时钟数是否满足关断要求,决定是否关断当前初始时钟。
所述调频控制模块包括:
时钟门控单元,用于接受处理器初始时钟以及关断控制逻辑馈入的时钟开启信号,当时钟开启信号有效时,处理器初始时钟被正常传输,否则,处理器初始时钟被关断;
总线时钟采样信号产生逻辑单元,用于接受处理器初始时钟和总线时钟,产生处理器对总线信号进行采样的指示信号;
总线接口单元,用于监视总线响应信号,并决定是否开启处理器时钟,一旦总线返回有效响应时,并且总线时钟采样信号有效时,处理器初始时钟必须无条件有效;
计数器单元,包括时钟计数器和关断时钟计数器,其中,处理器时钟计数器是个初始值为N的循环自减计数器,每个处理器初始时钟周期都减一,当关断一次处理器初始时钟时,关断时钟计数器加一;当关断时钟计数器小于M时,如果处理器没有有效的总线响应,则关断初始时钟,当时钟计数器大于等于M时,已满足关断要求,调频控制模块不再做关断处理,剩余处理器初始时钟保持开启,直至循环自减计数器减至0。
关断控制逻辑单元,用于产生时钟门控单元需要的时钟开启信号。
进一步,所述总线时钟采样信号产生逻辑单元中,处理器初始时钟结合采样信号产生总线时钟的采样行为,在每个处理器时钟的上升沿,检查采样信号是否有效,如果有效,则对输入的总线响应进行采样,否则不采样。
更进一步,所述关断控制逻辑单元中,当发生下述两种情况之一时,时钟开启信号均有效,第一种是当总线返回有效响应而且总线时钟采样信号有效时,处理器时钟必须无条件有效,以保证处理器对总线返回响应进行采样,此时时钟开启信号有效;第二种情况是,当被关断时钟数已满足关断要求时,即关断计数器大于等于M时,时钟开启信号将保持有效,直至N个时钟计数结束。
本发明的有益效果主要表现在:无需通过锁相环等技术调节处理器频率,而是采用处理器时钟关断的方式实现处理器工作频率的细粒度调节,不仅对于系统芯片的精细化功耗管理有着重要作用,而且实现机制简单、硬件开销小。
附图说明
图1为采用细粒度调频技术的系统芯片结构图。
图2为调频控制单元的结构图。
图3为总线时钟采样信号示意图,其中,(a)是处理器时钟频率/总线时钟频率=1;(b)是处理器时钟频率/总线时钟频率=2;(c)是处理器时钟频率/总线时钟频率=3;(d)是处理器时钟频率/总线时钟频率=4;(e)是处理器时钟频率/总线时钟频率=5;(f)是处理器时钟频率/总线时钟频率=6;(g)是处理器时钟频率/总线时钟频率=7;(h)是处理器时钟频率/总线时钟频率=8。
图4为处理器频率和总线频率为2:1,N=8,M=6时,处理器时钟关断效果图。
图5为细粒度调频技术的工作流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图5,一种处理器细粒度调频的方法,包括如下步骤:
步骤a,接受处理器初始时钟、总线时钟、调频参数N、调频参数M,处理器总线响应信号;
步骤b,依据处理器初始时钟和总线时钟,产生总线时钟采样信号;
步骤c,当总线时钟采样信号有效时,将处理器时钟计数器初始化为N,关断时钟计数器初始化为0,并开启调频功能,其中处理器时钟计数器做循环自减1操作;
步骤d,当处理器总线响应无效时,关断处理器初始时钟,关断时钟计数器加1,否则使能处理器初始时钟,关断时钟计数器不变;
步骤e,判断关断时钟计数器是否小于M,如果是,返回步骤d,否则进入步骤f;
步骤f,无条件使能处理器初始时钟,直至处理器时钟计数器减为0;
步骤g,跳转进入步骤c。
图1所示为采用处理器细粒度调频技术的系统芯片,包括一处理器模块S10,一存储器模块S20,一总线模块S30,一时钟产生模块S40、一调频控制模块S50。其中,处理器模块S10用于执行程序,存储器模块S20用于存放程序和数据,总线模块S30用于互联处理器模块和存储模块;时钟产生模块S40用于分别产生处理器初始时钟、总线时钟、存储器时钟并分别馈入调频控制模块、总线模块、存储模块;调频控制模块S50,接受调频参数M、N和时钟产生模块馈入的处理器初始时钟、总线时钟,产生调频后时钟并馈入处理器模块。
所述的调频参数M、N用于调节处理器的实际工作频率,表征每N个处理器初始时钟中关断M个时钟,即处理器初始时钟的频率为F,调频之后处理器的实际工作频率为F*(N-M)/N。举例说,处理器初始时钟为800MHz,调频参数N为32,M为8,则意味着每32个处理器初始时钟中要关断8个时钟,处理器的实际工作频率为800*(32-8)/32=600MHz。
所述的调频控制模块是实现处理器细粒度调频的关键模块,调频控制模块结构如图2所示,包括一时钟门控单元S510、一总线时钟采样信号产生逻辑单元S520、一总线接口单元S530、一计数器单元S540、一关断控制逻辑单元S550。
所述的一时钟门控单元S510用于实现时钟的开启与关断,其典型实施例是一个时钟锁存器。时钟门控单元接受处理器初始时钟以及关断控制逻辑馈入的时钟开启信号,当时钟开启信号有效时,处理器初始时钟被正常传输,否则,处理器初始时钟被关断。通过时钟门控单元对处理器初始时钟的选择性关断,实现对处理器实际工作频率的调节。
所述的一总线时钟采样信号产生逻辑单元S520,接受处理器初始时钟和总线时钟,用于产生处理器对总线信号进行采样的指示信号。处理器至少包含两个时钟域,一个是内核时钟域,通常运行处理器时钟频率,一个是总线时钟域,通常运行总线时钟频率,总线时钟域用于处理器输出总线交互信号以及对输入的总线响应信号进行采样。处理器初始时钟结合采样信号可以产生总线时钟的采样行为,其工作原理为在每个处理器时钟的上升沿,检查采样信号是否有效,如果有效,则对输入的总线响应进行采样,否则不采样。处理器时钟结合总线时钟采样信号可以达到总线时钟的工作效果。图3给出了处理器初始时钟频率和总线时钟频率比为1:1到8:1时,总线时钟采样信号的示意图。
所述的一总线接口单元S530,用于监视总线响应信号,并决定是否开启处理器时钟。一旦总线返回有效响应时,并且总线时钟采样信号有效时,处理器初始时钟必须无条件有效,以满足处理器正确采样总线响应信号的目的,否则处理器的功能就会出错。以典型的AMBA3.0总线为例,当发现下列信号的其中之一或者多个有效时,必须开启处理器时钟。
所述的一计数器单元S540,包含两个计数器,分别是时钟计数器以及时钟关断计算器。时钟计数器是一个初始值为N的计数器,每个时钟周期做自减一操作,当减到零时,重新回复到N并自减,循环反复。时钟关断计数器,用于记录处理器初始时钟关断个数。当总线响应信号有效并且总线时钟采样信号有效时,处理器初始时钟必须开启,否则,初始时钟允许关断,具体视已关断时钟计数器是否满足要求确定。当处理器初始时钟被关断时,关断计数器加一。当时钟计数器自减到零时,新一轮循环开始,关断计数器被清零,时钟计数器和时钟关断计数器回到初始状态。
所述的一关断控制逻辑单元S550,用于产生时钟门控单元需要的时钟开启信号。当发生下述两种情况之一时,时钟开启信号均有效。第一种是当总线返回有效响应而且总线时钟采样信号有效时,处理器时钟必须无条件有效,以保证处理器对总线返回响应进行采样,此时时钟开启信号有效;第二种情况是,当被关断时钟数已满足关断要求时,即关断计数器大于等于M时,时钟开启信号将保持有效,直至N个时钟计数结束。上述两个条件任一之一有效时,时钟开启信号有效,处理器调频时钟有效。
Claims (8)
1.一种处理器细粒度调频的方法,其特征在于:所述方法包括如下步骤:
步骤a,接受处理器初始时钟、总线时钟、调频参数N、调频参数M,处理器总线响应信号;
步骤b,依据处理器初始时钟和总线时钟,产生总线时钟采样信号;
步骤c,当总线时钟采样信号有效时,将处理器时钟计数器初始化为N,关断时钟计数器初始化为0,并开启调频功能,对处理器的频率进行细粒度的调节,其中处理器时钟计数器做循环自减1操作;
步骤d,当处理器总线响应无效时,关断处理器初始时钟,关断时钟计数器加1,否则使能处理器初始时钟,关断时钟计数器不变;
步骤e,判断关断时钟计数器是否小于M,如果是,返回步骤d,否则进入步骤f;
步骤f,无条件使能处理器初始时钟,直至处理器时钟计数器减为0;
步骤g,跳转进入步骤c。
2.一种用于实现如权利要求1所述的处理器细粒度调频的方法的装置,其特征在于:所述装置包括:
处理器模块,用于执行程序;
存储模块,用于存放程序和数据;
总线模块,用于互联处理器模块和存储模块;
时钟产生模块,用于分别产生处理器初始时钟、总线时钟、存储器时钟并分别馈入调频控制模块、总线模块、存储模块;
调频控制模块,用于接受调频参数M、N和时钟产生模块馈入的处理器初始时钟、总线时钟,产生调频后时钟并馈入处理器模块;
其中,调频控制模块依据调频参数M、N,选择性的对处理器初始时钟做关断处理,关断后时钟作为处理器模块的工作时钟。
3.如权利要求2所述的装置,其特征在于:所述调频参数M、N表示在N个处理器初始时钟中,关断M个时钟,使能(N-M)个时钟,即处理器的调频比为(N-M)/N。
4.如权利要求2或3所述的装置,其特征在于:所述调频控制模块中,依据处理器初始时钟和总线时钟,产生总线时钟采样信号,该信号用于指示处理器对总线模块返回的响应进行采样。
5.如权利要求2或3所述的装置,其特征在于:所述调频控制模块中,监视处理器的总线响应,当处理器总线响应有效时,结合总线时钟采样信号使能处理器初始时钟,不做关断处理,否则将依据已关断时钟数是否满足关断要求,决定是否关断当前初始时钟。
6.如权利要求2或3所述的装置,其特征在于:所述调频控制模块包括:
时钟门控单元,用于接受处理器初始时钟以及关断控制逻辑馈入的时钟开启信号,当时钟开启信号有效时,处理器初始时钟被正常传输,否则,处理器初始时钟被关断;
总线时钟采样信号产生逻辑单元,用于接受处理器初始时钟和总线时钟,产生处理器对总线信号进行采样的指示信号;
总线接口单元,用于监视总线响应信号,并决定是否开启处理器时钟,一旦总线返回有效响应时,并且总线时钟采样信号有效时,处理器初始时钟必须无条件有效;
计数器单元,包括时钟计数器和关断时钟计数器,其中,处理器时钟计数器是个初始值为N的循环自减计数器,每个处理器初始时钟周期都减一,当关断一次处理器初始时钟时,关断时钟计数器加一;当关断时钟计数器小于M时,如果处理器没有有效的总线响应,则关断初始时钟,当时钟计数器大于等于M时,已满足关断要求,调频控制模块不再做关断处理,剩余处理器初始时钟保持开启,直至循环自减计数器减至0;
关断控制逻辑单元,用于产生时钟门控单元需要的时钟开启信号。
7.如权利要求6所述的装置,其特征在于:所述总线时钟采样信号产生逻辑单元中,处理器初始时钟结合采样信号产生总线时钟的采样行为,在每个处理器时钟的上升沿,检查采样信号是否有效,如果有效,则对输入的总线响应进行采样,否则不采样。
8.如权利要求6所述的装置,其特征在于:所述关断控制逻辑单元中,当发生下述两种情况之一时,时钟开启信号均有效,第一种是当总线返回有效响应而且总线时钟采样信号有效时,处理器时钟必须无条件有效,以保证处理器对总线返回响应进行采样,此时时钟开启信号有效;第二种情况是,当被关断时钟数已满足关断要求时,即关断计数器大于等于M时,时钟开启信号将保持有效,直至N个时钟计数结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610145166.1A CN105843324B (zh) | 2016-03-15 | 2016-03-15 | 一种处理器细粒度调频的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610145166.1A CN105843324B (zh) | 2016-03-15 | 2016-03-15 | 一种处理器细粒度调频的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843324A CN105843324A (zh) | 2016-08-10 |
CN105843324B true CN105843324B (zh) | 2018-09-28 |
Family
ID=56586967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610145166.1A Active CN105843324B (zh) | 2016-03-15 | 2016-03-15 | 一种处理器细粒度调频的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843324B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101063894A (zh) * | 2006-06-13 | 2007-10-31 | 威盛电子股份有限公司 | 动态同步化处理器时钟与总线时钟前缘的方法与系统 |
CN102394641A (zh) * | 2011-11-04 | 2012-03-28 | 龙芯中科技术有限公司 | 在处理器中控制不同锁相环输出时钟的控制系统和方法 |
CN104765577A (zh) * | 2015-04-28 | 2015-07-08 | 杭州中天微系统有限公司 | 一种频率自适应的高速存储系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7945719B2 (en) * | 2006-09-20 | 2011-05-17 | Intel Corporation | Controller link for manageability engine |
US9513688B2 (en) * | 2013-03-16 | 2016-12-06 | Intel Corporation | Measurement of performance scalability in a microprocessor |
-
2016
- 2016-03-15 CN CN201610145166.1A patent/CN105843324B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101063894A (zh) * | 2006-06-13 | 2007-10-31 | 威盛电子股份有限公司 | 动态同步化处理器时钟与总线时钟前缘的方法与系统 |
CN102394641A (zh) * | 2011-11-04 | 2012-03-28 | 龙芯中科技术有限公司 | 在处理器中控制不同锁相环输出时钟的控制系统和方法 |
CN104765577A (zh) * | 2015-04-28 | 2015-07-08 | 杭州中天微系统有限公司 | 一种频率自适应的高速存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105843324A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mishra et al. | A case for dynamic frequency tuning in on-chip networks | |
CN101770273B (zh) | 一种实现服务器多中央处理器系统节能的方法和装置 | |
CN102904553B (zh) | 利用粗糙时钟门控的动态频率控制 | |
US8381009B2 (en) | Device and method for power management | |
CN103984274B (zh) | 数字电源闸控的集成电路及方法 | |
CN103645794B (zh) | 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法 | |
CN103631360A (zh) | 一种支持睡眠模式的芯片及方法 | |
US9600382B2 (en) | Error recovery circuit oriented to CPU pipeline | |
CN109477861A (zh) | 自参考片上电压下降检测器 | |
US10033362B1 (en) | PVTM-based wide voltage range clock stretching circuit | |
US7284138B2 (en) | Deep power saving by disabling clock distribution without separate clock distribution for power management logic | |
CN102289246A (zh) | 用于延迟锁定环和锁相环的方法和装置 | |
CN109510621A (zh) | 一种自适应电压频率调节方法和装置 | |
WO2008015494A1 (en) | Device and method for timing error management | |
Mishra et al. | RAFT: A router architecture with frequency tuning for on-chip networks | |
Bowman | Adaptive and resilient circuits: A tutorial on improving processor performance, energy efficiency, and yield via dynamic variation | |
CN109557861A (zh) | 跨电压域的电源管理电路 | |
Shan et al. | A bi-directional, zero-latency adaptive clocking circuit in a 28-nm wide AVFS system | |
Elgebaly et al. | Efficient adaptive voltage scaling system through on-chip critical path emulation | |
CN105843324B (zh) | 一种处理器细粒度调频的方法及装置 | |
US7958383B2 (en) | Computer system with adjustable data transmission rate | |
CN102751982B (zh) | 一种适用于通信设备背板开销处理的时钟选择电路 | |
Dai et al. | HTD: A light-weight holosymmetrical transition detector for wide-voltage-range variation resilient ICs | |
Akgün et al. | Power-aware computing systems on FPGAs: a survey | |
Wirnshofer et al. | On-line supply voltage scaling based on in situ delay monitoring to adapt for PVTA variations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |