JPH03242725A - Decimal multiplier circuit - Google Patents

Decimal multiplier circuit

Info

Publication number
JPH03242725A
JPH03242725A JP2040457A JP4045790A JPH03242725A JP H03242725 A JPH03242725 A JP H03242725A JP 2040457 A JP2040457 A JP 2040457A JP 4045790 A JP4045790 A JP 4045790A JP H03242725 A JPH03242725 A JP H03242725A
Authority
JP
Japan
Prior art keywords
value
digit
register
decimal
multiplicand
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
JP2040457A
Other languages
Japanese (ja)
Inventor
Sadaji Asano
淺野 貞二
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2040457A priority Critical patent/JPH03242725A/en
Publication of JPH03242725A publication Critical patent/JPH03242725A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To perform decimal multiplication at a high speed by generating 1-fold to 5-fold values of a multiplicand and performing correction by another arithmetic processing with respect to 6-fold to 9-fold values. CONSTITUTION:1-fold to 5-fold numerical values of the multiplicand are generated and are stored in a register file 5, and digits of a multiplier are successively extracted from the least significant digit, and the multiple value corresponding to the value of each digit is selected from the register file 5 when the value of this digit is equal to or smaller than 5, and the multiple value corresponding to the 10's compliment of the value of each digit is selected from the register file 5 when the value of this digit is equal to or larger than 6. This selected value is subjected to decimal addition processing by a decimal adder 6 while justified to the numerical value of the preceding digit in the case of <= 5 value in the corresponding digit and is subjected to decimal subtraction processing while justified to the numerical value of the preceding digit in the case of >=6 value in the corresponding digit. When the value in the corresponding digit is equal to or larger than 6, such correction is performed at the time of processing of the next digit that one is added to the value of the next digit and the multiple value corresponding to this value is selected from the register file. Thus, quick multiplication is possible.

Description

【発明の詳細な説明】 技術分野 本発明は10進乗算回路に関し、特に10進アダーを有
する10進乗算回路に関するものである。
TECHNICAL FIELD The present invention relates to decimal multiplication circuits, and more particularly to decimal multiplication circuits having decimal adders.

従来技術 10進数の乗算を行う場合、10進数を情報処理装置で
扱い得る他の数値フォーマットである例えば2進数に変
換して演算処理し、再び10進数に変換する方法が多く
採用されている。
BACKGROUND ART When performing multiplication of decimal numbers, a method is often adopted in which the decimal number is converted into another numerical format that can be handled by an information processing device, for example, into binary number, subjected to arithmetic processing, and then converted back to decimal number.

この様な演算方式の場合、10進数と2進数との間の変
換処理に時間がかかり、高速処理が困難となっている。
In the case of such an arithmetic method, conversion processing between decimal numbers and binary numbers takes time, making high-speed processing difficult.

そこで、高速性が要求される汎用大型コンピュータでは
、10進専用の演算回路を設け、2進数への変換をなす
ことなく演算を行うようになっている。
Therefore, in general-purpose large computers that require high speed, a decimal-only arithmetic circuit is installed to perform arithmetic operations without converting to binary numbers.

しかしながら、2進演算に比べて、10進演算はハード
ウェア量が大となり、演算器の制約も大きい等の欠点が
ある。多くの汎用大型コンピュータでは、2進のマルチ
プライヤが設けられているが、10進のマルチプライヤ
はハードウェア量の制約から設、けられていない。その
ために、10進乗算を行う場合、10進アダーを利用す
るようになっている。
However, compared to binary arithmetic, decimal arithmetic has drawbacks such as requiring a larger amount of hardware and having greater restrictions on arithmetic units. Many general-purpose large computers are equipped with binary multipliers, but decimal multipliers are not installed due to hardware limitations. For this reason, when performing decimal multiplication, a decimal adder is used.

従来の10進アダーを利用した10進乗算は、以下の如
く行われている。すなわち、被乗算の1倍から9倍の各
位を10進アダーにより生成し、これ等生成値をレジス
タファイルに格納しておく。
Decimal multiplication using a conventional decimal adder is performed as follows. That is, each digit from 1 to 9 times the multiplicand is generated using a decimal adder, and these generated values are stored in a register file.

次に、乗算の下位桁から1桁ずつ順次抽出し、対応する
被乗算の倍数をレジスタファイルより選択的に読出し、
重み付けて(Ni合せをして)加算して行き、最終的に
総和を求めて積を得るようになっている。
Next, sequentially extract one digit from the lower digit of the multiplication, selectively read the corresponding multiple of the multiplicand from the register file,
The values are weighted (Ni is combined) and added, and the sum is finally calculated to obtain the product.

この様な従来技術の例としては、特開昭5582353
号公報「乗除演算方式」に代表されるものがある。
An example of such conventional technology is Japanese Patent Application Laid-open No. 5582353.
There is a method typified by the publication No. ``Multiplication/Division Calculation Method''.

上述した従・来の10進乗算方式では、被乗数の1倍か
ら9倍の各倍数値を演算生成してレジスタファイルに格
納するという作業が必要となるために、それたけ時間が
かかるという欠点がある。
The above-mentioned conventional decimal multiplication method has the disadvantage that it takes a lot of time because it is necessary to generate each multiple value from 1 to 9 times the multiplicand and store it in the register file. be.

発明の目的 そこで、本発明はかかる従来のものの欠点を解決すべく
なされたものであって、その目的とするところは、被乗
数の倍数値の生成に時間を要することなく高速に乗算が
可能な10進乗算回路を提供することにある。
OBJECT OF THE INVENTION Therefore, the present invention has been made to solve the drawbacks of the conventional ones, and its purpose is to provide a 10 multiplier that can be multiplied at high speed without requiring time to generate a multiple value of a multiplicand. The object of the present invention is to provide a base multiplication circuit.

発明の構成 本発明による10進乗算回路は、被乗数の1倍から5倍
までの各整数倍の数値を生成して保持する保持手段と、
乗算の下位桁から順次抽出して抽出桁の値が5以下のと
き、前記保持手段から当該桁の値に等しい倍数の数値を
選択し、6以上のときその値の10の補数をとり、この
補数の値に等しい倍数の数値を前記保持手段から夫々選
択する選択手段と、前記選択手段により選択された数値
を、対応桁の値が5以下のときは前桁の数値に桁合わせ
しつつ加算し、対応桁の値が6以上のときは前桁の数値
と桁合わせしつつ減算する10進加算手段と、桁の値が
6以上のとき、次桁の加算処理時に当該次桁に1を加算
してその値を桁の値とするよう前記選択手段に指示する
制御手段とを含むことを特徴とする。
Structure of the Invention The decimal multiplication circuit according to the present invention includes a holding means for generating and holding a numerical value of each integer multiple from 1 to 5 times the multiplicand;
When the value of the extracted digit is 5 or less when the value of the extracted digit is extracted sequentially from the lower digit of the multiplication, a numerical value that is a multiple equal to the value of the digit is selected from the holding means, and when it is 6 or more, the 10's complement of that value is taken. a selection means for selecting from the holding means a numerical value of a multiple equal to the value of the complement; and adding the numerical value selected by the selection means while adjusting the digit to the numerical value of the previous digit when the value of the corresponding digit is 5 or less. However, when the value of the corresponding digit is 6 or more, there is a decimal addition means that subtracts while matching the value of the previous digit, and when the value of the digit is 6 or more, when the value of the next digit is added, 1 is added to the next digit. The method is characterized in that it includes a control means for instructing the selection means to add the value and make the value into a digit value.

実施例 以下、図面を用いて本発明の実施例について詳細に説明
する。
Embodiments Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

第1図は本発明の実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the invention.

図において、オペランドレジスタ1は乗数及び被乗数を
一時格納すると共に、10進アダー6の最下位桁出力を
最上位桁に格納するレジスタである。
In the figure, an operand register 1 is a register that temporarily stores a multiplier and a multiplicand, and also stores the output of the least significant digit of the decimal adder 6 in the most significant digit.

データレジスタ2は10進アダー6に対してデータを供
給すると共に、10進アダー6の出力若しくはレジスタ
1のデータを選択的に格納するレジスタである。
The data register 2 is a register that supplies data to the decimal adder 6 and selectively stores the output of the decimal adder 6 or the data of the register 1.

