JPH01237830A - 10進乗算演算方法 - Google Patents

10進乗算演算方法

Info

Publication number
JPH01237830A
JPH01237830A JP6619688A JP6619688A JPH01237830A JP H01237830 A JPH01237830 A JP H01237830A JP 6619688 A JP6619688 A JP 6619688A JP 6619688 A JP6619688 A JP 6619688A JP H01237830 A JPH01237830 A JP H01237830A
Authority
JP
Japan
Prior art keywords
digits
address
multiplicand
multiplier
multiplication
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
JP6619688A
Other languages
English (en)
Inventor
Nobuyoshi Sato
信義 佐藤
Masahiro Ikeda
昌弘 池田
Mitsuo Sakurai
桜井 三男
Shigenori Koyata
小谷田 重則
Ichiro Nakano
中野 伊智郎
Yoshiro Hirai
平井 義郎
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 JP6619688A priority Critical patent/JPH01237830A/ja
Publication of JPH01237830A publication Critical patent/JPH01237830A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [概要] 10進乗算を少ないハードウェアで高速に演算処理する
ことができるようにした10進乗算演算方法に関し、 汎用計算機のオーバーヘッドを増大させることのないよ
うにすることを目的とし、 被乗数の中の所定桁の数値と、乗数の中の所定桁の数値
との組合せによって作られるアドレスに前記各数値の乗
算結果が予め格納されて構成される演算テーブルを設け
、被乗数から所定桁の数値と、乗数から所定桁の数値と
をそれぞれ切り出し、これらの切り出した数値を組合せ
てアドレスを作成し、作成したアドレスによって前記演
算テーブルをアクセスし、演算テーブルから読み出され
た数値を順次加算することによって10進乗算の演算結
果を1qるように構成する。
[産業上の利用分野コ 本発明は、10進乗算を少ないハードウェアで高速に演
算処理することができるようにした10進乗算演算方法
に関し、更に詳しくは、被乗数と乗数とからそれぞれ所
定桁を切り出し、それらから作成されたアドレスが与え
られるようにした演算テーブルを用いて、高速乗算演算
を行う演算方法に関する。
最近の情報処理装置における性能アップは年々めざまし
いものがあり、この種の装置における研究、開発の目標
のひとつは安いコストで如何に性能を向上させるかとい
うことにある。
オフィスオートメーション<OA)で使用される情報処
理装置は、事務処理の用途が殆どであり、コボル(CO
BOL>をはじめとする言語が主流となっている。コボ
ル等の言ε吾では10進数を扱うのが主であり、2進演
算を得意とする処理装置にとっては弱点となっている。
従って、この分野においては、10進乗算演算を少ない
ハードウェアで高速処理できる演算方法が必要となる。
[従来の技術] 小型のOA用処理装置においては、10進乗算演算をフ
ァームウェアで処理するのが一般的であり、この場合、
マクロ命令としてMP (Multiply pack
 )と呼ばれる命令によって、10進数の型筒が行える
ようになっている。
第4図は従来より用いられているこのMP命令のフォー
マットを示す構成概念図である。図において、OPは命
令を実行する作業領域であり、BI Xt Dt ニ被
乗数、B2 X2 D2 ニ乗数が指定される。Ll、
L2には被乗数9乗数が6桁の数かが指定される。
被乗数BIXt Dtの領域は、作業域[L2/2]+
1バイト及5び[Lt/2]+1バイト分からなり、合
計で[Ls /2] +[Lt /2] +2バイト分
の領域が確保されている。尚、作業域には最初パ0”が
入っている。ここで、[L+/2]は小数点以下は切り
捨てを意味している。例えば、Lt=20+1ならば[
Lt/2コ=nとなる。
第5図(A)、(B)、(C)は従来の10進乗算演算
のアルゴリズムの一例を示す説明図である。ここではr
987654321 J x r5678943Jの乗
算を行う場合を例示する。はじめに(イ)に示すように
被乗数の最上位2桁[98Jをセーブし、そこに「00
」をライトする。次に(ロ)に示すように被乗数の最上
位桁r9Jと乗数r546789430Jを作業域に書
き込む。
ここで乗数の最下位桁にはrOJが付加される。
即ち、乗数の最下位から2桁を単位に[9]との乗数を
順次行い、その結果を順次作業域に書き込み、演算結果
を作業域に得る。以上のような計算アルゴリズムは、r
abJxr9Jの計算をレジスタを用いて、「ab+ 
ab+ ab+ ab+ ab十ab+ ab+ ab
十ab= 9 x abで行うのに相当し、これをメモ
リ上のBI Xt Dtで示す所定の番地の内容に加算
して行く。
次に、(ハ)に示すように被乗数の最上位の次の桁「8
」と乗数r5678943Jを計算し、桁が合致するよ
うにSr Xi DLの上位の領域に加えて行(。以下
、同様にして(ニ)に示すように被乗数の最下位桁「1
」まで計算をすることによって、第5図(C)に図示す
るような演算結果を得ている。
[発明が解決しようとする課題] 従来の演算アルゴリズムによれば、各桁の演算毎の処理
に要する時間が大きく、又、加算時において、メモリか
らのデータリード、10進加算後に演算結果の古き込み
の手順で、汎用計算機におけるオーバーヘッドが大きく
なって、高速処理が行えなくなる。
本発明はこれらの点に鑑みてなされたものであって、少
ないハードウェアで、且つ、汎用計算機のオーバーヘッ
ドを増大させることなく高速演算処理のできる10進乗
篩演算方法を提供することを目的とする。
[課題を解決するための手段] 第1図は本発明の原理を示すフローチャートである。本
発明の10進乗算演算方法は、所定の桁の被乗数と所定
の桁の乗数との乗算結果が予め数桁の数値として与えら
れるようにした演算テーブルを設け、 被乗数の上位側から所定桁、乗数の下位側から所定桁数
をそれぞれ切り出しくステップ■)、切り出した数値を
組合せてアドレスを作成しくステップ[2])、 作成したアドレスによって前記演算テーブルをアクセス
し、演咋テーブルから10進乗算の演算結果を得る(ス
テップ[4])ことを特徴としている。
[作用] 被乗数と乗数との所定桁の乗算結果は、予め演算テーブ
ルに用意されており、作成されたアドレスから読み出さ
れたデータを順次作業域に格納していくことで最終的に
乗算演算結果を得ることができる。
[実施例] 以下、図面を用いて本発明の実施例を詳細に説明する。
第2図は本発明の方法を実現する装置の機能ブロック図
である。図において、1は被乗数が格納される被乗数レ
ジスタ、2は乗数が格納される乗数レジスタ、3は被乗
数レジスタ1において、上位側から所定桁(図では2桁
)を切り出すと共に、乗数レジスタ2にJ3いて、下位
側から所定桁(図では2桁)を切り出し、それらの数値
を組合せて、ここで2桁×2桁で4桁の数値からなるア
ドレスを作るアドレス作成手段、4はアドレス作成手段
3で作られたアドレスが与えられる演算テーブルである
この演算テーブルには、予め所定の桁の被乗数と、所定
桁の乗数との乗算結果を予め計算して、それぞれ対応す
るアドレスに格納しである。5は演算テーブル4から読
み出された演算結果データが順次格納される出力レジス
タである。尚、被乗数レジスタ1とこの出力レジスタ5
とは、領域を異にする共用のレジスタでもよい。
このように構成した装置における動作を説明すれば、以
下の通りである。第3図(A>(B)(C)はその演算
アルゴリズムを説明するための図である。ここでは、被
乗数としてr987654321CJ、乗数としてr5
678943CJとする場合を例示する。尚、Cは符号
を表している。はじめに■に示すように、r56789
43×98」に相当する乗算を行う。この場合、(イ)
に示すように被乗数レジスタ1から上位側2桁「98」
を切り出すと共に、乗数レジスタ2から下位側2桁「4
3」を切り出し、アドレス作成手段3はこれらの数値を
組合せてアドレス「9843」を作る。このアドレスは
、演算テーブル4に与えられそこに格納されている該当
アドレスの演算結果r4214Jが読み出される。
この読み出された数値は、被乗数レジスタ1において、
上位側2桁「98」を切り出した後の領域を一部(2桁
)使用して、(ロ)に示すように作業域に格納される。
次に、アドレス作成手段3は、(ハ)に示すように被乗
数の上位側2桁「98」はそのままとし、乗数「下位側
」2桁を左シフトして切り出した数値「89」とを組合
せ、アドレスr9889Jを作る。このアドレスを演算
テーブル4に与えると、そこに格納されている該当アド
レスの演算結果r8722Jが読み出される。この数値
r8722Jは、(ニ)に示すように前記したr421
4Jを格納した桁から左方向に2桁シフトした位置に格
納され、この時、各演算結果が自動的に加算される。以
下、同じように被乗数の上位側2桁「98」はそのまま
とし、乗数の2桁を左シフトして切り出した数値r67
J 。
「05」に対しても、それぞれアドレス[98C7J、
r9805Jを作り、該当アドレスの演算結果を読み出
し、桁をシフトしながら作業域に格納することによって
、(ホ)に示すように、[5678943X98jの乗
算演算結果を得ることができる。
続いて、■に示すように、r5678943X76」に
相当する演算を同様の手順で行う。この場合、はじめに
被乗数から切り出した2桁「76」と乗数下位側2桁「
43」とによってアドレスr7643Jが(へ)に示す
ように作られ、該当アドレスに格納されている演算結果
r3268Jが読み出される。この数値r3268Jは
「76」を切り出した後の領域を一部(2桁)使用して
、(ト)に示すように作業域に格納される。
以下、同じように■、■、■に示されるような手順を経
て最終的に■の(チ)に示すような乗算結果が作業域に
自動的に得られる。
このような演算アルゴリズムによれば、例えば。
7桁×2桁の乗算演算はそれぞれ2桁づつ切り出して4
桁のアドレスを作るものとすれば、演算テーブルを4回
アクセスし、読み出したデータを作業域に順次加算して
行くことによって高速に演算結果を(ηることができる
尚、上記の説明では、被乗数1乗数から2桁づつ切り出
して4桁のアドレスを作るようにしたが、切り出し桁数
は2桁でなくてもよい。アドレスの桁数の増大に応じて
演算テーブルのメモリ容量を増加させればよい。
[発明の効果] 以上詳細に説明したように、本発明によれば、予めアド
レスに該当する乗算演算結果が演算テーブルに用意され
ているので、演算テーブルにアクセスするという処理で
、ハードウェアを増大さぼることなく高速に10進乗算
演算結果が得られる。
【図面の簡単な説明】
第1図は本発明の原理を示すフローヂャート、第2図は
本発明の方法を実現する装置の機能ブロック図、 第3図は本発明における演算アルゴリズムを説明するた
めの図、 第4図は従来より用いられているMP命令のフォーマッ
トを示す構成概念図、 第5図は従来の10進乗算演算結果のアルゴリズムの一
例を示す説明図である。 第2図において、 1は被乗数レジスタ、 2は乗数レジスタ、 3はアドレス作成手段、 4は演算テーブル、 5は出力レジスタである。 本角明■原理を示す20−チヤート 角何1 四コ 本イ胡力ω方法を7早見する1の俵龍ブロンク図第2図 ○56088 3076972200  IC0560
8830772583761C05608832586
992703C05608832587662703C
工町亘l        詞II回 第3 図 (C) ’ B2 X。、2 MP伶令のフォーマットを示す構粉概S図画45賢 x     × さ (Q          Ln”jχ ■へ  −

Claims (1)

  1. 【特許請求の範囲】 被乗数の中の所定桁の数値と、乗数の中の所定桁の数値
    との組合せによつて作られるアドレスに前記各数値の乗
    算結果が予め格納されて構成される演算テーブルを設け
    、 被乗数から所定桁の数値と、乗数から所定桁の数値とを
    それぞれ切り出し(ステップ[1])、これらの切り出
    した数値を組合せてアドレスを作成し(ステップ[2]
    )、 作成したアドレスによつて前記演算テーブルをアクセス
    し(ステップ[3])、 演算テーブルから読み出された数値を順次加算すること
    によつて10進乗算の演算結果を得る(ステップ[4]
    )ことを特徴とする10進乗算演算方法。
JP6619688A 1988-03-18 1988-03-18 10進乗算演算方法 Pending JPH01237830A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6619688A JPH01237830A (ja) 1988-03-18 1988-03-18 10進乗算演算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6619688A JPH01237830A (ja) 1988-03-18 1988-03-18 10進乗算演算方法

Publications (1)

Publication Number Publication Date
JPH01237830A true JPH01237830A (ja) 1989-09-22

Family

ID=13308853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6619688A Pending JPH01237830A (ja) 1988-03-18 1988-03-18 10進乗算演算方法

Country Status (1)

Country Link
JP (1) JPH01237830A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03142527A (ja) * 1989-10-27 1991-06-18 Koufu Nippon Denki Kk 十進乗算器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03142527A (ja) * 1989-10-27 1991-06-18 Koufu Nippon Denki Kk 十進乗算器

Similar Documents

Publication Publication Date Title
CN110825375B (zh) 一种量子程序的转化方法、装置、存储介质和电子装置
US5029080A (en) Method and apparatus for composing a set of instructions for executing a data flow program defined by structured data
JPH04127275A (ja) Lsi論理回路自動合成における組合せ回路のテクノロジーマッピング方式
US4933839A (en) Vector processor
JPH01237830A (ja) 10進乗算演算方法
Bansal et al. Minimal pathset and minimal cutsets using search technique
JPH04195338A (ja) ファジィ推論方式
JPS60117350A (ja) メモリマッピング装置
JP3000941B2 (ja) 分散論理シミュレータ
JP3055558B2 (ja) nビット演算装置
Scherson et al. Multi-operand associative arithmetic
JPS603656B2 (ja) 計算機のメモリ拡張方式
JPH04102974A (ja) 回路論理記述方式
JPH047746A (ja) 機械語翻訳プログラム方式
JPH0844542A (ja) 論理演算処理方法
JPH01102642A (ja) 処理装置
JPS62135958A (ja) シミユレ−シヨン方式
JPH07262085A (ja) 計算機
JPS62172415A (ja) テキスト中の数値項目修正方法
JPS61216085A (ja) ベクトル処理プログラム生成方式
JPS61134841A (ja) プログラム生成システム
Potter et al. Basic Concepts of Associative Programming
JPS62295138A (ja) アドレス生成方式
JPS5846404A (ja) Crtデイスプレイ・ロ−ダにおけるリレ−ラダ−の折り返し表示方式
JPS61120976A (ja) 論理回路シミユレ−シヨン方法