JPH0378832A - Data processor - Google Patents
Data processorInfo
- Publication number
- JPH0378832A JPH0378832A JP21658989A JP21658989A JPH0378832A JP H0378832 A JPH0378832 A JP H0378832A JP 21658989 A JP21658989 A JP 21658989A JP 21658989 A JP21658989 A JP 21658989A JP H0378832 A JPH0378832 A JP H0378832A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data type
- comparison
- flag
- condition
- 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
Links
- 238000000034 method Methods 0.000 abstract description 14
- 101100328463 Mus musculus Cmya5 gene Proteins 0.000 abstract 1
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は、例えばLISP言語処理系等のデータ処理装
置に関する。DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Field of Industrial Application) The present invention relates to a data processing device such as a LISP language processing system.
(従来の技術)
従来、複素数値をデータ型として示す機能を有する言語
処理系のデータ処理装置には、データ型の判定を命令実
行時に行なう方式がある。このような方式において、数
値データの大小比較の比較演算を行なう場合に、複素数
の大小比較は数学的に意味がないので、複素数を対象と
した大小比較演算が実行しないような処理または誤って
実行した場合にそれを検出して適切な処理を行なう必要
がある。(Prior Art) Conventionally, in language processing type data processing devices having a function of indicating complex values as data types, there is a method in which the data type is determined at the time of executing an instruction. In such a method, when performing a comparison operation to compare the magnitude of numerical data, since the comparison of the magnitude of complex numbers has no mathematical meaning, it is necessary to perform a comparison operation that does not perform a magnitude comparison operation for complex numbers or is performed incorrectly. If this occurs, it is necessary to detect it and take appropriate action.
従来では、第3図のフローチャートに示すように、大小
比較演算(ステップS3)を独立した処理単位とした場
合に、オペランドのデータ型が複素数であるか否かを検
出する処理(ステップSl。Conventionally, as shown in the flowchart of FIG. 3, when the magnitude comparison operation (step S3) is made into an independent processing unit, the process of detecting whether the data type of the operand is a complex number (step S1).
S2)が行なわれている。しかしながら、前記のような
方式では、複素数のデータ型を有しない言語処理系にお
いて一般的である最適化の処理、即ち例えば1つの比較
命令の結果を複数の比較命令の実行の際に利用する処理
を実行することは困難となる。S2) is being performed. However, in the above-mentioned method, optimization processing that is common in language processing systems that do not have complex number data types, that is, processing that uses the result of one comparison instruction when executing multiple comparison instructions, for example. It becomes difficult to carry out.
(発明が解決しようとする課題)
従来の複素数値をデータ型として示す機能を有する言語
処理系の装置では、数値データの大小比較の比較演算を
行なう場合に、複素数を対象とした大小比較演算を実行
しない処理が必要となる。(Problems to be Solved by the Invention) Conventional language processing devices that have the function of indicating complex values as data types have to perform magnitude comparison operations on complex numbers when performing comparison operations to compare the magnitude of numerical data. Processing that will not be executed is required.
このため、例えば1つの比較命令の結果を複数の比較命
令の実行の際に利用するような最適化の処理は困難とな
り、複素数のデータ型を有しない言語処理系に対して、
数値比較演算の処理速度が低下する欠点がある。For this reason, optimization processing that uses the result of one comparison instruction when executing multiple comparison instructions, for example, becomes difficult, and for language processing systems that do not have complex number data types,
The disadvantage is that the processing speed of numerical comparison operations is reduced.
本発明の目的は、複素数値をデータ型として示す機能を
有する言語処理系において、数値比較演算を効率的に実
行することがデータ処理装置を提供することにある。An object of the present invention is to provide a data processing device that can efficiently execute numerical comparison operations in a language processing system that has a function of indicating complex values as a data type.
C発明の構成コ
(課題を解決するための手段と作用)
本発明は、複素数値をデータ型として示す機能を有し、
データ型の判定を命令実行時に行なう例えばLISP言
語処理系のデータ処理装置において、
比較演算命令の実行時に、オペランドのデータ型を判定
し、少なくとも一方のオペランドのデータ型が複素数値
の場合にコンディションコードの特定フラグをコンディ
ションコードレジスタにセットするフラグセット手段及
び条件分岐命令の実行時に、コンディションコードレジ
スタに特定フラグがセットされている場合に、処理を中
断するための割込み信号(トラップ)を発生する制御手
段を備えた装置である。Configuration of invention C (Means and effects for solving the problem) The present invention has a function of indicating a complex value as a data type,
For example, in a data processing device of a LISP language processing system, where the data type is determined at the time of instruction execution, the data type of the operand is determined at the time of execution of a comparison operation instruction, and if the data type of at least one operand is a complex value, a condition code is generated. flag setting means to set a specific flag in the condition code register, and control to generate an interrupt signal (trap) to interrupt processing if a specific flag is set in the condition code register when executing a conditional branch instruction. It is a device equipped with means.
このような構成により、複素数のデータ型を有しない言
語処理系と同様に比較演算命令及び条件分岐命令を配置
でき、結果的に数値比較演算の処理速度の向上を図るこ
とが可能となる。With this configuration, comparison operation instructions and conditional branch instructions can be arranged in the same way as in a language processing system that does not have a complex number data type, and as a result, it is possible to improve the processing speed of numerical comparison operations.
(実施例)
以下図面を参照して本発明の詳細な説明する。第1図は
同実施例に係わるデータ処理装置に使用される条件分岐
制御回路の構成を示すブロック図である。第1図に示す
ように、同実施例の回路には、割込み処理を含めた命令
実行サイクルを制御するためのシーケンサ10.比較演
算命令の実行結果を保持するためのコンディションコー
ドレジスタ(条件フラグレジスタ) 11、命令を解読
するための命令デコーダ12及びアンド回路13.オア
回路14の各論理ゲート回路が設けられている。(Example) The present invention will be described in detail below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a conditional branch control circuit used in a data processing apparatus according to the same embodiment. As shown in FIG. 1, the circuit of the same embodiment includes a sequencer 10 for controlling instruction execution cycles including interrupt processing. A condition code register (condition flag register) for holding the execution result of the comparison operation instruction 11, an instruction decoder 12 and an AND circuit 13 for decoding the instruction. Each logic gate circuit of the OR circuit 14 is provided.
同実施例の条件フラグレジスタ11には、通常使用され
るフラグZ(ゼロ)、フラグN(負)、フラグV(オー
バーフロー)、フラグC(桁上げ発生)以外に、オペラ
ンドのデータ型が複素数値であることを指示するための
フラグPが格納される。In the condition flag register 11 of the same embodiment, in addition to the normally used flag Z (zero), flag N (negative), flag V (overflow), and flag C (carry occurrence), the data type of the operand is a complex value. A flag P for indicating that this is the case is stored.
ここで、同実施例では、第2図に示すように、1語のデ
ータ表現は、データ型(整数、複素数等)を示すタグ部
20及び値または他のデータ構造のポインタ(アドレス
)を示すデータ部21からなる。Here, in the same embodiment, as shown in FIG. 2, a one-word data representation includes a tag section 20 indicating the data type (integer, complex number, etc.) and a pointer (address) of a value or other data structure. It consists of a data section 21.
次に、同実施例の動作を説明する。先ず、本発明のデー
タ処理装置は、複素数値のデータ型を有し、比較演算命
令の実行時に、その命令を構成するオペランドのデータ
型を判定する。この判定結果により、オペランド(複数
のオペランドの少なくとも一方)のデータ型が複素数値
を示すものであれば、第1図に示す条件フラグレジスタ
11のフラグPをセットする。いずれのオペランドもデ
ータ型が複素数値を示すものでなければ、条件フラグレ
ジスタ11のフラグPはリセットの状態である。Next, the operation of this embodiment will be explained. First, the data processing device of the present invention has a complex value data type, and when executing a comparison operation instruction, determines the data type of an operand that constitutes the instruction. As a result of this determination, if the data type of the operand (at least one of the plurality of operands) indicates a complex value, flag P in the condition flag register 11 shown in FIG. 1 is set. If the data type of any operand does not indicate a complex value, the flag P of the condition flag register 11 is in a reset state.
ここで、フラグPは、算術演算の実行等の際に、条件フ
ラグレジスタ11の他のフラグ(C,V、N。Here, the flag P is set to the other flags (C, V, N) of the condition flag register 11 when executing an arithmetic operation or the like.
2)と同一のタイミングで更新(リセット)される。It is updated (reset) at the same timing as 2).
次に、条件分岐制御回路により、比較演算命令の実行結
果に基づいて、次の命令を決定する条件分岐命令の実行
に移行する。この条件分岐命令の実行では、命令デコー
ダ12から参照する分岐条件フラグ(フラグ2を除くフ
ラグC,V、N)がオア回路14へ出力される。即ち、
条件分岐命令の命令コードには、分岐条件を決定するた
めのフラグZ以外のフラグからなる条件マスクが指定さ
れている。このオア回路14から分岐条件フラグが、ア
ンド回路13の一方の入力端子に出力される。Next, the conditional branch control circuit moves to execution of a conditional branch instruction that determines the next instruction based on the execution result of the comparison operation instruction. In executing this conditional branch instruction, the branch condition flags (flags C, V, and N excluding flag 2) referenced from the instruction decoder 12 are output to the OR circuit 14. That is,
A condition mask consisting of flags other than flag Z for determining the branch condition is specified in the instruction code of the conditional branch instruction. The branch condition flag is output from this OR circuit 14 to one input terminal of the AND circuit 13.
一方、条件フラグレジスタ11には、比較演算命令の実
行結果であるフラグ(C,V、N、Z)及び複素数値の
データ型の判定結果を示すフラグPがセットされている
。条件フラグレジスタ11の7ラグZ以外のフラグは、
アンド回路13の他方の入力端子に出力される。これに
より、アンド回路13は、命令デコーダ12からの条件
マスクの一致及びフラグPがセットされていれば、処理
を中断させるためのトラップ(割込み信号)をシーケン
サlOへ出力する。On the other hand, in the condition flag register 11, flags (C, V, N, Z) representing the execution results of the comparison operation instructions and flags P representing the determination results of the data type of complex values are set. Flags other than 7 lag Z of condition flag register 11 are as follows:
It is output to the other input terminal of the AND circuit 13. As a result, if the condition mask from the instruction decoder 12 matches and the flag P is set, the AND circuit 13 outputs a trap (interrupt signal) to interrupt the processing to the sequencer IO.
このようにして、条件分岐命令の実行時に、比較演算命
令の実行結果及び条件分岐命令により指定される条件マ
スク(分岐条件フラグ)とが一致する条件が成立し、か
つフラグP(特定フラグ)がセットされていれば、アン
ド回路13から処理を中断させるためのトラップが出力
される。このトラップにより、複素数値の大小比較を実
行するような不都合な比較演算処理を検出し、この比較
演算処理に基づいた処理を中断させることが可能となる
。In this way, when the conditional branch instruction is executed, the condition that the execution result of the comparison operation instruction and the condition mask (branch condition flag) specified by the conditional branch instruction match is satisfied, and the flag P (specific flag) is If set, the AND circuit 13 outputs a trap for interrupting processing. This trap makes it possible to detect an inconvenient comparison operation process such as comparing the magnitudes of complex values, and to interrupt the process based on this comparison operation process.
[発明の効果]
以上詳述したように本発明によれば、複素数値をデータ
型として示す機能を有する言語処理系において、比較演
算命令の実行時に複素数値のデータ型の判定結果に基づ
いて、条件分岐命令の実行時に複素数値の大小比較を実
行するような不都合な比較演算処理を検出し、この比較
演算処理に基づいた処理を中断させることができる。[Effects of the Invention] As detailed above, according to the present invention, in a language processing system having a function of indicating a complex value as a data type, based on the determination result of the data type of the complex value when executing a comparison operation instruction, It is possible to detect an inconvenient comparison operation such as comparing the magnitude of complex values when executing a conditional branch instruction, and to interrupt processing based on this comparison operation.
したがって、従来のように比較演算の実行時に複素数値
をデータ型を検出する処理を不要にすることができる。Therefore, it is possible to eliminate the need for the conventional process of detecting the data type of a complex value when performing a comparison operation.
これにより、例えば1つの比較命令の結果を複数の比較
命令の実行の際に利用するような最適化の処理が可能と
なり、結果的に複素数値をデータ型として示す機能を有
する言語処理系の数値比較演算を効率的に実行すること
ができるものである。This makes it possible to perform optimization processing, such as using the result of one comparison instruction when executing multiple comparison instructions, and as a result, the numerical value of a language processing system that has the function of representing complex values as a data type. This allows comparison operations to be executed efficiently.
第1図は本発明の実施例に係わる条件分岐制御回路の構
成を示すブロック図、第2図は同実施例のデータ表現を
説明するための概念図、第3図は従来の方式を説明する
ためのフローチャートである。
lO・・・シーケンサ、11・・・コンディションコー
ドレジスタ、■2・・・命令デコーダ。Fig. 1 is a block diagram showing the configuration of a conditional branch control circuit according to an embodiment of the present invention, Fig. 2 is a conceptual diagram for explaining data expression in the embodiment, and Fig. 3 explains a conventional system. This is a flowchart for lO...Sequencer, 11...Condition code register, ■2...Instruction decoder.
Claims (1)
型の判定を命令実行時に行なうデータ処理装置において
、 比較演算命令の実行時に、オペランドのデータ型を判定
し、少なくとも一方のオペランドのデータ型が複素数値
の場合にコンディションコードの特定フラグをコンディ
ションコードレジスタにセットするフラグセット手段と
、 条件分岐命令の実行時に、前記コンディションコードレ
ジスタに前記特定フラグがセットされている場合に、処
理を中断するための割込み信号を発生する制御手段とを
具備したことを特徴とするデータ処理装置。[Scope of Claims] A data processing device having a function of indicating a complex value as a data type and determining the data type at the time of executing an instruction, the data type of the operand being determined at the time of executing a comparison operation instruction, and at least one of the operands being determined. flag setting means for setting a specific flag of a condition code in a condition code register when the data type of an operand is a complex value; 1. A data processing device comprising: a control means for generating an interrupt signal for interrupting processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21658989A JPH0378832A (en) | 1989-08-23 | 1989-08-23 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21658989A JPH0378832A (en) | 1989-08-23 | 1989-08-23 | Data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0378832A true JPH0378832A (en) | 1991-04-04 |
Family
ID=16690790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21658989A Pending JPH0378832A (en) | 1989-08-23 | 1989-08-23 | Data processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0378832A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980024622A (en) * | 1996-09-13 | 1998-07-06 | 다까노 야스아끼 | Program execution method and device using the method |
-
1989
- 1989-08-23 JP JP21658989A patent/JPH0378832A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980024622A (en) * | 1996-09-13 | 1998-07-06 | 다까노 야스아끼 | Program execution method and device using the method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0331372B1 (en) | Method of and apparatus using floating point execption signals for controlling several processors | |
JPS62226232A (en) | Control system for branch instruction | |
JPH0378832A (en) | Data processor | |
JP2513765B2 (en) | Conditional branching control method in pipeline processing | |
JP2557629B2 (en) | Interrupt method | |
JP3658879B2 (en) | Pipeline calculator | |
JP2503210B2 (en) | Micro program controller | |
JPH06162067A (en) | Device and method for controlling vector instruction | |
JPH0352092B2 (en) | ||
JPH02148140A (en) | Conditional branch control system for information processor | |
JPH0512007A (en) | Data processing system | |
JPS6373335A (en) | Information processor | |
JPH0651955A (en) | Information processor with floating point arithmetic function | |
JPS63247834A (en) | Processing method for pseudo instruction of floating point function | |
JPH0271326A (en) | Arithmetic processing system | |
JPH05165874A (en) | Vector arithmetic processor | |
JPH0236422A (en) | System for processing program exception | |
JPS60178524A (en) | One-chip microcomputer | |
JPS62113239A (en) | Microinstruction generation system | |
JPS638841A (en) | Interruption accepting system | |
JPH0398163A (en) | Vector data processor | |
JPH06168216A (en) | Coprocessor control method | |
JPH0259961A (en) | Information processor | |
JPS63221428A (en) | Data processor | |
JPH0340013A (en) | Central arithmetic processing unit |