(57)【要約】【課題】メモリより読み出した表示データを一時格納保存するバッファの記憶容量を抑え、効率よくメモリにアクセスする。【解決手段】複数のフレームメモリ領域にアクセスする際、少量の表示データを単位として一定の順序に従って各フレームメモリ領域から表示データを読み出す。その際、フレームメモリに格納されている表示データの１ピクセルあたりに必要な平均のデータ量に比例したデータ量が各フレームメモリ領域より読み出されるよう順序を指定する。また上記の順序でメモリにアクセスした際、ロウアドレスの指定が省略可能になるようメモリアクセス前にアドレス変換を行う。【選択図】  図１
2004317536.tif 000002
【特許請求の範囲】
【請求項１】
メモリに割り当てた複数のフレームメモリ領域に格納してある表示データを参照し、映像信号を生成する表示制御システムで、前記メモリにアドレスを複数回に分けて指定するメモリを使用し、前記メモリがアドレスを複数回に分けて指定する際に一定の条件を満たす場合にはアドレスの一部の指定を省略することが可能であるメモリを使用するシステムにおいて、前記メモリにアクセスする際にアドレスを変換し、前記メモリのアクセスを行うことを特徴とする表示システム。
【請求項２】
複数のフレームメモリ領域に格納してある表示データを参照し、前記参照した表示データに対応する表示内容を重ね合わせた映像信号を生成する請求項１記載のシステム。
【請求項３】
表示内容を重ね合わせた映像信号を生成する際に、前記表示内容を半透明合成する請求項２記載のシステム。
【請求項４】
複数のフレームメモリ領域に格納してある表示データを参照し、それぞれの前記表示データを独立した映像信号として同時に出力する請求項１記載のシステム。
【請求項５】
アドレス変換を行う際に、表示データの１ピクセルあたりの平均データ量に応じて前記アドレス変換方法を変更する請求項１、請求項２、請求項３、または請求項４記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ装置及びその応用装置において、メモリに格納した表示データを表示するシステムに関する。
【０００２】
【従来の技術】
複数存在する表示データを同時表示するシステムが存在する。例えば、特開平６−１４９５２７号公報では、マルチウィンドウシステムを用いて、複数のフレームメモリに存在する表示データを同時に表示する方式を示している。また、特開平１０−２０７４４６号公報では、マルチウィンドウシステムを実現する際に必要となる表示データ格納用メモリ空間を削減し、表示のためのメモリアクセス回数を抑制する装置が示されている。
【０００３】
【特許文献１】
特開平６−１４９５２７号公報
【特許文献２】
特開平１０−２０７４４６号公報
【０００４】
【発明が解決しようとする課題】
メモリのデータ転送速度が高速になり、記憶容量も増大した結果、一組のメモリ内部に同時表示が必要となる表示データを格納する複数のフレームメモリ領域を割り当て可能となった。また、フレームメモリに格納する表示データの生成等を行うプロセッサが実行するプログラムや、前記プロセッサが必要とするデータを格納するメモリと、前記フレームメモリ領域を割り当てたメモリを共用することも可能となった。
【０００５】
フレームメモリやプロセッサの主記憶装置に使用されるメモリには、高集積化が可能な半導体メモリであるＤＲＡＭ、特にシンクロナスＤＲＡＭ（以下ＳＤＲＡＭ）が利用されている。しかし、ＤＲＡＭではアドレスにロウアドレスとカラムアドレスを指定する必要があり、ロウアドレスが変化しない場合にはデータを連続的に転送可能であるが、ロウアドレスが変化する場合には、プリチャージ及びロウアドレスの再設定が必要となり、データ転送が一時中断する問題がある。特に、クロックの立ち上がりと立下りの両方に同期してデータ転送を行うＳＤＲＡＭであるＤＤＲ−ＳＤＲＡＭでは、この一時中断のオーバーヘッドが大きい。
【０００６】
通常のシステムでは、連続するアドレスのデータ転送を高速に行う必要があるので、アドレスの上位ビットをロウアドレス、下位ビットをカラムアドレスに割り当てる。しかし、複数のフレームメモリ領域を一組のメモリ内部に割り当て、複数のフレームメモリ領域に存在する表示データを合成する為には、複数のフレームメモリ領域をアクセスする必要がある。通常、一個のフレームメモリ領域は同一ロウアドレスに収まるほど小さくはなく、この結果、ロウアドレスの頻繁な切り替えが必要となり、メモリのデータ転送の一時中断が多発することになる。
【０００７】
メモリのデータ転送速度が高速になっても、データ転送の一時中断が多発すると、実効データ転送速度が低下し、当該メモリにフレームメモリ領域を割り当てた場合には、表示に必要なデータ転送速度にメモリからのデータ転送速度が追いつかず表示が乱れる可能性がある。また、プロセッサのプログラムやデータとフレームメモリを共用している場合には、プロセッサの動作速度が低下する。このような問題を回避するには、表示の際に参照が必要となるフレームメモリ領域ごとにある程度大きなバッファメモリを用意し、フレームメモリ領域からバッファメモリへ連続したデータ転送を行う方法がある。しかし、この方法では、最低でも数百バイト程度のバッファメモリが表示の際に同時に参照が必要となるフレームメモリ領域の数だけ必要となり、表示制御システムを集積回路にする際、面積の増大を招く問題がある。
【０００８】
別の問題回避方法として、特開平１０−２０７４４６号公報に示された方法を用いて、メモリアクセス回数を抑制することも考えられるが、デジタル放送の５プレーンモデルのように、原則として個々のフレームメモリに格納した表示データが表示装置の画面全体の表示に対応し、かつ個々のフレームメモリに格納されている表示データ間でアルファブレンド（半透明合成）を行う場合には、あまり効果を期待できない。
【０００９】
そこで、ＤＲＡＭ、特にＳＤＲＡＭまたはＤＤＲ−ＳＤＲＡＭ上に複数のフレームメモリ領域を用意し、表示時に複数のフレームメモリから表示データを読み出し合成する表示制御システムにおいて、前記フレームメモリ領域からデータを読み出す際に必要なバッファメモリの容量を抑えながら、プリチャージ及びロウアドレス転送によるデータ転送の中断を抑制し、効率よくフレームメモリ領域からデータ転送を行うシステムを提供するのが、この発明が解決しようとする課題である。
【００１０】
【課題を解決するための手段】
表示に際して表示データを複数のフレームメモリ領域から読み出す際に、一定の順序に従って必要な表示データを持つフレームメモリ領域にアクセスする。この際に、数から数十バイト程度の単位で次のフレームメモリ領域のアクセスを行う。また、フレームメモリ領域ごとに単位時間当たりに必要なデータ量が異なる場合には、その比率と同じ比率で各フレームメモリ領域からデータを読み出す。
【００１１】
フレームメモリ領域へアクセスする際には、上記に示した順序でアクセスを行った場合に、殆どの場合において同一のロウアドレスに対するアクセスになるようにアドレス変換を行う。また、このようなアドレス変換を行う為に、アドレス変換時には、それぞれのフレームメモリ領域から単位時間当たりに読み出すデータ量の比率情報を参照して、異なるアドレス変換を行う。
【００１２】
【発明の実施の形態】
図１を用いて、本発明の実施の形態を説明する。システムバス１０１には、演算処理を行い表示データの作成等が可能なプロセッサ１１０、システムバス１０１に接続してある機能ブロックに対して大量のデータ転送を効率的に行うことが可能なダイレクトメモリアクセス制御装置１２０、外部機器との接続に使用する各種Ｉ／Ｏ１３０、表示装置へ出力する信号を生成する表示制御装置３００、メモリ５００の接続に必要となるメモリアクセス制御装置２００が接続してある。メモリ５００はＤＤＲ−ＳＤＲＡＭであるが、ＳＤＲＡＭ等他のＤＲＡＭの場合も考えられる。表示専用バス１０２は、システムバス１０１に負担をかけずに表示に必要となる大量のデータをメモリ５００から表示制御装置３００に転送するためのバスであり、メモリアクセス制御装置２００と表示制御装置３００を直結している。メモリアクセス制御装置２００内部には、表示データの読み出しをメモリ５００から効率的に行えるよう、アドレス変換器２１０が存在する。表示制御装置３００には２系統の表示信号を出力可能であり、表示装置Ａ４０１と表示装置Ｂ４０２が接続してある。但し、表示制御装置３００の出力は１系統の場合もあり、３系統以上の場合もありうる。
【００１３】
メモリ５００には、プロセッサ１１０が必要とするプログラムやデータ、ダイレクトメモリアクセス制御装置１２０の制御パラメータ、及び表示内容に対応する表示データを格納する。
【００１４】
図２を用いて表示制御装置３００の内部構成を説明する。表示タイミング及び表示モード制御装置３１０は表示制御装置３００の全体の制御を行う。表示タイミング及び表示モード制御装置３１０はシステムバス１０１に接続してあり、プロセッサ１１０からの制御で、表示制御装置３００の動作モードを変更可能である。
【００１５】
ＦＩＦＯ−Ａ（３２１、３２２、３２４、３２５、３２６）はシステムバス１０１または表示専用バス１０２から入力される表示データを一時的に蓄える。使用する入力は、表示タイミング及び表示モード制御装置３１０からの制御信号により選択可能である。入力としてシステムバス１０１を選択したＦＩＦＯ−Ａ（３２１、３２２、３２４、３２５、３２６）へは、ダイレクトメモリアクセス制御装置１２０を使用して、メモリ５００に存在する表示データを転送する。入力として表示専用バス１０２を選択したＦＩＦＯ−Ａ（３２１、３２２、３２４、３２５、３２６）へは、メモリアクセス制御装置２００がメモリ５００に存在する表示データの転送を行う。
【００１６】
ＦＩＦＯ−Ｂ３２３はシステムバス１０１から入力されるデータを一時的に蓄える。ＦＩＦＯ−Ｂ３２３へは、ダイレクトメモリアクセス制御装置１２０を使用して、メモリ５００に存在する表示データを転送する。ＦＩＦＯ−Ｂ３２３はＦＩＦＯ−Ａ（３２１、３２２）に入力される２種類の表示データの選択に使用するビットマップイメージの一時的な蓄積に使用し、ＦＩＦＯ−Ａ（３２１、３２２、３２４、３２５、３２６）の取り扱うデータ量に比べて少量のデータを取り扱うため、表示専用バス１０２へは接続していない。
【００１７】
フォーマッタＡ（３３１、３３２）は表示データ１ピクセルに対応する単位でＦＩＦＯ−Ａ（３２１、３２２）からデータを取り出し、データの割り当てを行うことで、ＹＣｂＣｒやＲＧＢ等のコンポーネント信号に対応するデータを作成する。フォーマッタＡ（３３１、３３２）から出力するＲＧＢまたはＹＣｂＣｒの各コンポーネントは８ビットのデータであり、合計２４ビットである。このデータ割り当て処理により、１ピクセルあたり８ビットのデータを取り込み、すべてのコンポーネント成分に同じ値を設定することや、３２ビットのデータを取り込み、コンポーネント成分ごとに独立した値を設定することが可能である。また、連続する２ピクセルで同じデータを使用し、出力することで横方向の表示解像度を半分にして、表示データのデータ量を半分にすることも可能である。さらに、ＹＣｂＣｒフォーマットのデータが入力された場合、色信号であるＣｂ及びＣｒ信号だけ横方向の解像度を半分にすることで、表示データのデータ量を抑制することや、入力側データの各コンポーネント成分を５ビットまたは６ビットのデータとして取り扱い、階調変換を行うことでデータ量を抑制することも可能である。
【００１８】
フォーマッタＢ３３３は１ピクセルあたり１ビットのデータをＦＩＦＯ−Ｂ３２３より取り出し、画像選択器３４１に送出する。画像選択器３４１はフォーマッタＢ３３３から来た値が０か１かによって、フォーマッタＡ３３１またはフォーマッタＡ３３２からのデータを選択し、色変換器Ａ３５１へ送る。
【００１９】
色変換器Ａ３５１には２種類の色変換機能がある。第１の機能はＲＧＢからＹＣｂＣｒまたはＹＣｂＣｒからＲＧＢへの色空間変換機能であり、積和演算により実現している。第２の機能はルックアップテーブルによる色変換であり、コンポーネント毎に変換テーブルを参照して、色変換を行う。変換テーブルは、１コンポーネントにつき、８ビット幅、２５６エントリのメモリで構成する。第１の機能と第２の機能の処理順は任意で、その順序は表示タイミング及び表示モード制御装置３１０からの制御信号により選択される。また、それぞれの機能を使用しないことも選択可能である。
【００２０】
フォーマッタＣ（３３４、３３５、３３６）はフォーマッタＡ（３３１、３３２）と殆ど同じ機能を持つが、ＹＣｂＣｒまたはＲＧＢコンポーネント成分に加え、半透明合成時に必要な透明度を指定するα値を取り扱うことが可能である。α値も他のコンポーネントと同じ８ビットのデータである。α値はＦＩＦＯ−Ａ（３２４、３２５、３２６）から取り込むことも可能であるし、一定の値とすることも可能である。また、ＦＩＦＯ−Ａ（３２４、３２５、３２６）より取り出した８ビットの入力データをすべてのコンポーネント成分に割り当てる場合、すなわちすべてのコンポーネント成分で同じ値を使用する際には、α値にも同じ値を割り当てることが可能である。
【００２１】
色変換器Ｂ（３５４、３５５、３５６）はルックアップテーブルによる色変換器であり、コンポーネント毎に変換テーブルを参照して、色変換を行う。変換テーブルは、１コンポーネントにつき、８ビット幅、２５６エントリのメモリで構成する。色変換器Ｂ（３５４、３５５、３５６）はα値についても変換テーブルを持つ。
【００２２】
色変換器Ａ３５１の出力と色変換器Ｂ３５４の出力は、色変換器Ｂ３５４から出力されるα値が使用され、αブレンド演算器３６４で半透明合成される。この出力と色変換器Ｂ３５５の出力とは、色変換器Ｂ３５５から出力されるα値が使用され、αブレンド演算器３６５で半透明合成される。さらに、この出力と色変換器Ｂ３５６の出力とは、色変換器Ｂ３５６から出力されるα値が使用され、αブレンド演算器３６６で半透明合成される。αブレンド演算器（３６４、３６５、３６６）は、ＹＣｂＣｒまたはＲＧＢのコンポーネント毎に、α値に応じた比で半透明合成を行う。
【００２３】
αブレンド演算器３６６の出力は、同期信号挿入器３７１で表示に必要な同期信号が加えられ、映像信号Ａとして出力される。
【００２４】
αブレンド演算器３６５の出力は、色変換器Ｃ３５９にも送られる。色変換器Ｃ３５９は色変換器Ａの第１の機能と同じ機能を持ち、ＲＧＢからＹＣｂＣｒまたはＹＣｂＣｒからＲＧＢへの色空間変換を行うことが可能である。また、表示タイミング及び表示モード制御装置３１０からの制御信号により、色空間変換を行わないことも選択可能である。色変換器３５９により、映像出力Ａと映像出力Ｂで異なる色空間の信号を出力することが可能である。
【００２５】
色変換器Ｃ３５９の出力は、同期信号挿入器３７２で表示に必要な同期信号が加えられ、映像信号Ｂとして出力される。
【００２６】
同期信号挿入器３７１と同期信号挿入器３７２は同期しており、映像出力Ａと映像出力Ｂからはピクセル値の出力間隔、水平同期及び垂直同期が一致した信号が出力される。
【００２７】
αブレンド演算器（３６４、３６５、３６６）は、表示タイミング及び表示モード制御装置３１０からの制御信号により、それぞれ独立して、半透明合成を行わずに、入力信号の一方を選択して出力することも可能である。この機能により、αブレンド演算器３６６で色変換器Ｂ３５６からの信号のみを出力することで、映像出力Ａと映像出力Ｂで異なる表示内容を出力することが可能である。
【００２８】
図３を用いてメモリアクセス制御装置２００の内部構成を説明する。システムバス１０１から入力されるメモリアクセス要求は、システムバスインタフェース２２０を介してメモリアクセス要求ＦＩＦＯ２４０に一時的に蓄えられる。また、メモリアクセス要求がメモリライトである場合には、メモリへ書き込むデータは書き込みデータＦＩＦＯ２７０に一時蓄えられる。メモリアクセス要求ＦＩＦＯ２４０には、アクセス対象のアドレス情報及びリードまたはライト要求の種別、アクセスするデータのバイト数、さらにメモリリードの場合にはアクセス要求識別ＩＤが格納される。アクセス要求識別ＩＤはメモリからデータの読み出し完了後に、要求元に対してデータを戻す際の戻し先の識別に用いる。メモリアクセス要求ＦＩＦＯ２４０に余裕がない状態でメモリアクセス要求がきた場合、システムバスインタフェース２２０はメモリアクセス要求ＦＩＦＯ２４０に余裕ができるまでシステムバス１０１をストールする。メモリアクセス要求がメモリライトの際に書き込みデータＦＩＦＯ２７０に余裕がない状態の場合、またはメモリアクセス要求がメモリリードの際に読み出しデータＦＩＦＯ２７５に余裕がない状態の場合にも、同様に余裕ができるまでシステムバス１０１をストールする。
【００２９】
メモリアクセス要求ＦＩＦＯ２４０に一時的に蓄えられた要求は、調停装置２６０により表示データアドレス発生器２５０が発生したアドレスと調停され、アドレス変換器２１０に送られる。アドレス変換器２１０による変換前アドレスを変換前メモリアドレス２２０１、変換後アドレスを変換後メモリアドレス２２５１とする。アドレス変換器２１０では、変換前メモリアドレス２２０１に応じて異なる変換を行う。
【００３０】
表示データアドレス発生器２５０は、表示専用バス１０２経由で表示制御装置３００に送る表示データの格納されているアドレスを発生する。アドレスを発生する際には、そのアドレスから読み出した表示データの表示制御装置３００内での行き先が識別可能なようにアクセス要求識別ＩＤも発生する。
【００３１】
表示データの格納アドレスや表示データをメモリ５００から読み出す順序は、プロセッサ１１０よりシステムバス１０１経由で表示データアドレス発生器２５０に設定する。
【００３２】
調停装置２６０は、表示専用バスインタフェース１０２を利用したデータ転送機能が使用されており、表示専用データバッファ２８０に一度にメモリ５００から読み出すデータ量以上の空きがある場合には、原則として表示データの読み出しを優先し、表示データアドレス発生器２５０の発生したアドレスを選択する。但し、一定期間以上表示データアドレス発生器２５０の発生したアドレスを選択した状態が継続し、メモリアクセス要求ＦＩＦＯ２４０にメモリアクセス要求が存在する場合には、システムバス１０１が完全に停止するのを防止するため、メモリアクセス要求ＦＩＦＯ２４０からのアドレスを選択する。表示専用データバッファ２８０に一度にメモリ５００から読み出すデータ量は、バイト単位で２のべき乗とする。このデータ量は、メモリ５００とメモリアクセス制御装置２００が６４ビットデータバスで接続してある場合、２５６バイト程度とするが、それ以外のこともありえる。
【００３３】
アドレス変換器２１０で生成された変換後メモリアドレス２２５１はアクセス要求識別ＩＤと共にメモリアクセスタイミング発生器２９０へ送られる。そして、メモリアクセスタイミング発生器２９０により、メモリ５００のアクセスに必要な制御信号が生成される。
【００３４】
メモリアクセスタイミング発生器２９０は、変換後メモリアドレス２２５１からロウアドレス２２６３、カラムアドレス２２６２、バンクアドレス２２６４、バイト選択信号、メモリ５００を構成するメモリチップを選択するチップ選択信号を生成し、同時にメモリ５００を制御するコントロール信号を生成する。この際、メモリ５００にアクセスするデータ量に応じて、複数回のアクセスに相当する制御信号を発生する場合もある。また、適当な間隔でメモリ５００が必要とするリフレッシュコマンドも生成する。
【００３５】
メモリライトの際には、メモリアクセスタイミング発生器２９０に同期して、書き込みデータＦＩＦＯ２７０から書き込みデータがメモリ５００へ出力される。
【００３６】
メモリリードの際には、メモリ５００から読み出しデータが出力されるタイミングでメモリアクセスタイミング発生器２９０が読み出しデータＦＩＦＯ２７５または表示専用読み出しデータバッファ２８０に指示を出し、データを取り込む。読み出しデータＦＩＦＯ２７５と表示専用読み出しデータバッファ２８０のどちらにデータを取り込むかは、アクセス要求識別ＩＤにより判断する。また、読み出しデータＦＩＦＯ２７５または表示専用読み出しデータバッファ２８０がメモリ５００からデータを取り込む際には、同時に対応するアクセス要求識別ＩＤをメモリアクセスタイミング発生器２９０から取り込む。
【００３７】
図１０に、変換後メモリアドレス２２５１とロウアドレス２２６３、カラムアドレス２２６２、バンクアドレス２２６４、バイト選択２２６１ビット、チップ選択２２６５ビットの関係の例を示す。図１０に示した例では、メモリ５００とメモリアクセス制御装置２００が６４ビットデータバスで接続されており、メモリ５００はＤＤＲ−ＳＤＲＡＭであり、メモリ５００を構成するメモリチップ１個あたり、記憶容量が１２８Ｍビット、データバス幅が１６ビット、バンクアドレス幅２ビット、ロウアドレス幅１２ビット、カラムアドレス幅９ビットであることを想定している。実際にメモリ５００へ送るバイト選択信号はバイト選択２２６１ビット及びメモリアクセス対象とするバイト幅により生成する。メモリ５００へ送るチップ選択信号はチップ選択２２６５ビットをデコードして生成する。アクセスするデータ量が多く、メモリ５００へ複数回のアクセスが必要な場合、バンクアドレス２２６４、ロウアドレス２２６３、カラムアドレス２２６２は必要に応じて１回のアクセス毎に更新する。
【００３８】
読み出しデータＦＩＦＯ２７５に格納されたデータは、システムバスインタフェース２２０を介してシステムバス１０１経由で、アクセス要求識別ＩＤを元に順次アクセス要求元へと送出される。
【００３９】
表示専用読み出しデータバッファ２８０に格納されたデータは、表示専用バスインタフェース２３０を介して表示専用バス１０２経由で表示制御装置３００へ順次送出される。表示制御装置３００内の送り先はアクセス要求識別ＩＤを用いて決定する。
【００４０】
図４を用いてメモリアクセス制御装置２００内の表示データアドレス発生器２５０の構成を説明する。表示プレーン１アドレスカウンタ２５１は表示制御装置３００内のＦＩＦＯ−Ａ３２１へ送る表示データの読み出しアドレスを保持する。表示プレーン２アドレスカウンタ２５２は表示制御装置３００内のＦＩＦＯ−Ａ３２２へ送る表示データの読み出しアドレスを保持する。表示プレーン３アドレスカウンタ２５３は表示制御装置３００内のＦＩＦＯ−Ａ３２４へ送る表示データの読み出しアドレスを保持する。表示プレーン４アドレスカウンタ２５４は表示制御装置３００内のＦＩＦＯ−Ａ３２５へ送る表示データの読み出しアドレスを保持する。表示プレーン５アドレスカウンタ２５５は表示制御装置３００内のＦＩＦＯ−Ａ３２６へ送る表示データの読み出しアドレスを保持する。それぞれのアドレスカウンタには、システムバス１０１からデータの開始アドレスとデータサイズを設定でき、データサイズ分のアドレスを発生した後に、開始アドレスに戻ることで、その範囲のアドレスを繰り返し発生する。アドレスカウンタの増分は、メモリ５００との間のデータバス幅やメモリ５００の種類、さらにメモリ５００とのバースト転送単位に依存し調整する必要があるが、ＤＤＲ−ＳＤＲＡＭに６４ビットデータバスで接続し、バースト転送単位を２として取り扱う場合、１６バイト分とする。但し、１６バイト以外の増分であることも考えられる。データサイズを指定する際には、ある任意のサイズの１倍、２倍、４倍または８倍いずれかのサイズとなるよう全てのアドレスカウンタに指定する必要がある。通常、表示においては１ピクセルあたり必要なデータ量は表示モードにより変化するが、そのデータ量の比はある値の１倍、２倍、４倍または８倍となることが多い。したがって、画面全体について重ね合わせを行う場合、このサイズの条件を満たすことは可能である。表示制御装置がインタレース（飛び越し走査）画像を取り扱う場合、アドレスカウンタのアドレス発生パタンを走査順序にあわせて変更する必要がある。
【００４１】
アドレスカウンタ選択器２５７はアクセス順序指定レジスタ２５８で指定される順序に従って、表示プレーン１アドレスカウンタ２５１、表示プレーン２アドレスカウンタ２５２、表示プレーン３アドレスカウンタ２５３、表示プレーン４アドレスカウンタ２５４または表示プレーン５アドレスカウンタ２５５のいずれかのアドレスを選択し調停装置２６０へ送る。
【００４２】
アクセス順序指定レジスタ２５８にはシステムバス１０１経由でアクセス順序のリストを設定しておく。この際、短い周期で必要となるデータ量の比率と同じ割合でアドレスカウンタを選択するようなリストにする。また、なるべく選択するアドレスカウンタを分散するようにする。
【００４３】
図５を用いてメモリアクセス制御装置２００内のアドレス変換器２１０の構成を説明する。但し、ビットの割り当てはメモリ５００の構成により異なり、図５はその一例を示している。
【００４４】
領域判定器２１１は変換前メモリアドレス２２０１のビット２０から２７を参照し、ある一定の範囲に入っているか検出する。検出結果はアドレス選択器２１４に伝えられ、アドレス選択器２１４は検出結果に応じて、変換前メモリアドレス２２０１のビット４からビット２４をそのまま選択するかローテート演算器２１３の出力を選択する。アドレス変換自体はローテート演算器２１３で行われる。
【００４５】
変換方式判定器２１２は変換前メモリアドレス２２０１のビット２０から２４を用い、アドレス変換方法を決定する。アドレス変換方法の決定に用いる変換前メモリアドレス２２０１のビット２０からビット２４をフレームＩＤとする。この結果を用いてローテート演算器２１３はアドレス変換を行う。
【００４６】
したがって、アドレス変換器２１０は変換前メモリアドレス２２０１によって異なるアドレス変換を行ったり、あるいはアドレス変換を行わなかったりすることが可能である。
【００４７】
図６、図７、図８、図９はアドレス変換器２１０が図５に示すビット割り当てを用いる際のアドレス変換方法を示している。どのアドレス変換方法を利用するかは、該当するアドレスに格納する表示データのサイズ、すなわちフレームバッファのサイズにより決定する。本発明の実施の形態では表示する画像の表示サイズはすべての表示プレーンで同じとなるので、フレームバッファのサイズは１ピクセル当たりのデータ量に比例する。このデータ量の比を、１：２：４：８とした際、図６は１に相当するサイズの表示データを格納する領域に用いるアドレス変換、図７は２に相当するサイズの表示データを格納する領域に用いるアドレス変換、図８は４に相当するサイズの表示データを格納する領域に用いるアドレス変換、図９は８に相当するサイズの表示データを格納する領域に用いるアドレス変換を示している。
【００４８】
図６に示すアドレス変換では変換前メモリアドレス２２０１のビット４からビット２４までを５ビット左ローテートすることで変換後メモリアドレス２２５１を得る。図７に示すアドレス変換では変換前メモリアドレス２２０１のビット５からビット２４までを４ビット左ローテートすることで変換後メモリアドレス２２５１を得る。図８に示すアドレス変換では変換前メモリアドレス２２０１のビット６からビット２４までを３ビット左ローテートすることで変換後メモリアドレス２２５１を得る。図９に示すアドレス変換では変換前メモリアドレス２２０１のビット７からビット２４までを２ビット左ローテートすることで変換後メモリアドレス２２５１を得る。すなわち、ローテートするビット範囲とローテート量を同時に変更する。
【００４９】
図１１及び図１２を用い、表示データを格納するメモリ領域、すなわちフレームバッファの割り当て状態の例を示す。図１１では変換前メモリアドレス２２０１のアドレス空間におけるメモリ領域割り当て例を示しており、図１２では図１１に示す例に対応する変換後メモリアドレス２２５１のアドレス空間におけるメモリ領域割り当て状態を示す。
【００５０】
図１１に示す例では、変換前メモリアドレス２２０１のビット２７及び２６が０、ビット２５が１の際に、アドレス変換器２１０がアドレス変換を行っている。また、フレームＩＤ０（８００）及びフレームＩＤ１（８０１）の領域では、図６に示すアドレス変換を選択、フレームＩＤ２（８０２）、フレームＩＤ３（８０３）、フレームＩＤ１６（８１６）、及びフレームＩＤ１７（８１７）の領域では図７に示すアドレス変換を選択、フレームＩＤ４（８０４）からフレームＩＤ７（８０７）までの領域では図８に示すアドレス変換を選択、フレームＩＤ８（８０８）からフレームＩＤ１５（８１５）までの領域は図９に示すアドレス変換を選択したことを想定している。
【００５１】
図１１に示すように、１個以上の連続するフレームＩＤ単位の領域を組にしてフレームグループとする。図６に示すアドレス変換を行った領域は１個のフレームＩＤ単位領域で、図７に示すアドレス変換を行った領域では２個のフレームＩＤ単位領域で、図８に示すアドレス変換を行った領域では４個のフレームＩＤ単位領域で、図９に示すアドレス変換を行った領域では８個のフレームＩＤ単位領域でフレームグループを構成する。フレームグループの最初の領域に対応するフレームＩＤは必ずフレームグループを構成するフレームＩＤ単位領域の個数の倍数である必要がある。
【００５２】
表示データを格納する領域、すなわちフレームバッファはフレームグループを単位とする。例えば、表示プレーン１、表示プレーン２、表示プレーン３、表示プレーン４、表示プレーン５の表示データ量の比率が１：４：２：２：８である場合、表示プレーン１にはフレームグループ０（９００）、表示プレーン２にはフレームグループ３（９３０）、表示プレーン３にはフレームグループ２（９２０）、表示プレーン４にはフレームグループ５（９５０）、表示プレーン５にはフレームグループ４（９４０）を割り当てる。
【００５３】
図１１に示したフレームグループは、アドレス変換により図１２に示すように変換後メモリアドレス２２５１空間において細かく断片化される。フレームグループ０（９００）及びフレームグループ１（９１０）は１６バイト単位に、フレームグループ２（９２０）及びフレームグループ５（９５０）は３２バイト単位に、フレームグループ３（９３０）は６４バイト単位に、フレームグループ４（９４０）は１２８バイト単位に断片化される。この結果、表示において同じタイミングで必要となるデータが、メモリ５００内部の１個のロウアドレス２２６３で指定される領域に集まる。
【００５４】
表示において同じタイミングで必要となるデータの読み出し順序は、すでに説明した表示データアドレス発生器２５０により制御される。したがって、表示に必要となる表示プレーン全ての表示データを一括して表示専用読み出しデータバッファ２８０で管理することで、表示専用読み出しデータバッファ２８０の容量を有効に活用して、メモリ５００に連続的にアクセスを発行できる。この際、表示専用読み出しデータバッファ２８０の容量を抑えるためには、複数の表示プレーンに対応するデータをなるべく細かい単位で、必要となるデータ量の比率に従い、偏りなくメモリ５００から読み出す必要がある。このような読み出し方法を行っても、すでに説明したアドレス変換機能を用いることで、ロウアドレス２２６３の変化を抑えられるので、メモリ５００アクセス時にロウアドレス２２６３を指定する頻度を抑制でき、メモリ５００に効率よくアクセス可能である。
【００５５】
【発明の効果】
以上説明したように、本発明により複数の表示プレーンの表示データを参照、合成して表示を行う表示システムで、メモリにＳＤＲＡＭやＤＤＲ−ＳＤＲＡＭ等のロウアドレスとカラムアドレスの指定が別々に必要なメモリを使用した場合において、メモリから読み出した表示データを一時蓄えるバッファの容量を抑制しながら、メモリに効率的にアクセスすることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るブロック図である。
【図２】表示制御装置の内部構成を示すブロック図である。
【図３】メモリアクセス制御装置の内部構成を示すブロック図である。
【図４】メモリアクセス制御装置内の表示データアドレス発生器の内部構成を示すブロック図である。
【図５】メモリアクセス制御装置内のアドレス変換器の構成を示すブロック図である。
【図６】メモリアクセス制御装置内のアドレス変換器の第１のアドレス変換方法を示す図である。
【図７】メモリアクセス制御装置内のアドレス変換器の第２のアドレス変換方法を示す図である。
【図８】メモリアクセス制御装置内のアドレス変換器の第３のアドレス変換方法を示す図である。
【図９】メモリアクセス制御装置内のアドレス変換器の第４のアドレス変換方法を示す図である。
【図１０】変換後メモリアドレスとメモリアクセス時に必要となるアドレスの関係の例を示す図である。
【図１１】変換前メモリアドレスによるアドレス空間においてフレームメモリ領域の割り当て例を示す図である。
【図１２】図１１に示したフレームメモリ領域の割り当て例に対応する、変換後メモリアドレスによるアドレス空間におけるフレームメモリ領域の割り当て状態を示す図である。
【符号の説明】
１０１…システムバス、１０２…表示専用バス、１１０…プロセッサ、１２０…ダイレクトメモリアクセス制御装置、１３０…各種Ｉ／Ｏ、２００…メモリアクセス制御装置、２１０…アドレス変換器、２１１…領域判定器、２１２…変換方式判定器、２１３…ローテート演算器、２１４…アドレス選択器、２２０…システムバスインタフェース、２３０…表示専用バスインタフェース、２４０…メモリアクセス要求ＦＩＦＯ、２５０…表示データアドレス発生器、２５１…表示プレーン１アドレスカウンタ、２５２…表示プレーン２アドレスカウンタ、２５３…表示プレーン３アドレスカウンタ、２５４…表示プレーン４アドレスカウンタ、２５５…表示プレーン５アドレスカウンタ、２５７…アドレスカウンタ選択器、２５８…アクセス順序指定レジスタ、２６０…調停装置、２７０…書き込みデータＦＩＦＯ、２７５…読み出しデータＦＩＦＯ、２８０…表示専用読み出しデータバッファ、２９０…メモリアクセスタイミング発生器、３００…表示制御装置、３１０…表示タイミング及び表示モード制御装置、３２１、３２２、３２４、３２５、３２６…ＦＩＦＯ−Ａ、３２３…ＦＩＦＯ−Ｂ、３３１、３３２…フォーマッタＡ、３３３…フォーマッタＢ、３３４、３３５、３３６…フォーマッタＣ、３４１…画像選択器、３５１…色変換器Ａ、３５４、３５５、３５６…色変換器Ｂ、３５９…色変換器Ｃ、３６４、３６５、３６６…αブレンド演算器、３７１、３７２…同期信号挿入器、４０１…表示装置Ａ、４０２…表示装置Ｂ、５００…メモリ、８００…フレームＩＤ０に対応するメモリ領域、８０１…フレームＩＤ１に対応するメモリ領域、８０２…フレームＩＤ２に対応するメモリ領域、８０３…フレームＩＤ３に対応するメモリ領域、８０４…フレームＩＤ４に対応するメモリ領域、８０５…フレームＩＤ５に対応するメモリ領域、８０６…フレームＩＤ６に対応するメモリ領域、８０７…フレームＩＤ７に対応するメモリ領域、８０８…フレームＩＤ８に対応するメモリ領域、８０９…フレームＩＤ９に対応するメモリ領域、８１０…フレームＩＤ１０に対応するメモリ領域、８１１…フレームＩＤ１１に対応するメモリ領域、８１２…フレームＩＤ１２に対応するメモリ領域、８１３…フレームＩＤ１３に対応するメモリ領域、８１４…フレームＩＤ１４に対応するメモリ領域、８１５…フレームＩＤ１５に対応するメモリ領域、８１６…フレームＩＤ１６に対応するメモリ領域、８１７…フレームＩＤ１７に対応するメモリ領域、９００…フレームグループ０に対応するメモリ領域、９０１…フレームグループ０に対応するメモリ領域の第１の断片領域、９０２…フレームグループ０に対応するメモリ領域の第２の断片領域、９１０…フレームグループ１に対応するメモリ領域、９１１…フレームグループ１に対応するメモリ領域の第１の断片領域、９１２…フレームグループ１に対応するメモリ領域の第２の断片領域、９２０…フレームグループ２に対応するメモリ領域、９２１…フレームグループ２に対応するメモリ領域の第１の断片領域、９２２…フレームグループ２に対応するメモリ領域の第２の断片領域、９３０…フレームグループ３に対応するメモリ領域、９３１…フレームグループ３に対応す���メモリ領域の第１の断片領域、９４０…フレームグループ４に対応するメモリ領域、９４１…フレームグループ４に対応するメモリ領域の第１の断片領域、９５０…フレームグループ５に対応するメモリ領域、９５１…フレームグループ５に対応するメモリ領域の第１の断片領域、２２０１…変換前メモリアドレス、２２５１…変換後メモリアドレス、２２６１…バイト選択ビット、２２６２…カラムアドレスビット、２２６３…ロウアドレスビット、２２６４…バンクアドレスビット、２２６５…チップ選択ビット。
【図１】
2004317536.tif 000003
【図２】
2004317536.tif 000004
【図３】
2004317536.tif 000005
【図４】
2004317536.tif 000006
【図５】
2004317536.tif 000007
【図６】
2004317536.tif 000008
【図７】
2004317536.tif 000009
【図８】
2004317536.tif 000010
【図９】
2004317536.tif 000011
【図１０】
2004317536.tif 000012
【図１１】
2004317536.tif 000013
【図１２】
2004317536.tif 000014