JPH11154088A - 二重macプロセッサ操作用のインストラクションセットの数を低減する方法 - Google Patents
二重macプロセッサ操作用のインストラクションセットの数を低減する方法Info
- Publication number
- JPH11154088A JPH11154088A JP10252838A JP25283898A JPH11154088A JP H11154088 A JPH11154088 A JP H11154088A JP 10252838 A JP10252838 A JP 10252838A JP 25283898 A JP25283898 A JP 25283898A JP H11154088 A JPH11154088 A JP H11154088A
- Authority
- JP
- Japan
- Prior art keywords
- double
- statements
- product
- statement
- accumulator
- 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
Links
- 238000000034 method Methods 0.000 title claims description 10
- 230000003247 decreasing effect Effects 0.000 title abstract 2
- 238000009825 accumulation Methods 0.000 claims abstract description 12
- 230000009977 dual effect Effects 0.000 claims description 26
- 230000035508 accumulation Effects 0.000 description 7
- 230000009467 reduction Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000001413 far-infrared spectroscopy Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 208000024234 coloboma, osteopetrosis, microphthalmia, macrocephaly, albinism, and deafness Diseases 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
ンセットの機能をわずか65個のコマンドで実現する疑
似直交二重MACインストラクションセットを提供す
る。 【解決手段】 コマンドの結果の対称性に基づいてイン
ストラクションの数を減らし、プロセッサによるデータ
の順番のようなアイテムに関連した単純な制限を課すこ
とにより行う。コマンドの特別な選択は、二重MACア
ーキテクチャに関連する整合した二倍ワードメモリアー
キテクチャにより決定される。
Description
レータ(dual multiply-accumulator −MAC)ベース
のデジタル信号プロセッサのインストラクションセット
アーキテクチャに関する。
音声のようなアナログ信号ソースからの信号を解析し、
デジタル処理するのに用いられる特殊目的のCPUであ
る。アナログ信号はデジタル信号に変換され、例えば高
速フーリエ変換のような様々なアルゴリズムを用いて解
析される。DSPは、例えば蓄積された値を乗算しシフ
トし蓄積する(アキュームレートする)ようなある種の
数学的処理操作を特に高速で実行するためのものであ
る。DSP用に数学的操作を集約的に処理するアプリケ
ーションは、特にこのような前述したような操作に主に
基づいている。このためDSPは乗算,蓄積,シフト操
作を実行する特別なハードウェア回路を含んでいる。
態は、乗算−蓄積(即ちMAC)プロセッサとして知ら
れている。このMACプロセッサは、2つの値を乗算
し、その結果を別の値に加算してさらにその結果を蓄積
するような多くの共通したデータ処理動作を行うアーキ
テクチャである。これらの基本的な操作は、特別に構成
された高速の乗算器と蓄積器を用いて効率的に実行され
それ故に「乗算−蓄積」と称される。
ために、これらのプロセッサは異なる処理を同時に行え
るよう設計される。このために複数のMAC構造体を有
するDSPアーキテクチャが開発されている。例えば二
重MACプロセッサは、2つの独立したMAC動作を同
時に行うことができる。
−MAC)は、2入力乗算器Mを有し、これが積レジス
タP内にその出力を記憶する。この積レジスタPは、2
入力加算器Aの1つの入力に接続され、この加算器の出
力は数個のアキュムレータ(蓄積器)レジスタの1つに
記憶される。この加算器の第2の入力は、アキュムレー
タのアレイに接続され、連続する一連の蓄積操作が可能
となる。
する複数個のMACプロセッサから構成される。各MA
Cはそれ自身独立したデータストリーム上で動作し、並
列に配置されたMACは、共通のアキュムレータによっ
てのみ結合されている。各個別のMACに対するインス
トラクションの数は制限され、特に数個のMACが並列
ベクトルプロセッサ内で結合されている場合にも制限さ
れている。そして符号化しなければならないMACコマ
ンドの全数は比較的少ない。
のアーキテクチャは、従来の並列ベクトルプロセッサと
は交差接続したデータラインを付加している点で異なる
ものである。図1の二重MACアーキテクチャは、2個
の32ビット入力x,y(それぞれ16ビットのハイデ
ータは、xhとyhと称し、16ビットのローデータ
は、xlとylと称する)からなり、2つの乗算器M
0,M1に対する演算子を保持する。
算器に交差接続され、そのため各乗算器は4個の入力フ
ァクタのうちの何れか2個のファクタで動作可能とな
る。積p0,p1は、2つの加算器A0,A1によりア
キュムレータa0〜a7のいずれかの内容と共に蓄積さ
れる。このp0積はA1加算器に交差して接続され、そ
の結果A1加算器は3個の入力を有する。好ましい実施
例においては、この二重MACプロセッサは、二倍ワー
ド整合メモリアーキテクチャと共に実現され、このアー
キテクチャが単一の32ビットフェッチで、2個の二倍
ワード(double words)を戻す。
チャにより、単一のFIRまたはIIRのデジタルフィ
ルタが並列で一時に2つの「タップ」を行う両方のMA
Cにより処理されるべきシングルデータストリームにフ
ィルタを加えることができる。ここで各「タップ」と
は、「乗算−蓄積」操作を意味する。相互接続されてい
ない従来の複数のベクトルプロセッサは、2個のFIR
フィルタを並列に計算できるが、各フィルタは一時に1
つのタップを処理できるだけである。このため単一のF
IRまたはIIRフィルタに対しては、この交差接続さ
れたアーキテクチャは、従来のベクトルプロセッサより
も二倍早く動作することができる。
アーキテクチャの全ての可能な指示コマンドのリストで
ある。これらのコマンドは、蓄積ステートメントと積ス
テートメントに分けられる。各ステートメントは、一方
のMACサイドまたは別のMACサイドで行われる単一
操作あるいは両方のMACサイドで並列に行われる2つ
の操作のいずれかを表す。これらのコマンドが、アーキ
テクトされたインストラクションの一部として実行され
る場合には、各コマンドは蓄積ステートメント(加算)
と、積ステートメント(乗算)あるいはこれらの加算と
蓄積の組み合わせのいずれかである。
ンストラクションのセットには、12個の蓄積の組み合
わせと、20個の積の組み合わせが存在する。かくして
コマンドプロセッサ内でアーキテクチトされ、コマンド
内で符号化されるコマンドの全数は、12*20+12
+20=272 個である。このアーキテクトされた交
差接続は、アーキテクトされたコマンドとして符号化さ
れる可能な関数の数の組み合わせ乗算となる。
コマンドコード内で272個の二重MAC操作を符号化
するには9ビット(2の9乗=512)が必要である点
である。得られる機能性に影響を与えることなく二重M
ACインストラクションを符号化するのに必要なビット
数を減らすことが好ましい。このことは特にコマンドを
符号化するのに利用できるビット数が限られており、別
のコマンドもまたこの限られた同一数のビット内で符号
化しなければならない時に特にあてはまる。問題となっ
ている特殊の二重MACプロセッサにおいては、わずか
7個のビット(2の7乗=128)が二重MAC操作の
符号化コンマド専用である点である。
的は、二重MAC操作用の符号化コマンドの数を減らす
ような二重MACプロセッサを提供することである。
(near-orthogonal)二重MACインストラクションセ
ットが、わずか65個のコマンドを用いて272個のコ
ンマドの直交インストラクションの全体の機能を実行で
きる。このようにインストラクションのセットを減らす
ことは、コマンドの結果の対称性に基づいてインストラ
ンクションの数を減らし、プログラマによるデータプレ
ゼンテーションのオーダのようなアイテムに関連する単
純な制限を課すことにより達成できる。
テクチャに関連する二倍ワード整合メモリアーキテクチ
ャにより決定される。このように低減されたインストラ
クションセットのアーキテクチャは、コマンドセットの
機能性と固有の平行性(parallelism)を維持し、完全
な直交セットよりも実現すべきコマンドのビット数が少
なくて済む。
ACプロセッサ用には12個の蓄積ステートメントと、
20個の積ステートメントが存在する。そしてこれらは
別個にあるいは組み合わされてアーキテクトされる。疑
似直交インストラクションセットの数を減らすために直
交インストラクションセットの数を減少させることは、
各関数タイプについて以下議論する。
ステートメントがある。 aD=aS+p0 aD=aS−p0 aD=aS+p1 aD=aS−p1 ここでaDとaSは図1の二重MACプロセッサの8個
のアキュムレータa0〜a7のいずれかである。
ことに加えて、各コマンドが向けられるDとSのアキュ
ムレータのアイデンティティは、コマンドのopコード
内にストアしなければならない。これらのコマンドの1
つが実行されると、2個のMACパスのうちの一方のパ
スのみが関連し、他のパスはアイドル状態となる。蓄積
ステートメントの結果が、両方のMACパスに等しくア
クセス可能なアキュムレータ内にストアされているため
に、両方のパスに対するコマンドを符号化する必要はな
い。デフォルトとしてp0パスが選択される。そのため
低減したコマンドのセットは、aD=aS±p0であ
る。
メントがある。 aD=aS+p0+p1 aD=aS+p0−p1 aD=aS−p0+p1 aD=aS−p0−p1
は、プログラマが乗算器への入力の順番を調整すると、
p0とp1をスワップ(入れ換える)してもよいという
ことを認識することにより行われる。しかしこの方法
は、蓄積ストランクションセットと積インストラクショ
ンセットの両方の数を低減するためには用いることがで
きない。その理由は、後述するようにアキュムレータコ
マンドと積コマンドは、アキュムレート/積の対として
符号化することができなければならないからである。
のうちの一方のコマンドのみがこの方法により低減でき
る。この入力を入れ換える方法は、以下に述べるように
積ステートメントに対する最大の低減が可能であり、そ
のため全ての4個の三入力蓄積ステートメントが実現で
きる。
トステートメントがあり、それらは並列に実行できる2
個の二入力蓄積ステートメントから成り立っている。 aD0=aS0+p0 aD1=aS1+p1 aD0=aS0+p0 aD1=aS1−p1 aD0=aS0−p0 aD1=aS1+p1 aD0=aS0−p0 aD1=aS1−p1 ここで、aD0,aD1,aS0,aS1は8個のアキ
ュムレータのうちの1つを指している。
力蓄積ステートメントについて上述した理由と同様な理
由によりその数は減ってはいない。しかし、コマンドo
pコードの他の場所にある符号化ビットの数の減少は、
隣接するアキュムレータ対へのコマンド内で選択された
アキュムレータを制限することにより達成できる。好ま
しい実施例においては、aD0は偶数のアキュムレータ
のアドレスに制限され、aD1はアキュムレータaD0
+1として定義される。アキュムレータの連続する対
は、aDとaDPとして指定されている。同様にアキュ
ムレータ対aS0とaS1もaSとaSPに制限され
る。
されるように、修正したコマンドセットが得られる。 aD=aS+p0 aDP=aSP+p1 aD=aS+p0 aDP=aSP−p1 aD=aS−p0 aDP=aSP+p1 aD=aS−p0 aDP=aSP−p1
いが、アキュムレータ対の一方のアキュムレータのみを
特定すればよく、その理由はコマンドは隣接するアキュ
ムレータ対に制限されるからである。8個のアキュムレ
ータがあるために、3個のビットがアキュムレータを特
定するのに必要である。2個のアキュムレータ(4個で
はなく)のみを指定する必要があるようにするために、
アキュムレータを隣接する対に制限することにより、そ
して定義するアキュムレータ対の偶数のアキュムレータ
を選択することにより、opコードでアキュムレータを
指定するのに必要なビットの全数は12から4に減る。
がある。これらのファクタは2個の分割したレジスタ内
に記憶される。xレジスタは、xhとxlのファクタを
保持し、yレジスタはyhとylのファクタを保持す
る。交差接続されたアーキテクチャであるため4個のフ
ァクタのうちのいずれの2個も各乗算器M0,M1に入
力される。
ある。 p0=xh*yh p0=xh*yl p0=xl*yh p0=xl*yl p1=xh*yh p1=xh*yl p1=xl*yh p1=xl*yl ここで、p0とp1は、それぞれ乗算器M0とM1から
出力された積である。
メントの場合と同様に、2個のMACパスのうちの一方
のパスのみがこれらのコマンドの一方が実行された時に
関係している。かくしてコマンドは、p0側にのみ制限
することができる。さらにxレジスタとyレジスタ内の
ファクタの位置は、プログラマの制御下にある。このセ
ットは、さらに操作を任意に選択されたxhとyhとな
るような2つのファクタ位置のみに制限することにより
さらに減らすことができる。このようにして減らされた
コマンドセットは、さらに単一のp0=xh*yh だけ
である。
ントがある。 1. p0=xh*yh p1=xh*yl 2. p0=xh*yh p1=xl*yh 3. p0=xh*yh p1=xl*yl 4. p0=xh*yl p1=xh*yh 5. p0=xh*yl p1=xl*yh 6. p0=xh*yl p1=xl*yl 7. p0=xl*yh p1=xh*yh 8. p0=xl*yh p1=xh*yl 9. p0=xl*yh p1=xl*yl 10. p0=xl*yl p1=xh*yh 11. p0=xl*yl p1=xh*yl 12. p0=xl*yl p1=xl*yh
は、同一の乗算となり、MACプロセッサが使用され、
そして積レジスタにその結果が現れる点で異なるだけで
ある。その対称対は1−4,2−7,3−10,5−
8,6−11,9−12である。このためさらに数を減
らすことはこの対称性を利用し、各対称対の1個のコマ
ンドのみを符号化する。
6個のコマンドを次に示す。 1. p0=xh*yh p1=xh*yl 2. p0=xh*yh p1=xl*yh 3. p0=xh*yh p1=xl*yl 5. p0=xh*yl p1=xl*yh 6. p0=xh*yl p1=xl*yl 9. p0=xl*yh p1=xl*yl
グラマが必要に応じて、データをxレジスタまたはyレ
ジスタに向けることにより削減できることを認識するこ
とによりさらに減らすことができる。アイテム1と2に
ついては、p0操作は同一である。p1操作は、ハイワ
ードファクタとローワードファクタが選択されるレジス
タが異なるだけである。
データを切り換えることにより、コマンド1と同様な結
果が得られる。かくして、2個のコマンドのうちの一方
のコマンドのみを実行する必要がある。機能性は失われ
ているが、その理由はプログラマは、入力の順序を単に
変えるだけだからである。アイテム6と9もほぼ対称で
ある。
ッサは、整合した二倍ワードメモリアーキテクチャで実
現できる。その結果この疑似対称性は、アイテム3と5
については得られない。理論的には、プログラマはファ
クタデータがレジスタのどこに記録されるかそして二重
MACプロセッサにいかにそれを入力させるかについて
絶対的な制御を有しているが、この整合した二倍ワード
メモリアーキテクチャは、単一の二倍ワード操作内でフ
ェチされ、xレジスタまたはyレジスタにストアされる
2個のデータ値を提供する。
アするか、切り換えることは性能の低下なしに行うこと
ができる。しかし、データを分割することは余分のコマ
ンドを必要とし、そのため性能の低下が発生する。この
ような状況を回避するためにコマンド3と5の両方が実
行される。
は次の通りである。 p0=xh*yh p1=xh*yl p0=xh*yh p1=xl*yl p0=xh*yl p1=xl*yh p0=xl*yh p1=xl*yl
ドのセットを図3に示す。かくして10個の異なる蓄積
ステートメントと5個の異なる積ステートメントが得ら
れ、その結果アーキテクトされたコマンドの全数は、1
0*5+10+5=65 となる。これらの操作をopコ
ードの7ビットで符号化すると、必要なビット数を増加
させることなく63個のコマンドが可能となる。
セットを表す表
疑似直交コマンドセットを表す表
Claims (7)
- 【請求項1】 少なくとも4個の二入力蓄積ステートメ
ントと、少なくとも4個の三入力蓄積ステートメント
と、少なくとも4個の二重二入力蓄積ステートメント
と、少なくとも8個の単一積ステートメントと、少なく
とも12個の二重積ステートメントを有する完全なコマ
ンドセットを有する交差接続された二重MACプロセッ
サを操作するためのインストランクションの数を低減す
るよう構成された二重MACプロセッサ操作用のインス
トラクションセットの数を低減する方法において、 (A) 前記インストラクションセット中に前記2個の
MACプロセッサの特定の1つに関連した二入力蓄積ス
テートメントのみを含ませるステップと、 (B) 前記インストラクションセット中に前記三入力
蓄積ステートメントを含ませるステップと、 (C) 前記インストラクションセット中に前記二重二
入力蓄積ステートメントを含ませ、前記二重二入力蓄積
ステートメントを隣接して番号付けられたアキュムレー
タ対に制限するステップと、 (D) 前記インストラクションセット中に1個の単一
積ステートメントのみを含ませるステップと、 (E) 前記インストラクションセット中に6個の対称
二重積ステートメント対の各々から1個の二重積ステー
トメントのみを含ませるステップとからなることを特徴
とする交差接続された二重MACプロセッサ操作用のイ
ンストラクションセットの数を低減する方法。 - 【請求項2】 (F) 前記インストラクションセット
中に疑似対称対の二重積ステートメントから1個の二重
積ステートメントのみを含ませることにより前記インス
トラクションセットの数をさらに低減させるステップを
さらに有することを特徴とする請求項1記載の方法。 - 【請求項3】 4n個の二重積乗算ステートメントをサ
ポートする交差接続された二重MACアーキテクチャを
有するプロセッサ内で乗算器の対を制御するインストラ
クションセットの数を低減する方法において、 (A) 4n個の二重積ステートメントを2n個の二重
積ステートメントの対称対に配列するステップと、 (B) 前記インストラクションセット内に、前記2n
個の対称二重積ステートメント対の各々から1個の二重
積ステートメントのみを含ませるステップとを有するこ
とを特徴とする交差接続された二重MACアーキテクチ
ャを有するプロセッサ内の乗算器の対を制御するインス
トラクションセット数を減らす方法。 - 【請求項4】 (C) 2n個の対称対から選択された
2n個の二重積ステートメントをn個の疑似対称二重積
ステートメントの対に配列するステップと、 (D) 前記n個の疑似対称対の少なくとも1個の対に
対し、前記インストラクションセット中に前記n個の疑
似対称対の少なくとも1個の対からの1個の二重積ステ
ートメントのみを含ませるステップとをさらに有するこ
とを特徴とする請求項3記載の方法。 - 【請求項5】 加算器に接続される乗算器を有する2個
の交差接続されたMACプロセッサを含むマイクロプロ
セッサにおいて、 前記加算器は、複数のレジスタを有するアキュムレータ
に接続され、 前記乗算器と加算器を制御するインストラクション中の
インストラクションのセットを、 (A) 前記2個のMACプロセッサの一方のプロセッ
サに関連する2個の単一二入力蓄積ステートメントと、 (B) アキュムレータレジスタの所定の対上で動作す
るよう制限された4個の二重二入力蓄積ステートメント
と、 (C) 4個の三入力蓄積ステートメントと、 (D) 1個の単一積ステートメントと、 (E) どの2つも対称対を構成しない4個の二重積ス
テートメントに限定することを特徴とするマイクロプロ
セッサ。 - 【請求項6】前記アキュムレータは8個のアキュムレー
タレジスタを有し、 前記レジスタの所定の対は数字的に隣接するレジスタの
4個の対を含み、 2個のビットがアキュムレータ対を特定するために前記
二重の二入力アキュムレータステートメント内で保存さ
れることを特徴とする請求項5記載のマイクロプロセッ
サ。 - 【請求項7】 出力積レジスタp0とp1を有する第1
と第2の二入力乗算器用の入力として選択的に接続され
る4個の演算子レジスタxh,xl,yh,ylと、 そして入力としてp0内の値と、アキュムレータアレイ
から選択されたレジスタの値を受領し、出力をアキュム
レータアレイに与える第1加算器と、 そして入力としてp0内の値と、p1内の値と、アキュ
ムレータアレイから選択されたレジスタの値を受領し、
出力をアキュムレータアレイに与える第2加算器と、を
有するマイクロプロセッサにおいて、 前記マイクロプロセッサは、データの整合した二倍ワー
ドフェッチをサポートするメモリシステムに接続され、 前記乗算器と加算器を制御するインストラクションのセ
ットを (A) 以下の形式の2個の二入力蓄積ステートメント
と、 aD=aS±p0 ここでaDとaSは、それぞれ宛先とソースのアキュム
レータレジスタを表し、 (B) 以下の形式の4個の三入力アキュムレータステ
ートメントと、 aD=aS±p0±p1 (C) 以下の形式の4個の二重二入力アキュムレータ
ステートメントと、 aD=aS±p0 aDP=aSP±p1 ここでaDPとaSPは、それぞれ宛先とソースのアキ
ュムレータレジスタを表し、その後この宛先レジスタa
DとaDPとソースレジスタaSとaSPのそれぞれ
は、アキュムレータレジスタの所定の対を表し、 (D) p0=xh*yh を形成する1個の単一積ステ
ートメントと、 (E) 以下の形式の4個の二重積ステートメントと、 p0=xh*yh p1=xh*yl p0=xh*yh p1=xl*yl p0=xh*yl p1=xl*yh p0=xl*yh p1=xl*yl に制限することを特徴とするマイクロプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5815797P | 1997-09-08 | 1997-09-08 | |
US60/058157 | 1997-09-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11154088A true JPH11154088A (ja) | 1999-06-08 |
JP3595171B2 JP3595171B2 (ja) | 2004-12-02 |
Family
ID=22015053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25283898A Expired - Fee Related JP3595171B2 (ja) | 1997-09-08 | 1998-09-07 | マイクロプロセッサ |
Country Status (4)
Country | Link |
---|---|
US (1) | US6530014B2 (ja) |
EP (1) | EP0901068B1 (ja) |
JP (1) | JP3595171B2 (ja) |
DE (1) | DE69840187D1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005235004A (ja) * | 2004-02-20 | 2005-09-02 | Altera Corp | 乗算器−累算器ブロックモード分割 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230180B1 (en) | 1998-10-14 | 2001-05-08 | Conexant Systems, Inc. | Digital signal processor configuration including multiplying units coupled to plural accumlators for enhanced parallel mac processing |
US6820189B1 (en) | 1999-05-12 | 2004-11-16 | Analog Devices, Inc. | Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation |
JP2002544587A (ja) * | 1999-05-12 | 2002-12-24 | アナログ デバイセス インコーポレーテッド | デジタル信号プロセッサ計算コア |
US7107302B1 (en) | 1999-05-12 | 2006-09-12 | Analog Devices, Inc. | Finite impulse response filter algorithm for implementation on digital signal processor having dual execution units |
US6859872B1 (en) | 1999-05-12 | 2005-02-22 | Analog Devices, Inc. | Digital signal processor computation core with pipeline having memory access stages and multiply accumulate stages positioned for efficient operation |
US7111155B1 (en) | 1999-05-12 | 2006-09-19 | Analog Devices, Inc. | Digital signal processor computation core with input operand selection from operand bus for dual operations |
JP3935678B2 (ja) * | 2001-01-31 | 2007-06-27 | 富士通株式会社 | Simd積和演算方法、積和演算回路、および、半導体集積回路装置 |
US20030105617A1 (en) * | 2001-12-05 | 2003-06-05 | Nec Usa, Inc. | Hardware acceleration system for logic simulation |
US20040193668A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | Virtual double width accumulators for vector processing |
US7873815B2 (en) * | 2004-03-04 | 2011-01-18 | Qualcomm Incorporated | Digital signal processors with configurable dual-MAC and dual-ALU |
US8074051B2 (en) | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
US7353364B1 (en) * | 2004-06-30 | 2008-04-01 | Sun Microsystems, Inc. | Apparatus and method for sharing a functional unit execution resource among a plurality of functional units |
US20060179273A1 (en) * | 2005-02-09 | 2006-08-10 | Advanced Micro Devices, Inc. | Data processor adapted for efficient digital signal processing and method therefor |
US20060224653A1 (en) * | 2005-04-01 | 2006-10-05 | Kimming So | Method and system for dynamic session control of digital signal processing operations |
US7519794B2 (en) * | 2005-06-29 | 2009-04-14 | Intel Corporation | High performance architecture for a writeback stage |
US20070074000A1 (en) * | 2005-09-28 | 2007-03-29 | Liga Systems, Inc. | VLIW Acceleration System Using Multi-state Logic |
US7444276B2 (en) * | 2005-09-28 | 2008-10-28 | Liga Systems, Inc. | Hardware acceleration system for logic simulation using shift register as local cache |
US20070073999A1 (en) * | 2005-09-28 | 2007-03-29 | Verheyen Henry T | Hardware acceleration system for logic simulation using shift register as local cache with path for bypassing shift register |
US20070129924A1 (en) * | 2005-12-06 | 2007-06-07 | Verheyen Henry T | Partitioning of tasks for execution by a VLIW hardware acceleration system |
US20070129926A1 (en) * | 2005-12-01 | 2007-06-07 | Verheyen Henry T | Hardware acceleration system for simulation of logic and memory |
US20070150702A1 (en) * | 2005-12-23 | 2007-06-28 | Verheyen Henry T | Processor |
US8392174B2 (en) * | 2006-08-07 | 2013-03-05 | International Characters, Inc. | Method and apparatus for lexical analysis using parallel bit streams |
US8516027B2 (en) * | 2010-04-30 | 2013-08-20 | Src, Inc. | Method and system for bit stacked fast Fourier transform |
US10372417B2 (en) * | 2017-07-13 | 2019-08-06 | International Business Machines Corporation | Multiply-add operations of binary numbers in an arithmetic unit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717908A (en) | 1993-02-25 | 1998-02-10 | Intel Corporation | Pattern recognition system using a four address arithmetic logic unit |
DE69519449T2 (de) | 1994-05-05 | 2001-06-21 | Conexant Systems, Inc. | Raumzeigersdatenpfad |
US6055619A (en) * | 1997-02-07 | 2000-04-25 | Cirrus Logic, Inc. | Circuits, system, and methods for processing multiple data streams |
-
1998
- 1998-08-12 US US09/132,882 patent/US6530014B2/en not_active Expired - Fee Related
- 1998-09-04 DE DE69840187T patent/DE69840187D1/de not_active Expired - Lifetime
- 1998-09-04 EP EP98307114A patent/EP0901068B1/en not_active Expired - Lifetime
- 1998-09-07 JP JP25283898A patent/JP3595171B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005235004A (ja) * | 2004-02-20 | 2005-09-02 | Altera Corp | 乗算器−累算器ブロックモード分割 |
Also Published As
Publication number | Publication date |
---|---|
EP0901068A3 (en) | 1999-04-21 |
US20020099923A1 (en) | 2002-07-25 |
EP0901068B1 (en) | 2008-11-05 |
JP3595171B2 (ja) | 2004-12-02 |
EP0901068A2 (en) | 1999-03-10 |
US6530014B2 (en) | 2003-03-04 |
DE69840187D1 (de) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11154088A (ja) | 二重macプロセッサ操作用のインストラクションセットの数を低減する方法 | |
US6286024B1 (en) | High-efficiency multiplier and multiplying method | |
US6922716B2 (en) | Method and apparatus for vector processing | |
US6571268B1 (en) | Multiplier accumulator circuits | |
EP0657804B1 (en) | Overflow control for arithmetic operations | |
EP1763739B1 (en) | Digital signal processors with configurable dual-mac and dual-alu | |
KR101918464B1 (ko) | 스위즐드 버추얼 레지스터 기반의 프로세서 및 스위즐 패턴 제공 장치 | |
US20050021578A1 (en) | Reconfigurable apparatus with a high usage rate in hardware | |
KR20120030332A (ko) | 임플리시트 혼합형 오퍼랜드들을 구비한 dsp엔진 | |
JPH0353652B2 (ja) | ||
JPS63278136A (ja) | 演算回路 | |
KR20060060689A (ko) | 병렬 처리 어레이 및 데이터 처리 방법 | |
US5844828A (en) | Shift circuit and system having the same | |
US8024549B2 (en) | Two-dimensional processor array of processing elements | |
US6675286B1 (en) | Multimedia instruction set for wide data paths | |
EP0403729B1 (en) | Digital-signal processing apparatus | |
KR20190131611A (ko) | 구성가능 논리 유닛 스위칭 장치 및 방법 | |
US6209012B1 (en) | System and method using mode bits to support multiple coding standards | |
JP3593439B2 (ja) | 画像処理装置 | |
US20020040427A1 (en) | Single instruction multiple data processing | |
WO2006083768A2 (en) | Same instruction different operation (sido) computer with short instruction and provision of sending instruction code through data | |
KR0175373B1 (ko) | 칩 면적을 줄인 시변 교차 필터 | |
JPH05324694A (ja) | 再構成可能並列プロセッサ | |
JPH06309349A (ja) | プログラム制御のプロセッサ | |
JP2511262Y2 (ja) | デジタル信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040216 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040514 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040714 |
|
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: 20040811 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040902 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080910 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080910 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090910 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100910 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100910 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110910 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120910 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130910 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |