CN1310116C - 具有功率控制功能的微处理器以及指令转换装置 - Google Patents
具有功率控制功能的微处理器以及指令转换装置 Download PDFInfo
- Publication number
- CN1310116C CN1310116C CNB200410055222XA CN200410055222A CN1310116C CN 1310116 C CN1310116 C CN 1310116C CN B200410055222X A CNB200410055222X A CN B200410055222XA CN 200410055222 A CN200410055222 A CN 200410055222A CN 1310116 C CN1310116 C CN 1310116C
- Authority
- CN
- China
- Prior art keywords
- power control
- instruction
- power
- microprocessor
- repertorie
- 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.)
- Expired - Fee Related
Links
- 238000003860 storage Methods 0.000 claims description 7
- 238000004321 preservation Methods 0.000 claims description 2
- 230000009466 transformation Effects 0.000 description 58
- 238000010586 diagram Methods 0.000 description 34
- 230000014509 gene expression Effects 0.000 description 34
- 238000012827 research and development Methods 0.000 description 32
- 238000000034 method Methods 0.000 description 29
- 230000008707 rearrangement Effects 0.000 description 24
- 230000004913 activation Effects 0.000 description 22
- 238000004458 analytical method Methods 0.000 description 21
- 238000011426 transformation method Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000037431 insertion Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 238000003780 insertion Methods 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 239000000203 mixture Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000001343 mnemonic effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Images
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/26—Power supply means, e.g. regulation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
一种具有功率控制功能的微处理器,具有:功率控制寄存器(702),用于存储关于应该在其中执行由功率控制指令指定的功率控制操作的操作资源的信息;功率控制电路(703),用于输出功率控制信号,该信号用于以功率控制寄存器(702)中存储的信息为基础对各个操作资源执行功率控制操作;功率控制容许寄存器(704),其中预先设置了用于表示是否执行功率控制操作的信息;以及选通电路(705),用于以功率控制容许寄存器(704)所设置的信息为基础来选通相应的功率控制信号。可以防止产生由自动插入功率控制指令导致的问题(错误)。而且,当偶尔发生错误时,能够把由编写的指令程序导致的问题和由编译器自动插入指令导致的其它问题加以区分。
Description
技术领域
本发明涉及具有功率控制功能的微处理器,还涉及一种指令转换装置,用于优化指令程序使其合适地执行于一个预定微处理器。
背景技术
通常,为了减少微处理器的功耗,软件研发人员直接将功率控制命令编写到指令程序。图21是表示指令程序的一个实例的框图,该指令程序用于通过驱动软件来执行微处理器的一个功率控制操作。在该实例中,在段2101中不使用数据存储器。因此,软件研发人员将一个用于停止数据存储器的命令插入程序段2102,并且在再次使用该数据存储器之前将另一个用于释放该数据存储器的停止操作的命令插入到程序段2103。
微处理器执行指令时,解码器解码上述功率控制指令,然后提取功率控制信息。将提取的功率控制信息写入功率控制寄存器,而且功率控制电路响应该功率控制寄存器的状态而执行功率控制操作,如前面说明的,可以通过已经插入到指令程序中的上述两条指令在段2101停止数据存储器。
尽管在该实例中已经举例说明了该数据存储器,但是如果其功率由微处理器中的命令所控制的其他任何主体有效,那么该微处理器的很多其他操作资源是可控制的,这包括数据寄存器,数据总线,计算器,外设接口,此外还包括通用逻辑电路元件。
然而在上述方法中,当软件研发人员编写指令程序时,该软件研发人员判断功率控制操作的起始程序段和结束程序段,并且将一个功率控制命令直接编写到指令程序,因此加重了软件研发人员的研发工作量。而且,当指定程序段增加时,软件研发人员几乎不能以优良方式来编写控制指令。此外,在这种其功率应受到控制的主体彼此不同的情况下,根据像存储器结构和外设接口的端点数量这样的微处理器系统结构,必须需要这些微处理器各自的机器类的特定程序。因此,实际上软件很难通用,并且很难彼此替换。
为了解决上述问题,在日本专利申请NO.2003-17374中提出了像编译器这样的指令转换装置。在该指令转换装置中,依赖构成一个指令程序的指令分类,在一个表中预先存储这种涉及关于是否激活各自的操作资源的信息。然后,利用该表分析指令程序并以分析结果为基础插入一个功率控制指令。
最近,与增加软件容量有关,在软件里很容易留下问题(错误),因此几乎不能保证软件的安全特性。另一方面,当把软件制成软件产品后显示出错误时,必须校正这些软件产品,而且必须通过免费的校正软件重新编写该软件,这可能会导致相当大的损失。
在上述日本专利申请NO.2003-17374所描述的技术想法中,由于是由像编译器这样的指令转换装置自动插入功率控制指令,所以必然存在通过自动插入功率控制指令而产生问题(错误)的可能性。而且,即使在调试一个软件产品时能够发现错误,但是实质上也是很难判断该错误是由软件研发人员编写的指令程序所导致的,还是由像编译器这样的指令转换装置自动插入的指令所导致的。
例如,与增加移动装置的功能有关,提出了减少功率耗损的更高的要求。因此,最近提出了降低许多电子装置中产生的功率耗损的强烈需求。在这种情况下,由软件研发人员将功率控制命令手工编写到指令程序的方法几乎不能满足这些需求。因此,必须需要像编译器这种用于自动插入功率控制指令的方法。然而,因为自动插入功率控制指令而发生问题(错误)的必然性会导致大问题。
而且,因为使用涉及功率控制操作的硬件来停止其他硬件的操作,所以存在会产生关于硬件的初始化问题的很大的必然性。因此,根据功率控制操作,把一个软件问题(程序错误)和一个硬件问题加以区分也是很重要的。然而,在软件研发人员将功率控制命令直接编写到指令程序的传统方法中,因为程序员编辑该包含了功率控制命令的软件,所以实质上很难将所述软件问题(程序错误)和所述硬件问题加以区分。类似地将区分软件/硬件问题应用于利用编译器将功率控制指令自动插入到指令程序的方法。
发明内容
本发明用于解决上面说明的现有技术的问题,其目的在于提供这种具有功率控制功能的微处理器和这种指令转换装置。也就是说,在由编译器等实现的分析指令程序并将功率控制指令自动插入到该经过分析的指令程序的指令转换方法中,微处理器和指令转换装置能够防止产生由自动插入功率控制指令所导致的问题,并因此能够提供软件的安全特性。此外,当问题发生时,微处理器和指令转换装置能够把由软件研发人员编写的命令程序所导致的一个问题和由编译器自动插入一个指令所导致的另一个问题加以区分,并且还能够把涉及功率控制操作的硬件所导致的一个问题和另一个由软件所导致的问题加以区分。
为了解决上述问题,本发明的第一个方面记载了一种微处理器,其特征在于这种具有功率控制功能的微处理器,包括:设置了是否执行功率控制操作信息的功率控制容许设置装置;以及在执行功率控制指令时用于根据设置在功率控制容许设置装置中的信息来最终控制一个功率控制信号输出的功率控制输出装置,所述功率控制指令分别指定根据微处理器操作资源的功率控制操作。
本发明的第二个方面记载了一种微处理器,其特征在于如在本发明的第一个方面中所记载的微处理器,进一步包括:功率控制寄存器,用于往其中存储关于应执行其功率控制操作的操作资源的信息,该功率控制操作由功率控制指令指定;用于输出功率控制信号的功率控制电路,所述功率控制信号用于控制根据以存储在功率控制寄存器中的信息为基础的各自的操作资源的电功率;以及一个选通电路,用于根据向功率控制容许设置装置设置的信息来选通各自的功率控制信号。
根据在本发明的第一个方面或第二个方面中所记载的微处理器,当软件的安全特性希望拥有高于低功率耗损的优先级时,因为功率控制容许设置装置能够确定是否操作该功率控制,所以能够保证安全特性且不容许功率控制。而且当调试一个指令程序时,因为切换容许/不容许功率控制操作,所以可以把由软件研发人员编写的指令代码所导致的一个软件问题和由指令转换操作插入的功率控制指令所导致的另一个问题加以区分。
本发明的第三个方面记载了一种微处理器,其特征在于是这种具有功率控制功能的微处理器,包括:用于保持关于是否执行功率控制操作的信息的处理器状态判断装置,对该处理器状态判断装置先前设置了应用于每一个指令程序的各个程序标识符,而且该处理器状态判断装置用于判断在执行情况下指令程序的程序标识符是否对应于所设置的程序标识符,从而执行功率控制操作;以及功率控制输出控制装置,当执行功率控制指令时,用于根据处理器状态判断装置关于在执行情况下指令程序的判断结果来最终控制一个功率控制信号的输出,该功率控制指令根据微处理器的操作资源分别指定功率控制操作。
本发明的第四个方面记载了一种微处理器,其特征在于如在本发明的第三个方面中所记载的微处理器那样,进一步包括:功率控制寄存器,用于往其中存储关于应执行其的操作资源的信息,该功率控制操作由功率控制指令指定;用于输出功率控制信号的功率控制电路,该功率控制信号用于控制根据以存储在功率控制寄存器中的信息为基础的各自的操作资源的电功率;以及选通电路,用于根据处理器状态判断装置的判断结果来选通各自的功率控制信号。
根据在本发明的第三个方面或第四个方面中所记载的微处理器,以关于正在执行的指令程序是否执行功率控制操作的设置条件为基础,决定实际上是否执行该功率控制操作。例如,在由可靠软件研发人员研发的指令程序中可以容许功率控制操作,反之由不可靠软件研发人员研发的指令程序中不容许功率控制操作,从而可以增加执行指令程序时的安全性能。
本发明的第五个方面记载了一种指令转换装置,其特征在于用于优化指令程序以使预定微处理器合适地执行该优化指令程序的指令转换装置,包括:用于通过参考写入指令程序中的指令语句来提取功率控制管理信息的功率控制管理装置;用于以功率控制管理装置所提取的功率控制管理信息为基础检测操作资源的功率控制信息分析装置,当操作预定的微处理器时,该操作资源对于具有预定长度的指令段而言未被激活;用于以功率控制信息分析装置的检测结果为基础将涉及功率控制操作的指令应用于指令程序的功率控制指令应用装置。
本发明的第六个方面记载了一种指令转换装置,其特征在于如在本发明的第五个方面中所记载的指令转换装置,其中:功率控制管理信息包含用于指定指令段预定长度的信息;而且功率控制信息分析装置以功率控制管理信息为基础来改变指令段的预定长度。
本发明的第七个方面记载了一种指令转换装置,其特征在于如在本发明的第五个方面或第六个方面中所记载的指令转换装置,其中:指令转换装置进一步包括:与指令无关的操作资源表存储装置,用于存储关于预定微处理器的每一个操作资源是否对各个指令都激活的信息;而且功率控制信息分析装置以存储在与指令无关的操作资源表存储装置中的信息为基础,当操作预定的微处理器时检测这种对于具有预定长度的指令段而言未被激活的操作资源。
根据在本发明的第五个方面至第七各方面中记载的指令转换装置,当创建一个指令时,软件研发人员利用一个指令语句指定用于执行功率控制操作的一个段和功率控制操作的电平,因此可以仅在用于请求功率控制操作的段中执行任意电平的功率控制操作。因此,可以将代码大小增加和操作速度降低的问题抑制到最小限度,而且可以以优良方式执行功率控制操作。并且有可能指定不在这种通过插入和替换功率控制指令而容易发生关于安全特性问题的程序段上执行功率控制操作。因此,可以进一步提高指令程序的安全特性。
本发明的第八个方面记载了一个指令转换装置,其特征在于用于优化一个指令程序以使预定的微处理器合适地执行该优化指令程序的指令转换装置,包括:用于当操作预定的微处理器时检测对于具有预定长度的指令段而言未被激活的操作资源的功率控制分析装置;以及用于以功率控制信息分析装置的检测结果为基础将涉及功率控制操作的指令应用于指令程序的功率控制指令分析装置;其中:功率控制信息分析装置包括:用于以加长指令段的方式再汇编指令程序的指令再汇编装置,并在该指令段中能够停止激活操作资源。
根据在本发明的第八个方面中记载的指令转换装置,因为能够以在加长指令段期间可以停止激活操作资源的方式自动重新排序指令程序,所以功率控制信息分析装置检测到该期间没有激活操作资源的指令程序被加长,因此,在不执行指令程序时可以减少功率损耗。
本发明的第九个方面记载了指令转换装置,其特征在于如在本发明的第八个方面中记载的指令转换装置:指令再汇编装置相当于在保存创建于指令程序中的指令相关关系的时候重新排序指令的指令重新排序装置。
根据在本发明的第九个方面中记载的指令转换装置,在保持指令程序中所包含的对应指令关系时,可以用在加长指令段期间能够停止激活操作资源的方式重新排序指令。因此,功率控制信息分析装置检测到在该期间不激活操作资源的指令段可以变长,因此,可以有效地减少功率耗损。
本发明的第十个方面记载了一个指令转换装置,其特征在于如在本发明的第八个方面中记载的指令转换装置,其中:指令再汇编装置相当于用于由具有与一个指令相同处理结果的可替换指令代替包含在指令程序中的该指令的指令替换装置。
根据在本发明的第十个方面中记载的指令转换装置,可以由可替换指令以在加长指令段期间能够停止激活操作资源的方式来替换指令程序中包含的指令。因此,功率控制信息分析装置检测到该期间没有激活操作资源的指令段可以变长,因此,可以有效地减少功率耗损。
本发明的第十一个方面记载了指令转换方法,其特征在于用于优化指令程序以使预定的微处理器合适地操作该优化指令程序的指令转换方法,包括:功率控制管理步骤,用于通过参考编写在指令程序中的指令语句来提取功率控制管理信息;功率控制信息分析步骤,用于以功率控制管理步骤中所提取的功率控制管理信息为基础检测操作资源,当操作预定的微处理器时,该操作资源对于具有预定长度的指令段而言未被激活;以及功率控制指令应用步骤,用于以功率控制信息分析步骤的检测结果为基础将涉及功率控制操作的指令应用到指令程序。
本发明的第十二个方面记载了一种指令转换方法,其特征在于如在本发明的第十一个方面中所记载的指令转换方法,其中:功率控制管理信息包含用于指定指令段的预定长度的信息;而且该功率控制信息分析步骤以功率控制管理信息为基础改变指令段的预定长度。
本发明的第十三个方面记载了一种指令转换方法,其特征在于如在本发明的第十一个方面或第十二个方面中所记载的指令转换方法,其中:功率控制信息分析步骤参考与指令无关的操作资源表,该表存储了关于预定的微处理器中每一个操作资源是否对各个指令都激活的信息,以便当操作所述预定的微处理器时,检测对具有预定长度的指令段而言未被激活的操作资源。
根据在本发明的第十一个方面至第十三个方面中所记载的指令转换方法,软件研发人员在创建指令时利用指令语句指定一个用于执行功率控制操作的段和功率控制操作的电平,因此可以仅在用于请求功率控制操作的段中执行任意电平的功率控制操作。因此,可以将代码大小增加和操作速度降低的问题抑制到最小限度,而且可以以优良方式执行功率控制操作。并且有可能指定不在这种通过插入和替换功率控制指令而容易产生关于安全特性的问题的程序段上执行功率控制操作。因此,可以进一步增强指令程序的安全特性。
本发明的第十四个方面记载了一种指令转换方法,其特征在于用于优化指令程序以使其适于由预定的微处理器操作该优化指令程序的指令转换方法,包括:功率控制信息分析步骤,用于在操作预定微处理器时检测对具有预定长度的指令段而言未被激活的操作资源;功率控制指令应用步骤,用于以功率控制信息分析步骤的检测结果为基础将涉及功率控制操作的指令应用到指令程序;其中:功率控制信息分析步骤包括:指令再汇编步骤,用于以在加长指令段期间能够停止激活操作资源的方式再汇编该指令程序。
根据在本发明的第十四个方面中记载的指令转换方法,因为能够以在加长指令段期间可以停止激活操作资源的方式来自动重新排序指令程序,因此功率控制信息分析步骤检测到该期间不激活操作资源的指令段可以被加长操作资源,因此,在不执行指令程序时可以减少功率耗损。
本发明的第十五个方面记载了一种指令转换方法,其特征在于如在本发明的第十四个方面中记载的指令转换方法,其中:指令再汇编步骤在保持创建于指令程序中的指令相关关系的同时重新排序指令。
根据在本发明的第十五个方面中记载的指令转换方法,在保持指令程序中包含的指令对应关系的同时,可以用在加长指令段期间能够停止激活操作资源的方式重新排序指令。
本发明的第十六个方面记载了一种指令转换方法,其特征在于如在本发明的第十四个方面中记载的指令转换方法,其中:指令再汇编步骤通过一个具有与一个指令相同处理结果的可替换指令来代替指令程序中包含的该指令。
根据在本发明的第十六个方面中记载的指令转换方法,可以由可替换指令用在加长指令段期间能够停止操作资源的方式代替指令程序中包含的一个指令。因此,功率控制信息分析步骤检测到该期间不激活操作资源的指令段会变长,因此,可以有效地减少功率耗损。
本发明的第十七个方面记载了微处理器,其特征在于:微处理器执行由本发明的第五个方面至第十个方面中任何一个方面记载的指令转换装置所转换的指令程序,来根据创建于该微处理器中的操作资源分别执行功率控制操作。
本发明的第十八个方面记载了微处理器,其特征在于:微处理器执行由本发明的第十一个方面至第16个方面中任何一个方面记载的指令转换方法所转换的指令程序,来根据创建于该微处理器中的操作资源分别执行功率控制操作。
附图说明
图1是表示一个指令转换装置的基本方案及其处理阶段的框图。
图2是表示一个与指令无关的操作资源表的结构实例的框图。
图3是表示经由一个指令相关的操作资源分析装置输出与指令无关的操作资源使用数据的实例的框图。
图4是解释经由一个功率控制信息检测装置输出功率控制指令数据的实例的框图。
图5是表示经由一个功率控制指令应用装置插入功率控制指令的实例的框图。
图6是表示一个功率控制寄存器的结构实例的框图。
图7是表示根据本发明第一实施例一个微处理器的方案的框图。
图8是表示根据本发明第二实施例一个微处理器的方案的框图。
图9是表示根据本发明第二实施例一个标识符-功率控制表的实例的框图。
图10是表示利用一个注释语句指定一个功率控制段的指令程序实例的框图。
图11是表示在功率控制操作电平和功率控制操作内容之间对应关系的实例的框图。
图12是表示根据本发明第三实施例一个指令转换装置的方案及其处理阶段的框图。
图13是表示根据本发明第四实施例一个指令转换装置的方案及其处理阶段的框图。
图14是表示关于指令重新排序之前组成的一个指令程序的实例和指令相关的操作资源使用数据的框图。
图15是解释指令之间相关关系的解释性框图。
图16是表示一个指令重新排序装置的结构的框图。
图17是表示关于指令重新排序之后组成的一个指令程序的实例和指令相关的操作资源使用数据的框图。
图18是表示根据本发明第五实施例一个指令转换装置的方案及其处理阶段的框图。
图19是表示关于指令替换之前组成的一个指令程序的实例和指令相关的操作资源使用数据的框图。
图20是表示关于指令替换之后组成的一个指令程序的实例和指令相关的操作资源使用数据的框图。
图21是表示关于经由传统微处理器执行功率控制操作的指令程序的实例的框图。
具体实施方式
现在将参照附图描述本发明的实施方式。
(第一实施方式)
图1涉及根据本发明第一实施例具有功率控制功能的一个微处理器,而且是表示诸如编译器的指令转换装置的结构和处理阶段的框图。指令转换装置将用户编写的命令程序转换成执行对象类型指令程序。如果忽略指令翻译装置(稍候将会讨论),那么指令转换装置会是这种用于转换执行对象类型指令程序的装置。
在图1中,参考数字符号101表示由微处理器执行的指令程序。可以通过任何指令格式来表示指令程序101,例如,由记忆码描述的汇编程序指令字符串,或者由像C语言和FORTRAN这样的程序语言编写的指令字符串。在以下描述中,利用主要由记忆码编写的汇编程序的一个实例来进行说明。
由指令相关的操作资源分析装置102,与指令无关的操作资源表103和功率控制信息检测装置105构成指令转换装置的功率控制信息分析装置。与指令无关的操作资源表103预先往其中存储了下述信息,即微处理器内任何操作资源对各指令都是激活的。
指令相关的操作资源分析装置102参照构成指令程序101的与指令无关的操作资源表103各个指令,提取用于表示操作了任意操作资源的信息,并输出指令相关的操作资源使用数据104。功率控制信息检测装置105以时间顺序的方式分析指令相关的操作资源使用数据104,判断是否在任何位置插入了一条功率控制指令,然后可以减少电功率耗损量,并此后输出功率控制指令数据106。该功率控制指令是用来停止激活一操作资源或开始激活一操作资源的。
功率控制指令应用装置107以功率控制指令数据106为根据,在指令程序101中插入一个用于停止激活操作资源的指令或另一个用于开始激活操作资源的指令,并产生一个功率最优化指令程序108。指令翻译装置109将功率最优化指令程序108的程序语言翻译成机器语言,并产生/输出与应由微处理器执行的机器语言指令代码字符串相当的功率最优化执行对象110。在这种指令程序101已经转化成执行目标格式的情况下,可以省略指令翻译装置109。
图2是表示与指令无关的操作资源表103的一个结构的实例的框图。与指令无关的操作资源103相当于一个具有两个字段的二维表,即表示指令模式的字段201和表示在微处理器中所利用的操作资源的字段202。包含在与指令无关的操作资源表103中的值表示这种关于执行各自的指令模式时是否激活各自的操作资源的事实。应当了解,与指令无关的操作资源表103的格式并不总是限于图2所示的格式。在这种除指令模式和操作资源外还需要参数的情况下,指令相关的操作资源表会构成一个三维表。
在该实例中,包含在与指令无关的操作资源表103中的数字符号“1”表示激活了一个操作资源,包含在表103中的数字符号“0”表示没有激活一个操作资源。例如,就相当于寄存器之间一个附加指令的“ADD Rx,Ry,Rz”来说,在操作微处理器的时候,只激活“计算器A操作”,“数据寄存器R0-R15”和“数据寄存器R16-R31”。因此,在表103内对应的位置上描述数字符号“1”。因为没有激活其他操作资源,所以在表103内对应的位置上描述数字符号“0”。类似地,就相当于一个存储器读指令的“LD RaMEMy”来说,只激活表103内编写了数字符号“1”处的“存储器读操作”和“块A操作”。既然这样,那么数字符号“0”和“1”的值都不重要,但是具有这种能够区别“激活了操作资源”和“没有激活操作资源”的用途。
接下来,参照图3,将在举例说明在这种指令程序是301的情况下的时候说明指令相关的操作资源分析装置102的操作。当指令相关的操作资源分析装置102接收指令程序301作为一个输入程序时,该指令相关的操作资源分析装置102对所接收指令程序301构造得是否与与指令无关的操作资源表103各个指令的指令模式字段一致进行检索,然后用输出操作资源302的方式输出微处理器内与各自的指令相当的资源。在操作资源302中,当执行指令时显示操作变成“1”各个指令的操作资源的情况。指令相关的操作资源分析装置102执行上述关于构成该指令程序的每一个指令的分析操作,因此,产生指令相关的操作资源使用数据104。
接着,现在将根据图4来说明功率控制信息检测装置105的操作。功率控制信息检测装置105分析是否沿着一个指令方向(时间顺序方向)激活一个操作资源,该指令方向关于指令相关的操作资源分析装置102输出的指令相关的操作资源使用数据104。作为该分析方法的一个实例,用这种检测连续“0”的方法来进行描述。在图4所示的指令相关的操作资源使用数据104中,信息“0”表示微处理器在指令执行时不执行操作资源的激活。功能控制信息检测装置105通过检测对于常数指令段的连续的“0”,能够检测在预定指令段期间没有激活的操作资源,所述常数指令段例如是关于指令相关的操作资源使用数据104的三个指令段。
在图4中举例说明了对“存储器读操作”的分析,在检测到对于三个或更多指令段来说没有激活操作资源的情况下进行描述。根据数字符号“401”表示的、并相当于“存储器读操作”的数据字符串,在所定义的从一个SUB指令直至一个STR指令的4个指令期间都不需要“存储器读操作”。因此,功率控制信息检测装置105检测该操作资源。
当举例说明如图4中相同的指令程序时,由功率控制指令应用装置107构成进一步的说明。图5显示插入一个功率控制指令的实例。如图5所示,功率控制指令应用装置107以功率控制信息检测装置105输出的功率控制指令数据106为基础,在SUB指令之前插入这种指令代码,并在刚刚STR指令之后插入一个用于开始一个电路操作的指令。该指令代码请求停止一个涉及“存储器读操作”的电路操作。因此,不需要解码各个指令就能实现停止涉及“存储器读操作”的电路操作,而且能够减少该段内“存储器读操作”所需的功率耗损。
在该实例中,检测该等于三个指令段、比三个指令段更长的操作资源的可停止段。关于其中能执行由功率控制信息检测装置105所检测的操作停止的指令段,可以通过由微处理器和系统所操作的每一个应用程序将一个优化功率控制电平任意设置成长于或等于1段的长度。
可选地是,在编译程序时可以以下述方式构成所述的微处理器:用户利用一个选项来指定功率控制电平。例如,当用户指定一个选项1来编译程序时,根据这种对于三个或更多的段是没有激活的操作资源来执行停止操作。当用户指定选项2来编译程序时,根据这种对于五个或更多的段是没有激活的操作资源来执行停止操作。当过度插入功率控制指令时,就存在由于增加指令而增加程序代码大小的危险,并导致操作速度降低。正如前面所解释的,因为指定了选项,所以软件研发人员可以在考虑程序代码大小和操作速度的同时执行功率控制操作。还应该注意到,该功率控制电平的指定主体并不限于段长度,而是可以应用于多个主体。例如,将要受到功率控制的操作资源,和/或假定的功率控制操作方法。作为功率控制方法,降低和/或停止一个时钟频率并中断电功率的供应。
还应该注意到在图4的实例中,在所定义的从SUB指令直至MUL指令的三个指令内也不需要“存储器写操作”。因此在该实例中,比较于仅执行用于专用操作资源的功率控制操作的情况,因为检测了信息,所以可以在上级流一端执行功率控制操作。换言之,并不仅仅将涉及“存储器读操作”和“存储器写操作”的控制指令应用于指令程序,还可以将用于完全停止存储器的控制指令以及存储器控制电路本身应用于指令程序。
可选地,当定义用于执行像加法计算以及位移这种常规计算和停止或开始激活操作资源的指令被认为是指令说明书中的单一指令时,可以通过替换该指令而不是插入功率控制指令来将涉及功率控制操作的信息应用于一个指令程序。
可以经由一个计算机程序来实现上述指令转换装置。因为在一个汇编器中汇编了该计算机程序,所以如果软件研发人员汇编该指令程序101,则该软件研发人员可以将该程序创建为一个功率最优化执行对象110。因此,软件研发人员仅仅编写指令程序来汇编指令程序101而此外不需要做任何理会,所以可以将微处理器的功率耗损减少到低于传统的微处理器。显然,当汇编器中没有汇编该指令转换装置时,该指令转换装置可以构成为一个独立功率控制指令转换程序。
而且,在软件研发人员根据像C语言和FORTLAN这种编程语言来编写语言的情况下,可以在编译器中二中择一地编译一个程序。因为利用一种编程语言,所以软件研发人员可以更简单地编写一个程序。
在以上的说明描述中,分析软件研发人员所编写的指令程序,然后在执行功率优化之后,将用编程语言编写的指令程序转换为用机器语言编写的指令程序(执行对象格式)。另外,在将指令程序转换为执行对象之后,即使分析该执行对象来创建功率最优化执行对象,也不存在任何问题。此外,通过一个电路来实现这样的指令转换装置,然后可以在微处理器中汇编该指令转换电路。
由微处理器执行功率最优化执行对象110,为了创建该功率最优化执行对象,指令转换装置转换该功率最优化执行对象的指令。当微处理器执行一个指令时,微处理器通过解码由指令解码器插入到功率最优化执行对象110中的功率控制指令来提取功率控制信息。将提取的功率控制信息写入功率控制寄存器。然后一个功率控制电路响应功率控制寄存器的状态执行功率控制操作。
图6是表示功率控制寄存器的结构的实例的框图。在图6中,各功率控制主体与表示与指令无关的操作资源表操作资源的字段相当,例如,相当于“存储器读操作”,“存储器写操作”,“计算器A操作”,“计算器B操作”等。在功率控制寄存器中其位变成“1”的一个功率控制操作主体的操作资源构成这种停止其电路操作的主体。在图6中,因为功率控制主体2是位“1”,所以该主体构成了这种停止其电路操作的功率控制主体,反之,功率控制主体1,3和4不构成这种停止其电路操作的功率控制主体。
图7是表示根据本发明第一实施例微处理器中功率控制功能的方案的框图。在图7中,指令解码器701解码一个指令,以将已解码指令应用于各操作资源。而且,当指令解码器701解码一个功率控制指令时,该指令解码器701提取功率控制信息。功率控制寄存器702相当于这种保持由指令解码器701提取的功率控制信息的寄存器,而且功率控制电路703相当于以编写在功率控制寄存器中的功率控制信息为根据执行功率控制操作的电路。
此外,功率控制容许寄存器704相当于这种用于确定微处理器是否执行功率控制操作的寄存器。功率控制容许寄存器704输出的信号与功率控制电路703输出的功率控制信号结合在一起构成选通电路组705的输入信号。该选通电路组705的输出信号应用于各功率控制对象。
现在将说明一个更具体的操作。功率控制电路703参考功率控制寄存器70的一个值,并将一个功率控制信号的信号电平设置为“H”电平。将该功率控制信号提供给这种停止其电路操作的功率控制主体。当容许一个功率控制操作时,功率控制容许寄存器704输出一个“H”电平的信号,反之当不容许一个功率控制操作时,功率控制容许寄存器704输出一个“L”电平的信号。因此,当容许功率控制操作时,直接将功率控制电路703输出的功率控制信号输出到功率控制主体。然而,当不容许功率控制操作时,由一个选通电路抑制功率控制电路703输出的功率控制信号,因此仅提供一个“L”电平的信号给功率控制主体。当所提供的功率控制信号的信号电平变成“H”电平时,停止各功率控制主体的电路操作。
因为提供了功率控制容许寄存器704,所以当操作的安全特性希望享有高于低功率耗损的优先级时,可以不容许功率控制并保证安全特性。而且,因为在执行调试指令程序时切换了容许/不容许功率控制操作,所以可以把由软件研发人员所编写指令代码导致的软件问题和由指令转换操作所插入功率控制指令导致的另一个问题加以区分。在这方面,由指令转换操作插入功率控制指令导致的问题包含涉及功率控制操作的硬件所导致的问题,以及由插入的功率控制指令所导致的软件问题。
此外,因为利用功率控制容许寄存器704,所以还可以将涉及功率控制操作的硬件问题和其他问题加以区分。具体地说,首先,软件研发人员在不容许功率控制操作的情况下研发软件并执行所研发的软件。假设此时产生的问题为(1)。即使这样,也假设软件研发人员在最小限度内编写一个功率控制指令。然后,在容许该功率控制操作的同时执行所研发的软件。假设此时产生的问题为(2)。因此,问题(1)和问题(2)之间的差异可以构成由涉及功率控制操作的硬件所导致的问题。此外,为了自动插入功率控制指令,利用指令转换装置转换所研发软件的指令,然后,在容许功率控制操作的同时执行该转换了的软件。假设此时产生的问题为(3)。因此,假设问题(2)和问题(3)之间的差异可以构成由指令转换操作插入功率控制指令所导致的软件问题。因为在执行指令转换操作和切换容许/不容许功率控制操作的时候执行调试操作,所以可以将多种问题彼此加以区分。
(第二实施方式)
图8是表示根据本发明第二实施例微处理器中一个功率控制功能的方案的框图。应当注意到,将利用图7所示相同的参考数字符号来表示图8中相同的结构元件,并省略相应的说明。在图8所表示的功率控制功能中,利用处理器状态判断电路801来代替图7中的功率控制容许寄存器704。
一般说来,将一个程序标识符应用于微处理器各个程序段所执行的一个指令程序。在微处理器中,由上述程序标识符设置权限。在该第二实施例中,处理器状态判断电路801判断一个程序标识符,因此该处理器状态判断电路801确定是否执行了一个功率控制操作。当处理器状态判断电路801判断执行了功率控制操作,该处理器状态判断电路801把一个提供给选通电路组705的输出信号的信号电平设置为“H”电平。当处理器状态判断电路801判断没有执行功率控制操作时,该处理器状态判断电路801把一个提供给选通电路组705的输出信号的信号电平设置为“L”电平。因此,当处理器状态判断电路801判断没有执行功率控制操作时,由于选通电路组705只输出“L”电平的信号,所以不执行该功率控制操作。
图9表示处理器状态判断电路801所保持的一个标识符-功率控制表的实例。此表表示程序标识符与容许/不容许功率控制操作之间的对应关系。当向处理器状态判断电路801输入一个程序标识符时,该处理器状态判断电路801对输入的程序标识符是否与标识符-功率控制表的程序标识符一致进行检索,因此处理器状态判断电路801确定是否执行了该功率控制操作。根据图9的实例,当程序标识符相当于“ID1”,“ID2”和“ID4”时,处理器状态判断电路801把一个输出到选通电路组705的输出信号的信号电平设置为“H”电平,然后还把功率控制电路703输出的功率控制信号直接输出给功率控制主体。当程序标识符相当于“ID3”时,因为处理器状态判断电路801把一个输出到选通电路组705的输出信号的信号电平设置为“L”电平,抑制了功率控制电路703输出的功率控制信号,所以不执行功率控制操作。
如上所述,因为经由程序标识符定义了是否执行功率控制操作,例如,能够容许在由可靠软件研发人员研发的指令程序中的功率控制操作,反之不能容许在由不可靠软件研发人员研发的指令程序中的功率控制操作,因此可以提高在指令程序执行中的安全特性。
存在很多种情况,即,在程序内各个程序段设置一个程序标识符(例如,每项任务),或就整个程序设置一个程序标识符。在这些设置方法中,如果有一种能设置权限的方法,那么本发明的技术范围包括该设置方法。
(第三实施方式)
在第三实施例中,当软件研发人员创建一个指令程序时,软件研发人员利用指令语句指定一个段和功率控制操作的电平,在所述段内执行功率控制。指令转换装置根据以上说明的指令语句控制功率控制信息检测装置。换言之,对于以基于指令语句执行功率控制操作的方式指定一个段,响应一个指定的电平检测这种能受功率控制的操作资源,反之对于没有指定功率控制操作的一个段,不检测能受功率控制的操作资源。
图10是表示软件研发人员编写的一个指令程序的实例的框图。在该第三实施例中,由这种利用一个注释语句作为指令语句的一个实例来进行描述。软件研发人员在用于执行功率控制信息的段开头部分插入一个注释句“#程序POWER_CONT_ON_LEVEL1”来提示一个功率控制操作的开始,并在用于执行功率控制信息的段最后部分插入一个注释句“#程序POWER_CONT_OFF”来提示该功率控制操作的结束。在夹在以上所解释的两个注释句之间的段中,以电平“电平1”执行功率控制操作。
图11是表示根据第三实施例功率控制操作的电平与实际执行的功率控制操作的电平之间对应关系的实例的框图。在该实例中,在电平0,只检测一个其中定义了一个可替换指令而且不产生增加代码大小的问题的操作资源。在电平1,电平2和电平3,对长于或等于10个段,5个段和3个段的段是没有激活的操作资源分别进行检测。
图12是表示根据本发明第三实施例具有功率控制功能的指令转换装置的方案及其处理阶段的框图。应当明白,在该图中将利用图1所示相同的参考数字符号来表示结构相同的元件,并省略相应的说明。在图12中,除图1所示上述指令转换装置以外,该指令转换装置还具有一个功率控制信息管理装置1201。
功率控制信息管理装置1201从一个指令程序提取一个由“#”开始的注释句。当所提取注释句注释功率控制操作启用时,功率控制信息管理装置1201指示功率控制信息检测装置105来检测其功率可以受一指定电平控制的操作资源。当所提取注释句注释功率控制操作关闭时,功率控制信息管理装置1201停止功率控制信息检测装置105的功能。
在该第三实施例中,可以仅在用于请求功率控制操作的段中执行任意电平的功率控制操作。因此,可以将代码大小增加和操作速度降低的问题抑制到最小限度。
此外,在第三实施例中,有可能指定不在这种插入和替换功率控制指令而容易产生关于安全特性问题的程序段中执行功率控制操作。因此,可以进一步提高指令程序的安全特性。例如,在其中利用了大量条件转移操作的程序段中,由于插入和替换功率控制指令而容易产生问题错误。因此,根据该实施例,有可能控制不在这种程序段中执行功率控制操作。
还应该注意到,该功率控制电平指定的主体并不仅限于该实施例,而是还可以应用于下述方法。例如,可以替换地利用指定操作资源的方法,该方法中仅在电平0执行涉及存储器的一个功率控制操作;仅在电平1执行涉及用于数字计算的存储器和计数器的一个功率控制操作;在电平2执行涉及所有操作资源的功率控制操作。而且,还可以利用另一个其中改变了控制电功率方法的方法(例如,降低时钟频率,停止振荡时钟频率,以及中断电功率供应)。
(第四实施方式)
图13是表示根据本发明第四实施例具有功率控制功能的一个指令转换装置的方案及其处理阶段的框图。应当注意到,将利用图1所示相同的参考数字符号来表示相同的结构元件,并省略相应的说明。在图13中,除了图1所示指令转换装置的方案,该指令转换装置还具有指令重排序装置1301和相当于该指令重排序装置1301的一个输出的指令相关的操作资源使用数据1302。
考虑到相应的功率耗损,预先设置操作资源的优先电平。在指令重排序装置1301中输入指令相关的操作资源使用数据104,并且分析指令程序中指令之间的相关关系来提取这种能重新排序的指令。然后重新排序以这种能够在一个更长的段中停止一个具有更高优先级的操作资源的方式提取的指令序列。将作为指令相关的操作资源使用数据1302的所述重新排序结果输出到功率控制信息检测装置105。
图14表示指令重新排序之前组成的指令程序以及该指令程序的指令相关的操作资源使用数据104的实例。在对第四实施例的说明中,假设一个存储器操作具有最高优先电平。在图14所示指令程序中,因为在“LD R1,Mem(A1)”和“LD R1,Mem(A1)”中执行了“存储器读操作”,所以尽管可以对7个指令段停止“存储器写操作”,但是作为存储器操作,除了在最大限度内仅对两个指令段停止该“存储器写操作”以外再没有其他办法。因此,在该第四实施例中,指令重新排序装置1301分析指令之间的相关关系并重新排序该指令,因此可以加长其中能够停止操作资源的指令并进一步减少功率耗损。
图15是解释图14指令程序中指令之间相关关系的解释性框图。例如,由另一个指令1501确定指令1502中使用的寄存器值R0。因此,如果重新排序指令1501和指令1502之间的序列,则处理结果是彼此不同的,所以不能重新排序该序列。而且,由另一个指令1502确定指令1503中使用的寄存器值R5。因此,也不能重新排序指令1502和指令1503之间的序列。称上述关系为“相关关系”。在该图中,不能重新排序通过箭头彼此连接的圆形和矩形之间的序列。然而,即使在重新排序其他序列的时候,也可以执行一个校正计算。
图16是更详细描述指令重新排序装置1301的框图。对于输入的指令相关的操作资源使用数据104,由相关关系分析单元1601分析指令之间的相关关系,其后,将这种涉及相关关系的信息应用于指令相关的操作资源使用数据104,然后,输出作为相关关系分析数据1602的该结果数据到组合/试处理单元1603。保持该相关关系的同时,组合/试处理单元1603组合/试处理指令程序的重新排序,然后以下述方式重新排序指令:使其中具有高优先权级的操作资源的操作能被停止的段成为最长段。
图17表示指令重新排序后组成的一个指令程序以及该指令程序的指令相关的操作资源使用数据1302。在第四实施例中,用这种在不破坏相关关系的同时加快执行序列的方式重新排序两个LD指令。因此,因为还可以用这种类似于“存储器写操作”的方式停止对5个指令段的“存储器读操作”,所以可以停止对5个指令段作为整个存储器的操作。
如前面说明的,因为利用了指令重新排序装置1301,所以可以用这种能够延长一个指令段的方式重新排序指令,该指令段期间停止具有最高优先级的操作资源的操作,即停止大功能耗损。因此,可以进一步降低功率耗损。
还应该注意到指令重新排序装置1301并不仅限于上述实施例,而是可以由其他任何能够重新排序指令的装置来实现以实现低功率耗损。例如,在根据专用操作资源提供优先级时,停止激活具有高优先级的操作资源的方法对于更长的指令段来说变得更为简单。然而,依赖指令程序,重新排序指令并不总是降低功率耗损。因此,可以假设多种其他的方法,即,以下述方式重新排序指令的方法:指令段的总段变长,其中在所述指令段期间停止操作资源的操作。此外,还存在另一种方法,在监控实际操作微处理器时要耗损多少电功率的同时,预先定义可为各操作资源预测的功率耗损并重新排序指令。
因为第四实施例结合了第三实施例,所以可以仅在一个指令程序的预定程序段上替换地重新排序指令。因此,优选仅在指令重新排序变得有效的程序段上重新排序指令。特别是,在像非常频繁执行的循环程序这样的程序段中重新排序指令会变得有效。
(第五实施方式)
图18是表示根据本发明第五实施例具有功率控制功能的一个指令转换装置的实例及其处理阶段的框图。应该明白,在该图中将利用图1所示相同的参考数字符号来表示相同的结构元件并省略相应的说明。在图18中,除图1所示指令转换装置的方案以外,该指令转换装置还具有可替换的指令列表1802,指令替换装置1801,以及相当于指令替换装置1801的输出的指令相关的资源使用数据1803。可替换的指令列表1802存储可替换指令的名单。
在这种情况下,可替换指令表示这种即使在指令彼此替换的时候还可以获得相同处理结果的指令。通过考虑功率耗损,预先设置微处理器所拥有操作资源的优先级。指令替换装置1801参考可替换指令列表1802,而且如果在指令段期间作为指令替换操作的结果能够停止激活具有高优先级的操作资源而使得一个指令段能够变长,那么指令替换装置1801实质上对指令进行彼此替换。
图19表示指令替换前组成的一个指令程序的实例以及该指令程序的指令相关的操作资源使用数据104。在这种情况下,符号“MUL R3,R0,0x0002”表示寄存器“R0”的值乘以2,然后在寄存器“R3”中存储该结果值的指令。因此,用于将寄存器“R0”中存储的值移位高等级中的1位的指令(SPF R3,R0,0x001)与相应的处理结果是彼此不同的。然而,存在关于待使用的计算器是否相当于乘法器或移位器的差异。可以在指令“MUL R3,R0,0x0004”和另一个指令“SPF R3,R0,0x0002”之间建立类似的关系。假设乘法器的优先级高于移位器。在图19的指令程序中,可以停止对3个指令段的移位器操作,反之只能停止对2个指令段的乘法器操作。因此,在第五实施例中,指令替换装置1801用SFT指令替代上述两个MUL指令。
图20显示了指令替换后组成的一个指令程序以及指令相关的操作资源使用数据1803。因为用SFT指令替换了MUL指令,所以能够停止对6个指令段的乘法器操作。因此,可以进一步减少微处理器的功率耗损。
还应该明白指令替换装置1801并不仅限于上述实施例,而是还可以由能够彼此替换指令的其他任何装置来实现低功率耗损。例如,在根据专用操作资源提供优先级时,对于更长的指令段,停止具有高优先级的操作资源操作的方法变得更为简单。然而,依赖指令程序,功率耗损并不总因重新排序指令而降低。因此,可以假设多种其他的方法,即,以下述方式代替指令的方法:指令段的总段变长,其中在所述指令段期间停止操作资源的操作。此外,还存在另一种方法,在监控实际操作微处理器时要耗损多少电功率的同时,预先定义各操作资源的可预测功率耗损并互相替换指令。
因为第五实施例结合了第三实施例,所以可以仅在一个指令程序的预定程序段上替换地重新排序指令。因此,优选仅在这种指令的重新排序变得有效的程序段上重新排序指令。特别是,在像非常频繁执行的循环程序这样的程序段中重新排序指令会变得有效。
而且,作为本发明用于停止操作资源的操作的方法,可以假设多种停止方法,例如,停止时钟供应,降低时钟频率,控制运行电压;控制构成操作资源的晶体管的阈值电压等。如果能够给操作资源带来更低功率耗损情况的方法,那么就不用进行特别限定了。
如前面所述,根据本发明,可以确定功率控制容许装置的设置,或者可以由执行状态下指令程序的程序标识符来确定是否执行功率控制操作。因此,即使在由指令转换装置执行自动应用了功率控制指令的指令程序的情况下,也能够提高软件的安全特性。而且,软件的问题(错误)可以再分成由软件研发人员编写的指令程序本身所导致的程序错误,以及由编译程序自动插入的指令所导致的程序错误。
而且,根据本发明,可以利用包含在指令程序中的指令语句自由地设置在其中执行了功率控制操作的段和该功率控制操作的电平。因此,可以将代码大小增加和操作速度降低的问题抑制到最小限度,以及能够以优良方式执行功率控制操作。而且,因为插入和替换功率控制指令,所以不会在其中容易产生关于安全特性问题的一个程序段中执行功率控制操作。因此,可以提高指令程序的安全特性。
而且,根据本发明,可以用通过重新排序或替换指令使其中能够停止操作操作资源的指令段变长的方式自动重新排序指令程序。因此,可以使其中没有激活在功率控制信息分析操作中检测的操作资源的指令段变长,因此可以有效地减小功率耗损。
Claims (2)
1.一种具有功率控制功能的微处理器,包括:
功率控制容许设置单元,预先设置关于是否执行功率控制操作的信息;
功率控制输出控制器,当执行功率控制指令时,根据设置在功率控制容许设置单元中的信息最终控制功率控制信号的输出,该功率控制指令根据微处理器的操作资源分别指定功率控制操作;
功率控制寄存器,存储关于应执行由功率控制指令指定的功率控制操作的操作资源的信息;
功率控制电路,输出功率控制信号,用于以功率控制寄存器中存储的信息为基础来控制各操作资源的电功率;以及
选通电路,根据设置在功率控制容许设置单元中的信息来选通相应的功率控制信号。
2.一种具有功率控制功能的微处理器,包括:
处理器状态判断单元,保存关于是否执行功率控制操作的信息,该处理器状态判断单元上已设置了应用于每一个指令程序的各程序标识符,并判断正在执行的指令程序的程序标识符是否相当于已设置来执行功率控制操作的程序标识符;
功率控制输出控制器,根据处理器状态判断单元关于在执行功率控制指令时正在执行的指令程序的判断结果来最终控制功率控制信号的输出,该功率控制指令根据微处理器的操作资源分别指定功率控制操作;
功率控制寄存器,存储关于应执行由功率控制指令指定的功率控制操作的操作资源的信息;
功率控制电路,输出功率控制信号,用于以功率控制寄存器中存储的信息为基础来控制各操作资源的电功率;以及
选通电路,根据处理器状态判断单元的判断结果来选通相应的功率控制信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP111666/2003 | 2003-04-16 | ||
JP111666/03 | 2003-04-16 | ||
JP2003111666A JP2004318502A (ja) | 2003-04-16 | 2003-04-16 | 電力制御機能を備えたマイクロプロセッサ及び命令変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1570811A CN1570811A (zh) | 2005-01-26 |
CN1310116C true CN1310116C (zh) | 2007-04-11 |
Family
ID=33472152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200410055222XA Expired - Fee Related CN1310116C (zh) | 2003-04-16 | 2004-04-16 | 具有功率控制功能的微处理器以及指令转换装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040260959A1 (zh) |
JP (1) | JP2004318502A (zh) |
CN (1) | CN1310116C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376849B2 (en) * | 2004-06-30 | 2008-05-20 | Intel Corporation | Method, apparatus and system of adjusting one or more performance-related parameters of a processor |
US9146600B2 (en) * | 2006-10-11 | 2015-09-29 | Texas Instruments Incorporated | Array and peripheral power control decoded from circuitry and registers |
JP2010231306A (ja) * | 2009-03-26 | 2010-10-14 | Nec Corp | コンピュータシステム、ハードウェアリソース制御方法及びそのプログラム |
US9104435B2 (en) | 2009-04-14 | 2015-08-11 | Empire Technology Development Llc | Program and data annotation for hardware customization and energy optimization |
JP2011096117A (ja) * | 2009-10-30 | 2011-05-12 | Fujitsu Ltd | 集積回路装置 |
JP2011186512A (ja) * | 2010-03-04 | 2011-09-22 | Nec Corp | コンパイラ装置、及びコンパイル方法 |
CN101876916B (zh) * | 2010-06-13 | 2014-02-05 | 北京红旗胜利科技发展有限责任公司 | 一种汇编语言程序的开发方法和装置 |
JP2013228907A (ja) * | 2012-04-26 | 2013-11-07 | Semiconductor Energy Lab Co Ltd | 半導体装置とその駆動方法 |
KR101959252B1 (ko) * | 2012-07-16 | 2019-07-04 | 삼성전자주식회사 | 데이터를 기반으로 전력을 관리하는 장치 및 방법 |
JP5928272B2 (ja) * | 2012-09-18 | 2016-06-01 | 富士通株式会社 | 半導体集積回路及びコンパイラ |
KR102063716B1 (ko) | 2013-05-14 | 2020-02-11 | 삼성전자주식회사 | 데이터를 기반으로 전력을 관리하는 프로세싱 장치 및 그 장치를 이용한 방법 |
US10180828B2 (en) * | 2014-04-29 | 2019-01-15 | Significs And Elements, Llc | Systems and methods for power optimization of processors |
US9753526B2 (en) | 2014-12-23 | 2017-09-05 | Intel Corporation | Systems and methods for synergistic software-hardware power budget management |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW396311B (en) * | 1998-01-21 | 2000-07-01 | Li Wu Jeng | Power control and timing device of learning infrared remote control |
US20010055979A1 (en) * | 2000-05-19 | 2001-12-27 | Kim Jong-Soo | Apparatus and method for controlling transmission power of CDMA mobile communication system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452401A (en) * | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
DE69311330T2 (de) * | 1992-03-31 | 1997-09-25 | Seiko Epson Corp., Tokio/Tokyo | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
WO1994016384A1 (en) * | 1992-12-31 | 1994-07-21 | Seiko Epson Corporation | System and method for register renaming |
JP3520611B2 (ja) * | 1995-07-06 | 2004-04-19 | 株式会社日立製作所 | プロセッサの制御方法 |
US6064818A (en) * | 1997-04-10 | 2000-05-16 | International Business Machines Corporation | Straight path optimization for compilers |
EP1062577A2 (en) * | 1998-12-08 | 2000-12-27 | Koninklijke Philips Electronics N.V. | Method of executing an interpreter program |
JP3877518B2 (ja) * | 2000-12-13 | 2007-02-07 | 松下電器産業株式会社 | プロセッサの電力制御装置 |
US7191350B2 (en) * | 2002-01-30 | 2007-03-13 | Matsushita Electric Industrial Co., Ltd. | Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction |
JP3847672B2 (ja) * | 2002-07-03 | 2006-11-22 | 松下電器産業株式会社 | コンパイラ装置及びコンパイル方法 |
EP1570334A2 (en) * | 2002-12-04 | 2005-09-07 | Koninklijke Philips Electronics N.V. | Register file gating to reduce microprocessor power dissipation |
EP1573490A2 (en) * | 2002-12-04 | 2005-09-14 | Koninklijke Philips Electronics N.V. | Software-based control of microprocessor power dissipation |
JP3896087B2 (ja) * | 2003-01-28 | 2007-03-22 | 松下電器産業株式会社 | コンパイラ装置およびコンパイル方法 |
-
2003
- 2003-04-16 JP JP2003111666A patent/JP2004318502A/ja not_active Withdrawn
-
2004
- 2004-04-16 CN CNB200410055222XA patent/CN1310116C/zh not_active Expired - Fee Related
- 2004-04-16 US US10/825,098 patent/US20040260959A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW396311B (en) * | 1998-01-21 | 2000-07-01 | Li Wu Jeng | Power control and timing device of learning infrared remote control |
US20010055979A1 (en) * | 2000-05-19 | 2001-12-27 | Kim Jong-Soo | Apparatus and method for controlling transmission power of CDMA mobile communication system |
Also Published As
Publication number | Publication date |
---|---|
US20040260959A1 (en) | 2004-12-23 |
JP2004318502A (ja) | 2004-11-11 |
CN1570811A (zh) | 2005-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1310116C (zh) | 具有功率控制功能的微处理器以及指令转换装置 | |
US6795781B2 (en) | Method and apparatus for compiler assisted power management | |
CN1178134C (zh) | 执行于板上系统内的中间对象代码程序的数据压缩方法 | |
CN1200342C (zh) | 指令变换装置和变换方法 | |
CN1147307A (zh) | 多指令集的数据处理 | |
CN1250906A (zh) | 使用组合的数据处理器系统和指令系统 | |
CN1121014C (zh) | 具有risc结构的八位微控制器 | |
CN103631656A (zh) | 大核和小核中的任务调度 | |
CN1570870A (zh) | 终极管道和最优重排技术 | |
CN1834899A (zh) | 使浮点格式实现指令级规格的设备及方法 | |
CN1912849A (zh) | 微处理器的片上动态跟踪方法 | |
CN1804799A (zh) | 单片机在线加载升级方法及系统 | |
CN1752934A (zh) | 编译器、编译方法以及编译程序 | |
CN1655118A (zh) | 处理器和编译器 | |
CN1828541A (zh) | Java操作系统中定时任务的实现方法 | |
CN1737779A (zh) | 一种扩展外设的方法及系统 | |
CN1542609A (zh) | 处理器及处理管线中例外反应的装置与方法 | |
CN1419192A (zh) | 中间代码预处理、执行装置及执行系统及计算机程序产品 | |
CN1099074C (zh) | 高速执行子程序转移指令的程序变换装置和处理器 | |
CN1779652A (zh) | 一种调试操作系统内核态程序的方法及装置 | |
JP2003296123A (ja) | 電力制御情報を付与する命令変換装置及び命令変換方法、命令変換を実現するプログラム及び回路、変換された命令を実行するマイクロプロセッサ | |
CN1894648A (zh) | 频率控制方法和信息处理设备 | |
CN100336033C (zh) | 单芯片多处理器结构模拟系统 | |
CN1716182A (zh) | 地址创建器和算术电路 | |
CN1206145A (zh) | 带有流水线处理电路的信号处理器及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070411 Termination date: 20120416 |