JPH0113129B2 - - Google Patents

Info

Publication number
JPH0113129B2
JPH0113129B2 JP55045492A JP4549280A JPH0113129B2 JP H0113129 B2 JPH0113129 B2 JP H0113129B2 JP 55045492 A JP55045492 A JP 55045492A JP 4549280 A JP4549280 A JP 4549280A JP H0113129 B2 JPH0113129 B2 JP H0113129B2
Authority
JP
Japan
Prior art keywords
register
bit
multiplication
data
accumulator
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
Application number
JP55045492A
Other languages
English (en)
Other versions
JPS56143051A (en
Inventor
Toshio Oora
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
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP4549280A priority Critical patent/JPS56143051A/ja
Publication of JPS56143051A publication Critical patent/JPS56143051A/ja
Publication of JPH0113129B2 publication Critical patent/JPH0113129B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/523Multiplying only
    • G06F7/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products

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)

Description

【発明の詳細な説明】 本発明は算術論理演算器を用いた乗算回路等に
用いられる演算回路に関する。
従来、例えばマイクロコンピユータ等で使われ
る2進数乗算回路は第1図に示すような構造のも
ので、8ビツトのデータバス1を介して被乗数レ
ジスタ2及び乗数レジスタ3に8ビツトの被乗数
及び8ビツトの乗数が設定され、最終的に乗算結
果が設定される8ビツトのアキユムレータ6の内
容はまず“0”にクリアされる。被乗数レジスタ
2内の各8ビツトデータは対応する8個のAND
ゲートの一入力端に接続され、これら8個の
ANDゲートの他の入力端には乗数レジスタの最
下位ビツトが共通に接続される。図では8個の
ANDゲートを1個のANDゲート4で代表させて
いる。今、乗数レジスタ3の最下位ビツトが
“1”の時は、ANDゲート4が導通してアキユム
レータ6の8ビツトデータと被乗数レジスタ2の
8ビツトデータとが加算装置5に送られて、ここ
で加算され、その時の加算結果が出力端Sからア
キユムレータ6に入力されて一時格納(ストア)
される。次にシフトパルス信号が発生されて、ア
キユムレータ6及び乗数レジスタ3の各データは
1ビツト右にシフトされる。即ち、最下位ビツト
が切り捨てられ、その上位ビツトが最下位ビツト
位置に設定される。一方、乗数レジスタ3の最下
位ビツトが“0”の時には、ANDゲート4はす
べて遮断され、アキユムレータ6の出力が加算装
置5を経てそのままの内容で再度アキユムレータ
6にストアされる。この時にもシフトパルスによ
りアキユムレータ6と乗数レジスタ3は共に1ビ
ツト右シフトされる。かかる操作が乗数レジスタ
3のビツト数だけ繰り返されることにより、8ビ
ツト×8ビツトの2進の乗算結果のうち上位8ビ
ツトがアキユムレータ6に得られる。この例はマ
イクロコンピユータが乗算結果のうち上位8ビツ
トを得られればよい場合を示したものである。こ
こでかかる動作を詳細にタイミングを追つて検討
すると8ビツト×8ビツトの乗算では、2つのレ
ジスタ2,3からデータを読み出し、レジスタ3
を右シフトさせて、両データを加算し加算結果を
アキユムレータにストアする第1のステツプと、
ストアされたアキユムレータ内のデータを1ビツ
ト右シフトする第2のステツプとの2つのステツ
プが各々のビツトに対して必要となることがわか
る。従つて合計16ステツプを消化しないと8ビツ
トの乗算結果は得られない。例えば、1MHzのタ
イミングクロツクで動作しているマイクロプロセ
ツサでは1ステツプを実行する時間が1μsである
ので、8ビツトデータの乗算を完了するまでには
最低16μsの時間は必要である。しかしながら乗算
回路の演算時間はできる限り短かいものが要求さ
れており、特に音声合成やパターン表示等の処理
はリアルタイムで乗算を行なわなければならな
い。この場合、従来の2進乗算回路では計算時間
が遅すぎて、実質的にリアルタイムでの高速処理
ができないという欠点があつた。
本発明は上記の欠点を除去し、極めて高速度の
乗算処理を実行する乗算回路を提供することを目
的とするものである。
本発明によれば、乗数がセツトされる第1のレ
ジスタと、被乗数がセツトされる第2のレジスタ
と、少なくとも加算機能を有する演算器と、演算
結果がセツトされる第3のレジスタと、前記演算
器の出力端と前記第3のレジスタとの間に設けら
れた補正ゲート回路と、前記被乗数を前記乗数の
内容に応じて前記演算器の一方の入力端に供給す
る第1の手段と、前記第3のレジスタの内容を前
記演算器の他方の入力端へ供給する第2の手段と
を含み、前記補正ゲート回路は乗数命令実行を指
示する信号が入力される入力端を有し、該指示信
号が入力された時は前記演算器の出力を1ビツト
右にシフトした結果を前記第3のレジスタに転送
し、前記指示信号が入力されない時は前記演算器
の出力をそのまま前記第3のレジスタに転送する
ように構成されていることを特徴とする乗算機能
を有する演算回路が得られる。
以下に図面を参照して本発明の一実施例を詳細
に説明する。
第2図は本発明の乗算回路の一実施例を示す機
能ブロツク図で8ビツトの乗数及び被乗数を転送
するデータバス7と、被乗数が設定される被乗数
レジスタ9と、乗数が設定される乗数レジスタ1
0と、ANDゲート11と、加算器12、加算器
12からの加算出力データを右に1ビツトずらし
てアキユムレータ13に設定するための補正ゲー
ト14とを含む。この実施例では乗算用データ、
被乗算用データを夫々8ビツトとし、乗算結果は
その上位8ビツトがアキユムレータに設定される
ものとする。ここで、乗算データを設定するレジ
スタ9はその最下位ビツトのみが読み出され、読
み出す毎に1ビツト右にシフトされる機能を有す
るものとする。一方、ANDゲート11はレジス
タ10から読み出される最下位ビツトに相当する
データが“1”の時はレジスタ9の被乗数8ビツ
トデータをそのまま加算器12のB入力端に送
り、“0”の時はレジスタ9のデータを遮断して
“0”をB入力端に出力するもので、2入力AND
ゲートが8個並列に設置されていればよいが、こ
れらをANDゲート11一個で代表させる。
更に、加算器12からの加算出力データ(S出
力)を1ビツト右にずらしてアキユムレータ13
に書き込む補正ゲート14のより詳しい回路構成
は第3図に示す。第3図において、8ビツトの入
力端には加算器12からの8ビツトの加算データ
S1〜S8が対応して入力される。入力された8ビツ
トデータS1〜S8は夫々対応するANDゲート17,
19,21…,31の一入力端に導入される。更
に、各入力端には別のANDゲート18,20,
…,32が設けられており、入力データS2〜S8
夫々右に1ビツトずれて入力されるように、S2
ANDゲート18に、S3はANDゲート20にとい
う様に、各々接続される。入力端の夫々に対応し
て設けられてた2個のANDゲートはORゲート3
3〜40を介して出力A1〜A8として8ビツトの
アキユムレータ13に入力される。更に、1ビツ
トずれて隣りのビツトの信号が入力されるAND
ゲート18,20,…,32の他の入力には乗算
命令を指示する信号15が入力され、一方対応し
たデータを入力するANDゲート17,19,…,
31にはインバータ16を介して反転された乗算
命令信号が入力される。ここで入力データのうち
最上位ビツトS8の入力端に設けられたANDゲー
ト32にはデータ“0”が入力されており、これ
によつて乗算命令を実行する時には、その出力デ
ータは必ず“0”となるように制御されている。
かかる第3図の回路により乗算命令を実行する
時は加算器12から出力される加算データS8…S1
は1ビツト右にずれて、かつその最上位ビツトは
“0”となり、0,S8…S2の8ビツトデータとし
てアキユムレータに格納され、それ以外の例えば
加算や減算等の算術演算の時には加算器からの出
力データS8…S1がそのままアキユムレータに格納
されることがわかる。
以下に、第2図を参照して本実施例の動作を説
明する。
まず8ビツトの被乗数データをデータバス7よ
り被乗数レジスタ9にセツトし、同じく8ビツト
の乗数データをデータバス7より乗数レジスタ1
0にセツトし、アキユムレータ13を初期値
“0”に設定しておく。ここに乗算命令が出ると、
乗数レジスタ10に設定した乗数データの最下位
ビツトが“1”であれば、アンド回路11は導通
し、被乗数レジスタ9の出力は加算回路12のB
側に印加される。加算回路12のA側にはアキユ
ムレータ13の出力が印加されているので、加算
回路の出力Sより被乗数レジスタのデータとアキ
ユムレータのデータとが加算されて、補正ゲート
14に入力される。乗算命令の時はマイクロオー
ダー信号15は“1”であるから、インバータ1
6の出力は“0”となりANDゲート17,19,
21…31は閉じ、ANDゲート18,20,2
2…32は開く。従つてデータS2がA1に、S3
A2に、…S8がA7に、更に“0”がA8に出力され
1ビツト右にずれた形でアキユムレータ13に入
力される。この時乗数レジスタ10の最下位ビツ
トは右にシフトされて消去されており、その上位
のビツトが最下位ビツト位置に設定されている。
次に乗数レジスタ10の最下位ビツト位置に相当
するデータが“0”であれば、アンド回路11は
遮断し、加算回路12のB入力は“0”となる。
従つてアキユムレータ13の出力は加算回路12
を通してそのまま右シフト回路14に印加され、
ここで更に右に1ビツトずれてアキユムレータ1
3に再び格納される。この様な動作が乗数レジス
タ10のビツト数だけ繰り返して実行され、その
結果所定の乗算結果が得られる。即ち、8ビツト
×8ビツトの乗算演算を、8ステツプの加算演算
で実行し、その都度加算結果が自動的に1ビツト
右にずれた状態でアキユムレータにストアされて
いく。従つて、従来加算結果をアキユムレータに
入力した後シフトパルスで1ビツト右にシフトし
ていた動作が省略され、従来の2進乗算回路に比
べて2倍の演算速度を得ることができる。また、
乗算を行なわない時は、補正ゲートは単に伝送ゲ
ートとしてのみ動作するので、正常の加算命令、
減算命令等に何等支障を来たすことはない。従つ
て、本実施例の乗算回路を一般のマイクロコンピ
ユータに適用すると、従来のものに比べ2倍速い
乗算速度が得られるので、約半分の時間で乗算が
終了されリアルタイム処理には極めて好適であ
る。
尚、この実施例では8ビツト×8ビツトの演算
においてその結果の上位8ビツトを演算結果とし
て取得する例を提示したが、高精度の乗算結果を
必要としない装置には十分使用できる。しかしな
がら、正確な乗算結果(16ビツト)を必要とする
場合もあるので、以下に2つの他の実施例を挙げ
てその使い分けの一例を述べる。
第4図は、マイクロコンピユータに本発明を適
用したもので、8ビツト×8ビツトの乗算演算を
実行してその上位8ビツトの答を得るための機能
図である。
図において、42は被乗数レジスタ、43は乗
数レジスタ、44は第3図の機能を有する補正シ
フト回路、45はアキユムレータ、46と47は
一時記憶用ラツチ、48はアンド回路、49は少
なくとも加算ができる8ビツト並列の算術論理演
算回路(ALU)である。これらの各ブロツクは
8ビツト並列バス41で相互に接続されている。
乗算を実行する場合は被乗数レジスタ42に被乗
数を、乗数レジスタ43に乗数をセツトし、アキ
ユムレータ45をクリアする。アキユムレータ4
5からはデータバス41を通して一時記憶のラツ
チ46にその時のアキユムレータの内容がラツチ
されALU49のA入力に入力される。次に被乗
数レジスタ42からデータバス41を通して一時
記憶ラツチ47に被乗数がラツチされる。この
時、アンド回路48の出力は、乗数レジスタ43
の最下位ビツトが“0”の時はすべて“0”とな
り、“1”の時は被乗数の出力となり、ALU49
のB入力に供給される。ALU49で加算された
出力がALU49のS出力からデータバス41に
送り出され、補正ゲート44を通してアキユムレ
ータ45にストアされる。この時アキユムレータ
45には右に1ビツトずれた状態で設定される。
乗数レジスタ43が右にシフトされる度に、この
一連の動作を1ステツプつまり1ビツトクロツク
の間で行なう。8ビツト×8ビツトの乗算ではこ
れを8回くり返して、わずか8ステツプで乗算結
果を得ることができ従来の2倍の演算速度が得ら
れる。また通常の加算、減算、AND,OR,
EXORの演算命令の時はシフト回路44は何等
データの補正を行なわずにアキユムレータ45に
対して単にデータを送るだけである。
この第4図の実施例では、8ビツト×8ビツト
の乗算で上位8ビツトの答だけが得られ下位8ビ
ツトは切捨られる回路であるが、例えばこの答を
D/Aコンバータのように高精度答を必要としな
いものに対しては充分適用できるものである。
一方、第5図に高精度の乗算結果が得られる乗
算回路を用いた実施例を示す。第4図と異なる点
はシフト回路44で右に1ビツトずらしたSのデ
ータを乗算レジスタ43の最上位ビツトに入力し
ていることである。この入力制御は乗算レジスタ
43が右シフトされることにより空き状態になつ
た最上位ビツトにストアするようにすればよい。
この結果、乗算レジスタ43には乗算命令で実行
した右シフト分だけのビツト数を乗算結果の下位
ビツトとして蓄積することができ、乗算結果の上
位8ビツトはアキユムレータ45に、下位8ビツ
トは乗算レジスタ43にストアされることにより
16ビツトからなる正確な乗算結果を得ることがで
きる。又、乗算のためのステツプ数は8ステツプ
で従来より2倍の高速性をもつていることは明ら
かである。
この様に本発明によれば従来に対し、2倍の演
算速度で乗算ができ、リアルタイムで処理される
必要のある音声合成装置や、パターン表示装置等
には特に有効である。又、一般にマイクロプロセ
ツサに具備されている算術論理演算回路(ALU)
を加算手段として用いていることもできるので、
高速乗算命令のために特別な加算手段を必要とす
ることはなく、簡単な回路構成でマイクロコンピ
ユータに適用できる。
尚、乗算演算のビツト数は8ビツト以外任意の
ビツト数にも適用でき、アキユムレータとして16
ビツト構成のものを使用すれば乗数レジスタに下
位8ビツトをストアすることなくアキユムレータ
に全16ビツトのデータを設定することができる。
【図面の簡単な説明】
第1図は従来の乗算回路図、第2図は本発明の
一実施例を示す乗算回路図、第3図は補正ゲート
の一実施例を示す論理回路図、第4図及び第5図
は本発明の乗算回路をマイクロコンピユータに適
用した時の要部ブロツク図である。 1,7,41…データバス、2,9,42…被
乗数レジスタ、3,10,43…乗数レジスタ、
4,11,48…アンド回路、5,12…加算回
路、6,13,45…アキユムレータ、14…シ
フト回路、15…乗算命令モード指定信号、16
…インバータ、17,18,19,20,21,
22,31,32…アンドゲート、33,34,
35,40…オア回路、44…シフト回路、4
6,47…一時記憶用ラツチ、49…算術論理演
算回路(ALU)。

Claims (1)

    【特許請求の範囲】
  1. 1 乗数がセツトされる第1のレジスタと、被乗
    数がセツトされる第2のレジスタと、少なくとも
    加算機能を有する演算器と、演算結果がセツトさ
    れる第3のレジスタと、前記演算器の出力端と前
    記第3のレジスタとの間に設けられた補正ゲート
    回路と、前記被乗数を前記乗数の内容に応じて前
    記演算器の一方の入力端に供給する第1の手段
    と、前記第3のレジスタの内容を前記演算器の他
    方の入力端へ供給する第2の手段とを含み、前記
    補正ゲート回路は前記演算器の出力をそのまま前
    記第3のレジスタへ印加する第1のゲートと、前
    記演算器の各出力のうち最下位ビツトを除く他の
    ビツトを1ビツト下位へずらして前記第3のレジ
    スタへ印加する第2のゲートとを有し、乗算命令
    実行を指示する信号が存在する時は前記第2のゲ
    ートを選択し、存在しない時は前記第1のゲート
    を選択するようになし、乗算命令実行時のみ前記
    演算器の出力を1ビツト右にずらした形で前記第
    3のレジスタにセツトすることを特徴とする乗算
    機能を有する演算回路。
JP4549280A 1980-04-07 1980-04-07 Data shift circuit Granted JPS56143051A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4549280A JPS56143051A (en) 1980-04-07 1980-04-07 Data shift circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4549280A JPS56143051A (en) 1980-04-07 1980-04-07 Data shift circuit

Publications (2)

Publication Number Publication Date
JPS56143051A JPS56143051A (en) 1981-11-07
JPH0113129B2 true JPH0113129B2 (ja) 1989-03-03

Family

ID=12720892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4549280A Granted JPS56143051A (en) 1980-04-07 1980-04-07 Data shift circuit

Country Status (1)

Country Link
JP (1) JPS56143051A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4970676A (en) * 1989-04-04 1990-11-13 Rca Licensing Corporation Digital word-serial multiplier circuitry
JP2554785B2 (ja) * 1991-03-30 1996-11-13 株式会社東芝 表示駆動制御用集積回路及び表示システム
JP2008117218A (ja) * 2006-11-06 2008-05-22 Mitsubishi Electric Corp 演算処理装置

Also Published As

Publication number Publication date
JPS56143051A (en) 1981-11-07

Similar Documents

Publication Publication Date Title
JPS6351287B2 (ja)
JPS61292414A (ja) プログラム可能な論理アレイ
JPS63291134A (ja) 論理集積回路
US4155118A (en) Organization for an integrated circuit calculator/controller
US3202805A (en) Simultaneous digital multiply-add, multiply-subtract circuit
EP0454636A1 (en) Method for carrying out a boolean operation between any two bits of any two registers
JPS6227412B2 (ja)
US4878191A (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
JPS6057593B2 (ja) 文字パタ−ン処理方式
JPS58166419A (ja) ワンチツプマイクロコンピユ−タ
US4197587A (en) Correction circuit for arithmetic operations with non-hexadecimal operands in hexadecimal arithmetic units
US5018092A (en) Stack-type arithmetic circuit
NO149107B (no) Analogifremgangsmaate ved fremstilling av terapeutisk aktive n-(4-pyrazolidinyl)-benzamider
JPS58205253A (ja) 演算装置
JPS622328B2 (ja)
JPH02280263A (ja) マイクロプロセッサ
JPH06109818A (ja) テスト用回路
Dave Arithmetic unit for a small digital computer
JPS5931108B2 (ja) 三桁区切情報割込み方式
JPS6236255B2 (ja)
JPS6146856B2 (ja)
JPS60682B2 (ja) 論理演算装置
JPS6339927B2 (ja)
JPH0545978B2 (ja)
JPS5830615B2 (ja) ベキ乗計算の表示方式