JP2010271946A - 演算回路および省電力方法 - Google Patents

演算回路および省電力方法 Download PDF

Info

Publication number
JP2010271946A
JP2010271946A JP2009123499A JP2009123499A JP2010271946A JP 2010271946 A JP2010271946 A JP 2010271946A JP 2009123499 A JP2009123499 A JP 2009123499A JP 2009123499 A JP2009123499 A JP 2009123499A JP 2010271946 A JP2010271946 A JP 2010271946A
Authority
JP
Japan
Prior art keywords
input
circuit
rearrangement
output
signals
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
JP2009123499A
Other languages
English (en)
Other versions
JP5375331B2 (ja
Inventor
Kazuhiro Abe
一広 阿部
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009123499A priority Critical patent/JP5375331B2/ja
Priority to US12/783,085 priority patent/US20100299382A1/en
Publication of JP2010271946A publication Critical patent/JP2010271946A/ja
Application granted granted Critical
Publication of JP5375331B2 publication Critical patent/JP5375331B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00346Modifications for eliminating interference or parasitic voltages or currents
    • H03K19/00361Modifications for eliminating interference or parasitic voltages or currents in field effect transistor circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/151Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with two complementary outputs
    • H03K5/1515Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with two complementary outputs non-overlapping

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Power Sources (AREA)

Abstract

【課題】回路動作時における消費電力を削減することを課題とする。
【解決手段】演算回路10の並び替え回路11は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替える。具体的には、演算回路10の並び替え回路11は、各経路から入力された入力A、入力Bの値が偏るように、入力Aが「1」で入力Bが「0」である場合には、出力A’を「0」、出力B’を「1」に並び替える。そして、2入力加算器12は、並び替え回路11によって並び替えられた入力信号を順次受け付けて、演算処理を行う。
【選択図】 図1

Description

本発明は、演算回路および省電力方法に関する。
従来より、入力信号が変化した場合に、P型トランジスタ及びN型トランジスタのスイッチング動作により、電源からグラウンドに電流が流れるCMOS(Complementary Metal Oxide Semiconductor)回路が知られている。このようなCMOS回路の消費電力には、動作していないときに回路に流れる定常電流によって消費される待機時電力と、上述した回路のスイッチング動作で流れる電流によって消費される動作時電力とが存在する。
ここで、CMOS回路は、回路の動作率(すなわち、トランジスタのスイッチング回数)が高いほど動作時電力も大きくなり、消費電力も大きくなる。例えば、CMOS回路は、入力信号として、「0」と「1」が交互に入力された場合には、スイッチング動作を行い、入力信号が変化するたびに動作時の消費電力が発生することとなる。
特開昭63−65711号公報 特開平8−250999号公報
上記した従来の技術では、入力信号が変化するごとに、動作時の消費電力が発生するので、入力信号として、「0」と「1」が交互に入力される頻度が高いような回路にCMOS論理を用いた場合には、多大な電力を消費してしまう。
開示の技術は、上記に鑑みてなされたものであって、回路動作時における消費電力の削減を実現することを目的とする。
本願の開示する演算回路は、一つの態様において、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号が変化しないように入力信号を並び替える。
本願の開示する演算回路の一つの態様によれば、回路動作時における消費電力を削減することができるという効果を奏する。
図1は、実施例1に係る演算回路の概要を説明するための図である。 図2は、実施例1に係る演算回路の構成を示すブロック図である。 図3は、実施例1に係る並び替え回路における入力および出力の関係について説明するための図である。 図4は、実施例1に係る並び替え回路の構成を説明するための図である。 図5は、入力信号の変化パターンに対する確率を説明するための図である。 図6は、実施例1に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。 図7は、実施例1に係る演算回路の処理動作を示すフローチャートである。 図8は、実施例2に係る演算回路の構成を示すブロック図である。 図9は、実施例2に係る並び替え回路における入力および出力の関係について説明するための図である。 図10は、実施例2に係る並び替え回路の構成を説明するための図である。 図11は、実施例2に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。 図12は、実施例3に係る並び替え回路における入力および出力の関係について説明するための図である。 図13は、実施例3に係る並び替え回路の構成を説明するための図である。 図14は、実施例3に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。 図15は、実施例4に係る演算回路の構成を示すブロック図である。 図16は、実施例4に係る並び替え回路における入力および出力の関係について説明するための図である。 図17は、実施例4に係る並び替え回路の構成を説明するための図である。 図18は、実施例4に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。 図19は、実施例5に係る並び替え回路における入力および出力の関係について説明するための図である。 図20は、実施例5に係る並び替え回路の構成を説明するための図である。 図21は、実施例5に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。 図22は、回路規模および消費電力について、実施例5と従来例とを比較するための図である。 図23は、実施例6に係る演算回路の構成を示すブロック図である。 図24は、実施例7に係る演算回路の構成を示すブロック図である。
以下に添付図面を参照して、この発明に係る演算回路および省電力方法の実施例を詳細に説明する。
以下の実施例では、実施例1に係る演算回路の概要、演算回路の構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。なお、以下では、省電力の対象回路として、加算回路を適用する場合の例について説明する。
[実施例1に係る演算回路の概要]
まず最初に、図1を用いて、実施例1に係る演算回路の概要を説明する。図1は、実施例1に係る演算回路の概要を説明するための図である。
図1に示すように、演算回路10では、2入力加算器12の前段に複数の並び替え回路11〜11nが設置され、各並び替え回路11〜11nと2入力加算器とが2本の信号線で接続されている。このような構成のもと、演算回路10では、信号線を介して、各並び替え回路11〜11nから2入力加算器へ2つの入力信号(図1の例では、入力A、入力B)が入力される。
実施例1に係る演算回路10の並び替え回路11は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替える(図1の(1)参照)。具体的には、演算回路10の並び替え回路11は、各経路から入力された入力A、入力Bの値が偏るように、入力Aが「1」で入力Bが「0」である場合には、出力A’を「0」、出力B’を「1」に並び替える。
つまり、並び替え回路11に入力される入力信号「0」または「1」である確率(以下、出現確率という)が共に2分の1である場合に、4通りの入力パターン(入力A「0」および入力B「0」、入力A「0」および入力B「1」、入力A「1」および入力B「0」、入力A「1」および入力B「1」)が全て同確率(4分の1)となる。
このような場合に、並び替え処理を行った結果、出力A’について、「0」または「1」の出現確率がそれぞれ4分の3、4分の1となるため、当サイクルから次サイクルで入力信号が変化する確率である信号変化確率を低くすることができる(後に詳述する図5参照)。ここで、当サイクルから次サイクルで変化する確率とは、出力A’が「0」から「1」に変化する確率と、出力A’が「1」から「0」に変化する確率との和をいう。
そして、2入力加算器12は、並び替え回路11によって並び替えられた入力信号を順次受け付けて、演算処理を行う(図1の(2)参照)。ここで、2入力加算器12は、入力信号が変化した場合にのみ電流を流す回路であり、かつ、2つの入力信号が等価で同じ重みを持ったビットの信号を並び替えても結果が変化しない回路である。
このように、演算回路10は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替えるので、入力信号の変化信号変化確率を低くすることができる結果、消費電力の低減を図ることが可能である。
[演算回路の構成]
次に、図2を用いて、図1に示した演算回路10の構成を説明する。図2は、実施例1に係る演算回路10の構成を示すブロック図である。同図に示すように、この演算回路10は、並び替え回路11、2入力加算器12を有し、信号線等を介して並び替え回路11と2入力加算器12とが接続される。以下にこれらの各部の処理を説明する。
並び替え回路11は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替える。具体的には、並び替え回路11は、2つの入力信号を受信し、2つの入力信号の組み合わせパターンが並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。例えば、並び替え回路11は、入力Aが「1」で入力B「0」である場合には、出力A’を「0」、出力B’を「1」に並び替える。
ここで、図3を用いて、並び替え回路11における入力および出力の関係について説明するための図である。図3は、実施例1に係る並び替え回路における入力および出力の関係について説明するための図である。図3に示すように、並び替え回路11は、入力Aが「0」で入力Bが「0」である場合、入力Aが「0」で入力Bが「1」である場合、および、入力Aが「1」で入力Bが「1」である場合には、入力信号を並び替えずに出力する。また、並び替え回路11は、入力Aが「1」で入力Bが「0」である場合には、出力A’を「0」、出力B’を「1」に並び替える。
ここで、図4を用いて、並び替え回路11の詳しい回路構成を説明する。図4は、実施例1に係る並び替え回路の構成を説明するための図である。図4に示すように、並び替え回路11は、NAND回路と、NOR回路と、インバータとを有する。例えば、並び替え回路11は、入力Aが「1」で入力Bが「0」である場合には、NAND回路が「1」を出力し、インバータが出力A’として「0」を出力する。また、並び替え回路11は、入力Aが「1」で入力Bが「0」である場合には、NOR回路が「0」を出力し、インバータが出力B’として「1」を出力する。
ここで、図5を用いて、入力信号の変化パターンに対する信号変化確率について説明する。図5は、入力信号の変化パターンに対する確率を説明するための図である。上記したように、並び替え回路11は、入力Aが「1」で入力B「0」である場合には、出力A’を「0」、出力B’を「1」に並び替える処理を行っている。
つまり、並び替え回路11に入力される入力信号「0」または「1」である確率(以下、出現確率という)が共に2分の1である場合に、4通りの入力パターン(入力A「0」および入力B「0」、入力A「0」および入力B「1」、入力A「1」および入力B「0」、入力A「1」および入力B「1」)が全て同確率(4分の1)となる。
この場合に、並び替え回路11が並び替え処理を行うことで、出力A’について、「0」または「1」の出現確率がそれぞれ4分の3、4分の1となる。このため、図5に示すように、出力A’が「0」から「1」に変化する確率が16分の3となり、また、出力A’が「1」から「0」に変化する確率も16分の3となる。この結果、図6に示すように、並び替え回路11が並び替え処理を行うことで、信号変化確率が「8分の3」となり、並び替え処理を行っていない従来技術の信号変化率「2分の1」と比べて、信号変化率を低くすることができる。
2入力加算器12は、並び替え回路11によって並び替えられた入力信号を順次受け付けて、加算処理を行う。ここで、2入力加算器12は、入力信号が変化した場合にのみ電流を流す回路であり、かつ、2つの入力信号が等価で同じ重みを持ったビットの信号を並び替えても結果が変化しない回路である。
[演算回路による処理]
次に、図7を用いて、実施例1に係る演算回路10による処理を説明する。図7は、実施例1に係る演算回路10の処理動作を示すフローチャートである。
同図に示すように、演算回路10の並び替え回路11は、入力信号を受信すると(ステップS101肯定)、入力信号のパターンが並び替え処理を行う必要があるか判断する(ステップS102)。そして、並び替え回路11は、入力信号のパターンが並び替え処理を行う必要がないと判断した場合には(ステップS102否定)、並び替え処理を行わない。
また、並び替え回路11は、入力信号のパターンが並び替え処理を行う必要があると判断した場合には(ステップS102肯定)、入力信号に対して、並び替え処理を行う(ステップS103)。そして、2入力加算器12は、入力信号を順次受け付けて、演算処理を行う(ステップS104)。
[実施例1の効果]
上述してきたように、演算回路10は、順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように入力信号を並び替える。そして、演算回路10は、並び替えられた入力信号を順次受け付けて、演算処理を行う。このため、演算回路10は、信号変化率を低くできる結果、回路動作時における消費電力を削減することが可能である。
また、演算回路10は、2つの経路から入力信号が入力される場合に、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、信号変化率を低くできる結果、回路動作時における消費電力を削減することが可能である。
ところで、上記の実施例1では、2入力加算器の前段に並び替え回路を設置する場合を説明したが、3入力加算器の前段に並び替え回路を設置するようにしてもよい。
そこで、以下の実施例2では、3入力加算器の前段に並び替え回路を設置する場合として、図8〜図11を用いて、実施例2における演算回路10Aの構成および処理について説明する。図8は、実施例2に係る演算回路の構成を示すブロック図である。図9は、実施例2に係る並び替え回路における入力および出力の関係について説明するための図である。図10は、実施例2に係る並び替え回路の構成を説明するための図である。図11は、実施例2に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
図8に示すように、実施例2に係る演算回路10Aは、並び替え回路21〜21n、3入力加算器22を有し、各並び替え回路21〜21nが3本の信号線等を介して3入力加算器22と接続される。
そして、実施例1とは異なり、実施例2に係る演算回路10Aの並び替え回路21は、3つの入力信号を受信し、3つの入力信号の組み合わせパターンについて並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。
例えば、並び替え回路21は、図9に示すように、入力Aが「0」で入力Bが「1」で入力Cが「0」である場合には、出力A’を「0」、出力B’を「0」、出力C’を「1」に並び替え、入力Aが「1」で入力Bが「0」で入力Cが「0」である場合には、出力A’を「0」、出力B’を「0」、出力C’を「1」に並び替える。
また、並び替え回路21は、入力Aが「1」で入力Bが「0」で入力Cが「1」である場合には、出力A’を「0」、出力B’を「1」、出力C’を「1」に並び替え、入力Aが「1」で入力Bが「1」で入力Cが「0」である場合には、出力A’を「0」、出力B’を「1」、出力C’を「1」に並び替える。
ここで、図10を用いて、並び替え回路21の詳しい回路構成を説明する。図10に示すように、並び替え回路21は、複数のNAND回路と、複数のNOR回路と、複数のインバータとを有する。例えば、並び替え回路21は、入力Aが「0」で入力Bが「1」で入力Cが「0」である場合には、入力A「0」を入力されたインバータが「1」を出力し、次段のNOR回路が出力A’として「0」を出力する。
また、並び替え回路21は、入力Aが「0」で入力Bが「1」で入力Cが「0」である場合には、入力B「1」および入力C「0」を入力されたNAND回路が「1」を出力し、次段のB‘に接続されるNAND回路の一方の入力が「1」となり、入力A「0」を入力されたインバータが「1」を出力し、NAND回路およびインバータを通り出力B’に接続されるNAND回路のもう一方の入力が「1」となる。したがって、NAND回路の両方の入力が「1」となるため出力B’として「0」を出力される。また、並び替え回路21は、入力Aが「0」で入力Bが「1」で入力Cが「0」である場合には、入力B「1」および入力C「0」を入力されたNOR回路が「0」を出力し、次段のNAND回路が出力C’として「1」を出力する。
つまり、並び替え回路21は、出力A’がなるべく「0」となるように、出力C’がなるべく「1」となるように、並び替え処理を行っている。このように、出力A’および出力C’が特定の値となるように偏らせることで、当サイクルから次サイクルで入力信号が変化する確率である信号変化確率を低くすることができる。
この場合に、並び替え回路21が並び替え処理を行うことで、出力A’について、「0」または「1」の出現確率がそれぞれ8分の7、8分の1となる。このため、出力A’が「0」から「1」に変化する確率が64分の7となり、また、出力A’が「1」から「0」に変化する確率も64分の7となる。この結果、図11に示すように、並び替え回路21が並び替え処理を行うことで、信号変化確率が「32分の7」となり、並び替え処理を行っていない従来技術の信号変化率「2分の1」と比べて、信号変化率を低くすることができる。
このように、実施例2に係る演算回路10Aでは、3つの経路から入力信号が入力される場合に、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、信号変化率を低くできる結果、回路動作時における消費電力を削減することが可能である。
ところで、上記の実施例2では、3入力加算器の前段に並び替え回路を設置する場合を説明したが、実施例2の並び替え回路をより簡単化してもよい。そこで、以下の実施例3では、並び替え回路をより簡単化した並び替え回路を設置した場合として、図12〜図14を用いて、実施例3における演算回路の構成および処理について説明する。図12は、実施例3に係る並び替え回路における入力および出力の関係について説明するための図である。図13は、実施例3に係る並び替え回路の構成を説明するための図である。図14は、実施例3に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
実施例3に係る演算回路の並び替え回路21Aは、実施例2と同様に、3つの入力信号を受信し、3つの入力信号の組み合わせパターンが並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。
ここで、実施例3に係る並び替え回路21Aでは、図12に示すように、実施例2と異なり、入力Aが「0」で入力Bが「1」で入力Cが「1」である場合には、出力A’を「1」、出力B’を「0」、出力C’を「1」に並び替える。これにより、並び替え回路をより簡単化することができる。
ここで、図13を用いて、並び替え回路21Aの詳しい回路構成を説明する。図13に示すように、並び替え回路21Aは、実施例2の並び替え回路21と比して、NAND回路とNOR回路をそれぞれ一つずつ削減した回路構成とすることができる。
また、並び替え回路21Aが並び替え処理を行うことで、出力A’について、「0」または「1」の出現確率がそれぞれ8分の6、8分の2となる。このため、出力A’が「0」から「1」に変化する確率が64分の12となり、また、出力A’が「1」から「0」に変化する確率も64分の12となる。この結果、図14に示すように、並び替え回路21が並び替え処理を行うことで、信号変化確率が「8分の3」となり、並び替え処理を行っていない従来技術の信号変化率「2分の1」と比べて、信号変化率を低くすることができる。
このように、実施例3に係る演算回路では、回路構成が簡単化された並び替え回路21Aを用いて、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、回路規模を縮小しつつ、信号変化率を低くして回路動作時における消費電力を削減することが可能である。
ところで、上記の実施例2では、3入力加算器の前段に並び替え回路を設置する場合を説明したが、4入力加算器の前段に並び替え回路を設置するようにしてもよい。
そこで、以下の実施例4では、4入力加算器の前段に並び替え回路を設置する場合として、図15〜図18を用いて、実施例4における演算回路10Bの構成および処理について説明する。図15は、実施例4に係る演算回路の構成を示すブロック図である。図16は、実施例4に係る並び替え回路における入力および出力の関係について説明するための図である。図17は、実施例4に係る並び替え回路の構成を説明するための図である。図18は、実施例4に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。
図15に示すように、実施例4に係る演算回路10Bは、並び替え回路31〜31n、4入力加算器32を有し、各並び替え回路31〜31nが4本の信号線等を介して4入力加算器32と接続される。
そして、実施例1とは異なり、実施例4に係る演算回路10Bの並び替え回路31は、4つの入力信号を受信し、4つの入力信号の組み合わせパターンについて並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。
例えば、並び替え回路31は、図16に示すように、入力Aが「0」で入力Bが「0」で入力Cが「1」で入力Dが「0」ある場合には、出力A’を「0」、出力B’を「0」、出力C’を「0」、出力D’を「1」に並び替え、入力Aが「0」で入力Bが「1」で入力Cが「0」で入力Dが「0」ある場合には、出力A’を「0」、出力B’を「0」、出力C’を「0」、出力D’を「1」に並び替える。
また、並び替え回路31は、入力Aが「0」で入力Bが「1」で入力Cが「0」で入力Dが「1」ある場合には、出力A’を「0」、出力B’を「0」、出力C’を「1」、出力D’を「1」に並び替え、入力Aが「0」で入力Bが「1」で入力Cが「1」で入力Dが「0」ある場合には、出力A’を「0」、出力B’を「0」、出力C’を「1」、出力D’を「1」に並び替える。
また、並び替え回路31は、入力Aが「1」で入力Bが「0」で入力Cが「0」で入力Dが「0」ある場合には、出力A’を「0」、出力B’を「0」、出力C’を「0」、出力D’を「1」に並び替え、入力Aが「1」で入力Bが「0」で入力Cが「0」で入力Dが「1」ある場合には、出力A’を「0」、出力B’を「0」、出力C’を「1」、出力D’を「1」に並び替える。
また、並び替え回路31は、入力Aが「1」で入力Bが「0」で入力Cが「1」で入力Dが「0」ある場合には、出力A’を「0」、出力B’を「0」、出力C’を「1」、出力D’を「1」に並び替え、入力Aが「1」で入力Bが「0」で入力Cが「1」で入力Dが「1」ある場合には、出力A’を「0」、出力B’を「1」、出力C’を「1」、出力D’を「1」に並び替える。
また、並び替え回路31は、入力Aが「1」で入力Bが「1」で入力Cが「0」で入力Dが「0」ある場合には、出力A’を「0」、出力B’を「0」、出力C’を「1」、出力D’を「1」に並び替え、入力Aが「1」で入力Bが「1」で入力Cが「0」で入力Dが「1」ある場合には、出力A’を「0」、出力B’を「1」、出力C’を「1」、出力D’を「1」に並び替える。
また、並び替え回路31は、入力Aが「1」で入力Bが「1」で入力Cが「1」で入力Dが「0」ある場合には、出力A’を「0」、出力B’を「1」、出力C’を「1」、出力D’を「1」に並び替える。
ここで、図17を用いて、並び替え回路31の詳しい回路構成を説明する。図17に示すように、並び替え回路31は、複数のNAND回路と、複数のNOR回路と、複数のインバータとを有する。例えば、並び替え回路31は、入力Aが「0」で入力Bが「1」で入力Cが「1」で入力Dが「0」ある場合には、NAND回路、NOR回路、インバータを介して、出力A’として「0」、出力B’として「0」、出力C’として「1」、出力D’として「1」が出力される。
つまり、並び替え回路31では、出力A’、出力B’、出力C’、出力D’の順に、優先して出力値が「0」となるように、また、出力D’、出力C’、出力B’、出力A’の順に、優先して出力値が「1」となるように並び替え処理を行っている。このように、出力A’、出力B’、出力C’、出力D’が特定の値となるように偏らせることで、当サイクルから次サイクルで入力信号が変化する確率である信号変化確率を低くすることができる。
この場合に、並び替え回路31が並び替え処理を行うことで、出力A’について、「0」または「1」の出現確率がそれぞれ16分の15、16分の1となる。このため、出力A’が「0」から「1」に変化する確率が256分の15となり、また、出力A’が「1」から「0」に変化する確率も256分の15となる。この結果、図18に示すように、並び替え回路31が並び替え処理を行うことで、信号変化確率が「128分の15」となり、並び替え処理を行っていない従来技術の信号変化率「2分の1」と比べて、信号変化率を低くすることができる。
このように、実施例4に係る演算回路10Bでは、4つの経路から入力信号が入力される場合に、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、信号変化率を低くできる結果、回路動作時における消費電力を削減することが可能である。
ところで、上記の実施例4では、4入力加算器の前段に並び替え回路を設置する場合を説明したが、実施例4の並び替え回路をより簡単化してもよい。そこで、以下の実施例5では、並び替え回路をより簡単化した並び替え回路を設置した場合として、図19〜図22を用いて、実施例5における演算回路の構成および処理について説明する。図19は、実施例5に係る並び替え回路における入力および出力の関係について説明するための図である。図20は、実施例5に係る並び替え回路の構成を説明するための図である。図21は、実施例5に係る演算回路図の信号変化率と従来技術の演算回路の信号変化率とを比較するための図である。図22は、回路規模および消費電力について、実施例5と従来例とを比較するための図である。
実施例5に係る演算回路の並び替え回路31Aは、実施例4と同様に、4つの入力信号を受信し、4つの入力信号の組み合わせパターンが並び替え処理を行う必要があると判断した場合には、入力信号に対して並び替え処理を行う。
ここで、実施例5に係る並び替え回路31Aでは、図19に示すように、実施例4と異なり、入力Aが「0」で入力Bが「0」で入力Cが「1」で入力Dが「1」である場合には、出力A’を「0」、出力B’を「1」、出力C’を「0」、出力D’を「1」に並び替える。また、並び替え回路31Aでは、入力Aが「1」で入力Bが「1」で入力Cが「0」で入力Dが「0」である場合には、出力A’を「0」、出力B’を「1」、出力C’を「0」、出力D’を「1」に並び替える。これにより、並び替え回路をより簡単化することができる。
ここで、図20を用いて、並び替え回路31Aの詳しい回路構成を説明する。図20に示すように、並び替え回路31Aは、実施例4の並び替え回路31と比して、NAND回路とNOR回路とインバータをそれぞれ二つずつ削減した回路構成とすることができる。
また、並び替え回路31Aが並び替え処理を行うことで、図21に示すように、実施例5と同様に、出力A’および出力D’について、信号変化確率が「128分の15」となり、並び替え処理を行っていない従来技術の信号変化率「2分の1」と比べて、信号変化率を低くすることができる。なお、実施例5と比して、出力B’および出力C’については、信号変化率が高くなってしまう。
このように、実施例5に係る演算回路では、回路構成が簡単化された並び替え回路31Aを用いて、各経路から入力された信号の値が偏るように、入力信号をそれぞれ並び替えるので、回路規模を縮小しつつ、信号変化率を低くして回路動作時における消費電力を削減することが可能である。
ここで、図22を用いて、回路規模および消費電力について、実施例5と従来例とを比較する。図22に示すように、実施例5の演算回路は、並び替え回路が設置されていない従来例と比して、回路規模が大きいが、消費電力を低減することができる。
ところで、並び替え回路の後段であって入力加算器の前段にラッチを設置するようにしてもよい。そこで、以下の実施例6では、並び替え回路の後段であって入力加算器の前段にラッチを設置する場合として、図23を用いて、実施例6における演算回路10Cの構成および処理について説明する。図23は、実施例6に係る演算回路の構成を示すブロック図である。
図23に示すように、演算回路10Cは、実施例1の演算回路10と比較して、ラッチ13を新たに有する点が相違する。かかる演算回路10Cにおいて、ラッチ13は、2入力加算器12に入力される入力信号の入力タイミングを揃える。
このため、2入力の変化タイミングが異なっていても、ラッチ13から2入力加算器12に入力される入力信号のタイミングのずれによる変化を抑えることができる。なお、加算器が3入力以上の場合でも同様に適用することができる。
このように、実施例6に係る演算回路10Cでは、複数の経路からそれぞれ入力信号が入力される場合に、並び替え回路によって並び替えられた入力信号を各経路から受信し、各経路の入力信号の入力タイミングを揃えて、加算器に出力する。このため、加算器12に入力される入力信号のタイミングのずれによる変化を抑えることが可能である。
ところで、上記の実施例1〜実施例6では、一種類の並び替え回路を設置する場合を説明したが、複数種類の並び替え回路を設置し、いずれの並び替え回路を使用するか選択するようにしてもよい。そこで、以下の実施例7では、入力信号を観測し、観測結果に応じて、いずれの並び替え回路を使用するか選択する場合として、図24を用いて、実施例7における演算回路10Dの構成および処理について説明する。図24は、実施例7に係る演算回路の構成を示すブロック図である。
図24に示すように、演算回路10Dは、実施例1の演算回路10と比較して、複数種類の並び替え回路11、観測回路14およびセレクタ15を新たに有する点が相違する。かかる演算回路10Dにおいて、各並び替え回路11は、それぞれ入力信号の並び替え方法が異なり、入力信号に対する入出力関係が異なっている。
観測回路14は、各並び替え回路11の入力信号を観測している。具体的には、観測回路14は、各並び替え回路11に入力される入力信号が「0」または「1」のいずれであるかをカウントし、それぞれの出現の割合が偏っているか否かを観測している。そして、観測回路14は、観測結果に応じて、セレクタ15で使用する並び替え回路11を選択し、使用されない並び替え回路および観測回路の電源を止める。
つまり、入力パターンがランダムではなく「0」または「1」の出現割合に偏りがある場合に、並び替えの方法によっては逆に信号の動作する確率を増加させてしまい、消費電力が増加してしまう場合がある。このため、演算回路10Dは、最適な並び替え回路を選択することで、消費電力を削減することができる。
このように、実施例7に係る演算回路10Dでは、入力信号を並び替える方法がそれぞれ異なる複数の並び替え回路を有し、複数の並び替え回路に入力される入力信号を観測し、観測された入力信号の観測結果に応じて、複数の並び替え回路から一の並び替え回路を選択する。このため、入力信号の出現確率に応じて最適な並び替え回路を選択し、回路動作時における消費電力を削減することができる。
さて、これまで実施例1〜7について説明したが、本実施例は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例8として本実施例に含まれる他の実施例を説明する。
(1)対象回路
上記の実施例1〜7の例では、回路動作時における消費電力を削減する対象回路として加算器を適用する場合を説明したが、本実施例はこれに限定されるものではなく、入力信号が変化した場合にのみ電流を流す回路であり、かつ、2つの入力信号が等価で同じ重みを持ったビットの信号を並び替えても結果が変化しない回路であれば適用できる。例えば、加算器の代わりに乗算器を適用しても本実施例は、実現可能である。
(2)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(3)プログラム
なお、本実施例で説明した省電力方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
10、10A、10B、10C、10D 演算回路
11、21、31 並び替え回路
12 2入力加算器
22 3入力加算器
32 4入力加算器
13 ラッチ
14 観測回路
15 セレクタ

Claims (5)

  1. 順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号とが変化しないように前記入力信号を並び替える並び替え部と、
    前記並び替え部によって並び替えられた前記入力信号を順次受け付けて、演算処理を行う演算処理部と、
    を備えることを特徴とする演算回路。
  2. 前記並び替え部は、複数の経路から入力信号が入力される場合に、各経路から入力された信号の値が偏るように、当該入力信号をそれぞれ並び替えることを特徴とする請求項1に記載の演算回路。
  3. 複数の経路からそれぞれ入力信号が入力される場合に、前記並び替え部によって並び替えられた前記入力信号を各経路から受信し、各経路の入力信号の入力タイミングを揃えて、前記演算処理部に出力することを特徴とする請求項1または2に記載の演算回路。
  4. 前記入力信号を並び替える方法がそれぞれ異なる複数の並び替え部と、
    前記複数の並び替え部に入力される入力信号を観測する観測部と、
    前記観測部によって観測された前記入力信号の観測結果に応じて、前記複数の並び替え部から一の並び替え部を選択する選択部と、
    をさらに備えることを特徴とする請求項1〜3のいずれか一つに記載の演算回路。
  5. 順次入力される信号である入力信号について、直前に入力された信号と現に入力された信号が変化しないように前記入力信号を並び替える並び替えステップと、
    前記並び替えステップによって並び替えられた前記入力信号を順次受け付けて、演算処理を行う演算処理ステップと、
    を含んだことを特徴とする省電力方法。
JP2009123499A 2009-05-21 2009-05-21 演算回路および省電力方法 Expired - Fee Related JP5375331B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009123499A JP5375331B2 (ja) 2009-05-21 2009-05-21 演算回路および省電力方法
US12/783,085 US20100299382A1 (en) 2009-05-21 2010-05-19 Arithmetic circuit and power saving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009123499A JP5375331B2 (ja) 2009-05-21 2009-05-21 演算回路および省電力方法

Publications (2)

Publication Number Publication Date
JP2010271946A true JP2010271946A (ja) 2010-12-02
JP5375331B2 JP5375331B2 (ja) 2013-12-25

Family

ID=43125288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009123499A Expired - Fee Related JP5375331B2 (ja) 2009-05-21 2009-05-21 演算回路および省電力方法

Country Status (2)

Country Link
US (1) US20100299382A1 (ja)
JP (1) JP5375331B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146777A (ja) * 1993-11-24 1995-06-06 Matsushita Electric Ind Co Ltd 演算装置
JPH08250999A (ja) * 1995-03-15 1996-09-27 Toshiba Corp 電子回路及びその消費電力低減方法
JPH10187438A (ja) * 1996-08-12 1998-07-21 Hitachi Ltd 乗算器の入力に対する遷移を減少させる方法
JPH10224208A (ja) * 1997-02-04 1998-08-21 Sony Corp データ変換回路及びこれを用いた同期式論理回路
JP2003005952A (ja) * 2001-06-25 2003-01-10 Mitsubishi Electric Corp 情報処理装置、レジスタ
JP2006004123A (ja) * 2004-06-17 2006-01-05 Nec Electronics Corp 最適化装置、最適化方法及びプログラム
JP2007140858A (ja) * 2005-11-17 2007-06-07 Matsushita Electric Ind Co Ltd メモリアクセス方法及びメモリアクセス装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923575A (en) * 1997-08-15 1999-07-13 Motorola, Inc. Method for eletronically representing a number, adder circuit and computer system
DE10347077B4 (de) * 2003-10-10 2012-11-29 Infineon Technologies Ag Multibit-Bit-Addierer
JP2007221596A (ja) * 2006-02-17 2007-08-30 Matsushita Electric Ind Co Ltd 高速フーリエ変換装置、ofdm通信装置、及びofdm通信のサブキャリア割当方法
KR101098758B1 (ko) * 2007-09-20 2011-12-26 서울대학교산학협력단 Fp-ra를 구성하는 pe 구조 및 그 fp-ra제어하는 fp-ra 제어 회로

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146777A (ja) * 1993-11-24 1995-06-06 Matsushita Electric Ind Co Ltd 演算装置
JPH08250999A (ja) * 1995-03-15 1996-09-27 Toshiba Corp 電子回路及びその消費電力低減方法
JPH10187438A (ja) * 1996-08-12 1998-07-21 Hitachi Ltd 乗算器の入力に対する遷移を減少させる方法
JPH10224208A (ja) * 1997-02-04 1998-08-21 Sony Corp データ変換回路及びこれを用いた同期式論理回路
JP2003005952A (ja) * 2001-06-25 2003-01-10 Mitsubishi Electric Corp 情報処理装置、レジスタ
JP2006004123A (ja) * 2004-06-17 2006-01-05 Nec Electronics Corp 最適化装置、最適化方法及びプログラム
JP2007140858A (ja) * 2005-11-17 2007-06-07 Matsushita Electric Ind Co Ltd メモリアクセス方法及びメモリアクセス装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200600722001; 山口誠一朗 ほか (Seiichiro YAMAGUCHI et.al.): 'オペランドのビット幅を考慮したソフトウェアレベル消費エネルギー削減手法 (A Software-level Energy Redu' 情報処理学会研究報告 (IPSJ SIG Technical Reports) Vol.2006 No.41, 20060614, 13〜18頁, 社団法人情報処理学会 (Information Processing Soci *
JPN6013007024; 山口誠一朗 ほか (Seiichiro YAMAGUCHI et.al.): 'オペランドのビット幅を考慮したソフトウェアレベル消費エネルギー削減手法 (A Software-level Energy Redu' 情報処理学会研究報告 (IPSJ SIG Technical Reports) Vol.2006 No.41, 20060614, 13〜18頁, 社団法人情報処理学会 (Information Processing Soci *

Also Published As

Publication number Publication date
JP5375331B2 (ja) 2013-12-25
US20100299382A1 (en) 2010-11-25

Similar Documents

Publication Publication Date Title
US7207022B2 (en) Layout design method for semiconductor integrated circuits
US8893071B1 (en) Methods of pipelining a data path in an integrated circuit
US9360884B2 (en) Clocking for pipelined routing
JP2002083001A (ja) 論理回路の設計方法及びそれに使用するセルライブラリ
JP5446358B2 (ja) 半導体集積回路およびそのテスト方法
JP5375331B2 (ja) 演算回路および省電力方法
JP5455249B2 (ja) 多数決回路を使用した半導体集積回路及び多数決方法
US10366001B1 (en) Partitioning memory blocks for reducing dynamic power consumption
JP2008198003A (ja) アレイ型プロセッサ
JP2016122299A (ja) ステートマシン分割プログラム、情報処理装置およびステートマシン分割方法
JP2000164723A (ja) Lsi動作保証設計システム
JP6223967B2 (ja) 故障検出システム、生成回路及びプログラム
JP5937550B2 (ja) プログラマブル論理回路及びその構成方法
JP2010124403A (ja) 半導体集積回路及びその設計方法
Kwon et al. SCATOMi: Scheduling driven circuit partitioning algorithm for multiple fpgas using time-multiplexed, off-chip, multicasting interconnection architecture
JP2007318230A (ja) 半導体集積回路
JP2001249952A (ja) 回路設計装置および方法
JP2007226664A (ja) 半導体集積回路の論理合成方法
Aalam et al. mMIG: Inversion optimization in majority inverter graph with minority operations
JP2009044489A (ja) 転送性能最適化機能付非同期吸収回路
US9928332B1 (en) Systems and methods for time-multiplexed synchronous logic
JP5187303B2 (ja) デュアルレイル・ドミノ回路、ドミノ回路及び論理回路
JP2008103570A (ja) 半導体集積回路の配線方法
JP2008026256A (ja) 半導体装置の設計方法
Mutukuda et al. The effect of multi-bit based connections on the area efficiency of FPGAs utilizing unidirectional routing resources

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130801

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130909

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees