JP3675466B2 - スーパースケーラマイクロプロセサ - Google Patents
スーパースケーラマイクロプロセサ Download PDFInfo
- Publication number
- JP3675466B2 JP3675466B2 JP2004006069A JP2004006069A JP3675466B2 JP 3675466 B2 JP3675466 B2 JP 3675466B2 JP 2004006069 A JP2004006069 A JP 2004006069A JP 2004006069 A JP2004006069 A JP 2004006069A JP 3675466 B2 JP3675466 B2 JP 3675466B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- location
- stored
- buffer
- execution result
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3838—Dependency mechanisms, e.g. register scoreboarding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
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
下記のものは、所有権を同じくし、係属中の特許申請である:
*スパースケーラーRISC命令スケジューリング」、出願番号07/260,719、1991年3月31日に申請(Attorney Docket No.SPO35);
*「高性能RISCマイクロプロセサアーキテクチャ」、出願番号07/817,810、1992年1月8日申請(Attorney Docket No.SPO15)。
この方法によって命令実行速度がクロック速度を越えることが可能になる。1クロックサイクル当り多くの独立した命令を発したり、その実行を始めるプロセサはスーパースケーラープロセサとして知られている。
スーパースケーラーシステムではハードウェアは、1つのクロックサイクル中に独立した少数の命令を実行することが可能である。データ従属性、手続き従属性、又は資源に関する不一致がないかぎり1つのクロックサイクル中に複数の命令を実行することが可能である。そのような従属性又は不一致があるときには、命令列のうち最初のもののみが実行可能となる。その結果、スーパースケーラーアーキテクチャの複数の機能ユニットを十分に活用できなくなる。
このことにより、リオーダバッファは、より簡単な循環的にアドレスされるレジスタアレーではなく、真のFIFOとして実現されなくてはならない。
1.概要
本発明は、プログラムに対しては命令が元のプログラムの順序通り順番に実行されているようにみえるように、完了した命令をリタイアさせるシステム及び方法を提供する。本発明の方式は、順不同の命令の結果(プログラムの順序通り実行されていない命令の結果)をすべて、それ以前のすべての命令が例外なく宗了するまで、一時バッファに記憶することである。その後その結果は一時バッファから、公式な状態を表すレジスタアレーに転送される。
2.環境
図1は、順不同命令を発することが可能な、スーパースケーラ命令実行ユニット(IEU;Instruction Execution Unit)のブロックダイアグラムである。図1において、汎用レジスタを持ち、多重ポートを持つ2つのレジスタファイル102A、102Bがある。各レジスタファイル102は、5つの読み込みポート及び2つの書き込みポートを提供する。書き込みポートのそれぞれはサイクル当り2つの書き込みが可能である。一般的に、レジスタファイル102Aは整数データのみを保持するが、レジスタファイル102Bはフローティングポイント及び整数データの双方を保持する。
IEU制御ロジック200が行う他の機能は、どの命令を発行してもよいかを決定することである。命令発行器208は、適切な機能ユニット104に命令を発し実行させる。RRC204内の回路は、命令ウインドウ202中のどの命令が命令発行ができる状態にあるかを決定し、命令発行器208にビットマップを送り、どの命令が命令発行のできる状態にあるかを示す。
命令発行器208は、マルチプレクサ210に制御信号209を出力し、機能ユニット104にどの命令を送るべきかを伝える。「命令発行器208は、さらに制御信号211をマルチプレクサ212に送り、それが、その命令の結果を受け取るレジスタを構成するための適切なレジスタアドレスをそのレジスタに送れるよう、そのマルチプレクサを構成する。機能ユニット104の状況によって、命令発行器208は、ひとつのクロックサイクルに複数の命令を発してもよい。
3.実現法
図4は命令リタイアメントユニット400(IRU400と呼ぶ)の高水準ダイアグラムを示す。IRU400及びその機能は主にレジスタファイル102及びリタイアメント制御ブロック409(RCB;retirement control b1ock) に含まれている。図4に示すごとく、環境によって行われる機能も、適切な命令リタイアに極めて重要である。
リタイア制御ブロック409が保留命令より前の(プログラムの順序で)すべての命令が完了したという報告を受けると、リタイア制御ブロック409はその保留命令がリタイア可能と決定する。
4.本発明の追加的特徴
IRU200は他のユニットにもいつ命令がリタイアするかを通知する。
IRU200は、命令取り出しユニット(IFU;instruction fetch unit)にいつIRUがプロセサの状態を変更したかを通知する。このようにして、IFUはIEUIOOと一貫性を維持することができる。IFUに送られる状態情報は、プログラムカウンタを更新しIFUからさらに命令を要求するのに必要な情報である。上の例では、4つの命令がリタイアするとき、IFUはPCを4だけ進め、4つの命令のバケットをもうひとつ取り出すことが可能である。
Claims (40)
- 命令を格納するための第1および第2の保持位置を有すると共に、前記第1の保持位置に格納されている命令がリタイアすると、前記第2の保持位置に格納されている命令が前記第1の保持位置に格納される命令ウィンドウと、
命令をプログラム順序外で実行する複数の機能ユニットと、
各命令の実行結果がストアされる格納位置を有するバッファと、
前記命令ウィンドウにおける前記命令の保持位置の変化にかかわらず、前記バッファにおける不動の格納位置を示すアドレスを、前記命令ウィンドウの各保持位置に含まれる各命令にユニークに関連付けるスーパースカラーレジスタリネーミング回路と、
リタイアされた命令の実行結果を提供するように参照される複数のアレイ位置を含むレジスタアレイと、
実行された命令がリタイア可能か否かを決定するリタイアメント制御ブロックと、
リタイア可能な各命令の実行結果をレジスタアレイ内のアレイ位置に関連付けてリタイア可能な命令をリタイアさせる命令リタイアメントユニットとを
備えた1つ以上の命令をプログラム順序外で実行するように構成されたスーパースカラープロセッサ。 - 前記命令ウィンドウには第1命令と第2命令とが含まれ、
プログラム順序において第1命令は第2命令より早く現れ、
第2命令は第1命令より前に実行され、
第2命令の実行結果は第1命令の実行結果がバッファにストアされる前にバッファにストアされる請求項1記載のスーパースカラープロセッサ。 - レジスタリネーミング回路は第1命令に第1のユニークなアドレスを関連付け、第2命令に第2のユニークなアドレスを関連付け、
バッファは、第1の格納位置と第2の格納位置を有し、
第1のユニークなアドレスは、第1命令実行結果がストアされるバッファの第1の格納位置を示し、
第2のユニークなアドレスは、第2命令実行結果がストアされるバッファの第2の格納位置を示する請求項2記載のスーパースカラープロセッサ。 - 第1命令と第2命令はほぼ同時にリタイアする請求項3記載のスーパースカラープロセッサ。
- 第1命令の実行結果と第2命令の実行結果は、ほぼ同時にレジスタアレイの各レジスタロケーションに関係付けられる請求項3記載のスーパースカラープロセッサ。
- 第2命令は、第1命令の実行結果がバッファにストアされる前にはリタイアされない請求項2記載のスーパースカラープロセッサ。
- リタイアする命令グループは少なくとも2命令からなる請求項1記載のスーパースカラープロセッサ。
- 第1の複数の命令は第1命令を含み、第2の複数の命令は第2命令を含み、第1の複数の命令は第2の複数の命令に対してプログラム順序において早く現れる請求項2記載のスーパースカラープロセッサ。
- 命令リタイアメントユニットは、1クロックサイクルに少なくとも2命令をリタイアさせる構成である請求項7記載のスーパースカラープロセッサ。
- 実行結果の関連付けは、アレイのロケーションにストアされる値の更新であり、アレイはプロセッサのインオーダ状態を提供するように参照される請求項1記載のスーパースカラープロセッサ。
- プログラム順序において第1命令は第2命令より早く現れ、この第1命令と第2命令を受け取る段階、
命令を格納するための第1および第2の保持位置を有すると共に、前記第1の保持位置に格納されている命令がリタイアすると、前記第2の保持位置に格納されている命令を前記第1の保持位置に格納する命令ウィンドウにおける前記命令の保持位置の変化にかかわらず、実行時に第1命令実行結果がストアされるバッファの第1のロケーションを示す不動のアドレスを前記第1命令に付し、実行時に第2命令実行結果がストアされるバッファの第2のロケーションを示す不動のアドレスを前記第2命令に付す段階、
第2命令に付されたアドレスを用いて第2命令の実行結果をバッファ内の第2ロケーションにストアする段階、
第1命令に付されたアドレスを用いて第1命令の実行結果をバッファ内の第1ロケーションにストアする段階であって、第2命令は第1命令に対してプログラム順序外で実行される段階、
第1命令がリタイア可能か否か決定する段階、
第2命令がリタイア可能か否か決定する段階、
バッファのアレイ内のロケーションにストアされた第1命令の実行結果と第2命令の実行結果とを関連付けることにより、第1命令と第2命令をほぼ同時にリタイアさせる段階であって、第1命令の実行結果と第2命令の実行結果が、それぞれ第1ロケーションと第2ロケーションにおいてバッファから特定される段階、
を含むプログラム順序外で命令を実行するスーパースカラープロセッサの命令リタイア方法。 - 第1の複数の命令と第2の複数の命令を受け取る段階であって、第1の複数の命令が第2の複数の命令よりプログラム順序において早く現れ、第1の複数の命令が第1命令を含み、第2の複数の命令が第2命令を含む段階をさらに有する請求項11記載の方法。
- 第1命令と第2命令がほぼ同時にリタイアする請求項12記載の方法。
- 1クロック内で第1命令の実行結果をアレイ内の第1ロケーションに関連付け、第2命令の実行結果をアレイ内の第2ロケーションに関連付けで第1命令と第2命令をほぼ同時にリタイアさせる請求項11記載の方法。
- 第2命令がリタイア可能か否かは、第1命令の実行結果のバッファへのストアにより決定される請求項14記載の方法。
- さらに、アレイ内の第1ロケーションを参照して第1命令の実行結果を決定することを含む請求項14記載の方法。
- 命令グループ前記第1および第2命令は複数の命令から選択される請求項11記載の方法。
- 第1命令と第2命令の実行結果がストアされるバッファのロケーションは物理的な宛て先を含む請求項17記載の方法。
- 実行結果の関連付けは、アレイのロケーションにストアされる値の更新であり、アレイはプロセッサのインオーダ状態を提供するように参照される請求項11記載の方法。
- 命令を格納するための第1および第2の保持位置を有すると共に、前記第1の保持位置に格納されている命令がリタイアすると、前記第2の保持位置に格納されている命令が前記第1の保持位置に格納される命令ウィンドウと、
前記命令ウィンドウにおける前記命令の保持位置の変化にかかわらず、バッファにおける不動の格納位置を示すアドレスを、前記命令ウィンドウの各保持位置に含まれる各命令にユニークに関連付けるスーパースカラーレジスタリネーミング部であって、1クロック内に1以上の命令にアドレスを関連付けるスーパースカラーレジスタリネーミング部と、
レジスタリネーミング部に結合され、命令の実行結果を、各命令に関連付けられたアドレスで記述されるロケーションにストアするバッファと、
前記バッファに結合され、命令をプログラム順序外で実行する複数の機能ユニットと、
リタイアする命令の実行結果を特定するように構成された複数のロケーションを含むアレイと、
実行される命令がリタイア可能か否かを決定する制御ブロック部と、
前記制御ブロック部と前記アレイに結合され、リタイア可能な命令の実行結果をアレイのロケーションに関連付けることにより、リタイア可能な命令をリタイアさせ、リタイア可能な命令の実行結果がそれぞれバッファの特定のロケーションにストアされる命令リタイア部と、
を有するプロセッサと、プログラム順序を有する命令をストアするように構成されたメモリとを備えたコンピュータシステム。 - 前記命令ウィンドウには第1命令、第2命令が含まれ、
プログラム順序では第1命令は第2命令より前に実行可能であり、
第2命令は第1命令より前に実行され、
第2命令の実行結果は第1命令の実行結果がバッファにストアされる前にバッファにストアされる、
請求項20記載のコンピュータシステム。 - レジスタリネーミング部は第1アドレスを第1命令に関連付け、第2アドレスを第2命令に関連付け、
バッファは第1、第2ロケーションを含み、
第1アドレスは第1命令の実行結果がストアされるバッファの第1ロケーションを特定し、
第2アドレスは第2命令の実行結果がストアされるバッファの第2ロケーションを特定する、
請求項21記載のコンピュータシステム。 - 第1命令と第2命令はほぼ同時にリタイアする請求項22記載のコンピュータシ
ステム。 - 第1命令と第2命令の実行結果は1クロックサイクル内にアレイの各ロケーションに関連付けられる請求項22記載のコンピュータシステム。
- 第2命令は第1命令の実行結果がバッファの第1ロケーションにストアされるまでリタイアできない請求項24記載のコンピュータシステム。
- リタイア可能な命令個数は、2個、3個および4個のいずれかである請求項20記載のコンピュータシステム。
- 命令の実行結果は、命令に関連付けられたアドレスに応答してバッファの第1ロケーションにストアされる請求項26記載のコンピュータシステム。
- 第1の複数の命令は、第1命令を含み、第2の複数の命令は第2命令を含み、
第1の複数の命令は、第2の複数の命令よりプログラム順序において早く現れる、請求項22記載のコンピュータシステム。 - 実行結果の関連付けは、アレイのロケーションにストアされる値の更新であり、アレイはプロセッサのインオーダ状態を提供するように参照される請求項20記載のコンピュータシステム。
- プログラム順序において第1命令は第2命令より早く現れ、この第1命令と第2命令を同時に受け取る段階、
1クロックサイクル内に、命令を格納するための第1および第2の保持位置を有すると共に、前記第1の保持位置に格納されている命令がリタイアすると、前記第2の保持位置に格納されている命令を前記第1の保持位置に格納する命令ウィンドウにおける前記命令の保持位置の変化にかかわらず、実行時に第1命令実行結果がストアされるバッファの第1のロケーションを示す不動のアドレスを前記第1命令に付し、実行時に第2命令実行結果がストアされるバッファの第2のロケーションを示す不動のアドレスを前記第2命令に付す段階、
第2命令に付されたアドレスを用いて第2命令の実行結果をバッファ内の第2ロケーションにストアする段階、
第1命令に付されたアドレスを用いて第1命令の実行結果をバッファ内の第1ロケーションにストアする段階であって、第2命令は第1命令に対してプログラム順序外で実行される段階、
第1命令がリタイア可能か否か決定する段階、
第2命令がリタイア可能か否か決定する段階、
バッファの第1ロケーションにストアされた第1命令の実行結果をレジスタアレイの第1ロケーションに書き込こむことと、バッファ内の第2ロケーションにストアされた第2命令の実行結果をレジスタアレイの第2ロケーションに書き込みこととをほぼ同時に行うことにより、第1命令と第2命令をほぼ同時にリタイアさせる段階と、
を含むプログラム順序外で命令を実行するスーパースカラープロセッサの命令リタイア方法。 - 第2命令の実行結果のストアは、第1命令の実行結果のストアより前である請求項30記載の方法。
- 第3命令を受け取る段階、
実行時に第3命令の実行結果がストアされるバッファの第3ロケーションを決定する段階、
第3命令の実行結果をバッファの第3ロケーションにストアする段階、
第3命令がリタイア可能か否かを決定する段階、
をさらに有し、
バッファの第1ロケーションにストアされた第1命令の実行結果をレジスタアレイの第1ロケーションに書き込こむこと、バッファの第2ロケーションにストアされた第2命令の実行結果をレジスタアレイの第2ロケーションに書き込むこと、バッファの第3ロケーションにストアされた第3命令の実行結果をレジスタアレイの第3ロケーションに書き込むことをほぼ同時に行うことにより、第1命令、第2命令、第3命令をほぼ同時にリタイアさせることを含む請求項30記載の方法。 - 第1命令と第2命令の受け取りは、第1命令を含む第1の複数の命令の受け取りと、第2命令を含む第2の複数の命令の受け取りを含み、第1の複数の命令は、第2の複数の命令に対してプログラム順序で早く現れる請求項30記載の方法。
- バッファの第1ロケーションにストアされた第1命令の実行結果をレジスタアレイの第1ロケーションに書き込こむことと、バッファの第2ロケーションにストアされた第2命令の実行結果をレジスタアレイの第2ロケーションに書き込むことをほぼ同時に行うことは、バッファの第1ロケーションにストアされた第1命令の実行結果をレジスタアレイの第1ロケーションに書き込こむことと、バッファの第2ロケーションにストアされた第2命令の実行結果をレジスタアレイの第2ロケーションに書き込むことを1クロックサイクル内に行うことを含む請求項30記載の方法。
- レジスタアレイにストアされる実行結果はスーパースカラープロセッサのインオーダ状態を表している請求項30記載の方法。
- 命令を格納するための第1および第2の保持位置を有すると共に、前記第1の保持位置に格納されている命令がリタイアすると、前記第2の保持位置に格納されている命令が前記第1の保持位置に格納される命令ウィンドウと、
前記命令ウィンドウにおける前記命令の保持位置の変化にかかわらず、前記バッファにおける不動の格納位置をそれぞれ示す第1および第2アドレスのうち、第1アドレスを命令群から第1命令に関連付け、第2アドレスを命令群から第2命令に関連付けるスーパースカラーレジスタリネーミング回路と、
命令群から第1命令、第2命令をアウトオブオーダで実行する複数の機能ユニットと、
命令群からの第1命令と第2命令の実行結果をストアするバッファであって、第1命令と関連付けられた第1アドレスが、第1命令の実行結果をストアするバッファの第1のロケーションを表し、第2命令と関連付けられた第2アドレスが、第2命令の実行結果をストアするバッファの第2のロケーションを表すバッファと、
リタイアした命令の実行結果をストアする複数のレジスタアレイロケーションを有するレジスタアレイと、
第1命令がリタイア可能か否か決定し、第2命令がリタイア可能か否か決定するリタイアメント制御ブロックと、
バッファの第1のロケーションにストアされた第1命令の実行結果を第1レジスタアレイロケーションにストアすることと、バッファの第2のロケーションにストアされた第2命令の実行結果を第2レジスタアレイロケーションにストアすることとをほぼ同時に行うことにより、第1命令と第2命令をリタイアさせる命令リタイアメントユニットとを含む、
1以上の命令をアウトオブオーダで実行するスーパースカラープロセッサ。 - 第1アドレスが1クロックサイクルで命令群から第1命令に関連付けられ、第2アドレスが1クロックサイクルで命令群から第2命令に関連付けられる請求項36記載のスーパースカラープロセッサ。
- バッファの第1のロケーションにストアされた第1命令の実行結果が1クロックサイクルで第1レジスタアレイロケーションにストアされ、
バッファの第2のロケーションにストアされた第2命令の実行結果が1クロックサイクルで第2レジスタアレイロケーションにストアされる請求項36記載のスーパースカラープロセッサ。 - レジスタアレイの複数のレジスタアレイロケーションにストアされた実行結果はスーパースカラープロセッサのインオーダ状態を表している請求項36記載のスーパースカラープロセッサ。
- 第1命令の実行結果がバッファにストアされる前には第2命令はリタイアされない請求項36記載のスーパースカラープロセッサ。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US87745192A | 1992-05-01 | 1992-05-01 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP51912893A Division JP3637920B2 (ja) | 1992-05-01 | 1993-04-27 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005062265A Division JP3781051B2 (ja) | 1992-05-01 | 2005-03-07 | スーパースケーラマイクロプロセサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004145903A JP2004145903A (ja) | 2004-05-20 |
| JP3675466B2 true JP3675466B2 (ja) | 2005-07-27 |
Family
ID=25369990
Family Applications (11)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP51912893A Expired - Fee Related JP3637920B2 (ja) | 1992-05-01 | 1993-04-27 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2004006069A Expired - Lifetime JP3675466B2 (ja) | 1992-05-01 | 2004-01-13 | スーパースケーラマイクロプロセサ |
| JP2004343857A Expired - Fee Related JP3788470B2 (ja) | 1992-05-01 | 2004-11-29 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2004381020A Expired - Fee Related JP3788472B2 (ja) | 1992-05-01 | 2004-12-28 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2005019696A Expired - Lifetime JP3832487B2 (ja) | 1992-05-01 | 2005-01-27 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2005062265A Expired - Lifetime JP3781051B2 (ja) | 1992-05-01 | 2005-03-07 | スーパースケーラマイクロプロセサ |
| JP2005109631A Expired - Lifetime JP3824006B2 (ja) | 1992-05-01 | 2005-04-06 | スーパースケーラマイクロプロセサ |
| JP2005134892A Expired - Lifetime JP3818315B2 (ja) | 1992-05-01 | 2005-05-06 | スーパースケーラマイクロプロセサ |
| JP2005165024A Expired - Lifetime JP3781052B2 (ja) | 1992-05-01 | 2005-06-06 | スーパースケーラマイクロプロセサ |
| JP2006034741A Expired - Lifetime JP3858939B2 (ja) | 1992-05-01 | 2006-02-13 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2006112998A Expired - Fee Related JP3870973B2 (ja) | 1992-05-01 | 2006-04-17 | スーパースケーラマイクロプロセサ |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP51912893A Expired - Fee Related JP3637920B2 (ja) | 1992-05-01 | 1993-04-27 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
Family Applications After (9)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004343857A Expired - Fee Related JP3788470B2 (ja) | 1992-05-01 | 2004-11-29 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2004381020A Expired - Fee Related JP3788472B2 (ja) | 1992-05-01 | 2004-12-28 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2005019696A Expired - Lifetime JP3832487B2 (ja) | 1992-05-01 | 2005-01-27 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2005062265A Expired - Lifetime JP3781051B2 (ja) | 1992-05-01 | 2005-03-07 | スーパースケーラマイクロプロセサ |
| JP2005109631A Expired - Lifetime JP3824006B2 (ja) | 1992-05-01 | 2005-04-06 | スーパースケーラマイクロプロセサ |
| JP2005134892A Expired - Lifetime JP3818315B2 (ja) | 1992-05-01 | 2005-05-06 | スーパースケーラマイクロプロセサ |
| JP2005165024A Expired - Lifetime JP3781052B2 (ja) | 1992-05-01 | 2005-06-06 | スーパースケーラマイクロプロセサ |
| JP2006034741A Expired - Lifetime JP3858939B2 (ja) | 1992-05-01 | 2006-02-13 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| JP2006112998A Expired - Fee Related JP3870973B2 (ja) | 1992-05-01 | 2006-04-17 | スーパースケーラマイクロプロセサ |
Country Status (6)
| Country | Link |
|---|---|
| US (8) | US6131157A (ja) |
| EP (1) | EP0638183B1 (ja) |
| JP (11) | JP3637920B2 (ja) |
| KR (2) | KR950701437A (ja) |
| DE (1) | DE69308548T2 (ja) |
| WO (1) | WO1993022722A1 (ja) |
Families Citing this family (77)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
| DE69311330T2 (de) | 1992-03-31 | 1997-09-25 | Seiko Epson Corp., Tokio/Tokyo | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
| EP0638183B1 (en) * | 1992-05-01 | 1997-03-05 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
| WO1994016384A1 (en) * | 1992-12-31 | 1994-07-21 | Seiko Epson Corporation | System and method for register renaming |
| US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
| US6128721A (en) * | 1993-11-17 | 2000-10-03 | Sun Microsystems, Inc. | Temporary pipeline register file for a superpipelined superscalar processor |
| US5546599A (en) * | 1994-03-31 | 1996-08-13 | International Business Machines Corporation | Processing system and method of operation for processing dispatched instructions with detected exceptions |
| US5559976A (en) * | 1994-03-31 | 1996-09-24 | International Business Machines Corporation | System for instruction completion independent of result write-back responsive to both exception free completion of execution and completion of all logically prior instructions |
| US5651124A (en) * | 1995-02-14 | 1997-07-22 | Hal Computer Systems, Inc. | Processor structure and method for aggressively scheduling long latency instructions including load/store instructions while maintaining precise state |
| US5841999A (en) * | 1996-04-17 | 1998-11-24 | International Business Machines Corporation | Information handling system having a register remap structure using a content addressable table |
| US6108771A (en) * | 1997-12-19 | 2000-08-22 | International Business Machines Corporation | Register renaming with a pool of physical registers |
| EP1004959B1 (en) | 1998-10-06 | 2018-08-08 | Texas Instruments Incorporated | Processor with pipeline protection |
| US6898696B1 (en) * | 1999-06-14 | 2005-05-24 | International Business Machines Corporation | Method and system for efficiently restoring a processor's execution state following an interrupt caused by an interruptible instruction |
| WO2001014980A1 (en) * | 1999-08-19 | 2001-03-01 | Fujitsu Limited | Method for controlling operation of operating system of computer system, and recorded medium on which program therefor is recorded |
| US6553480B1 (en) * | 1999-11-05 | 2003-04-22 | International Business Machines Corporation | System and method for managing the execution of instruction groups having multiple executable instructions |
| US6601162B1 (en) * | 2000-01-19 | 2003-07-29 | Kabushiki Kaisha Toshiba | Processor which executes pipeline processing having a plurality of stages and which has an operand bypass predicting function |
| US7031992B2 (en) * | 2000-09-08 | 2006-04-18 | Quartics, Inc. | Hardware function generator support in a DSP |
| US7861104B2 (en) * | 2001-08-24 | 2010-12-28 | Broadcom Corporation | Methods and apparatus for collapsing interrupts |
| US7406587B1 (en) * | 2002-07-31 | 2008-07-29 | Silicon Graphics, Inc. | Method and system for renaming registers in a microprocessor |
| US20040128482A1 (en) * | 2002-12-26 | 2004-07-01 | Sheaffer Gad S. | Eliminating register reads and writes in a scheduled instruction cache |
| US7437532B1 (en) | 2003-05-07 | 2008-10-14 | Marvell International Ltd. | Memory mapped register file |
| US7096345B1 (en) | 2003-09-26 | 2006-08-22 | Marvell International Ltd. | Data processing system with bypass reorder buffer having non-bypassable locations and combined load/store arithmetic logic unit and processing method thereof |
| USH2212H1 (en) * | 2003-09-26 | 2008-04-01 | The United States Of America As Represented By The Secretary Of The Navy | Method and apparatus for producing an ion-ion plasma continuous in time |
| TWI246023B (en) * | 2003-11-26 | 2005-12-21 | Admtek Inc | Very long instruction word architecture |
| US7502725B2 (en) * | 2004-04-29 | 2009-03-10 | International Business Machines Corporation | Method, system and computer program product for register management in a simulation environment |
| US8230423B2 (en) * | 2005-04-07 | 2012-07-24 | International Business Machines Corporation | Multithreaded processor architecture with operational latency hiding |
| GB0605383D0 (en) * | 2006-03-17 | 2006-04-26 | Williams Paul N | Processing system |
| EP2011018B1 (en) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
| US8188170B2 (en) * | 2006-06-20 | 2012-05-29 | Chemtura Corporation | Polymers with low gel content and enhanced gas-fading |
| CN107368285B (zh) * | 2006-11-14 | 2020-10-09 | 英特尔公司 | 多线程架构 |
| JP4996945B2 (ja) * | 2007-02-28 | 2012-08-08 | 公立大学法人広島市立大学 | データ処理装置、データ処理方法 |
| JP5149567B2 (ja) * | 2007-08-29 | 2013-02-20 | キヤノン株式会社 | 画像処理装置及び方法 |
| US7882325B2 (en) * | 2007-12-21 | 2011-02-01 | Intel Corporation | Method and apparatus for a double width load using a single width load port |
| US7921280B2 (en) * | 2008-06-27 | 2011-04-05 | Intel Corporation | Selectively powered retirement unit using a partitioned allocation array and a partitioned writeback array |
| US8219784B2 (en) * | 2008-12-09 | 2012-07-10 | International Business Machines Corporation | Assigning and pre-decoding group ID and tag ID prior to dispatching instructions in out-of-order processor |
| US20110296437A1 (en) * | 2010-05-28 | 2011-12-01 | Devendra Raut | Method and apparatus for lockless communication between cores in a multi-core processor |
| US9104991B2 (en) * | 2010-07-30 | 2015-08-11 | Bank Of America Corporation | Predictive retirement toolset |
| EP3156896B1 (en) | 2010-09-17 | 2020-04-08 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
| KR101620676B1 (ko) | 2011-03-25 | 2016-05-23 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트 |
| CN108108188B (zh) | 2011-03-25 | 2022-06-28 | 英特尔公司 | 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段 |
| CN103547993B (zh) | 2011-03-25 | 2018-06-26 | 英特尔公司 | 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块 |
| US8886920B2 (en) | 2011-05-13 | 2014-11-11 | Oracle International Corporation | Associating tag to branch instruction to access array storing predicted target addresses for page crossing targets for comparison with resolved address at execution stage |
| US8862861B2 (en) | 2011-05-13 | 2014-10-14 | Oracle International Corporation | Suppressing branch prediction information update by branch instructions in incorrect speculative execution path |
| CN107729267B (zh) | 2011-05-20 | 2022-01-25 | 英特尔公司 | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 |
| US9442772B2 (en) | 2011-05-20 | 2016-09-13 | Soft Machines Inc. | Global and local interconnect structure comprising routing matrix to support the execution of instruction sequences by a plurality of engines |
| JP2013015912A (ja) * | 2011-06-30 | 2013-01-24 | Toshiba Corp | データ転送装置及びデータ転送方法 |
| US8683261B2 (en) | 2011-07-20 | 2014-03-25 | International Business Machines Corporation | Out of order millicode control operation |
| WO2013077876A1 (en) | 2011-11-22 | 2013-05-30 | Soft Machines, Inc. | A microprocessor accelerated code optimizer |
| KR101703401B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
| US10223111B2 (en) | 2011-12-22 | 2019-03-05 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in which integers in consecutive positions differ by a constant integer stride and where a smallest integer is offset from zero by an integer offset |
| WO2013095564A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in numerical order that differ by a constant stride |
| US10565283B2 (en) | 2011-12-22 | 2020-02-18 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of consecutive integers in numerical order |
| WO2013095580A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in which integers in consecutive positions differ by a constant integer stride and where a smallest integer is offset from zero by an integer offset |
| US20140281116A1 (en) | 2013-03-15 | 2014-09-18 | Soft Machines, Inc. | Method and Apparatus to Speed up the Load Access and Data Return Speed Path Using Early Lower Address Bits |
| US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
| US9436476B2 (en) | 2013-03-15 | 2016-09-06 | Soft Machines Inc. | Method and apparatus for sorting elements in hardware structures |
| US9627038B2 (en) | 2013-03-15 | 2017-04-18 | Intel Corporation | Multiport memory cell having improved density area |
| US9582322B2 (en) | 2013-03-15 | 2017-02-28 | Soft Machines Inc. | Method and apparatus to avoid deadlock during instruction scheduling using dynamic port remapping |
| US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
| WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
| US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
| US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
| WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
| US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
| EP2972845B1 (en) | 2013-03-15 | 2021-07-07 | Intel Corporation | A method for executing multithreaded instructions grouped onto blocks |
| US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
| WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
| US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
| WO2014151043A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
| CN106796506B (zh) | 2014-05-12 | 2019-09-27 | 英特尔公司 | 用于向自修改代码提供硬件支持的方法和装置 |
| US10691457B1 (en) * | 2017-12-13 | 2020-06-23 | Apple Inc. | Register allocation using physical register file bypass |
| US11269650B2 (en) * | 2018-12-29 | 2022-03-08 | Texas Instruments Incorporated | Pipeline protection for CPUs with save and restore of intermediate results |
| US11403067B2 (en) * | 2019-03-20 | 2022-08-02 | Micron Technology, Inc. | Memory array data structure for posit operations |
| US11194584B1 (en) * | 2019-07-19 | 2021-12-07 | Marvell Asia Pte, Ltd. | Managing out-of-order retirement of instructions |
| US11461106B2 (en) | 2019-10-23 | 2022-10-04 | Texas Instruments Incorporated | Programmable event testing |
| KR102616015B1 (ko) | 2021-12-28 | 2023-12-20 | 한국화학연구원 | 결정성 그래피틱 탄소계 물질이 무기물 매트릭스 내에 고 분산된 메탄 염소화 반응용 촉매 |
Family Cites Families (245)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3346851A (en) | 1964-07-08 | 1967-10-10 | Control Data Corp | Simultaneous multiprocessing computer system |
| US3718912A (en) | 1970-12-22 | 1973-02-27 | Ibm | Instruction execution unit |
| US3789365A (en) | 1971-06-03 | 1974-01-29 | Bunker Ramo | Processor interrupt system |
| US3771138A (en) | 1971-08-31 | 1973-11-06 | Ibm | Apparatus and method for serializing instructions from two independent instruction streams |
| US3913074A (en) | 1973-12-18 | 1975-10-14 | Honeywell Inf Systems | Search processing apparatus |
| US4034349A (en) | 1976-01-29 | 1977-07-05 | Sperry Rand Corporation | Apparatus for processing interrupts in microprocessing systems |
| US4128880A (en) | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
| US4212076A (en) | 1976-09-24 | 1980-07-08 | Giddings & Lewis, Inc. | Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former |
| JPS5757345Y2 (ja) | 1977-08-29 | 1982-12-09 | ||
| US4315314A (en) | 1977-12-30 | 1982-02-09 | Rca Corporation | Priority vectored interrupt having means to supply branch address directly |
| US4200927A (en) | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
| US4228495A (en) | 1978-12-19 | 1980-10-14 | Allen-Bradley Company | Multiprocessor numerical control system |
| US4315308A (en) | 1978-12-21 | 1982-02-09 | Intel Corporation | Interface between a microprocessor chip and peripheral subsystems |
| US4296470A (en) | 1979-06-21 | 1981-10-20 | International Business Machines Corp. | Link register storage and restore system for use in an instruction pre-fetch micro-processor interrupt system |
| JPS5616248A (en) | 1979-07-17 | 1981-02-17 | Matsushita Electric Ind Co Ltd | Processing system for interruption |
| US4262989A (en) * | 1979-11-05 | 1981-04-21 | Applied Fiberoptics | Surgical microscope with solenoid driven magnification changer |
| JPS6140650Y2 (ja) | 1980-01-31 | 1986-11-20 | ||
| JPS6028015B2 (ja) | 1980-08-28 | 1985-07-02 | 日本電気株式会社 | 情報処理装置 |
| US4434461A (en) | 1980-09-15 | 1984-02-28 | Motorola, Inc. | Microprocessor with duplicate registers for processing interrupts |
| JPS5757345A (en) | 1980-09-24 | 1982-04-06 | Toshiba Corp | Data controller |
| US4574349A (en) | 1981-03-30 | 1986-03-04 | International Business Machines Corp. | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction |
| US4814979A (en) | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
| JPS57200665A (en) | 1981-06-03 | 1982-12-08 | Toyota Motor Corp | Trouble shooting apparatus for pressure switch for increasing fuel supply used in electronically controlled fuel injection type internal-combustion engine with turbocharger |
| JPS57204125A (en) | 1981-06-10 | 1982-12-14 | Hitachi Ltd | Electron-ray drawing device |
| US4482950A (en) | 1981-09-24 | 1984-11-13 | Dshkhunian Valery | Single-chip microcomputer |
| US4498134A (en) | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
| JPS58151655A (ja) * | 1982-03-03 | 1983-09-08 | Fujitsu Ltd | 情報処理装置 |
| JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
| JPS5981899U (ja) | 1982-11-26 | 1984-06-02 | エスエムシ−株式会社 | 自動空気充填装置 |
| US4500963A (en) | 1982-11-29 | 1985-02-19 | The United States Of America As Represented By The Secretary Of The Army | Automatic layout program for hybrid microcircuits (HYPAR) |
| US4597054A (en) | 1982-12-02 | 1986-06-24 | Ncr Corporation | Arbiter circuit and method |
| US4594655A (en) | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
| US4807115A (en) * | 1983-10-07 | 1989-02-21 | Cornell Research Foundation, Inc. | Instruction issuing mechanism for processors with multiple functional units |
| GB8329509D0 (en) | 1983-11-04 | 1983-12-07 | Inmos Ltd | Computer |
| JPS60120439A (ja) | 1983-12-05 | 1985-06-27 | Nec Corp | 演算処理装置 |
| JPS60144830A (ja) | 1984-01-05 | 1985-07-31 | Nec Corp | 情報処理装置 |
| US4561051A (en) | 1984-02-10 | 1985-12-24 | Prime Computer, Inc. | Memory access method and apparatus in multiple processor systems |
| JPS60144830U (ja) | 1984-03-07 | 1985-09-26 | 株式会社クボタ | 脱穀装置 |
| US4648045A (en) | 1984-05-23 | 1987-03-03 | The Board Of Trustees Of The Leland Standford Jr. University | High speed memory and processor system for raster display |
| JPS6140650A (ja) | 1984-08-02 | 1986-02-26 | Nec Corp | マイクロコンピユ−タ |
| JPH0769818B2 (ja) | 1984-10-31 | 1995-07-31 | 株式会社日立製作所 | デ−タ処理装置 |
| US4991081A (en) | 1984-10-31 | 1991-02-05 | Texas Instruments Incorporated | Cache memory addressable by both physical and virtual addresses |
| US4775927A (en) | 1984-10-31 | 1988-10-04 | International Business Machines Corporation | Processor including fetch operation for branch instruction with control tag |
| JPS6141507U (ja) | 1984-11-30 | 1986-03-17 | 東芝テック株式会社 | オ−ブント−スタの打鈴装置 |
| JPH0652784B2 (ja) | 1984-12-07 | 1994-07-06 | 富士通株式会社 | ゲートアレイ集積回路装置及びその製造方法 |
| JPS61107434U (ja) | 1984-12-17 | 1986-07-08 | ||
| US4829467A (en) | 1984-12-21 | 1989-05-09 | Canon Kabushiki Kaisha | Memory controller including a priority order determination circuit |
| US5255384A (en) | 1985-02-22 | 1993-10-19 | Intergraph Corporation | Memory address translation system having modifiable and non-modifiable translation mechanisms |
| US4714994A (en) | 1985-04-30 | 1987-12-22 | International Business Machines Corp. | Instruction prefetch buffer control |
| JPH0762823B2 (ja) | 1985-05-22 | 1995-07-05 | 株式会社日立製作所 | デ−タ処理装置 |
| US4613941A (en) | 1985-07-02 | 1986-09-23 | The United States Of America As Represented By The Secretary Of The Army | Routing method in computer aided customization of a two level automated universal array |
| US4945479A (en) | 1985-07-31 | 1990-07-31 | Unisys Corporation | Tightly coupled scientific processing system |
| US4777588A (en) | 1985-08-30 | 1988-10-11 | Advanced Micro Devices, Inc. | General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance |
| US4719569A (en) | 1985-10-11 | 1988-01-12 | Sun Microsystems, Inc. | Arbitrator for allocating access to data processing resources |
| US4722049A (en) * | 1985-10-11 | 1988-01-26 | Unisys Corporation | Apparatus for out-of-order program execution |
| JPS62152043A (ja) | 1985-12-26 | 1987-07-07 | Nec Corp | 命令コ−ドアクセス制御方式 |
| DE3751503T2 (de) | 1986-03-26 | 1996-05-09 | Hitachi Ltd | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. |
| JP2545789B2 (ja) | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
| US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
| US4811208A (en) | 1986-05-16 | 1989-03-07 | Intel Corporation | Stack frame cache on a microprocessor chip |
| JP2684362B2 (ja) | 1986-06-18 | 1997-12-03 | 株式会社日立製作所 | 可変長データの記憶方式 |
| US4814978A (en) | 1986-07-15 | 1989-03-21 | Dataflow Computer Corporation | Dataflow processing element, multiprocessor, and processes |
| JPS6324428A (ja) | 1986-07-17 | 1988-02-01 | Mitsubishi Electric Corp | キヤツシユメモリ |
| JPH0335324Y2 (ja) | 1986-07-24 | 1991-07-26 | ||
| US4766566A (en) | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
| JPS6393041A (ja) | 1986-10-07 | 1988-04-23 | Mitsubishi Electric Corp | 計算機 |
| JPH0454638Y2 (ja) | 1986-10-29 | 1992-12-22 | ||
| JPH0793358B2 (ja) | 1986-11-10 | 1995-10-09 | 日本電気株式会社 | ブロック配置処理方式 |
| US4841453A (en) | 1986-11-10 | 1989-06-20 | Ibm Corporation | Multidirectional scan and print capability |
| JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
| JPH0810430B2 (ja) | 1986-11-28 | 1996-01-31 | 株式会社日立製作所 | 情報処理装置 |
| US5283903A (en) | 1986-12-25 | 1994-02-01 | Nec Corporation | Priority selector |
| US5226170A (en) | 1987-02-24 | 1993-07-06 | Digital Equipment Corporation | Interface between processor and special instruction processor in digital data processing system |
| US5179689A (en) | 1987-03-13 | 1993-01-12 | Texas Instruments Incorporated | Dataprocessing device with instruction cache |
| US4833599A (en) | 1987-04-20 | 1989-05-23 | Multiflow Computer, Inc. | Hierarchical priority branch handling for parallel execution in a parallel processor |
| US4858116A (en) | 1987-05-01 | 1989-08-15 | Digital Equipment Corporation | Method and apparatus for managing multiple lock indicators in a multiprocessor computer system |
| US4811296A (en) * | 1987-05-15 | 1989-03-07 | Analog Devices, Inc. | Multi-port register file with flow-through of data |
| JPH069876Y2 (ja) | 1987-05-29 | 1994-03-16 | 日産自動車株式会社 | 自動車用インストステイ |
| JPH07113903B2 (ja) | 1987-06-26 | 1995-12-06 | 株式会社日立製作所 | キャッシュ記憶制御方式 |
| US4992938A (en) | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
| 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 |
| US5134561A (en) | 1987-07-20 | 1992-07-28 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
| US5150309A (en) | 1987-08-04 | 1992-09-22 | Texas Instruments Incorporated | Comprehensive logic circuit layout system |
| US4822599A (en) * | 1987-08-26 | 1989-04-18 | The Procter & Gamble Company | Oral compositions |
| US4980817A (en) | 1987-08-31 | 1990-12-25 | Digital Equipment | Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports |
| US4991078A (en) | 1987-09-29 | 1991-02-05 | Digital Equipment Corporation | Apparatus and method for a pipelined central processing unit in a data processing system |
| EP0312764A3 (en) | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
| US5089951A (en) | 1987-11-05 | 1992-02-18 | Kabushiki Kaisha Toshiba | Microcomputer incorporating memory |
| US5197136A (en) | 1987-11-12 | 1993-03-23 | Matsushita Electric Industrial Co., Ltd. | Processing system for branch instruction |
| US4823201A (en) * | 1987-11-16 | 1989-04-18 | Technology, Inc. 64 | Processor for expanding a compressed video signal |
| US5185878A (en) | 1988-01-20 | 1993-02-09 | Advanced Micro Device, Inc. | Programmable cache memory as well as system incorporating same and method of operating programmable cache memory |
| JP2513765B2 (ja) | 1988-02-03 | 1996-07-03 | 富士通株式会社 | パイプライン処理における条件分岐制御方式 |
| US4926323A (en) | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
| JPH01228865A (ja) | 1988-03-09 | 1989-09-12 | Minolta Camera Co Ltd | プリンタ制御装置 |
| US5187796A (en) | 1988-03-29 | 1993-02-16 | Computer Motion, Inc. | Three-dimensional vector co-processor having I, J, and K register files and I, J, and K execution units |
| US5301278A (en) | 1988-04-29 | 1994-04-05 | International Business Machines Corporation | Flexible dynamic memory controller |
| US5003462A (en) | 1988-05-31 | 1991-03-26 | International Business Machines Corporation | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means |
| US4897810A (en) | 1988-06-13 | 1990-01-30 | Advanced Micro Devices, Inc. | Asynchronous interrupt status bit circuit |
| US5261057A (en) | 1988-06-30 | 1993-11-09 | Wang Laboratories, Inc. | I/O bus to system interface |
| US5097409A (en) | 1988-06-30 | 1992-03-17 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
| JP2761506B2 (ja) | 1988-07-08 | 1998-06-04 | 株式会社日立製作所 | 主記憶制御装置 |
| US5032985A (en) | 1988-07-21 | 1991-07-16 | International Business Machines Corporation | Multiprocessor system with memory fetch buffer invoked during cross-interrogation |
| US5148536A (en) * | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
| US5291615A (en) | 1988-08-11 | 1994-03-01 | Kabushiki Kaisha Toshiba | Instruction pipeline microprocessor |
| JPH0673105B2 (ja) | 1988-08-11 | 1994-09-14 | 株式会社東芝 | 命令パイプライン方式のマイクロプロセッサ |
| US4974155A (en) | 1988-08-15 | 1990-11-27 | Evans & Sutherland Computer Corp. | Variable delay branch system |
| US5101341A (en) | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
| US5167035A (en) | 1988-09-08 | 1992-11-24 | Digital Equipment Corporation | Transferring messages between nodes in a network |
| EP0365188B1 (en) | 1988-10-18 | 1996-09-18 | Hewlett-Packard Company | Central processor condition code method and apparatus |
| JPH02118757A (ja) | 1988-10-28 | 1990-05-07 | Nec Corp | データ処理システム |
| JP2810068B2 (ja) | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
| JPH0769811B2 (ja) | 1988-12-21 | 1995-07-31 | 松下電器産業株式会社 | データ処理装置 |
| US5148533A (en) | 1989-01-05 | 1992-09-15 | Bull Hn Information Systems Inc. | Apparatus and method for data group coherency in a tightly coupled data processing system with plural execution and data cache units |
| US5125092A (en) | 1989-01-09 | 1992-06-23 | International Business Machines Corporation | Method and apparatus for providing multiple condition code fields to to allow pipelined instructions contention free access to separate condition codes |
| JP2736092B2 (ja) | 1989-01-10 | 1998-04-02 | 株式会社東芝 | バッファ装置 |
| US5127091A (en) | 1989-01-13 | 1992-06-30 | International Business Machines Corporation | System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor |
| US5222223A (en) | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Method and apparatus for ordering and queueing multiple memory requests |
| US5125083A (en) * | 1989-02-03 | 1992-06-23 | Digital Equipment Corporation | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system |
| US5167026A (en) * | 1989-02-03 | 1992-11-24 | Digital Equipment Corporation | Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers |
| US5109495A (en) * | 1989-02-03 | 1992-04-28 | Digital Equipment Corp. | Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor |
| US5142633A (en) | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Preprocessing implied specifiers in a pipelined processor |
| US4985825A (en) | 1989-02-03 | 1991-01-15 | Digital Equipment Corporation | System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer |
| US5067069A (en) * | 1989-02-03 | 1991-11-19 | Digital Equipment Corporation | Control of multiple functional units with parallel operation in a microcoded execution unit |
| US5142634A (en) | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Branch prediction |
| US5133074A (en) | 1989-02-08 | 1992-07-21 | Acer Incorporated | Deadlock resolution with cache snooping |
| US5226166A (en) | 1989-02-10 | 1993-07-06 | Mitsubishi Denki K.K. | Parallel operation processor with second command unit |
| JPH0769825B2 (ja) | 1989-02-10 | 1995-07-31 | 三菱電機株式会社 | 並列処理装置 |
| US5293500A (en) | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
| US5768575A (en) * | 1989-02-24 | 1998-06-16 | Advanced Micro Devices, Inc. | Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions |
| US5226126A (en) * | 1989-02-24 | 1993-07-06 | Nexgen Microsystems | Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags |
| WO1990010267A1 (en) | 1989-02-24 | 1990-09-07 | Nexgen Microsystems | Distributed pipeline control for a computer |
| US5119485A (en) | 1989-05-15 | 1992-06-02 | Motorola, Inc. | Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation |
| US5155809A (en) | 1989-05-17 | 1992-10-13 | International Business Machines Corp. | Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware |
| US5072364A (en) * | 1989-05-24 | 1991-12-10 | Tandem Computers Incorporated | Method and apparatus for recovering from an incorrect branch prediction in a processor that executes a family of instructions in parallel |
| CA2016068C (en) | 1989-05-24 | 2000-04-04 | Robert W. Horst | Multiple instruction issue computer architecture |
| US5129067A (en) | 1989-06-06 | 1992-07-07 | Advanced Micro Devices, Inc. | Multiple instruction decoder for minimizing register port requirements |
| US5136697A (en) | 1989-06-06 | 1992-08-04 | Advanced Micro Devices, Inc. | System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache |
| EP0407911B1 (en) | 1989-07-07 | 1998-12-09 | Hitachi, Ltd. | Parallel processing apparatus and parallel processing method |
| US5440749A (en) * | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
| JPH07120284B2 (ja) | 1989-09-04 | 1995-12-20 | 三菱電機株式会社 | データ処理装置 |
| US5303382A (en) | 1989-09-21 | 1994-04-12 | Digital Equipment Corporation | Arbiter with programmable dynamic request prioritization |
| US5179530A (en) | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
| JP2814683B2 (ja) | 1989-11-08 | 1998-10-27 | 日本電気株式会社 | 命令処理装置 |
| EP0429733B1 (en) | 1989-11-17 | 1999-04-28 | Texas Instruments Incorporated | Multiprocessor with crossbar between processors and memories |
| US5226125A (en) | 1989-11-17 | 1993-07-06 | Keith Balmer | Switch matrix having integrated crosspoint logic and method of operation |
| US5487156A (en) * | 1989-12-15 | 1996-01-23 | Popescu; Valeri | Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched |
| JPH03186928A (ja) | 1989-12-16 | 1991-08-14 | Mitsubishi Electric Corp | データ処理装置 |
| US5179673A (en) * | 1989-12-18 | 1993-01-12 | Digital Equipment Corporation | Subroutine return prediction mechanism using ring buffer and comparing predicated address with actual address to validate or flush the pipeline |
| US5197130A (en) | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
| US5251306A (en) * | 1990-01-16 | 1993-10-05 | Advanced Micro Devices, Inc. | Apparatus for controlling execution of a program in a computing device |
| JPH061463B2 (ja) | 1990-01-16 | 1994-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
| US5241636A (en) | 1990-02-14 | 1993-08-31 | Intel Corporation | Method for parallel instruction execution in a computer |
| US5222240A (en) * | 1990-02-14 | 1993-06-22 | Intel Corporation | Method and apparatus for delaying writing back the results of instructions to a processor |
| US5230068A (en) * | 1990-02-26 | 1993-07-20 | Nexgen Microsystems | Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence |
| US5185872A (en) | 1990-02-28 | 1993-02-09 | Intel Corporation | System for executing different cycle instructions by selectively bypassing scoreboard register and canceling the execution of conditionally issued instruction if needed resources are busy |
| US5120083A (en) | 1990-03-19 | 1992-06-09 | Henkels & Mccoy, Inc. | Expansion joint for conduit for cables |
| JP2818249B2 (ja) | 1990-03-30 | 1998-10-30 | 株式会社東芝 | 電子計算機 |
| IT1247640B (it) | 1990-04-26 | 1994-12-28 | St Microelectronics Srl | Operazioni booleane tra due qualsiasi bit di due qualsiasi registri |
| US5201056A (en) | 1990-05-02 | 1993-04-06 | Motorola, Inc. | RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output |
| US5214763A (en) * | 1990-05-10 | 1993-05-25 | International Business Machines Corporation | Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism |
| JPH0619707Y2 (ja) | 1990-05-11 | 1994-05-25 | ナショナル住宅産業株式会社 | 軒先構造 |
| EP0457403B1 (en) | 1990-05-18 | 1998-01-21 | Koninklijke Philips Electronics N.V. | Multilevel instruction cache and method for using said cache |
| US5249286A (en) | 1990-05-29 | 1993-09-28 | National Semiconductor Corporation | Selectively locking memory locations within a microprocessor's on-chip cache |
| EP0535107B1 (en) | 1990-06-11 | 1999-12-08 | Cray Research, Inc. | Method for optimizing instruction scheduling |
| JP2878792B2 (ja) | 1990-06-22 | 1999-04-05 | 株式会社東芝 | 電子計算機 |
| CA2038264C (en) | 1990-06-26 | 1995-06-27 | Richard James Eickemeyer | In-memory preprocessor for a scalable compound instruction set machine processor |
| DE69130138T2 (de) | 1990-06-29 | 1999-05-06 | Digital Equipment Corp., Maynard, Mass. | Sprungvorhersageeinheit für hochleistungsfähigen Prozessor |
| US5197132A (en) * | 1990-06-29 | 1993-03-23 | Digital Equipment Corporation | Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery |
| CA2045773A1 (en) * | 1990-06-29 | 1991-12-30 | Compaq Computer Corporation | Byte-compare operation for high-performance processor |
| US5155843A (en) | 1990-06-29 | 1992-10-13 | Digital Equipment Corporation | Error transition mode for multi-processor system |
| EP0468831B1 (en) * | 1990-06-29 | 1997-10-15 | Digital Equipment Corporation | Bus protocol for write-back cache processor |
| JP2877468B2 (ja) | 1990-08-09 | 1999-03-31 | 株式会社東芝 | 電子計算機 |
| US5222244A (en) | 1990-12-20 | 1993-06-22 | Intel Corporation | Method of modifying a microinstruction with operands specified by an instruction held in an alias register |
| USH1291H (en) | 1990-12-20 | 1994-02-01 | Hinton Glenn J | Microprocessor in which multiple instructions are executed in one clock cycle by providing separate machine bus access to a register file for different types of instructions |
| US5303362A (en) | 1991-03-20 | 1994-04-12 | Digital Equipment Corporation | Coupled memory multiprocessor computer system including cache coherency management protocols |
| US5261071A (en) | 1991-03-21 | 1993-11-09 | Control Data System, Inc. | Dual pipe cache memory with out-of-order issue capability |
| US5287467A (en) | 1991-04-18 | 1994-02-15 | International Business Machines Corporation | Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit |
| US5488729A (en) | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
| US5355457A (en) * | 1991-05-21 | 1994-10-11 | Motorola, Inc. | Data processor for performing simultaneous instruction retirement and backtracking |
| US5630157A (en) | 1991-06-13 | 1997-05-13 | International Business Machines Corporation | Computer organization for multiple and out-of-order execution of condition code testing and setting instructions |
| US5278963A (en) | 1991-06-21 | 1994-01-11 | International Business Machines Corporation | Pretranslation of virtual addresses prior to page crossing |
| EP0547240B1 (en) | 1991-07-08 | 2000-01-12 | Seiko Epson Corporation | Risc microprocessor architecture implementing fast trap and exception state |
| US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| ATE164463T1 (de) | 1991-07-08 | 1998-04-15 | Seiko Epson Corp | Single-chip seitendrucker-steuerschaltung |
| US5826055A (en) * | 1991-07-08 | 1998-10-20 | Seiko Epson Corporation | System and method for retiring instructions in a superscalar microprocessor |
| US5440752A (en) | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
| US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
| US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
| KR100299691B1 (ko) | 1991-07-08 | 2001-11-22 | 구사마 사부로 | 확장가능알아이에스씨마이크로프로세서구조 |
| US5345569A (en) | 1991-09-20 | 1994-09-06 | Advanced Micro Devices, Inc. | Apparatus and method for resolving dependencies among a plurality of instructions within a storage device |
| GB2260628A (en) * | 1991-10-11 | 1993-04-21 | Intel Corp | Line buffer for cache memory |
| JPH0820949B2 (ja) | 1991-11-26 | 1996-03-04 | 松下電器産業株式会社 | 情報処理装置 |
| US5285527A (en) | 1991-12-11 | 1994-02-08 | Northern Telecom Limited | Predictive historical cache memory |
| JPH05197544A (ja) | 1992-01-20 | 1993-08-06 | Pfu Ltd | データ処理装置 |
| US5617554A (en) | 1992-02-10 | 1997-04-01 | Intel Corporation | Physical address size selection and page size selection in an address translator |
| US5398330A (en) * | 1992-03-05 | 1995-03-14 | Seiko Epson Corporation | Register file backup queue |
| WO1993019424A1 (en) | 1992-03-18 | 1993-09-30 | Seiko Epson Corporation | System and method for supporting a multiple width memory subsystem |
| DE69311330T2 (de) | 1992-03-31 | 1997-09-25 | Seiko Epson Corp., Tokio/Tokyo | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
| US5371684A (en) | 1992-03-31 | 1994-12-06 | Seiko Epson Corporation | Semiconductor floor plan for a register renaming circuit |
| EP0638183B1 (en) | 1992-05-01 | 1997-03-05 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
| US5442756A (en) | 1992-07-31 | 1995-08-15 | Intel Corporation | Branch prediction and resolution apparatus for a superscalar computer processor |
| US5619668A (en) | 1992-08-10 | 1997-04-08 | Intel Corporation | Apparatus for register bypassing in a microprocessor |
| US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
| US5524225A (en) | 1992-12-18 | 1996-06-04 | Advanced Micro Devices Inc. | Cache system and method for providing software controlled writeback |
| US5604912A (en) | 1992-12-31 | 1997-02-18 | Seiko Epson Corporation | System and method for assigning tags to instructions to control instruction execution |
| US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
| WO1994016384A1 (en) | 1992-12-31 | 1994-07-21 | Seiko Epson Corporation | System and method for register renaming |
| US5627984A (en) | 1993-03-31 | 1997-05-06 | Intel Corporation | Apparatus and method for entry allocation for a buffer resource utilizing an internal two cycle pipeline |
| KR100310581B1 (ko) | 1993-05-14 | 2001-12-17 | 피터 엔. 데트킨 | 분기목표버퍼의추측기록메카니즘 |
| US5577217A (en) | 1993-05-14 | 1996-11-19 | Intel Corporation | Method and apparatus for a branch target buffer with shared branch pattern tables for associated branch predictions |
| JPH0728695A (ja) | 1993-07-08 | 1995-01-31 | Nec Corp | メモリコントローラ |
| US5446912A (en) | 1993-09-30 | 1995-08-29 | Intel Corporation | Partial width stalls within register alias table |
| US5613132A (en) | 1993-09-30 | 1997-03-18 | Intel Corporation | Integer and floating point register alias table within processor device |
| US5630149A (en) * | 1993-10-18 | 1997-05-13 | Cyrix Corporation | Pipelined processor with register renaming hardware to accommodate multiple size registers |
| DE69429061T2 (de) * | 1993-10-29 | 2002-07-18 | Advanced Micro Devices, Inc. | Superskalarmikroprozessoren |
| US5689672A (en) | 1993-10-29 | 1997-11-18 | Advanced Micro Devices, Inc. | Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions |
| JP3218524B2 (ja) | 1993-12-22 | 2001-10-15 | 村田機械株式会社 | ワークホルダーのはみ出し検出装置 |
| US5574935A (en) | 1993-12-29 | 1996-11-12 | Intel Corporation | Superscalar processor with a multi-port reorder buffer |
| US5630075A (en) | 1993-12-30 | 1997-05-13 | Intel Corporation | Write combining buffer for sequentially addressed partial line operations originating from a single instruction |
| US5452426A (en) | 1994-01-04 | 1995-09-19 | Intel Corporation | Coordinating speculative and committed state register source data and immediate source data in a processor |
| US5619664A (en) | 1994-01-04 | 1997-04-08 | Intel Corporation | Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms |
| US5627985A (en) | 1994-01-04 | 1997-05-06 | Intel Corporation | Speculative and committed resource files in an out-of-order processor |
| US5604877A (en) | 1994-01-04 | 1997-02-18 | Intel Corporation | Method and apparatus for resolving return from subroutine instructions in a computer processor |
| US5577200A (en) | 1994-02-28 | 1996-11-19 | Intel Corporation | Method and apparatus for loading and storing misaligned data on an out-of-order execution computer system |
| US5625788A (en) | 1994-03-01 | 1997-04-29 | Intel Corporation | Microprocessor with novel instruction for signaling event occurrence and for providing event handling information in response thereto |
| US5564056A (en) | 1994-03-01 | 1996-10-08 | Intel Corporation | Method and apparatus for zero extension and bit shifting to preserve register parameters in a microprocessor utilizing register renaming |
| US5630083A (en) | 1994-03-01 | 1997-05-13 | Intel Corporation | Decoder for decoding multiple instructions in parallel |
| US5608885A (en) | 1994-03-01 | 1997-03-04 | Intel Corporation | Method for handling instructions from a branch prior to instruction decoding in a computer which executes variable-length instructions |
| US5586278A (en) | 1994-03-01 | 1996-12-17 | Intel Corporation | Method and apparatus for state recovery following branch misprediction in an out-of-order microprocessor |
| US5623628A (en) | 1994-03-02 | 1997-04-22 | Intel Corporation | Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue |
| US5394351A (en) | 1994-03-11 | 1995-02-28 | Nexgen, Inc. | Optimized binary adder and comparator having an implicit constant for an input |
| US5574927A (en) * | 1994-03-25 | 1996-11-12 | International Meta Systems, Inc. | RISC architecture computer configured for emulation of the instruction set of a target computer |
| US5490280A (en) | 1994-03-31 | 1996-02-06 | Intel Corporation | Apparatus and method for entry allocation for a resource buffer |
| US5615126A (en) | 1994-08-24 | 1997-03-25 | Lsi Logic Corporation | High-speed internal interconnection technique for integrated circuits that reduces the number of signal lines through multiplexing |
| US5819101A (en) | 1994-12-02 | 1998-10-06 | Intel Corporation | Method for packing a plurality of packed data elements in response to a pack instruction |
| KR100329338B1 (ko) | 1994-12-02 | 2002-07-18 | 피터 엔. 데트킨 | 복합피연산자의팩연산을수행하는마이크로프로세서 |
| US5666494A (en) | 1995-03-31 | 1997-09-09 | Samsung Electronics Co., Ltd. | Queue management mechanism which allows entries to be processed in any order |
| US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
| US5745375A (en) | 1995-09-29 | 1998-04-28 | Intel Corporation | Apparatus and method for controlling power usage |
| US5778210A (en) * | 1996-01-11 | 1998-07-07 | Intel Corporation | Method and apparatus for recovering the state of a speculatively scheduled operation in a processor which cannot be executed at the speculated time |
| US5832205A (en) * | 1996-08-20 | 1998-11-03 | Transmeta Corporation | Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed |
| US6418529B1 (en) | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
| US6714994B1 (en) * | 1998-12-23 | 2004-03-30 | Advanced Micro Devices, Inc. | Host bridge translating non-coherent packets from non-coherent link to coherent packets on conherent link and vice versa |
| JP4054638B2 (ja) | 2002-08-30 | 2008-02-27 | スミダコーポレーション株式会社 | 光ピックアップ |
| US7897110B2 (en) | 2005-12-20 | 2011-03-01 | Asml Netherlands B.V. | System and method for detecting at least one contamination species in a lithographic apparatus |
-
1993
- 1993-04-27 EP EP93909433A patent/EP0638183B1/en not_active Expired - Lifetime
- 1993-04-27 DE DE69308548T patent/DE69308548T2/de not_active Expired - Lifetime
- 1993-04-27 WO PCT/JP1993/000553 patent/WO1993022722A1/en not_active Ceased
- 1993-04-27 KR KR1019940703884A patent/KR950701437A/ko not_active Expired - Lifetime
- 1993-04-27 JP JP51912893A patent/JP3637920B2/ja not_active Expired - Fee Related
-
1998
- 1998-01-20 US US09/009,412 patent/US6131157A/en not_active Expired - Lifetime
-
2000
- 2000-08-02 US US09/631,640 patent/US6412064B1/en not_active Expired - Fee Related
-
2001
- 2001-05-07 KR KR1020017005745A patent/KR100329226B1/ko not_active Expired - Lifetime
-
2002
- 2002-05-22 US US10/151,932 patent/US6775761B2/en not_active Expired - Fee Related
-
2004
- 2004-01-13 JP JP2004006069A patent/JP3675466B2/ja not_active Expired - Lifetime
- 2004-04-02 US US10/815,742 patent/US6920548B2/en not_active Expired - Fee Related
- 2004-11-29 JP JP2004343857A patent/JP3788470B2/ja not_active Expired - Fee Related
- 2004-12-28 JP JP2004381020A patent/JP3788472B2/ja not_active Expired - Fee Related
-
2005
- 2005-01-27 JP JP2005019696A patent/JP3832487B2/ja not_active Expired - Lifetime
- 2005-03-07 JP JP2005062265A patent/JP3781051B2/ja not_active Expired - Lifetime
- 2005-04-06 JP JP2005109631A patent/JP3824006B2/ja not_active Expired - Lifetime
- 2005-05-06 JP JP2005134892A patent/JP3818315B2/ja not_active Expired - Lifetime
- 2005-06-06 JP JP2005165024A patent/JP3781052B2/ja not_active Expired - Lifetime
- 2005-06-10 US US11/149,227 patent/US7523296B2/en not_active Expired - Fee Related
-
2006
- 2006-02-13 JP JP2006034741A patent/JP3858939B2/ja not_active Expired - Lifetime
- 2006-04-17 JP JP2006112998A patent/JP3870973B2/ja not_active Expired - Fee Related
- 2006-12-21 US US11/642,625 patent/US7516305B2/en not_active Expired - Fee Related
-
2008
- 2008-09-17 US US12/212,361 patent/US7934078B2/en not_active Expired - Fee Related
-
2009
- 2009-02-26 US US12/393,257 patent/US7958337B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3675466B2 (ja) | スーパースケーラマイクロプロセサ | |
| US5826055A (en) | System and method for retiring instructions in a superscalar microprocessor | |
| US5913048A (en) | Dispatching instructions in a processor supporting out-of-order execution | |
| US6098167A (en) | Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution | |
| WO1993018450A1 (en) | Register file backup queue | |
| JPH10283181A (ja) | プロセッサ内で命令を発行するための方法および装置 | |
| JPH07160501A (ja) | データ処理システム | |
| US5841999A (en) | Information handling system having a register remap structure using a content addressable table | |
| US6851044B1 (en) | System and method for eliminating write backs with buffer for exception processing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040212 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040212 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040729 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040928 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041129 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050104 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050307 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050412 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050425 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090513 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110513 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120513 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130513 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130513 Year of fee payment: 8 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130513 Year of fee payment: 8 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| EXPY | Cancellation because of completion of term |