JPS6051132B2 - オ−バラン補正方式 - Google Patents

オ−バラン補正方式

Info

Publication number
JPS6051132B2
JPS6051132B2 JP17728980A JP17728980A JPS6051132B2 JP S6051132 B2 JPS6051132 B2 JP S6051132B2 JP 17728980 A JP17728980 A JP 17728980A JP 17728980 A JP17728980 A JP 17728980A JP S6051132 B2 JPS6051132 B2 JP S6051132B2
Authority
JP
Japan
Prior art keywords
register
subtraction
cycle
contents
value
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
Application number
JP17728980A
Other languages
English (en)
Other versions
JPS57101940A (en
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.)
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 JP17728980A priority Critical patent/JPS6051132B2/ja
Publication of JPS57101940A publication Critical patent/JPS57101940A/ja
Publication of JPS6051132B2 publication Critical patent/JPS6051132B2/ja
Expired 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)

Description

【発明の詳細な説明】 本発明は、減算と桁移動の繰返しによりル逆数の除算
を実行するマイクロプログラム制御のw進除算回路に関
し、特に加算を行なうことなく減算のオーバランの補正
を行なう方式に関する。
第1図に、従来のマイクロプログラム制御の10進除
算回路の主要構成を示す。 除数は除数レジスタ(Aレ
ジスタ)110にセットされ、被除数は被除数レジスタ
(Bレジスタ)120にセットされる。
A、Bレジスタ110、120の内容はデータ転送線1
11、121を通じて加減算器130に入力される。B
レジスタ12 の内容は桁移動器140にも入力される
。 加減算器130の出力データは出力データ・レジス
タ(PAレジスタ)150にセットされ、またキャリー
出力はキャリー・レジスタ(CARレジスタ)155に
セットされる。
PAレジスタ150の内容および桁移動器140の出力
データ・レジスタ(SHレジスタ)160の内容は、そ
れぞれデータ転送線151、161を通じてBレジスタ
120に転送できるようになつている。 実際には、A
レジスタ110は桁移動器140への出力バスも有する
し、またPAレジスタ150やSHレジスタ160から
の入カパスも有するが、説明に必要でないので図上では
省略してある。 第2図は、第1図のw進除算回路によ
りル進除算アルゴリズム中の減算ループを実行するマイ
クロプログラムの一例を示す。
またこのマイクロプログラムの減算ループの実行の様子
を、第3図にタイムチャートの形式で示す。 ます、前
処理により被除数(初期値(bo)をBレジスタ120
にセットし、また除数(X)をAレジスタ110にセッ
トする。
被除数の桁合せなども必要に応じて行なわれる。また、
CARレジスタ155も’’1’’にセットされる。こ
の後、第2図のマイクロプログラムの減算ルーブヘ制御
が渡される。最初の演算サイクル1で、マイクロ命令P
A=B−Aが実行され、被除数(玩)から除数(X)を
減算した結果b1=BO−XがPAレジスタ150に得
られる。
これと同時に】≧0ならば加減算器130よりキャリー
出力に゜゜1゛が出力され、CARレジスタ155にセ
ットされる。次にマイクロ命令B=PAが実行され、P
Aレジスタ150の内容へがBレジスタ120へ転送さ
れる。なお、上記の動作に先立ち、演算サイクルの初め
に図示しないテスト回路によりCARレジスタ155の
内容をテストし、次に進むべきマイクロプログラム◆ア
ドレスを決定している。たS゛し、前記のように前処理
でCARレジスタ155は64r′にセットされている
ので、この演算サイクルにおけるCARレジスタ155
のテストでは常にCAR=1という結果になり、次の演
算サイクルでも当該減算ループを実行することになる。
次の演算サイクル2で2回目の減算が行なわれ、B2=
舅−2XがPAレジスタ150に得られ、これがBレジ
スタ120に転送される。この演算サイクルの初めにも
CARレジスタ155のテストが行なわれる。このテス
ト時のCARレジスタ155の内容は前回の減算結果の
キャリー出力であり、それが゜“1゛ということはF≧
0であつたことを意味し、次の演算サイクルでも減算ル
ープを実行する。こうして、CAR=0のテスト条件が
成立するまで減算が繰り返される。第3図の例では、2
回目の減算でCAR=0となり、それを3回目の減算を
行なう演算サイクル3の初めに検出し、結局3回目の減
算後に後処理.に進む。
つまり、この例では、演算サイクル23の2回の減算は
余分であり、正しい結果は八ニBO一Xである。しかる
に後処理へ抜け出た時点では、Bレジスタ120には■
=BO一小が入つている。そこで後処理として、\にX
を2回加算!し、減算のオーバランを補正する必要があ
る。その後、Bレジスタ120の内容を桁移動器140
によつて左へ1桁シフトし、SHレジスタ160を介し
てBレジスタ120へセットし、またCARレジスタ1
55を゜゛1゛にセットして、上4記の減算ループへ制
御を渡す。なお、減算の回数つまり求めようとしている
商の各桁の値は図示しないカウンタに得られているが、
上記のオーバランの補正時にその値も同時に補正される
。上記の減算と桁移動を繰り返すことによつて、商が上
記のカウンタに求められ、また除余がBレジスタ120
に求められる。
ところで周知のように、繰返し減算と桁移動、その他の
前後処理を含む一連の操作は被除数と除数の桁数の差に
相当する回数だけ繰り返される。
そしてこの1回当りにつき、オーバラン補正の加算実行
のための演算サイクルを2サイクル余分に費すことにな
る。したがつて、例えば被除数が18)桁で除数が1漸
の場合、12(=(18−12)×2)サイクルも余分
な時間を費してしまい、除算速度を大幅に低下される原
因となつている。したがつて本発明は、叙上の如き加算
のための余分の演算サイクルを費すことなく、減算のオ
ー門バランを補正する方式を提供することにある。
しかして本発明にあつては、各演算サイクルの演算器の
キャリー出力を次の演算サイクルまで保持する遅れレジ
スタを設ける。そして減算を実行する演算サイクルで、
遅れレジスタの内容が・゜゜1゛であること(前の演算
サイクルの減算結果が正であること)を条件に被除数レ
ジスタの減算前の内容を特定のレジスタへ転送し、キャ
リー出力の値が“40゛になつたことを検出した演算サ
イクルの次の演算サイクル(後処理のサイクル)で、上
記の特定のレジスタの内容を被除数レジスタへ転送する
。これによつて、加算を実行しなくても、被除数レジス
タの内容は減算のオーバランの前の値に戻されることに
なる。なお、上記の特定のレジスタとしては桁移動器の
出力データ・レジスタなどを用いることができる。
またこのレジスタの更新制御や、その内容の被除数レジ
スタへの転送制御は、格別のハードウェアを追加しない
で、マイクロプログラムによつて実行することも可能で
ある。たS゛し、これらの制御のためにマイクロプログ
ラムのステップ数があまり増加するのでは、意図する効
果を損なうおそれもある。そこで、後述の実施例では、
これらの制御をサポートするためのハードウェアを設け
、マイクロプログラムのステップ数の増加を可能な限り
抑えている。以下、本発明の一実施例を、図面に沿つて
説明する。
第4図は、本発明を実施するw進除算回路の一例を示し
、第1図と同等部分には同一符号を付してある。
なお、本発明では減算のオーバランを補正するための加
算は行なわないので、基本的には加減算器130は減算
器でもよい。456はC.ARレジスタ155の内容を
次の演算サイクルまで保持するための遅れレジスタ(C
ARDレジスタ)である。
本実施例では、CARレジスタ155のセットタイミン
グから0.5サイクル後にCARレジスタ155の内容
がCARDレジスタ456にセットされる。ゲート75
0,760は、CARDレジスタ456の値に応じてS
Hレジスタ160の更新を許可したり抑止したりするた
めに設けられている。
ゲート720,721,722は、CARDレジスタ4
56の値に依存するゲート750の出力に応じて、Bレ
ジスタ120にPAレジスタ150とSHレジスタ16
0のいずれの内容を転送するかの選択制御を行なうため
に設けられている。790はマイクロ命令のデコーダで
あり、後述のマイクロ命令DIVIDEに対応する出力
線が794である。
このDIVIDEが指定されている場合に−限り、上記
のゲート760,720,721などによる制御が有効
となるわけである。DIVIDE指定がないときは、従
来と同様の制御が行なわれるが、それについては図中か
ら省略してある。第5図は本発明を実施するためのマイ
クロプログラムの減算ループ部分を示している。この例
では、DIVIDEとSH=Bというマイクロ命令が新
たに追加されている。以下、第6図のタイムチャートを
参照しながら、減算のオーバランの補正の様子を説明す
る。
前処理の演算サイクルで、除数Xと被除数(初期値B。
)がAレジスタ110とBレジスタ120にそれぞれセ
ットされ、またC.ARレジスタ155とCARDレジ
スタ456に゜゛1゛がセットされる。その後、減算ル
ープへ制御が渡される。演算サイクル1では、まずCA
Rレジスタ155の値がテストされる。この時点ではa
■レジスタ155は“゜1゛にセットされているので、
次の演算サイクルでも減算ループを実行するようにマイ
クロプログラムのアドレスが決定される。またDIVI
DE指定により、デコーダ790の出力線794が付勢
されている。マイクロ命令PA=B−Aが実行され、P
Aレジスタ150に麹=現−Xが求められ、またこのb
1の正負を示すキャリー出力がCARレジスタ155に
セットされる。
このCARレジスタ155にセットされた値は、0.5
サイクル後にCARDレジスタ456に転送される。次
にマイクロ命令SH=Bが実行される。DIVIDE指
定がなされておりデコーダ出力線794が゜゜0゛レベ
ルであり、またCARDレジスタ456の値が゜“1で
、ゲート750の出力線751が“゜0゛レベルである
ため、ゲート760の出力線761が“1゛レベルであ
り、SHレジスタ160の内容更新が許可された状態で
ある。
したがつて、Bレジスタ120の内容属が桁移動器14
0を通じてSHレジスタ160に転送され、ラッチされ
る。次にマイクロ命令B:PAが実行され、PAレジス
タ150の内容Kgがデータ転送線151に乗せられる
ゲート750の出力線751が“0゛レベルで、デコー
ダ出力線794が゜゜0゛レベルであるため、データ転
送線151上のデータb1がゲート720およびゲート
722を通じてBレジスタ120の入力に伝達され、次
の演算サイクル2の開始時点でBレジスタ120にラッ
チされる。演算サイクル1のCARレジスタ155のテ
スト結果によつて、演算サイクル2でも減算ループを実
行することが決まつている。この演算サイクル2におい
ても、C.ARレジスタ155の値のテストが行なわれ
る。本例ては、へ≧0としているので、CARレジスタ
155の値ぱ゛1゛であり、したがつて次の演算サイク
ルでも減算ループを実行すると決定される。2回目の減
算の結果B2=玩−△がPAレジスタ150に求められ
る。
たSt本例では、F<Oとしているのて、キャリー出力
ぱ゜0゛であり、CARレジスタ155に゜゜0゛がセ
ットされる。Bレジスタ120の内容\がSHレジスタ
160に転送され、ついでPAレジスタ150の内容■
がBレジスタ120に転送される(ラッチされるのは、
実際には次の演算サイクルの初めである)。
ノ 次の演算サイクル3でも減算ループが実行される。
CARレジスタ155の値がテストされるが、この時点
ではその値が″O″になつているので、次の演算サイク
ルでは減算ループを抜けて後処理のループへ進むように
マイクロプログラムのアドレスが決定される。3回目の
減算の結果B3=BO−へがPAレジスタ150に求め
られ、次にマイクロ命令SH=Bが実行される。
たStこの時点ではCARDレジスタ456の値が゜6
0゛になつており、ゲート750の出力線751が゜゜
F゛レベルになつているため、SHレジスタ160の内
容更新が抑止されている。したがつて、SHレジスタ1
60には1回目の減算の結果Kgが保存される。マイク
ロ命令B=PAが実行される。
しかしCARDレジスタ456の値が゜“0゛でゲート
750の出力線751が“1゛レベルであるため、PA
レジスタ150からデータ転送線151に乗せられたデ
ータ■はゲート720で抑止される。その代りに、ゲー
ト出力線752によつて付勢されているゲート721が
活性化されるため、データ転送線161に乗せられたS
Hレジスタ160の内容EがBレジスタ120に転送さ
れる。かくして、次の後処理のための演算サイクルに入
つた時点では、1回目の減算の結果?がBレジスタ12
0にラッチされていることになる。したがつて、2サイ
クル(2,3)分の減算のオーバランを、2サイクルの
加算を行なうことなく補正できたことになる。以後の処
理は従来と同様でよいので、説明は割愛する。以上に述
べたように、本発明によれば、加算を行なうことなく減
算のオーバランに対する補正を行なうことができる。
例えば、被除数が1晰、除数が1噺の場合、従来は減算
のオーバランの補正のための加算を行なうのに12サイ
クル分を費していたが、本発明によればこの12サイク
ル分が不要となる。したがつて、本発明によれば、1雉
除算を大幅に高速化できる効果が得られる。
【図面の簡単な説明】
第1図ないし第3図は従来技術を説明するため・の図で
あり、第1図は1罐除算回路の主要構成を示すブロック
図、第2図はマイクロプログラムの減算ループ部分の説
明図、第3図はw進除算の実行の様子を示すタイムチャ
ート、第4図ないし第6図は本発明の一実施例を説明す
るための図であり、第4図はw進除算回路の主要構成を
示すブロック図、第5図はマイクロプログラムの減算ル
ープ部分の説明図、第6図はw進除算の実行の様子を示
すタイムチャートである。 110・・・・・除数レジスタ(Aレジスタ)、120
・・・・・・被除数レジスタ(Bレジスタ)、130・
・・・・加減算器、140・・・・・・桁移動器、15
0,160・・・・・・出力データ●レジスタ(PA,
SHレジスタ)、155・・・・・・キャリー・レジス
タ(CARレジスタ)、456・・・・・・遅れレジス
タ(CARDレジスタ)、790・・・・・・デコーダ

Claims (1)

    【特許請求の範囲】
  1. 1 演算器と桁移動器を用いて、減算と桁移動の繰返し
    により除数レジスタと被除数レジスタの内容について1
    0進除算を行なうもので、減算を実行する演算サイクル
    で該演算器のキャリー出力をテストし、その値が“0”
    であると次の演算サイクルからはマイクロプログラムの
    減算ルーブから抜け出すように構成した、マイクロプロ
    グラム制御の10進除算回路において、各演算サイクル
    の該キャリー出力を次の演算サイクルまで保持する遅れ
    レジスタを備え、減算を実行する演算サイクルで該遅れ
    レジスタの内容が“1”であることを条件に該被除数レ
    ジスタの減算前の内容を特定のレジスタへ転送し、該キ
    ャリー出力の値が“0”になつたことを検出した演算サ
    イクルの次の演算サイクルで、該特定のレジスタの内容
    を該被除数レジスタへ転送することにより、該被除数レ
    ジスタの内容を減算のオーバラン以前の値に補正するこ
    とを特徴とする、オーバラン補正方式。
JP17728980A 1980-12-17 1980-12-17 オ−バラン補正方式 Expired JPS6051132B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17728980A JPS6051132B2 (ja) 1980-12-17 1980-12-17 オ−バラン補正方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17728980A JPS6051132B2 (ja) 1980-12-17 1980-12-17 オ−バラン補正方式

Publications (2)

Publication Number Publication Date
JPS57101940A JPS57101940A (en) 1982-06-24
JPS6051132B2 true JPS6051132B2 (ja) 1985-11-12

Family

ID=16028412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17728980A Expired JPS6051132B2 (ja) 1980-12-17 1980-12-17 オ−バラン補正方式

Country Status (1)

Country Link
JP (1) JPS6051132B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60101640A (ja) * 1983-11-07 1985-06-05 Hitachi Ltd 10進除算装置

Also Published As

Publication number Publication date
JPS57101940A (en) 1982-06-24

Similar Documents

Publication Publication Date Title
US4797849A (en) Pipelined vector divide apparatus
EP0201833A2 (en) Instruction processor
US3234367A (en) Quotient guess divider
US4225933A (en) Exponential function computing apparatus
US4692891A (en) Coded decimal non-restoring divider
JPS60140429A (ja) 10進乗算装置
JPH04270415A (ja) 高性能加算器
JPH07107664B2 (ja) 乗算回路
JPS6051132B2 (ja) オ−バラン補正方式
US4546447A (en) Division apparatus
JP2664750B2 (ja) 演算装置及び演算処理方法
JP2591250B2 (ja) データ処理装置
JPH0452488B2 (ja)
JPS60247736A (ja) 除算回路
JPS6129020B2 (ja)
JP2903529B2 (ja) ベクトル演算方式
JPH0330170B2 (ja)
JPS63279321A (ja) マイクロプログラム制御装置
JP2989829B2 (ja) ベクトル処理方法
JPS6236255B2 (ja)
JPS59158441A (ja) パイプライン制御方式
JPS60245046A (ja) ロジカルシフト演算回路
JPS61138332A (ja) デイジタル演算回路
JPS5896346A (ja) 階層型演算方式
JPS6020245A (ja) デ−タ処理装置の命令制御回路