JPH0458326A - Computer with built-in program - Google Patents

Computer with built-in program

Info

Publication number
JPH0458326A
JPH0458326A JP2168211A JP16821190A JPH0458326A JP H0458326 A JPH0458326 A JP H0458326A JP 2168211 A JP2168211 A JP 2168211A JP 16821190 A JP16821190 A JP 16821190A JP H0458326 A JPH0458326 A JP H0458326A
Authority
JP
Japan
Prior art keywords
code
sub
address
data
operand
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
JP2168211A
Other languages
Japanese (ja)
Inventor
Mutsumi Fujiwara
睦 藤原
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2168211A priority Critical patent/JPH0458326A/en
Publication of JPH0458326A publication Critical patent/JPH0458326A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To reduce the instruction code volume by providing a FIFO memory which replaces a suboperand code having a large number of digits with a series number having a small number of digits and stores the addresses and the data generated with each instruction code in the address O and subsequent addresses at all times. CONSTITUTION:The value accordant with the series number covering the instruction code which uses the same suboperand codes at and after the second time through the instruction code which uses precedently the same suboperand codes for the former instruction code. Then an FIFO memory 12 stores the addresses and the data obtained with execution of each instruction code in accordance with the executing order of the instruction code series. Furthermore a means 10 is provided to read the addresses or the data processed with execution of an instruction code corresponding to the value subject to the series number out of the memory 12 as long as the suboperand code of a read-out instruction code and offers these addresses or data for execution of the instruction codes. Thus it is not required to add the undesired register store instructions into a program.

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は記憶部より命令コードを順次読出して解釈実行
するプログラム内蔵型計算機に関する。
DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Industrial Application Field) The present invention relates to a computer with a built-in program that sequentially reads instruction codes from a storage unit and interprets and executes them.

(従来の技術) プログラム内蔵型計算機は番地付記憶部(メモリ)に格
納されている命令コードの系列(プログラム)を順次読
出し、これを中央処理装置(CPU)にて解釈実行して
上記命令コードに対応した操作を行なう様に構成されて
いる。命令コードは通常、命令の種類(実行、格納、設
定、読出)を示すオペレーションコードと、その命令の
処理対象を示すオペランドコードから成る。オペランド
コードとしてはメモリのアドレスを指定することにより
、必要なデータを読み出すものが一般的である。すなわ
ちオペランドコードとしてメモリアドレスをビット列に
コード化したものを用いる。
(Prior Art) A computer with a built-in program sequentially reads out a series of instruction codes (programs) stored in an addressed storage section (memory), and interprets and executes the instruction codes using a central processing unit (CPU). It is configured to perform operations corresponding to. An instruction code usually consists of an operation code indicating the type of instruction (execution, storage, setting, read) and an operand code indicating the object to be processed by the instruction. Generally, the operand code is one that reads necessary data by specifying a memory address. That is, a memory address encoded into a bit string is used as the operand code.

ところで大容量のメモリではそのアドレスの桁数も膨大
となるため、これをビット列にコード化すると多数のビ
ットを要する。従って1つのプログラム系列中でオペラ
ンドコードとして同じアドレスを繰り返し指定する場合
は、多数のビット列を繰り返し記述しなければならない
。このためプログラムが冗長になり、その格納にも多く
のメモリ容量を要した。
However, in a large-capacity memory, the number of digits in the address is enormous, so encoding this into a bit string requires a large number of bits. Therefore, if the same address is repeatedly specified as an operand code in one program series, a large number of bit strings must be repeatedly written. This made the program redundant and required a large amount of memory capacity to store it.

この問題点を改善するため、メモリとは別に読出し及び
書込みが可能な少数のレジスタを設け、オペランドコー
ドとして複数回使用されるアドレスやデータを一時的に
格納する方式が採用されている。これによればメモリア
ドレス数に比較してレジスタの数は極めて少ないため、
オペランドコードとしてレジスタ番号を格納することで
そのビット数を少なくできる。
In order to improve this problem, a method has been adopted in which a small number of readable and writable registers are provided separately from the memory, and addresses and data used multiple times as operand codes are temporarily stored. According to this, the number of registers is extremely small compared to the number of memory addresses, so
By storing the register number as an operand code, the number of bits can be reduced.

つまりプログラム系列中で同一のオペランドコードを複
数の命令コードで使用する場合、2回目以降に該オペラ
ンドコードを使用する命令コードでは、該オペランドコ
ードが格納されたレジスタ番号を代わりに記述しておく
ことで上記欠点を除去できる。
In other words, when the same operand code is used in multiple instruction codes in a program series, the register number in which the operand code is stored should be written in the instruction code that uses the operand code from the second time onwards. can eliminate the above drawbacks.

しかしながらこの方式では、プログラムの命令コード系
列中で再使用されるオペランドコードに対し、これをレ
ジスタに格納する命令を付加しなければならない。つま
り再使用されるオペランドコードを含んだ命令コード夫
々に対し、その直後にレジスタ番号を指定したオペラン
ドコード格納命令を余分に記述する必要があるため、プ
ログラム量が増大する。
However, in this method, it is necessary to add an instruction to store the operand code in a register to the operand code that is reused in the instruction code series of the program. In other words, it is necessary to write an extra operand code storage instruction specifying a register number immediately after each instruction code that includes an operand code to be reused, which increases the amount of the program.

又、限られた数のレジスタに命令コード系列のオペラン
ドコードを順番に割り当てて行き、−杯になった後は先
頭のレジスタから空にして再度割り当てる方法も考えら
れる。
Another possible method is to sequentially allocate the operand codes of the instruction code series to a limited number of registers, and when the registers become full, the first register is emptied and reassigned.

このときは現在対象としている命令コードのオペランド
コードを格納すべきレジスタが何番目であるかを常に監
視しなければならない。つまり命令コードの系列順序と
レジスタ番号とが対応していないため、プログラミング
(ソースプログラムのコンパイル作業)時には当該命令
コートに対応したレジスタ番号が何番であるかを見極め
た上で所望のレジスタ番号(必要なオペランドコードが
格納されたレジスタ)を命令コード中に記述するという
、面倒な作業が必要であった。
At this time, it is necessary to constantly monitor the register number in which the operand code of the currently targeted instruction code should be stored. In other words, the sequence order of instruction codes and register numbers do not correspond, so when programming (compilation work of source programs), it is necessary to determine what register number corresponds to the instruction code and select the desired register number ( This required the tedious work of writing registers containing the necessary operand codes into the instruction code.

(発明が解決しようとする課題) このように従来のプログラム内蔵型計算機においては、
少数のレジスタを設け、再使用されるオペランドコード
をレジスタに格納する方式が採用されているが、これで
はプログラムの多数の位置に余分なレジスタ格納命令を
追加しなければならずプログラムが冗長となる。更には
命令コード系列とレジスタ番号とが対応していないため
、プログラミング時には当該レジスタ番号を常に監視し
なければならないという欠点が有った。
(Problem to be solved by the invention) In this way, in the conventional computer with a built-in program,
A method has been adopted in which a small number of registers are provided and operand codes to be reused are stored in the registers, but this requires adding extra register storage instructions to many locations in the program, making the program redundant. . Furthermore, since the instruction code series and register numbers do not correspond, there is a drawback that the register numbers must be constantly monitored during programming.

本発明の目的は、プログラム中に余分なレジスタ格納命
令を追加する必要が無く、且つプログラミングにおいて
もレジスタ番号を調べる必要の無いプログラム内蔵型計
算機を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a computer with a built-in program that does not require adding an extra register storage instruction to a program and does not require checking register numbers during programming.

〔発明の構成〕[Structure of the invention]

(課題を解決するための手段) 本発明は命令の種類を示すサブオペレーションコード及
び命令の対象を示すサブオペランドコードから成る命令
コード系列をメモリからアドレス指定により順次読出し
、この読出した命令コードをCPUで解釈実行するプロ
グラム内蔵型計算機において、同一のサブオペランドコ
ードを2回目以降に使用する命令コードは、当該命令コ
ードから以前に同一のサブオペランドコードを使用する
命令コードまでの系列数(命令コード数)に従った値を
格納する。更に各命令コードの実行により得られた(又
は用いられた)アドレス及びデータを命令コード系列の
実行順序に対応付けて順次格納する先入れ先出しメモリ
と、読出した命令コードのサブオペランドコードが系列
数に従った値であった場合この値に該当する命令コード
(つまり読出した命令コードより系列数分だけ以前に実
行した命令コード)の実行により処理されたアドレス又
はデータを先入れ先出しメモリより読出し、これを当該
命令コードの実行に供する手段とを備えたことを特徴と
する。
(Means for Solving the Problems) The present invention sequentially reads an instruction code series consisting of a sub-operation code indicating the type of instruction and a sub-operand code indicating the target of the instruction from memory by addressing, and transfers the read instruction code to the CPU. In a built-in computer that interprets and executes a program, an instruction code that uses the same sub-operand code for the second time or later is determined by the number of series (number of instruction codes) from the instruction code to the instruction code that previously used the same sub-operand code. ) is stored. Furthermore, there is a first-in, first-out memory that sequentially stores addresses and data obtained (or used) by the execution of each instruction code in association with the execution order of the instruction code series, and a first-in, first-out memory that stores the addresses and data obtained (or used) by the execution of each instruction code sequentially, and the sub-operand codes of the read instruction codes are stored in accordance with the number of series. If the value is a value, the address or data processed by the execution of the instruction code corresponding to this value (in other words, the instruction code executed the number of sequences earlier than the read instruction code) is read from the first-in, first-out memory, and this is executed by the instruction in question. The method is characterized by comprising means for executing the code.

(作用) 本発明によれば、各命令コードの実行により得られた(
又は用いられた)アドレス及びデータが実行順序に従っ
て先入れ先出しメモリに記憶される。ここではCPU内
のサブオペレーション実行制御部が前記アドレス及びデ
ータを先入れ先出しメモリのO番地より常に書込む。従
って従来の様にプログラム中にレジスタ番号を指定した
余分なレジスタ格納命令を記述しておく必要が無い。
(Operation) According to the present invention, the (
(or used) addresses and data are stored in first-in-first-out memory according to execution order. Here, the sub-operation execution control unit in the CPU always writes the address and data from address O of the first-in, first-out memory. Therefore, there is no need to write an extra register storage instruction specifying a register number in the program as in the conventional case.

又、先入れ先出しメモリでは最近実行された命令コード
のアドレス及びデータはど若い記憶番地に書き込まれて
いる。ここでは現在実行中の命令コードから過去実行さ
れた命令コードまでの系列数(命令コード数)に従った
値と前記過去実行された命令コードのアドレス及びデー
タの格納された記憶番地とがそのまま対応している。従
ってプログラミング時において、先に使用されたオペラ
ンドコードの記憶番地を求める際、現在の命令コードか
ら該オペランドコードを先に使用した命令コードまでの
系列数に従った値をそのまま記述すればよい。つまり従
来方式の様にプログラミング時に常にレジスタ番号を調
べる必要が無くなる。
Furthermore, in a first-in, first-out memory, the address and data of the most recently executed instruction code are written to the youngest memory address. Here, the value according to the number of sequences (instruction code number) from the currently executed instruction code to the previously executed instruction code corresponds directly to the address of the previously executed instruction code and the memory address where the data is stored. are doing. Therefore, during programming, when finding the storage address of the previously used operand code, it is sufficient to simply write the value according to the number of series from the current instruction code to the instruction code that used the operand code first. In other words, it is no longer necessary to constantly check the register number during programming as in the conventional method.

(実施例) 以下、図面を参照して本発明によるプログラム内蔵型計
算機の一実施例を説明する。第1図(a)は本実施例に
係る命令コードのフォーマットを示す図、第1図(b)
は従来の拡張部からなる命令コードのフォーマットを示
す図である。ここでは1つの命令コードはサブオペレー
ションコード及びサブオペランドコードから成る(第1
図(a)の上側は従来のオペレーションコード、オペラ
ンドコードと実質同一であるが、本実施例ではサブオペ
ランドコードの最下位ビットに示すように、通常のオペ
ランドコードと系列数が記述されたオペランドコードと
を識別するフラグを含むため、この様に呼ぶ事とする)
。第1図(a)に示す様に最下位ビットが0である命令
コードはその上位2ビツトに命令の種類を示すサブオペ
レーションコードを含んでいる。ここでは「実行」「格
納」「設定」「読出」の4種類有る。 このサブオペレ
ーションコードより上位のビットは、命令の対象を示す
サブオペランドコードである。
(Embodiment) Hereinafter, an embodiment of a built-in program computer according to the present invention will be described with reference to the drawings. FIG. 1(a) is a diagram showing the format of the instruction code according to this embodiment, FIG. 1(b)
1 is a diagram showing the format of an instruction code consisting of a conventional extension section. Here, one instruction code consists of a sub-operation code and a sub-operand code (the first
The upper part of Figure (a) is substantially the same as the conventional operation code and operand code, but in this embodiment, as shown in the least significant bit of the sub-operand code, the operand code is a normal operand code and the number of sequences is written. (It is called this way because it includes a flag that identifies it.)
. As shown in FIG. 1(a), an instruction code whose least significant bit is 0 includes a sub-operation code indicating the type of instruction in its upper two bits. Here, there are four types: "execution", "storage", "setting", and "reading". Bits higher than this sub-operation code are sub-operand codes indicating the target of the instruction.

ここで第1図(b)に示すように最下位ビットが1であ
る命令コードの上位ビットは、その直前の命令コードの
サブオペランドコードの拡張部分である。このような拡
張は最下位ビットが1である命令コードを連続すること
で複数回行なうこともできる(この拡張はオペランドコ
ードとすべきアドレスやデータのビット数が多い場合に
使用する)。
Here, as shown in FIG. 1(b), the upper bit of an instruction code whose least significant bit is 1 is an extension of the sub-operand code of the immediately preceding instruction code. Such extension can be performed multiple times by consecutively using instruction codes whose least significant bit is 1 (this extension is used when the number of bits of address or data to be used as an operand code is large).

サブオペランドコードはその最下位ビットによって2種
類に区別される。第1図(a)の上側に示す様に最下位
ビットが0の場合にはその上位ビットの内容がそのまま
命令(サブオペレーションコード)の対象となる。(各
命令の種類に応じてどのような対象とみなすかは後述す
る)この上側の命令コードはそのサブオペランドコード
と同一のものがプログラム中で以前に出現しない場合に
使用される。次に第1図(a)の下側に示す様に最下位
ビットが1の場合には、これ以前の命令コードで生成さ
れたアドレス又はデータ(ここでのアドレスやデータは
単なるインデックスとしての名称であり実際のアドレス
やデータでは無関係、後述する)を再使用する。ここで
最下位ビットの次のビットがOの場合にはアドレス指定
、1の場合はデータ指定である。これら下位2ビツトを
除いた残りのビットの表わす整数値が系列数に従った値
、つまり当該命令コードから必要とするアドレス又はデ
ータを生成した過去の命令コードまでのコード数の対応
値を示している。この下側の命令コードは、そのサブオ
ペレーションコードが過去の成る命令コードのサブオペ
レーションコードと同一であって、その生成アドレスや
データを再使用するため、上記系列数に従った値を当該
命令コードのサブオペレーションコードとして格納する
ものである。更に云えばプログラミングにおいて、各命
令コードのサブオペランドコードを記述する際、既に過
去の命令コードで同一のサブオペランドコードが使用さ
れ、そこで処理されたアドレス又はデータを当該命令コ
ードで再使用したい場合、当該命令コードから前記過去
の命令コードまでの命令コード数(プログラム上の系列
数)に従った値を当該命令コードのサブオペランドコー
ドとして記述すれば良いのである。
Sub-operand codes are classified into two types depending on their least significant bits. As shown in the upper part of FIG. 1(a), when the least significant bit is 0, the contents of the most significant bit become the target of the instruction (sub-operation code) as is. (What kind of target is considered according to the type of each instruction will be described later.) This upper instruction code is used when the same sub-operand code does not appear before in the program. Next, as shown in the lower part of Figure 1(a), if the least significant bit is 1, the address or data generated by the previous instruction code (the address or data here is simply a name as an index) , and is irrelevant to the actual address or data (described later). Here, when the bit next to the least significant bit is O, it is an address specification, and when it is 1, it is a data specification. The integer value represented by the remaining bits excluding these lower two bits indicates the value according to the number of sequences, that is, the corresponding value of the number of codes from the relevant instruction code to the past instruction code that generated the required address or data. There is. This lower instruction code has a sub-operation code that is the same as the sub-operation code of the previous instruction code, and in order to reuse the generated address and data, the value according to the number of series is set to the instruction code. This is stored as a sub-operation code. Furthermore, in programming, when writing sub-operand codes for each instruction code, if the same sub-operand code has already been used in a past instruction code and you want to reuse the address or data processed there in that instruction code, It is sufficient to write a value according to the number of instruction codes (number of series on the program) from the instruction code to the past instruction code as the sub-operand code of the instruction code.

さて上述した様に、本発明では各命令コードを実行する
とアドレスとデータの2種類の情報を生成する。これら
をサブオペレーションコードの4種類の処理(但し第1
図(a)の上側に示す命令コードの場合)とともに以下
に示す。
As described above, in the present invention, when each instruction code is executed, two types of information, address and data, are generated. These are processed by four types of sub-operation codes (however, the first
The instruction code (in the case of the instruction code shown in the upper part of Figure (a)) is shown below.

■実行:サブオペランドコードが示すビット列をオペレ
ーションコードとして解釈実行する。この時オペレーシ
ョンの対象(オペランド)としては、これ以前に生成さ
れたデータをオペレーション毎に暗黙に指定して用いる
(例えば加算であれば1系列前と2系列前のデータを使
用する等)。
■Execution: Interprets the bit string indicated by the sub-operand code as an operation code and executes it. At this time, as the object (operand) of the operation, previously generated data is implicitly specified and used for each operation (for example, in the case of addition, data from one series before and two series before are used).

そして、上記ビット列(オペレーションコード)をアド
レスとし、実行(演算)結果をデータとして生成する。
Then, the bit string (operation code) is used as an address, and the execution (operation) result is generated as data.

■格納:サブオペランドコードが示すビット列をメモリ
番地として解釈し、そこに直前の命令コードで生成され
たデータを書込む。
■Storage: Interpret the bit string indicated by the sub-operand code as a memory address, and write the data generated by the immediately previous instruction code there.

そして上記ビット列(メモリ番地)をアドレスとし、書
込んだデータを再びデータとして生成する。
Then, the bit string (memory address) is used as an address, and the written data is generated again as data.

■設定:サブオペランドコードが示すビット列を実行に
必要なデータとして使用する。そして当該命令コードの
メモリ上の格納番地(プログラムカウンタ値)をアドレ
スとし、上記ビット列をデータとして生成する。
■Settings: Use the bit string indicated by the sub-operand code as data necessary for execution. Then, the storage address (program counter value) of the instruction code in the memory is set as an address, and the bit string is generated as data.

に)読出:サブオペランドコードが示すビット列をメモ
リ番地として解釈し、そこがら記憶内容を読出す。そし
て上記ビット列(メモリ番地)をアドレスとし、読出し
たデータを再びデータとして生成する。
B) Read: Interpret the bit string indicated by the sub-operand code as a memory address, and read the stored contents from there. Then, the bit string (memory address) is used as an address, and the read data is generated again as data.

これら各命令で生成されたアドレス及びデータは順次先
入れ先出しメモリ(FIFO)に記憶されて、以後の命
令コードで同一のオペランドコードを使用するものの実
行に再使用される(これについては後述する)。
The addresses and data generated by each of these instructions are sequentially stored in a first-in, first-out memory (FIFO) and reused for the execution of subsequent instruction codes that use the same operand code (this will be described later).

第2図は本発明に係る命令コードを解釈するプログラム
内蔵型計算機のブロック図である。ここでは第1図に示
す形式の命令コードで記述されたプログラムがメインメ
モリ1に格納されており、CPU2では1命令コードず
つ読出して解釈実行する。ここでプログラムカウンタ3
のアドレスがアドレスバッファ4.アドレスバス5を介
してメインメモリ1へ送られ、ここより該当する命令コ
ードが読出されて、データバス6、データバッファ7を
介してサブオペレーションデコーダ8へ送られる。サブ
オペレーションデコーダ8では命令コードのサブオペラ
ンドコードから最下位ビットを除いた部分(第1図(a
)の点線より左側)をサブオペランドコードバッファ9
へ送る。又、命令コードの上記以外の部分(第1図(a
)の点線より右側)をサブオペレーション実行制御部1
0へ送る。
FIG. 2 is a block diagram of a computer with a built-in program that interprets instruction codes according to the present invention. Here, a program written using instruction codes in the format shown in FIG. 1 is stored in the main memory 1, and the CPU 2 reads each instruction code one by one and interprets and executes the program. Here program counter 3
The address of address buffer 4. The instruction code is sent to the main memory 1 via the address bus 5, from which the corresponding instruction code is read, and sent via the data bus 6 and data buffer 7 to the sub-operation decoder 8. In the sub-operation decoder 8, the part of the sub-operand code of the instruction code excluding the least significant bit (Fig. 1(a)
) to the left of the dotted line) to the sub-operand code buffer 9
send to In addition, parts of the instruction code other than the above (see Figure 1 (a)
) to the right of the dotted line) is the sub-operation execution control unit 1
Send to 0.

サブオペレーション実行制御部10ではプログラムカウ
ンタ3を1進めると共にフェッチした上記部分のサブオ
ペレーションコードに応じた実行制御を行なう。
The sub-operation execution control unit 10 increments the program counter 3 by 1 and performs execution control according to the sub-operation code of the fetched portion.

サブオペレーションデコーダ8ではフェッチした命令語
がサブオペランドコード拡張部を含んでいる場合、つま
り第1図(b)の形式の場合は、そのサブオペランドコ
ード拡張部をサブオペランドコードバッファ9に送り、
直前のサブオペランドコードバッファの内容に連接させ
る。フェッチした命令語がサブオペランドコード拡張部
を含む限り、サブオペレーションデコーダ8は上述の動
作を繰り返す。再びサブオペレーションコードを含む命
令語をフェッチした時点で、サブオペレーションデコー
ダ8はその前のサブオペレーションの実行をサブオペレ
ーション実行制御部10に指示する。サブオペレーショ
ン実行制御部10は既にサブオペレーションデコーダ8
から受は取っていた、その前のサブオペレーションコー
ドをもとに、他のブロックに制御コードやタイミング信
号を送出してサブオペレーションを実行する。また、サ
ブオペレーションの実行により生成されるアドレス及び
データをFIFO書込制御11を通じて先入れ先出しメ
モリ(F I FO) 12へ書込む。
If the fetched instruction word includes a sub-operand code extension, that is, in the format shown in FIG. 1(b), the sub-operand decoder 8 sends the sub-operand code extension to the sub-operand code buffer 9.
Concatenates to the contents of the previous sub-operand code buffer. As long as the fetched instruction word contains the sub-operand code extension, the sub-operation decoder 8 repeats the above operations. When the instruction word including the sub-operation code is fetched again, the sub-operation decoder 8 instructs the sub-operation execution control unit 10 to execute the previous sub-operation. The sub-operation execution control unit 10 already has the sub-operation decoder 8
Based on the previous sub-operation code received from the block, the block sends control codes and timing signals to other blocks to execute the sub-operation. Further, the address and data generated by the execution of the sub-operation are written to the first-in first-out memory (FIFO) 12 through the FIFO write control 11.

サブオペレーションの実行は以下述べるように行なわれ
る。サブオペレーション実行制御部10ではサブオペレ
ーションデコーダ8より入力したサブオペランドコード
の最下位1ビツトに従って、そのサブオペレーションコ
ートの内容が命令の対象自体か、それとも系列数に従っ
た値かを判断する。最下位ビットがOであれば、このビ
ットを除く残りの部分(これはオペレーションコード、
メモリ番地、定数等そのものである)をサブオペランド
コードバッファ9からサブオペランドバス13へ出力さ
せる。
Execution of the sub-operation occurs as described below. The sub-operation execution control unit 10 determines, according to the least significant bit of the sub-operand code inputted from the sub-operation decoder 8, whether the content of the sub-operation code is the instruction target itself or a value according to the number of sequences. If the least significant bit is O, the rest excluding this bit (this is the operation code,
memory addresses, constants, etc.) are output from the sub-operand code buffer 9 to the sub-operand bus 13.

最下位ビットが1であればこのビットを除く残りの部分
はFIFO12に格納されたアドレス又はデータ(過去
実行された命令コードで同一のオペランドコードを使用
したものの生成データ)を指定する番地である。従って
これらはサブオペランドコードバッファ9からサブオペ
ランドバス13へ出力されるとFIFO12へ供給され
る。このときサブオペレーション実行制御部10はFI
FOランダム読出制御部14に対して指示信号を与える
ことにより、PIFO12より該当番地のアドレス又は
データがサブオペランドバス13へ読み出される。
If the least significant bit is 1, the remaining part excluding this bit is an address that specifies the address or data (data generated from a previously executed instruction code using the same operand code) stored in the FIFO 12. Therefore, when these are output from the sub-operand code buffer 9 to the sub-operand bus 13, they are supplied to the FIFO 12. At this time, the sub-operation execution control unit 10
By giving an instruction signal to the FO random read control unit 14, the address or data at the corresponding address is read from the PIFO 12 to the sub-operand bus 13.

PIFO12は最新に書込まれた番地を0とし、先頭(
最古)の番地を上限として、書込みの新しいアドレス及
びデータの記憶番地はど小さくなる様に番地付けされて
いる。また1つの命令コードが生成するアドレス及びデ
ータのFIFOへの書込みは、アドレス、データの順に
行なわれるため、FIFOの奇数番地にはアドレスが、
偶数番地にはデータが記憶される。つまり各命令コード
の実行により生成されたアドレス及びデータは命令コー
ド系列の実行順序に対応付けられて先入れ先出し方式で
PIFO12へ書込まれる(つまり常にFIFOのO番
地から書込まれる)。上述した様にサブオペランドコー
ドの最下位ビットを除いた部分はFIFOの番地である
と同時に命令コードの系列数に従った値に対応している
。これは現命令コードからこれと同一のサブオペランド
コードを有した過去の命令コードまでの命令コード数(
系列数)の対応値である。このため現命令コードの実行
に際して、前記過去の命令コードで生成されたアドレス
又はデータを迅速に使用できるものである。つまりPI
FO12では1つ前の命令コードから順序過去に遡って
そのアドレス及びデータが0番地から順に書込まれる。
PIFO12 has the most recently written address as 0, and the beginning (
The new address for writing and the storage address for data are numbered in such a way that the address becomes smaller, with the oldest address as the upper limit. Also, since the address and data generated by one instruction code are written to the FIFO in the order of address and data, the address and data are written at odd addresses in the FIFO.
Data is stored at even addresses. That is, the addresses and data generated by the execution of each instruction code are written into the PIFO 12 in a first-in, first-out manner in correspondence with the execution order of the instruction code series (that is, they are always written from address O of the FIFO). As described above, the part of the sub-operand code excluding the least significant bit corresponds to the FIFO address and at the same time corresponds to the value according to the number of sequences of instruction codes. This is the number of instruction codes from the current instruction code to previous instruction codes with the same sub-operand code (
number of series). Therefore, when executing the current instruction code, the address or data generated by the previous instruction code can be quickly used. In other words, P.I.
In the FO 12, addresses and data are sequentially written from address 0, going backwards from the previous instruction code.

従って同一のオペランドコードを有した過去の命令コー
ドまでの系列数に従った値が、必要なアドレス及びデー
タを格納したFIFO番地にそのまま対応しているので
ある。(系列数に従った読出しの際、アドレスとデータ
のどちらが必要かは、サブオペランドコードの最下位か
ら2番目ビットの値により、サブオペレーション実行制
御部10からF工FO12へ指示される。) さて、サブオペランドコードから最下位ビットを除いた
ビット列がサブオペランドバスへ出力されると、サブオ
ペレーション実行制御部10は以下に示す通り、受は取
ったサブオペレーションコードの4種類に従って、各ブ
ロックに制御信号を出力する。(ここで最下位ビットは
0.1両方の場合が該当する) ■実行二上記ピッI−列がオペレーションコードそのも
のである場合はそのまま演算部15へ送られる。ビット
列がFIF○番地(系列数の対応値)である場合はFI
FO12より読出された該当オペレーションコードが演
算部15へ送られる。サブオペレーション実行制御部1
0は演算部15へ実行を指示すると共に、送られたオペ
レーションコードをFIFO書込制御部11を介してF
IFO12の0番地へ書込む(つまりアドレスとして生
成する)。演算部15は受は取ったオペレーションコー
ドを解釈し、必要に応じてFIFOからオペランドコー
ドとすべきデータをサブオペランドバス13を介して読
み出し、当該オペレーションコードに対応した演算を行
なう。(このデータはオペレーションコードの種類毎に
指定されたもので加算であればFIFOの1番地。
Therefore, the value according to the number of sequences up to the past instruction code having the same operand code directly corresponds to the FIFO address where the necessary address and data are stored. (When reading according to the number of sequences, whether an address or data is required is instructed from the sub-operation execution control unit 10 to the FO 12 by the value of the second least significant bit of the sub-operand code.) , when the bit string excluding the least significant bit from the sub-operand code is output to the sub-operand bus, the sub-operation execution control unit 10 controls each block according to the four types of received sub-operation codes, as shown below. Output a signal. (Here, both cases where the least significant bit is 0.1 are applicable.) (2) Execution 2 If the above-mentioned PI column is the operation code itself, it is sent to the arithmetic unit 15 as is. If the bit string is a FIF○ address (corresponding value of the number of sequences), the FI
The corresponding operation code read from the FO 12 is sent to the calculation unit 15. Sub-operation execution control unit 1
0 instructs the calculation unit 15 to execute, and also sends the sent operation code to the FIFO write control unit 11.
Write to address 0 of IFO 12 (that is, generate it as an address). The arithmetic unit 15 interprets the received operation code, reads data to be used as an operand code from the FIFO via the sub-operand bus 13 as necessary, and performs an operation corresponding to the operation code. (This data is specified for each type of operation code, and if it is an addition, it is the first address of the FIFO.

2番地のデータを使う等暗黙に決められている)こうし
て得られた演算結果はオペランドバス13゜FIFO書
込制御部11を介してPIFO12の0番地へ書込まれ
る(つまりデータとして生成する。このとき1番地には
前記アドレスが書込まれている)a ■読出:上記ビット列がメインメモリ1上の読出しアド
レスそのものである場合はそのままアドレスバッファ4
.アドレスバス5を介してメインメモリ1へ送られる。
The result of the operation thus obtained is written to address 0 of the PIFO 12 via the operand bus 13゜FIFO write control unit 11 (that is, it is generated as data. When the above address is written at address 1) a ■Reading: If the above bit string is the read address itself on the main memory 1, it is directly written to the address buffer 4.
.. It is sent to main memory 1 via address bus 5.

ビット列がFIFO番地である場合は、PIFO12よ
り読出された該当アドレスがメインメモリ1へ送られる
。これと同時に該読出しアドレスはFIFO書込制御部
11を介してPIFO12の0番地へ書込まれる(アド
レスとして生成する)。次にメインメモリ1の該当アド
レスよりデータが読出されると。
If the bit string is a FIFO address, the corresponding address read from the PIFO 12 is sent to the main memory 1. At the same time, the read address is written to address 0 of the PIFO 12 via the FIFO write control unit 11 (generated as an address). Next, data is read from the corresponding address in main memory 1.

データバス6、データバッファ7を介して演算部15へ
送られる。これと同時にFIFO書込制御部11を介し
てPIFO12の0番地へ書込まれる(データとして生
成する。このとき1番地には上記アドレスが書込まれて
いる)。
The signal is sent to the arithmetic unit 15 via the data bus 6 and data buffer 7. At the same time, the data is written to address 0 of the PIFO 12 via the FIFO write control unit 11 (generated as data. At this time, the above address is written to address 1).

■設定二上記ビット列がデータ自体(定数等)である場
合はそのまま演算部15へ送られる。ビット列がFIF
O番地である場合はPIFO12より読出されたデータ
が演算部15へ送られる。
(2) Setting 2 If the above bit string is the data itself (constant, etc.), it is sent to the calculation unit 15 as is. Bit string is FIF
If the address is O, the data read from the PIFO 12 is sent to the calculation unit 15.

このときサブオペレーション実行制御部10の指示によ
り、プログラムカウンタ11の値がFIFO書込制御部
11を介してFIFO12の0番地へ書込まれる(アド
レスとして生成する)。次にデータそのものがFIFO
12の0番地へ書込まれ・る(データとして生成する。
At this time, the value of the program counter 11 is written to address 0 of the FIFO 12 via the FIFO write control section 11 according to an instruction from the sub-operation execution control section 10 (generated as an address). Next, the data itself is FIFO
It is written to address 0 of 12 (generated as data).

このとき1番地には上記アドレスが書込まれている)。At this time, the above address is written at address 1).

に)書込:上記ビット列が書込みアドレスそのものであ
る場合はそのままアドレスバッファ4.アドレスバス5
を介してメインメモリ1へ送られる。
) Write: If the above bit string is the write address itself, it is directly written to address buffer 4. address bus 5
is sent to main memory 1 via.

ビット列がFIFO番地の場合はPIFO12より読出
された該当アドレスがメインメモリ1へ送られる。これ
と同時に該読出しアドレスはFIFO書込制御部11を
介してPIFO12の0番地へ書込まれる(アドレスと
して生成する)。
If the bit string is a FIFO address, the corresponding address read from the PIFO 12 is sent to the main memory 1. At the same time, the read address is written to address 0 of the PIFO 12 via the FIFO write control unit 11 (generated as an address).

次に演算部15は書込みデータをPIFO12より読み
出す(これは通常の場合、直前の命令コードで生成した
データが指定される)。この書込みデータはデータバッ
ファ7、データバス6を介してメインメモリlの該当ア
ドレスへ書込まれる。これと同時に該書込みデータはF
IFO書込制御部11を介してPIFO12の0番地へ
書込まれる(データとして生成する。このとき1番地に
は上記アドレスが書込まれている)。
Next, the arithmetic unit 15 reads write data from the PIFO 12 (normally, data generated by the immediately previous instruction code is specified). This write data is written to the corresponding address of the main memory l via the data buffer 7 and the data bus 6. At the same time, the write data is
It is written to address 0 of the PIFO 12 via the IFO write control unit 11 (generated as data. At this time, the above address is written to address 1).

尚、これらω〜(イ)の処理を通じて、サブオペランド
コードバッファ9の内容がサブオペランドバス13へ出
力される毎にサブオペランドコードバッファ9の内容が
初期化される。そしてサブオペレーションデコーダ8に
保持された次の命令コードの、サブオペランドコードか
ら最下位ビットを除いた部分が格納される。
It should be noted that through these processes ω to (a), the contents of the sub-operand code buffer 9 are initialized every time the contents of the sub-operand code buffer 9 are output to the sub-operand bus 13. Then, the part of the next instruction code held in the sub-operation decoder 8, obtained by removing the least significant bit from the sub-operand code, is stored.

次に実際のプログラム例を引用して、その実行に伴うF
IFOへの格納の様子を具体的に説明する。
Next, we will quote an actual program example, and
The manner in which data is stored in the IFO will be explained in detail.

今、「メインメモリの30fc178□6番地に格納さ
れている数を2乗して再び30fc178.s番地に格
納する」というプログラムを考える( Xl、はXが1
6進数=4ビットで表現されていることを示す)。
Now, consider a program that "squares the number stored at address 30fc178□6 in main memory and stores it again at address 30fc178.s" (Xl, where X is 1
(Hexadecimal number = 4 bits)

乗算の命令コード(オペレーションコード)を30□。The multiplication instruction code (operation code) is 30□.

とし、プログラム自体はメインメモリの5d70C4□
6番地以降に格納されているものとする。従来例として
第1図(a)の上側と第1図(b)の形式の命令コード
のみを用いたプログラムを第3図(a)に示し、本発明
として第1図(a)の上側と下側の形式の命令コードを
用いたプログラム例を第3図(b)に示す。これら第3
図の各系列(ステップ)の意味は次のようなものである
The program itself is stored in main memory 5d70C4□
It is assumed that the data is stored at address 6 or later. As a conventional example, FIG. 3(a) shows a program using only instruction codes in the format shown in the upper part of FIG. 1(a) and FIG. 1(b), and as the present invention, the upper part of FIG. An example of a program using the instruction code in the format shown below is shown in FIG. 3(b). These third
The meaning of each series (step) in the diagram is as follows.

■30fc1781.番地からデータを読み出す。■30fc1781. Read data from address.

■■と同じデータを指定する(もう−度読み出す)。Specify the same data as ■■ (read again).

■■のデータと■のデータを乗算する。Multiply the data in ■■ and the data in ■.

■■の結果を30fc178□6番地に書込む。Write the result of ■■ to address 30fc178□6.

第3図(a)(b)を比較して明白なように、本願では
桁数(ビット数)の多いサブオペランドコードを桁数の
少ない系列数に従った値で代替できる。
As is clear from comparing FIGS. 3(a) and 3(b), in the present application, a sub-operand code having a large number of digits (bits) can be replaced with a value according to the number of sequences having a small number of digits.

ここでは■■ステップにおいて4バイトの命令コードを
2バイトで表現できる。この例における本発明のFIF
Oの内容の変化をステップ毎に示せば第4図の様になる
。(但し30fc1781.番地にはデータとして10
00.、が入っていたとする)ここでは■ステップでの
0番地のデータが■ステップで0番地へデータとして書
込まれている(つまり■ステップで読出したデータを再
利用する)。又■ステップでの5番地のアドレスが■ス
テップで1番地ヘアドレスとして書込まれている(つま
り■ステップでの読出しアドレスを書込みアドレスとし
て再利用する)。
Here, a 4-byte instruction code can be expressed in 2 bytes in step ■■. FIF of the invention in this example
If the changes in the contents of O are shown step by step, the result will be as shown in FIG. (However, 30fc1781. address has 10 as data.
00. , is entered) Here, the data at address 0 in step ■ is written as data to address 0 in step ■ (that is, the data read in step ■ is reused). Furthermore, the address at address 5 in step (2) is written to address 1 in step (2) (that is, the read address in step (2) is reused as the write address).

以上述べたように本実施例では、FIFO番地を指定す
るビット数(系列数に従った値)はメインメモリの番地
を直接指定するビット数や演算に必要なデータのビット
数より極めて少ない。従って同一のサブオペランドコー
ドが2回目以降に出現する命令コードについては、第1
図(a)の下側の命令コードのみを用いて記述すれば、
従来のプログラムと比較してそのコード量が大幅に削減
される。又、この方式によれば、コード量の削減に伴な
って、命令コードのフェッチ時間やデコード時間もそれ
に比例して短縮できる。
As described above, in this embodiment, the number of bits for specifying a FIFO address (a value according to the number of series) is extremely smaller than the number of bits for directly specifying a main memory address or the number of data bits required for an operation. Therefore, for instruction codes in which the same sub-operand code appears from the second time onwards,
If you write using only the lower instruction code in figure (a),
The amount of code is significantly reduced compared to conventional programs. Furthermore, according to this method, as the amount of code is reduced, the instruction code fetch time and decoding time can also be reduced in proportion.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、同一のサブオペランドコードが2回目
以降に出現する命令コードに対し、当該命令コードから
以前に同一のサブオペランドコードを使用した命令コー
ドまでの系列数に基いて当該サブオペランドコードを格
納すればよい。つまり従来のプログラミングの様に常に
現在のレジスタ番号を調べる必要が無くなるため、オペ
レータにとってはその負担が軽減される。又、本発明で
は各命令コードで生成されたアドレス及びデータを常に
0番地から格納する先入れ先出しメモリを備えている。
According to the present invention, for an instruction code in which the same sub-operand code appears for the second time or later, the sub-operand code is determined based on the number of sequences from the instruction code to the instruction code that previously used the same sub-operand code. All you have to do is store it. In other words, unlike conventional programming, there is no need to constantly check the current register number, which reduces the burden on the operator. Furthermore, the present invention includes a first-in, first-out memory that always stores addresses and data generated by each instruction code starting from address 0.

従って従来のプログラムの様に余分なレジスタ格納命令
をプログラム中に多数記述する必要が無いため、命令コ
ード量が削減される等、その実用的利点は絶大である。
Therefore, unlike conventional programs, there is no need to write many extra register storage instructions in the program, and the amount of instruction code can be reduced, which has great practical advantages.

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

第1図(a)は本発明の一実施例の命令コード形式を示
す図、第1図(b)はサブオペランドコード拡張部から
成る命令コード形式を示す図、第2図は本発明の一実施
例のプログラム内蔵型計算機のブロック図、第3図(a
)は従来のプログラム記述例を示す図、第3図(b)は
本発明の一実施例によるプログラム記述例を示す図、第
4図は本発明の一実施例のプログラム実行に伴なうFI
FOの内容変化の様子を示す図である。 1・・・メインメモリ、  2・・・CPU、3・・・
プログラムカウンタ、 4・・・アドレスバッファ、5・・・アドレスバス。 6・・・データバス、   7・・・データバッファ、
8・・・サブオペレーションデコーダ、9・・・サブオ
ペランドコードバッファ、10・・・サブオペレーショ
ン実行制御部、11・・・FIFo書込制御部、 12・・・先入れ先出しメモリ(FIFO)、13・・
・サブオペランドバス、 14・・・FIFOランダム読出制御部、15・・・演
算部代理人 弁理士 則 近 憲 佑 iζ 005d70C4 005d70C8 005d 70CC 005d 70Ce 1Dフラム  (へイー欠) 30fc 1786  (4) 30fc  1786  (4) 30fc  1786   (4) (G) 005d70C8 005d70Ca 005d70CC 第 プロブ゛うA 30fc  1786 00a osc 図 030fc 178 030fc 178 oooo +oo。 005d 70C8 ■ 030fc  178 005d70C8 ■ 030fc 178 005d70C8 oooo+oo。 Q30fc 178 ■ 第 図
FIG. 1(a) is a diagram showing an instruction code format of an embodiment of the present invention, FIG. 1(b) is a diagram showing an instruction code format consisting of a sub-operand code extension, and FIG. A block diagram of the built-in program computer according to the embodiment, Fig. 3 (a)
) is a diagram showing an example of conventional program description, FIG. 3(b) is a diagram showing an example of program description according to an embodiment of the present invention, and FIG. 4 is a diagram showing an example of FI associated with program execution according to an embodiment of the present invention.
FIG. 3 is a diagram showing how the contents of FO change. 1... Main memory, 2... CPU, 3...
Program counter, 4...address buffer, 5...address bus. 6...Data bus, 7...Data buffer,
8... Sub-operation decoder, 9... Sub-operand code buffer, 10... Sub-operation execution control unit, 11... FIFo write control unit, 12... First-in first-out memory (FIFO), 13...
・Sub-operand bus, 14...FIFO random read control unit, 15...Arithmetic unit representative Patent attorney Nori Chika Ken Yuiζ 005d70C4 005d70C8 005d 70CC 005d 70Ce 1D frame (hey missing) 30fc 1786 (4) 30fc 1786 030fc 178 030fc 178 oooo +oo. 005d 70C8 ■ 030fc 178 005d70C8 ■ 030fc 178 005d70C8 oooo+oo. Q30fc 178 ■ Figure

Claims (16)

【特許請求の範囲】[Claims] (1)命令の種類を示すサブオペレーションコード及び
命令の対象を示すサブオペランドコードから成る命令コ
ード系列を記憶部からアドレス指定により順次読出し、
この読出した命令コードを中央処理装置で解釈実行する
プログラム内蔵型計算機において、 同一のサブオペレーションコードを2回目以降に使用す
る命令コードは当該命令コードから以前に前記同一のサ
ブオペランドコードを使用する命令コードまでの系列数
に従った値をサブオペランドコードとして格納し、 各命令コードの実行に際して夫々の生成データを命令コ
ード系列の実行順序に対応付けて順次格納する先入れ先
出しメモリと、 読み出した命令コードのサブオペランドコードとして系
列数に従った値が格納されている場合これに対応する命
令コードの生成データを前記先入れ先出しメモリより読
出して実行に供する手段とを具備したことを特徴とする
プログラム内蔵型計算機。
(1) Sequentially read an instruction code series consisting of a sub-operation code indicating the type of instruction and a sub-operand code indicating the target of the instruction from the storage unit by addressing;
In a computer with a built-in program that interprets and executes this read instruction code with a central processing unit, an instruction code that uses the same sub-operand code for the second time or later is an instruction that previously used the same sub-operand code from the instruction code. A first-in, first-out memory stores values according to the number of sequences up to the code as sub-operand codes, and sequentially stores generated data when each instruction code is executed in association with the execution order of the instruction code sequence, and A computer with a built-in program, characterized in that, when a value according to the number of series is stored as a sub-operand code, the generated data of an instruction code corresponding to the sub-operand code is read out from the first-in-first-out memory and used for execution.
(2)前記サブオペレーションコードは実行、格納、設
定、読出の4種類を有するものである請求項1記載のプ
ログラム内蔵型計算機。
(2) The computer with built-in program according to claim 1, wherein the sub-operation code has four types: execution, storage, setting, and reading.
(3)前記サブオペランドコードは命令の対象自体が格
納されているか、又は系列数に従った値が格納されてい
るかを示す識別ビットを有するものである請求項2記載
のプログラム内蔵型計算機。
(3) The computer with a built-in program according to claim 2, wherein the sub-operand code has an identification bit indicating whether the instruction target itself or a value according to the number of sequences is stored.
(4)前記生成データは、インデックスとしてアドレス
とデータの2種類に区分されており、前記サブオペレー
ションコードが実行の場合はそのサブオペランドコード
で指示されたオペレーションコードをインデックスのア
ドレス、その実行結果をインデックスのデータとし、前
記サブオペレーションコードが格納の場合はそのサブオ
ペランドコードで指示された書込みアドレスをインデッ
クスのアドレス、その書込みデータをインデックスのデ
ータとし、前記サブオペレーションコードが設定の場合
は当該命令コードの前記記憶部内でのアドレスをインデ
ックスのアドレス、そのサブオペランドコードに対応す
るデータをインデックスのデータとし、前記サブオペレ
ーションコードが読出の場合はそのサブオペランドコー
ドで指示された読出しアドレスをインデックスのアドレ
ス、その読出しデータをインデックスのデータとするも
のである請求項3記載のプログラム内蔵型計算機。
(4) The generated data is divided into two types, address and data, as an index, and if the sub-operation code is execution, the operation code specified by the sub-operand code is the address of the index, and the execution result is If the sub-operation code is Store, the write address specified by the sub-operand code is the index address, and the write data is the index data. If the sub-operation code is Set, the instruction code is The address in the storage unit is the index address, the data corresponding to the sub-operand code is the index data, and when the sub-operand code is read, the read address specified by the sub-operand code is the index address, 4. A computer with a built-in program according to claim 3, wherein the read data is used as index data.
(5)前記先入れ先出しメモリは最小の記憶番地を0と
し、先頭の記憶番地を上限として、書込みのより遅かっ
たアドレス及びデータを保持する記憶番地がより小さく
なる様に順次格納するものである請求項4記載のプログ
ラム内蔵型計算機。
(5) The first-in-first-out memory stores data sequentially such that the smallest memory address is 0, the first memory address is the upper limit, and the address where writing was slower and the memory address holding data become smaller. A computer with a built-in program as described in 4.
(6)前記先入れ先出しメモリは、所望の命令コードに
対応した系列数の2倍の記憶番地にそのデータを、系列
数の2倍+1の記憶番地にそのアドレスを格納したもの
である請求項5記載のプログラム内蔵型計算機。
(6) The first-in, first-out memory stores the data in memory addresses twice the number of series corresponding to the desired instruction code, and stores the data in memory addresses twice the number of series + 1 corresponding to the desired instruction code. Calculator with built-in program.
(7)前記サブオペランドコードは、系列数に従った値
が格納されている場合それがデータかアドレスかを示す
識別ビットを有するものである請求項4記載のプログラ
ム内蔵型計算機。
(7) The computer with a built-in program according to claim 4, wherein the sub-operand code has an identification bit indicating whether a value according to the number of sequences is stored as data or an address.
(8)前記供する手段は、読出した命令コードのサブオ
ペレーションコードが実行であってサブオペランドコー
ドに系列数に従った値が格納されている場合、この値に
従って前記先入れ先出しメモリより読出したサブオペラ
ンドコードをサブオペレーションコードとして解釈実行
するものである請求項7記載のプログラム内蔵型計算機
(8) When the sub-operation code of the read instruction code is execution and the sub-operand code stores a value according to the number of series, the means for providing the sub-operand code read from the first-in first-out memory according to this value. 8. The computer with built-in program according to claim 7, wherein the computer interprets and executes the sub-operation code as a sub-operation code.
(9)前記供する手段は読出したサブオペランドコード
をアドレスとし、実行結果をデータとして前記先入れ先
出しメモリの最小番地に書込むものである請求項8記載
のプログラム内蔵型計算機。
(9) The computer with a built-in program according to claim 8, wherein the providing means uses the read sub-operand code as an address and writes the execution result as data to the lowest address of the first-in, first-out memory.
(10)前記供する手段は、読出した命令コードのサブ
オペレーションコードが格納であってサブオペランドコ
ードに系列数に従った値が格納されている場合、この値
に従って前記先入れ先出しメモリより読出したサブオペ
ランドコードを前記記憶部の書込みアドレスとして、直
前の実行結果のデータを書込むものである請求項7記載
のプログラム内蔵型計算機。
(10) When the sub-operand code of the read instruction code is stored and the sub-operand code stores a value according to the number of sequences, the providing means reads the sub-operand code from the first-in first-out memory according to this value. 8. A computer with a built-in program according to claim 7, wherein the data of the immediately preceding execution result is written by using the write address in the storage section.
(11)前記供する手段は、読出したサブオペランドコ
ードをアドレスとし、書込んだデータをデータとして前
記先入れ先出しメモリの最小番地に書込むものである請
求項10記載のプログラム内蔵型計算機。
(11) The computer with built-in program according to claim 10, wherein the providing means uses the read sub-operand code as an address and writes the written data as data to the lowest address of the first-in, first-out memory.
(12)前記供する手段は、読出した命令コードのサブ
オペレーションコードが設定であってサブオペランドコ
ードに系列数に従った値が格納されている場合、この値
に従って前記先入れ先出しメモリより読出したアドレス
又はデータを処理すべきデータとするものである請求項
7記載のプログラム内蔵型計算機。
(12) When the sub-operation code of the read instruction code is set and the sub-operand code stores a value according to the number of series, the providing means reads the address or data from the first-in first-out memory according to this value. 8. The computer with built-in program according to claim 7, wherein the data to be processed is the data to be processed.
(13)前記供する手段は、前記処理すべきデータをデ
ータとし、当該命令コードの前記記憶部上でのアドレス
をアドレスとして前記先入れ先出しメモリの最小番地へ
書込むものである請求項12記載のプログラム内蔵型計
算機。
(13) The computer with built-in program according to claim 12, wherein the providing means writes the data to be processed as data and the address of the instruction code on the storage unit as an address to the lowest address of the first-in, first-out memory. .
(14)前記供する手段は、読出した命令コードのサブ
オペレーションコードが読出であってサブオペランドコ
ードに系列数に従った値が格納されている場合、この値
に従って前記先入れ先出しメモリより読出したサブオペ
ランドコードを前記記憶部の読出しアドレスとして、前
記記憶部より該当するデータを読出すものである請求項
7記載のプログラム内蔵型計算機。
(14) When the sub-operation code of the read instruction code is read and a value according to the number of series is stored in the sub-operand code, the providing means reads the sub-operand code from the first-in first-out memory according to this value. 8. The computer with a built-in program according to claim 7, wherein the corresponding data is read from the storage section by using the address as a read address of the storage section.
(15)前記供する手段は、読出したサブオペランドコ
ードをアドレスとし、読出したデータをデータとして前
記先入れ先出しメモリの最小番地に書込むものである請
求項14記載のプログラム内蔵型計算機。
(15) The computer with built-in program according to claim 14, wherein the providing means uses the read sub-operand code as an address and writes the read data as data to the lowest address of the first-in, first-out memory.
(16)前記同一のサブオペランドコードを2回目以降
に使用する命令コードは、以前に前記同一のサブオペラ
ンドコードを使用する命令コードが複数有る場合、夫々
の命令コードに対応する処理データのいずれが当該命令
コードの処理対象となるかに従って、当該命令コードか
ら前記同一のサブオペランドコードを使用する1つの命
令コードまでの系列数に従った値をサブオペランドコー
ドとして格納するものである請求項1記載のプログラム
内蔵型計算機。
(16) If there are multiple instruction codes that use the same sub-operand code before, the instruction code that uses the same sub-operand code from the second time onward will be different from the processing data corresponding to each instruction code. 2. A value according to the number of sequences from the instruction code to one instruction code using the same sub-operand code is stored as the sub-operand code depending on whether the instruction code is to be processed. Calculator with built-in program.
JP2168211A 1990-06-28 1990-06-28 Computer with built-in program Pending JPH0458326A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2168211A JPH0458326A (en) 1990-06-28 1990-06-28 Computer with built-in program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2168211A JPH0458326A (en) 1990-06-28 1990-06-28 Computer with built-in program

Publications (1)

Publication Number Publication Date
JPH0458326A true JPH0458326A (en) 1992-02-25

Family

ID=15863849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2168211A Pending JPH0458326A (en) 1990-06-28 1990-06-28 Computer with built-in program

Country Status (1)

Country Link
JP (1) JPH0458326A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007045227A (en) * 2005-08-08 2007-02-22 Toyota Motor Corp Vehicle turning control device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007045227A (en) * 2005-08-08 2007-02-22 Toyota Motor Corp Vehicle turning control device

Similar Documents

Publication Publication Date Title
USRE43248E1 (en) Interoperability with multiple instruction sets
US4825355A (en) Instruction format for program control type data processing systems
EP0073424A2 (en) Central processing unit for executing instructions of variable length
EP0730226A2 (en) Hardware support for fast software emulation of unimplemented instructions
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US5682531A (en) Central processing unit
EP0248436A2 (en) Method of and apparatus for processing data
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JP2970821B2 (en) Data processing device
US6499099B1 (en) Central processing unit method and apparatus for extending general instructions with extension data of an extension register
JP2006527420A (en) Coding data access program instructions
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
US5991870A (en) Processor for executing an instructions stream where instruction have both a compressed and an uncompressed register field
US5265204A (en) Method and apparatus for bit operational process
JPH034936B2 (en)
US5121474A (en) Bit string data processor using dynamically addressable bit locations in memory so overlapping strings do not destroy data in memory
JPH0458326A (en) Computer with built-in program
USRE34635E (en) Method and apparatus for bit operational process
US6552730B1 (en) Method and apparatus for bit operational process
US5175816A (en) Method and apparatus for bit operational process
JPH0222413B2 (en)
JP2877468B2 (en) Electronic computer
JP2000112754A (en) Data processor
JP3123545B2 (en) Data processing device
JPS6149692B2 (en)