JP2005322266A - 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム - Google Patents

低消費電力マイクロプロセッサおよびマイクロプロセッサシステム Download PDF

Info

Publication number
JP2005322266A
JP2005322266A JP2005168976A JP2005168976A JP2005322266A JP 2005322266 A JP2005322266 A JP 2005322266A JP 2005168976 A JP2005168976 A JP 2005168976A JP 2005168976 A JP2005168976 A JP 2005168976A JP 2005322266 A JP2005322266 A JP 2005322266A
Authority
JP
Japan
Prior art keywords
instruction
decoder
circuit
input
processing circuit
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
Application number
JP2005168976A
Other languages
English (en)
Other versions
JP2005322266A5 (ja
JP3906865B2 (ja
Inventor
Tetsuya Yamada
哲也 山田
Tomoichi Hayashi
伴一 林
Sadashige Nakano
定樹 中野
Masanobu Tsunoda
賢伸 津野田
Osamu Nishii
修 西井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005168976A priority Critical patent/JP3906865B2/ja
Publication of JP2005322266A publication Critical patent/JP2005322266A/ja
Publication of JP2005322266A5 publication Critical patent/JP2005322266A5/ja
Application granted granted Critical
Publication of JP3906865B2 publication Critical patent/JP3906865B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

【課題】浮動小数点演算ユニットを持つプロセッサにおいて、浮動小数点演算ユニットの無駄な電力消費を削減する。
【解決手段】命令キャッシュ108から供給される命令列において、命令無効化回路109で浮動小数点演算ユニットを使用しない命令を無効命令に置き換え、その無効命令を浮動小数点命令レジスタ111に保持し、浮動小数点演算ユニット内の浮動小数点デコーダ119に供給するように構成される。無効命令が連続した場合、浮動小数点データパス123に加え、浮動小数点デコーダ119と浮動小数点レジスタ121の消費電力が削減できる。
【選択図】 図1

Description

本発明は、マイクロプロセッサに関する。例えば、浮動小数点演算ユニット(FPU)又はディジタル信号処理プロセッサ(DSP)のように特定用途の専用回路を有するコプロセッサを有し、PDAやモバイルコンピュータのような電池駆動の携帯用電子機器において使用される低消費電力型マイクロプロセッサに適用して有用な技術に関する。更には、前記マイクロプロセッサを組み込んだマイクロプロセッサに適用して有用な技術に関する。
携帯用電子機器に搭載されるマイクロプロセッサは、演算の高速処理に加え、電池駆動において長時間の使用を可能とするべく低電力化を達成する必要がある。演算の高速処理を達成するためには、マイクロプロセッサに、FPUなどのコプロセッサを設ける技術などが知られている。
また、マイクロプロセッサの低電力技術としては以下が知られている。
まず、携帯用電子機器では待機時間が多いため、待機時用の低消費電力モードを用意し、待機時にはマイクロプロセッサを動作させるためのクロック周波数を下げる方法がある。具体的な構成としては、クロック周波数を下げるためのクロック分周器を有し、低消費電力モードが選択された際、マイクロプロセッサに前記分周器で分周された周波数を供給する。このことにより、クロック消費電力及び単位時間あたりのトランジスタのスイッチングによる電力が削減され、マイクロプロセッサの低消費電力化が達成される。
また、待機時にクロック周波数を下げる方法とは異なり、使用しないモジュールに供給するクロックを遮断する方法がある。例えば、ユーザーブレークコントローラは、プログラムのデバッグを容易にするための回路であるため、通常のプロセッサ動作時には動作していない。ユーザーブレークコントローラなど、通常時動作しないモジュールに対しては、通常時にクロックを遮断しても問題は生じない。クロックを遮断することは、前述した、供給するクロック周波数を下げる方法に比べて低電力化の効果が大きい。クロック遮断を行う具体的な構成としては、クロックの遮断を制御するための制御レジスタにモジュール単位で使用しないモジュールを設定しておき、低消費電力を実行するためのクロック停止命令を実行することにより、前記制御レジスタに設定されているモジュールのクロックを停止させる。この方法では、制御レジスタに設定されたモジュールの消費電力が0となる。制御レジスタに設定されたモジュールを使用する際は、割り込みにより所定のモジュールを復帰させ、クロックの供給を再開させる。しかし、モジュール毎にクロックの供給や遮断を行う方法は、制御レジスタに値を設定するなどのオーバーヘッドが大きくなり、モジュールの実行又は停止が頻繁に切り替わるモジュールには対しては適さない。
特開平8−101820号では、オペレーションを行う部分であるデータパスの電力削減のために、データパスでオペレーションが行われない場合、データパス部の内部回路の動作を停止させる制御信号NOP(No operation)信号を生成する方式が示されている。命令をデコードし、デコードの結果、データパス部でオペレーションが行われない命令であった場合、1ビットのNOP信号CC=1を出力する。NOP信号CC=1のとき、データパス制御信号用のラッチを更新しないようにし、制御信号を不変とする。また、データパスの入出力ラッチを更新しないようにし、入出力データを固定とする。このとき、入力データと制御信号が変化しないので、データパス部でスイッチングを行わないため低消費電力化が可能となる。
特開平8−101820号
上記に示した、データパス部の内部回路の動作を停止させる制御信号NOP信号を生成する方式は、以下の問題点を抱えている。
NOP信号生成方式は、データパスの電力削減が目的であるため、制御部のデコーダで消費する電力は削減されない。制御部のデコーダは、命令発行制御に加え、例外処理、制御信号生成論理等があり、そこで消費される電力は無視できない。
更に、電力削減回路は付加回路であることが望ましい。何故なら、例えば、IP(Intellectual Property)による機能部品をコプロセッサとして使用する場合、組み込むIPとしてのコプロセッサの内部に手を加えずに、組み込むIP部位以外に電力削減用の回路を付加するようにすれば、IP回路内部を変更する場合に対して検証工数が削減できる。
そこで、本発明の目的は、デコーダ等の制御部及びデータパス部の電力を削減し、かつ電力削減のための付加回路を設ける構成とすることで、低消費電力化と構成の容易化を図ったマイクロプロセッサを提供することである。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び図面から明らかになるであろう。
上記目的を達成するため、本発明の代表的な実施形態のマイクロプロセッサでは、命令が入力される判定回路と、前記判定回路によって制御される命令選択回路と、前記命令をデコードする命令デコーダと、前記命令デコーダのデコード結果に従い演算を行う演算回路とにより構成され、前記命令選択回路は、前記演算回路に演算を行わせるための命令とは異なる命令が前記判定回路に入力されたとき、前記命令デコーダに第1の命令を供給することを特徴とする。これにより、無関係な命令が入力されたとき、デコーダ内部におけるスイッチング回数が減少し、トランジスタのスイッチング回数が減少し、トランジスタの貫通電流が削減され、デコーダでの消費電力が削減される。
更に、本発明の別の代表的な実施形態のマイクロプロセッサでは、命令が入力される判定回路と、前記判定回路によって制御される命令無効化回路と、前記命令を受ける命令レジスタと、前記命令レジスタの出力をデコードする命令デコーダと、前記命令デコーダのデコード結果に従い演算を行う演算回路とにより構成され、前記命令無効化回路は、前記演算回路に演算を行わせるための命令とは異なる命令が前記判定回路に入力されたとき、前記命令レジスタに供給するクロックを停止させることを特徴とする。これにより、命令レジスタの動作が停止し、命令レジスタから命令デコーダへ命令が出力されない。つまり、上記と同様に、デコーダ内部のトランジスタの貫通電流が減少し、デコーダでの消費電力が削減される。
更に、本発明の他の代表的な実施形態のマイクロプロセッサでは、命令が入力される判定回路と、前記判定回路によって制御される命令無効化回路と、前記命令を受けるスイッチ回路と、前記スイッチ回路の出力をデコードする命令デコーダと、前記命令デコーダのデコード結果に従い演算を行う演算回路とにより構成され、前記命令無効化回路は、前記演算回路に演算を行わせるための命令とは異なる命令が前記判定回路に入力されたとき、前記スイッチ回路を開放し、前記命令デコーダに命令を供給することを停止させる特徴とする。これにより、上記と同様に命令デコーダでの消費電力の削減が可能となる。
以上説明したように、FPUを持つマイクロプロセッサにおいて、本発明の無効化回路によって、FPUと無関係な命令列を均一なNOP命令等に置き換えてFPUに供給する。これにより、FPUと無関係な命令の場合、NOP命令がFPUの命令デコーダに供給され、浮動小数点デコーダを構成しているトランジスタのスイッチング回数を削減し、消費電力の低減化が実現できる。同様に、コプロセッサを持つプロセッサにおいて、本発明の無効化回路によりコプロセッサの消費電力を低減できる。CPUにおいても、CPU命令デコーダの前段に命令無効化回路を備えることにより、CPUと無関係な命令、例えば浮動小数点演算命令をNOP命令に置き換えることができ、同様の理由で、CPUの命令デコーダで消費電力を削減できる。これらの命令無効化回路は、FPUあるいはコプロセッサの内部を変更する必要のない付加回路で構成することも可能である。新規設計の検証工数を削減するだけでなく、既存回路にも適用が可能である。
更に、上記マイクロプロセッサを携帯情報機器等のマイクロプロセッサシステムに組み込むことで、携帯電子機器等の低消費電力化が可能である。
以下、本発明の代表的な実施形態を図面を用いて説明する。
図1は、マイクロプロセッサとその周辺の構成を示している。マイクロプロセッサ101は一つの半導体基板上に形成されている。マイクロプロセッサはバスインタフェースユニット(BIU:Bus Interface Unit)6を介してデータバス4とアドレスバス5とに接続されている。データバス4とアドレスバス5とは、図ではメインメモリ3に接続されている。データバス及びアドレスバスには、メインメモリ以外の外部デバイスに接続される構成も可能であるが、本明細書では省略している。また、半導体装置の集積度の向上に伴い、データバス、アドレスバス及びメインメモリをマイクロプロセッサと同一の基板上に形成しても良い。
前記マイクロプロセッサは、前述したBIU6の他、データキャッシュ7、命令キャッシュ8、中央処理装置(CPU:Central Processing Unit)1、浮動小数点演算ユニット(FPU:Floating Point Unit)2及びクロックパルスジェネレータ(CPG:Clock Pulse Generator)18とを有する。マイクロプロセッサは、前記以外に、メモリを制御するためのDMAC(Direct Memory Access Controler)等を有することも可能であるが、本明細書及び図面では省略している。
マイクロプロセッサ内に形成されているFPUは、浮動小数点の演算を集中的に処理するためのコプロセッサである。但し、マイクロプロセッサ内に形成されるコプロセッサは、FPUに制限されることはなく、FPU以外、DSP等のように、CPUの処理を補完するための専用処理回路であればよい。更に、専用処理回路に限定されることも無く、複数CPUで構成されたマイクロプロセッサにおけるそれぞれのCPUであってもよい。本明細書では、複数のCPUで構成されたマイクロプロセッサにおけるCPUについても、本発明の趣旨を逸脱しない範囲で、コプロセッサと称することとする。また、図1では、CPUとコプロセッサであるFPUとは同一の半導体基板上に形成されていることになっているが、コプロセッサを別チップで構成することも可能である。コプロセッサを別チップで構成した場合、チップが複数となり実装効率は低下するが、CPUと同一基板上にコプロセッサを形成するための半導体装置の設計の必要が無く、既存のコプロセッサチップをCPUに接続することが可能となり生産が容易となる。本明細書では、便宜上、コプロセッサを別チップとした場合でも、CPUチップとコプロセッサチップとを併せてマイクロプロセッサと呼称するものとする。
メインメモリ3はプログラム及びデータを格納している。データバス4は、マイクロプロセッサとメモリ間で行われるデータ転送の経路となる。アドレスバス5は、マイクロプロセッサとメモリとがデータの転送を行う際、マイクロプロセッサからメモリ等へ、アドレスを転送する際の経路となる。BIU6はメインメモリや外部デバイスと間のアドレス及びデータ転送の制御を行う。データキャッシュ7は、マイクロプロセッサ内のCPU及びFPUで処理される或いは処理されたデータを格納する。命令キャッシュ8は、CPU及びFPUで実行される命令を格納する。CPG18は、CPU及びFPUの動作クロックを生成する。
以下、CPU1とFPU2の具体的な構成について示す。CPUは命令IAを受け取り、命令レジスタ10に命令を格納する。FPUも同様に、命令キャッシュから命令IAを受取、命令レジスタ11に命令を格納する。CPUの命令とFPUの命令とは、同一の命令キャッシュに記憶されている。命令キャッシュから出力される命令は、CPU側の命令レジスタとFPU側の命令レジスタとに並列に供給される。それぞれのレジスタへと分岐する方法については、分岐手段で行うことが可能である。単なる半導体基板上の金属やシリコン化合物で形成された配線をそれぞれ同じ幅で分岐するなどの方法があるが、特に制限されない。CPU命令レジスタ10及びFPU命令レジスタ11は、CPG18で生成されたCLK1の立上がりで変化するエッジトリガラッチである。但し、図面で示している如く、命令キャッシュとFPU側の命令レジスタとの間には、本発明の特徴である無効化回路9が形成されている。無効化回路については後述する。図面では、命令レジスタ10及び無効化回路とは命令キャッシュからの命令を受ける構成となっているが、特に制限されることなく、直接メインメモリから命令を受ける構成でも良い。更には、メインメモリ以外から命令を受ける構成であっても良い。
また、FPUの命令レジスタ11はCPU内に形成されているが、FPU内に形成してもよい。IPとして、FPUをCPUと同一の半導体基板上に形成する場合、或いは別チップとしてFPUをCPUに接続する場合において、組み込むFPUに命令レジスタが形成されているかされていないかによって異なる。また、無効化回路もCPU側に形成されているが、FPU以外のコプロセッサをCPUに接続した場合、或いは従前とは異なるFPUを接続した場合、無効化回路がCPU内にあれば、導入するFPUの内部回路の変更が不要となり、導入が容易となる。一方、FPUを提供することを考えると、提供するFPUに無効化回路があればCPU側の回路変更が不要となる。つまり、無効化回路をCPU或いはコプロセッサの何れに形成するかは、設計及び顧客との関係等により変更することが可能である。但し、無効化回路とレジスタとがFPU内に形成された場合、供給される命令はCPUを経由しないと言うことも可能だが、その場合についても、本明細書では便宜上、CPUを経由してFPUに供給される、と見なす。また、FPUがメモリから命令を受ける際、無効化回路を通してレジスタ11に命令がフェッチされる構成となっているが、無効化回路とレジスタ11の順序は逆であってもよい。但し、命令レジスタの前に無効化回路を設けることで有利な点はあるが、それについては後述する。前述した如く、CPUとFPUとの何れに無効化回路及びレジスタが形成されているかによってその構成は変更することが可能である。
CPU命令レジスタ10にフェッチされた命令はCPU内の整数デコーダ12に送られ、命令のデコードが行われる。整数デコーダ12は、整数レジスタ14のリード/ライト制御信号を出力する。また、整数デコーダ12の出力制御信号はラッチ手段13でラッチされ、演算を行うALU16に対して演算処理のための制御信号として出力される。又、CPUと無関係の命令例えば、NOP(No Operation)命令では、低消費電力のためALUの入力ラッチ15と出力ラッチ17とが更新されないよう制御される。具体的には、NOP命令が整数デコーダ12に入力された場合、整数デコーダ12は、ALUの入力ラッチ15、出力ラッチ17に対し、クロックイネーブル信号“0”(“0”はディスエーブルの意味)を出力し、クロックを停止することによりラッチ更新を防ぐ。一方、FPU命令レジスタ11にフェッチされた命令はCPUモジュールからFPUモジュールに送られ、浮動小数点デコーダ19によって命令のデコードが行われる。浮動小数点デコーダ19は、浮動小数点レジスタ21のリード/ライト制御信号CAを出力する。浮動小数点データや浮動小数点演算結果を保持する浮動小数点レジスタ21は、制御信号CAに従って、データInAがラッチ22に出力され、ラッチされる。ラッチ22にラッチされたデータは演算部である浮動小数点データパス23に入力される。また、浮動小数点デコーダ19より出力される制御信号は、ラッチ20にてラッチされ、ラッチ20は浮動小数点データパスの制御信号CBを出力する。ラッチ22と20とは、CPG18によって出力されるCLK2の立上がりで変化するエッジトリガラッチである。浮動小数点データパス23はラッチ22より出力される浮動小数点演算のためのデータを入力し、浮動小数点演算の結果としての出力OAは、ラッチ24にラッチされる。ラッチ24はCLK1の立上がりで変化するエッジトリガラッチである。ラッチ24の出力OBはレジスタに21入力され、演算結果がレジスタに書き込まれる。データパス入力ラッチ22とデータパス出力ラッチ24とはそれぞれ、ラッチのイネーブル信号EAまたはEBによってラッチの更新が制御される。ラッチのイネーブル信号EA、EBは、それぞれ浮動小数点デコーダ、浮動小数点デコーダラッチ出力から生成される。浮動小数点デコーダに入力される命令がNOP命令の場合は、デコードにより、EA=EB=0を出力し、クロック信号とのANDにより、浮動小数点データパス入出力ラッチへのクロック供給を停止する。NOP命令以外の場合は、EA=EB=1を出力し、浮動小数点データパス入出力ラッチのクロックは供給される。上述した整数デコーダ及び浮動小数点デコーダは、一般的には命令デコーダと呼ばれるデコーダである。命令デコーダとは、一般的には、命令レジスタからの命令を受け、演算器及び演算器に入力されたり演算器から出力するデータをラッチするラッチ回路等の装置を制御するための信号を生成するものである。
以下、本発明の特徴となる、上述したCPUモジュール内の無効化回路9についての説明を行う。命令キャッシュから読み出される命令は、上述した通り、CPU命令レジスタ10とにフェッチされると同時にFPUの命令無効化回路に入力される。その際、CPUに対してのみ関係する命令であり、FPUには無関係の命令が命令キャッシュから読み出された場合、無効化回路9はFPU命令レジスタに対してNOP命令を出力する。つまり、FPUに関係のない命令の場合、FPU命令レジスタにはNOP命令がフェッチされることとなる。FPUに無関係の命令が連続して命令キャッシュから送られてくる際、FPU命令レジスタには常にNOP命令がフェッチされる。それにより、FPUモジュールの浮動小数点デコーダ19は、FPUに無関係の命令がCPUで処理されている間、連続したNOP命令のデコードのみを行うこととなる。つまり、デコーダでのスイッチング動作が行われないため、スイッチングによる貫通電流が流れることなく、低消費電力化を達成できる。
更に、NOP命令では浮動小数点データパスの入力ラッチ22と出力ラッチ24が更新されないようラッチのイネーブル信号EA又はEBを用いて制御されるため、NOP命令が連続すると、デコードの制御信号CAとCBが一定となり、ラッチはスイッチングを行わない。また、データパスの入出力ラッチが更新されないため、データパスの入出力データInBとOBは不変となる。このとき、入力データと制御信号が変化しないので、データパス部でスイッチングを行わず、低消費電力化が可能となる。
図2では、図1の命令キャッシュからCPUに出力される命令コード列の一例を示している。図示された命令コード列を用いて浮動小数点命令レジスタに接続される命令無効化回路の動作を示す。図2の命令コード列では、整数命令(CPU命令)と浮動小数点演算命令(FPU命令)が混在している。命令キャッシュからは図示された如く、CPU命令とFPU命令とが混在した状態で順次CPUに送られてくる。上述した命令無効化回路は、命令キャッシュから送られてくる図2に示している命令コード列の中から、FPUに無関係な命令を無効NOP命令に置き換える。置き換えられた命令コード列を図3に示している。つまり、図1のCPU命令レジスタ10には図2に示されている命令コード列が入力され、図1のFPU命令レジスタ11には図3の命令コード列が入力されることとなる。図2の命令コード列の1番目、4番目のFPU命令はそのままFPU命令レジスタに出力され、他のCPU命令は均一なNOP命令に置き換えられFPU命令レジスタに出力される。
図4には、入力された命令を処理する命令無効化回路の具体的な構成例を示す。命令キャッシュから送られてくる命令のそれぞれが図示されている命令コードのフォーマットで記載されているとする。命令コード内の2つの斜線部分のそれぞれが、条件Aと条件Bとを同時に満たしている場合に、その命令がFPU命令であると仮定する。命令無効化回路に命令コード401が入力された場合、2つの斜線部分が条件A及び条件Bを満たしているか否かを比較器402、403で比較する。比較器出力をANDゲート404により論理和することで、入力された命令コード401がFPU命令であるか否かを判定する。条件A及び条件Bとが共に成立した時はセレクタ405で命令無効化回路に入力された命令コード401が選択され、命令無効化回路の出力としてFPU命令レジスタに出力される。条件A及び条件Bが成立しない時は、入力された命令がFPUには関係の無い命令と判断され、命令無効化回路はFPU命令レジスタに対してNOP命令を出力する。一方、命令フォーマットによっては、命令コードの1ビットの参照で、FPU命令かどうか判定できる場合がある。この場合は図4の比較器が不要であり、FPU命令であるか否かを示す1ビットをセレクタの制御信号とすることで、命令無効化回路が構成できる。命令を処理する無効化回路の構成については、マイクロプロセッサの命令コードの中の、FPUを制御する命令の形態によって拘束されることとなるが、本発明の趣旨を逸脱しない範囲で様々な変更例が考えられる。
ところで、本実施形態では、命令無効化回路が命令キャッシュと命令レジスタとの間に形成されているが、特に制限される訳ではない。例えば、命令無効化回路を浮動小数点デコーダの中に形成することも可能である。この場合、図1の無効化回路9は浮動小数点デコーダ19の中に形成されることとなる。この場合も無効化回路は、デコードに先立って、命令コード401の所定ビットをもとに、デコードに入力された命令がFPU命令か否かを判断し、入力された命令がFPU命令であれば入力された命令をデコードしてFPUでの演算を行う。一方、所定ビットにより、入力された命令がFPU命令では無いと判断した場合は、命令デコード手段に対してNOP命令を出力する。
図5にタイミングチャートを用いて、図1の命令無効化回路による浮動小数点演算ユニットの電力削減機構を示す。命令キャッシュからフェッチされる命令列は図2と同一とする。まず、浮動小数点命令での動作を説明する。浮動小数点無効化回路の入力をIA、出力をIBとする。無効化回路によって、CPU命令はNOP命令に置き換えられ、FPU命令はそのまま出力されるので、IBは図3と同じ命令列となる。FPU命令レジスタ11はIBを入力とし、命令コードICを出力する。ICがFPU1命令のとき(time=3:図5の3)、浮動小数点デコーダ19は、浮動小数点レジスタ、浮動小数点データパス回路でFPU1演算を行うようtime=3で制御信号CAとしてFPU1命令用制御信号fpu_cont1を出力する。制御信号CAがfpu_cont1のとき、time=3で浮動小数点レジスタ21から入力データinput1が読み出され、ラッチ22に出力される。また、浮動小数点データパス制御信号CBは、制御信号ラッチ20でラッチされた後、FPU1命令用制御信号fpu_cont1が出力される。浮動小数点のデータパスの入力ラッチ22のイネーブル信号EA=1と出力ラッチ24のイネーブル信号EB=1となることから、time=4で入力InBがinput1で、浮動小数点データパス回路でFPU1演算が行なわれ、出力ラッチ24で結果output1をラッチし、time=5でOBとして出力する。
次に、FPUにおけるCPU命令での動作を説明する。浮動小数点無効化回路の入力をIA、出力をIBとすると、図3と同様にIBではCPU命令がNOP命令に置き換わる。浮動小数点命令レジスタ11はIBを入力とし、命令コードICを出力する。ICがNOP命令のとき(time=5)、浮動小数点デコーダ19は制御信号CAとして、演算を行なわない制御信号cont_NOPをtime=5で出力する。制御信号CAにより浮動小数点レジスタファイル21からInAが読み出され、ラッチ22の入力となる。制御信号CAがcont_NOPのとき、NOP命令の命令コードからレジスタ値が読み出され、入力値はinput_NOPとなる。浮動小数点データパスの入力ラッチ22のクロック信号はCPGからのCLK2とイネーブル信号EAとのANDとなり、演算に無関係なラッチは更新されない。NOP命令の場合は制御信号CAがcont_NOPでEA =0となり、ラッチ22出力すなわちInBは更新されない。
つまり、NOP命令の場合(time=6〜9)、ラッチ22の出力InBは、FPU1命令と同じくinput1である。ラッチ20は常に更新されるため、浮動小数点データパス制御信号CBは、NOP命令の場合cont_NOPを出力する。浮動小数点データパス回路23は入力はInB、制御信号はCBなので、入力はinput1であり、time=4のFPU1命令と共通であるが、制御信号がfpu_cont1からcont_NOPと異なるため、出力OAはtime=6〜9でoutput1*となる。浮動小数点データパスの出力ラッチ24のクロック信号はCLK1とイネーブル信号EBとのANDなので、浮動小数点データパス入力ラッチ22と同様に、演算に無関係なラッチは更新されない。NOP命令中は、time=6〜9でEB=0で更新されずラッチ24の出力OBはoutput1で不変である。
以上のようにCPU命令が連続すると、無効化回路で連続するNOP命令に置き換えられ、浮動小数点データパス入力InBとデータパス制御信号CBが一定となり、データパス回路のスイッチングが行なわれない。また、浮動小数点デコーダ入力ICが一定となり、浮動小数点デコーダと浮動小数点レジスタのスイッチングが行なわれない。このため、データパス回路、浮動小数点デコーダと浮動小数点レジスタの消費電力を削減することができる。FPU命令とCPU命令が交互に並ぶ場合でも、浮動小数点データパス入出力ラッチ22、24のスイッチング回数が減少し、消費電力が削減される。
本発明の命令無効化回路は、命令レジスタの前段に置けばよく、FPUの内部を変更することがない。
図6には、本発明の別の実施形態を示している。ここでの実施形態では、命令無効化回路を図1のデコード方式に換えて、無効制御レジスタによる構成としている。具体的には、浮動小数点演算ユニット(FPU:Floating Point Unit)を持つマイクロプロセッサについて、無効制御レジスタを用いた命令無効化回路による浮動小数点演算ユニットの電力削減機構の構成をとっている。図6に示す実施例の特徴とするところは、図1に示す構成に対して、モジュール単位で有効/無効を決定する無効制御レジスタを備え、無効化回路を制御することにある。無効制御レジスタ51に無効(1)と設定されたモジュールの命令コード無効化回路9をアクティブにする。無効制御レジスタをソフトウェアで書き換えられるようにすれば、ソフトウェアでモジュール単位で命令コード無効化を設定できる。図1の実施形態と図6の実施形態との相違点は、図1の実施形態がFPUモジュールに無関係な命令を検出し、モジュールに無関係な命令をNOP命令に置き換え、命令レジスタの入力とするのに対し、図6の実施形態では、無効制御レジスタに無効と設定されたモジュールは命令コードを無条件にNOP命令に置き換え、命令レジスタの入力とすることである。
図7には、図6の実施形態の命令無効化回路の構成例を示す。命令キャッシュより命令コード702を入力、無効制御レジスタ701出力をセレクタ制御信号とし、無効制御レジスタでモジュールが無効(1)と設定された場合、セレクタ703でNOP命令が選択され、モジュールが有効(0)と設定された場合、命令コードが選択され、命令無効化回路出力704となる。他の回路構成は図1と同様であり、タイミングチャートは図5と同様である。図6の実施形態は、図1の実施形態に対し、命令無効化回路は簡易となるが、無効命令レジスタを変更するためのオーバーヘッドが増加する。もちろん、図6の実施形態と図1の実施形態とを組み合わせた構成とすることも可能である。具体的には、無効制御レジスタでモジュールを無効と設定した場合は、図6の実施形態の如く、無条件にNOP命令を対象のモジュールに出力する。一方、無効制御レジスタでモジュールを有効と設定した場合も、図1の実施形態の如く、対象となるモジュールに関係のない命令に関してはNOP命令を対象となるモジュールに出力する。この構成であれば回路構成は複雑となるが、きめの細かい低消費電力制御が可能となる。
図8には、本発明の第三の実施形態として、コプロセッサ71を持つマイクロプロセッサを示している。図8に示す実施例の特徴とするところは、図1に対して、CPUモジュール内にコプロセッサ用デコーダ19を備えていることである。無効化回路は、コプロセッサ71と無関係な命令をNOP命令に置き換え、コプロセッサ用のデコーダに出力する。コプロセッサに関係の無い命令、つまりNOP命令が連続することで、デコーダの消費電力は削減される。更に、コプロセッサ回路62の制御信号を一定とし、コプロセッサのラッチ61を更新しないことで、ラッチ61のスイッチング回数が減少し、電力を削減することも可能である。コプロセッサ用無効化回路は図4と同様に構成できる。本実施形態は、コプロセッサモジュールの中に命令のデコーダを設けていないため、IPとしてコプロセッサを導入する際、第1の実施形態に比べて、IPの選択の幅が広がる。
図9には本発明の第四の実施例を示す。図9に示す実施例の特徴とするところは、コプロセッサ71を持つ図8のマイクロプロセッサに対して、モジュール単位で有効/無効を決定する無効制御レジスタを備え、無効化回路を制御することである。無効化回路は図7と同様に構成できる。図8に対して命令無効化回路は簡易となるが、無効命令レジスタを変更するためのオーバーヘッドが増加する。
図10には別の実施形態を示している。上述した何れの実施形態においても、無効化回路は、NOP命令を出力するとしているが、命令としてのNOP命令でなくても可能である。具体的には、レジスタ11に供給されるクロックを停止させることで達成することも可能である。NOP命令を出力する代わりに、レジスタ11のクロック供給を停止したとしても、デコーダに供給される命令は変化しなくなる。つまり、無効化回路に入力された命令がFPUに無関係な命令であった場合、制御回路に対して制御信号を出力する。制御回路は、前記制御信号が入力されることで、レジスタ11に供給されるクロックを停止する。それにより、デコーダに供給される命令は固定され、デコーダ内でのスイッチング回数は減少し、デコーダでの消費電力は削減される。その際、NOP命令がデコーダに入力された場合にはクロックの供給が停止されるレジスタ20,22,24に対して、NOP命令がデコーダに供給されたのと同じ状態にするため、レジスタ20,22,24に供給するクロックを停止させることも可能である。これにより、レジスタ20,22,24での消費電力の低減が可能となる。制御回路は、CPG18とレジスタ及び各ラッチとの間に設けられている。制御回路は、FPUモジュール側に設けているが、勿論CPU側に設けることも可能である。
更に、図示はしていないが、更なる実施形態も可能である。例えば、FPUとは無関係な命令がFPUに入力された場合、デコーダに供給する命令を遮断することも可能である。具体的には、デコーダの前段に遮断回路を設け、FPUとは無関係な命令が無効化回路に入力された場合、遮断回路によりデコーダとレジスタ或いはレジスタと無効化回路とを開放する方法も考えられる。この方法だと、より確実にデコーダの動作を停止させることが可能となる。更に、前記遮断回路を命令レジスタの手前に設けることで、命令レジスタでの消費電力も削減できる。
また、本実施形態では、命令の一つとしてのNOP命令に特筆しているが、命令としてのNOPに特定される訳ではない。例えば、FPU命令とは無関係な命令が無効化回路に入力された場合、選択手段により、全てが“1”のコードをデコーダに供給することも可能である。この場合も、デコーダでのスイッチング回数は削減され、デコーダでの消費電力低減が可能となる。勿論、“1”以外に“0”も可能であるし、その他の特定のコードでも可能である。また、FPUの命令コードを参照して、FPU以外の命令が入力された場合にデコードを固定する際、スイッチング回数が最も削減されるコードをシミュレーション等で計算し、そのコードを無効化回路によってデコーダに供給することも可能である。この方だと、デコーダでの電力削減効果がより大きくなる。
上述した実施形態においては、命令無効化回路をコプロセッサのデコーダ前、具体的にはFPUモジュール側に設けているが、無効化回路をCPU側のデコーダの前段に設けることも可能である。これにより、CPUに無関係の命令つまりコプロセッサ命令によりコプロセッサが処理している間、CPU命令レジスタに対してNOP命令を供給することが可能となり、CPUの整数デコーダでのスイッチング回数を削減でき、CPUの消費電力削減を実現することも可能となる。併せて、CPU側のデータパスのラッチを固定することで一層の電力削減効果が期待できる。また、上述の方法とコプロセッサのデコーダのデコードを停止させる方法とを組み合わせることで更なる電力削減が可能となる。また、複数のCPUと複数のコプロセッサとの組合せにより構成されたマイクロプロセッサにおいて、複数存在する命令デコーダに、本発明の無効化回路を設けることで、それぞれの処理装置の電力削減が可能となり、全体としての電力削減が達成できる。また、単一のCPUについても本発明を応用することは可能である。
また、本実施形態では、NOP命令等が連続することで、デコーダでのスイッチングを停止させることを記載しているが、処理装置に無関係な命令が入力される場合に比べてスイッチングの回数が減少する場合も含むものである。演算器に関係の無い命令が連続して無効化回路に入力された場合、一つ目の命令をNOP1命令へ、2つ目の命令をNOP2命令へ、3つ目の命令をNOP3へと変換し、4つ目の命令を再びNOP1命令へと変換させる等の方法により、デコーダの少しのトランジスタを動作させたとしても、それらの命令により、無関係な命令がデコーダに入力され場合に比べて電力削減の効果が期待できる。つまり、前述した命令も、実質的に本明細書で記すNOP命令であると考えられる。勿論、前述したNOP命令に準ずる“1”、“0”或いは、コプロセッサの命令を基に決定された命令などの固定された命令についても同じである。
以上、本発明の具体的な実施形態を述べてきたが、それらに制限される訳ではない。デコーダでの電力削減との本発明の思想を逸脱しない範囲で様々な実施形態が考えられる。
更に、上記に示したマイクロプロセッサを、携帯電話やPDA、モバイルコンピュータなどの、電池で駆動される場面のある携帯電子機器に搭載することで、携帯電子機器の消費電力が低減され、電池の使用可能時間が延び、携帯電子機器の利便性が向上する。
本発明の第一の実施例を示す低電力マイクロプロセッサの構成図である。 本発明の無効化回路の入力となる命令列を示す図である。 本発明の無効化回路の出力となる命令列を示す図である。 本発明の無効化回路の構成図である。 図1に示す構成のタイミングチャート図である。 本発明の第二の実施例に係わる無効制御レジスタを用いた無効化回路を有する低電力マイクロプロセッサの構成図である。 本発明の無効制御レジスタを用いた無効化回路の構成図である。 本発明の第三の実施例に係わる無効化回路を有する低電力マイクロプロセッサの構成図である。 本発明の第四の実施例に係わる無効制御レジスタを用いた無効化回路を有する低電力マイクロプロセッサの構成図である。 本発明の第5の実施例に係わる無効化回路を有する低電力マイクロプロセッサの構成図である。
符号の説明
101:マイクロプロセッサ
1:CPU、2:FPU
3:メインメモリ、4:データバス、5:アドレスバス、6:BIU
7:データキャッシュ、8:命令キャッシュ
9:命令無効化回路
10:CPU用命令レジスタ、11:FPU用命令レジスタ
12:整数デコーダ、13:整数デコーダ用ラッチ、
14:整数レジスタファイル、15:ALU入力ラッチ、16:ALU
17:ALU出力ラッチ
18:CPG
19:浮動小数点デコーダ
20:浮動小数点デコーダ用ラッチ、21:浮動小数点レジスタファイル
22:浮動小数点データパス入力ラッチ
23:浮動小数点データパス回路
24:浮動小数点データパス出力ラッチ
51, 701:無効制御レジスタ
61:コプロセッサ用ラッチ
62:コプロセッサ回路
71:コプロセッサ
401, 702:命令コード
402, 403:比較器
404 :ANDゲート
405, 703:2入力セレクタ
406, 704:無効化回路出力。

Claims (62)

  1. 命令処理回路と、
    前記命令処理回路の出力をデコードする命令デコーダと、
    前記命令デコーダのデコード結果に従い演算を行う演算器とを有し、
    前記命令処理回路は、入力された命令が所定命令の場合、前記入力された命令を前記命令デコーダに出力し、入力された命令が前記所定命令以外の命令の場合、前記入力された命令とは異なる第1の命令を前記命令デコーダに出力することを特徴とするマイクロプロセッサ。
  2. 前記命令処理回路は、命令判定回路と命令選択回路とを有し、
    前記命令判定回路は、前記命令処理回路に入力された命令が前記所定命令であるか否かを判定し、
    前記命令選択回路は、前記判定の結果に基づき、前記入力された命令か前記第1の命令かの何れかを選択して前記命令デコーダに出力することを特徴とする請求項1記載のマイクロプロセッサ。
  3. 前記所定命令は、前記演算器に演算を行わせるための命令であることを特徴とする請求項1または2記載のマイクロプロセッサ。
  4. 前記第1の命令は、NOP命令であることを特徴とする請求項1乃至3記載のマイクロプロセッサ。
  5. 前記第1の命令は特定のコードの命令であることを特徴とする請求項1乃至3記載のマイクロプロセッサ。
  6. 前記演算器は、特定演算回路の演算器であることを特徴とする請求項1乃至5記載のマイクロプロセッサ。
  7. 前記特定演算回路はFPUであることを特徴とする請求項6記載のマイクロプロセッサ。
  8. 前記演算器は、第1のラッチに格納されたデータの演算を行い、演算結果を第2のラッチに出力し、
    前記命令デコーダに前記第1の命令が入力されたとき、前記第1のラッチと前記第2のラッチとに対して供給されるクロックが停止させることを特徴とする請求項1乃至7記載のマイクロプロセッサ。
  9. 前記マイクロプロセッサは、更に、命令を受ける第2のレジスタと、
    前記第2のレジスタに接続された第2の命令デコーダと、
    前記第2の命令デコーダの出力によって制御される第2の演算器とを有し、
    前記命令処理回路に供給される命令と前記第2のレジスタとに入力される命令とは同じ命令であることを特徴とする請求項1乃至8記載のマイクロプロセッサ。
  10. 前記マイクロプロセッサは、同一の半導体基板上に形成されていることを特徴とする請求項1乃至9記載のマイクロプロセッサ。
  11. 命令が入力される命令処理回路と、
    前記命令処理回路の出力を受ける命令レジスタと、
    前記命令レジスタの出力をデコードする命令デコーダと、
    前記命令デコーダのデコード結果に従い演算を行う演算器とを有し、
    前記命令処理回路は、入力された命令が所定命令以外の場合、前記命令レジスタに供給するクロックを停止させることを特徴とするマイクロプロセッサ。
  12. 前記命令処理回路は、命令判定回路と、クロックが供給されてクロックを前記命令レジスタに供給する制御回路とを有し、
    前記命令判定回路は、前記命令処理回路に入力された命令が前記所定命令であるか否かを判定し、前記判定の結果を前記制御回路に出力し、
    前記制御回路は、前記判定の結果に基づき、前記入力された命令が前記所定命令以外の命令の場合、前記命令レジスタに供給するクロックを停止させることを特徴とする請求項11記載のマイクロプロセッサ。
  13. 前記命令処理回路は、命令判定手段と制御手段とを有し、
    前記命令判定手段は、前記命令処理回路に入力された命令が前記所定命令であるか否かを判定し、前記判定の結果を前記制御手段に出力し、
    前記制御手段は、前記判定の結果に基づき、前記入力された命令が前記所定命令以外の命令の場合、前記命令レジスタに供給するクロックを停止させることを特徴とする請求項11記載のマイクロプロセッサ。
  14. 前記所定命令は、前記演算器に演算を行わせるための命令であることを特徴とする請求項11乃至13記載のマイクロプロセッサ。
  15. 前記演算器は、特定演算回路の演算器であることを特徴とする請求項11乃至14記載のマイクロプロセッサ。
  16. 前記演算器は、第1のラッチに格納されたデータの演算を行い、演算結果を第2のラッチに出力し、
    前記命令処理回路に入力された命令が、前記所定命令以外の場合、前記第1のラッチと前記第2のラッチとに対して供給されるクロックが停止させることを特徴とする請求項11乃至15記載のマイクロプロセッサ。
  17. 前記マイクロプロセッサは、更に、命令を受ける第2のレジスタと、
    前記第2のレジスタに接続された第2の命令デコーダと、
    前記第2の命令デコーダの出力によって制御される第2の演算器とを有し、
    前記命令処理回路に供給される命令と前記第2のレジスタとに入力される命令とは同じ命令であることを特徴とする請求項11乃至16記載のマイクロプロセッサ。
  18. 前記マイクロプロセッサは、同一の半導体基板上に形成されていることを特徴とする請求項11乃至17記載のマイクロプロセッサ。
  19. 命令処理回路と、
    前記命令処理回路の出力をデコードする命令デコーダと、
    前記命令デコーダのデコード結果に従い演算を行う演算器とを有し、
    前記命令処理回路は、入力された命令が所定命令以外の場合、前記入力された命令を前記命令デコーダに供給しないことを特徴とするマイクロプロセッサ。
  20. 前記命令処理回路は、命令判定回路とスイッチ回路とを有し、
    前記命令判定回路は、前記命令処理回路に入力された命令が前記所定命令であるか否かを判定して前記判定の結果を前記スイッチ回路に出力し、
    前記スイッチ回路は、前記判定の結果に基づき、前記入力された命令が前記所定命令以外の命令の場合、前記命令判定回路と前記命令デコーダとの接続を開放させることを特徴とする請求項19記載のマイクロプロセッサ。
  21. 前記所定命令は、前記演算器に演算を行わせるための命令であることを特徴とする請求項19または20記載のマイクロプロセッサ。
  22. 前記演算器は、特定演算回路の演算器であることを特徴とする請求項19乃至21記載のマイクロプロセッサ。
  23. 前記特定演算回路はFPUであることを特徴とする請求項22記載のマイクロプロセッサ。
  24. 前記演算器は、第1のラッチに格納されたデータの演算を行い、演算結果を第2のラッチに出力し、
    前記命令処理回路に入力された命令が、前記所定命令以外の場合、前記第1のラッチと前記第2のラッチとに対して供給されるクロックが停止させることを特徴とする請求項19乃至23記載のマイクロプロセッサ。
  25. 前記マイクロプロセッサは、更に、命令を受ける第2のレジスタと、
    前記第2のレジスタに接続された第2の命令デコーダと、
    前記第2の命令デコーダの出力によって制御される第2の演算器とを有し、
    前記命令処理回路に供給される命令と前記第2のレジスタとに入力される命令とは同じ命令であることを特徴とする請求項19乃至24記載のマイクロプロセッサ。
  26. 前記マイクロプロセッサは、同一の半導体基板上に形成されていることを特徴とする請求項19乃至25記載のマイクロプロセッサ。
  27. メモリからの命令が入力される命令処理回路と、
    前記命令処理回路の出力をデコードする第1のデコーダと、
    前記第1のデコーダのデコード結果に従い演算を行う第1の演算器と、
    前記命令処理回路の出力をデコードする第2のデコーダと、
    前記第2のデコーダのデコード結果に従い演算を行う第2の演算器とを有し、
    前記命令処理回路に入力された命令が第2の演算器に演算を行わせる命令でない場合、前記第2のデコーダの消費電力を前記第1のデコーダの消費電力に対して低減させることを特徴とするマイクロプロセッサ。
  28. 前記命令処理回路は、前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記第2のデコーダに対して、前記入力された命令とは異なる命令を出力することを特徴とする請求項27記載のマイクロプロセッサ。
  29. 前記異なる命令とは、NOP命令であることを特徴とする請求項28記載のマイクロプロセッサ。
  30. 前記マイクロプロセッサは、前記命令処理回路と前記第2のデコーダとの間に命令レジスタを有し、
    前記命令処理回路は、前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記命令レジスタに供給するクロックを停止することを特徴とする請求項27記載のマイクロプロセッサ。
  31. 前記マイクロプロセッサは、前記命令処理回路と前記第2のデコーダとの間にスイッチ回路を有し、
    前記命令処理回路は、前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記スイッチ回路を制御し、前記命令処理回路と前記第2のデコーダとの接続を解除することを特徴とする請求項27記載のマイクロプロセッサ。
  32. 命令処理回路と、
    前記命令処理回路の出力をデコードする第1のデコーダと、
    前記第1のデコーダのデコード結果に従い演算を行う第1の演算器と、
    前記命令処理回路の出力をデコードする第2のデコーダと、
    前記第2のデコーダのデコード結果に従い演算を行う第2の演算器とを有し、
    前記命令処理回路は、前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記第2のデコーダに対して、前記入力された命令とは異なる命令を出力することを特徴とするマイクロプロセッサ。
  33. 前記異なる命令は、NOP命令であることを特徴とする請求項32記載のマイクロプロセッサ。
  34. 前記第1の演算器はALUであり、第2の演算器は特定演算回路の演算器であることを特徴とする請求項32または33記載のマイクロプロセッサ。
  35. 前記特定演算回路は、FPUであることを特徴とする請求項34記載のマイクロプロセッサ。
  36. 前記第2の演算器は、第1のラッチに格納されたデータの演算を行い、演算結果を第2のラッチに出力し、
    前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記第1のラッチと前記第2のラッチとに対して供給されるクロックが停止させることを特徴とする請求項32乃至35記載のマイクロプロセッサ。
  37. 前記命令処理回路は、前記命令処理回路に入力された命令が前記第1の演算器に演算を行わせる命令でない場合、前記第1のデコーダに対して、前記入力された命令を出力しないことを特徴とする請求項32乃至36記載のマイクロプロセッサ。
  38. 前記マイクロプロセッサは、同一の半導体基板上に形成されていることを特徴とする請求項32乃至37記載のマイクロプロセッサ。
  39. 命令処理回路と、
    前記命令処理回路の出力をデコードする第1のデコーダと、
    前記第1のデコーダのデコード結果に従い演算を行う第1の演算器と、
    前記命令処理回路の出力をデコードする第2のデコーダと、
    前記第2のデコーダのデコード結果に従い演算を行う第2の演算器とを有し、
    前記命令処理回路は、前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記第2のデコーダに対して、前記入力された命令を出力しないことを特徴とするマイクロプロセッサ。
  40. 前記命令処理回路は、前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記第2のデコーダに対して、前記入力された命令とは異なる命令を前記第2のデコーダに供給することを特徴とする請求項39記載のマイクロプロセッサ。
  41. 前記マイクロプロセッサは、更に、前記命令処理回路の出力が入力され、その出力が前記第2のデコーダに入力される命令レジスタを有し、
    前記命令処理回路は、更に、制御回路を有し、
    前記制御回路は、前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記命令レジスタに供給するクロックを停止させることを特徴とする請求項39記載のマイクロプロセッサ。
  42. 前記マイクロプロセッサは、更に、前記命令処理回路の出力が入力され、その出力が前記第2のデコーダに入力されるスイッチ回路を有し、
    前記命令処理回路は、更に、制御回路を有し、
    前記制御回路は、前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記スイッチ回路を制御して、前記命令処理回路と前記第2のデコーダとの接続を開放させることを特徴とする請求項39記載のマイクロプロセッサ。
  43. 前記第1の演算器はALUであり、第2の演算器は特定演算回路の演算器であることを特徴とする請求項39乃至42記載のマイクロプロセッサ。
  44. 前記特定演算回路は、FPUであることを特徴とする請求項43記載のマイクロプロセッサ。
  45. 前記第2の演算器は、第1のラッチに格納されたデータの演算を行い、演算結果を第2のラッチに出力し、
    前記命令処理回路に入力された命令が前記第2の演算器に演算を行わせる命令でない場合、前記第1のラッチと前記第2のラッチとに対して供給されるクロックが停止させることを特徴とする請求項39乃至44記載のマイクロプロセッサ。
  46. 前記命令処理回路は、前記命令処理回路に入力された命令が前記第1の演算器に演算を行わせる命令でない場合、前記第1のデコーダに対して、前記入力された命令を出力するしないことを特徴とする請求項39乃至45記載のマイクロプロセッサ。
  47. 前記マイクロプロセッサは、同一の半導体基板上に形成されていることを特徴とする請求項39乃至46記載のマイクロプロセッサ。
  48. 命令処理手段と、
    前記命令処理手段の出力をデコードする第1のデコード手段と、
    前記第1のデコード手段のデコード結果に従い演算を行う演算器とを有し、
    前記命令処理手段は、入力された命令が所定命令以外の場合、前記入力された命令を前記第1のデコード手段に供給しないことを特徴とするマイクロプロセッサ。
  49. 前記所定命令は、特定演算回路の演算器に演算を行わせるための命令であることを特徴とする請求項48記載のマイクロプロセッサ。
  50. 前記演算器は、第1のラッチに格納されたデータの演算を行い、演算結果を第2のラッチに出力し、
    前記命令処理手段に入力された命令が、前記所定命令以外の場合、前記第1のラッチと前記第2のラッチとに対して供給されるクロックが停止させることを特徴とする請求項48または49記載のマイクロプロセッサ。
  51. 前記マイクロプロセッサは、更に、命令を受ける第2のレジスタと、
    前記第2のレジスタに接続された第2のデコード手段と、
    前記第2のデコード手段の出力によって制御される第2の演算器とを有し、
    前記命令処理回路に供給される命令と前記第2のレジスタとに入力される命令とは同じ命令であることを特徴とする請求項48乃至50記載のマイクロプロセッサ。
  52. 命令が入力される命令処理回路と、
    前記命令処理回路の出力が入力される命令デコーダと、
    前記命令デコーダのデコード結果に従って演算を行う演算器とを有し、
    前記命令処理回路は、入力された命令とは異なる第1の命令か前記入力された命令かの何れかを選択して出力する選択回路と、前記入力された命令の所定ビットが入力される判定回路とを有し、
    前記判定回路は、前記所定ビットが第1の状態であった場合、前記選択回路を制御して前記第1の命令を前記命令デコーダに出力し、
    前記判定回路は、前記所定ビットが第1の状態でなかった場合、前記選択回路を制御して前記入力された命令を前記命令デコーダに出力することを特徴とするマイクロプロセッサ。
  53. 命令が入力される命令処理回路と、
    前記命令処理回路の出力が入力される命令デコーダと、
    前記命令デコーダのデコード結果に従って演算を行う演算器とを有し、
    前記命令処理回路は、入力された命令とは異なる第1の命令か前記入力された命令かの何れかを選択して出力する選択回路と、制御レジスタとを有し、
    前記制御レジスタの所定ビットが第1の状態であった場合、前記選択回路を制御して前記第1の命令を前記命令デコーダに出力し、
    前記制御レジスタの所定ビットが第1の状態でなかった場合、前記選択回路を制御して前記入力された命令を前記命令デコーダに出力することを特徴とするマイクロプロセッサ。
  54. 前記第1の命令は、NOP命令であることを特徴とする請求項52または53記載のマイクロプロセッサ。
  55. 前記第1の命令は特定のコードを有する命令であることを特徴とする請求項52または53記載のマイクロプロセッサ。
  56. 前記演算器は、特定演算回路の演算器であることを特徴とする請求項52乃至55記載のマイクロプロセッサ。
  57. 命令が入力される命令処理回路と、
    前記命令処理回路の出力が入力される命令デコーダと、
    前記命令デコーダのデコード結果に従って演算を行う演算器とを有し、
    前記命令処理回路は、前記入力された命令の所定ビットが入力される判定回路と、前記判定回路の出力を受ける制御回路とを有し、
    前記判定回路は、前記所定ビットが第1の状態であった場合、前記制御回路を制御して前記命令デコーダの動作を停止させることを特徴とするマイクロプロセッサ。
  58. クロック制御回路と、
    命令が入力される命令処理回路と、
    前記命令処理回路の出力が入力される命令レジスタと、
    前記命令レジスタの出力が入力される命令デコーダと、
    前記命令デコーダのデコード結果に従って演算を行う演算器とを有し、
    前記命令処理回路は、前記入力された命令の所定ビットが入力される判定回路と、前記クロック制御回路の出力と前記命令レジスタとに接続されて前記判定回路の出力を受けるスイッチ回路とを有し、
    前記判定回路は、前記所定ビットが第1の状態であった場合、前記スイッチ回路を制御して前記命令レジスタへのクロック供給を停止させることを特徴とするマイクロプロセッサ。
  59. 命令が入力される命令処理回路と、
    前記命令処理回路の出力が入力されるスイッチ回路と、
    前記スイッチ回路の出力が入力される命令デコーダと、
    前記命令デコーダのデコード結果に従って演算を行う演算器とを有し、
    前記命令処理回路は、前記入力された命令の所定ビットが入力される判定回路を有し、
    前記判定回路は、前記所定ビットが第1の状態であった場合、前記スイッチ回路を制御して前記命令処理回路と命令デコーダとの接続を開放することを特徴とするマイクロプロセッサ。
  60. 前記演算器は、特定演算回路の演算器であることを特徴とする請求項57乃至59記載のマイクロプロセッサ。
  61. 請求項19乃至26記載のマイクロプロセッサを搭載したことを特徴とする電池での動作が可能な携帯電子機器。
  62. 請求項39乃至47記載のマイクロプロセッサを搭載したことを特徴とする電池での動作が可能な携帯電子機器。
JP2005168976A 2005-06-09 2005-06-09 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム Expired - Fee Related JP3906865B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005168976A JP3906865B2 (ja) 2005-06-09 2005-06-09 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005168976A JP3906865B2 (ja) 2005-06-09 2005-06-09 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP19540999A Division JP3705022B2 (ja) 1999-07-09 1999-07-09 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム

Publications (3)

Publication Number Publication Date
JP2005322266A true JP2005322266A (ja) 2005-11-17
JP2005322266A5 JP2005322266A5 (ja) 2006-01-05
JP3906865B2 JP3906865B2 (ja) 2007-04-18

Family

ID=35469450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005168976A Expired - Fee Related JP3906865B2 (ja) 2005-06-09 2005-06-09 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム

Country Status (1)

Country Link
JP (1) JP3906865B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100961632B1 (ko) * 2008-10-27 2010-06-09 고려대학교 산학협력단 패치 엔진

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100961632B1 (ko) * 2008-10-27 2010-06-09 고려대학교 산학협력단 패치 엔진

Also Published As

Publication number Publication date
JP3906865B2 (ja) 2007-04-18

Similar Documents

Publication Publication Date Title
US7178046B2 (en) Halting clock signals to input and result latches in processing path upon fetching of instruction not supported
TWI516909B (zh) 包括在裝置中自主的硬體式深度省電之能源效率及能源節約的方法、設備及系統
US10156884B2 (en) Local power gate (LPG) interfaces for power-aware operations
US20200334197A1 (en) Low Energy Accelerator Processor Architecture with Short Parallel Instruction Word
JP2011039982A (ja) プロセッサ
EP2829977B1 (en) Restricting clock signal delivery based on activity in a processor
JP2001202155A (ja) 低消費電力処理装置
JP2008542949A (ja) パイプライン型マイクロプロセッサの節電システムおよび節電方法
JP3906865B2 (ja) 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム
US7263621B2 (en) System for reducing power consumption in a microprocessor having multiple instruction decoders that are coupled to selectors receiving their own output as feedback
JP4800582B2 (ja) 演算処理装置
JP7495422B2 (ja) 適応的な相互接続ルーティングのためのシステム、装置及び方法
JP4764387B2 (ja) 半導体装置
JP3459821B2 (ja) マイクロプロセッサ
US7290153B2 (en) System, method, and apparatus for reducing power consumption in a microprocessor
JP5414323B2 (ja) 半導体集積回路装置
JP3729142B2 (ja) 並列演算処理装置
US20220011811A1 (en) Flexible instruction set architecture supporting varying frequencies
JP2009048264A (ja) 半導体集積回路装置
Lotfi-Kamran et al. Stall power reduction in pipelined architecture processors
Multanen et al. Power optimizations for transport triggered SIMD processors
CN115858015A (zh) 基于核心的推测性页故障列表
KR20090016643A (ko) 비동기적 절전형 컴퓨터
Irie Processor Core and Low-Power SOC Design for Embedded Systems
JP2004152321A (ja) データ処理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051014

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051014

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060704

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061117

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: 20061226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140126

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees