JPS62205437A - Information processor - Google Patents

Information processor

Info

Publication number
JPS62205437A
JPS62205437A JP4937286A JP4937286A JPS62205437A JP S62205437 A JPS62205437 A JP S62205437A JP 4937286 A JP4937286 A JP 4937286A JP 4937286 A JP4937286 A JP 4937286A JP S62205437 A JPS62205437 A JP S62205437A
Authority
JP
Japan
Prior art keywords
machine language
data
instruction
indexing
tag
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
JP4937286A
Other languages
Japanese (ja)
Inventor
Shinichi Habata
幅田 伸一
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP4937286A priority Critical patent/JPS62205437A/en
Publication of JPS62205437A publication Critical patent/JPS62205437A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To add a machine language instruction for indexing without adding, preparing and correcting a microprogram by using the variant of the machine language for the indexing for the inspecting pattern designation of a data type. CONSTITUTION:When a machine language instruction inputted from a main memory 100 to a machine language instruction register 110 is an machine instruction for indexing, a data type inspecting pattern designating instruction is outputted from an operand generating device 130 to a tag branching control device 150. The instruction is a variant outputted by the generating device 130, and the control device 150 executes the data type inspection to the output of a data register file 140 by the tag branching microinstruction outputted by a microprogram and the instruction outputted by the generating device 130. As such a result, the control device 150 outputs the multi-direction branching control signal of a sequencer 170. Thus, by using the variant of the machine language instruction for the indexing for the inspecting pattern designation of a data type, the machine language instruction for the indexing can be added without adding, preparing, etc., the program.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、知識情報処理の分野で注目されている高レベ
ルプログラミング言語プロローグ(prolog)等の
言語処理に有効なタグ付データ表現を内部データ表現と
して使用する情報処理装置に関する。
Detailed Description of the Invention (Field of Industrial Application) The present invention provides a tagged data representation that is effective for language processing such as the high-level programming language prolog, which is attracting attention in the field of knowledge information processing. The present invention relates to an information processing device used as an expression.

(従来の技術) 高レベルプログラミング言語プロローグは、述語論理表
現機能とバックトラック機能を備える。
(Prior Art) A high-level programming language prologue has a predicate logical expression function and a backtrack function.

述語論理表現は、知識情報処理で要求される規則の記述
において効果がある。又、バックトラック機能は、幾つ
かの処理手順の候補から正しい処理手順を発見するため
の機能である。すなわち、プロローグの1ステートメン
トである節(clause )を複数使用した処理手順
の集まりから正しい処理手順を発見するために、試行錯
誤を繰り返す機能である。第2図のプロローグプログラ
ム例を用いて、バックトラック機能による試行錯誤の様
子を説明する。
Predicate logical expressions are effective in describing rules required in knowledge information processing. Further, the backtrack function is a function for discovering the correct processing procedure from several processing procedure candidates. That is, it is a function that repeats trial and error in order to discover the correct processing procedure from a collection of processing procedures that use multiple clauses, which are one statement of the prologue. The trial and error process using the backtrack function will be explained using the example prologue program shown in FIG.

第2図のプロローグプログラムは、述語名”P”、第1
引数がリスト”[a、b]”、第3引数がアトム″C゛
である述語の第2引数を求めるプログラムである。ここ
で、′X”は変数である。節(1)は、プロローグプロ
グラムの起動を要求する節で、問い合わせ節と呼ぶ、プ
ロローグプログラムの実行は、ff1(2’)P(a、
b。
The prologue program in Figure 2 has the predicate name “P” and the first
This is a program that finds the second argument of a predicate whose argument is a list "[a, b]" and whose third argument is an atom "C". Here, 'X' is a variable. Clause (1) is a clause that requests the startup of the prologue program, and is called the inquiry clause.
b.

C)”から順番に、前記第1引数と第2引数の条件を満
足する節を捜し、満足した節の第2引数を変数”′X”
に代入することで第2図のプロローグプログラムが終了
する。具体的には、最初に、節(2)”P(a、b、c
)”の第1引数がアトム″a”であるため、第1引数の
条件を満足しない、したがって、バックトラック機能が
起動され、次の節(3)”P(b、C,d)”に対する
処理へと制御が進行する。このように、順番に、節が条
件を満足するかを調べてゆくと、節(2)−(4)は、
第1引数のデータタイプが異なるため、バックトラック
機能が起動され、次の節へ処理が進行する。また、節(
5)”P([b、c]、e、f’)”は、第1引数のデ
ータタイプは一致するが、データ値が興なるため、バッ
クトラック機能が起動される。最終的には、jffi(
6)”PC[a、b]、c、e)”が条件を満足し、変
数”X”にアトム”C″が代入きれる。
C)", search for clauses that satisfy the conditions of the first and second arguments, and set the second argument of the satisfied clause to the variable "'X".
By assigning to , the prologue program in FIG. 2 is completed. Specifically, first, clause (2) "P(a, b, c
)” is the atom “a”, so the condition of the first argument is not satisfied. Therefore, the backtrack function is activated and the next clause (3) for “P(b, C, d)” is Control proceeds to processing.In this way, by checking whether the clauses satisfy the conditions in order, clauses (2) to (4) become
Since the data type of the first argument is different, the backtrack function is activated and processing proceeds to the next section. Also, clause (
5) For "P([b, c], e, f')", the data type of the first argument matches, but the data value is different, so the backtrack function is activated. In the end, jffi (
6) "PC[a, b], c, e)" satisfies the condition, and the atom "C" can be assigned to the variable "X".

バックトラック機能は、プロローグプログラミング言語
自身が、正しい処理手順を発見するために、試行錯誤を
繰り返す強力な機能である。しかし、試行錯誤を繰り返
すことは、無駄な処理を行なうことであり、プロセッサ
の処理能力を浪費する。この結果、プロローグプログラ
ムの実行速度が低下し、プロローグプログラムを高速処
理する専用マシンの開発が必要になってきている。
The backtrack function is a powerful function that the prologue programming language itself uses to repeat trial and error in order to discover the correct processing procedure. However, repeating trial and error results in unnecessary processing and wastes the processing power of the processor. As a result, the execution speed of the prologue program has decreased, and it has become necessary to develop a dedicated machine that can process the prologue program at high speed.

プロローグプログラムの実行速度を改善する手段として
、プロローグプログラムをプロセッサの機械語プログラ
ムに変換するコンパイラが、変換処理時に、データタイ
プの異なる節を識別する制御情報を機械語プログラムの
中に挿入しくインデクシング)、実行時に、データタイ
プが異なることでバックトラック機能を起動する処理を
省略している。第3図は、第2図のプロローグプログラ
ムを、単純に、機械語プログラムに変換した例である。
As a means of improving the execution speed of the prologue program, the compiler that converts the prologue program into a machine language program for the processor inserts control information that identifies clauses of different data types into the machine language program during the conversion process (indexing). , during execution, the process of activating the backtrack function due to the different data types is omitted. FIG. 3 is an example in which the prologue program shown in FIG. 2 is simply converted into a machine language program.

第2図のプロローグプログラムの実行を完了するために
、26個の機械語命令を実行する必要がある。また、バ
ックトラック機能が4回起動されている。実行する必要
のある機械語命令には、左側に*印を付けている。一方
、第4図は、コンパイラによるインデクシングを行なっ
た場合の機械語プログラムである。同じプロローグプロ
グラムを実行するために実行が必要な機械語命令の個数
は、21個に減少している。さらに、バックトラック機
能の起動回数が1回に減少しているため、実行速度の改
善効果は大きい。
To complete execution of the prologue program of FIG. 2, 26 machine language instructions must be executed. Also, the backtrack function has been activated four times. Machine language instructions that need to be executed are marked with an asterisk (*) on the left. On the other hand, FIG. 4 shows a machine language program when indexing is performed by a compiler. The number of machine language instructions required to execute the same prologue program is reduced to 21. Furthermore, since the number of times the backtrack function is activated is reduced to one, the execution speed is greatly improved.

とのフンバイラによるインデクシングの要となる機械語
命令が、第4130の機械語プログラムの4行目にある
”switch−on−term LO、Ll 、 L
2”である、 ” switch−on−term L
O、LL 、 L2”命令は、述語の第1引数のデータ
タイプを、定数データ、リストデータ、構造体データ、
その他の4集合に分類し、問い合わせ節の第1引数に対
する条件に含まれるデータタイプの制限により各データ
タイプの処理ルーチンへ分岐させる命令である。第5図
が、” switch−on−term LO、LL 
、 L2”命令の処理フローである。
The machine language command that is the key to indexing by Funbaira is "switch-on-term LO, Ll, L" on the 4th line of the 4130th machine language program.
2”, “switch-on-term L
The "O, LL, L2" instruction sets the data type of the first argument of the predicate to constant data, list data, structure data,
This is an instruction that is classified into the other four sets and branches to a processing routine for each data type based on data type restrictions included in the conditions for the first argument of the query clause. Figure 5 shows "switch-on-term LO, LL"
, L2'' instruction processing flow.

第1ステツプで、問い合わせ節の第1引数のデータタイ
プを検査し、検査結果により、問い合わせ節の第1引数
のデータタイプに対応する処理ルーチンへ分岐する。
In the first step, the data type of the first argument of the query clause is checked, and depending on the test result, the process branches to the processing routine corresponding to the data type of the first argument of the query clause.

従来は、” switch−on−term LO、L
l 、 L2”命令の処理を実現するために、マイクロ
プログラム内で、第1引数のデータタイプ検査パターン
を指示する制御命令をタグ分岐制御器に出力し、その検
査結果により、−フィクロプログラムレベルでの多方向
分岐を使用して、各データタイプに対する処理ルーチン
へ分岐していた。
Conventionally, “switch-on-term LO, L
l, L2'' instruction, a control instruction that instructs the data type check pattern of the first argument is output to the tag branch controller within the microprogram, and based on the check result, - microprogram level Multi-way branches were used to branch to processing routines for each data type.

(発明が解決しようとする問題点) プロローグプログラムの処理速度を改善する手段である
コンパイラによるインデクシングは、switch−o
n−term LO、Ll 、 L2”命令が提供する
データタイプの分類以外に対しても効果がある。
(Problems to be Solved by the Invention) Indexing by the compiler, which is a means to improve the processing speed of prologue programs, is
This is effective in addition to the classification of data types provided by the "n-term LO, Ll, L2" instruction.

すなわち、コンパイラによるインデクシングは、現時点
では、完成した手法ではない。このため、コンパイラに
よるインデクシングを実現するために必要な機械語命令
は明確になっていない。参考のためプロローグプログラ
ム言語が使用するデータタイプの111類の一例を第6
図に示す、フンバイラは、第6図に示したデータタイプ
を意識したインデクシングを行なう必要がある。このた
め、コンパイラによるインデクシング用機械語命令の個
数は増加すると考えられる。
In other words, indexing by a compiler is not a complete technique at present. For this reason, the machine language instructions required to implement indexing by the compiler are not clear. For reference, an example of data type 111 used by the prolog programming language is shown in Section 6.
The Funvira shown in the figure needs to be indexed with the data type shown in FIG. 6 in mind. Therefore, the number of machine language instructions for indexing by the compiler is expected to increase.

従来の”switch−on−term LO、LL 
、 L2”命令の実現方法では、マイクロプログラム内
で第1引数のデータタイプ検査パターンを指示するマイ
クロ命令を出力するため、新しいインデクシング用機械
語命令が追加きれる度に、マイクロプログラムの作成が
必要であった。このことは、マイクロプログラムを格納
するマイクロプログラム・メモリ量の増加、マイクロプ
ログラムの追加作成による作業の遅れなどの問題となっ
ていた。
Conventional “switch-on-term” LO, LL
, L2'' instruction outputs a microinstruction that instructs the data type check pattern of the first argument within the microprogram, so it is necessary to create a microprogram every time a new indexing machine language instruction is added. This caused problems such as an increase in the amount of microprogram memory for storing microprograms and delays in work due to the creation of additional microprograms.

そこで、本発明の目的は、コンパイラによるインデクシ
ング手法が完成していないことから発生するインデクシ
ング用機械語命令の新規追加による修正作業量を減らす
ために、インデクシング用機械語命令の処理を実現する
マイクロプログラム内で、第1引数のデータタイプ検査
パターンを指示するマイクロ命令を出力する代わりに、
インデクシング用機械語命令のバリアントをデータタイ
プの検査パターン指示命令として使用することで、新し
いインデクシング用機械語命令の追加によるマイクロル
ーチンの追加を不要とする情報処理装置を提供すること
にある。
Therefore, an object of the present invention is to provide a microprogram that realizes the processing of indexing machine language instructions in order to reduce the amount of modification work due to the addition of new indexing machine language instructions that occurs because the indexing method by the compiler is not yet completed. , instead of outputting a microinstruction that specifies the data type check pattern for the first argument,
An object of the present invention is to provide an information processing device that eliminates the need to add microroutines due to the addition of new indexing machine language instructions by using a variant of an indexing machine language instruction as a data type inspection pattern instruction instruction.

(問題点を解決するための手段) 前述の問題点を解決するために本発明が提供する情報処
理装置は、データと機械語プログラムを格納する主記憶
と、前記主記憶から読み出した機械語命令を保持する機
械語命令レジスタと、前記機械語命令レジスタが保持す
る機械語命令のオペレーションコードをアドレスとし、
その機械語命令の処理を実現するマイクロルーチンへの
ジャンプアドレスとオペランドの切り出し情報を出力す
るオペレーションコード解読メモリと、データタイプを
示すタグ部とデータ値を示すバリュー部からなるデータ
を保持するデータレジスタ・ファイルと、前記データレ
ジスタ・ファイルが保持するデータのタグ部をfIs読
し、その解読結果によりマイクロプログラムの多方向分
岐を可能とするタグ分岐制御器と、前記機械語命令レジ
スタが保持する機械語命令からオペランドを切り出すオ
ペランド生成器と、マイクロプログラムの実行制御を行
なうシーケンサとを備え、前記オペランド生成器が前記
機械語命令レジスタが保持する機械語命令コードから切
り出したバリアントを前記タグ分岐制御器の制御信号と
して使用することを特徴とする。
(Means for Solving the Problems) In order to solve the above-mentioned problems, the information processing device provided by the present invention includes a main memory for storing data and a machine language program, and a machine language instruction read from the main memory. a machine language instruction register that holds , and an operation code of the machine language instruction held by the machine language instruction register as an address;
An operation code decoding memory that outputs the jump address and operand extraction information to the microroutine that implements the processing of the machine language instruction, and a data register that holds data consisting of a tag section indicating the data type and a value section indicating the data value. - A tag branch controller that reads fIs the tag part of the data held by the file and the data register file and enables multi-directional branching of the microprogram based on the decoding result, and a machine held by the machine language instruction register. an operand generator that extracts operands from word instructions; and a sequencer that controls execution of a microprogram; It is characterized by being used as a control signal.

(作用) プロローグプログラムの処理速度を改善するために、コ
ンパイラによるインデクシングを導入すると、インデク
シング用機械語命令を機械語命令体系に追加する必要が
ある。このインデクシング用機械語命令の代表が”sw
itch−on−term LO。
(Operation) When indexing by a compiler is introduced to improve the processing speed of a prologue program, it is necessary to add machine language instructions for indexing to the machine language instruction system. The representative machine language instruction for indexing is “sw”
itch-on-term LO.

LL、L2”命令である0本発明の情報処理装置では、
機械語命令レジスタが保持する”switch−on−
term LO、LL 、 L2”命令のバリアントで
問い合わせ節の述語の第1引数のデータタイプを検査す
る検査パターンを指定するために、オペランド生成器が
切り出したバリアントをタグ分岐制御器へ送る。したが
って、マイクロプログラムは、タグ分岐制御器によるデ
ータタイプの検査結果に従い、対応するデータタイプ群
の処理ルーチンへ分岐する処理を記述するだけでよい。
In the information processing device of the present invention, which is the LL, L2'' instruction,
"switch-on-" held by the machine language instruction register
term LO, LL, L2” In order to specify a test pattern for checking the data type of the first argument of the predicate in the query clause in the variant of the instruction, the variant extracted by the operand generator is sent to the tag branch controller. The microprogram only needs to describe the process of branching to the processing routine of the corresponding data type group in accordance with the data type inspection result by the tag branch controller.

新しいインデクシング用機械語命令が追加された場合は
、新インデクシング用機械語命令のデータタイプ検査パ
ターン指定バリアントを設定し直すことで、新しいイン
デクシング用機械語命令が実現できる。この時、タグ分
岐制御器が、新インデクシング用機械面命令が必要とす
るデータタイプの分類を処理できないと問題であるが、
大容量の読み出し専用メモリ(ROM)をタグ分岐制御
器として使用することで、予め登録しておくか、または
、後から追加登録することが可能である。
When a new indexing machine language instruction is added, the new indexing machine language instruction can be realized by resetting the data type check pattern specification variant of the new indexing machine language instruction. At this time, the problem is that the tag branch controller cannot handle the data type classification required by the new indexing machine instructions.
By using a large-capacity read-only memory (ROM) as a tag branch controller, tags can be registered in advance or additionally registered later.

これにより、新しいインデクシング用機械語命令を追加
しても、マイクロプログラムの追加作成が不要となり、
マイクロプログラム・メモリの増加を回避できる。また
、タグ分岐制御器に使用している茂み出し専用メモリの
追加登録も短時間で終了するため、作業の遅れなどの影
響も少ない。
This eliminates the need to create additional microprograms even when new indexing machine language instructions are added.
The increase in microprogram memory can be avoided. Additionally, additional registration of the memory dedicated to bush removal used in the tag branch controller can be completed in a short time, so there is little impact on work delays.

(実施例) 本発明の実施例について、図面を参照して詳細に説明す
る。第1図は、本発明の情報処理装置を示すブロック図
である。
(Example) Examples of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing an information processing apparatus of the present invention.

100は、データと機械語プログラムを格納する主記憶
である。主記憶100上の機械語プログラムは、データ
バス200を介して、機械語命令レジスタ110に格納
する。ia械話語命令レジスタ110上機械語命令に対
して、オペレーションコード解読メモリ120がオペレ
ーションコードの解読を行ない、その結果、その機械語
命令の処理を実現するマイクロルーチンへの分岐アドレ
スとオペランド切り出し情報を出力する。ここで、もし
、機械語命令レジスタ110上の機械語命令が、インデ
クシング用機械語命令であると、オペレーションコード
解読メモリ120が出力するオペランド切り出し情報に
従い、オペランド生成器130がタグ分岐制御器150
へ、データタイプ検査パターン指定命令を出力する。タ
グ分岐制御器150はオペランド生成器130が出力す
る検査パターン指定命令とマイクロプログラムが出力す
るタグ分岐マイクロ命令により、データレジスタ・ファ
イル140の出力データに対するデータタイプ検査を行
なう、この検査結果により、タグ分岐制御器150は、
シーケンサ170へ、多力向分岐制御信号を出力する。
100 is a main memory that stores data and machine language programs. The machine language program on main memory 100 is stored in machine language instruction register 110 via data bus 200. The operation code decoding memory 120 decodes the operation code for the machine language instruction on the ia machine language instruction register 110, and as a result, stores the branch address and operand extraction information to the microroutine that implements the processing of the machine language instruction. Output. Here, if the machine language instruction on the machine language instruction register 110 is an indexing machine language instruction, the operand generator 130 outputs the tag branch controller 150 according to the operand extraction information output from the operation code decoding memory 120.
Outputs a data type check pattern specification command to . The tag branch controller 150 performs a data type check on the output data of the data register file 140 using the test pattern specification instruction output from the operand generator 130 and the tag branch microinstruction output from the microprogram. The branch controller 150 is
A multi-force direction branching control signal is output to the sequencer 170.

120のオペレーションコード解読メモリは、通常のラ
ンダムアクセス・メモリで構わず、メモリ゛のアドレス
として、機械語命令レジスタ110が保持する機械語命
令のオペレーションコードを使用する。オペランド生成
器130は、各オペランド転送先毎に、データセレクタ
を使用することで実現する。さらに、タグ分岐制御器1
50は、大容量の読み出し専用メモリを使用する。メモ
リのアドレスを2個のフィールドに分割し、1つにデー
タレジスタ・ファイル140の出力データのタグ部を割
り当てる。もう1つには、オペランド生成器130が出
力する検査パターン指定命令を割り当てる。
The operation code decoding memory 120 may be a normal random access memory, and uses the operation code of the machine language instruction held in the machine language instruction register 110 as the address of the memory. The operand generator 130 is realized by using a data selector for each operand transfer destination. Furthermore, tag branch controller 1
50 uses a large capacity read-only memory. The memory address is divided into two fields, and the tag portion of the output data of the data register file 140 is assigned to one field. The other is assigned the test pattern designation instruction output by the operand generator 130.

例えば、タグ部が6ビツトの場合、タグ分岐制御器15
0として、16キロ語の読み出し専用メモリを使用する
と、256種類の検査パターンを処理できる。第7I5
0は、タグ分岐制御器を読み出し専用メモリで作成した
場合のデータタイプ検査パターン登録例である。検査パ
ターン指定命令はオペランド生成器の出力するバリアン
トである。また、タグビットはデータレジスタ・ファイ
ルの出力データのタグ部である。分岐アドレスは、デー
タタイプの検査結果により分岐する時のディスプレース
メントである。
For example, if the tag part is 6 bits, the tag branch controller 15
0 and 16 kilowords of read-only memory, 256 types of test patterns can be processed. 7th I5
0 is an example of data type test pattern registration when the tag branch controller is created using read-only memory. The test pattern specification instruction is a variant output by the operand generator. Further, the tag bit is the tag part of the output data of the data register file. The branch address is the displacement when branching based on the data type check result.

例えば、プロローグで処理するデータタイプを、整数デ
ータ、浮動小数データ、二進データ、その他のデータの
4個の集合に分類して、各集合毎に、異なる処理ルーチ
ンへ分岐させるインデクシング命令を作成する場合は、
新しいインデクシング命令のバリアントに”2”を設定
すればよい。
For example, classify the data types to be processed in the prologue into four sets: integer data, floating point data, binary data, and other data, and create an indexing instruction that branches to a different processing routine for each set. In case,
It is sufficient to set "2" to the variant of the new indexing instruction.

(発明の効果) 本発明の情報処理装置は、プロローグプログラムの実行
処理速度を改善する手段としてコンパイラによるインデ
クシングを採用した時に問題となる、インデクシング用
機械語命令の追加によるマイクロプログラム・メモリ量
の増加と新インデクシング用機械語命令の処理を実現す
るマイクロプログラムの追加作成を回避するために、イ
ンデクシング用機械語命令のバリアントをデータタイプ
の検査パターン指定に使用することで、マイクロプログ
ラムの追加作成、または、修正を行なうことなく、イン
デクシング用機械語命令の追加を、可能にしている。
(Effects of the Invention) The information processing device of the present invention has an increase in the amount of microprogram memory due to the addition of machine language instructions for indexing, which is a problem when indexing by a compiler is adopted as a means to improve the execution processing speed of a prologue program. In order to avoid the creation of additional microprograms that implement the processing of the new indexing machine language instructions, by using a variant of the indexing machine language instructions to specify the data type inspection pattern, it is possible to create additional microprograms or , it is possible to add machine language instructions for indexing without modification.

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

第1図は本発明の情報処理装置を示すブロック図である
。第2図は、本発明の情報処理装置が処理を行なうプロ
ローグプログラムの一例を示す図である。第3図は、第
2図のプロローグプログラムをコンパイラが単純に機械
語プログラムに変換した場合の機械語プログラムを示す
図である。第4図は、コンパイラがインデクシング機能
を付加した場合の機械語プログラムを示す図である。第
5図は、インデクシング命令の代表例である”swit
ch−on−term LO、LL 、 L2″命令の
処理フロー図である。第6図は、コンパイラがインデク
シングを行なう時に対象となるデータタイプの一例を示
す図である。第7図はタグ分岐制御器を読み出し専用メ
モリで作成した場合の検査パターン登録例を示す図であ
る。 第1図で、100は主記憶、110は機械語命令レジス
タ、120はオペレーションコード解読メモリ、130
はオペランド生成器、140はデータレジスタ・ファイ
ル、150はタグ分岐制御器、170はシーケンサ、1
90はデータレジスタ・ファイル140の出力データ選
択器、200はデータバスである。 第5図で、300は述語の第1引数のデータタイプを検
査するステップ、310は参照データ処理ルーチン、3
20は定数データ処理ルーチン、330はリストデータ
処理ルーチン、340は構造体データ処理ルーチン、3
50はその他のデータ処理ルーチンである。
FIG. 1 is a block diagram showing an information processing apparatus according to the present invention. FIG. 2 is a diagram showing an example of a prologue program processed by the information processing apparatus of the present invention. FIG. 3 is a diagram showing a machine language program obtained by simply converting the prologue program of FIG. 2 into a machine language program by a compiler. FIG. 4 is a diagram showing a machine language program when the compiler adds an indexing function. FIG. 5 shows a typical example of an indexing command "swit".
FIG. 6 is a processing flow diagram of ch-on-term LO, LL, L2'' instructions. FIG. 6 is a diagram showing an example of data types targeted when the compiler performs indexing. FIG. 7 is a diagram showing tag branch control. 1 is a diagram showing an example of test pattern registration when a device is created using a read-only memory. In FIG. 1, 100 is a main memory, 110 is a machine language instruction register, 120 is an operation code decoding memory, and 130
1 is an operand generator, 140 is a data register file, 150 is a tag branch controller, 170 is a sequencer, 1
90 is an output data selector of the data register file 140, and 200 is a data bus. In FIG. 5, 300 is a step of checking the data type of the first argument of the predicate, 310 is a reference data processing routine, and 3
20 is a constant data processing routine, 330 is a list data processing routine, 340 is a structure data processing routine, 3
50 is another data processing routine.

Claims (1)

【特許請求の範囲】[Claims] データと機械語プログラムを格納する主記憶と、前記主
記憶から読み出した機械語命令を保持する機械語命令レ
ジスタと、前記機械語命令レジスタが保持する機械語命
令のオペレーションコードをアドレスとし、その機械語
命令の処理を実現するマイクロルーチンへのジャンプア
ドレスとオペランドの切り出し情報を出力するオペレー
ションコード解読メモリと、データタイプを示すタグ部
とデータ値を示すバリュー部からなるデータを保持する
データレジスタ・ファイルと、前記データレジスタ・フ
ァイルが保持するデータのタグ部を解読し、その解読結
果によりマイクロプログラムの多方向分岐を可能とする
タグ分岐制御器と、前記機械語命令レジスタが保持する
機械語命令からオペランドを切り出すオペランド生成器
と、マイクロプログラムの実行制御を行なうシーケンサ
とを備え、前記オペランド生成器が前記機械語命令レジ
スタが保持する機械語命令コードから切り出したバリア
ントを前記タグ分岐制御器の制御信号として使用するこ
とを特徴とする情報処理装置。
A main memory that stores data and a machine language program, a machine language instruction register that holds machine language instructions read from the main memory, and an operation code of the machine language instruction held by the machine language instruction register as an address, and the machine An operation code decoding memory that outputs the jump address and operand extraction information to the microroutine that realizes the processing of word instructions, and a data register file that holds data consisting of a tag section that indicates the data type and a value section that indicates the data value. a tag branch controller that decodes the tag part of the data held in the data register file and enables multi-directional branching of the microprogram based on the decoding result; The operand generator includes an operand generator that extracts operands, and a sequencer that controls the execution of a microprogram, and the operand generator generates a variant extracted from a machine language instruction code held in the machine language instruction register as a control signal for the tag branch controller. An information processing device characterized by being used as an information processing device.
JP4937286A 1986-03-06 1986-03-06 Information processor Pending JPS62205437A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4937286A JPS62205437A (en) 1986-03-06 1986-03-06 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4937286A JPS62205437A (en) 1986-03-06 1986-03-06 Information processor

Publications (1)

Publication Number Publication Date
JPS62205437A true JPS62205437A (en) 1987-09-10

Family

ID=12829197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4937286A Pending JPS62205437A (en) 1986-03-06 1986-03-06 Information processor

Country Status (1)

Country Link
JP (1) JPS62205437A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01180044A (en) * 1988-01-11 1989-07-18 Mitsubishi Electric Corp Data processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01180044A (en) * 1988-01-11 1989-07-18 Mitsubishi Electric Corp Data processor

Similar Documents

Publication Publication Date Title
EP0528028B1 (en) Automatic flowgraph generation for program analysis and translation
KR101150003B1 (en) Software development infrastructure
Liskov et al. Programming with abstract data types
EP0529059B1 (en) Branch resolution via backward symbolic execution
US7571427B2 (en) Methods for comparing versions of a program
US5317740A (en) Alternate and iterative analysis of computer programs for locating translatable code by resolving callbacks and other conflicting mutual dependencies
Fauth et al. Automated generation of DSP program development tools using a machine description formalism
JP3246438B2 (en) Variable target compilation processing method, its processing device, storage medium for its program, and storage medium for conversion table
JP2001522084A (en) Method of generating ISA simulator and assembler from machine language description
Sadolewski et al. Compiler and virtual machine of a multiplatform control environment
JPS60136832A (en) Logical type data processor for handling data having tag
JPS62205437A (en) Information processor
Dewitt Extensibility-a new approach for designing machine independent microprogramming languages
Jones et al. TEMPO: A Unified Treatment of Binding Time and Parameter Passing Concepts in Programming Languaues
Ditzel Reflections on the high-level language symbol computer system
JPS62205436A (en) Information processor
Shao et al. A survey of available information recovery of binary programs based on machine learning
Hu et al. Towards porting operating systems with program synthesis
McNeil et al. PL/I program efficiency
Juneau et al. Enhancements from Java 9 Through Java 17
Holloway et al. A User’s Guide to the Optimization Programming Interface
Metcalf Fortran-program optimization
Titzer et al. A declarative approach to generating machine code tools
Ramsay The POPLOG program development system
Heimbrecht Department of Physics and Astronomy