JP2001209811A - Device and method for storing data and image processor - Google Patents

Device and method for storing data and image processor

Info

Publication number
JP2001209811A
JP2001209811A JP2000021836A JP2000021836A JP2001209811A JP 2001209811 A JP2001209811 A JP 2001209811A JP 2000021836 A JP2000021836 A JP 2000021836A JP 2000021836 A JP2000021836 A JP 2000021836A JP 2001209811 A JP2001209811 A JP 2001209811A
Authority
JP
Japan
Prior art keywords
data
address
storage
stored
input
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.)
Granted
Application number
JP2000021836A
Other languages
Japanese (ja)
Other versions
JP4482996B2 (en
Inventor
Takeshi Sarutani
武司 猿谷
Atsushi Narita
篤史 成田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2000021836A priority Critical patent/JP4482996B2/en
Publication of JP2001209811A publication Critical patent/JP2001209811A/en
Application granted granted Critical
Publication of JP4482996B2 publication Critical patent/JP4482996B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a device and a method for storing data, with which a FIFO function can be suitably provided for the data of plural systems in small circuit scale. SOLUTION: When data are written in a bank A, for example, in an address control part 240, an address at the time of recording the data of the last bank A outputted from a bank A write address storage part 244 is selected by a selector 246, this address is impressed to a next pointer 247, and the data recording address of this time is stored in the data recording address of the last time as data. Since the link of data streams of plural systems is managed by the next pointer 247, even when the inputted data of any arbitrary system are written in any address, each of systems is distinguished and data can be read in the order of input for each of systems.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数系統のデータ
に対する先入れ先出し形式(以降、FIFO(First In
First Out)形式と言う。)のデータ記憶装置とデータ記
憶方法、および、そのデータ記憶装置を用いて表示用画
像の生成を効率よく行うことのできる画像処理装置に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a first-in first-out (FIFO) format for a plurality of data streams.
First Out) format. A) a data storage device and a data storage method, and an image processing device capable of efficiently generating a display image using the data storage device.

【0002】[0002]

【従来の技術】入力したデータを入力した順に読み出す
いわゆるFIFOメモリは、種々の電子回路において広
く使用されている。特に近年、あらゆる電子機器におい
て処理速度の向上が図られているため、結果的に各処理
部間でのデータの処理速度に差異が生じたり、適切に同
期をとってデータを転送することが難しくなるなどの問
題が生じており、これを解決するために、各処理部間に
緩衝手段としてFIFOメモリを設けることが多くなっ
ている。たとえば、CAD装置やゲーム機器などに用い
られる3次元画像を生成する画像処理装置などは、座標
変換やテクスチャマッピング、各画素に対する特殊効果
処理、生成した画像の高速表示など、多数の画素に対し
て高速に処理を行う各種の処理部が順次接続されて構成
されている。そして、これらの各処理部の間におけるデ
ータ転送を高速かつ適切に行うために、FIFOメモリ
が多数使用されている。
2. Description of the Related Art A so-called FIFO memory for reading input data in the order of input is widely used in various electronic circuits. In particular, in recent years, the processing speed has been improved in all electronic devices, and as a result, the processing speed of data between the processing units may differ, or it may be difficult to transfer data in an appropriate synchronization. In order to solve this problem, a FIFO memory is frequently provided as a buffer between the processing units. For example, an image processing device that generates a three-dimensional image used for a CAD device, a game device, or the like, performs coordinate conversion, texture mapping, special effect processing for each pixel, and high-speed display of a generated image. Various processing units that perform high-speed processing are sequentially connected. A large number of FIFO memories are used to perform high-speed and appropriate data transfer between these processing units.

【0003】[0003]

【発明が解決しようとする課題】ところで、たとえばそ
のような画像処理装置の各構成部間においては、複数種
類のデータが必要に応じて転送される場合が多い。特
に、画像データのみならず制御データまでをも含める
と、特定の1種類のデータのみが転送されるということ
は稀と考えられる。そのような場合に、これまでは、た
とえば図7に示すように、そのデータの種類(データの
系統と言う場合もある。)に応じて複数系統のFIFO
メモリが並列に設けられていた。しかし、そのように複
数のFIFOメモリを並列に設けると、各系統ごとにマ
ージンを確保しなければならなかったり、共通的な信号
処理が多いにも係わらず制御部を独立して設けることに
なるなど、回路を効率よく利用することができない、す
なわち、必要以上に回路規模が大きくなるという問題が
ある。特に、このような回路は、半導体集積回路として
実現する場合が多いため、回路規模、換言すれば回路の
ゲート規模を少しでも小さくしたいという要望もある。
By the way, for example, a plurality of types of data are often transferred between components of such an image processing apparatus as needed. In particular, if not only image data but also control data is included, it is rare that only one specific type of data is transferred. In such a case, up to now, as shown in FIG. 7, for example, as shown in FIG.
Memory was provided in parallel. However, when a plurality of FIFO memories are provided in parallel in such a manner, a margin must be secured for each system, and a control unit is provided independently despite a large amount of common signal processing. For example, there is a problem that the circuit cannot be used efficiently, that is, the circuit scale becomes larger than necessary. In particular, since such a circuit is often realized as a semiconductor integrated circuit, there is a demand that the circuit scale, in other words, the gate scale of the circuit be reduced as much as possible.

【0004】したがって本発明の目的は、より小さい回
路規模で複数系統のデータに対して適切にFIFO機能
を提供できるデータ記憶装置とその方法を提供すること
にある。また、本発明の他の目的は、より小さい回路規
模で各処理手段でのデータの転送が適切に行え、これに
より所望の画像処理を効率よく行えるような画像処理装
置を提供することにある。
Accordingly, it is an object of the present invention to provide a data storage device and a method thereof capable of appropriately providing a FIFO function to data of a plurality of systems with a smaller circuit scale. It is another object of the present invention to provide an image processing apparatus capable of appropriately performing data transfer in each processing means with a smaller circuit scale and thereby efficiently performing desired image processing.

【0005】[0005]

【課題を解決するための手段】前記課題を解決するため
に、本発明のデータ記憶装置は、入力される複数系統の
データを順に記憶するデータ記憶手段と、前記記憶手段
に記憶されたデータの記憶順序を前記系統ごとに管理す
る記憶順序管理手段と、各系統ごとのデータの出力要求
に応じて、前記記憶順序管理手段に管理されている前記
系統ごとのデータの記憶順序に基づいて、当該要求され
た系統の前記記憶されているデータを前記入力された順
に読み出し出力する出力手段とを有する。
In order to solve the above-mentioned problems, a data storage device according to the present invention comprises a data storage means for sequentially storing a plurality of input data, and a data storage means for storing the data stored in the storage means. A storage order management unit that manages a storage order for each system, and a storage order of the data for each system managed by the storage order management unit in response to a data output request for each system. Output means for reading and outputting the stored data of the requested system in the order of input.

【0006】好適には、前記記憶順序管理手段は、前記
データ記憶手段のアドレス空間に対応したアドレス空間
を有し、各アドレスのデータとして、前記データ記憶手
段の対応するアドレスに記憶されているデータと同一の
系統の前記入力されるデータで、当該アドレスのデータ
の次に入力され記憶されたデータが記憶されているアド
レスを記憶するテーブルにより、前記記憶手段に記憶さ
れたデータの記憶順序を前記系統ごとに管理する。
Preferably, the storage order management means has an address space corresponding to an address space of the data storage means, and stores, as data of each address, data stored at a corresponding address of the data storage means. In the input data of the same system as the above, the storage order of the data stored in the storage means is determined by a table storing an address in which the data input and stored next to the data of the address is stored. Manage for each system.

【0007】特定的には、前記記憶順序管理手段は、前
記データ記憶手段の未だ読み出されていないデータが記
憶されている領域以外の空き領域の任意のアドレスを、
入力されるデータを記憶する記憶アドレスとして生成す
る記憶アドレス生成手段と、前記各系統ごとに、最後に
入力され記憶されたデータに対する前記記憶アドレスを
記憶するアドレス記憶手段と、前記データ記憶手段のア
ドレス空間に対応したアドレス空間を有し、各アドレス
のデータとして、前記データ記憶手段の対応するアドレ
スに記憶されているデータと同一の系統の前記入力され
るデータで、当該アドレスのデータの次に入力され記憶
されたデータが記憶されている前記データ記憶手段のア
ドレスを記憶する前記テーブルと、入力される任意の系
統のデータが前記データ記憶手段の前記生成された記憶
アドレスに記憶された際に、前記テーブルの前記アドレ
ス記憶手段に記憶されているアドレスに、前記生成され
た記憶アドレスを記憶するテーブル更新手段とを有し、
前記データ記憶手段は、前記記憶アドレス生成手段によ
り生成されたアドレスに、前記入力される任意の系統の
データを記憶する。
More specifically, the storage order management means stores an arbitrary address of a free area other than an area of the data storage means in which data that has not been read yet is stored.
Storage address generation means for generating a storage address for storing input data; address storage means for storing the storage address for the last input and stored data for each system; and address of the data storage means. Data having the same address space as the data stored at the corresponding address in the data storage means, and having the address space corresponding to the address. The table that stores the address of the data storage unit where the stored data is stored, and when the input arbitrary data of the system is stored in the generated storage address of the data storage unit, The generated storage address is replaced with the address stored in the address storage means of the table. And a table updating means for 憶,
The data storage unit stores the input arbitrary data at the address generated by the storage address generation unit.

【0008】また特定的には、前記記憶アドレス生成手
段は、前記データ記憶手段の各アドレスごとの当該アド
レスに未だ読み出されていないデータが記憶されている
か否かを示すフラグを記憶するフラグ記憶手段と、前記
記憶されているフラグに基づいて、前記データ記憶手段
の前記空き領域を検出し、当該空き領域のいずれか1の
領域のアドレスを前記記憶アドレスとして選択する記憶
アドレス選択手段と、新たに入力されるデータの記憶お
よび前記出力手段による記憶されたデータの読み出しに
基づいて、前記フラグを更新するフラグ更新手段とを有
する。
[0008] More specifically, the storage address generating means stores a flag indicating whether or not data which has not been read yet is stored at each address of the data storage means. Means for detecting the free area of the data storage means based on the stored flag, and selecting an address of any one of the free areas as the storage address; And a flag updating unit for updating the flag based on the storage of the data input to the CPU and the reading of the stored data by the output unit.

【0009】特定的には、前記出力手段は、前記各系統
ごとに、前記データ記憶手段より最後にデータを読み出
したアドレスの、前記テーブルに記憶されている前記記
憶アドレスを、読み出しアドレスとして記憶する読み出
しアドレス記憶手段と、任意の前記系統のデータの出力
要求があった場合に、前記データ記憶手段の前記読み出
しアドレス記憶手段に記憶されている当該系統の前記読
み出しアドレスのデータを読み出し出力するデータ読み
出し手段とを有する。
Specifically, the output means stores, for each of the systems, the storage address stored in the table of the address from which the data was last read from the data storage means, as a read address. Read address storage means, and data reading for reading and outputting the data of the read address of the system stored in the read address storage means of the data storage means when there is an output request of data of any of the systems. Means.

【0010】また特定的には、前記データ記憶手段、前
記記憶順序管理手段および前記出力手段は、半導体集積
回路として構成されている。さらに特定的には、前記デ
ータ記憶手段は、データの記憶と読み出しを同サイクル
中に行うことができるデュアルポートメモリを有する。
More specifically, the data storage means, the storage order management means and the output means are configured as a semiconductor integrated circuit. More specifically, the data storage means has a dual port memory capable of storing and reading data during the same cycle.

【0011】また、本発明のデータ記憶方法は、入力さ
れる複数系統のデータをメモリに記憶し、前記記憶され
たデータの記憶順序を前記系統ごとに管理し、各系統ご
とのデータの出力要求に応じて、前記管理されている前
記系統ごとのデータの記憶順序に基づいて、当該要求さ
れた系統の前記記憶されているデータを前記入力された
順に読み出し出力する。好適には、前記データを記憶す
る前記メモリのアドレス空間に対応したアドレス空間を
有し、各アドレスのデータとして、前記メモリの当該ア
ドレスに記憶されているデータと同一の系統の前記入力
されるデータで、当該アドレスのデータの次に入力され
前記メモリに記憶されたデータの前記メモリ上のアドレ
スを記憶するテーブルにより、前記記憶されたデータの
記憶順序を前記系統ごとに管理する。
Further, in the data storage method of the present invention, data of a plurality of input systems is stored in a memory, a storage order of the stored data is managed for each of the systems, and a data output request for each system is controlled. And reads and outputs the stored data of the requested system in the input order based on the storage order of the managed data for each system. Preferably, the input data has an address space corresponding to the address space of the memory for storing the data, and as the data of each address, the input data of the same system as the data stored at the address of the memory. Then, the storage order of the stored data is managed for each system by a table that stores the address on the memory of the data input next to the data of the address and stored in the memory.

【0012】また、本発明の画像処理装置は、任意の表
示用画像データを生成する画像生成手段と、前記生成さ
れた表示用画像データを記憶する画像メモリと、前記記
憶された表示用画像データより所望の領域のデータを読
み出し表示用画面データとして出力する出力手段とを有
し、前記画像メモリは、入力される複数系統のデータを
順に記憶するデータ記憶手段と、前記記憶手段に記憶さ
れたデータの記憶順序を前記系統ごとに管理する記憶順
序管理手段と、各系統ごとのデータの出力要求に応じ
て、前記記憶順序管理手段に管理されている前記系統ご
とのデータの記憶順序に基づいて、当該要求された系統
の前記記憶されているデータを前記入力された順に読み
出し出力する出力手段とを有する。
Further, the image processing apparatus according to the present invention comprises: an image generating means for generating arbitrary display image data; an image memory for storing the generated display image data; and the stored display image data. Output means for reading out data of a more desired area and outputting the data as screen data for display, wherein the image memory is a data storage means for sequentially storing a plurality of input systems of data; A storage order management unit that manages a storage order of data for each of the systems, and a storage order of data for each of the systems managed by the storage order management unit in response to a data output request for each of the systems. And output means for reading and outputting the stored data of the requested system in the order of input.

【0013】[0013]

【発明の実施の形態】本発明の一実施の形態について図
1〜図6を参照して説明する。本実施の形態において
は、家庭用ゲーム機などに適用され、任意の3次元物体
モデルの所望の3次元画像をディスプレイ上に高速に表
示する3次元コンピュータグラフィックスシステムを例
示して、本発明を説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described with reference to FIGS. In the present embodiment, a three-dimensional computer graphics system which is applied to a home game machine or the like and displays a desired three-dimensional image of an arbitrary three-dimensional object model on a display at a high speed is exemplified. explain.

【0014】まず、その3次元コンピュータグラフィッ
クスシステムの全体の構成および動作について図1を参
照して説明する。この3次元コンピュータグラフィック
スシステムは、立体モデルを単位図形である三角形(ポ
リゴン)の張り合わせとして表現しておき、このポリゴ
ンを描画することで表示画面の各画素の色を決定しディ
スプレイに表示するポリゴンレンダリング処理を行うシ
ステムである。また、3次元コンピュータグラフィック
スシステム1においては、平面を表わす(x、y)座標
のほかに、奥行きを表わすz座標を用いて3次元物体を
表わし、またこのx、y、zの3つの座標で3次元空間
内の任意の1点を特定する。
First, the overall configuration and operation of the three-dimensional computer graphics system will be described with reference to FIG. In this three-dimensional computer graphics system, a three-dimensional model is expressed as a combination of triangles (polygons), which are unit figures, and the polygons are drawn to determine the color of each pixel on a display screen and display the polygons on a display. This is a system that performs rendering processing. In addition, in the three-dimensional computer graphics system 1, a three-dimensional object is represented using z coordinates representing depth in addition to (x, y) coordinates representing a plane, and three coordinates of x, y, and z are used. Specifies an arbitrary point in the three-dimensional space.

【0015】図1は、その3次元コンピュータグラフィ
ックスシステム1の構成を示すブロック図である。3次
元コンピュータグラフィックスシステム1は、入力部
2、3次元画像生成装置3および表示装置4を有する。
また、3次元画像生成装置3は、ジオメトリ演算部3
2、パラメータ演算部33、画素発生部34、テクスチ
ャマッピング部35、テクスチャメモリ36、メモリイ
ンターフェイス(I/F)37、画像メモリ38および
プログラマブル・ディスプレイ制御部39を有する。
FIG. 1 is a block diagram showing the configuration of the three-dimensional computer graphics system 1. The three-dimensional computer graphics system 1 includes an input unit 2, a three-dimensional image generation device 3, and a display device 4.
Further, the three-dimensional image generation device 3 includes a geometry calculation unit 3
2, a parameter calculation unit 33, a pixel generation unit 34, a texture mapping unit 35, a texture memory 36, a memory interface (I / F) 37, an image memory 38, and a programmable display control unit 39.

【0016】まず、各部の構成・機能について説明す
る。入力部2は、3次元画像生成装置3に対して、表示
対象の立体モデルのデータを入力する。本実施の形態に
おいては、3次元コンピュータグラフィックスシステム
1は家庭用ゲーム機に適用されているので、入力部2
は、その家庭用ゲーム機のゲーム自体を制御する主制御
装置などに接続される。その主制御装置においては、ゲ
ームの進行状況などに基づいて表示する画面を決定し、
その画面表示に必要な立体モデルを選択し、その表示方
法の情報を生成する。したがって入力部2は、これらの
情報を、家庭用ゲーム機の主制御装置より受け取り、3
次元画像生成装置3へ入力するのに適した形態に変換す
るなどして3次元画像生成装置3に入力する。具体的に
は、入力部2は、前述したような表示する立体モデルの
ポリゴンデータを3次元画像生成装置3のジオメトリ演
算部32に入力する。また、その入力されるポリゴンの
データは、各頂点のx,y,z座標データおよびカラ
ー、透明度、テクスチャなどの付随データである。
First, the configuration and function of each unit will be described. The input unit 2 inputs data of a three-dimensional model to be displayed to the three-dimensional image generation device 3. In this embodiment, since the three-dimensional computer graphics system 1 is applied to a home game machine, the input unit 2
Is connected to a main controller for controlling the game itself of the home game machine. The main controller determines the screen to be displayed based on the progress of the game, etc.
A three-dimensional model required for the screen display is selected, and information on the display method is generated. Therefore, the input unit 2 receives the information from the main control device of the consumer game machine,
The image is converted into a form suitable for input to the three-dimensional image generation device 3 and input to the three-dimensional image generation device 3. Specifically, the input unit 2 inputs the polygon data of the three-dimensional model to be displayed as described above to the geometry calculation unit 32 of the three-dimensional image generation device 3. The input polygon data is x, y, z coordinate data of each vertex and accompanying data such as color, transparency, and texture.

【0017】ジオメトリ演算部32は、入力部2より入
力されたポリゴンを、3次元空間中の所望の位置に配置
させその位置におけるポリゴンデータを生成する。具体
的には、ポリゴンの各頂点(x、y、z)ごとに、並進
変換、平行変換および回転変換などの幾何学的変換処理
(ジオメトリ変換処理という場合もある)を行う。ジオ
メトリ変換処理を行ったポリゴンデータは、パラメータ
演算部33に出力される。
The geometry calculation unit 32 arranges the polygon input from the input unit 2 at a desired position in the three-dimensional space and generates polygon data at that position. Specifically, for each vertex (x, y, z) of the polygon, a geometric transformation process (also referred to as a geometry transformation process) such as a translation transformation, a parallel transformation, and a rotation transformation is performed. The polygon data subjected to the geometry conversion processing is output to the parameter calculation unit 33.

【0018】パラメータ演算部33は、ジオメトリ演算
部32から入力されたポリゴンのデータ、すなわち、ポ
リゴンの各頂点のデータに基づいて、画素発生部34に
おいてポリゴン内部の画素データを発生するために必要
なパラメータを求め、画素発生部34に出力する。具体
的にはたとえば、カラー、奥行きおよびテクスチャの傾
きの情報などを求める。
The parameter calculation unit 33 is required for the pixel generation unit 34 to generate pixel data inside the polygon based on the data of the polygon input from the geometry calculation unit 32, that is, the data of each vertex of the polygon. The parameters are obtained and output to the pixel generator 34. Specifically, for example, information on color, depth, and texture inclination is obtained.

【0019】画素発生部34は、ジオメトリ演算部32
でジオメトリ変換処理が行われたポリゴンデータ、およ
び、パラメータ演算部33で求められたパラメータに基
づいて、ポリゴンの各頂点間を線型補間してポリゴン内
部およびエッジ部分の画素データを発生する。また画素
発生回路34は、画素データの表示に対応した所定の2
次元平面上でのアドレスの生成を行う。生成された画素
データおよびアドレスは順次テクスチャマッピング部3
5に出力される。
The pixel generating section 34 includes a geometry calculating section 32
Based on the polygon data subjected to the geometry conversion processing in step (1) and the parameters calculated by the parameter calculation unit 33, linear interpolation is performed between the vertices of the polygon to generate pixel data of the inside and the edge of the polygon. In addition, the pixel generation circuit 34 has a predetermined 2 corresponding to the display of pixel data.
Generate addresses on a dimensional plane. The generated pixel data and address are sequentially transferred to the texture mapping unit 3.
5 is output.

【0020】テクスチャマッピング部35は、画素発生
部34で生成された画素データに対して、テクスチャメ
モリ36に格納されているテクスチャデータを用いて、
テクスチャマッピング処理を行う。テクスチャマッピン
グ処理を行った画素データおよびアドレスは、メモリイ
ンターフェイス37に出力する。
The texture mapping unit 35 uses the texture data stored in the texture memory 36 for the pixel data generated by the pixel generation unit 34,
Perform texture mapping processing. The pixel data and the address subjected to the texture mapping process are output to the memory interface 37.

【0021】テクスチャメモリ36は、テクスチャマッ
ピング部35でテクスチャマッピングする際に用いるテ
クスチャパタンを記憶しておくメモリである。
The texture memory 36 is a memory for storing texture patterns used when texture mapping is performed by the texture mapping unit 35.

【0022】メモリインターフェイス37は、テクスチ
ャマッピング部35から入力される画素データおよびア
ドレス、および、既に画像メモリ38に記憶されている
対応する画素データに基づいて、新たな画素データを生
成し、画像メモリ38に記憶する。すなわち、メモリイ
ンターフェイス37は、テクスチャマッピング部35か
ら入力されるアドレスに対応した画素データを画像メモ
リ38から読み出し、その画素データと、テクスチャマ
ッピング部35から入力された画素データとを用いて、
所望の画素演算処理を行い、得られた画素データを画像
メモリ38へ書き込む。またメモリインターフェイス3
7は、プログラマブル・ディスプレイ制御部39から表
示領域が指定された場合には、その表示領域の画素デー
タを、画像メモリ38から読み出し、プログラマブル・
ディスプレイ制御部39に出力する。
The memory interface 37 generates new pixel data based on the pixel data and address input from the texture mapping unit 35 and the corresponding pixel data already stored in the image memory 38, 38. That is, the memory interface 37 reads pixel data corresponding to the address input from the texture mapping unit 35 from the image memory 38, and uses the pixel data and the pixel data input from the texture mapping unit 35,
A desired pixel calculation process is performed, and the obtained pixel data is written to the image memory 38. Also memory interface 3
When the display area is designated by the programmable display control section 39, the pixel data of the display area is read out from the image memory 38,
Output to the display controller 39.

【0023】画像メモリ38は、表示用の画像データを
記録するメモリであり、同時にアクセスすることができ
る2つのメモリバッファ、フレームバッファとZバッフ
ァを有する。フレームバッファには、各画素のカラー情
報であるフレームデータが格納される。また、Zバッフ
ァには、各画素の奥行き情報(Z値)であるZデータが
格納される。画像メモリ38については、後に詳細に説
明する。
The image memory 38 is a memory for recording image data for display, and has two memory buffers, a frame buffer and a Z buffer, which can be accessed simultaneously. Frame data, which is color information of each pixel, is stored in the frame buffer. The Z buffer stores Z data as depth information (Z value) of each pixel. The image memory 38 will be described later in detail.

【0024】プログラマブル・ディスプレイ制御部39
は、メモリインターフェイス37を介して画像メモリ3
8より読み出した表示領域の画素データを、表示装置4
により表示可能なたとえば所定のアナログ信号に変換
し、表示装置4に出力する。この時の出力信号の形式お
よびそれに基づく変換条件などは、接続される表示装置
4の信号特性などに基づいて、プログラムすることによ
り任意に設定可能である。なお、プログラマブル・ディ
スプレイ制御部39は、メモリインターフェイス37に
対して表示すべき表示領域の画素データの要求を行い、
これにより画像メモリ38より所望の表示領域の画素デ
ータを読み出す。
Programmable display control unit 39
Is the image memory 3 via the memory interface 37.
The pixel data of the display area read from
For example, the signal is converted into a predetermined analog signal that can be displayed, and output to the display device 4. At this time, the format of the output signal and the conversion condition based on the format can be arbitrarily set by programming based on the signal characteristics of the display device 4 to be connected. The programmable display control unit 39 requests the memory interface 37 for pixel data of a display area to be displayed, and
Thereby, pixel data of a desired display area is read from the image memory 38.

【0025】表示装置4は、本実施の形態においては、
通常家庭などで用いられているビデオ入力端子などを有
するテレビジョン受信機である。3次元画像生成装置3
のプログラマブル・ディスプレイ制御部39からは、ビ
デオ信号入力端子を介してアナログビデオ信号が入力さ
れ、その信号に基づいて3次元映像を画面上に表示す
る。
In the present embodiment, the display device 4 is
This is a television receiver having a video input terminal and the like generally used in homes and the like. 3D image generation device 3
An analog video signal is input from the programmable display control unit 39 via a video signal input terminal, and a three-dimensional image is displayed on a screen based on the signal.

【0026】次に、この3次元コンピュータグラフィッ
クスシステム1の動作について説明する。まず、家庭用
ゲーム機のゲーム自体を制御する主制御装置などにおい
て、表示する3次元画像が決定されると、その画面表示
に必要な立体モデルの情報が入力部2に入力される。入
力部2はこの情報に基づいて、その画像を表示するため
の立体モデルのポリゴンデータを3次元画像生成装置3
に入力する。3次元画像生成装置3に入力された各ポリ
ゴンデータは、まず、ジオメトリ演算部32において、
画面表示のために3次元空間中の所望の位置に配置され
るように、並進変換、平行変換および回転変換などのジ
オメトリ変換処理が行われる。
Next, the operation of the three-dimensional computer graphics system 1 will be described. First, when a three-dimensional image to be displayed is determined in a main control device or the like that controls the game itself of the home-use game machine, information on a three-dimensional model required for screen display is input to the input unit 2. Based on this information, the input unit 2 converts the polygon data of the three-dimensional model for displaying the image into a three-dimensional image generating device 3.
To enter. Each polygon data input to the three-dimensional image generation device 3 is first processed by the geometry calculation unit 32.
Geometry transformation processing such as translation, parallel transformation, and rotation transformation is performed so as to be arranged at a desired position in a three-dimensional space for screen display.

【0027】次に、座標変換の行われたポリゴンデータ
に対して、パラメータ演算部33においてポリゴン内部
の画素データを発生するために必要なパラメータが求め
られ、画素発生部34において、実際にポリゴンの各頂
点間を線型補間してポリゴン内部およびエッジ部分の画
素データが発生される。発生された画素データは順次テ
クスチャマッピング部35に入力され、テクスチャマッ
ピング部35において、テクスチャメモリ36に記録さ
れているテクスチャパタンデータを参照して、テクスチ
ャマッピング処理が行われ、生成された画素データがメ
モリインターフェイス37を介して画像メモリ38に記
憶される。
Next, for the polygon data subjected to the coordinate conversion, parameters necessary for generating pixel data inside the polygon are obtained in the parameter calculation unit 33, and the pixel generation unit 34 actually calculates the polygon data. Pixel data of the inside of the polygon and the edge portion is generated by linearly interpolating between the vertices. The generated pixel data is sequentially input to the texture mapping unit 35, and the texture mapping unit 35 performs texture mapping with reference to the texture pattern data recorded in the texture memory 36, and generates the pixel data. It is stored in the image memory 38 via the memory interface 37.

【0028】画像メモリ38に記憶された画素データ
は、同様の経路により入力される他の画素データや任意
の制御データに基づいて適宜所望の処理が行われる。こ
れにより画像メモリ38には常に最新の画像データが格
納され、画面表示に供される。すなわち、表示装置4に
表示するための所定の領域のデータの出力の要求がプロ
グラマブル・ディスプレイ制御部39からメモリインタ
ーフェイス37に対して行われ、その領域の画素データ
が適宜画像メモリ38から読み出され、プログラマブル
・ディスプレイ制御部39において画面表示用の所定の
信号に変換され、表示装置4に出力される。これによ
り、表示装置4には、所望の画像が画面に表示される。
The pixel data stored in the image memory 38 is subjected to a desired process as needed based on other pixel data input through a similar route or arbitrary control data. As a result, the latest image data is always stored in the image memory 38 and used for screen display. That is, a request to output data in a predetermined area for display on the display device 4 is made from the programmable display control unit 39 to the memory interface 37, and pixel data in that area is read out from the image memory 38 as appropriate. Is converted into a predetermined signal for screen display by the programmable display control unit 39 and output to the display device 4. Thereby, a desired image is displayed on the screen of the display device 4.

【0029】次に、このような3次元コンピュータグラ
フィックスシステム1の、本発明に係わる画像メモリ3
8の周辺回路について詳細に説明する。3次元コンピュ
ータグラフィックスシステム1においては、テクスチャ
マッピング部35、メモリインターフェイス37および
プログラマブル・ディスプレイ制御部39が、実質的に
画像メモリ38に対してアクセスを行なう構成部であ
る。以下の説明においては、本発明の係わる特徴が明ら
かになるように、これらの処理部を画像メモリ38に対
する1つの信号処理部とみなして説明を行なう。なお、
実際の回路は、図1に示したように各構成部が独立した
構成でもよいし、後述するように、たとえば汎用のシグ
ナルプロセッサなどを用いて一体的に構成したものであ
ってもよい。
Next, the image memory 3 of the three-dimensional computer graphics system 1 according to the present invention will be described.
8 will be described in detail. In the three-dimensional computer graphics system 1, the texture mapping unit 35, the memory interface 37, and the programmable display control unit 39 are components that substantially access the image memory 38. In the following description, these processing units will be described as one signal processing unit for the image memory 38 so as to clarify the features of the present invention. In addition,
The actual circuit may have a configuration in which each component is independent as shown in FIG. 1, or may be an integrated configuration using a general-purpose signal processor, for example, as described later.

【0030】図2は、その画像メモリ38の周辺回路
(以後、これをメモリ装置50として示す)を論理的に
示す図であり、図1に示したテクスチャマッピング部3
5〜プログラマブル・ディスプレイ制御部39の構成
を、別の観点から示した図である。なお、このメモリ装
置50は、前述したように、たとえば各画素のカラー情
報であるフレームデータと、各画素の奥行き情報(Z
値)であるZデータの2系統のデータを順次バッファリ
ングする機能を有するものとする。
FIG. 2 is a diagram logically showing a peripheral circuit of the image memory 38 (hereinafter, this is referred to as a memory device 50). The texture mapping unit 3 shown in FIG.
5 is a diagram illustrating a configuration of a programmable display control unit 39 from another viewpoint. FIG. As described above, the memory device 50 includes, for example, frame data that is color information of each pixel and depth information (Z
It has a function of sequentially buffering data of two systems of the Z data of (value).

【0031】MTXPC51は、3次元コンピュータグ
ラフィックスシステム1におけるメモリインターフェイ
ス(Memory interface)37、マッピ
ング(TeXture Mapping)部35および
プログラマブル・ディスプレイ制御部(Program
mable Crt controller)39が一
体化された信号処理部である。MTXPC51で生成さ
れた画像データは、FIFOメモリ100に入力され
る。FIFOメモリ100は、MTXPC51より入力
された画像データを、その系統(種類)は問わずに順次
記憶し、バッファリングして信号処理部53に出力す
る。
The MTXPC 51 is a memory interface (Memory Interface) 37, a mapping (Temple Mapping) unit 35 and a programmable display control unit (Program) in the three-dimensional computer graphics system 1.
The CRT controller 39 is an integrated signal processing unit. The image data generated by the MTXPC 51 is input to the FIFO memory 100. The FIFO memory 100 sequentially stores the image data input from the MTXPC 51 irrespective of the system (type), buffers the image data, and outputs the buffered data to the signal processing unit 53.

【0032】信号処理部53は、FIFOメモリ100
より読み出した画像データに任意の処理を施し、再び画
像メモリ38に記憶する。前述したように、信号処理部
53では、たとえば、既に画像メモリ38に記憶されて
いる対応する画素データと、テクスチャマッピングされ
た画素データとを用いて所望の画素演算処理を行う。そ
して、得られた画素データは再び画像メモリ38へ書き
込まれる。第1のRAM54および第2のRAM55
は、各々特定の系統のデータを記憶する2バンクのFI
FOメモリであり、信号処理部53より入力されるデー
タを各々順次記憶する。また、図示しないが、たとえば
MTXPC51からの読み出し要求に応じて、記憶した
データを記憶した順に出力する。なお、第1のRAM5
4(バンクA)および第2のRAM55(バンクB)
は、各々275ビット幅で、合わせて16ワードの記憶
容量を有する。
The signal processing unit 53 includes a FIFO memory 100
An arbitrary process is performed on the read image data, and the image data is stored in the image memory 38 again. As described above, the signal processing unit 53 performs a desired pixel calculation process using, for example, corresponding pixel data already stored in the image memory 38 and texture-mapped pixel data. Then, the obtained pixel data is written into the image memory 38 again. First RAM 54 and second RAM 55
Are two banks of FIs each storing data of a specific system.
The FO memory sequentially stores data input from the signal processing unit 53. Although not shown, for example, in response to a read request from the MTXPC 51, the stored data is output in the order of storage. The first RAM 5
4 (bank A) and second RAM 55 (bank B)
Have a storage capacity of 16 words in total, each having a width of 275 bits.

【0033】メモリ装置50(画像メモリ38の周辺回
路)は、論理的にはこのようにその構成を示すことがで
きるが、以下、本発明に係わるFIFOメモリ100に
ついて、図3〜図6を参照して説明する。前述したよう
に、このFIFOメモリ100は、図1における画像メ
モリ38として描画データをバッファリングするメモリ
であり、275ビット×16ワードの容量を有する。ま
た、共有データバッファにより2系統のデータに対応
し、書き込みから読み出しまでのレイタンシー3、読み
出しレイタンシー2のFIFOメモリである。
The memory device 50 (peripheral circuit of the image memory 38) can logically show the configuration as described above. Hereinafter, the FIFO memory 100 according to the present invention will be described with reference to FIGS. I will explain. As described above, the FIFO memory 100 is a memory for buffering drawing data as the image memory 38 in FIG. 1, and has a capacity of 275 bits × 16 words. In addition, the FIFO memory has a latency of 3 from write to read and a read latency of 2 corresponding to two systems of data by the shared data buffer.

【0034】まず、そのFIFOメモリ100の構成の
概略について、図3を参照して、データの流れを中心に
して説明する。図3は、FIFOメモリ100における
データの流れを示すのに好適な、FIFOメモリ100
の主要な構成を模式的に示すブロック図である。図3に
示すように、FIFOメモリ100は、デュアルポート
RAM(DportRAM)120、出力レジスタ(R
EG)140、ライトポインタ部(Wpointer)
160、リードポインタ部(Rpointer)18
0、フル信号生成部(FullGen)200およびエ
ンプティ信号生成部(EMPTYGen)220を有す
る。
First, an outline of the configuration of the FIFO memory 100 will be described with reference to FIG. FIG. 3 shows a FIFO memory 100 suitable for showing a data flow in the FIFO memory 100.
FIG. 2 is a block diagram schematically showing a main configuration of FIG. As shown in FIG. 3, the FIFO memory 100 includes a dual port RAM (DportRAM) 120 and an output register (R
EG) 140, write pointer unit (Wpointer)
160, read pointer section (Rpointer) 18
0, a full signal generator (FullGen) 200 and an empty signal generator (EMPTYGen) 220.

【0035】デュアルポートRAM120は、275ビ
ット×16ワード構成の同時に書き込みおよび読み出し
が可能なメモリである。デュアルポートRAM120
は、データ入力端子に入力データDATAinが印加さ
れており、ライトポインタ部160からのライト制御信
号に基づいてこれを順に記憶する。また、デュアルポー
トRAM120に記憶されたデータは、リードポインタ
部180からのリード制御信号に基づいて記憶された順
番に読み出され、出力レジスタ140に出力される。
The dual-port RAM 120 is a 275-bit × 16-word memory capable of simultaneously writing and reading. Dual port RAM 120
The input data DATAin is applied to the data input terminal, and is sequentially stored based on a write control signal from the write pointer unit 160. The data stored in the dual port RAM 120 is read out in the order in which the data is stored based on the read control signal from the read pointer unit 180, and is output to the output register 140.

【0036】出力レジスタ140は、リードポインタ部
180より出力されるリード制御信号に基づいてデュア
ルポートRAM120より読み出されたデータRAMo
utを記憶し、FIFOメモリ100より出力する。
The output register 140 stores the data RAMo read from the dual port RAM 120 based on the read control signal output from the read pointer section 180.
ut is stored and output from the FIFO memory 100.

【0037】ライトポインタ部160は、FIFOメモ
リ100に入力されるバンクA、バンクBのそれぞれの
ライトイネーブル信号WE_A,WE_Bに基づいて、
デュアルポートRAM120に対する記憶制御信号を生
成しデュアルポートRAM120に印加することによ
り、デュアルポートRAM120へのデータの記憶を制
御する。
The write pointer section 160 is based on the write enable signals WE_A and WE_B of the banks A and B input to the FIFO memory 100, respectively.
By generating a storage control signal for the dual port RAM 120 and applying it to the dual port RAM 120, the storage of data in the dual port RAM 120 is controlled.

【0038】リードポインタ部180は、FIFOメモ
リ100に入力されるバンクA、バンクBのそれぞれの
リードイネーブル信号RE_A,RE_Bに基づいて、
デュアルポートRAM120に対するリード制御信号を
生成しデュアルポートRAM120に印加することによ
り、デュアルポートRAM120からのデータの読み出
しを制御する。
The read pointer section 180 is based on the read enable signals RE_A and RE_B of the banks A and B input to the FIFO memory 100, respectively.
By generating a read control signal for the dual port RAM 120 and applying the signal to the dual port RAM 120, data read from the dual port RAM 120 is controlled.

【0039】フル信号生成部200は、図示せぬFIF
Oメモリ100内の種々の制御信号および状態信号に基
づいて、デュアルポートRAM120へ格納されたデー
タの合計がそれぞれ16、15、14以上であることを
示すフル信号FULL、プレ・フル信号PFULL、お
よび、プレ・プレ・フル信号PPFULL、換言すれ
ば、デュアルポートRAM120の記憶領域が満杯の状
態を示すプレ信号FULL、あと1ワードで満杯となる
状態を示すプレ・フル信号PFULL、および、あと1
ワードでプレ・フルとなる状態を示すプレ・プレ・フル
信号PPFULLを生成し、3次元コンピュータグラフ
ィックスシステム1のメモリインターフェイス37に相
当する図示せぬ制御部に出力する。
The full signal generation unit 200 is provided with an unshown FIF
Based on various control and status signals in the O-memory 100, a full signal FULL, a pre-full signal PFULL, and a full signal FULL indicating that the total of the data stored in the dual port RAM 120 is 16, 15, 14 or more, respectively. , A pre-full signal PFULL, in other words, a pre-signal FULL indicating that the storage area of the dual port RAM 120 is full, a pre-full signal PFULL indicating that one more word is full, and one more.
It generates a pre-full signal PFULL indicating a word-full state and outputs it to a control unit (not shown) corresponding to the memory interface 37 of the three-dimensional computer graphics system 1.

【0040】エンプティ信号生成部220は、図示せぬ
FIFOメモリ100内の種々の制御信号および状態信
号に基づいて、デュアルポートRAM120へ格納され
たデータが無い状態、すなわちエンプティな状態を示す
信号EMPTYを生成し、3次元コンピュータグラフィ
ックスシステム1のメモリインターフェイス37に相当
する図示せぬ制御部に出力する。図示せぬ制御部は、こ
れら信号FULL,PFULL,PPFULLおよびE
MPTYに基づいて、画像メモリ38(FIFOメモリ
100)へのデータの書き込みおよび読み出しを制御す
る。
The empty signal generator 220 generates a signal EMPTY indicating no data stored in the dual port RAM 120, that is, an empty state, based on various control signals and status signals in the FIFO memory 100 (not shown). It is generated and output to a control unit (not shown) corresponding to the memory interface 37 of the three-dimensional computer graphics system 1. The control unit (not shown) controls these signals FULL, PFULL, PPFULL and E
Based on the MPTY, writing and reading of data to and from the image memory 38 (FIFO memory 100) are controlled.

【0041】次に、FIFOメモリ100のより詳細な
構成について、図4および図5を参照して説明する。図
4は、FIFOメモリ100の詳細の構成を示す回路図
である。FIFOメモリ100は、デュアルポートRA
M120、出力レジスタ140および制御部150を有
する。また、制御部150は、ライトイネーブルデコー
ダ151、リードイネーブルデコーダ152、セレクタ
153、レジスタ154、フル信号生成部200、エン
プティ信号生成部220およびアドレス制御部240を
有する。
Next, a more detailed configuration of the FIFO memory 100 will be described with reference to FIGS. FIG. 4 is a circuit diagram showing a detailed configuration of the FIFO memory 100. The FIFO memory 100 has a dual port RA
M120, output register 140 and control unit 150. The control unit 150 includes a write enable decoder 151, a read enable decoder 152, a selector 153, a register 154, a full signal generation unit 200, an empty signal generation unit 220, and an address control unit 240.

【0042】デュアルポートRAM120は、前述した
ように275ビット×16ワード構成の同時に書き込み
および読み出しが可能なメモリである。デュアルポート
RAM120は、制御部150のアドレス制御部240
より入力される書き込みアドレスwp_mおよびライト
イネーブルデコーダ151より入力されるライトイネー
ブル信号ram_weに基づいて、印加されるデータi
nを記憶する。また、制御部150のセレクタ153よ
り入力される読み出しアドレスrp_mおよびリードイ
ネーブルデコーダ152より入力されるリードイネーブ
ル信号ram_reに基づいて、データを読み出し出力
レジスタ140に出力する。
The dual port RAM 120 is a 275-bit × 16-word memory that can be written and read simultaneously, as described above. The dual port RAM 120 has an address control unit 240 of the control unit 150.
Data i based on a write address wp_m input from the write enable signal ram_we input from the write enable decoder 151.
n is stored. Further, based on the read address rp_m input from the selector 153 of the control unit 150 and the read enable signal ram_re input from the read enable decoder 152, data is output to the read output register 140.

【0043】出力レジスタ140は、制御部150のレ
ジスタ154より入力されるイネーブル信号oreg_
enに基づいて、デュアルポートRAM120より読み
出されたデータを一旦記憶し、出力信号outとしてF
IFOメモリ100より出力する。
The output register 140 receives the enable signal oreg_ input from the register 154 of the control unit 150.
en, the data read from the dual port RAM 120 is temporarily stored, and as an output signal out, F
Output from the IFO memory 100.

【0044】制御部150のライトイネーブルデコーダ
151は、外部よりFIFOメモリ100に入力される
2つのバンクA,B各々に対するライトイネーブル信号
we_a,we_bおよびアドレス制御部240より入
力されるデュアルポートRAM120がフルであること
を示す信号ram_fullに基づいて、デュアルポー
トRAM120に対するライトイネーブル信号ram_
we、および、各バンクのデータの書き込みを示す信号
ram_we_a,ram_we_bを生成し、各々、
デュアルポートRAM120おいアドレス制御部240
に出力する。
The write enable decoder 151 of the control unit 150 has a full write enable signal we_a, we_b for each of the two banks A and B externally input to the FIFO memory 100 and a dual port RAM 120 input from the address control unit 240. Based on the signal ram_full indicating that the write enable signal ram_
we and signals ram_we_a and ram_we_b indicating the writing of data in each bank, respectively.
Dual-port RAM 120 address control unit 240
Output to

【0045】具体的には、ライトイネーブルデコーダ1
51は、デュアルポートRAM120がフルでない場合
には、ライトイネーブル信号we_a,we_bのいず
れかが入力された場合に、デュアルポートRAM120
に対するライトイネーブル信号ram_weをアクティ
ブにする。また、ライトイネーブル信号we_a,we
_bに応じて、データの書き込みを示す信号ram_w
e_a,ram_we_bのいずれかをアクティブにす
る。デュアルポートRAM120がフルであることを示
す信号ram_fullがアクティブの時には、ライト
イネーブルデコーダ151はいずれの信号もアクティブ
にしない。
Specifically, the write enable decoder 1
Reference numeral 51 denotes a state where the dual port RAM 120 is not full, and if any of the write enable signals we_a and we_b is input, the dual port RAM 120
Is activated. Also, the write enable signals we_a, we
Ram_w indicating a data write in accordance with _b
Either e_a or ram_we_b is activated. When the signal ram_full indicating that the dual port RAM 120 is full is active, the write enable decoder 151 does not activate any signal.

【0046】リードイネーブルデコーダ152は、外部
よりFIFOメモリ100に入力される2つのバンク
A,B各々に対するリード信号re_a,re_bおよ
びアドレス制御部240より入力される各バンクの記憶
データがエンプティであることを示す信号ram_em
pty_a,ram_empty_bに基づいて、デュ
アルポートRAM120に対するリードイネーブル信号
ram_re、および、各バンクのデータの読み出しを
示す信号ram_re_a,ram_re_bを生成
し、各々、デュアルポートRAM120おいアドレス制
御部240に出力する。
The read enable decoder 152 requires that the read signals re_a and re_b for the two banks A and B externally input to the FIFO memory 100 and the storage data of each bank input from the address control unit 240 be empty. Signal ram_em indicating
Based on pty_a and ram_empty_b, a read enable signal ram_re for the dual port RAM 120 and signals ram_re_a and ram_re_b indicating data read of each bank are generated and output to the dual port RAM 120 and the address control unit 240, respectively.

【0047】具体的には、リードイネーブルデコーダ1
52は、バンクAまたはバンクBのいずれかに対するリ
ード信号re_a,re_bのいずれかが入力された場
合であって、そのバンクがエンプティでない場合には、
デュアルポートRAM120に対するリードイネーブル
信号ram_reをアクティブにし、そのバンクのデー
タの読み出しを示す信号ram_re_a,ram_r
e_bをアクティブにする。そのバンクがエンプティで
あることを示す信号ram_empty_aまたはra
m_empty_bがアクティブの時には、リードイネ
ーブルデコーダ151はいずれの信号もアクティブにし
ない。
More specifically, the read enable decoder 1
Reference numeral 52 denotes a case where one of the read signals re_a and re_b for either the bank A or the bank B is input, and when the bank is not empty,
A read enable signal ram_re for the dual port RAM 120 is activated, and signals ram_re_a and ram_r indicating that data is read from the bank.
Activate e_b. A signal ram_empty_a or ra indicating that the bank is empty
When m_empty_b is active, the read enable decoder 151 does not activate any signal.

【0048】セレクタ153は、アドレス制御部240
より入力される、デュアルポートRAM120に記憶さ
れている各バンクの先頭データのアドレスrp_a,r
p_bのいずれかを、選択し、デュアルポートRAM1
20に印加する。本実施の形態においては、FIFOメ
モリ100に入力されるバンクBのリード信号re_b
がアクテオィブの時にバンクBの記憶データの先頭アド
レスrp_bを選択し、そうでない時にバンクAの記憶
データの先頭アドレスrp_aを選択する。
The selector 153 includes an address control unit 240
Rp_a, r of the first data of each bank stored in the dual port RAM 120
p_b, and select the dual port RAM1
20. In the present embodiment, the read signal re_b of the bank B input to the FIFO memory 100
Is active, selects the start address rp_b of the storage data of the bank B, and otherwise selects the start address rp_a of the storage data of the bank A.

【0049】レジスタ154は、リードイネーブルデコ
ーダ152よりデュアルポートRAM120に出力され
るリードイネーブル信号ram_reを1クロックラッ
チし、デュアルポートRAM120より出力されるデー
タを出力レジスタ140が記憶するためのイネーブル信
号oreg_enとして、出力レジスタ140に出力す
る。
The register 154 latches the read enable signal ram_re output from the read enable decoder 152 to the dual port RAM 120 for one clock, and stores the data output from the dual port RAM 120 as an enable signal oreg_en for the output register 140 to store. , To the output register 140.

【0050】フル信号生成部200は、後述するアドレ
ス制御部240において生成されるフル信号fullに
基づいて、さらに、あと1ワードでフルとなる状態を示
す信号PFULL、および、あと1ワードでPFULL
となる状態を示す信号PPFULLを各々生成し出力す
る。
Based on a full signal full generated by an address control unit 240, which will be described later, the full signal generation unit 200 further generates a signal PFULL indicating that the state becomes full in one more word, and a PFULL in another word.
Respectively, and generates and outputs a signal PPFULL indicating the state.

【0051】エンプティ信号生成部220は、後述する
アドレス制御部240において生成される各バンクのデ
ータがエンプティであることを示す信号empty_
a,empty_bに基づいて、デュアルポートRAM
120へ格納されたデータが無い状態、すなわちエンプ
ティな状態を示す信号EMPTYを生成し出力する。
The empty signal generating section 220 generates a signal empty__ indicating that the data of each bank generated by the address control section 240 described later is empty.
a, dual port RAM based on empty_b
A signal EMPTY indicating a state where there is no data stored in 120, that is, an empty state is generated and output.

【0052】アドレス制御部240は、前述したような
デュアルポートRAM120および外部に対する種々の
制御信号を生成するとともに、デュアルポートRAM1
20に記憶したデータの順序などを管理する。アドレス
制御部240の構成について、図5を参照して詳細に説
明する。図5は、アドレス制御部240の構成を示す回
路図である。アドレス制御部240は、RAM使用領域
フラグ241、フラグ更新部242、書き込みアドレス
デコーダ243、バンクA書き込みアドレス記憶部24
4、バンクB書き込みアドレス記憶部245、セレクタ
246、ネクストポインタ247、バンクAリードアド
レス選択部248、バンクAリードアドレスレジスタ2
49、バンクBリードアドレス選択部250、バンクB
リードアドレスレジスファ251、バンクAエンプティ
検出カウンタ252およびバンクBエンプティ検出カウ
ンタ253を有する。
The address control section 240 generates various control signals for the dual port RAM 120 and the outside as described above,
20 manages the order of the data stored in the memory 20. The configuration of the address control unit 240 will be described in detail with reference to FIG. FIG. 5 is a circuit diagram showing a configuration of the address control unit 240. The address control unit 240 includes a RAM use area flag 241, a flag update unit 242, a write address decoder 243, and a bank A write address storage unit 24.
4, bank B write address storage unit 245, selector 246, next pointer 247, bank A read address selection unit 248, bank A read address register 2
49, bank B read address selector 250, bank B
It has a read address register 251, a bank A empty detection counter 252, and a bank B empty detection counter 253.

【0053】RAM使用領域フラグ241は、デュアル
ポートRAM120の各アドレスに未だ読み出されてい
ないデータが記憶せているか否を示すフラグを記憶し、
デュアルポートRAM120の使用状態を管理するため
の、デュアルポートRAM120の各アドレスに1ビッ
トが対応した16ビットのレジスタである。RAM使用
領域フラグ241は、ライトイネーブルデコーダ151
よりいずれかのバンクの書き込みを示す信号ram_w
e_a(アドレス制御部240内部ではwe_a。以下
同じ),ram_we_b(we_b)が入力された場
合、または、リードイネーブルデコーダ152よりいず
れかのバンクの読み出しを示す信号ram_re_a
(re_a),ram_re_b(re_b)が入力さ
れた場合に、フラグ更新部242から印加される新たな
フラグデータにより更新される。
The RAM use area flag 241 stores a flag indicating whether or not unread data is stored in each address of the dual port RAM 120.
This is a 16-bit register in which one bit corresponds to each address of the dual port RAM 120 for managing the use state of the dual port RAM 120. The RAM use area flag 241 indicates that the write enable decoder 151
Signal ram_w indicating write of any bank
e_a (we_a inside the address control unit 240; the same applies hereinafter), ram_we_b (we_b), or a signal ram_re_a indicating reading of any bank from the read enable decoder 152.
When (re_a) and ram_re_b (re_b) are input, they are updated with new flag data applied from the flag update unit 242.

【0054】フラグ更新部242は、デュアルポートR
AM120に対してデータの書き込みおよび読み出しが
行なわれた場合、すなわち、いずれかのバンクの書き込
みを示す信号ram_we_a(we_a),ram_
we_b(we_b)およびいずれかのバンクの読み出
しを示す信号ram_re_a(re_a),ram_
re_b(re_b)のいずれかが入力された場合に、
RAM使用領域フラグ241の更新データを生成し、R
AM使用領域フラグ241に印加する。
The flag update unit 242 has a dual port R
When data is written to and read from AM 120, that is, signals ram_we_a (we_a), ram_
Wem_b (we_b) and signals ram_re_a (re_a), ram_
When any of re_b (re_b) is input,
Update data of the RAM use area flag 241 is generated, and R
This is applied to the AM use area flag 241.

【0055】書き込みアドレスデコーダ243は、RA
M使用領域フラグ241に記憶されているデュアルポー
トRAM120の記憶領域の使用フラグに基づいて、次
にデータを記憶するアドレスを生成し、バンクA書き込
みアドレス記憶部244、バンクB書き込みアドレス記
憶部245およびネクストポインタ247に出力すると
ともに、アドレス制御部240より出力してデュアルポ
ートRAM120に印加する。なお、バンクAまたはバ
ンクBがエンプティの状態でデュアルポートRAM12
0にデータを記憶した場合には、このアドレスwpは、
ネクストポインタ247は介さずに直接バンクAリード
アドレス選択部248またはバンクBリードアドレス選
択部250に入力され、データの読み出しに用いられ
る。
The write address decoder 243 has the RA
Based on the use flag of the storage area of the dual port RAM 120 stored in the M use area flag 241, an address for storing the next data is generated, and the bank A write address storage 244, the bank B write address storage 245, Output to the next pointer 247 and output from the address control unit 240 to apply to the dual port RAM 120. Note that when the bank A or the bank B is empty, the dual port RAM 12
When data is stored in 0, this address wp is
The next pointer 247 is directly input to the bank A read address selection unit 248 or the bank B read address selection unit 250 without any intervention, and is used for data reading.

【0056】なお、書き込みアドレスデコーダ243
は、この時、デュアルポートRAM120の空き領域の
うち、アドレスの大きい方から順に記憶領域を選択し、
そのアドレスを出力する。また、書き込みアドレスデコ
ーダ243は、RAM使用領域フラグ241に記憶され
ているデュアルポートRAM120の使用フラグに基づ
いて、デュアルポートRAM120の全ての記憶領域に
未だ読み出されていないデータが記憶されているか否
か、すなわち、デュアルポートRAM120がフルであ
るか否かを検出し、フルである場合にはフル信号ful
lを出力する。
The write address decoder 243
At this time, among the empty areas of the dual port RAM 120, the storage areas are selected in order from the one with the largest address,
Output the address. Further, the write address decoder 243 determines whether or not unread data has been stored in all storage areas of the dual port RAM 120 based on the use flag of the dual port RAM 120 stored in the RAM use area flag 241. That is, whether the dual port RAM 120 is full or not is detected.
Output l.

【0057】バンクA書き込みアドレス記憶部244
は、バンクAの最後にデータを書き込んだデュアルポー
トRAM120のアドレスを記憶するレジスタである。
バンクA書き込みアドレス記憶部244には、バンクA
への書き込みを示す信号ram_we_a(we_a)
がアクティブになった時の、書き込みアドレスデコーダ
243の出力アドレスが記憶される。
Bank A write address storage section 244
Is a register for storing the address of the dual-port RAM 120 to which data was written at the end of the bank A.
The bank A write address storage unit 244 stores the bank A
Signal ram_we_a (we_a) indicating writing to
Is activated, the output address of the write address decoder 243 is stored.

【0058】バンクB書き込みアドレス記憶部245
は、バンクBの最後にデータを書き込んだデュアルポー
トRAM120のアドレスを記憶するレジスタである。
バンクB書き込みアドレス記憶部245には、バンクB
への書き込みを示す信号ram_we_b(we_b)
がアクティブになった時の、書き込みアドレスデコーダ
243の出力アドレスが記憶される。
Bank B write address storage section 245
Is a register for storing the address of the dual port RAM 120 to which data was written at the end of the bank B.
The bank B write address storage unit 245 stores the bank B
Signal ram_we_b (we_b) indicating writing to
Is activated, the output address of the write address decoder 243 is stored.

【0059】セレクタ246は、データが書き込まれる
バンクに応じて、バンクA書き込みアドレス記憶部24
4またはバンクB書き込みアドレス記憶部245に記憶
されているアドレスを選択し、ネクストポインタ247
に印加する。
The selector 246 operates in accordance with the bank to which data is to be written.
4 or the address stored in the bank B write address storage section 245 is selected, and the next pointer 247 is selected.
Is applied.

【0060】ネクストポインタ247は、各バンクごと
のデータの順序を記憶するレジスタである。ネクストポ
インタ247は、デュアルポートRAM120と同じ1
6ワードのアドレス空間を有し、各ワード4ビットのレ
ジスタファイルである。そして、ネクストポインタ24
7は、新たなデータがデュアルポートRAM120に書
き込まれるごとに、セレクタ246により選択され印加
されるアドレスに、書き込みアドレスデコーダ243よ
り出力されるアドレスを記憶する。これにより、新たな
データがデュアルポートRAM120に書き込まれるご
とに、ネクストポインタ247の、そのデータと同じバ
ンクに対して書き込まれたそのデータの前のデータが記
憶されているアドレスに、そのデータが記憶されたアド
レスを記憶することになる。換言すれば、ネクストポイ
ンタ247の各アドレスには、そのアドレスに記憶され
ているデータと同じバンクのデータで、そのデータに続
く次のデータが記憶されているアドレスが記憶されるこ
とになる。
The next pointer 247 is a register for storing the order of data for each bank. The next pointer 247 is the same 1 as the dual port RAM 120.
It has an address space of 6 words and is a register file of 4 bits for each word. Then, the next pointer 24
7 stores the address output from the write address decoder 243 in the address selected and applied by the selector 246 every time new data is written to the dual port RAM 120. Thus, every time new data is written to the dual port RAM 120, the data is stored in the next pointer 247 at the address where the data before the data written to the same bank as the data is stored. The stored address is stored. In other words, each address of the next pointer 247 stores an address in the same bank as the data stored in the address and in which the next data following the data is stored.

【0061】バンクAリードアドレス選択部248は、
ネクストポインタ247の16ワードのデータよりバン
クAのデータを順に選択し、バンクAリードアドレスレ
ジスタ249に出力する。バンクAリードアドレス選択
部248は、バンクAのデータが読み出されるごとに、
自らが選択したアドレスのデータであり、後段のバンク
Aリードアドレスレジスタ249に記憶されているアド
レスのネクストポインタ247のデータを順に選択す
る。
The bank A read address selection section 248
The data of the bank A is sequentially selected from the 16-word data of the next pointer 247 and output to the bank A read address register 249. The bank A read address selection unit 248 outputs the data every time the data of the bank A is read.
It selects the data of the next pointer 247 of the address which is the data of the address selected by itself and is stored in the subsequent bank A read address register 249.

【0062】バンクAリードアドレスレジスタ249
は、バンクAリードアドレス選択部248により選択さ
れたネクストポインタ247のデータ、すなわち、バン
クAのデータとして記憶された次に読み出すデータのア
ドレスram_re_a(re_a)を記憶するレジス
タであり、記憶したアドレスはアドレス制御部240よ
りリードイネーブルデコーダ152に出力される。
Bank A read address register 249
Is a register that stores the data of the next pointer 247 selected by the bank A read address selection unit 248, that is, the address ram_re_a (re_a) of the next read data stored as the data of the bank A. The stored address is The address is output from the address control unit 240 to the read enable decoder 152.

【0063】バンクBリードアドレス選択部250は、
ネクストポインタ247の16ワードのデータよりバン
クBのデータを順に選択し、バンクBリードアドレスレ
ジスタ251に出力する。バンクBリードアドレス選択
部250は、バンクBのデータが読み出されるごとに、
自らが選択したアドレスのデータであり、後段のバンク
Bリードアドレスレジスタ251に記憶されているアド
レスのネクストポインタ247のデータを順に選択す
る。
The bank B read address selection section 250
The bank B data is sequentially selected from the 16-word data of the next pointer 247 and output to the bank B read address register 251. The bank B read address selector 250 reads the bank B data every time
It selects the data of the next pointer 247 of the address which is the data of the address selected by itself and is stored in the subsequent bank B read address register 251 in order.

【0064】バンクBリードアドレスレジスタ251
は、バンクBリードアドレス選択部250により選択さ
れたネクストポインタ247のデータ、すなわち、バン
クBのデータとして記憶された次に読み出すデータのア
ドレスram_re_b(re_b)を記憶するレジス
タであり、記憶したアドレスはアドレス制御部240よ
りリードイネーブルデコーダ152に出力される。
Bank B read address register 251
Is a register that stores the data of the next pointer 247 selected by the bank B read address selection unit 250, that is, the address ram_re_b (re_b) of the next read data stored as the data of the bank B. The stored address is The address is output from the address control unit 240 to the read enable decoder 152.

【0065】バンクAエンプティ検出カウンタ252
は、バンクAの有効データ数をカウントするカウンタで
あり、バンクAへの書き込みを示す信号ram_we_
a(we_a)が入力されるごとにインクリメントさ
れ、バンクAからの読み出しを示す信号ram_re_
a(re_a)が入力されるごとにデクリメントされ
る。そして、このカウンタ値が0の時、バンクAにはデ
ータが記憶されていないものとして、エンプティ信号r
am_empty_a(empty_a)がアクティブ
にされる。
Bank A empty detection counter 252
Is a counter for counting the number of valid data in bank A, and a signal ram_we_ indicating writing to bank A
a (we_a) is incremented each time the signal is input, and a signal ram_re_
It is decremented each time a (re_a) is input. When the counter value is 0, it is determined that no data is stored in the bank A, and the empty signal r
am_empty_a (empty_a) is activated.

【0066】バンクBエンプティ検出カウンタ253
は、バンクBの有効データ数をカウントするカウンタで
あり、バンクBへの書き込みを示す信号ram_we_
b(we_b)が入力されるごとにインクリメントさ
れ、バンクBからの読み出しを示す信号ram_re_
b(re_b)が入力されるごとにデクリメントされ
る。そして、このカウンタ値が0の時、バンクBにはデ
ータが記憶されていないものとして、エンプティ信号r
am_empty_b(empty_b)がアクティブ
にされる。
Bank B empty detection counter 253
Is a counter for counting the number of valid data in bank B, and a signal ram_we_ indicating writing to bank B is provided.
b (we_b) is incremented each time it is input, and a signal ram_re_
It is decremented each time b (re_b) is input. When the counter value is 0, it is determined that no data is stored in the bank B and the empty signal r
am_empty_b (empty_b) is activated.

【0067】次に、このような構成のFIFOメモリ1
00の動作について、図3〜図6を参照して説明する。
まず、図4および図5を参照して、FIFOメモリ10
0におけるアドレスの制御方法を中心として、その動作
を詳細に説明する。
Next, the FIFO memory 1 having such a configuration is described.
The operation of 00 will be described with reference to FIGS.
First, referring to FIG. 4 and FIG.
The operation will be described in detail focusing on the method of controlling the address at 0.

【0068】まず、たとえばバンクA(第1の系統)の
データが記憶される時には、デュアルポートRAM12
0に対して入力データDATAinが印加され、バンク
Aのライトイネーブル信号we_aがアクティブにされ
る。FIFOメモリ100の制御部150のライトイネ
ーブルデコーダ151がこのライトイネーブル信号we
_aを検出し、デュアルポートRAM120に対するラ
イトイネーブル信号ram_weをアクティブにすると
ともに、アドレス制御部240に対してバンクAにデー
タを書き込む旨の信号ram_we_a(we_a)を
入力する。アドレス制御部240からは、既に書き込み
アドレスデコーダ243において空き領域のアドレスが
検出され、デュアルポートRAM120に印加されてい
るので、デュアルポートRAM120においては、この
ライトイネーブルデコーダ151からのライトイネーブ
ル信号ram_weにより、書き込みアドレスデコーダ
243が指示するアドレスwpにデータが記録される。
First, for example, when data of bank A (first system) is stored, dual port RAM 12
Input data DATAin is applied to 0, and the write enable signal we_a of the bank A is activated. The write enable decoder 151 of the control unit 150 of the FIFO memory 100 outputs the write enable signal we.
_A is detected, a write enable signal ram_we for the dual port RAM 120 is activated, and a signal ram_we_a (we_a) for writing data to the bank A is input to the address control unit 240. From the address control unit 240, the address of the empty area has already been detected by the write address decoder 243 and applied to the dual port RAM 120. Therefore, in the dual port RAM 120, the write enable signal ram_we from the write enable decoder 151 Data is recorded at the address wp specified by the write address decoder 243.

【0069】そして、アドレス制御部240において
は、ライトイネーブルデコーダ151より入力されるバ
ンクAにデータを書き込む旨の信号ram_we_a
(we_a)に基づいて、書き込みアドレスwpがバン
クA書き込みアドレス記憶部244に記憶される。ま
た、フラグ更新部242により、RAM使用領域フラグ
241に記憶されているフラグに対して、アドレスwp
のフラグが使用されている状態とされた新たなフラグデ
ータが生成され、これによりRAM使用領域フラグ24
1の内容が更新される。そしてまた、バンクAリードア
ドレス選択部248ではこのアドレスwpが選択され
て、バンクAリードアドレスレジスタ249にバンクA
の先頭データのアドレスとしてセットされる。さらに、
更新されたRAM使用領域フラグ241のフラグデータ
に基づいて、書き込みアドレスデコーダ243が、次に
データの書き込みを行なうアドレスを生成し、新たなア
ドレスwpとして出力する。
In the address control section 240, a signal ram_we_a for writing data to the bank A input from the write enable decoder 151 is output.
The write address wp is stored in the bank A write address storage unit 244 based on (we_a). Further, the flag updating unit 242 adds the address wp to the flag stored in the RAM use area flag 241.
New flag data in which the flag is used is generated.
1 is updated. This address wp is selected in the bank A read address selection section 248, and the bank A read address register
Is set as the address of the first data of further,
Based on the updated flag data of the RAM use area flag 241, the write address decoder 243 generates an address at which data is to be written next, and outputs it as a new address wp.

【0070】次に、たとえばバンクB(第2の系統)の
データが記憶されるとすると、デュアルポートRAM1
20に対して入力データDATAinが印加され、バン
クBのライトイネーブル信号we_bがアクティブにさ
れる。このライトイネーブル信号we_bを、制御部1
50のライトイネーブルデコーダ151が検出し、デュ
アルポートRAM120に対するライトイネーブル信号
ram_weをアクティブにする。これにより、既にア
ドレス制御部240より出力されデュアルポートRAM
120に印加されているアドレスram_wp(wp)
に、入力されたデータが書き込まれる。
Next, assuming that data of bank B (second system) is stored, for example, dual port RAM 1
20, the input data DATAin is applied, and the write enable signal we_b of the bank B is activated. The write enable signal we_b is transmitted to the control unit 1
The 50 write enable decoders 151 detect and activate the write enable signal ram_we for the dual port RAM 120. As a result, the dual port RAM already output from the address control unit 240
Address ram_wp (wp) applied to 120
The input data is written in.

【0071】また、ライトイネーブルデコーダ151か
らアドレス制御部240に対してバンクBにデータを書
き込む旨の信号ram_we_b(we_b)が入力さ
れ、これにより、書き込みアドレスwpがバンクB書き
込みアドレス記憶部245に記憶される。また、フラグ
更新部242により、RAM使用領域フラグ241に記
憶されているフラグに対して、アドレスwpのフラグが
使用されている状態とされた新たなフラグデータが生成
され、これによりRAM使用領域フラグ241の内容が
更新される。そしてまた、バンクBリードアドレス選択
部250ではこのアドレスwpが選択されて、バンクB
リードアドレスレジスタ251にバンクBの先頭データ
のアドレスとしてセットされる。さらに、更新されたR
AM使用領域フラグ241のフラグデータに基づいて、
書き込みアドレスデコーダ243が、次にデータの書き
込みを行なうアドレスを生成し、新たなアドレスwpと
して出力する。
A signal ram_we_b (we_b) for writing data to the bank B is input from the write enable decoder 151 to the address control unit 240, whereby the write address wp is stored in the bank B write address storage unit 245. Is done. In addition, the flag updating unit 242 generates new flag data in which the flag at the address wp is used for the flag stored in the RAM use area flag 241. 241 is updated. This address wp is selected in the bank B read address selection section 250, and the bank B
The address is set in the read address register 251 as the address of the head data of the bank B. In addition, the updated R
Based on the flag data of the AM use area flag 241,
The write address decoder 243 generates an address at which data is to be written next, and outputs it as a new address wp.

【0072】次に、再びバンクAのデータが記憶される
とすると、デュアルポートRAM120に対して入力デ
ータDATAinが印加され、バンクAのライトイネー
ブル信号we_aがアクティブにされる。このライトイ
ネーブル信号we_aをライトイネーブルデコーダ15
1が検出し、デュアルポートRAM120に対するライ
トイネーブル信号ram_weをアクティブにすること
により、アドレス制御部240よりデュアルポートRA
M120に印加されているアドレスram_wp(w
p)に、入力されたデータが書き込まれる。
Next, assuming that data of bank A is stored again, input data DATAin is applied to dual port RAM 120, and write enable signal we_a of bank A is activated. This write enable signal we_a is transmitted to the write enable decoder 15.
1 is detected and the write enable signal ram_we for the dual-port RAM 120 is activated, so that the address control unit 240
The address ram_wp (w
In p), the input data is written.

【0073】そしてこの時、アドレス制御部240にお
いては、入力されるバンクAにデータを書き込む旨の信
号ram_we_a(we_a)に基づいて、セレクタ
246において、バンクA書き込みアドレス記憶部24
4の出力である1回目にバンクAのデータを記録したア
ドレスが選択され、これがネクストポインタ247に印
加され、今回のデータ記録アドレス、すなわち、2回目
のバンクAのデータを記録したアドレスが、この1回目
のデータ記録アドレスに記憶される。その後、1回目の
時あるいはバンクBに対する書き込みの時と同様に、こ
の記録アドレスがバンクA書き込みアドレス記憶部24
4に記録され、フラグ更新部242ではRAM使用領域
フラグ241に記憶されているフラグの内容が更新さ
れ、また、書き込みアドレスデコーダ243では更新さ
れたRAM使用領域フラグ241のフラグデータに基づ
いて新たな書き込みアドレスが生成される。なお、既に
データが蓄積されている状態からの追加のデータの記憶
の際には、バンクAリードアドレスレジスタ249への
書き込みアドレスデコーダ243からのアドレスの書き
込みは行なわれない。
At this time, in the address control section 240, the selector 246 sets the address of the bank A write address storage section 24 in the selector 246 based on the signal ram_we_a (we_a) for writing data to the input bank A.
The address at which the data of bank A was recorded for the first time, which is the output of 4, is selected and applied to the next pointer 247, and the current data recording address, that is, the address at which the data of bank A is recorded for the second time, is selected. It is stored at the first data recording address. Then, as in the first time or when writing to bank B, this recording address is stored in the bank A write address storage unit 24.
4 and the flag updating unit 242 updates the content of the flag stored in the RAM use area flag 241, and the write address decoder 243 updates the content of the flag based on the updated flag data of the RAM use area flag 241. A write address is generated. Note that when additional data is stored from a state where data has already been stored, writing of an address from the write address decoder 243 to the bank A read address register 249 is not performed.

【0074】さて、このようにデータを書き込んだ状態
で、バンクAのデータの読み出しが要求された場合に
は、バンクAのリードイネーブル信号re_aがアクテ
ィブにされる。FIFOメモリ100の制御部150の
リードイネーブルデコーダ152がこのリードイネーブ
ル信号we_aを検出し、デュアルポートRAM120
に対するリードイネーブル信号ram_reをアクティ
ブにするとともに、アドレス制御部240に対してバン
クAのデータを読み出す旨の信号ram_re_a(r
e_a)を入力する。
When reading data from bank A is requested in such a state in which data is written, the read enable signal re_a of bank A is activated. The read enable decoder 152 of the control unit 150 of the FIFO memory 100 detects the read enable signal we_a, and
The signal ram_re_a (r
e_a).

【0075】アドレス制御部240からは、既にバンク
Aリードアドレスレジスタ249およびバンクBリード
アドレスレジスタ251を介して、各バンクの記憶デー
タ先頭アドレスがセレクタ153に出力されている。そ
して、セレクタ153においては、バンクBのリードイ
ネーブル信号re_bがネガティブであることから、バ
ンクAリードアドレスレジスタ249の出力であるバン
クAの先頭アドレスが選択されて、デュアルポートRA
M120に印加される。その結果、デュアルポートRA
M120からは先に記憶したバンクAの先頭データが読
み出され、出力レジスタ140を介してFIFOメモリ
100より出力される。
The address control unit 240 has already output the head address of the stored data of each bank to the selector 153 via the bank A read address register 249 and the bank B read address register 251. Then, in the selector 153, since the read enable signal re_b of the bank B is negative, the head address of the bank A, which is the output of the bank A read address register 249, is selected, and the dual port RA
M120. As a result, dual port RA
The head data of the bank A previously stored is read from M120 and output from the FIFO memory 100 via the output register 140.

【0076】また、アドレス制御部240においては、
リードイネーブルデコーダ152より入力されるバンク
Aのデータを読み出す旨の信号ram_re_a(re
_a)に基づいて、バンクAリードアドレス選択部24
8が、ネクストポインタ247より、バンクAリードア
ドレスレジスタ249に記憶されていた今回データを読
み出したアドレスのデータを選択し、バンクAの次のデ
ータのアドレスとしてバンクAリードアドレスレジスタ
249にセットする。その結果、アドレス制御部240
からは、新たなバンクAの記憶データ先頭アドレスがセ
レクタ153に出力される。さらに、アドレス制御部2
40においては、フラグ更新部242により、RAM使
用領域フラグ241に記憶されているフラグに対して、
アドレスwpのフラグが未使用の状態とされた新たなフ
ラグデータが生成され、これによりRAM使用領域フラ
グ241の内容が更新される。
In the address control section 240,
A signal ram_re_a (re) indicating that data of bank A input from read enable decoder 152 is read.
_A), the bank A read address selection unit 24
8 selects, from the next pointer 247, the data at the address from which the current data stored in the bank A read address register 249 has been read, and sets the selected data at the bank A read address register 249 as the address of the data next to the bank A. As a result, the address control unit 240
Thereafter, the new storage data head address of bank A is output to selector 153. Further, the address control unit 2
In 40, the flag stored in the RAM use area flag 241 by the flag update unit 242 is
New flag data in which the flag at the address wp is in an unused state is generated, and the content of the RAM use area flag 241 is updated accordingly.

【0077】このようにして、以下順次各バンクのデー
タの読み出しおよび書き込みが行なわれる。
In this manner, the reading and writing of data in each bank are performed sequentially.

【0078】最後に、FIFOメモリ100の全体の動
作について図3および図6を参照して説明する。図6
は、FIFOメモリ100の全体の動作を示すタイムチ
ャートであり、(A)FIFOメモリ100の動作クロ
ックCLKを示す図、(B)はFIFOメモリ100へ
の入力データDATAinを示す図、(C)はデュアル
ポートRAM120に印加されているデータFIFOi
nを示す図、(D)はバンクAに対するライトイネーブ
ル信号WE_A、(E)はバンクBに対するライトイネ
ーブル信号WE_B、(F)は全体のエンプティ信号E
MPTY、(G)はフル信号FULL、(H)はプレ・
フル信号PFULL、(I)はプレ・プレ・フル信号P
PFULL、(J)はバンクBに対するリードイネーブ
ル信号、(K)はデュアルポートRAM120からの出
力データFIFOoutである。
Finally, the overall operation of the FIFO memory 100 will be described with reference to FIGS. FIG.
5A is a time chart showing the entire operation of the FIFO memory 100, FIG. 5A is a diagram showing an operation clock CLK of the FIFO memory 100, FIG. 5B is a diagram showing input data DATAin to the FIFO memory 100, and FIG. Data FIFOi applied to dual port RAM 120
(D) is a write enable signal WE_A for bank A, (E) is a write enable signal WE_B for bank B, and (F) is an entire empty signal E.
MPTY, (G) is full signal FULL, (H) is pre-
Full signal PFULL, (I) is pre-pre-full signal P
PFULL, (J) is a read enable signal for bank B, and (K) is output data FIFOout from dual port RAM 120.

【0079】まず、図6(B)に示すようにデータを順
次FIFOメモリ100に入力し、データD0〜D3は
バンクAに記憶し、データD4〜D7はバンクBに記憶
するようにしたい場合、図6(D)および図6(E)に
示すようにバンクAおよびバンクBに対する各ライトイ
ネーブル信号をアクティブにすれば、前述したようにF
IFOメモリ100内で信号処理が行なわれ、所望の形
態でデータが記憶される。そして、図6(F)に示すよ
うにデータD0を記憶した段階でエンプティ信号はネガ
ティブになり、図6(I)に示すようにデータD5まで
の6個のデータを記憶した段階でプレ・プレ・フル信号
PPFULLがアクティブになり、図6(H)に示すよ
うにデータD6までの7個のデータを記憶した段階でプ
レ・フル信号PFULLがアクティブになり、さらに、
図6(G)に示すようにデータD7までの8個のデータ
を記憶した段階でフル信号FULLがアクティブにな
る。
First, as shown in FIG. 6B, data is sequentially input to the FIFO memory 100, data D0 to D3 are stored in bank A, and data D4 to D7 are stored in bank B. As shown in FIG. 6 (D) and FIG. 6 (E), when each write enable signal for bank A and bank B is activated, F
Signal processing is performed in the IFO memory 100, and data is stored in a desired form. When the data D0 is stored as shown in FIG. 6 (F), the empty signal becomes negative, and as shown in FIG. The full signal PPFULL becomes active, and the pre-full signal PFULL becomes active at the stage when seven data up to the data D6 are stored as shown in FIG.
As shown in FIG. 6 (G), the full signal FULL becomes active when eight data up to the data D7 are stored.

【0080】そして、このような状態で、図6(J)に
示すように、バンクBのリードイネーブル信号をアクテ
ィブにすることにより、図6(K)に示すように、デー
タD4以下のバンクBのデータが順次読み出される。
Fそして、データの読み出しとともに、図6(G)に
示すフル信号FULL、図6(H)に示すプレ・フル信
号PFULLおよび図6(I)に示すプレ・プレ・フル
信号PPFULLが各々ネガティブになっていく。FI
FOメモリ100は、このように動作する。
In this state, as shown in FIG. 6 (J), by activating the read enable signal of bank B, as shown in FIG. Are sequentially read.
F, together with the data reading, the full signal FULL shown in FIG. 6G, the pre-full signal PFULL shown in FIG. 6H and the pre-pre-full signal PPFULL shown in FIG. It is becoming. FI
The FO memory 100 operates in this manner.

【0081】このように、本実施の形態のFIFOメモ
リ100においては、1つのデュアルポートRAM12
0を用いて、2つの系統のFIFOを実現することがで
きる。これにより、全く独立したFIFOを2系統備え
る場合に比べて、FIFOのマージンを全体として少な
くすることができ、また、制御回路の一部を共通化する
ことができ、その結果、回路規模を大幅に削減すること
ができる。また、その2つの系統における記憶容量の割
り当ては、入力されるデータに基づいてダイナミックに
決定すればよく予め固定されるものではない。したがっ
て、全体として、よりフレキシブルなバッファを構成す
ることができる。
As described above, in the FIFO memory 100 of the present embodiment, one dual port RAM 12
By using 0, two systems of FIFO can be realized. As a result, compared to a case where two completely independent FIFOs are provided, the FIFO margin can be reduced as a whole, and a part of the control circuit can be shared, resulting in a large circuit scale. Can be reduced. Further, the allocation of storage capacity in the two systems may be determined dynamically based on input data, and is not fixed in advance. Therefore, a more flexible buffer can be configured as a whole.

【0082】そして、このような構成のFIFOメモリ
100を、たとえば前述したような3次元コンピュータ
グラフィックスシステム1の3次元画像生成装置3に適
用することにより、各々が複雑で高速な処理を行なう各
構成部間のデータの転送を、少ない規模の回路で、効率
よく行なうことができ、その結果、効率よく所望の画像
の生成ができる。
By applying the FIFO memory 100 having such a configuration to, for example, the three-dimensional image generating device 3 of the three-dimensional computer graphics system 1 as described above, each of them performs complicated and high-speed processing. Data transfer between the constituent parts can be efficiently performed with a small-scale circuit, and as a result, a desired image can be efficiently generated.

【0083】なお、本発明は前述した実施の形態に限ら
れるものではなく、さらに種々の改変が可能である。た
とえば、本実施の形態においては、2種類(2系統)の
データを処理するFIFOを例示したが、これは2系統
に限られるものではなく、任意の数の系統を処理できる
ようにしてよい。
The present invention is not limited to the above-described embodiment, and various modifications can be made. For example, in the present embodiment, a FIFO for processing two types (two systems) of data has been exemplified, but this is not limited to two systems, and an arbitrary number of systems may be processed.

【0084】また、実際にデータを記憶するメモリは、
デュアルポートRAMに限られるものではなく、シング
ルポートRAMを用いてもよい。その場合には、たとえ
ばシングルポートRAMを2つ具備し、1つのシングル
ポートRAMに対して記憶と読み出しを同時に行わない
ようにデータの記憶および読み出しを制御することによ
り、記憶または読み出しを同時に行えないシングルポー
トRAMを用いて、また動作クロックを早めることな
く、本発明と同様の動作を行なうFIFOメモリを構成
することができる。もちろん、メモリの種類は、シング
ルポートRAM以外の任意のメモリを用いてよい。
The memory for actually storing data is
The invention is not limited to the dual port RAM, and a single port RAM may be used. In that case, for example, two single-port RAMs are provided, and data storage and reading are controlled so that storage and reading are not performed simultaneously on one single-port RAM, so that storage or reading cannot be performed simultaneously. A FIFO memory that performs the same operation as the present invention can be configured using a single-port RAM and without advancing the operation clock. Of course, any type of memory other than the single-port RAM may be used.

【0085】また、本実施の形態においては、FIFO
メモリ100メモリ100の適用例として、3次元画像
生成装置を例示したが、このFIFOメモリ装置は通常
のFIFOメモリとして、任意好適な装置に適用可能で
ある。
In the present embodiment, the FIFO
Memory 100 A three-dimensional image generation device has been illustrated as an application example of the memory 100, but the FIFO memory device can be applied to any suitable device as a normal FIFO memory.

【0086】[0086]

【発明の効果】以上説明したように、本発明によれば、
より小さい回路規模で複数系統のデータに対して適切に
FIFO機能を提供できるデータ記憶装置とその方法を
提供することができる。また、より小さい回路規模で各
処理手段でのデータの転送が適切に行え、これにより所
望の画像処理を効率よく行えるような画像処理装置を提
供することがにできる。
As described above, according to the present invention,
It is possible to provide a data storage device and a method thereof that can appropriately provide a FIFO function for data of a plurality of systems with a smaller circuit scale. In addition, it is possible to provide an image processing apparatus capable of appropriately performing data transfer in each processing unit with a smaller circuit scale and thereby efficiently performing desired image processing.

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

【図1】図1は、本発明の一実施の形態であって、本発
明のメモリ装置を適用する3次元コンピュータグラフィ
ックスシステムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a three-dimensional computer graphics system to which an embodiment of the present invention is applied, to which a memory device of the present invention is applied;

【図2】図2は、図1に示した3次元コンピュータグラ
フィックスシステムの画像メモリおよびその周辺回路を
含むメモリ装置の構成を論理的に示す図である。
FIG. 2 is a diagram logically showing a configuration of a memory device including an image memory and its peripheral circuits of the three-dimensional computer graphics system shown in FIG. 1;

【図3】図3は、図2に示したメモリ装置におけるデー
タの流れを示すのに好適な、メモリ装置のFIFOメモ
リの構成を模式的に示すブロック図である。
FIG. 3 is a block diagram schematically showing a configuration of a FIFO memory of the memory device, which is suitable for showing a flow of data in the memory device shown in FIG. 2;

【図4】図4は、図3に示したFIFOメモリの詳細な
構成を示す回路図である。
FIG. 4 is a circuit diagram showing a detailed configuration of the FIFO memory shown in FIG. 3;

【図5】図5は、図4に示したFIFOメモリのアドレ
ス制御部の構成を示す回路図である。
FIG. 5 is a circuit diagram showing a configuration of an address control unit of the FIFO memory shown in FIG. 4;

【図6】図6は、図3に示したFIFOメモリの全体の
動作を示すタイムチャートである。
FIG. 6 is a time chart illustrating an overall operation of the FIFO memory illustrated in FIG. 3;

【図7】図7は、従来の3次元コンピュータグラフィッ
クスシステムの画像メモリおよびその周辺回路を含むメ
モリ装置の構成を論理的に示す図である。
FIG. 7 is a diagram logically showing a configuration of a memory device including an image memory and its peripheral circuits of a conventional three-dimensional computer graphics system.

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

1…3次元コンピュータグラフィックスシステム、2…
入力部、3…3次元画像生成装置、4…表示装置、32
…ジオメトリ演算部、33…パラメータ演算部、34…
画素発生部、35…テクスチャマッピング部、36…テ
クスチャメモリ、37…メモリインターフェイス、38
…画像メモリ、39…プログラマブル・ディスプレイ制
御部、50…メモリ装置、51…MTXPC、53…信
号処理部、54…第1のRAM、55…第2のRAM、
100…FIFOメモリ、120…デュアルポートRA
M、140…出力レジスタ、150…制御部、151…
ライトイネーブルデコーダ、152…リードイネーブル
デコーダ、153…セレクタ、154…レジスタ、16
0…ライトポインタ部、180…リードポインタ部、2
00…フル信号生成部、220…エンプティ信号生成
部、240…アドレス制御部、241…RAM使用領域
フラグ、242…フラグ更新部、243…書き込みアド
レスデコーダ、244…バンクA書き込みアドレス記憶
部、245…バンクB書き込みアドレス記憶部、246
…セレクタ、247…ネクストポインタ、248…バン
クAリードアドレス選択部、249…バンクAリードア
ドレスレジスタ、250…バンクBリードアドレス選択
部、251…バンクBリードアドレスレジスファ、25
2…バンクAエンプティ検出カウンタ、253…バンク
Bエンプティ検出カウンタ
1. 3D computer graphics system 2.
Input unit, 3 ... three-dimensional image generation device, 4 ... display device, 32
... Geometry calculation unit, 33 ... Parameter calculation unit, 34 ...
Pixel generation unit, 35 texture mapping unit, 36 texture memory, 37 memory interface, 38
... image memory, 39 ... programmable display control unit, 50 ... memory device, 51 ... MTXPC, 53 ... signal processing unit, 54 ... 1st RAM, 55 ... 2nd RAM,
100: FIFO memory, 120: Dual port RA
M, 140 ... output register, 150 ... control unit, 151 ...
Write enable decoder, 152 ... read enable decoder, 153 ... selector, 154 ... register, 16
0: write pointer section, 180: read pointer section, 2
00: full signal generation unit, 220: empty signal generation unit, 240: address control unit, 241: RAM use area flag, 242: flag update unit, 243: write address decoder, 244: bank A write address storage unit, 245 ... Bank B write address storage unit, 246
... Selector, 247 ... Next pointer, 248 ... Bank A read address register, 249 ... Bank A read address register, 250 ... Bank B read address selector, 251 ... Bank B read address register, 25
2 ... Bank A empty detection counter, 253 ... Bank B empty detection counter

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B047 EA01 EA06 EA07 EB02 EB12 5B080 AA13 BA08 CA08 GA22 5C082 AA06 BA12 BA46 BB13 BB25 BB26 BB29 CB01 DA22 DA53 DA87 DA89 EA18 MM04  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B047 EA01 EA06 EA07 EB02 EB12 5B080 AA13 BA08 CA08 GA22 5C082 AA06 BA12 BA46 BB13 BB25 BB26 BB29 CB01 DA22 DA53 DA87 DA89 EA18 MM04

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】入力される複数系統のデータを順に記憶す
るデータ記憶手段と、 前記記憶手段に記憶されたデータの記憶順序を前記系統
ごとに管理する記憶順序管理手段と、 各系統ごとのデータの出力要求に応じて、前記記憶順序
管理手段に管理されている前記系統ごとのデータの記憶
順序に基づいて、当該要求された系統の前記記憶されて
いるデータを前記入力された順に読み出し出力する出力
手段とを有するデータ記憶装置。
1. Data storage means for sequentially storing data of a plurality of input systems, storage order management means for managing the storage order of data stored in the storage means for each of the systems, and data for each of the systems. In response to the output request, the stored data of the requested system is read out and output in the input order based on the storage order of the data for each system managed by the storage order management means. A data storage device having output means.
【請求項2】前記記憶順序管理手段は、前記データ記憶
手段のアドレス空間に対応したアドレス空間を有し、各
アドレスのデータとして、前記データ記憶手段の対応す
るアドレスに記憶されているデータと同一の系統の前記
入力されるデータで、当該アドレスのデータの次に入力
され記憶されたデータが記憶されているアドレスを記憶
するテーブルにより、前記記憶手段に記憶されたデータ
の記憶順序を前記系統ごとに管理する請求項1に記載の
データ記憶装置。
2. The storage order management means has an address space corresponding to the address space of the data storage means, and as the data of each address, the same as the data stored at the corresponding address of the data storage means. In the input data of the system, the storage order of the data stored in the storage unit is determined for each of the systems by a table that stores an address at which the stored data is stored next to the data of the address. The data storage device according to claim 1, wherein the data storage device manages the data.
【請求項3】前記記憶順序管理手段は、 前記データ記憶手段の未だ読み出されていないデータが
記憶されている領域以外の空き領域の任意のアドレス
を、入力されるデータを記憶する記憶アドレスとして生
成する記憶アドレス生成手段と、 前記各系統ごとに、最後に入力され記憶されたデータに
対する前記記憶アドレスを記憶するアドレス記憶手段
と、 前記データ記憶手段のアドレス空間に対応したアドレス
空間を有し、各アドレスのデータとして、前記データ記
憶手段の対応するアドレスに記憶されているデータと同
一の系統の前記入力されるデータで、当該アドレスのデ
ータの次に入力され記憶されたデータが記憶されている
前記データ記憶手段のアドレスを記憶する前記テーブル
と、 入力される任意の系統のデータが前記データ記憶手段の
前記生成された記憶アドレスに記憶された際に、前記テ
ーブルの前記アドレス記憶手段に記憶されているアドレ
スに、前記生成された記憶アドレスを記憶するテーブル
更新手段とを有し、 前記データ記憶手段は、前記記憶アドレス生成手段によ
り生成されたアドレスに、前記入力される任意の系統の
データを記憶する請求項2に記載のデータ記憶装置。
3. The storage order management means according to claim 1, wherein an arbitrary address in a free area of said data storage means other than an area in which unread data is stored is used as a storage address for storing input data. Storage address generation means for generating, an address storage means for storing the storage address for the last input and stored data for each of the systems, and an address space corresponding to an address space of the data storage means, As the data of each address, the input data of the same system as the data stored in the corresponding address of the data storage means is stored next to the data of the address. The table for storing the address of the data storage means; Means for storing the generated storage address at an address stored in the address storage means of the table when stored at the generated storage address of the means; and 3. The data storage device according to claim 2, wherein the means stores the input arbitrary system data at the address generated by the storage address generation means.
【請求項4】前記記憶アドレス生成手段は、 前記データ記憶手段の各アドレスごとの当該アドレスに
未だ読み出されていないデータが記憶されているか否か
を示すフラグを記憶するフラグ記憶手段と、 前記記憶されているフラグに基づいて、前記データ記憶
手段の前記空き領域を検出し、当該空き領域のいずれか
1の領域のアドレスを前記記憶アドレスとして選択する
記憶アドレス選択手段と、 新たに入力されるデータの記憶および前記出力手段によ
る記憶されたデータの読み出しに基づいて、前記フラグ
を更新するフラグ更新手段とを有する請求項3に記載の
データ記憶装置。
4. The storage address generation means, comprising: a flag storage means for storing, for each address of the data storage means, a flag indicating whether or not unread data is stored at the address; A storage address selecting unit for detecting the empty region of the data storage unit based on the stored flag and selecting an address of any one of the empty regions as the storage address; 4. The data storage device according to claim 3, further comprising: a flag updating unit that updates the flag based on data storage and reading of the stored data by the output unit.
【請求項5】前記出力手段は、 前記各系統ごとに、前記データ記憶手段より最後にデー
タを読み出したアドレスの、前記テーブルに記憶されて
いる前記記憶アドレスを、読み出しアドレスとして記憶
する読み出しアドレス記憶手段と、 任意の前記系統のデータの出力要求があった場合に、前
記データ記憶手段の前記読み出しアドレス記憶手段に記
憶されている当該系統の前記読み出しアドレスのデータ
を読み出し出力するデータ読み出し手段と、 を有する請求項4に記載のデータ記憶装置。
5. A read address storage for storing, as a read address, the storage address of the last address from which data was read from the data storage means for each of the systems as a read address. Means, when there is a request to output data of any of the systems, data reading means for reading and outputting data of the read address of the system stored in the read address storage means of the data storage means, The data storage device according to claim 4, comprising:
【請求項6】前記データ記憶手段、前記記憶順序管理手
段および前記出力手段は、半導体集積回路として構成さ
れている請求項1に記載のデータ記憶装置。
6. The data storage device according to claim 1, wherein said data storage means, said storage order management means and said output means are configured as a semiconductor integrated circuit.
【請求項7】前記データ記憶手段は、データの記憶と読
み出しを同サイクル中に行うことができるデュアルポー
トメモリを有する請求項6に記載のデータ記憶装置。
7. The data storage device according to claim 6, wherein said data storage means has a dual port memory capable of storing and reading data in the same cycle.
【請求項8】入力される複数系統のデータをメモリに記
憶し、 前記記憶されたデータの記憶順序を前記系統ごとに管理
し、 各系統ごとのデータの出力要求に応じて、前記管理され
ている前記系統ごとのデータの記憶順序に基づいて、当
該要求された系統の前記記憶されているデータを前記入
力された順に読み出し出力するデータ記憶方法。
8. A memory for storing input data of a plurality of systems in a memory, managing the storage order of the stored data for each of the systems, and controlling the storage order in response to a data output request for each system. A data storage method for reading and outputting the stored data of the requested system in the input order based on the storage order of the data for each system.
【請求項9】前記データを記憶する前記メモリのアドレ
ス空間に対応したアドレス空間を有し、各アドレスのデ
ータとして、前記メモリの当該アドレスに記憶されてい
るデータと同一の系統の前記入力されるデータで、当該
アドレスのデータの次に入力され前記メモリに記憶され
たデータの前記メモリ上のアドレスを記憶するテーブル
により、前記記憶されたデータの記憶順序を前記系統ご
とに管理する請求項8に記載のデータ記憶方法。
9. An address space corresponding to an address space of the memory for storing the data, wherein the data of each address is inputted in the same system as the data stored at the address of the memory. 9. The data according to claim 8, wherein the storage order of the stored data is managed for each system by a table that stores an address on the memory of data that is input next to the data of the address and stored in the memory. Data storage method as described.
【請求項10】前記各系統ごとに、最後に入力され記憶
されたデータに対する前記記憶アドレスを記憶してお
き、 任意の系統のデータが入力された場合に、前記メモリの
未だ読み出されていないデータが記憶されている領域以
外の空き領域の任意のアドレスを、入力されるデータを
記憶する記憶アドレスとして生成し、 当該入力されるデータが前記メモリの前記生成された記
憶アドレスに記憶された際に、前記テーブルの、前記記
憶されている当該系統の最後に入力され記憶されたデー
タに対する記憶アドレスに、当該生成された記憶アドレ
スを記憶する請求項9に記載のデータ記憶方法。
10. The storage address for the last input and stored data is stored for each of the systems, and when data of an arbitrary system is input, the data has not yet been read from the memory. When an arbitrary address in a free area other than an area where data is stored is generated as a storage address for storing input data, and when the input data is stored in the generated storage address of the memory, 10. The data storage method according to claim 9, wherein the generated storage address is stored in a storage address for the last input and stored data of the stored system in the table.
【請求項11】前記記憶アドレスの生成は、 前記メモリの各アドレスに未だ読み出されていないデー
タが記憶されているか否かを示すフラグを設定してお
き、 前記記憶されているフラグに基づいて前記メモリの前記
空き領域を検出し、 当該空き領域のいずれか1の領域のアドレスを前記記憶
アドレスとして選択することにより行なう請求項10に
記載のデータ記憶方法。
11. The method according to claim 11, wherein the generation of the storage address sets a flag indicating whether or not unread data is stored in each address of the memory, and based on the stored flag. 11. The data storage method according to claim 10, wherein the data storage method is performed by detecting the free area of the memory and selecting an address of any one of the free areas as the storage address.
【請求項12】前記データの読み出しは、 前記各系統ごとに、前記メモリより最後にデータを読み
出したアドレスの、前記テーブルに記憶されている前記
記憶アドレスを、読み出しアドレスとして記憶してお
き、 任意の前記系統のデータの出力要求があった場合に、前
記記憶されている当該系統の前記読み出しアドレスのデ
ータを読み出し出力することにより行なう請求項11に
記載のデータ記憶方法。
12. The method of reading data, wherein, for each of the systems, the storage address of the address from which the data was last read from the memory and stored in the table is stored as a read address. 12. The data storage method according to claim 11, wherein when there is a data output request of said system, said stored data of said read address of said system is read and output.
【請求項13】任意の表示用画像データを生成する画像
生成手段と、 前記生成された表示用画像データを記憶する画像メモリ
と、 前記記憶された表示用画像データより所望の領域のデー
タを読み出し表示用画面データとして出力する出力手段
とを有し、 前記画像メモリは、 入力される複数系統のデータを順に記憶するデータ記憶
手段と、 前記記憶手段に記憶されたデータの記憶順序を前記系統
ごとに管理する記憶順序管理手段と、 各系統ごとのデータの出力要求に応じて、前記記憶順序
管理手段に管理されている前記系統ごとのデータの記憶
順序に基づいて、当該要求された系統の前記記憶されて
いるデータを前記入力された順に読み出し出力する出力
手段とを有する画像処理装置。
13. An image generating means for generating arbitrary display image data, an image memory for storing the generated display image data, and reading data of a desired area from the stored display image data. Output means for outputting as display screen data, the image memory comprising: a data storage means for sequentially storing data of a plurality of input systems; and a storage order of the data stored in the storage means for each of the systems. A storage order management unit that manages the data for each system, and in response to a data output request for each system, based on the storage order of the data for each system managed by the storage order management unit, Output means for reading out and outputting stored data in the order of input.
【請求項14】前記画像生成手段は、 任意の3次元立体モデルが、少なくとも3次元位置情報
を有する頂点によって示される基本多角形の集合として
示されている3次元画像データの、当該基本多角形の前
記頂点に対して所定の座標変換を行う座標変換手段と、 前記基本多角形の頂点のデータに基づいて、当該基本多
角形の画素データを生成する画素データ生成手段と、 前記生成された画素データに対して、所望のテクスチャ
パタンを用いてテクスチャマッピングし、表示用3次元
画像データを前記表示用画像データとして生成するテク
スチャマッピング手段とを有する請求項13に記載の画
像処理装置。
14. The basic polygon of three-dimensional image data in which an arbitrary three-dimensional solid model is represented as a set of basic polygons indicated by vertices having at least three-dimensional position information. Coordinate conversion means for performing predetermined coordinate conversion on the vertices, pixel data generation means for generating pixel data of the basic polygon based on data of vertices of the basic polygon, and the generated pixel The image processing apparatus according to claim 13, further comprising a texture mapping unit configured to perform texture mapping on the data using a desired texture pattern and generate display three-dimensional image data as the display image data.
【請求項15】前記記憶順序管理手段は、前記データ記
憶手段のアドレス空間に対応したアドレス空間を有し、
各アドレスのデータとして、前記データ記憶手段の対応
するアドレスに記憶されているデータと同一の系統の前
記入力されるデータで、当該アドレスのデータの次に入
力され記憶されたデータが記憶されているアドレスを記
憶するテーブルにより、前記記憶手段に記憶されたデー
タの記憶順序を前記系統ごとに管理する請求項13に記
載の画像処理装置。
15. The storage order management means has an address space corresponding to an address space of the data storage means,
As the data of each address, the input data of the same system as the data stored in the corresponding address of the data storage means is stored next to the data of the address. 14. The image processing apparatus according to claim 13, wherein a storage order of the data stored in the storage unit is managed for each system by a table storing addresses.
【請求項16】前記記憶順序管理手段は、 前記データ記憶手段の未だ読み出されていないデータが
記憶されている領域以外の空き領域の任意のアドレス
を、入力されるデータを記憶する記憶アドレスとして生
成する記憶アドレス生成手段と、 前記各系統ごとに、最後に入力され記憶されたデータに
対する前記記憶アドレスを記憶するアドレス記憶手段
と、 前記データ記憶手段のアドレス空間に対応したアドレス
空間を有し、各アドレスのデータとして、前記データ記
憶手段の対応するアドレスに記憶されているデータと同
一の系統の前記入力されるデータで、当該アドレスのデ
ータの次に入力され記憶されたデータが記憶されている
前記データ記憶手段のアドレスを記憶する前記テーブル
と、 入力される任意の系統のデータが前記データ記憶手段の
前記生成された記憶アドレスに記憶された際に、前記テ
ーブルの前記アドレス記憶手段に記憶されているアドレ
スに、前記生成された記憶アドレスを記憶するテーブル
更新手段とを有し、 前記データ記憶手段は、前記記憶アドレス生成手段によ
り生成されたアドレスに、前記入力される任意の系統の
データを記憶する請求項15に記載の画像処理装置。
16. The storage order management means may use an arbitrary address of a free area other than an area of the data storage means in which unread data is stored as a storage address for storing input data. Storage address generation means for generating, an address storage means for storing the storage address for the last input and stored data for each of the systems, and an address space corresponding to an address space of the data storage means, As the data of each address, the input data of the same system as the data stored in the corresponding address of the data storage means is stored next to the data of the address. The table for storing the address of the data storage means; Table updating means for storing the generated storage address at an address stored in the address storage means of the table when stored at the generated storage address of the storage means; The image processing apparatus according to claim 15, wherein the storage unit stores the input arbitrary system data at the address generated by the storage address generation unit.
【請求項17】前記記憶アドレス生成手段は、 前記データ記憶手段の各アドレスごとの当該アドレスに
未だ読み出されていないデータが記憶されているか否か
を示すフラグを記憶するフラグ記憶手段と、 前記記憶されているフラグに基づいて、前記データ記憶
手段の前記空き領域を検出し、当該空き領域のいずれか
1の領域のアドレスを前記記憶アドレスとして選択する
記憶アドレス選択手段と、 新たに入力されるデータの記憶および前記出力手段によ
る記憶されたデータの読み出しに基づいて、前記フラグ
を更新するフラグ更新手段とを有する請求項16に記載
の画像処理装置。
17. The storage address generation means, comprising: a flag storage means for storing, for each address of the data storage means, a flag indicating whether or not unread data is stored at the address; A storage address selecting unit for detecting the empty region of the data storage unit based on the stored flag and selecting an address of any one of the empty regions as the storage address; 17. The image processing apparatus according to claim 16, further comprising: a flag updating unit that updates the flag based on storage of data and reading of the stored data by the output unit.
【請求項18】前記出力手段は、 前記各系統ごとに、前記データ記憶手段より最後にデー
タを読み出したアドレスの、前記テーブルに記憶されて
いる前記記憶アドレスを、読み出しアドレスとして記憶
する読み出しアドレス記憶手段と、 任意の前記系統のデータの出力要求があった場合に、前
記データ記憶手段の前記読み出しアドレス記憶手段に記
憶されている当該系統の前記読み出しアドレスのデータ
を読み出し出力するデータ読み出し手段と、 を有する請求項17に記載の画像処理装置。
18. A read address storage for storing, as a read address, the storage address stored in the table, of the address from which the data was last read from the data storage means, for each of the systems. Means, when there is a request to output data of any of the systems, data reading means for reading and outputting data of the read address of the system stored in the read address storage means of the data storage means, The image processing device according to claim 17, further comprising:
【請求項19】前記データ記憶手段、前記記憶順序管理
手段および前記出力手段は、半導体集積回路として構成
されている請求項13に記載の画像処理装置。
19. The image processing apparatus according to claim 13, wherein said data storage means, said storage order management means and said output means are configured as a semiconductor integrated circuit.
【請求項20】前記データ記憶手段は、データの記憶と
読み出しを同サイクル中に行うことができるデュアルポ
ートメモリを有する請求項19に記載の画像処理装置。
20. The image processing apparatus according to claim 19, wherein said data storage means has a dual port memory capable of storing and reading data in the same cycle.
JP2000021836A 2000-01-26 2000-01-26 Data storage apparatus and method and image processing apparatus Expired - Fee Related JP4482996B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000021836A JP4482996B2 (en) 2000-01-26 2000-01-26 Data storage apparatus and method and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000021836A JP4482996B2 (en) 2000-01-26 2000-01-26 Data storage apparatus and method and image processing apparatus

Publications (2)

Publication Number Publication Date
JP2001209811A true JP2001209811A (en) 2001-08-03
JP4482996B2 JP4482996B2 (en) 2010-06-16

Family

ID=18548197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000021836A Expired - Fee Related JP4482996B2 (en) 2000-01-26 2000-01-26 Data storage apparatus and method and image processing apparatus

Country Status (1)

Country Link
JP (1) JP4482996B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7768521B2 (en) 2006-03-17 2010-08-03 Sony Corporation Image processing apparatus and image processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7768521B2 (en) 2006-03-17 2010-08-03 Sony Corporation Image processing apparatus and image processing method

Also Published As

Publication number Publication date
JP4482996B2 (en) 2010-06-16

Similar Documents

Publication Publication Date Title
JP3645024B2 (en) Drawing apparatus and drawing method
WO1996017325A1 (en) Apparatus and method for image synthesizing
US5949421A (en) Method and system for efficient register sorting for three dimensional graphics
US6219062B1 (en) Three-dimensional graphic display device
TWI395152B (en) A graphics processing unit and a method of processing border color information
KR100243179B1 (en) Method and apparatus for processing signal of graphic system
JPH07182526A (en) Display method of graphics display device
US7053902B1 (en) Image processing apparatus and method of processing images that stops operation of pixel processing circuits when pixel data to be processed is not needed
JP3903557B2 (en) Data conversion apparatus and image generation apparatus
EP1288863B1 (en) Method and device for drawing
JP2003323339A (en) Memory access device, semiconductor device, memory access control method, computer program and recording medium
JP4482996B2 (en) Data storage apparatus and method and image processing apparatus
US5895502A (en) Data writing and reading method for a frame memory having a plurality of memory portions each having a plurality of banks
US6476818B1 (en) Storage circuit control device and graphic computation device
JP3548648B2 (en) Drawing apparatus and drawing method
JP3971448B2 (en) Drawing apparatus and drawing method
JP3741053B2 (en) Image processing device
US6985153B2 (en) Sample request mechanism for supplying a filtering engine
US5946003A (en) Method and apparatus for increasing object read-back performance in a rasterizer machine
KR100252649B1 (en) 3d graphic controller
JP2899838B2 (en) Storage device
JP3934111B2 (en) Drawing apparatus and drawing method
JP4408152B2 (en) Texture mapping method and texture mapping apparatus
JP3330841B2 (en) Three-dimensional image generation method and apparatus
US6489967B1 (en) Image formation apparatus and image formation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100302

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100315

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees