(57)【要約】【課題】回路動作時における消費電力を削減することを課題とする。【解決手段】演算回路１０の並び替え回路１１は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替える。具体的には、演算回路１０の並び替え回路１１は、各経路から入力された入力Ａ、入力Ｂの値が偏るように、入力Ａが「１」で入力Ｂが「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」に並び替える。そして、２入力加算器１２は、並び替え回路１１によって並び替えられた入力信号を順次受け付けて、演算処理を行う。【選択図】        図１
2010271946.tif 000002
【特許請求の範囲】
【請求項１】
順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように前記入力信号を並び替える並び替え部と、
前記並び替え部によって並び替えられた前記入力信号を順次受け付けて、演算処理を行う演算処理部と、
を備えることを特徴とする演算回路。
【請求項２】
前記並び替え部は、複数の経路から入力信号が入力される場合に、各経路から入力された信号の値が偏るように、当該入力信号をそれぞれ並び替えることを特徴とする請求項１に記載の演算回路。
【請求項３】
複数の経路からそれぞれ入力信号が入力される場合に、前記並び替え部によって並び替えられた前記入力信号を各経路から受信し、各経路の入力信号の入力タイミングを揃えて、前記演算処理部に出力することを特徴とする請求項１または２に記載の演算回路。
【請求項４】
前記入力信号を並び替える方法がそれぞれ異なる複数の並び替え部と、
前記複数の並び替え部に入力される入力信号を観測する観測部と、
前記観測部によって観測された前記入力信号の観測結果に応じて、前記複数の並び替え部から一の並び替え部を選択する選択部と、
をさらに備えることを特徴とする請求項１〜３のいずれか一つに記載の演算回路。
【請求項５】
順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号が変化しないように前記入力信号を並び替える並び替えステップと、
前記並び替えステップによって並び替えられた前記入力信号を順次受け付けて、演算処理を行う演算処理ステップと、
を含んだことを特徴とする省電力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算回路および省電力方法に関する。
【背景技術】
【０００２】
従来より、入力信号が変化した場合に、Ｐ型トランジスタ及びＮ型トランジスタのスイッチング動作により、電源からグラウンドに電流が流れるＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）回路が知られている。このようなＣＭＯＳ回路の消費電力には、動作していないときに回路に流れる定常電流によって消費される待機時電力と、上述した回路のスイッチング動作で流れる電流によって消費される動作時電力とが存在する。
【０００３】
ここで、ＣＭＯＳ回路は、回路の動作率（すなわち、トランジスタのスイッチング回数）が高いほど動作時電力も大きくなり、消費電力も大きくなる。例えば、ＣＭＯＳ回路は、入力信号として、「０」と「１」が交互に入力された場合には、スイッチング動作を行い、入力信号が変化するたびに動作時の消費電力が発生することとなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−６５７１１号公報
【特許文献２】特開平８−２５０９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記した従来の技術では、入力信号が変化するごとに、動作時の消費電力が発生するので、入力信号として、「０」と「１」が交互に入力される頻度が高いような回路にＣＭＯＳ論理を用いた場合には、多大な電力を消費してしまう。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、回路動作時における消費電力の削減を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本願の開示する演算回路は、一つの態様において、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号が変化しないように入力信号を並び替える。
【発明の効果】
【０００８】
本願の開示する演算回路の一つの態様によれば、回路動作時における消費電力を削減することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る演算回路の概要を説明するための図である。
【図２】図２は、実施例１に係る演算回路の構成を示すブロック図である。
【図３】図３は、実施例１に係る並び替え回路における入力および出力の関係について説明するための図である。
【図４】図４は、実施例１に係る並び替え回路の構成を説明するための図である。
【図５】図５は、入力信号の変化パターンに対する確率を説明するための図である。
【図６】図６は、実施例１に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
【図７】図７は、実施例１に係る演算回路の処理動作を示すフローチャートである。
【図８】図８は、実施例２に係る演算回路の構成を示すブロック図である。
【図９】図９は、実施例２に係る並び替え回路における入力および出力の関係について説明するための図である。
【図１０】図１０は、実施例２に係る並び替え回路の構成を説明するための図である。
【図１１】図１１は、実施例２に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
【図１２】図１２は、実施例３に係る並び替え回路における入力および出力の関係について説明するための図である。
【図１３】図１３は、実施例３に係る並び替え回路の構成を説明するための図である。
【図１４】図１４は、実施例３に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
【図１５】図１５は、実施例４に係る演算回路の構成を示すブロック図である。
【図１６】図１６は、実施例４に係る並び替え回路における入力および出力の関係について説明するための図である。
【図１７】図１７は、実施例４に係る並び替え回路の構成を説明するための図である。
【図１８】図１８は、実施例４に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
【図１９】図１９は、実施例５に係る並び替え回路における入力および出力の関係について説明するための図である。
【図２０】図２０は、実施例５に係る並び替え回路の構成を説明するための図である。
【図２１】図２１は、実施例５に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
【図２２】図２２は、回路規模および消費電力について、実施例５と従来例とを比較するための図である。
【図２３】図２３は、実施例６に係る演算回路の構成を示すブロック図である。
【図２４】図２４は、実施例７に係る演算回路の構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明に係る演算回路および省電力方法の実施例を詳細に説明する。
【実施例１】
【００１１】
以下の実施例では、実施例１に係る演算回路の概要、演算回路の構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。なお、以下では、省電力の対象回路として、加算回路を適用する場合の例について説明する。
【００１２】
［実施例１に係る演算回路の概要］
まず最初に、図１を用いて、実施例１に係る演算回路の概要を説明する。図１は、実施例１に係る演算回路の概要を説明するための図である。
【００１３】
図１に示すように、演算回路１０では、２入力加算器１２の前段に複数の並び替え回路１１〜１１ｎが設置され、各並び替え回路１１〜１１ｎと２入力加算器とが２本の信号線で接続されている。このような構成のもと、演算回路１０では、信号線を介して、各並び替え回路１１〜１１ｎから２入力加算器へ２つの入力信号（図１の例では、入力Ａ、入力Ｂ）が入力される。
【００１４】
実施例１に係る演算回路１０の並び替え回路１１は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替える（図１の（１）参照）。具体的には、演算回路１０の並び替え回路１１は、各経路から入力された入力Ａ、入力Ｂの値が偏るように、入力Ａが「１」で入力Ｂが「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」に並び替える。
【００１５】
つまり、並び替え回路１１に入力される入力信号「０」または「１」である確率（以下、出現確率という）が共に２分の１である場合に、４通りの入力パターン（入力Ａ「０」および入力Ｂ「０」、入力Ａ「０」および入力Ｂ「１」、入力Ａ「１」および入力Ｂ「０」、入力Ａ「１」および入力Ｂ「１」）が全て同確率（４分の１）となる。
【００１６】
このような場合に、並び替え処理を行った結果、出力Ａ’について、「０」または「１」の出現確率がそれぞれ４分の３、４分の１となるため、当サイクルから次サイクルで入力信号が変化する確率である信号変化確率を低くすることができる（後に詳述する図５参照）。ここで、当サイクルから次サイクルで変化する確率とは、出力Ａ’が「０」から「１」に変化する確率と、出力Ａ’が「１」から「０」に変化する確率との和をいう。
【００１７】
そして、２入力加算器１２は、並び替え回路１１によって並び替えられた入力信号を順次受け付けて、演算処理を行う（図１の（２）参照）。ここで、２入力加算器１２は、入力信号が変化した場合にのみ電流を流す回路であり、かつ、２つの入力信号が等価で同じ重みを持ったビットの信号を並び替えても結果が変化しない回路である。
【００１８】
このように、演算回路１０は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替えるので、入力信号の変化信号変化確率を低くすることができる結果、消費電力の低減を図ることが可能である。
【００１９】
［演算回路の構成］
次に、図２を用いて、図１に示した演算回路１０の構成を説明する。図２は、実施例１に係る演算回路１０の構成を示すブロック図である。同図に示すように、この演算回路１０は、並び替え回路１１、２入力加算器１２を有し、信号線等を介して並び替え回路１１と２入力加算器１２とが接続される。以下にこれらの各部の処理を説明する。
【００２０】
並び替え回路１１は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替える。具体的には、並び替え回路１１は、２つの入力信号を受信し、２つの入力信号の組み合わせパターンが並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。例えば、並び替え回路１１は、入力Ａが「１」で入力Ｂ「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」に並び替える。
【００２１】
ここで、図３を用いて、並び替え回路１１における入力および出力の関係について説明するための図である。図３は、実施例１に係る並び替え回路における入力および出力の関係について説明するための図である。図３に示すように、並び替え回路１１は、入力Ａが「０」で入力Ｂが「０」である場合、入力Ａが「０」で入力Ｂが「１」である場合、および、入力Ａが「１」で入力Ｂが「１」である場合には、入力信号を並び替えずに出力する。また、並び替え回路１１は、入力Ａが「１」で入力Ｂが「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」に並び替える。
【００２２】
ここで、図４を用いて、並び替え回路１１の詳しい回路構成を説明する。図４は、実施例１に係る並び替え回路の構成を説明するための図である。図４に示すように、並び替え回路１１は、ＮＡＮＤ回路と、ＮＯＲ回路と、インバータとを有する。例えば、並び替え回路１１は、入力Ａが「１」で入力Ｂが「０」である場合には、ＮＡＮＤ回路が「１」を出力し、インバータが出力Ａ’として「０」を出力する。また、並び替え回路１１は、入力Ａが「１」で入力Ｂが「０」である場合には、ＮＯＲ回路が「０」を出力し、インバータが出力Ｂ’として「１」を出力する。
【００２３】
ここで、図５を用いて、入力信号の変化パターンに対する信号変化確率について説明する。図５は、入力信号の変化パターンに対する確率を説明するための図である。上記したように、並び替え回路１１は、入力Ａが「１」で入力Ｂ「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」に並び替える処理を行っている。
【００２４】
つまり、並び替え回路１１に入力される入力信号「０」または「１」である確率（以下、出現確率という）が共に２分の１である場合に、４通りの入力パターン（入力Ａ「０」および入力Ｂ「０」、入力Ａ「０」および入力Ｂ「１」、入力Ａ「１」および入力Ｂ「０」、入力Ａ「１」および入力Ｂ「１」）が全て同確率（４分の１）となる。
【００２５】
この場合に、並び替え回路１１が並び替え処理を行うことで、出力Ａ’について、「０」または「１」の出現確率がそれぞれ４分の３、４分の１となる。このため、図５に示すように、出力Ａ’が「０」から「１」に変化する確率が１６分の３となり、また、出力Ａ’が「１」から「０」に変化する確率も１６分の３となる。この結果、図６に示すように、並び替え回路１１が並び替え処理を行うことで、信号変化確率が「８分の３」となり、並び替え処理を行っていない従来技術の信号変化率「２分の１」と比べて、信号変化率を低くすることができる。
【００２６】
２入力加算器１２は、並び替え回路１１によって並び替えられた入力信号を順次受け付けて、加算処理を行う。ここで、２入力加算器１２は、入力信号が変化した場合にのみ電流を流す回路であり、かつ、２つの入力信号が等価で同じ重みを持ったビットの信号を並び替えても結果が変化しない回路である。
【００２７】
［演算回路による処理］
次に、図７を用いて、実施例１に係る演算回路１０による処理を説明する。図７は、実施例１に係る演算回路１０の処理動作を示すフローチャートである。
【００２８】
同図に示すように、演算回路１０の並び替え回路１１は、入力信号を受信すると（ステップＳ１０１肯定）、入力信号のパターンが並び替え処理を行う必要があるか判断する（ステップＳ１０２）。そして、並び替え回路１１は、入力信号のパターンが並び替え処理を行う必要がないと判断した場合には（ステップＳ１０２否定）、並び替え処理を行わない。
【００２９】
また、並び替え回路１１は、入力信号のパターンが並び替え処理を行う必要があると判断した場合には（ステップＳ１０２肯定）、入力信号に対して、並び替え処理を行う（ステップＳ１０３）。そして、２入力加算器１２は、入力信号を順次受け付けて、演算処理を行う（ステップＳ１０４）。
【００３０】
[実施例１の効果]
上述してきたように、演算回路１０は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替える。そして、演算回路１０は、並び替えられた入力信号を順次受け付けて、演算処理を行う。このため、演算回路１０は、信号変化率を低くできる結果、回路動作時における消費電力を削減することが可能である。
【００３１】
また、演算回路１０は、２つの経路から入力信号が入力される場合に、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、信号変化率を低くできる結果、回路動作時における消費電力を削減することが可能である。
【実施例２】
【００３２】
ところで、上記の実施例１では、２入力加算器の前段に並び替え回路を設置する場合を説明したが、３入力加算器の前段に並び替え回路を設置するようにしてもよい。
【００３３】
そこで、以下の実施例２では、３入力加算器の前段に並び替え回路を設置する場合として、図８〜図１１を用いて、実施例２における演算回路１０Ａの構成および処理について説明する。図８は、実施例２に係る演算回路の構成を示すブロック図である。図９は、実施例２に係る並び替え回路における入力および出力の関係について説明するための図である。図１０は、実施例２に係る並び替え回路の構成を説明するための図である。図１１は、実施例２に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
【００３４】
図８に示すように、実施例２に係る演算回路１０Ａは、並び替え回路２１〜２１ｎ、３入力加算器２２を有し、各並び替え回路２１〜２１ｎが３本の信号線等を介して３入力加算器２２と接続される。
【００３５】
そして、実施例１とは異なり、実施例２に係る演算回路１０Ａの並び替え回路２１は、３つの入力信号を受信し、３つの入力信号の組み合わせパターンについて並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。
【００３６】
例えば、並び替え回路２１は、図９に示すように、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「１」に並び替え、入力Ａが「１」で入力Ｂが「０」で入力Ｃが「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「１」に並び替える。
【００３７】
また、並び替え回路２１は、入力Ａが「１」で入力Ｂが「０」で入力Ｃが「１」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」、出力Ｃ’を「１」に並び替え、入力Ａが「１」で入力Ｂが「１」で入力Ｃが「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」、出力Ｃ’を「１」に並び替える。
【００３８】
ここで、図１０を用いて、並び替え回路２１の詳しい回路構成を説明する。図１０に示すように、並び替え回路２１は、複数のＮＡＮＤ回路と、複数のＮＯＲ回路と、複数のインバータとを有する。例えば、並び替え回路２１は、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「０」である場合には、入力Ａ「０」を入力されたインバータが「１」を出力し、次段のＮＯＲ回路が出力Ａ’として「０」を出力する。
【００３９】
また、並び替え回路２１は、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「０」である場合には、入力Ｂ「１」および入力Ｃ「０」を入力されたＮＡＮＤ回路が「１」を出力し、次段のＢ‘に接続されるＮＡＮＤ回路の一方の入力が「１」となり、入力Ａ「０」を入力されたインバータが「１」を出力し、ＮＡＮＤ回路およびインバータを通り出力Ｂ’に接続されるＮＡＮＤ回路のもう一方の入力が「１」となる。したがって、ＮＡＮＤ回路の両方の入力が「１」となるため出力Ｂ’として「０」を出力される。また、並び替え回路２１は、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「０」である場合には、入力Ｂ「１」および入力Ｃ「０」を入力されたＮＯＲ回路が「０」を出力し、次段のＮＡＮＤ回路が出力Ｃ’として「１」を出力する。
【００４０】
つまり、並び替え回路２１は、出力Ａ’がなるべく「０」となるように、出力Ｃ’がなるべく「１」となるように、並び替え処理を行っている。このように、出力Ａ’および出力Ｃ’が特定の値となるように偏らせることで、当サイクルから次サイクルで入力信号が変化する確率である信号変化確率を低くすることができる。
【００４１】
この場合に、並び替え回路２１が並び替え処理を行うことで、出力Ａ’について、「０」または「１」の出現確率がそれぞれ８分の７、８分の１となる。このため、出力Ａ’が「０」から「１」に変化する確率が６４分の７となり、また、出力Ａ’が「１」から「０」に変化する確率も６４分の７となる。この結果、図１１に示すように、並び替え回路２１が並び替え処理を行うことで、信号変化確率が「３２分の７」となり、並び替え処理を行っていない従来技術の信号変化率「２分の１」と比べて、信号変化率を低くすることができる。
【００４２】
このように、実施例２に係る演算回路１０Ａでは、３つの経路から入力信号が入力される場合に、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、信号変化率を低くできる結果、回路動作時における消費電力を削減することが可能である。
【実施例３】
【００４３】
ところで、上記の実施例２では、３入力加算器の前段に並び替え回路を設置する場合を説明したが、実施例２の並び替え回路をより簡単化してもよい。そこで、以下の実施例３では、並び替え回路をより簡単化した並び替え回路を設置した場合として、図１２〜図１４を用いて、実施例３における演算回路の構成および処理について説明する。図１２は、実施例３に係る並び替え回路における入力および出力の関係について説明するための図である。図１３は、実施例３に係る並び替え回路の構成を説明するための図である。図１４は、実施例３に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
【００４４】
実施例３に係る演算回路の並び替え回路２１Ａは、実施例２と同様に、３つの入力信号を受信し、３つの入力信号の組み合わせパターンが並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。
【００４５】
ここで、実施例３に係る並び替え回路２１Ａでは、図１２に示すように、実施例２と異なり、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「１」である場合には、出力Ａ’を「１」、出力Ｂ’を「０」、出力Ｃ’を「１」に並び替える。これにより、並び替え回路をより簡単化することができる。
【００４６】
ここで、図１３を用いて、並び替え回路２１Ａの詳しい回路構成を説明する。図１３に示すように、並び替え回路２１Ａは、実施例２の並び替え回路２１と比して、ＮＡＮＤ回路とＮＯＲ回路をそれぞれ一つずつ削減した回路構成とすることができる。
【００４７】
また、並び替え回路２１Ａが並び替え処理を行うことで、出力Ａ’について、「０」または「１」の出現確率がそれぞれ８分の６、８分の２となる。このため、出力Ａ’が「０」から「１」に変化する確率が６４分の１２となり、また、出力Ａ’が「１」から「０」に変化する確率も６４分の１２となる。この結果、図１４に示すように、並び替え回路２１が並び替え処理を行うことで、信号変化確率が「８分の３」となり、並び替え処理を行っていない従来技術の信号変化率「２分の１」と比べて、信号変化率を低くすることができる。
【００４８】
このように、実施例３に係る演算回路では、回路構成が簡単化された並び替え回路２１Ａを用いて、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、回路規模を縮小しつつ、信号変化率を低くして回路動作時における消費電力を削減することが可能である。
【実施例４】
【００４９】
ところで、上記の実施例２では、３入力加算器の前段に並び替え回路を設置する場合を説明したが、４入力加算器の前段に並び替え回路を設置するようにしてもよい。
【００５０】
そこで、以下の実施例４では、４入力加算器の前段に並び替え回路を設置する場合として、図１５〜図１８を用いて、実施例４における演算回路１０Ｂの構成および処理について説明する。図１５は、実施例４に係る演算回路の構成を示すブロック図である。図１６は、実施例４に係る並び替え回路における入力および出力の関係について説明するための図である。図１７は、実施例４に係る並び替え回路の構成を説明するための図である。図１８は、実施例４に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
【００５１】
図１５に示すように、実施例４に係る演算回路１０Ｂは、並び替え回路３１〜３１ｎ、４入力加算器３２を有し、各並び替え回路３１〜３１ｎが４本の信号線等を介して４入力加算器３２と接続される。
【００５２】
そして、実施例１とは異なり、実施例４に係る演算回路１０Ｂの並び替え回路３１は、４つの入力信号を受信し、４つの入力信号の組み合わせパターンについて並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。
【００５３】
例えば、並び替え回路３１は、図１６に示すように、入力Ａが「０」で入力Ｂが「０」で入力Ｃが「１」で入力Ｄが「０」ある場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「０」、出力Ｄ’を「１」に並び替え、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「０」で入力Ｄが「０」ある場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「０」、出力Ｄ’を「１」に並び替える。
【００５４】
また、並び替え回路３１は、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「０」で入力Ｄが「１」ある場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「１」、出力Ｄ’を「１」に並び替え、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「１」で入力Ｄが「０」ある場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「１」、出力Ｄ’を「１」に並び替える。
【００５５】
また、並び替え回路３１は、入力Ａが「１」で入力Ｂが「０」で入力Ｃが「０」で入力Ｄが「０」ある場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「０」、出力Ｄ’を「１」に並び替え、入力Ａが「１」で入力Ｂが「０」で入力Ｃが「０」で入力Ｄが「１」ある場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「１」、出力Ｄ’を「１」に並び替える。
【００５６】
また、並び替え回路３１は、入力Ａが「１」で入力Ｂが「０」で入力Ｃが「１」で入力Ｄが「０」ある場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「１」、出力Ｄ’を「１」に並び替え、入力Ａが「１」で入力Ｂが「０」で入力Ｃが「１」で入力Ｄが「１」ある場合には、出力Ａ’を「０」、出力Ｂ’を「１」、出力Ｃ’を「１」、出力Ｄ’を「１」に並び替える。
【００５７】
また、並び替え回路３１は、入力Ａが「１」で入力Ｂが「１」で入力Ｃが「０」で入力Ｄが「０」ある場合には、出力Ａ’を「０」、出力Ｂ’を「０」、出力Ｃ’を「１」、出力Ｄ’を「１」に並び替え、入力Ａが「１」で入力Ｂが「１」で入力Ｃが「０」で入力Ｄが「１」ある場合には、出力Ａ’を「０」、出力Ｂ’を「１」、出力Ｃ’を「１」、出力Ｄ’を「１」に並び替える。
【００５８】
また、並び替え回路３１は、入力Ａが「１」で入力Ｂが「１」で入力Ｃが「１」で入力Ｄが「０」ある場合には、出力Ａ’を「０」、出力Ｂ’を「１」、出力Ｃ’を「１」、出力Ｄ’を「１」に並び替える。
【００５９】
ここで、図１７を用いて、並び替え回路３１の詳しい回路構成を説明する。図１７に示すように、並び替え回路３１は、複数のＮＡＮＤ回路と、複数のＮＯＲ回路と、複数のインバータとを有する。例えば、並び替え回路３１は、入力Ａが「０」で入力Ｂが「１」で入力Ｃが「１」で入力Ｄが「０」ある場合には、ＮＡＮＤ回路、ＮＯＲ回路、インバータを介して、出力Ａ’として「０」、出力Ｂ’として「０」、出力Ｃ’として「１」、出力Ｄ’として「１」が出力される。
【００６０】
つまり、並び替え回路３１では、出力Ａ’、出力Ｂ’、出力Ｃ’、出力Ｄ’の順に、優先して出力値が「０」となるように、また、出力Ｄ’、出力Ｃ’、出力Ｂ’、出力Ａ’の順に、優先して出力値が「１」となるように並び替え処理を行っている。このように、出力Ａ’、出力Ｂ’、出力Ｃ’、出力Ｄ’が特定の値となるように偏らせることで、当サイクルから次サイクルで入力信号が変化する確率である信号変化確率を低くすることができる。
【００６１】
この場合に、並び替え回路３１が並び替え処理を行うことで、出力Ａ’について、「０」または「１」の出現確率がそれぞれ１６分の１５、１６分の１となる。このため、出力Ａ’が「０」から「１」に変化する確率が２５６分の１５となり、また、出力Ａ’が「１」から「０」に変化する確率も２５６分の１５となる。この結果、図１８に示すように、並び替え回路３１が並び替え処理を行うことで、信号変化確率が「１２８分の１５」となり、並び替え処理を行っていない従来技術の信号変化率「２分の１」と比べて、信号変化率を低くすることができる。
【００６２】
このように、実施例４に係る演算回路１０Ｂでは、４つの経路から入力信号が入力される場合に、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、信号変化率を低くできる結果、回路動作時における消費電力を削減することが可能である。
【実施例５】
【００６３】
ところで、上記の実施例４では、４入力加算器の前段に並び替え回路を設置する場合を説明したが、実施例４の並び替え回路をより簡単化してもよい。そこで、以下の実施例５では、並び替え回路をより簡単化した並び替え回路を設置した場合として、図１９〜図２２を用いて、実施例５における演算回路の構成および処理について説明する。図１９は、実施例５に係る並び替え回路における入力および出力の関係について説明するための図である。図２０は、実施例５に係る並び替え回路の構成を説明するための図である。図２１は、実施例５に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。図２２は、回路規模および消費電力について、実施例５と従来例とを比較するための図である。
【００６４】
実施例５に係る演算回路の並び替え回路３１Ａは、実施例４と同様に、４つの入力信号を受信し、４つの入力信号の組み合わせパターンが並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。
【００６５】
ここで、実施例５に係る並び替え回路３１Ａでは、図１９に示すように、実施例４と異なり、入力Ａが「０」で入力Ｂが「０」で入力Ｃが「１」で入力Ｄが「１」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」、出力Ｃ’を「０」、出力Ｄ’を「１」に並び替える。また、並び替え回路３１Ａでは、入力Ａが「１」で入力Ｂが「１」で入力Ｃが「０」で入力Ｄが「０」である場合には、出力Ａ’を「０」、出力Ｂ’を「１」、出力Ｃ’を「０」、出力Ｄ’を「１」に並び替える。これにより、並び替え回路をより簡単化することができる。
【００６６】
ここで、図２０を用いて、並び替え回路３１Ａの詳しい回路構成を説明する。図２０に示すように、並び替え回路３１Ａは、実施例４の並び替え回路３１と比して、ＮＡＮＤ回路とＮＯＲ回路とインバータをそれぞれ二つずつ削減した回路構成とすることができる。
【００６７】
また、並び替え回路３１Ａが並び替え処理を行うことで、図２１に示すように、実施例５と同様に、出力Ａ’および出力Ｄ’について、信号変化確率が「１２８分の１５」となり、並び替え処理を行っていない従来技術の信号変化率「２分の１」と比べて、信号変化率を低くすることができる。なお、実施例５と比して、出力Ｂ’および出力Ｃ’については、信号変化率が高くなってしまう。
【００６８】
このように、実施例５に係る演算回路では、回路構成が簡単化された並び替え回路３１Ａを用いて、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、回路規模を縮小しつつ、信号変化率を低くして回路動作時における消費電力を削減することが可能である。
【００６９】
ここで、図２２を用いて、回路規模および消費電力について、実施例５と従来例とを比較する。図２２に示すように、実施例５の演算回路は、並び替え回路が設置されていない従来例と比して、回路規模が大きいが、消費電力を低減することができる。
【実施例６】
【００７０】
ところで、並び替え回路の後段であって入力加算器の前段にラッチを設置するようにしてもよい。そこで、以下の実施例６では、並び替え回路の後段であって入力加算器の前段にラッチを設置する場合として、図２３を用いて、実施例６における演算回路１０Ｃの構成および処理について説明する。図２３は、実施例６に係る演算回路の構成を示すブロック図である。
【００７１】
図２３に示すように、演算回路１０Ｃは、実施例１の演算回路１０と比較して、ラッチ１３を新たに有する点が相違する。かかる演算回路１０Ｃにおいて、ラッチ１３は、２入力加算器１２に入力される入力信号の入力タイミングを揃える。
【００７２】
このため、２入力の変化タイミングが異なっていても、ラッチ１３から２入力加算器１２に入力される入力信号のタイミングのずれによる変化を抑えることができる。なお、加算器が３入力以上の場合でも同様に適用することができる。
【００７３】
このように、実施例６に係る演算回路１０Ｃでは、複数の経路からそれぞれ入力信号が入力される場合に、並び替え回路によって並び替えられた入力信号を各経路から受信し、各経路の入力信号の入力タイミングを揃えて、加算器に出力する。このため、加算器１２に入力される入力信号のタイミングのずれによる変化を抑えることが可能である。
【実施例７】
【００７４】
ところで、上記の実施例１〜実施例６では、一種類の並び替え回路を設置する場合を説明したが、複数種類の並び替え回路を設置し、いずれの並び替え回路を使用するか選択するようにしてもよい。そこで、以下の実施例７では、入力信号を観測し、観測結果に応じて、いずれの並び替え回路を使用するか選択する場合として、図２４を用いて、実施例７における演算回路１０Ｄの構成および処理について説明する。図２４は、実施例７に係る演算回路の構成を示すブロック図である。
【００７５】
図２４に示すように、演算回路１０Ｄは、実施例１の演算回路１０と比較して、複数種類の並び替え回路１１、観測回路１４およびセレクタ１５を新たに有する点が相違する。かかる演算回路１０Ｄにおいて、各並び替え回路１１は、それぞれ入力信号の並び替え方法が異なり、入力信号に対する入出力関係が異なっている。
【００７６】
観測回路１４は、各並び替え回路１１の入力信号を観測している。具体的には、観測回路１４は、各並び替え回路１１に入力される入力信号が「０」または「１」のいずれであるかをカウントし、それぞれの出現の割合が偏っているか否かを観測している。そして、観測回路１４は、観測結果に応じて、セレクタ１５で使用する並び替え回路１１を選択し、使用されない並び替え回路および観測回路の電源を止める。
【００７７】
つまり、入力パターンがランダムではなく「０」または「１」の出現割合に偏りがある場合に、並び替えの方法によっては逆に信号の動作する確率を増加させてしまい、消費電力が増加してしまう場合がある。このため、演算回路１０Ｄは、最適な並び替え回路を選択することで、消費電力を削減することができる。
【００７８】
このように、実施例７に係る演算回路１０Ｄでは、入力信号を並び替える方法がそれぞれ異なる複数の並び替え回路を有し、複数の並び替え回路に入力される入力信号を観測し、観測された入力信号の観測結果に応じて、複数の並び替え回路から一の並び替え回路を選択する。このため、入力信号の出現確率に応じて最適な並び替え回路を選択し、回路動作時における消費電力を削減することができる。
【実施例８】
【００７９】
さて、これまで実施例１〜７について説明したが、本実施例は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例８として本実施例に含まれる他の実施例を説明する。
【００８０】
（１）対象回路
上記の実施例１〜７の例では、回路動作時における消費電力を削減する対象回路として加算器を適用する場合を説明したが、本実施例はこれに限定されるものではなく、入力信号が変化した場合にのみ電流を流す回路であり、かつ、２つの入力信号が等価で同じ重みを持ったビットの信号を並び替えても結果が変化しない回路であれば適用できる。例えば、加算器の代わりに乗算器を適用しても本実施例は、実現可能である。
【００８１】
（２）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８２】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８３】
（３）プログラム
なお、本実施例で説明した省電力方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００８４】
１０、１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ  演算回路
１１、２１、３１  並び替え回路
１２  ２入力加算器
２２  ３入力加算器
３２  ４入力加算器
１３  ラッチ
１４  観測回路
１５  セレクタ
【図１】
2010271946.tif 000003
【図２】
2010271946.tif 000004
【図３】
2010271946.tif 000005
【図４】
2010271946.tif 000006
【図５】
2010271946.tif 000007
【図６】
2010271946.tif 000008
【図７】
2010271946.tif 000009
【図８】
2010271946.tif 000010
【図９】
2010271946.tif 000011
【図１０】
2010271946.tif 000012
【図１１】
2010271946.tif 000013
【図１２】
2010271946.tif 000014
【図１３】
2010271946.tif 000015
【図１４】
2010271946.tif 000016
【図１５】
2010271946.tif 000017
【図１６】
2010271946.tif 000018
【図１７】
2010271946.tif 000019
【図１８】
2010271946.tif 000020
【図１９】
2010271946.tif 000021
【図２０】
2010271946.tif 000022
【図２１】
2010271946.tif 000023
【図２２】
2010271946.tif 000024
【図２３】
2010271946.tif 000025
【図２４】
2010271946.tif 000026