(57)【特許請求の範囲】
【請求項１】
ＣＰＵに、少なくとも一つの命令処理部と、少なくとも一つの表示制御部とを有し、少なくとも一つの入出力デバイスと、前記命令処理部がアクセスする主記憶領域および前記表示制御部がアクセスする表示領域を含む少なくとも一つの統合メモリとを有するマルチメディアデータ処理システムにおいて、前記命令処理部と前記表示制御部とを含む単一のシリコン上に実装されたＬＳＩであって、該ＬＳＩと前記統合メモリとのインタフェースを該ＬＳＩと前記入出力デバイスとのインタフェースとは別に独立して設け、前記統合メモリへのアクセスを、不連続アドレスのデータであり、かつ、途中でページミスが発生する場合であっても、要求元に対してバスを駆動すべきことを示す信号をアサートしたまま行うことを特徴とするメモリアクセス方式。
【請求項２】
請求項１において、前記統合メモリの複数の表示領域へのアクセスを連続一括して行うことを特徴とするメモリアクセス方式。
【請求項３】
請求項１において、前記ＬＳＩに前記統合メモリを含み、該ＬＳＩ内部で前記統合メモリのインタフェースを形成することを特徴とするメモリアクセス方式。
【請求項４】
請求項１において、前記命令処理部の動作周波数が前記統合メモリのインタフェースの周波数の整数倍であることを特徴とするメモリアクセス方式。
【請求項５】
請求項１または請求項２において、前記命令処理部の動作周波数が前記入出力デバイスのインタフェースの周波数の整数倍であることを特徴とするメモリアクセス方式。
【請求項６】
請求項１または請求項２において、前記統合メモリのインタフェースの動作周波数が前記入出力デバイスのインタフェースの周波数の整数倍であることを特徴とするメモリアクセス方式。
【請求項７】
請求項２において、前記連続一括アクセスの設定を前記表示制御部からの表示出力信号の周波数と前記統合メモリのインタフェースの動作周波数の比が所定の条件値より大きいとき行うことを特徴とするメモリアクセス方式。
【請求項８】
請求項１において、前記命令処理部と前記表示制御部から前記統合メモリへのアクセス優先順位の判定は、先着順に基づいて処理することを特徴とするメモリアクセス方式。
【請求項９】
請求項１において、前記ＬＳＩ内部から前記統合メモリへのアクセス優先順位を設定することを特徴とするメモリアクセス方式。
【請求項１０】
請求項１において、前記ＬＳＩと前記統合メモリとの間のデータ転送によるバスサイクルと前記ＬＳＩと前記入出力デバイスとの間のデータ転送とを同時に実行することを特徴とするメモリアクセス方式。
【請求項１１】
請求項１において、前記表示制御部から前記統合メモリへのアクセスを行う場合に、エンディアンの変換が必要かどうかを設定することを特徴とするメモリアクセス方式。
【請求項１２】
請求項１において、前記入出力デバイスから前記統合メモリへのアクセスを行う場合に、前記入出力デバイスのデータ自体が有するエンディアンに従い、エンディアンの変換が必要かどうかを設定することを特徴とするメモリアクセス方式。
【請求項１３】
請求項１において、複数のモード設定レジスタまたは前記統合メモリの拡張領域を持ち、それぞれを前記命令処理部のアドレス空間にマッピングする場合に、複数のマッピングパタンを選択することを特徴とするメモリアクセス方式。
【請求項１４】
請求項１において、前記ＬＳＩ内部のデータ転送であって、転送要求に対する確認が得られた段階で要求元が転送条件を予め送信することを特徴とするメモリアクセス方式。
【請求項１５】
請求項１４において、前記転送条件として先頭アドレスを含むことを特徴とするメモリアクセス方式。
【請求項１６】
請求項１４において、前記転送条件として転送回数を表わす情報を含むことを特徴とするメモリアクセス方式。
【請求項１７】
請求項１４において、前記転送条件としてアクセスの種類を含むことを特徴とするメモリアクセス方式。
【請求項１８】
請求項１７において、前記アクセスの種類には要求元によって指定される先頭アドレスおよびデータ転送毎に指定されるアドレスによるアクセスを含むことを特徴とするメモリアクセス方式。
【請求項１９】
請求項１において、前記ＬＳＩ内部のデータ転送であって、要求元が指定するアドレスおよびライトデータの切替えを前記統合メモリの動作状態に合わせて指示するインタフェースを有することを特徴とするメモリアクセス方式。
【請求項２０】
請求項１において、複数のレジスタを持ち、該レジスタへの数値設定を行う前記ＬＳＩ内部のデータ転送であって、要求元がライトストローブと共にアドレスとライトデータを指定することによってレジスタ書き込みを行うことを特徴とするメモリアクセス方式。
【請求項２１】
請求項２０において、要求先がウェイトを表わす信号を出力していた場合に要求元はデータ転送の更新を行わないことを特徴とするメモリアクセス方式。
【請求項２２】
請求項２０において、要求元が連続して要求を送信した場合にデータ転送を連続して可能とすることを特徴とするメモリアクセス方式。
【請求項２３】
請求項２２において、要求先がウェイトを表わす信号を出力していた場合に要求元はデーター転送の更新を行わないことを特徴とするメモリアクセス方式。
【請求項２４】
請求項１において、複数のレジスタを持ち、該レジスタへの数値設定を行う前記ＬＳＩ内部のデータ転送であって、要求元がリード要求と共に、アドレスを送信し、要求先はアクノレッジ信号とリードデータとを送出することを特徴とするメモリアクセス方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリアクセス方式に係り、特に、演算処理を行うと共に映像データを作成し、ディスプレイへ表示する機能を併せ持つ計算機システムに適用する技術に関する。
【０００２】
【従来の技術】
従来の統合メモリを用いた表示処理装置は、特表平１１−５１０６２０号公報に記載のように、主記憶と画像メモリとを一つの統合されたメモリに集約する際にコアロジックと呼ばれるメモリ制御機構を介してＣＰＵ側と画像メモリ側を分離している。
また、米国特許第５，７９０，１３８号にも同様の構成が開示されている。
【０００３】
【発明が解決しようとする課題】
上記従来技術は、単純に主記憶と表示領域とを統合したものである。命令制御部からの統合メモリへのアクセスは、命令処理部とチップセットを構成するシステムコントローラを経由するため、レイテンシが長くなる。従来技術では、この点について配慮されておらず、命令処理時間を引き延ばす要因となる、即ち、システムの性能低下を招くという問題があった。
【０００４】
本発明の課題は、上記事情に鑑み、レイテンシの増大を抑え、メモリ統合構成においてもシステム性能の低下を抑えるに好適なメモリアクセス方式を提供することにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、ＣＰＵに、少なくとも一つの命令処理部と、少なくとも一つの表示制御部とを有し、少なくとも一つの入出力デバイスと、命令処理部がアクセスする主記憶領域および表示制御部がアクセスする表示領域を含む少なくとも一つの統合メモリとを有するマルチメディアデータ処理システムにおいて、命令処理部と表示制御部とを含む単一のシリコン上に実装されたＬＳＩであって、該ＬＳＩと統合メモリとのインタフェースを該ＬＳＩと入出力デバイスとのインタフェースとは別に独立して設け、統合メモリへのアクセスを、不連続アドレスのデータであり、かつ、途中でページミスが発生する場合であっても、要求元に対してバスを駆動すべきことを示す信号をアサートしたまま行う。
【０００６】
【発明の実施の形態】
以下、本発明の実施形態を図面を用いて説明する。
図１は、本発明のメモリアクセス方式の一実施形態を示す。図１において、マルチメディアデータ処理装置１０００には、マルチメディアデータ入出力部、データ入出力および通信部、ユーザ指示入力部が夫々付加される。
マルチメディアデータ入出力部は、画像表示装置２１００、音声発生装置２２００及び映像信号発生装置２３００から構成する。データ入出力および通信部は、通信回線との接続を行うモデム３２００、ＣＤ−ＲＯＭやＤＶＤなどの外部記憶媒体をアクセスするためのドライブ３１００から構成する。ユーザ指示入力部は、キーパッド４１００、キーボード４２００、マウス４３００などから構成する。
マルチメディアデータ処理装置１０００は、ＣＰＵ１１００、統合メモリ１２００、ＦＬＡＳＨ１３００やＳＲＡＭ１４００等の補助記憶部、ユーザ指示入力部やモデム３２００と接続するための入出力用周辺インタフェース１５００から構成する。
また、ＣＰＵ１１００は、ドライブ３１００、マルチメディアデータ入出力部２１００、２２００、２３００への入出力端子を持つ。これらは、ＣＰＵ１１００内の表示制御部１１４０、音声制御部１１８０、映像入力部１１２０、高速データ入出力部１１６０にそれぞれ接続される。ＣＰＵ１１００は、統合メモリ１２００、Ｆｌａｓｈ１３００やＳＲＡＭ１４００等の補助記憶部、周辺インタフェース１５００とデータ交換するためのバス端子を持つ。補助記憶部（１３００，１４００）、周辺インタフェース１５００はＣＰＵ１１００内のシステムバス制御部１１５０に接続される。ＣＰＵ１１００はドライブ３１００とのインタフェースを持つ。これらはＣＰＵ１１００内の高速データ入出力部１１６０に接続される。ＣＰＵ１１００は統合メモリ１２００とのインタフェースを持つ。これはＣＰＵ１１００内の統合メモリ制御部１１７０に接続される。また、ＣＰＵ１１００内にはこれらの他に命令処理部１１１０、画素発生部１１３０がある。
命令処理部１１１０は、６４ビットのバス端子を持ち、ここに映像入力部１１２０、画素発生部１１３０、表示制御部１１４０、バス制御部１１５０、高速データ入出力部１１６０、統合メモリ制御部１１７０、音声制御部１１８０が夫々６４ビットの内部バス１１９２で接続される。この内部バス１１９２は統合メモリ制御部１１７０によって調停される。そのために、システムバス制御部１１５０とその他の部分は制御信号で結ばれる。また、命令処理部１１１０は、別の内部バス１１９１を介してシステムバス制御部１１５０と接続され、システムバス１９２０上のデバイス１３００、１４００、１５００等と接続可能である。統合メモリ制御部１１７０は、統合メモリポート１９１０を介して統合メモリ１２００と接続される。統合メモリ１２００は、ＣＰＵ１１００内の各部が共有して使用するメモリ領域である。この中には命令処理部１１１０が主に使用する主記憶領域１２１０、表示制御部１１４０が主に使用する表示領域１２２０、映像入力部１１２０が主に使用する映像領域１２３０、画素発生部１１３０が主に使用する描画領域１２４０等から構成する。これらの領域は、単一のアドレス空間に配置されるため、位置、サイズともに自由可変である。なお、本実施形態では６４ビットとしているが、本発明の内容はバス幅を限定するものではない。
【０００７】
図２は、図１に示したマルチメディアデータ処理装置１０００の基本部分を抜き出したものである。この基本部分は、ＣＰＵ１１００、画像表示装置２１００、統合メモリ１２００、統合メモリポート１９１０、システムバス１９２０およびそれに接続されるデバイス１３００、１４００、１５００等からなる。ここで、ＣＰＵ１１００は、命令処理部１１１０と表示制御部１１４０を含む単一のシリコン上に実装されたＬＳＩに形成する。統合メモリ１２００には、主記憶領域１２１０と表示領域１２２０が格納されている。また、統合メモリポート１９１０はシステムバス１９２０よりも高速に駆動可能である。
なお、ＣＰＵ１１００を形成したＬＳＩに統合メモリ１２００を含み、このＬＳＩ内部で統合メモリポート１９１０を形成しても良い。
本実施形態では、ＣＰＵ１１００に命令処理部１１１０と表示制御部１１４０を有し、主記憶領域１２１０と表示領域１２２０とを単一の統合メモリ１２００に格納することによってメモリ部品数を削減し、システムの小型化に寄与するものである。この場合、統合メモリ１２００へのアクセス集中による性能低下が心配であるが、本実施形態では、統合メモリポート１９１０をシステムバス１９２０とは別に独立して設け、これによって統合メモリ１２００へのアクセスの高速化を図り、性能低下の問題を解決する。
【０００８】
ここで、図２２、図２３を用いて本発明と従来例との比較を説明する。
図２２は、従来例の構成を示す。命令処理部１１１０ａは、ＣＰＵ１１００に内蔵されず、システムバス１９２０を介してシステムコントローラ１５００ａと接続され、このシステムコントローラ１５００ａに統合メモリ１２００が接続される。したがって、命令処理部１１１０ａからの信号は、システムバス経由でシステムコントローラ１５００ａから統合メモリ１２００に伝送されることになる。
また、システムバス１９２０には、命令処理部１１１０ａを起動時に初期化するためのブートプログラムを格納するＦｌａｓｈ１３００が接続されるのが一般的である。また、実際にはシステムバス１９２０には、命令処理部１１１０ａが専用に使用する補助記憶も接続される筈である。このような構成においては、システムバス１９２０への接続数が多く、電気的には負荷が大きい状態になり、高速駆動が不可能である。この時の動作周波数は、ボード設計の緻密さにも依存するが、３３ＭＨｚ程度での動作が限界であろう。
また、システムコントローラ１５００ａは、様々な周辺機器を接続するためのローカルバスと統合メモリ１２００へのインタフェースを持つ。統合メモリ１２００は表示制御部１１４０と共有される。この例では統合メモリ１２００へのインタフェースはそれぞれ電気的に接続される。したがって、システムコントローラ１５００ａの電気的負荷が大きく、これも駆動周波数向上の障害になる。この場合は３者の結合であるが、せいぜい５０ＭＨｚ程度が限界であろう。また、バスが同電位で接続されるため、システムコントローラ１５００ａ、表示制御部１１４０、統合メモリ１２００がそれぞれバスを駆動する可能性があり、３者にて調停を行う必要がある。特に統合メモリ１２００に対して能動的に動作するシステムコントローラ１５００ａと表示制御部１１４０とはバス権のやり取りのための調停を行うため、それだけで数サイクルを要するのは明らかであり、オーバヘッドとなる。結局、命令処理部１１１０ａから統合メモリ１２００へのアクセスではチップ渡りが２回、調停オーバヘッド、さらには３３ＭＨｚ程度の動作で時間を要することになる。
【０００９】
図２３は、本発明による構成を示す。命令処理部１１１０と表示制御部１１４０とは一つのＣＰＵ１１００に内蔵する。ＣＰＵ１１００は統合メモリ１２００への専用アクセスポート１９１０を持つ。これにより、ＣＰＵ１１００と統合メモリ１２００とは１対１の接続となり、命令処理部１１１０ａからの信号は、専用アクセスポート１９１０を介して統合メモリ１２００に直接伝送されることになる。
このように、本発明では、命令処理部１１１０ａから統合メモリ１２００に伝送される信号をシステムコントローラ１５００ｂを経由せずに行うため、負荷が小さくなる。また、ボード配線が単純であることも負荷を抑える要因となる。それ故に、周波数を向上でき、例えば１００ＭＨｚで駆動可能である。命令処理部１１１０と表示制御部１１４０のどちらからのアクセスの場合もチップ渡りが１回であり、高速動作が可能である。一方、負荷が大きく動作速度が期待できないシステムバス１９２０は、統合メモリポート１９１０とは別に設けられ、低速動作する。
【００１０】
次に、図３〜６を用いて、統合メモリ１２００へのアクセス高速化を改めて説明する。
図３は、各インタフェースの周波数の関係を示し、システムバス１９２０の周波数ｆｓ、統合メモリポート１９１０の周波数ｆｍ、命令処理部１１１０の内部動作周波数ｆｃ、表示制御部１１４０からの表示出力信号１９３０の周波数ｆｄをそれぞれ比較する。なお、図示されていないが、内部バス１１９２はｆｍで動作するものとする。
それぞれの周波数の組み合せは自由であり、本発明はその数値を限定するものではないが、ここでは２つの数値例について説明する。いずれのケースもｆｍがｆｓより大きいのが特徴である。本発明による統合メモリ１２００へのアクセスは、システムバス１９２０上に主記憶１２１０が接続される従来例よりも高速化が図れる。
図３では、ｆｓを基準にして周波数設定を行った例を示す。条件欄のｎやｍは２以上の整数である。整数とした理由は、ｆｓ、ｆｍ、ｆｃが同期動作することで相互アクセスのオーバヘッドを削減するためである。２以上とした理由は、従来例よりも高速化を図れる本発明の特徴を生かすためである。また、ｆｄは、画像表示装置２１００に依存する値であり、自由度が必要なため、非同期である。これは表示制御部１１４０において同期化を行う。表示制御部１１４０は、統合メモリ１２００の表示領域１２２０からデータを読み出すため、同期化容易とするためにｆｄ≦ｆｍ／２とする。但し、これは同期化回路の一例を想定したものであり、本発明を限定しない。
【００１１】
数値例１は、ｆｓが４２ＭＨｚ、ｆｍが倍の８４ＭＨｚ、ｆｃは更にその倍の１６８ＭＨｚである。内部バス１１９１はｆｍで動作し、ｆｓとｆｍの変換はシステムバス制御部１１５０で行い、ｆｍとｆｃとの変換は命令処理部１１１０で行う。ｆｍがｆｓの倍で動作するため、統合メモリ１２００へのアクセスを高速に実行可能である。また、ｆｃがｆｍの倍であるため、内部バス１１９２の周波数ｆｍとｆｃとの同期が容易であり、これも高速化に寄与する。ｆｃをｆｍの倍としているため、ｆｃの上限値によりｆｍの上限値が決まる。さらにｆｄも制限され、この例では１５ＭＨｚとする。これは、横４００×縦２４０程度の画面を表示するには十分な周波数であり、画面サイズとＣＰＵ性能とを両立する構成である。
【００１２】
数値例２は、ｆｓが５０ＭＨｚ、ｆｍがその倍の１００ＭＨｚ、ｆｃはｆｓの３倍の１５０ＭＨｚである。内部バス１１９１は数値例１ではｆｍで動作していたが、数値例２ではｆｓで動作する。また、内部バス１１９２の動作周波数はｆｍのままであるが、命令処理部１１１０とのインタフェースをｆｓで行うものとする。これは、ｆｍとｆｃの変換を命令処理部１１１０で行う場合に２対３の変換になり、回路が複雑化するのを防ぐためである。このケースでは命令処理部１１１０から統合メモリ１２００へアクセスする場合にｆｓのインタフェースを介するため、アクセス性能は悪いが、ｆｍの上限値をｆｃの３分の２にまで引き上げることができる。これにより表示の周波数ｆｄも大きくでき、この例では８００×４８０相当の４０ＭＨｚの動作が可能である。画面サイズをＣＰＵ性能に優先させる構成である。
【００１３】
図４は、命令処理部１１１０から統合メモリ１２００へのライトアクセスを行う場合のタイミングを示す。命令処理部１１１０からチップセレクト信号ＣＳ＃、その先頭を表わすバススタート信号ＢＳ＃、アドレスとデータが多重化された信号Ｄが発せられる。ここで、＃は負論理を表わす記号である。統合メモリ制御部１１７０は、これらの信号を受け、Ｄ信号の先頭に発せられているアドレスＡを受け取り、統合メモリ１２００へのアドレスを出力する。本実施形態では統合メモリ１２００としてＳＤＲＡＭを想定している。統合メモリ制御部１１７０は、内部バス１１９２の調停を行った後、アドレスＡをＳＤＲＡＭのＡＣＴコマンドに変換して出力する。命令処理部１１１０はバーストデータ転送機能を持つ。この例では、４回のライトＷ０〜Ｗ３が一回のバスサイクルで実施される。これにより、高速データ転送が可能である。統合メモリ制御部１１７０は、ＳＤＲＡＭへのライトデータＤ０〜Ｄ３を命令処理部１１１０から受け取る必要があるので、コマンドＷ０〜Ｗ３を発行するタイミングに合わせて転送許可信号ＲＤＹ＃をアサートする。
【００１４】
図５は、同様に、命令処理部１１１０から統合メモリ１２００へのリードアクセスを行う場合のタイミングを示す。統合メモリ制御部１１７０は、命令処理部１１１０からの信号を受け、Ｄ信号の先頭に発せられているアドレスＡを受け取り、統合メモリ１２００へのアドレスを出力する。統合メモリ制御部１１７０は、内部バス１１９２の調停を行った後、アドレスＡをＳＤＲＡＭのＡＣＴコマンドに変換して出力する。その後、命令処理部１１１０は、一旦バスを開放し（図中のＺ）、リードデータ入力に備える。統合メモリ制御部１１７０はリードコマンドＲ０〜Ｒ３を発行する。リードの場合は一定のアクセス時間を要するため、データＤ０〜Ｄ３は数サイクル遅れて到達する。命令処理部１１１０はこのタイミングに合わせてバーストデータ転送機能を持つ。この例では４回のリードＲ０〜Ｒ３が一回のバスサイクルで実施される。これにより、高速データ転送が可能である。統合メモリ制御部１１７０は、ＳＤＲＡＭへのデータＤ０〜Ｄ３を命令処理部１１１０から受け取る必要があるので、コマンドＲ０〜Ｒ３を発行するタイミングに合わせて転送許可信号ＲＤＹ＃をアサートする。リードの場合もバースト転送可能である。
【００１５】
図６を用いて、図４と図５に示したバースト転送がメモリ統合構成に有効であることを説明する。
命令処理部１１１０から統合メモリ１２００へのアクセスは、従来例ではシステムバス１９２０の標準インタフェースを用いて行わざるを得なかった。標準インタフェースでは一回のバスサイクルで一回のデータ転送のみ可能である。命令処理部１１１０の性能を考えたとき、そこで内蔵されるキャッシュメモリのミスに伴うライン転送時間が性能上重要である。しかるに、標準インタフェースではライン転送が複数のバスサイクルＤ０，Ｄ１，Ｄ２，Ｄ３に分けて実施される。この様子は図６の上段の命令処理（１）に示す。ところで、統合メモリ１２００は、様々な内蔵ユニットを共有しているので、キャッシュライン転送の複数のバスサイクル毎に表示など他のアクセスと競合して待ちが生じる可能性がある。この様子は図６の上段の統合メモリ（１）に示す。結果的に命令処理部１１１０からの総アクセス時間が長くなる。
一方、本発明によるバースト転送によれば、かくの如き待ち時間は一回のみであるので、図６の下段の命令処理（２）、統合メモリ（２）に示すように、結果的に命令処理部１１１０から統合メモリ１２００へのアクセスの高速化が図られる。
【００１６】
図７〜図９を用いて、メモリ統合構成によるまた別の実施条件である表示アクセス制約について説明する。
図７は、表示画面の構成例を示す。表示画面は複数の面を重ね合わせた結果を最終画面として表示する形態をとる。最終画面での表示データアクセス単位４０は統合メモリ１２００ではそれぞれの面の表示データアクセス単位４１、４２、４３に対応する。表示を行う際には統合メモリ１２００からアクセス単位４１、４２、４３に相当するデータを個別に読み出し、透明度計算等の処理を行ってアクセス単位４０に対応するデータを生成する。表示データは、表示用クロック周波数ｆｄで順次出力されなければ正しく動作しないため、一定の時間内にアクセス単位４１、４２、４３のアクセスを終えなければならない。この一定の時間はｆｄが小さい小画面ほど大きく、ｆｄが大きい大画面ほど小さい。
【００１７】
図８は、表示アクセスの時間を考慮して統合メモリ１２００にアクセスを行った例を示す。一つ一つのアクセスは先ほど説明したバーストアクセスで高速化されている。分割アクセスモードでは命令実行１、２、３に対応して表示データアクセス単位４１、４２、４３のアクセスが別々に行われる。統合メモリ１２００には表示アクセス以外もあるので、それらと優先順位調停が行われ、交互に実施される。なお、この例では表示アクセスとそれ以外のものを交互に実施することとしているが、２回に一度とか、他の順番での実施も可能である。この場合、アクセス単位４１、４２、４３のアクセスに要する全時間が長くなるので、ｆｄが大きい大画面で表示に必要な一定の時間を満足できなくなる可能性がある。一方、命令処理部１１１０からのアクセスは、表示と交互に実施されるため、命令処理部１１１０のアクセスの待ち時間が軽減される方式でもある。
逆に、大画面表示を可能とする方法として一括アクセスモードがある。一括アクセスモードでは、表示画面４０を作成するためのアクセス単位４１、４２、４３のデータに一括してアクセスする。この場合、アクセス単位４１、４２、４３のアクセスに要する全時間が軽減され、ｆｄの大きい大画面の表示が可能になる。これは、一括アクセスを指示するモード設定によって実施され、表示制御部１１４０から統合メモリ制御部１１７０へアクセスを一括して行うことを通知する。統合メモリ制御部１１７０は、この通知を受け、表示以外のアクセスを行わないようにする。
【００１８】
図９に、表示アクセスモードの設定即ち分割アクセスと一括アクセスの使い分けの一例を示す。ｆｄとｆｍの割合が０．３の前後で切り替えることを推奨する。分割アクセスモードはｆｄ／ｆｍが０．３より小さいケースである。画面も小さい場合が考えられるため、図３における数値例１が対応する。一括アクセスモードはｆｄ／ｆｍが０．３より大きいケースである。画面も大きい場合が考えられるため、図３における数値例２が対応する。切替えの０．３は画面合成枚数などに依存する値であり、システムに応じてユーザが設定可能である。
【００１９】
図１０、図１１は、統合メモリ１２００のアクセスに関連するモード設定の具体例を示す。図１０に示すレジスタＵＭＭＲには、ＡＭ、ＰＣ、ＤＰＭ、ＥＣ、ＤＡＭの５つのモードビットがある。
（１）ＡＭは、バス調停モード（ＡＭ：Ａｒｂｉｔｒａｔｉｏｎ  Ｍｏｄｅ）であり、バス調停の優先度の設定方法を指定する。本ビットを書き換えたときに新設定値が有効になるのは、次の垂直帰線期間以降である。
ＡＭ＝０の時
システムバス制御部（ＳＧＢＣ）１１５０、画素発生部（ＲＵ）１１３０、ＣＰＵインタフェース（ＣＩＵ）１１５５（図１２）を全て同一の優先度とし、かっこの３ユニットに対しては先着順にバス権を与えるようにする。当然ながら、映像入力部（ＶＩＵ）１１２０や表示制御部（ＤＵ）１１４０などのより優先度が高いユニットと同時にバス権要求をした場合には、ＶＩＵ（またはＤＵ）が優先される。先着順はあくまでも、ＳＧＢＣ、ＲＵ、ＣＩＵのユニットの間だけである。（デフォルト値）
ＡＭ＝１の時
ＳＧＢＣ、ＲＵ、ＣＩＵに対して別個に優先度を設定できる。ただし、２つ以上のユニットに同一の優先度を設定することは不可である。
（２）ＰＣは、優先度切換（ＰＣ：Ｐｒｉｏｒｉｔｙ  Ｃｈａｎｇｅ）であり、レジスタで設定した優先度をバス調停の優先度として設定する。ＡＭ＝１の場合のみ有効である。
ＰＣ＝０の時
レジスタ（ＳＰＲ、ＲＰＲ、ＰＰ１Ｒ、ＰＰ２Ｒ）の値をバス調停の優先度に設定しない。（デフォルト値）
ＰＣ＝１の時
レジスタ（ＳＰＲ、ＲＰＲ、ＰＰ１Ｒ、ＰＰ２Ｒ）の値をバス調停の優先度に設定する。ただし、上記全レジスタが正しく設定された場合のみ、調停の優先度が更新される。設定値が正しい場合、内部更新時に上記レジスタ値が反映され、その後暴ビットは自動的にクリアされる。また、設定値が誤っている場合でも、次の垂直帰線期間中にこのビットは自動的にクリアされる。
（３）ＤＰＭは、表示優先モード（ＤＰＭ：Ｄｉｓｐｌａｙ  ｕｎｉｔ  Ｐｒｅｆｅｒｎｃｅ  Ｍｏｄｅ）であり、バス調停の表示ユニットの優先度を指定する。このビットを書き換えたとき、新設定値が有効になるのは次の垂直帰線期間である。
ＤＰＭ＝０の時
表示ユニットとビデオ入力ユニットの優先度を同一にする。（デフォルト値）
ＤＰＭ＝１の時
表示ユニットとビデオ入力ユニットよりも優先度を高くする。”０”の場合よりも表示画面サイズを大きくできる。この設定を行った場合、ビデオ入力ユニットは限定された条件を満たす場合のみ動作を保証する。
（４）ＥＣは、エンディアン変換モード（Ｅｎｄｉａｎ  Ｃｈａｎｇｅ  Ｍｏｄｅ）であり、画素発生部、表示部などのエンディアンの変換を行うか行わないかを指定する。
ＥＣ＝０のとき
表示、画素発生部と統合メモリ制御部との間で変換しない。
ＥＣ＝１のとき
表示、画素発生部と統合メモリ制御部との間で変換する。
（５）ＤＡＭは、表示アクセスモード（ＤＡＭ：Ｄｉｓｐｌａｙ  Ａｃｃｅｓｓ  Ｍｏｄｅ）であり、複数面の表示アクセスを分割して行うか、一括して行うかを指定する。図９の具体例である。
ＤＡＭ＝０のとき
複数面の表示アクセスを分割して行う。（デフォルト値）
ＤＡＭ＝１のとき
複数面の表示アクセスを一括して行う。
【００２０】
図１１は、図１０のＵＭＭＲのＰＣに対応して優先順位を指定するレジスタＰＲＲである。バス調停優先順位は、ＭＰ（ＭＣＵ（統合メモリ制御部１１７０）  Ｐｒｉｏｒｉｔｙ）、ＣＰ（ＣＩＵ（ＣＰＵインタフェース１１５５）  Ｐｒｉｏｒｉｔｙ）、ＳＰ（ＳＧＢＣ（システムバス制御部１１５０）  Ｐｒｉｏｒｉｔｙ）、ＲＰ（ＲＵ（画素発生部１１３０）  Ｐｒｉｏｒｉｔｙ）であり、バス調停の優先度をそれぞれ２ビットで指定する。同じ値を複数に指定することは禁止である。
【００２１】
図１２は、図１に示すマルチメディアデータ処理装置１０００内のＣＰＵ１１００の詳細ブロックを示す。この詳細ブロック図を用いて図３の数値例１と２の違い、図１０のＵＭＭＲのＥＣモードの動作およびデータ転送パスを説明する。
システムバス１９２０は、モードにより切替部１１５１が切り替わり、システムバス制御部（ＳＧＢＣ）１１５０のピクセルポート１１５２（周波数変換機能を持つ）の経由となったり、内部バス１１９１に直結となったりする。前者は図３の数値例１、後者は数値例２に対応する構成である。
エンディアンの変更は、統合メモリ制御部（ＭＣＵ）１１７０のエンディアン変換部１１７１で行われる。これは、リトルエンディアンで動作する表示制御部（ＤＵ）１１４０や画素発生部（ＲＢＵ）１１３０と命令処理部１１１０と同じエンディアンでデータ配置される統合メモリ１２００との間を取り持つために行われる。命令処理部１１１０のエンディアンがリトルであれば無変換、ビックであれば変換するように指定する。
ＣＰＵ１１００では、外部のデバイス１３００，１４００，１５００と統合メモリ１２００との間の転送の仲介を行うピクセルポート１１５２とＣＰＵインタフェースＣＩＵ１１５５のＤＭＡモジュール１１５６を有する。これらは、外部のデバイスに格納されたデータ自体が持つエンディアンと統合メモリ１２００との整合性を持たせるために設定ビットをそれぞれのモジュールに持つ。
また、ＣＰＵインタフェースＣＩＵ１１５５のデータ変換機部（ＹＵＶ）１１５７は、リトルモードで動作するため、入り口においてもエンディアンの変換部１１７２が必要である。勿論、これも設定によって変更できる構成もあり得る。
【００２２】
図１３は、命令処理部１１１０からみた各リソースのマッピングを示す。このマッピングは、モード設定によりパタン１〜３の中から選択することが可能である。これにより、統合メモリ１２００の容量増加、機能変更に対応可能である。
なお、図中ＱＣＳ０〜３、ＳＧＣＳはアドレス空間の種類を表わす。これらは物理的に特定の領域に予約されている。しかし、ＣＰＵ１１００からみたアドレスがどの空間に割り当てられるかはＣＰＵ１１００に内蔵されているアドレス変換機能によって自由にマッピングできる。ＱＣＳ０およびＱＣＳ２は統合メモリ１２００空間およびその拡張空間である。ＱＣＳ１はレジスタ空間、ＱＣＳ３空間はタイルリニア変換を行うエイリアス空間であり、ＱＣＳ０空間と同一メモリ領域となる。ここで、タイルリニア変換とは、ＣＰＵ１１００からのリニア型アドレッシング構造を統合メモリ１２００のタイル型アドレッシングに変換することを云う。
ＣＰＵ１１００では、エンディアン変換部１１７１を統合メモリ制御部（ＭＣＵ）１１７０に持ち、空間で変換に有無を示すことにより実現した。また、ＳＧＣＳ空間はシステム制御用レジスタ空間である。
【００２３】
次に、インタフェースの詳細について述べる。
図１２に示す各モジュールＣＰＵインタフェース（ＣＩＵ）１１５５、画素発生部（ＲＵ）１１３０、表示制御部（ＤＵ）１１４０、ピクセルポール１１５２と統合メモリ制御部（ＭＣＵ）１１７０とは内部バス１１９２で接続される。また、画素発生部（ＲＢＵ）１１３０、表示制御部（ＤＵ）１１４０とＣＰＵインタフェース（ＣＩＵ）１１５５とはバス１１９３で接続される。図１４〜図１６は前者、図１７〜図２１は後者の動作を説明する図である。
図１４〜図１６を用いて説明するインタフェースは、各モジュールから統合メモリ１２００へアクセスする多対１のプロトコルによるインタフェースである。図１４は、このインタフェースの優先順位判定プロトコル、図１５は、データライト、図１６は、データリードの波形をそれぞれ表わす。各図信号名に現れる「*」は任意のユニットを表わす記号であり、例えば表示制御部１１４０であれば「ｄｕ」とする。以下、これをリード動作を行うユニットとする。同様にライト動作を行うユニットとして映像入力部１１２０を「ｖｕ」として表わす。また、統合メモリ制御部１１７０は「ｍｕ」とする。
【００２４】
図１４を説明する。統合メモリ１２００へのアクセスの必要が生じたユニットは、アクセス要求信号ｐｘ＿ｖｕ＿ｍｕ＿ｗｒｅｑ（ｗはライト）やｐｘ＿ｄｕ＿ｍｕ＿ｒｒｅｑ（ｒはリード）をアサートする。これを受けて統合メモリ制御部１１７０は優先順位判定を行った後に適切なユニットに対してアクノレッジ信号を返す。例えば、ｐｘ＿ｍｕ＿ｖｕ＿ｗａｃｋ、ｐｘ＿ｍｕ＿ｄｕ＿ｒａｃｋを１サイクルアサートする。これを受けて要求元はｐｘ＿ｖｕ＿ｍｕ＿ｗｒｅｑやｐｘ＿ｄｕ＿ｍｕ＿ｒｒｅｑをネゲートする。この時即座に次の要求がある場合は続けて要求信号をアサートしても良い。要求元はｐｘ＿ｖｕ＿ｍｕ＿ｗｒｅｑやｐｘ＿ｄｕ＿ｍｕ＿ｒｒｅｑをネゲートすると同時に、要求したアクセスの属性を示す信号をアサートする。
以下、これらを説明する。ｐｘ＿ｍｕ＿ｖｕ＿ａｃｔｙｐｅやｐｘ＿ｍｕ＿ｄｕ＿ａｃｔｙｐｅはアクセスの種類を表わす。０なら統合メモリ１２００へ１サイクルづつ違うアドレスでアクセスを行う。これをランダムモードという。画素発生部１１２０のように任意のアドレスへの書き込みを行う場合に適している。１なら次に示す先頭アドレスから始まる連続データアクセスである。これはシーケンシャルモードという。表示データ読み出し等に適している。これらの２つのタイプを持つことにより、システム全体でのアドレス生成論理の数を極力減らすことができる。ｐｘ＿ｖｕ＿ｍｕ＿ｓｔａｄｒ、ｐｘ＿ｄｕ＿ｍｕ＿ｓｔａｄｒは統合メモリ１２００へのアクセスの先頭アドレスである。これを予め統合メモリ制御部１１７０へ通知することにより、統合メモリ制御部１１７０のＡＣＴコマンドを実転送に先立って起動することができる。ｐｘ＿ｖｕ＿ｍｕ＿ｔｓｉｚｅはアクセス回数を表わす。既に説明したバースト転送をサポートするために必要な信号であり、バースト長を任意に設定できる。
このようにして要求と確認が行われ、ライト（ｗ）またはリード（ｒ）のフェーズへ入る。
【００２５】
図１５は、ライト動作を示す。ｐｘ＿ｍｕ＿ｖｕ＿｛ａ，ｗ｝ｄｒｉｖｅは要求元に対してバスを駆動すべきことを示している。これはトライステート論理で組まれたバスにおいてバスドライブがコンフリクトしたり、フローティングになったりするのを防ぐ目的で必要である。要求元はこれを受けとめてアドレスｐｘ＿ｖｕ＿ｍｕ＿ｃａｄｒおよび書き込みデータｐｘ＿ｖｕ＿ｍｕ＿ｗｄａｔａとそのバイトイネーブルｐｘ＿ｖｕ＿ｍｕ＿ｂｅを出力する。但し、ＬＳＩ内部バスとしてセレクタ論理で実装される場合はこの信号は必要なく、より早いタイミングでデータを出力していてもそれが選択されないだけで問題はない。ｐｘ＿ｍｕ＿ｖｕ＿ｗｃｈｎｇは、要求元に対して次のアドレス及びライトデータに切り替えるべきことを示す信号である。例えばページミスなどの統合メモリ制御部１１７０の要因によって生じる待ち時間の制御がこれで行われる。これはランダムモードの時のみ有効である。規定の転送回数が終わり、最後のデータを取り終わったところで終了信号ｐｘ＿ｍｕ＿ｖｕ＿ｗｅｎｄがアサートされる。
【００２６】
図１６は、リード動作を示す。アドレスの受け渡しは図１５の場合と同様である。リードの場合は、アドレスを受け取ってから統合メモリ１２００のアクセスレイテンシ遅れてデータが返るので、そのインタフェースが必要である。ｐｘ＿ｍｕ＿ｄｕ＿ｒｄａｔａがリーダされたデータ、ｐｘ＿ｍｕ＿ｄｕ＿ｒｓｔｒｂがその期間にデータが有効であることを示すストロー部信号である。転送の最後はｐｘ＿ｍｕ＿ｖｕ＿ｒｅｎｄで示される。
【００２７】
図１７〜２１で説明するインタフェース（図１２のバス１１９３）は主にレジスタアクセスに関する。レジスタアクセスのマスターから各モジュールへアクセスする１対多のプロトコルによるインタフェースである。
図１７は、ライトアクセスを表わす。ライト要求信号ｃｕ＿*ｒｅｑ＿ｗｔのアサートと同時にアドレスｃｕ＿ａｄｒとライトデータｃｕ＿ｄａｔｅもアサートする。
図１８は、リードアクセスを表わす。リード要求信号ｃｕ＿*ｒｅｑ＿ｒｄのアサートと同時にアドレスｃｕ＿ａｄｒもアサートする。要求先のユニットは有効データが整ったところで*＿ａｃｋと同時に*＿ｒｅｇｄａｔａを出力する。
図１９は、ライトアクセスでウェイト（待ち）が発生する様子を示す。ライト要求信号ｃｕ＿*ｒｅｑ＿ｗｔのアサートに伴い、ウェイト信号*＿ｒｅｑ＿ｗａｉｔがアサートされる。
図２０は、このウェイト信号があるときに、次のライト要求が来た場合の波形を示す。２回目のライト（ＰｏｉｎｔＡ）タイミングでウェイト信号*＿ｒｅｑ＿ｗａｉｔがアサートされており、ライト動作は待たされる。また、要求先の要因で３回目の（ＰｏｉｎｔＢ）のタイミングで同時にウェイト信号*＿ｒｅｑ＿ｗａｉｔがアサートされた場合もライト動作は待たされる。
図２１は、バーストライト動作を表わした波形である。ライト動作と同じ信号を用い、複数サイクル要求を出すことによりバースト転送を実現することができる。
【００２８】
【発明の効果】
以上説明したように、本発明によれば、命令制御部からの統合メモリへのアクセスは、命令処理部とチップセットを構成するシステムコントローラを経由せず、高速駆動可能なインタフェースを介して直接アクセスするので、レイテンシを短縮することができる。これにより、メモリ統合構成においても、命令処理時間の延長が軽減され、システム性能の低下を抑えることができる。
また、命令処理部の動作周波数を統合メモリポートの整数倍とすることにより、命令処理部のアクセスを効率よく行うことができ、同様に、命令処理部の動作周波数をシステムバスの整数倍とすることも可能であり、更に、これらの比率を選択可能とすることにより、システムの特性に合わせた設定が容易にできる。
また、複数のデータを一回のバスサイクル内で転送するバーストアクセスが可能であるので、バス効率を向上させ、一連のアクセスのレイテンシを短縮することができる。
また、統合メモリへのアクセス優先順位の設定を行うことにより、レイテンシを適切に調整することができる。
また、システムバス経由、命令処理部経由のデータ転送をまとめて処理することによってデータ転送をバースト化して効率を上げることができる。
また、データ転送自体の回数を減らすために、エンディアン変換機能を持つことにより、処理回数を低減することができる。
【図面の簡単な説明】
【図１】  本発明のメモリアクセス方式の一実施形態
【図２】  本発明のマルチメディアデータ処理装置の基本部分を抜き出したブロック図
【図３】  本発明の各インタフェースの周波数の関係を示す図
【図４】  本発明の統合メモリへの書き込みタイミング波形の例
【図５】  本発明の統合メモリからの読み出しタイミング波形の例
【図６】  本発明の内部バースト転送の例
【図７】  本発明の表示画面合成イメージの説明図
【図８】  本発明の表示アクセスモードの説明図
【図９】  本発明の表示アクセスモード設定の説明図
【図１０】  本発明のレジスタ機能の説明図
【図１１】  本発明のレジスタ機能の説明図
【図１２】  本発明のマルチメディアデータ処理装置内のＣＰＵの詳細ブロック図
【図１３】  本発明のメモリマップ設定例
【図１４】  本発明の画像バスのリクエスト／コマンドステージ波形図
【図１５】  本発明の画像バスのライトデータステージ波形図
【図１６】  本発明の画像バスのリードデータステージ波形図
【図１７】  本発明の設定バスのライト波形図
【図１８】  本発明の設定バスのリード波形図
【図１９】  本発明の設定バスのライトによるウェイト発生波形図
【図２０】  本発明の設定バスのライトによるウェイト波形図
【図２１】  本発明の設定バスのバーストライト波形図
【図２２】  従来例の構成の特徴を説明するブロック図
【図２３】  本発明の構成の特徴を説明するブロック図
【符号の説明】
１０００…マルチメディアデータ処理装置、１１００…ＣＰＵ、１１１０…命令制御部、１１２０…映像入力部、１１３０…画素発生部、１１４０…表示制御部、１１５０…システムバス制御部、１１５５…ＣＰＵインタフゥース、１１６０…高速データ入出力部、１１７０…統合メモリ制御部、１１８０…音声制御部、１１９１…内部バス、１１９２…内部バス、１２００…統合メモリ、１２１０…主記憶領域、１２２０…表示領域、１２３０…映像領域、１２４０…描画領域、１３００…ＦＬＡＳＨ、１４００…ＳＲＡＭ、１５００…周辺インタフェース、１５００ａ，１５００ｂ…システムコントローラ、１９１０…統合メモリポート、１９２０…システムバス、２１００…画像表示装置、２２００…音声発生装置、２３００…映像信号発生部、３１００…ドライブ、３２００…モデム、４１００…キーパッド、４２００…キーボード、４３００…マウス
【図１】
0004042088.tif 000002
【図２】
0004042088.tif 000003
【図３】
0004042088.tif 000004
【図４】
0004042088.tif 000005
【図５】
0004042088.tif 000006
【図６】
0004042088.tif 000007
【図７】
0004042088.tif 000008
【図８】
0004042088.tif 000009
【図９】
0004042088.tif 000010
【図１０】
0004042088.tif 000011
【図１１】
0004042088.tif 000012
【図１２】
0004042088.tif 000013
【図１３】
0004042088.tif 000014
【図１４】
0004042088.tif 000015
【図１５】
0004042088.tif 000016
【図１６】
0004042088.tif 000017
【図１７】
0004042088.tif 000018
【図１８】
0004042088.tif 000019
【図１９】
0004042088.tif 000020
【図２０】
0004042088.tif 000021
【図２１】
0004042088.tif 000022
【図２２】
0004042088.tif 000023
【図２３】
0004042088.tif 000024