(57)【要約】  【課題】信号線を駆動するときの消費電力を低減すること。  【解決手段】演算装置は、信号線（１）と、前記信号線（１）に接続されたデコーダ（３）と、前記信号線（１）に接続され、第１命令コードとＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コードとをこの順に前記デコーダ（３）に前記信号線（１）を介して出力する出力器（２）とを具備している。前記第１命令コードは、前記ＮＯＰコード以外の命令コードを表す第１特定ビットと、前記第１命令コードの内容を表す第１実行命令ビットとを含んでいる。前記ＮＯＰコードは、前記ＮＯＰコードを表す第２特定ビットと、前記第１実行命令ビットとを含んでいる。  【選択図】図１
2006031284.tif 000002
【特許請求の範囲】
【請求項１】
信号線と、
前記信号線に接続されたデコーダと、
前記信号線に接続され、第１命令コードとＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コードとをこの順に前記デコーダに前記信号線を介して出力する出力器とを具備し、
前記第１命令コードは、前記ＮＯＰコード以外の命令コードを表す第１特定ビットと、前記第１命令コードの内容を表す第１実行命令ビットとを含み、
前記ＮＯＰコードは、前記ＮＯＰコードを表す第２特定ビットと、前記第１実行命令ビットとを含む
演算装置。
【請求項２】
請求項１に記載の演算装置において、
前記出力器は、
前記第１命令コードと第２命令コードとをこの順に受け取る命令出力部を備え、
前記第２命令コードは、前記第２特定ビットと、第２実行命令ビットとを含み、
前記命令出力部は、
前記第１命令コードに含まれる前記第１特定ビットに基づいて、前記第１命令コードを前記デコーダに前記信号線を介して出力し、
前記第２命令コードに含まれる前記第２特定ビットに基づいて、前記ＮＯＰコードを前記デコーダに前記信号線を介して出力する
演算装置。
【請求項３】
請求項２に記載の演算装置において、
前記出力器は、
複数の命令コードを格納するメモリを具備し、
前記命令出力部は、
前記メモリに格納された前記複数の命令コードのうち、前記第１命令コードと前記第２命令コードとをこの順に受け取る
演算装置。
【請求項４】
請求項２又は３に記載の演算装置において、
前記命令出力部は、
前記第１命令コードを受け取り、前記第１命令コードに含まれる前記第１特定ビットに基づいて、前記第１命令コードに含まれる前記第１実行命令ビットを出力するセレクタと、
前記セレクタから出力された前記第１実行命令ビットを保持する保持部と、
前記信号線に接続され、前記第１命令コードに含まれる前記第１特定ビットを受け取り、前記第１特定ビットと前記セレクタから出力された前記第１実行命令ビットとを含む前記第１命令コードを前記デコーダに前記信号線を介して出力するバッファとを具備し、
前記セレクタは、前記第２命令コードを受け取り、前記第２命令コードに含まれる前記第２特定ビットに基づいて、前記保持部に保持された前記第１実行命令ビットを出力し、
前記バッファは、前記第２命令コードに含まれる前記第２特定ビットを受け取り、前記第２特定ビットと前記セレクタから出力された前記第１実行命令ビットとを含む前記ＮＯＰコードを前記デコーダに前記信号線を介して出力する
演算装置。
【請求項５】
請求項３又は４に記載の演算装置において、
更に、
第１命令読出指示と第２命令読出指示とをこの順に出力するプログラムカウンタを具備し、
前記第１命令コードが前記第１命令読出指示に応じて前記メモリから前記命令出力部に出力され、
前記第２命令コードが前記第２命令読出指示に応じて前記メモリから前記命令出力部に出力される
演算装置。
【請求項６】
請求項１〜５のいずれかに記載の演算装置において、
更に、
前記デコーダに接続された命令実行部を具備し、
前記デコーダは、前記出力器から出力された前記第１命令コードをデコードし、
前記命令実行部は、前記デコーダによりデコードされた前記第１命令コードを実行する
演算装置。
【請求項７】
第１命令コードをデコーダに信号線を介して出力するステップと、
前記第１命令コードを前記デコーダに出力した後、ＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コードを前記デコーダに前記信号線を介して出力するステップとを具備し、
前記第１命令コードは、前記ＮＯＰコード以外の命令コードを表す第１特定ビットと、前記第１命令コードの内容を表す第１実行命令ビットとを含み、
前記ＮＯＰコードは、前記ＮＯＰコードを表す第２特定ビットと、前記第１実行命令ビットとを含む
信号線制御方法。
【請求項８】
メモリに格納されたコンピュータプログラムであって、
デコーダに信号線を介して出力される第１命令コードと、
前記第１命令コードが出力された後に前記デコーダに前記信号線を介して出力されるＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コードとを備え、
前記第１命令コードは、前記ＮＯＰコード以外の命令コードを表す第１特定ビットと、前記第１命令コードの内容を表す第１実行命令ビットとを含み、
前記ＮＯＰコードは、前記ＮＯＰコードを表す第２特定ビットと、前記第１実行命令ビットとを含む
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算装置と信号線制御方法に関する。
【背景技術】
【０００２】
コンピュータには、中央演算処理装置（ＣＰＵ）が設けられている。この中央演算処理装置（以下、演算装置）は、出力器、バス、デコーダ、命令実行部を具備している。出力器は、命令コード又はＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コードをデコーダにバスを介して出力する。出力器が命令コードを出力した場合、デコーダは、その命令コードをデコードし、命令実行部は、デコーダによりデコードされた命令コード（命令）を実行する。
【０００３】
命令コード、ＮＯＰコードは、複数のビットから構成されている。命令コードの複数のビットは、“１”と“０”との組み合わせにより表され、その命令コードの内容を表している。ＮＯＰコードの複数のビットは、例えば“０”により表されている（非特許文献１）。
【０００４】
バスは、複数の信号線を含んでいる。上記コード（命令コード、ＮＯＰコード）の複数のビットのそれぞれは、複数の信号線のそれぞれに対応付けられている。バスに出力された命令コードの複数のビットのうちの第１ビットが“１”を表す場合、バスの複数の信号線のうちの第１信号線には電荷が蓄えられる。次に、バスに出力された命令コードの第１ビットが“０”を表す場合、第１信号線に蓄えられた電荷が放電される。このように、第１信号線に蓄えられる電荷が“１”から“０”に遷移することにより、バスを駆動する電力が消費される。
【０００５】
出力器が命令コードとＮＯＰコードとをこの順にデコーダにバスを介して出力し、ＮＯＰコードより先に出力された命令コードの複数のビットのうち、１０ビットが“１”を表しているものとする。ＮＯＰコードの複数のビットは全て“０”を表しているため、バスの複数の信号線のうち、上記の１０ビットに対応する信号線に蓄えられる電荷が“１”から“０”に遷移する。この場合、１０本の信号線を駆動するときの消費電力は、１本の信号線を駆動するときの消費電力よりも増大する。このように、演算装置は、出力器がＮＯＰコードをデコーダにバスを介して出力したときでも電力を消費してしまう。
【０００６】
また、近年では、命令の実行を高速に行なうために、例えば、多段パイプラインを用いるコンピュータが多くなってきている。これに伴い、命令の実行手順や分岐命令等でパイプライン中のデータを保証するために、前後の命令コードの間にＮＯＰコードを設ける必要性が高まっている。
【０００７】
【非特許文献１】ＮＥＣ編「データ・ブック  信号処理ＬＳＩ（ＤＳＰ／音声）」、１９９６年１月発行、ｐ．２５−３６
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の課題は、信号線を駆動するときの消費電力を低減することができる演算装置と信号線制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
以下に、［発明を実施するための最良の形態］で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１０】
本発明の第１の観点では、演算装置は、信号線（１）と、前記信号線（１）に接続されたデコーダ（３）と、前記信号線（１）に接続され、第１命令コード（２１−１）とＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コード（４１−１）とをこの順に前記デコーダ（３）に前記信号線（１）を介して出力する出力器（２）とを具備している。前記第１命令コード（２１−１）は、前記ＮＯＰコード以外の命令コードを表す第１特定ビット（２３）と、前記第１命令コード（２１−１）の内容を表す第１実行命令ビット（２５−１）とを含んでいる。前記ＮＯＰコード（４１−１）は、前記ＮＯＰコードを表す第２特定ビット（２４）と、前記第１実行命令ビット（２５−１）とを含んでいる。
【００１１】
前記出力器（２）は、前記第１命令コード（２１−１）と第２命令コード（２２）とをこの順に受け取る命令出力部（１０）を備えている。前記第２命令コード（２２）は、前記第２特定ビット（２４）と、第２実行命令ビット（２６）とを含んでいる。前記命令出力部（１０）は、前記第１命令コード（２１−１）に含まれる前記第１特定ビット（２３）に基づいて、前記第１命令コード（２１−１）を前記デコーダ（３）に前記信号線（１）を介して出力し、前記第２命令コード（２２）に含まれる前記第２特定ビット（２４）に基づいて、前記ＮＯＰコードを前記デコーダ（３）に前記信号線（１）を介して出力する。
【００１２】
前記出力器（２）は、複数の命令コード（２１−１〜２１−ｍ、２２）（ｍは１以上の整数）を格納するメモリ（２０）を具備している。前記命令出力部（１０）は、前記メモリ（２０）に格納された前記複数の命令コード（２１−１〜２１−ｍ、２２）のうち、前記第１命令コード（２１−１）と前記第２命令コード（２２）とをこの順に受け取る。
【００１３】
前記命令出力部（１０）は、前記第１命令コード（２１−１）を受け取り、前記第１命令コード（２１−１）に含まれる前記第１特定ビット（２３）に基づいて、前記第１命令コード（２１−１）に含まれる前記第１実行命令ビット（２５−１）を出力するセレクタ（１１）と、前記セレクタ（１１）から出力された前記第１実行命令ビット（２５−１）を保持する保持部（１２）と、前記信号線（１）に接続され、前記第１命令コード（２１−１）に含まれる前記第１特定ビット（２３）を受け取り、前記第１特定ビット（２３）と前記セレクタ（１１）から出力された前記第１実行命令ビット（２５−１）とを含む前記第１命令コード（２１−１）を前記デコーダ（３）に前記信号線（１）を介して出力するバッファ（１３）とを具備している。前記セレクタ（１１）は、前記第２命令コード（２２）を受け取り、前記第２命令コード（２２）に含まれる前記第２特定ビット（２４）に基づいて、前記保持部（１２）に保持された前記第１実行命令ビット（２５−１）を出力する。前記バッファ（１３）は、前記第２命令コード（２２）に含まれる前記第２特定ビット（２４）を受け取り、前記第２特定ビット（２４）と前記セレクタ（１１）から出力された前記第１実行命令ビット（２５−１）とを含む前記ＮＯＰコードを前記デコーダ（３）に前記信号線（１）を介して出力する。
【００１４】
本発明の第１の観点による演算装置は、更に、第１命令読出指示と第２命令読出指示とをこの順に出力するプログラムカウンタ（５）を具備している。前記第１命令コード（２１−１）が前記第１命令読出指示に応じて前記メモリ（２０）から前記命令出力部（１０）に出力される。前記第２命令コード（２２）が前記第２命令読出指示に応じて前記メモリ（２０）から前記命令出力部（１０）に出力される。
【００１５】
本発明の第１の観点による演算装置は、更に、前記デコーダ（３）に接続された命令実行部（４）を具備している。前記デコーダ（３）は、前記出力器（２）から出力された前記第１命令コード（２１−１）をデコードする。前記命令実行部（４）は、前記デコーダ（３）によりデコードされた前記第１命令コード（２１−１）を実行する。
【００１６】
本発明の第２の観点では、信号線制御方法は、第１命令コード（２１−１）をデコーダ（３）に信号線（１）を介して出力するステップ（Ｓ１、Ｓ２−ＮＯ、Ｓ３）（Ｓ１１、Ｓ１２−ＮＯ、Ｓ１３）と、前記第１命令コード（２１−１）を前記デコーダ（３）に出力した後、ＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コード（４１−１）を前記デコーダ（３）に前記信号線（１）を介して出力するステップ（Ｓ１、Ｓ２−ＹＥＳ、Ｓ４）（Ｓ１１、Ｓ１２−ＹＥＳ、Ｓ１４）とを具備している。前記第１命令コード（２１−１）は、前記ＮＯＰコード以外の命令コードを表す第１特定ビット（２３）と、前記第１命令コード（２１−１）の内容を表す第１実行命令ビット（２５−１）とを含んでいる。前記ＮＯＰコード（４１−１）は、前記ＮＯＰコードを表す第２特定ビット（２４）と、前記第１実行命令ビット（２５−１）とを含んでいる。
【００１７】
本発明の第３の観点では、メモリ（３０）に格納されたコンピュータプログラム（４０）は、デコーダ（３）に信号線（１）を介して出力される第１命令コード（２１−１）と、前記第１命令コード（２１−１）が出力された後に前記デコーダ（３）に前記信号線（１）を介して出力されるＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コード（４１−１）とを備えている。前記第１命令コード（２１−１）は、前記ＮＯＰコード以外の命令コードを表す第１特定ビット（２３）と、前記第１命令コード（２１−１）の内容を表す第１実行命令ビット（２５−１）とを含んでいる。前記ＮＯＰコード（４１−１）は、前記ＮＯＰコードを表す第２特定ビット（２４）と、前記第１実行命令ビット（２５−１）とを含んでいる。
【発明の効果】
【００１８】
本発明によれば、信号線を駆動するときの消費電力を低減することができる。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照して、本発明の演算装置について詳細に説明する。
【００２０】
（第１実施形態）
図１は、本発明の第１実施形態による演算装置の構成を示すブロック図である。第１実施形態による演算装置は、バス１、出力器２、デコーダ３、命令実行部４、プログラムカウンタ（ＰＣ）５を具備している。出力器２、デコーダ３は、バス１に接続されている。プログラムカウンタ５は、出力器２に接続され、命令実行部４は、デコーダ３に接続されている。
【００２１】
出力器２は、命令メモリ２０、命令出力部１０を備えている。図２に示されるように、命令メモリ２０には、ｍ個（ｍは１以上の整数）の命令コード２１−１〜２１−ｍと、命令コード２２とが格納されている。
【００２２】
命令コード２１−ｉ（ｉ＝１、２、…、ｍ）は、出力器２によってデコーダ３にバス１を介して出力される命令コードである。命令コード２１−ｉは、複数のビットとして８ビット、１６ビット、３２ビット、６４ビット、…から構成され、本実施形態では３２ビットから構成されているものとする。
命令コード２１−ｉは、ＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コード以外の命令コードを表す特定ビット２３と、命令コード２１−ｉの内容を表す実行命令ビット２５−ｉとを含んでいる。特定ビット２３は、命令コード２１−ｉに含まれるビットのうちの少なくとも１つのビットを表し、実行命令ビット２５−ｉは、特定ビット２３以外のビットを表している。本実施形態では、特定ビット２３は、最上位ビットにより表され、その最上位ビットは、“１”により表されるものとする。
【００２３】
命令コード２２は、出力器２によってＮＯＰコードに変換されてデコーダ３にバス１を介して出力される命令コードである。命令コード２２は、複数のビットとして８ビット、１６ビット、３２ビット、６４ビット、…から構成され、本実施形態では３２ビットから構成されているものとする。
命令コード２２は、ＮＯＰコードを表す特定ビット２４と、ドントケアを表す実行命令ビット２６とを含んでいる。特定ビット２４は、命令コード２２に含まれるビットのうちの少なくとも１つのビットを表し、実行命令ビット２６は、特定ビット２４以外のビットを表している。本実施形態では、特定ビット２４は、最上位ビットにより表され、その最上位ビットは、“０”により表されるものとする。
【００２４】
バス１は、複数の信号線を含んでいる。上記の命令コード（命令コード２１−ｉ、命令コード２２）が３２ビットから構成されている場合、バス１は、３２本の信号線を含んでいる。上記の命令コードの３２ビットのそれぞれは、３２本の信号線のそれぞれに対応付けられている。
【００２５】
プログラムカウンタ５は、命令メモリ２０に格納された命令コードを読み出すための命令読出指示を出力する。
命令コード２１−１を読み出す場合、第１命令読出指示がプログラムカウンタ５から命令メモリ２０に与えられる。このとき、第１命令読出指示に応じて命令コード２１−１が命令メモリ２０から命令出力部１０に出力される。
次に、命令コード２２を読み出す場合、第２命令読出指示がプログラムカウンタ５から命令メモリ２０に与えられる。このとき、第２命令読出指示に応じて命令コード２２が命令メモリ２０から命令出力部１０に出力される。
【００２６】
命令出力部１０は、命令メモリ２０から読み出された命令コード２１−１を受け取る。このとき、命令出力部１０は、命令コード２１−１に含まれる特定ビット２３“１”に基づいて、命令コード２１−１をデコーダ３にバス１を介して出力する。出力された命令コード２１−１は、命令出力部１０が命令メモリ２０から受け取った命令コードと同じであり、特定ビット２３“１”と、実行命令ビット２５−１とを含んでいる。
次に、命令出力部１０は、命令メモリ２０から読み出された命令コード２２を受け取る。このとき、命令出力部１０は、命令コード２２に含まれる特定ビット２４“０”に基づいて、ＮＯＰコードをデコーダ３にバス１を介して出力する。出力されたＮＯＰコードは、命令コード２２に含まれる特定ビット２４“０”と、命令コード２１−１に含まれる実行命令ビット２５−１とを含んでいる。
【００２７】
デコーダ３は、命令出力部１０から出力された命令コード２１−１を受け、命令コード２１−１に含まれる特定ビット２３“１”により、命令出力部１０から出力された命令コードがＮＯＰコード以外のコードであることを認識する。デコーダ３は、その命令コード２１−１に含まれる実行命令ビット２５−１により、命令コード２１−１をデコードする。命令実行部４は、デコーダ３によりデコードされた命令（命令コード２１−１）を実行する。
次に、デコーダ３は、命令出力部１０から出力されたＮＯＰコードを受け、ＮＯＰコードに含まれる特定ビット２４“０”により、命令出力部１０から出力された命令コードがＮＯＰコードであることを認識する。デコーダ３は、そのＮＯＰコードに対応する動作を命令実行部４に実行させる。
【００２８】
命令コード２１−１に含まれる実行命令ビット２５−１のうち、１０ビットが“１”を表しているものとする。また、命令コード２１−１に含まれる特定ビット２３が“１”を表している。このため、命令コード２１−１がバス１上に出力されたとき、バス１の３２本の信号線のうちの１１本の信号線には電荷が蓄えられる。
命令コード２１−１の次にバス１上に出力されるＮＯＰコードは、特定ビット２４と、直前にバス１上に出力された実行命令ビット２５−１とを含んでいる。このため、ＮＯＰコードがバス１上に出力されたとき、バス１の３２本の信号線のうち、最上位ビットに対応する第１信号線に蓄えられた電荷のみが放電される（第１信号線に蓄えられた電荷のみが“１”から“０”に遷移する）。
このように、命令コード２１−１、ＮＯＰコードに含まれる実行命令ビット２５−１のうちの１０ビットが“１”を表している場合、バス１を駆動する消費電力は、ＮＯＰコードに含まれるビットが全て“０”を表している場合に比べて、低減される。したがって、本発明の第１実施形態による演算装置では、命令コード２１−１、ＮＯＰコードに含まれる実行命令ビット２５−１のうち、“１”を表しているビットが多ければ多いほど、従来の演算装置に比べて、消費電力を低減する効果がある。
【００２９】
図１に示されるように、命令出力部１０は、セレクタ１１、ラッチである保持部１２、バッファ１３とを備えている。バッファ１３は、バス１に接続されている。次に、図３を参照して、本発明の第１実施形態による演算装置の命令出力部１０の動作について説明する。
【００３０】
命令コード２１−１が第１命令読出指示に応じて命令メモリ２０から読み出される。このとき、セレクタ１１は、命令コード２１−１に含まれる特定ビット２３と実行命令ビット２５−１とを受け取る。また、バッファ１３は、命令コード２１−１に含まれる特定ビット２３を受け取る（ステップＳ１）。
【００３１】
セレクタ１１が受け取った特定ビット２３は、“１”を表している。即ち、ＮＯＰ以外の命令コードを表している（ステップＳ２−ＮＯ）。
この場合、セレクタ１１は、受け取った実行命令ビット２５−１をバッファ１３と保持部１２とに出力する。保持部１２は、セレクタ１１から出力された実行命令ビット２５−１を保持（ラッチ）する。バッファ１３は、受け取った特定ビット２３“１”と、セレクタ１１から出力された実行命令ビット２５−１とを含む命令コード２１−１をデコーダ３にバス１を介して出力する（ステップＳ３）。ここで、デコーダ３は、命令コード２１−１をデコードし、命令実行部４は、デコーダ３によりデコードされた命令（命令コード２１−１）を実行する。
【００３２】
次に、命令コード２２が第２命令読出指示に応じて命令メモリ２０から読み出される。このとき、セレクタ１１は、命令コード２２に含まれる特定ビット２４と実行命令ビット２６とを受け取る。また、バッファ１３は、命令コード２２に含まれる特定ビット２４を受け取る（ステップＳ１）。
【００３３】
セレクタ１１が受け取った特定ビット２４は、“０”を表している。即ち、ＮＯＰコードを表している（ステップＳ２−ＹＥＳ）。
この場合、セレクタ１１は、保持部１２に保持された実行命令ビット２５−１を読み出し、バッファ１３と保持部１２とに出力する。保持部１２は、セレクタ１１から出力された実行命令ビット２５−１を保持（ラッチ）する。バッファ１３は、受け取った特定ビット２４“０”と、セレクタ１１から出力された実行命令ビット２５−１とを含むＮＯＰコードをデコーダ３にバス１を介して出力する（ステップＳ４）。ここで、デコーダ３は、ＮＯＰコードに対応する動作を命令実行部４に実行させる。
【００３４】
以上説明したように、本発明の第１実施形態による演算装置では、出力器２は、命令コード２１−１とＮＯＰコードとをこの順にデコーダ３にバス１を介して出力する。このとき、命令コード２１−１は、ＮＯＰコード以外の命令コードを表す特定ビット２３と、命令コード２１−１の内容を表す実行命令ビット２５−１とを含んでいる。ＮＯＰコードは、ＮＯＰコードを表す特定ビット２４と、命令コード２１−１に含まれる実行命令ビットと同じ実行命令ビット２５−１とを含んでいる。このため、ＮＯＰコードがバス１上に出力されたとき、バス１の複数の信号線のうち、特定ビットに対応する信号線に蓄えられた電荷のみが遷移する。このように、本発明の第１実施形態による演算装置では、バス１の信号線を駆動するときの消費電力を低減することができる。
【００３５】
（第２実施形態）
本発明の第２実施形態による演算装置では、第１実施形態による演算装置の出力器２をソフトウェアにより実現することができる。この場合、命令コードと、命令コードの次に出力されるＮＯＰコードとをコンパイラ、あるいはアセンブラによって予めに生成しておく。これにより、本発明の第２実施形態による演算装置では、実行命令ビット２５−ｉをラッチする命令出力部１０を設ける必要なく、第１実施形態による演算装置よりも装置規模を小さくすることができる。
【００３６】
図４は、本発明の第２実施形態による演算装置の構成を示すブロック図である。第２実施形態による演算装置は、バス１、出力器２、デコーダ３、命令実行部４、プログラムカウンタ（ＰＣ）５を具備している。出力器２、デコーダ３は、バス１に接続されている。プログラムカウンタ５は、出力器２に接続され、命令実行部４は、デコーダ３に接続されている。
【００３７】
出力器２は、命令メモリ３０を備えている。命令メモリ３０には、コンピュータプログラム（以下、プログラム）４０が格納されている。出力器２は、プログラム４０により動作する。図２に示されるように、プログラム４０には、ｍ個（ｍは１以上の整数）の命令コード２１−１〜２１−ｍと、ｍ個のＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コード４１−１〜４１−ｍとが記載されている。
【００３８】
命令コード２１−ｉ（ｉ＝１、２、…、ｍ）は、出力器２によってデコーダ３にバス１を介して出力される命令コードである。命令コード２１−ｉは、複数のビットとして８ビット、１６ビット、３２ビット、６４ビット、…から構成され、本実施形態では３２ビットから構成されているものとする。
命令コード２１−ｉは、ＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コード以外の命令コードを表す特定ビット２３と、命令コード２１−ｉの内容を表す実行命令ビット２５−ｉとを含んでいる。特定ビット２３は、命令コード２１−ｉに含まれるビットのうちの少なくとも１つのビットを表し、実行命令ビット２５−ｉは、特定ビット２３以外のビットを表している。本実施形態では、特定ビット２３は、最上位ビットにより表され、その最上位ビットは、“１”により表されるものとする。
【００３９】
ＮＯＰコード４１−ｉ（ｉ＝１、２、…、ｍ）は、命令コード２１−ｉの次に出力器２によってデコーダ３にバス１を介して出力されるＮＯＰコードである。ＮＯＰコード４１−ｉは、複数のビットとして８ビット、１６ビット、３２ビット、６４ビット、…から構成され、本実施形態では３２ビットから構成されているものとする。
ＮＯＰコード４１−ｉは、ＮＯＰコードを表す特定ビット２４と、命令コード２１−ｉに含まれる実行命令ビットと同じ実行命令ビット２５−ｉとを含んでいる。特定ビット２４は、命令コード２２に含まれるビットのうちの少なくとも１つのビットを表し、実行命令ビット２５−ｉは、特定ビット２４以外のビットを表している。本実施形態では、特定ビット２４は、最上位ビットにより表され、その最上位ビットは、“０”により表されるものとする。
【００４０】
バス１は、複数の信号線を含んでいる。上記の命令コード（命令コード２１−ｉ、命令コード２２）が３２ビットから構成されている場合、バス１は、３２本の信号線を含んでいる。上記の命令コードの３２ビットのそれぞれは、３２本の信号線のそれぞれに対応付けられている。
【００４１】
プログラムカウンタ５は、命令メモリ２０に格納された命令コードを読み出すための命令読出指示を出力する。
命令コード２１−１を読み出す場合、第１命令読出指示がプログラムカウンタ５から命令メモリ３０に与えられる。このとき、命令メモリ３０内のプログラム４０は、第１命令読出指示に応じて命令コード２１−１をデコーダ３にバス１を介して出力する。
次に、ＮＯＰコードを読み出す場合、第２命令読出指示がプログラムカウンタ５から命令メモリ３０に与えられる。このとき、命令メモリ３０内のプログラム４０は、第２命令読出指示に応じて、命令コード２１−１の次のＮＯＰコードであるＮＯＰコード４１−１をデコーダ３にバス１を介して出力する。
【００４２】
デコーダ３は、命令メモリ３０から出力された命令コード２１−１を受け、命令コード２１−１に含まれる特定ビット２３“１”により、命令メモリ３０から出力された命令コードがＮＯＰコード以外のコードであることを認識する。デコーダ３は、その命令コード２１−１に含まれる実行命令ビット２５−１により、命令コード２１−１をデコードする。命令実行部４は、デコーダ３によりデコードされた命令（命令コード２１−１）を実行する。
次に、デコーダ３は、命令メモリ３０から出力されたＮＯＰコード４１−１を受け、ＮＯＰコード４１−１に含まれる特定ビット２４“０”により、命令メモリ３０から出力された命令コードがＮＯＰコードであることを認識する。デコーダ３は、そのＮＯＰコード４１−１に対応する動作を命令実行部４に実行させる。
【００４３】
命令コード２１−１に含まれる実行命令ビット２５−１のうち、１０ビットが“１”を表しているものとする。また、命令コード２１−１に含まれる特定ビット２３が“１”を表している。このため、命令コード２１−１がバス１上に出力されたとき、バス１の３２本の信号線のうちの１１本の信号線には電荷が蓄えられる。
命令コード２１−１の次にバス１上に出力されるＮＯＰコード４１−１は、特定ビット２４と、直前にバス１上に出力された実行命令ビット２５−１とを含んでいる。このため、ＮＯＰコード４１−１がバス１上に出力されたとき、バス１の３２本の信号線のうち、最上位ビットに対応する第１信号線に蓄えられた電荷のみが放電される（第１信号線に蓄えられた電荷のみが“１”から“０”に遷移する）。
このように、命令コード２１−１、ＮＯＰコード４１−１に含まれる実行命令ビット２５−１のうちの１０ビットが“１”を表している場合、バス１を駆動する消費電力は、ＮＯＰコードに含まれるビットが全て“０”を表している場合に比べて、低減される。したがって、本発明の第２実施形態による演算装置では、命令コード２１−１、ＮＯＰコード４１−１に含まれる実行命令ビット２５−１のうち、“１”を表しているビットが多ければ多いほど、従来の演算装置に比べて、消費電力を低減する効果がある。
【００４４】
次に、図６を参照して、本発明の第２実施形態による演算装置の出力器２の動作について説明する。
【００４５】
命令メモリ３０内のプログラム４０は、第１命令読出指示をプログラムカウンタ５から受け取る（ステップＳ１１）。
【００４６】
プログラム４０が受け取った第１命令読出指示は、命令コード２１−１を読み出すための命令読出指示を表している（ステップＳ１２−ＮＯ）。
この場合、プログラム４０は、特定ビット２３“１”と実行命令ビット２５−１とを含む命令コード２１−１をデコーダ３にバス１を介して出力する（ステップＳ１３）。ここで、デコーダ３は、命令コード２１−１をデコードし、命令実行部４は、デコーダ３によりデコードされた命令（命令コード２１−１）を実行する。
【００４７】
次に、プログラム４０は、第２命令読出指示をプログラムカウンタ５から受け取る（ステップＳ１１）。
【００４８】
プログラム４０が受け取った第２命令読出指示は、ＮＯＰコードを読み出すための命令読出指示を表している（ステップＳ１２−ＹＥＳ）。
この場合、プログラム４０は、命令コード２１−１を出力した後のＮＯＰコードであることを認識し、特定ビット２４“０”と実行命令ビット２５−１とを含むＮＯＰコード４１−１をデコーダ３にバス１を介して出力する（ステップＳ１４）。ここで、デコーダ３は、ＮＯＰコード４１−１に対応する動作を命令実行部４に実行させる。
【００４９】
以上説明したように、本発明の第２実施形態による演算装置では、出力器２は、命令コード２１−１とＮＯＰコード４１−１とをこの順にデコーダ３にバス１を介して出力する。このとき、命令コード２１−１は、ＮＯＰコード以外の命令コードを表す特定ビット２３と、命令コード２１−１の内容を表す実行命令ビット２５−１とを含んでいる。ＮＯＰコード４１−１は、ＮＯＰコードを表す特定ビット２４と、命令コード２１−１に含まれる実行命令ビットと同じ実行命令ビット２５−１とを含んでいる。このため、ＮＯＰコード４１−１がバス１上に出力されたとき、バス１の複数の信号線のうち、特定ビットに対応する信号線に蓄えられた電荷のみが遷移する。このように、本発明の第２実施形態による演算装置では、バス１の信号線を駆動するときの消費電力を低減することができる。
【００５０】
また、本発明の第２実施形態による演算装置では、第１実施形態による演算装置の出力器２をソフトウェアにより実現することができる。これにより、本発明の第２実施形態による演算装置では、実行命令ビット２５−ｉをラッチする命令出力部１０を設ける必要なく、第１実施形態による演算装置よりも装置規模を小さくすることができる。
【図面の簡単な説明】
【００５１】
【図１】図１は、本発明の第１実施形態による演算装置の構成を示すブロック図である。
【図２】図２は、本発明の第１実施形態による演算装置の出力器の命令メモリに格納された命令コードを表す。
【図３】図３は、本発明の第１実施形態による演算装置の出力器の命令出力部の動作を示すフローチャートである。
【図４】図４は、本発明の第２実施形態による演算装置の構成を示すブロック図である。
【図５】図５は、本発明の第２実施形態による演算装置の出力器の命令メモリ内のコンピュータプログラムに記載された命令コードを表す。
【図６】図６は、本発明の第２実施形態による演算装置の出力器の動作を示すフローチャートである。
【符号の説明】
【００５２】
１    バス
２    出力器
３    デコーダ
４    命令実行部
５    プログラムカウンタ（ＰＣ）
１０    命令出力部
１１    セレクタ
１２    保持部
１３    バッファ
２０    命令メモリ
２１−１〜２１−ｍ    命令コード
２２    命令コード
２３    特定ビット
２４    特定ビット
２５−１〜２５−ｍ    実行命令ビット
２６    実行命令ビット
３０    命令メモリ
４０    コンピュータプログラム
４１−１〜４１−ｍ    ＮＯＰコード
【図１】
2006031284.tif 000003
【図２】
2006031284.tif 000004
【図３】
2006031284.tif 000005
【図４】
2006031284.tif 000006
【図５】
2006031284.tif 000007
【図６】
2006031284.tif 000008