JPH0566941A - Data processing system and language processing system - Google Patents

Data processing system and language processing system

Info

Publication number
JPH0566941A
JPH0566941A JP22592491A JP22592491A JPH0566941A JP H0566941 A JPH0566941 A JP H0566941A JP 22592491 A JP22592491 A JP 22592491A JP 22592491 A JP22592491 A JP 22592491A JP H0566941 A JPH0566941 A JP H0566941A
Authority
JP
Japan
Prior art keywords
register
input
instruction
memory
data
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
JP22592491A
Other languages
Japanese (ja)
Inventor
Morihiro Ikeda
守宏 池田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP22592491A priority Critical patent/JPH0566941A/en
Publication of JPH0566941A publication Critical patent/JPH0566941A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To suppress the useless consumption of a memory which stores the interim computing result in a logical language that treats a double precision floating point by storing the output data in a memory part designated by a register which designates the input data through a processing means. CONSTITUTION:An exclusive addition (addt) instruction is provided for execution of an operation of the interim result. The addt instruction obtains the interim computing result consisting of two words in a step 64 and then checks whether the registers r0 and r1 that are designated with input are identical with a register r2 designated with output or not. If an input register can be broken after the coincident is checked between the input registers r0 and r1 and the output register r2, the computing result is written in a memory area used for the input data. Thus the interim result is stored in the same area as that of the input data even though the interim result is outputted as the output data. Thus the useless consumption of the memory area can be prevented.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明はデータ処理方式及び言
語処理方式に関し、たとえば2語以上で構成される浮動
小数点数を取り扱うprolog処理系に関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing system and a language processing system, and more particularly to a prolog processing system which handles a floating point number composed of two or more words.

【0002】[0002]

【従来の技術】prologの処理方式として、文献
「An AbstructProlog Instru
ction Set、TR309、SRI(198
3)」に示されるD.K.DWarrenの抽象命令セ
ットを使用した、レジスタベースの引数処理を基本とし
た方式がある。この方式では述語呼出し前に、述語呼出
しで使われる引数をレジスタ上に乗せた状態で、述語の
命令列の実行が行われる。
2. Description of the Related Art As a processing method of prolog, a document "An AbstractProlog Instru
action Set, TR309, SRI (198
3) ”. K. There is a method based on register-based argument processing, which uses the DWarren abstract instruction set. In this method, the instruction string of the predicate is executed with the arguments used in the predicate calling on the register before the predicate calling.

【0003】例えば図5に示すソースプログラムは、こ
の方式によればコンパイラによって図6に示すような命
令列に展開される。図6において1は加算命令である。
オペラントで3つのレジスタをレジスタ番号R0、R
1、…R5で指定し、第1のレジスタの内容と第2のレ
ジスタの内容を加算し第3のレジスタに結果を返す。2
はユニフィケーション命令で、指定された2つのレジス
タのユニフィケーションを行う。3は述語の実行が全て
完了し呼出し元に戻るための命令である。
For example, according to this method, the source program shown in FIG. 5 is expanded by a compiler into an instruction sequence as shown in FIG. In FIG. 6, 1 is an addition instruction.
Operate three registers, register number R0, R
Designated by 1, ... R5, the contents of the first register and the contents of the second register are added, and the result is returned to the third register. Two
Is a unification instruction that unifies two designated registers. Reference numeral 3 is an instruction for completing the execution of the predicate and returning to the calling source.

【0004】このプログラムに図7で示す質問を与え
る。まず呼び出し側で引き数を順番にセットする。たと
えばレジスタR0に第1引数を、レジスタR1に第2引
数をという具合にセットし、その後に呼出されたプログ
ラムsumの実行に入る。この時の状態を図8に示す。
6本のレジスタR0〜R5が使われる。各レジスタはタ
グ部4aと値部4bを持つ。タグ部はデータの属性を格
納するところで、ここではintは整数、refはメモ
リの特定アドレスを指すポインタを示す。5は値セル格
納用メモリを示す、5aはそのタグ部、5bはその値部
である。undfは未定義変数を示す。このプログラム
の中では各加算命令1でレジスタR0を出力レジスタと
しており、また、ユニフィケーション命令2でレジスタ
R0を破壊的に使用して最後の結果を求めている。従っ
てプログラム実行後には図9に示す状態となる。すなわ
ちレジスタR0に結果が残り、これとユニフィケーショ
ンしたレジスタR5の指すメモリの中にその値が書込ま
れる。
The question shown in FIG. 7 is given to this program. First, the caller sets the arguments in order. For example, the first argument is set in the register R0, the second argument is set in the register R1, and so on, and then the called program sum is executed. The state at this time is shown in FIG.
Six registers R0 to R5 are used. Each register has a tag section 4a and a value section 4b. The tag portion stores the attribute of data, where int is an integer and ref is a pointer that points to a specific address in the memory. Reference numeral 5 indicates a value cell storage memory, 5a is its tag portion, and 5b is its value portion. undf indicates an undefined variable. In this program, each addition instruction 1 uses the register R0 as an output register, and the unification instruction 2 destructively uses the register R0 to obtain the final result. Therefore, the state shown in FIG. 9 is obtained after the program is executed. That is, the result remains in the register R0, and the value is written in the memory pointed to by the register R5 unified with the result.

【0005】以上は引き数が一語で表現できる整数の場
合についての例であるが、これが2語以上に亘る場合は
問題が生ずる。例えば2語で表現される浮動小数点数の
場合、1つのレジスタには値が入らないので、レジスタ
には値を格納したメモリのアドレスを示すポインタを書
込み、レジスタのタグ部4aには浮動小数点数を示すタ
グfltを書込む。たとえば、図10の質問の場合、プ
ログラム実行前のレジスタやメモリの状態は図11のよ
うになる。6は浮動小数点数の値部を格納するスタック
メモリで、7はスタックのトップを指すポインタであ
る。この状態で加算命令1が実行される。この加算命令
1の処理フローを図12に示す。まずステップ61で入
力のデータタイプのチェックを行い、整数の場合は前述
の例のようにレジスタ間でそのまま演算する。今回の例
の浮動小数点数の場合、ステップ63でfltタイプの
データが指すメモリの値を読出し、内部レジスタRt0
〜Rt3にロードする。次にステップ64で2つのレジ
スタで表現される浮動小数点数どうしの加算を行い、結
果をレジスタRt0、Rt1に格納する。次にステップ
65ではオペランドr2で指定されるレジスタに、結果
をプッシュするメモリのアドレスをfltタグを付けた
データとして書込む。ステップ66では結果をスタック
6へプッシュする。つまり初めのadd命令の実行後レ
ジスタ4、メモリ5、メモリ6の状態は図13のように
なる。このようにadd命令のたびに結果の格納場所と
してスタックを使用するため4回のadd命令実行後、
そしてユニフィケーション命令2の後ではレジスタ4、
メモリ5、メモリ6の状態は図14のようになる。
The above is an example of the case where the argument is an integer that can be expressed by one word, but if this argument extends over two words or more, a problem occurs. For example, in the case of a floating point number represented by two words, no value is stored in one register, so a pointer indicating the address of the memory storing the value is written in the register, and the floating point number is written in the tag section 4a of the register. Write the tag flt indicating For example, in the case of the question shown in FIG. 10, the states of registers and memories before the program is executed are as shown in FIG. 6 is a stack memory for storing the value part of a floating point number, and 7 is a pointer pointing to the top of the stack. In this state, the add instruction 1 is executed. The processing flow of this addition instruction 1 is shown in FIG. First, in step 61, the input data type is checked, and if it is an integer, it is directly calculated between the registers as in the above example. In the case of the floating point number in this example, the value of the memory pointed to by the flt type data is read out in step 63, and the internal register Rt0 is read.
~ Load to Rt3. Next, at step 64, the floating point numbers represented by the two registers are added together, and the results are stored in registers Rt0 and Rt1. Next, at step 65, the address of the memory for pushing the result is written in the register designated by the operand r2 as data with the flt tag. In step 66, the result is pushed onto the stack 6. That is, the states of the register 4, the memory 5, and the memory 6 after the execution of the first add instruction are as shown in FIG. In this way, since the stack is used as a storage location for the result for each add instruction, after executing the add instruction four times,
And after unification instruction 2, register 4,
The states of the memories 5 and 6 are as shown in FIG.

【0006】[0006]

【発明が解決しようとする課題】従来の処理方式では以
上のように処理されるので、中間的な演算結果のために
メモリ6を消費する。そしてこの例の場合中間結果は他
では参照されないのでメモリ中でガーベッジとなり述語
の実行が失敗するか、ガーベッジコレクションが起動さ
れないと解放されない。その間は無駄にメモリを占有し
つづけることになり、メモリの効率的使用の観点から大
きな問題であった。
Since the conventional processing method performs the processing as described above, the memory 6 is consumed for an intermediate calculation result. In this case, the intermediate result is not referred to by others, so it becomes garbage in the memory and cannot be released unless execution of the predicate fails or garbage collection is not started. During that time, the memory was continuously occupied unnecessarily, which was a big problem from the viewpoint of efficient use of the memory.

【0007】この発明は上記のような問題点を解消する
ためになされたもので、不要なメモリ領域の使用を押さ
えることができるデータ処理方式及び言語処理方式を得
ることを目的としている。
The present invention has been made to solve the above problems, and an object thereof is to obtain a data processing system and a language processing system capable of suppressing the use of an unnecessary memory area.

【0008】[0008]

【課題を解決するための手段】この発明に係わるデータ
処理方式は、中間結果を求める為の別の処理手段を設
け、その処理手段では入力に使用していたメモリ領域を
再利用して結果を格納するようにしたものであり、以下
の要素を有するものである。(a)データ処理のための
入出力データを指定するレジスタ、(b)上記レジスタ
により指定され、上記入出力データを記憶するメモリ
部、(c)入力データを指定するレジスタと出力データ
を指定するレジスタが同じレジスタである所定のデータ
処理において、その入力データを指定したレジスタによ
り指定されたメモリ部に、出力データを記憶する処理手
段。
The data processing system according to the present invention is provided with another processing means for obtaining an intermediate result, and the processing means reuses the memory area used for input to obtain the result. It is configured to be stored, and has the following elements. (A) A register that specifies input / output data for data processing, (b) a memory unit that is specified by the register and stores the input / output data, (c) a register that specifies input data and output data. Processing means for storing output data in a memory section designated by the register designating the input data in predetermined data processing in which the registers are the same register.

【0009】また、この発明に係わる言語処理方式は、
上記処理手段を所定の命令として出力するコンパイラに
関するものであり、以下の要素を有するものである。
(a)データ処理を行う第1の言語の所定の命令を入力
する入力工程、(b)入力工程により入力した第1の言
語の所定の命令で使用する入力変数が、他から参照され
ないことをチェックするチェック工程、(c)チェック
工程のチェックに基づいて、その命令で使用する出力変
数が入力変数に割り当てられたメモリ領域を使用できる
ようにする第2の言語の命令を出力する出力工程。
Further, the language processing system according to the present invention is
The present invention relates to a compiler that outputs the processing means as a predetermined instruction, and has the following elements.
(A) The input step of inputting a predetermined command of the first language for data processing, and (b) that the input variable used in the predetermined command of the first language input in the input step is not referred to by others. A check step of checking, (c) an output step of outputting a second language instruction that enables the output variable used in the instruction to use the memory area allocated to the input variable based on the check in the check step.

【0010】[0010]

【作用】この発明に係わるデータ処理方式は、処理手段
が入力データを指定するためのレジスタにより指定され
たメモリ部に出力データを記憶させるようにしたので、
中間結果が出力データとして出力されても、入力データ
と同一領域に記憶されることになりメモリ領域の不要な
消費を防ぐことができる。
In the data processing method according to the present invention, the processing means stores the output data in the memory section designated by the register for designating the input data.
Even if the intermediate result is output as output data, it is stored in the same area as the input data, and unnecessary consumption of the memory area can be prevented.

【0011】また、この発明に係わる言語処理方式は、
チェック工程において、第1の言語の命令で用いている
入力変数が後に参照されないことをチェックし、入力変
数が一度しか使わないことが判明したときは、出力工程
において、その命令の出力変数が用いるメモリ領域を入
力変数のものと同じにするような命令を第2の言語とし
て生成するので、この第2の言語によるデータ処理を実
行するときは、メモリ領域の不要な消費を防ぐことがで
きる。
The language processing method according to the present invention is
In the check step, it is checked that the input variable used in the instruction of the first language is not referred to later, and when it is found that the input variable is used only once, the output variable of the instruction is used in the output step. Since an instruction for making the memory area the same as that of the input variable is generated as the second language, it is possible to prevent unnecessary consumption of the memory area when executing the data processing in the second language.

【0012】[0012]

【実施例】【Example】

実施例1.以下、この発明の一実施例を図について説明
する。図1は、請求項2記載の発明の第2の言語の一例
を示す図であり、本発明により図5のソースプログラム
(第1の言語の一例)をコンパイルした結果である。図
1において1は従来のadd命令、2は従来のget−
value−t命令、3は従来のproceed命令、
8は本発明による処理手段の一例であるaddt命令で
ある。
Example 1. An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing an example of a second language of the invention described in claim 2, and is a result of compiling the source program of FIG. 5 (an example of the first language) according to the present invention. In FIG. 1, 1 is a conventional add instruction, 2 is a conventional get-
value-t instruction, 3 is a conventional processed instruction,
Reference numeral 8 is an addt instruction which is an example of the processing means according to the present invention.

【0013】図2は処理手段(addt命令)の処理フ
ローチャートの一例である。61〜66のステップは従
来のadd命令と同じである。addt命令ではステッ
プ64で2語から成る演算結果を求めた後、入力で指定
されたレジスタr1とr2と出力で指定されたレジスタ
r3が同一であるかチェックするステップ67、69が
追加されている。67は第1の入力のレジスタr0が、
出力レジスタr2と一致しているかをチェックし、一致
していれば第1の入力の領域を、結果の書込みに使用し
て良いものとする。すなわち、ステップ68で演算結果
Rt0、Rt1をr0で指定されるレジスタの内容が示
すメモリアドレスとその次のアドレスに書込む。また、
ステップ69で、第2の入力レジスタr1が出力レジス
タr2と一致している場合は、ステップ70で同様に演
算結果Rt0、Rt1をr1で指定されるレジスタの内
容が示すメモリアドレスとその次のアドレスに書込む。
FIG. 2 is an example of a processing flowchart of the processing means (addt instruction). Steps 61 to 66 are the same as the conventional add instruction. In the addt instruction, after the operation result consisting of two words is obtained in step 64, steps 67 and 69 for checking whether the registers r1 and r2 designated by the input and the register r3 designated by the output are the same are added. .. 67 is the register r0 of the first input,
It is checked whether they match the output register r2, and if they match, the area of the first input can be used for writing the result. That is, in step 68, the calculation results Rt0 and Rt1 are written into the memory address indicated by the contents of the register designated by r0 and the address next thereto. Also,
If the second input register r1 matches the output register r2 in step 69, the operation results Rt0 and Rt1 are similarly set in step 70 to the memory address indicated by the contents of the register designated by r1 and the next address. Write to.

【0014】addt命令8を使用した図1の命令列で
図10の質問を実行した場合実行後のレジスタ4、メモ
リ5、6の状態を図3に示す。スタックメモリ6(メモ
リ部の一例)はR0から指される中間結果を保持する部
分が繰返し使用されるためスタックポインタSは2語以
上は伸びず、無駄なメモリ消費が抑制される。
FIG. 3 shows the states of the register 4, memories 5 and 6 after the execution of the query of FIG. 10 with the instruction sequence of FIG. 1 using the addt instruction 8. In the stack memory 6 (an example of a memory unit), the portion holding the intermediate result pointed to by R0 is repeatedly used, so the stack pointer S does not extend by more than 2 words, and wasteful memory consumption is suppressed.

【0015】次に、図4に、図5に示した第1の言語の
命令から図1に示した第2の言語の命令コード列を出す
為のコンパイラの命令選択のアルゴリズムを示す。まず
ステップ139で図5に示した第1の言語の命令を入力
し、その命令がadd命令を選択したものであるかを判
定する(入力工程)。次にadd命令のr0、r1とし
て指定される入力変数の条件をチェックする。すなわ
ち、ステップ140ではそれが演算命令の出力として生
成された変数であること、ステップ141ではそれが自
命令以外では参照されないことをチェックするものであ
る(チェック工程)。この条件を満たした場合はひとつ
のaddt命令を出力する。満たさない場合は従来どお
りのひとつadd命令を出力する(出力工程)。
Next, FIG. 4 shows an algorithm of the instruction selection of the compiler for outputting the instruction code string of the second language shown in FIG. 1 from the instruction of the first language shown in FIG. First, in step 139, an instruction in the first language shown in FIG. 5 is input, and it is determined whether the instruction is one that selects the add instruction (input step). Next, the conditions of the input variables designated as r0 and r1 of the add instruction are checked. That is, in step 140, it is checked that it is a variable generated as the output of the operation instruction, and in step 141, it is checked that it is not referenced by other than the self instruction (check step). When this condition is satisfied, one addt instruction is output. If not satisfied, one add instruction as usual is output (output step).

【0016】以上のように、この実施例では、レジスタ
を備えた論理型言語処理系で、2語長以上で構成される
浮動小数点数を取り扱い、浮動小数点数の格納に使用す
るメモリ領域を持つ論理型言語の処理方式に関し、演算
命令の中で入力レジスタと出力レジスタが同じレジスタ
を指定されている場合は、出力の値を、レジスタの内容
で指定されたメモリ領域に、直接書込む機能を持った演
算命令を持つことを特徴とする論理型言語処理方式を説
明した。また、この演算命令を、論理型言語のソースプ
ログラムの入力レジスタの出現位置から判断して挿入す
ることを特徴とするコンパイラを備えた論理型言語処理
方式を説明した。
As described above, in this embodiment, the logical language processing system including the registers handles a floating point number having a length of two words or more and has a memory area used for storing the floating point number. Regarding the processing method of the logic language, if the same register is specified for the input register and the output register in the operation instruction, the function to directly write the output value to the memory area specified by the contents of the register is provided. The logical language processing method characterized by having the operation instruction has been explained. Further, the logical language processing method having the compiler characterized in that the arithmetic instruction is inserted by judging from the appearance position of the input register of the source program of the logical language has been described.

【0017】実施例2.上記実施例においては、加算命
令の場合を示したが、この発明は加算命令に限るもので
はなく、減算命令やその他の演算命令でもかまわない。
また、その他のデータ処理命令でもかまわない。
Embodiment 2. In the above embodiment, the case of the addition instruction is shown, but the present invention is not limited to the addition instruction and may be a subtraction instruction or another operation instruction.
Also, other data processing instructions may be used.

【0018】実施例3.上記実施例においては、プロロ
グ処理系の場合を示したが、この発明はプロログ処理系
に限るものではなく、リスプ処理系やその他の論理型言
語処理系でもかまわない。また、その他のプログラミン
グ言語処理系でもかまわない。
Example 3. In the above embodiments, the case of the prolog processing system is shown, but the present invention is not limited to the prolog processing system and may be a lissp processing system or other logical language processing system. Also, other programming language processing systems may be used.

【0019】[0019]

【発明の効果】以上のように第1の発明によれば、処理
手段により結果を保持する為のメモリ領域を再利用でき
るので、不要なメモリ領域の伸長を抑えることができ
る。
As described above, according to the first aspect of the present invention, since the memory area for holding the result can be reused by the processing means, unnecessary expansion of the memory area can be suppressed.

【0020】また第2の発明によればソースプログラム
等の第1の言語から第1の発明の処理手段の適用箇所を
漏れなく選定することが可能となり、不要なメモリ領域
を使用しない第2の言語によるデータ処理の実行が可能
になる。
Further, according to the second invention, it is possible to select the application portion of the processing means of the first invention from the first language such as the source program without omission, and the second memory does not use an unnecessary memory area. It becomes possible to execute data processing by language.

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

【図1】本発明に係わる言語処理方式の適用プログラム
を示す図。
FIG. 1 is a diagram showing an application program of a language processing method according to the present invention.

【図2】本発明に係わる処理手段の処理フローチャート
図。
FIG. 2 is a processing flowchart of processing means according to the present invention.

【図3】本発明に係わるプログラムの実行後のレジス
タ、メモリの状態説明図。
FIG. 3 is an explanatory diagram of states of registers and memories after execution of a program according to the present invention.

【図4】本発明に係わるコンパイラの処理フローチャー
ト図。
FIG. 4 is a processing flowchart of the compiler according to the present invention.

【図5】本発明及び従来の実施例の論理型言語ソースプ
ログラムを示す図。
FIG. 5 is a diagram showing logical language source programs of the present invention and a conventional embodiment.

【図6】従来の処理方式によるプログラム例を示す図。FIG. 6 is a diagram showing an example of a program according to a conventional processing method.

【図7】従来の処理方式による整数演算の質問プログラ
ムを示す図。
FIG. 7 is a diagram showing a question program for integer arithmetic according to a conventional processing method.

【図8】従来の処理方式による図7プログラム実行前の
レジスタ、メモリの状態を示す図。
FIG. 8 is a diagram showing a state of registers and a memory before executing a program shown in FIG. 7 according to a conventional processing method.

【図9】従来の処理方式による図7プログラム実行後の
レジスタ、メモリの状態を示す図。
FIG. 9 is a diagram showing states of registers and memories after the program of FIG. 7 is executed by the conventional processing method.

【図10】本発明・従来の処理方式説明の為の浮動小数
点数演算の質問プログラムを示す図。
FIG. 10 is a diagram showing a question program for floating-point arithmetic for explaining the conventional processing method of the present invention.

【図11】従来の処理方式による図10プログラム実行
前のレジスタ、メモリの状態を示す図。
FIG. 11 is a diagram showing states of registers and memories before executing the program shown in FIG. 10 according to a conventional processing method.

【図12】従来の処理方式による演算命令の処理フロー
チャート図。
FIG. 12 is a processing flowchart of an arithmetic instruction according to a conventional processing method.

【図13】従来の処理方式による図10プログラム実行
途中のレジスタ、メモリの状態を示す図。
FIG. 13 is a diagram showing states of registers and memories during execution of the program shown in FIG. 10 according to the conventional processing method.

【図14】従来の処理方式による図10プログラム実行
後のレジスタ、メモリの状態を示す図。
FIG. 14 is a diagram showing states of registers and memories after the program of FIG. 10 is executed by the conventional processing method.

【符号の説明】[Explanation of symbols]

1 従来の処理方式によるadd命令 2 ユニフィケーション命令 3 述語実行の最後に現れる命令 4 レジスタ 4a レジスタのタグ部 4b レジスタの値部 5 値セル格納用メモリ 5a 値セル格納用メモリのタグ部 5b 値セル格納用メモリの値部 6 浮動小数点データ格納スタックメモリ(メモリ部の
一例) 6a 浮動小数点データ格納スタックメモリのタグ部 6b 浮動小数点データ格納ステックメモリの値部 7 スタックポインタ 8 本発明によるaddt命令
1 add instruction by a conventional processing method 2 unification instruction 3 instruction that appears at the end of predicate execution 4 register 4a register tag section 4b register value section 5 value cell storage memory 5a value cell storage memory tag section 5b value cell storage Value part of memory for use 6 Floating point data storage stack memory (an example of memory part) 6a Tag part of floating point data storage stack memory 6b Value part of floating point data storage stick memory 7 Stack pointer 8 addt instruction according to the present invention

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 以下の要素を有するデータ処理方式 (a)データ処理のための入出力データを指定するレジ
スタ、 (b)上記レジスタにより指定され、上記入出力データ
を記憶するメモリ部、 (c)入力データを指定するレジスタと出力データを指
定するレジスタが同じレジスタである所定のデータ処理
において、その入力データを指定したレジスタにより指
定されたメモリ部に、出力データを記憶する処理手段。
1. A data processing system having the following elements: (a) a register for designating input / output data for data processing, (b) a memory unit designated by the register for storing the input / output data, (c) ) A processing means for storing the output data in a memory section designated by the register designating the input data in a predetermined data processing in which the register designating the input data and the register designating the output data are the same register.
【請求項2】 以下の要素を有する言語処理方式(a)
データ処理を行う第1の言語の所定の命令を入力する入
力工程、 (b)入力工程により入力した第1の言語の所定の命令
で使用する入力変数が、他から参照されないことをチェ
ックするチェック工程、 (c)チェック工程のチェックに基づいて、その命令で
使用する出力変数が入力変数に割り当てられたメモリ領
域を使用できるようにする第2の言語の命令を出力する
出力工程。
2. A language processing method (a) having the following elements:
An input step of inputting a predetermined command of a first language for data processing, and (b) a check for checking that the input variable used in the predetermined command of the first language input in the input step is not referred to by others. Step (c) An output step for outputting an instruction in a second language that enables the output variable used in the instruction to use the memory area allocated to the input variable based on the check in the check step.
JP22592491A 1991-09-05 1991-09-05 Data processing system and language processing system Pending JPH0566941A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22592491A JPH0566941A (en) 1991-09-05 1991-09-05 Data processing system and language processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22592491A JPH0566941A (en) 1991-09-05 1991-09-05 Data processing system and language processing system

Publications (1)

Publication Number Publication Date
JPH0566941A true JPH0566941A (en) 1993-03-19

Family

ID=16837027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22592491A Pending JPH0566941A (en) 1991-09-05 1991-09-05 Data processing system and language processing system

Country Status (1)

Country Link
JP (1) JPH0566941A (en)

Similar Documents

Publication Publication Date Title
US5949995A (en) Programmable branch prediction system and method for inserting prediction operation which is independent of execution of program code
EP3066560B1 (en) A data processing apparatus and method for scheduling sets of threads on parallel processing lanes
JP5573134B2 (en) Vector computer and instruction control method for vector computer
US8935672B1 (en) Lazy evaluation of geometric definitions of objects within procedural programming environments
KR100681199B1 (en) Method and apparatus for interrupt handling in coarse grained array
JPH05143332A (en) Computer system having instruction scheduler and method for rescheduling input instruction sequence
JPH0638234B2 (en) System and method for maintaining source instruction atomicity of translated program code
WO2002048887A2 (en) Single-step processing
JP3179536B2 (en) How to operate a digital computer
US6449713B1 (en) Implementation of a conditional move instruction in an out-of-order processor
US10459702B2 (en) Flow control for language-embedded programming in general purpose computing on graphics processing units
US10496433B2 (en) Modification of context saving functions
US8484446B2 (en) Microprocessor saving data stored in register and register saving method
US20070011440A1 (en) Processor and processing method
JP2009020695A (en) Information processing apparatus and system
JPH0566941A (en) Data processing system and language processing system
JP2002182926A (en) Compiling method and computer readable recording medium
US6311227B1 (en) Procedure calling method
JPH03135630A (en) Instruction scheduling system
JPH0222413B2 (en)
JP6107904B2 (en) Processor and store instruction conversion method
JPS628231A (en) Logical type data processor
JPS6155736A (en) Prologue machine
JP2922207B2 (en) Program conversion system
JP2000155689A (en) Method and device for developing loop