JPH01243126A - Arithmetic and control unit - Google Patents

Arithmetic and control unit

Info

Publication number
JPH01243126A
JPH01243126A JP63071525A JP7152588A JPH01243126A JP H01243126 A JPH01243126 A JP H01243126A JP 63071525 A JP63071525 A JP 63071525A JP 7152588 A JP7152588 A JP 7152588A JP H01243126 A JPH01243126 A JP H01243126A
Authority
JP
Japan
Prior art keywords
data
instruction
data type
code
section
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.)
Granted
Application number
JP63071525A
Other languages
Japanese (ja)
Other versions
JPH06100970B2 (en
Inventor
Keiji Ishibashi
石橋 景二
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.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom 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 Fuji Electric Co Ltd, Fuji Facom Corp filed Critical Fuji Electric Co Ltd
Priority to JP63071525A priority Critical patent/JPH06100970B2/en
Publication of JPH01243126A publication Critical patent/JPH01243126A/en
Publication of JPH06100970B2 publication Critical patent/JPH06100970B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To execute a programming without being conscious of a data type and to dispense with the instruction of a kind according to the data type by generating a control code to indicate the discrimination and conversion methods of the data type even in an operation mutually between different data types, and executing the operation. CONSTITUTION:A data type conversion control code generating part 115 inputs the data type code of the instruction sent from a data type part 113a of an instruction register 113 with type and the data type code of an operand sent from a data type part 114a of an operand register 114, and the part 115 generates and outputs a data conversion control code to an instruction code part 111c and the data type code of an arithmetic result to an instruction stack 109. Namely, despite the data types are different, the data types are judged, a prescribed control code and the code to indicate the data type of the arithmetic result are generated according to a conversion rule, and an arithmetic processing in the specific data type is executed. Thus, without being conscious of the data type, the programming can be executed, and an arithmetic processing speed can be improved.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、関数型で記述されたプログラムの中間言語を
直接実行する演算制御装置に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to an arithmetic control device that directly executes an intermediate language of a program written in a functional format.

(従来の技術) 従来この種の演算制御装置は、例えば第4図に示すよう
に構成されている。すなわち同図において、演算制御装
置は、プログラムの中間言語を演算部200′が実行可
能な形式に展開する構文解析部100′と、その展開さ
れた実行形式の命令(マクロ命令)により演算を行う演
算部200′とから構成されている。
(Prior Art) A conventional arithmetic and control device of this type is configured as shown in FIG. 4, for example. In other words, in the figure, the arithmetic control unit includes a syntax analysis unit 100' that expands the intermediate language of a program into a format executable by the arithmetic unit 200', and performs operations using instructions (macro instructions) in the expanded executable format. It is composed of a calculation section 200'.

このうち構文解析部100′は、機械語化された中間言
語のプログラムが格納されるプログラムメモリ101と
、そのプログラムのアドレスを指定するプログラムカウ
ンタ102と、プログラムメモリ101から読み出され
た命令が格納される命令レジスタ103と、演算部20
0’ICよって直接実行可能な形式の命令に展開するた
めの制御を行うマクロ命令制御部104と、命令の実行
順序を制御するための命令スタック109′と、そのポ
インタとしての命令スタックポインタ110と、実行形
式の命令が格納されるマクロ命令レジスタ111′と、
マクロロジックバス112とからなっている。なお、マ
クロ命令レジスタ111′は、データが格納されるデー
タ部111bと命令コードが格納される命令コード部1
11Cとから構成されている。
Of these, the syntax analysis unit 100' includes a program memory 101 in which a machine language intermediate language program is stored, a program counter 102 that specifies the address of the program, and a program memory 102 in which instructions read from the program memory 101 are stored. instruction register 103 and arithmetic unit 20
A macro instruction control unit 104 that controls expansion into instructions in a format that can be directly executed by the 0'IC, an instruction stack 109' that controls the execution order of instructions, and an instruction stack pointer 110 that serves as a pointer thereto. , a macro instruction register 111' in which executable instructions are stored;
It consists of a macro logic bus 112. The macro instruction register 111' has a data section 111b where data is stored and an instruction code section 1 where instruction codes are stored.
11C.

一方、演算部200′は、前記命令コード部111Cに
接続されたマイクロプログラム制御部201と、前記デ
ータ部111bに接続されて論理アドレスから物理アド
レスへの変換を行うアドレス変換部202と、データメ
モリ203と、算術演算部(ALU)204と、データ
スタック205と、そのポインタとしてのデータスタッ
クポインタ206と、算術演算部204及びデータメモ
リ203間でデータの授受を行うデータバス207と、
マイクロロジックバス208とからなっている。
On the other hand, the calculation section 200' includes a microprogram control section 201 connected to the instruction code section 111C, an address conversion section 202 connected to the data section 111b for converting a logical address into a physical address, and a data memory. 203, an arithmetic operation unit (ALU) 204, a data stack 205, a data stack pointer 206 as a pointer thereof, and a data bus 207 that exchanges data between the arithmetic operation unit 204 and the data memory 203.
It consists of a micrologic bus 208.

ここで、命令スタック109′及び命令スタックポイン
タ110、並びにデータスタック205及びデータスタ
ックポインタ206は、何れもL I F 0(las
t −in  first −out)スタックを構成
している。
Here, the instruction stack 109' and instruction stack pointer 110, as well as the data stack 205 and data stack pointer 206, are all L I F 0 (las
t-in first-out) stack.

次に、この動作を説明する。まず、構文解析部100′
の動作を第5図のフローチャートに沿って説明すると、
始めに、マクロ命令制御部104により、マクロロジッ
クバス112を通してプログラムカウンタ102にプロ
グラムアドレスの初期値をセットしくステップSl)、
このアドレスに従ってプログラムメモリ101から取り
出した一語の命令を命令レジスタ103に格納する(同
S2)。
Next, this operation will be explained. First, the syntax analysis unit 100'
The operation of is explained according to the flowchart in Fig. 5.
First, the macro instruction control unit 104 sets the initial value of the program address in the program counter 102 via the macro logic bus 112 in step Sl).
According to this address, the one-word instruction taken out from the program memory 101 is stored in the instruction register 103 (S2).

次いで、命令レジスタ103の内容を解析しく同S3)
、これが命令の場合にはマクロ命令レジスタ111′の
命令コード部111C及び命令スタック109′に格納
しく同541)、プログラムカウンタ102をインクリ
メント(+1)して(同S5)次の一語の構文解析に移
る。また、命令レジスタ103の内容がオペランドの場
合には、命令レジスタ103の内容をデータ部111b
に格納しく同542)、命令スタック109′の先頭の
命令を読み出して命令コー1く部111Cに格納した後
(同543)、演算部200′に対して演算処理の起動
をかけ(同544)、その後、プログラムカウンター ンタ102をインクリメントする(同S5)。
Next, the contents of the instruction register 103 are analyzed (S3).
, if this is an instruction, it is stored in the instruction code section 111C of the macro instruction register 111' and the instruction stack 109' (541), the program counter 102 is incremented (+1) (S5), and the syntax of the next word is analyzed. Move to. Furthermore, when the contents of the instruction register 103 are operands, the contents of the instruction register 103 are transferred to the data section 111b.
After reading out the first instruction of the instruction stack 109' and storing it in the instruction code section 111C (543), the CPU 200' starts arithmetic processing (544). Thereafter, the program counter 102 is incremented (S5).

なお、次の命令の処理は、演算部200′の演算処理が
終了し次第、プログラムメモリ101から命令を取り出
し、上記の処理が命令類に繰返し実行される。
Note that for processing the next instruction, as soon as the arithmetic processing of the arithmetic unit 200' is completed, the instruction is taken out from the program memory 101, and the above-mentioned processing is repeatedly executed for the instructions.

そして演算部200′においては、まず、マイクロプロ
グラム制御部201がマクロ命令レジスタ111′の命
令コード部111cから命令コードを読み出してデコー
ドすると共に、この命令が、データ部111bの内容を
アドレスとしたデータメモリ203からの読み出し命令
であれば、アドレス変換部202を介してデータメモリ
203からデータを読み出し、かかるデータをデータバ
ス207及び算術演算部204を介してデータスタック
205に書き込む。
In the arithmetic unit 200', the microprogram control unit 201 first reads the instruction code from the instruction code section 111c of the macro instruction register 111' and decodes it. If it is a read command from the memory 203, data is read from the data memory 203 via the address conversion unit 202 and written to the data stack 205 via the data bus 207 and the arithmetic operation unit 204.

また、前記命令が、データ部111bの内容をアドレス
とした書き込み命令であるならば、上記とは逆にデータ
スタック205から算術演算部204及びデータバス2
07を介してアドレス変換部202の示すデータメモリ
203のアドレスへデータを書き込む。
Further, if the instruction is a write instruction using the contents of the data section 111b as an address, contrary to the above, from the data stack 205 to the arithmetic operation section 204 and the data bus 2.
The data is written to the address of the data memory 203 indicated by the address conversion unit 202 via the address 07.

そして、算術演算部204は、データスタック205内
のデータ同士の算術論理演算をも行う。
The arithmetic operation unit 204 also performs arithmetic and logical operations on data within the data stack 205.

次に、具体的な演算例に従い、マクロ命令制御部104
及び算術演算部204の働きを、命令・データそれぞれ
のLIFOスタックの動作を中心として説明する。
Next, according to a specific calculation example, the macro instruction control unit 104
The functions of the arithmetic operation unit 204 and the arithmetic operation unit 204 will be explained focusing on the operation of the LIFO stack for instructions and data respectively.

いま、関数型の演算例として次の(1)式を考え、この
(1)式をボーランド記法を用いて(2)式のように展
開する。
Now, consider the following equation (1) as an example of a functional type operation, and expand this equation (1) as shown in equation (2) using Borland notation.

f=A÷BX(C+D)     ・・・・・・・・・
・(1)そして、第4図のプログラムメモリ】01には
、この(2)式が機械語に展開されて第6図に示す順序
■〜[相]で格納されているとする。なお、この順序■
〜[相]は構文解析部100′による処理順序でもあり
、以後は各処理自体も番号■〜[相]によって表すもの
とする。
f=A÷BX(C+D) ・・・・・・・・・
・(1) Then, in the program memory 01 shown in FIG. 4, it is assumed that the formula (2) is expanded into machine language and stored in the order ① to [phase] shown in FIG. In addition, this order■
.about.[phase] is also the processing order by the syntax analysis unit 100', and hereinafter each process itself will also be represented by the number .about.[phase].

以下、上記処理■〜[相]毎に、命令スタック109′
及びデータスタック205の作用を、第7図に基づいて
説明する。
Hereinafter, for each of the above processing ■~[phase], the instruction stack 109'
The operation of the data stack 205 and the data stack 205 will be explained based on FIG.

まず、処理■、■、■は命令コードの読み出しであるた
め、これらの命令は前述した如く命令コート部]11c
に格納され、同時に命令スタック109′にそれぞれブ
ツシュダウンして格納される。また。
First, since the processes ■, ■, and ■ are instruction code reading, these instructions are stored in the instruction code section ]11c as described above.
The instructions are stored in the instruction stack 109', and are simultaneously pushed down and stored in the instruction stack 109'. Also.

処理■、■、■はオペランドであるため、これらのオペ
ランドを評価した上で、前述の如く最終的にデータスタ
ック205にブツシュダウンして格納される。ここで、
′評価する′とは、オペランドが定数であればそのまま
の値として、アドレスであればそのアドレスの示す内容
を読み取って値として扱うことをいう。
Processes (1), (2), and (2) are operands, so after evaluating these operands, they are finally pushed down and stored in the data stack 205 as described above. here,
``Evaluate'' means that if the operand is a constant, it is treated as the value as is, and if it is an address, the contents indicated by the address are read and treated as the value.

更に、処理■は処理■に続いてオペランドが読み取られ
たもので、オペランドを評価した上でデータスタック2
05の先頭のデータ(最後にスタックされたもの)と、
命令スタック109′の先頭の命令(同)とを用いて算
術演算部204にて演算を行い、その演算結果を再びデ
ータスタック205に格納する。なお、第7図の処理■
におけるデータスタック205の内容f1は、演算の途
中経過であるf +、 =C+Dを示している。
Furthermore, in process ■, the operand is read following process ■, and after evaluating the operand, data stack 2 is
The first data of 05 (last stacked) and
The arithmetic operation section 204 performs an operation using the instruction at the head of the instruction stack 109' (same as the same), and the operation result is stored in the data stack 205 again. In addition, the processing in Figure 7 ■
The content f1 of the data stack 205 in FIG. 2 shows f +, =C+D, which is the intermediate progress of the calculation.

次いで、処理■、■、[相]は、対応する命令の処理の
終わりを示すもので、命令スタック109′の先頭の命
令をポツプアップした後、この先頭の命令演算をデータ
スタック205の先頭のデータとその次に格納されたデ
ータとを用いて行い、その演算結果をデータスタック2
05をポツプアップした後に再び格納する。なお、第7
図の処理■におけるデータスタック205の内容f2は
演算の途中経過であるf2=B X f、を示し、処理
■におけるfはf=A÷f2、つまり(]−)式の解を
示している。
Next, processing ■, ■, [phase] indicates the end of the processing of the corresponding instruction, and after popping up the instruction at the head of the instruction stack 109', the operation of the instruction at the head is performed on the data at the head of the data stack 205. and the data stored next, and the result of the calculation is transferred to the data stack 2.
After popping up 05, store it again. In addition, the seventh
The content f2 of the data stack 205 in process ■ in the figure shows the intermediate progress of the calculation, f2=B .

以」二の動作により、(1)式の演算処理が終了するこ
とになる。
By the above-mentioned second operation, the arithmetic processing of equation (1) is completed.

(発明が解決しようとする課題) ここで、(1)式におけるデータA、B、C,Dの型が
異なり、これらを用いて演算処理を行う場合には、以下
の点に留意する必要がある。具体的には、A、B、Dが
整数値、Cが浮動小数点値というように異なるデータ型
で与えられた場合には、(1)式を、データ型を変換す
る命令及び特定なデータ型を対象とする命令に置き換え
てプログラムしなければならない。
(Problem to be Solved by the Invention) Here, when the types of data A, B, C, and D in equation (1) are different, and when performing arithmetic processing using these, the following points need to be kept in mind. be. Specifically, when A, B, and D are given as different data types such as integer values and C as a floating point value, expression (1) is converted into an instruction to convert the data type and a specific data type. must be programmed by replacing it with the target instruction.

すなわち、第8図(イ)に示すようにデータCとDから
C+Dの演算を行ってf工を求め、このflとデータB
とからBXflの演算を行ってf2を求め、このf2と
データAとからA÷f2の演算を行って解fを求める演
算処理を行う場合、このようにデータ型が異なると、第
8図(ロ)または(ハ)に示す如くデータ型を何れか一
方に合わせる変換命令を挿入する必要が生じる。なお、
第8図(イ)〜(ニ)において、データA−D及び演算
結果f 1.1f2.fはデータメモリ203またはデ
ータスタック205に格納された状態である。
That is, as shown in FIG. 8(a), calculate f from data C and D by calculating C+D, and then use this fl and data B.
When calculating f2 by calculating BXfl from , and calculating A÷f2 from this f2 and data A to obtain the solution f, if the data types are different in this way, as shown in Figure 8 ( As shown in (b) or (c), it becomes necessary to insert a conversion instruction to match the data type to either one. In addition,
In FIGS. 8(a) to (d), data A-D and calculation results f1.1f2. f is the state stored in the data memory 203 or the data stack 205.

まず、第8図(ロ)はデータ型を浮動小数点値に統一す
るべく、データA、B、Dを浮動小数点値に変換する命
令″’I/F”を挿入し、その後、浮動小数点値を対象
とした演算に置き換える処理を示している。この図にお
いて、“ H、rr b II 、 u d nはそれ
ぞれ浮動小数点値に変換後のデータA、B。
First, in Figure 8 (b), in order to unify the data types to floating point values, an instruction "I/F" is inserted to convert data A, B, and D to floating point values, and then the floating point values are converted to floating point values. It shows the process of replacing the target operation. In this figure, "H, rr b II, and u d n are data A and B after conversion to floating point values, respectively.

Dを、II 十F II 、 II X F II 、
 If÷p IIはそれぞれ浮動小数点演算による加算
9乗算、除算を示す。また、データa、b、dはデータ
メモリ203またはデータスタック205に格納された
状態である。
D, II 10F II, II X F II,
If÷p II indicates addition, 9 multiplication, and division by floating point operations, respectively. Further, data a, b, and d are stored in the data memory 203 or the data stack 205.

一方、第8図(ハ)はデータ型を整数値に統一するべく
、データCを整数値に変換する命令” F / I″′
を挿入し、その後、整数値を対象とした演算に置き換え
る処理であり、この図において、LL 、、 IIは整
数値に変換後のデータCを、LL + II 、 II
 X # 、 LL÷″はそれぞれ整数演算による加算
2乗算、除算を示す。
On the other hand, Fig. 8 (c) shows an instruction "F/I"' to convert data C into an integer value in order to unify the data type to an integer value.
, and then replaces it with an operation that targets integer values. In this figure, LL , , II is the process of converting data C into an integer value, and LL + II , II
X# and LL÷'' indicate addition, squaring, and division by integer operations, respectively.

更に、第8図(ニ)は、何れか一方のデータ型に統一し
て処理するのではなく、各データがそれぞれ値とデータ
型を持ち、演算の際にデータ型を評価して演算処理を行
うものであり、演算結果として同様に値とデータ型を出
力し、これをスタックして次の演算に移行するものであ
る。この図において、データA、B、C,D及び演算結
果f□。
Furthermore, Figure 8 (d) shows that instead of processing data in one data type, each data has its own value and data type, and the data type is evaluated during calculations. It similarly outputs the value and data type as the result of the operation, stacks these, and moves on to the next operation. In this figure, data A, B, C, D and the calculation result f□.

f、、fに付されたLL I II、 LL F+″は
それぞれ整数値。
LL I II and LL F+'' attached to f, , f are integer values, respectively.

浮動小数点値のデータ型を示している。なお、この方式
により、先の第7図の処理■を行った時点でのデータス
タック205の内容は第9図のとおりとなり、各データ
について各々のデータ型″′工″または17 F II
がそれぞれ格納されることになる。
Indicates the data type of floating point values. By this method, the contents of the data stack 205 at the time of performing the process (2) in FIG. 7 are as shown in FIG.
will be stored respectively.

ここで、上述した第8図(ロ)、(ハ)のように、デー
タは値だけで命令が特定のデータ型のみを対象とした演
算種類を持つ場合には、以下のような問題がある。つま
りこの場合には、プログラマが、データ型を意識しなが
らデータ型変換命令の記述と当該データ型に応じた演算
命令の選択とを行ってプログラミングしなければならず
、演算命令もデータ型の種類に応じた数だけ用意しなく
てはならないため、プログラミングが極めて煩雑となる
Here, as shown in Figures 8 (b) and (c) above, when the data is only a value and the instruction has a type of operation that targets only a specific data type, the following problems arise. . In other words, in this case, the programmer must be aware of the data type when programming by writing data type conversion instructions and selecting arithmetic instructions according to the data type. Programming becomes extremely complicated because it is necessary to prepare as many as needed.

また、演算制御装置においても複数のデータ型骨の命令
処理が必要となり、命令の構文解析部及び演算部のハー
ドウェア、ファームウェア処理が増大してしまう。
Further, the arithmetic control unit also needs to process instructions for a plurality of data types, which increases the hardware and firmware processing of the instruction syntax analysis section and the arithmetic section.

更に、第8図(ニ)のように、データに値とデータ型を
持ち、演算の際にデータ型を評価して演算処理を行う場
合には、第9図に示した如く、演算に際して、データス
タック205からデータ型を取り出してその変換の要否
を判断した後に実際の演算を行い、また、演算結果f1
. f、、 fも値とデータ型とを有するため、演算結
果を評価する際にデータ型を認識する時間を必要として
データの処理時間が多くかかるという不都合がある。同
時に、データ型を記憶するためデータスタック205の
メモリ容量を多く必要としていた。
Furthermore, as shown in FIG. 8(d), when data has a value and a data type, and the data type is evaluated during calculation to perform calculation processing, as shown in FIG. 9, during calculation, After extracting the data type from the data stack 205 and determining whether or not it is necessary to convert it, the actual operation is performed, and the operation result f1
.. Since f, . . . also have a value and a data type, there is an inconvenience that it takes time to recognize the data type when evaluating the calculation result, which takes a lot of time to process the data. At the same time, a large memory capacity of the data stack 205 was required to store the data types.

本発明は上記問題点を解決するために提案されたもので
あり、その目的とするところは、異なるデータ型同士の
演算において、データ型を意識することなくプログラミ
ングを行うことができ、プログラマや演算制御装置のハ
ードウェア等の負担を軽減できると共に、演算結果にデ
ータ型を含ませず値のみを持たせることにより、データ
スタックのメモリ効率を高め、かつ、演算結果の評価に
要する時間を短縮して演算処理速度の大幅な向上を可能
にした演算制御装置を提供することにある。
The present invention was proposed to solve the above-mentioned problems, and its purpose is to enable programming to be performed in operations between different data types without being aware of the data types, and to enable programmers and operators to perform operations on different data types. In addition to reducing the burden on the hardware of the control device, it also increases the memory efficiency of the data stack and reduces the time required to evaluate the calculation results by allowing the calculation results to contain only the values and not the data type. An object of the present invention is to provide an arithmetic control device that enables a significant improvement in arithmetic processing speed.

(課題を解決するための手段) 上記目的を達成するため、本発明は、関数型で記述され
たプログラムの中間言語を直接実行する演算制御装置に
おいて、中間言語の構文解析部に、プログラムの演算命
令を構成するオペランドのデータ型を判断してこのオペ
ランドが処理されるべきデータ型への変換方法を示す制
御コードと、前記オペランドを用いた演算結果のデータ
型を示すデータ型コードとを発生する手段と、演算順序
を制御し、かつ前記データ型コード及び演算命令の命令
コードからなるデータ型付命令をスタックする命令スタ
ック等の記憶手段とを備え、前記データ型付命令を次の
演算の命令として実行することを特徴とする。
(Means for Solving the Problems) In order to achieve the above object, the present invention provides an arithmetic control unit that directly executes an intermediate language of a program written in a functional form, in which a syntax analysis unit of the intermediate language is configured to perform the calculations of the program. Determines the data type of an operand that constitutes an instruction, and generates a control code that indicates a method of converting this operand to the data type to be processed, and a data type code that indicates the data type of the result of an operation using the operand. storage means such as an instruction stack for controlling the operation order and stacking data typed instructions consisting of the data type code and the instruction code of the operation instruction; It is characterized by being executed as

(作用) 本発明によれば、オペランドのデータ型と型付命令のデ
ータ型とに基づき、データ型の変換方法を示す制御コー
ドと演算結果のデータ型を示すコードとが生成される。
(Operation) According to the present invention, a control code indicating a data type conversion method and a code indicating a data type of an operation result are generated based on the data type of the operand and the data type of the typed instruction.

このうち、前記制御コードにより必要に応じてデータ型
の変換が行われ、型付命令の命令コードに基づいて演算
が実行される。
Among these, data type conversion is performed as necessary by the control code, and an operation is executed based on the instruction code of the typed instruction.

また、前記演算結果のデータ型を示すコード、は命令ス
タックに送られ、命令コードと共に新たなデータ型付命
令としてスタックされることにより、次の命令の実行時
に受は継がれることとなる。
Further, the code indicating the data type of the operation result is sent to the instruction stack and stacked together with the instruction code as a new data typed instruction, so that the reception is carried over when the next instruction is executed.

(実施例) 以下、図に沿って本発明の一実施例を説明する。(Example) An embodiment of the present invention will be described below with reference to the drawings.

まず、第1図は本発明にかかる演算制御装置の構成を示
したもので、同図において、100はプログラムの中間
言語を演算部200が実行可能な形式に展開する構文解
析部、200はマクロ命令により演算を行う演算部20
0である。
First, FIG. 1 shows the configuration of an arithmetic control device according to the present invention. In the figure, 100 is a syntax analysis unit that develops the intermediate language of a program into a format executable by the arithmetic unit 200, and 200 is a macro Arithmetic unit 20 that performs arithmetic operations based on instructions
It is 0.

ここで、演算部200は、先の第4図に示したように、
マイクロプログラム制御部201と、アドレス変換部2
02と、データメモリ203と、算術演算部204と、
データスタック205と、このデータスタック205と
共にLIFOスタックを構成するデータスタックポイン
タ206と、算術演算部204及びデータメモリ203
間でデータの授受を行うデータバス207と、マイクロ
ロジックバス208とからなっている。
Here, the calculation unit 200, as shown in FIG. 4 above,
Microprogram control section 201 and address conversion section 2
02, a data memory 203, an arithmetic operation unit 204,
A data stack 205, a data stack pointer 206 that together with the data stack 205 constitute a LIFO stack, an arithmetic operation unit 204, and a data memory 203.
It consists of a data bus 207 and a micrologic bus 208 for exchanging data between them.

次に、構文解析部100の構成を詳述する。この構文解
析部100は、前記同様に機械語化された中間言語のプ
ログラムが格納されるプログラムメモリ101と、この
プログラムのアドレスを指定するプログラムカウンタ1
02と、プログラムメモリ101から読み出された命令
が格納される命令レジスタ103と、演算部200によ
って直接実行可能な形式の命令に展開するための制御を
行うマクロ命令制御部104と、命令の実行順序を制御
するための命令スタック109と、この命令スタック1
09と共にLIFOスタックを構成する命令スタックポ
インタ110とを備えている。
Next, the configuration of the syntax analysis section 100 will be described in detail. This syntax analysis unit 100 includes a program memory 101 in which an intermediate language program converted into machine language is stored in the same manner as described above, and a program counter 1 that specifies the address of this program.
02, an instruction register 103 in which instructions read from the program memory 101 are stored, a macro instruction control unit 104 that performs control to expand instructions into instructions in a format that can be directly executed by the arithmetic unit 200, and an instruction execution unit. An instruction stack 109 for controlling the order and this instruction stack 1
09 and an instruction stack pointer 110 that constitutes a LIFO stack.

しかして、プログラムメモリ】01には、インストラク
ションバス116を介してデータ型付命令が格納される
型付命令レジスタ113と、プログラムメモリ101か
ら読み出された命令のオペランドが格納されるオペラン
ドレジスタ114とが接続されている。このうち、型付
命令レジスタ113は、データ型を示すデータ型コード
が格納されるデータ型部113aと、命令の種類を示す
命令コードが格納される命令コード部113bとからな
り、また、オペランドレジスタ114は、オペランドの
データ型を示すデータ型コードが格納されるデータ型部
114aと、論理アドレスまたは直接数値が格納される
データ部114bとからなっており、マクロ命令制御部
104からの信号がマクロロジックバス112を介して
型付命令レジスタ113及びオペランドレジスタ114
に加えられている。
Thus, the program memory 01 includes a typed instruction register 113 in which data-typed instructions are stored via the instruction bus 116, and an operand register 114 in which operands of instructions read from the program memory 101 are stored. is connected. Of these, the typed instruction register 113 consists of a data type section 113a in which a data type code indicating a data type is stored, an instruction code section 113b in which an instruction code indicating the type of instruction is stored, and an operand register. 114 consists of a data type section 114a in which a data type code indicating the data type of the operand is stored, and a data section 114b in which a logical address or a direct numerical value is stored. Typed instruction register 113 and operand register 114 via logic bus 112
has been added to.

更に、111は実行形式の命令が格納されるマクロ命令
レジスタであり、このレジスタ111は、前記オペラン
ドレジスタ114のデータ型部114a及びデータ部1
14bにそれぞれ接続されたデータ型部111a及びデ
ータ部111bと、型付命令レジスタ113のデータ型
部113aにデータ型変換制御コード発生部115を介
して接続され、かつ命令コード部113bに接続される
命令コード部111cとから構成されている。なお、デ
ータ部111b及び命令コード部111Cはマクロ命令
制御部104にも接続されている。
Furthermore, 111 is a macro instruction register in which instructions in executable format are stored, and this register 111 stores the data type section 114a and data section 1 of the operand register 114.
14b, and the data type section 113a of the typed instruction register 113 via the data type conversion control code generation section 115, and the instruction code section 113b. It consists of an instruction code section 111c. Note that the data section 111b and instruction code section 111C are also connected to the macro instruction control section 104.

ここで、データ型変換制御コード発生部115は、型付
命令レジスタ113のデータ型部113aから送られる
命令のデータ型コードと、オペランドレジスタ114の
データ型部114aから送られるオペランドのデータ型
コートとを入力とし、命令コード部111cに対するデ
ータ型変換制御コードと、命令スタック109に対する
演算結果のデータ型コードとを一15= 生成して出力するようになっている。
Here, the data type conversion control code generation unit 115 generates a data type code of the instruction sent from the data type section 113a of the typed instruction register 113 and a data type code of the operand sent from the data type section 114a of the operand register 114. is input, and a data type conversion control code for the instruction code section 111c and a data type code of the operation result for the instruction stack 109 are generated and output.

なお、命令スタック109はプログラムメモリ101と
共に型付命令レジスタ113に対しワイヤードORを構
成しており、かかる命令スタック]09には演算結果の
データ型コードと型付命令レジスタ113の命令種類を
示す命令コードとを合成してデータ型付命令としてスタ
ックできるように構成されている。
Note that the instruction stack 109 constitutes a wired OR with the program memory 101 and the typed instruction register 113, and the instruction stack 09 contains an instruction indicating the data type code of the operation result and the instruction type of the typed instruction register 113. It is configured so that it can be combined with code and stacked as data-typed instructions.

また、マクロ命令レジスタ111のデータ型部111a
及びデータ部111bは演算部200内のアドレス変換
部202に接続され、オペランドのデータ型コード及び
データに基づいて論理アドレスから物理アドレスへの変
換が行われるものである。
Also, the data type section 111a of the macro instruction register 111
The data section 111b is connected to the address conversion section 202 in the calculation section 200, and a logical address is converted into a physical address based on the data type code and data of the operand.

次に、この実施例により先の(1)式の演算処理を行う
場合について、その動作を第2図及び第3図を参照しつ
つ説明する。
Next, with reference to FIGS. 2 and 3, an explanation will be given of the operation in the case of performing the arithmetic processing of equation (1) according to this embodiment.

まず、第2図(イ)、(ロ)はこの実施例においてプロ
グラムメモリ101に格納されている中間言語のオペラ
ンドのフォーマット及び命令のフォーマツ1〜をそれぞ
れ示しており、オペランドと命令とはフォーマットの最
上位ビットの111 I+またはO”により識別されて
いる。このうち、オペランドのフォーマットは、第2図
(イ)に示すようにデータの型、つまり整数値や浮動小
数点値といった型を示すデータ型コードと論理アドレス
または直接数値とで構成され、各々そのままの値でオペ
ランド。
First, FIGS. 2(a) and 2(b) respectively show the format of the intermediate language operands and formats 1 to 1 of the instructions stored in the program memory 101 in this embodiment. It is identified by the most significant bit 111 I+ or O''. Among these, the format of the operand is a data type indicating the data type, such as an integer value or a floating point value, as shown in Figure 2 (a). An operand consisting of a code and a logical address or direct numerical value, each with its own value.

レジスタ114を経てマクロ命令レジスタ111へ送ら
れる。
It is sent to the macro instruction register 111 via the register 114.

また、命令のフォーマットは、第2図(ロ)に示すよう
にデータ型コードを持たず(=0)、命令種類を示す命
令コードのみで構成され、前述した命令スタック109
とのワイヤーFORにより、型付命令レジスタ113を
経てマクロ命令レジスタ111の命令コード部111C
に送られる。この中でデータ型部113aについては、
データ型変換制御コード発生部115によりデータ型を
変換する制御コードが生成され、かかる制御コードが命
令コード部111Cに送られる。なお、第2図(ハ)は
、命令スタック109から読み出された命令のフォーマ
ットであり、このフォーマットは演算結果のデータ型を
示すデ−タ型コード及び命令コードを有し、また、第2
図(ニ)はマクロ命令レジスタ111の命令コード部1
11cのフォーマットであって、データ型変換制御コー
ド及び命令コードからなっている。
In addition, as shown in FIG. 2 (b), the instruction format does not have a data type code (=0) and consists only of an instruction code indicating the instruction type, and the instruction stack 109 described above
By wire FOR with
sent to. Regarding the data type section 113a,
A control code for converting data types is generated by the data type conversion control code generation section 115, and this control code is sent to the instruction code section 111C. Note that FIG. 2(c) shows the format of the instruction read from the instruction stack 109, and this format has a data type code and an instruction code indicating the data type of the operation result.
Figure (d) shows the instruction code section 1 of the macro instruction register 111.
11c format, and consists of a data type conversion control code and an instruction code.

なお、第2図(イ)〜(ニ)において、各フォーマット
の下に付された記号は、これらのコード等が格納される
場所を示している。
In addition, in FIGS. 2(a) to 2(d), the symbols attached below each format indicate the locations where these codes and the like are stored.

ここで、前記ワイヤードORの制御について説明すると
、先の第6図及び第7図の処理■、■。
Now, to explain the control of the wired OR, the processes ① and ② in FIGS. 6 and 7 above.

■は命令コードの読み出しであるため、プログラムメモ
リ101が選択されて命令コードのみが型付命令レジス
タ113の命令コート部113bに送られる。
Since step (2) is for reading an instruction code, the program memory 101 is selected and only the instruction code is sent to the instruction code section 113b of the typed instruction register 113.

また、処理■、■、■、[相]は演算であるから命令ス
タック109が選択され、データ型コード及び命令コー
ドがデータ型部113a及び命令コード部113bに送
られる。上記制御は、マクロ命令制御部104が各処理
ごとに命令レジスタ103に取り込んだ内容に基づき、
命令か否かを判断して行う。
Further, since the processes (1), (2), (2), and [phase] are operations, the instruction stack 109 is selected, and the data type code and instruction code are sent to the data type section 113a and instruction code section 113b. The above control is based on the contents loaded into the instruction register 103 by the macro instruction control unit 104 for each process.
Decide whether it is an order or not.

次に、データ型変換制御コードの生成方法について述べ
る。データ型の変換は、データ語長またはデータの表し
得る幅(データレンジ)の大きい方に合わせれば、演算
及び演算結果のデータ型を一義的に決めることができる
。例えば、データが一語長整数値、二語長整数値及び浮
動小数点値の3種類である場合、その変換ルールは、次
の(3)式の大小関係で大きい方のデータ型に従うもの
とする。
Next, a method for generating a data type conversion control code will be described. When converting the data type, the data type of the operation and the result of the operation can be uniquely determined by matching the data word length or the width that the data can represent (data range), whichever is larger. For example, if the data is of three types: a one-word long integer value, a two-word long integer value, and a floating point value, the conversion rule shall follow the larger data type according to the size relationship in the following equation (3). .

一語長整数値〈二語長整数値〈浮動小数点値・・・・・
(3) この点に着目し、データ型変換制御コード発生部]15
は、以下の表1の如く、オペランドのデータ型コート及
び型付命令のデータ型コードを入力として、データ型の
変換を示す制御コードと演算    ゛結果の型を示す
コードとを生成する。
One word long integer value〈Two word long integer value〈Floating point value...
(3) Focusing on this point, data type conversion control code generation section]15
As shown in Table 1 below, inputs the data type code of the operand and the data type code of the typed instruction, and generates a control code indicating data type conversion and a code indicating the type of the operation result.

(以下、余白) なお、この表1−において、10′″はデータ型を持つ
前のプログラムメモリ101に格納された状態値を、L
L D I +1は二語長整数を示すオペランドコード
を、”SI″′は一語長整数を示すオペランドコードを
、II F p ++は浮動小数点値を示すオペランド
コードを、rr D ++は二語長データを示す型コー
ドを、LL S IIは一語長データを示す型コードを
、tt F ++は浮動小数点データを示す型コードを
、II D C+1はデー夕型変換なしで二語長演算を
行うコードを、ll5C++はデータ型変換なしで一語
長演算を行うコートを、11 P C++はデータ型変
換なしで浮動小数点演算を行うコードを、”SDC”は
オペランドのデータ型をII D IHの型に変換して
二語長演算を行うコードを、”FDC”はデータスタッ
ク205上のデータのIID″″の型を11 F ++
の型に変換して浮動小数点演算を行うコードを、”DS
C”はデータスタック205上のデータのLL SI+
の型をLL DIIの型に変換して二語長演算を行うコ
ードを、”FSC’″はデータスタック205上のデー
タの“S″の型をIIF”の型に変換して浮動小数点演
算を行うコードを、”DFC”及び”SFC”はオペラ
ンドのデータ型をL(F 11の型に変換して浮動小数
点演算を行うコードをそれぞれ示している。
(Hereinafter, blank space) In this Table 1-, 10'' indicates the state value stored in the program memory 101 before having the data type.
L D I +1 is an operand code that indicates a two-word long integer, "SI"' is an operand code that indicates a one-word long integer, II F p ++ is an operand code that indicates a floating point value, and rr D ++ is a two-word operand code. LL S II is a type code that indicates long data, tt F ++ is a type code that indicates floating point data, and II D C+1 is a type code that indicates two word length operations without data type conversion. 11P C++ is the code that performs floating point operations without data type conversion, 11P C++ is the code that performs floating point operations without data type conversion, and "SDC" is the code that performs the operand data type. "FDC" is the code that converts to the type and performs the two-word length operation.
The code that converts to the type of ``DS'' and performs floating-point operations is
C” is the LL SI+ of the data on the data stack 205
"FSC'" converts the data type "S" on the data stack 205 to the "IIF" type and performs floating point operations. "DFC" and "SFC" respectively indicate codes that convert the data type of the operand to the L(F11 type) and perform floating point operations.

次に、この実施例によって先の(1)式に示した演算処
理を行う場合、特に処理■、■、■について動作を詳述
する。
Next, when performing the arithmetic processing shown in equation (1) in this embodiment, the operations will be described in detail, particularly regarding processes (1), (2), and (2).

まず、処理■において、データC(浮動小数点値)にか
かるオペランドが読み取られると、オペランドレジスタ
114のデータ型部114a及びマクロ命令レジスタ1
11のデニタ型部111aからはデータ型コード″’F
P”が出力され、オペランドレジスタ114のデータ部
114b及びマクロ命令レジスタ111のデータ部11
1bからは論理アドレスまたは直接数値が出力される。
First, in process (3), when the operand related to data C (floating point value) is read, the data type section 114a of the operand register 114 and the macro instruction register 1 are read.
From the data type part 111a of No. 11, the data type code "'F
P” is output, and the data section 114b of the operand register 114 and the data section 11 of the macro instruction register 111
A logical address or a direct numerical value is output from 1b.

このとき、型付命令レジスタ113のデータ型部113
a及び命令コード部113bには、処理■の「(十」の
命令が格納されており、この命令は第2図(ロ)に示す
ようにデータ型コートを持たず(=”O”)、命令コー
ドのみを有している。
At this time, the data type section 113 of the typed instruction register 113
A and the instruction code section 113b store the instruction "(10)" of process (2), and as shown in FIG. 2 (b), this instruction does not have a data type code (="O"), It has only the instruction code.

このため、データ型変換制御コード発生部115には、
データ型部114aからオペランドのデータ型コード”
FP”と、データ型部113aから型付命令のデータ型
コードLL OI+とが入力され、先の表1に従ってデ
ータ型の変換方法に示す制御コード”FC″″と演算結
果のデータ型を示すコート″F′″とが出力される。こ
のうち、制御コート”FC”はマクロ命令レジスタ11
1の命令コード部111cに送られ、また、演算結果の
データ型を示すコード11 F I+は命令スタック1
09に送られて命令コードと共に次のデータ型付命令を
構成する。
Therefore, the data type conversion control code generation unit 115 has the following information:
Operand data type code from the data type section 114a
FP'' and the data type code LL OI+ of the typed instruction from the data type section 113a are input, and the control code ``FC'''' shown in the data type conversion method and the code indicating the data type of the operation result according to Table 1 above are input. "F'" is output. Among these, the control code "FC" is the macro instruction register 11.
The code 11 F I+ is sent to the instruction code section 111c of instruction stack 1 and indicates the data type of the operation result.
09 and composes the next data typed instruction together with the instruction code.

次いで、データD(整数値)にかかる処理■によリオペ
ランドが読み取られると、例えばオペランドのデータ型
コード”DI”がデータ型部114a、 111aから
出力され、論理アドレスまたは直接数値がデータ部11
4b、 1llbから出力されると共に、データ型コー
トII D I I+がデータ型変換制御コード発生部
115に入力され、かつ、命令スタック109からデー
タ型部113aを介して演算結果のデータ型を示すコー
ト“F I+が入力される。
Next, when the operand is read by the process (2) concerning data D (integer value), the data type code "DI" of the operand is output from the data type sections 114a and 111a, and the logical address or direct numerical value is written to the data section 11.
4b and 1llb, the data type code II D I I+ is input to the data type conversion control code generation section 115, and a code indicating the data type of the operation result is sent from the instruction stack 109 via the data type section 113a. “FI+ is input.

従って、表1により、データ型変換制御コード発生部1
15からはデータ型の変換方法を示す制御コード”DF
C”と演算結果の型を示すコードII F +1とが出
力され、これらは前記同様に命令コード部111c及び
命令スタック109にそれぞれ送られる。
Therefore, according to Table 1, data type conversion control code generator 1
From 15 onwards, there is a control code “DF” that indicates the data type conversion method.
C'' and a code II F +1 indicating the type of the operation result are output, and these are sent to the instruction code section 111c and the instruction stack 109, respectively, in the same manner as described above.

ここで、制御コード”DFC”はオペランドを浮動小数
点データに変換して浮動小数点演算を行う旨のコード、
コードllF″′は演算結果を浮動小数点データとして
得るためのコードである。
Here, the control code "DFC" is a code that converts the operand to floating point data and performs floating point operation.
Code llF'' is a code for obtaining the calculation result as floating point data.

すなわち、処理■、■の各データC,Dはデー=23− タ型が異なるにも拘らず、データ型変換制御コート発生
部115でこれらのデータ型を判断し、先の(3)式の
変換ルールに従って所定の制御コード及び演算結果のデ
ータ型を示すコードを生成して特定のデータ型での演算
処理が実行されることになる。
In other words, even though the data C and D in processing ■ and ■ have different data types, the data type conversion control code generation unit 115 determines these data types and converts them into the equation (3) above. A predetermined control code and a code indicating the data type of the calculation result are generated according to the conversion rule, and calculation processing with the specific data type is executed.

一方、演算部200では、先のデータCについてデータ
型部111a及びデータ部111bの内容に基づきアド
レス変換部202により物理アドレスへの変換を行い、
データメモリ203から読み出してデータスタック20
5に格納したデータと、同じくデータDについて同様の
作用により読み出したデータとを用い、命令コード部1
11cからの型付の命令コートをマイクロプログラム制
御部201によりデコードして算術演算部204により
演算を行い、その結果(f、=C十D)をデータスタッ
ク205に格納する。
On the other hand, in the calculation section 200, the address conversion section 202 converts the previous data C into a physical address based on the contents of the data type section 111a and the data section 111b.
Read from data memory 203 and data stack 20
Using the data stored in the instruction code section 1 and the data read out using the same operation for the data D,
The typed instruction code from 11c is decoded by the microprogram control unit 201, the arithmetic operation unit 204 performs an operation, and the result (f,=C+D) is stored in the data stack 205.

この演算結果にはデータ型が付加されていないが、演算
結果のデータ型は、上述したように命令スタック109
によって管理されることになる。
Although no data type is attached to this operation result, the data type of the operation result is determined by the instruction stack 109 as described above.
will be managed by.

なお、演算部200によって上記演算が実行され=24
− ている間、構文解析部100ではオペランドレジスタ1
14及び型付命令レジスタ113等により次の命令の構
文解析が並行して行われている。
Note that when the above calculation is executed by the calculation unit 200, =24
- While the syntax analysis unit 100 is
14, the typed instruction register 113, etc., syntax analysis of the next instruction is being performed in parallel.

第3図は、上述したようにオペランドのデータ型が型付
の命令として受は継がれる様子を示したものであり、図
中、符号Y1.Y2.Y3はデータ型の比較判別髪行っ
てデータ型変換制御コードを生成するデータの流れ、ま
た、符号i、ii、niはデータ型が引き継がれる順序
を、更に[F]は生成されたデータ型とデータ型付命令
であることをそれぞれ示している。
FIG. 3 shows how the data type of the operand is inherited as a typed instruction as described above. Y2. Y3 indicates the flow of data that generates the data type conversion control code by comparing and determining data types, the codes i, ii, and ni indicate the order in which the data types are inherited, and [F] indicates the generated data type. Each indicates that it is a data-typed instruction.

この実施例において、マクロ命令レジスタ111を省略
してその処理を型付命令レジスタ113及びオペランド
レジスタ114に代行させることもできる。また、これ
らの型付命令レジスタ113及びオペランドレジスタ1
14は構文解析処理と演算処理とを並行して行わせるた
めに設けられており、かかる並行処理の必要がなければ
省略することも可能である。
In this embodiment, the macro instruction register 111 may be omitted and the processing may be performed by the typed instruction register 113 and the operand register 114. In addition, these typed instruction register 113 and operand register 1
14 is provided to perform syntax analysis processing and arithmetic processing in parallel, and can be omitted if such parallel processing is not necessary.

(発明の効果) 以上詳述したように本発明によれば、プログラムを構成
するオペランドにデータ型を示すコードを付加し、一方
、命令コードは特定なデータ型を持たない命令語の構造
とし、異なるデータ型同士の演算においてもそのデータ
型の判別及び変換方法を示す制御コードを生成して演算
を行わせるようにしたから、データ型を意識することな
くプログラミングを行うことができ、また、データ型に
応じた種類の命令を備える必要がないことがら、プログ
ラミングやハードウェア上の負担を軽減し、しかもプロ
グラムメモリ容量の削減を図ることができる。
(Effects of the Invention) As detailed above, according to the present invention, a code indicating a data type is added to the operands constituting the program, while the instruction code has a structure of an instruction word without a specific data type, Even when performing operations between different data types, we have created a control code that indicates the data type discrimination and conversion method to perform the operation, so programming can be performed without being aware of data types. Since there is no need to provide different types of instructions depending on the type, the burden on programming and hardware can be reduced, and the program memory capacity can be reduced.

更に、演算結果のデータ型を示すコードを生成し、この
コードと演算の命令コードとを合成してデータ型付命令
を構成すると共に、このデータ型付命令をスタックして
次回の演算データの命令として再び実行できるようにし
たため、データ型が次命令に受は継がれることになり、
演算結果を格納するデータスタックではデータ型を除い
た値だけ格納すれば済むため、スタックのメモリ容量を
少なくすることが可能である。
Furthermore, a code indicating the data type of the operation result is generated, this code and the instruction code of the operation are combined to form a data typed instruction, and this data typed instruction is stacked to be used as the instruction for the next operation data. Since the data type can be executed again as follows, the data type will be inherited to the next instruction.
Since the data stack that stores the calculation results only needs to store values excluding the data type, it is possible to reduce the memory capacity of the stack.

従って、演算結果を評価する際にデータ型の認識のため
の処理を省くことができ、演算の処理速度が向上する等
の効果がある。
Therefore, when evaluating a calculation result, processing for recognizing the data type can be omitted, and the processing speed of the calculation can be improved.

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

第1図ないし第3図は本発明の一実施例を示す1もので
、第1図はブロック図、第2図#(イ)〜(ニ)は各フ
ォーマットの説明図、第3図は演算処理の一例において
データの流れを抽象的に表現した説明図、第4図は従来
例を示すブロック図、第5図は構文解析部の動作を示す
フローチャート、第6図はプログラムメモリの内容を示
す説明図、第7図は各処理ごとの命令スタック及びデー
タスタックの内容を示す説明図、第8図(イ)〜(ニ)
は演算処理の一例においてデータの流れを抽象的に表現
した説明図、第9図はデータスタックの内容の説明図で
ある。 10〇−構文解析部  113・・・型付命令レジスタ
109・・・命令スタック 111・・マクロ命令レジ
スタ111a・・・データ型部 111b・・・データ
部113a・・・データ型部 113b・・・命令コー
ド部114・・・オペランドレジスタ −14a・・・
データ型部114b・・・データ部 115・・・データ型変換制御コード発生部200・・
・演算部 滲 GρGに舘同のρの(a◎ (R− 七
Figures 1 to 3 show one embodiment of the present invention. Figure 1 is a block diagram, Figure 2 #(a) to #(d) are explanatory diagrams of each format, and Figure 3 is a calculation diagram. An explanatory diagram that abstractly expresses the flow of data in an example of processing, Fig. 4 is a block diagram showing a conventional example, Fig. 5 is a flowchart showing the operation of the syntax analysis section, and Fig. 6 shows the contents of the program memory. Explanatory diagram, Figure 7 is an explanatory diagram showing the contents of the instruction stack and data stack for each process, Figure 8 (a) to (d)
9 is an explanatory diagram abstractly expressing the flow of data in an example of arithmetic processing, and FIG. 9 is an explanatory diagram of the contents of the data stack. 10〇-Syntax analysis section 113...Typed instruction register 109...Instruction stack 111...Macro instruction register 111a...Data type section 111b...Data section 113a...Data type section 113b... Instruction code section 114... Operand register -14a...
Data type section 114b...Data section 115...Data type conversion control code generation section 200...
・The calculation part GρG has the same ρ (a◎ (R-7)

Claims (1)

【特許請求の範囲】  関数型で記述されたプログラムの中間言語の構文を解
析し、演算部により実行可能な命令を生成する構文解析
部を備え、前記中間言語を直接実行可能とした演算制御
装置において、 前記構文解析部に、前記プログラムの演算命令を構成す
るオペランドのデータ型を判断してこのオペランドが処
理されるべきデータ型への変換方法を示す制御コードと
、前記オペランドを用いた演算結果のデータ型を示すデ
ータ型コードとを発生する手段と、 演算順序を制御し、かつ前記データ型コード及び演算命
令の命令コードからなるデータ型付命令をスタックする
記憶手段とを備え、 前記データ型付命令を次の演算の命令として実行するこ
とを特徴とする演算制御装置。
[Scope of Claims] An arithmetic control device that includes a syntax analysis unit that analyzes the syntax of an intermediate language of a program written in a functional format and generates instructions that can be executed by an arithmetic unit, and is capable of directly executing the intermediate language. In the syntax analysis unit, a control code indicating a method for determining the data type of an operand constituting an operation instruction of the program and converting this operand into a data type to be processed, and a control code indicating a method for converting the operand into a data type to be processed, and a calculation result using the operand. means for generating a data type code indicating the data type of the data type; and storage means for controlling the operation order and stacking data typed instructions consisting of the data type code and the instruction code of the operation instruction; An arithmetic control device characterized in that an attached instruction is executed as an instruction for the next operation.
JP63071525A 1988-03-24 1988-03-24 Arithmetic control device Expired - Lifetime JPH06100970B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63071525A JPH06100970B2 (en) 1988-03-24 1988-03-24 Arithmetic control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63071525A JPH06100970B2 (en) 1988-03-24 1988-03-24 Arithmetic control device

Publications (2)

Publication Number Publication Date
JPH01243126A true JPH01243126A (en) 1989-09-27
JPH06100970B2 JPH06100970B2 (en) 1994-12-12

Family

ID=13463232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63071525A Expired - Lifetime JPH06100970B2 (en) 1988-03-24 1988-03-24 Arithmetic control device

Country Status (1)

Country Link
JP (1) JPH06100970B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294480A (en) * 2013-06-24 2013-09-11 攀枝花学院 Method for converting grid line data into data list
JP2019109926A (en) * 2014-07-30 2019-07-04 リニア アルジェブラ テクノロジーズ リミテッド Vector processor
US11579872B2 (en) 2013-08-08 2023-02-14 Movidius Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294480A (en) * 2013-06-24 2013-09-11 攀枝花学院 Method for converting grid line data into data list
CN103294480B (en) * 2013-06-24 2016-04-06 攀枝花学院 Mesh row data transformations is the method for data list
US11579872B2 (en) 2013-08-08 2023-02-14 Movidius Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
JP2019109926A (en) * 2014-07-30 2019-07-04 リニア アルジェブラ テクノロジーズ リミテッド Vector processor
CN110515658A (en) * 2014-07-30 2019-11-29 莫维迪厄斯有限公司 Method and apparatus for managing variable length instruction

Also Published As

Publication number Publication date
JPH06100970B2 (en) 1994-12-12

Similar Documents

Publication Publication Date Title
EP0199173A2 (en) Data processing system
US4833640A (en) Register bank change including register to register transfer in a data processing system
CN101730881A (en) System comprising a plurality of processors and methods of operating the same
JP2000040005A (en) Program converting device
JPH01243126A (en) Arithmetic and control unit
JP2000200196A (en) Central processing unit having extended instruction word
JPS58203554A (en) Operation processor
JPS6212529B2 (en)
JPH0523447B2 (en)
JPH0683615A (en) Computer for executing instruction set emulation
JPS60136832A (en) Logical type data processor for handling data having tag
JPH07110769A (en) Vliw type computer
KR20080044652A (en) Method for debugging by using stack of cpu
JPS5931733B2 (en) central processing unit that executes variable length instructions
JP2637070B2 (en) Micro instruction start address generation method
JPH01298438A (en) Designation range executing system for function type program
JPS59225449A (en) Sentence number converting system
JPS63217433A (en) Control system for execution of program
JPS61223947A (en) Undefined instruction detecting method for processor
JPH0792754B2 (en) Assembling device
JPS58149571A (en) Processing system of vector operation in information processing device
JPS6028014B2 (en) microprocessor
JPH06236282A (en) Compiler and interpreter for variable size of data format
JPS6022247A (en) Micro instruction control system
JPH05100720A (en) Managing device for program

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071212

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 14

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 14