JP2003533823A - デジタル信号処理装置の共用バスインターフェース - Google Patents

デジタル信号処理装置の共用バスインターフェース

Info

Publication number
JP2003533823A
JP2003533823A JP2001585054A JP2001585054A JP2003533823A JP 2003533823 A JP2003533823 A JP 2003533823A JP 2001585054 A JP2001585054 A JP 2001585054A JP 2001585054 A JP2001585054 A JP 2001585054A JP 2003533823 A JP2003533823 A JP 2003533823A
Authority
JP
Japan
Prior art keywords
instruction
program
external device
loop
data
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.)
Withdrawn
Application number
JP2001585054A
Other languages
English (en)
Inventor
ジャン、フランソワ、デュボック
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.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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 Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2003533823A publication Critical patent/JP2003533823A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 回路装置および方法が、デジタル信号処理装置(12)に必要とされる相互接続数を、共用バス(19)を利用することにより、減少させ、デジタル信号処理装置(12)を、プログラムメモリ(20)および少なくとも1つの外部デバイス(24)の両方に、相互接続させる。インストラクションキャッシュ(26)は、DSPプログラムから被選択命令をキャッシュするために利用され、それにより、DSPプログラム命令のキャッシュコピーが、インストラクションキャッシュ(26)内で利用可能な時は常に、キャッシュコピーは、プログラムメモリ(20)に代わりインストラクションキャッシュ(26)からフェッチでき、それにより、共用バス(19)が、外部デバイス(24)へのアクセスの実行のために開放される。命令をキャッシュし、続いて外部デバイスのアクセスのために共用バス(19)を開放することは、ループの検出に対する条件となってもよく、それにより、ループからの命令が、インストラクションキャッシュ(26)にキャッシュされ、ループを通る次のパスの間にフェッチされる。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、概して、デジタル信号処理装置(DSP)の回路装置、および、こ
れを組み込んだ集積回路に関し、特に、デジタル信号処理装置と、メモリおよび
他の外部デバイスとを相互接続することに関する。
【0002】 (発明の背景) 半導体製造技術の発展に伴い、集積回路の設計者は、単一集積回路デバイス、
あるいは、チップ内により多くの機能を統合できるようになった。このように、
電子設計には、以前はいくつかの集積回路をサーキットボード、あるいは、モジ
ュール上で、電気的に相互接続させる必要があったが、今では単一集積回路に統
合させてもよく、それにより、パフォーマンスを向上させ、コストを削減できる
【0003】 ディスクリート回路から集積回路に移行した機能の一つは、デジタル信号処理
であり、これは、概して、デジタル表示信号に対して数学的処理を応用したもの
である。デジタル信号処理は、多くのアプリケーションで利用され、オーディオ
、および/または、ビデオ信号に対してフィルタを与え、無線あるいは他のセル
ラーネットワーク等の通信信号からの情報を解読する。
【0004】 半導体製造技術は、デジタル信号処理を行う論理回路が、専用デジタル信号処
理装置により行われてもよい程までに発展し、この専用デジタル信号処理装置は
、ソフトウエアプログラムを、ここではDSPプログラムと呼ぶが、実行し、特
定のDSPアルゴリズムを実施するものである。さらに、デジタル信号処理装置
は、集積回路あるいはチップに、追加論理回路と共に、埋め込まれていてもよく
、さらにパフォーマンスの向上を提供し、その上、コストを下げることができる
【0005】 多くのデジタル信号処理タスクは、繰返しが多いが、比較的単純な、数学的計
算を、大容量のデジタルデータについて、瞬時に行う必要性により特徴付けられ
る。乗加算(MAC)演算は、例えば、2つのオペランドの乗算を行い、その結
果を実行アキュムレータに加算するものであり、これは、しばしばハードウエア
論理で、単一クロックサイクル内で実行されるように実施できる。マルチプルM
ACユニットさえもが、提供されてもよく、それにより、マルチプルMAC演算
が、所定の任意のクロックサイクル内に発生できる。しかし、いくつかの複雑な
フィルタリング演算は、1つの出力値を、単一地点で遅れずに計算するだけのた
めに実行される、何百あるいは何千ものMAC演算を、必要とするであろう。
【0006】 多くのDSP演算の、繰返しの多い性質を考慮すると、入力データが、メモリ
からデジタル信号処理装置により取出され、また、出力データが、処理された後
に、メモリ内に戻り書込まれる(しばしばメモリバンド幅と呼ばれる)速度は、
しばしばDSPシステム全体のパフォーマンスに重大な影響を有する。
【0007】 メモリバンド幅を増加させる方法の1つは、マルチプル通信パスあるいはバス
を利用することであり、異なる形式のデータを、デジタル信号処理装置に通信す
るものである。例えば、メモリバンド幅は、別々の読み書きパスをメモリに提供
することにより、効率的に倍加でき、それにより、データが、メモリに書込まれ
ると同時に、他のデータが、メモリから取出される。
【0008】 メモリバンド幅はまた、DSPプログラムデータおよび信号データを、別々の
メモリ空間に分けることにより増加でき、それにより、別々にアクセス可能なプ
ログラムおよびデータメモリが、使用され、DSPプログラム命令および信号デ
ータを格納する。さらに、デジタル信号データは、マルチプルメモリ空間に区切
られてもよく、それにより、マルチプルデータポイントは、所定のメモリへ、あ
るいは、該メモリから、同時に転送される。多くの従来のDSPシステムは、例
えば、データメモリを別々のXおよびYメモリ空間に区切っており、それにより
、例えば、MAC演算等のDSP演算に対するオペランドの対が、同時に取出さ
れる。
【0009】 しばしば、パフォーマンスは、プログラムおよびデータメモリが、デジタル信
号処理装置と同じ集積回路上に統合される時、最大化され、それにより、直接か
つ高速のリンクが、デジタル信号処理装置および最も頻繁に使用される情報の間
に、提供される。それにも関わらず、デジタル信号処理装置は、任意の他の論理
回路とほぼ同様に、一般に、いくつかの外部通信形式をサポートする必要があり
、例えば、その結果、他の論理回路により獲得された現実世界のデータを取出し
、処理でき、および/また、その結果、DSPの結果を、現実世界で利用するた
めに他の論理回路へ戻すことができる。このような他の論理回路は、ここでは総
称的に外部デバイスと呼ぶが、同じ集積回路上に設置されてもよいし、あるいは
、DSPとインターフェースする他の集積回路上に設置されてもよい。一般に、
デジタル信号処理装置との外部通信は、別の通信パスを通して提供されるが、こ
れは、そのような通信が、しばしば、デジタル信号処理装置、および、その専用
メモリとの間でサポートされる最大通信速度より遅い速度で、伝送される必要が
あるからである。
【0010】 パフォーマンスの向上が、マルチプル通信パスを使用して、プログラム、デー
タ、および、外部デバイスの通信を処理することにより可能となったにも関わら
ず、マルチプル通信パスは、連結性についての関連コストを有する。特に、デジ
タル信号処理装置との各通信パスは、一般に、比較的多数の電気伝導パスを必要
とする。より多くの通信パスが、設計に組込まれると、従って、設計に必要な伝
導パスの総数を著しく増加させることになる。
【0011】 例えば、模範的なデジタル信号処理装置は、同時双方向機能を有する別々のX
およびYデータ空間をサポートし、各データ空間が、16ビット幅のアドレスお
よび32ビット幅のデータを利用するならば、このデジタル信号処理装置は、多
くの追加制御信号と共に、192のデータおよびアドレスラインを必要とするで
あろう。同時双方向機能を有する、20ビット幅の別のプログラムメモリ空間、
および、同時双方向機能を有する、16ビット幅の外部デバイスアドレス空間を
想定すると、必要とされるデータおよびアドレスラインの総数は、392になる
【0012】 デジタル信号処理装置が、いかなる関連メモリとも、同じ集積回路上で統合さ
れない時は、多くの外部相互接続が、一般的にはピンが、必要となる。集積回路
は、しかし、しばしば使用できる相互接続の総数に非常に限りがあり、しかも追
加相互接続の使用は、製造コストを増加させる。さらに、1つ以上の関連メモリ
が、デジタル信号処理装置のような、同じ集積回路上に統合される時でさえ、設
計内の論理回路および相互接続の配置およびルーティングが、過多の相互接続の
必要性により、複雑になり、しばしば設計コストを増加させ、また、すべての相
互接続を収容するのに追加の回路層を必要とし、それにより、製造コストを同様
に増加させる。追加相互接続は、任意の相互接続の長さを増加させる必要がある
と、パフォーマンスに悪影響を与えることもあり、というのは、増加した相互接
続の長さは、集積回路の伝播遅延を増加させ、それにより、設計の許容動作速度
を制限することになるからである。
【0013】 従って、重大な必要性が、設計の相互接続性要件を有するデジタル信号処理装
置の、システムパフォーマンスおよびメモリバンド幅を釣合わせる方法に対して
、当該技術に存在し続けている。
【0014】 (発明の要約) 本発明は、従来技術に係るこれらおよび他の問題に、回路装置および方法を提
供することにより、対処するものであり、この回路装置および方法は、デジタル
信号処理装置に必要とされる相互接続数を、共用バスを利用することにより、メ
モリバンド幅に著しく悪影響を与えることなく減少させ、デジタル信号処理装置
を、プログラムメモリおよび少なくとも1つの外部デバイスの両方に、相互接続
させるものである。インストラクションキャッシュは、共用バスと関連して利用
され、DSPプログラムから被選択命令をキャッシュし、それにより、DSPプ
ログラムからの命令のキャッシュコピーが、インストラクションキャッシュ内で
利用可能な時は常に、キャッシュコピーは、プログラムメモリに代わりインスト
ラクションキャッシュからフェッチでき、それにより、共用バスが、外部デバイ
スへのアクセスの実行のために開放される。
【0015】 本発明の一様態に一致して、データバスインターフェースはまた、別々にデジ
タル信号処理装置をデータメモリにインターフェースさせるように、提供されて
おり、それにより、デジタル信号処理装置は、同時に、命令をインストラクショ
ンキャッシュからフェッチし、データバスインターフェースを通してデータメモ
リと通信し、共用バスを通して外部デバイスと通信することができる。
【0016】 本発明のもう一つの様態に一致して、インストラクションキャッシャからの命
令のフェッチは、DSPプログラム実行中のループの検出に応じて、行われる。
ループからの命令のサブセットが、ループを通る第1パスの間、および、ループ
の検出に応じて、インストラクションキャッシュにキャッシュされる。次に、ル
ープを通る次のパスの間、命令のサブセットからの命令は、プログラムメモリに
代わりインストラクションキャッシュからフェッチされる。
【0017】 これらおよび他の利点および主要点は、本発明を特徴づけており、ここに添付
のさらなる部分を形成するクレームにおいて明らかにされる。しかし、本発明お
よび本発明を利用して得られる利点および目的をよりよく理解するために、図面
、および、付属の説明内容を参照すべきであり、それには、本発明の好適な実施
形態が説明されている。
【0018】 (詳細な説明) ここで説明される実施形態は、デジタル信号処理環境において、共用バスアー
キテクチャを利用しており、プログラムメモリとの命令、および、外部デバイス
との外部デバイスデータの両方を、通信している。インストラクションキャッシ
ュは、DSPプログラムから被選択命令をキャッシュし、被要求命令のキャッシ
ュコピーが、インストラクションキャッシュ内で利用可能である時、共用バスは
、共用バスを通して外部デバイスデータを転送するために、開放される。
【0019】 一般に、最大パフォーマンスゲインは、DSPプログラムからフェッチされ実
行された最大数の命令が、インストラクションキャッシュから取出すことができ
る時、実現する。このように、命令がキャッシュされる可能性を増加させる任意
のメカニズムあるいはアルゴリズムが、望ましい。DSP環境は、特に、インス
トラクションキャッシングにむしろ有用であることが分かり、多くのDSPアル
ゴリズムは、事実上、非常に繰り返しが多く、それにより、プログラム実行中に
、比較的少ない命令が、比較的何度も実行される。このような繰り返しの多い命
令を識別し、係る繰り返しの多い命令を検出し捕らえるよう共用バスへの制御を
調整することが、従って、本発明に一致した、共用バスを含むDSP環境のパフ
ォーマンスを最大にする一方法なのである。図示の実施形態では、例えば、DS
Pプログラムの命令のループが、実行中に検出され、それにより、ループを通る
マルチプルパスの間の命令の実行が、利用でき、外部デバイスのアクセスに対し
て、共用バスの制御を開放する。繰り返しの多いDSP命令を識別し、収容する
他の方法は、本開示の利益を受ける当業者には明白であり、従って、本発明は、
この特定の実施に制限されるものではない。
【0020】 図面に戻り、同じ数字は、いくつかの図を通して同じ部分を表しており、図1
は、本発明に一致して、回路装置10を示している。図示の実施では、回路装置
10は、単一集積回路デバイスあるいはチップ上に配置されている。回路装置1
0は、デジタル信号処理装置(DSP)12を含み、デジタル信号処理装置(D
SP)12は、データバス15に接続するデータバスインターフェース14を含
んでおり、データメモリ16との通信を提供している。データメモリ16は、1
つ以上のデータ空間、例えば、XおよびYデータ空間に、区切られていてもよい
。さらに、データバス15は、マルチプル通信パスを含んでもよく、データメモ
リ空間との同時処理を提供できる。
【0021】 図示の実施形態では、例えば、データバス15は、データメモリ内の2つのデ
ータ空間(XおよびYデータ空間)の各々との間で、同時双方向通信を有してい
てもよい。各々の通信パスが、アドレスバスおよびデータバスを含んでいる状況
で、データバス15は、各々のデータ空間に対して2つのアドレスバスを含み、
各々のデータ空間に対して4つの単一方向データバスをも含み、合計で12のバ
スが、データバス15を構成してもよい。任意の幅が、任意のバスに使用される
ことができ、例えば、16ビットでは、それにより、合計192の通信ラインが
、データバス15内に提供できる。例えば、読み/書き制御ライン、イネーブル
ライン、クロック分配ライン等の追加の制御ラインも、当該技術に公知のとおり
、データバス15に含まれてもよい。さらに、任意数の他のデータ空間の実施が
、本発明に一致して利用できることは、当業者により、認識されるであろう。
【0022】 プログラムおよび外部デバイスの両方に、DSP12との接続性を提供するた
めに、共用バス19に接続される共用バスインターフェース18が、利用されて
おり、DSPをプログラムメモリ20、および、外部デバイスインターフェース
22に、インターフェースさせている。データバス15と同様に、共用バス19
は、別々のアドレスパスおよびデータパス、またマルチプルアドレスパスをも有
していてもよく、同時双方向接続を提供する。例えば、図示の実施では、共用バ
ス19は、各々20ビット幅の2つのアドレスバスと共に、16ビット幅の4つ
の単一方向プログラムデータバスを含んでもよく、データバスの対は、論理的に
連結し、アドレス空間内で32ビット幅として提供される。
【0023】 外部デバイスインターフェース22は、共用バス19と、1つ以上の外部デバ
イス24間のインターフェースを提供する。外部デバイスは、同じ集積回路上に
配置されてもよく、あるいは、回路の外部に配置され、それと電子通信してもよ
い。この方法でアクセスされる外部デバイスの種類の例には、DSPの周波数に
比べ低周波数で動作するアナログからデジタル、または、デジタルからアナログ
への変換器、デバッグポート、チップ初期化フェーズの間で読出し、または、書
込みされるチップコンフィギュレーションレジスタ、ホストコンピュータ、ある
いは、高い周波数を要さない任意の他のハードウエアリソースへの通信ポート(
シリアルまたはパラレル)が、含まれる。
【0024】 各インターフェース14、18、および、22は、一般に、それぞれのバスに
接続する終端点を含み、また、適切なバスとの必要なインターフェースを実現す
る適切なバッファーおよび制御論理をも含む。各バス15および19に対する適
切なインターフェースの実現は、本開示の利益をうける当業者に十分に可能であ
ろう。
【0025】 上記で説明されているように、DSP12は、インストラクションキャッシュ
、例えば、キャッシュ26を利用し、プログラムメモリ20内に格納されている
DSPプログラムから命令をキャッシュして、その結果、DSPによる実行のた
めに命令をフェッチする処理が、共用バスからオフロードでき、それにより、共
用バスを外部デバイス通信のために開放する。インストラクションキャッシュ2
6は、DSP12内に組込まれてもよく、あるいは、集積回路の他の部分で電子
通信してもよい。
【0026】 データメモリ16、プログラムメモリ20、および、インストラクションキャ
ッシュ26の各々は、任意の多くの公知メモリ技術を利用して実現されてもよく
、例えば、SRAM、DRAM、および、他の揮発または不揮発性固体状態記憶
装置技術が、含まれる。プログラムメモリ20は、プログラムメモリに格納され
ているDSPプログラムの変更が、回路装置10が使用されている特定のアプリ
ケーションに必要なければ、その全部または一部が、読み取り専用メモリ(RO
M)で実現されることもある。
【0027】 DSPプログラム命令が、インストラクションキャッシュ26に格納されてい
ると、データバスインターフェース14、共用バスインターフェース18、およ
び、インストラクションキャッシュ26の組合せにより、データメモリ、外部デ
バイス、および、DSPにより実行されるDSPプログラムから命令を取り込む
ためのインストラクションキャッシュ、との同時通信(例えば、同クロックある
いはメモリアクセスサイクルの間)が、可能となることが、分かっている。その
ような同時通信能力を有して動作する時、従って、回路装置10は、別々のプロ
グラムと外部デバイスバスを含む従来のDSP設計と同程度に有効なバンド幅を
提供できることが、分かる。しかし、共用バスを使用することにより、相互接続
数は、著しく減じられる。(例えば、各々16ビット幅の2つのアドレスバス、
および、4つの単一方向データバスが、外部デバイスインターフェースを実現す
るために使用されると、96もの相互接続と、付随する制御信号となる。) 回路装置10のすべての構成要素が、単一集積回路デバイス、あるいは、チッ
プ上に組込まれているように図示されているが、いくつかの構成要素が、デジタ
ル信号処理装置を含む集積回路に電子的に接続される別の集積回路上に、配置さ
れていてもよいことが、十分理解できるであろう。従って、図1に示されている
いくつかのバスは、オンチップ配線を使用して、あるいは、別の伝送路経由で実
現され、電子、および/または、光媒体を利用して、各伝送路を実現してもよい
【0028】 さらに、当該技術に公知の通り、集積回路デバイスは、一般に、1つ以上のコ
ンピュータデータファイルを使用して設計および製造されており、このコンピュ
ータデータファイルを、ここではハードウエア定義プログラムと呼ぶが、これは
、デバイスの回路装置の機能性、および/または、レイアウトを、細部の様々な
レベルで、定義している。このプログラムは、一般に、設計ツールにより生成さ
れ、その後シミュレーション、および/または、製造中のレイアウトマスク作成
に使用され、そのレイアウトマスクは、半導体ウエハに適用する回路装置を定義
する。一般に、このプログラムは、VHDL、Verilog、および、EDI
F等のハードウエア記述言語(HDL)を使用する、定義済みフォーマットで、
提供されている。本発明は、これまでおよびこれ以降、十分に機能的な集積回路
デバイス、および、該デバイスを利用したデータ処理システムにて実現される回
路装置の状態で記述されるが、本開示の利益を受ける当業者は、本発明による回
路装置は、様々な形態のプログラムとして配布可能であり、また、本発明は、実
際に配布を実行するのに用いる特別な種類の信号伝達媒体に関係なく、同様に適
用されると認識するだろう。信号保持媒体の例は、揮発性および不揮発性メモリ
デバイス、フロッピディスク、ハードディスクドライブ、CD−ROM、および
、DVD(数ある中でも)等の記憶可能型媒体、および、デジタルとアナログ通
信リンク等の伝送型媒体を含むが、これらに限定されるものではない。
【0029】 次に、図2は、回路装置10の主要構成要素を示し、本発明に一致した方法で
、バス共用を実現している。特に、DSP12は、より詳細に図示されており、
これは、計算ユニット/レジスタ30を含み、計算ユニット/レジスタ30は、
デジタル信号処理装置操作、および、プログラムコントロールユニット32を実
行するために使用され、このプログラムコントロールユニット32は、プログラ
ムメモリ20に格納されているDSPプログラムへの命令のフェッチ、および、
実行を制御するために、利用されている。プログラムコントロールユニット32
は、一般に、インストラクションデコーダおよびプログラムカウンタを含み、こ
のプログラムカウンタは、プログラムメモリに格納されているDSPプログラム
から、命令をフェッチするためのアドレス指定を制御しているものであり、この
構成は、当該技術に公知のものである。
【0030】 共用バスインターフェース18は、バス共用マルチプレクサ34、および、バ
スコントロールユニット36を含むように、図示されている。バス共用マルチプ
レクサ34は、回路装置10内の多数のデータパスを、サポートしている。例え
ば、バス共用マルチプレクサにより定義される1つのパスは、プログラムメモリ
20からプログラムコントロールユニット32、および、インストラクションキ
ャッシュ26へのインストラクションパスAである。第2のインストラクション
パスは、B1と表示されており、マルチプレクサにより、インストラクションキ
ャッシュ26からプログラムコントロールユニット32へ定義される。第3の通
信パスB2は、外部デバイスインターフェース22と計算ユニット/レジスタ3
0間で、定義される。
【0031】 マルチプレクサ34は、2つの動作モードから1つを選択するバスコントロー
ルユニット36の制御下にある。第1の動作モードでは、ここではプログラムメ
モリアクセスモードと呼ぶが、バス共用マルチプレクサ34は、データパスAを
起動するように構成されている。第2の外部デバイスアクセスモードでは、マル
チプレクサ34は、両データパスB1およびB2を起動するように構成されてお
り、それにより、共用バスは、外部デバイスデータとの通信に利用され、一方、
命令は、インストラクションキャッシュによりプログラムコントロールユニット
へ、供給される。
【0032】 バスコントロールユニット36が、バス共用マルチプレクサ34を制御するメ
カニズムは、異なる実施形態により変わる。本発明の特定の実施の1つは、マル
チプレクサのループベース制御を利用しており、図3および図4により詳細に図
示されている。特に、図3は、DSP52を含む回路装置50を図示しており、
DSP52は、共用バス54を通してプログラムメモリ56、および、外部デバ
イスインターフェース58に、接続している。図3では、太点線は、様々なバス
の中でデータラインを図示するのに使用されており、一方、太実線は、アドレス
ラインを図示するのに利用されている。インストラクションデコーダ60からの
最も太い線は、制御信号を表しており、この制御信号は、プログラムメモリ56
に格納されているDSPプログラムからのDSP命令の取出し、および、解読に
応じて、生成される。
【0033】 インストラクションデコーダ60は、インストラクションソースマルチプレク
サ62から命令を供給されており、その一方の入力は、共用バス54のデータラ
インに接続しており、その他方の入力は、インストラクションキャッシュ98の
出力に接続している。共用バス54はまた、インストラクションキャッシュ98
にも接続されており、命令のキャッシュのために、プログラムメモリより出力さ
れた命令を、インストラクションキャッシュに供給しており、下記により詳細に
記載する。
【0034】 受信した命令に応じて、インストラクションデコーダ60は、一組の計算ユニ
ット/レジスタ64を制御し、当該技術に公知の方法で、様々なDSP動作を行
う。計算ユニット/レジスタは、データバス65および66を通してXおよびY
データメモリに接続する。インストラクションデコーダ60は、さらに、一組の
アドレス生成器68を制御し、XおよびYデータメモリ空間へのアクセスを(ア
ドレスライン69および70を通して)開始し、また、アドレスライン71を通
して外部デバイスのアクセスを開始する。
【0035】 インストラクションデコーダ60はまた、一組のループコントロールレジスタ
初期化信号を、ループコントロール72に供給しており、図示の実施では、バス
コントロールユニットとして、機能する。さらに、インストラクションデコーダ
60は、インストラクションキャッシュ98に新しいループコントロール信号を
、出力する。新しいループコントロール信号、および、ループコントロールレジ
スタ初期化信号の両方は、ループ開始の適切な命令の検出に応じて、インストラ
クションデコーダ60より、出力される。
【0036】 様々な命令が、ループ定義のために解読されてもよい。例えば、DSP Gr
oup,Inc.からのPalmDSPCore、および、OakDSPCor
eのコア(数ある中でも)により利用される命令セットでは、これは、多くの異
なる従来のプログラム可能DSPアーキテクチャの1つなのだが、リピート、お
よび、ブロックリピート等の命令が、ループコントローラ72、および、インス
トラクションキャッシュ98へのループコントロール信号の生成を、開始させて
もよい。他のアーキテクチャに関しては、他の命令が、下記に記載される方法で
ループ処理を開始させていてもよい。
【0037】 ループコントロール72は、開始ループアドレスレジスタ74、および、終端
ループアドレスレジスタ76を含んでおり、これらは、各々ループ実行中のマル
チプルパスで実行されるプログラムメモリからの命令のサブセットを、定義して
いる。レジスタ74および76は、インストラクションデコーダ60により、ル
ープの各パスの間に実行する命令の開始、および、終端アドレスに、初期化され
る。図示の実施では、ループ中に実行されるすべての命令は、レジスタ74およ
び76に格納されている値の間で定義される範囲内で、表されるが、他の実施形
態では、ループの各パスの間に実行される一部の命令だけが、キャッシュされて
もよい。
【0038】 ループコントロール72はまた、検出されたループを通るパス数を数えるルー
プカウンタ78を含む。カウンタ78は、一般に、インストラクションデコーダ
60により、レジスタ74および76の初期化と同時に、例えば、ループ開始の
命令分析を通して、初期化される。ループカウンタ78は、ループの各パス毎に
、ディクリメントブロック80により、選択的にディクリメントし、ディクリメ
ントブロック80は、コンパレータ82から出力されるパスエンド信号を通して
、制御される。コンパレータ82は、終端ループアドレスレジスタ出力76、お
よび、プログラムカウンタ88の出力を、その入力として受信し、DSPにより
処理される現命令のアドレスを表す。その結果、コンパレータ82は、プログラ
ムカウンタ出力とレジスタ76の間で一致が検出される時は常に、パスエンド信
号を出力し、それにより、ループを通るパスの終端を表す。
【0039】 第2コンパレータ84は、ループカウンタ78の出力と接続し、もう一方の入
力は、ヌル値に接続され、ループを通る最終パスの完了を検出している。コンパ
レータ84の出力は、ループの終端信号に指定されており、コンパレータ82か
ら出力されるパスエンド信号と共に、プログラムカウンタ88に供給される。プ
ログラムカウンタ88はまた、レジスタ74の出力を入力として受信し、ループ
終端信号が、表明されていない時に、パスエンド信号が、表明されるのに応じて
、レジスタの内容をロードするように構成されている。このように、ループを通
る最終ではないパスが、完了する時は常に、プログラムカウンタ88は、ループ
開始アドレスがロードされ、それにより、ループを通る次の繰返し、あるいは、
パスが、開始できる。
【0040】 ループ値で開始されたループカウンタをディクリメントし、その結果をゼロと
比較するよりむしろ、他の実施形態は、ループカウンタをゼロにて初期化し、ル
ープを通る各パス毎にカウンタをインクリメントし、その結果を、インストラク
ションデコーダにより決定された最大のループカウントと比較してもよいことが
、認識されるであろう。
【0041】 コンパレータ82はまた、第2出力を含み、第1パスエンド信号に指定されて
おり、ループを通る第1パスが完了した時のみに、表明される。設定後、第1パ
スエンド信号は、一般に、ループの完了まで表明状態で保持される。この出力は
、インストラクションソースマルチプレクサ62、および、共用バスマルチプレ
クサ86に送られ、共用バスマルチプレクサ86は、プログラムカウンタ出力、
および、外部デバイスアドレスライン71を入力として、受信する。
【0042】 第1パスエンド信号は、モード選択信号として動作し、共用バスインターフェ
ースを、プログラムメモリアクセスモードと外部デバイスアクセスモードとの間
に、切替えている。特に、第1パス完了前に(あるいは、ループが処理されてい
なければ)、第1パスエンド信号が、表明されることはない。表明されない時、
インストラクションソースマルチプレクサ62は、インストラクションデコーダ
60へ通すために、入力として共用バス54を選択する。さらに、共用バスマル
チプレクサ86は、プログラムカウンタ88の出力を、共用バス54のアドレス
ラインに接続することを、デフォルトとしている。しかし、第1ループパスが完
了し、ループが完了するまでに、第1パスエンド信号が、表明され、マルチプレ
クサ62の入力を切替え、インストラクションキャッシュ98の出力をインスト
ラクションデコーダ60に、接続している。さらに、マルチプレクサ86は、外
部デバイスアドレスライン71を共用バス54のアドレスラインに接続するよう
に起動され、共用バスを通して外部デバイスのアクセスを許容する。インストラ
クションキャッシュアドレスマッピングブロック96は、同時に、被要求命令を
インストラクションキャッシュアドレスにマップし、それにより、共用バスによ
り転送された命令が、適切かつ取出し可能な位置に格納される。
【0043】 共用バスマルチプレクサ86の出力は、デコーダ90および92の対に供給さ
れ、アドレスライン上で特定されたアドレスを、プログラムメモリ56、あるい
は、外部デバイスインターフェース58のいずれかに指定されるように、解読す
る。様々な解読メカニズムが、利用されてよいが、図示の実施形態では、単純な
解読構造が使用されており、それにより、アドレスの最上位ビット(MSB)が
、プログラムと外部デバイスメモリ空間との選択に、使用されている。従って、
マルチプレクサ86によるアドレス出力のMSBが、「0」の場合、プログラム
メモリが、アクセスされ、一方、MSBが、「1」に設定された場合、外部デバ
イスメモリ空間が、アクセスされる。
【0044】 プログラムカウンタ88は、各クロックサイクル毎に多くの値をロードできる
。インストラクションデコーダ60は、例えば、JUMP命令に応じて、プログ
ラムカウンタを、ロードしてもよい。さらに、プログラムカウンタは、ループを
通る最終ではないパスの完了時に、ループコントロールによりロードされてもよ
い。さらに、プログラムカウンタは、プログラムカウンタの出力とそれに対する
入力の間に接続されたインクリメントブロック94に応じて、各クロックサイク
ル毎に、単にインクリメントされてもよい。
【0045】 インストラクションキャッシュ98は、キャッシュ技術に公知の、任意数の方
法で、アクセスされてよい。例えば、インストラクションキャッシュアドレスマ
ッピングブロック96は、プログラムカウンタ88の出力に接続されてもよく、
また、インストラクションアドレスを、インストラクションキャッシュ内の適切
な位置にアクセスするために、インストラクションキャッシュ内の対応するアド
レスにマップし、プログラムカウンタに格納された現アドレスを通して要求され
た命令のキャッシュコピーを取出すのに、使用されてもよい。
【0046】 様々なインストラクションキャッシュアーキテクチャが、本発明に一致して使
用され、様々な程度の連想、および、様々なハッシングメカニズム等を含んでも
よいことが、認識されるであろう。
【0047】 また、増設回路(図示せず)も、プログラムメモリアクセスモードにある間に
、外部デバイスへのアクセスが求められる時は常に、バス競合を解決するために
利用されてもよいことが、認識されるであろう。任意数の従来のアービトレーシ
ョンメカニズム、例えば、常にプログラムメモリアクセスを優先する、あるいは
、常に外部デバイスアクセスを優先するメカニズムが、利用されてもよい。一般
に、このような機能は、論理回路を利用するDSPにおいて、実施され、この論
理回路は、インストラクションアドレスバス、および、外部デバイスアドレスバ
スにリンクされた読み/書き信号を比較し、矛盾が、検出されると、クロック、
あるいは、他の任意の待ち状態メカニズムを停止させることにより、外部デバイ
スのアクセスを停止させて(インストラクションアクセスが優先の場合)、イン
ストラクションアクセスを処理し、次に、インストラクションアドレスバスを停
止させて、外部デバイスのアクセスを、処理する。いくつかの実施形態では、例
えば、任意の予想される矛盾が、再命令あるいは他の公知技術を使用したDSP
プログラムのコンパイル間に解決される場合、アービトレーション論理は、必要
なくてもよい。
【0048】 図4は、本発明に一致したインストラクションフェッチ動作の実行において、
図3に示された回路装置動作を、図示している。特に、インストラクションフェ
ッチルーチン100は、ブロック102で開始するように図示されており、ブロ
ック102では、命令が、解読および実行のために、プログラムメモリからフェ
ッチされる。ブロック102の間、マルチプレクサ62および86の両方が、プ
ログラムメモリアクセスモードであり、インストラクションデコーダ60より出
力されるループ初期化信号は、表明されていないことが、認識されるであろう。
次に、ブロック104では、フェッチされた命令が、ループを開始するかどうか
を決定する。ループを開始しない場合、コントロールは、ブロック102に戻り
、プログラムメモリから次の命令をフェッチし、従って、従来のDSP命令処理
の方法で動作する。
【0049】 しかし、ループが検出される場合、コントロールは、ブロック106に進み、
ループコントロールレジスタ初期化信号を表明し、ループレジスタを、マルチプ
ルパスで実行される命令のサブセットの開始および終端アドレスにより、初期化
すると共に、ループカウンタ78に格納されている実行するパスの総数をも、初
期化する。さらに、この時、インストラクションキャッシュ98に新しいループ
信号が、表明され、ループからDSPプログラムの命令のキャッシングを、開始
する。
【0050】 次に、ブロック108は、次の命令をフェッチし、新しいループ信号の表明に
より、その命令は、同時にインストラクションキャッシュ、および、インストラ
クションキャッシュアドレスマッピングにより定義された適切な位置に、書込ま
れる。コントロールは、次に、ブロック110に進み、最初にループの終端に到
達したかどうかを決定する。到達しない場合、コントロールは、ブロック108
に戻り、追加命令を処理する。しかし、最初にループの終端に到達した場合(プ
ログラムカウンタが、レジスタ76に格納された値と一致することにより決定さ
れる)、コントロールは、ブロック112に進み、一般に、コンパレータ82に
よる第1パスエンド信号の表明により、共用バスを外部デバイスのアクセスに開
放する。
【0051】 次に、ブロック114が、コンパレータ82からのパスエンド信号の表明に応
じて、ループカウンタ78に格納されたループカウント(LC)を、ディクリメ
ントさせる。次に、ブロック116が、再びコンパレータ82からのパスエンド
信号の表明に応じて、プログラムカウンタに、アドレスレジスタ74に格納され
ている開始ループアドレスをロードする。
【0052】 次に、コントロールは、ブロック118に進み、インストラクションキャッシ
ュから命令をフェッチするが、これは、コンパレータ82による第1パスエンド
信号の表明の結果として、起こることである。コントロールは、次に、ブロック
120に進み、終端ループアドレスレジスタの内容とプログラムカウンタとの一
致に基づき、ループの終端に到達したかどうかを、検出する。ループの終端に到
達していない場合、コントロールは、ブロック118に戻り、キャッシュから追
加命令をキャッシュする。しかし、ループの終端に到達している場合、コントロ
ールは、ブロック122に進み、現ループカウント値が、「0」に等しいかどう
か、つまり、コンパレータ84の出力が、表明されたかどうかを、決定する。表
明されない場合、コントロールは、ブロック114に進み、ループカウントをデ
ィクリメントさせ、プログラムカウンタに開始ループアドレスをロードして、ル
ープを通す別のパスを開始する。ループカウントが、「0」に等しい場合、ブロ
ック122は、コントロールをブロック124に進ませ、共用バスをプログラム
メモリのアクセスに奪うが、特に、コンパレータ82からの第1パスエンド信号
を表明しないことにより、マルチプレクサ62および86をそのデフォルト状態
に戻す。さらに、ループの終端信号が、表明されると仮定すると、プログラムカ
ウンタには、開始ループアドレスレジスタが再ロードされず、従って、ループに
続いて、次のアドレスがロードされるであろう。
【0053】 図示の実施形態の動作を、さらに説明するために、下記表1は、複数の命令を
含む代表的なDSPプログラムを示しており、そのサブセット(プログラムの6
−16行に示される)は、ループのマルチプルパスで実行される命令のサブセッ
ト(プログラムの5行目のループ命令により定義される)を表している。
【0054】
【表1】
【0055】 下記表2は、図3の回路装置によるこのようなプログラムの実行を図示してお
り、命令が、3段階パイプラインの間にフェッチされ、解読され、実行される3
段階パイプラインを前提としている。
【0056】
【表2】
【0057】 なお、実行例は、2つのパスでのみ実行されるループを前提としている。追加
パスは、上記の第2パスとほぼ同じ方法で進むであろう。
【0058】 本発明の要旨および範囲から逸脱せずに、種々の変更は、図示の実施形態に対
して実施可能である。例えば、ループの検出に対して制御をベースにするよりむ
しろ、共用バスインターフェースに対する制御が、頻繁にアクセスされ、それに
より、インストラクションキャッシュでのキャッシングに適した他形式命令の検
出時に、ベースされてもよい。例えば、頻繁に呼出される所定のサブルーチンが
、共用バスのアクセスを制御するために、検出され、また利用されてもよい。
【0059】 他の変更は、本発明の利益を受ける当業者には自明のものであろう。従って、
本発明は、以下に添付のクレームに展開される。
【図面の簡単な説明】
【図1】 図1は、本発明に一致して、共用バスを組込むデジタル信号処理装置の回路装
置のブロック図である。
【図2】 図2は、図1の回路装置のブロック図であり、本発明に一致して、バス共用ア
ルゴリズムの実施に関連した制御論理を図示している。
【図3】 図3は、本発明に一致して、共用バスを組込むデジタル信号処理装置の回路装
置の、1つの具体的な実施を示すブロック図である。
【図4】 図4は、フローチャートであり、図1の回路装置により利用されたインストラ
クションフェッチアルゴリズムを図示している。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジャン、フランソワ、デュボック フランス国サン、ローラン、デュ、バー ル、モワヤンヌ、コルニッシュ、デ、プュ ジェ、2893 Fターム(参考) 5B005 MM02 NN12 NN72 5B062 CC06 DD01 EE09 EE10

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 デジタル信号処理装置(DSP)プログラムを実行して、デジタル信号データ
    を処理する際に使用する回路装置であって、 (a)データバスを通してデータメモリにインターフェースするよう構成され
    、デジタル信号データをデータメモリと通信するデータバスインターフェースと
    、 (b)共用バスを通してプログラムメモリ、および、外部デバイスにインター
    フェースするよう構成され、DSPプログラムからの命令をプログラムメモリと
    通信し、外部デバイスデータを外部デバイスと通信する共用バスインターフェー
    スと、 (c)DSPプログラムから少なくとも1つの命令をキャッシュするよう構成
    されたインストラクションキャッシュと、 (d)前記データバスインターフェース、前記共用バスインターフェース、お
    よび、前記インストラクションキャッシュに接続されたデジタル信号処理装置で
    あって、前記デジタル信号処理装置は、同時に、DSPプログラムからの命令を
    インストラクションキャッシュから取出し、データバスインターフェースを通し
    てデータメモリと通信し、共用バスインターフェースを通して外部デバイスと通
    信するよう構成されたデジタル信号処理装置と、 を備えることを特徴とする回路装置。
  2. 【請求項2】 請求項1記載の回路装置において、 (a)前記データバスインターフェースに接続されたデータメモリと、 (b)前記共用バスインターフェースに接続されたプログラムメモリと、 (c)前記共用バスインターフェースに接続され、外部デバイスを共用バスイ
    ンターフェースにインターフェースさせるよう構成された外部デバイスインター
    フェースと、 をさらに備えることを特徴とする回路装置。
  3. 【請求項3】 請求項1記載の回路装置において、 (a)前記共用バスは、アドレスバスおよびデータバスを含み、 (b)前記デジタル信号処理装置は、 (1)DSPプログラムからの命令を解読するよう構成されたインストラクシ
    ョンデコーダと、 (2)インストラクションデコーダに接続され、DSPプログラムからの命令
    に対するインストラクションアドレス要求を生成するよう構成されたプログラム
    コントロールユニットと、 (3)インストラクションデコーダに接続され、外部デバイスのアクセスに対
    する外部デバイスアドレス要求を生成するよう構成されたアドレス生成器と、 (4)インストラクションデコーダに接続され、プログラムメモリアクセスモ
    ード、および、外部デバイスアクセスモードの1つを、前記共用バスに対し選択
    するよう構成されたバスコントロールユニットと、 を含み、 (c)前記共用バスインターフェースは、 (1)バスコントロールユニットに接続され、プログラムメモリアクセスモー
    ドが、選択されている時は、前記プログラムコントロールユニットを、前記共用
    バスからアドレスバスに接続し、外部デバイスアクセスモードが、選択されてい
    る時は、前記アドレス生成器を、前記共用バスからアドレスバスに接続するよう
    構成された第1マルチプレクサと、 (2)バスコントロールユニットに接続され、プログラムメモリアクセスモー
    ドが、選択されている時は、前記共用バスからデータバスを前記インストラクシ
    ョンデコーダに接続し、外部デバイスアクセスモードが、選択されている時は、
    前記インストラクションキャッシュを、インストラクションデコーダに接続する
    よう構成された第2マルチプレクサと、 を含むことを特徴とする回路装置。
  4. 【請求項4】 請求項3記載の回路装置において、前記プログラムコントロールユニット、お
    よび、前記インストラクションキャッシュに接続された、インストラクションキ
    ャッシュアドレスマッピングユニットであって、プログラムコントロールユニッ
    トにより生成されるインストラクションアドレス要求を、キャッシュアクセス要
    求にマップし、インストラクションアドレス要求により要求された命令のキャッ
    シュコピーにアクセスするよう構成されたインストラクションキャッシュアドレ
    スマッピングユニットを、さらに備えることを特徴とする回路装置。
  5. 【請求項5】 請求項4記載の回路装置において、バスコントロールユニットが、ループコン
    トロールユニットを備え、このループコントロールユニットが、ループのマルチ
    プルパスで実行されるDSPプログラムの命令のサブセットを実行する間、外部
    デバイスアクセスモードを選択するよう構成されていることを特徴とする回路装
    置。
  6. 【請求項6】 請求項5記載の回路装置において、前記バスコントロールユニットが、 (a)命令のサブセットに対する開始アドレスを格納するよう構成された第1
    レジスタと、 (b)命令のサブセットに対する終端アドレスを格納するよう構成された第2
    レジスタと、 (c)ループが実行されるパス数と関連するループカウントを、格納するよう
    構成されたループカウンタと、 (d)前記プログラムコントロールユニットにより出力される現アドレスを、
    第2レジスタから出力される終端アドレスと比較し、両者間での一致に応じて、
    ループカウンタをディクリメントし、第1レジスタからの開始アドレスを、プロ
    グラムコントロールユニットに転送するよう構成されたコンパレータと、 を含むことを特徴とする回路装置。
  7. 【請求項7】 請求項5記載の回路装置において、前記インストラクションデコーダが、ルー
    プの第1パスの間に、命令のサブセットの各命令をプログラムメモリからフェッ
    チし、この各命令を、前記インストラクションキャッシュにキャッシュするよう
    構成され、かつ、前記バスコントロールユニットが、外部デバイスアクセスモー
    ドを、ループの次のパスの間に、選択するよう構成されることを特徴とする回路
    装置。
  8. 【請求項8】 請求項1記載の回路装置を備える集積回路デバイス。
  9. 【請求項9】 請求項1記載の回路装置を定義するハードウエア定義プログラム、および、プ
    ログラムを保持する信号保持媒体を備えるプログラムプロダクト。
  10. 【請求項10】 プログラムメモリに格納されているデジタル信号処理装置(DSP)プログラ
    ムを実行し、デジタル信号データを処理する際に使用される回路装置であって、
    該DSPプログラムは、ループのマルチプルパスで実行されるよう構成された命
    令のサブセットを含む回路装置であって、 (a)DSPプログラムから命令を受信し、解読するよう構成されたインスト
    ラクションデコーダと、 (b)DSPプログラムから命令のサブセットのコピーをキャッシュするよう
    構成されたインストラクションキャッシュと、 (c)前記インストラクションデコーダを、前記インストラクションキャッシ
    ュ、および、前記プログラムメモリの1つに、選択的に接続するよう構成された
    バスインターフェースと、 (d)前記バスインターフェースに接続されたバスコントロールユニットであ
    って、該バスコントロールユニットは、DSPプログラムの実行中にDSPプロ
    グラムのループを検出するよう構成され、これに応じて、前記バスインターフェ
    ースを、前記インストラクションデコーダを前記インストラクションキャッシュ
    に接続するよう構成し、それにより、命令のサブセットからの命令が、プログラ
    ムメモリに代わり、前記インストラクションキャッシュから取出されるよう構成
    されたバスコントロールユニットと、 を備えることを特徴とする回路装置。
  11. 【請求項11】 請求項10記載の回路装置において、前記バスインターフェースが、前記共用
    バスを通してプログラムメモリ、および、外部デバイスに接続するよう構成され
    た共用バスインターフェースを備え、かつ、前記バスコントロールユニットが、
    前記バスインターフェースを構成し、その前記バスインターフェースが、前記イ
    ンストラクションキャッシュから命令を取出すと同時に、共用バスを通して外部
    デバイスデータを通信するよう構成されることを特徴とする回路装置。
  12. 【請求項12】 請求項10記載の回路装置において、データバスを通してデータメモリとイン
    ターフェースし、前記共用バスを通して外部デバイスデータを通信し、それによ
    り、前記インストラクションキャッシュから命令を取出すと同時に、デジタル信
    号データをデータメモリと通信するよう構成されたデータバスインターフェース
    を、さらに備えることを特徴とする回路装置。
  13. 【請求項13】 デジタル信号データを、デジタル信号処理装置(DSP)回路装置で処理する
    方法であって、 (a)共用バスインターフェースに接続されたプログラムメモリに格納される
    DSPプログラムからの命令を実行する工程であって、前記共用バスインターフ
    ェースは、さらに、外部デバイスを共用バスインターフェースにインターフェー
    スさせる外部デバイスインターフェースに接続されている工程と、 (b)DSPプログラムから少なくとも1つの命令を、インストラクションキ
    ャッシュにキャッシュする工程と、 (c)DSPプログラムからの命令を、前記インストラクションキャッシュか
    ら取出すと同時に、前記データバスインターフェースを通してデータメモリと通
    信し、前記共用バスインターフェースを通して外部デバイスと通信する工程と、 を備えることを特徴とする方法。
  14. 【請求項14】 請求項13記載の方法において、DSPプログラムからの命令を、前記インス
    トラクションキャッシュから取出すと同時に、前記データバスインターフェース
    を通してデータメモリと通信し、前記共用バスインターフェースを通して外部デ
    バイスと通信する工程は、 (a)プログラムコントロールユニットで、命令に対するインストラクション
    アドレス要求を生成する工程と、 (b)アドレス生成器で、外部デバイスのアクセスに対する外部デバイスアド
    レス要求を生成する工程と、 (c)外部デバイスアドレス要求を、前記共用バスインターフェースを通して
    外部デバイスにルーティングする工程と、 (d)インストラクションアドレス要求を、前記インストラクションキャッシ
    ュにルーティングする工程と、 (e)前記インストラクションキャッシュの命令のキャッシュコピーを、イン
    ストラクションデコーダにルーティングする工程、 を備えることを特徴とする方法。
  15. 【請求項15】 請求項14記載の方法において、外部デバイスアドレス要求を外部デバイスに
    ルーティングする工程は、第1マルチプレクサの制御を備え、第1マルチプレク
    サは、前記共用バスを前記プログラムコントロールユニット、および、前記アド
    レス生成器の1つに、選択的に接続し、前記共用バスをアドレス生成器に接続し
    、かつ、前記インストラクションキャッシュの命令のコピーを、前記インストラ
    クションデコーダにルーティングする工程は、第2マルチプレクサの制御を備え
    、第2マルチプレクサは、インストラクションデコーダを前記インストラクショ
    ンキャッシュ、および、前記共用バスの1つに、選択的に接続し、前記インスト
    ラクションデコーダを前記インストラクションキャッシュに接続することを特徴
    とする方法。
  16. 【請求項16】 請求項15記載の方法において、DSPプログラムの実行中に、ループのマル
    チプルパスで実行される命令のサブセットを含むループを、検出する工程をさら
    に備え、外部デバイスアドレス要求を外部デバイスにルーティングする工程、お
    よび、命令のキャッシュコピーをインストラクションデコーダにルーティングす
    る工程が、ループを検出する工程に応じて、実行されることを特徴とする方法。
  17. 【請求項17】 請求項16記載の方法において、ループの第1パスの間に、命令のサブセット
    の各命令を、プログラムメモリからフェッチする工程と、この各命令を、前記イ
    ンストラクションキャッシュにキャッシュする工程とをさらに備え、前記インス
    トラクションキャッシュから、命令のキャッシュコピーを取出す工程が、ループ
    の次のパスの間に、行われることを特徴とする方法。
  18. 【請求項18】 請求項14記載の方法において、インストラクションアドレス要求を前記イン
    ストラクションキャッシュにルーティングする工程が、インストラクションアド
    レス要求を、キャッシュアクセス要求にマップし、インストラクションアドレス
    要求により要求された命令のキャッシュコピーにアクセスする工程を備えること
    を特徴とする方法。
  19. 【請求項19】 プログラムメモリに格納されているデジタル信号処理装置(DSP)プログラ
    ムを実行し、デジタル信号データを処理する方法であって、DSPプログラムが
    、ループのマルチプルパスで実行されるよう構成された命令のサブセットを含み
    、 (a)DSPプログラムの実行中に、DSPプログラムのループを検出する工
    程と、 (b)それに応じて、ループを通る第1パスの間に、インストラクションキャ
    ッシュの命令のサブセットをキャッシュする工程と、 (c)ループを通る次のパスの間に、プログラムメモリに代わり、前記インス
    トラクションキャッシュから命令をフェッチする工程と、 を備えることを特徴とする方法。
  20. 【請求項20】 請求項19記載の方法が、命令を前記インストラクションキャッシュからフェ
    ッチする工程と同時に、外部デバイスデータを、プログラムメモリも接続された
    共用バスに接続される外部デバイスと、通信する工程をさらに備えることを特徴
    とする方法。
  21. 【請求項21】 請求項20記載の方法が、命令を前記インストラクションキャッシュからフェ
    ッチする工程、および、外部デバイスデータを外部デバイスと通信する工程と同
    時に、データバスを通してデジタル信号データを、データメモリと通信する工程
    をさらに備えることを特徴とする方法。
JP2001585054A 2000-05-16 2001-03-20 デジタル信号処理装置の共用バスインターフェース Withdrawn JP2003533823A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/571,191 2000-05-16
US09/571,191 US6604163B1 (en) 2000-05-16 2000-05-16 Interconnection of digital signal processor with program memory and external devices using a shared bus interface
PCT/US2001/008855 WO2001088725A2 (en) 2000-05-16 2001-03-20 Shared bus interface for digital signal processor

Publications (1)

Publication Number Publication Date
JP2003533823A true JP2003533823A (ja) 2003-11-11

Family

ID=24282680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001585054A Withdrawn JP2003533823A (ja) 2000-05-16 2001-03-20 デジタル信号処理装置の共用バスインターフェース

Country Status (5)

Country Link
US (1) US6604163B1 (ja)
EP (1) EP1285340B1 (ja)
JP (1) JP2003533823A (ja)
DE (1) DE60136539D1 (ja)
WO (1) WO2001088725A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789153B1 (en) * 2001-02-20 2004-09-07 Lsi Logic Corporation Bridge for coupling digital signal processor to on-chip bus as slave
US20050081015A1 (en) * 2003-09-30 2005-04-14 Barry Peter J. Method and apparatus for adapting write instructions for an expansion bus
US7340568B2 (en) * 2005-02-11 2008-03-04 International Business Machines Corporation Reducing number of rejected snoop requests by extending time to respond to snoop request
KR100787231B1 (ko) * 2005-04-23 2007-12-21 삼성전자주식회사 고전압 발생장치, 고전압 발생방법 및 asic 칩
JP2007172333A (ja) * 2005-12-22 2007-07-05 Sanyo Electric Co Ltd バスアドレス選択回路およびバスアドレス選択方法
US7859398B2 (en) * 2006-12-13 2010-12-28 Eaton Corporation System and method for maintaining and controlling a plurality of wireless light fixtures

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0227319A3 (en) 1985-12-26 1989-11-02 Analog Devices, Inc. Instruction cache memory
US5301295A (en) 1991-05-22 1994-04-05 Analog Devices, Inc. Data processor apparatus and method with selective caching of instructions
US5638530A (en) * 1993-04-20 1997-06-10 Texas Instruments Incorporated Direct memory access scheme using memory with an integrated processor having communication with external devices
US5541862A (en) * 1994-04-28 1996-07-30 Wandel & Goltermann Ate Systems Ltd. Emulator and digital signal analyzer
US6088783A (en) * 1996-02-16 2000-07-11 Morton; Steven G DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
GB2309324B (en) 1996-01-17 2000-09-06 Motorola Inc Method for storing repair data in a micro processor system
US6044225A (en) * 1996-03-13 2000-03-28 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller
US6401196B1 (en) * 1998-06-19 2002-06-04 Motorola, Inc. Data processor system having branch control and method thereof
US6041400A (en) * 1998-10-26 2000-03-21 Sony Corporation Distributed extensible processing architecture for digital signal processing applications
EP1046998A1 (en) * 1999-04-22 2000-10-25 Texas Instruments Incorporated Digital signal processors with virtual addressing

Also Published As

Publication number Publication date
EP1285340A2 (en) 2003-02-26
WO2001088725A2 (en) 2001-11-22
EP1285340B1 (en) 2008-11-12
US6604163B1 (en) 2003-08-05
DE60136539D1 (de) 2008-12-24
WO2001088725A3 (en) 2002-03-14

Similar Documents

Publication Publication Date Title
JP3559046B2 (ja) データ処理マネージメントシステム
US6754809B1 (en) Data processing apparatus with indirect register file access
US6839831B2 (en) Data processing apparatus with register file bypass
JP4272108B2 (ja) データ処理装置用バス相互接続ブロックの設計に関するフレキシビリティの改善
JP2816624B2 (ja) 2乗演算を実行する速度改良型データ処理システム及びその方法
CN112732639B (zh) 一种粗粒度动态可重构处理器及其数据处理方法
EP4152167A1 (en) Scalable address decoding scheme for cxl type-2 devices with programmable interleave granularity
JP2005011324A (ja) データ処理装置を使用する場合のフレキシビリティの改善
US5473557A (en) Complex arithmetic processor and method
JP2003533823A (ja) デジタル信号処理装置の共用バスインターフェース
US6954869B2 (en) Methods and apparatus for clock domain conversion in digital processing systems
US6948049B2 (en) Data processing system and control method
US7162591B1 (en) Processor memory having a dedicated port
US6728741B2 (en) Hardware assist for data block diagonal mirror image transformation
KR100463204B1 (ko) 선택적인 데이터 캐시 구조를 갖는 데이터 프로세싱 장치및 이를 포함하는 컴퓨터 시스템
US7075546B2 (en) Intelligent wait methodology
US7636817B1 (en) Methods and apparatus for allowing simultaneous memory accesses in a programmable chip system
JPH05181789A (ja) ディジタル回路
US5717891A (en) Digital signal processor with caching of instructions that produce a memory conflict
WO2022063269A1 (en) Method and apparatus for configurable hardware accelerator
US8819378B2 (en) Data processing apparatus and method for performing memory transactions within such a data processing apparatus
US20240070107A1 (en) Memory device with embedded deep learning accelerator in multi-client environment
US20040064662A1 (en) Methods and apparatus for bus control in digital signal processors
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
Bause et al. A Configurable and Efficient Memory Hierarchy for Neural Network Hardware Accelerator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080318

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080626

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090915