1【特許請求の範囲】【請求項１】被除数レジスタの被除数データと、除数レジスタの除数データとを減算回路に入力して減算試行を行なわせるとともに、キャリー信号を商として出力し、さらに減算回路からの減算結果を被除数レジスタにフィードバックさせることにより必要回数の減算試行を行なわせる直線補間器用除算器において、上記両レジスタをシフトレジスタで構成するとともに、減算回路からの減算結果を両レジスタにフィードバック可能とし、さらに両データの大小を判別し、小さいデータが格納されてい 10るシフトレジスタをシフトレジスタとして作用させるとともに、他方のシフトレジスタを固定式のレジスタとして作用させ、減算回路からの減算結果をシフトレジスタとして作用するシフトレジスタにフィードバックさせる
制御信号を出力する判別回路を有することを特徴とする

2
直線補間器用除算器。
【請求項２】両シフトレジスタが、当初から浮動少数点形式に変換されたデータを入力されるものである上記特許請求の範囲第１項記載の直線補間器用除算器。
【発明の詳細な説明】＜産業上の利用分野＞
この発明は直線補間器用除算器に関し、さらに詳細にいえば、特に、グラフィック・ディスプレイ装置において、２点間を結ぶ直線を連続的に描画することができるようにするために好適に使用される直線補間器用除算器に関する。
＜従来の技術＞
グラフィック・ディスプレイ装置において、２点の座標値が与えられた場合に、その２点間を直線的に補間して、ディスプレイ上に、ドットが連続し、視覚的に連続(2)3した直線として把握することができるように描画することが要求される。
例えば、第２図Ａに示すように、２点が与えられた場合には、Ｘ方向の座標値の差がX1−X0,Y方向の座標値の差がＹ−１−Y0となり、図から明らかなように、（X1−X0）＞（Y1−Y0）である。したがって、この場合には、Ｘ方向については１づつの変化を与え、Ｙ方向については（Y1−Y0）／（X1−X0）づつの変化を与えることにより、同図中丸印で示すように、ドットが連続した状態で線分を描画することができる。
また、第２図Ｂで示すように、２点が与えられた場合には、Ｘ方向の座標値の差がX2−X0,Y方向の座標値の差がY2−Y0となり、図から明らかなように、（X2−X0）＜（Y2−Y0）である。この場合にも、Ｘ方向については１づつの変化を与え、Ｙ方向については（Y2−Y0）／（X2−X0）づつの変化を与えることにすれば、図中三角印で示すように、ドットが連続しない状態で線分を描画することになり、到底線分とはいえない描画状態になる。したがって、上記第２図Ａと同様のドットが連続した状態での線分の描画を行なおうとすれば、Ｙ方向については１づつの変化を与え、Ｘ方向については（X2−X0）／（Y2−Y0）づつの変化を与える必要がある。
このような点を考慮して、従来から、第３図に示すように、正規化回路（11）を通してデータＸをセレクタ（13）に入力しているとともに、正規化回路（12）を通してデータＹをセレクタ（14）に入力し、ラッチ回路（15）からの制御信号により両セレクタ（13）（14）から互に異なるデータX,Yを出力し、シフトレジスタからなる被除数レジスタ（16）、データをラッチするだけの除数レジスタ（17）に入力するようにしている。そして、被除数レジスタ（16）のデータと除数レジスタ（17）のデータとを、常時１のキャリー入力が与えられている加算回路（18）に入力することにより、減算試行を行ない、減算結果を被除数レジスタ（16）にフィードバックさせるとともに、キャリー出力データをも被除数レジスタ（16）に入力することにより、被除数レジスタ（16）のデータを更新して、減算試行を反復させることができるようにしている。また、加算回路（18）からのキャリー出力データを商として商レジスタ（19）に入力しているとともに、被除数レジスタ（16）に入力し、さらに上記ラッチ回路（15）にも入力して、上記データX,Yの大小判別を行なわせるようにしている。尚、（20）は減算試行回数を制御するためのカウンタである。
＜発明が解決しようとする問題点＞
上記従来の直線補間器用除算器は、セレクタ（13）（14）によりデータX,Yを選択して被除数レジスタ（16）、除数レジスタ（17）に入力することができるので、２点の座標値の如何に拘わらず常にドットが連続した状態での線分の描画を行なうことができるのであるが、被除数レジスタ（16）と除数レジスタ（17）とが常に固定され1020304050

特公平７−１０４８５４4ているので、両データの大小関係により制御される一対のセレクタ（13）（14）が必要である。そして、このセレクタ（13）（14）は、両データのビット幅が大きくなれば、必然的に配線容量が大きいものを使用しなければならず（例えば、各データのビット幅が16ビットであれば、全部で64ビットのビット幅が必要であり）、直線補間器用除算器全体としての配線容量の増大を招くので、LSI化することが非常に困難であるという問題がある。
また、上記データX,Yが格納されるレジスタは、当初から被除数レジスタ、除数レジスタとして機能が固定されているので、当初大小判別を行なった結果によっては、被除数レジスタ（16）、および除数レジスタ（17）に再度データX,Yを格納し直し、その後必要な回数の減算試行を行なわなければならず、除算動作を行なうための所要時間が全体として長くなるという問題もある。
＜発明の目的＞
この発明は上記の問題点に鑑みてなされたものであり、セレクタを不要として配線容量を減少させることができ、簡単にLSI化することができる直線補間器用除算器を提供することを目的としている。
＜問題点を解決するための手段＞
上記の目的を達成するための、この発明の直線補間器用
除算器は、２つのデータがそれぞれ入力されるレジスタをシフトレジスタで構成するとともに、減算回路からの減算結果を両レジスタにフィードバック可能とし、さらに両データの大小を判別し、小さいデータが格納されているレジスタのみをシフトレジスタとして作用させるとともに、他方のシフトレジスタを固定式のレジスタとして作用させ、減算回路からの減算結果をシフトレジスタとして作用するシフトレジスタにフィードバックさせる制御信号を出力する判別回路を有するものである。
但し、上記両シフトレジスタが、当初から浮動小数点形式に変換されたデータを入力されるものであってもよい。
＜作用＞
上記の構成の直線補間器用除算器であれば、当初２つのデータがそれぞれシフトレジスタに入力された状態で減算回路により減算を行なって、減算回路からのキャリー出力を判別回路に入力することにより、両データの大小関係を判別し、この判別結果に基いてレジスタに制御信号を入力することにより、小さいデータが格納されているレジスタをシフトレジスタとして動作させるとともに、他方のシフトレジスタを固定式のレジスタとして動作させ、減算回路からの減算結果をシフトレジスタとして動作するシフトレジスタにフィードバックさせることができる。
したがって、小さいデータが格納されているレジスタが被除数レジスタとして動作し、大きいデータが格納されているレジスタが除数レジスタとして動作することにより、その後は、従来の直線補間器用除算器と同様に動作

(3)5して、必要な除算結果を得ることができる。
また、上記両シフトレジスタが、当初から浮動小数点形式に変換されたデータを入力されるものであれば、シフトレジスタへのデータの格納を１回のみとすることができ、好ましい。
＜実施例＞
以下、実施例を示す添付図面によって詳細に説明する。
第１図はこの発明の直線補間器用除算器の一実施例を示すブロック図である。
一方のデータＸを正規化回路（１）により正規化して一方のシフトレジスタ（３）に入力しているとともに、他方のデータＹを正規化回路（２）により正規化して他方のシフトレジスタ（４）に入力している。ここで、各正規化回路はデータを浮動小数点形式に変換するものであり、従来公知のように、指数部データ、仮数部データおよび符号データを出力する。そして、仮数データがシフトレジスタに供給される。また、従来公知のように、各正規化回路は、変換処理が終了するまでの間は入力データをそのまま出力しており、この間に入力データがそのままシフトレジスタに入力、保持される。そして、両シフトレジスタ（３）（４）からの出力データを、常時１のキャリー入力が入力されて減算回路として動作する加算回路（５）（浮動小数点形式で表されたデータの仮数部、および指数部同士の大小比較をも行なうことができるもの）に入力し、加算回路（５）からの減算結果を上記両シフトレジスタ（３）（４）にフィードバック可能としている。ここで、従来公知のように、両シフトレジスタ（３）（４）からの出力データの一方を反転値として常時１のキャリー入力が入力されて減算回路として動作する加算回路（５）に供給することにより、減算結果を得ることができる。さらに上記加算回路（５）からのキャリーを出力を、商データとして商レジスタ（６）に入力するとともに、両シフトレジスタ（３）（４）に、シフト−ロード制御信号として入力し、さらに判別回路としてのラッチ回路（７）に入力している。但し、除算のための減算試行を行なう間、除数レジスタとして機能するシフトレジスタと被除数レジスタとして機能するシフトレジスタとは固定されている必要があるので、ラッチ回路（７）は、正規化回路（１）（２）にデータが供給された後、最初に加算回路（５）から出力されるキャリー出力を保持する。また、このキャリー出力が両シフトレジスタ（３）（４）にロード信号として供給され、変換処理により得られた浮動小数点形式のデータの仮数部データをシフトレジスタ（３）（４）にロードする。
そして、このラッチ回路（７）からの互に異なる制御信号（Ｑ出力、および 出力）を選択的にシフトレジスタ（３）（４）に入力するようにしている。ラッチ回路（７）からの互に異なる制御信号が選択的にシフトレジスタ（３）（４）に入力されることにより、一方が被除数レジスタとして機能するよう、即ち、シフトレジスタ

1020304050

特公平７−１０４８５４6として機能するよう制御されるとともに、他方が除数レジスタとして機能するよう、即ち、保持内容を変化させることなく反転値を出力するよう制御される。尚、（８）は上記加算回路（５）による減算試行回数を制御するためのカウンタである。ここで、減算試行回数は浮動小数点形式の被除数の指数部データに基いて定まるのであるから、ラッチ回路（７）からの制御信号によって被除数として選択された側の指数部データが初期値としてセットされる。
上記の構成の直線補間器用除算器によれば、例えば、第２図に示すＸ軸方向についての２点間の座標値の差がデータＸとして正規化回路（１）に入力され、Ｙ軸方向についての２点間の座標値の差がデータＹとして正規化回路（２）に入力されているとした場合には、以下のように動作して適正な直線補間を行なうことができる。
以下、詳述する。
先ず、データＸが正規化回路（１）により浮動小数点形式のデータＸ′に変換されてシフトレジスタ（３）に格納されるとともに、データＹが正規化回路（２）により浮動小数点形式のデータＹ′に変換されてシフトレジスタ（４）に格納される。
但し、浮動小数点形式のデータへの変換が終了するまでは、正規化回路（１）（２）から入力データX,Yがそのまま出力されているので、シフトレジスタ（３）（４）に供給し、シフトレジスタの一方から反転値を出力して加算回路（５）に供給することにより、例えばＸ＋ ＋１（＝Ｘ−Ｙ）の演算を行ない、演算結果の符号を示すキャリー出力をラッチ回路（７）に供給する。このラッチ回路（７）は、互に異なるＱ出力信号、および 出力信号をそれぞれシフトレジスタ（３）（４）の制御端子に入力しているので、一方がシフトレジスタとして動作し、他方がデータをラッチするだけでのレジスタとして動作することになる。即ち、シフトレジスタとして動作する側が、被除数レジスタとなり、他側が除数レジスタとなる。
したがって、以後は両シフトレジスタ（３）（４）の内容を加算回路（５）に入力することにより、減算試行を行ない、加算回路（５）からのキャリー出力の有無に対応させて、シフトレジスタとして動作する側の内容のシフト、またはシフトレジスタとして動作する側への減算結果のロードを選択的に行なわせるとともに、上記キャリー出力を商として商レジスタ（６）に格納する。その後は、カウンタ（８）に格納されている内容により定まる回数だけの減算試行を行なって除算結果を得ることができる。
より具体的に説明すると、第２図Ａに示す直線補間を行なう場合であれば、Ｘ＝X1−X0,Y＝Y1−Y0であり、Ｘ＞Ｙであるから、シフトレジスタ（４）がシフトレジスタとして動作し、シフトレジスタ（３）がデータをラッチするだけのレジスタとして動作し、商レジスタ（６）に(4)特公平７−１０４８５４

7Y/Xの除算結果を得ることができる。
また、第２図Ｂに示す直線補間を行なう場合であれば、
Ｘ＝X2−X0,Y＝Y2−Y0であり、Ｘ＜Ｙであるから、シフトレジスタ（３）がシフトレジスタとして動作し、シフトレジスタ（４）がデータをラッチするだけのレジスタとして動作し、商レジスタ（６）にX/Yの除算結果を得ることができる。
以上の実施例の場合には、シフトレジスタ（３）（４）へのデータのロードを１回行なうのみでよいから、データの転送時間を従来例と比較して少なくすることができ 10る。
また、この実施例においては、仮数部、および指数部の大小判別を同時に行なわなければならないので、加算回路（５）の構成がやや複雑化するが、指数部は多くても８ビット程度であるから、複雑化の程度は少なくてすみ、従来必要であった複雑な構成のセレクタを省略することができるので、直線補間器用除算器の構成を簡素化することができる。
尚、以上の実施例においては、当初からシフトレジスタ（３）（４）に浮動小数点形式に変換されたデータを格 20納する場合について説明したが、各正規化回路（１）（２）にセレクタを内臓させ、データX,Yをそのままシフトレジスタ（３）（４）に格納する動作と、浮動小数点形式に変換したデータＸ′,Y′をシフトレジスタ（３）（４）に格納する動作とを選択的に行ない得るようにすることもできる。
この場合には、正規化回路（１）（２）がセレクタを内蔵するので構成が複雑化すると思われるかもしれないが、上記内蔵セレクタは、データX,Yをそのまま出力するか、正規化されたデータＸ′,Y′を出力するかを選択 308するのみであるから、従来例におけるセレクタと比較して著しく簡素化することができ、しかも上記実施例と比較すると、加算回路（５）において指数部同士の大小を比較する必要がなくなるので、この部分に対応する構成の簡素化も達成することができる。
但し、この場合には、データX,Yをシフトレジスタ（３）（４）にロードして大小判別を行なった後、データＸ′,Y′をシフトレジスタ（３）（４）にロードしなければならないので、データの転送時間が上記実施例と比較してやや長くなるが、特に不都合はない。
＜発明の効果＞
以上のようにこの発明は、２点の座標データに基いて除算を行なう場合における除数と被除数との選択を、セレクタを使用することなく行なうことができるので、配線容量を減少させて直線補間器用除算器の構成を全体として簡素化し、LSI化を簡単に達成することができるという特有の効果を奏する。
特に当初から浮動小数点形式に変換されたデータをロードする場合には、データのロードが１回のみでよいた
め、全体としての除算時間を短縮することができるという効果をも奏する。
【図面の簡単な説明】
第１図はこの発明の直線補間器用除算器の一実施例を示
すブロック図、第２図は直線補間を行なうべき２点の関係を説明する図、第３図は従来の直線補間器用除算器を示すブロック図。
（１）（２）……正規化回路、（３）（４）……シフトレジスタ、（５）……加算回路、（７）……ラッチ回路

(5)【第１図】

特公平７−１０４８５４

(6)

【第２図】

特公平７−１０４８５４

(7)

【第３図】

特公平７−１０４８５４