JPH08123682A - ディジタル信号処理装置 - Google Patents

ディジタル信号処理装置

Info

Publication number
JPH08123682A
JPH08123682A JP6284425A JP28442594A JPH08123682A JP H08123682 A JPH08123682 A JP H08123682A JP 6284425 A JP6284425 A JP 6284425A JP 28442594 A JP28442594 A JP 28442594A JP H08123682 A JPH08123682 A JP H08123682A
Authority
JP
Japan
Prior art keywords
data
instruction
bus
memory
buses
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
Application number
JP6284425A
Other languages
English (en)
Other versions
JP3579843B2 (ja
Inventor
Minoru Takagi
実 高木
Yoshinori Matsushita
義則 松下
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.)
Texas Instruments Japan Ltd
Original Assignee
Texas Instruments Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Japan Ltd filed Critical Texas Instruments Japan Ltd
Priority to JP28442594A priority Critical patent/JP3579843B2/ja
Priority to US08/547,267 priority patent/US5822613A/en
Publication of JPH08123682A publication Critical patent/JPH08123682A/ja
Application granted granted Critical
Publication of JP3579843B2 publication Critical patent/JP3579843B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7857Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using interleaved memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】演算処理効率を損なうことなく外部メモリより
データを読み込めるようにして、パイプライン処理能率
および演算処理回数を向上させる。 【構成】C−BUS10には、係数メモリ(C−ME
M)16と、汎用メモリ(G−RAM)20と、算術論
理演算ユニット(ALU)26と、積和演算器(MA
C)28と、プログラムメモリ(P−MEM)32と、
ホストインタフェース回路(HOST−I/O)34と
が接続されている。D−BUS12には、データメモリ
(D−MEM)18と、汎用メモリ(G−RAM)20
と、外部メモリ用入出力インタフェース回路(EX−I
/O)22と、オーディオ・インタフェース回路(AU
−I/O)24と、算術論理演算ユニット(ALU)2
6と、積和演算器(MAC)28とが接続されている。
G−BUS14には、汎用メモリ(G−MEM)20
と、外部メモリ用入出力インタフェース回路(EX−I
/O)22と、算術論理演算ユニット(ALU)26と
が接続されている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パイプライン方式のデ
ィジタル信号処理装置に関する。
【0002】
【従来の技術】従来より、ディジタルフィルタ、ディジ
タル自動等化、高速フーリエ変換(FFT)等のように
数多くの積和演算を扱うディジタル信号処理にDSP(D
igitalSignal Processor)が用いられている。一般にD
SPは、高速の積和演算処理を実現するために、高速乗
算器、加算器、プログラム用メモリ、データ用メモリ等
を内蔵し、パイプライン処理を行えるマイクロプログラ
ム制御またはPLA制御型のマイクロプロセッサとして
構成されている。また、DSPは、入出力機能も備えて
おり、記憶するデータが多い場合には、入出力インタフ
ェースを介して外部の補助メモリにデータを蓄えるよう
にしている。
【0003】上記のような外部メモリにDSPが随時ア
クセスできるようにするために、一般的には図8に示す
ようなシステム構成が採られている。このDSPシステ
ムでは、DSP100内の演算制御部102が外部メモ
リ104にアドレス情報を直接与え、書き込み時には演
算制御部102からの書き込みデータがデータバス10
6および入出力ポート108を介して外部メモリ104
に送られ、読み出し時には外部メモリ104からの読み
出しデータが入出力ポート108およびデータバス10
6を介して演算制御部102に送られる。
【0004】しかし、この方式では、データ転送が完了
するまで演算制御部102内の各部は次のステップに移
れないため、パイプライン処理がその間ホールド状態に
なるという不具合がある。実際、演算制御部102が内
部メモリ110にアクセスするときと比べて、外部メモ
リ104へのアクセスに要する時間は長いのが普通であ
る。
【0005】たとえば、音場再生、音場補償等のオーデ
ィオ・ディジタル信号処理では、CD(Compact Disc)
からのオーディオデータが16ビットのデータ長を有し
ている。このようなオーディオデータを16ビットのデ
ータ長のままで外部メモリ104との間で入出力すると
なると、入出力ピンの個数の増大および外部メモリデバ
イスの個数の増大等を来し、ハードウェアコストが相当
高くなってしまう。これは、反射音の処理等のように大
量の遅延データを扱う場合に特に顕著となる。このた
め、外部メモリ104との間の入出力ビット数を少なく
し、入出力回数を多くすることにより、全体のハードウ
ェアコストを下げるようにしている。しかし、その代償
として、外部メモリ104へのアクセス時間が長くなっ
ており、それだけパイプラインがホールドされる時間も
長く、DSPの処理能率が低くなるという問題を起こし
ている。
【0006】図9は、上記の問題を解決する方式として
従来より採られているDSPシステムの構成を示す。こ
の方式では、DSP100’内に、外部メモリ104に
対してデータの書き込みおよび読み出しを行える外部メ
モリコントローラ112を設けている。この外部メモリ
コントローラ112は、アドレス情報を一時的に保持す
るためのアドレスレジスタ112aと、データを一時的
に保持するためのデータレジスタ112bとを有してい
る。
【0007】演算制御部102が外部メモリ104にデ
ータを書き込むとき、演算制御部102はアドレス情報
およびデータをデータバス106を介して外部メモリコ
ントローラ112に転送するだけでよく、これで演算制
御部102の各部が次のステップに移れる。一方、外部
メモリコントローラ112は、演算制御部124からの
アドレス情報およびデータをそれぞれアドレスレジスタ
112aおよびデータレジスタ112bに保持し、外部
メモリ112にアクセスして当該アドレス情報で指定さ
れるメモリ番地に当該データを書き込む。この書き込み
は、予め規定されたサイクルで行われる。
【0008】演算制御部102が外部メモリ104より
データを読み出すとき、演算制御部102はアドレス情
報をデータバス106を介して外部メモリコントローラ
112に転送する。外部メモリコントローラ112が外
部メモリ104よりデータを読み出すときにも、予め規
定されたサイクルを要する。外部メモリコントローラ1
12において、アドレスレジスタ112aに演算制御部
102からのアドレス情報がロードされた時、データレ
ジスタ112bには前回のメモリサイクルで外部メモリ
104から読み出されたデータが格納されている。した
がって、演算制御部102は今回のアドレス情報を外部
メモリコントローラ112に送ると同時に外部メモリコ
ントローラ112から前回のデータを受け取ることがで
き、演算制御部102の各部が直ちに次のステップに移
れる。
【0009】このように、外部メモリコントローラ11
2が外部メモリ104に対するデータの書き込みおよび
読み出しを実行するため、演算制御部102は外部メモ
リコントローラ112との間でデータバス106を介し
てアドレス情報およびデータの転送を行えばよく、パイ
プライン処理をホールドしなくて済む。
【0010】
【発明が解決しようとする課題】上記した図9のDSP
システムは、外部メモリ104をアクセスする際に全体
のパイプライン処理をホールドしなくて済むという限り
では、演算処理の高速性を担保している。しかしなが
ら、演算制御部102が外部メモリコントローラ112
にアクセスする間はデータバス106が使用中となるた
め、演算制御部102内で演算処理を行うことはできな
い。つまり、外部メモリ104を1回アクセスすること
で演算制御部102における演算処理を1回減らしてい
る。上記したような音場再生等のオーディオ・ディジタ
ル信号処理では、オーディオ信号のサンプリング周波数
で規定される一定時間内にどれだけ多くの積和演算を実
行できるかでDSPの性能が決まる。この従来システム
では、外部メモリ104からデータを読み出す命令の実
行によって演算制御部102における演算処理回数が減
少するため、DSPの性能を十分に引き出せないという
問題があった。
【0011】本発明は、かかる問題点に鑑みてなされた
もので、演算処理効率を損なうことなく外部メモリより
データを読み込めるようにして、パイプライン処理の高
速性を確保すると同時に単位時間当たりの演算処理回数
を可及的に多くし、処理能力を向上させたディジタル信
号処理装置を提供することを目的とする。
【0012】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明の第1のディジタル信号処理装置は、パイ
プライン方式で一連の命令を実行してディジタル信号を
処理するディジタル信号処理装置において、異なるデー
タを同時に転送できるようになされた第1、第2および
第3のバスと、前記第1のバスに接続された第1の内部
メモリと、前記第2のバスに接続された第2の内部メモ
リと、前記第1および第2のバスに接続された演算手段
と、前記第3のバスに接続されるとともに、少なくとも
前記第1および第2のバスの一方に接続された第3の内
部メモリと、前記第3のバスに接続されるとともに、少
なくとも前記第1および第2のバスの一方に接続され、
かつ外部メモリにデータの書き込みおよび読み出しを行
える入出力インタフェース手段とを有し、所定の1つの
命令実行サイクルの間に、前記第1および第2のバスを
使用する第1の命令と、前記第3のバスを使用する第2
の命令とを並列的に実行する構成とした。
【0013】また、本発明の第2のディジタル信号処理
装置は、上記第1のディジタル信号処理装置において、
前記所定の1つの命令実行サイクルの間に、前記第1の
命令については、前記第1および第2の内部メモリから
それぞれデータが読み出されて、それらの読み出された
データが前記第1および第2のバスを介して前記演算手
段に転送され、次いで前記演算手段で両データについて
所定の演算が行われ、前記第2の命令については、前記
第3の内部メモリより所定のアドレス情報が前記第3の
バスを介して前記入出力インタフェース手段に送られ、
次いで予め前記外部メモリより前記入出力インタフェー
ス手段に読み出されているデータが前記第3のバスを介
して前記第3の内部メモリに転送される構成とした。
【0014】また、本発明の第3のディジタル信号処理
装置は、上記第2のディジタル信号処理装置において、
前記第3の内部メモリには、前記外部メモリにアクセス
するための前記アドレス情報を格納するための第1のメ
モリ領域と、前記外部メモリより転送されたデータを格
納するための第2のメモリ領域とが設定され、各々対応
する前記アドレス情報と前記データとはそれぞれが格納
される前記第1のメモリ領域におけるメモリ番地と前記
第2のメモリ領域におけるメモリ番地との間に一定のオ
フセットを有している構成とした。
【0015】本発明の第4のディジタル信号処理装置
は、パイプライン方式で一連の命令を実行してディジタ
ル信号を処理するディジタル信号処理装置において、異
なるデータを同時に転送できるようになされた第1、第
2および第3のバスと、前記第1および第2のバスにそ
れぞれ接続され、少なくとも一方がデュアルポート型に
構成されるとともに前記第3のバスにも接続された第1
および第2の内部メモリと、前記第1および第2のバス
に接続された演算手段と、前記第3のバスに接続される
とともに、少なくとも前記第1および第2のバスの一方
に接続され、かつ外部メモリにデータの書き込みおよび
読み出しを行える入出力インタフェース手段とを有し、
所定の1つの命令実行サイクルの間に、前記第1および
第2のバスを使用する第1の命令と、前記第3のバスを
使用する第2の命令とを並列的に実行する構成とした。
【0016】
【作用】本発明のディジタル信号処理装置では、主とし
て演算処理に用いられる第1および第2のバスの外に、
入出力インタフェース手段に接続するデータ転送用の第
3のバスを設けている。これにより、1つの並列型命令
の命令実行サイクルの中で、第1および第2のバスを用
いて演算命令が実行されると同時に、第3のバスを用い
て外部メモリからのデータを内部メモリに取り込むこと
ができる。
【0017】
【実施例】以下、図1〜図7を参照して本発明の実施例
を説明する。
【0018】図1は、本発明の一実施例によるオーディ
オ・ディジタル信号処理用DSPのシステム構成を示
す。このDSPシステムは、互いに独立した3本のデー
タバス(C−BUS10,D−BUS12,G−BUS
14)を有し、これらのバスに各部を図示のように接続
してなる。
【0019】C−BUS10には、係数メモリ(C−M
EM)16と、汎用メモリ(G−RAM)20と、算術
論理演算ユニット(ALU)26と、積和演算器(MA
C)28と、プログラムメモリ(P−MEM)32と、
ホストインタフェース回路(HOST−I/O)34と
が接続されている。
【0020】D−BUS12には、データメモリ(D−
MEM)18と、汎用メモリ(G−RAM)20と、外
部メモリ用入出力インタフェース回路(EX−I/O)
22と、オーディオ・インタフェース回路(AU−I/
O)24と、算術論理演算ユニット(ALU)26と、
積和演算器(MAC)28とが接続されている。
【0021】G−BUS14には、汎用メモリ(G−M
EM)20と、外部メモリ用入出力インタフェース回路
(EX−I/O)22と、算術論理演算ユニット(AL
U)26とが接続されている。
【0022】C−MEM16、D−MEM18およびG
−MEM20は各々RAM(RandamAccess Memory)か
らなる。C−MEM16には、主として積和演算のため
の係数データが格納されるとともに、EX−I/O22
に接続されている外部メモリ(図示せず)にアクセスす
るためのアドレス情報も格納される。D−MEM18に
は、積和演算その他の演算に用いるデータ(主としてオ
ーディオデータ)および演算結果のデータが格納され
る。
【0023】G−MEM20は、通常はD−MEM18
の拡張メモリとして使用される。音場再生等のように大
量の遅延データを扱う場合には、D−MEM18に入り
切れない遅延データがRAMからなる外部メモリに蓄積
され、必要な時に後述する所定の命令(BRDE命令)
によって外部メモリから遅延データをG−MEM20に
取り込むようにしている。この場合、G−MEM20に
は、外部メモリをアクセスするためのアドレス情報も格
納される。なお、G−MEM20は、C−MEM16の
拡張メモリとしても使用可能であり、必要に応じて係数
データを格納することもある。
【0024】C−MEM16、D−MEM18およびG
−MEM20には、それぞれアドレス計算を行うための
アドレッシングユニット17,19,21が付いてい
る。
【0025】EX−I/O22は、上記遅延データ蓄積
用の外部メモリにも接続され、その外部メモリにアクセ
スしてデータの書き込みまたは読み出しを行えるメモリ
制御機能を有しており、メモリアクセスのアドレス情報
を保持するアドレスレジスタと書き込みまたは読み出し
データを保持するデータレジスタを内蔵している。
【0026】AU−I/O24は、本DSPと外部のデ
ィジタル・オーディオ回路との間でデータのやりとりを
行うためのインタフェース回路であり、たとえば前段の
CD再生回路や次段のディジタルフィルタあるいはD/
Aコンバータ等に接続されている。外部回路からオーデ
ィオ信号(データ)が入力されるときは、AU−I/O
24内のレジスタに1個のデータが揃うと、後述する制
御装置32に割り込みがかけられ、割込み処理で該デー
タがD−BUS12を介してD−MEM18に格納され
るようになっている。
【0027】ALU26は、任意の算術演算および論理
演算を行う演算器であり、アキュムレータも内蔵してい
る。MAC28は、専ら積和演算を行う演算器であり、
乗算器とアキュムレータと内蔵している。このように2
つの演算器(ALU26、MAC28)が備えられてい
るため、たとえばALU26で加算を行いながらMAC
28で畳み込みを行うというような並列処理が可能とな
っている。
【0028】P−MEM32はRAM(Randam Access
Memory)からなり、本DSPの処理動作を規定するプロ
グラムを格納する。制御回路30は、P−MEM32か
ら命令を逐次読み出し、PLA(Program Logic Array)
制御方式でシステム内のレジスタ、ゲート類(図示せ
ず)を制御し、各部に当該命令を実行させるように機能
する。図1では、説明の便宜上、制御バスは図示してい
ない。
【0029】HOST−I/O34は、本DSPとホス
トコントローラ(図示せず)との間でプログラムやデー
タをやりとりするためのインタフェース回路であり、C
−BUS10とはパラレルポートで接続され、ホストコ
ントローラとはシリアルポートで接続されている。P−
MEM32に格納されるプログラム、C−MEM16に
格納される係数データおよびアドレス情報、G−MEM
20に格納されるアドレス情報は、ホストコントローラ
より与えられ、HOST−I/O34からC−BUS1
0を介して各メモリにダウンロードされる。なお、P−
MEM32内のプログラムによりアドレス情報が変更さ
れる場合もある。
【0030】本実施例のDSPでは、上記のように3本
のデータバス(C−BUS10,D−BUS12,G−
BUS14)を設けており、これらのバス上で異なるア
ドレス情報またはデータを並列転送できるようになって
いる。
【0031】C−BUS10上では、上記のようにホス
トコンピュータより各メモリにダウンロードされるプロ
グラム、アドレス情報、データの外に、C−MEM16
よりD−MEM18またはEX−I/O22へ与えられ
るアドレス情報、C−MEM16よりALU26または
MAC28に与えられる係数データ等が択一的に転送さ
れる。
【0032】D−BUS12上では、AU−I/O24
とD−MEM18との間でやりとりされる入出力オーデ
ィオデータ、D−MEM18とEX−I/O22との間
でやりとりされる遅延オーディオデータ、D−MEM1
8とALU26またはMAC28との間でやりとりされ
る演算データ等が択一的に転送される。
【0033】G−BUS14上では、G−MEM20と
EX−I/O22との間でやりとりされるアドレス情報
および遅延オーディオデータ、G−MEM18からAL
U26に与えられる演算データ等が転送される。
【0034】このように、3本のデータバス(C−BU
S10,D−BUS12,G−BUS14)上で異なる
アドレス情報またはデータを同時に並列転送できるた
め、後述するように1つの命令実行サイクルで2つの命
令を並列処理することが可能となっている。
【0035】図2は、本実施例のDSPにおける命令ワ
ードのフィールド配置図である。図2の(A)は命令ワ
ードの一般形式を示す。たとえば32ビット長の1つの
命令ワードの中で2つの命令(プライマリ命令、セカン
ダリ命令)を指定することが可能となっており、ビット
[29〜22]のフィールドがプライマリ命令のオペコ
ードに割り当てられ、ビット[21〜14]のフィール
ドがセカンダリ命令のオペコードに割り当てられてい
る。ビット[31,30]は、2つの命令の組み合わせ
形式(モード)を指定する。ビット[13〜0]は、オ
ペランドのアドレス指定に使われる。
【0036】1つの命令ワードでプライマリ命令または
セカンダリ命令のいずれかを指定することも可能であ
る。図2の(B),(C)に、それぞれプライマリ命
令、セカンダリ命令が単独で指定される場合のフィール
ド配置を示す。
【0037】本実施例のDSPにおいては、G−BUS
14を用いて外部メモリからのデータ(遅延オーディオ
データ等)をG−MEM20に転送するためのバックグ
ランド外部メモリ読出命令(BRDE)が設定可能とな
っている。1つの命令ワードの中にBRDE命令が単独
で指定されるときは、図2の(D)に示すような配置と
なり、セカンダリ命令のフィールドにBRDE命令のオ
ペコードが入る。BRDE命令におけるアドレスは、規
定アドレスを基にG−MEM20のアドレス演算ユニッ
ト21で生成されるため、オペランドは不要であり、ア
ドレッシング・フィールドは空き領域となる。1つの命
令ワードの中にBRDE命令が他の命令(プライマリ命
令)と一緒に指定されるときは、図2の(D)と(A)
とが合成された配置になり、アドレッシング・フィール
ドはプライマリ命令のオペランドに供される。
【0038】次に、図3〜図7を参照して本実施例のD
SPにおける幾つかの命令の命令実行サイクルの動作に
ついて説明する。
【0039】図3は、MAC28を用いて所定の積和演
算処理を行うMAC命令の1つである「MAC△SS,
D(xx),*C0 ,M0 」の命令実行サイクルを示
す。この命令は、「アドレス(xx)で指定されるD−
MEM18のメモリ番地の内容と(アドレッシングユニ
ット17内の)C0 レジスタの内容(アドレス情報)で
指定されるC−MEM16のメモリ番地の内容とを乗算
し、その乗算結果を(MAC28内の)M0 レジスタの
内容とを加算し、その加算結果をM0 レジスタに格納せ
よ」という意味の命令である。
【0040】この命令が実行されるときの動作は次のよ
うになる。先ず、フェッチサイクル(Fetch)で、
制御装置30のメモリ読出部がP−MEM32よりこの
命令のワードを読み出す()。次に、デコードサイク
ル(Decode)で、制御装置30のデコーダ部がこ
の命令を解読する()。この解読結果に基づき、制御
装置30のマイクロプログラム制御部が作動して、所要
のレジスタ、ゲート類を働かせ、所要の各部にオペラン
ド処理(Operand)および実行処理(Excut
ion)を行わせる。
【0041】オペランド処理サイクル(Operan
d)では、制御装置30よりアドレッシングユニット1
7,19を介してC−MEM16,D−MEM18にそ
れぞれアドレス情報が供給される。そして、C−MEM
16,D−MEM18よりそれぞれ読み出されたデータ
はC−BUS10,D−BUS12を介してMAC28
に送られる()。実行処理サイクル(Excutio
n)では、MAC28で乗算と加算が順次行われ、最終
の演算結果がレジスタMO に格納される()。
【0042】なお、本実施例のDSPはパイプライン方
式で一連の命令を実行するため、相前後する命令の間で
は各命令実行サイクルが1フェーズだけずれている。た
とえば、ある命令についてデコードサイクル(Deco
de)が行われている時は、これと同時に1つ前の命令
についてのオペランド処理サイクル(Operand)
と、2つ前の命令についての実行処理サイクル(Exc
ution)と、1つ後の命令についてのフェッチサイ
クル(Fetch)が行われている。
【0043】図4は、外部メモリ読出命令「RDE」の
命令実行サイクルを示す。この命令は、「アドレス(c
ma)で指定されるC−MEM16内のメモリ番地の内
容を外部メモリをアクセスするためのアドレスとしてE
X−I/O22のアドレスレジスタEXAに格納せよ」
という意味の命令である。
【0044】このRDE命令の実行サイクルにおいて、
制御装置30よりアドレス演算ユニット17を介してC
−MEM16にアドレス情報(cma)が与えられた後
に、C−MEM16より読み出された外部メモリアクセ
ス用のアドレス情報がC−BUS10を介してEX−I
/O22に与えられる。
【0045】このRDE命令が実行されると、EX−I
/O22がC−MEM16より受け取ったアドレス情報
に基づいて外部メモリにアクセスし、そのアドレス情報
で指定される外部メモリ内のメモリ番地の内容を読み出
し、読み出したデータを読出用データレジスタEXRに
格納する。このようなEX−I/O22のメモリアクセ
ス機能により、RDE命令の実行後に所定数のマシンサ
イクルが経過すると、EX−I/O22のデータレジス
タEXRに目的のデータが用意される。
【0046】図5は、上記したRDE命令と関連して用
いられるデータ転送命令「MOV△EXR,dma」の
命令実行サイクルを示す。この命令は、「EX−I/O
22内のデータレジスタEXRの内容をアドレス(dm
a)で指定されるD−MEM18内のメモリ番地に格納
せよ」という意味の命令である。上記したようにRDE
命令の実行後に所定数のマシンサイクルが経過すると、
EX−I/O22のデータレジスタEXRに目的のデー
タが用意されているので、次にこの命令「MOV△EX
R,dma」が実行されることで、その目的のデータを
D−MEM18内に取り込むことができる。
【0047】なお、本実施例のDSPでは、外部メモリ
書込命令「WRE」も定義されている。通常、この命令
は「WRE cma,dma」と規定される。これは、
「アドレス(cma)で指定されるC−MEM10内の
メモリ番地の内容(アドレス)で指定される外部メモリ
のメモリ番地にアドレス(dma)で指定されるD−M
EM12内のメモリ番地の内容(データ)を書き込め」
という意味である。
【0048】このWRE命令が実行されるときも、アド
レス情報に基づいて読み出された各データは、それぞれ
C−BUS10およびD−BUS12を介してEX−I
/O22内のアドレスレジスタEXAおよび書込用デー
タレジスタEXWに転送される。
【0049】上記したように、CD等の再生回路からの
オーディオデータは一定時間毎に入力され、AU−I/
O24より割込み処理でD−MEM18に格納される。
FIFO形式で、D−MEM18には入力オーディオデ
ータが格納される一方で、時間的に古い順に遅延データ
は吐き出される。しかし、音場再生や残響再生等のよう
に遅延データを大量に使うディジタル信号処理では、数
秒前までの遅延データを使う場合もあるため、D−ME
M18から吐き出される遅延データを上記WRE命令に
よって外部メモリに蓄積するようにしている。そして、
フィルタ演算で遅延データが必要になった時に、後述す
るバックグランド外部メモリ読出命令(BRDE)によ
って外部メモリから読み出すようにしている。
【0050】図6は、本実施例によるバックグランド外
部メモリ読出命令「BRDE」の命令実行サイクルを示
す。このBRDE命令は、「(アドレッシングユニット
21内の)GBレジスタの内容で指定されるG−MEM
20内のメモリ番地の内容を外部メモリアクセス用のア
ドレス情報としてEX−I/O22内のアドレスレジス
タEXAに転送し、該GBレジスタの内容に80H(10
000000) を加算した値で指定されるG−MEM20内の
メモリ番地にEX−I/O22の内の読出用データレジ
スタEXRの内容を格納せよ」という意味の命令であ
る。
【0051】このBRDE命令の命令実行サイクルで
は、オペランド処理サイクル(Operand)の間に
GBレジスタの内容に基づいたG−MEM20のメモリ
番地の内容である外部メモリアクセス用のアドレス情報
がG−BUS14を介してEX−I/O22へ転送さ
れ、実行処理サイクル(Excution)の間にEX
−I/O22からのデータがG−BUS14を介してG
−MEM20へ転送されるとともにアドレッシングユニ
ット21内でGBレジスタの内容が1つインクリメント
される。
【0052】このBRDE命令でEX−I/O22内の
読出用データレジスタEXRから転送されるデータは、
前回のBRDE命令に応動してEX−I/O22が外部
メモリから読み出したデータである。つまり、前回のB
RDE命令でG−MEM20からEX−I/O22内の
アドレスレジスタEXAに転送されたアドレス情報に対
応したデータである。今回のBRDE命令でアドレスレ
ジスタEXAに格納されたアドレス情報に対応するデー
タは、所定のマシンサイクルで外部メモリより読み出さ
れて読出用データレジスタEXRに保持され、次のBR
DE命令でG−MEM20へ転送されることになる。
【0053】なお、BRDE命令でG−MEM20に格
納されるデータのアドレス(メモリ番地)は、GBレジ
スタの内容(外部メモリアクセス用のアドレス情報)に
80H(10000000) を加算することで、つまりアドレス
情報の最上位ビットの0を1にするだけで、求められる
ようになっている。したがって、アドレス計算が簡単で
あり、そのぶんアドレッシングユニット21内の構成が
簡易化されている。
【0054】このように、BRDE命令では、専用のG
−MEM20を使用してG−MEM20とEX−I/O
22との間でアドレス情報およびデータの転送が行われ
る。他のバス(C−BUS10,D−BUS12)は使
用されず、他のメモリ(C−MEM16,D−MEM1
8)は関与しない。したがって、1つの命令実行サイク
ルの間にこのBRDE命令と同時にC−BUS10,D
−BUS12を使用する演算命令を並列処理(実行)す
ることが可能である。
【0055】なお、外部メモリよりG−MEM20に取
り込まれたデータ(遅延オーディオデータ等)は、フィ
ルタ演算等でそれが必要となった時点で、G−MEM2
0より読み出されてMAC28またはALU26へ転送
される。そのための命令も定義されているが、これはC
−BUS10,D−BUS12を介したC−MEM1
6,D−MEM18の命令と同様であるので、その説明
は省略する。
【0056】図7は、BRDE命令を含む並列処理型命
令の1つである「MAC△SS,D(xx),*C0 ,
M0 /BRDE」命令の命令実行サイクルを示す。この
並列処理型命令は、図3のMAC命令と図6のBRDE
命令とを並列的に重ね合わせたものである。命令ワード
は図2の(A)の形式であり、プライマリ命令のフィー
ルドにMAC命令のオペコードが規定され、セカンダリ
命令のフィールドにBRDE命令のオペコードが規定さ
れる。
【0057】この命令が実行されるときの動作は次のよ
うになる。先ず、フェッチサイクル(Fetch)で、
制御装置30のメモリ読出部がP−MEM32よりこの
並列処理型命令のワードを読み出す()。次に、デコ
ードサイクル(Decode)で、制御装置30のデコ
ーダ部がこの並列処理型命令に含まれているMAC命令
とBRDE命令とを並列または同時に解読する()。
【0058】この場合、制御装置30のPLA制御部か
らの制御信号は、MAC命令とBRDE命令について並
列的つまりOR形式で出力される。これにより、オペラ
ンド処理サイクル(Operand)では、アドレッシ
ングユニット17,19からのアドレス情報がC−ME
M16,D−MEM18にそれぞれ供給され、C−ME
M16,D−MEM18からそれぞれ目的のメモリ番地
の内容(データ)が読み出される(MAC命令のオペラ
ンド処理)と同時に、G−MEM20から読み出された
外部メモリアクセス用のアドレス情報がG−BUS14
を介してEX−I/O22へ転送される(BRDE命令
の転送処理)。
【0059】そして、実行処理サイクル(Excuti
on)では、MAC28で積和演算が行われる(MAC
命令の実行処理)と同時に、EX−I/O22からのデ
ータがG−BUS14を介してG−MEM20へ転送さ
れるとともにアドレッシングユニット21内でGBレジ
スタの内容が1つインクリメントされる(BRDE命令
の実行処理)。
【0060】通常のオーディオ・ディジタル信号処理の
サンプリング周波数は44.1KHzであり、約22μ
secの時間間隔でCD等の外部回路よりディジタル・
オーディオ信号が入ってくる。この時間(約22μse
c)内にどれだけ多くの積和演算を実行できるかでDS
Pの性能が決まる。この時間(約22μsec)内でパ
イプライン処理できる命令実行サイクルの数は決まって
おり、たとえば512ステップに設定されているので、
そのうちどれだけ多くのステップを演算処理に充てられ
るかでDSPの性能が決まるともいえる。一方、音場再
生等のようにフィルタ演算で大量の遅延データを用いる
ときは、外部メモリに蓄積している遅延データを頻繁に
読み出さなければならない。
【0061】本実施例のDSPでは、上記のように、並
列型命令体系の下で演算処理(特に積和演算)命令とは
独立にBRDE命令によりG−MEM20およびG−B
US14を用いて外部メモリより遅延データを読み出す
ことができる。したがって、上記一定時間内に外部メモ
リからデータを読み出すBRDE命令を実行しつつ、可
及的に多くのステップを演算処理に充てることが可能で
あり、DSPの処理能力を十二分に引き出すことができ
る。
【0062】上記した実施例では、係数データを記憶す
るC−MEM16およびオーディオデータを記憶するD
−MEM18とは別に汎用のG−MEM20を設け、こ
のG−MEM20に外部メモリからの遅延データを読み
込むようにした。しかし、C−MEM16および/また
はD−MEM18を2つのポートを有するデュアルポー
ト型のメモリで構成してG−BUS14に接続すること
で、G−MEM20を設けなくても上記BRDE命令を
実行することが可能である。
【0063】また、上記実施例のDSPはオーディオ・
ディジタル信号処理に係るものであったが、本発明によ
るDSPは任意のディジタル信号処理に適用可能であ
る。
【0064】なお、上記実施例では、外部メモリにはオ
ーディオデータが格納されているものとして説明した
が、この外部メモリにはオーディオデータのほか、係数
データなどの別種のデータが格納されることもある。
【発明の効果】以上説明したように、本発明のディジタ
ル信号処理装置によれば、所定の1つの命令実行サイク
ルの中で、第1および第2のバスを用いて演算命令を実
行すると同時に、第3のバスを用いて外部メモリからの
データを内部メモリに取り込めるようにしたので、パイ
プライン処理の高速性を確保すると同時に単位時間当た
りの演算処理回数を可及的に多くし、処理能力を向上さ
せることができる。
【図面の簡単な説明】
【図1】本発明の一実施例によるオーディオ・ディジタ
ル信号処理用DSPの構成を示すブロック図である。
【図2】実施例のDSPにおける命令ワードのフィール
ド配置図である。
【図3】実施例における代表的な積和演算命令の命令実
行サイクルを示す図である。
【図4】実施例における外部メモリ読出命令の命令実行
サイクルを示す図である。
【図5】実施例において外部メモリ読出命令と関連する
データ転送命令の命令実行サイクルを示す図である。
【図6】実施例におけるバックグランド外部メモリ読出
命令「BRDE」の命令実行サイクルを示す図である。
【図7】実施例においてBRDE命令を含む代表的な並
列処理型命令の命令実行サイクルを示す図である。
【図8】従来の典型的なDSPシステムの要部の構成を
示すプロック図である。
【図9】従来の別のDSPシステムの要部の構成を示す
プロック図である。
【符号の説明】
10 C−BUS(データバス) 12 D−BUS(データバス) 14 G−BUS(データバス) 16 C−MEM(係数メモリ) 18 D−MEM(データメモリ) 20 G−MEM(汎用メモリ) 17,19,21 アドレッシングユニット 22 EX−I/O(外部メモリ入出力インタフェー
ス回路) 24 AU−I/O(オーディオ・インタフェース回
路) 26 ALU(算術論理演算ユニット) 28 MAC(積和演算器) 30 制御装置 32 P−MEM(プログラムメモリ) 34 HOST−I/O(ホストインタフェース回
路)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 パイプライン方式で一連の命令を実行し
    てディジタル信号を処理するディジタル信号処理装置に
    おいて、 異なるデータを同時に転送できるようになされた第1、
    第2および第3のバスと、 前記第1のバスに接続された第1の内部メモリと、 前記第2のバスに接続された第2の内部メモリと、 前記第1および第2のバスに接続された演算手段と、 前記第3のバスに接続されるとともに、少なくとも前記
    第1および第2のバスの一方に接続された第3の内部メ
    モリと、 前記第3のバスに接続されるとともに、少なくとも前記
    第1および第2のバスの一方に接続され、かつ外部メモ
    リにデータの書き込みおよび読み出しを行える入出力イ
    ンタフェース手段とを有し、 所定の1つの命令実行サイクルの間に、前記第1および
    第2のバスを使用する第1の命令と、前記第3のバスを
    使用する第2の命令とを並列的に実行するように構成し
    てなるディジタル信号処理装置。
  2. 【請求項2】 前記所定の1つの命令実行サイクルにお
    いて、前記第1の命令については、前記第1および第2
    の内部メモリからそれぞれデータが読み出されて、それ
    らの読み出されたデータが前記第1および第2のバスを
    介して前記演算手段に転送され、次いで前記演算手段で
    両データについて所定の演算が行われ、前記第2の命令
    については、所定のアドレス情報が前記第3のバスを介
    して前記入出力インタフェース手段に送られ、次いで予
    め前記外部メモリより前記入出力インタフェース手段に
    読み出されているデータが前記第3のバスを介して前記
    第3の内部メモリに転送されるように構成された請求項
    1に記載のディジタル信号処理装置。
  3. 【請求項3】 前記第3の内部メモリには前記外部メモ
    リにアクセスするための前記アドレス情報を格納するた
    めの第1のメモリ領域と前記外部メモリより転送された
    データを格納するための第2のメモリ領域とが設定さ
    れ、各々対応する前記アドレス情報と前記データとはそ
    れぞれが格納される前記第1のメモリ領域におけるメモ
    リ番地と前記第2のメモリ領域におけるメモリ番地との
    間に一定のオフセットを有していることを特徴とする請
    求項2に記載のディジタル信号処理装置。
  4. 【請求項4】 パイプライン方式で一連の命令を実行し
    てディジタル信号を処理するディジタル信号処理装置に
    おいて、 異なるデータを同時に転送できるようになされた第1、
    第2および第3のバスと、 前記第1および第2のバスにそれぞれ接続され、少なく
    とも一方がデュアルポート型に構成されるとともに前記
    第3のバスにも接続された第1および第2のデータ記憶
    手段と、 前記第1および第2のバスに接続された演算手段と、 前記第3のバスに接続されるとともに、少なくとも前記
    第1および第2のバスの一方に接続され、かつ外部のデ
    ータ記憶手段にデータの書き込みおよび読み出しを行え
    る入出力インタフェース手段とを有し、 所定の1つの命令実行サイクルの間に、前記第1および
    第2のバスを使用する第1の命令と、前記第3のバスを
    使用する第2の命令とを並列的に実行するように構成さ
    れたディジタル信号処理装置。
