JPH01116730A - デイジタル信号処理プロセツサ - Google Patents

デイジタル信号処理プロセツサ

Info

Publication number
JPH01116730A
JPH01116730A JP27481087A JP27481087A JPH01116730A JP H01116730 A JPH01116730 A JP H01116730A JP 27481087 A JP27481087 A JP 27481087A JP 27481087 A JP27481087 A JP 27481087A JP H01116730 A JPH01116730 A JP H01116730A
Authority
JP
Japan
Prior art keywords
data
address
memory
output
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.)
Pending
Application number
JP27481087A
Other languages
English (en)
Inventor
Atsumichi Murakami
篤道 村上
Isao Uesawa
上澤 功
Masatoshi Kameyama
正俊 亀山
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 JP27481087A priority Critical patent/JPH01116730A/ja
Priority to EP93104195A priority patent/EP0551931B1/en
Priority to DE3856220T priority patent/DE3856220T2/de
Priority to EP93104196A priority patent/EP0551932B1/en
Priority to DE3856219T priority patent/DE3856219T2/de
Priority to EP88108755A priority patent/EP0293851B1/en
Priority to DE3851858T priority patent/DE3851858T2/de
Priority to EP93104194A priority patent/EP0554917B1/en
Priority to EP93104238A priority patent/EP0551934A2/en
Priority to DE3856175T priority patent/DE3856175T2/de
Priority to EP19930104197 priority patent/EP0551933A3/en
Priority to US07/201,208 priority patent/US5045993A/en
Priority to CA000568527A priority patent/CA1288169C/en
Publication of JPH01116730A publication Critical patent/JPH01116730A/ja
Priority to US07/755,503 priority patent/US5237667A/en
Priority to US07/750,408 priority patent/US5222241A/en
Priority to US07/750,512 priority patent/US5206940A/en
Priority to US07/750,478 priority patent/US5247627A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、主に信号系列を対象とした演算処理を実行
するディジタル信号処理プロセッサに関するものである
〔従来の技術〕
第1図は9例えば昭和61年度電子通信学会通信部門全
国大会シンポジウム予稿(4810−1)に示された従
来のディジタル信号処理プロセッサであるD88P1(
Digital  5peech 81gnalPro
cessor 1  )の構成を示すブロック図であり
9図において、(1)は命令アドレスを制御するスタツ
クを内蔵したプログラム・カウンタPC,(21はマイ
クロ命令を記憶した命令マスクROM、+31はこの命
令マスクROM+21ないし外部から入力されるマイク
ロ命令をマシンサイクル毎IcI語入力するインストラ
クション・レジスタエRO0(4)はこのインストラク
ション・レジスタエRO+31へ入力されたマイクロ命
令中のデコードが必要なビットフィールドのみを入力す
るインストラクションレジスタIRI、+5)はこのイ
ンストラクションレジスタエR? 141へ入力された
マイクロ命令をデコードするインストラクションデコー
ダ、(6)はマイクロ命令を各機能部へ分配するプログ
ラムバスP−Bu8.(71はこのプログラムバフ、 
P −Bus (6)から出力されるマイクロ命令中の
即値(18ビット幅)を入力し、データバスD −Bu
g(8)へ出力するレジスタフ工、(8)は演算に伴う
データの内部転送に用いられる18ビット幅のデータバ
スD−13us、(9)はデータメモリのアドレスモー
ド指示をプログラムバスP −Bug (61から入力
するレジスタAM、[11は間接アドレス生成に使用す
るアドレスポインタ情報を保持する4WX16ビツト幅
のレジスタAD、fullは外部データーメモリのペー
ジを指定する3ビット幅のページレジスタPR,ff2
は同時に最大3つのアドレス生成が可能な9ビット幅の
アドレス算出器AAU、+13はアドレスレジスタAR
O,f141はアドレスllレジスタARI、115は
アドレスレジスタA12,118はアドレスセレクタR
AS、(171はループカウンタDo、(J棒ハプロセ
ッサの動作モードおよび状態の表示を行うステータスレ
ジスタ8R,α傷はシリアルエ10ポートSxa/″1
、Son/l(至)と外部データメモリとの間で直接デ
ータ転送を行うDMA制御部、翰は外部データメモリへ
出力する12ビット幅のアドレスを保持するアドレスレ
ジスタAR,1211は512WX1aビツトの容量を
持ち、同時Jlc2つのデータの読出し、書込が可能な
デュアルポート内部データメモリ2、P−RAM、@は
被演算入力データを保持するレジスタ・D P O、■
は演算入力データを保持するレジスタDI’ 1.勾は
12E6ビツトフオーマツトの浮動小数点乗算を行う乗
算i51FMPL、@はこの乗算器F M P L e
)4)の結果を保持するレジスタP、@はセレクタ、■
はセレクタ、(至)は主に12E6ビントフオーマツト
の浮動小数点演算を実行する浮動小数点算述論理演算1
FALU、@はこの浮動小数点算述論理演算15FAL
U(至)の出力を保持し、累算等に使用する4WX18
ビツトのアキュームレータAaaO〜AOC!3.ωは
外部データメモリに対する読出し/−it込みデータを
一時保持する目的でデータバスD −Bus (8)に
接続されたデータレジスタDR,Onは外部データメモ
リの読出し/書込制御回路R/ W Cont 、 e
33は外部デバイスとの間で全2重2チヤンネルのシリ
アルデータ転送を実行するシリアルエ10ポートS工0
/1 、800/1 、 @は割込制御回路工nt。
Cont、 、(至)は外部データメモリバス制御回路
Bu80ont、 、(至)は内部タイミングを制御す
るクロンクYfiI御回路CL K Cant、 +(
至)はセレクタである。
第8図は第7図に示したディジタル信号処理プロセッサ
DB8P1のマイクロ命令実行シーケンスを説明したタ
イムチャートであり6図において。
顛は4相のクロックからなるサイクルタイミング。
0υはプログラムカウンタP O11)のアドレス出力
およびインストラクションレジスタI RQ +31へ
のマイクロ命令入力のステージを示すフェッチステージ
タイミング、冊はインストラクションレジスタエR1t
4)へ入力されたマイクロ命令をインストラクションデ
コーダ(5)でデコードするデコードステージ・タイミ
ング、伽3はデコードステージにおいてアドレス算出器
AAtT(12の更新を行うタイミング、@4は浮動小
数点乗算!PM P L+241が動作を行うタイミン
グ、09は浮動小数点算術論理演算器FALσ(至)が
演算を行うタイミング、咽はデータバスD −Bus 
(8)を経由してレジスタ間のデータ転送を行うタイミ
ング、包ηはデータレジスタDRI31を介して外部デ
ータメモリへデータの読出し/書込みを行うタイミング
である。
第9図は第1図に示したディジタル信号処理プロセッサ
DE18P1の4グル一プ忙分類された1語当り32ビ
ット幅で構成されるマイクロ命令の構造を示す図であり
、鏝は命令動作手順を制御するシーケンス命令、  (
51)  はステータスレジスタ8R(lη、アドレス
算出WAAU[12,DMA制御部(Igのモード設定
・初期値設定を示すモード命令。
(52)は主に浮動小数点算術論理演算器FALU@に
対する実行とそれに伴う並列データ転送を制御する演算
命令、  (55)  は任意のレジスタないしデータ
メモリへ即値ロードを実行するロード命令である。
次に動作について説明する。以下、簡単のために各部の
名称は前記説明中で用いた略称を用いるものとする。
先ず、第1図に基づき全体の概略動作を説明する。本信
号処理プロセッサはP −Bus (6)とD −腕θ
(8)が分離された構成を持ち、工RO(31へのマイ
クロ命令入力、  P −Bus (61を介したマイ
クロ命令の転送、インストラクションデコーダ(5)に
よるマイクロ命令のデコード、  D−Bus(8)、
  IPMPL+241.  FALUfi等による命
令の実行をパイプライン処理によって並列に処理を行う
。ここで、  D −Bus (8)、  2 P−R
A M(211を始めとする各実行二二ントは全てレジ
スタベース、すなわち、入力と出力は全てレジスタに接
続された形式となる。このレジスタへのアクセスタイミ
ングは、マシンサイクルの前縁で出力し、マシンサイク
ルの後縁でレジスタヘセットが行われる。すなわち、実
際(処理されるデータは同一マイクロ命令によってレジ
スタへセットされた内容ではなく、1以上前のマイクロ
命令でレジスタへセットされた内容となる。
これを、遅延動作(デイレード動作)と呼び、レジスタ
で演算部内の各部を区切ることで各部を並列に動作させ
ることが可能となる。例えば、  FMPLQ4は本プ
ロセッサではマシンサイクル毎に1回浮動小数点乗算を
常に実行している。ここへ演算データを入力する場合に
は、先ず1つ前のマイクロ命令で:opocc、npt
@ヘデータをセットし。
1つ以上後のマイクロ命令でP(ハ)にセットされて 
いる内容を取り出すことで乗算結果を得る。この内容を
取シ出すまでの間DPOI2’3.DPI(至)、P(
5)によってデータを保持することから1本来はデータ
入力9乗算、データ出力と3マイクロ命令を必要とする
1回の乗算も、連続して処理を行う場合には9等価的に
1マイクロ命令に1回処理を行うことができる。
DEII9P1ではFMPL24とFAI+U(至)が
P(至)を介して接続され、FALU(至)はAC!G
o〜ACC3のでP2!2の内容を累算可能な様構成さ
れている。
これは、  Louis Eichirm  がI!f
lectronics1919年12月20日号で発表
した論文”Packinga signal proc
essor onto a single digit
alboa(1″に示した乗算器−累算器の1対と同様
フィルタリング*  FI T (Faat Four
ier Transform)のバラフライ演算等で多
用される積和演算の1項を1マシンサイクルで実行する
ためのものである。
積和は例えば以下の式に従う。
本プロセッサにおいては1項の積和はDPO@。
DPI(ハ)へのデータ入力、IFMPLG4)での乗
算。
FAI、UF4)mでP(至)ヘセットされ九乗算結果
とACOO〜AC3C5@の累算の3マイクロ命令を必
要とする。もちろん連続して処理を行う場合には1等価
的に1マイクロ命令に1回、1項の積和を実現すること
ができる。当然、この様に1マイクロ命令に1回、1項
の積和を実行するためには1マイクロ命令毎に前出の式
中のail  biに相当する2つの入力データをDP
E@、DPI(ハ)へ入力することが必要となる。その
ため、2P−RAM211VCよってこの2つの入力デ
ータを供給可能とし。
D −Bus t8)へのバス競合を避けるため、2P
−RA M 211から読出されたデータはD −Bu
s t8)を介さずにDPO(2’3.DPI(至)へ
直接転送するパスを備える。主としてこの2P−RAM
211の2入力データのアドレス指定のため、AAt7
(IJはARO(13)。
AR1114)、AR21L51を介して出力される9
ピント幅のアドレスデータ中の2つを選択して出力する
手段を備える。こ0AAUu3は2P−RAMCJII
からの2入力データアドレスとDRC3f)、AR■を
介した外部データメモリへの1出力デ一タアドレス場合
にのみ最高3つのアドレスを同時に指定できる様に構成
される。各々のアドレス指定は全て。
A A U [2の内部に設定されたアドレスポインタ
を用いたいわゆる間接アドレス指定方式のみとなってお
り、ム1o(13に対してはインクリメント、モジュロ
、ビットリバース、リピート、インクリメントベースア
ドレス、インクリメント値の更新等が可能であL他のA
Ri4.AR21Liは単純なインクリメントのみが可
能となっている。AAUα2は9ピント自然2進形式で
のみアドレス演算が可能であシ、外部データメモリアド
レス12ビットを指定する時は、この9ビツトにPRl
lllで指示される3ピントのメモリページ指定とあわ
せて12ビツトとする。
一万、IFMPLt241.FALU(2)は12E6
の正規化浮動小数点形式で演算を実行するため、2P−
RAMell、DPO■、DPI(ハ)、P(ハ)、 
 Accg〜AOO3@、 DIt311.  D−B
uat8)、 B工(7)は全て18ビツト幅で9fi
、IFALU(至)で特別なアドレス初期値を算用する
ためには特種な演算モードを必要とする。このため、A
RO(1謙、AR1tl瘤。
AR2d、AR■とAca(1〜AOC3(2)へセツ
トされる演算結果データの間のデータ互換性は無い。
DMA制御部+11は合計2チヤンネルの全2重シリア
ルエ10ポートS工0/1.soO/Ni3の入出力デ
ータと外部データメモリ間とのデータ転送をマイクロ命
令とは独立に実行する。DMA制御部(19によるデー
タ転送にはD −Bus (8)、 A R(21)。
DRC3Gを使用するため、インストラクションデコー
ダ(5)で制御されるマイクロ命令動作とこの内部リソ
ースの競合が生じる危険がある。
これを回避する目的でDMA制御部α9によるデータ転
送の際には1ワードにつき、6マシンサイクルの間イン
ストラクションデコーダ(5)を休止し。
マイクロ命令による動作を止める。
以上f:まとめると、DBSPlはマイクロ命令実行時
に1マイクロ命令内で以下の動作を並列に実行すること
が可能である。
■ A A U 03による最大3種の9ビツトアドレ
ス演算。
■ FMPLeJ4による12E6の浮動小数点乗算O ■ FALU(2)による1 2FX6の浮動小数点演
算。
■ 2P−RAMc!11とD −Hue (81,D
 Rfiを介した外部データメモリ間でのデータ転送。
■ 2チヤンネルの全2重シリアルエ10ポートS工0
/1.Son/ICRとD −Hue (8)IDRC
31を介した外部データメモリ間のDMAデータ転送。
次に第8図に基づき、DBSPlのマイクロ命令実行タ
イミングについて説明する。DBSPlのマシンサイク
ル+41は1マシンサイクルを4つに分割しfcPO〜
P3の4相のタイミングによって動作し、1マシンサイ
クルのサイクルタイムは公称50 naec  と高速
である。このため、1マシンサイクル内で命令マスクR
OM +21からのマイクロ命令読出し、インストラク
ションデコーダ(5)によるマイクロ命令のデコード、
  FMPLCI!41.  FAI、U(至)等の内
部リソースによる命令の実行の3つの動作を行うことは
実状では困難である。そこで。
DB8P1ではこの3つを各々1マシンサイクル毎のス
テージに分割し、3段パイプラインを構成して高速動作
を実現している。この3段パイプラインの各ステージで
は以下のことが実行される。
■ フェッチ・ステージ0υ pc(1)によるマイクロ命令アドレス出力と命令マス
クROM +2)からのマイクロ命令読出し。および、
工!t O(31へマイクは命令セット。
■ デコード・ステージゆ、(至) 工RO(3)から工It 1 (41へのマイクロ命令
転送とインストラクションデコーダ(5)Kよるマイク
ロ命令デコード。および、プログラム制御モードのセッ
ト。
工RO(31からp −bus (6)へのマイクロ命
令転送とAM+91.  ムD(Inを介したAAtT
l12Oアドレス演算。
■ 実行ステージ(財)、卿、■、(4ηFMPLH,
F’ALU@によるデータ演算。
D −Bus (81rよるデータ転送。AR(25゜
DR(至)を介した外部データメモリ・アクセス等。
これKより、DB8P1は1マイクロ命令の実行に3マ
シンサイクルを必要とする。しかし、パイプライン手法
によシ等価的に1マシンサイクル毎に1マイクロ命令の
実行が可能となる。このため、命令マスクROM +2
)からマイクロ命令を読出す時点から実際に命令を実行
する時点まで2マシンサイクルの遅延を生じる。内部リ
ソースにおけるタイミング競合を完全に防止する目的で
内部バスをP −Bus +6) 、  D −Bus
 (8)に分離し、これに伴って命令マスクROM +
2)と2P−RAM(2])を分離した構成を取るのは
このためによる。しかし1分校命令等では実際に分枝す
るのは■のデコードステージであるためその時点で工R
O(3)へセット中のマイクロ命令は実行されてしまう
。すなわち。
分枝命令の次に書かれた命令は無条件に実行されてしま
うこととなる。これを避ける目的でDBSPlでは分校
命令を実行中は次の命令をN OP(ノーオペレーショ
ン)へ自動的に変更することとしている。この機能はマ
イクロ命令記述の簡単化をねらったものであるが分枝動
作では1マシンサイクルのロスが生じ、更K D −B
uθ(8)を用いた間接分枝では2マシンサイクルのロ
スを生じる。一般に命令記述の頭序を考慮することによ
って約80%程度の無条件分枝は次命令を実行しても問
題が生ぜず、前記ロスの回避は可能であるがDSI9P
1ではこれが不可能である。
次に、第9図に基づきDB8P10マイクロ命令セット
について説明する。マイクロ命令のセットはシーケンス
、モード、演算、ロード命令の4種のみである。
シーケンス命令は分枝、ループ、サブルーチンコールを
制御するものであり主にP C111に対する命令を担
当する。モード命令はA A U T17Jセレクタ1
1.1,0(lη、EIRQI、DMA制御部fiIK
対する初期値およびモード設定を行う命令である。ロー
ド命令はB工(7)を介してD −Bus (13)に
接続されたレジスタに即値(18ビット幅)をロードす
る命令である。以上のマイクロ命令ではその操作対象と
なるリソースが命令動作によって一定となる。−方、演
算命令に関しては前述の並列動作可能な内部リソースの
全てを直接指示する必要がある。このため、演算命令の
ビット長が最多となjj)、  DB8P1は32ビッ
ト幅の水平マイクロ命令を使用している。ここでFMP
LC!41はフリーランとし、前述の様忙命令で直接指
示を行わない。IP A L UfJK対する動作指定
は命令で直接指示を行い2例えば以下のものがある。
■ 絶対値1x1 ■ 符号相関Sign (Y)・X ■ 加算 X+Y ■ 減算 X−Y ■ 最大値MAX(X、Y) ■ 最小値M工N(X、り ■ 固定→浮動変換IPL T (X)■ 浮動→固定
変換?工X (X) ■ シフト    R1、I+1〜L8■ 論理  A
ND 、OR、EOR、NO?■ 仮数加算 XM +
 YM ■ 指数減算  xl −xE ここで問題となるのは、DI38P1では浮動小数点演
算を基本とし、論理・アドレス演算を行う場合に固定小
数点演算となる点である。前述の様に両者には互換性は
なく1例えば演算結果忙よってメモリのアドレス指定を
行う場合、FALU(至)において■の命令を実行する
必要がある。また。
一般の信号処理では浮動小数点でデータの入出力を行う
ことはあまりしないため、デー遡入出力毎に■ないし■
の命令を実行し、データ変換を行う必要がある。
次に問題となるのは浮動小数点データを正規化する際に
常にビットの切捨てを行うことである。
信号処理プロセッサでは演算精度が有限であるために当
然演算誤差を伴う。しかし、ビットの切捨てのみでこれ
に対応する場合、演算結果が常に絶対−値を取った場合
を考えると真値よりも小となることとなり、誤差がラン
ダム化されない。これは演算語長を拡大することで容易
に無視できる程の量とすることが可能であるが9通常の
信号処理プロセッサでは高速動作を要求されるためKこ
れには限界がある。
この様な問題は特にエエR型ディジタルフィルタ(巡回
型)、フレーム間処理を行う画像信号処理では無視でき
ず、D8EIP1においては処理結果を論理演算命令等
によって丸め(四捨五入)することが必要となる。更に
、一般の信号処理アルゴリズムでは演算精度が単位処理
毎に種々規定されることが多く、その精度は必ずしも信
号処理プ・ ロセッサの演算語長とは一致しない。この
場合には単位処理毎に演算データのフォーマット変換を
FALUI21を用いてくシ返すこととなる。
次に問題となるのは、DB8P1では高速処理可能な演
算が前述の積和演算のみに限定されることである。これ
は旧来の代表的な信号処理アルゴリズムであるFPT、
F工Rフィルタでは十分な例えば以下の式で表わされる
もの等も高速処理することが要求される。
Σ 1a1−’b1 l この様な演算はDB8P1ではサポートできず。
全て単一の四則演算に分解して処理する必要があるため
1項の算出に3積の別々の演算を実行しなくてはならな
い。この時、1項毎に上式の結果を算出すると遅延のた
61項当り3X3=9命令を必要とし、処理多重度が極
度に低下する。もちろん2P−RAM+211を使用し
て中間結果をセーブすることで差分十自乗累算という分
類によって多重度を上げることができるが、限られたデ
ータメモリ空間を有効に利用することが困難となり、多
重のデータを処理できない。
例えば第10図に示す様な2進木探索を行う場合を考え
る。ここで、2P−RAM+211上には入力ベクトル
Aかセットされ1図中で番号付けされた各ノードには本
状に構造化された参照ベクトルBが外部データメモリに
第11図に示す様に配置されているものとする。
入力ベクトルAと参照ベクトルBとの間の近似度を表わ
す評価関数は差分絶対値和Σ1a1−bit=  1 (A=(ai + (12) r”’+ aN) + 
B=(bl + b2 + ”、+bs)) とし、こ
の結果が最小となるものを各段で2進本状に選択し、最
終的に最も近似度の高い参照ベクトルを得るものである
。この時、各段の参照ベクトルBは現時点のノード番号
がnの場合。
2n+1と2n+2のノードの2つの参照ベクトルBと
の間で近似度を求めその結果から次段で比較する参照ベ
クトルのノード番号を算出する。この処理をDB8P1
で実現した場合は以下の命令ステップ数を必要とする。
・入力データの変換 N+2ステツプ 111ベクトルの評価値算出 9B+2ステツプ ・評価値の丸め 約3ステツプ ・評価値の比較 4ヌテツプ ・次ノードの参照ベクトルアドレヌ算用約9ヌテツプ これは評価値算出に要するヌテツプの理想値を2Nヌテ
ツプとし、アドレスと入力データの変換が不要であった
場合の約9倍のステップ数となる。
更に、この様な処理の場合、同一処理が連続しないこと
となるため、常に命令の前後関係を意識する必要がある
。このため、処理効率が大幅に劣化するのみならず、プ
ログラム作成が非常に煩雑となり、ソフトウェア開発の
工数上も問題となるのは明らかである。
〔発明が解決しようとする問題点〕
従来のディジタル信号処理プロセッサは以上の様に構成
されているので例えば以下の様な問題点があった。
啼常に命令の前後関係を意識してプログラムを作成する
必要があり、同一の命令を連続して行わない限り処理効
率が上がらない。
・アドレスとデータのフォーマットに互換性がなく、テ
ーブルルックアップ等を行う場合等ではデータ毎にフォ
ーマット変換を行う必要がある。
・演算器が積和のみを対象とするため、これ以外の演算
では効率が極度に劣化し、プログラム作成も煩雑化する
・データの演算精度の制御が困難であり、丸めを自動的
に行うことができない。
・2入力・1出力演算全てをデータメモリから同時に読
出し/−!F込みを行うことができず例えばベクトルデ
ータの処理では効率が極度に劣化する。
−間接アドレスのモード指定が命令中で即時にできず、
アドレスのモード変更を行う毎に処理を中断する必要が
ある。
この発明は上記のような問題点を解消するためだなされ
たもので、以下の点を実現した柔軟性に富み、簡易な装
置開成のディジタル信号処理プロセッサを得ることを目
的とする。
・命令の前後関係を意識せず、同一演算のくシ返しが少
い処理でも効率が低下しない。
・アドレスとデータ7オーマントに互換性を有し、高速
な探索を行う。
・積和のみならず他の高度な処理をも高速処理を行う。
φデータ演算時の演算精度を簡易な手段で効率良く制御
する。
・演算器へのベクトルデータの高速入出力。
・柔軟性の高いアドレッシング方法。
〔問題点を解決するための手段〕
この発明に係るディジタル信号処理プロセッサは、命令
実行パイプラインステージにデータメモリからデータを
読出し演算器へデータを入力するステージと、演算器か
らデータを出力しデータメモリへ書込みを行うか演算器
中の累算器を用いて累算ま念はデータ丸めを行うステー
ジを加えた5ステージ構成とし、52テージ中の実行ス
テージに対応して演算器中にバレルシフタ、乗算器、算
術論理演算器を同列に配置し、書込/累算ステージに対
応してこれらの次段忙正規化用バレルシフタを接続しこ
の出力を丸め/累算用加算器への入力ないし演算器の出
力とするとともに、内部データメモリを2面の2ポート
メモリで構成し各面の1つの読出しポートを対応する演
算器の2本の入力バスへ接続し、他方の読出し/書込み
ポートを演W、器の1本の出力バスないしDMA転送用
バスに接続し、命令実行ステージに対応して演算器に対
する2入力1出力のデータメモリアドレスを2次元的に
並列生成を行うアドレス生成部と、内部データメモリと
外部データメモリ間でDMAバスを用いて2次元的なデ
ータ転送うI) M A IJ御部を設け、このアドレ
ス生成部、DMAIJ御部と演算部のデータ・フォーマ
ットに互換性を有する様に構成したものである。
また、この発明に係るディジタル信号処理プロセッサは
9種々の演算だ対する演算器動作を1意に特定し、これ
に対応する機能コードと前記正規化用バレルシフタ、2
入力、1出力に対する2ソースと1デステイネーシヨン
制御コードを組合せてマイクロ命令コードを構成したも
のである。
〔作用〕
この発明における命令実行パイプラインステージは遅延
動作を考慮したマイクロ命令の記述をほぼ不要とし、同
一命令のくり返し処理が少い場合でも高効率処理が可能
である。
この発明における演算部は積和、差分絶対値和。
差分自乗和の1項の計算とデータの桁調整・および丸め
処理を等価的に1マシンサイクルで実行する。更に、こ
の発明における内部データメモリとバス構造は演算部に
対する2入力・1田方のデータ転送を演算と並列に行う
ものでアシ、これと2次元的アドレス生成を行うアドレ
ス生成器との組合せによシベクトルデータの演算を効率
良く処理する。
この発明におけるアドレス生成器のデータフォーマット
を演算器のデータフォーマットと互換性を有するととに
より9例えばテーブル・ルックアップ、辞書の参照等の
処理においてデータ変換が不要となる。
この発明におけるDMA制御部は内部演算と並列忙外部
データメモリから2次元的データ入出力を行い、演算デ
ータの入出力に要する処理時間を効果的に削減する。
最後に、この発明におけるマイクロ命令セットは内部1
1/Vlリソースの動作の組合せを一意に指定すること
でプログラム記述の煩雑さを解消し。
各マイクロ命令毎にデータの桁数・8よびソース。
デスティネーションのアドレス生成式を指定することで
、複雑なデータ演算の桁v4整や各種データメモリのス
キャン(走査)方法を直接制御することができる。この
ため、命令の前後関係を考慮する必要性を最小限度にお
さえることができ、プログラム記述が簡易化され、縞級
言語(例えばC言語等)で記述することが容易になる。
〔発明の実施例〕
以下、この発明の一実施例を図について説明する。
第1図はこの発明によるディジタル信号処理プロセッサ
の概略を示すブロック図であり9図において、  (1
00)は外部拡張マイクロ命令メモリへ接続するための
外部プログラム・バス、  (101)は内部だ実装さ
れた書込み可能命令メモリwcs。
(102)は外部プログラム・バス(100)又は書込
可能命令メモリW (! B (101)から読出され
るマイクロ命令を入力し、命令実行パイプラインにおい
て所定の動作制御を行うシーケンス制御部、  (10
3)はデータメモリに対する2入力・1出力アドレスを
並列に生成するアドレス生成部、  (104)はこの
2入力・1出力データを並列に転送するため、に備えら
れた各々24ピツトの幅を有する3本の内部データバス
、  (105)はこの3本の内部データバス(104
)中の1つを選択し、外部データバス(111)に接続
する外部データメモリエ/F部、  (106)は3本
の内部データバス(104)に接続され、所定の演算を
行う演算部、  (107)は1本の読出しポートと1
本の読出し/書込みポートを備え、内部データバス(1
04)に接続され念内部データメモリMO。
(108)は同様に内部データメモリMl、(109)
は外部データメモリアドレス生成器と内部データメモリ
アドレス生成器を独自に備えたDMA制御部。
(110)は外部データバス(111)と内部データメ
モリM O(107)ないし内部データメモリM 1 
(108)との間のDMA転送を行うDMAバス、  
(111)は外部の拡張データメモIJ K接続する外
部データバス、  (112)はシーケンス制御部(1
02)へ外部からリセット信号を入力するリセット端子
、  (113)は同様に外部から割込制御信号を入力
する割込端子である。
第2図は第1図における演算部(106)の構成例を示
すブロック図であり9図において、  (120)は3
本の内部データバス(104)中の被演算データを転送
するX−バス、  (121)は同様に演算データを転
送するY−バス、  (122)は同様に出力データを
転送する2−バス、  (123)は1マシンサイクル
で入力データを所定のビット数シフト/ローテートを行
う24ビツト語長のバレルシフタB−8FT。
(−124)は1マシンサイクルで所定の算術論理演算
または差分絶対値の算出を行う24ビツト語長の算術論
理演算器A L U、  (125)は1マシンサイク
ルで24ビツトの乗算を行い47ビツトの結果を出力す
る乗算i5MPY、  (126)は算術論理演算器A
 L U (124)の量分出力を一時保持し0乗算器
M P Y (125)の自乗入力ポートへ出力するこ
とで差分自乗を算出するためのデータ・パイプラインレ
ジスタDPRO,(127)はバレルシ7りB−8IF
 T (123)の24ビット出力ま喪は算術論理演算
器A L U (124)の24ビット出力の一方を選
択し、データ・パイプラインレジスタD P R1、(
129)へ出力するマルチプレクサ、  (12B)は
乗算a MPY(125)の4Tビツト出力を一時保持
するデータ拳パイプラインレジスタDPR2,(129
)はマルチプレクサ(12υの24ビット出力を一時保
持するデータ・パイプラインレジスタD P R1、(
150)はデーターパイプラインレジスタD P R1
(129)からの24ビツトデータまたはデーターパイ
プラインレジスタD P R2(128)の41ビツト
データの一方を選択して入力し、′/!マシンサイクル
で所定の桁数調整を行った後24ビツトデータとして出
力する正規化用バレルシフタN−8FT、  (151
)はこの正規化用バレルシフタN−Elν’I’ (1
30) O24ビット出力、  (152)はワーキン
グレジスタwr(135)からの24ビット累算用出力
、  (133)は累算/丸め用加算器AU、  (1
54)はこの累算/丸め用加算器A U (153)の
24ビット結果出力、  (135)は24ビツト×8
ワード構成のワーキングレジスタWr 、  (156
)は算術論理演算l5ALUのフラグ出力、  (15
7)はこのフラグ出力(136)を条件テストするフラ
グチエツク回路、  (158)はこのフラグチエツク
回路の出力である1ビツトの真偽判定結果を順次記憶す
る24×lビツトの条件テストシフトレジスタtcsr
 、  (139)は正規化用バレルシフタN−8F 
T (150)においてL8B方向、すなわち右シフト
を指示した場合にシフトアウトされた最上位のビットを
そのまま出力する1ビツトのキャリーである。
第3図は第1図に示したディジタル信号処理プロセッサ
の内部データメモリと内部データバスの関係を説明する
図であり、  (140)は内部データメモリM O(
107)の読出しポートからの24ビントデータをX−
バス(120)ないしY−バス(121)O一方へ出力
するデマルチプレクサ、  (141)は内部データメ
モリM 1 (108)の読出しポートからの24ビツ
トデータをX−バス(120)ないしY−バス(121
)の一方へ出力するデマルチプレクサ。
(142)は2−バス(122)ないしDMAバ2 (
110)の書込みデータの一方を選択して内部データメ
モリM O(107)の読出し/書込みポートへ出力す
るマルチプレクサ、  (143)は同様に2−バス(
122)ないしDMAバス(110)の書込みデータの
一方を選択して内部データメモリM 1 (108)の
読出し/書込みポートう出力するマルチプレクサ、  
(144)は書込アドレスDアドレス(147)とDM
A制御部(109)からの内部データメモリアドレスエ
アドレス(148)を内部データメモリM O(107
)ないし内部データメモリM 1 (108)の読出し
/書込みポートのいずれかへ選択して(支)力するアド
レス用2−2セレクタ、  (145)は内部データメ
モリM O(107)の読出しポートアドレスであるS
Oエアドレス(14t5)は内部データメモリM 1 
(108)の読出しポートアドレスであるS1アドレス
、  (147)は内部データメモリM O(107)
ないし内部データメモリM 1 (108)に対する書
込みアドレス、  (148)は゛DMAバス(110
)から転送されるデータに対応する内部データメモリア
ドレスであるエアドレスである。
第4図は第1図中のアドレス発生部(103)の構成を
説明する図であfi、  (150)はシーケンス制御
部(102)へ入力されたマイクロ命令中の即値で示す
ディスプレースメントデータ、  (151)は24ビ
ツト×4ワードのアドレスレジスタAR,(152)は
12ビツト×4ワードのインデックス修飾レジスタI 
X R,(153)はアドレスレジスタA R(151
)とX−バス(120)のデータ入出力バス、  (1
54)はインデックス修飾レジスタI X R(152
)とx−バス(120)のデータ入出力バス、  (1
55)は24ビツト語長のアドレス加算器、  (15
+5)は3系統独立に備えたアドレス生成i1A G 
U、  (157)は24ビツトの書込アドレスを1マ
シンサイクル遅延させる書込アドレスパイプラインレジ
スタDAPR3゜(158)は同様に書込アドレスパイ
プラインレジスタDAPR4である。
第5図は第1図に示したディジタル信号処理プロセッサ
の5ステージで構成された命令実行パイプラインを説明
する図であり、  (160)は4相で構成されるマシ
ンサイクル、  (161)はフェッチステージ、 、
 (162)はデコードステージ、  (165)はデ
コードステージ後半のアドレス更新タイミング。
(164)は読出しステージ、  (165)は実行ス
テージ。
(,166)は書込/累算ステージ前半の正規化用タイ
ミング、  (167)は書込/累算ステージである。
第6図は第1図に示すディジタル信号処理プロセッサの
マイクロ命令セット例の一部を示す図であり0図におい
て、  (170)はロード命令、  (171)は分
枝命令、  (172)は1ソース演算命令、  (1
75)は2ソーヌ演算命令、(17りはソース指示コー
ド。
(175)はデスティネーション指示コード、  (1
7(S)はソース0指示コード、  (177)はソー
ス1指示コードである。
次に動作について説明する。以下、同様に各部の名称は
上記説明で用いた略称を用いる。
先ず、第1図より、全体の概略動作を説明する。
本発明によるディジタル信号処理プロセッサは従来例と
同様プログラムバス(100)とデータバス(104)
が分離された構成を持ち、シーケンス制御部(102)
へのマイクロ命令入力、データバス(104)を介した
演算部(106)のデータ入出力、アドレス生成部(1
03)による2入力I11出力データアドレスの並列生
成、内部データメモリM O(107) 、 Ml(1
08)ないし外部データメモリエ/ F (105)に
よる外部データメモリのアクセスをマイクロ命令によっ
て並列に実行する。更に、DMA制御部(109)によ
υDMAバス(110)を介しこの内部動作と独立に内
部データメモリM O(107) 、  M 1 (1
08)と外部データメモリエ/ F (105)との間
でデータのDMA転送を実行する。ここで、各実行ユニ
ットは従来例と同様にレジヌタベーヌである。本プロセ
ッサでは大半の命令で遅延動作形式としないため、命令
実行パイプライン中に、データの入出力ステージを含め
ている。従って6例えば演算部(106)において加算
を行う場合を考えると、入力。
出力も含め、1ヌテツプのマイクロ命令によって加算命
令を実行すれば良い。このため1種々の演算を組合せた
プログラムでも等価的に1マシンサイクルで1マイクロ
命令の実行が可能である。
但し、命令実行結果を使用できるのは次命令の読出しス
テージとのステージ数差に対応する3命令ステツプ後か
らである。本プロセッサではこれによるロスを避ける意
味を含め結果を直ちに使用する必要のあるものの大半を
複合演算とし、1命令で対応させている。
このため、大半のプログラムではこのロスが発生しない
。演算部(胆り、アドレス生成部(103)のデータ語
長とフォーマットは同一であって、完全に互換性を有す
る。
このため、テーブルルックアップ、辞書参照等の処理に
おいて、演算結果をデータメモリアドレスに直接換算す
ることができる。
次に、第2図に基づき演算部(106)の機能を説明す
る。B−B ’IP T (125)、  A r、+
 U (124)、  MPY(125)は全て1マシ
ンサイクルで動作が可能であり、命令実行パイプライン
ステージ中の実行ステージで動作する。次ステージであ
る書込/累算ステージにおいてはN−8F T (15
0)において桁数調整を行い結果(1!11)を2−バ
ス(122)へ出力しデータメモリへ書込みを行うか、
AU(135)によってvrr(135)の内容(15
2)と累算ないし丸めを行い再び結果(154)をwr
  (155)ヘセットすることができる。ここで、D
PRI(129)、DPR2(128)は各々次ステー
ジへ結果を転送するレジスタである。この構成によって
例えば複合演算は以下の様に実行される。
積和: MPY(125)→DPR2(128)→N−
8IFT(150)→AU(155)→Wr(155) 差分絶対値和: ALU(124)−eMUX(127
)→DPR1(129)→N−8FT(150)→At
e(155)→Wr(155) 差分自乗相: ALU(124)→DPRO(126)
→MPY(125)→DPR2(12B)→N−EIF
T(150)→AU(155)→Wr(155)差分自
乗和に関してはD P RO(126)を用いた遅延動
作となる。しかし、この命令は大半の場合に連続して用
いられるのみで69.こればよる問題は無視できる。
丸めを行う場合1本プロセッサでは以下の手順による。
1  :キャリ(159) すなわち、  B−8FT(150)でシフトアウトさ
れるデータの最上位ビットをキャリとし、  AU(1
55)においてキャリ加算を実行することで丸め処理を
行える。このため、丸めた結果の出力光はwr(155
)のまに限定される。
次に、フラグチエツク回路(157)はAr、+σ(1
24)で比較動作を行った結果の7ラグ(156)をマ
イクロ命令で指示される条件コードに従い1条件が成立
したか否かを示す1ピントのフラグを出力し。
tcsr  (158)へ順次セットして行く。例えば
、2入力のデータ最大値・最小値を求める場合、どちら
を選択したかの履歴を記憶できる。このtCar(15
B)にセットされた内容をMOBからLSBまで水平に
見たものが2進木探索におけるインデックスコードに相
当する。
第3図に基づき内部データメモリの構成を説明する。M
 O(107) 、 M 1 (108)  は各々2
4ピツト×512ワードの2ボ一トRAMであり、演算
部(106)へ2入力データを並列に出力する場合はM
 O(107) 、 M 1(108)の読出しポート
の出力をセL/ / 夕(140) 、 (141) 
 によってx−バ、K (120) Y−++ ハヌ(
121)へ出力する。この時のアドレスはsoアドレヌ
(145)がM O(107)、  S 1アドレス(
145)がM 1 (108)へ出力される。更に、ベ
クトル加算すなわち7+7→での様にソース、デイテイ
ネーション共データメモリを対象とする場合には2−バ
、E (122)からM U X (142)ないしM
UX(145)を通じてM O(107)ないしM 1
 (108)の読出し/書込ポートからデータが書込ま
れる。すなわち、内部動作に関してはバス競合が発生し
ない。
第4図に基づきアドレス発生部−(凹9の構成を説明す
る。アドレス発生部(1)はROアドレス発生!、st
発生器、Dアドレス生成を各々担当する3系統のA G
 U (156)から構成される。各AGUには24ピ
ント×4ワードのA R(151)と12ビツト×4ワ
ードの工X R(152)が備えられてお9. AR(
151)とX X R(152)とディスプレーヌメン
) (1,50)の3項の加算の組合せをアドレス加算
6 (iss)によって行うことで2次元的なアドレス
生成が可能である。
尚、  A G [7(156)の動作はデコードステ
ージであるが書込/累算ステージとは2ステ一ジ分のス
テージ差があるため、Dアドレス(147)はDAPR
3(157) 、 DA、PH1(158)によって2
マシンサイクル遅延されてA G U (15<S)か
ら出力される。A R(151) 。
X X R(152)は各kX−バ、2 (120) 
K接続され。
データフォーマットは演算部(106)と互換性を有し
ている。よって9例えばテーブルルックアップを行う場
合は直接Wr(155)  からX−バス(120)を
介してA R(151)へデータを転送し、そのままS
Oアドレス(145)ないしS1アドレヌ(146)と
してアドレス加算を行えば良い。
本プロセッサの命令実行パイプラインを第5図に基づい
て説明する。命令実行パイプラインは1命令に竹垣下の
5つのステージから構成される。
■ フェッチ・ステージ(161) プログラムカウンタ出力および1ワード(48ビット幅
)のマイクロ命令読出し。
■ デコードステージ マイクロ命令のデコード(162)およびアドレス加算
(165) − ■ 読出しステージ(164) データメモリまたはレジ2タ等のソースデータをX−パ
、2 (120) 、  Y−バ、K(121)経由で
読出し。
■ 実行ステージ(165) B−8FT(125) 、 ALU(124) 、 M
PY(125)による演算。
■ 書込み/累算ステージ N−8FT(150)による正規化(166)およびA
 TT (155)による丸め/累算ないし2−バス(
122)を介したデータメモリへの書込みここで■の書
込み/累算ステージにおいてATT(155)または2
−バス(122)を介したデータ書込みのタイミング(
167)を共有するとはA U (155)の出力はW
r(155)のみにセットされ、2−バス(122)を
使用する場合、  AU(155)は使用しないという
排他的関係があるためである。
以上のシーケンスに従って命令を実行することで煩雑な
遅延を考慮したプログラムの作成がほぼ不要となり、高
級言語コンパイラを用いても効率の良いマイクロプログ
ラムの作成が可能となる。
゛本プロセッサのマイクロ命令は例えば第6図に示す様
になっており、全て48ビット語長の1ワード水平型命
令セツトである。この命令セットでは同時に動作可能な
内部リソースを並列に指示するのではなく、命令対応に
各ステージのリソース動作の組合せを規定した機能コー
ドを用いる。これによって、マイクロ命令の記述が簡易
化する。
この命令セットは大別してロード(170)、分枝(1
71)、  1ソーヌ演算(172)、  2ソーヌ演
算(175)があり0機能コードに対応し、ソース・デ
ヌテイネーションを制御するソースコード(174)、
デヌテイネーションコード(175)、  ソース0コ
ード(176)、  ソース1コード(177)がセッ
トされている。これらのコードは各々データメモリを対
象とする場合はアドレス発生部(105)内の対応する
A G IT (156)に対するアドレッシング指示
コードとなる。この識別はリソースコードによって行わ
れる。この命令セットによシ例えば演算命令毎にアドレ
ッシングモードの切換え、正規化シフト値等の設定を変
更でき、複雑な信号処理アルゴリズムをプログラムする
時にも最小限のロスで記述することが可能となる。
例えば、従来例と同様に第10図に示す2進木探索を実
行する場合1本プロセッサでは近以度の算出を以下の様
にプログラムすれば良い。
ap  N (aubaa  aco、scl、wrz  )  N
回くり返しSCO:入力ベクトルアドレス制御 8ei  :参照ベクトルアドレス制御Wrz :ワー
キングレジヌタ指定 これに要するマシンサイクル数はN+1サイクルであシ
、これを2回くシ返せば方向O1方向1の参照ベクトル
の近以度が求められる。次忙近以度が大のものを決足し
1次段のノード番号を求める処理は以下の様に記述でき
る。
cmp*gs  wro、  wrl  比較し、結果
をtcsr、   (158)へセット op ap mvr   WF2  、ar12 計 7命令 よって1段当りの所要マシンサイクル数は2N+9マシ
ンサイクルである。これは理想値とほぼ一致する程の高
効率処理であることが明らかであり、またプログラムも
簡潔である。
なお、上記実施例では語長を24ビットアドレヌ空間を
16MW(,24ピント)としたもので説明したが他の
語長およびデータフォーマットであってもよい。
また、上記実施例では2進木探索について説明したが、
他の信号処理アルゴリズムも同様に上記実施例と同一の
効果を奏する。
ま九、上記実施例の細部の仕様は本発明の本質とは無関
係であシ9本発明の内容を限定するものではないことは
明らかである。
〔発明の効果〕
以上のように、この発明によればディジタル信号処理プ
ロセッサを高度に適応化させることができるため、高速
な信号処理システムを柔軟かつ簡易に構成することがで
きる効果があシ9本発明の目的を満足する。
【図面の簡単な説明】
第1図はこの発明の一実施例によるディジタル信号処理
プロセッサの構成を示すブロック図、第2図は第1図中
の演算部の構成を示す図、第3図は第1図中の内部デー
タメモリ構成を説明する図。 第4図は第1図中のアドレス生成部の構成を示す図、第
5図は第1図忙示したディジタル信号処理プロセッサの
命令実行タイミングを説明する図。 第6図は第1図に示したディジタル信号処理プロセッサ
のマイクロ命令セットの例を示す図、第7図は従来のデ
ィジタル信号処理プロセッサの一例であるDS8P1の
構成を示すブロック図、第8、図はこのDB8P1の命
令実行タイミングを説明する図、第S図はDB8P10
マイクロ命令セットを示す図、第10図は2進木探索の
動作を説明する図、第11図は第10図における参照ベ
クトルのデータメモリ内での配置例を示す図である。 (100)はプログラムバス、  (101)はWaS
。 (102)はシーケンス制御部、  (105)はアド
レス生成部、  (104)はデータバス、  (10
5)は外部データメモリ内/IF、  (106)は演
算部、  (107)はMO。 (108)はMl、(109)はDMA制御部、  (
110)はIBMムバス、  (111)は外部データ
バス、  (120)はX−バx、(12りはY−バ、
に、  (122)は2−バス。 (125)はB−8IPT、 (12りはALU、 (
125)はMPY、 (126)はDPRO,(127
)はMUX。 (128)はI)PH1,(129)はDPRI、 (
150)はN−8IFT、 (155)はAU、 (1
55)は酊、 (159)は”?−?lJ、  (14
0)はDMX、  (141)はDMX。 (142)はM U !、 (145)はM U !、
 (144)は2−2セレクタ、  (145)はSO
アドレヌ、  (14t5)はs1アドレ;x、  (
147)はD7ドl/7.  (148)はエアドレヌ
、  (150)はデイヌプレーヌメント、  (15
1)はAR,(152)はI X R,(155)はA
 R(151) ヘのX−バス(120)からの大田カ
パヌ、  (154)はエX R(152)へのX−バ
ス(120)からの入出力パヌ、  (155)はアド
レヌ加算器、  (156)はAGU。 (157)はDAPFj3. (158)はD A P
 R4、(160)はマシンサイクル、  (161)
はフェッチタイミング。 (162)はデコードタイミング、  (165)はア
ドレヌ更新タイミング、  (164)は読出しタイミ
ング。 (165)は実行タイミング、  (166)は正規化
タイミ゛   ング、  (IS7)は書込み/累算/
丸めタイミング。 (170)はロード命令、  (171)は分枝命令、
  (172)゛ は1ソーヌ演算命令の例、  (1
75)は2ソーヌ演算命令の例、  (174)はソー
ヌコード、  (175)はデヌテイネーションコード
、  (176)はソーク0コード。 (177)はソース1コードである。 尚1図中、同一符号は同一、又は相当部分を示す。

Claims (13)

    【特許請求の範囲】
  1. (1)種々の内部動作を規定するマイクロ命令が予め記
    述された命令メモリとプログラムバスを介して前記命令
    メモリから1マシンサイクル毎に前記マイクロ命令を読
    出す命令読出し部と、前記マイクロ命令の実行手順を1
    マシンサイクル単位に命令読出し命令デコード、データ
    読出し演算実行、データ書込みまたは累算の5段パイプ
    ラインに分割し1マシンサイクル毎に前記マイクロ命令
    を1語実行するシーケンス制御部と、前記5段パイプラ
    イン中のデータ読出し段階において2項演算に対応する
    2入力データを並列に転送する複数のデータ入力バスと
    、前記5段パイプライン中の演算実行データ書込または
    累算の2段階において前記データ入力バスから転送され
    た2入力データに対し種々の単一演算ないし複合演算を
    実行する演算部とこの演算部の演算結果を記憶し前記デ
    ータ入力バスからデータの読出し可能な複数のワーキン
    グレジスタと、前記5段パイプライン中のデータ書込み
    /累算段階において前記演算部の出力データを転送する
    単一あるいは複数のデータ出力バスと、前記演算部の出
    力を前記ワーキングレジスタないし前記データ出力バス
    の一方を選択して出力する出力制御部と、読出し専用ポ
    ートと読出し書込みポートを備え同時に双方のポートか
    らデータの読出しないし書込みが可能であり2項演算の
    各項に対応したデータおよびその演算結果を個別かつブ
    ロック単位に記憶する複数の2ポートメモリと前記デー
    タ入力バスへこの複数の2ポートメモリの読出し専用ポ
    ート中のいずれか1ないし複数を選択し入力データを読
    出す読出し制御部と、前記データ出力バスからこの複数
    の2ポートメモリの読出し/書込ポート中のいずれか1
    ないし複数を選択し前記演算結果を書込み書込み制御部
    と、前記複数のデータ入力バス中のいずれか1ないし複
    数を選択し外部に備えたデータメモリからデータを読出
    し前記データ出力バス中のいずれか1ないし複数からこ
    のデータメモリへデータを書込む外部データメモリ接続
    部と、前記複数の2ポートメモリ中の読出し/書込みポ
    ートのいずれか1ないし複数を選択しこの外部データメ
    モリ接続部とを接続する前記データ入力バスおよびデー
    タ出力バスと別個に備えられた直接メモリ転送バスと、
    この直接メモリ転送バスを介し、前記シーケンス制御部
    による内部演算とは独立に前記外部データメモリ接続部
    と2ポートメモリとの間でブロック単位にデータの入出
    力を行う直接メモリ転送制御部と、前記データ入力バス
    、データ出力バス、直接メモリ転送バスによる前記外部
    データメモリ接続部の接続競合を調停する外部データメ
    モリ競合制御部と、前記データ入力バスに接続されこれ
    を用いたデータ入出力が可能なアドレスレジスタおよび
    インデックス修飾レジスタを各々複数備え前記5段パイ
    プライン中のデコード段階において前記2ポートメモリ
    ないし外部データメモリに対する読出しおよび書込みア
    ドレスを少くとも前記演算器に対する2入力1出力デー
    タ分並列に生成する複数のアドレス発生器からなるアド
    レス発生部と、このアドレス発生部から出力される読出
    しおよび書込アドレスによつて前記2ポートメモリない
    し外部データメモリ接続部中の対応するものを選択し前
    記5段パイプライン中の読出しおよび書込み段階に同期
    してデータメモリアドレスを指示するアドレス選択指示
    部と、同様にデータ入力バスを介してデータ入出力を行
    いデータ転送範囲を制御する転送アドレス制御レジメタ
    を複数備え前記直接メモリ転送に使用する前記2ポート
    メモリアドレスと外部データメモリ接続部に対するアド
    レス双方を並列に生成する直接メモリ転送アドレス発生
    部とを備えたディジタル信号処理プロセッサ。
  2. (2)演算部およびアドレス発生部において、演算部に
    おけるデータ入出力語長およびデータ形式とアドレス発
    生部におけるアドレスレジスタとアドレス演算の語長お
    よびデータ形式を統一し、演算データをそのままアドレ
    スとすること、またはその逆を可能としたことを特徴と
    した特許請求の範囲第1項記載のディジタル信号処理プ
    ロセッサ。
  3. (3)演算部において、前記データ入力部からデータを
    入力し、1マシンサイクルで入力データを任意ビット数
    シフトないしローテートおよびその結果を他の入力デー
    タと論理演算可能なバレルシフタと、同様に2入力デー
    タに対し1マシンサイクルで少くとも加算、減算、差分
    絶対値演算が可能な算術論理演算器と、同様に2入力デ
    ータに対し乗算および1入力データに対して自乗演算を
    1マシンサイクルで実行する乗算器と、前記バレルシフ
    タ、算術論理演算器および乗算器の演算結果出力のいず
    れか1つを選択して1時保持するレジスタと、このレジ
    スタの出力データに対して多くとも1/2マシンサイク
    ルで所定のビット数シフトを行いデータ桁数調整を行う
    正規化用バレルシフタと、この正規化用バレルシフタの
    出力と前記複数のワーキングレジスタ中の1つを選択し
    て多くとも1/2マシンサイクルで累算を行う加算器と
    、この加算器を用いない場合に多くとも1/2マシンサ
    イクルで前記データ出力バスへ前記正規化用バレルシフ
    タの出力を転送するデータ出力部とを備え、前記5段パ
    イプライン中の実行段階において前記バレルシフタ、算
    術論理演算器、乗算器のいずれか1つを動作させ種々の
    算術論理演算および差分絶対値演算を実行し、実行段階
    において算術論理演算器において差分を求めた結果を1
    時レジスタで保持し前記乗算器において自乗を実行する
    ことで1マシンサイクルで差分自乗を求め、前記5段パ
    イプライン中のデータ書込みないし累算段階において実
    行段階の結果を前記正規化用バレルシフタによつて桁数
    調整を行つた後に累算を行う場合は前記加算器を用いて
    累算し、行わない場合はそのまま前記データ出力バスへ
    出力することで、1マシンサイクルで等価的に種々の算
    術論理演算または積和、差分絶対値和、差分自乗和等の
    複合演算を実行することを特徴とした特許請求範囲第1
    項記載のディジタル信号処理プロセッサ。
  4. (4)アドレス生成部における個々のアドレス生成器に
    おいて、前記アドレスレジスタへ前記データ入力バスか
    らアドレス発生の初期値を書込み、前記インデックス修
    飾レジスタへ同様にデータ入力バスからインデックス修
    飾値を書込み、これとマイクロ命令によつて指示された
    相対アドレス変更量との両者と前記アドレスレジスタと
    の加算を行つた後にその結果によつて前記アドレスレジ
    スタの内容を更新すると同時にこれをデータメモリアド
    レスとする様構成し、マイクロ命令毎に逐次そのアドレ
    ス生成モードを前記アドレス生成器毎に個別に指示する
    ことで複数のマイクロ命令の組合せで2次元的あるいは
    各種アドレス指示を実現することを特徴とした特許請求
    範囲第1項記載のディジタル信号処理プロセッサ。
  5. (5)前記直接メモリ転送制御部と直接メモリ転送アド
    レス発生部において、前記外部データメモリ接続部に対
    するアドレス指示をm行×n列(m、nは正の整数)の
    2次元データアドレス空間中のk行×l列(k、lは正
    の整数)の矩形部分を順次指示する様構成し、前記複数
    の2ポートメモリに対するアドレスを昇順に任意の開始
    アドレスから指示し、このアドレス中の最上位に位置す
    る単一ないし複数のビットを持つて前記複数の2ポート
    メモリ中の1つを選択する様構成することで外部データ
    メモリと前記2ポートメモリとの間での2次元データ転
    送を行うこと、および、この直接メモリ転送の開始にあ
    たつては、マイクロ命令によつて転送方向、転送データ
    数を指示し、終了にあたつては前記直接メモリ転送制御
    部より前記シーケンス制御部へ転送終了を通知すること
    で、前記k行×l列の矩形ブロック単位に外部データメ
    モリとのデータ入出力と内部演算処理を並列に行うこと
    を特徴とした特許請求範囲第1項記載のディジタル信号
    処理プロセッサ。
  6. (6)シーケンス制御部において条件分枝を行う場合、
    予め複数の条件をレジスタに記憶するとともに、これが
    成立した場合に分枝する命令メモリアドレスを予めこの
    条件に対応したレジスタに記憶し、マイクロ命令の指示
    の下で前記複数の条件を並列に検査し、条件が成立した
    ものの中で最も優先順位の高い条件に対応したレジスタ
    中の前記命令メモリアドレスに分枝し、条件が全て不成
    立の場合はこれに対応したレジスタ中の前記命令メモリ
    アドレスに分枝することで複数条件による分枝を1マイ
    クロ命令で実現することを特徴とした特許請求範囲第1
    項記載のディジタル信号処理プロセッサ。
  7. (7)シーケンス制御部において、前記データ入力バス
    から初期値の入力、および内容の出力が可能なループカ
    ウンタおよびリピートカウンタを備え、マイクロ命令に
    よつてリピートを指示された場合は前記リピートカウン
    タの内容から、マイクロ命令毎に1を減じこれがゼロと
    なるまで同一のマイクロ命令をくり返し実行し、マイク
    ロ命令によつてループを指示された場合は前記ループカ
    ウンタの内容から1を減じこれがゼロでない場合にはマ
    イクロ命令によつて指示された命令メモリアドレスへ分
    枝し、ゼロであつた場合はこの分枝を行わずループ動作
    を終了することで単一のマイクロ命令ないし複数のマイ
    クロ命令を所定の回数分くり返して実行することを特徴
    とした特許請求範囲第1項記載のディジタル信号処理プ
    ロセッサ。
  8. (8)外部データメモリ接続部において、予めマイクロ
    命令によつて設定されたアドレスを境界として外部デー
    タメモリを2分し、この一方をアドレスする場合には1
    マシンサイクルで読出し/書込みを完了する高速メモリ
    とし、他方をアドレスする場合には外部からの読出し/
    書込み完了信号が検知されるまで待期する低速メモリと
    したことを特徴とした特許請求範囲第1項記載のディジ
    タル信号処理プロセッサ。
  9. (9)命令メモリにおいて、命令メモリの一部または全
    部を書替え可能な構成とし、この書替え可能な命令メモ
    リに対して機能処理対応にマイクロプログラムを外部装
    置から書込むことで複雑かつ多種類の処理を同一のプロ
    セッサで実現し、これを行わない場合には、外部に備え
    た読出し専用メモリから自律的にマイクロプログラムを
    書込むことを特徴とした特許請求範囲第1項記載のディ
    ジタル信号処理プロセッサ。
  10. (10)マイクロ命令において、前記5段パイプライン
    中の各段の動作を演算の種別対応に一意に規定する機能
    コードと、前記アドレス生成部におけるアドレス発生部
    のアドレス生成モードを1マイクロ命令毎に少くとも2
    入力・1出力ないし1入力1出力のデータメモリ対応に
    個別に指定する入力指定コードおよび出力指定コードと
    、データ入出力の対象がデータメモリのいずれかないし
    レジスタであるかを指定する資源指定コードと、前記演
    算部における正規化用バレルシフタのシフトビット数と
    、演算の種別によつて指示する検査条件コード、即値デ
    ータ、保持条件コードとの組合せによつてマイクロ命令
    セットを形成したことを特徴とした特許請求範囲第1項
    記載のディジタル信号処理プロセッサ。
  11. (11)前記外部データメモリアドレスにおいてプロセ
    ッサ間通信用アドレスを任意に割当て、このアドレスに
    通信用のフアーストイン・ファーストアウトメモリない
    し2ポートメモリを外部に備えて同一のプロセッサない
    し他のプロセッサとの接続を行い複数のプロセッサによ
    つて高速かつ複雑な処理を実現したことを特徴とした特
    許請求範囲第1項記載のディジタル信号処理プロセッサ
  12. (12)演算部における正規化用バレルシフタおよび加
    算器において、正規化用バレルシフタで最下位ビット方
    向へシフトを行つて桁数調整を行う場合にシフトした結
    果切捨てられる最下位からシフトビット数分のデータ中
    の最上位ビットを持つてキャリないしボロービットとし
    、前記加算器においてキャリないしボロー付の加算を前
    記ワーキングレジスタないしゼロデータて行うことでデ
    ータ丸め付累算ないしデータ丸め演算を実行するモード
    を設け、このモードを用いるか否かを前記加算器に対す
    るモード設定またはマイクロ命令によつて直接制御を行
    うことで指示することを特徴とした特許請求範囲第1項
    または第3項のいずれかに記載のディジタル信号処理プ
    ロセッサ。
  13. (13)演算部における算術論理演算器において、2入
    力データの大小関係比較ないし入力データ中の特定のビ
    ットを検査する動作を実行する場合にマイクロ命令中で
    指示される比較結果の検査条件(例えば2入力データが
    等しい等)が成立するか否かを検査し1マイクロ命令毎
    に検査結果をシフトレジスタの1方向から逐次記憶し、
    このシフトレジスタの水平方向から見た内容を前記デー
    タ入力バスから読出し、前記マイクロ命令を複数回実行
    した複数の判定結果を持つて木探索における探索履歴コ
    ードないし複数条件の分枝動作に用いることを特徴とし
    た特許請求範囲第1項または第3項のいずれか記載のデ
    ィジタル信号処理プロセッサ。
JP27481087A 1987-06-05 1987-10-30 デイジタル信号処理プロセツサ Pending JPH01116730A (ja)

Priority Applications (17)

Application Number Priority Date Filing Date Title
JP27481087A JPH01116730A (ja) 1987-10-30 1987-10-30 デイジタル信号処理プロセツサ
DE3856175T DE3856175T2 (de) 1987-06-05 1988-06-01 Digitales Signalverarbeitungssystem in dem ein Prozessor unter Kontrolle eines Hosts auf zwei Befehlsspeicher zugreift
EP19930104197 EP0551933A3 (en) 1987-06-05 1988-06-01 Digital signal processor
EP93104196A EP0551932B1 (en) 1987-06-05 1988-06-01 Digital signal processor processing multi-point conditional branch operations in a pipeline mode
DE3856219T DE3856219T2 (de) 1987-06-05 1988-06-01 Digitaler Signalprozessor mit Adress-Generator für den Zugriff von Daten aus einem Zweidirektionalen Bereich eines Datenspeichers
EP88108755A EP0293851B1 (en) 1987-06-05 1988-06-01 Digital signal processor
DE3851858T DE3851858T2 (de) 1987-06-05 1988-06-01 Digitaler Signalprozessor.
EP93104194A EP0554917B1 (en) 1987-06-05 1988-06-01 Digital signal processing system having two instruction memories accessed by a processor under control of host
EP93104238A EP0551934A2 (en) 1987-06-05 1988-06-01 Digital signal processor
EP93104195A EP0551931B1 (en) 1987-06-05 1988-06-01 Digital signal processor comprising address generator accessing data stored in bidirectional space of data memory
DE3856220T DE3856220T2 (de) 1987-06-05 1988-06-01 Digitaler Signalprozessor der bedingte Mehrpunkt-Sprungbefehle im Pipelinemodus bearbeitet
US07/201,208 US5045993A (en) 1987-06-05 1988-06-03 Digital signal processor
CA000568527A CA1288169C (en) 1987-06-05 1988-06-03 Digital signal processor
US07/755,503 US5237667A (en) 1987-06-05 1991-08-27 Digital signal processor system having host processor for writing instructions into internal processor memory
US07/750,408 US5222241A (en) 1987-06-05 1991-08-27 Digital signal processor having duplex working registers for switching to standby state during interrupt processing
US07/750,512 US5206940A (en) 1987-06-05 1991-08-27 Address control and generating system for digital signal-processor
US07/750,478 US5247627A (en) 1987-06-05 1991-08-27 Digital signal processor with conditional branch decision unit and storage of conditional branch decision results

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27481087A JPH01116730A (ja) 1987-10-30 1987-10-30 デイジタル信号処理プロセツサ

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP6258083A Division JPH07182157A (ja) 1994-10-24 1994-10-24 ディジタル信号処理プロセッサ
JP6258084A Division JPH07168713A (ja) 1994-10-24 1994-10-24 ディジタル信号処理プロセッサ

Publications (1)

Publication Number Publication Date
JPH01116730A true JPH01116730A (ja) 1989-05-09

Family

ID=17546879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27481087A Pending JPH01116730A (ja) 1987-06-05 1987-10-30 デイジタル信号処理プロセツサ

Country Status (1)

Country Link
JP (1) JPH01116730A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0377168A (ja) * 1989-08-19 1991-04-02 Mitsubishi Electric Corp 信号処理プロセッサ
JPH0498572A (ja) * 1990-08-17 1992-03-31 Mitsubishi Electric Corp ディジタル信号処理方式
JPH0667876A (ja) * 1992-08-13 1994-03-11 Yamaha Corp デジタル信号プロセッサ
US6014683A (en) * 1996-12-20 2000-01-11 Nec Corporation Arithmetic operation system for arithmetically operating a first operand having an actual point and a second operand having no actual point
JP2009514097A (ja) * 2005-10-26 2009-04-02 アナログ デバイシーズ インク 改善されたパイプライン化デジタル信号プロセッサ
US9383994B2 (en) 2011-02-15 2016-07-05 Nec Corporation Co-processor for complex arithmetic processing, and processor system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537651A (en) * 1978-09-07 1980-03-15 Matsushita Electric Ind Co Ltd Microcomputer circuit
JPS5729150A (en) * 1980-07-30 1982-02-17 Toshiba Corp Method and device for arithmetic control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537651A (en) * 1978-09-07 1980-03-15 Matsushita Electric Ind Co Ltd Microcomputer circuit
JPS5729150A (en) * 1980-07-30 1982-02-17 Toshiba Corp Method and device for arithmetic control

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0377168A (ja) * 1989-08-19 1991-04-02 Mitsubishi Electric Corp 信号処理プロセッサ
JPH0498572A (ja) * 1990-08-17 1992-03-31 Mitsubishi Electric Corp ディジタル信号処理方式
JPH0667876A (ja) * 1992-08-13 1994-03-11 Yamaha Corp デジタル信号プロセッサ
US5633808A (en) * 1992-08-13 1997-05-27 Yamaha Corporation Digital signal processor
US6014683A (en) * 1996-12-20 2000-01-11 Nec Corporation Arithmetic operation system for arithmetically operating a first operand having an actual point and a second operand having no actual point
JP2009514097A (ja) * 2005-10-26 2009-04-02 アナログ デバイシーズ インク 改善されたパイプライン化デジタル信号プロセッサ
JP2014038640A (ja) * 2005-10-26 2014-02-27 Analog Devices Inc 改善されたパイプライン化デジタル信号プロセッサ
US9383994B2 (en) 2011-02-15 2016-07-05 Nec Corporation Co-processor for complex arithmetic processing, and processor system

Similar Documents

Publication Publication Date Title
EP0293851B1 (en) Digital signal processor
JP3983857B2 (ja) ベクトルレジスタの複数バンクを用いた単一命令複数データ処理
US4370709A (en) Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases
US8074058B2 (en) Providing extended precision in SIMD vector arithmetic operations
US5815715A (en) Method for designing a product having hardware and software components and product therefor
KR100440841B1 (ko) 마이크로컴퓨터
US6671797B1 (en) Microprocessor with expand instruction for forming a mask from one bit
US4367524A (en) Microinstruction execution unit for use in a microprocessor
EP1267256A2 (en) Conditional execution of instructions with multiple destinations
JPH02300983A (ja) 中央処理装置における高速演算処理の方法
JPH0926878A (ja) データ処理装置
JP2001516916A (ja) デジタル信号処理能力を有するデータ処理装置
TWI794789B (zh) 向量運算裝置和方法
US7308559B2 (en) Digital signal processor with cascaded SIMD organization
KR100267089B1 (ko) 스칼라/벡터연산이조합된단일명령복수데이터처리
JP2620511B2 (ja) データ・プロセッサ
US5237667A (en) Digital signal processor system having host processor for writing instructions into internal processor memory
KR20000053047A (ko) Risc 구조의 8비트 마이크로 제어기
JP5326314B2 (ja) プロセサおよび情報処理装置
US6026486A (en) General purpose processor having a variable bitwidth
US20020138712A1 (en) Data processing device with instruction translator and memory interface device
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
EP1143333A2 (en) Microprocessor for supporting reduction of program codes in size
JPH01116730A (ja) デイジタル信号処理プロセツサ
US6223275B1 (en) Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions