JP3122622B2 - 除算装置 - Google Patents

除算装置

Info

Publication number
JP3122622B2
JP3122622B2 JP08325524A JP32552496A JP3122622B2 JP 3122622 B2 JP3122622 B2 JP 3122622B2 JP 08325524 A JP08325524 A JP 08325524A JP 32552496 A JP32552496 A JP 32552496A JP 3122622 B2 JP3122622 B2 JP 3122622B2
Authority
JP
Japan
Prior art keywords
data
subtraction
output
result
bit
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
JP08325524A
Other languages
English (en)
Other versions
JPH09269892A (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 JP08325524A priority Critical patent/JP3122622B2/ja
Publication of JPH09269892A publication Critical patent/JPH09269892A/ja
Application granted granted Critical
Publication of JP3122622B2 publication Critical patent/JP3122622B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はディジタル演算装置
の中で、正規化された除数データと被除数データを入力
として除算を実行し、1サイクルごとに2ビットの部分
商を生成する除算装置に関するものである。
【0002】
【従来の技術】近年、半導体技術の進展に伴い、数百万
を越えるトランジスタが1チップの中に集積することが
可能となっており、非常に複雑な演算機能を持つブロッ
クを1つのVLSIの中に数多く内蔵することが常識と
なっている。ディジタル演算装置においても、固定小数
点加算器、減算器、乗算器、除算器、論理演算器、さら
に、浮動小数点加算器、減算器、乗算器、除算器等が内
蔵されるようになってきた。また、集積度のみならず、
速度の面においても技術の進展は著しく、ますます高速
化が進んできている。これらディジタル演算装置の中
で、VLSIに内蔵される除算装置の方式は、大きく分
けて2つのタイプに分類される。ひとつは、繰り返し乗
算による収束型除算と、もうひとつは、減算器をベース
にした減算シフト型除算である。前者は、乗算器を使用
するため、乗算器が内蔵されている場合には、ハードウ
エアコストをほとんど増やすことなく実現できるもの
の、高速化の点において難点がある。また、乗算器が内
蔵されていない場合には、除算用に乗算器が必要となる
ため、ハードウエアコストの面でも問題となる。後者
は、ハードウエアを増やすことによって、ある程度は、
速度向上を図ることが可能であるが、単純には、速度向
上できない。減算シフト型の除算装置は、Kai Hwang 著
「Computer Arithmetic Principles, Architectures, a
nd Design 」に記載されている。
【0003】
【発明が解決しようとする課題】本発明の目的は、高速
の除算装置を提供することである。
【0004】本発明の別の目的は、クリティカルパスの
経路をより単純な経路に簡略化させて、遅延時間を削減
することにより、除算演算を高速に実行する除算装置を
提供することである。
【0005】
【課題を解決するための手段】上記問題点を解決するた
めに本発明の除算装置は、正規化された被除数データと
除数データを入力として除算を実行し、1サイクルごと
に2ビットの部分商を生成する除算装置であって、前記
被除数データと部分剰余データとを入力データとして選
択的にデータを保持する第1のデータ保持手段と、前記
除数データを入力としてデータを保持する第2のデータ
保持手段と、前記第1のデータ保持手段から出力された
データから前記第2のデータ保持手段から出力されたデ
ータを減算して結果を出力する第1の減算手段と、前記
第1のデータ保持手段から出力されたデータの上位Nビ
ットと前記第2のデータ保持手段から出力されたデータ
の上位Nビットを入力として比較結果を出力する比較手
段と、前記第1の減算手段から出力されたデータと前記
第1のデータ保持手段から出力されたデータを入力とし
て前記比較手段の比較結果に応じて選択的に1ビット左
シフトして出力する第1の選択手段と、前記第1の選択
手段からの出力に、前記第1の減算手段で実行された減
算結果と前記比較手段から出力される比較結果とを入力
として生成した任意の信号を付加して出力するデータ生
成手段と、前記データ生成手段から出力されたデータか
ら前記第2のデータ保持手段から出力されたデータを減
算して結果を出力する第2の減算手段と、前記第1の減
算手段から出力されたデータと前記第1のデータ保持手
段から出力されたデータをデータ入力として前記第1の
減算手段の減算結果に応じて選択的に2ビット左シフト
して出力する第2の選択手段と、前記第2の減算手段か
ら出力されたデータを1ビット左シフトしたデータと前
記第2の選択手段から出力されたデータをデータ入力と
して前記第1または第2の減算手段の減算結果に応じて
選択的に部分剰余データとして出力する第3の選択手段
という構成を備えたものである。
【0006】本発明は上記した構成によって、速度を決
定するクリティカルパスが、(第1の減算手段における
減算処理)+(第1の選択手段におけるデータの通過)
+(第2の減算手段における減算処理)+(第3の選択
手段におけるデータの選択)+(第3の選択手段におけ
るデータの通過)と短縮されることとなり、高速な除算
装置が実現できることとなる。
【0007】
【発明の実施形態】以下図1を参照しながら、第1実施
例の減算シフト型除算装置の一例について説明する。
【0008】図1は、正規化された除数データと被除数
データを入力として除算を実行し、1サイクルごとに2
ビットの部分商を生成する減算シフト型除算装置の構成
を示すものである。入力データは8ビットのデータ幅を
持つ正規化されたデータで、A[7:0]を被除数入
力、B[7:0]を除数入力とする。被除数入力、除数
入力ともに正規化されているため、最上位ビットA
[7]、B[7]は常に1が入力される。
【0009】図1において、10は前記被除数入力A
[7:0]と部分剰余データを入力として、選択的にデ
ータを保持する第1のデータ保持手段である。データ入
力時には、前記被除数入力A[7:0]を選択的に入力
し、除算実行時には、前記部分剰余データを選択的に入
力し保持する。保持するデータのビット幅として9ビッ
ト幅のデータを保持し、前記被除数入力A[7:0]を
選択的に入力する際には、MSB(Most Sign
ificant Bit)側に1ビットデータ”0”を
付加して9ビット幅のデータを保持する。20は前記除
数入力B[7:0]を保持する第2のデータ保持手段で
あり、MSB側に1ビットデータ”0”を付加して9ビ
ット幅のデータを保持する。除算実行時においても、こ
のデータを保持する。30は第1のデータ保持手段10
から出力されたデータから第2のデータ保持手段20か
ら出力されたデータを減算して結果を出力する第1の減
算手段であり、9ビットの減算器から構成される。ここ
で、第2のデータ保持手段20を8ビット構成とし、前
記第1の減算手段30において、第2のデータ保持手段
20から出力されたデータのMSB側に1ビットデー
タ”0”を付加して減算を実行しても機能的には等価で
ある。51は第1の減算手段30から出力されたデータ
と第1のデータ保持手段10から出力されたデータを入
力として第1の減算手段30の減算結果に応じて選択的
に1ビット左シフトして出力する第1の選択手段であ
る。前記第1の減算手段の減算結果が正あるいは0であ
れば第1の減算手段30から出力されたデータを選択的
に1ビット左シフトして出力し、減算結果が負であれば
第1のデータ保持手段10から出力されたデータを選択
的に1ビット左シフトして出力する。41は第1の選択
手段51から出力されたデータから第2のデータ保持手
段20から出力されたデータを減算して結果を出力する
第2の減算手段であり、9ビットの減算器から構成され
る。61は第2の減算手段41から出力されたデータと
前記第1の選択手段51から出力されたデータを入力と
して、第2の減算手段41の減算結果に応じて選択的に
1ビット左シフトして出力する第2の選択手段である。
前記第2の減算手段41の減算結果が負であれば第1の
データ選択手段51から出力されたデータを選択的に1
ビット左シフトして出力し、それ以外の場合であれば第
2の減算手段41から出力されたデータを選択的に1ビ
ット左シフトして出力する。70は部分商保持回路であ
る。第1の減算手段30で実行された減算結果と第2の
減算手段41で実行された減算結果に応じて生成される
部分商を保持する。第1の減算手段30および第2の減
算手段41それぞれの減算結果が正あるいは0であれば
部分商として1を保持し、負であれば部分商として0を
保持する。前記2つの減算器の結果をもとに、1サイク
ルごとに2ビットづつの部分商が生成保持される。部分
商保持回路70は、2ビット入力のシフトレジスタある
いは入力データ選択機能付きのレジスタによって、容易
に構成することができる。
【0010】以上のように構成された除算装置につい
て、以下その動作について説明する。
【0011】まず、被除数入力A[7:0]に正規化さ
れた被除数データが、除数入力B[7:0]に正規化さ
れた除数データが入力される。被除数データおよび除数
データは、ともに正規化されているので、最上位ビット
A[7]、B[7]には、ともにデータ”1”が入力さ
れる。入力されたデータはそれぞれ、第1のデータ保持
手段10と第2のデータ保持手段20に保持され除算の
実行が開始される。1サイクルごとに2ビットの部分商
が生成された後、第2の選択手段61からの出力が部分
剰余データとして第1のデータ保持手段10に入力し保
持される。このサイクルをN回繰り返すことにより、2
Nビットの商を求めることができる。
【0012】さらに、詳細に動作を説明するために、1
サイクル内で生成される部分商の組み合わせ”0
0”、”01”、”10”、”11”ごとに動作を説明
する。第2のデータ保持手段20に保持されている除数
データは、入力されたまま変更されないので、常にビッ
ト[7]は1であるが、第1のデータ保持手段10に保
持されるデータに関しては、部分剰余を取り込むので、
ビット[7]は”1”とは、限らない。さらに、ビット
[8]にデータ”1”が入力される場合もある。
【0013】 1)部分商”00”となる場合の例、 第1の減算手段における被減数入力 000100000 第1の減算手段における減数入力 010000000 第1の減算手段における減算結果 110100000 (−001100000)→負 第1の選択手段出力 001000000 第2の減算手段における被減数入力 001000000 第2の減算手段における減数入力 010000000 第2の減算手段における減算結果 111000000 (−001000000)→負 第2の選択手段出力 010000000 2)部分商”01”となる場合の例、 第1の減算手段における被減数入力 001100000 第1の減算手段における減数入力 010000000 第1の減算手段における減算結果 111100000 (−000100000)→負 第1の選択手段出力 011000000 第2の減算手段における被減数入力 011000000 第2の減算手段における減数入力 010000000 第2の減算手段における減算結果 001000000 (+001000000)→正 第2の選択手段出力 010000000 3)部分商”10”となる場合の例、 第1の減算手段における被減数入力 010100000 第1の減算手段における減数入力 010000000 第1の減算手段における減算結果 000100000 (+000100000)→正 第1の選択手段出力 001000000 第2の減算手段における被減数入力 001000000 第2の減算手段における減数入力 010000000 第2の減算手段における減算結果 111000000 (−001000000)→負 第2の選択手段出力 010000000 4)部分商”11”となる場合の例、 第1の減算手段における被減数入力 011100000 第1の減算手段における減数入力 010000000 第1の減算手段における減算結果 001100000 (+001100000)→正 第1の選択手段出力 011000000 第2の減算手段における被減数入力 011000000 第2の減算手段における減数入力 010000000 第2の減算手段における減算結果 001000000 (+001000000)→正 第2の選択手段出力 010000000 以上のように、第1第2の減算手段30、41における
減算結果に応じて、2ビット部分商が1サイクル内で求
められる。それぞれの減算結果が0になった場合は、演
算結果が正の場合と同様である。
【0014】ここで、上記除算装置において、速度を決
定するクリティカルパスは、(第1の減算手段10にお
ける減算処理)+(第1の選択手段51におけるデータ
の選択)+(第1の選択手段51におけるデータの通
過)+(第2の減算手段41における減算処理)+(第
2の選択手段61におけるデータの選択)+(第2の選
択手段61におけるデータの通過)となる。
【0015】以下本発明の第2の実施例の除算装置の構
成について、図面を参照しながら説明する。
【0016】図2は、正規化された除数データと被除数
データを入力として除算を実行し、1サイクルごとに2
ビットの部分商を生成する減算シフト型除算装置の構成
を示すものである。入力データは8ビットのデータ幅を
持つ正規化されたデータで、A[7:0]を被除数入
力、B[7:0]を除数入力とする。被除数入力、除数
入力ともに正規化されているため、最上位ビットA
[7]、B[7]は常に1が入力される。
【0017】図2において、10は被除数入力A[7:
0]と部分剰余データを入力として、選択的にデータを
保持する第1のデータ保持手段である。データ入力時に
は、被除数入力A[7:0]を選択的に入力し、除算実
行時には、部分剰余データを選択的に入力し保持する。
保持するデータのビット幅として9ビット幅のデータを
保持し、被除数入力A[7:0]を選択的に入力する際
には、MSB側に1ビットデータ”0”を付加して9ビ
ット幅のデータを保持する。
【0018】20は除数入力B[7:0]を保持する第
2のデータ保持手段であり、MSB側に1ビットデー
タ”0”を付加して9ビット幅のデータを保持する。除
算実行時においても、このデータを保持する。
【0019】30は第1のデータ保持手段10から出力
されたデータから第2のデータ保持手段20から出力さ
れたデータを減算して結果を出力する第1の減算手段で
あり、9ビットの減算器から構成される。ここで、第2
のデータ保持手段20を8ビット構成とし、第1の減算
手段30において、第2のデータ保持手段20から出力
されたデータのMSB側に1ビットデータ”0”を付加
して減算を実行しても機能的には等価である。
【0020】80は、第1のデータ保持手段10から出
力されたデータの上位3ビットと第2のデータ保持手段
20から出力されたデータの上位3ビットを入力として
比較結果を出力する比較手段である。第2のデータ保持
手段20を8ビット構成とし、最上位ビットに0を付加
したうえで上位3ビットの比較が実行しても機能的には
等価である。
【0021】50は第1の減算手段30から出力された
データと第1のデータ保持手段10から出力されたデー
タを入力として比較手段80の比較結果に応じて選択的
に1ビット左シフトして出力する第1の選択手段であ
る。第1のデータ保持手段10から出力されたデータの
上位3ビットデータの方が第2のデータ保持手段20か
ら出力されたデータの上位3ビットデータより大きい場
合にのみ、第1の減算手段30から出力されたデータを
選択的に出力し、それ以外の場合には第1のデータ保持
手段10から出力されたデータを選択的に出力する。
【0022】40は第1の選択手段50から出力された
データから第2のデータ保持手段20から出力されたデ
ータを減算して結果を出力する第2の減算手段である。
【0023】90は、第1の減算手段30から出力され
たデータと第1のデータ保持手段10から出力されたデ
ータを入力として第1の減算手段30の減算結果に応じ
て選択的に2ビット左シフトして出力する第2の選択手
段である。第1の減算手段30の減算結果が正または0
の場合には第1の減算手段30から出力されたデータを
選択的に2ビット左シフトして出力し、負の場合には第
1のデータ保持手段10から出力されたデータを選択的
に2ビット左シフトして出力する。
【0024】60は第2の減算手段40の減算結果に応
じて第2の減算手段40から出力されたデータを1ビッ
ト左シフトして出力するか、または、第2の選択手段9
0から出力されたデータをそのまま出力する第3の選択
手段である。第2の減算手段40の減算結果が負であれ
ば第2の選択手段90から出力されたデータを選択的に
出力し、それ以外の場合であれば第2の減算手段40か
ら出力されたデータを選択的に1ビット左シフトして出
力する。
【0025】70は部分商保持回路である。第1の減算
手段30で実行された減算結果と第2の減算手段40で
実行された減算結果に応じて部分商を保持する。第1の
減算手段30および第2の減算手段40それぞれの減算
結果が正あるいは0であれば部分商として1を保持し、
負であれば部分商として0を保持する。前記2つの減算
器の結果をもとに、1サイクルごとに2ビットづつの部
分商が生成保持される。部分商保持回路70は、2ビッ
ト入力のシフトレジスタあるいは入力データ選択機能付
きのレジスタによって、容易に構成することができる。
【0026】以上のように構成された除算装置について
の動作について説明する。
【0027】まず、被除数入力A[7:0]に正規化さ
れた被除数データが、除数入力B[7:0]に正規化さ
れた除数データが入力される。被除数データおよび除数
データは、ともに正規化されているので、最上位ビット
A[7]、B[7]には、ともにデータ”1”が入力さ
れる。入力されたデータはそれぞれ、第1のデータ保持
手段10と第2のデータ保持手段20に保持され、除算
の演算の実行が開始される。ここで、第1のデータ保持
手段10から出力される被除数/部分剰余データをデー
タa[8:0]と第2のデータ保持手段20から供給さ
れる除数データをデータb[8:0]とすると、この2
つのデータa[8:0]、b[8:0]は、第1の減算
手段30と比較手段80に同時に供給される。第1の減
算手段30では、(a[8:0]ーb[8:0])とい
う減算が実行されその減算結果が出力される。比較手段
80では、第1のデータ保持手段10から出力される被
除数/部分剰余データのMSB側3ビット、すなわち、
a[8:6]と第2のデータ保持手段20から供給され
る除数データのMSB側3ビット、すなわち、b[8:
6]の比較が行われる。
【0028】次に、この比較結果に応じて、第1の選択
手段50の出力が制御される。比較結果としては、 1)a[8:6]>b[8:6] 2)a[8:6]<b[8:6] 3)a[8:6]=b[8:6]の3通りの結果がある
が、それ以降の動作をそれぞれの場合について詳細に説
明する。
【0029】1)の場合には比較手段80における比較
結果より、常にa[8:0]>b[8:0]ということ
が成り立つので、第1の減算手段30における減算処理
(a[8:0]−b[8:0])が終了しなくてもその
結果が正になることがわかる。したがって、1ビット目
の部分商は、”1”となる。第1の減算手段30におけ
る減算処理結果が正であるので、第2の減算手段40に
は、第1の減算手段30からの出力を1ビット左シフト
して入力する必要がある。すなわち、第1の選択手段5
0は、第1の減算手段30から出力された減算結果を選
択的に1ビット左シフトして第2の減算手段40に出力
するよう制御される。第2の選択手段90は、第1の減
算手段30の演算結果に応じて制御され、この場合は、
第1の減算手段30の減算結果が正であるので、前記第
1の減算手段30からの出力を選択的に2ビット左シフ
トして出力する。第3の選択手段60は、第2の減算手
段40の減算結果に応じて、制御される。第2の減算手
段40の減算結果が、正または0であれば第2の減算手
段40からの出力を選択的に1ビット左シフトして出力
する。負であれば、前記第2の選択手段90からの出力
を選択的に出力する。以上のように動作することで、
1)の場合には、”10”あるいは、”11”という部
分商が生成される。
【0030】2)の場合には比較手段80における比較
結果より、常にa[8:0]<b[8:0]ということ
が成り立つので、第1の減算手段30における減算処理
(a[8:0]−b[8:0])が終了しなくてもその
結果が負になることがわかる。したがって、1ビット目
の部分商は、”0”となる。第1の減算手段30におけ
る減算処理結果が負であるので、第2の減算手段40に
は、第1のデータ保持手段10からの出力を1ビット左
シフトして入力する必要がある。すなわち、第1の選択
手段50は、第1のデータ保持手段10からの出力を選
択的に1ビット左シフトして第2の減算手段40に出力
するよう制御される。第2の選択手段90は、第1の減
算手段30の減算結果に応じて制御され、この場合は、
第1の減算手段30の減算結果が負であるので、前記第
1のデータ保持手段10からの出力を選択的に2ビット
左シフトして出力する。第3の選択手段60は、第2の
減算手段40の減算結果に応じて、制御される。第2の
減算手段40の減算結果が、正または0であれば第2の
減算手段40からの出力を選択的に1ビット左シフトし
て出力する。負であれば、前記第2の選択手段90から
の出力を選択的に出力する。以上のように動作すること
で、2)の場合には、”00”あるいは、”01”とい
う部分商が生成される。
【0031】3)の場合には、第1の減算手段30にお
ける減算処理の結果が正になる場合、0になる場合、お
よび負になる場合が存在する。すなわち、a[5:0]
>b[5:0]ならば減算手段30における減算処理の
結果は正、a[5:0]=b[5:0]ならば減算手段
30における減算処理の結果は0、a[5:0]<b
[5:0]ならば減算手段30における減算処理の結果
は負になり、比較手段80における比較結果によって1
ビット目の部分商を決定することはできない。しかしな
がら、データb[8:0]が第2のデータ保持手段20
から供給される正規化された除数データであることに着
目すると、2ビットの部分商の組み合わせを限定でき
る。データb[8:6]は、正規化された除数データの
MSB側3ビットであるためそのパターンは、”01
0”と”011”しか起こり得ない。この2つの場合
で、データa、bの組み合わせをより詳細に説明する。
【0032】MSB側3ビットデータが、”010”の
場合の9ビットデータの最大値は、”01011111
1”、最小値は、”010000000”となる。aが
最大値、bが最小値をとった場合、以下のような2回の
減算処理の結果、部分商は、”10”となる。
【0033】 010111111 −010000000 −−−−−−−−−− 000111111 (正)→部分商 ”1” 001111110 (減算結果を左1ビットシフト) −010000000 −−−−−−−−−− −000000010 (負)→部分商 ”0” また、aが最小値、bが最大値をとった場合、以下のよ
うな2回の減算処理の結果、部分商は、”01”とな
る。
【0034】 010000000 −010111111 −−−−−−−−−− −000111111 (負)→部分商 ”0” 100000000 (第1のデータ保持手段出力を左1ビットシフト) −010111111 −−−−−−−−−− 001000001 (正)→部分商 ”1” 次に、MSB側3ビットデータが、”011”の場合の
9ビットデータの最大値は、”011111111”、
最小値は、”011000000”となる。aが最大
値、bが最小値をとった場合、以下のような2回の減算
処理の結果、部分商は、”10”となる。
【0035】 011111111 −011000000 −−−−−−−−−− 000111111 (正)→部分商 ”1” 001111110 (減算結果を左1ビットシフト) −011000000 −−−−−−−−−− −001000010 (負)→部分商 ”0” また、aが最小値、bが最大値をとった場合、以下のよ
うな2回の減算処理の結果、部分商は、”01”とな
る。
【0036】 011000000 −011111111 −−−−−−−−−− −000111111 (負)→部分商 ”0” 110000000 (第1のデータ保持手段出力を左1ビットシフト) −011111111 −−−−−−−−−− 010000001 (正)→部分商 ”1” さらに、a、bの値に関わらず、a=bの場合、以下の
ような2回の減算処理の結果、部分商は、”10”とな
る。
【0037】 01******* −01******* −−−−−−−−−− 000000000 (0)→部分商 ”1” 000000000 (減算結果を左1ビットシフト) −011000000 −−−−−−−−−− −011000000 (負)→部分商 ”0” 以上の説明で明らかなように比較手段80における比較
結果が、3)a[ 8:6]=b[8:6]の場合に
は、部分商の組み合わせを”10”か”01”に限定す
ることができる。すなわち、第1の減算手段30におけ
る減算結果が正または0であれば、部分商は”10”と
なり、第1の減算手段30における減算結果が負であれ
ば、部分商は”01”となる。この結果と矛盾を起こさ
ないように部分剰余を生成することで、全体として矛盾
なく除算が実行可能となる。さらに、部分商が”10”
となる場合の部分剰余は、第1の減算手段30からの出
力をそのまま2ビット左シフトして出力したものであ
り、部分商が”01”となる場合の部分剰余は、第1の
データ保持手段10からの出力を1ビット左シフトして
第2の減算手段40に入力し、第2の減算手段40から
の出力を1ビット左シフトして出力したものである。こ
れら2つのデータは、第1の選択手段50を第1のデー
タ保持手段10からの出力を選択的に1ビット左シフト
して出力するように制御し、かつ、第2の選択手段90
を第1の減算手段30からの出力を選択的に2ビット左
シフトして出力するように制御しておけば、あとは、第
2の減算手段40の結果に応じて、第3の選択手段60
を制御することで、部分商と矛盾なく第3の選択手段か
ら出力することが可能となる。すなわち、比較手段80
における比較結果が、3)a[8:6]=b[8:6]
の場合には、第1の選択手段50を、第1のデータ保持
手段10からの出力を選択的に1ビット左シフトして第
2の減算手段40に出力するように制御し、第2の選択
手段90を第1の減算手段30における減算結果に応じ
て減算結果が正または0であれば、第1の減算手段30
からの出力を、負であれば第1のデータ保持手段10か
らの出力を選択的に2ビット左シフトして第3の選択手
段60に出力するように制御することで、矛盾なく除算
を実行することができる。上記動作の変更例として、比
較手段80の比較結果が3)a[8:6]=b[8:
6]の場合には、2ビットの部分商を第1の減算手段3
0の減算結果ではなく、第2の減算手段40の減算結果
に応じて決定しても良い。また、この場合、部分剰余デ
ータを出力する第3の選択手段60を、第2の減算手段
40の減算結果ではなく、第1の減算手段30の減算結
果に応じて制御しても良い。
【0038】以上のように、除算装置が動作することに
より、1サイクルごとに2ビットの部分商が生成された
後、第3の選択手段60からの出力が部分剰余データと
して第1のデータ保持手段10に入力し保持される。
【0039】このサイクルをN回繰り返すことにより、
2Nビットの商を求めることができる。ここで、この動
作を行う場合の遅延/速度を決定するパスであるクリテ
ィカルパスについて説明する。まず、部分剰余の生成経
路を調べると、部分商が”10”となる場合の部分剰余
は、第1の減算手段30→第2の選択手段90→第3の
選択手段60という経路で生成され、部分商が”01”
となる場合の部分剰余は、第1の選択手段50→第2の
減算手段40→第3の選択手段60という経路で生成さ
れる。ここでいう経路とは、第1第2のデータ保持手段
10、20を起点としてのデータそのものの流れであ
る。
【0040】同じ観点で、比較手段80における各比較
結果ごとの部分商と部分剰余の経路をまとめると以下の
ようになる。
【0041】1)a[8:6]>b[8:6]の場合、 部分商”10” 部分剰余の経路 第1の減算手段30→第2の選択手段90→第3の選択
手段60 部分商”11” 部分剰余の経路 第1の減算手段30→第1の選択手段50→第2の減算
手段40→第3の選択手段60 2)a[8:6]<b[8:6]の場合、 部分商”00” 部分剰余の経路 第2の減算手段40→第3の選択手段60 部分商”01” 部分剰余の経路 第1の選択手段50→第2の減算手段40→第3の選択
手段60 3)a[8:6]=b[8:6]の場合、 部分商”10” 部分剰余の経路 第1の減算手段30→第3の選択手段90→第3の選択
手段60 部分商”01” 部分剰余の経路 第1の選択手段50→第2の減算手段40→第3の選択
手段60 これは、部分剰余を生成する際のメインのデータの流れ
る経路であるので、全体の遅延を考える場合には、これ
に加えて制御の流れ/制御に要する遅延も考慮する必要
がある。各遅延要素を以下のように定義して、クリティ
カルパスをまとめる。
【0042】D0:(前記比較手段80における比較処
理) D1:(前記第1の減算手段30における減算処理) D2:(前記第1の選択手段50におけるデータの選
択) D3:(前記第1の選択手段50におけるデータの通
過) D4:(前記第2の減算手段40における減算処理) D5:(前記第3の選択手段60におけるデータの選
択) D6:(前記第3の選択手段60におけるデータの通
過) D7:(前記第2の選択手段90におけるデータの選
択) D8:(前記第2の選択手段90におけるデータの通
過) 以上の定義にしたがって、クリティカルパスを整理する
と、 1)a[8:6]>b[8:6]の場合、 クリティカルパス1 D0→D2→D3→D4→D5→
D6 クリティカルパス2 D1→D3→D4→D5→D6 2)a[8:6]<b[8:6]の場合、 クリティカルパス3 D0→D2→D3→D4→D5→
D6 3)a[8:6]=b[8:6]の場合、 クリティカルパス4 D0→D2→D3→D4→D5→
D6 クリティカルパス5 D1→D3→D4→D5→D6 ここで、D0→D2とD1のパスを比較すると、D0→
D2のパスの方が、D1のパスより十分小さい遅延とな
るので、もっとも遅延的にクリティカルなパスは、D1
→D3→D4→D5→D6となる。第1の実施例におけ
るクリティカルパスは、D1→D2→D3→D4→D5
→D6であったので、D2の分だけ高速化が図れたこと
になる。
【0043】以上の説明より明らかなように、本発明の
第2の実施例の除算装置によれば、被除数データと除数
データの上位3ビット同士を比較する比較手段80を設
け、その比較結果によって第1の選択手段50の出力を
制御する。それにより、除算の実行を保証しながら、ク
リティカルパスを削減して高速化を実現した除算装置を
構成可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における除算装置の構成
図である。
【図2】本発明の第2の実施例による除算装置の構成図
である。
【符号の説明】
10 第1のデータ保持手段 20 第2のデータ保持手段 30 第1の減算手段 40 第2の減算手段 50 第1の選択手段 90 第2の選択手段 60 第3の選択手段 70 部分商保持手段 80 比較手段

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 正規化された被除数データと除数データ
    を入力として除算を実行し、1サイクルごとに2ビット
    の部分商を生成する除算装置において、 前記被除数データと部分剰余データとを入力データとし
    て選択的にデータを保持する第1のデータ保持手段と、 前記除数データを入力としてデータを保持する第2のデ
    ータ保持手段と、 前記第1のデータ保持手段から出力されたデータから前
    記第2のデータ保持手段から出力されたデータを減算し
    て結果を出力する第1の減算手段と、 前記第1のデータ保持手段から出力されたデータの上位
    Nビットと前記第2のデータ保持手段から出力されたデ
    ータの上位Nビットを入力として比較結果を出力する比
    較手段と、 前記第1の減算手段から出力されたデータと前記第1の
    データ保持手段から出力されたデータを入力として前記
    比較手段の比較結果に応じて選択的に1ビット左シフト
    して出力する第1の選択手段と、 前記第1の選択手段から出力されたデータから前記第2
    のデータ保持手段から出力されたデータを減算して結果
    を出力する第2の減算手段と、 前記第1の減算手段から出力されたデータと前記第1の
    データ保持手段から出力されたデータを入力として前記
    第1の減算手段の減算結果に応じて選択的に2ビット左
    シフトして出力する第2の選択手段と、 前記第2の減算手段から出力されたデータを1ビット左
    シフトしたデータと前記第2の選択手段から出力された
    データをデータ入力として前記第1または第2の減算手
    段の減算結果に応じて選択的に部分剰余データとして出
    力する第3の選択手段とを備えたことを特徴とする除算
    装置。
  2. 【請求項2】 前記比較手段において、第1のデータ保
    持手段から出力されたデータの上位3ビットと第2のデ
    ータ保持手段から出力されたデータの上位3ビットを入
    力として比較結果を出力することを特徴とする請求項1
    記載の除算装置。
  3. 【請求項3】 前記第1の選択手段において、比較手段
    による比較の結果、第1のデータ保持手段から出力され
    たデータの上位3ビットデータの方が第2のデータ保持
    手段から出力されたデータの上位3ビットデータより大
    きい場合に、第1の減算手段から出力されたデータを選
    択的に出力し、それ以外の場合には、第1のデータ保持
    手段から出力されたデータを選択的に出力することを特
    徴とする請求項2記載の除算装置。
  4. 【請求項4】 比較手段による比較の結果、第1のデー
    タ保持手段から出力されたデータの上位3ビットデータ
    と第2のデータ保持手段から出力されたデータの上位3
    ビットデータが同じ場合に、前記第1の減算手段の減算
    結果に応じて、2ビットの部分商を決定することを特徴
    とする請求項3記載の除算装置。
  5. 【請求項5】 比較手段による比較の結果、第1のデー
    タ保持手段から出力されたデータの上位3ビットデータ
    と第2のデータ保持手段から出力されたデータの上位3
    ビットデータが同じ場合に、前記第2の減算手段の減算
    結果に応じて、2ビットの部分商を決定することを特徴
    とする請求項3記載の除算装置。
  6. 【請求項6】 正規化された被除数データと除数データ
    を入力として除算を実行し、1サイクルごとに2ビット
    の部分商を生成する除算装置において、 前記被除数データと部分剰余データとを入力データとし
    て選択的にデータを保持する第1のデータ保持手段と、 前記除数データを入力としてデータを保持する第2のデ
    ータ保持手段と、 前記第1のデータ保持手段から出力されたデータから前
    記第2のデータ保持手段から出力されたデータを減算し
    て結果を出力する第1の減算手段と、 前記第1の減算手段から出力されたデータと前記第1の
    データ保持手段から出力されたデータを入力として前記
    第1の減算手段の減算結果に応じて選択的に1ビット左
    シフトして出力する第1の選択手段と、 前記第1の選択手段から出力されたデータから前記第2
    のデータ保持手段から出力されたデータを減算して結果
    を出力する第2の減算手段と、 前記第2の減算手段から出力されたデータと前記第2の
    選択手段から出力されたデータをデータ入力として前記
    第2の減算手段の減算結果に応じて選択的に1ビット左
    シフトして部分剰余データとして出力する第2の選択手
    段とを備えたことを特徴とする除算装置。
