JPS6250852B2 - - Google Patents
Info
- Publication number
- JPS6250852B2 JPS6250852B2 JP54160517A JP16051779A JPS6250852B2 JP S6250852 B2 JPS6250852 B2 JP S6250852B2 JP 54160517 A JP54160517 A JP 54160517A JP 16051779 A JP16051779 A JP 16051779A JP S6250852 B2 JPS6250852 B2 JP S6250852B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- multiplier
- bits
- bit
- block
- 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
Links
- 239000000872 buffer Substances 0.000 description 14
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Description
この発明はデイジタル情報の演算に使用される
デイジタル乗算器に関する。 従来、例えばmビツトの被乗数と、nビツトの
乗数とのデイジタル乗算を行なうには、そのmビ
ツトの被乗数とnビツトの乗数を並列に入力させ
て、乗算を実行させる並列乗算器が存在する。ま
た、mビツトで表現される被乗数をnビツトで表
現される乗数に相当する回数分だけシフト及び加
算を繰り返して乗算演算を実行する直列乗算器も
存在しており、これら並列および直列乗算器は、
使用目的に応じて適宜選択使用される。 しかし、上記のような並列乗算器を用いた場
合、例えばその乗算器が「mビツト×nビツト」
の演算容量を存する状態で、被乗数がaビツト
(a<m)、乗数がbビツト(b<n)の乗算デー
タが入力されたとすると、実質的にデータの存在
しないビツト部分(「m―a」および「n―b」)
が発生し乗算器の使用効率が悪くなる。このよう
に被乗数および乗数を表現するビツト数が固定さ
れている上記のような並列乗算器においては、特
に入力データのビツト情報が不均一となる場合
に、乗算器における容量使用効率の問題は顕著と
なる。 さらに、このような不均一ビツト長のデータに
対して乗算を実行させるには、ビツト数が最大の
データに適合させて並列乗算器容量を設定する必
要があり、このような場合必然的に回路構成が大
規模となり、使用効率に対してコストが高くつく
ようになる。 また、直列乗算器の場合には、回路構成の点で
は小規模の範囲で構成できるが、繰り返し加算の
ために、一般的に演算処理時間が長くかかりす
ぎ、不都合となる場合が生じていた。 この発明は上記のような事情に鑑みてなされた
もので、限られた容量の乗算機構によつて、入力
データのビツト長に関係なく充分な速度で乗算が
実行できるデイジタル乗算器を提供することを目
的とする。 以下、図面を参照してこの発明の一実施例を説
明する。 まず、この発明では被乗数および乗数の入力デ
ータのビツト情報を、特定されたビツト数単位で
分割設定する。すなわち第1表に示すように被乗
数M1が10ビツト、乗数N1が9ビツトである場
合、それぞれ4ビツト単位で分割し、表中にaお
よびbで示すようにM1およびN1をそれぞれ3ブ
ロツクに分割されたデータとする。同様に、被乗
数Mi(i=2,3…)が7ビツト、6ビツト
…、また乗数Ni(i=2,3…)が4ビツト、
3ビツト…、である場合、それぞれaは「2」,
「2」…、bは「1」,「1」…となる。
デイジタル乗算器に関する。 従来、例えばmビツトの被乗数と、nビツトの
乗数とのデイジタル乗算を行なうには、そのmビ
ツトの被乗数とnビツトの乗数を並列に入力させ
て、乗算を実行させる並列乗算器が存在する。ま
た、mビツトで表現される被乗数をnビツトで表
現される乗数に相当する回数分だけシフト及び加
算を繰り返して乗算演算を実行する直列乗算器も
存在しており、これら並列および直列乗算器は、
使用目的に応じて適宜選択使用される。 しかし、上記のような並列乗算器を用いた場
合、例えばその乗算器が「mビツト×nビツト」
の演算容量を存する状態で、被乗数がaビツト
(a<m)、乗数がbビツト(b<n)の乗算デー
タが入力されたとすると、実質的にデータの存在
しないビツト部分(「m―a」および「n―b」)
が発生し乗算器の使用効率が悪くなる。このよう
に被乗数および乗数を表現するビツト数が固定さ
れている上記のような並列乗算器においては、特
に入力データのビツト情報が不均一となる場合
に、乗算器における容量使用効率の問題は顕著と
なる。 さらに、このような不均一ビツト長のデータに
対して乗算を実行させるには、ビツト数が最大の
データに適合させて並列乗算器容量を設定する必
要があり、このような場合必然的に回路構成が大
規模となり、使用効率に対してコストが高くつく
ようになる。 また、直列乗算器の場合には、回路構成の点で
は小規模の範囲で構成できるが、繰り返し加算の
ために、一般的に演算処理時間が長くかかりす
ぎ、不都合となる場合が生じていた。 この発明は上記のような事情に鑑みてなされた
もので、限られた容量の乗算機構によつて、入力
データのビツト長に関係なく充分な速度で乗算が
実行できるデイジタル乗算器を提供することを目
的とする。 以下、図面を参照してこの発明の一実施例を説
明する。 まず、この発明では被乗数および乗数の入力デ
ータのビツト情報を、特定されたビツト数単位で
分割設定する。すなわち第1表に示すように被乗
数M1が10ビツト、乗数N1が9ビツトである場
合、それぞれ4ビツト単位で分割し、表中にaお
よびbで示すようにM1およびN1をそれぞれ3ブ
ロツクに分割されたデータとする。同様に、被乗
数Mi(i=2,3…)が7ビツト、6ビツト
…、また乗数Ni(i=2,3…)が4ビツト、
3ビツト…、である場合、それぞれaは「2」,
「2」…、bは「1」,「1」…となる。
【表】
第1図は、上記のように例えば4ビツト単位で
分割された入力データを用いるデイジタル乗算器
の構成を示す。すなわち、被乗数データMおよび
乗数データNを入力記憶する入力バツフア11,
12を備える。この入力バツフア11,12は、
それぞれ入力データを4ビツト単位で分割した場
合、4ビツトの容量を有し、他にその入力データ
の存在を指示する「1」の情報を記憶する1ビツ
トの付加ビツト記憶部CMおよびCNを備える。
ここで、上記入力バツフア11,12に入力され
る4ビツトの並列データは、たとえば、被乗数M
iおよび乗数Niがともに4ビツトづつ3ブロツク
に分割される場合、M側データは下位からm11,
m12,m13で構成され、またN側データは同様に
n11,n12,n13で構成される。そして、第2図に示
すように、「1」,「2」…で示すタイミングで、
m11,m12,m13および次のサイクルへ移行するた
めのデータ「0」が、順次繰り返して入力バツフ
ア11に書き込まれるようになる。そしてこの繰
り返しサイクルそれぞれに対応して、入力バツフ
ア12にN側データn11,n12,n13が順次入力され
12個のタイミング(3サイクル)でM側およびN
側のデータ入力が行なわれ、次のタイミング
「13」でM側およびN側にオール「0」のデータ
が演算終了制御用として入力されるものである。
記憶部CMおよびCNに対する付加ビツトは上記
データm11〜m13,n11〜n13の存在に対応して
「1」が書き込まれる。そして、データ「0」に
対する付加ビツトは「0」に設定されてなる。 入力バツフア11,12に記憶された4ビツト
単位の並列データは、それぞれ4ビツト×4ビツ
トの乗算回路13へ入力され、4ビツトデータ相
互の乗算演算を行なわせる。この乗算回路13は
ROMで構成され、M,Nの両入力にてアドレス
指定されて結果データを出力する。また、上記入
力バツフア11,12の付加ビツト記憶部CM,
CNのビツト情報は、4ビツト単位でデータを入
力制御するための制御回路14へ供給される。こ
の制御回路14は、記憶部CMの付加ビツト情報
が供給される2入力ノア回路21および22を備
え、ノア回路21には、さらに記憶部CNの付加
ビツト情報が供給され、またこの付加ビツト情報
はインバータ23を介してノア回路22へ供給さ
れる。そして記憶部CMおよびCNの内容が共
に、「0」の時、ノア回路21より「1」の次の
演算を要求する信号RAが発生され、CMが
「0」でCNが「1」の場合、ノア回路22より次
のサイクルの要求を出す信号RCが発生される。 前記乗算回路13の演算結果は、2つの4ビツ
ト並列データの乗算を行なつたので、最大8ビツ
ト状態にあり、その下位4ビツトは、第1の加算
器15(並列加算器)のa入力側に供給され、上
位4ビツトは乗算回路13のタイミングの遅延回
路16を介して上記加算器15のb入力側に供給
される。そして、上記加算器15において加算が
実行され、その4ビツトの加算結果情報は、第2
の加算器17(並列加算器)のa入力側に供給さ
れる。ここで、第1の加算器15の加算結果で4
ビツトからのオーバーフローを示すキヤリー情報
は、第1の加算器15のb入力側に同じくタイミ
ングの遅延回路18を介して帰還する。 上記第2の加算器17では、上記加算器15か
らの4ビツト情報とb入力側に供給される情報と
の加算を行ない、その下位4ビツトの加算結果デ
ータを各タイミング毎に順次アドレス指定される
ランダムアクセスメモリ19(以下RAMと略称
する)へ順次書き込む。尚、詳細は後述するが、
RAM19は前記サイクル毎に1番地づつ異なら
せるようにアドレスシフト設定されるもので、例
えば乗数n11に対する被乗数m11〜m13および
「0」に対応する結果は、「0」〜「3」番地に、
同じくn12に対する結果は「1」〜「4」番地に
書込まれる。そして、この番地の内容は、同時に
第2の加算器17のb入力側に加算情報として順
次読み出し供給される。このb入力側には、さら
に第2の加算器17におけるオーバーフローした
キヤリー情報を1タイミング時間の遅延回路20
を介して帰還供給してなる。 上記のように構成される乗算器において、被乗
数M1が例えば10ビツトで、第2図に示したよう
にm11,m12,m13の3ブロツクに分割され、且つ
乗数N1が9ビツトでn11,n12,n13のブロツクに分
割されるものとして、「M1×N1」の演算を行なう
ものとすると、その乗算動作は以下のようにな
る。 すなわち、第2図に示したタイミングに対応し
て「m11×n11」,「m12×n11」,「m13×n11」,「0×
n11」,「m11×n12」…のような演算が行なわれ、
その各演算過程において、その演算結果の下位4
ビツトが第1の加算器15のa入力側に供給さ
れ、遅延回路16を介して上記上位4ビツトが次
のタイミングの演算過程で桁上げ加算情報として
加算器15のb入力側に供給される。具体的に
は、入力バツフア12にn11の記憶されている第
1番目のサイクルにおいて、第3図のAに示すよ
うな形態の演算が行なわれ、シーケンス1の情報
として第1の加算回路15から取り出される。 つまり、まず第1の段階(第2図のタイミング
「1」に相当)で、m11およびn11が付加ビツトと
同時に入力バツフア11,12にそれぞれ書き込
み設定される。そして、乗算回路13から「m11
×n11」の演算結果が出力され、その乗算結果の
下位4ビツトは第1の加算器15に供給される。
この場合、最初の演算過程であるので、加算器1
5のb入力側は「0」であり、上記乗算結果の下
位4ビツトの情報は、加算器15からシーケンス
1―1としてとり出され、次のタイミング「2」
で第2の加算器17に供給される。この加算器1
7においても、初期状態にあるので、b側入力は
「0」であり、加算器15からの4ビツト情報シ
ーケンス1―1がRAM19の初期アドレス番地
(この場合0番地)に次のタイミング「3」で第
4図Aに示すように書き込まれ記憶される。 そして、第2図における「2」の上記タイミン
グでは、入力バツフア11にはm11に代わりm12
が書き込まれ、乗算回路13から「m12×n11」の
演算結果が出力され、その下位4ビツトが第1の
加算器15のa入力側に供給される。この時、
「1」のタイミングでの「m11×n11」の乗算結果
の上位4ビツトが遅延回路16を介して加算器1
5のb入力側に供給され、この加算器15のa,
b両入力側からの入力情報が加算されるようにな
り、この加算結果の下位4ビツトが第2の加算器
17にシーケンス1―2として「3」のタイミン
グで供給される。この第2の加算器17において
は、前記同様初期状態であるので、b入力側は
「0」であり、上記第1の加算器15からの4ビ
ツトの情報すなわちシーケンス1―2がRAM1
9の次の番地(1番地)に第4図Aに示されるよ
うにタイミング「4」にて書き込まれる。 上記「3」のタイミングでは、更に入力バツフ
ア1にm13が書き込まれ、乗算回路13で「m13
×n11」の演算が行なわれ、その下位4ビツトが
第1の加算器15に供給される。この場合、この
加算器15のb入力側には、その前の「m12×
n11」の乗算結果の上位4ビツト、さらに前の加
算演算時のキヤリービツト情報が、遅延回路1
6,18をそれぞれ介して供給され、a入力側情
報と加算され、その加算結果の下位4ビツトが第
2の加算器17にタイミング「4」にてシーケン
ス1―3として供給され第4図Aに示されるよう
にRAM19の2番地にタイミング「5」にて書
き込まれるようになる。 上記タイミング「4」では、入力バツフア11
に対して、次に「0」の情報が書き込まれ、記憶
部CMの付加ビツトは「0」となる。すなわち、
乗算回路13では「0×n11」の演算が行なわ
れ、その乗算結果は「0」となり、第1の加算器
15には遅延回路16,18それぞれを介して、
前段の乗算結果の上位4ビツトおよび加算結果の
キヤリー情報のみが供給され、その4ビツトの加
算結果が、シーケンス1―4として出力され、第
2の加算回路17を介して第4図Aに示されるよ
うにRAM19の次の番地(3番地)にタイミン
グ「6」で書き込まれる。同時に、記憶部CMが
「0」であるのでノア回路22から信号RCが発生
され、第3図Aに示されたシーケンス1を求める
演算サイクルを終了する。 そして、上記信号RCによつて、入力バツフア
12の記憶情報はn11からn12に変換され、入力バ
ツフア13には、上記同様にタイミングに対応し
てm11〜m13が順次供給記憶されるようになり、
上記同様の乗算演算が第3図のBに示すような形
態で実行され、順次シーケンス2―1,2―2,
2―3,2―4として第1の加算器15から出力
される。そして、この演算サイクルの先頭段
「m11×n12」においては、RAM19の1番地が指
定され、第2の加算器17には、先に書き込まれ
た1番地のシーケンス1―2の情報が読み出さ
れ、第1の加算器15からのシーケンス2―1の
情報と加算され、その結果の下位4ビツトが第4
図Bに示すようにRAM19の1番地にタイミン
グ「7」にて書きこまれるようになる。同様に次
の演算「m12×n12」においては、RAM19の2
番地が指定され、第2の加算器17に先に書き込
まれた2番地のシーケンス1―3の情報がタイミ
ング「7」にて読み出され、シーケンス2―2の
情報および前タイミングでのキヤリー情報と加算
され、その結果の下位4ビツトが第4図Bに示す
ようにRAM19の2番地にタイミング「8」に
て書き込まれるようになる。以下同様にシーケン
ス1―4とシーケンス2―3および前タイミング
のキヤリー情報が加算されRAM19に順次アド
レス指定され書きこまれる。シーケンス2―4は
RAM19の4番地の内容が0なので、前タイミ
ングのキヤリー情報とのみ加算される。すなわ
ち、RAM19のアドレス0〜4番地にシーケン
ス1+シーケンス2の加算結果情報が下位から4
ビツトづつ分割記憶された状態となる。(第4図
ではキヤリー情報によつて各シーケンスを構成す
る内容が順次変更されるが、便宜的に、例えば
「(シーケンス1―2)+(シーケンス2―1)に相
当」と示す。)そして、次のサイクル要求信号RC
が1サイクル目終了時と同様に発生され、第3図
Cに示すような前サイクルと同様な形態でシーケ
ンス3を求めるサイクルへ移行する。 このサイクルでは、被乗数ブロツクm13,
m12,m11と乗数ブロツクn13との積(シーケンス
3)を求め、前サイクルまでの結果(シーケンス
1+シーケンス2)に加えるもので、前サイクル
と同様に第1の加算器15から順次シーケンス3
―1,3―2,3―3,3―4が出力される。そ
して桁合わせのためRAM19の2番地以降に記
憶されている内容と順次加算され、第4図Cに示
すようにシーケンス1+シーケンス2+シーケン
ス3の内容が4ビツトづつRAM19の下位アド
レスより分割記憶された状態となる。 そして、3サイクル目が終了すると、次のサイ
クル要求信号RCが前サイクルと同様に発生さ
れ、第2図に示すような4サイクル目に移行す
る。このサイクルにおいては、M,N側データ入
力および付加ビツト記憶部CM,CNがそれぞれ
「0」の値が入力される。すなわち、次の演算要
求信号RAが出力され、新たな乗算のデータが入
力されるようになり、次の乗算過程に移る。尚こ
の間に、M1×N1の最上位の4ビツトデータ(遅
延回路20を介して第2の加算器17へ供給され
るデータ)がRAM19に書込まれる。 このように、被乗数および乗数のブロツク数に
応じて、サイクル数およびデータ入力の回数が適
宜設定され、任意のビツト長の演算が効率よく行
われる。 なお、上記実施例では、乗算データを4ビツト
単位に分割して、そのデータ分割構成に従つて説
明したが、これはこの乗算器が適応される種々の
デイジタル機器に対応して、任意ビツト数に分割
され得るもので、それに適合した構成をとつても
よいものである。 このようなデイジタル乗算器は、例えば第5図
に示すようなPARCOR(パーコール:Partial
Auto―Correlation)音声合成装置のデイジタル
フイルタ回路における演算用の乗算器24a,2
4b…24dに用いると効果的である。すなわ
ち、音声パラメータ係数発生部25からの
PARCOR係数k1,k2…は、たとえばk1=8(ビ
ツト)、k2=6(ビツト)、k3=3(ビツト)のよ
うに不均一なビツト長の情報とすることが好まし
く、この情報を4ビツト単位のデータブロツクと
するとk1=2(ブロツク)、k2=2(ブロツク)、
k3=1(ブロツク)…の乗数となり、音声データ
が供給されるデータラインにおけるデータを被乗
数として乗算が行なわれるものである。 このように、不均一なビツト長の情報の乗算を
行なうようなデイジタル機器にあつては、この発
明によるデイジタル乗算器は、特に効果的であ
る。 以上述べたように、この発明は限られた容量の
回路構成によつて、入力データのビツト長に関係
なく充分な速度をもつて乗算が実行できるデイジ
タル乗算器を提供できる。
分割された入力データを用いるデイジタル乗算器
の構成を示す。すなわち、被乗数データMおよび
乗数データNを入力記憶する入力バツフア11,
12を備える。この入力バツフア11,12は、
それぞれ入力データを4ビツト単位で分割した場
合、4ビツトの容量を有し、他にその入力データ
の存在を指示する「1」の情報を記憶する1ビツ
トの付加ビツト記憶部CMおよびCNを備える。
ここで、上記入力バツフア11,12に入力され
る4ビツトの並列データは、たとえば、被乗数M
iおよび乗数Niがともに4ビツトづつ3ブロツク
に分割される場合、M側データは下位からm11,
m12,m13で構成され、またN側データは同様に
n11,n12,n13で構成される。そして、第2図に示
すように、「1」,「2」…で示すタイミングで、
m11,m12,m13および次のサイクルへ移行するた
めのデータ「0」が、順次繰り返して入力バツフ
ア11に書き込まれるようになる。そしてこの繰
り返しサイクルそれぞれに対応して、入力バツフ
ア12にN側データn11,n12,n13が順次入力され
12個のタイミング(3サイクル)でM側およびN
側のデータ入力が行なわれ、次のタイミング
「13」でM側およびN側にオール「0」のデータ
が演算終了制御用として入力されるものである。
記憶部CMおよびCNに対する付加ビツトは上記
データm11〜m13,n11〜n13の存在に対応して
「1」が書き込まれる。そして、データ「0」に
対する付加ビツトは「0」に設定されてなる。 入力バツフア11,12に記憶された4ビツト
単位の並列データは、それぞれ4ビツト×4ビツ
トの乗算回路13へ入力され、4ビツトデータ相
互の乗算演算を行なわせる。この乗算回路13は
ROMで構成され、M,Nの両入力にてアドレス
指定されて結果データを出力する。また、上記入
力バツフア11,12の付加ビツト記憶部CM,
CNのビツト情報は、4ビツト単位でデータを入
力制御するための制御回路14へ供給される。こ
の制御回路14は、記憶部CMの付加ビツト情報
が供給される2入力ノア回路21および22を備
え、ノア回路21には、さらに記憶部CNの付加
ビツト情報が供給され、またこの付加ビツト情報
はインバータ23を介してノア回路22へ供給さ
れる。そして記憶部CMおよびCNの内容が共
に、「0」の時、ノア回路21より「1」の次の
演算を要求する信号RAが発生され、CMが
「0」でCNが「1」の場合、ノア回路22より次
のサイクルの要求を出す信号RCが発生される。 前記乗算回路13の演算結果は、2つの4ビツ
ト並列データの乗算を行なつたので、最大8ビツ
ト状態にあり、その下位4ビツトは、第1の加算
器15(並列加算器)のa入力側に供給され、上
位4ビツトは乗算回路13のタイミングの遅延回
路16を介して上記加算器15のb入力側に供給
される。そして、上記加算器15において加算が
実行され、その4ビツトの加算結果情報は、第2
の加算器17(並列加算器)のa入力側に供給さ
れる。ここで、第1の加算器15の加算結果で4
ビツトからのオーバーフローを示すキヤリー情報
は、第1の加算器15のb入力側に同じくタイミ
ングの遅延回路18を介して帰還する。 上記第2の加算器17では、上記加算器15か
らの4ビツト情報とb入力側に供給される情報と
の加算を行ない、その下位4ビツトの加算結果デ
ータを各タイミング毎に順次アドレス指定される
ランダムアクセスメモリ19(以下RAMと略称
する)へ順次書き込む。尚、詳細は後述するが、
RAM19は前記サイクル毎に1番地づつ異なら
せるようにアドレスシフト設定されるもので、例
えば乗数n11に対する被乗数m11〜m13および
「0」に対応する結果は、「0」〜「3」番地に、
同じくn12に対する結果は「1」〜「4」番地に
書込まれる。そして、この番地の内容は、同時に
第2の加算器17のb入力側に加算情報として順
次読み出し供給される。このb入力側には、さら
に第2の加算器17におけるオーバーフローした
キヤリー情報を1タイミング時間の遅延回路20
を介して帰還供給してなる。 上記のように構成される乗算器において、被乗
数M1が例えば10ビツトで、第2図に示したよう
にm11,m12,m13の3ブロツクに分割され、且つ
乗数N1が9ビツトでn11,n12,n13のブロツクに分
割されるものとして、「M1×N1」の演算を行なう
ものとすると、その乗算動作は以下のようにな
る。 すなわち、第2図に示したタイミングに対応し
て「m11×n11」,「m12×n11」,「m13×n11」,「0×
n11」,「m11×n12」…のような演算が行なわれ、
その各演算過程において、その演算結果の下位4
ビツトが第1の加算器15のa入力側に供給さ
れ、遅延回路16を介して上記上位4ビツトが次
のタイミングの演算過程で桁上げ加算情報として
加算器15のb入力側に供給される。具体的に
は、入力バツフア12にn11の記憶されている第
1番目のサイクルにおいて、第3図のAに示すよ
うな形態の演算が行なわれ、シーケンス1の情報
として第1の加算回路15から取り出される。 つまり、まず第1の段階(第2図のタイミング
「1」に相当)で、m11およびn11が付加ビツトと
同時に入力バツフア11,12にそれぞれ書き込
み設定される。そして、乗算回路13から「m11
×n11」の演算結果が出力され、その乗算結果の
下位4ビツトは第1の加算器15に供給される。
この場合、最初の演算過程であるので、加算器1
5のb入力側は「0」であり、上記乗算結果の下
位4ビツトの情報は、加算器15からシーケンス
1―1としてとり出され、次のタイミング「2」
で第2の加算器17に供給される。この加算器1
7においても、初期状態にあるので、b側入力は
「0」であり、加算器15からの4ビツト情報シ
ーケンス1―1がRAM19の初期アドレス番地
(この場合0番地)に次のタイミング「3」で第
4図Aに示すように書き込まれ記憶される。 そして、第2図における「2」の上記タイミン
グでは、入力バツフア11にはm11に代わりm12
が書き込まれ、乗算回路13から「m12×n11」の
演算結果が出力され、その下位4ビツトが第1の
加算器15のa入力側に供給される。この時、
「1」のタイミングでの「m11×n11」の乗算結果
の上位4ビツトが遅延回路16を介して加算器1
5のb入力側に供給され、この加算器15のa,
b両入力側からの入力情報が加算されるようにな
り、この加算結果の下位4ビツトが第2の加算器
17にシーケンス1―2として「3」のタイミン
グで供給される。この第2の加算器17において
は、前記同様初期状態であるので、b入力側は
「0」であり、上記第1の加算器15からの4ビ
ツトの情報すなわちシーケンス1―2がRAM1
9の次の番地(1番地)に第4図Aに示されるよ
うにタイミング「4」にて書き込まれる。 上記「3」のタイミングでは、更に入力バツフ
ア1にm13が書き込まれ、乗算回路13で「m13
×n11」の演算が行なわれ、その下位4ビツトが
第1の加算器15に供給される。この場合、この
加算器15のb入力側には、その前の「m12×
n11」の乗算結果の上位4ビツト、さらに前の加
算演算時のキヤリービツト情報が、遅延回路1
6,18をそれぞれ介して供給され、a入力側情
報と加算され、その加算結果の下位4ビツトが第
2の加算器17にタイミング「4」にてシーケン
ス1―3として供給され第4図Aに示されるよう
にRAM19の2番地にタイミング「5」にて書
き込まれるようになる。 上記タイミング「4」では、入力バツフア11
に対して、次に「0」の情報が書き込まれ、記憶
部CMの付加ビツトは「0」となる。すなわち、
乗算回路13では「0×n11」の演算が行なわ
れ、その乗算結果は「0」となり、第1の加算器
15には遅延回路16,18それぞれを介して、
前段の乗算結果の上位4ビツトおよび加算結果の
キヤリー情報のみが供給され、その4ビツトの加
算結果が、シーケンス1―4として出力され、第
2の加算回路17を介して第4図Aに示されるよ
うにRAM19の次の番地(3番地)にタイミン
グ「6」で書き込まれる。同時に、記憶部CMが
「0」であるのでノア回路22から信号RCが発生
され、第3図Aに示されたシーケンス1を求める
演算サイクルを終了する。 そして、上記信号RCによつて、入力バツフア
12の記憶情報はn11からn12に変換され、入力バ
ツフア13には、上記同様にタイミングに対応し
てm11〜m13が順次供給記憶されるようになり、
上記同様の乗算演算が第3図のBに示すような形
態で実行され、順次シーケンス2―1,2―2,
2―3,2―4として第1の加算器15から出力
される。そして、この演算サイクルの先頭段
「m11×n12」においては、RAM19の1番地が指
定され、第2の加算器17には、先に書き込まれ
た1番地のシーケンス1―2の情報が読み出さ
れ、第1の加算器15からのシーケンス2―1の
情報と加算され、その結果の下位4ビツトが第4
図Bに示すようにRAM19の1番地にタイミン
グ「7」にて書きこまれるようになる。同様に次
の演算「m12×n12」においては、RAM19の2
番地が指定され、第2の加算器17に先に書き込
まれた2番地のシーケンス1―3の情報がタイミ
ング「7」にて読み出され、シーケンス2―2の
情報および前タイミングでのキヤリー情報と加算
され、その結果の下位4ビツトが第4図Bに示す
ようにRAM19の2番地にタイミング「8」に
て書き込まれるようになる。以下同様にシーケン
ス1―4とシーケンス2―3および前タイミング
のキヤリー情報が加算されRAM19に順次アド
レス指定され書きこまれる。シーケンス2―4は
RAM19の4番地の内容が0なので、前タイミ
ングのキヤリー情報とのみ加算される。すなわ
ち、RAM19のアドレス0〜4番地にシーケン
ス1+シーケンス2の加算結果情報が下位から4
ビツトづつ分割記憶された状態となる。(第4図
ではキヤリー情報によつて各シーケンスを構成す
る内容が順次変更されるが、便宜的に、例えば
「(シーケンス1―2)+(シーケンス2―1)に相
当」と示す。)そして、次のサイクル要求信号RC
が1サイクル目終了時と同様に発生され、第3図
Cに示すような前サイクルと同様な形態でシーケ
ンス3を求めるサイクルへ移行する。 このサイクルでは、被乗数ブロツクm13,
m12,m11と乗数ブロツクn13との積(シーケンス
3)を求め、前サイクルまでの結果(シーケンス
1+シーケンス2)に加えるもので、前サイクル
と同様に第1の加算器15から順次シーケンス3
―1,3―2,3―3,3―4が出力される。そ
して桁合わせのためRAM19の2番地以降に記
憶されている内容と順次加算され、第4図Cに示
すようにシーケンス1+シーケンス2+シーケン
ス3の内容が4ビツトづつRAM19の下位アド
レスより分割記憶された状態となる。 そして、3サイクル目が終了すると、次のサイ
クル要求信号RCが前サイクルと同様に発生さ
れ、第2図に示すような4サイクル目に移行す
る。このサイクルにおいては、M,N側データ入
力および付加ビツト記憶部CM,CNがそれぞれ
「0」の値が入力される。すなわち、次の演算要
求信号RAが出力され、新たな乗算のデータが入
力されるようになり、次の乗算過程に移る。尚こ
の間に、M1×N1の最上位の4ビツトデータ(遅
延回路20を介して第2の加算器17へ供給され
るデータ)がRAM19に書込まれる。 このように、被乗数および乗数のブロツク数に
応じて、サイクル数およびデータ入力の回数が適
宜設定され、任意のビツト長の演算が効率よく行
われる。 なお、上記実施例では、乗算データを4ビツト
単位に分割して、そのデータ分割構成に従つて説
明したが、これはこの乗算器が適応される種々の
デイジタル機器に対応して、任意ビツト数に分割
され得るもので、それに適合した構成をとつても
よいものである。 このようなデイジタル乗算器は、例えば第5図
に示すようなPARCOR(パーコール:Partial
Auto―Correlation)音声合成装置のデイジタル
フイルタ回路における演算用の乗算器24a,2
4b…24dに用いると効果的である。すなわ
ち、音声パラメータ係数発生部25からの
PARCOR係数k1,k2…は、たとえばk1=8(ビ
ツト)、k2=6(ビツト)、k3=3(ビツト)のよ
うに不均一なビツト長の情報とすることが好まし
く、この情報を4ビツト単位のデータブロツクと
するとk1=2(ブロツク)、k2=2(ブロツク)、
k3=1(ブロツク)…の乗数となり、音声データ
が供給されるデータラインにおけるデータを被乗
数として乗算が行なわれるものである。 このように、不均一なビツト長の情報の乗算を
行なうようなデイジタル機器にあつては、この発
明によるデイジタル乗算器は、特に効果的であ
る。 以上述べたように、この発明は限られた容量の
回路構成によつて、入力データのビツト長に関係
なく充分な速度をもつて乗算が実行できるデイジ
タル乗算器を提供できる。
第1図はこの発明の一実施例に係るデイジタル
乗算器の構成図、第2図は上記乗算器における被
乗数入力側Mおよび乗数入力側Nとそれぞれに付
加された付加ビツト記憶部のデータ入力値状態の
時間的推移を示す図、第3図は上記デイジタル乗
算器における演算過程を説明する図、第4図は上
記デイジタル乗算器における演算過程でのRAM
の内容を説明する図、第5図は上記デイジタル乗
算器を音声合成装置のデイジタルフイルタにおけ
る乗算器として用いた応用例を示す図である。 11,12…入力バツフア、13…乗算回路、
14…制御回路、15…第1の加算器、17…第
2の加算器、16,18,20…遅延回路、19
…ランダムアクセスメモリ(RAM)。
乗算器の構成図、第2図は上記乗算器における被
乗数入力側Mおよび乗数入力側Nとそれぞれに付
加された付加ビツト記憶部のデータ入力値状態の
時間的推移を示す図、第3図は上記デイジタル乗
算器における演算過程を説明する図、第4図は上
記デイジタル乗算器における演算過程でのRAM
の内容を説明する図、第5図は上記デイジタル乗
算器を音声合成装置のデイジタルフイルタにおけ
る乗算器として用いた応用例を示す図である。 11,12…入力バツフア、13…乗算回路、
14…制御回路、15…第1の加算器、17…第
2の加算器、16,18,20…遅延回路、19
…ランダムアクセスメモリ(RAM)。
Claims (1)
- 1 任意ビツト長の被乗数データを所定ビツト長
毎に分割し、且つ演算制御のための第1のビツト
情報を付加して複数の第1ブロツクデータを作成
し、所定のブロツク順序で供給する第1のデータ
供給手段と、任意ビツト長の乗数データを上記所
定ビツト長毎に分割し、且つ、演算制御のための
第2のビツト情報を付加して複数の第2ブロツク
データを作成し、所定のブロツク順序で供給する
第2のデータ供給手段と、上記第1、第2のデー
タ供給手段より供給される上記第1ブロツクデー
タとを乗算してブロツク毎の部分積データを出力
する乗算手段と、該乗算手段より出力される上記
部分積データを組合せ加算して、上記被乗数デー
タと上記乗数データとの積を求める演算手段と、
上記第1、第2のデータ供給手段より供給される
上記第1ブロツクデータと上記第2ブロツクデー
タとを乗算してブロツク毎の部分積データを出力
する乗算手段と、該乗算手段より出力される上記
部分積データを組合わせ加算して、上記被乗数デ
ータと上記乗数データとの積を求める演算手段
と、上記第1、第2のビツト情報に基づき、次の
ブロツクデータに対する演算か、新たなブロツク
データに対する演算かを制御するための制御手段
とを具備したことを特徴とするデイジタル乗算
器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16051779A JPS5682949A (en) | 1979-12-11 | 1979-12-11 | Digital multiplier |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16051779A JPS5682949A (en) | 1979-12-11 | 1979-12-11 | Digital multiplier |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5682949A JPS5682949A (en) | 1981-07-07 |
JPS6250852B2 true JPS6250852B2 (ja) | 1987-10-27 |
Family
ID=15716661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16051779A Granted JPS5682949A (en) | 1979-12-11 | 1979-12-11 | Digital multiplier |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5682949A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5093751A (ja) * | 1973-12-20 | 1975-07-26 | ||
JPS52100945A (en) * | 1976-02-20 | 1977-08-24 | Toshiba Corp | Multiplication system |
-
1979
- 1979-12-11 JP JP16051779A patent/JPS5682949A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5093751A (ja) * | 1973-12-20 | 1975-07-26 | ||
JPS52100945A (en) * | 1976-02-20 | 1977-08-24 | Toshiba Corp | Multiplication system |
Also Published As
Publication number | Publication date |
---|---|
JPS5682949A (en) | 1981-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4754421A (en) | Multiple precision multiplication device | |
US5771186A (en) | System and method for multiplying in a data processing system | |
US6209017B1 (en) | High speed digital signal processor | |
US4627021A (en) | Integrated processor for the processing of word-wise receivable data | |
JPH061438B2 (ja) | 倍精度乗算器 | |
JP2722412B2 (ja) | モンゴメリ法によるモジュラ操作の実行に伴うエラー訂正パラメータの算出方法 | |
US3816732A (en) | Apparatus and method for serial-parallel binary multiplication | |
JPH082014B2 (ja) | 多段デジタル・フィルタ | |
JPH08221256A (ja) | 乗算器及び積和演算装置 | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
JP2842947B2 (ja) | ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ | |
JPS6250852B2 (ja) | ||
JPS6226723B2 (ja) | ||
JPH10111791A (ja) | 除算装置 | |
KR100235537B1 (ko) | 디지털 필터의 가변탭 구조 및 그의 곱셈회로 | |
JPH05197525A (ja) | オペランドを否定するための否定方法及び否定回路 | |
JPS622330B2 (ja) | ||
JP3222313B2 (ja) | 演算装置及び演算方法 | |
JP2734438B2 (ja) | 乗算装置 | |
JPH0831024B2 (ja) | 演算プロセッサ | |
JPS6259828B2 (ja) | ||
JP2864598B2 (ja) | ディジタル演算回路 | |
JPH0741213Y2 (ja) | Firフィルタ | |
SU1474671A1 (ru) | Преобразователь формы представлени логических функций | |
GB2345563A (en) | Digital signal processor for performing fixed-point and/or integer arithmetic |