首页> 中国专利> 具有低功率模式和非低功率模式的微处理器,数据处理系统和计算机程序产品

具有低功率模式和非低功率模式的微处理器,数据处理系统和计算机程序产品

摘要

一种微处理器(1),其具有低功率模式和非低功率模式。所述微处理器(1)包括用于执行提供给微处理器(1)的指令的处理器核心(10)和提供时钟信号的时钟(20),所述时钟信号在非低功率模式中具有第一频率并且在低功率模式中具有低于所述第一频率的第二频率。存在硬件计时器(30),以用于对微处理器(1)在未来时间点进行的事件进行调度。所述硬件计时器连接到所述时钟,以用于基于时钟信号的个时钟周期数目来确定当前时间点和事件时间点之间的时间段。当数据处理系统从低功率模式切换到非低功率模式时,计时器控制器(40)能够确定具有第一频率的时钟信号的时钟周期数目,所述第一频率对应于所述微处理器(1)在其间已经处于所述低功率模式的低功率模式时段;并且基于所确定的数目调节所述硬件计时器。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-05

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F1/32 变更前: 变更后: 申请日:20080411

    专利权人的姓名或者名称、地址的变更

  • 2012-12-12

    授权

    授权

  • 2011-04-06

    实质审查的生效 IPC(主分类):G06F1/32 申请日:20080411

    实质审查的生效

  • 2011-02-23

    公开

    公开

说明书

技术领域

本发明涉及一种具有低功率模式和非低功率模式的微处理器,并且涉及数据处理系统和计算机程序产品。

背景技术

具有低功率模式和非低功率模式的微处理器在本领域中是已知的。例如,在空闲时间期间切换到低功率模式的微处理器是已知的。在低功率模式中,时钟频率相对于非低功率模式即正常模式中的时钟频率较低。然而,降低时钟频率对事件的时序和调度精确性有所影响。

发明内容

本发明提供了如所附权利要求中所描述的微处理器、数据处理系统、以及计算机程序产品。

本发明的特定实施例在从属权利要求中给出。

本发明的这些和其它方面将通过参见随后所描述的实施例进行阐述,并且是显而易见的。

附图说明

本发明进一步的细节、方面和实施例将其仅作为示例的方式通过参考附图而进行描述。出于简要和清楚的目的,示出图中的元素,而并不必将其依比例绘制。

图1示意性示出了微处理器实施例的示例的框图。

图2示意性示出了控制微处理器模式的方法示例的流程图。

图3示出了时序图示例的示意图。

图4示意性示出了硬件计时器示例的框图。

图5示意性示出了计时器控制器示例的框图。

图6示意性示出了数据处理系统实施例的示例的框图。

图7示意性示出了能够由微处理器执行的指令结构的示例。

具体实施方式

由于实现本发明的装置大部分由本领域技术人员所公知的电子组件和电路所构成,为了理解和感知本发明的基本概念,以及为了不会混淆或分散本发明教导,将不会超出根据上述需要而考虑到范围来对电路细节进行解释。

参见图1,在其中示出了微处理器1的实施例的示例。如图所示,微处理器1可以具有一个或多个处理器核心(10),以用于执行提供给微处理器1的指令。微处理器1可以具有低功率模式和非低功率模式。在所示的示例中,微处理器1包括模式控制器60,其能够对微处理器1的功率模式进行控制。例如,低功率模式可以是:关闭处理器核心的休眠模式,或者是暂停(halt)处理器核心的时钟并且系统时钟以低于正常模式的时钟频率进行工作的空闲模式。在图1中,示出了单个核心10,然而微处理器1可以具有其功率模式可以根据特定实施方式单独或一起进行控制的两个或更多核心。例如,所述处理器核心可以包括执行机器代码形式的程序代码所需的逻辑。处理器核心10例如可以至少包括指令解码器、运算器、地址生成单元和加载/存储单元。

在所示的示例中,除了核心10之外,在该示例中,存在经由总线5连接到核心10的外围设备2-4。例如,除了处理器核心之外,微处理器包括输入/输出301、302或其它组件32-34,诸如和/或通信接口和/或协同处理器和/或模拟-数字转换器和/或时钟和重置生成单元、稳压器、存储器(例如闪存、EEPROM、RAM)、误差校验码逻辑和/或计时器或者其它适当组件。

图1所示的示例进一步包括时钟20。时钟20可以在微处理器1在操作时提供时钟信号。时钟信号20例如可以控制处理器核心10的操作速度,并且作为微处理器1所执行的操作的时序和调度的时间基础。在非低功率模式中,时钟信号可以具有第一频率,在此被称作高频率。在低功率模式中,时钟信号可以具有低于第一频率的第二频率,其在此被称作低频率。因此,在低功率模式中,时钟信号的周期比高的非低功率模式中的时钟信号周期占用更长时间段。

图1所示的示例进一步包括硬件计时器30。硬件计时器30可以用来对微处理器1在未来时间点所进行的事件执行进行调度,诸如对特定任务的执行进行调度,并且以高解析度来进行调度。如图所示,硬件计时器30可以连接到时钟20,以便基于时钟信号的时钟周期数目来确定当前时间点和所调度的事件时间点之间的时间段。应当注意的是,硬件计时器可用来实现软件计时器的集合,并且可以设置为在第一软件计时器超时的时间点超时,所述第一软件计时器是所述集合中第一个超时的软件计时器。当硬件计时器超时时,所述硬件计时器可以被重置并且设置为在第二软件计时器超时时超时,所述第二软件计时器是所述集合中在第一软件计时器之后第一个超时的软件计时器。

硬件计时器30可以以适于特定实施方式的任意形式来实现。参见图4,示出了硬件计时器30的实施方式的示例。如图所示,硬件计时器30可以包括递增计数器32,所述递增计数器32对在其所连接的输入31处所提供的时钟信号(例如,由时钟20提供)的时钟周期数目进行计数。例如,递增计数器32可以对每个时钟周期加1。所述递增计数器连接到比较器33的输入330。比较器33的另一个输入331连接到其中可以存储用于硬件计数器30的超时数值(Val2)的可编程寄存器35。比较器33将递增计数器32的数值与可编程寄存器35中存储的数值进行比较,并在硬件计数器30的输出34输出计时器超时信号,所述计时器超时信号指示所述数值相等,并且硬件计数器30因此超时;这将唤醒处理器。

再次参见图1,微处理器1可进一步包括计时器控制器40。当数据处理系统从低功率模式切换到非低功率模式时,计数器控制器40可以确定具有第一频率的时钟信号的时钟周期数目,所述第一频率对应于微处理器1在其间已经处于低功率模式的低功率模式时段。计数器控制器40可以基于所确定的数目对硬件计数器进行调节。

计数器控制器40可以以适于特定实施方式的任意形式来实现。如图所示,计数器控制器40可以连接到硬件计数器30的控制输入36,硬件计数器30的超时时间能够经由所述控制输入36而得到控制。如图4所示,控制输入36例如可以连接到可编程寄存器35,并且允许对可编程寄存器35中的数值Val2进行编程。如图1所示,计数器控制器40可进一步连接到模式控制器60以确定所述模式控制器将微处理器从非低功率模式切换到低功率模式的时间点,并且确定所述模式控制器将微处理器从低功率模式切换到非低功率模式的时间点。应当注意的是,用于检测模式切换的技术通常是本领域所公知的,并且出于简明的目的而不再进一步详细描述。

如图5所示,计时器控制器40可以包括转换器42,其用于基于时钟在低功率模式时段期间的时钟的时钟周期数目来调节计数器32的计数器数值和/或硬件计数器30所设置的超时时间。

在图5的示例中,转换器42连接到一个或多个存储器单元,在所述存储器单元中存储有微处理器1切换到低功率模式的时间点的计数器数值(Val0),以及微处理器1从低功率模式切换到非低功率模式的时间点的计数器数值(Val4)和硬件计数器被设置的数值(Val2)(高频率时钟周期的数目)。转换器42可以基于(多个)存储器单元中所存储的数值确定所调节的数值。

可以以适于特定实施方式的任意方式来确定所调节的数值。例如,计数器控制器40可以执行如图2所示的方法。在图2的示例中,如201所指示的,当微处理器在正常模式中工作时,可以确定是否能够通过进入低功率模式,例如通过进入由框202所指示的空闲模式来节约功率。如果能够节约功率,则可以执行进入微处理器的线程,并且如框203所指示的,可以存储计数器数值Val0;如204所指示的,时钟可以切换到低功率模式;并且如205所指示的,微处理器1可以切换到低功率模式。(在图2中,框203-205被示为顺序连接,然而框203-205所表示的过程显然也可以(至少部分地)同时执行)。

如框206所指示的,在微处理器已经切换到低功率模式205之后的某个时间点处,微处理器1可以被唤醒并且切换到正常功率模式。如框207和208所指示的,可以存储唤醒时的计数器数值Val4,以及用于硬件计时器30的超时时间的原始数值。如框209所指示的,从所存储的数值Val0和Val4,可以确定与低功率模式时段期间所计数的低频率时钟周期的数目相对应的高频率时钟周期的数目(Val1)。例如,转换器42或另一逻辑可以确定低功率模式时段期间的计数器值的变化,所述变化在该示例中为递增,并且将所获得的数值与低频率和高频率时钟之间的频率比(RCF)相乘。例如,可以通过以下数学公式所描述的运算来确定Val1:

Val1=(V4-V0)*RCF    (1)

如框210所指示的,可以确定新的计数器数值Val6。例如,如图3所示,假设硬件计数器在时间t0被设置为在时间t3超时(例如,以时钟周期的数值Val2所表达,图1中Val2=33个时钟周期),并且在时间t1(图3中时间t0后的2个高频率时钟周期)微处理器1被切换到低频率模式,其中时钟频率是高时钟频率的1/RCF倍(RCF>1,并且在该示例中为3),在没有补偿的情况下,硬件计数器将在不同于所设置时间t3的时间t4超时。通过为此对硬件计时器进行调节,可以保持硬件计时器的精确度。例如,可以通过将数值Val2调节为所调节数值Val6来对硬件计时器进行调节,所述所调节数值Val6可以通过执行如数学公式所描述的运算来确定:

Val6=Val2-Val1-Val0+Val4(2)

其中,Val1表示与低功率模式时段相对应的高时钟频率周期的数目,并且例如,可以通过等式1来确定。

如框211所指示的,硬件计时器可以设置为新的计数器数值Val6,并且如框212所指示的,时钟可以切换回高频率时钟。虽然使用其它适当数值将是显而易见的,但是在图3的示例中,RCF=3,Val0=2,Val4=10且Val3=33。因此,Val1=(10-2)*3=24,而Val3=Val2-Val1=33-24=9,Val5=1为Val3-Val0=9-2=7,并且Val6=Val5+Val4=7+10=17。因此,通过将硬件计时器重新设置为17个时钟周期,硬件计时器30将在一开始所期望的时间t3处超期,并且能够保持所述硬件计时器的精确度。

参见图6,其中示出了数据处理系统100的示例。如图所示,系统100可以包括微处理器1。微处理器1例如可以实现为如图1的示例所示。如图所示,数据处理系统100可以包括存储器110,所述存储器110可包括数据。如图7所示,所述数据可以表示可由微处理器1执行的指令120。所述指令可以包括计时器控制指令122,其用于在微处理器1从低功率模式切换到非低功率模式时,确定具有第一频率的时钟信号的时钟周期数目,所述第一频率对应于数据处理系统在其间已经处于低功率模式的低功率模式时段;并且基于所确定的数目对硬件计时器进行调节。

参见图7,所述指令可以包括表示操作系统120的指令的集合,所述操作系统形成微处理器1和在微处理器1上运行的应用程序130、131之间的接口;所述集合可以包括计时器控制指令。操作系统(OS)是如下的软件,其对计算机或其它可编程装置的资源共享进行管理,并且提供具有用来访问那些资源的接口的程序。操作系统对系统数据和用户输入进行处理,并且通过分配和管理作为对用户的服务以及系统程序的任务和内部系统资源来进行响应。

本发明还可以以计算机系统上运行的计算机程序来实现,其至少包括用于在诸如计算机系统之类的可编程装置上运行时执行根据本发明方法的步骤的代码部分,或者使得所述可编程装置执行根据本发明的设备或系统的功能的代码部分。所述计算机程序产品例如可以包括可由微处理器1执行的代码部分。所述代码部分可以包括计时器控制指令,所述计时器控制指令用于在微处理器1从低功率模式切换到非低功率模式时,确定具有第一频率的时钟信号的时钟周期数目,所述第一频率对应于数据处理系统在其间已经处于低功率模式的低功率模式时段;并且基于所确定的数目对硬件计时器进行调节。

所述计算机程序例如可以包括以下的一种或多种:子程序、函数、进程、对象方法、对象实施方式、可执行应用程序、Java程序(applet)、伺服小程序(servlet)、源代码、目标代码、共享库/动态加载库和/或被设计为在计算机系统上执行的其它指令序列。所述计算机程序可以在诸如CD-rom或磁盘之类的数据载体上提供,与在计算机系统的存储器中的可加载数据、表示计算机程序的数据一起存储。所述数据载体进一步可以是数据连接,诸如电话线缆或无线连接或者其它计算机可读介质。这样的计算机可读介质可以持久、可去除地或远程耦合到诸如系统100之类的信息处理系统。例如且不作为限制,所述计算机可读介质可以包括任意数量的以下各项:包括磁盘和磁带存储媒体的磁存储介质;诸如光盘介质的光存储介质(例如,CD ROM、CD R等)和数字视频磁盘存储介质;包括基于半导体的存储器单元的非易失性存储器存储介质,诸如闪存、EEPROM、EPROM、ROM;铁磁性数字存储器;MRAM;包括寄存器、缓冲器或高速缓存、主存储器、RAM等的易失性存储介质;以及包括计算机网络、点对点电信设备和载波传输介质的数据传输介质,以上仅是给出一些示例。

在以上说明书中,已经参见本发明实施例的特定示例对其进行了描述。然而,显然可以在不脱离如所附权利要求所给出的本发明的宽泛精神和范围的情况下,可以对本发明进行各种修改和变化。例如,所述连接可以是适于例如经由中间设备向或者从各个节点、单元或设备传送信号的连接类型。因此,除非另外暗示或指出,否则所述连接例如可以是直接连接或间接连接。

如可应用的,一些以上实施例可以使用各种不同的信息处理系统来实现。例如,虽然图1及其讨论描述了示例性的信息处理体系,但是该示例性体系仅被呈现为在讨论本发明各个方面时提供有用的引用。当然,所述体系的描述已经出于讨论的目的而被简化,并且其仅是可依据本发明使用的许多不同类型的适当体系之一。本领域技术人员将会认识到,逻辑模块之间的界线仅是说明性的,并且可替换实施例可以合并逻辑模块或电路部件,或者对各种逻辑模块或电阻部件使用备用的功能分解形式。

因此,所要理解的是,这里所描述的体系仅是示例性的,并且实际上能够以许多实现相同功能的其它体系来实施。简言之,但是仍然是明确地,用来实现相同功能的任意组件配置是有效“关联”的,以从而实现所需功能。因此,这里被组合以实现特定功能的任意两种组件可以看作彼此“相关联”以使得所需功能得以实现,而不考虑体系或中间组件。同样,这样相关联的任意两个组件也可以看作彼此“操作相连”或“操作耦合”,以实现所需功能。

而且例如,在一个实施例中,所示的微处理器1的部件是位于单个集成电路上或相同设备内的电路。可选地,微处理器1可以包括彼此互连的任意数量的分离的集成电路或分离的设备。例如,外围设备2-4可以位于与处理器核心10相同的集成电路上,或者位于分离的集成电路上,或者位于与系统100的其它部件离散相隔的另一外围设备或从属设备上。这样,微处理器1可以以任意适当类型的硬件描述语言来实施。

而且,本发明并不局限于以不可编程的硬件来实施的物理设备或单元,而是还可以应用在能够通过依据适当程序代码进行操作,来执行所需设备功能的可编程设备或单元中。此外,所述设备可以物理分布在多个装置上,而在功能上像单个设备那样操作。例如,在图4中,硬件计时器30被示为单个模块,然而应当注意到,例如计数器32可以与微处理器1的其它组件进行共享,并且/或者计数器32或硬件计时器的其它组件可以出现在与例如比较器33不同的位置。

而且,在功能上形成分离地设备的设备可以集成在单个物理设备中。例如,在图6的示例中,存储器101可以被提供在与微处理器1相同的集成电路上。

然而,其它的修改、变化和替换也是可能的。因此,说明书和附图要认为是说明而非限制意义。

在权利要求中,置于括号之间的任意附图标记都不应认为是对权利要求进行限制。词语“包括”并不排除存在不同于权利要求中所列出的其它部件或步骤。此外,如这里所使用的术语“一个”定义为一个或多个。而且,即使相同的权利要求包括引导性短语“一个或多个”或“至少一个”以及诸如“一个”的不定冠词时,权利要求中所使用的诸如“至少一个”和“一个或多个”之类的引导性短语不应当被理解为其暗示了在其他权利要求元素中不定冠词“一个(a或an)”的引导将包含这种引导的权利要求元素的任意特定权利要求限制为仅包含一个这种元素的发明。对于定冠词的使用同样如此。除非另外指出,否则诸如“第一”和“第二”之类的术语用来在这种短语所描述的元素之间进行任意区分。因此,这些术语并不必意在指示这些元素的临时或其它优先顺序。尽管在彼此不同的权利要求中引用了特定度量,但并不表示这些度量的组合形式没有优点。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号