補数発生回路3は、フラグ7が“1”のときレジスタ1
の最下位桁の値とフラグ7の値とを加算した値が6以上
の場合にその値を、10の補数に変換し、5以下のとき
はそのままの値を出力するものである。
Complement generation circuit 3 outputs register 1 when flag 7 is “1”.
If the value obtained by adding the value of the lowest digit and the value of flag 7 is 6 or more, the value is converted to a 10's complement, and if it is 5 or less, the value is output as is.

比較回路4は、レジスタ1の最下位桁の値とフラグ7の
値とを加算した値が6以上であれば“1′を出力し、5
以下であれば“O“を出力するものである。
Comparison circuit 4 outputs “1” if the value obtained by adding the value of the lowest digit of register 1 and the value of flag 7 is 6 or more, and outputs “1”.
If it is below, "O" is output.

レジスタファイル5は被乗数の1倍から5倍までの各整
数倍の数値を保持するものであり、+1機能を有するラ
イトアドレスレジスタ52によりライトアドレスが指定
される。このレジスタファイル5のリードアドレスはセ
レクタ31により指定され、比較器4の出力が“1”の
ときは補数発生回路3の出力を、“0”のときはレジス
タ1の最下位桁出力を夫々リードアドレスとして用いる
ようになっている。
The register file 5 holds numerical values of integral multiples from 1 to 5 times the multiplicand, and a write address is designated by a write address register 52 having a +1 function. The read address of this register file 5 is specified by the selector 31, and when the output of the comparator 4 is "1", the output of the complement generation circuit 3 is read, and when it is "0", the least significant digit output of the register 1 is read. It is designed to be used as an address.

10進アダー6はデータレジスタ2及び51の両データ
を10進加減算するものであり、この演算結果はデータ
レジスタ2へ導入される。レジスタ51はレジスタファ
イル5の読出しデータ若しくはオペランドレジスタ1の
データを選択的に一時格納する。
The decimal adder 6 performs decimal addition and subtraction on both data in the data registers 2 and 51, and the result of this operation is introduced into the data register 2. The register 51 selectively temporarily stores read data of the register file 5 or data of the operand register 1.

フラグ7は比較器4の出力がセットされるものであり、
このフラグ7の出力に応じて10進アダー6は加算、減
算処理をなす。すなわち、フラグ7が“1“であれば、
減算処理を、0“であれば加算処理を行うものとする。
Flag 7 is set by the output of comparator 4,
Depending on the output of this flag 7, the decimal adder 6 performs addition and subtraction processing. That is, if flag 7 is "1",
It is assumed that the subtraction process is performed, and if the value is 0'', the addition process is performed.

先ず、本発明の詳細な説明すると、被乗数の1〜5倍の
各整数倍の数値を作成してレジスタファイル5に格納す
る。そして、乗数の下位桁から順次抽出して各桁の値が
5以下のときは、レジスタファイル5からその桁の値に
等しい倍数値を選択し、6以上のときは、その値の10
の補数をとり、この補数に等しい倍数値をレジスタファ
イル5から選択する。
First, to explain the present invention in detail, numerical values that are integral multiples of 1 to 5 times the multiplicand are created and stored in the register file 5. Then, when the value of each digit is extracted sequentially from the lower digit of the multiplier and is less than 5, a multiple value equal to the value of that digit is selected from register file 5, and when it is 6 or more, 10 of that value is selected.
The complement of is taken, and a multiple value equal to this complement is selected from the register file 5.

こうして選択された値を、対応桁の値か5以下のときは
前桁の数値に桁合せしつつ1o進加算処理し、対応桁の
値が6以上のときは前桁の数値と桁合せしつつ10進減
算処理する。そして、この対応桁の値か6以上のときは
、次の桁の処理時に当該次桁に「1」を加算してその値
に等しい倍数値をレジスタファイルから選択するよう補
正を施すのである。
If the value of the corresponding digit is 5 or less, the value selected in this way is digit-aligned with the value in the previous digit and added, and if the value of the corresponding digit is 6 or more, the value is digit-aligned with the value in the previous digit. decimal subtraction processing. Then, when the value of this corresponding digit is 6 or more, when processing the next digit, "1" is added to the next digit and a multiple value equal to that value is selected from the register file.

すなわち、桁の値が6以上のときには、その桁の値の1
0の補数をとり、対応する被乗数の倍数を減じ、次の桁
の処理段階で、被乗数の10倍を合せて加算補正するこ
とで、つじつまを合わせようとするものである。被乗数
の10倍を加算する方法は、次の乗数の桁の処理段階で
は、その桁が10倍の重みを持っているので、その桁の
値に+1することで可能となる。フラグ7はこの補正処
理を制御するためのものである。
In other words, when the value of a digit is 6 or more, 1 of the value of that digit
This is done by taking the 0's complement, subtracting the corresponding multiple of the multiplicand, and then correcting it by adding 10 times the multiplicand at the next digit processing stage to make it consistent. The method of adding 10 times the multiplicand is possible by adding +1 to the value of that digit, since that digit has 10 times more weight in the processing stage of the next multiplier digit. Flag 7 is for controlling this correction process.

以下に、実際の乗算動作を順を追って説明することにす
る。まず、被乗数がデータ線101を介してレジスタ1
にセットされる。被乗数の1倍〜5倍を作るため、レジ
スタ1の値はレジスタ2とレジスタ51にセットされる
。レジスタファイル5のライトアドレスレジスタ52は
、アドレス1を初期値としており、まずレジスタ2の値
が被乗数の1倍の値としてアドレス1のワードに書込ま
れると共に、10進アダー6はレジスタ2とレジスタ5
1の値を加算し、結果をレジスタ2に格納する。ここで
、レジスタ2の値は被乗数の2倍の値となり、ライトア
ドレスレジスタ52はインクリメントし、アドレス2を
指示する。
The actual multiplication operation will be explained step by step below. First, the multiplicand is transferred to the register 1 via the data line 101.
is set to The value of register 1 is set in register 2 and register 51 to make the multiplicand 1 to 5 times. The write address register 52 of the register file 5 has address 1 as its initial value, and first the value of register 2 is written to the word of address 1 as the value of 1 times the multiplicand, and at the same time, the decimal adder 6 is written to the word of address 1. 5
Add a value of 1 and store the result in register 2. Here, the value of register 2 is twice the value of the multiplicand, and the write address register 52 is incremented to indicate address 2.

次にアドレス2のワードにレジスタ2の被乗数の2倍の
値を書込むと共に、前回と同様に10進アダー6は被乗
数の3倍を作り出し、レジスタ2にセットする。ライト
アドレスレジスタ52はアドレス3を指示する。同様に
して被乗数の5倍までを作りレジスタファイル5に格納
する。
Next, a value twice the multiplicand of register 2 is written to the word at address 2, and the decimal adder 6 generates a value three times the multiplicand and sets it in register 2, as in the previous case. Write address register 52 indicates address 3. Similarly, up to 5 times the multiplicand is created and stored in the register file 5.

次に、データ線101により乗数がレジスタ1にセット
される。フラグ7は初期化としてリセットされ、レジス
タ2は0にセットされる。フラグ7の値とレジスタ1の
最下位桁は補数発生回路3と比較回路4に送られる。こ
れ等回路31回路4及びセレクタ31により、乗数の最
下位桁は、アダ6に送るべき被乗数の倍数のアドレスを
示す値に変換される。セレクタ31の出力をアドレスと
してレジスタファイル5から読出された値はレジスタ5
1でセットされる。
Next, a multiplier is set in register 1 via data line 101. Flag 7 is reset as initialization, and register 2 is set to 0. The value of flag 7 and the least significant digit of register 1 are sent to complement generation circuit 3 and comparison circuit 4. These circuits 31, 4, and selector 31 convert the least significant digit of the multiplier into a value indicating the address of the multiple of the multiplicand to be sent to the adder 6. The value read from the register file 5 using the output of the selector 31 as an address is stored in the register 5.
Set to 1.

フラグ7には比較回路4の値かセットされる。The value of the comparator circuit 4 is set in the flag 7.

レジスタ1の最下位桁をフラグ7の値により+1した値
か6以上である時にはフラグ7に“1”がセットされる
。フラグ7の値が“0”の時は、10進アダー6はレジ
スタ2とレジスタ51の値を加算し、フラグ7の値が1
の時は、レジスタ2からレジスタ51の値を減算する。
When the value obtained by adding 1 to the lowest digit of register 1 by the value of flag 7 is 6 or more, flag 7 is set to "1". When the value of flag 7 is "0", decimal adder 6 adds the values of register 2 and register 51, and the value of flag 7 becomes 1.
In this case, the value of register 51 is subtracted from register 2.

この減算処理において、レジスタ2からレジスタ51の
値を減算した結果が負となる場合、その結果は10の補
数となる。つまり、各桁の値を9から減算して生じた値
(9の補数)に+1することで、10の補数となる。例
えば、−524なる減算結果であれば、9−5−4.9
−2−7.9−4−5で475  (9の補数)となり
、これに+1して476となる。これが減算結果として
得られる。
In this subtraction process, if the result of subtracting the value of register 51 from register 2 is negative, the result becomes a 10's complement number. That is, by adding +1 to the value (9's complement) obtained by subtracting the value of each digit from 9, it becomes a 10's complement. For example, if the subtraction result is -524, 9-5-4.9
-2-7.9-4-5 gives 475 (9's complement), which becomes 476 by +1. This is obtained as the subtraction result.

10進アダー6の出力は、最下位桁を除いた出力がレジ
スタ2に右へ1桁シフトした形で格納される。また、最
下位桁は、レジスタ1の値が右へ1桁シフトして最上位
桁に格納される。レジスタ2の値が1桁右ヘシフトした
ことにより、次にレジスタ51にセ°ットされる被乗数
の倍数は1桁分の重みを持つことになる。
The output of the decimal adder 6, excluding the least significant digit, is stored in the register 2 in the form of being shifted one digit to the right. Furthermore, the value of register 1 is shifted one digit to the right and stored in the least significant digit. Since the value of register 2 is shifted to the right by one digit, the next multiple of the multiplicand set in register 51 will have a weight of one digit.

このような処理を続けることにより、レジスタ2及びレ
ジスタ1には積が残る。レジスタ1の乗数か鉦くなり、
かつフラグ7の値が“0”になって処理は終了する。レ
ジスタ2及びレジスタ1の積は上位がレジスタ2に右づ
めで、下位がレジスタlに左づめで夫々入っている。レ
ジスタ1の値はデータ線102で、レジスタ2の値はデ
ータ線201て夫々乗算回路外へ出力される。
By continuing such processing, the product remains in register 2 and register 1. The multiplier of register 1 becomes a gong,
Then, the value of flag 7 becomes "0" and the process ends. In the product of register 2 and register 1, the upper part is stored in register 2 right-justified, and the lower part is stored in register 1 left-justified. The value of register 1 is output to the data line 102, and the value of register 2 is output to the data line 201 to the outside of the multiplication circuit.

次に、具体的数値例を用いて各レジスタの内容の変化を
追ってみることにする。例えば、524×184−96
418を演算すると、各レジスタ1,251及びフラグ
7の値は第2図の如くなる。
Next, we will follow the changes in the contents of each register using specific numerical examples. For example, 524x184-96
418, the values of each register 1, 251 and flag 7 become as shown in FIG.

ます、タイミンクtoにおいて、レジスタ1の最下位桁
の値は4て、このときのフラン7の値は“0”であるの
で、比較回路4の出力は“0”のままである。よって、
セレクタ31はレジスタ1の最下位桁の値4をそのまま
レジスタファイル5のリートアドレスとして出力する。
At timing to, the value of the least significant digit of register 1 is 4, and the value of franc 7 at this time is "0", so the output of comparator circuit 4 remains "0". Therefore,
The selector 31 outputs the value 4 of the least significant digit of the register 1 as it is as the read address of the register file 5.

タイミングt1において、被乗数524の4倍の値20
96がレジスタ51にセットされ、レジスタ1の内容は
右シフトされた18となる。このとき、比較器4ではレ
ジスタ1の最下位桁の8が6以上であることが検出され
、その出力は“1”となる。
At timing t1, the value 20 is four times the multiplicand 524.
96 is set in register 51, and the contents of register 1 become 18 shifted to the right. At this time, the comparator 4 detects that the least significant digit 8 of the register 1 is 6 or more, and its output becomes "1".

よって、セレクタ31により補数発生回路3の出力であ
る8の10の補正である2 (10−8)が還択され、
レジスタファイル5のリートアドレスとなる。そのため
に、タイミングt2において、524 X 2−104
8が選択的に読出されてレジスタ51にセットされる。
Therefore, the selector 31 returns 2 (10-8), which is the correction of 10 of 8, which is the output of the complement generation circuit 3.
This is the read address of register file 5. Therefore, at timing t2, 524 x 2-104
8 is selectively read out and set in the register 51.

このとき、レジスタ2には、前タイミングtlにおける
加算結果の最下位ビットを除くデータ209が格納され
ており(最下位ビット6はレジスタ1に格納される)、
かつフラグ7として比較器4の出力“1”がセットされ
るので、10進アダー6により、レジスタ2からレジス
タ51を引く減算がなされることになる。
At this time, data 209 excluding the least significant bit of the addition result at the previous timing tl is stored in register 2 (the least significant bit 6 is stored in register 1),
Moreover, since the output "1" of the comparator 4 is set as the flag 7, the decimal adder 6 subtracts the register 51 from the register 2.

このとき、その結果は−839となって負となるので、
先述した如く、10の補数である161か生成され、タ
イミングt3て最下位ビットを除く16がレジスタ2に
格納される。最下位ビットの1はレジスタ1へ格納され
る。
At this time, the result is -839, which is negative, so
As described above, 161, which is the complement of 10, is generated, and 16 excluding the least significant bit is stored in register 2 at timing t3. The least significant bit, 1, is stored in register 1.

そして、タイミングt2におけるフラグ7の“1”とそ
のときのレジスタ1の最下位桁の1(1桁右シフトされ
ている)との和2が5以下であるから、補数発生回路3
はこの和2をそのままセレクタ31を介して出力し、レ
ジスタファイル5のリードアドレスとする。よって、こ
のとき、レジスタ51には524 X 2−1048が
人力され、この段階て前桁「8」のときの10倍補正を
行っているのである。
Then, since the sum 2 of "1" of the flag 7 at timing t2 and the lowest digit 1 (shifted to the right by one digit) of the register 1 at that time is less than or equal to 5, the complement generation circuit 3
This sum 2 is output as is through the selector 31 and is used as the read address of the register file 5. Therefore, at this time, 524 x 2-1048 is entered manually in the register 51, and at this stage, the correction is performed ten times as much as when the first digit is "8".

この場合、比較回路4の出力は“0”となっているから
、10進アダー6は加算を行い、タイミングt4てレジ
スタ2の下位2桁とレジスタ1の上位3桁に結果の96
418か保持される。
In this case, since the output of the comparator circuit 4 is "0", the decimal adder 6 performs the addition, and at timing t4, the lower two digits of register 2 and the upper three digits of register 1 are stored as 96.
418 is retained.

発明の結果 以上述べた如く、本発明によれば、被乗数の1〜5倍の
値を生成するのみで、6〜9倍の値については他の演算
処理で補正を行うことにより、高速な10進乗数が可能
になるという効果がある。
Results of the Invention As described above, according to the present invention, a value of 1 to 5 times the multiplicand is only generated, and a value of 6 to 9 times is corrected by other arithmetic processing. This has the effect of allowing radical multipliers.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の実施例の回路ブロック図、第2図は実
施例の動作を説明するための各レジスタの内容の変化を
示す図である。 主要部分の符号の説明 1.2.51・・・・・・レジスタ 3・・・・・・10の補数発生回路 4・・・・・・比較回路 5・・・・・・レジスタファイル 6・・・・・・10進アダー 7・・・・・・フラグ
FIG. 1 is a circuit block diagram of an embodiment of the present invention, and FIG. 2 is a diagram showing changes in the contents of each register to explain the operation of the embodiment. Explanation of symbols of main parts 1.2.51...Register 3...10's complement generation circuit 4...Comparison circuit 5...Register file 6. ... Decimal adder 7 ... Flag

Claims (1)

【特許請求の範囲】[Claims] (1)被乗数の1倍から5倍までの各整数倍の数値を生
成して保持する保持手段と、乗算の下位桁から順次抽出
して抽出桁の値が5以下のとき、前記保持手段から当該
桁の値に等しい倍数の数値を選択し、6以上のときその
値の10の補数をとり、この補数の値に等しい倍数の数
値を前記保持手段から夫々選択する選択手段と、前記選
択手段により選択された数値を、対応桁の値が5以下の
ときは前桁の数値に桁合わせしつつ加算し、対応桁の値
が6以上のときは前桁の数値と桁合わせしつつ減算する
10進加算手段と、桁の値が6以上のとき、次桁の加算
処理時に当該次桁に1を加算してその値を桁の値とする
よう前記選択手段に指示する制御手段とを含むことを特
徴とする10進乗算回路。
(1) A holding means that generates and holds numerical values of each integer multiple from 1 to 5 times the multiplicand, and when the value of the extracted digit is 5 or less by sequentially extracting from the lower digit of the multiplication, from the holding means. selection means for selecting a numerical value that is a multiple equal to the value of the digit, taking the 10's complement of the value when it is 6 or more, and selecting from the holding means a numerical value that is a multiple equal to the value of the complement; and the selecting means If the value of the corresponding digit is less than or equal to 5, add the selected value to the value of the previous digit while aligning it, and if the value of the corresponding digit is greater than or equal to 6, subtract it while aligning the value of the previous digit. decimal addition means; and control means for instructing the selection means to add 1 to the next digit when adding the next digit when the value of the digit is 6 or more, and to make that value the value of the digit. A decimal multiplication circuit characterized by:
JP2040457A 1990-02-21 1990-02-21 Decimal multiplier circuit Pending JPH03242725A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2040457A JPH03242725A (en) 1990-02-21 1990-02-21 Decimal multiplier circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2040457A JPH03242725A (en) 1990-02-21 1990-02-21 Decimal multiplier circuit

Publications (1)

Publication Number Publication Date
JPH03242725A true JPH03242725A (en) 1991-10-29

Family

ID=12581174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2040457A Pending JPH03242725A (en) 1990-02-21 1990-02-21 Decimal multiplier circuit

Country Status (1)

Country Link
JP (1) JPH03242725A (en)

Similar Documents

Publication Publication Date Title
US7188133B2 (en) Floating point number storage method and floating point arithmetic device
JPH01169531A (en) Fast binary/decimal arithmetic logical computing apparatus and computing of binary coded decimal number
JP2012209755A (en) Arithmetic circuit and binary number conversion method
JPH0573269A (en) Adder
JP2006172035A (en) Division/square root extraction computing element
JP2511527B2 (en) Floating point arithmetic unit
EP0472030A2 (en) Method and apparatus for modifying two&#39;s complement multiplier to perform unsigned magnitude multiplication
JPH03242725A (en) Decimal multiplier circuit
US6230178B1 (en) Method for the production of an error correction parameter associated with the implementation of a modular operation according to the Montgomery method
JP2991788B2 (en) Decoder
JP2682142B2 (en) Multiplier
JPS5841532B2 (en) Sekiwa Keisan Cairo
JPS588353A (en) Multiplier
JP2569976B2 (en) Digital filter
JPH04232529A (en) Unified ratio decoder and method for determining diviser multiple
JP3415569B2 (en) Decimal data division method and program recording medium therefor
JP2705162B2 (en) Arithmetic processing unit
JP2734438B2 (en) Multiplier
JP3223560B2 (en) Waveform data reading device
JP2575856B2 (en) Arithmetic circuit
JPS6259828B2 (en)
JP2864598B2 (en) Digital arithmetic circuit
JPH0553768A (en) Divider
JP3074958B2 (en) Serial multiplier with addition function
JPH10149277A (en) Multiplication device