JP2011508921A - Riscプロセッサ及びレジスタのフラグビットの処理方法 - Google Patents
Riscプロセッサ及びレジスタのフラグビットの処理方法 Download PDFInfo
- Publication number
- JP2011508921A JP2011508921A JP2010539995A JP2010539995A JP2011508921A JP 2011508921 A JP2011508921 A JP 2011508921A JP 2010539995 A JP2010539995 A JP 2010539995A JP 2010539995 A JP2010539995 A JP 2010539995A JP 2011508921 A JP2011508921 A JP 2011508921A
- Authority
- JP
- Japan
- Prior art keywords
- flag
- bit
- register
- risc processor
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 238000004088 simulation Methods 0.000 claims abstract description 76
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 238000012937 correction Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 230000001174 ascending effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 229910001369 Brass Inorganic materials 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 239000010951 brass Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- 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
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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
- 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)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
一、CF(キャリーフラグ)、PF(奇偶ビット)、AF(補佐キャリー)、ZF(ゼロフラグ)、SF(マイナスでないフラグ)とOF(オーバーフロー)の6ビットを含む状態フラグ(Status Flags);
二、文字列操作命令の方向を制御することに使われるDF(方向フラグ)フラグ;
三、ステップモードフラグ、中断イネーブル、I/O優先順位等を含み、ユーザプログラムにより変更できないその他のシステムフラグとI/O特権領域(IOPL領域)。
本発明の目的を実現するため、さらにRISCプロセッサのレジスタのフラグビットの処理方法を提供する。該RISCプロセッサは、物理レジスタヒープと、前記の物理レジスタヒープに接続する演算部分と、前記の演算部分に接続するデコーダとを含み、前記の物理レジスタヒープはシミュレートフラグレジスタを含み、該シミュレートフラグレジスタはCISCプロセッサのフラグレジスタのフラグビットを実現させるのをシミュレートすることに使われ、前記の演算部分はフラグ読み書きモジュールを含み、該フラグ読み書きモジュールはシミュレートフラグレジスタのフラグビットの値を読み書きすることに使われる。
デコーダは、演算がEFLAGS稼動をシミュレートするモードであると識別したとき、異なる命令に基づき、シミュレートフラグレジスタをソースレジスタ及び/または目標レジスタにデコードする。
OFは、結果がオーバーフローになる場合には、OFを1と設置し、そうでない場合には、OFをリセットすると表す;
SFは、結果の最高ビットを保存すると表す;
ZFは、結果が0になる場合には、ZFを1と設置し、そうでない場合には、ZFをリセットすると表す;
AFは、演算中に3番目のビットから4番目のビットへの桁上げまたは借りがある場合には、AFを1と設置し、そうでない場合には、AFをリセットすると表す;
PFは、結果の最低バイトに偶数個の1がある場合には、PFを1と設置し、そうでない場合には、PFをリセットすると表す;
CFは、演算中最高ビットからさらに高いビットへの桁上げまたは借りがある場合には、CFを1と設置し、そうでない場合には、CFをリセットすると表す。
前記のフラグ読み書きモジュール31はフラグ抽出モジュール311とフラグ修正モジュール312を含み、その中:
前記のフラグ抽出モジュール311は、1ビット或いは複数ビットのシミュレートフラグレジスタ4のフラグビットの値を抽出し、その中の8ビットのマスク(mask)の値に基づいて、シミュレートフラグレジスタ4の1ビット或いは複数ビットを抽出することを制御し、抽出されたシミュレートフラグレジスタ4のフラグビットの値を目標レジスタの中に保存することに使われる。
ステップS100:RISCプロセッサにおいてRISCプロセッサの稼動モードをX86の仮想機稼動モードに設定し、即ちシミュレートフラグレジスタ4が使用できることをし、デコーダは演算がRISCプロセッサのX86の仮想機稼動モード、即ちEFLAGS稼動をシミュレートするモードであると識別し、そして異なる命令に基づき、シミュレートフラグレジスタをソースレジスタ及び/または目標レジスタにデコードする;
シミュレートフラグレジスタ4(M-EFLAGS)がX86の命令セットのフラグレジスタ(EFLAGS)のフラグビットを擬似的に実現し、該レジスタの低い順位の6ビットは高くなる順でそれぞれCFビット、PFビット、AFビット、ZFビット、SFビットとOFビットを表す。
OFは、結果がオーバーフローになる場合には、OFを1と設置し、そうでない場合には、OFをリセットすると表す;
SFは、結果の最高ビットを保存すると表す;
ZFは、結果が0になる場合には、ZFを1と設置し、そうでない場合には、ZFをリセットすると表す;
AFは、演算中に3番目のビットから4番目のビットへの桁上げまたは借りがある場合には、AFを1と設置し、そうでない場合には、AFをリセットすると表す;
PFは、結果の最低バイトに偶数個の1がある場合には、PFを1と設置し、そうでない場合には、PFをリセットすると表す;
CFは、演算中最高ビットからさらに高いビットへの桁上げまたは借りがある場合には、CFを1と設置し、そうでない場合には、CFをリセットすると表す。
この命令は、該命令の直後の命令がEFLAGS稼動モードをシミュレートしていることを表す。
その命令を実行するとき、実行結果に基づいて当該シミュレートフラグレジスタ4のフラグビットの値を修正し、目標レジスタの中に結果を保存しない。以下に具体例をあげる。
ADD $5,$1,$2
1番汎用レジスタと2番汎用レジスタの中の値を加算し、その結果を5番汎用レジスタの中に保存することを表す。
SETFLAG
ADD $5,$1,$2
この命令は、1番汎用レジスタと2番汎用レジスタの中の値を加算し、演算結果は保存しないが、結果に基づいてシミュレートフラグレジスタ4の中のフラグビットの当該ビットを修正することを表す。
X86ADD $5,$1,$2 は
SETFLAG
ADD $5,$1,$2 に
相当する。
ステップS210:RISCプロセッサがX86の仮想機の稼動モードである場合、1ビット又は複数ビットのシミュレートフラグレジスタ4のフラグビットの値を抽出し、その中の8ビットのマスク(mask)の値に基づいて、シミュレートフラグレジスタ4のフラグビットの値の1ビット或いは複数ビットを抽出することが制御される。抽出されたシミュレートフラグレジスタ4のフラグビットの値を目標レジスタの中に保存する。
GPR[rt]←M-EFLAGS & mask
たとえば、マスク(mask)の値は0x00000100として、シミュレートフラグレジスタ4(M-EFLAGS)の第2ビット、即ちAFビットの内容を抽出し、目標レジスタGPR[rt]の中に入れる。
M-EFLAGS & mask←GPR[rs]
たとえば、GPR[rs]の低い順番の8ビットの内容は0x00010010として、マスク(mask)の値は0x00110011として、この命令は該シミュレートフラグレジスタ4(M-EFLAGS)の中のCF、PF、SFとOFビットを修正し、この4ビットをそれぞれ0、1、1と0に設定させる。
ステップ210′:演算の結果に基づいてシミュレートフラグレジスタ4(M-EFLAG)のフラグビットが得られる。
X86ADD / EFLAGSビットの32ビットの加算だけに影響する。
命令のフォーマットは:X86ADD rs, rt
命令はGPR[rs]レジスタの中の32ビットの整数とGPR[rt]レジスタの中の32ビットの整数を加算して、32ビットの結果が得られる。この結果を保存せず、結果に基づきシミュレートフラグレジスタ4(M-EFLAGS)のOF/SF/ZF/AF/PFビットを修正するだけである。
ステップ220′:シミュレートフラグレジスタ4(M-EFLAG)のフラグビット中の1ビット又は複数ビットに基づいて分岐ジャンプの命令を実行する。
命令のフォーマットは:X86J.fmt offset
X86J命令は、EFLAGSの中の何ビットを比較し、対応の条件に基づいてプロセッサと関連するジャンプを行う。
ここで、異なる命令サフィックス(fmt)は異なる条件を表し、たとえば「X86J.a fmt=0」は、「CF=0」かつ「ZF=0」のときにジャンプが行われることを表す。
以上、本発明の実施例について説明したが、これらの実施例は単なる例であって、本発明を限定するためのものではない。本発明は、添付した特許請求の範囲に従って解釈されるべきである。
Claims (11)
- 物理レジスタヒープと、前記の物理レジスタヒープに接続する演算部分と、前記の演算部分に接続するデコーダとを含むRISCプロセッサにおいて、
前記の物理レジスタヒープはシミュレートフラグレジスタを含み、該シミュレートフラグレジスタはCISCプロセッサのフラグレジスタのフラグビットを実現させるのをシミュレートすることに使われ、
前記の演算部分はフラグ読み書きモジュールを含み、該フラグ読み書きモジュールはシミュレートフラグレジスタのフラグビットの値を読み書きすることに使われることを特徴とするRISCプロセッサ装置。 - 前記のデコーダはモード識別モジュールを含み、該モード識別モジュールは、演算がEFLAGS稼動をシミュレートするモードであることを識別し、異なる命令に基づき、シミュレートフラグレジスタをソースレジスタ及び/または目標レジスタにデコードすることに使われることを特徴とする請求項1に記載のRISCプロセッサ装置。
- 前記の演算部分はさらに演算制御機を含み、該演算制御機は、演算の間にRISCプロセッサがX86の仮想機稼動モードであるとき、シミュレートフラグレジスタのフラグビットの値に基づいて演算制御を行うことを特徴とする請求項1に記載のRISCプロセッサ装置。
- 前記のフラグ読み書きモジュールは、フラグ抽出モジュールとフラグ修正モジュールを含み、
前記のフラグ抽出モジュールは、1ビット或いは複数ビットのシミュレートフラグレジスタのフラグビットの値を抽出し、その中の8ビットのマスクの値に基づいて、シミュレートフラグレジスタの1ビット或いは複数ビットを抽出することを制御し、抽出されたシミュレートフラグレジスタのフラグビットの値を目標レジスタの中に保存することに使われ、
前記のフラグ修正モジュールは、1ビット或いは複数ビットのシミュレートフラグレジスタのフラグビットの値を修正し、その中の8ビットのマスクの値に基づいて、シミュレートフラグレジスタの1ビット或いは複数ビットを修正することを制御し、ソースレジスタの中の値を使用してシミュレートフラグレジスタを修正することに使われることを特徴とする請求項1に記載のRISCプロセッサ装置。 - 前記演算制御は、演算の結果に基づいて新たなシミュレートフラグレジスタのフラグビットを得ることと、およびシミュレートフラグレジスタのフラグビットの1ビット或いは複数ビットに基づき、分岐ジャンプの命令を実行することとを含むことを特徴とする請求項3に記載のRISCプロセッサ装置。
- 前記のシミュレートフラグレジスタの低い順位の6ビットは高くなる順でそれぞれCFビット、PFビット、AFビット、ZFビット、SFビット、及びOFビットを表すことを特徴とする請求項1から5のいずれかに記載のRISCプロセッサ装置。
- RISCプロセッサのレジスタのフラグビットの処理方法であって、前記RISCプロセッサは、物理レジスタヒープと、前記の物理レジスタヒープに接続する演算部分と、前記の演算部分に接続するデコーダとを含み、前記の物理レジスタヒープはシミュレートフラグレジスタを含み、該シミュレートフラグレジスタはCISCプロセッサのフラグレジスタのフラグビットを実現させるのをシミュレートすることに使われ、前記の演算部分はフラグ読み書きモジュールを含み、該フラグ読み書きモジュールはシミュレートフラグレジスタのフラグビットの値を読み書きすることに使われる処理方法において、
RISCプロセッサにおいてシミュレートフラグレジスタを使用可能に設置するステップAと、
RISCプロセッサが演算する間に、RISCプロセッサの稼動モードがX86の仮想機稼動モードであるとき、シミュレートフラグレジスタのフラグビットの値を読み書きし、及び/又はシミュレートフラグレジスタのフラグビットの値に基づき演算制御を行うステップBとを含むことを特徴とするRISCプロセッサのレジスタのフラグビットの処理方法。 - 前記のステップAは、デコーダは演算がEFLAGS稼動をシミュレートするモードであると識別したとき、異なる命令に基づき、シミュレートフラグレジスタをソースレジスタ及び/または目標レジスタにデコードするステップを更に含むことを特徴とする請求項7に記載のRISCプロセッサのレジスタのフラグビットの処理方法。
- 前記のステップBは、
RISCプロセッサの稼動モードがX86の仮想機稼動モードであるときに、1ビット或いは複数ビットのシミュレートフラグレジスタのフラグビットの値を抽出し、その中の8ビットのマスクの値に基づいて、シミュレートフラグレジスタの1ビット或いは複数ビットを抽出することを制御し、抽出されたシミュレートフラグレジスタのフラグビットの値を目標レジスタの中に保存するステップB1と、
RISCプロセッサの稼動モードがX86の仮想機稼動モードであるときに、1ビット或いは複数ビットのシミュレートフラグレジスタのフラグビットの値を修正し、その中の8ビットのマスクの値に基づいて、シミュレートフラグレジスタの1ビット或いは複数ビットを修正することを制御し、ソースレジスタの中の値を使用してシミュレートフラグレジスタを修正するステップB2とを含むことを特徴とする請求項7または請求項8に記載のRISCプロセッサのレジスタのフラグビットの処理方法。 - 前記のステップBにおける前記の演算制御のプロセスは、
演算の結果に基づいてシミュレートフラグレジスタのフラグビットを得るステップB1′と、
シミュレートフラグレジスタのフラグビットの1ビット或いは複数ビットに基づき、分岐ジャンプの命令を実行するステップB2′とを含むことを特徴とする請求項7または請求項8に記載のRISCプロセッサのレジスタのフラグビットの処理方法。 - 前記のシミュレートフラグレジスタの低い順位の6ビットは、高くなる順でそれぞれCFビット、PFビット、AFビット、ZFビット、SFビット、及びOFビットを表すことを特徴とする請求項7または請求項8に記載のRISCプロセッサのレジスタのフラグビットの処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007103085711A CN100530164C (zh) | 2007-12-29 | 2007-12-29 | 一种risc处理器及其寄存器标志位处理方法 |
CN200710308571.1 | 2007-12-29 | ||
PCT/CN2008/001906 WO2009086727A1 (zh) | 2007-12-29 | 2008-11-24 | 一种risc处理器及其寄存器标志位处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011508921A true JP2011508921A (ja) | 2011-03-17 |
JP5299979B2 JP5299979B2 (ja) | 2013-09-25 |
Family
ID=39547296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010539995A Active JP5299979B2 (ja) | 2007-12-29 | 2008-11-24 | Riscプロセッサ及びレジスタのフラグビットの処理方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9189232B2 (ja) |
EP (1) | EP2226731B1 (ja) |
JP (1) | JP5299979B2 (ja) |
KR (1) | KR101139395B1 (ja) |
CN (1) | CN100530164C (ja) |
CA (1) | CA2709753C (ja) |
WO (1) | WO2009086727A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013093051A (ja) * | 2013-02-04 | 2013-05-16 | Renesas Electronics Corp | データプロセッサ |
JP2014225285A (ja) * | 2014-07-30 | 2014-12-04 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100530164C (zh) * | 2007-12-29 | 2009-08-19 | 中国科学院计算技术研究所 | 一种risc处理器及其寄存器标志位处理方法 |
JP5193624B2 (ja) * | 2008-02-19 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
US8615647B2 (en) | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
CN101876954B (zh) * | 2009-12-23 | 2012-08-15 | 中国科学院计算技术研究所 | 一种虚拟机控制系统及其工作方法 |
US9811338B2 (en) * | 2011-11-14 | 2017-11-07 | Intel Corporation | Flag non-modification extension for ISA instructions using prefixes |
US20140059322A1 (en) * | 2011-12-23 | 2014-02-27 | Elmoustapha Ould-Ahmed-Vall | Apparatus and method for broadcasting from a general purpose register to a vector register |
CN103377031B (zh) * | 2012-04-27 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种多数据处理方法和装置 |
US9251377B2 (en) | 2012-12-28 | 2016-02-02 | Intel Corporation | Instructions processors, methods, and systems to process secure hash algorithms |
CN105446791B (zh) * | 2014-08-26 | 2018-11-20 | 龙芯中科技术有限公司 | 标志位模拟方法、装置和处理器 |
CN110825436B (zh) * | 2018-08-10 | 2022-04-29 | 昆仑芯(北京)科技有限公司 | 应用于人工智能芯片的计算方法和人工智能芯片 |
US20230098724A1 (en) * | 2021-09-25 | 2023-03-30 | Intel Corporation | Copy a subset of status flags from a control and status register to a flags register |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH025138A (ja) * | 1988-02-01 | 1990-01-10 | Internatl Business Mach Corp <Ibm> | シミユレーシヨン方法 |
JPH0387930A (ja) * | 1989-06-15 | 1991-04-12 | Unisys Corp | エミュレータ・アシスト・ユニツト及びそれを用いたコ・プロセツサ・エミュレータ |
JPH04199331A (ja) * | 1990-11-29 | 1992-07-20 | Hitachi Ltd | マイクロコンピュータ |
US5481693A (en) * | 1994-07-20 | 1996-01-02 | Exponential Technology, Inc. | Shared register architecture for a dual-instruction-set CPU |
US5685009A (en) * | 1994-07-20 | 1997-11-04 | Exponential Technology, Inc. | Shared floating-point registers and register port-pairing in a dual-architecture CPU |
JPH1153189A (ja) * | 1997-07-31 | 1999-02-26 | Toshiba Corp | 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体 |
US6055624A (en) * | 1998-04-07 | 2000-04-25 | International Business Machines Corporation | Millicode flags with specialized update and branch instructions |
JP2004038923A (ja) * | 2002-02-06 | 2004-02-05 | Transitive Technologies Ltd | プログラムコード変換のための条件コードフラグのエミュレーション |
US20050262330A1 (en) * | 2001-10-23 | 2005-11-24 | Ip-First Llc | Apparatus and method for masked move to and from flags register in a processor |
JP2006505844A (ja) * | 2002-11-04 | 2006-02-16 | トランジティブ リミテッド | プログラムコード変換の検証を実行するための方法および装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4992934A (en) * | 1986-12-15 | 1991-02-12 | United Technologies Corporation | Reduced instruction set computing apparatus and methods |
US5463778A (en) * | 1989-11-16 | 1995-10-31 | Texas Instruments Incorporated | User controlled trap handler |
JP2507638B2 (ja) * | 1989-12-01 | 1996-06-12 | 三菱電機株式会社 | デ―タ処理装置 |
US5630082A (en) | 1993-10-29 | 1997-05-13 | Advanced Micro Devices, Inc. | Apparatus and method for instruction queue scanning |
DE69427265T2 (de) * | 1993-10-29 | 2002-05-02 | Advanced Micro Devices Inc | Superskalarbefehlsdekoder |
US5884057A (en) * | 1994-01-11 | 1999-03-16 | Exponential Technology, Inc. | Temporal re-alignment of a floating point pipeline to an integer pipeline for emulation of a load-operate architecture on a load/store processor |
US5481684A (en) * | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
US5664159A (en) * | 1994-03-08 | 1997-09-02 | Exponential Technology, Inc. | Method for emulating multiple debug breakpoints by page partitioning using a single breakpoint register |
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 |
US6076155A (en) * | 1995-10-24 | 2000-06-13 | S3 Incorporated | Shared register architecture for a dual-instruction-set CPU to facilitate data exchange between the instruction sets |
US6807625B1 (en) * | 2000-02-18 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Method and apparatus for efficiently generating, storing, and consuming arithmetic flags between producing and consuming macroinstructions when emulating with microinstructions |
CN1216327C (zh) * | 2003-05-15 | 2005-08-24 | 复旦大学 | 采用双指令集的32位嵌入式微处理器 |
US8429356B2 (en) * | 2005-11-02 | 2013-04-23 | Ati Technologies Ulc | Write data mask method and system |
CN100530164C (zh) * | 2007-12-29 | 2009-08-19 | 中国科学院计算技术研究所 | 一种risc处理器及其寄存器标志位处理方法 |
-
2007
- 2007-12-29 CN CNB2007103085711A patent/CN100530164C/zh active Active
-
2008
- 2008-11-24 KR KR1020107013400A patent/KR101139395B1/ko active IP Right Grant
- 2008-11-24 CA CA2709753A patent/CA2709753C/en active Active
- 2008-11-24 US US12/747,018 patent/US9189232B2/en active Active
- 2008-11-24 WO PCT/CN2008/001906 patent/WO2009086727A1/zh active Application Filing
- 2008-11-24 EP EP08869582.0A patent/EP2226731B1/en active Active
- 2008-11-24 JP JP2010539995A patent/JP5299979B2/ja active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH025138A (ja) * | 1988-02-01 | 1990-01-10 | Internatl Business Mach Corp <Ibm> | シミユレーシヨン方法 |
JPH0387930A (ja) * | 1989-06-15 | 1991-04-12 | Unisys Corp | エミュレータ・アシスト・ユニツト及びそれを用いたコ・プロセツサ・エミュレータ |
JPH04199331A (ja) * | 1990-11-29 | 1992-07-20 | Hitachi Ltd | マイクロコンピュータ |
US5481693A (en) * | 1994-07-20 | 1996-01-02 | Exponential Technology, Inc. | Shared register architecture for a dual-instruction-set CPU |
US5685009A (en) * | 1994-07-20 | 1997-11-04 | Exponential Technology, Inc. | Shared floating-point registers and register port-pairing in a dual-architecture CPU |
JPH1153189A (ja) * | 1997-07-31 | 1999-02-26 | Toshiba Corp | 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体 |
US6055624A (en) * | 1998-04-07 | 2000-04-25 | International Business Machines Corporation | Millicode flags with specialized update and branch instructions |
US20050262330A1 (en) * | 2001-10-23 | 2005-11-24 | Ip-First Llc | Apparatus and method for masked move to and from flags register in a processor |
JP2004038923A (ja) * | 2002-02-06 | 2004-02-05 | Transitive Technologies Ltd | プログラムコード変換のための条件コードフラグのエミュレーション |
JP2006505844A (ja) * | 2002-11-04 | 2006-02-16 | トランジティブ リミテッド | プログラムコード変換の検証を実行するための方法および装置 |
Non-Patent Citations (1)
Title |
---|
JPN6010027332; 平野成明,吉宗一夫,菊池和彦,畑雅之,三坂敏夫,高瀬俊一: 'i-PX7300ハードウェアアーキテクチャ' NEC技報 Vol:54,No:1, 20010125, Pages:11-15, 日本電気株式会社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013093051A (ja) * | 2013-02-04 | 2013-05-16 | Renesas Electronics Corp | データプロセッサ |
JP2014225285A (ja) * | 2014-07-30 | 2014-12-04 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
CN100530164C (zh) | 2009-08-19 |
US20100268916A1 (en) | 2010-10-21 |
CN101196869A (zh) | 2008-06-11 |
US9189232B2 (en) | 2015-11-17 |
CA2709753A1 (en) | 2009-07-16 |
KR20100095604A (ko) | 2010-08-31 |
EP2226731A4 (en) | 2010-12-29 |
WO2009086727A1 (zh) | 2009-07-16 |
CA2709753C (en) | 2016-08-23 |
EP2226731B1 (en) | 2018-04-18 |
JP5299979B2 (ja) | 2013-09-25 |
KR101139395B1 (ko) | 2012-04-27 |
EP2226731A1 (en) | 2010-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5299979B2 (ja) | Riscプロセッサ及びレジスタのフラグビットの処理方法 | |
US10664269B2 (en) | Function virtualization facility for function query of a processor | |
US6957321B2 (en) | Instruction set extension using operand bearing NOP instructions | |
US9250904B2 (en) | Modify and execute sequential instruction facility and instructions therefor | |
Reshadi et al. | Instruction set compiled simulation: A technique for fast and flexible instruction set simulation | |
JP5501338B2 (ja) | X86の仮想機をサポートするriscプロセッサ装置及び方法 | |
US7243213B2 (en) | Process for translating instructions for an arm-type processor into instructions for a LX-type processor; relative translator device and computer program product | |
JP4817185B2 (ja) | 埋め込み符号を持ったコンピュータ命令値フィールド | |
US9459872B2 (en) | High-word facility for extending the number of general purpose registers available to instructions | |
JP2008536240A (ja) | レジスタファイルとしてのオペランドスタックへの、ネイティブな命令を用いた、マイクロプロセッサのアクセス | |
US20110320773A1 (en) | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor | |
US20040230796A1 (en) | Security message authentication control instruction | |
CN114461275A (zh) | 具有独立进位链的加法指令 | |
CN115357332A (zh) | 处理器间中断的虚拟化 | |
US20090182985A1 (en) | Move Facility and Instructions Therefore | |
CN107729118A (zh) | 面向众核处理器的修改Java虚拟机的方法 | |
WO2009087152A2 (en) | Rotate then insert selected bits facility and instructions therefore | |
US5774694A (en) | Method and apparatus for emulating status flag | |
US20230205436A1 (en) | Zero cycle memory initialization | |
US20230205531A1 (en) | Random data usage | |
US20230061618A1 (en) | Bfloat16 square root and/or reciprocal square root instructions | |
CN118132154A (zh) | 指令处理方法、程序编译方法、相关器件及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120120 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120427 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121211 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130318 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130507 |
|
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: 20130521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130612 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5299979 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |