公开/公告号CN1661576A
专利类型发明专利
公开/公告日2005-08-31
原文格式PDF
申请/专利权人 中国科学院计算技术研究所;
申请/专利号CN200410003417.X
申请日2004-02-25
分类号G06F13/00;G06F1/04;
代理机构11280 北京泛华伟业知识产权代理有限公司;
代理人王凤华
地址 100080 北京市海淀区中关村科学院南路6号
入库时间 2023-12-17 16:25:17
法律状态公告日
法律状态信息
法律状态
2023-02-28
未缴年费专利权终止 IPC(主分类):G06F13/00 专利号:ZL200410003417X 申请日:20040225 授权公告日:20100428
专利权的终止
2010-04-28
授权
授权
2005-10-26
实质审查的生效
实质审查的生效
2005-08-31
公开
公开
技术领域
本发明涉及CPU/SOC领域,更具体地说,本发明涉及在SOC架构下的高速总线动态变频技术。
背景技术
在一般的主板设计中,总线主频又称外频,由主板频率发生器产生,由跳线来控制,一旦改频,需要重新启动系统,缺乏灵活性。
然而在SOC设计领域,总线主频往往与处理器核的主频相关联,常规的做法是二分频。但随着处理器核的主频愈来愈高,对SOC架构的总线频率要求更具灵活性,以便适应片外的主频要求,如片外访存是100或133MHz等,SOC总线频率应相应跟随。
此外,在SOC设计中,随着片内Cache容量增大(指令Cache、数据Cache各32KB),在相当时间段内,处理器对总线访存需求不明显,总线可能比较空闲,出于节省功耗考虑,可降低总线主频。
随着SOC集成的功能愈来愈多,功耗与总线频率关联度愈来愈高,因为很多IP核工作于总线频率。为此如何合理利用总线频率,对节省功耗很有益处。
因此,就需要有一种变频装置,能够在动态情况下实现对总线主频的改变,使得总线能在多种主频下运行。这样,允许在总线负载重的情况下选择高频运行,在总线负载轻的情况下选择低频运行。当总线频率能够变频时,还需要对处理器核接口进行改进,以便让处理器核适应总线变快或变慢的节奏
发明内容
本发明的目的是提供一种对SOC中的总线主频进行动态变频的变频装置。本发明的另一目的是提供一种与本发明的变频装置一起使用的处理器核接口。
为了实现上述目的,本发明提供一种SOC架构下的高速总线动态变频装置,包括提供处理器核主频的时钟电路,还包括:
一个用于提供总线频率的总线频率发生器;
一个与所述总线频率发生器连接的选频寄存器,所述选频寄存器内存储有总线频率与处理器核主频的分频关系值;
一个与所述选频寄存器连接的同步时钟,所述同步时钟将所述选频寄存器内的分频关系值同步后发送给所述总线频率发生器一个分频信号;
所述时钟电路向所述总线频率发生器提供总线基准频率,所述总线频率发生器接收所述分频信号并根据该分频信号将总线基准频率分频后提供总线频率。
本发明还提供一种处理器核接口,该接口工作于处理器核主频和可动态变频的总线频率两个时钟域,该处理器核接口包括一个状态处理机,所述状态处理机接收总线和处理器核的工作状态信号,并根据所述工作状态信号控制处理器核进行总线操作。
采用本发明的总线动态变频装置可以实现总线频率的动态变频,在变频时只要将分频关系值写入总线选频锁存器中即可,对系统开发人员来说,完全透明。本发明的变频装置可以提供多种总线频率并且实现动态切换,以供总线在不同的负载下使用,达到系统合理利用功耗、节省电能的目的。本发明的包含状态处理机的处理器核接口根据总线和处理器核的工作状态控制处理器核进行总线操作,可以让处理器核适应总线变快或变慢的节奏。
附图说明
图1是本发明的总线动态变频装置图;
图2是采用本发明变频装置将总线频率由高频切换到低频的示意图;
图3是采用本发明变频装置将总线频率由低频切换到高频的示意图;
图4是处理器核接口的状态控制机配合工作原理图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述。
如图1所示的高速总线动态变频装置,时钟电路1是常规的,一般由锁相环组成,该时钟电路1通过处理器核接口2为处理器核(图中未示出)提供主频CPUclk。
在本发明中,处理器核主频CPUclk同时也作为总线基准频率输送给总线频率发生器3,总线频率发生器3将处理器核主频CPUclk分频后提供总线频率APBclk。如图1所示,选频寄存器4中存放总线频率APBclk与处理器核主频CPUclk的分频关系值SD。因跨时钟域需要同步,分频关系值SD经同步时钟5的时钟信号OSC_clk同步后产生分频信号SD_syn,并送到总线频率发生器3,总线频率发生器3根据分频信号SD_syn将处理器核主频CPUclk分频产生总线频率APBclk。在一个实施例中,总线频率APBclk为处理器核主频CPUclk的1/(2×SD),若SD=3,则APBclk是CPUclk的1/6。
在系统运行时,通过外部信号动态地改变并更新选频寄存器4中的分频关系值SD,就可以实现总线频率APBclk的动态变频。在实际应用时,选频寄存器4中的值SD可以在BIOS中设置,也可以在任务(或进程)调度时设置;优选一种方式是由系统自动侦测总线负载,根据负载情况发送程序指令,更新选频寄存器4中的分频关系值SD,从而在总线繁忙时提升总线频率或者在总线空闲时降低总线频率,合理利用性能和功耗,达到节省电能的目的。
图2和图3是本发明的动态变频装置进行变频的两个实施例,其中图2是总线由高频切换到低频的波形图,图3是总线由低频切换到高频的波形图。
如图2所示,SD是由外部信号写入的寄存器值,在变频前后,SD从1改变为2,经时钟OSC_clk同步后产生SD_syn,总线频率产生器根据处理器核主频CPUclk和选频寄存器值SD_syn,产生总线频率APBclk。如前所述,当总线频率APBclk为处理器核主频CPUclk的1/(2×SD)时,则变频前APBclk为CPUclk的二分频,变频后APBclk为CPUclk的四分频。
图3和图2的原理是相同的,在图3中,分频关系值SD在变频时从2更新为1,则变频前APBclk为CPUclk的四分频,变频后APBclk为CPUclk的二分频。
与现有技术相同,处理器核工作在处理器核主频CPUclk和总线频率APBclk二个时钟域中,需要异步握手来实现处理器核接口协议。在现有技术中,由于总线频率APBclk和处理器核主频CPUclk的关系是确定的,通常APBclk为CPUclk的二分频,需要将CPUclk域的信号延长1个时钟宽度,一般通过延迟再相“或”就能实现,但在本发明中,由于总线频率APBclk是可动态变频的,为了让处理器核适应总线变快或变慢的节奏,因此需要一个状态机来确定跨时钟信号被有效获取。
在本发明中,处理器核在处理器核主频CPUclk和总线频率APBclk两个时钟域的异步握手是通过为处理器核接口2提供一个状态控制机6来实现的。如图1所示,APB_rdy是APB总线的工作状态信号,CPU_vld是处理器核的工作状态信号,其中APB_rdy信号受APBclk同步,CPU_vld信号受CPUclk同步。状态控制机6接收APB_rdy和CPU_vld这两个状态信号,并根据这两个状态信号组合出四种状态,并对这四种状态进行切换。
在下面的描述中,用“APB_rdy”表示APB总线在忙,“~APB_rdy”表示APB总线在闲,“CPU_vld”表示处理器核在忙且不接受总线操作,“~CPU_vld”表示处理器核在闲且需要总线操作。用“00”、“01”、“10”和“11”表示四个状态。其中:
状态“00”:满足~APB_rdy/~CPU_vld或复位,进入状态“00”,此时,处理器核接受总线操作;
状态“01”:满足APB_rdy/~CPU_vld,进入状态“01”,此时,APB总线忙,处理器核需要总线操作;
状态“10”:满足APB_rdy/CPU_vld,进入状态“10”,此时,APB总线忙,处理器核在忙且不接受总线操作;
状态“11”:满足~APB_rdy/CPU_vld,进入状态“11”,APB总线空闲,处理器核不接受总线操作。
状态控制机6根据APB_rdy和CPU_vld这两个状态信号进行状态转换如图4所示。系统复位Reset,此时~APB_rdy/~CPU_vld,进入状态“00”,接受总线操作;当满足APB_rdy/~CPU_vld,进入状态“01”,APB总线忙,否则还是状态“00”;当满足APB_rdy/CPU_vld,进入状态“10”,APB总线忙且处理器核忙,否则还是状态“01”;当满足~APB_rdy/CPU_vld,进入状态“11”,处理器核忙,不接受总线操作,否则还是状态“10”;当~APB_rdy/~CPU_vld,进入状态“00”,接受总线操作,否则还是状态“11”。
经过上述步骤处理,处理器核能和总线动态变频能很好配合工作,确保整个SOC工作稳定可靠。
机译: 通用缓冲接口,用于将多个处理器,存储器单元和I / O接口耦合到公共高速总线
机译: 通用缓冲接口,用于将多个处理器,存储器单元和I / O接口耦合到公共高速总线
机译: 能够执行多核处理器的所有处理器核的轨迹跟踪的SOC设备