JPH04148231A - 演算回路 - Google Patents

演算回路

Info

Publication number
JPH04148231A
JPH04148231A JP27026890A JP27026890A JPH04148231A JP H04148231 A JPH04148231 A JP H04148231A JP 27026890 A JP27026890 A JP 27026890A JP 27026890 A JP27026890 A JP 27026890A JP H04148231 A JPH04148231 A JP H04148231A
Authority
JP
Japan
Prior art keywords
output
arithmetic
register
bits
selector
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
JP27026890A
Other languages
English (en)
Inventor
Hiromi Ando
安藤 博美
Tomoyuki Kishi
智之 岸
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP27026890A priority Critical patent/JPH04148231A/ja
Publication of JPH04148231A publication Critical patent/JPH04148231A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ディジタル信号処理プロセッサ等に設けられ
る演算回路に関するものである。
(従来の技術) 従来、このような分野の技術としては、例えばANAL
OG  DEVICES社カタロク「ADSP−210
0ユーザ′−ズ・マニュアル」(1986)P、20−
27に記載されるものかあった。
以下、その構成を図を用いて説明する。
第2図は、従来の演算回路の一構成例を示すブロック図
である。
この演算回路は、入力データパス1.2と出力データバ
ス3との間に接続され、該入力データバス1,2には、
レジスタ4.5及び16ビット並列乗算器6からなる乗
算ブロックが接続されている。この乗算ブロックには、
累算用の40ビット加・減算器7が接続され、さらにそ
の出力側には、セレクタ8〜10を介して40ビットの
レジスタ回路11が接続されている。レジスタ回路11
は、下位16ビットのレジスタ11−2、上位16ビッ
トのレジスタ11−1、及び上位拡張8ビットのレジス
タ11−0より構成されている。レジスタ回#111は
、セレクタ12及び出力バッファ16を介して入力デー
タバス2に接続されると共に、出力バッファ13〜15
を介して出力データバス3に接続されている。
以上の構成において、入力データパス1.2からの16
ビットパラレルデータは、レジスタ4゜5に入り、乗算
器6の入力端子XI、YIに入力される。乗算器6で乗
算した32ビットの乗算積は、出力端子Pから出力され
、加・減算器7へ入力されてレジスタ回路11内のデー
タと加・減算される。また、16ビットを越えるデータ
の乗算が行えるように、乗算器6の入力端子XI、YI
には、2つの補数、またはバイナリ−フォーマットのデ
ータを入力できる。この事により、プログラム命令に基
づき、2つの補数同士の乗算、バイナリ−と2の補数の
ミックス乗算、及びバイナリ−同士の乗算が行える。
ここで、16ビットを越える32ビット長同士の乗算に
゛ついて考える。通常、32ビット同士の乗算を行って
も、この演算を次の演算処理に使用するため、乗算結果
の上位32ビットだけを必要とする場合が多い。そこで
、この32ビット同士の乗算で32ビットの出力を得る
ことを考える。
例えば、32ビットのデータX(Xの下位16ビットX
O,Xの上位16ビットXi)と、32ビットのデータ
Y(Yの下位16ビットYO,Yの上位16ビットYl
)により、xxy=zを行つ。
第3図は、16ビット並列乗算器を用いた32ビット乗
算方法を示す図である。この図に示すように、まず初め
にデータX、Yの下位16ビットのxoxyoの乗算を
行い、その結果をレジスタ11−0.11−1.11−
2に格納する。そして、レジスタ11−1のデータをセ
レクタ12、出力バッファ16、入力データバス2、及
びセレクタ10を経由してレジスタ11−2へ転送し、
同様にレジスタ11−0のデータをレジスタ11−1へ
転送する(16ビット右シフト操作)。
次に、データX、Yの上位ビットXi、Ylと下位ビッ
トxo、yoの乗算を交互(XIXYO。
X0XYI>に行い、この乗算結果とレジスタ回路11
内のデータを加・減算器7で累算する。その後、前記の
16ビット右シフト操作と同様に、レジスタ11−1の
データをレジスタ11−2へ、レジスタ11−〇のデー
タをレジスタ11−1へ転送する。最後に、データX、
Yの上位ビットX1、Ylの乗算を行い、この乗算結果
とレジスタ回路11内のデータとを加・減算器7で累算
し、演算が終了する。この演算結果は、出力データバス
3を介してメモリ等へ転送される。
(発明が解決しようとする課題) しかしながら、上記構成の演算回路では、16ビット並
列乗算器6を用いて32ビットの乗算を行う場合、16
ビット右シフト操作が必要で、その操作のために、レジ
スタ回B11の内容を入力データバス2を介して移動し
なければならず、それによって演算ステップ数が多くが
がり、演算速度の高速化が困難であった。
本発明は前記従来技術が持っていた課題として、演算ス
テ7プ数の増大により、演算速度の高速化が困難である
という点について解決した演算回路を提供するものであ
る。
(課題を解決するための手段) 本発明は、前記課題を解決するために、2つの固定ビッ
ト長n(但し、nは正の整数)の入力データを乗算する
n×n乗算器と、前記乗算器の出力側に設けられ20ビ
ットより長いビット長の算術演算器と、前記算術演算器
の出力側に設けられ前記算術演算器と同一ビット長のデ
ータを一時記憶するレジスタ回路を備えた演算回路にお
いて、プログラム命令に基づき前記算術演算器の出力を
nビット毎に選択しその選択結果を前記レジスタ回路の
所定の入力ビット位置へ入力するセレクタを設けている
(作用) 本発明によれば、以上のように演算回路を構成したので
、プログラム命令によってセレクタが切換えられ、算術
演算器の出力がnビット、所定方向ヘシフトされてレジ
スタ回路へ入力される。これにより、累算時における演
算ステップ数が減少する。従って、前記課題を解決でき
るのである。
(実施例) 第1図は、本発明の一実施例を示す演算回路の構成ブロ
ック図である。
この演算回路は、入力データパス21.22と出力デー
タパス23との間に接続され、該入力データバス21.
22には、レジスタ24.25が接続されている。レジ
スタ24.25の出力端子は、16ビット並列乗算器2
6の入力端子XI。
XIにそれぞれ接続され、その乗算器26の出力端子が
累算用の40ビット算術演算器27の一方の入力端子に
接続されている。
算術演算器27は、加・減算器あるいは算術論理ユニッ
ト(ALU)等で構成され、その出力端子R2,R1,
ROが、入力データバス22と共に2人力1出力のセレ
クタ28及び3人力1出力のセレクタ29.30の入力
端子に接続されている。即ち、出力端子R2がセレクタ
28.29の入力端子に、出力端子R1がセレクタ29
..30の入力端子に、出力端子ROがセレクタ30の
入力端子に、それぞれ接続され、さらに入力データバス
22が各セレクタ28〜30の入力端子に接続されてい
る。
セレクタ28〜30は、プログラム命令により、入力の
1つを選択する回路であり、それらの出力端子には40
ビットのレジスタ回路31が接続されている。レジスタ
回n31は、下位16ビットのレジスタ31−2、上位
の16ビットのレジスタ31−1、及び上位拡張8ビッ
トのレジスタ31−0より構成されている。レジスタ3
1−0〜31−2の出力端子は、算術演算器27の他方
の入力端子に共通接続され、さらにプログラム命令によ
り切換えられる3人力l出力のセレクタ32及び出力バ
ッファ36を介して入力データバス32に接続されると
共に、出力バッファ33,34゜35を介して出力デー
タパス23に接続されている。出力バッファ33〜36
は、プログラム命令により出力が制御されるトライステ
ートバッファ等で構成されている。
第4図は第1図における2人力1出力のセレクタ28の
一構成例を示す回路図、及び第5図は第1図における3
人力1出力のセレクタ29.30の一構成例を示す回路
図である。
第4図のセレクタ28は、インバータ41.2人力のア
ンドゲート(以下、ANDゲートという)42.43、
及び2人力のオアゲート(以下、ORゲートという)4
4より構成されている。このセレクタ28では、制御信
号Cが“H′°レベルのとき、入力端子INIの信号が
出力端子OUTに出力され、制御信号Cが“L°゛レベ
ルのとき、入力端子INOの信号が出力端子OUTに出
力される。 第5図のセレクタ29.30は、インバー
タ51.52.53,54.3人力ANDゲート55.
56.57、及び3人力ORゲート58より構成され、
制御信号C1,C2が“L”レベルのとき、入力端子I
NOの信号が出力端子OUTに出力される。制御信号C
1=”H”レベル、C2= it L e+レベルのと
き、入力端子INIの信号が出力端子OUTに出力され
、C1=“°L′°レベル、C2=“H”レベルのとき
、入力端子IN2の信号が出力端子OUTに出力される
以上のように構成される演算回路の動作を、16ビット
を越える32ビット長同士の乗算を例にとり説明する。
例えば、2つのデータX(Xの下位16ビットX01X
の上位16ビットXi)とデータY(Yの下位16ビッ
トYO1Yの上位16ヒツトYl)により、xxy=z
を行う。
第3図に示すように、まず初めにデータX、 Yの下位
16ビットxo、yoを入力データバス21.22から
レジスタ24.25へ格納する。そして両レジスタ24
.25からの出力を乗算器26に入力し、該乗算器26
で乗算を行う。この乗算結果は、算術演算器27を通過
してセレクタ28〜30へ送られる。この時、プログラ
ム命令に基づく制御信号C1,C2により、セレクタ2
9゜30を介して、算術演算器27の出力端子R1から
出力される信号をレジスタ31−2に入力し、出力端子
R2から出力される信号をレジスタ31−1に入力し、
格納する(16ビット右シフト操作)。
次に、データXの上位16ビットX1とデータYの下位
16ビットYOを入力データバス21゜22からレジス
タ24.25に格納する。そして、両レジスタ24.2
5からの出力を乗算器26で乗算し、算術演算器27に
より、レジスタ310〜31−2の内容と乗算結果を累
算する。算術演算器27において、出力端子ROからの
出力信号はセレクタ30を介してレジスタ31−2に、
出力端子R1からの出力信号はセレクタ29を介してレ
ジスタ31−1に、出力端子R2からの出力信号はセレ
クタ28を介してレジスタ31−0に、それぞれ格納さ
れる。
データXの下位16ビットXOとデータYの上位16ビ
ットY1は、入力データパス21.22からセレクタ2
4.25に格納される。そして両レジスタ24.25か
らの出力は、乗算器26で乗算され、算術演算器27に
より、乗算結果とレジスタ31−0〜31−2の内容と
が累算される。
命令プログラムに基づく制御信号C1,C2によってセ
レクタ29.30が切換えられ、算術演算器27の出力
端子R1からの出力信号がレジスタ31−2に、出力端
子R2がらの出力信号がレジスタ31−1に、それぞれ
格納される(16ビット右シフト操作)。
16ビット右シフト操作後、データXの上位16ビット
X1とデータYの上位ビットY1を入力データパス21
.22からレジスタ24.25に格納する。そして両レ
ジスタ24.25からの出力に対して乗算器26で乗算
を行い、算術演算器27により、レジスタ31−0〜3
1−2の内容と乗算結果を累算する。算術演算器27の
出力端子ROからの出力信号はセレクタ30を介してレ
ジスタ31−2に、出力端子R1からの出力信号はセレ
クタ29を介してレジスタ31−1に、出力端子R2か
らの出力信号はセレクタ28を介してレジスタ31−0
に、それぞれ格納される。これにより演算か終了し、そ
の演算結果が出力バッファ33〜35及び出力データパ
ス23を介してメモリ等へ転送される。
このように、本実施例では、16ビット右シフト操作を
行う場合、命令プログラムに基づく制御信号C1,C2
により、算術演算器27の出力をセレクタ29.30を
介して16ビット右シフトが行えるようにしたので、演
算ステップ数を削減でき、それによって演算処理を高速
化できる。
なお、本発明は上記実施例に限定されず、被演算処理ビ
ット数を16ビット以外の数にし、それに応じて乗算器
26及び算術演算器27等の処理ビット数を変更したり
、あるいはセレクタ28〜30を第4図及び第5図以外
の回路で構成する等、種々の変形が可能である。
(発明の効果) 以上詳細に説明したように、本発明によれば、プログラ
ム命令により、算術演算器の出力をセレクタでnビット
、所定方向にシフトしてレジスタ回路へ入力する構成に
したので、累算時において演算ステップ数を削減でき、
演算処理を高速化できる。さらに、音声処理等で使用さ
れる倍精度演算を本発明を用いて実行すれば、演算ステ
ップ数の削減と、それによる処理速度の高速化が期待で
きる。
【図面の簡単な説明】
第1図は本発明の実施例を示す演算回路の構成ブロック
図、第2図は従来の演算回路の構成ブロック図、第3図
は16ビット並列乗算器による32ビット乗算方法を説
明する図、第4図は第1図中の2人力1出力のセレクタ
の回路図、第5図は第1図中の3人力1出力のセレクタ
の回路図である。 26・・・乗算器、27・・・算術演算器。28・・・
2人力1出力のセレクタ、29.30・・・3人力1出
力のセレクタ、31・・・レジスタ回路、31−0〜3
1−2・・・レジスタ。

Claims (1)

  1. 【特許請求の範囲】 2つの固定ビット長n(但し、nは正の整数)の入力デ
    ータを乗算するn×n乗算器と、前記乗算器の出力側に
    設けられ2nビットより長いビット長の算術演算器と、
    前記算術演算器の出力側に設けられ前記算術演算器と同
    一ビット長のデータを一時記憶するレジスタ回路を備え
    た演算回路において、 プログラム命令に基づき前記算術演算器の出力をnビッ
    ト毎に選択しその選択結果を前記レジスタ回路の所定の
    入力ビット位置へ入力するセレクタを設けたことを特徴
    とする演算回路。
JP27026890A 1990-10-08 1990-10-08 演算回路 Pending JPH04148231A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27026890A JPH04148231A (ja) 1990-10-08 1990-10-08 演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27026890A JPH04148231A (ja) 1990-10-08 1990-10-08 演算回路

Publications (1)

Publication Number Publication Date
JPH04148231A true JPH04148231A (ja) 1992-05-21

Family

ID=17483888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27026890A Pending JPH04148231A (ja) 1990-10-08 1990-10-08 演算回路

Country Status (1)

Country Link
JP (1) JPH04148231A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298364B1 (en) 1993-03-08 2001-10-02 Sharp Kabushiki Kaisha Digital signal processing operation apparatus that allows combined operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298364B1 (en) 1993-03-08 2001-10-02 Sharp Kabushiki Kaisha Digital signal processing operation apparatus that allows combined operation

Similar Documents

Publication Publication Date Title
US6009451A (en) Method for generating barrel shifter result flags directly from input data
EP0136834A2 (en) A digital circuit performing an arithmetic operation with an overflow
US5177703A (en) Division circuit using higher radices
US4878191A (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
JPH0690668B2 (ja) ファジイ演算装置
JPH11327875A (ja) 演算回路
JPH04148231A (ja) 演算回路
JPH10187416A (ja) 浮動小数点演算装置
JPS62197868A (ja) パイプライン構成の直線近似変換回路
JPH0519170B2 (ja)
JP2807170B2 (ja) 演算装置
JP2951685B2 (ja) 固定小数点演算器
KR0176883B1 (ko) 복소수 승산기
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
JPH1063500A (ja) 信号処理装置
US6041341A (en) Method and circuit for adding operands of multiple size
KR100194678B1 (ko) 시프터를 이용한 승산기
JPH10198552A (ja) 乗算器
KR950010822B1 (ko) 다치논리와 2치논리의 배타적 논리합 연산기 및 연산방법
JPH0383127A (ja) 10進除算器
JP2907276B2 (ja) 演算処理装置
JP3074958B2 (ja) 加算機能付きシリアル乗算器
JPH029366B2 (ja)
JP3165687B2 (ja) ディジタル信号処理装置
KR100196520B1 (ko) 면적 개선을 위한 2의보수 변환 장치