JP08325524A 1995-12-08 1996-12-05 除算装置 Expired - Fee Related JP3122622B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08325524A JP3122622B2 (ja) 1995-12-08 1996-12-05 除算装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-320157 1995-12-08
JP32015795 1995-12-08
JP08325524A JP3122622B2 (ja) 1995-12-08 1996-12-05 除算装置

Publications (2)

Publication Number Publication Date
JPH09269892A JPH09269892A (ja) 1997-10-14
JP3122622B2 true JP3122622B2 (ja) 2001-01-09

Family

ID=26569976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08325524A Expired - Fee Related JP3122622B2 (ja) 1995-12-08 1996-12-05 除算装置

Country Status (1)

Country Link
JP (1) JP3122622B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3869327B1 (en) 2018-10-18 2023-07-26 Fujitsu Limited Calculation processing device and control method for calculation processing device

Also Published As

Publication number Publication date
JPH09269892A (ja) 1997-10-14

Similar Documents

Publication Publication Date Title
JP4955182B2 (ja) 整数の計算フィールド範囲の拡張
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
JP2835153B2 (ja) 高基数除算器
US6754689B2 (en) Method and apparatus for performing subtraction in redundant form arithmetic
US4758974A (en) Most significant digit location
US5177703A (en) Division circuit using higher radices
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
US5867413A (en) Fast method of floating-point multiplication and accumulation
JP3537378B2 (ja) 加算器および集積回路
JPH0744530A (ja) 演算装置
JPH1195982A (ja) 演算処理回路及び演算処理方法並びに演算処理システム
KR100218683B1 (ko) 정보 보호용 모듈러 승산 장치
JP3122622B2 (ja) 除算装置
US20020174157A1 (en) Method and apparatus for performing equality comparison in redundant form arithmetic
US20020161810A1 (en) Method and apparatus for multiplication and/or modular reduction processing
KR100481586B1 (ko) 모듈러 곱셈 장치
JP2000207387A (ja) 演算装置及び暗号処理装置
US5946223A (en) Subtraction/shift-type dividing device producing a 2-bit partial quotient in each cycle
JPS62197868A (ja) パイプライン構成の直線近似変換回路
JP3064405B2 (ja) 複素数の演算処理方式
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry
Nagendra et al. Unifying carry-sum and signed-digital number representations for low power
JP3413940B2 (ja) 演算回路
JP3517162B2 (ja) 除算・開平演算装置
JPH07141148A (ja) パイプライン並列乗算器

Legal Events

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

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees