JPH0315942A - 除算器 - Google Patents
除算器Info
- Publication number
- JPH0315942A JPH0315942A JP1149316A JP14931689A JPH0315942A JP H0315942 A JPH0315942 A JP H0315942A JP 1149316 A JP1149316 A JP 1149316A JP 14931689 A JP14931689 A JP 14931689A JP H0315942 A JPH0315942 A JP H0315942A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- divisor
- power
- output
- division
- 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
- 238000001514 detection method Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 2
- 244000208734 Pisonia aculeata Species 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は,情報処理装置の除算器に関し,特に除数が2
の巾乗である場合の除算を実行する除算器に関する。
の巾乗である場合の除算を実行する除算器に関する。
[従来の技術]
従来.固定小数点の除算を行なう方法として第4図のフ
ローに示すような方法が用いられている。
ローに示すような方法が用いられている。
この方法は,被除数から除数を引いて,その差が除数よ
り大ならば,その差より除数を引くという減算を繰り返
し.その結果が除数よりも小さくなった時点で処理を終
了し,結果として被除数から除数を引いた回数を商とし
て出力するという方法である。
り大ならば,その差より除数を引くという減算を繰り返
し.その結果が除数よりも小さくなった時点で処理を終
了し,結果として被除数から除数を引いた回数を商とし
て出力するという方法である。
一方.演算器が浮動小数点除算器を備えている場合は,
一度被除数,除数を正規化して浮動小数点除算器を利用
して商をもとめる等の手法が用いられている。
一度被除数,除数を正規化して浮動小数点除算器を利用
して商をもとめる等の手法が用いられている。
[発明が解決しようとする課題コ
しかしながら.上述した従来の方法によると.前者の場
合は,減算を複数回繰り返すから,その実行サイクルは
.被除数や除数の大小によって幅はあるものの数サイク
ルから数10サイクルといった実行サイクルが必要であ
る。
合は,減算を複数回繰り返すから,その実行サイクルは
.被除数や除数の大小によって幅はあるものの数サイク
ルから数10サイクルといった実行サイクルが必要であ
る。
一方.後者の手段においても.前処理(正規化)中処理
(引き戻し法や引き放し法等による).後処理というよ
うに数サイクルを必要とする。
(引き戻し法や引き放し法等による).後処理というよ
うに数サイクルを必要とする。
いずれにしても,従来の除算器の場合,一般的に多くの
実行サイクルを要する。このため除算を含む演算処理は
時間がかかるという問題点がある。
実行サイクルを要する。このため除算を含む演算処理は
時間がかかるという問題点がある。
本発明は,除数が2の巾乗の場合の除算の高速化を目的
とする。
とする。
[課題を解決するための手段]
本発明の除算器は.与えられた被除数と除数とから商及
び剰余を算出する除算回路と前記除数が2の巾乗である
ことを検出する2の巾乗検出回路と,前記被除数を前記
除数に対応するビット数右シフトするシフト回路と,前
記2の巾乗検出回路の出力に応じて前記除算回路の出力
と前記シフト回路の出力のどちらか一方を選択する選択
回路を有していることを特徴とする。
び剰余を算出する除算回路と前記除数が2の巾乗である
ことを検出する2の巾乗検出回路と,前記被除数を前記
除数に対応するビット数右シフトするシフト回路と,前
記2の巾乗検出回路の出力に応じて前記除算回路の出力
と前記シフト回路の出力のどちらか一方を選択する選択
回路を有していることを特徴とする。
〔実施例]
第1図は,本発明の一実施例を示したブロック図である
。レジスタ1は外部から入力された被除数を保持するレ
ジスタである。レジスタ2は外部から入力される除数を
保持するレジスタである。
。レジスタ1は外部から入力された被除数を保持するレ
ジスタである。レジスタ2は外部から入力される除数を
保持するレジスタである。
除算回路3はレジスタ1とレジスタ2とからそれぞれ出
力される被除数と除数とを受け,除算を行なう除算回路
である。この除算回路3は固定小数点,浮動小数点を問
わず処理が行なわれ,通常その処理に数マシンサイクル
を要する。
力される被除数と除数とを受け,除算を行なう除算回路
である。この除算回路3は固定小数点,浮動小数点を問
わず処理が行なわれ,通常その処理に数マシンサイクル
を要する。
シフト回路4は,レジスタ1に保持されている被除数を
もう一方の人力であるシフトカウント数だけ右シフトし
た値を出力する回路である。これは除数が2の巾乗であ
れば2進数で表わされた数値の除算は,右シフトするこ
とで行なえるということに基づいている。
もう一方の人力であるシフトカウント数だけ右シフトし
た値を出力する回路である。これは除数が2の巾乗であ
れば2進数で表わされた数値の除算は,右シフトするこ
とで行なえるということに基づいている。
シフトカウント生戊回路5はレジスタ2に保持されてい
る除数のビット数からシフトカウントを生成し出力する
回路である。
る除数のビット数からシフトカウントを生成し出力する
回路である。
2の巾乗検出回路6はレジスタ2に保持されている除数
が2の巾乗であるかどうかを判定しその結果を出力する
回路である。
が2の巾乗であるかどうかを判定しその結果を出力する
回路である。
セレクタ7は除算回路3からの人力とシフタ5からの人
力のどちらか一方を2の巾乗検出回路6の出力に基づき
出力する機能を持つ。
力のどちらか一方を2の巾乗検出回路6の出力に基づき
出力する機能を持つ。
レジスタ8はセレクタ7の出力を保持する。
ここで.動作の説明の前に,まずシフトカウント生成回
路5と2の巾乗検出回路6の説明を行なつ〇 第2図(a)はシフトカウント生成回路5の人力値と出
力値の関係を示している。ここでは,人力(除数)が,
2の巾乗かどうかにかかわらず,出力として入力のL
S B (least slgnlflcant bi
t)からの連続した“O″の個数を出力としている。
路5と2の巾乗検出回路6の説明を行なつ〇 第2図(a)はシフトカウント生成回路5の人力値と出
力値の関係を示している。ここでは,人力(除数)が,
2の巾乗かどうかにかかわらず,出力として入力のL
S B (least slgnlflcant bi
t)からの連続した“O″の個数を出力としている。
第2図(b)は2の巾乗検出回路6の入力値と出力値の
関係を示している。ここでは,入力(除数)が2の巾乗
か否かを判定しその結果を2の巾乗であれば“1“,2
の巾乗でなければ“O”として出力している。
関係を示している。ここでは,入力(除数)が2の巾乗
か否かを判定しその結果を2の巾乗であれば“1“,2
の巾乗でなければ“O”として出力している。
次に,第1図を再び参照してこの除算器の動作を説明す
る。
る。
外部から被除数及び除数が入力されると,レジスタ1及
び2はそれぞれ彼数算及び除数を保持する。レジスタ1
に保持された被除数は除算回路3及びシフト回路4に入
力される。また,レジスタ2に保持された除数は除算回
路3,シフトカウンタ生成回路5,及び2の巾乗検出回
路に人力される。
び2はそれぞれ彼数算及び除数を保持する。レジスタ1
に保持された被除数は除算回路3及びシフト回路4に入
力される。また,レジスタ2に保持された除数は除算回
路3,シフトカウンタ生成回路5,及び2の巾乗検出回
路に人力される。
除算回路3は被除数と除数が人力されると従来と同じ方
法で除算を開始し,商及び余りを算出する。この除算は
数サイクルから数サイクルを必要とする。除算の結果は
セレクタ7に入力される。
法で除算を開始し,商及び余りを算出する。この除算は
数サイクルから数サイクルを必要とする。除算の結果は
セレクタ7に入力される。
除算回路3の除算開始と同時にシフトカウント生成回路
5は除数からシフト数を生成しシフト回路4に出力する
。また,2の巾乗検出回路6は除数が2の巾乗か否かを
検出し,濱算回路3の出力と,シフト回路4の出力のど
ちらかを商とするかセレクタ7に指示を出す。
5は除数からシフト数を生成しシフト回路4に出力する
。また,2の巾乗検出回路6は除数が2の巾乗か否かを
検出し,濱算回路3の出力と,シフト回路4の出力のど
ちらかを商とするかセレクタ7に指示を出す。
シフト回路4はシフトカウント生成回路5から入力され
たシフト数だけ被除数の右シフトを行い,シフトされた
被除数をセレクタ7に出力する。この場合.演算サイク
ルは1サイクルですむ。
たシフト数だけ被除数の右シフトを行い,シフトされた
被除数をセレクタ7に出力する。この場合.演算サイク
ルは1サイクルですむ。
除数が2の巾染の場合は,2の巾乗検出回路からの信号
により,セレクタ7はシフト回路4から受けたシフトさ
れた被除数を商としてレジスタ8へ入力する。
により,セレクタ7はシフト回路4から受けたシフトさ
れた被除数を商としてレジスタ8へ入力する。
除数が2の巾乗でない場合は,除算回路3の出力を商と
してレジスタ8へ入力する。
してレジスタ8へ入力する。
一例として被除数が21,除数が4及び5の場合の入力
出力パターンを第3図に示す。
出力パターンを第3図に示す。
[発明の効果]
本発明によれば,除算器を除算回路と,除数が2の巾乗
であることを検出する2の巾乗検出回路と,被除数を右
シフト回路と,除算回路の出力と,シフト回路の出力と
のどちらか一方を選択回路で構成することにより除数が
2の巾乗の場合に,?7jL算サイクルを1サイクルに
短縮できる,即ち演算時間を短縮できる。
であることを検出する2の巾乗検出回路と,被除数を右
シフト回路と,除算回路の出力と,シフト回路の出力と
のどちらか一方を選択回路で構成することにより除数が
2の巾乗の場合に,?7jL算サイクルを1サイクルに
短縮できる,即ち演算時間を短縮できる。
2の巾乗検出回路の入出力関係を説明するための図,第
3図は第1図の構成の除算器を用いた場合の結果を説明
するための図,第4図は従来の除算方法の一例を示すフ
ローチャートである。
3図は第1図の構成の除算器を用いた場合の結果を説明
するための図,第4図は従来の除算方法の一例を示すフ
ローチャートである。
1,2.8・・・レジスタ.3・・・除算回路,4・・
・シフト回路,5・・・シフトカウント生成回路,6・
・・2の巾乗検出回路,7・・・セレクタである。
・シフト回路,5・・・シフトカウント生成回路,6・
・・2の巾乗検出回路,7・・・セレクタである。
第1図は本発明の一実施例の構成図を示すブロック図,
蒲2図はシフトカウント生成回路および第1図 第2図 (a) シフトカウント生成回路 (b) 2の巾乗検出回路 第3図 0内はIOJ表記 第4図
蒲2図はシフトカウント生成回路および第1図 第2図 (a) シフトカウント生成回路 (b) 2の巾乗検出回路 第3図 0内はIOJ表記 第4図
Claims (1)
- (1)2進除算命令を処理する除算器において、与えら
れた被除数と除数とから商及び剰余を算出する除算回路
と、前記除数が2の巾乗であることを検出する2の巾乗
検出回路と、前記被除数を前記除数に対応するビット数
右シフトするシフト回路と、前記除算回路の出力と前記
シフト回路の出力を受け、前記2の巾乗検出回路によっ
て前記除数が2の巾乗であることが検出されると前記シ
フト回路の出力を選択する選択回路とを有することを特
徴とする除算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1149316A JPH0315942A (ja) | 1989-06-14 | 1989-06-14 | 除算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1149316A JPH0315942A (ja) | 1989-06-14 | 1989-06-14 | 除算器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0315942A true JPH0315942A (ja) | 1991-01-24 |
Family
ID=15472456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1149316A Pending JPH0315942A (ja) | 1989-06-14 | 1989-06-14 | 除算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0315942A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150378681A1 (en) * | 2014-06-26 | 2015-12-31 | Arm Limited | Apparatus and method for efficient division performance |
-
1989
- 1989-06-14 JP JP1149316A patent/JPH0315942A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150378681A1 (en) * | 2014-06-26 | 2015-12-31 | Arm Limited | Apparatus and method for efficient division performance |
JP2016009492A (ja) * | 2014-06-26 | 2016-01-18 | エイアールエム リミテッド | 効率的な除算実行のための装置及び方法 |
GB2528367A (en) * | 2014-06-26 | 2016-01-20 | Advanced Risc Mach Ltd | An apparatus and method for efficient division performance |
CN105320491A (zh) * | 2014-06-26 | 2016-02-10 | Arm有限公司 | 实现高效除法性能的装置和方法 |
US9524143B2 (en) | 2014-06-26 | 2016-12-20 | Arm Limited | Apparatus and method for efficient division performance |
GB2528367B (en) * | 2014-06-26 | 2019-02-13 | Advanced Risc Mach Ltd | An apparatus and method for efficient division performance |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8370415B2 (en) | Overflow detection and clamping with parallel operand processing for fixed-point multipliers | |
JPH0667851A (ja) | オーバーフロー検出機能付き乗算装置 | |
EP0869432A1 (en) | Multiplication method and multiplication circuit | |
JPS62191926A (ja) | 演算装置 | |
US4692891A (en) | Coded decimal non-restoring divider | |
JPS608933A (ja) | 演算処理装置 | |
JPH0315942A (ja) | 除算器 | |
JPH07239774A (ja) | 除算方法および除算装置 | |
US4546447A (en) | Division apparatus | |
JPH0383127A (ja) | 10進除算器 | |
CA1173164A (en) | Fraction calculator | |
JP2664750B2 (ja) | 演算装置及び演算処理方法 | |
JP2591250B2 (ja) | データ処理装置 | |
US20050210089A1 (en) | Saturating shift mechanisms within data processing systems | |
JPH0797312B2 (ja) | 演算装置 | |
US4141077A (en) | Method for dividing two numbers and device for effecting same | |
JP3068640B2 (ja) | 計算装置 | |
JP2726479B2 (ja) | 除算装置 | |
JPH04160533A (ja) | マイクロ・プロセッサ | |
JPH01180627A (ja) | 浮動小数点演算制御装置 | |
KR100198783B1 (ko) | 직렬처리 나눗셈기의 구동 방법 | |
JPS60254241A (ja) | エラ−検出制御回路 | |
JPS60247735A (ja) | 10進乗算回路 | |
JPH03245226A (ja) | 浮動小数点乗算装置 | |
JPH01237831A (ja) | 除算装置 |