JP2004234038A - 低電力動作制御装置、およびプログラム最適化装置 - Google Patents
低電力動作制御装置、およびプログラム最適化装置 Download PDFInfo
- Publication number
- JP2004234038A JP2004234038A JP2003018106A JP2003018106A JP2004234038A JP 2004234038 A JP2004234038 A JP 2004234038A JP 2003018106 A JP2003018106 A JP 2003018106A JP 2003018106 A JP2003018106 A JP 2003018106A JP 2004234038 A JP2004234038 A JP 2004234038A
- Authority
- JP
- Japan
- Prior art keywords
- control
- instruction
- low
- microprocessor
- power
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims description 58
- 239000000758 substrate Substances 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 29
- 238000005259 measurement Methods 0.000 description 15
- 238000003780 insertion Methods 0.000 description 11
- 230000037431 insertion Effects 0.000 description 11
- 239000000470 constituent Substances 0.000 description 10
- 238000000034 method Methods 0.000 description 6
- 230000006641 stabilisation Effects 0.000 description 5
- 238000011105 stabilization Methods 0.000 description 5
- 238000012850 discrimination method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H13/00—Monuments; Tombs; Burial vaults; Columbaria
- E04H13/006—Columbaria, mausoleum with frontal access to vaults
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H13/00—Monuments; Tombs; Burial vaults; Columbaria
- E04H13/001—Accessories for grave sites, e.g. liners, covers, vault lowering devices
-
- 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
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- 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
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- 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
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】命令を実行するプログラム毎の命令コードがプレディケート301を指定するフラグ含む第1の命令セットと制御指定情報302を含む1または2以上の第2の命令セットを備え、命令実行制御機能に応じて各制御回路の低電力動作を命令単位で行うことにより、回路規模の増加やデコード時間の増加をすることなく、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を行い、マイクロプロセッサの低電力動作を実現することができる。
【選択図】 図4
Description
【発明の属する技術分野】
本発明は、フラグによる命令実行制御機能(以下プレディケート機能と称す)を備えるマイクロプロセッサに対する低電力動作制御装置、およびプログラム最適化装置に関するものである。
【0002】
【従来の技術】
マイクロプロセッサにおける低電力動作化を実現する方式の一つに命令判別方式がある(例えば、特許文献1参照)。
【0003】
図1(a)は従来の命令判別による低電力動作制御装置の構成図であり、図1(b)は従来の命令判別による低電力動作制御装置の動作フローである。
図1において、入力された命令をデコーダ(101)でデコードし、デコード結果より低電力制御回路(102)によって低電力制御内容を判定し、判定結果によって特定ブロックのクロック停止などの制御信号(103)により制御を実施する。
【0004】
また、別の低電力動作を実現する方式の一つに、低電力命令セット判別方式がある(例えば、特許文献2参照)。
図2(a)は従来のマイクロプロセッサで用いられる命令セットの構成図,図2(b)は従来の命令セット判別による低電力動作制御装置の構成図であり、図3は従来の命令セット判別による低電力動作制御装置の動作フローである。
【0005】
図2,図3において、通常命令セットと切り替え可能な低電力命令セットにおいて、命令数を限定して命令コードフォーマットの空きを作り、その命令コードの空きに低電力制御内容を定義する形式とし、通常命令セットと低電力命令セットそれぞれの命令デコーダ(201)を備え、低電力命令セット使用時には低電力制御回路(202)にて低電力制御内容を判定し、判定結果によって特定ブロックのクロック停止などの制御信号(203)により制御を実施する。
【0006】
【特許文献1】
特許番号 第2778583号 公報(第1−3頁、第1図)
【0007】
【特許文献2】
特開2001−184208号 公報(第2頁、第2図)
【0008】
【発明が解決しようとする課題】
しかしながら上記方法のうち、図1(b)に示すように命令判別方式では、命令をデコードして制御実施する原理上、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を実施する事が困難、あるいは不可能である。
【0009】
また、低電力命令セット判別方式では、低電力制御を実施するための情報を命令デコード以外から取得し、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を実現する事ができるが、複数の命令デコーダ、および、使用する命令セットに応じた命令デコード結果の選択回路を備える必要があるため、回路規模増大による信号伝達経路(204)の増加により、消費電力の増加、デコード時間の増加が問題となる。
【0010】
本発明は上記問題点を鑑みて、回路規模の増加やデコード時間の増加をすることなく、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を行い、マイクロプロセッサの低電力動作を実現することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項1記載の低電圧動作制御装置は、条件フラグによる命令条件実行機能を備えるマイクロプロセッサに搭載されてマイクロプロセッサの低電力動作を制御する低電力動作制御装置であって、マイクロプロセッサに入力される命令コードの特定ビットフィールドに命令実行制御機能のためのフラグを選択する命令実行制御機能情報を含む第1の命令セットと前記特定ビットフィールドに低電力制御のための制御指定情報を含む1または2以上の第2の命令セットを備え、通常動作時に第1の命令セットを実行し、低電力動作時に第2の命令セットを実行するように命令セットを切り替える動作モード切り替え回路と、第1の命令セットモード時に前記命令実行制御機能情報に応じたフラグを読み込んで命令実行制御機能動作を識別するプレディケート判定回路と、第2の命令セットモード時に前記制御指定情報を読み込んで低電力動作を行う制御回路の制御指定情報を抽出する制御指定情報抽出回路と、前記制御指定情報に応じた各制御回路の低電力動作を実施する制御動作実行手段とを有し、あらかじめ命令を実行するプログラム単位に命令実行制御機能情報と制御指定情報を備え、制御指定情報に応じて各制御回路の低電力動作を命令単位で行うことにより、前記マイクロプロセッサの低電力動作を命令単位で制御することを特徴とする。
【0012】
請求項2記載の低電力動作制御装置は、条件フラグによる命令条件実行機能を備えるマイクロプロセッサに搭載されてマイクロプロセッサの低電力動作を制御する低電力動作制御装置であって、マイクロプロセッサに入力される命令コードの特定ビットフィールドに命令実行制御機能のためのフラグを選択する命令実行制御機能情報を含む第1の命令セットと前記特定ビットフィールドに低電力制御のための制御指定情報を含む1または2以上の第2の命令セットを備え、通常動作時に第1の命令セットを実行し、低電力動作時に第2の命令セットを実行するように命令セットを切り替える動作モード切り替え回路と、第1の命令セットモード時に前記命令実行制御機能情報に応じたフラグを読み込んで命令実行制御機能動作を識別するプレディケート判定回路と、第2の命令セットモード時に前記制御指定情報を読み込んで前記制御指定情報に応じてイベントを発生するイベント発生手段と、前記イベントを受けて前記イベントに応じた各制御回路の低電力動作を実施する制御動作実行手段とを有し、あらかじめ命令を実行するプログラム単位に命令実行制御機能情報と制御指定情報を備え、制御指定情報に応じて各制御回路の低電力動作を命令単位で行うことにより、前記マイクロプロセッサの低電力動作を命令単位で制御することを特徴とする。
【0013】
請求項3記載の低電力動作制御装置は、請求項1または請求項2記載の低電力動作制御装置において、前記制御回路がプログラムの特定箇所における動作停止箇所を判定する動作停止判定手段であり、前記制御動作実行手段が動作停止判定手段の判定結果からマイクロプロセッサの任意の箇所を動作停止制御する動作停止制御手段であり、マイクロプロセッサの任意の箇所を動作停止制御にすることによりマイクロプロセッサの低電力動作を命令単位で制御することを特徴とする。
【0014】
請求項4記載の低電力動作制御装置は、請求項1または請求項2記載の低電力動作制御装置において、前記制御回路がプログラムの特定箇所における電源電圧の制御実施を判定する電源電圧判定手段であり、前記制御動作実行手段が電源電圧判定手段の判定結果からマイクロプロセッサの電源電圧制御を行う電源電圧制御手段であり、マイクロプロセッサの電源電圧制御を行うことによりマイクロプロセッサの低電力動作を命令単位で制御することを特徴とする。
【0015】
請求項5記載の低電力動作制御装置は、請求項1または請求項2記載の低電力動作制御装置において、前記制御回路がプログラムの特定箇所における基板電圧の制御実施を判定する基板電圧判定手段であり、前記制御動作実行手段が基板電圧判定手段の判定結果からマイクロプロセッサの基板電圧を制御する基板電圧制御手段であり、マイクロプロセッサの基板電圧を制御することによりマイクロプロセッサの低電力動作を命令単位で制御することを特徴とする。
【0016】
請求項6記載の低電力動作制御装置は、請求項1または請求項2記載の低電力動作制御装置において、前記制御回路がプログラムの特定箇所におけるクロック周波数制御を判定するクロック周波数判定手段であり、前記制御動作実行手段がクロック周波数判定手段の判定結果からクロック周波数制御を実施するクロック周波数制御手段であり、マイクロプロセッサのクロック周波数を制御することによりマイクロプロセッサの低電力動作を命令単位で制御することを特徴とする。
【0017】
請求項7記載の低電力動作制御装置は、請求項2記載の低電力動作制御装置において、前記イベント発生手段を備えるマイクロプロセッサとは異なるマイクロプロセッサである1または2以上の対象マイクロプロセッサあるいはデータ処理手段に、前記制御動作実行手段として前記対象マイクロプロセッサあるいはデータ処理手段の低電力動作を制御する動作制御手段を備え、前記イベント発生手段を備えるマイクロプロセッサにより、前記対象マイクロプロセッサあるいはデータ処理手段の低電力制御動作を制御することを特徴とする。
【0018】
請求項8記載の低電力動作制御装置は、請求項2記載の低電力動作制御装置において、前記イベント発生手段を備えるマイクロプロセッサとは異なるマイクロプロセッサである1または2以上の対象マイクロプロセッサあるいはデータ処理手段に、前記制御動作実行手段として前記対象マイクロプロセッサあるいはデータ処理手段の電源供給を制御することにより低電力制御動作を制御する電源供給制御手段を備え、前記イベント発生手段を備えるマイクロプロセッサにより、前記対象マイクロプロセッサあるいはデータ処理手段の低電力制御動作を制御することを特徴とする。
【0019】
請求項9記載の低電力動作制御装置用のプログラム最適化装置は、請求項3または請求項4または請求項5または請求項6または請求項7または請求項8記載の低電力動作制御装置に用いられ、前記命令コードを生成するマイクロプロセッサプログラム最適化装置であって、マイクロプロセッサの消費電力情報により前記動作停止制御または前記電源電圧制御または前記基板電圧制御または前記クロック周波数制御における消費電力を算出する消費電力算出手段と、前記消費電力を用いて各命令の動作制御回路候補における消費電力を算出する動作制御候補算出手段と、前記消費電力が最も小さくなるように各命令の動作制御回路を選択する切り替え判定手段を備え、前記第1の命令セットと前記第2の命令セットを切り替える命令セット切り替え命令を挿入し、前記第2の命令セットの前記制御指定情報を決定することにより、低電力動作制御動作を行うプログラムの構成を最適化することを特徴とする。
【0020】
請求項10記載の低電力動作制御装置は、条件フラグによる命令条件実行機能を備えるマイクロプロセッサに搭載されてマイクロプロセッサの低電力動作を制御する低電力動作制御装置であって、マイクロプロセッサに入力される命令コードの特定ビットフィールドに命令実行制御機能のためのフラグを選択する命令実行制御機能情報を含む第1の命令セットと前記特定ビットフィールドに低電力制御のための制御指定情報を含む1または2以上の第2の命令セットを備え、通常動作時に第1の命令セットを実行し、低電力動作時に第2の命令セットを実行するように命令セットを切り替える動作モード切り替え回路と、第1の命令セットモード時に前記命令実行制御機能情報に応じたフラグを読み込んで命令実行制御機能動作を識別するプレディケート判定回路と、第2の命令セットモード時に前記制御指定情報を読み込んで低電力動作を行う制御回路の制御指定情報を抽出する制御指定情報抽出回路と、前記制御指定情報を用いプログラムの特定箇所の処理量を測定するプログラム処理測定手段と、前記処理量からプログラム毎の最適な消費電力を判定する処理量判定手段と、前記最適な消費電力になるようにプログラム実行時の周波数や電源電圧を制御する周波数/電源制御手段と、前記制御指定情報を用い前記命令実行制御機能に応じた各制御回路の周波数/電源制御手段に応じた制御を実施する制御動作実行手段とを有し、各命令に対応するプログラムにおける処理量を測定することにより、マイクロプロセッサの低電力動作を命令単位で制御することを特徴とする。
【0021】
請求項11記載の低電力動作制御装置は、条件フラグによる命令条件実行機能を備えるマイクロプロセッサに搭載されてマイクロプロセッサの動作を制御する動作制御装置であって、マイクロプロセッサに入力される命令コードの特定ビットフィールドに命令実行制御機能のためのフラグを選択する命令実行制御機能情報を含む第1の命令セットと前記特定ビットフィールドに低電力制御のための制御指定情報を含む1または2以上の第2の命令セットを備え、通常動作時に第1の命令セットを実行し、低電力動作時に第2の命令セットを実行するように命令セットを切り替える動作モード切り替え回路と、第1の命令セットモード時に前記命令実行制御機能情報に応じたフラグを読み込んで命令実行制御機能動作を識別するプレディケート判定回路と、第2の命令セットモード時に前記制御指定情報を読み込んで低電力動作行う制御回路の制御指定情報を抽出する制御指定情報抽出回路と、前記制御指定情報を用いプログラムの特定箇所の処理量を測定するプログラム処理測定手段と、前記処理量をマイクロプロセッサのプログラム中の変数の形で参照する処理量参照手段と、を有し、プログラム動作における命令単位毎に得られるプログラム処理量をプログラム実行中に参照することを特徴とする。
【0022】
以上により、回路規模の増加やデコード時間の増加をすることなく、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を行い、マイクロプロセッサの低電力動作を実現することができる。
【0023】
【発明の実施の形態】
本発明の概念を図4(a),図4(b),図5を用いて説明する。
図4(a)は本発明の低電力動作制御装置におけるマイクロプロセッサで用いられる命令セットの構成図,図4(b)は本発明の命令セット判別による低電力動作制御装置の構成図であり、図5は本発明の命令セット判別による低電力動作制御装置の動作フローである。
【0024】
マイクロプロセッサの命令実行形式としてプレディケート動作と呼ばれるものがある。これは、過去に決定しているフラグ情報に依存して命令の実行/不実行を決定するというものである。一般にプレディケート動作を実装する場合は命令コードの構成中に、実行/不実行を依存させるフラグを設定するための識別情報(プレディケートビット)を格納するビットフィールドであるプレディケートフィールド(301)が存在する。本発明は図4に示すように、命令モードとして当該ビットフィールドにプレディケート指定情報を定義する命令セット1と、当該ビットフィールドにプレディケート以外の制御指定情報(302)を定義する2種類以上の命令セット2とを備え、マイクロプロセッサ動作中に前記命令セット1と命令セット2を切り替え命令によって切り替え、低電力制御回路(303)より出力する制御信号(304)を用いて、プログラム動作における命令単位毎に低電力制御を実施することを実現する。
【0025】
図5では、制御信号(304)が[n+2]の時点の命令パイプラインにおける命令フェッチ、命令デコードステージのパイプラインレジスタ、論理回路の制御として使用されている概念を表している。制御信号(304)は命令デコーダではなく、低電力制御回路(303)で生成され、かつ、[n+2]の時点の命令パイプラインの命令デコードステージ、および時間的に先行しているパイプラインステージ(命令フェッチステージ)に対して余裕を持って制御が実現できることがわかる。
【0026】
また、命令セット1と命令セット2との関係において、命令デコーダが参照するオペコード、オペランドは同一のため、命令デコーダを複数備える必要がない。
【0027】
これにより、回路規模の増加、デコード時間の増加をすることなく、低電力制御を実施するための情報を命令デコード以外から取得し、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を実現する事ができる。
【0028】
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
まず、本発明の実施の形態1における低電力動作制御装置について、図6,図7,図8,図9,図10,図11を用いて説明する。
【0029】
図6は本発明の低電力動作制御装置を搭載するマイクロプロセッサの構成図である。
図6において、本発明のマイクロプロセッサは、命令メモリ(401)、命令メモリ(401)から取得した命令コードを格納する命令レジスタ(420)、命令コードデコーダ(402)、演算器(403)、プレディケート動作に使用するフラグ生成用演算器(404)、フラグ生成用演算器(404)の演算結果を格納するフラグレジスタ(405)、演算結果を格納するレジスタファイル(406)、命令コード中のプレディケートフィールド内容とフラグ生成用演算器(404)の出力からプレディケート動作を判定するプレディケート判定回路(407)、命令コード中のプレディケートフィールド内容から制御指定情報を取り出す制御指定情報抽出回路(408)、プレディケートフィールド内容のうちプレディケート動作に割り当てる情報と制御指定情報に割り当てる情報の区分や動作モードからプレディケート判定回路(407)や制御指定情報抽出回路(408)の動作を指示するプレディケート制御回路(409)、制御指定情報によってクロックや論理マスクなどの動作停止制御を実施する動作停止制御回路(410)、クロック制御回路(411)、論理回路の入力を0または1に固定する論理マスク回路(412)、制御指定情報によって電源電圧制御を実施する電源電圧制御回路(413)、電源(414)、制御指定情報によって基板電圧制御を実施する基板電圧制御回路(415)、基板電圧(416)、制御指定情報によってクロック周波数制御を実施するクロック周波数制御回路(417)、クロック発生回路(418)、動作モードを定義する動作モード設定レジスタ(419)で構成されている。
【0030】
フラグ生成用演算器(404)の結果を格納するフラグレジスタ(405)には、図7のフラグレジスタの構造図に示すように、8個のフラグ(C0〜C7)が定義されており、演算結果によって各フラグがセット、またはクリアされる。ただし、C7は常に1となるフラグとして定義されている。
【0031】
ここで、フラグ生成用演算器(404)に入力される2つのデータをそれぞれA,Bとして、演算に対応するフラグの設定例を以下に示す。
Cmp.EQ C0,A,B
: レジスタAとレジスタBの内容を比較し、一致していれば1、不一致であれば0がC0に格納される。
【0032】
Cmp.GT C0,A,B
: レジスタAとレジスタBの内容を比較し、A>Bであれば1、A≦Bであれば0がC0に格納される。
【0033】
命令コードの構成は、図8の本発明の低電力動作制御装置の命令選択フロー説明図に示すように、プレディケートフィールドが3ビット存在して、C0〜C7の8通りのフラグの設定が可能となっている。命令毎にプレディケート番号を指定することでフラグを選択し、選択したフラグの内容が0であるか1であるかによって対応する命令を実行するか否かを設定する。C7は前述したように常に1となるフラグとして定義されているため、プレディケート番号としてC7を指定すると、「常に実行する」という意味になる。
【0034】
動作モード設定レジスタ(419)には、通常動作、および、2つ以上の低電力モードのいずれかを指定するためのビットが設けられている。プレディケートフィールド3ビット分の組合せと動作モード設定レジスタの内容組合せを合わせることによって、低電力モードで制御できる種類を多様化できる。低電力モードの例としては以下のものがある。
【0035】
低電力モード1
:プレディケートフィールドの制御情報を用いて、命令種別毎に関連する機能ブロックのクロック、電源供給を停止、論理マスクを実施する。
【0036】
低電力モード2
:プレディケートフィールドの制御情報を用いて、クロック周波数、電源電圧を制御する。
【0037】
また、動作モード設定レジスタ(419)の情報はプレディケート制御回路(409)に供給され、プレディケート判定、および、制御指定情報の制御に使用される。
【0038】
図9の本発明の低電力モード説明図に示すように、低電力モードでは、8種類のプレディケート番号の使用が制限され、ここでは、C0、C4、C6、C7のみが使用できるように構成されている。代わりに、電力制御情報として、P1、P2、P3、P5が指定できる。プレディケートフィールドに格納される情報としては見かけ上変わらないが、低電力モード中は、プレディケート判定回路(407)に入力されるプレディケート番号がC1、C2、C3、C5の時に、強制的にC7の値に変更される。プレディケートフィールドは制御指定情報抽出回路(408)にも参照されており、C1、C2、C3、C5の時に、制御情報として使用される。これらの一連の動作によって、プレディケートフィールドにプレディケート番号、電力制御情報を混在して指定することができる。なお、プレディケートフィールドの指定方法としては前述以外の組み合わせも存在する。
【0039】
低電力モード1の例として、動作停止制御回路(410)、クロック制御回路(411)、論理マスク回路(412)、基板電圧制御回路(415)、基板電源(416)による制御動作は図10の本発明の実施の形態1における制御動作を説明する図に示すように実現する。動作モードとしてP1、P2、P3、P5を用いた制御動作を実施する低電力モードが設定されているとする。本動作モードでの電力制御情報(P1、P2、P3、P5)の意味を以下のように定義する。
【0040】
P1: 3命令後にロード・ストア命令が存在。
P2: 3命令後に転送命令が存在。
P3: 3命令後に演算命令が存在。
【0041】
P5: 3命令後に分岐命令が存在。
これらの電力制御情報に基づき、機能ブロックのクロック固定や論理マスクを実施し、機能ブロックの動作を停止させる。また機能ブロックの動作を停止させている間、トランジスタのリーク電流を低減するために基板電圧を制御し、閾値電圧(Vt)を上昇させる。
【0042】
このマイクロプロセッサのパイプライン構成は、命令フェッチ(IF)、デコード(DC)、演算(EM)、ライトバック(WB)となっており、各命令の実行パイプラインステージが以下のようになっているとする。
ロード・ストア命令(804): EM、WBの2ステージ
転送命令(803): EMステージ
演算命令(802): EMステージ
分岐命令(805): IFステージ
それぞれのステージにおける制御は図5と同様の概念で実施する。
【0043】
図10の構成においてクロック制御、論理マスク、基板電圧制御を実施する場合、遅延時間を考慮して、数サイクル前に制御信号が確定している必要がある。本実施の形態では1サイクル前に制御信号が確定している必要があるとする。そのためには、パイプラインステージを考慮すると3命令前より制御信号の状態を指定する必要があるが、前述の通り、電力制御情報が3命令後の制御内容を指示しているため、制御信号が確定し、クロック制御、論理マスク、および基板電圧制御の実施動作(806)が実施できる。
【0044】
低電力モード2の例として、電源電圧制御回路(413)、電源(414)、クロック周波数制御回路(417)、クロック発生回路(418)による電源電圧/クロック周波数制御は図11の本発明の実施の形態1における電源電圧/クロック周波数制御動作を説明する図に示すように実現する。動作モードとしてP1、P2、P3、P5を用いた電源電圧/クロック周波数制御を実施する低電力モードが設定されているとする。本動作モードでの電力制御情報(P1、P2、P3、P5)の意味を以下のように定義する。
【0045】
P1: 5命令後に電源電圧、クロック周波数を基本電圧の100%にする。
P2: 5命令後に電源電圧、クロック周波数を基本電圧の50%にする。
【0046】
P3: 5命令後に電源電圧、クロック周波数を5%下げる。
P4: 5命令後に電源電圧、クロック周波数を5%上げる。
これらの電力制御情報に基づき、電源電圧、クロック周波数を制御する。
このマイクロプロセッサのパイプライン構成は、図8と同一とする。
それぞれのステージにおける制御は図5と同様の概念で実施する。
【0047】
図11の構成においてクロック周波数を制御する場合、一般に周波数安定化のための時間を確保する必要がある。
周波数切り替え時に安定化時間を確保する手段として、クロック発生回路(418)を2つ備え、周波数安定化後にクロック発生回路を切り替える場合、数サイクル前に制御信号が確定している必要がある。本実施の形態では4サイクル前に制御信号が確定している必要があるとする。そのためにはパイプラインステージを考慮すると5命令前より制御信号の状態を指定する必要があるが、前述の通り、電力制御情報(902)が5命令後の制御内容を指示しているため、制御信号が確定し、電源電圧制御、クロック周波数制御が実施できる。
【0048】
以上により、回路規模の増加やデコード時間の増加をすることなく、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を行い、マイクロプロセッサの低電力動作を実現することができる。
(実施の形態2)
次に、本発明の実施の形態2における低電力動作制御装置によるプレディケート情報を有する最適化後プログラムの生成方法について、図12,図13,図14,図15,図16を用いて説明する。
【0049】
図12は本発明の実施の形態2におけるプログラム最適化装置を説明する図である。
図12において、マイクロプロセッサのプログラム最適化装置は、停止対象候補算出手段(1001)、切り替え判定手段(1002)、命令セット切り替え命令挿入手段(1003)、制御指定情報付加手段(1004)で構成されている。停止対象候補算出手段(1001)には最適化対象のプログラム(1005)と、マイクロプロセッサあるいはマルチプロセッサシステム構成回路の消費電力一覧(1006)と、マイクロプロセッサあるいはマルチプロセッサシステム構成回路の命令別動作一覧(1011)が入力され、停止対象候補一覧(1007)が出力される。切り替え判定手段(1002)には停止対象候補一覧(1007)が入力され、切り替え判定結果(1008)が出力される。命令セット切り替え命令挿入手段(1003)には切り替え判定結果(1008)と、動作モード一覧(1012)が入力され、命令セット切り替え命令挿入結果(1009)が出力される。制御指定情報付加手段(1004)には、命令セット切り替え命令挿入結果(1009)と、制御指定情報一覧(1013)が入力され、最適化後プログラム(1010)が出力される。
【0050】
図13は停止対象候補算出手段の動作フローチャートであり、3つのステップで構成される。
図13において、最適化対象のプログラム(1005)は、マイクロプロセッサの命令列(1101)で構成されている。マイクロプロセッサあるいはマルチプロセッサシステム構成回路の消費電力一覧(1006)は、マイクロプロセッサの命令毎にマイクロプロセッサあるいはマルチプロセッサシステム構成回路別の消費電力が網羅され、例えば、図13に示される構成回路別の消費電力の一例(1102)に示されるように構成されている。
【0051】
まず、動作第1ステップ(1103)は、消費電力一覧(1006)を用いて最適化対象のプログラム(1005)の命令毎におけるマイクロプロセッサあるいはマルチプロセッサシステム構成回路別の消費電力を検索し、プログラム消費電力情報(1104)を算出する。
【0052】
このプログラム消費電力情報(1104)は、プログラムの各行についてマイクロプロセッサあるいはマルチプロセッサシステム構成回路の各々が動作した場合の消費電力を表すことになる。例として図13のプログラム消費電力情報1104における Line 0101 では、
回路A: 0.005mW
回路B: 0.003mW
回路C: 0.001mW
・・・
となる。
【0053】
マイクロプロセッサあるいはマルチプロセッサ構成回路の命令別動作一覧(1011)はマイクロプロセッサの命令毎におけるマイクロプロセッサあるいはマルチプロセッサシステム構成回路別の動作必要箇所(1105)が網羅されている。ここで動作必要箇所(1105)とは命令機能を実現するために最低限動作が必要な回路部分を意味する。
【0054】
次に、動作第2ステップ(1106)は、命令別動作一覧(1011)を用いて最適化対象のプログラム(1005)の命令毎にマイクロプロセッサあるいはマルチプロセッサシステム構成回路別の動作要否を検索し、停止対象候補回路情報(1107)を算出する。
【0055】
この停止対象候補回路情報(1107)は、プログラムの各行についてマイクロプロセッサあるいはマルチプロセッサシステム構成回路の各々が停止可能かどうかを表すことになる。例として図13の停止対象候補回路情報1107における Line 0101 では、
回路A: 動作が必要(停止不可能)
回路B: 停止可能
回路C: 停止可能
・・・
を意味する。
【0056】
ここで停止対象候補回路情報(1107)における停止可能な構成回路について、消費電力情報(1104)から得られる消費電力と組み合わせることで、「停止可能な構成回路が停止したと仮定した場合」のプログラムの各行についての消費電力が見積もれることがわかる。
【0057】
つまり、図13の1104、1107における Line 0101 では、回路B、回路Cが停止可能
回路Bの消費電力は0.003mWであるが、「回路Bが停止したと仮定した場合」の Line 0101 の消費電力は、回路Bの消費電力を0mWと仮定して、回路A,回路C,...の各回路の消費電力の総和と見積もることができる。
回路Cの消費電力は0.001mWであるが、「回路Cが停止したと仮定した場合」の Line 0101 の消費電力は、回路Cの消費電力を0mWと仮定して、回路A,回路C,...の各回路の消費電力の総和と見積もることができる。
ということが判断できる。
【0058】
このことを利用して、動作第3ステップ(1108)は、停止対象候補回路情報(1107)とプログラム消費電力情報(1104)を用いて停止対象候補回路の消費電力がそれぞれ0になったと仮定した場合の最適化対象のプログラム(1005)の命令毎におけるマイクロプロセッサあるいはマルチプロセッサシステム構成回路別の消費電力を検索し、停止対象候補一覧(1007)を算出する。
【0059】
この停止対象候補一覧(1007)は、プログラムの各行についてマイクロプロセッサあるいはマルチプロセッサシステム構成回路のうち停止可能な回路をそれぞれ停止したと仮定した場合の消費電力の総和を表すことになる。例として図13の1007における Line 0101 では、
回路Bは停止可能な候補1:
回路Bが停止した場合は Line 0101 の消費電力の総和は0.40mW
回路Cは停止可能な候補2:
回路Cが停止した場合は Line 0101 の消費電力の総和は0.77mW
を意味する。
【0060】
図14は切り替え判定手段の動作フローチャートであり、1つのステップで構成される。
動作ステップ(1201)は、停止対象候補一覧(1007)を用いて、消費電力が最も少ない停止対象候補回路(1202、1203、1204)を検索し、最適化対象のプログラム(1005)の命令毎に停止対象となる回路とその消費電力(1205)を選択し、切り替え判定結果(1008)を算出する。
【0061】
図15は命令セット切り替え命令挿入手段の動作フローチャートであり、2つのステップで構成される。
動作第1ステップ(1301)は、切り替え判定結果(1008)と、動作モード一覧(1012)を用いて、最適化対象のプログラム(1005)の動作モードに対応する対象回路の関係(1304)と命令と対象回路の関係(1305)より、命令毎の停止対象を指定することができる動作モード、および同一動作モードを適用できる命令列範囲を算出し、動作モード判定結果(1302)を出力する。
【0062】
動作第2ステップ(1303)は、動作モード判定結果(1302)における動作モードが切り替わる動作モード変化点(1306)を検索し、最適化対象のプログラム(1005)の命令列毎に動作モードを指定する命令セット切り替え命令(1307)を挿入し、命令セット切り替え命令挿入結果(1009)を算出する。
【0063】
図16は制御指定情報付加手段の動作フローチャートであり、3つのステップで構成される。
動作第1ステップ(1401)は、命令セット切り替え命令挿入結果(1009)と、制御指定情報一覧(1013)を用いて、命令セット切り替え命令挿入結果(1009)の命令毎に停止対象回路と動作モードに対応する制御指定情報(1406)を検索し、制御指定情報判定結果(1402)を出力する。
【0064】
動作第2ステップ(1403)は、制御指定情報判定結果(1402)を用いて、一定サイクル前に制御情報が確定できる命令列(1407)を検索し、制御指定情報位置(1404)を算出する。なお、このステップの検索ルールは図10、図11で説明した制御情報のサイクル関係に従う。
【0065】
動作第3ステップ(1405)は、制御指定情報判定結果(1402)、および制御指定情報位置(1404)を用いて、命令セット切り替え命令挿入結果の命令毎に制御指定情報を挿入し、最適化後プログラム(1010)を算出する。
【0066】
以上により、プレディケート情報を有する最適化後プログラムを生成することにより命令単位毎に低電力制御を行い、回路規模の増加やデコード時間の増加をすることなく、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を行うことができ、マイクロプロセッサの低電力動作を実現することができる。
(実施の形態3)
次に、本発明の実施の形態3における低電力動作制御装置について、図17,図18を用いて説明する。
【0067】
図17は本発明の実施の形態3における低電力動作制御装置を有するマイクロプロセッサおよびデータ処理手段の構成図であり、ここでは、データ処理手段もマイクロプロセッサにより構成される例を示している。
【0068】
図17において、本発明のマルチプロセッサシステムは、命令メモリ(1501)、命令メモリから取得した命令コードを格納する命令レジスタ(1516)、命令コードデコーダ(1502)、演算器(1503)、プレディケート動作に使用するフラグ生成用演算器(1504)、フラグ生成用演算器の結果を格納するレジスタ(1505)、演算結果を格納するレジスタファイル(1506)、命令コード中のプレディケートフィールド内容とフラグ生成用演算器(1504)の出力からプレディケート動作を判定するプレディケート判定回路(1507)、命令コード中のプレディケートフィールド内容から制御指定情報を取り出す制御指定情報抽出回路(1508)、プレディケートフィールド内容のうちプレディケート動作に割り当てる情報と制御指定情報に割り当てる情報の区分や動作モードからプレディケート判定回路(1507)、制御指定情報抽出回路(1508)の動作を指示するプレディケート制御回路(1509)、制御指定情報によってイベント発生要否を判定して、イベントを発生するイベント発生回路(1510)、動作モードを定義する動作モード設定レジスタ(1511)で構成されるマイクロプロセッサA(1512)と、イベント発生回路(1510)のイベントによって制御される動作制御回路(1513)、電源供給制御回路(1514)、および動作制御回路(1513)、電源供給制御回路(1514)で制御されるマイクロプロセッサB(1515)で構成されている。
【0069】
マイクロプロセッサA(1512)におけるレジスタ、プレディケート動作、動作モード、およびパイプライン構成は図6、図7、図8、図9、図10と同様であるが、低電力モード中に制御指定情報に基づいてイベント回路からイベントを発生し、マイクロプロセッサB(1515)の制御を実施する点が異なる。つまり、マイクロプロセッサBの低電力動作制御をマイクロプロセッサAによっておこなう。ここでは、マイクロプロセッサBの低電力動作制御をマイクロプロセッサAによって行う場合について説明するが、マイクロプロセッサ以外のデータ処理手段にて行う事も可能である。
【0070】
また、ここでは、異なるマイクロプロセッサの低電力動作を制御する場合について説明しているが、イベントを発生するマイクロプロセッサ自身の制御を行う事も可能である。
【0071】
イベント発生回路によるマイクロプロセッサB(1515)の制御は図18の本発明の実施の形態3におけるイベント発生回路による低電圧動作制御を説明する図に示すように実現する。マイクロプロセッサAの動作モードとしてP1、P2、P3、P5を用いた制御を実施する低電力モードが設定されているとする。本動作モードでの電力制御情報(P1、P2、P3、P5)の意味を以下のように定義する。
【0072】
P1: 5命令後にマイクロプロセッサBを起動。
P2: 5命令後にマイクロプロセッサBを停止。
P3: 5命令後にマイクロプロセッサBの電源を供給。
【0073】
P5: 5命令後にマイクロプロセッサBの電源を停止。
これらの電力制御情報に基づき、マイクロプロセッサBの動作や電源の供給を制御する。マイクロプロセッサBの動作や電源の供給を制御する場合、一般に起動動作や電源の供給安定化のための時間が必要であり、数サイクル前にイベントを発生している必要がある。本実施の形態では、制御信号タイミング(1601)に示すようにイベントを発生してマイクロプロセッサB(1515)が起動開始してから起動完了するまでに4サイクル必要であるとする。そのためにはパイプラインステージを考慮すると5命令前よりイベントの状態を指定する必要があるが、前述の通り、電力制御情報が5命令後のイベント内容を指示しているため、イベントが発生し、マイクロプロセッサBの動作および電源の供給制御動作(1602)が実施できる。
【0074】
以上により、回路規模の増加やデコード時間の増加をすることなく、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を行うことができ、マイクロプロセッサの低電力動作を実現することができる。
(実施の形態4)
次に、本発明の実施の形態4における低電力動作制御装置について、図19,図20,図21,図22を用いて説明する。
【0075】
図19は本発明の実施の形態4における低電力動作制御装置を有するマイクロプロセッサの構成図である。
本発明におけるマイクロプロセッサは、命令メモリ(1701)、命令メモリ(1701)から取得した命令コードを格納する命令レジスタ(1717)、命令コードデコーダ(1702)、演算器(1703)、プレディケート動作に使用するフラグ生成用演算器(1704)、フラグ生成用演算器(1704)の結果を格納するレジスタ(1705)、演算結果を格納するレジスタファイル(1706)、命令コード中のプレディケートフィールド内容とフラグ生成用演算器(1704)の出力からプレディケート動作を判定するプレディケート判定回路(1707)、命令コード中のプレディケートフィールド内容から制御指定情報を取り出す制御指定情報抽出回路(1708)、プレディケートフィールド内容のうちプレディケート動作に割り当てる情報と制御指定情報に割り当てる情報の区分や動作モードからプレディケート判定回路(1707)、制御指定情報抽出回路(1708)の動作を指示するプレディケート制御回路(1709)、制御指定情報によってプログラム処理量を測定するプログラム処理測定回路(1710)、測定結果を参照できるプログラム処理測定結果参照レジスタ(1711)、測定結果を用いてプログラム必要処理量を判定して結果を出力するプログラム処理判定回路(1712)、動作モードを定義する動作モード設定レジスタ(1713)、プログラム必要処理量判定結果によって制御されるクロック周波数/電源電圧制御回路(1714)、クロック発生回路(1715)、および電源(1716)で構成されている。
【0076】
本マイクロプロセッサにおけるレジスタ、プレディケート動作、動作モード、およびパイプライン構成は図6、図7、図8、図9、図10と同様であるが、低電力モード中に制御指定情報に基づいてプログラム処理量判定回路から必要プログラム処理量を算出し、クロック周波数/電源電圧制御を実施する点が異なる。
【0077】
プログラム必要処理量判定回路(1712)によるクロック周波数/電源電圧制御は図20の本発明の実施の形態4におけるプログラム処理量を測定することによる低電圧動作制御を説明する図,図21(a)の本発明の実施の形態4におけるプログラム処理量測定結果を示す図,図21(b)の本発明の実施の形態4における処理量制御を示す図に示すように実現する。ここでは、動作モードとしてP1、P2、P3、P5を用いた処理量測定を実施する低電力モードが設定されているとする。本動作モードでの電力制御情報(P1、P2、P3、P5)の意味を以下のように定義する。
【0078】
P1: 処理量カウンタをリセット。
P2: 処理量カウンタのインクリメント開始。
P3: 処理量カウンタのインクリメント停止。
【0079】
P5: 5命令後に処理量カウンタの値によるクロック周波数/電源電圧制御更新。
まず、プログラム処理量測定回路(1710)には処理量カウンタ(1801)を設けており、電力制御情報によって処理量カウンタを制御し、プログラム処理量をプログラム処理量測定結果(1802)のように測定する。
【0080】
次に、プログラム処理量判定回路(1712)にはプログラムがいつの時点までに実行を終了している必要があるかの情報、すなわち完了期限情報(1803)を設定しておく。この完了期限情報(1803)と処理量測定結果を用いてプログラム動作の必要最低限処理量(1804)を算出することで、クロック周波数/電源電圧制御回路(1714)から出力する制御信号タイミング(1805)による延長処理(1807)等の制御が実施できる。また、クロック周波数/電源電圧制御には一般に起動や電源安定化のための時間が必要であり、数サイクル前にイベントを発生している必要がある。本実施の形態では、クロック周波数/電源電圧制御タイミング(1806)のように4サイクル前よりイベントを発生している必要があるとする。そのためにはパイプラインステージを考慮すると5命令前よりクロック周波数/電源電圧の制御更新を指定する必要があるが、前述の通り、電力制御情報(P5)が5命令後の制御更新を指示しているため制御が可能となる。
【0081】
またプログラム処理量測定結果はプログラム処理量測定結果参照レジスタ(1711)によってプログラム動作中に参照することができ、図22(a)の本発明の実施の形態4におけるプログラム処理量測定結果により動作を制御することを説明する図,図22(b)の本発明の実施の形態4におけるプレディケート動作の実行有無も考慮した処理量判定を示す図に示すように、処理量によってプログラム動作を決定することも実現できる。図22(a)では、モジュールA、B、Cで構成されるプログラムにおいて、モジュールAの処理量に基づいてモジュールB、Cのどちらを起動するかの判定に参照レジスタのオペランドREF(1901)を使用している例を表している。
【0082】
なお、図22(b)では動作モードとして、P0、P1、P2、P3、P4、P5、P6、P7を用いて以下のように定義することでプレディケート動作の実行有無も考慮した処理量判定も実現できる例を表している。
【0083】
P0: C0プレディケート動作、および実行時に処理量カウンタをインクリメント。
P1: C1プレディケート動作、および実行時に処理量カウンタをインクリメント。
【0084】
P2: C2プレディケート動作、および実行時に処理量カウンタをインクリメント。
P3: C3プレディケート動作、および実行時に処理量カウンタをインクリメント。
【0085】
P4: C4プレディケート動作、および実行時に処理量カウンタをインクリメント。
P5: C5プレディケート動作、および実行時に処理量カウンタをインクリメント。
【0086】
P6: C6プレディケート動作、および実行時に処理量カウンタをインクリメント。
P7: C7プレディケート動作、および実行時に処理量カウンタをインクリメント。
【0087】
【発明の効果】
本発明によれば、命令を実行するプログラム毎の命令コードが命令実行制御機能を指定するフラグ含む第1の命令セットと制御指定情報を含む1または2以上の第2の命令セットを備え、命令実行制御機能に応じて各制御回路の低電力動作を命令単位で行うことにより、回路規模の増加やデコード時間の増加をすることなく、命令デコードのパイプラインステージ、および時間的に先行しているパイプラインステージに対する制御を行い、マイクロプロセッサの低電力動作を実現することができる。
【図面の簡単な説明】
【図1】(a)従来の命令判別による低電力動作制御装置の構成図
(b)従来の命令判別による低電力動作制御装置の動作フロー
【図2】(a)従来の命令セットの構成図
(b)従来の命令セット判別による低電力動作制御装置の構成図
【図3】従来の命令セット判別による低電力動作制御装置の動作フロー
【図4】(a)本発明の低電力動作制御装置におけるマイクロプロセッサで用いられる命令セットの構成図
(b)本発明の命令セット判別による低電力動作制御装置の構成図
【図5】本発明の命令セット判別による低電力動作制御装置の動作フロー
【図6】本発明の低電力動作制御装置を搭載するマイクロプロセッサの構成図
【図7】フラグレジスタの構造図
【図8】本発明の低電力動作制御装置の命令選択フロー説明図
【図9】本発明の低電力モード説明図
【図10】本発明の実施の形態1における制御動作を説明する図
【図11】本発明の実施の形態1における電源電圧/クロック周波数制御動作を説明する図
【図12】本発明の実施の形態2における低電力動作制御装置が備えるプログラム最適化装置を説明する図
【図13】停止対象候補算出手段の動作フローチャート
【図14】切り替え判定手段の動作フローチャート
【図15】命令セット切り替え命令挿入手段の動作フローチャート
【図16】制御指定情報付加手段の動作フローチャート
【図17】本発明の実施の形態3における低電力動作制御装置を有するマイクロプロセッサおよび周辺回路の構成図
【図18】本発明の実施の形態3におけるイベント発生回路による低電圧動作制御を説明する図
【図19】本発明の実施の形態4における低電力動作制御装置を有するマイクロプロセッサの構成図
【図20】本発明の実施の形態4におけるプログラム処理量を測定することによる低電圧動作制御を説明する図
【図21】(a)本発明の実施の形態4におけるプログラム処理量測定結果を示す図
(b)本発明の実施の形態4における処理量制御を示す図
【図22】(a)本発明の実施の形態4におけるプログラム処理量測定結果により動作を制御することを説明する図
(b)本発明の実施の形態4におけるプレディケート動作の実行有無も考慮した処理量判定を示す図
【符号の説明】
101 デコーダ
102 低電力制御回路
103 制御信号
201 命令デコーダ
202 低電力制御回路
203 制御信号
204 信号伝達経路
301 プレディケートフィールド
302 制御指定情報
303 低電力制御判定
304 制御信号
401 命令メモリ
402 命令コードデコーダ
403 演算器
404 フラグ生成用演算器
405 フラグレジスタ
406 レジスタファイル
407 プレディケート判定回路
408 制御指定情報抽出回路
409 プレディケート制御回路
410 動作停止制御回路
411 クロック制御回路
412 論理マスク回路
413 電源電圧制御回路
414 電源
415 基板電圧制御回路
416 基板電圧
417 クロック周波数制御回路
418 クロック発生回路
419 動作モード設定レジスタ
420 命令レジスタ
802 演算命令
803 転送命令
804 ロード・ストア命令
805 分岐命令
806 クロック制御、論理マスク、および基板電圧制御の実施動作
902 電力制御情報
1001 停止対象候補算出手段
1002 切り替え判定手段
1003 命令セット切り替え命令挿入手段
1004 制御指定情報付加手段
1005 最適化対象のプログラム
1006 消費電力一覧
1007 停止対象候補一覧
1008 切り替え判定結果
1009 命令セット切り替え命令挿入結果
1010 最適化後プログラム
1011 命令別動作一覧
1012 動作モード一覧
1013 制御指定情報一覧
1101 マイクロプロセッサ命令列
1102 構成回路別の消費電力の一例
1103 動作第1ステップ
1104 プログラム消費電力情報
1105 動作必要箇所
1106 動作第2ステップ
1107 停止対象候補回路情報
1108 動作第3ステップ
1201 動作ステップ
1202 停止対象候補回路
1203 停止対象候補回路
1204 停止対象候補回路
1205 停止対象となる回路とその消費電力
1301 動作第1ステップ
1302 動作モード判定結果
1303 動作第2ステップ
1304 動作モードに対応する対象回路の関係
1305 命令と対象回路の関係
1306 動作モード変化点
1307 命令列毎に動作モードを指定する命令セット切り替え命令
1401 動作第1ステップ
1402 制御指定情報判定結果
1403 動作第2ステップ
1404 制御指定情報位置
1405 動作第3ステップ
1406 制御指定情報
1407 命令列
1501 命令メモリ
1502 命令コードデコーダ
1503 演算器
1504 フラグ生成用演算器
1505 フラグレジスタ
1506 レジスタファイル
1507 プレディケート判定回路
1508 制御指定情報抽出回路
1509 プレディケート制御回路
1510 イベント発生回路
1511 動作モード設定レジスタ
1512 マイクロプロセッサA
1513 動作制御回路
1514 電源供給制御回路
1515 マイクロプロセッサB
1516 命令レジスタ
1601 制御信号タイミング
1602 動作および電源供給制御動作
1701 命令メモリ
1702 命令コードデコーダ
1703 演算器
1704 フラグ生成用演算器
1705 フラグレジスタ
1706 レジスタファイル
1707 プレディケート判定回路
1708 制御指定情報抽出回路
1709 プレディケート制御回路
1710 プログラム処理量測定回路
1711 プログラム処理量測定結果参照レジスタ
1712 プログラム処理量判定回路
1713 動作モード設定レジスタ
1714 クロック周波数/電源電圧制御回路
1715 クロック発生回路
1716 電源
1717 命令レジスタ
1801 処理量カウンタ
1802 プログラム処理測定結果
1803 完了期限情報
1804 必要最低限処理量
1805 制御信号タイミング
1806 クロック周波数/電源電圧制御タイミング
1807 延長処理
1901 オペランドREF
Claims (11)
- 条件フラグによる命令条件実行機能を備えるマイクロプロセッサに搭載されてマイクロプロセッサの低電力動作を制御する低電力動作制御装置であって、
マイクロプロセッサに入力される命令コードの特定ビットフィールドに命令実行制御機能のためのフラグを選択する命令実行制御機能情報を含む第1の命令セットと、前記特定ビットフィールドに低電力制御のための制御指定情報を含む1または2以上の第2の命令セットを備え、
通常動作時に第1の命令セットを実行し、低電力動作時に第2の命令セットを実行するように命令セットを切り替える動作モード切り替え回路と、
第1の命令セットモード時に前記命令実行制御機能情報に応じたフラグを読み込んで命令実行制御機能動作を識別するプレディケート判定回路と、
第2の命令セットモード時に前記制御指定情報を読み込んで低電力動作を行う制御回路の制御指定情報を抽出する制御指定情報抽出回路と、
前記制御指定情報を用い各制御回路の低電力動作を実施する制御動作実行手段と
を有し、あらかじめ命令を実行するプログラム単位に命令実行制御機能情報と制御指定情報を備え、制御指定情報に応じて各制御回路の低電力動作を命令単位で行うことにより、前記マイクロプロセッサの低電力動作を命令単位で制御することを特徴とする低電力動作制御装置。 - 条件フラグによる命令条件実行機能を備えるマイクロプロセッサに搭載されてマイクロプロセッサの低電力動作を制御する低電力動作制御装置であって、
マイクロプロセッサに入力される命令コードの特定ビットフィールドに命令実行制御機能のためのフラグを選択する命令実行制御機能情報を含む第1の命令セットと、前記特定ビットフィールドに低電力制御のための制御指定情報を含む1または2以上の第2の命令セットを備え、
通常動作時に第1の命令セットを実行し、低電力動作時に第2の命令セットを実行するように命令セットを切り替える動作モード切り替え回路と、
第1の命令セットモード時に前記命令実行制御機能情報に応じたフラグを読み込んで命令実行制御機能動作を識別するプレディケート判定回路と、
第2の命令セットモード時に前記制御指定情報を読み込んで前記制御指定情報に応じてイベントを発生するイベント発生手段と、
前記イベントを受けて前記イベントに応じた各制御回路の低電力動作を実施する制御動作実行手段とを有し、あらかじめ命令を実行するプログラム単位に命令実行制御機能情報と制御指定情報を備え、制御指定情報に応じて各制御回路の低電力動作を命令単位で行うことにより、前記マイクロプロセッサの低電力動作を命令単位で制御することを特徴とする低電力動作制御装置。 - 前記制御回路がプログラムの特定箇所における動作停止箇所を判定する動作停止判定手段であり、
前記制御動作実行手段が動作停止判定手段の判定結果からマイクロプロセッサの任意の箇所を動作停止制御する動作停止制御手段であり、
マイクロプロセッサの任意の箇所を動作停止制御にすることによりマイクロプロセッサの低電力動作を命令単位で制御することを特徴とする請求項1または請求項2記載の低電力動作制御装置。 - 前記制御回路がプログラムの特定箇所における電源電圧の制御実施を判定する電源電圧判定手段であり、
前記制御動作実行手段が電源電圧判定手段の判定結果からマイクロプロセッサの電源電圧制御を行う電源電圧制御手段であり、
マイクロプロセッサの電源電圧制御を行うことによりマイクロプロセッサの低電力動作を命令単位で制御することを特徴とする請求項1または請求項2記載の低電力動作制御装置。 - 前記制御回路がプログラムの特定箇所における基板電圧の制御実施を判定する基板電圧判定手段であり、
前記制御動作実行手段が基板電圧判定手段の判定結果からマイクロプロセッサの基板電圧を制御する基板電圧制御手段であり、
マイクロプロセッサの基板電圧を制御することによりマイクロプロセッサの低電力動作を命令単位で制御することを特徴とする請求項1または請求項2記載の低電力動作制御装置。 - 前記制御回路がプログラムの特定箇所におけるクロック周波数制御を判定するクロック周波数判定手段であり、
前記制御動作実行手段がクロック周波数判定手段の判定結果からクロック周波数制御を実施するクロック周波数制御手段であり、
マイクロプロセッサのクロック周波数を制御することによりマイクロプロセッサの低電力動作を命令単位で制御することを特徴とする請求項1または請求項2記載の低電力動作制御装置。 - 前記イベント発生手段を備えるマイクロプロセッサとは異なるマイクロプロセッサである1または2以上の対象マイクロプロセッサあるいはデータ処理手段に、前記制御動作実行手段として前記対象マイクロプロセッサあるいはデータ処理手段の低電力動作を制御する動作制御手段を備え、前記イベント発生手段を備えるマイクロプロセッサにより、前記対象マイクロプロセッサあるいはデータ処理手段の低電力制御動作を制御することを特徴とする請求項2記載の低電力動作制御装置。
- 前記イベント発生手段を備えるマイクロプロセッサとは異なるマイクロプロセッサである1または2以上の対象マイクロプロセッサあるいはデータ処理手段に、前記制御動作実行手段として前記対象マイクロプロセッサあるいはデータ処理手段の電源供給を制御することにより低電力制御動作を制御する電源供給制御手段を備え、前記イベント発生手段を備えるマイクロプロセッサにより、前記対象マイクロプロセッサあるいはデータ処理手段の低電力制御動作を制御することを特徴とする請求項2記載の低電力動作制御装置。
- 前記命令コードを生成するマイクロプロセッサプログラム最適化装置であって、
マイクロプロセッサの消費電力情報により前記動作停止制御または前記電源電圧制御または前記基板電圧制御または前記クロック周波数制御における消費電力を算出する消費電力算出手段と、
前記消費電力を用いて各命令の動作制御回路候補における消費電力を算出する動作制御候補算出手段と、
前記消費電力が最も小さくなるように各命令の動作制御回路を選択する切り替え判定手段を備え、前記第1の命令セットと前記第2の命令セットを切り替える命令セット切り替え命令を挿入し、前記第2の命令セットの前記制御指定情報を決定すること
により、低電力動作制御動作を行うプログラムの構成を最適化することを特徴とする請求項3または請求項4または請求項5または請求項6または請求項7または請求項8記載の低電力動作制御装置用のプログラム最適化装置。 - 条件フラグによる命令条件実行機能を備えるマイクロプロセッサに搭載されてマイクロプロセッサの低電力動作を制御する低電力動作制御装置であって、
マイクロプロセッサに入力される命令コードの特定ビットフィールドに命令実行制御機能のためのフラグを選択する命令実行制御機能情報を含む第1の命令セットと、前記特定ビットフィールドに低電力制御のための制御指定情報を含む1または2以上の第2の命令セットを備え、
通常動作時に第1の命令セットを実行し、低電力動作時に第2の命令セットを実行するように命令セットを切り替える動作モード切り替え回路と、
第1の命令セットモード時に前記命令実行制御機能情報に応じたフラグを読み込んで命令実行制御機能動作を識別するプレディケート判定回路と、
第2の命令セットモード時に前記制御指定情報を読み込んで低電力動作を行う制御回路の制御指定情報を抽出する制御指定情報抽出回路と、
前記制御指定情報を用いプログラムの特定箇所の処理量を測定するプログラム処理測定手段と、
前記処理量からプログラム毎の最適な消費電力を判定する処理量判定手段と、
前記最適な消費電力になるようにプログラム実行時の周波数や電源電圧を制御する周波数/電源制御手段と、
を有し、各命令に対応するプログラムにおける処理量を測定することにより、マイクロプロセッサの低電力動作を命令単位で制御することを特徴とする低電力動作制御装置。 - 条件フラグによる命令条件実行機能を備えるマイクロプロセッサに搭載されてマイクロプロセッサの低電力動作を制御する低電力動作制御装置であって、
マイクロプロセッサに入力される命令コードの特定ビットフィールドに命令実行制御機能のためのフラグを選択する命令実行制御機能情報を含む第1の命令セットと、前記特定ビットフィールドに低電力制御のための制御指定情報を含む1または2以上の第2の命令セットを備え、
通常動作時に第1の命令セットを実行し、低電力動作時に第2の命令セットを実行するように命令セットを切り替える動作モード切り替え回路と、
第1の命令セットモード時に前記命令実行制御機能情報に応じたフラグを読み込んで命令実行制御機能動作を識別するプレディケート判定回路と、
第2の命令セットモード時に前記制御指定情報を読み込んで低電力動作を行う制御回路の制御指定情報を抽出する制御指定情報抽出回路と、
前記制御指定情報を用いプログラムの特定箇所の処理量を測定するプログラム処理測定手段と、
前記処理量をマイクロプロセッサのプログラム中の変数の形で参照する処理量参照手段と、
を有し、プログラム動作における命令単位毎に得られるプログラム処理量をプログラム実行中に参照することを特徴とする低電力動作制御装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003018106A JP4412905B2 (ja) | 2003-01-28 | 2003-01-28 | 低電力動作制御装置、およびプログラム最適化装置 |
CNB2004100033321A CN1272704C (zh) | 2003-01-28 | 2004-01-21 | 低电力动作控制装置及程序最佳化装置 |
US10/764,511 US7100063B2 (en) | 2003-01-28 | 2004-01-27 | Low power operation control unit and program optimizing apparatus |
KR1020040004967A KR20040069277A (ko) | 2003-01-28 | 2004-01-27 | 저전력 동작 제어장치, 및 프로그램 최적화 장치 |
EP04001813A EP1443394A3 (en) | 2003-01-28 | 2004-01-28 | Low power operation control unit and program optimizing apparatus |
EP08167732A EP2017722A1 (en) | 2003-01-28 | 2004-01-28 | Method for program optimization |
US11/500,456 US7430678B2 (en) | 2003-01-28 | 2006-08-08 | Low power operation control unit and program optimizing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003018106A JP4412905B2 (ja) | 2003-01-28 | 2003-01-28 | 低電力動作制御装置、およびプログラム最適化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004234038A true JP2004234038A (ja) | 2004-08-19 |
JP4412905B2 JP4412905B2 (ja) | 2010-02-10 |
Family
ID=32652829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003018106A Expired - Fee Related JP4412905B2 (ja) | 2003-01-28 | 2003-01-28 | 低電力動作制御装置、およびプログラム最適化装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7100063B2 (ja) |
EP (2) | EP2017722A1 (ja) |
JP (1) | JP4412905B2 (ja) |
KR (1) | KR20040069277A (ja) |
CN (1) | CN1272704C (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009527813A (ja) * | 2006-02-16 | 2009-07-30 | ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー | 非同期電力節約コンピュータ |
JP2010231306A (ja) * | 2009-03-26 | 2010-10-14 | Nec Corp | コンピュータシステム、ハードウェアリソース制御方法及びそのプログラム |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4412905B2 (ja) * | 2003-01-28 | 2010-02-10 | パナソニック株式会社 | 低電力動作制御装置、およびプログラム最適化装置 |
JP4189882B2 (ja) * | 2004-05-11 | 2008-12-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記録媒体、情報処理装置、制御方法、及びプログラム |
US7975131B2 (en) | 2005-12-23 | 2011-07-05 | Koninklijke Kpn N.V. | Processor lock |
KR100934215B1 (ko) * | 2007-10-29 | 2009-12-29 | 한국전자통신연구원 | 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법 |
JP5395383B2 (ja) * | 2008-08-21 | 2014-01-22 | 株式会社東芝 | パイプライン演算プロセッサを備える制御システム |
US9588881B2 (en) * | 2011-05-16 | 2017-03-07 | Cypress Semiconductor Corporation | Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses |
TWI512613B (zh) * | 2011-11-23 | 2015-12-11 | Soft Machines Inc | 多引擎微處理器之加速編碼最佳化器 |
US9436250B1 (en) | 2011-12-19 | 2016-09-06 | Altera Corporation | Apparatus for improving power consumption of communication circuitry and associated methods |
US9098271B2 (en) * | 2012-02-05 | 2015-08-04 | Jeffrey R. Eastlack | Autonomous microprocessor re-configurability via power gating pipelined execution units using static profiling |
US9519330B2 (en) * | 2013-10-22 | 2016-12-13 | Wisconsin Alumni Research Foundation | Energy-efficient multicore processor architecture for parallel processing |
JP6183251B2 (ja) * | 2014-03-14 | 2017-08-23 | 株式会社デンソー | 電子制御装置 |
CN105471478B (zh) * | 2015-09-28 | 2019-01-04 | 小米科技有限责任公司 | 报文发送方法、报文接收方法及装置 |
TWI697841B (zh) * | 2018-12-18 | 2020-07-01 | 新唐科技股份有限公司 | 控制電路及快速設定電源模式的方法 |
WO2021035006A1 (en) * | 2019-08-20 | 2021-02-25 | Northrop Grumman Systems Corporation | Simd controller and simd predication scheme |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US677654A (en) * | 1901-04-08 | 1901-07-02 | Standard Coupler Co | Draft or buffing rigging. |
US5440747A (en) * | 1993-09-27 | 1995-08-08 | Hitachi America, Ltd. | Data processor with control logic for storing operation mode status and associated method |
JP2778583B2 (ja) | 1996-05-30 | 1998-07-23 | 日本電気株式会社 | 低消費電力マイクロプロセッサ |
US6012138A (en) | 1997-12-19 | 2000-01-04 | Lsi Logic Corporation | Dynamically variable length CPU pipeline for efficiently executing two instruction sets |
US6219796B1 (en) * | 1997-12-23 | 2001-04-17 | Texas Instruments Incorporated | Power reduction for processors by software control of functional units |
DE69838374T2 (de) * | 1997-12-23 | 2008-05-29 | Texas Instruments Inc., Dallas | Prozessor und Verfahren zum Verringern von dessen Energieverbrauch |
US6535984B1 (en) * | 1998-11-25 | 2003-03-18 | Texas Instruments Incorporated | Power reduction for multiple-instruction-word processors with proxy NOP instructions |
US6477654B1 (en) * | 1999-04-06 | 2002-11-05 | International Business Machines Corporation | Managing VT for reduced power using power setting commands in the instruction stream |
US6438700B1 (en) * | 1999-05-18 | 2002-08-20 | Koninklijke Philips Electronics N.V. | System and method to reduce power consumption in advanced RISC machine (ARM) based systems |
JP2001184208A (ja) | 1999-12-27 | 2001-07-06 | Matsushita Electric Ind Co Ltd | 低電力マイクロプロセッサおよびプログラム低電力化方法 |
GB2367915B (en) | 2000-10-09 | 2002-11-13 | Siroyan Ltd | Instruction sets for processors |
JP3578735B2 (ja) * | 2001-08-02 | 2004-10-20 | 松下電器産業株式会社 | 情報処理装置及び情報処理方法 |
US6859886B1 (en) * | 2001-10-02 | 2005-02-22 | Lsi Logic Corporation | IO based embedded processor clock speed control |
FI20011947A (fi) * | 2001-10-05 | 2003-04-06 | Nokia Corp | Menetelmä suorittimen toiminnan ohjaamiseksi ja suoritin |
US6892312B1 (en) * | 2001-10-30 | 2005-05-10 | Lsi Logic Corporation | Power monitoring and reduction for embedded IO processors |
JP2003186567A (ja) * | 2001-12-19 | 2003-07-04 | Matsushita Electric Ind Co Ltd | マイクロプロセッサ |
JP4412905B2 (ja) * | 2003-01-28 | 2010-02-10 | パナソニック株式会社 | 低電力動作制御装置、およびプログラム最適化装置 |
-
2003
- 2003-01-28 JP JP2003018106A patent/JP4412905B2/ja not_active Expired - Fee Related
-
2004
- 2004-01-21 CN CNB2004100033321A patent/CN1272704C/zh not_active Expired - Fee Related
- 2004-01-27 US US10/764,511 patent/US7100063B2/en not_active Expired - Fee Related
- 2004-01-27 KR KR1020040004967A patent/KR20040069277A/ko not_active Application Discontinuation
- 2004-01-28 EP EP08167732A patent/EP2017722A1/en not_active Withdrawn
- 2004-01-28 EP EP04001813A patent/EP1443394A3/en not_active Withdrawn
-
2006
- 2006-08-08 US US11/500,456 patent/US7430678B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009527813A (ja) * | 2006-02-16 | 2009-07-30 | ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー | 非同期電力節約コンピュータ |
JP2010231306A (ja) * | 2009-03-26 | 2010-10-14 | Nec Corp | コンピュータシステム、ハードウェアリソース制御方法及びそのプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1443394A2 (en) | 2004-08-04 |
US20040187040A1 (en) | 2004-09-23 |
US20070168685A1 (en) | 2007-07-19 |
EP2017722A1 (en) | 2009-01-21 |
CN1530826A (zh) | 2004-09-22 |
JP4412905B2 (ja) | 2010-02-10 |
US7430678B2 (en) | 2008-09-30 |
KR20040069277A (ko) | 2004-08-05 |
CN1272704C (zh) | 2006-08-30 |
EP1443394A3 (en) | 2008-01-23 |
US7100063B2 (en) | 2006-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7430678B2 (en) | Low power operation control unit and program optimizing method | |
JPH0922318A (ja) | プロセッサ及びその制御方法 | |
JP2003099248A (ja) | プロセッサ、コンパイル装置及びコンパイル方法 | |
JP2000132390A (ja) | プロセッサ及び分岐予測器 | |
US20160259643A1 (en) | Confidence-driven selective predication of processor instructions | |
JP2004199139A (ja) | プロセッサシステム、命令列最適化装置、および命令列最適化プログラム | |
JP2004318502A (ja) | 電力制御機能を備えたマイクロプロセッサ及び命令変換装置 | |
US7975128B2 (en) | Apparatuses and programs for implementing a forwarding function | |
JP2007058331A (ja) | プロセッサシステム及びマルチスレッドプロセッサ | |
JP2011197803A (ja) | プログラム実行制御方法 | |
JP4800582B2 (ja) | 演算処理装置 | |
US20070260858A1 (en) | Processor and processing method of the same | |
US5568623A (en) | Method for rearranging instruction sequence in risc architecture | |
US10963253B2 (en) | Varying micro-operation composition based on estimated value of predicate value for predicated vector instruction | |
EP2159688A1 (en) | Instruction execution controller and instruction execution control method | |
US20010042195A1 (en) | Method and apparatus for performing predicate prediction | |
US7062633B1 (en) | Conditional vector arithmetic method and conditional vector arithmetic unit | |
JP2006309454A (ja) | プログラム制御方法及びプロセッサ | |
JPH11306016A (ja) | レジスタ間接分岐命令及び条件付き分岐命令実行方法 | |
JP3603895B2 (ja) | コンパイラ、および命令生成方法 | |
JPH1020959A (ja) | 低消費電力マイクロプロセッサ | |
US20050108698A1 (en) | Assembler capable of reducing size of object code, and processor for executing the object code | |
JP3512707B2 (ja) | マイクロコンピュータ | |
JP2000003279A (ja) | Vliwプロセッサ、プログラム生成装置、および記録媒体 | |
JP2005516301A (ja) | 命令実行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060130 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080430 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090310 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090721 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090918 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091020 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121127 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121127 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131127 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |