JP3683657B2 - グラフィックス表示装置およびグラフィックスプロセッサ - Google Patents
グラフィックス表示装置およびグラフィックスプロセッサ Download PDFInfo
- Publication number
- JP3683657B2 JP3683657B2 JP25872596A JP25872596A JP3683657B2 JP 3683657 B2 JP3683657 B2 JP 3683657B2 JP 25872596 A JP25872596 A JP 25872596A JP 25872596 A JP25872596 A JP 25872596A JP 3683657 B2 JP3683657 B2 JP 3683657B2
- Authority
- JP
- Japan
- Prior art keywords
- display
- graphics
- memory
- access
- cpu
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明はグラフィックス表示装置に係り、特に動画の表示に必要な複数の情報を同一メモリに統合したグラフィックス表示装置とグラフイックスプロセッサに関する。
【0002】
【従来の技術】
高速な三次元グラフイックスを処理するプロセッサとして、「3次元CG描画LSI−パソコンで30万ポリゴン/秒実現−(日経エレクトロニクス;No.640,1995.7.17,pp109−120)」に記載の例(引用例1)がある。このプロセッサは、プロセッサ専用メモリとして、テクスチュア用メモリ、フレームバッファ用メモリ、ローカル用メモリの3種類を設けている。このアーキテクチャは性能向上の上で有利であるが、メモリが複数になるため個人向け携帯機器等の小形、低廉の装置には向かない。
【0003】
一方、グラフイックス情報を一元化し、引用例1に比べてメモリ個数を削減できる例に、特開平5−257793号公報(引用例2)がある。このグラフィックスシステムでは、CPUの主メモリ中にCPUのプログラム、テクスチャデータ、フレームバッファ等を統合して持つ。
【0004】
【発明が解決しようとする課題】
上記した従来技術においては、メモリのアクセス能力が数百MB/sといった十分高速のメモリシステムを備え、表示データ読出しの時間は十分に確保できていることが実現の前提となる。このことは、高価なメモリシステムを必要とし、小型化、低価格化の妨げとなる。
【0005】
引用例2の構成において、もし、安価なメモリシステムを用いてメモリのアクセス能力を下げると、動画に必要な表示データの読出し時間の確保のために、表示以外の描画やCPUアクセスとの調整が必要になる。CPUからのライトアクセスの時間はデータ量によって変化するが、高速グラフイックスのための時間当たりのデータ量は増大し、1画面当たりのアクセス時間も長くなる。
【0006】
このため、メモリ統合タイプでは表示アクセスを優先する。しかし、グラフイックスメモリから描画データを読み出す(以下、表示アクセスと呼ぶ)のアクセス要求が発行されても、CPUなど他のアクセスの実行中はそれが終了するまで待たされることになり、その間に表示バッファのデータが空になると、動画の表示画面が乱れてしまう。そこで、表示アクセス時間に余裕を持たせて、表示バッファのデータ蓄積量を高めて、動画の画質を維持している。しかし、従来の表示アクセス優先方式ではグラフイックスメモリのアクセス効率が低下するために、CPUによる高速グラフイックスの処理が困難になる。
【0007】
一般に、CPUは出力データを転送するためのキャッシュメモリを内蔵し、そのキャッシュ方式によってメモリアクセスのタイミングが相違する。たとえば、1ワードのみを転送するライトスルー方式に対し、複数ワード連続して転送するコピーバック方式は、描画手続き情報(以下では、描画コマンド)をまとめて転送できるのでアクセス時間を短縮できるにもかかわらず、アクセス時間の長いライトスルー方式において余裕のある表示アクセス時間の確保を行なっている。即ち、キャッシュ方式の違いに対する考慮がなされていないために、メモリのアクセス効率が低下し、コピーバック方式で可能な高速のグラフイックス表示が犠牲にされていた。
【0008】
本発明の目的は、CPUとグラフィックスプロセッサの双方からアクセスする1つのグラフイックスメモリを用いる場合に、CPUのキャッシュ方式に応じて1回の表示アクセスの連続時間を最適化して、メモリのアクセス効率を高め、高速のグラフイックス表示を実現する表示装置と、そのグラフイックスプロセッサを提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成する本発明のグラフィックス表示装置は、表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報(描画コマンド)を生成するCPUと、そのCPUから書き込まれる(ライトアクセス)前記描画手続き情報や表示器に出力する描画データ(ビットマップ情報)を記憶する1つのメモリと、前記描画手続き情報に対する描画アクセスを行なって前記メモリに描画データを記憶し、さらに前記描画データを前記表示器に出力する表示読み出し(表示アクセス)を行うグラフィックスプロセッサを備え、さらに、前記グラフィックスプロセッサは、前記CPUに具備され前記メモリへデータを転送するキャッシュメモリのキャッシュ方式に応じて、前記メモリに対する表示読み出しタイミングを変化させることを特徴とする。
【0010】
前記グラフイックスプロセッサは、前記キャッシュ方式が前記メモリに対して、複数ワードのデータを連続して転送する方式か又は1ワード毎に転送する方式かを示すキャッシュ方式情報を前記CPUから与えられ、前者の場合は後者に比べて1回の表示読み出しの連続時間を短くすることを特徴とする。
【0011】
上記目的を達成する本発明のグラフイックスプロセッサは、表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報(描画コマンド)の記憶エリア及び表示器に出力するビットマップ情報を記憶するエリアを有するグラフイックスメモリに対して、前記ビットマップ情報を生成するための描画アクセス及び、表示器に表示データを出力するための表示アクセスを行うものであって、さらに、前記グラフイックスメモリに対する前記描画手続き情報のライトアクセスが複数ワードのデータを連続アドレスで転送する方式か又は、1ワード毎に転送する方式かを示す転送方式情報を設定され、前者の場合は後者に比べて1回の前記表示アクセスの連続時間を短くすることを特徴とする。
【0012】
また、前記グラフイックスプロセッサは、前記描画アクセスを行なう描画ユニットと前記表示アクセスを行なう表示コントローラと、CPUからのデータ転送を受信し前記ライトアクセスを行なうインターフェイス手段と、それらのメモリアクセス要求を受付け前記表示アクセスを優先するように制御するメモリコントローラ手段を備え、前記描画手続き情報を転送する前記CPUのキャッシュ方式によって前記転送方式情報を設定し、前記キャッシュ方式がコピーバック方式の場合はライトスルー方式に比べて1回の表示アクセスの連続時間を短くすることを特徴とする。
【0013】
さらに、前記グラフイックスプロセッサは、前記表示アクセスによって前記グラフイックスメモリから読み出されたビットマップ情報を一時記憶し、表示器のタイミングによって出力する表示バッファを備え、前記1回の表示アクセスによる連続ワード数を前記表示バッファのデータ保持数の最大値とし、前記表示アクセスの要求発行のタイミングを前記データ保持数未満のしきい値とし、これらの最大値としきい値を前記転送方式情報に応じて変化させることを特徴とする。
【0014】
本発明の構成によれば、CPUがコピーバック方式の場合に、CPUのグラフィックスメモリに対するデータの書き込みは連続アドレスとなるので、同一データ量に対するライトアクセス時間が短くてすむ。その分、表示アクセスの優先確保のための余裕時間が少なくてすみ、全体として1回のライトアクセス時間と表示アクセス時間は、ライトスルー方式の場合に比べて短縮できるので、メモリのアクセス効率が高まり、高速のグラフイックス処理が可能になる。言い替えれば、CPU側が高速のコピーバック方式によって、描画データのライトアクセスを行なうのに追随して、高速の描画処理を行なうことができる。
【0015】
【発明の実施の形態】
以下、本発明による一実施形態を図面にしたがって詳細に説明する。図1は、本発明を適用する図形処理システムの構成図を示す。CPU10は装置全体の制御を行うと共に、表示器51に図形を表示するためのプログラムを実行する。主メモリ11は、CPU10が処理するデータやプログラムを記憶する。CD−ROMコントローラ12はCD−ROMの図形情報をアクセスし、通信コントローラ13は図示しない他の装置との情報を送受する。
【0016】
グラフイックスプロセッサ20は、グラフイックスメモリ40内の表示領域に図形を描画し、さらに描画したデータを読み出して表示器51に図形を表示する。DAC(Digital to Analog Converter)10は、グラフイックスプロセッサ20が出力するディジタル形式の表示データをアナログデータに変換する。
【0017】
グラフィックスメモリ40を構成する素子としては、DRAMを用いるのが望ましい。DRAMは他のメモリに比べて、チップ面積に対するトランジスタの集積度が高いためである。また、高速ページモードアクセスというアクセス方式を持っており、アドレスの上位部分(例えばビット9以上)が一致している場合の連続アクセスでは、高速なアクセスが可能になる。
【0018】
本装置で表示する図形は、1/60秒または1/30秒周期で、図形の大きさや位置を少しずつ変化させ、画面を連続的に見せることでグラフィックス図形の動画表示を行う。このため、CPU10やグラフイックスプロセッサ20は、1/60秒または1/30秒内に1画面分の描画を行なう。図形の描画は、次の手順で行なわれ、1画面分を繰返し処理する。
【0019】
(1)CPU10による図形データの座標変換
表示すべき図形に対して、方向や大きさ等を計算し、図形の頂点座標の計算を行う。三角形や四角形の単純図形を多数組合せて構成した複雑な図形の場合、その全ての単純図形の頂点座標を計算する。
【0020】
(2)CPU10によるディスプレイリストの作成
多数の単純図形からなる複雑な図形をグラフィックスメモリ40に描画するために、CPU10は描画コマンド(以下では単に、コマンドと呼ぶ)をグラフイックスプロセッサ20が実行できるコマンド形式に変換して、グラフィックスメモリ40に転送する。通常は、単純図形単位のコマンドを組み合わせ1図形分のコマンドに連結する。このコマンドが連結したものをディスプレイリストと呼ぶ。ディスプレイリストは数10〜数100Kバイトの大きさで、ディスプレイリスト領域401に格納される。
【0021】
(3)グラフイックスプロセッサ20による描画
このディスプレイリストをグラフイックスプロセッサ20が順次、読み込み、リストに示されるコマンドに従って、グラフィックスメモリ40内の描画・表示領域402に描画する。
【0022】
(4)グラフイックスプロセッサ20による表示
描画・表示領域402に描画された図形は、グラフイックスプロセッサ20により表示タイミングで読み出され、表示器51に表示される。描画・表示領域402はダブルバッファで構成され、描画と表示のバッファが交互に切り替わる。
【0023】
以上の(1)〜(4)の処理を、1/60秒または1/30秒周期で繰り返す。システムバス14は、上記の周期でディスプレイリストのデータをで転送する。
【0024】
次に、グラフイックスプロセッサ20の構成と動作の概略を説明する。CPUI/F21は、CPU10がシステム制御レジスタ32等のレジスタ類やグラフイックスメモリ40をアクセスするための制御を行う。描画ユニット23は、グラフイックスメモリ40内のディスプレイリストをフェッチし、そのリストに示されるコマンドに従って描画を行う。パラメータ変換部22は、必要に応じてコマンドのパラメータを変換する。表示コントローラ24は、描画ユニット23が描画したデータを表示するための制御を行なう。
【0025】
このように、グラフイックスプロセッサ20はその各要素が何らかの処理を行う度にグラフィックスメモリ40をアクセスするため、グラフィックスメモリ40のアクセス効率を高めることが処理速度の向上につながる。そこで、グラフイックスプロセッサ20は、アクセス要求単位にキャッシュやFIFOを持つことでアクセス効率を高める。
【0026】
CPUFIFO25は、CPU10によるグラフィックスメモリ40のアクセスを高速化する。キャッシュ(1)26はコマンド専用、キャッシュ(2)27はテクスチャ専用、キャッシュ(3)28は描画専用である。また、表示データ用に表示バッファ29を持つ。
【0027】
メモリコントローラ30は、キャッシュ(1)〜(3)やFIFO25等から、グラフィックスメモリ40に対するアクセス要求を受け付け、その優先順位を決定し、アクセスを制御する。メモリコントローラ30は表示コントローラ24からのアクセスを最優先する。しかし、CPU10や描画ユニット23からのアクセスが行なわれている間は、それらは中断されずに表示コントローラからのアクセスが待たされる。
【0028】
システム制御レジスタ32は、グラフイックスプロセッサ20の動作モードを指定するレジスタである。レジスタ32は、CPU10のキャッシュモードを指定するCAM(CPU Access Mode)ビッを有している。
【0029】
図2に、グラフイックスプロセッサ20の端子機能(1)〜(5)を示す。
【0030】
(1)System系
システムモードの設定とクロック及びリセットを入力する端子である。グラフイックスプロセッサ20は、描画系と表示系で独立したクロックを入力でき、表示器51の性能に関係なく、描画系は常に高速処理を行うことができる。
【0031】
(2)CPU系
CPUI/F21用の端子である。CPU10はグラフィックスメモリ40の全空間と、システム制御レジスタ32等の内部レジスタをアクセスすることができる。グラフィックスメモリ40をアクセスする場合は、CS0端子をLowに、レジスタをアクセスする場合はCS1端子をLowにする。グラフィックスメモリ40へのライトアクセスは、バイト単位が可能となるようにライトイネーフ゛ルを2本持つ。このほか、DMA転送を制御するDREQ,DACK端子や、バスサイクルを延長するWAIT端子、CPU10に対して割り込みを発生させるIRL端子がある。
【0032】
(3)Power系
電源を供給する端子は、クロック制御を行うPLL専用の端子と、その他の一般用がある。
【0033】
(4)Display系
表示用の端子にはドットクロック出力(DCLK)、表示データ出力(DD0−DD15)、同期信号の入出力端子(HSYNC,VSYNC)等がある。
【0034】
(5)Memory系
グラフィックスメモリ40とのI/Fとして、DRAMを直結できる端子を備えている。
【0035】
図3に、グラフイックスプロセッサの描画コマンドを示す。四角形描画コマンドは、矩形のテクスチャデータを任意の四角形に変形させながら描画する。テクスチャデータが2値の場合はカラー拡張を行う。LINEは単一の直線、または複数の直線を描画する。MOVEは描画開始点の移動を行う。LOFSは描画座標の原点をずらす。MOVEが実行された後のコマンドは、ディスプレイリストに示される座標パラメータに対して、このコマンドで指定した分だけ座標をずらして描画する。AFFINは図形を描画する場合に、回転や拡大、縮小を指定する。ディスプレイに示される座標パラメータに対して、AFFINで指定した分だけ座標を回転(または拡大、縮小)して描画する。JUMPはディスプレイリストを分岐させる。GOSUBはディスプレイリストのサブルーチンをコールする。RETはサブルーチンから復帰する。TRAPはディスプレイリストのフェッチを終了する。FLASHはテクスチャデータのキャッシュであるキャッシュ(2)27内に存在するデータを無効化し、新たにグラフィックスメモリ40からデータを読み込ませる。
【0036】
図4に、グラフイックスプロセッサ内の各レジスタのデータリストを示し、以下にその機能を説明する。
【0037】
(1)システム制御レジスタ
SRESは、描画ユニット23をソフトウェアによって初期化し、DRESは、表示コントローラ24をソフトウェアによって初期化する。DACは、表示領域(フレームバッファ領域)を切り替える。RSは、ディスプレイリストのフェッチを開始させる。CAMはCPU10内のキャッシュ101の種類を指定する。
【0038】
CPU10がグラフィックスメモリ40にデータをストアする動作の特徴として、キャッシュ101がコピーバック方式を採用している場合は、キャッシュのラインサイズ分だけまとめてデータをライトする。一方、ライトスルー方式を採用している場合は、1ワード単位でデータをライトする。従って、CAMの設定によって、CPUのキャッシュ方式の指定や切り換えが可能になる。
【0039】
(2)ステータスレジスタ
VBKは、表示のフレーム切り替えを通知する。TRAは、TRAPコマンドを実行しディスプレイリストのフェッチを終了したことを通知する。DBFは、2つのフレームバッファに対し、現在どちらを表示中かを示す。
【0040】
(3)ステータスレジスタ・クリアレジスタ
対応するステータスレジスタのビットをクリアする。
【0041】
(4)割り込み許可レジスタ
対応するステータスレジスタの各ビットによって、CPU10に割り込みを発生させることを指定する。
【0042】
(5)レンダリングモード
MWXは、画面の横幅が512画素以下であるか、それとも513画素以上1024画素以下であるかを指定する。GBMは、1画素が8ビットであるか16ビットであるかを指定する。
【0043】
(6)表示モード
SCMは、表示がインタレースであるか、ノンインタレースであるかを指定する。TVMは、TV同期モードであるかそれともマスタモードであるかを指定する。RCYNは、グラフィックスメモリ40のリフレッシュサイクル数を指定する。
【0044】
(7)表示サイズ
表示画面のX方向とY方向の大きさを指定する。
【0045】
(8)表示開始アドレス
グラフィックスメモリ40上の2つのフレームバッファの開始アドレスを指定する。
【0046】
(9)ディスプレイリストアドレス
グラフィックスメモリ40上のディスプレイリストのスタートアドレスを指定する。
【0047】
(10)ソース領域開始アドレス
テクスチャデータの格納領域の開始アドレスを指定する。
【0048】
(11)表示制御関係レジスタ
レジスタ番号10から1Aは、表示制御に関するレジスタである。表示画面の大きさ等に合わせて表示データを読み出すタイミングの設定や、水平/垂直同期信号の周期等を設定する。また、表示リセット時出力レジスタは、表示読み出しを行っていない時に画面に表示するカラー値を設定する。例えば、表示動作を停止中は画面をブルーバック(青色表示)にすることができる。
【0049】
(12)コマンドステータスレジスタ
ディスプレイリストのフェッチを停止した時のメモリアドレスを通知するレジスタである。
【0050】
次に、CPU10がグラフィックスメモリ40をアクセスするためのCPUFIFO25の構成と動作を説明する。
【0051】
図5は、CPUFIFOの機能ブロック図である。CPU10がグラフィックスメモリ40へのストア動作を行う度に、CPUI/F部21からライトリクエスト信号がくる。すると、カウンタ252がカウントアップされるとともに、その時のCPU10のライトアドレスとデータがFIFO250に格納される。一致検出部253で、カウンタ252の値とFIFO容量を比較し、FIFOが満杯になったことがわかると、フリップフロップ258をセットする。その結果、CPUI/F部21にはFIFO250のビジーが通知され、CPU10がこれ以上データをストアしないようにする。
【0052】
一方で、メモリコントローラ30には、グラフィックスメモリ40への書き込み要求を出力する。メモリコントローラ30は1ワードのデータを書き込む度に、カウンタ256を更新するFIFOカウンタ更新信号を出力する。カウンタ256の値は一致検出器255によってカウンタ252の値と比較される。カウンタ256はFIFO250の読み出しカウンタであり、カウンタ252はFIFOの書き込みカウンタである。この2つの値が一致すると(即ち、CPU10によって書き込まれたワード数だけ、メモリコントローラ30が読み出すと)、グラフィックスメモリ40への書き込みを停止するためフリップフロップ258をリセットする。
【0053】
フリーランカウンタ254は、一定期間CPU10による書き込みがなかった場合に、FIFO250のデータをグラフィックスメモリ40に書き込むように動作する。また、CPU10がグラフィックスメモリ40を読み出す場合や、描画ユニット23がディスプレイリストのフェッチを開始する場合は、これらに先駆けてFIFO250のデータをグラフィックスメモリ40に書き込むように動作する。
【0054】
ここで、CPU10の内部キャッシュ101の方式の違いによる、グラフィックスメモリ40のアクセス時間の違いについて説明する。CPU10のキャッシュ方式として、コピーバック方式とライトスルー方式が知られている。
【0055】
コピーバック方式では、CPU10がメモリ40に対するストア命令を実行しても、CPU10内のキャッシュ101のみ変更され、メモリ40内のデータはすぐには変更されない。メモリ40が変更されるのはキャッシュラインと呼ばれる複数ワードのデータがまとめてキャッシュ101からメモリ40に追い出される場合である。キャッシュラインのデータは連続アドレスの複数ワードである。即ち、FIFO250を経由してグラフィックスメモリ40に書き込まれるデータのアドレスが連続している。従って、DRAMの高速ページモードアクセスによって、FIFO25から短時間でグラフィックスメモリ40への書き込みができる。
【0056】
一方、ライトスルー方式は、CPU10がメモリ40に対するストア命令を実行すると、1ワード単位で直ちにデータがメモリ40に書き込まれる。従って、前記FIFO250には、グラフィックスメモリ40に書き込むデータが不連続なアドレスとなる場合がある。最悪の場合は全てが不連続となることもある。アドレスが不連続の場合は、DRAMの特性によりFIFO25からグラフィックスメモリ40に書き込む時間が長くなる。最悪なケースでは、コピーバック方式に比べ4倍くらいの時間(最大80サイクル)となる。
【0057】
次に、描画用キャッシュ28の構成と動作を説明する。図6は、描画用キャッシュのブロック図である。キャッシュ(3)は描画専用であるが、描画ユニット23がキャッシュ(3)28内のデータを読むことはしない。つまり、描画先の下絵とのデータ演算を行う機能を持っていないので、書き込み動作のみとなる。下絵をリードする必要がないので、メモリアクセス量を極端に低減した高速動作が可能となる。
【0058】
描画ユニット23がデータを書き込むと、レジスタファイル2900に描画アドレスと描画データが記憶され、カウンタ2901がカウントアップされる。カウンタ2901の値が一致検出部2902で比較され、レジスタファイル2900が満杯になると、フリップフロップ2903を介してメモリコントローラ30に書き込みリクエストを出力する。描画ユニット23は、キャッシュ(3)28に空きのある状態で、1つの図形描画コマンドが終了した場合は、キャッシュのデータをフラッシュさせる機能を持つ。フラッシュ信号がアクティブになると、キャッシュ28はカウンタ2901の示すワード数だけ、グラフィックスメモリ40にデータを書き込む。
【0059】
これらCPUFIFO25やキャッシュ28に共通する点として、カウンタ252またはカウンタ2901で検出したワード数分だけの書き込みデータの転送を行ない、無駄なデータ転送を行なわないことである。この点、CPU等で用いられる一般的なキャッシュは、ラインサイズ単位での書き込みとなるので、書き換えを行わない部分のデータも転送する。
【0060】
図7は、CPUのアドレスマッピングを示したものである。CPU10のソフトウェアは、グラフィックスメモリ40を主メモリ11と区別することなくアクセスできる。
【0061】
グラフィックスメモリ領域では、フレームバッファ0とフレームバッファ1を設けている。グラフィックスの動画表示を行う場合、1/60秒単位(あるいは1/30秒)で、フレームバッファ領域0,1を切り替えて表示を行う。描画ユニット23は常に、表示を行っていない方のフレームバッファに描画する。これによって、描画の途中状態を表示することがなく、高品質の動画表示が可能となる。ディスプレイリスト領域も2つ設け、描画ユニット23とCPU10が交互に使用する。
【0062】
次に、表示コントローラ24による、グラフィックスメモリ40の表示アクセスと表示バッファ29の制御方法について説明する。
【0063】
図8は、表示コントローラの機能ブロック図である。表示コントローラ24は表示器51に対して同期信号(HSYNC,VSYNC)と表示データを出力し、表示器51の画面に図形を表示する。タイミング制御部246は、同期信号(HSYNC,VSYNC)を生成すると共に、表示データ出力制御245に対して、表示バッファ29内のデータの出力タイミングを通知する。
【0064】
表示バッファ29はグラフイックスメモリ40の表示領域のデータの一部をバッファリングする。たとえば表示バッファ29が128ワードであれば、1画素が1バイトのシステムでは256画素分のデータを保持していることになる。
【0065】
また、グラフイックスメモリ40から表示バッファ29へのデータ転送速度は、表示バッファ29から表示器51へのそれより十分に高速である。例えば、前者は28MHzで動作し、後者は14MHz以下で動作する。従って、グラフイックスメモリ40からの表示データの読み出しタイミングが多少ずれても、表示器51へのデータ転送タイミングは常に一定に保つことができる。
【0066】
表示バッファ29の読み出しと書き込みは、以下のように行なわれる。表示データ出力制御部245は、表示ドットクロック(グラフイックスプロセッサ20のDCLK端子の出力で、表示器51の1画素単位のクロック)に合わせて、読み出しアドレスレジスタ242が示すアドレスから順次、表示バッファ29を読み出して、表示データを表示器51に出力すると共に、読み出しアドレスレジスタ242を更新する。
【0067】
一方、グラフィックスメモリアクセス制御部240は、グラフィックスメモリアクセストリガ信号によって起動され、連続アクセスワード数(例えば、32ワード/64ワード)に設定されるワード数分だけ、メモリコントローラ30を介してグラフィックスメモリ40を読み出し、読み出したデータを表示バッファ29に書き込む。書き込むアドレスは、書き込みアドレスレジスタ241から指示される。
【0068】
書き込みアドレスレジスタ241と読み出しアドレスレジスタ242は、減算器243で常に減算されていて、その差分値は比較器244で定数値と比較されている。つまり、差分値が設定されている定数値(例えば、12ワード/48ワード)以下になると、上記のトリガ信号が出力されて、グラフィックスメモリアクセス制御部240はグラフイックスメモリ40を表示アクセスし、表示データを表示バッファ29に蓄える。
【0069】
図9は、以上の動作を示すタイムチャートである。グラフィックスメモリ40に対する表示アクセスの最初の動作はHSYNC信号によって開始される。この表示アクセスによって表示バッファ29のデータ保持数が上昇し、1回の表示アクセスで読み出す連続アクセスワード数(図では、32ワード)に達すると表示アクセスは中断し、バッファ29に蓄積されている表示データは表示器51に転送されて次第に減少する。そして、定数A(図では、12ワード)以下に減少すると、表示コントローラ24からメモリコントローラ30に表示アクセスのリクエストが発行され、リクエストが許可されるとグラフィックスメモリ40に対する表示アクセスが再び行なわれる。この例で、1画面が320×240ドットの場合、1画面分の表示のためには1200回の表示アクセスが繰り返される。
【0070】
表示バッファ29への書き込みは読み出しに比べて高速となるので、表示アクセスリクエスト信号が発行されてから、表示アクセスが開始されるまでに時間的な余裕がある。図示の表示アクセス猶予時間Tdがこれに相当し、Tdを経過しても表示アクセスが開始されないと、表示バッファ29が空になり、表示器51の画面が乱れることになる。上述のように、メモリコントローラ30は表示アクセスを最優先に行なうが、そのリクエスト時にCPU等の他のアクセスが実行中の場合は、その終了まで表示アクセスが待たされる。
【0071】
従って、表示バッファ29が空になるのを回避するためには、グラフイックスプロセッサ40の他のアクセス時間Ta<Tdの関係を維持する必要がある。このTaの最大時間から定数Aが決定される。
【0072】
他からのアクセス、特にCPU10による描画コマンドのライトアクセスは頻度が高く、そのアクセス時間はキャッシュ方式によって相違し、コピーバック方式とライトスルー方式では最大で約4倍も相違する。
【0073】
図10は、図9に比べてTaが4倍となる例の動作を示すタイムチャートである。表示アクセスのリクエストを発行する定数Bは、定数Aの4倍の48ワードになる。また、1回の表示アクセスで読み出す連続ワード数も増加し、この例では64ワードとしている。ちなみに、この例における1画面分の表示アクセスは600回となる。
【0074】
本実施例では図8のように、表示コントローラ24では比較器244に設定する定数にA=12とB=48の2通り、グラフイックスメモリアクセス制御部240に設定する連続アクセスワード数にa=32、b=64の2通りを用意し、CPU10のキャッシュ方式に応じて、上述したシステム制御レジスタのCAMビット(図4)の指定に対応して、選択するように構成されている。即ち、CAMビットの値がコピーバック方式を示す場合はA,aの値を、ライトスルー方式を示す場合はB,bの値を選択する。
【0075】
これによれば、CPUがコピーバック方式を採用する場合に、ライトスルー方式の場合に比べて1回の表示アクセス時間を1/4に短縮でき、その分CPUのライトアクセスの回数を増加できるので、高速のグラフイックスが高速のメモリシステムによらずに実現できる。
【0076】
また、CAMビット値を切り替えるだけで、異なるキャッシュ方式に対応できるので、グラフイックスプロセッサの汎用性が高まる。さらに、キャッシュ方式異なる複数のCPUによってグラフイックスメモリがライトされるシステムにおいて、ライトアクセスを発行したCPUのキャッシュ方式に応じて、グラフイックスプロセッサの表示アクセス方式を切り換えるので、高速のキャッシュ方式によるグラフイックスを犠牲にすることがない。
【0077】
【発明の効果】
本発明によれば、グラフィックスプロセッサに対してCPUのキャッシュ方式の違いを設定することによって、グラフィックスメモリを効率良くアクセスすることが可能となる。従って、グラフィックス表示処理の高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の位置実施形態による図形処理装置のシステム構成図。
【図2】グラフィックスプロセッサの端子機能の説明図。
【図3】グラフィックスプロセッサの描画コマンドの説明図。
【図4】グラフィックスプロセッサレジスタ機能の説明図。
【図5】CPUFIFOの機能ブロック図。
【図6】描画用キャッシュ(3)の機能ブロック図。
【図7】CPUのアドレスマッピングの説明図。
【図8】表示コントローラの構成図。
【図9】グラフィックスメモリのアクセスと表示バッファの制御の一例を示すタイムチャート。
【図10】グラフィックスメモリのアクセスと表示バッファの制御の他の例を示すタイムチャート。
【符号の説明】
10…CPU、11…主メモリ、20…グラフィックスプロセッサ、21…CPUI/F、22…パラメータ変換部、23…描画ユニット、24…表示コントローラ、25…CPUFIFO、26…キャッシュ(1)、27…キャッシュ(2)、28…キャッシュ(3)、29…表示バッファ、30…メモリコントローラ、40…グラフィックスメモリ、50…DAC(Digital to Analog Converter)、51…表示器、101…CPU内蔵キャッシュ、320…CAMビット。
Claims (5)
- 表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報を生成するCPUと、そのCPUから書き込まれる前記描画手続き情報や表示器に出力する描画データを記憶するメモリと、前記描画手続き情報に対する描画アクセスを行って前記メモリに描画データを記憶し、さらに前記描画データを前記表示器に出力する表示読み出しを行うグラフィックスプロセッサを備え、前記CPUと前記グラフィックスプロセッサの双方から前記メモリをアクセスするグラフィックス表示装置において、
前記CPUの持つキャッシュ制御方式は前記メモリへデータを転送する際に1ワード単位で転送する方式と複数ワードを連続して転送する方式からなり、前記1ワード単位で転送する方式よりも複数ワードを連続して転送する方式の場合の方が、前記グラフィックスプロセッサにおける前記メモリへの1回の表示アクセスの連続時間を短くすることを特徴とするグラフィックス表示装置。 - 表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報を生成するCPUと、そのCPUから書き込まれる前記描画手続き情報や表示器に出力する描画データを記憶するグラフィックスメモリと、前記描画手続き情報に対する描画アクセスを行なって前記グラフィックスメモリに描画データを記憶し、さらに前記描画データを前記表示器に出力する表示読み出しを行うグラフィックスプロセッサを備え、前記CPUと前記グラフィックスプロセッサの双方から前記グラフィックスメモリをアクセスするグラフィックス表示装置において、
前記グラフィックスプロセッサは、前記CPUに具備され前記グラフィックスメモリへデータを転送するキャッシュメモリのキャッシュ方式に応じて、前記グラフィックスメモリに対する表示読み出しタイミングを変化させ、かつ前記キャッシュ方式が前記グラフィックスメモリに対して、複数ワードのデータを連続して転送する方式か又は1ワード毎に転送する方式かを示すキャッシュ方式情報を前記CPUから与えられ、前者の場合は後者に比べて1回の表示読み出しの連続時間を短くすることを特徴とするグラフィックス表示装置。 - 表示すべきグラフィックス図形の種類や頂点パラメータ等で構成される描画手続き情報の記憶エリア及び表示器に出力するビットマップ情報を記憶するエリアを有するグラフィックスメモリに対して、前記ビットマップ情報を生成するための描画アクセス及び、表示器に表示データを出力するための表示アクセスを行うグラフィックスプロセッサにおいて、
前記グラフィックスメモリに対する前記描画手続き情報のライトアクセスが複数ワードのデータを連続アドレスで転送する方式か又は、1ワード毎に転送する方式かを示す転送方式情報を設定され、前者の場合は後者に比べて1回の表示アクセスの連続時間を短くすることを特徴とするグラフィックスプロセッサ。 - 請求項3において、前記グラフィックスプロセッサは、前記描画アクセスを行なう描画ユニットと前記表示アクセスを行なう表示コントローラと、CPUからのデータ転送を受信し前記ライトアクセスを行なうインターフェイス手段と、それらのメモリアクセス要求を受付け前記表示アクセスを優先して制御するメモリコントローラ手段を備え、
前記描画手続き情報を転送する前記CPUのキャッシュ方式によって前記転送方式情報を設定し、前記キャッシュ方式がコピーバック方式の場合はライトスルー方式に比べて1回の表示アクセスの連続時間を短くすることを特徴とするグラフィックスプロセッサ。 - 請求項3または4において、前記グラフィックスプロセッサは、前記表示アクセスによって前記グラフィックスメモリから読み出されたビットマップ情報を一時記憶し、表示器のタイミングに応じて出力する表示バッファを備え、
前記グラフィックプロセッサは前記表示バッファのデータ残量が所定のしきい値以下になったときに前記グラフィックスメモリから表示アクセスを行うよう制御されており、前記CPUのキャッシュ制御方式が1ワード単位で転送する方式の場合よりも複数ワードを連続して転送する方式の場合の方が、前記しきい値が小さいことを特徴とするグラフィックスプロセッサ。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25872596A JP3683657B2 (ja) | 1996-09-30 | 1996-09-30 | グラフィックス表示装置およびグラフィックスプロセッサ |
TW086113390A TW360823B (en) | 1996-09-30 | 1997-09-15 | Data processor and graphic processor |
KR1019970049589A KR100450980B1 (ko) | 1996-09-30 | 1997-09-29 | 데이타프로세서및그래픽프로세서 |
US08/942,689 US6333745B1 (en) | 1996-09-30 | 1997-09-29 | Data processor having unified memory architecture providing priority memory access |
US09/991,705 US6717583B2 (en) | 1996-09-30 | 2001-11-26 | Data processor having unified memory architecture providing priority memory access |
US10/669,562 US6954206B2 (en) | 1996-09-30 | 2003-09-25 | Data processor having unified memory architecture using register to optimize memory access |
US11/182,944 US7333116B2 (en) | 1996-09-30 | 2005-07-18 | Data processor having unified memory architecture using register to optimize memory access |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25872596A JP3683657B2 (ja) | 1996-09-30 | 1996-09-30 | グラフィックス表示装置およびグラフィックスプロセッサ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005071366A Division JP4137903B2 (ja) | 2005-03-14 | 2005-03-14 | グラフィックス表示装置およびグラフィックスプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10105154A JPH10105154A (ja) | 1998-04-24 |
JP3683657B2 true JP3683657B2 (ja) | 2005-08-17 |
Family
ID=17324227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25872596A Expired - Fee Related JP3683657B2 (ja) | 1996-09-30 | 1996-09-30 | グラフィックス表示装置およびグラフィックスプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3683657B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7196710B1 (en) * | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
KR100460009B1 (ko) * | 2004-06-23 | 2004-12-04 | 엔에이치엔(주) | 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템 |
JP5008334B2 (ja) * | 2005-04-28 | 2012-08-22 | 株式会社半導体エネルギー研究所 | 画像出力装置 |
GB2462860B (en) | 2008-08-22 | 2012-05-16 | Advanced Risc Mach Ltd | Apparatus and method for communicating between a central processing unit and a graphics processing unit |
JP5533109B2 (ja) * | 2010-03-24 | 2014-06-25 | セイコーエプソン株式会社 | 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法 |
JPWO2015083279A1 (ja) * | 2013-12-06 | 2017-03-16 | 三菱電機株式会社 | 情報処理装置 |
-
1996
- 1996-09-30 JP JP25872596A patent/JP3683657B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10105154A (ja) | 1998-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100450980B1 (ko) | 데이타프로세서및그래픽프로세서 | |
JP4071196B2 (ja) | ゾーン・レンダリング用の自動メモリ管理 | |
JPH07141202A (ja) | コンテキストを管理するシステム及び方法 | |
JP2016509280A (ja) | グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法 | |
JPS63200230A (ja) | グラフィック表示アダプタ | |
US20080297525A1 (en) | Method And Apparatus For Reducing Accesses To A Frame Buffer | |
WO2005086096A2 (en) | Embedded system with 3d graphics core and local pixel buffer | |
JP2659557B2 (ja) | 描画システム及び描画方法 | |
JP3683657B2 (ja) | グラフィックス表示装置およびグラフィックスプロセッサ | |
JP4137903B2 (ja) | グラフィックス表示装置およびグラフィックスプロセッサ | |
US6515670B1 (en) | Graphics system and method for minimizing the idle time of a host processor in the graphics system | |
JP3454113B2 (ja) | グラフィックス表示装置 | |
JPH08194826A (ja) | グラフィックスコントローラ | |
JP3740415B2 (ja) | グラフィック処理装置 | |
JP2966182B2 (ja) | 計算機システム | |
JP3204297B2 (ja) | Dma転送制御装置 | |
JP5213394B2 (ja) | 画像転送装置 | |
JP2829051B2 (ja) | 文字表示方式 | |
JPH0877367A (ja) | 画像処理プロセッサおよびそれを用いた画像データ処理装置 | |
JPH0644179A (ja) | データ転送制御装置 | |
JP2806376B2 (ja) | 画像処理装置および画像処理方法 | |
JPH10161636A (ja) | グラフィックス表示装置 | |
JP2000172553A (ja) | データ処理装置 | |
JPH0553548A (ja) | デイスプレイ制御装置 | |
JPH08292914A (ja) | データ処理装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050526 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080603 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100603 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |