Graphic translate engine, floating point arithmetic unit and...

Computer graphics processing and selective visual display system – Computer graphics display memory system – Memory partitioning

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S538000

Reexamination Certificate

active

06388672

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field to Which the Invention Belongs
The present invention relates to a graphic translate engine and particularly relates to a graphic translate engine for performing geometrical processing used in computer graphic processing, etc.
The present invention also relates to a floating point multiply-add calculation unit and particularly relates to a floating point multiply-add calculation unit capable of performing processing about a continuous multiply-accumulation operation in a dependent relation at high speed.
2. Prior Art
Recently, computer graphics (CG) have become very important by a rapid spread of multimedia, thoroughness of WYSWYG(What You See What You Get), spreads of a high grade GUI (Graphic User Interface) and a TV game using graphic, etc. In particular, requirements for three-dimensional computer graphics (3D-CG) as an application used in a high performance processor, especially requirements for a moving image of a high quality have been increased by a rapid spread of personal computers to homes, spread of a TV game machine. It is necessary to process one frame for {fraction (1/30)} to {fraction (1/60)} second so as to process the moving image. Accordingly, a large computing amount and computing ability are required in this processing.
Graphic processing using a computer is mainly divided into two phases, namely, geometrical processing and rendering processing. In the geometrical processing, processing for generating an image displayed on a CRT is geometrically performed by a coordinate transformation such as a movement of modeled data themselves, a movement conformed to a view point, etc. and projection. In the rendering processing, an image is really drawn on the CRT. A matrix calculation and a vector calculation are made in the geometrical processing as a phase for performing transformation processing of a geometrical graphic model such as a coordinate transformation, a view point transformation, etc. and light irradiating processing. Therefore, the calculation of an inner product is used in many cases. The coordinate transformation is variously introduced in detail in literatures of computer graphics.
FIG. 1
shows the construction of a typical graphic translate engine (GTE). The GTE is constructed by an arithmetic unit section
801
, a register file
802
, an input output interface
804
, etc. The arithmetic unit
20
section
801
is a data path for making a matrix calculation and is constructed by an adder-subtracter, a multiplier, a divider, a square root extracting arithmetic unit, etc. The input output interface
804
is an interface of an external memory unit, and the register file
802
and the arithmetic unit
801
.
1: Data Transfer
Data of 3D computer graphics depend on modeling, but are generally treated as a set of independent triangles. Three vertexes of an independent triangle are represented by homogeneous coordinates and are stored to the external memory unit.
No memory unit having a large capacity is mounted to the interior of the conventional graphic translate engine in many cases. Therefore, graphic data are read from the external memory unit and are sent to a data path such as an arithmetic unit, a register file, etc. through a FIFO, etc. In this method, a fluctuation of a data transfer speed caused by a latency of a bus, an access speed of the memory unit, etc. is hidden by using the FIFO as a buffer for an input or an output. However, this fluctuation is rate-determined by the access speed of the memory unit and a responsive speed of the bus so that no sufficient transfer band width can be secured.
In contrast to this, there is a system in which an internal memory unit is mounted to a certain extent and data are taken in at a high speed and a calculation is made by a DMA (Direct Memory Access) system. In an arithmetic unit of such a system, the internal memory unit is adapted to be accessed by the external memory unit, an internal arithmetic unit and a register file. Therefore, it is difficult to execute data transfer and an arithmetic operation in parallel with each other. Accordingly, two phase processings of data transfer and data processing are alternately performed so that no processings can be efficiently executed as a pipeline. Data are transferred at a high speed by the DMA, but no entire processing can be sufficiently performed at a high speed.
It is considered that the transfer and arithmetic operations are executed in parallel with each other by a similar construction and a memory unit having plural ports is mounted to increase processing efficiency. However, in this case, control greatly becomes complicated in mediation of an access conflict to the same memory unit, etc., and cost of the memory unit is also increased. Accordingly, no memory unit having a large capacity capable of obtaining sufficient processing performance can be mounted to the graphic translate engine.
2: Transformation Processing
Here, an example of a simple perspective transformation is shown before a conventional example is shown. The perspective transformation is a transformation for projecting a three-dimensional graphic model onto two dimensions in consideration of perspective. Assuming that an input (x, y, z, 1) is a vertex coordinate to be transformed, the perspective transformation is performed on the basis of the following formulas (1) to (3), and X and Y coordinates on a screen are outputted after (X, Y) perspective transformation.
(
x

,
y

,
w

)
=


(
x
,
y
,
z
,
1
)
×
(
a
,
b
,
c
d
,
e
,
f
g
,
h
,
i
j
,
k
,
l
)
=


(
ax
+
dy
+
gz
+
j
,
bx
+
ey
+
hz
+
k
,
cx
+
fy
+
iz
+
1
)
(
1
)

W=
1
/w′
  (2)
(
X, Y
)=(
x′, y′

W
  (3)
Thus, in the perspective transformation, it is necessary to make a multiply-accumulation operation caused by a matrix calculation and further make a divisional calculation by using results of this multiply-accumulation operation. Calculations with respect to respective coordinates of x, y, z and w are approximately the same and are independent of each other so that there are features in that the perspective transformation has high parallel and symmetrical properties with respect to these calculations.
In the typical conventional example of
FIG. 1
, one multiply-add calculation unit and one adder-subtracter unit are mounted. In such a transformation processor, only the above-mentioned arithmetic operations can be sequentially processed by a simple pipeline processing. Accordingly, the features of the high parallel and symmetrical properties with respect to calculations are simply used only in scheduling instructions.
FIG. 2
shows a construction to which the features with respect to calculations are applied. In this construction, a register file and a multiply-add calculation unit are set to correspond to each of coordinates of x, y, z and w so that these calculations can be independently made. Namely, ax+dy+gz+j, bx+ey+hz+k and cx+fy+iz+l in the formula (1) are respectively allocated to first, second and third arithmetic units and are independently calculated. Thus, a high speed arithmetic calculation can be performed in consideration of arithmetic characteristics. However, in such a construction, no calculations of the above formulas (2) and (3) can be efficiently made. It is sufficient to make a divisional calculation once. Accordingly, while the divisional calculation is made, no plural arithmetic units can be effectively utilized. Further, since the divisional calculation has a large latency in comparison with the other arithmetic calculations, no expensive plural arithmetic units can be particularly operated effectively. Accordingly, in such a construction, no sufficient performance corresponding to invested hardware can be obtained.
3: Light Irradiating Processing
Light irradiating processing is performed with respect to an object to obtain an image of a real feeling. In the following example, a color is represented by synthes

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Graphic translate engine, floating point arithmetic unit and... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Graphic translate engine, floating point arithmetic unit and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Graphic translate engine, floating point arithmetic unit and... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2907611

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.