JP2002528825A - ディジタル信号処理アプリケーション用分散型拡張可能集積回路ディバイスアーキテクチャ - Google Patents
ディジタル信号処理アプリケーション用分散型拡張可能集積回路ディバイスアーキテクチャInfo
- Publication number
- JP2002528825A JP2002528825A JP2000578765A JP2000578765A JP2002528825A JP 2002528825 A JP2002528825 A JP 2002528825A JP 2000578765 A JP2000578765 A JP 2000578765A JP 2000578765 A JP2000578765 A JP 2000578765A JP 2002528825 A JP2002528825 A JP 2002528825A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- bus
- integrated circuit
- circuit device
- device architecture
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
- Picture Signal Circuits (AREA)
- Bus Control (AREA)
Abstract
Description
ジタル信号処理アプリケーションで用いられる集積回路ディバイスアーキテクチ
ャに関する。
コンピュータ、テレビジョン受像機、直接放送衛星(DBS)レシーバ、オーデ
ィオ/ビデオ(A/V)レシーバ、ディジタルバーサタイルディスク(DVD)
プレーヤ、ケーブルセットトップボックスのような消費者向け電子ディバイスの
機能及びオーディオ/ビデオデータの品質向上に対する消費者の要望を満足させ
るため、これらA/V装置の性能向上のための新規分野が開発されている。特に
、アドバンストテレビジョン受像機システム委員会(ATSC)のディジタルテ
レビジョン受像機仕様、MPEG−2ビデオ復号仕様、ドルビAC3オーディオ
復号仕様等の規格によって、これらのディバイスに用いられるハードウェア回路
に要求されていた性能が著しく引き上げられた。
フォーマットする処理である。復号処理は、ディジタル信号処理(DSP)の一
形式であり、一般に、集積回路ディバイスの専用DSP回路すなわちチップによ
って行われる。その他多数のDSP機能又はオペレーションは、例えば、A/V
装置内のフィルタリング、逆多重化、閉キャプション復号、グラフィック重ね合
せ等を行う構成要素内で処理することができる。
ーションを実行するために、各処理で個別DSPチップが用いられた。DSPチ
ップは、他のチップとの間でデータを伝送するためにチップ間に設けられた電気
接続部を伴い、例えばマイクロプロセッサのような主要プログラマブルコントロ
ーラと共に回路板上に取付けられる。
が改良されるにつれて、複数のDSPチップの機能を同一集積回路ディバイス上
に統合する方法を開発する必要性が生じてきた。複数の機能を同一チップ上に統
合することによって、例えば、性能の向上、設計及び製造コストの低下、構成要
素の小型化、電力消費量の低下をもたらすことができる。
方法が用いられる。第1の方法は、完全なハードワイアによる方法であり、この
場合、一般に、1又は複数のハードワイアによるデータパス形式の専用回路が各
DSP機能を実行するために用いられる。そして、様々なDSPチップ間でデー
タを伝送するための追加の専用回路が開発されている。一般に、回路は特定のア
プリケーションに対して最適化されるので、ハードワイアによる方法は最も優れ
た性能を提供することができる。したがって、ハードワイア回路による方法は、
メモリ容量及び回路面積を最小限化し、所定のアプリケーションに対する回路の
処理速度を速くすることができる。
ンに対する最適化から起因する柔軟性の欠如である。ハードワイアによるチップ
は、一般に、一つの環境のもとで動作し、いくつかの特定の機能を実行するよう
に設計及び製造される。ハードワイアによるチップの機能の改良又は拡大には、
完全な再設計を必要とするときが多い。チップ製造のコストの大部分がその設計
に投資されるとすると、ハードワイアによる方法は比較的コストがかかる方法で
ある。更に、ハードワイアによる方法は、一般的に開発に要する機関が長く、消
費者の需要に対して迅速に対応する必要のあるメーカにとっては、この開発期間
の長さがチップ製造に悪影響を及ぼすことがある。
トローラによる(すなわちソフトウェアを基調とする)方法であり、汎用コンピ
ュータと同様に、種々異なるアプリケーションで用いられるソフトウェアを介し
てカストマイズすることができる比較的汎用的なハードウェアプラットホームを
提供することによって、多数のアプリケーションをサポートする。ソフトウェア
を基調とする多数のDSPアーキテクチャは非常に長い命令語(VLIW)プロ
セッサを使用し、多種多様なアプリケーションに対して非常に柔軟性があり、か
つ再構成可能可能な機能を提供する。この方法によれば、単に集積回路ディバイ
スに供給されたソフトウェアを実行するだけで、任意の数の機能を実行するこの
集積回路ディバイスを使用することが可能となる。また、ハードウェアと比較し
てソフトウェアの方が容易かつ迅速な設計、また障害追及が可能なので、開発は
比較的速くかつコストも抑えることができる。
としては、汎用のハードウェアを用いるときは、通常、多数のアプリケーション
をサポートするように作成しなければならないという歩み寄りが要求されるとい
うことである。その結果、完全なハードワイアによる方法によって最適化されて
作成された回路の多くは、ソフトウェアを基調とする設計には用いることができ
ない。従って、ソフトウェアを基調とする設計の全体的性能は、しばしば完全な
ハードワイアによる設計に比べて最適化の程度が劣ることが多い。
されたコンパイラ、即ち、ヒトが読取り可能なプログラムコードを機械が読取り
可能な命令に変換するためのプログラムを必要とするということである。従って
、コンパイラの開発に必要な先行投資努力及び経費に起因する全体的な開発コス
ト及び時間が増大する。
及びスレッドのスケジューリングをサポートする比較的洗練された実時間オペレ
ーティングシステムを必要とすることである。その結果、このオペレーティング
システムを開発する努力も必要であり、開発コスト及び時間が再び増加する。更
に、複雑なマルティタスクオペレーティングシステムは、さらに多大の追加経費
(オーバヘッド)を必要とし、それによって、更に性能が限定され、メモリ必要
条件が増大する。
に良好な回路を提供するために、DSP回路を集積回路ディバイスに統合する仕
方に関して高度の需要が存在する。
された多数の処理コアの間に割当てるために拡張可能な分散型処理アーキテクチ
ャを利用する回路構成及び方法を提供することによって従来技術に関連する問題
等を解決する。各処理コアは1つ又は複数のDSPオペレーションを提供するた
めの1つ又は複数のデータパスを備える。更に、各処理コアは、当該コントロー
ラによって実行されローカルコンピュータプログラムを介して各ハードワイヤー
ドデータパスのオペレーションを制御するプログラマブルコントローラを備える
。更に、処理コアは、データが処理コア間で伝送されることを可能にし、それに
よってディバイスに供給されたデータに関して複数のDSPオペレーションが実
行されることを可能にするように通信バスを介して相互に接続される。
タパスとの独特の組合わせにより、しばしばこの種従来型の方法と関連した多数
の付随的欠点無しに十分にハードワイヤーされた方法及びソフトウェアを基調と
する方法両方の利益が実現される。例えば、完全ハードワイヤード方法の場合に
は、各コアにおけるハードワイヤードデータパスは、最小のメモリ及び空間必要
条件及び/又は最大の性能を用いて専用機能を実行するように最適化される。更
に、この種のデータパスとプログラマブルコントローラの統合を介して、この種
のデータパスのオペレーションは、ソフトウェアを基調とする方法の場合と同様
に様々な異なるアプリケーションにおける使用に関して個別化されることが可能
である。
するアーキテクチャ化されたディバイスの各種コア内の処理回路を用いて当該ア
ーキテクチャが分散されていることである。しばしば、このようにアーキテクチ
ャを分散することによって、ソフトウェアを基調とする方法の場合のように1つ
の単一汎用中央処理装置によって提供される性能よりも優れた性能が得られる。
細には、プログラマブルコントローラによって実行されるローカルコンピュータ
プログラムを介して個別化される個別処理コアは、様々な異なるアプリケーショ
ン又は能力をサポートするように様々な異なる構成に一緒に組み立て可能である
。従って、本アーキテクチャは、例えば新規設計内における既存コア実装の再使
用を介して実行する以前のハードワイヤード方法と比較すると新規ディバイスの
設計および開発を速くするために使用できる独特のフレームワークを提供する。
更に、個別コアはディバイス内へコアを組み込む以前に個別に設計及びテストす
ることが可能であることが多く、それによって新規ディバイスのそれ以降の開発
、検査、及び、テストを簡素化することができる。更に、多数のコアの間に分散
される処理能力を用いて、基本的なオペレーティングシステムコードと関連した
複雑さ及び総経費(オーバヘッド)は、中央集中化されたソフトウェアを基調と
する方法と比べると非常に減少される。同様に、コア内ローカルコンピュータプ
ログラムを生成するために用いられるコンパイラは、中央集中化されたプロセッ
サ実装のためにプログラムコードをコンパイルすることが要求されるコンパイラ
よりもはるかに複雑さが少ないことが多い。
ィアデータを処理するために提供される。本回路構成は、通信バスおよび通信バ
スを介して相互に接続される複数の処理コアを含む。各処理コアは、所定のディ
ジタル信号処理(DSP)オペレーションを実行するように構成されたハードワ
イーヤードデータパス、及び、ハードワイーヤードデータパスに接続され、通信
バスを介して処理コアによって受け取られるデータを処理するようにハードワイ
ーヤードデータパスのオペレーションを制御するためにローカルコンピュータプ
ログラムを実行するように構成されたプログラマブルコントローラを備える。
アデータを処理する方法が提供される。この方法は、複数のディジタル信号処理
(DSP)タスクを通信バスを介して集積回路ディバイスに配置された複数の処
理コアに配分するステップを有し、各処理コアは所定のDSPオペレーションを
実行するように構成されたハードワイヤードデータパスとインターフェースされ
たプログラマブルコントローラを備え、更に、インターフェースされたハードワ
イヤードデータパスのオペレーションを個別化するために各処理コア内プログラ
マブルコントローラ上でローカルコンピュータプログラムを実行することによっ
て処理コアへ配分されたDSPタスクを同時に実行するステップを有する。
回路ディバイス回路構成を設計するための方法が提供される。この方法は、所要
のマルティメディア機能性を実行するために必要な複数のディジタル信号処理(
DSP)オペレーションを選択するステップと、複数の処理コア及び処理コアに
よって受け取られたデータを処理するようにハードワイヤードデータパスのオペ
レーションを制御するためにハードワイヤードデータパスに接続され、ローカル
コンピュータプログラムを実行するように構成されたプログラマブルコントロー
ラを回路構成に組み合わせるステップとを有し、各処理コアは複数のDSPオペ
レーションの少なくとも1つを実行するように構成された少なくとも1つのハー
ドワイヤードデータパスを備え、複数の処理コアを通信バスを介して相互に論理
的に接続するステップと、各処理コアにおけるプログラマブルコントローラで実
行されるローカルコンピュータプログラムを生成するステップとを有する。
れ更にその一部分を形成する特許請求の範囲に記載される。本発明の利点、及び
本発明を介して達成される目的を更に良好に理解するために、添付図面を参照し
ながら以下詳細に説明する。
説明する。なお、実施の形態の説明及び図面の中で、同じ部品等は同じ符号で表
すものとする。FIG.1は、本発明に係るA/V装置10の具体的構成を示す
ブロック図である。A/V装置10は、ディジタルデータを処理し、オーディオ
及び/又はビデオ情報を出力する装置である。A/V装置10としては、例えば
、パーソナルコンピュータ又は他のコンピュータ、テレビジョン受像機、テレビ
ジョン受像機レシーバ、直接放送衛星(DBS)レシーバ、A/Vレシーバ、デ
ィジタルバーサタイルディスク(DVD)プレーヤ又はレコーダ、ケーブルセッ
トトップボックス、ビデオカセットレコーダ(VCR)、カムコーダがある。
オ情報に変換するメディアプロセッサ12によって制御されている。メディアプ
ロセッサ12は、インターフェースによってランダムアクセスメモリ(以下、R
AMという)14に接続され、このRAM14の一部を作業領域として用いる。
FIG.1に示すように、ディジタルソースインターフェース16には、例えば
DVD又はCD18、ディジタルテレビジョン受像機放送局20、直接放送衛星
22などの1つ又は複数の外部ソースからディジタルデータストリームが供給さ
れる。デジタルソースインターフェース16は、ディジタルデータストリームを
検索し、例えばレーザピックアップ、DVD又はCD情報用ターンテーブルなど
のメディアプロセッサ12にディジタルデータストリームを供給するのに適した
任意の個数の電子装置及び機械装置から構成されている。
され、ビデオ及び/又はオーディオ情報として出力される。A/V装置10は、
ビデオインターフェース部24を備え、メディアプロセッサ12からのビデオ情
報は、このビデオインターフェース部24を介して、例えばテレビジョン受像機
モニタ26等の外部装置に供給される。また、A/V装置10は、オーディオイ
ンターフェース部28を備え、メディアプロセッサ12からのオーディオ情報は
、このオーディオインターフェース部28を介して、例えばスピーカ30によっ
て代表される外部装置に供給される。
理するための装置を表す。したがって、本発明は、本実施例に限定されるもので
はない。
してタスクを実行するようになされた複数の処理コアに割り当てられる。処理コ
アは、例えばメディアプロセッサ又は他のプログラマブル集積回路ディバイスな
どの回路内に配置され、本発明に基づく他の多種多様なプログラマブルディバイ
スがこの処理コアの機能を実行することができる。
、一般に、本明細書でハードウェア定義プログラムと呼ばれディバイスの回路構
成のレイアウト設計を定義する1つ又は複数のコンピュータデータファイルを用
いて設計及び作成される。プログラムは、一般に設計ツールによって作成され、
続いて、製造期間中は、半導体ウェーハに適用される回路構成を決定するレイア
ウトマスクを作成するために用いられる。一般的に、プログラムは、例えばVH
DL、Verilog、EDIF、等などのハードウェア定義言語(HDL)を
用いて予め定められたフォーマットで提供される。本発明によれば、十分に機能
する集積回路ディバイス及びデータ処理システム、及びこれらディバイスを利用
する装置として実装される回路構成と関連して以下に述べることとするが、当該
技術分野の当業者は、本発明に基づいた回路構成が様々な形式のプログラムとし
て割り当てられること、また、この割り当てを実際に実行する信号伝達媒体の特
定のタイプには無関係に同様に本発明が適用されることを理解するはずである。
信号伝達媒体の例は、記録可能型媒体に限定されず、例えばディジタル及びアナ
ログ通信リンクなどの伝送型媒体の中の、例えば揮発性および不揮発性メモリデ
ィバイス、フロッピー(登録商標)ディスク、ハードディスクドライブ、CD‐ ROM、および、DVDなどが含まれる。
行することができる。FIG.2は、ディジタルテレビジョン受像機として用い
られるメディアプロセッサ40の具体的構成を示すブロック図である。メディア
プロセッサ40は、ディジタルテレビジョン受像機用高品質テレビジョン受像機
システムに関する委員会(ATSC)使用に適合するように構成されている。前
記仕様は、MPEG−2 MP@HLビデオデコーダ、AC3オーディオデコー
ダ、及び、あらゆるATSC受信機用最小構成素子としてのDVD様デマルティ
プレクサを規定する。例えばグラフィック/オンスクリーンディスプレイ(OS
D)、デコードされた画像用ハイエンドポストフィルタ等のような追加の構成素
子も利用可能である。同様に、全フォーマットデコード(AFD)も一般にAT
SC受像機によって取り扱われなければならない。
体を制御する中央アプリケーションを実行する制御部41を備える。次に、多数
のDSPタスクが参照符号42から参照符号58が割り当てられた各部において
処理される。具体的には、ディジタル入力ストリームは、デマルティプレクス部
42に供給される。ディジタル入力ストリームは、ビデオデコード部44に供給
されるビデオデータストリーム、閉キャプション用デコード部46に供給される
閉キャプション用データストリーム、PSIPデコード部48に供給されるプロ
グラム及びシステム情報パッケージ(PSIP)データストリーム、及びオーデ
ィオコード部50に供給されるオーディオデータストリーム等の幾つかのデータ
ストリームに逆多重化される。ビデオデコード部44は、ビデオ情報を復号し、
例えばフィルタリング及びフォーマット復号等の機能を実行する画像処理部52
に情報を送る。あらゆる閉キャプション用情報は区部46において復号され、グ
ラフィック重ね合せブロック54に送られる。このグラフィック重ね合せブロッ
クは、閉キャプション用テキスト及び例えば制御部41によって実行されるアプ
リケーションによって制御されるオンスクリーンコントロール又はディスプレイ
などのあらゆる追加情報を重ね合せる。グラフィック重ね合せ及びビデオ画像デ
ータは、混合部56において混合され、ビデオ出力信号が生成される。更に、オ
ーディオデータはオーディオコード部50で復号され、オーディオ効果部58に
供給され、例えば、音響、残響、等のようなあらゆるオーディオ効果が生成され
る。次に、オーディオ効果部58は、オーディオ信号をメディアプロセッサ40
の外部に出力する。 ここで、多種多様な追加DSPオペレーションは、例えば、他のフィルタリン
グ、復号、画像処理、効果処理、ビット操作、ストリームパージング、及び、関
連ペレーションなどの種々異なるアプリケーションにおいて必要とされる。
ーションを実行するために、このようなオペレーションは、様々なDSPタスク
を扱うために相互に同時に演算可能な多重処理コアに割り当てられる。例えば、
FIG.3に示すように、メディアプロセッサ回路60は、通信バス64を介し
て相互にインターフェース接続される複数の処理コア62を備える。各処理コア
は、1つ又は複数のハードワイヤードデータパス(DP)68とインターフェー
ス接続されるプログラマブルコントローラ(PC)66を備える。更に、この様
々な処理コアをサポートするために、例えば、通信バス64とインターフェース
接続されるメモリコントローラ70を介して各処理コア62はメモリサブシステ
ムにも接続される。FIG.3に示すように、メモリサブシステムは、例えば、
内部メモリインターフェースブロック72を介してメモリコントローラ70とイ
ンターフェース接続される埋め込みRAM74等の埋め込み又はボード上のメモ
リからなる。更に、外部メモリは、例えば、外部メモリインターフェースブロッ
ク76を介してメモリコントローラ70とインターフェース接続されるRAM7
8からなる。
XP)アーキテクチャを定義する。特定タスクの扱いに際して各処理コアの性能
を最大限にするために、各処理コア62と関連付けられたデータパスはハードワ
イヤされ、特定のDSP演算の扱いに関して最適化される。ただし、メディアプ
ロセッサ回路構成設計を簡素化するため、また、コードの再使用を容易にする目
的で、各ハードワイヤードデータパスを制御し、各処理コア62間インターフェ
ースを提供し、特定のタスクを扱うために各データパスをカストマイズするため
にプログラマブルコントローラが用いられる。各処理コア62におけるデータパ
スとプログラマブルコントローラ間で割当てられた機能の程度は、性能と様々な
異なるアプリケーションに関する拡張性を平衡させるための必要に応じて、各処
理コアによって変化し得る。
リームインターフェース部80、ビデオインターフェース部82、及びオーディ
オインターフェース部84とインターフェース接続される。他の処理コアは、一
切の外部インターフェースに接続されていないこともあり得る。更に、他の処理
コアは、例えば制御パネル/ディスプレイのような他の外部構成要素とインター
フェース接続されることもあり得る。
プロトコルを介してコア間ならびに個別コアとメモリサブシステムの間の交信を
サポートするパケットを基調とするバスプロトコルを用いて実現される。他の通
信バス実装も代替利用可能であるが、メッセージ送信プロトコルの一利点は、所
与のコア内の任意の内部キャッシュが他のコア内においてキャッシュされた情報
と同期させられる必要がないので、種々の処理コアの間でキャッシュコヒーレン
スが容易なことである。
プロセッサ回路100の具体的な構成を示すブロック図である。FIG.4に示
すように、メディアプロセッサ回路100は、通信バス104を介してメモリサ
ブシステム105に接続される複数の処理コア102を備える。各処理コア10
2は1つ又は複数のハードワイヤードデータパス108に接続されるプログラマ
ブルコントローラ106を備える。プログラマブルコントローラ106及びハー
ドワイヤードデータパス108は、ローカルバス(分離データ及びアドレスバス
110、112を含む)を介して相互に接続されている。例えば、他のコアへの
メッセージ及びメモリ読み書き要求のような他のコアからの出力データは、バス
114を介して供給される。
用バス104に接続されている。本発明によれば、いくつかのバスアーキテクチ
ャが使用可能である。
合、詳細な分析によれば、一般的なメモリ帯域幅必要条件は約600MB/se
cから約1200MB/secまでの間であることが予測できる。このような高
い外部メモリ必要条件をサポートするためには、約900MB/secから18
00MB/secまでの内部バス帯域幅が必要とされることが考えられる。更に
、一般的に、メモリ帯域幅の約25%がWRITEオペレーションによって、ま
た、75%がREADオペレーションによって占有されることが実証されている
。また、DTV用の種々のアプリケーションに関するREAD帯域幅は、ランダ
ム(この場合、アクセスパターンは、例えばキャッシュミス、運動補償等のよう
に、断定的でない)とは対照的に断定的に分類できる(この場合、アクセスパタ
ーンは既知のものであり、また画一的である)。全システム帯域幅に対する断定
的READ帯域幅とランダムREAD帯域幅の配分は一般に、それぞれ約40%
と35%であることが判明している。 DTVと関連した様々なタイプの帯域幅の配分の仕方の一例をFIG.4に示
す。ここで、3つの個別バス、即ちメモリ書込み(MWR)バス116、メモリ
読取り(MRD)バス118及び直接メモリアクセス(DMA)バス120は、
コアとメモリの間のデータ通信を行う。MWRバス116は、コアからメモリサ
ブシステムへアドレス及びデータパケット及びREAD要求に関するアドレスパ
ケットを運ぶ。
理コア102は、各コア102内に配置されたMWRインターフェース部124
を介してメモリコントローラ122に接続され、MWRバスコントローラ部12
6によって制御される。このアーキテクチャは、MWRバスが複数のマスター/
ドライバを持つということで望ましいアーキテクチャあり、従って、バスにおけ
る各ノード間で接続されている接続線を比較的短い状態に保つことができるとす
れば、更に多くの融通性がサポートされる。様々な設計において、バスタイミン
グの必要条件を満足するためには更に気をつけなければならないが、MWRバス
116の代わりにマルティドロップバスを用いても良い。
EADデータは、メモリコントローラからMRDインターフェース部128を介
して各コア102に供給される。DMAバス120は、メモリコントローラ12
2の制御のもとに、DMAコントローラ132から断定的READ帯域幅を伝送
する。各処理コア102は、DMAインターフェース部130を介してDMAデ
ータを受け取る。この実装においては、一般に、メモリサブシステムからコアへ
の一方向データフローに基づいて、ただ1つのドライバ/マスタが必要とされる
ことを条件として、バス118及び120はマルティドロップバスとして実現さ
れる。更に、タイミングは大きな問題でないので、比較的複雑な設計における異
なるコアの過度に長い結線は、中間反復ラッチを用いて性能には殆ど影響を及ぼ
すことなく分割可能である。
バスを用いるかという選択は、例えば、各処理コア102におけるローカルコン
ピュータプログラムのプログラマによって行うことができる。例えば、個別の命
令は、特定のバスを介して送り返されるべき情報を要求するために、各処理コア
102においてプログラマブルコントローラで設定された命令で定義される。こ
の方法において、プログラマは、ソフトウェアシミュレーションによって帯域幅
を最適化することができ、更に、結果としての設計を「微調整」することができ
る。
モリとインターフェースで接続されている。更に、例えば埋め込みRAM140
のような内部メモリは内部RAMインターフェース部138を介してメモリコン
トローラ122と接続されている。DMAコントローラ132は、DMAバスに
おける待ち時間を最小限にし、外部メモリ帯域幅を良好に利用するために、統一
ストリームキャッシュ142を使用する。各処理コア102における容易なアド
レス復号および放送機能を可能にするためにDMA及びMRDバスは同一アドレ
ス/データパケットフォーマットに従う。
るものと仮定すれば、DMAコントローラはDMA要求に応答して追加データを
ストリームキャッシュ内へ先取りするように構成可能である。処理コアとDMA
コントローラ間のインターフェース接続を容易にする目的で、MWRバスを介し
てメモリ要求を再度送る必要なしに、コアがDMAバスを介して別の連続したデ
ータ区部の検索を開始することを可能にするために各コアからDMAコントロー
ラまでの個別要求線を利用することも望ましい。ここで、ストリームキャッシュ
142は、統一キャッシュとして示されているが、ストリームキャッシュは、1
つ又は複数の専用チャネルを各コアに提供するように個別隔壁を実現することが
可能である。
.5に示すように、メモリインターフェースコントローラ144は、MWRバス
を介してメモリ要求のパケットを受け取る要求待行列を有し、メモリ及びメモリ
サブシステムの入力/出力(I/O)隔壁の間にパケットを適宜配分する。この
実装において、メモリマップされたバスバスアーキテクチャが用いられ、従って
、種々異なるコア及びメモリは、共通アドレス空間において割り当てられた種々
の異なるレンジである。例えばチャネルを基調とするアーキテクチャ等の他のバ
スアーキテクチャは代替使用可能である。
/又は、外部DRAMメモリ(図示せず)を備えたメモリインターフェースを扱
う個別のDRAM状態機械150、151に送る2つの先入れ先出し方式(FI
FO)部148、149の1つに送られる。各状態機械150、151はメモリ
データをストリームキャッシュ152又は出力待行列154のいずれかに出力し
、処理コア102に、それぞれ断定的及びランダム読取りデータを出力するため
にそれぞれDMA及びMRDバスに接続される。
のソフトウェア待行列157及びハードウェア待行列158を有するI/Oコン
トローラ156に送られる。また、デバッグポート159は、メディアプロセッ
サのオペレーションをテストする目的でデバッグ機能性を扱うための個別外部ビ
デオポートを提供する。
行列157と関連したメモリ空間に送る要求するコアによって扱われ、その結果
としてソフトウェア待行列は宛先処理コアのアドレスを指示するMRDバスへ当
該要求を出力し送り返す。他のバスアーキテクチャを用いると、ピアからピアへ
のプロトコルは、メモリサブシステムを介して要求を送る必要なしに任意の2つ
のコアの間の直接通信を可能にするために代替使用可能である。
.6は、処理コア102をMWRバス116、MRDバス118及びDMAバス
120に接続したときのバスフラグビット割当てを示すブロック図である。各バ
ス116、118及び120は、データの用の64ビット及びフラグ情報の用の
2ビットから構成される。メモリ要求及び読取り要求からの帰着データは、サイ
ズが変化する1ビットワードから64ビットワードのバスパケットとして伝送さ
れる。一般的に、任意のパケットの第1ワードはアドレスヘッダであり、バスの
発信元ノード及び宛て先ノードの両ノードを指定する。読取りパケットは、一般
的に、単一ワードから成る読取りアドレスヘッダである。書込みパケットは、一
般的に、単一ワードから成る書込みアドレスヘッダ(宛て先ID、第1データワ
ードのアドレス等を含む)であり、この後に1から8又はそれ以上のデータワー
ドが続く。当該技術分野における当業者であれば容易に理解することができるが
、異なるノード間でのデータ転送を調整するために、利用可能な任意の数のパケ
ットヘッダフォーマットを用いることができる。
ってサポートされる。バスフラグビット割当ての一例を表Iに示す。
WRバス上においてのみ有効)は、一般的に、読取りアドレスヘッダの伝送の間
はREAD_ADDRフラグがフラグビットに設定されることが分かる。また、
書込みオペレーション(全てのバスに関して有効)は、一般的に、書込みアドレ
スヘッダの伝送の間は1サイクル期間だけWRITE_ADDRフラグが設定さ
れ、続いて、当該パケットの残りの部分として供給される全ての書込みデータワ
ードの伝送期間に亘ってWRITE_DATAフラグが設定される。
れる。また、パケットは、コントローラ要求待行列が満たされていない限り、間
隙をあけることなくMWRバスを介してメモリインターフェースコントローラに
転送されてくる。したがって、コントローラ要求待行列がいっぱいになったとき
、メモリコントローラは、MWRバスコントローラにMWRバスを介して周期的
に送られてくるパッケットの転送を停止するように指示しなければならない。
ラウンドロビンアービトレイタのうち、一方を単一ワードパケット要求のみに、
もう一方を複数ワードパケット要求に維持する。少なくとも1つの複数ワードパ
ケット要求が単一ワードパケット要求の間で認可されることなしに1つの単一コ
アが認可された2つの単一ワードパケット要求であり得ない場合を除き、単一ワ
ードパケット要求は全ての複数ワードパケット要求よりも優先される。この特定
のアービトレーションプロトコルによれば、MWRバス帯域幅を比較的均等に配
分することができ、また、上限を多重ワードパケット要求の待時間に置くことが
できる。
てMWRバス116に接続される。FIG.6に示すように、MWRバス116
はデイジーチェーン式であり、MWRバスインターフェース部160は、発信元
ノードからフラグおよびデータビット(MWR_flags_in及びMWR_
data_in)を受け取り、宛て先ノードへフラグ及びデータビット(MWR
_flags_out及びMWR_data_out)を送る。MWRバスコン
トローラ126は、各バスインターフェース部から、バス全体の制御が要求され
ることを指示するbus_request信号を受け取る。更に、当該ノードに
関する出力要求が1つの単一ワードパケットであるかどうかを指示するために1
つのバス単一信号が供給される。コントローラ126は、当該ノードがバスを介
して認可された制御であるときはいつでも、上述のアービトレーション規則に基
づいて、bus_grant信号をインターフェース部160へ送り返す。
ースは、4つの制御信号によって、MWRバスによる伝送のための出力データ及
びフラグビットと共に同時に行われる。更に、FIG.6に示すように、要求待
行列124aは、MWRバスを介する伝送のための要求パケットを記憶するため
にMWRインターフェース部124に送られる。待行列124aは、データ用の
64ビット、フラグ用の2ビット、単一及び最終を示す2つの追加ビットをサポ
ートするため68ビットの幅を有する。単一ビットは、出力パケットの長さが1
ワードである場合及び複数ワードパケットの長さを示すために最終ビットが用い
られる場合を表示する。例えば、最終ビットは、下記の表IIに従って多重ワー
ドパケットの長さを表示するために用いられる。
t_MWR_fagsで表される各パケットに関するデータ及びフラグビットを
パスすることによって要求パケットを出力する。更に、unit_data_s
ingleおよびunit_data_lastで表されるように、各パケット
に関して単一及び最終の信号が出力される。インターフェース124とインター
フェース160の間のアービトレーションは、1対の信号unit_data_
unload及びunit_data_validによって実行される。
ケットが利用可能である場合、インターフェース124は、パケットの第1ワー
ドをunit_MWR_dataに置き、当該パケットに適するようにunit
_MWR_flags、unit_data_last、及び、unit_da
ta_singleをアサートする。更に、unit_data_validは
、有効なパケットワードが前述のバスラインにアサートされているインターフェ
ース160を示すようにアサートされる。インターフェース160がMWRバス
を介して認可された制御である場合、パケットワードが読み取られ、現行パケッ
トワードの読取りが完了したこと、また、その次のワードおよび対応する制御信
号呈示可能であることを示すためにunit_data_unloadがインタ
ーフェース124にアサートし返される。一旦、待行列124aが空き状態にな
れば、unit_data_validがアサートされ、この時点において処理
コア102から伝送される必要のある追加情報は無いことをインターフェース1
60に示す。次に、バスによる制御がインターフェース160によってリリース
される。
回路は、通常、当業者の技術範囲で実行かのうである。更に、ここに記載したバ
スアーキテクチャは、複数の処理コア間の相互のインターフェース及び共用メモ
リとのインターフェースを実行するための一実施例に過ぎない。同様に、他のバ
スアーキテクチャに関しても代替使用ができる。
コントローラ及び各処理コア内の様々なデータパスのインターフェースを同時に
行うときの適当な方法を示す。ここで、処理コア162は、ローカルデータバス
166及びローカルアドレスバス168を介して複数のデータパス1・・・デー
タパスn165に接続されるプログラマブルコントローラ(PC)164を備え
る。PC164からローカルデータバス166を介して供給されるデータは入力
レジスタ170に供給され、データバス172を介して各データパス165へ送
られる。同様に、プログラマブルコントローラをデータパスとインターフェース
する必要に応じて、入力レジスタ170内のデータも状態情報を記憶するローカ
ル記憶空間を提供する1組のユニットレジスタ174に送られる。データパス1
65及びレジスタ174による制御は、ローカルアドレスバス168を介して供
給されるアドレス及び制御情報を復号する読み/書き(R/W)制御部175に
よって行われる。一般的に、各データパス165及びレジスタ174はローカル
アドレス空間内の1つ又は複数のアドレスに割当てられており、ローカルアドレ
スバス168を介して該当するデータパス/レジスタのアドレスを供給すること
だけによって、プログラマブルコントローラ164が各データパスに対して制御
可能にデータを書込み及び/又は読取りを行うことを可能にする。
/書き(R/W)制御部175によって制御されるマルティプレクサ177に出
力する。レジスタ174、176のいずれかに記憶されたデータが読み/書き(
R/W)制御部175の制御のもとに出力レジスタ178へ出力されるように、
1組のレジスタ174も同様にマルティプレクサ177に出力する。同様に、読
み/書き(R/W)制御部175のもとで制御される3状態ドライバ179は、
出力レジスタ178の内容をPC164へ送り返すためにローカルデータバス1
66へ選択的に出力する。
ントローラの命令集合内のうちの特定の命令を実行することが望ましい。例えば
、ローカルアドレス空間内の様々な異なるアドレスが割当てられた様々なレジス
タ及びデータパスを用いて、レジスタ及びデータパス読み(又は、ロード)及び
書き(又は、記憶)命令を実行することが望ましい。レジスタ及びデータパスと
共にデータ転送を行う個別の命令を用いることも望ましい。更に、例えば、直接
的および間接的な多重アドレスモードも様々な異なる命令を用いてサポートする
ことができる。具体的なな一実施例として、例えば、書込みレジスタ直接命令、
書込みレジスタ間接命令、読取りレジスタ直接命令、読取りレジスタ間接命令、
書込みメモリ(データパス)直接命令、書込みメモリ(データパス)間接命令、
読取りメモリ(データパス)直接命令、及び、読取りメモリ(データパス)間接
命令を含む8種類の命令を用いたインターフェースを実行することができる。多
種多様な命令フォーマットを用いることができ、どのフォーマットが用いられる
かは一般にプログラマブルコントローラの特定アーキテクチャによって決定され
る。
ことができる。例えば、FIG.7に示すように、各プログラマブルコントロー
ラは、条件付実行、ビット操作命令及び算術/論理命令を強化した軽量RISC
プロセッサである。各コントローラは、キャッシュロッキングを備えた2方向設
定連想型キャッシュを用いる。各コントローラのキャッシュサイズは、各処理コ
アの機能によって決定される。各処理コアにおいて、プログラマブルコントロー
ラは、ベクトルコマンド、構成情報等を送ることによって、ローカル制御バスを
介したハードワイヤードデータパスの制御を実行することができる。
ャが分散性を有している場合には、各コントローラ及びこれらコントローラによ
って実行されるオペレーティングシステムの複雑さは、中央に集中された汎用コ
ントローラアーキテクチャと比較して、実質的に簡素化されるものと考えられる
。具体的には、各プログラマブルコントローラ用に、約15,000ゲート未満
の軽量コントローラを用いることができると予想される。
する処理タスクを実行するために各プログラマブルコントローラによって制御さ
れる。これらの構成要素は、プログラマブルコントローラ180で実行される。
専用オペレーティングシステム/カーネル182は、内部コアデータパス(デー
タパス制御素子184によって図示される)を制御するための、また、処理コア
内および処理コアからメモリへの通信(メッセージハンドラ素子186によって
示される)を扱うためのシステムプログラムコードを提供する。図に示す実施形
態におけるオペレーティングシステム/カーネル182は、本来マルティタスキ
ングであり、他のあらゆる既存オペレーティングシステムの変更及び適切な技法
を実行することができる。データパス制御素子184は、ローカルバスインター
フェース素子188によって代表されるように、ローカルバスをドライブする低
水準インターフェースルーティンに準拠する。更に、低水準ルーティンは、メッ
セージハンドラ素子186によって利用される内部コアバスインターフェース素
子190内に提供される。
実行されたローカルコンピュータプログラムを表す1つ又は複数のデータパス制
御アプリケーション192が実行される。各データパス制御アプリケーション用
に用いられる正確な言語及び命令の集合は、各アプリケーションが実行する基本
的なオペレーティングシステムによって変化する。
、低レベルサポートサービスにおけるオペレーティングシステム/カーネルを介
して1組の総称システムコードを利用することによって、設計、開発、検査及び
テストを非常に簡単に行うことができることが分かる。
ロック図である。メディアプロセッサ回路300において、通信バス302は、
メモリコントローラ306の制御のもとでグローバルスイッチ304を介して制
御される。このグローバルスイッチ304は、サブスイッチ308を介して通信
バスとインターフェースで接続された内部CPU318の制御のもとで複数のサ
ブスイッチ308、310、312、314及び316と共に動作する。内部C
PU318は、DSPタスクを処理用各種サブユニットに引き渡すスケジューリ
ングプロセッサとして動作し、また、グローバルスイッチ304を介して適切な
サブユニットへ流れる情報の流れを制御する。グローバルスイッチ304は、通
信バスに接続された任意の2つの素子に直接接続するように動作する。また、こ
の他の実施例において、複数のソースと複数の宛先の間で情報を同時に伝送する
並列転送能力を有することが望ましい。
ェースをサポートするように通信バス302に接続されている。例えば、シリア
ル入力/出力インターフェース320は、IRデコード、キーボード入力/デコ
ード及び/又はあらゆる他の汎用I/O機能性を提供するために、サブスイッチ
308を介して通信インターフェースに接続される。更に、サブスイッチ308
に接続された内部ディバイス制御(12C)インターフェース322は、例えば
制御パネル/ディスプレイ等のメディアプロセッサを用いて制御することが望ま
しい任意の素子とインターフェースで接続される。メディアプロセッサへのデジ
タルデータストリーム入力は、デマルティプレックサデータパス328とインタ
ーフェースで接続されたプログラマブルコントローラ326を含むサブスイッチ
310に接続されたデマルティプレクス処理コア324によって扱われる。更に
、外部並列インターフェース330がサブスイッチ310と並列に接続されてい
る。
ダ処理コア332がサブスイッチ312を介してバス302に接続されている。
各デコーダ処理コア332は、デコードパイプラインデータパス336とインタ
ーフェースで接続されたプログラマブルコントローラ334を備える。ここで、
各種処理コアの拡張可能性及びプログラム可能性に起因して、各処理コア332
は同じハードウェアを用いて構成されることが可能であるが、様々な異なるデコ
ード機能性を提供するために様々な異なるローカルコンピュータプログラムを実
行することが可能である。また、プロセッサにとって利用可能な機能を拡大する
か又は制限するために少数又は更に多数の処理コア332が設置可能である。
ターフェースで接続する。外部メモリとのインターフェースもメモリコントロー
ラ306とインターフェースで接続されるインターフェース部340を介して提
供される。
フェースで接続し、前記処理コアのそれぞれはフィルタパイプラインデータパス
346とインターフェースされるプログラマブルコントローラ344を備える。
デコード処理コアと同様に、各フィルタ処理コアは、同じハードウェアを有する
が、例えば垂直又は水平デシメーションあるいは補間のような様々な異なるフィ
ルタリング操作を行うように各コアを個別化するためにローカルソフトウェアを
個別化する。
スで接続されるプログラマブルコントローラ350を備えるグラフィック処理コ
ア348によって扱われる。処理コア342及び348のそれぞれの出力はブレ
ンダー354に供給され、ビデオ情報はメディアプロセッサから出力される。更
に、オーディオDSP部356によって示されるように、オーディオデータは、
例えばその他の中から、とりわけ、AC3フォーマットにおいて、複号及び出力
が可能である。ここで、音響的情況においてメディアプロセッサにおける全ての
機能を実行するために、プログラマブル処理コアを利用することは必ずしも望ま
しいとは限らない。具体的には、オーディオDSP部356はハードワイヤード
実装として示され、プログラマブル処理コアを非プログラマブルコアと組み合わ
せる概念が示されている。
回路を設計する独特かつ簡素化された方法も提供される。特に、アーキテクチャ
は、様々な異なるアプリケーションに関して様々な回路構成を指示するために利
用することができる。このことを実行するためには、設計者は先ず、当該回路構
成の所要機能性を実現するために必要な各種ディジタル信号処理オペレーション
を選択し、次に、必要個数のハードワイヤードデータパス及び総称プログラマブ
ルコントローラを含む様々な処理コア構成に組み立てる。次に、デザイナは、通
信バスを介して処理コアを相互に接続する。次に、各処理コアは、各処理コアに
おけるプログラマブルコントローラで実行するローカルコンピュータプログラム
を作成することによってその専用DSPオペレーションを実行するように個別化
される。
よって所与の設計の機能を拡張することが比較的簡単にできる。更に、定義済み
処理コアは独立して開発および検査され、後のアプリケーションに再使用可能で
あるのでコードの再使用が容易に行われる。
されるものではない。すなわち、本発明は、本発明の趣旨及び特許請求の範囲か
ら逸脱しない範囲で、具体例に示された実施形態に種々の変更を施すことが可能
である。
ック図である。
シーバの実装に際し本発明に係るメディアプロセッサによって実行される主要D
SPオペレーションの具体的構成を示すブロック図である。
ロセッサの具体的構成を示すブロック図である。
ロセッサの他の具体的構成を示すブロック図である。
れる代替メモリコントローラの具体的構成を示すブロック図である。
チャの具体的構成を示すブロック図である。
トローラ及びデータパス間のインターフェースの具体的構成を示すブロック図で
ある。
ラマブルコントローラによって実行されるソフトウェア素子の具体的構成を示す
ブロック図である。
ロセッサの他の具体的構成を示すブロック図である。
Claims (40)
- 【請求項1】 マルティメディアデータを処理する集積回路ディバイスアー
キテクチャにおいて、 (a)通信バスと、 (b)前記通信バスを介して相互に接続された複数の処理コアとを有し、各
処理コアは、 (1)所定のディジタル信号処理(DSP)オペレーションを実行する
ように構成されたハードワイヤードデータパスと、 (2)ハードワイヤードデータパスに接続されたプログラマブルコント
ローラとを備え、 前記通信バスを介して前記処理コアによって受け取られたデータを処理するハ
ードワイヤードデータパスの前記オペレーションを制御するためにローカルコン
ピュータプログラムを実行するように前記プログラマブルコントローラが構成さ
れることを特徴とする集積回路ディバイスアーキテクチャ。 - 【請求項2】 前記バスが複数の前記処理コアの中間に接続されるグローバ
ルスイッチを備え、前記回路構成が更に前記グローバルスイッチに接続され、か
つ、処理コアの間の直接通信を可能にするように前記複数の処理コアの少なくと
も2つを相互に選択的に接続するように構成されたスケジューリングプロセッサ
を備えることを特徴とする請求項1に記載の集積回路ディバイスアーキテクチャ
。 - 【請求項3】 前記通信バスがパケット基調バスプロトコルを介して動作す
ることを特徴とする請求項1に記載の集積回路ディバイスアーキテクチャ。 - 【請求項4】 更に、前記通信バスに接続され、かつ、複数の前記処理コア
と共用メモリの間でデータを伝送するように構成されたメモリインターフェース
を備えることを特徴とする請求項3に記載の集積回路ディバイスアーキテクチャ
。 - 【請求項5】 前記通信バスが第1及び第2バスを備え、前記第1バスが複
数の前記処理コアの1つから前記メモリインターフェースへパケットを伝送する
ように構成され、前記第2バスが前記メモリインターフェースから複数の前記処
理コアへパケットを伝送するように構成されていることを特徴とする請求項4に
記載の集積回路ディバイスアーキテクチャ。 - 【請求項6】 前記第2バスが前記メモリインターフェースから複数の前記
処理コアへランダムアクセス読取りデータパケットを伝送するように構成され、
前記回路構成が更に前記メモリインターフェースから複数の前記処理コアへ断定
的読取りデータパケットを伝送するように構成された第3バスを備えることを特
徴とする請求項5に記載の集積回路ディバイスアーキテクチャ。 - 【請求項7】 前記メモリインターフェースが更に前記第3バスに接続され
たDMAコントローラを備えることを特徴とする請求項6に記載の集積回路ディ
バイスアーキテクチャ。 - 【請求項8】 各処理コアが更に前記処理コアを第1と第2と第3バスとイ
ンターフェースで接続されるようにそれぞれ構成された第1と第2と第3バスイ
ンターフェースを備えることを特徴とする請求項6に記載の集積回路ディバイス
アーキテクチャ。 - 【請求項9】 前記第1バスが複数の前記処理コアから前記メモリインター
フェースへ読取り及び書込みパケットを伝送するように構成され、各読取りパケ
ットがアドレスワードを有し、各書込みパケットがアドレスワード及び少なくと
も1つのデータワードを備えることを特徴とする請求項5に記載の集積回路ディ
バイスアーキテクチャ。 - 【請求項10】 前記第2バスが前記メモリインターフェースから複数の前
記処理コアへ書込みパケットを伝送するように構成され、各書込みパケットがア
ドレスワード及び少なくとも1つのデータワードを備えることを特徴とする請求
項5に記載の集積回路ディバイスアーキテクチャ。 - 【請求項11】 前記第1バスがデイジーチェーン式であることを特徴とす
る請求項5に記載の集積回路ディバイスアーキテクチャ。 - 【請求項12】 更に、前記第1バスに接続されたバスコントローラを備え
、各処理コア及び前記メモリインターフェースがそれと関連したバスインターフ
ェースを有し、前記バスインターフェースがデイジーチェーン式によって相互に
接続され、前記バスコントローラが制御アービトレーションアルゴリズムを選択
的に認可するように構成されていることを特徴とする請求項11に記載の集積回
路ディバイスアーキテクチャ。 - 【請求項13】 各処理コアが前記第1バスを介して単一及び多重両ワード
パケットを伝送するように構成され、前記バスコントローラが多重ワードパケッ
トよりも単一ワードパケットの方に優先位を認可するように構成されていること
を特徴とする請求項12に記載の集積回路ディバイスアーキテクチャ。 - 【請求項14】 第1処理コアから多重ワードパケットに優先位を認可し、
前記第2処理コアが単一語ワードパケットを伝送して以来、前記第1バスを介し
て多重ワードパケットが一切伝送されなかった場合には、第2処理コアから単一
ワードパケットに優先位を認可するように前記バスコントローラが構成されてい
ることを特徴とする請求項13に記載の集積回路ディバイスアーキテクチャ。 - 【請求項15】 前記第1バスが当該バス上で現在伝送中の情報が読取パケ
ット又は書込みパケットのどちらから来たか、また、当該情報がデータ情報又は
アドレス情報のどちらであるかを表示する少なくとも1つのフラグを更に有する
ことを特徴とする請求項13に記載の集積回路ディバイスアーキテクチャ。 - 【請求項16】 各処理コアが前記プログラマブルコントローラと前記デー
タパスの間に接続されたローカルバスを更に備えることを特徴とする請求項1に
記載の集積回路ディバイスアーキテクチャ。 - 【請求項17】 各処理コア内の前記プログラマブルコントローラが更にロ
ーカルオペレーティングシステムを実行するように構成されたことを特徴とする
請求項1に記載の集積回路ディバイスアーキテクチャ。 - 【請求項18】 各処理コアにおけるプログラマブルコントローラによって
実行されたローカルオペレーティングシステムがマルティタスクオペレーティン
グシステムであることを特徴とする請求項17に記載の集積回路ディバイスアー
キテクチャ。 - 【請求項19】 前記プログラマブルコントローラ及び各処理コアにおける
前記ハードワイヤードデータパスが双対プロセッサインターフェースを介して相
互に接続されていることを特徴とする請求項1に記載の集積回路ディバイスアー
キテクチャ。 - 【請求項20】 複数の前記処理コアの少なくとも1つが前記プログラマブ
ルコントローラに接続され、かつ、前記処理コアに関する第2の所定のDSPオ
ペレーションを実行するように構成された第2ハードワイヤードデータパスを備
えることを特徴とする請求項1に記載の集積回路ディバイスアーキテクチャ。 - 【請求項21】 複数の前記処理コアの少なくとも1つがローカルキャッシ
ュメモリを備えることを特徴とする請求項1に記載の集積回路ディバイスアーキ
テクチャ。 - 【請求項22】 各処理コアにおける前記ハードワイヤードデータパスが、
ビデオ復号オペレーション、オーディオ復号オペレーション、フィルタリングオ
ペレーション、画像処理オペレーション、オーディオ効果処理オペレーション、
テキスト復号オペレーション、グラフィック重ね合せオペレーション、及び、そ
れらの組合わせから成るグループから選出されたDSPオペレーションを実行す
るように構成されていることを特徴とする請求項1に記載の集積回路ディバイス
アーキテクチャ。 - 【請求項23】 請求項1に記載の集積回路ディバイスアーキテクチャを有
することを特徴とする集積回路ディバイス。 - 【請求項24】 請求項1に記載の集積回路ディバイスアーキテクチャを有
することを特徴とするオーディオ/ビデオ装置。 - 【請求項25】 前記オーディオ/ビデオ装置が、セットトップボックス、
ディジタルテレビジョン受像機レシーバ、テレビジョン受像機、パーソナルコン
ピュータ、衛星レシーバ、コンピュータ、ディジタルビデオディスク(DVD)
プレーヤ、DVDレコーダ、ビデオカセットレコーダ、及び、カムコーダから成
るグループから選出されたことを特徴とする請求項18に記載のオーディオ/ビ
デオ装置。 - 【請求項26】 請求項1に記載の集積回路ディバイスアーキテクチャを定
義するハードウェア定義プログラムと、前記ハードウェア定義プログラムを有す
る信号ベアリングメディアとを備えることを特徴とするプログラム製品。 - 【請求項27】 前記信号ベアリングメディアが伝送型メディア及びレコー
ダブルメディアの少なくとも1つを備えることを特徴とする請求項26に記載の
プログラム製品。 - 【請求項28】 マルティメディアデータを処理する集積回路ディバイスア
ーキテクチャにおいて、 (a)通信バスと、 (b)前記通信バスを介して相互に接続された複数の処理コアとを備え、
各処理コアがハードワイヤードデータパスとインターフェースされ、かつ、所定
のディジタル信号処理オペレーションを実行するように前記ハイドワイヤードデ
ータパスの前記オペレーションを個別化するためにローカルコンピュータプログ
ラムを実行するように構成されたプログラマブルコントローラを備えることを特
徴とする集積回路ディバイスアーキテクチャ。 - 【請求項29】 集積回路ディバイスにおいてマルティメディアデータを処
理するマルティメディアデータ処理方法において、 (a)通信バスを介して複数のディジタル信号処理(DSP)タスクを集積
回路ディバイスに配置された複数の処理コアに配分するステップを有し、各処理
コアがハードワイヤードデータパスとインターフェースされ、かつ所定のDSP
オペレーションを実行するように構成されたプログラマブルコントローラを備え
、 (b)インターフェースされた前記ハードワイヤードデータパスの前記オペ
レーションを個別化するために各処理コアにおける前記プログラマブルコントロ
ーラでローカルコンピュータプログラムを実行することによって前記処理コアへ
配分されたDSPタスクを同時に実行するステップを有する ことを特徴とするマルティメディアデータ処理方法。 - 【請求項30】 更に、少なくとも1つのパケットを使用し、前記通信バス
を介して複数の前記処理コアの中の2つの間でメッセージを交信するステップを
有することを特徴とする請求項29に記載のマルティメディアデータ処理方法。 - 【請求項31】 更に、少なくとも1つのパケットを使用し、前記通信バス
を介して前記処理コアの1つと共用メモリの間でデータを交信するステップを有
することを特徴とする請求項29に記載のマルティメディアデータ処理方法。 - 【請求項32】 前記通信バスが複数の前記処理コアから前記共用メモリへ
要求パケットを伝送するデイジーチェーン式バスを備えることを特徴とする請求
項31に記載のマルティメディアデータ処理方法。 - 【請求項33】 各処理コアが単一及び多重両ワードパケットを前記デイジ
ーチェーン式バスを介して前記共用メモリへ伝送するように構成され、前記方法
が更に前記デイジーチェーン式バスを介して多重ワードパケットを越えて単一ワ
ードパケットに優先位を認可するステップを有することを特徴とする請求項32
に記載のマルティメディアデータ処理方法。 - 【請求項34】 第1処理コアから多重ワードパケットに優先位を認可する
ステップと、前記第2処理コアが1つの単一ワードパケットを伝送して以来、前
記デイジーチェーン式バスを介して一切の多重ワードパケットが伝送されていな
い場合には第2処理コアから単一ワードパケットに優先位が認可されたステップ
とを更に有することを特徴とする請求項33に記載のマルティメディアデータ処
理方法。 - 【請求項35】 各処理コアにおける前記プログラマブルコントローラで前
記ローカルコンピュータプログラムを実行するステップが前記プログラマブルコ
ントローラにおいてローカルオペレーティングシステムにアクセスするステップ
を有することを特徴とする請求項29に記載のマルティメディアデータ処理方法
。 - 【請求項36】 複数の前記処理コアの少なくとも1つが前記プログラマブ
ルコントローラに接続された第2のハードワイヤードデータパスを備えることを
特徴とする請求項29に記載のマルティメディアデータ処理方法。 - 【請求項37】 各処理コアにおける前記ハードワイヤードデータパスがビ
デオ復号オペレーション、オーディオ復号オペレーション、フィルタリングオペ
レーション、画像処理オペレーション、オーディオ効果処理オペレーション、テ
キスト復号オペレーション、グラフィック重ね合せオペレーション、及び、これ
らの組合わせから成るグループから選定されたDSPオペレーションを実行する
ように構成されたことを特徴とする請求項29に記載のマルティメディアデータ
処理方法。 - 【請求項38】 マルチメディアデータを処理する集積回路ディバイス回路
構成を設計する集積回路ディバイス設計方法において、 (a)所要マルティメディア機能性を実現するために必要な複数のディジタ
ル信号処理(DSP)オペレーションを選択するステップと、 (b)複数の処理コアを回路構成に組み立てるステップとを有し、 各処理コアは、 (1)複数の前記DSPオペレーションの少なくとも1つを実行するよ
うに構成された少なくとも1つのハードワイヤードデータパスと、 (2)前記ハードワイヤードデータパスに接続されたプログラマブルコ
ントローラとを備え、前記プログラマブルコントローラが前記処理コアによって
受け取られたデータを処理するように前記ハードワイヤードデータパスのオペレ
ーションを制御するためにローカルコンピュータプログラムを実行するように構
成され、 (c)複数の前記処理コアを通信バスを介して相互に論理的に接続するステ
ップと、 (d)各処理コアにおける前記プログラマブルコントローラで実行する前記
ローカルコンピュータプログラムを生成するステップと を有することを特徴とする集積回路ディバイス設計方法。 - 【請求項39】 前記通信バスを介して複数の前記処理コアを相互に論理的
に接続するステップが複数の前記処理コアから共用メモリへ要求パケットを伝送
するように構成されたデイジーチェーン式バスへ前記処理コアを接続するステッ
プをさらに有することを特徴とする請求項38に記載の集積回路ディバイス設計
方法。 - 【請求項40】 請求項38に記載の方法によって設計されたことを特徴と
する集積回路ディバイスアーキテクチャ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/179,147 US6041400A (en) | 1998-10-26 | 1998-10-26 | Distributed extensible processing architecture for digital signal processing applications |
US09/179,147 | 1998-10-26 | ||
PCT/US1999/021041 WO2000025250A1 (en) | 1998-10-26 | 1999-09-14 | Distributed extensible processing architecture for digital signal processing applications |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002528825A true JP2002528825A (ja) | 2002-09-03 |
Family
ID=22655417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000578765A Pending JP2002528825A (ja) | 1998-10-26 | 1999-09-14 | ディジタル信号処理アプリケーション用分散型拡張可能集積回路ディバイスアーキテクチャ |
Country Status (6)
Country | Link |
---|---|
US (1) | US6041400A (ja) |
EP (1) | EP1171842A4 (ja) |
JP (1) | JP2002528825A (ja) |
AU (1) | AU5922799A (ja) |
TW (1) | TW449716B (ja) |
WO (1) | WO2000025250A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005117434A1 (ja) * | 2004-05-28 | 2005-12-08 | Matsushita Electric Industrial Co., Ltd. | デジタル画像入力装置及びその方法 |
JP2007041781A (ja) * | 2005-08-02 | 2007-02-15 | Fujitsu Ltd | リコンフィグ可能な集積回路装置 |
JP2008521131A (ja) * | 2004-11-23 | 2008-06-19 | インテル・コーポレーション | マルチスレッド、マルチプロセシングのシステムオンチップ・ネットワーク・プロセッサ・ユニットのために拡張性があり、高機能で、大規模な相互接続スキーム |
JP2010136452A (ja) * | 2004-04-01 | 2010-06-17 | Panasonic Corp | 集積回路 |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6118462A (en) | 1997-07-01 | 2000-09-12 | Memtrax Llc | Computer system controller having internal memory and external memory control |
WO1999067742A1 (en) * | 1998-06-25 | 1999-12-29 | Matsushita Electric Industrial Co., Ltd. | Image processor |
US6313886B1 (en) * | 1998-10-14 | 2001-11-06 | Sony Corporation | Automatic PSIP detection system and method |
US6347344B1 (en) * | 1998-10-14 | 2002-02-12 | Hitachi, Ltd. | Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor |
US6317804B1 (en) | 1998-11-30 | 2001-11-13 | Philips Semiconductors Inc. | Concurrent serial interconnect for integrating functional blocks in an integrated circuit device |
US6496233B1 (en) * | 1999-01-06 | 2002-12-17 | Sarnoff Corporation | Command and control architecture for a video decoder and an audio decoder |
EP1059781B1 (de) * | 1999-05-06 | 2007-09-05 | Siemens Aktiengesellschaft | Kommunikationseinrichtung mit Mitteln zur Echtzeitverarbeitung von zu übertragenden Nutzdaten |
US6526110B1 (en) * | 1999-09-14 | 2003-02-25 | Mitsubishi Electric Research Laboratories Inc. | Embedded RAM based digital signal processor |
US6446195B1 (en) * | 2000-01-31 | 2002-09-03 | Intel Corporation | Dyadic operations instruction processor with configurable functional blocks |
US7032223B2 (en) | 2000-03-01 | 2006-04-18 | Realtek Semiconductor Corp. | Transport convergence sub-system with shared resources for multiport xDSL system |
US6847687B2 (en) * | 2000-03-08 | 2005-01-25 | Matsushita Electric Industrial Co., Ltd. | Audio and video processing apparatus |
KR100385233B1 (ko) * | 2000-03-14 | 2003-05-23 | 삼성전자주식회사 | 데이터 프로세싱 시스템의 익스포넌트 유닛 |
US6425116B1 (en) * | 2000-03-30 | 2002-07-23 | Koninklijke Philips Electronics N.V. | Automated design of digital signal processing integrated circuit |
US6604163B1 (en) * | 2000-05-16 | 2003-08-05 | Koninklijke Philips Electronics N.V. | Interconnection of digital signal processor with program memory and external devices using a shared bus interface |
DE60110227T2 (de) | 2000-06-27 | 2006-02-09 | Koninklijke Philips Electronics N.V. | Integrierte schaltung mit flash |
US6874039B2 (en) | 2000-09-08 | 2005-03-29 | Intel Corporation | Method and apparatus for distributed direct memory access for systems on chip |
JP2002236607A (ja) * | 2001-02-13 | 2002-08-23 | Matsushita Electric Ind Co Ltd | 共有メモリ制御装置とマルチメディア処理システム |
US7007111B2 (en) * | 2001-06-11 | 2006-02-28 | Lsi Logic Corporation | DMA port sharing bandwidth balancing logic |
US7512955B2 (en) * | 2001-08-07 | 2009-03-31 | Sharp Laboratories Of America, Inc. | Method and system for accessing and implementing declarative applications used within digital multi-media broadcast |
US6782463B2 (en) * | 2001-09-14 | 2004-08-24 | Intel Corporation | Shared memory array |
US6829692B2 (en) * | 2001-09-14 | 2004-12-07 | Intel Corporation | System and method for providing data to multi-function memory |
US7191271B2 (en) * | 2001-09-20 | 2007-03-13 | Lockheed Martin Corporation | Two level multi-tier system bus |
US7336700B2 (en) | 2001-09-20 | 2008-02-26 | Lockheed Martin Corporation | System bus transceiver interface |
US7480909B2 (en) * | 2002-02-25 | 2009-01-20 | International Business Machines Corporation | Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking |
US6862668B2 (en) | 2002-02-25 | 2005-03-01 | International Business Machines Corporation | Method and apparatus for using cache coherency locking to facilitate on-line volume expansion in a multi-controller storage system |
US7823279B2 (en) * | 2002-04-01 | 2010-11-02 | Intel Corporation | Method for using an in package power supply to supply power to an integrated circuit and to a component |
US8284844B2 (en) | 2002-04-01 | 2012-10-09 | Broadcom Corporation | Video decoding system supporting multiple standards |
US7194566B2 (en) * | 2002-05-03 | 2007-03-20 | Sonics, Inc. | Communication system and method with configurable posting points |
US7356633B2 (en) * | 2002-05-03 | 2008-04-08 | Sonics, Inc. | Composing on-chip interconnects with configurable interfaces |
US7254603B2 (en) * | 2002-05-03 | 2007-08-07 | Sonics, Inc. | On-chip inter-network performance optimization using configurable performance parameters |
WO2003103015A2 (en) * | 2002-06-03 | 2003-12-11 | Koninklijke Philips Electronics N.V. | Reconfigurable integrated circuit |
US7024654B2 (en) * | 2002-06-11 | 2006-04-04 | Anadigm, Inc. | System and method for configuring analog elements in a configurable hardware device |
US7391812B2 (en) * | 2002-07-14 | 2008-06-24 | Apple Inc. | Adaptively post filtering encoded video |
JP4217452B2 (ja) * | 2002-09-30 | 2009-02-04 | キヤノン株式会社 | プロセッサシステム |
US7603441B2 (en) * | 2002-12-27 | 2009-10-13 | Sonics, Inc. | Method and apparatus for automatic configuration of multiple on-chip interconnects |
US7130967B2 (en) * | 2003-12-10 | 2006-10-31 | International Business Machines Corporation | Method and system for supplier-based memory speculation in a memory subsystem of a data processing system |
US8892821B2 (en) * | 2003-12-10 | 2014-11-18 | International Business Machines Corporation | Method and system for thread-based memory speculation in a memory subsystem of a data processing system |
WO2008072249A2 (en) * | 2006-12-15 | 2008-06-19 | Mango D.S.P. Ltd | System, apparatus and method for flexible modular programming for video processors |
US8510481B2 (en) * | 2007-01-03 | 2013-08-13 | Apple Inc. | Memory access without internal microprocessor intervention |
KR100825816B1 (ko) * | 2007-01-25 | 2008-04-29 | 삼성전자주식회사 | 핸드쉐이크 인터페이스 방식을 이용한 디지털 신호프로세서 및 그 구동방법 |
US7685409B2 (en) * | 2007-02-21 | 2010-03-23 | Qualcomm Incorporated | On-demand multi-thread multimedia processor |
JP2009026135A (ja) * | 2007-07-20 | 2009-02-05 | Nec Electronics Corp | マルチプロセッサ装置 |
JP2009026136A (ja) * | 2007-07-20 | 2009-02-05 | Nec Electronics Corp | マルチプロセッサ装置 |
FR2936626B1 (fr) * | 2008-09-30 | 2011-03-25 | Commissariat Energie Atomique | Dispositif de traitement en parallele d'un flux de donnees |
US8495699B2 (en) | 2008-12-23 | 2013-07-23 | At&T Intellectual Property I, L.P. | Distributed content analysis network |
US9098274B2 (en) * | 2009-12-03 | 2015-08-04 | Intel Corporation | Methods and apparatuses to improve turbo performance for events handling |
US8762644B2 (en) * | 2010-10-15 | 2014-06-24 | Qualcomm Incorporated | Low-power audio decoding and playback using cached images |
EP4187539B1 (en) | 2017-07-30 | 2024-06-05 | NeuroBlade Ltd. | A memory-based distributed processor architecture |
US11016822B1 (en) * | 2018-04-03 | 2021-05-25 | Xilinx, Inc. | Cascade streaming between data processing engines in an array |
CN112243266B (zh) * | 2019-07-18 | 2024-04-19 | 大唐联仪科技有限公司 | 一种数据组包方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997038372A1 (en) * | 1996-04-04 | 1997-10-16 | Videologic Limited | A data processing management system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8521672D0 (en) * | 1985-08-30 | 1985-10-02 | Univ Southampton | Data processing device |
EP0789882B1 (en) * | 1995-07-21 | 2000-10-04 | Koninklijke Philips Electronics N.V. | Multi-media processor architecture with high performance-density |
US5742840A (en) * | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US5870310A (en) * | 1996-05-03 | 1999-02-09 | Lsi Logic Corporation | Method and apparatus for designing re-usable core interface shells |
-
1998
- 1998-10-26 US US09/179,147 patent/US6041400A/en not_active Expired - Fee Related
-
1999
- 1999-09-14 JP JP2000578765A patent/JP2002528825A/ja active Pending
- 1999-09-14 AU AU59227/99A patent/AU5922799A/en not_active Abandoned
- 1999-09-14 WO PCT/US1999/021041 patent/WO2000025250A1/en active Application Filing
- 1999-09-14 EP EP99946921A patent/EP1171842A4/en not_active Withdrawn
- 1999-10-22 TW TW088118344A patent/TW449716B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997038372A1 (en) * | 1996-04-04 | 1997-10-16 | Videologic Limited | A data processing management system |
JP2000509528A (ja) * | 1996-04-04 | 2000-07-25 | イマジネイション テクノロジーズ リミテッド | データ処理マネージメントシステム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010136452A (ja) * | 2004-04-01 | 2010-06-17 | Panasonic Corp | 集積回路 |
US8811470B2 (en) | 2004-04-01 | 2014-08-19 | Panasonic Corporation | Integrated circuit for video/audio processing |
US9361259B2 (en) | 2004-04-01 | 2016-06-07 | Socionext Inc. | Integrated circuit with multipurpose processing and for video/audio processing optimization |
WO2005117434A1 (ja) * | 2004-05-28 | 2005-12-08 | Matsushita Electric Industrial Co., Ltd. | デジタル画像入力装置及びその方法 |
JP2008521131A (ja) * | 2004-11-23 | 2008-06-19 | インテル・コーポレーション | マルチスレッド、マルチプロセシングのシステムオンチップ・ネットワーク・プロセッサ・ユニットのために拡張性があり、高機能で、大規模な相互接続スキーム |
JP2007041781A (ja) * | 2005-08-02 | 2007-02-15 | Fujitsu Ltd | リコンフィグ可能な集積回路装置 |
JP4536618B2 (ja) * | 2005-08-02 | 2010-09-01 | 富士通セミコンダクター株式会社 | リコンフィグ可能な集積回路装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2000025250A1 (en) | 2000-05-04 |
EP1171842A1 (en) | 2002-01-16 |
AU5922799A (en) | 2000-05-15 |
US6041400A (en) | 2000-03-21 |
TW449716B (en) | 2001-08-11 |
EP1171842A4 (en) | 2007-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002528825A (ja) | ディジタル信号処理アプリケーション用分散型拡張可能集積回路ディバイスアーキテクチャ | |
US6308253B1 (en) | RISC CPU instructions particularly suited for decoding digital signal processing applications | |
US7127563B2 (en) | Shared memory architecture | |
US6594713B1 (en) | Hub interface unit and application unit interfaces for expanded direct memory access processor | |
Lee et al. | An efficient quality-aware memory controller for multimedia platform SoC | |
US7353310B2 (en) | Hierarchical memory access via pipelining with deferred arbitration | |
US20150154143A1 (en) | Memory Interface and Method of Interfacing Between Functional Entities | |
US20060294321A1 (en) | Communication registers for processing elements | |
JP2001142842A (ja) | Dmaハンドシェークプロトコル | |
US9201821B2 (en) | Interrupt timestamping | |
US6654834B1 (en) | Method and apparatus for data transfer employing closed loop of memory nodes | |
EP2442231A1 (en) | Reordering arrangement | |
Goossens et al. | Interconnect and Memory Organization in SOCs for Advanced Set-Top Boxes and TV: Evolution, Analysis, and Trends | |
JP2005222543A (ja) | バスシステム | |
US6594711B1 (en) | Method and apparatus for operating one or more caches in conjunction with direct memory access controller | |
US5931934A (en) | Method and apparatus for providing fast interrupt response using a ghost instruction | |
US6694385B1 (en) | Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor | |
US20040030861A1 (en) | Customizable computer system | |
US7346713B2 (en) | Methods and apparatus for servicing commands through a memory controller port | |
US6801985B1 (en) | Data bus using synchronous fixed latency loop including read address and data busses and write address and data busses | |
US6715042B1 (en) | Systems and methods for multiport memory access in a multimaster environment | |
US11741009B1 (en) | Request ordering in a cache | |
JP2006172256A (ja) | 情報処理装置 | |
US6748497B1 (en) | Systems and methods for buffering memory transactions | |
JP5379223B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060914 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080605 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080605 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090323 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090330 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090622 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100419 |