JPH10508963A - サウンド等用のコンピュータシステムにおけるコマンド処理及びデータ転送用のための装置と方法 - Google Patents

サウンド等用のコンピュータシステムにおけるコマンド処理及びデータ転送用のための装置と方法

Info

Publication number
JPH10508963A
JPH10508963A JP8516086A JP51608696A JPH10508963A JP H10508963 A JPH10508963 A JP H10508963A JP 8516086 A JP8516086 A JP 8516086A JP 51608696 A JP51608696 A JP 51608696A JP H10508963 A JPH10508963 A JP H10508963A
Authority
JP
Japan
Prior art keywords
sound
cpu
bus
memory
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP8516086A
Other languages
English (en)
Inventor
ポール ビー. ウッド
マルク エム. スティマック
Original Assignee
ブルックトリー コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ブルックトリー コーポレーション filed Critical ブルックトリー コーポレーション
Publication of JPH10508963A publication Critical patent/JPH10508963A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

(57)【要約】 コンピュータ内にサウンドを供給するためのシステムと方法を開示している。デジタル化されたサウンドI/O を制御するオーディオモジュールがメディアストリームコントローラに含まれている。メディアストリームコントローラはまたグラフィックスとビデオを整合させることができるため、マルチメディアサブシステムの単一バス装置によるサポートが可能である。ソフトウェアアプリケーションは、公知のDMA モードコマンドをメディアストリームコントローラに送ることによりサウンドデータ転送を開始することができる。メディアストリームコントローラは、公知のDMA コントローラを使用せずに要求を処理するサウンド割込みサービスルーチンを起動する。デジタル式のサウンドデータは、バーストモード高速ブロック転送コマンドを使用してローカルバスを通じて転送され、メディアストリームコントローラによってディスプレイメモリにバッファされる。同時に、メディアストリームコントローラは、二重バッファ方式によってディスプレイメモリからサウンド出力装置へとサウンドデータを送信することができる。あるいはまた、メディアストリームコントローラは、サウンド入力装置からのサウンドデータを読み取ってディスプレイメモリに格納する。サウンド割込みサービスルーチンは、サウンドデータブロックをソフトウェアアプリケーションに転送するように起動可能である。サウンドデータ転送が完了すると、サウンド割込みサービスルーチンはDMA コントローラ内のカウントをリセットし、DMA モード転送用に書き込みされたソフトウェアアプリケーションとの互換性をだす。このように、サウンドデータに関してバーストモード高速ブロック転送を使用して帯域幅をビデオ、グラフィックス、その他の用途用に開放し、しかも公知のDMA モードサウンドI/O との互換性が可能となる。

Description

【発明の詳細な説明】 サウンド等用のコンピュータシステムにおける コマンド処理及びデータ転送用のための装置と方法 発明の背景 1. 著作権者による許諾 本特許文書は著作権の保護対象となる部分を含む。著作権者は、米国特許商標 庁による正規の特許開示に伴うファックス再生については異議を唱えるものでは ないが、その他の場合は全て著作権による規制をうけるものである。 2. 発明の分野 この発明は、コンピュータシステムに於いてコマンドを処理しデータを転送す るための装置(システム)と方法に関する。詳しくは、サウンドI/O コマンドを 処理し、サウンドデータまたはこれに類するものを高速バスを通じて転送するた めの装置(システム)と方法に関する。 3. 背景技術 パーソナルコンピュータ及びワークステーションは、その導入以来ほぼ20年間 に渡り急速な発展を遂げている。プロセッサ、ディスプレイ、オーディオの各技 術に於ける驚異的発達により、パーソナルコンピュータは、今や単一のアプリケ ーションでカラーグラフィックス、ビデオ、ステレオサウンドを結合させるマル チメディア装置へと変貌してきている。 マルチメディアアプリケーションの開発につれて、主メモリと入出力(I/O ) 装置との間の高速且つ高帯域幅のデータ転送の必要性が増大している。拡張バス システムにおいて使用されている1つの 方法がダイレクトメモリアクセス(DMA )である。DMA コントローラはバスを引 き継ぎ、中央処理装置(CPU )による介入無しにデータを転送する。サウンドカ ードがISA 拡張バスに付着している場合にはこのデータ転送方法が一般的となっ ており、こうしたデータカード用としてソフトウェアアプリケーションの大規模 なインストールベースが設計されている。 しかしながら、従来の拡張バスを通じたデータ転送は、現代のマルチメディア ソフトアプリケーションに使用されるグラフィックス及びビデオシステムに対す る需要に応えることができない。むしろ、グラフィックス及びビデオシステムの 方がローカルバスに付着されることがますます多くなり、CPU によって開始され たバーストモードブロックデータ転送が従来のDMA システムよりも高速のデータ 転送をサポートしている。さらに、ローカルバスは一般に拡張バスより広いデー タ経路を有している。但し、VESAローカルバス及びPCIバスといったローカルバ スは、通常、DMA コントローラへの接続を供給していない。 このため、従来のサウンドシステム及びDMA を必要とするその他のシステムは 、こうした高速のローカルバスシステムとの互換性がなく、依然として拡張バス を使用している。ローカルバスシステム保有の高速データ転送を利用できないこ とがこうしたシステムの欠点である。これはまた、互換性のないデータタイプの 独立したコントローラを有する異なったバス上でグラフィックス、ビデオ、オー ディオの各サブシステムが別々に開発されるという事態をもたらしている。これ は結果的に、別個のサブシステムの管理に伴なうメモリスペース及びメモリ帯域 幅の浪費、バスインタフェース論理の重複、CPU サイクルの浪費をもたらす可能 性がある。 ここで必要なものは、他のデータ転送モードが供給する高速性を 利用しながら従来のDMA 転送をエミュレートするための方法とシステムである。 同じくここで必要なものは、従来のサウンドシステム用に書き込まれ、大規模 にインストールされたソフトウェアアプリケーションベースとの互換性を維持し ながら高速データ転送を利用するサウンドシステムである。こうしたシステムは 、バスを通じてサウンドデータを高速で転送させて帯域幅をビデオ及びグラフィ ックスにまで解放し、しかもサウンドデータを従来の低周波数でプレイ、記録さ せられるものであることが望ましい。さらに、グラフィックス、ビデオ、オーデ ィオが単一のサブシステムに結合されてローカルバスまたはその他の高速I/O バ スに付属しているようなマルチメディアシステムが必要とされている。 発明の要約 本発明の1つの形態は、従来の多くのサウンドカード及びソフトウェアアプリ ケーションとの互換性を有するように容易に適合化が可能な、高速データ転送の ためのサウンドシステムと方法を提供している。本発明のこの形態及び他の形態 に於ける利点は、従来のサウンドカード用に書き込まれたソフトウェアアプリケ ーションを無効とすることなく希望のデータ転送モードを利用できることにある 。本発明のこの形態及び他の形態に於けるさらなる利点は、他のアプリケーショ ンによる使用が可能なようにバス帯域幅を解放できることにある。さらに、従来 のDMA 転送に代ってより高速のデータ転送モードを使用することができく点も本 発明の利点である。 本発明の他の実施例によれば、非DMA バスへの接続を可能にし従来のDMA 転送 よりも高速で転送する非DMA モードのデータ転送を利用しながら従来のDMA 転送 をエミュレートするためのシステムと方法を提供している。本発明のこの実施例 の利点は、従来のDMA 転送 用に設計されたアプリケーションとの互換性を失うことなく非DMA バス用のバス 装置を開発できることにある。 本発明のさらに他の形態は、処理のためにサウンドデータまたはこれに類する もののブロックをバッファすることについて配慮している。本発明のこの形態及 び他の形態の利点は、サウンドデータまたはこれに類するものをI/O 装置によっ て従来の低周波数で処理しながらバスを通じて高周波数で転送できることにある 。 本発明のさらに他の実施例は、バス装置に送られるコマンドを処理する割込み サービスルーチンを提供している。さらに他の実施例は、バス装置からのコマン ドまたは結果を変更して、それが異なるシステム用に設計された第2割込みサー ビスルーチンへと互換的に移行可能にされるような割込みサービスルーチンを提 供している。これら実施例の利点は、バス装置の複雑さが低減され、またバス装 置を他のシステム用に開発された割込みサービスルーチンと共に使用できること にある。 本発明のさらなる実施例は、ビデオ、グラフィックス、サウンドを結合するサ ブシステムを提供する。さらにこの実施例の変形によれば、グラフィックス及び /或いはビデオ関連データ並びにサウンド関連データの保存に使用するディスプ レイメモリを提供する。これら実施例及びその変形の利点は、グラフィックス、 ビデオ、サウンド用の非互換的な多重サブシステムをなくすことができることに ある。グラフィックス、ビデオ、サウンド用として必要なメモリ及びその他の構 成要素数を減らせることが、本発明のこれらの形態及び他の形態に於けるもう1 つの利点である。 図面の簡単な説明 本発明のこうした特徴及び利点は、以下の図面の詳細説明から明白となるであ ろう。 図1は、パーソナルコンピュータにおいてサウンドを生成するための先行技術 によるシステムを示す簡易ブロック図である。 図2は、本発明の第1実施例によるシステムを示す簡易ブロック図である。 図3は、図2に示されているブロックの1つ(図2で「メディアストリームコ ントローラ」として明示されているブロック)を詳細に示すブロック図である。 図4は、第1実施例によるシステムに於けるサウンド生成方法を示す簡易ブロ ック図である。 図5は、第1実施例によるオーディオバッファの構造を示す簡易ブロック図で ある。 図6は、第1実施例による音声割込みサービスルーチンに於ける初期のDMA コ マンド処理を示すフローチャートである。 図7は、本発明による音声割込みサービスルーチンに於ける第2DMAコマンド処 理を示すフローチャートである。 図8A及び8Bは、合同で第1実施例による図3の「オーディオモジュール」ブロ ックの部分、及び図3の「マルチメディアストリームコントローラ」ブロックか らの関連要素をより詳細に示すブロック図を構成している。 発明の詳細な説明 図1は、パーソナルコンピュータにおいて音声を生成する従来のシステム(概 して10で指示されている)を示した簡易ブロック図である。図1について説明す ると、本システムは、中央処理装置(CPU)11と実行命令及びシステム用データの 両方を格納するための主メモリ12を含んでいる。同システムはさらに主メモリコ ントローラ14、ダイレクトメモリアクセス(DMA )コントローラ16、及び慣用技 術である標準アーキテクチャ(ISA )拡張バスに対応する「ISA 」バ スコントローラと称されるバスコントローラ18を含む。ISA 拡張バスと関連アー キテクチャの詳細は、トム・シャンレイ、ドン・アンダーソン共著ISA システム アーキテクチャ PCシステムアーキテクチャシリーズ第1巻(マインドシャープレ ス、1993年第2版)(以下、「ISA アーキテクチャ」と称す)が参考になる。図 1のシステムでは、CPU 11、主メモリコントローラ14、DMA コントローラ16、IS A バスコントローラ18がローカルバス20に接続されている。メモリバス22は、主 メモリコントローラ14を主メモリ12に接続している。 ISA 拡張バス24は、ISA バスコントローラ18から伸長している。ISA バスは、 制御ライン、アドレスライン、データラインを含んでいる。ISA バスをモニター する装置は、アドレスライン上にそのアドレスを認識するとバスのデータライン からデータを読み出し、適当な措置を執る。バスマスターになることにより、装 置がバスを制御することも可能である。装置がバスマスターであるときは、他の 装置による読み取りように同装置がバス上にアドレス及びデータを主張する。さ らに、装置はDMA 及び割込みコントローラに対して特別な措置を要求することが できる。DMA コントローラに対する要求からは、主メモリとISA バス上の要求装 置との間のデータ転送が生起される。割込みコントローラに対する要求からは割 込みが発生し、主メモリに格納された対応する割込みサービスルーチン(ISR ) をCPU に実行させる。 一般に、拡張スロットは、拡張カードをISA バス24に付加できるように供給さ れている。例えば、図1はISA バスに接続された従来のサウンドカード26を示し ている。一般に、サウンドカード26はデジタル化された従来のサウンドI/O との 互換性を有するように設計されている。従来のサウンドカードのより詳細は、例 えば、ハードウェアプログラミングレファレンス(以下、「ハードウェアレファ レンス」と称す)、プログラマーのためのガイド、及びライブラリーレファレン ス(参照用としてここに紹介する)を含む「サウンドブラスタ(商標)シリーズ のためのデベロッパーキット」(クリエイティブラボ、第2版、1993年10月)が 参考になる。 図1に於ける典型的サウンドカード26は、マイクロフォンまたはこれに類する もののような入力装置からサウンド関連データを受信するための、一般に「サウ ンドイン」と明示される入力ラインを有している。こうしたラインは、それぞれ A、Bとして示されたライン36及び38の対によって表示されている。サウンドカ ード26はまた、スピーカーまたはこれに類するもののような出力装置へサウンド 関連データを出力するための、通常「サウンドアウト」と明示される一対の出力 ライン40を有している。ライン40のペアは、各々が「L」及び「R」と称され、 左及び右チャネルからのステレオベースのサウンド出力を指示している。 こうしたカードが使用するデジタルサウンドI/O は、一般にI/O ポート、DMA 転送、及び割込みの使用を含む。図1が示すように、サウンドカード26は、各々 「DMA 1 ACK」、「DMA 1 REQ」と称されるライン28、30によってISA バスコント ローラに接続さる。こうしたラインによって、サウンドカード26はDMA 転送に要 求し、DMA コントローラからの肯定応答を受信することができる。ダイレクトメ モリアクセスに関するさらに詳細は、ISA アーキテクチャ(367〜387 )が参考 になる。 図1が示すように、割込みライン41は、サウンドカード26から割込みコントロ ーラ42へと伸長してサウンドカード26による割込み要求の生成を可能にしている 。当業者には容易に明白となるように、サウンドカード26及び関連ソフトは、割 込みコントローラが供給する幾つかの割込み要求ラインの何れかを使用できるよ うに構築する ことができる。図1では、割込みライン41が例示としてIRQ4と明示されている。 割込みコントローラは、割込み要求を受信するとライン44を通じてCPU 11と通信 可能になる。割込みコントローラ42もまた、ローカルバス20との共通接続を有し ている。割込みに関する詳細については、ISA アーキテクチャ(331 〜366 )が 参考になる。 ソフトウェアアプリケーションは、直接またはドライバーを通じてサウンドカ ード26上のI/O ポートにアクセスすることにより、図1のシステムにサウンドを 生成することができる。サウンドカード26には、ジャンパ選択可ベースアドレス が割り当てられ、カードが使用する様々なポートはそのベースアドレスからのオ フセットとして確定されている。例えば、ベースアドレスは220hexとすることが できる。ハードウェアレファレンス(2-2 )及び本記載によって参照用として編 入されている付録Aを参照して頂きたい。図1のサウンドカード26は、リセット ポート(6hexのオフセットに所在)、データ読取ポート(A-hex のオフセットに 所在)、コマンド/データ書込ポート(C-hex のオフセットに所在)、バッファ 状態書込ポート(同じくC-hex のオフセットに所在)、及びバッファ状態読取ポ ート(E-hex のオフセットに所在)を含んでいる。 ソフトウェアアプリケーションによって使用されるまでに、サウンドカード26 は、リセットポートへの書き込み、及びデータ読み取りポートからの「レディ(r eady)」バイトの読み取りによってリセットされる。これによって、サウンドカ ードは初期設定された初期状態となる。次いで、状態読取ポートのチェックによ ってサウンドカードからのデータの読み取りが行われ、データ読取ポートからの 受信データの存在が確認される。状態読取ポートの確認が終わると、データ読取 ポートからのデータの読み込みが可能となる。サウンドカード26へコマンドまた はデータを書き込むため、ソフトウェアは まずバッファ状態書込ポートをチェックしてカードがコマンドまたはデータを受 信可能な状態であることを確認する。これで、コマンドまたはデータのコマンド /データ書込ポートへの書き込みが可能となる。さらに、ソフトウェアアプリケ ーションが使用する割込みサービスルーチン(ISR )が、バッファ状態読取ポー トを一旦読み取ることによって割込みを認識する。他のサウンドカードでは、別 個の割込み状態ポートを使用して任意の割込みを認識する場合がある。この点は ハードウェアレファレンス(2-1 至る2-7 )に詳しい。 デジタル化されたサウンドの入出力は、サウンド関連データをサウンドカード 26とソフトウェアアプリケーションの間で転送させて実行される。サウンドデー タは、パルス符号変調(PCM )フォーマット及び圧縮した適応デルタパルス符号 変調(ADPCM )フォーマットを含む(但し、これに限定されない)幾つかの技術 上周知のフォーマットの何れかにすることができる。この定型化されたデータは 、直接モード、単サイクルDMA モード、自動初期設定DMA モード、高速DMA モー ド、及びADPCM DMA モードを含む(但し、これに限定されない)様々な技術を使 用して転送が可能である。この点はハードウェアレファレンス(3-1 至る3-10) に詳しい。 DMA モードでは、ダイレクトメモリアクセスを使用してデータをサウンドカー ド26に転送することができる。ダイレクトメモリアクセスを使用する際は、DMA コントローラが一時的にバスを制御して主メモリ12及び指定I/O ポート間でデー タを直接転送する。このデータ転送は主としてハードウェアが統制することから 、プログラム命令を使用してISA バス経由でデータを転送させるより高速である 。概して、サウンドカード26へのサウンドデータのDMA 転送は、サウンドデータ パケットを含む主メモリ内のバッファをセットアップすることにより制御される 。次いでDMA コントローラはバッファのア ドレス及び長さによってプログラムされ、DMA 転送開始のコマンドがサウンドカ ード26のコマンド/データ書込ポートに送信される。パケットが転送されるとサ ウンドカード26は割込み要求を生成し、アプリケーションソフトまたはドライバ ーによってセットアップされた対応ISR が実行される。ISR は次に、追加のサウ ンドパケットを転送用にセットアップするか、或いはデータ転送を終了させるこ とができる。 この工程をさらに詳細に説明する。但し、説明は例示的なものであり、またDM A 工程は特定の転送実行タイプによって種々変更できること勿論である。この工 程の詳細は、ハードウェアレファレンス(3-11至る3-29)が参考になる。一般に DMA 転送の場合、アプリケーションまたはドライバーが割込みサービスルーチン (ISR )をまずセットアップし、対応する割込みを有効化する。他のISR との混 同を避けるため、アプリケーションまたはドライバーによってセットアップされ たISR をドライバーISR と呼ぶことにする。但し、ソフトウェアアプリケーショ ンはこのISR を直接セットアップすることが可能であり、またドライバーは必要 でないことは自明と思われる。周知の技術を使用して、ドライバーISR はサウン ドカード26からの割込み要求で起動されるようにセットアップされ、その割込み 用の先行ISR が後の再生用に保存される。 次に、データ転送用にバッファが主メモリ内でセットアップされる。従来のDM A コントローラの持つ制約条件により、バッファは一般に64KBの物理的ページ境 界にまたがることができない。従って、サウンドデータは、各々が64KB以下のサ イズのパケットで転送されなければならない可能性がある。1パケットの転送後 は、サウンドカード26が割込みを生成し、ドライバーISR が次のパケットの転送 を起動する。 バッファのセットアップ後は、DMA コントローラが適当なデータ転送モード( 例、単サイクルまたは自動初期設定)でプログラムされる。さらに、DMA コント ローラのプログラミングには適当なDMA チャネルの有効化、及び主メモリにパケ ットを含むバッファのベースアドレス及び長さの供給が含まれる。 次に、サウンドカード26にはデータ転送の速度を制御する時間定数が与えられ る。これは、技術上周知のように、時間定数を特定する1バイトの変数を従えた 時間定数設定コマンドをサウンドカード26上のコマンド/データ書込ポートに書 き込むことにより達成される。次いで、I/O コマンドがサウンドカード26に送ら れてDMA 転送が開始される。これは、サウンドカード26上のコマンド/データ書 込ポートへI/O コマンドを書いて実行される。一般にサウンドカードに使用され るI/O コマンドの例は、ハードウェアレファレンス(6-1 至る6-29)に説明され ている。 サウンドカード26は、次にDMA 1 REQ ライン上で論理0を主張することにより DMA 転送を要求する。これは、主メモリ内のバッファのベースアドレスからデー タを取得するためのDMA コントローラ16に対する要求に相当する。使用中のDMA チャネルが8ビットであるか、或いは16ビットであるかによって、1バイトまた は1ワードの何れかが転送される。サウンドデータが提供されると、DMA コント ローラ16は転送長の内部カウントを1整数分減少させ、バッファからのデータ検 索に使用するアドレスを1整数分増加する。 ISA バス24がサウンドデータを受信すると、DMA 1 ACK ライン上で論理0が主 張されてDMA 要求がサービスされていることを表示する。サウンドカード26は、 次にISA バス24からサウンドデータを読み取り、スピーカーまたはそれに類する もののような出力装置上でそれを出力してデータ表示のサウンドを生成する。サ ウンドカード 26は、ISA バス24からデータを受信するたびに、サウンドカード26内のパケット 長レジスタに保持されている転送長のカウントを減少させる。 次いで、サウンドカード26のパケット長レジスタのカウントが0になるまで、 パケット内のサウンドデータの後続部分に関してこの処理が繰り返される。同カ ウントが0になった時点で、バッファのパケット全体が転送を完了し、サウンド カード26が割込みライン41上に割込み要求を生成する。これにより、ドライバー ISR が起動される。ドライバーISR はマシンの状態を保持し、また転送するパケ ットがまだあるかどうかを決定する。サウンドデータのパケットがまだある場合 、ISR は次のパケット用にバッファをセットアップし、DMA コントローラを配置 し、サウンドカード26に向けてI/O コマンドを発行する。技術上周知のように、 この工程は自動初期設定モードに単純化することができる。この点はハードウェ アレファレンス(3-5 至る3-6 )に詳しい。 ドライバーISR は、次にサウンドカード26からの割込みを認識し、割込みコン トローラ42にEOI (割込みの終わり)を出力する。これでマシン状態が復元され 、IRET(割込みからの復帰)コマンドが実行される。アプリケーションとサウン ドカード26の間で転送するパケットがなくなるまで、この処理が続く。サウンド I/O に関してアプリケーションが終了すると、割込みは無能化され、原初の割込 みサービスルーチンが復元される。 上述の従来のシステムには、重大な限定事項が幾つか存在する。サウンドデー タの転送はISA 拡張バスを通じて行う必要があるが、この場合はデータ転送速度 が限定され、待ち時間も長い。データ転送速度が限定される理由は、ISA システ ムにおいて使用されるデータパスの帯域幅(16ビット)と複雑なDMA 転送プロト コルの両方に ある。これは、大量の帯域幅をビデオ及びグラフィックスに割り当てなければな らないマルチメディアシステム、またはサウンドデータに加えてバスを通じて大 量のデータを転送する必要のあるその他のシステムにおいては特に不利である。 ビデオ及びグラフィックスシステム用のブロック転送速度を増加しようとして 、VESAローカルバス及びPCI バスといったローカルバスまたはバーストモードの データ転送を使用する同様の高速バスが開発されてきた。高速バスシステムの説 明及び拡張バスとのデータ転送速度の比較は、トム・シャンレイ、ドン・アンダ ーソン共著PCI システムアーキテクチャPCシステムアーキテクチャシリーズ第4 巻(マインドシャープレス、第2版、1994年)(以下、「PCI アーキテクチャ」 と称する)が参考になる。但し、ISA ベースの従来のサウンドシステム及びその ために書き込まれたアプリケーションは、こうした高速バストの互換性がない場 合がある。このことが、ビデオ、グラフィックス、サウンドを含み、多くの従来 のソフトウェアアプリケーションと両立性のある完全なローカルバスマルチメデ ィアシステムの開発を妨げている。 伝統的に、グラフィックス、ビデオ、及びオーディオの各システムは、別々の コントローラが互換性のないデータタイプを保有する結果として、分離されたメ モリスペース及びバス接続を使用してきたことに留意しなければならない。これ は、独立したサブシステムを管理するための、メモリスペース及びメモリ帯域幅 の浪費、バスインタフェース論理の重複、及びCPU サイクルの浪費といった事態 をもたらす可能性がある。結果的に、こうしたケイパビリティを提供するための 費用が比較的高くなっていた。 図2では、本発明の第1実施例によるシステムの概略を50としてブロック形式 で示している。第1実施例のシステムは、図1のシス テムと同じ構成要素を数多く含んでいる。これには、CPU 11、出力メモリ12、出 力メモリコントローラ14、DMA コントローラ16、ISA バスコントローラ18、ロー カルバス20、ISA バス24が図のように接続されて含まれている。こうした構成要 素の相互接続及びオペレーションは、当業者には理解されるであろう。 図2が示すシステム50にはまた、ローカルバスブリッジ52がローカルバス20に 接続されて含まれている。第1実施例では、ブリッジ52がPCI バスコンプライア ントシステムを供給することが望ましい(但し、VESAローカルバスシステムのよ うな他のバスシステムのサポートも可能である)。高速I/O バス54は、ブリッジ 52、周辺I/O インタフェース60、及びメディアストリームコントローラ58との共 通接続を有している。第1実施例では高速I/O バス54がブリッジによってローカ ルバスに接続されているが、本発明の他の実施例は、直接接続、バッファ接続、 またはキャッシュ/ブリッジ結合体を通じた接続といった他のローカルバスとの 接続方法をサポートするように適応させることができる。この点はPCI アーキテ クチャ(12〜30)が参考になる。次に、周辺I/O インタフェース60が周辺バス62 を通じて周辺装置64に接続されている。第1実施例の高速I/O バス54は、32ビッ トのデータ帯域幅を並行に供給し将来は64ビットをも並行に供給可能なVESAロー カルバスまたはPCI バスとすることができる。周辺装置64は、例示としてCPU 11 からのコマンドに従って作動するプリンタとすることができる。 高速I/O バス54は、図2では単ブロックとしてまた図3では簡易ブロック図と して示されている第1実施例のメディアストリームコントローラ58に接続されて いる。メディアストリームコントローラ58は1つの集積回路チップ上に配置する ことができる。 図3について説明する。第1実施例のメディアストリームコント ローラ58は、主バスインタフェース300 を通じてI/O バス54と通信する。主バス インタフェースは3ステート内部Hバス302 に接続され、Hバスに付着する様々 な機能エイジェントまたはモジュールとの通信を可能にしている。こうしたモジ ュールは、グラフィックス用VGA コントローラ304 、サウンド用オーディオモジ ュール306 、及びMバス310 及びディスプレイメモリコントローラ312 を通じて データを別々のディスプレイメモリへと通過させるメディアバッファアクセスコ ントローラ308 を包含可能である。GUI 加速器314 もまた、図のように供給が可 能である。Hバスには、この他にフラッシュROM またはヤマハOPL サポートとい ったモジュールも加えることができる。VGA コントローラ304 は、PACDACコント ローラ318 及びI2C コントローラ320 に接続されており、これらとの通信が可能 である。PACDACコントローラ318 はまた、Mバス310 とも接続されている。Mバ スに接続されているモジュールはそれぞれ、Mバス310、ディスプレイメモリコ ントローラ312 、及びランダムバス86を経由して別々のディスプレイメモリを相 手にデータ転送が可能である。さらに、メディアストリームコントローラ58は、 ビデオ入力インタフェース316 、オーディオモジュール306 、ディスプレイメモ リコントローラ312 、PACDACコントローラ318 、及びI2C コントローラ320 を通 じてマルチメディアI/O システムの他の部分と通信することができる。できれば 、AES/EBU 及びI2C のような標準インタフェースをサポートすることが望ましい 。 本発明の第1実施例は、多くの初期ISA ベースのサウンドシステムとの互換性 を有し、しかもバーストモードまたは高速ブロックデータ転送を供給するローカ ルバスまたはその他のバス上に配置されたシステムを提供している。第1実施例 は先行技術のフォーマットによるコマンドを受容するが、デジタルサウンドI/O 転送用のDMA コントローラを迂回する。しかしながら、本発明は決してISA ベースのサウンド システムとの互換性の供給にのみ限定されるものでないことは理解されなければ ならない。一般的な当業者には、本発明の形態の適用により、業界標準アーキテ クチャへの延長(EISA)用拡張バス、マイクロチャネル拡張バス、及びXバス( 拡張バスへの延長)を制約無しに含む異なるバス上の他のI/O システムとの互換 性を供給可能であることが容易に明白となるであろう。こうしたバスシステムに 関する説明は、トム・シャンレイ著EISA システムアーキテクチャPCシステムアー キテクチャシリーズ第2巻(マインドシャープレス、1993年度改訂版)、及びPC I アーキテクチャが参考になる。さらに、本発明は、互換性(compatibility)が 問題になっていない場合でも効果的に適用可能である。 図2では、メディアストリームコントローラ58がビデオ入力回路66からの入力 を受信する。ビデオ入力回路66は、従来の方法で構成可能なビデオソース(図示 されていない)からバス68を通じてビデオ入力を受信する。メディアストリーム コントローラ58もまた、従来の方法で構成可能なサウンド集積回路70を相手に入 出力を行う。 サウンド集積回路70は、ライン対72及び74による2対の内の1対上でモノラル サウンドに関連する入力を受信するか、両対上でステレオサウンドに関連する入 力を受信する。ライン対72及び74上の入力としては、例えばマイクロフォンから のものがある。サウンド集積回路70は、ライン対76上にサウンド出力を供給する ことができる。こうしたラインはそれぞれL(左)及びR(右)と明示され、ス テレオサウンドのスピーカーの配置を表している。メディアストリームコントロ ーラ58とサウンド集積回路70との間の通信用としては、標準型のAES/EBU シリア ルオーディオインタフェースを使用することが望ましい。 ライン80は、メディアストリームコントローラ58から図1の割込みコントロー ラ42に対応する割込みコントローラ82の入力端子の内の1つにまで伸長している 。図のように、割込みコントローラ82が有する複数の入力端子はそれぞれIRQ1-I RQ7 と明示され、図1における割込みコントローラ42の入力端子IRQ1-IRQ7 に対 応している。図1の割込みライン41に対応する割込みライン80は、メディアスト リームコントローラ58と割込みコントローラ82との間に伸長している。但し、図 2が示すライン80は、図1の場合のIRQ4端子ではなく、IRQ5端子へと延びている 。第1実施例の場合、メディアストリームコントローラ58は図1の従来型ISA サ ウンドカードが使用するものとは異なるIRQ 入力を使用してドライバーISR を駆 動している。図1のライン44に対応するライン84は、CPU 11を割込みコントロー ラ82に接続している。 ディスプレイメモリランダムバス86は、メディアストリームコントローラ58と ディスプレイメモリ88(図2では、ビデオランダムアクセスメモリとしても明示 されている)との共有である。このディスプレイメモリ88は、種々の部分からな る。例えば、その1つである部分90は「GUI FIFOメモリ」と称し、オーバーフロ ーベースでコマンドを格納する。メモリ部分90及びシステムの関連部分について は、「ソフトウェアによるハードウェアのポーリングなしにソフトウェアから受 信したコマンドをハードウェア内で処理するためのシステムと方法」と題する19 94年11月10日出願のデビッド・C.・ベイカー、マイケル・D.・アサルを共同発明 者とする係属中の出願第 号(代理人ファイルD-2793)(同出願は本 出願の譲渡人に譲渡されたが、参考としてここに引用し参考に供する)。 ディスプレイメモリはまた、参照テーブル用のデータのようなグラフィックス データを格納するためのフレームバッファメモリ92及 びビデオデータを格納するためのビデオ入力メモリ94を含んでいる。グラフィッ クスデータ及びビデオデータをディスプレイメモリの異なる部分に保存するため のシステムについては、「ディスプレイモニター上にグラフィックスメモリ及び ビデオメモリからの情報を表示するためのシステムと方法」と題する1993年2月 5日出願のジョナサン・I.・シアン、コンラッド・M.・コフィ、ジェフリ・L.・ イーズリの共同名義による出願第08/014,359号(代理人ファイルD-2657)(同出 願は本出願の譲渡人に譲渡されたが、参考のため引用する)に詳細に開示され、 権利請求されている。フレームバッファメモリ92及びビデオ入力メモリ94からの 出力は、「PACDACへのデジタルピクセルデータ」と称されるライン96上に供給さ れる。 ライン96上の出力は、ディスプレイモニター(図示されていない)に導入され て視覚映像を供給することができる。「PACDAC」という語は、パケットベースの デジタル−アナログ変換器を表す頭辞語である。PACDACはまた、ランダムアクセ スメモリをも包含可能である。PACDAC及び同システムの関連部分については、「 マルチメディアグラフィックスシステム」と題する1994年3月16日出願のデビッ ド・C.・ベイカー、ジョナサン・I.・シアンを共同発明者とする出願第08/214,7 87号(代理人ファイルD-2717)(同出願は本願の譲渡人に譲渡され、参考として 引用する)において詳細に説明されている。ライン96上の出力は、フレームバッ ファメモリ92内のバイナリ情報が参照テーブルにおける位置を表示可能であり、 またこうした位置が疑似カラーを表すバイナリ表示を有する可能性のあることを 示す。こうしたバイナリ表示はデジタル−アナログ変換器によってアナログ値に 変換され、ディスプレイモニター上の異なるピクセル位置にカラーを供給する。 出願第08/014,359号が開示しているように、ビデオ入力メモリ92はフレームバッ ファメモリ92用のグラフィックス 情報との互換性を形成するように変換され、またこの変換されたビデオ情報はデ ィスプレイモニターに表示される。 メディアストリームコントローラ、ディスプレイメモリ、及びPACDACはまた、 共働してコンポジットビデオ出力信号を生成可能である。コンポジットビデオサ ブシステム及び同システムの関連部分については、「コンピュータシステムにお いてビデオを生成するためのシステムと方法」と題する1994年11月10日出願のデ ビッド・C.・ベイカー、ダニエル・P.・マリガン、エリック・J.・シェルを共同 発明者とする出願第 号(代理人ファイル11543-702 )(同出願は本願 の譲渡人に譲渡され、参考のため引用する)において詳細に説明されている。マ ルチメディアシステムの変形実施例は、「マルチメディアシステムと方法」と題 するデビッド・C.・ベイカー、マイケル・D.・アサル、ジョナサン・I.・シアン 、ポール・ウッド、ジェフ・ナイ、スティーブ・グレノン、マシュー・ベイツを 共同発明者として出願された出願(代理人ファイルD-2847)(同出願は本願の譲 渡人に譲渡され、参考のため引用する)で説明されている。 ディスプレイメモリの一部はまた、オーディオバッファ100 を供給する際にも 使用される。第1実施例では、オーディオバッファ100 は32KBバッファであるこ とが好ましい(16KBまたは64KBが好ましいが、限定されない)。オーディオバッ ファ100 は、サウンド集積回路70との送受信の前にサウンドデータをそのフォー マット及び制御情報と共にバッファするために使用される。このバッファリング は、サウンドデータをローカルバス20及び高速I/O バス54を通じてバーストモー ドデータ転送により主メモリ及びオーディオバッファ100 間で転送させ、しかも サウンド集積回路を通じた異なる周波数でのサウンドデータの再生及び録音を可 能にしている。例えば、ローカ ルバス及び高速I/O バスによるデータ転送速度が遥かに速い場合であっても、サ ウンドデータの1ワードをサウンド集積回路70へ20μs毎に出力することができ る。このように、再生及び録音がデータ転送速度から切り放される。サウンドデ ータブロックを高速で転送してオーディオバッファでバッファすることにより、 バス帯域幅は他の用途にも開放できる。 図4は、第1実施例による装置(システム)においてサウンドが如何にして生 成されるかを示すブロック図である。デジタル化されたサウンドI/O は、ソフト ウェアアプリケーション400 によって制御される。ソフトウェアアプリケーショ ン400 は、図4が示すように、コマンドを直接、或いはドライバー402 を通じて メディアストリームコントローラ58に送信する。互換性をだすため、第1実施例 はこうしたコマンドを典型的なISA ベースのサウンドシステムでは一般的なもの と同じアドレス、同じフォーマットで送信させる。コマンドは、I/O ポートに直 接(例えば、220hまたは240hといった基底アドレスのオフセットとして)或いは こうしたポートにメモリマップされたアドレスを通じてアドレスすることができ る。メディアストリームコントローラ58は、高速I/O バス54からのこうしたコマ ンドを代行受信し、またその主バスインタフェース300 はアドレスをオーディオ モジュール306 用のHバス302 上で内部アドレスに変換する。 デジタル化されたサウンドI/O コマンド及び関連のデータ転送は、主としてオ ーディオモジュール306 及び音声割込みサービスルーチン(AISR)404 によって 処理される。AISR404 は、BIOSの一部としてブートアップにおいてロードされ、 またオーディオモジュール306 が生成する割込みによって起動されるように構成 されることが好ましい。ソフトウェアアプリケーション400 がオーディオモジュ ール 306 にコマンドを送ってサウンドデータパケットの再生を要求すると、オーディ オモジュール306 が割込みを生成し、AISR404 が起動される。AISR404 はオーデ ィオモジュール306 内のレジスタからコマンドを読み取り、CPU が実行するバー ストモードのブロック転送コマンドを使用してパケットの一部または全体をメデ ィアストリームコントローラ58を通じてオーディオバッファ100 へと転送させる 。次いでオーディオモジュール306 は、オーディオバッファ100 からのサウンド データを希望する周波数で転送し、これを標準型のAES/EBU フォーマットに書式 設定し、サウンド集積回路70に送信する。次にサウンド集積回路は、出力装置40 6 上にサウンドを再生する。バッファされたサウンドデータの再生が終了すると 、オーディオモジュール306 は割込みをもう一度生成し、再度AISR404 を起動す る。パケットにサウンドデータがまだ残っているときは、AISRはそれをオーディ オバッファに転送し、処理が継続する。 パケット全体の再生が終了すると、AISRは有効割込みを生成し、ドライバー割 込みサービスルーチン408(またはドライバーを使用しない場合はアプリケーシ ョンがセットアップするISR)が起動される。ドライバーを使用する場合は、次 にドライバー割込みサービスルーチン408 がアプリケーションコールバック機能 410 を呼び出すことができる。有効割込みは、ISA ベースの従来型サウンドカー ド26が生成する割込みと区別できないものであることが好ましい。 このように、ドライバーISR408及びアプリケーションコールバック機能410 は、 従来のサウンドカード及び第1実施例のシステムの両方と互換的に作動可能であ る。有効割込みによって起動されたドライバーISR408及びアプリケーションコー ルバック機能410 は、追加の転送用パケットをセットアップするか、デジタル化 サウンドI/O を終了させることができる。追加のパケットを送信する場合は、 AISR404 及びオーディオモジュール306 は上記の処理を繰り返す。 ここで、第1実施例においてオーディオモジュール306 及びAISR404 によるデ ジタル化サウンドI/O の共同処理を可能にするメカニズムについてさらに詳しく 説明していく。第1実施例におけるデジタル化サウンドI/O の処理には、一般に 従来のサウンドカードに供給されているレジスタに対応するアドレスが使用され る。こうしたレジスタへのアクセスは、メディアストリームコントローラ58の主 バスインタフェース300 によって復号化され、オーディオモジュール306 へ通じ るHバス302 上にマップされる。アクセスに使用されるアドレス及びアクセスに よって実行される機能は従来のサウンドカードとの互換性を有する場合があるが 、その内部構造及びオペレーションは、高速I/O バス環境下でのオーディオモジ ュール及びAISRによる処理を可能にするような特別設計がなされている。特に、 音声読取レジスタ(ARR )及び音声コマンドレジスタ(ACR )は、互換性用のソ フトウェアアプリケーションにアクセス可能な慣用的部分を有する場合がある。 これらはまた、オーディオモジュール及びAISRの論理及び通信に使用されるロー カル部分を保有することができる。第1実施例では、ACR 及びARR はコマンド処 理に使用する別々のローカル部分を有している。この部分へのアクセスは、アプ リケーションではなくAISRが行なう。ある値をソフトウェアアプリケーションに 供給する場合、その値はARR またはACR のローカル部分から非ローカル部分へ移 動される。表1は、ソフトウェアアプリケーションがアクセスできる主レジスタ のリストである。最初の列は、レジスタ用にオフセットされたアドレスのリスト である。第2列はレジスタ名のリスト、第3列はレジスタが認めるアクセスが読 取(R)であるか書込(W)であるかのリストである。 リセットレジスタは、オーディオモジュールを従来のサウンドカードに類似し た初期設定状態に配置する際に使用される。リセットレジスタは、実際のレジス タを使用するより、どちらかいえば、論理において実行される場合がある。その 固有論理の初期設定に加えて、オーディオモジュールは1状態バイトの音声コマ ンドレジスタにおいてリセットフラッグを設定し(詳細は後述する)、割込みを 生成してAISRを起動する。AISRは次いで音声コマンドレジスタ(ACR)の状態バイ トを分析し、リセットを探索し、その状態論理を初期設定状態にリセットする。 オーディオモジュールがコマンドまたはデータを受信できる状態であるかどう かを決定するため、音声コマンド状態(ACS )の読取が行われる。オーディオモ ジュールが受信可能状態であれば、コマンドまたはデータを同一のアドレス宛に 書き込むことができる。このアドレスは次いで、ACR 向けのアドレスとして機能 する。コマンドから返されるデータを読み取るためには、まず音声読取状態(ARS )を読み取ってデータが作動可能かどうかを決定する。作動可能であれば、音声 読取レジスタ(ARR )からのデータの読取が可能である。 デジタル化サウンドI/O コマンドの処理は、オーディオモジュール306 とAISR 404 間の通信の基本的メカニズムであるが、以下さらに詳細に説明する。サウン ドコマンドは、まずオーディオモジュール306 が受信する。コマンドのタイプに より、オーディオモジュールは、直接これを処理する(この種のコマンドは「受 動AMダイレクト」コマンドと称される)か、後の使用のためにAISR用レジスタに そのパラメータを格納する(この種のコマンドは「受動AMシャドー」コマンドと 称される)か、割込みを生成してAISRを起動しコマンド処理を行わせる(この種 のコマンドは「アクティブAISR」コマンドと称される)かする。表2は、第1実 施例のシステムにおけるコマンドの分類方法について示している。表2の最初の 列は、コマンドコードのリストであり、これをACR に書き込むと処理が起動され る。第2列はコマンド用パラメータの数とサイズのリスト、第3列はARR経由で コマンドにより戻されるデータパラメータの数とサイズのリストである。第4列 はコマンドの機能説明を含み、第5列は第1実施例のシステムによるコマンドの 処理方法を示している。 バージョンチェック(0xE1)及びスピーカー状態(0xD8)といったダイレクト コマンドは、オーディオモジュール内の論理によって直接処理されるため、AISR によるアクションは必要ない。 受動シャドーコマンドはオーディオモジュール306 によって割込みされ、コマ ンドからの関連情報が音声DMA 制御レジスタ(ADCR)に配置される。次いでこの 情報は、AISRがDMA コマンド(アクティブ)を処理する際にAISRによる読取が可 能である。ADCRは、AISRによるメモリマップI/O を通じたアクセスが可能である 。ADCRは4バイトのレジスタである。DMA 時間定数はバイト0、DMA 長の最下位 バイト(LSB )はバイト1、DMA 長の最上位バイト(MSB )はバイト2、及びDM A 制御状態バイトはバイト3にそれぞれ配置される。DMA 制御状態バイトにおけ るビットは、使用中の再生及び録音がステレオかモノラルかをAISRに伝え、また 新たなDMA 時間定数またはDMA 長が設定されているか否かを示すように設定する ことができる。 アクティブコマンドは、オーディオモジュールによって割り込みされ、音声コ マンドレジスタのローカル部分(ローカルACR )に格納される。ローカルACR は 、各々4バイト長の4つのレジスタを含んでいる。各レジスタは、コマンド及び 関連パラメータを包含可能である。レジスタは各々、バイト0がコマンドコード 、バイト1が第1パラメータバイト(使用しない場合は0x00に設定)、バイト2 が第2パラメータバイト(使用しない場合は0x00に設定)に使用され、またバイ ト3は後に詳述するAISR状態バイトを含んでいる。 オーディオモジュール306 によってコマンド/データの書き込みが探知された 時点でデータはバイト0へラッチされ、オーディオモジュールが同コマンドを周 知のコマンド表において参照し、想定すべきパラメータ数を決定する。パラメー タが存在する場合は、オーディオモジュールはパラメータの受信を待つ。コマン ドがシャドー コマンドである場合は、上述のようにパラメータはADCR内に配置される。コマン ドがアクティブであれば、パラメータ(もしあれば)はローカルACR のバイト1 及び2に配置される。 ビットフラッグもまた、AISR状態バイトにおいて設定可能であり、リセット、 割込み肯定応答(AID モードの場合)、未知のコマンドの探知、といった何らか の事象が発生していることをAISRに表示する。これはまた、ローカルARR バイト ポインタを含む場合がある(後に説明する)。アクティブコマンドシーケンスが 完了すると、オーディオモジュールは割込みを生成してAISRを起動する。AISRは 次いで、メモリマップI/O を通じてローカルACR レジスタ内の情報にアクセスが 可能である。 ローカルACR に4つのレジスタを保有する目的は、AISRが呼び出すドライバー ISR (またはアプリケーションISR )が割込みを無能化し、またアクティブコマ ンドを実行する可能性をサポートすることにある。AISRは、割込みが有効化され るまではこうした新たなコマンドを処理することができない。第1実施例による 大部分の実用的ケースの場合、割込みが無能化されている状態ではドライバーIS R は4つ以上のアクティブコマンドを書き込むことができないと信じられている 。従って、4つのディープローカルACR は、割込みが有効化されるまでこうした コマンドを全て格納することができる。4つのディープバッファローカルACR レ ジスタは、複数のコマンドを受信した際には「循環方式(wraparound fashion) で作動する。 アプリケーションは、オーディオモジュールにコマンドまたはデータパラメー タを書き込む前に、0x2XC 上の読取を行ってまずはレジスタの状態をチェックし なければならない。オーディオモジュール306 は、こうした要求を直接処理する 。通常は、レジスタがコマンドまたはデータパラメータを受信可能な状況にある ことを表示す る信号が返される。割込み要求とAISRからの肯定応答との間の短時間に使用不可 能という値が返される場合がある。さらに、4つのディープバッファローカルAC R レジスタが全てフル状態である場合は、使用不可能の値が返される。 第1実施例では、ADCR及びローカルACR レジスタがコマンド処理の基盤となっ ている。オーディオモジュール306 が最初に0x2XC への書き込みを探知した時点 で、バイトはローカルACR のバイト0に配置される。次いでオーディオモジュー ルはコマンドを識別して「ダイレクト」、「アクティブ」、「シャドー」の何れ であるかを決定し、必要な追加パラメータの数を決める。コマンドが非アクティ ブであれば、オーディオモジュールはコマンドを翻訳して処理する。この場合、 直接処理(例、コマンドを発行してスピーカー状態を得る)を行なうか、或いは AISRによる後の使用のためにADCR内にコマンドをシャドーイングする。コマンド が「アクティブ」であれば、オーディオモジュールはローカルACR に適当数のパ ラメータを受信し、割込み要求を生成する。 次に、AISR404 が割込みコントローラによって起動される。AISRは音声割込み レジスタ(AIR )から割込み状態ワードのフラッグを読み取り、オーディオモジ ュールが割込みのソースであることを決定し、またどんな措置が講じられている のかを決定する。周知のコマンドが探知されたときは、AISRはコマンド処理を進 行させる。さらに、必要に応じてADCRから適当な情報が抽出される。連邦行政命 令集第37編1.96条に従って、異なるコマンドに対する様々な対処方法が本明細書 の最後に添付されたサンプルAISRのコンピュータプログラムリストに示されてい る。このコンピュータプログラムリストは、付録Aとして参照用に本書に組み込 まれている。また、DMA モードのコマンドに対するAISR処理については後に詳述 する。これに 対して未知のコマンドが探知された場合は、AISR404 はコマンド処理を再開する 前にオーディオモジュール306 が何バイトを放棄すべきかの決定を試行する。 コマンドが処理されると、データが音声読取レジスタのローカル部分(ローカ ルARR )を通じて返送可能となる。第1実施例におけるローカルARR は、アプリ ケーションに返されるデータを格納するための3バイトの循環バッファと、オー ディオモジュールが使用するAISRからの制御情報を格納するために取り除けられ ている第4のバイトとで構成される。3つの循環バッファにおけるカレントバイ トを示すポインタは、ローカルACR のAISR状態バイト内に保持されている。デー タ値が返される場合、それはアクティブコマンドであればAISRによって、受動コ マンドであればオーディオモジュールによってカレントバイトに配置される。2 バイトが返される場合、それらは循環バッファの連続バイトに配置される。アプ リケーションかこのレジスタ上で読み取りを行うと、データのカレントバイトは ARR の非ローカル部分に配置され、ポインタは次の場所へと自動的に更新される 。ローカルARR の最後のバイトは循環バッファの一部ではなく、制御情報をAISR からオーディオモジュールに通過させる際に使用される。その機能は、状態情報 をオーディオモジュールからAISRに供給するローカルACR のAISR状態バイトに類 似したものである。ビットフラッグはローカルARR の制御バイト内に設定され、 未知のコマンドが探知された場合に何バイトを放棄するかを表示する。さらにDM A 転送の終わりで、AISR404 がドライバーISR408向けに有効割込みを生成した時 間をオーディオモジュール306 に知らせるフラッグが設定されている(詳細は後 述)。 アプリケーションは、ARR からのデータを読み取る前に音声読取状態(ARS ) をチェックしなければならない。このレジスタは、ARR からのデータの読み取りが実行可能であるかどうかを示す値を供給する。コマン ドによって多重バイトが返されると、「実行可能」フラッグのキューが設定され る。ARR から対応するデータバイトが読み取られるたびに、1つの「実行可能」 フラッグが消える。データを返さないコマンドに関しては、ARS レジスタが「実 行不可」の値を返す。 上述のレジスタがオーディオモジュール306 とAISR404 間の通信に関する基本 的メカニズムとなっている。当業者には、こうしたレジスタに保持されている情 報が実行されるフアンクションと、現在のアプリケーションと矛盾しないように との要請のもとで指令されることが容易に理解されるであろう。必要であれば、 追加のビットフラッグをレジスタの状態バイト及び制御バイトに設定することが できる。レジスタの数及び行動もまた、特定のアプリケーションに適合するよう に修正が可能である。例えば、第2実施例は、上述のものに類する技術を使用し て、従来のミキサーチップとの互換的方法により音声ミキサーチップを処理する ことができる。一例が、参考のため明細書の最後に添付するサンプルAISRに関す るコンピュータプログラムリストに示されている。 オペレーション概観 以上、オーディオサウンドレジスタについて説明したが、次にDMA モードのサ ウンドデータ転送について詳しく説明していく。第1実施例では、DMA モードの コマンドは主として2セットのデータ転送、即ち、(1)主メモリからオーディ オバッファへのデータ転送、及び(2)オーディオバッファからサウンド集積回 路へのデータ転送、によって処理される。まずは、主としてAISR404 によって制 御される最初の転送について、次に主としてオーディオモジュール306 内のハー ドウェアによって制御される第2の転送について説明してい く。以下は、第1実施例におけるサウンドデータ再生のためのDMA モードコマン ド、即ち主メモリからスピーカーまたはこれに類する出力装置へのサウンドデー タの転送に注目して説明を行ったものである。類似の技術を使用して、データを 反対方向に転送する(マイクロフォンまたはこれに類するもののような入力装置 から主メモリヘ)ことによりサウンドデータの記録をサポート可能であることは 容易に理解されるであろう。この両技術は、本明細書の最後に添付され、参照用 として本書に編入されているサンプルAISRに関するコンピュータプログラムリス トに示されている。同様に、以下に説明する技術も直接モードの再生及び録音を 供給するように調整が可能である。これについても、サンプルAISRに関するコン ピュータプログラムリストに示されている。 第1実施例におけるDMA モードコマンドの処理については、オーディオバッフ ァ100 の構造を理解すると解りやすい。第1実施例におけるオーディオバッファ の構造は、図5に示されている。第1実施例のオーディオバッファ100 は、ディ スプレイメモリ88における32KBバッファである。オーディオバッファの最初には 、転送用データの中にフォーマット及び制御情報を含んだ音声構造500-522 用に スペースが取り付けてある。各音声構造は、2つのダブルワードで構成されてい る。こうしたダブルワードは、データブロックサイズ、データの転送方向、デー タフォーマット等に関する情報、及びデータブロック用の追加情報を幾つか含ん でいる。直接再生または直接録音モードで転送するデータを格納するバッファ52 4 及び526 のためのスペースもまた割り当てられている。 オーディオバッファ100 の残りの部分は、DMA モードコマンド用のデータのバ ッファに使用可能である。第1実施例では、このために32,640ビットが供給され ている。アプリケーションが32,640ビッ トまたはそれ以下のパケットの再生を要求した場合、AISRはそのパケット全体を このバッファに配置し、パケット用のフォーマット及び制御情報がPLAY 1音声構 造504 に配置される。しかしながら先に説明した通り、ISA ベースのシステムに おいては、DMA を使用して一度に64KBまでのサウンドパケットを転送可能である 。従って、第1実施例においては、パケットが32,640ビット以上であれば、オー ディオバッファを通じたデータの転送に二重バッファシステムが使用される。2 つの再生/記録バッファ528 及び530 は、各々が16,320ビットにセットアップさ れている。AISR404 はデータ転送に必要な16,320ビットブロックの数を決定し、 その数の音声構造をオーディオバッファ100 内にセットアップする。最後の音声 構造にはフラッグが設定され、それがパケットにおける最後のブロックであるこ とを表示する。次いでAISR404 が、サウンドパケットの最初の32,640ビットをオ ーディオバッファに転送する。サウンド集積回路70への最初の16,320ビットデー タ(再生/記録バッファの最初の半分528)の転送に際しては、PLAY1 音声構造5 04 内のフォーマット及び制御情報がオーディオモジュールによって使用される 。このデータが転送されると、パケットから別のデータブロック(16,320ビット まで)がAISRによって再生/記録バッファの前半528 に転送される。このデータ は、PLAY3 音声構造508 に対応する。一方で、サウンド集積回路70による再生の ため、再生/記録バッファの後半部分530 からデータの読み出しが可能である。 再生/記録バッファの後半部分530におけるデータが転送されると、前半のデー タ(PLAY3 用)の再生中に、PLAY4 音声構造510 に対応するデータブロックを再 生/記録バッファの後半部分530 に転送することができる。この二重バッファ処 理は、パケット全体を転送し終わるまで継続される。必要な音声構造の数は、パ ケット全体の転送に必要な16,320ビットブロック の数によって決定される。一般的な当業者であれば、64KB(65,536ビット)のサ ウンドデータパケットの転送には5つの音声構造が必要であることは容易に理解 されるであろう。最後のバッファは、わずか256 ビットを含むことになる。無論 、他のサイズのオーディオバッファを使用することも可能である。しかし、64KB のサウンドパケットを転送する場合、64KBのバッファであれば必要な音声構造は 僅かに2つであるが、16KBのバッファであれば9個の音声構造が必要である。 特定のオペレーション ここで、明細書の最後に添付されたサンプルAISRのコンピュータプログラムリ スト、及び図6、7に関連してDMA モードのサンプルコマンドの処理について検 討する。ここでは、自動初期化式DMA(AID)再生モードコマンド(0x1C)を処理中 と想定する。 前述の通り、DMA モードコマンドはアプリケーションソフトウエア400 によっ て開始される。アプリケーション400 は、DMA チャネルを有効化し、転送用のベ ースアドレスを供給し、また転送するバイト(またはワード)数を示すカウント を供給することによってDMA コントローラをプログラムする。さらに、DMA モー ドも設定される(この例では、自動初期化モードに設定される)。 アプリケーションはまた、オーディオモジュール306 にコマンドを送り、デー タの出力装置への送信速度を制御するための時間定数を設定させる。アプリケー ションはまた、ステレオまたはモノラル再生用としてシステムを構築することが できる。自動初期化モードを使用することから、アプリケーションはさらに転送 サイズをも設定する。こうした情報は全て、オーディオモジュール306 によって ADCRに格納される。 アプリケーション400 は次に、オーディオモジュール306 にAID 再生モードコマンド(0x1C)を送る。オーディオモジュールは、コマンドを探知 し、それをローカルACR に配置し、また、周知のコマンドが探知されたことを示 すフラッグをローカルACR の状態バイト内に設定する。AID 再生モードコマンド が「アクティブ」コマンドであることから、オーディオモジュール306 は次に割 込みを生成してAISR404 を起動する。 図6は、コマンドの処理に際してAISR404 が実行する段階を示すブロック図で ある。こうした段階には一般に、明細書の最後のサンプルAISRコンピュータプロ グラムリストにおける対応コードのラベル及び手順名に一致してラベル付けがさ れている。BTSR00 600において、AISRはまずマシン状態を割込みサービスルーチ ンにおける一般的なものとして格納する。AISRはまた、オーディオレジスタへの アクセスに使用するアドレスをこの位置にセットアップする。 BTSR10 602において、AISRはオーディオレジスタからの割込み状態を読み取り 、発生している割込みのタイプを決定する。この事例の場合は、アクティブ音声 コマンドがオーディオモジュール306 に送信されていることをAISRが決定する。 これによってAISRはSBC 604とラベル付けされたコードへと飛越しをする。ここ で、時間定数、転送サイズ、及び状態バイトがADCRから検索される。状態バイト は、図6のブロック606に示されているように新たな時間定数が供給されている かどうかを確認するためにチェックされる。新たな時間定数が供給されていれば 、手順CompClk 608 が呼び出されてサウンド出力用の新たな周波数を設定する。 状態バイトの読み取りは、時間定数フラッグを自動的に消去するため、この段階 は異なる時間定数が設定されるまでAISRの連続呼出によってスキップされる。 SBC2 610では、AISRがローカルACR の内容を読み取り、コマンドのタイプを決 定し、適当なフラッグを設定してコマンドタイプ(こ の事例では8ビットAID 再生)を表示する。次に、手順BldPly 612が呼び出され る。ここで、AISRがオーディオバッファ内に音声構造をセットアップする。まず 、BldPlyは、図6のブロック612 及び614 が示すようにモノ/ステレオモードを 設定する。次いでBldPlyは、手順UseCase 616 を呼び出す。この手順では、オー ディオバッファ100 を通じてサウンドパケットを転送する際に必要となる音声構 造の数を計算する。AISRがUseCase 616 からBldPlyに戻ると、DMA コントローラ からカウント及びアドレスを得るために手順GetDMA 618が呼び出される。次いで BldPlyは、UseCase 手順が決定したサウンドパケットのサイズに従って4つのコ ードピースの内の1つに飛越しをする(図6のブロック620 参照)。パケットが オーディオバッファに完全に適合する場合(〈=32,640ビット)は、BldPly1 622 が使用される。これによって単一の音声構造が構築され、このブロックの再生 後に転送が完了することを示すフラッグが設定される。3つの音声構造が必要な 場合(〉32,640 ビット及び〈=48,960ビット)は、BldPly2 624 が使用される。 4つの音声構造が必要な場合(〉48,960ビット及び〈=65,280ビット)はBldPly3 626 が、5つの音声構造が必要な場合(〉65,280 ビット)はBldPly4 628 が使 用される。何れの場合も、適当数の音声構造が構築され、最後の音声構造に、そ のブロックの転送が終われば転送が完了することを示すフラッグが設定される。 音声構造の構築後は、AISRは、初期のデータブロックをオーディオバッファ10 0 に移動させるBldPly7 630 に飛越しをする。このポイントで、32,640ビットま でを移動させることができる。追加のサウンドデータは、先に説明した二重バッ ファ技術を使用してAISR404 への連続呼出によりオーディオバッファへと移動さ せなければならない。データ転送は事実上、「rep movsd 」というアセン ブリ言語コマンドを使用して達成される。このコマンドは、ダブルワードのサウ ンドデータを、GetDMA 618手順によってDMA コントローラから検索された主メモ リアドレスからオーディオバッファ100 へと繰り返し移動させる。このコマンド によって、CPU は、高速バーストモードデータ転送を使用しローカルバス及び高 速I/O バスを通じてデータをオーディオバッファ100 に転送する。 初期サウンドデータの転送が終わると、StartPR 632 手順が呼び出される。こ の手順は、オーディオモジュール306 内の音声構造ポインタがPLAY1 音声構造50 4 を指示するように初期設定し、オーディオバッファ100 からサウンド集積回路 70へのデータ転送を実行可能にする。これはまた、DMA 転送が進行中であること を示すフラッグを設定する。 次にAISRはマシン状態を復元し、同一レベルの割込みを行うための次の割込み サービスルーチンに繋げて他の装置が割込みを要求しているかどうかを確認する 。別の割込みによって再起動されるまでは、これでAISR処理は終わりである。 次いで、オーディオモジュール306 は、PLAY1 音声構造504 からのデータブロ ックのサイズをカウンタにロードする。オーディオモジュール306 は次に、オー ディオバッファ内のデータブロックを通じて一度に1サンプルをカウントする。 各ワードはフォーマットされ、希望する周波数でサウンド集積回路70へ送信され る。ブロック全体の転送が終了すると、オーディオモジュール306 はそれがパケ ットの最終ブロックであったかどうかを決定する(AISRによってPLAY1 音声構造 504 に設定されたフラッグを基準とする)。それが最終ブロックでない場合には 、オーディオモジュール306 内の音声構造ポインタが次の音声構造(この事例で はPLAY2 506 )を指示するように自動的に増分され、この構造に対応するデータ (再生/記 録バッファの後半部分530 に存在するもの)のフォーマットが開始されてサウン ド集積回路70へと送信される。オーディオモジュール306 はまた、AISR404 を起 動する別の割込みを生成する。オーディオモジュールはさらにローカルACR に割 込み状態バイトを設定し、受信中の新たなコマンドに対抗するものとしてブロッ クが転送されていることを表示する。これは、一次音声割込みと称される。 図7の簡易フローチャートは、第2の起動に際してAISRが実行する段階を示し たものである。AISRはまず一次音声割込みの発生を判断し、SBP 700 とラベル付 けされたコードに飛越しをする。SBP 700 コードは、パケットの最終ブロックが オーディオバッファ100 から転送されたかどうかを確認する。最終ブロックが転 送されていない場合は、AISRはSBP2 702に飛越し、転送データの残量及びオーデ ィオバッファ内の次のブロックの位置を決定する。次のブロックが最終である場 合は、図7のブロック704 及び706 が示すようにフラッグが設定される。次のブ ロックは、空きとなったばかりの再生/記録バッファの半分である528 または53 0 へと転送される(図7のブロック708 参照)。例えば、サウンドデータの最初 のブロック(PLAY1 音声構造504 に対応している)が同バッファの前半部528 から 再生されたばかりであれば、次のブロック(PLAY3 音声構造508 に対応している )は再生/記録バッファの前半部528 へと転送し返される。一方でサウンドデー タは、サウンド集積回路70による再生のために、オーディオモジュール306 によ って再生/記録バッファの後半部530 (PLAY2 音声構造506 に対応している)か ら転送中である。同様に、PLAY2 データの再生が終了すると、PLAY4 音声構造51 0 に対応するデータが再生/記録バッファの後半部530 へと移動可能になり、一 方でPLAY3 音声構造508 のデータが再生/記録バッファの前半部528 から読み出 される。この二重バッファ方式が、最終のデータブロッ クの再生まで進行する。 AISRがパケットの最終ブロックの再生完了を決定すると、SBP1 710コードはフ ラッグを設定し、パケットの再生が終了したことをドライバーISR408に告げる割 込みの生成を促す。このコードはまた、DMA モードの転送が進行中であることを 示すフラッグを消去する。次いでZeroDMA コード711 が呼び出され、同コードが 、DMA 転送が実際にDMA コントローラによって実行されていた場合に想定される 状態へとDMA コントローラ内のカウントをリセットする。第1実施例では、この カウントはFFFFFFFFhex にリセットされている。これは、DMA 転送の後にDMA コ ントローラのカウントを使用するアプリケーションとの互換性の保証に役立って いる。ある代替実施例では、転送済みのデータ量をより正確に反映するため、DM A コントローラのカウントが各ブロック転送後に低減される。その後カウントは 完全に最終転送へとリセットされる。 AISRが処理を終了する前に、BTSR90 712とラベル付けされたコードが、割込み フラッグが設定されているかどうかを確認するために呼び出される。BTSR90 712 が割込みフラッグの設定済みを判断すると、BTSR90C 714 に於けるコードはドラ イバーISR408を起動させる割込みをシミュレートする。ポインタをドライバーIS R408にロードする際には「les」というアセンブリ言語コマンドが使用され、コ ードを実行する際には「call」コマンドが使用される。こうして、ドライバーIS R408は、通常はドライバーISR にとってISA ベースの従来型サウンドカードとは 区別不能な方法によってサウンドデータパケットの転送が完了していることを知 らされる。次いで、ドライバーISR は従来型のサウンドカードの場合と同様に、 追加パケットの転送を要求することができる。ドライバーISR が復帰した後は、 AISRはマシーン状態を復元し次の割込みサービスルーチンに繋がる。 上記の説明はサウンドデータ再生用のDMA エミュレーションに焦点を絞ってい るが、類似のダブルバッファリング技術がサウンドデータの記録に使用可能であ ることは当業者にとって容易に理解されるであろう。データの記録に際しては、 AISRは適切な音声構造を設定し、次いで再生/記録バッファの各2分の1が充填 されるのを待機する。バッファの2分の1が充填されると、割込みが生成されAI SRは主メモリのバッファにデータを転送する。その間、再生/記録バッファの残 りの2分の1が入力サウンドデータによって充填可能である。パケット全体が主 メモリに転送されると、ドライバーISR に対して実効割り込みが生成される。 メディアストリームコントローラ 図8A及び図8Bは、第1実施例に於いてサウンド処理用に使用されるオーディオ モジュール及びメディアストリームコントローラ58の部分、及びこうした部分と ディスプレイメモリ88との関係を集合的により詳細に示したものである。図8A及 び図8Bでは、メディアストリームコントローラ58は三角形103 内に点線によって 囲まれたものとして示されている。この三角形は集積回路チップであると考える ことができる。「オン チップ」と明示された上向きの矢印は、集積回路チップ 103 の内部を示している。「オフ チップ」と明示された下向きの矢印は、集積 回路チップ103 の外部を示している。 図8Aに示されているバスインターフェース及びFIFO 110 は、図3に示されて いる主バスインターフェース300 の一部で構成されている。FIFOは、先入れ先出 し式の一連のレジスタ(例えば4基)で形成可能である。FIFO110 は、ディスプ レイメモリ88にコマンドを供給するシステムに包含可能である。こうしたシステ ムについては、「ソフトウェアによるハードウェアのポーリングなしにソフトウ ェアから受信したコマンドをハードウェア内で処理するためのシステ ムと方法」と題する1994年11月10日出願のデビッド・C.・ベイカー、マイケル・ D.・アサルを共同発明者とする同時継続出願第 号(代理人ファイルD-2793 )(同出願は本願の譲渡人に譲渡されたが,参考のためここに引用する)に開示 され、クレームされている。バスインターフェース及びFIFO110 は、サウンドデ ータのサンプル(Dワード、ワード またはバイト)をパケットで高速I/O バス 54から受信する。 バスインターフェース及びFIFO110 は、バスFIFOコントローラ112との時間同 期的な作動が可能である。データはライン114 上の入力クロックによってバスイ ンターフェース及びFIFO110 に入り、ライン116 上の出力クロックによってこの バスインターフェース及びFIFO110 から出ることができる。バスインターフェー スFIFOコントローラ112 は、高速I/O バス54から音情報のワードに関連するアド レスをパケットで受信する。バスインターフェースFIFOコントローラは、バスイ ンターフェース及びFIFO110 にあるレジスタが一杯になると、CPU レディライン 118 上に出力を供給する。 バスインターフェース及びFIFO110 からの出力は、Hバス302 を経由してスイ ッチ120 の可動式アームに導入される。スイッチ120は機械式スイッチとして示 されているが、CMOSバススイッチの方が望ましい。スイッチ120 (図8A)はまた 、バス121 を経由してサウンドコントローラ122 (図8B)からの入力を受信する 。スイッチ120の出力、及びフレームバッファメモリアパーチャコントローラ124 の出力は、Mバス310 を経由して集積回路チップ103 内に配置されているディス プレイメモリコントローラ312 (図8A)に接続されている。フレームバッファメ モリアパーチャコントローラ124 の入力ターミナルは、Hバス302 を通じてバス インターフェース及びFIFO110 の出力を受信する。フレームバッファメモリアパ ーチャコ ントローラ124 の別の入力もまた、ライン163 上でバスインターフェースFIFOコ ントローラ112 の出力を受信する。バススイッチ120 及びフレームバッファメモ リアパーチャコントローラ124 は、図3に示されているメディアバッファアクセ スコントローラ308 の一部で構成される。 同様にサウンドレジスタ128 も、Hバス302 を通じてバスインターフェース及 びFIFO110 からの出力を受信する。サウンドレジスタ128 はオーディオモジュー ル306 の一部を構成しており、表1に記載されたレジスタを含んでいる(但し、 これに限定されない)。先に説明したものに対応して、幾つかのレジスタも各々 ARR 128a、ACR 128b、ACS 128c、ARS 128d、ADCR 128e、AIR 128fと称されてい る。こうしたレジスタは、音声読取レジスタ(ARR )128a、音声コマンドレジス タ(ACR )128b、音声コマンド状態レジスタ(ACS )128c、音声読取状態レジス タ(ARS )128d、音声DMA 制御レジスタ(ADCR)128e、音声割込レジスタ(AIR )128fに対応し、先述の構造と機能を有している。先に説明したように、ARR128 a とACR128b は従来の方法でソフトウェアアプリケーションにアクセスが可能な 非ローカル部分と主にAISRとの通信に使用されるローカル部分の双方を保有可能 である。サウンドレジスタ128 からの出力は、バス129 を通過してオーディオモ ジュール306 の一部を構成するサウンドコントローラ122 (図8B)に至る。サウ ンドコントローラ122 もまた、バス131 を経由してサウンドレジスタ128 への入 出力を行うサウンドレジスタコントローラ130 (図8A)に接続されている。 サウンドコントローラ122 (図8B)はサウンドパケット長用のダウンカウンタ 136 (図8A)への接続部を多く有している。セットラインはサウンドコントロー ラ122 からダウンカウンタ136 へ伸長し、信号がセットラインに供給されるとダ ウンカウンタのカウントを1 整数分減少させる。このダウンカウントは、クロックライン上のクロック信号と 同期している。ダウンカウンタ136 のカウント表示はライン138 を通じてサウン ドコントローラに供給される。ダウンカウンタ136 は、オーディオバッファ100 からのデータブロック転送の終了時期を決定する際に使用される。各データブロ ックのサイズはオーディオバッファ100 の音声構造からダウンカウンタ136 にロ ードされる。サウンドワードがサウンド集積回路70に転送されるにつれて、ダウ ンカウンタは減少する。ダウンカウンタ136 が0に達すると、サウンドコントロ ーラ122 はライン80を通じて割込を生成してAISRを起動させ、次の音声構造用デ ータの処理を開始する。 サウンドコントローラ122 (図8B)もまた、サウンドパケットRAM取出しアド レス用のアップカウンタ140 への接続部を多く有している。アップカウンタ140 は、オーディオバッファ100 の再生/記録バッファ528 及び530 に於けるサウン ドデータのワードをカウントし連続的にアクセスするために使用される。信号は サウンドコントローラ122 からセットラインを通じてアップカウンタ140 に至り 、オーディオバッファ100 の再生/記録バッファ528 及び530 に於けるデータへ のアクセスに使用されるアップカウンタ140 のアドレスを1整数分増加させる。 アップカウンタ140 に於けるこうした増分は、サウンドコントローラ122 からの クロック信号に同期している。アップカウンタ140 は、そのカウントをライン14 2 を通じてサウンドコントローラ122 に出力する。 別のカウンタ144(サウンドテーブルポインタアドレス用カウンタと称される )は、サウンドコントローラ122 との相互接続を有している。信号は、クロック ラインを通じてクロック信号と同期しながらサウンドコントローラ122 からセッ トラインを通してカウンタ144 に至る。カウンタ144 は、そのカウントをライン 146 を通じて サウンドコントローラ122 に出力する。カウンタ144 は、オーディオバッファ10 0 に於ける音声構造のカウントに使用される。ダウンカウンタ136 がカレントブ ロックの転送済みを表示すると、カウンタ144 は次の音声構造にジャンプする( 転送用データがさらに残存すると仮定して)。次いで、その音声構造用のブロッ ク長がダウンカウンタ136 に配置され、データ転送が継続される。その間、AISR はカウンタがアドレスしていない方の再生/記録バッファの半分528または530 に対する、または同バッファからのデータ転送を行うことができる。このように 、再生/記録バッファの2分の1がサウンドコントローラ122 及びその様々なカ ウンタ(その全てがオーディオモジュール306 の一部を形成している)の制御下 でサウンド集積回路70への、または同回路からのデータ転送に使用されている間 、再生/記録バッファの残りの2分の1は、AISR404 の制御下で主メモリ12への 、或いは同メモリからのデータ転送に使用される。 制御信号は、ライン149 を通じてサウンドコントローラ122 と外部サウンドチ ップデータフォーマット及びI/O ブロック150 との間に伸長している。データフ ォーマット及びI/O ブロック150 もまた、Mバス310 に接続されている。サウン ドバス152 はデータフォーマット及びI/O ブロック150 に接続され、サウンド情 報の送受信を行っている。データフォーマット及びI/O ブロック150 は音声構造 に格納されているフォーマット情報を使用して、サウンド集積回路70用データが 再生用として送信される前にそのフォーマットを行う。標準AES/EBU フォーマッ トも使用可能である。データフォーマット及びI/O ブロック150 はまた、サウン ド集積回路70から受信したデータ記録をオーディオバッファ100 に配置される前 に適切なフォーマットに変換する。 ディスプレイメモリコントローラ312 (図8A)からはディスプレ イメモリ88に複数の出力が供給されている。こうした出力の1つは、サウンドデ ータのワードをディスプレイメモリ88に転送するためのバス156 と接続されてい る。別の出力はバス158 に供給され、アドレスの指示を行う。3番目の出力はバ ス160 に供給され、制御情報を提供している。ディスプレイメモリコントローラ 312 は、チップ103 上に配置されたRAM コントローラ16 (図8B)からの信号を バス162 上で受信する。コントローラ164 は、Mバス310 及びサウンドコントロ ーラ122 と共通の接続部を有している。 サウンドデータが主メモリとオーディオバッファ110 との間で転送される際に は、同データはバスインターフェース及びFIFO110 、スイッチ120 、及びディス プレイメモリコントローラ312 を通過する。 バスインターフェースFIFOコントローラ112 (図8A)は、パケット内のサウン ド情報ワードまたはデータに関連するアドレス(24ビット幅)を高速I/O バス54 から受信する。こうしたサウンド情報或いはデータのワード(32ビット幅)は、 バスインターフェースFIFOコントローラ112 からのライン114 経由のクロック信 号(33メガヘルツのような適正な周波数を有する)に同期して、高速I/O バス54 からバスインターフェース及びFIFO110 に進む。バスインターフェース及びFIFO 110 (幅4ワード分)を通過すると、パケット内のサウンド情報ワード或いはデ ータはスイッチ120 に進む。 スイッチ120 (図8A)は通常、開状態である。フレームバッファメモリアパー チャーコントローラ124 がバス163 を経由してバスインターフェース及びFIFOコ ントローラ112 からパケットによるサウンド情報ワードを供給中であるというコ マンドを受信すると、コントローラ124 によってスイッチ120 が閉じられる。次 いで、パケット内のサウンド情報ワード或いはデータは、バスインターフェース 及びFIFO110 からスイッチ120 、Mバス310 及びディスプレイメモリコントロー ラ312 を通り、ディスプレイメモリ88に進んでオーディオバッファ100 に記録さ れる。ディスプレイメモリ88に於ける記録のために、こうしたパケットによるサ ウンドデータワードを通過させるディスプレイメモリコントローラ312 のオペレ ーションは、RAM コントローラ164 (図8B)によって制御されている。 先述の通り、バスインターフェース及びFIFO110 (図8A)の幅は、例えば4ワ ード(文字)のように限定されたものである。通常、サウンド情報ワードは、イ ンターフェース及びFIFOが完全には充填されないような比率でバスインターフェ ース及びFIFO110 を通過する。しかしながら、時折インターフェース及びFIFO11 0 が満杯になることがある。これが発生すると、バスインターフェースFIFOコン トローラ112 は、図8AのCPU レディライン118 上に低電圧を生成する。これによ って、バスインターフェース及びFIFOが少なくとも部分的に空となるまで、図2 のCPU 主メモリ12による高速I/O バス54(図2及び8A)を通りバスインターフェ ース及びFIFO110 (図8A)へ至るサウンドワードの進行の生起が防止される。但 し、バスインターフェース及びFIFO110 は、インターフェース及びFIFOからディ スプレイメモリ88へのサウンドパケットの急速転送によって、ほぼ瞬間的に一部 分が空となる。 サウンドデータがオーディオバッファ100 とサウンド集積回路70との間で転送 される際には、同データはディスプレイメモリコントローラ312 とデータフォー マット及びI/O ブロック150 を通過する。音声構造に於けるフォーマット及び制 御情報は、サウンドテーブルポインタアドレスカウンタ144 によって指示される 。さらに、このサウンド構造体は、サウンドデータが再生/記録用バッファの前 半部528 (図5)、或いは再生/記録用バッファの後半部530 (図5) の何れから処理されるかを決定する。DMA 再生モードコマンドの場合、サウンド テーブルポインタアドレスカウンタ144 は、5つの再生音声構造504-512 (図5 )を通して全サウンドパケットが再生されるまで連続的にカウントを行なう。DM A 記録モードコマンドの場合、サウンドテーブルポインタアドレスカウンタ144 は、5つの記録音声構造514-522 を通じて全サウンドパケットが記録されるまで 連続してカウントを行う。 サウンドデータブロックを個々に処理する間、個々のサウンドワードに関する 再生/記録バッファの任意の2分の1である528 または530 へのオフセットがア ップカウンタ140 によって決定される。アップカウンタ140 は、再生/記録バッ ファ528 または530 に於ける連続ワードを全てのデータブロックが処理されるま でカウントする。 ダウンカウンタ136 は、データブロックの処理終了時期を決定する。このダウ ンカウンタ136 には、音声構造に格納されているブロックサイズが初期的にロー ドされている。個々のサウンドワード毎に、ダウンカウンタ136 が減分される。 カウンタがゼロに達すると、全ブロックが転送済みとなる。この時点で、サウン ドテーブルポインタアドレスカウンタ144 は増分されて次の音声構造を指示し、 サウンドパケットRAM 取出しアドレス用のアップカウンタ140 がリセットされる 。新たなブロックの長さが音声構造からダウンカウンタ136 にロードされ、新た なサウンドデータブロックの処理が開始される。さらに、1つのデータブロック が処理済みとなったことから、サウンドコントローラ122 はAISRに対して割込要 求を生成する。DMAモード再生では、AISRは再生/記録バッファの空となったば かりの半分528 または530 に新たなブロックを移動させる。DMA モード記録では 、AISRは再生/記録バッファの一杯になったばかりの半分528 または530 から録音済みのブロックを転送することができる。先で論じたように 、この処理は全てのサウンドパケットが処理されるまで継続される。 図8A及び8Bに示されているシステムは、図2に示されているシステムのメディ アストリームコントローラ58の一部分として使用した場合に一定の優位性を有し ている。1つの優位点は、それが集積回路チップ103 上に配置されていることで ある。他の優位点は、このシステムによりメディアストリームコントローラ58と 図1が示すような先行技術のシステムとの間に互換性が生まれることにある。こ れは、例えば図1のシステム用に書かれた全てのビデオゲームやソフトウェアを 廃物にしないために必要なことである。この互換性は、ソフトウェアが図2のDM A コントローラ16に、ディスプレイメモリ88のパケットに記録されるワード数の 指示を送ることによってもまた転送開始が可能であることから成り立っている。 次いでAISRは、こうしたワードがディスプレイメモリに転送されサウンドの再生 または録音のためにディスプレイメモリから回収された後に復帰して、DMA コン トローラのカウントをリセットすることができる。代替実施例では、AISRは任意 の分解能でサウンドデータ転送の間にDMA コントローラのカウントを減じること ができる。こうした技術を使用すれば、DMAコントローラのカウントは所定時 間に於けるデータ転送量をさらに正確に反映できるようになる。 図8A及び8Bに示されたシステムはまた、サウンド情報ワードのブロックをディ スプレイメモリ88に比較的高速で転送できるという優位点を有している。これは 、先にディスプレイメモリ88中に記録された他のブロックのワードが実質上の一 定速度(最適音の製造に一致する)で処理されて、こうしたワードで表現された 音が復元されるのと同時に行われる。さらに、サウンドデータまたは情報のワー ドを高速でオーディオバッファ100 の各部分に転送することにより、オーディオ バッファの他の部分に於けるサウンド情報ワードが音に変換されいる間にも、高 速バス54及びローカルバス20は他のコマンドを処理することが可能となる。これ はまた、グラフィックスやビデオのような他の用途にもバスバンド幅を解放して いる。 本発明の他の優位点は、サウンド情報ワードがディスプレイメモリ88に格納さ れることにある。このディスプレイメモリの格納容量は大きく、サウンド情報ワ ードの格納にその微少部分を供給しても容量のロスはほとんどない。さらに、格 納されたワードはそのパケットの指示によってサウンド再生が行われるため、サ ウンド情報ワードの格納はほんの一時的である。 ディスプレイメモリ88のオーディオバッファ100 に於けるサウンド情報ワード の一時格納は、特にコマンド及びグラフィックス、ビデオ情報もまたディスプレ イメモリ88に格納されるという他の優位点を提供している。これによって、本発 明を組み込んだシステムで使用するメモリ数が大幅に減少する。メモリは比較的 高価であるため、本発明のシステムのコストは先行技術のシステムに比較してか なり低減される。 前述の説明は、当業者による本発明の制作及び使用を可能にするような形で提 示されている。特定の設計に関する説明は、単に例として提供したものである。 好適な実施例に対する様々な改良は当業者にとっては容易に明白となるものであ り、また本書で定義された包括的原理は、本発明の精神と範囲を逸脱することな く他の実施例及び用途に適用可能である。従って、本発明は提示された実施例に 限定されるべきものではなく、本書に開示された原理と特徴に合致して最大限の 範囲で許容されるべきものである。 例えば、前記の受動及び活動(アクティブ)コマンドのシステム を使用すれば、DMA モードデータ転送が必要でない場合であっても、サウンドミ キサーコマンド或いは割込みサービスルーチンを使用して他のコマンドを処理す ることができる。コマンド処理にISR を使用することで、ハードウェアを比較的 簡素且つ安価に保持することが可能である。さらに、同様のシステムが非サウン ドコマンド処理に使用可能である。 さらに、サウンドワードの保存用としてディスプレイメモリのVRAM以外のバッ ファを使用することが可能である。これによって必要であれば、本発明によるサ ウンドシステムをグラフィックスやビデオシステムとは別に開発することが可能 である。 本発明の技術は適用範囲が広く、特定のバスシステムまたはコンピュータアー キテクチャに限定されないことも理解されるであろう。本発明の諸形態は、第1 データ転送モードを有する第1バスと互換性のある方法によって第2データ転送 モードを有する第2バス上のバス装置を支援する必要がある場合に随時適用が可 能である。 さらに、データ転送、コマンド処理、及び2重バッファリングなどの技術は、 逆互換性が関係しない場合を含む非常に多くの状況に適用が可能である。 特定の実施例に関連して本発明を説明、例示してきたが、当業者には本発明の 範囲が開示された実施例に限定されず、反対に、下記の特許請求の精神と範囲内 に属する数多くのその他の改良及び均等装置の包含を意図していることが容易に 理解されるであろう。
【手続補正書】 【提出日】1997年8月20日 【補正内容】 請求の範囲 1.第1の装置(12)と第2の装置(58,100)間のデータのダイレクトメモリア クセス(DMA)転送をエミュレートするシステム的な装置であって、前記データのD MA 転送のための少なくとも一つのパラメータでプログラミングされたDMA コン トローラ(16)と、前記データのDMA 転送のリクエストを受信する手段(58)と、前 記データの一部をDMA コントローラ(11,404)の制御とは独立して前記第1の装 置と第2の装置間を転送させる手段(11,404)と、前記第1の装置と第2の装置 間を前記データの少なくとも一部の転送を反映するようDMA コントローラに少な くとも一つのパラメータとしてアップデートされた値を与える手段とからなる装 置。 2.さらに、少なくとも一つの割込み要求(58,80)を再生して割込みサービス ルーチン(404)を処理する手段を有し、同割込みサービスルーチンは、前記デー タの一部をDMA コントローラの制御とは独立して前記第1の装置と第2の装置間 を転送させる手段と、前記第1の装置と第2の装置間を前記データの少なくとも 一部の転送を反映するようDMA コントローラに少なくとも一つのパラメータとし てアッブデートされた値を与える手段との一部を提供することを特徴とした請求 項1に記載の装置。 3.さらに、DMA コントローラ(11,404)からのパラメータに対する初期値を 得るための手段を有することを特徴とした請求項1または2に記載の装置。 4.前記少なくとも一つのパラメータが転送されるデータの量を表す計数であ る請求項1乃至3のいずれかに記載の装置。 5.さらに、高速バスシステム(20)を有し、かつ、前記第1の装置はシステム メモリを有し、前記第2の装置は、オーディオバッフア(100)に接続された作動 可能に接続されたサウンド処理装置(58) を有し、前記第1の装置、第2の装置は前記高速バスシステムに作動可能に接続 され、データは同高速バスシステムにより転送されることを特徴とした請求項1 乃至4のいずれかに記載の装置。 6.さらに、データの一部を転送する間に転送の進行状態を反映するようDMA コントローラ(11,404)に少なくとも一つのパラメータとしてアップデートされ た複数の増分値を与える手段を含む請求項1乃至5のいずれかに記載の装置。 7.さらに、データのDMA 転送が完了したことを示す第2の割込みリクエスト を発生する手段を有した請求項2に記載の装置。 8.さらに、DMA コントローラ(11,404)からのパラメータに対する初期値を 得るための手段を有することを特徴とした請求項2または7に記載の装置。 9.請求項2、7、8に記載の装置であって、さらに、前記割込みサービスル ーチンは、データの一部転送中に転送の進行状態を反映するようDMA コントロー ラに少なくとも一つのパラメータとしてアップデートされた複数の増分値を与え る手段を含むことを特徴とした装置。 10.前記サウンド処理装置はデータのDMA 転送に対するリクエストを受信する 手段を有し、かつ、同リクエストは、サウンド処理装置によって再生またはレコ ードされる一ブロックのサウンド基調データを転送するリクエストであることを 特徴とした請求項5に記載の装置。 11.データはバーストモードデータ転送を用いて転送されることを特徴とした 請求項1乃至10のいずれかに記載の装置。 12.さらに、グラフィック基調データ、ビデオ基調データ、サウンド基調デー タを格納するディスプレイメモリ(88)を有し、かつ、前記オーディオバッファが 同ディスプレイメモリに設けられたこと を特徴とした請求項5または10に記載の装置。 13.さらに、サウンドI/O装置(70)を有し、かつ、前記サウンド処理装置は 、サウンドを入力または出力するためにオーディオバッファとサウンドI/O装 置間を所望の周波数でデータを転送することを特徴とした請求項5、10または 12に記載の装置。 14.第1の装置(12)と第2の装置(58,100)間のデータのダイレクトメモリア クセス(DMA)転送をエミュレートする方法であって、前記データのDMA 転送のた めの少なくとも一つのパラメータでDMA コントローラ(16)をプログラミングし、 かつ、前記データのDMA 転送のリクエストを受信し、前記データの一部をDMA コ ントローラの制御とは独立して前記第1の装置と第2の装置間を転送し、前記第 1の装置と第2の装置間を前記データの少なくとも一部の転送を反映するようDM A コントローラに少なくとも一つのパラメータとしてアップデートされた値を与 えることを特徴とした方法。 15.さらに、少なくとも一つの割込み要求(58,80)を再生して割込みサービス ルーチン(404)を処理する過程を含み、データの少なくとも一部をDMA コントロ ーラの制御とは独立して前記第1の装置と第2の装置間を転送させる過程は割込 みサービスルーチンの制御に従って実行されることを特徴とした請求項14に記 載の方法。 16.さらに、DMA コントローラからのパラメータに対する初期値を得ることを 特徴とした請求項14または15に記載の方法。 17.前記少なくとも一つのパラメータは転送されるデータの量を表す計数であ ることを特徴とした請求項14乃至16のいずれかに記載の方法。 18.さらに、データの一部を転送する間に転送の進行状態を反映するようDMA コントローラに少なくとも一つのパラメータとしてアップデートされた複数の増 分値を与えることを特徴とした請求項14 乃至17のいずれかに記載の方法。 19.さらに、前記割込みサービスルーチンによりデータの一部転送中に転送の 進行状態を反映するようDMA コントローラに少なくとも一つのパラメータとして アップデートされた複数の増分値を与えることを特徴とした請求項15に記載の 方法。 20.さらに、データのDMA 転送が完了したことを示す第2の割込みリクエスト を発生することを特徴とした請求項14乃至19のいずれかに記載の方法。
───────────────────────────────────────────────────── 【要約の続き】 ィアストリームコントローラは、サウンド入力装置から のサウンドデータを読み取ってディスプレイメモリに格 納する。サウンド割込みサービスルーチンは、サウンド データブロックをソフトウェアアプリケーションに転送 するように起動可能である。サウンドデータ転送が完了 すると、サウンド割込みサービスルーチンはDMA コント ローラ内のカウントをリセットし、DMA モード転送用に 書き込みされたソフトウェアアプリケーションとの互換 性をだす。このように、サウンドデータに関してバース トモード高速ブロック転送を使用して帯域幅をビデオ、 グラフィックス、その他の用途用に開放し、しかも公知 のDMA モードサウンドI/O との互換性が可能となる。

Claims (1)

  1. 【特許請求の範囲】 1.パーソナルコンピュータにサウンド(音)を供給する組合せであって、 中央処理装置(CPU )と、 サウンド情報ワードを格納するためのCPU 用主メモリと、 グラフィックス、ビデオ及びサウンドの情報ワードを格納するためのディスプ レイメモリと、 CPU がCPU 主メモリに於けるサウンド情報ワードのアドレスと、CPU 主メモリ からディスプレイメモリに転送されるサウンド情報ワードのアドレスと、CPU 主 メモリからディスプレイメモリに転送されるパケット中のサウンド情報ワードの 長さとを表すコマンドを供給するようにプログラムされていることと、 CPU からのコマンドによって、CPU 主メモリからディスプレイメモリにサウン ド情報ワードを転送する手段とによって構成された組合せ。 2.ディスプレイメモリ中のサウンド情報ワードを処理して音を再生させる手段 を含んだ請求項1に記載の組合せ。 3.ディスプレイメモリにサウンド情報ワードを記録するための2つのバッファ が存在することと、 ディスプレイメモリ中の2つのバッファの内の1つに交互にサウンド情報ワー ドを記録し、また同時にディスプレイメモリの2つのバッファの内のもう一方に 於いてサウンド情報ワードの処理を行う手段とを含んだ請求項1に記載の組合せ 。 4.ディスプレイメモリにビデオ情報ワードを転送する手段と、 ディスプレイメモリに転送されたビデオ情報ワードを処理してビデオ情報を再 生させる手段とを含んだ請求項1に記載の組合せ。 5.パーソナルコンピュータにサウンドを供給する組合せであって、 中央処理装置(CPU )と、 CPU 用主メモリと、同主メモリがサウンド情報を格納することと、 ダイレクトメモリアクセス(DMA )コントローラと、 グラフィックス、ビデオ及びサウンドを格納するためのディスプレイメモリと 、 CPU が主メモリに於けるサウンド情報のアドレス、及びCPU 主メモリからディ スプレイメモリに転送されるサウンド情報の長さを指示するコマンドをDMA コン トローラへ供給するようにプログラムされていることと、 CPU からのコマンドに応答して、ダイレクトメモリアクセスコントローラを起 動しCPU 主メモリからディスプレイメモリにサウンド情報を転送させる手段であ って、同情報をダイレクトメモリアクセスコントローラの操作に関わりなくディ スプレイメモリに転送する手段とを含んだ組合せ。 6.ディスプレイメモリに転送されたサウンド情報を処理し、こうした情報が表 わすサウンドを再生させる手段を含んだ請求項5に記載の組合せ。 7.CPU 主メモリからディスプレイメモリへのサウンド情報の転送が完了したこ とをDMA コントローラに指示する手段と、 DMA コントローラへのこうした転送完了の指示に応答して、ビデオ、グラフィ ックス及びサウンド情報のうちの選択物に関連する情報をCPU 主メモリからディ スプレイメモリへ転送するために、CPU から他のコマンドの提示を行う手段とを 含んだ請求項5に記載の組合せ。 8.パーソナルコンピュータにサウンドを供給する組合せであって、 中央処理装置(CPU )と、 CPU 用主メモリと、 ディスプレイメモリと、 CPU がCPU 主メモリに於けるサウンド情報のパケットのアドレス、及びCPU 主 メモリからディスプレイメモリに転送されるサウンド情報のワード数を指示する コマンドを供給するようにプログラムされていることと、 主バスと、 副バスと、 サウンドに関連したCPU からの個々のコマンドに応答し、CPU 主メモリからデ ィスプレイメモリへのサウンド情報ワードの転送開始表示を副バス上に提供する ための手段と、 副バスへのこうした指示に応答してサウンド情報ワードを主バスに転送するた めの手段と、 主バスへのサウンド情報ワードの転送に応答してディスプレイメモリにサウン ド情報ワードを記録するための手段とを含んだ組合せ。 9.ディスプレイメモリに於けるサウンド情報ワード記録の完了に応答して副バ スに於ける表示を削除するための手段を含んだ請求項8に記載の組合せ。 10.ディスプレイメモリに記録されたサウンド情報ワードに応答してこうしたワ ードによる情報が表すサウンドを再生させるための手段と、 ディスプレイメモリにビデオ情報のパケットを記録する手段と、 ビデオ情報ワードに含まれる情報が表すビデオを再生させる手段とを含んだ請 求項8に記載の組合せ。 11.サウンド情報ワードがディスプレイメモリの2つの別個の部分に記録されて いることと、 サウンド情報ワードをディスプレイメモリの2つの独立した部分に交互に記録 するための手段と、 先行して記録されたサウンド情報ワードをディスプレイメモリに於ける2つの 独立部分のうちのもう一方で処理し、こうしたパケット内のサウンドを再生させ るための手段とを含んだ請求項8に記載の組合せ。 12.パーソナルコンピュータにサウンドを供給する組合せであって、 中央処理装置(CPU )と、 CPU 用主メモリと、 サウンド、グラフィックス及びビデオに関連する情報ワードを記録するための ディスプレイメモリと、 CPU がCPU 主メモリに於けるサウンド情報ワードのアドレスと、ディスプレイ メモリに於けるサウンド情報ワードを受信するためのアドレスと、サウンド情報 ワードの長さとに関連するコマンドを供給するようにプログラムされていること と、 開閉状態を有し、通常は開状態であるスイッチ手段と、 CPU 主メモリからディスプレイメモリへサウンド情報ワードを転送させるコマ ンドに応答してスイッチ手段を閉にするための手段と、 スイッチ手段の閉鎖に応答しCPU からのコマンドに従って、CPU 主メモリから ディスプレイメモリにサウンド情報ワードの転送を行うための手段とを含んだ組 合せ。 13.CPU 主メモリからディスプレイメモリへ転送されるサウンド情報のワード数 を各瞬間で決定する手段と、 ディスプレイメモリに転送中のサウンド情報ワー ドのアドレスを各瞬間にカウントするための手段とを含んだ請求項12に記載の組 合せ。 14.そうしたワードによりサウンドの再生を行うため、ディスプレイメモリに転 送されたサウンド情報ワードを処理する手段と、 ビデオのワードをディスプレイメモリに転送するための手段と、 ディスプレイメモリに転送されたビデオ情報ワードを処理し、ビ デオ情報を再生するための手段とを含んだ請求項12に記載の組合せ。 15.CPU 主メモリからディスプレイメモリに転送されたサウンド情報ワードが、 そうしたワードによる情報で表示されるサウンドのフォーマットに関連する情報 を含むことと、 サウンドのフォーマットを指示するワードに基づいて作動し、そのフォーマッ トに一致してサウンドを供給するための手段とを含んだ請求項12に記載の組合せ 。 16.パーソナルコンピュータにサウンドを供給する組合せであって、 中央処理装置(CPU )と、 CPU 用主メモリと、 グラフィックス、ビデオ及びサウンドに関連する情報ワードを格納するための ディスプレイメモリと、 中央処理装置がCPU 主メモリに於けるサウンド情報ワードのアドレスと、CPU 主メモリからディスプレイメモリに転送されるサウンド情報ワードのアドレスと 、CPU 主メモリからディスプレイメモリに転送されるサウンド情報のパケット長 とを指示するコマンドを供給するようにプログラムされていることと、 その最初のレジスタ手段でCPU 主メモリからサウンド情報ワードを受信し、そ の最後のレジスタ手段からサウンド情報ワードを転送するための複数のレジスタ 手段と、 複数のレジスタ手段の最後の1つからのサウンド情報ワードの通過に対応して 、そうしたサウンド情報ワードをCPU からのコマンドが指定するディスプレイメ モリのアドレスに転送するための手段とを含んだ組合せ。 17.CPU レディラインと、 サウンド情報ワードによる複数のレジスタ手段の充填に対応してCPU レディラ インに不活性化信号を生成するための手段と、 CPU からのコマンドによって操作可能な周辺装置と、 CPU レディライン上への不活性化信号の生成に対応してCPU による周辺装置の 操作を防止するための手段とを含んだ請求項16に記載の組合せ。 18.開閉状態を有し、通常は開状態であるスイッチ手段と、 CPU 主メモリ手段からのサウンド情報ワードに応答してスイッチ手段を閉鎖す るための手段と、 転送手段がスイッチ手段の閉鎖に応答してディスプレイメモリにサウンド情報 ワードを転送することと、 ディスプレイメモリへのサウンド情報ワードの転送完了に対応してスイッチ手 段を開くための手段とを含んだ請求項16に記載の組合せ。 19.第1及び第2電圧を受容するためのCPU レディラインと、 CPU の指示に従って作動する周辺装置と、 CPU レディライン上の第1電圧に応答して、CPU の指示通りに周辺装置の操作 を行うための手段と、 CPU レディライン上の第2電圧に応答して、周辺装置の操作を阻止するための 手段と、 複数のレジスタ手段がサウンド情報ワードによって充填されるとCPU レディラ インに第2電圧を生成するための手段とを含んだ請求項16に記載の組合せ。 20.ディスプレイメモリに第1及び第2アドレスが存在することと、 第1及び第2アドレスの各々にサウンド情報ワードを交互に転送し、またサウ ンド情報ワードが第1及び第2アドレスの各々に転送される間、第1及び第2ア ドレスのもう一方でワードを処理してこうしたワードによるサウンドを再生する ための手段とを含んだ請求項16に記載の組合せ。 21.パーソナルコンピュータにサウンドを供給する組合せであって、 コマンドを供給するための中央処理装置(CPU)と、 サウンド情報ワードを格納するためのCPU 主メモリと、 サウンド情報ワードを格納するための第2メモリと、 CPU がCPU 主メモリに於けるサウンド情報ワードのアドレスと、CPU 主メモリ から第2メモリに転送されるサウンド情報ワードの長さとに関連するコマンドを 供給するようにプログラムされていることと、 CPU 主メモリから第2メモリへのサウンド情報ワードの転送開始を制御するア ダプタカードと、 CPU 及びCPU 主メモリが共有するローカルバスと、 アダプタカードによる転送開始後、CPU 主メモリに於けるサウンド情報ワード を受信するためローカルバスに接続されたコントローラと、 コントローラに至ったサウンド情報ワードを第2メモリに格納するための手段 と、 CPU 主メモリからコントローラに向かうサウンド情報ワードを第2メモリへと 誘導するためにコントローラに接続されたホストバスとを含んだ組合せ。 22.サウンド情報ワードのCPU 主メモリから第2メモリへの転送完了に応答して アダプタカードに転送完了を指示するための手段と、 第2メモリへのサウンド情報ワードの転送開始時からアダプタカードにその転 送完了が指示されるまでコントローラに機能的に接続されて、他のコマンドをCP U が供給するのを防ぐ手段とを含んだ請求項21に記載の組合せ。 23.ディスプレイメモリを構成する第2メモリと、 ビデオ情報ワードをディスプレイメモリに転送するための手段と、 ディスプレイメモリ中のビデオ情報ワードに応答して、ビデオ情報を処理しそ うしたワードに含まれるビデオを再生するための手段とを含んだ請求項21に記載 の組合せ。 24.処理手段がアダプタカードを含むことで構成された請求項23に記載の組合せ 。 25.開及び閉状態を有し、通常は開状態で操作可能であるスイッチ手段と、 開状態であるスイッチ手段の操作に応答して、CPU 主メモリからディスプレイ メモリへのサウンド情報ワードの転送を阻止し、またスイッチ手段が閉状態の場 合にはCPU 主メモリからディスプレイメモリへサウンド情報ワードの転送を行う 手段と、 CPU 主メモリからディスプレイメモリへのサウンド情報ワードの転送が開始さ れるとスイッチ手段を閉鎖する手段とを含んだ請求項23に記載の組合せ。 26.パーソナルコンピュータにサウンドを供給するための組合せであって、 サウンド情報に関連するコマンドを発行するようにプログラムが可能な中央処 理装置(CPU )と、 サウンド情報を格納するためのディスプレイメモリと、 サウンド情報を格納 するためのCPU 主メモリと、 コマンドがCPU 主メモリに於けるサウンド情報のアドレスとディスプレイメモ リに於けるアドレスを含むことと、 CPU からのコマンドに応答し、CPU 主メモリに於けるサウンド情報のアドレス 及びディスプレイメモリに於けるアドレスによって、CPU 主メモリからディスプ レイメモリへのサウンド情報の転送を開始するアダプタカードと、 CPU 主メモリからディスプレイメモリへのサウンド情報の開始に 応答して、CPU 主メモリのサウンド情報をディスプレイメモリに転送するための コントローラ手段と、 CPU 主メモリからディスプレイメモリへのサウンド情報の転送に応答して、ア ダプタカードにサウンド情報の転送完了を指示する手段とを含んだ組合せ。 27.サウンド情報をコントローラ手段によってディスプレイに転送するため、CP U 及びCPU 主メモリからコントローラ手段に伸長し、サウンド情報をCPU 主メモ リからコントローラ手段に転送するためのバスを含んだ請求項26に記載の組合せ 。 28.ディスプレイメモリへのサウンド情報の転送に応答して、サウンド情報を処 理し、サウンド情報によって表示されるサウンドを供給する手段を含んだ請求項 26に記載の組合せ。 29.処理手段がアダプタカードを含むことで構成された請求項28に記載の組合せ 。 30.割込コントローラ手段と、CPU 主メモリからディスプレイメモリへのサウン ド情報の転送完了に応答して割込制御手段を起動させ転送完了をCPU に指示する ための手段を含んだ請求項26に記載の組合せ。 31.CPU へのサウンド情報の完了指示に応答して、CPU に対しこうした完了に起 因して割込コントローラが起動したことを実証するための手段を含んだ請求項30 に記載の組合せ。 32.グラフィックス情報の受信並びに表示をも行う、パーソナルコンピュータに サウンドを供給するための組合せであって、 中央処理装置(CPU )と、 グラフィックスデータの格納、及び供給用サウンドを表す情報の格納を行うた めのディスプレイメモリと、 サウンド情報を格納するためのCPU 主メモリと、 CPU からのコマンドに応答して、ディスプレイメモリにCPU 主メモリに含まれ るサウンド情報を転送するための手段と、 ディスプレイメモリに転送されたサウンド情報からサウンドを再生するための 手段とを含んだ組合せ。 33.CPU がさらに、サウンド情報のフォーマットと、CPU 主メモリに於ける同フ ォーマットのアドレスと、サウンド情報のフォーマットの転送先であるディスプ レイメモリ中の特定アドレスとを指示するコマンドを供給するようにプログラム されていることと、 コマンドを指示するフォーマットに応答して、サウンド情報のフォーマットを ディスプレイメモリの特定アドレスに転送するための手段とを含んだ請求項32に 記載の組合せ。 34.ディスプレイメモリの特定アドレスに於けるフォーマット情報に従ってディ スプレイメモリの特定アドレスに於けるサウンド情報を処理しサウンドを再生す るための手段を含んだ請求項33に記載の組合せ。 35.グラフィックス情報の受信並びに表示をも行うパーソナルコンピュータにサ ウンドを供給するための組合せであって、 コマンドを発行できるようにプログラムが可能な中央処理装置(CPU )と、 パーソナルコンピュータへの導入のためにサウンド情報ワードをシーケンスに より格納するためのCPU 主メモリと、 アダプタカードと、 CPU 主メモリからシーケンスによってサウンド情報ワードを受信並びに格納す るためのディスプレイメモリと、 CPU からのコマンドに応答して、CPU 主メモリからディスプレイメモリへのシ ーケンスによるサウンド情報ワードの転送を開始させアダプタカードを作動させ るための手段と、 アダプタカードの起動に応答して、CPU 主メモリからディスプレイメモリへの シーケンスによるサウンド情報ワードの転送をアダプタカードの操作に関わりな く達成する手段とを含んだ組合せ。 36.CPU 主メモリとディスプレイメモリの間に配置され、CPU 主メモリからディ スプレイメモリへのシーケンスによるサウンド情報ワードの如何なる転送をも妨 げ得る開状態を有するスイッチ手段と、 シーケンスのサウンド情報ワードがCPU 主メモリからディスプレイメモリに転 送される場合に閉状態のスイッチ手段の操作を供給する手段とを含んだ請求項35 に記載の組合せ。 37.シーケンス中のサウンド情報ワードがディスプレイメモリに於けるサウンド 情報ワードのアドレスを含んでいることと、 シーケンス内に残存するディスプレイメモリへの転送用サウンド情報ワード数 を指示するための第1カウント手段と、 残存するディスプレイメモリへの転送用サウンド情報の連続ワードのアドレス を指示するための第2カウント手段と、 ディスプレイメモリへのシーケンスによるサウンド情報ワードの逐次転送に応 答して、第1カウント手段のカウントを1整数分減少させ、第2カウント手段の カウントを1整数分増加させるための手段とを含んだ請求項35に記載の組合せ。 38.ディスプレイメモリのサウンド情報ワードをシーケンスによって処理し、そ のサウンドを再生するための手段を含んだ請求項35に記載の組合せ。 39.ディスプレイメモリにグラフィックス情報を記録するための手段と、 ディスプレイメモリにビデオ情報を記録し、 ディスプレイメモリでのこの記録後にこうしたビデオ情報を処理するための手 段とを含んだ請求項38に記載の組合せ。 40.パーソナルコンピュータに於いてデータを転送するためのシステムであって 、 データブロックを格納するための主メモリと、 主メモリに機能的に接続され、第1バスを通じてデータ転送を行う第1モード を有する第1バスと、 主メモリに機能的に接続され、第2バスを通じてデータ転送を行う第2モード を有する第2バスと、 前記第2バスに接続されたバス装置であって、前記第1データ転送モードに対 する要求を受信し、その結果前記第2データ転送モードを使用して前記データブ ロックを前記第2バス経由で転送させ、また 前記ブロックが前記第1データ転送モードを使用して転送されたことを指示す る少なくとも1つの信号を生成させる前記バス装置と、で構成されたデータ転送 システム。 41.第1データ転送モードがダイレクトメモリアクセスであり、第2データ転送 モードがCPU により開始されるバーストモードである請求項40に記載のシステム 。 42.第1バスが拡張バスであり、第2バスがローカルバスである請求項40に記載 のシステム。 43.第1バスが拡張バスであり、第2バスがローカルバスである請求項41に記載 のシステム。 44.バス装置がサウンド処理装置であり、データブロックがサウンドワードのブ ロックである請求項40に記載のシステム。 45.バス装置がサウンド処理装置であり、データブロックがサウンドワードのブ ロックである請求項43に記載のシステム。 46.中央処理装置(CPU )と、 前記バス装置が生成する割込要求に応答して、前記CPU により実 行可能な割込みサービスルーチンとでさらに構成され、 第1データ転送モードに対する前記要求に応答して、前記バス装置が割込み要 求を生成し、その結果前記CPU により前記割込みサービスルーチンが実行され、 また 前記割込みサービスルーチンによって前記データブロックが前記第2転送モー ドを使用して前記バスを通じて転送された請求項40に記載のシステム。 47.第1データ転送モードがダイレクトメモリアクセスであり、第2データ転送 モードがCPU により開始されるバーストモード転送である請求項46に記載のシス テム。 48.少なくとも1つの信号が第2バスに出されたコマンド応答である請求項40に 記載のシステム。 49.少なくとも1つの信号が割込要求である請求項40に記載のシステム。 50.少なくとも1つの信号が第2バスに出されたコマンド応答である請求項46に 記載のシステム。 51.少なくとも1つの信号が割込要求である請求項46に記載のシステム。 52.グラフィックス、ビデオ及びサウンドの情報ワードを格納するためのディス プレイメモリでさらに構成され、前記ディスプレイメモリが前記バス装置に接続 され、 前記サウンドワードブロックが主メモリとディスプレイメモリ間で転送される 請求項44に記載のシステム。 53.バスを通じてサウンド関連データを転送するためのシステムであって、 サウンド関連データのブロックを格納する主メモリと、 中央処理装置(CPU )と、 前記CPU と前記主メモリを機能的に接続するバスと、 前記バスに接続されたサウンド処理装置と、 前記サウンド処理装置からの割込に応答して前記CPU によって実行可能な割込 みサービスルーチンとで構成され、 前記サウンド処理装置がバスを通じてサウンド関連データブロックの転送要求 を受信し、 前記サウンド処理装置がバスを通じてサウンド関連データブロックを転送させ る前記要求に応答して割込を生成し、それによって前記CPU が前記割込みサービ スルーチンを実行し、 前記割込みサービスルーチンが前記CPU により開始されるバーストモード転送 を使用して、前記CPU に前記バスを通じて前記サウンド関連データブロックを転 送させるシステム。 54.前記バスがVLローカルバス、PCI ローカルバス或いはそれに類似する高速I/ O バスである請求項53に記載のシステム。 55.前記サウンド処理装置に接続された、グラフィックス、ビデオ及びサウンド 情報を格納するためのディスプレイメモリでさらに構成され、 前記サウンドワードブロックが前記主メモリとディスプレイメモリ間で転送さ れる請求項53に記載のシステム。 56.サウンドI/O 装置でさらに構成され、 サウンド処理装置がサウンド入出力用の希望の周波数でサウンド情報ワードを 前記ディスプレイメモリとサウンドI/O 装置間で転送する請求項55に記載のシス テム。 57.サウンド情報ワードを格納するためディスプレイメモリに少なくとも2つの バッファが供給されており、ディスプレイメモリの2つのバッファの各々と主メ モリ間でサウンド情報ワードの転送を交互に行い、またディスプレイメモリの2 つのバッファのもう一方に 於いて同時にサウンド情報ワードの処理を行う手段でさらに構成された請求項55 に記載のシステム。 58.前記サウンド処理装置に接続された二次メモリでさらに構成され、 前記サウンドワードブロックが前記主メモリと二次メモリ間で転送される請求 項53に記載のシステム。 59.サウンドI/O 装置でさらに構成され、 サウンド処理装置がサウンド入出力用の希望の周波数でサウンド情報ワードを 前記二次メモリとサウンドI/O 装置間で転送する請求項58に記載のシステム。 60.サウンド情報ワードを格納するため二次メモリに少なくとも2つのバッファ が供給されており、二次メモリの2つのバッファの各々と主メモリとの間でサウ ンド情報ワードの転送を交互に行ない、また二次メモリの2つのバッファのもう 一方に於いて同時にサウンド情報ワードの処理を行う手段と、でさらに構成され た請求項58に記載のシステム。 61.コンピュータに於いてバス装置用コマンドを処理するためのシステムであっ て、 中央処理装置(CPU)と、 前記CPU と機能的に接続されたバスと、 前記バスと機能的に接続され、データ格納用に少なくとも1つのレジスタを含 むバス装置と、 バス装置からの割込要求に応答しCPU によって実行可能な割込みサービスルー チンと、で構成され、 バス装置が少なくとも1つの後続装置関連コマンドの処理に使用する情報を含 む前記CPU からの第1装置関連コマンド少なくとも1つを受信し、 バス装置が第1装置関連コマンドからの情報をレジスタに格納し、 バス装置が装置関連処理の実行を要求する少なくとも1つの後続装置関連コマ ンドを受信し、 バス装置が装置関連の後続コマンドに応答して割込要求を生成し、 割込みサービスルーチンがバス装置からの割込要求に応答して実行され、 割込みサービスルーチンがバス装置のレジスタからの情報を再生し、装置関連 の前記後続コマンドにより前記情報を使用して装置関連処理を実行する前記シス テム。 62.バス装置がデジタルサウンドI/O コマンドを処理するためのサウンド装置で ある請求項61に記載のシステム。 63.第1装置関連コマンドがバスを通じたサウンドデータ転送のためのフォーマ ット或いは制御情報を含み、また装置関連の後続コマンドが前記バスを通じた前 記サウンドデータの転送を要求する請求項62に記載のシステム。 64.第1装置関連コマンドがサウンド関連データの再生または録音用周波数を指 示する情報を含んだ請求項62に記載のシステム。 65.装置関連の後続コマンドがデータのダイレクトメモリアクセス転送の要求で あり、また前記割込みサービスルーチンがダイレクトメモリアクセス以外のデー タ転送技術を使用して装置関連の前記後続コマンドを処理する請求項61に記載の システム。 66.前記バスがCPU が開始するバーストモード転送を使用したデータ転送が可能 な高速I/O バスであり、割込みサービスルーチンが使用するデータ転送技術がCP U によって開始されるバーストモード転送である請求項65に記載のシステム。 67.割込みサービスルーチンがデータのダイレクトメモリアクセス転送の完了を 指示する信号を生成する請求項65に記載のシステム。 68.コンピュータに於いてコマンドを処理するためのシステムであって、 コマンドを供給する中央処理装置(CPU )と、 前記CPU に機能的に接続されたバスと、 前記バスと機能的に接続され、少なくとも第1及び第2割込要求ラインを有す る割込コントローラと、 前記バス及び前記第1割込要求ラインと機能的に接続され、CPU からのコマン ドを受信するための手段を有するバス装置と、 第1割込要求ライン上の割込要求に応答してCPU により実行可能な第1割込み サービスルーチンと、 バス装置及び第1割込みサービスルーチンが第1結果を生成するためのコマン ド処理手段を連携して有することと、 第2割込要求ライン上の割込要求に応答してCPU による実行が可能であり、前 記コマンドが処理された後に第2結果を生成する処理を行なうように構成された 第2割込みサービスルーチンと、 前記第1割込みサービスルーチンが前記第1結果を前記第2結果に変換し、ま た第2割込みサービスルーチンを実行するための手段を有することによって構成 された前記システム。 69.前記第2割込みサービスルーチンを実行する手段が第1割込みサービスルー チンにより生成される割込要求である請求項範囲第68項記載のシステム。 70.前記第2割込みサービスルーチンを実行するための手段が前記第1割込みサ ービスルーチンに於ける実行可能命令に一致してCPU によって行われる模擬割込 である請求項68に記載のシステム。 71.第1結果が前記CPU によって開始されるバーストモード転送を使用した前記 バス経由によるデータ転送の完了であり、第2結果がダイレクトメモリアクセス データ転送を使用したデータ転送の完了 である請求項68に記載のシステム。 72.バスがVLローカルバス、PCI ローカルバス或いはそれに類似する高速I/O バ スである請求項71に記載のシステム。 73.CPU、割込信号を受信可能な割込コントローラ、及び前記バス装置と前記メ モリ装置間で前記DMA データ転送を生起させるDMA コントローラを有し、コンピ ュータシステムに於いてメモリ装置及びバス装置間でDMA データ転送をエミュレ ートするためのシステムであって、前記DMA コントローラがベースアドレスを格 納するための第1レジスタと前記DMA データ転送のバイト数に付随する値を格納 するための第2レジスタを有し、前記バス装置が前記DMA データ転送の実行コマ ンドに応答して第1割込信号を生成し、 前記割込コントローラに結合された前記第1割込信号に応答してCPU による実 行が可能な第1割込ルーチンであって、 前記第1レジスタに於ける前記ベースアドレスと前記第2レジスタに於ける前 記値を得るための第1ルーチンと、 前記バス装置と前記記憶装置間に於ける前記ベースアドレスと前記データが指 示するデータの転送を前記CPU に制御させる第2ルーチンと、 前記第2ルーチンの実行完了時点で前記割込コントローラに第2割込信号を生 成するための第3ルーチンとを含む前記第1ルーチンと、 前記第2割込信号に応答して、前記DMA 装置を前記DMA 装置によるDMA 転送が 実際に実行された場合に想定される状態にリセットするための、前記CPU によっ て実行可能なルーチンを含む前記第2割込ルーチンと、で構成された前記システ ム。 74.前記CPU に制御される前記データ転送が前記CPU により開始されるバースト モード転送である請求項73に記載のシステム。 75.前記コマンドがソフトウェアプログラムから生じる請求項73に記載のシステ ム。 76.コンピュータシステムであって、 CPU と、 割込信号を受け入れ可能な割込コントローラと、 記憶装置と、 バス装置と、 前記バス装置と前記記憶装置間に於ける直接DMA データ転送を可能にし、ベー スアドレスを格納するための第1レジスタと前記DMA データ転送のバイト数に付 随する値を格納するための第2レジスタを有するDMA コントローラと、 前記割込コントローラに結合された第1割込信号に応答して前記CPU による実 行が可能であり、前記第1レジスタに於ける前記ベースアドレスと前記第2レジ スタに於ける前記値を得る第1ルーチンと、 前記第1ルーチンに応答して前記バス装置と前記記憶装置間に於ける前記ベー スアドレスと前記値が指示するデータの転送を前記CPU によって制御させるため の第2ルーチンと、 前記第2ルーチンの実行完了時点で、前記割込コントローラに第2割込信号を 生成するための第3ルーチンと、 前記第2割込信号に応答して、前記DMA 装置を前記DMA 装置によるDMA 転送が 実際に行われた場合に想定される状態にリセットするための、前記CPU によって 実行可能な第4ルーチンと、 前記DMA データ転送を行うためのコマンドに応答して前記第1割込信号を生成 するための回路と、で構成されたコンピュータシステム。 77.前記CPU に制御される前記転送が前記CPU によって開始される バーストモード転送である請求項76に記載のコンピュータシステム。 78.前記バス装置がオーディオバッファで構成された請求項76に記載のコンピュ ータシステム。 79.サウンド処理装置と、 前記オーディオバッファから前記サウンド処理装置へのデータ転送を制御する ための回路と、でさらに構成される請求項78に記載のコンピュータシステム。 80.前記オーディオバッファが少なくとも第1部分及び第2部分に組織化されて おり、前記第1部分が前記第2ルーチンの制御下で前記記憶装置からのデータを 受信可能であり、同時に前記第2部分がデータを前記サウンド処理装置に送信す る請求項79に記載のコンピュータシステム。 81.前記オーディオバッファがグラフィックまたはビデオデータを含むディスプ レイメモリに設けられている請求項78に記載のコンピュータシステム。 82.前記コマンドがソフトウェアプログラムから生じる請求項76に記載のコンピ ュータシステム。 83.アプリケーションプログラムの実行に応答して、コンピュータシステムの第 1記憶装置に格納されたデジタルオーディオデータからアナログオーディオ信号 を生成するための方法であって、前記コンピュータシステムがCPU と、DMA コン トローラと、第2記憶装置と、前記デジタルオーディオデータを前記アナログオ ーディオ信号に変換するためのサウンド処理装置とを含み、前記アプリケーショ ンプログラムが前記DMA コントローラ内のベースアドレスとカウントを設定し、 前記DMA コントローラから前記ベースアドレスと前記カウントを得る段階と、 前記CPU の制御下で、前記第1記憶装置から前記第2記憶装置へ前記デジタル オーディオデータを転送する段階と、 前記デジタルオーディオデータの前記第2記憶装置への移動が完了した時点で 、前記DMA コントローラによるDMA 転送が実際に行われた場合に想定される状態 に前記DMA 装置をセットする段階と、 前記第2記憶装置のデジタルオーディオデータを前記サウンド処理装置に移動 する段階と、で構成された前記方法。 84.データを前記第2記憶装置に転送する前記段階が、 前記第2記憶装置を少なくとも第1バッファ及び第2バッファにセットアップ する段階と、 前記CPU の制御下で前記デジタルオーディオデータの一部分を前記第1バッフ ァに転送する段階と、 前記第1バッファがフル状態になると制御信号を生成する段階と、 で構成され、 前記サウンド処理装置にデータを移動する前記段階が前記制御信号に応答して データ移動を開始する請求項83に記載の方法。 85.前記サウンド処理装置への前記データ移動段階と併行して、前記CPU の制御 下で前記デジタルオーディオデータの一部分を前記第2バッファに転送する段階 をさらに含んだ請求項84に記載の方法。 86.前記デジタルオーディオデータが前記第2記憶装置に第1速度で転送され、 前記デジタルオーディオデータが前記サウンド処理装置に第2速度で移動される 請求項83に記載の方法。 87.前記第2記憶装置への前記転送段階がバーストモード転送である請求項83に 記載の方法。 88.前記第2記憶装置がビデオ及びオーディオデータを含んだ請求項87に記載の 方法。 89.前記第1記憶装置が第1バスに機能的に接続され、前記第2記 憶装置が2バスに機能的に接続されている請求項83に記載の方法。 90.前記第1バス及び前記第2バスが異なる通信速度で作動する請求項89に記載 の方法。 91.前記サウンド処理装置への前記データ移動段階が完了した時点で割込を生成 する段階と、 前記デジタルオーディオデータの前記第2記憶装置への前記転送段階を反復す る段階と、でさらに構成された請求項83に記載の方法。 92.バス装置に対してアプリケーションプログラムが発行するコマンドを実行す るためのシステムであって、前記バス装置が前記コマンドの達成時に第1割込信 号を生成して第1割込ルーチンを呼び出す回路を含み、 前記コマンドを代行受信する回路と前記コマンドの受信時に第2割込信号を生 成するための回路とを含む回路装置と、 前記第2割込信号による呼び出しが可能であり、前記コマンドに応答して一連 の指令を実行し、前記バス装置によって実行されるものと同じ機能を形成するた めの第2割込ルーチンであって、前記第1割込信号を生成するための指令をさら に含む前記第2割込ルーチンと、で構成された前記システム。 93.前記アプリケーションプログラムが前記コマンドを実行するための1つまた は複数のパラメータを発行し、前記回路装置が1つまたは複数の前記パラメータ を代行受信するための回路をさらに含み、前記第2割込ルーチンの前記指令セッ トが1つまたは複数の前記パラメータを使用する請求項92に記載のシステム。 94.前記回路装置が複数のコマンドを格納するための複数のメモリレジスタをさ らに含み、前記第2割込ルーチンが複数の前記コマンドに関連する指令セットを 含んだ請求項92に記載のシステム。
JP8516086A 1994-11-10 1995-10-27 サウンド等用のコンピュータシステムにおけるコマンド処理及びデータ転送用のための装置と方法 Withdrawn JPH10508963A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/337,924 US5732279A (en) 1994-11-10 1994-11-10 System and method for command processing or emulation in a computer system using interrupts, such as emulation of DMA commands using burst mode data transfer for sound or the like
US08/337,924 1994-11-10
PCT/US1995/013865 WO1996015499A1 (en) 1994-11-10 1995-10-27 System and method for command processing and data transfer in a computer system for sound or the like

Publications (1)

Publication Number Publication Date
JPH10508963A true JPH10508963A (ja) 1998-09-02

Family

ID=23322606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8516086A Withdrawn JPH10508963A (ja) 1994-11-10 1995-10-27 サウンド等用のコンピュータシステムにおけるコマンド処理及びデータ転送用のための装置と方法

Country Status (5)

Country Link
US (2) US5732279A (ja)
EP (1) EP0791197B1 (ja)
JP (1) JPH10508963A (ja)
DE (1) DE69524975T2 (ja)
WO (1) WO1996015499A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009298405A (ja) * 1998-01-07 2009-12-24 Microsoft Corp オーディオ娯楽システムを備えた車両コンピュータ・システム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940610A (en) * 1995-10-05 1999-08-17 Brooktree Corporation Using prioritized interrupt callback routines to process different types of multimedia information
JPH10307653A (ja) * 1997-05-09 1998-11-17 Toshiba Corp コンピュータシステムおよびサウンドコントローラ並びにそれらに適用されるパワーダウン制御方法
US6108724A (en) * 1997-05-29 2000-08-22 Gateway 2000, Inc. Fast IDE drive to drive transfers
JPH11338762A (ja) * 1998-05-26 1999-12-10 Mitsubishi Electric Corp Icメモリ及びそのicメモリによる動作互換性判定方法
US6178471B1 (en) * 1998-07-21 2001-01-23 International Business Machines Corporation Method of sharing buffers for the streaming of unchanged data
JP2001350713A (ja) * 2000-06-07 2001-12-21 Hitachi Ltd 転送制御装置
JP2005506578A (ja) * 2001-10-19 2005-03-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ サブミクロン幅のパターンを形成する方法
US7149814B2 (en) * 2002-01-04 2006-12-12 Hewlett-Packard Development Company, L.P. Method and apparatus to provide sound on a remote console
US6898723B2 (en) * 2002-04-01 2005-05-24 Mitac International Corp. Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range
US20040003145A1 (en) * 2002-06-27 2004-01-01 Eyal Schneiderman Method and apparatus to transfer information
US7103157B2 (en) * 2002-09-17 2006-09-05 International Business Machines Corporation Audio quality when streaming audio to non-streaming telephony devices
WO2004046928A1 (fr) * 2002-11-14 2004-06-03 Stmicroelectronics S.A. Circuit de surveillance d'un microprocesseur et outil d'analyse et ses entrees/sorties
US7073007B1 (en) * 2003-07-22 2006-07-04 Cisco Technology, Inc. Interrupt efficiency across expansion busses
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
US7222199B2 (en) * 2004-03-31 2007-05-22 Intel Corporation Circuit and method for transferring low frequency signals via high frequency interface
US20050268023A1 (en) * 2004-06-01 2005-12-01 Briggs Randall D Multi-port random access memory
US7788463B2 (en) 2007-02-13 2010-08-31 Microsoft Corporation Cyclic buffer management
US8606989B2 (en) 2010-08-31 2013-12-10 Lsi Corporation Methods and apparatus for burst data transfers between double data rate (DDR) memories and embedded processors during training
US10019397B2 (en) 2014-03-28 2018-07-10 Texas Instruments Incorporated Real-time data acquisition using chained direct memory access (DMA) channels

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4313160A (en) * 1976-08-17 1982-01-26 Computer Automation, Inc. Distributed input/output controller system
US4727480A (en) * 1984-07-09 1988-02-23 Wang Laboratories, Inc. Emulation of a data processing system
US4821180A (en) * 1985-02-25 1989-04-11 Itt Corporation Device interface controller for intercepting communication between a microcomputer and peripheral devices to control data transfers
US4695945A (en) * 1985-02-28 1987-09-22 International Business Machines Corporation Processor I/O and interrupt filters allowing a co-processor to run software unknown to the main processor
US4755937A (en) * 1986-02-14 1988-07-05 Prime Computer, Inc. Method and apparatus for high bandwidth shared memory
GB2219178A (en) * 1988-02-11 1989-11-29 Benchmark Technologies State machine controlled video processor
US4937861A (en) * 1988-08-03 1990-06-26 Kelly Services, Inc. Computer software encryption apparatus
US4994912A (en) * 1989-02-23 1991-02-19 International Business Machines Corporation Audio video interactive display
JP2531534B2 (ja) * 1989-05-26 1996-09-04 三菱電機株式会社 表示装置
US5355146A (en) * 1990-03-05 1994-10-11 Bmc Micro-Industries Ltd. Multi-directional hand scanner and mouse
US5129036A (en) * 1990-03-30 1992-07-07 Computer Concepts Corporation Broadcast digital sound processing system
US5305436A (en) * 1990-04-02 1994-04-19 Hewlett-Packard Company Hose bus video interface in personal computers
US5519684A (en) * 1990-05-14 1996-05-21 Casio Computer Co., Ltd. Digital recorder for processing in parallel data stored in multiple tracks
US5276458A (en) * 1990-05-14 1994-01-04 International Business Machines Corporation Display system
WO1991018345A1 (en) * 1990-05-22 1991-11-28 Optical Media International Voice message decoding and buffering system
US5274779A (en) * 1990-07-26 1993-12-28 Sun Microsystems, Inc. Digital computer interface for simulating and transferring CD-I data including buffers and a control unit for receiving and synchronizing audio signals and subcodes
US5150456A (en) * 1990-08-06 1992-09-22 Elite High Technology, Inc. Graphic image printing system and method
US5245322A (en) * 1990-12-11 1993-09-14 International Business Machines Corporation Bus architecture for a multimedia system
US5283819A (en) * 1991-04-25 1994-02-01 Compuadd Corporation Computing and multimedia entertainment system
US5192999A (en) * 1991-04-25 1993-03-09 Compuadd Corporation Multipurpose computerized television
SG47630A1 (en) * 1991-04-26 1998-04-17 Casio Computer Co Ltd Digital recorder
EP0519348B1 (en) * 1991-06-19 1999-07-28 Hewlett-Packard Company Co-processor supporting architecture adapted to a processor which does not natively support co-processing
US5289584A (en) * 1991-06-21 1994-02-22 Compaq Computer Corp. Memory system with FIFO data input
JPH0520263A (ja) * 1991-07-15 1993-01-29 Nec Corp データ転送制御装置
SG42859A1 (en) * 1991-07-18 1997-10-17 Ibm System and method for combining multiple composite video signals
US5381538A (en) * 1991-10-15 1995-01-10 International Business Machines Corp. DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
US5333299A (en) * 1991-12-31 1994-07-26 International Business Machines Corporation Synchronization techniques for multimedia data streams
US5371518A (en) * 1992-02-27 1994-12-06 Silicon Graphics, Inc. Video timing and display ID generator
US5355391A (en) * 1992-03-06 1994-10-11 Rambus, Inc. High speed bus system
US5369729A (en) * 1992-03-09 1994-11-29 Microsoft Corporation Conversionless digital sound production
US5297231A (en) * 1992-03-31 1994-03-22 Compaq Computer Corporation Digital signal processor interface for computer system
WO1993021574A1 (en) * 1992-04-10 1993-10-28 Videologic Limited Multimedia display
US5243447A (en) * 1992-06-19 1993-09-07 Intel Corporation Enhanced single frame buffer display system
US5386493A (en) * 1992-09-25 1995-01-31 Apple Computer, Inc. Apparatus and method for playing back audio at faster or slower rates without pitch distortion
TW276312B (ja) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5402147A (en) * 1992-10-30 1995-03-28 International Business Machines Corporation Integrated single frame buffer memory for storing graphics and video data
US5367301A (en) * 1992-11-10 1994-11-22 Cd Rom, Inc. Method and system for decoding digital audio files
JPH07146679A (ja) * 1992-11-13 1995-06-06 Internatl Business Mach Corp <Ibm> 音声データを変換する方法及びシステム
US5392407A (en) * 1992-12-24 1995-02-21 Ncr Corporation Multi-port processor with peripheral component interconnect port and rambus port
US5333135A (en) * 1993-02-01 1994-07-26 North American Philips Corporation Identification of a data stream transmitted as a sequence of packets
US5406306A (en) * 1993-02-05 1995-04-11 Brooktree Corporation System for, and method of displaying information from a graphics memory and a video memory on a display monitor
US5513329A (en) * 1993-07-15 1996-04-30 Dell Usa, L.P. Modular host local expansion upgrade
US5440336A (en) * 1993-07-23 1995-08-08 Electronic Data Systems Corporation System and method for storing and forwarding audio and/or visual information on demand
US5553220A (en) * 1993-09-07 1996-09-03 Cirrus Logic, Inc. Managing audio data using a graphics display controller
US5369617A (en) * 1993-12-21 1994-11-29 Intel Corporation High speed memory interface for video teleconferencing applications
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
EP1005010A3 (en) * 1994-03-16 2001-10-24 Brooktree Corporation Method for processing data in a multimedia graphics system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009298405A (ja) * 1998-01-07 2009-12-24 Microsoft Corp オーディオ娯楽システムを備えた車両コンピュータ・システム
JP4672791B2 (ja) * 1998-01-07 2011-04-20 マイクロソフト コーポレーション オーディオ娯楽システムを備えた車両コンピュータ・システム
US8001290B2 (en) 1998-01-07 2011-08-16 Microsoft Corporation Vehicle computer system with audio entertainment system
US8065026B2 (en) 1998-01-07 2011-11-22 Microsoft Corporation Vehicle computer system with audio entertainment system

Also Published As

Publication number Publication date
EP0791197B1 (en) 2002-01-09
DE69524975T2 (de) 2002-08-29
DE69524975D1 (de) 2002-02-14
EP0791197A1 (en) 1997-08-27
US5732279A (en) 1998-03-24
WO1996015499A1 (en) 1996-05-23
US5974478A (en) 1999-10-26

Similar Documents

Publication Publication Date Title
JPH10508963A (ja) サウンド等用のコンピュータシステムにおけるコマンド処理及びデータ転送用のための装置と方法
US5553220A (en) Managing audio data using a graphics display controller
US6052744A (en) System and method for transferring concurrent multi-media streams over a loosely coupled I/O bus
US6643744B1 (en) Method and apparatus for pre-fetching audio data
US6374148B1 (en) Portable-PC audio system with digital-audio links to external audio in a docking station
JP2575596B2 (ja) バス・ブリッジを介してデータを通信する方法およびデータ処理システム
JPH0792654B2 (ja) ビデオ・データ・フレーム伝送方法および装置
US5680592A (en) System using a plurality of state machines for translating commands intended for legacy bus devices to commands for local bus devices
JPH05204828A (ja) マルチ−メディア信号プロセッサ・コンピュータ・システム
US6606689B1 (en) Method and apparatus for pre-caching data in audio memory
JP2016505915A (ja) 表示インターフェースを介するシリアルバスサポートの柔軟な実装
EP0898751A1 (en) Computer system having a multimedia engine coupled to a real-time data cache
US7188196B2 (en) Method and apparatus for playing analog audio to multiple codec outputs
US20020178274A1 (en) System for digital stream transmission and method thereof
US6801961B2 (en) Method for solving intermission of streaming data and associated device thereof
US6587901B2 (en) Information processing system, portable electronic equipment and information processing apparatus
US20130085763A1 (en) Codec devices and operating and driving method thereof
JP2001298494A (ja) データ・リンクとのインターフェースを制御するコントローラと方法
US6104876A (en) PCI bus master retry fixup
JPH07320381A (ja) コンパクトディスク−インターアクティブシステム
US5708815A (en) DMA emulation via interrupt muxing
US5768631A (en) Audio adapter card and method for trapping audio command and producing sound corresponding to the trapped command
JPH08212187A (ja) マルチメディアデータ出力方法
JP2002529993A (ja) Pcと互換性のある多数のオーディオdac
US5226140A (en) Apparatus for controlling the transfer of data

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080219

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090219

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees