首页> 中国专利> 基于存储器访问指令生成执行指令的装置、系统和方法

基于存储器访问指令生成执行指令的装置、系统和方法

摘要

本发明的实施例提供了一种生成执行指令的装置、系统和方法。一些说明性实施例可包括根据表示存储器地址的存储器访问指令的存储器地址数据生成预定可执行格式的执行指令。描述和声明了其它实施例。

著录项

  • 公开/公告号CN1892588A

    专利类型发明专利

  • 公开/公告日2007-01-10

    原文格式PDF

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

    申请/专利号CN200610100782.1

  • 申请日2006-06-30

  • 分类号G06F9/30(20060101);G06F1/32(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人李玲

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 18:04:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-08-13

    未缴年费专利权终止 IPC(主分类):G06F9/30 授权公告日:20081008 终止日期:20130630 申请日:20060630

    专利权的终止

  • 2008-10-08

    授权

    授权

  • 2007-03-07

    实质审查的生效

    实质审查的生效

  • 2007-01-10

    公开

    公开

说明书

背景技术

电源管理操作例如可涉及核心计时控制、活动状态操作、空闲状态操作和/或热控制,例如高级配置和电源接口(ACPI)规范所定义的。

常规的计算平台可执行一操作系统,它能通过生成指示代表要激活的操作的存储器地址的输入/输出映射事务来激活电源管理操作。

附图说明

在说明书的结论部分中特别指出并清楚地声明了被认为是本发明的主题。然而,有关组织和操作方法的本发明连同其目的、特征和优点可在阅读附图时通过参考以下的详细描述加以理解,其中:

图1足示出根据本发明的一些说明性实施例的包括执行指令生成器的计算平台的示意图。

图2是示出根据本发明的一个说明性实施例的执行指令生成器的示意图。

图3是示出根据本发明的另一说明性实施例的执行指令生成器的示意图。

图4是示出根据本发明的一些说明性实施例的生成执行指令的方法的示意性流程图。

可以理解,为了说明的简化和清楚,图中示出的元件不必按比例绘制,例如,为清楚起见,相对于其它元件可以夸大一些元件的尺寸。此外,只要认为是合适的,可在附图之间重复标号以指示相应或相似的元件。

具体实施方式

在以下的详细描述中,阐述了大量具体细节以提供对本发明的透彻理解。然而,本领域的普通技术人员可以理解,本发明可在没有这些具体细节的情况下实施。在其它实例中,不详细描述公知方法、程序、组件和电路以免模糊本发明。

除非另外特别声明,如以下讨论中显见的,可以理解:贯穿本说明书,使用诸如“处理”、“计算”、“确定”等的术语的讨论表示计算机或计算系统或者类似电子计算设备的动作和/或过程,它们将被表示为计算系统的寄存器和/或存储器中的物理量(诸如电子量)操作和/或转换成类似地表示为计算系统的存储器、寄存器或其它这种信息存储、传输或显示装置内的物理量的其它数据。此外,术语“多个”可贯穿说明书用于描述两个或更多的组件、设备、参数等。

这里使用的短语“存储器访问指令”表示用于访问一个或多个存储器地址的指令、命令、指示和/或函数,例如通过读写一个或多个存储器地址。在本发明的一些说明性实施例中,存储器访问指令可包括输入/输出(I/O)映射事务指令,例如如本领域中已知的。在本发明的一些说明性实施例中,存储器访问指令可由操作系统(OS)和/或任何其它合适的模块生成,并例如可包括I/O映射指令,如2000年7月27日出版的高级配置和电源接口(ACPI)规范、版本2.0所定义的。存储器访问指令可指示期望的操作,例如核心计时控制操作、活动状态控制操作(也称作“P状态操作”)、空闲状态控制操作(也称作“C状态操作”)、热控制操作和/或要执行的任何其它合适的操作,例如作为控制方案的一部分,如ACPI规范所定义的电源管理控制方案和/或电源优化控制方案。例如,存储器访问指令可包括与表示期望操作的存储器地址相对应的地址数据。

这里所使用的短语“执行指令”可表示可由处理器,例如由处理器的一个或多个逻辑元件执行的类型和/或格式的指令、命令、指示和/或函数。在本发明的一些示例性实施例中,执行指令可包括监视器等待(MWAIT)指令,例如由2005年4月出版的IA-32 IntelArchitecture Software Developer’s Manual,卷2A:Instruction Set Reference A-M所定义的。MWAIT指令例如可涉及期望的C状态操作。例如,MWAIT指令可包括表示期望的C状态操作的目标C状态参数。例如,C-1状态可涉及执行状态,C-2状态可涉及低节能状态,C-3状态可涉及中间节能状态,C-4状态可涉及高节能状态,例如ACPI规范所定义的。

本发明的一些说明性实施例包括根据接收到的存储器访问指令的地址数据生成预定可执行格式的执行指令的设备、系统和/或方法,如以下详细描述的。在本发明的一些说明性实施例中,存储器地址指令可至少部分转换为执行指令,如以下所描述的。

参考图1,其中示意性地示出了根据本发明的一些说明性实施例的计算平台100。

在本发明的一些实施例中,计算平台100可包括或可以是便携式计算平台,例如可以由诸如电池的便携式电源供电。在本发明的其它实施例中,计算平台100可包括或可以是非便携式计算平台。

尽管本发明在这方面不受限制,平台100例如可包括和/或可以是个人计算机、台式计算机、移动计算机、膝上计算机、笔记本计算机、终端、工作站、服务器计算机、个人数字助理(PDA)设备、平板计算机、网络设备、微控制器、移动电话、照相机或任何其它合适的计算和/或通信设备。

根据本发明的一些说明性实施例,平台100可包括处理器102。处理器102例如可包括中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、主机处理器、多个处理器、控制器、芯片、微芯片或任何其它合适的多用途或专用处理器或控制器。处理器101可包括处理器核心104,例如包括本领域已知的一个或多个运算逻辑单元(ALU)。

根据本发明的一些说明性实施例,平台100也可包括输入单元118、输出单元120、存储器单元114和/或存储单元122。平台100可附加地包括其它合适的硬件组件和/或软件组件。

输入单元118例如可包括键盘、鼠标、触摸垫或其它合适的指示设备或输入设备。输出单元120例如可包括阴极射线管(CRT)监视器、液晶显示器(LCD)监视器或其它合适的监视器或显示器单元。

存储单元122例如可包括硬盘驱动器、软盘驱动器、光盘(CD)驱动器、可记录CD(CD-R)驱动器或其它合适的可拆卸和/或固定的存储单元。

存储器单元114例如可包括随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步DRAM(SD-RAM)、闪存、易失性存储器、非易失性存储器、高速缓存、缓冲器、短期存储器单元、长期存储器单元或其它合适的存储器单元或存储单元。

根据本发明的一些说明性实施例,存储器单元例如可存储一个或多个OS指令116。当由处理器102执行时,OS指令116可导致OS应用程序108,例如如本领域已知的。OS 108可生成至少一个存储器访问指令110,例如作为根据ACPI规范的电源管理控制方案的一部分。存储器访问指令110例如可包括I/O读指令,它包含与例如存储器114的存储器地址相对应的地址数据,它可表示一预定操作。该预定操作例如可包括电源管理/优化操作,例如C状态操作。因此,地址数据可对应于表示要执行的C状态操作的存储器114的数据地址。

根据本发明的一些说明性实施例,处理器102可包括执行指令生成器106,以根据存储器访问指令110的地址数据生成例如可由处理器核心104执行的预定格式的执行指令112。例如,指令生成器106可生成与存储器访问指令110的地址数据相对应的MWAIT指令,如下所述。

这里在例如计算平台100的计算平台的说明性实施例的环境中描述本发明的各方面,其中包括作为处理器一部分(如处理器102)的指令生成器(如生成器106)。但是,本领域的熟练技术人员可以理解,根据本发明的其它实施例,指令生成器可与处理器分开作为计算平台的一部分。

参考图2,其中示意性地示出了根据本发明的一说明性实施例的指令生成器200。虽然本发明在这方面不受限制,但指令生成器200可执行指令生成器106(图1)的功能。

根据本发明的一些说明性实施例,指令生成器200可包括指令俘获模块204以俘获(“标记”)一接收到的存储器访问指令信号202。存储器访问指令信号202例如可包括地址数据,例如对应于存储器114(图1)的地址。存储器访问指令202还可包括任何合适的非地址数据,例如包括指令数据和/或指令参数,如本领域已知的。指令俘获模块204可生成一个与存储器访问指令信号202基本一致的信号206,以及包含指令信号202的地址数据的信号228。俘获模块204还可生成包含指令信号202的非地址数据的至少一部分的信号208。

根据本发明的一些说明性实施例,指令生成器200可根据存储器访问指令信号202的地址数据生成例如要提供给处理器核心104(图1)的指令信号210,如下所述。

在本发明的一些说明性实施例中,指令生成器200例如可根据存储器访问指令202的地址数据选择性地生成指令信号210,包括存储器访问指令202或与存储器访问指令202的地址数据相对应的执行指令214,如下所述。

根据本发明的一些说明性实施例,指令生成器200也可包括控制器226、转换器222、组合器218和/或选择器212,如下所述。

根据本发明的一些说明性实施例,控制器226可确定存储器访问指令202的地址数据是否对应于一个或多个预定的执行指令,如下所述。

根据本发明的一些说明性实施例,控制器226可比较信号228的地址数据和与一个或多个预定执行指令相对应的一个或多个存储器地址的组的预定地址数据。例如,一个或多个预定执行指令可通过例如存储器114(图1)的存储器地址序列来表示。该存储器序列例如可由与存储器地址序列的第一个存储器地址相对应的基指针值230以及与序列中的地址数相对应的范围值232来限定。本领域的熟练技术人员可以理解,在本发明的其它实施例中,存储器地址序列可按任何其它合适的方式来限定。例如,存储器地址序列可通过基指针值230和与地址序列中的最后一个地址相对应的端指针来限定。

尽管这里针对由存储器地址序列所表示的一个或多个执行指令来描述本发明的一些说明性实施例,但本领域的熟练技术人员将理解,在本发明的其它实施例中,这一个或多个执行指令可由任何其它存储器地址的所需配置来表示,例如存储器地址的非连续组。

根据本发明的一些说明性实施例,控制器226可将信号228的地址数据与基指针值230和/或范围值232的值进行比较。控制器226例如可根据信号228的存储器地址数据与基指针值230和/或范围值232之间的比较来确定存储器访问指令202是否对应于预定执行指令之一。例如,如果信号228的地址数据对应于一地址值,则控制器226可确定存储器访问指令202对应于预定执行指令之一,其中所述地址值等于或大于基指针值230;且等于或小于基指针值230和范围值232之和。

根据本发明的一些说明性实施例,例如如果控制器226确定存储器访问指令202对应于预定执行指令之一,则指令生成器200能确定与信号228的地址数据所表示的操作相对应的至少一个执行指令参数220,如下所述。

根据本发明的一些说明性实施例,转换器222可将存储器访问信号202所表示的存储器地址转换成执行指令参数220。例如,转换器222可包括一表,例如查找表(LUT)223,它包括由一组索引值229标识的一组预定执行指令参数227,例如C状态参数。控制器226可生成索引信号224,它的值对应于指示执行指令参数的索引值229之一,例如对应于信号202的存储器地址。例如,参数227可按照表示与参数227相对应的执行指令的存储器地址的顺序进行排列。根据该示例,索引值229可包括值的预定序列,例如序列1,2,3...。因此,控制器226可生成索引信号224,它的值对应于信号228的地址值和基指针值230之差。

在本发明的一个说明性实施例中,上述一个或多个预定执行指令可包括分别由N个存储器地址n、n+1、n+2...n+N-1的序列表示的N个执行指令。因此,表223可包括由具有值i、i+1、i+2...i+N-1的N个相应索引值229所标识的N个指令参数227,例如其中i=1或任何其它期望的数。因此,控制器226可生成索引信号224,例如具有值j=m-bp+i,其中m表示信号228的存储器地址,且bp表示基指针值230。

根据本发明的一些说明性实施例,组合器218可通过将执行指令参数220与信号208的非地址数据组合来生成执行指令214。例如根据参数220和/或信号208的非地址数据的类型,组合器218可执行任何合适的组合方法。

根据本发明的一些说明性实施例,例如,控制器226可用控制信号216控制选择器212,以选择性地生成包含执行指令214或信号206的存储器访问指令的指令信号210。例如,如果控制器226确定存储器访问指令202的存储器地址数据对应于预定执行指令之一,则控制器226可控制选择器212以生成包含执行指令214的指令信号210;以及例如如果控制器226确定存储器访问指令202的存储器地址数据不对应于预定执行指令中的任一个,则生成包含存储器访问指令202的指令信号210。

再参考图1,在本发明的一些说明性实施例中,处理器核心104能执行一个或多个MWAIT指令,例如用于激活相应的C状态操作。MWAIT指令可包括与目标C状态有关的一MWAIT(目标C状态)指令,例如根据ACPI规范。在本发明的这些示例性实施例中,指令生成器106能生成包括与存储器访问指令110所表示的目标C状态相对应的MWAIT(目标C状态)的执行指令112,如下所述。

现参考图3,其中示意性地示出了根据本发明的另一说明性实施例的指令生成器300。虽然本发明在这方面不受限制,但指令生成器300可执行指令生成器106(图1)的功能。

根据本发明的一些说明性实施例,指令生成器300可根据存储器访问指令信号302的地址数据生成例如要提供给处理器核心104(图1)的指令信号310。在本发明的一些说明性实施例中,指令生成器300例如可根据存储器地址指令302的地址数据选择性地生成指令信号310,它包括存储器访问指令302或者与存储器访问指令302的地址数据相对应的MWAIT指令314,如下所述。

根据本发明的一些说明性实施例,指令生成器300可包括指令俘获模块304以标记存储器访问指令信号302。存储器访问指令信号302例如可包括地址数据,例如对应于存储器114(图1)的地址。指令俘获模块304可生成与存储器访问指令信号302基本一致的信号306;以及包括指令信号302的地址数据的信号328。

根据本发明的一些说明性实施例,指令生成器300还可包括控制器326、转换器322和/或选择器312,如下所述。

根据本发明的一些说明性实施例,控制器326可确定存储器访问指令302的地址数据是否分别对应于一个或多个预定MWAIT指令,如下所述。

根据本发明的一些说明性实施例,控制器326可将信号328的地址数据和与一个或多个MWAIT指令相对应的一个或多个存储器地址组的预定地址数据进行比较。在一个示例性实施例中,这一个或多个MWAIT指令可由存储器114(图1)的存储器地址序列表示。该存储器地址的序列例如可由与表示C-2状态操作的存储器地址相对应的2级基点(“LVL2B”)值330;以及与存储器地址序列中的地址数相对应的C状态范围(“CST_RANGE”)值332来确定。

根据本发明的一些说明性实施例,控制器326例如可根据信号328的存储器地址数据与LVL2B值330和/或CST_RANGE值332之间的比较来确定存储器访问指令302是否对应于MWAIT指令之一。例如,如果信号328的地址数据对应于一地址值,控制器326可确定存储器访问指令302对应于MWAIT指令之一,其中所述地址值等于或大于LVL2B值330;且等于或小于LVL2B值330和CST_RANGE值332之和。

根据本发明的一些说明性实施例,转换器322可将存储器访问指令302所表示的存储器地址转换成MWAIT指令314。例如,控制器326可生成索引信号324,其值指示存储器访问指令302的存储器地址数据所表示的C状态参数,且转换器322可基于索引信号324生成MWAIT指令314。。

在本发明的一个说明性实施例中,这一个或多个MWAIT指令可包括N’MWAIT指令,它们分别由N’个存储器地址n’、n’+1、n’+2...n’+N’-1的序列表示。例如,MWAIT指令可包括分别对应于状态C-2、C-3和C-4的三个MWAIT指令。

因此,控制器326可生成索引信号324,例如具有值m’-L,其中m’表示信号328的存储器地址,且L表示LVL2B 330的值。转换器322可生成与状态j’+2相对应的MWAIT指令314,其中j’表示索引324的值。

根据本发明的一些说明性实施例,例如,控制器326可用控制信号316控制选择器312,以选择性地生成包含MWAIT指令314或信号306的存储器访问指令的指令信号310。例如,如果控制器326确定存储器访问指令302的存储器地址数据对应于预定MWAIT指令之一,则控制器326可控制选择器312以生成包含执行指令314的指令信号310;以及例如如果控制器326确定存储器访问指令302的存储器地址数据不对应于预定执行指令中的任一个,则生成包含存储器访问指令302的指令信号310。

虽然本发明的范围在这方面不受限制,但本发明的一些说明性实施例可涉及能生成执行指令的指令生成器,例如指令生成器300,其依照一个或多个节能方案,例如电源优化方案和/或电源管理方案。然而,本领域的熟练技术人员可以理解,本发明的其它实施例可包括执行指令生成器,它能依照任何其它的合适方案(例如温度方案、频率方案和/或电压缩放方案)生成执行指令,如本领域已知的。

现参考图4,其中示意性地示出了根据本发明的一些说明性实施例的生成执行指令的方法。

如框402所示,该方法可包括根据表示存储器地址的接收到的存储器访问指令的地址数据生成预定可执行格式的执行指令。根据接收到的存储器访问指令的地址数据生成执行指令例如可包括根据用于访问存储器地址的接收到的输入/输出映射指令的地址数据来生成执行指令。

如框404所示,生成执行指令例如可包括根据地址数据选择性地生成执行指令。例如,该方法可包括将存储器访问指令的地址数据和与一个或多个预定执行指令相对应的一个或多个存储器地址的组的预定地址数据进行比较,如框406所示。该方法还包括:例如如果存储器访问指令的地址数据与所示存储器地址的组之一的地址数据相匹配,则生成执行指令,如框408所示。该方法可包括:例如如果存储器访问指令的地址数据不匹配存储器地址组之一的地址数据,则选择存储器访问指令,如框415所示。

如框410所示,生成执行指令可包括根据地址数据确定执行指令的一个或多个参数。生成执行指令可包括将执行指令的一个或多个参数与存储器访问指令的非地址数据组合,如框412所示。

根据具体用或根据具体的设计要求,本发明的实施例可通过软件、硬件、固件或软件、硬件和/或固件的任何组合来执行。本发明的实施例可包括单元和子单元,它们可整体或部分地相互分开或组合在一起,并可用特定的多用途或通用处理器或设备实现,如本领域已知的。本发明的一些实施例可包括缓冲器、寄存器、存储单元和/或存储器单元,用于临时或长期存储数据和/或便于特定实施例的操作。

虽然这里已示出并描述了本发明的某些特点,本领域的普通技术人员可进行许多修改、替换、改变和等效。因此,可以理解,所附权利要求书旨在覆盖落在本发明的真实范围内的所有这些修改和变化。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号