JP28442594A 1994-10-24 1994-10-24 ディジタル信号処理装置 Expired - Fee Related JP3579843B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP28442594A JP3579843B2 (ja) 1994-10-24 1994-10-24 ディジタル信号処理装置
US08/547,267 US5822613A (en) 1994-10-24 1995-10-24 Digital signal processing unit having three buses for simultaneously transmitting data on each bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28442594A JP3579843B2 (ja) 1994-10-24 1994-10-24 ディジタル信号処理装置

Publications (2)

Publication Number Publication Date
JPH08123682A true JPH08123682A (ja) 1996-05-17
JP3579843B2 JP3579843B2 (ja) 2004-10-20

Family

ID=17678391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28442594A Expired - Fee Related JP3579843B2 (ja) 1994-10-24 1994-10-24 ディジタル信号処理装置

Country Status (2)

Country Link
US (1) US5822613A (ja)
JP (1) JP3579843B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504572A (ja) * 2004-06-23 2008-02-14 クリエイティヴ テクノロジー リミテッド デジタルメディアストリームの処理

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367003B1 (en) 1998-03-04 2002-04-02 Micron Technology, Inc. Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
US6832306B1 (en) 1999-10-25 2004-12-14 Intel Corporation Method and apparatus for a unified RISC/DSP pipeline controller for both reduced instruction set computer (RISC) control instructions and digital signal processing (DSP) instructions
US6557096B1 (en) 1999-10-25 2003-04-29 Intel Corporation Processors with data typer and aligner selectively coupling data bits of data buses to adder and multiplier functional blocks to execute instructions with flexible data types
US6408376B1 (en) * 1999-10-25 2002-06-18 Intel Corporation Method and apparatus for instruction set architecture to perform primary and shadow digital signal processing sub-instructions simultaneously
US6330660B1 (en) 1999-10-25 2001-12-11 Vxtel, Inc. Method and apparatus for saturated multiplication and accumulation in an application specific signal processor
US6732203B2 (en) 2000-01-31 2004-05-04 Intel Corporation Selectively multiplexing memory coupling global bus data bits to narrower functional unit coupling local bus
US6654845B1 (en) * 2000-07-06 2003-11-25 Intel Corporation System and method implementing a secondary bus to avoid read data latency
JP3845814B2 (ja) * 2000-08-10 2006-11-15 株式会社テルミナス・テクノロジー 連想メモリとその検索方法及びルータとネットワークシステム
US7003093B2 (en) * 2000-09-08 2006-02-21 Intel Corporation Tone detection for integrated telecommunications processing
US20020116186A1 (en) * 2000-09-09 2002-08-22 Adam Strauss Voice activity detector for integrated telecommunications processing
US20030219113A1 (en) * 2002-05-21 2003-11-27 Bershad Neil J. Echo canceller with double-talk and channel impulse response adaptation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4038642A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Input/output interface logic for concurrent operations
CA1311063C (en) * 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
EP0398523A3 (en) * 1989-05-19 1991-08-21 Hitachi, Ltd. A device for data i/o and execution support in digital processors
JPH0470946A (ja) * 1990-07-04 1992-03-05 Mitsubishi Electric Corp Dmaコントローラを内蔵した処理装置
JP3515142B2 (ja) * 1992-06-11 2004-04-05 セイコーエプソン株式会社 データ転送制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504572A (ja) * 2004-06-23 2008-02-14 クリエイティヴ テクノロジー リミテッド デジタルメディアストリームの処理

Also Published As

Publication number Publication date
JP3579843B2 (ja) 2004-10-20
US5822613A (en) 1998-10-13

Similar Documents

Publication Publication Date Title
EP1047989B1 (en) Digital signal processor having data alignment buffer for performing unaligned data accesses
US6112295A (en) High frequency pipeline decoupling queue with non-overlapping read and write signals within a single clock cycle
JP2816624B2 (ja) 2乗演算を実行する速度改良型データ処理システム及びその方法
JPH08123682A (ja) ディジタル信号処理装置
JP2806171B2 (ja) データ演算装置
JP2620511B2 (ja) データ・プロセッサ
JP2682232B2 (ja) 浮動小数点演算処理装置
US5237702A (en) System for prefetching vector data based on the status of the vector registers
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
JP3435278B2 (ja) データ処理装置
JPH07219766A (ja) 演算処理装置
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JP2824484B2 (ja) パイプライン処理計算機
JP2812610B2 (ja) パイプライン制御方式
JP2925842B2 (ja) パイプライン処理装置
JPS61173345A (ja) 計算機システム
JP3441847B2 (ja) データメモリを有するプロセッサ
JPS6134188B2 (ja)
JPH06139071A (ja) 並列計算機
JP2806690B2 (ja) マイクロプロセッサ
JPH052485A (ja) パイプライン制御方式
JPH0234058B2 (ja)
JPS6149695B2 (ja)
JPH0472253B2 (ja)

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040611

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: 20040706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040708

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: 20070730

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees