JP2003323338A - Image processor - Google Patents

Image processor

Info

Publication number
JP2003323338A
JP2003323338A JP2002129016A JP2002129016A JP2003323338A JP 2003323338 A JP2003323338 A JP 2003323338A JP 2002129016 A JP2002129016 A JP 2002129016A JP 2002129016 A JP2002129016 A JP 2002129016A JP 2003323338 A JP2003323338 A JP 2003323338A
Authority
JP
Japan
Prior art keywords
address
vram
memory
physical address
pixel
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
Application number
JP2002129016A
Other languages
Japanese (ja)
Inventor
Seiichiro Saito
誠一郎 齋藤
Nobuhiro Kondo
伸宏 近藤
Jiro Amamiya
治郎 雨宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002129016A priority Critical patent/JP2003323338A/en
Publication of JP2003323338A publication Critical patent/JP2003323338A/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor having a memory control function for avoiding a collision and competition in an image memory such as VRAM in operation adaptive to a multiprocess. <P>SOLUTION: This image processor has an address converter for converting a logical address used for designating an address of the image memory into a corresponding physical address, and a plurality of picture element arithmetic operation means for respectively arithmetically operating a picture element, and making access to the image memory by using this physical address by acquiring the physical address by imparting the logical address to the address converter when making access to the image memory accompanied by an arithmetic operation of the picture element. <P>COPYRIGHT: (C)2004,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、画素演算を行う画
像処理装置に関し、特にマルチプロセス動作時に必要な
メモリ管理機能を備えた画像処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus for performing pixel calculation, and more particularly to an image processing apparatus having a memory management function required during multi-process operation.

【0002】[0002]

【従来の技術】近年、グラフィックスプロセッサ(GP
U)は必要とされる計算量の爆発的な増加から高クロッ
ク化、高並列化が進んでいる。また、表現力向上のため
の汎用化も進んでおり、今後は、MPEG(Motion Pic
ture Experts Group)2やMPEG4におけるデコード
や画像認識など、3次元グラフィックス以外の処理に利
用される可能性が高い。そのような場合において、複数
のプロセスが同時にグラフィックスプロセッサを利用す
る状況が十分に考えられる。
2. Description of the Related Art In recent years, a graphics processor (GP
In U), higher clocks and higher parallelization are progressing due to the explosive increase in the required calculation amount. In addition, generalization is progressing to improve expressiveness, and in the future, MPEG (Motion Pic)
ture Experts Group) 2 or MPEG4, and is likely to be used for processing other than 3D graphics such as image recognition. In such a case, it is quite possible that multiple processes utilize the graphics processor at the same time.

【0003】グラフィックスプロセッサは原則として中
央演算処理装置(CPU)からの制御に従って動作する
のであり、グラフィックスプロセッサが自律的にラスタ
ライザを動作させることはない。また、ある一つのプロ
セスのみがグラフィックスプロセッサを利用するとき、
当該プロセスは演算要素としてのラスタライザの全てを
利用する。しかし、マルチプロセスからグラフィックス
プロセッサの利用時においては、複数のラスタライザが
各々のプロセス単位でグループ化され、それぞれのグル
ープにおいて複数のラスタライザが共有化されることに
なる。
In principle, the graphics processor operates under the control of the central processing unit (CPU), and the graphics processor does not operate the rasterizer autonomously. Also, when only one process uses the graphics processor,
The process uses all of the rasterizers as computing elements. However, when using a graphics processor from a multi-process, a plurality of rasterizers are grouped for each process unit, and a plurality of rasterizers are shared by each group.

【0004】[0004]

【発明が解決しようとする課題】従来のグラフィックス
プロセッサの構成では、メモリアクセスは常に物理アド
レスを用いて行われることから、複数のプロセスで複数
のラスタライザを分けて使用すると、VRAM等の画像
メモリにおいて衝突又は競合(コンフリクト)が発生し
てしまうという問題点がある。例えば、一つのプロセス
が3Dポリゴンをあるラスタライザグループを利用して
表示描画しているときに、他のプロセスが他のラスタラ
イザグループを利用してMPEGのデコードを行うよう
な場合である。
In the configuration of the conventional graphics processor, memory access is always performed by using a physical address. Therefore, when a plurality of rasterizers are separately used by a plurality of processes, an image memory such as VRAM is used. However, there is a problem in that a collision or a conflict occurs. For example, when one process draws and draws a 3D polygon using a certain rasterizer group, another process uses another rasterizer group to perform MPEG decoding.

【0005】マルチプロセス利用が考慮されていない従
来では、この問題点の回避策は採られていなかった。何
故なら、上記のように従来ではある一つのプロセスのみ
がグラフィックスプロセッサを利用し、このとき当該プ
ロセスは演算要素としてのラスタライザの全てを利用す
るので、このようなコンフリクトが起こり得なかったか
らである。
Conventionally, no workaround for this problem has been taken in consideration of the use of multi-process. This is because, as described above, only one process conventionally uses the graphics processor, and at this time, the process uses all the rasterizers as the calculation elements, and such a conflict cannot occur. .

【0006】本発明はかかる事情を考慮してなされたも
のであり、その目的は、マルチプロセス対応の動作時に
おいてVRAM等の画像メモリにおける衝突及び競合を
回避できるメモリ管理機能を備えた画像処理装置を提供
することを目的とする。
The present invention has been made in view of the above circumstances, and an object thereof is an image processing apparatus having a memory management function capable of avoiding collision and conflict in an image memory such as VRAM during an operation compatible with multi-process. The purpose is to provide.

【0007】[0007]

【課題を解決するための手段】上記課題を解決し目的を
達成するために本発明は次のように構成されている。
In order to solve the above problems and achieve the object, the present invention is constructed as follows.

【0008】本発明は、画像メモリをアクセスし、画像
処理を行う画像処理装置において、前記画像メモリのア
ドレス指定に用いられる論理アドレスを、対応する物理
アドレスに変換するアドレス変換器と、それぞれ画素演
算を行うものであって、該画素演算に伴う前記画像メモ
リへのアクセスを行う際の論理アドレスを前記アドレス
変換器に与えて物理アドレスを取得し、該物理アドレス
を用いて前記画像メモリへアクセスを行う複数の画素演
算手段と、を具備することを特徴とする。
According to the present invention, in an image processing apparatus for accessing an image memory and performing image processing, an address converter for converting a logical address used for addressing the image memory into a corresponding physical address, and a pixel operation respectively. The physical address is acquired by giving a logical address to the address converter when accessing the image memory associated with the pixel calculation, and accessing the image memory using the physical address. And a plurality of pixel calculation means for performing the calculation.

【0009】[0009]

【発明の実施の形態】(第1実施形態)図1は本発明の
第1実施形態に係るグラフィックスプロセッサシステム
の概略構成を示すブロック図である。このシステムはシ
ステムバス1上に中央演算処理装置(CPU)2と、主
記憶3と、グラフィックスプロセッサ5及びVRAM
(画像メモリ)6を有するグラフィックカード4と、デ
ィスプレイ7とから構成されている。同図に示すシステ
ムは汎用のコンピュータシステムと見ることができ、本
発明の特徴に係るメモリ保護機構はグラフィックスプロ
セッサ5とVRAM6との間に設けられるのであり、か
かる構成については図4以降に示す。グラフィックカー
ド4はグラフィックスプロセッサ5の専用の外付けユニ
ットとしてVRAM6を備える構成であり、このような
VRAM6は通常、グラフィックスプロセッサ5と同一
の基板上に搭載される。この構成によればグラフィック
スプロセッサ5がVRAM6へのアクセスを占有できる
ためパフォーマンス的に好ましい。なお、グラフィック
スシステムの相違に応じてVRAMの配置位置が異なる
構成となることがある。この場合の他の構成例について
は後述の図14及び図15に示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS (First Embodiment) FIG. 1 is a block diagram showing a schematic configuration of a graphics processor system according to a first embodiment of the present invention. This system includes a central processing unit (CPU) 2, a main memory 3, a graphics processor 5 and a VRAM on a system bus 1.
It is composed of a graphic card 4 having an (image memory) 6 and a display 7. The system shown in the figure can be regarded as a general-purpose computer system, and the memory protection mechanism according to the features of the present invention is provided between the graphics processor 5 and the VRAM 6. The configuration is shown in FIG. 4 and subsequent figures. . The graphics card 4 has a configuration including a VRAM 6 as an external unit dedicated to the graphics processor 5, and such a VRAM 6 is usually mounted on the same substrate as the graphics processor 5. According to this configuration, the graphics processor 5 can occupy the access to the VRAM 6, which is preferable in terms of performance. The arrangement position of the VRAM may be different depending on the difference in the graphics system. Other configuration examples in this case are shown in FIGS. 14 and 15 described later.

【0010】図2は本実施形態に係るグラフィックスプ
ロセッサの概略構成を示すブロック図である。同図に示
すようにジオメトリ部(T&L)51と、ラスタライザ
部を構成するセットアップ52及びn本のピクセルパイ
プライン531,532,...53nから構成されて
いる。ピクセルパイプライン531,532,...5
3nの各々は、VRAM6のテクスチャメモリ61及び
フレームバッファ62のそれぞれに対しアクセス可能で
ある。VRAM6は、色データを生成するための情報を
テクスチャメモリ61に保持する。あるいは、単に色デ
ータのみの情報がテクスチャメモリ61に保持される場
合もある。本明細書ではこれらの情報を「テクスチャ」
と称する。
FIG. 2 is a block diagram showing the schematic arrangement of the graphics processor according to this embodiment. As shown in the figure, a geometry section (T & L) 51, a setup 52 constituting a rasterizer section, and n pixel pipelines 531, 532 ,. . . It is composed of 53n. Pixel pipelines 531, 532 ,. . . 5
Each 3n can access the texture memory 61 and the frame buffer 62 of the VRAM 6, respectively. The VRAM 6 holds information for generating color data in the texture memory 61. Alternatively, in some cases, only the color data may be held in the texture memory 61. In this specification, this information is referred to as “texture”.
Called.

【0011】ラスタライザ部は、ジオメトリ部により3
次元空間から2次元平面に透視変換された頂点、色、お
よびテクスチャ座標等のデータから最終的に画面表示に
供される画素データを得るためのユニットであり、ピク
セルパイプライン531,532,...53nは、そ
のうち、テクスチャマッピング、フラグメント処理(R
MW;Read Modify Write)、および論理アドレス生成
を担う。
The rasterizer part is composed of 3 parts by the geometry part.
A unit for finally obtaining pixel data to be displayed on a screen from data such as vertices, colors, and texture coordinates that are perspective-transformed from a two-dimensional space into a two-dimensional plane. The pixel pipelines 531, 532 ,. . . 53n includes texture mapping and fragment processing (R
Responsible for MW (Read Modify Write) and logical address generation.

【0012】すなわち、画素演算部を構成するピクセル
パイプライン531〜53nは、ジオメトリ部からの画
面座標とテクスチャ座標とが入力されると、テクスチャ
メモリ61からテクスチャデータを読み出し、画素の値
を計算してフレームバッファ62に書き込む処理を行
う。ここでは、入力された画面座標に対し色データを対
応させる。その色データの情報に何らかの演算を施して
演算後の色データを生成し、その画面座標に対応付け
る。この動作を「テクスチャマッピング」と呼ぶ。テク
スチャマッピングの後、色データはフレームバッファ6
2上の、画面座標に対応付けられた位置に書き込まれ
る。フレームバッファ62は画面毎の色データを保持す
る。
That is, when the screen coordinates and the texture coordinates from the geometry section are input, the pixel pipelines 531 to 53n forming the pixel calculation section read the texture data from the texture memory 61 and calculate the pixel value. Then, the writing process to the frame buffer 62 is performed. Here, the color data is made to correspond to the input screen coordinates. Some kind of calculation is performed on the information of the color data to generate color data after calculation, and the color data is associated with the screen coordinates. This operation is called "texture mapping". After texture mapping, the color data is stored in frame buffer 6
It is written in the position on 2 corresponding to the screen coordinates. The frame buffer 62 holds color data for each screen.

【0013】ピクセルパイプラインの最終段において
は、既にフレームバッファ62上に存在する色データ
と、生成された色データとの間で何らかの演算を行って
フレームバッファ62に書き込む。この処理がRMWで
ある。
At the final stage of the pixel pipeline, some operation is performed between the color data already existing in the frame buffer 62 and the generated color data, and the color data is written in the frame buffer 62. This process is RMW.

【0014】図3は本実施形態に係るグラフィックスプ
ロセッサシステムによる3次元表示処理の流れを示す図
である。
FIG. 3 is a diagram showing the flow of three-dimensional display processing by the graphics processor system according to this embodiment.

【0015】3次元表示処理は基本的にアプリケーショ
ン処理S1、ジオメトリ処理S2、ラスタライザ処理S
3に大別される。アプリケーション処理S1は、例えば
レーシングゲームを想定した場合、ユーザによるハンド
ル回転、敵車の移動に応じた処理である。ハンドル回転
操作に応じて視点の方向が変わり、そのモデル情報がジ
オメトリ処理S2に渡される。ジオメトリ処理S2はア
プリケーション処理S1において3次元として扱ってい
たデータをディスプレイ(CRT)7に表示するために
2次元平面のデータに変換する処理である。これを透視
変換と呼ぶ。またジオメトリ処理S2は3次元空間内の
光源情報に基づいてモデルの色を決定する処理を含む。
ラスタライザ処理S3の主たる処理は2次元に変換され
たモデルのポリゴンに色付けする処理(テクスチャマッ
ピング)である。光源情報から得た色と、そのポリゴン
データに関連付けられているテクスチャ情報から最終的
な色が決定される。
The three-dimensional display process is basically an application process S1, a geometry process S2, and a rasterizer process S.
Broadly divided into three. The application process S1 is, for example, in the case of assuming a racing game, a process according to the rotation of the steering wheel by the user and the movement of the enemy vehicle. The direction of the viewpoint changes according to the handle rotation operation, and the model information is passed to the geometry processing S2. The geometry process S2 is a process of converting the data, which was treated as three-dimensional in the application process S1, into two-dimensional plane data for displaying on the display (CRT) 7. This is called perspective transformation. Further, the geometry processing S2 includes processing for determining the color of the model based on the light source information in the three-dimensional space.
The main processing of the rasterizer processing S3 is processing (texture mapping) of coloring the polygons of the model converted into two dimensions. The final color is determined from the color obtained from the light source information and the texture information associated with the polygon data.

【0016】本実施形態に係るグラフィックスプロセッ
サシステムの構成においては、アプリケーション処理S
1をCPU2が行い、ジオメトリ処理S2およびラスタ
ライズ処理S3をグラフィックスプロセッサ5が行う。
なお、ラスタライザ処理S3は一般にCPU2にとって
不向きな演算処理であるが、ジオメトリ処理S2は単純
な行列演算が基本であることから、マルチメディア命令
(SSE)を搭載しているようなCPU2により、ジオ
メトリ処理S2をグラフィックスプロセッサ5の代わり
に行わせる構成を採ることもある。
In the configuration of the graphics processor system according to this embodiment, the application processing S
The CPU 2 performs 1 and the graphics processor 5 performs the geometry processing S2 and the rasterization processing S3.
Note that the rasterizer process S3 is generally unsuitable for the CPU 2, but the geometry process S2 is based on a simple matrix operation. Therefore, the geometry process by the CPU 2 having a multimedia instruction (SSE) is performed. There may be a configuration in which S2 is performed instead of the graphics processor 5.

【0017】図4は本実施形態に係るメモリ保護機構の
第1構成例を示すブロック図である。
FIG. 4 is a block diagram showing a first structural example of the memory protection mechanism according to this embodiment.

【0018】本実施形態の第1構成例に係るメモリ保護
機構は、VRAM6上のページテーブル63、および複
数のピクセルパイプライン531〜53nとページテー
ブル63との間に設けられる一つのメモリ管理ユニット
(MMU;Memory ManagementUnit)54から構成され
る。
The memory protection mechanism according to the first configuration example of the present embodiment has a page table 63 on the VRAM 6 and one memory management unit (provided between the plurality of pixel pipelines 531 to 53n and the page table 63). It is composed of an MMU (Memory Management Unit) 54.

【0019】画素演算ユニットとしてのピクセルパイプ
ライン531〜53nは、それぞれ、プロセスIDを保
持する記憶領域(あるいはレジスタ)を備えている。あ
るいは、MMU54がピクセルパイプライン531〜5
3nのそれぞれとプロセスIDとの対応付けを示す情報
を保持する。これによりピクセルパイプライン531〜
53nのそれぞれに異なるプロセスIDを対応付けるこ
とができ、故に各々のピクセルパイプラインがそれぞれ
異なるアドレス空間を持つことができる。VRAM6の
物理アドレス空間に対応する論理アドレス空間上のVR
AMを本実施形態では「仮想VRAM」という。
Each of the pixel pipelines 531 to 53n as a pixel operation unit has a storage area (or register) holding a process ID. Alternatively, the MMU 54 may be the pixel pipelines 531-5.
Information indicating the correspondence between each of the 3n and the process ID is held. This allows the pixel pipeline 531 to
Different process IDs can be associated with each of the 53n, and thus each pixel pipeline can have a different address space. VR on the logical address space corresponding to the physical address space of VRAM6
The AM is called "virtual VRAM" in this embodiment.

【0020】尚、プロセスは負荷に応じて必要な本数の
ピクセルパイプラインを利用することもできる。通常、
ピクセルパイプライン531〜53nは複数ユニット存
在する。例えば本実施形態では8ユニット(n=8)実
装することとする。
It should be noted that the process can utilize as many pixel pipelines as necessary according to the load. Normal,
There are a plurality of units of pixel pipelines 531 to 53n. For example, in this embodiment, 8 units (n = 8) are mounted.

【0021】ピクセルパイプライン531〜53nから
VRAM6へのアクセスは、テクスチャメモリ61から
の読み出し時とフレームバッファ62への書き込み時の
二つの時点で発生する。メモリ保護機構は異なるプロセ
スが同一のVRAM6上の領域をアクセスすることによ
る問題を防止(メモリ保護)する目的で設けられてい
る。
The access from the pixel pipelines 531 to 53n to the VRAM 6 occurs at two points, when reading from the texture memory 61 and when writing to the frame buffer 62. The memory protection mechanism is provided for the purpose of preventing a problem (memory protection) due to different processes accessing the same area on the VRAM 6.

【0022】図5に第1構成例に係るメモリ保護機構に
よるアドレス変換の一例を示す。MMU54は、ピクセ
ルパイプライン531〜53nの各々からプロセスID
及び論理アドレスを受け取ると、ページテーブル63を
参照してこれをVRAM6上の物理アドレスに変換す
る。図5の例では、32bitのアドレスの上位20ビ
ットをページ番号とし、下位12ビットをオフセットと
している。MMU54は、ピクセルパイプライン531
〜53nから受け取ったプロセスID及び論理アドレス
の上位20ビットを用いてページテーブル63内を検索
し、対応するエントリに格納されている物理アドレスを
得る。この例では、ページテーブル63から得た物理ア
ドレスにオフセットをそのまま加えたものが、その論理
アドレスに対応する物理アドレスとなる。なお、図5の
例ではページ番号のビット数を20ビットとし、オフセ
ットのビット数を12ビットとしているが、これらの値
はシステムの構成等に応じて任意であることは言うまで
もない。
FIG. 5 shows an example of address conversion by the memory protection mechanism according to the first configuration example. The MMU 54 receives the process ID from each of the pixel pipelines 531 to 53n.
When it receives the logical address and the logical address, it refers to the page table 63 and converts it into a physical address on the VRAM 6. In the example of FIG. 5, the upper 20 bits of the 32-bit address are the page number and the lower 12 bits are the offset. The MMU 54 has a pixel pipeline 531.
The upper 20 bits of the process ID and the logical address received from ˜53n are searched in the page table 63 to obtain the physical address stored in the corresponding entry. In this example, the physical address obtained from the page table 63 with the offset added is the physical address corresponding to the logical address. In the example of FIG. 5, the page number bit number is 20 bits and the offset bit number is 12 bits, but it goes without saying that these values are arbitrary depending on the system configuration and the like.

【0023】なお、MMU54とVRAM6のページテ
ーブル63との間にTLB(Translation Lookaside Buf
fer;変換索引バッファ)を介挿する構成とし、このTL
Bを利用して各ラスタライザが協調して同一プロセスを
動作させることが可能なように論理アドレスから物理ア
ドレスへの変換を行うようにしてもよい。
A TLB (Translation Lookaside Buf) is provided between the MMU 54 and the page table 63 of the VRAM 6.
fer; conversion index buffer)
B may be used to perform conversion from a logical address to a physical address so that each rasterizer can operate the same process in cooperation with each other.

【0024】以下、本実施形態の具体的な動作として、
グラフィックスプロセッサ5によるテキスチャマッピン
グ処理を説明する。この処理はVRAM6からの読み出
し動作を伴う前半処理と、VRAM6への書き込み動作
を伴う後半処理からなる。
The specific operation of this embodiment will be described below.
The texture mapping processing by the graphics processor 5 will be described. This process includes a first half process involving a read operation from the VRAM 6 and a second half process involving a write operation to the VRAM 6.

【0025】図6は複数プロセスからのVRAMアクセ
スが衝突する様子を示す図である。
FIG. 6 is a diagram showing how VRAM accesses from a plurality of processes collide.

【0026】異なるプロセスが同じVRAM領域を使う
可能性として、異なる二つのプロセス(プロセス1,プ
ロセス2)による同時レンダリングを考える。プロセス
1とプロセス2はそれぞれ固有のプロセス番号p1,p
2を持つ。また、プロセス1は531〜534までの4
本のピクセルパイプラインを利用してレンダリングを行
い、プロセス2は535〜538までの4本のピクセル
パイプラインを利用してレンダリングを行うものとす
る。二つのプロセスはそれぞれ固有のテクスチャとフレ
ームバッファを持っていて、異なるプロセスが同じテク
スチャ領域やフレームバッファをアクセスすることは通
常、許されない。
As a possibility that different processes use the same VRAM area, consider simultaneous rendering by two different processes (process 1 and process 2). Process 1 and process 2 have unique process numbers p1 and p
Have two. Further, the process 1 is 4 of 531 to 534.
It is assumed that rendering is performed using a pixel pipeline of four books, and Process 2 performs rendering using four pixel pipelines of 535 to 538. The two processes have their own textures and framebuffers, and it is usually not allowed for different processes to access the same texture area or framebuffer.

【0027】VRAMへのアクセスはテクスチャリード
とフレームバッファ打ち込みの二つの段階で発生する
が、このとき、グラフィックスプロセッサシステムが図
4に示したようなMMU54を備えない従来構成の場
合、異なるプロセスがVRAM上の同じ物理メモリ領域
にアクセスする可能性がある(VRAMアクセスの衝突
又は競合)。例えば、プロセス1とプロセス2が同じ物
理メモリ領域にフレームバッファ620を設定し、これ
を交互に書きつぶすような状況である。このような状況
は、たとえばプロセス1とプロセス2のプログラムが、
同一のライブラリを用いて作成されているような場合に
起こり得ることが容易に想定できる。VRAMアクセス
の衝突が生じた場合、同フレームバッファ620に格納
されているデータには矛盾が生じるおそれがある。
Access to the VRAM occurs in two stages, that is, texture read and frame buffer writing. At this time, in the case where the graphics processor system has the conventional configuration without the MMU 54 as shown in FIG. 4, a different process is performed. The same physical memory area on VRAM may be accessed (VRAM access collision or contention). For example, there is a situation in which the process 1 and the process 2 set the frame buffer 620 in the same physical memory area and write the frame buffer 620 alternately. In such a situation, for example, if the programs of process 1 and process 2 are
It can be easily assumed that this may occur in the case where they are created using the same library. When a VRAM access collision occurs, the data stored in the frame buffer 620 may be inconsistent.

【0028】一方、図7は本実施形態の第1構成例に係
るメモリ保護機構の作用を示す図である。MMU54は
異なるプロセスからのVRAMへのアクセスが衝突又は
競合しないように論理アドレスから物理アドレスへの変
換を行う。
On the other hand, FIG. 7 is a view showing the operation of the memory protection mechanism according to the first configuration example of this embodiment. The MMU 54 performs logical-to-physical address translation so that access to VRAM from different processes does not conflict or conflict.

【0029】まず、プロセス1が先に起動していたとす
る。図7において、81はプロセス1の仮想VRAMの
メモリマップを示している。プロセス1は固有のテクス
チャを保持するエリアとフレームバッファを持つため、
オペレーティングシステム(OS)はプロセス1の起動
の際にページテーブル63を参照し、未使用メモリ領域
をプロセス1の使用可能メモリ領域として確保する。ま
だプロセスはひとつしか起動していないので、特にメモ
リのコンフリクトは生じない。次にプロセス2が起動し
たとする。図7において、82はプロセス2の仮想VR
AMのメモリマップを示している。プロセス2の起動時
も同様にOSがページテーブル63を参照して未使用メ
モリ領域をプロセス2専用の領域としてマップする。
First, it is assumed that the process 1 has been activated first. In FIG. 7, reference numeral 81 indicates a memory map of the virtual VRAM of the process 1. Process 1 has an area to hold its own texture and a frame buffer, so
The operating system (OS) refers to the page table 63 when the process 1 is activated, and reserves an unused memory area as a usable memory area of the process 1. Since only one process has been started yet, there is no memory conflict. Next, it is assumed that the process 2 is activated. In FIG. 7, reference numeral 82 is a virtual VR of process 2.
The memory map of AM is shown. When the process 2 is activated, the OS similarly refers to the page table 63 and maps the unused memory area as an area dedicated to the process 2.

【0030】ここで、プロセス1又はプロセス2のいず
れか一方からのメモリアクセスが生じた場合、MMU5
4が論理アドレスから物理アドレスへの変換を行い、互
いにコンフリクトが生じないように制御が行われること
になる。VRAMへのアクセスが常にMMU54を通し
て行われることが確約されれば、VRAM6上にコンフ
リクト(矛盾)が生じることはない。よって、プロセス
1とプロセス2とが互いに干渉せず、安全なメモリ保護
管理の下、画像表示処理を行えるようになる。
If a memory access from either process 1 or process 2 occurs, the MMU 5
4 performs the conversion from the logical address to the physical address, and the control is performed so as not to cause a conflict with each other. If it is guaranteed that the VRAM is always accessed through the MMU 54, no conflict will occur on the VRAM 6. Therefore, the process 1 and the process 2 do not interfere with each other, and the image display processing can be performed under the safe memory protection management.

【0031】例えばプロセス2が悪意で作成されたプロ
グラムにより生成されたプロセスであり、これがプロセ
ス1によるディスプレイ7への描画内容を盗み取とろう
とするプロセスであったとする。この場合、本実施形態
のようなメモリ保護機構を備えない従来構成では、この
ような悪意のプロセスに対する防御は不可能であるが、
本実施形態のようなMMU54等によるメモリ保護機構
によれば、仮に論理メモリ空間は同一であったとしても
物理メモリ空間は必ず分離されることになるから、プロ
セス2によってプロセス1のフレームバッファがアクセ
スを受けることはない。仮にバッファをオーバーフロー
させるアクセスが生起したとしても、MMU54はこの
アクセスを許さずエラーを上位OSに通知するよう構成
することが可能になる。これにより悪意のあるプロセス
を排除することができ、セキュリティを大幅に強化でき
る。
For example, it is assumed that the process 2 is a process created by a maliciously created program, and the process 2 is a process that attempts to steal the drawing content on the display 7 by the process 1. In this case, the conventional configuration without the memory protection mechanism as in the present embodiment cannot protect against such a malicious process.
According to the memory protection mechanism by the MMU 54 or the like as in the present embodiment, the physical memory space is always separated even if the logical memory space is the same, so the process 2 accesses the frame buffer of the process 1. I will not receive it. Even if an access that overflows the buffer occurs, the MMU 54 can be configured not to allow this access and notify the upper OS of the error. This can eliminate malicious processes and greatly enhance security.

【0032】本実施形態のメモリ保護機構はデバッグに
有用であることは容易に理解される。例えば、あるプロ
セスが暴走し、通常であればアクセスしてはならない領
域にアクセスしようとしたとき、同様にエラーを上位O
Sに通知することができるようになり、プロセスの暴走
を食い止めて、デバッグに必要な情報を得ることができ
る。
It is easily understood that the memory protection mechanism of this embodiment is useful for debugging. For example, when a process goes out of control and tries to access an area that should not normally be accessed, an error similar to
S can be notified, the process runaway can be stopped, and information necessary for debugging can be obtained.

【0033】以下、本実施形態の具体的な動作として、
グラフィックスプロセッサ5によるテキスチャマッピン
グ処理を説明する。この処理はVRAM6からの読み出
し動作を伴う前半処理と、VRAM6への書き込み動作
を伴う後半処理からなる。
The specific operation of this embodiment will be described below.
The texture mapping processing by the graphics processor 5 will be described. This process includes a first half process involving a read operation from the VRAM 6 and a second half process involving a write operation to the VRAM 6.

【0034】図8はテキスチャマッピングの前半処理を
示すフローチャートである。図8に示すように、この処
理はテクスチャ論理アドレス計算(ステップS20
1)、物理アドレス生成(ステップS202)、VRA
Mアクセス(ステップS203)、およびテクスチャデ
ータ処理(ステップS204)から成る。
FIG. 8 is a flowchart showing the first half processing of texture mapping. As shown in FIG. 8, this process is performed by calculating the texture logical address (step S20).
1), physical address generation (step S202), VRA
It consists of M access (step S203) and texture data processing (step S204).

【0035】まずステップS201では、VRAM6に
記憶されているテクスチャの色データ等(テクスチャデ
ータ)の論理アドレスが計算される。次にステップS2
02では、現在、ピクセルパイプライン531〜53n
で処理を行っているプロセスの識別子と、ステップS2
01で計算された論理アドレスとから、当該データを記
憶しているVRAM6上の物理アドレスが生成される。
次にステップS203では、ステップS201で生成さ
れた物理アドレスを利用して、VRAM6へのアクセス
がなされ、テクスチャデータが読み出される。そしてス
テップS204では、ステップS203で読み出された
テクスチャデータを利用して画素値を計算するなどのテ
クスチャデータ処理が行われる。
First, in step S201, logical addresses of texture color data and the like (texture data) stored in the VRAM 6 are calculated. Then step S2
02, the pixel pipelines 531 to 53n are currently
Of the process performing the process in step S2
A physical address on the VRAM 6 storing the data is generated from the logical address calculated in 01.
Next, in step S203, using the physical address generated in step S201, the VRAM 6 is accessed and the texture data is read. Then, in step S204, texture data processing such as calculating a pixel value using the texture data read in step S203 is performed.

【0036】ここで、上記ステップS202は図4に示
したMMU54及びページテーブル63により実行され
る。MMU54は、プロセス識別子毎に異なるVRAM
6の物理アドレス空間を割り当てる機能を有する。ペー
ジテーブル63は、MMU54で生成された論理アドレ
スの一部または全部を利用して、そのデータがVRAM
6のどの領域に存在するかを示すアドレスデータを保持
する。
Here, the step S202 is executed by the MMU 54 and the page table 63 shown in FIG. The MMU 54 has a different VRAM for each process identifier.
It has a function of allocating 6 physical address spaces. The page table 63 uses part or all of the logical address generated by the MMU 54, and its data is VRAM.
Address data indicating which area of 6 exists is held.

【0037】異なるプロセス識別子毎に異なるVRAM
6上の物理アドレス空間をMMU54が割り当てる機能
によれば、例えば、プロセス識別子1と2のプロセス
が、同じ論理アドレス100番地をアクセスしようとし
たときに、それぞれ100100番地、200100番
地を物理アドレスとして生成することが可能になる。こ
れにより、プロセス毎にアクセスできるメモリ空間を分
離することができ、VRAM6の読み出し時におけるメ
モリ保護機能が実現される。
Different VRAM for different process identifiers
According to the function of the MMU 54 for allocating the physical address space on 6, the processes 1001 and 200100 are generated as physical addresses when the processes with process identifiers 1 and 2 try to access the same logical address 100, respectively. It becomes possible to do. As a result, the accessible memory space can be separated for each process, and the memory protection function at the time of reading the VRAM 6 is realized.

【0038】図9はテキスチャマッピングの後半処理を
示すフローチャートである。図9に示すように、この処
理はフレームバッファ論理アドレス計算(ステップS3
01)、物理アドレス生成(ステップS302)、VR
AMアクセス(ステップS303)からなる。
FIG. 9 is a flowchart showing the latter half process of the texture mapping. As shown in FIG. 9, this process is performed by calculating the frame buffer logical address (step S3).
01), physical address generation (step S302), VR
It consists of AM access (step S303).

【0039】先ずステップS301では、画素座標から
VRAM6上に配置してあるフレームバッファ63の論
理アドレスが計算される。次にステップS302では、
プロセス識別子と、ステップS301で求められたフレ
ームバッファ論理アドレスとを用いてVRAM6上の物
理アドレスが計算される。そしてステップS303では
ステップS302で求められたフレームバッファの物理
アドレスを用いてVRAM6へのアクセスがなされ、当
該アドレスで示されるフレームバッファのデータを書き
換える処理が行われる。
First, in step S301, the logical address of the frame buffer 63 arranged in the VRAM 6 is calculated from the pixel coordinates. Next, in step S302,
A physical address on the VRAM 6 is calculated using the process identifier and the frame buffer logical address obtained in step S301. Then, in step S303, the VRAM 6 is accessed using the physical address of the frame buffer obtained in step S302, and the process of rewriting the data in the frame buffer indicated by the address is performed.

【0040】ここで、上記ステップS302は、図4に
示したMMU54及びページテーブル63により実行さ
れるのであり、テクスチャデータの読み出し時と同様に
アドレス変換が行われる。よって、VRAM6における
書き込む対象部分(フレームバッファ)の保護を行うこ
とが可能になる。
The step S302 is executed by the MMU 54 and the page table 63 shown in FIG. 4, and the address conversion is performed in the same manner as when reading the texture data. Therefore, it becomes possible to protect the portion to be written (frame buffer) in the VRAM 6.

【0041】図4に示したメモリ保護機構は種々変形す
ることができ、以下に説明する。なお、VRAM6への
不正なアクセスを防止するというメモリ保護機構本来の
機能について変わりはない。
The memory protection mechanism shown in FIG. 4 can be modified in various ways and will be described below. The original function of the memory protection mechanism for preventing unauthorized access to the VRAM 6 remains the same.

【0042】図10はメモリ保護機構の第2構成例を示
すブロック図である。
FIG. 10 is a block diagram showing a second configuration example of the memory protection mechanism.

【0043】図4に示した第1構成例は、ページテーブ
ル53への参照のたびにVRAM6をアクセスするもの
であるが、この第2構成例はMMU54の付近にページ
テーブルのキャッシュとして、高速動作するSRAM5
5を設けるというものである。第2構成例によれば、頻
繁にアクセスされる論理アドレスについてはSRAM5
5から参照が行われる(すなわち、キャッシュヒットす
る)ことになり、VRAM6へのアクセス数を減らし、
処理を高速化できる。
In the first configuration example shown in FIG. 4, the VRAM 6 is accessed every time the page table 53 is referenced, but this second configuration example operates at high speed as a page table cache near the MMU 54. SRAM5
5 is provided. According to the second configuration example, the SRAM 5 is used for the frequently accessed logical address.
5 is referred to (that is, a cache hit occurs), the number of accesses to the VRAM 6 is reduced,
The processing speed can be increased.

【0044】図11はメモリ保護機構の第3構成例を示
すブロック図である。
FIG. 11 is a block diagram showing a third structural example of the memory protection mechanism.

【0045】第3構成例は、ページテーブルそのものを
VRAM6ではなく専用のSRAM56に格納する構成
としたものである。この第3構成例では、MMU54が
ページテーブル参照のためにVRAM6をアクセスする
ことが無くなり、第2構成例よりも更なる高速化を見込
めるようになる。しかしながら、一般にVRAM6に利
用されるDRAM等よりも高価なSRAMを用いる構成
では、装置全体のコスト高を招く反面がある。なお、こ
れは第2構成例についても同様である。
In the third configuration example, the page table itself is stored in the dedicated SRAM 56 instead of the VRAM 6. In the third configuration example, the MMU 54 does not access the VRAM 6 for referring to the page table, and it is expected that the speed will be further increased as compared with the second configuration example. However, the configuration using the SRAM, which is generally more expensive than the DRAM or the like used for the VRAM 6, has a disadvantage of increasing the cost of the entire device. Note that this is the same for the second configuration example.

【0046】図12はメモリ保護機構の第4構成例を示
すブロック図である。
FIG. 12 is a block diagram showing a fourth structural example of the memory protection mechanism.

【0047】この第4構成例は、ページテーブル用SR
AM56を設けるとともに、MMU541〜54nをピ
クセルパイプライン531〜53nのそれぞれに設ける
構成としたものである。第4構成例によれば、部品点数
が若干増加するが、MMUによるアドレス変換処理の負
荷をピクセルパイプラインの本数に応じて分散させるこ
とができるようになり、パフォーマンスの向上を期待で
きる。
This fourth configuration example is a page table SR.
The AM 56 is provided, and the MMUs 541 to 54n are provided in the pixel pipelines 531 to 53n, respectively. According to the fourth configuration example, although the number of parts is slightly increased, the load of the address conversion processing by the MMU can be distributed according to the number of pixel pipelines, and the improvement of performance can be expected.

【0048】図13はメモリ保護機構の第5構成例を示
すブロック図である。この第5構成例は第4構成例と同
様にピクセルパイプラインのそれぞれにMMUを設ける
ものであるが、ページテーブル本体をVRAM6に配置
する構成である。なお、この第5構成例においても、ペ
ージテーブルのキャッシュ用にSRAM55が設けられ
ている。
FIG. 13 is a block diagram showing a fifth structural example of the memory protection mechanism. In the fifth configuration example, the MMU is provided in each of the pixel pipelines as in the fourth configuration example, but the page table body is arranged in the VRAM 6. Incidentally, also in the fifth configuration example, the SRAM 55 is provided for the cache of the page table.

【0049】以上説明した本発明の第1実施形態によれ
ば、MMU54及びページテーブル63等からなるメモ
リ保護機構によって、グラフィックプロセッサ側からV
RAM6側へのアクセスが論理アドレス/物理アドレス
変換によって適切に管理することができる。したがっ
て、3次元画像表示におけるレンダリング処理等におい
て、異なるプロセスからのVRAM6へのアクセスの衝
突又は競合を防止し、装置の信頼性を向上できる。
According to the first embodiment of the present invention described above, the memory protection mechanism including the MMU 54, the page table 63 and the like allows the V processor to control the V
Access to the RAM 6 side can be appropriately managed by logical address / physical address conversion. Therefore, in the rendering process or the like in the three-dimensional image display, it is possible to prevent collision or conflict of access to the VRAM 6 from different processes, and improve the reliability of the device.

【0050】なお、ピクセルのラスタライズ処理は、通
常のプロセッサ(CPU用途のもの等)とは違い各デー
タ同士の処理に依存関係がほとんどない。そのためスル
ープットの向上を目的とし、ラスタライザ内にあるピク
セルパイプラインは、通常のプロセッサに比べはるかに
パイプライン段数が長く(通常のプロセッサのパイプラ
インは高々5〜8段程度、長くても20段程度である一
方、ピクセルパイプラインは150段〜200段以上が
普通である)、ピクセルパイプラインの本数を増やして
並列に動作させている。
Note that the pixel rasterization process has almost no dependency on the processing of each piece of data, unlike an ordinary processor (such as a CPU application). Therefore, for the purpose of improving the throughput, the pixel pipeline in the rasterizer has a far longer number of pipeline stages than a normal processor (the pipeline of a normal processor is about 5 to 8 stages at most, and about 20 stages at the longest). On the other hand, the number of pixel pipelines is usually 150 to 200 or more), and the number of pixel pipelines is increased to operate in parallel.

【0051】そのような状況の中で、グラフィックスプ
ロセッサで複数のプロセスを動作させ、かつメモリ競合
を防ぐためには、基本的には各プロセスを切り替えるよ
うな手法になってしまう。その場合、プロセス切り替え
を行うたびに何百段もあるパイプラインに入ったデータ
が全て出力(スワップ)されるのを待たなければならな
い。また一つのプロセスがあまり重い処理でなかった場
合でもすべてのピクセルパイプラインを利用しなければ
ならない。そこで本発明の実施形態のようにMMUによ
ってメモリ保護機構を構成することにより、メモリの競
合を防ぐことができ、ユーザは基本的にはメモリ管理を
行わなくて済む。しかも、複数のプロセスを同時に、あ
るいは個別であっても、パイプラインのデータをスワッ
プさせることなく動作させることができる。かかる点に
鑑みて、本発明の実施形態のようにグラフィックスプロ
セッサと協働するメモリ保護機構をMMUを用いて構成
することの意義は、通常のプロセッサにMMU等を設け
ることの意義とは全く異なっている。
In such a situation, in order to operate a plurality of processes in the graphics processor and prevent the memory contention, it is basically a method of switching each process. In that case, every time the process is switched, it is necessary to wait until all the data that has entered the pipeline having hundreds of stages is output (swapped). You also have to use all pixel pipelines, even if one process isn't too heavy. Therefore, by configuring the memory protection mechanism by the MMU as in the embodiment of the present invention, it is possible to prevent the memory contention, and the user basically does not need to manage the memory. Moreover, a plurality of processes can be operated at the same time or individually without swapping pipeline data. In view of this point, the significance of configuring the memory protection mechanism that cooperates with the graphics processor using the MMU as in the embodiment of the present invention is not the significance of providing the MMU or the like in the normal processor. Is different.

【0052】尚、上述した第1実施形態は次のように変
形して実施することができる。
The first embodiment described above can be modified and implemented as follows.

【0053】図14は第1の変形例を示す図であり、図
1のものとはVRAM位置が異なる他のグラフィックス
プロセッサシステムを示している。この第1変形例は、
通常、エントリーモデルなどのパーソナルコンピュータ
(PC)に多くみられる構成に本発明を適用したもので
ある。しかし、グラフィックスプロセッサ5によるVR
AM6へのアクセスとCPU2の主記憶3へのアクセス
とが衝突することが多くなり、専用のVRAMを持つ場
合に比べパフォーマンスが低下することがある。これを
回避する目的でグラフィックスプロセッサ5と主記憶3
とのバスバンド幅を広く取るよう構成することが多い。
FIG. 14 is a diagram showing a first modification, showing another graphics processor system having a VRAM position different from that of FIG. This first modification is
The present invention is applied to a configuration that is often found in a personal computer (PC) such as an entry model. However, VR by the graphics processor 5
The access to the AM 6 and the access to the main memory 3 of the CPU 2 often collide with each other, and the performance may deteriorate as compared with the case where the dedicated VRAM is provided. In order to avoid this, the graphics processor 5 and the main memory 3
Often configured to take a wider bus band.

【0054】図15は第2の変形例を示す図であり、グ
ラフィックスプロセッサ5と同じチップ内にVRAM5
8を搭載する構成である。専用のVRAMを持つ意味で
は外付けの専用VRAM6を持つ構成に似ているが、同
じチップ内に搭載していることから、外付けの構成に比
べてレイテンシやバンド幅の面で圧倒的に性能が高い。
しかし、外付けの構成に比べて容量を多く持つことがで
きない。外付けの専用VRAM6を持つ構成では、その
容が64MB〜128MB程度であるのに対し、第2変
形例の構成では、現状で2〜4M程度となる。
FIG. 15 is a diagram showing a second modification, in which the VRAM 5 is provided in the same chip as the graphics processor 5.
8 is mounted. In the sense of having a dedicated VRAM, it is similar to the configuration having an external dedicated VRAM 6, but since it is mounted in the same chip, it has overwhelming performance in terms of latency and bandwidth compared to the external configuration. Is high.
However, it cannot have more capacity than the external configuration. In the configuration having the external dedicated VRAM 6, the capacity is about 64 MB to 128 MB, whereas in the configuration of the second modification, it is about 2 to 4 M at present.

【0055】(第2実施形態)以下、本発明の第2実施
形態を説明する。図16は本発明の第2実施形態に係る
グラフィックスプロセッサシステムの概略構成を示すブ
ロック図である。この構成において、第1実施形態と同
様の構成要素には同じ参照数字が付してある。このう
ち、MMU54及びページテーブル63から構成される
メモリ保護機構は、上述した第1実施形態と同様に変形
することができる。
(Second Embodiment) The second embodiment of the present invention will be described below. FIG. 16 is a block diagram showing a schematic configuration of a graphics processor system according to the second embodiment of the present invention. In this structure, the same components as those in the first embodiment are designated by the same reference numerals. Of these, the memory protection mechanism composed of the MMU 54 and the page table 63 can be modified similarly to the first embodiment described above.

【0056】ピクセルパイプライン531〜53nから
みてリードのみのデータは、圧縮してメモリ上に置いて
おくと効率が良い。しかし、そうするとVRAM6上に
は圧縮データと無圧縮データの二種類が混在することに
なるため、データを読み出す時に圧縮データかどうかを
判定してデータの伸張を行う必要がある。
From the viewpoint of the pixel pipelines 531 to 53n, it is efficient to compress the read-only data and store it in the memory. However, in this case, two types of compressed data and non-compressed data are mixed on the VRAM 6, so it is necessary to decompress the data by determining whether or not it is compressed data when reading the data.

【0057】そこで本実施形態の構成では、MMU54
とピクセルパイプライン531〜53nとの間に、伸張
処理回路(HW)59が介挿されている。VRAM6は
テクスチャ圧縮領域611と、テクスチャ無圧縮領域6
12とを有する。
Therefore, in the configuration of this embodiment, the MMU 54
A decompression processing circuit (HW) 59 is inserted between the pixel pipelines 531 to 53n. The VRAM 6 has a texture compression area 611 and a texture non-compression area 6
12 and.

【0058】伸張処理回路59は、これらテクスチャ圧
縮領域611とテクスチャ無圧縮領域612のいずれか
一方から選択的に、圧縮又は無圧縮のテクスチャデータ
を読み出し、圧縮されたものについてはこれを伸張処理
してピクセルパイプライン531〜53nに送る。伸張
処理が行われるタイミングは、例えば圧縮データがピク
セルパイプライン531〜53nのキャッシュに入る直
前である。
The decompression processing circuit 59 selectively reads compressed or uncompressed texture data from either the texture compression area 611 or the texture non-compression area 612, and decompresses the compressed texture data. And sends it to the pixel pipelines 531 to 53n. The timing at which the decompression processing is performed is, for example, immediately before the compressed data enters the cache of the pixel pipelines 531 to 53n.

【0059】MMU54は、ページテーブル63を参照
するが、このとき、該当するアドレスのデータが圧縮デ
ータであるかどうかをフラグに基づいて判定し、その判
定結果に応じて伸張処理回路59に対し伸張処理を行う
か否かの命令を出力する。
The MMU 54 refers to the page table 63. At this time, the MMU 54 determines whether the data at the corresponding address is compressed data, based on the flag, and decompresses the decompression processing circuit 59 according to the determination result. Outputs an instruction as to whether or not to perform processing.

【0060】なお、伸張処理回路59の配置位置及び個
数、ならびに処理の手順については任意である。例え
ば、ピクセルパイプライン531〜53nのそれぞれに
伸張処理回路を設ける構成としてもよいし、あるいは、
十分な能力を備えているのであれば、図16の構成のよ
うにVRAM6の信号出力ポートに唯一の伸張処理回路
59を設ける構成としてもよい。
The arrangement position and the number of the decompression processing circuits 59 and the processing procedure are arbitrary. For example, a decompression processing circuit may be provided in each of the pixel pipelines 531 to 53n, or
As long as it has sufficient capability, a configuration may be adopted in which the only expansion processing circuit 59 is provided at the signal output port of the VRAM 6 as in the configuration of FIG.

【0061】図17は本2実施形態に係るメモリ保護機
構によるアドレス変換を示す図である。本実施形態のペ
ージテーブル63には、論理アドレスと物理アドレスと
の対応付けに加え、当該物理アドレスで示されるVRA
M6上の領域には圧縮データが格納されているか否かを
「Yes(真)」又は「No(偽)」により示すフラグ
が追加されている。本実施形態において、フラグが「Y
es(真)」の場合、当該物理アドレスで示されるVR
AM6上の領域は、テクスチャ圧縮領域611であり、
フラグが「No(偽)」の場合、当該物理アドレスで示
されるVRAM6上の領域は、テクスチャ無圧縮領域6
12である。
FIG. 17 is a diagram showing address conversion by the memory protection mechanism according to the second embodiment. In the page table 63 of this embodiment, in addition to associating a logical address with a physical address, the VRA indicated by the physical address is associated with the page address.
In the area on M6, a flag indicating whether or not compressed data is stored by "Yes (true)" or "No (false)" is added. In this embodiment, the flag is "Y.
es ”, the VR indicated by the physical address
The area on AM6 is the texture compression area 611,
When the flag is “No (false)”, the area on the VRAM 6 indicated by the physical address is the texture uncompressed area 6
Twelve.

【0062】なお、ページテーブル以外のデータに圧縮
データかどうかを表すフラグを付与する構成も考えられ
るが、データ領域が多少なりとも増えること、および圧
縮/無圧縮の判定を行うロジックが増えることからチッ
プ面積的・処理速度的にデメリットが予想されるので、
本実施形態のようにページテーブルとMMUで対応する
ことが好ましい。また、本実施形態はテクスチャの圧縮
/伸張に関する構成であるが、データの暗号化/復号化
に関して本実施形態と同様の構成を得ることもできる。
A configuration may be considered in which a flag indicating whether or not the data is compressed data is added to the data other than the page table. However, since the data area will increase to some extent and the logic for determining whether compression or non-compression will increase. Since there are expected disadvantages in terms of chip area and processing speed,
It is preferable that the page table and the MMU correspond to each other as in the present embodiment. Further, although the present embodiment has a configuration relating to texture compression / decompression, it is possible to obtain the same configuration as the present embodiment regarding data encryption / decryption.

【0063】なお、本発明は上述した実施形態に限定さ
れず種々変形して実施可能である。
The present invention is not limited to the above-mentioned embodiment and can be implemented by variously modifying.

【0064】[0064]

【発明の効果】以上説明したように本発明によれば、マ
ルチプロセス対応の動作時においてVRAM等の画像メ
モリにおける衝突及び競合を回避できるメモリ管理機能
を備えた画像処理装置を提供できる。
As described above, according to the present invention, it is possible to provide an image processing apparatus having a memory management function capable of avoiding a collision and a conflict in an image memory such as a VRAM during a multi-process compatible operation.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1実施形態に係るグラフィックスプ
ロセッサシステムの概略構成を示すブロック図
FIG. 1 is a block diagram showing a schematic configuration of a graphics processor system according to a first embodiment of the present invention.

【図2】上記実施形態に係るグラフィックスプロセッサ
の概略構成を示すブロック図
FIG. 2 is a block diagram showing a schematic configuration of a graphics processor according to the above embodiment.

【図3】上記実施形態に係るグラフィックスプロセッサ
システムによる3次元表示処理の流れを示す図
FIG. 3 is a diagram showing a flow of three-dimensional display processing by the graphics processor system according to the above embodiment.

【図4】上記実施形態に係るメモリ保護機構の第1構成
例を示すブロック図
FIG. 4 is a block diagram showing a first configuration example of a memory protection mechanism according to the above embodiment.

【図5】上記第1構成例に係るメモリ保護機構によるア
ドレス変換を示す図
FIG. 5 is a diagram showing address conversion by the memory protection mechanism according to the first configuration example.

【図6】複数プロセスからのVRAMアクセスが競合し
ている様子を示す図
FIG. 6 is a diagram showing a situation in which VRAM accesses from multiple processes compete with each other.

【図7】上記第1構成例に係るメモリ保護機構の作用を
示す図
FIG. 7 is a diagram showing an operation of the memory protection mechanism according to the first configuration example.

【図8】上記実施形態におけるVRAMからの読み出し
動作を示すフローチャート
FIG. 8 is a flowchart showing a read operation from the VRAM in the above embodiment.

【図9】上記実施形態におけるVRAMへの書き込み動
作を示すフローチャート
FIG. 9 is a flowchart showing a write operation to the VRAM in the above embodiment.

【図10】メモリ保護機構の第2構成例を示すブロック
FIG. 10 is a block diagram showing a second configuration example of the memory protection mechanism.

【図11】メモリ保護機構の第3構成例を示すブロック
FIG. 11 is a block diagram showing a third configuration example of the memory protection mechanism.

【図12】メモリ保護機構の第4構成例を示すブロック
FIG. 12 is a block diagram showing a fourth configuration example of a memory protection mechanism.

【図13】メモリ保護機構の第5構成例を示すブロック
FIG. 13 is a block diagram showing a fifth configuration example of the memory protection mechanism.

【図14】図1のものとはVRAM位置が異なる他のグ
ラフィックスプロセッサシステムを示すブロック図
FIG. 14 is a block diagram illustrating another graphics processor system having a different VRAM position from that of FIG.

【図15】図1のものとはVRAM位置が異なる他のグ
ラフィックスプロセッサシステムを示すブロック図
FIG. 15 is a block diagram showing another graphics processor system having a VRAM position different from that of FIG. 1;

【図16】本発明の第2実施形態に係るグラフィックス
プロセッサシステムの概略構成を示すブロック図
FIG. 16 is a block diagram showing a schematic configuration of a graphics processor system according to a second embodiment of the invention.

【図17】本発明の第2実施形態に係るメモリ保護機構
によるアドレス変換を示す図
FIG. 17 is a diagram showing address conversion by the memory protection mechanism according to the second embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1…システムバス 2…中央演算処理装置(CPU) 3…主記憶 4…グラフィックカード 5…グラフィックスプロセッサ 6…VRAM(ビデオメモリ) 7…ディスプレイ 51…T&L 52…セットアップ 531〜53n…ピクセルパイプライン 54…MMU(メモリ管理ユニット) 61…テクスチャメモリ 62…フレームバッファ 63…ページテーブル 1 ... System bus 2 ... Central processing unit (CPU) 3 ... Main memory 4 ... Graphic card 5 ... Graphics processor 6 ... VRAM (video memory) 7 ... Display 51 ... T & L 52 ... Setup 531 to 53n ... Pixel pipeline 54 ... MMU (memory management unit) 61 ... Texture memory 62 ... Frame buffer 63 ... Page table

───────────────────────────────────────────────────── フロントページの続き (72)発明者 雨宮 治郎 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 Fターム(参考) 5B060 AB26 AC13 GA01    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Jiro Amamiya             1st Komukai Toshiba-cho, Sachi-ku, Kawasaki-shi, Kanagawa             Inside the Toshiba Research and Development Center F-term (reference) 5B060 AB26 AC13 GA01

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 画像メモリをアクセスし、画像処理を行
う画像処理装置において、 前記画像メモリのアドレス指定に用いられる論理アドレ
スを、対応する物理アドレスに変換するアドレス変換器
と、 それぞれ画素演算を行うものであって、該画素演算に伴
う前記画像メモリへのアクセスを行う際の論理アドレス
を前記アドレス変換器に与えて物理アドレスを取得し、
該物理アドレスを用いて前記画像メモリへアクセスを行
う複数の画素演算手段と、を具備することを特徴とする
画像処理装置。
1. An image processing apparatus for accessing an image memory to perform image processing, and an address converter for converting a logical address used for addressing the image memory into a corresponding physical address, and performing pixel calculation respectively. Which obtains a physical address by giving a logical address when accessing the image memory associated with the pixel calculation to the address converter,
An image processing apparatus, comprising: a plurality of pixel calculation means for accessing the image memory using the physical address.
【請求項2】 画像メモリをアクセスし、画像処理を行
う画像処理装置において、 前記画像メモリのアドレス指定に用いられる論理アドレ
スを、対応する物理アドレスに変換するアドレス変換器
と、 画素演算を行うものであって、該画素演算に伴う前記画
像メモリへのアクセスを行う際の論理アドレスを、前記
アドレス変換器に与えて物理アドレスを取得し、該物理
アドレスを用いて前記画像メモリへアクセスを行う画素
演算手段と、の組を複数備えたことを特徴とする画像処
理装置。
2. An image processing apparatus for accessing an image memory and performing image processing, comprising: an address converter for converting a logical address used for addressing the image memory into a corresponding physical address; and a pixel operation. A pixel for giving a logical address when accessing the image memory associated with the pixel calculation to the address converter to obtain a physical address, and accessing the image memory using the physical address An image processing apparatus comprising a plurality of sets of arithmetic means.
【請求項3】 第1のプロセスに対して前記画像メモリ
の第1の物理アドレス領域を割り当て、第2のプロセス
に対して前記第1の物理アドレス領域と重複しない第2
の物理アドレス領域を割り当てる領域割り当て手段を具
備することを特徴とする請求項1又は2に記載の画像処
理装置。
3. A first physical address area of the image memory is allocated to a first process, and a second physical address area which does not overlap with the first physical address area is allocated to a second process.
3. The image processing apparatus according to claim 1, further comprising area allocation means for allocating the physical address area.
【請求項4】 前記アドレス変換器に参照され、前記論
理アドレスと前記物理アドレスとの対応を記憶するテー
ブルを具備することを特徴とする請求項1乃至3のいず
れかに記載の画像処理装置。
4. The image processing apparatus according to claim 1, further comprising a table that stores the correspondence between the logical address and the physical address, which is referred to by the address converter.
【請求項5】 前記画素演算手段は、画素パイプライン
ユニットからなることを特徴とする請求項1乃至4のい
ずれかに記載の画像処理装置。
5. The image processing apparatus according to claim 1, wherein the pixel calculation unit includes a pixel pipeline unit.
JP2002129016A 2002-04-30 2002-04-30 Image processor Pending JP2003323338A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002129016A JP2003323338A (en) 2002-04-30 2002-04-30 Image processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002129016A JP2003323338A (en) 2002-04-30 2002-04-30 Image processor

Publications (1)

Publication Number Publication Date
JP2003323338A true JP2003323338A (en) 2003-11-14

Family

ID=29542584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002129016A Pending JP2003323338A (en) 2002-04-30 2002-04-30 Image processor

Country Status (1)

Country Link
JP (1) JP2003323338A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048451A (en) * 2004-08-05 2006-02-16 Toshiba Corp Periphery monitoring device and bird's-eye image display method
JP2007519102A (en) * 2003-12-24 2007-07-12 インテル・コーポレーション Graphics memory switch

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519102A (en) * 2003-12-24 2007-07-12 インテル・コーポレーション Graphics memory switch
US7791613B2 (en) 2003-12-24 2010-09-07 Intel Corporation Graphics memory switch
JP2006048451A (en) * 2004-08-05 2006-02-16 Toshiba Corp Periphery monitoring device and bird's-eye image display method
JP4744823B2 (en) * 2004-08-05 2011-08-10 株式会社東芝 Perimeter monitoring apparatus and overhead image display method

Similar Documents

Publication Publication Date Title
US10866990B2 (en) Block-based lossless compression of geometric data
CN108776949B (en) Apparatus and method for memory management in a graphics processing environment
US11182309B2 (en) Techniques for an efficient fabric attached memory
EP2202643B1 (en) Methods and apparatus for providing user level DMA and memory access management
US7864185B1 (en) Register based queuing for texture requests
US6470380B1 (en) Signal processing device accessible as memory
US6961057B1 (en) Method and apparatus for managing and accessing depth data in a computer graphics system
US7533237B1 (en) Off-chip memory allocation for a unified shader
US20100211752A1 (en) Methods and apparatus for providing independent logical address space and access management
JP2010134929A (en) Compression status bit cache and backing storage device
US20150046662A1 (en) Coalescing texture access and load/store operations
JP4156033B2 (en) How to get contiguous memory buffer and build page table
US8407443B1 (en) Off-chip out of order memory allocation for a unified shader
KR100422082B1 (en) Drawing device and drawing method
US20080150951A1 (en) 3-d rendering engine with embedded memory
US11327900B2 (en) Securing memory accesses in a virtualized environment
US20200250877A1 (en) Residency map descriptors
US9196014B2 (en) Buffer clearing apparatus and method for computer graphics
US6992673B2 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
JP2003323338A (en) Image processor
WO2022095010A1 (en) Methods and apparatus for rasterization of compute workloads
JP3548648B2 (en) Drawing apparatus and drawing method
JP2000029788A (en) Cache memory system, cache control method used therefor and recording medium control program therefor recorded therein
JP2003195847A (en) Graphic processor
JP2007026473A (en) Rendering device and rendering method