JP2508280B2 - 分岐ヒストリテ―ブル制御方式 - Google Patents
分岐ヒストリテ―ブル制御方式Info
- Publication number
- JP2508280B2 JP2508280B2 JP1194292A JP19429289A JP2508280B2 JP 2508280 B2 JP2508280 B2 JP 2508280B2 JP 1194292 A JP1194292 A JP 1194292A JP 19429289 A JP19429289 A JP 19429289A JP 2508280 B2 JP2508280 B2 JP 2508280B2
- Authority
- JP
- Japan
- Prior art keywords
- branch
- address
- virtual space
- history table
- instruction
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title description 3
- 101150074419 IAA18 gene Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- YBIDYTOJOXKBLO-USLOAXSXSA-N (4-nitrophenyl)methyl (5r,6s)-6-[(1r)-1-hydroxyethyl]-3,7-dioxo-1-azabicyclo[3.2.0]heptane-2-carboxylate Chemical compound C([C@@H]1[C@H](C(N11)=O)[C@H](O)C)C(=O)C1C(=O)OCC1=CC=C([N+]([O-])=O)C=C1 YBIDYTOJOXKBLO-USLOAXSXSA-N 0.000 description 2
- 101150015653 IAA1 gene Proteins 0.000 description 1
- 101150028662 IAA13 gene Proteins 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/655—Same page detection
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、分岐ヒストリテーブルを備えると共に、仮
想記憶方式を用いるデータ処理装置において、分岐ヒス
トリテーブルの記憶状況を制御する方式に関するもので
ある。
想記憶方式を用いるデータ処理装置において、分岐ヒス
トリテーブルの記憶状況を制御する方式に関するもので
ある。
分岐ヒストリテーブルを用いるデータ処理装置は、例
えば特公昭50-22384号公報により開示されており、現在
は各種のデータ処理装置において分岐ヒストリテーブル
が採用されている。
えば特公昭50-22384号公報により開示されており、現在
は各種のデータ処理装置において分岐ヒストリテーブル
が採用されている。
また、仮想記憶方式を用いるデータ処理装置において
は、第2図に示すとおり、仮想空間番号2および相対仮
想アドレス3により構成し、仮想空間番号2に上位ビツ
トを、相対仮想アドレス3に下位ビツトを充当してお
り、分岐ヒストリテーブルへ相対仮想アドレス3に相当
する分岐命令のアドレスと、これに応ずる同様な分岐先
のアドレスとのみを記憶させるものとなつている。
は、第2図に示すとおり、仮想空間番号2および相対仮
想アドレス3により構成し、仮想空間番号2に上位ビツ
トを、相対仮想アドレス3に下位ビツトを充当してお
り、分岐ヒストリテーブルへ相対仮想アドレス3に相当
する分岐命令のアドレスと、これに応ずる同様な分岐先
のアドレスとのみを記憶させるものとなつている。
しかし、分岐命令と分岐先との各アドレスに付加され
ている仮想空間番号が異なれば、各アドレスの仮想空間
も各個別のものとなるため、OSの処理中に以前存在した
仮想空間が消滅した場合等では、分岐ヒストリテーブル
中に存在するアドレスを実行しようとしても、これの仮
想空間が消滅していれば、これによる分岐命令が実行不
能となり、オーバヘツドが発生する欠点を生じている。
ている仮想空間番号が異なれば、各アドレスの仮想空間
も各個別のものとなるため、OSの処理中に以前存在した
仮想空間が消滅した場合等では、分岐ヒストリテーブル
中に存在するアドレスを実行しようとしても、これの仮
想空間が消滅していれば、これによる分岐命令が実行不
能となり、オーバヘツドが発生する欠点を生じている。
前述の課題を解決するため、本発明はつぎの手段によ
り構成するものとなつている。
り構成するものとなつている。
すなわち、上述の分岐ヒストリテーブルを記憶するメ
モリを備え、かつ、仮想記憶方式を用いるデータ処理装
置において、仮想空間番号を含む分岐命令のアドレスを
保持する第1のレジスタと、分岐用の仮想空間番号を含
む分岐先のアドレスを保持する第2のレジスタと、第1
および第2のレジスタにより各個に保持された各仮想空
間番号を比較する比較手段と、これによる比較結果が一
致したときメモリに対し分岐ヒストリテーブルの記憶を
許容する制御手段とを設けたものである。
モリを備え、かつ、仮想記憶方式を用いるデータ処理装
置において、仮想空間番号を含む分岐命令のアドレスを
保持する第1のレジスタと、分岐用の仮想空間番号を含
む分岐先のアドレスを保持する第2のレジスタと、第1
および第2のレジスタにより各個に保持された各仮想空
間番号を比較する比較手段と、これによる比較結果が一
致したときメモリに対し分岐ヒストリテーブルの記憶を
許容する制御手段とを設けたものである。
したがつて、分岐命令と分岐先との各アドレスに付加
されている仮想空間番号が一致しているときにのみ、メ
モリにより分岐ヒストリテーブルとして各アドレスが記
憶されるため、仮想空間番号の不一致による分岐命令の
実行不能が排除される。
されている仮想空間番号が一致しているときにのみ、メ
モリにより分岐ヒストリテーブルとして各アドレスが記
憶されるため、仮想空間番号の不一致による分岐命令の
実行不能が排除される。
以下、実施例を示す第1図のブロツク図によつて本発
明の詳細を説明する。
明の詳細を説明する。
同図においては、命令制御装置(以下、IFC)11から
の読出/書込信号・R/Wが書込フラグ・フリツプフロツ
プ回路(以下、WEF)12へ与えられ、書込時にこれがセ
ツト、読出時にはこれがリセツトされるものとなつてい
る一方、アドレス生成回路(以下、ADC)13からの命令
読出アドレス/分岐命令アドレス・RA/WA、および、分
岐先アドレスDAが命令アドレスレジスタ(以下、IAR)1
4および分岐先アドレスレジスタ(以下、DAR)15へ各個
に与えられ、書込時には、仮想空間番号を含む分岐命令
レジスタWA、および、これに応ずる分岐用の仮想空間番
号を含む分岐先アドレスDAがIAR14およびDAR15により各
個に保持されるものとなつている。
の読出/書込信号・R/Wが書込フラグ・フリツプフロツ
プ回路(以下、WEF)12へ与えられ、書込時にこれがセ
ツト、読出時にはこれがリセツトされるものとなつてい
る一方、アドレス生成回路(以下、ADC)13からの命令
読出アドレス/分岐命令アドレス・RA/WA、および、分
岐先アドレスDAが命令アドレスレジスタ(以下、IAR)1
4および分岐先アドレスレジスタ(以下、DAR)15へ各個
に与えられ、書込時には、仮想空間番号を含む分岐命令
レジスタWA、および、これに応ずる分岐用の仮想空間番
号を含む分岐先アドレスDAがIAR14およびDAR15により各
個に保持されるものとなつている。
IAR14,DAR15により各個に保持された各仮想空間番号
は、仮想空間番号比較器(以下、WSC)16により比較さ
れ、この結果が一致するときはWSC16の比較出力が
「1」となり、これがANDゲート17へ与えられ、このと
きWEF12の出力も「1」となつているため、同ゲート17
の出力が「1」となつて分岐命令メモリ(以下、IAA)1
8および分岐先メモリ(以下、DAA)19へ与えられ、これ
らを書込許容状態とし、IAR14の分岐命令アドレスWA中
の下位ビツトにより指定されるアドレスへ、これの上位
ビツトおよびDAR15の分岐先アドレスDAを分岐ヒストリ
テーブルとしてIAA18,DAA19により、互いに対応して記
憶させる。
は、仮想空間番号比較器(以下、WSC)16により比較さ
れ、この結果が一致するときはWSC16の比較出力が
「1」となり、これがANDゲート17へ与えられ、このと
きWEF12の出力も「1」となつているため、同ゲート17
の出力が「1」となつて分岐命令メモリ(以下、IAA)1
8および分岐先メモリ(以下、DAA)19へ与えられ、これ
らを書込許容状態とし、IAR14の分岐命令アドレスWA中
の下位ビツトにより指定されるアドレスへ、これの上位
ビツトおよびDAR15の分岐先アドレスDAを分岐ヒストリ
テーブルとしてIAA18,DAA19により、互いに対応して記
憶させる。
また、ANDゲート17の出力は、インバータ(以下、IN
V)20により「0」となり、これによつてANDゲート21の
出力を「0」とし、分岐禁止フラグ・フリツプフロツプ
回路(以下、BHF)22をリセツトするため、これの出力
「0」が命令読出禁止信号としてIFC11へ与えられる。
V)20により「0」となり、これによつてANDゲート21の
出力を「0」とし、分岐禁止フラグ・フリツプフロツプ
回路(以下、BHF)22をリセツトするため、これの出力
「0」が命令読出禁止信号としてIFC11へ与えられる。
以上により分岐命令アドレスWAおよび分岐先アドレス
DAの記憶が終了すると、IFC11が信号R/Wを読出の「0」
とするため、WEF12がリセツトされてその出力が「0」
となり、ANDゲート17の出力が「0」へ転ずると共に、I
NV20の出力は「1」となるため、ANDゲート21がオン状
態となる。
DAの記憶が終了すると、IFC11が信号R/Wを読出の「0」
とするため、WEF12がリセツトされてその出力が「0」
となり、ANDゲート17の出力が「0」へ転ずると共に、I
NV20の出力は「1」となるため、ANDゲート21がオン状
態となる。
ついで、ADC13から命令読出アドレスRAが与えられる
と、これがIAR14により保持されたうえ、これの下位ビ
ツトがIAA18およびDAA19の読出アドレスとして与えられ
るため、このアドレスから各々の内容が読出され、IAA1
8の内容は命令アドレス比較器(以下、IAC)23へ与えら
れる一方、DAA19からの分岐先アドレスは予測分岐先ア
ドレスレジスタ(以下、PDAR)24により保持され、これ
がADC13へ送出される。
と、これがIAR14により保持されたうえ、これの下位ビ
ツトがIAA18およびDAA19の読出アドレスとして与えられ
るため、このアドレスから各々の内容が読出され、IAA1
8の内容は命令アドレス比較器(以下、IAC)23へ与えら
れる一方、DAA19からの分岐先アドレスは予測分岐先ア
ドレスレジスタ(以下、PDAR)24により保持され、これ
がADC13へ送出される。
ただし、このときIAC23がIAR14の上位ビツトとIAA18
からの内容とを比較しており、一致すれば比較出力を
「1」とするため、これに応じてANDゲート21の出力が
「1」へ転じ、BHF22をセツトしてその出力を「1」と
し、これを読出有効信号としてIFC11へ与える。
からの内容とを比較しており、一致すれば比較出力を
「1」とするため、これに応じてANDゲート21の出力が
「1」へ転じ、BHF22をセツトしてその出力を「1」と
し、これを読出有効信号としてIFC11へ与える。
したがつて、IAA18およびDAA19への書込に際しては、
両アドレスWA,DAの仮想空間番号が一致していることをW
SC16によりチエツクし、これの一致を前提として記憶が
なされ、IAA18,DAA19により両アドレスWA,DAの履歴が分
岐ヒストリテーブルとして記憶されると共に、読出に際
しては、IAR14からの上位ビツトによる命令アドレスWA
と、すでにIAA18により記憶され、かつ、読出された命
令アドレスとの一致がIAC23によりチエツクされ、これ
の一致に応じてPDAR24からの分岐先アドレスが有効とな
り、仮想空間番号の不一致による分岐命令の実行不能が
完全に排除される。
両アドレスWA,DAの仮想空間番号が一致していることをW
SC16によりチエツクし、これの一致を前提として記憶が
なされ、IAA18,DAA19により両アドレスWA,DAの履歴が分
岐ヒストリテーブルとして記憶されると共に、読出に際
しては、IAR14からの上位ビツトによる命令アドレスWA
と、すでにIAA18により記憶され、かつ、読出された命
令アドレスとの一致がIAC23によりチエツクされ、これ
の一致に応じてPDAR24からの分岐先アドレスが有効とな
り、仮想空間番号の不一致による分岐命令の実行不能が
完全に排除される。
以上の説明により明らかなとおり本発明によれば、分
岐命令のアドレスと分岐先のアドレスとに各々付加され
ている仮想空間番号を比較し、これの一致に応じて各ア
ドレスを分岐ヒストリテーブルとして記憶するものとし
たことにより、仮想空間番号の不一致に基づく分岐命令
の実行不能が完全に排除され、オーバヘツドを生ぜず、
分岐ヒストリテーブルおよび仮想記憶方式を用いる各種
のデータ処理装置において顕著な効果が得られる。
岐命令のアドレスと分岐先のアドレスとに各々付加され
ている仮想空間番号を比較し、これの一致に応じて各ア
ドレスを分岐ヒストリテーブルとして記憶するものとし
たことにより、仮想空間番号の不一致に基づく分岐命令
の実行不能が完全に排除され、オーバヘツドを生ぜず、
分岐ヒストリテーブルおよび仮想記憶方式を用いる各種
のデータ処理装置において顕著な効果が得られる。
第1図は本発明の実施例を示すブロツク図、第2図は仮
想アドレスの構成を示す図である。 14……命令アドレスレジスタ、15……分岐先アドレスレ
ジスタ、16……仮想空間番号比較器、17……ANDゲー
ト、18……分岐命令メモリ、19……分岐先メモリ。
想アドレスの構成を示す図である。 14……命令アドレスレジスタ、15……分岐先アドレスレ
ジスタ、16……仮想空間番号比較器、17……ANDゲー
ト、18……分岐命令メモリ、19……分岐先メモリ。
Claims (1)
- 【請求項1】分岐命令のアドレスと該分岐命令に応ずる
分岐先のアドレスとを互いに対応させ分岐ヒストリテー
ブルとして記憶するメモリを備え、かつ、仮想記憶方式
を用いるデータ処理装置において、仮想空間番号を含む
前記分岐命令のアドレスを保持する第1のレジスタと、
分岐用の前記仮想空間番号を含む前記分岐先のアドレス
を保持する第2のレジスタと、前記第1および第2のレ
ジスタにより各個に保持された各仮想空間番号を比較す
る比較手段と、該手段による比較結果が一致したとき前
記メモリに対し分岐ヒストリテーブルの記憶を許容する
制御手段とを設けたことを特徴とする分岐ヒストリテー
ブル制御方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1194292A JP2508280B2 (ja) | 1989-07-28 | 1989-07-28 | 分岐ヒストリテ―ブル制御方式 |
US08/102,501 US5345571A (en) | 1989-07-28 | 1993-08-05 | System for controlling branch history table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1194292A JP2508280B2 (ja) | 1989-07-28 | 1989-07-28 | 分岐ヒストリテ―ブル制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0359723A JPH0359723A (ja) | 1991-03-14 |
JP2508280B2 true JP2508280B2 (ja) | 1996-06-19 |
Family
ID=16322169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1194292A Expired - Fee Related JP2508280B2 (ja) | 1989-07-28 | 1989-07-28 | 分岐ヒストリテ―ブル制御方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5345571A (ja) |
JP (1) | JP2508280B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649097A (en) * | 1991-10-25 | 1997-07-15 | International Business Machines Corporation | Synchronizing a prediction RAM |
US5434985A (en) * | 1992-08-11 | 1995-07-18 | International Business Machines Corporation | Simultaneous prediction of multiple branches for superscalar processing |
JP2801135B2 (ja) * | 1993-11-26 | 1998-09-21 | 富士通株式会社 | パイプラインプロセッサの命令読み出し方法及び命令読み出し装置 |
US5822577A (en) * | 1996-05-01 | 1998-10-13 | International Business Machines Corporation | Context oriented branch history table |
JP3626609B2 (ja) | 1998-10-30 | 2005-03-09 | 日本電気株式会社 | マルチプロセッサシステム |
US9866446B2 (en) * | 2013-08-26 | 2018-01-09 | Akarsh Belagodu | Data retrieval system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3559183A (en) * | 1968-02-29 | 1971-01-26 | Ibm | Instruction sequence control |
DE3382350D1 (de) * | 1982-11-17 | 1991-08-29 | Nec Corp | Anordnung zum vorabholen von befehlen mit vorhersage einer verzweigungszieladresse. |
US4764861A (en) * | 1984-02-08 | 1988-08-16 | Nec Corporation | Instruction fpefetching device with prediction of a branch destination for each branch count instruction |
US4679141A (en) * | 1985-04-29 | 1987-07-07 | International Business Machines Corporation | Pageable branch history table |
US4763245A (en) * | 1985-10-30 | 1988-08-09 | International Business Machines Corporation | Branch prediction mechanism in which a branch history table is updated using an operand sensitive branch table |
US4853840A (en) * | 1986-01-07 | 1989-08-01 | Nec Corporation | Instruction prefetching device including a circuit for checking prediction of a branch instruction before the instruction is executed |
EP0258453B1 (en) * | 1986-02-28 | 1993-05-19 | Nec Corporation | Instruction prefetch control apparatus |
US5175827A (en) * | 1987-01-22 | 1992-12-29 | Nec Corporation | Branch history table write control system to prevent looping branch instructions from writing more than once into a branch history table |
JP2722523B2 (ja) * | 1988-09-21 | 1998-03-04 | 日本電気株式会社 | 命令先取り装置 |
-
1989
- 1989-07-28 JP JP1194292A patent/JP2508280B2/ja not_active Expired - Fee Related
-
1993
- 1993-08-05 US US08/102,501 patent/US5345571A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0359723A (ja) | 1991-03-14 |
US5345571A (en) | 1994-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2508280B2 (ja) | 分岐ヒストリテ―ブル制御方式 | |
US5408666A (en) | Method and apparatus for loading a program into a program memory from a mailbox or an external ROM | |
JP2587468B2 (ja) | ロツクデータ設定装置 | |
JP2600376B2 (ja) | メモリ制御装置 | |
JPS62276643A (ja) | メモリ制御方式 | |
JP2968636B2 (ja) | マイクロコンピュータ | |
JPH04107634A (ja) | メモリデータバイパス制御方式 | |
JPH1165884A (ja) | マイクロコンピュータ及びそのデバッグ方法 | |
JPH06103148A (ja) | ライトバッファ | |
JPH0248916Y2 (ja) | ||
JPS63187349A (ja) | 記憶装置 | |
JPH0728990A (ja) | グラフィックスメモリアクセス回路 | |
JPH0324640A (ja) | 情報処理装置のデバッグ方式 | |
JPS6028097A (ja) | ダイナミツク型メモリのリフレツシユ方法 | |
JPH0612329A (ja) | Ram書替え方式 | |
JPS58196676A (ja) | 仮想マシンシステムにおけるアドレス変換方式 | |
JPH06110828A (ja) | メモリ制御装置 | |
JPH02123450A (ja) | 情報処理システム | |
JPS63247832A (ja) | デ−タ処理装置 | |
JPH04346143A (ja) | キャッシュメモリ装置 | |
JP2002014944A (ja) | プロセッサシステムの排他制御フラグ生成回路及びプロセッサシステムの排他制御方法 | |
JPH0471048A (ja) | コンピュータシステム | |
JPS61246850A (ja) | バツフア記憶制御方式 | |
JPS6010483A (ja) | スタツクメモリ制御方式 | |
JPS6046450B2 (ja) | 高速バツフアメモリ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |