KR102161682B1 - 이미디에이트 핸들링 및 플래그 핸들링을 위한 프로세서 및 방법 - Google Patents
이미디에이트 핸들링 및 플래그 핸들링을 위한 프로세서 및 방법 Download PDFInfo
- Publication number
- KR102161682B1 KR102161682B1 KR1020167013469A KR20167013469A KR102161682B1 KR 102161682 B1 KR102161682 B1 KR 102161682B1 KR 1020167013469 A KR1020167013469 A KR 1020167013469A KR 20167013469 A KR20167013469 A KR 20167013469A KR 102161682 B1 KR102161682 B1 KR 102161682B1
- Authority
- KR
- South Korea
- Prior art keywords
- flag
- mapping table
- bit
- instructions
- flags
- 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 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/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/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)
- Advance Control (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201361895715P | 2013-10-25 | 2013-10-25 | |
| US61/895,715 | 2013-10-25 | ||
| PCT/US2014/062180 WO2015061687A1 (en) | 2013-10-25 | 2014-10-24 | Processor and methods for immediate handling and flag handling |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20160075639A KR20160075639A (ko) | 2016-06-29 |
| KR102161682B1 true KR102161682B1 (ko) | 2020-10-05 |
Family
ID=52993620
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020167013469A Active KR102161682B1 (ko) | 2013-10-25 | 2014-10-24 | 이미디에이트 핸들링 및 플래그 핸들링을 위한 프로세서 및 방법 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20150121041A1 (enExample) |
| EP (1) | EP3060979B1 (enExample) |
| JP (1) | JP6491655B2 (enExample) |
| KR (1) | KR102161682B1 (enExample) |
| CN (1) | CN105765522B (enExample) |
| WO (1) | WO2015061687A1 (enExample) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9798593B1 (en) * | 2016-07-06 | 2017-10-24 | Workday, Inc. | Synchronization of code execution |
| US10761849B2 (en) * | 2016-09-22 | 2020-09-01 | Intel Corporation | Processors, methods, systems, and instruction conversion modules for instructions with compact instruction encodings due to use of context of a prior instruction |
| US10713213B2 (en) * | 2016-12-21 | 2020-07-14 | Intel Corporation | Systems and methods for multi-architecture computing |
| US11275709B2 (en) | 2017-05-02 | 2022-03-15 | Intel Corporation | Systems and methods for multi-architecture computing |
| US10318298B2 (en) * | 2017-09-29 | 2019-06-11 | Intel Corporation | Apparatus and method for shifting quadwords and extracting packed words |
| US10481910B2 (en) * | 2017-09-29 | 2019-11-19 | Intel Corporation | Apparatus and method for shifting quadwords and extracting packed words |
| CN112114874B (zh) * | 2020-08-20 | 2021-10-15 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6047369A (en) * | 1994-02-28 | 2000-04-04 | Intel Corporation | Flag renaming and flag masks within register alias table |
| US5632023A (en) * | 1994-06-01 | 1997-05-20 | Advanced Micro Devices, Inc. | Superscalar microprocessor including flag operand renaming and forwarding apparatus |
| US5649225A (en) * | 1994-06-01 | 1997-07-15 | Advanced Micro Devices, Inc. | Resynchronization of a superscalar processor |
| US5933618A (en) * | 1995-10-30 | 1999-08-03 | Advanced Micro Devices, Inc. | Speculative register storage for storing speculative results corresponding to register updated by a plurality of concurrently recorded instruction |
| US6338132B1 (en) * | 1998-12-30 | 2002-01-08 | Intel Corporation | System and method for storing immediate data |
| US20050071518A1 (en) * | 2003-09-30 | 2005-03-31 | Intel Corporation | Flag value renaming |
| US7587585B1 (en) * | 2005-10-26 | 2009-09-08 | Sun Microsystems, Inc. | Flag management in processors enabled for speculative execution of micro-operation traces |
| US7421529B2 (en) * | 2005-10-20 | 2008-09-02 | Qualcomm Incorporated | Method and apparatus to clear semaphore reservation for exclusive access to shared memory |
| US7822948B2 (en) * | 2008-01-03 | 2010-10-26 | International Business Machines Corporation | Apparatus, system, and method for discontiguous multiple issue of instructions |
| US8250346B2 (en) * | 2009-06-04 | 2012-08-21 | Arm Limited | Register renaming of a partially updated data granule |
| US9088594B2 (en) * | 2011-02-07 | 2015-07-21 | International Business Machines Corporation | Providing to a parser and processors in a network processor access to an external coprocessor |
| US8924695B2 (en) * | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
| EP2508980B1 (en) * | 2011-04-07 | 2018-02-28 | VIA Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
| US8972701B2 (en) * | 2011-12-06 | 2015-03-03 | Arm Limited | Setting zero bits in architectural register for storing destination operand of smaller size based on corresponding zero flag attached to renamed physical register |
| US9189236B2 (en) * | 2012-12-21 | 2015-11-17 | Intel Corporation | Speculative non-faulting loads and gathers |
-
2014
- 2014-10-24 KR KR1020167013469A patent/KR102161682B1/ko active Active
- 2014-10-24 WO PCT/US2014/062180 patent/WO2015061687A1/en not_active Ceased
- 2014-10-24 US US14/523,718 patent/US20150121041A1/en not_active Abandoned
- 2014-10-24 JP JP2016525922A patent/JP6491655B2/ja active Active
- 2014-10-24 EP EP14855674.9A patent/EP3060979B1/en active Active
- 2014-10-24 CN CN201480064146.0A patent/CN105765522B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP6491655B2 (ja) | 2019-03-27 |
| EP3060979A4 (en) | 2017-07-05 |
| EP3060979A1 (en) | 2016-08-31 |
| CN105765522B (zh) | 2020-05-19 |
| WO2015061687A1 (en) | 2015-04-30 |
| EP3060979B1 (en) | 2020-08-05 |
| US20150121041A1 (en) | 2015-04-30 |
| JP2016534430A (ja) | 2016-11-04 |
| KR20160075639A (ko) | 2016-06-29 |
| CN105765522A (zh) | 2016-07-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102161682B1 (ko) | 이미디에이트 핸들링 및 플래그 핸들링을 위한 프로세서 및 방법 | |
| CN108369511B (zh) | 用于基于通道的跨步存储操作的指令和逻辑 | |
| TWI507980B (zh) | 最佳化暫存器初始化操作 | |
| JP6351682B2 (ja) | 装置および方法 | |
| CN107077321B (zh) | 用于执行融合的单个周期递增-比较-跳转的指令和逻辑 | |
| KR102478874B1 (ko) | 비순차적 하드웨어 소프트웨어 공동 설계된 프로세서에서 스택 동기화 명령어를 갖는 술어 값의 스택을 구현하고 유지하기 위한 방법 및 장치 | |
| CN102754069B (zh) | 用于处理加载/存储分离指令的方法和系统 | |
| CN102792265B (zh) | 基于机器状态的指令破解 | |
| US9459872B2 (en) | High-word facility for extending the number of general purpose registers available to instructions | |
| US20190012171A1 (en) | Read and Write Masks Update Instruction for Vectorization of Recursive Computations Over Independent Data | |
| US20160055004A1 (en) | Method and apparatus for non-speculative fetch and execution of control-dependent blocks | |
| KR101851439B1 (ko) | 충돌 검출을 수행하고, 레지스터의 콘텐츠를 다른 레지스터의 데이터 구성요소 위치들로 브로드캐스트하기 위한 시스템들, 장치들 및 방법들 | |
| US20150227366A1 (en) | Processor with granular add immediates capability & methods | |
| US9652234B2 (en) | Instruction and logic to control transfer in a partial binary translation system | |
| US20140095828A1 (en) | Vector move instruction controlled by read and write masks | |
| EP3260978B1 (en) | System and method of merging partial write result during retire phase | |
| US20140189331A1 (en) | System of improved loop detection and execution | |
| KR101285072B1 (ko) | 실행 관련 명령어 | |
| US20090182985A1 (en) | Move Facility and Instructions Therefore | |
| US20150106600A1 (en) | Execution of condition-based instructions | |
| CN119226682A (zh) | 向量紧缩矩阵乘法和累加处理器、方法、系统和指令 | |
| EP1220088A2 (en) | Circuit and method for supporting misaligned accesses in the presence of speculative load instructions | |
| KR101635856B1 (ko) | 데이터 요소에 있는 비트들의 제로화를 위한 시스템, 장치, 및 방법 | |
| CN116339489A (zh) | 处理器中微操作的扼制融合的系统、装置和方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PA0302 | Request for accelerated examination |
St.27 status event code: A-1-2-D10-D17-exm-PA0302 St.27 status event code: A-1-2-D10-D16-exm-PA0302 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E90F | Notification of reason for final refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |