JPH0412860B2 - - Google Patents

Info

Publication number
JPH0412860B2
JPH0412860B2 JP60174922A JP17492285A JPH0412860B2 JP H0412860 B2 JPH0412860 B2 JP H0412860B2 JP 60174922 A JP60174922 A JP 60174922A JP 17492285 A JP17492285 A JP 17492285A JP H0412860 B2 JPH0412860 B2 JP H0412860B2
Authority
JP
Japan
Prior art keywords
instruction
ring level
branch
ring
cycle
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 - Lifetime
Application number
JP60174922A
Other languages
Japanese (ja)
Other versions
JPS6234259A (en
Inventor
Akisumi Koike
Juji Oinaga
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60174922A priority Critical patent/JPS6234259A/en
Publication of JPS6234259A publication Critical patent/JPS6234259A/en
Publication of JPH0412860B2 publication Critical patent/JPH0412860B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Storage Device Security (AREA)

Description

【発明の詳細な説明】 〔概要〕 論理空間単位にアクセスの保護レベルを規定す
るリングレベルについて、読み出した命令と共
に、その命令が属するリングレベルを、命令バツ
フアレジスタ上に記憶し、同時にパイプラインに
流すことにより、連続する分岐命令に関して分岐
先の先取りを可能とし、分岐命令の前の命令のオ
ペランドアクセスの待ち時間および演算時間に並
行して分岐先命令の先取りを行うことによる命令
実行の高速化を可能にしている。
[Detailed Description of the Invention] [Summary] Regarding the ring level that defines the access protection level for each logical space unit, the read instruction and the ring level to which the instruction belongs are stored in the instruction buffer register, and at the same time the pipeline This enables prefetching of the branch destination for consecutive branch instructions, and speeds up instruction execution by prefetching the branch destination instruction in parallel with the operand access latency and calculation time of the instruction before the branch instruction. It makes it possible to

〔産業上の利用分野〕[Industrial application field]

本発明はリングレベル制御方式、特に、いわゆ
るリングレベルによつて、論理空間単位にアクセ
ス保護を行う装置であつて、パイプライン処理に
よつて命令を実行する情報処理装置におけるリン
グレベル制御方式に関するものである。
The present invention relates to a ring level control method, and more particularly, to a ring level control method for an information processing device that performs access protection in logical space units using a so-called ring level, and that executes instructions through pipeline processing. It is.

〔従来の技術と問題点〕[Conventional technology and problems]

例えば、情報処理装置において実行される応用
処理プログラムが、命令の実行によつて、オペレ
ーテイング・システム等を破壊したりすることの
ないように、主記憶装置のデータを保護する方式
として、いわゆるリングレベルによるアクセス保
護の方式が用いられている。リングレベルによる
アクセス保護では、例えば論理空間のセグメント
に対応して、3ビツトにより、保護レベルが規定
され、実行リングレベルが、参照リングレベルよ
り、大きい数値であるときに、命令読み出しや、
データ書き込みが禁止されるようになつている。
実行リングレベルは、プログラム状態語(PSW)
に格納され、参照される側のリングレベルは、セ
グメント・テーブルの各エントリ毎に予め規定さ
れる。
For example, a so-called ring is used as a method to protect data in the main memory so that an application processing program executed in an information processing device does not destroy the operating system etc. by executing instructions. A level-based access protection method is used. In ring level access protection, for example, the protection level is defined by 3 bits corresponding to a segment of logical space, and when the execution ring level is a larger value than the reference ring level, instruction reading,
Data writing is now prohibited.
The execution ring level is the program state word (PSW)
The ring level stored and referenced in the segment table is defined in advance for each entry in the segment table.

例えば、あるセグメントから他のセグメントへ
分岐するような場合には、命令読み出しに関し
て、現在、PSWに設定されているリングレベル
が、分岐先への制御移行が許されているリングレ
ベルであるか否かをチエツクし、チエツクに合格
しない場合に、プログラム割込みが生じるように
なつている。
For example, when branching from one segment to another, whether the ring level currently set in the PSW for reading an instruction is a ring level that allows control to be transferred to the branch destination. If the check does not pass, a program interrupt is generated.

第3図は従来方式の問題点を説明するための図
である。
FIG. 3 is a diagram for explaining the problems of the conventional method.

命令1と、それに続く分岐命令B1と、さら
に後続する分岐命令B2とが、パイプライン処理
によつて処理されているとする。各命令は、命令
の解読を行うDサイクル、アドレス計算を行うA
サイクルと、メモリアクセスを行うTサイクルお
よびBサイクルと、演算を同うEサイクルと、演
算結果の書き込みを行うWサイクルとによつて処
理される。なお、これらのサイクルに先立つて、
命令をフエツチするサイクル、Tサイクル、B
サイクルおよび命令を命令バツフアにセツトする
Rサイクルがある。
Assume that an instruction 1, a branch instruction B1 that follows it, and a branch instruction B2 that follows it are processed by pipeline processing. Each instruction consists of a D cycle for decoding the instruction and an A cycle for calculating the address.
, a T cycle and a B cycle for performing memory access, an E cycle for performing an operation, and a W cycle for writing the operation result. Furthermore, prior to these cycles,
Cycle to fetch instructions, T cycle, B
There is an R cycle that sets the cycle and instructions into the instruction buffer.

命令が分岐命令である場合等に、分岐条件が満
足し、分岐が成功したときにおける分岐命令の先
取り用命令バツフアが用意される。しかし、従来
方式では、命令読み出しと共に、その命令が属す
るリングレベルを記憶するバツフアが用意されて
いない。そのため、リングレベルの記憶に関する
ハードウエア量は少量で済む利点はあるが、命令
の先取りが制限され、命令実行性能が低下すると
いう問題があつた。
When the instruction is a branch instruction, an instruction buffer is prepared for prefetching the branch instruction when the branch condition is satisfied and the branch is successful. However, the conventional system does not provide a buffer for reading an instruction and storing the ring level to which the instruction belongs. Therefore, although there is an advantage that the amount of hardware related to ring-level storage is small, there is a problem that prefetching of instructions is limited and instruction execution performance is degraded.

即ち、例えば第3図に示すように、命令1の
Eサイクルに数サイクルの繰り返しが必要である
とする。この場合、分岐命令B1は、命令I1の
実行終了(EU END)が通知されるまで、Bサ
イクルで待つ。分岐命令B1のDサイクルの後で
は、例えば分岐が成功した場合における命令の先
読みが行われるが、このとき、その命令が属する
リングレベルも読み出され、リングレベル用に1
つしかないバツフアにセツトされる。
That is, for example, as shown in FIG. 3, it is assumed that the E cycle of instruction 1 requires several cycles to be repeated. In this case, the branch instruction B1 waits in B cycles until the end of execution (EU END) of the instruction I1 is notified. After the D cycle of the branch instruction B1, for example, when the branch is successful, the instruction is prefetched, but at this time, the ring level to which the instruction belongs is also read, and 1 for the ring level is read.
It is set to a unique buffer.

このリングレベル用のバツフアは、分岐命令B
1の結果が確定されるまで、解放されない。従つ
て、分岐命令B1の後に、分岐命令B2があり、
分岐が連続すると、後続する分岐命令B2に関す
る分岐先の命令については、リングレベルのバツ
フアがないため、先読みのアクセスができないこ
ととなり、待ち時間が生じることとなる。
The buffer for this ring level is branch instruction B.
It will not be released until the result of 1 is confirmed. Therefore, after branch instruction B1, there is branch instruction B2,
When branches occur continuously, the branch destination instruction related to the subsequent branch instruction B2 cannot be read ahead and accessed because there is no ring level buffer, resulting in a waiting time.

この待ち時間の長さは、オペランドアクセスの
時間および演算の待ち時間の長さに比例して増大
する。さらに、いわゆるキヤツシユメモリである
ローカル・バツフア・ストレジ(LBS)に先読
み対象の命令がない場合には、アクセス時間が増
大することとなる。
The length of this latency increases in proportion to the length of operand access time and operation latency. Furthermore, if there is no instruction to be prefetched in the local buffer storage (LBS), which is a so-called cache memory, the access time will increase.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は上記問題点の解決を図り、リングレベ
ル情報をパイプライン化して処理し、分岐命令の
先取り効果を高める手段を提供する。
The present invention aims to solve the above-mentioned problems and provides a means for processing ring level information in a pipeline manner to enhance the effect of prefetching branch instructions.

第1図は本発明の基本構成図を示す。 FIG. 1 shows a basic configuration diagram of the present invention.

第1図において、10A,10B,10Cはフ
エツチした命令が格納される命令作業レジスタ
(IWR)、12は先読みした命令が退避される命
令バツフアレジスタ、13は各サイクルに対応し
て命令およびリングレベルのタグを持つパイプラ
イン、14ないし18はセレクタ、20ないし2
4はOPコードやオペランド情報を保持するタグ、
30ないし34は各サイクルに対応してリングレ
ベル情報を保持するタグ、RLはリングレベルを
表す。
In FIG. 1, 10A, 10B, and 10C are instruction work registers (IWR) where fetched instructions are stored, 12 is an instruction buffer register where prefetched instructions are saved, and 13 is an instruction and ring register corresponding to each cycle. Pipeline with level tags, 14 to 18 are selectors, 20 to 2
4 is a tag that holds OP code and operand information,
30 to 34 are tags that hold ring level information corresponding to each cycle, and RL represents the ring level.

ローカル・バツフア・ストレジLBSから読み
出された命令は、リングレベルRLと共に、命令
作業レジスタ10A〜10Cの空いている1つに
セツトされる。この命令およびリングレベルRL
は、セレクタ15を経由して、パイプライン13
のタグ20〜24およびタグ30〜34に順次送
られ、命令の処理およびリングレベルRLのチエ
ツクに用いられる。
The instruction read from the local buffer storage LBS is set into a free one of the instruction working registers 10A-10C along with the ring level RL. This instruction and ring level RL
is sent to the pipeline 13 via the selector 15
The data is sequentially sent to tags 20 to 24 and tags 30 to 34, and used for processing commands and checking the ring level RL.

先行命令の処理に待ち時間があると、先読みし
た命令は、セレクタ14を通して、命令バツフア
レジスタ12の1つにセツトされる。分岐成功に
おける分岐先の命令についても、この命令バツフ
アレジスタ12へ用意される。本発明の場合、こ
の各命令バツフアレジスタ12に、その記憶され
る命令が属するリングレベルRL情報が、その命
令に併せて記憶されるようになつている。
If there is a waiting time in the processing of the preceding instruction, the prefetched instruction is set in one of the instruction buffer registers 12 through the selector 14. The instruction at the branch destination upon successful branching is also prepared in this instruction buffer register 12. In the case of the present invention, ring level RL information to which the stored instruction belongs is stored in each instruction buffer register 12 along with the instruction.

セレクタ15を介して、パイプライン13に流
されるリングレベルRL情報は、タグ30ないし
タグ34に順次送られ、セレクタ17により、そ
のリングレベルRLまたは演算結果(ARC12)
によるリングレベルRLの一方が選択される。セ
レクタ16は、ロードPSW命令または割込み等
があつた場合に、その結果のリングレベルRLを
選択する回路である。セレクタ18は、空間にま
たがる転送を指定する命令の実行にあたつて、そ
の指定リングレベルRL(TLR)を選択し、記憶
装置SUのアクセスに用いるための回路である。
The ring level RL information sent to the pipeline 13 via the selector 15 is sequentially sent to the tags 30 to 34, and the selector 17 selects the ring level RL or the calculation result (ARC12).
One of the ring levels RL is selected. The selector 16 is a circuit that selects the resulting ring level RL when a load PSW command or an interrupt occurs. The selector 18 is a circuit that selects the designated ring level RL (TLR) when executing an instruction that designates transfer across spaces, and uses the designated ring level RL (TLR) to access the storage device SU.

〔作用〕[Effect]

本発明によれば、各命令が属するリングレベル
RLを、先読みされたそれらの各命令と共に記憶
し、パイプライン13にそれらの各命令と共に流
す。従つて、リングレベルのバツフアが塞がつて
いるために、命令の先読みができないというよう
なことはなく、命令実行における全体の待ち時間
を短縮することが可能となる。
According to the invention, the ring level to which each instruction belongs
The RL is stored with each of its prefetched instructions and flows into the pipeline 13 with each of those instructions. Therefore, it is not possible to prefetch an instruction because the ring level buffer is full, and it is possible to shorten the overall waiting time in executing an instruction.

〔実施例〕〔Example〕

第2図は本発明の一実施例における動作を説明
するための図である。
FIG. 2 is a diagram for explaining the operation in one embodiment of the present invention.

第2図における命令の実行環境は、第3図に示
した従来例と同様である。即ち、命令I1の後
に、分岐命令B1および分岐命令B2が続いてい
る。命令I1のEサイクルに数サイクルかかると
き、後続する分岐命令B1は、Bサイクルで待た
される。分岐命令B1について、分岐条件が満足
し、分岐成功となつた場合における分岐先の命令
は、分岐命令B1のDサイクルの後に、先読みが
開始され、命令バツフアレジスタの1つであるレ
ジスタ12−1に格納される。この命令が属する
リングレベルRL情報も、同じバツフアレジスタ
12−1に格納される。
The instruction execution environment in FIG. 2 is similar to the conventional example shown in FIG. That is, instruction I1 is followed by branch instruction B1 and branch instruction B2. When the E cycle of instruction I1 takes several cycles, the subsequent branch instruction B1 is forced to wait for B cycles. Regarding branch instruction B1, when the branch condition is satisfied and the branch is successful, the prefetch of the branch destination instruction is started after the D cycle of branch instruction B1, and register 12-, which is one of the instruction buffer registers, is read ahead. It is stored in 1. Ring level RL information to which this instruction belongs is also stored in the same buffer register 12-1.

一方、分岐命令B1に後続する分岐命令B2に
ついても、パイプラインで処理が行われ、分岐命
令B1がBサイクルで処理待ちになつている間、
1つ前のTサイクルで待つ。分岐命令B2につい
ての分岐先命令の先読みは、分岐命令B2のDサ
イクルの後に開始することができ、先行命令につ
いてのオペランドアクセスの待ち時間および演算
時間に並行して行われる。この分岐先にある命令
のリングレベルRL情報は、上記バツフアレジス
タ12−1とは別のバツフアレジスタ12−2
に、その分岐先命令と共にセツトされるようにな
つており、先行する命令の分岐先命令が属するリ
ングレベルRL情報と、バツフア上で競合するこ
とがないので、命令先読みに関連する待ち時間は
不要となる。
On the other hand, branch instruction B2 following branch instruction B1 is also processed in the pipeline, and while branch instruction B1 is waiting for processing in cycle B,
Waits at the previous T cycle. Prefetching of the branch destination instruction for branch instruction B2 can begin after the D cycle of branch instruction B2, and is performed in parallel to the operand access latency and operation time for the preceding instruction. The ring level RL information of the instruction at this branch destination is stored in a buffer register 12-2 different from the buffer register 12-1.
It is set together with the branch destination instruction, and there is no conflict on the buffer with the ring level RL information to which the branch destination instruction of the preceding instruction belongs, so there is no need for the waiting time associated with instruction prefetching. becomes.

なお、先読みする命令がローカル・バツフア・
ストレジLBSにない場合には、演算時間に並行
して処理可能である。
Note that the instruction to read ahead is a local buffer.
If it is not in the storage LBS, it can be processed in parallel to the calculation time.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、先読み
する命令が属するリングレベルRL情報について
の競合が生じないので、分岐命令における分岐先
の先取りが可能になり、命令の実行性能が向上す
る。
As described above, according to the present invention, since there is no conflict regarding the ring level RL information to which the prefetched instruction belongs, it is possible to prefetch the branch destination in a branch instruction, and the execution performance of the instruction is improved.

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

第1図は本発明の基本構成図、第2図は本発明
の一実施例における動作を説明するための図、第
3図は従来方式の説明図を示す。 図中、10A,10B,10Cは命令作業レジ
スタ、12は命令バツフアレジスタ、13はパイ
プライン、14ないし18はセレクタ、20ない
し24はタグ、30ないし34はリングレベル情
報を保持するタグ、RLはリングレベルをそれぞ
れ表す。
FIG. 1 is a basic configuration diagram of the present invention, FIG. 2 is a diagram for explaining the operation of an embodiment of the present invention, and FIG. 3 is an explanatory diagram of a conventional system. In the figure, 10A, 10B, 10C are instruction work registers, 12 is an instruction buffer register, 13 is a pipeline, 14 to 18 are selectors, 20 to 24 are tags, 30 to 34 are tags that hold ring level information, RL represents the ring level, respectively.

Claims (1)

【特許請求の範囲】 1 オペランドおよび命令のアクセスを独立に行
い、論理空間単位にアクセス保護用のリングレベ
ルを持ち、パイプライン処理を行う情報処理装置
において、 分岐先命令を含む命令読み出しに関して、読み
出した命令と共に、その命令の属する上記リング
レベルを命令バツフアレジスタに記憶する手段1
2と、 選択された命令に対応して、同時にその命令の
属する上記リングレベルをパイプライン13に流
す手段30〜34とを備え、 分岐命令に先行する命令のオペランドアクセス
の待ち時間および演算時間に並行して分岐先命令
の先取りを行うようにしたことを特徴とするリン
グレベル制御方式。
[Claims] 1. In an information processing device that performs pipeline processing, which accesses operands and instructions independently, has a ring level for access protection in logical space units, and performs pipeline processing: means 1 for storing in an instruction buffer register the ring level to which the instruction belongs together with the instruction;
2, and means 30 to 34 for simultaneously flowing the ring level to which the selected instruction belongs to the pipeline 13 in accordance with the selected instruction, and reducing the operand access latency and operation time of the instruction preceding the branch instruction. A ring level control method characterized by prefetching branch destination instructions in parallel.
JP60174922A 1985-08-08 1985-08-08 Ring level control system Granted JPS6234259A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60174922A JPS6234259A (en) 1985-08-08 1985-08-08 Ring level control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60174922A JPS6234259A (en) 1985-08-08 1985-08-08 Ring level control system

Publications (2)

Publication Number Publication Date
JPS6234259A JPS6234259A (en) 1987-02-14
JPH0412860B2 true JPH0412860B2 (en) 1992-03-05

Family

ID=15987058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60174922A Granted JPS6234259A (en) 1985-08-08 1985-08-08 Ring level control system

Country Status (1)

Country Link
JP (1) JPS6234259A (en)

Also Published As

Publication number Publication date
JPS6234259A (en) 1987-02-14

Similar Documents

Publication Publication Date Title
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
JP3151444B2 (en) Method for processing load instructions and superscalar processor
US20050055536A1 (en) Compiler instructions for vector transfer unit
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
JPH0496825A (en) Data processor
JP2620511B2 (en) Data processor
US6687808B2 (en) Data processor using indirect register addressing
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPH03233630A (en) Information processor
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0412860B2 (en)
JP2861560B2 (en) Data processing device
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
JPS63163929A (en) Microprocessor
JP2636821B2 (en) Parallel processing unit
JPH0524537B2 (en)
KR100300875B1 (en) How to deal with cache misses
JP3102399B2 (en) Data processing apparatus and method
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JP3147884B2 (en) Storage device and information processing device
JPH02301830A (en) Information processing system