JPH03185521A - Data processor - Google Patents

Data processor

Info

Publication number
JPH03185521A
JPH03185521A JP32372689A JP32372689A JPH03185521A JP H03185521 A JPH03185521 A JP H03185521A JP 32372689 A JP32372689 A JP 32372689A JP 32372689 A JP32372689 A JP 32372689A JP H03185521 A JPH03185521 A JP H03185521A
Authority
JP
Japan
Prior art keywords
data
instruction
executed
processor
overhead
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
JP32372689A
Other languages
Japanese (ja)
Inventor
Jiyunichi Tatezaki
舘崎 順一
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP32372689A priority Critical patent/JPH03185521A/en
Publication of JPH03185521A publication Critical patent/JPH03185521A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

PURPOSE:To reduce the overhead of area decision in the preprocessing of clipping of image data to be executed by a processor and to improve the through- put of a system by preparing an instruction for deciding whether a certain input data is included in a prescribed range or not. CONSTITUTION:An instruction for deciding the area of a point and setting up the decided result in a status register by a 2-bit code is prepared and the instruction is executed by a microprogram sequence stored in the processor. Thereby, the area decision of a point is executed by one instruction. Consequently, overhead due to the transfer of an instruction between respective processors can be reduced, the overhead of area decision in the preprocessing of clipping of image data to be executed by the processor can be reduced and the through- put of the system can be improved.

Description

【発明の詳細な説明】 [産業上の利用分野コ この発明は、データ処理技術さらにはプロセッサによる
クリッピング処理のような画像データの演算に適用して
特に有効な技術に関し、例えば、浮動小数点演算コプロ
セッサに利用して有効な技術に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] This invention relates to data processing technology and technology that is particularly effective when applied to image data calculations such as clipping processing by a processor. Concerning technology that is effective for use in processors.

[従来の技術] 従来、グラフィック表示システムにおいて、メモリ内に
座標と関数の形で格納されている第3図に示すような図
形Aのうち、−点鎖線Wで囲まれた部分を拡大したり回
転したりして表示させたいような場合、プロセッサによ
って先ず画像データの座標変換を行なってから着目する
点が表示領域(ウィンド〉Wの中に入っているか否かの
領域判定を行ない、次に2点を結ぶ線分がウィンドを通
過するか否かの領域判定を行ない、入っているときはウ
ィンドを通過する部分を切り出すクリッピング処理を行
なった後、画面への表示を行なうようにしていた。
[Prior Art] Conventionally, in a graphic display system, it is possible to enlarge a portion surrounded by a dashed line W of a figure A shown in FIG. If you want to display the image by rotating it, the processor first transforms the coordinates of the image data, then determines whether the point of interest is within the display area (window) W, and then performs two steps. A region is determined to determine whether or not a line segment connecting points passes through a window, and if it does, a clipping process is performed to cut out the portion that passes through the window before displaying it on the screen.

[発明が解決しようとする課題] 従来のグラフィック表示システムにおいては、上記のよ
うな画像データの処理を浮動小数点演算コプロセッサ(
以下、FPUと称する)が複数の命令を組み合せたプロ
グラムに従って実行していた。そのため、各命令でMP
U (マイクロプロセッサ)とFPU間のコマンドの受
渡しに要する時間がオーバヘッドとなり、データ処理速
度が低下する。特にクリッピングの前処理における領域
判定は扱うデータ量が非常に多いためトータルのオーバ
ヘッド時間がかなり高くなってしまい、システムのスル
ーブツトが低下してしまうという問題点があった。
[Problems to be Solved by the Invention] In conventional graphic display systems, the above image data processing is performed using a floating point arithmetic coprocessor (
The FPU (hereinafter referred to as FPU) executes a program that is a combination of multiple instructions. Therefore, each command requires MP
The time required to exchange commands between the U (microprocessor) and the FPU becomes overhead, reducing data processing speed. In particular, since the amount of data handled in region determination in pre-processing for clipping is extremely large, the total overhead time becomes quite high, resulting in a problem in that the throughput of the system decreases.

なお、MPUとFPUとからなるグラフィック処理シス
テムについては、1日経エレクトロニクス」 1988
年12月12日(no、462)、第207頁〜第21
7頁に記載されている。
Regarding the graphic processing system consisting of MPU and FPU, see Nikkei Electronics 1988.
December 12, 2015 (no, 462), pp. 207-21
It is described on page 7.

この発明の目的は、プロセッサによる画像データのクリ
ッピングの前処理における領域判定のオーバヘッドを減
らし、システムのスループットを向上させることにある
An object of the present invention is to reduce the overhead of area determination in pre-processing of image data clipping by a processor, and to improve system throughput.

この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.

[課題を解決するための手段] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
[Means for Solving the Problems] Representative inventions disclosed in this application will be summarized as follows.

点の領域判定を行ないその結果を2ビツトのコードでス
テータスレジスタに設定する命令を用意し、この命令を
プロセッサ内のマイクロプログラムシーケンスにより実
現させるものである。
An instruction for determining the area of a point and setting the result in a 2-bit code in a status register is prepared, and this instruction is implemented by a microprogram sequence within the processor.

また、上記領域判定の対象となるオペランドのデータタ
イプ(数、零、非数および無限大)をコード化し、その
コードの論理演算を行ない演算結果を領域判定結果に反
映させるようにした。
Furthermore, the data type (number, zero, non-number, and infinity) of the operand to be subjected to the area determination is coded, a logical operation is performed on the code, and the result of the operation is reflected in the area determination result.

[作用] 上記手段によれば、l命令で点の領域判定が実行される
ので、プロセッサ間の命令の受渡しに伴うオーバヘッド
を減らすことができる。
[Operation] According to the above means, since point area determination is executed by the l instruction, the overhead associated with the transfer of instructions between processors can be reduced.

また、領域判定の対象となるオペランドのデータタイプ
(数、零、非数および無限大)をコード化し、そのコー
ドの論理演算を行ない演算結果を領域判定結果に反映さ
せるようにしたので、大小比較が不能な場合における判
定結果が迅速に得られるようになる。
In addition, the data type of the operand that is subject to area determination (number, zero, non-number, and infinity) is coded, a logical operation is performed on that code, and the operation result is reflected in the area determination result, so it is possible to compare the size Judgment results can be quickly obtained in cases where this is not possible.

[実施例] 第1図には本発明が適用されるFPUの一実施例の全体
ブロック図が示されている。
[Embodiment] FIG. 1 shows an overall block diagram of an embodiment of an FPU to which the present invention is applied.

この実施例のFPUは、バス制御部BCUとフォーマッ
ト変換部FCUと浮動小数点演算部ECUとバイブライ
ン管理部PMUとから構成されている。上記バス制御部
BCUは、外部とのインタフェースに必要な信号を生成
してバス制御を行なうブロックで、命令に応じてCPU
とのハンドシェークの手順(プロトコル)を実行するプ
ロトコル制御論理と、フォーマット変換部の入出力デー
タと外部メモリ上のデータの並び方との整合をとるデー
タ・アライナとからなる。
The FPU of this embodiment includes a bus control unit BCU, a format conversion unit FCU, a floating point calculation unit ECU, and a vibe line management unit PMU. The bus control unit BCU is a block that performs bus control by generating signals necessary for interfacing with the outside, and controls the CPU according to instructions.
It consists of a protocol control logic that executes a handshake procedure (protocol) with the format converter, and a data aligner that matches the input/output data of the format converter with the arrangement of data on the external memory.

フォーマット変換部FCUは、データ入力時にはFPU
の各データ・フォーマット(整数3種、浮動小数点数3
種)を、内部で使用するデータ・フォーマットに変換す
るとともに、データ出力時には内部のデータ・フォーマ
ットから指定の外部データ・フォーマットに変換する。
The format conversion unit FCU is the FPU when inputting data.
data formats (3 types of integers, 3 types of floating point numbers)
(seed) to a data format used internally, and when outputting data, converts the internal data format to a specified external data format.

浮動小数点演算部ECUは、浮動小数点演算を実行する
ユニットで、浮動小数点データ・レジスタ、仮数算術演
算回路、乗算器、指数算術演算回路、初等関数の演算な
どに使う定数ROMおよびマイクロプログラムROMか
ら構成される。また、浮動小数点演算部ECUにはIE
EE規格で規定されている+/−無限大、+/−1非数
(n o t−a−numbe r)といった特有のデ
ータ・タイプの数を扱うため、これに使うタグ論理演算
回路も含む。
The floating-point arithmetic unit ECU is a unit that executes floating-point arithmetic operations, and consists of a floating-point data register, a mantissa arithmetic operation circuit, a multiplier, an exponent arithmetic operation circuit, a constant ROM used for elementary function operations, and a microprogram ROM. be done. In addition, IE is installed in the floating point calculation unit ECU.
It also includes tag logic operation circuits used to handle unique data types such as +/-infinity and +/-1 not-a-number specified in the EE standard. .

バイブライン管理部PMUは、バス制御部BCUとフォ
ーマット変換部FCU、浮動小数点演算部ECUの動作
状況とCPUからのアクセスの有無を各マシン・サイク
ルごとに監視して、最適なスケジューリングを行なうた
めの制御を担当する。
The vibeline management unit PMU monitors the operating status of the bus control unit BCU, format conversion unit FCU, and floating point calculation unit ECU and the presence or absence of access from the CPU for each machine cycle, and performs optimal scheduling. Responsible for control.

また、バイブライン管理部PMUは例外発生時の処理に
備えて、命令コードや命令アドレスなどの演算の履歴情
報を管理する3個の命令レジスタIR3〜IR,を備え
る。
In addition, the vibe line management unit PMU includes three instruction registers IR3 to IR for managing operation history information such as instruction codes and instruction addresses in preparation for processing when an exception occurs.

この実施例のFPUには、CPUから渡された一つの命
令で点の領域を判定を行ない判定コードを生成する命令
(以下、FLIMITと称する)が用意され、その命令
を演算部ECU内のマイクロプログラムROMに格納さ
れたマイクロプログラムによって実行するようになって
いる。
The FPU of this embodiment is provided with an instruction (hereinafter referred to as FLIMIT) that judges a point area and generates a judgment code using one instruction passed from the CPU, and the instruction is sent to the microprocessor in the calculation unit ECU. It is designed to be executed by a microprogram stored in a program ROM.

ただし、このFLIMIT命令を用いて3次元の座標系
において領域判定をするにはX系、Y系、Z系のそれぞ
れについてこの命令を使って上限値と下限値との比較を
行なう必要がある。
However, in order to perform region determination in a three-dimensional coordinate system using this FLIMIT command, it is necessary to use this command to compare the upper limit value and the lower limit value for each of the X, Y, and Z systems.

また、この命令ではデータタイプの演算を行なって通常
よりも速く判定結果が得られるようになっているがこの
場合のデータタイプDTrは、例えば領域判定の前に行
なわれる座標変換命令の実行等の際にデータのビットパ
ターンを解析することで被演算データごとに形成して、
例えば次の表1のように2ビツトのコードで表わすよう
にすればよい。あるいは、データがCPUから渡された
ときに、フォーマット変換部FCUでデータタイプを示
すコードを付加するようにしてもよい。
In addition, this instruction performs data type calculations to obtain judgment results faster than usual, but the data type DTr in this case is used to perform calculations on the data type, such as executing a coordinate transformation instruction that is performed before area judgment. By analyzing the bit pattern of the data at the time, it is formed for each operand data,
For example, it may be expressed as a 2-bit code as shown in Table 1 below. Alternatively, when data is passed from the CPU, a code indicating the data type may be added by the format conversion unit FCU.

表 表 すなわち、コードroOJは被演算データが算術演算可
能な数であることを、またコード「Ol」は被演算デー
タが零であり、コードrlOJは無限大の数、コード「
11」は数でないことをそれぞれ示している。
In other words, the code roOJ indicates that the operand data is a number that can be operated on, the code "Ol" indicates that the operand data is zero, and the code rlOJ indicates that the operand data is a number that can be operated on.
11'' indicates that it is not a number.

次に、上記領域判定命令FLIMITのマイクロプログ
ラムの一例をPASCAL (パスカル)と呼ばれる言
語で表記したものを示す。
Next, an example of a microprogram for the above area determination instruction FLIMIT written in a language called PASCAL will be shown.

PROGRAM  FLIMIT (Ul imi t
PROGRAM FLIMIT
.

Lmimit  5ource); egin i :=1 ; DR(0):=O; LIMIT  (Ul  imi  t、5ource
)  ;i:=2; LIMIT  (Source、Ll  imi  t
)  ;i:=3; LIMIT  (Ul  imi t、Ll imi 
t)  ;if  DR=1  then  go  
to  EXCResult:=[R(1)、R(2)
]  ;end。
L limit 5 sources); egin i :=1; DR(0):=O; LIMIT (U limit, 5 sources
) ;i:=2; LIMIT (Source, Ll imit
) ;i:=3; LIMIT (Ul imit, Ll imi
t) ;if DR=1 then go
to EXCResult:=[R(1),R(2)
] ;end.

なお、上記マイクロプログラムにおいてEXCは演算不
能であることをCPUへ知らせるための不定演算例外処
理を指し、R(1)、R(2)はそれぞれ表2のような
2ビツトのコードで示される演算結果としてステータス
レジスタにセットされる第1ビツトと第2ビツトの内容
を示す。また、LIMITは次のようなサブルーチンへ
移行することを示すマイクロ命令である。
Note that in the above microprogram, EXC refers to undefined operation exception handling to notify the CPU that the operation is impossible, and R(1) and R(2) are operations indicated by 2-bit codes as shown in Table 2. The contents of the first and second bits set in the status register as a result are shown. Further, LIMIT is a microinstruction indicating transition to the following subroutine.

Procedure  Lim1t (i、1nput
l、1nput2) ;egln DT r : =DT 1.add、DT 2 ;if
  DTr=OOthenbeginD R(i) :
 = D R(i −1)4u1.O;if 1npu
tl=(input2 then R(i) : =l
 ;if 1nput2=(input2 then 
R(i) : =0 ;end  ; else  DR(i) : =DR(i−1)、mu
l、1 ;end  ; 次に、上記マイクロプログラムに従った領域判定処理の
手順について説明する。
Procedure Lim1t (i, 1nput
l, 1nput2) ;egln DT r : =DT 1. add, DT 2 ; if
DTr=OOthenbeginD R(i):
= D R(i −1)4u1. O; if 1npu
tl=(input2 then R(i) : =l
;if 1nput2=(input2 then
R(i): =0; end; else DR(i): =DR(i-1), mu
l, 1 ; end ; Next, the procedure of area determination processing according to the above microprogram will be explained.

FLIMIT命令の実行が開始されると、先ず、変数i
を1としかつ変数DR(0)をOとしてから、入力デー
タと上限値との比較を行なうサブルーチンLIMITヘ
ジャンプする。
When the execution of the FLIMIT instruction starts, first, the variable i
is set to 1 and the variable DR(0) is set to O, and then jumps to the subroutine LIMIT which compares the input data with the upper limit value.

サブルーチンLIMITでは先ず入力データ(例えばX
座標)のデータタイプDTIと上限値(Xmax)のデ
ータタイプDT2を演算論理ユニットに供給して所定の
論理演算addを行なう、この論理演算addとしては
、例えば2ビツトのコードのうち上位ビットに関しては
論理和を、また下位ビットに関しては論理積をとるよう
な演算が考えられる。表3には2つのデータのデータタ
イプに関する上記add演算の真理値表を示す。その結
果は、表1に定義されているものと同じであり、「00
」なら数、「Ol」なら零、rl OJなら無限大、「
11Jなら非数であることを表す。
In the subroutine LIMIT, first input data (for example,
The data type DTI of the coordinates) and the data type DT2 of the upper limit value (Xmax) are supplied to the arithmetic logic unit to perform a predetermined logical operation add.For example, for the upper bit of the 2-bit code, Possible operations include logical sum and logical product for lower bits. Table 3 shows a truth table for the above add operation regarding two data types. The result is the same as defined in Table 1 and is “00
” is a number, “Ol” is zero, rl OJ is infinity, “
11J indicates that it is a non-number.

表  3 データタイプadd演算真理値表 サブルーチンでこのadd演算の結果、データタイプが
roOJとなったときは、変数DR(i−1)とrQJ
との累積を求めてから入力データと上限値との比較を行
なう。i=1のときDR(i−1)はDR(0)であり
、メインルーチンで予めR(0) =0としたので、求
めるDR(1)はOである。
Table 3 Data type add operation truth table When the data type becomes roOJ as a result of this add operation in the subroutine, variables DR(i-1) and rQJ
The input data is compared with the upper limit value after calculating the cumulative value. When i=1, DR(i-1) is DR(0), and since R(0) was previously set to 0 in the main routine, the DR(1) to be found is O.

そして、2つのデータの比較の結果入力データが上限値
よりも大きければR(1)を1とし、小さければR(1
)をOとする。
As a result of comparing the two data, if the input data is larger than the upper limit value, R(1) is set to 1, and if it is smaller, R(1) is set to 1.
) is O.

一方、サブルーチンでのadd演算の結果、データタイ
プがroOJ以外となったときは、変数DR(i−1)
 J−Ill トノ累積ヲ求メチ、DR(i)とする、
DR(0)=OであるのでD R(1) =1となる。
On the other hand, if the data type is other than roOJ as a result of the add operation in the subroutine, the variable DR(i-1)
J-Ill Tono cumulative value, set as DR(i),
Since DR(0)=O, DR(1)=1.

このようにしてサブルーチンを実行した後、メインル−
チへ戻り、変数iを2としてから入力データ(X座標)
と下限値(Xmin)との比較を行なうサブルーチンヘ
ジャンプする。そして、このサブルーチンでデータタイ
プのadd演算を行ない、結果がrooJならDR(i
−1)と「0」との累積を求めDR(i)とする。ここ
では、i=2であるため、前回(i=1)のサブルーチ
ン実行でDR(1)=1となっていればD R(2)は
「l」であり、DR(1)=OならD R(2)はrQ
Jとなる。
After executing the subroutine in this way, the main routine
Go back to step 1, set the variable i to 2, then enter the input data (X coordinate)
A jump is made to a subroutine that compares the value and the lower limit value (Xmin). Then, this subroutine performs an add operation on the data type, and if the result is rooJ, then DR(i
-1) and "0" is calculated and set as DR(i). Here, since i=2, if DR(1)=1 in the previous subroutine execution (i=1), DR(2) is "l", and if DR(1)=O D R(2) is rQ
It becomes J.

また、入力データが下限値よりも小さければR(2〉を
rlJとし、大きければR(2)を「0」とする。
Furthermore, if the input data is smaller than the lower limit value, R(2> is set to rlJ, and if it is larger, R(2) is set to "0".

add演算の結果がroOJ以外のときはDR(i )
  : =DR(i −1) 、a+u1.lによりD
 R(2)はlとされて、サブルーチンが終了する。
If the result of the add operation is other than roOJ, DR(i)
: =DR(i-1), a+u1. D by l
R(2) is set to l, and the subroutine ends.

その後、再びメインルーチンへ戻って、先ず変数iを「
3」としてから、上限値(X wax )と下限値(X
min)とを比較するサブルーチンを実行する。下限値
と上限値が逆に設定されていないか判定するためである
。下限値と上限値が逆に設定されていると、i=lとi
=2のサブルーチンの実行の際にデータタイプの演算結
果がroOJとなり、R(1)とR(2)がともに「1
」とされる。入力データと上限値、下限値のいずれかが
無限大または非数であったり、上限値と下限値がともに
零であったときは、最後にDR(3)が「1」にされる
、上記サブルーチン実行後、メインルーチンへ戻ってD
Rの値が「l」か否か判定し、rlJなら不定演算例外
処理EXCへ移行して例えばR(1)。
After that, return to the main routine again and first set the variable i to "
3”, then set the upper limit (X wax ) and lower limit (X
Executes a subroutine that compares min). This is to determine whether the lower limit value and upper limit value are set oppositely. If the lower limit and upper limit are set oppositely, i=l and i
When the subroutine with =2 is executed, the data type calculation result becomes roOJ, and both R(1) and R(2) become "1".
”. If either the input data, the upper limit value, or the lower limit value is infinite or a non-number, or if the upper limit value and the lower limit value are both zero, DR(3) is set to "1" at the end, as described above. After executing the subroutine, return to the main routine and press D.
It is determined whether the value of R is "l" or not, and if it is rlJ, the process moves to indefinite operation exception handling EXC, for example, R(1).

R(2)をrl、IJとするような処理を行なう。Processing is performed to set R(2) to rl and IJ.

DRの値が「0」のときはサブルーチンLIMITの実
行ニヨッテ得らtしたR(1)、R(2)をrl。
When the value of DR is "0", the subroutine LIMIT is executed and the obtained R(1) and R(2) are rl.

1」とするような処理を行なう。DRの値が「0」のと
きはサブルーチンLIMITの実行によって得られたR
(1)、 R(2)の値をステータスレジスタの所定の
ビットにセットして終了する。
1". When the value of DR is "0", R obtained by executing the subroutine LIMIT
(1), sets the values of R(2) to predetermined bits of the status register and ends.

上記FLIMIT命令による領域判定処理は、一つの座
標(X系)に関するもので、2次元座標ではY座標につ
いて同様の命令を実行し、3次元座標では、さらにX座
標について同様の命令を実行して、それぞれの座標系に
ついての判定結果を2ビツトのコードでステータスレジ
スタにセットするようにされている。ステータスレジス
タにセットされたコードはCPUによって読み込まれて
線の領域判定に供される。
The region determination process using the above FLIMIT command is related to one coordinate (X system); for two-dimensional coordinates, a similar command is executed for the Y coordinate, and for three-dimensional coordinates, a similar command is executed for the X coordinate. , the determination results for each coordinate system are set in the status register as a 2-bit code. The code set in the status register is read by the CPU and used for line area determination.

第2図には2次元座標系における点の領域判定の結果(
コード)と上限値および下限値との関係を示す。対象と
なった点がウィンドの中に入っていれば4ビツトのコー
ドはオールゼロとなり、ウィンドの外にあれば4ビツト
のコードのいずれかに「1」が立つ。
Figure 2 shows the results of area determination of points in a two-dimensional coordinate system (
(code) and the upper and lower limit values. If the target point is within the window, the 4-bit code will be all zeros, and if it is outside the window, one of the 4-bit codes will be ``1''.

従って、CPUにおいて2つの点に関する判定結果がと
もにオールゼロなら2つの点を結ぶ線分はウィンド内に
あると判定し、また判定コードの論理積をとってその結
果がオールゼロなら線分の一部がウィンド内を通過する
可能性ありとして線分の中点を求める等の処理を行なっ
てクリッピングが必要か否か判定する。一方、2つの点
に関する領域判定コードの論理積がオールゼロ以外のと
きは線分はウィンドを通過しないと判定してクリッピン
グ処理を行なわないとすることができる。
Therefore, in the CPU, if the judgment results for two points are all zero, it is judged that the line segment connecting the two points is within the window, and if the judgment code is ANDed and the result is all zero, then part of the line segment is It is determined whether clipping is necessary by performing processing such as finding the midpoint of the line segment, assuming that there is a possibility that the line segment may pass through the window. On the other hand, when the logical product of the area determination codes regarding the two points is other than all zeros, it can be determined that the line segment does not pass through the window, and the clipping process is not performed.

以上説明したように上記実施例は、点の領域判定を行な
いその結果を2ビツトのコードでステータスレジスタに
設定する命令を用意し、この命令をプロセッサ内のマイ
クロプログラムシーケンスにより実現させるようにした
ので、1命令で点の領域判定が実行されるので、プロセ
ッサ間の命令の受渡しに伴うオーバヘッドを減らすこと
ができ、プロセッサによる画像データのクリッピングの
前処理における領域判定のオーバヘッドを減らし、シス
テムのスループットを向上させることができる。
As explained above, in the above embodiment, an instruction is prepared for determining the area of a point and setting the result in a 2-bit code in the status register, and this instruction is realized by a microprogram sequence within the processor. , since point region determination is executed with one instruction, it is possible to reduce the overhead associated with passing instructions between processors, reduce the overhead of region determination in preprocessing of image data clipping by the processor, and improve system throughput. can be improved.

また、領域判定の対象となるオペランドのデータタイプ
(数、零、非数および無限大)をコード化し、そのコー
ドの論理演算を行ない演算結果を領域判定結果に反映さ
せるようにしたので、大小比較が不能な場合における判
定結果が迅速に得られるようになり、システムのスルー
プットが向上するという効果がある。
In addition, the data type of the operand that is subject to area determination (number, zero, non-number, and infinity) is coded, a logical operation is performed on that code, and the operation result is reflected in the area determination result, so it is possible to compare the size This has the effect of increasing the throughput of the system by making it possible to quickly obtain judgment results in cases where this is not possible.

以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、本実施例におけ
るサブルーチンでの2つのデータのデータタイプの論理
演算は表3に示すようなものに限定されず、データタイ
プを表す2ビツトのコードの上位および下位それぞれに
ついて論理和をとるようにしてもよい。
Although the invention made by the present inventor has been specifically explained above based on Examples, it goes without saying that the present invention is not limited to the above Examples and can be modified in various ways without departing from the gist thereof. Nor. For example, the logical operations on the data types of two data in the subroutine in this embodiment are not limited to those shown in Table 3, but may be performed by performing a logical OR on the upper and lower parts of the 2-bit code representing the data type. You can also do this.

以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野である浮動小数点演算コプ
ロセッサに適用したものについて説明したが、この発明
はそれに限定されるものでなく、マイクロプロセッサそ
の他データ処理装置一般に利用することができる。
In the above description, the invention made by the present inventor was mainly applied to a floating-point arithmetic coprocessor, which is the background field of application, but the invention is not limited thereto, and is applicable to microprocessors and other applications. It can be used in general data processing devices.

[発明の効果] 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
[Effects of the Invention] The effects obtained by typical inventions disclosed in this application are briefly explained below.

すなわち、グラフィック表示システムにおいてプロセッ
サによる画像データのクリッピングの前処理における領
域判定のオーバヘッドを減らし、システムのスルーブツ
トを向上させることができる。
That is, in a graphic display system, the overhead of area determination in pre-processing of image data clipping by a processor can be reduced, and the throughput of the system can be improved.

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

第1図は本発明が適用される浮動小数点演算コプロセッ
サの一例を示すブロック図、 第2図は領域判定結果を示すコードと境界値との関係を
示す説明図、 第3図はクリッピング処理の概要を示す説明図である。 BCU・・・・バス制御部、FCU・・・・フォーマッ
ト変換部、ECU・・・・浮動小数点演算部、PMU・
・・・パイプライン管理部、 IR・・・・命令レジ スタ。
Fig. 1 is a block diagram showing an example of a floating point arithmetic coprocessor to which the present invention is applied, Fig. 2 is an explanatory diagram showing the relationship between the code indicating the area determination result and the boundary value, and Fig. 3 is the clipping process. It is an explanatory diagram showing an outline. BCU: Bus control unit, FCU: Format conversion unit, ECU: Floating point calculation unit, PMU:
...Pipeline management section, IR...Instruction register.

Claims (1)

【特許請求の範囲】 1、ある入力データが所定の範囲に含まれているか否か
判定する命令を備えていることを特徴とするデータ処理
装置。 2、上記命令がマイクロプログラムシーケンスにより実
行されるようにされていることを特徴とする請求項1記
載のデータ処理装置。 3、上記入力データおよび比較される値のデータタイプ
を少なくとも数、零、無限大および非数の4つに区別し
てコードで表わし、そのコード同士の論理演算を行なっ
て、その結果に基づいて上記マイクロプログラムシーケ
ンスによる処理の流れを変更するようにされていること
を特徴とする請求項2記載のデータ処理装置。
[Scope of Claims] 1. A data processing device characterized by comprising an instruction for determining whether certain input data is included in a predetermined range. 2. The data processing device according to claim 1, wherein said instructions are executed by a microprogram sequence. 3. Distinguish the data types of the input data and the values to be compared into at least four types: numbers, zeros, infinities, and non-numbers and represent them in codes, perform logical operations on the codes, and based on the results, perform the above operations. 3. The data processing apparatus according to claim 2, wherein the data processing apparatus is adapted to change the flow of processing according to a microprogram sequence.
JP32372689A 1989-12-15 1989-12-15 Data processor Pending JPH03185521A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32372689A JPH03185521A (en) 1989-12-15 1989-12-15 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32372689A JPH03185521A (en) 1989-12-15 1989-12-15 Data processor

Publications (1)

Publication Number Publication Date
JPH03185521A true JPH03185521A (en) 1991-08-13

Family

ID=18157922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32372689A Pending JPH03185521A (en) 1989-12-15 1989-12-15 Data processor

Country Status (1)

Country Link
JP (1) JPH03185521A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009538486A (en) * 2006-05-25 2009-11-05 クゥアルコム・インコーポレイテッド Graphic processor with arithmetic and elementary function units
US8644643B2 (en) 2006-06-14 2014-02-04 Qualcomm Incorporated Convolution filtering in a graphics processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009538486A (en) * 2006-05-25 2009-11-05 クゥアルコム・インコーポレイテッド Graphic processor with arithmetic and elementary function units
US8644643B2 (en) 2006-06-14 2014-02-04 Qualcomm Incorporated Convolution filtering in a graphics processor

Similar Documents

Publication Publication Date Title
US5357237A (en) In a data processor a method and apparatus for performing a floating-point comparison operation
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
TWI506539B (en) Method and apparatus for decimal floating-point data logical extraction
CA1119731A (en) Multibus processor for increasing execution speed using a pipeline effect
JPH06236257A (en) Method and apparatus for post-normalization at inside of floating-point execution unit in data processor
JPS61288226A (en) External condition control system
US5440702A (en) Data processing system with condition code architecture for executing single instruction range checking and limiting operations
US7395297B2 (en) Floating point system that represents status flag information within a floating point operand
US5341320A (en) Method for rapidly processing floating-point operations which involve exceptions
JP2012507796A (en) Instructions and logic for range detection
US7069288B2 (en) Floating point system with improved support of interval arithmetic
US10761806B2 (en) Transcendental calculation unit apparatus and method
US6036350A (en) Method of sorting signed numbers and solving absolute differences using packed instructions
JPH09212337A (en) Floating-point arithmetic processor
JP3793155B2 (en) Source register locking in data processing equipment
JPS63261449A (en) Data processor
US6378067B1 (en) Exception reporting architecture for SIMD-FP instructions
JPH07244589A (en) Computer system and method to solve predicate and boolean expression
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US6226737B1 (en) Apparatus and method for single precision multiplication
US5390306A (en) Pipeline processing system and microprocessor using the system
GB2120426A (en) Operation processing apparatus
JPH03185521A (en) Data processor
US6175907B1 (en) Apparatus and method for fast square root calculation within a microprocessor