JPH08263271A - 引放し除算装置 - Google Patents
引放し除算装置Info
- Publication number
- JPH08263271A JPH08263271A JP7062849A JP6284995A JPH08263271A JP H08263271 A JPH08263271 A JP H08263271A JP 7062849 A JP7062849 A JP 7062849A JP 6284995 A JP6284995 A JP 6284995A JP H08263271 A JPH08263271 A JP H08263271A
- Authority
- JP
- Japan
- Prior art keywords
- divisor
- storage register
- dividend
- result
- quotient
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 description 12
- 230000000295 complement effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
Abstract
(57)【要約】
【構成】 被除数と加減算を行うべき除数の1倍、2
倍、3倍の値をそれぞれ格納する除数格納レジスタ2,
2倍除数格納レジスタ3,3倍除数格納レジスタ4と被
除数と除数の上位1桁のビットパターンに基づいて被除
数から何倍の除数で加減算を行うか選択する選択回路6
と、被除数から除数を減算して中間結果が負の場合に
は、部分商から‘−1’を行う商減算回路11を設けた
ことを特徴とする引放し除算装置。 【効果】 被除数と除数の最上位桁(0:4)ビットの
データとデータのセット方法によって1クロックタイム
で2ビットの部分商を算出できるため、除算演算の高速
化を図ることができる。
倍、3倍の値をそれぞれ格納する除数格納レジスタ2,
2倍除数格納レジスタ3,3倍除数格納レジスタ4と被
除数と除数の上位1桁のビットパターンに基づいて被除
数から何倍の除数で加減算を行うか選択する選択回路6
と、被除数から除数を減算して中間結果が負の場合に
は、部分商から‘−1’を行う商減算回路11を設けた
ことを特徴とする引放し除算装置。 【効果】 被除数と除数の最上位桁(0:4)ビットの
データとデータのセット方法によって1クロックタイム
で2ビットの部分商を算出できるため、除算演算の高速
化を図ることができる。
Description
【0001】
【産業上の利用分野】本発明は、引放し除算装置、特に
パイプライン方式の情報処理装置において、除算方法と
して引放し法を用いた引放し除算装置に関する。
パイプライン方式の情報処理装置において、除算方法と
して引放し法を用いた引放し除算装置に関する。
【0002】
【従来の技術】引放し法は、通常の除算方法として知ら
れており、引戻し法と対比される。即ち、例えば、情報
処理学会編、オーム社発行「情報処理ハンドブック」第
1版P.357に記載されているように、引放し法は、
部分剰余の符号が反転したとき、これを元に戻さずにそ
のまま桁移動して逆の演算を行い、商を立てていく除算
方法である。
れており、引戻し法と対比される。即ち、例えば、情報
処理学会編、オーム社発行「情報処理ハンドブック」第
1版P.357に記載されているように、引放し法は、
部分剰余の符号が反転したとき、これを元に戻さずにそ
のまま桁移動して逆の演算を行い、商を立てていく除算
方法である。
【0003】従来のこの種の引放し法を用いた除算装置
は、図2にその一例を示すように、被除数を格納する被
除数格納レジスタ21と、除数を格納する除数格納レジ
スタ22と、演算の中間結果の正、負によって除数につ
いて、2の桁数を生成する補数生成回路23と、被除数
と除数の加算又は減算を行う加減算回路24と、演算の
中間結果を格納する中間結果格納レジスタ25と、部分
商を格納する商格納レジスタ26と、商の中間結果を格
納する中間商格納レジスタ27とを有している。
は、図2にその一例を示すように、被除数を格納する被
除数格納レジスタ21と、除数を格納する除数格納レジ
スタ22と、演算の中間結果の正、負によって除数につ
いて、2の桁数を生成する補数生成回路23と、被除数
と除数の加算又は減算を行う加減算回路24と、演算の
中間結果を格納する中間結果格納レジスタ25と、部分
商を格納する商格納レジスタ26と、商の中間結果を格
納する中間商格納レジスタ27とを有している。
【0004】除算は、加減算回路24における減算又は
加算の繰返しにより実行され、また減算は、補数生成回
路23において生成される、除数について2の補数の加
算として行われる。即ち、1回目の除算(減算)結果が
正の場合には、部分商を‘1’として減算結果を1ビッ
ト左シフトして2回目の除算(減算)の被除数とする。
負の場合には、部分商を‘0’として減算結果を1ビッ
ト左シフトして2回目の除算(加算)の被除数とする。
2回目の減算結果が正の場合には、部分商を‘1’とし
て、負の場合には、部分商を‘0’とする、このように
有効ビットが尽きるまで同様の動作を繰返して商を算出
していく。
加算の繰返しにより実行され、また減算は、補数生成回
路23において生成される、除数について2の補数の加
算として行われる。即ち、1回目の除算(減算)結果が
正の場合には、部分商を‘1’として減算結果を1ビッ
ト左シフトして2回目の除算(減算)の被除数とする。
負の場合には、部分商を‘0’として減算結果を1ビッ
ト左シフトして2回目の除算(加算)の被除数とする。
2回目の減算結果が正の場合には、部分商を‘1’とし
て、負の場合には、部分商を‘0’とする、このように
有効ビットが尽きるまで同様の動作を繰返して商を算出
していく。
【0005】更に、詳しく本例の動作を説明する。先
ず、被除数と除数は、図示を省略した回路で事前正規化
される。即ち、被除数と除数のオール‘0’でない最上
位桁をあわせて被除数から除数を減算して結果が正の場
合には、そのまま、結果が負の場合には被除数を右一桁
シフトを行い、この事前正規化後の被除数が被除数格納
レジスタ21に、除数が除数格納レジスタ22に格納さ
れる。尚、商格納レジスタ26及び中間商格納レジスタ
27にはオール‘0’が初期設定されている。
ず、被除数と除数は、図示を省略した回路で事前正規化
される。即ち、被除数と除数のオール‘0’でない最上
位桁をあわせて被除数から除数を減算して結果が正の場
合には、そのまま、結果が負の場合には被除数を右一桁
シフトを行い、この事前正規化後の被除数が被除数格納
レジスタ21に、除数が除数格納レジスタ22に格納さ
れる。尚、商格納レジスタ26及び中間商格納レジスタ
27にはオール‘0’が初期設定されている。
【0006】1回目の除算では、被除数格納レジスタ2
1と、除数格納レジスタ22の各出力を加減算回路24
に入力して減算し、その結果が正の場合には、商格納レ
ジスタ26の最右端ビットに‘1’が格納され、商格納
レジスタ26の出力は中間商格納レジスタ27に入力す
る。また、減算の中間結果は、中間結果格納レジスタ2
5に格納され、中間結果格納レジスタ25の出力は、1
ビット左シフトを行い、中間商格納レジスタ27の最左
端ビットから最右端ビットに‘0’が設定されて被除数
格納レジスタ21に入力し、次の減算に使用される。
1と、除数格納レジスタ22の各出力を加減算回路24
に入力して減算し、その結果が正の場合には、商格納レ
ジスタ26の最右端ビットに‘1’が格納され、商格納
レジスタ26の出力は中間商格納レジスタ27に入力す
る。また、減算の中間結果は、中間結果格納レジスタ2
5に格納され、中間結果格納レジスタ25の出力は、1
ビット左シフトを行い、中間商格納レジスタ27の最左
端ビットから最右端ビットに‘0’が設定されて被除数
格納レジスタ21に入力し、次の減算に使用される。
【0007】一方、被除数格納レジスタ21の出力から
除数格納レジスタ22の出力の減算を行った結果が負の
場合には、商格納レジスタ26の最右端ビットに‘0’
が格納され、商格納レジスタ26の出力は中間商格納レ
ジスタ27に入力する。また、中間結果の最右端ビット
に中間商格納レジスタ27の最左端ビットから‘0’を
格納して、1ビット左シフトした形のデータを被除数格
納レジスタ21に入力して、次の加算の使用に供する。
このとき、補数生成回路23は、商格納レジスタ26の
最右端ビットが‘0’であるため、除数について2の補
数を生成して加減算回路24に出力する。
除数格納レジスタ22の出力の減算を行った結果が負の
場合には、商格納レジスタ26の最右端ビットに‘0’
が格納され、商格納レジスタ26の出力は中間商格納レ
ジスタ27に入力する。また、中間結果の最右端ビット
に中間商格納レジスタ27の最左端ビットから‘0’を
格納して、1ビット左シフトした形のデータを被除数格
納レジスタ21に入力して、次の加算の使用に供する。
このとき、補数生成回路23は、商格納レジスタ26の
最右端ビットが‘0’であるため、除数について2の補
数を生成して加減算回路24に出力する。
【0008】
【発明が解決しようとする課題】上述した従来の引放し
除算装置では、被除数と除数の加減算を行いその結果が
正か負かによって1ビットの部分商を算出し、中間結果
を1ビット左シフトする事で次回の被除数とするため、
被除数の最上位ビットが‘0’であっても、1ビットの
部分商を算出するのに1クロックタイム必要とするの
で、被除数の有効ビット数と同等のクロックタイム数を
必要として高速化を望むことができないという問題点が
ある。
除算装置では、被除数と除数の加減算を行いその結果が
正か負かによって1ビットの部分商を算出し、中間結果
を1ビット左シフトする事で次回の被除数とするため、
被除数の最上位ビットが‘0’であっても、1ビットの
部分商を算出するのに1クロックタイム必要とするの
で、被除数の有効ビット数と同等のクロックタイム数を
必要として高速化を望むことができないという問題点が
ある。
【0009】
【課題を解決するための手段】本発明の引放し除算装置
は、被除数と演算途中の結果のいずれかを格納する被除
数格納レジスタと、除数を格納する除数格納レジスタ
と、除数2倍の値を格納する2倍除数格納レジスタと、
除数の3倍の値を格納する3倍除数格納レジスタと、前
記被除数格納レジスタと除数格納レジスタの上位桁より
被除数から何倍の除数を減算するか決定する制御回路
と、該決定に基づき前記除数格納レジスタ,2倍除数格
納レジスタ,3倍除数格納レジスタのいずれかを選択す
る第1除数選択回路と、演算初期の被除数と演算途中の
被除数のいずれかを選択する被除数選択回路と、前記除
数選択回路の出力と演算結果が負になった時に加算され
る前記除数格納レジスタの出力のいずれかを選択する第
2除数選択回路と、被除数と除数の加減算を行う加減算
回路と、前記加減算の結果の正、負の判定を行い、判定
結果を前記被除数格納レジスタ及び第2除数選択回路に
おける選択信号として供給する判定レジスタと、演算結
果を格納し、前記被除数格納レジスタ及び被除数選択回
路に供給する演算結果格納レジスタと有することを特徴
とする。
は、被除数と演算途中の結果のいずれかを格納する被除
数格納レジスタと、除数を格納する除数格納レジスタ
と、除数2倍の値を格納する2倍除数格納レジスタと、
除数の3倍の値を格納する3倍除数格納レジスタと、前
記被除数格納レジスタと除数格納レジスタの上位桁より
被除数から何倍の除数を減算するか決定する制御回路
と、該決定に基づき前記除数格納レジスタ,2倍除数格
納レジスタ,3倍除数格納レジスタのいずれかを選択す
る第1除数選択回路と、演算初期の被除数と演算途中の
被除数のいずれかを選択する被除数選択回路と、前記除
数選択回路の出力と演算結果が負になった時に加算され
る前記除数格納レジスタの出力のいずれかを選択する第
2除数選択回路と、被除数と除数の加減算を行う加減算
回路と、前記加減算の結果の正、負の判定を行い、判定
結果を前記被除数格納レジスタ及び第2除数選択回路に
おける選択信号として供給する判定レジスタと、演算結
果を格納し、前記被除数格納レジスタ及び被除数選択回
路に供給する演算結果格納レジスタと有することを特徴
とする。
【0010】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0011】図1は、本発明の一実施例のブロック図で
あり、被除数データを格納する被除数格納レジスタ1,
除数の1倍のデータを格納する除数格納レジスタ2,除
数の2倍のデータを格納する2倍除数格納レジスタ3,
除数の3倍のデータを格納する3倍除数格納レジスタ
4,除数データの1倍、2倍、3倍を選択する制御信号
を生成する制御回路5,この制御信号に応答して、除数
の1倍、2倍、3倍の除数データを選択する選択する第
1除数選択回路6,被除数と除数の加算、減算を行う加
減算回路7,加減算結果を格納する演算結果格納レジス
タ8,商の一部を生成する商生成回路9,除算による商
を格納する商格納レジスタ10,減算結果が負の場合に
格納された商の減算を行う商減算回路11,減算結果の
正負情報の判定信号を格納する判定レジスタ12,被除
数選択回路13及び第2除数選択回路14から構成され
る。
あり、被除数データを格納する被除数格納レジスタ1,
除数の1倍のデータを格納する除数格納レジスタ2,除
数の2倍のデータを格納する2倍除数格納レジスタ3,
除数の3倍のデータを格納する3倍除数格納レジスタ
4,除数データの1倍、2倍、3倍を選択する制御信号
を生成する制御回路5,この制御信号に応答して、除数
の1倍、2倍、3倍の除数データを選択する選択する第
1除数選択回路6,被除数と除数の加算、減算を行う加
減算回路7,加減算結果を格納する演算結果格納レジス
タ8,商の一部を生成する商生成回路9,除算による商
を格納する商格納レジスタ10,減算結果が負の場合に
格納された商の減算を行う商減算回路11,減算結果の
正負情報の判定信号を格納する判定レジスタ12,被除
数選択回路13及び第2除数選択回路14から構成され
る。
【0012】被除数選択回路13は、判定レジスタ12
の出力により、被除数格納レジスタ1と演算結果格納レ
ジスタ8の出力のいずれかを選択し第2除数選択回路1
4は、判定レジスタ12の出力により、除数格納レジス
タ2と第1除数選択回路6の出力のいずれかを選択し、
第1除数選択回路6は、制御回路5の出力により、除数
格納レジスタ2,2倍除数格納レジスタ3,3倍除数格
納レジスタ,オール‘0’のいずれかの出力を選択す
る。
の出力により、被除数格納レジスタ1と演算結果格納レ
ジスタ8の出力のいずれかを選択し第2除数選択回路1
4は、判定レジスタ12の出力により、除数格納レジス
タ2と第1除数選択回路6の出力のいずれかを選択し、
第1除数選択回路6は、制御回路5の出力により、除数
格納レジスタ2,2倍除数格納レジスタ3,3倍除数格
納レジスタ,オール‘0’のいずれかの出力を選択す
る。
【0013】演算実行開始で被除数が被除数格納レジス
タ1、除数が除数格納レジスタ2にそれぞれ格納され
る。除数可能レジスタ2に格納された除数は、加減算回
路7に送出されて2倍及び3倍され、これらのデータは
それぞれ2倍除数格納レジスタ3,3倍除数格納レジス
タ4に格納される。
タ1、除数が除数格納レジスタ2にそれぞれ格納され
る。除数可能レジスタ2に格納された除数は、加減算回
路7に送出されて2倍及び3倍され、これらのデータは
それぞれ2倍除数格納レジスタ3,3倍除数格納レジス
タ4に格納される。
【0014】この時、除数格納レジスタ2の最上位から
(0:2)ビットは‘00’にセットしておき、データ
は、最上位を第0ビットとして第2ビットからセットし
て事前正規化を行う。なお、(0:2)とは、第0ビッ
ト(最上位ビット)からの2ビットを意味するものとす
る。被除数格納レジスタ1の最上位第0ビットを、デー
タセット時は、‘0’にセットしておき第1ビットから
データをセットする。上記のデータセット終了後に、被
除数格納レジスタ1,除数格納レジスタ2のビット
(0:4)をデータパス10、11により、制御回路5
に送出する。
(0:2)ビットは‘00’にセットしておき、データ
は、最上位を第0ビットとして第2ビットからセットし
て事前正規化を行う。なお、(0:2)とは、第0ビッ
ト(最上位ビット)からの2ビットを意味するものとす
る。被除数格納レジスタ1の最上位第0ビットを、デー
タセット時は、‘0’にセットしておき第1ビットから
データをセットする。上記のデータセット終了後に、被
除数格納レジスタ1,除数格納レジスタ2のビット
(0:4)をデータパス10、11により、制御回路5
に送出する。
【0015】除数格納レジスタ2の(0:2)=‘0
0’で(2:2)=‘11’の時、1回目の演算は、被
除数格納レジスタ1の(0:4)が‘011X’の場
合、第1除数選択回路6に2倍除数格納レジスタ2のデ
ータを入力して加減算回路7に送出し、被除数格納レジ
スタ1のデータから減算して結果を演算結果格納レジス
タ8に送出し、2ビット左シフト後に被除数格納レジス
タ1に格納する。この時、商格納レジスタ9には、被除
数格納レジスタ1及び除数格納レジスタ2から送出され
た値により、以下のように部分商を生成する。
0’で(2:2)=‘11’の時、1回目の演算は、被
除数格納レジスタ1の(0:4)が‘011X’の場
合、第1除数選択回路6に2倍除数格納レジスタ2のデ
ータを入力して加減算回路7に送出し、被除数格納レジ
スタ1のデータから減算して結果を演算結果格納レジス
タ8に送出し、2ビット左シフト後に被除数格納レジス
タ1に格納する。この時、商格納レジスタ9には、被除
数格納レジスタ1及び除数格納レジスタ2から送出され
た値により、以下のように部分商を生成する。
【0016】除数格納レジスタ2の最上位桁が‘001
1’の時、被除数格納レジスタ1の最上位桁が‘11X
X’の場合は3倍除数格納レジスタ4を減算して部分商
には、‘11’を格納する。
1’の時、被除数格納レジスタ1の最上位桁が‘11X
X’の場合は3倍除数格納レジスタ4を減算して部分商
には、‘11’を格納する。
【0017】被除数格納レジスタ1の最上位桁が‘10
XX’の場合、3倍除数格納レジスタ4を減算して部分
商には、‘11’を格納する。
XX’の場合、3倍除数格納レジスタ4を減算して部分
商には、‘11’を格納する。
【0018】被除数格納レジスタ1の最上位桁が‘01
1X’の場合、2倍除数格納レジスタ3を減算して部分
商には、‘10’を格納する。
1X’の場合、2倍除数格納レジスタ3を減算して部分
商には、‘10’を格納する。
【0019】被除数格納レジスタ1の最上位桁が‘01
0X’の場合、除数格納レジスタ2を減算して部分商に
は、‘1’を格納する。
0X’の場合、除数格納レジスタ2を減算して部分商に
は、‘1’を格納する。
【0020】被除数格納レジスタ1の最上位桁が‘00
1X’の場合、‘00000000#’を減算して部分
商には、‘0’を格納する。
1X’の場合、‘00000000#’を減算して部分
商には、‘0’を格納する。
【0021】被除数格納レジスタ1の最上位桁が‘00
0X’の場合、‘00000000#’を減算して部分
商には、‘00’を格納する。
0X’の場合、‘00000000#’を減算して部分
商には、‘00’を格納する。
【0022】除数格納レジスタ2の最上位桁が‘001
0’の時、被除数格納レジスタ1の最上位桁が‘1XX
X’の場合、3倍除数格納レジスタ4を減算して部分商
には、‘11’を格納する。
0’の時、被除数格納レジスタ1の最上位桁が‘1XX
X’の場合、3倍除数格納レジスタ4を減算して部分商
には、‘11’を格納する。
【0023】被除数格納レジスタ1の最上位桁が、‘0
11X’の場合、3倍除数格納レジスタ4を減算して部
分商には、‘11’を格納する。
11X’の場合、3倍除数格納レジスタ4を減算して部
分商には、‘11’を格納する。
【0024】被除数格納レジスタ1の最上位桁が‘01
0X’の場合、2倍除数格納レジスタ3を減算して部分
商には、‘10’を格納する。
0X’の場合、2倍除数格納レジスタ3を減算して部分
商には、‘10’を格納する。
【0025】被除数格納レジスタ1の最上位桁が‘00
1X’の場合、除数格納レジスタ2を減算して部分商に
は、‘1’を格納する。
1X’の場合、除数格納レジスタ2を減算して部分商に
は、‘1’を格納する。
【0026】被除数格納レジスタ1の最上位桁が‘00
0X’の場合、‘00000000#’を減算して部分
商には、‘00’を格納する。
0X’の場合、‘00000000#’を減算して部分
商には、‘00’を格納する。
【0027】2回目の演算は、被除数格納レジスタ1の
(0:4)が‘11XX,10XX’の場合は、第1除
数選択回路6に3倍除数格納レジスタ4のデータを入力
して加減算回路7に送出し、被除数格納レジスタ1のデ
ータから減算して結果を演算結果格納レジスタ8に送出
して2ビット左シフト後に被除数格納レジスタ1に格納
する。
(0:4)が‘11XX,10XX’の場合は、第1除
数選択回路6に3倍除数格納レジスタ4のデータを入力
して加減算回路7に送出し、被除数格納レジスタ1のデ
ータから減算して結果を演算結果格納レジスタ8に送出
して2ビット左シフト後に被除数格納レジスタ1に格納
する。
【0028】被除数格納レジスタ1の(0:4)が‘0
10X’の場合、除数格納レジスタ2のデータを第1除
数選択回路6に送出してデータを加減算回路7で減算
後、そのデータを演算結果格納レジスタ8に格納して、
1ビット左シフト後に被除数格納レジスタ1に格納す
る。
10X’の場合、除数格納レジスタ2のデータを第1除
数選択回路6に送出してデータを加減算回路7で減算
後、そのデータを演算結果格納レジスタ8に格納して、
1ビット左シフト後に被除数格納レジスタ1に格納す
る。
【0029】被除数格納レジスタ1の(0:4)が‘0
01X’場合は、第1除数選択回路6はオール‘0’デ
ータを選択して加減算回路7で減算後、演算結果格納レ
ジスタ8に格納された結果を1ビット左シフトして被除
数格納レジスタ1に格納する。
01X’場合は、第1除数選択回路6はオール‘0’デ
ータを選択して加減算回路7で減算後、演算結果格納レ
ジスタ8に格納された結果を1ビット左シフトして被除
数格納レジスタ1に格納する。
【0030】被除数格納レジスタ1の(0:4)が、
‘000X’の場合、上記オール‘0’のデータを加減
算回路7で減算後、演算結果格納レジスタ8に格納され
た結果を2ビット左シフトして被除数格納レジスタ1に
格納する。
‘000X’の場合、上記オール‘0’のデータを加減
算回路7で減算後、演算結果格納レジスタ8に格納され
た結果を2ビット左シフトして被除数格納レジスタ1に
格納する。
【0031】上記演算途中で結果が負となった場合に
は、その判定結果を判定レジスタに格納後、演算結果格
納レジスタ8の内容を加減算回路7に入力して除数格納
レジスタ2の値を加算し、被除数格納レジスタ1に格納
する。
は、その判定結果を判定レジスタに格納後、演算結果格
納レジスタ8の内容を加減算回路7に入力して除数格納
レジスタ2の値を加算し、被除数格納レジスタ1に格納
する。
【0032】商については、商格納レジスタ9に格納さ
れる前に商減算回路11によって格納されるべき商の値
から‘1’を引いて商格納レジスタ10に格納する。
れる前に商減算回路11によって格納されるべき商の値
から‘1’を引いて商格納レジスタ10に格納する。
【0033】除数格納レジスタ2の(0:2)=‘0
0’で(2:2)=‘10’の時、被除数格納レジスタ
1の(0:4)が‘1XXX’の場合、3倍除数格納レ
ジスタ4を減算して結果を2ビット左シフトして被除数
格納レジスタ1に格納する。
0’で(2:2)=‘10’の時、被除数格納レジスタ
1の(0:4)が‘1XXX’の場合、3倍除数格納レ
ジスタ4を減算して結果を2ビット左シフトして被除数
格納レジスタ1に格納する。
【0034】被除数格納レジスタ1の(0:4)が‘0
10X’の場合、2倍除数格納レジスタ3を減算して結
果を2ビット左シフトして被除数格納レジスタ1に格納
する。
10X’の場合、2倍除数格納レジスタ3を減算して結
果を2ビット左シフトして被除数格納レジスタ1に格納
する。
【0035】被除数格納レジスタ1の(0:4)が‘0
01X’の場合、除数格納レジスタ2を減算して結果を
2ビット左シフトして被除数格納レジスタ1に格納す
る。
01X’の場合、除数格納レジスタ2を減算して結果を
2ビット左シフトして被除数格納レジスタ1に格納す
る。
【0036】被除数格納レジスタの(0:4)が‘00
0X’の場合、オール‘0’を減算して結果を2ビット
左シフトして被除数格納レジスタ1に格納する。
0X’の場合、オール‘0’を減算して結果を2ビット
左シフトして被除数格納レジスタ1に格納する。
【0037】上記動作において2ビット左シフトした被
除数格納レジスタ1の空きとなる右端2ビットには、
‘00’を格納する。
除数格納レジスタ1の空きとなる右端2ビットには、
‘00’を格納する。
【0038】上記演算結果が負の場合には、除数格納レ
ジスタ2の(0:2)=‘00’で(2:2)=‘1
1’の場合と同様の動作を行う。
ジスタ2の(0:2)=‘00’で(2:2)=‘1
1’の場合と同様の動作を行う。
【0039】上記動作は被除数格納レジスタ1の有効ビ
ットが尽きるまで行う。
ットが尽きるまで行う。
【0040】
【発明の効果】以上説明したように、本発明の引放し除
算装置によると、被除数と除数の事前正規化を行う際
に、被除数と除数の最上位桁である(0:4)ビットの
データとデータのセット方法によって、被除数のデータ
の内容によっては、1クロックタイムで2ビットの部分
商を算出できるため、従来の引放し法による除算装置と
比較して2倍の高速化を行うことができるという効果が
ある。
算装置によると、被除数と除数の事前正規化を行う際
に、被除数と除数の最上位桁である(0:4)ビットの
データとデータのセット方法によって、被除数のデータ
の内容によっては、1クロックタイムで2ビットの部分
商を算出できるため、従来の引放し法による除算装置と
比較して2倍の高速化を行うことができるという効果が
ある。
【図1】本発明の一実施例のブロック図である。
【図2】従来例のブロック図である。
1,21 被除数格納レジスタ 2,22 除数格納レジスタ 3 2倍除数格納レジスタ 4 3倍除数格納レジスタ 5 制御回路 6 第1除数選択回路 7,24 加減算回路 8 演算結果格納レジスタ 9 商生成回路 10,26 商格納レジスタ 11 商減算回路 12 判定レジスタ 13 被除数選択回路 14 第2除数選択回路 23 補数生成回路 25 中間結果格納レジスタ。
Claims (1)
- 【請求項1】 被除数と演算途中の結果のいずれかを格
納する被除数格納レジスタと、除数を格納する除数格納
レジスタと、除数の2倍の値を格納する2倍除数格納レ
ジスタと、除数の3倍の値を格納する3倍除数格納レジ
スタと、 前記被除数格納レジスタと除数格納レジスタの上位桁よ
り被除数から何倍の除数を減算するか決定する制御回路
と、 該決定に基づき前記除数格納レジスタ,2倍除数格納レ
ジスタ,3倍除数格納レジスタのいずれかを選択する第
1除数選択回路と、 演算初期の被除数と演算途中の被除数のいずれか被除数
を選択する被除数選択回路と、 前記除数選択回路の出力と演算結果が負になった時に加
算される前記除数格納レジスタの出力のいずれかを選択
する第2除数選択回路と、 被除数と除数の加減算を行う加減算回路と、前記加減算
の結果の正、負の判定を行い、判定結果を前記被除数格
納レジスタ及び第2除数選択回路における選択信号とし
て供給する判定レジスタと、演算結果を格納し、前記被
除数格納レジスタ及び被除数選択回路に供給する演算結
果格納レジスタと有することを特徴とする引放し除算装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7062849A JPH08263271A (ja) | 1995-03-22 | 1995-03-22 | 引放し除算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7062849A JPH08263271A (ja) | 1995-03-22 | 1995-03-22 | 引放し除算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08263271A true JPH08263271A (ja) | 1996-10-11 |
Family
ID=13212177
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7062849A Pending JPH08263271A (ja) | 1995-03-22 | 1995-03-22 | 引放し除算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08263271A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102314331A (zh) * | 2011-08-02 | 2012-01-11 | 深圳市国微电子股份有限公司 | 除法器及其实现方法 |
| CN116820388A (zh) * | 2023-08-24 | 2023-09-29 | 深圳比特微电子科技有限公司 | 除法器、处理器和计算装置 |
-
1995
- 1995-03-22 JP JP7062849A patent/JPH08263271A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102314331A (zh) * | 2011-08-02 | 2012-01-11 | 深圳市国微电子股份有限公司 | 除法器及其实现方法 |
| CN116820388A (zh) * | 2023-08-24 | 2023-09-29 | 深圳比特微电子科技有限公司 | 除法器、处理器和计算装置 |
| CN116820388B (zh) * | 2023-08-24 | 2023-11-14 | 深圳比特微电子科技有限公司 | 除法器、处理器和计算装置 |
| US12277405B1 (en) | 2023-08-24 | 2025-04-15 | Shenzhen Microbt Electronics Technology Co., Ltd. | Divider, processor, and calculation apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5764554A (en) | Method for the implementation of modular reduction according to the Montgomery method | |
| US6233597B1 (en) | Computing apparatus for double-precision multiplication | |
| US6925480B2 (en) | Microarchitecture of an arithmetic unit | |
| US5798955A (en) | High-speed division and square root calculation unit | |
| JP2835153B2 (ja) | 高基数除算器 | |
| CN101371221B (zh) | 预饱和固定点乘法器 | |
| US4758974A (en) | Most significant digit location | |
| JPH05250146A (ja) | 整数累乗処理を行なうための回路及び方法 | |
| JP2511527B2 (ja) | 浮動小数点演算器 | |
| JPH08263271A (ja) | 引放し除算装置 | |
| KR100218683B1 (ko) | 정보 보호용 모듈러 승산 장치 | |
| JP2003216419A (ja) | 計算装置及び計算方法 | |
| JP3122622B2 (ja) | 除算装置 | |
| JP2752698B2 (ja) | 浮動小数点加減算回路 | |
| JP2552086B2 (ja) | 浮動小数点演算装置 | |
| JP2995721B2 (ja) | 除算装置および除算方法 | |
| Swann et al. | Parallelization of the Shift and Add Reducer | |
| JPS626258B2 (ja) | ||
| JPS60160438A (ja) | 除算装置 | |
| JP2575856B2 (ja) | 演算回路 | |
| JP2006338215A (ja) | ベクトル積和演算回路 | |
| JP3528334B2 (ja) | データセレクト回路 | |
| JP3068640B2 (ja) | 計算装置 | |
| JP2001243051A (ja) | 除算器 | |
| JPH0812594B2 (ja) | 浮動小数点加減算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970506 |