JPH0827782B2 - マルチメディア・コンピュータ・システム、該システムの動作を制御する方法及びマルチメディア・コンピュータ・サブシステム - Google Patents
マルチメディア・コンピュータ・システム、該システムの動作を制御する方法及びマルチメディア・コンピュータ・サブシステムInfo
- Publication number
- JPH0827782B2 JPH0827782B2 JP4207901A JP20790192A JPH0827782B2 JP H0827782 B2 JPH0827782 B2 JP H0827782B2 JP 4207901 A JP4207901 A JP 4207901A JP 20790192 A JP20790192 A JP 20790192A JP H0827782 B2 JPH0827782 B2 JP H0827782B2
- Authority
- JP
- Japan
- Prior art keywords
- dma
- processor
- host
- dsp
- digital signal
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Hardware Redundancy (AREA)
- Complex Calculations (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Selective Calling Equipment (AREA)
Description
【0001】
【産業上の利用分野】本発明は一般にマルチメディア・
コンピュータ・システムに関し、特に直接メモリ・アク
セス(以下DMAという。)チャネルを用いるマルチメ
ディア・コンピュータ・システムにおける効率的データ
転送に関する。
コンピュータ・システムに関し、特に直接メモリ・アク
セス(以下DMAという。)チャネルを用いるマルチメ
ディア・コンピュータ・システムにおける効率的データ
転送に関する。
【0002】
【従来の技術】信号プロセッサは現在利用可能な多数の
コンピュータ・システムにおいて、よく知られるコンポ
ーネントである。特有のディジタル信号プロセッサ(D
SP)が様々なメーカから市販されており、採用される
アルゴリズムの高速反復実行に使用され、例えば、ディ
ジタル信号フィルタ、音声認識或いは音声合成、サーボ
機構制御、符号化音声発生、コンパクト・ディスク高忠
実サンプル化音響及び音楽の発生、モデム・データ変調
及び変調機能、ファクシミリ・データ転送の符号化及び
複合化機能、カラー及びモノクロ・イメージ・データの
圧縮及び表示機能、動画処理機能及び多数のデータ・プ
ロトコル変換或いは符号化、誤り訂正或いは類似の機能
などを提供する。実際に、ディジタル・アナログ信号サ
ンプルの高速ストリーム上でのフーリエ変換などのアル
ゴリズムの高速反復実行に対応するディジタル信号プロ
セッサの応用例に関する提案リストは、潜在的に業界で
広範に普及している。
コンピュータ・システムにおいて、よく知られるコンポ
ーネントである。特有のディジタル信号プロセッサ(D
SP)が様々なメーカから市販されており、採用される
アルゴリズムの高速反復実行に使用され、例えば、ディ
ジタル信号フィルタ、音声認識或いは音声合成、サーボ
機構制御、符号化音声発生、コンパクト・ディスク高忠
実サンプル化音響及び音楽の発生、モデム・データ変調
及び変調機能、ファクシミリ・データ転送の符号化及び
複合化機能、カラー及びモノクロ・イメージ・データの
圧縮及び表示機能、動画処理機能及び多数のデータ・プ
ロトコル変換或いは符号化、誤り訂正或いは類似の機能
などを提供する。実際に、ディジタル・アナログ信号サ
ンプルの高速ストリーム上でのフーリエ変換などのアル
ゴリズムの高速反復実行に対応するディジタル信号プロ
セッサの応用例に関する提案リストは、潜在的に業界で
広範に普及している。
【0003】特に優れた信号プロセッサ・アーキテクチ
ャが本特許出願人に権利譲渡されている米国特許第47
94517号で示されており、これはディジタル信号プ
ロセッサが構成され、また利用される様子を理解するた
めに、本明細書において参照される。しかしながら、当
業者においては、前述の信号プロセッサ・アーキテクチ
ャは、市場で競合する多くのアーキテクチャの1つに過
ぎないことを理解されよう。更に、ディジタル信号プロ
セッサの利用は、ほとんど幾何級数的に拡大しており、
特に、いわゆるマルチメディア・コンピュータ・システ
ム分野での成長が著しい。こうしたシステムでは、ユー
ザは同時に多数の機能を実行することを望み、これらの
機能には、伝送のための音声符号化、動画ビデオ、モデ
ム送受信及びバックグラウンドのCD音楽再生などが挙
げられる。しかし、現実には数種類の音響映像或いはマ
ルチメディア・アプリケーションしか存在しない。これ
らのアプリケーションはIBM パーソナル・システム
/2 コンピュータ、或いは今日一般に市販されている
種々の類似のマルチ・タスク・コンピュータ・システム
などの典型的なホスト・システム上において実行され
る。
ャが本特許出願人に権利譲渡されている米国特許第47
94517号で示されており、これはディジタル信号プ
ロセッサが構成され、また利用される様子を理解するた
めに、本明細書において参照される。しかしながら、当
業者においては、前述の信号プロセッサ・アーキテクチ
ャは、市場で競合する多くのアーキテクチャの1つに過
ぎないことを理解されよう。更に、ディジタル信号プロ
セッサの利用は、ほとんど幾何級数的に拡大しており、
特に、いわゆるマルチメディア・コンピュータ・システ
ム分野での成長が著しい。こうしたシステムでは、ユー
ザは同時に多数の機能を実行することを望み、これらの
機能には、伝送のための音声符号化、動画ビデオ、モデ
ム送受信及びバックグラウンドのCD音楽再生などが挙
げられる。しかし、現実には数種類の音響映像或いはマ
ルチメディア・アプリケーションしか存在しない。これ
らのアプリケーションはIBM パーソナル・システム
/2 コンピュータ、或いは今日一般に市販されている
種々の類似のマルチ・タスク・コンピュータ・システム
などの典型的なホスト・システム上において実行され
る。
【0004】こうしたマルチメディア・システムにおい
て、信号処理タスクは、通常、特有の高速ディジタル信
号プロセッサ(DSP)にDMAを介してオフロードさ
れる。しかしながら、プロセッサのスピード及びメモリ
容量が増加すると、DSPはユーザ・タスクそのものの
実行を引き受けるようになる。これについては後に明ら
かにされる。こうしたシステムにおいては、DMA機能
そのものがDSPにより扱われる。2、3チャネルのD
MAアクセスだけが要求される場合には、典型的なDM
A制御装置は信号プロセッサ及びホスト・プロセッサに
対し、1つ或いはいくつかのハードウェア装置をサービ
スさせることができる。しかしながら、ホスト・プロセ
ッサがマルチ・タスク処理であり、多数の入出力装置が
存在する場合、ホスト・マルチ・タスク・プロセッサと
支援するディジタル信号プロセッサ間に限られた数のD
MAチャネルしか提供しないことは、DMAが全ての動
作入出力装置及び実行中のタスクの種々のスレッドによ
り同時に共用される場合に、克服し難いボトルネックと
なる。
て、信号処理タスクは、通常、特有の高速ディジタル信
号プロセッサ(DSP)にDMAを介してオフロードさ
れる。しかしながら、プロセッサのスピード及びメモリ
容量が増加すると、DSPはユーザ・タスクそのものの
実行を引き受けるようになる。これについては後に明ら
かにされる。こうしたシステムにおいては、DMA機能
そのものがDSPにより扱われる。2、3チャネルのD
MAアクセスだけが要求される場合には、典型的なDM
A制御装置は信号プロセッサ及びホスト・プロセッサに
対し、1つ或いはいくつかのハードウェア装置をサービ
スさせることができる。しかしながら、ホスト・プロセ
ッサがマルチ・タスク処理であり、多数の入出力装置が
存在する場合、ホスト・マルチ・タスク・プロセッサと
支援するディジタル信号プロセッサ間に限られた数のD
MAチャネルしか提供しないことは、DMAが全ての動
作入出力装置及び実行中のタスクの種々のスレッドによ
り同時に共用される場合に、克服し難いボトルネックと
なる。
【0005】音響サンプルの独立のホスト・メモリ・テ
ーブル、及び複数のメモリ制御テーブル、及びメモリ内
に記憶されるエネルギ及びピッチ・エンベロープにより
処理される多数の高忠実音響信号サンプルを有するマル
チメディア環境を考慮する場合、こうしたシステムで
は、1ミリ秒以内の時間周期に、100以上の別々のチ
ャネルのDMAアクセスを提供する必要が生じる。16
個の高忠実立体音響信号チャネルでは、各音響チャネル
は1秒当たり88200個のサンプル・バイトの転送を
必要とする。こうした短時間において、100チャネル
のDMAが100000ブロック・トランザクション/
秒以上を支援することになる。ここで各ブロックは固有
の出所及び行先アドレス及びブロック転送サイズを有す
る。従来のDMAアクセス装置を用いた場合、ディジタ
ル信号プロセッサなどのシステム・プロセッサは、ほぼ
平均して毎10マイクロ秒ごとに要求されるオペレーシ
ョンを支援するために、新たなデータ転送のために中断
されることになる。いくつかのマシン・サイクルが各転
送を支援するために要求され、どのプロセッサ・リソー
スもDMAアクセスの制御タスク以外に実際の信号処理
タスクを実行できなくなるので、システムは直ぐに動作
不能になる。
ーブル、及び複数のメモリ制御テーブル、及びメモリ内
に記憶されるエネルギ及びピッチ・エンベロープにより
処理される多数の高忠実音響信号サンプルを有するマル
チメディア環境を考慮する場合、こうしたシステムで
は、1ミリ秒以内の時間周期に、100以上の別々のチ
ャネルのDMAアクセスを提供する必要が生じる。16
個の高忠実立体音響信号チャネルでは、各音響チャネル
は1秒当たり88200個のサンプル・バイトの転送を
必要とする。こうした短時間において、100チャネル
のDMAが100000ブロック・トランザクション/
秒以上を支援することになる。ここで各ブロックは固有
の出所及び行先アドレス及びブロック転送サイズを有す
る。従来のDMAアクセス装置を用いた場合、ディジタ
ル信号プロセッサなどのシステム・プロセッサは、ほぼ
平均して毎10マイクロ秒ごとに要求されるオペレーシ
ョンを支援するために、新たなデータ転送のために中断
されることになる。いくつかのマシン・サイクルが各転
送を支援するために要求され、どのプロセッサ・リソー
スもDMAアクセスの制御タスク以外に実際の信号処理
タスクを実行できなくなるので、システムは直ぐに動作
不能になる。
【0006】典型的な音響アプリケーションに加え、音
響信号が"演奏"される間に、ディジタル信号プロセッサ
とホスト・プロセッサ間の通信を要求するホスト・タス
クが存在する可能性がある。例として、ホスト・コンピ
ュータ・システム・メモリとの間で、音響音楽、音声或
いはバック・グラウンドと共に、イメージ・データを転
送するファクシミリ・モデムがある。更に、音声認識タ
スクが実行されて、音声テンプレートをホスト・システ
ム・メモリと信号プロセッサ・メモリとの間で転送し、
音声認識トークンを認識できる形で書き戻す場合もあ
る。また、音声合成機能も作用して、システム・メモリ
・バンクから音素データを検索し、その間に、コンピュ
ータ支援表示アプリケーションが実行され、信号プロセ
ッサはイメージ画面バッファ内に見い出される3次元オ
ブジェクトを回転するように要求されたりする。このた
めには多数の複雑な反復計算が必要となる。すなわち重
要な点は、単一のプロセッサにより支援される複雑なマ
ルチプロセッサ環境及びマルチ・タスク環境において
は、膨大な数のDMAチャネルが要求されることであ
る。
響信号が"演奏"される間に、ディジタル信号プロセッサ
とホスト・プロセッサ間の通信を要求するホスト・タス
クが存在する可能性がある。例として、ホスト・コンピ
ュータ・システム・メモリとの間で、音響音楽、音声或
いはバック・グラウンドと共に、イメージ・データを転
送するファクシミリ・モデムがある。更に、音声認識タ
スクが実行されて、音声テンプレートをホスト・システ
ム・メモリと信号プロセッサ・メモリとの間で転送し、
音声認識トークンを認識できる形で書き戻す場合もあ
る。また、音声合成機能も作用して、システム・メモリ
・バンクから音素データを検索し、その間に、コンピュ
ータ支援表示アプリケーションが実行され、信号プロセ
ッサはイメージ画面バッファ内に見い出される3次元オ
ブジェクトを回転するように要求されたりする。このた
めには多数の複雑な反復計算が必要となる。すなわち重
要な点は、単一のプロセッサにより支援される複雑なマ
ルチプロセッサ環境及びマルチ・タスク環境において
は、膨大な数のDMAチャネルが要求されることであ
る。
【0007】複数のDMA制御チップ装置が知られてお
り、例えば米国特許第4831523号で示されてい
る。こうした装置は周辺制御装置として機能し、システ
ム・バスに固定数の物理周辺装置を接続するように設計
されている。上記特許の場合これは4個である。この物
理装置は、ユーザが要望するタスク処理を実行するため
に、ハード的に実時間処理される信号サンプルを要求す
るマルチ・タスク処理とは等価でない。4個の物理周辺
装置は最大約8個の論理DMAチャネルを有し、上記特
許では、これらの装置は固定時間内にはサービスされな
い。なぜなら、装置はラウンド・ロビン方式によりサー
ビスされ、ある装置はその作業を完了するのに不定の長
時間を費やすことがあり、これは他の実時間装置が固定
時間内にその作業を完了する能力を奪うことになる。
り、例えば米国特許第4831523号で示されてい
る。こうした装置は周辺制御装置として機能し、システ
ム・バスに固定数の物理周辺装置を接続するように設計
されている。上記特許の場合これは4個である。この物
理装置は、ユーザが要望するタスク処理を実行するため
に、ハード的に実時間処理される信号サンプルを要求す
るマルチ・タスク処理とは等価でない。4個の物理周辺
装置は最大約8個の論理DMAチャネルを有し、上記特
許では、これらの装置は固定時間内にはサービスされな
い。なぜなら、装置はラウンド・ロビン方式によりサー
ビスされ、ある装置はその作業を完了するのに不定の長
時間を費やすことがあり、これは他の実時間装置が固定
時間内にその作業を完了する能力を奪うことになる。
【0008】DMAチャネルの共用機構が、1987年
12月発行のIBMテクニカル・ブルテン、Vol.30、N
o.7、pp369、pp370に示されている。しかしながら、こ
こに示される機構は、動的に再割当てされる入出力装置
ハードウェアを必要とする。この機構ではソフトウェア
が、要求を出す外部ハードウェア装置に対し、小数のハ
ードウェアDMAチャネルを動的に割り当て、DMAチ
ャネルの共用化を可能とする。要求に対するサービスを
規定するサイズ、数、或いは時間長を決定する情報は存
在せず、ハードウェア装置がこうした要求を出す方法に
関する詳細についても説明されていない。提示されたシ
ステムは本質的に実時間ではなく、処理され転送される
べき信号サンプルを有する要求タスクは、例えばCD音
楽再生システムのように、正確且つ反復する時間内でサ
ービスされる必要はない。CD音楽再生システムでは、
1秒当たり88200バイトの情報を転送し、処理し、
処理された信号を要求タスクが利用するために再度逆転
送する。
12月発行のIBMテクニカル・ブルテン、Vol.30、N
o.7、pp369、pp370に示されている。しかしながら、こ
こに示される機構は、動的に再割当てされる入出力装置
ハードウェアを必要とする。この機構ではソフトウェア
が、要求を出す外部ハードウェア装置に対し、小数のハ
ードウェアDMAチャネルを動的に割り当て、DMAチ
ャネルの共用化を可能とする。要求に対するサービスを
規定するサイズ、数、或いは時間長を決定する情報は存
在せず、ハードウェア装置がこうした要求を出す方法に
関する詳細についても説明されていない。提示されたシ
ステムは本質的に実時間ではなく、処理され転送される
べき信号サンプルを有する要求タスクは、例えばCD音
楽再生システムのように、正確且つ反復する時間内でサ
ービスされる必要はない。CD音楽再生システムでは、
1秒当たり88200バイトの情報を転送し、処理し、
処理された信号を要求タスクが利用するために再度逆転
送する。
【0009】米国特許第4807121号は最大4個の
マルチプレクサ・ユニットに接続される入出力プロセッ
サを有する周辺インタフェース・システムを提示し、各
ユニットは最大4個の制御装置とのインタフェースを提
供する。入出力プロセッサはDMAチャネルを有し、こ
れはマルチプレクスされたシリアル・データをマルチプ
レクサから受信する。データは入出力プロセッサと制御
ユニットの間で転送され、これはDMAチャネル上のシ
リアル転送により、入出力プロセッサのローカル・メモ
リからバッファ内の記憶領域を充填することにより達成
される。単一のチャネルだけが提供され、マルチプレク
ス手段により、これを切換えて使用する。データのセッ
トは制御装置からマルチプレクサにタイム・スロット・
ベースで転送され、マルチプレクサの記憶域からメモリ
にシリアルに転送される。しかしながら、このシステム
においては、上述の同時に実行されるアプリケーション
・タスクなどにより提供される、動的なハード的実時間
要求を供給する手段を有するような記述はされていな
い。
マルチプレクサ・ユニットに接続される入出力プロセッ
サを有する周辺インタフェース・システムを提示し、各
ユニットは最大4個の制御装置とのインタフェースを提
供する。入出力プロセッサはDMAチャネルを有し、こ
れはマルチプレクスされたシリアル・データをマルチプ
レクサから受信する。データは入出力プロセッサと制御
ユニットの間で転送され、これはDMAチャネル上のシ
リアル転送により、入出力プロセッサのローカル・メモ
リからバッファ内の記憶領域を充填することにより達成
される。単一のチャネルだけが提供され、マルチプレク
ス手段により、これを切換えて使用する。データのセッ
トは制御装置からマルチプレクサにタイム・スロット・
ベースで転送され、マルチプレクサの記憶域からメモリ
にシリアルに転送される。しかしながら、このシステム
においては、上述の同時に実行されるアプリケーション
・タスクなどにより提供される、動的なハード的実時間
要求を供給する手段を有するような記述はされていな
い。
【0010】
【発明が解決しようとする課題】従来技術における前述
の問題を鑑み、本発明の目的は、ホスト・プロセッサに
おいてハード的実時間マルチ・タスク・オペレーション
を支援する、効率的なマルチメディア・コンピュータ・
システム及びデータ転送機構を提供する。
の問題を鑑み、本発明の目的は、ホスト・プロセッサに
おいてハード的実時間マルチ・タスク・オペレーション
を支援する、効率的なマルチメディア・コンピュータ・
システム及びデータ転送機構を提供する。
【0011】
【課題を解決するための手段】前述の問題に対する解決
が本発明の実施例により提供され、これはホスト・プロ
セッサから信号プロセッサにタスク要求を与え、入力さ
れるタスク要求を解析し、パケット転送要求のリストを
メモリ内の区分キュー内に生成し、この区分キューをプ
ロセッサ間DMA制御装置によりアクセスし、信号プロ
セッサ(DSP)との間で、DMA機構を介し、固定最
小規定時間周期内に必要なデータ信号サンプルを転送す
る。本実施例では、データ転送パケット要求リストはデ
ィジタル信号プロセッサ(DSP)により、DMA制御
パケットの形式で生成される。
が本発明の実施例により提供され、これはホスト・プロ
セッサから信号プロセッサにタスク要求を与え、入力さ
れるタスク要求を解析し、パケット転送要求のリストを
メモリ内の区分キュー内に生成し、この区分キューをプ
ロセッサ間DMA制御装置によりアクセスし、信号プロ
セッサ(DSP)との間で、DMA機構を介し、固定最
小規定時間周期内に必要なデータ信号サンプルを転送す
る。本実施例では、データ転送パケット要求リストはデ
ィジタル信号プロセッサ(DSP)により、DMA制御
パケットの形式で生成される。
【0012】各パケット要求は、制御情報に関するいく
つかのワードと、データ・サンプルの転送に関する出所
及び行先アドレスを含む。第1のアドレスは作用される
システム・メモリ・アドレスであり、それぞれデータを
含むか或いはデータまたは処理サンプルを受信する。第
2のアドレスは作用されるローカルDSP命令またはデ
ータ・メモリ・アドレスであり、これに対して生の信号
サンプル或いは処理された信号サンプルが書き込まれた
り読み出されたりする。パケットに組み込まれる制御情
報は多数のデータ或いは命令ビットを含み、これらは転
送されるデータのブロック・サイズ及び転送方向を含
み、後者は情報がDSPに受信されるのか、或いはDS
Pから送信されるのかを示す。DMAパケット・リスト
はDSPのオペレーティング・システムにより構成さ
れ、DSPのデータ・メモリ内に保持され、DSPバス
及びホスト・プロセッサ・バスとインタフェースするD
MA制御装置ハードウェアにより、順次アクセスされ、
実行される。DMAプロセッサはパケット要求の区分リ
スト内の1区分の全内容を一定の時間間隔でアクセス及
び処理する。この時間間隔はホスト・プロセッサで実行
される選択可能なユーザ・タスクの最大要求に関連す
る。例えば、立体音響CDプレーヤから録音再生用のデ
ィジタル音楽サンプル処理を支援するためには、882
00個の16ビット・サンプルが信号プロセッサに転送
され、処理され、ディジタル−アナログ変換器或いはホ
スト・プロセッサに毎秒一定の周期で提供される必要が
ある。
つかのワードと、データ・サンプルの転送に関する出所
及び行先アドレスを含む。第1のアドレスは作用される
システム・メモリ・アドレスであり、それぞれデータを
含むか或いはデータまたは処理サンプルを受信する。第
2のアドレスは作用されるローカルDSP命令またはデ
ータ・メモリ・アドレスであり、これに対して生の信号
サンプル或いは処理された信号サンプルが書き込まれた
り読み出されたりする。パケットに組み込まれる制御情
報は多数のデータ或いは命令ビットを含み、これらは転
送されるデータのブロック・サイズ及び転送方向を含
み、後者は情報がDSPに受信されるのか、或いはDS
Pから送信されるのかを示す。DMAパケット・リスト
はDSPのオペレーティング・システムにより構成さ
れ、DSPのデータ・メモリ内に保持され、DSPバス
及びホスト・プロセッサ・バスとインタフェースするD
MA制御装置ハードウェアにより、順次アクセスされ、
実行される。DMAプロセッサはパケット要求の区分リ
スト内の1区分の全内容を一定の時間間隔でアクセス及
び処理する。この時間間隔はホスト・プロセッサで実行
される選択可能なユーザ・タスクの最大要求に関連す
る。例えば、立体音響CDプレーヤから録音再生用のデ
ィジタル音楽サンプル処理を支援するためには、882
00個の16ビット・サンプルが信号プロセッサに転送
され、処理され、ディジタル−アナログ変換器或いはホ
スト・プロセッサに毎秒一定の周期で提供される必要が
ある。
【0013】
【実施例】本発明の実施例を図を参照しながら説明す
る。しかしながら、初めに、遭遇する問題について触
れ、更に本発明のシステム及びDMAパケット制御装置
機構により提供される効果及び改善について説明する。
る。しかしながら、初めに、遭遇する問題について触
れ、更に本発明のシステム及びDMAパケット制御装置
機構により提供される効果及び改善について説明する。
【0014】ディジタル信号プロセッサ・サブシステム
(DSP)に対するデータの流れの管理に関し、上述の
ように、潜在的に膨大な負荷がDSPに課せられる。例
として、多くのPCのコアを形成する市販のプロセッサ
であるモトローラ68030などの現行のコンピュータ
について考えてみよう。典型的なDSPはモトローラ5
6000PCプロセッサであり、これはプロセッサのプ
レーナ・ボード上で実行される。DSP 56000と
ホスト・プロセッサ68030との間にはDMAパスが
存在する。しかし、DMAハードウェアは単にホスト・
プロセッサ68030を解放するだけで、DSP 56
000の機能の改善には関与しない。ホスト・プロセッ
サ68030とDSP 56000間で転送される各ワ
ードに対して、ホスト・プロセッサ68030には短時
間の割込みが発生する。割込みの間、ホスト・プロセッ
サのバスはDMA装置に提供され、DMA装置はワード
・データ或いは信号サンプルを転送する。しかし、一旦
ワードがDSPにより獲得されると、DSPは実際に中
断される。DSPはその時、実行中の作業を停止し、デ
ータ・ワードを割込みハンドラを介して自己のメモリに
転送しなければならない。
(DSP)に対するデータの流れの管理に関し、上述の
ように、潜在的に膨大な負荷がDSPに課せられる。例
として、多くのPCのコアを形成する市販のプロセッサ
であるモトローラ68030などの現行のコンピュータ
について考えてみよう。典型的なDSPはモトローラ5
6000PCプロセッサであり、これはプロセッサのプ
レーナ・ボード上で実行される。DSP 56000と
ホスト・プロセッサ68030との間にはDMAパスが
存在する。しかし、DMAハードウェアは単にホスト・
プロセッサ68030を解放するだけで、DSP 56
000の機能の改善には関与しない。ホスト・プロセッ
サ68030とDSP 56000間で転送される各ワ
ードに対して、ホスト・プロセッサ68030には短時
間の割込みが発生する。割込みの間、ホスト・プロセッ
サのバスはDMA装置に提供され、DMA装置はワード
・データ或いは信号サンプルを転送する。しかし、一旦
ワードがDSPにより獲得されると、DSPは実際に中
断される。DSPはその時、実行中の作業を停止し、デ
ータ・ワードを割込みハンドラを介して自己のメモリに
転送しなければならない。
【0015】これを実行するのに必要なDSPプロセッ
サ・サイクル数は、約10サイクルである。DSP 5
6000における3フェーズ・パイプラインにより、約
1サイクルの損失が生じ、更に2乃至3サイクルがいく
つかのレジスタの内容を保管するために必要とされ、そ
の他、数プロセッサ・サイクルがDSPメモリ及びモジ
ュロ・カウンタ・インデックス制御に対するインデック
ス・ポインタを設定するために必要となる。更に、数プ
ロセッサ・サイクルがDSPマシン・ステートを復元
し、割り込まれたタスクに復帰するために必要とされ
る。これらを合計すると、約10プロセッサ・サイクル
が、単一のワード・データ或いはサンプルをDSPとの
間で転送するために必要とされる。このDSPは前述の
米国特許第4794517号で説明されているタイプの
ものであり、3フェーズ・パイプラインDSPアーキテ
クチャと称される。
サ・サイクル数は、約10サイクルである。DSP 5
6000における3フェーズ・パイプラインにより、約
1サイクルの損失が生じ、更に2乃至3サイクルがいく
つかのレジスタの内容を保管するために必要とされ、そ
の他、数プロセッサ・サイクルがDSPメモリ及びモジ
ュロ・カウンタ・インデックス制御に対するインデック
ス・ポインタを設定するために必要となる。更に、数プ
ロセッサ・サイクルがDSPマシン・ステートを復元
し、割り込まれたタスクに復帰するために必要とされ
る。これらを合計すると、約10プロセッサ・サイクル
が、単一のワード・データ或いはサンプルをDSPとの
間で転送するために必要とされる。このDSPは前述の
米国特許第4794517号で説明されているタイプの
ものであり、3フェーズ・パイプラインDSPアーキテ
クチャと称される。
【0016】本発明はDMAパケット・マシンすなわち
効率よくデータ転送を行うプログラム式機構を使用する
改善されたマルチメディア・システムを提供する。DM
A転送はDMA機構によってではなく、DSPによるソ
フトウェア要求により開始される。DMA機構は制御装
置及びアービタから成り、時間ウィンドウ内でDSPか
ら保証されたサービスを受ける。この時間ウィンドウは
反復され、ホスト・プロセッサの複数のタスク・メニュ
ーにおいて支援されるべき最も高い要求を出すタスクに
より決る長さを有する。例えば、726マイクロ秒の時
間ウィンドウは、録音再生用に平均毎726マイクロ秒
当たり、典型的に88200個のディジタル立体音響サ
ンプルを支援するために必要な32ビット(フル・ワー
ド)・サンプルに適応できる。DSPの典型的なオペレ
ーション・スピードにおいて、100以上のこうした3
2ビットのパケットが、726マイクロ秒の時間間隔内
に処理可能である。これはすなわち、多重処理ホスト・
システムにおけるタスクと、DSPサブシステムにおい
て実行されるオペレーションとの間で、データ・フロー
用に100以上のトランザクション或いは通信チャネル
が提供可能であることを意味する。
効率よくデータ転送を行うプログラム式機構を使用する
改善されたマルチメディア・システムを提供する。DM
A転送はDMA機構によってではなく、DSPによるソ
フトウェア要求により開始される。DMA機構は制御装
置及びアービタから成り、時間ウィンドウ内でDSPか
ら保証されたサービスを受ける。この時間ウィンドウは
反復され、ホスト・プロセッサの複数のタスク・メニュ
ーにおいて支援されるべき最も高い要求を出すタスクに
より決る長さを有する。例えば、726マイクロ秒の時
間ウィンドウは、録音再生用に平均毎726マイクロ秒
当たり、典型的に88200個のディジタル立体音響サ
ンプルを支援するために必要な32ビット(フル・ワー
ド)・サンプルに適応できる。DSPの典型的なオペレ
ーション・スピードにおいて、100以上のこうした3
2ビットのパケットが、726マイクロ秒の時間間隔内
に処理可能である。これはすなわち、多重処理ホスト・
システムにおけるタスクと、DSPサブシステムにおい
て実行されるオペレーションとの間で、データ・フロー
用に100以上のトランザクション或いは通信チャネル
が提供可能であることを意味する。
【0017】DMA制御装置が、サービスを要求するD
SPタスクによって区分キュー内に配置されるパケット
転送要求を読み出すと、DMAアービタ及び制御装置は
ホスト・システム・バスに対して調停を行う。ホスト・
システム・バスとしては、IBMパーソナル・システム
/2マイクロチャネル或いは同等のホスト・バスが対応
する。DSPにより配置される要求に対し、バスに対す
るアクセス権がホスト・システムによりDMA制御装置
及びアービタに与えられると、最大16バイト(バッフ
ァ・サイズに依存)のデータが最初にDMA制御装置内
の先入れ先出し方式(FIFO)レジスタ・バッファに
転送される。これらのバイトが先入れ先出し方式内に入
力されると、DMAアービタ及び制御装置はローカルD
SPデータ・バスの調停を行い、権利が与えられると、
16ビット・ワードを1ワード転送し、バス要求を落と
す。このワードはDSPのメモリに転送され、DSPプ
ロセッサは1バス・サイクルの間停止状態となる。この
ように転送される各ワードに対して、DSPにおける処
理には1サイクルを費やす。DMA制御装置及びアービ
タは、DMA制御装置内の先入れ先出し方式の全ての内
容が空状態になるまでローカル・バスの調停を継続す
る。DMA制御装置は、次に、更にデータ転送のために
ホスト・システム・バスに対し、新たな要求を行う。
SPタスクによって区分キュー内に配置されるパケット
転送要求を読み出すと、DMAアービタ及び制御装置は
ホスト・システム・バスに対して調停を行う。ホスト・
システム・バスとしては、IBMパーソナル・システム
/2マイクロチャネル或いは同等のホスト・バスが対応
する。DSPにより配置される要求に対し、バスに対す
るアクセス権がホスト・システムによりDMA制御装置
及びアービタに与えられると、最大16バイト(バッフ
ァ・サイズに依存)のデータが最初にDMA制御装置内
の先入れ先出し方式(FIFO)レジスタ・バッファに
転送される。これらのバイトが先入れ先出し方式内に入
力されると、DMAアービタ及び制御装置はローカルD
SPデータ・バスの調停を行い、権利が与えられると、
16ビット・ワードを1ワード転送し、バス要求を落と
す。このワードはDSPのメモリに転送され、DSPプ
ロセッサは1バス・サイクルの間停止状態となる。この
ように転送される各ワードに対して、DSPにおける処
理には1サイクルを費やす。DMA制御装置及びアービ
タは、DMA制御装置内の先入れ先出し方式の全ての内
容が空状態になるまでローカル・バスの調停を継続す
る。DMA制御装置は、次に、更にデータ転送のために
ホスト・システム・バスに対し、新たな要求を行う。
【0018】システム・バス或いはDSPバスの調停の
ための処理は、専用のプログラム式ハードウェア、及び
DMAアービタ及び制御装置で実施されるような処理に
より、より効率的に行われる。DMA制御装置のパケッ
ト・リストの処理能力は、ホスト・システム・バス及び
DSPバスの両者の効率的な使用を可能とする。前述の
従来技術による設計を思い起こすと、平均10DSPサ
イクル中9サイクルの節約が、この設計により実現され
る。
ための処理は、専用のプログラム式ハードウェア、及び
DMAアービタ及び制御装置で実施されるような処理に
より、より効率的に行われる。DMA制御装置のパケッ
ト・リストの処理能力は、ホスト・システム・バス及び
DSPバスの両者の効率的な使用を可能とする。前述の
従来技術による設計を思い起こすと、平均10DSPサ
イクル中9サイクルの節約が、この設計により実現され
る。
【0019】例えば、立体音響CD音楽を支援する前述
のステレオ高忠実信号処理タスクに関し、毎秒標準88
200個の16ビット・ディジタル・サンプルを演奏し
なければならない。これはホスト・システム・プロセッ
サとの間で、毎秒88200ワードのデータ転送を要求
する。ホスト・システム・プロセッサはCDディスクを
読出し、読出しサンプルをDSPに転送し、処理された
音響サンプルをDSPから受信し、これらをアナログ統
合音響セグメントに毎秒88200の割合で再生する。
前述の従来技術によるマシン及びシステムでは、このオ
ペレーションだけで88200ワード/秒x10サイク
ル/ワード、すなわち882000サイクル/秒のDS
Pサイクルの実行能力を要した。これに対し本発明の実
施例では、従来の10分の1に相当する88200DS
Pサイクルが要求されるだけである。
のステレオ高忠実信号処理タスクに関し、毎秒標準88
200個の16ビット・ディジタル・サンプルを演奏し
なければならない。これはホスト・システム・プロセッ
サとの間で、毎秒88200ワードのデータ転送を要求
する。ホスト・システム・プロセッサはCDディスクを
読出し、読出しサンプルをDSPに転送し、処理された
音響サンプルをDSPから受信し、これらをアナログ統
合音響セグメントに毎秒88200の割合で再生する。
前述の従来技術によるマシン及びシステムでは、このオ
ペレーションだけで88200ワード/秒x10サイク
ル/ワード、すなわち882000サイクル/秒のDS
Pサイクルの実行能力を要した。これに対し本発明の実
施例では、従来の10分の1に相当する88200DS
Pサイクルが要求されるだけである。
【0020】DMAアービタ制御装置及びリスト・プロ
セッサ・システムの例に関し、音声認識タスク及びステ
レオ高忠実CD音響再生タスクがホスト・プロセッサに
おいてユーザに選択され、同時に実行され、これらを支
援するDSP機能が要求されるものとする。音声認識タ
スクは約2つのDMAチャネルをオペレーションのため
に必要とし、これは一方が入力用で他方が出力用であ
り、各々は約256ワード/チャネルのピーク・レート
を有する。CD音楽タスクは1つのDMAチャネルを要
し、そのピーク・レートは約64ワード/チャネルであ
る。CD音響タスクが実行され、サンプルに対する信号
処理タスクがDSPにおいて実行される度に、DSPは
更に64ワードのデータをホスト・システム・プロセッ
サ・メモリからDSPメモリに転送しなければならな
い。このために、DSPはDMA要求のためのオペレー
ティング・サービス・ルーチンを実行の度に呼出す。各
呼出しに対し、DSPはアクセスされる次のシステム・
プロセッサ・アドレス、及び次の内部メモリ・アドレ
ス、及び取り出される64ワードが記憶される開始カウ
ントを提供する。音声認識タスクがDSPにおいて実行
される度に、DSPはDSPのDMA要求サービス・ル
ーチンを2度呼出す。各要求はホスト・システムにおい
て特定のシステム・アドレスを有し、そこから情報が引
き出され、或いはそのアドレスに対して情報が転送さ
れ、また特定のDSPメモリ・アドレスを有し、そこに
サンプルが記憶され、或いはそこからサンプルが取り出
される。DSPはその反復タスクがDSPにおいて実行
される度に、2つの認識テンプレートをダウンロードす
る。各テンプレートは約256ワード長を有する。
セッサ・システムの例に関し、音声認識タスク及びステ
レオ高忠実CD音響再生タスクがホスト・プロセッサに
おいてユーザに選択され、同時に実行され、これらを支
援するDSP機能が要求されるものとする。音声認識タ
スクは約2つのDMAチャネルをオペレーションのため
に必要とし、これは一方が入力用で他方が出力用であ
り、各々は約256ワード/チャネルのピーク・レート
を有する。CD音楽タスクは1つのDMAチャネルを要
し、そのピーク・レートは約64ワード/チャネルであ
る。CD音響タスクが実行され、サンプルに対する信号
処理タスクがDSPにおいて実行される度に、DSPは
更に64ワードのデータをホスト・システム・プロセッ
サ・メモリからDSPメモリに転送しなければならな
い。このために、DSPはDMA要求のためのオペレー
ティング・サービス・ルーチンを実行の度に呼出す。各
呼出しに対し、DSPはアクセスされる次のシステム・
プロセッサ・アドレス、及び次の内部メモリ・アドレ
ス、及び取り出される64ワードが記憶される開始カウ
ントを提供する。音声認識タスクがDSPにおいて実行
される度に、DSPはDSPのDMA要求サービス・ル
ーチンを2度呼出す。各要求はホスト・システムにおい
て特定のシステム・アドレスを有し、そこから情報が引
き出され、或いはそのアドレスに対して情報が転送さ
れ、また特定のDSPメモリ・アドレスを有し、そこに
サンプルが記憶され、或いはそこからサンプルが取り出
される。DSPはその反復タスクがDSPにおいて実行
される度に、2つの認識テンプレートをダウンロードす
る。各テンプレートは約256ワード長を有する。
【0021】CDタスクのための単一の要求と音声認識
タスクのための2つの要求により代表される3つのDM
A要求が、発生時にDSPにより区分キュー内に配置さ
れる。例として、音声認識タスクが開始され、その最初
の要求を配置し、次に割込みが発生し、一方で、DSP
におけるCDタスクが制御され、そのDMA要求が配置
される。CDタスク要求が実行された後、音声認識タス
クが再スタートされ、第2のDMA要求を配置する。D
SPにより区分キューが生成される時間間隔に相当する
726マイクロ秒の間に、これらの3つの要求だけが配
置されるだけであれば、これらの要求はキュー内に配置
される間にDMA制御装置によりサービスされない。1
378Hzのクロック(1/726マイクロ秒)の次の
割込みにおいて、前の726マイクロ秒の間に配置され
た次のDMA要求パケットのグループが、DMA制御装
置及びアービタによりアクセスされ、処理される。
タスクのための2つの要求により代表される3つのDM
A要求が、発生時にDSPにより区分キュー内に配置さ
れる。例として、音声認識タスクが開始され、その最初
の要求を配置し、次に割込みが発生し、一方で、DSP
におけるCDタスクが制御され、そのDMA要求が配置
される。CDタスク要求が実行された後、音声認識タス
クが再スタートされ、第2のDMA要求を配置する。D
SPにより区分キューが生成される時間間隔に相当する
726マイクロ秒の間に、これらの3つの要求だけが配
置されるだけであれば、これらの要求はキュー内に配置
される間にDMA制御装置によりサービスされない。1
378Hzのクロック(1/726マイクロ秒)の次の
割込みにおいて、前の726マイクロ秒の間に配置され
た次のDMA要求パケットのグループが、DMA制御装
置及びアービタによりアクセスされ、処理される。
【0022】この例では、DMA制御装置アービタは、
最初に、音声認識タスクのために256ワードの転送を
要求するパケット要求を発見する。そして指示された制
御ワードをパケット要求からロードし、転送するワード
数を確認し、モジュロ・アドレス制御境界をロードす
る。次にホスト・システム・メモリ・アドレスとDSP
メモリ・アドレスを読出し、ホスト・メモリ・バスの調
停を行う。ホスト・メモリ・バスの権利を受け取ると、
DMA制御装置及びプロセッサは、多数バイト(本実施
例では16バイト)のデータをホスト・システム・プロ
セッサ・メモリから自己の内部バッファにバースト転送
する。次にDSPバスの調停を行い、権利を受ける度
に、DMAパケット制御要求から読み出すDSP開始メ
モリ・アドレスに従い、別のワードをDSPメモリに書
き込む。全ての16バイトが書き込まれると、再びホス
ト・システム・メモリ・バスの調停を行う。この処理は
全ての256ワードが転送されるまで継続される。次に
DMAマシンはDMAパケット転送要求リスト内の次の
パケットを読み出す。本実施例では、これはCDタスク
・パケットに相当する。このパケット用に、64ワード
が前述と同じオペレーションにより転送される。全ての
64ワードが転送されると、DMAアービタ及び制御装
置は、次のパケット転送要求である音声認識タスクの第
2のパケットをアクセスし、これを同様に処理した後、
もはやパケットが存在しないことを確認して、726マ
イクロ秒の時間ウィンドウが経過するまで"待機状態"に
入る。現行の726マイクロ秒ウィンドウの間に、DS
Pにより生成される区分キュー内にDMAパケット要求
がもはや到来しない場合、これらは次回のウィンドウま
でサービスされない。
最初に、音声認識タスクのために256ワードの転送を
要求するパケット要求を発見する。そして指示された制
御ワードをパケット要求からロードし、転送するワード
数を確認し、モジュロ・アドレス制御境界をロードす
る。次にホスト・システム・メモリ・アドレスとDSP
メモリ・アドレスを読出し、ホスト・メモリ・バスの調
停を行う。ホスト・メモリ・バスの権利を受け取ると、
DMA制御装置及びプロセッサは、多数バイト(本実施
例では16バイト)のデータをホスト・システム・プロ
セッサ・メモリから自己の内部バッファにバースト転送
する。次にDSPバスの調停を行い、権利を受ける度
に、DMAパケット制御要求から読み出すDSP開始メ
モリ・アドレスに従い、別のワードをDSPメモリに書
き込む。全ての16バイトが書き込まれると、再びホス
ト・システム・メモリ・バスの調停を行う。この処理は
全ての256ワードが転送されるまで継続される。次に
DMAマシンはDMAパケット転送要求リスト内の次の
パケットを読み出す。本実施例では、これはCDタスク
・パケットに相当する。このパケット用に、64ワード
が前述と同じオペレーションにより転送される。全ての
64ワードが転送されると、DMAアービタ及び制御装
置は、次のパケット転送要求である音声認識タスクの第
2のパケットをアクセスし、これを同様に処理した後、
もはやパケットが存在しないことを確認して、726マ
イクロ秒の時間ウィンドウが経過するまで"待機状態"に
入る。現行の726マイクロ秒ウィンドウの間に、DS
Pにより生成される区分キュー内にDMAパケット要求
がもはや到来しない場合、これらは次回のウィンドウま
でサービスされない。
【0023】図1を参照すると、この種の処理の全体的
な動作フローが簡単に示されており、図のボックス1で
開始され、ホストPCのユーザはPCで実行されるアプ
リケーション・プログラム要求を呼出すか、或いは選択
することによりオペレーションを開始し、これらは当然
のことながらディジタル信号処理タスクを含む。例とし
て、高忠実音響再生、音声認識、モデム・データ転送及
びファクシミリ・データ機能、動画ビデオ、音声合成、
或いはマルチメディア環境における他の種々のアプリケ
ーションが存在し、これらは当業者にはよく理解されて
いるところである。
な動作フローが簡単に示されており、図のボックス1で
開始され、ホストPCのユーザはPCで実行されるアプ
リケーション・プログラム要求を呼出すか、或いは選択
することによりオペレーションを開始し、これらは当然
のことながらディジタル信号処理タスクを含む。例とし
て、高忠実音響再生、音声認識、モデム・データ転送及
びファクシミリ・データ機能、動画ビデオ、音声合成、
或いはマルチメディア環境における他の種々のアプリケ
ーションが存在し、これらは当業者にはよく理解されて
いるところである。
【0024】ホストPCはDSPのオペレーティング・
システムに要求されるタスクの識別を転送することによ
り、実行すべきDSPタスクを要求する。
システムに要求されるタスクの識別を転送することによ
り、実行すべきDSPタスクを要求する。
【0025】ボックス3で、DSPオペレーティング・
システムは活動状態のタスク要求から区分パケット・リ
ストを生成し、繰返し時間間隔で要求区分を終了する。
図13はDSPのパケット・リスト生成オペレーション
に関するハイレベルな処理フローを示す。上述の実施例
では、これらの"リストの終了"(E.O.L)が726マ
イクロ秒ごとに発生する。
システムは活動状態のタスク要求から区分パケット・リ
ストを生成し、繰返し時間間隔で要求区分を終了する。
図13はDSPのパケット・リスト生成オペレーション
に関するハイレベルな処理フローを示す。上述の実施例
では、これらの"リストの終了"(E.O.L)が726マ
イクロ秒ごとに発生する。
【0026】DSPはボックス4で示されるように、プ
ロセッサ間DMA制御装置を726マイクロ秒のクロッ
ク・レートで歩調合わせ或いは同期させ、活動状態のタ
スクを実行するために、ボックス11で示されるように
区分パケット要求リストを生成し続ける。活動状態のタ
スクはDSPにおいて実行中であるか、或いはPCから
来る新たなユーザ要求により要求される。
ロセッサ間DMA制御装置を726マイクロ秒のクロッ
ク・レートで歩調合わせ或いは同期させ、活動状態のタ
スクを実行するために、ボックス11で示されるように
区分パケット要求リストを生成し続ける。活動状態のタ
スクはDSPにおいて実行中であるか、或いはPCから
来る新たなユーザ要求により要求される。
【0027】ボックス5では、プロセッサ間DMA制御
装置は726マイクロ秒の時間間隔を生成する同期クロ
ック信号をDSPから受信する。ボックス6では、プロ
セッサ間DMA制御装置は、DSPにより生成されるD
MA要求パケット・リストの区分からパケット・リスト
の読出しを開始する。DMA制御装置は、ボックス7
で、要求されるパケット転送に適合するように、システ
ム・バス或いはDSPデータ・バス或いはメモリ・バス
の調停を行う。そしてボックス8で、適切なバスをアク
セスするためのバスの権利を受け取り、次にボックス9
でDMAバッファとの間で多数のパケットを送信或いは
受信し、ボックス9とボックス7の連結により示される
ように、システム・バス或いはDSPバスのアクセスの
ための再調停を行い、これはボックス10で全ての転送
が完了するまで繰り返される。
装置は726マイクロ秒の時間間隔を生成する同期クロ
ック信号をDSPから受信する。ボックス6では、プロ
セッサ間DMA制御装置は、DSPにより生成されるD
MA要求パケット・リストの区分からパケット・リスト
の読出しを開始する。DMA制御装置は、ボックス7
で、要求されるパケット転送に適合するように、システ
ム・バス或いはDSPデータ・バス或いはメモリ・バス
の調停を行う。そしてボックス8で、適切なバスをアク
セスするためのバスの権利を受け取り、次にボックス9
でDMAバッファとの間で多数のパケットを送信或いは
受信し、ボックス9とボックス7の連結により示される
ように、システム・バス或いはDSPバスのアクセスの
ための再調停を行い、これはボックス10で全ての転送
が完了するまで繰り返される。
【0028】図1のフローの簡単な説明から明らかなよ
うに、ホスト・システムによる(或いはDSPが十分な
能力を有する場合にはDSPによる、もしくは所望の補
助プロセッサによる)管理の実行により、DSPタスク
要求は全て最小時間間隔内、例えば726マイクロ秒以
内に処理されねばならず、これが満足されない場合に
は、更に要求を出すユーザ・タスクはハード的実時間内
に充足されることが不可能となる。この要求を満足する
ために、本実施例ではホスト・プロセッサにおいて、D
SPのリソース管理及び割振り方法が提供される。こう
した管理及び割振り機能が図7で示され、これらはDS
P或いは補助プロセッサにより実行される。これについ
ては後に説明する。
うに、ホスト・システムによる(或いはDSPが十分な
能力を有する場合にはDSPによる、もしくは所望の補
助プロセッサによる)管理の実行により、DSPタスク
要求は全て最小時間間隔内、例えば726マイクロ秒以
内に処理されねばならず、これが満足されない場合に
は、更に要求を出すユーザ・タスクはハード的実時間内
に充足されることが不可能となる。この要求を満足する
ために、本実施例ではホスト・プロセッサにおいて、D
SPのリソース管理及び割振り方法が提供される。こう
した管理及び割振り機能が図7で示され、これらはDS
P或いは補助プロセッサにより実行される。これについ
ては後に説明する。
【0029】リソース管理及び割振り機能は、ユーザに
より呼び出されるタスクによってDSPに提供される綜
合負荷を考慮する。この負荷は綜合的に利用可能なDM
Aバイト転送バンド幅、パケット・リスト長、及び利用
可能なDSPリソース・パワー或いはスピードに関して
測定される。スピードに関しては、DSP実行サイクル
において、100万命令/秒(MIPS)の単位で測定
される。この管理及び割振り機能により、726マイク
ロ秒間隔ごとに、要求される全てのDSPタスクに対
し、十分な信号プロセッサ・リソースが利用可能とな
り、各DSPタスクの実時間DMA要求が保証される。
より呼び出されるタスクによってDSPに提供される綜
合負荷を考慮する。この負荷は綜合的に利用可能なDM
Aバイト転送バンド幅、パケット・リスト長、及び利用
可能なDSPリソース・パワー或いはスピードに関して
測定される。スピードに関しては、DSP実行サイクル
において、100万命令/秒(MIPS)の単位で測定
される。この管理及び割振り機能により、726マイク
ロ秒間隔ごとに、要求される全てのDSPタスクに対
し、十分な信号プロセッサ・リソースが利用可能とな
り、各DSPタスクの実時間DMA要求が保証される。
【0030】綜合的に利用可能なリソースは特定のシス
テム実施例における機能を意味し、すなわち、DSPの
MIPS単位スピード、DMA機構のバンド幅転送能
力、及びDSPにより生成されるパケット転送要求リス
トにおける区分長が含まれる。実施例によってこれらは
全て可変であるが、1度具現化されると、所与のシステ
ムにおいて一定となる。DMAバンド幅は、ホスト・プ
ロセッサのバスのバンド幅、もしくはDSPの命令サイ
クル時間、もしくはDMA機構のハードウェアのバンド
幅の内の最小値により制限される。パケット・リストの
サイズは、前述のように、利用可能なDSPデータ記憶
容量及びDSP命令クロック・スピードにより制限され
る。
テム実施例における機能を意味し、すなわち、DSPの
MIPS単位スピード、DMA機構のバンド幅転送能
力、及びDSPにより生成されるパケット転送要求リス
トにおける区分長が含まれる。実施例によってこれらは
全て可変であるが、1度具現化されると、所与のシステ
ムにおいて一定となる。DMAバンド幅は、ホスト・プ
ロセッサのバスのバンド幅、もしくはDSPの命令サイ
クル時間、もしくはDMA機構のハードウェアのバンド
幅の内の最小値により制限される。パケット・リストの
サイズは、前述のように、利用可能なDSPデータ記憶
容量及びDSP命令クロック・スピードにより制限され
る。
【0031】リソース管理及び割振り機能を実施するた
めに、ホスト・システムにおける各ユーザ・タスクは綜
合DSPタスク・リソースの指示或いは宣言を含むこと
が要求され、これらのリソースには最大DMAバンド
幅、パケット・リスト長、及び呼出されるタスクにより
消費される最大DSP MIPS が含まれる。DSPタ
スクがホスト・システムのエンド・ユーザにより要求さ
れる際、図7のリソース管理及び割振り機能は、宣言さ
れるリソース要求をDSPにおいて要求されるDSPタ
スクに割り振る。全てのDSPタスク・リソース要求が
システムの制限内で満足されると、DSPタスクはDS
Pにロードされる。これはホスト・システムがDSPタ
スク要求を、DSPのオペレーティング・システムに配
置することによって行われる。十分なリソースが利用で
きない場合、ユーザにより配置されるDSPタスク要求
は拒否され、適切なユーザ・エラー・メッセージが提供
される。
めに、ホスト・システムにおける各ユーザ・タスクは綜
合DSPタスク・リソースの指示或いは宣言を含むこと
が要求され、これらのリソースには最大DMAバンド
幅、パケット・リスト長、及び呼出されるタスクにより
消費される最大DSP MIPS が含まれる。DSPタ
スクがホスト・システムのエンド・ユーザにより要求さ
れる際、図7のリソース管理及び割振り機能は、宣言さ
れるリソース要求をDSPにおいて要求されるDSPタ
スクに割り振る。全てのDSPタスク・リソース要求が
システムの制限内で満足されると、DSPタスクはDS
Pにロードされる。これはホスト・システムがDSPタ
スク要求を、DSPのオペレーティング・システムに配
置することによって行われる。十分なリソースが利用で
きない場合、ユーザにより配置されるDSPタスク要求
は拒否され、適切なユーザ・エラー・メッセージが提供
される。
【0032】図7で、オペレーションはユーザがPCに
おいて、例えば音声認識などのタスクを要求することに
より開始される。ホストPCにおける音声認識プログラ
ムが呼出され、これは要求に対応する適切なパラメータ
を含み、これらをDMAウィンドウ時間当たり最大ワー
ドでバンド幅上に配置する。ホストPCが要求する最大
DSP MIPS、及び、呼出す最大DSP メモリ記憶
域が、図7のボックス1で示されている。また、利用可
能な最大DSPリソースは、ユーザにより入力される
か、或いはシステムがDMA制御装置及びアービタ、及
びDSP内に存在するハードウェア符号化レジスタ(図
示せず)に問うことにより入力され、システムに知らさ
れる。これはボックス2で示される。
おいて、例えば音声認識などのタスクを要求することに
より開始される。ホストPCにおける音声認識プログラ
ムが呼出され、これは要求に対応する適切なパラメータ
を含み、これらをDMAウィンドウ時間当たり最大ワー
ドでバンド幅上に配置する。ホストPCが要求する最大
DSP MIPS、及び、呼出す最大DSP メモリ記憶
域が、図7のボックス1で示されている。また、利用可
能な最大DSPリソースは、ユーザにより入力される
か、或いはシステムがDMA制御装置及びアービタ、及
びDSP内に存在するハードウェア符号化レジスタ(図
示せず)に問うことにより入力され、システムに知らさ
れる。これはボックス2で示される。
【0033】ボックス3では、ユーザ・タスク要求の総
和すなわち綜合DMA要求が、現行活動状態の全タスク
また新たに要求されるタスクに対する要求を合計するこ
とにより形成される。この結果は、ボックス3で、最大
綜合DMAワード転送能力及び綜合DSPリソースと比
較される。ワード転送綜合要求が利用可能なリソースを
越える場合、タスクはボックス4で示されるようにロー
ドされず、ボックス5でユーザのタスク選択への復帰が
指示される。ユーザ・タスクの綜合DMA要求が超過し
ない場合は、システムはボックス6に移行し、ここで全
ての活動状態のユーザ・タスクの綜合DSP命令実行リ
ソースが、最大利用可能DSP MIPS と比較され
る。最大値を越える場合は、ボックス4及び5への復帰
で示されるように、新たなタスクはロードされない。し
かしながら、綜合DSP MIPS を越えない場合は、
システムはボックス7に移行し、全ての活動状態のユー
ザ・タスクの綜合DSP記憶要求の総和が計算され、最
大利用可能DSPデータ記憶(DS)サイズと比較され
る。
和すなわち綜合DMA要求が、現行活動状態の全タスク
また新たに要求されるタスクに対する要求を合計するこ
とにより形成される。この結果は、ボックス3で、最大
綜合DMAワード転送能力及び綜合DSPリソースと比
較される。ワード転送綜合要求が利用可能なリソースを
越える場合、タスクはボックス4で示されるようにロー
ドされず、ボックス5でユーザのタスク選択への復帰が
指示される。ユーザ・タスクの綜合DMA要求が超過し
ない場合は、システムはボックス6に移行し、ここで全
ての活動状態のユーザ・タスクの綜合DSP命令実行リ
ソースが、最大利用可能DSP MIPS と比較され
る。最大値を越える場合は、ボックス4及び5への復帰
で示されるように、新たなタスクはロードされない。し
かしながら、綜合DSP MIPS を越えない場合は、
システムはボックス7に移行し、全ての活動状態のユー
ザ・タスクの綜合DSP記憶要求の総和が計算され、最
大利用可能DSPデータ記憶(DS)サイズと比較され
る。
【0034】最大値を越えない場合、PCにおいてリソ
ース管理及び割振りを実行するDSP作業負荷管理処理
(これはDSP或いは補助プロセッサ内に存在する)は
ボックス8に移行し、DSPのオペレーティング・シス
テムに新たなユーザ選択タスクを開始するように通知
し、タスクをロードし、次にルーチンはボックス9で終
了する。
ース管理及び割振りを実行するDSP作業負荷管理処理
(これはDSP或いは補助プロセッサ内に存在する)は
ボックス8に移行し、DSPのオペレーティング・シス
テムに新たなユーザ選択タスクを開始するように通知
し、タスクをロードし、次にルーチンはボックス9で終
了する。
【0035】前述のように、DMAデータ・パケット転
送要求リストが、DSPのオペレーティング・システム
により、DSPのメモリ内に区分形式で生成される。D
SPタスク要求がDSPのオペレーティング・システム
に到来すると、オペレーティング・システムは要求タス
クの実行を支援するために必要なDMAデータ・パケッ
ト転送要求リストを生成する。パケット要求の形式は図
4に示される。
送要求リストが、DSPのオペレーティング・システム
により、DSPのメモリ内に区分形式で生成される。D
SPタスク要求がDSPのオペレーティング・システム
に到来すると、オペレーティング・システムは要求タス
クの実行を支援するために必要なDMAデータ・パケッ
ト転送要求リストを生成する。パケット要求の形式は図
4に示される。
【0036】図4で、5ワードのDMAパケット要求に
は、制御レジスタ1及び2に記憶される2つの制御ワー
ド、ホスト・システム・メモリ・アドレスを示す2ワー
ド(下位アドレス及び上位アドレス)、及び多数のワー
ド転送が開始されるロケーションを示すDSPメモリ・
アドレスに相当する1ワードを含む。制御レジスタの特
定の制御ワードの符号化が図4に示される。これらの制
御ワードは、後述されるように、プロセッサ間DMAア
ービタ及び制御装置により利用される。
は、制御レジスタ1及び2に記憶される2つの制御ワー
ド、ホスト・システム・メモリ・アドレスを示す2ワー
ド(下位アドレス及び上位アドレス)、及び多数のワー
ド転送が開始されるロケーションを示すDSPメモリ・
アドレスに相当する1ワードを含む。制御レジスタの特
定の制御ワードの符号化が図4に示される。これらの制
御ワードは、後述されるように、プロセッサ間DMAア
ービタ及び制御装置により利用される。
【0037】DSPのオペレーティング・システムはD
MAパケット転送要求リストをメモリ内に生成する。こ
のメモリはDSP内における循環バッファとして動作す
るようにアドレスされる。パケット要求リストは区分リ
ストであり、1つ或いは複数の個々のDMAパケット転
送要求のグループ及び"待機状態"の終了或いは "リスト
の終了" を示すマーカを含む。DSPメモリにおけるリ
ストの終了は開始ロケーションへ復帰するためのポイン
タを含み、"バッファ"は無限に横断される。バッファ構
成のために利用可能なDSPメモリは、少なくとも2つ
の完全なパケット要求リストを任意の時間において含む
だけの容量を必要とする。これはDMA制御装置ハード
ウェアが1つの要求リストの内容を処理する一方で、D
SPのオペレーティング・システムがそのリストの次の
区分の内容を構成するからである。
MAパケット転送要求リストをメモリ内に生成する。こ
のメモリはDSP内における循環バッファとして動作す
るようにアドレスされる。パケット要求リストは区分リ
ストであり、1つ或いは複数の個々のDMAパケット転
送要求のグループ及び"待機状態"の終了或いは "リスト
の終了" を示すマーカを含む。DSPメモリにおけるリ
ストの終了は開始ロケーションへ復帰するためのポイン
タを含み、"バッファ"は無限に横断される。バッファ構
成のために利用可能なDSPメモリは、少なくとも2つ
の完全なパケット要求リストを任意の時間において含む
だけの容量を必要とする。これはDMA制御装置ハード
ウェアが1つの要求リストの内容を処理する一方で、D
SPのオペレーティング・システムがそのリストの次の
区分の内容を構成するからである。
【0038】DSPのオペレーティング・システムは図
13に示すようにDMAパケット要求リストを構成し、
パケット要求を1つ1つ現行のパケット・リスト内容に
追加することによりデータを転送し、DSPにおける活
動状態のタスクは、処理のための新たな信号サンプルを
取り出すか、或いは処理されたサンプルを要求ユーザ・
タスクに戻すためにDMA要求を配置する。
13に示すようにDMAパケット要求リストを構成し、
パケット要求を1つ1つ現行のパケット・リスト内容に
追加することによりデータを転送し、DSPにおける活
動状態のタスクは、処理のための新たな信号サンプルを
取り出すか、或いは処理されたサンプルを要求ユーザ・
タスクに戻すためにDMA要求を配置する。
【0039】DSPにおける任意のタスク動作は、最初
に、内部的に指定されるDSPレジスタに、対象となる
出所アドレス、行先アドレス及び必要な制御情報をロー
ドし、次に、オペレーティング・システムを呼出すこと
により、DMAパケット転送を要求する。オペレーティ
ング・システムはこの要求を現行区分リスト内に生成中
のリストに追加する。DSPタスクは任意の時間におい
てパケット転送要求を出すことが可能である。こうした
要求はDMA制御マシンにおいて実行されるDMAアー
ビタ及び制御装置のリストの実行とは非同期である。D
MA制御マシンによるパケット・リストの実行は、DS
Pのオペレーティング・システムにより正確な時間間隔
で管理され、オペレーティング・システムは"待機パケ
ット"或いは"リスト終了マーカ"を、現行生成中のパケ
ット・リストの区分の終了におけるマーカとして配置す
る。実施例では、これらのマーカはメモリ内のキューに
事前に書き込まれ、キューがDMA装置により読み出さ
れる一定の時間間隔で発生する。正確な反復時間におい
て、DSPはDMA制御装置に対し、次に処理するパケ
ット転送要求リストの実行を継続するように伝える。待
機パケット (E.O.L)は、現行のリストの処理の終了に
際し、DMAハードウェアを停止するための手段或いは
マーカとして機能する。DSPにおけるタスクがDMA
パケット・データ転送要求を出し続けると、オペレーテ
ィング・システムはパケット・リスト内の次の区分の充
填を開始する。以前に参照されたモトローラ56000
などのDSPは業界でよく知られており、これらのオペ
レーティング・システムに関し、メモリ内に前述のリス
トを生成する機能については、当業者には理解されると
ころであり、ここで更に説明を加える必要はない。
に、内部的に指定されるDSPレジスタに、対象となる
出所アドレス、行先アドレス及び必要な制御情報をロー
ドし、次に、オペレーティング・システムを呼出すこと
により、DMAパケット転送を要求する。オペレーティ
ング・システムはこの要求を現行区分リスト内に生成中
のリストに追加する。DSPタスクは任意の時間におい
てパケット転送要求を出すことが可能である。こうした
要求はDMA制御マシンにおいて実行されるDMAアー
ビタ及び制御装置のリストの実行とは非同期である。D
MA制御マシンによるパケット・リストの実行は、DS
Pのオペレーティング・システムにより正確な時間間隔
で管理され、オペレーティング・システムは"待機パケ
ット"或いは"リスト終了マーカ"を、現行生成中のパケ
ット・リストの区分の終了におけるマーカとして配置す
る。実施例では、これらのマーカはメモリ内のキューに
事前に書き込まれ、キューがDMA装置により読み出さ
れる一定の時間間隔で発生する。正確な反復時間におい
て、DSPはDMA制御装置に対し、次に処理するパケ
ット転送要求リストの実行を継続するように伝える。待
機パケット (E.O.L)は、現行のリストの処理の終了に
際し、DMAハードウェアを停止するための手段或いは
マーカとして機能する。DSPにおけるタスクがDMA
パケット・データ転送要求を出し続けると、オペレーテ
ィング・システムはパケット・リスト内の次の区分の充
填を開始する。以前に参照されたモトローラ56000
などのDSPは業界でよく知られており、これらのオペ
レーティング・システムに関し、メモリ内に前述のリス
トを生成する機能については、当業者には理解されると
ころであり、ここで更に説明を加える必要はない。
【0040】図2を参照すると、前述のIBMパーソナ
ル・システム/2或いはモトローラ68030などの典
型的なホスト・システムからのパケット情報の物理的配
置及びデータの流れが示されており、それぞれのホスト
・システムのデータ及びアドレス・バスから、インテル
82325プログラマブル・マイクロチャネル/DMA
制御装置などのプロセッサ間DMA制御装置及びアービ
タへの経路が示されている。また、プロセッサ間DMA
アービタ及び制御装置から、IBMによる米国特許第4
794517号に示されるような典型的なDSPへのイ
ンタフェースが示されている。前記特許では、3フェー
ズ・パイプラインDSP或いは前述のモトローラ560
00が示されている。データ・パケットは、ホスト・シ
ステム・メモリとDMAアービタ及び制御装置内のバッ
ファとの間、及び、DMA制御装置内のバッファからD
SPメモリ・バスを介し、データ或いは命令用のDSP
メモリとの間で転送される。
ル・システム/2或いはモトローラ68030などの典
型的なホスト・システムからのパケット情報の物理的配
置及びデータの流れが示されており、それぞれのホスト
・システムのデータ及びアドレス・バスから、インテル
82325プログラマブル・マイクロチャネル/DMA
制御装置などのプロセッサ間DMA制御装置及びアービ
タへの経路が示されている。また、プロセッサ間DMA
アービタ及び制御装置から、IBMによる米国特許第4
794517号に示されるような典型的なDSPへのイ
ンタフェースが示されている。前記特許では、3フェー
ズ・パイプラインDSP或いは前述のモトローラ560
00が示されている。データ・パケットは、ホスト・シ
ステム・メモリとDMAアービタ及び制御装置内のバッ
ファとの間、及び、DMA制御装置内のバッファからD
SPメモリ・バスを介し、データ或いは命令用のDSP
メモリとの間で転送される。
【0041】上述の目的のために、インテル82325
チップなどの市販のプログラマブル・プロセッサ間DM
A/IOバス・マスタ制御装置及びアービタが利用され
る。これは"バス・マスタ"ハードウェアと称され、ホス
トPCデータ記憶或いはメモリとDSP命令或いはデー
タ記憶との間の要求データ・パケットの実際の転送を司
る。バス・マスタ制御装置は2つの主な機能機構に分け
られる。これらはパケット・リスト・プロセッサとDM
A転送ハンドラである。パケット・リスト・プロセッサ
は1間隔の開始に当たり、DSPのオペレーティング・
システムから "スタート" 同期信号を受信する。1間隔
は、例えば726マイクロ秒である。プロセッサはDS
Pのメモリ内に生成されるパケット・リストから区分の
読出しを開始し、最後に区分境界或いはマーカに相当す
る待機パケット要求に遭遇する。DSPメモリからのD
MAパケット要求内の制御及びアドレス情報は処理され
て、DMA転送ハンドラ機構に渡され、これは指定され
るDMA転送を実行する。
チップなどの市販のプログラマブル・プロセッサ間DM
A/IOバス・マスタ制御装置及びアービタが利用され
る。これは"バス・マスタ"ハードウェアと称され、ホス
トPCデータ記憶或いはメモリとDSP命令或いはデー
タ記憶との間の要求データ・パケットの実際の転送を司
る。バス・マスタ制御装置は2つの主な機能機構に分け
られる。これらはパケット・リスト・プロセッサとDM
A転送ハンドラである。パケット・リスト・プロセッサ
は1間隔の開始に当たり、DSPのオペレーティング・
システムから "スタート" 同期信号を受信する。1間隔
は、例えば726マイクロ秒である。プロセッサはDS
Pのメモリ内に生成されるパケット・リストから区分の
読出しを開始し、最後に区分境界或いはマーカに相当す
る待機パケット要求に遭遇する。DSPメモリからのD
MAパケット要求内の制御及びアドレス情報は処理され
て、DMA転送ハンドラ機構に渡され、これは指定され
るDMA転送を実行する。
【0042】パケット要求リスト内の制御及びアドレス
情報は処理されて、DMA機構の転送ハンドラに渡さ
れ、ハンドラは通常のバス・マスタによる駆動装置の場
合のように、指定されるDMA転送を実行する。処理
は"待機パケット"に再び遭遇するまで、パケット要求に
よりパケット要求を継続する。待機パケットはDMAバ
ス・マスタ・ハードウェアを停止し、パケット要求リス
ト区分の処理を終了する。
情報は処理されて、DMA機構の転送ハンドラに渡さ
れ、ハンドラは通常のバス・マスタによる駆動装置の場
合のように、指定されるDMA転送を実行する。処理
は"待機パケット"に再び遭遇するまで、パケット要求に
よりパケット要求を継続する。待機パケットはDMAバ
ス・マスタ・ハードウェアを停止し、パケット要求リス
ト区分の処理を終了する。
【0043】PC上でDSPを利用し、音声認識機能及
び高忠実CD音楽再生機能を実行したい前述のユーザの
例について再び考えてみる。最初にユーザは音声認識及
び高忠実機能を要求する。これは適切なアイコンをマウ
ス或いはカーソル或いは他のPCにおける手段を介して
選択することにより達成される。この選択は適切なDS
Pタスクをロードする要求を促す。この要求は図7に示
す処理を通じ、最初に、適量なDSPリソース及びDM
Aバンド幅が利用可能であることを確認する。これらの
要求タスクが実際にロードされる前に、リソース管理及
び割振り機能が呼出され(本実施例のホストPCにおい
て)、ユーザにより呼出される要求タスクにより宣言さ
れるDSPタスク要求を満足するために十分なリソース
が存在することを確認する。図7に示すように十分なリ
ソースが存在する場合は、タスクはロードされ、機能は
DSPにおいてオペレーションを開始する。そうでない
場合は、適切なエラー・メッセージがユーザのホストP
Cにより生成され、ユーザに要求タスクがロードされな
いことを通知する。
び高忠実CD音楽再生機能を実行したい前述のユーザの
例について再び考えてみる。最初にユーザは音声認識及
び高忠実機能を要求する。これは適切なアイコンをマウ
ス或いはカーソル或いは他のPCにおける手段を介して
選択することにより達成される。この選択は適切なDS
Pタスクをロードする要求を促す。この要求は図7に示
す処理を通じ、最初に、適量なDSPリソース及びDM
Aバンド幅が利用可能であることを確認する。これらの
要求タスクが実際にロードされる前に、リソース管理及
び割振り機能が呼出され(本実施例のホストPCにおい
て)、ユーザにより呼出される要求タスクにより宣言さ
れるDSPタスク要求を満足するために十分なリソース
が存在することを確認する。図7に示すように十分なリ
ソースが存在する場合は、タスクはロードされ、機能は
DSPにおいてオペレーションを開始する。そうでない
場合は、適切なエラー・メッセージがユーザのホストP
Cにより生成され、ユーザに要求タスクがロードされな
いことを通知する。
【0044】本説明ではDSPのオペレーティング・シ
ステムは既に起動されており、新たに要求されるDSP
機能の受信以前に、DMA転送要求及び前に要求された
機能に対応するマーカをパケット・リスト・バッファに
配置し、毎(区分終了)時間間隔、例えば726マイク
ロ秒ごとに、DMA制御装置ハードウェアを起動或いは
クロック同期させる。前にタスクが要求されなかった場
合は、本実施例では、音声認識タスクは2つのDMAチ
ャネル及びピーク・レートが1チャネル当たり256ワ
ードのバンド幅の要求を宣言し、高忠実タスクはそのバ
ンド幅が64ワードのピークレートを有する1チャンネ
ルのDMAチャネルを宣言する。CDタスクがDSPに
おいて実行される度に、更に64ワードのデータをホス
ト・システム・プロセッサ・メモリからディジタル信号
サンプルの形式で転送することが要求される。このディ
ジタル信号サンプルは最初はCDディスクから読み出さ
れる。これらはホスト・システム・メモリからDSPメ
モリの循環"パケット・リスト"バッファに転送される。
このため、DSPはそのオペレーティング・システム・
サービス・ルーチンを呼出してDMA要求を配置し、こ
れはタスクが実行される度、すなわち64ワード・サン
プルが処理される度に実行される。各呼出の度に、DS
Pは書き込まれる或いは読み出される次のホスト・シス
テム・プロセッサ・メモリ・アドレス、及び64ワード
のカウントが開始される次のDSPバッファ・アドレス
を提供する。
ステムは既に起動されており、新たに要求されるDSP
機能の受信以前に、DMA転送要求及び前に要求された
機能に対応するマーカをパケット・リスト・バッファに
配置し、毎(区分終了)時間間隔、例えば726マイク
ロ秒ごとに、DMA制御装置ハードウェアを起動或いは
クロック同期させる。前にタスクが要求されなかった場
合は、本実施例では、音声認識タスクは2つのDMAチ
ャネル及びピーク・レートが1チャネル当たり256ワ
ードのバンド幅の要求を宣言し、高忠実タスクはそのバ
ンド幅が64ワードのピークレートを有する1チャンネ
ルのDMAチャネルを宣言する。CDタスクがDSPに
おいて実行される度に、更に64ワードのデータをホス
ト・システム・プロセッサ・メモリからディジタル信号
サンプルの形式で転送することが要求される。このディ
ジタル信号サンプルは最初はCDディスクから読み出さ
れる。これらはホスト・システム・メモリからDSPメ
モリの循環"パケット・リスト"バッファに転送される。
このため、DSPはそのオペレーティング・システム・
サービス・ルーチンを呼出してDMA要求を配置し、こ
れはタスクが実行される度、すなわち64ワード・サン
プルが処理される度に実行される。各呼出の度に、DS
Pは書き込まれる或いは読み出される次のホスト・シス
テム・プロセッサ・メモリ・アドレス、及び64ワード
のカウントが開始される次のDSPバッファ・アドレス
を提供する。
【0045】更に、DSPにおいて音声認識タスクが実
行される度に、DSPのオペレーティング・システムの
DMA要求サービスが呼び出される。各要求は特定のシ
ステム・アドレス及び特定のDSPバッファ・アドレス
を有する。後者は、毎回の実行の度に、2つの認識テン
プレートをホスト・システムからダウンロードするため
のアドレスである。各テンプレートは大抵の音声認識プ
ログラムにおいては256ワード長である。従って、合
計3つのDMA要求が発生し、順次、DSPのオペレー
ティング・システムによりDMAパケット要求リストに
書き込まれる。
行される度に、DSPのオペレーティング・システムの
DMA要求サービスが呼び出される。各要求は特定のシ
ステム・アドレス及び特定のDSPバッファ・アドレス
を有する。後者は、毎回の実行の度に、2つの認識テン
プレートをホスト・システムからダウンロードするため
のアドレスである。各テンプレートは大抵の音声認識プ
ログラムにおいては256ワード長である。従って、合
計3つのDMA要求が発生し、順次、DSPのオペレー
ティング・システムによりDMAパケット要求リストに
書き込まれる。
【0046】3つのDMAパケット転送要求はDMA制
御装置及びアービタによりサービスされ、これは区分マ
ーカの記入に続く726マイクロ秒の間に実施される。
マーカはDSPにより生成されるDMA転送要求リスト
・セグメントにおける待機状態或いは E.O.Lに相当す
る。次の時間周期の開始に、DSPのオペレーティング
・システムは、待機状態パケット要求を"終端マーカ"と
して、丁度構成したばかりのパケット・リストの区分内
に配置し、クロック信号或いは同期コマンドによりバス
・マスタDMAハードウェアを起動する。
御装置及びアービタによりサービスされ、これは区分マ
ーカの記入に続く726マイクロ秒の間に実施される。
マーカはDSPにより生成されるDMA転送要求リスト
・セグメントにおける待機状態或いは E.O.Lに相当す
る。次の時間周期の開始に、DSPのオペレーティング
・システムは、待機状態パケット要求を"終端マーカ"と
して、丁度構成したばかりのパケット・リストの区分内
に配置し、クロック信号或いは同期コマンドによりバス
・マスタDMAハードウェアを起動する。
【0047】バス・マスタDMAハードウェアはDSP
メモリをアクセスし、音声認識タスクに対する256ワ
ードの転送を要求するパケットを発見し、パケット要求
内に存在する制御ワードをロードし、転送ワード数及び
モジュロ・アドレス制御境界を確認する。次に、DMA
パケット転送要求からシステム・ホスト(PC)・プロ
セッサ・メモリ及びローカルDSPメモリ・アドレスを
読み出す。次に、PCマイクロチャネル或いは他のホス
ト・バスの一方に対するアクセスを調停し、バスへのア
クセス権が与えられると、数バイト(16バイト)のデ
ータをホスト・プロセッサ・メモリからDMAハードウ
ェア内のバッファ転送する。DMA制御装置は次にDS
Pメモリ・バスを調停し、アクセス権を受信する度に、
DMAパケット・リスト要求から読出したDSPメモリ
・アドレスに従い、DSPメモリに別のワードを書き込
む。この処理は前述のように、必要な全てのDMAパケ
ットが処理されるまで継続される。現行の726マイク
ロ秒間隔の間に、DSPオペレーティング・システムに
より更にDMAパケット要求が配置されるとしても、こ
れらは次の時間間隔の開始までサービスされない。処理
は全てのDSPタスクがホスト・システムのユーザによ
って終了されるまで繰り返し継続される。
メモリをアクセスし、音声認識タスクに対する256ワ
ードの転送を要求するパケットを発見し、パケット要求
内に存在する制御ワードをロードし、転送ワード数及び
モジュロ・アドレス制御境界を確認する。次に、DMA
パケット転送要求からシステム・ホスト(PC)・プロ
セッサ・メモリ及びローカルDSPメモリ・アドレスを
読み出す。次に、PCマイクロチャネル或いは他のホス
ト・バスの一方に対するアクセスを調停し、バスへのア
クセス権が与えられると、数バイト(16バイト)のデ
ータをホスト・プロセッサ・メモリからDMAハードウ
ェア内のバッファ転送する。DMA制御装置は次にDS
Pメモリ・バスを調停し、アクセス権を受信する度に、
DMAパケット・リスト要求から読出したDSPメモリ
・アドレスに従い、DSPメモリに別のワードを書き込
む。この処理は前述のように、必要な全てのDMAパケ
ットが処理されるまで継続される。現行の726マイク
ロ秒間隔の間に、DSPオペレーティング・システムに
より更にDMAパケット要求が配置されるとしても、こ
れらは次の時間間隔の開始までサービスされない。処理
は全てのDSPタスクがホスト・システムのユーザによ
って終了されるまで繰り返し継続される。
【0048】本設計において、DMAパケット転送要求
リストが、DSP及びDMAバンド幅割振り及び制御処
理(本実施例ではホストPCにおいて実施される)と共
同して、DMAプロセッサに対する基本クロック間隔の
2周期以内に、全てのDMAデータ・パケット転送要求
のサービス及び転送を保証することは評価に値する。こ
れにより、上述の実施例では、1時間間隔内にDSPオ
ペレーティング・システムによりDSPメモリに生成さ
れる区分リスト内の保留のDMA要求は、DMAマシン
によりアクセスされ、読み出され、次の726マイクロ
秒の時間間隔内に実行される。サンプルがホストPCの
メモリから取り出され、DSPメモリに転送されると、
これは726マイクロ秒の間に発生する。次の時間間隔
の間に、DSPはデータ・サンプルの処理、及び、処理
済みのサンプルをホスト・システムに戻すための新たな
DMAパケット要求の構成を開始する。これらの要求
は、現在、DMA制御装置及びアービタにより実行され
ているものに続くDMA要求リスト区分に配置される。
こうして、次の時間間隔において、DSPからホスト・
システム・プロセッサへDMA転送するための"終了サ
ンプル"が利用可能となり、全体の処理時間遅延は僅か
2DMA間隔となる。
リストが、DSP及びDMAバンド幅割振り及び制御処
理(本実施例ではホストPCにおいて実施される)と共
同して、DMAプロセッサに対する基本クロック間隔の
2周期以内に、全てのDMAデータ・パケット転送要求
のサービス及び転送を保証することは評価に値する。こ
れにより、上述の実施例では、1時間間隔内にDSPオ
ペレーティング・システムによりDSPメモリに生成さ
れる区分リスト内の保留のDMA要求は、DMAマシン
によりアクセスされ、読み出され、次の726マイクロ
秒の時間間隔内に実行される。サンプルがホストPCの
メモリから取り出され、DSPメモリに転送されると、
これは726マイクロ秒の間に発生する。次の時間間隔
の間に、DSPはデータ・サンプルの処理、及び、処理
済みのサンプルをホスト・システムに戻すための新たな
DMAパケット要求の構成を開始する。これらの要求
は、現在、DMA制御装置及びアービタにより実行され
ているものに続くDMA要求リスト区分に配置される。
こうして、次の時間間隔において、DSPからホスト・
システム・プロセッサへDMA転送するための"終了サ
ンプル"が利用可能となり、全体の処理時間遅延は僅か
2DMA間隔となる。
【0049】タスクにより要求される綜合DSPリソー
ス及び綜合DMAバンド幅が超過しない場合は、これと
同じ動作スピードが、全ての保留のタスク要求に適合す
る。これはホスト・システムPCにおいて動作する割振
り及び制御機構により保証される。これはDSPで実行
される実時間"ハード"タスクが、要求されるユーザ・タ
スクの要求に適合するように、十分なデータの受信もし
くは処理データの除去を保証されることを意味する。ホ
ストで実行される全てのタスクは、予め、パケット要求
により転送される最大ワード数、及びDSPにおける最
大要求命令処理MIPSを指定する必要があるので、ホ
ストPCのリソース割振り装置は、任意の瞬間における
綜合DMA転送要求リストの長さ、及び、能力を越える
危険性の存在を正確に把握し、新たなタスクの呼出を許
可しないようにする。
ス及び綜合DMAバンド幅が超過しない場合は、これと
同じ動作スピードが、全ての保留のタスク要求に適合す
る。これはホスト・システムPCにおいて動作する割振
り及び制御機構により保証される。これはDSPで実行
される実時間"ハード"タスクが、要求されるユーザ・タ
スクの要求に適合するように、十分なデータの受信もし
くは処理データの除去を保証されることを意味する。ホ
ストで実行される全てのタスクは、予め、パケット要求
により転送される最大ワード数、及びDSPにおける最
大要求命令処理MIPSを指定する必要があるので、ホ
ストPCのリソース割振り装置は、任意の瞬間における
綜合DMA転送要求リストの長さ、及び、能力を越える
危険性の存在を正確に把握し、新たなタスクの呼出を許
可しないようにする。
【0050】DMAアービタ及び制御装置はこのように
常にDSPのメモリからのDMAパケット転送要求を処
理する。これらの要求はDSPのメモリに、前の時間間
隔の間に、タスクにより配置されたものである。そし
て、DMAマシンが現行のDMA要求リストのその区分
に作用する間に、新たなDMAパケット転送要求がDS
Pメモリ内のDMAパケット要求キューの次の区分にア
クセスのために配置され、次の時間間隔においてDMA
機構によりアクセスされ、実行される。この設計によ
り、システム内の複数のDSPプロセッサへの簡単な移
行パスが提供される。各DSPプロセッサは、DSPバ
ス或いはホストPCバスに対するバス・マスタとして機
能する固有のDMAパケット転送実行ハードウェアを有
する。更に、全てのDSPがDMAマシンとして同じ割
込みタイミング・ソース・クロックを共用する場合、ホ
スト・システム・メモリは、DSP間においてデータ転
送を行うための単純な手段或いはバッファを提供でき
る。
常にDSPのメモリからのDMAパケット転送要求を処
理する。これらの要求はDSPのメモリに、前の時間間
隔の間に、タスクにより配置されたものである。そし
て、DMAマシンが現行のDMA要求リストのその区分
に作用する間に、新たなDMAパケット転送要求がDS
Pメモリ内のDMAパケット要求キューの次の区分にア
クセスのために配置され、次の時間間隔においてDMA
機構によりアクセスされ、実行される。この設計によ
り、システム内の複数のDSPプロセッサへの簡単な移
行パスが提供される。各DSPプロセッサは、DSPバ
ス或いはホストPCバスに対するバス・マスタとして機
能する固有のDMAパケット転送実行ハードウェアを有
する。更に、全てのDSPがDMAマシンとして同じ割
込みタイミング・ソース・クロックを共用する場合、ホ
スト・システム・メモリは、DSP間においてデータ転
送を行うための単純な手段或いはバッファを提供でき
る。
【0051】このようにDMAパケット要求実行アービ
タ及び制御装置は、ホスト・プロセッサとDSP間、或
いは複数のDSPと全ての様々なプロセッサにおいて実
行されるタスクとの間で、大量の通信チャネル或いは要
求を処理する際の問題を解決する。100個のDMAハ
ードウェア装置、或いは25個の4チャネルDMAハー
ドウェア装置などのハードウェアだけを利用し、100
チャネル以上のDMAを実現しようとすると、高価なシ
ステムとなり、ほとんど調停及び制御が不可能となる。
DMA制御装置、アービタ及びリスト・プロセッサは、
100DMAチャネル間の調停を不要とする。なぜな
ら、これらは全て繰返し時間間隔において順次的に処理
を実行するように、個々のバス・アービトレーション、
譲渡及びデータ転送バーストにより時間的にマルチプレ
クスされ、これらは規定された時間間隔内に保証され
る。
タ及び制御装置は、ホスト・プロセッサとDSP間、或
いは複数のDSPと全ての様々なプロセッサにおいて実
行されるタスクとの間で、大量の通信チャネル或いは要
求を処理する際の問題を解決する。100個のDMAハ
ードウェア装置、或いは25個の4チャネルDMAハー
ドウェア装置などのハードウェアだけを利用し、100
チャネル以上のDMAを実現しようとすると、高価なシ
ステムとなり、ほとんど調停及び制御が不可能となる。
DMA制御装置、アービタ及びリスト・プロセッサは、
100DMAチャネル間の調停を不要とする。なぜな
ら、これらは全て繰返し時間間隔において順次的に処理
を実行するように、個々のバス・アービトレーション、
譲渡及びデータ転送バーストにより時間的にマルチプレ
クスされ、これらは規定された時間間隔内に保証され
る。
【0052】前述の説明から明らかなように、プロセッ
サ間DMA入出力バス・マスタ制御装置及びアービタ
は、図2に示されるシステムにおける重要な要素であ
る。図3を参照すると、全体的なデータの流れ及びこう
したアービタ及び制御装置のハードウェアの主な制御が
示されている。こうした制御装置は市販されており、図
3で示される全ての機能を実行するのに十分なハードウ
ェア及びソフトウェア能力を備えている。例として、イ
ンテル社のモデル82325プログラマブル・バス・マ
スタ制御装置及びアービタがある。DMA入出力バス・
マスタ制御装置及びアービタ(または単に"バス・マス
タ")は、図3に示すように4つのハードウェア制御装
置を利用する。これらはパケット制御装置10、DMA
ハンドラ及び制御装置11、ローカルDSP DMA制
御装置 及びアービタ13、及びホスト・システムDM
A制御装置及びアービタ12である。
サ間DMA入出力バス・マスタ制御装置及びアービタ
は、図2に示されるシステムにおける重要な要素であ
る。図3を参照すると、全体的なデータの流れ及びこう
したアービタ及び制御装置のハードウェアの主な制御が
示されている。こうした制御装置は市販されており、図
3で示される全ての機能を実行するのに十分なハードウ
ェア及びソフトウェア能力を備えている。例として、イ
ンテル社のモデル82325プログラマブル・バス・マ
スタ制御装置及びアービタがある。DMA入出力バス・
マスタ制御装置及びアービタ(または単に"バス・マス
タ")は、図3に示すように4つのハードウェア制御装
置を利用する。これらはパケット制御装置10、DMA
ハンドラ及び制御装置11、ローカルDSP DMA制
御装置 及びアービタ13、及びホスト・システムDM
A制御装置及びアービタ12である。
【0053】図3において、パケット制御装置10はD
SPのデータ・メモリの区分要求リストからパケット制
御ワードを読出す。制御ワードはこのリスト内にDSP
のオペレーティング・システムにより記入される。図4
に示すように、任意のパケット要求に対し、5つの制御
ワードを読込むと、パケット制御装置10はDMAハン
ドラ11を起動する。
SPのデータ・メモリの区分要求リストからパケット制
御ワードを読出す。制御ワードはこのリスト内にDSP
のオペレーティング・システムにより記入される。図4
に示すように、任意のパケット要求に対し、5つの制御
ワードを読込むと、パケット制御装置10はDMAハン
ドラ11を起動する。
【0054】DMAハンドラ11はDMAパケット制御
ワード内に示されるパケット・バイト・カウントを多数
のバースト・データに分解する。DMAパケット要求内
の転送方向ビットにより指示される転送方向に従い、D
MAハンドラ11は繰返し、ホスト・システム・バス・
マスタ制御装置12或いはDSPバス・マスタ制御装置
13に、適切なバス及び適切なサイズのバースト・デー
タ転送の調停を開始させる。こうした転送はDSPメモ
リから読み出されるDMA要求パケット内に記述される
開始アドレスから開始される。作用を受けるDMAアー
ビタ及び制御装置がDMA転送を完了すると、これはD
MAハンドラ制御装置11に通知する。DMAハンドラ
制御装置11は新たなバースト或いはパケットを送る
か、或いはカウント要求によるパケット要求を処理し尽
くしたことを認識した場合はカウントを継続し、その完
了をパケット制御装置10に通知する。パケット制御装
置10は次に別のDMAオペレーションのための別のセ
ットのパケット制御ワードを読込み、処理はDSPのD
MAパケット転送制御リスト区分が横断され、" 待機状
態"パケットに遭遇するまで継続される。
ワード内に示されるパケット・バイト・カウントを多数
のバースト・データに分解する。DMAパケット要求内
の転送方向ビットにより指示される転送方向に従い、D
MAハンドラ11は繰返し、ホスト・システム・バス・
マスタ制御装置12或いはDSPバス・マスタ制御装置
13に、適切なバス及び適切なサイズのバースト・デー
タ転送の調停を開始させる。こうした転送はDSPメモ
リから読み出されるDMA要求パケット内に記述される
開始アドレスから開始される。作用を受けるDMAアー
ビタ及び制御装置がDMA転送を完了すると、これはD
MAハンドラ制御装置11に通知する。DMAハンドラ
制御装置11は新たなバースト或いはパケットを送る
か、或いはカウント要求によるパケット要求を処理し尽
くしたことを認識した場合はカウントを継続し、その完
了をパケット制御装置10に通知する。パケット制御装
置10は次に別のDMAオペレーションのための別のセ
ットのパケット制御ワードを読込み、処理はDSPのD
MAパケット転送制御リスト区分が横断され、" 待機状
態"パケットに遭遇するまで継続される。
【0055】保留のDMAパケット転送要求は図4に示
すように5つのワード情報を含み、この情報の形式はD
SPのメモリ開始アドレス、PCの上位及び下位レンジ
開始アドレス、及びDMAマシンの制御レジスタの内容
に分解される。各5ワードのDMAパケット要求は図3
のパケット制御装置10内に取り出されると、パケット
制御装置10に含まれるDMAリスト・プロセッサによ
り、図8に示される処理が実行される。
すように5つのワード情報を含み、この情報の形式はD
SPのメモリ開始アドレス、PCの上位及び下位レンジ
開始アドレス、及びDMAマシンの制御レジスタの内容
に分解される。各5ワードのDMAパケット要求は図3
のパケット制御装置10内に取り出されると、パケット
制御装置10に含まれるDMAリスト・プロセッサによ
り、図8に示される処理が実行される。
【0056】図8を参照すると、"待機状態"は図4の方
向制御ビット01及び02により示されるDMAパケッ
ト・リスト区分境界であり、両ビットが0の場合に相当
する。待機状態は図3のプロセッサ10におけるDMA
リスト処理の実行の開始ポイントである。図8に示され
るように、処理はボックス20から開始され、ボックス
21、22、23、24を実行するか、或いはボックス
25〜28へ移行する。方向制御ビットは図9のボック
ス29で呼び出され、適切な判断が行われ、図4に示さ
れるインジケータ・ビット01及び02の内容に従い、
待機モードに入るか、或いはホスト・システム・メモリ
からDSPメモリへ、或いはDSPメモリからホスト・
システム・メモリへ転送を行う。ブロック30〜32は
ポインタ・インクリメンテーション制御であり、ボック
ス33A、33B、33Cは綜合カウント・アップを最
大値255(最大256ワード)と比較する。
向制御ビット01及び02により示されるDMAパケッ
ト・リスト区分境界であり、両ビットが0の場合に相当
する。待機状態は図3のプロセッサ10におけるDMA
リスト処理の実行の開始ポイントである。図8に示され
るように、処理はボックス20から開始され、ボックス
21、22、23、24を実行するか、或いはボックス
25〜28へ移行する。方向制御ビットは図9のボック
ス29で呼び出され、適切な判断が行われ、図4に示さ
れるインジケータ・ビット01及び02の内容に従い、
待機モードに入るか、或いはホスト・システム・メモリ
からDSPメモリへ、或いはDSPメモリからホスト・
システム・メモリへ転送を行う。ブロック30〜32は
ポインタ・インクリメンテーション制御であり、ボック
ス33A、33B、33Cは綜合カウント・アップを最
大値255(最大256ワード)と比較する。
【0057】図5は図3のパケット制御ブロック10内
のDMAアービタ及び制御装置に含まれる有効なバッフ
ァ及びレジスタを示す。図6でレジスタ14はいくつか
のセグメントで構成され、DMAパケット・ポインタで
ある。これは16ビットのレジスタであり、DSPによ
ってのみ読み出され、DSPデータ記憶内のDMAパケ
ット要求リストに対するポインタの最下位12ビットを
含む。このレジスタはハードウェアにより更新され、上
位3ビットはゼロである。最下位3ビット及びビット1
5は存在せず、実施例ではゼロとして読み出される。こ
のレジスタにロードされるデータ記憶内のデータは、バ
イト・アドレスとして記憶される。レジスタ19はいく
つかの部分から成り、システム或いはホスト・システム
・メモリ・アドレスを含む。これは32ビット・レジス
タであり、DSP或いはホスト・システムのシステム・
プロセッサの一方により、読出し或いは書込み不能であ
る。このレジスタは、パケット転送に利用されるホスト
・システム・メモリ或いは入出力空間のアドレスを含
む。レジスタ19の下位24ビットは、ホスト・システ
ム・プロセッサ・メモリ転送のために自動インクリメン
トされる。メモリ或いは入出力空間の選択は、システム
・メモリ/入出力ビットにより指示される。このレジス
タに記憶されるアドレスはバイト・アドレスである。
のDMAアービタ及び制御装置に含まれる有効なバッフ
ァ及びレジスタを示す。図6でレジスタ14はいくつか
のセグメントで構成され、DMAパケット・ポインタで
ある。これは16ビットのレジスタであり、DSPによ
ってのみ読み出され、DSPデータ記憶内のDMAパケ
ット要求リストに対するポインタの最下位12ビットを
含む。このレジスタはハードウェアにより更新され、上
位3ビットはゼロである。最下位3ビット及びビット1
5は存在せず、実施例ではゼロとして読み出される。こ
のレジスタにロードされるデータ記憶内のデータは、バ
イト・アドレスとして記憶される。レジスタ19はいく
つかの部分から成り、システム或いはホスト・システム
・メモリ・アドレスを含む。これは32ビット・レジス
タであり、DSP或いはホスト・システムのシステム・
プロセッサの一方により、読出し或いは書込み不能であ
る。このレジスタは、パケット転送に利用されるホスト
・システム・メモリ或いは入出力空間のアドレスを含
む。レジスタ19の下位24ビットは、ホスト・システ
ム・プロセッサ・メモリ転送のために自動インクリメン
トされる。メモリ或いは入出力空間の選択は、システム
・メモリ/入出力ビットにより指示される。このレジス
タに記憶されるアドレスはバイト・アドレスである。
【0058】レジスタ18はDSPメモリ・アドレスで
あり、16ビットの自動インクリメント・レジスタであ
り、DSP或いはホスト・システムPCの一方により読
出し或いは書込み不能である。このレジスタはパケット
転送に利用されるDSPのデータ或いは命令記憶に対す
るアドレスを含む。モジュロ制御ビットはこのレジスタ
のインクリメントの制御に利用される。このレジスタに
ロードされるデータ記憶内のデータは、ワード或いは命
令アドレスとして記憶され、下位15ビットだけがデー
タ記憶に対するアドレスを形成するために利用される。
あり、16ビットの自動インクリメント・レジスタであ
り、DSP或いはホスト・システムPCの一方により読
出し或いは書込み不能である。このレジスタはパケット
転送に利用されるDSPのデータ或いは命令記憶に対す
るアドレスを含む。モジュロ制御ビットはこのレジスタ
のインクリメントの制御に利用される。このレジスタに
ロードされるデータ記憶内のデータは、ワード或いは命
令アドレスとして記憶され、下位15ビットだけがデー
タ記憶に対するアドレスを形成するために利用される。
【0059】図3のDMAハンドラ11は図3に示され
るパケット制御装置10からのDMAスタート信号によ
り起動される。DMAハンドラ11は、最初に、パケッ
ト制御装置10から受信したパケット・カウントをパケ
ット・バイト・カウントに変換する。DMAハンドラの
機能はパケット・バイト・カウントをバースト・カウン
トに分解する。本実施例では、DMA制御装置機構の内
部バッファは、2つの16バイトx8ビットのRAMを
含み、従って、1度のバースト・サイズは32バイトに
制限される。制御レジスタからのバイト或いはワード・
ビットがバイト・モードを示す場合、データはデータ記
憶にパックされない。データ記憶の下位バイトだけがバ
ス・マスタ・オペレーションに利用される。この状態で
は、通常の16ビットのバースト・サイズが利用され
る。
るパケット制御装置10からのDMAスタート信号によ
り起動される。DMAハンドラ11は、最初に、パケッ
ト制御装置10から受信したパケット・カウントをパケ
ット・バイト・カウントに変換する。DMAハンドラの
機能はパケット・バイト・カウントをバースト・カウン
トに分解する。本実施例では、DMA制御装置機構の内
部バッファは、2つの16バイトx8ビットのRAMを
含み、従って、1度のバースト・サイズは32バイトに
制限される。制御レジスタからのバイト或いはワード・
ビットがバイト・モードを示す場合、データはデータ記
憶にパックされない。データ記憶の下位バイトだけがバ
ス・マスタ・オペレーションに利用される。この状態で
は、通常の16ビットのバースト・サイズが利用され
る。
【0060】DMA転送はバースト・カウント(bc)
を利用して発生する。バースト・カウント(bc)は、
残余或いは開始パケット・カウントがバースト・サイズ
よりも小さい場合以外は、バースト・サイズと等しい。
パケット・バイト・カウントはそれが終了するまで、繰
返しバーストに分解される。
を利用して発生する。バースト・カウント(bc)は、
残余或いは開始パケット・カウントがバースト・サイズ
よりも小さい場合以外は、バースト・サイズと等しい。
パケット・バイト・カウントはそれが終了するまで、繰
返しバーストに分解される。
【0061】図10を参照すると、初期バイト・カウン
トがアキュムレータ35にロードされる。DMAハンド
ラ・ハードウェア11は、図10に示されるハードウェ
アを含む。バースト・サイズはDMA転送要求内の制御
情報に含まれるバイト/ワード・ビットの値に基づく。
符号ビットがゼロの場合、これはアキュムレータ35内
の値がバースト・サイズよりも大きいことを意味する。
バースト・サイズは前述のように、利用されるシステム
により予め選択される。バイト・カウントがシステム及
びDSPのDMAバイト・カウンタにロードされ、DM
Aハンドラ11が方向ビットを参照する。
トがアキュムレータ35にロードされる。DMAハンド
ラ・ハードウェア11は、図10に示されるハードウェ
アを含む。バースト・サイズはDMA転送要求内の制御
情報に含まれるバイト/ワード・ビットの値に基づく。
符号ビットがゼロの場合、これはアキュムレータ35内
の値がバースト・サイズよりも大きいことを意味する。
バースト・サイズは前述のように、利用されるシステム
により予め選択される。バイト・カウントがシステム及
びDSPのDMAバイト・カウンタにロードされ、DM
Aハンドラ11が方向ビットを参照する。
【0062】図9のボックス29で読み出される方向ビ
ットがホスト・システム・メモリからの読出しを示す場
合、DMAハンドラ11は入力データ・マルチプレクサ
の制御を、図3のボックス11の出力に示されるよう
に、システム・データ・ポートにスイッチする。また、
システム・バッファ制御も選択され、DMAハンドラ1
1はシステム・マスタ制御装置12を起動する。システ
ム・マスタ制御装置12は内部RAMバッファ14をロ
ードし、ホスト・システム・メモリからバッファへの読
出しとしてオペレーションを解釈する。バッファ14へ
のデータの書込みの後、システム・マスタ制御装置12
は図3の信号ラインで示されるように、転送の完了をD
MAハンドラに通知する。
ットがホスト・システム・メモリからの読出しを示す場
合、DMAハンドラ11は入力データ・マルチプレクサ
の制御を、図3のボックス11の出力に示されるよう
に、システム・データ・ポートにスイッチする。また、
システム・バッファ制御も選択され、DMAハンドラ1
1はシステム・マスタ制御装置12を起動する。システ
ム・マスタ制御装置12は内部RAMバッファ14をロ
ードし、ホスト・システム・メモリからバッファへの読
出しとしてオペレーションを解釈する。バッファ14へ
のデータの書込みの後、システム・マスタ制御装置12
は図3の信号ラインで示されるように、転送の完了をD
MAハンドラに通知する。
【0063】完了信号を受信すると、DMAハンドラ1
1はバッファ制御をDSPのDMA制御装置13にスイ
ッチする。DMAハンドラ11は次にDSPのDMA制
御装置13を起動し、DMA制御装置13はデータをバ
ッファ14からDSPメモリに転送する。そして転送の
完了に際し、DMAハンドラ11に対し、転送を完了し
たことを通知する。
1はバッファ制御をDSPのDMA制御装置13にスイ
ッチする。DMAハンドラ11は次にDSPのDMA制
御装置13を起動し、DMA制御装置13はデータをバ
ッファ14からDSPメモリに転送する。そして転送の
完了に際し、DMAハンドラ11に対し、転送を完了し
たことを通知する。
【0064】DMAハンドラ11が転送方向としてシス
テム・メモリへの書込みを検出した場合、DMAハンド
ラ制御装置11は入力データ・マルチプレクサの制御を
DSPのDMAデータ・ポートにスイッチし、バッファ
14がDSPのDMA制御装置13のために利用される
ように、DSPのDMAバッファ制御が選択される。
テム・メモリへの書込みを検出した場合、DMAハンド
ラ制御装置11は入力データ・マルチプレクサの制御を
DSPのDMAデータ・ポートにスイッチし、バッファ
14がDSPのDMA制御装置13のために利用される
ように、DSPのDMAバッファ制御が選択される。
【0065】DMAハンドラ11は次にDSPのDMA
制御装置13を起動し、DMA制御装置13はオペレー
ションをDSPメモリからバッファ14への読出しとし
て解釈する。制御装置13はバッファ14をロードし、
データをバッファ14に読出した後、ハンドラ11に対
し転送の完了を通知する。DSPのDMAオペレーショ
ンが完了したことを検出すると、DMAハンドラ11は
バッファ制御をシステム側にスイッチし、ホスト・シス
テム・バス・マスタ制御装置12を起動し、データをバ
ッファ14からホスト・システム・メモリに転送する。
転送の完了に際し、制御装置12はそのことをDMAハ
ンドラ11に通知する。
制御装置13を起動し、DMA制御装置13はオペレー
ションをDSPメモリからバッファ14への読出しとし
て解釈する。制御装置13はバッファ14をロードし、
データをバッファ14に読出した後、ハンドラ11に対
し転送の完了を通知する。DSPのDMAオペレーショ
ンが完了したことを検出すると、DMAハンドラ11は
バッファ制御をシステム側にスイッチし、ホスト・シス
テム・バス・マスタ制御装置12を起動し、データをバ
ッファ14からホスト・システム・メモリに転送する。
転送の完了に際し、制御装置12はそのことをDMAハ
ンドラ11に通知する。
【0066】最初のバーストが転送された後、DMAハ
ンドラ11は図10のアキュムレータ35に残りのバイ
ト・カウントをロードする。再び符号ビットがゼロの場
合、バースト・カウントはバースト・サイズに等しくセ
ットされ、この量のデータがDMAオペレーションを介
して転送される。しかし、符号ビットが1の場合は、ア
キュムレータ35におけるカウントはバースト・レジス
タ36内のバースト・サイズよりも小さい。2対1のマ
ルチプレクサ37は、その時、最後のDMA転送に備
え、アキュムレータの内容を選択する。符号ビットの1
は負の数と認識され、0は正の数或いは0と認識され
る。ここでゼロ検出は重要である。なぜならバースト・
カウントのゼロは実行されるべきでないことを示すから
である。パケット・バイト・カウントが終了後、DMA
ハンドラ11は図3のパケット制御装置10に完了の応
答を出す。
ンドラ11は図10のアキュムレータ35に残りのバイ
ト・カウントをロードする。再び符号ビットがゼロの場
合、バースト・カウントはバースト・サイズに等しくセ
ットされ、この量のデータがDMAオペレーションを介
して転送される。しかし、符号ビットが1の場合は、ア
キュムレータ35におけるカウントはバースト・レジス
タ36内のバースト・サイズよりも小さい。2対1のマ
ルチプレクサ37は、その時、最後のDMA転送に備
え、アキュムレータの内容を選択する。符号ビットの1
は負の数と認識され、0は正の数或いは0と認識され
る。ここでゼロ検出は重要である。なぜならバースト・
カウントのゼロは実行されるべきでないことを示すから
である。パケット・バイト・カウントが終了後、DMA
ハンドラ11は図3のパケット制御装置10に完了の応
答を出す。
【0067】図3のDSPのDMAアービタ及び制御装
置13は、前述のインテル82325プログラマブルD
MA入出力制御装置の1部である。これは図3のボック
ス14及び15からボックス13に向かう出力により示
されるバースト・カウント値をロードするバイト・カウ
ンタの内容と同様に、DSPモジュロ・アドレス・カウ
ンタを利用する。パケット制御装置10は13のアドレ
ス・カウンタをロードし、DMAハンドラ制御装置11
はバイト・カウンタをロードし、DSPのDMAオペレ
ーションを起動する時に、内部バッファ・アドレスをリ
セットする。DMAハンドラ11はまた、DSPのDM
A制御装置13を起動する前に、DMAバッファ・デー
タ・パス及び制御をセット・アップする。制御装置13
におけるDSPのDMAバイト・カウンタは、バス・マ
スタのオペレーションがデータ記憶を含む場合に、1或
いは2をカウントする。バイト・カウンタはバイト・モ
ードでは1をカウントし、ワード・モードでは2をカウ
ントする。また、バイト・カウンタは、オペレーション
が図6のブロック38で示されるように命令記憶を含む
際は、4をカウントする。スタート信号を受信すると、
DSPのDMA制御装置13は図4に示される制御ビッ
ト情報の内の方向ビット01、02に従い、DSPから
データを読出し、それを内部バッファ14に記憶する
か、或いはデータをバッファ14から読出し、それをD
SPに記憶するか、或いはバッファを読出し、それをD
SPの命令記憶に記憶する。
置13は、前述のインテル82325プログラマブルD
MA入出力制御装置の1部である。これは図3のボック
ス14及び15からボックス13に向かう出力により示
されるバースト・カウント値をロードするバイト・カウ
ンタの内容と同様に、DSPモジュロ・アドレス・カウ
ンタを利用する。パケット制御装置10は13のアドレ
ス・カウンタをロードし、DMAハンドラ制御装置11
はバイト・カウンタをロードし、DSPのDMAオペレ
ーションを起動する時に、内部バッファ・アドレスをリ
セットする。DMAハンドラ11はまた、DSPのDM
A制御装置13を起動する前に、DMAバッファ・デー
タ・パス及び制御をセット・アップする。制御装置13
におけるDSPのDMAバイト・カウンタは、バス・マ
スタのオペレーションがデータ記憶を含む場合に、1或
いは2をカウントする。バイト・カウンタはバイト・モ
ードでは1をカウントし、ワード・モードでは2をカウ
ントする。また、バイト・カウンタは、オペレーション
が図6のブロック38で示されるように命令記憶を含む
際は、4をカウントする。スタート信号を受信すると、
DSPのDMA制御装置13は図4に示される制御ビッ
ト情報の内の方向ビット01、02に従い、DSPから
データを読出し、それを内部バッファ14に記憶する
か、或いはデータをバッファ14から読出し、それをD
SPに記憶するか、或いはバッファを読出し、それをD
SPの命令記憶に記憶する。
【0068】図3のホスト・システム・バス・マスタ制
御装置及びアービタ12も、インテル82325チップ
の1部である。この制御装置は図3のホストPCバスと
内部RAMバッファ14との間の双方向データ転送を請
け負う。この制御装置12は8ポイントのグレイ・コー
ド・シーケンサを利用し、これは30ナノ秒で同期さ
れ、240ナノ秒のバースト・サイクルを提供する。こ
の制御装置は、ホスト・システム・バスを調停する論
理、バイト・アラインメント、データ・スティアリン
グ、モジュロ・メモリのアドレスのためのストライド及
びホールド機能、及び内部バッファのパッキング論理を
含む。"ストライド"はアドレスがメモリにおいて、スタ
ート・アドレスから次のスタート・アドレスにジャンプ
するようにインクリメントされることを意味する。"ホ
ールド"は各時間において読み出される、開始アドレス
からのワード(アドレス)の数を意味する。"スキップ"
は読み出されることのないワード(アドレス)の数を意
味する(すなわち"ストライド"が"ホールド"に対して勝
るワード数)。制御装置12は図3に示すように、パケ
ット制御装置10及びDMAハンドラ11とインタフェ
ースを行う。パケット制御装置10とのインタフェース
は単に制御ワードのインタフェースであり、図4に示す
制御ワードからの制御ワード・パラメータはホスト・バ
ス・マスタ及びアービタに渡される。これらは図3に示
されるように、方向ビット、バイト/ワード・インジケ
ータ、システム上位及び下位アドレスなどを含む。方向
ビットは制御装置12に、ホスト・システム・メモリ上
において、読出し或いは書込みオペレーションのどちら
を実行するかを通知する。システムM/IOビットは制
御装置12に、ホストPCメモリ或いはその入出力空間
のどちらに対し、読出しもしくは書込みを実施するかを
通知する。上位及び下位システム・アドレスは連結され
て、バス・マスタ・オペレーションのために制御装置1
2により利用されるスタート・アドレスを指定する。シ
ステム・アドレス・カウンタは20ビットに渡りインク
リメント可能であり、全てのオペレーションは1メガバ
イト境界上において順序づけられる。パケット制御装置
10から制御装置12に入力されるストライド/ホール
ド及びイネーブル・ビットは、システム・ホスト・アド
レス・インクリメンタに対し、ジャンプすることを許可
する。すなわち、モジュロ或いはブロック・メモリ・ア
ドレッシングを可能とする。ストライド及びホールド値
はバイト値であり、パケット制御装置10により、制御
装置12に渡される。 "ホールド"値は"ストライド"値
以内に含まれ、 "ホールド+スキップ=ストライド"な
る前述の一般公式が成立する。
御装置及びアービタ12も、インテル82325チップ
の1部である。この制御装置は図3のホストPCバスと
内部RAMバッファ14との間の双方向データ転送を請
け負う。この制御装置12は8ポイントのグレイ・コー
ド・シーケンサを利用し、これは30ナノ秒で同期さ
れ、240ナノ秒のバースト・サイクルを提供する。こ
の制御装置は、ホスト・システム・バスを調停する論
理、バイト・アラインメント、データ・スティアリン
グ、モジュロ・メモリのアドレスのためのストライド及
びホールド機能、及び内部バッファのパッキング論理を
含む。"ストライド"はアドレスがメモリにおいて、スタ
ート・アドレスから次のスタート・アドレスにジャンプ
するようにインクリメントされることを意味する。"ホ
ールド"は各時間において読み出される、開始アドレス
からのワード(アドレス)の数を意味する。"スキップ"
は読み出されることのないワード(アドレス)の数を意
味する(すなわち"ストライド"が"ホールド"に対して勝
るワード数)。制御装置12は図3に示すように、パケ
ット制御装置10及びDMAハンドラ11とインタフェ
ースを行う。パケット制御装置10とのインタフェース
は単に制御ワードのインタフェースであり、図4に示す
制御ワードからの制御ワード・パラメータはホスト・バ
ス・マスタ及びアービタに渡される。これらは図3に示
されるように、方向ビット、バイト/ワード・インジケ
ータ、システム上位及び下位アドレスなどを含む。方向
ビットは制御装置12に、ホスト・システム・メモリ上
において、読出し或いは書込みオペレーションのどちら
を実行するかを通知する。システムM/IOビットは制
御装置12に、ホストPCメモリ或いはその入出力空間
のどちらに対し、読出しもしくは書込みを実施するかを
通知する。上位及び下位システム・アドレスは連結され
て、バス・マスタ・オペレーションのために制御装置1
2により利用されるスタート・アドレスを指定する。シ
ステム・アドレス・カウンタは20ビットに渡りインク
リメント可能であり、全てのオペレーションは1メガバ
イト境界上において順序づけられる。パケット制御装置
10から制御装置12に入力されるストライド/ホール
ド及びイネーブル・ビットは、システム・ホスト・アド
レス・インクリメンタに対し、ジャンプすることを許可
する。すなわち、モジュロ或いはブロック・メモリ・ア
ドレッシングを可能とする。ストライド及びホールド値
はバイト値であり、パケット制御装置10により、制御
装置12に渡される。 "ホールド"値は"ストライド"値
以内に含まれ、 "ホールド+スキップ=ストライド"な
る前述の一般公式が成立する。
【0069】DMAハンドラ11はシステム・バス・マ
スタ制御装置及びアービタ12のオペレーションを起動
する。起動されると、制御装置12は内部RAMバッフ
ァ14を完全に制御し、バッファ・アドレス及び書込み
可能信号を提供し、バッファ・データを受諾或いは受信
する。バースト・カウント及び新たなパケット・カウン
ト・パラメータがDMAハンドラ11により制御装置1
2に渡される。
スタ制御装置及びアービタ12のオペレーションを起動
する。起動されると、制御装置12は内部RAMバッフ
ァ14を完全に制御し、バッファ・アドレス及び書込み
可能信号を提供し、バッファ・データを受諾或いは受信
する。バースト・カウント及び新たなパケット・カウン
ト・パラメータがDMAハンドラ11により制御装置1
2に渡される。
【0070】パケット制御装置10の全体的なオペレー
ションは、以前に"ペーシング"制御として言及されたD
SPからの信号により開始される。図11及び図12で
図3のパケット制御装置10のオペレーションのフロー
が詳細に示されている。パケット制御装置10はDSP
からのペーシング信号により開始される。ボックス40
で制御装置10はDMAパケット・リストが存在するD
SPのデータ・メモリをアクセスし、サイクル・カウン
タを読み出す。ボックス41で最初のDMAパケット・
ポインタ・スタート位置をDSPから獲得し、次にブロ
ック42でDSPデータ・メモリ及びサイクル・カウン
タを読み出す。ブロック43でポインタはインクリメン
トされ、ブロック44でDSPのDMAパケット要求リ
ストにおけるパケット・リストの終了に達したかが確認
される。終了に達していない場合は、制御装置はボック
ス45で方向ビットを読出し、両方が0ならば、これは
"待機モード" パケットに遭遇したことを示し、パケッ
ト・ポインタはブロック46で4回インクリメントさ
れ、ブロック40に復帰して新たなペーシング信号を待
機する。
ションは、以前に"ペーシング"制御として言及されたD
SPからの信号により開始される。図11及び図12で
図3のパケット制御装置10のオペレーションのフロー
が詳細に示されている。パケット制御装置10はDSP
からのペーシング信号により開始される。ボックス40
で制御装置10はDMAパケット・リストが存在するD
SPのデータ・メモリをアクセスし、サイクル・カウン
タを読み出す。ボックス41で最初のDMAパケット・
ポインタ・スタート位置をDSPから獲得し、次にブロ
ック42でDSPデータ・メモリ及びサイクル・カウン
タを読み出す。ブロック43でポインタはインクリメン
トされ、ブロック44でDSPのDMAパケット要求リ
ストにおけるパケット・リストの終了に達したかが確認
される。終了に達していない場合は、制御装置はボック
ス45で方向ビットを読出し、両方が0ならば、これは
"待機モード" パケットに遭遇したことを示し、パケッ
ト・ポインタはブロック46で4回インクリメントさ
れ、ブロック40に復帰して新たなペーシング信号を待
機する。
【0071】"待機モード"ビットに遭遇しない場合、オ
ペレーションはボックス48に移行し、ここでパケット
・ポインタに指示される制御レジスタが読み出される。
ボックス49で、ポインタはインクリメントされ、上位
ビットに対してこれらが0より大きいかを確認するため
にチェックが行われる。これらが0よりも大きい場合、
ボックス51でホールド及びストライド・パラメータの
ロードは実施されない。しかし、ビット11〜15が0
でない場合は、図4で示される制御ワード・レジスタ1
及び2のビット11〜15が示すアドレスにホールド及
びストライドに対するロードが実施される。
ペレーションはボックス48に移行し、ここでパケット
・ポインタに指示される制御レジスタが読み出される。
ボックス49で、ポインタはインクリメントされ、上位
ビットに対してこれらが0より大きいかを確認するため
にチェックが行われる。これらが0よりも大きい場合、
ボックス51でホールド及びストライド・パラメータの
ロードは実施されない。しかし、ビット11〜15が0
でない場合は、図4で示される制御ワード・レジスタ1
及び2のビット11〜15が示すアドレスにホールド及
びストライドに対するロードが実施される。
【0072】ボックス53でシステム・アドレス・レジ
スタのビット08〜23にポインタにより指示されるデ
ータがロードされ、ポインタはボックス54でインクリ
メントされ、システム・アドレスはバイト・アドレスと
して記憶される。ボックス55で、システム・アドレス
のレジスタ・ビット00〜07にポインタにより指示さ
れるデータがロードされ、ポインタはボックス56でイ
ンクリメントされ、ボックス57で、指定されたDSP
アドレス・レジスタにポインタにより指示されるデータ
がロードされ、ポインタは次にボックス58でインクリ
メントされる。
スタのビット08〜23にポインタにより指示されるデ
ータがロードされ、ポインタはボックス54でインクリ
メントされ、システム・アドレスはバイト・アドレスと
して記憶される。ボックス55で、システム・アドレス
のレジスタ・ビット00〜07にポインタにより指示さ
れるデータがロードされ、ポインタはボックス56でイ
ンクリメントされ、ボックス57で、指定されたDSP
アドレス・レジスタにポインタにより指示されるデータ
がロードされ、ポインタは次にボックス58でインクリ
メントされる。
【0073】ボックス59でDSPアドレスがワード・
アドレスとして記憶され、ボックス60で、転送が図3
のDMAハンドラ11を起動することにより指示される
DSPアドレス、或いは、そのアドレスに対して実行さ
れる。オペレーションはボックス42に戻り、次のDS
Pデータ・メモリ・アドレスなどを読み出す。ボックス
44で、再びリストの終了に対するチェックが行われ、
リストの終了に達すると、ボックス47に移行し、ここ
でDMAポインタ・アドレスにパケット・ポインタのス
タート位置をロードし、パケット制御装置はDSPによ
り生成されるセグメント化DMA要求リストの次の区分
にループして戻る。
アドレスとして記憶され、ボックス60で、転送が図3
のDMAハンドラ11を起動することにより指示される
DSPアドレス、或いは、そのアドレスに対して実行さ
れる。オペレーションはボックス42に戻り、次のDS
Pデータ・メモリ・アドレスなどを読み出す。ボックス
44で、再びリストの終了に対するチェックが行われ、
リストの終了に達すると、ボックス47に移行し、ここ
でDMAポインタ・アドレスにパケット・ポインタのス
タート位置をロードし、パケット制御装置はDSPによ
り生成されるセグメント化DMA要求リストの次の区分
にループして戻る。
【0074】以上、これまでに述べてきたことは全体的
なコンピュータ・システムに関するものあり、このシス
テムはDMAサブシステム、及びホストからDMA、更
にDMAからDSPに至るサブシステムのセットから成
り、これらはマルチメディア・コンピュータ・システム
などで遭遇するハード的な実時間マルチ・タスク・アプ
リケーションの要求に適応する。全体的なマルチメディ
ア・コンピュータ・システムの要素には、前述されたD
SP、DMA入出力アービタ及び制御チップ、及びホス
トPCシステム・コンピュータなどの市販される要素が
含まれる。
なコンピュータ・システムに関するものあり、このシス
テムはDMAサブシステム、及びホストからDMA、更
にDMAからDSPに至るサブシステムのセットから成
り、これらはマルチメディア・コンピュータ・システム
などで遭遇するハード的な実時間マルチ・タスク・アプ
リケーションの要求に適応する。全体的なマルチメディ
ア・コンピュータ・システムの要素には、前述されたD
SP、DMA入出力アービタ及び制御チップ、及びホス
トPCシステム・コンピュータなどの市販される要素が
含まれる。
【0075】本発明の利点は、システム及びサブシステ
ム、及びサブシステムと個々のプロセッサとの間の制御
及び通信手段を構成することにより提供される。当業者
においては、本発明のオペレーション方法或いは機能的
システム構成の精神及び範中を逸脱することなく、シス
テム及びサブシステムのハードウェア/ソフトウェア構
成における様々な変更が可能であることを理解されるよ
う。例えば、現在利用可能な信号プロセッサのスピード
及びメモリ容量は優れているものの、近い将来、更に高
速で大容量のメモリを有するプロセッサが利用可能であ
り、その際に、DPからDSPに至るリソース管理機能
の再配置が現実的となる。或いは反対に、DSPリソー
ス要求の管理の再配置が同じシステムにおいて補助プロ
セッサに割り当てられ、その際、DP及びDSP、或い
はDSPは、DSPタスクを実行できるだけでなく、固
有のリソースの割振りを管理し、実際にDPの代わりに
ユーザ・タスクを実行できるようなスピード及びメモリ
容量を有することが可能である。これらは全て本発明の
精神及び範中から逸脱するものではない。また、DSP
がユーザ・タスク・プログラムの直接の実行を請け負う
場合、DMAは完全に置換され、それによりプロセッサ
間DMA入出力制御装置は、DSPのオペレーティング
・システムがDSPの信号処理リソースを管理し、管理
タスク・リストに割振る限り要求されない。本実施例に
おいても、DMA入出力制御装置及びDSPパケット・
リストが管理された。例えば、十分なスピードと常駐メ
モリ容量を有するDSPが利用可能な場合、リソース・
タスクの初期割振り同様に、DSPのパケット・リスト
要求がDSP自身により処理される。要するに、本発明
は、高速の実行能力及び/或いは大メモリ容量が提供さ
れるDSPにおいて、ユーザ・タスクの性能、リソース
割振り、データ転送リストの生成、ユーザ・タスクを支
援する信号処理タスクの実行、及びDMA機能の綜合的
な置換を、単一のDSPそのものを利用することにより
実現する。
ム、及びサブシステムと個々のプロセッサとの間の制御
及び通信手段を構成することにより提供される。当業者
においては、本発明のオペレーション方法或いは機能的
システム構成の精神及び範中を逸脱することなく、シス
テム及びサブシステムのハードウェア/ソフトウェア構
成における様々な変更が可能であることを理解されるよ
う。例えば、現在利用可能な信号プロセッサのスピード
及びメモリ容量は優れているものの、近い将来、更に高
速で大容量のメモリを有するプロセッサが利用可能であ
り、その際に、DPからDSPに至るリソース管理機能
の再配置が現実的となる。或いは反対に、DSPリソー
ス要求の管理の再配置が同じシステムにおいて補助プロ
セッサに割り当てられ、その際、DP及びDSP、或い
はDSPは、DSPタスクを実行できるだけでなく、固
有のリソースの割振りを管理し、実際にDPの代わりに
ユーザ・タスクを実行できるようなスピード及びメモリ
容量を有することが可能である。これらは全て本発明の
精神及び範中から逸脱するものではない。また、DSP
がユーザ・タスク・プログラムの直接の実行を請け負う
場合、DMAは完全に置換され、それによりプロセッサ
間DMA入出力制御装置は、DSPのオペレーティング
・システムがDSPの信号処理リソースを管理し、管理
タスク・リストに割振る限り要求されない。本実施例に
おいても、DMA入出力制御装置及びDSPパケット・
リストが管理された。例えば、十分なスピードと常駐メ
モリ容量を有するDSPが利用可能な場合、リソース・
タスクの初期割振り同様に、DSPのパケット・リスト
要求がDSP自身により処理される。要するに、本発明
は、高速の実行能力及び/或いは大メモリ容量が提供さ
れるDSPにおいて、ユーザ・タスクの性能、リソース
割振り、データ転送リストの生成、ユーザ・タスクを支
援する信号処理タスクの実行、及びDMA機能の綜合的
な置換を、単一のDSPそのものを利用することにより
実現する。
【0076】
【発明の効果】以上説明したように、本発明によれば、
ホスト・プロセッサにおいて、ハード的実時間マルチ・
タスク・オペレーションを支援する効率的なマルチメデ
ィア・コンピュータ・システム及びデータ転送機構が提
供できる。
ホスト・プロセッサにおいて、ハード的実時間マルチ・
タスク・オペレーションを支援する効率的なマルチメデ
ィア・コンピュータ・システム及びデータ転送機構が提
供できる。
【図1】本発明の実施例のデータの流れ図であり、プロ
セッサ間DMA制御装置を介し、ホスト・プロセッサ及
びディジタル信号プロセッサにデータが送受信され、プ
ロセッサ間DMA制御装置はホスト・システム及びディ
ジタル信号プロセッサ・システムの両者のシステム・ア
ドレス・バス及びデータ・バスとインタフェースを行
う。
セッサ間DMA制御装置を介し、ホスト・プロセッサ及
びディジタル信号プロセッサにデータが送受信され、プ
ロセッサ間DMA制御装置はホスト・システム及びディ
ジタル信号プロセッサ・システムの両者のシステム・ア
ドレス・バス及びデータ・バスとインタフェースを行
う。
【図2】プロセッサ間DMAバス・マスタ及び制御装置
を介する、ディジタル信号プロセッサ・システムとホス
ト・コンピュータ・システムとの間の相互接続を示す図
である。
を介する、ディジタル信号プロセッサ・システムとホス
ト・コンピュータ・システムとの間の相互接続を示す図
である。
【図3】本発明によるプロセッサ間DMA入出力バス・
マスタ、制御装置及びアービタのプログラマブル形式に
よるデータの流れを示す図である。
マスタ、制御装置及びアービタのプログラマブル形式に
よるデータの流れを示す図である。
【図4】ディジタル信号プロセッサにより生成されるD
MAパケット要求の形式及び内容と、これらの要求のコ
ード化の意味を示す図である。
MAパケット要求の形式及び内容と、これらの要求のコ
ード化の意味を示す図である。
【図5】パケット・バッファに入出力されるデータの流
れと、プロセッサ間DMA制御装置及びアービタ内にお
けるデータの流れ及び制御のためのレジスタを表す図で
ある。
れと、プロセッサ間DMA制御装置及びアービタ内にお
けるデータの流れ及び制御のためのレジスタを表す図で
ある。
【図6】パケット・バッファに入出力されるデータの流
れと、プロセッサ間DMA制御装置及びアービタ内にお
けるデータの流れ及び制御のためのレジスタを表す図で
ある。
れと、プロセッサ間DMA制御装置及びアービタ内にお
けるデータの流れ及び制御のためのレジスタを表す図で
ある。
【図7】ホスト・プロセッサにおける、ディジタル信号
処理タスク作業リスト或いは要求を生成し、これらがデ
ィジタル信号プロセッサの利用可能な信号処理源を越え
ないように管理するフロー図である。
処理タスク作業リスト或いは要求を生成し、これらがデ
ィジタル信号プロセッサの利用可能な信号処理源を越え
ないように管理するフロー図である。
【図8】プロセッサ間DMA制御装置及びアービタにお
けるオペレーションのフロー図を示し、ディジタル信号
プロセッサにおいて生成されたDMAパケット要求リス
トを処理する図である。
けるオペレーションのフロー図を示し、ディジタル信号
プロセッサにおいて生成されたDMAパケット要求リス
トを処理する図である。
【図9】プロセッサ間DMA制御装置及びアービタにお
けるオペレーションのフロー図を示し、ディジタル信号
プロセッサにおいて生成されたDMAパケット要求リス
トを処理する図である。
けるオペレーションのフロー図を示し、ディジタル信号
プロセッサにおいて生成されたDMAパケット要求リス
トを処理する図である。
【図10】本発明の実施例のDMAハンドラ・ハードウ
ェアを表す図である。
ェアを表す図である。
【図11】DMAプロセッサ間アービタ及び制御装置に
より実行されるDMA転送処理を表す図である。
より実行されるDMA転送処理を表す図である。
【図12】DMAプロセッサ間アービタ及び制御装置に
より実行されるDMA転送処理を表す図である。
より実行されるDMA転送処理を表す図である。
【図13】DSPにおけるパケット・リスト生成処理の
高度なフロチャートを表す図である。
高度なフロチャートを表す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム・ジョージ・クロース アメリカ合衆国27612、ノース・カロライ ナ州ラレフ、ホリー・リッジ・ドライブ 5018番地 (72)発明者 マルコム・スコット・ウェア アメリカ合衆国27604、ノース・カロライ ナ州ラレフ、ロックブリッジ・コート 2712番地 (56)参考文献 特開 昭63−153643(JP,A) 特開 昭54−88746(JP,A) 特開 平1−291545(JP,A) 特開 平2−170644(JP,A)
Claims (7)
- 【請求項1】要求されたユーザ・タスクの実行を支援す
るために信号処理要求を出すユーザ・タスク・プログラ
ムを実行するためのマルチメディア・コンピュータ・シ
ステムにおいて、 ユーザ・タスク・プログラムを実行するホスト・プロセ
ッサと、 前記ユーザ・タスク・プログラムを支援する信号処理プ
ログラムを実行するディジタル信号プロセッサと、 前記ホスト・プロセッサに及び前記ディジタル信号プロ
セッサを含むサブシステムに接続され、前記ホスト・プ
ロセッサ及び前記ディジタル信号プロセッサの間でデー
タ及びDMA転送要求を移動させるためのホスト・シス
テム・バスと、 ディジタル信号処理要求を、その綜合DMAリソース要
求が前記ディジタル信号プロセッサに対して利用可能な
DMAリソースを超えない範囲で前記ディジタル信号プ
ロセッサに与えるように前記ホスト・プロセッサを制御
する手段と、 を含むマルチメディア・コンピュータ・システム。 - 【請求項2】前記ディジタル信号プロセッサにおいて前
記ホスト・システム・バスを介してDMAデータ転送要
求を受取ったことに応答して、前記ディジタル信号プロ
セッサに規則的に反復する時間間隔マーカを含む前記D
MAデータ転送要求の区分キューを生成せしめ、前記処
理要求を支援するために前記ディジタル信号プロセッサ
へ又はそこからデータを移動させる手段を含むことを特
徴とする請求項1記載のシステム。 - 【請求項3】前記DMAデータ転送要求は、メモリ・リ
ソースを定義するデータ、出所及び行先アドレス、転送
の方向、転送すべきデータ・ユニット数及び要求インジ
ケータの終端のフィールドを含むことを特徴とする請求
項2記載のシステム。 - 【請求項4】前記ホスト・システム・バスを介する前記
ホスト・プロセッサ及び前記ディジタル信号プロセッサ
の間のデータの移動を制御するプロセッサ間DMA入出
力制御装置を含むことを特徴とする請求項1記載のシス
テム。 - 【請求項5】前記ホスト・システム・バスを介する前記
ホスト・プロセッサ及び前記ディジタル信号プロセッサ
の間のデータの移動を制御する制御するプロセッサ間D
MA入出力制御装置と、 前記プロセッサ間DMA入出力制御装置を前記ホスト・
プロセッサ及び前記ディジタル信号プロセッサに接続す
るデータ及びアドレス・バスと、 を含むことを特徴とする請求項2記載のシステム。 - 【請求項6】ユーザ・タスク・プログラムを実行するホ
スト・プロセッサと、前記前記ホスト・プロセッサにお
ける前記ユーザ・タスク・プログラムの実行要求を支援
するためにディジタル信号処理プログラムを実行するデ
ィジタル信号プロセッサと、 前記ホスト・プロセッサ及び前記ディジタル信号プロセ
ッサの間でデータ及びDMA転送要求を移動させるため
のホスト・システム・バストを有するマルチメディア・
コンピュータ・システムの動作を制御する方法におい
て、 活動状態のユーザ要求タスク・プログラムの実行を支援
するために前記ディジタル信号プロセッサに対する綜合
DMAリソース要求を判定するステップと、 前記綜合DMAリソース要求を最大の利用可能なDMA
リソースと比較するステップと、 前記綜合リソース要求が前記最大の利用可能なDMAリ
ソースを超える場合、前記ホスト・プロセッサにおける
前記ユーザ選択タスク・プログラムの実行を禁止するス
テップと、 を含む方法。 - 【請求項7】ホスト・プロセッサ及び前記ホスト・プロ
セッサに接続されたホスト・システム・バスを有するマ
ルチメディア・コンピュータ・システムに使用するマル
チメディア・コンピュータ・サブシステムにおいて、 ディジタル信号処理要求を実行するためのディジタル信
号プロセッサと、 ユーザ・タスク・プログラムを実行するホスト・プロセ
ッサ手段(DP)と、 ディジタル信号処理要求を、その綜合DMAリソース要
求が前記ディジタル信号プロセッサに対して利用可能な
DMAリソースを超えない範囲で前記ディジタル信号プ
ロセッサに与えるように前記ホスト・プロセッサを制御
する手段と、 前記ホスト・システム・バスを介する前記ホスト・プロ
セッサ及び前記ディジタル信号プロセッサの間のデータ
の移動を制御するプロセッサ間DMA入出力制御装置
と、 を含むマルチメディア・コンピュータ・サブシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US76153491A | 1991-09-18 | 1991-09-18 | |
| US761534 | 1991-09-18 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05204828A JPH05204828A (ja) | 1993-08-13 |
| JPH0827782B2 true JPH0827782B2 (ja) | 1996-03-21 |
Family
ID=25062507
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4207901A Expired - Fee Related JPH0827782B2 (ja) | 1991-09-18 | 1992-08-04 | マルチメディア・コンピュータ・システム、該システムの動作を制御する方法及びマルチメディア・コンピュータ・サブシステム |
Country Status (15)
| Country | Link |
|---|---|
| US (3) | US5404522A (ja) |
| EP (1) | EP0604471B1 (ja) |
| JP (1) | JPH0827782B2 (ja) |
| KR (1) | KR970000910B1 (ja) |
| CN (1) | CN1026733C (ja) |
| AT (1) | ATE149259T1 (ja) |
| BR (1) | BR9203427A (ja) |
| CA (1) | CA2069711C (ja) |
| CZ (1) | CZ290716B6 (ja) |
| DE (1) | DE69217664T2 (ja) |
| HU (1) | HU219533B (ja) |
| PH (1) | PH31674A (ja) |
| PL (1) | PL170083B1 (ja) |
| SK (1) | SK31194A3 (ja) |
| WO (1) | WO1993006553A1 (ja) |
Families Citing this family (122)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5440740A (en) * | 1992-10-13 | 1995-08-08 | Chen; Fetchi | System and method for managing devices on multiple digital signal processors |
| US6026443A (en) * | 1992-12-22 | 2000-02-15 | Sun Microsystems, Inc. | Multi-virtual DMA channels, multi-bandwidth groups, host based cellification and reassembly, and asynchronous transfer mode network interface |
| US5655151A (en) * | 1994-01-28 | 1997-08-05 | Apple Computer, Inc. | DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer |
| US5828856A (en) * | 1994-01-28 | 1998-10-27 | Apple Computer, Inc. | Dual bus concurrent multi-channel direct memory access controller and method |
| US5805927A (en) * | 1994-01-28 | 1998-09-08 | Apple Computer, Inc. | Direct memory access channel architecture and method for reception of network information |
| WO1995027251A1 (en) * | 1994-03-30 | 1995-10-12 | Apple Computer, Inc. | Streaming storage system and streaming data buffer |
| DE4428068A1 (de) * | 1994-08-09 | 1996-02-15 | Sel Alcatel Ag | Telekommunikationsendgerät |
| TW270193B (ja) * | 1994-08-10 | 1996-02-11 | Ibm | |
| US5634076A (en) * | 1994-10-04 | 1997-05-27 | Analog Devices, Inc. | DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer |
| US5685005A (en) * | 1994-10-04 | 1997-11-04 | Analog Devices, Inc. | Digital signal processor configured for multiprocessing |
| US5634099A (en) * | 1994-12-09 | 1997-05-27 | International Business Machines Corporation | Direct memory access unit for transferring data between processor memories in multiprocessing systems |
| DE69614291T2 (de) * | 1995-03-17 | 2001-12-06 | Lsi Logic Corp., Fort Collins | (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung |
| US5864712A (en) * | 1995-03-17 | 1999-01-26 | Lsi Logic Corporation | Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment |
| US5774745A (en) * | 1995-03-31 | 1998-06-30 | Cirrus Logic, Inc. | Method and apparatus for writing and reading entries in an event status queue of a host memory |
| US5659749A (en) * | 1995-05-08 | 1997-08-19 | National Instruments Corporation | System and method for performing efficient hardware context switching in an instrumentation system |
| EP0834136B1 (en) * | 1995-06-07 | 1999-08-11 | Advanced Micro Devices, Inc. | Computer system having a dedicated multimedia engine including multimedia memory |
| US5870622A (en) * | 1995-06-07 | 1999-02-09 | Advanced Micro Devices, Inc. | Computer system and method for transferring commands and data to a dedicated multimedia engine |
| WO1997006490A1 (en) * | 1995-08-09 | 1997-02-20 | Cirrus Logic, Inc. | Parasitic personal computer interface |
| US5784592A (en) * | 1995-09-11 | 1998-07-21 | Advanced Micro Devices, Inc. | Computer system which includes a local expansion bus and a dedicated real-time bus for increased multimedia performance |
| US5692211A (en) * | 1995-09-11 | 1997-11-25 | Advanced Micro Devices, Inc. | Computer system and method having a dedicated multimedia engine and including separate command and data paths |
| WO1997021192A1 (en) * | 1995-12-06 | 1997-06-12 | Intergraph Corporation | Peer-to-peer parallel processing graphics accelerator |
| US5748921A (en) * | 1995-12-11 | 1998-05-05 | Advanced Micro Devices, Inc. | Computer system including a plurality of multimedia devices each having a high-speed memory data channel for accessing system memory |
| US5761532A (en) * | 1995-12-29 | 1998-06-02 | Intel Corporation | Direct memory access controller with interface configured to generate wait states |
| US5896543A (en) * | 1996-01-25 | 1999-04-20 | Analog Devices, Inc. | Digital signal processor architecture |
| US5954811A (en) * | 1996-01-25 | 1999-09-21 | Analog Devices, Inc. | Digital signal processor architecture |
| JPH09212461A (ja) * | 1996-01-29 | 1997-08-15 | Internatl Business Mach Corp <Ibm> | データ転送制御方法 |
| US6115767A (en) * | 1996-03-04 | 2000-09-05 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method of partially transferring data through bus and bus master control device |
| US5987590A (en) * | 1996-04-02 | 1999-11-16 | Texas Instruments Incorporated | PC circuits, systems and methods |
| US5894554A (en) | 1996-04-23 | 1999-04-13 | Infospinner, Inc. | System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests |
| US6006286A (en) * | 1996-04-26 | 1999-12-21 | Texas Instruments Incorporated | System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions |
| EP0804008B1 (en) * | 1996-04-26 | 2006-11-15 | Texas Instruments Incorporated | Apparatus for data packet transfer control |
| US5898892A (en) * | 1996-05-17 | 1999-04-27 | Advanced Micro Devices, Inc. | Computer system with a data cache for providing real-time multimedia data to a multimedia engine |
| US5805838A (en) * | 1996-05-31 | 1998-09-08 | Sun Microsystems, Inc. | Fast arbiter with decision storage |
| US6832380B1 (en) * | 1996-06-28 | 2004-12-14 | Tarantella, Inc. | Client-server application partitioning with metering technique for distributed computing |
| US5898895A (en) * | 1996-10-10 | 1999-04-27 | Unisys Corporation | System and method for controlling data transmission rates between circuits in different clock domains via selectable acknowledge signal timing |
| US5926649A (en) * | 1996-10-23 | 1999-07-20 | Industrial Technology Research Institute | Media server for storage and retrieval of voluminous multimedia data |
| US6076127A (en) * | 1996-11-06 | 2000-06-13 | International Business Machines Corporation | Configuration of a single point bus arbitration scheme using on-chip arbiters |
| US6055619A (en) * | 1997-02-07 | 2000-04-25 | Cirrus Logic, Inc. | Circuits, system, and methods for processing multiple data streams |
| US6259957B1 (en) | 1997-04-04 | 2001-07-10 | Cirrus Logic, Inc. | Circuits and methods for implementing audio Codecs and systems using the same |
| JPH10328163A (ja) | 1997-05-28 | 1998-12-15 | Siemens Ag | 核スピン断層撮影装置のためのパルスシーケンスの制御方法及び装置 |
| US6539415B1 (en) * | 1997-09-24 | 2003-03-25 | Sony Corporation | Method and apparatus for the allocation of audio/video tasks in a network system |
| US6002882A (en) * | 1997-11-03 | 1999-12-14 | Analog Devices, Inc. | Bidirectional communication port for digital signal processor |
| US5938744A (en) * | 1997-11-04 | 1999-08-17 | Aiwa/Raid Technlogy, | Method for managing multiple DMA queues by a single controller |
| US6061779A (en) * | 1998-01-16 | 2000-05-09 | Analog Devices, Inc. | Digital signal processor having data alignment buffer for performing unaligned data accesses |
| EP0936813A1 (en) | 1998-02-16 | 1999-08-18 | CANAL+ Société Anonyme | Processing of digital picture data in a decoder |
| US6253237B1 (en) * | 1998-05-20 | 2001-06-26 | Audible, Inc. | Personalized time-shifted programming |
| US6421702B1 (en) * | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
| US6502123B1 (en) | 1998-06-09 | 2002-12-31 | Advanced Micro Devices, Inc. | Isochronous system using certified drivers to ensure system stability |
| US6418459B1 (en) * | 1998-06-09 | 2002-07-09 | Advanced Micro Devices, Inc. | Isochronous task scheduling structure for a non-real-time operating system |
| US6704763B1 (en) | 1998-06-09 | 2004-03-09 | Advanced Micro Devices, Inc. | Hardware enforcement mechanism for an isochronous task scheduler |
| US7616200B1 (en) | 1998-06-12 | 2009-11-10 | 3Dlabs Inc. Ltd. | System for reducing aliasing on a display device |
| US6378017B1 (en) * | 1998-07-08 | 2002-04-23 | Nms Communications Corporation | Processor interconnection |
| US7518616B1 (en) | 1998-07-17 | 2009-04-14 | 3Dlabs, Inc. Ltd. | Graphics processor with texture memory allocation system |
| US6518971B1 (en) | 1998-07-17 | 2003-02-11 | 3Dlabs Inc. Ltd. | Graphics processing system with multiple strip breakers |
| US6157393A (en) * | 1998-07-17 | 2000-12-05 | Intergraph Corporation | Apparatus and method of directing graphical data to a display device |
| US6480913B1 (en) | 1998-07-17 | 2002-11-12 | 3Dlabs Inc. Led. | Data sequencer with MUX select input for converting input data stream and to specific output data stream using two exclusive-or logic gates and counter |
| US6181355B1 (en) | 1998-07-17 | 2001-01-30 | 3Dlabs Inc. Ltd. | Graphics processing with transcendental function generator |
| US6577316B2 (en) | 1998-07-17 | 2003-06-10 | 3Dlabs, Inc., Ltd | Wide instruction word graphics processor |
| WO2000004495A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | System for processing vertices from a graphics request stream |
| US6459453B1 (en) | 1998-07-17 | 2002-10-01 | 3Dlabs Inc. Ltd. | System for displaying a television signal on a computer monitor |
| WO2000004482A2 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Multi-processor graphics accelerator |
| US6415345B1 (en) * | 1998-08-03 | 2002-07-02 | Ati Technologies | Bus mastering interface control system for transferring multistream data over a host bus |
| US6219725B1 (en) * | 1998-08-28 | 2001-04-17 | Hewlett-Packard Company | Method and apparatus for performing direct memory access transfers involving non-sequentially-addressable memory locations |
| US6233639B1 (en) | 1999-01-04 | 2001-05-15 | International Business Machines Corporation | Memory card utilizing two wire bus |
| US6674440B1 (en) | 1999-04-05 | 2004-01-06 | 3Dlabs, Inc., Inc. Ltd. | Graphics processor for stereoscopically displaying a graphical image |
| GB9909196D0 (en) * | 1999-04-21 | 1999-06-16 | Texas Instruments Ltd | Transfer controller with hub and ports architecture |
| EP1059781B1 (de) | 1999-05-06 | 2007-09-05 | Siemens Aktiengesellschaft | Kommunikationseinrichtung mit Mitteln zur Echtzeitverarbeitung von zu übertragenden Nutzdaten |
| NO993483L (no) | 1999-07-15 | 2001-01-16 | Ericsson Telefon Ab L M | Fremgangsmåte og anordning for effektiv overföring av datapakker |
| US6892339B1 (en) * | 1999-09-20 | 2005-05-10 | Freescale Semiconductor, Inc. | Discrete multi-tone (DMT) system and method that communicates a data pump data stream between a general purpose CPU and a DSP via a buffering scheme |
| US6421744B1 (en) * | 1999-10-25 | 2002-07-16 | Motorola, Inc. | Direct memory access controller and method therefor |
| US6985964B1 (en) * | 1999-12-22 | 2006-01-10 | Cisco Technology, Inc. | Network processor system including a central processor and at least one peripheral processor |
| US7661107B1 (en) * | 2000-01-18 | 2010-02-09 | Advanced Micro Devices, Inc. | Method and apparatus for dynamic allocation of processing resources |
| US6925641B1 (en) * | 2000-02-04 | 2005-08-02 | Xronix Communications, Inc. | Real time DSP load management system |
| US6757904B1 (en) * | 2000-03-10 | 2004-06-29 | Microsoft Corporation | Flexible interface for communicating between operating systems |
| US6615173B1 (en) * | 2000-08-28 | 2003-09-02 | International Business Machines Corporation | Real time audio transmission system supporting asynchronous input from a text-to-speech (TTS) engine |
| EP1317712A1 (en) * | 2000-09-06 | 2003-06-11 | Koninklijke Philips Electronics N.V. | Inter-processor communication system |
| JP2004512716A (ja) * | 2000-10-02 | 2004-04-22 | アルテラ・コーポレイション | 専用プロセッサ装置を含むプログラマブルロジック集積回路装置 |
| US6721826B2 (en) * | 2001-09-25 | 2004-04-13 | Lsi Logic Corporation | Buffer partitioning for managing multiple data streams |
| EP1514187A2 (en) * | 2001-10-10 | 2005-03-16 | Gartner Inc. | System and method for assigning an engine measure metric to a computing system |
| US7234144B2 (en) * | 2002-01-04 | 2007-06-19 | Microsoft Corporation | Methods and system for managing computational resources of a coprocessor in a computing system |
| US7302503B2 (en) * | 2002-04-01 | 2007-11-27 | Broadcom Corporation | Memory access engine having multi-level command structure |
| EP1351514A3 (en) * | 2002-04-01 | 2005-07-20 | Broadcom Corporation | Memory acces engine having multi-level command structure |
| US7426182B1 (en) * | 2002-08-28 | 2008-09-16 | Cisco Technology, Inc. | Method of managing signal processing resources |
| JP3887005B2 (ja) * | 2003-08-07 | 2007-02-28 | 松下電器産業株式会社 | プロセッサ集積回路 |
| US20050038946A1 (en) * | 2003-08-12 | 2005-02-17 | Tadpole Computer, Inc. | System and method using a high speed interface in a system having co-processors |
| US20050086040A1 (en) * | 2003-10-02 | 2005-04-21 | Curtis Davis | System incorporating physics processing unit |
| US7739479B2 (en) * | 2003-10-02 | 2010-06-15 | Nvidia Corporation | Method for providing physics simulation data |
| US7895411B2 (en) * | 2003-10-02 | 2011-02-22 | Nvidia Corporation | Physics processing unit |
| JP2005128963A (ja) * | 2003-10-27 | 2005-05-19 | Toshiba Information Systems (Japan) Corp | 記憶制御装置及びdma転送が可能な制御システム |
| US7188195B2 (en) * | 2003-11-14 | 2007-03-06 | Hewlett-Packard Development Company, L.P. | DMA slot allocation |
| US7240135B2 (en) * | 2004-03-05 | 2007-07-03 | International Business Machines Corporation | Method of balancing work load with prioritized tasks across a multitude of communication ports |
| US20050251644A1 (en) * | 2004-05-06 | 2005-11-10 | Monier Maher | Physics processing unit instruction set architecture |
| US7457484B2 (en) * | 2004-06-23 | 2008-11-25 | Creative Technology Ltd | Method and device to process digital media streams |
| US20060026308A1 (en) * | 2004-07-29 | 2006-02-02 | International Business Machines Corporation | DMAC issue mechanism via streaming ID method |
| JP4585809B2 (ja) * | 2004-08-02 | 2010-11-24 | 株式会社リコー | 画像処理制御装置 |
| US20060075157A1 (en) * | 2004-09-28 | 2006-04-06 | Paul Marchal | Programmable memory interfacing device for use in active memory management |
| EP1647894A3 (en) | 2004-10-12 | 2007-11-21 | NEC Electronics Corporation | Information processing apparatus with parallel DMA processes |
| US8079036B2 (en) * | 2004-11-10 | 2011-12-13 | Microsoft Corporation | Method and system for structured DMA transactions |
| US7369502B2 (en) * | 2004-12-02 | 2008-05-06 | Cisco Technology, Inc. | Intelligent provisioning of DSP channels for codec changes |
| US7774584B2 (en) * | 2005-03-30 | 2010-08-10 | Freescale Semiconductor, Inc. | Discrete multi-tone (DMT) system and method that communicates a data pump data stream between a general purpose CPU and a DSP via a buffering scheme |
| US7697536B2 (en) * | 2005-04-01 | 2010-04-13 | International Business Machines Corporation | Network communications for operating system partitions |
| US7620746B2 (en) * | 2005-09-29 | 2009-11-17 | Apple Inc. | Functional DMA performing operation on DMA data and writing result of operation |
| US7496695B2 (en) * | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
| JP2007156824A (ja) * | 2005-12-05 | 2007-06-21 | Nec Electronics Corp | プロセッサシステム、タスク制御方法 |
| US7415449B2 (en) * | 2006-01-30 | 2008-08-19 | Xerox Corporation | Solution recommendation based on incomplete data sets |
| US20090222270A2 (en) * | 2006-02-14 | 2009-09-03 | Ivc Inc. | Voice command interface device |
| US8069279B2 (en) * | 2007-03-05 | 2011-11-29 | Apple Inc. | Data flow control within and between DMA channels |
| GB2459331B (en) * | 2008-04-24 | 2012-02-15 | Icera Inc | Direct Memory Access (DMA) via a serial link |
| US8526460B2 (en) * | 2008-10-01 | 2013-09-03 | Harris Corporation | Systems and methods for scheduling asynchronous tasks to residual channel space |
| US8181184B2 (en) * | 2008-10-17 | 2012-05-15 | Harris Corporation | System and method for scheduling tasks in processing frames |
| US8719463B2 (en) * | 2010-11-16 | 2014-05-06 | Taiwan Semiconductor Manufacturing Company, Ltd. | Processor with tightly coupled smart memory unit |
| US8843714B1 (en) * | 2011-03-30 | 2014-09-23 | Emc Corporation | Write pacing simulation tool |
| US9553590B1 (en) | 2012-10-29 | 2017-01-24 | Altera Corporation | Configuring programmable integrated circuit device resources as processing elements |
| CN103955408B (zh) * | 2014-04-24 | 2018-11-16 | 深圳中微电科技有限公司 | Mvp处理器中有dma参与的线程管理方法及装置 |
| US10452392B1 (en) | 2015-01-20 | 2019-10-22 | Altera Corporation | Configuring programmable integrated circuit device resources as processors |
| US10110233B2 (en) | 2016-06-23 | 2018-10-23 | Altera Corporation | Methods for specifying processor architectures for programmable integrated circuits |
| US10805424B2 (en) | 2017-06-29 | 2020-10-13 | Bank Of America Corporation | System for sending digital requests for resource transfers |
| CN111093109B (zh) * | 2018-10-24 | 2022-07-29 | 杭州海康威视数字技术股份有限公司 | 媒体数据播放处理方法、媒体播放设备 |
| CN112328519B (zh) * | 2020-09-30 | 2022-02-18 | 郑州信大捷安信息技术股份有限公司 | 一种pcie设备、基于sr-iov的数据包有序传输方法和系统 |
| CN112328520B (zh) * | 2020-09-30 | 2022-02-11 | 郑州信大捷安信息技术股份有限公司 | 一种pcie设备、基于pcie设备的数据传输方法和系统 |
| US20220029936A1 (en) * | 2021-06-01 | 2022-01-27 | Fujitsu Limited | Packet transmission device and packet transmission method |
| CN117215664B (zh) * | 2023-08-21 | 2024-06-11 | 白盒子(上海)微电子科技有限公司 | 一种片上系统多核dsp快速启动方法 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS603216B2 (ja) * | 1977-12-26 | 1985-01-26 | 富士通株式会社 | デ−タ処理システム運転制御方式 |
| US4485438A (en) * | 1982-06-28 | 1984-11-27 | Myrmo Erik R | High transfer rate between multi-processor units |
| JPS63153643A (ja) * | 1986-12-17 | 1988-06-27 | Mitsubishi Electric Corp | ジヨブの選択制御方式 |
| CA1279393C (en) * | 1987-01-23 | 1991-01-22 | A. David Milton | Digital signal processing system |
| US5195092A (en) * | 1987-08-04 | 1993-03-16 | Telaction Corporation | Interactive multimedia presentation & communication system |
| US4930069A (en) * | 1987-11-18 | 1990-05-29 | International Business Machines Corporation | Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities |
| JPH065524B2 (ja) * | 1987-11-18 | 1994-01-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶装置管理方法 |
| US5142672A (en) * | 1987-12-15 | 1992-08-25 | Advanced Micro Devices, Inc. | Data transfer controller incorporating direct memory access channels and address mapped input/output windows |
| JPH01291545A (ja) * | 1988-05-18 | 1989-11-24 | Fujitsu Ltd | マルチメディア多重化装置 |
| US5003465A (en) * | 1988-06-27 | 1991-03-26 | International Business Machines Corp. | Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device |
| US4935868A (en) * | 1988-11-28 | 1990-06-19 | Ncr Corporation | Multiple port bus interface controller with slave bus |
| JPH02170644A (ja) * | 1988-12-22 | 1990-07-02 | Nec Corp | マルチメディア通信システムの優先送信方法 |
| US5377332A (en) * | 1989-10-02 | 1994-12-27 | Data General Corporation | Bus arbitration algorithm and apparatus |
| US5247626A (en) * | 1990-05-29 | 1993-09-21 | Advanced Micro Devices, Inc. | Fddi controller having flexible buffer management |
| US5303369A (en) * | 1990-08-31 | 1994-04-12 | Texas Instruments Incorporated | Scheduling system for multiprocessor operating system |
| US5165021A (en) * | 1991-01-18 | 1992-11-17 | Racal-Datacom, Inc. | Transmit queue with loadsheding |
| US5226041A (en) * | 1991-02-21 | 1993-07-06 | International Business Machines Corporation | Method for efficiently simulating the dynamic behavior of a data communications network |
-
1992
- 1992-05-27 CA CA002069711A patent/CA2069711C/en not_active Expired - Fee Related
- 1992-08-04 JP JP4207901A patent/JPH0827782B2/ja not_active Expired - Fee Related
- 1992-08-18 PH PH44829A patent/PH31674A/en unknown
- 1992-08-18 CN CN92108730A patent/CN1026733C/zh not_active Expired - Fee Related
- 1992-08-18 KR KR1019920014825A patent/KR970000910B1/ko not_active Expired - Fee Related
- 1992-08-26 WO PCT/EP1992/001965 patent/WO1993006553A1/en not_active Ceased
- 1992-08-26 EP EP92918307A patent/EP0604471B1/en not_active Expired - Lifetime
- 1992-08-26 PL PL92302682A patent/PL170083B1/pl not_active IP Right Cessation
- 1992-08-26 HU HU9400792A patent/HU219533B/hu not_active IP Right Cessation
- 1992-08-26 AT AT92918307T patent/ATE149259T1/de not_active IP Right Cessation
- 1992-08-26 CZ CZ1994549A patent/CZ290716B6/cs not_active IP Right Cessation
- 1992-08-26 SK SK311-94A patent/SK31194A3/sk unknown
- 1992-08-26 DE DE69217664T patent/DE69217664T2/de not_active Expired - Fee Related
- 1992-09-02 BR BR929203427A patent/BR9203427A/pt not_active IP Right Cessation
-
1993
- 1993-10-26 US US08/143,406 patent/US5404522A/en not_active Expired - Fee Related
-
1995
- 1995-02-06 US US08/384,192 patent/US5724583A/en not_active Expired - Fee Related
- 1995-06-08 US US08/474,713 patent/US5724587A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| HU219533B (hu) | 2001-05-28 |
| ATE149259T1 (de) | 1997-03-15 |
| PL170083B1 (pl) | 1996-10-31 |
| EP0604471B1 (en) | 1997-02-26 |
| CZ290716B6 (cs) | 2002-10-16 |
| SK31194A3 (en) | 1994-07-06 |
| KR930006550A (ko) | 1993-04-21 |
| HUT68084A (en) | 1995-05-29 |
| PH31674A (en) | 1999-01-18 |
| US5724587A (en) | 1998-03-03 |
| US5404522A (en) | 1995-04-04 |
| CN1026733C (zh) | 1994-11-23 |
| JPH05204828A (ja) | 1993-08-13 |
| WO1993006553A1 (en) | 1993-04-01 |
| KR970000910B1 (ko) | 1997-01-21 |
| CN1070751A (zh) | 1993-04-07 |
| BR9203427A (pt) | 1993-04-20 |
| EP0604471A1 (en) | 1994-07-06 |
| CA2069711C (en) | 1999-11-30 |
| HU9400792D0 (en) | 1994-07-28 |
| CZ9400549A3 (cs) | 2002-05-15 |
| DE69217664T2 (de) | 1997-09-11 |
| DE69217664D1 (de) | 1997-04-03 |
| US5724583A (en) | 1998-03-03 |
| CA2069711A1 (en) | 1993-03-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0827782B2 (ja) | マルチメディア・コンピュータ・システム、該システムの動作を制御する方法及びマルチメディア・コンピュータ・サブシステム | |
| JP3273202B2 (ja) | 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ | |
| JP3271125B2 (ja) | データを転送する方法と装置及びデータ転送をインタリーブする装置 | |
| EP0732659B1 (en) | Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment | |
| US5832492A (en) | Method of scheduling interrupts to the linked lists of transfer descriptors scheduled at intervals on a serial bus | |
| US5864712A (en) | Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment | |
| JP3251815B2 (ja) | 対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム | |
| US5784649A (en) | Multi-threaded FIFO pool buffer and bus transfer control system | |
| US5740406A (en) | Method and apparatus for providing fifo buffer input to an input/output device used in a computer system | |
| USRE38134E1 (en) | System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally | |
| US5828881A (en) | System and method for stack-based processing of multiple real-time audio tasks | |
| JP3335172B2 (ja) | データ処理システム及びそれに使用するための入出力プロセッサ | |
| JPH04290150A (ja) | Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置 | |
| US5696990A (en) | Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area | |
| EP0895619A1 (en) | Method and apparatus supporting demand driven multiple parallel digital data stream transport | |
| EP1405184A2 (en) | Data processing apparatus | |
| WO1997034234A9 (en) | Method and apparatus supporting demand driven multiple parallel digital data stream transport | |
| JP2853809B2 (ja) | 周辺コントローラのためのバッファメモリサブシステムおよび方法 | |
| US5805930A (en) | System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs | |
| US5392409A (en) | I/O execution method for a virtual machine system and system therefor | |
| US5911152A (en) | Computer system and method for storing data in a buffer which crosses page boundaries utilizing beginning and ending buffer pointers | |
| US4665481A (en) | Speeding up the response time of the direct multiplex control transfer facility | |
| JPH10269676A (ja) | データアクセス装置およびデータアクセス方法 | |
| CA1174373A (en) | Channel adapter for virtual storage system | |
| Fichera | Machine Tongues XIII: Real-Time Audio Conversion under a Time-Sharing Operating System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |