JPH0452970B2 - - Google Patents

Info

Publication number
JPH0452970B2
JPH0452970B2 JP60232427A JP23242785A JPH0452970B2 JP H0452970 B2 JPH0452970 B2 JP H0452970B2 JP 60232427 A JP60232427 A JP 60232427A JP 23242785 A JP23242785 A JP 23242785A JP H0452970 B2 JPH0452970 B2 JP H0452970B2
Authority
JP
Japan
Prior art keywords
word
dividend
divisor
instruction
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.)
Expired - Lifetime
Application number
JP60232427A
Other languages
English (en)
Other versions
JPS6292027A (ja
Inventor
Yasuhiko Ibuki
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60232427A priority Critical patent/JPS6292027A/ja
Publication of JPS6292027A publication Critical patent/JPS6292027A/ja
Publication of JPH0452970B2 publication Critical patent/JPH0452970B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 多精度の符号付2進数の除算方式である。2進
数を固定長語に分割して、該部分ごとの演算によ
つて任意のビツト長の2進数除算を行うために、
該部分の被除数と除数間の加減算を行つて、その
結果の左1ビツトシフト及び符号ビツト等を出力
する2種類の命令を設ける。該命令のみの組み合
わせの繰り返し実行により、比較的簡単な回路構
成によつて、多精度(任意のビツト長)の符号付
2進数の除算を効率良く実行する。
〔産業上の利用分野〕
本発明は、計算機システム等における、任意長
多精度の符号付2進数の除算方式に関する。
公知のように、計算機は通常例えば32ビツト程
度の情報を1語として、各種の制御及び処理単位
として構成されたものが多い。そのばいいに、符
号付2進数(又は2進整数)も、同じ長さの1語
又は2語で表され、そのようなビツト長で表され
る数の除算その他の演算命令は標準の命令セツト
として準備される。
近年、計算機の利用分野の拡大に伴い、より高
精度の整数演算、即ち64ビツト程度より長いビツ
ト長を使つて表す必要のある符号付2進数に対す
る演算の需要が高まつてきた。
〔従来の技術と発明が解決しようとする問題点〕 計算機において、既存の除算命令で処理できる
ビツト長より長い符号付2進数の除算を行う場合
には、例えば、該2進数の被除数及び除数を、そ
の計算機の加減算命令等で扱うことのできるビツ
ト長(例えば32ビツト)に分割し、この分割した
各部分ごとに実行する加減算及びシフトを主要部
とする、公知の論理のプログラムによつて処理す
る。
該プログラムの論理は公知のように、通常の筆
算による除算における、除数を被除数の最高有効
桁かそれより1桁下がつた上位桁へシフトして、
被除数から減じ、結果を新たな被除数として同様
の減算を行う処理を基本とする。
この処理を、2進数について行う場合には、例
えば除数と被除数の、符号ビツトを除くビツトを
左(上位桁方向)へシフトして、最上位の‘1'ビ
ツトが最左の数値桁になるように整列した後、両
者の符号に応じて、例えば両者同符号であれば、
上記シフト後の被除数から除数を減じ、結果を1
ビツト左へシフトしたものを新たな被除数とよる
処理として構成される。
従つて、そのような演算を実行するプログラム
の主要部は、4語長の2進数の場合を例として第
3図aに示すように、各語(図において、被除数
をX1〜X4、除数をY1〜Y4とする)についての4
ステツプの加減算(ステツプ1〜4)の後に続
く、各語の1ビツト左シフトのステツプ(ステツ
プ5〜8)からなる。なお、ステツプ9は繰り返
し処理の終了の判定を行う分岐命令のステツプで
ある。
以上のように、従来の処理方式によれば、被除
数を分割した各部分ごとに、シフト命令の実行を
要するので、処理時間が長くなるという問題があ
つた。
本発明は、命令ステツプ数を短縮でき、且つ少
数の種類の命令によつて、任意の長さの2進数の
除算に、容易に対応できるようにした符号付2進
数除算方式を目的とする。
〔問題点を解決するための手段〕
第1図は、本発明の構成を示すブロツク図であ
る。
図において、10は被除数の部分を保持するレ
ジスタの1個、11は除数の部分を保持するレジ
スタの1個、14は加減算器、12は加減算器1
4の被加減数を保持する入力レジスタ、13は加
減数を保持する入力レジスタ、15はシフタ、1
6は符号レジスタ、17は演算指定レジスタ、1
8は指定保持レジスタ、19はキヤリイレジスタ
である。
〔作用〕
前記のように有効桁により整列した被除数及び
除数が、例えば32ビツト語に分割されて、その被
除数の1語がレジスタ10、除数の対応する桁位
置の1語のレジスタ11にある。
第1の命令において、レジスタ10の内容が入
力レジスタ12に、レジスタ11の内容が入力レ
ジスタ13にセツトされ、加減算器14が、制御
線20から入力する演算指定レジスタ17の内容
による加算又は減算指定に従つて、入力レジスタ
12,13の内容について、指定の演算を実行す
る。
演算結果はシフタ15によつて、1ビツト上位
方向(左)へシフトされ、下位32ビツト(最下位
ビツトは‘0'によつて、レジスタ10を置き換え
る。又シフト結果の最上位ビツトは符号レジスタ
16に保持される。
先の演算におけるキヤリイは、キヤリイレジス
タ19に保持される。
又、演算指定レジスタ17には符号指定レジス
タ21のビツトと符号レジスタ16のビツトの排
他的論理和がセツトされ、指定保持レジスタ18
には演算指定レジスタ17の以前の内容が保存さ
れる。
第2の命令においては、加減算器14が、指定
保持レジスタ18によつて指定される加算又は減
算を、入力レジスタ12,13及びキヤリイレジ
スタ19の3入力について実行し、演算結果を1
ビツト左シフトした下位32ビツトのうちの、上位
31ビツトと最下位ビツトとして符号レジスタ16
のビツトによつて、被除数レジスタ10を置き換
える。
第2の命令のその他の機能は、指定保持レジス
タ18が更新されずに前の値を維持する他は、前
記の第1の命令の場合と同様とする。
これらの命令を使つて、被除数レジスタ10及
び除数レジスタ11によつて代表して示すように
固定長のレジスタに分割して保持される被除数及
び除数の、最下位桁位置の語について第1の命令
を実行し、その他の各語について下位から上位桁
へ向かつて順次第2の命令を実行する。
以上のシーケンスを反復することにより、第1
の命令実行時の演算指定レジスタ17のビツト値
の列から商を得ることができる。
このようにすると、各語の加減算とその結果の
左シフトが1命令で完了すると共に、下位桁の演
算結果が順次自動的に波及されることによつて、
任意ビツト長の2進数についての、除算のための
加減算を、前記2種の命令のみで構成することが
可能になる。
〔実施例〕
第2図は、第1図の構成によつて実現される命
令の制御の詳細処理の流れを示す図である。
第2図は第1の命令(DX命令とする)と第2
の命令(DDX命令とする)の制御を示し、実行
が開始されると制御処理のステツプ28で、命令
が識別される。
DX命令の場合には、ステツプ30で、予め設
定されている演算指定レジスタ17の内容
(ARITHOPとする)によつて加減算器14の演
算を指定する。例えば第1図の制御線20の‘1'
信号によつて減算を指定するとすると、
ARITHOP=1によつて、ステツプ31の減算、
ARITHOP=0によつてステツプ32の加算が
実行される。
ステツプ31及び32の加減算は入力レジスタ
12及び13の内容(それぞれd及びSとする)
について実行され、ステツプ31の場合は、dと
Sの2の補数を加える公知の方法によりd−Sの
演算が実行され、ステツプ32の場合にはd+S
が実行される。
DDX命令の場合には、ステツプ40で、指定
保持レジスタ18の内容(ARITHDとする)に
よつて、加減算器14の演算が指定され、
ARITHD=1であれば、ステツプ41における
減算、0であればステツプ42の加算が実行され
る。
ステツプ41,42の加減算はd,S及びキヤ
リイレジスタ19の内容(CRYとする)の3入
力について実行され、ステツプ41の場合はd−
S+CRY、ステツプ42の場合はd+S+CRY
が行われる。
以上の演算結果のキヤリイビツトは、ステツプ
33でキヤリイレジスタ19に保持される。
ステツプ34で、演算結果のキヤリイを除く32
ビツトが、シフタ15によつて左へ1ビツトシフ
トされ、ステツプ29の命令識別を経て、DX命
令の場合にはステツプ35において、シフト結果
の下位31ビツトに‘0'を最下位ビツトとした32ビ
ツトによつて、現に被演算語となつている、被除
数語を保持するレジスタ10の内容を置き換え
る。
又、ステツプ36で、ARITHOPが指定保持
レジスタ18に転送されて新たなARITHDとさ
れる。
DDX命令の場合にはステツプ45において、
シフト結果の下位31ビツトに、符号レジスタ16
の内容(AOPとする)を最下位ビツトとして付
加した値によつて、レジスタ10の内容を置き換
える。
シフトによつて押し出される、演算結果の符号
ビツト(最上位ビツト)は、ステツプ38で新た
なAOPとして符号レジスタ16に設定される。
又、ステツプ37で、AOPへ入力する値と符
号指定レジスタ21の内容(NEGAとする)と
の排他的論理和の否定値が、新たなARITHOP
ビツトとして、演算指定レジスタ17に設定され
て、DX又はDDX命令の実行を終わる。
以上の機能を実行するDX及びDDX命令を使用
して、公知の引き放し法の除算論理により、1語
長より長い符号付2進数の除算を行う場合には、
前記のように被除数及び除数を整列して、それら
を所要のレジスタに分割して保持し、演算レジス
タ17に最初のARITHOP値として、被除数と
除数が同符号の場合は‘1'(減算の指定)、異符号
の場合は‘0'を設定し、符号指定レジスタ21に
除数の符号ビツト値を設定した後、両命令からな
るプログラムを実行する。
このプログラムは、第3図bに4語長の2進数
の場合を例として示すように、被除数及び除数の
4語を、下位桁部分からそれぞれX1〜X4及びY1
〜Y4とすると、X1,Y1についてDX命令を実行
し、次にX2,Y2〜X4,X4について順次DDX命
令を実行するシーケンスを、所要回数繰り返すよ
うに構成する。
このシーケンスにより、最初にARITHOPに
設定した値によつて定まる加算又は減算が、下位
桁から上位桁へ順次実行され、その結果被除数と
除数との全体の加算又は減算が行われて、結果を
1ビツト左シフトしたものが、新たな被除数とな
り、最上位の演算結果の符号とNEGAの値によ
つて次のシーケンスが加算か減算か決定されて
ARITHOPに設定されることは、前記2種の命
令の機能から明らかである。従つて、このシーケ
ンスにより、除算処理の主要部が構成される。
このシーケンスは、第3図aの従来のシーケン
スに対応する処理であり、明らかに処理ステツプ
は略1/2になる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれ
ば、計算機システムにおける、任意長の多精度2
進数の除算が、2種の命令によつて、効率よく処
理されるようになるという著しい工業的効果があ
る。
【図面の簡単な説明】
第1図は本発明の実施例構成ブロツク図、第2
図は本発明命令の処理の流れ図、第3図は除算処
理の説明図である。 図において、12,13は入力レジスタ、14
は加減算器、15はシフタ、16は符号レジス
タ、17は演算指定レジスタ、18は指定保持レ
ジスタ、19はキヤリイレジスタ、21は符号指
定レジスタ、28〜38,40〜42,45は処
理のステツプを示す。

Claims (1)

  1. 【特許請求の範囲】 1 符号付2進数の除算に際し、 所定のビツト長の符号付2進数の被除数語10
    及び除数語11について、指定の加算又は減算を
    実行し、該演算結果を上位桁方向へ1ビツトだけ
    シフト15した値によつて該被演算語10を置き
    換え、及び該演算結果の符号ビツト16及びキヤ
    リイ19を出力する第1の命令、 及び、該被除数語10、該除数語11及びキヤ
    リイ19について、加算及び減算のうち指定の演
    算14を実行し、該演算結果を上位桁方向へ1ビ
    ツトだけシフト15して、最下位ビツトを符号ビ
    ツト出力で置換した値によつて該被演算語10を
    置き換え、及び該演算結果の符号ビツト16及び
    キヤリイ19を出力する第2の命令を設け、 符号付2進数の被除数及び除数を、それぞれ上
    記ビツト長の被除数語及び除数語に分割し、最下
    位桁位置の該被除数語及び除数語について第1の
    命令を実行し、 次に、該最下位桁の被除数語を除く各被除数語
    と、該被除数語に対応する桁位置の除数語とにつ
    いて、下位桁の語から最上位桁の語まで順次第2
    の命令を実行するプログラムを構成し、 該プログラムを所定条件の成立まで繰り返し実
    行するように構成されていることを特徴とする符
    号付2進数除算方式。
JP60232427A 1985-10-18 1985-10-18 符号付2進数除算方式 Granted JPS6292027A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60232427A JPS6292027A (ja) 1985-10-18 1985-10-18 符号付2進数除算方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60232427A JPS6292027A (ja) 1985-10-18 1985-10-18 符号付2進数除算方式

Publications (2)

Publication Number Publication Date
JPS6292027A JPS6292027A (ja) 1987-04-27
JPH0452970B2 true JPH0452970B2 (ja) 1992-08-25

Family

ID=16939096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60232427A Granted JPS6292027A (ja) 1985-10-18 1985-10-18 符号付2進数除算方式

Country Status (1)

Country Link
JP (1) JPS6292027A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52132751A (en) * 1976-04-30 1977-11-07 Hitachi Ltd Operational unit
JPS59160235A (ja) * 1983-03-03 1984-09-10 Matsushita Electric Ind Co Ltd 除算装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52132751A (en) * 1976-04-30 1977-11-07 Hitachi Ltd Operational unit
JPS59160235A (ja) * 1983-03-03 1984-09-10 Matsushita Electric Ind Co Ltd 除算装置

Also Published As

Publication number Publication date
JPS6292027A (ja) 1987-04-27

Similar Documents

Publication Publication Date Title
KR102447636B1 (ko) 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법
US5761726A (en) Base address generation in a multi-processing system having plural memories with a unified address space corresponding to each processor
US6058473A (en) Memory store from a register pair conditional upon a selected status bit
US6032170A (en) Long instruction word controlling plural independent processor operations
US5590350A (en) Three input arithmetic logic unit with mask generator
US5805913A (en) Arithmetic logic unit with conditional register source selection
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US5640578A (en) Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section
JP3589719B2 (ja) 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法
JP3729881B2 (ja) 並列加算および平均演算を行うための回路およびその方法
US6067613A (en) Rotation register for orthogonal data transformation
JPS58158739A (ja) 浮動小数点加算方法及び装置
US5442581A (en) Iterative division apparatus, system and method forming plural quotient bits per iteration
US8604946B2 (en) Data processing device and data processing method
US5546551A (en) Method and circuitry for saving and restoring status information in a pipelined computer
JPH034936B2 (ja)
US5689695A (en) Conditional processor operation based upon result of two consecutive prior processor operations
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
JPH0452970B2 (ja)
KR950012089B1 (ko) 마이크로프로세서
US5661674A (en) Divide to integer
JPS6120134A (ja) 平方根計算装置
EP1197874B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JPS623330A (ja) 加算器
JP2708526B2 (ja) 2進整数除算処理方法