JPH0479015B2 - - Google Patents

Info

Publication number
JPH0479015B2
JPH0479015B2 JP58208724A JP20872483A JPH0479015B2 JP H0479015 B2 JPH0479015 B2 JP H0479015B2 JP 58208724 A JP58208724 A JP 58208724A JP 20872483 A JP20872483 A JP 20872483A JP H0479015 B2 JPH0479015 B2 JP H0479015B2
Authority
JP
Japan
Prior art keywords
register
result
subtraction
contents
digit
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 - Lifetime
Application number
JP58208724A
Other languages
English (en)
Other versions
JPS60101640A (ja
Inventor
Akira Yamaoka
Kenichi Wada
Kazunori Kuryama
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58208724A priority Critical patent/JPS60101640A/ja
Priority to US06/668,842 priority patent/US4692891A/en
Priority to DE19843440680 priority patent/DE3440680A1/de
Publication of JPS60101640A publication Critical patent/JPS60101640A/ja
Publication of JPH0479015B2 publication Critical patent/JPH0479015B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/4915Multiplying; Dividing
    • G06F7/4917Dividing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、10進除算装置に関し、特に演算途中
でレジスタの内容の加算やレジスタの内容の1桁
シフトを省略して、演算時間を短縮できる10進除
算装置に関するものである。
〔従来の技術〕
10進除算命令は、演算命令の中でも特に多くの
演算サイクルを要する命令であるため、演算速度
の高速化は難かしい。
第1図は、従来の10進除算装置のブロツク図で
ある。
第1図に示す10進除算方式は、2つのレジスタ
A,Cと、加減算器1と、シフト2と、減算回数
カウント部3と、キヤリー検出部4により構成さ
れている。被除数Xを除数Yで除算する場合、次
のように処理される。
被除数XをレジスタA、除数YをレジスタCに
それぞれ格納し、加減算器1で被除数Xから除数
Yを減算して、その結果1Aをセレクタ5を介し
てレジスタAに戻す。上記減算結果が正のときに
は、桁上げ信号がキヤリー検出部4により検出さ
れ、ゲート10を開いて減算回数カウント部3の
値を“1”にする。減算結果が負になるまで、レ
ジスタAの内容からレジスタCの内容を減算し、
その結果1AをレジスタAに戻すとともに、キヤ
リーが生じるたびにゲート10を開く。加算器7
は減算回数カウント部3の出力値に“1”を加
え、ゲート10が開くたびに、加算結果を減算回
路カウント部3に与える。
上記減算結果が負になつたとき、減算回数カウ
ント部3の値を結果デイジツトに出力し、商の最
上位桁の値とし、減算回数カウント部3をクリア
する。同時に、レジスタAの内容とレジスタCの
内容を加減算器1で加算し、正の最後の減算結果
に戻した後、セレクタ5を介してレジスタAに格
納する。次に、このレジスタAの内容がシフタ2
により1桁分、つまり10進1桁が4ビツトで表わ
されるときには左に4ビツトだけシフトし、この
結果2Aをセレクタ5を介してレジスタAに戻す。
次に、このレジスタAの内容を新しい被除数と
してレジスタCの除数で減算し、減算結果1Aを
セレクタ5を介してレジスタAに戻すとともに、
キヤリー検出部4でキヤリーを検出する毎に減算
回数カウント部3の値を“1”ずつ増加させる。
上記減算結果が負になつたとき、減算回数カウ
ント部3の値を商の最上位から2番目の桁の値と
する。
上記処理を繰り返すことにより、商の各桁の値
を決めていく。
ところが、このような方式においては、次のよ
うな問題点により除算の高速化が図れない。
() 減算ループと、桁ごとのシフトのためのル
ープの2重ループで構成され、これらのループ
処理を時系列的に行う必要があること。
() キヤリーが生じるたびに減算回数カウント
部3での値を‘1'増加して、結果デイジツトと
して出力する処理が、上記ループ処理とは別個
に必要であること。
() 1桁の部分商を得るためには、必ずレジス
タAの内容にレジスタCの内容を加算する処理
が必要であること。
そこで、従来は、上記()のみを改善するた
めの10進除算方式が提案された(例えば、特公昭
56−6587号公報)。
第2図は、上記改善された10進除算方式のブロ
ツク図である。
第2図では、レジスタBを付加して、加減算器
1で減産した結果を、レジスタAとBに交互に格
納し、キヤリーが生じなくなつたとき、正の結果
が格納されている一方のレジスタの内容をシフタ
2により1桁分シフトしてレジスタAまたはBに
戻し、再び減算を繰り返す方法を用いている。
具体例を用いて説明するため、1210÷6=201
余り4を演算する。
(a) 被除数1210、除数6を左詰めした状態
(01210000、06000000)で、レジスタAおよび
Bにそれぞれ格納する。
(b) レジスタAの内容からレジスタCの内容を加
減算器1で減算し、すなわちレジスタAの内容
とレジスタCの内容の補数をとつたものとを加
算する(01210000+94000000)。その結果は
(95210000)、レジスタBに格納される。上記減
算においては、キヤリーは生じない。
(c) キヤリーがないため、減算前の値を保持して
いるレジスタAの内容を1桁シフトし、シフト
結果(12100000)をレジスタAに格納する。
(d) レジスタAの内容からレジスタCの内容を減
算する(12100000+94000000)。その結果は、
(06100000)、レジスタBに格納される。このと
きキヤリーが生じるので、減算回数カウント部
3の値が‘1'となる。
(e) レジスタBの内容からレジスタCの内容を加
減算器1で減算する(06100000+94000000)。
その結果(00100000)を、レジスタAに格納す
る。このとき、キヤリーが生じるので、減算回
数カウント部3の値は2となる。
(f) レジスタAの内容からレジスタCの内容を減
算する(00100000+94000000)。その結果
(94100000)をレジスタBに格納する。このと
き、キヤリーは生じないので、減算回数カウン
ト部3の内容(2)を、商の最上位の桁の値として
出力し、減算回数カウント部3をクリアする。
(g) キヤリーがないので、減算前の値を保持して
いるレジスタAの内容を左に1桁(10進1桁が
4ビツトで表わされるので、レジスタAは左に
4ビツトシフトする)シフトし、シフトの結果
(01000000)をレジスタAに格納する。
(h) レジスタAの内容からレジスタCの内容を減
算する(01000000+94000000)。その結果
(95000000)を、レジスタBに格納する。この
ときキヤリーは生じないので、減算回数カウン
ト部3の内容(0)を商の次の位の桁の値とし
て出力し、減算回数カウント部3をクリアす
る。
(i) キヤリーがないので、減算前の値を保持して
いるレジスタAの内容を左に桁分(4ビツト)
シフトし、シフト結果(10000000)をレジスタ
Aに格納する。
(j) レジスタAの内容からレジスタCの内容を減
算する(10000000+94000000)。その結果
(04000000)をレジスタBに格納する。このと
き、キヤリーが生じるので、減算回数カウント
部3の値は“1”となる。
(k) レジスタBの内容からレジスタCの内容を減
算する(04000000+94000000)。その結果
(98000000)をレジスタAに格納する。このと
き、キヤリーが生じないので、減算回数カウン
ト部3の内容(1)を商の最下位の桁の値として出
力し、減算回数カウント部3をクリアする。
以上のように動作させることにより、手順(f)、
(h)および(k)において減算回数カウント部3からそ
れぞれ出力される値(2)(0)(1)、つまり201が商
となる。また、レジスタBの内容(04000000)が
剰余4となる。
〔発明が解決しようとする課題〕
このように、第2図においては、レジスタAま
たはレジスタBのいずれか一方の内容が負になつ
ても、他方の内容を使用することができるので、
負の減算結果に除数を加算する処理が不要とな
り、演算時間が短縮される。また、剰余は、一方
のレジスタ(上記の例では、レジスタB)の中上
に存在するので、これを読み出すのみでよい。
しかし、さらに10進除算命令を高速化しようと
しても、前記の問題点()と()が障害とな
つてこれ以上は高速化できない。
本発明の目的は、このような従来の課題を解決
し、減算ループと1桁シフトのループを時系列的
に処理することなく、かつ結果に符号を付加した
り、商と剰余を合成する後処理の時間をなくし
て、演算時間をさらに短縮できる10進除算装置を
提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明の10進除算装
置は、(イ)被除数から除数を1回以上減算する減算
器と、減算回数をカウントする減算回数カウント
回路と、次桁の演算のための桁シフトを行うシフ
タとを具備する10進除算装置において、桁シフト
の結果を格納するレジスタAと、除数を格納する
レジスタCと、初期値を被除数とし、減算器から
の減算結果を格納するレジスタBと、レジスタA
またはレジスタBの内容を選択して演算器および
シフタに入力するセレクタとを有し、セレクタで
選択した結果から該レジスタCの内容を減算器で
減算する動作に並行して選択結果の桁シフトを該
シフタで実行することを特徴としている。
また(ロ)レジスタAは、上記シフタによりシフト
された減算結果を受けて、これを最下位桁に相当
する部分を除いた部分に格納するとともに、減算
回数カウント回路の出力を受けて、これを最下位
桁に相当する部分に格納し、セレクタは、レジス
タAの第1および第2番目の部分に格納されたデ
ータ信号を選択して、被減数として加減算器に出
力し、また上記レジスタCには、商の桁数に相当
する分だけ複数個のゼロを格納することにより、
レジスタAの商の桁数に相当する部分に格納され
ているデータ信号は加減算器の出力信号として変
更されない形で保持されることも特徴としてい
る。
〔作用〕
本発明の10進除算器では、第1のレジスタBに
被除数および減算結果を格納し、第3のレジスタ
Cに10進の除数を格納する。加減算器1は、レジ
スタBの内容(被除数)からレジスタCの内容
(除数)をその残りが負数になるまで減算し、減
算の度毎にその減算結果をレジスタBに格納す
る。同時に、減算回数カウント部3が、減算結果
が正である減算回数を計数する。シフタ2は、被
除数または減算結果が格納されるレジスタBの内
容を1桁分シフトして、レジスタA′に格納し、
同時にカウンタ部3の内容をレジスタA′の最下
部に格納する。セレクタ6は、最初は加減算器1
の方にレジスタBからの出力を選択し、被除数と
除数の差が負、つまりキヤリーが0の場合には、
加減算器1の方にレジスタA′からの出力を選択
する。また、被除数と除数の差が正または0、つ
まりキヤリーが1の場合には、加減算器1の方に
レジスタBからの出力を選択する。
これにより、被除数から除数を減算する処理
と、次桁の演算のための桁シフト処理を並列に実
行でき、また減算し過ぎたレジスタBの内容にレ
ジスタCの内容(除数)を加算する処理を省略で
き、また得られた結果に符号の付加する処理と、
商と剰余を合成する処理も省略できる。その結
果、演算ループを高速化することが可能である。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説
明する。
第3図は、本発明の一実施例を示す10進除算方
式のブロツク図である。
第3図においては、被除算および減算結果を格
納するレジスタB、除数を格納するレジスタC、
加減算器1、シフト2、減算回路カウント部3、
加減算器1からの桁上げ信号を検出するキヤリー
検出部4、シフタ2の結果と減算回数カウント部
3の結果とを格納するレジスタA′、およびレジ
スタA′とレジスタBからの出力を選択するセレ
クタ6とを具備している。
第3図の動作概要を説明する。
なお、第3図では、第1図および第2図の場合
と同じように、10進1桁が4ビツトで構成される
10進数を処理するものとし、シフタ2の10進1桁
分シフト処理は、4ビツトだけ左に桁送りするも
のとする。
(a) 先ず、被除数が格納されているレジスタ(通
常の場合にはレジスタB。ただし、後述する処
理(c)の直後の場合にはレジスタA′)の内容か
ら除数が格納されているレジスタCの内容を、
加減算器1により減算し、減算の度ごとにその
減算結果をレジスタBに格納する。これと同時
に、減算結果が正である減算回数をカウント部
3で計数する。
(b) 上記(a)の処理と並行して、被除数または減算
結果が格納されているレジスタ(通常の場合に
はレジスタB。ただし、後述する処理(c)の直後
の場合にはレジスタA′)の内容をシフタ2に
より1桁分シフトし、レジスタA′に格納する
と同時に、カウント部3の内容をレジスタ
A′の最下部に格納する。
(c) 上記(a)と(b)の処理をレジスタBに格納された
減算結果が負となり、加減算器1から桁上げ信
号(減算結果が正のとき発生)が発生しなくな
るまで繰り返す。桁上げ信号が発生しなくなる
と、キヤリー検出部4からの信号により、セレ
クタ6はレジスタA′の内容を選択する。
以降、(a)(b)および(c)の処理を繰り返すことによ
り、除算を行う。
上記の第3図に示す10進除算方式は、例えば、
マイクロプログラム制御方式の計算機に適用可能
であつて、この場合、制御記憶装置に格納される
マイクロ命令により各部の動作が制御されること
になる。
第3図における除算操作を、実例により説明す
る。なお、実例として、1210÷6=201、剰余4
の場合を考える。
第4図は、本発明の10進除算方式にもとづいた
除算操作の各ステツプにおけるレジスタ内容を示
す図である。
なお、以下に示す説明において、数字中に‘C'
とあるのは、数の正負を表わす符号であり、0〜
9以外の記号で格納されるものである。
(A) 先ず、被除数X、除数Yに対し、所定の桁合
わせを行つた後、レジスタB、レジスタCに格
納する。ここで、所定の桁合わせについて説明
すると、Xの被除数は左詰めの状態から、さら
に1桁左にシフトしたものであり、Yの除数は
符号部分を0クリアした左詰めの状態から1桁
右にシフトしたものである。また、左詰めと
は、レジスタ長をRバイト、オペランド・デー
タ長をnバイトとしたとき(R>nとする)、
レジスタの前半(左側)nバイとオペランド・
データを格納し、後半残りのR−nバイトには
すべて‘0'を格納した状態を言う。第4図の例
では、レジスタ長R=4バイト、被除数長4バ
イト、除数長1バイトと仮定すると、X=
1210、Y=6の場合には、被除数は
“0001210C”(4バイト)として扱われ、除数
は‘6C'(1バイト)として扱われる。被除数は
左詰めされても変化しない。何故ならば、レジ
スタ長Rは除数の仮定された長さに等しいから
である。除数‘6C'は、左詰めされると、
“6C000000”(4バイト)に変わる。何故なら
ば、レジスタ長と除数の長さの差は“3”に等
しいからである。本実施例では、左詰めした後
の被除数“0001210C”を左詰めよりさらに左
に1桁シフトし、“001210C0”にしてレジスタ
Bに格納し、また左詰めした後の除数
“6C000000”は符号部分Cを0にして
“60000000”とした後、左詰めの状態
“60000000”から1桁右にシフトした
“06000000”をレジスタCに格納する。
なお、本発明では、符号をオペランドの右端
の1桁(4ビツト)を使用し、数値0〜9以外
の記号で示すものとする。第4図においては、
オペランド右端のCを正符号として使用してい
る。
このようにして、レジスタBとレジスタCに
被除数Xと除数Yが格納される(第4図のステ
ツプ0)。
(B) 減算回数カウント部3の値を“0”にリセツ
トする。
(C) セレクタ6が、線6AとレジスタBとを接続
するようにイニシヤライズする。
(D) セレクタ6の出力線6A上の値(最初は被除
数X)からレジスタCの内容(除数Yが格納さ
れている)を加減算器1により減算し、その結
果をリジスタBに格納し、また加減算器1から
のキヤリーをキヤリー検出部4に伝える。これ
と同時に、線6Aの値をシフタ2により1桁分
左にシフトした結果を線2Aを介してリジスタ
A′に格納する。また、減算回数カウント部3
の内容を線3Aを介してレジスタA′に格納す
る。ここにおいて、線3AはレジスタA′の右
端のバイトに、また線2Aは残りのバイトに、
それぞれ接続されている。上記処理は、第4図
のステツプ1に示される。なお、第4図のステ
ツプ0では、被除数より除数の方が大きいた
め、減算、つまり補数“94000000”がレジスタ
Bの内容“001210C0”に加算されて、その結
果、“941210C0”がレジスタBに格納される。
また、ステツプ0では、キヤリーが生じないた
め、減算回数カウント部3の値は“0”のまま
であり、線3Aには“0C”が出力されて、レ
ジスタA′の末尾2桁(1バイト)に“0C”が
格納される。レジスタA′の上位6桁(3バイ
ト)には、シフタ2の出力である線2Aの
“01210C”が格納される。
(E) 上記(D)の処理の結果、前のステツプで被除数
Xと除数Yの差が負、つまりキヤリーが“0”
の場合には、次のステツプで減算回数カウント
部3の値を“0”にリセツトし、またセレクタ
6の出力線6AにレジスタA′の内容を出力さ
せて、再び(D)に戻る。
例えば、第4図のステツプ1の結果は、被除
数Xと除数Yの差が負、つまりキヤリーが
“0”であるため、次のステツプ2では除数Y
の補数“94000000”とレジスタA′の内容
“01210C0C”とを加算して、その結果
“95210C0C”をレジスタBに格納する。同時
に、レジスタA′の内容をシフタ2で1桁分左
にシフトし、その結果を線2Aを介し、レジス
タA′に格納する。また、減算回数カウント部
3から出力線3Aを介し“0C”をレジスタ
A′の右端バイトに格納する。この結果、レジ
スタA′には“1210C00C”が格納されることに
なる(第4図のステツプ2)。
また、第4図のステツプ2の結果でも、キヤ
リーが“0”であるため、次のステツプ3で
は、前と同じようにレジスタA′の内容からレ
ジスタCの内容が減算される。この場合には、
被除数Xと除数Yの差が正であり、
“0610C00C”がレジスタBに格納される。そし
て、減算回数カウント部3の値を0にリセツト
すると同時に、レジスタA′の内容がシフタ2
で1桁分左にシフトされ、その結果は線2Aを
介してレジスタA′に格納される。また、減算
回数カウント部3の内容は、出力線3Aを介し
てレジスタA′に格納される。その結果、レジ
スタA′には、“210C000C”が格納されることに
なる(第4図のステツプ3)。
(F) 上記(D)の処理の結果、前のステツプで被除数
Xと除数Yの差が正または“0”、すなわちキ
ヤリーが“1”の場合、減算回数カウント部3
の内容を+1し、またセレクタ6の出力部6A
にレジスタBの内容を出力させて、上記(D)に戻
る。
例えば、第4図のステツプ3の結果は、キヤリ
ーが“1”であるため、ステツプ4では、レジス
タBの内容からレジスタCの内容を減算する。減
算結果“0010C00C”がレジスタBに格納される。
同時に、レジスタBの内容がシフタ2で1桁分左
にシフトされ、その結果は線2Aを介してレジス
タA′に格納される。また、減算回数カウント部
3の内容も、出力線3Aを介してレジスタA′に
格納される。この結果、レジスタA′には、
“610C001C”が格納されることになる(第4図の
ステツプ4)。
次のステツプ5でも、前のステツプでキヤリー
が“1”であり、減算回数カウント値は“2”と
なるため、レジスタBの内容からレジスタCの内
容を減算した結果(ここでも補数を加算する)、
“9410C00C”がレジウタBに、またレジスタBの
内容を1桁分左にシフトした結果が線2Aを介し
レジスタA′に格納される。また、減算回数カウ
ント部3の内容も出力線3Aを介し、レジスタ
A′に格納される。その結果レジスタA′の内容は
“010C002C”となる(第4図のステツプ5)。
ステツプ6、7および8についても、上記説明
を参照することにより、その動作が容易に理解で
きる。
上記(D)(E)および(F)の処理は、所定の回数キヤリ
ーが“0”となるまで行われる。
その回数は、例えば被除数長をn1バイト、除
数長をn2バイトしたとき、 2×(n1−n2)−1 により求められる。
例えば、第4図におけるその回数は、被除数長
n1=4バイト、除数長n2=1バイトであるから、
2(n1−n2)−1=5(回)である。
第4図の例では、この回数“5”にキヤリーが
“1”になつた回数“3”を加えて、全体で“8”
回で所望の桁数の商を得ている。
以上の操作を8回だけ行つた後のレジスタ
A′には、“4C00201C”が格納される。このレジス
タA′の前半の1バイトが余り、“4C”であり、残
り3バイトが商“201C”であるから、1210÷6
=201……4を得ることができる。
このように、本発明においては、レジスタ
A′またはレジスタBの内容からレジスタCの内
容を減算して、その結果をレジスタBに格納する
が、その場合に、前ステツプでキヤリーが“1”
のときレジスタBの内容、キヤリーが“0”のと
きレジスタA′の内容を用い、また最初はレジス
タBの内容を用いる。また、同時にレジスタ
A′またはレジスタBの内容をシフタにより1桁
分シフトしてレジスタA′に格納するが、その場
合にも、そのステツプで減算に用いられたレジス
タA′またはレジスタBの内容をシフトする。さ
らに、レジスタA′の最右端バイトに減算回数カ
ウント部の出力を格納するとともに、レジスタ
A′とレジスタBの内容には正、負の符号も含め
たまま減算またはシフト操作を行う。
なお、前半n1−n2バイトに商を、後半n2バイ
トに余りを入れ、合わせたn1バイトのデータを
演算結果とするような仕様の計算機では、最終の
レジスタA′の結果をn2バイト左にサイクルシフ
トすることにより、所望の演算結果が得られるの
で、商と余りを合成するステツプを省略すること
ができる。例えば、第4図のn2=1バイトのレ
ジスタA′の結果を左にサイクルシフトすれば、
“00201C4C”となるので、前半n1−n2=3バイト
に商が、後半n2=1バイトに余りが得られるこ
とになる。
以上説明したように、本発明においては、10進
除算方式で、被除数から除数を減産する処理と、
次桁の演算のための桁シフト処理とを並列に実行
しているので、除算時間が早い。また、第1図の
従来例で述べたように、減算し過ぎたレジスタB
の内容に除数であるレジスタCの内容を加算する
ステツプが不要である。また、減算結果に符号お
よび商の途中結果を付加したままで減算を行うこ
とにより、得られた結果に符号を付加するステツ
プや、商と余りを合成するステツプも省略できる
ので、演算ループを高速化するとともに、後処理
も高速化することができる。
〔発明の効果〕
以上のように、本発明によれば、減算ループと
1桁シフトのループを時系列的に処理しなくてよ
く、また結果に符号を付加したり、商と剰余を合
成する後処理の時間もなくすことができるので、
演算時間をさらに短縮することが可能である。
【図面の簡単な説明】
第1図および第2図はそれぞれ従来の10進除算
方式のブロツク図、第3図は本発明の一実施例を
示す10進除算方式のブロツク図、第4図は本発明
の10進除算方式にもとづく除算操作を示す実例説
明図である。 A,A′,B,C:レジスタ、1:加減算器、
2:シフタ、3:減算回数カウント部、4:キヤ
リー検出部、5,6,8,9,10:セレクタ、
7:+1加算器。

Claims (1)

  1. 【特許請求の範囲】 1 被除数から除数を1回以上減算する減算器
    と、減算回路をカウントする減算回数カウント回
    路と、次桁の演算のための桁シフトを行うシフタ
    とを具備する10進除算装置において、桁シフトの
    結果を格納するレジスタAと、除数を格納するレ
    ジスタCと、初期値を被除数とし、該減算器から
    の減算結果を格納するレジスタBと、該レジスタ
    AまたはレジスタBの内容を選択して該減算器お
    よび該シフタに入力するセレクタとを有し、該セ
    レクタで選択した結果から該レジスタCの内容を
    該減算器で減算する動作に並行して該選択結果の
    桁シフトを該シフタで実行することを特徴とする
    10進除算装置。 2 特許請求の範囲第1項記載の10進除算装置に
    おいて、上記レジスタAは、上記シフタによりシ
    フトされた減算結果を受けて、これを最下位桁に
    相当する部分を除いた部分に格納するとともに、
    上記減算回数カウント回路の出力を受けて、これ
    を最下位桁に相当する部分に格納し、上記セレク
    タは、該レジスタAの第1および第2番目の部分
    に格納されたデータ信号を選択して、被減数とし
    て加減算器に出力し、また上記レジスタCには、
    商の桁数に相当する分だけ複数個のゼロを格納す
    ることにより、該レジスタAの商の桁数に相当す
    る部分に格納されているデータ信号は加減算器の
    出力信号として変更されない形で保持されること
    を特徴とする10進除算装置。 3 前記レジスタAまたはレジスタBの選択は、
    前のステツプで減算結果が正または0のときに出
    力されるキヤリーの検出結果によつて決定される
    ことを特徴とする特許請求の範囲第1項または第
    2項に記載の10進数除算装置。 4 前記レジスタAは、最右端バイトに減算回数
    カウント値と商の符号を合わせた値を格納するこ
    とを特徴とする特許請求の範囲第1項または第2
    項に記載の10進数除算装置。 5 前記除数は、前記レジスタCの前記商の桁数
    に相当する部分に対応するビツト位置を0にする
    ために符号部分を0クリアした左詰めの状態から
    1桁右にシフトした後、レジスタに格納すること
    を特徴とする特許請求の範囲第2項に記載の10進
    除算装置。
JP58208724A 1983-11-07 1983-11-07 10進除算装置 Granted JPS60101640A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP58208724A JPS60101640A (ja) 1983-11-07 1983-11-07 10進除算装置
US06/668,842 US4692891A (en) 1983-11-07 1984-11-06 Coded decimal non-restoring divider
DE19843440680 DE3440680A1 (de) 1983-11-07 1984-11-07 Verfahren und vorrichtung zur dezimaldivision

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58208724A JPS60101640A (ja) 1983-11-07 1983-11-07 10進除算装置

Publications (2)

Publication Number Publication Date
JPS60101640A JPS60101640A (ja) 1985-06-05
JPH0479015B2 true JPH0479015B2 (ja) 1992-12-14

Family

ID=16561028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58208724A Granted JPS60101640A (ja) 1983-11-07 1983-11-07 10進除算装置

Country Status (3)

Country Link
US (1) US4692891A (ja)
JP (1) JPS60101640A (ja)
DE (1) DE3440680A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63245518A (ja) * 1987-03-31 1988-10-12 Toshiba Corp 除算演算装置
EP0356996B1 (en) * 1988-08-29 1996-10-30 Nec Corporation Digital division circuit using N/2-Bit subtractor for N subtractions
JPH02194430A (ja) * 1989-01-24 1990-08-01 Oki Electric Ind Co Ltd 除算器
US5016210A (en) * 1989-11-15 1991-05-14 United Technologies Corporation Binary division of signed operands
US5103420A (en) * 1989-12-04 1992-04-07 Dror Avnon Method and apparatus for srt division using gray coded quotient bit signals
US6173305B1 (en) * 1993-11-30 2001-01-09 Texas Instruments Incorporated Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder
US6058473A (en) * 1993-11-30 2000-05-02 Texas Instruments Incorporated Memory store from a register pair conditional upon a selected status bit
NZ524378A (en) * 2003-02-24 2004-12-24 Tait Electronics Ltd Binary shift and subtract divider for phase lock loops
US7149767B2 (en) * 2003-05-12 2006-12-12 International Business Machines Corporation Method and system for determining quotient digits for decimal division in a superscaler processor
US7467174B2 (en) * 2004-09-23 2008-12-16 Wisconsin Alumni Research Foundation Processing unit having decimal floating-point divider using Newton-Raphson iteration
US7519649B2 (en) 2005-02-10 2009-04-14 International Business Machines Corporation System and method for performing decimal division

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52144936A (en) * 1976-05-28 1977-12-02 Fujitsu Ltd Decimal system division system
JPS57101940A (en) * 1980-12-17 1982-06-24 Hitachi Ltd Overrun correction system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1014391A (en) * 1961-09-20 1965-12-22 Ibm Improvements in arithmetic units for digital calculators and the like
US3621218A (en) * 1967-09-29 1971-11-16 Hitachi Ltd High-speed divider utilizing carry save additions
NL7101257A (ja) * 1971-01-30 1972-08-01
US4466077A (en) * 1981-09-25 1984-08-14 International Business Machines Corporation Method and apparatus for division employing associative memory
JPS58140846A (ja) * 1982-02-16 1983-08-20 Hitachi Ltd 2進化10進数除算装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52144936A (en) * 1976-05-28 1977-12-02 Fujitsu Ltd Decimal system division system
JPS57101940A (en) * 1980-12-17 1982-06-24 Hitachi Ltd Overrun correction system

Also Published As

Publication number Publication date
JPS60101640A (ja) 1985-06-05
DE3440680A1 (de) 1985-05-23
US4692891A (en) 1987-09-08
DE3440680C2 (ja) 1989-11-23

Similar Documents

Publication Publication Date Title
JP3418460B2 (ja) 倍精度除算回路および方法
JPH06202850A (ja) データ処理装置
JPH0479015B2 (ja)
US3202805A (en) Simultaneous digital multiply-add, multiply-subtract circuit
JPH0667851A (ja) オーバーフロー検出機能付き乗算装置
US3234367A (en) Quotient guess divider
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
US3234366A (en) Divider utilizing multiples of a divisor
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
EP0356996B1 (en) Digital division circuit using N/2-Bit subtractor for N subtractions
US4228518A (en) Microprocessor having multiply/divide circuitry
US5576982A (en) Fast significant bit calculator and its application to integer multiplication and division
US5014233A (en) Divider for carrying out high speed arithmetic operation
JPS6227412B2 (ja)
US3315069A (en) Computer having four-function arithmetic unit
JPS608933A (ja) 演算処理装置
GB933066A (en) Computer indexing system
JPH034936B2 (ja)
JP2695178B2 (ja) 演算回路
US5748518A (en) Data processing divider
GB2265739A (en) Non-restore division with dividend-width ALU
JPH0346024A (ja) 浮動小数点演算器
US3417236A (en) Parallel binary adder utilizing cyclic control signals
US3500027A (en) Computer having sum of products instruction capability
US4458325A (en) Calculator capable of calculating with additional externally instructed units