JPH0271328A - Control system for branching history table - Google Patents

Control system for branching history table

Info

Publication number
JPH0271328A
JPH0271328A JP22229488A JP22229488A JPH0271328A JP H0271328 A JPH0271328 A JP H0271328A JP 22229488 A JP22229488 A JP 22229488A JP 22229488 A JP22229488 A JP 22229488A JP H0271328 A JPH0271328 A JP H0271328A
Authority
JP
Japan
Prior art keywords
branch
history table
address
bht
branch history
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP22229488A
Other languages
Japanese (ja)
Inventor
Masahiko Yamamouri
山毛利 雅彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP22229488A priority Critical patent/JPH0271328A/en
Publication of JPH0271328A publication Critical patent/JPH0271328A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To suppress the drive of a branching instruction out of a history table and to prevent the deterioration of performance in the title system by controlling the decision of a replacement level based on the number of a virtual computer which carries out the branching instruction. CONSTITUTION:Both BHT 3a and BHT 3b are made accesses via the instruction take-out addresses set at an ADR 1. For the BHT 3a, the output of the BHT 3a is compared with the ADR 1 by the comparators 6a and 6b via an address part. When the coincidence is obtained in this comparison, the branching address outputted from the BHT 3b is set at an RDR 7 in response to each output. The output of the RDR 7 is selected by a selector 9 and used as an predicting instruction take-out address. When a branching instruction is registered, a branching instruction address is set at a WR 2a and then selected by a selector 5. Then the accesses are made to the BHT 3a, BHT 3b and BHT 3c respectively.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置の分岐命令処理に関し、特に、
分岐ヒストリーテーブルのリプレース方式〔従来の技術
〕 従来、この種の情報処理装置では、セットアソンアティ
ブ方式を採用した分岐ヒストリーテーブルのリプレース
方式として、LRU(LeastRecetry  U
sed)方式が、またはFIFO(First  In
  First  0ut)方式が知られている(例え
ば、特開昭59−177853号公報)。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to branch instruction processing of an information processing device, and in particular,
Branch History Table Replacement Method [Prior Art] Conventionally, in this type of information processing device, as a branch history table replacement method that adopts a set-a-sonactive method, LRU (Least Recetry U
sed) method or FIFO (First In
A method (for example, Japanese Patent Laid-Open No. 177853/1983) is known.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

しかしながら、一般の動作環境を考えてみると、オペレ
ーティングシステム(O8)と、osに制御されるユー
ザープログラムとが同じ処理装置で処理される。そのた
め、従来技術では、分岐ヒストリーテーブル(BHT)
のリプレースを行う時に、ユーザープログラム上の分岐
命令の登録のために、走行頻度の高いO8上のテーブル
をリプレスしてしまうことがあり、そのために分岐予測
が効果的に行なえず、性能が低下してしまうという欠点
がある。
However, when considering a general operating environment, the operating system (O8) and user programs controlled by the OS are processed by the same processing device. Therefore, in the conventional technology, branch history table (BHT)
When replacing , a table on O8 that is frequently used may be repressed in order to register branch instructions in the user program, which prevents branch prediction from being performed effectively and degrades performance. It has the disadvantage of being

また、計算機のa効利用のため、仮想計算機機能が用い
られているが、このような運用形態では、スレーブジョ
ブ、ジョブを制御するfO81了O5を管理する親O8
がある。即ち、ros、親O8か同一処理装置で処理さ
れる。このため、従来技術では、BHTのリプレースを
行う時に、スレーブジョブやros上の分岐管理のため
に、走行頻度の高い親O8(仮想計p機モニタ・VMM
)のテーブルをリプレースしてしまうことかあり、その
ために分岐1’1ifllか効果的に71なえず、性能
か低ドしてしまうという欠点がある。
In addition, a virtual computer function is used to make efficient use of the computer, but in this type of operation, the slave job, the parent O8 that manages the fO81 and the O5 that control the job,
There is. That is, ros and parent O8 are processed by the same processing device. For this reason, in the conventional technology, when replacing the BHT, the parent O8 (virtual machine p machine monitor/VMM
) may be replaced, which has the disadvantage that the branch 1'1ifll will not be effectively deleted and the performance will be degraded.

〔課題を解決するための手段〕[Means to solve the problem]

本発明によれば、分岐命令のアドレスと分岐先アドレス
とを対にして記憶し、七ノドアソシアティブ方式により
分岐先を’F AIIJする分岐ヒストリーテーブルを
備え、命令の先取りを行う情報処理装置に於いて、 前記分岐ヒストリーテーブルは複数のレベルを持ち、 前記分岐ヒストリーテーブルに前記分岐命令が実行され
る仮想空間番号を登録する手段と、前記分岐命令のアド
レスにより前記分岐ヒストリーテーブルより前記仮想空
間番号を読出す手段と、 前記読出された仮想空間番号により前記分岐ヒストリー
テーブルの書込みレベルを制御する手段とを有すること
を特徴とする分岐ヒストリーテーブル制御h゛式か得ら
れる。
According to the present invention, an information processing device that prefetches instructions is provided with a branch history table that stores the address of a branch instruction and a branch destination address as a pair, and performs 'F AIIJ' of the branch destination using a seven-node associative method. The branch history table has a plurality of levels, and means for registering a virtual space number in which the branch instruction is executed in the branch history table, and means for registering the virtual space number from the branch history table according to the address of the branch instruction. A branch history table control method is obtained which is characterized by comprising: reading means; and means for controlling the writing level of the branch history table based on the read virtual space number.

又、本発明によれば、分岐命令のアドレスと分岐先アド
レスとを対にして記憶し、セットアソンアティブ方式に
より分岐先をf・測する分岐ヒストリーテーブルを備え
、命令の先取りを行う情報処理装置に於いて、 前記分岐ヒストリーテーブルは複数のレベルを持ち、 前記分岐ヒストリーテーブルに前記分岐命令が実行され
る仮想計算機番号を登録する手段と、前記分岐命令のア
ドレスにより前記分岐ヒストリーテーブルより前記仮想
計算機番号を読出す手段と、 前記読出された仮想計算機番号により前記分岐ヒストリ
ーテーブルの書込みレベルを制御する手段とを有するこ
とを特徴とする分岐ヒストリーテーブル制御方式が得ら
れる。
Further, according to the present invention, there is provided an information processing apparatus that prefetches instructions and includes a branch history table that stores the address of a branch instruction and a branch destination address as a pair and measures the branch destination using a set-a-sonactive method. The branch history table has a plurality of levels, and means for registering a virtual machine number on which the branch instruction is executed in the branch history table, and means for registering a virtual machine number on which the branch instruction is executed in the branch history table, A branch history table control method is obtained, comprising: means for reading a number; and means for controlling a write level of the branch history table based on the read virtual machine number.

〔実施例〕〔Example〕

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

第1図を参照すると、本発明の第1の実施例による分岐
ヒストリーテーブル制御方式が適用される情報処理装置
は、アドレスレジスタ(ADR)1、ライトレジスタ(
WR)2a、2b、2c。
Referring to FIG. 1, the information processing apparatus to which the branch history table control method according to the first embodiment of the present invention is applied includes an address register (ADR) 1, a write register (
WR) 2a, 2b, 2c.

分岐ヒストリーテーブル(BHT)3a、3b。Branch history table (BHT) 3a, 3b.

3c、LRU回路4、セレクタ5、比較器6a。3c, LRU circuit 4, selector 5, comparator 6a.

6b、リードレジスタ(RDR)7、制御回路(CON
T)8、及びセレクタ9を有する。
6b, read register (RDR) 7, control circuit (CON
T) 8 and a selector 9.

先ず、通常の動作について説明する。First, normal operation will be explained.

ADRlにセットされた命令取出しアドレスにより、B
HT3a、3bがアクセスされる。BHT3aはアドレ
ス部で、ADRlとBHT3aの出力が比較器6a、6
bにより比較される。一致が検出されると、各々に対応
したBHT3bから出力される分岐アドレスがRDR7
にセットされる。RDR7の出力は、セレクタ9により
選択され、予測命令取出しアドレスとして用いられる。
B by the instruction fetch address set in ADRl.
HT3a, 3b are accessed. BHT3a is an address section, and the outputs of ADRl and BHT3a are sent to comparators 6a and 6.
b. When a match is detected, the branch address output from the corresponding BHT3b is set to RDR7.
is set to The output of RDR7 is selected by selector 9 and used as a predicted instruction fetch address.

分岐命令を登録する時は、登録すべき分岐命令アドレス
かW R2aにセットされ、セレクタ5により選択され
、BHT3a、3b、3cをアクセスする。この時、W
R2bには、分岐先アドレスかセットされ、また、W 
R2cには、分岐命令が実行される仮想空間番号(WS
3)がセットされる。
When registering a branch instruction, the branch instruction address to be registered is set in WR2a, selected by selector 5, and BHTs 3a, 3b, and 3c are accessed. At this time, W
A branch destination address is set in R2b, and W
R2c contains the virtual space number (WS
3) is set.

第2図を盗賊すると、BHTのエントリのフォーマット
が示されている。第2図において、WSlol、2はO
8空間番号とする。WR2a。
Referring to FIG. 2, the format of the BHT entry is shown. In Figure 2, WSlol, 2 is O
8 space number. WR2a.

23 2Cの内容をBHT3a、3b、3cにセットす
ると同時に、釘効ビット(Vビット)もセットされる。
At the same time as setting the contents of 232C to BHT3a, 3b, and 3c, the nail effect bit (V bit) is also set.

ここで、エントリーのリプレース時の動作について説明
する。
Here, the operation when replacing an entry will be explained.

登録アドレスがWR2aにセットされ、セレクタ5によ
り選択され、BHT3a、3b、3cがアクセスされる
。ここて、BHT2aの出力により、2つのレベルのV
ビット−1が判定されると、リプレースレベルを決定し
なければならない。同時に、W R2aの出力でLRU
M路4がアクセスされ、どのレベルが最もアクセスされ
ていないかがチエツクされる。ここで、LRUが0の時
は、レベル0かリプレース対象、1の11.fは、レベ
ル1かリプレース7・1象とする。ずなイ)ち、C0N
T8により、LRU回路4、B HT ’3 CSB 
HT 3aのVビットの出力が判定され、リプレースレ
ベルが決定される。
The registered address is set in WR2a, selected by selector 5, and BHT3a, 3b, and 3c are accessed. Here, there are two levels of V due to the output of BHT2a.
If bit-1 is determined, a replacement level must be determined. At the same time, LRU is output from W R2a.
M path 4 is accessed and it is checked which level is least accessed. Here, when LRU is 0, level 0 or replacement target, 11. Let f be level 1 or replace 7.1 elephant. Zunai) Chi, C0N
By T8, LRU circuit 4, B HT '3 CSB
The output of the V bit of HT 3a is determined, and the replacement level is determined.

この判定は、C0NT8により、第3図に示すフローチ
ャートに従って決定される。第3図において、Xi (
i=0.1)の1はレベルを表し、ViはVビット、W
SiはWS3、及びWS # 0゜1.2はOSエリア
を示す。
This determination is made by C0NT8 according to the flowchart shown in FIG. In Figure 3, Xi (
1 in i=0.1) represents the level, Vi is the V bit, W
Si indicates WS3, and WS #0°1.2 indicates the OS area.

第4図を参照すると、本発明の第2の実施例による分岐
ヒストリーテーブル制御方式か適用される情報処理装置
は、第1図のWR2c、BHT3c、及びC0NT8が
それぞれWR2’c、BI(T3’C%及びC0NT8
’に変形されている点を除いて、第1図に示されたのも
のと同様の構成を何する。即ち、分岐命令を登録する時
に、第1図のW R2cには、分岐命令が実行される仮
想空間番号(WS3)がセットされるのに対して、第4
図のWR2’Cには、分岐命令か実行される仮想J1算
機番号(VM#)かセントされる。
Referring to FIG. 4, in the information processing apparatus to which the branch history table control method according to the second embodiment of the present invention is applied, WR2c, BHT3c, and C0NT8 in FIG. C% and C0NT8
A configuration similar to that shown in FIG. 1, except that it has been modified to '. That is, when registering a branch instruction, the virtual space number (WS3) in which the branch instruction is executed is set in WR2c in FIG.
The virtual J1 machine number (VM#) on which a branch instruction is executed is stored in WR2'C in the figure.

第5図を参照すると、BITのエントリのフォマットが
示されている。第5図において、VM#0は、VMMの
VM#とする。WR2a、2b2′ cの内容をBHT
3a、  3b、3’  cにセットすると同時に、有
効ビット(Vビット)もセラ]・される。
Referring to FIG. 5, the format of the BIT entries is shown. In FIG. 5, VM#0 is assumed to be VM# of VMM. BHT the contents of WR2a, 2b2'c
At the same time as setting bits 3a, 3b, and 3'c, the valid bit (V bit) is also set.

ここで、エントリーのリプレース時の動作について説明
する。
Here, the operation when replacing an entry will be explained.

登録アドレスがW R2aにセットされ、セレクタ5に
より選択され、BHT3a、3b、3’  cがアクセ
スされる。ここて、BHT2aの出力により、2つのレ
ベルのVビット−1が判定されると、リプレースレベル
を決定しなければならない。
The registered address is set in W R2a, selected by selector 5, and BHTs 3a, 3b, and 3'c are accessed. Here, when two levels of the V bit-1 are determined based on the output of the BHT 2a, a replacement level must be determined.

同時に、WR2aの出力でLRU回路4かアクセスされ
、どのレベルが最もアクセスされていないかがチエツク
される。ここで、L RUが0の時は、レベル0がリプ
レース対象、1の時は、レベル1がリプレース対象とす
る。すなわち、C0NT8′により、LRU回路4、B
HT3’  c、BHT3aのVビットの出力か判定さ
れ、リプレースレベルが決定される。
At the same time, the LRU circuit 4 is accessed by the output of WR 2a, and it is checked which level is least accessed. Here, when LRU is 0, level 0 is the replacement target, and when it is 1, level 1 is the replacement target. That is, by C0NT8', LRU circuit 4, B
It is determined whether the output is the V bit of HT3'c and BHT3a, and the replacement level is determined.

この判定は、C0NT8’ により、第6図に示すフロ
ーチャートに従って決定される。第6図において、Xl
(i−0,1)の1はレベルを表し、ViはVビット、
VMil;!VM#、及びV M # (11,2はV
MMを表す。
This determination is made by C0NT8' according to the flowchart shown in FIG. In Figure 6, Xl
1 in (i-0,1) represents the level, Vi is the V bit,
VMil;! VM#, and VM# (11, 2 are V
Represents MM.

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

以上説明したように、本発明によれば、分岐命令が実行
される仮想空間番号により、分岐ヒストリーテーブルの
リプレースレベルの決定を制御することにより、OSエ
リアの分岐命令を分岐ヒストリーテーブルより追い出す
ことを抑11−シ、性能低下を抑11−できる効果があ
る。
As described above, according to the present invention, by controlling the determination of the replacement level of the branch history table based on the virtual space number in which the branch instruction is executed, it is possible to remove the branch instruction in the OS area from the branch history table. This has the effect of suppressing performance deterioration.

また、本発明によれば、分岐命令が実行される仮想計算
機番号により、分岐ヒストリーテーブルのリプレースレ
ベルの決定を制御することにより、VMMエリアの分岐
命令を分岐ヒストリーテーブルより追い出すことを抑I
F、シ、性能低下を抑止できる効果がある。
Further, according to the present invention, by controlling the determination of the replacement level of the branch history table based on the virtual machine number on which the branch instruction is executed, it is possible to suppress the removal of branch instructions in the VMM area from the branch history table.
F, C, has the effect of suppressing performance degradation.

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

第1図は本発明の第1の実施例による分岐ヒストリーテ
ーブル制御方式が適用される情報処理装置の構成を示す
ブロック図、第2図は第1図中の分岐ヒストリーテーブ
ルの構成を示した図、第3図は本発明の第1の実施例に
よるリプレースレベルを決定する動作を説明するための
フローチャート、第4図は本発明の第2の実施例による
分岐ヒストリーテーブル制御方式が適用される情報処理
装置の構成を示すブロック図、第5図は第4図中の分岐
ヒストリーテーブルの構成を示した図、第6図は本発明
の第2の実施例によるリプレースレベルを決定する動作
を説明するためのフローチャートである。 ]・・・アドレスレジスタ(ADR) 、2a  2b
2C,2’  C,、、ライトレジスタCWR) 、3
 a。 3b、3c、3’  c・・・分岐ヒストリーテーブル
(B)IT) 、4・・LRU回路、5・・セレクタ、
6a、6b・・・比較器、7・・リードレジスタ(RD
R) 、8.8’・・・制御回路(CONT) 、9・
・セレクタ。
FIG. 1 is a block diagram showing the configuration of an information processing device to which a branch history table control method according to the first embodiment of the present invention is applied, and FIG. 2 is a diagram showing the configuration of the branch history table in FIG. , FIG. 3 is a flowchart for explaining the operation of determining the replacement level according to the first embodiment of the present invention, and FIG. 4 is information to which the branch history table control method according to the second embodiment of the present invention is applied. FIG. 5 is a block diagram showing the configuration of the processing device, FIG. 5 is a diagram showing the configuration of the branch history table in FIG. 4, and FIG. 6 explains the operation of determining the replacement level according to the second embodiment of the present invention. This is a flowchart for ]...Address register (ADR), 2a 2b
2C, 2' C, , write register CWR) , 3
a. 3b, 3c, 3' c...Branch history table (B) IT), 4...LRU circuit, 5...Selector,
6a, 6b... Comparator, 7... Read register (RD
R), 8.8'... Control circuit (CONT), 9.
·selector.

Claims (1)

【特許請求の範囲】 1、分岐命令のアドレスと分岐先アドレスとを対にして
記憶し、セットアソシアティブ方式により分岐先を予測
する分岐ヒストリーテーブルを備え、命令の先取りを行
う情報処理装置に於いて、前記分岐ヒストリーテーブル
は複数のレベルを持ち、 前記分岐ヒストリーテーブルに前記分岐命令が実行され
る仮想空間番号を登録する手段と、前記分岐命令のアド
レスにより前記分岐ヒストリーテーブルより前記仮想空
間番号を読出す手段とを有し、 前記読出された仮想空間番号により前記分岐ヒストリー
テーブルの書込みレベルを制御することを特徴とする分
岐ヒストリーテーブル制御方式。 2、分岐命令のアドレスと分岐先アドレスとを対にして
記憶し、セットアソシアティブ方式により分岐先を予測
する分岐ヒストリーテーブルを備え、命令の先取りを行
う情報処理装置に於いて、前記分岐ヒストリーテーブル
は複数のレベルを持ち、 前記分岐ヒストリーテーブルに前記分岐命令が実行され
る仮想計算機番号を登録する手段と、前記分岐命令のア
ドレスにより前記分岐ヒストリーテーブルより前記仮想
計算機番号を読出す手段とを有し、 前記読出された仮想計算機番号により前記分岐ヒストリ
ーテーブルの書込みレベルを制御することを特徴とする
分岐ヒストリーテーブル制御方式。
[Claims] 1. An information processing device that prefetches instructions and includes a branch history table that stores a branch instruction address and a branch destination address in pairs and predicts a branch destination using a set associative method. , the branch history table has a plurality of levels, means for registering a virtual space number in which the branch instruction is executed in the branch history table, and means for reading the virtual space number from the branch history table according to the address of the branch instruction. A branch history table control method, comprising: means for outputting the virtual space number, and controlling a write level of the branch history table based on the read virtual space number. 2. In an information processing device that prefetches instructions and includes a branch history table that stores the address of a branch instruction and a branch destination address in pairs and predicts the branch destination using a set associative method, the branch history table is It has a plurality of levels, and includes means for registering a virtual machine number on which the branch instruction is executed in the branch history table, and means for reading the virtual machine number from the branch history table based on the address of the branch instruction. A branch history table control method, characterized in that a write level of the branch history table is controlled based on the read virtual machine number.
JP22229488A 1988-09-07 1988-09-07 Control system for branching history table Pending JPH0271328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22229488A JPH0271328A (en) 1988-09-07 1988-09-07 Control system for branching history table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22229488A JPH0271328A (en) 1988-09-07 1988-09-07 Control system for branching history table

Publications (1)

Publication Number Publication Date
JPH0271328A true JPH0271328A (en) 1990-03-09

Family

ID=16780112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22229488A Pending JPH0271328A (en) 1988-09-07 1988-09-07 Control system for branching history table

Country Status (1)

Country Link
JP (1) JPH0271328A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998011484A1 (en) * 1996-09-13 1998-03-19 Hitachi, Ltd. Command processor having history memory
US6532534B1 (en) 1998-12-10 2003-03-11 Fujitsu Limited Information processing apparatus provided with branch history with plurality of designation ways

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998011484A1 (en) * 1996-09-13 1998-03-19 Hitachi, Ltd. Command processor having history memory
US6532534B1 (en) 1998-12-10 2003-03-11 Fujitsu Limited Information processing apparatus provided with branch history with plurality of designation ways

Similar Documents

Publication Publication Date Title
EP1027656B1 (en) Method and apparatus utilizing a region based page table walk bit
US5317705A (en) Apparatus and method for TLB purge reduction in a multi-level machine system
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US4733350A (en) Improved purge arrangement for an address translation control system
JPH0769818B2 (en) Data processing device
US20060294519A1 (en) Virtual machine control method and program thereof
JPH0364890B2 (en)
WO1987005417A1 (en) Instruction prefetch control apparatus
EP0082153B1 (en) Address generating apparatus
JPS63289659A (en) Storage device protecting system
US6606697B1 (en) Information processing apparatus and memory control method
JPH05134927A (en) Apparatus and method for address conversion
JPH1124992A (en) Limited virtual address aliasing in multiset virtual cache with no back map and fast context switch
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
JP4669244B2 (en) Cache memory device and memory control method
US5715420A (en) Method and system for efficient memory management in a data processing system utilizing a dual mode translation lookaside buffer
EP2159707A1 (en) Arithmetic processing unit, entry control program, and entry control method
JPH0271328A (en) Control system for branching history table
KR930009092B1 (en) Apparatus and method for a page frame replacement in a data processing system having virtual memory addressing
EP1901171A1 (en) Apparatus and method for handling interrupt disabled section and page pinning apparatus and method
JPH0793221A (en) Virtual machine system and control method for same
JP2535086B2 (en) Ring reduction logic device
JPH08161226A (en) Data look-ahead control method, cache controller and data processor
JP2000148589A (en) Memory management device, its method and storage medium storing program
JPH01286031A (en) Information processor