JPH05307611A - グラフィックマイクロコンピュータ - Google Patents

グラフィックマイクロコンピュータ

Info

Publication number
JPH05307611A
JPH05307611A JP11116192A JP11116192A JPH05307611A JP H05307611 A JPH05307611 A JP H05307611A JP 11116192 A JP11116192 A JP 11116192A JP 11116192 A JP11116192 A JP 11116192A JP H05307611 A JPH05307611 A JP H05307611A
Authority
JP
Japan
Prior art keywords
coordinate
output
register
outputs
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11116192A
Other languages
English (en)
Inventor
Tetsuo Kawada
河田哲郎
Kenichi Kawachi
河内賢一
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP11116192A priority Critical patent/JPH05307611A/ja
Publication of JPH05307611A publication Critical patent/JPH05307611A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】 座標計算における無駄を無くし、小型化を図
る。 【構成】 CPUから初期値が設定され、描くべき線分
を構成する点のX座標とY座標をN次多項式の値として
交互に演算する座標演算手段と、座標演算手段によって
演算されたX座標とY座標を遅延させる遅延手段と、演
算により求めたX座標およびY座標と、遅延したX座標
およびY座標とに基づき、描画ドットの進むべき移動方
向を演算する方向演算手段と、方向演算手段により演算
された描画ドットの移動方向に基づいて、書き込むべき
ドットが含まれるワードを描画メモリから読み出し、読
み出したワードに描画ドットを書き込み、再び描画メモ
リに該ワードを書き込む描画手段とを有し、X座標とY
座標を共通化した1つの座標演算回路で行うようにして
1つの座標計算回路のコストを省き、グラフィックマイ
クロコンピュータの性能を下げることなくハードウェア
の小型化を図るようにしたことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、グラフィック処理を行
うグラフィックマイクロコンピュータに関するものであ
る。
【0002】
【従来の技術】従来、グラフィックシステムにおいて直
線分及び曲線分の描画を行なう場合、直前に描画した点
に対する座標の増分を計算するいわゆるインクリメンタ
ルな描画アルゴリズムが用いられている。このようなグ
ラフィックシステムにおいては、線分の描画を中央演算
装置(以下CPU)がソフトウェア的に行なっていたの
では時間がかかり過ぎるため、ハードウェアで実行され
ることが多い。この場合、描く線分の種類ごとに描画ア
ルゴリズムが異なるために、描画アルゴリズム毎にそれ
ぞれハードウェアが必要となり、ハードウェアが大型化
してしまうという問題があった。
【0003】そこで、本出願人は各種線分の描画をおこ
なうグラフィックマイクロコンピュータの小型化を目的
として特願平2ー220920号を既に出願している。
図10は前記出願におけるマイクロコンピュータと描画
メモリのブロック図であり、これを参照して概略説明す
る。図中、1はCPU、2は座標計算回路、21はX座
標計算回路、22はY座標計算回路、30は第1のラッ
チ回路、31は第2のラッチ回路、4は方向制御回路、
34はFIFOバッファ、5はグラフィックユニット、
6はCPUインターフェースバス、7は描画メモリであ
る。
【0004】CPU1は、CPUインターフェースバス
6を介してX座標計算回路21、Y座標計算回路22、
及びグラフィックユニット5内のレジスタの初期値を設
定するとともに、座標計算回路2に計算の開始を命令す
る。座標計算回路2には、X座標計算回路21とY座標
計算回路22とが別々に設けられていて、それぞれ1ク
ロックサイクル毎に描くべき線分を構成する点のX座標
とY座標を計算し出力する。同時に座標計算回路2は、
X座標の進行方向を示す信号とY座標の進行方向を示す
信号も出力する。
【0005】ラッチ回路30はX座標計算回路21の出
力するX座標の値を1クロックサイクルの間保持し、ラ
ッチ回路31はY座標計算回路22の出力するY座標の
値を1クロックサイクルの間保持する。そして座標計算
回路2は、計算を終了するとCPU1に計算の終了を知
らせる。
【0006】方向制御回路4は、座標計算回路2からX
座標とその移動方向及びY座標とその移動方向、ラッチ
回路30の出力、ラッチ回路31の出力が入力され、1
クロックサイクル毎に新しい座標が移動すべき方向をF
IFOバッファ34へ出力する。
【0007】グラフィックユニット5は、FIFOバッ
ファ34の出力が入力され、新しい座標のドットが含ま
れる描画メモリ7のワードのアドレスを1クロックサイ
クル毎に計算して出力する。また、グラフィックユニッ
ト5は、3クロックサイクル毎に1つの処理を行う。す
なわち、 新しい座標のドットが含まれるワードのアドレスと同
じアドレスのワードを描画メモリ7から読み込む、 描画メモリ7から読み込まれたワードと新しい座標の
ドットが含まれるワードとの論理演算を行う、 論理演算の結果を描画メモリ7へ書き込む、 の3つの操作である。これら3つの操作をそれぞれ1ク
ロックサイクル毎に行うのである。FIFOバッファ3
4は座標計算回路及び方向制御回路の出力レートとグラ
フィックユニットの処理レートの速度の違いを吸収する
ためのバッファである。FIFOバッファ34は中身が
満たされたとき座標計算回路に対してWait信号を発
し、座標計算回路の演算を中断させることができる。
【0008】図11は前述した座標計算回路2の内部構
成を示すブロック図である。すべての曲線及び直線上の
点PのX座標Px、Y座標Pyを多項式で Px(t)=AN *tN +AN-1 *tN-1 +……+A1 *t+A0 ……(1) Py(t)=BN *tN +BN-1 *tN-1 +……+B1 *t+B0 ……(2) AN ,AN-1 …A0 、BN ,BN-1 …B0 ;定数 t;0≦t≦1の値をとるパラメータ N;曲線の次数で正の整数 と表し、このX座標とY座標の値を出力クロック毎に逐
次演算し出力する。
【0009】図11に示すものは、3次曲線(N=3)
に対応する座標計算回路のブロック図であり、このとき
多項式は(3)、(4)式で表される。
【0010】 Px(t)=A3 *t3 +A2 *t2 +A1 *t+A0 ……(3) Py(t)=B3 *t3 +B2 *t2 +B1 *t+B0 ……(4) なお、座標計算回路2はX座標計算回路21とY座標計
算回路22を含むが、これらは同一の構成・動作をとる
のでX座標計算回路21の構成のみを示しY座標計算回
路22の構成を省略した。8は定数レジスタ、10は第
1の加算器、11は2次差分レジスタ、13は第2の加
算器、14は1次差分レジスタ、16は第3の加算器、
17は座標レジスタ、23はラッチ回路、24は制御回
路、25はカウンタである。
【0011】座標計算の開始に先立って、CPUはCP
Uインターフェイスバス6により、定数レジスタ8、2
次差分レジスタ11、1次差分レジスタ14、及び座標
レジスタ17、カウンタ25の初期化を行なう。初期化
するレジスタ及びその初期値はそれぞれ以下に示すとお
りである。
【0012】定数レジスタX: 6A3 /n3 定数レジスタY: 6B3 /n3 2次差分レジスタX: 2A2 /n2 2次差分レジスタY: 2B2 /n 1次差分レジスタX: A1 /n 1次差分レジスタY: B1 /n 座標レジスタX: A0 座標レジスタY: B0 カウンタ: n ここで、nは描くべきドット数以上の整数である。
【0013】第1の加算器10は、クロック入力毎に定
数レジスタ8と2次差分レジスタ11から値を入力し2
次差分レジスタ11に結果を出力する。いま、K個のク
ロック入力があったとすると、2次差分レジスタ11の
内容は、 K・6A3 /n3 +2A2 /n2 となる。第2の加算器13は、2次差分レジスタ11と
1次差分レジスタ14から値を入力し1次差分レジスタ
14に結果を出力する。K個のクロック入力があったと
すると、1次差分レジスタ11の内容は、 (K(K−1)/2)・6A3 /n3 +K・2A2 /n
2 +A1 /n となる。第3の加算器16は、1次差分レジスタ14と
座標レジスタ17から値を入力し座標レジスタ17に結
果を出力する。K個のクロック入力があったとすると、
座標レジスタ17の内容は、 (K(K−1)(K−2)/6)・6A3 /n3 +(K(K−1)/2)・2A2 /n2 +K・A1 /n+A0 となる。すなわち、座標レジスタ17の出力は、クロッ
ク入力Kに対して3次式で表現され、3次曲線による描
画を行うことができる。また、1次差分レジスタ11の
内容は座標レジスタ17の内容の微分値に対応し、その
微係数は3次曲線の接線の傾きを示すことになる。
【0014】ラッチ回路23は、1次差分レジスタ14
のMSB(Most Significant Bi
t)である符号ビットを入力し1クロックサイクル値を
保持し、方向制御回路4に値を出力する。この出力は、
3次曲線の1次微係数で曲線の傾きを示し、計算された
座標の進行方向を表すものとなる。
【0015】座標レジスタ17は、保持する値を方向制
御回路4に出力し、方向制御回路は計算された座標値か
ら進むべき方向を計算して出力する。制御回路24はC
PUから開始命令を入力すると座標計算回路内部の制御
を行ない、カウンタ25が0になったことを示す信号を
入力してCPUに処理の終了を知らせる信号を発する。
また、Wait信号を入力したとき、座標計算回路内部
で行なわれる演算を中断する。カウンタ25はCPUイ
ンターフェイスバスにより初期値を設定され、CPUか
ら開始命令を入力した直後からクロックサイクル毎にカ
ウントダウンする。
【0016】
【発明が解決しようとする課題】このグラフィックマイ
クロコンピュータにおいては、描画メモリとグラフィッ
クユニットの間の3クロックサイクルのオペレーション
で1つの座標に対する処理時間が決まってしまい、座標
計算回路における1クロックサイクル毎の座標計算が無
駄となる。そのため、X座標計算回路とY座標計算回路
を別々に設けた意味が無くなり、座標計算回路が大型化
するという問題があった。
【0017】本発明は上記課題を解決するためのもの
で、座標計算における無駄を無くし、小型化を図ること
が可能なグラフィックマイクロコンピュータを提供する
ことを目的とする。
【0018】
【課題を解決するための手段】本発明のグラフィックマ
イクロコンピュータは、CPUから初期値が設定され、
描くべき線分を構成する点のX座標とY座標をN次多項
式の値として交互に演算する座標演算手段と、座標演算
手段によって演算されたX座標とY座標を遅延させる遅
延手段と、演算により求めたX座標およびY座標と、遅
延したX座標およびY座標とに基づき、描画ドットの進
むべき移動方向を演算する方向演算手段と、方向演算手
段により演算された描画ドットの移動方向に基づいて、
書き込むべきドットが含まれるワードを描画メモリから
読み出し、読み出したワードに描画ドットを書き込み、
再び描画メモリに該ワードを書き込む描画手段とを有
し、X座標とY座標を共通化した1つの座標演算回路で
行うようにしたことを特徴とする。
【0019】
【作用】本発明は、CPUから初期値を設定し、描くべ
き線分を構成する点のX座標とY座標をN次多項式の値
として交互に共通化した1つの座標演算回路で演算し、
演算によって求めたX座標とY座標、進行方向符号、及
び1サイクル前のX座標とY座標とに基づき、描画ドッ
トの進むべき移動方向を演算し、演算された描画ドット
の移動方向に基づいて、書き込むべきドットが含まれる
ワードを描画メモリから読み出し、読み出したワードに
描画ドットを書き込み、再び描画メモリに該ワードを書
き込むようにしたので、1つの座標計算回路のコストを
省くことができ、また、グラフィックユニットで1つの
オペレーションを行うのに3クロックサイクル必要なの
に対し、座標計算回路で新しい座標とそれの移動すべき
方向を計算するのに2クロックサイクルしか要としない
ため、グラフィックマイクロコンピュータの性能を下げ
ることなくハードウェアの小型化を図ることが可能とな
る。
【0020】
【実施例】以下、本発明の実施例を具体的に説明する。
図1は本発明の実施例のグラフィックマイクロコンピュ
ータと描画メモリのブロック図である。1はCPU、3
は共通化した座標計算回路、4は方向制御回路、5はグ
ラフィックユニット、6はCPUインターフェースバ
ス、7は描画メモリ、30は第1のラッチ回路、31は
第2のラッチ回路、32は第1のラッチ回路、33は第
2のラッチ回路、34はFIFOバッファである。
【0021】CPU1は、CPUインターフェースバス
6を介して共通化した座標計算回路3、及びグラフィッ
クユニット5内のレジスタの初期値を設定する。またC
PU1は座標計算回路2に計算の開始を命令する。共通
化した座標計算回路3は、計算を終了するとCPU1に
計算の終了を知らせる。共通化した座標計算回路3は、
2クロックサイクル毎に描くべき線分を構成する点の新
しいX座標PNX、新しいY座標PNYを計算し方向制御回
路4に出力する。またこのとき、そのX座標及びY座標
が正の方向に動いているのか負の方向に動いているのか
を表す信号も方向制御回路4へ出力する。
【0022】ラッチ回路30〜33は入力を1クロック
サイクル遅らせる働きをする。従って、ラッチ回路30
及びラッチ回路32は共通化した座標計算回路3が出力
するX座標の値を2クロックサイクル遅らせて古いX座
標POXを出力する。また、ラッチ回路31及びラッチ回
路33は共通化した座標計算回路3が出力するY座標の
値を2クロックサイクル遅らせて古いY座標POYを出力
する。
【0023】方向制御回路4は、座標計算回路2からX
座標とそれに関する移動方向、Y座標とそれに関する移
動方向を、またラッチ回路32の出力、ラッチ回路33
の出力を2クロックサイクル毎に入力し、2クロックサ
イクル毎に新しい座標が移動すべき方向をFIFOバッ
ファ34へ出力する。この出力は古い座標のドットに隣
接する周囲8ドットのいずれか一つの方向への移動、又
は移動しない場合のいづれかである。ここで描かれる曲
線あるいは直線は1ドットごとにつながっていなければ
ならないから |PNX−POX|≦1 ……(5) |PNY−POY|≦1 ……(6) が成り立たなければならない。
【0024】グラフィックユニット5のアドレス生成回
路は方向制御回路4の出力を入力して新しい座標のドッ
トが含まれる描画メモリのワードのアドレスを2クロッ
クごとに計算して出力する。処理が終わると、座標計算
回路3はCPUに処理の終わりを知らせる。
【0025】次に、共通化した座標計算回路3の動作に
ついて説明する。図2は共通化した座標計算回路3の内
部構成を示すブロック図である。図2において、8は定
数レジスタX、9は定数レジスタY、10は第1の加算
器、11は2次差分レジスタX、12は2次差分レジス
タY、13は第2の加算器、14は1次差分レジスタ
X、15は1次差分レジスタY、16は第3の加算器、
17は座標レジスタX、18は座標レジスタY、23は
X符号ビットラッチ回路、27はY符号ビットラッチ回
路、100は第1の選択回路、101は第2の選択回
路、102は第3の選択回路、103は第4の選択回
路、104は第5の選択回路、105は第6の選択回
路、107は制御回路、108はカウンタである。
【0026】第1の選択回路100は定数レジスタX8
の出力を第1入力として入力し、定数レジスタY9の出
力を第2出力として入力する。第2の選択回路101及
び第3の選択回路102は2次差分レジスタX11の出
力を第1入力として入力し、2次差分レジスタY12の
出力を第2入力として入力する。第4の選択回路103
及び第5の選択回路104は1次差分レジスタX14の
出力を第1入力として入力し、1次差分レジスタY15
の出力を第2入力として入力する。第6の選択回路10
5は座標レジスタX17の出力を第1入力として入力
し、座標レジスタY18の出力を第2入力として入力す
る。第1から第6の選択回路100〜105はクロック
毎に第1入力と第2入力を交互に選択して出力する。
【0027】第1の加算器10は第1の選択回路100
の出力及び第2の選択回路101の出力を入力し、結果
を2次差分レジスタX11及び2次差分レジスタY12
に出力する。第2の加算器13は第3の選択回路102
の出力及び第4の選択回路103の出力を入力し、結果
を1次差分レジスタX14及び1次差分レジスタY15
に出力する。第3の加算器16は第5の選択回路104
の出力及び第6の選択回路105の出力を入力し、結果
を座標レジスタX17及び座標レジスタY18に出力す
る。
【0028】X符号ビットラッチ23及びY符号ビット
ラッチ27はそれぞれ1次差分レジスタX14の出力の
MSB及び1次差分レジスタY15の出力のMSBを入
力し、その値を保持する。
【0029】共通化した座標計算回路3は前述した
(3)、(4)式で表される3次曲線分、2次曲線分、
及び直線分の座標値を計算し出力すること、座標計算の
開始に先立って、CPUインターフェイスバス6によ
り、共通化した座標計算回路3内部のレジスタ等の初期
化を行うこと、初期化するレジスタ及びその初期値につ
いてはそれぞれ図11に関連して説明した場合と全く同
じである。
【0030】次に、CPUは共通化された座標計算回路
に開始命令信号を出力する。開始命令信号は制御回路1
07に入力され、以後制御回路107は座標計算回路の
演算制御を行なう。
【0031】図3は共通化した座標計算回路3の動作タ
イミングを示している。ここに示される制御信号は制御
回路107により生成される。信号SEL1は第1の選
択回路100、第2の選択回路101、第5の選択回路
104、第6の選択回路105の制御信号である。
【0032】第1の選択回路100、第2の選択回路1
01、第5の選択回路104、第6の選択回路105は
信号SEL1がHighレベルのとき、それぞれの第1
入力を選択して出力し、信号SEL1がLowレベルの
とき、それぞれの第2入力を選択して出力する。信号S
EL2は第3の選択回路102、第4の選択回路103
の制御信号である。第3の選択回路102、第4の選択
回路103は信号SEL2がHighレベルのとき、そ
れぞれの第1入力を選択して出力し、信号SEL2がL
owレベルのとき、それぞれの第2入力を選択して出力
する。信号LOAD2DX、LOAD1DX、LOAD
X、LOAD2DY、LOAD1DY、LOADYはそ
れぞれ2次差分レジスタX11、1次差分レジスタX1
4、座標レジスタX17、2次差分レジスタY12、1
次差分レジスタY15、座標レジスタY18の制御信号
である。また、信号LOADX及びLOADYはそれぞ
れX符号ビットラッチ23及びY符号ビットラッチ27
の制御信号でもある。これらの信号がHighレベルの
とき、入力をレジスタ内に取り込み、Lowレベルのと
き、値を保持する。こうして、2クロックごとにX座標
とY座標の計算が行われていくことになる。なお、計算
のやり方は図11において説明したのと同じである。
【0033】また、制御回路107はWait信号を入
力したとき、座標計算回路内部の演算を中断する。これ
は上記の制御信号がHighレベルになるのを止めるこ
とによって行なわれる。カウンタ108は開始命令が発
せられる前は、値nが設定されているが、開始命令の
後、2クロックサイクル毎に値を1づつデクリメントし
てゆく。制御回路107はカウンタ108の値が0にな
ったとき、終了信号が発し、共通化した座標計算回路3
における演算を終了する。
【0034】次に方向制御回路について詳細に説明す
る。方向制御回路は新たに計算された座標PNEW (PN
X, PNY)、1サイクル(2クロック)前に計算され
た座標POLD (POX, POY)、X方向信号、及びY方
向信号を入力して、ドットの進むべき方向を出力する回
路である。
【0035】(i)変換の手順 入力PNX、PNY、POX、POYから出力を得るための変換
のルールはいろいろなものが考えられるが、ここでは図
4、図5に示す1つの代表例を説明する。先ず、入力信
号と出力信号を表す記号の説明をする。このルールでは
入力PNX、PNY、POX、POYの値のうちそれぞれ小数点
の上1ビットの値と小数点の下1ビットの値しか必要と
しない。小数点2ビット以下の値は切り捨てる。そこ
で、それぞれの入力の値は、 PNEW (PNX,PNY)=(nx0.nx1, ny0.
ny1) POLD (POX,POY)=(ox0.ox1, oy0.
oy1) と表せる。
【0036】ここで、PNX、PNY、POX、POYはすべて
2進数表示である。nx0、ny0、ox0、oy0は
小数点の上1ビット目の値、nx1、ny1、ox1、
oy1は小数点の下1ビット目の値を表す(‘.’は小
数点)。X方向信号、Y方向信号はそれぞれX_Dir
及びY_Dirとし、‘0’のとき正、‘1’のとき負
を表す。
【0037】方向制御回路の出力信号の記号と意味は以
下のとおりである。 X_Plus:ドットをX軸の方向に1進める X_Minus:ドットをX軸の方向に−1進める Y_Plus:ドットをY軸の方向に1進める Y_Minus:ドットをY軸の方向に−1進める ここで、X_PlusとX_Minus信号は同時にア
クティブになることはなく、また、Y_PlusとY_
Minus信号も同時にアクティブになることはない。
【0038】図4は入力される座標の区分けを示してお
り、34は4ドットの格子で、実線は1ドット単位の境
界線を示している。4ドットの格子は0.5ドット単位
の破線の境界線で16個の領域に分けられてAからDの
記号がつけられている。
【0039】前述の式(5)、(6)が成り立つと仮定
しているから、X座標及びY座標における移動距離は最
大1ドットである。従って、座標PNEW (PNX,PNY)
と座標POLD (POX, POY)は図4に示した4ドット
内の領域における移動で全て関係づけられる。例えば、
あるサイクルにおける入力が、 PNEW (PNX,PNY)=(0.0, 0.0) POLD (POX,POY)=(1.1, 1.0) であるとすれば、座標が図左下ドットのBの領域から図
右上のドットのDの領域に移動したことを表す。この領
域間の移動の全ての組み合せとX方向信号及びY方向信
号の値に対する出力を示したものが図5である。
【0040】図5から、各出力信号は以下のように表す
ことができる。 X_Plus=〜X_Dir*((nx0‖nx1)‖
(ox0‖ox1)) X_Minus=X_Dir*((nx0‖nx1)‖
(ox0‖ox1)) Y_Plus=〜Y_Dir*((ny0‖ny1)‖
(oy0‖oy1)) Y_Minus=Y_Dir*((ny0‖ny1)‖
(oy0‖oy1)) ここで、〜は否定、*は論理積、‖は排地的論理和をそ
れぞれ表す。
【0041】(ii)方向制御回路の構成 方向制御回路は前記論理式の演算を行うものでであり、
図6に示すような回路構成になる。図6において、24
はExclusiveーORゲート、25はインバー
タ、26はANDゲートである。Exclusiveー
ORゲート24は2つの信号を入力し、それらの排地的
論理和を出力する。インバータ25は1つの信号を入力
し、その否定を出力する。ANDゲート26は2つの信
号を入力し、それらの論理積を出力する。こうして、X
_Dir、Y_Dir、PNEW (PNX,PNY)、POLD
(POX,POY)を入力することにより、進むべき信号が
出力されることになる。
【0042】次にグラフィックユニットのアドレス生成
回路について説明する。図7はアドレス生成回路の内部
構成を示す。図7において、27は定数レジスタ、28
は第1のラインレジスタ、29は第2のラインレジス
タ、30は加算器、31はアドレスレジスタ、32はイ
ンクリメンタ/デクリメンタ、33は制御回路である。
定数レジスタ27は値0に固定されている。後述するよ
うに、Yアドレスが増減する場合の計算を簡単化するた
めに第1のラインレジスタ28、第2のラインレジスタ
29とラインレジスタが2個設けられたて設けけられて
おり、これとアドレスレジスタ31、及びインクリメン
タ/デクリメンタ32はCPUインターフェイスバス1
3を介して書き込み及び読み出しができる。
【0043】アドレスレジスタ31の出力は外部に出力
される外、加減算器30の第1入力に接続されている。
また、定数レジスタ27、第1のラインレジスタ28、
及び第2のラインレジスタ29の内1つが選択的に加減
算器30の第2入力に接続されている。加減算器30は
制御回路33から入力される2つの制御信号に基ずいて
演算を行ない、アドレスレジスタ31に演算結果を出力
する。2つの制御信号とはキャリー信号Cinとadd
/sub信号である。add/sud信号がアクティブ
であれば加減算器30は第1入力と第2入力を加算し、
add/sub信号がインアクティブであれば加減算器
30は第1入力から第2入力を減算する。インクリメン
タ/デクリメンタ32は制御回路33からinc信号及
びdec信号を入力し、inc信号がアクティブのとき
保持する値を1インクリメント(増やす)して値を保持
し、dec信号がアクティブのとき保持する値を1デク
リメント(減らす)して値を保持する。そのほかのとき
はなにもしない。
【0044】また、インクリメンタ/デクリメンタ32
は保持する値の全てのビットが1のとき、即ちアドレス
Xが1減ずるときall1信号をアクティブにし、保持
する全てのビットが0のとき、即ちアドレスXが1増え
るとき、all0信号をアクティブにする。制御回路3
3は方向制御回路の出力及びインクリメンタ/デクリメ
ンタ32の出力するall0信号とall1信号を入力
し加減算器30にキャリー入力とadd/sub信号を
出力する。また、制御回路33はインクリメンタ/デク
リメンタ32にinc信号及びdec信号を出力する
外、各種の制御信号を生成する。
【0045】アドレス生成回路が方向制御回路の出力か
らどのようにしてアドレスを生成するのかについて説明
するにあたり、X−Y座標と描画メモリの対応について
説明する。描画メモリの構成を図8に示す。ここで座標
(X,Y)についてX≧0、Y≧0という制限があるも
のとしている。図8において、35は描画メモリ、36
は16ビットからなる1ワードである。描画メモリ35
には文字 ’A’が描かれている。描画メモリはリニア
(線形:1次元につながっている)であり、座標(0,
0)は描画メモリの開始アドレスAのビット15に対応
している。さらに、座標(1,0),(2,0),……
…,(15,0)はアドレスAのビット14,13,…
……,0に対応している。また、座標(16,0)はア
ドレス(A+1)のビット15に対応している。さら
に、座標(17,0),(18,0),………,(3
1,0)はアドレス(A+1)のビット14,13,…
……,0に対応している。X座標の最大値をXmaxと
すると、座標(Xmax,0)はアドレス(A+N−
1)のビット0に対応している。従って、1ラインはN
ワードからなる。
【0046】また、2ライン目の最初と最後の座標
(0,1)及び(Xmax,1)はそれぞれアドレス
(A+N)のビット15とアドレス(A+2*N−1)
のビット0に対応している。以下同様であり、Y座標の
最大値をYmaxとすると、(Ymax−1)ライン目
の最初と最後の座標(0,Ymax)及び(Xmax,
Ymax)はそれぞれアドレス(A+Ymax*N)の
ビット15とアドレス(A+(Ymax+1)*N−
1)のビット0である。従って、座標(X,Y)からメ
モリアドレスMem_addrへの変換は次式により行
なわれる。
【0047】 Mem_addr=A+Y*N+FL(X/16) ……(7) ただし、FL(r)は少数点以下を切捨て、rを越えな
い最大の整数を意味している。また、座標(X,Y)か
らワード内でのビットポジションBit_posへの変
換式は、 Bit_pos=Mod16(X) ……(8) である。ただし、Mod16は16の剰余系である。
【0048】以上で説明した描画メモリを用いる時、図
7において各レジスタ及びインクリメンタ/デクリメン
タ32の初期値を以下のように設定する。ただし、始点
の座標をP0 (X0 ,Y0 )とする。 第1のレジスタ27 : N 第2のレジスタ28 : N−1 アドレジスタ31 : A+Y0 *N+FL(X0 /1
6) インクリメンタ/デクリメンタ32 : Mod16
(X0 ) ここで、Nは1ラインのワード数である。描画メモリに
おける1ワードが16ビットからなるとしているので、
インクリメンタ/デクリメンタ32はMod16の値を
格納するため4ビットしか必要としない。なお、X座標
がプラス方向、即ちあるワードから次のワードへ移動し
た場合にはカウンタはall0に、またX座標がマイナ
ス方向、即ちあるワードから手前のワードへ移動した場
合にはカウンタはall1になる。また、ラインレジス
タを2個用いているのは、ラインを越えた移動があった
場合の計算を容易にするためである。方向制御回路の出
力及びインクリメンタ/デクリメンタ32の出力するa
ll0信号とall1信号に基づいて制御回路33が生
成する制御信号を図9に示す。制御回路33は、図9に
基づいて制御信号cin、add/sub,inc,d
ec信号等を生成し、また、制御回路33は、図9に基
づいて加減算器の第2入力として3つのレジスタのうち
1つを選択する。
【0049】
【発明の効果】以上のように本発明によれば、各種線分
の描画をするときに、CPUからその線分に応じた定数
を座標計算回路に設定するだけでよいので、描画できる
曲線や直線の種類に応じてそれぞれ回路を設ける必要が
なくハードウェアが小型化できるとともに、座標計算を
行う際X座標とY座標の計算を交互に行うことでX座標
計算回路とY座標計算回路を共通化して1つの座標計算
回路をにすることができる。それにより、1つの座標計
算回路のコストを省くことができる。
【0050】また、グラフィックユニットで1つのオペ
レーションを行うのに3クロックサイクル必要なのに対
し、座標計算回路で新しい座標とそれの移動すべき方向
を計算するのに2クロックサイクルしか要としないた
め、グラフィックマイクロコンピュータの性能を下げる
ことなくハードウェアを小型化することができる。
【図面の簡単な説明】
【図1】 本発明の実施例を示すグラフィックマイクロ
コンピュータと描画メモリのブロック図である。
【図2】 本発明の共通化した座標計算回路のブロック
図である。
【図3】 共通化した座標計算回路3の動作タイミング
を示す図である。
【図4】 入力される座標の区分けを示す図である。
【図5】 移動前の座標と移動後の座標の組合せと出力
信号の関係を説明する図である。
【図6】 方向制御回路を説明する図である。
【図7】 アドレス生成回路を説明する図である。
【図8】 X−Y座標と描画メモリの対応について説明
する図である。
【図9】 アドレス生成回路の制御信号を説明する図で
ある。
【図10】 従来のグラフィックマイクロコンピュータ
と描画メモリのブロック図である。
【図11】 従来のグラフィックマイクロコンピュータ
の座標計算回路の内部構成を示すブロック図である。
【符号の説明】
1…CPU、3…共通化した座標計算回路、30〜33
…ラッチ回路、4…方向制御回路、34…バッファ、5
…グラフィックユニット、6…CPUインターフェース
バス、7…描画メモリ、8,9…定数レジスタ、10,
13,16…加算器、11,12…2次差分レジスタ、
14,15…1次差分レジスタ、17,18…座標レジ
スタ、23…X符号ビットラッチ回路、27…Y符号ビ
ットラッチ回路、100〜105…選択回路、107…
制御回路、108…カウンタ。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 CPUから初期値が設定され、描くべき
    線分を構成する点のX座標とY座標をN次多項式の値と
    して交互に演算する座標演算手段と、 座標演算手段によって演算されたX座標とY座標を遅延
    させる遅延手段と、 演算により求めたX座標およびY座標と、遅延したX座
    標およびY座標とに基づき、描画ドットの進むべき移動
    方向を演算する方向演算手段と、 方向演算手段により演算された描画ドットの移動方向に
    基づいて、書き込むべきドットが含まれるワードを描画
    メモリから読み出し、読み出したワードに描画ドットを
    書き込み、再び描画メモリに該ワードを書き込む描画手
    段と、を有するグラフィックマイクロコンピュータ。
  2. 【請求項2】 請求項1のグラフィックマイクロコンピ
    ュータにおいて、 前記座標演算手段は、さらにN次多項式の一次微分値よ
    り座標の進行方向符号を算出し、前記方向演算手段は、
    X座標およびY座標と、進行方向符号、遅延したX座標
    およびY座標とに基づき、描画ドットの進むべき移動方
    向を演算するグラフィックマイクロコンピュータ。
  3. 【請求項3】 請求項1のグラフィックマイクロコンピ
    ュータにおいて、 N次多項式は3次式であり、前記座標演算手段は、 設定された初期値をクロック毎に加算し、クロック数に
    対する1次の項を求める1次項演算手段と、 1次項演算手段で求めたクロック数に対する1次の項を
    クロック毎に加算してクロック数に対する2次の項を求
    める2次項演算手段と、 2次項演算手段で求めたクロック数に対する2次の項を
    クロック毎に加算してクロック数に対する3次の項を求
    める3次項演算手段と、を有するグラフィックマイクロ
    コンピュータ。
  4. 【請求項4】 請求項3のグラフィックマイクロコンピ
    ュータにおいて、 前記座標演算手段は、2次項演算手段で求めた2次の項
    の値を取り込んで進行方向符号として出力する進行方向
    符号ラッチ手段を有するグラフィックマイクロコンピュ
    ータ。
  5. 【請求項5】 請求項3のグラフィックマイクロコンピ
    ュータにおいて、 1次項演算手段は、 CPUからX座標に関する初期値が設定される第一の定
    数レジスタと、 CPUからY座標に関する初期値が設定される第二の定
    数レジスタと、 第一の定数レジスタと第二の定数レジスタの出力を交互
    に選択して出力する第一の選択手段と、 第一の選択手段の出力と第一の選択手段の出力に加算す
    べき値とが入力される第一の加算器とからなり、 2次項演算手段は、 第一の選択手段により第一の定数レジスタの出力が選択
    されているときは、第一の加算器の出力をラッチして出
    力する第一の2次差分レジスタと、 第一の選択手段により第二の定数レジスタの出力が選択
    されているときは、第一の加算器の出力をラッチして出
    力する第二の2次差分レジスタと、 第一の2次差分レジスタと第二の2次差分レジスタの出
    力を交互に選択して出力し、第一の加算器の第一の選択
    手段の出力に加算すべき値とする第二の選択手段と、 第一の2次差分レジスタと第二の2次差分レジスタの出
    力を交互に選択して出力する第三の選択手段と、 第三の選択手段の出力と第三の選択手段の出力に加算す
    べき値とが入力される第二の加算器とからなり、 3次項演算手段は、 第三の選択手段により第一の2次差分レジスタの出力が
    選択されているときは、第二の加算器の出力をラッチし
    て出力する第一の1次差分レジスタと、 第三の選択手段により第二の2次差分レジスタの出力が
    選択されているときは、第二の加算器の出力をラッチし
    て出力する第二の1次差分レジスタと、 第一の1次差分レジスタと第二の1次差分レジスタの出
    力を交互に選択して出力し、第二の加算器の第三の選択
    手段の出力に加算すべき値とする第四の選択手段と、 第一の1次差分レジスタと第二の1次差分レジスタの出
    力を交互に選択して出力する第五の選択手段と、 第五の選択手段と第五の選択手段の出力に加算すべき値
    とを加算する第三の加算器と、 第一の1次差分レジスタの出力が選択されているとき
    は、第三の加算器の出力をラッチして出力する第一の座
    標レジスタと、 第二の1次差分レジスタの出力が選択されているとき
    は、第三の加算器の出力をラッチして出力する第二の座
    標レジスタと、 第一の1次差分レジスタと第二の1次差分レジスタの出
    力を交互に選択して出力し、第三の加算器の第五の選択
    手段の出力に加算すべき値とする第六の選択手段とから
    なることを特徴とするグラフィックマイクロコンピュー
    タ。
  6. 【請求項6】 請求項5のグラフィックマイクロコンピ
    ュータにおいて、 第一の1次差分レジスタの出力のMSBを取り込んでX
    符号ビットとして出力する第一の符号ビットラッチ回路
    と、 第二の1次差分レジスタの出力のMSBを取り込んでY
    符号ビットとして出力する第二の符号ビットラッチ回路
    と、を有するグラフィックマイクロコンピュータ。
  7. 【請求項7】 請求項1のグラフィックマイクロコンピ
    ュータにおいて、 前記遅延手段は、座標演算手段によって演算されたX座
    標とY座標の値を出力クロックの1周期分ラッチして出
    力する第一のラッチ手段と、 第一のラッチ手段の出力を出力クロックの2周期分ラッ
    チして出力する第二のラッチ手段と、からなるグラフィ
    ックマイクロコンピュータ。
  8. 【請求項8】 請求項1のグラフィックマイクロコンピ
    ュータにおいて、 演算回数を管理する制御手段を備え、該演算手段は2ク
    ロックサイクル毎にデクリメントするカウンタを有し、
    カウンタ値が0になったとき演算の終了信号を発するこ
    とを特徴とするグラフィックマイクロコンピュータ。
JP11116192A 1992-04-30 1992-04-30 グラフィックマイクロコンピュータ Pending JPH05307611A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11116192A JPH05307611A (ja) 1992-04-30 1992-04-30 グラフィックマイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11116192A JPH05307611A (ja) 1992-04-30 1992-04-30 グラフィックマイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH05307611A true JPH05307611A (ja) 1993-11-19

Family

ID=14554027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11116192A Pending JPH05307611A (ja) 1992-04-30 1992-04-30 グラフィックマイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH05307611A (ja)

Similar Documents

Publication Publication Date Title
EP0249705B1 (en) Method and apparatus for producing a curved image on a graphics display device
EP0437379B1 (en) Curve generator
US5261034A (en) Graphics microcomputer for generating geometric figures
GB2226936A (en) Method and apparatus for implementing adaptive forward differencing using integer arithmetic
JPH05307611A (ja) グラフィックマイクロコンピュータ
JP2000187726A (ja) デ―タ補間方法および装置及び記憶媒体
US9286654B2 (en) Image scaling processor and image scaling processing method
JPH10283165A (ja) 演算装置及び演算方法
JP2855136B2 (ja) 画像編集機能を備えた情報処理装置
JP3390599B2 (ja) 除算装置
JP6275474B2 (ja) 半導体装置及びデータ転送装置
JPH0628153A (ja) 低誤差計算処理装置
JPH0210476A (ja) 曲線の折線近似装置
JP3193929B2 (ja) 画像処理装置
JP2018085130A (ja) データ転送装置及び半導体装置
JPH01166177A (ja) 太線描画方法
JPH07320044A (ja) イメージ・データのジオメトリ変換方法及び装置
JPH0683972A (ja) 曲線発生装置
JPH04260982A (ja) 直線ピクセル生成器及び直線ピクセル生成方法
JP2004110665A (ja) 数値演算プロセッサ
JPH03242694A (ja) 文字発生用アフィン変換・ドットメモリアドレス計算方式および装置
JPS63308639A (ja) ディジタル微分解析機
JPH0414094A (ja) 描画処理装置
JPH0285923A (ja) 関数値計算装置
JPH05233184A (ja) 曲線描画回路