Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6337416B2 - - Google Patents
[go: Go Back, main page]

JPS6337416B2 - - Google Patents

Info

Publication number
JPS6337416B2
JPS6337416B2 JP55029984A JP2998480A JPS6337416B2 JP S6337416 B2 JPS6337416 B2 JP S6337416B2 JP 55029984 A JP55029984 A JP 55029984A JP 2998480 A JP2998480 A JP 2998480A JP S6337416 B2 JPS6337416 B2 JP S6337416B2
Authority
JP
Japan
Prior art keywords
segment
address
subsequent
instruction
range
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
JP55029984A
Other languages
Japanese (ja)
Other versions
JPS56127986A (en
Inventor
Yoshinari Nakasaki
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP2998480A priority Critical patent/JPS56127986A/en
Publication of JPS56127986A publication Critical patent/JPS56127986A/en
Publication of JPS6337416B2 publication Critical patent/JPS6337416B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はデータ処理システム特に記憶装置を複
数ブロツクに分割して管理する仮想記憶方式の計
算機に関する。更に詳細には機械語命令列が複数
ブロツクに分割された場合にブロツクの最後尾命
令から後続ブロツクに特別な命令によらず制御を
移す装置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data processing system, and particularly to a computer using a virtual storage system that manages a storage device by dividing it into a plurality of blocks. More specifically, the present invention relates to a device for transferring control from the last instruction of a block to a subsequent block without using a special instruction when a sequence of machine language instructions is divided into a plurality of blocks.

記憶装置をページあるいはセグメントと呼ばれ
るブロツクに分割して管理される計算機が市販さ
れている。以下ではブロツクに分割されている一
例としてセグメント方式について述べる。
There are commercially available computers that manage storage devices by dividing them into blocks called pages or segments. The segment method will be described below as an example of division into blocks.

仮想記憶方式の計算機においては、プログラム
作成者が計算機の容量に制限されることなくプロ
グラムを作成できるという利点がある。一方、こ
の方式では、実行速度を悪化させないために、セ
グメント連想記憶とセグメントベース記憶を備
え、プログラムの局所性を利用して近い過去に参
照されたセグメントの実記憶装置上での位置を保
持することが一般的である。
Virtual memory type computers have the advantage that program creators can create programs without being limited by the computer's capacity. On the other hand, this method uses segment associative memory and segment-based memory to prevent deterioration in execution speed, and uses program locality to maintain the locations of segments referenced in the near past on the real storage device. This is common.

この仮想記憶方式における実記憶装置への参照
に至る過程を簡単に説明する。
The process leading to reference to the real storage device in this virtual storage system will be briefly explained.

プログラムから実記憶装置を参照することは、
常にセグメント名とセグメント内での相対番地に
よつて行なわれる。セグメント名に対応するセグ
メントが実記憶装置上のどこに存在するかについ
ては、プログラム作成時ではなく、プログラムを
実行するときに決定される。このためプログラム
で参照するセグメントの実記憶装置でのアドレス
を示すためにセグメントベース記憶を備える。プ
ログラムはセグメント連想記憶に格納されたセグ
メント名と参照しようとするセグメント名との一
致を調べ、一致したセグメント名に対応するセグ
メントベース記憶によつて実記憶装置上に配置さ
れているセグメントのアドレスを知ることができ
る。
Referencing the real storage device from a program is
This is always done by segment name and relative address within the segment. The location of the segment corresponding to the segment name on the real storage device is determined when the program is executed, not when the program is created. For this reason, segment base storage is provided to indicate the address in the real storage device of the segment referenced by the program. The program checks the match between the segment name stored in segment associative memory and the segment name to be referenced, and finds the address of the segment located on the real storage device by segment base storage corresponding to the matching segment name. You can know.

上記の場合は、あらかじめセグメント連想記憶
にプログラムで参照するセグメントが存在してい
た場合であり、参照するセグメントがセグメント
連想記憶に存在しない場合について説明する。最
初にセグメント連想記憶に存在しないことを示す
信号が仮想記憶制御部に送られる。この信号によ
り仮想記憶制御部は対象となつているセグメント
が格納されている場所を探し、実記憶装置上に配
置する。このときにセグメントが格納されたアド
レスが決定されセグメントベース記憶にこのアド
レスが格納される。同時にセグメントベースが格
納されたセグメント名がセグメント連想記憶に格
納される。以後、今格納されたセグメント名をプ
ログラムで参照する場合には、セグメントベース
記憶中のアドレスにより高速な実記憶装置への参
照が可能になる。
The above case is a case where the segment to be referenced by the program exists in the segment associative memory in advance, and the case where the segment to be referenced does not exist in the segment associative memory will be described. First, a signal indicating that the segment does not exist in the associative memory is sent to the virtual memory controller. In response to this signal, the virtual storage control unit searches for a location where the target segment is stored and places it on the real storage device. At this time, the address where the segment is stored is determined and this address is stored in the segment base storage. At the same time, the segment name in which the segment base is stored is stored in the segment associative memory. Thereafter, when the currently stored segment name is referenced by a program, the address in the segment base storage enables high-speed reference to the real storage device.

従来上記のような仮想記憶方式の計算機では、
セグメントに分割されたときに最後尾となつた非
分岐命令から次に続くセグメントの先頭命令に制
御を移すために最後尾命令に無条件分岐命令を付
加している。この分岐命令を実行することにより
次に続くセグメントの先頭命令に制御が移され
る。
Conventionally, in virtual memory computers like the one mentioned above,
An unconditional branch instruction is added to the last instruction in order to transfer control from the last non-branch instruction to the first instruction of the next segment when divided into segments. By executing this branch instruction, control is transferred to the first instruction of the next succeeding segment.

このような無条件分岐命令はプログラム作成時
には予期できない命令であり、仮想記憶方式では
なく、全命令列を物理アドレス順に記憶装置に格
納する方式では不要である。しかし、仮想記憶方
式においてはこの本来不要な分岐命令を機械語命
令列に付加することは機械語命令列を格納する記
憶装置の利用効率を悪化させ計算機の性能を悪化
させる要因となる。特に分割されたセグメントの
境界にまたがつて繰り返し、命令列が実行される
ループを形成する場合には性能の低下が著しくな
る。これを避けるためにプログラマが記述したソ
ースプログラムを機械語命令に変換するコンパイ
ル時に、ループする命令列の途中でセグメントを
分割しない方式が考えられる。しかし、この方式
を実現するためには高度なコンパイル機能が必要
であり、十分な機能を提供することは困難であ
る。
Such an unconditional branch instruction is an instruction that cannot be predicted at the time of program creation, and is unnecessary in a system that stores all instruction sequences in a storage device in the order of physical addresses instead of a virtual storage system. However, in the virtual memory system, adding this originally unnecessary branch instruction to a machine language instruction sequence deteriorates the utilization efficiency of the storage device that stores the machine language instruction sequence and causes deterioration of the performance of the computer. In particular, when a loop is formed in which a sequence of instructions is executed repeatedly across the boundaries of divided segments, the performance deteriorates significantly. To avoid this, a method may be considered that does not divide a segment in the middle of a looping instruction sequence when compiling a source program written by a programmer into machine language instructions. However, in order to implement this method, advanced compilation functions are required, and it is difficult to provide sufficient functions.

さらにプログラマが予期できない命令を機械語
命令列に挿入することは機械語命令列の解釈を困
難にする要因となる。
Furthermore, inserting an instruction that a programmer cannot predict into a machine language instruction sequence makes it difficult to interpret the machine language instruction sequence.

本発明は仮想記憶方式における上記の問題点を
解決するものであり、複数セグメントに分割され
た命令列においてプログラマに予期しない命令が
機械語命令列中に挿入されないことを目的として
いる。
The present invention solves the above-mentioned problems in the virtual memory system, and aims to prevent unexpected instructions from being inserted into a machine language instruction string divided into a plurality of segments into a machine language instruction string.

さらに、セグメントに分割することにより付加
される分岐命令を省き、機械語命令列を短くする
ことにより記憶装置を有効に利用することを目的
としている。
Furthermore, the purpose is to make effective use of the storage device by omitting branch instructions added by dividing into segments and shortening the machine language instruction string.

またさらに、繰り返し処理を行う命令列の途中
でセグメントに分割された場合でも処理性能を悪
化させないことを目的としている。
Furthermore, it is an object of the present invention to prevent processing performance from deteriorating even when an instruction sequence for repeated processing is divided into segments in the middle.

さらに繰り返し処理される命令の途中でセグメ
ントを分割しないようにするための高度な機能を
コンパイラに備える必要をなくすことを目的とし
ている。
Furthermore, the purpose is to eliminate the need for compilers to have advanced functionality to prevent segments from being split in the middle of repeated instructions.

本発明によれば記憶装置のアドレス空間が複数
セグメントに分割されている計算機において、一
部あるいは全てのセグメント名を記憶しかつセグ
メント名により連想可能なセグメント連想記憶
と、セグメント連想記憶に格納されたセグメント
に対応するセグメントの大きさを記憶する範囲記
憶と、分岐命令以外の命令でセグメントの範囲を
越えて実行することを検出する範囲検出装置と、
前記セグメントの次に続く命令コード用セグメン
トを記憶する後続セグメント記憶と、セグメント
内の最後尾の命令を実行してさらに次に続く命令
を実行する場合のアドレスと前記範囲記憶のセグ
メントの範囲とを前記範囲検出装置でセグメント
範囲外であることが検出されると後続セグメント
記憶の内容により後続セグメントを決定しこの後
続セグメントのアドレスを求め後続セグメント記
憶の処理を開始させる仮想記憶制御部を備える電
子計算機が得られる。
According to the present invention, in a computer in which the address space of a storage device is divided into a plurality of segments, a segment associative memory that stores some or all segment names and can be associated with segment names; a range memory that stores the size of a segment corresponding to a segment; a range detection device that detects execution of an instruction other than a branch instruction beyond the range of the segment;
a subsequent segment memory for storing a segment for an instruction code following the segment, and an address and a range of the segment of the range memory for executing the last instruction in the segment and then executing the next instruction; An electronic computer comprising a virtual memory control unit that determines a subsequent segment based on the contents of the subsequent segment storage, determines the address of the subsequent segment, and starts processing of the subsequent segment storage when the range detection device detects that the segment is outside the range. is obtained.

次に本発明の実施例について図面を参照して説
明する。
Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明を用いた仮想記憶方式の計算機
の一実施例を示すブロツク図である。第1図のブ
ロツク図においては、セグメントの最後尾命令と
して無条件分岐命令を備える必要をなくすための
構成と繰り返し処理対象となる命令列の途中でセ
グメントに分割された場合に高速処理可能にする
ための構成を同時に示している。最初に無条件分
岐命令を不要にする構成について説明し、次に、
繰り返し処理を高速にするために付加する構成要
素について説明する。
FIG. 1 is a block diagram showing an embodiment of a virtual memory type computer using the present invention. The block diagram in Figure 1 has a configuration that eliminates the need to provide an unconditional branch instruction as the last instruction of a segment, and a structure that enables high-speed processing when the instruction string to be repeatedly processed is divided into segments in the middle. At the same time, the configuration for We first describe a configuration that eliminates the need for unconditional branch instructions, and then:
The components added to speed up repetitive processing will be explained.

従来の仮想記憶方式の計算機で利用していた構
成要素としては、以下の要素を本発明においても
備える。記憶装置1には機械語命令列およびデー
タが格納されている。命令アドレスカウンタ2に
は処理中の命令あるいは、次に処理を行う命令の
アドレスが格納される。この命令アドレスは論理
アドレスである。
The present invention also includes the following components that have been used in conventional virtual memory type computers. The storage device 1 stores machine language instruction sequences and data. The instruction address counter 2 stores the address of the instruction being processed or the next instruction to be processed. This instruction address is a logical address.

第2図は命令アドレスカウンタを説明する概念
図であり、図に示すようにセグメント名とセグメ
ント内の相対番地で示される。セグメント連想記
憶3には、記憶装置1に配置された一部あるいは
全てのセグメントのセグメント名が格納されてい
る。このセグメント連想記憶3はセグメント名を
入力としてセグメント連想記憶3内の複数セグメ
ント名との比較を行い、一致を調べる連想機能を
持つ。命令アドレスカウンタ2のセグメント名と
は信号線20を介して連想される。セグメントベ
ース記憶7にはセグメント連想記憶3中のセグメ
ント名に対応してそのセグメントが記憶装置1に
配置されたときのセグメントベースアドレスが格
納されている。このセグメントベースアドレスは
信号線22を介して仮想記憶制御部14により設
定される。記憶装置1のアドレスを求めるために
セグメントベース記憶7の値と命令アドレスカウ
ンタ2の相対番地を加算する加算器13を備え
る。
FIG. 2 is a conceptual diagram illustrating an instruction address counter, and as shown in the figure, it is indicated by a segment name and a relative address within the segment. The segment associative memory 3 stores segment names of some or all of the segments arranged in the storage device 1. This segment associative memory 3 has an associative function that inputs a segment name and compares it with a plurality of segment names in the segment associative memory 3 to check for a match. The segment name of the instruction address counter 2 is associated via the signal line 20. In the segment base memory 7, corresponding to the segment name in the segment associative memory 3, the segment base address at which the segment was placed in the storage device 1 is stored. This segment base address is set by the virtual memory controller 14 via the signal line 22. An adder 13 is provided for adding the value of the segment base memory 7 and the relative address of the instruction address counter 2 to obtain the address of the memory device 1.

これらの記憶装置1、命令アドレスカウンタ
2、セグメント連想記憶3、セグメントベース記
憶7、加算器13は従来の仮想記憶方式の計算機
での機能と同じである。記憶装置1は市販のラン
ダムアクセスメモリ(RAM)で構成され、命令
アドレスカウンタ2は、市販のレジスタと演算器
あるいはカウント機能付きレジスタで実現されて
いる。セグメント連想記憶3は複数語の一致を調
べることができる市販の連想メモリで構成され、
セグメントベース記憶7は市販の高速RAMで構
成される。また加算器13は市販のアリスメテイ
ツクロジツクユニツト(ALU)で構成される。
These storage device 1, instruction address counter 2, segment content addressable memory 3, segment base memory 7, and adder 13 have the same functions as in a conventional virtual memory type computer. The storage device 1 is composed of a commercially available random access memory (RAM), and the instruction address counter 2 is realized by a commercially available register and arithmetic unit or a register with a counting function. The segment associative memory 3 is composed of a commercially available associative memory that can check for matches between multiple words.
Segment-based memory 7 is composed of commercially available high-speed RAM. Further, the adder 13 is constructed from a commercially available Arithmetics Logic Unit (ALU).

本発明においては、セグメントの最後尾命令と
して無条件分岐命令を備える必要はなく、代わり
にプログラムのコンパイル時にセグメントの大き
さと後続セグメントの情報が与えられる。この後
続セグメント情報を格納するために後続セグメン
ト記憶5を備える。後続セグメント記憶5にはセ
グメント連想記憶3のセグメント名で示されるセ
グメントが命令列である場合に、次に続くセグメ
ント名が記憶される。セグメントの大きさに関す
る情報を格納するために範囲記憶4を備える。命
令アドレスカウンタ2の相対番地の内容がセグメ
ントの大きさ以上になることを検出するために相
対番地と、範囲記憶4の値を入力とする範囲検出
装置9を備える。
In the present invention, it is not necessary to provide an unconditional branch instruction as the last instruction of a segment; instead, the size of the segment and information about subsequent segments are given at the time of compiling the program. A subsequent segment storage 5 is provided to store this subsequent segment information. When the segment indicated by the segment name in the segment associative memory 3 is an instruction string, the subsequent segment name is stored in the subsequent segment memory 5. A range store 4 is provided to store information regarding the size of the segments. In order to detect that the content of the relative address of the instruction address counter 2 exceeds the size of the segment, a range detecting device 9 is provided which receives the relative address and the value of the range memory 4 as input.

仮想記憶制御部14では、命令列で参照対象と
なつたセグメントがセグメント連想記憶3に存在
しなかつた場合に従来例においても必要な、記憶
装置1へのセグメント配置、セグメント連想記憶
3及びセグメントベース記憶7への登録の他に次
の処理を行う。
The virtual memory control unit 14 performs segment allocation in the storage device 1, segment associative memory 3, and segment base, which is necessary even in the conventional example when the segment referenced in the instruction sequence does not exist in the segment associative memory 3. In addition to the registration in the memory 7, the following processing is performed.

処理対象セグメントがセグメント連想記憶3に
存在しないことが信号線24の不一致信号によつ
て検出されると従来方式で示したように、セグメ
ント情報を信号線21を介してセグメント連想記
憶3に登録する。同時に、範囲記憶4と後続セグ
メント記憶5への登録を行う。また範囲検出装置
9によりセグメントの範囲外を命令アドレスカウ
ンタ2で指示していることが検出されると、後続
セグメント記憶5の出力を信号線26を介して命
令アドレスカウンタ2のセグメント名に設定す
る。同時に相対番地を0にする。この操作により
無条件命令によりセグメント範囲外を命令アドレ
スカウンタ2で指示する場合には、後続セグメン
トの先頭命令に制御が移ることになる。仮想記憶
制御部14でのこれらの処理により、セグメント
の最後尾に無条件分岐命令を備えることなく、非
分岐命令から後続セグメントに制御を移すことが
できる。
When it is detected by the mismatch signal on the signal line 24 that the segment to be processed does not exist in the segment associative memory 3, the segment information is registered in the segment associative memory 3 via the signal line 21, as shown in the conventional method. . At the same time, registration in the range memory 4 and subsequent segment memory 5 is performed. When the range detection device 9 detects that the instruction address counter 2 is pointing outside the segment range, the output of the subsequent segment memory 5 is set to the segment name of the instruction address counter 2 via the signal line 26. . At the same time, set the relative address to 0. By this operation, if the instruction address counter 2 indicates an area outside the segment range by an unconditional instruction, control is transferred to the first instruction of the subsequent segment. These processes in the virtual memory control unit 14 allow control to be transferred from a non-branch instruction to a subsequent segment without providing an unconditional branch instruction at the end of the segment.

仮想記憶制御部14は、従来の計算機と同様フ
アームウエアあるいはシステムソフトウエアによ
つて実現されている。また範囲記憶4、後続セグ
メント記憶5は高速RAMで実現され、範囲検出
装置9は市販のコンパレータ素子で実現される。
The virtual memory control unit 14 is realized by firmware or system software as in a conventional computer. Further, the range storage 4 and the subsequent segment storage 5 are realized by high-speed RAM, and the range detection device 9 is realized by a commercially available comparator element.

以上の第1図に関する説明においてセグメント
の最後尾命令として無条件分岐命令を備える必要
をなくすための構成を示した。さらに続けて、第
1図により繰り返し処理を高速にするために付加
する構成要素に関する説明を行う。
In the above description regarding FIG. 1, a configuration was shown for eliminating the need to provide an unconditional branch instruction as the last instruction of a segment. Further, referring to FIG. 1, a description will be given of the components added to speed up the repetitive processing.

後続アドレス記憶6には後続セグメントが記憶
装置1に配置されたときのアドレスが格納され
る。したがつてこの値は後続のセグメントに対応
するセグメントベース記憶7の値に一致する。前
記構成と後続アドレス記憶6を付加した構成につ
いて、非分岐命令による後続セグメントへの制御
の移動処理方式を以下に比較する。前記構成にお
いてはセグメントの範囲を越えると、最初に、後
続セグメント記憶5により後続のセグメント名を
求める。その後、後続セグメント名とセグメント
連想記憶3との一致を調べ対応するセグメントベ
ース記憶7と命令アドレスカウンタ2の相対番地
により後続セグメントの実行アドレスを求める。
一方後続アドレス記憶6を備える構成において
は、セグメントの範囲を越えると後続セグメント
名を参照することなく後続アドレス記憶6の内容
を次の命令のアドレスとして実行を続ける。これ
により後続セグメントへの制御の移動を高速に行
う。
The subsequent address memory 6 stores the address at which the subsequent segment is placed in the storage device 1. This value therefore corresponds to the value in the segment base store 7 corresponding to the following segment. The above-mentioned configuration and the configuration in which the subsequent address storage 6 is added will be compared in terms of processing methods for moving control to subsequent segments using non-branch instructions. In the above configuration, when the segment range is exceeded, the subsequent segment name is first obtained from the subsequent segment storage 5. Thereafter, a match between the succeeding segment name and the segment associative memory 3 is checked, and the execution address of the succeeding segment is determined from the relative address of the corresponding segment base memory 7 and instruction address counter 2.
On the other hand, in the configuration provided with the subsequent address memory 6, when the range of the segment is exceeded, execution continues using the contents of the subsequent address memory 6 as the address of the next instruction without referring to the subsequent segment name. This allows control to be transferred to subsequent segments at high speed.

後続アドレス記憶6への登録は、最初にセグメ
ント最後尾命令を実行して次のセグメントに制御
が移つたときに行われる。このとき後続セグメン
トがセグメント連想記憶3内に存在する場合と、
存在しない場合とがある。
Registration in the subsequent address memory 6 is performed when the last segment instruction is first executed and control is transferred to the next segment. At this time, if the subsequent segment exists in the segment associative memory 3,
Sometimes it doesn't exist.

セグメント連想記憶3内に存在しない場合に
は、従来方式と同様仮想記憶制御部14によつて
記憶装置1に後続セグメントが配置され、セグメ
ントベースアドレスを決定する。このアドレス信
号線22を介してセグメントベース記憶7に登録
すると同時に、後続アドレス記憶6に登録する。
If the segment does not exist in the segment content addressable memory 3, the subsequent segment is placed in the storage device 1 by the virtual storage control unit 14, as in the conventional method, and the segment base address is determined. It is registered in the segment base memory 7 via this address signal line 22 and simultaneously registered in the subsequent address memory 6.

セグメント連想記憶3内に存在する場合には対
応するセグメントベース記憶7の値を信号線25
を介して後続アドレス記憶6に登録する。
If the segment exists in the segment associative memory 3, the value of the corresponding segment base memory 7 is sent to the signal line 25.
The address is registered in the subsequent address storage 6 via the .

後続アドレス記憶6に登録するいずれの場合に
おいても、後続セグメントをセグメント連想記憶
3で調べる以前の先行セグメントに対応する位置
に登録する必要がある。この先行セグメントのセ
グメント連想記憶3内の位置を保持し、先行セグ
メントに対応する後続アドレス記憶6の位置に後
続のセグメントベースアドレスを登録するために
先行セグメントアドレスレジスタ12を備える。
In either case of registration in the subsequent address memory 6, it is necessary to register the subsequent segment at a position corresponding to the preceding segment before being looked up in the segment associative memory 3. A preceding segment address register 12 is provided to hold the position of this preceding segment in the segment associative memory 3 and to register a subsequent segment base address in the position of the succeeding address memory 6 corresponding to the preceding segment.

さらにセグメントの最後尾の非無条件分岐命令
による最初の後続セグメントへの制御の移動と2
回目以降の制御の移動を区別し、2回目以降にお
いては後続アドレス記憶6が利用可能であること
を示す後続アドレスフラグ8を備える。これらの
フラグはセグメント連想記憶3の各セグメント名
に対応して備えられ、“0”のときには、後続ア
ドレス記憶6の対応する内容が利用できないこと
を示し、“1”のときには、利用できることを示
す。
Furthermore, control is transferred to the first subsequent segment by an unconditional branch instruction at the end of the segment, and 2.
A subsequent address flag 8 is provided to distinguish the control movement from the second time onward and to indicate that the subsequent address storage 6 can be used from the second time onward. These flags are provided corresponding to each segment name in the segment associative memory 3, and when it is "0", it indicates that the corresponding content in the subsequent address memory 6 is not available, and when it is "1", it indicates that it is available. .

後続アドレス記憶6は市販の高速RAMで実現
され先行セグメントアドレスレジスタには市販の
レジスタ素子で実現される。また、後続アドレス
フラグ8は市販のフリツプフロツプによつて実現
される。
The subsequent address storage 6 is realized by a commercially available high-speed RAM, and the preceding segment address register is realized by a commercially available register element. Further, the subsequent address flag 8 is realized by a commercially available flip-flop.

後続アドレスフラグ8を利用する場合には、フ
ラグのクリアが問題になる。後続アドレスフラグ
8のフラグが“1”のときに、仮想記憶制御部1
4により後続セグメントの記憶装置1内での配置
が変えられると、セグメントベースアドレスが変
化し後続アドレス記憶6の対応する値は無効にな
るのでフラグは“0”にされる必要がある。
When using the subsequent address flag 8, clearing the flag becomes a problem. When the flag of the subsequent address flag 8 is “1”, the virtual memory control unit 1
When the location of the subsequent segment in the storage device 1 is changed by 4, the segment base address changes and the corresponding value in the subsequent address storage 6 becomes invalid, so the flag needs to be set to "0".

本実施例においては、仮想記憶制御部14によ
りセグメント連想記憶3に登録されている任意の
セグメントの記憶装置1内での配置を変化させら
れると、後続アドレスフラグ8の全てがクリアさ
れる。
In this embodiment, when the virtual memory control unit 14 changes the arrangement of any segment registered in the segment content addressable memory 3 in the storage device 1, all subsequent address flags 8 are cleared.

次にセグメントの最後尾の非無条件分岐命令か
ら後続セグメントの先頭命令に制御が移る処理に
ついて一例を示す。この例においては繰り返し処
理対象となる命令列を高速に処理する場合を含め
て説明する。
Next, an example of a process in which control is transferred from a non-conditional branch instruction at the end of a segment to the first instruction of a subsequent segment will be described. In this example, a case will be described including a case where a sequence of instructions to be repeatedly processed is processed at high speed.

第3図は記憶装置1の中にセグメントが配置さ
れた結果を示す概念図である。セグメントXはA
番地から格納され、そのセグメントサイズは4000
バイトである。番地はバイト単位で計数する。セ
グメントYはB番地から格納され、そのセグメン
トサイズは3000バイトである。セグメントX,
Y,Zには命令列が格納されており、セグメント
Xの次にはセグメントYが続き、セグメントYの
次にはセグメントZが続いている。つまりセグメ
ントXの最後尾の命令が分岐命令でなければ次に
続く命令はセグメントYの先頭命令である。
FIG. 3 is a conceptual diagram showing the result of arranging segments in the storage device 1. Segment X is A
The segment size is 4000.
It's a part-time job. Addresses are counted in bytes. Segment Y is stored starting from address B, and its segment size is 3000 bytes. Segment X,
Instruction sequences are stored in Y and Z, with segment X followed by segment Y, and segment Y followed by segment Z. That is, unless the last instruction of segment X is a branch instruction, the next instruction is the first instruction of segment Y.

第4図、第5図はセグメントXの中の命令を実
行しているときの後続アドレスフラグ8、セグメ
ント連想記憶3、範囲記憶4、後続セグメント記
憶5、後続アドレス記憶6とセグメントベース記
憶7の状態を示す概略図である。第4図におい
て、セグメント連想記憶3の1番地にセグメント
名Xが格納されている。範囲記憶4の1番地には
セグメントXのセグメントサイズである4000が格
納されている。次に後続セグメント記憶5の1番
地にはセグメントXに続くセグメントYが配置さ
れている。さらにセグメントベース記憶7の1番
地にはセグメントXの開始番地であるA番地が格
納されている。後続アドレス記憶6の1番地の内
容は不定であり有効ではないとする。したがつて
後続アドレスフラグ8の1番地は0になつてい
る。実行対象がセグメントXの最後尾命令とな
り、この最後尾命令は分岐命令ではない命令であ
る場合を以下に示す。この最後尾命令の実行を終
了すると命令アドレスカウンタ2が歩進させられ
る。この歩進結果を範囲検出装置9で範囲記憶4
の出力と比較すると命令アドレスカウンタ2がセ
グメントXの範囲外であることが検出される。つ
まり命令アドレスカウンタ2の相対番地は歩進さ
れた結果セグメントXの最後尾バイトの相対アド
レス3999に1が加えられ4000となる。一方命令ア
ドレスカウンタ2のセグメント名には現在実行し
ているセグメント名が格納されているのでセグメ
ントXとなつている。このセグメントXと信号線
20を介してセグメント連想記憶3の内容との連
想を行うと、1番地のXにより一致する。この1
番地のXにより範囲記憶4の内容を参照するとセ
グメントXのセグメントサイズ4000が得られる。
範囲検出装置9では、 範囲記憶4の出力命令アドレスカウンタ2の
相対アドレス のときにセグメント範囲外であることを検出す
る。したがつてセグメント最後尾命令の次の命令
番地が歩進により命令アドレスカウンタ2に格納
されると範囲検出装置9では、 40004000 となることから範囲外であることが検出される。
この信号を信号線により仮想記憶制御部14に出
力する。このときに先行セグメントアドレスレジ
スタ12には現在セグメント連想記憶3内での一
致が認められる番地の値“1”が格納される。仮
想記憶制御部14では後続アドレスフラグ8の1
番地を調べる。現在は1番地の内容が“0”であ
ることから後続アドレス記憶6には、有効な後続
セグメントアドレスが格納されていない。この場
合には後続セグメント記憶5の内容によつて次に
制御が移るセグメント名が指示される。
4 and 5 show the following address flag 8, segment associative memory 3, range memory 4, succeeding segment memory 5, succeeding address memory 6 and segment base memory 7 when executing an instruction in segment X. It is a schematic diagram showing a state. In FIG. 4, a segment name X is stored at address 1 of the segment associative memory 3. At address 1 of range memory 4, 4000, which is the segment size of segment X, is stored. Next, a segment Y following segment X is placed at address 1 in the subsequent segment memory 5. Furthermore, address A, which is the starting address of segment X, is stored at address 1 of the segment base memory 7. It is assumed that the contents of address 1 of the subsequent address memory 6 are indefinite and not valid. Therefore, address 1 of the subsequent address flag 8 is set to 0. The case where the execution target is the last instruction of segment X, and this last instruction is not a branch instruction, will be described below. When the execution of this last instruction is completed, the instruction address counter 2 is incremented. This step result is stored in the range storage 4 by the range detection device 9.
When compared with the output of , it is detected that the instruction address counter 2 is outside the range of segment X. In other words, the relative address of the instruction address counter 2 becomes 4000 by adding 1 to the relative address 3999 of the last byte of segment X as a result of incrementing. On the other hand, the segment name of the instruction address counter 2 stores the name of the segment currently being executed, so it is segment X. When this segment X is associated with the contents of the segment associative memory 3 via the signal line 20, they match by X at address 1. This one
By referring to the contents of range storage 4 using address X, segment size 4000 of segment X is obtained.
The range detection device 9 detects that the relative address of the output instruction address counter 2 of the range storage 4 is outside the segment range. Therefore, when the instruction address next to the last instruction of the segment is stored in the instruction address counter 2 by incrementing, the range detection device 9 detects that it is outside the range because it becomes 40004000.
This signal is output to the virtual memory control unit 14 via a signal line. At this time, the preceding segment address register 12 stores the value "1" of the address in the current segment content addressable memory 3 where a match is recognized. The virtual memory control unit 14 sets the succeeding address flag 8 to 1.
Look up the address. Since the content of address 1 is currently "0", the subsequent address memory 6 does not store a valid subsequent segment address. In this case, the contents of the subsequent segment memory 5 indicate the name of the segment to which control is transferred next.

次に後続セグメント記憶5の1番地に格納され
ているセグメントYが信号線26を介して命令ア
ドレスカウンタ2のセグメント名として格納され
る。同時に命令アドレスカウンタ2の相対アドレ
ス部に“0”が格納される。この操作により命令
アドレスカウンタ2には次に実行すべき命令が格
納されているセグメントYの先頭アドレスが格納
される。この後、信号線20により、後続セグメ
ントYがセグメント連想記憶3に有るか否かを調
べる。
Next, the segment Y stored at address 1 in the subsequent segment memory 5 is stored as a segment name in the instruction address counter 2 via the signal line 26. At the same time, "0" is stored in the relative address field of the instruction address counter 2. By this operation, the instruction address counter 2 stores the start address of segment Y in which the next instruction to be executed is stored. Thereafter, it is checked via the signal line 20 whether the subsequent segment Y exists in the segment associative memory 3 or not.

近い過去においてセグメントYが一度も参照さ
れていなければ、セグメントYはセグメント連想
記憶3には格納されていない。その結果は信号線
24により仮想記憶制御部14に報告する。仮相
制御部14は記憶装置1に格納されているセグメ
ントYに関するセグメント情報を参照し信号線2
1を介してセグメント連想記憶3、範囲記憶4と
後続セグメント記憶5に格納する。この結果は、
第5図に示すようにセグメント連想記憶3にはセ
グメントYのセグメント名が2番地に格納され、
範囲記憶4の2番地にはセグメントYのセグメン
トサイズ3000が格納され、後続セグメント記憶5
の2番地にはセグメントYに続くセグメントZの
セグメント名が格納される。さらにセグメントY
が記憶装置1に配置されたとき、セグメントYの
開始アドレスが決定する。本例においてはセグメ
ントYは“B”番地から格納される。開始アドレ
ス“B”の値がセグメントベースアドレスとして
信号線22を介してセグメントベース記憶7に格
納される。同時に先行セグメントアドレスレジス
タ12の内容“1”で示される後続アドレス記憶
6の1番地に信号線22を介してセグメントYの
セグメントベースアドレスを格納する。さらに、
先行セグメントアドレスレジスタ12の内容
“1”で示される後続アドレスフラグ8の1番地
の内容を“1”にする。これにより後続アドレス
記憶6の1番地のアドレスが有効であることが示
される。つまり第5図に示すようにセグメントX
に対応する後続アドレス記憶6の1番地にセグメ
ントXに続くセグメントYの開始番地Bが格納さ
れ、さらに後続アドレスフラグの1番地が1にセ
ツトされる。
If segment Y has never been referenced in the near past, segment Y is not stored in the segment associative memory 3. The results are reported to the virtual storage control unit 14 via the signal line 24. The temporary phase control unit 14 refers to the segment information regarding the segment Y stored in the storage device 1 and controls the signal line 2.
1 to the segment associative memory 3, range memory 4 and subsequent segment memory 5. This result is
As shown in FIG. 5, the segment name of segment Y is stored in the segment associative memory 3 at address 2,
Segment size 3000 of segment Y is stored at address 2 of range memory 4, and subsequent segment memory 5
The segment name of segment Z following segment Y is stored at address 2. Furthermore, segment Y
is placed in storage device 1, the start address of segment Y is determined. In this example, segment Y is stored starting from address "B". The value of the start address "B" is stored in the segment base memory 7 via the signal line 22 as a segment base address. At the same time, the segment base address of segment Y is stored via the signal line 22 at address 1 of the subsequent address storage 6, which is indicated by the content "1" in the preceding segment address register 12. moreover,
The content of address 1 of the subsequent address flag 8, which is indicated by the content "1" of the preceding segment address register 12, is set to "1". This indicates that the address at address 1 in the subsequent address memory 6 is valid. In other words, as shown in Figure 5, segment
The starting address B of segment Y following segment

セグメントYの実行開始は命令アドレスカウン
タ2に指示される命令から行う。前記の状態でセ
グメントXからセグメントYに制御が移るときに
は、命令アドレスカウンタ2のセグメント名は
Y、相対番地は“0”となつている。このセグメ
ント名をセグメント連想記憶3で調べると、第5
図に示すように2番地で一致が認められる。これ
に対応するセグメントベース記憶7は“B”を示
している。この“B”と命令アドレスカウンタ2
の相対番地“0”を加算器13で加算した結果
“B”番地が得られ、“B”番地にあるセグメント
Yの先頭命令から実行が行われる。
Execution of segment Y is started from the instruction indicated by instruction address counter 2. When control is transferred from segment X to segment Y in the above state, the segment name of the instruction address counter 2 is Y and the relative address is "0". When we look up this segment name using segment associative memory 3, we find that
As shown in the figure, a match is found at address 2. The corresponding segment base memory 7 shows "B". This "B" and instruction address counter 2
As a result of adding the relative address "0" of "0" in the adder 13, the "B" address is obtained, and execution is performed from the first instruction of the segment Y at the "B" address.

セグメントXに続くセグメントYを後続セグメ
ント記憶5から読み出して信号線26を介してセ
グメント連想記憶3の内容との一致を調べたとき
に一致が認められる場合がある。つまり近い過去
においてセグメントYが一度以上参照された場合
である。このときには、一致が認められたセグメ
ント連想記憶3の位置に対応するセグメントベー
ス記憶7のセグメントベースアドレスが信号線2
5を介して後続アドレス記憶6の1番地に格納さ
れ、同時に後続アドレスフラグ8の1番地が
“1”にセツトされる。このときの各記憶、フラ
グの状態は第5図と同様である。また信号線26
を介して命令アドレスカウンタ2のセグメント名
としてセグメントYが格納され、相対番地には
“0”が格納される。
When segment Y following segment X is read out from subsequent segment memory 5 and checked to see if it matches the contents of segment associative memory 3 via signal line 26, a match may be found. That is, this is a case where segment Y has been referenced more than once in the near past. At this time, the segment base address of the segment base memory 7 corresponding to the position of the segment associative memory 3 where a match has been found is the signal line 2.
5 and is stored at address 1 of the subsequent address memory 6, and at the same time, address 1 of the subsequent address flag 8 is set to "1". The states of each memory and flag at this time are the same as those shown in FIG. Also, the signal line 26
Segment Y is stored as the segment name of the instruction address counter 2 via , and "0" is stored in the relative address.

上記の過程を経て実行の制御がセグメントYに
移る。セグメントYに移つた後、分岐命令により
セグメントXに再び制御が戻り、セグメントXの
最後尾命令の実行を終了する場合について説明す
る。最後尾命令の実行を終了し命令アドレスカウ
ンタ2を歩進した結果セグメントの範囲外である
ことが範囲検出装置9によつて判明する。このと
きセグメントXに対応する後続アドレスフラグ8
の1番地の内容は、第5図に示されるように
“1”となつている。このフラグが“1”の場合
には、後続アドレス記憶6の1番地の内容“B”
が次に実行する命令のアドレスとなる。
Execution control is transferred to segment Y through the above process. A case will be described in which, after moving to segment Y, control is returned to segment X by a branch instruction and execution of the last instruction of segment X is terminated. As a result of finishing the execution of the last instruction and incrementing the instruction address counter 2, the range detection device 9 finds that it is outside the range of the segment. At this time, the subsequent address flag 8 corresponding to segment
The content of address 1 is "1" as shown in FIG. When this flag is “1”, the content of address 1 of the subsequent address memory 6 is “B”
is the address of the next instruction to be executed.

つまり最初にセグメントXの最後尾命令からセ
グメントYの先頭命令に制御が移る場合には、セ
グメント連想記憶3を用いた一致検査を2回行う
必要がある。最初は命令アドレスカウンタ2の中
のセグメントXを用いて一致検査を行い1番地で
の一致を検出する。次に後続セグメント記憶5の
1番地の内容“セグメントY”が命令アドレスカ
ウンタ2に格納され、このセグメントYを用いて
一致検査を行う。
That is, when control is first transferred from the last instruction of segment X to the first instruction of segment Y, it is necessary to perform a match check using the segment associative memory 3 twice. First, a match check is performed using segment X in the instruction address counter 2 to detect a match at address 1. Next, the content "segment Y" at address 1 of the succeeding segment memory 5 is stored in the instruction address counter 2, and a match check is performed using this segment Y.

セグメントXの最後尾命令からセグメントYの
先頭命令への制御の移動が2回目以降になると、
セグメント連想記憶3を用いた一致検査を1回行
えばよい。つまり、セグメントXで一致検査を行
うと後続アドレス記憶6が有効であるので、後続
アドレス記憶6の出力を次に実行する命令のアド
レスとして処理を続行する。
When control is transferred from the last instruction of segment X to the first instruction of segment Y for the second time or later,
A match check using the segment associative memory 3 only needs to be performed once. That is, when a match check is performed on segment X, the subsequent address memory 6 is valid, so the processing continues using the output of the subsequent address memory 6 as the address of the next instruction to be executed.

第6図は分岐命令でセグメント間の制御を移動
させる場合と、本発明における第1回目のセグメ
ント間制御の移動と第2回目以降のセグメント間
の制御の移動とをそれぞれa,b,cのフローで
t1,t2,t3,t4のタイミングと共に示す。図にお
いて、aは分岐命令、bは第1回目セグメント間
制御移行、cは第2回目以降のセグメント間制御
移行をそれぞれ示すフローチヤートである。第6
図ではセグメント連想記憶3に前もつて後続セグ
メントが登録されていた場合を示す。分岐命令と
第1回目のセグメント間の制御の移行とはt1〜t4
までの処理を必要とし処理速度は同じである。し
かし本発明における第2回目以降の制御の移行は
t1,t2の処理時間で実現され、高速に実行でき
る。
FIG. 6 shows the case where control is transferred between segments by a branch instruction, the first inter-segment control transfer in the present invention, and the second and subsequent inter-segment control transfer in a, b, and c, respectively. in flow
It is shown together with the timing of t 1 , t 2 , t 3 , and t 4 . In the figure, a is a flowchart showing a branch instruction, b is a first inter-segment control transfer, and c is a flowchart showing a second and subsequent inter-segment control transfer. 6th
The figure shows a case where a subsequent segment has been previously registered in the segment associative memory 3. What is the transfer of control between the branch instruction and the first segment? t 1 to t 4
The processing speed is the same. However, in the present invention, the control transfer after the second time is
This is achieved with a processing time of t 1 and t 2 and can be executed at high speed.

後続アドレス記憶6と後続アドレス記憶6の有
効性を示す後続アドレスフラグ8は第2回目以降
の処理を高速に行うために付加されたものであ
る。後続アドレス記憶6と後続アドレスフラグ8
が付加されない場合には、第2回目以降も第1回
目と同様の処理を行う。
The subsequent address memory 6 and the subsequent address flag 8 indicating the validity of the subsequent address memory 6 are added to speed up the second and subsequent processing. Subsequent address memory 6 and subsequent address flag 8
If not added, the same processing as the first time is performed for the second and subsequent times.

これまでに示したように、本発明によれば記憶
装置を複数ブロツクに分割したことにより付加さ
れる分岐命令が機械語命令列中に不要になる。こ
れにより、機械語命令列が格納される記憶装置の
使用効率が改善される。また記憶装置がブロツク
に分割されているためにコンパイル時に計算機シ
ステムで生成される分岐命令をプログラム作成者
が考慮することなくソースプログラムと機械語命
令列とを対称させることができる。
As described above, according to the present invention, the branch instruction added to the machine language instruction string is no longer necessary by dividing the storage device into a plurality of blocks. This improves the usage efficiency of the storage device in which the machine language instruction sequence is stored. Furthermore, since the storage device is divided into blocks, the source program and the machine language instruction sequence can be made symmetrical without the program creator having to consider branch instructions generated by the computer system during compilation.

後続アドレス記憶を付加することにより、ルー
プする命令列の途中でブロツク分割された場合
に、2回目以降のブロツク間の制御の移動を高速
に行うことができる。さらにコンパイラがプログ
ラムをブロツクに分割する際に、ループ途中の分
割による性能低下を考慮することなく分割でき
る。
By adding subsequent address storage, when a looping instruction sequence is divided into blocks in the middle, control can be moved between blocks at high speed from the second time onwards. Furthermore, when the compiler divides a program into blocks, it can do so without considering performance degradation due to division in the middle of a loop.

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

第1図は本発明の一実施例を示すブロツク図、
第2図は命令アドレスカウンタを説明する概念
図、第3図は命令列が複数ブロツクに分割されて
いる記憶装置の記憶概念図、第4図、第5図はブ
ロツク間を制御が移動する場合の各記憶およびフ
ラグの内容を説明する概念図、第6図は処理の流
れを示すタイミングフローチヤートである。 1……記憶装置、2……命令アドレスカウン
タ、3……セグメント連想記憶、4……範囲記
憶、5……後続セグメント記憶、6……後続アド
レス記憶、7……セグメントベース記憶、8……
後続アドレスフラグ、14……仮想記憶制御部。
FIG. 1 is a block diagram showing one embodiment of the present invention;
Figure 2 is a conceptual diagram explaining an instruction address counter, Figure 3 is a conceptual diagram of a storage device in which an instruction sequence is divided into multiple blocks, and Figures 4 and 5 are when control moves between blocks. FIG. 6 is a conceptual diagram explaining the contents of each memory and flag, and FIG. 6 is a timing flowchart showing the flow of processing. 1...Storage device, 2...Instruction address counter, 3...Segment associative memory, 4...Range memory, 5...Subsequent segment storage, 6...Subsequent address storage, 7...Segment base storage, 8...
Subsequent address flag, 14...Virtual memory control unit.

Claims (1)

【特許請求の範囲】 1 記憶装置のアドレス空間が複数セグメントに
分割されている計算機において、一部あるいは全
部のセグメント名を記憶するとともに入力された
セグメント名に一致するものが記憶されているか
否かを検出するセグメント連想記憶手段と、前記
セグメント連想記憶手段に格納されたセグメント
に対応するセグメントの大きさを記憶する範囲記
憶手段と、分岐命令以外の命令で前記セグメント
の範囲を越えて次に続く命令を実行することを検
出する範囲検出手段と、前記セグメントの次に続
く命令コードセグメント名を記憶する後続セグメ
ント記憶手段と、セグメント内の最後尾の命令を
実行しさらに次に続く命令を実行する場合のアド
レスと前記範囲検出手段のセグメントの範囲を比
較する前記範囲検出手段で次に続く命令の格納場
所がそのセグメントの範囲外であることが検出さ
れると前記後続セグメント記憶手段の内容により
後続セグメントを決定しこの後続セグメントのア
ドレスを求め前記後続セグメント記憶手段の処理
を開始させる仮想記憶制御手段を備えたことを特
徴とする仮想記憶方式の計算機。 2 記憶装置のアドレス空間が複数セグメントに
分割されている計算機において、一部あるいは全
部のセグメント名を記憶するとともに入力された
セグメント名に一致するものが記憶されているか
否かを検出するセグメント連想記憶手段と、前記
セグメント連想記憶手段に格納されたセグメント
に対応するセグメントの大きさを記憶する範囲記
憶手段と、分岐命令以外の命令で前記セグメント
の範囲を越えて次に続く命令を実行することを検
出する範囲検出手段と、前記セグメントの次に続
く命令コード用セグメント名を記憶する後続セグ
メント記憶手段と、セグメント内の最後尾の命令
を実行しさらに続く命令を実行する場合のアドレ
スと前記範囲検出手段のセグメントの範囲を比較
する前記範囲検出手段で次に続く命令の格納場所
がそのセグメントの範囲外であることが検出され
ると前記後続セグメント記憶手段の内容により後
続セグメントを決定しこの後続セグメントのアド
レスを求め前記後続セグメント記憶手段の処理を
開始させる仮想記憶制御手段と、前記後続セグメ
ント記憶手段に対応した後続セグメントのアドレ
スを記憶する後続アドレス記憶手段と、前記後続
アドレス記憶が有効であるかを示す後続アドレス
フラグと、最初にセグメントの最後尾命令から後
続のセグメントに制御が移つたときに前記後続ア
ドレス記憶手段に後続アドレスを設定し前記後続
アドレスフラグを有効にする手段とを備え、前記
後続アドレスフラグが前記後続アドレスが有効で
あることを示すときにセグメントの最後尾命令か
ら後続セグメントへの制御の移動を前記後続アド
レス記憶手段によつて制御することを特徴とする
仮想記憶方式の計算機。
[Scope of Claims] 1. In a computer in which the address space of a storage device is divided into a plurality of segments, whether or not a part or all of the segment names are stored and a segment name that matches the input segment name is stored. segment associative memory means for detecting the size of the segment corresponding to the segment stored in the segment associative memory means; and range storage means for storing the size of the segment corresponding to the segment stored in the segment associative memory means; range detection means for detecting the execution of an instruction; subsequent segment storage means for storing the name of the instruction code segment following the segment; and execution of the last instruction in the segment and the subsequent instruction. If the range detecting means detects that the storage location of the next instruction is outside the range of the segment, the address of the subsequent instruction is compared with the range of the segment of the range detecting means. 1. A computer using a virtual memory system, comprising virtual memory control means that determines a segment, obtains the address of the subsequent segment, and starts processing of the subsequent segment storage means. 2. In computers where the address space of the storage device is divided into multiple segments, segment associative memory stores part or all of the segment names and detects whether or not a segment name that matches the input segment name is stored. means, range storage means for storing the size of the segment corresponding to the segment stored in the segment associative storage means, and a range storage means for storing the size of the segment corresponding to the segment stored in the segment associative storage means; A range detection means for detecting, a subsequent segment storage means for storing a segment name for an instruction code following the segment, and an address and the range detection when executing the last instruction in the segment and further executing the following instruction. When the range detecting means for comparing the ranges of the segments of the means detects that the storage location of the next succeeding instruction is outside the range of that segment, the succeeding segment is determined based on the contents of the succeeding segment storage means, and the succeeding segment is virtual memory control means for determining the address of and starting processing in the subsequent segment storage means; subsequent address storage means for storing the address of the subsequent segment corresponding to the subsequent segment storage means; and the subsequent address storage is effective. and means for setting a subsequent address in the subsequent address storage means and validating the subsequent address flag when control is first transferred from the last instruction of a segment to a subsequent segment, The virtual storage system is characterized in that when the subsequent address flag indicates that the subsequent address is valid, the transfer of control from the last instruction of the segment to the subsequent segment is controlled by the subsequent address storage means. calculator.
JP2998480A 1980-03-10 1980-03-10 Computer of virtual storage system Granted JPS56127986A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2998480A JPS56127986A (en) 1980-03-10 1980-03-10 Computer of virtual storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2998480A JPS56127986A (en) 1980-03-10 1980-03-10 Computer of virtual storage system

Publications (2)

Publication Number Publication Date
JPS56127986A JPS56127986A (en) 1981-10-07
JPS6337416B2 true JPS6337416B2 (en) 1988-07-25

Family

ID=12291217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2998480A Granted JPS56127986A (en) 1980-03-10 1980-03-10 Computer of virtual storage system

Country Status (1)

Country Link
JP (1) JPS56127986A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61224042A (en) * 1985-03-29 1986-10-04 Nec Corp Optimized code generation method for array element approach in virtual memory system

Also Published As

Publication number Publication date
JPS56127986A (en) 1981-10-07

Similar Documents

Publication Publication Date Title
US6631460B1 (en) Advanced load address table entry invalidation based on register address wraparound
US5297281A (en) Multiple sequence processor system
JP2560988B2 (en) Information processing apparatus and processing method
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
US7100029B2 (en) Performing repeat string operations
JP2954178B1 (en) Variable cache method
JPS6337416B2 (en)
Gehringer Variable-length capabilities as a solution to the small-object problem
US4212058A (en) Computer store mechanism
JP2002014868A (en) Microprocessor having memory reference operation detecting mechanism and compiling method
JPH0877021A (en) Interrupt processing apparatus and method
JP3461185B2 (en) Method and apparatus for registering source code line number to load module
JPH0552534B2 (en)
JPS6032220B2 (en) information processing equipment
JPH0222418B2 (en)
JP2783285B2 (en) Information processing device
EP0155275B1 (en) Prefetch validation
JP2853460B2 (en) Data loading method and arithmetic processor using the same
JP2759952B2 (en) Cache memory
JPS62219128A (en) Data processor
JPS6027418B2 (en) Instruction preemption control device
JPS6115235A (en) Central processor
JPH05143327A (en) Data processing method and device provided with register control mechanism
JPH0769816B2 (en) Data processing device
JPS61216034A (en) data processing equipment