JPH03186924A - 除算装置 - Google Patents

除算装置

Info

Publication number
JPH03186924A
JPH03186924A JP2310108A JP31010890A JPH03186924A JP H03186924 A JPH03186924 A JP H03186924A JP 2310108 A JP2310108 A JP 2310108A JP 31010890 A JP31010890 A JP 31010890A JP H03186924 A JPH03186924 A JP H03186924A
Authority
JP
Japan
Prior art keywords
signal
division
dividend
divisor
register
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
Application number
JP2310108A
Other languages
English (en)
Inventor
Brian J Sprague
ブライアン ジェイ.スプラグ
Gregory A Portanova
グレゴリー エイ.ポルタノヴァ
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.)
RTX Corp
Original Assignee
United Technologies Corp
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 United Technologies Corp filed Critical United Technologies Corp
Publication of JPH03186924A publication Critical patent/JPH03186924A/ja
Pending 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5352Non-restoring division not covered by G06F7/5375
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理システムに関し、特に、データ処
理システムで使用される数値演算を実行するための装置
に関する。
〔従来の技術〕
従来の復帰除算は再帰的な手順であり、そこでは、各々
の再帰が、結果の値が負になるまでの部分的な被除数か
ら除数を引くことによって商のビット(桁)の数字を決
定するステップを含んでいる。
商のビットの数字は、減算回数から1を引いた値に等し
い。「部分剰余」と呼ばれる結果値は、次の繰り返しの
ための新たな部分被除数を形成するために用いられる。
この処理は、被除数の全てのビットの数字が部分被除数
を形成するために使用され終わった時に終了する。復帰
除算は、新たな部分被除数を形成する際にこの第1のス
テップによって、除数を再び加算することによって負の
部分剰余を正の値に復帰させることから、この様に呼ば
れる。
例えば、この復帰除算は、78を3で割った値を決定す
るために用いることが出来る。最初に、7(部分被除数
)から3(除数)が3回引かれる(すなわち、結果が負
になるまで)。商ビットの数字は2(すなわち、減算数
からlを引いた数)である。3(除数)が負の部分剰余
である−2に加算され、もって、1の値を得る。新たな
部分被除数である18が、その■に対して8(次の被除
数のビット数)を添えることによって形成される。
商の最後のビットの数字である6は、3(除数)を18
(部分被除数)から7回引き(すなわち、結果が負にな
るまで、)それから、7から1を弓くことによって決定
されている。この6は、以前の再帰から得られた2に添
えられ、もって、78割る3は商26となる。この処理
は、被除数の全てのビットの数字が部分被除数の形成に
使用されて終わった段階で、終了される。
この復帰除算法のアルゴリズムは、二進法の除算に使用
する場合に有用である。それぞれの商のビットの数字は
1かあるいは0であることから、除数は、各再帰のため
に、それぞれの部分被除数から一回だけ減算される。も
し、部分剰余が負の値であれば、その繰り返しに対する
商のビットの数字はOであり、除数を再び加算すること
によって負の部分剰余が復帰する。もし部分剰余が正で
あれば、その繰り返しに対する商ビットの数字は1であ
る。
二進法の非復帰除算では、負の部分剰余が生じた回の次
の回の繰り返しにおいて、減算の代わりに除数を部分非
除数に加算することによって復帰除算の復帰ステップを
取り除いている。この場合、次の繰り返しでの部分非除
数は、以前の回の負の非復帰部分剰余から形成されてお
り、負であることから、加算を行うことが適当である。
これら二進法の復帰除算及び二進法の非復帰除算は、両
者共に正の被演算数にのみ適用され得るという欠点を有
している。負の被演算数の除法では、負の被演算数は除
算に先立って正の値に変換されなければならず、また、
除算の結果は、場合によっては、正の値から負の値に変
換されなければならない。
被演算数及び結果を変換することは、それぞれの除算動
作に時間がかかるとともに、二進法の復帰除法のために
設計された回路用として、さらに多くのハードウェアを
要求することともなってしまう。
もし、それぞれの被演算数が符号の内二進法であり符号
のビットを別に持っているのであれば、余分な符号変換
を排除することが出来る。復帰あるいは非復帰除算は、
非符号化二進法の結果を得るために非符号化二進法の被
演算数にのみ直接的に適用することが出来る。結果にお
ける符号ビットは、被演算数の符号ビットの排他的オア
に等しい。例えば、符号ビットを別に有する非符号二進
値の復帰除算は、IEEE(アイ・トリプル・イー)の
スタンダード・フォア・バイナリ・フローティング−ポ
イント・アリスマティック(二進浮動小数点演算のため
の基準)と題するANSI/IEEE  Std、75
4−1985に記載されている。このI EEE基準を
実施する装置が、「浮動小数点数値データ演算装置(フ
ローティング・ポイント・ニューメリック・プロセッサ
ー)」と題する米国特許第4,777.613号(シャ
ハン等(S hahan et al、)に開示されて
いる。
〔発明が解決しようとする課題〕
しかしながら、非符号の二進法の表示は、二進の除算の
ステップを減少する一方、被演算数が加算されあるいは
減算される前にはそれぞれの被演算数の符号ビットが調
べられなければならないことから、加算や減算のために
要求されるステップの数は増加する。それ故、値を符号
ビットとは別に有する非符号二進法として記憶すること
は、二進法の値の加算や減算のために必要とされる時間
やハードウェアを増大させてしまう。
本発明の目的は、第1に被演算数を変換する必要なく、
二進の除算を負の2の補数の二進法演算数に適用するた
めの改良された装置を提供することである。
〔課題を解決するための手段〕及び〔作用〕本発明によ
れば、被除数信号と除数信号の二進の除算を行う装置は
、除数信号を、その被除数信号と同じ符号を持ち、それ
ぞれ反復的に発生される部分被除数信号に、加算する。
さらに、本発明によれば、負の被除数信号の二進除算を
行う装置は、反復的に発生される部分剰余信号が0であ
る時はいつも、被除数信号のビットをテストする。
さらに、本発明によれば、負の被除数信号の二進除算を
行うための装置は、負の部分剰余信号の発生に応答し、
繰り返しのための商の信号ビットを1にセットする。
本発明になる除算装置は、負の値をまず第1に正の値に
変換する必要なく、固定あるいは浮動小数点の負の二進
法の除算を行える。これは復帰あるいは非復帰の除算に
も使用され得るであろう。
変換ステップを取り除いたことにより、除算処理におけ
る時間を節約でき、また、要求されるハードウェアも少
なくなる。
〔実施例〕
第1図を参照する。マイクロプロセッサ12は、中央処
理/インターフェース装置13、マスクコントローラ1
4、及び除算器回路16及び除算器コントローラ17を
有する除算装置I5から構成されている。中央処理/イ
ンターフェース装置13は、マスクコントローラ14に
よって制御されるとともに、そのマスクコントローラと
制御情報を交換するようになっている。また、中央処理
/インターフェース装置13は、レジスタ、移相器、及
び一般にマイクロプロセッサと共通である他の素子を含
んでいる。さらに、この中央処理/インターフェース装
置13は、プロセッサインターフェース18を介する電
子的通信によって、そのプロセッサに対して外部通信を
提供するためのロジックを含んでいる。
除算装置15は、被除数信号を除数信号で割って、商信
号及び多分出るであろう剰余信号を計算で求める。それ
らの被除数信号及び除数信号は、マイクロプロセッサ1
2の内部にあって、かつ除算装置15を中央処理/イン
ターフェース装置I3に接続しているデータバスJ9を
介して、中央処理/インターフェース装置13によって
除算装置15に与えられる。除算装置15は、商信号及
び剰余信号をバス19を介して中央処理/インターフェ
ース装置13に転送する。
制御信号は、マイクロプロセッサ12内にあって、かつ
マスクコントローラ14を除算器コントローラ17に接
続しているコントローラバス20を介して、マスクコン
トローラ14と除算装置15の間で交換される。
第2図は、除算装置15を詳細に示している。
除算器回路16は、加減算装置22.0符号検出器装置
23、Mux(vルチプレクサ)24、DV(除数信号
)レジスタ27、及びDD(被除数信号)レジスタ28
から構成されている。DDレジスタ28は、DDH(被
除数信号商信号高位ビット)レジスタ29と、DDL 
(被除数信号低位ビット)レジスタ30から構成されて
いる。DDHレジスタ29を読み込みすなわち記憶させ
ることは、DDレジスタ28の最も重要なビットを読み
込み記憶することである。同様に、DDLレジスタ30
を読み込みすなわち記憶することは、DDレジスタ28
の最も重要度の低いビットを読み込みすなわち記憶する
ことである。
データは、データ信号であるDV Data InDD
HData  Out、DDHData  丁n、DD
LDa、ta Out及びDDL Data Inから
構成されているバス19を介して、除算器回路16と中
央処理/インターフェース装置13との間で交換される
。DV Data In信号は、中央処理/インターフ
ェース装置13からDVレジスタ27にデータを転送す
るためのものである。
DDHData Out信号は、DDHレジスタ29か
ら中央処理/インターフェース装置13ヘデータを転送
するためのものである。DDHDataIn信号は、中
央処理/インターフェース装置13からDDHレジスタ
29ヘデータを伝送するためのものである。DDL D
ata Out信号は、DDLレジスタ30から中央処
理/インターフェース装置13ヘデータを転送するため
のものである。
DDL Data In信号は、中央処理/インターフ
ェース装置13からDDLレジスタ30ヘデータを転送
するためのものである。
除算器回路16の動作を制御する制御信号は、除算器コ
ントローラ17によって与えられる。その制御信号は、
バス21の一部分であって、信号であるLoad DV
 (DV読み込み)Add(加算)。
S elect I N 1 (I N I選択)、 
 Quotient Bit(商ビット)、  5el
ect Mux (Mux選択)、  LoadDDH
(DDH読み込み)、  Load DDL (DDL
読み込み)及び5hift(シフト)を含んでいる。L
oadDV信号の付与によって、Dvレジスタ27の内
容がDV Data In信号に等しくさせられる。L
oadDV信号が付与されない場合には、DV Dat
a In信号は、DVレジスタ27の内容に影響を与え
ない。同様に、LoadDDL信号の付与によって、D
DLレジスタ30の内容がDDL Data In信号
に等しくさせられる。
方、DDLレジスタ30の内容に影響を与えない。
Add信号は、加減算装置22の動作を制御する。
Add信号が確認されると、加減算装置22は、DDH
レジスタ29の内容の信号値を、DVレジスタ27の内
容の信号値に加算し、合算結果Sを確認する。(以下、
レジスタXの内容の信号値は、単に「レジスタX」とし
て参照される)。加算信号が確認されないとき、加減算
装置22は、DDHレジスタ29からDVレジスタ27
を減算することにより、差結果Sを確認する。
Count信号は、実行された除算繰り返し数を示す繰
り返しカウンタの値である。2進法除算は、要求される
繰り返し数が被除数信号のビット数に等しい繰り返しプ
ロセスである。
S elect I n 1信号は、Mux24に対す
る制御入力である。Mux24の出力は、2個の可能な
値すなわちINIデータ入力またはIN2データ入力の
内の1個に等しい。S el、ect I n 1信号
が与えられる時、Mux24の出力は、DDHレジスタ
29のデータ出力に結合されるI N1入力に等しい。
S el、ect I N l信号が与えられない時、
Mux24の出力は、加減算装置22のS出力に結合さ
れるMux24へのIN2出力に等しい。  S el
ectMux信号とLoadDDH信号は、DDHレジ
スタ29ヘデータを読み込むために結合する。DDHレ
ジスタ29ヘデータを読み込むために結合する。DDH
レジスタ29に対するデータに対して、2個の可能なソ
ースがある。すなわち、それは、Mux24の出力とD
DHData In信号である。
5elect Mux信号とLoadDDH信号の同時
付与によって、DDHレジスタ29の内容がMux24
の出力に等しくさせられる。同時に付与されないS e
l、ect Mux信号と結合されたLoadDDH信
号の付与によって、DDHレジスタ29の内容がDDH
Data In信号に等しくさせられる。L oadD
 D H信号が付与されない時、DDHレジスタ29は
、DDHData In信号の状態またはMux24の
出力の状態のいずれか一方によって影響を受けない。
S hift信号の付与により、DDレジスタが1ビッ
ト左へシフトせしめられる。すなわち、DDレジスタ2
8の各ビットは隣接するより重要度の低いビットに等し
くなる。Q uotient B i を信号は、DD
レジスタ28に結合され、S hift信号がDDレジ
スタ28の最も重要度の低いビットをQ uotien
t B it倍信号等しくせしめる。DDレジスタ28
を左へ1ビットだけシフI・することによって、DDL
レジスタ30の最も重要なビットが、DDHレジスタ2
9の最も重要でないビットになることに留意されたい。
ゼロ/符号検出装置23は、DDHレジスタ29の内容
、DDLレジスタ30の内容、Caunt信号及び加減
算装置22のS出力を人力として有する。検出装置23
は、4個の信号を確認する。すなわち、それらは、バス
21の一部であって、かつ除算器コントローラ17に結
合されるところのDDH<O,S=O,S<O,及びd
d=0である。DDHレジスタ29の内容がOよりも小
さいときはいつでも、DDH<O信号が確認される。
加減算装置22のS出力値が0に等しいときはいつでも
、S−0信号が確認される。加減算装置22のS出力値
がOよりも小さいときはいつでも、SくO信号が確認さ
れる。左に多数回シフトした後(被除数信号ビットの最
初の数マイナス係数に等しい数) 、DDLレジスタ3
0に残っている被除数信号ビットが0に等しいときはい
つでも、dd=o信号が確認される。これらの信号を確
認させる条件及びこれらの信号の持つ意味については、
いかに−層詳細に説明する。
除算器コントローラ17は、順列組み合わせ論理アレイ
31とカウンタ32から構成されている。
第2図において、論理アレイ31の入力は、論理アレイ
31の右手側に示されている。また、除算器コントロー
ラ17の制御出力である論理アレイ31の出力は、論理
アレイ31の左手側に示されている。論理アレイ31の
人力は、除算器コントローラ17の状態を決定する。そ
れら入力は、除算器回路16のセロ/符号検出装置23
からの状態入力、マスタコントローラ14からの制御信
号、及びカウンタ32の出力から構成されている。カウ
ンタ32は、そのカウンタ32を増分させ、それによっ
て除算器コントローラ17を種々の状態を通して配列せ
しめる順列組み合わせ論理31に対する入力を変化させ
るところの外部クロック(図示せず)によって駆動され
る。この型のデジタルコントローラの設計及び製作は、
技術的に公知である。例えば、C、A 、 W iat
rowski及びC,H。
House著のマグロウヒル・ブック・カンパニにニュ
ーヨーク、ニューヨーク)から1980年に発行された
「ロジックとマイクロコンピュータシステムズ」の10
2頁から106頁を参照されたい。
さらに、論理アレイ31は、特定時間における出力状態
が同時入力の状態のみの関数である。非決定論理的順列
組み合わせ論理からなる。従って、論理アレイ31は、
ROM(読み出し専用メモリ)、PLA、(プログラマ
ブル論理アレイ)または、この装置におけるように、デ
ィスクリートOデジタル論理ゲートであり得る。ROM
またはPLAの代わりに、ディスクリートなデジタル論
理アレイを使用するやり方は、公知である。例えば、上
述の「ロジックとマイクロコンピュータシステムズ」の
65頁から67頁を参照されたい。除算動作は、制御信
号をバス20を介して除算器コントローラ17に伝送す
るマスクコントローラによって開始される。カウンタ3
2の出力を2値の0にセットせしめる。除算動作のスタ
ート及びオペランドの初期符号などの状態を指示するマ
スクコントローラ14からの信号の残りは、論理アレイ
31の人力に結合され、さらにアレイ31の出力を除算
動作に対する制御シーケンスを開始せしめるような方法
で、セットされる。
カウンタ32が増分すると、除算器コントローラ17に
よって付与される制御信号の状態が変化する。これは、
カウンタを増分させることで、論理アレイ31に対する
入力の状態が変化するためである。さらに、0/符号検
出器装置23の出力が、論理アレイ31の入力に結合さ
れるため、除算器コントローラ17の次の状態に、除算
器回路網16内の条件によって決定されるようにさせる
準備がある。O/符号検出器装置23による特定信号の
付与または非付与は、論理アレイ31の入力状態を変化
させ、それ故、出力状態を変化させる。
除算動作の最終段階の後、カウンタ22は論理アレイの
人力を増分する。その結果、バス20に結合され、かつ
除算プロセスが終了したことを指示する信号が、除算器
コントローラ17から出力される。
第3図は、正の除数信号による正の被除数の固定小数点
2値除算に対して使用される第2図の除算回路を説明し
ている制御フロー図である。除算技術は、復帰除算か非
復帰除算のいずれかである。
初期ステップ33で、繰り返しカウンタ(除算器コント
ローラ17からの計数信号)がOにリセットされる。除
算器コントローラ17は、ステップ34で除数信号をD
Vレジスタ27に入力するために、Load DV信号
を確認する。DDレジスタ28は、2つのステップ35
.36で被除数信号を入力される。ステップ35は、す
べてのビットを0にセットすることにより、DDレジス
タ28を始動させる。除算器コントローラ17は、ステ
ップ36でLoadDDL信号を付与することによって
、被除数信号をDDLレジスタ3oに読み込ませる。ス
テップ35で、DDHレジスタ29が、0を持たされる
ことに留意されたい。被除数信号はDDLレジスタ30
のみに読み込まれるので、ステップ35が取り除かれた
場合にはその様にならない。
ステップ37では、除算器コントローラ17が、Add
信号を確認せずに減算を行うために加減算装置22をセ
ットする。加減算装置、被除数信号及び除数信号の符号
が同じ場合には、加減算装置22が減算を行うようにセ
ットされる。それらの符号が同じでない場合には、加減
算装置22は加算を行うようセットされる。復帰除算に
対して、このセットが、除算の全ての繰り返しに対して
効果的に維持される。非復帰除算に対しては、Add信
号の状態、それ故加減算装置22が加算をするかが、全
ての繰り返しに対して変化し得る。部分剰余信号Sは、
ステップ38で決定される。ここで、Sは、DDHレジ
スタ29に含まれた部分被除数信号からDVレジスタ2
7に含まれた除数信号を引いたものに等しい。除算器コ
ントローラ17によってAdd信号が付与された場合、
結果Sは、ステップ38でDDHレジスタ29とDVレ
ジスタ27の合計に等しくなる。
部分剰余信号Sの符号は、ステップ39で調べられる。
ここで、O/符号検出器装置23からのSくO信号は、
伺与または非付与のいずれかである。Sが負(すなわち
、Sく0値号が付与される)の場合、制御がステップ4
0に移る。ここでQu。
tient B it倍信号確認されない(すなわち、
現時点の繰り返しに対する商信号ビットが0である)。
復帰除算に対して、部分剰余信号の復帰がステップ41
で生ずる。ここで、除算器コントローラは、S ele
ct I N 1値号を確認し、Mux24の出力をI
NIにセットする。そのINIは、DDHレジスタ29
に結合されているので、元の部分被除算信号に等しい。
復帰は、除数を部分剰余信号Sの後に実際に加える必要
なしに起こることに留意されたい。SはDDHレジスタ
29からDVレジスタ27を引いたものに等しいので、
S及びDVレジスタ27の合計(すなわち、復帰後の部
分剰余信号)は、単にDDHレジスタ29に等しい。こ
の型の復帰除算は、「非実行」復帰除算と呼ばれる。
部分剰余信号は、除算信号を負の部分剰余信号に実際に
加算する必要なしに、正の値に復帰される。
非復帰除算に対して、除算コントローラ17は、決して
5elect INI信号を確認しない。従って、Mu
x24の出力は、常に加減算装置22のS出力に結合さ
れているIN2人力に等しい。これは次の理由で生ずる
。すなわち、非復帰除算では、復帰ステップが存在しな
いためである。その代わり、非復帰除算では、ステップ
41Aが復帰ステップ41に取って代わる必要がある。
2つの制御路4OA、40Bは、ステップ41及びステ
ップ41Aの両方に及びそれらの両方から導かれる。ス
テップ41Aで、加減算装置22は、加算に対して、セ
ットされる(すなわち、Add信号は除算器コントロー
ラれ17によって確認される)。その結果、次の繰り返
しに関して、Sは、DVレジスタ27及びDDHレジス
タ29の合計となる。テストステップ39で、部分剰余
信号Sが負でない場合(すなわちS〈0信号が与えられ
ない)、制御はテストステップ39からQuotien
t Bit信号が与えられるステップ42に移る(すな
わち、現時点の繰り返しに対する商信号ビットは「1」
である)。
Sは正であって、除算器コントローラ17はMux24
の出力を、ステップ43で5elect INIを付与
しないことによって、Sに等しいIN2にセットするの
で、復帰除算に対しては部分剰余信号の復帰が現時点の
繰り返しに対して要求されない)。
非復帰除算に対しては、ステップ43Aがステップ43
に取って代わられる。2つの制御路が、ステップ43と
ステップ43Aの両方へ及びそれらの両方から導かれて
いることに留意されたい。ステップ43Aで、除算器コ
ントローラ17は、Add信号を与えないことによって
、次の繰り返しに関する減算に対して、加減算装置22
をセットする。
テストステップ39からの両方のブランチは、ステップ
44に集まる。ここで、除算器コントローラ17は、5
elect Mux信号及びLoadDDH信号を確認
することによって、Mux24からのデータをDDHレ
ジスタ29に転送させる。ステップ45で、除算器コン
トローラ17は、S hift信号を確認し、DDレジ
スタ28を左へ1ビツトだけシフトさせる。DDレジス
タ28を左へ1ビツトだけシフトさせることは、Quo
tient Bit信号をDDLレジスタ30の最も重
要でないビット位置にシフトすることであり、DDHレ
ジスタ29内に新しい部分被除数信号を形成する。
ステップ46で、繰り返しカウンタの計数が増分される
。ステップ46の後、計数は、ステップ33で0に初期
化されるので、計数は繰り返し数に等しい。除算繰り返
しが実行されるかどうかが、ステップ47で決められる
。ここで、計数値が被除数信号のビット数よりも大きい
かそれに等しい場合には、除算繰り返しが実行される。
例えば、被除数信号が16ビツトである場合、計数が1
6以上である時、除数繰り返しが実行される。除算繰り
返しが実行されない場合、制御はステップ38に戻され
る。そこでは、新しい部分剰余信号が計算される。除算
繰り返しが実行される場合、制御はテストステップ49
に行く。そこでは、DDHレジスタ29の内容値がOよ
りも小さいかどうかが決定される。ゼロ/符号検出器2
3は、DDHレジスタ29の内容値が0よりも小さいと
きはいつでも、信号DDH<Qを確認する。
復帰除算に対して、ステップ49のテストは常に誤りで
ある。すなわち、DDHレジスタ29の内容値は、常に
復帰除算に対して0に等しいかそれよりも大である。こ
れは、復帰除算に対しては、除算器コントローラ17が
、加減算装置22の出力であるSの符号に応答して5e
lect INI信号を確認しまたは確認しないために
起こる。復帰除算プロセスに対して、換言すれば、除算
器コントローラ17は、DDHレジスタ29の内容値が
ゼロに等しいかそれよりも大きくなるようにする。
しかし、非復帰除算に対してMux24の出力を選択す
るための復帰ステップがないため、非復帰除算に対して
は、DDHレジスタ29が0よりも小さい値を含み得る
。DDHレジスタ29の内容値が0よりも小さい場合、
制御が、ステップ50に移り、DVレジスタ27がDD
Hレジスタ29に加算される。
復帰または非復帰除算のいずれかに対して、除算プロセ
スの実行時に、除算器コントローラ17は、除算プロセ
スが終了し、DDLレジスタ30が商信号を含み、そし
てD D Hレジスタが剰余信号を含むことを示す信号
を確認する。
第4図は、負の固定小数点2進除数信号によって、正の
固定小数点2進被除数信号を除算するための制御フロー
図を示している。4つの初期化ステップ53−56にお
いて、繰り返しカウンタの計数は、0にセットされ、除
数信号はDVレジスタ27に読み込まれ、DDレジスタ
28は、全てのビットを0にセットすることにより初期
化され、そして被除数信号はDDLレジスタ30に読み
込まれる。ステップ53−56、よって、除算器コント
ローラ17によって付与された制御信号は、まさに第3
図の各対応ステップ33−36と同じである。ステップ
57において、除算器コントローラ17は、Add信号
を確認することによって加減算装置22を加算用にセッ
トする。上記されたように、被除数信号の符号が除数信
号の符号に等しくないときはいつでも、除算器コントロ
ーラ17は加減算装置22を加算用にセットする。部分
剰余信号Sは、DDHレジスタ29に含まれた部分被除
数信号をDVレジスタ27に含まれた除数信号に加算す
ることによって、ステップ58で決定される。Sの符号
は、ステップ59で調べられる。Sが0よりも小さい場
合には、ゼロ/符号検出器23が、ステップ60で除算
器コントローラ17にQuotient Bit信号(
すなわち、現時点の繰り返しに対する商信号は1である
)を確認させるS〈0信号を、確認する。復帰除算に対
し、Se1.ect INI信号を確認し、Mux24
の出力をINlにセットすることによって、ステップ6
1において、除算器コントローラ17は部分剰余信号を
正の値に復帰させる。非復帰除算に対しては、2つの制
御路60A、  60Bではずされたステップ61Aが
、ステップ61に取って替えられる。ステップ61Aに
おいて、加減算装置22は、次の繰り返しに対して減算
用にセットされる。
Sが0よりも小さい場合(すなわち、ゼロ/符号検出器
23がSくO信号を確認しない)、除算器コントローラ
17は、ステップ62でQ uotientBit信号
を確認しない。復帰除算に対しては、ステップ63にお
いて、除算器コントローラ17が、Mux24のS e
l、ect IN1制御入力を確認しないことによって
、Mux24の出力をIN2人力、すなわち、非復帰の
正の部分剰余信号Sにセットする。非復帰除算に対して
は、制御路62A、62Bではずされたステップ63A
が、ステップ63に取って替えられる。ステップ63A
において、加減算装置22は、次の繰り返しに対して加
算用にセットされる。
テストステップ59からの量のブランチは、ステップ6
4に集まる。そこでは、除算器コントローラ17が、S
 el、ect Mux信号及びLoadDDH信号の
両方を確認することによって、 Mux24の出力をD D Hレジスタ29に読み込む
ステップ65において、除算器コントローラ17は、D
Dレジスタ28を左へ1ビツトだけシフトさせる。繰り
返しカウンタの計数は、ステップ66で増分され、そし
て、ちょうど第3図のフロー図におけるごとく、ステッ
プ67でテストが実行され、除算繰り返しが実行される
かどうかが決定される。除算繰り返しが実行されない場
合、制御は、ステップ58に戻される。
繰り返しが、ステップ67で実行されるべきであると決
定される場合、制御はステップ68に移され、そこでD
Dレジスタ28が増分される。被除数信号を逆符号を持
つ除数信号で除算することは、結果の1つの相補表現を
形成することを含む。
すなわち、ステップ68実行直前のDDLレジスタ30
30の値は、商信号のjつの相補表現である。ステップ
68は、DDLレジスタ30の値を適切な2つの相補表
現に変換する。
ステップ68に続いて、DDHレジスタ内にある剰余信
号が適切な符号を持つかどうかをテストするテストステ
ップ69がある。もしもそうでない場合には、制御がス
テップ70に移る。そこでは、DVレジスタ27に記憶
された負の除数信号か、DDHレジスタ29内にある剰
余信号から減算される。第3図で説明したごとく、復帰
除算に対しては、DDHレジスタ29か常に、適切な符
号を有する信号を含む。従って、ステップ69゜70は
、非復帰除算に対してのみ有益である。除算プロセスの
実行において、除算器コントローラ17は、除算プロセ
スが終了し、商信号の2つの相補表現がDDLレジスタ
に含まれ、そして剰余信号がDDHレジスタ29に含ま
れることを示す信号を確認する。
第5図は、負の固定小数点2進除数信号を正の固定小数
点2進被除数信号によって除算するための制御フロー図
である。ステップ73で、繰り返しカウンタの計数は0
にセットされ、ステップ74で、除算器コントローラ1
7は、LoadDV信号を確認することいよって、除数
信号をDVレジスタ27に読み込む。DDレジスタ28
はステップ75で初期化される。しかし、ステップ75
に対して、DDレジスタ28の全てのビットは1にセッ
トされ、0には、セットされない。これは、被除数信号
がDDLレジスタ30に読み込まれる後、DDレジスタ
28が被除数信号の符号拡張表現を含む必要があるため
である。この場合、被除数信号は負であるので、負の被
除数信号の符号を拡張することは、DDHレジスタ29
にすく数の1を含ませることである。ステップ76にお
いて、除算器コントローラ17は、LoadDDL信号
を確認することによって負の被除数信号をDDLレジス
タ30に取り込む。
ステップ77で、被除数信号ビットは除数信号の符号と
等しくないため、除算器コントローラれ17はAdd信
号を確認して加減算装置22を加算用にセットする。部
分剰余信号Sは、DDHレジスタ29に含まれたその部
分剰余信号をDVレジスタ27に含まれた除数信号を加
算することによって、ステップ78で決定される。
もし、Sが負であれば、S〈0信号が確認され、制御が
ステップ80に移される。そこでは、除算器コントロー
ラ17 Quotient Bit信号を確認しない。
復帰除算に対して、ステップ80に続くステップ81で
、除算器コントローラ17がS elect INI信
号を与えないことで、Mux24の出力をSに等しいI
N2にセットする。
負の部分剰余信号は、復帰されないということに留意さ
れたい。これは、復帰除算の負の被除数信号への適用は
、部分被除数信号が負であることを必要とするために起
こる。非復帰除算に対して、2つの制御路80A、80
Bではずされたステップ81Aが取ってかえられる。ス
テップ81Aで、加減算装置22は、次の繰り返しに対
して加算にセットされる。Sが負でない場合には、制御
がテストステップ79Aに移される。そこで、Sが0に
等しいかテストされる。Sが0に等しくない場合(すな
わち、部分剰余信号が正、すなわち非零値である)、ス
テップ82に移される。復帰除算に対しては、ステップ
82の後にステップ83が来る。ステップ83では、正
の部分剰余信号を負の値に復帰させるために、除算器コ
ントローラ17が5elect INI信号を確認し、
Mux24の出力をINI (DDHレジスタに等しい
)にセットする。非復帰除算に対しては、2つの制御路
82A、82Bで離されたする83Aが、する83に取
って代えられる。ステップ83Aにおいて、加減算器2
2が、次の繰り返しに対して、減算にセットされる。
部分剰余信号、すなわちSがOに等しい場合、S=0信
号が確認され、制御がテストステップ79Bに移される
。ステップ79Bで、DDLレジスタ30からまだシフ
トされていない被除数信号ビットが、0に等しいかテス
トされる。被除数信号は初めにDDLレジスタ30に記
憶され、繰り返し毎に被除数信号の■ビットがDDLレ
ジスタ30からD D Hレジスタ29にシフトされる
ことに留意されたい。従って、例えば、16ビツト被除
数信号の除算に対する5回目の繰り返しにおいて、テス
トステップ78Bは、原被除数信号の0から1】ビット
(すなわち、DDLレジスタ30内に残っている被除数
信号の部分)を調べる。dd=0信号を確認するゼロ/
符号検出器23は、実行された繰り返し数を示す計数信
号を用いて、DDL30のどのビットを調べるかを決め
る。
DDLレジスタ30に残っている原被除数信号の部分の
全てのビットが0に等しい場合には、ゼロ/符号検出器
23によって、dd=0信号が確認され、制御がテスト
ステップ79Bからステップ80に移される。そうでな
い場合には、制御がステップ79Bからステップ82に
移される。ステップ79.79A及び79Bからの種々
の制御ブランチは、全てステップ84に集中する。そこ
では、除算器コントローラ17は、5elect Mu
x信号及びLoadDDH信号を確認することによって
、Mux24の出力をDDHレジスタ29に読み込む。
続くステップ85において、除算器コントローラ17は
、DDレジスタ28を左へ1ビツトだけシフトさせる。
ステップ86で、繰り返しカウンタの計数が増分される
。そして、ステップ87は、除算繰り返しが実行される
かどうかを決定する。除算繰り返しが実行されない場合
、制御がステップ78に戻される。そこでは、新しい部
分剰余信号が計算される。
除算繰り返しが実行される場合、制御がステップ88に
移され、そこでDDレジスタ28が増分される(被除数
信号の符号が除数信号の符号と等しくないため)。ステ
ップ88の後、2つのステップ89.90が実行される
。ここで、ステップ89は、DDHレジスタ29の内容
値がOよりも小さいかどうかを決定するテストステップ
である。
またステップ90では、D D Hレジスタ29から除
数信号を減算する。第3図及び第4図のフロー図と全く
同様に、ステップ90に対する制御の転移は、非復帰除
算に対してのみ可能である。また、ステップ89.90
は剰余信号を負にすることについても留意されたい。こ
れは、負の被除数信号が負の剰余信号を要求するために
起こる。
除算の実行において、除算器コントローラ17は、除算
プロセスが終了し、商信号がDDLレジスタ内に記憶さ
れ、さらに剰余信号がDDHレジスタ内に記憶されるこ
とを示す信号を確認する。
第6図は、負の固定小数点2進除算信号によって負の固
定小数点2進被除数信号を除算するための制御フロー図
を表している。ステップ93で、繰り返しカウンタの計
数はOにセットされ、ステップ44で除数信号がDVレ
ジスタ27に読み込まれる。DDレジスタ28は、ステ
ップ95で初期化される。しかし、ステップ75に関す
るものと同様に、ステップ95で、DDレジスタ28の
全てのビットが1にセットされる。これは、DDレジス
タ28が負の被除数信号を符号延長表現を含まねばなら
ないためである。全ての96で、被除数信号がDDLレ
ジスタに読み込まれる。
ステップ97において、被除数信号の符号は除数信号の
符号に等しいので、除算器コントローラ17は加減算装
置22を減算にセットする。部分剰余信号Sは、DVレ
ジスタ27に含まれた除数信号をDDHレジスタ29に
含まれた部分剰余信号から減算することによって、ステ
ップ98で決定される。部分剰余信号Sの符号は、テス
トステップ99でテストされる。
Sが負の場合、ゼロ/符号検出器23はS<0信号を確
認し、制御がステップ100に移される。
ステップ100において、Quotient Bit信
号が確認される。復帰除算に対しては、ステップ100
の後のステップ101で除算器コントローラ17が、S
 elect INI信号を確認しないことによって、
MlIX24の出力をSに等しいIN2にセットする。
ステップ81に関するものと全く同様に、負の部分剰余
信号は復帰されないことに留意されたい。非復帰除算に
対しては、2つの制御路100A、100Bではずされ
たステップl0IAにおいて、加減算装置22は、次の
繰り返しに対して減算にセットされる。
もしSか負でない場合、Sく0信号が確認されず、制御
がテストステップ99Aに移される。ここでは、SがO
と等価であるかテストされる。もしSがOに等しくなけ
れば、ゼロ/符号検出器23はS−O信号を確認せず、
制御がステップ102に移される。そこでは、商信号ビ
ット信号は確認されない。復帰除算に対しては、ステッ
プ102の後にステップ103がくる。ステップ103
では、Mux24の出力を(DDHレジスタに等しい)
INIにセラl−L、正の部分剰余信号が負値に復帰さ
れるように、除算器コントローラ17が5elect 
INI信号を確認する。非復帰除算に対しては、2つの
制御路102A、102Bではずされたステップ103
Aが、ステップ103に取って代わる。ステップ103
において、加減算装置22は次の繰り返しに対して加算
にセットされる。
部分剰余信号SがOに等しい場合、S−0信号か確認さ
れ、制御がテストステップ99Bに移される。ステップ
99Bで、(計数シフト動作後)9 DDLレジスタ30に残っている被除数信号ビットが、
0に等しいかテストされる。DDLレジスタ30に残っ
ている原波除数信号の部分の全ビットが、0に等しい場
合には、ゼロ/符号検出器23によってdd=0信号が
確認され、制御がテストステップ99Bからステップ1
00に移される。
そうでない場合には、dd=o信号が確認されず、制御
はステップ99Bからステップ102に移される。
ステップ99.99A及び99Bからの種々の制御ブラ
ンチのすべてが、ステップ104に集中している。ステ
ップ104では、除算器コントローラ17がS ele
ct Mux信号及びLoadDDH信号を確認するこ
とによって、M u x 24の出力をDDHレジスタ
29に読み込ませる。ステップI05で除算器コントロ
ーラ17除算器コントローラれDDレジスタ28を左へ
1ビットだけシフトさせる。次のステップ106におい
て、繰り返しカウンタの計数が増分される。さらに、テ
ストステップ107は、除算繰り返しが実行されるかど
0 うかを決定する。もし、除算繰り返しが、実行されない
場合には、制御がステップ98に戻される。
そこでは新しい部分剰余信号が計算される。
除算繰り返しが行われる場合には、制御がステップ11
0を伴うステップ109に移される。ステップ109、
DDHレジスタ29の内容値がOよりも小さいかどうか
を決定するためのテスト出ある。
ステップ110は、除数信号をDDHレジスタ29に加
算する。第3図、第4図、及び第5図のフロー図に対す
るものと全く同様に、ステップ110への制御の移行は
、非復帰除算に対してのみ可能である。
除算プロセスが終了した後、除算器コントローラ17が
、除算プロセスが終了し、商信号がDDHレジスタ30
内にあり、さらに剰余信号がDDHレジスタ29内にあ
ることを示す信号を確認する。
第3−6図は、固定小数点2進値の除算を表している。
浮動小数点2進値の除算に対して除算器装置15を用い
ることもまた可能である。
浮動小数点2進数は、仮数、指数、及び可能なら符号ビ
ットから構成されている。仮数は、最も重要なビットと
2番目に重要なビットとの間に含有小数点(impli
ed decimal point)を有する。
従って、最も重要なビット位置で始まり、最も重要でな
いビット位置方向に作用する仮数の各ビット位置は、2
°、2−1.2−2などを表わす。さらに、符号化浮動
小数点2進値が、上述のI EEE基準を持つ等の分離
符号ビットを持つか、仮数が2つの相補値として表され
得る。従って、最も重要なビット位置は、2°の代わり
に−20を表わす。
浮動小数点2進値の除算は、被除数信号指数から除数信
号指数を減算して商信号仮数を得ることによって、実行
される。いかなる分数結果も仮数の一部になるので、剰
余信号は確認されない。
商信号仮数は分数値であって、整数値ではないので、固
定2進除算は、除数信号仮数によって被除数信号仮数を
除算するのには使用されない。例えば、001 (小数
)の仮数によって001 (小数、25)を除算するこ
とは、010(小数、5)の仮数を与える。しかし01
0で001を除算するために固定小数点除算を適用する
と、Oが与えられる。固定小数点2進除算を用いて、適
合した被除数信号仮数が、除数信号仮数によって除算可
能なように、被除数信号仮数を適合させることは可能で
ある。これは、被除数信号仮数を左へ、仮数のビットに
等しいビット数シフトさせることによってなされる。
例えば、第3図の制御フロー図は、正の浮動小数点除数
信号仮数による正の浮動小数点被除数信号仮数の除算の
説明のために使用できる。ステップ36で、被除数信号
がDDレジスタ30に読み込まれる。除算器コントロー
ラ17がDDLレジスタ30の代わりにDDレジスタ2
8のDDHレジスタ29部分に、被除数信号を読み込む
。除算が実行されるとき、商信号仮数がDDLレジスタ
30に記憶さる。しかし、非復帰除算剰余信号が正であ
ることを確信するために、除数信号を負の剰余信号に加
算するステップ49.50は、剰余信号を確認しない浮
動小数点除算に対しては必要とされないことに留意すべ
きである。
同様に、第4図は、負の浮動小数点除数信号仮数による
正の浮動小数点被除数信号仮数の除算を説明するために
使用できる。ステップ56で、除算器コントローラ17
は被除数信号をDDLレジスタ30の代わりにDDHレ
ジスタ29に読み込む。ちょうど第3図を用いて説明し
たと同じように、浮動小数点除算に対しては、第4図の
ステップ69.70が必要とされない。
第7図は、負の2進浮動小数点の被除数信号仮数を正の
2進浮動小数点の除数信号仮数で除算するための制御フ
ローダイアグラムを示している。
ステップ113では、繰り返しカウンターの計数が0に
セットされ、ステップ114では、除算器コントローラ
17がLoadDV信号を確認し、除数信号をDVレジ
スタ27内へ読み込む。DDレジスタ28は、ステップ
115において、全てがOに初期化される。ステップ1
16では、除算器コントローラ17が、5elect 
 Mux信号を確認せず、かつLoad  DDH信号
を確認することによって、被除数信号をDDHレジスタ
29に読み込む。被除数信号をDDHレジスタ29に読
み込むことは、被除数信号の最も重要なビットをDDレ
ジスタ28の最も重要なビット位置に置くことであるの
で、被除数信号の符号延長はあり得ないことに留意すべ
きである。ステップ117では、被除数信号の符号が除
数信号の符号と同じでないことから、除算器コントロー
ラ17が加減算装置22を加算にセットするために、A
dd信号を確認する。
ステップ118では、DDHレジスタ内に保持された部
分被除数信号をDVレジスタ27内に保持された除数信
号に加算することによって、部分剰余信号Sが形成され
る。Sの符号は、ステップ119で検査される。もしも
、SがO以下であれば、S〈0信号であることが確認さ
れ、制御は商のビット信号が判断されるステップ120
へ移る。
復帰除算に対しては、ステップ121がステッ、プ12
0に続き、ここでは除算器コントローラ17はS el
、ect I N 1信号を確認せず、非復帰部分除数
であるSと同じところのMux24の出力をIN2にセ
ットする。上記された様に、被除数信号が負のとき、負
の部分剰余信号は復帰されず、正の部分剰余信号が復帰
される。非復帰除算のためには、二つの制御路120A
と120Bとで切り離されたステップ121Aがステッ
プ121に取って代わることとなる。ステップ121A
では、加減算ユニット22が次の繰り返しのための加算
にセットされる。
もしもSが負でない場合には、ゼロ/符号検出器23は
S〈0信号を確認せず、制御はテストステップ119か
ら、SがOであることを検査するためのテストステップ
119Aへ移動される。もしSが0でなければ、S−0
信号が確認されず、制御は、商ビット信号が判断される
ステップ122へ移動される。復帰除算に対しては、ス
テップ122の後にステップ123が続く。そのステッ
プでは、Mux24の出力をDDHレジスタ29のIN
lヘセットすることによって部分剰余信号を復帰させる
ために、除算器コントローラ17がSel、ect I
 N l信号を確認する。非復帰除算に対しては、2つ
の制御路122Aと122Bで切り離されているステッ
プ123Aがステップ123に取って代わることとなる
。ステップ123Aでは、加減算装置22が次の繰り返
しのため加算にセットされる。
もしもSがOであれば、S=0信号が確認され、制御は
ステップ120へ移動する。
テストステップ119.119Aからの種々の枝は、全
て、ステップ124に集中している。そこでは、Loa
dDDH信号及びS elect Mux信号を確認す
ることによって除算器コントローラ17がMux24の
出力をD D Hレジスタ29へ読み込む。ステップ1
25では、除算器コントローラ17が、DDレジスタ2
8を左に1ビットだけシフトさぜる。計数値はステップ
126で増加され、除算の繰り返しが完了したか否かが
ステップ127で検査される。もし、除算の繰り返しが
完了していなければ、制御はステップ118へ戻される
そうでない場合には、除算処理が終了し、商信号7 がDDLレジスタ29の中に存在することを示す信号が
確認される。剰余信号は確認されない。
第8図は、負の2進浮動小数点の被除数信号仮数を負の
2進浮動小数点の除数信号仮数で除算するための制御フ
ローダイアグラムを示している。
ステップ133では、繰り返しカウンターであるC o
untがOにセットされ、ステップ134では、除算器
コントローラ17が除数信号をDVレジスタ27内へ読
み込む。DDレジスタ28は、ステップ135において
、全てがOに初期セットされる。
ステップ136では、被除数信号の符号が除数信号と同
じであることから、除算器コントローラ17が加減算ユ
ニット22を減算にセットする。
ステップ138では、DDHレジスタ内に保持された部
分被除数信号からDDレジスタ27内に保持された除数
信号を減算することによって、部分剰余信号Sが形成さ
れる。Sの符号は、ステップ139で検査される。もし
も、Sが0以下であれば、S〈0信号であることが確認
され、制御は商のビット信号が判断されるステップ14
0へ移8 る。復帰除法のために、ステップ141がステップ14
0に続き、ここでは除算器コントローラ17はINlの
選択(Select I N 1 )を確認せず、非復
帰部分除数であるSと同じところのMux24の出力を
IN2にセットする。非復帰除算のためには、二つの制
御通路140Aと140Bとで切り離されたステップ1
41Aがステップ141に取って代わることとなる。ス
テップ141Aでは、加減算ユニット22が次の繰り返
しのための減算用にセットされる。
もしもSが負でない場合には、s<o信号であるかどう
かは確認されず、制御はテストステップ139から、S
が0であることを検査するためのテストステップ139
Aへ移動される。もしSが0でなければ、S=Oなる信
号かどうかは確認されず、制御は、商のビット信号が判
断されないステップ142へ移動される。復帰除算のた
めには、除算器17が、INIの選択(Select 
I N 1 )を確認することによって、部分剰余信号
を復帰させ、もって、Mux24の出力をDDHレジス
タ29のINIヘセッI・する。非復帰除算のためには
、2つの制御通路142Aと142Bで切り離されてい
るステップ143Aがステップ143に取って代わるこ
ととなる。ステップ143Aでは、加減算ユニット22
が次の繰り返しのための加算のためにセットされる。
もしもSがOであれば、S−0信号は確認されずに、制
御はステップ140へ移動する。
テストステップ139.139Aからの種々の枝は、全
て、LoadDDH信号及び5elect Mux信号
を確認することによって除算器コントローラ17がMu
x24の出力をDDHレジスタ29ヘセットするところ
のステップ144へ集束している。
ステップ145では、除算器コントローラ17は、S 
hift信号がDDレジスタ28を左に1ビツトだけシ
フトさせることを確認する。カウント値はステップ14
6で増加され、除算の繰り返しが完了したか否かがステ
ップ147で検査される。もし、除算の繰り返しが完了
していなければ、制御はステップ138へ戻される。そ
うでない場合には、除算処理が終了したことを示す信号
が確認され、商の信号がDDLレジスタ29の中に存在
することとなる。剰余信号は確認されない。
本発明は、何れかのビット数を有するレジスタと他のエ
レメントによっても実施される。除算ユニット15は、
マイクロプロセッサ12の一部として示されているが、
この除算ユニット15は、他のディジタルデバイスの一
部としても、あるいは、スタンド−アローン・ユニット
とじても構成され得る。データバス19及びコントロー
ルバス20は、それぞれ、複数のバスに分解され得るで
あろう。同様に、これらのバス19.20は、つのバス
に結合することも可能である。
除算器コントローラ17として示された特定のハードウ
ェアも使用することが出来る。同様に、同じ機能を有す
る異なるハードウェアも、その除算回路に代えることが
出来る。さらに、除算器コントローラ17又は除算回路
、あるいはこれらの双方は、マイクロコンピュータ内で
実行されるスフトウエアによって構成することも可能で
あり、このことは「方向閾値によるフォースフィールア
クチュエータの誤動作検出(フォース・フィール・アク
チュエータ・フォールト・デテクション・ウィズ・ディ
レクショナル・スレッショルド)」と題する米国特許第
4,294,162号(フォラ−等)において(他の技
術分野で)論ぜられるハードウェア/ソフトウェアの均
等性の観点から明瞭であろう。
〔発明の効果〕
本発明によれば、負の値を正の値に変換する必要がなく
、固定あるいは浮動小数点の負の2進値の除算を行える
ので、除算処理の時間が節約でき、必要なハードウェア
も少なくて済む。
【図面の簡単な説明】
第1図は本発明が使用されているマイクロプロセッサの
ブロックダイヤグラムであり、第2図は本発明になる除
算器ユニットの回路図であり、 第3図は、正の被除数の正の除数による除算を行う際の
、第2図の除算器ユニットの動作を図示するための制御
フローダイアグラムであり、第4図は、正の被除数によ
る除算を行う際の、第2図の除算器ユニットの動作を図
示するための制御フローダイアグラムであり、 第5図は、負の被除数による固定小数点除算を行う際の
、第2図の除算器ユニットの動作を図示するための制御
フローダイアグラムであり、第6図は、負の被除数によ
る固定小数点除算を行う際の、第2図の除算器ユニット
の動作を図示するための制御フローダイアグラムであり
、第7図は、負の被除数による浮動小数点除算を行う際
の、第2図の除算器ユニットの動作を図示するための制
御フローダイアグラムであり、そして、 第8図は、負の被除数の負の除数による浮動小数点除算
を行う際の、第2図の除算器ユニットの動作を図示する
ための制御フローダイアグラムである。 〔符号の説明〕 12:マイクロプロセッサ ;中央処理/インタフェース装置 :マスタコントローラ :除算装置 :除算各回路 :除算器コントローラ 19.20:バス :加減算装置 :ゼロ/符号検出装置 : DDHレジスタ : DDLレジスタ :順列組合せアレイ :カウンタ

Claims (7)

    【特許請求の範囲】
  1. (1)被除数信号を除数信号で除算して商信号と剰余信
    号を発生するための除算装置であって、上記被除数信号
    、上記除数信号、部分剰余信号、そして、部分被除数信
    号を記憶する記憶手段と、異なる符号を有する上記除数
    信号及び上記被除数信号と、同一符号を有する上記部分
    被除数信号と上記被除数信号とに応答して、上記除数信
    号を上記部分被除数信号に加えることによって上記部分
    剰余信号を発生し、上記部分剰余信号が0の場合には、
    それぞれの商ビットを0にセット、上記部分剰余信号が
    0より小さい場合はそれぞれの商信号ビットを1にセッ
    トするため、上記被除数信号及び上記除数信号に応答す
    る除算手段とを備えたことを特徴とする除算装置。
  2. (2)請求項1に記載された被除数信号を除数信号で除
    算して商信号と剰余信号を発生するための除算装置にお
    いて、復帰除算に対しては、上記除算手段は、上記被除
    数信号及び上記除数信号が同一符号を有している場合に
    は、上記部分被除数信号から除数信号を引くことにより
    上記部分剰余信号を発生し、また、復帰除算に対しては
    、上記除算手段は、上記被除数信号及び上記除数信号が
    異なる符号を有している場合には、上記除数信号を上記
    部分被除数信号に加算することによって上記部分剰余信
    号を発生することを特徴とする除算装置。
  3. (3)請求項2に記載された被除数信号を除数信号で除
    算して商信号と剰余信号を発生するための除算装置にお
    いて、復帰除法のために、商信号のそれぞれのビットは
    、上記除数信号が負でありそして上記部分剰余信号が負
    である場合には、1にセットされ、そして、復帰除法の
    ために、商信号のそれぞれのビットは、上記除数信号が
    正でありそして上記部分剰余信号が0ではない正である
    場合には、1にセットされることを特徴とする除算装置
  4. (4)請求項1に記載された、被除数信号を除数信号で
    除算して商信号と剰余信号を発生するための除算装置に
    おいて、非復帰除算に対しては、上記除算手段は、上記
    部分被除数信号が0より小さい場合には、上記部分被除
    数信号に正の除数信号を加算しまたは上記部分被除数信
    号から負の除数信号を減算することによって、上記部分
    剰余信号を発生することを特徴とする除算装置。
  5. (5)請求項4に記載された被除数信号を除数信号で除
    算して商信号と剰余信号を発生するための除算装置にお
    いて、復帰除算に対して、商信号のそれぞれのビットは
    、上記除数信号が負でありそして上記部分剰余信号が負
    である場合には、1にセットされ、さらに、復帰除算に
    対して、商信号のそれぞれのビットは、上記除数信号が
    正でそして上記部分剰余信号が0ではなく正の場合には
    、1にセットされることを特徴とする除算装置。
  6. (6)請求項1に記載された被除数信号を除数信号で除
    算して商信号と剰余信号を発生するための除算装置にお
    いて、上記記憶手段は複数のハードウェアのレジスター
    であることを特徴とする除算装置。
  7. (7)請求項3、5または6のいずれかに記載された被
    除数信号を除数信号で除算して商信号と剰余信号を発生
    するための除算装置において、上記除算手段は、加減算
    装置、Mux、零/符号検出装置、及び除算コントロー
    ル装置とから構成されていることを特徴とする除算装置
JP2310108A 1989-11-15 1990-11-15 除算装置 Pending JPH03186924A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/437,000 US5016210A (en) 1989-11-15 1989-11-15 Binary division of signed operands
US437,000 1989-11-15

Publications (1)

Publication Number Publication Date
JPH03186924A true JPH03186924A (ja) 1991-08-14

Family

ID=23734654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2310108A Pending JPH03186924A (ja) 1989-11-15 1990-11-15 除算装置

Country Status (3)

Country Link
US (1) US5016210A (ja)
JP (1) JPH03186924A (ja)
GB (1) GB2239536B (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2984463B2 (ja) * 1991-06-24 1999-11-29 株式会社日立製作所 マイクロコンピュータ
US5317531A (en) * 1992-04-02 1994-05-31 Intel Corporation Apparatus for reducing the size of an arithmetic and logic unit necessary to practice non-restore division
US5426600A (en) * 1993-09-27 1995-06-20 Hitachi America, Ltd. Double precision division circuit and method for digital signal processor
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
US5442581A (en) * 1993-11-30 1995-08-15 Texas Instruments Incorporated Iterative division apparatus, system and method forming plural quotient bits per iteration
US5644524A (en) * 1993-11-30 1997-07-01 Texas Instruments Incorporated Iterative division apparatus, system and method employing left most one's detection and left most one's detection with exclusive or
US5517439A (en) * 1994-02-14 1996-05-14 Matsushita Electric Industrial Co., Ltd. Arithmetic unit for executing division
FR2720172B1 (fr) * 1994-05-20 1996-06-28 Sgs Thomson Microelectronics Dispositif de mise en Óoeuvre numérique d'une opération de division.
US5574677A (en) * 1994-11-23 1996-11-12 Exponential Technology, Inc. Adaptive non-restoring integer divide apparatus with integrated overflow detect
US5831877A (en) * 1995-05-26 1998-11-03 National Semiconductor Corporation Bit searching through 8, 16, or 32 bit operands using a 32 bit data path
JP3544821B2 (ja) * 1997-04-07 2004-07-21 株式会社東芝 除算回路
US6094669A (en) * 1998-04-08 2000-07-25 Advanced Micro Devices, Inc. Circuit and method for determining overflow in signed division
US5966085A (en) * 1998-04-09 1999-10-12 Lockheed Martin Corporation Methods and apparatus for performing fast floating point operations
GB2341950B (en) * 1998-06-10 2003-03-12 Lsi Logic Corp Digital processing
KR100451720B1 (ko) * 2000-10-16 2004-10-08 엘지전자 주식회사 모듈로 연산 회로
US7237000B2 (en) * 2001-08-16 2007-06-26 Texas Instruments Incorporated Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly
NZ524378A (en) * 2003-02-24 2004-12-24 Tait Electronics Ltd Binary shift and subtract divider for phase lock loops
US7403966B2 (en) * 2003-12-08 2008-07-22 Freescale Semiconductor, Inc. Hardware for performing an arithmetic function
EP1624299B1 (de) 2004-08-03 2016-10-12 Hach Lange GmbH Verfahren zur Bestimmung von Parametern einer gasselektiven Elektrode
CN101065937A (zh) * 2004-09-30 2007-10-31 皇家飞利浦电子股份有限公司 获取传输格式指示符的方法和装置以及移动电话
US8892622B2 (en) * 2011-04-07 2014-11-18 Oracle International Corporation Pipelined divide circuit for small operand sizes
US9747074B2 (en) 2014-02-25 2017-08-29 Kabushiki Kaisha Toshiba Division circuit and microprocessor
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB777839A (en) * 1954-05-19 1957-06-26 Nat Res Dev Dividers for electrical digital computing engines
FR91575E (fr) * 1966-01-07 1968-07-05 Commissariat Energie Atomique Diviseur arithmétique électronique
US3492468A (en) * 1966-09-29 1970-01-27 Ibm Division of negative dividend expressed in two's complement form
DE1549461B2 (de) * 1967-03-02 1974-03-07 Ibm Deutschland Gmbh, 7000 Stuttgart Divisionseinrichtung
US4320464A (en) * 1980-05-05 1982-03-16 Control Data Corporation Binary divider with carry-save adders
JPS5731042A (en) * 1980-07-31 1982-02-19 Toshiba Corp Multiplaying and dividing circuits
US4384341A (en) * 1980-12-24 1983-05-17 Honeywell Information Systems Inc. Data processor having carry apparatus supporting a decimal divide operation
JPS58132837A (ja) * 1982-02-03 1983-08-08 Hitachi Ltd 10進除算装置
US4503512A (en) * 1982-02-22 1985-03-05 Amdahl Corporation Cellular division circuit
JPS60101640A (ja) * 1983-11-07 1985-06-05 Hitachi Ltd 10進除算装置
CA1231455A (en) * 1984-04-09 1988-01-12 Masayuki Ikeda Nonrestoring divider
US4777613A (en) * 1986-04-01 1988-10-11 Motorola Inc. Floating point numeric data processor
US4872214A (en) * 1988-04-01 1989-10-03 Digital Equipment Corporation Method and apparatus for high performance division

Also Published As

Publication number Publication date
GB2239536A (en) 1991-07-03
US5016210A (en) 1991-05-14
GB2239536B (en) 1994-05-11
GB9024395D0 (en) 1991-01-02

Similar Documents

Publication Publication Date Title
JPH03186924A (ja) 除算装置
JP2674754B2 (ja) バレル・シフタ
JP3244506B2 (ja) 小型乗算器
JPS6027026A (ja) 乗算装置
US5184318A (en) Rectangular array signed digit multiplier
Avizienis Arithmetic algorithms for error-coded operands
JPH07168697A (ja) 倍精度除算回路および方法
US5144576A (en) Signed digit multiplier
CN111813375A (zh) 求模运算处理方法及相关产品
JP3436994B2 (ja) シフト装置
EP0044450B1 (en) Digital adder circuit
EP0605885A2 (en) Method and apparatus for automatically designing logic circuit, and multiplier
JPS63123125A (ja) 浮動小数点数の加算装置
JPH0317132B2 (ja)
KR100627993B1 (ko) 3입력 분할 가산기
EP0643352A1 (en) Self-checking complementary adder unit
JPH0374419B2 (ja)
US3675000A (en) Apparatus for arithmetic operations by alerting the corresponding digits of the operands
US5432727A (en) Apparatus for computing a sticky bit for a floating point arithmetic unit
US6615228B1 (en) Selection based rounding system and method for floating point operations
JPH0370416B2 (ja)
US4159529A (en) Fibonacci code adder
US6044391A (en) Method of generating the sticky-bit from the input operands
KR100265358B1 (ko) 고속의쉬프팅장치
JPS63221426A (ja) GF(2▲上m▼)のガロア体に属する元の乗算装置