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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7857—Architectures 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
データを読み込めるようにして、パイプライン処理能率
および演算処理回数を向上させる。 【構成】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
ィジタル信号処理装置に関する。
タル自動等化、高速フーリエ変換(FFT)等のように
数多くの積和演算を扱うディジタル信号処理にDSP(D
igitalSignal Processor)が用いられている。一般にD
SPは、高速の積和演算処理を実現するために、高速乗
算器、加算器、プログラム用メモリ、データ用メモリ等
を内蔵し、パイプライン処理を行えるマイクロプログラ
ム制御またはPLA制御型のマイクロプロセッサとして
構成されている。また、DSPは、入出力機能も備えて
おり、記憶するデータが多い場合には、入出力インタフ
ェースを介して外部の補助メモリにデータを蓄えるよう
にしている。
クセスできるようにするために、一般的には図8に示す
ようなシステム構成が採られている。このDSPシステ
ムでは、DSP100内の演算制御部102が外部メモ
リ104にアドレス情報を直接与え、書き込み時には演
算制御部102からの書き込みデータがデータバス10
6および入出力ポート108を介して外部メモリ104
に送られ、読み出し時には外部メモリ104からの読み
出しデータが入出力ポート108およびデータバス10
6を介して演算制御部102に送られる。
するまで演算制御部102内の各部は次のステップに移
れないため、パイプライン処理がその間ホールド状態に
なるという不具合がある。実際、演算制御部102が内
部メモリ110にアクセスするときと比べて、外部メモ
リ104へのアクセスに要する時間は長いのが普通であ
る。
ィオ・ディジタル信号処理では、CD(Compact Disc)
からのオーディオデータが16ビットのデータ長を有し
ている。このようなオーディオデータを16ビットのデ
ータ長のままで外部メモリ104との間で入出力すると
なると、入出力ピンの個数の増大および外部メモリデバ
イスの個数の増大等を来し、ハードウェアコストが相当
高くなってしまう。これは、反射音の処理等のように大
量の遅延データを扱う場合に特に顕著となる。このた
め、外部メモリ104との間の入出力ビット数を少なく
し、入出力回数を多くすることにより、全体のハードウ
ェアコストを下げるようにしている。しかし、その代償
として、外部メモリ104へのアクセス時間が長くなっ
ており、それだけパイプラインがホールドされる時間も
長く、DSPの処理能率が低くなるという問題を起こし
ている。
従来より採られているDSPシステムの構成を示す。こ
の方式では、DSP100’内に、外部メモリ104に
対してデータの書き込みおよび読み出しを行える外部メ
モリコントローラ112を設けている。この外部メモリ
コントローラ112は、アドレス情報を一時的に保持す
るためのアドレスレジスタ112aと、データを一時的
に保持するためのデータレジスタ112bとを有してい
る。
ータを書き込むとき、演算制御部102はアドレス情報
およびデータをデータバス106を介して外部メモリコ
ントローラ112に転送するだけでよく、これで演算制
御部102の各部が次のステップに移れる。一方、外部
メモリコントローラ112は、演算制御部124からの
アドレス情報およびデータをそれぞれアドレスレジスタ
112aおよびデータレジスタ112bに保持し、外部
メモリ112にアクセスして当該アドレス情報で指定さ
れるメモリ番地に当該データを書き込む。この書き込み
は、予め規定されたサイクルで行われる。
データを読み出すとき、演算制御部102はアドレス情
報をデータバス106を介して外部メモリコントローラ
112に転送する。外部メモリコントローラ112が外
部メモリ104よりデータを読み出すときにも、予め規
定されたサイクルを要する。外部メモリコントローラ1
12において、アドレスレジスタ112aに演算制御部
102からのアドレス情報がロードされた時、データレ
ジスタ112bには前回のメモリサイクルで外部メモリ
104から読み出されたデータが格納されている。した
がって、演算制御部102は今回のアドレス情報を外部
メモリコントローラ112に送ると同時に外部メモリコ
ントローラ112から前回のデータを受け取ることがで
き、演算制御部102の各部が直ちに次のステップに移
れる。
2が外部メモリ104に対するデータの書き込みおよび
読み出しを実行するため、演算制御部102は外部メモ
リコントローラ112との間でデータバス106を介し
てアドレス情報およびデータの転送を行えばよく、パイ
プライン処理をホールドしなくて済む。
システムは、外部メモリ104をアクセスする際に全体
のパイプライン処理をホールドしなくて済むという限り
では、演算処理の高速性を担保している。しかしなが
ら、演算制御部102が外部メモリコントローラ112
にアクセスする間はデータバス106が使用中となるた
め、演算制御部102内で演算処理を行うことはできな
い。つまり、外部メモリ104を1回アクセスすること
で演算制御部102における演算処理を1回減らしてい
る。上記したような音場再生等のオーディオ・ディジタ
ル信号処理では、オーディオ信号のサンプリング周波数
で規定される一定時間内にどれだけ多くの積和演算を実
行できるかでDSPの性能が決まる。この従来システム
では、外部メモリ104からデータを読み出す命令の実
行によって演算制御部102における演算処理回数が減
少するため、DSPの性能を十分に引き出せないという
問題があった。
もので、演算処理効率を損なうことなく外部メモリより
データを読み込めるようにして、パイプライン処理の高
速性を確保すると同時に単位時間当たりの演算処理回数
を可及的に多くし、処理能力を向上させたディジタル信
号処理装置を提供することを目的とする。
めに、本発明の第1のディジタル信号処理装置は、パイ
プライン方式で一連の命令を実行してディジタル信号を
処理するディジタル信号処理装置において、異なるデー
タを同時に転送できるようになされた第1、第2および
第3のバスと、前記第1のバスに接続された第1の内部
メモリと、前記第2のバスに接続された第2の内部メモ
リと、前記第1および第2のバスに接続された演算手段
と、前記第3のバスに接続されるとともに、少なくとも
前記第1および第2のバスの一方に接続された第3の内
部メモリと、前記第3のバスに接続されるとともに、少
なくとも前記第1および第2のバスの一方に接続され、
かつ外部メモリにデータの書き込みおよび読み出しを行
える入出力インタフェース手段とを有し、所定の1つの
命令実行サイクルの間に、前記第1および第2のバスを
使用する第1の命令と、前記第3のバスを使用する第2
の命令とを並列的に実行する構成とした。
装置は、上記第1のディジタル信号処理装置において、
前記所定の1つの命令実行サイクルの間に、前記第1の
命令については、前記第1および第2の内部メモリから
それぞれデータが読み出されて、それらの読み出された
データが前記第1および第2のバスを介して前記演算手
段に転送され、次いで前記演算手段で両データについて
所定の演算が行われ、前記第2の命令については、前記
第3の内部メモリより所定のアドレス情報が前記第3の
バスを介して前記入出力インタフェース手段に送られ、
次いで予め前記外部メモリより前記入出力インタフェー
ス手段に読み出されているデータが前記第3のバスを介
して前記第3の内部メモリに転送される構成とした。
装置は、上記第2のディジタル信号処理装置において、
前記第3の内部メモリには、前記外部メモリにアクセス
するための前記アドレス情報を格納するための第1のメ
モリ領域と、前記外部メモリより転送されたデータを格
納するための第2のメモリ領域とが設定され、各々対応
する前記アドレス情報と前記データとはそれぞれが格納
される前記第1のメモリ領域におけるメモリ番地と前記
第2のメモリ領域におけるメモリ番地との間に一定のオ
フセットを有している構成とした。
は、パイプライン方式で一連の命令を実行してディジタ
ル信号を処理するディジタル信号処理装置において、異
なるデータを同時に転送できるようになされた第1、第
2および第3のバスと、前記第1および第2のバスにそ
れぞれ接続され、少なくとも一方がデュアルポート型に
構成されるとともに前記第3のバスにも接続された第1
および第2の内部メモリと、前記第1および第2のバス
に接続された演算手段と、前記第3のバスに接続される
とともに、少なくとも前記第1および第2のバスの一方
に接続され、かつ外部メモリにデータの書き込みおよび
読み出しを行える入出力インタフェース手段とを有し、
所定の1つの命令実行サイクルの間に、前記第1および
第2のバスを使用する第1の命令と、前記第3のバスを
使用する第2の命令とを並列的に実行する構成とした。
て演算処理に用いられる第1および第2のバスの外に、
入出力インタフェース手段に接続するデータ転送用の第
3のバスを設けている。これにより、1つの並列型命令
の命令実行サイクルの中で、第1および第2のバスを用
いて演算命令が実行されると同時に、第3のバスを用い
て外部メモリからのデータを内部メモリに取り込むこと
ができる。
を説明する。
オ・ディジタル信号処理用DSPのシステム構成を示
す。このDSPシステムは、互いに独立した3本のデー
タバス(C−BUS10,D−BUS12,G−BUS
14)を有し、これらのバスに各部を図示のように接続
してなる。
EM)16と、汎用メモリ(G−RAM)20と、算術
論理演算ユニット(ALU)26と、積和演算器(MA
C)28と、プログラムメモリ(P−MEM)32と、
ホストインタフェース回路(HOST−I/O)34と
が接続されている。
MEM)18と、汎用メモリ(G−RAM)20と、外
部メモリ用入出力インタフェース回路(EX−I/O)
22と、オーディオ・インタフェース回路(AU−I/
O)24と、算術論理演算ユニット(ALU)26と、
積和演算器(MAC)28とが接続されている。
EM)20と、外部メモリ用入出力インタフェース回路
(EX−I/O)22と、算術論理演算ユニット(AL
U)26とが接続されている。
−MEM20は各々RAM(RandamAccess Memory)か
らなる。C−MEM16には、主として積和演算のため
の係数データが格納されるとともに、EX−I/O22
に接続されている外部メモリ(図示せず)にアクセスす
るためのアドレス情報も格納される。D−MEM18に
は、積和演算その他の演算に用いるデータ(主としてオ
ーディオデータ)および演算結果のデータが格納され
る。
の拡張メモリとして使用される。音場再生等のように大
量の遅延データを扱う場合には、D−MEM18に入り
切れない遅延データがRAMからなる外部メモリに蓄積
され、必要な時に後述する所定の命令(BRDE命令)
によって外部メモリから遅延データをG−MEM20に
取り込むようにしている。この場合、G−MEM20に
は、外部メモリをアクセスするためのアドレス情報も格
納される。なお、G−MEM20は、C−MEM16の
拡張メモリとしても使用可能であり、必要に応じて係数
データを格納することもある。
−MEM20には、それぞれアドレス計算を行うための
アドレッシングユニット17,19,21が付いてい
る。
用の外部メモリにも接続され、その外部メモリにアクセ
スしてデータの書き込みまたは読み出しを行えるメモリ
制御機能を有しており、メモリアクセスのアドレス情報
を保持するアドレスレジスタと書き込みまたは読み出し
データを保持するデータレジスタを内蔵している。
ィジタル・オーディオ回路との間でデータのやりとりを
行うためのインタフェース回路であり、たとえば前段の
CD再生回路や次段のディジタルフィルタあるいはD/
Aコンバータ等に接続されている。外部回路からオーデ
ィオ信号(データ)が入力されるときは、AU−I/O
24内のレジスタに1個のデータが揃うと、後述する制
御装置32に割り込みがかけられ、割込み処理で該デー
タがD−BUS12を介してD−MEM18に格納され
るようになっている。
演算を行う演算器であり、アキュムレータも内蔵してい
る。MAC28は、専ら積和演算を行う演算器であり、
乗算器とアキュムレータと内蔵している。このように2
つの演算器(ALU26、MAC28)が備えられてい
るため、たとえばALU26で加算を行いながらMAC
28で畳み込みを行うというような並列処理が可能とな
っている。
Memory)からなり、本DSPの処理動作を規定するプロ
グラムを格納する。制御回路30は、P−MEM32か
ら命令を逐次読み出し、PLA(Program Logic Array)
制御方式でシステム内のレジスタ、ゲート類(図示せ
ず)を制御し、各部に当該命令を実行させるように機能
する。図1では、説明の便宜上、制御バスは図示してい
ない。
トコントローラ(図示せず)との間でプログラムやデー
タをやりとりするためのインタフェース回路であり、C
−BUS10とはパラレルポートで接続され、ホストコ
ントローラとはシリアルポートで接続されている。P−
MEM32に格納されるプログラム、C−MEM16に
格納される係数データおよびアドレス情報、G−MEM
20に格納されるアドレス情報は、ホストコントローラ
より与えられ、HOST−I/O34からC−BUS1
0を介して各メモリにダウンロードされる。なお、P−
MEM32内のプログラムによりアドレス情報が変更さ
れる場合もある。
のデータバス(C−BUS10,D−BUS12,G−
BUS14)を設けており、これらのバス上で異なるア
ドレス情報またはデータを並列転送できるようになって
いる。
トコンピュータより各メモリにダウンロードされるプロ
グラム、アドレス情報、データの外に、C−MEM16
よりD−MEM18またはEX−I/O22へ与えられ
るアドレス情報、C−MEM16よりALU26または
MAC28に与えられる係数データ等が択一的に転送さ
れる。
とD−MEM18との間でやりとりされる入出力オーデ
ィオデータ、D−MEM18とEX−I/O22との間
でやりとりされる遅延オーディオデータ、D−MEM1
8とALU26またはMAC28との間でやりとりされ
る演算データ等が択一的に転送される。
EX−I/O22との間でやりとりされるアドレス情報
および遅延オーディオデータ、G−MEM18からAL
U26に与えられる演算データ等が転送される。
S10,D−BUS12,G−BUS14)上で異なる
アドレス情報またはデータを同時に並列転送できるた
め、後述するように1つの命令実行サイクルで2つの命
令を並列処理することが可能となっている。
ードのフィールド配置図である。図2の(A)は命令ワ
ードの一般形式を示す。たとえば32ビット長の1つの
命令ワードの中で2つの命令(プライマリ命令、セカン
ダリ命令)を指定することが可能となっており、ビット
[29〜22]のフィールドがプライマリ命令のオペコ
ードに割り当てられ、ビット[21〜14]のフィール
ドがセカンダリ命令のオペコードに割り当てられてい
る。ビット[31,30]は、2つの命令の組み合わせ
形式(モード)を指定する。ビット[13〜0]は、オ
ペランドのアドレス指定に使われる。
セカンダリ命令のいずれかを指定することも可能であ
る。図2の(B),(C)に、それぞれプライマリ命
令、セカンダリ命令が単独で指定される場合のフィール
ド配置を示す。
14を用いて外部メモリからのデータ(遅延オーディオ
データ等)をG−MEM20に転送するためのバックグ
ランド外部メモリ読出命令(BRDE)が設定可能とな
っている。1つの命令ワードの中にBRDE命令が単独
で指定されるときは、図2の(D)に示すような配置と
なり、セカンダリ命令のフィールドにBRDE命令のオ
ペコードが入る。BRDE命令におけるアドレスは、規
定アドレスを基にG−MEM20のアドレス演算ユニッ
ト21で生成されるため、オペランドは不要であり、ア
ドレッシング・フィールドは空き領域となる。1つの命
令ワードの中にBRDE命令が他の命令(プライマリ命
令)と一緒に指定されるときは、図2の(D)と(A)
とが合成された配置になり、アドレッシング・フィール
ドはプライマリ命令のオペランドに供される。
SPにおける幾つかの命令の命令実行サイクルの動作に
ついて説明する。
算処理を行うMAC命令の1つである「MAC△SS,
D(xx),*C0 ,M0 」の命令実行サイクルを示
す。この命令は、「アドレス(xx)で指定されるD−
MEM18のメモリ番地の内容と(アドレッシングユニ
ット17内の)C0 レジスタの内容(アドレス情報)で
指定されるC−MEM16のメモリ番地の内容とを乗算
し、その乗算結果を(MAC28内の)M0 レジスタの
内容とを加算し、その加算結果をM0 レジスタに格納せ
よ」という意味の命令である。
うになる。先ず、フェッチサイクル(Fetch)で、
制御装置30のメモリ読出部がP−MEM32よりこの
命令のワードを読み出す()。次に、デコードサイク
ル(Decode)で、制御装置30のデコーダ部がこ
の命令を解読する()。この解読結果に基づき、制御
装置30のマイクロプログラム制御部が作動して、所要
のレジスタ、ゲート類を働かせ、所要の各部にオペラン
ド処理(Operand)および実行処理(Excut
ion)を行わせる。
d)では、制御装置30よりアドレッシングユニット1
7,19を介してC−MEM16,D−MEM18にそ
れぞれアドレス情報が供給される。そして、C−MEM
16,D−MEM18よりそれぞれ読み出されたデータ
はC−BUS10,D−BUS12を介してMAC28
に送られる()。実行処理サイクル(Excutio
n)では、MAC28で乗算と加算が順次行われ、最終
の演算結果がレジスタMO に格納される()。
式で一連の命令を実行するため、相前後する命令の間で
は各命令実行サイクルが1フェーズだけずれている。た
とえば、ある命令についてデコードサイクル(Deco
de)が行われている時は、これと同時に1つ前の命令
についてのオペランド処理サイクル(Operand)
と、2つ前の命令についての実行処理サイクル(Exc
ution)と、1つ後の命令についてのフェッチサイ
クル(Fetch)が行われている。
命令実行サイクルを示す。この命令は、「アドレス(c
ma)で指定されるC−MEM16内のメモリ番地の内
容を外部メモリをアクセスするためのアドレスとしてE
X−I/O22のアドレスレジスタEXAに格納せよ」
という意味の命令である。
制御装置30よりアドレス演算ユニット17を介してC
−MEM16にアドレス情報(cma)が与えられた後
に、C−MEM16より読み出された外部メモリアクセ
ス用のアドレス情報がC−BUS10を介してEX−I
/O22に与えられる。
/O22がC−MEM16より受け取ったアドレス情報
に基づいて外部メモリにアクセスし、そのアドレス情報
で指定される外部メモリ内のメモリ番地の内容を読み出
し、読み出したデータを読出用データレジスタEXRに
格納する。このようなEX−I/O22のメモリアクセ
ス機能により、RDE命令の実行後に所定数のマシンサ
イクルが経過すると、EX−I/O22のデータレジス
タEXRに目的のデータが用意される。
いられるデータ転送命令「MOV△EXR,dma」の
命令実行サイクルを示す。この命令は、「EX−I/O
22内のデータレジスタEXRの内容をアドレス(dm
a)で指定されるD−MEM18内のメモリ番地に格納
せよ」という意味の命令である。上記したようにRDE
命令の実行後に所定数のマシンサイクルが経過すると、
EX−I/O22のデータレジスタEXRに目的のデー
タが用意されているので、次にこの命令「MOV△EX
R,dma」が実行されることで、その目的のデータを
D−MEM18内に取り込むことができる。
書込命令「WRE」も定義されている。通常、この命令
は「WRE cma,dma」と規定される。これは、
「アドレス(cma)で指定されるC−MEM10内の
メモリ番地の内容(アドレス)で指定される外部メモリ
のメモリ番地にアドレス(dma)で指定されるD−M
EM12内のメモリ番地の内容(データ)を書き込め」
という意味である。
レス情報に基づいて読み出された各データは、それぞれ
C−BUS10およびD−BUS12を介してEX−I
/O22内のアドレスレジスタEXAおよび書込用デー
タレジスタEXWに転送される。
オーディオデータは一定時間毎に入力され、AU−I/
O24より割込み処理でD−MEM18に格納される。
FIFO形式で、D−MEM18には入力オーディオデ
ータが格納される一方で、時間的に古い順に遅延データ
は吐き出される。しかし、音場再生や残響再生等のよう
に遅延データを大量に使うディジタル信号処理では、数
秒前までの遅延データを使う場合もあるため、D−ME
M18から吐き出される遅延データを上記WRE命令に
よって外部メモリに蓄積するようにしている。そして、
フィルタ演算で遅延データが必要になった時に、後述す
るバックグランド外部メモリ読出命令(BRDE)によ
って外部メモリから読み出すようにしている。
部メモリ読出命令「BRDE」の命令実行サイクルを示
す。このBRDE命令は、「(アドレッシングユニット
21内の)GBレジスタの内容で指定されるG−MEM
20内のメモリ番地の内容を外部メモリアクセス用のア
ドレス情報としてEX−I/O22内のアドレスレジス
タEXAに転送し、該GBレジスタの内容に80H(10
000000) を加算した値で指定されるG−MEM20内の
メモリ番地にEX−I/O22の内の読出用データレジ
スタEXRの内容を格納せよ」という意味の命令であ
る。
は、オペランド処理サイクル(Operand)の間に
GBレジスタの内容に基づいたG−MEM20のメモリ
番地の内容である外部メモリアクセス用のアドレス情報
がG−BUS14を介してEX−I/O22へ転送さ
れ、実行処理サイクル(Excution)の間にEX
−I/O22からのデータがG−BUS14を介してG
−MEM20へ転送されるとともにアドレッシングユニ
ット21内でGBレジスタの内容が1つインクリメント
される。
読出用データレジスタEXRから転送されるデータは、
前回のBRDE命令に応動してEX−I/O22が外部
メモリから読み出したデータである。つまり、前回のB
RDE命令でG−MEM20からEX−I/O22内の
アドレスレジスタEXAに転送されたアドレス情報に対
応したデータである。今回のBRDE命令でアドレスレ
ジスタEXAに格納されたアドレス情報に対応するデー
タは、所定のマシンサイクルで外部メモリより読み出さ
れて読出用データレジスタEXRに保持され、次のBR
DE命令でG−MEM20へ転送されることになる。
納されるデータのアドレス(メモリ番地)は、GBレジ
スタの内容(外部メモリアクセス用のアドレス情報)に
80H(10000000) を加算することで、つまりアドレス
情報の最上位ビットの0を1にするだけで、求められる
ようになっている。したがって、アドレス計算が簡単で
あり、そのぶんアドレッシングユニット21内の構成が
簡易化されている。
−MEM20を使用してG−MEM20とEX−I/O
22との間でアドレス情報およびデータの転送が行われ
る。他のバス(C−BUS10,D−BUS12)は使
用されず、他のメモリ(C−MEM16,D−MEM1
8)は関与しない。したがって、1つの命令実行サイク
ルの間にこのBRDE命令と同時にC−BUS10,D
−BUS12を使用する演算命令を並列処理(実行)す
ることが可能である。
り込まれたデータ(遅延オーディオデータ等)は、フィ
ルタ演算等でそれが必要となった時点で、G−MEM2
0より読み出されてMAC28またはALU26へ転送
される。そのための命令も定義されているが、これはC
−BUS10,D−BUS12を介したC−MEM1
6,D−MEM18の命令と同様であるので、その説明
は省略する。
令の1つである「MAC△SS,D(xx),*C0 ,
M0 /BRDE」命令の命令実行サイクルを示す。この
並列処理型命令は、図3のMAC命令と図6のBRDE
命令とを並列的に重ね合わせたものである。命令ワード
は図2の(A)の形式であり、プライマリ命令のフィー
ルドにMAC命令のオペコードが規定され、セカンダリ
命令のフィールドにBRDE命令のオペコードが規定さ
れる。
うになる。先ず、フェッチサイクル(Fetch)で、
制御装置30のメモリ読出部がP−MEM32よりこの
並列処理型命令のワードを読み出す()。次に、デコ
ードサイクル(Decode)で、制御装置30のデコ
ーダ部がこの並列処理型命令に含まれているMAC命令
とBRDE命令とを並列または同時に解読する()。
らの制御信号は、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命令
の転送処理)。
on)では、MAC28で積和演算が行われる(MAC
命令の実行処理)と同時に、EX−I/O22からのデ
ータがG−BUS14を介してG−MEM20へ転送さ
れるとともにアドレッシングユニット21内でGBレジ
スタの内容が1つインクリメントされる(BRDE命令
の実行処理)。
サンプリング周波数は44.1KHzであり、約22μ
secの時間間隔でCD等の外部回路よりディジタル・
オーディオ信号が入ってくる。この時間(約22μse
c)内にどれだけ多くの積和演算を実行できるかでDS
Pの性能が決まる。この時間(約22μsec)内でパ
イプライン処理できる命令実行サイクルの数は決まって
おり、たとえば512ステップに設定されているので、
そのうちどれだけ多くのステップを演算処理に充てられ
るかでDSPの性能が決まるともいえる。一方、音場再
生等のようにフィルタ演算で大量の遅延データを用いる
ときは、外部メモリに蓄積している遅延データを頻繁に
読み出さなければならない。
列型命令体系の下で演算処理(特に積和演算)命令とは
独立にBRDE命令によりG−MEM20およびG−B
US14を用いて外部メモリより遅延データを読み出す
ことができる。したがって、上記一定時間内に外部メモ
リからデータを読み出すBRDE命令を実行しつつ、可
及的に多くのステップを演算処理に充てることが可能で
あり、DSPの処理能力を十二分に引き出すことができ
る。
るC−MEM16およびオーディオデータを記憶するD
−MEM18とは別に汎用のG−MEM20を設け、こ
のG−MEM20に外部メモリからの遅延データを読み
込むようにした。しかし、C−MEM16および/また
はD−MEM18を2つのポートを有するデュアルポー
ト型のメモリで構成してG−BUS14に接続すること
で、G−MEM20を設けなくても上記BRDE命令を
実行することが可能である。
ディジタル信号処理に係るものであったが、本発明によ
るDSPは任意のディジタル信号処理に適用可能であ
る。
ーディオデータが格納されているものとして説明した
が、この外部メモリにはオーディオデータのほか、係数
データなどの別種のデータが格納されることもある。
ル信号処理装置によれば、所定の1つの命令実行サイク
ルの中で、第1および第2のバスを用いて演算命令を実
行すると同時に、第3のバスを用いて外部メモリからの
データを内部メモリに取り込めるようにしたので、パイ
プライン処理の高速性を確保すると同時に単位時間当た
りの演算処理回数を可及的に多くし、処理能力を向上さ
せることができる。
ル信号処理用DSPの構成を示すブロック図である。
ド配置図である。
行サイクルを示す図である。
サイクルを示す図である。
データ転送命令の命令実行サイクルを示す図である。
命令「BRDE」の命令実行サイクルを示す図である。
列処理型命令の命令実行サイクルを示す図である。
示すプロック図である。
プロック図である。
ス回路) 24 AU−I/O(オーディオ・インタフェース回
路) 26 ALU(算術論理演算ユニット) 28 MAC(積和演算器) 30 制御装置 32 P−MEM(プログラムメモリ) 34 HOST−I/O(ホストインタフェース回
路)
Claims (4)
- 【請求項1】 パイプライン方式で一連の命令を実行し
てディジタル信号を処理するディジタル信号処理装置に
おいて、 異なるデータを同時に転送できるようになされた第1、
第2および第3のバスと、 前記第1のバスに接続された第1の内部メモリと、 前記第2のバスに接続された第2の内部メモリと、 前記第1および第2のバスに接続された演算手段と、 前記第3のバスに接続されるとともに、少なくとも前記
第1および第2のバスの一方に接続された第3の内部メ
モリと、 前記第3のバスに接続されるとともに、少なくとも前記
第1および第2のバスの一方に接続され、かつ外部メモ
リにデータの書き込みおよび読み出しを行える入出力イ
ンタフェース手段とを有し、 所定の1つの命令実行サイクルの間に、前記第1および
第2のバスを使用する第1の命令と、前記第3のバスを
使用する第2の命令とを並列的に実行するように構成し
てなるディジタル信号処理装置。 - 【請求項2】 前記所定の1つの命令実行サイクルにお
いて、前記第1の命令については、前記第1および第2
の内部メモリからそれぞれデータが読み出されて、それ
らの読み出されたデータが前記第1および第2のバスを
介して前記演算手段に転送され、次いで前記演算手段で
両データについて所定の演算が行われ、前記第2の命令
については、所定のアドレス情報が前記第3のバスを介
して前記入出力インタフェース手段に送られ、次いで予
め前記外部メモリより前記入出力インタフェース手段に
読み出されているデータが前記第3のバスを介して前記
第3の内部メモリに転送されるように構成された請求項
1に記載のディジタル信号処理装置。 - 【請求項3】 前記第3の内部メモリには前記外部メモ
リにアクセスするための前記アドレス情報を格納するた
めの第1のメモリ領域と前記外部メモリより転送された
データを格納するための第2のメモリ領域とが設定さ
れ、各々対応する前記アドレス情報と前記データとはそ
れぞれが格納される前記第1のメモリ領域におけるメモ
リ番地と前記第2のメモリ領域におけるメモリ番地との
間に一定のオフセットを有していることを特徴とする請
求項2に記載のディジタル信号処理装置。 - 【請求項4】 パイプライン方式で一連の命令を実行し
てディジタル信号を処理するディジタル信号処理装置に
おいて、 異なるデータを同時に転送できるようになされた第1、
第2および第3のバスと、 前記第1および第2のバスにそれぞれ接続され、少なく
とも一方がデュアルポート型に構成されるとともに前記
第3のバスにも接続された第1および第2のデータ記憶
手段と、 前記第1および第2のバスに接続された演算手段と、 前記第3のバスに接続されるとともに、少なくとも前記
第1および第2のバスの一方に接続され、かつ外部のデ
ータ記憶手段にデータの書き込みおよび読み出しを行え
る入出力インタフェース手段とを有し、 所定の1つの命令実行サイクルの間に、前記第1および
第2のバスを使用する第1の命令と、前記第3のバスを
使用する第2の命令とを並列的に実行するように構成さ
れたディジタル信号処理装置。
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008504572A (ja) * | 2004-06-23 | 2008-02-14 | クリエイティヴ テクノロジー リミテッド | デジタルメディアストリームの処理 |
Families Citing this family (11)
| 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)
| 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 | セイコーエプソン株式会社 | データ転送制御装置 |
-
1994
- 1994-10-24 JP JP28442594A patent/JP3579843B2/ja not_active Expired - Fee Related
-
1995
- 1995-10-24 US US08/547,267 patent/US5822613A/en not_active Expired - Lifetime
Cited By (1)
| 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 |