JPH06110659A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH06110659A
JPH06110659A JP5189269A JP18926993A JPH06110659A JP H06110659 A JPH06110659 A JP H06110659A JP 5189269 A JP5189269 A JP 5189269A JP 18926993 A JP18926993 A JP 18926993A JP H06110659 A JPH06110659 A JP H06110659A
Authority
JP
Japan
Prior art keywords
data
carry
product
multiplication
result
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
JP5189269A
Other languages
English (en)
Inventor
Kimiko Nakamura
公子 中村
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 JP5189269A priority Critical patent/JPH06110659A/ja
Publication of JPH06110659A publication Critical patent/JPH06110659A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 積和演算における演算時間を大幅な短縮す
る。 【構成】 乗数データと被乗数データの乗算を行なう乗
算回路101からのデータとキャリーとの加算処理及び
乗算結果の加算を行なう桁上げ伝播加算器102と、桁
上げ伝播加算器から得られる乗算結果を保持する乗算結
果保持レジスタ108と、乗算結果の加算により得られ
る積和演算結果を保持する積和演算結果保持レジスタ1
09と、乗算回路からのデータまたはキャリーと乗算結
果保持レジスタに保持する乗算結果を選択的に桁上げ伝
播加算器に入力するセレクタ106と、乗算回路からの
データまたはキャリーとレジスタ109に保持する積和
演算結果を選択的に桁上げ伝播加算器に入力するセレク
タ107と、レジスタ108又はレジスタ109に保持
された乗算結果または積和演算結果を選択的に出力する
セレクタ112を備える。 【効果】 従来の積和演算と比較し、1/2〜1/3程
度の実行クロック数で処理することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
に関し、特に、乗算と加算を所定回数繰り返す積和演算
命令を備えるマイクロコンピュータに関する。
【0002】
【従来の技術】従来のマイクロコンピュータにおける積
和演算命令の実行方法について、図6を用いて説明す
る。ここでは説明の簡略化のため、乗数データ、被乗数
データなどの演算に必要なデータは、複数のレジスタか
らなるレジスタ群401から読み出されるものとする。
このとき、対象レジスタアドレスは、レジスタアドレス
バス402に出力されているものとする。また、乗算
は、2次のブースのアルゴリズムを用いて行なうものと
し、扱うデータは16ビットとして説明する。まず、レ
ジスタ群401からテンポラリレジスタ403に乗数デ
ータが読み出される。テンポラリレジスタ403に読み
出された乗数データは、ブースデコーダ404によりデ
コードされる。デコードされた値により、レジスタ群4
01から読み出された被乗数データが修飾され、テンポ
ラリレジスタ405に書き込まれる。
【0003】2次のブースのアリゴリズムを用いた16
ビットデータの乗算では、8個の部分積が求められ、そ
れぞれの部分積が2ビットずつシフトされて加算され
る。2次のブースのアリゴリズムを用いた場合、例えば
16ビットの乗数データがブースデコーダ404により
デコードされると、その値は、0,±1,±2の何れか
となる。そして、被乗数データ(Xとする)が上記デコ
ードされた値で修飾されるとは、デコードの結果値によ
り、0,±X,±2Xを求めることをいう。また、この
場合、8個の部分積は、デコードされた値により修飾さ
れた値0,±X,±2Xを示す。
【0004】1回目の部分積は、テンポラリレジスタ4
07に書き込まれる。2回目以降は、同様にして被乗数
データがブースデコーダ404の値により修飾され、シ
フトレジスタ406により2ビットずつのシフトを繰り
返し、シフトレジスタ406の内容とテンポラリレジス
タ407の内容がALU408で加算される。ALU4
08で加算された結果は、テンポラリレジスタ407に
書き込まれる。
【0005】このように、被乗数データがブースデコー
ダ404の値により修飾され、シフト、加算が繰り返さ
れることにより、乗算結果が求められる。乗算結果は、
内部データバス105を経由して、レジスタ群401に
書き込まれる。同様にして、次の乗数データ、被乗数デ
ータから乗算結果が求められた後、前回の乗算結果がレ
ジスタ群401からデータバス409を経由して読み出
される。同時にテンポラリレジスタ407に書き込まれ
た今回の乗算結果がデータバス410を経由して読み出
され、ALU408に入力されて加算処理が実行され
る。以上の処理を、指定された回数だけ繰り返すことに
より積和演算命令が実行される。最終的な積和演算結果
は、レジスタ420に一時的に保持され、内部データバ
スを経由してレジスタ群401に書き込まれる。
【0006】
【発明が解決しようとする課題】上述のように、従来の
マイクロコンピュータにおける積和演算の実行は、マイ
クロプログラム制御により、被乗数データの部分積を求
め、2ビットシフト、加算を繰り返すことによりまず乗
算処理が行なわれる。そして、その結果を一時保管した
後、次の乗算処理が行なわれ、結果が出された後、再び
前回の乗算結果が読み出され、加算処理を実行すること
により積和演算が行なわれているため、積和演算の実行
時間が遅いという欠点を有している。マイクロコンピュ
ータにおいては、積和演算の高速化に対する要求が強い
が、従来のマイクロプログラム制御方式による高速化に
は限界があり、現状のままでは高速化が難しいという問
題があった。
【0007】本発明は、このような従来の課題を解決す
るためになされたものであり、マイクロプログラム制御
で積和演算を行なう場合の実効クロック数に比べ、1/
2〜1/3程度の実行クロック数で処理することがで
き、かつ簡単なハードウェア構成で実現できるマイクロ
コンピュータを提供することを第1の目的とする。ま
た、本発明の第2の目的は、上記目的に加えて積和演算
に対する飽和機能を実現するマイクロコンピュータを提
供することにある。
【0008】
【課題を解決するための手段】上記第1の目的を達成す
るため、本発明のマイクロコンピュータは、上記本発明
の第1の目的を達成するマイクロコンピュータは、乗数
データと被乗数データの乗算を行なう乗算回路と、前記
乗算回路からのデータとキャリーとの加算処理及び乗算
結果の加算を行なう桁上げ伝播加算器と、前記桁上げ伝
播加算器の前記データとキャリーの加算により得られる
乗算結果を保持する第1の保持手段と、前記桁上げ伝播
加算器の乗算結果の加算により得られる積和演算結果を
保持する第2の保持手段と、前記乗算回路からのデータ
またはキャリーと前記第1の保持手段に保持する乗算結
果を選択的に前記桁上げ伝播加算器に入力する第1の選
択手段と、前記乗算回路からのデータまたはキャリーと
前記第2の保持手段に保持する積和演算結果を選択的に
前記桁上げ伝播加算器に入力する第2の選択手段と、前
記第1の保持手段または前記第2の保持手段に保持され
た乗算結果または積和演算結果を選択的に出力する出力
データ制御手段を備える構成としている。そして、好ま
しい態様では、前記桁上げ伝播加算器と前記第2の保持
手段との間に、前記桁上げ伝播加算器からの積和演算結
果または内部データバスからのデータを選択的に前記第
2の保持手段に格納する第3の選択手段を備える構成と
している。
【0009】本発明の第2の目的を達成する本発明のマ
イクロコンピュータは、乗数データと被乗数データの乗
算を行なう乗算回路と、前記乗算回路からのデータとキ
ャリーとの加算処理及び乗算結果の加算を行なう桁上げ
伝播加算器と、前記桁上げ伝播加算器の前記データとキ
ャリーの加算により得られる乗算結果を保持する第1の
保持手段と、前記桁上げ伝播加算器の乗算結果の加算に
より得られる積和演算結果を保持する第2の保持手段
と、前記乗算回路からのデータまたはキャリーと前記第
1の保持手段に保持する乗算結果を選択的に前記桁上げ
伝播加算器に入力する第1の選択手段と、前記乗算回路
からのデータまたはキャリーと前記第2の保持手段に保
持する積和演算結果を選択的に前記桁上げ伝播加算器に
入力する第2の選択手段と、前記第1の保持手段または
前記第2の保持手段に保持された乗算結果または積和演
算結果を選択的に出力する出力データ制御手段とを備
え、前記出力データ制御手段は、前記第2の保持手段内
の積和演算結果がオーバーフローかアンダーフローかを
判定する判定手段を備え、前記判定手段により前記積和
演算結果がオーバーフロー及びアンダーフローの何れで
もない時に、前記第2の保持手段の積和演算結果を出力
し、オーバーフローの時に、演算語長の正の最大値を出
力し、アンダーフローの時に、演算語長の負の最大値を
出力する構成としている。そして、好ましい態様では、
前記出力データ制御手段の判定手段は、前記桁上げ伝播
加算器からのオーバーフローフラグを入力し、オーバー
フローフラグが”1”の時に、前記第2の保持手段内の
積和演算結果の最上位ビットが”1”でオーバーフロー
と判定し、前記第2の保持手段内の積和演算結果の最上
位ビットが”0”でアンダーフローと判定する。また、
前記演算語長の正の最大値及び演算語長の負の最大値を
予め生成する定数生成回路を備える。さらに好ましい態
様では、前記桁上げ伝播加算器と前記第2の保持手段と
の間に、前記桁上げ伝播加算器からの積和演算結果また
は内部データバスからのデータを選択的に前記第2の保
持手段に格納する第3の選択手段を備える。
【0010】
【作用】本発明では、積和演算命令において、乗算処理
において桁上げ伝播加算器から出力された乗算結果は、
第1の保持手段に出力され、さらに第1の選択手段に入
力される。第2の選択手段には、第2の保持手段の前回
までの積和演算結果が入力される。そして、第1の選択
手段では、第1の保持手段の乗算結果が選択され、第2
の選択手段では、第2の保持手段の内容がそれぞれ選択
されて桁上げ伝播加算器に入力され、加算が行なわれ
る。得られた結果は、新たな積和演算結果として、第2
の保持手段に書き込まれる。以下同様にして、次の被乗
数データ、乗数データについて乗算回路で乗算処理が行
なわれる。得られたデータおよびキャリーは、第1の選
択手段、第2の選択手段により選択され、桁上げ伝播加
算器に入力され、加算処理が行なわれる。ここで、得ら
れた乗算結果は、第1の保持手段に出力され、第1の選
択手段に入力される。同様に、第2の選択手段には、第
2の保持手段の積和演算で得られた積和演算結果が入力
され、桁上げ伝播加算器で加算が行なわれる。結果は、
第2の保持手段に書き込まれる。積和演算の回数だけ上
記の演算を繰り返すことにより、最終の積和演算結果が
第2の保持手段に保持される。
【0011】
【実施例】以下、本発明の実施例について図面を参照し
て詳細に説明する。本発明の第1の実施例について、図
面に示す積和演算命令用ハードウェアのブロック図を参
照して説明する。図1において、本発明のマイクロコン
ピュータは、乗算及び積和演算処理を行なう乗算器10
0と、被乗数データ保持レジスタ103と、乗数データ
保持レジスタ104と、乗算結果保持レジスタ108
と、積和演算結果保持レジスタ109と、セレクタ11
2、複数のレジスタからなるレジスタ群121を備えて
いる。乗算器100は、桁上保存加算器(CSA)方式
の乗算回路101、乗算器100の最終段であるキャリ
ー伝播加算器102、キャリー伝播加算器102への入
力を選択するセレクタ106,107とで構成される。
被乗数データを修飾するために必要なブースデコーダ
は、乗算回路101内に含まれる。
【0012】乗算結果保持レジスタ108と積和演算結
果保持レジスタ109はそれぞれデータバス111,1
10を介してセレクタ106,107と接続され、セレ
クタ112と被乗数データ保持レジスタ103と乗数保
持レジスタ104とはデータバス105を介して接続さ
れる。
【0013】従来、マイクロプログラム制御により、被
乗数データの部分積を求め、2ビットシフト、加算を繰
り返すことにより乗算処理を行っていたが、本実施例で
は、これら部分積の算出、2ビットシフト処理及び部分
積の加算処理を桁上保存加算器(CSA)方式の乗算回
路101によって実行する。また、キャリー伝播加算器
102は、通常の2入力加算器である。
【0014】乗数データ、被乗数データなどの演算に必
要なデータは、複数のレジスタからなるレジスタ群12
1から内部データバス105を経由して読み出されるも
のとする。また、乗算処理は、2次のブースのアルゴリ
ズムを用いて行なうものとし、扱うデータは16ビット
として説明する。
【0015】ここで、上記の如く構成されるマイクロコ
ンピュータの演算動作の内容を説明する。まず、被乗数
データが内部データバス105を経由して、被乗数デー
タ保持レジスタ103に書き込まれる。次に、同様にし
て乗数データが内部データバス105を経由して、乗数
データ保持レジスタ104に書き込まれる。被乗数デー
タ保持レジスタ103,乗数データ保持レジスタ104
に書き込まれたデータは、例えば、CSA(桁上保存加
算器)方式を用いた乗算回路101により、8個の部分
積の加算処理が行なわれる。
【0016】乗算回路101により加算されたデータは
セレクタ106で、キャリーはセレクタで選択され、最
終段のキャリー伝播加算器102に入力される。被乗数
データに乗数データを乗算する乗算命令の場合には、キ
ャリー伝播加算器102で加算された結果は、乗算結果
保持レジスタ108に出力される。乗算結果保持レジス
タ108の乗算結果Mはセレクタ112により選択さ
れ、内部データバス105を経由して、レジスタ群12
1に書き込まれる。
【0017】一方、積和演算命令では、乗算処理におい
てキャリー伝播加算器102から出力された乗算結果M
は、乗算結果保持レジスタ108に出力され、さらにデ
ータバス111を経由してセレクタ106に入力され
る。セレクタ107には、積和演算結果保持レジスタ1
09の前回までの積和演算結果Sがデータバス110を
経由して入力される。そして、セレクタ106では、乗
算結果保持レジスタ108の乗算結果Mが選択され、セ
レクタ107では、積和演算結果保持レジスタ109の
内容がそれぞれ選択されてキャリー伝播加算器102に
入力され、加算が行なわれる。得られた結果は、新たな
積和演算結果Sとして、積和演算結果保持レジスタ10
9に書き込まれる。
【0018】以下同様にして、次の被乗数データ、乗数
データが内部データバス105を経由して被乗数データ
保持レジスタ103,乗数データ保持レジスタ104に
書き込まれ乗算回路101で、8個の部分積の加算処理
が行なわれる。加算されたデータおよびキャリーは、セ
レクタ106,107により選択され、キャリー伝播加
算器102に入力され、加算処理が行なわれる。ここ
で、得られた乗算結果Mは、乗算結果保持レジスタ10
8に出力され、データバス111を経由してセレクタ1
06に入力される。同様に、セレクタ107には、積和
演算結果保持レジスタ109の上記積和演算で得られた
積和演算結果Sがデータバス110を経由して入力さ
れ、キャリー伝播加算器102で加算が行なわれる。結
果は、積和演算結果保持レジスタ109に書き込まれ
る。
【0019】以下同様に、積和演算の回数だけ上記の演
算を繰り返すことにより、最終の積和演算結果Sが積和
演算結果保持レジスタ109に保持される。この最終的
な積和演算結果Sは、セレクタ112により選択され内
部データバス105を経由してレジスタ群121に書き
込まれる。このようにして、積和演算命令が実行され
る。
【0020】本実施例では、これら部分積の算出、2ビ
ットシフト処理及び部分積の加算処理を桁上保存加算器
(CSA)方式の乗算回路101によって実行するの
で、マイクロプログラム制御で積和演算を行なう場合の
実効クロック数に比べ、1/2〜1/3程度の実行クロ
ック数で処理することができる。また、乗算回路101
を除く、ハードウェアの追加は、セレクタやレジスタ等
の簡単な構成であり、バス構成も同じであるので、ハー
ドウェアを追加することによりオーバーヘッドも少なく
て済む。
【0021】本発明の第2の実施例について、図2を参
照して説明する。基本的な構成は、第1の実施例と同様
であり、共通部分に関する説明は省略し、相違する部分
のみを説明する。図2において、本実施例のマイクロコ
ンピュータでは、キャリー伝播加算器102と積和演算
結果保持レジスタ109の間に、セレクタ114を設け
ている。このセレクタ114の入力には、キャリー伝播
加算器102の出力と、内部データバス105と接続さ
れるデータバス113が接続され、セレクタ114の出
力が積和演算結果保持レジスタ109と接続している。
この結果、積和演算結果保持レジスタ109に入力され
るデータは、セレクタ114によって選択されて、内部
データバス105を経由してデータバス113に送られ
るデータあるいはキャリー伝播加算器102からの積和
演算結果Sの何れかになる。
【0022】このように、データバス113とセレクタ
114を設けたことにより、積和演算結果保持レジスタ
109に積和演算結果Sだけを格納するだけでなく、デ
ータバス113を介して初期値の設定や、途中結果の一
時保管を行なうことができる。途中結果を一時保管でき
るので、例えば演算処理を中断して後から再開する場合
等に利用することができる。
【0023】本発明の第3の実施例を図3に示す。本実
施例の基本的な構成は、第1の実施例と同様であり、共
通の構成については同じ参照番号を付している。共通す
る構成に関する説明は省略し、相違する部分のみを説明
する。図3において、図1のセレクタ112の代わり
に、出力データ制御部115を設け、さらに、この出力
データ制御部115には、キャリー伝播加算器102か
らのオーバーフローフラグ116を入力している。
【0024】2次のブースのアルゴリズムを用いた乗算
命令による動作及び積和演算命令による動作は、図1の
第1実施例と全く同一である。すなわち、乗算命令の場
合には、キャリー伝播加算器102で加算された結果
は、乗算結果保持レジスタ108に出力され、出力デー
タ制御部113から、内部データバス105を経由し
て、レジスタ群121に書き込まれる。
【0025】積和演算命令では、セレクタ106で乗算
結果保持レジスタ108の乗算結果Mが、セレクタ10
7で積和演算結果保持レジスタ109の積和演算結果S
がそれぞれ選択されキャリー伝播加算器102に入力さ
れて加算が行なわれ、得られた結果が積和演算結果保持
レジスタ109に書き込まれる。積和演算の回数だけ上
記の演算を繰り返すことにより、最終的な積和演算結果
Mが積和演算結果保持レジスタ109に保持される。積
和演算結果Mは、出力データ制御部115から内部デー
タバス105を経由してレジスタ群121に書き込まれ
る。
【0026】上記出力データ制御部115の構成を図4
に示す。図4において、出力データ制御部115は、キ
ャリー伝播加算器102からのオーバーフローフラグ1
16と積和演算結果保持レジスタ109からの最上位ビ
ット302を入力し、積和演算結果のオーバーフローあ
るいはアンダーフローを判定するオーバー・アンダーフ
ロー判定部301と、演算語長の正の最大値あるいは負
の最大値を選択的に出力する定数生成回路307と、イ
ンバータ308を備えている。ここで、出力データ制御
部115の動作内容を説明する。ここでは、第1の実施
例と同様に、乗数データ及び被乗数データを16ビット
とし、演算結果を32ビットして説明を進める。
【0027】積和演算命令の実行において、セレクタ1
06では、乗算結果保持レジスタ108の乗算結果M
が、セレクタ107では、積和演算結果保持レジスタ1
09の積和演算結果Sが選択されてキャリー伝播加算器
102に入力されて加算が行われるが、この時、キャリ
ー伝播加算器102は、32ビット目からの桁上げと、
31ビット目から32ビット目への桁上げのどちらか一
方が”1”の時に、オーバーフローフラグ116を”
1”とし、それ以外の場合オーバーフローフラグ116
を”0”とする。また、キャリー伝播加算器102の加
算結果は、そのまま積和演算結果保持レジスタ109に
保持される。
【0028】オーバーフローフラグ116が”0”の
時、出力データ制御部115は、積和演算結果保持レジ
スタ109の最終的な積和演算結果Sを内部データバス
を経由してレジスタ群121に書き込む。オーバーフロ
ーフラグ116が”1”の時、出力データ制御部115
のオーバー・アンダーフロー判定部301が、積和演算
結果保持レジスタ109に保持されている積和演算結果
Sの最上位ビット302を判定する。オーバー・アンダ
ーフロー判定部301は、積和演算結果Sの最上位ビッ
ト302が”1”の時、積和演算結果Sがオーバーフロ
ーしたと判定し、オーバーフロー判定信号303を”
1”とし、積和演算結果Sの最上位ビット302が”
0”の時、積和演算結果Sがアンダーフローしたと判定
し、アンダーフロー判定信号304を”1”として出力
する。
【0029】そして、出力データ制御部115は、オー
バーフロー判定信号303が”1”の時、定数生成回路
307から正の最大値305(例えば、32ビットの演
算語長の場合、7FFFFFFFH)を選択して出力す
る。また、アンダーフロー判定信号304が”1”の
時、定数生成回路307から負の最大値306(例え
ば、32ビットの演算語長の場合、80000000
H)を選択して出力する。この正の最大値及び負の最大
値については、定数生成回路307で予め生成してあ
る。また、オーバーフローフラグ116が”1”の時、
積和演算結果保持レジスタ109の積和演算結果Sは、
インバータ308でマスクされて出力されず、代わり
に、上記正の最大値または負の最大値が内部データバス
に出力される。
【0030】このように、本実施例では、上記のような
出力データ制御部115を設けたことにより、積和演算
に対する飽和機能(演算結果がオーバーフローあるいは
アンダーフローを起こした場合に、演算結果の最大値を
発生させる機能)を実現している。
【0031】図5は、本発明の第4の実施例を示す。こ
の第4の実施例は、図4の構成に、図2で示した第2の
実施例と同様のセレクタ114とデータバス113を追
加した構成としている。その動作については、第2の実
施例及び第3の実施例と同じであるので、説明は省略す
る。従って、この第4の実施例によれば、上述した積和
演算に対する飽和機能に加えて、積和演算結果保持レジ
スタ109にデータバス113を介して初期値の設定
や、途中結果の一時保管を行なうことができ、例えば演
算処理を中断して後から再開する場合等に利用すること
ができる。以上好ましい実施例をあげて本発明を説明し
たが、本発明は必ずしも上記実施例に限定されるもので
はない。
【0032】
【発明の効果】以上説明したように本発明によるマイク
ロコンピュータによれば、マイクロプログラム制御で積
和演算を行なう場合の実効クロック数に比べ、1/2〜
1/3程度の実行クロック数で処理することができ、演
算時間を大幅な短縮することができる効果が得られる。
また、乗算器を除く積和演算用のハードウェアの追加が
セレクタやレジスタ等の簡単な構成部品のみで済み、か
つバス構成も従来のままであるので、簡単なハードウェ
ア構成で実現できる効果が得られる。請求項5のマイク
ロコンピュータによれば、上記効果に加えて積和演算に
対する飽和機能を実現することができる効果が得られ
る。
【図面の簡単な説明】
【図1】 本発明の第1の実施例によるマイクロコンピ
ュータの構成を示すブロック図である。
【図2】 本発明の第2の実施例によるマイクロコンピ
ュータの構成を示すブロック図である。
【図3】 本発明の第3の実施例によるマイクロコンピ
ュータの構成を示すブロック図である。
【図4】 図3に示す第3の実施例の出力データ制御部
の構成を示すブロック図である。
【図5】 本発明の第4の実施例によるマイクロコンピ
ュータの構成を示すブロック図である。
【図6】 従来のマイクロコンピュータの一例を示すブ
ロック図である。
【符号の説明】
100 乗算器 101 乗算回路 102 キャリー伝播加算器 103 被乗数データ保持レジスタ 104 乗数データ保持レジスタ 105 内部データバス 106,107,112,114 セレクタ 108 乗算結果保持レジスタ 109 積和演算結果保持レジスタ 110,111 データバス 115 出力データ制御部 116 オーバーフローフラグ 301 オーバー・アンダーフロー判定部 302 最上位ビット 307 定数生成回路 308 インバータ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 乗数データと被乗数データの乗算を行な
    う乗算回路と、 前記乗算回路からのデータとキャリーとの加算処理及び
    乗算結果の加算を行なう桁上げ伝播加算器と、 前記桁上げ伝播加算器の前記データとキャリーの加算に
    より得られる乗算結果を保持する第1の保持手段と、 前記桁上げ伝播加算器の乗算結果の加算により得られる
    積和演算結果を保持する第2の保持手段と、 前記乗算回路からのデータまたはキャリーと前記第1の
    保持手段に保持する乗算結果を選択的に前記桁上げ伝播
    加算器に入力する第1の選択手段と、 前記乗算回路から出力されるデータまたはキャリーと前
    記第2の保持手段に保持する積和演算結果を選択的に前
    記桁上げ伝播加算器に入力する第2の選択手段と、 前記第1の保持手段または前記第2の保持手段に保持さ
    れた乗算結果または積和演算結果を選択的に出力する出
    力データ制御手段とを備えることを特徴とするマイクロ
    コンピュータ。
  2. 【請求項2】 前記乗算回路は、複数の桁上げ保存加算
    器を有する乗算回路であることを特徴とする請求項1に
    記載のマイクロコンピュータ。
  3. 【請求項3】 前記出力データ制御手段が、セレクタで
    あることを特徴とする請求項1または2に記載のマイク
    ロコンピュータ。
  4. 【請求項4】 前記桁上げ伝播加算器と前記第2の保持
    手段との間に、前記桁上げ伝播加算器からの積和演算結
    果または内部データバスからのデータを選択的に前記第
    2の保持手段に格納する第3の選択手段を備えることを
    特徴とする請求項1または2に記載のマイクロコンピュ
    ータ。
  5. 【請求項5】 乗数データと被乗数データの乗算を行な
    う乗算回路と、 前記乗算回路からのデータとキャリーとの加算処理及び
    乗算結果の加算を行なう桁上げ伝播加算器と、 前記桁上げ伝播加算器の前記データとキャリーの加算に
    より得られる乗算結果を保持する第1の保持手段と、 前記桁上げ伝播加算器の乗算結果の加算により得られる
    積和演算結果を保持する第2の保持手段と、 前記乗算回路からのデータまたはキャリーと前記第1の
    保持手段に保持する乗算結果を選択的に前記桁上げ伝播
    加算器に入力する第1の選択手段と、 前記乗算回路からのデータまたはキャリーと前記第2の
    保持手段に保持する積和演算結果を選択的に前記桁上げ
    伝播加算器に入力する第2の選択手段と、 前記第1の保持手段または前記第2の保持手段に保持さ
    れた乗算結果または積和演算結果を選択的に出力する出
    力データ制御手段を備え、 前記出力データ制御手段は、 前記第2の保持手段内の積和演算結果がオーバーフロー
    かアンダーフローかを判定する判定手段を備え、前記判
    定手段により前記積和演算結果がオーバーフロー及びア
    ンダーフローの何れでもない時に、前記第2の保持手段
    の積和演算結果を出力し、オーバーフローの時に、演算
    語長の正の最大値を出力し、アンダーフローの時に、演
    算語長の負の最大値を出力することを備えることを特徴
    とするマイクロコンピュータ。
  6. 【請求項6】 前記乗算回路は、複数の桁上げ保存加算
    器を有する乗算回路であることを特徴とする請求項5に
    記載のマイクロコンピュータ。
  7. 【請求項7】 前記出力データ制御手段の判定手段は、
    前記桁上げ伝播加算器からのオーバーフローフラグを入
    力し、オーバーフローフラグが”1”の時に、前記第2
    の保持手段内の積和演算結果の最上位ビットが”1”で
    オーバーフローと判定し、前記第2の保持手段内の積和
    演算結果の最上位ビットが”0”でアンダーフローと判
    定することを特徴とする請求項5または6に記載のマイ
    クロコンピュータ。
  8. 【請求項8】 前記演算語長の正の最大値及び演算語長
    の負の最大値を予め生成する定数生成回路を備えること
    を特徴とする請求項5または6に記載のマイクロコンピ
    ュータ。
  9. 【請求項9】 前記桁上げ伝播加算器と前記第2の保持
    手段との間に、前記桁上げ伝播加算器からの積和演算結
    果または内部データバスからのデータを選択的に前記第
    2の保持手段に格納する第3の選択手段を備えることを
    特徴とする請求項5または6に記載のマイクロコンピュ
    ータ。
  10. 【請求項10】 前記オーバーフローフラグが”1”の
    時に、前記第2の保持手段の積和演算結果の出力をマス
    クする手段を備えることを特徴とする請求項7に記載の
    マイクロコンピュータ。
JP5189269A 1992-06-30 1993-06-30 マイクロコンピュータ Pending JPH06110659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5189269A JPH06110659A (ja) 1992-06-30 1993-06-30 マイクロコンピュータ

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP17222892 1992-06-30
JP4-182008 1992-07-09
JP4-172228 1992-07-09
JP18200892 1992-07-09
JP5189269A JPH06110659A (ja) 1992-06-30 1993-06-30 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH06110659A true JPH06110659A (ja) 1994-04-22

Family

ID=27323591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5189269A Pending JPH06110659A (ja) 1992-06-30 1993-06-30 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH06110659A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57199044A (en) * 1981-06-03 1982-12-06 Fujitsu Ltd Multiplying device
JPS5938849A (ja) * 1982-08-27 1984-03-02 Fujitsu Ltd 演算回路
JPS59194242A (ja) * 1983-04-19 1984-11-05 Toshiba Corp ディジタル乗算累積加算装置
JPS6237737A (ja) * 1985-08-12 1987-02-18 Matsushita Electric Ind Co Ltd マイクロプロセツサ回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57199044A (en) * 1981-06-03 1982-12-06 Fujitsu Ltd Multiplying device
JPS5938849A (ja) * 1982-08-27 1984-03-02 Fujitsu Ltd 演算回路
JPS59194242A (ja) * 1983-04-19 1984-11-05 Toshiba Corp ディジタル乗算累積加算装置
JPS6237737A (ja) * 1985-08-12 1987-02-18 Matsushita Electric Ind Co Ltd マイクロプロセツサ回路

Similar Documents

Publication Publication Date Title
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
US5844830A (en) Executing computer instrucrions by circuits having different latencies
JPH10214176A (ja) 超越関数を迅速に計算する装置
JP3667635B2 (ja) 演算装置
US5796645A (en) Multiply accumulate computation unit
KR20220031098A (ko) 부호형 다중-워드 곱셈기
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JPH06110659A (ja) マイクロコンピュータ
US6725360B1 (en) Selectively processing different size data in multiplier and ALU paths in parallel
JPS62197868A (ja) パイプライン構成の直線近似変換回路
JP3252954B2 (ja) 乗算方法および乗算回路
JP3462054B2 (ja) 並列加減算回路
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JPS6259828B2 (ja)
JP2608090B2 (ja) 高基数非回復型除算装置
KR100251547B1 (ko) 디지탈신호처리기(Digital Sgnal Processor)
JP3201097B2 (ja) 乗算器における乗算処方方法
JP2821406B2 (ja) 積和演算器およびこれを用いたディジタルフィルタ回路
JPH04218834A (ja) 条件分岐制御回路
KR100246472B1 (ko) 디지탈신호처리기
JPH0414173A (ja) 固定小数点演算器
JPH1069372A (ja) 演算実行方法及び演算装置
JPH0553759A (ja) 固定小数点演算ユニツト
JPH0580978A (ja) 演算処理回路