首页> 中国专利> 用于在低工作量期间减少时钟频率的方法和装置

用于在低工作量期间减少时钟频率的方法和装置

摘要

用于集成电路(IC)的时钟频率控制单元,包括时钟发生器、有限状态机(FSM)和选通电路(GC)。FSM至少具有分别对应于非低工作量和低工作量状态的第一和第二状态。在第一状态中,GC向IC的功能单元提供频率与时钟发生器输出相同的时钟信号。在第二状态中,GC减少时钟信号的频率。在一个实施例中,GC屏蔽出时钟发生器输出的所选周期以减少时钟信号频率,FSM监视IC的操作以便当所选“低工作量”条件被检测到时(例如长时间等待的高速缓存未命中),从第一状态向第二状态转换。同样,当所选“非低工作量”条件被检测到时,FSM从第二状态向第一状态转换。

著录项

  • 公开/公告号CN1497407A

    专利类型发明专利

  • 公开/公告日2004-05-19

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN03127198.7

  • 发明设计人 I·S·卡扎钦斯基;D·奥伦斯坦;

    申请日2003-09-27

  • 分类号G06F1/08;G06F13/14;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人杨凯;王勇

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 15:18:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-14

    未缴年费专利权终止 IPC(主分类):G06F1/08 授权公告日:20070307 终止日期:20170927 申请日:20030927

    专利权的终止

  • 2007-03-07

    授权

    授权

  • 2004-07-28

    实质审查的生效

    实质审查的生效

  • 2004-05-19

    公开

    公开

说明书

技术领域

本发明涉及处理器,更具体但是不排他地说,涉及用于处理器中的时钟电路。

背景技术

半导体集成电路(IC)装置,例如处理器,可包括多种类型离散电路元件的电路,包括晶体管、电阻器和电容器,以及其他元件。半导体IC制造商承受着不断增长的压力,要在减少包装尺寸和维持可靠性的同时提高这种IC装置的速度(例如时钟速度)和性能。因此,举例来说,现代处理器(例如,通用微处理器、数字信号处理器,微控制器等)可在管芯中实现,包括大约数百万紧密的晶体管和其他离散次微米元件并在GHz(千兆赫)范围的时钟速度上操作。众所周知,处理器(以及其他IC装置)的功率消耗通常随操作频率的增加而增加。结果,这些现代处理器显示出较高的功率消耗。高功率消耗通常是不合需要的并且在电池驱动的应用中特别成问题。

一个减少功率消耗的常规技术是“时钟节流”。典型的时钟节流技术包括减少提供给所选处理器单元或子单元的时钟信号频率。因为即使当处理器正试图执行有用的工作时,时钟频率也被减少,所以时钟节流会降低处理器的性能。此外,当前的时钟节流解决方案是相对粗糙的(例如,花费相对大量的时钟周期来进入减少的时钟频率模式和返回正常时钟频率模式)。

另一个常规技术试图减少提供给处理器的电源电压。较低的电源电压会减慢处理器中晶体管的开关速度,这样会相应降低处理器的性能。此外,较低的电源电压会不合要求地增加处理器的噪音敏感度。此外,正如时钟节流,改变电源电压是相对粗糙的功率保存技术。因为功率与电压的三次方相关,该技术被广泛地用作减少功率消耗的有效方法。例如,电压降低20%将使功率降低49%,而仅损害20%的性能(时钟速度)。其局限性是它花费几百万的时钟周期来稳定IC上的新电压。

这些时钟节流和电压减少技术一般用于控制处理器的温度,因此,为防止对处理器造成的损害,上述缺点是可接受的。然而,对于纯粹的功率保存应用,这些缺点可能是不可接受的。

发明内容

本发明的一个方面是一种方法,包括:

当集成电路(IC)在第一状态操作时,为第一组所选条件监视所述IC的操作,所述IC具有多个功能单元,当所述IC在所述第一状态操作时所述多个功能单元接收具有第一频率的时钟信号,所述第一组所选条件表示所述IC中的低工作量时期;以及当满足所述第一组所选条件时,使所述IC在第二状态操作,其中在所述第二状态所述时钟信号具有小于所述第一频率的第二频率。

所述的方法,还包括:

当所述IC在所述第二状态中操作时,为第二组所选条件监视所述IC的操作,所述第二组所选条件表示所述低工作量时期的终止;以及当满足所述第二组所选条件时,使所述IC在所述第一状态操作。

所述的方法中,所述IC包括处理器。

所述的方法中,所述第一组所选条件包括:由二级高速缓存所确认的高速缓存未命中信号。

所述的方法中,所述第一组所选条件还包括:宽限期的终止,以允许处理一个或多个挂起的存储操作。

所述的方法中,所述第一组所选条件还包括:宽限期的终止,以允许执行在一个或多个暂存站中等待的所述操作。

所述的方法中,所述第一组所选条件包括多个可编程的宽限期。

所述的方法中,所述第二组所选条件包括指出所述二级高速缓存已经为存储处理作好准备的信号。

所述的方法中,所述第一组所选条件还包括:宽限期的终止,以允许所述处理器完成算术操作。

所述的方法中,所述算术操作是乘法或除法操作。

所述的方法中,所述第二组所选条件包括调查请求的接收。

所述的方法中,所述第二组所选条件包括中断信号的确认。

所述的方法中,所述第二组所选条件包括重置信号的确认。

所述的方法中,所述第二组所选条件包括停止时钟信号的确认。

本发明的另一个方面是一种装置,包括:

当集成电路(IC)在第一状态操作时用于为第一组所选条件监视所述IC的操作的部件,其中所述IC具有多个功能单元,当所述IC在所述第一状态操作时,所述多个功能单元接收带有第一频率的时钟信号,所述第一组所选条件表示所述IC中的低工作量时期;以及用于当满足所述第一组所选条件时使所述IC在第二状态操作的部件,其中在所述第二状态,所述时钟信号具有小于所述第一频率的第二频率。  

所述的装置中,所述IC包括处理器,所述装置被嵌入所述处理器中。

所述的装置中,所述第一组所选条件包括:由二级高速缓存确认的高速缓存未命中信号。

所述的装置中,所述第一组所选条件还包括:宽限期的终止,以允许处理一个或多个挂起的存储操作。

所述的装置中,所述第一组所选条件还包括:宽限期的终止,以允许执行在一个或多个暂存站中等待的所述操作。

所述的装置中,所述第一组所选条件还包括:

宽限期的终止,以允许所述处理器完成算术操作。

所述的装置,还包括用于定义一个或多个宽限期的一个或多个计数器。

所述的装置中,所述一个或多个计数器中的至少一个是可编程的。

本发明的另一个方面是一种电路,包括:

具有第一状态和第二状态的有限状态机(FSM),当在集成电路(IC)中满足第一组所选条件时,所述FSM在所述第二状态操作,而当在所述IC中满足第二组所选条件时,所述FSM在所述第一状态操作,所述第一组所选条件表示所述IC中的低工作量时期;产生具有第一频率的第一时钟信号的时钟信号发生器;以及连接到所述FSM和所述时钟信号发生器的选通电路,当所述FSM在所述第一状态中时,所述选通电路输出具有所述第一频率的第二时钟信号,而当所述FSM在所述第二状态时,所述选通电路输出具有小于所述第一频率的第二频率的所述第二时钟信号。

所述的电路中,所述时钟信号发生器包括锁相回路(PLL)。

所述的电路中,所述IC包括处理器,所述电路被嵌入所述处理器中。

所述的电路中,所述选通电路包括:屏蔽发生器,它连接到所述FSM和所述时钟信号发生器,以产生用于屏蔽所述第一时钟信号的所选时钟周期的屏蔽信号。

逻辑电路,它连接到所述屏蔽发生器和所述时钟信号发生器,以将所述第二时钟信号作为所述屏蔽信号和所述第一时钟信号的函数输出。

所述的电路中,所述逻辑电路包括:第一逻辑门,它连接到所述屏蔽发生器和所述时钟信号发生器;以及第二逻辑门,它连接到所述第一逻辑门并接收禁止信号,所述禁止信号使所述第二逻辑门输出具有独立于所述第一时钟信号的所述逻辑电平的预选逻辑电平的所述第二时钟信号。

所述的电路中,所述选通电路包括:具有一个输出端,第一、第二和第三输入端,以及第一和第二控制引线的多路复用器,其中所述多路复用器的所述第一和第三输入端用以分别接收第一和第二参考信号,所述多路复用器的所述第一控制引线用以接收重置信号;具有一个输出引线以及第一和第二输入端的第一比较器,所述第一比较器的所述输出引线连接到所述多路复用器的所述第二控制引线,所述第一输入端用以接收第三参考信号;具有一个输入端、一个输出端和一个时钟终端的第一寄存器,所述第一寄存器的所述输入端和时钟终端被分别连接到所述多路复用器的所述输出端和所述时钟信号发生器;具有一个输出引线以及第一和第二输入端的第二比较器,所述第二比较器的所述第一输入端用以接收第四参考信号,第二输入端连接到所述第一寄存器的所述输出端;具有一个输入端和一个输出端的增量电路,所述增量电路的所述输入端被连接到所述第一寄存器的所述输出端,而所述增量电路的所述输出端被连接到所述多路复用器的所述第二输入端和所述第一比较器的所述第二输入端;以及具有一个倒相时钟终端、一个输入引线和一个输出引线的第二寄存器,所述第二寄存器的所述倒相时钟终端和所述输入引线被分别连接倒所述时钟信号发生器和所述第二比较器的所述输出引线。

所述的电路中,所述处理器被连接到源同步总线。

本发明的另一个方面是一种系统,包括:

具有时钟频率控制单元(CFC)以及多个其他功能单元的处理器,当所述CFC在第一和第二状态时,所述CFC向所述多个其他功能单元分别提供第一和第二时钟信号,所述第一时钟信号具有第一频率,所述第二时钟信号有选择地在所述第一状态期间具有所述第一频率而在所述第二状态期间具有小于所述第一频率的第二频率,所述第二状态对应所述处理器操作期间的低工作量时期;主存储器;只读存储器(ROM);以及在所述处理器、所述主存储器和所述ROM之间传递信息的总线,所述总线在总线频率操作。

所述的系统中,所述第二频率等于所述总线频率。

所述的系统中,所述CFC单元包括:具有所述第一和第二状态的有限状态机(FSM),在所述处理器操作期间当满足第一组所选条件时,所述FSM在所述第二状态操作,在所述处理器的所述操作期间当满足第二组所选条件时,在所述第一状态操作,所述第一组所选条件表示所述低工作量时期;产生所述第一时钟信号的时钟信号发生器;以及与所述FSM和所述时钟信号发生器连接的选通电路,当所述FSM在所述第一状态时,所述选通电路输出具有所述第一频率的所述第二时钟信号,当所述FSM在所述第二状态时,输出具有小于所述第一频率的第二频率的所述第二时钟信号。

所述的系统中,所述选通电路包括:屏蔽发生器,它连接到所述FSM和所述时钟信号发生器,以产生用于屏蔽所述第一时钟信号的所选时钟周期的屏蔽信号;逻辑电路,它连接到所述屏蔽发生器和所述时钟信号发生器,以将所述第二时钟信号作为所述屏蔽信号和所述第一时钟信号的函数输出。

所述的系统中,所述总线是源同步总线。

附图说明

参照下图说明了本发明的非限制的和非详尽的实施例,除非特别说明,其中相同参考数字指不同图中的相同部件。

根据本发明的一个实施例,图1是说明具有时钟频率控制单元的计算机系统的方框图。

根据本发明的一个实施例,图2是说明图1的系统操作流程的流程图。

根据本发明的一个实施例,图3是说明图1的时钟频率控制单元的实现的方框图。

根据本发明的一个实施例,图4是说明图3的选通电路的实现的图。

根据本发明的一个实施例,图5是说明图4的选通电路的定时的时序图。

根据本发明的一个实施例,图6是说明图4的屏蔽发生器的实现的示意图。

根据本发明的一个实施例,图7是说明与源同步总线一起使用的图3的选通电路的实现的图。

具体实施方式

本发明的实施例结合处理器的功率管理进行了如下说明;然而,根据本发明,本领域的普通技术人员将理解,此处的说明通常适用于所有类型的IC装置。

根据本发明的一个实施例,图1说明了具有处理器11的计算机系统10,处理器11带有时钟频率控制单元14。计算机系统10的本实施例还包括主存储器12、只读存储器(ROM)13、核心时钟总线15、第一级或内部高速缓存16(嵌入处理器11中)以及第二级或外部高速缓存17。在有些实施例中,第二级高速缓存与处理器和/或有其他级别的内部或外部高速缓存进行集成。下文结合图3-8对时钟频率控制单元14的实施例进行了详述。

处理器11通过总线15连接到主存储器12,主存储器12可包含一个或多个用于存储由处理器11执行的信息和指令的动态随机存取存储器(DRAM)装置。主存储器12还可用于存储临时变量或其他处理器11执行指令期间的中间信息。ROM13用于为存储器11存储静态信息和指令,通过总线15被连接到处理器11。

虽然图1中未示出,处理器11通常包括指令解码器单元、执行单元、内部时钟电路、寄存器文件单元、地址转换单元以及总线接口单元,全部在半导体管芯中实现。总线接口单元被连接到总线15,以及主存储器12和ROM13。总线接口单元便于数据在主存储器12和处理器11之间的传输,并执行从ROM13取指令和其他数据。地址转换单元为处理器11执行存储器管理。例如,地址转换单元存储处理器11在操作中使用的数据的存储器地址(无论在主存储器12、内部高速缓存16或其他存储器中)。指令解码器单元对由处理器11接收的指令和其他控制信号解码。

执行单元将提供种类广泛的微处理器功能单元,该功能单元提供范围广泛的功能。举例来说,执行单元可包括用于执行算术操作的算术和逻辑单元,包括移位、加法、减法、乘法、除法。寄存器文件单元可包括一个或多个类型的用于存储正被处理器11使用的数据的寄存器。例如,寄存器文件单元可包括整数寄存器、状态寄存器、指令指示寄存器、浮点寄存器以及其他寄存器。如果存在,内部高速缓存可以用于例如存储数据和来自主存储器12的控制信号。

内部时钟电路可包括锁相回路(PLL)电路,用于调节外部时钟频率(增加或减少该频率)以便为处理器11达到期望的操作频率。在有些实施例中,内部时钟电路输出一个处理器核心时钟信号(或多个)。在一个实施例中,核心时钟频率控制(CCFC)单元14是内部时钟电路的一部分。

此外,计算机系统10可包括连接到处理器11(通常通过总线12)的其他装置(未示出)。例如,输入装置,比如键盘或鼠标,被连接到处理器11。输出装置也被连接到处理器11。典型的输出装置包括打印机和显示器。数据存储装置也被连接到处理器11。普通的存储装置包括硬盘驱动器、软盘驱动器和光盘驱动器。在一个实施例中,处理器11也被连接到电源电压源(未示出)和外部时钟源(未示出)。

根据本发明,本领域的普通技术人员将理解除了图1中所显示和说明的,计算机系统10不可包括其他元件和子系统。举例来说,计算机系统10可包括视频存储器和其他专用存储器以及附加的信号线和总线。

图1中所示的处理器11的实施例是说明性的。根据本发明,本领域的普通技术人员将理解,实际上,现代存储器通常更复杂并且可包括附加元件。为了更清晰,图1未示出内部总线和其他与处理器11的各功能单元(例如,上述的总线接口单元、地址转换单元、指令解码器单元、执行单元和寄存器文件单元)电力互连的通讯路径。因此,所示处理器11不受限制,而且本发明通常适用于所有类型的处理器(例如,微处理器、微控制器、数字信号处理器等),不论采用怎样的特定结构。

核心时钟频率控制

在一个实施例中,CCFC单元14被配置为与一个或多个处理器11上的功能单元以及内部时钟电路连接。CCFC单元14被配置为检测处理器11中指出或先行于低处理器工作量时期的事件。例如,在有些处理器中,外部高速缓存未命中会导致处理器执行几百个核心时钟周期的空闲操作。在这种低工作量期间,核心时钟频率可被减少而对性能有轻微或没有影响。在一个实施例中,在低工作量时期,核心时钟频率被减少到总线15的操作频率。在其他实施例中,核心时钟频率的频率可被减少到其他速度。在其他实施例中,核心时钟甚至可以被完全停止,但是应该维持一些处理器功能(例如总线15的总线接口,以检测低工作量状况何时结束,接受调查请求或其他重要事件)。

根据本发明的一个实施例,图2说明了系统10(图1)在低工作量期间减少核心时钟频率的操作流程。参照图1和2,系统10的这个

实施例如下操作。

对指出或先行于的如方框21所示的低工作量时期的所选条件,监视处理器11的操作。在一个实施例中,CCFC单元14为所选条件监视处理器11的操作。例如,CCFC单元14可监视由外部高速缓存17提供的高速缓存未命中信号。当高速缓存未命中发生时(例如,数据未命中),外部高速缓存17确认该信号。通常,外部高速缓存17还将从主存储器12请求一组数据。当数据正被检索时(通常需要几百个“快”核心时钟周期),处理器11基本是空闲的。

低工作量时期的另一个例示可发生在具有无序调度程序和有序指令队列的处理器结构中。在这种结构中,主要的低工作量时期可发生在代码未命中或指令高速缓存未命中发生时以及处理器的乱序调度程序和有序指令队列为空时。根据处理器的结构和/或配置,其他事件也能导致处理器11在很多“快”核心时钟周期“空闲”。

此外,对于有些事件,应监视附加条件以确定是否该事件会导致低工作量时期。例如,外部高速缓存中的数据未命中通常导致低工作量时期,但是在有些处理器结构中(例如,流水线、乱序等),处理器可在高速缓存未命中后的较短时间中继续进行有用的工作。因此,在有些实施例中,可包括附加条件。例如,在高速缓存未命中信号被确定以允许完成流水线操作后可增加宽限期。

如不满足所选条件,如方框22所示,操作流返回方框21继续监视。然而,如满足条件,核心时钟频率被减少,如方框23所示。在一个实施例中,CCFC单元14将核心时钟信号的频率减少到总线15的操作频率。此外,在一个实施例中,CCFC单元14通过屏蔽一些“快”核心时钟信号的时钟周期,而不是通过调节振荡器、PLL或延时锁定回路的输出频率来减少核心时钟频率(如处理器11的功能单元所接收的)。

然后,为指出低工作量时期已经结束的所选条件监视处理器11的操作,如方框25所示。在一个实施例中,CCFC单元14为所选条件监视处理器11的操作。例如,在高速缓存未命中之后,CCFC单元14会接收“存储器就绪”的信号,指出处理器现在可以结束空闲并执行有用的工作。在其他实施例中,这些条件可包括通过总线15、干扰信号、重置信号、初始信号或停止时钟信号或其他需要处理器快速响应的信号接收调查请求。如不满足条件,操作流返回到方框25。然而,如满足条件,核心时钟频率被增加。在一个实施例中,终止核心时钟信号周期的屏蔽增加核心时钟频率。在核心时钟频率增加后,操作流返回方框21。

根据本发明的一个实施例,图3说明了CCFC单元14(图1)的实现。在本实施例中,CCFC单元14包括有限状态机31、锁相回路32以及选通电路33。

在一个实施例中,在使用组合逻辑并具有两个状态的硬件中实现有限状态机31。一个状态是“快”核心时钟状态31A,另一个是“慢”核心时钟状态31B。可以从RESET操作(例如当处理器第一次被启动时)进入“快”核心时钟状态31A或当所选的“加速”条件被检测时从“慢”核心时钟状态31B进入“快”核心时钟状态31A。当所选的“减慢”条件被检测时可从“快”核心时钟状态31A进入“慢”核心时钟状态31B。当CCFC单元14在“慢”核心时钟状态31B时,有限状态机31确认SLOW_SELECT信号并当在“快”核心时钟状态中时,不确认SLOW_SELECT信号。其他实施例可具有两个以上的状态,以用于分级功率减少方案。例如,可以有一个状态用于中间时钟速度或停止时钟状态。

此外,一些有限状态机31的实施例可包括例如计数器K、M和N,用于追踪能构成状态转换的条件的一部分的宽限期。例如,在一个用于乱序结构中的实施例中,K计数器可用于提供宽限期以允许在L2高速缓存未命中后,在转换到“慢”核心时钟状态31B之前,完成到存储缓冲区(未示出)的无阻塞存储器存储操作。M计数器可用于提供宽限期以允许L2高速缓存未命中后,内部(L1)高速缓存未命中在转换到“慢”核心时钟状态31B之前被处理。N计数器可用于提供宽限期以允许L2高速缓存未命中后,在转换到“慢”核心时钟状态31B之前完成挂起的长期等待指令,例如乘法或除法。在有些实施例中,这些计数器是可编程的,允许由软件动态调节。

CCFC元件14的本实施例的元件如下互连。有限状态机31通过线34连接到选通电路33,传送SLOW_SELECT信号。选通电路33连接成通过线35从锁相回路32接收振荡输出信号。此外,选通电路33通过输出线37输出门控核心时钟信号。

操作中,根据其状态,有限状态机31为指出该状态应被改变的所选条件监视处理器11(图1)的操作。例如,若有限状态机31在“快”核心时钟状态31A,则有限状态机31为所选条件监视处理器11的操作以进入“慢”核心时钟状态31B。同样,若有限状态机31在“慢”核心时钟状态31B,则有限状态机31为所选条件监视处理器11的操作,以进入“快”核心时钟状态31A。如上所述,在RESET操作后,有限状态机31进入“快”核心时钟状态31A。

本实施例中,锁相回路32以通常在GHz或接近GHz范围的频率输出较“快”核心时钟信号(例如CORE_CLK信号)。在有些实施例中,可控制锁相回路32以改变其输出信号频率,但是这种频率控制特性与CCFC单元14的操作是分离的。在其他实施例中,可使用不同电路输出CORE_CLK信号(例如,振荡器、延时锁定回路(DLL);分频器、外部时钟回路等等)。

选通电路33通过线35接收来自锁相回路32的CORE_CLK信号并通过线34接收来自有限状态机31的SLOW_SELECT信号。本实施例中,当不确认SLOW_SELECT时(例如当有限状态机31在“快”核心时钟状态31A时),选通电路33在输出线37输出和CORE_CLK信号频率相同的GATED_CORE_CLK信号。GATED_CORE_CLK信号被作为“核心时钟”信号分发到处理器11的功能单元(如上结合图1所述)。

然而,当SLOW_SELECT信号被确认时(例如,当有限状态机在“慢”核心时钟状态31B时),选通电路33在输出线37输出频率小于CORE_CLK信号频率的GATED_CORE_CLK信号。在本实施例中,选通电路33导致频率实质上与总线15(图1)的频率相等,该频率通常远小于CORE_CLK信号频率。例如,CORE_CLK信号可以在GHz或接近GHz范围中而总线15的操作频率为400MHz。

在一个实施例中,选通电路33屏蔽CORE_CLK的所选时钟周期而不是改变该周期。当有限状态机31在“慢”和“快”核心时钟状态31A和31B之间转换时,这种屏蔽技术能减少GATED_CORE_CLK信号中的小故障(例如,丢失时钟边沿)。此外,在有些实施例中,选通电路33可被配置为帮助保持GATED_CORE_CLK信号的转换与总线15的操作频率的时钟信号转换一致。然而,这些实施例将更为复杂,这在有些应用中是不合需要的。

根据本发明的一个实施例,图4说明了选通电路33(图3)的实现。在本实施例中,选通电路33包括屏蔽发生器41和双输入与门43与45。在本实施例中,屏蔽发生器41产生一个用于从锁相回路32(图3)选通CORE_CLK信号的MASK信号。如上所述,在一个实施例中,选通电路33屏蔽出CORE_CLK信号的所选时钟周期,它用来有效减少结果屏蔽信号(例如,GATED_CORE_CLK信号)的频率。

选通电路33的本实施例的元件如下互连。屏蔽发生器41有两个输入引线,一个连接到线34以接收SLOW_SELECT信号,一个输入引线46连接到线35以接收CORE_CLK信号。屏蔽发生器41还具有通过线47连接到与门43的倒相输入引线的输出引线。与门43有连接到线35的另一个输入引线(非倒相)以及通过线48连接到与门45的一个输入引线(非倒相)的输出引线。与门45的另一个输入引线(倒相)连接到线49以接收CLOCK_DISABLE(或STOP CLOCK)信号。与门45通过线37输出GATED_CORE_CLK信号。

操作中,当线49上的CLOCK_DISABLE信号为逻辑高电平时,无论SLOW_SELECT、MASK和CORE_CLK信号的逻辑状态如何,与门45的倒相输入引线将使与门45输出逻辑低电平的GATED_CORE_CLK信号。

当CLOCK_DISABLE信号在逻辑低电平时,与门45的作用实际上就象非倒相缓冲区。在这种情况下,与门45将输出正在线48上的无论什么信号作为GATED_CORE_CLK信号。正在线48上的信号如下产生。

基于通过线47接收的MASK信号的逻辑电平,与门43将CORE_CLK信号选通到线48上。当MASK信号在逻辑低电平时,与门43的倒相输入引线将使与门的作用就象非倒相缓冲区,因此将CORE_CLK信号输出到线48上。这样,CORE_CLK信号不被屏蔽(例如,通过与门43和45作为GATED_CORE_CLK传送)。

然而,当MASK信号在逻辑高电平时,无论CORE_CLK信号的逻辑电平如何,与门43的倒相输入引线使与门将逻辑低电平信号输出到线48上。如上所述,线48上的逻辑低电平使与门45输出逻辑低电平的GATED_CORE_CLK信号。这样,CORE_CLK信号被屏蔽。

当SLOW_SELECT信号被确认后,屏蔽发生器41产生MASK信号。如上所述,MASK信号用于屏蔽出CORE_CLK信号的所选时钟周期(如下所述通过与门43和45)。在本实施例中,屏蔽发生器41导致在将被屏蔽的时钟周期期间,MASK信号在逻辑高电平。另一方面,当不确认SLOW_SELECT信号时,屏蔽发生器41使MASK信号保持在逻辑低电平,因此不屏蔽CORE_CLK信号的任何时钟周期。屏蔽的一个例示在图5中说明。

根据本发明的一个实施例,图5说明了选通电路33(图4)的定时。在此例示实施例中,CORE_CLK信号具有900MHz的频率而期望的GATED_CORE_CLK信号具有400MHz的频率。具体地说,在本实施例中,对于CORE_CLK信号的每9个周期,CORE_CLK信号的5个邻接时钟周期被屏蔽,因此允许4个时钟周期在GATED_CORE_CLK中传送。这样,产生一个400MHz的信号。在其他实施例中,CORE_CLK信号的屏蔽周期不必是邻接的。

根据本发明的一个实施例,图6说明了屏蔽发生器41(图4)的实现。在本实施例中,屏蔽发生器41包括3项输入的多路复用器60(每个输入端是一个5位输入端)、并行负载寄存器61、比较器62(每个输入端是一个5位输入端)、单位寄存器63、双输入与门64、增量电路65以及另一个比较器66(每个输入端是一个5位输入端)。

在本实施例中,比较器62和66分别比较在“正”输入端和“负”输入端的两个5位输入信号并输出指出“正”信号是否大于“负”信号的单位信号。在本实施例中,增量电路65接收一个5位信号并输出增加了1的该5位信号。例如,增量电路65可作为将5位信号解码为增加的5位信号的解码器电路来实现。

屏蔽发生器41的本实施例的元件如下互连。连接多路复用器60以在其两个输入端接收5位输入信号“00001”和“00000”。在典型的实施例中,这些值是固定的但是在其他实施例中这些值可以是可编程的。例如,这些信号可被固化到供电轨上,或者由寄存器或其他存储装置(例如,诸如熔丝或反熔丝的非挥发性装置)提供。多路复用器60的第三个输入端被连接到增量电路65的输出端。多路复用器60的输出端被连接到寄存器61的并行负载输入端。多路复用器60有两个控制端,一个控制端被连接到线67以接收RESET_SYNC信号,而另一个控制端被连接到比较器66的输出引线68。

在本实施例中,比较器66将其“负”输入端连接以接收5位信号“01001”(对应900MHz的CORE_CLK信号),而它的“正”输入端连接到增量电路65的输出端。在有些实施例中,该5位信号可被编程以便以“快”时钟的可变速度操作(例如,通过寄存器或其他存储装置)。

在本实施例中,寄存器61有一个连接到线35以接收CORE_CLK信号的时钟输入终端以及一个连接到增量电路65的输入端的5位输出端。

比较器62将其“正”输入端连接到寄存器61的输出端,连接其“负”输入端以接收5位信号“00100”(对应400MHz的GATED_CORE_CLK信号),而其输出端通过线69连接到寄存器63的输入终端。在有些实施例中,5位输入信号可以是可编程的以便以“慢”时钟的可变速度操作(例如,通过寄存器或其他存储装置)。寄存器63有一个连接到线35的倒相时钟输入终端(实际上,导致寄存器63被延迟了相对寄存器61半个时钟周期)和一个连接到与门64的一个输入引线的输出引线。与门64的另一个输入引线被连接到线34以接收SLOW_SELECT信号。与门64的输出引线被连接到线4(以传送MASK信号)。

在操作中,当SLOW_SELECT信号在逻辑低电平时(例如,图3中“快”核心时钟状态31A期间),无论寄存器63的输出信号的逻辑电平如何,与门64输出逻辑低信号。结果,线47的MASK信号为逻辑低电平,因此没有如上结合图4的实施例所述地屏蔽CORE_CLK信号。

相反,当SOLW_SELECT信号在逻辑高电平时(例如,图3中“慢”核心时钟状态31B期间),与门64起非倒相缓冲区的作用,用于寄存器63的输出信号。因此,当寄存器63的输出信号在逻辑高电平时,线47的MASK信号为逻辑高电平,因此如上结合图4的实施例所述,屏蔽CORE_CLK信号。

对于“慢”核心时钟状态31B(图4)期间的操作的讨论,与门64的输出信号、寄存器61和63及比较器62和66的输出信号以及RESET_SYNC和CORE_CLK信号“最初”为逻辑低电平。寄存器63所输出的当前逻辑低电平导致与门64输出逻辑低电平的MASK信号。如上所述,MASK信号的逻辑低电平允许选通电路33(图4)将CORE_CLK信号作为GATED_CORE_CLK信号传送。

根据线67和68上的逻辑电平,多路复用器60被配置为在其3个输入端选择一个5位信号。在本实施例中,当线67和68都在逻辑低电平时,多路复用器60选择增量电路65的输出信号。当线67和68分别在逻辑低和逻辑高电平时,多路复用器60选择“00000”信号。当线67在逻辑高电平时,多路复用器60选择“00001”信号。因此,因为线67和68都在逻辑低电平并且寄存器61输出“00000”(这导致增量电路65输出“00001”信号),所以多路复用器60向寄存器61的输入端输出“00001”信号(从增量单元65接收)。

在CORE_CLK信号的上升沿(例如,周期1),寄存器61从多路复用器60加载“00001”,寄存器6 3从比较器62加载“0”。然后来自寄存器63的“00001”信号被输出到比较器62和增量电路54。因为“00001”小于“00100”,比较器62通过线69向寄存器63输出一个逻辑低电平。

然后,增量电路65输出一个比寄存器61输出的5位信号大1的二进制值的5位信号。因此,这时,增量电路65向比较器66输出“00010”信号。该值小于从负输入端所接收的“01001”信号,于是比较器66继续在线68上输出逻辑低电平。因此,多路复用器60继续选择增量电路65的输出信号(例如这时是“00010”)。

在CORE_CLK信号的下降沿,寄存器63在线69上加载逻辑低电平信号。因此,寄存器63向与门64输出一个逻辑低电平,这导致与门64输出逻辑低电平的MASK信号。

在CORE_CLK信号的下一个上升沿(例如,周期2),寄存器61从多路复用器60加载“00010”信号。现在寄存器61向比较器62和增量电路65输出“00010”。因为“00010”小于“00100”,比较器62继续在线69上输出逻辑低电平。来自寄存器61的“00010”信号还导致增量电路65向比较器66和多路复用器60输出“00011”。因为“00011”不大于“01001”,比较器66继续在线68上输出逻辑低电平信号。因此,多路复用器60继续从增量电路65选择输出信号,该信号已转换为“00011”。

在CORE_CLK信号的下降沿,寄存器63在线69上从比较器62加载逻辑低电平。因此,寄存器63继续输出逻辑低电平,这导致与门64继续输出逻辑低电平的MASK信号。

同样,在CORE_CLK信号的下一个上升沿(例如周期3),寄存器61从多路复用器60加载“00011”信号。现在寄存器61向比较器62和增量电路65输出“00011”。因为“00011”小于“00100”,比较器继续在线69上输出逻辑低电平。来自寄存器61的“00011”信号还导致增量电路65向比较器66和多路复用器60输出“00100”。因为“00100”小于“01001”,比较器66继续在线68上输出逻辑低电平信号。因此,多路复用器60继续从增量电路65选择输出信号,该信号已转换为“00100”。

在CORE_CLK信号的下降沿,寄存器63在线69上从比较器62加载逻辑低电平。因此,寄存器63继续输出逻辑低电平,这导致与门64继续输出逻辑低电平的MASK信号。

然而,在CORE_CLK信号的下一个上升沿(例如周期4),寄存器61从多路复用器60加载“00100”信号。现在寄存器61向比较器62和增量电路65输出“00100”。来自寄存器61的“00100”信号导致增量电路65向比较器66和多路复用器60输出“00101”。因为“00101”小于“01001”,比较器66继续在线68上输出逻辑低电平信号。因此,多路复用器60继续从增量电路6 5选择输出信号,该信号已转换为“00101”。然而,因为来自寄存器61的“00100”不小于在其负输入端接收的“00100”,现在比较器62通过线69向寄存器63输出逻辑高电平。

在CORE_CLK信号的下降沿,寄存器63在线69上从比较器62加载逻辑高电平。因此,现在寄存器63输出逻辑高电平,这导致与门64输出逻辑高电平的MASK信号,因此导致与门33如上所述地屏蔽CORE_CLK信号。结果,CORE_CLK信号的前4个时钟周期没有被屏蔽,而第5个时钟周期将被屏蔽。

在CORE_CLK信号的下一个上升沿(例如周期5),寄存器61从多路复用器60加载“00101”信号。现在寄存器61向比较器62和增量电路65输出“00101”。因为“00101”不小于“00100”,比较器62继续在线69上输出逻辑高电平。而且,来自寄存器61的“00101”信号还导致增量电路65向比较器66和多路复用器60输出“00110”。因为“00110”小于“01001”,比较器66继续在线68上输出逻辑低电平信号。因此,多路复用器60继续从增量电路65选择输出信号,该信号已经转换为“00110”。

在CORE_CLK信号的下降沿,寄存器63在线69上从比较器62加载逻辑高电平。因此,寄存器63继续输出逻辑高电平,这导致与门64继续输出逻辑高电平的MASK信号。

通过寄存器61存储的值随着CORE_CLK信号的每个时钟周期增加,对于时钟周期6和7,屏蔽发生器41以相同的模式(例如,与周期5相同)操作。然而,在周期8上,寄存器61从多路复用器60加载“01000”信号。现在寄存器61向比较器62和增量电路65输出“01000”。因为“01000”大于“00100”,比较器62继续在线69上输出逻辑高电平。来自寄存器61的“01000”信号还导致增量电路65向比较器66和多路复用器60输出“01001”。因为来自增量电路65的“01001”信号不小于在其“负”输入端接收的“01001”信号,比较器66在线68上输出逻辑高电平信号。因此,多路复用器60选择“00000”信号。

在CORE_CLK信号的下降沿,寄存器63在线69上从比较器62加载逻辑高电平。因此,寄存器63继续输出逻辑高电平,这导致与门64继续输出逻辑高电平的MASK信号。因此,CORE_CLK信号的周期5-9将被屏蔽。

在周期9的上升沿,寄存器61从多路复用器60加载“00000”信号。现在寄存器61向比较器6 2和增量电路65输出“00000”。因为“00000”小于“00100”,现在比较器62在线69上输出逻辑低电平。而且,来自寄存器61的“00000”信号还导致增量电路65向比较器66和多路复用器60输出“00001”。因为“00001”小于“01001”,现在比较器66在线68上输出逻辑低电平信号。因此,现在多路复用器60从增量电路65选择输出信号,该信号已经转换为“00001”。

在CORE_CLK信号的下降沿,寄存器63在线69上从比较器62加载逻辑低电平。因此,现在寄存器63输出逻辑低电平,这导致与门64输出逻辑低电平的MASK信号。结果,在周期10期间,CORE_CLK信号不会被屏蔽。然后该过程重新开始,只要SLOW_SELECT信号被确认,周期10就如上对周期1所述地被执行。

当SLOW_SELECT信号被确认,重置操作被执行时,多路复用器60将选择“00001”信号,以便屏蔽信号随总线15(图1)的时钟信号的上升沿被正确地校准。

在可选实施例中,可用不同电路实现屏蔽发生器41。

根据本发明的另一个实施例,图7说明了与源同步总线一起使用的选通电路33A(图3)的实现。如本领域中所知,通过使用多个数据选通信号,源同步总线实际上将总线时钟周期划分为多个时段(例如4个)。每个数据选通信号被采样,需要四个准确的计时采样边沿。该单元产生采样边沿,因此不能接收GATED_CORE_CLK信号并且还允许处理器监视总线15(图1)。此外,为了保持“慢”和“快”核心时钟状态31A和31B(图3)之间的无缝转换,GATED_CORE_CLK信号应被校准和配置,以便源同步采样边沿可被正确地计时。例如,在一个实施例中,产生GATED_CORE_CLK信号以便在每个外部总线时钟边沿之后或与其一起有边沿。否则,如果有两个连续的总线时钟转换而没有一个在GATED_CORE_CLK信号中,那么将丢失一个输入数据(未采样)。GATED_CORE_CLK信号的波形可以按各种方式被裁剪,以便与目标总线时钟一起正确地工作。例如,选通电路33A可被配置为产生一个更对称的波形(例如在工作周期中),这将易于在外部总线上与对称的400MHz匹配。

在本实施例中,选通电路33A包括源同步边沿发生器(SSEG)单元71和屏蔽发生器单元71。屏蔽发生器单元71在功能上与屏蔽发生器41以及与门43和45(图4)相似,其中屏蔽发生器单元71产生GATED_CORE_CLK信号。在一个实施例中,SSEG单元71接收CORE_CLK信号并且作为响应产生SOURCE_SYNC_CORE_CLK信号,该信号符合源同步总线的定时需要。然后屏蔽发生器单元71采用SOURCE_SYNC_CORE_CLK信号以便在每个外部总线时钟边沿之后或与其一起有一个边沿。本实施例有利于允许处理器11(图1)在“慢”核心时钟状态31B(图3)期间监视源同步总线。

在这里描述了用于时钟频率控制单元的方法和装置的实施例。在上述说明中,阐明了许多特定的细节(选通电路33、屏蔽发生器41的实现等)以提供一个对本发明的实施例的全面的理解。然而,相关领域的技术人员将认识到,可实行本发明的那些实施例而无需一个或多个特定细节,或用其他方法、元件、材料等。在其他例示中,未示出或详细说明知名的结构、材料或操作以避免使说明不清楚。

参照本说明书,其中“一个实施例”的意思是结合本实施例所述的特别的特征、结构或特性被包括在至少一个本发明的实施例中。因此,在本说明书中各处出现的短语“在一个实施例中”不必要全部指相同的实施例。此外,在一个或多个实施例中,特别的特征、结构或特性可以以适当的方式结合。

另外,本发明的实施例不仅可在半导体芯片中被实现也可在机器可读的媒体中被实现。例如,上述设计可以结合用于设计半导体装置的设计工具,被存储和/或嵌入到机器可读的媒体中。例示包括VHSIC硬件描述语言(VHDL)、Verilog语言或SPICE语言格式的网表。一些网表的例示包括:行为级网表、寄存器转换级(RTL)网表、门级网表以及晶体管级网表。机器可读的媒体还包括具有诸如GDS-II文件的规划信息的媒体。此外,网表文件或用于半导体芯片设计的其他机器可读的媒体可被用在仿真环境中以执行上述讲授的方法。

因此,本发明的实施例可被用作或用于支持在一些形式的处理核心(例如计算机的CPU)上执行或要么在机器可读的媒体上或其中实行或实现的软件程序。机器可读的媒体包括用于以机器(例如,计算机)可读的形式存储或发送信息的任何机制。例如,机器可读的媒体可包括诸如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质以及闪存装置等。此外,机器可读的媒体可包括传输信号,例如电子、光、声或其他形式的传输信号(例如,载波、红外线信号、数字信号等)。

以上对本发明的说明实施例的描述,包括在说明书摘要中的描述,并无意穷举或限制于所公开的精确形式。而本发明的特定实施例和例示在这里为了说明的用途而被描述,如相关领域的技术人员将认识到的,各种等效修改是可能的。

可以根据以上详述对本发明的实施例作出这些修改。以下权利要求书所用的术语不应被解释为将本发明限制于说明书和权利要求书中所公开的特定实施例。相反,范围将完全由以下权利要求书定义,将根据权利要求书解释的所设立原则进行解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号