JP3640643B2 - べき数エンコーダ回路及びマスク回路 - Google Patents

べき数エンコーダ回路及びマスク回路 Download PDF

Info

Publication number
JP3640643B2
JP3640643B2 JP2002009768A JP2002009768A JP3640643B2 JP 3640643 B2 JP3640643 B2 JP 3640643B2 JP 2002009768 A JP2002009768 A JP 2002009768A JP 2002009768 A JP2002009768 A JP 2002009768A JP 3640643 B2 JP3640643 B2 JP 3640643B2
Authority
JP
Japan
Prior art keywords
bit
circuit
data
input data
output
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.)
Expired - Fee Related
Application number
JP2002009768A
Other languages
English (en)
Other versions
JP2003216410A (ja
Inventor
幹雄 藤田
直史 和久
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2002009768A priority Critical patent/JP3640643B2/ja
Priority to US10/152,779 priority patent/US7096241B2/en
Publication of JP2003216410A publication Critical patent/JP2003216410A/ja
Application granted granted Critical
Publication of JP3640643B2 publication Critical patent/JP3640643B2/ja
Priority to US11/434,281 priority patent/US20060212500A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、プロセッサ等におけるべき数エンコーダ回路や、べき数エンコーダ回路に適用可能なマスク回路に関するものである。
【0002】
【従来の技術】
べき数エンコーダ回路は、入力データを正規化するための左シフト量を求めるための回路であり、そのべき数エンコード結果(左シフト量)を用い、入力データを正規化することにより、非有効桁ビットを解消する。これにより、小さい値の乗算も左シフト量を考慮することによって、精度を保って演算を実行することができる。
【0003】
8ビット符号付の入力データのべき数エンコーダ回路であれば、図2に示すような真理値表に従い、入力データ(INPUT)に対するべき数エンコード結果(OUT)を出力する。例えば、入力データが02h(00000010)であれば、べき数エンコード結果は5(101)となり、左シフトを5回行うと、シフト後のデータは01000000(最上位の0は正数を表す)となる。
【0004】
従来、べき数エンコーダ回路としては、シフト演算を用いてべき数をカウントする図3に示すものや、符号ビットと異なるビット位置を検出してその検出位置からべき数をエンコードする図4に示すものがある。なお、図3は、符号付きでない入力データに対応するものである。
【0005】
図3に示す従来のべき数エンコーダ回路は、以下のように動作する。
【0006】
(1)選択回路sl、s2により、記憶素子I1に入力データInを格納し、記憶素子I2に0hを格納する初期化を行う。
【0007】
(2)記憶素子I1の出力をシフタSFTに入力し、シフタSFTによって1ビットだけ左シフトを実行させる。
【0008】
(3)シフタSFTの出力を選択回路s1を介して記憶素子I1に与えて保持させる。
【0009】
(4)シフタSFTの出力の最上位ビット(MSB)と入力データInのMSBのイクスクルーシブノアをイクスクルーシブノア回路(Ex−NOR)により得る。シフタSFTの出力の最上位ビット(MSB)と入力データInのMSBとが異なるデータとなった場合には、イクスクルーシブノア出力は“0”となり、完了信号FINISHが“1”となる。イクスクルーシブノア出力が“1”であれば、加算器ADDER及び選択回路s2により、記憶素子I2の記憶値を1インクリメントする。
【0010】
(5)上述した(2)〜(4)を1サイクルとし、完了信号FINISHが“1”となるまで繰り返す。完了信号FINISHが“1”となったときの加算器ADDERの出力がべき数EXPとなる。
【0011】
なお、図3は、入力データInが0の場合についての回路構成は記載していない。
【0012】
また、図4に示す従来のべき数エンコーダ回路は、以下のように動作する。図4のべき数エンコーダ回路は、8ビットの符号付データに対するものである。
【0013】
入力データInの符号ビットIn7(MSB)が、入力データが負数であることを表しているならば(In7が1)、イクスクルーシブオア回路(Ex−OR回路)I29〜I36によって入力データInを反転させ、入力データInの符号ビットIn7(MSB)が、入力データが正数であることを表しているならば(In7が0)、入力データInをイクスクルーシブオア回路(Ex−OR回路)I29〜I36をそのまま通過させて、出力N6〜N0、NZを得る(NZは符号を表すものとなっている)。
【0014】
この出力データN6〜N0、NZをMSBから順に見た場合、最初に“1”があるビット位置の直前のビット位置のデータまでが非有効桁ビットであるので(図2参照)、この検出ビット位置からべき数をエンコードする。
【0015】
図4の論理ゲートI1〜I25は、最初に“1”があるビット位置を検出するビット位置検出回路を構成している。
【0016】
次に、論理ゲートI1〜I12、I13〜I24をそれぞれ1ブロックとして見た場合の論理ゲートI1〜I12のブロックの動作を説明する。
【0017】
論理ゲートI1は、次段へのルックアヘッドとなっており、データN6〜N3が全て“0”の場合に“1”となる4入力ノア回路(NOR回路)であり、この出力は、“1”となった場合のみ、論理ゲートI14を介して、次段のブロック(I13〜I24)を有効とするイネーブル信号となっている。
【0018】
論理ゲートI2は、前段までのイネーブル信号をモニタするためにあり、4入力とも全て“1”となった場合に“0”となる4入力のナンド回路(NAND回路)であり、この出力が“0”になった場合に、このブロック(I1〜I12)の検出回路が有効となる。なお、この論理ゲートI2は、入力データのビット数が8ビットより多い場合の拡張用に設けられており、入力データが8ビットの場合には、論理ゲートI2への4入力は全て“1”になされている。
【0019】
論理ゲートI3、I4、I5〜I8は検出結果伝播回路であり、前ビット(上位側)までの検出結果を伝播させるものである。
【0020】
論理ゲートI9〜I12は検出フラグ生成回路であり、出力信号Findが4ビット中検出されたビット位置のみ“1”となり、その他は“0”となるように論理演算するものである。
【0021】
例えば、データN6が“1”の場合、論理ゲートI5〜I8の出力はそれぞれ、I5=0、I6=1、I7=0、I8=1となり、論理ゲートI9〜I12の出力はそれぞれ、I9=1、I10=0、I11=0、I12=0となる。
【0022】
下位ブロックI13〜I24も同様な動作をし、その結果、Find信号の8ビット中の検出位置のビットのみ“1”、その他は“0”となる。
【0023】
なお、論理ゲートI25はビット長拡張用のゲートであり、8ビット入力固定の場合には必要としないものである。
【0024】
論理ゲートI26〜I28は、ビット検出位置からべき数を形成するビット検出位置エンコード回路を構成している。論理ゲートI26〜I28は、検出ビット位置信号Findにより、入力データの正規化に必要な左シフト量を求めるためにエンコードして、べき数Expを得ている。
【0025】
【発明が解決しようとする課題】
しかしながら、図3に示した従来のべき数エンコーダ回路においては、べき数エンコード結果を得るまでに、最大で入力データのビット数分のサイクルが必要となり、平均的に見ても、べき数エンコード結果を得るための処理時間が長いという課題を有する。そのため、べき数を求める処理を使用する頻度が高いアプリケーションを設計する場合には、処理時間が増大するため、アプリケーションの低速化の課題や、ある決められた処理時間(例えばサンプリング時間)内で処理が終了しないことも生じるという課題を有する。
【0026】
また、図4に示した従来のべき数エンコーダ回路においては、通過ゲート段数が多く、プロセッサの高速化に伴い、1サイクル内で終了できなくなるという課題や、各論理ゲートへの入力の遅延時間が異なることにより、スイッチング回数が増加し、その分電力消費が増大するという課題を有する。
【0027】
【課題を解決するための手段】
第1の本発明は、2のべき乗のビット数でなる符号ビット付き入力データを、その上位側の非有効桁ビットを除外して正規化するための左シフト量であるべき数を求めるべき数エンコーダ回路において、入力データが負数(又は正数)の場合には、符号ビット以外のデータ部分を反転させると共に符号ビットを最下位ビットの位置に移動させ、入力データが正数(又は負数)の場合には、符号ビット以外のデータ部分をそのまま通過させると共に符号ビットを最下位ビットの位置に移動させる第1の論理演算回路と、この第1の論理演算回路からの出力データを、上位ビット側から順に複数の組に分割し、各組の分割データのそれぞれに対し、分割データを構成する各ビットの組み合わせが、上位側からの非有効桁ビットと有効桁ビットとの組み合わせになっているか否かを表す第1のビットと、分割データを構成する全てのビットが非有効桁ビットであるか否かを表す第2のビットとを形成する第2の論理演算回路と、この第2の論理演算回路からの出力データから、べき数の各ビットを求める第3の論理演算回路とを備えていることを特徴とする。
【0028】
第2の本発明は、Nビットでなる入力データにおける、有意な論理レベルをとる最も上位のビット位置を含め、それより下位のビット位置のビットを全て一方の論理レベルにすると共に、有意な論理レベルをとる最も上位のビット位置より上位のビット位置のビットを全て他方の論理レベルにするマスク回路において、上記入力データ数と同じ数の出力線と、出力線前処理信号に基づき、上記各出力線をチャージ(又はディスチャージ)して一方の論理レベルにする上記各出力線に対応する出力線初期化用トランジスタと、第n(nは1〜N)番目の上記出力線に対してn個設けられ、ゲートへの有意な論理レベルの入力により、それぞれがその出力線をディスチャージ(又はチャージ)し得る出力確定用トランジスタと、第n(nは1〜N)番目の上記出力線に対するn個の出力確定用トランジスタのそれぞれのゲートに対し、上記入力データのMSB側からのn個のビット値を入力させる入力線とを備え、出力線前処理信号に基づき、全ての上記出力線を一方の論理レベルにした後、上記各入力線に上記入力データを入力させて、上記各出力線に出力データを形成させることを特徴とする。
【0029】
第3の本発明は、2のべき乗のビット数でなる符号ビット付き入力データを正規化するための左シフト量であるべき数を求めるべき数エンコーダ回路において、入力データが負数(又は正数)の場合には、べき数が同じになる正数のデータに変換すると共に、入力データが正数(又は負数)の場合には、そのまま通過させる符号合せ回路と、この符号合せ回路の出力における、有意な論理レベルをとる最も上位のビット位置を含め、それより下位のビット位置のビットを全て一方の論理レベルにすると共に、有意な論理レベルをとる最も上位のビット位置より上位のビット位置のビットを全て他方の論理レベルにするマスク回路と、このマスク回路の出力からべき数を生成するエンコーダ回路とを有することを特徴とする。
【0030】
【発明の実施の形態】
(A)第1の実施形態
以下、本発明によるべき数エンコーダ回路の第1の実施形態を図面を参照しながら詳述する。
【0031】
図1は、第1の実施形態のべき数エンコーダ回路の構成を示すブロック図である。なお、第1の実施形態のべき数エンコーダ回路は、8ビット符号付入力データ(図2参照)を取扱うものであり、入力データIn[7:0]からべき数エンコード結果Exp[2:0]と零検出信号Zを得るものである。
【0032】
第1の実施形態のべき数エンコーダ回路は、図1に示すように、複数の論理ゲートG1〜G37から構成されている。
【0033】
イクスクルーシブオア回路(Ex−OR回路)である8個の2入力論理ゲートG1〜G8の一方の入力端子には、入力データInにおける符号ビット(MSB)In7が入力され、他方の入力端子には、入力データInにおける各ビット位置のビット値In6、…、In0及び固定値“0”が入力されている。
【0034】
論理ゲートG1〜G8は、図2に示すような負数の入力データにおける符号以外のビット部分を反転すると共に、図2に示すような正数の入力データにおける符号以外のビット部分をそのまま通過させ、かつ、符号ビットを最下位ビット(LSB)の位置に移動させるものである。
【0035】
論理ゲートG1〜G8からの出力データa0〜a7と、結果としてのべき数Exp2〜Exp0と、零検出信号Zとの関係は、図2から、図5のようになる。なお、図5は、関係の一部を示している。
【0036】
この図5からは、べき数Exp2、Exp1、Exp0、零検出信号Zは、データa0〜a7に対する次の論理演算式(1)〜(4)によって求められることが分かる。
【0037】
【数1】
Figure 0003640643
各論理演算式(1)、…、(4)における共通項を整理し、その共通項を整理した後の論理演算式を実現するように、図1に示す論理ゲートG9〜G37を設けている。なお、論理ゲートG21及びG25は機能的には図1に示すように2個の論理ゲートからなっているが、回路的には、1個の論理ゲートG1’で実現できるものである。論理ゲートG23及びG28、論理ゲートG31及びG34、並びに、論理ゲートG32及びG35も同様に、回路的にはそれぞれ、1個の論理ゲートG2’、G3’、G4’で実現できるものである。
【0038】
上述したような共通項の整理により、8ビットデータa7〜a0に対し、初めの論理演算は、2ビットずつ(a7及びa6、a5及びa4、a3及びa2、a1及びa0)の処理構成になっている。論理ゲートG9〜G12及び論理ゲートG13〜G20がこのような2ビットずつの処理構成になっている。
【0039】
論理ゲートG9〜G12はインバータ回路になっており、論理ゲートG13〜G20は2入力ナンド回路(NAND回路)になっている。
【0040】
論理ゲートG1からの出力a7は、論理ゲートG13及びG14に入力され、論理ゲートG2からの出力a6は、論理ゲートG9を介して反転されて論理ゲートG13に入力されると共に、論理ゲートG14に入力される。データa7、a6が“00”のときには、論理ゲートG13及びG14から“01”が出力され、データa7、a6が“01”のときには、論理ゲートG13及びG14から“10”が出力され、データa7、a6が“10”及び“11”のときには、論理ゲートG13及びG14から“00”が出力される。
【0041】
べき数エンコーダ回路の場合には、データa7〜a1中の最も上位で“1”をとるビット位置が問題となっており、2ビットが“10”及び“11”の場合には、同一に取り扱って良い。また、2ビットが“00”の場合には、データa7〜a1中の最も上位で“1”をとるビット位置がそこに存在しないことを意味し、2ビットが“01”の場合には、データa7〜a1中の最も上位で“1”をとるビット位置が、2ビット中“01”の“1”である可能性があることを表している。すなわち、2ビットの4個の組み合わせを3分類すれば十分である。
【0042】
データa5、a4に対する論理ゲートG10、G15、G16や、データa3、a2に対する論理ゲートG11、G17、G18も、上述したデータa7、a6に対する論理ゲートG9、G113、G14と同様な意味を実現するものである。
【0043】
データa1、a0に対する論理ゲートG12、G19、G20は、上述の意味合いとは異なるが、2ビットの4個の組み合わせを3分類で区別するためのものである。
【0044】
図5の1行目及び2行目に示すように、データa7〜a0がオール“0”のとき(入力データIn7〜In0がオール“0”)と、データa7〜a0が“00000001”のとき(入力データIn7〜In0がオール“1”)とは、べき数Exp2、Exp1、Exp0、零検出信号Zを特異な値にしなければならない。これらの2種類のデータの場合、データa1、a0の組み合わせだけが、“00”と“01”と異なっており、そのため、データa1、a0の組み合わせとして、“00”と“01”とをマークしなければならない。データa1、a0の組み合わせが、べき数Exp2、Exp1、Exp0(及び零検出信号Z)に影響を与えるときは、あとは、図5の3行目及び4行目のときである。しかし、3行目及び4行目のときは、べき数Exp2、Exp1、Exp0(及び零検出信号Z)は同じ値であるので、そのときのデータa1、a0の組み合わせ“10”及び“11”を区別する必要はない。
【0045】
論理ゲートG9〜G20による2ビット毎の論理演算以降は、所望のべき数Exp2、Exp1、Exp0及び零検出信号Zを得られるように、2ビット単位での演算結果に対し、論理ゲートG21〜G37による論理演算を行っている。
【0046】
負数の入力データIn7〜In0が入力されると、論理ゲートG1〜G8により、符号ビット以外を反転させると共に、符号ビットをLSBに移動させ、また、正数の入力データIn7〜In0が入力されると、論理ゲートG1〜G8により、符号ビット以外をそのまま通過させると共に、符号ビットをLSBに移動させる。以上の処理により、べき数Exp2、Exp1、Exp0が同じとなる正の入力データと負の入力データのいずれが入力されても、符号ビット以外のビットが同じ表記となっているデータa7〜a0に変換される。
【0047】
その後、データa7〜a0と、べき数Exp2、Exp1、Exp0及び零検出信号Zとの真理値表から求められたデータa7〜a0からべき数Exp2、Exp1、Exp0及び零検出信号Zを求める論理演算式を具現化した論理ゲートG9〜G37により、べき数Exp2、Exp1、Exp0及び零検出信号Zを並列演算させて出力する。
【0048】
第1の実施形態のべき数エンコーダ回路によれば、以下の効果を奏することができる。
【0049】
(1)通過する論理ゲートの段数(通過論理段数)を削減できるため、処理の高速化が期待できる。例えば、図4に示す従来回路におけるクリティカルパスの通過論理段数は最大9段であるが、第1の実施形態における通過論理段数は最大5段となり、4段の削減が実現できる。
【0050】
(2)各論理ゲートの入力への遅延を等しくすることが容易であるため、無駄なスイッチングが減少し、消費電力を抑えることができる。
【0051】
(3)入力ビット長を容易に拡張できる。仮に2倍の16ビット長に拡張する場合、第1の実施形態の回路を2段に並べ、一方の回路を上位ブロックとし、他方の回路を下位ブロックとする。そして、上位ブロックの零検出信号により、上位ブロック又は下位ブロックの出力Expを選択することにより最終結果を得ることができる(但し、上位ブロックの零検出信号は出力するべき数のMSBとなり、選択されたExpの3ビットはその下位に位置する)。ここで、上位ブロックの零検出信号が有意であることは、16ビット入力の上位側(8ビット)には有効桁ビットがなく、下位側に有効桁ビットがあることを意味し、上位ブロックの零検出信号が非有意であることは、16ビット入力の上位側に有効桁ビットがあることを意味する。すなわち、最も上位の有効桁ビットが、入力データを上位、下位に2分した場合のどちらにあるかを、上位ブロックの零検出信号が表しており、その上位又は下位の8ビットでのシフト量の選択指令として用いることができる。
【0052】
なお、この場合、選択回路に代え、図6に示すようなANDOR回路による組み合わせ回路を適用できる。
【0053】
(B)第2の実施形態
次に、本発明によるべき数エンコーダ回路の第2の実施形態を図面を参照しながら詳述する。なお、第2の実施形態のべき数エンコーダ回路におけるマスク回路として、本発明のマスク回路を適用することができる。後述する図9に示すマスク回路は、本発明のマスク回路の実施形態になっている。
【0054】
図7は、第2の実施形態のべき数エンコーダ回路の構成を示すブロック図である。なお、第2の実施形態のべき数エンコーダ回路は、8ビット符号付入力データ(図2参照)を取扱うものであり、入力データIn[7:0]からべき数エンコード結果(べき数)Exp[2:0]を得るものである。
【0055】
図7において、第2の実施形態のべき数エンコーダ回路は、符号合せ回路10、マスク回路11及びエンコーダ回路12が縦続接続されて構成されている。
【0056】
符号合せ回路10は、入力データIn[7:0]が正数の場合にはそのまま通過させ、入力データIn[7:0]が負数の場合にはべき数Exp[2:0]が同じとなる正数に変換するものであり、処理後のデータX[7:0]をマスク回路11に与えるものである。
【0057】
なお、第2の実施形態の場合、入力データIn[7:0]がオール“1”の場合には、図2とは異なって、べき数として0(“000”)を出力するようになされている。
【0058】
符号合せ回路10は、例えば、図8に示すように、8個の2入力イクスクルーシブオア回路EOR7〜EOR0で実現できる。入力データInにおける符号ビットIn7は、全てのイクスクルーシブオア回路EOR7〜EOR0に入力され、また、入力データInにおける各ビットIn7、…、In0は対応するイクスクルーシブオア回路EOR7、…、EOR0に入力される。
【0059】
イクスクルーシブオア回路EOR7は、符号ビットIn7が“0”でも“1”でも正を表す“0”のデータX7を出力する。
【0060】
イクスクルーシブオア回路EOR6、…、EOR0は、符号ビットIn7が“1”のときに、入力データIn6、…、In0を反転させたデータX6、…、X0を出力し、符号ビットIn7が“0”のときに、入力データIn6、…、In0と同じデータX6、…、X0を出力する。
【0061】
マスク回路11は、入力されたデータX7、…、X0の中で、“1”をとる最も上位に位置するビット位置を含め、それより下位のビット位置の論理レベルを全て一方の論理レベル(例えば“0”)にすると共に、それより上位のビット位置の論理レベルを全て他方の論理レベル(例えば“1”)にしたデータY7、…、Y0を形成するものである。
【0062】
図9は、マスク回路11の具体的な構成例を示す回路図である。図9に示すマスク回路11は、入力データX[7:0]に対し、ワイヤードオアにより出力データY[7:0]を生成するものである。
【0063】
べき数エンコード実行時に出力線プリチャージ信号PCによりオン動作して、出力線Y7〜Y0をプリチャージするPMOSトランジスタp7〜p0が設けられている。また、各出力線Y7〜Y0には、ディスチャージ用のNMOSトランジスタn1〜n36が設けられている。
【0064】
最上位の出力線Y7には、入力データX7が“1”のときにオン動作して、その出力線Y7をディスチャージするNMOSトランジスタn1が接続されている。
【0065】
次のビット位置の出力線Y6には、入力データX7又はX6が“1”のときにオン動作してその出力線Y6をディスチャージする2個のNMOSトランジスタn2及びn3が接続されている。
【0066】
次のビット位置の出力線Y5には、入力データX7、X6又はX5が“1”のときにオン動作してその出力線Y5をディスチャージする3個のNMOSトランジスタn4〜n6が接続されている。
【0067】
以下、同様に、出力線Y4、…、Y0に対するディスチャージ用NMOSトランジスタn7〜n10、n11〜n15、n16〜n21、n22〜n28、n29〜n36を利用したワイヤードオア構成が設けられている。
【0068】
以上のような構成において、べき数エンコード実行時にはまず、出力線プリチャージ信号PCによりPMOSトランジスタp7〜p0をオンして、出力線Y7〜Y0をプリチャージし、その後、出力線ディスチャージ用NMOSトランジスタn1〜n36に入力Xを与える。このとき、出力線Yは、入力データXをMSBからみて最初に“1”が出てきたビット位置より下位ビットを“0”にディスチャージする。すなわち、出力線Y[7:0]は、入力データXをMSBから順に見た場合、最初に出てくる“1”以降の値を全て“0”にマスクする信号線である。
【0069】
例えば、入力データXが“00110000”であると、MSBから見て最初に“1”が出現するビット位置はX5であるので、出力データYは、そのビット位置Y5を含めたそれより下位ビットを“0”とし、出力データYは“11000000”となる。
【0070】
なお、図9では、入力データX7をもマスク対象としたものを示したが、入力データX7は符号ビットであるので、入力データX6〜X0の範囲をマスク対象とするようにしても良い。
【0071】
また、図9とは逆に、出力線を予め“0”にディスチャージし、その後、入力データX6〜X0に応じてチャージするようなものであっても良い。すなわち、図9のPMOSトランジスタをNMOSトランジスタに変更し、図9のNMOSトランジスタをPMOSトランジスタに変更してマスク回路11を構成するようにしても良い。
【0072】
なお、マスク回路11としては、既存のバレルシフタ回路などを用いることもできる。バレルシフタ回路を適用した場合には、より回路規模の削減が可能となる。
【0073】
エンコーダ回路12は、マスク回路11の出力(マスク結果)Y[7:0]から、べき数ExP[2:0]を生成するものである。
【0074】
図10は、エンコーダ回路12の構成例を示すブロック図である。なお、図10は、入力データY7は、べき数ExP[2:0]の生成には無関係であるので、入力データY6〜Y0からべき数ExP[2:0]を生成するものとなっている。
【0075】
図10において、エンコーダ回路12は、6個の2入力イクスクルーシブオア回路EOR11〜EOR16と、3個の3入力オア回路OR1〜OR3とから構成されている。
【0076】
入力データY6〜Y0は、マスク回路11の機能により、境界は一定ではないが、上位側に“1”があり、下位側に“0”があるものである(オール“1”やオール“0”のことはある)。イクスクルーシブオア回路EOR11〜EOR16は、その境界検出用のものである。各イクスクルーシブオア回路EOR11、…、EOR16には、入力データY6〜Y0における隣り合う2ビットずつの一致不一致を示す出力を形成するものであり、境界を挟んだ2ビットが入力されるいずれか1個(境界がない場合は0個)のイクスクルーシブオア回路だけが“1”を出力する。
【0077】
オア回路OR1〜OR3は、イクスクルーシブオア回路EOR11〜EOR16による境界検出結果をデコードし、出力(べき数)Exp[2:0]を生成するものである。
【0078】
例えば、データYが“11000000”とした場合、“1”と“0”の境界は6ビット目と5ビット目に存在し(最下位ビットを0ビットとしている)、イクスクルーシブオア回路EOR11〜EOR16の出力は“100000”となり、これをエンコードすることによって、べき数Expとして1(“001”)が得られる。
【0079】
第2の実施形態のべき数エンコーダ回路によれば、以下の効果を奏することができる。
【0080】
(1)マスク回路11の出力Y[7:0]を一度に求めることができるため、処理の高速化を図ることができる。
【0081】
(2)入力ビット長を拡張した場合でも、最終結果を得るまでの時間はほぼ変わらない。従って、ビット長を容易に拡張できる。
【0082】
(C)(利用形態)の説明
上記各実施形態は、符号付の入力データのべき数を得るものを示したが、符号ビットがない入力データに対しても、本発明の技術思想を適用することができる。例えば、第1の実施形態であれば、負数の入力データの各ビットを反転する論理ゲートG1〜G8を省略したような構成とすれば良い。また例えば、第2の実施形態であれば、符号合せ回路10を省略し、マスク回路11及びエンコード回路12によってべき数エンコーダ回路を構成すれば良い。
【0083】
また、上記各実施形態では、負数の入力データを、正数の入力データと同様に取り扱うために、符号ビット以外の部分を反転するものを示したが、逆に、正数の入力データを、負数の入力データと同様に取り扱うように、符号ビット以外の部分を反転し、その後、べき数を求めるようにしても良い。
【0084】
さらに、第2の実施形態で説明したマスク回路11は、べき数エンコーダ回路以外の回路に適用することができる。
【0085】
【発明の効果】
以上のように、本発明のべき数エンコーダ回路によれば、処理の高速化が期待できたり、入力ビット長を容易に拡張できたりするなどの効果を奏することができる。
【0086】
また、本発明によるマスク回路によれば、マスク出力の各ビットを一度に求めることができる。
【図面の簡単な説明】
【図1】第1の実施形態のべき数エンコーダ回路を示すブロック図である。
【図2】8ビット符号付きデータとべき数エンコード結果との関係を示す図表である。
【図3】従来回路(その1)を示すブロック図である。
【図4】従来回路(その2)を示すブロック図である。
【図5】第1の実施形態の入力データの符号合わせ後のデータと、べき数エンコード結果(べき数)との関係を示す図表である。
【図6】第1の実施形態の回路でビット長を拡張した際に必要となる回路部分を示すブロック図である。
【図7】第2の実施形態のべき数エンコーダ回路を示すブロック図である。
【図8】第2の実施形態の符号合せ回路の詳細構成例を示すブロック図である。
【図9】第2の実施形態のマスク回路の詳細構成例を示す回路図である。
【図10】第2の実施形態のエンコーダ回路の詳細構成例を示すブロック図である。
【符号の説明】
G1〜G37…論理ゲート、10…符号合せ回路、11…マスク回路、12…エンコーダ回路。

Claims (6)

  1. 2のべき乗のビット数でなる符号ビット付き入力データを、その上位側の非有効桁ビットを除外して正規化するための左シフト量であるべき数を求めるべき数エンコーダ回路において、
    入力データが負数(又は正数)の場合には、符号ビット以外のデータ部分を反転させると共に符号ビットを最下位ビットの位置に移動させ、入力データが正数(又は負数)の場合には、符号ビット以外のデータ部分をそのまま通過させると共に符号ビットを最下位ビットの位置に移動させる第1の論理演算回路と、
    上記第1の論理演算回路からの出力データを、上位ビット側から順に複数の組に分割し、各組の分割データのそれぞれに対し、分割データを構成する各ビットの組み合わせが、上位側からの非有効桁ビットと有効桁ビットとの組み合わせになっているか否かを表す第1のビットと、分割データを構成する全てのビットが非有効桁ビットであるか否かを表す第2のビットとを形成する第2の論理演算回路と、
    上記第2の論理演算回路からの出力データから、べき数の各ビットを求める第3の論理演算回路と
    を備えていることを特徴とするべき数エンコーダ回路。
  2. 上記第の論理演算回路は、上記入力データがオール“0”の場合にのみ有意な論理レベルをとる零検出信号の形成構成を含むことを特徴とする請求項1に記載のべき数エンコーダ回路。
  3. Nビットでなる入力データにおける、有意な論理レベルをとる最も上位のビット位置を含め、それより下位のビット位置のビットを全て一方の論理レベルにすると共に、有意な論理レベルをとる最も上位のビット位置より上位のビット位置のビットを全て他方の論理レベルにするマスク回路において、
    上記入力データ数と同じ数の出力線と、
    出力線前処理信号に基づき、上記各出力線をチャージ(又はディスチャージ)して一方の論理レベルにする上記各出力線に対応する出力線初期化用トランジスタと、
    第n(nは1〜N)番目の上記出力線に対してn個設けられ、ゲートへの有意な論理レベルの入力により、それぞれがその出力線をディスチャージ(又はチャージ)し得る出力確定用トランジスタと、
    第n(nは1〜N)番目の上記出力線に対するn個の出力確定用トランジスタのそれぞれのゲートに対し、上記入力データのMSB側からのn個のビット値を入力させる入力線とを備え、
    出力線前処理信号に基づき、全ての上記出力線を一方の論理レベルにした後、上記各入力線に上記入力データを入力させて、上記各出力線に出力データを形成させる
    ことを特徴としたマスク回路。
  4. 2のべき乗のビット数でなる符号ビット付き入力データを正規化するための左シフト量であるべき数を求めるべき数エンコーダ回路において、
    入力データが負数(又は正数)の場合には、べき数が同じになる正数のデータに変換すると共に、入力データが正数(又は負数)の場合には、そのまま通過させる符号合せ回路と、
    この符号合せ回路の出力における、有意な論理レベルをとる最も上位のビット位置を含め、それより下位のビット位置のビットを全て一方の論理レベルにすると共に、有意な論理レベルをとる最も上位のビット位置より上位のビット位置のビットを全て他方の論理レベルにするマスク回路と、
    このマスク回路の出力からべき数を生成するエンコーダ回路と
    を有することを特徴とするべき数エンコーダ回路。
  5. 上記マスク回路として、請求項3に記載のものを適用したことを特徴とする請求項4に記載のべき数エンコーダ回路。
  6. 上記マスク回路として、バレルシフタ構成のものを適用したことを特徴とする請求項4に記載のべき数エンコーダ回路。
JP2002009768A 2002-01-18 2002-01-18 べき数エンコーダ回路及びマスク回路 Expired - Fee Related JP3640643B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002009768A JP3640643B2 (ja) 2002-01-18 2002-01-18 べき数エンコーダ回路及びマスク回路
US10/152,779 US7096241B2 (en) 2002-01-18 2002-05-23 Exponent encoder circuit and mask circuit
US11/434,281 US20060212500A1 (en) 2002-01-18 2006-05-16 Exponent encoder circuit and mask circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002009768A JP3640643B2 (ja) 2002-01-18 2002-01-18 べき数エンコーダ回路及びマスク回路

Publications (2)

Publication Number Publication Date
JP2003216410A JP2003216410A (ja) 2003-07-31
JP3640643B2 true JP3640643B2 (ja) 2005-04-20

Family

ID=27647687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002009768A Expired - Fee Related JP3640643B2 (ja) 2002-01-18 2002-01-18 べき数エンコーダ回路及びマスク回路

Country Status (2)

Country Link
US (2) US7096241B2 (ja)
JP (1) JP3640643B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135657B2 (en) * 2007-07-27 2015-09-15 The Invention Science Fund I, Llc Rewarding independent influencers
GB2454201A (en) * 2007-10-30 2009-05-06 Advanced Risc Mach Ltd Combined Magnitude Detection and Arithmetic Operation
US8631056B2 (en) * 2008-01-09 2014-01-14 Qualcomm Incorporated Processor and method of determining a normalization count
CN110231745B (zh) * 2019-04-18 2023-09-26 浙江工业大学 一种基于时间透镜成像的光逻辑“非”门运算系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2173617B (en) * 1985-03-18 1988-08-24 Texas Instruments Ltd Apparatus for locating and indicating the position of an end }1} bit of a number in a multi-bit number format
JPS62229436A (ja) 1986-03-31 1987-10-08 Toshiba Corp 二進数デ−タ判別回路
JPH04167124A (ja) 1990-10-31 1992-06-15 Matsushita Electric Ind Co Ltd プライオリティ・エンコーダ
GB9124539D0 (en) * 1991-11-19 1992-01-08 Texas Instruments Ltd A circuit for detecting the position of an extreme 1"bit in a binary number
US5383142A (en) * 1993-10-01 1995-01-17 Hewlett-Packard Company Fast circuit and method for detecting predetermined bit patterns
JPH08147142A (ja) * 1994-11-17 1996-06-07 Mitsubishi Electric Corp プライオリティ検出用カウンタ装置
JPH08212055A (ja) 1995-02-02 1996-08-20 Ricoh Co Ltd ビット検索器並びに中央演算処理装置
US5553012A (en) 1995-03-10 1996-09-03 Motorola, Inc. Exponentiation circuit utilizing shift means and method of using same
US6329838B1 (en) * 1999-03-09 2001-12-11 Kabushiki Kaisha Toshiba Logic circuits and carry-lookahead circuits
JP3781573B2 (ja) 1999-03-09 2006-05-31 株式会社東芝 論理回路

Also Published As

Publication number Publication date
US7096241B2 (en) 2006-08-22
JP2003216410A (ja) 2003-07-31
US20030146860A1 (en) 2003-08-07
US20060212500A1 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
US5442577A (en) Sign-extension of immediate constants in an alu
US6820107B1 (en) Square root extraction circuit and floating-point square root extraction device
US5732007A (en) Computer methods and apparatus for eliminating leading non-significant digits in floating point computations
JPH0644225B2 (ja) 浮動小数点丸め正規化回路
JPH02144624A (ja) 先行ゼロ予測による正規化装置及び方法
JP4388980B2 (ja) 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法
JPH07225671A (ja) 結果正規化機構と動作の方法
JP2618374B2 (ja) 最上位の数字の位置の検出
US5343413A (en) Leading one anticipator and floating point addition/subtraction apparatus
US5247471A (en) Radix aligner for floating point addition and subtraction
JP3544846B2 (ja) 論理回路及び浮動小数点演算装置
JP4806453B2 (ja) 演算処理装置、情報処理装置、および演算方法
JP3640643B2 (ja) べき数エンコーダ回路及びマスク回路
US6499044B1 (en) Leading zero/one anticipator for floating point
JPH0520028A (ja) 加減算のための浮動小数点演算装置の仮数部処理回路
JPH0542697B2 (ja)
JPH08161152A (ja) 浮動小数点演算装置
US4866655A (en) Arithmetic processor and divider using redundant signed digit
JP2511527B2 (ja) 浮動小数点演算器
US7024439B2 (en) Leading Zero Anticipatory (LZA) algorithm and logic for high speed arithmetic units
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
JPH09244874A (ja) 最上位有効ビット位置予測方法
US5657260A (en) Priority detecting counter device
GB2130774A (en) Circuits for operating on N-digit operands
JP2856792B2 (ja) 浮動小数点数演算装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050118

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees