JPH07504520A - 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu - Google Patents
仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpuInfo
- Publication number
- JPH07504520A JPH07504520A JP5514792A JP51479293A JPH07504520A JP H07504520 A JPH07504520 A JP H07504520A JP 5514792 A JP5514792 A JP 5514792A JP 51479293 A JP51479293 A JP 51479293A JP H07504520 A JPH07504520 A JP H07504520A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- output
- register
- instructions
- 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.)
- Granted
Links
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/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- 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/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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
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)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (19)
- 1.デジタル・データ・プロセッサにおいて用いる装置であって、複数の命令の 中の個別の命令を該命令の実行に先立ってプリフェッチする装置において、複数 の命令物理アドレスの中のシーケンシャルなアドレスを発生する手段と、前記命 令物理アドレスに応答する入力と、対応する命令を提供する出力とを有する命令 キャッシュ手段と、 前記命令キャッシュ手段の前記出力に結合された入力と、それぞれが1つの命令 又は1つの命令の一部分を記憶するのに十分な幅を有する複数のレジスタ手段と を有する命令待ち行列手段と、を備えており、前記命令のいくつかは、関連する ターゲット・アドレスを有する分岐命令であり、前記装置は、更に、 前記命令物理アドレスに応答する入力と、前記命令キャッシュ手段によって出力 される対応する分岐命令が先行して実行される間に前記対応する分岐命令の実行 が結果として次のプログラムの実行が前記対応する分岐命令に関連する前記ター ゲット・アドレスに再度向けられるかどうかに関する指示を提供する出力と、を 有するブランチ・ヒストリ・テーブル手段を含み、前記命令待ち行列手段の前記 レジスタ手段のそれぞれが、更に、前記指示を記憶する手段を含むことを特徴と する装置。
- 2.請求の範囲1記載の装置において、直列に結合されそれぞれが可能な最大幅 の命令を記憶するのに十分な幅を有する複数のレジスタ手段から成り、前記命令 待ち行列手段の出力に結合された入力と命令実行手段に結合する出力とを有する 命令パイプライン手段を更に含むことを特徴とする装置。
- 3.請求の範囲2記載の装置において、前記命令の中のあるものに関連した1つ 又は複数のオペランドの実効アドレスを発生する手段を更に含み、前記複数の直 列に結合されたレジスタ手段が、 前記命令待ち行列手段の前記出力に結合された入力を有し、前記命令に対する実 効アドレス発生動作の間に前記命令を記憶する第1のレジスタ手段(IRG)と 、 前記IRGレジスタ手段の出力に結合された入力を有し、前記命令に対するオペ ランド・プリフェッチ動作の間に前記命令を記憶する第2のレジスタ手段(IR F)と、 前記IRFレジスタ手段の出力に結合された入力と前記命令実行手段に結合され た出力とを有し、前記命令の前記実行の間に前記命令を記憶する第3のレジスタ 手段(IRE)と、 を含むことを特徴とする装置。
- 4.請求の範囲3記載の装置において、前記実効アドレス発生手段が、前記命令 に対する前記実効アドレス発生動作の間に仮想命令アドレスを記憶する第1のレ ジスタ手段(IAG)と、 前記IAGレジスタ手段の出力に結合された入力を有し、前記命令に対するオペ ランド・プリフェッチ動作の間に前記仮想命令アドレスを記憶する第2のレジス タ手段(IAF)と、 前記IAFレジスタ手段の出力に結合された入力を有し、前記命令の前記実行の 間に前記仮想命令アドレスを記憶する第3のレジスタ手段(IAE)と、を含み 、前記実効アドレス発生手段が、更に、前記IAEレジスタ手段の出力に結合さ れた入力を有し、前記命令が該命令の前記実行の間に分岐条件を欠く分岐命令で あるイベントにおいて使用するために前記仮想命令アドレスを保持する第4のレ ジスタ手段(IAR)を含むことを特徴とする装置。
- 5.請求の範囲3記載の装置において、前記分岐ヒストリ・テーブル手段は、更 に、前記命令キャッシュ手段によって出力された前記対応する分岐命令に関連す る予測されたターゲット・アドレスを出力するターゲット・アドレス記憶手段を 含み、更に、 前記ターゲット・アドレス記憶手段の出力に結合された入力と、前記ターゲット ・アドレスを提供する前記実効アドレス発生手段に結合された出力とを有し、前 記命令待ち行列手段と共に記憶された分岐命令の前記ターゲット・アドレスを記 憶する第1のレジスタ手段(TARIRO)と、前記TARIROレジスタ手段 の前記出力に結合された入力を有し、前記分岐命令に関連する前記ターゲット・ アドレスに対する前記実効アドレス発生動作の間に前記ターゲット・アドレスを 記憶する第2のレジスタ手段(TARIRG)と、 前記TARIRGレジスタ手段の出力に結合された入力を有し、前記分岐命令に 関連する前記ターゲット・アドレスに対する前記オペランド・プリフェッチ動作 の間に前記ターゲット・アドレスを記憶する第3のレジスタ手段(TARIRF )と、 前記TARIRFレジスタ手段の出力に結合された入力を有し、前記分岐命令の 前記実行の間に前記ターゲット・アドレスを記憶する第4のレジスタ手段(TA RIFE)と、を含んでおり、当該装置が、更に、前記TARIFEレジスタ手 段の出力に結合された第1の入力と、ターゲットアドレス計算手段の出力に結合 された第2の入力とを有し、前記計算されたターゲット・アドレスを前記予測さ れたターゲット・アドレスと比較するコンパレータ手段を含むことを特徴とする 装置。
- 6.請求の範囲3記載の装置において、前記命令のあるものが複数の一般レジス タ手段の特定のものをリファレンスし、前記実効アドレス発生手段が、前記複数 の一般レジスタ手段のコピーを記憶する手段と、プリフェッチされた命令に応答 して、あるプリフェッチされた命令に関連して、前記記憶手段の内容の関数とし て、オペランドの前記実効アドレスを計算する手段と、 を含むことを特徴とする装置。
- 7.請求の範囲6記載の装置において、前記記憶手段は前記実行手段の出力に結 合された入力を有し前記一般レジスタ手段への情報の記憶に同期して前記一般レ ジスタ手段の前記コピーに情報を記憶し、更に、その実行の間に前記一般レジス タ手段の前記内容を修正する既にプリフェッチされた命令の生起に応答して前記 IRGレジスタ手段内に含まれる前記命令に対する前記実効アドレス計算の生起 を前記既にプリフェッチされた命令の前記実行が前記一般レジスタ手段の前記内 容を修正するまで停止する手段を含むことを特徴とする装置。
- 8.請求の範囲6記載の装置において、前記記憶手段は前記実行手段の出力に結 合された入力を有し前記一般レジスタ手段への情報の記憶に同期して前記一般レ ジスタ手段の前記コピーに情報を記憶し、更に、その実行の間に前記記憶手段の 前記内容を修正する既にプリフェッチされた命令の生起に応答して前記記憶手段 をバイパスし前記一般レジスタ手段を修正する前記命令に続いてプリフェッチさ れる命令に関連するオペランドの前記実効アドレスを計算する際に用いるために 前記実行手段から前記情報を受け取る手段を含むことを特徴とする装置。
- 9.デジタル・データ・プロセッサにおいて用いる装置であって、複数の命令の 中の個別の命令を該命令の実行に先立ってプリフェッチする装置において、複数 の命令物理アドレスの中のシーケンシャルなアドレスを発生する手段と、前記命 令物理アドレスに応答する入力と、対応する命令を提供する出力とを有する命令 キャッシュ手段と、 前記命令キャッシェ手段の前記出力に結合された入力と、それぞれが1つの命令 又は1つの命令の一部分を記憶するのに十分な幅を有する複数のレジスタ手段と を有する命令待ち行列手段と、 直列に結合されそれぞれが可能な量大幅の命令を記憶するのに十分な幅を有する 複数のレジスタ手段から成り、前記命令待ち行列手段の出力に結合された入力と 命令実行手段に結合する出力とを有する命令パイプライン手段と、前記命令待ち 行列手段の前記出力に結合された入力を有し、命令に応答して該命令に関連する 複数の制御信号を出力する命令制御メモリ手段と、直列に結合された複数のレジ スタ手段から成り、前記制御信号を記憶し、前記対応する命令の進歩に同期し前 記命令パイプライン手段を通って前記制御信号を進める制御信号パイプライン手 段と、 を備えていることを特徴とする装置。
- 10.請求の範囲9記載の装置において、前記命令のあるものに関連する1つ又 は複数のオペランドの実効アドレスを発生し、前記記憶された制御ビットの少な くとも1つに応答して各命令に対し第1の数のビットを有する実効アドレス又は 第2の数のビットを有する実効アドレスを発生する手段を更に含むことを特徴と する装置。
- 11.請求の範囲10記載の装置において、前記第1の数は24であり、前記第 2の数は31であることを特徴とする装置。
- 12.請求の範囲9記載の装置において、前記命令のあるものが複数の一般レジ スタ手段の特定のものをリファレンスし、前記実効アドレス発生手段が、前記複 数の一般レジスタ手段のコピーを記憶する手段と、プリフェッチされた命令に応 答して、前記記憶手段の内容の関数として、また、1つ又は複数の前記記憶され た制御ビットの関数として、プリフェッチされた命令に関連するオペランドの前 記実効アドレスを計算する手段と、を含むことを特徴とする装置。
- 13.デジタル・データ・プロセッサにおいて用いる装置であって、複数の命令 の中の個別の命令を該命令の実行に先立ってプリフェッチする装置において、複 数の命令物理アドレスの中のシーケンシャルなアドレスを発生する手段と、前記 命令物理アドレスに応答する入力と、対応する命令を提供する出力とを有する命 令キャッシュ手段と、 前記命令キャッシュ手段の前記出力に結合された入力と、それぞれが1つの命令 又は1つの命令の一部分を記憶するのに十分な幅を有する複数のレジスタ手段と を有する命令待ち行列手段と、 直列に結合されそれぞれが可能な最大幅の命令を記憶するのに十分な幅を有する 複数のレジスタ手段から成り、前記命令待ち行列手段の出力に結合された入力と 命令実行手段に結合する出力とを有する命令パイプライン手段と、を含み、前記 複数の直列に結合されたレジスタ手段が、前記命令待ち行列手段の前記出力に結 合された入力を有し、前記命令に対する実効アドレス発生動作の間に前記命令を 記憶する第1のレジスタ手段(IRG)と、 前記IRGレジスタ手段の出力に結合された入力を有し、前記命令に対するオペ ランド・プリフェッチ動作の間に前記命令を記憶する第2のレジスタ手段(IR F)と、 前記IRFレジスタ手段の出力に結合された入力と前記命令実行手段に結合され た出力とを有し、前記命令の前記実行の間に前記命令を記憶する第3のレジスタ 手段(IRE)と、を含んでおり、 前記命令待ち行列手段の前記レジスタ手段と前記命令パイプライン手段とのそれ ぞれが、前記レジスタ手段の妥当性を指示する手段を含み、当該装置は、更に、 前記命令キャッシュ手段から複数の命令を自動的にプリフェッチして前記IRF レジスタ手段の内部で妥当な命令を提供する手段を含む装置。
- 14.デジタル・データ・プロセッサにおいて用いる装置であって、複数の命令 の中の個別の命令を該命令の実行に先立ってプリフェッチする装置において、複 数の命令物理アドレスの中のシーケンシャルなアドレスを発生する手段と、前記 命令物理アドレスに応答する入力と、対応する命令を提供する出力とを有する命 令キャッシュ手段と、 前記命令キャッシュ手段の前記出力に結合された入力と、それぞれが1つの命令 又は1つの命令の一部分を記憶するのに十分な幅を有する複数のレジスタ手段と を有する命令待ち行列手段と、 直列に結合されそれぞれが可能な最大幅の命令を記憶するのに十分な幅を有する 複数のレジスタ手段から成り、前記命令待ち行列手段の出力に結合された入力と 命令実行手段に結合する出力とを有する命令パイプライン手段と、前記命令パイ プライン手段内に記憶された命令に関連する1つ又は複数のオペランドの第1の 仮想実効アドレスを発生し、次に、前記命令に対する第2の仮想実効アドレスを 発生する手段と、 前記仮想実効アドレスに応答して、前記仮想実効アドレスを対応する物理アドレ スに変換する仮想アドレス変換バッファ手段と、前記物理アドレスに応答する入 力と、前記実行手段による使用のために対応するオペランドを提供する出力とを 有するデータ・キャッシュ手段と、を備えており、 前記仮想アドレス変換バッファ手段が、前記第1の仮想実効アドレスに応答する 第1の数のページ・フレーム・エントリを有する第1の変換バッファ手段と、前 記第2の仮想実効アドレスに応答する第2の数のページ・フレーム・エントリを 有する第2の変換バッファ手段とを含むことを特徴とする装置。
- 15.請求の範囲14記載の装置において、前記第1の数が前記第2の数よりも 小さいことを特徴とする装置。
- 16.デジタル・データ・プロセッサにおいて用いる装置であって、複数の命令 の中の個別の命令を該命令の実行に先立ってプリフェッチする装置において、複 数の命令物理アドレスの中のシーケンシャルなアドレスを発生する手段と、前記 命令物理アドレスに応答する入力と、対応する命令を提供する出力とを有する命 令キャッシュ手段と、 前記命令キャッシュ手段の前記出力に結合された入力と、それぞれが1つの命令 又は1つの命令の一部分を記憶するのに十分な幅を有する複数のレジスタ手段と を有する命令待ち行列手段と、 前記命令待ち行列手段の前記出力に結合された入力を有し、命令に応答して該命 令に関連する複数の制御信号を出力する命令制御メモリ手段と、前記命令のある ものに関連する1つ又は複数のオペランドの実効アドレスを発生し、アドレス指 定モードを特定する複数の入力信号と前記記憶された制御ビットの少なくとも1 つとに応答して、各命令に対し第1の数のビットを有する実効アドレス又は第2 の数のビットを有する実効アドレスを発生する手段と、を更に含むことを特徴と する装置。
- 17.請求項16記載の装置において、2つの入力信号があり、少なくとも1つ の記憶された制御ビットが、前記実効アドレス発生手段が前記第1の入力信号の 状態と前記第2の入力信号の状態とのどちらに従って動作するかを特定すること を特徴とする装置。
- 18.請求項17記載の装置において、両方の入力信号が同じ論理状態を有する 場合には24ビット又は31ビットどちらかの実効アドレスが常に発生され、前 記2つの入力信号が異なる状態を有する場合には24ビット又は31ビットどち らかの実効アドレスが少なくとも1つの記憶された制御ビットの状態の関数とし て発生されることを特徴とする装置。
- 19.請求項16記載の装置において、更に、直列に結合されそれぞれが可能な 量大幅の命令を記憶するのに十分な幅を有する複数のレジスタ手段から成り、前 記命令待ち行列手段の出力に結合された入力と命令実行手段に結合する出力とを 有する命令パイプライン手段と、直列に結合された複数のレジスタ手段から成り 、前記制御信号を記憶し、前記対応する命令の進歩に同期し前記命令パイプライ ン手段を通って前記制御信号を進める制御信号パイプライン手段と、 を含むことを特徴とする装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84386892A | 1992-02-27 | 1992-02-27 | |
US843,868 | 1992-02-27 | ||
PCT/US1992/006813 WO1993017384A1 (en) | 1992-02-27 | 1992-08-13 | Cpu having pipelined instruction unit and effective address calculation unit with retained virtual address capability |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07504520A true JPH07504520A (ja) | 1995-05-18 |
JP3423310B2 JP3423310B2 (ja) | 2003-07-07 |
Family
ID=25291194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51479293A Expired - Lifetime JP3423310B2 (ja) | 1992-02-27 | 1993-08-13 | 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu |
Country Status (7)
Country | Link |
---|---|
US (1) | US5404467A (ja) |
EP (1) | EP0628184B1 (ja) |
JP (1) | JP3423310B2 (ja) |
AU (1) | AU665368B2 (ja) |
CA (1) | CA2124333A1 (ja) |
DE (1) | DE69227465T2 (ja) |
WO (1) | WO1993017384A1 (ja) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680565A (en) * | 1993-12-30 | 1997-10-21 | Intel Corporation | Method and apparatus for performing page table walks in a microprocessor capable of processing speculative instructions |
US5721857A (en) * | 1993-12-30 | 1998-02-24 | Intel Corporation | Method and apparatus for saving the effective address of floating point memory operations in an out-of-order microprocessor |
TW253946B (en) * | 1994-02-04 | 1995-08-11 | Ibm | Data processor with branch prediction and method of operation |
US5515522A (en) * | 1994-02-24 | 1996-05-07 | Hewlett-Packard Company | Coherence index generation for use by an input/output adapter located outside of the processor to detect whether the updated version of data resides within the cache |
US5652859A (en) * | 1995-08-17 | 1997-07-29 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues |
US5701448A (en) * | 1995-12-15 | 1997-12-23 | Cyrix Corporation | Detecting segment limit violations for branch target when the branch unit does not supply the linear address |
JP3683968B2 (ja) * | 1996-02-09 | 2005-08-17 | 富士通株式会社 | 情報処理装置 |
US5794024A (en) * | 1996-03-25 | 1998-08-11 | International Business Machines Corporation | Method and system for dynamically recovering a register-address-table upon occurrence of an interrupt or branch misprediction |
US5822577A (en) * | 1996-05-01 | 1998-10-13 | International Business Machines Corporation | Context oriented branch history table |
US5893930A (en) * | 1996-07-12 | 1999-04-13 | International Business Machines Corporation | Predictive translation of a data address utilizing sets of associative entries stored consecutively in a translation lookaside buffer |
FR2757306B1 (fr) * | 1996-12-17 | 1999-01-15 | Sgs Thomson Microelectronics | Procede et dispositif de lecture avec prediction d'une memoire |
US5822576A (en) * | 1997-03-26 | 1998-10-13 | International Business Machines Corporation | Branch history table with branch pattern field |
TW405090B (en) * | 1997-04-04 | 2000-09-11 | Ibm | Predictive cache loading by program address discontinuity history |
US6490658B1 (en) * | 1997-06-23 | 2002-12-03 | Sun Microsystems, Inc. | Data prefetch technique using prefetch cache, micro-TLB, and history file |
US6175898B1 (en) * | 1997-06-23 | 2001-01-16 | Sun Microsystems, Inc. | Method for prefetching data using a micro-TLB |
US6226763B1 (en) * | 1998-07-29 | 2001-05-01 | Intel Corporation | Method and apparatus for performing cache accesses |
US6230260B1 (en) | 1998-09-01 | 2001-05-08 | International Business Machines Corporation | Circuit arrangement and method of speculative instruction execution utilizing instruction history caching |
US6275918B1 (en) | 1999-03-16 | 2001-08-14 | International Business Machines Corporation | Obtaining load target operand pre-fetch address from history table information upon incremented number of access indicator threshold |
US7085915B1 (en) | 2000-02-29 | 2006-08-01 | International Business Machines Corporation | Programmable prefetching of instructions for a processor executing a non-procedural program |
JP3482185B2 (ja) * | 2000-12-11 | 2003-12-22 | 松下電器産業株式会社 | コンピュータ装置 |
US7165169B2 (en) | 2001-05-04 | 2007-01-16 | Ip-First, Llc | Speculative branch target address cache with selective override by secondary predictor based on branch instruction type |
US6886093B2 (en) * | 2001-05-04 | 2005-04-26 | Ip-First, Llc | Speculative hybrid branch direction predictor |
US7134005B2 (en) * | 2001-05-04 | 2006-11-07 | Ip-First, Llc | Microprocessor that detects erroneous speculative prediction of branch instruction opcode byte |
US7200740B2 (en) * | 2001-05-04 | 2007-04-03 | Ip-First, Llc | Apparatus and method for speculatively performing a return instruction in a microprocessor |
US6895498B2 (en) * | 2001-05-04 | 2005-05-17 | Ip-First, Llc | Apparatus and method for target address replacement in speculative branch target address cache |
US20020194461A1 (en) * | 2001-05-04 | 2002-12-19 | Ip First Llc | Speculative branch target address cache |
US7707397B2 (en) * | 2001-05-04 | 2010-04-27 | Via Technologies, Inc. | Variable group associativity branch target address cache delivering multiple target addresses per cache line |
US7165168B2 (en) * | 2003-01-14 | 2007-01-16 | Ip-First, Llc | Microprocessor with branch target address cache update queue |
US7234045B2 (en) * | 2001-07-03 | 2007-06-19 | Ip-First, Llc | Apparatus and method for handling BTAC branches that wrap across instruction cache lines |
US7162619B2 (en) * | 2001-07-03 | 2007-01-09 | Ip-First, Llc | Apparatus and method for densely packing a branch instruction predicted by a branch target address cache and associated target instructions into a byte-wide instruction buffer |
US7203824B2 (en) * | 2001-07-03 | 2007-04-10 | Ip-First, Llc | Apparatus and method for handling BTAC branches that wrap across instruction cache lines |
US6823444B1 (en) * | 2001-07-03 | 2004-11-23 | Ip-First, Llc | Apparatus and method for selectively accessing disparate instruction buffer stages based on branch target address cache hit and instruction stage wrap |
US6877083B2 (en) | 2001-10-16 | 2005-04-05 | International Business Machines Corporation | Address mapping mechanism for behavioral memory enablement within a data processing system |
US6675279B2 (en) * | 2001-10-16 | 2004-01-06 | International Business Machines Corporation | Behavioral memory enabled fetch prediction mechanism within a data processing system |
US6792521B2 (en) | 2001-10-16 | 2004-09-14 | International Business Machines Corporation | Behavioral memory mechanism for a data processing system |
US7159097B2 (en) * | 2002-04-26 | 2007-01-02 | Ip-First, Llc | Apparatus and method for buffering instructions and late-generated related information using history of previous load/shifts |
JP3798998B2 (ja) * | 2002-06-28 | 2006-07-19 | 富士通株式会社 | 分岐予測装置および分岐予測方法 |
US7185186B2 (en) * | 2003-01-14 | 2007-02-27 | Ip-First, Llc | Apparatus and method for resolving deadlock fetch conditions involving branch target address cache |
US7152154B2 (en) * | 2003-01-16 | 2006-12-19 | Ip-First, Llc. | Apparatus and method for invalidation of redundant branch target address cache entries |
US7143269B2 (en) * | 2003-01-14 | 2006-11-28 | Ip-First, Llc | Apparatus and method for killing an instruction after loading the instruction into an instruction queue in a pipelined microprocessor |
US7178010B2 (en) * | 2003-01-16 | 2007-02-13 | Ip-First, Llc | Method and apparatus for correcting an internal call/return stack in a microprocessor that detects from multiple pipeline stages incorrect speculative update of the call/return stack |
US7237098B2 (en) * | 2003-09-08 | 2007-06-26 | Ip-First, Llc | Apparatus and method for selectively overriding return stack prediction in response to detection of non-standard return sequence |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3559183A (en) * | 1968-02-29 | 1971-01-26 | Ibm | Instruction sequence control |
GB1506972A (en) * | 1976-02-06 | 1978-04-12 | Int Computers Ltd | Data processing systems |
USRE32493E (en) * | 1980-05-19 | 1987-09-01 | Hitachi, Ltd. | Data processing unit with pipelined operands |
US4430706A (en) * | 1980-10-27 | 1984-02-07 | Burroughs Corporation | Branch prediction apparatus and method for a data processing system |
US4477872A (en) * | 1982-01-15 | 1984-10-16 | International Business Machines Corporation | Decode history table for conditional branch instructions |
EP0109655B1 (en) * | 1982-11-17 | 1991-07-24 | Nec Corporation | Instruction prefetching device with prediction of a branch destination address |
DE3479356D1 (en) * | 1983-12-23 | 1989-09-14 | Hitachi Ltd | A data processor with control of the significant bit lenghts of general purpose registers |
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 |
WO1987005417A1 (en) * | 1986-02-28 | 1987-09-11 | Nec Corporation | Instruction prefetch control apparatus |
US4991080A (en) * | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
US4868740A (en) * | 1986-06-04 | 1989-09-19 | Hitachi, Ltd. | System for processing data with multiple virtual address and data word lengths |
US4901233A (en) * | 1987-07-20 | 1990-02-13 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US4893233A (en) * | 1988-04-18 | 1990-01-09 | Motorola, Inc. | Method and apparatus for dynamically controlling each stage of a multi-stage pipelined data unit |
JP2722523B2 (ja) * | 1988-09-21 | 1998-03-04 | 日本電気株式会社 | 命令先取り装置 |
EP0365322A3 (en) * | 1988-10-19 | 1991-11-27 | Hewlett-Packard Company | Method and apparatus for exception handling in pipeline processors having mismatched instruction pipeline depths |
US5303356A (en) * | 1990-05-04 | 1994-04-12 | International Business Machines Corporation | System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag |
-
1992
- 1992-08-13 AU AU24723/92A patent/AU665368B2/en not_active Expired
- 1992-08-13 CA CA002124333A patent/CA2124333A1/en not_active Abandoned
- 1992-08-13 EP EP92918413A patent/EP0628184B1/en not_active Expired - Lifetime
- 1992-08-13 WO PCT/US1992/006813 patent/WO1993017384A1/en active IP Right Grant
- 1992-08-13 DE DE69227465T patent/DE69227465T2/de not_active Expired - Lifetime
-
1993
- 1993-08-13 JP JP51479293A patent/JP3423310B2/ja not_active Expired - Lifetime
-
1994
- 1994-06-16 US US08/261,318 patent/US5404467A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0628184B1 (en) | 1998-10-28 |
EP0628184A1 (en) | 1994-12-14 |
AU665368B2 (en) | 1996-01-04 |
AU2472392A (en) | 1993-09-13 |
US5404467A (en) | 1995-04-04 |
JP3423310B2 (ja) | 2003-07-07 |
WO1993017384A1 (en) | 1993-09-02 |
CA2124333A1 (en) | 1993-09-02 |
DE69227465D1 (de) | 1998-12-03 |
DE69227465T2 (de) | 1999-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07504520A (ja) | 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu | |
US5113515A (en) | Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer | |
US5125083A (en) | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system | |
KR880002660B1 (ko) | 중앙 처리장치 | |
EP0381470B1 (en) | Processing of memory access exceptions along with prefetched instructions within the instruction pipeline of a virtual memory system-based digital computer | |
JP3542021B2 (ja) | セット予測によりセット連想キャッシュの遅延を少なくする方法及び装置 | |
JP3907809B2 (ja) | 複合分岐予測およびキャッシュ先取りをするマイクロプロセッサ | |
JP3588755B2 (ja) | コンピュータシステム | |
EP0381447B1 (en) | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system | |
EP0380859A2 (en) | Source list, pointer queues and result queues | |
US5930832A (en) | Apparatus to guarantee TLB inclusion for store operations | |
WO1995016954A1 (fr) | Circuit de traitement d'instructions dans un systeme informatique | |
US8171240B1 (en) | Misalignment predictor | |
JP2003515214A (ja) | 計算を狭いオペランドで実施するための方法と装置 | |
KR19990072271A (ko) | 고성능의추론적인오정렬로드연산 | |
JP3848161B2 (ja) | アドレス変換履歴テーブルを用いたメモリアクセス装置及び方法 | |
JPS60225262A (ja) | 2重キヤツシユメモリを有するパイプラインプロセツサ | |
JP3717524B2 (ja) | ストアおよびロードミス命令を完了するための複数のポインタを備えるロード/ストアユニット | |
JP2532560B2 (ja) | 高機能な例外処理を行うデ―タ処理装置 | |
IE901517A1 (en) | Virtual instruction cache refill algorithm | |
EP0912930A1 (en) | A functional unit with a pointer for mispredicted branch resolution, and a superscalar microprocessor employing the same | |
JPH0769809B2 (ja) | データ処理装置 | |
IE901525A1 (en) | Processing of memory access exceptions with pre-fetched¹instructions within the instruction pipeline of a memory¹system based digital computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100425 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 10 |