JPH10500513A - ディジタル除算実行装置 - Google Patents

ディジタル除算実行装置

Info

Publication number
JPH10500513A
JPH10500513A JP7530097A JP53009795A JPH10500513A JP H10500513 A JPH10500513 A JP H10500513A JP 7530097 A JP7530097 A JP 7530097A JP 53009795 A JP53009795 A JP 53009795A JP H10500513 A JPH10500513 A JP H10500513A
Authority
JP
Japan
Prior art keywords
bit
bits
quotient
output
subtraction
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.)
Ceased
Application number
JP7530097A
Other languages
English (en)
Inventor
キュルテ,ジョエル
Original Assignee
エスジェーエス−トムソン ミクロエレクトロニクス ソシエテ アノニム
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 エスジェーエス−トムソン ミクロエレクトロニクス ソシエテ アノニム filed Critical エスジェーエス−トムソン ミクロエレクトロニクス ソシエテ アノニム
Publication of JPH10500513A publication Critical patent/JPH10500513A/ja
Ceased 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

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)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 本発明は、部分的剰余を回復しない非回復形の減算方法に従って2進的な減算操作をディジタル的に実行するための装置に関している。この装置は、主たる手段として、減算の間、空白の部分的剰余を検出するための回路(COND)を具備している。有利な形態として、従来形の組合せ回路(3,5)が、単一の命令によって商を修正するために修正ビット(CS2)を計算するのに用意される。そして、各減算ステップにおいて、後続する減算ステップに対して補数化商ビットを計算するための回路(10)、及び、後続するステップにおいて、商の最下位ポジション上のこの補数化商ビットを導入するためのマルチプレクサ(2)が、都合好く設けられる。本発明による減算実行装置は、信号プロセッサに適用することができる。

Description

【発明の詳細な説明】 ディジタル除算実行装置 (発明の属する技術分野) 本発明は、非復元タイプの方法(即ち、部分的剰余を復元しない方法)に適合 したディジタル除算実行装置に関する。本発明は、より詳細にいうと、整数又は 小数の2進除算の計算に適用することができる。本発明は、特に、ディジタル信 号プロセッサに適用することができる。 (従来の技術) 2進除算の計算には、主として、比較および減算という演算が用いられる。さ らに、考慮すべきいくつかの問題として、オペランドの形式(小数又は整数)、 結果の符号、無効な結果に至らしめる空白(ヌル)の部分的な結果の予期しない 発生などがある。一般的には、「累算器」と呼ばれるレジスタが被除数のために 使用され、ソースレジスタが除数のために使用される。この被除数用レジスタ即 ち累算器は、各除算ステップに対して、計算された剰余を最上位側諸ビット上に 、そして、計算された商を最下位側諸ビット上に格納する。 符号付か無符号かの整数又は小数フォーマットを無差別に処理することができ るようにするために、部分的剰余を復元しない方法として知られている除算手法 が用いられる。この手法は、部分的剰余の加減算及び除数の加減算の結果の符号 に基づいている。その名称が示すように、部分的な結果は累算することができな い:所与の各除算ステップに対して、前のステップにて 計算された商が空白である場合には、除数は同時に減算されてしまうであろうか ら、除数は部分的剰余に加算されて正しい部分的剰余を回復するようにすべきで ある。 各除算ステップに対しては、新しい商及び部分的剰余を計算する必要がある。 計算装置では、このアルゴリズムをいくつか実行することができる。本発明は 、特に、除算中に逐次的な部分的剰余及び商を記憶するために最初に被除数を格 納している同一レジスタを用いる実行モードに関する。部分的剰余は最上位側諸 ビット上に、そして、商は最下位側諸ビット上に記憶される。この実行には、各 除算ステップ“i”に対する次の逐次的な操作が含まれる: 部分的剰余及び商を格納しているレジスタを左側に1ポジションだけシフトす ること、 前のステップ“i−1”にて計算された補数化商を反転してレジスタの最も右 側のポジション上に導入すること、 前の減算ステップ“i−1”にて計算された補数化商の2進値に従い、レジス タの最上位側諸ビット上に位置合わせされた除数を加算又は減算することによっ て部分的剰余を計算すること、そして、 新しい部分的剰余の符号及び除数の符号に応じて、次のステップ“i+1”に 対して計算される補数化商を計算すること。 除数の大きさが“n”ビットであり、“n”ビットの大きさの商を得るのが望 ましいと仮定すれば、このプロセスは、“n”シフトが達成されるまで継続する 。 しかしながら、このアルゴリズムは、最終的な商が精確になるようにするため にいくつかの条件が確認されているという仮 定を必然的に伴う。 特に、ある減算ステップの間、空白の部分的剰余が存在する場合、最後の減算 ステップ後に得られる商が誤りになることがある。もちろん、空白の数値は正で あるべきであると考えられる。2進的な減算に対しては、ある減算ステップ“i ”からの剰余の符号は、除数の符号と比較される。それ故、除数が負である場合 、正であると解釈される空白の剰余は、間違って解釈されたことになり、次の減 算ステップで減算ではなく除数を加算する結果に導く。従って、最終的な商は誤 りになる。これは、最下位ポジション上のバイトに「1」を付加することによっ て修正される。 さらに、空白の部分的剰余が検出されることは、確実ではない。というのは、 剰余及び商が可変のサイズをもつからである:各減算ステップにおいて、剰余は 大きさで1ビットを失い、商は1ビットの大きさを得る。従って、これらは、減 算ステップに応じた可変のサイズをもつオペランドである。これらは同一のレジ スタ内に存在するから、減算ステップに応じた剰余のサイズの進展に追従し、そ して、「0」検出を行うビット数を決定するには、複雑な回路が必要である。 また、その他の条件として、被除数は、絶対値で除数より小さいということも 必要である。さもなければ、除算が不可能になる。符号付の減算においては、商 の最下位ポジション上にある単位を付加するか若しくは付加しないために、従っ て、除数及び被除数が反対の符号をもつとき商を修正するために、除数及び被除 数が同一の符号であるか反対の符号であるかを検知することも、また、必要であ る。 それ故、正しい結果を得るために、種々の条件を処理するこ とが必要である。これは所謂「例外ルーチン」によって達成され、これらのルー チンは、ユーザアプリケーション(処理されるべき数値のサイズ、フォーマット )の必要に従ってユーザにより与えられるか若しくは書き込まれるべきものであ る。これらのルーチンは、時間の点でコスト高であるということの外に、減算を ステップバイステップで続けるという必要に対して、ケース毎に適切には処理し ないことが起こり得る。これらのルーチンは、実行される減算が可能であること を確かめるために予め実行されるか、或いは、必要ならば、得られた商を修正す るために後で実行される。 アルゴリズムの実施、特に、空白の部分的剰余の問題を簡単にするために、或 る計算装置製造者は、入力でのオペランドを制限してきた。例えば、或る装置は 、正のオペランドでしか、つまり、正の除数でしか動作しない。そこには、もは や、負の除数の問題は存在しない。しかし、符号を検査し記憶するために、そし て、計算の前に負のオペランドを正のオペランドに変換するために、他の諸ルー チンが必要であり、計算の後に商に正しい符号を与えるために、所定のルーチン が必要である。 このような製造者は、空白の部分的剰余の検出を容易にするために、被除数に 対して1つのレジスタを、且つ、商に対して1つのレジスタを備える設計をも行 ってきた。しかしながら、この手法は、これらの減算用レジスタの管理を複雑に する。 ここで選択される種々のレジスタ、例外ルーチンは、すべて、フォーマット化 を修正するものであり、商の修正によって、命令サイクル数、従って、計算時間 が増加する。そして、最終的な結果を精確なものにすることが望まれる場合には 、種々の条件について諸処理操作を実行しなければならない。 (発明の概要) 本発明の目的は、減算の間、空白の剰余を検出するための回路を備えた計算装 置を提供することである。 請求の範囲に示されるように、本発明は、非回復形の減算方法に従って減算操 作をディジタル的に実施するための装置に関しており、この装置は、部分的剰余 を計算するための算術及び論理ユニットを具備するとともに、減算の間、空白の 剰余を検出するための回路を具備している。 本発明によると、除数が“n”ビットのフォーマットをもつのに伴って、部分 的剰余は“p”ビットのフォーマットとされる。ここで、p≧nであり、これら の“p”ビットは、累算器レジスタの最上位側諸ビット上に位置合わせされる。 減算ステップ“i”での部分的剰余の検査が行われるのは、累算器の内容に除数 を加算又は減算した後であり、除数は、被除数の“n”個の最上位ビット上に位 置合わせされる。この検査は、ポジション“p−n”〜“p−1”をもつ新しい 剰余の“n”個の最上位ビット、及び、ポジション“p−1−n”をもつ次の最 下位ビットが、全て、空白であるかを見つけ出す検査を行って、或る情報ビット が部分的に空白の剰余を指示している場合はこのビットを「1」に置き、さもな ければこれを「0」に置くようにすること、並びに、この情報ビットが既に「1 」に置かれている場合に、ポジション“p−1−n”をもつビットだけの検査を 行って、この情報ビットが空白である場合はこのビットを「1」に維持するか、 或いは、これと逆の場合は「0」にリセットするようにすることにある。 「部分的に空白の剰余」という言葉は、次の事項のみが知ら れていることを意味する:減算ステップ“i”にて計算された部分的剰余の検査 される最上位側諸ビットが空白であること、並びに、次の減算ステップでポジシ ョン“p−1−n”をもつビットの検査によって、累算器レジスタの内容が左側 にシフトされる際に、部分的に空白であることが見つけ出されたステップ“i” の部分的剰余の他のビットも空白であることを確認することができ、しかも、そ の後、ステップ“i”の部分的剰余が実際に全部空白であるかを見つけ出すこと ができること。 本発明の他の目的は、商の種々の修正条件がたった1回だけ考慮に入れられる だけであることにある。本発明によると、装置は、減算終了時に商に対して適用 される修正を計算するための従来形の回路を備えている。 本発明によると、この修正は、算術及び論理ユニットのキャリー入力に対して 、有利に適用される。 本発明の別の目的は、各減算ステップで、次の減算ステップに対して補数化さ れた商ビットを計算して、算術及び論理ユニットの入力にマルチプレクサによっ てこのビットを商の最下位ビットに導入するようにすることにある。 (図面の簡単な説明) 本発明の他の特徴及び利点は、本発明の非限定的実施例を用い且つ添付した次 の図面を参照してなされる以下の詳細な説明から明らかになる: 図1は、本発明による2進減算を実施するための装置のブロック図を示し、 図2は、本発明による空白の部分的剰余の検出手段ののブロック図を示す。 (発明の実施の形態) 図1には、本発明による計算装置のブロック図が示されている。 この装置には、主たる手段として、制御ユニット1により制御される算術及び 論理ユニットALUが備えられる。図示の例においては、40ビット計算装置が あり、この40ビットは、32上位ビット及び8拡張ビットから成る。 従って、算術及び論理ユニットの入力でのオペランドは8拡張ビットを有し、 このビットは、符号を付けない表現形式では10」にセットされ、或いは、符号 付の表現形式では符号ビットが採られる。算術及び論理ユニットALUにおける オペランドの符号ビットは、それ故、(ポジション“0”〜“30”に対して) ポジション“31”〜“39”上のビットにより与えられる。 算術及び論理ユニットには、右側オペランド及び左側オペランドを夫々受ける ための2つの入力Op1,Op2、及び、算術乃至論理の演算結果を与えるための端 子Opsが設けられる。 算術及び論理ユニットにおける演算に影響を及ぼすオペランドのタイプ及びフ ォーマットは、条件レジスタRCにおいて定義される: 各側のオペランドが符号付き(1)又は符号なし(0)であることを示すため の左側オペランド用符号タイプSG、及び、左側オペランド用符号タイプSD、 各側のオペランドが長フォーマット(1)又は短フォーマット(0)であるこ とを示すための左側オペランド用長さフォーマットLG、及び、左側オペランド 用長さフォーマットLD。 短フォーマットについては、オペランドが右手に位置合わせされ、即ち、数値 の最上位ビットがポジション“31”をもつビット上に(既に分かっている取決 めを伴って)存在し、その最下位側16ビットは「0」によって補数をとられ、 8符号ビットは符号ビット又は「0」をもつ。 算術及び論理ユニットは、また、算術情報、即ち、2つの最上位キャリービッ トC1,C2及び結果の符号ビットSrを送出する。情報ビットC1,Srは、計 算の終了時に条件レジスタRCに与えられる。この例においては、ビットC1は このレジスタのキャリービットCに与えられ、ビットSrは符号ビットSに与え られる。ビットC,Sは、所定の時点に、計算された最終的な結果に関する情報 を与える。C1,C2及びSrは、さらに、他の情報ビットを条件レジスタRCに 送出する条件付け回路CONDにも与えられ、これらの他の情報ビットには、算 術及び論理ユニットの出力における結果の上位32ビットが空白であることを示 すビットZ、及び、使用されているフォーマットをこの結果がオーバフローして しまったことを示す容量オーバフロービットOVFcがある。この条件付け回路 は、算術及び論理ユニット乃至手段によって計算された結果を、オーバフローを 検出した場合には、フォーマットの最大値又は最小値に対応する飽和値を、出力 OpS1に与える。本発明では、この条件付け回路は、また、情報ビットとして、 左側オペランドの符号ビット、つまり、この例では、g39をうける。なお、本発 明によるこの条件付け回路は、後述するように、図2を参照しつつより詳細に説 明される。 本発明に従うと、ビットZは、減算において別の重要度を有 している。つまり、このビットは、あとで分かるように、この同一の条件付け回 路CONDにより計算された部分的に空白の剰余の情報ビット線である。 オペランドはソースレジスタによって算術及び論理ユニットALUに与えられ る。この例では、左側オペランドは累算器Accにより与えられ、この累算器は、 また、条件付け回路COND(出力OpS1)を介する算術及び論理ユニットAL Uの出力の行先レジスタである。右側オペランドはソースレジスタRegにより与 えられる。 本発明に従うと、ソースレジスタと算術及び論理ユニットの入力Op2との間 には、シフタD及びマルチプレクサ2が設けられる。このシフタDは、好ましく は、バレルレジスタであって、算術及び論理ユニットのオペランド入力の適用の 前に、ソースレジスタ内容を右又は左に任意数のポジションだけ算術的又は論理 的にシフトする操作を適用することができ、このオペランド入力は、この例では 、左側オペランド入力である。本発明においては、シフタは、左にむかって“1 ”ポジションだけシフトする動作を少なくとも1回行うことができるより簡単な シフタとすることもできる。 このシフタの出力ビットbd0〜bd39は、左側オペランド入力のビットg0〜 g39に供給される。より詳細にいうと、ビットbd1〜bd39は、左側オペラン ド入力の対応するビットに直接供給される。本発明に従うと、ビットbd0は、 論理的マルチプレクサ2の入力に供給され、このマルチプレクサは、他の入力に 、条件レジスタRCから到来する符号比較ビットCS及び補数化商ビットNQを 受ける。このマルチプレクサはビットを送出し、このビットは左側オペランドの ビットg0に供 給される。 本発明に従うと、条件レジスタRCの符号比較ビットCSは、減算のために使 用される種々の条件回路から到来し、関係する減算ステップに応じて、被除数及 び除数の比較得られるビット、又は、商の修正のビットを表すことができる。 第1の条件回路3は、除数(右側オペランド)と被除数(左側オペランド)の 符号が相違する(CS1=1)か相違しない(CS1=0)かを示す第1のビット CS1を送出し、このビットは、商の第1ビット(符号ビット)を決定するのに 用いられ、もしあるなら、商の修正を計算する。図1に示された実施例では、こ の回路3は、入力に、左側オペランド(被除数)の符号ビット及び右側オペラン ド(除数)の符号ビットを受ける排他的論理和(XOR)ゲートで構成される。 このゲートは、出力から、第1の符号比較ビットCS1を送出する。拡張ビット を備えた計算装置が用いられたこの例では、符号ビットは、符号付の数値に対し て、最上位ビット(この例では、ポジション“31”をもつビット)及び全ての 拡張ビット(これはビット“31”のコピーである)により与えられる。符号付 でないケースでは、符号は必ず正であり、(ポジション“31”をもつ)最上位 ビットは、もはや符号を表現せず、表現される数値の大きさを表し、この数値は その後「0」をもつビット“39”に拡張される。それ故、各ケース毎に精確に ビットCS1を置くように要求される場合には、或る拡張ビット、例えば、左側 オペランド及び右側オペランドのポジション“39”をもつビットが選択される 。また、オペランドが符号付きか符号なしかというタイプとポジション“31” をもつビットとの間で論理積演算(AND)を実行して、各ケース毎にオペラン ドの真の 符号を得ることができる。図示の例では、被除数の符号ビットは左側オペランド のビットg39によって与えられ、除数の符号ビットSdivは、ANDゲート4の 出力に与えられ、このANDゲートは、右側オペランドが符号付か符号なしかを 示す条件レジスタRCからのタイプビットSD、及び、ビットg39を受ける。 本発明に従うと、第2の条件回路5が第2のビットCS2を送出し、このビッ トは、減算終了時に商に適用される修正を表す。 この回路は、この例では、3つの論理ゲート6,7,8を備え、入力にビット Z,CS,Sdivを受ける。ビットSdivは、すでに分かっているように、タイプ が符号付か符号なしかに拘わら除数の符号を示す。ビットZは、このケースでは 、本発明に従って、部分的に空白の剰余の情報ビットを表す。 ゲート6は、入力としてこのビットZ及び除数の符号ビットSdivを受ける論 理的ANDゲートである。 ゲート7は、反転入力に同じビットZを受け、通常入力にレジスタRCの符号 比較ビットCSを受ける論理的ANDゲートである。 ゲート8は、入力として上記ゲート6,7の出力を受けるORゲートである。 このゲートが送出する論理的な出力ビットは、商の修正のための第2のビットC S2である。 第3のビットCS3が制御ユニット1を可能化して除数及び被除数の符号が同 一符号であるのか否かについての直接書込みを、回路3に代わって実行させるの に用いられる(これは、除数及び被除数の符号がそれ以前に知られているケース におけるものである)。 これらの3つのビットCS1,CS2,CS3はマルチプレクサ9に供給され、 このマルチプレクサの出力によって、何れかのビットをスイッチして、条件レジ スタRCのビットCSに記憶されるビットCScに導く。 算術及び論理ユニットALUは、また、最下位ポジションをもつビットへのキ ャリー値の適用又は非適用を可能化するビットCinを受ける。一般的には、図示 のように、マルチプレクサMUX条件レジスタRCのキャリービットC及び「0 」に強制されるビットがマルチプレクサMUXの入力で受けられ、算術及び論理 ユニット内で演算がキャリー操作を伴って実行されるのかキャリー操作なく実行 されるのかに応じて、どちらかの入力が適用される。 本発明に従うと、マルチプレクサMUXに備えられる補足的な入力に、上述し た条件回路5によって計算された修正ビットCS2を受ける。 そして、条件レジスタの補数化商ビットNQは、(除数の減算又は除算につい ての演算の後)除数の符号を剰余の符号と比較する条件回路10によって与えら れる。除数の符号は、既に分かっているように、ビットSdivにより与えられ、 そして、ここで関係する剰余の符号は、算術及び論理ユニットによる計算結果の 符号ビットによって、即ち、一般的に結果(b39)のポジション“39”をもつ ビットに対応するビットSrによって与えられる。 図1に示された実施例では、回路10に備えられた排他的論理和(XOR)ゲ ート11ドが、入力としてビットSdiv,Srを受ける。このゲートの出力は、 条件レジスタRCのビットNQに記憶された補数化商ビットを与える。 さて、図2を参照して、本発明による条件付け回路CONDを詳細に説明しよ う。この回路の第1部分は、本発明に従って、空白の結果か、或いは、部分的に 空白の剰余に関係する情報かの何れかを表すビットZをセットするための回路1 2〜18により構成され、第2部分は、本発明に従って、オーバフローか或いは 不可能な除算かの何れかを表すビットOVFをセットするための回路19〜22 により構成される。 第1部分は最下位側16ビットb0〜b15を第1のゼロ比較回路12に受け、 この回路は、入力ビットが全て「0」に等しい場合、「1」に等しい出力ビット Zlを生じ、そうでない場合には、「0」に等しい出力ビットZlを生じる。次 のビットb16〜b31は、第2のゼロ比較回路13に与えられる。この回路は、入 力ビットb16〜b31が全て「0」に等しい場合、「1」に等しい出力ビットZh を生じ、そうでない場合には、「0」に等しい出力ビットZhを生じる。これら の回路12,13は、例えば、4ビットに対して1つ設けられ、4入力付きAN Dゲートが後続するNORゲート(図示せず)を使用することによって、単純に 作成される。 上記2つのビットZh,Zlは論理的ANDゲート14に入力として供給され 、このゲートは、算術及び論理ユニットにより計算された結果の有効ビットb0 〜b31が、全て空白である(=1)か否(=0)を示す第1のビットZ1を送出 する。 本発明に従うと、条件付け回路には、別のビットZ4が論理回路15〜17に よって用意されている。 論理的ANDゲート15は、1方の入力にビットZhを、そして、反転入力に ビットb15を受ける。このゲートは、ビット b15,b16〜b31が全て空白である場合、「1」に等しい論理出力Z2を送出し 、そうでない場合には、「0」に等しい論理出力Z2を送出する。 論理的ANDゲート16は、1方の入力に条件レジスタRCのビットZを受け 、反転入力に、算術及び論理ユニットの出力から結果のビットb15を受ける。こ のゲートが生じる論理出力Z3は、ORゲート17の入力として供給され、この ORゲートは、第2の入力にゲート15の出力Z2を受ける。ゲート17は、出 力に、ビットb15,b16〜b31が空白である場合、或いは、条件レジスタのビッ トZが「1」に等しく、且つ、ビットb15が空白である場合に、「1」に強制さ れた結果ビットを送出する。そして、さもない場合は、このビットZ4は「0」 に等しくなる。 そして、第1の比較回路12の出力Zlは、また、最下位側16ビットが空白 か否かを示すのに用いられ、従って、これにより除算の剰余を修正することがで きることが明らかである。これらの3つのビットZ2,Z4,Zlは、マルチプレ クサ18の入力に供給され、このマルチプレクサは、条件レジスタRCのビット Zに格納さるビットZcの状態を制御する。 条件付け回路には、さらに、飽和回路19が備えられ、この回路は、主として 、算術及び論理ユニットから、最上位キャリービットC1,C2及び符号ビットS rを受けてオーバフローがあるかを見つけ出し、対応する諸ビットOVF1を生 じ、できれば、出力に対応する飽和出力OpS1を生じる。 本発明によると、算術及び論理ユニットの入力に存在する除数及び被除数の除 算が可能か否かを、即ち、(数値が小数フォーマットで表現されていると仮定し て)被除数の絶対値が除数 の絶対値より厳密に小さいかどうかを、見出すための論理回路が設けられる。こ れは、2つのオペランドが同一の符号をもつ場合は減算結果が、或いは、これら が反対の符号をもつ場合は加算結果が、厳密に負であるか否かを見つけ出すこと にある。 この例においては、この論理回路は第1及び第2の論理ゲート20,21から 成り、他的論理和タイプの第1の論理ゲート20は、加算又は減算を実行した算 術及び論理ユニットの出力にある結果のビットSr、及び、左側オペランドの符 号、この例ではg39を、入力に受ける。ORタイプの第2の論理ゲート21は、 減算20の出力、及び、空白の結果を示す第1のビットZ1を入力に受ける。ゲ ート21の出力は、これが「1」に等しい場合、左側オペランドを右側オペラン ドで除算することが不可能であり、(絶対値の点から)被除数が除数よりも厳密 に小さくないことを示す情報OVF2を与える。 マルチプレクサ22はビットOVF1,OVF2のどちらか一方をスイッチして ビットOVFcに導き、このビットOVFcが条件レジスタRCのビットOVF に記憶される。 上述した種々の回路は、すべて、制御ユニット1によって次のとおりに制御さ れる: 算術及び論理ユニットは、指令mALUにより制御され、 条件付け回路は、指令mCOD1により、この回路のマルチプレクサ18を制 御してビットZcを用意するように制御され、且つ、指令mALU2により、マ ルチプレクサ22を制御してビットOVFcを用意するように制御され、 条件レジスタRCは、指令mRCにより、制御ユニットを可能化して前述した このレジスタの条件ビットの全部又は一部を 書き込むように制御され、 シフタDは、指令mDにより制御され、 算術及び論理ユニットの左側オペランド上のマルチプレクサ2は、指令m2よ り制御され、 マルチプレクサMUXは、指令mMUXにより、キャリー値を算術及び論理ユ ニットに供給するように制御され、そして、 マルチプレクサ9は、指令m9により、ビットCS1を計算して条件レジスタ のビットCSに供給するように制御される。 これから、本発明の装置についての制御方法を、右側オペランド側にはソース レジスタ内に除数があり、左側オペランド側には累算器内に被除数があるものと して説明する。 制御ユニットは、右側及び左側オペランドの負のタイプを表すビットSD,S Gを設定する。注意すべきことは、実行作業が同一タイプのオペランド上にだけ なさぱるので、1つのオペランド、例えば、除数のオペランドを設定するだけで 十分であることである。 図1,2に示された例に従うと、40ビットの算術及び論理ユニットを備え、 この40ビットが8つの拡張ビットからなるものとし、オペランドのフォーマッ トは、好ましくは、次のとおりである:被除数は長フォーマットに従って32ビ ット上に表現される(長フォーマットビットLGは条件レジスタ内で設定される )。 除数は、大きさが16ビット上に表現される。従って、短フォーマットビット LDは、条件レジスタ内で設定される。これはレジスタRegに格納される 符号付きの除算(SD=SG=1)がじっこうされるものと 仮定する。前もってビットSD,LD,SG,LGを読出している制御ユニット の指令を受けて、被除数は算術及び論理ユニットの左側入力にローディングされ 、併せて、符号ビットがポジション“31”をもつビット上に、そして、符号の 拡張がビット“32〜39”上に、設定される。除数は算術及び論理ユニットの 右側入力の最上位側16ビット“16〜31”上にローディングされ、併せて、 最下位側16ビット(ポジション“0〜15”)が「0」(短フォーマット)に セットされる。符号はポジション“32〜39”をもつビットに拡張される(符 号付きタイプ)。 本発明によれば、オペランド(被除数及び除数)のそれぞれの符号が知られてい ない場合は、符号を比較するための第1命令が実行されるが、この命令によって 、オペランドが同一符号をもつか否かを決定する。従って、制御ユニットは符号 比較命令XMPSを受け、この命令によって、マルチプレクサ9を活動化して( 指令m9)、出力CS1をスイッチしてマルチプレクサの出力CScに導く。こ のビットCS1は、オペランドの符号を処理する排他的論理和(XOR)ゲート によって与えられる。オペランドの符号が知られている場合は、制御ユニットに よりビットCS3をスイッチしてビットCScに導く。そして、ビットCScは 条件レジスタRCのビットCSに記憶される。 それから、除算が可能であることが確認される。もちろん、非回復アルゴリズ ムを実施するためには、(数値は小数フォーマットディジタル表現されると仮定 して)被除数の絶対値が除数の絶対値より厳密に小さくなくてはならない。本発 明によると、除算の無効性を示すために、オーバフロービットOVFが条件レジ スタで用いられるが、このビットはすでに分かってい るように、除算に対しては異なる態様で計算される(OVF2:回路20,21 、図2)。 制御ユニットは、対応する命令CHKDIVを受けて、前もって設定された条 件レジスタRCの符号比較ビットCSを読出し、その値が「1」の場合、オペラ ンドの符号が反対であることを示すので、算術及び論理ユニットに2つのオペラ ンドを加算するように、そして、その値が「0」の場合、被除数(左側オペラン ド)から除数(右側オペランド)を減算するように指令する。これらの演算は、 非変化状態を維持している累算器に対して、何らの結果出力も伴わない。それか ら、制御ユニットは、条件付け回路CONDのマルチプレクサ22に指令mCO ND2を送って、ビットOVF2をスイッチしてビットOVFcに導き、このビッ トを条件レジスタのビットOVFに記憶させる。そこで、次式が得られる: OVFc=OVF2=!(Sr[XOR]g39)+Z, ここで、記号“!”は、補数が採られなければならないことを示す。 従って、条件レジスタRCに記憶されたビットOVFは、ビット“0〜31” 上の結果が空白である場合、或いは、算術及び論理ユニットの出力のビットSr により与えられる結果の符号及び被除数の符号が同一である場合、「1」に等し い。 除算が可能である場合には、それから、第1の減算ステップをとることができ る。本発明によれば、この第1のステップは、商の符号ビットを計算し、新しい 部分的剰余(第1の部分的剰余)を計算し、そして、次のステップに対する補数 化商ビットを計算することにある。このために、命令DIVSが用いられ、この 命令は、符号付き減算を実行するためにたった一度だけ用 いられる。すでに注目することができるのは、ビットCSにより与えられ、CS1 によって或いは直接制御ユニットによって設定される商の符号が知られている ということである。 命令DIVSを受けると、制御ユニットは次の命令を実行する: 指令mDをシフタに送って、シフタにより、累算器(依然として被除数を構成 している)の内容を左方向に1ポジションだけシフトさせるようにすること; 指令m2を左側オペランドの入力のマルチプレクサ2に送って、このマルチプ レクサにより、条件レジスタのビットCSをスイッチして左側オペランドの最下 位ポジションをもつビットに導くようにすること。従って、算術及び論理ユニッ トの左側入力に、そのビットg0上にビットCSを伴って、左方向に1ビットだ けシフトされた被除数が得られる。つまり、ビットg0は、符号ビットを表すこ の第1の除算ステップの部分的商である; 指令mALUを算術及び論理ユニットに送って、ビットCSが「0」に等しい 場合は、部分的剰余から除数を減算し、ビットCSが「1」に等しい場合は、累 算器での結果をセーブしつつ、加算するようにすること。改めて分かることは、 ポジション値“1〜15”を有する16ビットの除数が「0」に等しくなるとい うことである(短フォーマット)。つまり、ポジション値“16〜39”を有す る16ビットだけがこの演算により影響される。左側オペランドのポジション値 “1〜15”を有するビットは、非変化状態を維持する。従って、部分的剰余は 計算された; 次式で与えられる補数化商ビットNQを条件レジスタRCに セーブすること: NQ=(Sdiv)[XOR](Sr), 即ち、符号付き除算での符号(ここで、SD=1)は、除数の符号と計算さ れた新しい部分的剰余の符号ビットSr(ビット“39”)との間の排他的論理 和(XOR)ゲートにより与えられる: そして最後に、IVSを受けると、指令mCOND2を条件付け回路のマルチ プレクサ18に送って、部分的に空白の剰余ビットZ4をスイッチしてビットZ cに導き、このビットを条件レジスタRCのビットZに記憶すること。本発明に よると、この第1の除算ステップに対して、部分的に空白の剰余の出現が明らか になる。 それから、次の除算ステップに続けることができる。一旦商の符号ビットを計 算するためのステップが行われると、商の次のビットを計算する必要がある。 本発明によれば、命令DIVQがこのために用いられる。この命令は、新しい 部分的商を計算し、それから、新しい部分的剰余を計算し、それから、次のステ ップのために補数化商ビットNQを計算し、そして最後に、部分的に空白の剰余 の出現、或いは、先行する部分的に空白の剰余の確認を記憶する。 本発明に従って命令DIVQを受けることによって、制御ユニットは次の操作 を実行する: 指令mDをシフタに送って、左側オペランドへの転送を伴って、累算器の内容 を左方向に1ポジションだけシフトさせるようにすること; 指令m2を左側オペランドの入力のマルチプレクサ2に送って、条件レジスタ のビットNQの反転をスイッチして左側オペ ランドの最下位ビットb0に導くようにすること; 指令mALUを算術及び論理ユニットに送って、累算器の結果をセーブしつつ 、条件レジスタのビットNQが値「1」であるか「0」であるかに応じて、この ように計算された左側オペランドを伴う除数の減算又は加算を実行すること: 次の減算ステップのために、前述のように、条件レジスタ内の補数化商ビット NQを計算すること: 条件付け回路のマルチプレクサ18にスイッチ指令mCOND1を送り、本発 明に従って、条件レジスタのビットZを、部分的に空白の剰余に関係する情報ビ ットZ4で更新すること。 改めて分かることは、本発明によれば、最初に、ビット“15”及び部分的剰 余の最上位側ビット“16〜31”が全て空白であるかを見つけ出す検査が実行 されて、部分的に空白の剰余に関係する情報が「1」で設定されるようにし、次 に、既に「1」に設定された部分的に空白の剰余による検査がビット“15”上 に実行されて,累算器レジスタの内容が左方向にシフトされている際、最上位側 ポジションに向かって順次シフトされる部分的剰余の他の最下位側諸ビットも空 白であるかを見つけ出すようにする。このことがない場合は、部分的に空白の剰 余情報ビットが「0」にリセットされる。要するに、ステップ“i”で、部分的 に空白の剰余が見つけられた場合は、後続する各ステップで、ビット“15”に 対してシフトされる最下位ビットが空白であるか否かを見つけ出す検査が実行さ れる。ステップ“i+k”で、空白でないビット“15”が見つかった場合、ス テップ“i”での剰余が完全に空白ではないことを意味する。この検査に並行し て、各ステップでは、新しい部分的に空白の剰余が部分的に空白であるか否かを 見つけ出す検査が 継続される。減算の終了時には、ビット1Zは、部分的剰余が完全に空白か否か を示す。従って、検査は、発生したことを記憶しつつ、減算の間ずっと行われ、 減算の終了時に解釈される。このように、賢明な監視が可変サイズのオペランド の無効(ヌリティ)について行われる。注目すべきは、たった1つの部分的に空 白の剰余が減算の間に出現することである。 除算ステップDIVS及び14回の除算ステップDIVQが実行されてしまう と、それに従って、最後の命令DIVQにより、部分的に空白の剰余が存在した か否かといことを示す最終ビットZが得られる。 そのときなお行わなければならないことは、部分的商を修正して最終的な商を 得るようにすることである。本発明によれば、最下位ポジションに対して1単位 を加算する必要がある全てのの条件が、ただ1度だけ考慮される。本発明に従う と、条件回路5が、代表累積ビットCS2を計算するのに使用され、結果を累算 器にセーブしつつ、算術及び論理ユニットのキャリー入力Cinが、このビットC S2を商の最下位ポジションに加算するのに使用される。この条件回路の実施例 については図1を参照しつつ既に説明した。累積条件は次式で与えられる: CS2=(Sdiv・Z)+(!Z・CS)。 このビットは、修正されなければならない次の2つのケースを組み合わせてい る:一つは、被除数及び除数が反対の符号をもつケースで、これは条件レジスタ のビットCSにより与えられ、もう一つは、除数が負であり且つ減算の間少なく とも1つの完全に空白の部分的剰余があったケースである。後者のケースでは、 もちろん、部分的剰余は正であると考えられて、「1」に等しいビットNQ、即 ち、次のステップで「0」に等しい部 分的商の或るビットがもたらされた。実際上、空白の剰余は、除数と同一の符号 を持っており、従って、次のステップに対しては、「1」に等しい商のビット( NQは「0」に等しい)を導入するように考えるべきである。 それで、制御ユニットは、商を修正するための命令RESQを受けると、次の 指令を実行する: 指令mDをシフタに送り、シフタによって、左方向に1ポジションだけシフト された累算器の内容を、左側オペランドとしてロードするようにすること; 指令m2を左側オペランドの入力のマルチプレクサ2に送って、このマルチプ レクサにより、ビットNQの反転をスイッチして左側オペランドの最下位ビット に導くようにすること; 指令mMUXをマルチプレクサMUXに送って、条件回路5のビットCS2を スイッチして算術及び論理ユニットのキャリー入力Cinに導くようにすること; 指令mALUを算術及び論理ユニットに送り、算術及び論理ユニットによって 、このキャリーを左側オペランドに加算するようにすること。それで、累算器は 、最下位側16ビット上に、符号付きのフォーマットをもつ右の商を有する。剰 余は他の24ビットで表現される; 指令m9をマルチプレクサ9に送って、ビットCS2をスイッチして条件レジ スタのビットCSに導くようにすること; 指令mCOND1を条件付け回路のマルチプレクサ18に送って、ビットZl をスイッチして条件レジスタのビットZに導くようにすること。ビットZは、修 正された商が空白であるか否かを示す。 従って、本発明による命令RESQによって新しいビットZ, CSを計算する。部分的剰余が何ら検出されない場合ビットCSは変化しないこ とが分かるであろう。ビットZlは、算術及び論理ユニットの演算結果の最下位 側16ビット(商)が「0」に等しい場合、「1」に等しい。 この条件は、命令RESQの前の商がただ1つのもので成り且つCS2が「1 」に等しいときに、剰余を修正するのに用いられる。そして、修正された商は、 「1」に等しいが、キャリーの伝播によって、部分的剰余が変更されることが示 される。 ビットCS2をもつビットCSは、また、部分的剰余を修正するのにも用いら れる。 本発明によれば、或る命令RESRが実行されて、部分的剰余を修正するよう にする。制御ユニットは、条件レジスタのビットCS,NQ,Z上に検査を施す 。すでに分かっているのは、るのに用いられることである。 この役割に対するビットCSは、商を修正するためのビットCS2で成ってい る。この役割に対するビットNQは、最後の命令DIVQによって計算された最 後の補数化商ビットで成っている(命令RESQはビットNQを変更せず、制御 ユニットは、この命令のために条件レジスタのビットNQ上に指令mRCを送る ことはない)。 CS=NQ の場合、制御ユニットは何もしない。 CS=0, 且つ、CS=1 の場合は、制御ユニットは部分的剰余に除数を加算する。この演算のためには、 除数を格納するレジスタRegをシフタに切換えるのが有利であり、制御ユニット は、右方向に1ポジション だけシフトするための指令mDをシフタに送って、左側オペランド上に除数を2 度得ると共に、累算器の内容を右側オペランドに送る(破線の矢印)。 CS=1, 且つ、CS=0 の場合には、制御ユニットは累算器内容から除数を2度減算する。後者の場合、 制御ユニットは、算術及び論理ユニットに、累算器内容(右側オペランド)及び 2度の除数(右側オペランド)の補数の合計を計算させるが、この際、上記補数 は、Z=0のときは、2度の除数の両者の補数とし、Z=1のときは、2度の除 数の一方の補数とする(もちろん、この場合、両者の補数の計算時に存在する増 分「+1」は、命令RESQにおいて既に実行されている)。 算術及び論理ユニットの結果は、それから、最上位側24ビットについてのみ 累算器内にローディングされる。商は、最下位側16ビットにおいて変化してお らず、真の剰余は、そのとき、最上位側24ビットに位置づけされている。本発 明による実行装置に関して説明した符号付き減算は、小数フォーマットを用いる オペランドに関係する。それで、オペランドが整数フォーマットの場合には、符 号比較(CS)の後、被除数の1ポジション左方向シフトが、減算を計算する前 に行われる。減算の終了時には、剰余は、真の剰余の2倍であるように解釈され るであろう。 一方、減算が可能であるという検証は、被除数のシフト動作の後行われる。 符号なしの減算に関しては、ビット符号がない。それにもか かわらず、本発明によれば、商の符号を計算するための根DIVSを実行して、 第1の商ビットを計算する必要がある。この命令は商に第1の非有効ビットを発 生する。それから、14の命令DIVQを実行して商の他の諸ビットを計算する 必要がある。従って、或る補足命令DIVQがある。商は、いまや、17ビット 上に表現されるが、ポジション“16”をもつビットは、ここでは、非有効ビッ トである。剰余は、そのとき、最上位側23ビットで表現される。 符号つき減算モードから符号なし減算モードへの転換は、条件レジスタのビッ トSDの変更によって行われる。つまり、SD=0は、除数が符号付きでないこ とを示し、従って、Sdiv=0である。被除数については、8拡張ビットに「0 」を格納することで十分である。 符号なし減算の場合には、オペランドのフォーマットが整数フォーマットであ るか小数フォーマットであるかということに拘わらず、相違がなく、結果の最終 的な解釈においてのみ投割を演じる。 本発明による実行装置並びに種々の組合わせ及びマルチプレキシング回路のた めに、種々の命令のそれぞれがたった1サイクルで都合良く実行される。そして 、減算が不可能なケースを取り扱う目的を除いては、ユーザは、もはや、例外ル ーチンを実行して結果を修正するようなことはしなくてよい。 小数の符号付き減算の或る例では、16による32ビットの符号付き減算には 、19の基本的な命令が必要になる(CMP,CHKDIV,14回のDIVQ ,RESQ)が、ことによると、剰余が修正されなければならない場合、必要な らば、他の計算のために、更に1つの命令が必要になる(さらに、ループ カウンタを初期化するための命令DIVQを付加することも必要である)。商は 、最終的には16ビット上に表現される。 もちろん、例示のような高精度が要求されない場合は、より少数の商ビット( 従って、より少数の減算ステップDIVQ)を選択することができる。
【手続補正書】特許法第184条の7第1項 【提出日】1995年11月1日 【補正内容】 請求の範囲 1.部分的剰余の非回復形の方法に従って被除数を除数で除算する演算をディ ジタル的に実行するための装置であって、 部分的剰余の計算を実行するための算術及び論理ユニット、 減算の間、空白の部分的剰余を検出するための回路、 被除数にて初期化され、それから、各減算ステップに対して、部分的剰余を最 上位側諸ビット上に、そして、商を最下位側諸ビット上に格納する累算器、 実行された最後の算術的又は論理的演算に関する情報ビットを格納する条件レ ジスタ(RC)、及び、 前記算術及び論理ユニットの右側オペランド入力(Op1)にありnビットの 除数を格納するためのソースレジスタ(Reg)を具備した装置において、 前記算術及び論理ユニットの左側オペランド入力(Op2)にあって前記累算 器の内容を1ポジションだけ左方向にシフトする操作を得るためのシフトレジス タ、及び、 商計算の第1のステップ(DIVS)で、除算及び被除数の符号を比較するた めのビットであって、前記条件レジスタのビット(CS)に格納され商の符号ビ ットを表すビットを、提供するための、そして、商計算の後続ステップ(DIV Q)での左側オペランドの最下位ビット(g0)として、先行ステップ“i−1 ”で計算され前記条件レジスタに記憶された補数化商ビット(NQ)であって、 商計算の当該ステップ“i”での商の最下位ビットを表すビットを、提供するた めのマルチプレクサ(2) を具備し、 商計算の各ステップで、前記空白の部分的剰余を検出するための回路によって 計算されたゼロ検出ビットが、条件レジスタ内の或るビット(Z)において更新 される ことを特徴とする装置。 2.前記空白の部分的剰余を検出するための回路は、各減算ステップでゼロ検 出ビットを計算して前記条件レジスタのビット(Z)を再更新するための第1の 組合せ回路を備え、この再更新は、ステップ“1”で計算されたこのビットが、 前記累算器内に格納された結果のビットb16〜b31,b15が全て空白である場合 に、或いは、先行ステップ“i−1”で計算され前記条件レジスタに記憶された ゼロ検出ビット(Z)及びビットb15が空白である場合に、「1」に等しくなる ようにして行われることを特徴とする請求項1に記載の装置。 3.商を修正するための回路を具備し、 この回路は、 商の修正ビット(CS2)を計算するための第1の組合せ回路であって、この 計算は、このビット(CS2)が、除数が負であり(Sdiv=1)且つ全部が空白 の剰余が検出された場合に、或いは、全部が空白の剰余が検出されなかったが( !Z=1)除数及び被除数が異なる符号をもつ場合(CS=CS2=1)に、「 1」に等しくなるようにして行われる第1の組合せ回路、及び、 前記算術及び論理ユニットに入力キャリービット(Cin)として誤差修正ビッ トを供給するためのマルチプレクサ(MUX)を備える ことを特徴とする請求項2に記載の装置。 4.前記商の修正ビットは、それ後前記条件レジスタのビット(CS)に格納さ れ、この商修正のビットb0〜b15が全て空白であるかどうかが条件レジスタに 記憶されて、部分的剰余が修正されなければならないように設定されていること を特徴とする請求項3に記載の装置。

Claims (1)

  1. 【特許請求の範囲】 1.部分的剰余の非回復形の方法に従って被除数を除数で除算する演算をディジ タル的に実行するための装置であって、部分的剰余の計算、部分的剰余の検出を 実行するための算術及び論理ユニットを具備した装置において、減算中の空白の 部分的剰余の検出回路を具備することを特徴とする装置。 2.被除数にて初期化され、それから、各減算ステップに対して、部分的剰余を 最上位側諸ビット上に、そして、商を最下位側諸ビット上に順次格納する被除数 用累算器、及び、除数の有効nビットを格納するレジスタを具備する請求項1に 記載の装置において、前記検出回路は、各減算ステップで部分的に空白の剰余の 情報ビット(Z4)を更新するものであって、この情報ビットは、減算ステップ iにおいて、nビットの除数の減算乃至加算によって減算ステップiで変更され た部分的剰余の最上位側nビットを検査すること、変更されない上位ビットに従 うビットを検査すること、及び、ステップi−1で計算された部分的に空白の剰 余の情報ビットを検査することによって、決定されることを特徴とする装置。 3.実行された最後の算術的又は論理的演算に関する情報ビットを格納する条件 レジスタ(RC)、 前記算術及び論理ユニットの右側オペランド入力(Op1)にあってnビット の除数をするためのソースレジスタ(Reg) 前記算術及び論理ユニットの左側オペランドの入力に関し、第1ステップにお いて、pビットの被除数を格納するため(p は、n以上である)、そして、次のステップにおいて、最上位側(p−m)ビッ ト上の部分的剰余、及び、最下位側mビット上の部分的商を格納するため(mは 、実行されるステップ数に応じて変化する)の累算器 を具備し、 各減算ステップに対する部分的剰余の計算は、ポジション0への商ビットの導 入を伴いつつ、左側オペランドにおいて、前記累算器の内容を最上位側諸ビット に対して1ポジションだけシフトすることにあり、前記算術及び論理ユニットは 、左側オペランドの最上位側nビット上に設定された左側オペランドの内容に関 するnビットの除数の加算乃至減算を実行する 請求項2に記載の装置において、 前記空白の部分的剰余の検出回路は、除算ステップiにおいて、左側オペラン ドの最上位側(P+1)ビット〔(p−n)〜(p−1),(P−n−1)〕が 全て空白であるかを検出して、第1の論理出力(Z2)を「1」或いは「0」に するための第1の組合せ回路(15)、前の除算ステップ(i−1)において更 新された前記部分的に空白の剰余の情報ビット(24)が空白の剰余を示す場合 、有効(p−n−1)ビットが空白であるかを検出して、第2の論理出力(Z3 )を「1」又は「0」にするための第2の組合せ回路(16)、及び、第1の論 理出力(Z2)及び第2の論理出力(Z3)間の論理和をとり、当該除算ステップ iの部分的に空白の剰余の検出ビット(Z4)を送出するORゲート(17)を 備える ことを特徴とする装置。 4.請求項3に記載の装置において、前記検出回路は、最下位 側(p−n−1)ビットが全て空白であるか否かを検出して、最終的な商が空白 であるか否かを決定し、論理出力(Zl)を設定する組合せ回路(12)を備え ることを特徴とする装置。 5.請求項1〜4に記載の装置において、 前記部分的に空白の剰余の情報ビット(Z4)は、前記条件レジスタのゼロ検 出ビットに記憶され、 算術及び論理ユニットの出力による空白の結果を検出する検出回路の出力、及 び、最下位側(p−n−1)ビットの空白の検出出力(Zl)を、入力に受け、 前記条件レジスタ(RC)の格納領域の「0」検出ビット(Z)に記憶されるべ きビット(Zc)を出力から送出する第1のマルチプレクサ(18) を具備することを特徴とする装置。 6.請求項5に記載の装置において、さらに、 算術及び論理ユニットの入力の2つのオペランドの符号のタイプが同一符号を もつか否かを決定し、条件レジスタ(RC)の対応する符号比較ビット(CS) を「1」又は「0」にする組合せ回路(3) を具備することを特徴とする装置。 7.請求項6に記載の装置において、 各除算ステップ1で、後続する除算ステップ(i+1)に対し、補数をとられ た商ビットを決定する(NQ)ための別の組合せ回路であって、除数の符号ビッ ト(Sdiv)、及び、当該除算ステップ1で計算された部分的剰余の符号ビット を入力に受け、条件レジスタ(RC)の格納領域に対して補数化商ビッ ト(NQ)を出力に送出する排他的論理和ゲート(11)で成る回路 を具備することを特徴とする装置。 8.請求項7に記載の装置において、 前記累算器の内容の左方向への1ポジションだけのシフトを実行するためのシ フト手段、及び、 このシフト手段の出力の最下位ビット、符号比較ビット(CS)、及び、条件 レジスタ(RC)に格納された補数化商ビット(NQ)を入力に受け、前記算術 及び論理ユニットの入力に対する最下位ビット(g0)を出力に送出するマルチ プレクサ(2) を具備することを特徴とする装置。 9.請求項8に記載の装置において、 除算終了時に際し、除数の符号ビット(Sdiv)、前の除算ステップで計算さ れた部分的に空白の剰余の情報ビット(Z=Z4)、及び、符号比較ビット(C S)に応じて商の修正ビット(CS2)を決定するための他の組合せ回路であっ て、空白の部分的剰余の情報ビットの反転及び除数の符号ビット間の第1の論理 的ANDゲート、及び、各論理ゲートの出力を受け出力の修正ビットを出力から 送出するORゲートから成る回路 を具備することを特徴とする装置。 10.前記算術及び論理ユニットは、算術及び論理ユニットの最下位ビット上に キャリービットを増分するためのキャリー入 力(Cin)を有する請求項9に記載の装置において、 少なくとも、条件レジスタ(RC)の格納内容のキャリービット(C)、及び 、修正ビット(CS2)を受けて、出力修正命令の下、この最後の同一キャリー ビットを算術及び論理ユニットに供給するようにするマルチプレクサ(MUX) を具備することを特徴とする装置。
JP7530097A 1994-05-20 1995-05-18 ディジタル除算実行装置 Ceased JPH10500513A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9406214A FR2720172B1 (fr) 1994-05-20 1994-05-20 Dispositif de mise en Óoeuvre numérique d'une opération de division.
FR94/06214 1994-05-20
PCT/FR1995/000655 WO1995032465A1 (fr) 1994-05-20 1995-05-18 Dispositif de mise en ×uvre numerique d'une operation de division

Publications (1)

Publication Number Publication Date
JPH10500513A true JPH10500513A (ja) 1998-01-13

Family

ID=9463412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7530097A Ceased JPH10500513A (ja) 1994-05-20 1995-05-18 ディジタル除算実行装置

Country Status (6)

Country Link
US (1) US5903486A (ja)
EP (1) EP0760119B1 (ja)
JP (1) JPH10500513A (ja)
DE (1) DE69504192T2 (ja)
FR (1) FR2720172B1 (ja)
WO (1) WO1995032465A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3544821B2 (ja) * 1997-04-07 2004-07-21 株式会社東芝 除算回路
JP3173419B2 (ja) * 1997-05-08 2001-06-04 日本電気株式会社 倍数判定回路及びその判定方法
DE10055659C1 (de) 2000-11-10 2002-03-28 Infineon Technologies Ag Berechnungsschaltung zur Division eines Festpunktsignals
FR2827683B1 (fr) * 2001-07-17 2005-03-18 St Microelectronics Sa Procede de division de valeurs numeriques
DE10158810C1 (de) * 2001-11-30 2003-04-24 Infineon Technologies Ag Berechnungsschaltung zur Division eines Festpunktsignals
EP1391812A1 (en) * 2002-08-20 2004-02-25 Texas Instruments Incorporated Hardware accelerator for performing division
US8713084B2 (en) * 2008-02-25 2014-04-29 International Business Machines Corporation Method, system and computer program product for verifying floating point divide operation results
US8745118B2 (en) * 2008-02-25 2014-06-03 International Business Machines Corporation Verifying floating point square root operation results
US8402078B2 (en) * 2008-02-26 2013-03-19 International Business Machines Corporation Method, system and computer program product for determining required precision in fixed-point divide operations
US8626816B2 (en) * 2008-02-26 2014-01-07 International Business Machines Corporation Method, system and computer program product for detecting errors in fixed point division operation results
WO2011067896A1 (en) * 2009-12-02 2011-06-09 Mush-A Co., Ltd. Data processing apparatus, data processing system, packet, recording medium, storage device, and data processing method
CN116820388B (zh) * 2023-08-24 2023-11-14 深圳比特微电子科技有限公司 除法器、处理器和计算装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3492468A (en) * 1966-09-29 1970-01-27 Ibm Division of negative dividend expressed in two's complement form
US4181934A (en) * 1976-12-27 1980-01-01 International Business Machines Corporation Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US4339793A (en) * 1976-12-27 1982-07-13 International Business Machines Corporation Function integrated, shared ALU processor apparatus and method
US4378589A (en) * 1976-12-27 1983-03-29 International Business Machines Corporation Undirectional looped bus microcomputer architecture
US4320464A (en) * 1980-05-05 1982-03-16 Control Data Corporation Binary divider with carry-save adders
US4381550A (en) * 1980-10-29 1983-04-26 Sperry Corporation High speed dividing circuit
JP2605848B2 (ja) * 1988-12-20 1997-04-30 松下電器産業株式会社 非回復型除算器
US5016210A (en) * 1989-11-15 1991-05-14 United Technologies Corporation Binary division of signed operands
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
US5258944A (en) * 1992-09-01 1993-11-02 Cray Research, Inc. High performance mantissa divider
US5404324A (en) * 1993-11-01 1995-04-04 Hewlett-Packard Company Methods and apparatus for performing division and square root computations in a computer

Also Published As

Publication number Publication date
WO1995032465A1 (fr) 1995-11-30
DE69504192D1 (de) 1998-09-24
FR2720172B1 (fr) 1996-06-28
DE69504192T2 (de) 1998-12-24
EP0760119B1 (fr) 1998-08-19
FR2720172A1 (fr) 1995-11-24
US5903486A (en) 1999-05-11
EP0760119A1 (fr) 1997-03-05

Similar Documents

Publication Publication Date Title
US5619439A (en) Shared hardware for multiply, divide, and square root exponent calculation
US5136536A (en) Floating-point ALU with parallel paths
JPH0414366B2 (ja)
US5097435A (en) High speed dividing apparatus
JPH0749771A (ja) 近似値を丸める方法
CA1171181A (en) Data processor performing a decimal multiply operation using a read only memory
US20020143837A1 (en) Microarchitecture of an artihmetic unit
JP3845009B2 (ja) 積和演算装置、及び積和演算方法
US5317526A (en) Format conversion method of floating point number and device employing the same
US5677861A (en) Arithmetic apparatus for floating-point numbers
JPH10500513A (ja) ディジタル除算実行装置
EP0593107A1 (en) Data processing system
EP0056525B1 (en) Division system
JPS63123125A (ja) 浮動小数点数の加算装置
JPH01302425A (ja) 浮動小数点加減算回路
JPH09146924A (ja) 演算方法、演算装置及びマイクロプロセッサ
EP3921942A1 (en) Encoding special value in anchored-data element
US8219604B2 (en) System and method for providing a double adder for decimal floating point operations
US7003540B2 (en) Floating point multiplier for delimited operands
US6094669A (en) Circuit and method for determining overflow in signed division
JPH0283728A (ja) 浮動小数点乗算装置
EP3912272A1 (en) Anchored data element conversion
JP2664750B2 (ja) 演算装置及び演算処理方法
US7237000B2 (en) Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly
JPH0413734B2 (ja)

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050428

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050620

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20050912

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051018