JPS5840273B2 - Data search - Google Patents

Data search

Info

Publication number
JPS5840273B2
JPS5840273B2 JP49101264A JP10126474A JPS5840273B2 JP S5840273 B2 JPS5840273 B2 JP S5840273B2 JP 49101264 A JP49101264 A JP 49101264A JP 10126474 A JP10126474 A JP 10126474A JP S5840273 B2 JPS5840273 B2 JP S5840273B2
Authority
JP
Japan
Prior art keywords
entry
pointer
hit
address
entries
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.)
Expired
Application number
JP49101264A
Other languages
Japanese (ja)
Other versions
JPS5081034A (en
Inventor
エム マツカロー クリストフアー
アール バーボアー ケネス
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.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
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 HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS5081034A publication Critical patent/JPS5081034A/ja
Publication of JPS5840273B2 publication Critical patent/JPS5840273B2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Computer And Data Communications (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 (A)発明の属する技術分野 本発明はデータ処理装置に関し、詳細には、複数のプロ
グラムに対しメモリーリソース(メモリー資源)を割当
てかつ適時にプログラムを位置付ける手段に関する。
DETAILED DESCRIPTION OF THE INVENTION (A) Technical field to which the invention pertains The present invention relates to a data processing device, and more particularly to means for allocating memory resources to a plurality of programs and positioning the programs in a timely manner.

(B)従来技術 データ処理装置においては、エミュレーション処理と呼
ばれる処理によってより旧型のデータ処理システムの動
作を複製することがしばしば必要である。
(B) Prior Art In data processing systems, it is often necessary to replicate the operation of older data processing systems through a process called emulation.

旧型の即ちエミュレートされるデータ処理システムは数
百もの命令を含み得るが、これらの命令は旧型のデータ
処理システムにおいては指令された通りに機能する。
Legacy or emulated data processing systems may contain hundreds of instructions that function as instructed in the legacy data processing system.

旧型のデータ処理システムにおいて使用するように設計
されたこの種の命令を新型のデータ処理システムにより
利用する場合には、旧型のデータ処理システムにおける
と同じように新型のデータ処理システムにおいても実行
されるように、一般には1つあるいは一部の命令、すな
わちプログラムまたはルーチンを設けることが必要であ
る。
If an instruction of this type was designed for use in an older data processing system and is used by a newer data processing system, it will execute in the new data processing system the same way as in the older data processing system. As such, it is generally necessary to provide one or some instructions, ie, programs or routines.

この種の旧型システムから受取った命令(以後単に「命
令」と称する。
Instructions received from this type of legacy system (hereinafter simply referred to as "instructions").

)に関連した複数のプログラムは一般にはシステムのメ
モリー内に記憶される。
) are typically stored in the system's memory.

これら複数のプログラムを位置づける1つの方法は、「
命令」をメモリー内の対応するプログラムのアドレスに
単にリンクさせる(連結する)ことである。
One way to position these multiple programs is to
It simply links (concatenates) an "instruction" to the corresponding program address in memory.

しかしながら、一般にメモリーリソース(資源)容量の
不足または制限等の理由で、メモリーにすべてのプログ
ラムを記憶することが常に可能とは言えない。
However, in general, it is not always possible to store all programs in memory due to insufficient or limited memory resource capacity.

すなわち一定数のプログラムだけがメモリーに記憶され
得る。
That is, only a certain number of programs can be stored in memory.

この問題点を解決する1つの方法は、ディスクの如き二
次記憶媒体に一部のプログラムを記憶させることであろ
う。
One way to solve this problem would be to store some programs on a secondary storage medium such as a disk.

しかしながら、ディスクからプログラムをフェッチする
(取出す)に要する時間が、「命令」の要件にしたがっ
て実際にプログラムを発生しあるいは作るに要する時間
より一般に長いことが分っている。
However, it has been found that the time required to fetch a program from disk is generally longer than the time required to actually generate or create the program according to the requirements of the "instructions".

したがって上述したように、各種プロゲラ°ムに対しメ
モリーリソースを割当てることを考慮しなければならず
、更に、「命令」に応じてこれらプログラムをアクセス
するときの速度を考慮しなければならない。
Therefore, as described above, consideration must be given to allocating memory resources to various program programs, and further consideration must be given to the speed at which these programs are accessed in response to "instructions."

例えば、これらのプログラムは、データ処理システムと
それに関連した周辺装置との間の入出力操作に関連し、
また、極めて高速のデータ転送が必要である。
For example, these programs may relate to input/output operations between a data processing system and its associated peripheral devices;
Also, extremely high speed data transfer is required.

(C)本発明の目的 したがって本発明の目的は、計算機メモリー領域を有効
に利用するために計算機メモリー領域を複数のプログラ
ムのために割当てる改良した技術を提供することである
(C) OBJECTS OF THE INVENTION Accordingly, it is an object of the present invention to provide an improved technique for allocating a computer memory area for multiple programs in order to make effective use of the computer memory area.

本発明の他の目的は、メモリーリソースを有効に割当て
るだけでなく「命令」に関連した特定プログラムを効果
的かつ迅速にサーチして位置づける技術を含む改良した
装置を提供することである。
It is another object of the present invention to provide an improved apparatus that includes techniques for efficiently allocating memory resources as well as effectively and quickly searching and locating specific programs associated with "instructions."

(D)本発明の要約 要約すれば本発明のデータ処理装置の割当ておよびサー
チ技術は、複数のプログラムを記憶するメモリーと、メ
モリー内のプログラムの個数に等しい数の複数のエンド
’J(entry )を含むサーチテーブルと、サーチ
テーブル内の複数のエントリの内の特定の1つづつをア
ドレスするためのスタートポイントテーブルと、を利用
する。
(D) Summary of the Invention In summary, the data processing device allocation and search technique of the present invention comprises a memory storing a plurality of programs and a plurality of entries equal to the number of programs in the memory. and a start point table for addressing a specific one of a plurality of entries in the search table.

サーチテーブル内の各エントリは、「命令」に対応する
ものとしてそのエントリを特定的に識別させるためのサ
ーチアーギュメントと、メモリー内の関連したプログラ
ムのアドレスを指示するポインタと、その特定エントリ
と同族のサーチテーブル内の別のエントリを指示するリ
ングポインタと、サーチテーブル内におけるより最近使
用したエントリに対するHポインタと、サーチテーブル
内のより以前に使用したエントリに対するTポインタと
、を具備する。
Each entry in the search table includes a search argument to specifically identify that entry as corresponding to an "instruction", a pointer to the address of the associated program in memory, and a list of cognates of that particular entry. It includes a ring pointer pointing to another entry in the search table, an H pointer to a more recently used entry in the search table, and a T pointer to a more recently used entry in the search table.

複数の有意ビットがスタートポイントテーブル内の1つ
のロケーションをアドレスし、そのロケーションはサー
チテーブル内のエントリのアドレスを含む。
The plurality of significant bits address a location in the start point table, which location contains the address of an entry in the search table.

「命令」を受取るとスタートポイントテーブルがアドレ
スされ、このテーブルが次にサーチテーブル内のエント
リをアドレスする。
Upon receipt of the ``instruction'', the start point table is addressed, which in turn addresses the entry in the search table.

もしヒツト(bit)が起こると、すなわちエンI−I
J内のサーチアーギュメント(変数)が「命令」に匹適
すると、そのエントリのためのPポインタによりメモリ
ー内の特定プログラムがアドレスされる。
If a bit occurs, i.e. en I-I
When a search argument (variable) in J matches an "instruction", the P pointer for that entry addresses a particular program in memory.

ヒツトが起きなければヒツトが現われるまでサーチが続
けられ、その後適切に、HおよびTポインタが更新され
、リンクポインタも更新される。
If no hits occur, the search continues until a hit occurs, after which the H and T pointers are updated and the link pointers are updated, as appropriate.

全サーチの後もヒツトが存在しないと、新しいプログラ
ムが形成され、対応するエントリがサーチテーブルに記
入され、各種ポインタが対応して更新される。
If no hits are found after a full search, a new program is created, a corresponding entry is written in the search table, and the various pointers are updated accordingly.

(E)実施例の説明 (E−1)装置構成の概説(第1図) 第1図は本発明の装置を表わすブロック図である。(E) Description of examples (E-1) Overview of device configuration (Figure 1) FIG. 1 is a block diagram representing the apparatus of the present invention.

この装置は線100から「命令」を受取るように結合さ
れている。
This device is coupled to receive "commands" from line 100.

この「命令」は、メモリー108に記憶されているプロ
グラムすなわち1つ以上の命令により、本発明の装置に
よって実行されるものである。
This "instruction" is one that is executed by the apparatus of the present invention by a program or one or more instructions stored in memory 108.

詳細には、線100から受取られる「命令」は別のデー
タ処理システムのために設計されたものであり、メモI
J−108にある関連したプログラムは本発明の装置に
おいて、命令された演算をエミュレートするために必要
なものである。
Specifically, the "instructions" received from line 100 are designed for another data processing system and are
The associated programs in J-108 are necessary for emulating the commanded operations in the apparatus of the present invention.

したがって、線100からの「命令」に応じて特定のプ
ログラムがメモリー108においてアドレスされる。
Thus, a particular program is addressed in memory 108 in response to an "instruction" from line 100.

線100から受取られる異なる「命令」をエミュレート
するために利用しなければならないプログラムが多数存
在し、また、多くの場合このような複数のプログラムを
、例えばディスクメモリー等に置くことは実用的でない
ため、更に、メモIJ−108の如き読出し/書込みコ
アメモリーあるいは半導体メモリーの記憶ロケーション
が一般に限定されておりこれらロケーションは各種演算
に割当てなければならないので、この種のメモリーリソ
ース(資源)をシステムの要求の範囲内で割当てなけれ
ばならず、加えて、線100における「命令」の受取り
からメモリー108における関連プログラムのアドレス
動作までの時間は出来るだけ短くしなければならない。
There are many programs that must be utilized to emulate the different "instructions" received from line 100, and it is often impractical to have multiple such programs in, e.g., disk memory. Furthermore, since the storage locations of read/write core memory or semiconductor memory such as Memo IJ-108 are generally limited and these locations must be allocated to various operations, this kind of memory resource is not available in the system. The allocation must be within the requirements, and in addition, the time between receipt of an "instruction" on line 100 and the addressing of the associated program in memory 108 must be as short as possible.

上述したように、線100から受取られる「命令」には
各種形式のものが存在する。
As mentioned above, there are various types of "commands" received from line 100.

本発明の装置によれば、「命令」の複数の有意ビットが
マスク102なる手段を介してスタートポイントテーブ
ル104により受取られる。
According to the apparatus of the invention, a plurality of significant bits of the "instruction" are received by the start point table 104 via means of a mask 102.

スタートポイントテーブル104は有意ビットの数のべ
き乗に等しい数のロケーションを含み得る。
Starting point table 104 may include a number of locations equal to a power of the number of significant bits.

例えば、マスク102は6個の有意ビットを通過させ、
この6ビツトアドレスがスタートポイントテーブル10
4へ与えられ、これによりテーブル104内で全体で6
4個のロケーションをアドレスすることが可能となる。
For example, mask 102 passes 6 significant bits;
This 6-bit address is the starting point table 10.
4, which gives a total of 6 in table 104.
It becomes possible to address four locations.

スタートボネントチ−プル104の各ロケーションは以
下において述べるようにサーチテーブル106内のエン
トリをアドレスするのに利用されるアドレスを含む。
Each location in start bone component 104 includes an address that is used to address an entry in search table 106, as described below.

サーチテーブル106内の各エントリ(内容情報)は複
数のパラメータを含み、その内の5個が本発明において
重要である。
Each entry (content information) in search table 106 includes multiple parameters, five of which are important to the present invention.

上述したように、メモリー108内のリソースが限定さ
れているので、このメモリースペースは出来るだけ有効
に利用されなければならない。
As mentioned above, since resources within memory 108 are limited, this memory space must be utilized as efficiently as possible.

したがって、最も最近使用したエントリと使用が最も古
いエントリとがキュー(Queue、列)の両端に位置
するようにサーチテーブル106内でエントリを並べる
方式を用いることにより、使用の古いエントリとそれに
関連したプログラムは新しく作られたプログラムと置換
され、従ってキュー(列)が更新される。
Therefore, by using a method of arranging entries in the search table 106 such that the most recently used entry and the oldest used entry are located at both ends of the queue, the oldest used entry and its associated The program is replaced with the newly created program and the queue is updated accordingly.

このようにして、よりしばしば使用されるプログラムは
サーチテーブル内におけるキューの上位即ち先端部にエ
ントリを有し、新しいプログラムの作成処理を経ること
なく利用することができる。
In this way, more frequently used programs have an entry at the top of the queue in the search table and can be utilized without going through the process of creating a new program.

より使用されないプログラムに対しては、サーチテーブ
ル106内のそれらに関連したエントリは追い出され、
装置の動作中に必要になった新しいプログラムに対応す
るエントリにより置換えられる。
For less used programs, their associated entries in search table 106 are purged and
It is replaced by an entry corresponding to a new program that becomes necessary during operation of the device.

更に上述したように、スタートポイントテーブル104
の受取ったアドレスは線100から受取られた「命令」
の複数の有意ビットを含む。
Further, as mentioned above, starting point table 104
The received address of is the "command" received from line 100.
contains multiple significant bits.

これら有意ビットはスタートポイントテーブル104内
の複数のロケーションの任意の1つをアドレスし得る。
These significant bits may address any one of multiple locations within start point table 104.

テーブル104によりアドレス可能な複数のエントリの
各々はそれと同族のエントリの内の別のエントリをアド
レスし得る。
Each of the plurality of entries addressable by table 104 may address another of its cognate entries.

このように、リンクポインタにより一諸にリンク(連結
)されているところのサーチテーブル106内のエント
リは同族エントリに含まれると言われ、同族内の各エン
トリはその内のとのエントリが最も最近使用したかに応
じてテーブル104により直接アドレスすることができ
る。
Thus, entries in search table 106 that are linked together by link pointers are said to be included in cognate entries, and each entry within a cognate is determined by the most recent entry. It can be directly addressed by table 104 depending on what is used.

より詳細には、マスク102を通過した有意ビットは、
多くの場合「命令」を相互に区別させるビットである。
More specifically, the significant bits passed through the mask 102 are
It is often a bit that distinguishes "instructions" from one another.

従って線100から受取られる例えば32ビツト命令の
如き「命令」においては、多くの場合、「命令」の各種
ビットロケーションに分布している有意ビットのビット
パターンは一般には「命令」を相互に区別させる。
Therefore, in an ``instruction'', such as a 32-bit instruction, received from line 100, in many cases the bit pattern of significant bits distributed in the various bit locations of the ``instruction'' will generally distinguish the ``instructions'' from each other. .

したがって、6個の有意ビットでは、サーチテーブル1
06内の64個の異なるエントリをスタートポイントテ
ーブル104により直接アドレスすることができる。
Therefore, with 6 significant bits, search table 1
06 can be directly addressed by the start point table 104.

したがって、テーブル106内の特定のエントリはその
ロケーションに従って、テーブル104により直接アド
レスできるか、あるいは、スタートポイントテーブル1
04により直接アドレス可能なエントリにリンクさせる
ことによりアドレスされ得る。
Therefore, depending on its location, a particular entry in table 106 can be directly addressed by table 104 or alternatively, depending on its location,
04 can be addressed by linking to an entry that is directly addressable.

このようにして、マスク102は線100上の「命令」
を受取り、テーブル104をアドレスするために有意ビ
ットだけを通過させる。
In this way, the mask 102 is the "command" on the line 100.
, and only the significant bits are passed through to address table 104.

テーブル104内のアドレスされたロケーションは、ス
タートポイントテーブル104内のロケーション0〜6
3に対応するエントリ0〜63として示しであるところ
の、テーブル106内のエントリをアドレスするのに使
用されるアドレスを含む。
The addressed locations in table 104 are locations 0-6 in start point table 104.
Contains the addresses used to address entries in table 106, shown as entries 0-63 corresponding to numbers 3 and 3.

なお、テーブル106内のアドレスロケーションはテー
ブル104内のロケーションに対応する番号を有する必
要はない。
Note that address locations in table 106 need not have numbers corresponding to locations in table 104.

例えば、テーブル104のロケーション2にあるアドレ
スはテーブル106内のアドレス75にあるエントリを
アドレスできる。
For example, the address at location 2 in table 104 can address the entry at address 75 in table 106.

特に図示しであるエンドIJ0,30.45および63
の各々は追加の複数のエントリを順に指定しなくてもよ
い。
Ends IJ0, 30.45 and 63 are particularly shown.
does not have to specify additional entries in turn.

例えば、エントリ0は同族の2つの追加エントリにリン
クされており、エントリ30と63はN個と1つの追加
エントリにリンクされているように示されている。
For example, entry 0 is shown linked to two additional cognate entries, and entries 30 and 63 are shown linked to N and one additional entry.

他方、エントリ45はリンクを有せず、従って、その族
はそれ自体のみをただ1つのエントリとして構成される
Entry 45, on the other hand, has no links, so the family consists only of itself as a single entry.

サーチテーブル106において、アドレス30のエント
リに関連したエントリ族の最後のエントリで示しである
ように、N個までのエントリが存在し得る。
In search table 106, there may be up to N entries, as shown by the last entry in the family of entries associated with the entry at address 30.

サーチテーブル106の各エントリはアドレスが30の
エントリに関して示しであるように少くとも5個のパラ
メータを含む。
Each entry in search table 106 includes at least five parameters, as shown for the address 30 entries.

これら5個のパラメータはサーチアーギュメント(ar
gument )110、Pポインタ111、リンクポ
インタ112、Hポインタ113、およびTポインタ1
14を含む。
These five parameters are the search arguments (ar
) 110, P pointer 111, link pointer 112, H pointer 113, and T pointer 1
Contains 14.

サーチアーギュメント110は線100から受取られる
「命令」に一致するような命令を含み、受取った「命令
」とテーブル106におけるアドレスされたエントリと
の間に一致すなわちヒツト(bit)が存在するか否か
を示す目的で利用される。
Search argument 110 includes an instruction that matches the “instruction” received from line 100 and determines whether a match or hit (bit) exists between the received “instruction” and the addressed entry in table 106. It is used for the purpose of indicating.

ヒツトが存在すれば、Pポインタ111がメモリー10
8内のプログラムをアドレスする。
If there is a hit, the P pointer 111 is set to memory 10.
Address the program within 8.

リンクポインタ112は各エントリ内に含まれておす、
同族(f am i l y )内の次のエントリを指
示する。
A link pointer 112 is included within each entry.
Points to the next entry within the family.

ここで、「次のエントリ」はテーブル104により最初
にアドレスされたものほど最近には使われていなかった
ものである。
Here, the "next entry" is one that has not been used as recently as the one first addressed by table 104.

同族エントリ内の最後のエントリは二進「0」のリンク
ポインタを有し、それによりこのエントリが同族内で最
後のエントリすなわち最も使用されなかったエントリで
あることを指示する。
The last entry within a cognate entry has a link pointer of binary 0, thereby indicating that this entry is the last or least used entry within the cognate.

Hポインタ113は、同族に関係なしにサーチテーブル
106内の全エントリの内のより最近使用されたエント
リを指示する。
H pointer 113 points to the more recently used entry of all entries in search table 106, regardless of cognateness.

したがって、アドレスが30であるテーブル106内の
エントリがアドレスが45のエントリより最近使用され
たものであれば、エントリ45のHポインタ113はエ
ントリ30を指示するであろう。
Therefore, if the entry in table 106 with address 30 was more recently used than the entry with address 45, H pointer 113 of entry 45 would point to entry 30.

同様に、Tポインタはより以前に使用されたエントリを
指示している。
Similarly, the T pointer points to a previously used entry.

すなわちこのエントリの前に使用されたエントリを指示
している。
In other words, it indicates the entry used before this entry.

したがってこの例では、エントリ30のTポインタはエ
ントリ45を指示する。
Thus, in this example, entry 30's T pointer points to entry 45.

更に、テーブル106内の全エントリの内の最も最近使
用されたエントリはヘッドポ・インク118によって指
示される。
Additionally, the most recently used entry of all entries in table 106 is indicated by headpoint ink 118.

同様に、テール(尾)ポインタ116はテーブル106
内のエントリの内で最も使用されなかったエントリを指
示している。
Similarly, tail pointer 116 points to table 106.
It indicates the least used entry among the entries in the file.

第1図に示すように、ヘッドポインタ118はエントリ
30を指示し、テールポインタ116は最初のエントリ
がアドレス63を有している同族エントリの内の第2番
目のエントリを指示する。
As shown in FIG. 1, head pointer 118 points to entry 30 and tail pointer 116 points to the second of the cognate entries, the first of which has address 63.

サーチテーブル106内でエントリの1ヒツト」が存在
する度毎に、ヘッドポインタと必要によりテールポイン
タも更新される。
Each time there is an entry in the search table 106, the head pointer and, if necessary, the tail pointer are updated.

更に、Hポインタ113とTポインタ114はヒツトの
あったエントリと、すぐ手前の(より最近使用された)
エントリとすぐ後続する(より以前に使用された)エン
トリとに対して更新される。
Furthermore, the H pointer 113 and T pointer 114 point to the hit entry and the immediately preceding (more recently used) entry.
Updated for the entry and immediately following (previously used) entries.

したがって、1つのエントリしたがってプログラムが使
用されると、サーチテーブル内の3つのエントリだけの
ポインタが更新される。
Therefore, when one entry and therefore a program is used, the pointers of only three entries in the search table are updated.

明らかな如く、これらのエントリは使用の開始により更
新され、プログラムがまだ実行中すなわち使用中に、他
のプログラムの使用が開始されると、そのエントリ内の
プログラムの作動キュー(列)に対して状態を変えるこ
とは完全に可能である。
As can be seen, these entries are updated with the start of use, and when the use of another program is started while the program is still running or in use, the operation queue of the program in that entry is updated. It is completely possible to change the situation.

このようにして、最近はとんど使用されないエントリは
キューの底に置かれ、最近多く使用されたエントリはキ
ューの上に置かれ、したがって、サーチテーブル106
内にヒツトが存在せず線100から受取った「命令」に
関連して使用する新しいプログラムを作らなければなら
ないとすれば、テールポインタ116により指示されて
いる最も使用されなかったエントリが新しいプログラム
のエントリで置き換えられる。
In this way, entries that are rarely used recently are placed at the bottom of the queue, and entries that are used a lot recently are placed at the top of the queue, thus making it possible for the search table 106
If there is no human in the program and a new program must be created to use in conjunction with the "instructions" received from line 100, the least used entry pointed to by tail pointer 116 will be the new program's entry. Replaced by entry.

更に、最初の試行でテーブル106内のエントリにヒツ
トが存在しなければ、すなわち、スタートポイントテー
ブル104のアドレスがテーブル106内のアドレス0
乃至63を有するエントリを示すアドレスを直接指示し
てなければ、リンクポインタは遂行されたエントリに関
して更新されなければならない。
Furthermore, if there is no hit in the entry in table 106 on the first try, that is, the address in start point table 104 is equal to address 0 in table 106.
Unless directly pointing to an address pointing to an entry with 63 through 63, the link pointer must be updated with respect to the completed entry.

したがって、テーブル104内のアドレスから直接的に
得られるエントリにヒツトが存在すれば、リンクポイン
タを変更する必要はない。
Therefore, if there is a hit in the entry directly obtained from the address in table 104, there is no need to change the link pointer.

しかしながら、サーチテーブル106内のエントリに直
接的ヒツトが存在しなければ、ヒツトのあったエントリ
とそれにすぐ先行するエントリとのリンクポインタが更
新されなければならない。
However, if there is no direct hit to an entry in search table 106, the link pointer between the hit entry and the immediately preceding entry must be updated.

このように、例えばヒツトしたエントリがアドレス「0
」のエントリにすぐ連結したアドレス「64Jのエント
リであれば、エンドIJ「64Jはエントリ「0」と置
換される。
In this way, for example, the hit entry is at address "0".
If the entry has the address "64J" immediately connected to the entry "64J", the end IJ "64J" is replaced with the entry "0".

すなわち、エントリ「64」はテーブル104で直接ア
ドレス可能となり、そのリンクポインタはエントリ「0
」を指示し、一方、エントリ「0」のリンクポインタは
先にエントリ「64」からリンクしていた同族内の最後
のエントリである。
That is, entry "64" becomes directly addressable in table 104, and its link pointer points to entry "0".
", while the link pointer of entry "0" is the last entry in the same family that was previously linked from entry "64".

エンl−IJを指示する。Instruct Enl-IJ.

したがって、線100から受取った「命令」に従って、
エントリ「64」は第1のヒツトとなり、エントリ「6
4」はエントリ「0」を指示し、このエンHroJは同
族内の最後のエンl−’Jを指示する。
Therefore, according to the "instructions" received from line 100,
Entry "64" is the first hit and entry "64" is the first hit.
4'' points to entry ``0'', and this en HroJ points to the last en 1-'J in the family.

このようにして、同族エントリ内の最も最近使用された
エントリがスタートポイントテーブル104のアドレス
されたロケーションのアドレスにより直接にアドレスさ
れ得るようにする技術を用いるので、「命令」をテーブ
ル106内のエントリと一致させるに要する時間は最小
となる。
In this way, we use a technique that allows the most recently used entry among the cognate entries to be directly addressed by the address of the addressed location in the start point table 104, so that an "instruction" is an entry in the table 106. The time required to match is minimized.

(E−2)装置の作用説明(第2図〜第5図)次に第2
図を参照して、HポインタとTポインタがリンクされる
仕方について述べる。
(E-2) Explanation of the operation of the device (Figures 2 to 5) Next, the second
The manner in which the H pointer and T pointer are linked will be described with reference to the figure.

第2図はサーチテーブル106の初期状態を示しており
、例として簡単化のため5つのエントリA乃至Eだりを
含むものとして示してあり、エントリEは最も最近使用
されたエントリであり、エントリAは最も使用されなか
ったエントリである。
FIG. 2 shows the initial state of the search table 106, and is shown as containing five entries A to E for simplicity as an example, where entry E is the most recently used entry and entry A is the least used entry.

更に第2図は、2つの同族エントリを示しており、エン
トリBとAは1つの同族に含まれ、エントリBは2つの
内のより最近使用されたエンl−IJである。
Furthermore, FIG. 2 shows two cognate entries, with entries B and A included in one cognate, and entry B being the more recently used enl-IJ of the two.

エントリEとDとCは第2の同族を構成しており、この
内エントリEはこの同族内での最も最近使用されたエン
トリであり、エントリCはこの同族内の最も使用されな
かったエン) IJである。
Entries E, D, and C constitute a second cognate, of which entry E is the most recently used entry within this cognate and entry C is the least used entry within this cognate. It is IJ.

したがって、ヘッドポインタ118は(最も最近使用さ
れたエントリである)エントリEを指示し、テールポイ
ンタ116は最も使用されなかったエントリ、すなわち
エントリAを指示する。
Thus, head pointer 118 points to entry E (the most recently used entry) and tail pointer 116 points to the least used entry, entry A.

同様に、エントリAのHポインタはエントリBを指示し
、順次このようにして、エントリDのHポインタはエン
トリEを指示する。
Similarly, entry A's H pointer points to entry B, and in turn, entry D's H pointer points to entry E.

エントリEのHポインタはどのエントリともリンクして
おらず、このため例えばすべて二進の「0」にセットさ
れる。
The H pointers of entry E are not linked to any entry and are therefore all set to binary "0", for example.

Tポインタに関しては、エントリEのTポインタはエン
h IJ Dを指示しており、順次このようにしてエン
トリBのTポインタはエントリAを指示する。
Regarding the T pointers, the T pointer of entry E points to enh IJ D, and in turn the T pointer of entry B points to entry A.

エントリAのTポインタはどのエントリも指示しておら
ず、したがって例えばすべて二進の「0」にセットされ
る。
The T pointers of entry A do not point to any entries and are therefore all set to binary "0", for example.

特定のエントリ同族内のエンl−IJだけを指示するリ
ンクポインタは、その同族の内の最も最近使用されたエ
ントリが次に最近使用されたエントリを指示しこのよう
にして同族内の最後のエントリが指示されるようにして
含まれている。
A link pointer that points only to an enl-IJ within a particular entry cognate means that the most recently used entry within that cognate points to the next most recently used entry, and thus the last entry within the cognate. are included as directed.

したがって、エントリEのリンクポインタはエントリD
を指示し、エントリDのリンクポインタはエントリCを
指示する。
Therefore, entry E's link pointer is entry D
The link pointer of entry D points to entry C.

エントリCのリンクポインタはエントリBを指示してお
らず、エントリCがエントリ同族内の最後のエントリで
あるので、このリンクポインタはすべて二進1oJにセ
ットされこれが同族内の最後のエンl−IJであること
を示す。
Since entry C's link pointer does not point to entry B, and entry C is the last entry in the family of entries, this link pointer is all set to binary 1oJ, which is the last entry in the family. .

同様にして、エントリBのリンクポインタはエントリA
を指示し、エントリAのリンクポインタはすべて二進の
「0」にセットされ同族内の最後のエントリであること
を示す。
Similarly, entry B's link pointer is set to entry A.
, and all link pointers of entry A are set to binary "0" to indicate that it is the last entry in the family.

第3図は、例えばエントリDと、したがってそれに関連
したプログラムが「ヒツト」シて、最も最近使用された
エントリとなった後の各ポインタのリンクしている状態
を示している。
FIG. 3 shows the linked state of each pointer after, for example, entry D, and therefore its associated program, has become the most recently used entry.

明らかな如く、テールポインタ116は最も使用されな
かったエントリ、すなわちエントリAのアドレスを含ん
でおり、エントリAとエントリBのHポインタは第2図
の状態にとどまっている。
As can be seen, tail pointer 116 contains the address of the least used entry, entry A, and the H pointers of entry A and entry B remain in the state of FIG.

この時点ではエントリDが最も最近使用されたエントリ
であるので、このエントリがヘッドポインタ118で指
示され、そのHポインタはすべて二進のrOJにセット
される。
Since entry D is the most recently used entry at this point, it is pointed to by head pointer 118 and its H pointers are all set to binary rOJ.

したがって、この時点ではエントリCのHポインタはエ
ントリEを指示し、エントリEのHポインタはエントリ
Dを指示している。
Therefore, at this point, the H pointer of entry C points to entry E, and the H pointer of entry E points to entry D.

これらから明らかなように、3つのエントリだけがヒツ
トにより影響される。
As is clear from these, only three entries are affected by humans.

すなわち、ヒツトのエントリDと先行したエントリすな
わちより以前に使用されたエントリCと引続くエントリ
すなわちより最近使用されたエントリEとである。
namely, the hit entry D, the preceding entry or entry C that was used earlier, and the subsequent entry or entry E that was used more recently.

同様に、エントリA、BおよびCのTポインタは影響さ
れない。
Similarly, the T pointers of entries A, B and C are unaffected.

しかしながら、この時点ではエントリDのTポインタは
エントリEを指示し、エントリEのTポインタはエント
リCを指示している。
However, at this point, the T pointer of entry D points to entry E, and the T pointer of entry E points to entry C.

リンクポインタに関しては、エントリBからエントリA
へのリンクポインタは影響されない。
Regarding the link pointer, entry B to entry A
Link pointers to are not affected.

更に、エントリCのリンクポインタ領域(こある二進の
「0」は影響されない。
Additionally, the link pointer area of entry C (binary ``0'' is not affected).

したがって、エントリEのリンクポインタがエントリD
を指示する代りに、その逆が正しい。
Therefore, entry E's link pointer is entry D
Instead of directing, the opposite is true.

すなわち、エントリDのリンクポインタがエントリEを
指示し、エントリEのリンクポインタがエントリCを指
示する。
That is, the link pointer of entry D points to entry E, and the link pointer of entry E points to entry C.

このため、ヒツトしたエントリ(この場合、エントリD
)と、すぐ先行したエンl−IJすなわちより最近使用
されたエントリ(すなわち、エントリE)のリンクポイ
ンタがテーブル106内のヒツトにより影響されている
Therefore, the hit entry (in this case, entry D
) and the link pointer of the immediately preceding entry l-IJ, the more recently used entry (ie, entry E), is affected by the hit in table 106.

なお、上述したように、ヒツトがエントリEに関して起
ったとすれば、HおよびTポインタは影響されず、更に
リンクポインタも影響されない。
Note that, as discussed above, if a hit occurs with respect to entry E, the H and T pointers are unaffected, and furthermore, the link pointer is unaffected.

更になお、ヒツトがエンl−’J Bにおいて起これば
、HおよびTポインタは影響されるが、リンクポインタ
は影響されない。
Furthermore, if a hit occurs in Enl-'JB, the H and T pointers are affected, but the link pointer is not.

次に、第4図には、新しいプログラムが形成された後で
かつこの新しいプログラムに関連したエントリEがテー
ブル106に挿入された後にポインタがリンクする仕方
あるいはエントリを指示する仕方が示されている。
FIG. 4 then shows how pointers link or point to entries after a new program has been created and after the entry E associated with this new program has been inserted into table 106. .

ここでメモIJ−108には空き領域がもはや存在せず
、したがってテーブル106内のエントリAを新しいエ
ントリで置換しなければならないと仮定する。
Assume now that there is no longer free space in memo IJ-108, and therefore entry A in table 106 must be replaced with a new entry.

したがって、メモIJ−108において新しく形成され
たプログラムに対するエントリFが代りに挿入される。
Therefore, entry F for the newly created program in memo IJ-108 is inserted in its place.

この場合、エントリFは最も最近使用されたエントリで
あり、ヘッドポインタ118で指示される。
In this case, entry F is the most recently used entry and is pointed to by head pointer 118.

ここで、以下の説明のために、第4図に示すリンクの仕
方は第2図の初期状態に続き第3図の状態に続くもので
はないことに注意されたい。
For purposes of the following explanation, it should be noted that the linking method shown in FIG. 4 does not continue from the initial state shown in FIG. 2 to the state shown in FIG. 3.

エントリFが挿入された後のこの時点では、最も使用さ
れなかったエントリはエントリBであり、このエントリ
Bはテールポインタ116で指示される。
At this point, after entry F has been inserted, the least used entry is entry B, which is pointed to by tail pointer 116.

第2図および第4図を参照してHポインタの変化を述べ
ると、エントリBのHポインタは第2図の場合の如くエ
ントリCを指示し、エントリCおよびDのHポインタに
対するエントリも第2図の場合と同じである。
To describe changes in the H pointer with reference to FIGS. 2 and 4, the H pointer of entry B points to entry C as in the case of FIG. Same as in the figure.

しかしながらエントリEのHポインタはエントリFを指
示している。
However, the H pointer of entry E points to entry F.

同様にして、エントリE、DおよびCのTポインタは第
2図の場合と同じである。
Similarly, the T pointers for entries E, D and C are the same as in FIG.

この時点ではエンドIJ BのTポインタは二進の「0
」にセットされており、新しく使用したエントリPのT
ポインタはエントリEを指示する。
At this point, the T pointer of end IJ B is binary ``0''.
", and the T of the newly used entry P
The pointer points to entry E.

リンクポインタに関しては、例えばエントリFがその特
定同族内の唯一のエントリであるとするので、エントリ
Bはこの時点では特定同族内の唯一のエントリである。
With respect to link pointers, let us say, for example, that entry F is the only entry within its particular cognate, so entry B is the only entry within its particular cognate at this point.

したがって、エントリBおよびFのリンクポインタは共
に二進の「0」であり、この2つのエンl−IJ同族に
おける最後のかつ唯一のエントリであることを表わして
いる。
Therefore, the link pointers of entries B and F are both binary "0", indicating that they are the last and only entries in the two en I-IJ family.

エントリB、DおよびCのリンクポインタは第2図の場
合と同じである。
The link pointers for entries B, D and C are the same as in FIG.

以上、ポインタが異なるエントリにリンクする仕方を示
したが、3つのエントリのHおよびTポインタだけが「
ヒツト」状態または新しいエントリ状態に応じて変更さ
れなければならないことが明らかであろう。
Above we have shown how pointers link to different entries, but only the H and T pointers of the three entries are
It will be clear that it must be changed depending on the 'human' status or the new entry status.

リンクポインタに関しては、2つのエントリのリンクポ
インタのみが変更される。
Regarding link pointers, only the link pointers of the two entries are changed.

これらエントリとそのポインタがヒツトまたは新しいプ
ログラムの追加にしたがって更新される特定の仕方は、
第5図の動作フローチャート第6図のブロック回路図を
参照して説明される。
The specific manner in which these entries and their pointers are updated as people or new programs are added is:
The operation will be explained with reference to the operational flowchart of FIG. 5 and the block circuit diagram of FIG. 6.

第5図において、「命令」がマスクに受取られると、ス
タートポイントテーブル(SPT)がブロック10で示
されるようにアドレスされる。
In FIG. 5, when an ``instruction'' is received by the mask, a start point table (SPT) is addressed as shown at block 10.

次にスタートポイントテーブルのアドレスされたロケー
ションのエントリ(記入事項)が取出され、サーチテー
ブル(ST)がブロック12で示されるようにアドレス
される。
The entry for the addressed location in the start point table is then retrieved and the search table (ST) is addressed as indicated by block 12.

「ヒツト」が存在するる否かを決定するために、受取っ
た「命令」は、ブロック14で示されるように、サーチ
テーブル内のアドレスされたエントリのサーチアーギュ
メントと比較される。
To determine whether a ``hit'' exists, the received ``instruction'' is compared to the search argument of the addressed entry in the search table, as shown at block 14.

一致が存在しなければ、次ブロック16に進み、これが
リンクの最後のエントリであるか否かが決定される。
If there is no match, the next block 16 is to determine whether this is the last entry for the link.

答がNo(否定)であれば、ブロック18に進み、アド
レスされたエントリのリンクポインタの決定が行われ、
したがってサーチテーブルがこのリンクポインタでアド
レスされる。
If the answer is No, proceeding to block 18, a determination of the link pointer of the addressed entry is made;
The search table is therefore addressed with this link pointer.

この処理動作はブロック14に対する答が「一致」を示
すまで繰返される。
This processing operation is repeated until the answer to block 14 indicates a "match."

比較一致が存在すると、ブロック15に進み、ブロック
14においての比較一致に至るのにブロック18から戻
るループ動作が必要であったか否か、すなわち命令とサ
ーチアーギュメントの一致がブロック14における最初
の比較において得られたものか否か、が決定される。
If a compare match exists, block 15 is entered to determine whether a loop operation back from block 18 was necessary to reach the compare match in block 14, i.e., a match between the instruction and the search argument was obtained in the first comparison in block 14. It is determined whether the

最初の比較において得られたものであれば、ブロック1
5から直ちにブロック20に進む。
Block 1 if obtained in the first comparison
5 immediately proceeds to block 20.

そうでなければブロック17に進み、リンクポインタが
再リンクされ、その後ブロック20に進む。
Otherwise, proceed to block 17, where the link pointers are relinked, and then proceed to block 20.

ブロック20に進むとアドレスされたエントリからPポ
インタが取出され、したがってメモリーがアドレスされ
、それによりアドレスされたメモリー内のプログラムが
実行される。
Proceeding to block 20, the P pointer is retrieved from the addressed entry, thus addressing the memory and thereby executing the program in the addressed memory.

その後、ブロック22および24で示しであるように、
アドレスされたエントリはヘッドポインタにリンクされ
、より最近使用されたエントリとより以前に使用された
エントリと同様にアドレスされたエントリのHおよびT
ポインタが更新され、その後処理動作は退出する。
Thereafter, as shown in blocks 22 and 24,
Addressed entries are linked to the head pointer, with more recently used entries and more recently used entries as well as the H and T of the addressed entry.
The pointer is updated and the processing operation then exits.

ブロック14において比較一致が得られず、リンクポイ
ンタが「O」に等しければ、ブロック16を出てブロッ
ク26に進む。
If no match is found in block 14 and the link pointer is equal to "O", block 16 is exited and block 26 is entered.

実際にはブロック26からブロック34までの処理を行
ってブロック20に退出するが、この間の動作は、一致
が存在せず、したがって、線100に受取った「命令」
に対応しているプログラムしたがってエントリがサーチ
テーブル内に存在していない場合のものである。
In reality, processing is performed from block 26 to block 34 and exits to block 20, but the operation during this time is such that there is no match, and therefore the "command" received on line 100
This is the case when the entry does not exist in the search table.

このため、新しいプログラムを形成しなければならず、
このプログラムに対する新しいエントリがサーチテーブ
ルに置かれる。
For this reason, a new program had to be formed,
A new entry for this program is placed in the search table.

ブロック26において、テールポインタが取出され、そ
の示すエントリをアドレスするのに使用される。
At block 26, the tail pointer is retrieved and used to address the entry it points to.

テールポインタの示しているエントリは新しいエントリ
すなわちプログラムによって置換されるエントリである
The entry pointed to by the tail pointer is the new entry, ie, the entry to be replaced by the program.

しかしながら、このエントリの交換の前に、このエント
リに関連したプログラムがまだ「生き」ているかどうか
が問い合わせられる。
However, before exchanging this entry, it is queried whether the program associated with this entry is still "alive".

上述したように、まだ使用され実行されているプログラ
ムのエントリに対するポインタは変更され得るが、最も
アドレスされなかったエントリ、したがってそれに対応
するプログラムがまだ実行中であることはほとんど考え
られない。
As mentioned above, pointers to entries of programs that are still in use and running may change, but it is highly unlikely that the least addressed entry, and therefore its corresponding program, is still running.

したがって、このエントリしたがってプログラムがまだ
生きていれば、ブロック30に進み、より最近使用され
たエントリがアドレスされる。
Therefore, if this entry and therefore the program is still alive, block 30 is reached and the more recently used entry is addressed.

この動作ループはブロック28に対する答がNo(否定
)になるまで繰返され、テールポインタの指示している
エントリがどれにもリンクしていないときブロック32
に進む。
This loop of operation is repeated until the answer to block 28 is No, and when the entry pointed to by the tail pointer is not linked to any entry, block 32
Proceed to.

その後ブロック34により、新しいエントリがスタート
ポイントテーブルに置かれ、テールポインタが更新され
、新しいエントリがアドレスされる。
Block 34 then places the new entry in the start point table, updates the tail pointer, and addresses the new entry.

新しく形成されたプログラムがメモリーに置かれるとブ
ロック20に進む。
Once the newly formed program is placed in memory, block 20 is entered.

この新しいプログラムはブロック24の動作の後に動作
が退出するまでアドレスされている。
This new program is addressed after the operation of block 24 until the operation exits.

(E−3)装置構成の詳細説明(第6図)以上本発明シ
ステムの動作について述べたが、以下において第6図の
実施例装置を参照して本発明装置の構成について更に詳
しく説明する。
(E-3) Detailed explanation of device configuration (FIG. 6) The operation of the system of the present invention has been described above, and the configuration of the device of the present invention will be explained in more detail below with reference to the embodiment device of FIG. 6.

第6図には本発明の装置の回路ブロック図が示しである
FIG. 6 shows a circuit block diagram of the device of the invention.

「命令」は線100に受取られ、その有意ビットはマス
ク装置102によりスタートポイントテーブル104に
与えられる。
An "instruction" is received on line 100 and its significant bits are provided by mask device 102 to start point table 104.

上述したように線100からの「命令」は例えば32個
のビットの如く複数のビットを含み、有意の6ビツトは
マスク装置102を通過してスタートポイントテーブル
104をアドレスする。
As mentioned above, the "instruction" from line 100 includes a plurality of bits, for example 32 bits, with the six significant bits passing through mask device 102 to address starting point table 104.

スタートポイントテーブル104内のロケーションの数
はマスク装置102を通過できるビットの数の「べき乗
」に対応している。
The number of locations in start point table 104 corresponds to a "power" of the number of bits that can pass through mask device 102.

このため、この例では、マスク装置102の出力に得ら
れる6ビツトによりテーブル104内の64個までのロ
ケーションをアドレスできる。
Thus, in this example, the 6 bits available at the output of mask device 102 can address up to 64 locations in table 104.

テーブル106は複数のエントリ「O」乃至rNJを含
む。
Table 106 includes multiple entries "O" through rNJ.

テーブル106内のエンl−IJの数は典型的にはテー
ブル104内のロケーションの数より多い。
The number of entries in table 106 is typically greater than the number of locations in table 104.

このためテーブル106は64個を起えるエントリを含
み、その内の1つのエントリが代表的にロケーションr
N−XJとして示しである。
Therefore, table 106 includes 64 entries, one of which is typically located at location r.
It is shown as N-XJ.

各エントリはメモリー108に含まれているメモリー区
分(セグメント)の開始アドレスを指示しており、各メ
モリーセグメントは上述したプログラムの如きプログラ
ムを含み得る。
Each entry points to the starting address of a memory segment contained in memory 108, and each memory segment may contain a program, such as the programs described above.

この指示はPポインタ111により達成される。This indication is accomplished by P pointer 111.

このポインタはテーブル106の各エントリに含まれて
いる1つのパラメータ即ち情報要素である。
This pointer is one parameter or information element included in each entry in table 106.

上述したように各エントリには、サーチアーギュメント
110、リンクポインタ112、Hポインタ113およ
びTポインタ114も含まれている。
As mentioned above, each entry also includes a search argument 110, a link pointer 112, an H pointer 113, and a T pointer 114.

更に上述したように、本発明の装置は「命令」を受取る
とまず、スタートポイントテーブル104によりサーチ
テーブル106内のエントリのアドレスを決める。
Further, as described above, upon receiving an "instruction", the apparatus of the present invention first determines the address of the entry in the search table 106 using the start point table 104.

最初にアドレスされたテーブル106内エントリが線1
00から受取った「命令」に対応するサーチアーギュメ
ントを有していれば、次に必要な動作は、テーブル10
6内のアドレスされたエントリのHおよびTポインタを
リンク(連結)して、今アドレスされたエントリをキュ
ー(列)の先頭に位置させこのエントリが最も最近アド
レスされ使用されたエントリすなわちプログラムである
ことを示すようにすることである。
The first addressed entry in table 106 is line 1.
If it has a search argument that corresponds to the "command" received from 00, the next necessary action is to
Link the H and T pointers of the addressed entry in 6 to position the now addressed entry at the head of the queue, making it the most recently addressed and used entry, i.e. the program. The goal is to show that

更に、今アドレスされたエントリに続くエントリ、すな
わちより最近使用されたエントリとより以前使用された
エントリ(Hポインタ113とTポインタ114で指示
されているもの)が、各指示しているロケーションに関
して更新される。
Furthermore, the entries following the now addressed entry, i.e. the more recently used entries and the earlier used entries (pointed to by H pointer 113 and T pointer 114), are updated with respect to each pointing location. be done.

更にヘッドポインタ118が今アドレスされたエントリ
を指示するように更新され、必要に応じてテールポイン
タ116が更新される。
Additionally, head pointer 118 is updated to point to the now addressed entry, and tail pointer 116 is updated as necessary.

ヘッドポインタとテールポインタはメモリー108や別
のレジスタに含め得る。
The head and tail pointers may be included in memory 108 or in separate registers.

サーチテーブル106においてアドレスされた最初のエ
ントリが線100から受取った命令に対応していなけれ
ば、同族内の吹下のエンI−IJが、サーチアーギュメ
ント110が線100からの「命令」と一致するまでリ
ンクポインタ112により順にアドレスされる。
If the first entry addressed in search table 106 does not correspond to an instruction received from line 100, then the in-family blowout en I-IJ matches search argument 110 with "instruction" from line 100. up to the link pointer 112.

こうして、最初のヒツトが存在しなければ、すなわちテ
ーブル106内の最初にアドレスされたエントリのサー
チアーギュメントと線100からの「命令」との間に最
初の一致がなければ、同族内の引続くエントリがアドレ
スされる。
Thus, if there is no first hit, i.e., there is no first match between the search argument of the first addressed entry in table 106 and the "instruction" from line 100, subsequent entries in the family is addressed.

なお、線100からの「命令」に一致するエントリがテ
ーブル106内に存在しなければ、テールポインタ11
6で指示されているメモリー108内の最後に使用した
ロケーションに新しいプログラムを形成して置く必要が
ある。
Note that if there is no entry in the table 106 that matches the "instruction" from the line 100, the tail pointer 11
A new program must be created and placed in the last used location in memory 108, indicated by 6.

この場合、テールポインタ116の指示しているエント
リに対応したプログラムが作動中でない(生きていない
)ことが条件である。
In this case, the condition is that the program corresponding to the entry pointed to by the tail pointer 116 is not running (not alive).

他方、リンクポインタ112の指示している引続くエン
トリがテーブル106内に存在すれば、この同族内のリ
ンクポインタが再構成即ち更新されて、最後に一致しア
ドレスされたエントリのアドレスが、その同族の最初の
アドレスを含むように更新されているスタートポイン、
トチ−プル104のロケーションに置かれる。
On the other hand, if a subsequent entry pointed to by link pointer 112 exists in table 106, the link pointers within this cognate are reconfigured or updated so that the address of the last matched and addressed entry is the same as that cognate. the start point, which has been updated to include the first address of
It is placed at location 104.

次に、今アドレスされたエントリのリンクポインタは、
スタートポイントテーブル104内の最初にアドレスさ
れたロケーションに今まで存在していたアドレスを指示
するように変更される。
Then the link pointer of the entry just addressed is
The first addressed location in start point table 104 is changed to point to the address that previously existed.

このようにして、この同族に対する最も最近使用された
エントリすなわち「ヒツト」したエントリのアドレスは
、それがおそらく次に使用されるエントリすなわちプロ
グラムであろうという確率の基に、テーブル104に置
かれる。
In this way, the address of the most recently used or "hit" entry for this family is placed in table 104 with the probability that it will likely be the next used entry or program.

したがって、スタートポイントテーブル104内にこの
ような今アドレスしたエントリに対するアドレスを与え
ることにより、線100からの「命令」によりこのエン
トリ同族をアドレスする次の時点において最初のヒツト
がおそらく得られるであろう。
Therefore, by providing an address for such a just-addressed entry in the start point table 104, a "command" from line 100 will likely yield the first hit at the next point in time when addressing this entry cognate. .

このように本発明の装置は、エミュレートされる処理装
置の「命令」または入出力動作に使用される「命令」の
有意の6ビツトから成るアドレスの使用を意図している
Thus, the device of the present invention contemplates the use of addresses consisting of six significant bits of "instructions" of the emulated processing device or "instructions" used for input/output operations.

有意6ビツトは、「命令」に対応するエントリのサーチ
テーブル内のアドレスを与えるテーブルをアドレスする
The six significant bits address a table that gives the address within the search table of the entry corresponding to "instruction."

エントリは問題としているプログラムを含むであろうメ
モリーセグメントを指示する。
The entry points to the memory segment that will contain the program in question.

更に、メモリー108内のリソース(資源)を割当てる
ために、サーチテーブル106内の各エントリに対する
ポインタは最も最近使用されたエントリすなわち対応す
るプログラムを示すように更新される。
Additionally, to allocate resources in memory 108, the pointer for each entry in search table 106 is updated to point to the most recently used entry, ie, the corresponding program.

それにより、メモリー108のメモリー領域であるリソ
ースはそのメモリーの広さの範囲で最も最近使用された
プログラムにのみ割当てられ得る。
Thereby, the resource, which is the memory area of the memory 108, can be allocated only to the most recently used program within the extent of the memory.

更に、サーチテーブルのエントリに対してのスタートポ
イントテーブル内のポインタは、エンl−IJ同族内の
最も最近ヒツトしたエントリを指示するように更新され
得る。
Additionally, pointers in the start point table for entries in the search table may be updated to point to the most recently hit entry within the enl-IJ family.

詳細には、線100から受取った「命令」の有意ビット
はマスク装置102によりマスクされ、スタートポイン
トテーブル104内のロケーション「2」の如き第6図
に示しであるロケーションをアドレスするのに使用され
、次にこのロケーションの内容で、ORゲート120で
示しであるOR機能とレジスタ141の手段によりサー
チテーブル106内のエントリがアドレスされる。
In particular, the significant bits of the ``command'' received from line 100 are masked by masking device 102 and used to address locations shown in FIG. 6, such as location ``2'' in start point table 104. , and then with the contents of this location an entry in search table 106 is addressed by means of an OR function, indicated by OR gate 120, and register 141.

アドレスされたエントリに対するサーチアーギュメント
110が次に読出され「ヒツト」比較器122の一方の
入力に与えられる。
The search argument 110 for the addressed entry is then read and applied to one input of a "hit" comparator 122.

この比較器の他方の人力には線100から受取った「命
令」が与えられる。
The other power of this comparator is given the "command" received from line 100.

比較器122において「ヒツト」が指示されないと、A
NDゲート123が開き、現在アドレスされているエン
トリのリンクポインタがテーブル106内の別のエント
リをアドレスするために使用される。
If “Hit” is not specified in the comparator 122, A
ND gate 123 opens and the currently addressed entry's link pointer is used to address another entry in table 106.

比較器122においてヒツトが存在すると、レジスタ1
33を介してANDゲート124.126,128およ
び130で示しであるAND機能の夫々が動作し、Pポ
インタ111をレジスタ132へ、Hポインタ113を
レジスタ134へ、Tポインタ114をレジスタ136
へ、リンクポインタ112をレジスタ138へ、夫々通
過させる。
If there is a hit in comparator 122, register 1
AND gates 124, 126, 128, and 130 operate through AND gates 124, 126, 128, and 130, respectively, to transfer P pointer 111 to register 132, H pointer 113 to register 134, and T pointer 114 to register 136.
and link pointer 112 to register 138, respectively.

今レジスタ132内に存在するPポインタは線Kを介し
てメモリー108をアドレスするのに利用される。
The P pointer now in register 132 is used to address memory 108 via line K.

ここで、これが初期(最初の)ヒツトであるか否かを決
定し、それによってスタートポイントテーブル104の
アドレスされたロケーション内のアドレスを更新する必
要をなくするために、スタートポイントテーブル104
内でアドレスされたサーチテーブル106内のエントリ
に対するアドレスがレジスタ142.に置かれ、初期ヒ
ツト比較器144の一方の入力に与えられる。
Now, in order to determine whether this is an initial (first) hit, thereby eliminating the need to update the address in the addressed location of the start point table 104,
The address for the entry in search table 106 addressed in register 142. and is applied to one input of the initial hit comparator 144.

この比較器144への他方の入力は、エントリアドレス
レジスタ141から、比較器122により開いているA
NDゲート146とレジスタ147により与えられる。
The other input to this comparator 144 is from the entry address register 141, the A
Provided by ND gate 146 and register 147.

初期ヒツトが存在すれば、インバータ152を介してA
NDゲート150が閉じ、これにより、特定のエントリ
同族に対する各エントリにおけるリンクポインタ112
を変更するための要件が禁止される。
If there is an initial hit, A
ND gate 150 closes, thereby linking pointer 112 in each entry to a particular entry cognate.
The requirement to change is prohibited.

レジスタ134および136内のポインタを利用する仕
方を述べる前に、リンクポインタを更新する仕方を説明
する。
Before describing how to utilize the pointers in registers 134 and 136, we will explain how to update link pointers.

リンクポインタを更新する動作の基本は次の如くである
The basic operation of updating a link pointer is as follows.

上述したように、初期ヒツトが存在すればリンクポイン
タを更新する必要がないので、以下の説明は初期ヒツト
が存在しなかった場合である。
As mentioned above, if there is an initial hit, there is no need to update the link pointer, so the following explanation is for the case where there is no initial hit.

一般的には2つの状態が起こる。Two situations generally occur.

第1は、ヒツトの起きたエントリが同族内の最後のエン
トリでない場合であり、第2は、ヒツトしたエントリが
同族内の最後のエントリである場合である。
The first is when the hit entry is not the last entry in the family, and the second is when the hit entry is the last entry in the family.

両方の場合において、ヒツトのエントリのリンクポイン
タは、「ヒツト」エントリの位置しているエントリ同族
内の最も最近作用したエントリにリンクするように変更
されなければならない。
In both cases, the link pointer of the human entry must be changed to link to the most recently acted entry within the family of entries in which the "human" entry is located.

したがって、「ヒツト」エントリはスタートポイントテ
ーブル104内にアドレスのあるエントリ即ち最初のエ
ントリにリンクしなければならない。
Therefore, the "Hit" entry must link to the entry whose address is in the start point table 104, ie, the first entry.

更に両方の場合において、スタートポイントテーブルは
、ヒツトのエントリのアドレスが含まれているように更
新されなければならない。
Furthermore, in both cases, the start point table must be updated to include the address of the hit entry.

更に、「ヒツト」エントリが同族内の最後のエントリで
なければ、ヒツトエントリに先行するエントリはヒツト
エントリに続くエントリにリンクされなければならない
Furthermore, unless the ``Hit'' entry is the last entry in the family, the entries preceding the ``Hit'' entry must be linked to the entries following the ``Hit'' entry.

すなわち、ヒツトの前のより最近使用されたエントリは
ヒツトの前のより以前に使用されたエントリにリンクさ
れなければならない。
That is, the more recently used entry before the hit must be linked to the more recently used entry before the hit.

「ヒツト」のエントリが同族内の最後のエントリであれ
ば、ヒツトのエントリに先行するエントリ、すなわち以
前により最近使用されたエントリであったエントリのリ
ンクポインタは二進「0」にされて、それがこの特定エ
ントリ同族内の最後のエントリであることを示すように
されなければならない。
If the ``Hit'' entry is the last entry in the family, the link pointer of the entry that precedes the ``Hit'' entry, i.e., the entry that was previously the more recently used entry, is set to binary ``0'' and must be made to indicate that this particular entry is the last entry in its family.

上記の動作は第6図に示す装置により具体化される。The above operation is embodied by the apparatus shown in FIG.

詳細には、スタートポイントテーブル104を更新する
ために、サーチテーブル106内のアドレスされたエン
トリのアドレスはレジスタ141内にとどまり、比較器
122の示すヒツトによりANDゲート146が開くと
ヒツトアドレスレジスタ147に置かれる。
Specifically, in order to update the start point table 104, the address of the addressed entry in the search table 106 remains in the register 141 and is entered in the hit address register 147 when the AND gate 146 is opened by the hit indicated by the comparator 122. placed.

しかしながらこのヒツトが比較器144により指示され
る最初のものでなければ、ANDゲート160は今レジ
スタ147にあるアドレスをスタートポイントテーブル
104内のアドレスされたロケーションに書込む。
However, if this hit is not the first indicated by comparator 144, AND gate 160 writes the address now in register 147 to the addressed location in start point table 104.

上述したように、これは初期ヒツトがないときの状態で
あり、このような状態はヒツトのあったエントリがエン
トリ同族の最後のエントリであってもなくても一般的に
両方の状態において起こる。
As mentioned above, this is the situation when there is no initial hit, and this situation generally occurs in both situations, whether or not the hit entry is the last entry in the entry family.

テーブル106内の今ヒツトしたエントリがまたレジス
タ141によりアドレスされており、スタートポイント
テーブル104におけるアドレスされたロケーションの
(ヒツトの前の)元のアドレスが今レジスタ142に存
在し、更に、今ヒツトしたエントリをレジスタ142内
のアドレスにより示されているエントリにリンクさせる
ために、レジスタ142の内容すなわちアドレスは、A
NDゲート168とORゲート200を通過して、現在
アドレスされているエントリであってこの例では今ヒツ
トしたエントリに対するリンクポインタロケーションに
書込まれる。
The just-hit entry in table 106 is also addressed by register 141, the original address (before the hit) of the addressed location in start point table 104 is now in register 142, and To link an entry to the entry indicated by the address in register 142, the contents of register 142, or address, are
Passing through ND gate 168 and OR gate 200, the link pointer location for the currently addressed entry, which in this example was just hit, is written.

ANDゲート168は、ヒツト比較器122の示すヒツ
ト状態と比較器144の示す初期ヒツトの不存在とによ
り開く。
AND gate 168 opens due to the hit condition indicated by hit comparator 122 and the absence of an initial hit indicated by comparator 144.

こうして、今ヒツトしかつ前述のようにスタートポイン
トテーブル104のアドレスされたロケーションにアド
レスを有するエントリは、そのリンクポインタにより、
ヒツトの前はスタートポイントテーブル104にアドレ
スを有していたエントリにこの時点でリンクされる。
Thus, an entry that has just been hit and has an address at the addressed location of start point table 104 as described above will, by virtue of its link pointer,
The previous hit is now linked to the entry whose address was in the start point table 104.

このようにスタートポイントテーブルを更新しかつ今ヒ
ツトしたエントリのリンクポインタを更新したので、次
に、今ヒツトしたエントリがエントリ同族内の最後のエ
ントリであるか否かを決定することが必要である。
Having thus updated the start point table and updated the link pointer of the just-hit entry, we now need to determine whether the just-hit entry is the last entry in the family of entries. .

比較器122がヒツト信号を発生すると、今レジスタ1
38に存在するヒツトエントリのリンクポインタは「リ
ンク終端」比較器202により二進「0」ビット154
と比較される。
When comparator 122 generates a hit signal, register 1 is now
The link pointer of the hit entry present at 38 is set to binary ``0'' bit 154 by the
compared to

更に、テーブル106内のアドレスされたエントリに結
合した線162にあるリンクポインタも「リンク終端」
比較器156により「0」ビット154と比較される。
Additionally, the link pointer at line 162 that joins the addressed entry in table 106 is also a "link end".
It is compared with the "0" bit 154 by comparator 156.

比較器156はそれが現在アドレスされているテーブル
106内のエンl−IJに対するリンク終端であるか否
かを示すのに対し、比較器202はヒツトしたエントリ
がリンクの終端であるか否かのみを示す。
Comparator 156 indicates whether it is the end of a link for the currently addressed entry l-IJ in table 106, whereas comparator 202 only indicates whether the hit entry is the end of a link. shows.

比較器156がアドレスされたエントリがリンクの終端
であることを示し、かつヒツトが存在しなければ、AN
Dゲート157が開き、フラグ(指標)159がセット
され、新しいプログラムを作らなければならないことを
示す。
If comparator 156 indicates that the addressed entry is the end of the link and there is no hit, AN
D-gate 157 opens and flag 159 is set to indicate that a new program must be created.

比較器202が(NO)表示を与えれば、に山ゲート2
06が開き、逆に、リンク比較器202が(YES)な
る出力を与えれば、ANDゲート204が開く。
If the comparator 202 gives a (NO) indication, the gate 2
06 is opened, and conversely, if the link comparator 202 provides an output of (YES), the AND gate 204 is opened.

しかしながら、テーブル106内の要求されたエントリ
がアドレスされるまでは、ANDゲート204も206
も完全には開かない。
However, until the requested entry in table 106 is addressed, AND gate 204 also
It doesn't open completely either.

この条件の必要な理由は、このエントリが今ヒツトした
エントリに先行しており、ヒツトエントリが同族内の最
後のエントリでなかったときヒツトエントリに後続する
エントリにリンクするために、あるいはヒツトエントリ
が同族内の最後のエントリであったときすべて二進「O
」を書込むために、リンクポインタを更新しなければな
らないからである。
The reason this condition is necessary is that this entry precedes the entry just hit and the hit entry was not the last entry in the family, or to link to the entry that follows the hit entry. All binary 'O' when the last entry in the family
”, the link pointer must be updated.

次の目的は、今ヒツトしたエントリに先行する即ちより
最近使用されたエントリであるテーブル106内のエン
トリを見出しかつアドレスすることである。
The next objective is to locate and address the entry in table 106 that precedes or is a more recently used entry than the just-hit entry.

したがって、その同族に対し最初にアドレスされたサー
チテーブル106内のエントリのアドレスを含むレジス
タ142の内容がゲート150とORゲート153を通
過し、テーブル106を再びアドレスする。
Therefore, the contents of register 142 containing the address of the entry in search table 106 that was originally addressed for its cognate passes through gate 150 and OR gate 153 to address table 106 again.

それにより、今ヒツトしたエントリの同族における最初
のエントリが、ゲート120およびレジスタ141を介
してテーブル106内でアドレスされる。
The first entry in the family of the entry just hit is thereby addressed in table 106 via gate 120 and register 141.

次は、今アドレスされたエントリのリンクポインタをヒ
ツトしたエントリのアドレスと比較することである。
The next step is to compare the link pointer of the just-addressed entry with the address of the hit entry.

ヒツトの前にスタートポイントテーブルによりアドレス
されたエンドIJに対してはこの比較は必要ではないが
、初期ヒツトが比較器144により表示され得るので、
この動作ルーチンは同族内の引続くエントリに対して必
要である。
This comparison is not necessary for end IJs addressed by the start point table before the hit, but since the initial hit can be indicated by comparator 144,
This action routine is required for subsequent entries within the family.

このようにして、テーブル106内のアドレスされたエ
ントリのリンクポインタはリンク比較器164によりレ
ジスタ147内のアドレスと比較される。
In this manner, the link pointer of the addressed entry in table 106 is compared by link comparator 164 with the address in register 147.

レジスタ147内のアドレスは、初期ヒツト比較器14
4がrNOJなる出力を与えたときANDゲート210
が開くことによって比較器164の一方の入力に与えら
れる。
The address in register 147 is the initial hit comparator 14
4 gives an output of rNOJ, the AND gate 210
is applied to one input of comparator 164 by opening.

この場合、すなわち同族内の最初のエントリがアドレス
される場合の初期動作ループにおいては、比較器164
はrNOjなる答を与え、それによりインバータ212
を介してゲート150は閉じる。
In this case, i.e. in the initial operating loop when the first entry in the family is addressed, the comparator 164
gives the answer rNOj, so that the inverter 212
Gate 150 is closed via.

またリンり比較器164からのrNOJ出力によりAN
Dゲート214が開き、比較器164の一方の入力に受
取られるリンクポインタはORゲート153を介して再
びサーチテーブル106をアドレスする。
Also, the rNOJ output from the linkage comparator 164
D-gate 214 opens and the link pointer received at one input of comparator 164 again addresses search table 106 via OR gate 153.

この処理動作は、リンク比較器164がrYEsjなる
出力を発生してANDゲート204を部分的に開くよう
になるまで続けられる。
This process continues until link comparator 164 generates an output rYEsj to partially open AND gate 204.

リンク比較器164から1−YESj出力が与えられる
と、これは、今回のヒツトの前にヒツトした先行するエ
ントリすなわちより最近使用されたエントリが現在サー
チテーブル106内においてアドレスされていることを
表わしている。
A 1-YESj output from link comparator 164 indicates that a previous or more recently used entry hit before the current hit is currently being addressed in search table 106. There is.

したがってここで行うことは、以前にヒツトしたエント
リに今まで存在していたリンクポインタを今アドレスさ
れているエントリに置くか、この今アドレスされている
特定エントリに対するリンクポインタのロケーションに
すべて二進「01ビツトを置くか、である。
So what we do here is either put the link pointer that was ever present in the previously hit entry into the entry that is now being addressed, or place all the binary " 01 bit.

これがリンクの終端であれば、両比較器156と202
は「YES」表示を与え、ANDゲート300が開き、
「0」ビット154がANDゲート204とORゲート
200を通過して、サーチテーブル106内のアドレス
されたエントリのリンクポインタロケーションに書込ま
れる。
If this is the end of the link, both comparators 156 and 202
gives a "YES" indication, AND gate 300 opens,
A "0" bit 154 is passed through AND gate 204 and OR gate 200 and written to the link pointer location of the addressed entry in search table 106.

これがリンクの終端でなければ、ヒツトしたエントリ内
に今まで存在していて今はレジスタ138にあるリンク
ポインタはANDゲート206が開いてORゲート20
0を通過し、各リンクポインタロケーションに書込まれ
る。
If this is not the end of the link, the link pointer that previously existed in the hit entry and is now in register 138 will be removed by AND gate 206 opened and OR gate 20
0 and is written to each link pointer location.

このようにして、初期ヒツトが存在しないときはリンク
ポインタが更新される。
In this way, the link pointer is updated when the initial hit does not exist.

リンクポインタは、ヒツトしたエントリに関しても、更
に、ヒツトの前により最近使用されたエントリに関して
も更新される。
The link pointer is updated both for the hit entry and also for more recently used entries before the hit.

更に、今ヒツトしたエントリを指示するためにスタート
ポイントテーブルも更新されている。
Additionally, the start point table has also been updated to point to the entry just hit.

このように、リンクポインタとスタートポイントテーブ
ルが更新されるとHポインタおよびTポインタはテール
ポインタ116およびヘッドポインタ118と共に同時
に更新されなければならない。
Thus, when the link pointer and start point tables are updated, the H pointer and T pointer must be updated simultaneously, along with tail pointer 116 and head pointer 118.

第2図、第3図および第4図に関して示したように、今
ヒツトしたエントリと最近使用したかどうかに関してヒ
ツトしたエントリの両側にあるエントリのみのHポイン
タとTポインタが更新され得る。
As shown with respect to FIGS. 2, 3, and 4, the H and T pointers of only the just-hit entry and the entries on either side of the hit entry with respect to recent use may be updated.

更に、テールポインタ116とヘッドポインタ118も
更新されなければならないであろう。
Additionally, tail pointer 116 and head pointer 118 would also have to be updated.

したがって次には、ヒツトしたエントリと使用時間に関
して隣接したエントリのアドレスが対応してアドレスさ
れなければならない。
Therefore, the addresses of entries that are adjacent in terms of usage time to the hit entry must then be addressed correspondingly.

このためにレジスタ147,134および136が利用
される。
Registers 147, 134 and 136 are used for this purpose.

レジスタ147はヒツトエントリのアドレスを有し、そ
のリンクポインタが更新されるときそのHおよびTポイ
ンタを更新する。
Register 147 contains the address of the hit entry and updates its H and T pointers when its link pointer is updated.

レジスタ134および136は、夫々より最近使用され
たエントリとより以前に使用されたエントリのアドレス
を含み、それらの各HおよびTポインタを更新するため
にそれらのエントリをアドレスするのに利用される。
Registers 134 and 136 contain the addresses of more recently used entries and earlier used entries, respectively, and are utilized to address those entries to update their respective H and T pointers.

このため、比較器122により「ヒツト」が示されると
、ヘッドポインタ118はレジスタ147の示している
ヒツトエントリのアドレスにより直ちに更新される。
Therefore, when the comparator 122 indicates a "hit", the head pointer 118 is immediately updated with the address of the hit entry indicated by the register 147.

レジスタ147内のアドレスは開いたANDゲート30
2を介してヘッドポインタ118へ通過する。
The address in register 147 is an open AND gate 30.
2 to the head pointer 118.

第2図および第3図に関して述べた例を参照して、ヒツ
トしたエントリがエントリDとすれば、そのHポインタ
はエントリEの代りに最近使用されたエントリの欠除を
指示し、TポインタはエントリCの代りにエントリEを
指示する。
Referring to the example described with respect to Figures 2 and 3, if the hit entry is entry D, its H pointer points to deletion of the recently used entry in place of entry E, and its T pointer points to deletion of the recently used entry in place of entry E. Indicate entry E instead of entry C.

したがってこの例では、ヒツトエントリに対してHポイ
ンタ113の示すより最近使用されたエントリは、ヒツ
トエントリに対するTポインタ114内に置かれる。
Thus, in this example, the more recently used entry indicated by the H pointer 113 for the hit entry is placed in the T pointer 114 for the hit entry.

この処理は、レジスタ134の内容を、開いたANDゲ
ート306を介して送り、今ヒツトしたエントリのTポ
インタロケーションに書込むことにより達成される。
This processing is accomplished by sending the contents of register 134 through open AND gate 306 and writing it to the T pointer location of the just-hit entry.

他方、線148上のアドレスとレジスタ147内のアド
レスとの比較器310における一致に基いて、今ヒツト
したエントリのHポインタ113には二進rlJ308
が書込まれる。
On the other hand, based on the match in comparator 310 between the address on line 148 and the address in register 147, the H pointer 113 of the entry just hit has a binary rlJ 308
is written.

比較器122からの「ヒツト」表示と共に比較器310
からのrYEsJ表示によりANDゲート312が開き
、二進「1」がORゲート314を通過し、二進「1」
が今ヒツトしたエントリのHポインタロケーションに書
込まれる。
Comparator 310 with “hit” indication from comparator 122
The rYEsJ indication from opens the AND gate 312, and the binary "1" passes through the OR gate 314, resulting in a binary "1".
is written to the H pointer location of the entry just hit.

今ヒツトしたエントリのポインタを更新する動作の後、
最近使用したことに関して今ヒツトしたエントリに先行
しあるいは後続するエントリのポインタも更新されなけ
ればならない。
After updating the pointer of the entry just hit,
Pointers to entries that precede or follow the just-hit entry for recent use must also be updated.

ヒットエントリに関してより最近使用されたエントリの
ポインタを更新しなければならないと仮定すれば、第2
図および第3図を参照して、この場合エンI−IJEの
HポインタとTポインタが更新される。
Assuming that we have to update the pointer of the more recently used entry with respect to the hit entry, the second
Referring to FIG. 3 and FIG. 3, in this case, the H pointer and T pointer of the encoder I-IJE are updated.

したがって、ヒツトの前にはより最近使用したエントリ
の欠除とエントリDを夫々参照していたHおよびTポイ
ンタは、エントリDとエントリCを夫々指示する。
Thus, the H and T pointers, which previously referred to the more recently used entry deletion and entry D, respectively, now point to entry D and entry C, respectively.

それにより、エントリEはレジスタ134の内容により
アドレスされる。
Entry E is thereby addressed by the contents of register 134.

この動作は、図示しない普通のタイミング手段により、
ORゲート120の受取る別のアドレスの場合と同様の
タイミング順序動作に基いて起こる。
This operation is performed by conventional timing means (not shown).
This occurs based on a similar timing sequence operation as for another address received by OR gate 120.

エントリEがアドレスされているとき、レジスタ136
の内容すなわちこの例ではエントリCのアドレスは、時
間順序動作に基いてORゲート320を介して、エント
リEのTポインタロケーションに書込まれる。
When entry E is being addressed, register 136
The contents of , the address of entry C in this example, are written to the T pointer location of entry E via OR gate 320 based on a time-ordered operation.

エントリEのHポインタ領域すなわちロケーションは、
レジスタ147内のアドレスによりエントリDのアドレ
スでもって更新される。
The H pointer area or location of entry E is
The address in register 147 is updated with the address of entry D.

すなわちORゲート314を介してのタイミング順序に
したがってヒツトエントリのすなわちエントリDのアド
レステモって更新される。
That is, the address of the hit entry, entry D, is updated in accordance with the timing order via the OR gate 314.

このように、ヒツトの前のようにより最近使用されたエ
ントリのHポインタおよびTポインタを更新したので、
ここでエントリCのHポインタおよびTポインタロケー
ションを更新しなければならない。
In this way, we have updated the H and T pointers of the more recently used entries, such as before the hit.
The H pointer and T pointer locations of entry C must now be updated.

ORゲート120の他方の入力とレジスタ141を用い
て、レジスタ134の内容に対する動作の場合のように
、エントリCはタイミングを取ってORゲート322を
介してレジスタ136の内容によりアドレスされる。
Using the other input of OR gate 120 and register 141, entry C is timed and addressed by the contents of register 136 via OR gate 322, as in the case of an operation on the contents of register 134.

エントリCに対するTポインタはヒツトの後も変わらな
いので、更新する必要はない。
Since the T pointer for entry C does not change after the hit, there is no need to update it.

しかしながら、エントリDを指示する代りにヒツトの後
エントリEを指示するように、エントリCのHポインタ
は更新されなければならない。
However, instead of pointing to entry D, the H pointer of entry C must be updated so that it points to entry E after the hit.

したがって、エントリEのアドレスを有するレジスタ1
34の内容は、ORゲ゛−1−314を介して別の入力
により、タイミングを取ってエントリCに対するHポイ
ンタロケーションに書込まれる。
Therefore, register 1 with the address of entry E
The contents of 34 are timed and written to the H pointer location for entry C by another input via OR gate 1-314.

ヒツトで影響されたサーチテーブル106内の3つのエ
ントリに対するHポインタおよびTポインタを更新した
ので、テールポインタ116が更新される仕方を次に説
明する。
Having updated the H and T pointers for the three entries in search table 106 that were affected by hits, we now describe how tail pointer 116 is updated.

テールポインタ116は、サーチテーブル106内の同
族を除く他のすべてのエントリの内の最も使用されなか
ったエントリのアドレスを含むように、すなわちそのエ
ントリを指示するように更新される。
The tail pointer 116 is updated to contain the address of, or point to, the least used entry of all other entries in the search table 106 except for cognates.

テールポインタ116の更新される例としては、最も使
用されなかったエントリが実際に使用されたときが最も
一般的である。
The most common example of the tail pointer 116 being updated is when the least used entry is actually used.

この場合には、次に最も使用されなかったエントリがテ
ールポインタ116を指示するように更新される。
In this case, the next least used entry is updated to point to tail pointer 116.

最も使用されなかったエントリはそのTポインタロケー
ション114に二進「1」信号を含む。
The least used entry contains a binary "1" signal in its T pointer location 114.

そのようなエントリがヒツトすれば、そのことはテール
ポインタ116を更新しなければならないことを示して
いる。
If such an entry is hit, it indicates that tail pointer 116 must be updated.

したがって、比較器328において二進rIJ326が
Tポインタロケーションのコードと一致すれば、今アド
レスされているエントリがヒツトしたエントリでもある
とき、ANDゲート330が完全に開く。
Therefore, if binary rIJ 326 matches the code of the T pointer location in comparator 328, AND gate 330 is fully open when the currently addressed entry is also the hit entry.

ANDゲート330が開くとANDゲ゛−ト332も開
き、レジスタ134内のアドレスがテールポインタ11
6に書込まれるように通過される。
When AND gate 330 opens, AND gate 332 also opens, and the address in register 134 becomes tail pointer 11.
6 is passed to be written.

その理由は、ヒツトしたエントリであってヒツトの前に
最も使用されなかったエントリであったものは、ヒツト
に依りレジスタ134内に記憶されたHポインタアドレ
スを有するからであり、レジスタ134内のアドレスが
テーブル106内の次に最も使用されなかったエントリ
°を指示しているからである。
The reason is that the hit entry that was the least used entry before the hit has the H pointer address stored in register 134 by the hit, and the indicates the next least used entry in table 106.

したがって、テールポインタ116は更新され、各種ポ
インタおよびスタートポイントテーブルを更新する全処
理動作が完了する。
Accordingly, the tail pointer 116 is updated and the entire processing operation of updating the various pointers and start point table is completed.

(′8本発明の詳細 な説明したような構成を用いることによって、本発明装
置は、必要とされるプログラムが主メモリ内にあるか、
他の記憶媒体から取り出さねばならないかの決定を非常
に高速に行うことができ、更に、最も最近用いたプログ
ラムのエントリやキューを用いて必要なプログラムが主
メモリ内にある確率を増大させることができる。
('8) By using the configuration as described in the detailed description of the present invention, the device of the present invention can determine whether the required program is in the main memory or not.
The decision whether to retrieve it from another storage medium can be made very quickly, and the most recently used program entry or queue can be used to increase the probability that the required program is in main memory. can.

従って本発明装置は、限定された容量の主メモリを用い
て複数のプログラムを高速に動作させることを可能とし
、これによって例えば、他の旧型のシステムの命令を高
速にエミュレートすることを可能とする。
Therefore, the device of the present invention makes it possible to run multiple programs at high speed using a limited amount of main memory, thereby making it possible, for example, to emulate instructions of other older systems at high speed. do.

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

第1図は本発明の装置の一般的ブロック図、第2図は本
発明のサーチテーブル内のエントリ群の初期状態を示す
図、第3図は1つのエンl−IJの対応するプログラム
がアドレスされた後のサーチテーブル内エントリ群のポ
インタのリンク状態を示す図、第4図は新しいエントリ
がサーチテーブルに挿入された後の各種ポインタの状態
を示す図、第5図は本発明の動作を示すフローチャート
、第6A図および第6B図は本発明の装置の詳細なブロ
ック図である。 100・・・・・・「命令」線、102・・・・・・マ
スク装置、104・・・・・・スタートポイントテーブ
ル、106・・・・・・サーチテーブル、108・・・
・・・メモリー、116・・・・・・テールポインタ、
118・・・・・・ヘッドポインタ。
FIG. 1 is a general block diagram of the apparatus of the present invention, FIG. 2 is a diagram showing the initial state of a group of entries in the search table of the present invention, and FIG. FIG. 4 is a diagram showing the link states of pointers of a group of entries in the search table after a new entry has been inserted into the search table. FIG. 5 is a diagram showing the state of various pointers after a new entry is inserted into the search table. The flowcharts shown in FIGS. 6A and 6B are detailed block diagrams of the apparatus of the present invention. 100... "Command" line, 102... Mask device, 104... Start point table, 106... Search table, 108...
...Memory, 116...Tail pointer,
118...Head pointer.

Claims (1)

【特許請求の範囲】 1 特定された複数の機能の内の1つを実行する複数の
コマンドを各々含む複数のプログラムを記憶する主メモ
リーと、 前記プログラムの数に等しい数の複数のエントリであっ
て、各々前記プログラムの内の1つの前記メモリー内ア
ドレスに対する第1のポインタと、前記プログラムの内
の1つのアドレス付けを可能にしそれによって前記特定
機能の関連した1つの実行を可能にする命令に関連して
いる1つのパラメータとを含む前記エントリを含む第1
テーブルと、 前記命令を受取る手段と、 受取った命令を前記エントリの内の少くとも1つの前記
パラメータと比較する手段と、および、前記命令と一致
する前記パラメータの1つを含むエントリに関連した前
記プログラムの1つをアドレスする手段と、から成るデ
ータ処理装置。 2、特許請求の範囲第1項に記載のデータ処理装置であ
って、更に、 前記プログラムの内の最も最近使用されたものにしたが
って前記エントリの動作状態を示す手段と、 前記比較手段に含まれており前記命令を前記プログラム
の内の最も最近使用されたものに対応するエントリの前
記パラメータと最初に比較する手段と、を具備するデー
タ処理装置。 3 特許請求の範囲第1項に記載のデータ処理装置であ
って、更に、 夫々第2アドレスを含む複数のロケーションから成る第
2テーブルと、 前記命令により前記第2テーブル内のロケーションの1
つをアドレスする手段と、 前記比較手段に含まれており前記命令を前記第2テーブ
ルのアドレスされたロケーション内にある第2アドレス
により示された前記エントリの1つにあるパラメータと
比較する手段と、を具備するデータ処理装置。
[Scope of Claims] 1. A main memory storing a plurality of programs each including a plurality of commands for executing one of the plurality of specified functions; and a plurality of entries, the number of which is equal to the number of the programs. a first pointer to said in-memory address of one of said programs, and an instruction enabling addressing of said one of said programs and thereby enabling execution of an associated one of said particular functions; a first parameter containing said entry containing one associated parameter;
a table; means for receiving the instruction; means for comparing the received instruction with the parameter of at least one of the entries; and means for addressing one of the programs. 2. The data processing device according to claim 1, further comprising: means for indicating the operating state of the entry according to the most recently used one of the programs; and the comparison means includes: and means for initially comparing said instructions with said parameters of an entry corresponding to the most recently used one of said programs. 3. The data processing device according to claim 1, further comprising: a second table consisting of a plurality of locations each including a second address; and one of the locations in the second table according to the instruction.
means included in said comparing means for comparing said instruction with a parameter in one of said entries indicated by a second address in an addressed location of said second table; A data processing device comprising:
JP49101264A 1973-11-08 1974-09-03 Data search Expired JPS5840273B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US41406373A 1973-11-08 1973-11-08

Publications (2)

Publication Number Publication Date
JPS5081034A JPS5081034A (en) 1975-07-01
JPS5840273B2 true JPS5840273B2 (en) 1983-09-05

Family

ID=23639803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP49101264A Expired JPS5840273B2 (en) 1973-11-08 1974-09-03 Data search

Country Status (11)

Country Link
JP (1) JPS5840273B2 (en)
BE (1) BE821998A (en)
CA (1) CA1027248A (en)
CH (1) CH595662A5 (en)
DE (1) DE2451984C2 (en)
ES (1) ES430692A1 (en)
FR (1) FR2251053B1 (en)
GB (1) GB1491692A (en)
IT (1) IT1023160B (en)
NL (1) NL7413691A (en)
SE (1) SE402990B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5696337A (en) * 1979-12-28 1981-08-04 Fujitsu Ltd Resource control system
US20140281398A1 (en) * 2013-03-16 2014-09-18 William C. Rash Instruction emulation processors, methods, and systems

Also Published As

Publication number Publication date
FR2251053B1 (en) 1978-11-24
NL7413691A (en) 1975-05-12
BE821998A (en) 1975-05-09
GB1491692A (en) 1977-11-09
FR2251053A1 (en) 1975-06-06
SE7413818L (en) 1975-05-09
IT1023160B (en) 1978-05-10
AU7493574A (en) 1976-05-06
ES430692A1 (en) 1977-05-01
DE2451984A1 (en) 1975-05-15
DE2451984C2 (en) 1984-07-26
JPS5081034A (en) 1975-07-01
SE402990B (en) 1978-07-24
CH595662A5 (en) 1978-02-15
CA1027248A (en) 1978-02-28

Similar Documents

Publication Publication Date Title
US5406644A (en) Apparatus and method for emulating a computer instruction set using a jump table in the host computer
US5668969A (en) Address selective emulation routine pointer address mapping system
US4794522A (en) Method for detecting modified object code in an emulator
EP0950219B1 (en) Selective emulation interpretation using transformed instructions
US3984817A (en) Data processing system having improved program allocation and search technique
EP0019358B1 (en) Hierarchical data storage system
JPH09231093A (en) Method and system for transfer of program control between two architectures
US4999770A (en) Command controlled multi-storage space protection key pretesting system permitting access regardless of test result if selected key is predetermined value
EP0310600A1 (en) Arrangement for software emulation.
JPH05210593A (en) Memory partitioning device for microprocessor and method of loading segment descriptor to segment-register
US6662298B2 (en) Method and apparatus for manipulation of non-general purpose registers for use during computer boot-up procedures
US11436124B2 (en) Apparatus and method for accessing metadata when debugging a device
US4499535A (en) Digital computer system having descriptors for variable length addressing for a plurality of instruction dialects
US9417805B2 (en) Exporting computational capabilities into a block-oriented disk memory
JPS5840273B2 (en) Data search
JPH0192856A (en) Apparatus and method for protecting main memory unit using access and defect logic signal
JPS6032220B2 (en) information processing equipment
JPH0552539B2 (en)
JPS61148536A (en) Information processing system
JPH0578052B2 (en)
JPS6149704B2 (en)
JPH01108652A (en) Address conversion system
JPS6217835A (en) Control system for address of microprogram
JPS62139039A (en) Unification processor
JPH0926853A (en) File partition extension method and device therefor