JPH02204828A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH02204828A
JPH02204828A JP2401489A JP2401489A JPH02204828A JP H02204828 A JPH02204828 A JP H02204828A JP 2401489 A JP2401489 A JP 2401489A JP 2401489 A JP2401489 A JP 2401489A JP H02204828 A JPH02204828 A JP H02204828A
Authority
JP
Japan
Prior art keywords
decimal
storage means
register
arithmetic processing
operand
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
JP2401489A
Other languages
English (en)
Inventor
Yasuhiro Nakai
康博 中井
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2401489A priority Critical patent/JPH02204828A/ja
Publication of JPH02204828A publication Critical patent/JPH02204828A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、演算処理装置に関し、特に2進化10進コー
ドで表わされた被乗数オペランドと乗数オペランドの1
0進乗算を行なう演算処理装置に関する。
[従来の技術] 従来、この種の10進乗算の演算処理は、被乗数オペラ
ンドに乗数オペランドを10進1ケタずつ乗算した値を
順々に、手計算の場合と同様にケタ合せをしつつ10進
加算して行く。そして、この演算処理では、この演算処
理に必要とされる被乗数オペランドの10進倍数の値を
、乗数オペランド1ケタごとに毎回計算する方法がとら
れていた。
[発明が解決しようとする課題] 従来の演算処理の方法では、被乗数オペランドの同一の
倍数を何回も使用する場合、毎回被乗数オペランドの1
0進倍数を計算する処理時間が必要であり、乗数オペラ
ンドのケタ数が増加するに従って、演算処理時間が増大
し、性能が低下するという欠点がある。
[課題を解決するための手段] 本発明による演算処理装置は、被乗数オペランドの10
進倍数を、乗数オペランドの10進1ケタを読出し書込
みアドレスの一部として使用し、書込み読出しができる
データ格納手段と、そのデータ格納手段の被乗数オペラ
ンドの各々の10進倍数個々の格納領域に対応して、1
0進倍数が格納されているか否かを示すフラグを格納す
るフラグ格納手段と、乗数オペランドの10進1ケタに
よってフラグ格納手段より対応するフラグを取り出し、
演算処理装置を制御している制御記憶のマイクロ命令分
岐条件として出力する分岐条件出力手段とを有している
[実施例] 次に本発明について図面を参照して説明する。
第1図は本発明の一実施例による演算処理装置の構成を
示すブロック図である。
セレクタ1〜5は、データ格納手段12.10進加算器
18、シフタ19の出力データまたはメモリ(図示せず
)から与えられるオペランドデータを、制御記憶(CS
)の制御により選択してそれぞれ出力をデータ格納手段
12、レジスタ7〜10に与える。
データ格納手段12は、本発明に関わる被乗数オペラン
ドの10進倍数や演算の中間結果などを格納する複数ワ
ードの記憶回路であり、その書込み読出しアト、レスは
セレクタ13より与えられる。
このセレクタ13はその入力をアドレスレジスタ14ま
たは制御記憶から与えられるアドレスを選択する。ここ
で、このアドレスレジスタ14はその入力としてレジス
タ10の下位4ビット受けるが、このレジスタ10の下
位4ビツトは、乗数オペランドの10進1ケタを取り出
すためのものである。
したがって、本実施例において、データ格納手段12に
格納される被乗数オペランドの10進倍数は、0倍から
9倍までがそれぞれアドレス0からアドレス9までに対
応して格納される。このアドレスレジスタ14の出力は
また制御記憶に何倍の10進倍数を生成するかをも与え
る。またアドレスレジスタ14の出力はデコーダ15を
通してフラグ格納手段16であるレジスタに送られ、1
0進倍数がデータ格納手段12に書込まれたとき対応す
るフラグを“1”にするように制御される。ここで、被
乗数オペランドの0倍は“0°であり命令の最初データ
格納手段12をリセットした時に得られ、1倍は被乗数
オペランドそのものであるのでメモリから被乗数オペラ
ンドが与えられたとき、それをそのままデータ格納手段
12のアドレス′1“に書込むことによって得られるの
で、0倍、1倍に対応するフラグ格納手段の値は値に1
mとされる。
分岐条件出力手段17であるセレクタは、フラグ格納手
段16の出力をレジスタ10の下位4ビツトの出力によ
り選択して、分岐条件として制御記憶に出力する。
10進加算器18は被乗数オペランドの10進倍数の生
成ならびに10進乗算の演算処理にかかわる10進デー
タの加算を行う。
シフタ19は乗数オペラ、ンドの10進1ケタの取り出
し、ならびに10進乗算の演算処理にかかわる10進デ
ータのケタ合せの処理を行なう。
また、セレクタ6は、データ格納手段12.10進加算
器18、シフタ19の出力を制御記憶の制御により選択
して、レジスタ11に与える。
ここで、レジスタ11は演算結果をメモリに出力するた
めのレジスタである。
また、これらレジスタ7〜11、データ格納手段12、
アドレスレジスタ14、フラグ格納手段16のセットリ
セットも制御記憶により制御される。
続いて本実施例の動作について、被乗数オペランドが“
4375“、乗数オペランドが“233′である場合を
例にとって説明する。
まず、命令の最初にデータ格納手段12、レジスタ7〜
lO、フラグ格納手段16の10進倍数2倍から9倍を
示すビットは、リセットされる。
次にメモリより被乗数オペランドが与えられ、データ格
納手段12のアドレス“1”に制御記憶の制御により格
納される。ついで、乗数オペランドがメモリより与えら
れ、レジスタ10とデータ格納手段12のアドレス10
に格納される。
ここで、レジスタ10の下位4ビツトは′31であるの
で、分岐条件出力手段17は、フラグ格納手段16の1
0進倍数3倍に対応するフラグの値を出力するが、命令
の最初であるので、当然ではあるが′0#を出力し、制
御記憶は、10進倍数を生成してから演算処理を行うマ
イクロ命令ルーチンへ分岐する。このときレジスタ10
の乗数オペランド’233’はシフタ19で右4ビツト
シフトされ“23”としてデータ格納手段12のアドレ
ス″10’に退避され、下位4ビツト“3”はアドレス
レジスタ14に格納され、レジスタ10はリセットされ
る。この10進倍数を生成するマイクロ命令ルーチンで
は、まずデータ格納手段12の制御記憶からのアドレス
“1°より被乗数オペランド“4375°を読出し、レ
ジスタ7.8に格納すると共に、レジスタ8の10進乗
数の演算処理の中間結果(最初の処理であるのでまだ“
0“であるが)をデータ格納手段12のアドレス″11
°に退避する。
次にレジスタ7とレジスタ8の値を10進加算し、まず
2倍の10進倍数“8750“を得て、レジスタ7に格
納し、続いてまたレジスタ7の”8750’とレジスタ
8の’4375’を加算し、3倍の10進倍数“131
25“を得て、これはデータ格納手段12にレジスタ1
0の下位4ビツトをセットしたアドレスレジスタ14の
アドレス“3“により格納されると共にレジスタ9に格
納される。
また、フラグ格納手段16の3倍の10進倍数に対応す
るフラグが“1°にセットされ、被乗数オペランドの3
倍の10進倍数が格納された事を示す。
次に、レジスタ9に格納された3倍の10進倍数“13
125’はシフタ19でケタ合せを行ない(この場合、
1ケタ目の演算処理であるので0ケタシフトつまりはシ
フトしない。)、レジスタ7に格納されると共にデータ
格納手段12のアドレス“11°より中間結果“0゛を
読出してレジスタ8に格納する。
次に、レジスタ7の’13125’とレジスタ8の“0
“を加算して、結果の“13125“をレジスタ8に格
納すると共に、データ格納手段12よりアドレス“10
゛に退避されていた乗数オペランド“23゛を読出して
レジスタ10に格納し、乗数オペランド1ケタ目の計算
を完了する。
続いて、乗数オペランド2ケタ目の演算処理を開始する
まず、レジスタ10の下位4ビツトは“3°であるので
、分岐条件出力手段17はフラグ格納手段16の10進
倍数3倍に対応するフラグの値を出力するが、先はど1
ケタ目の演算処理において3倍の10進倍数は生成され
ていて、フラグの値は′1“となっているので、′1′
″を出力する。
制御記憶は、10進倍数をデータ格納手段12がら読出
して演算処理を行なうマイクロ命令ルーチンへ分岐する
。このとき、先と同様にレジスタ10の乗数オペランド
m232はシフタ19で右に4ビツトシフトされ′2″
としてデータ格納手段12のアドレス″10’に退避さ
れ、下位4ビツト“3“はアドレスレジスタ14に格納
されレジスタ10はリセットされる。このマイクロ命令
ルーチンでは、レジスタ10の下位4ビツトをセットし
たアドレスレジスタ14のアドレス“3″により、デー
タ格納手段12のアドレス“3”より3倍の10進倍数
“13125”を読出して、レジスタ9に格納する。
次に、レジスタ9に格納された3倍の10進倍数“13
.125”はシフタ19でケタ合せを行い(この場合2
ケタ目であるので1ケタシフトつまりは4ビツトシフト
する。)’131250″としてレジスタ7に格納され
る。
このとき、先はどの1ケタ目の演算処理と異なるのは、
10進倍数の生成を行なわないため、レジスタ8には演
算処理の中間結果が残っている点である。
次に、レジスタ7の“131250”とレジスタ8の“
13125°を加算して、結果の“144375”をレ
ジスタ8に格納すると共に、データ格納手段12から制
御記憶よりのアドレス“10°で退避されていた乗数オ
ペランド“2”を読出して、レジスタ10に格納し、乗
数オペランド2ケタ目までの計算を完了する。
続いて、3ケタ目の演算処理を開始するが、乗数オペラ
ンドの3ケタ目は“2“であり、まだ10進倍数が生成
されていないため、1ケタ目と同様の10進倍数を生成
してから演算処理を行うマイクロ命令ルーチンで演算処
理が行われ、この場合、乗算オペランドは最後のケタで
あるので、レジスタ8には中間結果ではなく、10進乗
算の結果が格納される。
ここで、マイクロ命令処理ルーチンは、これが最終ケタ
の処理であることを判断して、セレクタ6を通してレジ
スタ8への格納と同時にレジスタ11に格納し、メモリ
に書込んで制御命令を終了する。
また上述の動作例において、最初3倍の10進倍数を生
成したが、このときの中間結果として2倍の10進倍数
を生成している。したがって、この2倍の10進倍数を
制御記憶の制御により、レジスタ7に格納すると同時に
データ格納手段12に格納し、フラグ格納手段16の2
倍の10進倍数に対応するフラグを1°とすることで、
最終ケタの演算処理において、2倍の10進倍数を生成
する必要はなくなる。このように、ある倍数の10進倍
数を生成する時に、その中間結果として得られる何倍か
の10進倍数を、データ格納手段に格納し、対応する倍
数のフラグを“1°とするような倍数発生のマイクロ命
令ルーチンでは、乗数オペランドの内容によってその1
0進倍数が使用されるならば演算処理のより高速化が可
能となる。
[発明の効果] 以上説明したように本発明は、データ格納手段に一度生
成した被乗数オペランドの10進倍数を格納し、格納さ
れていることを示すフラグにより、同じ被乗数オペラン
ドの同じ10進倍数の生成をスキップすることにより、
10進乗算を高速化できるという効果がある。
8.9,10.11・・・データレジスタ、12・・・
データ格納手段、14・・・アドレスレジスタ、15・
・・デコーダ、16・・・フラグ格納手段、17・・・
分岐条件出力手段、18・・・10進加算器、19・・
・シフタ。
【図面の簡単な説明】
第1図は本発明の一実施例による演算処理装置の構成を
示すブロック図である。

Claims (1)

  1. 【特許請求の範囲】 1、制御記憶に格納されたマイクロ命令の指示に基づい
    て演算処理を行う演算処理装置であって、2進化10進
    コードで表わされた被乗数オペランドと乗数オペランド
    の10進乗算を行なう演算処理装置において、 被乗数オペランドの10進倍数を、乗数オペランドの1
    0進1ケタを読出し書込みアドレスの一部として、書込
    み読出しができるデータ格納手段と、 該データ格納手段の被乗数オペランドの各々の10進倍
    数個々の格納領域に対応して、10進倍数が格納されて
    いるか否かを示すフラグを格納するフラグ格納手段と、 乗数オペランドの10進1ケタによって前記フラグ格納
    手段より対応するフラグを取り出し、前記制御記憶のマ
    イクロ命令分岐条件として出力する分岐条件出力手段と
    を含み、 演算処理に必要な乗数オペランド10進1ケタを被乗数
    オペランドに乗算された値として使用される被乗数オペ
    ランドの10進倍数が、前記データ格納手段に既に格納
    されていれば、それを読出して演算処理に給し、格納さ
    れていなければ、その10進倍数を新に演算して前記デ
    ータ格納手段に書込むと共に演算処理に給するよう、マ
    イクロ命令を前記フラグ格納手段と分岐条件出力手段に
    より分岐させることを特徴とする演算処理装置。
JP2401489A 1989-02-03 1989-02-03 演算処理装置 Pending JPH02204828A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2401489A JPH02204828A (ja) 1989-02-03 1989-02-03 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2401489A JPH02204828A (ja) 1989-02-03 1989-02-03 演算処理装置

Publications (1)

Publication Number Publication Date
JPH02204828A true JPH02204828A (ja) 1990-08-14

Family

ID=12126694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2401489A Pending JPH02204828A (ja) 1989-02-03 1989-02-03 演算処理装置

Country Status (1)

Country Link
JP (1) JPH02204828A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5624645A (en) * 1979-08-08 1981-03-09 Hitachi Ltd Decimal multiplication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5624645A (en) * 1979-08-08 1981-03-09 Hitachi Ltd Decimal multiplication system

Similar Documents

Publication Publication Date Title
JPS59174948A (ja) 情報処理装置
KR100331565B1 (ko) 매트릭스 연산 장치 및 매트릭스 연산기능을 갖는 디지털신호처리 장치
JPS5862746A (ja) 割算装置
US4954947A (en) Instruction processor for processing branch instruction at high speed
JP3237858B2 (ja) 演算装置
CN112650471A (zh) 用于处理掩蔽数据的处理器和方法
JPH0650512B2 (ja) デ−タ処理装置
JPH0345420B2 (ja)
JPH02204828A (ja) 演算処理装置
JP2793357B2 (ja) 並列演算装置
JP2009059187A (ja) マイクロプロセッサおよびデータ処理方法
JP3278441B2 (ja) ベクトル処理装置
JP2885197B2 (ja) 演算処理装置及び演算処理方法
JP3088956B2 (ja) 演算装置
JPH07110769A (ja) Vliw型計算機
JP2989830B2 (ja) ベクトル処理方法
CA1155232A (en) Pipelined digital signal processor using a common data and control bus
JPH02181821A (ja) 演算装置
JP2625510B2 (ja) 計算機システム
JP2989829B2 (ja) ベクトル処理方法
JP3392413B2 (ja) 2レベルマイクロ制御方式及び方法
JPS6028014B2 (ja) マイクロプロセツサ
JPH01237766A (ja) データ処理装置およびそれを用いた画像データ処理システム
JP2002182905A (ja) ディジタル信号処理プロセッサ
JPS6155731A (ja) コンデイシヨンコ−ド判定機能を備えるプロセツサ