(57)【特許請求の範囲】
【請求項１】
複数の命令コードをデコード手段によりデコードし、デコードにより得られた複数の制御信号を用いて動作するプロセッサであって、
前記デコード手段が、前記各々の制御信号に対応づけた、当該制御信号を変化させる必要がないことを示す保持信号を出力する手段を有し、
前記保持信号が出力されていない場合は前記デコード手段から出力された前記制御信号を選択し、前記保持信号が出力された場合には格納手段に格納された信号を選択する選択手段を備え、
前記格納手段は、前記各命令コードの実行毎に、前記選択手段により選択された信号を格納する
ことを特徴とするプロセッサ。
【請求項２】
複数の命令コードをデコード手段によりデコードし、デコードにより得られた複数の制御信号を用いて動作するプロセッサであって、
前記デコード手段が、前記各々の制御信号に対応づけた、当該制御信号を変化させる必要がないことを示す保持信号を出力する手段を備えたことを特徴とするプロセッサ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、消費電力および発熱量を低減することのできるプロセッサに関する。
【０００２】
【従来の技術】
プロセッサの内部または外部のメモリに記憶されたプログラムに従って、内部のデータまたは外部から入力されたデータを処理し、内部のメモリへ記憶しまたは外部に出力するプロセッサの構成要素には、以下のものがある。
【０００３】
前記メモリに比して、高速に記憶データの読み出しあるいは書き込みが可能な記憶手段であるレジスタ群。論理演算・算術論理演算等を行うＡＬＵ。ビットシフト処理等を行うバレルシフタ。メモリへのアドレスを保持するメモリアドレスレジスタ。アドレスレジスタから出力されたアドレスのメモリとデータの授受を行うメモリデータレジスタ。メモリの接続構成に基づいて、メモリアドレスレジスタから出力されたメモリアドレスを変換し、メモリの動作制御を行うメモリ制御手段。メモリ内に記憶されたプログラムの実行アドレスを生成するマクロシーケンサ。マクロシーケンサでアドレスされたメモリ出力をデコードし、各構成要素の制御端子を駆動しプログラム処理を行うマイクロシーケンサ、などである。
【０００４】
マクロシーケンサおよびマイクロシーケンサの初期化入力に初期化信号を印加するとマクロシーケンサからは、あらかじめ定められたアドレスが出力され、前記アドレスに記憶されたプログラムの先頭の命令がマイクロシーケンサに読み込まれる。
【０００５】
マイクロシーケンサは読み込まれた命令をデコードし、各制御信号を命令にしたがって駆動する。各制御信号は前述の構成要素に接続されており、所望のシーケンスで、データソースからデータが読み出され必要に応じてデータ型を変換し演算を行い、命令コードに応じた出力先に出力する。またマイクロシーケンサは命令に従い、次の命令プログラムアドレスの選択信号をマクロシーケンサに出力する。この命令がマイクロシーケンサに取り込まれるとマクロシーケンサが次の命令アドレスを発生する。以下初期化以降の前記シーケンスを繰り返すことによりプログラムを実行する。
【０００６】
ここで、各命令コードを実行するときの内部の各制御信号のシーケンスは、予め定められていた。
【０００７】
【発明が解決しようとする課題】
各命令コードを実行するときに内部で動作する必要がない制御信号もある。従来は、このような制御信号を例えばオール０（faulse) またはオール１(true)に変化させていた場合が多い。しかしながら、ＬＳＩ、特にＣ−ＭＯＳタイプのＬＳＩは、信号の状態を保つためには余り電力を消費しないが、信号の状態を変化させるときに電力を大きく消費する。従って、命令コードにより動作する従来のＬＳＩは、制御信号をオール０または１に変化させる場合等に無駄な電力を消費していた。また電力の消費により、ＬＳＩが高温化し、放熱フィンやファンが必要になる場合があった。更に、電池により駆動する機器においては、駆動時間が短くなるという課題があった。
【０００８】
特に近年、ＣＰＵは高速化に伴い消費電力が増加し、それに伴い発熱量も増大している。このため温度がボトルネックとなり、ＣＰＵの動作周波数を上げることができない場合があった。
【０００９】
そこで本発明は、このような課題を解決することのできるプロセッサを提供することを目的とする。
【００１０】
【課題を解決するための手段】
このような目的を達成するために、請求項１に記載の発明は、複数の命令コードをデコード手段によりデコードし、デコードにより得られた複数の制御信号を用いて動作するプロセッサであって、前記デコード手段が、前記各々の制御信号に対応づけた、当該制御信号を変化させる必要がないことを示す保持信号を出力する手段を有し、前記保持信号が出力されていない場合は前記デコード手段から出力された前記制御信号を選択し、前記保持信号が出力された場合には格納手段に格納された信号を選択する選択手段を備え、前記格納手段は、前記各命令コードの実行毎に、前記選択手段により選択された信号を格納することを特徴とする。
【００１１】
請求項２に記載の発明は、複数の命令コードをデコード手段によりデコードし、デコードにより得られた複数の制御信号を用いて動作するプロセッサであって、前記デコード手段が、前記各々の制御信号に対応づけた、当該制御信号を変化させる必要がないことを示す保持信号を出力する手段を備えたことを特徴とする。
【００１４】
【作用】
本発明によれば、ＣＰＵの内部で出力される一部の制御信号の値が記憶手段に格納され、記憶手段に格納した値を用いて、コマンドを実行する際に動作が必要でない制御信号の値が保持される。このため、ＣＰＵ内部で動作する信号の数が減少し、ＣＰＵの消費電力を下げることができ、ひいてはＣＰＵの発熱量を下げることができる。
【００１５】
【実施例】
以下、図面を参照して本発明の実施例を詳細に説明する。
【００１６】
図１に、実施例における本発明「プロセッサ」の構成の一部を示す。同図において１はプログラムが記憶されているメモリ（ＭＥＭ）、２はメモリから読み出された命令コードを一時記憶するインストラクションレジスタ（ＩＲ）、３は  インストラクションレジスタの出力をデコードして演算要素、記憶要素等の制御信号を生成するデコード回路（ＤＥＣ）である。デコード回路３は、組み合わせ論理回路やＲＯＭ（マイクロプログラムＲＯＭ）等で構成されている。
【００１７】
４１〜４４は本発明の「選択手段」の一例としてのセレクタ（ＭＵＸ）、５１〜５４はフリップフロップ（ＦＦ）、６は演算ユニット（ＡＬＵ）、７はバレルシフタ（ＢＲＳ）である。ＡＬＵ６およびバレルシフタ７には、制御信号として、ＡＬＵコマンド制御信号（ａｌｕ＿ｃ）１００、データ入力選択信号（ｓｅｌ＿ｂ）１０１、およびＢＲＳコマンド制御信号（ｂｒｓ＿ｃ）１１０が入力される。またＡＬＵ６へは、演算データとして、ｓｒｃ＿ｂ，ｓｒｃ＿ｉが入力されているセレクタ４５の出力１２０と、データ入力ｓｒｃ＿ａとが接続されている。
【００１８】
バレルシフタ７へは、演算データ入力としてｓｒｃ＿ａが接続され、シフト量を指定するｂｒｓ＿ｎが入力されている。
【００１９】
ＡＬＵに対する加算ａ，ｂ、加算ａ，ｉ、減算ａ，ｂ、減算ａ，ｉコマンド、およびバレルシフタ７に対する右シフトｎ、左シフトｎコマンドのそれぞれのコードがメモリ１から読み出され、インストラクションレジスタ２から出力されると、デコード回路３は各出力端子に以下の制御信号を出力する。
【００２０】
【表１】
0003647078.tif 000002
【００２１】
空欄は任意の値でよい。
【００２２】
本発明の「保持信号」の一例としてのａｌｕ＿ｈｏｌｄ，ｂｒｓ＿ｈｏｌｄ，ｍｕｘ＿ｈｏｌｄ，ｂｒｓ＿ｈｏｌｄ信号は、それぞれセレクタ４１〜４４の選択入力に接続されている。セレクタ４１〜４４は、選択入力に入力された「保持信号」がｔｒｕｅのとき、それぞれフリップフロップ５１〜５４の出力を選択する。これによって使用されない構成要素への制御信号の実行前の状態を、命令コマンド毎に保存する。
【００２３】
（その他）
以上、本発明の「格納手段」の一例としてフリップフロップを用いたが、「格納手段」はデータを格納し保持する機能を有すれば足り、必ずしもフリップフロップである必要はない。例えばラッチを用いることにより、内部のゲート数を削減することができる。これに対してフリップフロップを用いた場合は、出力に影響を与えずに入力を変化させることのできる期間が広くなるという効果がある。
【００２４】
【発明の効果】
以上説明したように、本発明によれば、コマンドを実行する際に動作が必要でない制御信号の値が保持される。このため、ＣＰＵ内部で動作する信号の数が減少し、ＣＰＵの消費電力を下げることができ、ひいてはＣＰＵの発熱量を下げることができる。このため、ＣＰＵの放熱フィン、放熱ファン、電源等を小型化し、本発明ＣＰＵを用いた装置全体を小型化、低価格化することができる。
【００２５】
さらに、電池により駆動する機器においては、駆動時間が長くなるという効果がある。また、温度がボトルネックとなっていた機器においては、ＣＰＵの動作速度を速めることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施例にかかるプロセッサのハードウエア構成を説明する説明図である。
【符号の説明】
１  メモリ
２  インストラクションレジスタ
３  命令デコーダ
６  演算ユニット（ＡＬＵ）
７  バレルシフタ（ＢＲＳ）
４１〜４４  セレクタ（ＭＵＸ）
５１〜５４  フリップフロップ
１００  ＡＬＵコマンド制御信号（ａｌｕ＿ｃ）
１０１  ＡＬＵデータセレクタ制御信号（ｓｅｌ＿ｂ）
１１０  ＢＲＳコマンド制御信号（ｂｒｓ＿ｃ）
１１１  ＢＲＳシフト量制御信号（ｂｒｓ＿ｎ）
１２１  ＡＬＵコマンドデコード信号（ａｌｕ＿ｃｏｍ）
１２２  ＡＬＵコマンドホールド信号（ａｕｌ＿ｈｏｌｄ）
１２３  ＢＲＳコマンドデコード信号（ｂｒｓ＿ｃｏｍ）
１２４  ＢＲＳコマンドホールド信号（ｂｒｓ＿ｈｏｌｄ）
１２５  ＡＬＵデータセレクタデコード信号（ｍｕｘ＿ｃｏｍ）
１２６  ＡＬＵデータセレクタホールド信号（ｍｕｘ＿ｈｏｌｄ）
１２７  ＢＲＳシフト量デコード信号（ｂｒｓ＿ｎｕｍ）
１２８  ＢＲＳシフト量デコード信号（ｂｒｓ＿ｈｏｌｄ）
【図１】
0003647078.tif 000003