JP3278853B2 - Graphic drawing device - Google Patents

Graphic drawing device

Info

Publication number
JP3278853B2
JP3278853B2 JP00305991A JP305991A JP3278853B2 JP 3278853 B2 JP3278853 B2 JP 3278853B2 JP 00305991 A JP00305991 A JP 00305991A JP 305991 A JP305991 A JP 305991A JP 3278853 B2 JP3278853 B2 JP 3278853B2
Authority
JP
Japan
Prior art keywords
memory
data
processor
processors
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP00305991A
Other languages
Japanese (ja)
Other versions
JPH04241652A (en
Inventor
光郎 大内
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP00305991A priority Critical patent/JP3278853B2/en
Publication of JPH04241652A publication Critical patent/JPH04241652A/en
Application granted granted Critical
Publication of JP3278853B2 publication Critical patent/JP3278853B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Image Generation (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ディスプレイなどの表
示装置に図形や文字などを表示する図形描画装置に関
し、特に複数のプロセッサを同時に動作させて高速化し
た図形描画装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphic drawing apparatus for displaying figures, characters, and the like on a display device such as a display, and more particularly to a graphic drawing apparatus operated at the same time by operating a plurality of processors simultaneously.

【0002】[0002]

【従来の技術】ディスプレイに図形や文字を表示するい
わゆるグラフィックス処理は、パーソナル・コンピュー
タやワードプロセッサの普及に伴って一般的になってお
り、さらにユーザとのマンマシン・インタフェースの重
要な要素として認識され、高機能化、高性能化が進めら
れている。このグラフィックス処理の基本機能は、直線
描画と文字描画であり、これらを高速に処理できるプロ
セッサLSIが多くのメーカから供給されている。
2. Description of the Related Art The so-called graphics processing for displaying graphics and characters on a display has become popular with the spread of personal computers and word processors, and has been recognized as an important element of a man-machine interface with a user. Therefore, higher functionality and higher performance are being promoted. The basic functions of the graphics processing are straight line drawing and character drawing. Processor LSIs capable of processing these at high speed are supplied by many manufacturers.

【0003】従来のプロセッサにおける処理方式は次の
ようになっている。まず、直線描画は1画素ごとの処理
であり、直線上の座標点を発生しこれに対応するメモリ
の実アドレスを算出し、さらにこのアドレスに対応する
メモリからデータをリードし、そのデータを線種データ
(実線,鎖線,一点鎖線などの指定)と論理演算あるい
は算術演算し、もとのアドレスに書き戻す処理が基本と
なる。
The processing method in a conventional processor is as follows. First, the straight line drawing is a process for each pixel, generates a coordinate point on a straight line, calculates an actual address of a memory corresponding to the coordinate point, reads data from the memory corresponding to this address, and writes the data into a line. The basic processing is to perform a logical operation or an arithmetic operation on seed data (designation of a solid line, a chain line, a dashed line, etc.) and write back to the original address.

【0004】直線上の点の座標発生は、ディジタル微分
解析法(以下DDAという)と呼ばれる方式が周知であ
り、ほとんどすべてのプロセッサで採用されている。こ
のDDAについて簡単に説明する。直線を発生する際に
前提となるXY座標平面は、離散的なXY格子点上にメ
モリの各画素が対応した平面であり、新の直線に最も近
い格子点上にデータを書込むことによって直線描画を実
現する。
[0004] A method called digital differential analysis (hereinafter referred to as DDA) for generating coordinates of a point on a straight line is well known, and is employed in almost all processors. This DDA will be described briefly. The XY coordinate plane to be used when generating a straight line is a plane in which each pixel of the memory corresponds to a discrete XY grid point. By writing data on the grid point closest to the new straight line, the straight line is obtained. Realize drawing.

【0005】この近似格子点を正確にかつ簡単に求める
方式がディジタル微分解析法である。この方法によれ
ば、ある直線上の座標を求めた時に、真の直線との誤差
を考慮して次の点の座標を求めることができるので、結
果として長い直線を描画しても最終点は真の直線から離
れることがない。
A method for accurately and easily obtaining the approximate lattice point is a digital differential analysis method. According to this method, when the coordinates on a certain straight line are obtained, the coordinates of the next point can be obtained in consideration of the error from the true straight line. Never leave a true straight line.

【0006】一方、文字描画は矩形領域転送機能によっ
て実現されている。文字は一般にn×n画素のデータで
定義され、この矩形領域の中で文字の部分を“1”、背
景の部分を“0”として文字ごとに用意する。このデー
タは“文字フォント”と呼ばれており、一般には数千文
字分を格納したROMとしてメーカから提供されてい
る。ディスプレイに文字を表示する方法は、このROM
から所望の文字フォントをリードし、メモリ上の所定の
位置に書込むことによって実現される。例えば、640
×400のディスプレイの左上に24×24ドットの文
字を表示するには、文字フォントの最初の24ビットの
データをメモリの第1ラインの最初の24ビットに書込
み、文字フォントの次の24ビットをメモリの第2ライ
ンの最初の24ビットに書込むという操作を24ライン
分行えば良い。この処理を矩形領域転送と呼んでいる。
On the other hand, character drawing is realized by a rectangular area transfer function. A character is generally defined by data of n × n pixels, and a character portion is prepared as “1” and a background portion is set as “0” in the rectangular area for each character. This data is called a "character font" and is generally provided by a manufacturer as a ROM storing several thousand characters. This ROM is used to display characters on the display.
, And a desired character font is read from the memory and written in a predetermined position on the memory. For example, 640
To display a 24 × 24 dot character in the upper left corner of a × 400 display, write the first 24 bits of the character font into the first 24 bits of the first line of memory and write the next 24 bits of the character font. The operation of writing to the first 24 bits of the second line of the memory may be performed for 24 lines. This processing is called rectangular area transfer.

【0007】[0007]

【発明が解決しようとする課題】上述したように直線描
画機能や矩形領域転送機能は、LSI化されているもの
のマンマシン・インタフェースとしてはまだまだ性能が
足りない。これは一般にメモリのアクセス・タイムが性
能ネックの要因となっている。ディスプレイ用のメモリ
としては一般にDRAMが使用されるので、そのサイク
ル・タイムは200ns程度である。
As described above, the straight line drawing function and the rectangular area transfer function are implemented as LSIs, but their performance is still insufficient as a man-machine interface. This is generally due to the memory access time causing a performance bottleneck. Since a DRAM is generally used as a display memory, its cycle time is about 200 ns.

【0008】直線に関しては、一般に書込む先のデータ
をまずリードして、このデータと書込もうとする線種デ
ータ間で論理演算や算術演算をしてから書込むので、2
回のメモリ・アクセスを要する。CADなどの応用やド
キュメント作成アプリケーションなどでは、1画面あた
り10万本の直線(1本あたりの平均長さ=10ドッ
ト)を描画することはよくあることであり、画面のスク
ロールや書直しの度にこのすべての直線を引き直すのが
一般的である。従って、(200ns+200ns)×
10ドット×100000本=400msも時間がかか
ることになる。
For a straight line, data to be written is generally read first, and a logical operation or an arithmetic operation is performed between this data and the line type data to be written.
Times memory access. In applications such as CAD and document creation applications, it is common to draw 100,000 lines per screen (average length per line = 10 dots). It is common to redraw all of these straight lines. Therefore, (200 ns + 200 ns) ×
10 dots x 100000 lines = 400 ms.

【0009】また、文字に関しては、24×24ドット
の文字を16ビットのデータ幅で1000文字転送する
には、文字データのリード、転送先のデータ・リード、
転送先へのデータ・ライトの3回のメモリ・アクセスを
単位とするので、(200ns+200ns+200n
s)×2回/ライン×24ライン×1000文字であ
り、約30msかかる。これは白黒の場合であるが、2
56色のカラーになると、さらに8倍すなわち240m
sもかかってしまう。1000文字とは画面上に表示さ
れる一般的な文字数であり、この画面をスクロールさせ
ようとすると1秒間に4回しかできないため、非常に低
速となる。文字描画に関しては、メモリのバス幅を広げ
ることによってある程度は高速化が可能である。例え
ば、上述した例で32ビット幅を前提とすると性能は単
純に2倍になる。
As for characters, in order to transfer 24.times.24 dots of characters with a data width of 16 bits to 1000 characters, reading of character data, data reading of a transfer destination,
Since three memory accesses of data write to the transfer destination are used as a unit, (200 ns + 200 ns + 200 n
s) × 2 times / line × 24 lines × 1000 characters, which takes about 30 ms. This is the case for black and white, but 2
When it comes to 56 colors, it is 8 times more, ie 240m
It also takes s. The 1000 characters is a general number of characters displayed on the screen, and when scrolling this screen, only four times can be performed per second, which is very slow. Character drawing can be accelerated to some extent by increasing the bus width of the memory. For example, assuming a 32-bit width in the above example, the performance simply doubles.

【0010】以上説明したように、従来の技術では、直
線はメモリのアクセス・ネックに達しており、文字描画
はメモリのバス幅を広げる以外に高速化の方法がなかっ
た。
As described above, in the prior art, the straight line has reached the access bottleneck of the memory, and there has been no method of increasing the speed of character drawing other than increasing the bus width of the memory.

【0011】本発明の目的は、このような問題を解決
し、直線描画,矩形領域転送の両方を高速に処理できる
ようにした図形描画装置を提供することにある。
An object of the present invention is to solve the above-mentioned problem and to provide a graphic drawing apparatus capable of processing both straight line drawing and rectangular area transfer at high speed.

【0012】[0012]

【課題を解決するための手段】本発明の構成は、複数の
プロセッサを同時に動作させてXY情報上で定義された
メモリに図形を描画する図形描画装置において、前記各
プロセッサは、少なくとも直線描画機能と矩形領域転送
機能についてX方向にn画素ごと、Y方向にm画素ごと
に割振られたn×m画素ごとに処理するように動作する
n×m個のプロセッサからなり、前記X方向にn画素ご
と、Y方向にm画素ごとにアクセスされるように割振ら
れ、それぞれ画素情報を記憶するn×m個のメモリ・モ
ジュールと、前記各プロセッサとこれらプロセッサにそ
れぞれ対応する前記各メモリ・モジュールの間を接続す
るメモリ・バスと、前記各プロセッサ間を全て接続する
複数のプロセッサ・バスとを備え、前記各メモリ・バス
と前記各プロセッサ・バスのうちの一つのバスを選択信
号により選択して前記各プロセッサと接続する選択手段
および前記直線描画機能を実行する際には、前記各プロ
セッサ間のデータ転送は行わずに、直線描画を演算する
ように前記選択信号を生成し、前記矩形領域転送機能を
実行する際には、転送元データが格納されているメモリ
に接続されるプロセッサから、転送先データが格納され
ているメモリに接続されるプロセッサに、動的に変更さ
れるプロテッサ・バスを介して転送先データを転送し
前記転送先データを前記転送元データとの間でラスタ演
算をするように、前記選択信号を動的に変更する選択制
御手段をそれぞれ前記各プロセッサごとに備えたことを
特徴とする。
According to the present invention, there is provided a graphic drawing apparatus for drawing a graphic in a memory defined on XY information by simultaneously operating a plurality of processors, wherein each processor has at least a linear drawing function. And n × m processors operable to process each n × m pixel assigned to every n pixels in the X direction and every m pixels in the Y direction for the rectangular area transfer function, and n pixels in the X direction each, allocated to be accessed for each m pixels in the Y direction, and the n × m pieces of memory modules for storing pixel information respectively, wherein each processor and these processors Niso
A memory bus connecting each of the corresponding memory modules ; and a plurality of processor buses connecting all of the processors. one bus and selected by the selection signal when performing the selecting means and the line drawing function connected to said each processor of the data transfer between processors without, calculates the straight line drawing
As described above, when the selection signal is generated and the rectangular area transfer function is performed, the memory in which the transfer source data is stored is stored.
The destination data is stored from the processor connected to
Processor that is connected to the memory
Transfer destination data via the processor bus
Selection control means for dynamically changing the selection signal so as to perform a raster operation on the transfer destination data with the transfer source data is provided for each of the processors.

【0013】[0013]

【作用】本発明における基本的な考え方は、n×m個の
プロセッサを備えてこれらを同時に動作させることによ
って、メモリのサイクル・タイムは同じでも性能を最大
n×m倍にしたものである。すなわち、直線描画の場合
には、DDAの発生を工夫することにより、複数の画素
を同時に処理するようにして、n×m個のプロセッサを
動作させること、矩形領域転送の場合には転送データの
領域を複数のプロセッサに割当て、複数のプロセッサを
同時に動作させることにより、1個のプロセッサのバス
幅のn×m倍のバス幅でデータ転送し、高速な転送速度
を実現したものである。
The basic idea of the present invention is to provide n × m processors and operate them simultaneously, thereby increasing the performance up to n × m times at the same memory cycle time. That is, in the case of the straight line drawing, the n × m processors are operated by simultaneously processing a plurality of pixels by devising the generation of the DDA. In the case of the rectangular area transfer, the transfer data is transferred. By allocating an area to a plurality of processors and operating the plurality of processors simultaneously, data is transferred at a bus width of n × m times the bus width of one processor, thereby realizing a high transfer speed.

【0014】[0014]

【実施例】図1は本発明の第1の実施例のブロック図
で、2×2個、計4個の描画エンジンを使用した図形描
画装置を示す。図において、1〜4は描画エンジン、5
〜8はメモリ、9はプロセッサ、10は表示プロセッ
サ、11はディスプレイ、20はシステム・バス、21
〜24はメモリ・バス、25〜30はプロセッサ・バ
ス、31〜34は表示バスである。
FIG. 1 is a block diagram of a first embodiment of the present invention, and shows a figure drawing apparatus using a total of four (2 × 2) drawing engines. In the figure, 1-4 are drawing engines, 5
8 is a memory, 9 is a processor, 10 is a display processor, 11 is a display, 20 is a system bus, 21
24 to a memory bus, 25 to 30 a processor bus, and 31 to 34 a display bus.

【0015】図2は図1の描画エンジン1〜4のそれぞ
れの内部構成を示したブロック図で、40は矩形領域転
送部、41は直線描画部、42はメモリ・インタフェー
ス、43はスイッチャ、50〜52は内部バスである。
FIG. 2 is a block diagram showing the internal structure of each of the drawing engines 1 to 4 shown in FIG. 1. 40 is a rectangular area transfer unit, 41 is a straight line drawing unit, 42 is a memory interface, 43 is a switcher, 50 Numerals 52 are internal buses.

【0016】まず、図1において、描画に関するパラメ
ータやコマンドがシステム・バス20を介してホストC
PU(図示せず)から入力される。これを受付けてコマ
ンドを解釈し描画エンジン1〜4を動作させるのがプリ
プロセッサ9である。このプリプロセッサ9からの指示
を受けて実際に描画処理を行う4個の描画エンジン1〜
4は、それぞれメモリ・バス21〜24を介してメモリ
5〜8に接続されている。メモリ5〜8に対する描画は
このバス21〜24を介して行う。これらの描画エンジ
ンはプロセッサ・バス25〜30を介して相互に接続さ
れている。
First, in FIG. 1, parameters and commands related to drawing are transmitted to the host C via the system bus 20.
Input from a PU (not shown). The preprocessor 9 receives the command, interprets the command, and operates the drawing engines 1 to 4. Four drawing engines 1 to 1 that actually perform drawing processing in response to an instruction from the preprocessor 9
4 are connected to memories 5 to 8 via memory buses 21 to 24, respectively. Drawing on the memories 5 to 8 is performed via the buses 21 to 24. These drawing engines are interconnected via processor buses 25-30.

【0017】一方、メモリ5〜8はデュアル・ポート・
メモリからなり、ディスプレイ11に表示する表示バス
31〜34をそれぞれ備えており、表示プロセッサ10
の制御により表示データをディスプレイ11に供給する
ようになっている。
On the other hand, memories 5 to 8 are dual port
It comprises a display bus 31 for displaying on a display 11 and comprising a memory.
The display data is supplied to the display 11 by the control of.

【0018】次に、メモリ5〜8の構成を、図3の構成
を用いて説明する。この図は、ディスプレイなどに表示
される画面のどの位置の画素にどのメモリが対応してい
るかを示し、図中の数字はメモリの番号を示す。画面の
最も左上の画素はメモリ5、その右の画素はメモリ6、
その左下はメモリ7、その右はメモリ8のそれぞれ先頭
アドレスに格納されたデータが対応するようになってい
る。そして、画面はこの2×2画素の繰り返しで構成さ
れているので、メモリ5〜8はそれぞれ水平方向、垂直
方向に2画素間隔で画素データを保持していることにな
る。
Next, the configuration of the memories 5 to 8 will be described with reference to the configuration of FIG. This figure shows which memory corresponds to which pixel on a screen displayed on a display or the like, and the numbers in the figure show the numbers of the memories. The top left pixel of the screen is memory 5, the right pixel is memory 6,
The lower left corresponds to the data stored in the head address of the memory 7, and the right corresponds to the data stored in the head address of the memory 8. Since the screen is composed of the repetition of 2 × 2 pixels, the memories 5 to 8 hold pixel data at intervals of two pixels in the horizontal direction and the vertical direction, respectively.

【0019】次に、直線描画の場合の4個の描画エンジ
ン1〜4の動作について説明する。まず、プリプロセッ
サ9は直線の描画開始位置、傾きが45度以上か以下か
を計算する。CPUから与えられるパラメータは直線の
始点終点のXY座標なので、この座標から始点に相当す
る画素を担当する描画エンジンを求め、また始点終点座
標のXY値の差から傾きがX軸に対して45度以上か以
下かを求める。これにより、各描画エンジンのDDAの
初期値が決定する。
Next, the operation of the four drawing engines 1 to 4 in the case of straight line drawing will be described. First, the preprocessor 9 calculates whether the drawing start position of the straight line and the inclination are 45 degrees or more or less. Since the parameters given by the CPU are the XY coordinates of the start point and the end point of the straight line, a drawing engine in charge of the pixel corresponding to the start point is obtained from these coordinates. Find out whether it is above or below. Thereby, the initial value of DDA of each drawing engine is determined.

【0020】各描画エンジンの動作について図4を用い
て説明する。この図は、直線とX軸との傾きが45度以
下の直線の例である。始点座標は(2,2)で傾きは2
/3の直線である。この例のように傾きが1以下、すな
わち45度以下の場合、各描画エンジンは初期値からX
の値を2ずつインクリメントし、そのXに対応するYが
自分の担当する画素に対応する場合は、メモリをアクセ
スし直線を描画する。もしYが自分の画素でない場合、
なにも処理しないでその画素の処理を終了する。
The operation of each drawing engine will be described with reference to FIG. This figure is an example of a straight line in which the inclination between the straight line and the X axis is 45 degrees or less. The starting point coordinates are (2,2) and the slope is 2
/ 3 straight line. When the inclination is 1 or less, that is, 45 degrees or less as in this example, each rendering engine sets X from the initial value.
Is incremented by two, and when Y corresponding to X corresponds to the pixel in charge of itself, the memory is accessed to draw a straight line. If Y is not your pixel,
The processing for the pixel ends without any processing.

【0021】初期座標は、描画エンジン1,3が(2,
2)、描画エンジン2,4が(3,2)である。したが
って、最初の描画サイクルでは、画素Aは描画エンジン
3,画素Bは描画エンジン4により同時に処理される
が、描画エンジン1,2はリードしたデータをそのまま
書き戻すので実質的に処理しないことになる。この処理
を直線の長さの2分の1回だけ繰返すが、この繰返し回
数は予め各描画エンジンごとに設定する。
The initial coordinates are determined by the drawing engines 1 and 3 as (2,
2) The drawing engines 2 and 4 are (3, 2). Therefore, in the first drawing cycle, the pixel A is processed by the drawing engine 3 and the pixel B is processed by the drawing engine 4 at the same time, but the drawing engines 1 and 2 write back the read data as they are, so that they are not processed substantially. . This process is repeated only one half of the length of the straight line, and the number of repetitions is set in advance for each drawing engine.

【0022】したがって、直線長が奇数であれば、ある
描画エンジンは「直線長+1の2分の1」回、別の描画
エンジンは「直線長−1の2分の1」回だけ上述した処
理を繰返すことになる。引続き画素C,Dは描画エンジ
ン1,4によってそれぞれ同時に処理され、さらに次の
描画サイクルでは画素EとFが描画エンジン3,2によ
って同時処理される。
Therefore, if the straight line length is an odd number, a certain drawing engine performs the above-described processing by "one half of the straight line length + 1" times and another drawing engine by "one half of the straight line length-1" times. Will be repeated. Subsequently, the pixels C and D are simultaneously processed by the drawing engines 1 and 4, respectively. In the next drawing cycle, the pixels E and F are simultaneously processed by the drawing engines 3 and 2.

【0023】逆に、X軸との傾きが45度以上の場合、
各描画エンジンはYを2ずつインクリメントし、そのY
に対応するXを求め、それが自分が担当する画素である
場合についてだけ描画処理を行う。このように4個の描
画エンジンを同時に動作させことにより、1個の描画エ
ンジンだけを動作させる場合に比べて、2倍の性能を実
現することができる。つまり、傾きが45度以下の場
合、X方向に並んでいる描画エンジンの個数、傾きが4
5度以上の場合はY方向に並んでいる描画エンジンの個
数が同時に動作できる数であり、この個数に比例して描
画速度が向上する。
Conversely, when the inclination with respect to the X axis is 45 degrees or more,
Each drawing engine increments Y by 2 and the Y
Is obtained, and rendering processing is performed only when the pixel is in charge of itself. By operating the four drawing engines at the same time, it is possible to realize twice the performance as compared with the case where only one drawing engine is operated. That is, when the inclination is 45 degrees or less, the number of rendering engines arranged in the X direction and the inclination are 4
In the case of 5 degrees or more, the number of drawing engines arranged in the Y direction is the number that can be operated simultaneously, and the drawing speed is improved in proportion to this number.

【0024】次に、ハードウェア動作について図1,図
2を用いて説明する。直線描画の場合は、内部的には、
スイッチャ43は内部バス52と内部バス51を常時接
続するので、直線描画部41は常にメモリ5に接続され
ることになる。つまり、各描画エンジンは自分の担当す
る画素だけを処理対象にしているので、他の描画エンジ
ンに接続されるメモリをアクセスすることがない。
Next, the hardware operation will be described with reference to FIGS. In the case of straight line drawing, internally
Since the switcher 43 always connects the internal bus 52 and the internal bus 51, the straight line drawing unit 41 is always connected to the memory 5. That is, since each rendering engine processes only its assigned pixel, it does not access a memory connected to another rendering engine.

【0025】描画エンジン1〜4はそれぞれメモリ5〜
8に接続され、それぞれのメモリに対してアドレスを発
生し、メモリ・バス21〜24を介してデータを入力
し、各描画エンジン内ではメモリ・インターフェース4
2、内部バス52、スイッチャ43、内部バス51を介
して直線描画部内で線種データと演算し、その結果を逆
の経路でメモリ5〜8にライトするのである。
The drawing engines 1 to 4 have memories 5 to 5, respectively.
8 for generating an address for each memory, inputting data through the memory buses 21 to 24, and in each drawing engine, a memory interface 4
2. Operation is performed on the line type data in the straight line drawing unit via the internal bus 52, the switcher 43, and the internal bus 51, and the result is written to the memories 5 to 8 by the reverse route.

【0026】次に、文字描画の動作について説明する
が、文字描画は矩形領域転送によって実現するので、こ
の機能について説明する。
Next, the character drawing operation will be described. Since character drawing is realized by transferring a rectangular area, this function will be described.

【0027】各描画エンジンがアクセスするメモリは、
転送元領域、および転送先領域である。各描画エンジン
は自分の担当するメモリ上の転送元領域のデータをリー
ドする。この瞬間に2×2画素分のデータがメモリ5〜
8からリードされたことになる。このデータを転送先領
域を担当している描画エンジンに送るが、転送元と転送
先の領域の組合せは、図5のように16通りである。
The memory accessed by each drawing engine is:
The source area and the destination area. Each drawing engine reads the data of the transfer source area on the memory in charge of the drawing engine. At this moment, 2 × 2 pixels of data are stored in memory 5
That's the lead from 8. This data is sent to the drawing engine that is in charge of the transfer destination area. There are 16 combinations of the transfer source and transfer destination areas as shown in FIG.

【0028】つまり、図中の数字はメモリの番号であ
り、転送元領域の左上の4画素を考えたとき、画素位置
によって(1)〜(4)の4通りのメモリ配置があり、
また転送先は転送元とは独立に(1)〜(4)の4通り
のメモリ配置がありうるので合計16通りの組合せがあ
る。CPUから入力した転送元,転送先の先頭座標によ
ってこの組合せのち1つを予め選択することができる。
この選択にしたがって、各描画エンジンのスイッチャ4
3がメモリと矩形領域転送部のバスを接続することにな
る。
That is, the numbers in the figure are the numbers of the memories, and when considering the upper left four pixels of the source area, there are four types of memory arrangements (1) to (4) depending on the pixel positions.
The transfer destination can have four types of memory arrangements (1) to (4) independently of the transfer source, so that there are a total of 16 combinations. One of the combinations can be selected in advance according to the leading coordinates of the transfer source and the transfer destination input from the CPU.
According to this selection, the switcher 4 of each drawing engine
3 connects the memory and the bus of the rectangular area transfer unit.

【0029】矩形領域転送を行う場合、転送元データと
転送先データ間でラスタ演算と呼ばれる演算を施し、演
算結果を転送先に書込むようになっている。従って、各
描画エンジンの処理の手順は、転送元からデータをリー
ドするためのアドレスの発生、続いてスイッチャを介し
て入力される転送元データを矩形領域転送部内のレジス
タに保持すること、続いて転送先領域のアドレスを発生
して転送先データをリードすること、さらに転送元デー
タと転送先データ間でラスタ演算を行い、演算結果デー
タを転送先にライトするようになっている。これらの処
理は、全ての描画エンジンで同じシーケンスで動作し、
かつプロセッサ・バス25〜28は双方向なので、内部
バス50〜52が複数のデータ転送のために競合するこ
とはない。
When performing rectangular area transfer, an operation called raster operation is performed between the source data and the destination data, and the operation result is written to the destination. Therefore, the processing procedure of each drawing engine is to generate an address for reading data from the transfer source, hold the transfer source data input via the switcher in the register in the rectangular area transfer unit, and then An address of the transfer destination area is generated to read the transfer destination data, a raster operation is performed between the transfer source data and the transfer destination data, and the calculation result data is written to the transfer destination. These processes operate in the same sequence on all drawing engines,
In addition, since the processor buses 25 to 28 are bidirectional, the internal buses 50 to 52 do not compete for a plurality of data transfers.

【0030】次に、図6を用いて、転送元の先頭アドレ
スが(2,8)、転送先の先頭アドレスが(3,3)で
大きさが4×4画素分の場合の矩形領域転送を例として
説明する。この例の場合、転送元領域の先頭アドレスは
描画エンジン3に接続されるメモリ7に対応し、転送先
領域の先頭アドレスは描画エンジン2に接続されるメモ
リ6に対応している。したがって、図5の転送元が
(3)、転送先が(2)の組合せである。
Next, referring to FIG. 6, a rectangular area transfer in the case where the start address of the transfer source is (2, 8), the start address of the transfer destination is (3, 3), and the size is 4 × 4 pixels. Will be described as an example. In this example, the start address of the transfer source area corresponds to the memory 7 connected to the drawing engine 3, and the start address of the transfer destination area corresponds to the memory 6 connected to the drawing engine 2. Therefore, the combination of the transfer source in FIG. 5 is (3) and the transfer destination is (2).

【0031】まず、転送元領域のデータA,B,C,D
に対応するアドレスを描画エンジン3,4,1,2がそ
れぞれ出力しデータをリードする。もちろん、描画エン
ジン3,4が発生するアドレスと描画エンジン1,2が
発生するアドレスは1ライン分のアドレス値だけ異なっ
ている。
First, data A, B, C, and D in the transfer source area
Are output by the drawing engines 3, 4, 1 and 2, respectively, and the data is read. Of course, the addresses generated by the drawing engines 3 and 4 are different from the addresses generated by the drawing engines 1 and 2 by an address value for one line.

【0032】メモリ5からリードされた転送元データC
は、メモリ・バス21を介して一旦描画エンジン1に入
力されるが、メモリ・インターフェース42、内部バス
52を経由しスイッチャ43によりプロセッサ・バス
に出力される。そのデータCを描画エンジン4が引取
るが、描画エンジン4のスイッチャ43はプロセッサ・
バス29と内部バス50を接続するように動作し、結果
としてデータCは描画エンジン4の矩形領域転送部40
に取込まれる。同様に、メモリ6のデータDはプロセッ
サ・バス30を介して描画エンジン3に、メモリ7のデ
ータAはプロセッサ・バス30を介して描画エンジン2
に、メモリ8のデータBはプロセッサ・バス29を介し
て描画エンジン1に入力される。
Transfer source data C read from memory 5
Are once input to the drawing engine 1 via the memory bus 21 , but are transferred to the processor bus 2 by the switcher 43 via the memory interface 42 and the internal bus 52.
9 is output. The data C is taken by the drawing engine 4, and the switcher 43 of the drawing engine 4
The bus 29 operates to connect the internal bus 50, and as a result, the data C is transferred to the rectangular area transfer unit 40 of the drawing engine 4.
Is taken in. Similarly, data D of the memory 6 is supplied to the drawing engine 3 via the processor bus 30, and data A of the memory 7 is supplied to the drawing engine 2 via the processor bus 30.
The data B of the memory 8 is input to the drawing engine 1 via the processor bus 29.

【0033】次に、転送先領域のデータ・リードの説明
をする。これは各描画エンジンが自分が転送すべきアド
レスをそれぞれのメモリ5〜8に対して発生し、転送先
データをリードする。この場合、転送先データはメモリ
・バス21〜24を介して、それぞれ描画エンジン1〜
4に入力され、さらに内部のメモリ・インタフェース4
2、内部バス52、スイッチャ43、内部バス50を介
して矩形領域転送部40に入力される。したがって、転
送元データと転送先データの入力経路は異っており、そ
のフェーズにあわせてスイッチャ43がバス接続関係を
変更することができるようになっている。
Next, the data read of the transfer destination area will be described. In this case, each drawing engine generates an address to be transferred to each of the memories 5 to 8 and reads transfer destination data. In this case, the transfer destination data is sent to the drawing engines 1 through
4 and the internal memory interface 4
2. Input to the rectangular area transfer unit 40 via the internal bus 52, the switcher 43, and the internal bus 50. Therefore, the input paths of the transfer source data and the transfer destination data are different, and the switcher 43 can change the bus connection relationship according to the phase.

【0034】転送元,転送先の両データが揃うと両デー
タ間のラスタ演算を実行する。本実施例の場合、矩形領
域転送部内にラスタ演算として論理演算および算術演算
機能を備えている。予じめ定められたラスタ演算により
両データを処理すると、そのデータを内部バス50、ス
イッチャ43、内部バス52を介して、各描画エンジン
1〜4のメモリ・インタフェース42に入力される。さ
らに、この4ワード分のデータはそれぞれメモリ・バス
21〜24に出力されメモリ5〜8にライトされる。
When both the data of the transfer source and the data of the transfer destination are prepared, a raster operation between the two data is executed. In the case of the present embodiment, a logical operation and an arithmetic operation function are provided as raster operations in the rectangular area transfer unit. When both data are processed by a predetermined raster operation, the data is input to the memory interface 42 of each of the drawing engines 1 to 4 via the internal bus 50, the switcher 43, and the internal bus 52. Further, the four words of data are output to the memory buses 21 to 24 and written to the memories 5 to 8, respectively.

【0035】以上で4画素分のデータが処理されたこと
になるが、引続き転送元の右隣の4画素E,F,G,H
を処理する。この場合、転送元データと転送先描画エン
ジンの関係は、上述した関係と同様である。さらに、各
描画エンジンが1ライン分の処理を終了すると、2ライ
ン目の処理に入る。2ライン目とは、メモリ全体から考
えると実質的に3ライン目と4ライン目の処理である。
なお、転送領域のサイズ(X方向,Y方向のワード数)
が2の倍数でないときは、最後のワードあるいはライン
の処理時に、処理を行なう必要がない描画エンジンは転
送先データをそのまま転送先にライトし、実質的にNO
P(No OPeration)になるようになってい
る。
Thus, the data for four pixels has been processed. The four pixels E, F, G, and H on the right side of the transfer source continue to be processed.
Process. In this case, the relationship between the transfer source data and the transfer destination drawing engine is the same as the relationship described above. Further, when each drawing engine finishes processing for one line, the processing for the second line is started. The second line is substantially the processing of the third and fourth lines when viewed from the entire memory.
The size of the transfer area (the number of words in the X and Y directions)
Is not a multiple of 2, the rendering engine which does not need to perform processing at the time of processing the last word or line writes the transfer destination data as it is to the transfer destination, and substantially NO
P (No Operation).

【0036】図7は本発明の第2の実施例のブロック図
である。本実施例は第1の実施例の4つのプロセッサを
1つのプロセッサ・モジュールとしてとらえ、4個のプ
ロセッサ・モジュールを使用してさらに高速化を図った
ものである。
FIG. 7 is a block diagram of a second embodiment of the present invention. In the present embodiment, the four processors of the first embodiment are regarded as one processor module, and the speed is further increased by using four processor modules.

【0037】図において、61〜64はプロセッサ・モ
ジュール、65〜68はメモリ、71〜74はメモリ・
バス、75〜80はプロセッサ・バスである。この構成
は、プリプロセッサが各プロセッサ・モジュールに内蔵
されていることと、各データ・バスが32ビット(4画
素分)であることを除けば、図1と同様である。プロセ
ッサ・モジュール61〜64の内部構成は、図1の点線
で囲んだ部分であり、図1のメモリ・バス21〜24は
まとめられて、32ビット・バスとして、図2のメモリ
・バス71〜74に対応している。
In the figure, 61 to 64 are processor modules, 65 to 68 are memories, and 71 to 74 are memory modules.
Buses 75 to 80 are processor buses. This configuration is the same as that of FIG. 1 except that a preprocessor is incorporated in each processor module and each data bus is 32 bits (for 4 pixels). The internal configuration of the processor modules 61 to 64 is a portion surrounded by a dotted line in FIG. 1, and the memory buses 21 to 24 in FIG. 1 are put together to form a 32-bit bus, and the memory buses 71 to 64 in FIG. 74.

【0038】このように構成された図形描画装置の動作
は、第1の実施例が2×2個の描画エンジンを使用した
のに対し、4×4個として考えた場合とほとんど同様で
ある。1個のプロセッサ・モジュール61〜64をLS
I化したとすると、容易にマルチプロセッサ・システム
を構築することができる。
The operation of the graphic drawing apparatus thus constructed is almost the same as the case where the first embodiment uses 2 × 2 drawing engines, but considers 4 × 4. LS for one processor module 61 to 64
If it is I, a multiprocessor system can be easily constructed.

【0039】なお、第1の実施例では、2×2個のプロ
セッサ、第2の実施例では4×4個のプロセッサを使用
したが、n×n個(n,mは自然数)のプロセッサを使
用しても適用可能であることは明らかであり、また、各
実施例では、1画素が8ビットとしたが、本発明の主旨
はこのビット数に制限されるものではない。また、本実
施例は2次元のXY座標をベースに実現したが、Z座標
を加えた3次元クラフィックスの分野にも容易に応用で
きることは類推できる。
Although 2 × 2 processors are used in the first embodiment and 4 × 4 processors are used in the second embodiment, n × n processors (n and m are natural numbers) are used. It is clear that the present invention can be applied even when used, and in each embodiment, one pixel has 8 bits. However, the gist of the present invention is not limited to this number of bits. Further, the present embodiment is realized based on the two-dimensional XY coordinates, but it can be inferred that the present invention can be easily applied to the field of the three-dimensional graphics to which the Z coordinates are added.

【0040】[0040]

【発明の効果】以上説明したように本発明によれば、直
線描画機能および矩形領域転送機能ともに、使用するプ
ロセッサの個数に応じて、直線の場合にはプロセッサ個
数の2分の1倍、矩形領域転送は使用個数倍に性能を向
上させることができる。一般に、複数のプロセッサを使
用したマルチプロセッサ・システムは、処理性能は必ず
しも使用したプロセッサの個数に比例して向上しない
し、またハードウェア構成を複雑になりがちであるが、
本発明では効率よく性能アップを実現できる上、ハード
ウェア構成は、複数のプロセッサを1つのLSIに集積
することにより、プロセッサ間バス接続のための端子数
などを大幅に削減することができ、安価で高性能なLS
Iを供給することができる。
As described above, according to the present invention, both the straight line drawing function and the rectangular area transfer function depend on the number of processors to be used. The area transfer can improve the performance by the number of uses. Generally, in a multiprocessor system using a plurality of processors, the processing performance does not always increase in proportion to the number of processors used, and the hardware configuration tends to be complicated.
According to the present invention, the performance can be efficiently improved, and the hardware configuration can reduce the number of terminals for bus connection between processors by integrating a plurality of processors into one LSI, thereby reducing the cost. And high performance LS
I can be supplied.

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

【図1】本発明の第1の実施例の図形描画装置のブロッ
ク図
FIG. 1 is a block diagram of a graphic drawing apparatus according to a first embodiment of the present invention;

【図2】図1の描画エンジンの構成を示すブロック図FIG. 2 is a block diagram showing a configuration of a drawing engine of FIG. 1;

【図3】図1のメモリの構成図FIG. 3 is a configuration diagram of a memory in FIG. 1;

【図4】直線描画を説明する座標図FIG. 4 is a coordinate diagram illustrating a straight line drawing.

【図5】メモリと描画エンジンの接続の組合せを説明す
る図
FIG. 5 is a diagram illustrating a combination of connection between a memory and a drawing engine.

【図6】矩形領域転送を説明する図FIG. 6 is a view for explaining rectangular area transfer;

【図7】本発明の第2の実施例のブロック図FIG. 7 is a block diagram of a second embodiment of the present invention.

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

1〜4 描画エンジン 5〜8,65〜68 メモリ 9 プリプロセッサ 10 表示プロセッサ 11 ディスプレイ 20 システム・バス 21〜24,71〜74 メモリ・バス 25〜30,75〜80 プロセッサ・バス 40 矩形領域転送部 41 直線描画部 42 メモリ・インタフェース 43 スイッチャ 50,51 バス 61〜64 プロセッサ・モジュール 1-4 drawing engine 5-8,65-68 memory 9 preprocessor 10 display processor 11 display 20 system bus 21-24,71-74 memory bus 25-30,75-80 processor bus 40 rectangular area transfer unit 41 Linear drawing unit 42 Memory interface 43 Switcher 50, 51 Bus 61-64 Processor module

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/06 520 G06F 9/38 370 G06F 12/00 580 G06F 15/16 610 G06T 11/00 100 Continuation of the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 12/06 520 G06F 9/38 370 G06F 12/00 580 G06F 15/16 610 G06T 11/00 100

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のプロセッサを同時に動作させてX
Y情報上で定義されたメモリに図形を描画する図形描画
装置において、前記各プロセッサは、少なくとも直線描
画機能と矩形領域転送機能についてX方向にn画素ご
と、Y方向にm画素ごとに割振られたn×m画素ごとに
処理するように動作するn×m個のプロセッサからな
り、前記X方向にn画素ごと、Y方向にm画素ごとにア
クセスされるように割振られ、それぞれ画素情報を記憶
するn×m個のメモリ・モジュールと、前記各プロセッ
とこれらプロセッサにそれぞれ対応する前記各メモリ
・モジュールの間を接続するメモリ・バスと、前記各プ
ロセッサ間を全て接続する複数のプロセッサ・バスとを
備え、前記各メモリ・バスと前記各プロセッサ・バスの
うちの一つのバスを選択信号により選択して前記各プロ
セッサと接続する選択手段および前記直線描画機能を実
行する際には、前記各プロセッサ間のデータ転送は行わ
ずに、直線描画を演算するように前記選択信号を生成
し、前記矩形領域転送機能を実行する際には、転送元デ
ータが格納されているメモリに接続されるプロセッサか
ら、転送先データが格納されているメモリに接続される
プロセッサに、動的に変更されるプロテッサ・バスを介
して転送先データを転送し、前記転送先データを前記転
送元データとの間でラスタ演算をするように、前記選択
信号を動的に変更する選択制御手段をそれぞれ前記各プ
ロセッサごとに備えたことを特徴とする図形描画装置。
1. A method in which a plurality of processors are simultaneously operated and X
In the graphic drawing apparatus that draws a graphic in a memory defined on Y information, each of the processors is allocated at least for every n pixels in the X direction and every m pixels in the Y direction for at least the straight line drawing function and the rectangular area transfer function. It is composed of n × m processors that operate to process every n × m pixels, and is allocated so as to be accessed every n pixels in the X direction and every m pixels in the Y direction, and stores pixel information respectively. and n × m pieces of memory modules, wherein each processor and the memory bus connecting between the respective memory module corresponding to each of these processors, and a plurality of processor bus that connects all between the respective processors wherein said one selected hand bus select and by a selection signal to connect said each processor of each memory bus the respective processor bus And when executing the line drawing function, the data transfer between the processors performed
Instead, when the selection signal is generated so as to calculate a straight line drawing and the rectangular area transfer function is executed, a processor connected to a memory storing transfer source data may be used.
Connected to the memory where the destination data is stored
Via a dynamically changing processor bus to the processor
And to forward the destination data, the destination data to the raster operation between the source data, with a selection control means for dynamically changing said selection signal for each said each processor A graphic drawing device characterized by the above-mentioned.
JP00305991A 1991-01-16 1991-01-16 Graphic drawing device Expired - Fee Related JP3278853B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00305991A JP3278853B2 (en) 1991-01-16 1991-01-16 Graphic drawing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00305991A JP3278853B2 (en) 1991-01-16 1991-01-16 Graphic drawing device

Publications (2)

Publication Number Publication Date
JPH04241652A JPH04241652A (en) 1992-08-28
JP3278853B2 true JP3278853B2 (en) 2002-04-30

Family

ID=11546755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00305991A Expired - Fee Related JP3278853B2 (en) 1991-01-16 1991-01-16 Graphic drawing device

Country Status (1)

Country Link
JP (1) JP3278853B2 (en)

Also Published As

Publication number Publication date
JPH04241652A (en) 1992-08-28

Similar Documents

Publication Publication Date Title
US4989138A (en) Single bus graphics data processing pipeline with decentralized bus arbitration
KR100328421B1 (en) Architecture of high performance 3D graphics accelerator
US5251298A (en) Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses
JPH05282458A (en) Plural extensible image buffers for graphics system
JPS60239796A (en) Circuit and apparatus for altering data in display memory
US5414666A (en) Memory control device
EP0658858B1 (en) Graphics computer
US6992673B2 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
JP3278853B2 (en) Graphic drawing device
US20040207624A1 (en) Graphics processor, graphics card and graphics processing system
EP0670560A2 (en) A method for sorting polygon data and a video game machine employing the same
Kaya New trends in graphic display system architecture
JP2003132347A (en) Image processor
US5093905A (en) Inclined rectangular pattern generating system
WO1996031819A2 (en) Data processing device and scrolling method
US6489967B1 (en) Image formation apparatus and image formation method
JPH1131236A (en) Sorting method of polygon data and picture processor using the method
JP3818951B2 (en) Data array conversion apparatus, display control apparatus using the same, and data array conversion method
JPS6041089A (en) Graphic generator
JP2830765B2 (en) Polygon data sorting method and game device using the same
JPH0736772A (en) Device and method for fast bit map access control
JP2753349B2 (en) Arbitrary angle rotation image data input / output method, input / output circuit thereof, and electronic file device using the same
JP2808105B2 (en) Font drawing device
JP2829051B2 (en) Character display method
JPS623293A (en) Line movement drawing apparatus

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020122

LAPS Cancellation because of no payment of annual fees