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
Application number
JP1194292A
Other languages
English (en)
Other versions
JPH0359723A (ja
Inventor
剛 森定
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP1194292A priority Critical patent/JP2508280B2/ja
Publication of JPH0359723A publication Critical patent/JPH0359723A/ja
Priority to US08/102,501 priority patent/US5345571A/en
Application granted granted Critical
Publication of JP2508280B2 publication Critical patent/JP2508280B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3844Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/655Same 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号公報により開示されており、現在
は各種のデータ処理装置において分岐ヒストリテーブル
が採用されている。
また、仮想記憶方式を用いるデータ処理装置において
は、第2図に示すとおり、仮想空間番号2および相対仮
想アドレス3により構成し、仮想空間番号2に上位ビツ
トを、相対仮想アドレス3に下位ビツトを充当してお
り、分岐ヒストリテーブルへ相対仮想アドレス3に相当
する分岐命令のアドレスと、これに応ずる同様な分岐先
のアドレスとのみを記憶させるものとなつている。
〔発明が解決しようとする課題〕
しかし、分岐命令と分岐先との各アドレスに付加され
ている仮想空間番号が異なれば、各アドレスの仮想空間
も各個別のものとなるため、OSの処理中に以前存在した
仮想空間が消滅した場合等では、分岐ヒストリテーブル
中に存在するアドレスを実行しようとしても、これの仮
想空間が消滅していれば、これによる分岐命令が実行不
能となり、オーバヘツドが発生する欠点を生じている。
〔課題を解決するための手段〕
前述の課題を解決するため、本発明はつぎの手段によ
り構成するものとなつている。
すなわち、上述の分岐ヒストリテーブルを記憶するメ
モリを備え、かつ、仮想記憶方式を用いるデータ処理装
置において、仮想空間番号を含む分岐命令のアドレスを
保持する第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により各
個に保持されるものとなつている。
IAR14,DAR15により各個に保持された各仮想空間番号
は、仮想空間番号比較器(以下、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へ与えられる。
以上により分岐命令アドレスWAおよび分岐先アドレス
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へ送出される。
ただし、このときIAC23がIAR14の上位ビツトとIAA18
からの内容とを比較しており、一致すれば比較出力を
「1」とするため、これに応じてANDゲート21の出力が
「1」へ転じ、BHF22をセツトしてその出力を「1」と
し、これを読出有効信号としてIFC11へ与える。
したがつて、IAA18およびDAA19への書込に際しては、
両アドレスWA,DAの仮想空間番号が一致していることをW
SC16によりチエツクし、これの一致を前提として記憶が
なされ、IAA18,DAA19により両アドレスWA,DAの履歴が分
岐ヒストリテーブルとして記憶されると共に、読出に際
しては、IAR14からの上位ビツトによる命令アドレスWA
と、すでにIAA18により記憶され、かつ、読出された命
令アドレスとの一致がIAC23によりチエツクされ、これ
の一致に応じてPDAR24からの分岐先アドレスが有効とな
り、仮想空間番号の不一致による分岐命令の実行不能が
完全に排除される。
〔発明の効果〕
以上の説明により明らかなとおり本発明によれば、分
岐命令のアドレスと分岐先のアドレスとに各々付加され
ている仮想空間番号を比較し、これの一致に応じて各ア
ドレスを分岐ヒストリテーブルとして記憶するものとし
たことにより、仮想空間番号の不一致に基づく分岐命令
の実行不能が完全に排除され、オーバヘツドを生ぜず、
分岐ヒストリテーブルおよび仮想記憶方式を用いる各種
のデータ処理装置において顕著な効果が得られる。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロツク図、第2図は仮
想アドレスの構成を示す図である。 14……命令アドレスレジスタ、15……分岐先アドレスレ
ジスタ、16……仮想空間番号比較器、17……ANDゲー
ト、18……分岐命令メモリ、19……分岐先メモリ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】分岐命令のアドレスと該分岐命令に応ずる
    分岐先のアドレスとを互いに対応させ分岐ヒストリテー
    ブルとして記憶するメモリを備え、かつ、仮想記憶方式
    を用いるデータ処理装置において、仮想空間番号を含む
    前記分岐命令のアドレスを保持する第1のレジスタと、
    分岐用の前記仮想空間番号を含む前記分岐先のアドレス
    を保持する第2のレジスタと、前記第1および第2のレ
    ジスタにより各個に保持された各仮想空間番号を比較す
    る比較手段と、該手段による比較結果が一致したとき前
    記メモリに対し分岐ヒストリテーブルの記憶を許容する
    制御手段とを設けたことを特徴とする分岐ヒストリテー
    ブル制御方式。
JP1194292A 1989-07-28 1989-07-28 分岐ヒストリテ―ブル制御方式 Expired - Fee Related JP2508280B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 日本電気株式会社 命令先取り装置

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