JP5808348B2 - マシン状態に基づいた命令の分割 - Google Patents
マシン状態に基づいた命令の分割 Download PDFInfo
- Publication number
- JP5808348B2 JP5808348B2 JP2012555308A JP2012555308A JP5808348B2 JP 5808348 B2 JP5808348 B2 JP 5808348B2 JP 2012555308 A JP2012555308 A JP 2012555308A JP 2012555308 A JP2012555308 A JP 2012555308A JP 5808348 B2 JP5808348 B2 JP 5808348B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- unit
- mode
- address
- machine state
- 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.)
- Active
Links
Images
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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
図1は、本発明の種々の好ましい実施形態に適用可能な例示的な動作環境を示す。特に、図1は、本発明の1つの好ましい実施形態が実装される並列分散処理システムを示す。この好ましい実施形態において、並列分散処理システム100は、SMPコンピューティング環境で動作する。SMPコンピューティング環境において、並列アプリケーションは、同じ処理ノード上の種々のプロセッサ上で実行される幾つかのタスク(プロセス)を有することができる。並列分散処理システム100は、複数のネットワーク・アダプタ106及び108を介して互いのノードに結合された、複数の処理ノード102及び104上で実行される。各々の処理ノード102及び104は、それ自体のオペレーティング・システム・イメージ110及び112、チャネル・コントローラ114及び116、メモリ118及び120、並びにプロセッサ122及び124をシステム・メモリ・バス126及び128上に有する独立したコンピュータである。システム入力/出力バス130及び132は、I/Oアダプタ134及び136と通信アダプタ106及び108を結合する。簡単にするために、各々の処理ノード102及び104内に、1つだけのプロセッサ122及び124が示されているが、各々の処理ノード102及び104は、1つより多いプロセッサを有してもよい。通信アダプタは、ネットワーク・スイッチ138を介して互いにリンクされている。
1つの好ましい実施形態によると、図2は、マシン状態に基づいて命令を分割するための、プロセッサ122、124内のプロセッサ・コア200の一例を示す。図2に示される構成は、特許請求される本発明に適用可能な一例にしかすぎないことに留意すべきである。特に、図2は、プロセッサ・コア200を示す。1つの好ましい実施形態において、このプロセッサ・コア200は、プロセッサ・コア200を他のプロセッサ及び周辺機器に結合するバス・インターフェース・ユニット202を含む。バス・インターフェース・ユニット202はまた、データ値を読み出し、格納するL1データ・キャッシュ(Dキャッシュ)204、プログラム命令を読み出すL1命令キャッシュ(Iキャッシュ)206、及びキャッシュ・インターフェース・ユニット208を、外部メモリ、プロセッサ及び他のデバイスにも接続する。
上述のように、コンピュータ・システムは、典型的には、命令フェッチ部/ユニット、命令デコード・ユニット、命令グループ化及びディスパッチ・ユニット、命令順序付け及び発行ユニット、実行ユニット(固定小数点、ロード・ストア、BFU、DFU等)、並びに命令完了ユニットを含む。命令のデコードとは、命令が最初にデコードされ、理解されることを指す。命令のグループ化、分割、ロード、ストアなどの命令特性についての情報がデコードされる。命令のディスパッチ時に(イン・オーダーの最後の時点(last in order point))、論理レジスタの番号及びタイプ(GPR、FPR、AR等)、条件コードの読み出し/書き込み、FPCの読み出し/書き込み、PSWの読み出し/書き込み等のような情報が、ISU214に与えられる。
図7は、マシン状態に基づいて命令を分割する一例を示す動作フロー図である。図7の動作フロー図は、ステップ702で開始し、直接ステップ704に流れる。ステップ704において、IDU214は、命令を受信する。ステップ706において、IDU214は、命令をデコードする。ステップ708において、IDU214は、マシン状態判断ユニット24を介して、図2乃至図6に関して上述されたように現在のマシン状態を判断する。ステップ708の結果に応じて、図示されるようなn個の分割シーケンスから、1つの分割シーケンスを選択する。分割シーケンス1について、ステップ710において、IDU214は、分割ユニット244を介して、少なくとも1つの命令を1組の操作単位に編成する。次にステップ712において、操作単位の組を実行する。次にステップ714において、制御の流れが終了する。分割シーケンス2についても同様に、ステップ720において、IDU214は、分割ユニット244を介して、少なくとも1つの命令を1組の操作単位に編成する。次にステップ722において、操作単位の組を実行する。次にステップ724において、制御の流れが終了する。また、分割シーケンスNについては、ステップ730において、IDU214は、分割ユニット244を介して、少なくとも1つの命令を操作単位の組に編成する。次にステップ732において、操作単位の組を実行する。次にステップ734において、制御の流れが終了する。
本発明の特定の好ましい実施形態が開示されたが、当業者であれば、本発明の精神及び範囲から逸脱することなく、特定の好ましい実施形態に変更を行い得ることを理解するであろう。従って、本発明の範囲は、特定の好ましい実施形態に制限されるものではなく、添付の特許請求の範囲は、本発明の範囲内のありとあらゆるこうした用途、修正及び好ましい実施形態をカバーすることが意図される。
102、104:処理ノード
106、108:ネットワーク・アダプタ
110、112:オペレーティング・システム・イメージ
114、116:チャネル・コントローラ
118、120:メモリ
122、124:プロセッサ
126、128:システム・メモリ・バス
130、132:システム入力/出力バス
134、136:I/Oアダプタ
138:ネットワーク・スイッチ
140:大容量記憶インターフェース
142:大容量記憶装置
144:CD
200:プロセッサ・コア
202:バス・インターフェース・ユニット
204:L1データ・キャッシュ(Dキャッシュ)
206:L1命令キャッシュ(Iキャッシュ)
208:キャッシュ・インターフェース・ユニット
210:命令取り出しユニット(IFU)
212:命令解読ユニット(IDU)
214:命令シーケンサ・ユニット(ISU)
216:固定小数点ユニット(FXU)
218:浮動小数点ユニット(FPU)
220:2進浮動小数点ユニット
221:10進浮動小数点ユニット
222:グローバル完了テーブル(GCT)
224:汎用レジスタ(GPR)
226:浮動小数点レジスタ(FPR)
230:ロード・ストア・ユニット(LSU)
232:ロード・キュー(LDQ)
234:ストア・キュー(STQ)
236:ストア・バッファ(STB)
238、240、242:エントリ
244:分割ユニット
246:マシン状態判断ユニット
248:命令短縮化ユニット
Claims (14)
- マシン状態に基づいて、命令の実行を管理するための方法であって、前記方法は、
少なくとも1つの命令を受信するステップと、
プロセッサ・コアの命令デコード・ユニットにより、前記少なくとも1つの命令をデコードするステップと、
前記命令デコード・ユニットにより、前記デコードするステップに応答して、現在のマシン状態を判断するステップと、
前記判断されたマシン状態が、エミュレーション・モードである場合、前記少なくとも1つの命令をミリコードで実行するステップと、
前記命令デコード・ユニットにより、前記判断された現在のマシン状態に基づいて、前記少なくとも1つの命令を、一定サイズの発行キューに対する1組の操作単位に分割するステップであって、実行ステップおよび実行パイプの一方または両方を減少させることによって命令の実行が変更される、ステップと、
前記少なくとも1つの命令を実行するステップであって、1または複数の実行ユニットにより前記操作単位の組を実行することを含む、ステップと、を含み、
前記分割するステップは、少なくとも第1のアドレス・モード及び第2のアドレス・モードのうちの1つと関連付けられたマシン状態の判断に基づいて実行され、前記分割するステップがさらに、
前記マシン状態が前記第1のアドレス・モードと関連付けられている場合、前記少なくとも1つの命令を第1の複数の操作単位に分割するステップと、
前記マシン状態が前記第2のアドレス・モードと関連付けられている場合、前記少なくとも1つの命令を、前記第1の複数の操作単位より少なくとも1つ少ない操作単位を含む、第2の複数の操作単位に分割するステップと、
を含む、方法。 - 前記判断するステップは、
1組のマシン状態制御ビット及び前記少なくとも1つの命令と関連した命令テキストのうちの少なくとも1つを分析するステップをさらに含む、請求項1に記載の方法。 - 前記マシン状態制御ビットの組は、
1組のプログラム状況ワード・ビットと、
ミリコード状態と、
スローモード状態と、
エミュレーション・アクティブ状態と、
のうちの少なくとも1つを含む、請求項2に記載の方法。 - 前記プログラム状況ワード・ビットの組は、
1組のアドレス・モード・ビットと、
アドレス空間ビットと、
問題状態ビットと、
のうちの少なくとも1つを含む、請求項3に記載の方法。 - 前記マシン状態は、
エミュレーション・モードと、
問題状態と、
シリアル化されたオペコード・モードと、
分岐トレース・モードと、
モード・トレース・モードと、
監視クラス選択モードと、
のうちの少なくとも1つであると判断される、請求項1に記載の方法。 - 前記分割するステップは、前記少なくとも1つの命令がミリコードで実行されるとの判断に基づいており、前記操作単位の組は、
第1のオペランドのアドレスを定める第1の操作単位と、
前記第1のオペランドの前記アドレスをアクセス・レジスタ・モードにおいて変換するために用いられるプログラム・アクセス・レジスタに基づいて、ミリコード・アクセス・レジスタを設定する第2の操作単位と、
現在のプログラム状況ワード値に基づいて、少なくとも1つのミリコード制御レジスタを設定する第3の操作単位と、
第2のオペランドのアドレスを定める第4の操作単位と、
前記第2のオペランドの前記アドレスをアクセス・レジスタ・モードにおいて変換するために用いられるプログラム・アクセス・レジスタに基づいて、ミリコード・アクセス・レジスタを設定する第5の操作単位と、
前記少なくとも1つの命令の命令テキストの少なくとも一部分を、ミリコード制御レジスタにコピーする第6の操作単位と、
前記第1のオペランドの長さをミリコード汎用レジスタに格納する第7の操作単位と、
前記第2のオペランドの長さをミリコード汎用レジスタに格納する第8の操作単位と、
分岐操作単位である第9の操作単位と、
のうちの少なくとも1つを含む、請求項1に記載の方法。 - 前記現在のマシン状態を判断するステップは、
前記少なくとも1つの命令と関連した汎用レジスタのサイズを、1組のアドレス・モード・ビットの関数として定めるステップをさらに含む、請求項1〜6のいずれか1項に記載の方法。 - 前記現在のマシン状態を判断するステップは、
前記少なくとも1つの命令と関連した汎用レジスタの読み出しタイプを、1組のアドレス・モード・ビットの関数として定めるステップをさらに含む、請求項1〜7のいずれか1項に記載の方法。 - 前記現在のマシン状態を判断するステップは、
アドレス空間ビットが所定の値であり、かつ、DATビットまたは他の制御状態がアクティブである場合に、アクセス・レジスタ・モードであるとし、アドレスをアクセス・レジスタ・モードにおいて変換するために用いられるプログラム・アクセス・レジスタを、アドレス生成のためのソースとするステップをさらに含む、請求項1〜8のいずれか1項に記載の方法。 - マシン状態に基づいて命令の実行を管理するための情報処理システムであって、前記情報処理システムは、
プロセッサと、
前記プロセッサに通信可能に結合されたメモリと、
少なくとも1つの命令を受信し、
前記少なくとも1つの命令をデコードする、
ように動作可能な命令デコード・ユニットと、
前記少なくとも1つの命令がデコードされることに応答して、現在のマシン状態を判断するための前記命令デコード・ユニット内のマシン状態判断ユニットと、
判断された前記現在のマシン状態に基づいて、前記少なくとも1つの命令を、一定サイズの発行キューに対する1組の操作単位に分割するための前記命令デコード・ユニット内の命令分割ユニットと、
実行ステップおよび実行パイプの一方または両方を減少させることによって命令の実行を変更する前記命令デコード・ユニット内の命令短縮化ユニットと
を含み、
前記マシン状態判断ユニットが、マシンの状態を、エミュレーション・モードであると判断したことに対応して、前記少なくとも1つの命令をミリコードで実行し、
前記命令分割ユニットは、少なくとも第1のアドレス・モード及び第2のアドレス・モードのうちの1つと関連付けられたマシン状態に基づき、
前記マシン状態が前記第1のアドレス・モードと関連付けられている場合、前記少なくとも1つの命令を第1の複数の操作単位に分割すること、
前記マシン状態が前記第2のアドレス・モードと関連付けられている場合、前記少なくとも1つの命令を、前記第1の複数の操作単位より少なくとも1つ少ない操作単位を含む、第2の複数の操作単位に分割することを実行し、
前記プロセッサは、前記少なくとも1つの命令の実行において、1または複数の実行ユニットにより前記操作単位の組を実行するように動作可能である、
情報処理システム。 - 前記命令デコード・ユニットは、
1組のマシン状態制御ビット、及び、前記少なくとも1つの命令と関連した命令テキストのうちの少なくとも1つを分析する、
ようにさらに動作可能である、請求項10に記載の情報処理システム。 - 前記命令分割ユニットは、前記少なくとも1つの命令がミリコードで実行されるとの判断に基づいて、前記少なくとも1つの命令を分割するようにさらに動作可能であり、前記操作単位の組は、
第1のオペランドのアドレスを定める第1の操作単位と、
前記第1のオペランドの前記アドレスをアクセス・レジスタ・モードにおいて変換するために用いられるプログラム・アクセス・レジスタに基づいて、ミリコード・アクセス・レジスタを設定する第2の操作単位と、
現在のプログラム状況ワード値に基づいて、少なくとも1つのミリコード制御レジスタを設定する第3の操作単位と、
第2のオペランドのアドレスを定める第4の操作単位と、
前記第2のオペランドの前記アドレスをアクセス・レジスタ・モードにおいて変換するために用いられるプログラム・アクセス・レジスタに基づいて、ミリコード・アクセス・レジスタを設定する第5の操作単位と、
前記少なくとも1つの命令の命令テキストの少なくとも一部分を、ミリコード制御レジスタにコピーする第6の操作単位と、
前記第1のオペランドの長さをミリコード汎用レジスタに格納する第7の操作単位と、
前記第2のオペランドの長さをミリコード汎用レジスタに格納する第8の操作単位と、
分岐操作単位である第9の操作単位と、
のうちの少なくとも1つを含む、請求項10または請求項11に記載の情報処理システム。 - マシン状態に基づいて命令の実行を管理するためのコンピュータ可読ストレージ媒体であって、
処理回路により読取可能であり、かつ、前記処理回路に請求項1から請求項9までのいずれかに記載の方法を実行させるための、前記処理回路により実行するための命令を格納した、コンピュータ可読ストレージ媒体。 - コンピュータ可読媒体上に格納され、かつ、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されたとき、請求項1から請求項9までのいずれかに記載の方法を実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/718,685 | 2010-03-05 | ||
US12/718,685 US8938605B2 (en) | 2010-03-05 | 2010-03-05 | Instruction cracking based on machine state |
PCT/EP2010/067055 WO2011107170A1 (en) | 2010-03-05 | 2010-11-08 | Instruction cracking based on machine state |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013521551A JP2013521551A (ja) | 2013-06-10 |
JP5808348B2 true JP5808348B2 (ja) | 2015-11-10 |
Family
ID=43126986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012555308A Active JP5808348B2 (ja) | 2010-03-05 | 2010-11-08 | マシン状態に基づいた命令の分割 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8938605B2 (ja) |
EP (1) | EP2430526B1 (ja) |
JP (1) | JP5808348B2 (ja) |
CN (1) | CN102792265B (ja) |
WO (1) | WO2011107170A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2862062B1 (en) | 2012-06-15 | 2024-03-06 | Intel Corporation | A virtual load store queue having a dynamic dispatch window with a distributed structure |
KR101825585B1 (ko) | 2012-06-15 | 2018-02-05 | 인텔 코포레이션 | 명확화 없는 비순차 load store 큐를 갖는 재정렬된 투기적 명령어 시퀀스들 |
KR101996462B1 (ko) | 2012-06-15 | 2019-07-04 | 인텔 코포레이션 | 명확화 없는 비순차 load store 큐 |
CN107748673B (zh) | 2012-06-15 | 2022-03-25 | 英特尔公司 | 包括虚拟加载存储队列的处理器和系统 |
EP2862084A4 (en) | 2012-06-15 | 2016-11-30 | Soft Machines Inc | METHOD AND SYSTEM FOR IMPLEMENTING RECOVERY FROM A SPECULATIVE TRANSMISSION OF FAULT FORECASTS / ERRORS DUE TO THE CHANGE AND OPTIMIZATION OF MEMORY LOADS |
KR101826399B1 (ko) | 2012-06-15 | 2018-02-06 | 인텔 코포레이션 | Load store 재정렬 및 최적화를 구현하는 명령어 정의 |
JP6122749B2 (ja) * | 2013-09-30 | 2017-04-26 | ルネサスエレクトロニクス株式会社 | コンピュータシステム |
US10296338B2 (en) * | 2016-12-09 | 2019-05-21 | Intel Corporation | System, apparatus and method for low overhead control transfer to alternate address space in a processor |
US10613862B2 (en) | 2017-03-03 | 2020-04-07 | International Business Machines Corporation | String sequence operations with arbitrary terminators |
US10564965B2 (en) | 2017-03-03 | 2020-02-18 | International Business Machines Corporation | Compare string processing via inline decode-based micro-operations expansion |
US10324716B2 (en) | 2017-03-03 | 2019-06-18 | International Business Machines Corporation | Selecting processing based on expected value of selected character |
US10789069B2 (en) * | 2017-03-03 | 2020-09-29 | International Business Machines Corporation | Dynamically selecting version of instruction to be executed |
US10564967B2 (en) | 2017-03-03 | 2020-02-18 | International Business Machines Corporation | Move string processing via inline decode-based micro-operations expansion |
US10620956B2 (en) | 2017-03-03 | 2020-04-14 | International Business Machines Corporation | Search string processing via inline decode-based micro-operations expansion |
US10360036B2 (en) | 2017-07-12 | 2019-07-23 | International Business Machines Corporation | Cracked execution of move-to-FPSCR instructions |
US10592246B2 (en) | 2017-07-12 | 2020-03-17 | International Business Machines Corporation | Low latency execution of floating-point record form instructions |
US11249760B2 (en) * | 2019-04-10 | 2022-02-15 | International Business Machines Corporation | Parameter management between programs |
US11294695B2 (en) | 2020-05-28 | 2022-04-05 | International Business Machines Corporation | Termination of programs associated with different addressing modes |
US11327766B2 (en) | 2020-07-31 | 2022-05-10 | International Business Machines Corporation | Instruction dispatch routing |
CN115691088B (zh) * | 2023-01-04 | 2023-05-02 | 上海海栎创科技股份有限公司 | 一种控制信号传输单元、系统及方法 |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5530727A (en) * | 1978-08-22 | 1980-03-04 | Nec Corp | Information processor |
JPS6057438A (ja) * | 1983-09-08 | 1985-04-03 | Hitachi Ltd | 仮想計算機システム制御装置 |
US4604684A (en) * | 1983-11-15 | 1986-08-05 | Data General Corp. | Digital computer having unique instruction decoding logic |
US4873629A (en) * | 1984-06-20 | 1989-10-10 | Convex Computer Corporation | Instruction processing unit for computer |
US4853840A (en) * | 1986-01-07 | 1989-08-01 | Nec Corporation | Instruction prefetching device including a circuit for checking prediction of a branch instruction before the instruction is executed |
US5097407A (en) * | 1986-08-08 | 1992-03-17 | Integrated Inference Machines | Artificial intelligence processor |
JP2603626B2 (ja) * | 1987-01-16 | 1997-04-23 | 三菱電機株式会社 | データ処理装置 |
DE68927313T2 (de) * | 1988-06-27 | 1997-05-07 | Digital Equipment Corp | Operandenspezifiererverarbeitung |
IL92605A0 (en) | 1988-12-19 | 1990-08-31 | Bull Hn Information Syst | Production line method and apparatus for high performance instruction execution |
EP0374830A3 (en) | 1988-12-19 | 1992-03-18 | Bull HN Information Systems Inc. | Control store address generator for developing unique instruction execution starting address |
JPH02183830A (ja) | 1988-12-21 | 1990-07-18 | Internatl Business Mach Corp <Ibm> | マイクロプログラム変換機構を有するコンピュータ |
JP2504156B2 (ja) * | 1989-01-25 | 1996-06-05 | 日本電気株式会社 | 情報処理装置 |
US5150468A (en) * | 1989-06-30 | 1992-09-22 | Bull Hn Information Systems Inc. | State controlled instruction logic management apparatus included in a pipelined processing unit |
US5073855A (en) * | 1989-06-30 | 1991-12-17 | Bull Hn Information Systems Inc. | Resource conflict detection method and apparatus included in a pipelined processing unit |
JP2731618B2 (ja) * | 1990-02-28 | 1998-03-25 | 日本電気アイシーマイコンシステム株式会社 | エミュレータ |
JPH04302329A (ja) * | 1990-12-26 | 1992-10-26 | Xerox Corp | マイクロ処理システム |
JP2677719B2 (ja) | 1991-05-08 | 1997-11-17 | 富士通株式会社 | 情報処理装置 |
US5488707A (en) * | 1992-07-28 | 1996-01-30 | International Business Machines Corporation | Apparatus for predicting overlapped storage operands for move character |
US5434985A (en) * | 1992-08-11 | 1995-07-18 | International Business Machines Corporation | Simultaneous prediction of multiple branches for superscalar processing |
US5467473A (en) * | 1993-01-08 | 1995-11-14 | International Business Machines Corporation | Out of order instruction load and store comparison |
JPH0713758A (ja) | 1993-06-29 | 1995-01-17 | Hitachi Ltd | 命令デコード方法 |
JPH07129399A (ja) | 1993-10-28 | 1995-05-19 | Motohiro Kurisu | 命令属性レジスターを使用して多機能命令を実行する マイクロコンピュータ |
GB2287111B (en) * | 1994-03-01 | 1998-08-05 | Intel Corp | Method for pipeline processing of instructions by controlling access to a reorder buffer using a register file outside the reorder buffer |
DE69506623T2 (de) * | 1994-06-03 | 1999-07-22 | Motorola Inc | Datenprozessor mit einer Ausführungseinheit zur Durchführung von Ladebefehlen und Verfahren zu seinem Betrieb |
US5666506A (en) * | 1994-10-24 | 1997-09-09 | International Business Machines Corporation | Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle |
US5802359A (en) * | 1995-03-31 | 1998-09-01 | International Business Machines Corporation | Mapping processor state into a millicode addressable processor state register array |
DE69616718D1 (de) * | 1995-05-26 | 2001-12-13 | Nat Semiconductor Corp | Vorrichtung und verfahren zur bestimmung von adressen fehlausgerichteter daten |
US5694565A (en) * | 1995-09-11 | 1997-12-02 | International Business Machines Corporation | Method and device for early deallocation of resources during load/store multiple operations to allow simultaneous dispatch/execution of subsequent instructions |
US5796974A (en) * | 1995-11-07 | 1998-08-18 | Advanced Micro Devices, Inc. | Microcode patching apparatus and method |
US5826089A (en) * | 1996-01-04 | 1998-10-20 | Advanced Micro Devices, Inc. | Instruction translation unit configured to translate from a first instruction set to a second instruction set |
US5742805A (en) * | 1996-02-15 | 1998-04-21 | Fujitsu Ltd. | Method and apparatus for a single history register based branch predictor in a superscalar microprocessor |
US5621909A (en) * | 1996-03-12 | 1997-04-15 | International Business Machines Corporation | Specialized millicode instruction for range checking |
US5717910A (en) * | 1996-03-29 | 1998-02-10 | Integrated Device Technology, Inc. | Operand compare/release apparatus and method for microinstrution sequences in a pipeline processor |
US5918031A (en) * | 1996-12-18 | 1999-06-29 | Intel Corporation | Computer utilizing special micro-operations for encoding of multiple variant code flows |
US5781752A (en) * | 1996-12-26 | 1998-07-14 | Wisconsin Alumni Research Foundation | Table based data speculation circuit for parallel processing computer |
US5909567A (en) * | 1997-02-28 | 1999-06-01 | Advanced Micro Devices, Inc. | Apparatus and method for native mode processing in a RISC-based CISC processor |
US6058470A (en) * | 1998-04-07 | 2000-05-02 | International Business Machines Corporation | Specialized millicode instruction for translate and test |
US6219742B1 (en) * | 1998-04-29 | 2001-04-17 | Compaq Computer Corporation | Method and apparatus for artificially generating general purpose events in an ACPI environment |
US6092185A (en) * | 1998-04-30 | 2000-07-18 | International Business Machines Corporation | Opcode compare logic in E-unit for breaking infinite loops, detecting invalid opcodes and other exception checking |
JP3110404B2 (ja) * | 1998-11-18 | 2000-11-20 | 甲府日本電気株式会社 | マイクロプロセッサ装置及びそのソフトウェア命令高速化方法並びにその制御プログラムを記録した記録媒体 |
US6336183B1 (en) * | 1999-02-26 | 2002-01-01 | International Business Machines Corporation | System and method for executing store instructions |
JP2000259408A (ja) | 1999-03-08 | 2000-09-22 | Texas Instr Inc <Ti> | 遅延スロットにおけるソフトウェアブレークポイント |
US6134646A (en) * | 1999-07-29 | 2000-10-17 | International Business Machines Corp. | System and method for executing and completing store instructions |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US6654869B1 (en) * | 1999-10-28 | 2003-11-25 | International Business Machines Corporation | Assigning a group tag to an instruction group wherein the group tag is recorded in the completion table along with a single instruction address for the group to facilitate in exception handling |
US6697939B1 (en) * | 2000-01-06 | 2004-02-24 | International Business Machines Corporation | Basic block cache microprocessor with instruction history information |
JP3629551B2 (ja) | 2000-01-06 | 2005-03-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 基本キャッシュ・ブロックを利用したマイクロプロセッサ |
US7162621B2 (en) * | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
US20020152259A1 (en) * | 2001-04-14 | 2002-10-17 | International Business Machines Corporation | Pre-committing instruction sequences |
US6999952B1 (en) * | 2001-04-18 | 2006-02-14 | Cisco Technology, Inc. | Linear associative memory-based hardware architecture for fault tolerant ASIC/FPGA work-around |
US7082517B2 (en) * | 2003-05-12 | 2006-07-25 | International Business Machines Corporation | Superscalar microprocessor having multi-pipe dispatch and execution unit |
US7085917B2 (en) | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Multi-pipe dispatch and execution of complex instructions in a superscalar processor |
US20050223292A1 (en) * | 2004-02-17 | 2005-10-06 | Lee Chee S | Single instruction type based hardware patch controller |
US7716528B2 (en) * | 2004-09-07 | 2010-05-11 | Broadcom Corporation | Method and system for configurable trigger logic for hardware bug workaround in integrated circuits |
US7269715B2 (en) * | 2005-02-03 | 2007-09-11 | International Business Machines Corporation | Instruction grouping history on fetch-side dispatch group formation |
US7577825B2 (en) * | 2006-02-28 | 2009-08-18 | Intel Corporation | Method for data validity tracking to determine fast or slow mode processing at a reservation station |
US20070288725A1 (en) * | 2006-06-07 | 2007-12-13 | Luick David A | A Fast and Inexpensive Store-Load Conflict Scheduling and Forwarding Mechanism |
US8443227B2 (en) * | 2008-02-15 | 2013-05-14 | International Business Machines Corporation | Processor and method for workaround trigger activated exceptions |
US7962726B2 (en) * | 2008-03-19 | 2011-06-14 | International Business Machines Corporation | Recycling long multi-operand instructions |
US7987343B2 (en) * | 2008-03-19 | 2011-07-26 | International Business Machines Corporation | Processor and method for synchronous load multiple fetching sequence and pipeline stage result tracking to facilitate early address generation interlock bypass |
US7941584B2 (en) * | 2009-03-26 | 2011-05-10 | Arm Limited | Data processing apparatus and method for performing hazard detection |
-
2010
- 2010-03-05 US US12/718,685 patent/US8938605B2/en active Active
- 2010-11-08 WO PCT/EP2010/067055 patent/WO2011107170A1/en active Application Filing
- 2010-11-08 EP EP10775822.9A patent/EP2430526B1/en active Active
- 2010-11-08 CN CN201080065187.3A patent/CN102792265B/zh active Active
- 2010-11-08 JP JP2012555308A patent/JP5808348B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20110219213A1 (en) | 2011-09-08 |
EP2430526B1 (en) | 2019-12-25 |
CN102792265B (zh) | 2016-01-20 |
JP2013521551A (ja) | 2013-06-10 |
US8938605B2 (en) | 2015-01-20 |
EP2430526A1 (en) | 2012-03-21 |
WO2011107170A1 (en) | 2011-09-09 |
CN102792265A (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5808348B2 (ja) | マシン状態に基づいた命令の分割 | |
US5781750A (en) | Dual-instruction-set architecture CPU with hidden software emulation mode | |
US10768930B2 (en) | Processor supporting arithmetic instructions with branch on overflow and methods | |
US9286072B2 (en) | Using register last use infomation to perform decode-time computer instruction optimization | |
US5692167A (en) | Method for verifying the correct processing of pipelined instructions including branch instructions and self-modifying code in a microprocessor | |
JP6849274B2 (ja) | 融合された単一のサイクルのインクリメント−比較−ジャンプを実施するための命令及びロジック | |
JP6807383B2 (ja) | 転送プレフィックス命令 | |
US9678756B2 (en) | Forming instruction groups based on decode time instruction optimization | |
US20150242212A1 (en) | Modeless instruction execution with 64/32-bit addressing | |
CN107832083B (zh) | 具有条件指令的微处理器及其处理方法 | |
US5987600A (en) | Exception handling in a processor that performs speculative out-of-order instruction execution | |
US9372695B2 (en) | Optimization of instruction groups across group boundaries | |
KR20180066146A (ko) | 벡터 데이터 전송 명령어 | |
WO2014090091A1 (en) | Tracking multiple conditions in a general purpose register and instruction therefor | |
KR20180067582A (ko) | 벡터 로드 명령어 | |
US7814299B2 (en) | Designating operands with fewer bits in instruction code by indexing into destination register history table for each thread | |
US8255674B2 (en) | Implied storage operation decode using redundant target address detection | |
US8464030B2 (en) | Instruction cracking and issue shortening based on instruction base fields, index fields, operand fields, and various other instruction text bits | |
US20130198491A1 (en) | Major branch instructions with transactional memory | |
US11106466B2 (en) | Decoupling of conditional branches | |
US11347506B1 (en) | Memory copy size determining instruction and data transfer instruction | |
US20230315453A1 (en) | Forward conditional branch event for profile-guided-optimization (pgo) | |
CN115858022A (zh) | 集群化解码管线的可缩放切换点控制电路系统 | |
WO2013113595A1 (en) | Major branch instructions with transactional memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140930 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20141015 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141016 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150414 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150709 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150714 |
|
TRDD | Decision of grant or rejection written | ||
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20150818 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150818 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5808348 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |