JP3471577B2 - ビット連続数検出装置 - Google Patents

ビット連続数検出装置

Info

Publication number
JP3471577B2
JP3471577B2 JP22538597A JP22538597A JP3471577B2 JP 3471577 B2 JP3471577 B2 JP 3471577B2 JP 22538597 A JP22538597 A JP 22538597A JP 22538597 A JP22538597 A JP 22538597A JP 3471577 B2 JP3471577 B2 JP 3471577B2
Authority
JP
Japan
Prior art keywords
bit
unit
data
input
value
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
JP22538597A
Other languages
English (en)
Other versions
JPH1165819A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP22538597A priority Critical patent/JP3471577B2/ja
Publication of JPH1165819A publication Critical patent/JPH1165819A/ja
Application granted granted Critical
Publication of JP3471577B2 publication Critical patent/JP3471577B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はビット連続数検出装
置に関し、特にディジタル計算機において、浮動小数点
計算を行なう際の正規化のためのシフトビット数を求め
るビット連続数検出装置に関するものである。
【0002】
【従来の技術】ディジタル計算機における数値計算にあ
たっては、その数値の表現形式として小数点を常に定め
られた位置とする固定小数点形式を用いる固定小数点法
と、実数を指数部、及び仮数部に分けて扱うことで、小
数点の位置が変動し得る浮動小数点形式を用いる浮動小
数点法とが用いられる。固定小数点法は、計算の対象と
なる数値の範囲が狭い場合には、単純なプログラミング
において演算処理を迅速に行い得るものであるが、大き
な数や小さな数を扱い、計算対象となる数値の範囲が広
範囲にわたり、なおかつ精度を維持しようとする場合に
は、プログラミングの複雑化や、演算処理に用いられる
メモリの量の増大が顕著となるといったデメリットが生
じる。これに対して浮動小数点法による場合には、符
号、指数、及び仮数の演算処理を行うため処理自体は複
雑であり、処理負担が大きいが、広範囲の数値によく対
応して、同様に処理し得るものである。
【0003】ディジタル計算機において、浮動小数点法
を用いた数値計算を行なう場合に、計算対象となる数値
のビット列において、複数ビットにわたって同じ値が連
続している場合には、該連続しているビット数だけビッ
ト列をシフトしてやることによって、計算精度を低下さ
せることなく、作業領域として用いるメモリの量を低減
し、装置資源の活用に貢献することが可能となる。特に
仮数部に対するこのような処理を正規化と呼ぶ。
【0004】すなわち、ディジタル計算機における計算
処理の途中において、仮の計算結果の仮数部における符
号でない最上位ビットが、小数点に隣接した位置に存在
しない場合、当該符号でない最上位ビットが小数点に隣
接した位置に来るように仮数部をシフトし、シフトした
数だけ指数部を調整(通常は減算処理による)して最終
の計算結果とすることが正規化の処理である。
【0005】この処理を行なうためには、仮の計算結果
の仮数部を調べて、上記の符号でない最上位ビットが、
小数点に隣接した位置からどれだけ離れた位置にあるか
を求めなければならない。この隔たりを示すビット数
を、正規化のためのシフトビット数と呼ぶ。シフトビッ
ト数は、最上位の符号ビットの後に、符号ビットと等し
いビットがいくつ続いているかを調べることで得られ
る。この場合には最上位ビットが符号ビットであるが、
より一般化した処理として、最上位ビットが符号ビット
であるか否かに関わらず、n bit の入力に対して、その
最上位ビットから途切れずに続いていくつのビットが当
該最上位ビットと等しいかを求めるビット連続数検出処
理が考えられ、このような一般的なビット連続数検出に
よって、浮動小数点法に必要なシフトビット数が求めら
れる。
【0006】従来の技術によるディジタル計算機におい
ては、このビット連続数の検出処理を大別して「A.ソ
フトウェアによる検出処理」「B.専用回路を用いる検
出処理」によって行っていた。以下にこれらの方法によ
る、従来の技術によるディジタル計算機におけるビット
連続数検出処理について説明する。
【0007】A.ソフトウェアによる検出処理 従来の技術によるビット連続数検出処理の第1の例は、
浮動小数点処理のための専用回路をもたないディジタル
計算機において、1ビットずつのビットシフトを伴う判
定処理によって、符号ビットと異なるビットが現れるま
でソフトウェア的に計数を行なうものである。
【0008】図16はこのような処理を行うディジタル
計算機における、ビット連続数検出処理の処理手順の一
例を示すフローチャート図である。以下、従来の技術に
よるビット連続数検出処理の第1の例について、図16
に従って説明する。
【0009】nビットのビット列が入力されると、処理
が開始され、まず図16のフローのステップ1におい
て、計数結果を示す計数値(COUNT )が、値「0」にリ
セットされる。次にステップ2において入力されたビッ
ト列の最上位ビットの値が取得される。そしてステップ
3では、最上位ビットに隣接するビットが比較対象とし
て設定される。
【0010】ステップ4では、比較対象のビットの値が
最上位ビットの値と比較され、同じであればステップ5
が、異なっていればステップ8が実行される。ここで同
じであった場合には、ステップ5において計数値が
「1」だけ増加される。次のステップ6では、比較対象
であるビットが最終ビットであるか否かが判定され、最
終ビットでない場合には、ステップ7において比較対象
とするビットを1ビットだけシフトした上でステップ4
に戻り、ステップ4の判定が実行される。
【0011】ステップ4からステップ7のループは、ス
テップ4の判定において「異なる」と判定されるか、あ
るいはステップ6の判定において「最終ビットである」
と判定されるかのいずれかに至るまで繰り返される。以
上のように、1ビットずつシフトを行いながら最上位ビ
ットとの比較が行われ、値が異なるビット、又は最終ビ
ットに至った場合にステップ8が実行され、計数値が出
力されて、処理は終了する。
【0012】B.専用回路を用いる検出処理 従来の技術によるディジタル計算機におけるビット連続
数検出処理の第2、及び第3の例は、浮動小数点処理の
ための専用回路をもつ計算機において、正規化のための
シフトビット数の計算を該専用回路によって生成するも
のである。専用回路としては、組合せ論理回路が用いら
れる。専用回路を用いた処理においては、計算機におけ
る演算処理の1単位に相当する単位時間である1マシン
サイクル内で、シフトビット数の計算を完了することが
可能である。第2、及び第3の例のいずれについても、
符号ビット(最上位ビット)を選択信号として、データ
ビットの値とそのビットごとの反転した値のどちらかを
選ぶ選択器と、組合せ論理回路であって、複数の入力値
に対して優先順位を付した論理演算処理を行うプライオ
リティエンコーダとから構成される。
【0013】B−1.ビット方向に情報を伝搬する専用
回路 図17、及び図18は従来の技術の第2の例による、正
規化のためのシフトビット数の計算を行なう回路の構成
を示す図であり、32ビットの入力に対してビット連続
数検出処理を行うものである。図示するように、回路
は、選択器602と、論理積回路、論理和回路、及び論
理反転回路から構成されるプライオリティエンコーダと
からなっている。
【0014】このように構成される従来の技術の第2の
例による回路の、ビット連続数検出処理の動作を以下に
説明する。32ビットの入力が回路に入力されると、そ
の最上位ビットbit 0 が選択器602に入力される。
又、以下のビットbit 1 〜bit31について、当該ビット
と、当該ビットが反転回路601によって反転された信
号とがともに選択器602に入力される。選択器602
は、入力された最上位ビットbit 0 の値に基づいて、以
下のビットbit 1 〜bit 31のそれぞれについて、当該ビ
ットの値、又は反転回路601によって反転された値の
いずれかを選択して、これをプライオリティエンコーダ
に入力する。
【0015】これ以降、特に断らない限り、2進数表記
については、'0','010' のように、又、10進数表記に
ついては「2」「8」のように表わすものとする。一般
にプライオリティエンコーダは、優先順位を付されたN
ビットの2進数入力データに対して、ビットの値が'0'
、又は'1' となる、最も優先順位の高いビット番号に
対応する2進数を出力するものである。例えば、4ビッ
トの入力に対して、ビットの値が'1' となるビット番号
について0→3の優先順位を有する処理を実行するプラ
イオリティエンコーダであれば、4ビットの入力 bit
0,bit 1,bit 2,bit3 について、以下のような出力をす
ることになる。
【0016】bit 0 が'1' である場合には、bit 1 〜bi
t 3 の値にかかわらず、「0」を示す「'0','0','0' ]
を出力する。 bit 0 ,bit 1 が '0','1' である場合に
は、bit 2 、及びbit 3 の値にかかわらず、「1」を示
す「'0','0','1' ]を出力する。同様に、 bit 0 ,bit
1 ,bit 2 が '0','0','1' である場合には、bit 3の
値にかかわらず、「2」を示す '0','1','0' を、又、
bit 0 ,bit 1 ,bit 2,bit 3 が '0','0','0','1' で
ある場合には、「3」を示す '0','1','1' を出力す
る。そして、bit 0 〜bit 3 がいずれも1でない場合、
すなわち '0','0','0','0' であった場合には、「4」
を示す '1','0','0' が出力されることとなる。このよ
うにプライオリティエンコーダの出力は、入力された4
ビットについて、最上位ビットbit 0 から値'0' が連続
するビット数を示すものとなる。そして、論理反転回路
を組み合わせることによって、値'0' 、又は値'1' が連
続するビット数を求め得る回路を構成することができ
る。
【0017】従来の技術の第2の例による回路では、図
17〜18に示すように、各ビットの値と、当該値を反
転回路によって反転させた値とを論理積回路に入力し、
論理積回路の出力を論理和回路によって処理すること
で、ビット方向に情報を伝搬させて、連続数を検出する
プライオリティエンコーダを実現させている。すなわ
ち、上位ビットから下位ビットにという方向で、各論理
回路の処理結果を伝達していくこととなる。これによっ
て図17〜18に示す回路からは、ビット連続数が0〜
32のいずれかであることを示す4ビットの出力が得ら
れ、ディジタル計算機はこの出力を正規化処理に用いる
ことができる。
【0018】B−2.並列プレフィックス演算による専
用回路 図19、及び図20は従来の技術の第3の例による、正
規化のためのシフトビット数の計算を行なう回路の構成
を示す図であり、32ビットの入力に対してビット連続
数検出処理を行うものである。図示するように、回路
は、選択器802と、論理和回路、排他的論理和回路、
及び反転回路から構成されるプライオリティエンコーダ
とからなっている。
【0019】このように構成される従来の技術の第3の
例による回路の、ビット連続数検出における動作を以下
に説明する。回路に入力された32ビットの入力は、反
転回路801と、選択器802とによって、B−1と同
様に処理されて、プライオリティーエンコーダに出力さ
れる。プライオリティエンコーダは、各ビットの値を2
値入力論理和回路に入力し、論理和を取得する演算処理
を行い、演算結果が組み合わせられることで、B−1と
同様に、0〜32のいずれかであることを示す4ビット
の出力が得られる。そして、ディジタル計算機はこの出
力をビット連続数、すなわちビットシフト数として正規
化処理に用いることができる。
【0020】
【発明が解決しようとする課題】従来の技術に示した
「A.ソフトウェアによる方法」では、特に演算処理の
ためのハードウェアを追加することなく、汎用のディジ
タル計算機において処理が可能であるが、演算処理その
ものは、B.の専用回路を用いる場合よりは一般的に遅
いものとなる。すなわち、ディジタル計算機の計算の1
サイクルごとに、各ビットの判定処理とビットシフト処
理を行うこととなるので、1つの入力に対する検出処理
のために必要とするサイクル数については、最悪の場合
入力ビット数nに等しく、平均的にあまり少ないサイク
ル数とすることができないので、全体として処理効率が
良くなく、処理時間が長くなってしまうという問題があ
る。
【0021】また、「B.専用回路を用いる方法」で
は、B−1、及びB−2のいずれの例においても、等し
く1サイクルで32ビットの入力を処理することがで
き、Aの例に比較して、一般に演算処理を迅速に行い得
ることとなる。
【0022】しかし、B−1に示す例では、プライオリ
ティエンコーダ自体の処理において、ビット方向への情
報の伝搬があるために、かかる伝搬が長い場合の遅延が
大きなものとなり、1サイクルに要する時間を短縮する
ことが容易でなく、従って処理速度の向上を図ることが
困難となるという問題点を有している。
【0023】これに対して、B−2に示す例では、並列
プレフィックス演算を行うことから情報の伝搬が短くて
すみ、B−1より処理の迅速化を図ることができる。具
体的には、B−1の場合に、最長遅延の論理ゲート段数
はほぼnに比例することとなるのに対して、B−2では
最長遅延の論理ゲート段数をほぼlog n (ただし対数の
底は2)に比例するものに抑えることができる。他の要
因が同等であれば、段数が多くなると1サイクルあたり
の時間が大きくなるため、段数を抑えることは1サイク
ルあたりの時間の短縮により、処理の迅速化につながる
ものとなる。
【0024】しかし、専ら論理和回路の組合せ演算によ
るため、必要とする論理回路の数が多くなり、回路規模
の増大を招くこととなるという問題点がある。すなわ
ち、B−1の回路数がほぼnに比例するものとなるのに
対し、B−2ではほぼ( n logn ) (対数は上記と同
様)に比例するものとなり、回路数が増加することとな
る。また、B−2においては、一部のゲートのファンア
ウト数がnにほぼ比例して大きくなることも、回路設計
上の問題点となり、必ずしも遅延時間を段数に比例して
減らすことを期待できない事態につながる。
【0025】本発明は、かかる事情に鑑みてなされたも
のであり、従来技術によるビット連続数検出処理の第1
の例(A)よりも少ないサイクル数で処理が可能であ
り、第2の例(B−1)よりも、1サイクルに要する時
間の短縮を図ることができ、かつ、第3の例(B−2)
よりも回路規模を小型化することが可能な、すなわち、
処理の迅速化と回路規模の小型化とを両立することので
きるビット連続数検出装置を提供することを目的とす
る。
【0026】
【課題を解決するための手段】上記目的を達成するた
め、本発明の請求項1にかかるビット連続数検出装置
は、n個の1ビットデータから構成されるnビットの2
進数を入力データとして、上記入力データの最上位の1
ビットデータを最上位データとし、上記最上位データの
値を最上位値とし、当該最上位データに後続する、上記
最上位値と同じ値を有する1ビットデータの連続数を、
ビット連続数として検出するビット連続数検出装置にお
いて、単位ビット数m、及び単位数kを、m×k=nを
満足する整数として、上記nビットの入力データを構成
するk個のmビット単位入力データのうち一の単位入力
データに対して、上記一の単位入力データの最上位の1
ビットデータを単位最上位データとし、上記単位最上位
データの値を単位最上位値とし、当該単位最上位データ
に後続する、上記単位最上位値と同じ値を有する1ビッ
トデータの連続数を、単位ビット連続数として検出する
単位ビット連続数検出手段と、上記単位ビット連続数検
出手段への単位入力データの入力と、上記単位ビット連
続数検出手段が検出した単位ビット連続数の処理とを制
御し、当該ビット連続数の出力であるビット連続数を生
成する検出処理制御手段とを備えたものである。
【0027】また、請求項2にかかるビット連続数検出
装置は、請求項1の装置において、上記検出処理制御手
段は、カウント値を保持し、外部より入力したカウント
信号に対応して上記保持するカウント値を増加させるカ
ウント動作を実行し、後述する停止要求を入力されたと
き、上記カウント動作を停止するカウント手段と、上記
nビットの入力データを構成するk個のmビット単位入
力データのうちから、上記カウント値に基づいて、1個
のmビット単位入力データを選択して上記単位ビット連
続数検出手段に出力する第1の選択手段と、上記入力n
ビットデータより、上記カウント値に基づいて、1個の
1ビットデータを判定データとして選択する第2の選択
手段と、上記nビットの入力データの最上位値と、上記
第2の選択手段が選択した判定データの値とを比較し
て、一致しないときに上記カウント手段に対して停止要
求を出力する第1の判定手段と、上記単位入力データを
構成するm個の1ビットデータの値がすべて同じであっ
たか否かを調べ、すべて同じでなかったときに上記カウ
ント手段に対して停止要求を出力する第2の判定手段
と、上記カウント値と、上記単位ビット連続数検出手段
が検出した上記単位ビット連続数とを用いて、当該ビッ
ト連続数検出装置の装置出力であるビット連続数を生成
する合算手段とを備えたものである。
【0028】また、請求項3にかかるビット連続数検出
装置は、請求項2の装置において、上記カウント手段
は、上記カウント動作を停止した場合に、当該ビット連
続数検出装置の外部に対してカウント停止信号を出力す
るものである。
【0029】また、請求項4にかかるビット連続数検出
装置は、請求項1の装置において、上記検出処理制御手
段は、カウント値を保持し、外部より入力したカウント
信号に対応して上記保持するカウント値を増加させるカ
ウント動作を実行するカウント手段と、上記nビットの
入力データの最上位値と、上記mビットの単位入力デー
タの単位最上位値とを比較して、一致するか否かを示す
第1の比較信号を出力する第1の判定手段と、上記単位
入力データを構成するm個の1ビットデータの値がすべ
て同じであったか否かを調べ、すべて同じか否かを示す
第2の比較信号を出力する第2の判定手段と、上記第2
の比較信号を記憶し、上記カウント値に対応して、上記
第2の比較信号に基づく記憶比較信号を出力する比較信
号記憶手段と、上記カウント値と、上記第1の比較信号
と、上記記憶比較信号とに基づいて、判定信号を出力す
る第3の判定手段と、上記判定信号の値に対応して、上
記単位ビット連続数検出手段に入力する単位入力データ
を選択する選択手段と、上記判定信号と、上記単位ビッ
ト連続数とを用いて、当該ビット連続数検出装置の装置
出力であるビット連続数を生成する合算手段とを備えた
ものである。
【0030】また、請求項5にかかるビット連続数検出
装置は、請求項1の装置において、k個の上記単位ビッ
ト連続数検出手段を備え、上記検出処理制御手段は、上
記nビットの入力データの最上位値と、上記mビットの
単位入力データの単位最上位値とを比較して、一致する
か否かを示す第1の比較信号を出力する第1の判定手段
と、上記単位入力データを構成するm個の1ビットデー
タの値が、すべて同じであったか否かを調べ、すべて同
じか否かを示す第2の比較信号を出力する第2の判定手
段と、上記第1の比較信号と、上記第2の比較信号とに
基づいて、判定信号を出力する第3の判定手段と、上記
判定信号の値に対応して、上記k個の単位ビット連続数
検出手段より出力されるk個の単位ビット連続数から一
の単位ビット連続数を選択するビット連続数選択手段
と、上記判定信号と、上記ビット連続数選択手段が選択
した単位ビット連続数とを用いて、当該ビット連続数検
出装置の装置出力であるビット連続数を生成する合算手
段とを備えたものである。
【0031】また、請求項6にかかるビット連続数検出
装置は、請求項1ないし5のいずれかの装置において、
上記単位ビット数mが2のべき乗であるものである。
【0032】また、請求項7にかかるビット連続数検出
装置は、請求項1ないし6のいずれかの装置において、
上記単位数kが2であるものである。
【0033】また、請求項8にかかるビット連続数検出
装置は、請求項7にの装置において、上記入力ビット数
nが32であり、上記単位ビット数mが16であるもの
である。
【0034】また、請求項9にかかるビット連続数検出
装置は、請求項1ないし8のいずれかの装置において、
n’個の1ビットデータから構成されるn’ビットの2
進数を入力データとして、上記n’ビット入力データを
nビットデータに変換する入力データ変換手段をさらに
備えたものである。
【0035】また、請求項10にかかるビット連続数検
出装置は、請求項9の装置において、上記入力データ変
換手段は、n’<nの関係を満たすn’ビットデータを
変換対象データとして入力し、上記変換対象データを構
成するn’個の1ビットデータのいずれかの値を変換対
象値とし、上記変換対象データの下位に上記変換対象値
を論理反転させた値を有する1ビットのデータを付加
し、上記付加した1ビットのデータの下位に任意の値を
有するデータを付加して、nビットデータを生成するデ
ータ拡張手段であるものである。
【0036】
【発明の実施の形態】
実施の形態1.本発明の実施の形態1によるビット連続
数検出装置は、nビットの入力を、k個のmビットのデ
ータに分割して検出処理をし、nビットのデータについ
てのビット連続数を効率的に検出するものである。
【0037】図1は本発明の実施の形態1によるビット
連続数検出装置の構成を示すブロック図である。図1に
示すように、本実施の形態1によるビット連続数検出装
置は、第1の選択手段1、第2の選択手段2、8ビット
入力ビット連続数検出手段3、カウント手段4、第1の
接続手段5、第1の判定手段6、第2の判定手段7、及
び合算手段9から構成されている。本実施の形態1にお
いては、入力されるデータを32ビットデータ(n=3
2)とし、単位ビット数8ビット(m=8)、単位数4
(k=4)であるものとする。
【0038】第1の選択手段1は、第1の接続手段5を
介してカウント手段4より入力されるカウント値に対応
して、入力された32(n)ビットのデータに対して選
択処理を行い、8(m)ビットのデータを単位入力デー
タとして出力する。第2の選択手段2は、やはり第1の
接続手段5を介してカウント手段4より入力されるカウ
ント値に対応して、入力された32ビットのデータに対
して選択処理を行い、1ビットのデータを判定データと
して出力する。この判定データとしては、単位入力デー
タごとの最上位1ビットである単位最上位データが選択
される。8ビット入力ビット連続数検出手段3は、入力
された8ビットの単位入力データに対してビット連続数
検出処理を行い、連続するビットの数である単位ビット
連続数を取得する。カウント手段4は、カウント信号に
対応してカウント値を増加させるカウント動作を行う。
カウント信号としては、例えば、後述のように外部より
入力されるクロック信号を用いることができる。カウン
ト動作は、外部より入力される処理要求により開始さ
れ、停止要求として扱う比較信号(「不一致」を示すも
の)が入力されるときまで続行される。接続手段5は、
カウント手段4より出力されるカウント値を第1、及び
第2の選択手段1、2に入力する。第1の判定手段6
は、2入力排他的論理和回路であって、第2の選択手段
2が選択した判定データと、入力32ビットデータの最
上位ビットデータである最上位データとの比較判定処理
を行い、その結果によって、「一致」又は「不一致」を
示す第1の比較信号を生成する。第2の判定手段7は、
8ビット入力ビット連続数検出手段3の検出処理の対象
である単位入力データの、8ビットの値が全て一致して
いたか否かを示す第2の比較信号を生成する。停止要求
8は、第1、及び第2の比較信号のいずれかが「不一
致」を示す場合に、該信号が停止要求としてカウント手
段4に入力されることを示している。合算手段9は、連
接による接続であって、カウント手段4から入力される
カウント値と、8ビット入力ビット連続数検出手段3か
ら入力される単位ビット連続数とを用いて、本実施の形
態1によるビット連続数検出装置の出力となるビット連
続数を生成する。
【0039】図2は、本実施の形態1によるビット連続
数検出装置を用いる浮動小数点演算装置の構成を示すブ
ロック図であり、当該検出装置の機能を説明するための
ものである。また、図3は、(a) が第1の選択手段1
の、(b) が第2の選択手段2の機能を説明するための
図、図4は8ビット入力ビット連続数検出手段3、及び
第2の判定手段7の構成を示す図、図5はカウント手段
4の構成を示す図、図6はカウント手段4の状態遷移を
示す図、図7〜10は本実施の形態1によるビット連続
数検出装置の動作を説明するための、各信号の波形変化
図である。
【0040】このように構成される、本実施の形態1に
よるビット連続数検出装置の、32ビット入力データに
対するビット連続数検出処理における動作を、以下に図
1〜10を用いて説明する。
【0041】まず、本実施の形態1によるビット連続数
検出装置の機能を説明するために、図2を用いて、本装
置を用いる浮動小数点演算装置の計算処理の際の動作を
説明する。図2に示すように、ディジタル計算機である
浮動小数点演算装置120は、演算処理制御装置121
と、メモリ122と、ビット連続数検出装置123とか
ら構成されている。
【0042】演算処理制御装置121は、外部とのデー
タ入出力と、浮動小数点演算処理との制御を行う。メモ
リ122は、データを一時蓄積する機能をもち、演算処
理制御装置121による計算作業用に用いられる。ビッ
ト連続数検出装置123は、図1に示す構成の、本実施
の形態1による装置であり、入力された32(n)ビッ
トデータに対して、その最上位ビットである最上位デー
タの値を最上位値とし、最上位値と同じ値のビットが、
最上位データ以下に何ビット連続しているかを検出し、
これをビット連続数として出力する。
【0043】浮動小数点演算装置120の動作は以下の
ようになる。計算対象のデータが入力されると、演算処
理制御装置121は、メモリ122を作業領域として用
いて演算処理を行う。該演算処理の途中において浮動小
数点形式で表現されるデータに対して正規化を行う際に
は、演算処理制御装置121は、演算処理途中の仮計算
結果であるデータをメモリ122に一時蓄積する。そし
て、演算処理制御装置121は、処理対象である32
(n)ビットデータと、処理要求を示す信号とを、ビッ
ト連続数検出装置123に出力する。また、演算処理制
御装置121からは、当該浮動小数点演算装置120に
おいて演算処理に用いられるクロック信号がビット連続
数検出装置123に入力され、前述のカウント信号とし
て用いられることとなる。
【0044】ビット連続数検出装置123は、処理要求
と、32(n)ビット入力データとを入力されると、上
記のクロック信号をカウント信号として用いて、ビット
連続数検出処理を行い、その結果をビット連続数とし
て、演算処理制御装置121に出力する。演算処理制御
装置は、このビット連続数を用いて、メモリ122に一
時蓄積した仮計算結果に対して正規化処理を行い、計算
処理を続行する。
【0045】このように、ビット連続数検出装置123
を用いて正規化処理を行うことで、浮動小数点演算装置
120は、精度を低下させることなくメモリ122の使
用量を低減した計算処理を実行する。浮動小数点演算装
置120において、複数の計算処理が並列的に実行され
ている場合などには、演算処理制御装置121の制御に
より、複数の仮計算結果が処理順番を付されてメモリ1
22で待機状態におかれ、演算処理制御装置121によ
り次々とビット連続数検出装置123に入力されて処理
されるものとすることができる。
【0046】次に、ビット連続数検出装置123(図
2)による、ビット連続数の検出処理を、図1を用いて
説明する。まず、当該ビット連続数検出装置に32ビッ
トの入力データが入力されると、該32ビットデータが
第1の選択手段1、及び第2の選択手段2に入力される
とともに、その最上位データ(MSB)が、第1の判定
手段6に入力される。また、処理要求を示す信号と、カ
ウント信号として用いられるクロック信号とが、当該ビ
ット連続数検出装置のカウント手段4に入力される。処
理要求を示す信号として、「要求あり」が入力されるこ
とによって、カウント手段4のカウント動作が開始す
る。処理要求を示す信号は、値が'0' であれば「要求な
し」を、'1' であれば「要求あり」を示すものである。
【0047】ここで、32ビットデータの処理を1回行
なう場合、以下の手順で入力信号が与えられるものとす
る。ディジタル計算機における、演算処理の1単位とな
る期間を1サイクルとする。まず、処理の開始後1サイ
クルの間は、処理要求を示す信号として値'1' が入力さ
れる。説明のため、このサイクルを第0サイクル、続く
4サイクルを第1〜第4サイクルと呼ぶ。第1〜第3サ
イクルの間、処理要求を示す信号の値として'0' が入力
される。あるデータの処理における第4サイクルと、次
いで処理される別のデータの処理における第0サイクル
とは重複したサイクルとなることが可能であり、この場
合には第4サイクルでは処理要求の値は'1' が入力され
ることとなる。又、第1〜第4サイクルの間、処理対象
である32ビットデータは変化することなく入力され
る。
【0048】図5はカウント手段4の構成を示す図であ
る。図示するようにカウント手段4は、Dタイプフリッ
プフロップ(D-FF)101〜103、2入力排他的論理和
回路111、論理反転回路112〜113、2入力1ビ
ット選択器131〜132、2入力論理積回路141〜
144、及び4入力論理和回路151から構成されてい
る。
【0049】また、図6は上記の構成を有するカウント
手段4の状態遷移を示す図である。同図(a) は入力され
る処理要求信号の値が'1' であるときの、また同図(b)
は入力される処理要求信号の値が'0' であるときの状態
遷移を示している。状態は図5の D-FF 101〜103
の値で定められ、101〜103のそれぞれが'0' 又
は'1' の1ビットの値を持つことから、これらの組合せ
によって8状態があることになる。3者のうち、 D-FF
101、及び102の有する計2ビットの値をカウント
値とする。カウント値は'00'、'01'、'10'、及び'11'の
4つの値(「0」〜「3」に相当)をとることができ
る。又、 D-FF 103の有する値を動作状態を表わす動
作値とする。動作値は'0' で表わされる「動作」状態
と、'1' で表わされる「停止」状態とをとることができ
る。カウント値と動作値との組合せによって記述される
上記8種類の状態が、図6(a) 、及び(b) に示すものと
なる。
【0050】処理要求信号の値'1' が入力される第0サ
イクルにおいては、図6(a) に示すように、いずれの状
態からも、カウント値'00'で動作値「動作」の状態に遷
移することとなり、これはカウント動作のためのリセッ
ト動作が実行されることに相当する。続く第1〜第3サ
イクルにおいて、処理要求信号の値'0' が入力される場
合の状態遷移は同図(b) に示すものとなる。後述する停
止要求がない場合には、カウント手段4の状態は、カウ
ント信号(クロック)を入力されるごとに、動作値が
「動作」のままカウント値が'00'→'01'→'10'→'11'
(「0」→「1」→「2」→「3」)と遷移し、このこ
とによってカウント動作におけるインクリメントが実行
される。又、いずれかの状態において停止要求が入力さ
れた場合には、カウント値を変更せずに、動作値が「動
作」→「停止」に遷移することでカウント動作が停止さ
れる。このようにしてカウント手段4は、値'1' の処理
要求を入力されたときから、停止要求を入力されたとき
まで、カウント信号に対応してカウント値を増加させる
(インクリメント)カウント動作を行う。停止要求が入
力された後、又はカウント値が'11'になった後は、カウ
ント値を保ったまま「停止」状態を維持し、次に処理要
求(「要求あり」を示すもの)が入力されるまでそのま
まの状態となる。
【0051】そして、カウント信号ごとに、カウント手
段4からは、「0」〜「3」を示すカウント値が出力さ
れる。カウント値は合算手段9の入力側に出力されると
ともに、接続手段5を介して第1の選択手段1、及び第
2の選択手段2に出力される。これにより、第1、及び
第2の選択手段1、及び2には、同じカウント値が入力
され、双方が同じカウント値を用いて処理を行うことと
なる。
【0052】図3(a) は第1の選択手段1の動作を説明
するための図である。図示するように32ビットの入力
データが第1の選択手段1に入力されると、第1の選択
手段1の内部において、上位から8ビットずつの4つの
単位入力データ(0) 〜(3) に分割される。そして単位入
力データ(0) 〜(3) は、4入力(各8ビット)セレクタ
10に出力される。4入力セレクタ10は、カウント信
号「0」〜「3」を入力されると、入力されたカウント
信号に対応する単位入力データ(0) 〜(3) のいずれか
を、8ビット入力ビット連続数検出手段3に出力する。
【0053】同図(b) は第2の選択手段2の動作を説明
するための図である。図示するように32ビットの入力
データが第2の選択手段2に入力されると、第2の選択
手段2は、入力データから、単位入力データごとの最上
位ビットである単位最上位データbit 8 、bit 16、及び
bit 24を抽出し、これらをデータ(0) 〜(2) として4入
力(各1ビット)セレクタ11に出力する。又、値'0'
もデータ(3) としてセレクタ11に出力される。4入力
セレクタ11は、カウント信号「0」〜「3」を入力さ
れると、入力されたカウント信号に対応するデータ(0)
〜(3) のいずれかを、判定データとして第1の判定手段
6に出力する。
【0054】従って、第0〜第1サイクルにおける、カ
ウント手段4によるカウント値の出力、及び該カウント
値出力に続く本実施の形態1によるビット連続数検出装
置の動作は以下のようになる。
【0055】第0サイクルにおいては、図6(a) に示す
ように、カウント手段4でカウント値を「0」、動作値
を「動作」とする状態遷移がなされることでリセット動
作が行われ、以降のカウント動作が可能となる。
【0056】続く第1サイクルでは、カウント手段4か
ら「0」を示すカウント値'00'が出力され、第1の選択
手段1においては、図3(a) のセレクタ10がカウント
値「0」に対応して入力された32ビットのうちから単
位入力データ(0) であるbit0 〜bit 7 を選択する。そ
して、第2の選択手段2では、図3(b) のセレクタ11
でカウント値「0」に対応する(0) のbit 8 が判定デー
タとして選択される。この結果、入力された32ビット
データのうち最初の8ビットが、第1の選択手段1か
ら、8ビット入力ビット連続数検出手段3に単位入力デ
ータとして入力され、単位ビット連続数検出の対象とさ
れることとなる。
【0057】また、第2の選択手段2から第1の判定手
段6に対して、上記のようにbit 8が、選択された判定
データとして出力される。第1の判定手段6では、最上
位データ(MSB)の値である最上位値と、判定データ
であるbit 8 の値とに対して、排他的論理和演算を行
い、「一致」又は「不一致」を示す信号を、第1の比較
信号としてカウント手段4に対して出力する。bit 8 の
値が最上位値と異なった場合には、「不一致」を示す信
号が出力されることとなる。
【0058】図4は、上述のように最初の8ビットを入
力される8ビット入力ビット連続数検出手段3と、8ビ
ット入力ビット連続数検出手段3の取得した単位ビット
連続数に応じて、第2の比較信号を出力する第2の判定
手段7とを、併せて実現する回路構成を示す図である。
図4において、21〜42は2入力論理積回路、51〜
59は論理反転回路、61〜67は2入力論理和回路、
71は3入力論理和回路、81は4入力論理和回路であ
る。
【0059】同図において、最初の8ビットのデータで
ある、 0 (bit 0)〜 7 (bit 7)が単位入力データとして
入力されると、そのうち最上位の1ビットのデータであ
る単位最上位データ 0 は論理積回路21と反転回路5
1とに入力される。同様に、単位最上位データに続くデ
ータ 1 は論理積回路21と反転回路52とに入力され
る。論理積回路21は入力されたデータ 0 とデータ 1
とに対しての論理積演算を行い、その結果を論理積回
路22と、論理積回路36とに出力する。反転回路51
と52とは、それぞれデータ 0 とデータ 1 とから得
られる反転データ 0 'とデータ 1 'とを論理積回路28
に出力する。論理積回路28は入力されたデータ 0 'と
データ 1 'とに対しての論理積演算を行い、その結果を
論理積回路29と、論理積回路35とに出力する。論理
積回路35は、入力されたデータ2 と論理積回路28
の出力とに対して論理積演算を行い、その結果を論理和
回路61に出力する。
【0060】このように、論理積回路21〜27では入
力された1ビットデータごとの論理積演算が行われ、論
理積回路28〜34では、入力された1ビットデータの
反転データに対する論理積演算が行われ、演算結果が上
位ビット→下位ビット方向に伝達されるとともに、論理
積回路25〜42と、論理和回路61〜67に入力され
てそれぞれ演算処理される。
【0061】このように、図4の回路構成により、プラ
イオリティエンコーダと同様の処理がなされることとな
り、論理和回路64、71、81の出力結果に基づい
て、単位入力データについて、その単位最上位データの
値である単位最上位値と同じ値のビットが幾つ連続して
いるかを示す出力値 OUT1 が、8ビット入力ビット連続
数検出手段3の出力する単位ビット連続数となる。この
出力値 OUT1 は「0」〜「7」のいずれかを示す3ビッ
トの値であり、図1においては合算手段9に出力され
る。合算手段9は入力されたカウント値と単位ビット連
続数とを用いて、ビット連続数を生成して、当該ビット
連続数検出装置の出力とする。
【0062】一方、図4において、論理和回路67の出
力は、反転回路59によって反転信号とされ、得られた
出力値 OUT2 は第2の判定手段7の出力となる。すなわ
ち、入力された8ビットのデータの全てが同じ値であっ
た場合、論理和回路67の出力は'1' となり、反転回路
59によって反転された出力'0' は「一致」を示す信号
となる。これに対して、8ビットデータの全てが同じ値
でなかった場合は、論理和回路67の出力は'0' とな
り、反転回路59によって反転された出力'1' は「不一
致」を示す信号となる。
【0063】図1において、第1の判定手段6、又は第
2の判定手段7のいずれかから、「不一致」を示す比較
信号が出力されたとき、当該「不一致」の信号は、カウ
ント手段4に対して「停止要求」8として入力され、カ
ウント手段4はカウント動作を停止する。従って、カウ
ント手段4のカウント動作は、第1の選択手段1によっ
て単位ビット連続数検出の処理対象とされた単位入力デ
ータの8ビットについて値の一致しないものがあった
か、あるいは当該単位入力データに続く1ビットのデー
タが最上位値(MSBの値)と一致しなかったかの、い
ずれかの場合に停止することとなる。
【0064】カウント手段4に停止要求が入力され、カ
ウント動作が停止したときには、図5に示すように論理
和回路151からカウントの停止信号が出力され、図1
に示すように、この停止信号が本実施の形態1によるビ
ット連続数検出装置の出力として出力される。そして、
図2において、この停止信号が演算処理制御装置121
に入力されることによって、演算処理制御装置121の
制御により、浮動小数点演算装置120は計算処理を続
行することとなる。
【0065】第0〜第1サイクルにおける動作は以上の
ようになるが、第1から第4サイクルにおける動作につ
いては、入力32ビットデータの構成によって異なった
ものとなるので、以下に図7〜10を用いて場合分けを
して説明する。32ビットの入力データの構成について
は、最上位データである bit 0 (MSB)の値、すなわち最
上位値と異なる値を有する最初のビットが、bit 1 以降
のどの位置で出現するかによって、以下の4つに分類さ
れる。
【0066】(A) bit 1 〜 bit 8 (B) bit 9 〜 bit 16 (C) bit 17〜 bit 24 (D) bit 25〜 bit 31 以下に、上記(A) 〜(D) の4つの分類ごとに、それぞれ
に対応した図7〜10を参照しながら説明する。図7〜
10はカウント手段4によってカウント信号として用い
られるクロック信号、カウント手段4に入力される処理
要求の信号、カウント手段4が出力するカウント値、装
置出力であるビット連続数検出出力、及びカウントの停
止を示す信号のそれぞれの波形変化を示す図である。
【0067】(A) の場合:第0〜第1サイクルの動作の
説明において示したように、第1サイクルでは、bit 0
〜 bit 7が8ビット入力ビット連続数検出手段3に入力
されて処理される。bit 1 〜 bit 7のうちに bit 0と異
なるビットがある場合には、単位ビット連続数は「0」
(bit 1 がbit 0 と異なる値である場合)〜「6」(bit
1〜bit 6が全てbit 0 と同じ値であり、bit 7 がbit 0
と異なる値である場合)のいずれかであり、8ビット
入力ビット連続数検出手段3は「0」〜「6」のいずれ
かを出力する。この場合、第2の判定手段7の出力する
第2の比較信号は「不一致」を示す値'1' となる。これ
らの出力がいずれも第1サイクルで出力される。
【0068】またbit 1 〜bit 7 がいずれもbit 0 と同
じ値であり、かつ、bit 8 が bit 0と異なる値である場
合には、第1の判定手段6の出力する第1の比較信号は
「不一致」を示す値'1' となる。一方、8ビット入力ビ
ット連続数検出手段3は「7」を出力し、第2の判定手
段7は「一致」を示す'0' となる。これらの信号も第1
サイクルで出力される。
【0069】このように、(A) の場合ではbit 1 〜bit
8 のいずれかがbit 0 と異なるものであるので、第1の
比較信号か第2の比較信号のいずれかが、第1サイクル
において不一致を示す値'1' となってカウント手段4に
出力される。従って、カウント手段4には停止要求8が
入力され、図5において、内部の論理和回路151の出
力が'1' になり、選択手段131、及び132は以前の
値をそのまま選ぶ選択となる。
【0070】このことによって、第2サイクルにおいて
は、図6(b) に示すように、カウント手段4が出力する
カウント値は'00'のまま、「停止」状態に遷移すること
となる。このとき、図5に示す論理和回路151の出力
が'1' となるために、第3〜第4サイクルにおいてカウ
ント手段4は、カウント値'00'、動作値「停止」の状態
を保持することになる。すなわち、図6(b) の遷移状態
が示すように、「停止」状態への遷移後のカウント手段
4の状態については、カウント値、「停止」状態とも保
持されるものである。
【0071】図3に示すように、第1の選択手段1は、
第1〜4サイクルにおいて、カウント値'00'(「0」)
を入力されるので、この間単位入力データ(0) であるbi
t 0〜bit 7 を選択し、従って、この間の8ビット入力
ビット連続数検出手段3の出力は単位入力データbit 0
〜 bit 7に基づく単位ビット連続数となっている。(A)
の場合はbit 1 〜bit 8 のいずれかがbit 0 と異なるの
で、bit 9 から下位を調べる必要はなく、8ビット入力
ビット連続数検出手段3の出力する単位ビット連続数の
値(「0」〜「7」)をそのままビット連続数として用
いることが可能である。2進数として3ビットで表記さ
れる単位ビット連続数は、合算手段9に出力され、合算
手段9は、これを下位として用いて、カウント値である
「0」('00')を上位に拡張した形で連接して当該装置
の出力とする。
【0072】図7は、(A) の場合に、第1サイクルにお
いてカウント値'00'が出力されてこれが第2〜第4サイ
クルにおいて維持されることと、第1サイクルにおいて
当該ビット連続数検出装置の出力が、正しい'00###'
(### は8ビット入力ビット連続数検出手段3の出力す
る3ビットの単位ビット連続数の値)となり、これが第
2〜第4サイクルにおいて維持されることを示してい
る。なお、(A) 〜(D) のいずれについても、処理要求の
波形変化については後述する。
【0073】(B) の場合:第1サイクルは(A) と同様で
あり、図3において第1の選択手段1は単位入力データ
(0) であるbit 0 〜bit 7 を選択し、第2の選択手段2
はbit 8 を選択している。(B) の場合はbit 1 〜bit 7
はbit 0 と等しいので、8ビット入力ビット連続数検出
手段3の出力は「7」、第2の判定手段7の出力する第
2の比較信号は「一致」を示す値'0' となる。またbit
8 もbit 0 と等しいので第1の判定手段6の出力の第1
の比較信号は「一致」を示す値'0' となる。
【0074】このことから、第1サイクルではカウント
手段4に停止要求は入力されず、カウント手段4は、カ
ウント値が'00'であり動作値が「動作」の状態であるの
で、図5において内部の論理和回路151の出力は'0'
になる。従って、選択手段131、及び132はカウン
ト値'00'を排他的論理和回路111と論理反転回路12
1によりインクリメントした値'01'を選択する。このこ
とにより、第2サイクルにおいては、図6(b) に示すよ
うに、カウント値'00'で動作値が「動作」の状態から、
カウント値が'01'で動作値「動作」の状態に遷移する事
になり、カウント動作におけるインクリメントがなされ
る。第2サイクルではカウント値が'01'となっているた
め、図3に示す第1の選択手段1はbit 8 〜 bit 15 を
選択し、第2の選択手段2はbit 16を選択する。
【0075】(B) の場合は bit 9〜 bit 16 に bit0 と
異なるビットがあるので、(A) の場合と同様に、第1の
選択手段1の出力、または第2の選択手段2の出力に b
it0( = bit 8)と異なるビットが必ず含まれていること
になる。従って、(A) の第1サイクルの場合と同様、第
1の比較信号か第2の比較信号のいずれかは、第2サイ
クルにおいて不一致を示す値'1' となって出力されるこ
ととなる。このことにより、第2サイクルにおいて、カ
ウント手段4に停止要求8が入力されるので、図5にお
いて、内部の論理和回路151の出力が'1' になり、選
択手段131、及び132は以前の値をそのまま選択し
て出力する。
【0076】第3サイクルにおいては、カウント手段4
の状態はカウント値は'01'のままで動作値が「停止」の
状態に遷移する。停止状態に遷移することによって、図
5の論理和回路151の出力が'1' になるため、(A) の
場合の第3〜第4サイクルと同様に、第4サイクルで
は、カウント値'01'、動作値「停止」の状態を保持する
ことになる。すなわち、図6(b) に示すように、状態は
遷移する。
【0077】図3に示す第1の選択手段は、第2〜4サ
イクルにおいて、カウント値'01'(「1」)を入力され
るので、単位入力データ(A) であるbit 8 〜 bit 15 を
選択し、8ビット入力ビット連続数検出手段3の出力は
bit 8〜 bit 15 に基づいた単位ビット連続数となって
いる。
【0078】(B) の場合は、第1サイクルにおいては停
止要求が発生しなかったことで確認されるように、bit
0 〜bit 8 は等しいので、bit 0 〜bit 7 の8ビットを
取り除いた部分について調べ、その結果に「8」を加え
ることで正しい結果が得られる。また、第2サイクルに
停止要求が発生することが示すように、bit 9 〜 bit16
のいずれかが必ず bit 0 ( = bit 8) と異なるので、b
it 16より下位を調べる必要はない。
【0079】以上のことから、この場合には、8ビット
入力ビット連続数検出手段3の出力する単位ビット連続
数に「8」を加えて、本実施の形態1によるビット連続
数検出装置の出力として用いることが可能である。8ビ
ット入力ビット連続数検出手段3の出力は、合算手段9
に出力され、合算手段9は、これを下位として用いて、
上位にはカウント手段4が出力するカウント値'01'('0
1000' は「8」)を連接して、当該装置の出力であるビ
ット連続数とする。
【0080】図8は、(B) の場合、第2サイクルにおい
てカウント値'01'が出力されてこれが第3〜第4サイク
ルにおいて維持されることと、第2サイクルにおいて当
該ビット連続数検出装置の出力が、正しい'01###' (##
# は8ビット入力ビット連続数検出手段3の出力する3
ビットの単位ビット連続数の値)となり、これが第3〜
第4サイクルにおいて維持されることを示している。
【0081】(C) の場合:第1サイクルは(A) と同様で
あり、第1の選択手段1はbit 0 〜bit 7 を選択し、第
2の選択手段2はbit 8 を選択している。(B) と同様
に、第1サイクルではカウント手段4には停止要求が入
力されず、第2サイクルにはカウント動作のインクリメ
ントが行われて、カウント値が'01'で動作値が「動作」
の状態に遷移する。そして、この場合には、第2サイク
ルも同様にカウント手段4には停止要求が入力されず、
続く第3サイクルにもインクリメントが行われ、図6
(b) に示すようにカウント値が'10'の動作状態に遷移す
る。第3サイクルではカウント値が'10'(「2」)とな
っているため、図3に示す第1の選択手段1は単位入力
データ(C) である bit 16 〜 bit 23 を選択し、第2の
選択手段2は bit 24 を選択する。
【0082】(C) の場合は bit 17 〜 bit 24 に bit0
と異なるビットがあるので、(A) の第1サイクル、及び
(B) の第2サイクルの場合と同様、第1の比較信号か第
2の比較信号のどちらかは第3サイクルにおいて、必ず
不一致を示す値'1' となる。よって、(A) 及び(B) と同
様に、第4サイクルには、図6(b) に示すようにカウン
ト値は'10'のままで動作値が「停止」の状態に遷移す
る。
【0083】第1の選択手段は、第3〜4サイクルにお
いて、カウント値'01'(「3」)を入力されるので、単
位入力データ(C) bit 17 〜 bit 23 を選択し、8ビッ
ト入力ビット連続数検出手段3の出力は bit 17 〜 bit
23 に基づく単位ビット連続数となっている。
【0084】(C) の場合は、第1〜第2サイクルにおい
ては停止要求が発生しなかったことで確認されるよう
に、 bit 0〜bit 16は等しいので、bit 0 〜bit 15の1
6ビットを取り除いた部分について調べ、その結果に
「16」を加えることで正しい結果が得られる。また、
第3サイクルに停止要求が発生することが示すように、
bit 17 〜 bit 24 のいずれかが必ず bit 0 ( = bit
8) と異なるので、bit 24より下位を調べる必要はな
い。
【0085】以上のことから、この場合には、単位ビッ
ト連続数の値に「16」を加えて、本実施の形態1によ
るビット連続数検出装置の出力として用いることが可能
である。8ビット入力ビット連続数検出手段3の出力す
る単位ビット連続数は、合算手段9に出力され、合算手
段9は、これを下位として用いて、上位にはカウント手
段4が出力するカウント値'10'('10000' は「16」)
を連接して、当該装置の出力であるビット連続数とす
る。
【0086】図9は、(C) の場合、第3サイクルにおい
てカウント値'10'が出力されてこれが第4サイクルにお
いても維持されることと、第3サイクルにおいて当該ビ
ット連続数検出装置の出力が、正しい'10###' (### は
8ビット入力ビット連続数検出手段3の出力する3ビッ
トの値)となり、これが第4サイクルにおいても維持さ
れることを示している。
【0087】(D) の場合:第1〜第2サイクルにおいて
は(C) の場合と同様の動作となる。そして、この場合に
は、第3サイクルも同様にカウント手段4には停止要求
が入力されず、続く第4サイクルには、図6(b) に示す
ようにカウント値が'11'で動作値「動作」の状態に遷移
する。第4サイクルではカウント値が'11'(「3」)と
なっているため、図3において、第1の選択手段1は単
位入力(C) である bit 24 〜 bit 31 を選択し、第2の
選択手段2は'0' を選択する。
【0088】カウント手段4においてカウント値が'11'
となった場合、図5における論理積回路144の出力の
値が'1' となり、停止要求と同様の作用を持つので、カ
ウント手段4の状態は、カウント値'11'で動作値「停
止」に遷移し、以後は処理要求が発生しない限り、図6
(b) に示すように、カウント値は'11'で動作値が「停
止」の状態を保持することとなる。
【0089】(D) の場合は、第1〜第3サイクルにおい
ては停止要求が発生しなかったことで確認されるよう
に、 bit 0〜bit 24は等しいので、bit 0 〜bit 23の1
6ビットを取り除いた部分について調べ、その結果に
「24」を加えることで正しい結果が得られる。
【0090】従って、この場合には、単位ビット連続数
の値に「24」を加えて、本実施の形態1によるビット
連続数検出装置の出力として用いることが可能である。
8ビット入力ビット連続数検出手段3の出力する単位ビ
ット連続数は、合算手段9に出力され、合算手段9は、
これを下位として用いて、上位にはカウント手段4が出
力するカウント値'11'('11000' は「24」)を連接し
て、当該装置の出力であるビット連続数とする。
【0091】図10は、(D) の場合、第4サイクルにお
いてカウント値'11'が出力されることと、第4サイクル
において当該ビット連続数検出装置の出力が、正しい'1
1###' (### は8ビット入力ビット連続数検出手段3の
出力する3ビットの値)となることを示している。
【0092】(A) 〜(D) のいずれの場合にも、第4サイ
クルには必ず内部の論理和回路151(図5)の出力の
値は'1' となるので、第4サイクル以降新たな処理要求
が生じるまで、停止状態に遷移してその状態を続けるこ
とになる。また、カウント値は初めて停止状態に遷移し
た時の値が保持される。
【0093】以上のように、本実施の形態1によるビッ
ト連続数検出装置によって、4サイクルで32ビットデ
ータのビット連続数の計算を行なうことができる。しか
し、上述のように、データが(A) 〜(C) であった場合に
は、第1〜3サイクルにおいて、正しいビット連続数が
出力されることとなるので、このことを利用して全体的
に処理時間を短縮することも可能である。
【0094】図2に示すように、浮動小数点演算装置1
20の演算処理制御装置121は、処理要求と32ビッ
トデータとをビット連続数検出装置123に入力し、カ
ウント停止を示す信号と、ビット連続数とをビット連続
数検出装置123の出力として取得する。前述のよう
に、演算処理制御装置121は、第1〜第3サイクルに
おいて処理要求信号として「要求がない」ことを示す'
0' を出力するものとしている。しかし、この設定を変
更し、カウントの停止を示す信号を入力されたならば、
処理要求として「要求がある」旨を示す'1' を出力する
こととする設定も可能である。そして、次に当該ビット
連続数検出装置123が処理すべき対象であるデータを
入力して処理させることにより、浮動小数点演算装置1
20全体としての、装置資源を活用した処理の効率化・
迅速化を図ることができる。
【0095】図7〜10において処理要求の波形変化は
上記のことを示すものである。時間短縮がない場合、前
述のように第1〜第3サイクルにおいて、'0' であり、
第4サイクルについては、次の第0サイクルと重複して
いる場合には'1' となり得るものである。これに対し
て、時間短縮を行う場合、すなわち上記のような処理要
求信号を出力するものとした場合、図示するようにデー
タが(A) 〜(C) である場合には、時間短縮の効果が得ら
れる。このように時間短縮の度合いはデータによって異
なり、また、データが(D) である場合には短縮は図れな
いこととなるが、上述のように、図2に示す浮動小数点
演算装置120として、平均的に時間短縮の効果がある
ことから、全体のパフォーマンス向上を図ることが可能
である。
【0096】以下に、本実施の形態1によるビット連続
数検出装置について、従来の技術によるビット連続数検
出との比較を行う。ビット連続数の検出については、処
理の迅速性と、回路規模の大きさとが問題となる。
【0097】従来の技術の第1の例に示した、Aのソフ
トウェア的処理による場合、基本的には例えば32ビッ
トデータの処理を行うためには最悪32サイクルを要す
るものであって、従来の技術で述べたように、ハードウ
ェア的コストは低いものの、処理が迅速であるとは言え
ない。これに対して本実施の形態1の装置では、短縮を
行わない場合にも4サイクルで処理が可能である。
【0098】しかし、Aによる場合は、他の演算機能を
持ち合わせた汎用的な計算機において、ソフトウェア的
に処理を行なうものであって、1サイクルに要する時間
は他の要因も含めて決定されるので、かかる計算機にお
いて、本実施の形態1と同等の迅速さで処理を行うこと
も不可能ではない。すなわち、1サイクルに要する時間
を、本実施の形態1による装置の1/8とすることがで
きるならば、処理の迅速性について同等のものとなり得
る。しかし、そのためには、他の計算機能を簡素化する
ことが必要であり、それゆえ、他の演算処理についても
ソフトウェア的に分解して処理する必要が生じるため、
設計工数の増大を招くこととなり、ハードウェア的コス
トの低さという利点を損なう事態にもなり得る。また、
処理の迅速性が得られたとしても、他の処理についての
影響等を考慮すると、全体的な性能の劣化を招く危険を
含んでいることとなり、容易に行えるとは限らない。従
って、従来の技術においてBとの比較で言及したよう
に、一般的に、Aのようなソフトウェアによる場合に
は、処理の迅速性はあまり期待できるものではない。
【0099】次に、従来の技術の第2、及び第3の例に
示した、Bの専用回路を用いる場合との比較では、Bの
場合は、32ビットデータの処理を1サイクルで行なう
ものであり、本実施の形態1において、時間短縮を図ら
ない場合の4サイクルと比較して1/4となり、サイク
ル数に関しては従来技術による専用回路の方が高速であ
ると言い得る。
【0100】ただし、専用回路の実現方法にもよって、
1サイクル当たりの時間に依存する処理の迅速性と、回
路個数で表わされる回路規模とは異なるので、以下に従
来の技術に示したB−1、及びB−2の場合と、本実施
の形態1とについて、処理の迅速性を示す1サイクルの
時間と、回路規模を示すハードウェア量とについての比
較を行う。ここで、比較は、1サイクルの時間を決める
要因である論理回路の段数と、ハードウェア量を決める
要因である論理回路の数とについての評価によって行う
ものとする。もっとも、実際には、論理回路を実現する
トランジスタのサイズや配線の長さ等、様々な要因によ
って1サイクルの時間/ハードウェア量は影響を受ける
が、ここでは簡単のため、以下の仮定に基づいて評価を
行うこととする。
【0101】・配線の長さ、分岐数は評価しない。 ・論理反転回路は1段、1/2個とする。 ・2入力論理積回路、論理和回路は1段、1個とする
(論理回路の数の基準)。 ・2入力排他的論理和回路は2段、2個とする(反転出
力の場合も同様)。 ・8入力までの論理積回路、論理和回路は1段、(入力
数−1)個とする。 ・D-FFは段数は評価せず、3個とする(本実施例の
み)。 ・選択器の場合、段数はデータ入力より2段、選択入力
より3段とする。 ・8 bit 4 入力選択器(図3(a) の10)は60個とす
る。 ・1 bit 4 入力選択器(図3(b) の11)は8個とす
る。 ・31 bit 2入力選択器(図17の602、図19の80
2)は94個とする。 ・1 bit 2 入力選択器2つ(図5の131、132)は
まとめて7個とする。 ・本実施の形態1によるビット連続数検出装置では、カ
ウント手段4の D-FF の出力から、カウント手段4への
入力までの経路の段数を評価する。
【0102】上記の仮定に基づき、B−1(図17〜1
8)、B−2(図19〜20)、及び本実施の形態1に
よるビット連続数検出装置の回路につき、最長経路とな
る場合の段数と、論理回路の個数とを計算すると、以下
のようになる。
【0103】B−1では、最長の経路は入力(図17の
IN 1 )〜論理反転回路(同図601のbit1)〜選択器
(同図602のbit1)〜論理反転回路(同図603)〜
2入力論理積回路の連鎖(同図604〜図18の63
3)〜8入力論理和回路(図18の634)〜2入力論
理和回路(図17の635)〜出力(図17のOUT 4 )
であり36段である。一方、論理回路の個数は230個
となる。
【0104】B−2では、最長の経路は入力(図19の
IN 1 )〜論理反転回路(同図801のbit1)〜選択器
(同図802のbit1)〜2入力の論理和回路の連鎖(同
図803〜806〜図20の807)〜2入力排他的論
理和回路(図20の808)〜8入力論理和回路(同図
809)〜2入力論理和回路(図19の810)〜出力
(同図OUT 4 )であり12段である。又、論理回路の個
数は288個となる。
【0105】本実施の形態1による装置では、最長の経
路はカウント値(図5の101〜図1の5)〜第1の選
択手段(図1の1)〜論理反転回路(図4の51)〜2
入力論理積回路の連鎖(同図28〜34)〜2入力論理
和回路(同図67)〜論理反転回路(同図59)〜4入
力論理和回路(図5の151)〜1bit2 入力選択器(同
図131)〜2入力論理積回路(同図141)であり1
8段である。又、論理回路の個数は134個と1/2と
なる。
【0106】上記のように本実施の形態1によるビット
連続数検出装置では、B−1の例に比べて回路の段数が
半分であり、B−2の例に比べて論理回路の個数がほぼ
半分となる。前述のように4サイクルを要するため、1
サイクルの時間が段数に比例するとすれば、本実施の形
態1による装置では、計算時間としてはB−1の2倍、
B−2の6倍を要することとはなるが、回路規模が小さ
く、設計が容易でコスト低減や装置の小型化を図り得る
利点を有し、計算手段の実現方法の選択枝を与えるもの
となる。
【0107】このように、本実施の形態1によるビット
連続数検出装置によれば、n=32 bitの入力データに対
し、カウント手段4、第2の選択手段2、第1の判定手
段6、及び第2の判定手段7によるカウント値を用いた
制御により、第1の選択手段1が選択したm=8 bit ごと
に、8ビット入力ビット連続数検出手段3により単位ビ
ット連続数を検出し、合算手段9において、上記検出し
た単位ビット連続数を用いてビット連続数を取得するの
で、効率的なビット連続数検出処理を実現し、回路規模
を増大することなく、迅速な処理を行って、浮動小数点
演算における正規化に必要なビット連続数検出を行うこ
とが可能となる。
【0108】また、単位ビット数ごとの処理を行うにあ
たり、単位ビット数を、 m = ( 2の3乗 ) = 8とするこ
とにより、合算手段9としては、特に乗算器や加算器を
設けずに桁位置を合わせて接続する連接の処理だけで、
容易にビット連続数生成の処理を実現し、処理の効率化
と回路規模の小型化とに寄与している。また、カウント
手段4がカウントの停止を示す信号を出力するものとし
たことで、無駄なサイクルを省いて処理を実行すること
ができ、浮動小数点演算装置、すなわちディジタル計算
機として、全体的な処理効率の向上が得られる。
【0109】なお、本実施の形態1によるビット連続数
検出装置では、入力データを32ビット、単位ビット数
8、単位数2としたものであるが、これは一例であり、
入力データのビット数nに対してn=k×mを満足させ
るものであれば良い。ただし、単位ビット数mについて
は、上記のように2のべき乗となる数値を用いること
が、単位ビット連続数に基づいてビット連続数を求める
処理を簡易にし、処理の効率向上と、回路規模の小型化
の上で望ましいものである。
【0110】実施の形態2 本発明の実施の形態2によるビット連続数検出装置は、
nビットの入力を、2個のmビットのデータに分割し
て、mビットごとに処理することにより、効率的な検出
処理をするものである。
【0111】図11は本発明の実施の形態2によるビッ
ト連続数検出装置の構成を示すブロック図である。図1
1に示すように、本実施の形態2によるビット連続数検
出装置は、選択手段201、16ビット入力ビット連続
数検出手段202、カウント手段203、第1の判定手
段204、第2の判定手段205、記憶手段206、論
理積手段207、接続手段208、及び合算手段209
から構成されている。
【0112】選択手段201は、 16bit 2入力選択器2
10で構成され、入力される32ビットのデータに基づ
く単位入力データ、すなわち、上位16ビット分のデー
タ、又は下位16ビット分のデータのいずれかを選択す
る。16ビット入力ビット連続数検出手段202は、入
力された16ビットの単位入力データに対してビット連
続数検出処理を行い、連続するビットの数である単位ビ
ット連続数を取得する。カウント手段203は、 D-FF
211、及び論理反転回路212で構成され、入力され
るクロック信号をカウント信号として用いて、カウント
値を増加させるカウント動作を行い、カウント値を生成
する。第1の判定手段204は反転出力の2入力排他的
論理和回路であり、最上位データの値である最上位値
と、単位入力データの単位最上位データの値である単位
最上位値との比較を行い、一致するか否かを示す第1の
比較信号を出力する。第2の判定手段205は、16ビ
ット入力ビット連続数検出手段202の検出対象となる
単位入力データの、16ビットの値が全て一致していた
か否かを示す、第2の比較信号を生成する。記憶手段2
06は、 Dタイプ透過型ラッチ(D-Latch) 213、及び
論理反転回路214で構成され、比較信号記憶手段とし
て機能するものであり、第2の判定手段205の出力す
る第2の比較信号を記憶し、カウント手段203の出力
するカウント値に対応して、上記記憶した第2の比較信
号に基づく記憶比較信号を出力する。論理積手段207
は、第1の比較信号、記憶比較信号、及びカウント値に
基づく判定信号を生成する第3の判定手段として機能す
るものであって、上記3者に対して論理積演算を行い、
その演算結果を判定信号として出力する。接続手段20
8は、論理積手段207より出力される判定信号を選択
手段201、及び合算手段209に入力する。合算手段
209は、連接による接続であって、接続手段208か
ら入力される判定信号と、16ビット入力ビット連続数
検出手段202から入力される単位ビット連続数とを用
いて、本実施の形態2によるビット連続数検出装置の出
力となるビット連続数を生成する。
【0113】図12は16ビット入力ビット連続数検出
手段202と、第2の判定手段205とを、併せて実現
する回路構成を示す図である。図示するように、回路
は、2入力論理積回路、論理反転回路、及び2,5,
7,8入力論理和回路から構成されている。
【0114】また、本実施の形態2によるビット連続数
検出装置は、実施の形態1による検出装置と同様に、図
2に示す浮動小数点演算装置において用いられるもので
あり、浮動小数点演算装置120の動作は実施の形態1
と同様のものとなる。
【0115】このように構成される、本実施の形態2に
よるビット連続数検出装置の、32ビット入力データに
対するビット連続数検出処理における動作を、以下に図
11〜12を用いて説明する。
【0116】実施の形態1による検出装置と同様に、本
実施の形態2によるビット連続数検出装置についても、
32ビットデータの処理を1回行なう場合、以下の手順
で入力信号が与えられるものとする。処理の開始後1サ
イクルの間は、処理要求を示す信号として値'1' が入力
される。実施の形態1と同様に、このサイクルを第0サ
イクル、続く2サイクルを第1〜第2サイクルと呼ぶ。
第1サイクルの間、処理要求を示す信号の値として'0'
が入力される。そして、実施の形態1における第4サイ
クルと同様に、第2サイクルについては、次のデータの
処理の第0サイクルと重複することが可能であって、こ
の場合には第2サイクルにおいて、処理要求の値'1' が
入力される。又、第1〜第2サイクルの間、処理対象で
ある32ビットデータは変化することなく入力される。
実施の形態1において、図2を用いて説明したように、
外部にある演算処理制御装置からは、当該ビット連続数
検出装置に対して、上記のように処理要求信号と、入力
データとが入力されるものとする。
【0117】カウント手段203には処理要求を示す信
号と、カウント信号として用いられるクロック信号とが
入力される。カウント手段203は、第0〜第1サイク
ルにおいて、以下のような動作をする。
【0118】まず、第0サイクルにおいて、処理要求を
示す信号の値が'1' であるため、 D-FF 211の入力の
値は'1' である。従って、次の第1サイクルには D-FF
211の出力は'1' となり、論理反転回路212の出力
すなわちカウント値は'0' となる。第1サイクルにおい
て、処理要求を示す信号の値が'0' であるため、 D-FF
211の入力の値は'0' である。従って次の第2サイク
ルには D-FF 211の出力は'0' となり、論理反転回路
212の出力すなわちカウント値は'1' となる。第0サ
イクル、及び第1サイクルのいずれにおいても、カウン
ト手段203は、カウント値を記憶手段206と論理積
手段207とに出力する。
【0119】カウント値出力にともない、本実施の形態
2によるビット連続数検出装置の動作は以下のようなも
のとなる。記憶手段206においては、カウント値が論
理反転回路214を通して D-Latch213のゲート入力
に入力される。第1サイクルでは、カウント値は上記の
ように'0' であるので、記憶手段206は入力された第
2の判定手段205の出力する第2の比較信号をそのま
ま記憶比較信号として出力とする。第2サイクルではカ
ウント値は'1' となるので、記憶手段206は、記憶し
ていた直前のサイクルの終了時点での第2の比較信号を
記憶比較信号として出力する。このように、第1、及び
第2サイクルにおいて、記憶比較信号は同じものが出力
されることとなる。記憶比較信号は論理積手段207に
出力される。以上の動作は入力データの構成には依存せ
ずに行われる。
【0120】第1サイクルでは、上記のようにカウント
値は'0' となるので、論理積手段207の出力する判定
信号は'0' となり、選択手段201は上位側の16ビッ
トデータ、bit 0 〜 bit 15 を選択する。第1サイクル
における選択手段201の選択は、データの構成に依存
せずこのようになる。
【0121】これ以降の動作(第1〜第2サイクル)に
ついては、入力32ビットデータの構成によって異なっ
たものとなるので、以下に場合分けをして説明する。3
2ビットの入力データの構成については、当該入力デー
タの最上位ビットである最上位データ bit 0 (MSB)の
値、すなわち最上位値と異なる値を有する最初のビット
が、bit 1 以降のどの位置で出現するかによって、以下
の3つに分類される。
【0122】(A) bit 1 〜 bit 15 (B) bit 16 (C) bit 17〜 bit 31 以下に、入力データの構成が上記(A) 〜(C) である場合
のそれぞれについて、第1〜第2サイクルにおける本実
施の形態2によるビット連続数検出装置の動作を説明す
る。
【0123】(A) の場合:選択手段201は、選択した
bit 0 〜 bit 15 のデータを16ビット入力ビット連続
数検出手段202に出力する。16ビット連続数検出手
段202と、第2の判定手段205とは上述のとおり、
図12の回路構成のものであり、16ビット連続数検出
手段202は、入力された16ビットデータに対して、
実施の形態1における8ビット入力ビット連続数検出手
段3と同様の処理を行い、入力16ビットデータにおけ
る単位ビット連続数を出力する。又、第2の判定手段2
05は、入力された16ビットの値が全て同じであった
か否かを示す第2の比較信号を出力する。第2の比較信
号は、「一致」を示すときに値'1' となる。
【0124】入力データの bit 1〜 bit 15 に bit 0と
異なるビットがある場合、16 bit入力ビット連続数検出
手段202の、第1サイクルにおける出力は「0」〜
「14」のいずれかとなる。又、この場合には16ビッ
トが全て一致することはないので、第2の判定手段20
5の出力する第2の比較信号は「不一致」を示す'0' と
なる。16ビット入力ビット連続数検出手段202の取
得した単位ビット連続数は、合算手段209に出力さ
れ、第2の判定手段205の出力する第2の比較信号
は、記憶手段206に出力される。
【0125】記憶手段206の出力する記憶比較信号
は、第2の比較信号として'0' を入力され、上述の通り
第1、第2サイクルともこの第2の比較信号に基づく記
憶比較信号として'0' を出力することとなるので、論理
積手段207の出力する判定信号は、第1〜2サイクル
とも'0' となる。このため、選択手段201、及び16
ビット入力ビット連続数検出手段202については、第
2サイクルにおける入出力は第1サイクルと同じ値とな
る。
【0126】(A) の場合は、入力データの bit 1〜 bit
15 に bit 0と異なるビットがあるので、bit 0 〜 bit
15 に対して16ビット入力ビット連続数検出手段20
2が取得した単位ビット連続数を、そのまま bit 0〜 b
it 31 について調べた値として良い。すなわち、bit 16
〜 bit 31 を調べる必要がなく、合算手段209では、
16ビット入力ビット連続数検出手段202から入力し
た単位ビット連続数を下位として用いて、論理積手段2
07から入力した判定信号である'0' を上位に拡張した
形で連接して当該装置の出力であるビット連続数とす
る。
【0127】(B) の場合:第1サイクルにおいて、図1
2に示す構成を有する、16ビット入力ビット連続数検
出手段202と、第2の判定手段205とは、(A) の場
合と同様に、入力された単位入力データ bit 0〜 bit 1
5 に対する処理を行う。入力データの bit16 が最上位
値と異なる値を有する最上位のビットである場合、 bit
0〜 bit 15 は全て等しいので、出力は「15」とな
り、第2の判定手段205の出力する第2の比較信号は
「一致」を示す'1' となる。16ビット入力ビット連続
数検出手段202の取得した単位ビット連続数は、合算
手段209に出力され、第2の判定手段205の出力す
る第2の比較信号は、記憶手段206に出力される。
【0128】一方、(B) の場合には、判定データである
bit 16が最上位データ bit 0と異なる値を有するため、
第1の判定手段204の出力は「不一致」を示す'0' と
なり、第1の比較信号として論理積手段207に入力さ
れる。
【0129】記憶手段206の出力である記憶比較信号
は、第2の比較信号に基づいて上記のように生成される
ので、第1、第2サイクルとも'1' となる。しかし、第
1の判定手段204からの出力が'0' であるため、論理
積手段207の出力する判定信号は'0' となる。従っ
て、(A) の場合と同様に、選択手段201、及び16ビ
ット入力ビット連続数検出手段202については、第2
サイクルは第1サイクルと同様に推移する。
【0130】(B) の場合は、入力データの bit 16 に b
it 0と異なるビットがあるので、16ビット入力ビット
連続数検出手段202が取得したビット連続数「15」
を、そのまま bit 0〜 bit 31 について調べた値として
良い。すなわち、bit 17〜 bit 31 を調べる必要がな
く、合算手段209では、16ビット入力ビット連続数
検出手段202から入力した単位ビット連続数を下位と
して用いて、論理積手段207から入力した判定信号で
ある'0' を上位に拡張した形で連接して当該装置の出力
するビット連続数とする。
【0131】(C) の場合:第1サイクルにおいて、図1
2に示す、16ビット入力ビット連続数検出手段202
と、第2の判定手段205とは、(A) の場合と同様に、
入力された bit 0〜 bit 15 に対する処理を行う。この
場合には、第1サイクルの入力である bit0〜 bit 15
は全て等しいので、(B) の場合と同様に、16ビット入
力ビット数連続手段202の出力は「15」、第2の判
定手段205の出力する第2の比較信号は「一致」を示
す'1' となる。従って、記憶手段206の出力する記憶
比較信号は第1、第2サイクルとも'1' となる。
【0132】(C) の場合は bit 16 も bit 0と等しいの
で、第1の判定手段204の出力は「一致」を示す'1'
となる。さらに、カウント値は第2サイクルには'1' と
なるので、論理積手段207に入力される、第1の比較
信号、記憶比較信号、及びカウント値のいずれもが値'
1' となり、第2サイクルにおける論理積手段207の
出力である判定信号は'1' となる。
【0133】従って、この場合には、第2サイクルにお
いて、選択手段201には論理積手段207から値'1'
の判定信号が入力されることとなり、選択手段20は入
力32ビットデータの bit 16 〜 bit 31 を選択する。
図12に示す、16ビット入力ビット連続数検出手段2
02と、第2の判定手段205とは、第1サイクルにお
ける bit 0〜 bit 15 に対する場合と同様に、入力され
た bit 16 〜 bit 31に対しての処理を行う。16ビッ
ト連続数検出手段202は、入力された16ビットデー
タに対しての処理を行い、入力16ビットデータにおけ
る単位ビット連続数を出力する。
【0134】(C) の場合、bit 0 〜 bit 16 が等しいの
で、bit 0 〜 bit 15 の 16 bit を除いた bit 16 〜 b
it 31 に対する単位ビット連続数に「16」を加えた値
を 32 bit 入力ビット連続数検出手段の出力としても良
い。すなわち、合算手段209では、16ビット入力ビ
ット連続数検出手段202から入力した単位ビット連続
数(4ビット)を下位として用いて、論理積手段207
から入力した判定信号である'1' ('10000' は「1
6」)を上位に拡張した形で連接して当該装置の出力す
るビット連続数とする。
【0135】このようにして、(A) 〜(C) いずれの場合
にも第2サイクルには32ビット入力に対する、本実施
の形態2によるビット連続数検出装置としての出力は正
しい値となっている。
【0136】以下に、実施の形態1と同様に、本実施の
形態2によるビット連続数検出装置について、従来の技
術によるビット連続数検出との、処理の迅速性と回路規
模の大きさとに関しての比較を行う。
【0137】従来技術の第1例に示した、Aのソフトウ
ェア的な手段との比較については、実施の形態1の場合
と同様となる。以下に従来技術の第2、及び第3の例に
示した、Bの専用回路を用いる場合との比較のために、
実施の形態1と同様の仮定に基づき、本実施の形態2に
よるビット連続数検出装置における論理回路の段数と、
論理回路の数を評価する。
【0138】ただし、本実施の形態2による検出装置に
ついては、カウント手段203の D-FF 211の出力か
ら、合算手段209の出力までの最長経路の段数を評価
することとする。また、その際に、記憶手段206を通
る経路については考慮しないものとする。第1サイクル
と第2サイクルとの間では、記憶手段206の出力が変
化しないことからである。また、選択手段201(16 b
it 2入力選択器210)は論理回路49個、D-Latch は
2個とする。
【0139】本実施の形態2によるビット連続数検出装
置における、連続数検出処理の場合、最長の経路はD-FF
(図11の211)〜論理反転回路(同図212)〜論
理積手段(同図207)〜選択器(同図210)〜論理
反転回路(図12の360)〜2入力論理積回路の連鎖
(同図316〜330)〜2入力論理和回路(同図33
1)〜8入力論理和回路(同図332)〜出力(同図OU
T 3 )であり、23段である。また、上記の動作の説明
に示したように、1回のデータ処理には2サイクル必要
となり、論理回路の個数は151個となる。
【0140】これに対して、実施の形態1の説明で示し
たように、実施の形態1による検出装置では、最長の経
路が18段(処理は4サイクル必要)、論理回路の個数
は134個と1/2であり、従来技術によるB−1の例
では、最長の経路が36段(処理は1サイクル)、論理
回路が230個、また、従来技術によるB−2の例で
は、最長の経路が12段(処理は1サイクル)、論理回
路が288個である。
【0141】本実施の形態2によるビット連続数検出装
置では、B−1の例に比べて回路の段数がほぼ66%(2/3)
であり、B−2の例に比べて論理回路の個数が約53% で
ある。また計算時間としては2サイクルかかるので、1
サイクルの時間が段数に比例するとすれば本実施の形態
2の計算時間はB−1の例の約1.3 倍、B−2の例の約
4 倍になっている。
【0142】しかしながら、実施の形態1によるビット
連続数検出装置と同様、回路規模が小さく、設計が容易
でコスト低減や装置の小型化を図り得る利点を有し、計
算手段の実現方法の選択枝を与えるものとなる。
【0143】本実施の形態2による検出装置は、最長の
経路、及び論理回路の個数については実施の形態1より
若干大きくなっているが、計算時間では実施の形態1に
よる検出装置の約2/3となり、処理の迅速性をより重
視する場合に適したものとなる。また、ビット連続数検
出手段が16ビットを処理するものであるため、8ビッ
トを対象とする実施の形態1による装置と比較して回路
規模が大きくなり、上述のように全体としては論理回路
の個数が多くなるが、単位数 k = 2としたことで、第1
の判定手段の入力に選択手段を用いる必要がなく、カウ
ント手段の構成を非常に簡素なものにすることができ
る。
【0144】このように、本実施の形態2によるビット
連続数検出装置によれば、n=32 bitの入力データに対
し、カウント手段203、第1の判定手段204、第2
の判定手段205、記憶手段206、及び論理積手段2
07によるカウント値を用いた制御により、選択手段2
01が選択したm=16bit ごとに、16ビット入力ビット
連続数検出手段202により単位ビット連続数を検出
し、合算手段209において、上記検出した単位ビット
連続数を用いてビット連続数を取得するので、効率的な
ビット連続数検出処理を実現し、選択手段とカウント手
段とを簡素化して回路規模を増大することなく、迅速な
処理により浮動小数点演算における正規化に必要なビッ
ト連続数検出を行うことが可能となる。
【0145】実施の形態3 本発明の実施の形態3によるビット連続数検出装置は、
データ拡張手段を備えることにより、より広範囲のデー
タを処理し得るものである。図13は本発明の実施の形
態3によるビット連続数検出装置の構成を示すブロック
図である。図示するように、本実施の形態3によるビッ
ト連続数検出装置は、データ拡張手段401と、32ビ
ット入力ビット連続数検出手段403とから構成されて
いる。データ拡張手段401は、変換対象データとして
24(n’)ビットのデータを入力して、これに対して
拡張処理を行い、得られた32(n)ビットのデータを
出力する。データ拡張手段401は、論理反転回路40
2を含んでいる。32ビット入力ビット連続数検出手段
403としては、本発明の実施の形態2による、32ビ
ット入力のビット連続数検出装置が用いられる。
【0146】図14は、本発明の実施の形態3によるビ
ット連続数検出装置を用いる浮動小数点演算装置の構成
を示す図である。図示するように、浮動小数点演算装置
125は、演算処理制御装置121、メモリ122、及
びビット連続数検出装置126から構成されている。図
14を図2と比較すると、ビット連続数検出装置126
が、データ拡張手段127と、nビット入力ビット連続
数検出手段128とを含むものである点が異なる。上記
のように、データ拡張手段127(図13の401)
は、変換対象データであるn'(24)ビットのデータを拡張
して n(32)ビットのデータを得るものであるので、図1
4において、演算処理制御装置121は、nビット、又
はn'ビットのデータに対してのビット連続数検出を、ビ
ット連続数検出装置126に行わせることが可能であ
り、 nビットのデータに対してのみビット連続数の検出
を行い得る図2(実施の形態1、及び2)のものに比較
して、汎用性の高いものとなっている。
【0147】このように構成される、本実施の形態3に
よるビット連続数検出装置について、以下にその動作を
説明する。本実施の形態3によるビット連続数検出装置
に、変換対象データとして24ビットのデータが入力さ
れると、該入力データは、まずデータ拡張手段401に
入力される。
【0148】図13に示すように、入力データのbit 0
からbit 23までは、そのまま32ビット入力ビット連続
数検出手段403に出力される。入力データの最下位ビ
ットである、bit 23は、32ビット入力ビット連続数検
出手段403に出力されるとともに、当該データ拡張手
段401の内部の論理反転回路402にも入力される。
そして、最下位ビットbit 23の値が変換対象値として用
いられ、当該変換対象値が論理反転された値を有する1
ビットが、bit 24として32ビット入力ビット連続数検
出手段403に出力される。また、データ拡張手段40
1は、定数値、例えば'0' を発生させて、この定数を値
とするbit 25〜bit 31を、やはり32ビット入力ビット
連続数検出手段403に出力する。
【0149】32ビット入力ビット連続数検出手段40
3は、元々の24ビットの入力データのbit 0 からbit
23(24ビット)と、上記24ビットの入力データの最
下位ビット(bit 23)を論理反転したビット(1ビッ
ト)と、定数を値とするbit 25〜bit 31(7ビット)
の、合計32ビットを入力されることとなるので、実施
の形態2に示したと同様に、この32ビットの入力を処
理し、ビット連続数を取得して出力する。図14におい
ては、ビット連続数検出装置126より演算処理制御装
置121にビット連続数が出力されて、計算処理に用い
られる。
【0150】入力されるデータの構成と、出力されるビ
ット連続数とについては、以下のようになる。まず、2
4ビットの入力データにおいて、最上位ビットの値と異
なる値のビットがあった場合、すなわち入力の bit 1〜
bit 23 に bit 0と異なる値がある場合は、その位置で
ビット連続数検出手段403の出力は決定する。この場
合には、bit 24〜 bit 31 の値は出力に影響しない。
【0151】次に、24ビット入力データが全て同じ値
であった場合、すなわち、入力の bit 1〜 bit 23 が全
て bit 0と等しい場合には、これらに続くbit 24とし
て、bit 23を論理反転した値が入力されることから、32
bit入力ビット連続数検出手段403は、bit 0 〜 bit
23 が等しく、bit 24が bit 0 ( = bit 23 ) と異なっ
ていることにより、値「23」を出力する。24ビット
の入力に対してのビット連続数を求める24 bit入力ビッ
ト連続数検出手段としては、値「23」を出力するのが
正しいので、このような場合に正しい値が得られること
となる。
【0152】このように、本実施の形態3によるビット
連続数検出装置によれば、データ拡張手段401を備え
たことによって、実施の形態2の構成によるビット連続
数検出手段を、ビット幅が 16 で割り切れない 24 bit
に対しても用いることができ、従来の構成にくらべて回
路規模を小さくして設計を容易にするという効果を、よ
り広範囲の入力データに対して利用し得るものとするこ
とができる。
【0153】なお、本実施の形態3によるビット連続数
検出装置においては、32ビット入力ビット連続数検出
装置を用いて、24ビット入力データのビット連続数検
出を行う場合について説明したが、一般にnビット入力
ビット連続数検出装置を用いて、n>n’なるn’ビッ
ト入力を処理対象とする場合に、本実施の形態3と同様
のデータ拡張手段を用いてビット連続数検出を行うこと
が可能である。
【0154】また、本実施の形態3によるビット連続数
検出装置においては、データ拡張手段401は、変換対
象データに含まれる最下位ビットの値を変換対象値とす
るものとしたが、この変換対象値は当該変換対象データ
に含まれるビットの値が全て同じであった場合にのみ影
響を与えるものであるので、変換対象データ中の任意の
ビットの有する値を用いることが可能である。
【0155】また、本実施の形態3によるビット連続数
検出装置においては、データ拡張手段401は、下位の
ビットに定数'0' を出力するものとしたが、この定数値
はビット連続数検出に影響を与えないものであるの
で、'0' に限らず任意の値を用いることが可能である。
又、全て同じ値を出力することとしたが、このことも必
須ではなく、各ビットごとに任意の値を出力することが
できる。
【0156】実施の形態4 本発明の実施の形態4によるビット連続数検出装置は、
入力データを上位側、及び下位側に分割することによ
り、効率的な検出処理をするものである。図15は本発
明の実施の形態4によるビット連続数検出装置の構成を
示すブロック図である。図示するように、本実施の形態
4によるビット連続数検出装置は、第0の16ビット入
力ビット連続数検出手段501、第1の16ビット入力
ビット連続数検出手段502、第1の接続手段503、
第1の判定手段504、第2の判定手段505、論理積
手段506、ビット連続数選択手段507、及び第2の
接続手段508から構成されている。
【0157】第0の16ビット入力ビット連続数検出手
段501は、入力される32ビットデータの上位側16
ビットに対して、単位ビット連続数検出処理を行う。第
1の16ビット入力ビット連続数検出手段502は、入
力される32ビットデータの下位側16ビットに対し
て、単位ビット連続数検出処理を行う。第1の接続手段
503は、本実施の形態4によるビット連続数検出装置
に入力される32ビット入力データの、上位側、及び下
位側の各16ビットを、それぞれ、第0の16ビット入
力ビット連続数検出手段501、及び第1の16ビット
入力ビット連続数検出手段502に入力する。第1の判
定手段504は、反転出力をする2入力排他的論理和回
路であり、各単位入力データの単位最上位値(単位入力
データの最上位ビットの値)を入力して比較し、一致す
るか否かを示す第1の比較信号を出力する。第2の判定
手段505は、16ビット入力ビット連続数検出手段5
02の検出結果に応じて、単位入力データの16ビット
の値が全て一致していたか否かを示す、第2の比較信号
を生成する。論理積手段506は、第1、及び第2の比
較信号に対して論理積演算を行う。また、論理積手段5
06は論理演算結果を判定信号とすることで、判定信号
を出力する第3の判定手段として機能する。ビット連続
数選択手段507は、 4bit 2 入力選択器であり、論理
積手段506の出力する判定信号に応じて、入力された
単位ビット連続数に対しての選択を行う。第2の接続手
段508は、連接による接続であって、論理積手段50
6から出力される判定信号と、ビット連続数選択手段5
07から入力される単位ビット連続数とを用いて、本実
施の形態4によるビット連続数検出装置の出力となるビ
ット連続数を生成する。
【0158】本実施の形態4によるビット連続数検出装
置では、第0、及び第1の16ビット連続数検出手段5
01、及び502とも、図12(実施の形態2)に示す
回路構成を用いることができる。実施の形態2において
は、図12に示す回路構成により、16ビット入力ビッ
ト連続数検出手段202と、第2の判定手段205とを
併せて実現するものであった。本実施の形態4では、第
0の16ビット入力ビット連続数検出手段501として
は、図12に示す構成において、第2の判定手段の出力
を図15の論理積手段506に出力するものとし、第1
の16ビット入力ビット連続数検出手段502として
は、図12に示す構成において、第2の判定手段の出力
を当該第1の16ビット入力ビット連続数検出手段50
2の外部に出力しないものとして、図15の構成を実現
する。
【0159】また、本実施の形態4によるビット連続数
検出装置は、実施の形態1、及び2による検出装置と同
様に、図2に示す浮動小数点演算装置において用いられ
るものであり、浮動小数点演算装置120は実施の形態
1と同様に動作するものである。
【0160】このように構成される、本実施の形態4に
よるビット連続数検出装置の、32ビット入力データに
対するビット連続数検出処理における動作を、以下に説
明する。32ビットの入力データが本実施の形態4によ
るビット連続数検出装置に入力されると、その最上位ビ
ット(bit 0 )の値である最上位値と、下位側16ビッ
トの最上位ビット、すなわち第17ビット(bit 16)の
値である単位最上位値とが第1の判定手段504に入力
され、第1の判定手段504はこの両者の比較結果を示
す第1の比較信号を論理積手段506に出力する。
【0161】又、32ビット入力データは第1の接続手
段503を介して、上位16ビットが第0の16ビット
入力ビット連続数検出手段501に、下位16ビットが
第1の16ビット入力ビット連続数検出手段502に、
それぞれ単位入力データとして入力される。検出手段5
01、及び502はそれぞれ入力された単位入力データ
に対して、ビット連続数検出処理を行い、得られた単位
ビット連続数をビット連続数選択手段507に出力す
る。又、第0の16ビット入力ビット連続数検出手段5
01に入力された16ビットの値が、全て同じであった
か否かを示す、第2の判定手段505の出力が、第2の
比較信号として論理積手段506に出力される。
【0162】論理積手段506は、入力された第1、及
び第2の比較信号に対して論理積演算を行い、その結果
得られる判定信号をビット連続数選択手段507に出力
するとともに、第2の接続手段508の上位側にも出力
する。ビット連続数選択手段507では、入力された判
定信号に基づいて、第0、又は第1の16ビット入力ビ
ット連続数検出手段501、又は502の出力した単位
ビット連続数に対しての選択を行い、選択した単位ビッ
ト連続数を第2の接続手段508の下位側に出力する。
ビット連続数選択手段507は図15に示すように、入
力された判定信号が'0' である場合には、第0の16ビ
ット入力ビット連続数検出手段501の出力する単位ビ
ット連続数を、入力された判定信号が'1' である場合に
は、第1の16ビット入力ビット連続数検出手段502
の出力する単位ビット連続数を選択して出力するもので
ある。
【0163】第2の接続手段508は、上位側の判定信
号と、下位側の選択されたビット連続数とを連接して、
本実施の形態4によるビット連続数検出装置の検出結果
であるビット連続数として出力する。
【0164】以上が、動作の概略であるが、入力32ビ
ットデータの構成によってその詳細は異なったものとな
るので、以下に場合分けをして説明する。入力32ビッ
トデータの bit 0 (MSB)の有する最上位値と異なる値を
有する最初のビットが、bit1 以降のどの位置で出現す
るかによって、以下の3つに分類される。
【0165】(A) bit 1 〜 bit 15 (B) bit 16 (C) bit 17〜 bit 31 (A) の場合:入力データの bit 1〜 bit 15 に bit 0と
異なるビットがある場合、第0の16ビット入力ビット
連続数検出手段501の出力は「0」〜「14」のいず
れかとなり、第0の16ビット入力ビット連続数検出手
段501に入力された16ビットは全て同じ値ではない
ことから、第2の判定手段505の出力する第2の比較
信号は不一致を示す'0' となる。
【0166】従って、論理積手段506の出力する判定
信号は第1の比較信号の値にかかわらず'0' となり、ビ
ット連続数選択手段507は、判定信号に対応して、第
0の16ビット入力ビット連続数検出手段501の出力
をする単位ビット連続数を選択する。入力データの bit
1〜 bit 15 に bit 0と異なるビットがある場合は、bi
t 16〜 bit 31 を調べる必要がなく、bit 0 〜 bit 15
について調べた結果の単位ビット連続数を、そのまま b
it 0〜 bit 31 について調べた値として良い。第2の接
続手段508には、「0」〜「14」を示す、第0の1
6ビット入力ビット連続数検出手段501の出力する4
ビットの単位ビット連続数が下位側に入力されるので、
第2の接続手段508はこの上位に、論理積手段207
の出力する判定信号'0' を連接したものを本実施の形態
4によるビット連続数検出装置の出力であるビット連続
数とする。
【0167】(B) の場合:入力データの bit 16 に bit
0と異なる最上位のビットがある場合、第0の16ビッ
ト入力ビット連続数検出手段501に対する入力である
bit 0〜 bit 15は全て等しいので、出力される
単位ビット連続数は「15」となり、第0の16ビット
入力ビット連続数検出手段501に入力された16ビッ
トが全て同じ値であることから、第2の判定手段505
の出力は一致を示す’1’ となる。
【0168】ここで、bit 16と bit 0が異なるので、第
1の判定手段504の出力する第1の比較信号は不一致
を示す'0' となり、論理積手段506の出力する判定信
号は第2の比較信号の値('1' )にかからわず'0' とな
り、ビット連続数選択手段507は、(A) の場合と同様
に、第0の16ビット入力ビット連続数検出手段501
の出力を選択する。
【0169】入力データの bit 1〜 bit 15 が bit 0と
同じであり、bit 16がbit 0 と異なる場合は、bit 17〜
bit 31 を調べる必要がなく、このため、bit 0 〜 bit
15に対するビット連続数検出処理により求めた値「1
5」を、そのまま bit 0〜 bit 31 について調べた値と
して良いこととなる。第2の接続手段508には、「1
5」を示す、第0の16ビット入力ビット連続数検出手
段501の出力する4ビットの単位ビット連続数が下位
側に入力されるので、第2の接続手段508はこの上位
に、論理積手段207の出力する判定信号'0' を連接し
たものを、本実施の形態4によるビット連続数検出装置
の出力であるビット連続数とする。
【0170】(C) の場合:入力データの bit 17 〜 bit
31 に bit 0と異なる最上位のビットがある場合、第0
の16ビット入力ビット連続数検出手段501の入力で
ある bit 0〜 bit15 は全て等しいので、(2) の場合と
同様に、単位ビット連続数は「15」となり、第2の比
較信号は、一致を示す'1' となる。
【0171】この場合は bit 16 も bit 0と等しいの
で、第1の判定手段504の出力する第1の比較信号
は'1' となり、第1、及び第2の比較信号とも'1' を入
力される論理積手段506が、論理積演算の結果出力す
る判定信号は'1' となる。判定信号は、ビット連続数選
択手段507、及び第2の接続手段508の上位側に出
力される。
【0172】従ってビット連続数選択手段507は、
(A)(B)の場合とは異なり、第1の16ビット入力ビット
連続数検出手段502の出力する単位ビット連続数を選
択して、第2の接続手段508の下位側に出力する。
【0173】(C) の場合、bit 0 〜 bit 16 が等しいの
で、bit 0 〜 bit 15 の 16 bit を除いた bit 16 〜 b
it 31 に対する単位ビット連続数に「16」を加えた値
を、32ビット入力に対してのビット連続数としても良
く、第2の接続手段508では、第1の16ビット入力
ビット連続数検出手段501の出力する4ビットの単位
ビット連続数に対して、上位に、論理積手段207の出
力する判定信号'1' ('10000' は「16」)を連接した
ものを、本実施の形態4によるビット連続数検出装置の
出力とする。
【0174】以下に、実施の形態1、及び2と同様に、
本実施の形態4によるビット連続数検出装置について、
従来の技術によるビット連続数検出との比較を、処理の
迅速性と回路規模の大きさとについて行う。
【0175】従来技術の第1例に示した、Aのソフトウ
ェア的な手段との比較については、実施の形態1、及び
2の場合と同様となる。以下に従来技術の第2、及び第
3の例に示した、Bの専用回路を用いる場合との比較の
ために、実施の形態1、及び2と同様の仮定に基づき、
本実施の形態4によるビット連続数検出装置における論
理回路の段数と、論理回路の数を評価する。ただし、4
bit 2 入力選択器(507)の論理回路の数は13個と
する。
【0176】本実施の形態4によるビット連続数検出装
置における、ビット連続数検出処理の場合、最長の経路
は入力(図12のIN 31 )〜第0の16 bit入力ビット連
続数検出手段501の論理反転回路(図12の360)
〜2入力論理回路の連鎖(同図316〜330)〜2入
力論理和回路(同図395)〜論理積手段(図15の5
06)〜ビット連続数選択手段(同図507)〜出力で
あり、21段である。又、論理回路の個数は200個と
なる。
【0177】実施の形態1、及び2の説明で示したよう
に、B−1の例は最長の経路が36段、論理回路が23
0個、B−2の例は最長の経路が12段、論理回路が2
88個である。本実施の形態4によるビット連続数検出
装置は、従来例のB−1、及びB−2と同じく1サイク
ルでビット連続数検出処理を行なうので、回路の段数を
目安として、直接にB−1、及びB−2の従来例と比較
して良いこととなる。本実施の形態4ではB−1の例の
約6割の計算時間の回路を、その約9割の論理回路の数
で実現し、計算速度、回路量ともに改善に成功してい
る。B−2の例はB−1の例を高速化するための1つの
手法であるが、本実施の形態4による装置の方が、論理
回路の個数が少なく、回路量の制約が大きい場合は、本
実施の形態4による装置の方が有効である。
【0178】このように、本発明の実施の形態4による
ビット連続数検出装置によれば、第1の判定手段50
4、第2の判定手段505、及び論理積手段506によ
る判定信号を用いた制御により、第0、及び第1の2つ
(k個)の16(m)ビット入力ビット連続数検出手段
501、及び502において、16(m)ビットの単位
入力データを対象とした単位ビット連続数の検出を行
い、ビット連続数選択手段507と、第2の接続手段5
08とを用いて、単位ビット連続数を用いて、ビット連
続数を生成するので、第2の従来の技術の第2の例(B
−1)より計算時間を縮小しつつ、第3の例(B−2)
よりも回路量を削減することができる。
【0179】また、単位ビット数をm = 16( 2 の 4乗 )
とすることにより、第2の接続手段508のような簡易
な構成で合算手段を実現している。また、単位数 k = 2
としたことで、制御系については、第1の判定手段50
4、第2の判定手段505、論理積手段506という簡
素な構成により実現できるもので、回路構成の簡素化に
貢献している。
【0180】以上、実施の形態1〜4において示した回
路構成は一例であり、同様の処理を実行する回路構成に
おいて、本発明のビット連続数検出装置を実現すること
が可能であり、同様の効果が得られる。
【0181】また、本発明によるビット連続数検出装置
は、専ら浮動小数点計算装置において用いられることと
して説明したが、本発明のビット連続数検出装置の用途
は、浮動小数点演算におけるシフトビット数取得に限ら
れるものでなく、同じ値を有するビットが連続する数を
求める汎用的な装置として応用可能なものである。
【0182】
【発明の効果】請求項1のビット連続数検出装置によれ
ば、n個の1ビットデータから構成されるnビットの2
進数を入力データとして、ビット連続数として検出する
ビット連続数検出装置において、単位ビット数m、及び
単位数kを、m×k=nを満足する整数として、上記n
ビットの入力データを構成するk個のmビット単位入力
データのうち一の単位入力データに対して、単位ビット
連続数を検出する単位ビット連続数検出手段と、上記単
位ビット連続数検出手段への単位入力データの入力と、
上記単位ビット連続数検出手段が検出した単位ビット連
続数の処理とを制御し、当該ビット連続数の出力である
ビット連続数を生成する検出処理制御手段とを備えたも
のとしたので、ビット連続数検出を分割処理により効率
的に実行し、処理の迅速化と回路規模の小型化とを実現
することができる。
【0183】請求項2のビット連続数検出装置によれ
ば、請求項1の装置において、上記検出処理制御手段
は、外部より入力したカウント信号に対応してカウント
動作を実行し、停止要求を入力されたときカウント動作
を停止するカウント手段と、カウント手段が出力するカ
ウント値に基づいて、1個のmビット単位入力データを
選択して単位ビット連続数検出手段に出力する第1の選
択手段と、カウント値に基づいて、入力nビットデータ
より、1個の1ビットデータを判定データとして選択す
る第2の選択手段と、nビットの入力データの最上位ビ
ットの値と、判定データの値とを比較して、一致しない
ときに上記カウント手段に対して停止要求を出力する第
1の判定手段と、単位入力データを構成するm個の1ビ
ットデータの値がすべて同じであったか否かを調べ、す
べて同じでなかったときにカウント手段に対して停止要
求を出力する第2の判定手段と、カウント値と、単位ビ
ット連続数とを用いてビット連続数を生成する合算手段
とを備えたものとしたので、単位入力データの入力と単
位ビット数検出の制御、及びビット連続数の生成を行
い、効率的なビット連続数検出を行うことができる。
【0184】請求項3のビット連続数検出装置によれ
ば、請求項2の装置において、上記カウント手段は、上
記カウント動作を停止した場合に、当該ビット連続数検
出装置の外部に対してカウント停止信号を出力するもの
としたので、外部よりカウント停止信号に応じて処理要
求が入力されることで、当該ビット連続数検出装置によ
るビット連続数検出処理を、無駄なサイクルの経過を省
き効率的に実行することが可能となる。
【0185】請求項4のビット連続数検出装置によれ
ば、請求項1の装置において、上記検出処理制御手段
は、外部より入力したカウント信号に対応してカウント
動作を実行し、停止要求を入力されたときカウント動作
を停止するカウント手段と、nビットの入力データの最
上位値と、単位入力データの単位最上位値とを比較し
て、一致するか否かを示す第1の比較信号を出力する第
1の判定手段と、単位入力データを構成するm個の1ビ
ットデータの値がすべて同じであったか否かを調べ、す
べて同じか否かを示す第2の比較信号を出力する第2の
判定手段と、上記第2の比較信号を記憶し、カウント手
段が出力するカウント値に対応して、上記第2の比較信
号に基づく記憶比較信号を出力する比較信号記憶手段
と、カウント値と、第1の比較信号と、記憶比較信号と
に基づいて、判定信号を生成して出力する第3の判定手
段と、判定信号の値に対応して単位入力データを選択
し、単位ビット連続数検出手段に入力する選択手段と、
判定信号と、単位ビット連続数とを用いて、当該ビット
連続数検出装置の装置出力であるビット連続数を生成す
る合算手段とを備えたものとしたので、単位入力データ
の入力と単位ビット数検出の制御、及びビット連続数の
生成を、効率的に実行してビット連続数を検出すること
ができ、かつ、選択手段、及びカウント手段の回路構成
を簡素化することが可能となる。
【0186】請求項5のビット連続数検出装置によれ
ば、請求項1の装置において、k個の上記単位ビット連
続数検出手段を備え、上記検出処理制御手段は、nビッ
トの入力データの最上位値と、mビットの単位入力デー
タの単位最上位値とを比較して、一致するか否かを示す
第1の比較信号を出力する第1の判定手段と、単位入力
データを構成するm個の1ビットデータの値が、すべて
同じであったか否かを調べ、すべて同じか否かを示す第
2の比較信号を出力する第2の判定手段と、第1の比較
信号と、第2の比較信号とに基づいて、判定信号を出力
する第3の判定手段と、判定信号の値に対応して、上記
k個の単位ビット連続数検出手段より出力されるk個の
単位ビット連続数から一の単位ビット連続数を選択する
ビット連続数選択手段と、上記判定信号と、上記ビット
連続数選択手段が選択した単位ビット連続数とを用い
て、当該ビット連続数検出装置の装置出力であるビット
連続数を生成する合算手段とを備えたものとしたので、
単位入力データの入力と単位ビット数検出の制御、及び
ビット連続数の生成を効率的に実行してビット連続数を
検出することができ、かつ、カウント手段を省き、判定
手段の回路構成を簡素化することが可能となる。
【0187】請求項6のビット連続数検出装置によれ
ば、請求項1ないし5のいずれかの装置において、上記
単位ビット数mが2のべき乗であるものとしたので、処
理効率の向上を図ることが可能となる。
【0188】請求項7のビット連続数検出装置によれ
ば、請求項1ないし6のいずれかの装置において、上記
単位数kが2であるものとしたので、処理効率の向上を
図ることが可能となる。
【0189】請求項8のビット連続数検出装置によれ
ば、請求項7にの装置において、上記入力ビット数nが
32であり、上記単位ビット数mが16であるものとし
たので、一般的な32ビット入力の演算処理における効
率的なビット連続数検出が可能となる。
【0190】請求項9のビット連続数検出装置によれ
ば、請求項1ないし8のいずれかの装置において、n’
個の1ビットデータから構成されるn’ビットの2進数
を入力して、このn’ビット入力データをnビットデー
タに変換する入力データ変換手段をさらに備えたものと
したので、n’ビットデータに対してもnビットデータ
と同様にビット連続数検出を行うことができ、ビット連
続数検出装置の汎用性を向上できるという効果が得られ
る。
【0191】請求項10のビット連続数検出装置によれ
ば、請求項9の装置において、上記入力データ変換手段
は、n’<nの関係を満たすn’ビットデータを変換対
象データとして入力し、上記変換対象データを構成する
n’個の1ビットデータのいずれかの値を変換対象値と
し、上記変換対象データの下位に上記変換対象値を論理
反転させた値を有する1ビットのデータを付加し、上記
付加した1ビットのデータの下位に任意の値を有するデ
ータを付加して、nビットデータを生成するデータ拡張
手段であるものとしたので、n’ビットデータに対して
効率的にnビットデータへの拡張を行い、ビット連続数
検出装置の汎用性を向上できるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1によるビット連続数検出
装置の構成を示すブロック図である。
【図2】同実施の形態によるビット連続数検出装置を用
いた、浮動小数点演算装置の構成を示すブロック図であ
る。
【図3】同実施の形態によるビット連続数検出装置の、
第1、及び第2の選択手段の機能を説明するための図で
ある。
【図4】同実施の形態によるビット連続数検出装置の、
8ビット入力ビット連続数検出手段、及び第2の判定手
段の構成を示す図である。
【図5】同実施の形態によるビット連続数検出装置の、
カウント手段の構成を示す図である。
【図6】同実施の形態によるビット連続数検出装置の、
カウント手段の状態の遷移を示す図である。
【図7】同実施の形態によるビット連続数検出装置の、
動作((A) の場合)を説明するための波形図である。
【図8】同実施の形態によるビット連続数検出装置の、
動作((B) の場合)を説明するための波形図である。
【図9】同実施の形態によるビット連続数検出装置の、
動作((C) の場合)を説明するための波形図である。
【図10】同実施の形態によるビット連続数検出装置
の、動作((D) の場合)を説明するための波形図であ
る。
【図11】本発明の実施の形態2によるビット連続数検
出装置の構成を示すブロック図である。
【図12】同実施の形態によるビット連続数検出装置
の、8ビット入力ビット連続数検出手段、及び第2の判
定手段の構成を示す図である。
【図13】本発明の実施の形態3によるビット連続数検
出装置の構成を示すブロック図である。
【図14】同実施の形態によるビット連続数検出装置を
用いた、浮動小数点演算装置の構成を示すブロック図で
ある。
【図15】本発明の実施の形態4によるビット連続数検
出装置の構成を示すブロック図である。
【図16】従来技術による、ビット連続数検出処理の第
1例における処理手順を示すフローチャート図である。
【図17】従来技術による、ビット連続数検出処理の第
2例におけるビット連続数検出回路の構成を示す図(そ
の1)である。
【図18】従来技術による、ビット連続数検出処理の第
2例におけるビット連続数検出回路の構成を示す図(そ
の2)である。
【図19】従来技術による、ビット連続数検出処理の第
3例におけるビット連続数検出回路の構成を示す図(そ
の1)である。
【図20】従来技術による、ビット連続数検出処理の第
3例におけるビット連続数検出回路の構成を示す図(そ
の2)である。
【符号の説明】
1,10 第1の選択手段 2,11 第2の選択手段 3 8ビット入力ビット連続数検
出手段 4,203 カウント手段 5,503 第1の接続手段 6,204,504 第1の判定手段 7,205,505 第2の判定手段 9,209 合算手段 120,125 浮動小数点演算装置 121 演算処理制御手段 122 メモリ 123,126 ビット連続数検出装置 127,401 データ拡張手段 128 nビット入力ビット連続数検
出手段 201 選択手段 202 16ビット入力ビット連続数
検出手段 206 記憶手段 207,506 論理積手段 501 第0の16ビット入力ビット
連続数検出手段 502 第1の16ビット入力ビット
連続数検出手段 507 ビット連続数選択手段 508 第2の接続手段
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/00

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 n個の1ビットデータから構成されるn
    ビットの2進数を入力データとして、上記入力データの
    最上位の1ビットデータを最上位データとし、上記最上
    位データの値を最上位値とし、当該最上位データに後続
    する、上記最上位値と同じ値を有する1ビットデータの
    連続数を、ビット連続数として検出するビット連続数検
    出装置において、 単位ビット数m、及び単位数kを、m×k=nを満足す
    る整数として、上記nビットの入力データを構成するk
    個のmビット単位入力データのうち一の単位入力データ
    に対して、上記一の単位入力データの最上位の1ビット
    データを単位最上位データとし、上記単位最上位データ
    の値を単位最上位値とし、当該単位最上位データに後続
    する、上記単位最上位値と同じ値を有する1ビットデー
    タの連続数を、単位ビット連続数として検出する単位ビ
    ット連続数検出手段と、 上記単位ビット連続数検出手段への単位入力データの入
    力と、上記単位ビット連続数検出手段が検出した単位ビ
    ット連続数の処理とを制御し、当該ビット連続数の出力
    であるビット連続数を生成する検出処理制御手段とを備
    えたことを特徴とするビット連続数検出装置。
  2. 【請求項2】 請求項1に記載のビット連続数検出装置
    において、 上記検出処理制御手段は、 カウント値を保持し、外部より入力したカウント信号に
    対応して上記保持するカウント値を増加させるカウント
    動作を実行し、後述する停止要求を入力されたとき、上
    記カウント動作を停止するカウント手段と、 上記nビットの入力データを構成するk個のmビット単
    位入力データのうちから、上記カウント値に基づいて、
    1個のmビット単位入力データを選択して上記単位ビッ
    ト連続数検出手段に出力する第1の選択手段と、 上記入力nビットデータより、上記カウント値に基づい
    て、1個の1ビットデータを判定データとして選択する
    第2の選択手段と、 上記nビットの入力データの最上位値と、上記第2の選
    択手段が選択した判定データの値とを比較して、一致し
    ないときに上記カウント手段に対して停止要求を出力す
    る第1の判定手段と、 上記単位入力データを構成するm個の1ビットデータの
    値がすべて同じであったか否かを調べ、すべて同じでな
    かったときに上記カウント手段に対して停止要求を出力
    する第2の判定手段と、 上記カウント値と、上記単位ビット連続数検出手段が検
    出した上記単位ビット連続数とを用いて、当該ビット連
    続数検出装置の装置出力であるビット連続数を生成する
    合算手段とを備えたものであることを特徴とするビット
    連続数検出装置。
  3. 【請求項3】 請求項2に記載のビット連続数検出装置
    において、 上記カウント手段は、上記カウント動作を停止した場合
    に、当該ビット連続数検出装置の外部に対してカウント
    停止信号を出力するものであることを特徴とするビット
    連続数検出装置。
  4. 【請求項4】 請求項1に記載のビット連続数検出装置
    において、 上記検出処理制御手段は、 カウント値を保持し、外部より入力したカウント信号に
    対応して上記保持するカウント値を増加させるカウント
    動作を実行するカウント手段と、 上記nビットの入力データの最上位値と、上記mビット
    の単位入力データの単位最上位値とを比較して、一致す
    るか否かを示す第1の比較信号を出力する第1の判定手
    段と、 上記単位入力データを構成するm個の1ビットデータの
    値が、すべて同じであったか否かを調べ、すべて同じか
    否かを示す第2の比較信号を出力する第2の判定手段
    と、 上記第2の比較信号を記憶し、上記カウント値に対応し
    て、上記第2の比較信号に基づく記憶比較信号を出力す
    る比較信号記憶手段と、 上記カウント値と、上記第1の比較信号と、上記記憶比
    較信号とに基づいて、判定信号を出力する第3の判定手
    段と、 上記判定信号の値に対応して、上記単位ビット連続数検
    出手段に入力する単位入力データを選択する選択手段
    と、 上記判定信号と、上記単位ビット連続数とを用いて、当
    該ビット連続数検出装置の装置出力であるビット連続数
    を生成する合算手段とを備えたものであることを特徴と
    するビット連続数検出装置。
  5. 【請求項5】 請求項1に記載のビット連続数検出装置
    において、 k個の上記単位ビット連続数検出手段を備え、 上記検出処理制御手段は、 上記nビットの入力データの最上位値と、上記mビット
    の単位入力データの単位最上位値とを比較して、一致す
    るか否かを示す第1の比較信号を出力する第1の判定手
    段と、 上記単位入力データを構成するm個の1ビットデータの
    値がすべて同じであったか否かを調べ、すべて同じか否
    かを示す第2の比較信号を出力する第2の判定手段と、 上記第1の比較信号と、上記第2の比較信号とに基づい
    て、判定信号を出力する第3の判定手段と、 上記判定信号の値に対応して、上記k個の単位ビット連
    続数検出手段より出力されるk個の単位ビット連続数か
    ら一の単位ビット連続数を選択するビット連続数選択手
    段と、 上記判定信号と、上記ビット連続数選択手段が選択した
    単位ビット連続数とを用いて、当該ビット連続数検出装
    置の装置出力であるビット連続数を生成する合算手段と
    を備えたものであることを特徴とするビット連続数検出
    装置。
  6. 【請求項6】 請求項1ないし5のいずれかに記載のビ
    ット連続数検出装置において、 上記単位ビット数mが2のべき乗であることを特徴とす
    るビット連続数検出装置。
  7. 【請求項7】 請求項1ないし6のいずれかに記載のビ
    ット連続数検出装置において、 上記単位数kが2であることを特徴とするビット連続数
    検出装置。
  8. 【請求項8】 請求項7に記載のビット連続数検出装置
    において、 上記入力ビット数nが32であり、上記単位ビット数m
    が16であることを特徴とするビット連続数検出装置。
  9. 【請求項9】 請求項1ないし8のいずれかに記載のビ
    ット連続数検出装置において、 n’個の1ビットデータから構成されるn’ビットの2
    進数を入力データとして、上記n’ビット入力データを
    nビットデータに変換する入力データ変換手段をさらに
    備えたことを特徴とするビット連続数検出装置。
  10. 【請求項10】 請求項9に記載のビット連続数検出装
    置において、 上記入力データ変換手段は、 n’<nの関係を満たすn’ビットデータを変換対象デ
    ータとして入力し、上記変換対象データを構成するn’
    個の1ビットデータのいずれかの値を変換対象値とし、
    上記変換対象データの下位に上記変換対象値を論理反転
    させた値を有する1ビットのデータを付加し、上記付加
    した1ビットのデータの下位に任意の値を有するデータ
    を付加して、nビットデータを生成するデータ拡張手段
    であるものであることを特徴とするビット連続数検出装
    置。
JP22538597A 1997-08-21 1997-08-21 ビット連続数検出装置 Expired - Fee Related JP3471577B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22538597A JP3471577B2 (ja) 1997-08-21 1997-08-21 ビット連続数検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22538597A JP3471577B2 (ja) 1997-08-21 1997-08-21 ビット連続数検出装置

Publications (2)

Publication Number Publication Date
JPH1165819A JPH1165819A (ja) 1999-03-09
JP3471577B2 true JP3471577B2 (ja) 2003-12-02

Family

ID=16828536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22538597A Expired - Fee Related JP3471577B2 (ja) 1997-08-21 1997-08-21 ビット連続数検出装置

Country Status (1)

Country Link
JP (1) JP3471577B2 (ja)

Also Published As

Publication number Publication date
JPH1165819A (ja) 1999-03-09

Similar Documents

Publication Publication Date Title
KR100818011B1 (ko) 연산 처리 장치, 정보 처리 장치, 및 연산 처리 방법
JP3689183B2 (ja) 正確な浮動小数点除算/平方根演算を実現する正確、かつ効果的なスティッキー・ビット計算
JP7292297B2 (ja) 確率的丸めロジック
US9146707B2 (en) Generating a fast 3x multiplicand term for radix-8 booth multiplication
US7143126B2 (en) Method and apparatus for implementing power of two floating point estimation
US4905178A (en) Fast shifter method and structure
JPH0773227A (ja) 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器
JP3393493B2 (ja) 多ビット入力加算回路及びその方法
US20160224318A1 (en) Method and apparatus for converting from integer to floating point representation
US6745219B1 (en) Arithmetic unit using stochastic data processing
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JP3356613B2 (ja) 加算方法および加算器
JP3471577B2 (ja) ビット連続数検出装置
KR100290906B1 (ko) 부동소수점곱셈기에서반올림과덧셈을동시에수행하는장치및방법
KR20080083321A (ko) 패리티 생성 회로, 계수 회로 및 계수 방법
EP0356940B1 (en) Finite state machine
Puneeth et al. Design and Implementation of High Frequency 16-bit full adder on FPGA Families
KR100567643B1 (ko) 제로 판정 신호 생성 회로
JP2020516204A (ja) パルス密度変調方法及びパルス密度値信号変換回路
US6516333B1 (en) Sticky bit value predicting circuit
JP7001897B2 (ja) 畳み込み演算回路、畳み込み演算方法、プログラム、および畳み込みニューラルネットワーク装置
CN100530076C (zh) 数据饱和管理器及相应方法
Nandini et al. High Speed and Power Optimized Parallel Prefix Modulo Adders using Verilog
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
Thamizharasi Design and implementation of efficient carry select adder using novel logic algorithm

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100912

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees