JP2001243063A - Simd命令をエミュレートする方法及び装置 - Google Patents
Simd命令をエミュレートする方法及び装置Info
- Publication number
- JP2001243063A JP2001243063A JP2001025784A JP2001025784A JP2001243063A JP 2001243063 A JP2001243063 A JP 2001243063A JP 2001025784 A JP2001025784 A JP 2001025784A JP 2001025784 A JP2001025784 A JP 2001025784A JP 2001243063 A JP2001243063 A JP 2001243063A
- Authority
- JP
- Japan
- Prior art keywords
- exception
- sse
- instruction
- register
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/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 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30101—Special purpose 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- 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/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- 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/30105—Register structure
- G06F9/30116—Shadow registers, e.g. coupled registers, not forming part of the register space
-
- 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
- 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/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/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/496844 | 2000-02-02 | ||
| US09/496,844 US6820190B1 (en) | 2000-02-02 | 2000-02-02 | Method and computer system for decomposing macroinstructions into microinstructions and forcing the parallel issue of at least two microinstructions |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001243063A true JP2001243063A (ja) | 2001-09-07 |
| JP2001243063A5 JP2001243063A5 (https=) | 2006-11-30 |
Family
ID=23974401
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001025784A Pending JP2001243063A (ja) | 2000-02-02 | 2001-02-01 | Simd命令をエミュレートする方法及び装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6820190B1 (https=) |
| JP (1) | JP2001243063A (https=) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010152919A (ja) * | 2001-12-20 | 2010-07-08 | Intel Corp | プロセッサに関するロード/移動及び複製命令 |
| JP2011248820A (ja) * | 2010-05-31 | 2011-12-08 | Nec Computertechno Ltd | 情報処理装置及びマイクロ命令処理方法 |
| JP2018507453A (ja) * | 2014-12-23 | 2018-03-15 | インテル・コーポレーション | 命令フローを最適化するチェックを実行するための装置および方法 |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
| US7941647B2 (en) * | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
| US8121828B2 (en) | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
| US8074055B1 (en) | 1999-01-28 | 2011-12-06 | Ati Technologies Ulc | Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code |
| US7275246B1 (en) | 1999-01-28 | 2007-09-25 | Ati International Srl | Executing programs for a first computer architecture on a computer of a second architecture |
| US7254806B1 (en) | 1999-08-30 | 2007-08-07 | Ati International Srl | Detecting reordered side-effects |
| US6934832B1 (en) | 2000-01-18 | 2005-08-23 | Ati International Srl | Exception mechanism for a computer |
| US7206921B2 (en) * | 2003-04-07 | 2007-04-17 | Intel Corporation | Micro-operation un-lamination |
| US7451294B2 (en) * | 2003-07-30 | 2008-11-11 | Intel Corporation | Apparatus and method for two micro-operation flow using source override |
| US7213136B2 (en) * | 2003-07-30 | 2007-05-01 | Intel Corporation | Apparatus and method for redundant zero micro-operation removal |
| US9703562B2 (en) * | 2013-03-16 | 2017-07-11 | Intel Corporation | Instruction emulation processors, methods, and systems |
| US11461106B2 (en) | 2019-10-23 | 2022-10-04 | Texas Instruments Incorporated | Programmable event testing |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2911278B2 (ja) * | 1990-11-30 | 1999-06-23 | 松下電器産業株式会社 | プロセッサ |
| 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 |
| US5598546A (en) * | 1994-08-31 | 1997-01-28 | Exponential Technology, Inc. | Dual-architecture super-scalar pipeline |
| US5860017A (en) | 1996-06-28 | 1999-01-12 | Intel Corporation | Processor and method for speculatively executing instructions from multiple instruction streams indicated by a branch instruction |
| US5859999A (en) | 1996-10-03 | 1999-01-12 | Idea Corporation | System for restoring predicate registers via a mask having at least a single bit corresponding to a plurality of registers |
| US5764971A (en) * | 1996-12-11 | 1998-06-09 | Industrial Technology Research Institute | Method and apparatus for implementing precise interrupts in a pipelined data processing system |
| US6233671B1 (en) * | 1998-03-31 | 2001-05-15 | Intel Corporation | Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions |
| US6085312A (en) * | 1998-03-31 | 2000-07-04 | Intel Corporation | Method and apparatus for handling imprecise exceptions |
| US6038652A (en) * | 1998-09-30 | 2000-03-14 | Intel Corporation | Exception reporting on function generation in an SIMD processor |
| US6321327B1 (en) * | 1998-12-30 | 2001-11-20 | Intel Corporation | Method for setting a bit associated with each component of packed floating-pint operand that is normalized in SIMD operations |
| US6330657B1 (en) * | 1999-05-18 | 2001-12-11 | Ip-First, L.L.C. | Pairing of micro instructions in the instruction queue |
| US6357016B1 (en) * | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
-
2000
- 2000-02-02 US US09/496,844 patent/US6820190B1/en not_active Expired - Lifetime
-
2001
- 2001-02-01 JP JP2001025784A patent/JP2001243063A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010152919A (ja) * | 2001-12-20 | 2010-07-08 | Intel Corp | プロセッサに関するロード/移動及び複製命令 |
| US8539202B2 (en) | 2001-12-20 | 2013-09-17 | Intel Corporation | Load/move duplicate instructions for a processor |
| US8650382B2 (en) | 2001-12-20 | 2014-02-11 | Intel Corporation | Load/move and duplicate instructions for a processor |
| US9043583B2 (en) | 2001-12-20 | 2015-05-26 | Intel Corporation | Load/move and duplicate instructions for a processor |
| JP2011248820A (ja) * | 2010-05-31 | 2011-12-08 | Nec Computertechno Ltd | 情報処理装置及びマイクロ命令処理方法 |
| JP2018507453A (ja) * | 2014-12-23 | 2018-03-15 | インテル・コーポレーション | 命令フローを最適化するチェックを実行するための装置および方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6820190B1 (en) | 2004-11-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6151669A (en) | Methods and apparatus for efficient control of floating-point status register | |
| JP3977016B2 (ja) | 仮想レジスタ番号を用いて論理レジスタ番号を物理レジスタ番号にマッピングするように構成されるプロセッサ | |
| US5345567A (en) | System and method for modifying program status word system mask, system access key, and address space code with overlap enabled | |
| US5815695A (en) | Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instructions on a computer processor | |
| JP6942298B2 (ja) | ベクトル演算命令の例外条件処理 | |
| JP2001243063A (ja) | Simd命令をエミュレートする方法及び装置 | |
| CN104899181B (zh) | 用于处理向量操作数的数据处理装置和方法 | |
| US6044454A (en) | IEEE compliant floating point unit | |
| GB2543302A (en) | Vector load instruction | |
| GB2543303A (en) | Vector data transfer instruction | |
| WO2012136975A1 (en) | A data processing apparatus and method for performing vector operations | |
| JP5217431B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
| WO2001006353A1 (en) | Conditional instruction execution in a computer | |
| JP4219507B2 (ja) | コンピュータ動作方法 | |
| KR0133237B1 (ko) | 다중 실행장치 처리시스템 상태의 선택적 저장방법 및 시스템 | |
| GB2339312A (en) | Handling exceptions in a pipelined processor. | |
| US6021488A (en) | Data processing system having an apparatus for tracking a status of an out-of-order operation and method thereof | |
| US6578059B1 (en) | Methods and apparatus for controlling exponent range in floating-point calculations | |
| JPH09152973A (ja) | カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置 | |
| KR100308512B1 (ko) | 편집 기능을 위한 전문 밀리코드 지시 | |
| US6237085B1 (en) | Processor and method for generating less than (LT), Greater than (GT), and equal to (EQ) condition code bits concurrent with a logical or complex operation | |
| JP3578682B2 (ja) | 浮動小数点数処理記憶方法 | |
| KR100307980B1 (ko) | 산술 또는 논리 연산의 수행과 동시에 조건 코드 비트를 발생하는 방법 및 시스템 | |
| US6681322B1 (en) | Method and apparatus for emulating an instruction set extension in a digital computer system | |
| JPH096610A (ja) | データ処理システムにおいて複合命令の実行中にオペランドを交換するための方法およびシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061012 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061012 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080917 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090107 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090113 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090609 |