JPH0195332A - Logical type information processor - Google Patents
Logical type information processorInfo
- Publication number
- JPH0195332A JPH0195332A JP25242287A JP25242287A JPH0195332A JP H0195332 A JPH0195332 A JP H0195332A JP 25242287 A JP25242287 A JP 25242287A JP 25242287 A JP25242287 A JP 25242287A JP H0195332 A JPH0195332 A JP H0195332A
- Authority
- JP
- Japan
- Prior art keywords
- tag
- memory
- memory access
- ref
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明はProlog のような述語論理型言語の実行
に適した知識情報処理装置に係り、特にタグ付データの
アクセスの高速アクセス方式を有する論理型情報処理装
置に関する。[Detailed Description of the Invention] [Object of the Invention] (Industrial Application Field) The present invention relates to a knowledge information processing device suitable for executing a predicate logic language such as Prolog, and in particular to a knowledge information processing device suitable for executing a predicate logic language such as Prolog. The present invention relates to a logical information processing device having an access method.
(従来の技術)
従来の手続型言@ (Fortran、 C,Cobo
l等)と異なりProlog のような論理型言語で
は、データのタイプに応じて処理内容が変わる。(Prior art) Conventional procedural language @ (Fortran, C, Cobo
In a logical language such as Prolog, the processing content changes depending on the type of data.
このため、このような論理型言語を効率良く高速に実行
するためにデータのタイプを表わすタグを、全てのデー
タに付加する事が行なわれる。このタグ付データの例を
第5図に示す。Therefore, in order to efficiently execute such a logical language at high speed, a tag indicating the type of data is added to all data. An example of this tagged data is shown in FIG.
このようにデータをすべてタグ付データで表わすため、
ハードウェアはタグ部を評価することによってデータ部
の処理内容を変えられるため高速実行が可能である。In this way, since all data is represented as tagged data,
Since the hardware can change the processing content of the data section by evaluating the tag section, high-speed execution is possible.
ここでハードウェアの動作をさらに詳細に考える。D、
H,DWavven ノProloy 用命令セッ
トノ中でget −1ist Aiという命令の実行に
ついて考えると、その処理はAiレジスタのタグ値によ
り第6図に示すようなものとなる。Let us now consider the operation of the hardware in more detail. D.
Considering the execution of the instruction get-1ist Ai in the H, DWavven Proloy instruction set, the processing is as shown in FIG. 6, depending on the tag value of the Ai register.
5tep lではAiのタグ値によりマルチウェイジャ
ンプを行ない、タグ値が’REF’であった場合にはA
iの中味がす7ラレンスポインタであるのでAiのデー
タ部をアドレスとしてAiKメモリから新たなデータを
リードする。タグ値がILIST+ であった場合、’
UV’であった場合はLISTの処理、変数の処理が行
なわれ、Tag値がそれ以外のデータであった場合には
、 fail処理によりバックトラックが発生する。At 5tep l, multiway jump is performed according to the tag value of Ai, and if the tag value is 'REF', A
Since the contents of i are seven pointers, new data is read from the AiK memory using the data section of Ai as an address. If the tag value is ILIST+, '
If it is UV', LIST processing and variable processing are performed, and if the Tag value is other data, backtracking occurs due to fail processing.
ここで問題となるのは、タグ値が’REFIであった場
合で、タグ値をチエツクした後、メモリアクセスを開始
するため処理ステップ数が多くなシ、速度が低下する。The problem here is when the tag value is 'REFI', and after checking the tag value, memory access is started, which requires a large number of processing steps and slows down the process.
この処理速度の低下を防ぐため、5tep1でタグ値が
IREF ’であった場合に備えて、 5tep1でタ
グ値によるマルチウェイジャンプと同時にメモリ起動を
行なう事も従来行なわれているがこの場合、メモリアク
セスが有効であるのはTag = ’REF ’の時の
みで他の場合には無意味なメモリアクセスを行なった事
になる。この無意味なメモリ起動のためにキャッシュメ
モリがヒツトしなかった場合には、キャッシュメモリが
メインメモリから無意味なデータとロードして来る事に
なシ、大きなオーバヘッドを引き起こすという欠点があ
った。In order to prevent this processing speed from decreasing, in case the tag value is IREF' at 5 tep 1, memory is started at the same time as the multi-way jump based on the tag value at 5 tep 1. The access is valid only when Tag = 'REF'; in other cases, it is a meaningless memory access. If the cache memory was not hit due to this meaningless memory activation, the cache memory would load meaningless data from the main memory, causing a large overhead.
(発明が解決しようとする問題点)
この様に従来方式によれば、タグ値によるマルチウェイ
ジャンプと同時にメモリ起動を行なっていたため、無駄
なメモリアクセスが頻繁に生じこれが大きなオーバヘッ
ドになるという欠点が有った。(Problems to be Solved by the Invention) As described above, according to the conventional method, memory activation was performed at the same time as the multiway jump based on the tag value, which resulted in frequent unnecessary memory accesses, which resulted in a large overhead. There was.
そこで本発明の目的は、無駄なメモリアクセス無しに高
速実行を行なう論理型情報処理装置を提供する事にある
。SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a logical information processing device that performs high-speed execution without unnecessary memory access.
(問題点を解決する九めの手段)
本発明は、゛タグ付データの処理を行なう論理型情報処
理装置において、タグ付ポインタによるメモリアクセス
を指定したタグの値とタグ付ポインタ中のタグとの比較
によシアポートする手段を有する事を特徴とするもので
ある。(Ninth Means for Solving the Problems) The present invention provides a logical information processing device that processes tagged data, in which the value of a tag that specifies memory access by a tagged pointer and the tag in the tagged pointer are It is characterized by having means for shearporting by comparison.
(作用)
本発明は、メモリ起動時にタグ付ポインタで表わされる
メモリアドレスとアクセス属性としてのタグを指定する
事によシ、2つのタグを比較してメモリ起動をアポート
するか否かを判定する手段を持つ事を特徴とする。(Operation) The present invention specifies a memory address represented by a tagged pointer and a tag as an access attribute at the time of memory activation, and compares the two tags to determine whether or not to abort memory activation. It is characterized by having the means.
(夾絶倒) 以下、本発明の一実施例を図面を参照して説明する。(absolutely defeated) Hereinafter, one embodiment of the present invention will be described with reference to the drawings.
第1図に本発明の一実施例を示す。FIG. 1 shows an embodiment of the present invention.
1はレジスタファイルで32 bit 64word
。1 is the register file, 32 bits 64 words
.
容量を持つ。2つのボートからのライト、2つのボート
からのリードを同時に行なう事ができる。Has capacity. It is possible to write from two boats and read from two boats at the same time.
2はALUで、レジスタファイルから読出された2つの
32 bitデータの演算を行なう。ALU2の出力は
レジスタファイル1、データセレクタ5EL9を通して
、MAR3に書き込む事ができる。4はキャッシュメモ
リで、MAR,3よシ与えられたアドレスに対応するデ
ータをゲー)MR,D51C出力し、レジスタファイル
1に書き込む。6は、全体のコントロールを行なうマイ
クロプログラムを格納するROMである。コントロール
情報はパイプラインレジスタ7に−たんラッチされた後
各部に供給される。8はメモリアクセスをコントロール
する部分でMARに供給されるアドレスに付随するタグ
と、パイプラインレジスタからイミーディエイト値とし
て供給されるタグ値とを比較して、メモリサイクルをア
ポートするか否かを決定する。2つのタグ値がどのよう
な条件の時にメモリサイクルをアポートするかはパイプ
ラインレジスタ7からアポートコントロール情報として
直接指示を行なう。2 is an ALU that performs calculations on two 32-bit data read from the register file. The output of ALU2 can be written to MAR3 through register file 1 and data selector 5EL9. 4 is a cache memory, which outputs the data corresponding to the address given by MAR, 3 and MR, D51C, and writes it into the register file 1. 6 is a ROM that stores a microprogram for overall control. The control information is latched in the pipeline register 7 and then supplied to each section. 8 is a part that controls memory access, and compares the tag attached to the address supplied to MAR with the tag value supplied as an immediate value from the pipeline register, and determines whether or not to abort the memory cycle. decide. Under what conditions the two tag values should abort a memory cycle is directly instructed from the pipeline register 7 as aport control information.
メモリアクセスコントロール部の内部の詳細図を第2図
に示す。メモリアクセスコントロール部はパイプライン
レジスタから指定される。アポートコントロール情報に
従い第3図のような動作を行なう。FIG. 2 shows a detailed diagram of the inside of the memory access control section. The memory access control section is specified by the pipeline register. The operation shown in FIG. 3 is performed according to the port control information.
メモリアクセスコントロール部を持った場合の前述のg
et−1ist Ai処理フローは、第4図のようにな
る。この処理ステップは几OM6に格納されているマイ
クロプログラムによ一シ制御される。The above g when having a memory access control section
The et-1ist Ai processing flow is as shown in FIG. This processing step is controlled by a microprogram stored in the OM6.
8teplではAiの内容がl REF lであった場
合に備え、メモリ起動をかけると同時にもし、Aiのタ
グがl REF lでないならば、メモリサイクルをア
ポートするようにメモリアクセスコントロール部に指示
を行なう。また同じステップで、Aiのタグ値によシ、
1LI8Tl ’UVI ’REFI その他のタグ
処理ル−チンにマルチウェイジャンプを行なう。こうす
る事によシメモリデータリードが本当に必要である場合
(Tag =’REF’ )以外は、メモリサイクルが
アポートされるため不要なメモリアクセスを引き起こす
事がなく、オーバヘッドが生じない。At 8tepl, in preparation for the case where the content of Ai is l REF l, the memory is activated, and at the same time, if the tag of Ai is not l REF l, an instruction is given to the memory access control unit to abort the memory cycle. . Also, in the same step, depending on the tag value of Ai,
1LI8Tl 'UVI'REFI Performs a multi-way jump to other tag processing routines. By doing this, unless memory data reading is really necessary (Tag='REF'), memory cycles are aborted, so no unnecessary memory access is caused and no overhead is generated.
尚、本実施例ではメモリ起動とアポート条件と全同一マ
イクロステップで指示するものを示したがメモリサイク
ルが複数サイクルかかる場合、−担メモリ起動をかけた
後後のステップでタグ判定を行ない、メモリサイクルを
途中で打切るようにする事も可能である。In this example, the memory activation and appoint conditions are instructed in the same microstep, but if the memory cycle takes multiple cycles, the tag determination is performed in a subsequent step after the memory activation and the memory activation is performed. It is also possible to stop recycling midway.
またアポート指定条件の中にキャッシュがヒツトしなか
ったらアポートする機能、メインメモリのページフォー
ルトが発生したらアポートする機能、プロラクションバ
イオレーションが発生したらアポートする機能を付加す
る事も可能である。It is also possible to add a function to appoint if the cache is not hit, a function to appoint if a main memory page fault occurs, and a function to appoint if a transaction violation occurs to the appoint specification conditions.
この場合には、ステータス情報として、アポート情報を
参照可能にする必要がある。In this case, it is necessary to make the appointment information referenceable as the status information.
゛またI REF ’データはl FLEF lでない
データがメモリから読まれて来るまで、メモリ中をたぐ
る事が必要であるが、メモリコントロール部にl RB
F lデータチエツク機能を持たせ、マイクロプログラ
ムの制御とは独立にメモリをたぐる事により、たぐり処
理の高速化を行なう事が可能である。゛Also, it is necessary to traverse the memory until data that is not I REF ' is read from memory, but the memory control section does not have l RB.
By providing a Fl data check function and traversing the memory independently of microprogram control, it is possible to speed up the traversal processing.
本発明によれば、タグ値によるマルチウェイジャンプと
同時にメモリアクセスが行なわれるのは、Tag =
’ REF ’の時のみに限定される。従って無駄なメ
モリアクセス無しに高速実行が可能となり、その実用的
利点は絶大である。According to the present invention, memory access is performed simultaneously with a multiway jump based on a tag value when Tag =
Limited only to 'REF'. Therefore, high-speed execution is possible without unnecessary memory access, and its practical advantages are enormous.
第1図は本発明の一実施例の概略構成図、第2図は本発
明の一実施例のメモリコントロールのブロック図、第3
図は本発明の一実施例によるメモリコントロールの機能
を示す図、第4図は本発明の一実施例によるタグ付デー
タの処理フロー図、第5図は論理型情報処理装置の扱か
うタグ付データの構造を示す図、第6図は従来方式によ
るタグ付データの処理フロー図である。
1・・・レジスタファイル、2・・・ALU、3・・・
MAR14・・・キャッシュメモリ、5・・・MRD、
5・・・マイクロプログラムメモリ、7・・・パイプラ
インレジスタ、8・・・メモリアクセスコントロール、
9…SEL。
代理人 弁理士 則 近 憲 佑
同 松 山 光 2第 2 図
第 3 図
第 5 図FIG. 1 is a schematic configuration diagram of an embodiment of the present invention, FIG. 2 is a block diagram of memory control in an embodiment of the present invention, and FIG.
FIG. 4 is a diagram showing the function of memory control according to an embodiment of the present invention, FIG. 4 is a processing flow diagram of tagged data according to an embodiment of the present invention, and FIG. FIG. 6, which is a diagram showing the data structure, is a processing flow diagram of tagged data according to the conventional method. 1...Register file, 2...ALU, 3...
MAR14...cache memory, 5...MRD,
5... Micro program memory, 7... Pipeline register, 8... Memory access control,
9...SEL. Agent Patent Attorney Nori Ken Chika Yudo Hikaru Matsuyama 2 Figure 2 Figure 3 Figure 5
Claims (1)
て、タグ付ポインタによるメモリアクセスを指定したタ
グ値とタグ付ポインタ中のタグ値との比較によりメモリ
アクセスをアポートする手段を備えたことを特徴とする
論理型情報処理装置。A logical information processing device that processes tagged data, characterized by comprising means for aborting memory access by comparing a tag value specifying memory access by a tagged pointer with a tag value in the tagged pointer. A logical information processing device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25242287A JPH0195332A (en) | 1987-10-08 | 1987-10-08 | Logical type information processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25242287A JPH0195332A (en) | 1987-10-08 | 1987-10-08 | Logical type information processor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0195332A true JPH0195332A (en) | 1989-04-13 |
Family
ID=17237139
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25242287A Pending JPH0195332A (en) | 1987-10-08 | 1987-10-08 | Logical type information processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0195332A (en) |
-
1987
- 1987-10-08 JP JP25242287A patent/JPH0195332A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1582980B1 (en) | Context switching method, device, program, recording medium, and central processing unit | |
| US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
| KR0149658B1 (en) | Data processing device and data processing method | |
| US7334161B2 (en) | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus | |
| US4679140A (en) | Data processor with control of the significant bit lengths of general purpose registers | |
| JPH03129433A (en) | Device and method for parallel processing | |
| JP4205506B2 (en) | Data processing apparatus and data processing method | |
| JPS6217252B2 (en) | ||
| US4750110A (en) | Method and apparatus for executing an instruction contingent upon a condition present in another data processor | |
| JP3707581B2 (en) | Data processing system having self-aligned stack pointer and method thereof | |
| KR20170100448A (en) | Data storage | |
| EP0526911B1 (en) | A method and apparatus for coordinating execution of an instruction by a coprocessor | |
| JPS6112288B2 (en) | ||
| KR100206350B1 (en) | Central processor | |
| US5287522A (en) | External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip | |
| JPH0195332A (en) | Logical type information processor | |
| US5983344A (en) | Combining ALU and memory storage micro instructions by using an address latch to maintain an address calculated by a first micro instruction | |
| JP2581565B2 (en) | Data processing device that executes guarded instructions | |
| JPH06230963A (en) | Memory access controller | |
| JP2904624B2 (en) | Parallel processing unit | |
| JP2636821B2 (en) | Parallel processing unit | |
| JPS5949643A (en) | data processing equipment | |
| JPS6221131B2 (en) | ||
| JPH087713B2 (en) | Microprocessor | |
| JPS61194566A (en) | Vector data reference control system |