JPH11327875A - 演算回路 - Google Patents

演算回路

Info

Publication number
JPH11327875A
JPH11327875A JP10126426A JP12642698A JPH11327875A JP H11327875 A JPH11327875 A JP H11327875A JP 10126426 A JP10126426 A JP 10126426A JP 12642698 A JP12642698 A JP 12642698A JP H11327875 A JPH11327875 A JP H11327875A
Authority
JP
Japan
Prior art keywords
data
circuit
output
addition
input
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.)
Granted
Application number
JP10126426A
Other languages
English (en)
Other versions
JP3529622B2 (ja
Inventor
Naoyoshi Yano
直佳 矢野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP12642698A priority Critical patent/JP3529622B2/ja
Priority to US09/307,808 priority patent/US6519621B1/en
Publication of JPH11327875A publication Critical patent/JPH11327875A/ja
Application granted granted Critical
Publication of JP3529622B2 publication Critical patent/JP3529622B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • G06F7/5095Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 連続した命令を実行する際に、前回の演算結
果の確定を待たずに次の演算を行い、パイプライン処理
の冗長性を排除して、回路面積を増大させることなく演
算時間を短縮し、演算性能を向上させることにある。 【解決手段】 第1の加算回路3と、第1の加算回路3
の2つの出力データを第1と第2の中間データとしてそ
れぞれ保持する中間データ保持手段4、5と、第2の加
算回路6と、結果データ保持手段2とを少なくとも具備
し、前回の演算の結果を用いた連続した演算を行う場合
には、第1の加算回路3は、中間データ保持手段4、5
にそれぞれ保持される第1および第2の中間データをそ
れぞれ入力データの一部として次の加算を行うものであ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理プロセ
ッサやマイクロプロセッサ等に使用される演算回路に関
し、特に、連続した命令を実行する際に、演算中の途中
結果データを用いて前回の演算結果に基づく演算を実行
することによって、前回の演算結果の確定を待たずに次
の演算を行い、パイプライン処理の冗長性を排除して、
回路面積を増大させることなく演算時間を短縮し、演算
性能を向上させるための技術に関する。
【0002】
【従来の技術】連続する命令に従った演算で、前回命令
の演算の結果を用いて次の命令の演算を行う累積演算に
おいては、桁上げ信号の伝播の処理速度が、全体の演算
速度に大きな影響を及ぼす。このため、従来より、前回
命令の演算結果がキャリーセーブ形式などの場合には、
桁上げ伝播加算を複数回行うかわりに、桁上げ伝播加算
器(CPA:Carry Propagation A
dder)の前に、桁上げ保存加算器(CSA:Car
ry Save Adder)などの高速な加算器を置
くことによって、かかる桁上げ処理の高速化が図られて
きた。ここで、CSAとは、3個のオペランドの高速加
算のための装置であり、一連のFA(Full Add
er)から構成される。そして、オペランドの1つは桁
上げ入力に入り、桁上げ出力は、隣の桁の桁上げ入力に
与えられるかわりに、第2の出力語とみなされる。そし
て、CSAの出力を、2オペランド加算器で加算して最
終結果を得るものである。
【0003】また、こうしたCPAとCSAなど2つの
加算器の間には、レジスタなどの何らかのデータ保持回
路を設け、2つの加算器の間のタイミング調整を図るこ
と場合がある。かかるデータ保持回路は、特に、CPA
の演算時間がサイクルタイムに比べて比較的長くかかる
場合や、プリチャージ型などタイミングに制約のあるC
PAを用いる場合などで必要となる場合が多い。
【0004】以下、かかるデータ保持回路を設けた場合
の、従来の演算回路について、累積加算と累積減算の場
合を説明する。
【0005】まず、従来における累積加算のための演算
回路について、図8を用いて説明する。図8に示すよう
に、かかる累積加算回路は、2入力データ(A、B)
と、出力レジスタに保持されているデータとの加算を行
い、その結果を出力レジスタに書くという動作を行う回
路であり、この演算を繰り返すことにより、A+Bの加
算結果が累積されていくことになる。即ち、式で表す
と、 初期値+(入力A+入力B)+(入力A’+入力B’)
… という演算を実行する回路である。かかる2入力データ
は、どのような形式で与えられてもよいが、一例として
は、累積加算すべきデータがキャリーセーブ形式となっ
ていて、データAがCarry,データBがSumとなっている
場合などが考えられる。
【0006】かかる累積加算回路は、図8に示すよう
に、レジスタにロードするデータ(初期値)と加算器か
らの出力のいずれかを選択するセレクタ31、セレクタ
31の出力を保持する出力レジスタ32、出力レジスタ
32の出力と入力データA,Bを入力とする桁上げ保存
加算器(CSA)33、CSA33の2出力をそれぞれ
保存する中間結果保持レジスタ34、35、レジスタ3
4、35の出力を入力とする桁あげ伝播加算器(CP
A)36とから構成される。
【0007】次に、かかる累積加算回路の演算動作につ
き、以下に説明する。
【0008】(サイクルタイム1)まず、セレクタ31
により、初期値を選択し、その結果をレジスタ32に書
き込むことにより、加算の初期値のロードを行う。
【0009】(サイクルタイム2)次のサイクルで、入
力データA,Bと、レジスタ32の出力とを入力とし
て、CSA33が加算を行う。加算結果は、Carry
信号S1、Sum信号S2として出力され、中間結果保
持レジスタ34、35にそれぞれ保存される。
【0010】(サイクルタイム3)次に、レジスタ3
4、レジスタ35に保存されたデータを入力として、C
PA36が加算を行う。そして、セレクタ31により、
CPA36の加算結果が選択され、加算結果データとし
て出力レジスタ32に書き込まれる。
【0011】2回目以降の加算動作は、上述のサイクル
タイム2および3の処理を繰り返し行うことによって、
実現される。
【0012】次に、従来における累積減算のための演算
回路について、図9を用いて説明する。かかる減算回路
は、式で表すと、初期値−(入力A+入力B)−(入力
A’+入力B’)…という演算を実行するための回路で
ある。
【0013】上述した加算回路の場合と同様に、入力が
キャリーセーブ形式になっており、2入力データA、B
がそれぞれ、CarryとSumとに対応する場合などが考えら
れる。
【0014】上述の減算式において、この累積減算は、
初期値または数回減算を繰り返した結果である被減数を
P1、減数側の入力をA,Bとすると、
【数1】 と置き換えられるため、インバータと加算を行う回路に
より、累積減算が実現できることとなる。
【0015】かかる累積減算回路は、図9に示すよう
に、レジスタにロードするデータ(初期値)と加算器か
らの出力の反転のいずれかを選択するセレクタ31、セ
レクタ31の出力を保持するレジスタ32、レジスタ3
2の出力の反転をとる反転回路37、反転回路37の出
力と入力データA,Bを入力とする桁あげ保存加算器
(CSA)33,CSA33の2出力をそれぞれ保存す
る中間結果保持レジスタ34、35、レジスタ34、3
5の出力を入力とする桁あげ伝播加算器(CPA)3
6、CPAの出力を反転する反転回路38から構成され
る。
【0016】次に、かかる累積減算回路の演算動作につ
き、以下に説明する。
【0017】(サイクルタイム1)まず、セレクタ31
により、初期値を選択し、その結果をレジスタ32に書
き込むことにより、初期値のロードを行う。
【0018】(サイクルタイム2)次のサイクルで、入
力A,B、レジスタ32の出力の反転結果である反転回
路37の出力とを入力として、CSA33が、次式に示
す加算を行う。
【数2】 かかる加算結果はそれぞれ、中間結果保持レジスタ3
4、35に保存される。
【0019】(サイクルタイム3)中間結果保持レジス
タ34、中間結果保持レジスタ35に保存されたデータ
を入力として、CPA36が加算を行う。かかるCPA
36の加算結果は、反転回路38により、反転されて出
力される。そして、セレクタ31が、反転回路38の出
力結果(CPA36の反転)を選択し、次式に示す演算
結果がレジスタ32に書き込まれる。
【数3】 2回目以降の加算動作は、上述のサイクルタイム2およ
び3の処理を繰り返し行うことによって、実現され、所
望の結果が出力レジスタ32の出力として得られること
となる。
【0020】
【発明が解決しようとする課題】しかしながら、上述し
た従来の累積演算回路には、以下の問題点があった。図
10を用いてかかる問題点を説明する。即ち、演算の実
行制御として、演算処理の高速化を図るために、パイプ
ライン制御を行うことが一般的に行われている。パイプ
ライン制御とは一般に、各命令を複数の処理段階に分
け、任意の時点において、一群の命令が同時に種々の処
理段階にあることができるようにする実行制御の方法で
ある。かかるパイプライン制御により、同一サイクルタ
イムにおいて、先の命令の終了を待たずに、同時にn命
令が並列に実行可能となるのである。
【0021】ところが、従来の累積演算における毎回
(2回目以降)の演算は、出力レジスタに出力された前
回の演算結果を読み出し、この値を参照することにより
行われていた。即ち、図10に示すように、毎回の演算
(図10中の命令1、2、3・・・)は、CSAでの加
算段階とCPAでの加算段階との2段階により構成され
ており、2サイクルタイムで処理が完了する。本来、パ
イプライン制御の下では、命令1の終了を待たずに、命
令2の実行が可能なはずである。しかしながら、n回目
(n>2)の命令においては、(n−1)回目の演算結
果を入力とするために、第2段階であるCPAでの加算
段階の出力レジスタへの結果書き込み終了を待って、出
力レジスタの内容を、T22、T32に示すタイミング
で参照する必要があった。このため、各命令の実行がシ
リアライズされてしまい、パイプライン動作に、T2
1、T31に示すような空きが生じてしまっており、こ
の結果、累積演算の処理終了までに長時間を要すること
となっていた。
【0022】以上のように、本発明は、従来技術におけ
る、累積演算など、連続する命令を実行する際に、パイ
プライン処理に冗長性(動作に空きが生じた)があった
ために、演算時間がかかり、演算性能が低下していたと
いう問題点を解決するためになされたものである。
【0023】そして、その目的とするところは、連続し
た命令を実行する際に、演算中の途中結果データを用い
て前回の演算結果に基づく演算を実行することによっ
て、前回の演算結果の確定を待たずに次の演算を行い、
パイプライン処理の冗長性を排除して、回路面積を増大
させることなく演算時間を短縮し、演算性能を向上させ
ることを可能とする演算回路を提供することにある。
【0024】また、他の目的は、乗算と、データ依存の
ある積和演算とを、同一の演算サイクルで実行し、パイ
プライン制御をより容易にすることにある。
【0025】また、他の目的は、積差演算(積を減算デ
ータとして用いる演算)において、逐一前回の演算結果
の補数を用いることなく演算を行うことによって、積差
演算の効率化を図ることにある。
【0026】
【課題を解決するための手段】要するに、本発明(請求
項1)は、複数の入力データに基づく加算を行い、2つ
の出力データを出力する第1の加算回路と、前記2つの
出力データのそれぞれに対応して設けられ、該2つの出
力データを第1と第2の中間データとしてそれぞれ保持
する中間データ保持手段と、該中間データ保持手段に保
持された前記第1及び第2の中間データに従った加算を
行い、1つの出力データを出力する第2の加算回路と、
前記第2の加算回路の出力データに基づくデータを保持
する結果データ保持手段と少なくとも具備し、前回の演
算の結果を用いて連続して演算を行う場合には、前記第
1の加算回路は、初回の演算の際には、予め設定された
初期値に基づく初期データおよび0データをそれぞれ前
記入力データの一部として加算を行い、2回目以降の演
算の際には、前記中間データ保持手段にそれぞれ保持さ
れる前記第1および第2の中間データをそれぞれ前記入
力データの一部として次の加算を行うことを特徴とする
ものである。
【0027】上記構成によれば、累積加算、累積演算な
ど、前回の演算の結果を用いて連続して演算を行う場合
に、演算の途中結果データを用いて演算を行うことが可
能となる。つまり、演算結果のレジスタへの書き込みを
待たずに次の命令を実行することにより、パイプライン
処理に空きが生じることなく、毎回の命令を並行処理す
ることが可能となるのである。尚、ここで、0データと
は、全ビットが0であるall zeroのデータをい
う。
【0028】また、請求項2の発明においては、被乗数
と乗数の入力に従った乗算を行う乗算回路と、前記乗算
回路からの2つの入力データを含む複数の入力データに
基づく加算を行い、前記2つの入力データに対応する2
の出力データを出力する第1の加算回路と、前記2つの
出力データのそれぞれに対応して設けられ、該2つの出
力データを第1と第2の中間データとしてそれぞれ保持
する中間データ保持手段と、該中間データ保持手段に保
持された前記第1及び第2の中間データに基づき加算を
行い、1つの結果データを出力する第2の加算回路と、
前記第2の加算回路の出力データに基づくデータを保持
する結果データ保持手段とを少なくとも具備し、前回の
演算の結果を用いて連続して演算を行う場合には、前記
第1の加算回路は、初回の演算の際には、予め設定され
た初期値に基づく初期データまたは0データを前記入力
データの一部として、前記乗算回路からの入力データと
の加算を行い、2回目以降の演算の際には、前記中間デ
ータ保持手段にそれぞれ保持される第1および第2の中
間データに基づくデータをそれぞれ前記入力データの一
部として、前記乗算回路からの次の入力データとの加算
を行うこととなる。これにより、積和演算、積差演算な
ど、乗算の積を加数または減数として、前回の演算の結
果を用いて連続して演算を行う場合にも、請求項1と同
様の効果が得られることとなる。また、乗算と、データ
依存のある積和演算や積差演算とを同一のサイクルで実
行できるので、パイプライン制御をより容易に行うこと
が可能となる。加えて、積差演算の場合には、逐一前回
の結果の補数を用いることなく毎回の演算を行うので、
さらに、演算の効率化を図ることが可能となる。
【0029】また、請求項3の発明においては、複数の
入力データに基づく加算を行い、2つの出力データを出
力する第1の加算回路と、前記2つの出力データのそれ
ぞれに対応して設けられ、該2つの出力データを第1と
第2の中間データとしてそれぞれ保持する中間データ保
持手段と、予め設定された初期値および前記第1の中間
データを含むデータのいずれかを選択し、前記第1の加
算回路への1つの入力データとする第1の選択手段と、
0データおよび前記第2の中間データを含むデータのい
ずれかを選択し、前記第1の加算回路への1つの入力デ
ータとする第2の選択手段と、前記中間データ保持手段
に保持された前記第1及び第2の中間データに従って加
算を行い、1つの出力データを出力する第2の加算回路
と、前記第2の加算回路の出力データを結果データとし
て保持する結果データ保持手段とを少なくとも具備し、
連続して前記加算を行う場合には、初回の演算の際に
は、前記第1の選択手段は前記初期値を、前記第2の選
択手段は0データをそれぞれ選択し、2回目以降の演算
の際には、前記第1の選択手段は前記第1の中間データ
を、前記第2の選択手段は第2の中間データをそれぞれ
選択することとなる。これにより、特に累積加算におい
て、請求項1と同様の効果を得ることが可能となる。
【0030】また、請求項4の発明においては、減算を
行う演算回路であって、複数の入力データに基づく加算
を行い、2つの出力データを出力する第1の加算回路
と、前記2つの出力データのそれぞれに対応して設けら
れ、該2つの出力データを第1と第2の中間データとし
て保持する中間データ保持手段と、予め設定された初期
値の反転データおよび前記第1の中間データを含むデー
タのいずれかを選択し、前記第1の加算回路への1つの
入力データとする第1の選択手段と、0データおよび前
記第2の中間データを含むデータのいずれかを選択し、
前記第1の加算回路への1つの入力データとする第2の
選択手段と、前記中間データ保持手段に保持された前記
第1および第2の中間データに従った加算を行い、1つ
の出力データを出力する第2の加算回路と、前記第2の
加算回路の出力データの反転データを結果データとして
保持する結果データ保持手段とを少なくとも具備し、連
続して前記減算を行う場合には、初回の演算の際には、
前記第1の選択手段は前記初期値の反転データを、前記
第2の選択手段は0データをそれぞれ選択し、2回目以
降の演算の際には、前記第1の選択手段は前記第1の中
間データを、前記第2の選択手段は前記第2の中間デー
タをそれぞれ選択することとなる。これにより、特に累
積減算において、請求項1と同様の効果を得ることが可
能となる。
【0031】また、請求項5の発明においては、積和演
算を行う演算回路であって、被乗数および乗数の入力に
従った乗算を行う乗算回路と、前記乗算回路からの2つ
の入力データを含む複数の入力データに基づく加算を行
い、2つの出力データを出力する第1の加算回路と、前
記2つの出力データのそれぞれに対応して設けられ、該
2つの出力データを第1と第2の中間データとして保持
する中間データ保持手段と、予め設定された初期値およ
び前記第1の中間データを含むデータのいずれかを選択
し、前記第1の加算回路への1つの入力データとする第
1の選択手段と、0データおよび前記第2の中間データ
を含むデータのいずれかを選択し、前記第1の加算回路
への1つの入力データとする第2の選択手段と、前記中
間データ保持手段に保持された前記第1及び第2の中間
データに基づき、桁上げ加算を行い、1つの出力データ
を出力する第2の加算回路と、前記第2の加算回路の出
力データを結果データとして保持する結果データ保持手
段とを少なくとも具備し、連続して前記積和演算を行う
場合には、初回の演算の際には、前記第1の選択手段は
前記初期値を、前記第2の選択手段は0データをそれぞ
れ選択し、2回目以降の演算の際には、前記第1の選択
手段は前記第1の中間データを、前記第2の選択手段は
前記第2の中間データをそれぞれ選択することとなる。
これにより、特に、積和演算において、請求項2と同様
の効果を得ることが可能となる。
【0032】また、請求項6の発明においては、被乗数
および乗数の入力に従った乗算を行う乗算回路と、前記
乗算回路からの2つの入力データを含む複数の入力デー
タに基づく加算を行い、2つの出力データを出力する第
1の加算回路と、前記2つの出力データのそれぞれに対
応して設けられ、該2つの出力データを第1と第2の中
間データとしてそれぞれ保持する中間データ保持手段
と、予め設定された初期値の反転データ、前記第1の中
間データ、0データ、および該第1の中間データの反転
データを含むデータのいずれかを選択し、前記第1の加
算回路への1つの入力データとする第1の選択手段と、
0データ、前記第2の中間データ、および該第2の中間
データの反転データを含むデータのいずれかを選択し、
前記第1の加算回路への1つの入力データとする第2の
選択手段と、前記中間データ保持手段に保持された前記
第1及び第2の中間データに基づき、桁上げ加算を行
い、1つの出力データを出力する第2の加算回路と、前
記第2の加算回路の出力データの反転データを保持する
結果データ保持手段とを少なくとも具備し、乗算の積を
減数として被減数からの減算を連続して行う場合であっ
て、さらに前記初期値を初回の減算の被減数とする場合
には、初回の演算の際には、前記第1の選択手段は前記
初期値の反転データを、前記第2の選択手段は0データ
をそれぞれ選択し、2回目以降の演算の際には、前記第
1の選択手段は前記第1の中間データを、前記第2の選
択手段は前記第2の中間データをそれぞれ選択し、前記
乗算回路からの入力データを初回の減算の被減数とする
場合には、初回の演算の際には、前記第1および第2の
選択手段は0データをそれぞれ選択し、2回目の演算の
際には、前記第1の選択手段は前記第1の中間データの
反転データを、前記第2の選択手段は前記第2の中間デ
ータの反転データをそれぞれ選択するとともに、前記第
2の加算回路は、さらに、前記桁上げ加算の際に、桁上
げ信号(キャリーイン)を用いて1を加算し、3回目以
降の演算の際には、前記第1の選択手段は前記第1の中
間データを、前記第2の選択手段は前記第2の中間デー
タをそれぞれ選択するとともに、前記第2の加算回路
は、さらに、前記桁上げ加算の際に、前記桁上げ信号を
用いて1を加算することとなる。
【0033】また、請求項7の発明においては、被乗数
および乗数の入力に従った乗算を行う乗算回路と、前記
乗算回路からの2つの入力データを含む複数の入力デー
タに基づく加算を行い、2つの出力データを出力する第
1の加算回路と、前記2つの出力データのそれぞれに対
応して設けられ、該2つの出力データを第1と第2の中
間データとしてそれぞれ保持する中間データ保持手段
と、0データ、前記第1の中間データ、および該第1の
中間データの反転データを含むデータのいずれかを選択
し、前記第1の加算回路への1つの入力データとする第
1の選択手段と、0データ、前記第2の中間データ、お
よび該第2の中間データの反転データを含むデータのい
ずれかを選択し、前記第1の加算回路への1つの入力デ
ータとする第2の選択手段と、前記中間データ保持手段
に保持された前記第1及び第2の中間データに基づき、
桁上げ加算を行い、1つの出力データを出力する第2の
加算回路と、前記第2の加算回路の出力データの反転デ
ータを保持する結果データ保持手段とを少なくとも具備
し、乗算の積を減数として被減数からの減算を連続して
行う場合には、初回の減算の際には、前記第1および第
2の選択手段は0データをそれぞれ選択し、2回目の演
算の際には、前記第1の選択手段は前記第1の中間デー
タの反転データを、前記第2の選択手段は前記第2の中
間データの反転データをそれぞれ選択するとともに、前
記第2の加算回路は、さらに、前記桁上げ加算の際に、
桁上げ信号(キャリーイン)を用いて1を加算し、3回
目以降の演算の際には、前記第1の選択手段は前記第1
の中間データを、前記第2の選択手段は前記第2の中間
データをそれぞれ選択するとともに、前記第2の加算回
路は、さらに、前記桁上げ加算の際に、前記桁上げ信号
を用いて1を加算することとなる。
【0034】さらに、請求項8の発明においては、外部
から入力される乗算結果データを含む複数の入力データ
に従った加算を行い、2つの出力データを出力する第1
の加算回路と、前記2つの出力データのそれぞれに対応
して設けられ、該2つの出力データを第1と第2の中間
データとしてそれぞれ保持する中間データ保持手段と、
予め設定された初期値の反転データ、前記第1の中間デ
ータ、該第1の中間データの反転データ、および0デー
タを含むデータのいずれかを選択し、前記第1の加算回
路への1つの入力データとする第1の選択手段と、前記
第2の中間データ、該第2の中間データの反転データ、
および0データを含むデータのいずれかを選択し、前記
第1の加算回路への1つの入力データとする第2の選択
手段と、前記中間データ保持手段に保持された前記第1
および第2の中間データに基づき、桁上げ加算を行い、
1つの出力データを出力する第2の加算回路と、前記第
2の加算回路の出力データの反転データを保持する結果
データ保持手段とを少なくとも具備し、乗算の積を減数
として被減数からの減算を連続して行う場合であって、
さらに前記初期値を初回の減算の被減数とする場合に
は、初回の演算の際には、前記第1の選択手段は前記初
期値の反転データを、前記第2の選択手段は0データを
それぞれ選択し、2回目以降の演算の際には、前記第1
の選択手段は前記第1の中間データを、前記第2の選択
手段は前記第2の中間データをそれぞれ選択し、乗算回
路からの入力データを初回の減算の被減数とする場合に
は、初回の演算の際には、前記第1および第2の選択手
段は0データをそれぞれ選択し、2回目の演算の際に
は、前記第1の選択手段は前記第1の中間データの反転
データを、前記第2の選択手段は前記第2の中間データ
の反転データをそれぞれ選択するとともに、前記第2の
加算回路は、さらに、前記桁上げ加算の際に、桁上げ信
号(キャリーイン)を用いて1を加算し、3回目以降の
演算の際には、前記第1の選択手段は前記第1の中間デ
ータを、前記第2の選択手段は前記第2の中間データを
それぞれ選択するとともに、前記第2の加算回路は、さ
らに、前記桁上げ加算の際に前記桁上げ信号を用いて1
を加算することとなる。これら請求項6乃至8の発明に
よれば、特に積差演算において、請求項2と同様の効果
を得ることが可能となる。
【0035】さらに、請求項9の発明においては、上記
演算回路はさらに、前記第2の加算回路の出力データお
よび該出力データの反転データのいずれかを選択して前
記結果データ保持手段への1つの入力とする第3の選択
手段を具備し、乗算演算を行う際には、前記第1および
第2の選択手段はともに0データを、前記第3の選択手
段は前記第2の加算回路の出力データをそれぞれ選択す
ることとなる。これにより、積和演算回路や積差演算回
路に乗算回路も併せて搭載できるので、回路規模の増大
を抑制することができる。
【0036】さらに、請求項10の発明においては、前
記第1の加算回路が出力する前記2つの出力データの一
方はCarryデータであり、他方はSumデータであ
ることにより、キャリーセーブ形式の演算において、上
述した構成を適用することが可能となる。
【0037】
【発明の実施の形態】第1の実施形態 以下、本発明の第1の実施形態について、図面を参照し
ながら詳細に説明する。本実施形態は、累積加算におい
て、前回の演算の中間データの利用に基づく演算実行の
機能を実現するものである。
【0038】図1は、第1の実施形態の回路ブロック図
を示すものである。第1の実施形態は、レジスタにロー
ドするデータ(初期値)又は加算器からの出力のいずれ
かを選択するセレクタ1、セレクタ1の出力を保持する
レジスタ2、レジスタ2の出力と後述の中間結果保持レ
ジスタ4の出力のいずれかを選択するセレクタ9、後述
のレジスタ5の出力と0データ(all zero)のいずれか
を選択するセレクタ10、入力データA,B、セレクタ
9の出力、セレクタ10の出力の4つを入力とする4入
力2出力加算回路(4-2Compactor)3、4-2Compactor3
の2出力をそれぞれ保存する中間結果保持レジスタ4,
5、中間結果保持レジスタ4、5の出力を入力とする桁
上げ伝播加算器(CPA)6により構成される。
【0039】ここで、4-2Compactor3につき、さらに説
明する。図2に、4-2Compactor3の真理値表を示す。図
2中において、a,b,c,dは4入力信号のそれぞれ
を表す。Ciは、入力桁上げ信号を表す。また、Sは、
出力和信号を、CおよびCoは、出力桁上げ信号を表
す。4-2Compactor3の演算式は、次式で示される通りで
ある。尚、CとCoとは、等価の桁上げ信号であるの
で、入れ替え可能である。
【0040】
【数4】
【0041】また、4-2Compactor3を、図3に示すよう
に、nビット接続する構成も可能である。かかる場合、
下位側の桁あげ信号Coは、隣あう上位側の桁あげ入力
Ciに接続される。尚、最下位ビットの桁あげ入力信号
Ciは外から入力することが可能であるが、ここでは、
特に記述しない限りは最下位ビットの桁あげ入力信号C
iに対しては0を入力することとする。
【0042】尚、2出力の加算機能を実現する回路は、
4-2Compactorには限定されない。かかる加算回路は、中
間結果保持レジスタ4、5から入力される2信号をそれ
ぞれ加算し、2出力とすることができればよい。従っ
て、4-2Compactorの代わりに、Carry Save Adder2段を
用いても、同様の動作をさせることが可能である。ま
た、入力データ前に論理回路が付加されている場合に
は、適宜、それらの論理と組合せて演算を行う構成とす
ることも可能である。
【0043】第1の実施形態に係る演算回路は、上記の
ように構成されており、以下、その動作につき説明す
る。
【0044】(サイクルタイム1)セレクタ1が、初期
値を選択し、その結果をレジスタ2に書き込む。すなわ
ち、レジスタ2に初期値のロードを行う。以下、初期値
をPとして、以下の説明を行う。
【0045】(サイクルタイム2)セレクタ9が、レジ
スタ2に保存されているデータを選択する。また、セレ
クタ10が、all zeroデータを選択する。4-2Compactor
3が、入力データA,入力データB,及び、セレクタ
9,セレクタ10の出力の加算を行い、2つの出力デー
タは中間結果保持レジスタ4,5にそれぞれ保存され
る。
【0046】(サイクルタイム3)CPA6が、レジス
タ4、レジスタ5に保存されたデータの加算を行う。セ
レクタ1が、CPA6の加算結果を選択し、加算結果デ
ータが出力レジスタ2に書き込まれる。ここで、実行さ
れる演算は次式で表される。
【0047】(P+A+B)また、セレクタ9が、中間
結果保持レジスタ4の出力を選択し、4-2Compactor3に
対して出力する。同時に、セレクタ10が、中間結果保
持レジスタ5の出力を選択し、4-2Compactor3に対して
出力する。
【0048】これと同一サイクルで、次の加算命令の入
力データA’,B’も4-2Compactor3に入力され、加算
される。加算結果は、レジスタ4,5にそれぞれ保存さ
れる。ここで、レジスタ4,5には、累積加算された結
果がキャリーセーブ形式で保持されていることになる。
ここでの加算結果は、次式で表される。
【0049】(P+(A+B)+(A’+B’)) 次のサイクル以降では、サイクルタイム3の動作のみ
を、累積演算に必要な回数繰り返すことにより、次々
に、2つの入力データの加算結果が累積されていくこと
となる。
【0050】本実施形態による効果を、図4を用いて説
明する。即ち、上述した動作を、時系列に従って説明す
ると、図4に示すようになる。第1の実施形態によれ
ば、命令1におけるCPA段階の処理終了を待たずに中
間結果保持レジスタ4、5の中間データを用いて、次の
命令2の、従来技術におけるCSA段階の処理(本実施
形態においては4-2Compactor段階の処理)が行える。こ
のため、前回の命令の第2段階と今回の命令の第1段階
との処理が並行的に行え、並行処理効率が倍になってい
る。このように、従来技術におけるパイプライン処理の
冗長性を排除して、所望の結果を得るために要する処理
時間が大幅に短縮され、演算性能の向上を図ることが可
能となった。
【0051】第2の実施形態 以下、本発明の第2の実施形態について、第1の実施形
態と異なる点のみ、図面を参照しながら詳細に説明す
る。本実施形態は、累積減算において、前回の演算の中
間データの利用に基づく演算実行の機能を実現するもの
である。
【0052】まず、第2の実施形態の前提とする演算式
につき、説明する。
【0053】第2の実施形態では、 初期値−(入力A0+入力B0)−(入力A1+入力B1
… −(入力An+入力Bn) という減算を繰り返し行うものである。今、初期値を
P、入力を命令の順にそれぞれ(A0,B0)(A1
1)…(An+Bn)とすると、
【数5】 となる。従って、(1)により、初期値の反転に対して
入力A0,B0を加算し、その加算結果に、さらに、入力
1,B1を加算、さらにその結果に加算と順次データを
加算していけばよい。そして、正しい出力結果を得るた
めには、その加算結果(SumとCarry)をCPAで加算
し、結果の反転をとればよいこととなる。
【0054】図5は、第2の実施形態の回路ブロック図
を示すものである。上述した初期値の反転、及びCPA
の加算結果の反転用のインバータ等の反転回路7、8が
それぞれ付加された構成となっている。即ち、第2の実
施形態は、レジスタにロードするデータ(初期値)又は
加算器からの出力の反転のいずれかを選択するセレクタ
1、セレクタ1の出力を保持するレジスタ2、レジスタ
2の出力の反転をとって出力する反転回路7、反転回路
7の出力と中間結果保持レジスタ4の出力のいずれかを
選択し出力するセレクタ9、後述のレジスタ5の出力と
0データ(allzero)のいずれかを選択するセレクタ1
0、入力データA,B、セレクタ9の出力、セレクタ1
0の出力の4つを入力とする4入力2出力加算回路(4-
2Compactor)3、4-2Compactor3の2出力をそれぞれ保
存する中間結果保持レジスタ4,5、中間結果保持レジ
スタ4、5の出力を入力とする桁上げ伝播加算器(CP
A)6、CPA6の出力の反転を出力する反転回路8に
より構成される。
【0055】尚、2出力の加算機能を実現する回路が、
4-2Compactorには限定されない点は、第1の実施形態と
同様である。
【0056】第2の実施形態に係る演算回路は、上記の
ように構成されており、以下、その動作につき説明す
る。
【0057】(サイクルタイム1)セレクタ1により、
初期値を選択し、その結果をレジスタ2に書き込むこと
でレジスタ2に初期値Pのロードを行う。
【0058】(サイクルタイム2)反転回路7が、レジ
スタ2に保存されているデータの反転をとって出力し、
セレクタ9がこの反転結果を選択する。また、セレクタ
10が、all zeroデータを選択する。4-2Compactor3
が、次式で示されるように、入力A0,入力B0、及び、
セレクタ9,セレクタ10の出力の加算を行い、2つの
出力データは中間結果レジスタ4,5にそれぞれ保存さ
れる。
【数6】
【0059】(サイクルタイム3)CPA6が、レジス
タ4、レジスタ5に保存されたデータの加算を行う。反
転回路8が、加算結果の反転をとってセレクタ1に出力
し、セレクタ1は、CPA6の加算結果の反転を選択し
て、加算結果の反転がレジスタ2に書き込まれる。次式
で示される演算結果がこの時点での求める結果である。
【数7】 それと同時に、セレクタ9がレジスタ4の出力を選択
し、4-2Compactor3に対する入力とする。セレクタ10
がレジスタ5の出力を選択し、やはり、4-2Compactor3
に対する入力とする。
【0060】また、これと同一サイクルで、次の命令の
入力データA1,B1も4-2Compactor3に入力され、次式
に示されるように、セレクタ9,セレクタ10の出力A
0,B0とともに加算される。
【数8】 レジスタ4,5は、この加算結果をそれぞれ保存する。
【0061】次のサイクル以降では、サイクルタイム3
の動作のみを、累積演算に必要な回数繰り返すことによ
り、次々に、2つの入力データの加算結果を初期値から
減算していくこととなる。そして、最終的に、出力レジ
スタ2から所望の結果が得られるのである。
【0062】第2の実施形態によれば、以下のような効
果を奏する。即ち、累積減算のように、入力されるデー
タの加算結果を初期値から次々に減算していく場合に
も、前回の演算結果データ書き込みを待たずに、中間結
果保持レジスタ4、5の中間データを次の命令の入力デ
ータとすることができる。このため、第1の実施形態と
同様、所望の演算結果を得るために要する処理時間が大
幅に短縮され、演算性能の向上を図ることが可能となっ
た。
【0063】第3の実施形態 以下、本発明の第3の実施形態について、第1、第2の
実施形態と異なる点のみ、図面を参照しながら詳細に説
明する。
【0064】第3の実施形態は、積和演算回路におい
て、本発明の前回の演算の中間データの利用に基づく演
算実行の機能を実現するものである。
【0065】即ち、第3の実施形態では、次の演算を実
行するものである。
【0066】初期値/乗算結果+(被乗数0×乗数0)+
(被乗数1×乗数1)+… 尚、最初に与えられるのは、予め設定されている初期
値、又は乗算回路からの出力結果データのいずれでもよ
い。
【0067】図6は、第3の実施形態の回路ブロック図
を示すものである。第3の実施形態は、レジスタにロー
ドするデータ(初期値)又は加算器からの出力のいずれ
かを選択するセレクタ1、セレクタ1の出力を保持する
レジスタ2、レジスタ2の出力、中間結果保持レジスタ
4の出力、又は0データ(all zero)のいずれかを選択
するセレクタ9、レジスタ5の出力又は0データ(all
zero)のいずれかを選択するセレクタ10、被乗数と乗
数入力を受けてキャリーセーブ形式の2出力として演算
結果を出力する乗算回路14,乗算回路14からの出力
データをSm,Cmとしてセレクタ9の出力、セレクタ
10の出力、乗算回路の出力Sm,Cmの4つを入力と
する4入力2出力加算回路(4-2Compactor)3、4-2Com
pactor3の2出力をそれぞれ保存する中間結果保持レジ
スタ4,5、中間結果保持レジスタ4、5の出力を入力
とする桁上げ伝播加算器(CPA)6により構成され
る。
【0068】尚、2出力の加算機能を実現する回路は、
第1の実施形態と同様、4-2Compactorには限定されず、
CSAを2段構成とすることや、乗算回路中の加算回路
との適宜の組み合わせで適当な入力を得ることにより、
加算を代用することができる。
【0069】第3の実施形態に係る演算回路は、上記の
ように構成されており、以下、その動作につき説明す
る。
【0070】(サイクルタイム1)セレクタ1が、初期
値を選択し、その結果をレジスタ2に書き込むことによ
り、初期値Pのロードを行う。
【0071】(サイクルタイム2)乗算回路14が、被
乗数×乗数の演算を行い、乗算結果としてCm(図6の
S3),Sm(S4)を出力し、かかるS3、S4がそ
れぞれ、4-2Compactor3に入力される。セレクタ9が、
出力レジスタ2に保存されているデータを選択する。
尚、ここで、Cmとは乗算回路からの出力Carryデ
ータを、Smとは、乗算回路からの出力Sumデータを
示す。
【0072】また、セレクタ10が、all zeroデータを
選択する。4-2Compactor3が、Cm(S3),Sm(S
4)及び、セレクタ9,セレクタ10の出力の加算を行
い、2つの出力データは中間結果保持レジスタ4,5に
それぞれ保存される。この段階では、次の演算が実行さ
れたこととなる。(P+Cm+Sm)
【0073】(サイクルタイム3)CPA6が、レジス
タ4、レジスタ5に保存されたデータの加算を行う。セ
レクタ1が、CPA6の加算結果を選択し、結果データ
がレジスタ2に書き込まれる。
【0074】また、セレクタ9が、中間結果保持レジス
タ4の出力を選択し、4-2Compactor3に対して出力す
る。同時に、セレクタ10が、中間結果保持レジスタ5
の出力を選択し、4-2Compactor3に対して出力する。
【0075】これと同一サイクル内で、乗算回路14が
次の乗算を行い、出力Cm’(S3),Sm’(S4)
を得る。Cm’,Sm’が4-2Compactor3に入力され、
加算される。加算結果は、中間結果保持レジスタ4,5
にそれぞれ保存される。これで、レジスタ4,5には、
次に示す累積加算された結果がキャリーセーブ形式で保
持されていることになる。
【0076】(P+Cm+Sm+Cm’+Sm’) 次のサイクル以降では、サイクルタイム3の動作のみ
を、累積演算に必要な回数繰り返すことにより、次々
に、乗算結果が累積演算されていくこととなる。そし
て、最終的に、出力レジスタ2から所望の結果が得られ
るのである。
【0077】また、上述の動作説明においては、初期値
をロードすることによって処理を開始したが、最初に、
乗算回路14により乗算命令を実行し、この乗算結果に
基づき、次に積和演算命令を実行することも可能であ
る。
【0078】この場合には、サイクルタイム1において
乗算を行い、セレクタ9、10がそれぞれ0データ(al
l zero)を選択する。そして、4-2Compactor3の出力
が、中間結果保持レジスタ4,5に保持される。その
後、サイクルタイム3の処理を繰り返すこととなる。
【0079】尚、この演算回路を用いて、単独の乗算演
算を行うことも可能である。即ち、積和演算ではなく、
乗算演算を行いたい場合には、出力レジスタ2、中間結
果レジスタ4、5のどちらからも値をとらず、セレクタ
9および、セレクタ10の双方ともが、0データ(all
zero)を選択すればよい。従って、かかる乗算演算を行
わない場合にはセレクタ9の0入力は不要となる。この
ように、積和演算と乗算演算の機能を1回路内に搭載す
ることにより、回路規模の増大を抑えることができる。
【0080】第3の実施形態によれば、第1、第2の実
施形態でもたらされる効果が積和演算において得られる
のに加え、乗算とデータ依存のある積和演算とが同一の
サイクルで実行可能となる。このため、パイプライン制
御をより容易に行なうことが可能となった。
【0081】第4の実施形態 以下、本発明の第4の実施形態について、第3の実施形
態と異なる点のみ、図面を参照しながら詳細に説明す
る。
【0082】第4の実施形態は、積差演算回路におい
て、本発明の前回の演算の中間データの利用に基づく演
算実行の機能を実現するものである。尚、ここで積差演
算とは、積を減算データとして用いる演算をいう。
【0083】まず、第4の実施形態の前提とする演算式
につき、説明する。第4の実施形態では、次の演算を実
行するものである。
【0084】初期値/(被乗数0×乗数0)−(被乗数1
×乗数1)−(被乗数2×乗数2)…−(被乗数n×乗
n) 尚、最初に与えられるのは、予め設定されている初期
値、又は乗算回路からの出力結果データのいずれでもよ
い。
【0085】ここで、初期値から減算していく場合に
は、第2の実施形態で示した式(1)と同じとなる。
【0086】また、乗算結果から減算している場合に
は、初回の乗算結果がキャリーセーブ形式で保存されて
いるので、次式で示される演算式を実行することとな
る。
【0087】最初の乗算結果をSm0(Sum)、Cm0(Ca
rry)とし、乗算回路からの出力を順に、(Sm1,C
1)(Sm2,Cm2)…(Smn,Cmn)とすると、
【数9】 となる。したがって、式(2)より、最初の乗算結果の
出力Sm0,Cm0のそれぞれの反転と、入力Sm1,C
1を加算し、その加算結果に、さらに、入力Sm2,C
2を加算、さらにその結果に加算と順次データを加算
していけばよい。そして、(2)より、正しい出力結果
を得るためには、その加算結果(SumとCarry)に対し
て、さらに1を加算する必要がある。この場合には、加
算を行うCPAの最下位ビットのキャリーインを用い
て、1を入力してやればよい。その後、CPAの加算結
果の反転をとれば(2)の式を満たすこととなる。
【0088】図7は、第4の実施形態の回路ブロック図
を示すものである。第4の実施形態は、セレクタ1、結
果出力レジスタ2、反転回路7、反転回路11、反転回
路12、セレクタ9、セレクタ10、乗算回路14、4
入力2出力加算回路(4-2Compactor)3、中間結果保持
レジスタ4、5、桁上げ伝播加算器(CPA)6、セレ
クタ13、反転回路8により構成される。
【0089】セレクタ1は、レジスタにロードするデー
タ(初期値)、CPA6からの出力、又はCPA6から
の出力の反転のいずれかを選択出力する。
【0090】結果出力レジスタは、セレクタ1の出力結
果を保持する。
【0091】反転回路7は、結果出力レジスタ2の出力
の反転をとって出力する。反転回路11は、中間結果保
持レジスタ4の出力の反転をとって出力する。
【0092】セレクタ9は、中間結果保持レジスタ4の
出力、反転回路7の出力、反転回路11の出力、又は0
データ(all zero)のいずれかを選択出力する。
【0093】反転回路12は、中間結果保持レジスタ5
の出力の反転をとって出力する。
【0094】セレクタ10は、中間結果保持レジスタ5
の出力、反転回路12の出力、又は0データ(all zer
o)のいずれかを選択出力する。
【0095】乗算回路14は、被乗数入力と乗数入力と
を受けて、キャリーセーブ形式の2出力として演算結果
を出力する。
【0096】4入力2出力加算回路(4-2Compactor)3
は、乗算回路14からの出力データをS3(Sm),S
4(Cm)、セレクタ9の出力、セレクタ10の出力の
4つを入力として、S1、S2の2信号を出力する。
【0097】中間結果保持レジスタ4,5は、4-2Compa
ctor3の2出力をそれぞれ保存する。
【0098】桁上げ伝播加算器(CPA)6は、中間結
果保持レジスタ4、5の出力を入力として、加算を行
う。
【0099】セレクタ13は、CPA6のキャリーイン
に接続し、0又は1を選択する。
【0100】反転回路8は、CPA6の出力の反転をと
って出力する。
【0101】尚、2出力の加算機能を実現する回路は、
第1の実施形態等と同様、4-2Compactorには限定され
ず、CSAを2段構成とすることや、乗算回路中の加算
回路の適宜の組み合わせで適当な入力を得ることによ
り、加算を代用することができる。
【0102】第4の実施形態に係る演算回路は、上記の
ように構成されており、以下、その動作につき、初期値
から減算を行う場合(1)と、乗算結果から減算を行う
場合(2)とに分けて説明する。
【0103】(1)初期値から減算する場合
【0104】(サイクルタイム1)セレクタ1が、初期
値を選択し、その結果がレジスタ2に書き込まれること
で、初期値Pのロードを行う。
【0105】(サイクルタイム2)乗算回路14が、被
乗数×乗数の演算を行い、結果Cm1,Sm1を出力し
て、4-2Compactor3に対する入力とする。また、セレク
タ9が出力保持レジスタ4からの反転データを選択し、
セレクタ10が、all zeroデータを選択する。4-2Compa
ctor3が、Cm1,Sm1、及びセレクタ9,セレクタ1
0の出力の加算を行う。4-2Compactor3の2つの出力
は、中間結果保持レジスタ4,5にそれぞれ保存され
る。この時点では、次式の演算が実行されたこととな
る。
【数10】
【0106】(サイクルタイム3)CPA6が、中間結
果保持レジスタ4、中間結果保持レジスタ5に保存され
たデータの加算を行う。この際、セレクタ13で0が選
択されて、キャリーインとして、入力される。CPA6
での加算結果の反転が反転回路8により出力され、セレ
クタ1が、かかるCPA6の加算結果の反転を選択す
る。そして、次式で示す結果データがレジスタ2に書き
込まれる。
【0107】
【数11】 これと同時に、セレクタ9が中間結果保持レジスタ4の
出力を選択し、4-2Compactor3に対する入力とする。ま
た、セレクタ10が中間結果保持レジスタ5の出力を選
択し、4-2Compactor3に対する入力とする。
【0108】さらに同一サイクル内に、乗算回路14
が、同時に次の乗算命令を実行して、出力Cm2,Sm2
を得、これらを4-2Compactor3に対する入力とする。4-
2Compactor3での次式で示される加算結果は、中間結果
保持レジスタ4,5にそれぞれ保存される。
【数12】
【0109】次のサイクル以降では、サイクルタイム3
の動作のみを、積差演算に必要な回数繰り返すことによ
り、次々に、初期値から乗算結果が減算されていくこと
となる。ここで、出力レジスタ2からは、常に、演算命
令の結果が得られることとなる。
【0110】尚、第3の実施形態と同様に、第4の実施
形態に係る演算回路においても、単独の乗算演算も実行
可能である。この場合には、出力レジスタ2、中間結果
レジスタ4、5のどちらからも値をとらず、セレクタ9
および、セレクタ10の双方ともが、0データ(all ze
ro)を選択し、また、セレクタ13が、CPA6のキャ
リーインの入力として0を選択し、さらにセレクタ1に
よって、CPA6の出力をそのまま出力レジスタ2に保
持するようにすればよい。このように、積差演算と乗算
演算の機能を1回路内に搭載することにより、回路規模
の増大を抑えることができる。
【0111】尚、かかる乗算演算を行わない場合にはセ
レクタ9からの0入力は不要となる。また、セレクタ1
3からのキャリーイン入力も不要となり、CPA6から
のデータの反転を伴わない直接のセレクタ1への入力も
不要となる。
【0112】また、(2)で説明するような乗算結果か
らの積差演算を行わず、(1)のように、初期値からの
積差演算しか行わない場合には、セレクタ9に対する反
転回路11を用いた反転入力、セレクタ10に対する反
転回路12を用いた反転入力、及びセレクタ13からの
キャリーイン入力は不要となる。
【0113】(2)乗算結果から減算する場合 次に、最初に式(2)のように乗算命令を実行し、その
後、その乗算結果から、次々に乗算結果を減算していく
場合について動作を説明する。
【0114】(サイクルタイム1)乗算回路14が、被
乗数×乗数の演算を行い、結果Cm0、Sm0 を出力
し、4-2Compactor3に対する入力とする。セレクタ9お
よび、セレクタ10が、0データ(all zero)を選択
し、その結果を4-2Compactor3に対する入力とする。4-
2Compactor3の2つの出力(S1、S2)は、中間結果
保持レジスタ4,5にそれぞれ保存される。この時点で
は、次式の演算が実行されたこととなる。
【0115】(Sm0+Cm0) (サイクルタイム2)CPA6が、中間結果保持レジス
タ4、5に保存されたデータの加算を行う。この際、セ
レクタ13が、キャリーインとして0を選択する。CP
A6での加算結果は、そのままセレクタ1によって選択
され、出力レジスタ2に書き込まれる。即ち、乗算結果
(Cm0+Sm0)が出力レジスタ2に格納される。
【0116】同時に、乗算回路14が、次の乗算命令に
対応して、被乗数×乗数の演算を行い、結果Cm1,S
1を出力して、4-2Compactor3に対する入力とする。
【0117】反転回路11が、中間結果保持レジスタ4
に保存されているデータの反転をとって出力し、セレク
タ9が反転結果を選択する。また、反転回路12が、中
間結果保持レジスタ5に保存されているデータの反転を
とって出力し、セレクタ10が、この反転結果を選択す
る。4-2Compactor3が、次式で示されるように、C
1,Sm1および、セレクタ9、セレクタ10の出力の
加算を行う。4-2Compactor3の2つの出力は中間結果保
持レジスタ4,5に保存される。
【数13】
【0118】(サイクルタイム3)CPA6が、中間結
果保持レジスタ4、中間結果保持レジスタ5に保存され
たデータの加算を行う。この際、セレクタ13が、キャ
リーインとして1を選択して、CPA6に対する入力と
する。ここで、次式で示されるCPA6での加算結果の
反転が、反転回路8により出力され、セレクタ1によ
り、このCPA6の加算結果の反転が選択され、レジス
タ2に書き込まれる。
【数14】
【0119】これと同時に、セレクタ9が中間結果保持
レジスタ4の出力を選択し、4-2Compactor3に対する入
力とする。また、セレクタ10が、中間結果保持レジス
タ5の出力を選択し、4-2Compactor3に対する入力とす
る。
【0120】さらに、同一サイクル内で、同時に乗算回
路14が、次回の乗算命令の演算を行い、出力Cm2
Sm2を得て、これらを4-2Compactor3に対する入力と
する。4-2Compactor3での次式で示される加算結果は、
中間結果保持レジスタ4,5によってそれぞれ保存され
る。
【数15】
【0121】次のサイクル以降では、サイクルタイム3
の動作のみを、必要な回数繰り返すことにより、次々
に、乗算結果を初回の乗算結果から減算していくことと
なる。また、出力レジスタからは常に、演算命令の結果
を得ることができる。
【0122】第4の実施形態によれば、第1、第2の実
施形態でもたらされる効果が積差演算において得られる
のに加え、乗算とデータ依存のある積差演算とが同一の
サイクルで実行可能となる。このため、パイプライン制
御をより容易に行なうことが可能となった。
【0123】さらに、第4の実施形態に係る演算回路
は、第1から第3の実施形態のもたらす機能をすべて包
含した構成となっている。即ち、積差演算のみならず、
累積加算、累積減算、積和演算の機能のすべてを1つの
回路に搭載することとなる。このため、全体の回路規模
を大幅に削減し、演算性能を向上することができる。
【0124】また、第4の実施形態が用いる乗算結果か
ら減算を行うための演算式(2)によって、かかる積差
演算の著しい効率化が図られている。即ち、従来におい
ては、毎回の演算で最後に補数をとって、その値を用い
て次の演算を行っていたため演算自体に冗長性を有して
いた。しかしながら、第4の実施形態においては、毎回
の演算で補数をとってこれによる演算を行う必要はな
く、最終結果データを得る際に、結果に対して+1を加
算して反転をとれば足りる。このため、演算性能が大幅
に向上している。
【0125】尚、第4の実施形態において、(1)に示
したような初期値からの積差演算を行わない場合には、
出力レジスタ2からセレクタ9への入力は不要となる。
【0126】
【発明の効果】以上説明したように、本発明によれば、
以下に記載されたような効果を奏する。即ち、本発明に
おいては、連続した命令を実行する際に、演算の途中結
果データを用いることで、演算結果のレジスタへの書き
込みを待たずに次の命令を実行する機能を提供するの
で、パイプライン制御の下、前回の演算の結果を用いる
連続する複数命令を並行処理することが可能となる。従
って、連続した命令実行の際に演算性能を向上を図るこ
とが可能となるという効果が得られる。
【0127】また、対象となる演算は、累積加算、累積
減算の他、積和演算、積差演算など、前回の命令の結果
を参照することにより演算を行う演算回路であれば、幅
広く適用することができる。
【0128】特に、画像処理を中心とした、マルチメデ
ィア関連分野においては、上述した積和演算、積差演算
が多用されるため、かかる応用分野において本発明のも
たらす有用性は非常に高いものといえる。
【0129】また、乗算と、データ依存のある積和演算
や積差演算とを、同一のサイクルで実行できるので、パ
イプライン制御がより容易になるという効果が得られ
る。
【0130】さらに、積和演算回路及び積差演算回路に
おいて、乗算も併せて実行できるので、両者を共に実行
する必要がある場合にも、回路規模を増大することな
く、汎用性のある積和演算回路及び積差演算回路を提供
することができるという効果が得られる。
【0131】また、積差演算において、逐一前回の演算
結果の補数を用いることなく毎回の演算を行うので、積
差演算の効率化を図ることが可能になるという効果が得
られる。
【0132】このように、本発明を用いれば、連続する
演算命令を実行する際に、パイプライン制御の提供する
並行処理環境を十分に活用できる演算回路を提供するこ
ととなる。従って、回路規模の増大は抑制しつつ、演算
性能の向上を図り、製品コストパフォーマンスの向上を
もたらすことができるのであり、産業上その効果のきわ
めて大きい発明である。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る累積加算回路を
示す回路ブロック図である。
【図2】4-2Compactorの真理値表を示す図である。
【図3】4-2Compactorをnビット接続した場合の回路図
である。
【図4】本発明において、連続した演算命令をパイプラ
イン制御下で実行する場合のタイミングチャートであ
る。
【図5】本発明の第2の実施形態に係る累積演算回路を
示す回路ブロック図である。
【図6】本発明の第3の実施形態に係る積和演算回路を
示す回路ブロック図である。
【図7】本発明の第4の実施形態に係る積差演算回路を
示す回路ブロック図である。
【図8】従来技術における累積加算回路(2入力デー
タ)を示す回路ブロック図である。
【図9】従来技術における累積減算回路(2入力デー
タ)を示す回路ブロック図である。
【図10】従来技術において、連続した演算命令をパイ
プライン制御下で実行する場合のタイミングチャートで
ある。
【符号の説明】
1、9、10、13、31 セレクタ 2、32 結果出力レジスタ 3 4-2Compactor 4、5、34、35 中間結果保持レジスタ 6、36 キャリープロパゲーションアダー 7,8,11,12、37、38 反転回路 14 乗算回路 33 キャリーセーブアダー S1 Carryデータ S2 Sumデータ S3 Cmデータ S4 Smデータ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数の入力データに基づく加算を行い、
    2つの出力データを出力する第1の加算回路と、 前記2つの出力データのそれぞれに対応して設けられ、
    該2つの出力データを第1と第2の中間データとしてそ
    れぞれ保持する中間データ保持手段と、 該中間データ保持手段に保持された前記第1及び第2の
    中間データに従った加算を行い、1つの出力データを出
    力する第2の加算回路と、 前記第2の加算回路の出力データに基づくデータを保持
    する結果データ保持手段とを少なくとも具備し、 前回の演算の結果を用いて連続して演算を行う場合に
    は、前記第1の加算回路は、初回の演算の際には、予め
    設定された初期値に基づく初期データおよび0データを
    それぞれ前記入力データの一部として加算を行い、 2回目以降の演算の際には、前記中間データ保持手段に
    それぞれ保持される前記第1および第2の中間データを
    それぞれ前記入力データの一部として次の加算を行うこ
    とを特徴とする演算回路。
  2. 【請求項2】 被乗数と乗数の入力に従った乗算を行う
    乗算回路と、 前記乗算回路からの2つの入力データを含む複数の入力
    データに基づく加算を行い、2つの出力データを出力す
    る第1の加算回路と、 前記2つの出力データのそれぞれに対応して設けられ、
    該2つの出力データを第1と第2の中間データとしてそ
    れぞれ保持する中間データ保持手段と、 該中間データ保持手段に保持された前記第1及び第2の
    中間データに基づき加算を行い、1つの結果データを出
    力する第2の加算回路と、 前記第2の加算回路の出力データに基づくデータを保持
    する結果データ保持手段とを少なくとも具備し、 前回の演算の結果を用いて連続して演算を行う場合に
    は、前記第1の加算回路は、初回の演算の際には、予め
    設定された初期値に基づく初期データまたは0データを
    前記入力データの一部として、前記乗算回路からの入力
    データとの加算を行い、 2回目以降の演算の際には、前記中間データ保持手段に
    それぞれ保持される第1および第2の中間データに基づ
    くデータをそれぞれ前記入力データの一部として、前記
    乗算回路からの次の入力データとの加算を行うことを特
    徴とする演算回路。
  3. 【請求項3】 複数の入力データに基づく加算を行い、
    2つの出力データを出力する第1の加算回路と、 前記2つの出力データのそれぞれに対応して設けられ、
    該2つの出力データを第1と第2の中間データとしてそ
    れぞれ保持する中間データ保持手段と、 予め設定された初期値および前記第1の中間データを含
    むデータのいずれかを選択し、前記第1の加算回路への
    1つの入力データとする第1の選択手段と、 0データおよび前記第2の中間データを含むデータのい
    ずれかを選択し、前記第1の加算回路への1つの入力デ
    ータとする第2の選択手段と、 前記中間データ保持手段に保持された前記第1及び第2
    の中間データに従って加算を行い、1つの出力データを
    出力する第2の加算回路と、 前記第2の加算回路の出力データを結果データとして保
    持する結果データ保持手段とを少なくとも具備し、 連続して前記加算を行う場合には、初回の演算の際に
    は、前記第1の選択手段は前記初期値を、前記第2の選
    択手段は0データをそれぞれ選択し、 2回目以降の演算の際には、前記第1の選択手段は前記
    第1の中間データを、前記第2の選択手段は第2の中間
    データをそれぞれ選択することを特徴とする演算回路。
  4. 【請求項4】 減算を行う演算回路であって、 複数の入力データに基づく加算を行い、2つの出力デー
    タを出力する第1の加算回路と、 前記2つの出力データのそれぞれに対応して設けられ、
    該2つの出力データを第1と第2の中間データとして保
    持する中間データ保持手段と、 予め設定された初期値の反転データおよび前記第1の中
    間データを含むデータのいずれかを選択し、前記第1の
    加算回路への1つの入力データとする第1の選択手段
    と、 0データおよび前記第2の中間データを含むデータのい
    ずれかを選択し、前記第1の加算回路への1つの入力デ
    ータとする第2の選択手段と、 前記中間データ保持手段に保持された前記第1および第
    2の中間データに従った加算を行い、1つの出力データ
    を出力する第2の加算回路と、 前記第2の加算回路の出力データの反転データを結果デ
    ータとして保持する結果データ保持手段とを少なくとも
    具備し、 連続して前記減算を行う場合には、初回の演算の際に
    は、前記第1の選択手段は前記初期値の反転データを、
    前記第2の選択手段は0データをそれぞれ選択し、 2回目以降の演算の際には、前記第1の選択手段は前記
    第1の中間データを、前記第2の選択手段は前記第2の
    中間データをそれぞれ選択することを特徴とする演算回
    路。
  5. 【請求項5】 積和演算を行う演算回路であって、 被乗数および乗数の入力に従った乗算を行う乗算回路
    と、 前記乗算回路からの2つの入力データを含む複数の入力
    データに基づく加算を行い、2つの出力データを出力す
    る第1の加算回路と、 前記2つの出力データのそれぞれに対応して設けられ、
    該2つの出力データを第1と第2の中間データとして保
    持する中間データ保持手段と、 予め設定された初期値および前記第1の中間データを含
    むデータのいずれかを選択し、前記第1の加算回路への
    1つの入力データとする第1の選択手段と、 0データおよび前記第2の中間データを含むデータのい
    ずれかを選択し、前記第1の加算回路への1つの入力デ
    ータとする第2の選択手段と、 前記中間データ保持手段に保持された前記第1及び第2
    の中間データに基づき、桁上げ加算を行い、1つの出力
    データを出力する第2の加算回路と、 前記第2の加算回路の出力データを結果データとして保
    持する結果データ保持手段とを少なくとも具備し、 連続して前記積和演算を行う場合には、初回の演算の際
    には、前記第1の選択手段は前記初期値を、前記第2の
    選択手段は0データをそれぞれ選択し、 2回目以降の演算の際には、前記第1の選択手段は前記
    第1の中間データを、前記第2の選択手段は前記第2の
    中間データをそれぞれ選択することを特徴とする演算回
    路。
  6. 【請求項6】 被乗数および乗数の入力に従った乗算を
    行う乗算回路と、 前記乗算回路からの2つの入力データを含む複数の入力
    データに基づく加算を行い、2つの出力データを出力す
    る第1の加算回路と、 前記2つの出力データのそれぞれに対応して設けられ、
    該2つの出力データを第1と第2の中間データとしてそ
    れぞれ保持する中間データ保持手段と、 予め設定された初期値の反転データ、前記第1の中間デ
    ータ、0データ、および該第1の中間データの反転デー
    タを含むデータのいずれかを選択し、前記第1の加算回
    路への1つの入力データとする第1の選択手段と、 0データ、前記第2の中間データ、および該第2の中間
    データの反転データを含むデータのいずれかを選択し、
    前記第1の加算回路への1つの入力データとする第2の
    選択手段と、 前記中間データ保持手段に保持された前記第1及び第2
    の中間データに基づき、桁上げ加算を行い、1つの出力
    データを出力する第2の加算回路と、 前記第2の加算回路の出力データの反転データを保持す
    る結果データ保持手段とを少なくとも具備し、 乗算の積を減数として被減数からの減算を連続して行う
    場合であって、さらに前記初期値を初回の減算の被減数
    とする場合には、初回の演算の際には、前記第1の選択
    手段は前記初期値の反転データを、前記第2の選択手段
    は0データをそれぞれ選択し、 2回目以降の演算の際には、前記第1の選択手段は前記
    第1の中間データを、前記第2の選択手段は前記第2の
    中間データをそれぞれ選択し、 前記乗算回路からの入力データを初回の減算の被減数と
    する場合には、初回の演算の際には、前記第1および第
    2の選択手段は0データをそれぞれ選択し、 2回目の演算の際には、前記第1の選択手段は前記第1
    の中間データの反転データを、前記第2の選択手段は前
    記第2の中間データの反転データをそれぞれ選択すると
    ともに、前記第2の加算回路は、さらに、前記桁上げ加
    算の際に、桁上げ信号(キャリーイン)を用いて1を加
    算し、 3回目以降の演算の際には、前記第1の選択手段は前記
    第1の中間データを、前記第2の選択手段は前記第2の
    中間データをそれぞれ選択するとともに、前記第2の加
    算回路は、さらに、前記桁上げ加算の際に前記桁上げ信
    号を用いて1を加算することを特徴とする演算回路。
  7. 【請求項7】 被乗数および乗数の入力に従った乗算を
    行う乗算回路と、 前記乗算回路からの2つの入力データを含む複数の入力
    データに基づく加算を行い、2つの出力データを出力す
    る第1の加算回路と、 前記2つの出力データのそれぞれに対応して設けられ、
    該2つの出力データを第1と第2の中間データとしてそ
    れぞれ保持する中間データ保持手段と、 0データ、前記第1の中間データ、および該第1の中間
    データの反転データを含むデータのいずれかを選択し、
    前記第1の加算回路への1つの入力データとする第1の
    選択手段と、 0データ、前記第2の中間データ、および該第2の中間
    データの反転データを含むデータのいずれかを選択し、
    前記第1の加算回路への1つの入力データとする第2の
    選択手段と、 前記中間データ保持手段に保持された前記第1及び第2
    の中間データに基づき、桁上げ加算を行い、1つの出力
    データを出力する第2の加算回路と、 前記第2の加算回路の出力データの反転データを保持す
    る結果データ保持手段とを少なくとも具備し、 乗算の積を減数として被減数からの減算を連続して行う
    場合には、初回の減算の際には、前記第1および第2の
    選択手段は0データをそれぞれ選択し、 2回目の演算の際には、前記第1の選択手段は前記第1
    の中間データの反転データを、前記第2の選択手段は前
    記第2の中間データの反転データをそれぞれ選択すると
    ともに、前記第2の加算回路は、さらに、前記桁上げ加
    算の際に、桁上げ信号(キャリーイン)を用いて1を加
    算し、 3回目以降の演算の際には、前記第1の選択手段は前記
    第1の中間データを、前記第2の選択手段は前記第2の
    中間データをそれぞれ選択するとともに、前記第2の加
    算回路は、さらに、前記桁上げ加算の際に前記桁上げ信
    号を用いて1を加算することを特徴とする演算回路。
  8. 【請求項8】 外部から入力される乗算結果データを含
    む複数の入力データに従った加算を行い、2つの出力デ
    ータを出力する第1の加算回路と、 前記2つの出力データのそれぞれに対応して設けられ、
    該2つの出力データを第1と第2の中間データとしてそ
    れぞれ保持する中間データ保持手段と、 予め設定された初期値の反転データ、前記第1の中間デ
    ータ、該第1の中間データの反転データ、および0デー
    タを含むデータのいずれかを選択し、前記第1の加算回
    路への1つの入力データとする第1の選択手段と、 前記第2の中間データ、該第2の中間データの反転デー
    タ、および0データを含むデータのいずれかを選択し、
    前記第1の加算回路への1つの入力データとする第2の
    選択手段と、 前記中間データ保持手段に保持された前記第1および第
    2の中間データに基づき、桁上げ加算を行い、1つの出
    力データを出力する第2の加算回路と、 前記第2の加算回路の出力データの反転データを保持す
    る結果データ保持手段とを少なくとも具備し、 乗算の積を減数として被減数からの減算を連続して行う
    場合であって、さらに前記初期値を初回の減算の被減数
    とする場合には、初回の演算の際には、前記第1の選択
    手段は前記初期値の反転データを、前記第2の選択手段
    は0データをそれぞれ選択し、 2回目以降の演算の際には、前記第1の選択手段は前記
    第1の中間データを、前記第2の選択手段は前記第2の
    中間データをそれぞれ選択し、 乗算回路からの入力データを初回の減算の被減数とする
    場合には、初回の演算の際には、前記第1および第2の
    選択手段は0データをそれぞれ選択し、 2回目の演算の際には、前記第1の選択手段は前記第1
    の中間データの反転データを、前記第2の選択手段は前
    記第2の中間データの反転データをそれぞれ選択すると
    ともに、前記第2の加算回路は、さらに、前記桁上げ加
    算の際に、桁上げ信号(キャリーイン)を用いて1を加
    算し、 3回目以降の演算の際には、前記第1の選択手段は前記
    第1の中間データを、前記第2の選択手段は前記第2の
    中間データをそれぞれ選択するとともに、前記第2の加
    算回路は、さらに、前記桁上げ加算の際に前記桁上げ信
    号を用いて1を加算することを特徴とする演算回路。
  9. 【請求項9】 上記演算回路はさらに、前記第2の加算
    回路の出力データおよび該出力データの反転データのい
    ずれかを選択して前記結果データ保持手段への1つの入
    力とする第3の選択手段を具備し、 乗算演算を行う際には、前記第1および第2の選択手段
    はともに0データを、前記第3の選択手段は前記第2の
    加算回路の出力データをそれぞれ選択することを特徴と
    する請求項5乃至8のいずれか記載の演算回路。
  10. 【請求項10】 前記第1の加算回路が出力する前記2
    つの出力データの一方はCarryデータであり、他方
    はSumデータであることを特徴とする請求項1乃至9
    のいずれか記載の演算回路。
JP12642698A 1998-05-08 1998-05-08 演算回路 Expired - Fee Related JP3529622B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP12642698A JP3529622B2 (ja) 1998-05-08 1998-05-08 演算回路
US09/307,808 US6519621B1 (en) 1998-05-08 1999-05-10 Arithmetic circuit for accumulative operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12642698A JP3529622B2 (ja) 1998-05-08 1998-05-08 演算回路

Publications (2)

Publication Number Publication Date
JPH11327875A true JPH11327875A (ja) 1999-11-30
JP3529622B2 JP3529622B2 (ja) 2004-05-24

Family

ID=14934898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12642698A Expired - Fee Related JP3529622B2 (ja) 1998-05-08 1998-05-08 演算回路

Country Status (2)

Country Link
US (1) US6519621B1 (ja)
JP (1) JP3529622B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001046795A2 (en) 1999-12-23 2001-06-28 Intel Corporation Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US6754689B2 (en) * 1999-12-23 2004-06-22 Intel Corporation Method and apparatus for performing subtraction in redundant form arithmetic
US6813628B2 (en) 1999-12-23 2004-11-02 Intel Corporation Method and apparatus for performing equality comparison in redundant form arithmetic
US6763367B2 (en) * 2000-12-11 2004-07-13 International Business Machines Corporation Pre-reduction technique within a multiplier/accumulator architecture
FR2819073B1 (fr) * 2000-12-28 2003-02-28 St Microelectronics Sa Microarchitecture d'unite arithmetique
US20030046323A1 (en) * 2001-03-31 2003-03-06 Orchard John T. Architecture and related methods for efficiently performing complex arithmetic
US7024441B2 (en) * 2001-10-03 2006-04-04 Intel Corporation Performance optimized approach for efficient numerical computations
US20060004903A1 (en) * 2004-06-30 2006-01-05 Itay Admon CSA tree constellation
US7509365B2 (en) * 2005-02-11 2009-03-24 International Business Machines Corporation Inverting data on result bus to prepare for instruction in the next cycle for high frequency execution units
KR100935858B1 (ko) * 2007-12-05 2010-01-07 한국전자통신연구원 재구성 가능한 산술연산기 및 이를 구비한 고효율 프로세서
JP5115307B2 (ja) * 2008-04-25 2013-01-09 富士通セミコンダクター株式会社 半導体集積回路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3515344A (en) * 1966-08-31 1970-06-02 Ibm Apparatus for accumulating the sum of a plurality of operands
US5220525A (en) * 1991-11-04 1993-06-15 Motorola, Inc. Recoded iterative multiplier
JP3277089B2 (ja) 1995-02-14 2002-04-22 株式会社東芝 乗算器及び積和演算装置
US5784305A (en) * 1995-05-01 1998-07-21 Nec Corporation Multiply-adder unit
US5847981A (en) 1997-09-04 1998-12-08 Motorola, Inc. Multiply and accumulate circuit

Also Published As

Publication number Publication date
JP3529622B2 (ja) 2004-05-24
US6519621B1 (en) 2003-02-11

Similar Documents

Publication Publication Date Title
JP3479438B2 (ja) 乗算回路
US6009451A (en) Method for generating barrel shifter result flags directly from input data
JPH06208456A (ja) 集積化乗算/累算ユニットを有するcpu
JP3667635B2 (ja) 演算装置
JPH0713742A (ja) 乗算装置
JP3529622B2 (ja) 演算回路
CN113032723B (zh) 一种矩阵乘法器的实现方法及矩阵乘法器装置
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
US3417236A (en) Parallel binary adder utilizing cyclic control signals
US20030182339A1 (en) Emod a fast modulus calculation for computer systems
JP3517162B2 (ja) 除算・開平演算装置
JPS6259828B2 (ja)
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
KR100900790B1 (ko) 재구성형 프로세서 연산 방법 및 장치
JP2664750B2 (ja) 演算装置及び演算処理方法
JP2777265B2 (ja) 高基数開平演算装置
JP3656699B2 (ja) 除算器
JP2675087B2 (ja) マイクロコンピュータ
KR100251547B1 (ko) 디지탈신호처리기(Digital Sgnal Processor)
US20060047736A1 (en) Arithmetic circuitry for averaging and methods thereof
JP3165687B2 (ja) ディジタル信号処理装置
JPH0427587B2 (ja)
JPH0553759A (ja) 固定小数点演算ユニツト
JPH04148231A (ja) 演算回路
JPS63231621A (ja) 演算処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040225

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080305

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120305

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees