(57)【要約】【課題】ディスクリプタチェーン情報の処理に関するオーバーヘッドを低減して、十分なデータ転送効率を実現することが可能なＩ／Ｏコントローラを実現する。【解決手段】ＤＭＡコントローラ１０１は、ＴＤチェーンを格納するためのＴＤチェーン格納部１０２を内蔵している。ＴＤチェーン格納部１０２は、ＣＰＵ１１からライトアクセス可能に構成されている。ＤＭＡコントローラ１０１は、ＣＰＵ１１によってＴＤチェーン格納部１０２に書き込まれたＴＤチェーンに含まれる複数の転送ディスクリプタを順次処理することにより、メインメモリ１２とＩ／Ｏデバイス１４との間の一連のデータ転送を直接メモリアクセスによって実行する。【選択図】      図１
2006259898.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサからの要求に応じてメモリとＩ／Ｏデバイスとの間のデータ転送を実行するＩ／Ｏコントローラであって、
前記プロセッサからライトアクセス可能に構成され、前記プロセッサによって書き込まれる、実行すべきデータ転送の内容をそれぞれ記述した複数のディスクリプタを含むディスクリプタチェーン情報を格納する格納部と、
前記格納部に格納されたディスクリプタチェーン情報に含まれる前記複数のディスクリプタを順次処理して、前記メモリに格納されたデータを前記Ｉ／Ｏデバイスに転送するための一連のデータ転送を直接メモリアクセスによって実行するデータ転送制御部とを具備することを特徴とするＩ／Ｏコントローラ。
【請求項２】
前記メモリは映像データを構成するフレームデータ群の内のＮ（Ｎ＞１）個のフレームデータをそれぞれ格納するＮ個の記憶エリアを含み、前記ディスクリプタチェーン情報は前記Ｎ個の記憶エリアを転送元としてそれぞれ指示するＮ個のディスクリプタを含み、
前記データ転送制御部は、前記メモリから前記Ｉ／Ｏデバイスへの前記映像データの転送を実行するために、前記ディスクリプタチェーン情報を繰り返し処理するように構成されていることを特徴とする請求項１記載のＩ／Ｏコントローラ。
【請求項３】
前記Ｉ／Ｏデバイスは、前記メモリから転送される前記映像データを表示装置に出力するように構成されていることを特徴とする請求項２記載のＩ／Ｏコントローラ。
【請求項４】
前記メモリは、第１の映像データを構成するフレームデータ群の内のＮ（Ｎ＞１）個のフレームデータをそれぞれ格納するＮ個の第１記憶エリアと、第２の映像データを構成するフレームデータ群の内のＭ（Ｍ＞１）個のフレームデータをそれぞれ格納するＭ個の第２記憶エリアとを含み、前記ディスクリプタチェーン情報は、前記Ｎ個の第１記憶エリアを転送元としてそれぞれ指示するＮ個の第１ディスクリプタを含む第１ディスクリプタチェーン情報と、前記Ｍ個の第２記憶エリアを転送元としてそれぞれ指示する前記Ｍ個の第２ディスクリプタを含む第２ディスクリプタチェーン情報とを含み、
前記データ転送制御部は、
前記メモリから前記Ｉ／Ｏデバイスへの前記第１映像データの転送を直接メモリアクセスによって実行するために、前記第１ディスクリプタチェーン情報を繰り返し処理する第１の転送処理部と、
前記メモリから前記Ｉ／Ｏデバイスへの前記第２映像データの転送を直接メモリアクセスによって実行するために、前記第２ディスクリプタチェーン情報を繰り返し処理する第２の転送処理部とを含むことを特徴とする請求項１記載のＩ／Ｏコントローラ。
【請求項５】
前記Ｉ／Ｏデバイスは、前記メモリから転送される前記第１映像データを第１表示装置に出力し、且つ前記メモリから転送される前記第２映像データを第２表示装置に出力するように構成されていることを特徴とする請求項４記載のＩ／Ｏコントローラ。
【請求項６】
前記メモリは映像データを格納するビデオメモリであり、
メインメモリに格納された転送対象の映像データを、前記メインメモリから前記ビデオメモリに転送するための一連のデータ転送を直接メモリアクセスによって実行する手段をさらに具備し、
前記データ転送制御部は、前記格納部に格納されたディスクリプタチェーン情報に含まれる前記複数のディスクリプタを順次処理して、前記ビデオメモリに格納された前記映像データを前記Ｉ／Ｏデバイスに転送するための一連のデータ転送を直接メモリアクセスによって実行するように構成されていることを特徴とする請求項１記載のＩ／Ｏコントローラ。
【請求項７】
各種データ処理を実行するプロセッサと、
Ｉ／Ｏデバイスと、
メモリと、
前記プロセッサに結合され、前記プロセッサからの要求に応じて前記メモリから前記Ｉ／Ｏデバイスへのデータ転送を実行するＩ／Ｏコントローラであって、前記プロセッサからライトアクセス可能に構成され、前記プロセッサによって書き込まれる、実行すべきデータ転送の内容をそれぞれ記述した複数のディスクリプタを含むディスクリプタチェーン情報を格納する格納部と、前記格納部に格納されたディスクリプタチェーン情報に含まれる前記複数のディスクリプタを順次処理することによって、前記メモリに格納されたデータを前記Ｉ／Ｏデバイスに転送するための一連のデータ転送を直接メモリアクセスによって実行するデータ転送制御部とを含むＩ／Ｏコントローラとを具備することを特徴とする信号処理システム。
【請求項８】
前記メモリは映像データを構成するフレームデータ群の内のＮ（Ｎ＞１）個のフレームデータをそれぞれ格納するＮ個の記憶エリアを含み、前記ディスクリプタチェーン情報は前記Ｎ個の記憶エリアを転送元としてそれぞれ指示するＮ個のディスクリプタを含み、
前記データ転送制御部は、前記メモリから前記Ｉ／Ｏデバイスへの前記映像データの転送を実行するために、前記ディスクリプタチェーン情報を繰り返し処理するように構成されていることを特徴とする請求項７記載の信号処理システム。
【請求項９】
前記Ｉ／Ｏデバイスは、前記メモリから転送される前記映像データを表示装置に出力するように構成されていることを特徴とする請求項８記載の信号処理システム。
【請求項１０】
前記メモリは、第１の映像データを構成するフレームデータ群の内のＮ（Ｎ＞１）個のフレームデータをそれぞれ格納するＮ個の第１記憶エリアと、第２の映像データを構成するフレームデータ群の内のＭ（Ｍ＞１）個のフレームデータをそれぞれ格納するＭ個の第２記憶エリアとを含み、前記ディスクリプタチェーン情報は、前記Ｎ個の第１記憶エリアを転送元としてそれぞれ指示するＮ個の第１ディスクリプタを含む第１ディスクリプタチェーン情報と、前記Ｍ個の第２記憶エリアを転送元としてそれぞれ指示する前記Ｍ個の第２ディスクリプタを含む第２ディスクリプタチェーン情報とを含み、
前記データ転送制御部は、
前記メモリから前記Ｉ／Ｏデバイスへの前記第１映像データの転送を直接メモリアクセスによって実行するために、前記第１ディスクリプタチェーン情報を繰り返し処理する第１の転送処理部と、
前記メモリから前記Ｉ／Ｏデバイスへの前記第２映像データの転送を直接メモリアクセスによって実行するために、前記第２ディスクリプタチェーン情報を繰り返し処理する第２の転送処理部とを含むことを特徴とする請求項７記載の信号処理システム。
【請求項１１】
前記メモリは映像データを格納するビデオメモリであり、
前記Ｉ／Ｏコントローラは、前記信号処理システムのメインメモリに格納された転送対象の映像データを、前記メインメモリから前記ビデオメモリに転送するための一連のデータ転送を直接メモリアクセスによって実行する手段を含み、
前記データ転送制御部は、前記格納部に格納されたディスクリプタチェーン情報に含まれる前記複数のディスクリプタを順次処理して、前記ビデオメモリに格納された前記映像データを前記Ｉ／Ｏデバイスに転送するための一連のデータ転送を直接メモリアクセスによって実行するように構成されていることを特徴とする請求項７記載の信号処理システム。
【請求項１２】
プロセッサから要求された、メモリからＩ／Ｏデバイスへのデータ転送を直接メモリアクセスによって実行するデータ転送方法であって、
実行すべきデータ転送の内容をそれぞれ記述した複数のディスクリプタを含むディスクリプタチェーン情報を、前記直接メモリアクセスを実行するように構成されたコントローラ内のローカル格納部に書き込むステップと、
前記ローカル格納部に書き込まれたディスクリプタチェーン情報に含まれる前記複数のディスクリプタを前記コントローラが順次処理することによって、前記メモリに格納されたデータを前記Ｉ／Ｏデバイスに転送するための一連のデータ転送を直接メモリアクセスによって実行するデータ転送ステップとを具備することを特徴とするデータ転送方法。
【請求項１３】
前記メモリは映像データを構成するフレームデータ群の内のＮ（Ｎ＞１）個のフレームデータをそれぞれ格納するＮ個の記憶エリアを含み、前記ディスクリプタチェーン情報は前記Ｎ個の記憶エリアを転送元としてそれぞれ指示するＮ個のディスクリプタを含むことを特徴とする請求項１２記載のデータ転送方法。
【請求項１４】
前記メモリは映像データを格納するビデオメモリであり、
メインメモリに格納された転送対象の映像データを、前記メインメモリから前記ビデオメモリに転送するための一連のデータ転送を直接メモリアクセスによって実行するステップをさらに具備し、
前記データ転送ステップは、前記格納部に格納されたディスクリプタチェーン情報に含まれる前記複数のディスクリプタを順次処理して、前記ビデオメモリに格納された前記映像データを前記Ｉ／Ｏデバイスに転送するための一連のデータ転送を直接メモリアクセスによって実行するステップを含むことを特徴とする請求項１２記載のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリからＩ／Ｏデバイスへのデータ転送を実行するためのＩ／Ｏコントローラ、信号処理システム、およびデータ転送方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ、ＡＶ（オーディオ・ビデオ）機器のような各種信号処理システムが開発されている。これら信号処理システムにおいては、ＡＶデータのような大容量のデータストリームの転送を効率よく実行するために、直接メモリアクセス（ＤＭＡ）転送が用いられている。
【０００３】
ところで、最近では、ディスクリプタチェーン情報を用いてＤＭＡ転送を実行するという、いわゆるディスクリプタベースＤＭＡ（descriptor based DMA）が使用され始めている。ディスクリプタチェーン情報は、連鎖された複数の転送ディスクリプタ（または単にディスクリプタと称される）から構成されている。各転送ディスクリプタは、実行すべきデータ転送の内容を記述した転送情報である。ディスクリプタチェーン情報は、ＤＭＡ転送を開始する前に、ソフトウェアによってメインメモリ上に用意される。
【０００４】
ＤＭＡコントローラは、メインメモリから現在の転送ディスクリプタをリードし、そのリードした転送ディスクリプタに従ってＤＭＡ転送を実行する。このＤＭＡ転送が完了したとき、ＤＭＡコントローラは、メインメモリから次の転送ディスクリプタをリードする。このようにして、ディスクリプタチェーン情報に含まれる転送ディスクリプタの数に相当する一連のデータ転送がＤＭＡコントローラによって自動的に実行される。
【０００５】
しかし、ＤＭＡコントローラは、ＤＭＡ転送の実行の度に、メインメモリから転送ディスクリプタをリードしなければならない。このメモリリード動作は、ディスクリプタチェーン情報の処理に関するオーバーヘッドおよびメモリバス使用率を増大させる原因となる。
【０００６】
特許文献１には、ＤＭＡ転送を実行するＩ／Ｏコントローラが開示されている。このＩ／Ｏコントローラは、転送情報をそれぞれ含む２つのチャンネル制御ブロック（ＣＣＢ）をメインメモリからリードして、Ｉ／Ｏコントローラ内のレジスタにセットする。
【特許文献１】特開平６−２３６３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１のＩ／Ｏコントローラにおいても、転送情報を得るためにはメインメモリをリードアクセスしなければならない。このため、転送情報の処理に関するオーバーヘッドおよびメモリバス使用率を低減することはできない。
【０００８】
本発明は上述の事情を考慮してなされたものであり、ディスクリプタチェーン情報の処理に関するオーバーヘッドを低減して十分なデータ転送効率とバスの帯域確保とを実現することが可能なＩ／Ｏコントローラ、信号処理システム、およびデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するため、本発明は、プロセッサからの要求に応じてメモリとＩ／Ｏデバイスとの間のデータ転送を実行するＩ／Ｏコントローラであって、前記プロセッサからライトアクセス可能に構成され、前記プロセッサによって書き込まれる、実行すべきデータ転送の内容をそれぞれ記述した複数のディスクリプタを含むディスクリプタチェーン情報を格納する格納部と、前記格納部に格納されたディスクリプタチェーン情報に含まれる前記複数のディスクリプタを順次処理することによって、前記メモリに格納されたデータを前記Ｉ／Ｏデバイスに転送するための一連のデータ転送を直接メモリアクセスによって実行するデータ転送制御部とを具備することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ディスクリプタチェーン情報の処理に関するオーバーヘッドを低減することができ、十分なデータ転送効率とバスの帯域確保とを実現することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施形態を説明する。
【００１２】
図１には、本発明の一実施形態に係る信号処理システムの構成例が示されている。この信号処理システムはデジタル信号を扱うシステムであり、たとえばパーソナルコンピュータ、ＴＶ、ＡＶ機器等として実現されている。
【００１３】
この信号処理システムは、ＣＰＵ（Central Processing Unit）１１、メインメモリ１２、Ｉ／Ｏコントローラ１３、およびＩ／Ｏデバイス１４を備えている。これら各コンポーネントはバス１０に接続されている。
【００１４】
ＣＰＵ１１は各種データ処理を実行するプロセッサであり、この信号処理システムの動作を制御する。メインメモリ１２はＣＰＵ１１によって実行されるプログラムおよびＣＰＵ１１によって処理されるデータを格納するメモリ装置である。Ｉ／Ｏコントローラ１３は、Ｉ／Ｏデバイス１４を制御する。このＩ／Ｏコントローラ１３は、ＣＰＵ１１からの要求に応じて、メインメモリ１２とＩ／Ｏデバイス１４との間のデータ転送を直接メモリアクセス（ＤＭＡ）によって実行する。この直接メモリアクセス（ＤＭＡ）を実行するために、Ｉ／Ｏコントローラ１３は、ＤＭＡコントローラ（ＤＭＡＣ）１０１を備えている。
【００１５】
このＤＭＡコントローラ（ＤＭＡＣ）１０１はいわゆるディスクリプタベースのＤＭＡ転送（descriptor based DMA）を実行するコントローラであり、転送ディスクリプタＴＤ（または単にディスクリプタと称する）に従ってＤＭＡ転送を実行する。すなわち、ＤＭＡコントローラ１０１によるＤＭＡ転送は、ディスクリプタチェーン情報（ＴＤチェーン）にしたがって実行される。ディスクリプタチェーン情報は、実行すべき複数のデータ転送の内容を記述した情報であり、当該複数のデータ転送の内容をそれぞれ記述した複数の転送ディスクリプタから構成されている。これら複数の転送ディスクリプタは連鎖されている。
【００１６】
ＤＭＡコントローラ１０１は、ＴＤチェーンを格納するためのＴＤチェーン格納部１０２を内蔵している。ＴＤチェーン格納部１０２は、ＣＰＵ１１からライトアクセス可能に構成されている。ＴＤチェーン格納部１０２は、ＣＰＵ１１によって書き込まれるＴＤチェーンを格納する。ＴＤチェーン格納部１０２は、レジスタまたはローカルメモリから構成されている。
【００１７】
ＤＭＡコントローラ１０１は、ＣＰＵ１１によってＴＤチェーン格納部１０２に書き込まれたＴＤチェーンに含まれる複数の転送ディスクリプタを順次処理することにより、メインメモリ１２とＩ／Ｏデバイス１４との間の一連のデータ転送を直接メモリアクセスによって実行する。
【００１８】
このように、本実施形態の信号処理システムにおいては、ＴＤチェーンは、Ｉ／Ｏコントローラ１３のＤＭＡコントローラ１０１内部に保持される。このため、Ｉ／Ｏコントローラ１３は、メインメモリ１２から現在の転送ディスクリプタＴＤをＤＭＡ転送の度にリードするメモリリード動作を実行する必要がなくなり、これによりＴＤチェーンの処理に関するオーバーヘッドを大幅に軽減することが可能となる。さらに、ＴＤリードのためのメモリアクセスはローカル処理となりバス１０のアクセスは行われないため、バス１０の帯域確保を実現することができる。
【００１９】
次に、メインメモリ１２とＩ／Ｏデバイス１４との間のデータ転送動作について説明する。
【００２０】
（１）  ＣＰＵ１１は、ＤＭＡを実施する前に、ＴＤチェーンをＤＭＡＣ１０１内部のＴＤチェーン格納部１０２に書き込む。この後、ＣＰＵ１１は、例えばＤＭＡＣ１０１内の制御レジスタにコマンドを発行することなどによって、ＤＭＡＣ１０１にデータ転送の開始を指示する。
【００２１】
（２）（３）  ＤＭＡＣ１０１はＴＤチェーン格納部１０２に格納されたＴＤチェーンに含まれる転送ディスクリプタを参照して、データ転送のソースおよびデスティネーションを決定する。そして、ＤＭＡＣ１０１は、ＤＭＡ転送を開始する。例えば、ソースがメインメモリ１２で、デスティネーションがＩ／Ｏデバイス１４である場合、ＤＭＡＣ１０１は、メインメモリ１２からデータをリードし、そのリードしたデータをＩ／Ｏデバイス１４にライトする。逆に、ソースがＩ／Ｏデバイス１４で、デスティネーションがメインメモリ１２である場合、ＤＭＡＣ１０１は、Ｉ／Ｏデバイス１４からデータをリードし、そのリードしたデータをメインメモリ１２にライトする。
【００２２】
図２は、ＴＤチェーン格納部１０２に格納されるＴＤチェーンの構造を示している。
【００２３】
ＴＤチェーンに含まれる転送ディスクリプタ（ＴＤ＃１，ＴＤ＃２，ＴＤ＃３，…）の各々は実行すべきデータ転送の内容を記述した転送情報である。各転送ディスクリプタ（ＴＤ）は、ソースアドレス（ＳＲＣ＿ＡＤＤＲ）フィールド２０１、デスティネーションアドレス（ＴＲＧ＿ＡＤＤＲ）フィールド２０２、転送サイズ（ＴＲ＿ＳＩＸＥ）フィールド２０３、およびポインタ（ＮＥＸＴ＿ＴＤ）フィールド２０４から構成されている。
【００２４】
ソースアドレス（ＳＲＣ＿ＡＤＤＲ）フィールド２０１は転送対象のデータが格納されているアドレスを示し、またデスティネーションアドレス（ＴＲＧ＿ＡＤＤＲ）フィールド２０２はデータの転送先位置のアドレスを示す。転送サイズ（ＴＲ＿ＳＩＸＥ）フィールド２０３は、転送対象のデータのデータサイズを示す。
【００２５】
ポインタ（ＮＥＸＴ＿ＴＤ）フィールド２０４は、次のＴＤが格納されている位置を示す。例えば、ＴＤ＃１のポインタ（ＮＥＸＴ＿ＴＤ）フィールド２０４はＴＤ＃２の先頭アドレスを示し、ＴＤ＃２のポインタ（ＮＥＸＴ＿ＴＤ）フィールド２０４はＴＤ＃３の先頭アドレスを示す。
【００２６】
図３には、本信号処理システムをデジタルＴＶ放送受信機に適用した場合のシステム構成例が示されている。
【００２７】
図３においては、ＣＰＵ１１は、メインメモリ１２を制御するメモリコントローラを内蔵するプロセッサとして実現されている。Ｉ／Ｏコントローラ１３は、プロセッサバス１０を介してＣＰＵ１１に接続されている。Ｉ／Ｏコントローラ１３は、ＴＶチューナ２１、ビデオメモリ２２、および表示コントローラ２３を制御する。
【００２８】
ＴＶチューナ２１はデジタル放送番組データを受信する受信装置である。デジタル放送番組データは、ＭＰＥＧ２等によって圧縮符号化された映像データを含むトランスポートストリームから構成されている。ＴＶチューナ２１によって受信されたトランスポートストリームは、Ｉ／Ｏコントローラ１３を介してＣＰＵ１１に送られる。ＣＰＵ１１は、トランスポートストリーム内に含まれる圧縮符号化された映像データをデコードする。このデコード処理はメインメモリ１２上で行われる。デコードされた映像データは、メインメモリ１２からビデオメモリ２２に転送される。ビデオメモリ２２はＩ／Ｏコントローラ１３に接続されたローカルメモリであり、表示対象の映像データを格納するバッファとして使用される。ビデオメモリ２２には、例えば、８フレーム分の映像データが格納される。ビデオメモリ２２は、ＣＰＵ１１がアクセス可能なメモリアドレス空間上にマッピングされている。
【００２９】
ＤＭＡＣ１０１は、ＣＰＵ１１によってＴＤチェーン格納部１０２に書き込まれたＴＤチェーンに含まれる複数の転送ディスクリプタＴＤを順次処理することにより、ビデオメモリ２２に格納された映像データを表示コントローラ２３に転送するための一連のデータ転送を直接メモリアクセスによって実行する。表示コントローラ２３は、ビデオメモリ２２から転送される映像データを表示装置に出力するＩ／Ｏデバイスである。この表示コントローラ２３は、ビデオメモリ２２から転送される映像データに対応する映像出力信号を生成し、その映像出力信号をＴＶモニタのような表示装置に出力する。
【００３０】
ビデオメモリ２２から表示コントローラ２３への映像データの転送動作は画面リフレッシュ動作の一部であるので、映像データの再生を制御するソフトウェアは、この転送動作の成功／失敗を管理する必要はない。すなわち、ソフトウェアは、映像データをビデオメモリ２２に転送する動作までを管理すればよい。よって、ＤＭＡＣ１０１は、１つの転送ディスクリプタＴＤの処理が完了する度に、その転送完了をＣＰＵ１１に通知する必要はない。
【００３１】
ＤＭＡＣがメインメモリから転送ディスクリプタＴＤをリードするという仕組みを用いた通常のシステムにおいては、ＤＭＡＣは、転送完了を示すステータスフラグをメインメモリ上の転送ディスクリプタＴＤに書き込むことによって、転送ディスクリプタＴＤの処理完了をＣＰＵに通知する。
【００３２】
図３のシステムにおいては、転送ディスクリプタＴＤの処理完了をＣＰＵ１１に通知する必要がないので、メインメモリ１２上に転送ディスクリプタＴＤを用意しなくてもよい。このため、図３のシステムは、ＴＤチェーンをＤＭＡＣ１０１内に保持するという本実施形態のＩ／Ｏコントローラ１３の構成にとって好適である。
【００３３】
図４には、図３のシステムに適用されるＩ／Ｏコントローラ１３の構成例が示されている。
【００３４】
Ｉ／Ｏコントローラ１３は、ＤＭＡＣ１０１に加え、内部バス２００、プロセッサインタフェース２１１、ＤＭＡＣ２１２、およびメモリコントローラ２１３を備えている。プロセッサインタフェース２１１はプロセッサバス１０を介してＣＰＵ１１との通信を実行する。ＤＭＡＣ２１２は、メインメモリ１１に格納された映像データをビデオメモリ２２に転送するためのＤＭＡ転送を実行する。このＤＭＡＣ２１２は、ＤＭＡＣ１０１と同様にして、ＣＰＵ１１によってＤＭＡＣ２１２内に設けられたＴＤチェーン格納部に書き込まれたＴＤチェーンに含まれる複数の転送ディスクリプタを順次処理することによって、メインメモリ１１に格納された映像データをビデオメモリ２２に転送するための一連のデータ転送を実行する。ＤＭＡＣ２１２によるメインメモリ１２からビデオメモリ２２へのデータ転送とＤＭＡＣ１０１によるビデオメモリ２２から表示コントローラ２３へのデータ転送とは、同期して実行される。なお、ＤＭＡＣ２１２を用いずに、ＣＰＵ１１が映像データをビデオメモリ２２に書き込む構成を採用してもよい。メモリコントローラ２１３は、ビデオメモリ２２を制御する。
【００３５】
図５には、ＴＤチェーン格納部１０２に格納されるＴＤチェーンとビデオメモリ２２との関係が示されている。
【００３６】
ビデオメモリ２２は、例えば、８個のフレームデータをそれぞれ格納する８個の記憶エリアを含んでいる。ＴＤチェーンは、８個の記憶エリアを転送元としてそれぞれ指示する８個の転送ディスクリプタ（ＴＤ＃１〜ＴＤ＃８）から構成されている。ＴＤ＃８内のポインタは、次に処理すべき転送ディスクリプタとしてＴＤ＃１を示す。これにより、ＤＭＡＣ１０１は、８個の転送ディスクリプタ（ＴＤ＃１〜ＴＤ＃８）を含むＴＤチェーンを繰り返し処理する。各転送ディスクリプタの転送サイズは、１フレーム分のデータサイズに一致する。ビデオメモリ２２に格納される映像データの内容は、所定のタイミングで順次更新される。したがって、１巡目のＴＤチェーンの処理においては、フレーム１、２、３、…、８の転送が実行され、２巡目のＴＤチェーンの処理においては、フレーム９、１０、１１、…、１６の転送が実行され、３巡目のＴＤチェーンの処理においては、フレーム１７、１８、１９、…、２４の転送が実行される。
【００３７】
次に、図６のフローチャートを参照して、ビデオメモリ２２から表示コントローラ２３へのデータ転送の手順を説明する。
【００３８】
ＣＰＵ１１は、ＴＤチェーンをＤＭＡＣ１０１内部のＴＤチェーン格納部１０２に書き込む処理を実行する（ステップＳ１０１）。
【００３９】
ＤＭＡＣ１０１は、ＴＤチェーン格納部１０２に格納されたＴＤチェーン内の先頭の転送ディスクリプタを参照し（ステップＳ１０２）、その転送ディスクリプタによって指定されるＤＭＡ転送を実行する（ステップＳ１０３）。このＤＭＡ転送が完了すると、ＤＭＡＣ１０１は、ＴＤチェーン格納部１０２に格納されたＴＤチェーン内の次の転送ディスクリプタを参照し（ステップＳ１０２）、その転送ディスクリプタによって指定されるＤＭＡ転送を実行する（ステップＳ１０３）。このようにして、ＤＭＡＣ１０１は、ＴＤチェーン格納部１０２に格納されたＴＤチェーン内の転送ディスクリプタ群を順次処理する。
【００４０】
次に、２つの異なる映像データをビデオメモリ２２から表示コントローラ２３に同時に転送する処理について説明する。この処理は、２つのディスプレイに同時に２つの映像データを表示するために使用される。
【００４１】
図７は、ＴＤチェーン格納部１０２に格納されるＴＤチェーンとビデオメモリ２２との関係が示されている。ビデオメモリ２２の記憶領域は２つに分割されている。一方は、ディスプレイ＃１用の映像データを記憶する領域であり、他方はディスプレイ＃２用の映像データを記憶する領域である。例えば、ディスプレイ＃１用の映像データを記憶する領域は６個のフレームデータをそれぞれ格納する６個の記憶エリアを含み、ディスプレイ＃２用の映像データを記憶する領域は２個のフレームデータをそれぞれ格納する２個の記憶エリアを含む。
【００４２】
ＴＤチェーンは８個の転送ディスクリプタ（ＴＤ＃１〜ＴＤ＃８）から構成されているが、その内の６個の転送ディスクリプタ（ＴＤ＃１〜ＴＤ＃６）はディスプレイ＃１用の６個の記憶エリアを転送元としてそれぞれ指定し、残りの２個の転送ディスクリプタ（ＴＤ＃７、ＴＤ＃８）はディスプレイ＃２用の２個の記憶エリアを転送元としてそれぞれ指定する。ＴＤ＃６内のポインタは次に処理すべき転送ディスクリプタとしてＴＤ＃１を示し、またＴＤ＃８内のポインタは次に処理すべき転送ディスクリプタとしてＴＤ＃７を示す。
【００４３】
ＤＭＡＣ１０１は、図９に示すように、２つのＤＭＡＣコア３０１，３０２を備えている。ＤＭＡＣコア３０１は６個の転送ディスクリプタ（ＴＤ＃１〜ＴＤ＃６）を処理し、またＤＭＡＣコア３０２は２個の転送ディスクリプタ（ＴＤ＃７、ＴＤ＃８）を処理する。これにより、２つの映像データを同期してビデオメモリ２２から表示コントローラ２３に転送することができる。表示コントローラ２３は、図８に示すように、２つの映像出力信号を生成する。一方の映像出力信号はディスプレイ＃１用の６個の記憶エリアから転送されるデータから生成され、他方の映像出力信号はディスプレイ＃２用の２個の記憶エリアから転送されるデータから生成される。
【００４４】
ここで、図９を参照して、ＤＭＡＣ１０１の構成を詳述する。
【００４５】
ＤＭＡＣ１０１は、ＴＤチェーン格納部１０２、２つのＤＭＡＣコア３０１，３０２、および制御レジスタ３０３を備えている。制御レジスタ３０３は、ＤＭＡＣコア３０１が処理すべき先頭のＴＤ（ＴＤ＃１）の位置を示す第１ポインタ情報と、ＤＭＡＣコア３０２が処理すべき先頭のＴＤ（ＴＤ＃７）の位置を示す第２ポインタ情報とを含む。これら第１ポインタ情報および第２ポインタ情報は、ＣＰＵ１１によって制御レジスタ３０３に書き込まれる。ＤＭＡＣコア３０１は、ＴＤ＃１〜ＴＤ＃６の処理を繰り返し実行して、ディスプレイ＃１用の映像データを表示コントローラ２３に転送するためのＤＭＡ転送を実行する。ＤＭＡＣコア３０２は、ＴＤ＃７、ＴＤ＃８の処理を繰り返し実行して、ディスプレイ＃２用の映像データを表示コントローラ２３に転送するためのＤＭＡ転送を実行する。
【００４６】
以上のように、本実施形態においては、ＴＤチェーン格納部１０２がＤＭＡＣ１０１内に設けられているので、ＴＤチェーンの処理に関するオーバーヘッドおよびバス使用率を軽減することができ、これによってデータ転送効率を高めることが可能となる。さらに、プロセッサバス、メモリバス、システムバス等のバスの帯域を確保することが可能となり、システム性能を高めることができる。
【００４７】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態に係る信号処理システムの構成を示すブロック図。
【図２】図１の信号処理システムで用いられるディスクリプタチェーンの構成を示す図。
【図３】図１の信号処理システムをデジタルＴＶ放送受信機に適用した場合のシステム構成の例を示すブロック図。
【図４】図３の信号処理システムで使用されるＩ／Ｏコントローラの構成の例を示すブロック図。
【図５】図３の信号処理システムにおけるＴＤチェーンとビデオメモリとの関係の例を示す図。
【図６】図３の信号処理システムにおけるＤＭＡ転送動作の手順を示すフローチャート。
【図７】図３の信号処理システムにおけるＴＤチェーンとビデオメモリとの関係の他の例を示す図。
【図８】図３の信号処理システムに設けられた表示コントローラから出力される２つの映像出力信号を説明するための図。
【図９】図３の信号処理システムで使用されるＤＭＡＣの構成例を示すブロック図。
【符号の説明】
【００４９】
１１…ＣＰＵ、１２…メインメモリ、１３…Ｉ／Ｏコントローラ、１４…Ｉ／Ｏデバイス、２２…ビデオメモリ、２３…表示コントローラ、１０１…ＤＭＡコントローラ、１０２…ＴＤチェーン格納部、３０１，３０２…ＤＭＡＣコア。
【図１】
2006259898.tif 000003
【図２】
2006259898.tif 000004
【図３】
2006259898.tif 000005
【図４】
2006259898.tif 000006
【図５】
2006259898.tif 000007
【図６】
2006259898.tif 000008
【図７】
2006259898.tif 000009
【図８】
2006259898.tif 000010
【図９】
2006259898.tif 000011