JPS6297060A - デイジタルシグナルプロセツサ - Google Patents

デイジタルシグナルプロセツサ

Info

Publication number
JPS6297060A
JPS6297060A JP60238829A JP23882985A JPS6297060A JP S6297060 A JPS6297060 A JP S6297060A JP 60238829 A JP60238829 A JP 60238829A JP 23882985 A JP23882985 A JP 23882985A JP S6297060 A JPS6297060 A JP S6297060A
Authority
JP
Japan
Prior art keywords
data
multipliers
digital signal
signal processor
multiplier
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
JP60238829A
Other languages
English (en)
Inventor
Hideki Ando
秀樹 安藤
Masao Nakaya
中屋 雅夫
Harufusa Kondo
晴房 近藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP60238829A priority Critical patent/JPS6297060A/ja
Priority to US06/922,031 priority patent/US4771379A/en
Priority to FR8614724A priority patent/FR2588980B1/fr
Priority to DE19863636106 priority patent/DE3636106A1/de
Publication of JPS6297060A publication Critical patent/JPS6297060A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野1 この発明は、ディジタルシグナルプロセッサ(以下、D
SPと称す〕に関し、特に、fイジタル信号逃理を効率
良く行なうように改良されたDSPに関する。
[従来の技術I DSPは、ディジタル信号処理に多く存在する積和演算
を高速に行なうために開発されたディジタル信号処理専
用のマイクロプロセッサである。
第3図は従来のDSPの一例を示す概略ブロック図であ
る。図において、このDSPは一般のマイクロコンピュ
ータと同様、記憶部1と、制御部2と、@篩部3と、デ
ータバス4とから構成される。記憶部1は、RAM11
と、RO〜112とを含む。これらRAM11.ROM
12には、演算部3で処理すべきデータおよび当該処理
に必要なデータが格納されている。なお、RAM11に
は非固定的なデータが格納され、ROM12には固定的
なデータ(たとえば乗算時の定数データ等)が格納サレ
ル。これ’3RAM11 、ROM12は、データバス
4と接続される。制御部2は、命令ROM21と、プロ
グラムカウンタ22と、命令レジスタ23と、命令デコ
ーダ24とを含む。命令ROM21には、プログラムデ
ータが格納される。
プログラムカウンタ22は、DSPの基本クロック(図
示せず)に同期して命令ROM21からプログラムデー
タを順次読出すためのものである。
命令レジスタ23は、命令ROM21から読出されたプ
ログラムデータを一時的に記憶するものである。命令レ
ジスタ23の出力は命令デコーダ24に与えられる。ま
た、命令レジスタ23の一部のビット出力はデータバス
4に与えられる。命令デコーダ24は命令レジスタ23
から受取ったプログラムデータを解読して種々のマイク
ロ命令を出力するものである。このマイクロ命令は、記
憶部1.演算部3等に与えられ、それらの内部回路の動
作を制御する。
演算部3は、乗算器31と、演算論理回路(以下、AL
Uと称す)32と、アキュムレータ(以下、ACCと称
す)33とを含む。乗算器31の一方入力および他方入
力はデータバス4と接続される。また、乗算器31の一
方入力はRAM11と直接結線され、他方入力はROM
12と直接結線される。ALU32の一方入力はデータ
バス4と接続されるとともに、乗算器31と直接結線さ
れる。ALU32の他方入力にはACC33の出力が与
えられる。ALU32の出力はACC33に与えられる
。このACC33はデータバス4と接続される。
上述のような構成において、乗算器31はRAMllか
ら読出された値とROM12から読出された定数とを乗
算し、ALu32に与える。ALU32は乗算器31の
fi算結果と、ACC33に蓄えられているそれまでの
@算結果の累積値とを加砕し、その加算結果をACC3
3に蓄える。このACC33に蓄えられた累積値は、デ
ータバス4を介して出力される。
以上のように、DSPは乗算処理を行なうための専用ハ
ード回路として乗算器31を設けているので、従来のマ
イクロコンピュータのようにALU32で加算演算の繰
返しとして乗算を行なう場合に比べて乗算処理を高速に
行なうことができる。
ま1;、乗算器31とRAMI 1.ROMI 2とが
直接結線されているので、1命令で乗算器31にデータ
をセットすることができる。さらに、乗算器31とAL
U32が直接結線されているので、1命令でALU32
に乗算結果をセットすることができる。このように、積
和演算のデータバスはデータバス4と完全に分離して行
なわれるので、積和演算とデータ転送が同時に行なえ、
積和演算の処理を高速に行なうことができる。
[発明が解決しようとする問題点] 通常、上記のようなりSPにおいては、乗算器31の演
算速度が他の回路の処理速度に比べて最も遅いものとな
っている。そのため、従来のDSPでは、データのスル
ープットレートが、通常、乗算器31の演算速度によっ
て決まってしまい、それ以上のスルーブツトレートの向
上が望めないという問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、スルーブツトレートの高いDSPを提供する
ことを目的とする。
L問題点を解決するための手段] この発明に係るDSPは、演算部に複数の乗算器を設け
、この乗算器をデータメモリと直接結線し、さらにこの
乗算器と演算論理部とを直接結線するようにしたもので
ある。
[作用] この発明においては、データメモリに直接結線された複
数の乗算器が設けられるから、乗算処理を並列に行なう
ことができ、データのスルーブツトレートを高くするこ
とができる。
[実施例] 第1図はこの発明の一実施例を示す概略ブロック図であ
る。なお、この実施例は以下の点を除いて第3図の従来
例と同様であり、相当する部分には同一の参照番号付し
適宜その説明を省略する。
図において、この実施例も第3図の従来例と同様、記憶
部1.制御部2.演韓部3.データバス4によって構成
される。演l1部2は第3図の従来例と全く同様である
。記憶部1は、第3図のRAM11に代えて2ボ一トR
AM13が設けられる。この2ボ一トRAM13は、出
力ポートを2つ備え、2つのアドレスから同時にデータ
を読出すことができるような構成となっている。一方の
アドレスから読出されたデータは第1のポート13aか
ら出力される。他方のアドレスから読出されたデータは
第2のポート13bか°ら出力される。これら第1およ
び第2のポート13aおよび13bはデータバス4と接
続される。また、記憶部1には、jlI3図(7)RO
M12に代え72面ROM14がlけられる。この2面
ROM14は、左右2面のROMを有し、それぞれの面
から同時にデータを読出すことができるように構成され
ている一2面ROM14のそれぞれの面はデータバス4
と接続される。
演算部3には、2個の乗算器311.312と、2個の
ALU321.322と、ACC33とが設けられる。
第1の乗算器311の一方入力はデータバス4と接続さ
れるとともに、2ボ一トRAM13の第1のポート13
aと直接結線される。
第1の乗算器の他方入力はデータバス4と接続されると
ともに、2面ROM14の左面と直接結線される。第2
の乗算器312の一方入力はデータバス4と接続される
とともに、2ボ一トRAM13の第2のポート13bと
直接結線される。第2の乗算器312の他方入力はデー
タバス4と接続されるとともに、2面ROM14の右面
と直接結線される。第1のALtJ321の一方入力は
第1の乗算器311と直接結線され、またその他方入力
は第2の乗算器312と直接結線される。第2のALU
322の一方入力はデータバス4と接続されるとともに
、第1のALLJ321と直接結線される。第2のAL
U322の他方入力にはACC33の出力が与えられる
。第2のALU322の出力はACC33に与えられる
。このACC33はデータバス4と接続される。
次に、上記実施例の動作を説明する。命令ROM21に
格納されたプログラムデータは、プログラムカウンタ2
2によって順次読出され、命令レジスタ23に蓄えられ
る。命令デコーダ24は命令レジスタ23に蓄えられた
プログラムデータを読出して解読し、種々のマイクロ命
令を出力する。
このマイクロ命令は、記憶部1.演算部3等に与えられ
、それぞれの動作を制御する。
一方、2ボ一トRAM13の第1のポート13aから出
力されるデータはデータバス4を介さずに直接乗算器3
11の一方入力に与えられる。2ボ一トRAM13の第
2のポート13bから出力されるデータも、データバス
4を介さずに直接第2の乗算器312の一方入力に与え
られる。また、ROM14の左向から読出されるデータ
もデータバス4を介さずに直接第1の乗算器311の他
方入力に与えられる。ROM14の右面から読出される
データもデータバス4を介さずに直接第2の乗算器31
2の他方入力に与えられる。したがって、第1の乗算器
311は、2ポートRAIvl13の第1のポート13
aから出力されるデータとROM14の左向から読出さ
れるデータとを乗$1する。第2の乗算器312は2ボ
一トRAM13の第2のポート13bから出力されるデ
ータとROM14の右面から読出されるデータとを乗韓
する。
第1および第2の乗算器311および312の乗算結果
は第1のALU321に与えられ、加算される。第1の
ALtJ321の加算結果はデータバス4を介さずに直
接第2のALU322に与えられる。第2のALU32
2は第1のALU321の乗算結果と、ACC33に蓄
えられているそれまでの乗算結果の累積値とを加算し、
その加算結果をACC33に蓄える。ACC33に蓄え
られた乗算結果の累積値はデータバス4を介して出力さ
れる。
以上のごとく、第1図の実施例では、乗算器。
ALUがそれぞれ2個ずつ設けられているため、積和演
算に関しては第3図の従来のDSPに比べて2倍の処理
能力がある。したがって、データのスループットレート
も第3図の従来例に比べて2倍とすることができる。ま
た、第1および第2の乗算@311および312と、2
ボ一トRAM13、ROM14とが直接結線されている
ので、1命令で2つの乗算器311.312にデータを
セットでき、処理効率の向上を図ることができる。
なお、上記実施例では、2つの乗II器と2つのALt
Jを設けているが、3個以上の乗算器と3個以上のAL
Uを設けるようにすれば、乗算器、ALIJの数に応じ
て積和演算の処理能力が上がることになる。この場合、
各乗算器に同時にデータをセットするためには、2ボ一
トRAM13に代えて、乗算器の数だけのポートを有す
るRAMを設けるか、1ボ一トRAMを乗算器の数だけ
設ければよい。同様に、2面ROM14も乗算器の数だ
けの面を有するROMを設けるか、1面のROMを乗算
器の数だけ設ければよい。
また、上記実施例では、2ポートRA M 13に記憶
された非固定データと2面ROM14に記憶された固定
データ(たとえば定数データ)とを乗算するようにして
いるが、非固定データ同士を乗算するようにしてもよい
。この場合、2面ROM14に代えて2ポ一トRAMを
設ければよい。また、乗算器、 A11lを3個以上設
ける場合は、乗算器の数だけのポートを有するRAMを
2個設けるか、乗算器の数の2倍の個数の1ポート・R
AMを設番プればよい。
ところで、記憶部1に用いられるRAM、ROMのアク
セス速度が演算部3に設けられる各乗算器の演算速度よ
りも何倍も速ければ、各乗算器には時分割でデータをセ
ットしてもよく、この場合はRAM、ROMの個数を削
減することができる。
第3図は上記のようなこの発明の他の実施例を示す機略
ブロック図である。図において、記惚部1に=旧すられ
たRAM11.ROM12は、そのアクセス速度が演算
部3に設けられた第1および第2の乗算器311.31
2の演算速度よりも何倍も速いものである。RAM11
の出力はデータバス4と接続されるとともに、第1.第
2の乗算器311.312のそれぞれの一方入力に接続
される。ROM12の出力はデータバス4と接続される
とともに、第1.第2の乗算器311.312のそれぞ
れの他方入力と接続される。また、第1の乗算器311
とALU321との間には、遅延回路34が設けられる
。その他の構成は、第1図の実施例と同様である。
上記のような構成において、1マシンサイクルの間に、
各乗算器311,312は1回の乗算を行なう能力があ
るとする。RAM11.ROMI2は、1マインサイク
ルの間の前半の期間で第1の乗算器311にデータを送
り、侵半の期間で第2の乗算器312にデータを送る。
したがって、第1.第2の乗算器311.312は1マ
インサイクルの間にセットされたデータの乗算を行なう
が、各乗算器の出力タイミングが異なってしまう。
そこで、遅延回路34によって第1の乗算器311の出
力を所定時間遅延させることにより、ALU321に第
1.第2の乗算器311.312の乗算結果を同時に入
力させる。以後の動作は、第1図の実施例と同様である
なお、上記各実施例では、2WMのALLIを設けてい
るが、このALUの演算速度が各乗算器の乗算速度より
も何倍も速ければ、1個のALUで各乗算器の乗算結果
の加算とACC33の累積値との累積加算を行なわせる
ことができる。3個以上の乗算器を設けた場合も同様で
ある。
[発明の効果] 以上のように、この発明によれば、データメモリに直接
結線された複数の乗算器を設け、これら乗W器と演算論
理部とを直接結線するようにしたので、積和演算の処理
能力を従来のDSPに比べて格段に高めることができ、
それによりデータのスルーブツトレートを向上すること
ができる。
【図面の簡単な説明】
第1図はこの発明の一実施例を示す概略ブロック図であ
る。第2図はこの発明の他の実施例を示す概略ブロック
図である。第3図は従来のDSPの一例を示す概略ブロ
ック図である。 図において、1は記憶部、2は制一部、3は演算部、4
はデータバス、11はRAM、12はROM、13は2
ボ一トRAM、14は2mROM。 21は命令ROM、22はプログラムカウンタ、23は
命令レジスタ、24は命令デコーダ、33はACC,3
4は遅延回路、311,312は乗算器、321,32
2はALUを示す。 代  理  人     大  岩  増  雄手続補
正書(自発) 漉

Claims (8)

    【特許請求の範囲】
  1. (1)記憶部と、制御部と、演算部と、これら記憶部、
    制御部、演算部間のデータ伝送路となるデータバスとを
    備えるディジタル信号処理専用のディジタルシグナルプ
    ロセッサであつて、前記記憶部は、乗算処理すべきデー
    タを格納するデータメモリを含み、 前記制御部は、 プログラムデータを格納するプログラムメモリと、 前記プログラムメモリに格納されたプログラムデータを
    順次読出すための読出手段と、 前記プログラムメモリから読出されたプログラムデータ
    に基づいて、種々のマイクロ命令を出力する手段とを含
    み、 前記演算部は、 前記データメモリと直接結線され、当該データメモリか
    ら出力されるデータに乗算処理を施す複数の乗算器と、 前記複数の乗算器と直接結線され、当該各乗算器の出力
    に所定の算術論理演算を施す演算論理部と、 前記演算論理部の出力を一時的に記憶保持し、かつその
    出力が前記データバスに与えられるアキュムレータとを
    含む、ディジタルシグナルプロセッサ。
  2. (2)前記演算論理部は、複数の演算論理回路を含む、
    特許請求の範囲第1項記載のディジタルシグナルプロセ
    ッサ。
  3. (3)前記複数の演算論理回路は、 前記複数の乗算器と直接結線され、当該複数の乗算器の
    出力を加算処理する加算処理用の演算論理回路と、 前記加算処理用の演算論理回路と直接結線されるととも
    に、前記アキュムレータと接続され、当該アキュムレー
    タに記憶された値に当該加算処理用の演算論理回路の出
    力を累積加算する累積加算用の演算論理回路とを含む、
    特許請求の範囲第2項記載のディジタルシグナルプロセ
    ッサ。
  4. (4)前記データメモリは、複数個のメモリを含む、特
    許請求の範囲第1項記載ディジタルシグナルプロセッサ
  5. (5)前記複数個のメモリは、前記乗算器の2倍の数だ
    け設けられ、 当該複数個のメモリの半分は前記各乗算器の各一方入力
    と直接結線され、 当該複数個のメモリの残りの半分は前記各乗算器の各他
    方入力と直接結線される、特許請求の範囲第4項記載の
    ディジタルシグナルプロセッサ。
  6. (6)前記複数個のメモリは、2個設けられ、当該2個
    のメモリのうち一方は、前記各乗算器の各一方入力に同
    時出力可能なように複数個の出力ポートを有し、 当該2個のメモリの他方は、前記各乗算器の各他方入力
    に同時出力可能なように複数個の出力ポートを有する、
    特許請求の範囲第4項記載のディジタルシグナルプロセ
    ッサ。
  7. (7)前記複数個のメモリは、 非定数データを格納するRAMと、 定数データを格納するROMとを含む、特許請求の範囲
    第4項ないし第6項のいずれかに記載のディジタルシグ
    ナルプロセッサ。
  8. (8)前記データメモリは、前記乗算器の処理速度に比
    べて十分高速なアクセス速度を有するメモリが用いられ
    る、特許請求の範囲第1項記載のディジタルシグナルプ
    ロセッサ。
JP60238829A 1985-10-23 1985-10-23 デイジタルシグナルプロセツサ Pending JPS6297060A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP60238829A JPS6297060A (ja) 1985-10-23 1985-10-23 デイジタルシグナルプロセツサ
US06/922,031 US4771379A (en) 1985-10-23 1986-10-21 Digital signal processor with parallel multipliers
FR8614724A FR2588980B1 (fr) 1985-10-23 1986-10-23 Processeur de traitement de signal numerique comportant plusieurs multiplicateurs
DE19863636106 DE3636106A1 (de) 1985-10-23 1986-10-23 Digitaler signalprozessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60238829A JPS6297060A (ja) 1985-10-23 1985-10-23 デイジタルシグナルプロセツサ

Publications (1)

Publication Number Publication Date
JPS6297060A true JPS6297060A (ja) 1987-05-06

Family

ID=17035890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60238829A Pending JPS6297060A (ja) 1985-10-23 1985-10-23 デイジタルシグナルプロセツサ

Country Status (4)

Country Link
US (1) US4771379A (ja)
JP (1) JPS6297060A (ja)
DE (1) DE3636106A1 (ja)
FR (1) FR2588980B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01305424A (ja) * 1988-06-03 1989-12-08 Oki Electric Ind Co Ltd 撮像装置
JP2012205298A (ja) * 2011-03-28 2012-10-22 Yamaha Corp デジタル信号処理装置およびプログラム

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2592979B2 (ja) * 1990-04-25 1997-03-19 株式会社東芝 信号処理用集積回路装置
GB2243469B (en) * 1990-04-27 1993-10-20 Pioneer Electronic Corp Digital signal processor
DE4123186A1 (de) * 1990-07-13 1992-01-23 Aisuke Katayama Multiplikationseinrichtung vom typ fuer unterteilte produkte, die zum ausfuehren einer multiplikation numerischer werte mit vielen stellen bei hoher genauigkeit faehig ist
US5623683A (en) * 1992-12-30 1997-04-22 Intel Corporation Two stage binary multiplier
DE4304198A1 (de) * 1993-02-12 1994-08-18 Itt Ind Gmbh Deutsche Verfahren zur Beschleunigung der Datenverarbeitung eines Signalprozessors
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5541865A (en) * 1993-12-30 1996-07-30 Intel Corporation Method and apparatus for performing a population count operation
US5642306A (en) * 1994-07-27 1997-06-24 Intel Corporation Method and apparatus for a single instruction multiple data early-out zero-skip multiplier
US6738793B2 (en) 1994-12-01 2004-05-18 Intel Corporation Processor capable of executing packed shift operations
US6275834B1 (en) * 1994-12-01 2001-08-14 Intel Corporation Apparatus for performing packed shift operations
WO1996017293A1 (en) * 1994-12-01 1996-06-06 Intel Corporation A microprocessor having a multiply operation
CN1326033C (zh) 1994-12-02 2007-07-11 英特尔公司 可以对复合操作数进行压缩操作的微处理器
US5819101A (en) * 1994-12-02 1998-10-06 Intel Corporation Method for packing a plurality of packed data elements in response to a pack instruction
JP2636789B2 (ja) * 1995-03-31 1997-07-30 日本電気株式会社 マイクロプロセッサ
US5752001A (en) * 1995-06-01 1998-05-12 Intel Corporation Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition
GB9514684D0 (en) * 1995-07-18 1995-09-13 Sgs Thomson Microelectronics An arithmetic unit
US5721892A (en) * 1995-08-31 1998-02-24 Intel Corporation Method and apparatus for performing multiply-subtract operations on packed data
CN102707922B (zh) * 1995-08-31 2015-10-07 英特尔公司 控制移位分组数据的位校正的装置
US7395298B2 (en) 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
DE69624578T2 (de) * 1995-08-31 2003-09-04 Intel Corp Multiplixier-addierungsvorrichtung für gepackte daten
US6385634B1 (en) * 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US6237016B1 (en) 1995-09-05 2001-05-22 Intel Corporation Method and apparatus for multiplying and accumulating data samples and complex coefficients
US6470370B2 (en) 1995-09-05 2002-10-22 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US6058408A (en) * 1995-09-05 2000-05-02 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5983253A (en) * 1995-09-05 1999-11-09 Intel Corporation Computer system for performing complex digital filters
US5936872A (en) * 1995-09-05 1999-08-10 Intel Corporation Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations
US5822459A (en) * 1995-09-28 1998-10-13 Intel Corporation Method for processing wavelet bands
US5984515A (en) * 1995-12-15 1999-11-16 Intel Corporation Computer implemented method for providing a two dimensional rotation of packed data
US5935240A (en) * 1995-12-15 1999-08-10 Intel Corporation Computer implemented method for transferring packed data between register files and memory
US5757432A (en) * 1995-12-18 1998-05-26 Intel Corporation Manipulating video and audio signals using a processor which supports SIMD instructions
US5815421A (en) * 1995-12-18 1998-09-29 Intel Corporation Method for transposing a two-dimensional array
US5940859A (en) 1995-12-19 1999-08-17 Intel Corporation Emptying packed data state during execution of packed data instructions
US5701508A (en) 1995-12-19 1997-12-23 Intel Corporation Executing different instructions that cause different data type operations to be performed on single logical register file
US5857096A (en) * 1995-12-19 1999-01-05 Intel Corporation Microarchitecture for implementing an instruction to clear the tags of a stack reference register file
US6792523B1 (en) 1995-12-19 2004-09-14 Intel Corporation Processor with instructions that operate on different data types stored in the same single logical register file
AU1465497A (en) * 1995-12-19 1997-07-28 Intel Corporation A computer system performing a two-dimensional rotation of packed data representing multimedia information
US5835748A (en) * 1995-12-19 1998-11-10 Intel Corporation Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file
US5852726A (en) * 1995-12-19 1998-12-22 Intel Corporation Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner
US6036350A (en) * 1995-12-20 2000-03-14 Intel Corporation Method of sorting signed numbers and solving absolute differences using packed instructions
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US5787026A (en) * 1995-12-20 1998-07-28 Intel Corporation Method and apparatus for providing memory access in a processor pipeline
US5880979A (en) * 1995-12-21 1999-03-09 Intel Corporation System for providing the absolute difference of unsigned values
US5742529A (en) * 1995-12-21 1998-04-21 Intel Corporation Method and an apparatus for providing the absolute difference of unsigned values
US5983257A (en) * 1995-12-26 1999-11-09 Intel Corporation System for signal processing using multiply-add operations
US5793661A (en) * 1995-12-26 1998-08-11 Intel Corporation Method and apparatus for performing multiply and accumulate operations on packed data
US5740392A (en) * 1995-12-27 1998-04-14 Intel Corporation Method and apparatus for fast decoding of 00H and OFH mapped instructions
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
US5764943A (en) * 1995-12-28 1998-06-09 Intel Corporation Data path circuitry for processor having multiple instruction pipelines
US5835392A (en) * 1995-12-28 1998-11-10 Intel Corporation Method for performing complex fast fourier transforms (FFT's)
US5862067A (en) * 1995-12-29 1999-01-19 Intel Corporation Method and apparatus for providing high numerical accuracy with packed multiply-add or multiply-subtract operations
US6009191A (en) * 1996-02-15 1999-12-28 Intel Corporation Computer implemented method for compressing 48-bit pixels to 16-bit pixels
US5621674A (en) * 1996-02-15 1997-04-15 Intel Corporation Computer implemented method for compressing 24 bit pixels to 16 bit pixels
US5959636A (en) * 1996-02-23 1999-09-28 Intel Corporation Method and apparatus for performing saturation instructions using saturation limit values
US5822232A (en) * 1996-03-01 1998-10-13 Intel Corporation Method for performing box filter
US6070237A (en) * 1996-03-04 2000-05-30 Intel Corporation Method for performing population counts on packed data types
US5831885A (en) * 1996-03-04 1998-11-03 Intel Corporation Computer implemented method for performing division emulation
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
US5881279A (en) * 1996-11-25 1999-03-09 Intel Corporation Method and apparatus for handling invalid opcode faults via execution of an event-signaling micro-operation
FR2758195B1 (fr) * 1997-01-09 1999-02-26 Sgs Thomson Microelectronics Coprocesseur d'arithmetique modulaire comprenant deux circuits de multiplication operant en parallele
US6014684A (en) * 1997-03-24 2000-01-11 Intel Corporation Method and apparatus for performing N bit by 2*N-1 bit signed multiplication
US6026421A (en) 1997-11-26 2000-02-15 Atmel Corporation Apparatus for multiprecision integer arithmetic
US6081824A (en) * 1998-03-05 2000-06-27 Intel Corporation Method and apparatus for fast unsigned integral division
US6230257B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Method and apparatus for staggering execution of a single packed data instruction using the same circuit
US6041404A (en) 1998-03-31 2000-03-21 Intel Corporation Dual function system and method for shuffling packed data elements
US6418529B1 (en) 1998-03-31 2002-07-09 Intel Corporation Apparatus and method for performing intra-add operation
US7392275B2 (en) * 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
US6230253B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Executing partial-width packed data instructions
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction
US6571268B1 (en) 1998-10-06 2003-05-27 Texas Instruments Incorporated Multiplier accumulator circuits
US6557022B1 (en) * 2000-02-26 2003-04-29 Qualcomm, Incorporated Digital signal processor with coupled multiply-accumulate units
US7155601B2 (en) * 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7430578B2 (en) 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
US7818356B2 (en) 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a SIMD merge instruction
US7624138B2 (en) 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US7739319B2 (en) * 2001-10-29 2010-06-15 Intel Corporation Method and apparatus for parallel table lookup using SIMD instructions
US7047383B2 (en) * 2002-07-11 2006-05-16 Intel Corporation Byte swap operation for a 64 bit operand
US7424501B2 (en) 2003-06-30 2008-09-09 Intel Corporation Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations
US7640285B1 (en) * 2004-10-20 2009-12-29 Nvidia Corporation Multipurpose arithmetic functional unit
US8190669B1 (en) 2004-10-20 2012-05-29 Nvidia Corporation Multipurpose arithmetic functional unit
US8037119B1 (en) 2006-02-21 2011-10-11 Nvidia Corporation Multipurpose functional unit with single-precision and double-precision operations
US20080071851A1 (en) * 2006-09-20 2008-03-20 Ronen Zohar Instruction and logic for performing a dot-product operation
US8051123B1 (en) 2006-12-15 2011-11-01 Nvidia Corporation Multipurpose functional unit with double-precision and filtering operations
US8106914B2 (en) * 2007-12-07 2012-01-31 Nvidia Corporation Fused multiply-add functional unit
US8078836B2 (en) 2007-12-30 2011-12-13 Intel Corporation Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits
US10528346B2 (en) * 2018-03-29 2020-01-07 Intel Corporation Instructions for fused multiply-add operations with variable precision input operands

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4887742A (ja) * 1972-02-21 1973-11-17
JPS5164845A (ja) * 1974-12-03 1976-06-04 Fujitsu Ltd

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2142636C3 (de) * 1971-08-25 1979-08-23 Siemens Ag, 1000 Berlin Und 8000 Muenchen Rechenwerk für die Durchführung digitaler Multiplikationen
DE3381326D1 (de) * 1982-02-15 1990-04-19 Secr Defence Brit Digitales signalverarbeitungsgeraet.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4887742A (ja) * 1972-02-21 1973-11-17
JPS5164845A (ja) * 1974-12-03 1976-06-04 Fujitsu Ltd

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01305424A (ja) * 1988-06-03 1989-12-08 Oki Electric Ind Co Ltd 撮像装置
JP2012205298A (ja) * 2011-03-28 2012-10-22 Yamaha Corp デジタル信号処理装置およびプログラム

Also Published As

Publication number Publication date
DE3636106A1 (de) 1987-04-23
FR2588980B1 (fr) 1993-08-20
FR2588980A1 (fr) 1987-04-24
US4771379A (en) 1988-09-13

Similar Documents

Publication Publication Date Title
JPS6297060A (ja) デイジタルシグナルプロセツサ
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US6820105B2 (en) Accelerated montgomery exponentiation using plural multipliers
US4577282A (en) Microcomputer system for digital signal processing
US4491910A (en) Microcomputer having data shift within memory
EP0329023A2 (en) Apparatus for performing digital signal processing including fast fourier transform radix-4 butterfly computations
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
US4839851A (en) Programmable data path device
US5235536A (en) Absolute difference processor element processing unit, and processor
JPH061438B2 (ja) 倍精度乗算器
JPH05100948A (ja) 2乗演算を実行する速度改良型データ処理システム及びその方法
US4533992A (en) Microcomputer having shifter in ALU input
US4796219A (en) Serial two's complement multiplier
US4065666A (en) Multiply-divide unit
US8607029B2 (en) Dynamic reconfigurable circuit with a plurality of processing elements, data network, configuration memory, and immediate value network
US4506322A (en) Read/write memory cell for microcomputer
US5751999A (en) Processor and data memory for outputting and receiving data on different buses for storage in the same location
US6065127A (en) Multi-mode buffer for digital signal processor
US4519031A (en) Microcomputer with accumulator saturation upon overflow
US6904442B1 (en) Method of implementing logic functions using a look-up-table
JP3144859B2 (ja) 算術論理演算装置
US5617345A (en) Logical operation circuit and device having the same
JP3394052B2 (ja) 多精度運算方法及び多精度運算装置
JP2577452B2 (ja) ディジタルシグナルプロセッサ
JPH0784763A (ja) 乗算回路