JP2004503871A - 直接メモリアクセス・コントローラおよび方法 - Google Patents
直接メモリアクセス・コントローラおよび方法 Download PDFInfo
- Publication number
- JP2004503871A JP2004503871A JP2002511182A JP2002511182A JP2004503871A JP 2004503871 A JP2004503871 A JP 2004503871A JP 2002511182 A JP2002511182 A JP 2002511182A JP 2002511182 A JP2002511182 A JP 2002511182A JP 2004503871 A JP2004503871 A JP 2004503871A
- Authority
- JP
- Japan
- Prior art keywords
- dma controller
- bus
- host bus
- dma
- mode
- 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
Links
Images
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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
【課題】フライバイモード、デュアルサイクルモードおよびフロースルーモードのいずれかで動作可能な新規で洗練されたDMAコントローラ。
【解決手段】一実施形態のDMAコントローラは、パラメータ化可能な数のチャネルをサポートし、各チャネルは上述した動作モードの一つをサポートする。一実施形態のDMAコントローラは、ホストバス上のバスマスタとして作用し、システム上の全デバイスと接続する能力をもつ。一実施形態のDMAコントローラは、ホストバス上でゼロウェイト状態のシーケンシャル伝送を行うために最適化される。一実施形態のDMAコントローラはまた、DMAコントローラに接続される一つ以上のマスタがホストバスへのアクセスを要求するとき、異なるチャネルの間での調停を選択するためのプログラム可能な優先権をもつ内部アービタを内蔵する。本発明の利点は、バスマスタ・デバイスはホストバスの負荷を軽減するため、システムの性能が著しく改善されることである。他の利点は、本発明がシステムにより多くのデバイスを追加する簡易な手段を有することである。
【選択図】図1
【解決手段】一実施形態のDMAコントローラは、パラメータ化可能な数のチャネルをサポートし、各チャネルは上述した動作モードの一つをサポートする。一実施形態のDMAコントローラは、ホストバス上のバスマスタとして作用し、システム上の全デバイスと接続する能力をもつ。一実施形態のDMAコントローラは、ホストバス上でゼロウェイト状態のシーケンシャル伝送を行うために最適化される。一実施形態のDMAコントローラはまた、DMAコントローラに接続される一つ以上のマスタがホストバスへのアクセスを要求するとき、異なるチャネルの間での調停を選択するためのプログラム可能な優先権をもつ内部アービタを内蔵する。本発明の利点は、バスマスタ・デバイスはホストバスの負荷を軽減するため、システムの性能が著しく改善されることである。他の利点は、本発明がシステムにより多くのデバイスを追加する簡易な手段を有することである。
【選択図】図1
Description
【0001】
【発明の属する技術分野】
本発明は、内蔵されたコンピュータシステムの一般的な技術分野に関する。特に、本発明は、内蔵されたコンピュータシステムのバスアーキテクチャの分野に属する。より詳細には、本発明は、ホストバスの性能を最適化するために複数チャネルで複数態様の直接メモリアクセスコントローラに関する。
【0002】
【従来の技術】
コンピュータシステムのバスアーキテクチャは、コンピュータシステムの動作に関連する情報と信号の多くを伝送する。一般に、ホストバスは、中央処理ユニット(CPU)をメモリに接続するために用いられ、他のバスは、CPUを入出力ユニットのような他の要素に接続するために用いられる。コンピュータシステムがプログラムを実行するとき、コンピュータをユーザにできるだけ応答性よくするために、データと情報をできるだけ高速に伝送するのが重要である。グラフィック・アダプタ、フルモーション・ビデオアダプタおよび小型コンピュータ用周辺機器インタフェース(SCSI)ホストバス・アダプタなどの多くのハードウェア応用において、大容量データを迅速に転送することが重要である。これらの応用は、高速のバス転送速度から実質的に利益を得るサブシステムの一例である。今日の多くのコンピュータシステムのアーキテクチャにおいて、上述したサブシステムの大半は、コンピュータシステムの拡張バス上にある。
【0003】
拡張バスは、コンピュータシステムに機能的な部品を追加する方法として一般に利用される。機能的な部品は、拡張バスに物理的に接続され、情報の通信および交換のために拡張バスを利用する。専用のバスを基本としたデザイン(拡張バスから動作することを特に念頭に置いたデザイン)は、一般に機能部品を内蔵する。PCI(周辺部品相互接続)は、拡張バス・アーキテクチャの業界標準の、広く知られた、広く支持されている一例である。
【0004】
しかしながら、内蔵されたコンピュータシステムにおいて、周辺デバイスは拡張バスには接続されない。むしろ、周辺デバイスは、性能の制限と他のデザイン上の要因により、プロセッサのローカルバス自体に接続されなければならない。図1は内蔵されたコンピュータシステム100の一般的な実装例を示している。内蔵されたコンピュータシステム100は、2つの他のバスマスタリング・デバイス130a〜130dと2つの他のスレーブデバイス140a〜140dでホストバス120を共有するマイクロプロセッサ110を有する。バスマスタリング・デバイス130aはまた、他のデバイスと接続するためのカスタム・インタエース135を有する。内蔵されたコントローラシステム100はまた、バスアクセス要求を調停するバスアービタ150を有する。
【0005】
図1に示す実装形態に関連する一つの問題は、バスマスタリング・デバイス130a〜130bがホストバス120上の負荷に著しく影響することである。ホストバス120上の負荷が増加すると、バス120上の容量がより大きくなる。このように、ホストバス120の時定数(τ=1/RC)が影響されうる。すなわち、ホストバス120により多くのデバイスが追加されるほど、プロセッサは遅くなる。より高い性能を達成するために、ホストバス上の負荷の数はできるだけ少なくしなければならない。結果的に、内蔵されたプロセッサシステム全体のスループットが低下する。このように、必要なことは、内蔵されたプロセッサシステムのスループットに影響することなく、ホストバス上により多くのデバイスを追加する方法およびシステムである。
【0006】
内蔵されたプロセッサシステム100に関連した他の欠点は、多くのI/Oピンがカスタムインタフェース135に必要になることである。例えば、ホストバスが32ビットのアドレスバスを持ち、アドレス可能な4GBの空間へのアクセスを提供する。カスタムインタフェース135が利用可能なメモリのすべてにアクセスする必要があるとき、カスタムインタフェースはまた、32ビットのアドレスを持たなければならず、必要とされるI/Oピンの数が増えてしまう。チップ上で利用可能なI/Oピンの数が制限されるとき、I/Oの数を著しく増やすことなく、複数のオフチップ・デバイスへの接続を与える方法とシステムが必要になる。
【0007】
また、システム100の実装の他の欠点は、ホスト120のバスが一つのマスタ(例えば、バスマスタリング・デバイス130a)により利用され、バス120へのアクセスを要求する他のマスタ(例えば、バスマスタリング・デバイス130b)が常時バスを監視しなければならないことである。時には、バス活性化の監視は、マスタがバスへのアクセスをまったく必要としなくても必要になる。電力監視の観点から、システム100の実装形態は、あまり効率的ではない。結果的に、必要なことは、非常に小さな電力を消費するインタフェースである。
【0008】
(発明の概要)
したがって、本発明は、動作のフライバイモードとフロースルーモードの両方をサポートする複数態様で複数チャネルの直接メモリアクセス(DMA)コントローラを提供することにある。本発明の一実施形態において、DMAコントローラは、以下の動作モードをサポートするバスマスタリング・デバイスである。(1)フライバイモード、(2)フロースルーモード、および/または(3)デュアルサイクルモード。本実施形態において、DMAコントローラは、低アクセス・レーテンシーを要求するデバイスの「フライバイ」モードで動作する。DMAコントローラは、ホストバスと比較して、比較的低い性能をもつデバイス用の「デュアルサイクル」モードで動作する。DMAコントローラは、高い性能をもつが、低いアクセス・レーテンシーを要求しないデバイス用の「フロースルー」モードで動作する。
【0009】
本実施形態のDMAコントローラは、パラメータ化が可能な数のチャネルをサポートし、各チャネルは上述した動作モードの一つをサポートする。本実施形態のDMAコントローラは、ホストバス上でバスマスタとして機能し、システム上のすべてのデバイスと接続する能力を有する。本実施形態のDMAコントローラはまた、ホストバス上のゼロウェイト状態のシーケンシャル伝送用に最適化される。さらに、本実施形態のDMAコントローラはまた、DMAコントローラに接続される一つのマスタがホストバスへのアクセスを要求するとき、異なるチャネル間で調停を行うプログラム可能な優先権をもつ内部アービタを備えている。
【0010】
本発明の一実施形態において、DMAコントローラは、ホストバスのアドレス可能な範囲すべてに対してアクセスを行うアドレス生成ロジックを有する。バスマスタ・デバイスの観点から必要なことは、アドレスレジスタにアクセスする能力、端子カウントレジスタ、およびDMAコントローラのデータレジスタである。本実施形態において、デバイスのファームウェアは、適切なホストアドレス範囲をアドレスとカウントレジスタに書き込む責任がある。共有バスをDMAコントローラのデバイス側で使用し、DMAレジスタのみをアドレスすることは、チップ内に要求されるI/O(入出力)の数を低減する。
【0011】
本発明の一実施形態は、上述したものを有し、さらに、制御信号とデータをデータ処理システムのホストバスで伝送するフロントエンド・インタフェースと、第1の制御信号を第1のバスマスタリング・デバイスで伝送する第1のバックエンド・インタフェースと、第2の制御信号およびデータを第2のバスマスタリング・デバイスで伝送する第2のバックエンド・インタフェースとをもつ複数態様の直接メモリアクセス(DMA)を有する。一実施形態において、第1の制御信号は、DMAコントローラをフライバイモードに入らせ、これにより、データは第1のバスマスタリング・デバイスとホストバスとの間で直接伝送される。第2の制御信号は、DMAコントローラをフロースルーモードに入らせ、これにより、データは、DMAコントローラを介して、第2のバスマスタリング・デバイスとホストバスとの間で伝送される。
【0012】
本発明の一部に組み込まれ、一部を形成する添付図面は、本発明の実施形態を示すものであり、詳細な説明の記載とともに、本発明の原理を説明するためのものである。
【0013】
(発明の好適な実施形態の詳細な説明)
以下に説明する好適な実施形態の詳細説明では、説明の目的で、本発明のさらなる理解のために、多くの具体的な詳述がなされる。しかしながら、本発明は、当業者の技術を用いれば、以下の具体的な詳述なしに実行できることは明らかである。他の例では、本発明を不明瞭にしないように、よく知られた構造およびデバイスは詳細には説明されない。
【0014】
本発明は、「フライバイ」モード、[デュアルサイクル」モード、および「フロースルー」モードで動作可能な新規の洗練された直接メモリアクセス(DMA)コントローラを備えている。本実施形態のDMAコントローラは、パラメータ化可能な数のチャネルをサポートし、各チャネルは公知の動作モードの一つをサポートするために設けられる。本実施形態のDMAコントローラは、ホストバス上のバスマスタとして作用し、システム上のすべてのデバイスと接続する能力をもつ。本発明の利点の一つは、バスマスタリング・デバイスは複数チャネルのDMAコントローラのバックエンドに接続され、ホストバス上の負荷を効率的に低減することである。ホストバス上の負荷が低下するとき、ホストバスはさらに高速度で動作可能である。したがって、システムのスループットの著しい増大を達成可能である。ホストバスから多くのバスマスタリング・デバイスの負荷を除去することは、電力消費の著しい削減につながる。本発明の他の利点は、ホストバス上の負荷の数を削減することにより、時間分析とレイアウトがより容易に実行可能になることである。さらに、DMAコントローラは、広範囲の性能要求の中でデバイスをサポートすることができる。他の利点は、本発明はシステムにより多くのデバイスを追加する簡易な手段を提供するということである。本発明のこれらの、または他の利点は以下に記載する議論からより明らかになる。
【0015】
図2は本発明による複数チャネルで複数態様のDMAコントローラを利用する模範的な内蔵されたシステムを図示している。図示されたように、内蔵されたコントローラシステム200は、複数チャネルで複数態様の直接メモリアクセス(DMA)コントローラ230を有するホストコントローラ220を共有するマイクロプロセッサ210と、2つのスレーブ・デバイス140a〜140b(例えば、ランダムアクセスメモリ「RAM」またはリードオンリーメモリ「ROM」ユニット)とを有する。複数チャネルで複数態様のDMAコントローラ230は、フロンドエンドインタフェース232を介してホストバス220に接続される。内蔵されたコントローラシステム200はまた、「フライバイ」バスマスタリング・デバイス240と「フロースルー」バスマスタリング・デバイス250とを有する。ある実施形態において、DMAコントローラ230はまた、外部デバイスと接続されるバックエンドインタフェース238を有する。
【0016】
本実施形態において、「フライバイ」バスマスタリング・デバイス240は、データを伝送するために直接ホストバス220に接続される。しかしながら、「フライバイ」バスマスタリング・デバイス240の制御信号は、ホストバス220に直接には伝送されない。むしろ、「フライバイ」バスマスタリング・デバイス240の制御信号は、DMAコントローラ230に接続されるバックエンド・インタフェース234に伝送を行う。「フロースルー」バスマスタリング・デバイス250は、他のバックエンド・インタフェース236を介してDMAコントローラ230を介して間接的にホストバス220に接続される。
【0017】
本実施形態によれば、DMAコントローラ230は、以下の動作モード、(1)フライバイ、(2)フロースルー、(3)デュアルサイクル・モード、をサポートするバスマスタリング・デバイスである。
【0018】
(フライバイモード)
本発明のフライバイモードは、ホストバス上のアクセスレーテンシーを容認できないデバイスに適している。図3は内蔵されたコントローラシステム200の模範的なフライバイモードの動作を示すタイミング図300である。フライバイモードにおいて、「フライバイ」バスマスタリング・デバイス240は、DMAコントローラ230の(不図示の)レジスタ内のスタートアドレスと終了アドレスをプログラムし、DREQ1信号310をアサートする。DMAコントローラ230は、DACK1信号320をアサートすることにより、その要求を認識し、またBRQ1信号340をバスアービタ150にアサートする。DMAコントローラ230がホストバス220を獲得する(BGT1信号350はバスアービタ150によりアサートされる)ないなや、DMAコントローラ230は有効なデバイス制御信号234をアサートする。「フライバイ」バスマスタリング・デバイス240が有効なデバイス制御信号234を受信するやいなや、DMAコントローラ230は、ホストバス220上で直接、データの駆動(書き込みサイクル)やデータのサンプリング(読み出しサイクル)を開始するかもしれない。
【0019】
タイミング図300において、メモリ書き込み動作が行われる。すなわち、BGT1信号350がアサートされるやいなや、DMAコントローラ230は、DREAD1信号330を「フライバイ」バスマスタリング・デバイス240に伝送し、バス制御信号360(「コントロールA」)とアドレス信号370(「アドレスA」)をホストバス220に伝送することにより、「フライバイ」バスマスタリングデバイス240とメモリとの間で直接DMAチャネルを確立する。その後、データ信号380(「データA」)は、バスマスタリング・デバイス240からホストバス220に伝送される。
【0020】
フライバイモードの動作において、バスマスタリング・デバイス240はまだ、ホストバス220上で負荷として動作するけれども、負荷の効果は、クリティカルでない信号のみ、すなわちデータバスのみである。他の制御すべては、DMAコントローラ230により操作される。この種のデバイスのレーテンシー非寛容のために、バス220にウェイト状態は挿入されない。したがって、たいていの信号は、ホストバス220から結合的に駆動される。さらに、本発明の一実施形態によれば、フライバイモードの動作がデータバス上に負荷を追加することになるため、著しい性能の要求を有するデバイスのみに推奨される。
【0021】
(フライバイモード)
一般に、最小のアクセスレーテンシーに耐えうるデバイスはフロースルーモードを利用できる。図4は本発明による内蔵システム200の模範的なフロースルーモードの動作を示すタイミング図400である。図示されたように、「フロースルー」バスマスタリング・デバイス250は、DMAコントローラ230への信号DREQ2410をアサートする。その後、DMAコントローラ230はその要求を認識するためにDACK2信号420をアサートし、かつDREAD2信号430をアサートし、(不図示の)FIFOに格納するために、デバイス250からDMAコントローラ230にデータを転送する。DMAコントローラ230内のFIFOの一部がスレッショルドレベルになるやいなや、DMAコントローラ230はホストバス220の制御を要求するためにBRQ2信号をアサートする。バスの獲得(アービタによりアサートされるBGT2信号460)の後、DMAコントローラ230はバス制御信号470(「コントロールB」)とアドレス信号480(「アドレスB」)をホストバス220に伝送する。その後、データ信号490(「データB」)はDMAコントローラ230からホストバス220に伝送される。例えば、ホストバス220がアイドリングであり、DMAコントローラ230とバスマスタリング・デバイス250が同期していれば、必要なレーテンシーは1クロックサイクルのみである。図4に示された例において、一つのFIFOスレッショルドが実装される。図4に示す模範的な実装形態はまた、デバイスからデータの有効性を予期することにより、また、デバイスを同時に認識するようホストシステムバスに要求することにより、フロースルー・レーテンシーを低減しようとする。
【0022】
(デュアルサイクルモード)
USB(「ユニバーサル・シリアル・バス)デバイス等のあるデバイスは、高いスループットを要求しないが、データを転送するためのバスマスタリング能力を要求する。この種のデバイスは、本発明のデュアルサイクルモードを用いることによりホストバスから負荷をオフすることができる。この種のデバイスは、ホストバス上でバスマスタである必要はない。代わりに、デバイスは、ホストプロセッサでアクセス可能な(ホストバス以外の)非バスマスタリング周辺専用バス上に存在しうる。
【0023】
図5は本発明による内蔵システム200用の模範的なデュアルサイクル動作モードを示すタイミング図500である。図示されたように、ホストコンピュータ210は、DMAコントローラ230のレジスタにおいて、スタートアドレスと終了カウントをプログラムすることによりDMAチャネルを確立する。DMAチャネルがセットアップされた後、デバイスは、DREQ510をアサートすることにより転送を要求する。その後、DMAコントローラ230はDACK520をアサートすることにより要求を認識し、BRQ信号530をアサートすることによりホストバス220の制御を要求する。要求が認められるとき(バスアービタ150がBGT信号540をアサートするとき)、DMAコントローラ230は、適切な制御信号550(「コントロール」)とアドレス信号560(「アドレス」)をホストバス230に伝送することにより、非バスマスタリング・デバイスからのデータ570を読み出す。その後、DMAコントローラは、適切な制御信号550とアドレス信号560をホストバス220に伝送することにより、メモリにデータ570を書き込む。データが伝送された後、DMAコントローラ230は伝送が終わったことを示すDACK520をデアサートする。DMAコントローラ230はまた、メモリからのデータを読み出し、そのデータを同一のメカニズムを利用して非バスマスタリング・デバイスに伝送する。
【0024】
上述した「拡散・集合」アプローチを利用して、複数のデバイスが同時にポーリングをすることもできる。これにより、複雑で長いデータ転送を行うプロセッサの負荷を軽減でき、バスマスタリング・デバイスのホストバスの負荷を軽減できる。
【0025】
(複数態様のDMAコントローラの付加的な効果)
本発明の一実施形態によれば、DMAコントローラはパラメータ化可能な数のチャネルをサポートし、各チャネルは動作モード用のいずれかあるいは組合せをサポートする。本実施形態のDMAコントローラは、ホストバス上でバスマスタとして機能し、システム上のすべてのデバイスと接続する能力を有する。DMAコントローラはまた、ホストバス上のゼロウェイト状態のシーケンシャル伝送用に最適化される。DMAコントローラは、もしDMAコントローラに接続される一つ以上のマスタがホストバスにアクセスを要求するならば、異なるチャネル間で調停を選択するためのプログラム可能な優先権をもつ内部アービタも内蔵可能である。
【0026】
さらに、本発明の一実施形態において、DMAコントローラは、ホストバスの全体的なアドレス可能な範囲にアクセスを行うアドレス生成ロジックを有する。バスマスタリング・デバイスの観点から必要なことは、DMAコントローラのアドレスレジスタ、終了カウントレジスタおよびデータレジスタをアクセスする能力である。例えば、10ワード深さの32ビットデータバスと内部FIFOにとって、4アドレスのみのアドレスピンは4ギガバイト空間のいずれの位置にアドレスする場合にも十分である。デバイスのファームウェアは、適切なホストアドレスをアドレスとカウントレジスタに書き込む責任がある。この技術は、図2の外部インタフェース238のように、バスマスタリング・インタフェースが外部インタフェースにあるとき特に有用である。
【0027】
しかし、本発明の他の利点は、より低い消費電力である。もし、すべてのバスマスタリング・デバイスがホストバス自体に存在すれば、バスマスタリングをサポートするたいていのプロトコルは、バスマスタがバスを監視することを要求する。例えば、バスを要求するバスエージェントが存在しないとき、アービタはデフォルトのバスマスタ上でバスをパークすることができる。このような場合、「パークされた」マスタは、バスを駆動しなければならない。しかし、これは、バスマスタリング・デバイスが電力を削減するためにシャットダウンされると、フェイルするかもしれない。あるいは、他の何らかの手段がパークされる前にバスマスタをウェイクアップするよう実装されなければならない。
【0028】
しかしながら、本発明の一実施形態によれば、DMAコントローラのホストインタフェースがすべてのチャネルに非同期であれば、ホストバス上でパークされることを心配せずに、チャネルに接続されたどのデバイスも、動作の任意の時点でオフされうる。DMAコントローラは、バスがDMAコントローラでパークされるとき、必要な信号を駆動する。さらに、ホストバスからたいていのバスマスタリング・デバイスの負荷を軽くすることは、ホストバス上の容量的な負荷を低減し、これにより、著しく電力消費を削減できる。
【0029】
本発明は、ホストバスの性能を最適化する複数チャネルで複数態様のDMAコントローラを開示した。本発明は、ホストバス上の負荷を減らし、ホストバスはより高速で走行しうる。その結果、スループットの著しい増大が達成しうる。さらに、DMA側の共有バスを用いて、DMAレジスタのみをアドレスすることで、チップに要求されるI/Oの数を減らすことができる。著しいコスト削減はまた、要求されるI/Oの数が減るとき、達成されうる。さらに、ホストバス上の負荷の数を削減することで、時間解析とレイアウトを大幅に容易にする。本発明は、特定の実施形態に基づいて説明されたが、本発明は、この種の実施形態に限定されず、特許請求の範囲に基づいて解釈される。
【図面の簡単な説明】
【図1】
内蔵されたプロセッサ・システムの一般的な実装形態を示す図。
【図2】
本発明の一実施形態による複数態様で複数チャネルの直接メモリアクセス(DMA)コントローラを有する内蔵されたコントローラシステムの模範的な実装形態を示す図。
【図3】
本発明の一実施形態によるフライバイモードで動作する、図2の内蔵されたコントローラシステムの模範的なタイミング図。
【図4】
本発明の一実施形態によるフロースルーモードで動作する、図2の内蔵されたコントローラシステムの模範的なタイミング図。
【図5】
本発明の一実施形態によるデュアルサイクルモードで動作する、図2の内蔵されたコントローラシステムの模範的なタイミング図。
【発明の属する技術分野】
本発明は、内蔵されたコンピュータシステムの一般的な技術分野に関する。特に、本発明は、内蔵されたコンピュータシステムのバスアーキテクチャの分野に属する。より詳細には、本発明は、ホストバスの性能を最適化するために複数チャネルで複数態様の直接メモリアクセスコントローラに関する。
【0002】
【従来の技術】
コンピュータシステムのバスアーキテクチャは、コンピュータシステムの動作に関連する情報と信号の多くを伝送する。一般に、ホストバスは、中央処理ユニット(CPU)をメモリに接続するために用いられ、他のバスは、CPUを入出力ユニットのような他の要素に接続するために用いられる。コンピュータシステムがプログラムを実行するとき、コンピュータをユーザにできるだけ応答性よくするために、データと情報をできるだけ高速に伝送するのが重要である。グラフィック・アダプタ、フルモーション・ビデオアダプタおよび小型コンピュータ用周辺機器インタフェース(SCSI)ホストバス・アダプタなどの多くのハードウェア応用において、大容量データを迅速に転送することが重要である。これらの応用は、高速のバス転送速度から実質的に利益を得るサブシステムの一例である。今日の多くのコンピュータシステムのアーキテクチャにおいて、上述したサブシステムの大半は、コンピュータシステムの拡張バス上にある。
【0003】
拡張バスは、コンピュータシステムに機能的な部品を追加する方法として一般に利用される。機能的な部品は、拡張バスに物理的に接続され、情報の通信および交換のために拡張バスを利用する。専用のバスを基本としたデザイン(拡張バスから動作することを特に念頭に置いたデザイン)は、一般に機能部品を内蔵する。PCI(周辺部品相互接続)は、拡張バス・アーキテクチャの業界標準の、広く知られた、広く支持されている一例である。
【0004】
しかしながら、内蔵されたコンピュータシステムにおいて、周辺デバイスは拡張バスには接続されない。むしろ、周辺デバイスは、性能の制限と他のデザイン上の要因により、プロセッサのローカルバス自体に接続されなければならない。図1は内蔵されたコンピュータシステム100の一般的な実装例を示している。内蔵されたコンピュータシステム100は、2つの他のバスマスタリング・デバイス130a〜130dと2つの他のスレーブデバイス140a〜140dでホストバス120を共有するマイクロプロセッサ110を有する。バスマスタリング・デバイス130aはまた、他のデバイスと接続するためのカスタム・インタエース135を有する。内蔵されたコントローラシステム100はまた、バスアクセス要求を調停するバスアービタ150を有する。
【0005】
図1に示す実装形態に関連する一つの問題は、バスマスタリング・デバイス130a〜130bがホストバス120上の負荷に著しく影響することである。ホストバス120上の負荷が増加すると、バス120上の容量がより大きくなる。このように、ホストバス120の時定数(τ=1/RC)が影響されうる。すなわち、ホストバス120により多くのデバイスが追加されるほど、プロセッサは遅くなる。より高い性能を達成するために、ホストバス上の負荷の数はできるだけ少なくしなければならない。結果的に、内蔵されたプロセッサシステム全体のスループットが低下する。このように、必要なことは、内蔵されたプロセッサシステムのスループットに影響することなく、ホストバス上により多くのデバイスを追加する方法およびシステムである。
【0006】
内蔵されたプロセッサシステム100に関連した他の欠点は、多くのI/Oピンがカスタムインタフェース135に必要になることである。例えば、ホストバスが32ビットのアドレスバスを持ち、アドレス可能な4GBの空間へのアクセスを提供する。カスタムインタフェース135が利用可能なメモリのすべてにアクセスする必要があるとき、カスタムインタフェースはまた、32ビットのアドレスを持たなければならず、必要とされるI/Oピンの数が増えてしまう。チップ上で利用可能なI/Oピンの数が制限されるとき、I/Oの数を著しく増やすことなく、複数のオフチップ・デバイスへの接続を与える方法とシステムが必要になる。
【0007】
また、システム100の実装の他の欠点は、ホスト120のバスが一つのマスタ(例えば、バスマスタリング・デバイス130a)により利用され、バス120へのアクセスを要求する他のマスタ(例えば、バスマスタリング・デバイス130b)が常時バスを監視しなければならないことである。時には、バス活性化の監視は、マスタがバスへのアクセスをまったく必要としなくても必要になる。電力監視の観点から、システム100の実装形態は、あまり効率的ではない。結果的に、必要なことは、非常に小さな電力を消費するインタフェースである。
【0008】
(発明の概要)
したがって、本発明は、動作のフライバイモードとフロースルーモードの両方をサポートする複数態様で複数チャネルの直接メモリアクセス(DMA)コントローラを提供することにある。本発明の一実施形態において、DMAコントローラは、以下の動作モードをサポートするバスマスタリング・デバイスである。(1)フライバイモード、(2)フロースルーモード、および/または(3)デュアルサイクルモード。本実施形態において、DMAコントローラは、低アクセス・レーテンシーを要求するデバイスの「フライバイ」モードで動作する。DMAコントローラは、ホストバスと比較して、比較的低い性能をもつデバイス用の「デュアルサイクル」モードで動作する。DMAコントローラは、高い性能をもつが、低いアクセス・レーテンシーを要求しないデバイス用の「フロースルー」モードで動作する。
【0009】
本実施形態のDMAコントローラは、パラメータ化が可能な数のチャネルをサポートし、各チャネルは上述した動作モードの一つをサポートする。本実施形態のDMAコントローラは、ホストバス上でバスマスタとして機能し、システム上のすべてのデバイスと接続する能力を有する。本実施形態のDMAコントローラはまた、ホストバス上のゼロウェイト状態のシーケンシャル伝送用に最適化される。さらに、本実施形態のDMAコントローラはまた、DMAコントローラに接続される一つのマスタがホストバスへのアクセスを要求するとき、異なるチャネル間で調停を行うプログラム可能な優先権をもつ内部アービタを備えている。
【0010】
本発明の一実施形態において、DMAコントローラは、ホストバスのアドレス可能な範囲すべてに対してアクセスを行うアドレス生成ロジックを有する。バスマスタ・デバイスの観点から必要なことは、アドレスレジスタにアクセスする能力、端子カウントレジスタ、およびDMAコントローラのデータレジスタである。本実施形態において、デバイスのファームウェアは、適切なホストアドレス範囲をアドレスとカウントレジスタに書き込む責任がある。共有バスをDMAコントローラのデバイス側で使用し、DMAレジスタのみをアドレスすることは、チップ内に要求されるI/O(入出力)の数を低減する。
【0011】
本発明の一実施形態は、上述したものを有し、さらに、制御信号とデータをデータ処理システムのホストバスで伝送するフロントエンド・インタフェースと、第1の制御信号を第1のバスマスタリング・デバイスで伝送する第1のバックエンド・インタフェースと、第2の制御信号およびデータを第2のバスマスタリング・デバイスで伝送する第2のバックエンド・インタフェースとをもつ複数態様の直接メモリアクセス(DMA)を有する。一実施形態において、第1の制御信号は、DMAコントローラをフライバイモードに入らせ、これにより、データは第1のバスマスタリング・デバイスとホストバスとの間で直接伝送される。第2の制御信号は、DMAコントローラをフロースルーモードに入らせ、これにより、データは、DMAコントローラを介して、第2のバスマスタリング・デバイスとホストバスとの間で伝送される。
【0012】
本発明の一部に組み込まれ、一部を形成する添付図面は、本発明の実施形態を示すものであり、詳細な説明の記載とともに、本発明の原理を説明するためのものである。
【0013】
(発明の好適な実施形態の詳細な説明)
以下に説明する好適な実施形態の詳細説明では、説明の目的で、本発明のさらなる理解のために、多くの具体的な詳述がなされる。しかしながら、本発明は、当業者の技術を用いれば、以下の具体的な詳述なしに実行できることは明らかである。他の例では、本発明を不明瞭にしないように、よく知られた構造およびデバイスは詳細には説明されない。
【0014】
本発明は、「フライバイ」モード、[デュアルサイクル」モード、および「フロースルー」モードで動作可能な新規の洗練された直接メモリアクセス(DMA)コントローラを備えている。本実施形態のDMAコントローラは、パラメータ化可能な数のチャネルをサポートし、各チャネルは公知の動作モードの一つをサポートするために設けられる。本実施形態のDMAコントローラは、ホストバス上のバスマスタとして作用し、システム上のすべてのデバイスと接続する能力をもつ。本発明の利点の一つは、バスマスタリング・デバイスは複数チャネルのDMAコントローラのバックエンドに接続され、ホストバス上の負荷を効率的に低減することである。ホストバス上の負荷が低下するとき、ホストバスはさらに高速度で動作可能である。したがって、システムのスループットの著しい増大を達成可能である。ホストバスから多くのバスマスタリング・デバイスの負荷を除去することは、電力消費の著しい削減につながる。本発明の他の利点は、ホストバス上の負荷の数を削減することにより、時間分析とレイアウトがより容易に実行可能になることである。さらに、DMAコントローラは、広範囲の性能要求の中でデバイスをサポートすることができる。他の利点は、本発明はシステムにより多くのデバイスを追加する簡易な手段を提供するということである。本発明のこれらの、または他の利点は以下に記載する議論からより明らかになる。
【0015】
図2は本発明による複数チャネルで複数態様のDMAコントローラを利用する模範的な内蔵されたシステムを図示している。図示されたように、内蔵されたコントローラシステム200は、複数チャネルで複数態様の直接メモリアクセス(DMA)コントローラ230を有するホストコントローラ220を共有するマイクロプロセッサ210と、2つのスレーブ・デバイス140a〜140b(例えば、ランダムアクセスメモリ「RAM」またはリードオンリーメモリ「ROM」ユニット)とを有する。複数チャネルで複数態様のDMAコントローラ230は、フロンドエンドインタフェース232を介してホストバス220に接続される。内蔵されたコントローラシステム200はまた、「フライバイ」バスマスタリング・デバイス240と「フロースルー」バスマスタリング・デバイス250とを有する。ある実施形態において、DMAコントローラ230はまた、外部デバイスと接続されるバックエンドインタフェース238を有する。
【0016】
本実施形態において、「フライバイ」バスマスタリング・デバイス240は、データを伝送するために直接ホストバス220に接続される。しかしながら、「フライバイ」バスマスタリング・デバイス240の制御信号は、ホストバス220に直接には伝送されない。むしろ、「フライバイ」バスマスタリング・デバイス240の制御信号は、DMAコントローラ230に接続されるバックエンド・インタフェース234に伝送を行う。「フロースルー」バスマスタリング・デバイス250は、他のバックエンド・インタフェース236を介してDMAコントローラ230を介して間接的にホストバス220に接続される。
【0017】
本実施形態によれば、DMAコントローラ230は、以下の動作モード、(1)フライバイ、(2)フロースルー、(3)デュアルサイクル・モード、をサポートするバスマスタリング・デバイスである。
【0018】
(フライバイモード)
本発明のフライバイモードは、ホストバス上のアクセスレーテンシーを容認できないデバイスに適している。図3は内蔵されたコントローラシステム200の模範的なフライバイモードの動作を示すタイミング図300である。フライバイモードにおいて、「フライバイ」バスマスタリング・デバイス240は、DMAコントローラ230の(不図示の)レジスタ内のスタートアドレスと終了アドレスをプログラムし、DREQ1信号310をアサートする。DMAコントローラ230は、DACK1信号320をアサートすることにより、その要求を認識し、またBRQ1信号340をバスアービタ150にアサートする。DMAコントローラ230がホストバス220を獲得する(BGT1信号350はバスアービタ150によりアサートされる)ないなや、DMAコントローラ230は有効なデバイス制御信号234をアサートする。「フライバイ」バスマスタリング・デバイス240が有効なデバイス制御信号234を受信するやいなや、DMAコントローラ230は、ホストバス220上で直接、データの駆動(書き込みサイクル)やデータのサンプリング(読み出しサイクル)を開始するかもしれない。
【0019】
タイミング図300において、メモリ書き込み動作が行われる。すなわち、BGT1信号350がアサートされるやいなや、DMAコントローラ230は、DREAD1信号330を「フライバイ」バスマスタリング・デバイス240に伝送し、バス制御信号360(「コントロールA」)とアドレス信号370(「アドレスA」)をホストバス220に伝送することにより、「フライバイ」バスマスタリングデバイス240とメモリとの間で直接DMAチャネルを確立する。その後、データ信号380(「データA」)は、バスマスタリング・デバイス240からホストバス220に伝送される。
【0020】
フライバイモードの動作において、バスマスタリング・デバイス240はまだ、ホストバス220上で負荷として動作するけれども、負荷の効果は、クリティカルでない信号のみ、すなわちデータバスのみである。他の制御すべては、DMAコントローラ230により操作される。この種のデバイスのレーテンシー非寛容のために、バス220にウェイト状態は挿入されない。したがって、たいていの信号は、ホストバス220から結合的に駆動される。さらに、本発明の一実施形態によれば、フライバイモードの動作がデータバス上に負荷を追加することになるため、著しい性能の要求を有するデバイスのみに推奨される。
【0021】
(フライバイモード)
一般に、最小のアクセスレーテンシーに耐えうるデバイスはフロースルーモードを利用できる。図4は本発明による内蔵システム200の模範的なフロースルーモードの動作を示すタイミング図400である。図示されたように、「フロースルー」バスマスタリング・デバイス250は、DMAコントローラ230への信号DREQ2410をアサートする。その後、DMAコントローラ230はその要求を認識するためにDACK2信号420をアサートし、かつDREAD2信号430をアサートし、(不図示の)FIFOに格納するために、デバイス250からDMAコントローラ230にデータを転送する。DMAコントローラ230内のFIFOの一部がスレッショルドレベルになるやいなや、DMAコントローラ230はホストバス220の制御を要求するためにBRQ2信号をアサートする。バスの獲得(アービタによりアサートされるBGT2信号460)の後、DMAコントローラ230はバス制御信号470(「コントロールB」)とアドレス信号480(「アドレスB」)をホストバス220に伝送する。その後、データ信号490(「データB」)はDMAコントローラ230からホストバス220に伝送される。例えば、ホストバス220がアイドリングであり、DMAコントローラ230とバスマスタリング・デバイス250が同期していれば、必要なレーテンシーは1クロックサイクルのみである。図4に示された例において、一つのFIFOスレッショルドが実装される。図4に示す模範的な実装形態はまた、デバイスからデータの有効性を予期することにより、また、デバイスを同時に認識するようホストシステムバスに要求することにより、フロースルー・レーテンシーを低減しようとする。
【0022】
(デュアルサイクルモード)
USB(「ユニバーサル・シリアル・バス)デバイス等のあるデバイスは、高いスループットを要求しないが、データを転送するためのバスマスタリング能力を要求する。この種のデバイスは、本発明のデュアルサイクルモードを用いることによりホストバスから負荷をオフすることができる。この種のデバイスは、ホストバス上でバスマスタである必要はない。代わりに、デバイスは、ホストプロセッサでアクセス可能な(ホストバス以外の)非バスマスタリング周辺専用バス上に存在しうる。
【0023】
図5は本発明による内蔵システム200用の模範的なデュアルサイクル動作モードを示すタイミング図500である。図示されたように、ホストコンピュータ210は、DMAコントローラ230のレジスタにおいて、スタートアドレスと終了カウントをプログラムすることによりDMAチャネルを確立する。DMAチャネルがセットアップされた後、デバイスは、DREQ510をアサートすることにより転送を要求する。その後、DMAコントローラ230はDACK520をアサートすることにより要求を認識し、BRQ信号530をアサートすることによりホストバス220の制御を要求する。要求が認められるとき(バスアービタ150がBGT信号540をアサートするとき)、DMAコントローラ230は、適切な制御信号550(「コントロール」)とアドレス信号560(「アドレス」)をホストバス230に伝送することにより、非バスマスタリング・デバイスからのデータ570を読み出す。その後、DMAコントローラは、適切な制御信号550とアドレス信号560をホストバス220に伝送することにより、メモリにデータ570を書き込む。データが伝送された後、DMAコントローラ230は伝送が終わったことを示すDACK520をデアサートする。DMAコントローラ230はまた、メモリからのデータを読み出し、そのデータを同一のメカニズムを利用して非バスマスタリング・デバイスに伝送する。
【0024】
上述した「拡散・集合」アプローチを利用して、複数のデバイスが同時にポーリングをすることもできる。これにより、複雑で長いデータ転送を行うプロセッサの負荷を軽減でき、バスマスタリング・デバイスのホストバスの負荷を軽減できる。
【0025】
(複数態様のDMAコントローラの付加的な効果)
本発明の一実施形態によれば、DMAコントローラはパラメータ化可能な数のチャネルをサポートし、各チャネルは動作モード用のいずれかあるいは組合せをサポートする。本実施形態のDMAコントローラは、ホストバス上でバスマスタとして機能し、システム上のすべてのデバイスと接続する能力を有する。DMAコントローラはまた、ホストバス上のゼロウェイト状態のシーケンシャル伝送用に最適化される。DMAコントローラは、もしDMAコントローラに接続される一つ以上のマスタがホストバスにアクセスを要求するならば、異なるチャネル間で調停を選択するためのプログラム可能な優先権をもつ内部アービタも内蔵可能である。
【0026】
さらに、本発明の一実施形態において、DMAコントローラは、ホストバスの全体的なアドレス可能な範囲にアクセスを行うアドレス生成ロジックを有する。バスマスタリング・デバイスの観点から必要なことは、DMAコントローラのアドレスレジスタ、終了カウントレジスタおよびデータレジスタをアクセスする能力である。例えば、10ワード深さの32ビットデータバスと内部FIFOにとって、4アドレスのみのアドレスピンは4ギガバイト空間のいずれの位置にアドレスする場合にも十分である。デバイスのファームウェアは、適切なホストアドレスをアドレスとカウントレジスタに書き込む責任がある。この技術は、図2の外部インタフェース238のように、バスマスタリング・インタフェースが外部インタフェースにあるとき特に有用である。
【0027】
しかし、本発明の他の利点は、より低い消費電力である。もし、すべてのバスマスタリング・デバイスがホストバス自体に存在すれば、バスマスタリングをサポートするたいていのプロトコルは、バスマスタがバスを監視することを要求する。例えば、バスを要求するバスエージェントが存在しないとき、アービタはデフォルトのバスマスタ上でバスをパークすることができる。このような場合、「パークされた」マスタは、バスを駆動しなければならない。しかし、これは、バスマスタリング・デバイスが電力を削減するためにシャットダウンされると、フェイルするかもしれない。あるいは、他の何らかの手段がパークされる前にバスマスタをウェイクアップするよう実装されなければならない。
【0028】
しかしながら、本発明の一実施形態によれば、DMAコントローラのホストインタフェースがすべてのチャネルに非同期であれば、ホストバス上でパークされることを心配せずに、チャネルに接続されたどのデバイスも、動作の任意の時点でオフされうる。DMAコントローラは、バスがDMAコントローラでパークされるとき、必要な信号を駆動する。さらに、ホストバスからたいていのバスマスタリング・デバイスの負荷を軽くすることは、ホストバス上の容量的な負荷を低減し、これにより、著しく電力消費を削減できる。
【0029】
本発明は、ホストバスの性能を最適化する複数チャネルで複数態様のDMAコントローラを開示した。本発明は、ホストバス上の負荷を減らし、ホストバスはより高速で走行しうる。その結果、スループットの著しい増大が達成しうる。さらに、DMA側の共有バスを用いて、DMAレジスタのみをアドレスすることで、チップに要求されるI/Oの数を減らすことができる。著しいコスト削減はまた、要求されるI/Oの数が減るとき、達成されうる。さらに、ホストバス上の負荷の数を削減することで、時間解析とレイアウトを大幅に容易にする。本発明は、特定の実施形態に基づいて説明されたが、本発明は、この種の実施形態に限定されず、特許請求の範囲に基づいて解釈される。
【図面の簡単な説明】
【図1】
内蔵されたプロセッサ・システムの一般的な実装形態を示す図。
【図2】
本発明の一実施形態による複数態様で複数チャネルの直接メモリアクセス(DMA)コントローラを有する内蔵されたコントローラシステムの模範的な実装形態を示す図。
【図3】
本発明の一実施形態によるフライバイモードで動作する、図2の内蔵されたコントローラシステムの模範的なタイミング図。
【図4】
本発明の一実施形態によるフロースルーモードで動作する、図2の内蔵されたコントローラシステムの模範的なタイミング図。
【図5】
本発明の一実施形態によるデュアルサイクルモードで動作する、図2の内蔵されたコントローラシステムの模範的なタイミング図。
Claims (18)
- ホストプロセッサと、
前記プロセッサに接続されるホストバスと、
前記ホストバスに接続されるメモリユニットと、
前記ホストバスに接続される複数態様の直接メモリアクセス(DMA)コントローラと、を備え、
前記DMAコントローラは、バスマスタリング機能をもち、フライバイモード、フロースルーモードおよびデュアルサイクルモードで動作可能であることを特徴とするデータ処理システム。 - 前記ホストバスと前記DMAコントローラとに接続され第1のバスマスタリング・デバイスをさらに備え、
前記第1のバスマスタリング・デバイスは、前記DMAコントローラに第1の制御信号を伝送することにより、前記DMAコントローラを前記フライバイモードに移行させ、前記第1のバスマスタリング・デバイスは、前記DMAコントローラが前記フライバイモードで動作するとき、前記ホストバスに直接データを伝送することを特徴とする請求項1に記載のデータ処理システム。 - 前記DMAコントローラに接続される第2のバスマスタリング・デバイスをさらに備え、
前記第2のバスマスタリング・デバイスは、前記DMAコントローラに第2のバス制御信号を伝送することにより、前記DMAコントローラを前記フロースルーモードに移行させ、前記第2のバスマスタリング・デバイスは、前記DMAコントローラが前記フロースルーモードで動作するとき、前記DMAコントローラを介して前記ホストバスにデータを伝送することを特徴とする請求項2に記載のデータ処理システム。 - 前記DMAコントローラは、前記DMAコントローラが前記デュアルサイクルモードで動作するとき、非バスマスタリング・デバイスと前記メモリユニットとの間でデータを伝送することを特徴とする請求項3に記載のデータ処理システム。
- 前記DMAコントローラは、複数のDMAチャネルをサポートすることを特徴とする請求項1に記載のデータ処理システム。
- 前記DMAコントローラは、プログラム可能な優先権をもち、複数のDMAチャネルのうちの一つとの間で調停を行うことを特徴とする請求項5に記載のデータ処理システム。
- 前記DMAコントローラは、前記ホストバス上でゼロ・ウェイト状態のシーケンシャル伝送を行うことを特徴とする請求項1に記載のデータ処理システム。
- 前記DMAコントローラは、前記ホストバスの全体的なアドレス可能な範囲をアクセスするアドレス生成ロジックを有することを特徴とする請求項1に記載のデータ処理システム。
- 前記DMAコントローラは、外部デバイスに接続する外部インタフェースを有することを特徴とする請求項1に記載のデータ処理システム。
- 前記ホストバスの制御を調停する、前記ホストプロセッサと前記DMAコントローラとの間に接続されるホストバスアービタをさらに備えることを特徴とする請求項1に記載のデータ処理システム。
- データ処理システムのホストバスで制御信号とデータを伝送するフロントエンド・インタフェースと、
第1のバスマスタリング・デバイスで第1の制御信号を伝送し、前記第1の制御信号は前記DMAコントローラをフライバイモードに移行させるように機能し、前記フライバイモード時に前記第1のバスマスタリング・デバイスと前記ホストバスとの間でデータが直接伝送される、第1のバックエンド・インタフェースと、
第2のバスマスタリング・デバイスで第2の制御信号とデータを伝送し、前記第2の制御信号は前記DMAコントローラをフロースルーモードに移行させ、前記フロースルーモード時に前記第2のバスマスタリング・デバイスと前記ホストバスとの間で前記DMAコントローラを介してデータが伝送される、第2のバックエンド・インタフェースと、を備えることを特徴とするDMAコントローラ。 - 前記DMAコントローラがデュアルサイクルモードのとき、前記フロントエンド・インタフェースは、前記ホストバスに接続される非バスマスタリング・デバイスとメモリユニットとの間でデータを伝送するように機能することを特徴とする請求項11に記載のDMAコントローラ。
- 前記DMAコントローラは、前記フロントエンド・インタフェースと前記第1のバックエンド・インタフェースとの間の第1のDMAチャネルと、前記フロントエンド・インタフェースと前記第2のバックエンド・インタフェースとの間の第2のDMAチャネルと、を有することを特徴とする請求項11に記載のDMAコントローラ。
- 前記DMAコントローラは、プログラム可能な優先権をもち前記第1のDMAチャネルと前記第2のDMAチャネルとの間で調停を行う内部アービタを有することを特徴とする請求項13に記載のDMAコントローラ。
- 前記DMAコントローラは、前記ホストバス上でゼロウェイト状態のシーケンシャル伝送を行うことを特徴とする請求項11に記載のDMAコントローラ。
- 前記ホストバスのアドレス可能な範囲すべてをアクセスするアドレス生成ロジックをさらに備えることを特徴とする請求項11に記載のDMAコントローラ。
- 外部デバイスに接続する外部インタフェースを備えることを特徴とする請求項11に記載のDMAコントローラ。
- 前記ホストバスに接続される前記DMAコントローラとプロセッサ・ユニットとの間で前記ホストバスの制御を調停するバスアービタで伝送を行うインタフェースをさらに備えることを特徴とする請求項11に記載のDMAコントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/593,448 US6658502B1 (en) | 2000-06-13 | 2000-06-13 | Multi-channel and multi-modal direct memory access controller for optimizing performance of host bus |
PCT/US2001/018761 WO2001097046A2 (en) | 2000-06-13 | 2001-06-11 | Multi-mode direct memory access controller and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004503871A true JP2004503871A (ja) | 2004-02-05 |
Family
ID=24374749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002511182A Withdrawn JP2004503871A (ja) | 2000-06-13 | 2001-06-11 | 直接メモリアクセス・コントローラおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6658502B1 (ja) |
EP (1) | EP1295210B1 (ja) |
JP (1) | JP2004503871A (ja) |
DE (1) | DE60120700T2 (ja) |
WO (1) | WO2001097046A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103974854A (zh) * | 2011-12-08 | 2014-08-06 | 宝马股份公司 | 用于机动车的通信装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7107374B1 (en) * | 2001-09-05 | 2006-09-12 | Xilinx, Inc. | Method for bus mastering for devices resident in configurable system logic |
US7478186B1 (en) * | 2004-06-03 | 2009-01-13 | Integrated Device Technology, Inc. | Interrupt coalescer for DMA channel |
US20060031603A1 (en) * | 2004-08-09 | 2006-02-09 | Bradfield Travis A | Multi-threaded/multi-issue DMA engine data transfer system |
EP1801700B1 (en) * | 2005-12-23 | 2013-06-26 | Texas Instruments Inc. | Method and systems to restrict usage of a DMA channel |
CN114297105B (zh) * | 2021-12-29 | 2024-04-05 | 合肥市芯海电子科技有限公司 | 一种直接存储器访问的嵌入式控制电路、芯片和电子设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4523310A (en) * | 1983-01-28 | 1985-06-11 | Gould Computer Systems Inc. | Synchronous communications multiplexer |
DE69119149T2 (de) | 1990-07-06 | 1997-01-16 | Nippon Electric Co | Struktur zur direkten Speicher-zu-Speicher-Übertragung |
US5805927A (en) | 1994-01-28 | 1998-09-08 | Apple Computer, Inc. | Direct memory access channel architecture and method for reception of network information |
US5768550A (en) | 1995-11-21 | 1998-06-16 | International Business Machines Corporation | Bus interface logic system |
US5896513A (en) * | 1996-07-03 | 1999-04-20 | Intel Corporation | Computer system providing a universal architecture adaptive to a variety of processor types and bus protocols |
US5764934A (en) * | 1996-07-03 | 1998-06-09 | Intel Corporation | Processor subsystem for use with a universal computer architecture |
US5845107A (en) * | 1996-07-03 | 1998-12-01 | Intel Corporation | Signaling protocol conversion between a processor and a high-performance system bus |
US6289023B1 (en) * | 1997-09-25 | 2001-09-11 | Hewlett-Packard Company | Hardware checksum assist for network protocol stacks |
US6055584A (en) | 1997-11-20 | 2000-04-25 | International Business Machines Corporation | Processor local bus posted DMA FlyBy burst transfers |
KR19990043773A (ko) * | 1997-11-29 | 1999-06-15 | 정선종 | 직접 메모리 액세스 제어기 |
US6202106B1 (en) * | 1998-09-09 | 2001-03-13 | Xilinx, Inc. | Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller |
-
2000
- 2000-06-13 US US09/593,448 patent/US6658502B1/en not_active Expired - Lifetime
-
2001
- 2001-06-11 DE DE60120700T patent/DE60120700T2/de not_active Expired - Lifetime
- 2001-06-11 EP EP01944419A patent/EP1295210B1/en not_active Expired - Lifetime
- 2001-06-11 JP JP2002511182A patent/JP2004503871A/ja not_active Withdrawn
- 2001-06-11 WO PCT/US2001/018761 patent/WO2001097046A2/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103974854A (zh) * | 2011-12-08 | 2014-08-06 | 宝马股份公司 | 用于机动车的通信装置 |
CN103974854B (zh) * | 2011-12-08 | 2015-11-25 | 宝马股份公司 | 用于机动车的通信装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2001097046A3 (en) | 2002-04-04 |
US6658502B1 (en) | 2003-12-02 |
EP1295210B1 (en) | 2006-06-14 |
DE60120700T2 (de) | 2007-05-31 |
WO2001097046A2 (en) | 2001-12-20 |
DE60120700D1 (de) | 2006-07-27 |
EP1295210A2 (en) | 2003-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6363439B1 (en) | System and method for point-to-point serial communication between a system interface device and a bus interface device in a computer system | |
JP3838278B2 (ja) | コンピュータ・システムの2つのバス間のブリッジ回路 | |
KR970000842B1 (ko) | 정보 처리 시스템 및 컴퓨터 시스템 | |
JP2642027B2 (ja) | コンピュータ・システム、アービトレーション方法及びアービトレーション装置 | |
US6493803B1 (en) | Direct memory access controller with channel width configurability support | |
US6199134B1 (en) | Computer system with bridge logic that asserts a system management interrupt signal when an address is made to a trapped address and which also completes the cycle to the target address | |
US5517650A (en) | Bridge for a power managed computer system with multiple buses and system arbitration | |
US6356963B1 (en) | Long latency interrupt handling and input/output write posting | |
US6070215A (en) | Computer system with improved transition to low power operation | |
US6772263B1 (en) | PCI arbiter with hot plug controller support | |
US5954809A (en) | Circuit for handling distributed arbitration in a computer system having multiple arbiters | |
US20030172310A1 (en) | Low power system and method for a data processing system | |
KR20010071327A (ko) | 버스 브리지 및 유효 폭 설정 방법 | |
US6272580B1 (en) | Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system | |
US7327370B2 (en) | Memory controller hub interface | |
US6567881B1 (en) | Method and apparatus for bridging a digital signal processor to a PCI bus | |
US6247087B1 (en) | Bus system for shadowing registers | |
JPH10198629A (ja) | Pci−pci間のトランザクション通信方法及び装置 | |
US5933613A (en) | Computer system and inter-bus control circuit | |
US6519670B1 (en) | Method and system for optimizing a host bus that directly interfaces to a 16-bit PCMCIA host bus adapter | |
US6240522B1 (en) | Clock run controller | |
US6625683B1 (en) | Automatic early PCI transaction retry | |
JP2004503871A (ja) | 直接メモリアクセス・コントローラおよび方法 | |
US5797018A (en) | Apparatus and method of preventing a deadlock condition in a computer system | |
US5838930A (en) | Method and apparatus for controlling a command cycle on a bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080609 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080626 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090917 |