JPH06274410A - Display control system - Google Patents
Display control systemInfo
- Publication number
- JPH06274410A JPH06274410A JP6398493A JP6398493A JPH06274410A JP H06274410 A JPH06274410 A JP H06274410A JP 6398493 A JP6398493 A JP 6398493A JP 6398493 A JP6398493 A JP 6398493A JP H06274410 A JPH06274410 A JP H06274410A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- read
- access
- image data
- data
- 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【産業上の利用分野】この発明は表示制御システムに関
し、特にパーソナルコンピュータやワークステーション
等のコンピュータに使用される表示制御システムに関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a display control system, and more particularly to a display control system used in a computer such as a personal computer or a workstation.
【0002】[0002]
【従来の技術】パ―ソナルコンピュ―タ等において、デ
ィスプレイに文字や図形等の画像データを表示する場
合、表示制御システムはプロセッサからのアクセス要求
に従ってフレ―ムバッファをアクセスして画像デ―タの
変更を行う。この場合、プロセッサの描画性能は、フレ
―ムバッファとして使用される画像メモリのアクセス速
度によって決定される。2. Description of the Related Art In a personal computer or the like, when displaying image data such as characters and figures on a display, a display control system accesses a frame buffer in accordance with an access request from a processor to access the image data. Make a change. In this case, the drawing performance of the processor is determined by the access speed of the image memory used as the frame buffer.
【0003】フレ―ムバッファへのデータ書き込みにお
いては、ライトバッファリング等の手法によりプロセッ
サを早く解放し高速化が可能であるが、デ―タの読み出
しにおいては画像メモリから画像データが読み出される
までプロセッサを待たせなければならないので、画像デ
ータの読み出しはプロセッサの描画性能を低下させる要
因のひとつであった。When writing data to the frame buffer, it is possible to speed up the processing by releasing the processor quickly by a method such as write buffering. However, in reading data, the processor is used until the image data is read from the image memory. Therefore, the reading of the image data is one of the factors that deteriorate the drawing performance of the processor.
【0004】画像メモリのアクセスモードには、例えば
ページモード等の高速アクセスモードがある。この高速
アクセスモードを使用すれば、1サイクルで複数の画像
データを画像メモリから読み出すことができる。The access mode of the image memory includes a high speed access mode such as a page mode. By using this high-speed access mode, a plurality of image data can be read from the image memory in one cycle.
【0005】プロセッサのメモリアクセス命令には、通
常のメモリアクセス命令とストリングムーブ命令(連続
データ転送命令)とがある。ストリングムーブ命令(連
続データ転送命令)は、アドレスが連続するデータ列を
リード/ライトする命令である。このストリングムーブ
命令が実行されたときに画像メモリを高速アクセスモー
ドでアクセスすれば、必要な画像データをプロセッサに
高速転送することができ、プロセッサを待たせることが
なくなる。The memory access instruction of the processor includes a normal memory access instruction and a string move instruction (continuous data transfer instruction). The string move instruction (continuous data transfer instruction) is an instruction to read / write a data string having continuous addresses. If the image memory is accessed in the high-speed access mode when the string move instruction is executed, necessary image data can be transferred to the processor at high speed, and the processor does not have to wait.
【0006】しかしながら、通常のメモリアクセス命令
のようにアドレス不連続のランダムアクセスの場合に
は、もし画像メモリを高速アクセスモードでアクセスす
ると、無駄なデータ転送が生じ、かえってプロセッサの
描画性能を低下させることになる。このため、従来の表
示制御システムにおいては、高速アクセスモードは使用
されてないのが普通である。However, in the case of random access with address discontinuity as in a normal memory access instruction, if the image memory is accessed in the high speed access mode, useless data transfer occurs, which rather reduces the drawing performance of the processor. It will be. Therefore, in the conventional display control system, the high speed access mode is usually not used.
【0007】また、画像メモリからの画像デ―タ読み出
しの高速化にはデータのプリフェッチ手法があるが、ラ
ンダムアクセスが多い場合には先読みされたデータが使
用されず無駄になることが多い。この場合、プリフェッ
チによって無駄な画像メモリアクセスが発生することに
なり、その分だけアクセス性能の低下が引き起こされ
る。Further, although there is a data prefetching method for speeding up the reading of image data from the image memory, prefetched data is often wasted because it is not used when there are many random accesses. In this case, useless image memory access will occur due to prefetching, and the access performance will be degraded accordingly.
【0008】[0008]
【発明が解決しようとする課題】従来では、プロセッサ
によって実行されている命令がアドレス不連続のランダ
ムアクセスを行うメモリアクセス命令とアドレス連続の
連続アクセスを行うストリングムーブ命令のどちらであ
るか判別できないため、画像メモリの高速アクセスモー
ドや画像データのプリフェッチを有効利用できず、プロ
セッサによる画像データの読み出しに時間がかかる欠点
があった。Conventionally, it is impossible to determine whether the instruction executed by the processor is a memory access instruction for random access with address discontinuity or a string move instruction for continuous access with address continuity. However, the high speed access mode of the image memory and the prefetch of the image data cannot be effectively used, and it takes a long time to read the image data by the processor.
【0009】この発明はこのような点に鑑みてなされた
ものであり、プロセッサによって実行されている命令の
種類に応じて画像メモリをアクセス制御できるように
し、画像メモリの高速アクセスモードや画像データのプ
リフェッチを有効利用した画像データの読み出しを行う
ことができる表示制御システムを提供することを目的と
する。The present invention has been made in view of the above circumstances, and makes it possible to control access to the image memory in accordance with the type of instruction executed by the processor, and to perform high-speed access mode of the image memory and image data. An object of the present invention is to provide a display control system capable of reading image data by effectively utilizing prefetch.
【0010】[0010]
【課題を解決するための手段および作用】この発明によ
る表示制御システムは、プロセッサによって生成された
画像データを記憶する画像メモリと、この画像メモリに
記憶されている前記画像データをディスプレイに表示す
る表示手段と、前記プロセッサから供給されるリードア
ドレスの変化の履歴に従って、前記プロセッサによるリ
−ドアクセスが、アドレス不連続のランダムアクセスで
あるかアドレス順に連続したデータを順次リードする連
続アクセスであるかを判定するアクセスモード判定手段
と、このアクセスモード判定手段の判定結果に従って、
前記画像メモリを第1アクセスモードおよびそれよりも
高速の第2アクセスモードの一方でリードアクセスする
メモリ制御手段とを具備することを第1の特徴とする。A display control system according to the present invention includes an image memory for storing image data generated by a processor, and a display for displaying the image data stored in the image memory on a display. The read access by the processor according to the means and a history of changes in the read address supplied from the processor. According to the access mode determination means for determining and the determination result of this access mode determination means,
A first feature is that the image memory is provided with a memory control unit that performs read access in one of a first access mode and a second access mode that is faster than the first access mode.
【0011】この表示制御システムにおいては、プロセ
ッサから供給されるリードアドレスの変化の履歴に従っ
てプロセッサによるリ−ドアクセスが連続アクセスであ
るか、ランダムアクセスであるかが判定され、その判定
結果にしたがって画像メモリのアクセスモードが切り替
えられる。したがって、プロセッサによって実行されて
いる命令の種類に応じた画像メモリのアクセス制御を実
現でき、その画像メモリの高速アクセスモードを有効利
用することが可能となる。In this display control system, whether the read access by the processor is continuous access or random access is determined according to the history of changes in the read address supplied from the processor, and the image is determined according to the determination result. The memory access mode is switched. Therefore, access control of the image memory according to the type of instruction executed by the processor can be realized, and the high-speed access mode of the image memory can be effectively used.
【0012】また、この発明は、プロセッサによって生
成された画像データを記憶する画像メモリと、この画像
メモリに記憶されている前記画像データをディスプレイ
に表示する表示手段と、前記画像メモリから先読みされ
た画像データを記憶し、前記プロセッサからのリード要
求に応じて前記画像データの読み出しが実行されるよう
に構成されたプリフェッチバッファと、前記プロセッサ
から供給されるリードアドレスの変化の履歴に従って、
前記プロセッサによるリ−ドアクセスが、アドレス順に
連続したデータを順次リードする連続アクセスモードで
あるか否かを判定するアクセスモード判定手段と、この
アクセスモード判定手段によって連続アクセスモードで
あることが判定された際、前記プロセッサによってリー
ド要求された画像データに後続するアドレスの画像デー
タを前記画像メモリから読み出して前記プリフェッチバ
ッファにプリフェッチするプリフェッチ手段とを具備す
ることを第2の特徴とする。Further, according to the present invention, an image memory for storing the image data generated by the processor, a display means for displaying the image data stored in the image memory on a display, and a pre-read from the image memory. According to a history of change in the read address supplied from the processor, which stores image data, a prefetch buffer configured to read the image data in response to a read request from the processor,
Access mode determining means for determining whether or not the read access by the processor is a continuous access mode for sequentially reading continuous data in address order, and the access mode determining means determines that the continuous access mode is set. In this case, a second feature is that the image processing apparatus further comprises a prefetch unit that reads out image data of an address subsequent to the image data requested to be read by the processor from the image memory and prefetches the image data into the prefetch buffer.
【0013】この表示制御システムにおいては、プロセ
ッサから供給されるリードアドレスの変化の履歴に従っ
てプロセッサによるリ−ドアクセスが連続アクセスであ
るか否かが判定され、連続アクセスの場合にのみプリフ
ェッチが行われる。連続アクセスの場合は、プロセッサ
によって次にリード要求されるデータとプリフェッチさ
れたデータとが一致するので、画像データをプリフェッ
チバッファから高速に読み出すことが可能となる。In this display control system, it is determined whether the read access by the processor is continuous access according to the history of changes in the read address supplied from the processor, and prefetching is performed only in the case of continuous access. . In the case of continuous access, since the data read next by the processor and the prefetched data match, the image data can be read from the prefetch buffer at high speed.
【0014】[0014]
【実施例】以下、図面を参照してこの発明の実施例を説
明する。Embodiments of the present invention will be described below with reference to the drawings.
【0015】図1にはこの発明の一実施例に係わる表示
制御システムの全体の構成が示されている。この表示制
御システム4は、例えば、1024×768ドット、2
56色同時表示の表示モードを持つXGA( eXtended
Graphics Array)仕様の表示制御システムであ
り、ポータブルコンピュータのシステムバス3に接続さ
れる。この表示制御システム4は、ポータブルコンピュ
ータ本体に標準装備されるフラットパネルディスプレイ
40およびオプション接続されるカラーCRTディスプ
レイ50双方に対する表示制御を行なう。FIG. 1 shows the overall configuration of a display control system according to an embodiment of the present invention. This display control system 4 is, for example, 1024 × 768 dots, 2
XGA (eXtended) that has a display mode of simultaneous display of 56 colors
It is a display control system of the Graphics Array) specification and is connected to the system bus 3 of the portable computer. The display control system 4 controls the display of both the flat panel display 40 that is standardly equipped in the main body of the portable computer and the color CRT display 50 that is optionally connected.
【0016】表示制御システム4には、ディスプレイコ
ントローラ10、およびデュアルポート画像メモリ(V
RAM)30が設けられている。これらディスプレイコ
ントローラ10、デュアルポート画像メモリ(VRA
M)30は、図示しない回路基板上に搭載されている。The display control system 4 includes a display controller 10 and a dual port image memory (V
RAM) 30 is provided. These display controller 10, dual port image memory (VRA
M) 30 is mounted on a circuit board (not shown).
【0017】ディスプレイコントローラ10はゲートア
レイによって実現されるLSIであり、この表示制御シ
ステム4の主要部を成す。このディスプレイコントロー
ラ10は、ホストCPU1からの指示に従い、デュアル
ポート画像メモリ(VRAM)30を利用して、フラッ
トパネルディスプレイ40およびカラーCRTディスプ
レイ50に対する表示制御を実行する。また、このディ
スプレイコントローラ10は、バスマスタとして機能
し、コンピュータのメインメモリ2を直接アクセスする
ことができる。The display controller 10 is an LSI realized by a gate array and is a main part of the display control system 4. The display controller 10 executes display control for the flat panel display 40 and the color CRT display 50 using a dual port image memory (VRAM) 30 according to an instruction from the host CPU 1. Further, the display controller 10 functions as a bus master and can directly access the main memory 2 of the computer.
【0018】デュアルポート画像メモリ(VRAM)3
0は、シリアルアクセスに使用されるシリアルポート
(シリアルDATA)とランダムアクセスのためのパラ
レルポート(DATA)を備えている。シリアルポート
(シリアルDATA)は表示画面リフレッシュのための
データ読み出しに使用され、またパラレルポート(DA
TA)は画像データの更新に使用される。このデュアル
ポート画像メモリ(VRAM)30は、複数のデュアル
ポートDRAMから構成されており、1Mバイト乃至4
Mバイトの記憶容量を有している。このデュアルポート
画像メモリ(VRAM)30はフレームバッファとして
使用され、フラットパネルディスプレイ40またはカラ
ーCRTディスプレイ50に表示するための画像データ
が描画される。Dual port image memory (VRAM) 3
0 has a serial port (serial DATA) used for serial access and a parallel port (DATA) for random access. The serial port (serial DATA) is used to read data for refreshing the display screen, and the parallel port (DA).
TA) is used to update image data. The dual-port image memory (VRAM) 30 is composed of a plurality of dual-port DRAMs and has 1 Mbyte to 4 Mbytes.
It has a storage capacity of M bytes. The dual port image memory (VRAM) 30 is used as a frame buffer, and image data to be displayed on the flat panel display 40 or the color CRT display 50 is drawn.
【0019】この場合、XGA仕様に適合したアプリケ
ーションプログラム等で作成されたXGA仕様の描画デ
ータは、パックドピクセル方式によってデュアルポート
画像メモリ(VRAM)30に格納される。このパック
ドピクセル方式は、メモリ上の連続する複数のビットで
1画素を表す色情報マッピング形式であり、例えば、1
画素を1,2,4,8,または16ビットで表す方式が
採用されている。一方、VGA仕様の描画データは、V
GA仕様に適合したアプリケーションプログラム等で作
成されるものであり、メモリプレーン方式によってデュ
アルポート画像メモリ(VRAM)30に描画される。
このメモリプレーン方式は、メモリ領域を同一アドレス
で指定される複数のプレーンに分割し、これらプレーン
に各画素の色情報を割り当てる方式である。例えば、4
プレーンを持つ場合には、1画素は、各プレーン毎に1
ビットづつの合計4ビットのデータによって表現され
る。また、デュアルポート画像メモリ(VRAM)30
には、テキストデータも格納される。1文字分のテキス
トデータは、XGA、VGAのどちらの仕様において
も,8ビットのコードと8ビットのアトリビュートから
なる合計2バイトのサイズを持つ。アトリビュートは、
フォアグランドの色を指定する4ビットデータとバック
グランドの色を指定する4ビットデータから構成されて
いる。In this case, the XGA specification drawing data created by an application program or the like conforming to the XGA specification is stored in the dual port image memory (VRAM) 30 by the packed pixel method. The packed pixel method is a color information mapping format in which one pixel is represented by a plurality of consecutive bits on a memory.
A method of representing pixels by 1, 2, 4, 8 or 16 bits is adopted. On the other hand, the VGA specification drawing data is V
It is created by an application program or the like conforming to the GA specifications, and is drawn in the dual port image memory (VRAM) 30 by the memory plane method.
This memory plane method is a method in which a memory area is divided into a plurality of planes designated by the same address and color information of each pixel is assigned to these planes. For example, 4
If you have planes, one pixel is 1 for each plane.
It is represented by a total of 4 bits of data, bit by bit. Also, a dual port image memory (VRAM) 30
The text data is also stored in. The text data for one character has a total size of 2 bytes including an 8-bit code and an 8-bit attribute in both the XGA and VGA specifications. The attributes are
It is composed of 4-bit data specifying the foreground color and 4-bit data specifying the background color.
【0020】このディスプレイコントローラ10は、レ
ジスタ制御回路11、システムバスインターフェース1
2、描画用のコプロセッサ13、メモリ制御回路14、
CRTコントローラ(CRTC)16、シリアルポート
制御回路18、スプライトメモリ19、シリアライザ2
0、ラッチ回路21、フォアグランド/バックグランド
マルチプレクサ22、グラフィック/テキストマルチプ
レクサ23、カラーパレット制御回路24、スプライト
カラーレジスタ25、CRTビデオマルチプレクサ2
6、スプライト制御回路27、フラットパネルエミュレ
ーション回路28、およびDAC(D/Aコンバータ)
35から構成されている。The display controller 10 includes a register control circuit 11 and a system bus interface 1
2, a drawing coprocessor 13, a memory control circuit 14,
CRT controller (CRTC) 16, serial port control circuit 18, sprite memory 19, serializer 2
0, latch circuit 21, foreground / background multiplexer 22, graphic / text multiplexer 23, color palette control circuit 24, sprite color register 25, CRT video multiplexer 2
6, sprite control circuit 27, flat panel emulation circuit 28, and DAC (D / A converter)
It is composed of 35.
【0021】レジスタ制御回路11は、システムバスス
ンターフェース12を介してシステムバス3からのアド
レスおよびデータを受けとり、アドレスのデコード、お
よびそのデコード結果によって指定される各種レジスタ
に対するリード/ライト制御を行なう。システムバスイ
ンターフェース12は、システムバス3を介してホスト
CPU1とのインターフェース制御を行なうものであ
り、ISA、EISA、マイクロチャネル、ローカルバ
ス等の各種仕様に適合したバスインターフェースをサポ
ートする。The register control circuit 11 receives an address and data from the system bus 3 via the system bus interface 12 and performs address decoding and read / write control for various registers designated by the decoding result. . The system bus interface 12 controls the interface with the host CPU 1 via the system bus 3, and supports a bus interface conforming to various specifications such as ISA, EISA, micro channel, and local bus.
【0022】描画用コプロセッサ13はグラフィックア
クラレータであり、CPU1からの指示に応答して、デ
ュアルポート画像メモリ(VRAM)30中の描画デー
タに対してさまざまな描画機能を提供する。この描画用
コプロセッサ13は、BITBILT等の画素のブロッ
ク転送、線描画、領域の塗りつぶし、画素間の論理/算
術演算、画面の切り出し、マップのマスク、X−Y座標
でのアドレッシング、ページングによるメモリ管理機能
等を有している。この描画用コプロセッサ13には、V
GA/XGA互換のデータ演算回路131、2次元アド
レス発生回路131、およびページングユニット133
が設けられている。The drawing coprocessor 13 is a graphic accelerator, and provides various drawing functions to drawing data in the dual port image memory (VRAM) 30 in response to an instruction from the CPU 1. This drawing coprocessor 13 transfers a block of pixels such as BITBIL, line drawing, area filling, logical / arithmetic operation between pixels, screen cutout, map mask, XY coordinate addressing, and paging memory. It has management functions. This drawing coprocessor 13 has a V
GA / XGA compatible data operation circuit 131, two-dimensional address generation circuit 131, and paging unit 133
Is provided.
【0023】データ演算回路131は、シフト、論理算
術演算、ビットマスク、カラー比較等のデータ演算を行
なうものであり、またVGA互換のBITBLT機能も
有している。2次元アドレス発生回路131は、矩形領
域アクセス等のためのX−Yの2次元アドレスを発生す
る。また、2次元アドレス発生回路131は、領域チェ
ックや、セグメンテーション等を利用したリニアアドレ
ス(実メモリアドレス)への変換処理も行なう。ページ
ングユニット133は、CPU1と同じ仮想記憶機構を
サポートするためのものであり、ページング有効時には
2次元アドレス発生回路131が作ったリニアアドレス
をページングによって実アドレスに変換する。また、ペ
ージング無効時にはリニアアドレスがそのまま実アドレ
スとなる。このページングユニット133は、ページン
グのためにTLBを備えている。メモリ制御回路14は
デュアルポート画像メモリ(VRAM)30をアクセス
制御するためのものであり、CPU1または描画用コプ
ロセッサ13からの画像データのリード/ライト要求に
従ってデュアルポート画像メモリ(VRAM)30のパ
ラレルポートのアクセス制御を行なうと共に、CRTC
16からの表示位置アドレスに従ってデュアルポート画
像メモリ(VRAM)30のシリアルポートからのデー
タ読み出し制御を行う。この場合、メモリ制御回路14
によるデュアルポート画像メモリ(VRAM)30のア
クセスは、シングルアクセスモ−ド(ノーマルモー
ド)、またはVRAMのページモードによって行われ
る。さらに、このメモリ制御回路14には、フレームバ
ッファキャッシュ141、およびアクセスモード判定回
路144が内蔵されている。The data operation circuit 131 performs data operations such as shifts, logical arithmetic operations, bit masks and color comparisons, and also has a VGA compatible BITBLT function. The two-dimensional address generation circuit 131 generates an XY two-dimensional address for accessing a rectangular area or the like. The two-dimensional address generation circuit 131 also performs a region check and a conversion process to a linear address (real memory address) using segmentation or the like. The paging unit 133 is for supporting the same virtual memory mechanism as the CPU 1, and converts the linear address created by the two-dimensional address generation circuit 131 into a real address by paging when paging is valid. Further, when paging is invalid, the linear address becomes the real address as it is. The paging unit 133 has a TLB for paging. The memory control circuit 14 is for controlling access to the dual port image memory (VRAM) 30, and is parallel to the dual port image memory (VRAM) 30 in response to a read / write request of image data from the CPU 1 or the drawing coprocessor 13. Access control of the port is performed, and CRTC
Data read control from the serial port of the dual port image memory (VRAM) 30 is performed according to the display position address from 16. In this case, the memory control circuit 14
The dual port image memory (VRAM) 30 is accessed by the single access mode (normal mode) or the VRAM page mode. Further, the memory control circuit 14 has a frame buffer cache 141 and an access mode determination circuit 144 built therein.
【0024】アクセスモード判定回路144は、CPU
1または描画用コプロセッサ13によって実行される命
令がアドレス連続の連続アクセスを行うストリングムー
ブ命令であるか否かを予測・判定し、その判定結果に従
ってデュアルポート画像メモリ(VRAM)30のアク
セスモードを選定する。その予測・判定処理は、CPU
1または描画用コプロセッサ13から供給されるリード
アドレスの変化の履歴に従ってアドレス連続の連続アク
セスであるか否かを検出することによって実行される。The access mode determination circuit 144 is a CPU
1 or an instruction executed by the drawing coprocessor 13 is predicted / determined as to whether it is a string move instruction for continuous access with continuous addresses, and the access mode of the dual port image memory (VRAM) 30 is changed according to the result of the determination. Select. The prediction / judgment process is performed by the CPU
1 or according to the history of changes in the read address supplied from the drawing coprocessor 13 to detect whether or not continuous access is continuous.
【0025】フレームバッファキャッシュ141は、C
PU1や描画用コプロセッサ13による画像データのリ
ード/ライトを高速にするために利用される。このフレ
ームバッファキャッシュ141は、デュアルポート画像
メモリ(VRAM)30からプリフェッチされた画像デ
ータを保持するプリフェッチバッファとしても利用され
る。この場合、フレームバッファキャッシュ141への
画像データのプリフェッチ処理は、CPU1や描画用コ
プロセッサ13によるアクセスが連続アクセスであるこ
とが判定された場合には実行されるが、ランダムアクセ
スであると判定された場合にはプリフェッチしたデータ
が使用されないことが多いので実行されない。The frame buffer cache 141 is C
It is used to speed up read / write of image data by the PU 1 and the drawing coprocessor 13. The frame buffer cache 141 is also used as a prefetch buffer that holds image data prefetched from the dual port image memory (VRAM) 30. In this case, the prefetch processing of the image data to the frame buffer cache 141 is executed when it is determined that the access by the CPU 1 and the drawing coprocessor 13 is continuous access, but it is determined that it is random access. In this case, the prefetched data is not used in many cases, so it is not executed.
【0026】CPU1や描画用コプロセッサ13によっ
てリード要求された画像データがフレームバッファキャ
ッシュ141に存在する場合は、そのフレームバッファ
キャッシュ141から画像データが読み出されてCPU
1または描画用コプロセッサ13に転送される。この場
合、デュアルポート画像メモリ(VRAM)30のパラ
レルポートを介したリードアクセスは行われない。When the image data requested to be read by the CPU 1 or the drawing coprocessor 13 exists in the frame buffer cache 141, the image data is read from the frame buffer cache 141 and the CPU
1 or to the drawing coprocessor 13. In this case, read access via the parallel port of the dual port image memory (VRAM) 30 is not performed.
【0027】アクセスモード判定回路144の判定結果
を利用したVRAMアクセスモードの切り替え、および
フレームバッファキャッシュ141へのプリフェッチ処
理の許可/禁止の制御はこの発明の特徴とする部分であ
り、その詳細は図2以降の説明で後述する。The switching of the VRAM access mode using the judgment result of the access mode judgment circuit 144 and the control of the permission / prohibition of the prefetch processing to the frame buffer cache 141 are the features of the present invention. It will be described later in the second and subsequent description.
【0028】CRTコントローラ16は、XGA仕様に
合った高解像度(例えば、1024×768ドット)で
フラットパネルディスプレイ40またはCRTディスプ
レイ50に画面表示を行うための各種表示タイミング信
号(水平同期信号、垂直同期信号等)と、VGA仕様に
合った中解像度(例えば、640×460ドット)でフ
ラットパネルディスプレイ40またはCRTディスプレ
イ50に画面表示を行うための各種表示タイミング信号
(水平同期信号、垂直同期信号等)を選択的に発生す
る。また、このCRTコントローラ15は、デュアルポ
ート画像メモリ(VRAM)30のシリアルポート(シ
リアルDATA)から画面表示すべき画像データを読み
出すための表示アドレスを発生し、メモリ制御回路14
に供給する。The CRT controller 16 has various display timing signals (horizontal synchronizing signal, vertical synchronizing signal) for displaying a screen on the flat panel display 40 or the CRT display 50 at a high resolution (for example, 1024 × 768 dots) conforming to the XGA specifications. Signals) and various display timing signals (horizontal synchronization signal, vertical synchronization signal, etc.) for displaying the screen on the flat panel display 40 or the CRT display 50 at a medium resolution (for example, 640 × 460 dots) that meets VGA specifications. Occurs selectively. The CRT controller 15 also generates a display address for reading image data to be displayed on the screen from the serial port (serial DATA) of the dual port image memory (VRAM) 30, and the memory control circuit 14
Supply to.
【0029】シリアルポート制御回路18、スプライト
メモリ19、シリアライザ20、ラッチ回路21、フォ
アグランド/バックグランドマルチプレクサ22、グラ
フィック/テキストマルチプレクサ23、カラーパレッ
ト制御回路24、スプライトカラーレジスタ25、CR
Tビデオマルチプレクサ26、スプライト制御回路2
7、フラットパネルエミュレーション回路28、および
DAC(D/Aコンバータ)35は、デュアルポート画
像メモリ(VRAM)30の画像データをフラットパネ
ルディスプレイ40またはCRTディスプレイ50に表
示するための表示回路を構成する。Serial port control circuit 18, sprite memory 19, serializer 20, latch circuit 21, foreground / background multiplexer 22, graphic / text multiplexer 23, color palette control circuit 24, sprite color register 25, CR
T video multiplexer 26, sprite control circuit 2
The flat panel emulation circuit 28 and the DAC (D / A converter) 35 constitute a display circuit for displaying the image data of the dual port image memory (VRAM) 30 on the flat panel display 40 or the CRT display 50.
【0030】シリアルポート制御回路18は、デュアル
ポート画像メモリ(VRAM)30のシリアルデータポ
ートからのデータ読み出しタイミングを制御するための
クロックSCK、出力イネーブル信号SOEを発生す
る。また、メモリ制御回路18は、スプライトメモリ1
9のアクセス制御と、スプライトの表示タイミング制御
を行なう。The serial port control circuit 18 generates a clock SCK and an output enable signal SOE for controlling the data read timing from the serial data port of the dual port image memory (VRAM) 30. In addition, the memory control circuit 18 uses the sprite memory 1
9 access control and sprite display timing control.
【0031】スプライトメモリ19には、グラフィック
モードではスプライトデータ、テキストモードではフォ
ントが書き込まれる。テキストモードでは、デュアルポ
ート画像メモリ(VRAM)30から読み出されたテキ
ストデータのコードがインデックスとしてスプライトメ
モリ19に供給され、そのコードに対応するフォントが
読み出される。In the sprite memory 19, sprite data is written in the graphic mode, and fonts are written in the text mode. In the text mode, the code of the text data read from the dual port image memory (VRAM) 30 is supplied to the sprite memory 19 as an index, and the font corresponding to the code is read.
【0032】シリアライザ20は、複数画素分のパラレ
ルなピクセルデータをピクセル単位(シリアル)に変換
するパラレル/シリアル変換回路であり、グラフィック
モードではデュアルポート画像メモリ(VRAM)30
のシリアルポートから読み出されるメモリデータとスプ
ライトメモリ19から読み出されるスプライトデータを
それぞれパラレル/シリアル変換し、テキストモードで
はスプライトメモリ19から読み出されるフォントデー
タをパラレル/シリアル変換する。The serializer 20 is a parallel / serial conversion circuit that converts parallel pixel data for a plurality of pixels into pixel units (serial). In the graphic mode, the dual port image memory (VRAM) 30 is used.
The memory data read from the serial port and the sprite data read from the sprite memory 19 are parallel / serial converted, and the font data read from the sprite memory 19 is parallel / serial converted in the text mode.
【0033】ラッチ回路21は、コードデータからフォ
ントデータへの変換の遅れ時間だけアトリビュートの出
力タイミングを遅延させるためのものであり、テキスト
モードにおいてデュアルポート画像メモリ(VRAM)
30から読み出されるテキストデータのアトリビュート
を保持する。フォアグランド/バックグランドマルチプ
レクサ22は、テキストモードにおいてアトリビュート
のフォアグランド色(前面色)/バックグランド色(背
景色)の一方を選択する。この選択は、シリアライザ2
0から出力されるフォントデータの値“1”(フォアグ
ランド),“0”(バックグランド)によって制御され
る。グラフイック/テキストマルチプレクサ23は、グ
ラフイックモードとテキストモードの切替えを行なうた
めのものであり、グラフイックモードにおいてはシリア
ライザ20から出力されるメモリデータを選択し、テキ
ストモードにおいてはフォアグランド/バックグランド
マルチプレクサ22の出力を選択する。The latch circuit 21 is for delaying the attribute output timing by the delay time of conversion from code data to font data, and is a dual port image memory (VRAM) in the text mode.
The attribute of the text data read from 30 is held. The foreground / background multiplexer 22 selects one of the foreground color (front color) and the background color (background color) of the attribute in the text mode. This choice is for serializer 2
The font data values output from 0 are controlled by "1" (foreground) and "0" (background). The graphic / text multiplexer 23 is for switching between the graphic mode and the text mode. In the graphic mode, the memory data output from the serializer 20 is selected, and in the text mode, the foreground / background multiplexer 22 is selected. Select an output.
【0034】カラーパレット制御回路24は、グラフィ
ックまたはテキストデータの色変換を行なうためのもの
である。このカラーパレット制御回路24は、2段構成
のカラーパレットテーブルを備えている。第1のカラー
パレットテーブルは、16個のカラーパレットレジスタ
から構成されている。各カラーパレットレジスタには、
6ビットのカラーパレットデータが格納されている。第
2のカラーパレットテーブルは、256個のカラーパレ
ットレジスタから構成されている。各カラーパレットレ
ジスタには、R,G,Bそれぞれ6ビットから構成され
る18ビットのカラーデータが格納されている。The color palette control circuit 24 is for performing color conversion of graphic or text data. The color palette control circuit 24 includes a two-stage color palette table. The first color palette table is composed of 16 color palette registers. Each color palette register contains
6-bit color palette data is stored. The second color palette table is composed of 256 color palette registers. Each color palette register stores 18-bit color data composed of 6 bits for each of R, G, and B.
【0035】グラフィックモードにおいては、8ビット
/ピクセルのXGA仕様のメモリデータは、第1のカラ
ーパレットテーブルを介さずに、第2のカラーパレット
テーブルに直接送られ、そこでR,G,Bそれぞれ6ビ
ットから構成されるカラーデータに変換される。また、
4ビット/ピクセルのVGA仕様のメモリデータは、ま
ず第1のカラーパレットテーブルに送られ、そこで6ビ
ットのカラーデータに変換されて出力される。そして、
この6ビットのカラーデータには、カラーパレット制御
回路19内蔵のカラー選択レジスタから出力される2ビ
ットデータが加えられ、これにより合計8ビットのカラ
ーデータとなる。この後、その8ビットのカラーデータ
は、第2のカラーパレットテーブルに送られ、そこで
R,G,Bそれぞれ6ビットから構成されるカラーデー
タに変換される。In the graphic mode, 8-bit / pixel XGA specification memory data is sent directly to the second color palette table without passing through the first color palette table, where R, G and B are each 6 Converted to color data composed of bits. Also,
The 4-bit / pixel VGA memory data is first sent to the first color palette table, where it is converted into 6-bit color data and output. And
To this 6-bit color data, 2-bit data output from the color selection register built in the color palette control circuit 19 is added, whereby a total of 8-bit color data is obtained. After that, the 8-bit color data is sent to the second color palette table, where it is converted into color data of 6 bits for each of R, G, and B.
【0036】一方、テキストモードにおいては、XG
A,VGAどちらの仕様のテキストデータも、第1およ
び第2の2段のカラーパレットテーブルを介して、R,
G,Bそれぞれ6ビットから構成されるカラーデータに
変換される。On the other hand, in the text mode, XG
Text data of both A and VGA can be read via R, R, and R via the first and second two-stage color palette tables.
It is converted into color data composed of 6 bits for each of G and B.
【0037】また、XGAのグラフィクスモードにおい
ては、1画素が16ビットから構成されるダイレクトカ
ラモードがあり、この場合には、その16ビット/ピク
セルのメモリデータは、カラーパレット制御回路24を
介さずに、CRTビデオマルチプレクサ26に直接供給
される。In the XGA graphics mode, there is a direct color mode in which one pixel is composed of 16 bits. In this case, the memory data of 16 bits / pixel does not go through the color palette control circuit 24. Are directly supplied to the CRT video multiplexer 26.
【0038】スプライトカラーレジスタ25は、スプラ
イト表示色を指定する。CRTビデオマルチプレクサ2
6は、CRTビデオ表示出力を選択するものであり、カ
ラーパレット制御回路24の出力、またはシリアライザ
20からのダイレクトカラー出力の選択、さらにはスプ
ライト表示のビデオ切替えを行なう。スプライト制御回
路27は、シリアライザ20によってパラレル/シリア
ル変換されたスプライトデータに従ってCRTビデオマ
ルチプレクサ26を制御し、スプライト表示時のビデオ
切替え制御を行なう。フラットパネルエミュレーション
回路28は、CRTビデオ出力を変換してフラットパネ
ルディスプレイ40用のフラットビデオデータを生成す
る。The sprite color register 25 specifies the sprite display color. CRT video multiplexer 2
Reference numeral 6 selects a CRT video display output, and selects the output of the color palette control circuit 24 or the direct color output from the serializer 20, and further performs the video switching of sprite display. The sprite control circuit 27 controls the CRT video multiplexer 26 in accordance with the sprite data converted from parallel / serial by the serializer 20, and controls video switching during sprite display. Flat panel emulation circuit 28 converts the CRT video output to produce flat video data for flat panel display 40.
【0039】DAC35は、CRTビデオマルチプレク
サ26から出力されるCRTビデオデータをアナログ
R,G,B信号に変換してCRTディスプレイ50に供
給する。以下、この発明の特徴とするVRAMアクセス
モードの切り替え、およびフレームバッファキャッシュ
141を利用した描画処理を説明する。図2には、メモ
リ制御回路14の第1の構成例が示されている。The DAC 35 converts the CRT video data output from the CRT video multiplexer 26 into analog R, G, B signals and supplies them to the CRT display 50. Hereinafter, switching of the VRAM access mode, which is a feature of the present invention, and drawing processing using the frame buffer cache 141 will be described. FIG. 2 shows a first configuration example of the memory control circuit 14.
【0040】図示のように、メモリ制御回路14は、フ
レームバッファキャッシュ141、キャッシュインター
フェース142、フレームバッファ制御回路143、お
よびアクセスモード判定回路144を備えている。As shown, the memory control circuit 14 includes a frame buffer cache 141, a cache interface 142, a frame buffer control circuit 143, and an access mode determination circuit 144.
【0041】キャッシュインターフェース142は、C
PU1および描画プロセッサ13それぞれとフレームバ
ッファキャッシュ141間のインターフェースであり、
CPU1または描画プロセッサ13からの画像データの
アクセス要求を受けとると、そのアクセス要求に含まれ
るアドレス,データをフレームバッファキャッシュ14
1に供給すると共に、ダイレクトパスP1を介してフレ
ームバッファ制御回路143に供給する。また、このと
き、キャッシュインターフェース142は、そのアクセ
ス要求がリードアクセスかライトアクセスかを示すリー
ド/ライト信号(R/W)を発生し、それをフレームバ
ッファキャッシュ141に供給する。The cache interface 142 is C
An interface between each of the PU 1 and the drawing processor 13 and the frame buffer cache 141,
Upon receiving an image data access request from the CPU 1 or the drawing processor 13, the address and data included in the access request are transferred to the frame buffer cache 14
1, and also to the frame buffer control circuit 143 via the direct path P1. At this time, the cache interface 142 generates a read / write signal (R / W) indicating whether the access request is a read access or a write access, and supplies it to the frame buffer cache 141.
【0042】フレームバッファ制御回路143は、フレ
ームバッファキャッシュ141とデュアルポート画像メ
モリ(VRAM)30との間で画像データの転送を行う
ために、フレームバッファキャッシュ141およびデュ
アルポート画像メモリ(VRAM)30をアクセス制御
する。フレームバッファキャッシュ141をアクセスす
る場合には、フレームバッファ制御回路143はリード
/ライト信号(R/W)によってフレームバッファ制御
回路143をライトモードまたはリードモードに設定す
る。また、フレームバッファ制御回路143は、デュア
ルポート画像メモリ(VRAM)30をノ−マルアクセ
スモード、またはページモード等の高速アクセスモード
でアクセスする。The frame buffer control circuit 143 connects the frame buffer cache 141 and the dual port image memory (VRAM) 30 in order to transfer the image data between the frame buffer cache 141 and the dual port image memory (VRAM) 30. Access control. When accessing the frame buffer cache 141, the frame buffer control circuit 143 sets the frame buffer control circuit 143 to the write mode or the read mode by the read / write signal (R / W). Further, the frame buffer control circuit 143 accesses the dual port image memory (VRAM) 30 in a normal access mode or a high speed access mode such as a page mode.
【0043】フレームバッファキャッシュ141とデュ
アルポート画像メモリ(VRAM)30との間の画像デ
ータの転送は、フレームバッファキャッシュ141の画
像データの入れ替えや、デュアルポート画像メモリ(V
RAM)30の画像データの更新のために行われる。Image data is transferred between the frame buffer cache 141 and the dual port image memory (VRAM) 30 by replacing the image data in the frame buffer cache 141 or by changing the dual port image memory (VRAM).
This is performed for updating the image data in the RAM 30.
【0044】例えば、CPU1または描画用コプロセッ
サ13によって実行されるフレームバッファキャッシュ
141のリードアクセスにおいて、もしキャッシュミス
が発生すると、フレームバッファ制御回路143はその
リード要求された画像データをデュアルポート画像メモ
リ(VRAM)30から読み出してフレームバッファキ
ャッシュ141に書き込む。これによって、フレームバ
ッファキャッシュ141の画像データが入れ替えられ
る。このようなフレームバッファキャッシュ141の画
像データの入れ替え処理は、フレームバッファキャッシ
ュ141から供給されるミスヒット信号に応答してよっ
て起動される。For example, in the read access of the frame buffer cache 141 executed by the CPU 1 or the drawing coprocessor 13, if a cache miss occurs, the frame buffer control circuit 143 transfers the read-requested image data to the dual port image memory. The data is read from the (VRAM) 30 and written in the frame buffer cache 141. As a result, the image data in the frame buffer cache 141 is replaced. The image data replacement processing of the frame buffer cache 141 is activated in response to a mishit signal supplied from the frame buffer cache 141.
【0045】また、フレームバッファ制御回路143
は、CPU1または描画用コプロセッサ13によってフ
レームバッファキャッシュ141に書き込まれた画像デ
ータを定期的にデュアルポート画像メモリ(VRAM)
30に書き込み、そのデュアルポート画像メモリ(VR
AM)30の画像データを更新する。Further, the frame buffer control circuit 143
Is a dual port image memory (VRAM) that periodically stores the image data written in the frame buffer cache 141 by the CPU 1 or the drawing coprocessor 13.
30, and the dual port image memory (VR
AM) 30 image data is updated.
【0046】この更新処理は、フレームバッファキャッ
シュ141に描画された画像データの内容をデュアルポ
ート画像メモリ(VRAM)30に反映させるために行
なわれるものものであり、CRTC16からの表示タイ
ミング信号(例えば、垂直同期信号)に従って、表示画
面をリフレッシュする1フレーム期間に1度の割合で実
行される。This update process is performed to reflect the contents of the image data drawn in the frame buffer cache 141 in the dual port image memory (VRAM) 30, and a display timing signal (for example, from the CRTC 16). According to the vertical synchronizing signal), the display screen is refreshed once per frame period.
【0047】また、フレームバッファ制御回路143に
は、キャッシュメモリブロック141aに画像データを
先読みするためのプリフェッチ回路143aが設けられ
ている。このプリフェッチ回路143aは、CPU1ま
たは描画コプロセッサ13によって将来リードアクセス
が予想される画像データを予めキャッシュメモリブロッ
ク141aに格納しておくためのものである。Further, the frame buffer control circuit 143 is provided with a prefetch circuit 143a for prefetching image data in the cache memory block 141a. The prefetch circuit 143a is for preliminarily storing in the cache memory block 141a image data for which read access is expected in the future by the CPU 1 or the drawing coprocessor 13.
【0048】フレームバッファキャッシュ141は、キ
ャッシュインターフェース142を介してCPU1また
は描画用コプロセッサ13から供給されるリード/ライ
ト要求、またはフレームバッファ制御回路143からの
リード/ライト要求に従って画像データの読み出し/書
き込みが実行されるように構成されている。すなわち、
フレームバッファキャッシュ141は、画像データを保
持するキャッシュメモリブロック141aと、このキャ
ッシュメモリブロック141aのリード/ライト制御等
を行う制御回路142aから構成されている。The frame buffer cache 141 reads / writes image data according to a read / write request supplied from the CPU 1 or the drawing coprocessor 13 via the cache interface 142 or a read / write request from the frame buffer control circuit 143. Is configured to run. That is,
The frame buffer cache 141 is composed of a cache memory block 141a for holding image data and a control circuit 142a for controlling read / write of the cache memory block 141a.
【0049】アクセスモード判定回路144は、CPU
1または描画コプロセッサ13からのリードアドレスの
変化の履歴に従ってアクセスモードを予測・判定し、そ
の判定結果にしたがってフレームバッファ制御回路14
3によるプリフェッチ動作およびページモードアクセス
動作を制御する。このアクセスモード判定回路144の
アクセスモードの予測・判定処理はキャッシュインター
フェース142から供給されるリードアクセスを示すリ
ード/ライト(R/W)信号に応答して起動され、その
時にCPU1または描画コプロセッサ13から供給され
るアドレスはアクセスモード判定回路144に順次取り
込まれる。The access mode determination circuit 144 is a CPU
1 or the access mode is predicted / determined according to the history of changes in the read address from the drawing coprocessor 13, and the frame buffer control circuit 14 is determined according to the determination result.
3 controls the prefetch operation and the page mode access operation. The access mode prediction / judgment processing of the access mode judgment circuit 144 is activated in response to a read / write (R / W) signal indicating a read access supplied from the cache interface 142, and at that time, the CPU 1 or the drawing coprocessor 13 is activated. The addresses supplied from the are sequentially fetched by the access mode determination circuit 144.
【0050】アクセスモード判定回路144による判定
結果は、フレームバッファ制御回路143に供給され
る。アクセスモード判定回路144によってCPU1ま
たは描画コプロセッサ13によるアクセスが連続アクセ
スであると判定された場合には、フレームバッファ制御
回路143によるプリフェッチ処理やページモードアク
セスの実行が許可され、ランダムアクセスであると判定
された場合にはフレームバッファ制御回路143による
プリフェッチ処理およびページモードアクセスの実行が
禁止される。図3には、アクセスモード判定回路144
の具体的回路構成の一例が示されている。The determination result by the access mode determination circuit 144 is supplied to the frame buffer control circuit 143. When the access mode determination circuit 144 determines that the access by the CPU 1 or the drawing coprocessor 13 is continuous access, the frame buffer control circuit 143 permits the prefetch processing and the page mode access, and the access is random access. If determined, the frame buffer control circuit 143 is prohibited from executing the prefetch process and page mode access. In FIG. 3, the access mode determination circuit 144 is shown.
An example of a concrete circuit configuration of is shown.
【0051】アクセスモード判定回路144は、図示の
ように、レジスタ701、減算器702、比較器70
3、シフトレジスタ704、セレクタ705、および出
力ゲート706から構成されている。The access mode determination circuit 144 includes a register 701, a subtractor 702, and a comparator 70 as shown in the figure.
3, a shift register 704, a selector 705, and an output gate 706.
【0052】CPU1または描画コプロセッサ13から
のリードアドレスは、減算器702の第1入力Aに直接
入力されると共に、レジスタ701を介して減算器70
2の第2入力Bに入力される。レジスタ701は1サイ
クル分だけリードアドレスを保持する。したがって、減
算器702の第1入力Aに入力されるリードアドレスは
現在のリードアドレスであり、第2入力Bに入力される
リードアドレスは1サイクル前のリードアドレスであ
る。The read address from the CPU 1 or the drawing coprocessor 13 is directly input to the first input A of the subtractor 702, and the subtractor 70 is also passed through the register 701.
2 is input to the second input B. The register 701 holds the read address for one cycle. Therefore, the read address input to the first input A of the subtractor 702 is the current read address, and the read address input to the second input B is the read address one cycle before.
【0053】減算器702は、第1入力Aに入力される
現在のリードアドレスの値から、第2入力Bに入力され
る前回のリードアドレスの値を減算する。この減算結果
(オフセットofs)は比較器703の一方の入力に供
給される。この比較器703の他方の入力にはセレクタ
705によって選択された定数(αまたはβ)が供給さ
れる。The subtractor 702 subtracts the value of the previous read address input to the second input B from the value of the current read address input to the first input A. The subtraction result (offset ofs) is supplied to one input of the comparator 703. The other input of the comparator 703 is supplied with the constant (α or β) selected by the selector 705.
【0054】比較器703は定数とオフセットofsと
を比較し、それらの大小関係を示す比較結果信号cmp
を出力する。この比較結果信号cmpは、シフトレジス
タ704および出力ゲート706に供給される。シフト
レジスタ704は、比較器703から出力される比較結
果信号cmpを順次シフトしてn回分の比較結果を保持
する。The comparator 703 compares the constant and the offset ofs, and the comparison result signal cmp indicating the magnitude relationship between them.
Is output. The comparison result signal cmp is supplied to the shift register 704 and the output gate 706. The shift register 704 sequentially shifts the comparison result signal cmp output from the comparator 703 and holds the comparison result for n times.
【0055】出力ゲート回路706は、シフトレジスタ
704に保持されている比較結果と比較器703から出
力される現在の比較結果に従って判定結果信号を生成す
る。このように構成されたアクセスモード判定回路14
4においては、比較結果信号cmpによってリードアド
レスの変化状態が判定される。この場合、比較結果信号
cmpによって表されるリードアドレスの変化状態は、
rnd,inc,decの3つの状態に分類される。r
ndは、連続するリ−ドアドレス値の間隔が大きいこと
を示す。このrndは、以下の条件によって成立する。 α<ofs …cmp=rnd ofs<−α …cmp=rnd incは、リードアドレス値がアドレス増加方向に連続
して変化していることを示す。incは、以下の条件に
よって成立する。 0≦ofs≦α …cmp=inc decは、リードアドレス値がアドレス減少方向に連続
して変化していることを示す。decは、以下の条件に
よって成立する。 −α≦ofs<0 …cmp=dec このようなrnd,inc,decの3つの状態を持つ
比較結果信号cmpを利用したアクセスモードの判定処
理は、次のようになされる。The output gate circuit 706 generates a judgment result signal according to the comparison result held in the shift register 704 and the current comparison result output from the comparator 703. The access mode determination circuit 14 configured as described above
In 4, the change state of the read address is determined by the comparison result signal cmp. In this case, the change state of the read address represented by the comparison result signal cmp is
It is classified into three states of rnd, inc, and dec. r
nd indicates that the interval between consecutive read address values is large. This rnd is satisfied under the following conditions. α <ofs ... Cmp = rnd ofs <−α ... Cmp = rnd inc indicates that the read address value continuously changes in the address increasing direction. inc is satisfied under the following conditions. 0 ≦ ofs ≦ α ... cmp = inc dec indicates that the read address value continuously changes in the address decreasing direction. dec is satisfied under the following conditions. −α ≦ ofs <0 cmp = dec The access mode determination process using the comparison result signal cmp having such three states of rnd, inc, and dec is performed as follows.
【0056】すなわち、出力ゲート706は、比較結果
信号cmpが2回連続してincの場合はアドレス増加
方向の連続アクセスであると判定し、フレームバッファ
制御回路143にプリフェッチ処理を実行させる。この
場合、プリフェッチされるデータは、リードアドレスに
よって要求されたデータに対してアドレス増加方向に連
続するアドレスのデータである。また、比較結果信号c
mpが2回連続してdecの場合は、出力ゲート706
は、アドレス減少方向の連続アクセスであると判定し、
フレームバッファ制御回路143にプリフェッチ処理を
実行させる。この場合、プリフェッチされるデータは、
リードアドレスによって要求されたデータに対してアド
レス減少方向に連続するアドレスのデータである。さら
に、incやdecがそれぞれn回以上連続した場合
は、出力ゲート706は複数のデータをまとめてプリフ
ェッチしても良いと判断し、フレームバッファ制御回路
143のVRAMアクセスモードをページモードに切り
替える。ここで、ページモードとは、ロウアドレスを一
定にしてカラムアドレスだけを順次インクリメントする
高速メモリアクセスモードである。That is, when the comparison result signal cmp is inc twice consecutively, the output gate 706 determines that the access is continuous access in the address increasing direction, and causes the frame buffer control circuit 143 to execute prefetch processing. In this case, the data to be prefetched is the data of addresses that are continuous in the address increasing direction with respect to the data requested by the read address. Also, the comparison result signal c
When mp is dec twice consecutively, the output gate 706
Is determined to be continuous access in the address decreasing direction,
The frame buffer control circuit 143 is caused to execute prefetch processing. In this case, the prefetched data is
This is data of addresses consecutive in the address decreasing direction with respect to the data requested by the read address. Further, when inc and dec are consecutively repeated n times or more, the output gate 706 determines that a plurality of data may be prefetched collectively, and switches the VRAM access mode of the frame buffer control circuit 143 to the page mode. Here, the page mode is a high-speed memory access mode in which the row address is fixed and only the column address is sequentially incremented.
【0057】また、比較結果信号cmpが2回連続して
rndの場合は、出力ゲート706は、ランダムアクセ
スであると判定して、フレームバッファ制御回路143
のプリフェッチ処理を禁止する。If the comparison result signal cmp is rnd twice in succession, the output gate 706 determines that it is a random access, and the frame buffer control circuit 143.
Prohibits the prefetch processing of.
【0058】このようにアクセスモード判定回路144
においては、比較結果信号cmpの履歴に従って、CP
U1または描画コプロセッサ13によるアクセスモード
が、ランダムアクセスモード、アドレス減少の連続アク
セスモード、アドレス増加の連続アクセスモードのいず
れであるかが判定される。図4には、これら判定結果の
状態遷移の様子が示されている。In this way, the access mode determination circuit 144
In the CP, according to the history of the comparison result signal cmp,
It is determined whether the access mode by the U1 or the drawing coprocessor 13 is the random access mode, the address decrease continuous access mode, or the address increase continuous access mode. FIG. 4 shows the state transition of these determination results.
【0059】図4において、ステ−ト1は、CPU1ま
たは描画コプロセッサ13によるリードアクセスモード
がランダムアクセスであると判定されている状態であ
り、VRAMアクセスモードはシングルモードに設定さ
れる。モード判定処理は、このステート1の状態からス
タートされる。このステ−ト1において、比較結果信号
cmpの状態が2回連続してdecになると、ステ−ト
1からステート2に遷移する。In FIG. 4, the state 1 is a state in which the read access mode by the CPU 1 or the drawing coprocessor 13 is determined to be random access, and the VRAM access mode is set to the single mode. The mode determination process is started from this state 1. In this state 1, when the state of the comparison result signal cmp becomes dec twice in succession, the state 1 transits to the state 2.
【0060】ステート2はCPU1または描画コプロセ
ッサ13によるリードアクセスモードがアドレス減少方
向の連続アクセスであると判定されている状態である。
このステート2において、最近の2つの比較結果信号
(cmp{0},{1})が(dec,dec)、(d
ec,rnd)、(rnd,dec)と続く場合はその
ステート2の状態が維持され、それ以外ではステート1
のランダム状態へもどる。このように、rndが1回発
生しても、ランダムアクセスとは判定されない。これ
は、2次元の矩形領域を連続アクセスする場合には、ラ
インを跨ぐ際にアドレスの間隔が一時的に大きくなるこ
とを考慮したものである。また、ステート2において、
decがn回続いた場合には、VRAMアクセスモード
がページモードに切り替えられる。一方、ステ−ト1に
おいて、比較結果信号cmpの状態が2回連続してin
cになると、ステ−ト1からステート3に遷移する。State 2 is a state in which the read access mode by the CPU 1 or the drawing coprocessor 13 is determined to be continuous access in the address decreasing direction.
In this state 2, the two most recent comparison result signals (cmp {0}, {1}) are (dec, dec), (d
ec, rnd), and (rnd, dec), the state of state 2 is maintained, and otherwise, state 1
Return to the random state. Thus, even if rnd occurs once, it is not determined to be random access. This is because in the case of continuously accessing a two-dimensional rectangular area, the address interval temporarily increases when straddling a line. Also, in state 2,
When dec continues n times, the VRAM access mode is switched to the page mode. On the other hand, in the state 1, the state of the comparison result signal cmp is in continuous twice.
When it becomes c, the state 1 transits to the state 3.
【0061】ステート3はCPU1または描画コプロセ
ッサ13によるリードアクセスモードがアドレス増加方
向の連続アクセスであると判定されている状態である。
このステート3において、最近の2つの比較結果信号
(cmp{0},{1})が(inc,inc)、(i
nc,rnd)、(rnd,inc)と続く場合はその
ステート3の状態が維持され、それ以外ではステート1
のランダム状態へもどる。このように、rndが1回発
生してもランダムアクセスとは判定されないのは、前述
したように2次元矩形領域のアクセスを考慮したもので
ある。また、ステート3において、incがn回続いた
場合には、VRAMアクセスモードがページモードに切
り替えられる。State 3 is a state in which the read access mode by the CPU 1 or the drawing coprocessor 13 is determined to be continuous access in the address increasing direction.
In this state 3, the two most recent comparison result signals (cmp {0}, {1}) are (inc, inc), (i
nc, rnd) and (rnd, inc), the state of the state 3 is maintained, otherwise, the state 1
Return to the random state. As described above, the reason why the random access is not determined even if the rnd occurs once is in consideration of the access to the two-dimensional rectangular area. Further, in state 3, when inc continues n times, the VRAM access mode is switched to the page mode.
【0062】図5には、アクセスモード判定回路144
による各アクセスモード判定状態(ステート1〜ステー
ト3)とプリフェッチ処理、VRAMアクセスモードと
の関係が示されている。In FIG. 5, the access mode determination circuit 144 is shown.
Shows the relationship between each access mode determination state (state 1 to state 3), prefetch processing, and VRAM access mode.
【0063】ステート1では、CPU1または描画コプ
ロセッサ13のアクセスはランダムアクセスであるの
で、プリフェッチ処理は実行されない。また、デュアル
ポート画像メモリ30のアクセスモード(VRAMアク
セスモード)は、CPU1または描画コプロセッサ13
から供給されるリードアドレス毎にデュアルポート画像
メモリ30を1回アクセスするシングルモードに設定さ
れる。この場合、キャッシュミスが発生すると、そのリ
ードアドレスによって指定されるデータがデュアルポー
ト画像メモリ30から読み出される。In the state 1, the access of the CPU 1 or the drawing coprocessor 13 is a random access, so the prefetch process is not executed. The access mode (VRAM access mode) of the dual port image memory 30 is the CPU 1 or the drawing coprocessor 13.
The dual port image memory 30 is set to the single mode in which it is accessed once for each read address supplied from. In this case, when a cache miss occurs, the data designated by the read address is read from the dual port image memory 30.
【0064】ステート2では、CPU1または描画コプ
ロセッサ13のアクセスはストリングムーブ命令等の実
行による連続アクセスであるので、プリフェッチ処理が
実行される。この場合、VRAMアクセスモードは最初
はシングルモードに設定され、リ−ドアドレスの減少を
考慮して次のデータのプリフェッチが行われる。この状
態で、decがn回連続して発生されると、今度はペー
ジモードに切り替えられる。In the state 2, since the access of the CPU 1 or the drawing coprocessor 13 is continuous access by executing a string move instruction or the like, the prefetch process is executed. In this case, the VRAM access mode is initially set to the single mode and the next data is prefetched in consideration of the reduction of the read address. In this state, if dec is generated n times in succession, then the page mode is switched to.
【0065】ステート3においても、CPU1または描
画コプロセッサ13のアクセスはストリングムーブ命令
等の実行による連続アクセスであるので、プリフェッチ
処理が実行される。この場合、VRAMアクセスモード
は最初はシングルモードに設定され、リ−ドアドレスの
増加を考慮して次のデータのプリフェッチが行われる。
この状態で、incがn回連続して発生されるとページ
モードに切り替えられる。Even in the state 3, since the access of the CPU 1 or the drawing coprocessor 13 is continuous access by executing a string move instruction or the like, the prefetch process is executed. In this case, the VRAM access mode is initially set to the single mode, and the next data is prefetched in consideration of the increase of the read address.
In this state, if inc is generated n times consecutively, the mode is switched to the page mode.
【0066】このように、図2のメモリ制御回路14に
おいては、アクセスモード判定回路144によってCP
U1または描画コプロセッサ13のアクセスモードを予
測・判定し、その判定結果に従ってプリフェッチ処理お
よびVRAMアクセスモードを制御することができる。
したがって、連続アクセスである場合にのみプリフェッ
チ処理やページモードアクセスを利用できるようにな
り、デュアルポート画像メモリ30からのデータ読み出
しの効率を高めることができる。次に、CPU1がスト
リングムーブ命令を実行した場合における図2のメモリ
制御回路14による画像データ読み出し動作を説明す
る。As described above, in the memory control circuit 14 of FIG.
It is possible to predict / determine the access mode of the U1 or the drawing coprocessor 13 and control the prefetch process and the VRAM access mode according to the determination result.
Therefore, the prefetch process and the page mode access can be used only in the case of continuous access, and the efficiency of data reading from the dual port image memory 30 can be improved. Next, the image data read operation by the memory control circuit 14 of FIG. 2 when the CPU 1 executes the string move instruction will be described.
【0067】最初は、キャッシュメモリブロック141
aには、画像データは記憶されていない。この状態で、
例えばCPU1からデュアルポート画像メモリ(VRA
M)30に対するリード要求が発行されると、そのリー
ド要求は図1のシステムインターフェース12を介して
メモリ制御回路14のキャッシュインターフェース14
2に送られる。キャッシュインターフェース142は、
CPU1からのリードアドレスをフレームバッファキャ
ッシュ141、フレームバッファ制御回路143および
アクセスモード判定回路144に供給すると共に、リー
ド/ライト信号(R/W)によってフレームバッファキ
ャッシュ141をリードモードに設定する。First, the cache memory block 141
No image data is stored in a. In this state,
For example, from the CPU 1 to the dual port image memory (VRA
When a read request for M) 30 is issued, the read request is sent to the cache interface 14 of the memory control circuit 14 via the system interface 12 of FIG.
Sent to 2. The cache interface 142 is
The read address from the CPU 1 is supplied to the frame buffer cache 141, the frame buffer control circuit 143 and the access mode determination circuit 144, and the frame buffer cache 141 is set to the read mode by the read / write signal (R / W).
【0068】この場合には、リードアドレスによって指
定された画像データはキャッシュメモリブロック141
aに存在しない(キャッシュミス)。したがって、フレ
ームバッファ制御回路143は、ミスヒット信号に応答
してデュアルポート画像メモリ30をシングルモードで
リードアクセスし、リードアドレスによって指定された
画像データを読み出す。この画像データは、ダイレクト
パスP1、キャッシュインターフェース142および図
1のシステムインターフェース12を介してCPU1に
転送されると共に、キャッシュメモリブロック141a
に格納される。このようにリードアクセスの最初の段階
では、CPU1からのリード要求が来てそのミスヒット
が決定されてデュアルポート画像メモリ30のリードア
クセスが開始される。このため、CPU1は、リードデ
ータが確定されるまで待たされることになる。しかし、
このようなリードアクセスが数回繰り返されると、アク
セスモード判定回路144はCPU1のアクセスが連続
アクセスであると判定する。In this case, the image data designated by the read address is stored in the cache memory block 141.
Does not exist in a (cache miss). Therefore, the frame buffer control circuit 143 performs read access to the dual port image memory 30 in the single mode in response to the mishit signal, and reads the image data designated by the read address. This image data is transferred to the CPU 1 via the direct path P1, the cache interface 142 and the system interface 12 of FIG. 1, and at the same time, the cache memory block 141a.
Stored in. Thus, in the first stage of read access, the read request from the CPU 1 arrives, the mishit is determined, and the read access of the dual port image memory 30 is started. Therefore, the CPU 1 waits until the read data is confirmed. But,
When such read access is repeated several times, the access mode determination circuit 144 determines that the access of the CPU 1 is continuous access.
【0069】この判定に応答して、フレームバッファ制
御回路143は、最新のリードアドレスによって指定さ
れるデータに後続するアドレスのデータをデュアルポー
ト画像メモリ30から読み出し、それをキャッシュメモ
リブロック141aに格納する。In response to this determination, the frame buffer control circuit 143 reads the data of the address subsequent to the data designated by the latest read address from the dual port image memory 30, and stores it in the cache memory block 141a. .
【0070】したがって、次のCPU1からのリードア
クセスからはキャッシュヒットとなる。この場合、画像
データはフレームバッファキャッシュ141から直ぐに
読み出されるので、CPU1はほどんど待されることが
なくなる。Therefore, a cache hit occurs from the next read access from the CPU 1. In this case, the image data is immediately read from the frame buffer cache 141, so that the CPU 1 is not required to wait.
【0071】さらに、連続アクセスが続くと、今度は、
フレームバッファ制御回路143は、ページモードでデ
ュアルポート画像メモリ30をリードアクセスし、最新
のリードアドレスによって指定されるデータに後続する
複数のデータをキャッシュメモリブロック141aに格
納する。この状態では、キャッシュメモリブロック14
1aに格納されたデータ数だけヒット状態が連続して発
生するので、CPU1がアクセス要求を発行してからリ
ードデータが確定されるまでの画像データの平均読み出
し時間はさらに短縮される。図6には、フレームバッフ
ァキャッシュ141の具体的構成の一例が示されてい
る。Further, if continuous access continues, this time,
The frame buffer control circuit 143 performs read access to the dual port image memory 30 in page mode, and stores a plurality of data subsequent to the data specified by the latest read address in the cache memory block 141a. In this state, the cache memory block 14
Since the hit state continuously occurs by the number of data stored in 1a, the average read time of the image data from when the CPU 1 issues the access request to when the read data is determined is further shortened. FIG. 6 shows an example of a specific configuration of the frame buffer cache 141.
【0072】キャッシュメモリブロック141aは、C
PU1またはコプロセッサ13によるキャッシュアクセ
スとフレームバッファ制御回路143によるキャッシュ
アクセスとが同時実行されるように2つのキャッシュメ
モリブロック201,202に分割されている。これら
キャッシュメモリブロック201,202は、それぞれ
独立してデータ読み出し/書き込み可能に構成されてい
る。The cache memory block 141a is C
It is divided into two cache memory blocks 201 and 202 so that the cache access by the PU 1 or the coprocessor 13 and the cache access by the frame buffer control circuit 143 are simultaneously executed. These cache memory blocks 201 and 202 are configured to be able to read / write data independently.
【0073】キャッシュメモリブロック201は、マル
チプレクサ301を介してキャッシュインターフェース
142およびフレームバッファ制御回路143に択一的
に接続される。同様に、キャッシュメモリブロック20
2も、マルチプレクサ302を介してキャッシュインタ
ーフェース142およびフレームバッファ制御回路14
3に択一的に接続される。The cache memory block 201 is alternatively connected to the cache interface 142 and the frame buffer control circuit 143 via the multiplexer 301. Similarly, the cache memory block 20
2 also via the multiplexer 302, the cache interface 142 and the frame buffer control circuit 14.
3 is alternatively connected.
【0074】マルチプレクサ301,302は、キャッ
シュメモリブロック201,202をキャッシュインタ
ーフェース142およびフレームバッファ制御回路14
3に交互に切り替え接続するためのものであり、それら
の選択動作は選択信号SEL,SEL ̄によって相補的
に制御される。したがって、キャッシュメモリブロック
201,202の一方がキャッシュインターフェース1
42に接続されているときには、他方はフレームバッフ
ァ制御回路143に接続されることになる。次に、図7
を参照して、図6のフレームバッファキャッシュ141
を利用したデータ読み出し動作を説明する。The multiplexers 301 and 302 connect the cache memory blocks 201 and 202 to the cache interface 142 and the frame buffer control circuit 14.
3 for switching connection alternately, and their selection operation is complementarily controlled by the selection signals SEL and SEL. Therefore, one of the cache memory blocks 201 and 202 is the cache interface 1
When connected to 42, the other will be connected to the frame buffer control circuit 143. Next, FIG.
6, the frame buffer cache 141 of FIG.
A data read operation using the will be described.
【0075】ここでは、キャッシュインターフェース1
42にキャッシュメモリブロック201が接続され、フ
レームバッファ制御回路143にキャッシュメモリブロ
ック202が接続されている場合を想定する。この場
合、キャッシュメモリブロック201はCPU1または
描画コプロセッサ13によってアクセスされるフォアグ
ランドキャッシュ(FORE)となり、キャッシュメモ
リブロック202はフレームバッファ制御回路143に
よってアクセスされるバックグランドキャッシュ(BA
CK)となる。Here, the cache interface 1
It is assumed that the cache memory block 201 is connected to 42 and the cache memory block 202 is connected to the frame buffer control circuit 143. In this case, the cache memory block 201 is a foreground cache (FORE) accessed by the CPU 1 or the drawing coprocessor 13, and the cache memory block 202 is a background cache (BA) accessed by the frame buffer control circuit 143.
CK).
【0076】CPU1または描画コプロセッサ13が画
像データをリードする場合、CPU1または描画コプロ
セッサ13からのリードアドレスは、フォアグランドキ
ャッシュであるキャッシュメモリブロック201に送ら
れ、キャッシュメモリブロック201がリードアクセス
される。When the CPU 1 or the drawing coprocessor 13 reads the image data, the read address from the CPU 1 or the drawing coprocessor 13 is sent to the cache memory block 201 which is a foreground cache, and the cache memory block 201 is read-accessed. It
【0077】アクセスモード判定回路144によって連
続アクセスであることが判定されている場合には、キャ
ッシュメモリブロック201のリードアクセスと並行し
て、バックグランドキャッシュであるキャッシュメモリ
ブロック201にはプリフェッチ回路143aによって
デュアルポート画像メモリ(VRAM)30の画像デー
タがプリフェッチされる。プリフェッチされる画像デー
タは、キャッシュメモリブロック201に格納されてい
る画像データに後続する画像データのブロックである。
この時、もしVRAMアクセスモードがページモードに
設定されていれば、プリフェッチ動作においては、デュ
アルポート画像メモリ(VRAM)30はページモード
によってリードアクセスされ、アドレス順に連続した複
数の画像データが連続して高速に読み出される。When the access mode determination circuit 144 has determined that the access is continuous, the prefetch circuit 143a of the cache memory block 201, which is the background cache, is used by the prefetch circuit 143a in parallel with the read access of the cache memory block 201. The image data in the dual port image memory (VRAM) 30 is prefetched. The prefetched image data is a block of image data that follows the image data stored in the cache memory block 201.
At this time, if the VRAM access mode is set to the page mode, in the prefetch operation, the dual port image memory (VRAM) 30 is read-accessed in the page mode, and a plurality of image data consecutive in the order of addresses are consecutive. It is read at high speed.
【0078】キャッシュメモリブロック201のリード
アクセスにおいて、もしキャッシュミスが発生すると、
マルチプレクサ301,302によってフォアグランド
キャッシュとバックグランドキャッシュの入れ替えが行
われる。これにより、キャッシュメモリブロック202
がフォアグランドキャッシュになり、キャッシュメモリ
ブロック201がバックグランドキャッシュとなる。If a cache miss occurs in the read access of the cache memory block 201,
The foreground cache and the background cache are exchanged by the multiplexers 301 and 302. As a result, the cache memory block 202
Becomes the foreground cache, and the cache memory block 201 becomes the background cache.
【0079】連続アドレスのリードアクセスの場合に
は、キャッシュメモリブロック202には既に後続する
画像データがプリフェッチされているので、CPU1ま
たは描画プロセッサ13は待ち時間無く画像データをそ
の順次読み出すことができる。図8には、このようなキ
ャッシュリード時におけるキャッシュメモリブロック2
01,202の状態遷移の様子が示されている。In the case of continuous address read access, since the subsequent image data has already been prefetched in the cache memory block 202, the CPU 1 or the drawing processor 13 can sequentially read the image data without waiting time. FIG. 8 shows the cache memory block 2 during such a cache read.
The state transition of 01 and 202 is shown.
【0080】図8において、ステート0は初期状態であ
り、フォアグランドキャッシュ、バックグランドキャッ
シュのどちらにも有効なデータは格納されてない。この
状態で、CPU1または描画コプロセッサ13から画像
データのリード要求が発行されると、ステート0からス
テート1の状態に遷移する。In FIG. 8, state 0 is the initial state, and valid data is not stored in either the foreground cache or the background cache. In this state, when a read request for image data is issued from the CPU 1 or the drawing coprocessor 13, the state transits from state 0 to state 1.
【0081】ステート1では、フレームバッファ制御回
路143はデュアルポート画像メモリ30をページモー
ドでリードアクセスして画像データを読み込み、それを
バックグランドキャッシュに書き込む。これにより、バ
ックグランドキャッシュにはリード要求された画像デー
タを先頭とする画像データブロックが格納される。デュ
アルポート画像メモリ30からのデータ読み出しが終了
すると、フォアグランド/バックグランドの入れ替えが
行われ、ステート1からステート2の状態に遷移する。In the state 1, the frame buffer control circuit 143 reads access the dual port image memory 30 in the page mode to read the image data and writes it in the background cache. As a result, the background cache stores an image data block having the read-requested image data as its head. When the data reading from the dual port image memory 30 is completed, the foreground / background are exchanged, and the state 1 transits to the state 2.
【0082】ステート2では、フォアグランドキャッシ
ュに有効データが存在する。CPU1または描画コプロ
セッサ13はそのフォアグランドキャッシュをリードア
クセスする。In state 2, valid data exists in the foreground cache. The CPU 1 or the drawing coprocessor 13 makes a read access to the foreground cache.
【0083】もし、このリードアクセスにおいてキャッ
シュミスが発生すると、前述のステート1に遷移する。
この遷移では、フォアグランド/バックグランドの入れ
替えは行われない。If a cache miss occurs in this read access, the state transits to the above-mentioned state 1.
In this transition, the foreground / background switching is not performed.
【0084】また、ステート2の状態でキャッシュヒッ
トしている場合には、ステート2の状態が維持される。
この場合、プリフェッチ制御回路143aによるプリフ
ェッチ動作を行う場合には、ステート3に状態が遷移す
る。When a cache hit occurs in the state of state 2, the state of state 2 is maintained.
In this case, when performing the prefetch operation by the prefetch control circuit 143a, the state transits to the state 3.
【0085】ステート3では、CPU1または描画コプ
ロセッサ13によるフォアグランドキャッシュのリード
アクセスが行われると共に、連続アクセスモードの場合
には、フォアグランドキャッシュのリードアクセスと並
行してプリフェッチ制御回路143aによるバックグラ
ンドキャッシュへの画像データのプリフェッチが実行さ
れる。In the state 3, the CPU 1 or the drawing coprocessor 13 performs the read access to the foreground cache, and in the continuous access mode, the prefetch control circuit 143a performs the background access in parallel with the read access to the foreground cache. The image data is prefetched to the cache.
【0086】このステート3において、フォアグランド
キャッシュのリードアクセスにおいてキャッシュミスが
発生すると、フォアグランドキャッシュ/バックグラン
ドキャッシュの入れ替えが行われ、前述のステート2に
状態が遷移する。一方、ステート3においてキャッシュ
ヒットしている場合には、そのステート3の状態が維持
される。次に、図9を参照して、図6のフレームバッフ
ァキャッシュ141を利用した画像データの書き込み動
作を説明する。In this state 3, when a cache miss occurs in the read access of the foreground cache, the foreground cache and the background cache are exchanged and the state transits to the state 2. On the other hand, when there is a cache hit in state 3, the state of state 3 is maintained. Next, with reference to FIG. 9, a write operation of image data using the frame buffer cache 141 of FIG. 6 will be described.
【0087】ここでは、キャッシュインターフェース1
42にキャッシュメモリブロック201が接続され、フ
レームバッファ制御回路143にキャッシュメモリブロ
ック202が接続されている場合を想定する。この場
合、キャッシュメモリブロック201はCPU1または
描画コプロセッサ13によってライトアクセスされるフ
ォアグランドキャッシュ(FORE)となり、キャッシ
ュメモリブロック202はフレームバッファ制御回路1
43によってリードアクセスされるバックグランドキャ
ッシュ(BACK)となる。Here, the cache interface 1
It is assumed that the cache memory block 201 is connected to 42 and the cache memory block 202 is connected to the frame buffer control circuit 143. In this case, the cache memory block 201 is a foreground cache (FORE) that is write-accessed by the CPU 1 or the drawing coprocessor 13, and the cache memory block 202 is the frame buffer control circuit 1.
The background cache (BACK) is read-accessed by 43.
【0088】CPU1または描画コプロセッサ13が画
像データをライトする場合、CPU1または描画コプロ
セッサ13からのライトアドレス、ライトデータは、フ
ォアグランドキャッシュであるキャッシュメモリブロッ
ク201に送られ、キャッシュメモリブロック201が
ライトアクセスされる。このキャッシュメモリブロック
201のライトアクセスと並行して、デュアルポート画
像メモリ(VRAM)30の更新のためにバックグラン
ドキャッシュであるキャッシュメモリブロック202が
リードアクセスされて、そのキャッシュメモリブロック
202の内容がデュアルポート画像メモリ(VRAM)
30に書き込まれる(キャッシュフラッシュ)。When the CPU 1 or the drawing coprocessor 13 writes image data, the write address and the write data from the CPU 1 or the drawing coprocessor 13 are sent to the cache memory block 201 which is a foreground cache, and the cache memory block 201 Write access is performed. In parallel with the write access to the cache memory block 201, the cache memory block 202, which is a background cache, is read-accessed for updating the dual port image memory (VRAM) 30, and the contents of the cache memory block 202 are dual. Port image memory (VRAM)
30 is written (cache flush).
【0089】この状態で、キャッシュメモリブロック2
01の全てのエントリにデータが書き込まれる(キャッ
シュフル)と、マルチプレクサ301,302によって
フォアグランドキャッシュとバックグランドキャッシュ
の入れ替えが行われる。これにより、キャッシュメモリ
ブロック202がフォアグランドキャッシュになり、キ
ャッシュメモリブロック201がバックグランドキャッ
シュとなる。In this state, the cache memory block 2
When the data is written in all the entries of 01 (cache full), the multiplexers 301 and 302 exchange the foreground cache and the background cache. As a result, the cache memory block 202 becomes a foreground cache, and the cache memory block 201 becomes a background cache.
【0090】また、このフォアグランドキャッシュとバ
ックグランドキャッシュの入れ替えは、キャッシュフル
だけでなく、ライトアドレスの値がページモードで書き
込み可能なアドレス範囲を越えた場合(キャシュミス)
にも実行される。これは、キャッシュフラッシュを、デ
ュアルポート画像メモリ(VRAM)30をページモー
ドでライトアクセスすることにより実行するためであ
る。The foreground cache and the background cache are exchanged not only when the cache is full, but also when the write address value exceeds the writable address range in page mode (Cash miss).
Is also run. This is because the cache flush is executed by performing write access to the dual port image memory (VRAM) 30 in the page mode.
【0091】デュアルポート画像メモリ(VRAM)3
0をページモードでライトアクセスするためには、キャ
ッシュメモリブロックに書き込まれている全ての画像デ
ータが同一ロウアドレスであることが必要である。した
がって、書き込み対象の画像データが既に書き込まれて
いる画像データとは異なるロウアドレスを持つ場合に
は、その画像データを別のキュッシュメモリブロックに
書き込むためにフォアグランドキャッシュとバックグラ
ンドキャッシュの入れ替えが行われる。Dual port image memory (VRAM) 3
In order to write-access 0 in page mode, it is necessary that all the image data written in the cache memory block have the same row address. Therefore, if the image data to be written has a different row address from the already written image data, the foreground cache and background cache are swapped to write the image data to another cache memory block. Be seen.
【0092】フォアグランド/バックグランドの入れ替
えが行われると、今度は、キャッシュメモリブロック2
02がフォアグランドキャッシュ、キャッシュメモリブ
ロック201がバックグランドキャッシュとなる。した
がって、以降は、CPU1または描画コプロセッサ13
はキャッシュメモリブロック202をライトアクセス
し、フレームバッファ制御回路143はキャッシュメモ
リブロック201をリードアクセスしてキャッシュフラ
ッシュを行う。When the foreground / background are switched, this time, the cache memory block 2
02 is a foreground cache, and the cache memory block 201 is a background cache. Therefore, thereafter, the CPU 1 or the drawing coprocessor 13
Performs write access to the cache memory block 202, and the frame buffer control circuit 143 performs read access to the cache memory block 201 to perform cache flush.
【0093】以上のように、図6のフレームバッファキ
ャッシュ141の構成においては、独立してアクセス制
御可能な2つのキャッシュメモリブロック201,20
2が設けられているので、CPU1または描画コプロセ
ッサ13とフレームバッファ制御回路143は互いに相
手の動作タイミングを意識することなく、非同期でそれ
ぞれキャッシュアクセスすることができる。As described above, in the configuration of the frame buffer cache 141 shown in FIG. 6, two cache memory blocks 201 and 20 which can be independently access-controlled.
2 is provided, the CPU 1 or the drawing coprocessor 13 and the frame buffer control circuit 143 can asynchronously access the caches without being aware of the operation timing of each other.
【0094】さらに、CPU1または描画コプロセッサ
13によるキャシュリードとフレームバッファ制御回路
143によるプリフェッチ処理を同時実行できるので、
よりデータ読み出し速度の高速化を図ることができる。
次に、図10を参照して、フレームバッファキャッシュ
141の第2の構成例を説明する。Furthermore, since the cache read by the CPU 1 or the drawing coprocessor 13 and the prefetch processing by the frame buffer control circuit 143 can be simultaneously executed,
The data read speed can be further increased.
Next, a second configuration example of the frame buffer cache 141 will be described with reference to FIG.
【0095】このフレームバッファキャッシュ141の
構成は、例えばライン描画のようにデュアルポート画像
メモリ30に対するリードアクセスとライトアクセスが
混在される描画処理の高速化を図ることを目的したもの
であり、そのためにライトキャッシュとリードキャッシ
ュを別個に備え、キャッシュライトによってリードキャ
ッシュのデータが破壊されないように構成されている。The structure of the frame buffer cache 141 is intended to speed up the drawing process such as line drawing in which read access and write access to the dual port image memory 30 are mixed. A write cache and a read cache are provided separately so that the cache write does not destroy the data in the read cache.
【0096】すなわち、キャッシュメモリブロック14
1aは、それぞれ独立してデータ読み出し/書き込み可
能な4つのキャッシュメモリブロック401〜404に
分割されている。That is, the cache memory block 14
1a is divided into four cache memory blocks 401 to 404 that can independently read / write data.
【0097】これらキャッシュメモリブロックのうち、
キャッシュメモリブロック401,402はライトキャ
ッシュ(W)として使用され、キャッシュメモリブロッ
ク403,404はリードキャッシュ(R)として使用
される。Of these cache memory blocks,
The cache memory blocks 401 and 402 are used as a write cache (W), and the cache memory blocks 403 and 404 are used as a read cache (R).
【0098】ライトキャッシュ(W)は、CPU1また
は描画コプロセッサ13からのライトデータを記憶する
ためのライト専用のキャッシュであり、CPU1または
描画コプロセッサ13による画像データ書き込み動作を
高速化するために使用される。The write cache (W) is a write-only cache for storing write data from the CPU 1 or the drawing coprocessor 13, and is used for speeding up the image data writing operation by the CPU 1 or the drawing coprocessor 13. To be done.
【0099】リードキャッシュ(R)は、デュアルポー
ト画像メモリ30から読み出された画像データを記憶す
るためのリード専用のキャッシュであり、CPU1また
は描画コプロセッサ13による画像データ読み込み動作
を高速化するために使用される。The read cache (R) is a read-only cache for storing the image data read from the dual port image memory 30, and is for speeding up the image data read operation by the CPU 1 or the drawing coprocessor 13. Used for.
【0100】ライトキャッシュメモリブロック401
は、マルチプレクサ501を介してキャッシュインター
フェース142およびフレームバッファ制御回路143
に択一的に接続される。同様に、ライトキャッシュメモ
リブロック402も、マルチプレクサ502を介してキ
ャッシュインターフェース142およびフレームバッフ
ァ制御回路143に択一的に接続される。Write cache memory block 401
Through the multiplexer 501, the cache interface 142 and the frame buffer control circuit 143.
Is connected alternatively. Similarly, the write cache memory block 402 is also selectively connected to the cache interface 142 and the frame buffer control circuit 143 via the multiplexer 502.
【0101】この場合、マルチプレクサ501,502
の選択動作は選択信号SEL1,SEL2によって相補
的に行われ、ライトキャッシュメモリブロック401,
402は交互にフォアグランドキャッシュとバックグラ
ンドキャッシュに切り替えられる。In this case, the multiplexers 501 and 502
Selection operation is performed complementarily by the selection signals SEL1 and SEL2, and the write cache memory block 401,
The foreground cache 402 and the background cache 402 are alternately switched.
【0102】リードキャッシュメモリブロック403,
404も、それぞれ対応するマルチプレクサ503,5
04を介してキャッシュインターフェース142および
フレームバッファ制御回路143に択一的に接続され
る。Read cache memory block 403,
404 also corresponds to the corresponding multiplexers 503, 5
04, the cache interface 142 and the frame buffer control circuit 143 are alternatively connected.
【0103】マルチプレクサ503,504の選択動作
は選択信号SEL3,SEL4によって相補的に行わ
れ、リードキャッシュメモリブロック403,404も
交互にフォアグランドキャッシュとバックグランドキャ
ッシュに切り替えられる。次に、図11を参照して、図
10のフレームバッファキャッシュ141のアクセス動
作を説明する。The selection operations of the multiplexers 503 and 504 are complementarily performed by the selection signals SEL3 and SEL4, and the read cache memory blocks 403 and 404 are also alternately switched to the foreground cache and the background cache. Next, the access operation of the frame buffer cache 141 of FIG. 10 will be described with reference to FIG.
【0104】ここでは、キャッシュインターフェース1
42にライトキャッシュメモリブロック401とリード
キャッシュメモリブロック403が接続され、フレーム
バッファ制御回路143にライトキャッシュメモリブロ
ック402とリードキャッシュメモリブロック404が
接続されている場合を想定する。この場合、キャッシュ
メモリブロック401はフォアグランドライトキャッシ
ュ(WF)、キャッシュメモリブロック402はバック
グランドライトキャッシュ(WB)、キャッシュメモリ
ブロック403はフォアグランドリードキャッシュ(R
F)、キャッシュメモリブロック404はバックグラン
ドリードキャッシュ(RB)となる。Here, the cache interface 1
It is assumed that the write cache memory block 401 and the read cache memory block 403 are connected to 42, and the write cache memory block 402 and the read cache memory block 404 are connected to the frame buffer control circuit 143. In this case, the cache memory block 401 is the foreground write cache (WF), the cache memory block 402 is the background write cache (WB), and the cache memory block 403 is the foreground read cache (R).
F), the cache memory block 404 becomes a background read cache (RB).
【0105】CPU1または描画コプロセッサ13が画
像データをリードする場合、CPU1または描画コプロ
セッサ13からのリードアドレスは、フォアグランドリ
ードキャッシュであるキャッシュメモリブロック403
に送られ、そのキャッシュメモリブロック403がリー
ドアクセスされる。このキャッシュメモリブロック40
3のリードアクセスと並行して、連続アクセスモードの
場合には、バックグランドリードキャッシュであるキャ
ッシュメモリブロック404にはプリフェッチ回路14
3aによってデュアルポート画像メモリ(VRAM)3
0の画像データがプリフェッチされる。プリフェッチさ
れる画像データは、キャッシュメモリブロック403に
格納されている画像データに後続する画像データのブロ
ックである。When the CPU 1 or the drawing coprocessor 13 reads image data, the read address from the CPU 1 or the drawing coprocessor 13 is the cache memory block 403 which is a foreground read cache.
And the cache memory block 403 is read-accessed. This cache memory block 40
In parallel with the read access of No. 3, in the continuous access mode, the prefetch circuit 14 is provided in the cache memory block 404 which is the background read cache.
Dual port image memory (VRAM) 3a
Image data of 0 is prefetched. The prefetched image data is a block of image data that follows the image data stored in the cache memory block 403.
【0106】このプリフェッチ動作においては、例えば
デュアルポート画像メモリ(VRAM)30はページモ
ードによってリードアクセスされ、アドレス順に連続し
た複数の画像データが連続して高速に読み出される。In this prefetch operation, for example, the dual port image memory (VRAM) 30 is read-accessed in the page mode, and a plurality of image data consecutive in the address order are continuously read at high speed.
【0107】フォアグランドリードキャッシュ403か
ら読み出される画像データは、CPU1または描画プロ
セッサ13によって演算される。そして、その演算結果
データはライトデータとしてフォアグランドライトキャ
ッシュであるキャッシュメモリブロック401に送ら
れ、そのキャッシュメモリブロック401がライトアク
セスされる。The image data read from the foreground read cache 403 is calculated by the CPU 1 or the drawing processor 13. Then, the operation result data is sent as write data to the cache memory block 401 which is a foreground write cache, and the cache memory block 401 is write-accessed.
【0108】このようなフォアグランドリードキャッシ
ュ(RF)のリードアクセスとフォアグランドライトキ
ャッシュ(WF)のライトアクセスは繰り返し実行され
る。この状態で、キャッシュメモリブロック401の全
てのエントリにデータが書き込まれるか(キャッシュフ
ル)、あるいはライトアドレスの値がページモードで書
き込み可能なアドレス範囲を越えるた場合(キャシュミ
ス)には、マルチプレクサ501,502によってフォ
アグランドライトキャッシュ(WF)とバックグランド
ライトキャッシュ(WB)の入れ替えが行われる。これ
により、キャッシュメモリブロック402がフォアグラ
ンドライトキャッシュになり、キャッシュメモリブロッ
ク401がバックグランドライトキャッシュとなる。Such read access to the foreground read cache (RF) and write access to the foreground write cache (WF) are repeatedly executed. In this state, when data is written in all the entries of the cache memory block 401 (cache full) or when the value of the write address exceeds the writable address range in page mode (cash miss), the multiplexer 501. , 502 replace the foreground write cache (WF) with the background write cache (WB). As a result, the cache memory block 402 becomes a foreground write cache, and the cache memory block 401 becomes a background write cache.
【0109】フォアグランド/バックグランドの入れ替
えが行われると、今度は、CPU1または描画コプロセ
ッサ13はキャッシュメモリブロック402をライトア
クセスし、フレームバッファ制御回路143はキャッシ
ュメモリブロック401をリードアクセスしてキャッシ
ュフラッシュを行う。When the foreground / background switching is performed, the CPU 1 or the drawing coprocessor 13 makes a write access to the cache memory block 402, and the frame buffer control circuit 143 makes a read access to the cache memory block 401 to make a cache access. Do a flash.
【0110】キャッシュメモリブロック403のリード
アクセスにおいてキャッシュミスが発生すると、マルチ
プレクサ503,504によってフォアグランドリード
キャッシュ(RF)とバックグランドリードキャッシュ
(RB)の入れ替えが行われる。これにより、キャッシ
ュメモリブロック404がフォアグランドリードキャッ
シュになり、キャッシュメモリブロック403がバック
グランドリードキャッシュとなる。When a cache miss occurs in the read access of the cache memory block 403, the foreground read cache (RF) and the background read cache (RB) are exchanged by the multiplexers 503 and 504. As a result, the cache memory block 404 becomes the foreground read cache, and the cache memory block 403 becomes the background read cache.
【0111】キャッシュメモリブロック404には既に
後続する画像データがプリフェッチされているので、連
続アドレスのリードアクセスであればCPU1または描
画プロセッサ13は待ち時間無く画像データを順次読み
出すことができる。Since the succeeding image data has already been prefetched in the cache memory block 404, the CPU 1 or the drawing processor 13 can sequentially read the image data without waiting time in the case of read access of continuous addresses.
【0112】このように図10のフレームバッファキャ
ッシュ141の構成においては、ライトキャッシュとリ
ードキャッシュを別々に持つので、デュアルポート画像
メモリ30からキャッシュに読み込んだデータがキャッ
シュライトによって破壊されることがなくなり、CPU
1または描画プロセッサ13によるリード/ライト混在
の描画処理を効率良く実行することができる。As described above, in the configuration of the frame buffer cache 141 of FIG. 10, since the write cache and the read cache are separately provided, the data read from the dual port image memory 30 to the cache is not destroyed by the cache write. , CPU
It is possible to efficiently execute read / write mixed drawing processing by the 1 or drawing processor 13.
【0113】尚、キャッシュメモリブロック401〜4
04はそれぞれリード/ライト可能に構成されているの
で、これら4つのキャッシュメモリブロック401〜4
04全てをライトキャッシュとして使用することもでき
る。これは、描画コプロセッサ13がサポートするBI
TBLT等の矩形転送を高速実行するのに好適なキャッ
シュモード(高速矩形転送モード)である。The cache memory blocks 401 to 4
Since 04 is configured to be readable / writable, these four cache memory blocks 401 to 4
All 04 can also be used as a write cache. This is the BI supported by the drawing coprocessor 13.
This is a cache mode (high-speed rectangular transfer mode) suitable for high-speed execution of rectangular transfer such as TBLT.
【0114】すなわち、描画コプロセッサ13にはリー
ドバッファが設けられているので、4つのキャッシュメ
モリブロック401〜404全てをライトキャッシュと
して用いることができる。BitBltはアドレスが連
続する可能性が高いため、ライトキャッシュの容量を増
やすことにより、ページモードライトを用いることがで
き効率良く画像メモリ30への書き込みができる。次
に、図12を参照して、高速矩形転送モードにおけるキ
ャッシュアクセス動作を説明する。That is, since the drawing coprocessor 13 is provided with the read buffer, all the four cache memory blocks 401 to 404 can be used as the write cache. Since BitBlt has a high possibility that addresses are continuous, page mode write can be used by increasing the capacity of the write cache, and writing to the image memory 30 can be performed efficiently. Next, the cache access operation in the high speed rectangular transfer mode will be described with reference to FIG.
【0115】ここでは、キャッシュインターフェース1
42にライトキャッシュメモリブロック401、402
が接続され、フレームバッファ制御回路143にライト
キャッシュメモリブロック403、404が接続されて
いる場合を想定する。この場合、キャッシュメモリブロ
ック401,402の双方はフォアグランドライトキャ
ッシュ(WF)となり、またキャッシュメモリブロック
403,404の双方はバックグランドライトキャッシ
ュ(WB)となる。Here, the cache interface 1
42 is a write cache memory block 401, 402
Is connected, and the write cache memory blocks 403 and 404 are connected to the frame buffer control circuit 143. In this case, both cache memory blocks 401 and 402 are foreground write caches (WF), and both cache memory blocks 403 and 404 are background write caches (WB).
【0116】描画コプロセッサ13が画像データをリー
ドする場合、描画コプロセッサ13からのリードアドレ
スはフレームバッファキャッシュ141を経由せず、ダ
レクトパスP1を介してフレームバッファ制御回路14
3に送られる。フレームバッファ制御回路143は、デ
ュアルポート画像メモリ30をリードアクセスして画像
データを読み出し、それをダレクトパスP1を介して描
画コプロセッサ13に転送する。転送された画像データ
は描画コプロセッサ13の演算回路131内蔵のリード
バッファ131aに書き込まれる。When the drawing coprocessor 13 reads the image data, the read address from the drawing coprocessor 13 does not pass through the frame buffer cache 141 but through the direct path P1.
Sent to 3. The frame buffer control circuit 143 performs read access to the dual port image memory 30 to read image data, and transfers the image data to the drawing coprocessor 13 via the direct path P1. The transferred image data is written in the read buffer 131a incorporated in the arithmetic circuit 131 of the drawing coprocessor 13.
【0117】次いで、描画コプロセッサ13は、リード
バッファ131aの画像データを加工した後、それをラ
イトデータとしてフォアグランドライトキャッシュであ
るキャッシュメモリブロック401または402に送
る。キャッシュメモリブロック401に空きがあればそ
のキャッシュメモリブロック401がライトアクセスさ
れ、空きがなければキャッシュメモリブロック402が
ライトアクセスされる。キャッシュメモリブロック40
1および402の全てのエントリにデータが書き込まれ
るか(キャッシュフル)、あるいはライトアドレスの値
がページモードで書き込み可能なアドレス範囲を越える
た場合(キャシュミス)には、マルチプレクサ501,
502,503,504によってフォアグランドライト
キャッシュ(WF)とバックグランドライトキャッシュ
(WB)の入れ替えが行われる。これにより、キャッシ
ュメモリブロック403,404がフォアグランドライ
トキャッシュになり、キャッシュメモリブロック40
1,402がバックグランドライトキャッシュとなる。Next, the drawing coprocessor 13 processes the image data in the read buffer 131a and then sends it as write data to the cache memory block 401 or 402 which is a foreground write cache. If there is a free space in the cache memory block 401, the cache memory block 401 is write-accessed, and if there is no free space, the cache memory block 402 is write-accessed. Cache memory block 40
When data is written in all entries 1 and 402 (cache full) or when the value of the write address exceeds the writable address range in page mode (Cash miss), the multiplexer 501,
The foreground write cache (WF) and the background write cache (WB) are replaced by 502, 503, and 504. As a result, the cache memory blocks 403 and 404 become the foreground write cache, and the cache memory block 40
1, 402 are background write caches.
【0118】フォアグランド/バックグランドの入れ替
えが行われると、今度は、描画コプロセッサ13によっ
てキャッシュメモリブロック403,404がライトア
クセスされる。一方、フレームバッファ制御回路143
はキャッシュメモリブロック401,402をリードア
クセスしてキャッシュフラッシュを行う。このキャッシ
ュフラッシュにおいては、デュアルポート画像メモリ3
0がページモードでライトアクセスされる。When the foreground / background are exchanged, the drawing coprocessor 13 performs write access to the cache memory blocks 403 and 404 this time. On the other hand, the frame buffer control circuit 143
Performs read access to the cache memory blocks 401 and 402 to perform cache flush. In this cache flash, dual port image memory 3
0 is write-accessed in page mode.
【0119】以上のように、図10の構成においては、
ライトキャッシュとリードキャッシュを別に持つキャッ
シュモード(混在アクセスモード)と全てのキャッシュ
メモリブロックをライトキャッシュとして使用するキャ
ッシュモード(高速矩形転送モード)の2種類のキャッ
シュモードを利用することができる。図13には、これ
ら2種類のキャッシュモードにおけるキャッシュブロッ
クの利用形態が示されている。As described above, in the configuration of FIG.
Two types of cache modes can be used: a cache mode in which a write cache and a read cache are separately provided (mixed access mode), and a cache mode in which all cache memory blocks are used as a write cache (high speed rectangular transfer mode). FIG. 13 shows usage patterns of cache blocks in these two types of cache modes.
【0120】ここでは、各キャッシュメモリブロックが
32ビットデータを8エントリ記憶可能な場合を想定し
ている。この場合、混在アクセスモードにおいては1度
のキャッシュアクセスでリード/ライト可能な最大デー
タ幅は32ビットであるが、高速矩形転送モードにおい
ては、2つのキャッシュメモリブロックを同時アクセス
することによって1度のキャッシュアクセスで最大64
ビットのデータをリード/ライトすることが可能であ
る。Here, it is assumed that each cache memory block can store 8 entries of 32-bit data. In this case, in the mixed access mode, the maximum data width that can be read / written by one cache access is 32 bits, but in the high-speed rectangular transfer mode, two cache memory blocks are simultaneously accessed by one access. Up to 64 for cache access
It is possible to read / write bit data.
【0121】したがって、フレームバッファ制御回路1
43とデュアルポート画像メモリ30のパラレルポート
間のバス幅を64ビットに設定すれば、高速矩形転送モ
ードにおけるキャッシュフラッシュをさらに高速化する
ことができる。図14には、フレームバッファキャッシ
ュ141に設けられているキャシュメモリブロックの構
成の一例が示されている。Therefore, the frame buffer control circuit 1
If the bus width between the parallel port 43 and the parallel port of the dual port image memory 30 is set to 64 bits, the cache flush speed in the high speed rectangular transfer mode can be further increased. FIG. 14 shows an example of the configuration of the cache memory block provided in the frame buffer cache 141.
【0122】フレームバッファキャッシュ141に設け
られるキャッシュメモリブロックはどれも同一構成であ
るので、ここでは、図10のキャシュメモリブロック4
01を代表して説明する。Since the cache memory blocks provided in the frame buffer cache 141 have the same structure, the cache memory block 4 shown in FIG. 10 is used here.
01 will be described as a representative.
【0123】キャシュメモリブロック401はデュアル
ポート画像メモリ30のページモードアクセスに適した
回路構成を有する。すなわち、キャシュメモリブロック
401は、図示のように、データメモリ601、タグメ
モリ602、バリッドフラグレジスタ603、マルチプ
レクサ604、マルチプレクサ制御回路605、固定タ
グレジスタ606、固定タグ比較器607を備えてい
る。The cache memory block 401 has a circuit configuration suitable for page mode access of the dual port image memory 30. That is, the cache memory block 401 includes a data memory 601, a tag memory 602, a valid flag register 603, a multiplexer 604, a multiplexer control circuit 605, a fixed tag register 606, and a fixed tag comparator 607 as illustrated.
【0124】データメモリ601はキャシュメモリブロ
ック401にライトデータとして供給される画像データ
(C DAT)を保持するためのものであり、32ビッ
ト幅を持つエントリを8個備えている。タグメモリ60
2は、データメモリ601の画像データがデュアルポー
ト画像メモリ30のどのアドレスに対応するデータであ
るかを示すタグ情報を保持するためのものであり、デー
タメモリ601と同じ8個のタグエントリを有してい
る。各タグエントリには、データメモリ601の対応す
るエントリに保持されている画像データのタグ情報が格
納される。タグ情報としては、デュアルポート画像メモ
リ30の9ビットのCASアドレス(カラムアドレス)
が利用されている。このCASアドレスは、キャッシュ
メモリブロック401をリードアクセスする際にCPU
1、描画コプロセッサ13、またはフレームバッファ制
御回路143から出力されるライトアドレスの一部であ
る。バリッドフラグレジスタ603は、データメモリ6
01の各エントリのデータが有効かどうかを示すバリッ
ドフラグ(VF)を保持する。マルチプレクサ604
は、データメモリ601,タグメモリ602それぞれの
エントリの中からヒットしたタグ情報とデータを選択す
る。タグ情報はCASアドレスであるので、キャッシュ
フラシュの場合には、その読み出したタグ情報を利用し
てデュアルポート画像メモリ30をページモードでアク
セスすることができる。The data memory 601 holds the image data (C DAT) supplied as write data to the cache memory block 401, and has eight entries each having a 32-bit width. Tag memory 60
2 is for holding tag information indicating which address of the dual port image memory 30 the image data of the data memory 601 corresponds to, and has the same eight tag entries as the data memory 601. is doing. Each tag entry stores tag information of the image data held in the corresponding entry of the data memory 601. As the tag information, a 9-bit CAS address (column address) of the dual port image memory 30
Is used. This CAS address is used by the CPU when the cache memory block 401 is read-accessed.
1, a part of the write address output from the drawing coprocessor 13 or the frame buffer control circuit 143. The valid flag register 603 is included in the data memory 6
A valid flag (VF) indicating whether the data of each entry 01 is valid is held. Multiplexer 604
Selects the hit tag information and data from the respective entries of the data memory 601 and the tag memory 602. Since the tag information is the CAS address, the dual port image memory 30 can be accessed in the page mode using the read tag information in the case of the cache flash.
【0125】マルチプレクサ制御回路605はマルチプ
レクサ604の選択動作を制御するためのものであり、
8個のタグ比較器605a、およびゲート回路605b
を備えている。8個のタグ比較器605aは、リ−ドC
ASアドレスによって指定されるデータがデータメモリ
601のどのエントリに存在するかを検出するためのも
のであり、タグメモリ602の8個のエントリそれぞれ
のタグ情報とリ−ドCASアドレスとを比較し、8ビッ
トの比較結果信号を出力する。リ−ドCASアドレス
は、キャッシュメモリブロック401をリードアクセス
する際にCPU1、描画コプロセッサ13、またはフレ
ームバッファ制御回路143から出力されるリードアド
レスの一部である。The multiplexer control circuit 605 is for controlling the selection operation of the multiplexer 604,
Eight tag comparators 605a and gate circuit 605b
Is equipped with. The eight tag comparators 605a are lead C
It is for detecting in which entry of the data memory 601 the data designated by the AS address exists, and compares the tag information of each of the eight entries of the tag memory 602 with the read CAS address, An 8-bit comparison result signal is output. The read CAS address is a part of the read address output from the CPU 1, the drawing coprocessor 13, or the frame buffer control circuit 143 when the cache memory block 401 is read accessed.
【0126】ゲート回路605bは、タグ比較器605
aの8ビットの比較結果信号、バリッドフラグ(VF0
〜VF7)、および固定タグ比較器607の比較結果信
号に基づいて、リードアクセス時のキャッシュッヒット
/キャッシュミスを検出する。すなわち、ゲート回路6
05bにおいては、まず、リ−ドCASアドレスによっ
て指定されるデータが存在しているデータメモリ601
内のエントリが有効か否かがチェックされる。有効でな
い場合にはキャッシュミスとなり、ミスヒット信号が出
力される。一方、有効な場合には、固定タグ比較器60
7の比較結果信号によってキャッシュヒット/キャッシ
ュミスが決定される。固定タグ比較器607の比較結果
信号が一致を示す時、ゲート回路605bはリードアク
セスにおいてキャッシュヒットしたことを示すリードH
IT信号を出力する。また、この時は、選択信号C0〜
C7のうちでリードCASアドレスによって指定される
エントリに対応する選択信号がイネーブルとなり、リー
ドCASアドレスによって指定されるエントリ内のタグ
情報およびデータが読み出されるようにマルチプレクサ
604が制御される。The gate circuit 605b is a tag comparator 605.
8-bit comparison result signal of a, valid flag (VF0
~ VF7) and the comparison result signal of the fixed tag comparator 607, a cache hit / cache miss at the time of read access is detected. That is, the gate circuit 6
In 05b, first, the data memory 601 in which the data specified by the read CAS address exists
The entry in is checked to see if it is valid. If it is not valid, a cache miss occurs and a mishit signal is output. On the other hand, if valid, the fixed tag comparator 60
The cache hit / cache miss is determined by the comparison result signal of 7. When the comparison result signal of the fixed tag comparator 607 indicates a match, the gate circuit 605b indicates a read H indicating that a cache hit has occurred in a read access.
Output IT signal. At this time, the selection signals C0 to C0
The multiplexer 604 is controlled so that the selection signal corresponding to the entry designated by the read CAS address in C7 is enabled and the tag information and data in the entry designated by the read CAS address are read.
【0127】固定タグレジスタ606には、最初のライ
トアクセス時にCPU1、描画コプロセッサ13、また
はフレームバッファ制御回路143から出力されるライ
トRASアドレスがセットされる。固定タグ比較器60
7は、固定タグレジスタ606のライトRASアドレス
と、ライトまたはリードアクセス時にCPU1、描画コ
プロセッサ13、またはフレームバッファ制御回路14
3から出力されるRASアドレスを比較する。ライトア
クセスの場合には、固定タグレジスタ606のライトR
ASアドレスとライトアドレスに含まれるRASアドレ
スの一致/不一致のみによって、キャッシュヒット/キ
ャッシュミスが決定される。リードアクセスの場合に
は、固定タグレジスタ606のライトRASアドレスと
リードアドレスに含まれるRASアドレスの一致/不一
致を示す信号がゲート回路605bに送られる。In the fixed tag register 606, the write RAS address output from the CPU 1, the drawing coprocessor 13, or the frame buffer control circuit 143 at the first write access is set. Fixed tag comparator 60
Reference numeral 7 denotes the write RAS address of the fixed tag register 606 and the CPU 1, the drawing coprocessor 13, or the frame buffer control circuit 14 at the time of write or read access.
The RAS address output from 3 is compared. In the case of write access, write R of fixed tag register 606
The cache hit / cache miss is determined only by the match / mismatch between the AS address and the RAS address included in the write address. In the case of read access, a signal indicating match / mismatch between the write RAS address of the fixed tag register 606 and the RAS address included in the read address is sent to the gate circuit 605b.
【0128】また、固定タグレジスタ606にセットさ
れているライトRASアドレスは、キャッシュフラッシ
ュ時にデュアルポート画像メモリ30をページモードで
ライトアクセスするために使用される。The write RAS address set in the fixed tag register 606 is used for write access to the dual port image memory 30 in the page mode during cache flush.
【0129】このように、このキャッシュメモリブロッ
ク401は、ライトRASアドレスを固定タグとして使
用することにより同一RASアドレスのデータだけが書
き込み可能になっている。またCASアドレスをタグ情
報としてタグエントリに格納しているので、そのタグ情
報をデュアルポート画像メモリ30のページモードアク
セスに有効利用することができる。As described above, in the cache memory block 401, only the data of the same RAS address can be written by using the write RAS address as the fixed tag. Further, since the CAS address is stored as tag information in the tag entry, the tag information can be effectively used for page mode access of the dual port image memory 30.
【0130】以上説明したように、この表示制御システ
ムにおいては、CPU1または描画コプロセッサ13に
よる画像データのリード処理において、フレームバッフ
ァキャッシュ141に画像データをプリフェッチするこ
とによりキャッシュヒットの確率を高めることができ
る。キャッシュミスが発生するとCPU1または描画コ
プロセッサ13はデュアルポート画像メモリ30から画
像データが読み出されるまで待たされることになるが、
キャッシュヒットの場合には所望の画像データをフレー
ムバッファキャッシュ141から直ぐにリードすること
ができる。したがって、フレームバッファキャッシュ1
41への画像データのプリフェッチは、CPU1または
描画コプロセッサ13の待ち時間を低減することができ
る。As described above, in this display control system, in the image data read processing by the CPU 1 or the drawing coprocessor 13, the probability of a cache hit can be increased by prefetching the image data in the frame buffer cache 141. it can. When a cache miss occurs, the CPU 1 or the drawing coprocessor 13 has to wait until the image data is read from the dual port image memory 30,
In the case of a cache hit, desired image data can be immediately read from the frame buffer cache 141. Therefore, the frame buffer cache 1
Prefetching the image data to 41 can reduce the waiting time of the CPU 1 or the drawing coprocessor 13.
【0131】なお、以上の説明では、キャッシュメモリ
に画像データをプリフェッチする場合を説明したが、プ
リフェッチ用のリードバッファを設けてそこに画像デー
タをプリフェッチしても良いことは持ち論である。In the above description, the case where the image data is prefetched has been described, but it is a matter of course that a read buffer for prefetching may be provided and the image data may be prefetched there.
【0132】また、このようなプリフェッチバッファを
何ら設けない場合であっても、連続アクセスの場合にV
RAMのアクセスモードをページモードに切り替えてい
るので、ダイレクトパスP1を介して高速にデータをC
PU1や描画コプロセッサ13に転送することができ
る。さらに、VRAMの高速アクセスモードとしては、
ページモードに限らず、たとえばスタチックカラムモー
ド、ニブルモード等を利用することもできる。Even if such a prefetch buffer is not provided at all, in the case of continuous access, V
Since the RAM access mode is switched to the page mode, the data can be transferred to the C
It can be transferred to the PU 1 or the drawing coprocessor 13. Furthermore, as the VRAM high-speed access mode,
Not only the page mode but also a static column mode, a nibble mode or the like can be used.
【0133】[0133]
【発明の効果】以上のようにこの発明によれば、CPU
や描画コプロセッサによって実行されている命令の種類
に応じてフレームバッファをアクセス制御できるように
なり、フレームバッファの高速アクセスモードや画像デ
ータのプリフェッチを有効利用した画像データの読み出
しを行うことが可能になる。As described above, according to the present invention, the CPU
It is now possible to control access to the frame buffer according to the type of instructions executed by the drawing coprocessor, and it is possible to read out image data that makes effective use of the high-speed access mode of the frame buffer and prefetching of image data. Become.
【図1】この発明の一実施例に係る表示制御システム全
体の構成を示すブロック図。FIG. 1 is a block diagram showing the overall configuration of a display control system according to an embodiment of the present invention.
【図2】図1の表示制御システムに設けられているメモ
リ制御回路の構成例を示すブロック図。2 is a block diagram showing a configuration example of a memory control circuit provided in the display control system of FIG.
【図3】図2のメモリ制御回路に設けられているアクセ
スモード判定回路の具体的構成の一例を示す回路図。3 is a circuit diagram showing an example of a specific configuration of an access mode determination circuit provided in the memory control circuit of FIG.
【図4】図3に示したアクセスモード判定回路によるモ
−ド判定動作を説明するための図。FIG. 4 is a diagram for explaining a mode determination operation by the access mode determination circuit shown in FIG.
【図5】図3に示したアクセスモード判定回路によるモ
−ド判定結果に対応するプリフェッチ処理およびVRA
Mアクセスモードを説明する図。5 is a prefetch process and VRA corresponding to a mode determination result by the access mode determination circuit shown in FIG.
The figure explaining M access mode.
【図6】図2のメモリ制御回路に設けられているフレー
ムバッファキャッシュの第1の構成例を示すブロック
図。6 is a block diagram showing a first configuration example of a frame buffer cache provided in the memory control circuit of FIG.
【図7】図6のフレームバッファキャッシュを利用した
画像データの読み出し動作を説明するための図。FIG. 7 is a diagram for explaining an image data read operation using the frame buffer cache of FIG. 6;
【図8】図6のフレームバッファキャッシュのフォアグ
ランド/バックグランドの切り替え動作を説明するため
の図。FIG. 8 is a diagram for explaining a foreground / background switching operation of the frame buffer cache of FIG.
【図9】図6のフレームバッファキャッシュを利用した
画像データの書き込み動作を説明するための図。9 is a diagram for explaining an image data writing operation using the frame buffer cache of FIG. 6;
【図10】図2のメモリ制御回路に設けられているフレ
ームバッファキャッシュの第2の構成例を示すブロック
図。10 is a block diagram showing a second configuration example of a frame buffer cache provided in the memory control circuit of FIG.
【図11】図10のフレームバッファキャッシュを利用
した画像データの書き込み/読み出し動作を説明するた
めの図。11 is a diagram for explaining an image data write / read operation using the frame buffer cache of FIG.
【図12】図10のフレームバッファキャッシュを利用
した高速矩形転送モード時の画像データ書き込み動作を
説明するための図。12 is a diagram for explaining an image data writing operation in a high speed rectangular transfer mode using the frame buffer cache of FIG.
【図13】図10のフレームバッファキャッシュのフォ
アグランド/バックグランド切り替えを説明するための
図。13 is a diagram for explaining the foreground / background switching of the frame buffer cache of FIG.
【図14】図2、図6および図10に示した各フレーム
バッファキャッシュに設けられるキャッシュメモリブロ
ックの具体的構成の一例を示す回路図。14 is a circuit diagram showing an example of a specific configuration of a cache memory block provided in each frame buffer cache shown in FIGS. 2, 6 and 10. FIG.
1…CPU、2…メインメモリ、3…システムバス、4
…表示制御システム、10…ディスプレイコントロー
ラ、13…描画コプロセッサ、14…メモリ制御回路、
16…CRTコントローラ、30…デュアルポート画像
メモリ、141…フレームバッファキャッシュ、141
a…キャッシュメモリブロック、141b…制御回路、
142…キャッシュインターフェース、143…フレー
ムバッファ制御回路、144…アクセスモード判定回
路、201,202,401〜404…キャッシュメモ
リブロック、301,302,501〜504…マルチ
プレクサ、601…データメモリ、602…タグメモ
リ、603…バリッドフラグレジスタ。1 ... CPU, 2 ... Main memory, 3 ... System bus, 4
... display control system, 10 ... display controller, 13 ... drawing coprocessor, 14 ... memory control circuit,
16 ... CRT controller, 30 ... Dual port image memory, 141 ... Frame buffer cache, 141
a ... cache memory block, 141b ... control circuit,
142 ... Cache interface, 143 ... Frame buffer control circuit, 144 ... Access mode determination circuit, 201, 202, 401-404 ... Cache memory block, 301, 302, 501-504 ... Multiplexer, 601 ... Data memory, 602 ... Tag memory , 603 ... Valid flag register.
Claims (3)
タを記憶する画像メモリと、 この画像メモリに記憶されている前記画像データをディ
スプレイに表示する表示手段と、 前記プロセッサから供給されるリードアドレスの変化の
履歴に従って、前記プロセッサによるリ−ドアクセス
が、アドレス不連続のランダムアクセスであるかアドレ
ス順に連続したデータを順次リードする連続アクセスで
あるかを判定するアクセスモード判定手段と、 このアクセスモード判定手段の判定結果に従って、前記
画像メモリを第1アクセスモードおよびそれよりも高速
の第2アクセスモードの一方でリードアクセスするメモ
リ制御手段とを具備することを特徴とする表示制御シス
テム。1. An image memory for storing image data generated by a processor, display means for displaying the image data stored in the image memory on a display, and a change of a read address supplied from the processor. Access mode determining means for determining whether the read access by the processor is random access with discontinuous addresses or continuous access for sequentially reading continuous data in the order of address according to the history; A display control system comprising: a memory control unit that performs read access to the image memory in one of a first access mode and a second access mode that is faster than the first access mode according to a determination result.
タを記憶する画像メモリと、 この画像メモリに記憶されている前記画像データをディ
スプレイに表示する表示手段と、 前記画像メモリから先読みされた画像データを記憶し、
前記プロセッサからのリード要求に応じて前記画像デー
タの読み出しが実行されるように構成されたプリフェッ
チバッファと、 前記プロセッサから供給されるリードアドレスの変化の
履歴に従って、前記プロセッサによるリ−ドアクセス
が、アドレス順に連続したデータを順次リードする連続
アクセスモードであるか否かを判定するアクセスモード
判定手段と、 このアクセスモード判定手段によって連続アクセスモー
ドであることが判定された際、前記プロセッサによって
リード要求された画像データに後続するアドレスの画像
データを前記画像メモリから読み出して前記プリフェッ
チバッファにプリフェッチするプリフェッチ手段とを具
備することを特徴とする表示制御システム。2. An image memory for storing image data generated by a processor, display means for displaying the image data stored in the image memory on a display, and image data preread from the image memory. Then
A prefetch buffer configured to read the image data in response to a read request from the processor, and a read access by the processor according to a history of changes in the read address supplied from the processor, Access mode determining means for determining whether or not a continuous access mode for sequentially reading continuous data in address order; and when the access mode determining means determines that the continuous access mode is set, a read request is issued by the processor And a prefetch unit that reads out image data of an address subsequent to the image data from the image memory and prefetches into the prefetch buffer.
リをページモードでリードアクセスしてアドレス順に連
続した複数の画像データを連続的に前記画像メモリから
前記プリフェッチバッファに転送することを特徴とする
請求項2記載の表示制御システム。3. The prefetch means performs read access to the image memory in a page mode to continuously transfer a plurality of image data consecutive in address order from the image memory to the prefetch buffer. 2. The display control system described in 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6398493A JPH06274410A (en) | 1993-03-23 | 1993-03-23 | Display control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6398493A JPH06274410A (en) | 1993-03-23 | 1993-03-23 | Display control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06274410A true JPH06274410A (en) | 1994-09-30 |
Family
ID=13245066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6398493A Pending JPH06274410A (en) | 1993-03-23 | 1993-03-23 | Display control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06274410A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997029456A1 (en) * | 1996-02-06 | 1997-08-14 | Sony Computer Entertainment Inc. | Image forming apparatus |
JP2008159057A (en) * | 2006-12-22 | 2008-07-10 | Intel Corp | Prefetch from dynamic random access memory to static random access memory |
WO2008111396A1 (en) * | 2007-03-15 | 2008-09-18 | Nec Corporation | Semiconductor integrated circuit device |
JP2011501341A (en) * | 2007-10-16 | 2011-01-06 | エス. アクア セミコンダクター, エルエルシー | Memory with independent access and precharge |
US7983111B2 (en) | 2007-02-21 | 2011-07-19 | Seiko Epson Corporation | Memory controller for controlling memory and method of controlling memory |
-
1993
- 1993-03-23 JP JP6398493A patent/JPH06274410A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997029456A1 (en) * | 1996-02-06 | 1997-08-14 | Sony Computer Entertainment Inc. | Image forming apparatus |
US6141025A (en) * | 1996-02-06 | 2000-10-31 | Sony Computer Entertainment, Inc. | Image generating apparatus with FIFO memory and cache memory |
JP2008159057A (en) * | 2006-12-22 | 2008-07-10 | Intel Corp | Prefetch from dynamic random access memory to static random access memory |
JP4658112B2 (en) * | 2006-12-22 | 2011-03-23 | インテル コーポレイション | Prefetching from dynamic random access memory to static random access memory |
US7983111B2 (en) | 2007-02-21 | 2011-07-19 | Seiko Epson Corporation | Memory controller for controlling memory and method of controlling memory |
WO2008111396A1 (en) * | 2007-03-15 | 2008-09-18 | Nec Corporation | Semiconductor integrated circuit device |
JP5115548B2 (en) * | 2007-03-15 | 2013-01-09 | 日本電気株式会社 | Semiconductor integrated circuit device |
US9019285B2 (en) | 2007-03-15 | 2015-04-28 | Renesas Electronics Corporation | Semiconductor integrated circuit device |
JP2011501341A (en) * | 2007-10-16 | 2011-01-06 | エス. アクア セミコンダクター, エルエルシー | Memory with independent access and precharge |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5559952A (en) | Display controller incorporating cache memory dedicated for VRAM | |
US5579473A (en) | Interface controller for frame buffer random access memory devices | |
US5664161A (en) | Address-translatable graphic processor, data processor and drawing method with employment of the same | |
KR100221028B1 (en) | Graphics Accelerator and Memory Prefetch Method Using the Same | |
US6598136B1 (en) | Data transfer with highly granular cacheability control between memory and a scratchpad area | |
US5357606A (en) | Row interleaved frame buffer | |
JPH0348370A (en) | Memory access control circuit | |
US5454076A (en) | Method and apparatus for simultaneously minimizing storage and maximizing total memory bandwidth for a repeating pattern | |
US6741256B2 (en) | Predictive optimizer for DRAM memory | |
US6720969B2 (en) | Dirty tag bits for 3D-RAM SRAM | |
US6812928B2 (en) | Performance texture mapping by combining requests for image data | |
JP2548765B2 (en) | Display device | |
JPH08255107A (en) | Display controller | |
US20030160796A1 (en) | Active block write-back from SRAM cache to DRAM | |
US20020171657A1 (en) | External dirty tag bits for 3D-RAM SRAM | |
JPH06274410A (en) | Display control system | |
JP3313527B2 (en) | Graphics controller and pixel data transfer system | |
JPH07234773A (en) | Display controller | |
US6209063B1 (en) | Management of the information flow within a computer system | |
JPH08180012A (en) | Computer system | |
JP2576015B2 (en) | Display control device | |
JPH07234821A (en) | Paging device and display controller | |
WO1998028713A1 (en) | Enhanced methods and systems for caching and pipelining of graphics texture data | |
WO1998028713A9 (en) | Enhanced methods and systems for caching and pipelining of graphics texture data | |
US5633661A (en) | Video display control system having block write with opaque pattern control expansion |