JPH1069454A - コンピュータ・システム・バス上でスレーブdmaエミュレーションを行う装置 - Google Patents
コンピュータ・システム・バス上でスレーブdmaエミュレーションを行う装置Info
- Publication number
- JPH1069454A JPH1069454A JP9125218A JP12521897A JPH1069454A JP H1069454 A JPH1069454 A JP H1069454A JP 9125218 A JP9125218 A JP 9125218A JP 12521897 A JP12521897 A JP 12521897A JP H1069454 A JPH1069454 A JP H1069454A
- Authority
- JP
- Japan
- Prior art keywords
- master
- bus
- computer system
- dma controller
- logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【課題】 PCIバスなどのスレーブ・デバイスをサポ
ートしないコンピュータ・システム・バス上でスレーブ
DMAサポートを提供する装置を提供すること。 【解決手段】 アダプタ・カードまたはマイクロプロセ
ッサはバスマスタの働きをし、かつ、通常はスレーブD
MA動作中に使用されるシステムDMAコントローラを
シミュレートすることができるローカルDMAコントロ
ーラを有する。。あるいは、ローカルDMAコントロー
ラは、アプリケーション・ソフトウェアがシステムDM
Aコントローラ内でレジスタをポーリングするときに正
確な状況を受け取るように、既存のシステムDMコント
ローラとともに動作できる。ローカルDMAコントロー
ラは、システムDMAコントローラがDMA転送を制御
しているかのようにシステムDMAコントローラが動作
することができる。このようにして、システムDMAコ
ントローラとローカルDMAコントローラの間のデバイ
ス競合が回避される。
ートしないコンピュータ・システム・バス上でスレーブ
DMAサポートを提供する装置を提供すること。 【解決手段】 アダプタ・カードまたはマイクロプロセ
ッサはバスマスタの働きをし、かつ、通常はスレーブD
MA動作中に使用されるシステムDMAコントローラを
シミュレートすることができるローカルDMAコントロ
ーラを有する。。あるいは、ローカルDMAコントロー
ラは、アプリケーション・ソフトウェアがシステムDM
Aコントローラ内でレジスタをポーリングするときに正
確な状況を受け取るように、既存のシステムDMコント
ローラとともに動作できる。ローカルDMAコントロー
ラは、システムDMAコントローラがDMA転送を制御
しているかのようにシステムDMAコントローラが動作
することができる。このようにして、システムDMAコ
ントローラとローカルDMAコントローラの間のデバイ
ス競合が回避される。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータ・シ
ステム・バス上で使用される直接メモリ・アクセス(D
MA)に関する。さらに詳細には、本発明は、いわゆる
「スレーブ」DMAデバイスを本来サポートしないコン
ピュータ・システム・バス上でスレーブDMAエミュレ
ーションを達成することができる装置に関する。
ステム・バス上で使用される直接メモリ・アクセス(D
MA)に関する。さらに詳細には、本発明は、いわゆる
「スレーブ」DMAデバイスを本来サポートしないコン
ピュータ・システム・バス上でスレーブDMAエミュレ
ーションを達成することができる装置に関する。
【0002】
【従来の技術】ビジネスおよび私生活のあらゆる面にお
いてパーソナル・コンピュータがますます使用されるに
つれて、それらのパーソナル・コンピュータに差し込む
周辺アダプタ・カードの機能を常に高める要求が生じて
いる。アダプタ・カードは、ユーザが必要とする特殊機
能を実現するための専用回路を含む。例えば、アダプタ
・カードは、モデム、サウンド・プロセッサまたはビデ
オ・プロセッサの働きをする。周辺アダプタ・カード
は、通常、デジタル信号プロセッサや組込みコントロー
ラなど特殊マイクロプロセッサを含む。周辺アダプタ・
カードの機能を高める1つの方法は、アダプタ・カード
とホスト・コンピュータのメイン・システム・メモリと
の間でデータを直接交換できるようにすることである。
そのような交換は、当業界では直接メモリ・アクセスま
たは「DMA」と呼ばれる。DMA機能を有するコンピ
ュータ・システム・バスの動作原理は、当技術分野で周
知であり、現在、多数のタイプのコンピュータ・システ
ム・バスがDMA機能を有する。例えば、IBM互換パ
ーソナル・コンピュータにおいて普及している「IS
A」バスは、DMA機能を備えている。
いてパーソナル・コンピュータがますます使用されるに
つれて、それらのパーソナル・コンピュータに差し込む
周辺アダプタ・カードの機能を常に高める要求が生じて
いる。アダプタ・カードは、ユーザが必要とする特殊機
能を実現するための専用回路を含む。例えば、アダプタ
・カードは、モデム、サウンド・プロセッサまたはビデ
オ・プロセッサの働きをする。周辺アダプタ・カード
は、通常、デジタル信号プロセッサや組込みコントロー
ラなど特殊マイクロプロセッサを含む。周辺アダプタ・
カードの機能を高める1つの方法は、アダプタ・カード
とホスト・コンピュータのメイン・システム・メモリと
の間でデータを直接交換できるようにすることである。
そのような交換は、当業界では直接メモリ・アクセスま
たは「DMA」と呼ばれる。DMA機能を有するコンピ
ュータ・システム・バスの動作原理は、当技術分野で周
知であり、現在、多数のタイプのコンピュータ・システ
ム・バスがDMA機能を有する。例えば、IBM互換パ
ーソナル・コンピュータにおいて普及している「IS
A」バスは、DMA機能を備えている。
【0003】ISAバスを含めて、DMA可能コンピュ
ータ・システム・バスのうちには、マスタ・デバイスと
スレーブ・デバイスという異なる2つのタイプのDMA
デバイスとともに動作できるようになっているものもあ
る。本明細書では、そのようなバスを「マスタ/スレー
ブ」コンピュータ・システム・バスと呼ぶ。スレーブ・
デバイスが動作できるためには、バスをシステムDMA
コントローラに接続しなければならない。これは、スレ
ーブDMAデータ転送中にデータ・フローを管理する働
きをする。ただし、マスタ・デバイスとの間のDMA転
送では、システムDMAコントローラは使用されない。
代わりに、DMAコントローラが周辺カード上に配置さ
れる。そのようなDMAコントローラを有する周辺カー
ドは、バスマスタ・カードと呼ばれる。本願の譲受人に
譲渡された1995年11月2日出願の米国特許出願第
08/556773号には、バスマスタの働きをするア
ダプタ・カードのいくつかの利点が記載されている。コ
ンピュータ・システム・バス上でバスマスタ・カードを
使用する場合、ローカルDMAコントローラと呼ばれる
アダプタ・カード上のDMAコントローラが、DMAデ
ータ転送中バスの制御権を有し、データ・フローを管理
する。
ータ・システム・バスのうちには、マスタ・デバイスと
スレーブ・デバイスという異なる2つのタイプのDMA
デバイスとともに動作できるようになっているものもあ
る。本明細書では、そのようなバスを「マスタ/スレー
ブ」コンピュータ・システム・バスと呼ぶ。スレーブ・
デバイスが動作できるためには、バスをシステムDMA
コントローラに接続しなければならない。これは、スレ
ーブDMAデータ転送中にデータ・フローを管理する働
きをする。ただし、マスタ・デバイスとの間のDMA転
送では、システムDMAコントローラは使用されない。
代わりに、DMAコントローラが周辺カード上に配置さ
れる。そのようなDMAコントローラを有する周辺カー
ドは、バスマスタ・カードと呼ばれる。本願の譲受人に
譲渡された1995年11月2日出願の米国特許出願第
08/556773号には、バスマスタの働きをするア
ダプタ・カードのいくつかの利点が記載されている。コ
ンピュータ・システム・バス上でバスマスタ・カードを
使用する場合、ローカルDMAコントローラと呼ばれる
アダプタ・カード上のDMAコントローラが、DMAデ
ータ転送中バスの制御権を有し、データ・フローを管理
する。
【0004】周辺アダプタ・カードのうちには、DMA
データ転送を必要とするが、ローカルDMAコントロー
ラは有しないものもある。そのようなアダプタ・カード
は常に、「スレーブ」デバイスとして動作し、アダプタ
・カードとコンピュータ・システム・メイン・メモリと
の間でDMAデータ転送が行われる。スレーブ・デバイ
スを使用する場合、ホスト・コンピュータ・システム内
で動作中のデバイス・ドライバ・ソフトウェアが、行う
べきDMAデータ転送の開始アドレスおよび深さをシス
テムDMAコントローラに通知する。次いで、アダプタ
・カード上のスレーブ・デバイスは、システムDMAコ
ントローラに、バスを引き継ぎ、ホスト・コンピュータ
・メモリとアダプタ・カード上のデバイスとの間でのD
MAデータ転送を管理するよう要求する。この要求は、
バス内の特定の1組の接続を介してシステムDMAコン
トローラに伝達される。ISAバスでは、アダプタ・カ
ードは、システムDMAコントローラに、DMA要求線
または「DRQ」線と呼ばれる線を介して転送を実行す
るよう要求し、DMA肯定応答線または「DACK」線
を介してシステムDMAコントローラから肯定応答信号
を受け取る。次いで、システムDMAコントローラは、
バスを引き継ぎ、バスマスタ・カードの場合と同じ方式
で転送を管理する。
データ転送を必要とするが、ローカルDMAコントロー
ラは有しないものもある。そのようなアダプタ・カード
は常に、「スレーブ」デバイスとして動作し、アダプタ
・カードとコンピュータ・システム・メイン・メモリと
の間でDMAデータ転送が行われる。スレーブ・デバイ
スを使用する場合、ホスト・コンピュータ・システム内
で動作中のデバイス・ドライバ・ソフトウェアが、行う
べきDMAデータ転送の開始アドレスおよび深さをシス
テムDMAコントローラに通知する。次いで、アダプタ
・カード上のスレーブ・デバイスは、システムDMAコ
ントローラに、バスを引き継ぎ、ホスト・コンピュータ
・メモリとアダプタ・カード上のデバイスとの間でのD
MAデータ転送を管理するよう要求する。この要求は、
バス内の特定の1組の接続を介してシステムDMAコン
トローラに伝達される。ISAバスでは、アダプタ・カ
ードは、システムDMAコントローラに、DMA要求線
または「DRQ」線と呼ばれる線を介して転送を実行す
るよう要求し、DMA肯定応答線または「DACK」線
を介してシステムDMAコントローラから肯定応答信号
を受け取る。次いで、システムDMAコントローラは、
バスを引き継ぎ、バスマスタ・カードの場合と同じ方式
で転送を管理する。
【0005】スレーブ・デバイスの問題点は、システム
DMAコントローラを必要とするバスに依存することで
ある。コンピュータ・システム・バスのうちには、シス
テムDMAコントローラを有せず、したがってスレーブ
・デバイスとではまったく動作せず、バスマスタ・デバ
イスと一緒にしか動作しないものもある。本明細書で
は、そのようなバスを「マスタ専用」コンピュータ・シ
ステム・バスと呼ぶ。マスタ専用バスの例は、「PC
I」バスである。PCIバス上では、バス・サイクル・
イニシエータはすべてバスマスタ・デバイスとして動作
しなければならない。スレーブDMAサポートもなく、
システムDMAコントローラもない。PCIバスは、帯
域幅が広く、クロック速度が速いので、現在の高性能I
BM互換パーソナル・コンピュータで広く一般に使用さ
れている。これらの特徴を利用するために、アダプタ・
カードの設計者は、その周辺アダプタ・カードのPCI
バージョンを設計中である。
DMAコントローラを必要とするバスに依存することで
ある。コンピュータ・システム・バスのうちには、シス
テムDMAコントローラを有せず、したがってスレーブ
・デバイスとではまったく動作せず、バスマスタ・デバ
イスと一緒にしか動作しないものもある。本明細書で
は、そのようなバスを「マスタ専用」コンピュータ・シ
ステム・バスと呼ぶ。マスタ専用バスの例は、「PC
I」バスである。PCIバス上では、バス・サイクル・
イニシエータはすべてバスマスタ・デバイスとして動作
しなければならない。スレーブDMAサポートもなく、
システムDMAコントローラもない。PCIバスは、帯
域幅が広く、クロック速度が速いので、現在の高性能I
BM互換パーソナル・コンピュータで広く一般に使用さ
れている。これらの特徴を利用するために、アダプタ・
カードの設計者は、その周辺アダプタ・カードのPCI
バージョンを設計中である。
【0006】
【発明が解決しようとする課題】これらのPCIカード
の1つを使用する際の問題点は、ISAバージョンのカ
ードとともに動作するように設計されたアプリケーショ
ン・ソフトウェアが、場合によってはカードをDMAデ
ータ転送用のスレーブとして動作させようとすることで
ある。コンピュータのユーザは、自身の既存のソフトウ
ェア・アプリケーションを、PCIバージョンのアダプ
タ・カードで使用したいと望む。PCIバージョンのア
ダプタ・カードは、同じ回路を使用して、ISAバージ
ョンのカードと同じ機能を実現する。本明細書では、ア
ダプタ・カード上で特殊目的機能を実現する回路をエミ
ュレーション回路と呼ぶ。この回路は、音声発生、通
信、または他の何らかの機能を実現することができる。
アダプタ・カード用のアプリケーション・ソフトウェア
がISAバージョンのカードを「スレーブ」デバイスと
して動作させる場合、カード上のDMAコントローラが
スレーブ動作をエミュレートし、同時にバスマスタ・デ
バイスとして動作するのでなければ、このソフトウェア
はPCIバージョンのカードでは動作しない。広く使わ
れているSoundBlasterTM互換アダプタ・カ
ードおよび多数のポピュラーなゲーム・アプリケーショ
ンの場合がそうである。しかしながら、問題のパーソナ
ル・コンピュータがマスタ専用コンピュータ・システム
・バスとマスタ/スレーブ・コンピュータ・システム・
バスの両方を有する場合、それはシステムDMAコント
ローラをも有する。この場合、アダプタ・カード上のロ
ーカルDMAコントローラがシステムDMAコントロー
ラとして働いてカードをスレーブ・デバイスとして動作
させる場合、容認できないデバイス競合が生じる。シス
テムDMAコントローラがコンピュータ・システム内に
存在できるように、PCIバスなどマスタ専用コンピュ
ータ・システム・バス上でスレーブDMA動作をエミュ
レートする方法が必要である。
の1つを使用する際の問題点は、ISAバージョンのカ
ードとともに動作するように設計されたアプリケーショ
ン・ソフトウェアが、場合によってはカードをDMAデ
ータ転送用のスレーブとして動作させようとすることで
ある。コンピュータのユーザは、自身の既存のソフトウ
ェア・アプリケーションを、PCIバージョンのアダプ
タ・カードで使用したいと望む。PCIバージョンのア
ダプタ・カードは、同じ回路を使用して、ISAバージ
ョンのカードと同じ機能を実現する。本明細書では、ア
ダプタ・カード上で特殊目的機能を実現する回路をエミ
ュレーション回路と呼ぶ。この回路は、音声発生、通
信、または他の何らかの機能を実現することができる。
アダプタ・カード用のアプリケーション・ソフトウェア
がISAバージョンのカードを「スレーブ」デバイスと
して動作させる場合、カード上のDMAコントローラが
スレーブ動作をエミュレートし、同時にバスマスタ・デ
バイスとして動作するのでなければ、このソフトウェア
はPCIバージョンのカードでは動作しない。広く使わ
れているSoundBlasterTM互換アダプタ・カ
ードおよび多数のポピュラーなゲーム・アプリケーショ
ンの場合がそうである。しかしながら、問題のパーソナ
ル・コンピュータがマスタ専用コンピュータ・システム
・バスとマスタ/スレーブ・コンピュータ・システム・
バスの両方を有する場合、それはシステムDMAコント
ローラをも有する。この場合、アダプタ・カード上のロ
ーカルDMAコントローラがシステムDMAコントロー
ラとして働いてカードをスレーブ・デバイスとして動作
させる場合、容認できないデバイス競合が生じる。シス
テムDMAコントローラがコンピュータ・システム内に
存在できるように、PCIバスなどマスタ専用コンピュ
ータ・システム・バス上でスレーブDMA動作をエミュ
レートする方法が必要である。
【0007】
【課題を解決するための手段】上記の必要は、2つのモ
ードで動作できるアダプタ・カード用のローカルDMA
コントローラを含む処理回路を提供する、本発明によっ
て満足される。ローカルDMAコントローラは、バスマ
スタの働きをするが、アプリケーションからスレーブ・
デバイスおよびシステムDMAコントローラが見えるよ
うにバスへの適切なレジスタを提供し、フルDMAモー
ドの動作が可能である。さらに、本発明のローカルDM
Aコントローラは、マスタ専用バスとマスタ/スレーブ
・バスの両方を含むホスト・コンピュータ・システム内
にインストールされたとき、スレーブDMAエミュレー
ション・モードでも動作できる。スレーブDMAエミュ
レーション・モードは、通常、ISAバスとPCIバス
の両方を含む、IBM互換パーソナル・コンピュータに
おいて極めて有用である。このタイプのパーソナル・コ
ンピュータは、システムDMAコントローラを有し、こ
れは、適切な動作を維持すべき場合、アダプタ・カード
上のローカルDMAコントローラと競合してはならな
い。
ードで動作できるアダプタ・カード用のローカルDMA
コントローラを含む処理回路を提供する、本発明によっ
て満足される。ローカルDMAコントローラは、バスマ
スタの働きをするが、アプリケーションからスレーブ・
デバイスおよびシステムDMAコントローラが見えるよ
うにバスへの適切なレジスタを提供し、フルDMAモー
ドの動作が可能である。さらに、本発明のローカルDM
Aコントローラは、マスタ専用バスとマスタ/スレーブ
・バスの両方を含むホスト・コンピュータ・システム内
にインストールされたとき、スレーブDMAエミュレー
ション・モードでも動作できる。スレーブDMAエミュ
レーション・モードは、通常、ISAバスとPCIバス
の両方を含む、IBM互換パーソナル・コンピュータに
おいて極めて有用である。このタイプのパーソナル・コ
ンピュータは、システムDMAコントローラを有し、こ
れは、適切な動作を維持すべき場合、アダプタ・カード
上のローカルDMAコントローラと競合してはならな
い。
【0008】本発明は、デジタル信号プロセッサ(DS
P)などの専用マイクロプロセッサ上で実施することが
好ましい。コア論理の他に、そのようなマイクロプロセ
ッサは、ローカルDMAコントローラと呼ばれるそれ自
体の組込みDMAコントローラを具備する。本発明によ
るローカルDMAコントローラは、マスタ専用バス・イ
ンタフェース論理用の接続だけでなく、システムDMA
コントローラ用の接続をも有する。システムDMAコン
トローラは、マスタ専用コンピュータ・システム・バス
の他にマスタ/スレーブ・コンピュータ・システム・バ
スを有するコンピュータ・システム内に含まれる。マス
タ/スレーブ・バスがISAバスであるシステム用に設
計されたマイクロプロセッサでは、これらの接続は、前
述のDRQ接続およびDACK接続である。このマイク
ロプロセッサはまた、ローカルDMAコントローラとコ
ア論理の間に配置されたマスタ専用バス・インタフェー
ス論理、およびローカルDMAコントローラとコア論理
の間に配置されたエミュレーション論理を含む。マスタ
専用バス・インタフェース論理はマスタ専用バス・イン
タフェースを有する。
P)などの専用マイクロプロセッサ上で実施することが
好ましい。コア論理の他に、そのようなマイクロプロセ
ッサは、ローカルDMAコントローラと呼ばれるそれ自
体の組込みDMAコントローラを具備する。本発明によ
るローカルDMAコントローラは、マスタ専用バス・イ
ンタフェース論理用の接続だけでなく、システムDMA
コントローラ用の接続をも有する。システムDMAコン
トローラは、マスタ専用コンピュータ・システム・バス
の他にマスタ/スレーブ・コンピュータ・システム・バ
スを有するコンピュータ・システム内に含まれる。マス
タ/スレーブ・バスがISAバスであるシステム用に設
計されたマイクロプロセッサでは、これらの接続は、前
述のDRQ接続およびDACK接続である。このマイク
ロプロセッサはまた、ローカルDMAコントローラとコ
ア論理の間に配置されたマスタ専用バス・インタフェー
ス論理、およびローカルDMAコントローラとコア論理
の間に配置されたエミュレーション論理を含む。マスタ
専用バス・インタフェース論理はマスタ専用バス・イン
タフェースを有する。
【0009】上述のローカルDMAコントローラは、ホ
スト・コンピュータ・システム内で、通常アダプタ・カ
ード上で使用される。上述の処理回路は、システムDM
Aコントローラを有しないホスト・コンピュータ・シス
テム内で動作するように設計されたアダプタ・カード上
に設置することができる。このようなカードは、マスタ
専用バス用の接続のみを有することになる。この場合、
システムDMAコントローラ用の接続は使用されない。
本発明はまた、マスタ専用コンピュータ・システム・バ
スとマスタ/スレーブ・コンピュータ・システム・バス
の両方用のコネクタを有するアダプタ・カード上で使用
することができる。この場合、アダプタ・カード上の処
理回路は、マスタ/スレーブ・コンピュータ・システム
・バスを介してシステムDMAコントローラに接続され
る。いずれにせよ、ローカルDMAコントローラやエミ
ュレーション論理など、アダプタ・カード上の様々な構
成要素のいくつかは別々のチップ上にあってもよいが、
すべて単一のマイクロプロセッサ上に集積することが好
ましい。
スト・コンピュータ・システム内で、通常アダプタ・カ
ード上で使用される。上述の処理回路は、システムDM
Aコントローラを有しないホスト・コンピュータ・シス
テム内で動作するように設計されたアダプタ・カード上
に設置することができる。このようなカードは、マスタ
専用バス用の接続のみを有することになる。この場合、
システムDMAコントローラ用の接続は使用されない。
本発明はまた、マスタ専用コンピュータ・システム・バ
スとマスタ/スレーブ・コンピュータ・システム・バス
の両方用のコネクタを有するアダプタ・カード上で使用
することができる。この場合、アダプタ・カード上の処
理回路は、マスタ/スレーブ・コンピュータ・システム
・バスを介してシステムDMAコントローラに接続され
る。いずれにせよ、ローカルDMAコントローラやエミ
ュレーション論理など、アダプタ・カード上の様々な構
成要素のいくつかは別々のチップ上にあってもよいが、
すべて単一のマイクロプロセッサ上に集積することが好
ましい。
【0010】本発明は、中央演算処理装置(CPU)、
キーボード、ディスプレイ用の接続、アダプタ・カード
・コネクタ、ならびにマスタ専用バスおよびマスタ/ス
レーブ・バスを有するホスト・コンピュータ・システム
内でスレーブDMAエミュレーションを実施するために
使用されることが最も多い。アダプタ・カード・コネク
タは、PCIバスなどのマスタ専用コンピュータ・シス
テム・バス用の接続およびISAバスなどのマスタ/ス
レーブ・コンピュータ・システム・バス用の接続を行
う。ホスト・コンピュータ・システムはまた、マスタ/
スレーブ・コンピュータ・システム・バスに接続された
システムDMAコントローラを含む。本発明を実施する
処理回路は、本発明を実施するために必要な様々な要素
がバスおよびCPUに直接配線されているホスト・コン
ピュータ・システム内のマザーボード上または他の何ら
かの特殊回路ボード延長部上に設置することもできる。
また、この場合、処理回路は、前述のマイクロプロセッ
サ内に完全に含めることもでき、また互いに接続された
いくつかの離散構成要素から構成することができる。
キーボード、ディスプレイ用の接続、アダプタ・カード
・コネクタ、ならびにマスタ専用バスおよびマスタ/ス
レーブ・バスを有するホスト・コンピュータ・システム
内でスレーブDMAエミュレーションを実施するために
使用されることが最も多い。アダプタ・カード・コネク
タは、PCIバスなどのマスタ専用コンピュータ・シス
テム・バス用の接続およびISAバスなどのマスタ/ス
レーブ・コンピュータ・システム・バス用の接続を行
う。ホスト・コンピュータ・システムはまた、マスタ/
スレーブ・コンピュータ・システム・バスに接続された
システムDMAコントローラを含む。本発明を実施する
処理回路は、本発明を実施するために必要な様々な要素
がバスおよびCPUに直接配線されているホスト・コン
ピュータ・システム内のマザーボード上または他の何ら
かの特殊回路ボード延長部上に設置することもできる。
また、この場合、処理回路は、前述のマイクロプロセッ
サ内に完全に含めることもでき、また互いに接続された
いくつかの離散構成要素から構成することができる。
【0011】本発明は、システムDMAコントローラを
用いずにフルDMAモードで動作できるだけでなく、シ
ステムDMAコントローラを用いてスレーブDMAエミ
ュレーション・モードにおいても動作できる、ローカル
DMAコントローラを含む処理回路を提供する。本発明
は、PCIバスなどマスタ専用コンピュータ・システム
・バスを有するコンピュータ・システムで使用すること
ができる。本発明はまた、マスタ専用コンピュータ・シ
ステム・バスと、システムDMAコントローラを有する
ISAバスなどマスタ/スレーブ・コンピュータ・シス
テム・バスの両方を有するコンピュータ・システムでも
使用することができる。本発明を実施する処理回路はす
べて、単一の専用マイクロプロセッサに組み込むことが
できる。本発明により、デバイス競合問題を生じること
なく、いずれのタイプのシステム内でもマスタDMA動
作ならびにスレーブDMA動作が可能である。
用いずにフルDMAモードで動作できるだけでなく、シ
ステムDMAコントローラを用いてスレーブDMAエミ
ュレーション・モードにおいても動作できる、ローカル
DMAコントローラを含む処理回路を提供する。本発明
は、PCIバスなどマスタ専用コンピュータ・システム
・バスを有するコンピュータ・システムで使用すること
ができる。本発明はまた、マスタ専用コンピュータ・シ
ステム・バスと、システムDMAコントローラを有する
ISAバスなどマスタ/スレーブ・コンピュータ・シス
テム・バスの両方を有するコンピュータ・システムでも
使用することができる。本発明を実施する処理回路はす
べて、単一の専用マイクロプロセッサに組み込むことが
できる。本発明により、デバイス競合問題を生じること
なく、いずれのタイプのシステム内でもマスタDMA動
作ならびにスレーブDMA動作が可能である。
【0012】
【発明の実施の形態】図1に、PCIバスなどのマスタ
専用コンピュータ・システム・バス110に接続され
た、本発明の処理回路106を示す。好ましい実施形態
では処理回路106は、すべて、デジタル信号プロセッ
サなどの単一のマイクロプロセッサに組み込まれる。マ
イクロプロセッサ・コア105は、バス・インタフェー
ス論理103とエミュレーション論理104とに接続さ
れる。
専用コンピュータ・システム・バス110に接続され
た、本発明の処理回路106を示す。好ましい実施形態
では処理回路106は、すべて、デジタル信号プロセッ
サなどの単一のマイクロプロセッサに組み込まれる。マ
イクロプロセッサ・コア105は、バス・インタフェー
ス論理103とエミュレーション論理104とに接続さ
れる。
【0013】エミュレーション論理104は、アダプタ
の1つまたは複数のユーザ機能を実現するハードウェア
を提供する。これらの機能は、音声発生、モデム機能、
ビデオ、音声認識、電話応答機能、または上記その他の
機能の任意の組合せとすることができる。エミュレーシ
ョン論理104は、マイクロフォンやスピーカなど、ホ
スト・コンピュータ・システムの外部にある装置用の追
加のコネクタを含むことができる。これらは、図が見や
すいように図示されていない。
の1つまたは複数のユーザ機能を実現するハードウェア
を提供する。これらの機能は、音声発生、モデム機能、
ビデオ、音声認識、電話応答機能、または上記その他の
機能の任意の組合せとすることができる。エミュレーシ
ョン論理104は、マイクロフォンやスピーカなど、ホ
スト・コンピュータ・システムの外部にある装置用の追
加のコネクタを含むことができる。これらは、図が見や
すいように図示されていない。
【0014】バス・インタフェース論理103とエミュ
レーション論理104は共にローカルDMAコントロー
ラ102に接続される。本発明を使用したアダプタ・カ
ードがPCIバスとともに動作するように設計されてい
ると仮定すると、ローカルDMAコントローラは、マス
タ専用バス・インタフェース論理103およびマスタ専
用バス・インタフェース108を介してPCIバス11
0に接続される。PCIバス110は、CPUブリッジ
を介してホスト・コンピュータ・システムCPU101
に接続される。
レーション論理104は共にローカルDMAコントロー
ラ102に接続される。本発明を使用したアダプタ・カ
ードがPCIバスとともに動作するように設計されてい
ると仮定すると、ローカルDMAコントローラは、マス
タ専用バス・インタフェース論理103およびマスタ専
用バス・インタフェース108を介してPCIバス11
0に接続される。PCIバス110は、CPUブリッジ
を介してホスト・コンピュータ・システムCPU101
に接続される。
【0015】バス・インタフェース論理103は、すで
に説明した内部論理要素102および105と、マスタ
専用バスとの間でのハンドシェーキング・インタフェー
ス制御を行う。この制御により、コア論理105および
ローカルDMAコントローラ102を様々なバス・アー
キテクチャ内で使用することが可能になる。PCIバス
の場合、バス・インタフェースは、ローカルDMAコン
トローラおよびコア論理のローカル・インタフェース・
プロトコルをサポートするCPUブリッジである。CP
Uブリッジは、ホストCPUと特定のマスタ専用コンピ
ュータ・システム・バスとの間のハンドシェーキングを
行う。このCPUブリッジはまた、メモリ・コントロー
ラやビデオ・コントローラなど、CPUに緊密に結合さ
れた他の論理要素を含むことができる。PCIシステム
の場合、CPUブリッジはDRAMコントローラを含
む。
に説明した内部論理要素102および105と、マスタ
専用バスとの間でのハンドシェーキング・インタフェー
ス制御を行う。この制御により、コア論理105および
ローカルDMAコントローラ102を様々なバス・アー
キテクチャ内で使用することが可能になる。PCIバス
の場合、バス・インタフェースは、ローカルDMAコン
トローラおよびコア論理のローカル・インタフェース・
プロトコルをサポートするCPUブリッジである。CP
Uブリッジは、ホストCPUと特定のマスタ専用コンピ
ュータ・システム・バスとの間のハンドシェーキングを
行う。このCPUブリッジはまた、メモリ・コントロー
ラやビデオ・コントローラなど、CPUに緊密に結合さ
れた他の論理要素を含むことができる。PCIシステム
の場合、CPUブリッジはDRAMコントローラを含
む。
【0016】ローカルDMAコントローラ102はシス
テムDMAコントローラ用の接続109を有する。ロー
カルDMAコントローラが、ISAバスが存在する機械
内でISAアーキテクチャとともに動作するように設計
されている場合、これらの接続はDRQおよびDACK
である。図では、アダプタ・カードは、マスタ専用PC
Iバスにのみ接続されている。したがって、接続109
は使用されない。この場合、カードの機能が、システム
内で動作中のソフトウェアによってスレーブ・デバイス
としてそれにアクセスすることを必要とする場合、ロー
カルDMAコントローラはフルDMAモードにて動作す
る。その場合、ローカルDMAコントローラはシステム
DMAコントローラをエミュレートする。本発明の好ま
しい実施形態では、カードのこの機能はもともとISA
バス上で実施されていたものであり、ローカルDMAコ
ントローラは、ISAアーキテクチャを使用するパーソ
ナル・コンピュータにおいて普及しているIntel8
237DMAコントローラをエミュレートする。
テムDMAコントローラ用の接続109を有する。ロー
カルDMAコントローラが、ISAバスが存在する機械
内でISAアーキテクチャとともに動作するように設計
されている場合、これらの接続はDRQおよびDACK
である。図では、アダプタ・カードは、マスタ専用PC
Iバスにのみ接続されている。したがって、接続109
は使用されない。この場合、カードの機能が、システム
内で動作中のソフトウェアによってスレーブ・デバイス
としてそれにアクセスすることを必要とする場合、ロー
カルDMAコントローラはフルDMAモードにて動作す
る。その場合、ローカルDMAコントローラはシステム
DMAコントローラをエミュレートする。本発明の好ま
しい実施形態では、カードのこの機能はもともとISA
バス上で実施されていたものであり、ローカルDMAコ
ントローラは、ISAアーキテクチャを使用するパーソ
ナル・コンピュータにおいて普及しているIntel8
237DMAコントローラをエミュレートする。
【0017】ローカルDMAコントローラは、8237
内のレジスタと同じ以下のDMAレジスタを提供するこ
とによってIntel8237DMAコントローラをエ
ミュレートする。ここではDMAチャネルは1つだけが
示してある。他のDMAチャネルを選択した場合、その
チャネル用の適切なレジスタが使用される。Intel
8237DMAコントローラのレジスタ・セットおよび
機能についての完全な説明は、Intel Perip
heral Data Book,October,1
989、またはCS8233 PEAK/386 AT
Chipset Data Book,Decemb
er,1990に記載されている。
内のレジスタと同じ以下のDMAレジスタを提供するこ
とによってIntel8237DMAコントローラをエ
ミュレートする。ここではDMAチャネルは1つだけが
示してある。他のDMAチャネルを選択した場合、その
チャネル用の適切なレジスタが使用される。Intel
8237DMAコントローラのレジスタ・セットおよび
機能についての完全な説明は、Intel Perip
heral Data Book,October,1
989、またはCS8233 PEAK/386 AT
Chipset Data Book,Decemb
er,1990に記載されている。
【表1】 ISA入出力 読取りまたは DMAレジスタ アドレス 書込み動作 00010 読取り チャネル1現在レジスタ 00010 書込み チャネル1基底および現在レジスタ 00011 読取り チャネル1現在ワード・カウント 00011 書込み チャネル1基底および現在ワード・カウント 01000 読取り 状況レジスタ 01000 書込み 書込みコマンド・レジスタ 01001 書込み 書込み要求レジスタ 01010 書込み 単一マスク書込みレジスタ 01011 書込み 書込みモード・レジスタ 01100 書込み バイト・ポインタ書込みフリップ/フロップ 01101 読取り 一時読取りレジスタ 01101 書込み マスタ・クリア 01110 書込み マスク・クリア・レジスタ 01111 書込み 全マスク・レジスタ・ビット書込み ローカルDMAコントローラ102は、フルDMAモー
ドにおいて適切なチャネル用にプログラムされた後でこ
れらのレジスタに対するすべてのアクセスを要求する。
ドにおいて適切なチャネル用にプログラムされた後でこ
れらのレジスタに対するすべてのアクセスを要求する。
【0018】図3に、ローカルDMAコントローラが適
切なチャネル用にプログラムされた後で、フルDMAモ
ードでDMA転送を実行する方法を示す。チャネルは、
パワー・アップ時またはプログラム・ロード時にシステ
ムBIOSまたはデバイス・ドライバによって設定され
る。301で、ローカルDMAコントローラは、次のD
MA転送のためのワード・カウント、基底アドレス、お
よび方向を受け取る。302で、ホスト・コンピュータ
・システム内で動作中のアプリケーション・ソフトウェ
アまたはソフトウェア・ドライバがDMAデータ転送を
要求し、ローカルDMAコントローラはエミュレーショ
ン論理からこの要求を受け取る。303で、ローカルD
MAコントローラは、バスを介して転送を実行する。ロ
ーカルDMAコントローラは、バス要求を開始し、次い
で許可を受け取り、次いで適切なメモリ・アドレスに対
して読取りバス・サイクルまたは書込みバス・サイクル
を実行することによって転送を実行する。プロセスが完
了すると、ローカルDMAコントローラは、304でそ
の内部アドレス、ワード・カウントおよび状況レジスタ
を更新する。このステップが必要なのは、アプリケーシ
ョン・ソフトウェアまたはドライバ・ソフトウェアがこ
れらのレジスタの状況を検査することが多いからであ
る。305で、ローカルDMAコントローラは、転送が
完了したことをエミュレーション論理に通知する。30
6で、転送を完了するためにさらにデータを移動する必
要があるかどうかを判定する。さらにデータを移動する
必要がある場合、302から始めて次の転送要求を処理
する。転送が完了した場合、次回DMA転送が必要とな
った時にこのプロセスを繰り返す。
切なチャネル用にプログラムされた後で、フルDMAモ
ードでDMA転送を実行する方法を示す。チャネルは、
パワー・アップ時またはプログラム・ロード時にシステ
ムBIOSまたはデバイス・ドライバによって設定され
る。301で、ローカルDMAコントローラは、次のD
MA転送のためのワード・カウント、基底アドレス、お
よび方向を受け取る。302で、ホスト・コンピュータ
・システム内で動作中のアプリケーション・ソフトウェ
アまたはソフトウェア・ドライバがDMAデータ転送を
要求し、ローカルDMAコントローラはエミュレーショ
ン論理からこの要求を受け取る。303で、ローカルD
MAコントローラは、バスを介して転送を実行する。ロ
ーカルDMAコントローラは、バス要求を開始し、次い
で許可を受け取り、次いで適切なメモリ・アドレスに対
して読取りバス・サイクルまたは書込みバス・サイクル
を実行することによって転送を実行する。プロセスが完
了すると、ローカルDMAコントローラは、304でそ
の内部アドレス、ワード・カウントおよび状況レジスタ
を更新する。このステップが必要なのは、アプリケーシ
ョン・ソフトウェアまたはドライバ・ソフトウェアがこ
れらのレジスタの状況を検査することが多いからであ
る。305で、ローカルDMAコントローラは、転送が
完了したことをエミュレーション論理に通知する。30
6で、転送を完了するためにさらにデータを移動する必
要があるかどうかを判定する。さらにデータを移動する
必要がある場合、302から始めて次の転送要求を処理
する。転送が完了した場合、次回DMA転送が必要とな
った時にこのプロセスを繰り返す。
【0019】図2に、スレーブDMAエミュレーション
・モードで動作している本発明のアダプタ・カードを示
す。専用回路またはマイクロプロセッサ206は、図1
と同じ構成要素、すなわちマイクロプロセッサ・コア2
05、バス・インタフェース208、バス・インタフェ
ース論理203、エミュレーション論理204、および
ローカルDMAコントローラ202を有する。この場
合、本発明は、好ましい実施形態ではPCIバスである
マスタ専用バス210と、好ましい実施形態ではISA
バスであるマスタ/スレーブ・バス211の両方を有す
るシステムで使用されている。マスタ専用バス・インタ
フェース208は、バス・インタフェース論理203を
マスタ専用バス210に接続する。次いで、マスタ専用
バス210は、ブリッジを介してホスト・コンピュータ
・システムCPU201に接続される。
・モードで動作している本発明のアダプタ・カードを示
す。専用回路またはマイクロプロセッサ206は、図1
と同じ構成要素、すなわちマイクロプロセッサ・コア2
05、バス・インタフェース208、バス・インタフェ
ース論理203、エミュレーション論理204、および
ローカルDMAコントローラ202を有する。この場
合、本発明は、好ましい実施形態ではPCIバスである
マスタ専用バス210と、好ましい実施形態ではISA
バスであるマスタ/スレーブ・バス211の両方を有す
るシステムで使用されている。マスタ専用バス・インタ
フェース208は、バス・インタフェース論理203を
マスタ専用バス210に接続する。次いで、マスタ専用
バス210は、ブリッジを介してホスト・コンピュータ
・システムCPU201に接続される。
【0020】図2の配置では、ホスト・コンピュータ・
システムはシステムDMAコントローラ207を有す
る。この場合、システムDMAコントローラ用の接続2
09、DRQおよびDACKは、システムDMAコント
ローラ207に接続される。これらの接続は、通常バス
の1つを介して行われるが、本発明の概念をよりよく図
示するために図ではDMAコントローラ間で直接行われ
るものとして示してある。この配置では、ローカルDM
Aコントローラ202がPCIバス210をDMA活動
について詮索(スヌーピング)することができる。エミ
ュレーション論理機能を有するISAバージョンのアダ
プタ・カードがスレーブ・デバイスの場合、アプリケー
ション・ソフトウェアまたはドライバは、まず次の転送
の開始アドレスおよび深さをシステムDMAコントロー
ラ207に通知する。これにより、スレーブDMA転送
を開始しようと試みる。ローカルDMAコントローラ2
02は、この情報を捕捉するが、次いでレジスタの正確
な状況を入手するためにISAバス上で転送を実行する
ようシステムDMAコントローラ207に指示する。ス
レーブDMA書込みの場合、システムDMAコントロー
ラ207は、通常はプルアップ抵抗がISAバスに接続
されているので、ISAバスからオール1を読み取り、
オール1をシステム・メモリに書き込む。次いで、ロー
カルDMAコントローラ202は、メモリ内のこのデー
タを、エミュレーション論理204によって供給された
正確なデータで置換する。DMA読取りの場合、システ
ムDMAコントローラ207は、データをISAバスに
書き込み、そのデータは失われる。ただし、正確なデー
タがローカルDMAコントローラ202によってエミュ
レーション論理204に書き込まれる。このようにし
て、システムDMAコントローラは、常にそのレジスタ
の正確な状況を有するようになる。これは、アプリケー
ション・ソフトウェアによってポーリングされ得るが、
実際のDMA転送には影響を及ぼさない。
システムはシステムDMAコントローラ207を有す
る。この場合、システムDMAコントローラ用の接続2
09、DRQおよびDACKは、システムDMAコント
ローラ207に接続される。これらの接続は、通常バス
の1つを介して行われるが、本発明の概念をよりよく図
示するために図ではDMAコントローラ間で直接行われ
るものとして示してある。この配置では、ローカルDM
Aコントローラ202がPCIバス210をDMA活動
について詮索(スヌーピング)することができる。エミ
ュレーション論理機能を有するISAバージョンのアダ
プタ・カードがスレーブ・デバイスの場合、アプリケー
ション・ソフトウェアまたはドライバは、まず次の転送
の開始アドレスおよび深さをシステムDMAコントロー
ラ207に通知する。これにより、スレーブDMA転送
を開始しようと試みる。ローカルDMAコントローラ2
02は、この情報を捕捉するが、次いでレジスタの正確
な状況を入手するためにISAバス上で転送を実行する
ようシステムDMAコントローラ207に指示する。ス
レーブDMA書込みの場合、システムDMAコントロー
ラ207は、通常はプルアップ抵抗がISAバスに接続
されているので、ISAバスからオール1を読み取り、
オール1をシステム・メモリに書き込む。次いで、ロー
カルDMAコントローラ202は、メモリ内のこのデー
タを、エミュレーション論理204によって供給された
正確なデータで置換する。DMA読取りの場合、システ
ムDMAコントローラ207は、データをISAバスに
書き込み、そのデータは失われる。ただし、正確なデー
タがローカルDMAコントローラ202によってエミュ
レーション論理204に書き込まれる。このようにし
て、システムDMAコントローラは、常にそのレジスタ
の正確な状況を有するようになる。これは、アプリケー
ション・ソフトウェアによってポーリングされ得るが、
実際のDMA転送には影響を及ぼさない。
【0021】図4に、ローカルDMAコントローラをス
レーブDMAエミュレーション・モードにしてDMA書
込みを実行する方法を示す。ローカルDMAコントロー
ラは、401でバスをDMA活動について監視する。ホ
スト・システムCPUが次の転送の開始アドレスと深さ
を含むDMA制御情報をシステムDMAコントローラに
書き込むとき、ローカルDMAコントローラは、402
でこの情報をラッチする。ローカルDMAコントローラ
は、403でそのデータをアダプタ上のエミュレーショ
ン論理からローカルDMAコントローラに転送する。4
10で、ローカルDMAコントローラは2つの選択肢を
有する。ローカルDMAコントローラは、409でシス
テムDMAコントローラの現アドレスを変更してから、
システムDMAコントローラにマスタ/スレーブ・バス
上で同じ転送を実施するよう要求することができる。あ
るいは、ローカルDMAコントローラは、ステップ40
4に直接進むこともできる。ローカルDMAコントロー
ラがアドレスを変更する場合、ローカルDMAコントロ
ーラは、転送要求が行われる前にダミー32ビット・バ
イト・アドレスをシステムDMAコントローラに書き込
む。そのアドレス位置は、システム初期設定の際に事前
割振りされる。現アドレスを変更することにより、ロー
カルDMAコントローラは、ローカルDMAコントロー
ラが真のデータを書き込む前に、システムDMAコント
ローラが所期のDMAターゲット・メモリに打撃を与え
るのを回避することができる。ホスト・ソフトウェアが
絶えずターゲット・メモリ位置を特定の値の変化につい
て読み取っている場合には、ステップ409が必要とな
ることがある。
レーブDMAエミュレーション・モードにしてDMA書
込みを実行する方法を示す。ローカルDMAコントロー
ラは、401でバスをDMA活動について監視する。ホ
スト・システムCPUが次の転送の開始アドレスと深さ
を含むDMA制御情報をシステムDMAコントローラに
書き込むとき、ローカルDMAコントローラは、402
でこの情報をラッチする。ローカルDMAコントローラ
は、403でそのデータをアダプタ上のエミュレーショ
ン論理からローカルDMAコントローラに転送する。4
10で、ローカルDMAコントローラは2つの選択肢を
有する。ローカルDMAコントローラは、409でシス
テムDMAコントローラの現アドレスを変更してから、
システムDMAコントローラにマスタ/スレーブ・バス
上で同じ転送を実施するよう要求することができる。あ
るいは、ローカルDMAコントローラは、ステップ40
4に直接進むこともできる。ローカルDMAコントロー
ラがアドレスを変更する場合、ローカルDMAコントロ
ーラは、転送要求が行われる前にダミー32ビット・バ
イト・アドレスをシステムDMAコントローラに書き込
む。そのアドレス位置は、システム初期設定の際に事前
割振りされる。現アドレスを変更することにより、ロー
カルDMAコントローラは、ローカルDMAコントロー
ラが真のデータを書き込む前に、システムDMAコント
ローラが所期のDMAターゲット・メモリに打撃を与え
るのを回避することができる。ホスト・ソフトウェアが
絶えずターゲット・メモリ位置を特定の値の変化につい
て読み取っている場合には、ステップ409が必要とな
ることがある。
【0022】ステップ404で、ローカルDMAコント
ローラは、マスタ/スレーブ・バス上で同じ転送を実行
するようシステムDMAコントローラに要求し、肯定応
答を受け取る。この活動は、ISAバスの場合、前述の
ようにDRQ信号およびDACK信号によって処理され
る。405で、ダミー転送が終了したか確認するために
検査を行う。その転送が完了した後、ローカルDMAコ
ントローラは、406で真のデータをマスタ専用バスを
介してシステム・メモリに転送する。ローカルDMAコ
ントローラは、407でエミュレーション論理に転送が
完了したことを通知する。408で、転送を完了するた
めにさらにデータを移動する必要があるかどうかを判定
する。さらにデータを移動する必要がある場合、403
から始めてこのプロセスを繰り返す。さらにデータを移
動する必要がない場合、このプロセスはリセットされ
て、始めに戻る。
ローラは、マスタ/スレーブ・バス上で同じ転送を実行
するようシステムDMAコントローラに要求し、肯定応
答を受け取る。この活動は、ISAバスの場合、前述の
ようにDRQ信号およびDACK信号によって処理され
る。405で、ダミー転送が終了したか確認するために
検査を行う。その転送が完了した後、ローカルDMAコ
ントローラは、406で真のデータをマスタ専用バスを
介してシステム・メモリに転送する。ローカルDMAコ
ントローラは、407でエミュレーション論理に転送が
完了したことを通知する。408で、転送を完了するた
めにさらにデータを移動する必要があるかどうかを判定
する。さらにデータを移動する必要がある場合、403
から始めてこのプロセスを繰り返す。さらにデータを移
動する必要がない場合、このプロセスはリセットされ
て、始めに戻る。
【0023】前述のように、システムDMAコントロー
ラは、最初にオール1をメモリに書き込む。ダミー転送
が完了したとき、このデータを真のデータで置換しなけ
ればならないので、405でダミー転送がいつ完了した
かを判定することが重要である。真のデータをできるだ
け早くシステム・メモリに入れる好ましい方法は、転送
がいつ完了したかを判定するために、マスタ専用バスの
スヌーピングによって転送を直接監視することである。
この判定のためにスヌーピング機能を使用すると、シス
テムDMAコントローラがDACK線のアサート解除後
にオール1をメモリに書き込む場合に、データが失われ
る可能性が低くなる。このようなことがあり得ず、した
がってタイミングがそれほど重要でない場合、405で
DACK線をアサート解除について監視することによっ
て判定を行うことができる。DACK線のアサート解除
は、転送が完了したというシステムDMAコントローラ
からの肯定応答の働きをする。この後者の方法では、ア
ダプタ・カードの設計が簡単になる。
ラは、最初にオール1をメモリに書き込む。ダミー転送
が完了したとき、このデータを真のデータで置換しなけ
ればならないので、405でダミー転送がいつ完了した
かを判定することが重要である。真のデータをできるだ
け早くシステム・メモリに入れる好ましい方法は、転送
がいつ完了したかを判定するために、マスタ専用バスの
スヌーピングによって転送を直接監視することである。
この判定のためにスヌーピング機能を使用すると、シス
テムDMAコントローラがDACK線のアサート解除後
にオール1をメモリに書き込む場合に、データが失われ
る可能性が低くなる。このようなことがあり得ず、した
がってタイミングがそれほど重要でない場合、405で
DACK線をアサート解除について監視することによっ
て判定を行うことができる。DACK線のアサート解除
は、転送が完了したというシステムDMAコントローラ
からの肯定応答の働きをする。この後者の方法では、ア
ダプタ・カードの設計が簡単になる。
【0024】図5に、ローカルDMAコントローラをス
レーブDMAエミュレーション・モードにしてDMA読
取りを実行する方法を示す。501でマスタ専用バスを
監視する。ホストがいつでもDMA転送できる準備がで
きたとき、転送の開始アドレスおよび深さを含むDMA
制御情報がシステムDMAコントローラに書き込まれ
る。ローカルDMAコントローラは、バスをスヌーピン
グし、502でこの情報をラッチする。次いで、ローカ
ルDMAコントローラは、503でデータを受け取り、
同時に504でマスタ/スレーブ・コンピュータ・シス
テム・バスを介して転送を実行するようシステムDMA
コントローラに要求し、肯定応答を受け取る。要求およ
び肯定応答は、DRQ線およびDACK線を介して処理
される。ローカルDMAコントローラは、505でシス
テムDMAコントローラが転送を完了するのを待つ。D
ACK線がアサート解除されたとき、転送は完了する。
506で、ローカルDMAコントローラは、データをエ
ミュレーション論理に転送する。507で、転送を完了
するためにさらにデータを移動する必要があるか確認す
るために検査を行う。さらにデータを移動する必要があ
る場合、503からプロセスを繰り返す。さらにデータ
を移動する必要がない場合、このプロセスはリセットさ
れて始めに戻る。
レーブDMAエミュレーション・モードにしてDMA読
取りを実行する方法を示す。501でマスタ専用バスを
監視する。ホストがいつでもDMA転送できる準備がで
きたとき、転送の開始アドレスおよび深さを含むDMA
制御情報がシステムDMAコントローラに書き込まれ
る。ローカルDMAコントローラは、バスをスヌーピン
グし、502でこの情報をラッチする。次いで、ローカ
ルDMAコントローラは、503でデータを受け取り、
同時に504でマスタ/スレーブ・コンピュータ・シス
テム・バスを介して転送を実行するようシステムDMA
コントローラに要求し、肯定応答を受け取る。要求およ
び肯定応答は、DRQ線およびDACK線を介して処理
される。ローカルDMAコントローラは、505でシス
テムDMAコントローラが転送を完了するのを待つ。D
ACK線がアサート解除されたとき、転送は完了する。
506で、ローカルDMAコントローラは、データをエ
ミュレーション論理に転送する。507で、転送を完了
するためにさらにデータを移動する必要があるか確認す
るために検査を行う。さらにデータを移動する必要があ
る場合、503からプロセスを繰り返す。さらにデータ
を移動する必要がない場合、このプロセスはリセットさ
れて始めに戻る。
【0025】本発明を実施するアダプタ・カードは、図
6に示すようなデスクトップ・コンピュータ・システム
またはポータブル・コンピュータ・システム600内で
使用される。このシステムは、システム・ユニット60
6、キーボード607、およびコンピュータ・ディスプ
レイ601用の接続を含む。これらの接続は、システム
・ユニット606の背部にあり、図示されていない。こ
のシステムの中央演算処理装置(CPU)603は、シ
ステム・マザーボード上に搭載されている。このシステ
ムは、マスタ/スレーブ・コンピュータ・システム・バ
スとマスタ専用コンピュータ・システム・バスの両方に
接続された少なくとも1つのアダプタ・カード608を
有する。IBM互換パーソナル・コンピュータでは、バ
ス・コネクタ対は、1つのアダプタ・カードが両方のバ
スにインタフェースできるように設計されている。ロー
カルDMAコントローラおよびマイクロプロセッサ・コ
ア論理を含む本発明を実施する回路605は、アダプタ
・カード608上に搭載される。この回路はまた、エミ
ュレーション論理とマスタ専用バス・インタフェースを
含む。これらの機能は、単一のデジタル信号プロセッサ
(DSP)に組み込まれることが最も多い。このコンピ
ュータ・システムは、図に示されていないシステムDM
Aコントローラをも含む。
6に示すようなデスクトップ・コンピュータ・システム
またはポータブル・コンピュータ・システム600内で
使用される。このシステムは、システム・ユニット60
6、キーボード607、およびコンピュータ・ディスプ
レイ601用の接続を含む。これらの接続は、システム
・ユニット606の背部にあり、図示されていない。こ
のシステムの中央演算処理装置(CPU)603は、シ
ステム・マザーボード上に搭載されている。このシステ
ムは、マスタ/スレーブ・コンピュータ・システム・バ
スとマスタ専用コンピュータ・システム・バスの両方に
接続された少なくとも1つのアダプタ・カード608を
有する。IBM互換パーソナル・コンピュータでは、バ
ス・コネクタ対は、1つのアダプタ・カードが両方のバ
スにインタフェースできるように設計されている。ロー
カルDMAコントローラおよびマイクロプロセッサ・コ
ア論理を含む本発明を実施する回路605は、アダプタ
・カード608上に搭載される。この回路はまた、エミ
ュレーション論理とマスタ専用バス・インタフェースを
含む。これらの機能は、単一のデジタル信号プロセッサ
(DSP)に組み込まれることが最も多い。このコンピ
ュータ・システムは、図に示されていないシステムDM
Aコントローラをも含む。
【0026】図7に、本発明を構成する回路がコンピュ
ータ・システム・ユニットのマザーボード上に搭載され
ているコンピュータ・システム700を示す。コンピュ
ータ・システム700は、システム・ユニット706、
キーボード707、およびコンピュータ・ディスプレイ
701用の接続から構成される。これらの接続はこの図
では見えない。システム・ユニット706はCPU70
3を搭載している。本発明の処理回路705、通常DS
Pは、CPU703を有するシステム・ユニットのマザ
ーボード上に搭載される。処理回路705は、マスタ専
用コンピュータ・システム・バスおよびマスタ/スレー
ブ・コンピュータ・システム・バスにハード・ワイヤ配
線されており、ローカルDMAコントローラ、マイクロ
プロセッサ・コア論理、エミュレーション論理およびマ
スタ専用バス・インタフェースを含む。
ータ・システム・ユニットのマザーボード上に搭載され
ているコンピュータ・システム700を示す。コンピュ
ータ・システム700は、システム・ユニット706、
キーボード707、およびコンピュータ・ディスプレイ
701用の接続から構成される。これらの接続はこの図
では見えない。システム・ユニット706はCPU70
3を搭載している。本発明の処理回路705、通常DS
Pは、CPU703を有するシステム・ユニットのマザ
ーボード上に搭載される。処理回路705は、マスタ専
用コンピュータ・システム・バスおよびマスタ/スレー
ブ・コンピュータ・システム・バスにハード・ワイヤ配
線されており、ローカルDMAコントローラ、マイクロ
プロセッサ・コア論理、エミュレーション論理およびマ
スタ専用バス・インタフェースを含む。
【0027】専用アダプタ・カード上またはホスト・コ
ンピュータのシステム・マザーボード上のローカルDM
Aコントローラが2つの動作モードを有する本発明の特
定の実施形態を示した。ローカルDMAコントローラ
は、フルDMAモードで動作し、またはスレーブDMA
エミュレーション・モードで動作することができる。本
発明は、アダプタをスレーブ装置として動作させるよう
に設計されたホスト・コンピュータ・システム内のソフ
トウェアをバス上のアダプタがスレーブDMAサポート
を有しない場合でも適切に動作させるための方法を提供
する。以上、本発明の特定の実施形態について説明した
が、本発明には他にも多数の可能な実施形態があること
が当業者なら理解できよう。
ンピュータのシステム・マザーボード上のローカルDM
Aコントローラが2つの動作モードを有する本発明の特
定の実施形態を示した。ローカルDMAコントローラ
は、フルDMAモードで動作し、またはスレーブDMA
エミュレーション・モードで動作することができる。本
発明は、アダプタをスレーブ装置として動作させるよう
に設計されたホスト・コンピュータ・システム内のソフ
トウェアをバス上のアダプタがスレーブDMAサポート
を有しない場合でも適切に動作させるための方法を提供
する。以上、本発明の特定の実施形態について説明した
が、本発明には他にも多数の可能な実施形態があること
が当業者なら理解できよう。
【0028】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0029】(1)コア論理と、マイクロプロセッサが
マスタ専用コンピュータ・システム・バスに接続されて
いるときにスレーブDMA機能が実施されるようにフル
DMAエミュレーションが可能であり、マスタ/スレー
ブ・コンピュータ・システム・バスに接続されたシステ
ムDMAコントローラ用の接続を有するローカルDMA
コントローラと、前記ローカルDMAコントローラと前
記コア論理の間に配置され、マスタ専用バス・インタフ
ェースを有するマスタ専用バス・インタフェース論理
と、前記ローカルDMAコントローラと前記コア論理の
間に配置されたエミュレーション論理と、を含むマイク
ロプロセッサ。 (2)前記マスタ専用コンピュータ・システム・バスが
PCIバスであることを特徴とする、上記(1)に記載
のマイクロプロセッサ。 (3)マスタ専用コンピュータ・システム・バスを有す
るコンピュータ・システム用のアダプタ・カードであっ
て、前記マスタ専用コンピュータ・システム・バス用の
コネクタと、マイクロプロセッサ・コア論理と、当該ア
ダプタ・カードが前記マスタ専用コンピュータ・システ
ム・バスに接続されているときにスレーブDMA機能が
実施されるようにフルDMAエミュレーションが可能で
あり、システムDMAコントローラ用の接続を有するロ
ーカルDMAコントローラと、前記ローカルDMAコン
トローラと前記マイクロプロセッサ・コア論理の間に配
置され、前記コネクタを介して前記マスタ専用コンピュ
ータ・システム・バスに接続するためのマスタ専用バス
・インタフェースを有するマスタ専用バス・インタフェ
ース論理と、前記ローカルDMAコントローラと前記マ
イクロプロセッサ・コア論理の間に配置されたエミュレ
ーション論理と、を含むアダプタ・カード。 (4)前記マスタ専用コンピュータ・システム・バスが
PCIバスであることを特徴とする、上記(3)に記載
のアダプタ・カード。 (5)マスタ専用コンピュータ・システム・バスとマス
タ/スレーブ・コンピュータ・システム・バスとを有す
るコンピュータ・システムにおいて使用するためのアダ
プタ・カードであって、前記マスタ専用コンピュータ・
システム・バスおよび前記マスタ/スレーブ・コンピュ
ータ・システム・バス用のコネクタと、マイクロプロセ
ッサ・コア論理と、当該アダプタ・カードが前記マスタ
専用コンピュータ・システム・バスに接続されていると
きにスレーブDMA機能が実施されるようにフルDMA
エミュレーションが可能であり、前記コネクタを介す
る、前記マスタ/スレーブ・コンピュータ・システム・
バス上のシステムDMAコントローラ用の接続を有する
ローカルDMAコントローラと、前記ローカルDMAコ
ントローラと前記マイクロプロセッサ・コア論理の間に
配置され、前記コネクタを介してマスタ・コンピュータ
・システム・バスに接続するためのマスタ専用バス・イ
ンタフェースを有するマスタ専用バス・インタフェース
論理と、前記ローカルDMAコントローラと前記マイク
ロプロセッサ・コア論理の間に配置されたエミュレーシ
ョン論理と、を含むアダプタ・カード。 (6)前記マスタ専用コンピュータ・システム・バスが
PCIバスであることを特徴とする、上記(5)に記載
のアダプタ・カード。 (7)前記マスタ/スレーブ・コンピュータ・システム
・バスがISAバスであることを特徴とする、上記
(5)または(6)に記載のアダプタ・カード。 (8)中央演算処理装置(CPU)と、キーボードと、
コンピュータ・ディスプレイ用の接続と、少なくとも1
つのアダプタ・カード・コネクタ対と、前記CPUと前
記アダプタ・カード・コネクタの間に配置されたマスタ
専用コンピュータ・システム・バスと、前記CPUと前
記アダプタ・カード・コネクタの間に配置されたマスタ
/スレーブ・コンピュータ・システム・バスと、前記マ
スタ/スレーブ・コンピュータ・システム・バスに接続
されたシステムDMAコントローラと、アダプタ・カー
ドとを含み、前記アダプタ・カードは、マイクロプロセ
ッサ・コア論理と、前記マスタ専用コンピュータ・シス
テム・バス上でスレーブDMA機能が実施されるように
フルDMAエミュレーションが可能であり、前記コネク
タ対を介して前記システムDMAコントローラに接続さ
れたローカルDMAコントローラと、前記ローカルDM
Aコントローラと前記マイクロプロセッサ・コア論理の
間に配置され、前記コネクタ対を介して前記マスタ専用
コンピュータ・システム・バスに接続するためのマスタ
専用バス・インタフェースを有するマスタ専用バス・イ
ンタフェース論理と、前記ローカルDMAコントローラ
と前記マイクロプロセッサ・コア論理の間に配置された
エミュレーション論理とを含む、コンピュータ・システ
ム。 (9)前記マスタ専用コンピュータ・システム・バスが
PCIバスであることを特徴とする、上記(8)に記載
のコンピュータ・システム。 (10)前記マスタ/スレーブ・コンピュータ・システ
ム・バスがISAバスであることを特徴とする、上記
(8)または(9)に記載のコンピュータ・システム。 (11)中央演算処理装置(CPU)と、キーボード
と、コンピュータ・ディスプレイ用の接続と、前記CP
Uに接続されたマスタ専用コンピュータ・システム・バ
スと、システムDMAコントローラと、前記マスタ専用
コンピュータ・システム・バスと前記システムDMAコ
ントローラとに接続された処理回路とを含み、該処理回
路がさらに、マイクロプロセッサ・コア論理と、前記マ
スタ専用コンピュータ・システム・バス上でスレーブD
MA機能が実施されるようにフルDMAエミュレーショ
ンが可能であり、前記システムDMAコントローラに接
続されたローカルDMAコントローラと、前記ローカル
DMAコントローラと前記マイクロプロセッサ・コア論
理の間に配置され、前記マスタ専用コンピュータ・シス
テム・バスに接続するためのマスタ専用バス・インタフ
ェースを有するマスタ専用バス・インタフェース論理
と、前記ローカルDMAコントローラと前記マイクロプ
ロセッサ・コア論理の間に配置されたエミュレーション
論理と、を含むコンピュータ・システム。 (12)前記マスタ専用コンピュータ・システム・バス
がPCIバスであることを特徴とする、上記(11)に
記載のコンピュータ・システム。
マスタ専用コンピュータ・システム・バスに接続されて
いるときにスレーブDMA機能が実施されるようにフル
DMAエミュレーションが可能であり、マスタ/スレー
ブ・コンピュータ・システム・バスに接続されたシステ
ムDMAコントローラ用の接続を有するローカルDMA
コントローラと、前記ローカルDMAコントローラと前
記コア論理の間に配置され、マスタ専用バス・インタフ
ェースを有するマスタ専用バス・インタフェース論理
と、前記ローカルDMAコントローラと前記コア論理の
間に配置されたエミュレーション論理と、を含むマイク
ロプロセッサ。 (2)前記マスタ専用コンピュータ・システム・バスが
PCIバスであることを特徴とする、上記(1)に記載
のマイクロプロセッサ。 (3)マスタ専用コンピュータ・システム・バスを有す
るコンピュータ・システム用のアダプタ・カードであっ
て、前記マスタ専用コンピュータ・システム・バス用の
コネクタと、マイクロプロセッサ・コア論理と、当該ア
ダプタ・カードが前記マスタ専用コンピュータ・システ
ム・バスに接続されているときにスレーブDMA機能が
実施されるようにフルDMAエミュレーションが可能で
あり、システムDMAコントローラ用の接続を有するロ
ーカルDMAコントローラと、前記ローカルDMAコン
トローラと前記マイクロプロセッサ・コア論理の間に配
置され、前記コネクタを介して前記マスタ専用コンピュ
ータ・システム・バスに接続するためのマスタ専用バス
・インタフェースを有するマスタ専用バス・インタフェ
ース論理と、前記ローカルDMAコントローラと前記マ
イクロプロセッサ・コア論理の間に配置されたエミュレ
ーション論理と、を含むアダプタ・カード。 (4)前記マスタ専用コンピュータ・システム・バスが
PCIバスであることを特徴とする、上記(3)に記載
のアダプタ・カード。 (5)マスタ専用コンピュータ・システム・バスとマス
タ/スレーブ・コンピュータ・システム・バスとを有す
るコンピュータ・システムにおいて使用するためのアダ
プタ・カードであって、前記マスタ専用コンピュータ・
システム・バスおよび前記マスタ/スレーブ・コンピュ
ータ・システム・バス用のコネクタと、マイクロプロセ
ッサ・コア論理と、当該アダプタ・カードが前記マスタ
専用コンピュータ・システム・バスに接続されていると
きにスレーブDMA機能が実施されるようにフルDMA
エミュレーションが可能であり、前記コネクタを介す
る、前記マスタ/スレーブ・コンピュータ・システム・
バス上のシステムDMAコントローラ用の接続を有する
ローカルDMAコントローラと、前記ローカルDMAコ
ントローラと前記マイクロプロセッサ・コア論理の間に
配置され、前記コネクタを介してマスタ・コンピュータ
・システム・バスに接続するためのマスタ専用バス・イ
ンタフェースを有するマスタ専用バス・インタフェース
論理と、前記ローカルDMAコントローラと前記マイク
ロプロセッサ・コア論理の間に配置されたエミュレーシ
ョン論理と、を含むアダプタ・カード。 (6)前記マスタ専用コンピュータ・システム・バスが
PCIバスであることを特徴とする、上記(5)に記載
のアダプタ・カード。 (7)前記マスタ/スレーブ・コンピュータ・システム
・バスがISAバスであることを特徴とする、上記
(5)または(6)に記載のアダプタ・カード。 (8)中央演算処理装置(CPU)と、キーボードと、
コンピュータ・ディスプレイ用の接続と、少なくとも1
つのアダプタ・カード・コネクタ対と、前記CPUと前
記アダプタ・カード・コネクタの間に配置されたマスタ
専用コンピュータ・システム・バスと、前記CPUと前
記アダプタ・カード・コネクタの間に配置されたマスタ
/スレーブ・コンピュータ・システム・バスと、前記マ
スタ/スレーブ・コンピュータ・システム・バスに接続
されたシステムDMAコントローラと、アダプタ・カー
ドとを含み、前記アダプタ・カードは、マイクロプロセ
ッサ・コア論理と、前記マスタ専用コンピュータ・シス
テム・バス上でスレーブDMA機能が実施されるように
フルDMAエミュレーションが可能であり、前記コネク
タ対を介して前記システムDMAコントローラに接続さ
れたローカルDMAコントローラと、前記ローカルDM
Aコントローラと前記マイクロプロセッサ・コア論理の
間に配置され、前記コネクタ対を介して前記マスタ専用
コンピュータ・システム・バスに接続するためのマスタ
専用バス・インタフェースを有するマスタ専用バス・イ
ンタフェース論理と、前記ローカルDMAコントローラ
と前記マイクロプロセッサ・コア論理の間に配置された
エミュレーション論理とを含む、コンピュータ・システ
ム。 (9)前記マスタ専用コンピュータ・システム・バスが
PCIバスであることを特徴とする、上記(8)に記載
のコンピュータ・システム。 (10)前記マスタ/スレーブ・コンピュータ・システ
ム・バスがISAバスであることを特徴とする、上記
(8)または(9)に記載のコンピュータ・システム。 (11)中央演算処理装置(CPU)と、キーボード
と、コンピュータ・ディスプレイ用の接続と、前記CP
Uに接続されたマスタ専用コンピュータ・システム・バ
スと、システムDMAコントローラと、前記マスタ専用
コンピュータ・システム・バスと前記システムDMAコ
ントローラとに接続された処理回路とを含み、該処理回
路がさらに、マイクロプロセッサ・コア論理と、前記マ
スタ専用コンピュータ・システム・バス上でスレーブD
MA機能が実施されるようにフルDMAエミュレーショ
ンが可能であり、前記システムDMAコントローラに接
続されたローカルDMAコントローラと、前記ローカル
DMAコントローラと前記マイクロプロセッサ・コア論
理の間に配置され、前記マスタ専用コンピュータ・シス
テム・バスに接続するためのマスタ専用バス・インタフ
ェースを有するマスタ専用バス・インタフェース論理
と、前記ローカルDMAコントローラと前記マイクロプ
ロセッサ・コア論理の間に配置されたエミュレーション
論理と、を含むコンピュータ・システム。 (12)前記マスタ専用コンピュータ・システム・バス
がPCIバスであることを特徴とする、上記(11)に
記載のコンピュータ・システム。
【図1】マスタ専用コンピュータ・システム・バスに接
続された本発明を実施する処理回路を示す図である。
続された本発明を実施する処理回路を示す図である。
【図2】マスタ専用コンピュータ・システム・バスとマ
スタ/スレーブ・コンピュータ・システム・バスとに接
続された本発明を実施する処理回路を示す図である。
スタ/スレーブ・コンピュータ・システム・バスとに接
続された本発明を実施する処理回路を示す図である。
【図3】本発明のローカルDMAコントローラをフルD
MAモードで動作させる方法を示す図である。
MAモードで動作させる方法を示す図である。
【図4】本発明のローカルDMAコントローラをスレー
ブDMAエミュレーション・モードにしてDMA書込み
を実施する方法を示す図である。
ブDMAエミュレーション・モードにしてDMA書込み
を実施する方法を示す図である。
【図5】本発明のローカルDMAコントローラをスレー
ブDMAエミュレーション・モードにしてDMA読取り
を実施する方法を示す図である。
ブDMAエミュレーション・モードにしてDMA読取り
を実施する方法を示す図である。
【図6】本発明がその上で実施されているアダプタ・カ
ードを含むホスト・コンピュータ・システムを示す図で
ある。
ードを含むホスト・コンピュータ・システムを示す図で
ある。
【図7】本発明がシステム・マザーボード上で実施され
ているホスト・コンピュータ・システムを示す図であ
る。
ているホスト・コンピュータ・システムを示す図であ
る。
101 ホスト・コンピュータ・システム 102 ローカルDMAコントローラ 103 バス・インタフェース論理 104 エミュレーション論理 105 マイクロプロセッサ・コア 106 処理回路 108 マスタ専用バス・インタフェース 110 マスタ専用コンピュータ・システム・バス 201 CPU 202 ローカルDMAコントローラ 203 バス・インタフェース論理 204 エミュレーション論理 205 マイクロプロセッサ・コア 206 専用回路 207 システムDMAコントローラ 208 マスタ専用バス・インタフェース 210 マスタ専用バス 211 マスタ/スレーブ・バス
Claims (12)
- 【請求項1】コア論理と、マイクロプロセッサがマスタ
専用コンピュータ・システム・バスに接続されていると
きにスレーブDMA機能が実施されるようにフルDMA
エミュレーションが可能であり、マスタ/スレーブ・コ
ンピュータ・システム・バスに接続されたシステムDM
Aコントローラ用の接続を有するローカルDMAコント
ローラと、 前記ローカルDMAコントローラと前記コア論理の間に
配置され、マスタ専用バス・インタフェースを有するマ
スタ専用バス・インタフェース論理と、 前記ローカルDMAコントローラと前記コア論理の間に
配置されたエミュレーション論理と、 を含むマイクロプロセッサ。 - 【請求項2】前記マスタ専用コンピュータ・システム・
バスがPCIバスであることを特徴とする、請求項1に
記載のマイクロプロセッサ。 - 【請求項3】マスタ専用コンピュータ・システム・バス
を有するコンピュータ・システム用のアダプタ・カード
であって、 前記マスタ専用コンピュータ・システム・バス用のコネ
クタと、 マイクロプロセッサ・コア論理と、 当該アダプタ・カードが前記マスタ専用コンピュータ・
システム・バスに接続されているときにスレーブDMA
機能が実施されるようにフルDMAエミュレーションが
可能であり、システムDMAコントローラ用の接続を有
するローカルDMAコントローラと、 前記ローカルDMAコントローラと前記マイクロプロセ
ッサ・コア論理の間に配置され、前記コネクタを介して
前記マスタ専用コンピュータ・システム・バスに接続す
るためのマスタ専用バス・インタフェースを有するマス
タ専用バス・インタフェース論理と、 前記ローカルDMAコントローラと前記マイクロプロセ
ッサ・コア論理の間に配置されたエミュレーション論理
と、 を含むアダプタ・カード。 - 【請求項4】前記マスタ専用コンピュータ・システム・
バスがPCIバスであることを特徴とする、請求項3に
記載のアダプタ・カード。 - 【請求項5】マスタ専用コンピュータ・システム・バス
とマスタ/スレーブ・コンピュータ・システム・バスと
を有するコンピュータ・システムにおいて使用するため
のアダプタ・カードであって、 前記マスタ専用コンピュータ・システム・バスおよび前
記マスタ/スレーブ・コンピュータ・システム・バス用
のコネクタと、 マイクロプロセッサ・コア論理と、 当該アダプタ・カードが前記マスタ専用コンピュータ・
システム・バスに接続されているときにスレーブDMA
機能が実施されるようにフルDMAエミュレーションが
可能であり、前記コネクタを介する、前記マスタ/スレ
ーブ・コンピュータ・システム・バス上のシステムDM
Aコントローラ用の接続を有するローカルDMAコント
ローラと、 前記ローカルDMAコントローラと前記マイクロプロセ
ッサ・コア論理の間に配置され、前記コネクタを介して
マスタ・コンピュータ・システム・バスに接続するため
のマスタ専用バス・インタフェースを有するマスタ専用
バス・インタフェース論理と、 前記ローカルDMAコントローラと前記マイクロプロセ
ッサ・コア論理の間に配置されたエミュレーション論理
と、 を含むアダプタ・カード。 - 【請求項6】前記マスタ専用コンピュータ・システム・
バスがPCIバスであることを特徴とする、請求項5に
記載のアダプタ・カード。 - 【請求項7】前記マスタ/スレーブ・コンピュータ・シ
ステム・バスがISAバスであることを特徴とする、請
求項5または6に記載のアダプタ・カード。 - 【請求項8】中央演算処理装置(CPU)と、 キーボードと、 コンピュータ・ディスプレイ用の接続と、 少なくとも1つのアダプタ・カード・コネクタ対と、 前記CPUと前記アダプタ・カード・コネクタの間に配
置されたマスタ専用コンピュータ・システム・バスと、 前記CPUと前記アダプタ・カード・コネクタの間に配
置されたマスタ/スレーブ・コンピュータ・システム・
バスと、 前記マスタ/スレーブ・コンピュータ・システム・バス
に接続されたシステムDMAコントローラと、 アダプタ・カードとを含み、 前記アダプタ・カードは、 マイクロプロセッサ・コア論理と、 前記マスタ専用コンピュータ・システム・バス上でスレ
ーブDMA機能が実施されるようにフルDMAエミュレ
ーションが可能であり、前記コネクタ対を介して前記シ
ステムDMAコントローラに接続されたローカルDMA
コントローラと、 前記ローカルDMAコントローラと前記マイクロプロセ
ッサ・コア論理の間に配置され、前記コネクタ対を介し
て前記マスタ専用コンピュータ・システム・バスに接続
するためのマスタ専用バス・インタフェースを有するマ
スタ専用バス・インタフェース論理と、 前記ローカルDMAコントローラと前記マイクロプロセ
ッサ・コア論理の間に配置されたエミュレーション論理
とを含む、 コンピュータ・システム。 - 【請求項9】前記マスタ専用コンピュータ・システム・
バスがPCIバスであることを特徴とする、請求項8に
記載のコンピュータ・システム。 - 【請求項10】前記マスタ/スレーブ・コンピュータ・
システム・バスがISAバスであることを特徴とする、
請求項8または9に記載のコンピュータ・システム。 - 【請求項11】中央演算処理装置(CPU)と、 キーボードと、 コンピュータ・ディスプレイ用の接続と、 前記CPUに接続されたマスタ専用コンピュータ・シス
テム・バスと、 システムDMAコントローラと、 前記マスタ専用コンピュータ・システム・バスと前記シ
ステムDMAコントローラとに接続された処理回路とを
含み、該処理回路がさらに、 マイクロプロセッサ・コア論理と、 前記マスタ専用コンピュータ・システム・バス上でスレ
ーブDMA機能が実施されるようにフルDMAエミュレ
ーションが可能であり、前記システムDMAコントロー
ラに接続されたローカルDMAコントローラと、 前記ローカルDMAコントローラと前記マイクロプロセ
ッサ・コア論理の間に配置され、前記マスタ専用コンピ
ュータ・システム・バスに接続するためのマスタ専用バ
ス・インタフェースを有するマスタ専用バス・インタフ
ェース論理と、 前記ローカルDMAコントローラと前記マイクロプロセ
ッサ・コア論理の間に配置されたエミュレーション論理
と、 を含むコンピュータ・システム。 - 【請求項12】前記マスタ専用コンピュータ・システム
・バスがPCIバスであることを特徴とする、請求項1
1に記載のコンピュータ・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/656657 | 1996-05-31 | ||
US08/656,657 US5748944A (en) | 1996-05-31 | 1996-05-31 | Apparatus for slave DMA emulation on a computer system bus |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1069454A true JPH1069454A (ja) | 1998-03-10 |
Family
ID=24633996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9125218A Pending JPH1069454A (ja) | 1996-05-31 | 1997-05-15 | コンピュータ・システム・バス上でスレーブdmaエミュレーションを行う装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5748944A (ja) |
EP (1) | EP0810528B1 (ja) |
JP (1) | JPH1069454A (ja) |
KR (1) | KR100267428B1 (ja) |
DE (1) | DE69737168T2 (ja) |
TW (1) | TW305961B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5954802A (en) * | 1996-01-31 | 1999-09-21 | Texas Instruments Incorporated | System for interfacing ISA compatible computer devices with non-ISA buses using secondary DMA controllers and glue logic circuit |
US5884050A (en) * | 1996-06-21 | 1999-03-16 | Digital Equipment Corporation | Mechanism for high bandwidth DMA transfers in a PCI environment |
US7155379B2 (en) * | 2003-02-25 | 2006-12-26 | Microsoft Corporation | Simulation of a PCI device's memory-mapped I/O registers |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5335329A (en) * | 1991-07-18 | 1994-08-02 | Texas Microsystems, Inc. | Apparatus for providing DMA functionality to devices located in a bus expansion chassis |
US5450551A (en) * | 1993-05-28 | 1995-09-12 | International Business Machines Corporation | System direct memory access (DMA) support logic for PCI based computer system |
US5598576A (en) * | 1994-03-30 | 1997-01-28 | Sigma Designs, Incorporated | Audio output device having digital signal processor for responding to commands issued by processor by emulating designated functions according to common command interface |
CA2135505C (en) * | 1994-11-09 | 1999-11-09 | Patrick K. Kam | Dma emulation for non-dma capable interface cards |
US5590377A (en) * | 1995-06-07 | 1996-12-31 | Ast Research, Inc. | Automatic control of distributed DMAs in a PCI bus system supporting dual ISA buses |
US5668957A (en) * | 1995-11-02 | 1997-09-16 | International Business Machines Corporation | Method and apparatus for providing virtual DMA capability on an adapter connected to a computer system bus with no DMA support |
-
1996
- 1996-05-31 US US08/656,657 patent/US5748944A/en not_active Expired - Fee Related
- 1996-08-31 TW TW085110654A patent/TW305961B/zh not_active IP Right Cessation
-
1997
- 1997-03-27 KR KR1019970010767A patent/KR100267428B1/ko not_active IP Right Cessation
- 1997-04-15 DE DE69737168T patent/DE69737168T2/de not_active Expired - Lifetime
- 1997-04-15 EP EP97302572A patent/EP0810528B1/en not_active Expired - Lifetime
- 1997-05-15 JP JP9125218A patent/JPH1069454A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0810528B1 (en) | 2007-01-03 |
DE69737168D1 (de) | 2007-02-15 |
DE69737168T2 (de) | 2007-11-08 |
US5748944A (en) | 1998-05-05 |
TW305961B (en) | 1997-05-21 |
KR970076255A (ko) | 1997-12-12 |
EP0810528A2 (en) | 1997-12-03 |
KR100267428B1 (ko) | 2000-10-16 |
EP0810528A3 (en) | 2001-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3416021B2 (ja) | ローカルdmaコントローラによってスレーブdmaエミュレーション・モードでdma書込みを実行する方法 | |
US6493803B1 (en) | Direct memory access controller with channel width configurability support | |
EP0784277B1 (en) | Interfacing direct memory access devices to a non-ISA bus | |
KR100271336B1 (ko) | 주변구성요소 내부접속 버스상의 기능을 향상시키는 장치 및방법 | |
JP3838278B2 (ja) | コンピュータ・システムの2つのバス間のブリッジ回路 | |
US5802269A (en) | Method and apparatus for power management of distributed direct memory access (DDMA) devices | |
US6067589A (en) | USB legacy support system | |
US5923860A (en) | Apparatus, method and system for remote peripheral component interconnect bus using accelerated graphics port logic circuits | |
KR100352224B1 (ko) | 핀-총수가 적은 버스 상에서의 직접 메모리 억세스 트랜잭션 | |
US6256691B1 (en) | Universal docking station | |
US6131127A (en) | I/O transactions on a low pin count bus | |
US5937173A (en) | Dual purpose computer bridge interface for accelerated graphics port or registered peripheral component interconnect devices | |
US6167476A (en) | Apparatus, method and system for accelerated graphics port bus bridges | |
US5784599A (en) | Method and apparatus for establishing host bus clock frequency and processor core clock ratios in a multi-processor computer system | |
US5724528A (en) | PCI/ISA bridge having an arrangement for responding to PCI address parity errors for internal PCI slaves in the PCI/ISA bridge | |
US5655142A (en) | High performance derived local bus and computer system employing the same | |
US5867645A (en) | Extended-bus functionality in conjunction with non-extended-bus functionality in the same bus system | |
US20040139267A1 (en) | Accessing a primary bus messaging unit from a secondary bus through a pci bridge | |
CN112988637A (zh) | 促进与i2c的向后兼容性的i3c集线器 | |
US5933613A (en) | Computer system and inter-bus control circuit | |
US20010042150A1 (en) | Universal docking station | |
KR100267428B1 (ko) | 컴퓨터 시스템 버스상에서 슬레이브 dma를 에뮬레이션하는 장치 | |
US6954209B2 (en) | Computer CPU and memory to accelerated graphics port bridge having a plurality of physical buses with a single logical bus number | |
JPH0973429A (ja) | コンピュータシステム及びバス間制御回路 | |
US20030188080A1 (en) | Apparatus, method and system for remote registered peripheral component interconnect bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070424 |