(57)【要約】【課題】フライバイモード、デュアルサイクルモードおよびフロースルーモードのいずれかで動作可能な新規で洗練されたＤＭＡコントローラ。【解決手段】一実施形態のＤＭＡコントローラは、パラメータ化可能な数のチャネルをサポートし、各チャネルは上述した動作モードの一つをサポートする。一実施形態のＤＭＡコントローラは、ホストバス上のバスマスタとして作用し、システム上の全デバイスと接続する能力をもつ。一実施形態のＤＭＡコントローラは、ホストバス上でゼロウェイト状態のシーケンシャル伝送を行うために最適化される。一実施形態のＤＭＡコントローラはまた、ＤＭＡコントローラに接続される一つ以上のマスタがホストバスへのアクセスを要求するとき、異なるチャネルの間での調停を選択するためのプログラム可能な優先権をもつ内部アービタを内蔵する。本発明の利点は、バスマスタ・デバイスはホストバスの負荷を軽減するため、システムの性能が著しく改善されることである。他の利点は、本発明がシステムにより多くのデバイスを追加する簡易な手段を有することである。【選択図】図１
2004503871.tif 000002
【特許請求の範囲】
【請求項１】
ホストプロセッサと、
前記プロセッサに接続されるホストバスと、
前記ホストバスに接続されるメモリユニットと、
前記ホストバスに接続される複数態様の直接メモリアクセス（ＤＭＡ）コントローラと、を備え、
前記ＤＭＡコントローラは、バスマスタリング機能をもち、フライバイモード、フロースルーモードおよびデュアルサイクルモードで動作可能であることを特徴とするデータ処理システム。
【請求項２】
前記ホストバスと前記ＤＭＡコントローラとに接続され第１のバスマスタリング・デバイスをさらに備え、
前記第１のバスマスタリング・デバイスは、前記ＤＭＡコントローラに第１の制御信号を伝送することにより、前記ＤＭＡコントローラを前記フライバイモードに移行させ、前記第１のバスマスタリング・デバイスは、前記ＤＭＡコントローラが前記フライバイモードで動作するとき、前記ホストバスに直接データを伝送することを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記ＤＭＡコントローラに接続される第２のバスマスタリング・デバイスをさらに備え、
前記第２のバスマスタリング・デバイスは、前記ＤＭＡコントローラに第２のバス制御信号を伝送することにより、前記ＤＭＡコントローラを前記フロースルーモードに移行させ、前記第２のバスマスタリング・デバイスは、前記ＤＭＡコントローラが前記フロースルーモードで動作するとき、前記ＤＭＡコントローラを介して前記ホストバスにデータを伝送することを特徴とする請求項２に記載のデータ処理システム。
【請求項４】
前記ＤＭＡコントローラは、前記ＤＭＡコントローラが前記デュアルサイクルモードで動作するとき、非バスマスタリング・デバイスと前記メモリユニットとの間でデータを伝送することを特徴とする請求項３に記載のデータ処理システム。
【請求項５】
前記ＤＭＡコントローラは、複数のＤＭＡチャネルをサポートすることを特徴とする請求項１に記載のデータ処理システム。
【請求項６】
前記ＤＭＡコントローラは、プログラム可能な優先権をもち、複数のＤＭＡチャネルのうちの一つとの間で調停を行うことを特徴とする請求項５に記載のデータ処理システム。
【請求項７】
前記ＤＭＡコントローラは、前記ホストバス上でゼロ・ウェイト状態のシーケンシャル伝送を行うことを特徴とする請求項１に記載のデータ処理システム。
【請求項８】
前記ＤＭＡコントローラは、前記ホストバスの全体的なアドレス可能な範囲をアクセスするアドレス生成ロジックを有することを特徴とする請求項１に記載のデータ処理システム。
【請求項９】
前記ＤＭＡコントローラは、外部デバイスに接続する外部インタフェースを有することを特徴とする請求項１に記載のデータ処理システム。
【請求項１０】
前記ホストバスの制御を調停する、前記ホストプロセッサと前記ＤＭＡコントローラとの間に接続されるホストバスアービタをさらに備えることを特徴とする請求項１に記載のデータ処理システム。
【請求項１１】
データ処理システムのホストバスで制御信号とデータを伝送するフロントエンド・インタフェースと、
第１のバスマスタリング・デバイスで第１の制御信号を伝送し、前記第１の制御信号は前記ＤＭＡコントローラをフライバイモードに移行させるように機能し、前記フライバイモード時に前記第１のバスマスタリング・デバイスと前記ホストバスとの間でデータが直接伝送される、第１のバックエンド・インタフェースと、
第２のバスマスタリング・デバイスで第２の制御信号とデータを伝送し、前記第２の制御信号は前記ＤＭＡコントローラをフロースルーモードに移行させ、前記フロースルーモード時に前記第２のバスマスタリング・デバイスと前記ホストバスとの間で前記ＤＭＡコントローラを介してデータが伝送される、第２のバックエンド・インタフェースと、を備えることを特徴とするＤＭＡコントローラ。
【請求項１２】
前記ＤＭＡコントローラがデュアルサイクルモードのとき、前記フロントエンド・インタフェースは、前記ホストバスに接続される非バスマスタリング・デバイスとメモリユニットとの間でデータを伝送するように機能することを特徴とする請求項１１に記載のＤＭＡコントローラ。
【請求項１３】
前記ＤＭＡコントローラは、前記フロントエンド・インタフェースと前記第１のバックエンド・インタフェースとの間の第１のＤＭＡチャネルと、前記フロントエンド・インタフェースと前記第２のバックエンド・インタフェースとの間の第２のＤＭＡチャネルと、を有することを特徴とする請求項１１に記載のＤＭＡコントローラ。
【請求項１４】
前記ＤＭＡコントローラは、プログラム可能な優先権をもち前記第１のＤＭＡチャネルと前記第２のＤＭＡチャネルとの間で調停を行う内部アービタを有することを特徴とする請求項１３に記載のＤＭＡコントローラ。
【請求項１５】
前記ＤＭＡコントローラは、前記ホストバス上でゼロウェイト状態のシーケンシャル伝送を行うことを特徴とする請求項１１に記載のＤＭＡコントローラ。
【請求項１６】
前記ホストバスのアドレス可能な範囲すべてをアクセスするアドレス生成ロジックをさらに備えることを特徴とする請求項１１に記載のＤＭＡコントローラ。
【請求項１７】
外部デバイスに接続する外部インタフェースを備えることを特徴とする請求項１１に記載のＤＭＡコントローラ。
【請求項１８】
前記ホストバスに接続される前記ＤＭＡコントローラとプロセッサ・ユニットとの間で前記ホストバスの制御を調停するバスアービタで伝送を行うインタフェースをさらに備えることを特徴とする請求項１１に記載のＤＭＡコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内蔵されたコンピュータシステムの一般的な技術分野に関する。特に、本発明は、内蔵されたコンピュータシステムのバスアーキテクチャの分野に属する。より詳細には、本発明は、ホストバスの性能を最適化するために複数チャネルで複数態様の直接メモリアクセスコントローラに関する。
【０００２】
【従来の技術】
コンピュータシステムのバスアーキテクチャは、コンピュータシステムの動作に関連する情報と信号の多くを伝送する。一般に、ホストバスは、中央処理ユニット（ＣＰＵ）をメモリに接続するために用いられ、他のバスは、ＣＰＵを入出力ユニットのような他の要素に接続するために用いられる。コンピュータシステムがプログラムを実行するとき、コンピュータをユーザにできるだけ応答性よくするために、データと情報をできるだけ高速に伝送するのが重要である。グラフィック・アダプタ、フルモーション・ビデオアダプタおよび小型コンピュータ用周辺機器インタフェース（ＳＣＳＩ）ホストバス・アダプタなどの多くのハードウェア応用において、大容量データを迅速に転送することが重要である。これらの応用は、高速のバス転送速度から実質的に利益を得るサブシステムの一例である。今日の多くのコンピュータシステムのアーキテクチャにおいて、上述したサブシステムの大半は、コンピュータシステムの拡張バス上にある。
【０００３】
拡張バスは、コンピュータシステムに機能的な部品を追加する方法として一般に利用される。機能的な部品は、拡張バスに物理的に接続され、情報の通信および交換のために拡張バスを利用する。専用のバスを基本としたデザイン（拡張バスから動作することを特に念頭に置いたデザイン）は、一般に機能部品を内蔵する。ＰＣＩ（周辺部品相互接続）は、拡張バス・アーキテクチャの業界標準の、広く知られた、広く支持されている一例である。
【０００４】
しかしながら、内蔵されたコンピュータシステムにおいて、周辺デバイスは拡張バスには接続されない。むしろ、周辺デバイスは、性能の制限と他のデザイン上の要因により、プロセッサのローカルバス自体に接続されなければならない。図１は内蔵されたコンピュータシステム１００の一般的な実装例を示している。内蔵されたコンピュータシステム１００は、２つの他のバスマスタリング・デバイス１３０ａ〜１３０ｄと２つの他のスレーブデバイス１４０ａ〜１４０ｄでホストバス１２０を共有するマイクロプロセッサ１１０を有する。バスマスタリング・デバイス１３０ａはまた、他のデバイスと接続するためのカスタム・インタエース１３５を有する。内蔵されたコントローラシステム１００はまた、バスアクセス要求を調停するバスアービタ１５０を有する。
【０００５】
図１に示す実装形態に関連する一つの問題は、バスマスタリング・デバイス１３０ａ〜１３０ｂがホストバス１２０上の負荷に著しく影響することである。ホストバス１２０上の負荷が増加すると、バス１２０上の容量がより大きくなる。このように、ホストバス１２０の時定数（τ＝１／ＲＣ）が影響されうる。すなわち、ホストバス１２０により多くのデバイスが追加されるほど、プロセッサは遅くなる。より高い性能を達成するために、ホストバス上の負荷の数はできるだけ少なくしなければならない。結果的に、内蔵されたプロセッサシステム全体のスループットが低下する。このように、必要なことは、内蔵されたプロセッサシステムのスループットに影響することなく、ホストバス上により多くのデバイスを追加する方法およびシステムである。
【０００６】
内蔵されたプロセッサシステム１００に関連した他の欠点は、多くのＩ／Ｏピンがカスタムインタフェース１３５に必要になることである。例えば、ホストバスが３２ビットのアドレスバスを持ち、アドレス可能な４ＧＢの空間へのアクセスを提供する。カスタムインタフェース１３５が利用可能なメモリのすべてにアクセスする必要があるとき、カスタムインタフェースはまた、３２ビットのアドレスを持たなければならず、必要とされるＩ／Ｏピンの数が増えてしまう。チップ上で利用可能なＩ／Ｏピンの数が制限されるとき、Ｉ／Ｏの数を著しく増やすことなく、複数のオフチップ・デバイスへの接続を与える方法とシステムが必要になる。
【０００７】
また、システム１００の実装の他の欠点は、ホスト１２０のバスが一つのマスタ（例えば、バスマスタリング・デバイス１３０ａ）により利用され、バス１２０へのアクセスを要求する他のマスタ（例えば、バスマスタリング・デバイス１３０ｂ）が常時バスを監視しなければならないことである。時には、バス活性化の監視は、マスタがバスへのアクセスをまったく必要としなくても必要になる。電力監視の観点から、システム１００の実装形態は、あまり効率的ではない。結果的に、必要なことは、非常に小さな電力を消費するインタフェースである。
【０００８】
（発明の概要）
したがって、本発明は、動作のフライバイモードとフロースルーモードの両方をサポートする複数態様で複数チャネルの直接メモリアクセス（ＤＭＡ）コントローラを提供することにある。本発明の一実施形態において、ＤＭＡコントローラは、以下の動作モードをサポートするバスマスタリング・デバイスである。（１）フライバイモード、（２）フロースルーモード、および／または（３）デュアルサイクルモード。本実施形態において、ＤＭＡコントローラは、低アクセス・レーテンシーを要求するデバイスの「フライバイ」モードで動作する。ＤＭＡコントローラは、ホストバスと比較して、比較的低い性能をもつデバイス用の「デュアルサイクル」モードで動作する。ＤＭＡコントローラは、高い性能をもつが、低いアクセス・レーテンシーを要求しないデバイス用の「フロースルー」モードで動作する。
【０００９】
本実施形態のＤＭＡコントローラは、パラメータ化が可能な数のチャネルをサポートし、各チャネルは上述した動作モードの一つをサポートする。本実施形態のＤＭＡコントローラは、ホストバス上でバスマスタとして機能し、システム上のすべてのデバイスと接続する能力を有する。本実施形態のＤＭＡコントローラはまた、ホストバス上のゼロウェイト状態のシーケンシャル伝送用に最適化される。さらに、本実施形態のＤＭＡコントローラはまた、ＤＭＡコントローラに接続される一つのマスタがホストバスへのアクセスを要求するとき、異なるチャネル間で調停を行うプログラム可能な優先権をもつ内部アービタを備えている。
【００１０】
本発明の一実施形態において、ＤＭＡコントローラは、ホストバスのアドレス可能な範囲すべてに対してアクセスを行うアドレス生成ロジックを有する。バスマスタ・デバイスの観点から必要なことは、アドレスレジスタにアクセスする能力、端子カウントレジスタ、およびＤＭＡコントローラのデータレジスタである。本実施形態において、デバイスのファームウェアは、適切なホストアドレス範囲をアドレスとカウントレジスタに書き込む責任がある。共有バスをＤＭＡコントローラのデバイス側で使用し、ＤＭＡレジスタのみをアドレスすることは、チップ内に要求されるＩ／Ｏ（入出力）の数を低減する。
【００１１】
本発明の一実施形態は、上述したものを有し、さらに、制御信号とデータをデータ処理システムのホストバスで伝送するフロントエンド・インタフェースと、第１の制御信号を第１のバスマスタリング・デバイスで伝送する第１のバックエンド・インタフェースと、第２の制御信号およびデータを第２のバスマスタリング・デバイスで伝送する第２のバックエンド・インタフェースとをもつ複数態様の直接メモリアクセス（ＤＭＡ）を有する。一実施形態において、第１の制御信号は、ＤＭＡコントローラをフライバイモードに入らせ、これにより、データは第１のバスマスタリング・デバイスとホストバスとの間で直接伝送される。第２の制御信号は、ＤＭＡコントローラをフロースルーモードに入らせ、これにより、データは、ＤＭＡコントローラを介して、第２のバスマスタリング・デバイスとホストバスとの間で伝送される。
【００１２】
本発明の一部に組み込まれ、一部を形成する添付図面は、本発明の実施形態を示すものであり、詳細な説明の記載とともに、本発明の原理を説明するためのものである。
【００１３】
（発明の好適な実施形態の詳細な説明）
以下に説明する好適な実施形態の詳細説明では、説明の目的で、本発明のさらなる理解のために、多くの具体的な詳述がなされる。しかしながら、本発明は、当業者の技術を用いれば、以下の具体的な詳述なしに実行できることは明らかである。他の例では、本発明を不明瞭にしないように、よく知られた構造およびデバイスは詳細には説明されない。
【００１４】
本発明は、「フライバイ」モード、［デュアルサイクル」モード、および「フロースルー」モードで動作可能な新規の洗練された直接メモリアクセス（ＤＭＡ）コントローラを備えている。本実施形態のＤＭＡコントローラは、パラメータ化可能な数のチャネルをサポートし、各チャネルは公知の動作モードの一つをサポートするために設けられる。本実施形態のＤＭＡコントローラは、ホストバス上のバスマスタとして作用し、システム上のすべてのデバイスと接続する能力をもつ。本発明の利点の一つは、バスマスタリング・デバイスは複数チャネルのＤＭＡコントローラのバックエンドに接続され、ホストバス上の負荷を効率的に低減することである。ホストバス上の負荷が低下するとき、ホストバスはさらに高速度で動作可能である。したがって、システムのスループットの著しい増大を達成可能である。ホストバスから多くのバスマスタリング・デバイスの負荷を除去することは、電力消費の著しい削減につながる。本発明の他の利点は、ホストバス上の負荷の数を削減することにより、時間分析とレイアウトがより容易に実行可能になることである。さらに、ＤＭＡコントローラは、広範囲の性能要求の中でデバイスをサポートすることができる。他の利点は、本発明はシステムにより多くのデバイスを追加する簡易な手段を提供するということである。本発明のこれらの、または他の利点は以下に記載する議論からより明らかになる。
【００１５】
図２は本発明による複数チャネルで複数態様のＤＭＡコントローラを利用する模範的な内蔵されたシステムを図示している。図示されたように、内蔵されたコントローラシステム２００は、複数チャネルで複数態様の直接メモリアクセス（ＤＭＡ）コントローラ２３０を有するホストコントローラ２２０を共有するマイクロプロセッサ２１０と、２つのスレーブ・デバイス１４０ａ〜１４０ｂ（例えば、ランダムアクセスメモリ「ＲＡＭ」またはリードオンリーメモリ「ＲＯＭ」ユニット）とを有する。複数チャネルで複数態様のＤＭＡコントローラ２３０は、フロンドエンドインタフェース２３２を介してホストバス２２０に接続される。内蔵されたコントローラシステム２００はまた、「フライバイ」バスマスタリング・デバイス２４０と「フロースルー」バスマスタリング・デバイス２５０とを有する。ある実施形態において、ＤＭＡコントローラ２３０はまた、外部デバイスと接続されるバックエンドインタフェース２３８を有する。
【００１６】
本実施形態において、「フライバイ」バスマスタリング・デバイス２４０は、データを伝送するために直接ホストバス２２０に接続される。しかしながら、「フライバイ」バスマスタリング・デバイス２４０の制御信号は、ホストバス２２０に直接には伝送されない。むしろ、「フライバイ」バスマスタリング・デバイス２４０の制御信号は、ＤＭＡコントローラ２３０に接続されるバックエンド・インタフェース２３４に伝送を行う。「フロースルー」バスマスタリング・デバイス２５０は、他のバックエンド・インタフェース２３６を介してＤＭＡコントローラ２３０を介して間接的にホストバス２２０に接続される。
【００１７】
本実施形態によれば、ＤＭＡコントローラ２３０は、以下の動作モード、（１）フライバイ、（２）フロースルー、（３）デュアルサイクル・モード、をサポートするバスマスタリング・デバイスである。
【００１８】
（フライバイモード）
本発明のフライバイモードは、ホストバス上のアクセスレーテンシーを容認できないデバイスに適している。図３は内蔵されたコントローラシステム２００の模範的なフライバイモードの動作を示すタイミング図３００である。フライバイモードにおいて、「フライバイ」バスマスタリング・デバイス２４０は、ＤＭＡコントローラ２３０の（不図示の）レジスタ内のスタートアドレスと終了アドレスをプログラムし、ＤＲＥＱ１信号３１０をアサートする。ＤＭＡコントローラ２３０は、ＤＡＣＫ１信号３２０をアサートすることにより、その要求を認識し、またＢＲＱ１信号３４０をバスアービタ１５０にアサートする。ＤＭＡコントローラ２３０がホストバス２２０を獲得する（ＢＧＴ１信号３５０はバスアービタ１５０によりアサートされる）ないなや、ＤＭＡコントローラ２３０は有効なデバイス制御信号２３４をアサートする。「フライバイ」バスマスタリング・デバイス２４０が有効なデバイス制御信号２３４を受信するやいなや、ＤＭＡコントローラ２３０は、ホストバス２２０上で直接、データの駆動（書き込みサイクル）やデータのサンプリング（読み出しサイクル）を開始するかもしれない。
【００１９】
タイミング図３００において、メモリ書き込み動作が行われる。すなわち、ＢＧＴ１信号３５０がアサートされるやいなや、ＤＭＡコントローラ２３０は、ＤＲＥＡＤ１信号３３０を「フライバイ」バスマスタリング・デバイス２４０に伝送し、バス制御信号３６０（「コントロールＡ」）とアドレス信号３７０（「アドレスＡ」）をホストバス２２０に伝送することにより、「フライバイ」バスマスタリングデバイス２４０とメモリとの間で直接ＤＭＡチャネルを確立する。その後、データ信号３８０（「データＡ」）は、バスマスタリング・デバイス２４０からホストバス２２０に伝送される。
【００２０】
フライバイモードの動作において、バスマスタリング・デバイス２４０はまだ、ホストバス２２０上で負荷として動作するけれども、負荷の効果は、クリティカルでない信号のみ、すなわちデータバスのみである。他の制御すべては、ＤＭＡコントローラ２３０により操作される。この種のデバイスのレーテンシー非寛容のために、バス２２０にウェイト状態は挿入されない。したがって、たいていの信号は、ホストバス２２０から結合的に駆動される。さらに、本発明の一実施形態によれば、フライバイモードの動作がデータバス上に負荷を追加することになるため、著しい性能の要求を有するデバイスのみに推奨される。
【００２１】
（フライバイモード）
一般に、最小のアクセスレーテンシーに耐えうるデバイスはフロースルーモードを利用できる。図４は本発明による内蔵システム２００の模範的なフロースルーモードの動作を示すタイミング図４００である。図示されたように、「フロースルー」バスマスタリング・デバイス２５０は、ＤＭＡコントローラ２３０への信号ＤＲＥＱ２４１０をアサートする。その後、ＤＭＡコントローラ２３０はその要求を認識するためにＤＡＣＫ２信号４２０をアサートし、かつＤＲＥＡＤ２信号４３０をアサートし、（不図示の）ＦＩＦＯに格納するために、デバイス２５０からＤＭＡコントローラ２３０にデータを転送する。ＤＭＡコントローラ２３０内のＦＩＦＯの一部がスレッショルドレベルになるやいなや、ＤＭＡコントローラ２３０はホストバス２２０の制御を要求するためにＢＲＱ２信号をアサートする。バスの獲得（アービタによりアサートされるＢＧＴ２信号４６０）の後、ＤＭＡコントローラ２３０はバス制御信号４７０（「コントロールＢ」）とアドレス信号４８０（「アドレスＢ」）をホストバス２２０に伝送する。その後、データ信号４９０（「データＢ」）はＤＭＡコントローラ２３０からホストバス２２０に伝送される。例えば、ホストバス２２０がアイドリングであり、ＤＭＡコントローラ２３０とバスマスタリング・デバイス２５０が同期していれば、必要なレーテンシーは１クロックサイクルのみである。図４に示された例において、一つのＦＩＦＯスレッショルドが実装される。図４に示す模範的な実装形態はまた、デバイスからデータの有効性を予期することにより、また、デバイスを同時に認識するようホストシステムバスに要求することにより、フロースルー・レーテンシーを低減しようとする。
【００２２】
（デュアルサイクルモード）
ＵＳＢ（「ユニバーサル・シリアル・バス）デバイス等のあるデバイスは、高いスループットを要求しないが、データを転送するためのバスマスタリング能力を要求する。この種のデバイスは、本発明のデュアルサイクルモードを用いることによりホストバスから負荷をオフすることができる。この種のデバイスは、ホストバス上でバスマスタである必要はない。代わりに、デバイスは、ホストプロセッサでアクセス可能な（ホストバス以外の）非バスマスタリング周辺専用バス上に存在しうる。
【００２３】
図５は本発明による内蔵システム２００用の模範的なデュアルサイクル動作モードを示すタイミング図５００である。図示されたように、ホストコンピュータ２１０は、ＤＭＡコントローラ２３０のレジスタにおいて、スタートアドレスと終了カウントをプログラムすることによりＤＭＡチャネルを確立する。ＤＭＡチャネルがセットアップされた後、デバイスは、ＤＲＥＱ５１０をアサートすることにより転送を要求する。その後、ＤＭＡコントローラ２３０はＤＡＣＫ５２０をアサートすることにより要求を認識し、ＢＲＱ信号５３０をアサートすることによりホストバス２２０の制御を要求する。要求が認められるとき（バスアービタ１５０がＢＧＴ信号５４０をアサートするとき）、ＤＭＡコントローラ２３０は、適切な制御信号５５０（「コントロール」）とアドレス信号５６０（「アドレス」）をホストバス２３０に伝送することにより、非バスマスタリング・デバイスからのデータ５７０を読み出す。その後、ＤＭＡコントローラは、適切な制御信号５５０とアドレス信号５６０をホストバス２２０に伝送することにより、メモリにデータ５７０を書き込む。データが伝送された後、ＤＭＡコントローラ２３０は伝送が終わったことを示すＤＡＣＫ５２０をデアサートする。ＤＭＡコントローラ２３０はまた、メモリからのデータを読み出し、そのデータを同一のメカニズムを利用して非バスマスタリング・デバイスに伝送する。
【００２４】
上述した「拡散・集合」アプローチを利用して、複数のデバイスが同時にポーリングをすることもできる。これにより、複雑で長いデータ転送を行うプロセッサの負荷を軽減でき、バスマスタリング・デバイスのホストバスの負荷を軽減できる。
【００２５】
（複数態様のＤＭＡコントローラの付加的な効果）
本発明の一実施形態によれば、ＤＭＡコントローラはパラメータ化可能な数のチャネルをサポートし、各チャネルは動作モード用のいずれかあるいは組合せをサポートする。本実施形態のＤＭＡコントローラは、ホストバス上でバスマスタとして機能し、システム上のすべてのデバイスと接続する能力を有する。ＤＭＡコントローラはまた、ホストバス上のゼロウェイト状態のシーケンシャル伝送用に最適化される。ＤＭＡコントローラは、もしＤＭＡコントローラに接続される一つ以上のマスタがホストバスにアクセスを要求するならば、異なるチャネル間で調停を選択するためのプログラム可能な優先権をもつ内部アービタも内蔵可能である。
【００２６】
さらに、本発明の一実施形態において、ＤＭＡコントローラは、ホストバスの全体的なアドレス可能な範囲にアクセスを行うアドレス生成ロジックを有する。バスマスタリング・デバイスの観点から必要なことは、ＤＭＡコントローラのアドレスレジスタ、終了カウントレジスタおよびデータレジスタをアクセスする能力である。例えば、１０ワード深さの３２ビットデータバスと内部ＦＩＦＯにとって、４アドレスのみのアドレスピンは４ギガバイト空間のいずれの位置にアドレスする場合にも十分である。デバイスのファームウェアは、適切なホストアドレスをアドレスとカウントレジスタに書き込む責任がある。この技術は、図２の外部インタフェース２３８のように、バスマスタリング・インタフェースが外部インタフェースにあるとき特に有用である。
【００２７】
しかし、本発明の他の利点は、より低い消費電力である。もし、すべてのバスマスタリング・デバイスがホストバス自体に存在すれば、バスマスタリングをサポートするたいていのプロトコルは、バスマスタがバスを監視することを要求する。例えば、バスを要求するバスエージェントが存在しないとき、アービタはデフォルトのバスマスタ上でバスをパークすることができる。このような場合、「パークされた」マスタは、バスを駆動しなければならない。しかし、これは、バスマスタリング・デバイスが電力を削減するためにシャットダウンされると、フェイルするかもしれない。あるいは、他の何らかの手段がパークされる前にバスマスタをウェイクアップするよう実装されなければならない。
【００２８】
しかしながら、本発明の一実施形態によれば、ＤＭＡコントローラのホストインタフェースがすべてのチャネルに非同期であれば、ホストバス上でパークされることを心配せずに、チャネルに接続されたどのデバイスも、動作の任意の時点でオフされうる。ＤＭＡコントローラは、バスがＤＭＡコントローラでパークされるとき、必要な信号を駆動する。さらに、ホストバスからたいていのバスマスタリング・デバイスの負荷を軽くすることは、ホストバス上の容量的な負荷を低減し、これにより、著しく電力消費を削減できる。
【００２９】
本発明は、ホストバスの性能を最適化する複数チャネルで複数態様のＤＭＡコントローラを開示した。本発明は、ホストバス上の負荷を減らし、ホストバスはより高速で走行しうる。その結果、スループットの著しい増大が達成しうる。さらに、ＤＭＡ側の共有バスを用いて、ＤＭＡレジスタのみをアドレスすることで、チップに要求されるＩ／Ｏの数を減らすことができる。著しいコスト削減はまた、要求されるＩ／Ｏの数が減るとき、達成されうる。さらに、ホストバス上の負荷の数を削減することで、時間解析とレイアウトを大幅に容易にする。本発明は、特定の実施形態に基づいて説明されたが、本発明は、この種の実施形態に限定されず、特許請求の範囲に基づいて解釈される。
【図面の簡単な説明】
【図１】
内蔵されたプロセッサ・システムの一般的な実装形態を示す図。
【図２】
本発明の一実施形態による複数態様で複数チャネルの直接メモリアクセス（ＤＭＡ）コントローラを有する内蔵されたコントローラシステムの模範的な実装形態を示す図。
【図３】
本発明の一実施形態によるフライバイモードで動作する、図２の内蔵されたコントローラシステムの模範的なタイミング図。
【図４】
本発明の一実施形態によるフロースルーモードで動作する、図２の内蔵されたコントローラシステムの模範的なタイミング図。
【図５】
本発明の一実施形態によるデュアルサイクルモードで動作する、図２の内蔵されたコントローラシステムの模範的なタイミング図。
【図１】
2004503871.tif 000003
【図２】
2004503871.tif 000004
【図３】
2004503871.tif 000005
【図４】
2004503871.tif 000006
【図５】
2004503871.tif 000007
【国際公開パンフレット】
2004503871.tif 000008
2004503871.tif 000009
2004503871.tif 000010
2004503871.tif 000011
2004503871.tif 000012
2004503871.tif 000013
2004503871.tif 000014
2004503871.tif 000015
2004503871.tif 000016
2004503871.tif 000017
2004503871.tif 000018
2004503871.tif 000019
2004503871.tif 000020
2004503871.tif 000021
2004503871.tif 000022
2004503871.tif 000023
2004503871.tif 000024
2004503871.tif 000025
2004503871.tif 000026
2004503871.tif 000027
2004503871.tif 000028
2004503871.tif 000029
2004503871.tif 000030
2004503871.tif 000031
【国際公開パンフレット（コレクトバージョン）】
2004503871.tif 000032
【国際公開パンフレット（コレクトバージョン）】
2004503871.tif 000033
【国際調査報告】
2004503871.tif 000034
2004503871.tif 000035
2004503871.tif 000036