JPH0142412B2 - - Google Patents
Info
- Publication number
- JPH0142412B2 JPH0142412B2 JP8207983A JP8207983A JPH0142412B2 JP H0142412 B2 JPH0142412 B2 JP H0142412B2 JP 8207983 A JP8207983 A JP 8207983A JP 8207983 A JP8207983 A JP 8207983A JP H0142412 B2 JPH0142412 B2 JP H0142412B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- data
- transmission signal
- circuit
- zero transmission
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
【発明の詳細な説明】
本発明は入力するデータの最上位ビツトも含め
て最上位ビツトに一番近い“1”を検出する先行
壱検出回路に関する。
て最上位ビツトに一番近い“1”を検出する先行
壱検出回路に関する。
一般に、演算装置において浮動小数点を扱う場
合、有効桁数を最大限に拡張するために、正規化
処理と呼ぶ処理を行うが、この処理を行うために
は最上位ビツト(以下MSBと記す)を含めて
MSBに一番近い“1”を検出することが必要で
ある。
合、有効桁数を最大限に拡張するために、正規化
処理と呼ぶ処理を行うが、この処理を行うために
は最上位ビツト(以下MSBと記す)を含めて
MSBに一番近い“1”を検出することが必要で
ある。
まず、二進浮動小数点演算の正規化処理につい
て説明する。通常、二進浮動小数点のフオーマツ
トは、第1図に示すように、指数部と仮数部とに
分かれる。式で表わせば、データをN、仮数を
m、指数をeとするとき、下記のようになる; N=m・2e 正規化とは、与えられたフオーマツト内で有効
桁数を最大限に拡張するためのもので、仮数の
MSBが“1”になるように仮数全体を左シフト
することである。以下正規化されたフオーマツト
を正規数と呼ぶことにする。次に例をあげて正規
数を説明する。今、0.00101×26というデータが
あつたとすると、この値は (1) 0.00101×26 (2) 0.01010×25 (3) 1.01000×23 などのように幾通りにも表わせるが、ここでいう
正規数とは、(3)で示されるようにMSBが“1”
になるよう仮数全体を左シフトしたものである。
て説明する。通常、二進浮動小数点のフオーマツ
トは、第1図に示すように、指数部と仮数部とに
分かれる。式で表わせば、データをN、仮数を
m、指数をeとするとき、下記のようになる; N=m・2e 正規化とは、与えられたフオーマツト内で有効
桁数を最大限に拡張するためのもので、仮数の
MSBが“1”になるように仮数全体を左シフト
することである。以下正規化されたフオーマツト
を正規数と呼ぶことにする。次に例をあげて正規
数を説明する。今、0.00101×26というデータが
あつたとすると、この値は (1) 0.00101×26 (2) 0.01010×25 (3) 1.01000×23 などのように幾通りにも表わせるが、ここでいう
正規数とは、(3)で示されるようにMSBが“1”
になるよう仮数全体を左シフトしたものである。
次に、浮動小数点演算のうち、減算を例に一連
の処理について説明する。説明を簡単にするため
に、仮数部6ビツト、指数部3ビツトとして、A
=1.00001×24(=16.5)なるデータからB=
1.11110×23(=15.5)なるデータを減算する例に
ついてその処理過程を説明する。
の処理について説明する。説明を簡単にするため
に、仮数部6ビツト、指数部3ビツトとして、A
=1.00001×24(=16.5)なるデータからB=
1.11110×23(=15.5)なるデータを減算する例に
ついてその処理過程を説明する。
(1) 桁合せ
AとBの大小関係を比較し、小さい方である
Bの指数をAの指数と同じにする。その結果B
の仮数が右に1ビツトだけシフトする。
Bの指数をAの指数と同じにする。その結果B
の仮数が右に1ビツトだけシフトする。
B=1.11110×23→0.11111×104
(2) 減算
AとBの仮数での減算を実行する。
(Aの仮数)−(Bの仮数)
=1.00001−0.11111=0.00010
(3) 演算結果の正規化
演算結果の0.00010×24を正規数にするため、
先行壱を検出し、その前にある“0”のビツト
数分だけ(この場合は4ビツト)左シフトす
る。この時、指数の値は4−4=0となり、正
規化された値は1.00000×20(=1.0)となる。
先行壱を検出し、その前にある“0”のビツト
数分だけ(この場合は4ビツト)左シフトす
る。この時、指数の値は4−4=0となり、正
規化された値は1.00000×20(=1.0)となる。
浮動小数点演算において、上述した演算結果の
正規化過程は必要不可欠なものであり、浮動小数
点演算全体に占るその比重も大きい。
正規化過程は必要不可欠なものであり、浮動小数
点演算全体に占るその比重も大きい。
正規化のための左シフトする方法としては、1
ビツト左シフト機能を有したハードウエアを用い
て、仮数のMSBが“1”になるかどうかをチエ
ツクしながら、繰り返し左シフトするものが考え
られる。しかし、この方法では仮数のMSBより
連続する“0”のビツト数分だけ実際にMSBの
チエツクとシフト動作が必要となり、“0”の数
が多くなる程正規化に要する時間が長くなつてし
まう。従つて、他の前処理や演算処理が高速に実
行可能であつても正規化に要する時間が多い場合
は、全体的な浮動小数点演算速度を著しく低下さ
せてしまうという欠点がある。
ビツト左シフト機能を有したハードウエアを用い
て、仮数のMSBが“1”になるかどうかをチエ
ツクしながら、繰り返し左シフトするものが考え
られる。しかし、この方法では仮数のMSBより
連続する“0”のビツト数分だけ実際にMSBの
チエツクとシフト動作が必要となり、“0”の数
が多くなる程正規化に要する時間が長くなつてし
まう。従つて、他の前処理や演算処理が高速に実
行可能であつても正規化に要する時間が多い場合
は、全体的な浮動小数点演算速度を著しく低下さ
せてしまうという欠点がある。
本発明は上記欠点を除き、比較的少ないハード
ウエアで、データの最上位ビツトも含めて最上位
ビツトに一番近い“1”を高速に検出するための
先行壱検出回路を提供するものである。
ウエアで、データの最上位ビツトも含めて最上位
ビツトに一番近い“1”を高速に検出するための
先行壱検出回路を提供するものである。
本発明は、入力するデータの最上位ビツトも含
めて最上位ビツトに一番近い“1”を検出する先
行壱検出回路において、前記データの各ビツトに
対応して各ビツト情報が“0”ならば上位からの
零伝達信号を下位へ伝え、前記ビツト情報が
“1”ならば下位へ伝えない手段と、前記零伝達
信号がアクテイブでありかつ前記ビツト情報が
“1”である状態を検出する手段とを有する論理
ブロツクを各ビツトに対応して前記データのビツ
ト数分設けたことを特徴とする。
めて最上位ビツトに一番近い“1”を検出する先
行壱検出回路において、前記データの各ビツトに
対応して各ビツト情報が“0”ならば上位からの
零伝達信号を下位へ伝え、前記ビツト情報が
“1”ならば下位へ伝えない手段と、前記零伝達
信号がアクテイブでありかつ前記ビツト情報が
“1”である状態を検出する手段とを有する論理
ブロツクを各ビツトに対応して前記データのビツ
ト数分設けたことを特徴とする。
次に、本発明の実施例について図面を用いて説
明する。
明する。
第2図は本発明の第1の実施例の回路図であ
る。
る。
今、扱うデータとして、16ビツト長のレジスタ
1に格納されていて、レジスタ1のMSBを含め
て、MSBに一番近い“1”を検出する先行壱検
出回路2の入力を各ビツトに対し、それぞれ、デ
ータD15,D14,…,D0とする。D15〜D1をそれぞ
れ入力とする15個の論理ブロツクA15〜A1は構造
がすべて同じであり、各論理ブロツク同志は零伝
達信号線により接続されている。
1に格納されていて、レジスタ1のMSBを含め
て、MSBに一番近い“1”を検出する先行壱検
出回路2の入力を各ビツトに対し、それぞれ、デ
ータD15,D14,…,D0とする。D15〜D1をそれぞ
れ入力とする15個の論理ブロツクA15〜A1は構造
がすべて同じであり、各論理ブロツク同志は零伝
達信号線により接続されている。
D15を入力とする論理ブロツクA15の構成と動
作について説明する。入力データD15は、インバ
ータ11と2入力AND回路12の入力信号であ
り、次段の論理ブロツクA14への零伝達信号T14
を強制的に“0”にするかどうかのゲート13の
制御信号としても働く。インバータ11の出力信
号は次段のブロツクA14へ零伝達信号T15を伝え
るかどうかのゲート14の制御信号として働く。
2入力AND回路12はデータD15と前段からの零
伝達信号T15を入力し、その論理積を出力するも
のである。以降論理ブロツクA14〜A1までは零伝
達信号T14〜T1に入力データがD14〜D1に変わる
だけでその構造は全く同じである。最終論理ブロ
ツクA0は、伝達信号T0と入力データD0を入力と
する2入力AND回路15だけから成つている。
作について説明する。入力データD15は、インバ
ータ11と2入力AND回路12の入力信号であ
り、次段の論理ブロツクA14への零伝達信号T14
を強制的に“0”にするかどうかのゲート13の
制御信号としても働く。インバータ11の出力信
号は次段のブロツクA14へ零伝達信号T15を伝え
るかどうかのゲート14の制御信号として働く。
2入力AND回路12はデータD15と前段からの零
伝達信号T15を入力し、その論理積を出力するも
のである。以降論理ブロツクA14〜A1までは零伝
達信号T14〜T1に入力データがD14〜D1に変わる
だけでその構造は全く同じである。最終論理ブロ
ツクA0は、伝達信号T0と入力データD0を入力と
する2入力AND回路15だけから成つている。
次に、論理ブロツクA15の動作について説明す
る。零伝達信号T15が“0”のときは、2入力
AND回路12の出力データ線S15は“0”とな
り、入力データD15が“0”ならばインバータ1
1を通してゲート14がオンとなり、次段の論理
ブロツクA14への零伝達信号T14を“0”のまま
伝える。一方、入力データD15が“1”ならばゲ
ート13がオンとなり、次段の論理ブロツクA14
への零伝達信号T14を強制的に“0”にして伝え
る。その結果零伝達信号T15が“0”で入力され
た場合は、入力データD15〜D0の値に無関係に出
力データ線S15〜S0は“0”となる。次に零伝達
信号T15が論理ブロツクA15に“1”で入力され
た時は、入力データが“0”の場合インバータ1
1を通してゲート14がオンとなり、次段の論理
ブロツクA14への零伝達信号T14を“1”のまま
伝える。このとき、2入力AND回路12の出力
データ線S15は“0”である。入力データD15が
“1”の場合、2入力AND回路12の出力データ
線S15は“1”となり、同時にゲート13がオン
となり、次段の論理ブロツクA14への零伝達信号
T14を強制的に“0”にする。前述のように零伝
達信号T15が“0”で入力されるとそれ以降の論
理ブロツクの出力データ線の値は“0”となる。
すなわち、零伝達信号T15が“1”で入力された
場合は、入力データの値が“1”となるまで出力
データ線の値を“0”にして次段の論理ブロツク
へ零伝達信号を“1”のまま伝え、入力データの
値が“1”となる論理ブロツクでその出力データ
線の値を“1”にするとともに次段の論理ブロツ
クへの零伝達信号を“0”にして、以降の論理ブ
ロツクの出力データ線の値を“0”にする。
る。零伝達信号T15が“0”のときは、2入力
AND回路12の出力データ線S15は“0”とな
り、入力データD15が“0”ならばインバータ1
1を通してゲート14がオンとなり、次段の論理
ブロツクA14への零伝達信号T14を“0”のまま
伝える。一方、入力データD15が“1”ならばゲ
ート13がオンとなり、次段の論理ブロツクA14
への零伝達信号T14を強制的に“0”にして伝え
る。その結果零伝達信号T15が“0”で入力され
た場合は、入力データD15〜D0の値に無関係に出
力データ線S15〜S0は“0”となる。次に零伝達
信号T15が論理ブロツクA15に“1”で入力され
た時は、入力データが“0”の場合インバータ1
1を通してゲート14がオンとなり、次段の論理
ブロツクA14への零伝達信号T14を“1”のまま
伝える。このとき、2入力AND回路12の出力
データ線S15は“0”である。入力データD15が
“1”の場合、2入力AND回路12の出力データ
線S15は“1”となり、同時にゲート13がオン
となり、次段の論理ブロツクA14への零伝達信号
T14を強制的に“0”にする。前述のように零伝
達信号T15が“0”で入力されるとそれ以降の論
理ブロツクの出力データ線の値は“0”となる。
すなわち、零伝達信号T15が“1”で入力された
場合は、入力データの値が“1”となるまで出力
データ線の値を“0”にして次段の論理ブロツク
へ零伝達信号を“1”のまま伝え、入力データの
値が“1”となる論理ブロツクでその出力データ
線の値を“1”にするとともに次段の論理ブロツ
クへの零伝達信号を“0”にして、以降の論理ブ
ロツクの出力データ線の値を“0”にする。
第3図は第2図に示す実施例の入力データに対
してアクテイブとなる出力データ線を説明するた
めの図である。
してアクテイブとなる出力データ線を説明するた
めの図である。
入力データD15〜D0に対するアクテイブな出力
データ線を右端に示す。例えば、入力データD15
〜D9が“0”で、入力データD8で初めて“1”
となる場合、出力データ線S8だけアクテイブにな
る。このとき入力データD7〜D0はどのような値
であつてもかまわない。
データ線を右端に示す。例えば、入力データD15
〜D9が“0”で、入力データD8で初めて“1”
となる場合、出力データ線S8だけアクテイブにな
る。このとき入力データD7〜D0はどのような値
であつてもかまわない。
このように、比較的少ないハードウエアにより
高速にデータの先行壱を検出することが可能にな
る。
高速にデータの先行壱を検出することが可能にな
る。
第4図は本発明の第2の実施例の回路図であ
る。
る。
この実施例はn−MOS半導体装置で構成した
プリチヤージサンプリング方式の先行壱検出回路
である。
プリチヤージサンプリング方式の先行壱検出回路
である。
先行壱検出回路20の入力データは第2図に示
したレジスタ1の出力データであり、第2図と同
様にMSBよりD15,D14,…,D0で示してある。
入力データD15〜D1をそれぞれ入力とする15個の
論理ブロツクA15〜A1は構造がすべて同じであ
り、各論理ブロツク同志は零伝達信号線により接
続されている。
したレジスタ1の出力データであり、第2図と同
様にMSBよりD15,D14,…,D0で示してある。
入力データD15〜D1をそれぞれ入力とする15個の
論理ブロツクA15〜A1は構造がすべて同じであ
り、各論理ブロツク同志は零伝達信号線により接
続されている。
まず、D15を入力とする論理ブロツクA15の構
成について説明する。論理ブロツクA15は、入力
データD15の値を反転するインバータ21とこの
インバータ21の出力データと前段からの零伝達
信号T15を入力とし、論理和否定を出力データ線
S15に出力する2入力NOR回路22と次段の論理
ブロツクA14へ論理ブロツクA15へ入力される零
伝達信号T15をそのまま伝えるかどうかをインバ
ータ21の出力信号により制御されるトランジス
タ23と、入力する零伝達信号T15を基本クロツ
クφ1の“1”の期間“1”にプリチヤージする
トランジスタ24とにより構成される。MSBよ
り数えて最終段の入力データD0を入力とする論
理ブロツクA0は入力データD0を反転するインバ
ータ25と、インバータ25の出力と入力データ
D1を入力とする前段の論理ブロツクA1からの零
伝達信号T0とを入力とし、論理和否定をS0に出
力する2入力NOR回路26とにより構成される。
論理ブロツクA15に入力される零伝達信号T15は、
トランジスタ27を介してグランドに接続され
る。トランジスタ27はゼロ検出許可信号
と基本クロツクφ1とを入力とする2入力NOR
回路28の出力によつて制御される。
成について説明する。論理ブロツクA15は、入力
データD15の値を反転するインバータ21とこの
インバータ21の出力データと前段からの零伝達
信号T15を入力とし、論理和否定を出力データ線
S15に出力する2入力NOR回路22と次段の論理
ブロツクA14へ論理ブロツクA15へ入力される零
伝達信号T15をそのまま伝えるかどうかをインバ
ータ21の出力信号により制御されるトランジス
タ23と、入力する零伝達信号T15を基本クロツ
クφ1の“1”の期間“1”にプリチヤージする
トランジスタ24とにより構成される。MSBよ
り数えて最終段の入力データD0を入力とする論
理ブロツクA0は入力データD0を反転するインバ
ータ25と、インバータ25の出力と入力データ
D1を入力とする前段の論理ブロツクA1からの零
伝達信号T0とを入力とし、論理和否定をS0に出
力する2入力NOR回路26とにより構成される。
論理ブロツクA15に入力される零伝達信号T15は、
トランジスタ27を介してグランドに接続され
る。トランジスタ27はゼロ検出許可信号
と基本クロツクφ1とを入力とする2入力NOR
回路28の出力によつて制御される。
次に、この先行壱検出回路20の動作について
説明する。基本クロツクφ1が“1”の時に2入
力NOR回路28の出力が“0”でトランジスタ
27がオフとなり、トランジスタ24がオンとな
つて各ブロツク内の零伝達信号線は“1”にチヤ
ージされる。このとき、各ブロツク内の2入力
NOR回路からの出力データ線はすべて“0”に
なつている。次に、基本クロツクφ1が“0”と
なり、ゼロ検出許可信号がアクテイブ“0”
になると、2入力NOR回路28の出力が“1”
でトランジスタ27がオンし、論理ブロツクA15
への零伝達信号T15を“0”にする。ここで入力
データD15が“1”であれば、インバータ21を
通して零伝達信号T15とともに2入力NOR回路2
2には“0”“0”が入力され、その出力S15は
“1”となる。このときトランジスタ23はオフ
で次段以降の論理ブロツクの零伝達信号線は
“1”にチヤージされたままで論理ブロツクA14
以降の2入力NOR回路からの出力S14〜S0は
“0”となる。一方、論理ブロツクA15への零伝
達信号T15が“0”で入力データD15が“0”の
場合、インバータ21を通して2入力NOR回路
22の出力S15は“0”となる。このときトラン
ジスタ23はオンとなり、次段の論理ブロツク
A14への零伝達信号T14は“0”となつて、入力
データが“1”である論理ブロツクまで零伝達信
号は“0”で伝わる。この結果、入力データD15
から始めて入力データが“1”となつている論理
ブロツクまで零伝達信号は“0”で伝わり、各論
理ブロツクの2入力NOR回路からは“0”が出
力され、最初に入力データが“1”となつている
論理ブロツクでその出力信号は“1”となり、以
降の論理ブロツクの零伝達信号線は“1”にチヤ
ージされたままで、その出力信号は“0”であ
る。すなわち、ゼロ検出許可信号と基本ク
ロツクφ1がともに“0”のとき、入力データ
D15から始めて、最初に入力データが“1”であ
る論理ブロツクの出力データ線が“1”となり、
それ以外の論理ブロツクの出力データ線はすべて
“0”である。
説明する。基本クロツクφ1が“1”の時に2入
力NOR回路28の出力が“0”でトランジスタ
27がオフとなり、トランジスタ24がオンとな
つて各ブロツク内の零伝達信号線は“1”にチヤ
ージされる。このとき、各ブロツク内の2入力
NOR回路からの出力データ線はすべて“0”に
なつている。次に、基本クロツクφ1が“0”と
なり、ゼロ検出許可信号がアクテイブ“0”
になると、2入力NOR回路28の出力が“1”
でトランジスタ27がオンし、論理ブロツクA15
への零伝達信号T15を“0”にする。ここで入力
データD15が“1”であれば、インバータ21を
通して零伝達信号T15とともに2入力NOR回路2
2には“0”“0”が入力され、その出力S15は
“1”となる。このときトランジスタ23はオフ
で次段以降の論理ブロツクの零伝達信号線は
“1”にチヤージされたままで論理ブロツクA14
以降の2入力NOR回路からの出力S14〜S0は
“0”となる。一方、論理ブロツクA15への零伝
達信号T15が“0”で入力データD15が“0”の
場合、インバータ21を通して2入力NOR回路
22の出力S15は“0”となる。このときトラン
ジスタ23はオンとなり、次段の論理ブロツク
A14への零伝達信号T14は“0”となつて、入力
データが“1”である論理ブロツクまで零伝達信
号は“0”で伝わる。この結果、入力データD15
から始めて入力データが“1”となつている論理
ブロツクまで零伝達信号は“0”で伝わり、各論
理ブロツクの2入力NOR回路からは“0”が出
力され、最初に入力データが“1”となつている
論理ブロツクでその出力信号は“1”となり、以
降の論理ブロツクの零伝達信号線は“1”にチヤ
ージされたままで、その出力信号は“0”であ
る。すなわち、ゼロ検出許可信号と基本ク
ロツクφ1がともに“0”のとき、入力データ
D15から始めて、最初に入力データが“1”であ
る論理ブロツクの出力データ線が“1”となり、
それ以外の論理ブロツクの出力データ線はすべて
“0”である。
このように、比較的少ないハードウエアにより
高速に先行壱を検出することが可能である。尚、
上記実施例においては、データ長16ビツトを考え
たが、拡張されたデータ長に対しても有効であ
る。但し、上記実施例を極端に拡張したデータ長
に対して応用しようとした場合、零伝達信号の伝
播速度が各段のデイレイの累積となり、低下して
しまう。そこで、次に伝播速度の低下を回避する
先行壱検出回路の実施例について説明する。
高速に先行壱を検出することが可能である。尚、
上記実施例においては、データ長16ビツトを考え
たが、拡張されたデータ長に対しても有効であ
る。但し、上記実施例を極端に拡張したデータ長
に対して応用しようとした場合、零伝達信号の伝
播速度が各段のデイレイの累積となり、低下して
しまう。そこで、次に伝播速度の低下を回避する
先行壱検出回路の実施例について説明する。
第5図は本発明の第3の実施例の回路図であ
る。
る。
この実施例は、上述のように、拡張されたデー
タ長に対しても零伝達信号の伝播速度の低下を回
避した回路である。拡張されたデータ長として64
ビツト長のデータを例にして説明する。入力する
データは、MSBより順にD63,D62,…,D0であ
り、MSBである入力データD63から8ビツト単位
でまとめられている。各入力データに対応する論
理ブロツクB63〜B0は第4図における論理ブロツ
クA15と全く同じ回路構成であり、その動作につ
いて説明すると、入力データD63を入力とする論
理ブロツクB63の零伝達信号T63はゼロ検出許可
信号ZDEと基本クロツクφ1を入力とする2入
力NOR回路31の出力により制御され、次の入
力データD55を入力とする論理ブロツクB55の零
伝達信号T55は2入力NOR回路31の出力を反転
したものと、入力データD63,D62,D61,D60,
D59,D58,D57,D56を入力とする9入力NOR回
路33の出力により制御される。以下同様にし
て、8ビツトのデータバスと、入力される伝達信
号との論理和否定の結果によつて次段の零伝達信
号を制御している。従つて、零伝達信号の伝播は
最大7段(9入力のNOR回路の個数)に押える
ことができる。
タ長に対しても零伝達信号の伝播速度の低下を回
避した回路である。拡張されたデータ長として64
ビツト長のデータを例にして説明する。入力する
データは、MSBより順にD63,D62,…,D0であ
り、MSBである入力データD63から8ビツト単位
でまとめられている。各入力データに対応する論
理ブロツクB63〜B0は第4図における論理ブロツ
クA15と全く同じ回路構成であり、その動作につ
いて説明すると、入力データD63を入力とする論
理ブロツクB63の零伝達信号T63はゼロ検出許可
信号ZDEと基本クロツクφ1を入力とする2入
力NOR回路31の出力により制御され、次の入
力データD55を入力とする論理ブロツクB55の零
伝達信号T55は2入力NOR回路31の出力を反転
したものと、入力データD63,D62,D61,D60,
D59,D58,D57,D56を入力とする9入力NOR回
路33の出力により制御される。以下同様にし
て、8ビツトのデータバスと、入力される伝達信
号との論理和否定の結果によつて次段の零伝達信
号を制御している。従つて、零伝達信号の伝播は
最大7段(9入力のNOR回路の個数)に押える
ことができる。
次に、この実施例の動作について説明する。ゼ
ロ検出許可信号ZDEと基本クロツクφ1を入力
とする2入力NOR回路31の出力が“0”の場
合、9入力NOR回路33の出力も“0”となり、
以下同様にして全零伝達信号は“1”にチヤージ
されたままで、各論理ブロツクB63〜B0からの出
力データ線S63〜S0の値はすべて“0”のままで
ある。次にゼロ検出許可信号ZDEと基本クロツ
クφ1がともに“0”で2入力NOR回路31か
らの出力が“1”のとき、入力データD63から数
えて最終入力データD0で初めて“1”となる場
合を考えると第4図の実施例では、各論理ブロツ
クを一段ずつ伝播し、最後に1を出力することに
なるが、この第3の実施例では入力データD63〜
D56を一度に見て、9入力NOR回路33の出力を
“1”にする。以下8論理ブロツク単位に見てい
き7段の9入力NOR回路を通り論理ブロツクB7
に零伝達信号が“0”で入る。以降論理ブロツク
B7〜B1の出力データ線S7〜S1を“0”にしなが
ら伝播し、入力データD0が“1”の論理ブロツ
クB0の出力データ線S0を“1”にする。すなわ
ち、第2の実施例では64段の論理ブロツクを伝達
しなくてはならなかつたのが、第3の実施例の回
路を用いると、7段の9入力NOR回路と8段の
論理ブロツクの伝播に押えることができ、高速動
作が可能になる。
ロ検出許可信号ZDEと基本クロツクφ1を入力
とする2入力NOR回路31の出力が“0”の場
合、9入力NOR回路33の出力も“0”となり、
以下同様にして全零伝達信号は“1”にチヤージ
されたままで、各論理ブロツクB63〜B0からの出
力データ線S63〜S0の値はすべて“0”のままで
ある。次にゼロ検出許可信号ZDEと基本クロツ
クφ1がともに“0”で2入力NOR回路31か
らの出力が“1”のとき、入力データD63から数
えて最終入力データD0で初めて“1”となる場
合を考えると第4図の実施例では、各論理ブロツ
クを一段ずつ伝播し、最後に1を出力することに
なるが、この第3の実施例では入力データD63〜
D56を一度に見て、9入力NOR回路33の出力を
“1”にする。以下8論理ブロツク単位に見てい
き7段の9入力NOR回路を通り論理ブロツクB7
に零伝達信号が“0”で入る。以降論理ブロツク
B7〜B1の出力データ線S7〜S1を“0”にしなが
ら伝播し、入力データD0が“1”の論理ブロツ
クB0の出力データ線S0を“1”にする。すなわ
ち、第2の実施例では64段の論理ブロツクを伝達
しなくてはならなかつたのが、第3の実施例の回
路を用いると、7段の9入力NOR回路と8段の
論理ブロツクの伝播に押えることができ、高速動
作が可能になる。
このように、この第3の実施例によれば、ビツ
ト長の大きなデータに対して入力データの先行壱
を検出するのに比較的少ないハードウエアを付加
することによつて高速に行うことが可能である。
ト長の大きなデータに対して入力データの先行壱
を検出するのに比較的少ないハードウエアを付加
することによつて高速に行うことが可能である。
上記三つの実施例では、MSBも含めてMSBに
一番近い“1”を検出するものとして先行壱検出
回路を説明したが、反対にMSBも含めてMSBに
一番近い“0”を検出することも、上記実施例に
おいて入力データを反転させることにより容易に
実現できる。また、最下位ビツト(LSB)も含
めてLSBに一番近い“1”あるいは“0”を検
出することも若干の回路変更で適用可能である。
一番近い“1”を検出するものとして先行壱検出
回路を説明したが、反対にMSBも含めてMSBに
一番近い“0”を検出することも、上記実施例に
おいて入力データを反転させることにより容易に
実現できる。また、最下位ビツト(LSB)も含
めてLSBに一番近い“1”あるいは“0”を検
出することも若干の回路変更で適用可能である。
以上詳細に説明したように、本発明によれば、
比較的少ないハードウエアでデータの最上位ビツ
トも含めて最上位ビツトに一番近い“1”を高速
に検出する先行壱検出回路が得られるのでその効
果は大きい。
比較的少ないハードウエアでデータの最上位ビツ
トも含めて最上位ビツトに一番近い“1”を高速
に検出する先行壱検出回路が得られるのでその効
果は大きい。
第1図は浮動小数点のフオーマツトを示す図、
第2図は本発明の第1の実施例の回路図、第3図
は第2図に示す実施例の入力データに対してアク
テイブとなる出力データ線を説明するための図、
第4図は本発明の第2の実施例の回路図、第5図
は本発明の第3の実施例の回路図である。 1……レジスタ、2……先行壱検出回路、11
……インバータ、12……2入力AND回路、1
3,14……ゲート、20……先行壱検出回路、
21……インバータ、22……2入力NOR回路、
23……トランジスタ、24……トランジスタ、
25……インバータ、26……2入力NOR回路、
27……トランジスタ、28……2入力NOR回
路、30……先行壱検出回路、31……2入力
NOR回路、33……9入力NOR回路。
第2図は本発明の第1の実施例の回路図、第3図
は第2図に示す実施例の入力データに対してアク
テイブとなる出力データ線を説明するための図、
第4図は本発明の第2の実施例の回路図、第5図
は本発明の第3の実施例の回路図である。 1……レジスタ、2……先行壱検出回路、11
……インバータ、12……2入力AND回路、1
3,14……ゲート、20……先行壱検出回路、
21……インバータ、22……2入力NOR回路、
23……トランジスタ、24……トランジスタ、
25……インバータ、26……2入力NOR回路、
27……トランジスタ、28……2入力NOR回
路、30……先行壱検出回路、31……2入力
NOR回路、33……9入力NOR回路。
Claims (1)
- 1 入力するデータの最上位ビツトも含めて最上
位ビツトに一番近い“1”を検出する先行壱検出
回路において、前記データの各ビツトに対応し
て、各ビツト情報が“0”ならば上位からの零伝
達信号を下位へ伝え、前記ビツト情報が“1”な
らば下位へ伝えない手段と、前記零伝達信号がア
クテイブでありかつ前記ビツト情報が“1”であ
る状態を検出する手段とを有する論理ブロツクを
各ビツトに対応して前記データのビツト数分設け
たことを特徴とする先行壱検出回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8207983A JPS59206942A (ja) | 1983-05-11 | 1983-05-11 | 先行壱検出回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8207983A JPS59206942A (ja) | 1983-05-11 | 1983-05-11 | 先行壱検出回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59206942A JPS59206942A (ja) | 1984-11-22 |
| JPH0142412B2 true JPH0142412B2 (ja) | 1989-09-12 |
Family
ID=13764448
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8207983A Granted JPS59206942A (ja) | 1983-05-11 | 1983-05-11 | 先行壱検出回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59206942A (ja) |
Families Citing this family (4)
| 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 |
| JPS6419430A (en) * | 1987-07-15 | 1989-01-23 | Fujitsu Ltd | Priority encoder |
| JPH01180626A (ja) * | 1988-01-12 | 1989-07-18 | Mitsubishi Electric Corp | 優先順位分解器 |
| JPH0410029A (ja) * | 1990-04-27 | 1992-01-14 | Nec Corp | 先行1検出回路 |
-
1983
- 1983-05-11 JP JP8207983A patent/JPS59206942A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59206942A (ja) | 1984-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0127988B1 (en) | A normalizing circuit | |
| JP2674754B2 (ja) | バレル・シフタ | |
| US5568410A (en) | Method and apparatus for determining the amount of leading zeros or ones in a binary data field | |
| JPH02138620A (ja) | 数値量を計算する方法および数値データ処理装置 | |
| JPH07225671A (ja) | 結果正規化機構と動作の方法 | |
| EP0328619B1 (en) | Apparatus and method for using a single carry chain for leading one detection and for ''sticky'' bit calculation | |
| US4152775A (en) | Single line propagation adder and method for binary addition | |
| US5027310A (en) | Carry chain incrementer and/or decrementer circuit | |
| JPS62196767A (ja) | パイプライン構成の浮動小数点数アキユムレ−タ回路 | |
| EP0234495B1 (en) | Arithmetic circuit capable of executing floating point operations and fixed point operations | |
| EP0408353B1 (en) | Semiconductor integrated circuit | |
| US5398327A (en) | Central processing unit including two-valued/n-valued conversion unit | |
| US5321640A (en) | Priority encoder and method of operation | |
| US5923574A (en) | Optimized, combined leading zeros counter and shifter | |
| US5798952A (en) | Leading bit anticipator | |
| US20030140074A1 (en) | Leading Zero Anticipatory (LZA) algorithm and logic for high speed arithmetic units | |
| CA1085961A (en) | One-bit-out-of-n-bit checking circuit | |
| KR910001708B1 (ko) | 중앙처리장치 | |
| JP3090330B2 (ja) | 出力信号発生装置及びその方法並びにfifoメモリ | |
| JPS59206942A (ja) | 先行壱検出回路 | |
| EP0827068B1 (en) | Floating point number data processing means | |
| JP3106525B2 (ja) | 加算方式及びその回路 | |
| JPS61275936A (ja) | 条件決定装置 | |
| US4907185A (en) | Program-controlled computer with an interrupt capability for floating-point operation | |
| JP2908117B2 (ja) | ベクトル演算処理装置 |