Nothing Special   »   [go: up one dir, main page]

JPH06282416A - 除算器及びそれを備えた計算機 - Google Patents

除算器及びそれを備えた計算機

Info

Publication number
JPH06282416A
JPH06282416A JP5071542A JP7154293A JPH06282416A JP H06282416 A JPH06282416 A JP H06282416A JP 5071542 A JP5071542 A JP 5071542A JP 7154293 A JP7154293 A JP 7154293A JP H06282416 A JPH06282416 A JP H06282416A
Authority
JP
Japan
Prior art keywords
input
register
output
divisor
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.)
Pending
Application number
JP5071542A
Other languages
English (en)
Inventor
Fumiki Sato
文樹 佐藤
Koichi Fujita
紘一 藤田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5071542A priority Critical patent/JPH06282416A/ja
Priority to US08/206,585 priority patent/US5467299A/en
Publication of JPH06282416A publication Critical patent/JPH06282416A/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
    • 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
    • G06F7/537Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
    • G06F7/5375Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT

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)

Abstract

(57)【要約】 【目的】 従来技術と同様に RSD表示を用い、且つ商デ
ジットを決定するためのテーブルを単純にして実回路を
構成する場合のトランジスタ数を削減し得る除算器の提
供を目的とする。 【構成】 −1,0,1の内のいずれかの値をとる符号
付きデジットで表示された被除数または部分剰余と、2
の補数表示の除数とを使用する減算シフト型の除算器で
あって、除算の実行中における各時点の商デジットの値
に応じて除数をその値と同じ値,反転値,または”0”
のいずれかに変換して出力するセレクタ9と、部分剰余
と、変換手段の出力と、1または0とを加(減)算する
加算器10と、除算の実行中における各時点の商デジット
と、それに応じて加算器10により得られた部分剰余の一
部とから次の商デジットを決定する商デジット決定回路
2とを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は除算器に関し、特に減算
シフト型の除算器に関する。また、そのような除算器を
備えた計算機に関する。
【0002】
【従来の技術】RSD表示された被除数または部分剰余と
2の補数表示の除数との間で減算を行う減算シフト型の
除算の原理が、IEEE JOURNAL OF SOLID-STATE CIRCUIT,
Vol.25, No.3 (JUNE, 1990)の第748 ページ乃至第756
ページに示されている。また、この文献に示されている
除算の原理に従った除算器,演算処理装置としては種々
提案されているが、代表的なものとしては、特開昭63-4
9836号公報, 特開平3-102519号公報, 特開平2-112023号
公報等がある。
【0003】RSD(Redundant Signed Digit) 表示の数と
は、各桁の数を{-1, 0, 1}によって表示する数表示で
あり、下記式のYのように表現される。
【0004】
【数1】
【0005】一方、2の補数表示の数は下記式のZのよ
うに表現される。
【0006】
【数2】
【0007】上述の RSD表示の数Yと2の補数表示の数
Zとの加算は図20の模式図に示されているように行わ
れ、その和Sは下記式に示す RSD表示の数として得られ
る。
【0008】
【数3】
【0009】なお、図20において、大きい○印はそれぞ
れ全加算器を示しており、小さい○印はそれぞれ全加算
器への反転入力または全加算器からの反転出力を示して
いる。図21は図20に示されている各全加算器の真理値表
を示す模式図である。
【0010】一方、 RSD表示の数Yと2の補数表示の数
Zとの減算は図22の模式図に示されているように行わ
れ、その差Dは下記式に示す RSD表示の数として得られ
る。
【0011】
【数4】
【0012】なお、図22においては図20と同様に、大き
い○印はそれぞれ全加算器を示しており、小さい○印は
それぞれ全加算器への反転入力または全加算器からの反
転出力を示している。また、図22に示されている各全加
算器の真理値表は上述の図21に示されているものと同じ
である。このような RSD表示の数Yと2の補数表示の数
Zとの加算,減算はいずれもキャリーの伝播を伴わない
ため高速に実行可能である。
【0013】減算シフト型の除算器では、部分剰余(被
除数)Rj と除数Dとに対して商デジットqj は下記
(1) 式及び(2) 式を満足するように選ばれる Rj+1 =2・(Rj −qj ・D) ・・・(1) −2・|D|<Rj+1 <2・|D| ・・・(2)
【0014】式(1) 及び式(2) を満足するような商デジ
ットqj の選択方法は唯一ではなくてある程度の任意性
がある。たとえば、回復型の除算では、正の部分剰余
(被除数)Rj と除数Dとに対して商デジットqj は、 qj ∈{0,1} であり、非回復型の除算では、 qj ∈{−1,1} である。また、 qj ∈{−1,0,1} とすることも可能であり、これらは前述の文献の除算原
理に使用されている。
【0015】ところで、前述の文献の除算原理では、商
デジットqj を図23に示されているようなテーブルに従
って決定している。但し、ここで除数Dと部分剰余Rj
とは下記式に示されているようになり、図23中のr0
1 ,r2 はそれぞれ下記式のrj,0 ,rj,1 ,rj,2
を示している。
【0016】
【数5】
【0017】
【発明が解決しようとする課題】このように、上述の従
来技術では、除算のサイクルにおいてキャリーの伝播が
ないため高速に除算を実行することが可能である。ま
た、剰余が2進数の差で与えられるため、2の補数表現
への変換が容易であるという利点がある。
【0018】しかし、商デジットを決定するためのテー
ブルが複雑であるため、商デジット決定手段を集積回路
等に実回路として実現するに際してトランジスタ数が多
くなるという問題がある。また、除数の値を規格化する
必要がある。更に、除数が”−1”である場合には除数
を下位の方向へ拡張して最下位ビットを見掛け上”0”
にする必要が生じる。
【0019】また、上述のような除算器は通常の計算機
のCPU 及びALU との間で直接データを授受することが出
来ず2の補数表現への変換が必要である。
【0020】本発明はこのような事情に鑑みてなされた
ものであり、従来技術と同様に RSD表示を用い、且つ商
デジットを決定するためのテーブルを単純にして実回路
を構成する場合のトランジスタ数を削減し得る除算器の
提供を目的とする。
【0021】また本発明は、除数の値に従って部分剰余
から商デジット決定手段に入力すべき部分を抽出して商
デジットを決定することにより除数を規格化する必要の
ない除算器の提供を目的とする。
【0022】更に本発明は、実回路を構成する場合に小
数のトランジスタの増加のみで、除数が”−1”である
場合においても除算の実行が可能な除算器の提供を目的
とする。
【0023】また更に本発明は、 CPUから効率的に被除
数と除数とを上述のような除算器に書込むことが可能な
計算機の提供を目的とする。
【0024】更に本発明は、商及び剰余を上述のような
除算器からCPU に効率的に読出すことが可能な計算機の
提供を目的とする。
【0025】
【課題を解決するための手段】本発明の除算器は、−
1,0,1の内のいずれかの値をとる符号付きデジット
で表示された被除数または部分剰余と、2の補数表示の
除数とを使用する減算シフト型の除算器であって、除算
の実行中における各時点の商デジットの値に応じて除数
をその値と同じ値,反転値,または”0”のいずれかに
変換して出力する変換手段と、部分剰余と、変換手段の
出力と、1または0とを加(減)算する加算手段と、除
算の実行中における各時点の商デジットと、それに応じ
て加算手段の加(減)算により得られた部分剰余の一部
とから次の商デジットを決定する次商デジット決定手段
とを備えている。
【0026】また本発明の除算器は、−1,0,1の内
のいずれかの値をとる符号付きデジットで表示された被
除数または部分剰余と、2の補数表示の除数とを使用す
る減算シフト型の除算器であって、除算の実行中におけ
る各時点の商デジットに応じて除数を変換する変換手段
と、部分剰余と、変換手段の出力と、1または0を加
(減)算する加算手段と、除算の実行中における各時点
の商デジットに応じて加算手段の減算により得られた部
分剰余の一部を使用して次の商デジットを決定する次商
デジット決定手段と、除数の値に応じて、次商デジット
決定手段により次の商デジットを決定するために部分剰
余からその一部を抽出する抽出手段とを備えている。
【0027】更に本発明の除算器は、−1,0,1の内
のいずれかの値をとる符号付きデジットで表示された被
除数または部分剰余と、2の補数表示の除数とを使用す
る減算シフト型の除算器であって、除算の実行中におけ
る各時点の商デジットに応じて除数を変換する変換手段
と、部分剰余と、変換手段の出力と、1または0を加
(減)算する加算手段と、除算の実行中における各時点
の商デジットに応じて加算手段の減算により得られた部
分剰余の一部を使用して次の商デジットを決定する次商
デジット決定手段と、除数の値に応じて、次商デジット
決定手段により次の商デジットを決定するために部分剰
余からその一部を抽出する抽出手段と、除数が”−1”
である場合に”−2”に変換する手段とを備えている。
【0028】本発明の計算機は、−1,0,1の内のい
ずれかの値をとる符号付きデジットで表示された被除数
または部分剰余を使用し、被除数の非正の部分を保持す
る第1のレジスタと、被除数の非負の部分を保持する第
2のレジスタと、除数を保持する第3のレジスタとを有
する除算器と、第1のレジスタとは第1のバスで、第2
のレジスタとは第2のバスでそれぞれ接続されたALU
とを備えている。
【0029】また本発明の計算機は、商または剰余が−
1,0,1の内のいずれかの値をとる符号付きデジット
で表示され、商の非正の部分を保持する第1のレジスタ
と、剰余の非正の部分を保持する第2のレジスタと、商
の非負の部分を保持する第3のレジスタと、剰余の非負
の部分を保持する第4のレジスタとを有する除算器と、
第1のレジスタ及び第3のレジスタとは第1のバスで、
第2のレジスタ及び第4のレジスタとは第2のバスでそ
れぞれ接続されたALUとを備えている。
【0030】
【作用】本発明の除算器では、除算の実行中における各
時点の商デジットの値に応じて除数がその値と同じ値,
反転値,または”0”のいずれかに変換手段により変換
され、除算の実行中における各時点の商デジットと、そ
れに応じて加算手段の加(減)算により得られた部分剰
余の一部とから次商デジット決定手段により次の商デジ
ットが決定される。
【0031】また本発明の除算器では、除算の実行中に
おける各時点の商デジットに応じて除数が変換手段によ
り変換され、除算の実行中における各時点の商デジット
に応じて加算手段の減算により得られた部分剰余の一部
を使用して次の商デジットが次商デジット決定手段によ
り決定され、更に除数の値に応じて、次商デジット決定
手段により次の商デジットを決定するために部分剰余か
らその一部が抽出手段により抽出される。
【0032】更に本発明の除算器では、上述に加えて、
除数が”−1”である場合に”−2”に変換されて除算
が行われる。
【0033】本発明の計算機では、2の補数で表示され
た被除数の最上位の桁のデジットを第1のレジスタに、
被除数の他の全ての桁のデジットを第2のレジスタにそ
れぞれ第1のバスを通じて同時に書込むと共に第1及び
第2のレジスタのデータが書き込まれない部分をクリア
し、除数を第3のレジスタに第2のバスを通じて書込む
ことにより、除算器に除算を行わせる。
【0034】また本発明の計算機では、第1のレジスタ
の内容を第1のバスを通じて、第3のレジスタの内容を
第2のバスを通じてそれぞれALUに与えて減算させる
ることにより2の補数に変換された商を得、第2のレジ
スタの内容を第1のバスを通じて、第4のレジスタの内
容を第2のバスを通じてそれぞれALUに与えて減算さ
せることにより2の補数に変換された剰余を得る。
【0035】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。本発明の除算器は、被除数あるいは部分
剰余として RSD表示の数を使用し、除数として2の補数
表示の数を使用する。
【0036】図2は本発明の除算器に使用される商デジ
ットテーブルを示す模式図であり、前述の図23に示され
ている従来の除算器に使用される商デジットテーブルに
比してはるかに単純なこのテーブルに従って本実施例の
除算器は商デジットを決定する。なおこのテーブルは、
j回目の演算の結果により得られる部分剰余Rj+1 の内
の特定の位置の連続した3桁の数X2 ,X1 ,X0 と次
の商デジットqj+1 との対照を行うために作成されてい
る。
【0037】なお図2に示されている商デジットテーブ
ルにおいて、xは参照しないことを示し、qj はj回目
の商デジットを示している。また、ここで言う部分剰余
j+1 の内の特定の位置の連続した3桁の数とは、除数
Dを上位から見た場合に連続した”0”または”1”の
最後の桁に対応する桁を先頭とする部分剰余Rj+1 中の
3桁の数である。
【0038】図3の模式図は商デジットqj がとり得る
3通りの値に対応した演算を示している。なお、図3に
おいては前述の従来の図20及び図22と同様に、大きい○
印はそれぞれ全加算器を示しており、小さい○印はそれ
ぞれ全加算器への反転入力または全加算器からの反転出
力を示している。また、図3に示されている各全加算器
の真理値表は前述の従来例の図21と同様である。
【0039】図3(a) は、”qj =1”の場合に対応
し、部分剰余Rj と除数Dとの減算を示す。図3(b)
は、”qj =−1”の場合に対応し、部分剰余Rj と除
数Dとの加算を示す。図3(c) は、”qj =0”の場合
に対応し、部分剰余Rj と数”0”との加算を示す。
【0040】図1は本発明の除算器の一実施例の構成を
示すブロック図である。この図1に示されている実施例
の除算器は32ビット相互の除算を行う。図1において、
参照符号1は第1のレジスタ(以下、第1レジスタペア
と言う) であり、被除数を格納する32ビットのレジスタ
と、部分剰余の一部を格納する32ビットのレジスタとの
2個のレジスタで一組に構成されている。この第1レジ
スタペア1へは後述する係数抽出回路11の出力が第2の
制御信号φ2 に同期して入力され、その出力は後述する
第1シフタ3に与えられている。
【0041】参照符号2は商デジット決定手段としての
商デジット決定回路である。この商デジット決定回路2
は後述する係数抽出回路11の出力を入力とし、その出力
は第1シフタ3及び後述するセレクタ9に与えられてい
る。
【0042】第1シフタ3は、第1レジスタペア1の出
力と、商デジット決定回路2の出力とを入力し、その出
力は後述する第2シフタ6及び第1ラッチペア4に与え
られている。
【0043】参照符号4は一組の32ビットの第1のラッ
チ(以下、第1ラッチペアと言う)であり、上述の第1
シフタ3の出力を第1の制御信号φ1 に同期して入力し
て一時的に保持すると共に、係数抽出回路11へ出力す
る。
【0044】参照符号5は一組の32ビットの第2のレジ
スタ(以下、第2レジスタペアと言う) である。この第
2レジスタペア5には係数抽出回路11の出力が第2の制
御信号φ2 に同期して入力され、その出力は第2シフタ
6に与えられている。
【0045】参照符号6は第2シフタであり、前述のよ
うに第2レジスタペア5の出力と第1シフタ3の出力と
が入力され、その出力は後述する第2ラッチペア7に与
えられている。
【0046】参照符号7は第2のラッチ(以下、第2ラ
ッチペアと言う)であり、第2シフタ6の出力を第1の
制御信号φ1 に同期して入力して一時的に保持すると共
に、加算器10の第1の入力端子へ出力する一組の32ビッ
トのラッチである。参照符号8は除数Dを格納する32ビ
ットの除数レジスタである。この除数レジスタ8は外部
から与えられる除数Dを保持すると共に後述するセレク
タ9へ出力する。
【0047】参照符号9はセレクタであり、図1にはそ
の機能を象徴化して示してある。このセレクタ9は、上
述の除数レジスタ8に保持されている除数Dを入力し、
端子91からは除数Dをそのまま、端子92からは除数Dの
反転値を、端子93からは”0”をそれぞれ出力する。そ
して、セレクタ9は商デジット決定回路2から与えられ
る商デジットに応じて上述の3端子91, 92, 93の内のい
ずれかを、具体的には除数そのままの値, 除数の反転
値, ”0”のいずれかを選択して出力し、加算器10の第
2の入力端子へ出力する。
【0048】加算器10は、 RSD表示の数である第2ラッ
チペア7の出力を第1の入力端子に入力し、2の補数表
示の数であるセレクタ9の出力を第2の入力端子に入力
し、両者の加算を行う。この加算器10による加算結果は
係数抽出手段11へ出力される。
【0049】参照符号11は係数抽出手段としての係数抽
出回路であり、加算器10の出力と第1ラッチペア4の出
力とから前述の部分剰余Rj+1 の内の特定の位置の連続
した3桁の数を係数として抽出する。
【0050】図4は、セレクタ9及び加算器10の詳細な
構成を一体化して示した回路図である。但し、図4には
1ビット分の構成が示されており、この構成が並列に32
ビット配列されることにより、セレクタ9及び加算器10
が構成される。
【0051】商デジットqj は下記式で表される。 qj =qj * −qj **;qj **,qj * ∈{0,1} 図4において、参照符号12は商デジットqj **の入力端
子を、13は商デジットqj * の入力端子をそれぞれ示し
ている。また、参照符号14は除数Dの1ビット入力端子
を、15は排他的 NORゲートを、16は排他的ORゲートをそ
れぞれ示している。
【0052】排他的 NORゲート15の一方の入力には入力
端子12が、他方の入力には入力端子14がそれぞれ接続さ
れており、その出力はNANDゲート17の一方の入力に与え
られている。また、排他的ORゲート16の一方の入力には
入力端子13が、他方の入力には入力端子14がそれぞれ接
続されており、その出力はNANDゲート17の他方の入力に
与えられている。NANDゲート17の出力はインバータ18に
入力されており、このインバータ18の出力は後述する排
他的ORゲート23, ANDゲート24及び NORゲート16に与え
られている。以上の参照符号15, 16, 17, 18によりセレ
クタ9のiビットが構成される。
【0053】部分剰余または被除数Rj の内の加算器10
へは上位32ビットが常に入力される。この加算器10に入
力される上位32ビットを以下の説明ではRj,i と表し、
下記式にて表す。 Rj,i =Rj,i * −Rj,i **;Rj,i **, Rj,i * ∈{0,1}
【0054】図4において、参照符号19及び20は第2ラ
ッチペア7からRj,i **及びRj,i * がそれぞれ入力さ
れる入力端子である。また、参照符号21は排他的ORゲー
トであり、その一方の入力には入力端子19が、他方の入
力には入力端子20がそれぞれ接続されており、その出力
はインバータ22を介して NORゲート23, ANDゲート24及
び NORゲート26に与えられている。
【0055】排他的ORゲート23, ANDゲート24及び NOR
ゲート26それぞれの一方の入力には上述のようにインバ
ータ18の出力が、それぞれの他方の入力にはインバータ
22の出力が接続されている。参照符号25はインバータで
あり、上述の排他的ORゲート23の出力を入力してR
j+1, i **を出力する。即ち、このインバータ25の出力は
j+1, i **の出力端子29になっている。
【0056】NORゲート26の一方の入力には入力端子19
が接続されており、他方の入力には前述の如くインバー
タ22の出力が与えられている。そして、この NORゲート
26の出力は NORゲート27の一方の入力に与えられてい
る。NORゲート27の他方の入力には前述の ANDゲート24
の出力が与えられており、その出力はインバータ28に与
えられている。インバータ28は上述の NORゲート27の出
力を入力してRj+1, j+1 * を出力する。即ち、このイン
バータ28の出力はRj+1, j+1 * の出力端子29になってい
る。
【0057】以上の参照符号21乃至28により加算器10の
iビットが構成される。なお、加算器10の第iビット
は、 Rj+1, i=Rj+1, i * −Rj+1, i **j+1, i+1=Rj+1, i+1 * −Rj+1, i+1 ** のRj+1, i **及びRj+1, i+1 * を与える。
【0058】図5及び図6はセレクタ9と加算器10との
真理値表を示す模式図である。図5の真理値表は除数d
i 及び商デジットqj * , qj **のそれぞれの値の入力
に対する図4の節点Zの出力の値を示している。図6の
真理値表は節点Zi 及び被除数商デジットRj, i ** ,R
j, i * のそれぞれの値の入力に対するRj+1, i **, R
j+1, i+1 * の出力の値を示している。
【0059】図7は商デジット決定回路2の構成を示す
回路図である。図7において、参照符号31は次商デジッ
ト出力回路であり、部分剰余Rj+1 の内の特定の位置の
連続した3桁の数X2 ,X1 ,X0 と除数Dの符号ビッ
トd31及び商デジットqi を入力して次の商デジットq
i+1 を出力する。なお、X2 ,X1 ,X0 は以下のよう
に表される。 X2 =X2 * −X2 **1 =X1 * −X1 **0 =X0 * −X0 **
【0060】参照符号32乃至37はそれぞれX2 **, X2
* , X1 **, X1 * , X0 **, X0 * を入力するための
次商デジット出力回路31の入力端子である。参照符号38
は符号ビットd31の次商デジット出力回路31の入力端子
である。
【0061】ここで、商デジットqi は下記式にて与え
られる。 qi =qi * −qi ** 参照符号39, 40はそれぞれ上記式中のqi * , qi **
入力するための次商デジット出力回路31の入力端子であ
る。
【0062】また、次の商デジットqi+1 は下記式にて
与えられる。 qi+1 =qi+1 * −qi+1 ** 参照符号41, 42はそれぞれqi+1 **, qi+1 * を出力す
るための次商デジット出力回路31の出力端子である。
【0063】これらの出力端子41, 42からの出力は第1
シフタ3に与えられると共に、ラッチ43, 44にそれぞれ
与えられる。両ラッチ43, 44それぞれの出力はセレクタ
9に与えられている。なお、参照符号45は両ラッチ43,
44を”0”に初期化するための制御端子である。
【0064】参照符号46, 47はラッチであり、それぞれ
の入力端子は上述のラッチ43, 44の出力と接続されてい
る。これらのラッチ46, 47の出力が前述の入力端子39,
40になっている。
【0065】参照符号48はインバータであり、ラッチ43
の出力を反転してNANDゲート49の一方の入力に与えてい
る。NANDゲート49の他方の入力にはラッチ44の出力が与
えられており、その出力派は排他的ORゲート50の一方の
入力に与えられている。参照符号73は排他的ORゲート73
であり、その両入力はラッチ43, 44の出力が与えられて
いる。この排他的ORゲート73の出力はNANDゲート74の一
方の入力に与えられている。NANDゲート74の他方の入力
には信号DMNS1が与えられており、その出力は排他的OR
ゲート50の他方の入力に与えられている。
【0066】排他的ORゲート50の出力はRj+1, 0 * を出
力するための出力端子51NIなっていて、これは図3に
おけるRj+1, 0 * を与える (加算器10の出力と同様に扱
われる) 。
【0067】NANDゲート74に入力されている信号DMNS1
は除数が値”−1”をとる場合に”1”になる信号であ
り、除数が値”−1”をとる可能性がない場合はインバ
ータで代用してもよい。なおその場合には、排他的ORゲ
ート73及びNANDゲート74も不要になる。
【0068】図8は上述の次商デジット出力回路31の詳
細な構成を示す回路図である。図8において、参照符号
32乃至37はそれぞれX2 **, X2 * , X1 **, X1 *,
0 **, X0 * を入力するための入力端子である。参照
符号38は除数Dの31ビット(d31)の入力端子である。
また、参照符号39, 40はそれぞれqj **, qj * の入力
端子であり、41, 42はそれぞれqj+1 **,qj+1 * の出
力端子である。
【0069】参照符号53はNANDゲートであり、その一方
の入力端子は入力端子34と、他方の入力はインバータ52
を介して入力端子35とそれぞれ接続されている。参照符
号55はNANDゲートであり、その一方の入力は入力端子35
と、他方の入力はインバータ54を介して入力端子34とそ
れぞれ接続されている。
【0070】参照符号56は3入力のNANDゲートであり、
その第1の入力は入力端子36と、第2の入力はNANDゲー
ト53の出力と、第3の入力はNANDゲート55の出力とそれ
ぞれ接続されている。また、参照符号57は3入力のNAND
ゲートであり、その第1の入力は入力端子37と、第2
の入力はNANDゲート53の出力と、第3の入力はNAND
ゲート55の出力とそれぞれ接続されている。
【0071】参照符号58はNANDゲートであり、その一方
の入力はNANDゲート53の出力と、他方の入力はNANDゲー
ト56の出力とそれぞれ接続されている。また、参照符号
59はNANDゲートであり、その一方の入力はNANDゲート55
の出力と、他方の入力はNANDゲート57の出力とそれぞれ
接続されている。
【0072】参照符号60は排他的ORゲートであり、その
一方の入力は入力端子38と、他方の入力はNANDゲート58
の出力とそれぞれ接続されている。また、参照符号61は
排他的ORゲートであり、その一方の入力は入力端子38
と、他方の入力はNANDゲート59の出力とそれぞれ接続さ
れている。
【0073】参照符号62は排他的ORゲートであり、その
一方の入力は入力端子32と、他方の入力は入力端子33と
それぞれ接続されている。この排他的ORゲート62の出力
はインバータ63を介してトランスファーゲート66及び65
に与えられており、更にインバータ64を介してトランス
ファーゲート68及び67にも与えられている。
【0074】トランスファーゲート65, 66はいずれもイ
ンバータ63の出力が”1”である場合に導通し、トラン
スファーゲート67, 68はいずれもインバータ64の出力
が”1”である場合に導通する。トランスファーゲート
65の入力は排他的ORゲート60の出力と接続されており、
その出力はインバータ69, 70を介して出力端子41になっ
ている。トランスファーゲート66の入力は排他的ORゲー
ト61の出力と接続されており、その出力はインバータ7
1, 72を介して出力端子42になっている。トランスファ
ーゲート67の入力は入力端子39と接続されており、その
出力は上述のインバータ69, 70を介して出力端子41にな
っている。トランスファーゲート68の入力は入力端子40
と接続されており、その出力は上述のインバータ71, 72
を介して出力端子42になっている。
【0075】次に、本発明の除算器の動作について、図
9のタイミングチャートを参照して説明する。なお、こ
の実施例では、除数は値”−1”をとらないものとす
る。
【0076】図9において、(a) は第1の制御信号φ1
の波形を、(b) は第2の制御信号φ2 の波形を、(c) は
除算器に被除数と除数とを送るタイミングを示す。時刻
0 において、第1ラッチペア4に被除数が、除数レジ
スタ8に除数がそれぞれ書き込まれる。またこのタイミ
ングにおいて、第2ラッチペア7には”0”が書き込ま
れ、ラッチ43, 44が”0”にクリアされる。
【0077】時刻T2 までに、加算器10にはq-1 **, q
-1 * として共に”0”が入力され、またR-1,0 * は”
0”であるので、この期間の加算器10の出力は以下のよ
うになる。 R0,31 **=R0,31 * =・・・=R0, 1 **=R0, 1 * =R0, 0 **=0
【0078】時刻T1 までに、係数抽出回路11はX2 ,
1 , X0 を抽出し、商デジット決定回路2へ送る。こ
れを受けて、商デジット決定回路2の次商デジット出力
回路31は時刻T2 までに、商デジットq0 **とq0 *
を図5または図6のテーブルに従って決定する。
【0079】時刻T1 において、第1ラッチペア4の内
容が第1レジスタペア1に送られ、加算器10の出力が第
2ラッチペア7に送られる。
【0080】時刻T2 において、第1ラッチペア4の内
容の下位31ビットと先に決定された商デジットq0 とが
第1シフタ3を介して第1ラッチペア4へ送られる。同
時に、第2レジスタペア5の内容の下位31ビットと第1
シフタ3の上位1ビットとが第2シフタ6を介して第2
ラッチペア7へ送られる。また、時刻T2 において、商
デジットq0 **とq0 * とはラッチ43, 44へ送られ、時
刻T4 まで保持される。ラッチ43, 44の出力によりセレ
クタ9が制御され、更にR1, 0 * が合成される。
【0081】加算器10では、第2ラッチペア7の出力と
セレクタ9の出力とを加算して、R1,31 **, R1,31 *
・・R1,1 **, R1,1 * , R1,01 **を出力する。時刻T
3 までに、係数抽出回路11はX2 , X1 , X0 を抽出し
て商デジット決定回路2へ送る。これを受けて、商デジ
ット決定回路2の次商デジット出力回路31は時刻T4
でに、商デジットq1 **とq1 **とを図5または図6の
テーブルに従って決定する。
【0082】以上の内の時刻T2 から時刻T4 までの間
が除算の第一回目のサイクルである。この後、同様のサ
イクルが31回反復されて除算が終了する。このようにし
て、除算がが終了した時点では、商が第1ラッチペア4
に、剰余が第2ラッチペア7にそれぞれ格納されてい
る。
【0083】図10及び図11, 図15及び図16, 図12, 図13
及び図14は係数抽出回路11の構成を示す回路図である。
なお、図10及び図11は本来は一葉の図を二分割してあ
り、また図15及び図16も本来は一葉の図を二分割してあ
る。
【0084】図10及び図11は除数Dの値からX2 ,
1 , X0 の位置を決定する機能を有する部分の回路構
成を示している。図12, 図13及び図14は図10及び図11に
示されている係数抽出回路11の構成要素の詳細な回路図
である。
【0085】図12は図10及び図11に参照符号140 にて示
されているブロックの構成を示している。図12におい
て、参照符号75〜78はそれぞれ除数Dのビット31〜28
(d31〜d28)の入力端子である。参照符号79,80, 81
はいずれも排他的ORゲートである。
【0086】排他的ORゲート79の一方の入力は入力端子
75と、他方の入力は入力端子76と接続され、その出力は
NORゲート82の一方の入力及びインバータ83に与えられ
ている。排他的ORゲート80の一方の入力は入力端子75
と、他方の入力は入力端子77とそれぞれ接続されてお
り、その出力は NORゲート82の他方の入力及びNANDゲー
ト84に与えられている。排他的ORゲート81の一方の入力
は入力端子75と、他方の入力は入力端子78とそれぞれ接
続されており、その出力はNANDゲート85及びインバータ
86に与えられている。
【0087】NORゲート82の出力は ANDゲート85の一方
の入力及びNANDゲート87の一方の入力に与えられてい
る。NANDゲート85の他方の入力には前述の如く排他的OR
ゲート81の出力が与えられていて、その出力は信号C28
の出力端子91になっている。また、NANDゲート87の他方
の入力には前述のインバータ86を介して排他的ORゲート
81の出力が与えられていて、その出力はインバータ92を
介して信号Y7 の出力端子92になっている。
【0088】インバータ83の出力はNANDゲート84の一方
の入力に与えられると共に、信号C30の出力端子89にな
っている。NANDゲート84の他方の入力には前述の如く排
他的ORゲート80の出力が与えられていて、その出力は信
号C29の出力端子90になっている。
【0089】従って、図12に示されている回路は、除数
Dのビット31, 30, 29, 28(d31,d30, d29, d28
をそれぞれ入力端子75, 76, 77, 78から入力し、信号C
30,C29, C28及び信号Y7 をそれぞれ出力端子89, 90,
91及び92から出力する。
【0090】図13は図10及び図11に参照符号141a〜141f
にて示されているブロックの構成を示している。図13に
おいて、参照符号75は除数Dのビット31(d31)の入力
端子である。参照符号93〜96はそれぞれ除数Dのビット
4i+3〜4i+0(d4i+3, d4i+2,d4i+1, d4i+0)の
入力端子である。参照符号97, 98, 99, 100 はいずれも
排他的ORゲートであり、それぞれの一方の入力には入力
端子75が接続されている。
【0091】排他的ORゲート97の他方の入力には入力端
子93が接続されており、その出力はNANDゲート104 の一
方の入力及び NORゲート101 の一方の入力に与えられて
いる。排他的ORゲート98の他方の入力には入力端子94が
接続されており、その出力は3入力のNANDゲート105 の
第1の入力及び NORゲート101 の他方の入力に与えられ
ている。排他的ORゲート99の他方の入力には入力端子95
が接続されており、その出力は3入力ののNANDゲート10
6 の第1の入力, インバータ107 の入力及び NORゲート
102 の一方の入力に与えられている。排他的ORゲート10
0 の他方の入力には入力端子96が接続されており、その
出力は4入力のNANDゲート108 の第1の入力及び NORゲ
ート102 の他方の入力に与えられている。
【0092】NORゲート101 の出力はNANDゲート106 の
第2の入力, NANDゲート108 の第2の入力及びNANDゲー
ト109 の一方の入力に与えられており、 NORゲート102
の出力はNANDゲート109 の他方の入力に与えられてい
る。そして、NANDゲート109 の出力はインバータ110 を
介して信号Yi の出力端子115 になっている。
【0093】参照符号103 は信号Zi の入力端子であ
り、NANDゲート104 の他方の入力, NANDゲート105 の第
2の入力, NANDゲート106 の第3の入力及びNANDゲート
108 の第3の入力に接続されている。NANDゲート104 の
出力はNANDゲート105 の第3の入力に与えられると共
に、信号C4i+3の出力端子111 になっている。NANDゲー
ト105 の出力は信号C4i+2の出力端子112 になってい
る。NANDゲート106 の出力は信号C4i+1の出力端子113
になっている。NANDゲート108 の第4の入力には前述の
インバータ107 を介して排他的ORゲート99の出力が与え
られており、その出力は信号C4i+0の出力端子114にな
っている。
【0094】従って、この図13に示されている回路は、
除数Dのビット31, 4i+3, 4i+2, 4i+1 , 4i+0
(d31, d4i+3, d4i+2, d4i+1, d4i+0)を入力端子
75, 93, 94, 95, 96からそれぞれ入力し、信号C4i+3,
4i+2, C4i+1, C4i+0及び信号Yi を出力端子111, 1
12, 113, 114及び115 からそれぞれ出力する。
【0095】図14は図10及び図11に参照符号142 にて示
されているブロックの構成を示している。図14におい
て、参照符号75は除数Dのビット31(d31)の入力端子
である。参照符号116 〜119 はそれぞれ除数Dのビット
3〜0(d3,d2,d1,d0 )の入力端子である。
【0096】参照符号120, 121, 122, 123はいずれも排
他的ORゲートであり、それぞれの一方の入力には入力端
子75が接続されている。排他的ORゲート120 の他方の入
力には入力端子116 が接続されており、その出力はNAND
ゲート127 の一方の入力及び NORゲート124 の一方の入
力に与えられている。排他的ORゲート121 の他方の入力
には入力端子117 が接続されており、その出力は3入力
のNANDゲート128 の第1の入力及び NORゲート124 の他
方の入力に与えられている。排他的ORゲート122 の他方
の入力には入力端子118 が接続されており、その出力は
3入力ののNANDゲート129 の第1の入力, インバータ12
5の入力及びインバータ130 の入力に与えられている。
排他的ORゲート123 の他方の入力には入力端子119 が接
続されており、その出力は4入力のNANDゲート131の第
1の入力に与えられている。
【0097】NORゲート101 の出力はNANDゲート129 の
第2の入力, NANDゲート131 の第2の入力及びNANDゲー
ト132 の一方の入力に与えられており、インバータ125
の出力はNANDゲート132 の他方の入力に与えられてい
る。そして、NANDゲート132 の出力はインバータ133 を
介して信号Y0 の出力端子138 になっている。
【0098】参照符号126 は信号Z0 の入力端子であ
り、NANDゲート127 の他方の入力, NANDゲート128 の第
2の入力, NANDゲート129 の第3の入力及びNANDゲート
131 の第3の入力に接続されている。NANDゲート127 の
出力はNANDゲート128 の第3の入力に与えられると共
に、信号C3 の出力端子134 になっている。NANDゲート
128 の出力は信号C2 の出力端子135 になっている。NA
NDゲート129 の出力は信号C1 の出力端子136 になって
いる。NANDゲート131 の第4の入力には前述のインバー
タ130 を介して排他的ORゲート122 の出力が与えられて
おり、その出力は信号C0 の出力端子137 になってい
る。
【0099】従って、この図14に示されている回路は、
除数Dのビット31, 3, 2 , 1 , 0(d31, d3,d2,d
1,d0 )を入力端子75, 116, 117, 118, 119からそれぞ
れ入力し、信号C3,C2,C1,C0 及び信号Y0 を出力端
子134, 135, 136, 137及び138 からそれぞれ出力する。
【0100】図10及び図11において、参照符号140 は図
12に示されている回路を示しており、図12と同一の構成
要素には同一の参照符号を付して説明を省略する。ま
た、参照符号141a〜141fは図13に示されている回路を示
しており、図13と同一の構成要素には同一の参照符号を
付して説明を省略する。更に、参照符号142 は図14に示
されている回路を示しており、参照符号143aで示されて
いるブロックと参照符号143bで示されているブロックと
の構成は、ブロック143aの回路141dがブロック143bでは
回路142 になっている以外は同一である。
【0101】図10及び図11において、回路14a 中の参照
符号144 はNANDゲートであり、その一方の入力には信号
7 が、他方の入力には信号Y6 がそれぞれ入力されて
おり、その出力はインバータ145 を介して信号Z5 にな
っている。
【0102】参照符号146 は3入力のNANDゲートであ
り、第1の入力には信号Y7 が、第2の入力には信号Y
6 が、第3の入力には信号Y5 がそれぞれ入力されてい
る。このNANDゲート146 の出力はインバータ147 を介し
て信号Z4 になっている。
【0103】参照符号148 は4入力のNANDゲートであ
り、その第1の入力には信号Y7 が、その第2の入力に
は信号Y6 が、その第3の入力には信号Y5 が、その第
4の入力には信号Y4 がそれぞれ入力されている。この
NANDゲート148 の出力はインバータ149 を介して信号Z
3 になっている。
【0104】参照符号150 はNANDゲートであり、その一
方の入力には信号Y0 が、他方の入力には信号Z0 がそ
れぞれ入力されている。このNANDゲート150 の出力はイ
ンバータ151 を介して信号NCになっている。この信号NC
は、除数Dの各ビットの内容が最下位ビットを除いて互
いに等しい場合に”1”になる。
【0105】なお、除数Dが”−1”の値をとらない場
合はNANDゲート150 とインバータ151 とは不要である。
【0106】図15及び図16において、参照符号152a〜15
2gは加算器10の出力Rj+1,31 **〜Rj+1, 0 **の入力端子
を、参照符号153a〜153gは加算器10の出力Rj+1,31 *
j+ 1, 0 * の入力端子をそれぞれ示している。参照符号
154a〜154fは信号C30〜C0 の入力端子である。参照符
号155 は第1の制御信号φ1 の入力端子である。
【0107】参照符号156 はインバータであり、その入
力は入力端子155 と接続されている。参照符号157a〜15
7fはいずれもpチャネルトランジスタであり、それぞれ
のソースは電源電位と、それぞれのゲートはインバータ
156 の出力と接続されている。参照符号159 及び160 は
第1ラッチペア4の上位1ビットの出力を入力する入力
端子である。
【0108】参照符号158a〜158rは同一構成の回路であ
るので、参照符号158aのみの回路構成について説明す
る。参照符号161 は3入力の NORゲートであり、その第
1の入力は入力端子152aと、第2の入力は入力端子154a
とそれぞれ接続され、第3の入力には第1の制御信号φ
1 が入力されている。参照符号162 は3入力の NORゲー
トであり、その第1の入力は入力端子153aと、第2の入
力は入力端子154aとそれぞれ接続され、第3の入力には
第1の制御信号φ1 が入力されている。
【0109】NORゲート161 の出力はnチャネルトラン
ジスタ163 のゲートに与えられている。このnチャネル
トランジスタ163 のソースは接地されており、ドレイン
はpチャネルトランジスタ157aのドレインに接続されて
いる信号線と接続されている。NORゲート162 の出力は
nチャネルトランジスタ164 のゲートに与えられてい
る。このnチャネルトランジスタ163 のソースは接地さ
れており、ドレインはpチャネルトランジスタ157bのド
レインに接続されている信号線と接続されている。
【0110】入力端子154aからの信号線は更にブロック
158g, 158nにも配線されており、ブロック158aの NORゲ
ート161, 162に相当する各ブロックの NORゲートの入力
に接続されている。入力端子154b〜154eからの信号線も
同様である。入力端子154fからの信号線はブロック158
f, 158l及び158mに配線されており、同様に、各ブロッ
クの NORゲートの入力に接続されている。
【0111】参照符号166a〜166fは同一構成の回路であ
るので、ブロック166aのみの構成を説明する。参照符号
167 は弱いラッチであり、pチャネルトランジスタ157a
のドレインに接続されている信号線の状態がハイインピ
ーダンスになることを防止する。参照符号168 はラッチ
であり、pチャネルトランジスタ157aのドレインに接続
されている信号線の状態を保持し、反転して出力する。
参照符号169 〜174 はX2 ** ,X2 * ,X1 ** ,X1 *
,X0 ** ,X0 * の出力端子である。
【0112】次に動作について説明する。図10及び図11
に示されている回路は除数Dを受けてX2 〜X0 の位置
を決定する。たとえば、除数Dが”001101・・・・”で
ある場合には、信号C29が”0”になる。この信号C29
は図15及び図16に示されている回路のブロック158b, 15
8h, 158oの NORゲートに入力されている。
【0113】図15及び図16に示されているpチャネルト
ランジスタ157a〜157fのドレインに接続する信号線は第
1の制御信号φ1 が”1”である期間にプリチャージさ
れる。そして、第1の制御信号φ1 が”0”になると、
ブロック158b, 158h, 158oのNORゲートの両入力はいず
れも”0”になるので、pチャネルトランジスタ157a〜
157fのドレインに接続する信号線には加算器10の出力R
j+1,30 **〜Rj+1,28 *の状態が伝えられる。
【0114】第2の制御信号φ2 が”1”になると、p
チャネルトランジスタ157a〜157fのドレインに接続する
信号線の状態がラッチ168 等によって保持され、反転さ
れて出力端子169 〜174 から出力される。
【0115】なお、この実施例の係数抽出回路11は従来
技術の除算器に応用することも可能である。
【0116】次に、除数レジスタ8について説明する。
除数レジスタ8は、除数Dが”−1”である場合の除算
を効率的に行えるように構成されている。
【0117】図17は除数レジスタ8の構成を示す回路図
である図17において、参照符号175 〜178 は除数Dの最
上位ビット31から最下位ビット0の内容をそれぞれ保持
するメモリセルである。参照符号179 は3入力のNANDゲ
ートであり、第1の入力はメモリセル178 の出力と接続
され、第2の入力には除数Dの最上位ビットの内容d31
が入力されており、第3の入力には信号NCが入力されて
いる。
【0118】参照符号180 はNANDゲートであり、その一
方の入力にはメモリセル178 の出力が入力されており、
他方の入力はNANDゲート179 の出力と接続されている。
このNANDゲート180 の出力はインバータ181 を介して出
力端子185 になっている。参照符号186 はインバータで
あり、その入力はNANDゲート179 の出力と接続されてお
り、出力は信号DMNS1の出力端子200 になっている。
【0119】参照符号182 〜185 は除数を出力する出力
端子であり、出力端子182 〜184 はメモリセル175 〜17
7 の内容をそのまま出力するが、出力端子185 へはイン
バータ181 の出力が出力される。
【0120】NANDゲート179 が”0”を出力するのは除
数Dが”−1”の場合である。この場合、出力端子182
〜185 は”−2”を出力し、信号DMNS1は”1”にな
る。商デジット決定回路2は上述の信号DMNS1を受け
て、商デジットqi+1 が”0”でないならばRj+1, 0 *
を反転して出力する。このRj+1, 0 * の反転は排他的OR
ゲート73, NANDゲート74, 排他的ORゲート51により行わ
れる。
【0121】このため、除数Dが”−1”である場合
も”−2”である場合と同様に除算を行うことが可能に
なる。従って、除数Dが”−1”である場合に対応する
ために、除数Dを下位の方向へ拡張して除数Dの最下位
ビットを見掛け上”0”にする必要がないので、そのた
めの余分なトランジスタが不要になる。
【0122】次に、上述のような本発明の除算器を備え
た計算機(マイクロコンピュータ)について、特にその
ALU, CPUと除算器との接続の構成について図18及び図19
のブロック図を参照して説明する。まず図18に示されて
いるその第1の実施例では、マイクロコンピュータ内に
おける CPUと、図1に示されている基本構成を有する本
発明の除算器との接続、より具体的には、CPU 側から被
除数と除数とを本発明の除算器に入力するための構成が
示されている。
【0123】図18において、参照符号187 は CPUの内部
のXバスを、188 は CPUの内部のYバスを、189 は CPU
の ALUをそれぞれ示している。なお、参照符号4及び8
は、図1に示されている本発明の除算器の第1ラッチペ
ア及び除数レジスタを示しているが、他の部分は省略し
てある。
【0124】参照符号190 はXバス187 と本発明の除算
器の第1ラッチペア4との間を接続する位置に設けられ
たゲート手段であり、第2レジスタペア5の被除数のR
0 **を格納する側の最上位ビットにXバス187 の最上位
ビットの内容を書込み、他のビットに”0”を書込む。
【0125】参照符号191 はXバス187 と本発明の除算
器の第1ラッチペア4との間を接続する位置に設けられ
たゲート手段であり、第2レジスタペア5の被除数のR
0 *を格納する側の最上位ビット以外の各ビットにXバ
ス187 の最上位ビット以外の各ビットの内容を書込み、
最上位ビットの”0”を書込む。
【0126】参照符号192 はYバス188 と本発明の除算
器の除数レジスタ8との間を接続する位置に設けられた
ゲート手段であり、除数レジスタ8の各ビットにYバス
188の各ビットの内容を書込む。
【0127】CPUがXバス187 上のデータを被演算数と
して、Yバス188 上のデータを演算数として除算を除く
演算をALU189によって行うように構成されている場合に
は、除算命令に対して被除数の内容がXバス187 に、除
数の内容がYバス188 にそれぞれ出力されるように構成
することは容易に可能である。そのような場合に上述の
ゲート手段190, 191, 192 を同時に動作させると、本発
明の除算器は被除数を第1ラッチペア4に、除数を除数
レジスタ8に同時にそれぞれ取り込むことが可能であ
り、更に被除数の2の補数表示から RSD表示の変換も行
うことが出来る。
【0128】また、この実施例の計算機の構成は、”−
1”, ”0”, ”1”のいずれかである符号付きデジッ
トで表示された被除数または部分剰余を使用する除算器
にも適用出来る。
【0129】次の実施例として、本発明の除算器から除
算結果である商と剰余とをCPU へ効率的に読み出すこと
が可能な計算機の構成が示されている。
【0130】図19において、参照符号193 はYバス188
と第1レジスタペア1との間を接続する位置に設けられ
たゲート手段であり、第1レジスタペア1の被除数のR
0 *を格納する側のレジスタの内容をYバス188 へ出力
する。参照符号194 はXバス187 と第1レジスタペア1
との間を接続する位置に設けられたゲート手段であり、
第1レジスタペア1の被除数のR0 **を格納する側のレ
ジスタの内容をXバス187 へ出力する。
【0131】参照符号195 はYバス188 と第1レジスタ
ペア1との間を接続する位置に設けられたゲート手段で
あり、第2レジスタペア5の部分剰余Rj * を格納する
側のレジスタの内容をYバス188 へ出力する。参照符号
195 はXバス187 と第1レジスタペア1との間を接続す
る位置に設けられたゲート手段であり、第2レジスタペ
ア5の部分剰余Rj **を格納する側のレジスタの内容を
Xバス187 へ出力する。
【0132】本発明の除算器により得られた商を読出す
場合はまず、ゲート手段193, 194を同時に動作させる。
次に、Xバス187 上に出力された値からYバス188 上に
出力されたた値をALU189により減算すると、商をALU189
の出力として得ることが出来る。同様に、剰余を読出す
場合はまず、ゲート手段195, 196を同時に動作させる。
次に、Xバス187 上に出力された値からXバス187 上に
出力された値をALU189により減算すると、剰余をALU189
の出力として得ることが出来る。
【0133】ALU189は、Xバス187 上の値からYバス18
8 上の値を減算する機能を有しているので、除算器に商
及び剰余を RSD表示から2の補数表示に変換する機能を
備える場合に比してトランジスタ数を少なくすることが
出来る。
【0134】また、この実施例の計算機の構成は、商ま
たは剰余が”−1”, ”0”, ”1”のいずれかである
符号付きデジットで表示された被除数または部分剰余を
使用する除算器にも適用出来る。
【0135】
【発明の効果】以上に詳述したように本発明の除算器に
よれば、従来技術と同様に RSD表示を用い、且つ商デジ
ットを決定するためのテーブルを単純にして実回路を構
成する場合のトランジスタ数を削減し得る除算器が実現
される。
【0136】また、除数の値に従って部分剰余から商デ
ジット決定手段に入力すべき部分を抽出して商デジット
を決定することにより除数を規格化する必要のない除算
器が実現される。
【0137】更に、実回路を構成する場合に小数のトラ
ンジスタの増加のみで、除数が”−1”である場合にお
いても除算の実行が可能な除算器が実現される。
【0138】また更に本発明の計算機によれば、 CPUか
ら被除数と除数とを上述のような除算器に効率的に書込
むことが可能な計算機が実現される。
【0139】更に、商及び剰余を上述のような除算器か
らCPU に効率的に読出すことが可能な計算機が実現され
る。
【図面の簡単な説明】
【図1】本発明の除算器の一実施例の構成を示すブロッ
ク図である。
【図2】本発明の除算器に使用される商デジットテーブ
ルを示す模式図である。
【図3】商デジットqj がとり得る3通りの値に対応し
た演算を示す模式図である。
【図4】本発明の除算器のセレクタ及び加算器の詳細な
構成を一体化して示した回路図である。
【図5】本発明の除算器のセレクタ及び加算器の真理値
表を示す模式図である。
【図6】本発明の除算器のセレクタ及び加算器の真理値
表を示す模式図である。
【図7】本発明の除算器の商デジット決定回路の構成を
示す回路図である。
【図8】本発明の除算器の商デジット決定回路の次商デ
ジット出力回路の詳細な構成を示す回路図である。
【図9】本発明の除算器の動作を説明するためのタイミ
ングチャートである。
【図10】図11と共に、本発明の除算器の係数抽出回
路の除数Dの値からX2 , X1 ,X0 の位置を決定する機
能を有する部分の回路構成を示す回路図である。
【図11】図10と共に、本発明の除算器の係数抽出回
路の除数Dの値からX2 , X1 ,X0 の位置を決定する
機能を有する部分の回路構成を示す回路図である。
【図12】本発明の除算器の係数抽出回路の構成要素の
詳細な構成例を示す回路図である。
【図13】本発明の除算器の係数抽出回路の構成要素の
詳細な構成例を示す回路図である。
【図14】本発明の除算器の係数抽出回路の構成要素の
詳細な構成例を示す回路図である。
【図15】図16と共に、本発明の除算器の係数抽出回
路の構成要素の詳細な構成例を示す回路図である。
【図16】図15と共に、本発明の除算器の係数抽出回
路の構成要素の詳細な構成例を示す回路図である。
【図17】本発明の除算器の除数レジスタの構成を示す
回路図である
【図18】本発明の除算器にマイクロコンピュータから
除算を行わせるための接続例を示すブロック図である。
【図19】本発明の除算器による除算結果をマイクロコ
ンピュータへ出力するための接続例を示すブロック図で
ある。
【図20】RSD表示の数と2の補数表示の数との加算を
行う構成を示す模式図である。
【図21】図20に示されている各全加算器の真理値表
を示す模式図である。
【図22】RSD表示の数と2の補数表示の数との減算を
行う構成を示す模式図である。
【図23】従来の除算原理で商デジットを決定するため
に用いられるテーブルを示す模式図である。
【符号の説明】
1 第1レジスタペア 2 商デジット決定回路 4 第1ラッチペア 5 第2レジスタペア 7 第2ラッチペア 8 除数レジスタ 9 セレクタ 10 加算器 11 係数抽出回路 31 次商デジット出力回路 187 Xバス 188 Yバス 189 ALU
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年7月12日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0040
【補正方法】変更
【補正内容】
【0040】図1は本発明の除算器の一実施例の構成を
示すブロック図である。この図1に示されている実施例
の除算器は32ビット相互の除算を行う。図1において、
参照符号1は第1のレジスタ(以下、第1レジスタペア
と言う) であり、被除数または商の一部を格納する2個
のレジスタで一組に構成されている。この第1レジスタ
ペア1へは後述する係数抽出回路11の出力が第2の制御
信号φ2 に同期して入力され、その出力は後述する第1
シフタ3に与えられている。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 −1,0,1の内のいずれかの値をとる
    符号付きデジットで表示された被除数または部分剰余
    と、2の補数表示の除数とを使用する減算シフト型の除
    算器であって、 除算の実行中における各時点の商デジットの値に応じて
    除数をその値と同じ値,反転値,または”0”のいずれ
    かに変換して出力する変換手段と、 部分剰余と、前記変換手段の出力と、1または0とを加
    (減)算する加算手段と、 除算の実行中における各時点の商デジットと、それに応
    じて前記加算手段の加(減)算により得られた部分剰余
    の一部とから次の商デジットを決定する次商デジット決
    定手段とを備えたことを特徴とする除算器。
  2. 【請求項2】 −1,0,1の内のいずれかの値をとる
    符号付きデジットで表示された被除数または部分剰余
    と、2の補数表示の除数とを使用する減算シフト型の除
    算器であって、 除算の実行中における各時点の商デジットに応じて除数
    を変換する変換手段と、 部分剰余と、前記変換手段の出力と、1または0を加
    (減)算する加算手段と、 除算の実行中における各時点の商デジットに応じて前記
    加算手段の減算により得られた部分剰余の一部を使用し
    て次の商デジットを決定する次商デジット決定手段と、 除数の値に応じて、前記次商デジット決定手段により次
    の商デジットを決定するために部分剰余からその一部を
    抽出する抽出手段とを備えたことを特徴とする除算器。
  3. 【請求項3】 除数が”−1”である場合に”−2”に
    変換する手段を備えたことを特徴とする請求項2に記載
    の除算器。
  4. 【請求項4】 −1,0,1の内のいずれかの値をとる
    符号付きデジットで表示された被除数または部分剰余を
    使用し、被除数の非正の部分を保持する第1のレジスタ
    と、被除数の非負の部分を保持する第2のレジスタと、
    除数を保持する第3のレジスタとを有する除算器と、 前記第1のレジスタとは第1のバスで、前記第2のレジ
    スタとは第2のバスでそれぞれ接続されたALUとを備
    えた計算機において、 2の補数で表示された被除数の最上位の桁のデジットを
    前記第1のレジスタに、被除数の他の全ての桁のデジッ
    トを前記第2のレジスタにそれぞれ前記第1のバスを通
    じて同時に書込むと共に前記第1及び第2のレジスタの
    データが書き込まれない部分をクリアし、除数を前記第
    3のレジスタに前記第2のバスを通じて書込むことによ
    り、前記除算器に除算を行わせるべくなしてあることを
    特徴とする計算機。
  5. 【請求項5】 商または剰余が−1,0,1の内のいず
    れかの値をとる符号付きデジットで表示され、商の非正
    の部分を保持する第1のレジスタと、剰余の非正の部分
    を保持する第2のレジスタと、商の非負の部分を保持す
    る第3のレジスタと、剰余の非負の部分を保持する第4
    のレジスタとを有する除算器と、 前記第1のレジスタ及び第3のレジスタとは第1のバス
    で、前記第2のレジスタ及び第4のレジスタとは第2の
    バスでそれぞれ接続されたALUとを備えた計算機にお
    いて、 前記第1のレジスタの内容を前記第1のバスを通じて、
    前記第3のレジスタの内容を前記第2のバスを通じてそ
    れぞれ前記ALUに与えて減算させるることにより2の
    補数に変換された商を得、前記第2のレジスタの内容を
    前記第1のバスを通じて、前記第4のレジスタの内容を
    前記第2のバスを通じてそれぞれ前記ALUに与えて減
    算させることにより2の補数に変換された剰余を得るべ
    くなしてあることを特徴とする計算機。
JP5071542A 1993-03-30 1993-03-30 除算器及びそれを備えた計算機 Pending JPH06282416A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5071542A JPH06282416A (ja) 1993-03-30 1993-03-30 除算器及びそれを備えた計算機
US08/206,585 US5467299A (en) 1993-03-30 1994-03-07 Divider and microcomputer including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5071542A JPH06282416A (ja) 1993-03-30 1993-03-30 除算器及びそれを備えた計算機

Publications (1)

Publication Number Publication Date
JPH06282416A true JPH06282416A (ja) 1994-10-07

Family

ID=13463739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5071542A Pending JPH06282416A (ja) 1993-03-30 1993-03-30 除算器及びそれを備えた計算機

Country Status (2)

Country Link
US (1) US5467299A (ja)
JP (1) JPH06282416A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732135B1 (en) * 1999-02-01 2004-05-04 Hewlett-Packard Development Company, L.P. Method and apparatus for accumulating partial quotients in a digital processor
US6360241B1 (en) * 1999-02-01 2002-03-19 Compaq Information Technologies Goup, L.P. Computer method and apparatus for division and square root operations using signed digit
US7243119B1 (en) * 2000-09-26 2007-07-10 Hitachi, Ltd. Floating point computing unit
US7382242B2 (en) * 2005-03-25 2008-06-03 Honeywell International, Inc. Method and receiver for blocking a runaway dialer at a local security system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153847A (en) * 1986-06-27 1992-10-06 Matsushita Electric Industrial Co., Ltd. Arithmetic processor using signed digit representation of internal operands
JPH061437B2 (ja) * 1986-08-19 1994-01-05 松下電器産業株式会社 演算処理装置
US5012439A (en) * 1986-12-29 1991-04-30 Hughes Aircraft Company Method and apparatus for performing division
US4878190A (en) * 1988-01-29 1989-10-31 Texas Instruments Incorporated Floating point/integer processor with divide and square root functions
US5132925A (en) * 1988-08-18 1992-07-21 Digital Equipment Corporation Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5023827A (en) * 1988-08-18 1991-06-11 Digital Equipment Corporation Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JPH0778724B2 (ja) * 1989-09-18 1995-08-23 松下電器産業株式会社 除算器

Also Published As

Publication number Publication date
US5467299A (en) 1995-11-14

Similar Documents

Publication Publication Date Title
EP0328063B1 (en) Absolute value calculating circuit having a single adder
EP0642093B1 (en) Method, system and apparatus for automatically designing a multiplier circuit and multiplier circuit designed by performing said method
JP2000155671A (ja) 浮動小数点演算装置
Bindal Fundamentals of computer architecture and design
US3970833A (en) High-speed adder
JP3304971B2 (ja) 絶対値演算回路
JP3033212B2 (ja) 乗算器
Asadi et al. A novel reversible ternary coded decimal adder/subtractor
JP2970231B2 (ja) 並列乗算回路
JPH06282416A (ja) 除算器及びそれを備えた計算機
Groote et al. Logic Gates, Circuits, Processors, Compilers and Computers
JP3396720B2 (ja) 部分積生成回路
US4866655A (en) Arithmetic processor and divider using redundant signed digit
KR100221517B1 (ko) 고속 다이나믹 바이너리 인크리멘터
JP3604518B2 (ja) 除算装置
US6516332B1 (en) Floating point number data processing means
US4989174A (en) Fast gate and adder for microprocessor ALU
JPH04500572A (ja) Bcdコードまたはデユアルコードでコード化された被演算数の加算または減算のための回路装置
JP2681968B2 (ja) 演算処理装置
JPH061437B2 (ja) 演算処理装置
Shankarreddy Evaluation and implementation of asynchronous adders
EP0827068B1 (en) Floating point number data processing means
JPH0773017A (ja) 除算器
Muscato et al. Locally clocked microprocessor
JP3480902B2 (ja) 加減算装置および一致検出装置