JP5335440B2 - オペランドの早期の条件付き選択 - Google Patents
オペランドの早期の条件付き選択 Download PDFInfo
- Publication number
- JP5335440B2 JP5335440B2 JP2008551563A JP2008551563A JP5335440B2 JP 5335440 B2 JP5335440 B2 JP 5335440B2 JP 2008551563 A JP2008551563 A JP 2008551563A JP 2008551563 A JP2008551563 A JP 2008551563A JP 5335440 B2 JP5335440 B2 JP 5335440B2
- Authority
- JP
- Japan
- Prior art keywords
- operand
- instruction
- operands
- pipeline
- execution
- 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 - Fee Related
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/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/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/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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
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)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/336,357 | 2006-01-20 | ||
| US11/336,357 US9710269B2 (en) | 2006-01-20 | 2006-01-20 | Early conditional selection of an operand |
| PCT/US2007/060814 WO2007085010A2 (en) | 2006-01-20 | 2007-01-22 | Early conditional selection of an operand |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2009524167A JP2009524167A (ja) | 2009-06-25 |
| JP2009524167A5 JP2009524167A5 (enExample) | 2012-03-01 |
| JP5335440B2 true JP5335440B2 (ja) | 2013-11-06 |
Family
ID=38286963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008551563A Expired - Fee Related JP5335440B2 (ja) | 2006-01-20 | 2007-01-22 | オペランドの早期の条件付き選択 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9710269B2 (enExample) |
| EP (2) | EP2461246B1 (enExample) |
| JP (1) | JP5335440B2 (enExample) |
| KR (1) | KR100986375B1 (enExample) |
| CN (1) | CN101371223B (enExample) |
| WO (1) | WO2007085010A2 (enExample) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5739055B2 (ja) | 2011-04-01 | 2015-06-24 | インテル コーポレイション | ベクトルフレンドリ命令フォーマット及びその実行 |
| CN104011670B (zh) | 2011-12-22 | 2016-12-28 | 英特尔公司 | 用于基于向量写掩码的内容而在通用寄存器中存储两个标量常数之一的指令 |
| US9280344B2 (en) * | 2012-09-27 | 2016-03-08 | Texas Instruments Incorporated | Repeated execution of instruction with field indicating trigger event, additional instruction, or trigger signal destination |
| KR101711388B1 (ko) | 2013-01-28 | 2017-03-02 | 삼성전자주식회사 | 파이프라인에서 블럭을 스케줄하는 컴파일 방법 및 장치 |
| US10459727B2 (en) | 2015-12-31 | 2019-10-29 | Microsoft Technology Licensing, Llc | Loop code processor optimizations |
| US10592252B2 (en) | 2015-12-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Efficient instruction processing for sparse data |
| US11385897B2 (en) * | 2019-10-01 | 2022-07-12 | Marvell Asia Pte, Ltd. | Merge execution unit for microinstructions |
| US12430127B1 (en) | 2024-03-27 | 2025-09-30 | International Business Machines Corporation | Vector test decimal instruction for validity testing |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5150469A (en) * | 1988-12-12 | 1992-09-22 | Digital Equipment Corporation | System and method for processor pipeline control by selective signal deassertion |
| GB2228597A (en) * | 1989-02-27 | 1990-08-29 | Ibm | Data processor with conditional instructions |
| JP3082944B2 (ja) | 1990-12-20 | 2000-09-04 | 富士通株式会社 | パイプライン処理装置 |
| GB2291515B (en) | 1994-07-14 | 1998-11-18 | Advanced Risc Mach Ltd | Data processing using multiply-accumulate instructions |
| US5699537A (en) * | 1995-12-22 | 1997-12-16 | Intel Corporation | Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions |
| TW325552B (en) | 1996-09-23 | 1998-01-21 | Advanced Risc Mach Ltd | Data processing condition code flags |
| GB2317466B (en) | 1996-09-23 | 2000-11-08 | Advanced Risc Mach Ltd | Data processing condition code flags |
| TW343318B (en) | 1996-09-23 | 1998-10-21 | Advanced Risc Mach Ltd | Register addressing in a data processing apparatus |
| GB2317464A (en) | 1996-09-23 | 1998-03-25 | Advanced Risc Mach Ltd | Register addressing in a data processing apparatus |
| US6173393B1 (en) * | 1998-03-31 | 2001-01-09 | Intel Corporation | System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data |
| JP2000020309A (ja) * | 1998-06-30 | 2000-01-21 | Toshiba Microelectronics Corp | デジタルシグナルプロセッサ |
| JP2001051845A (ja) | 1999-08-12 | 2001-02-23 | Hitachi Ltd | アウトオブオーダー実行方式 |
| US6633971B2 (en) * | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
| US20050188182A1 (en) * | 1999-12-30 | 2005-08-25 | Texas Instruments Incorporated | Microprocessor having a set of byte intermingling instructions |
| US6604192B1 (en) | 2000-01-24 | 2003-08-05 | Hewlett-Packard Development Company, L.P. | System and method for utilizing instruction attributes to detect data hazards |
| JP2001216275A (ja) | 2000-02-01 | 2001-08-10 | Sony Corp | 画像処理装置および画像処理方法 |
| WO2002042907A2 (en) | 2000-11-27 | 2002-05-30 | Koninklijke Philips Electronics N.V. | Data processing apparatus with multi-operand instructions |
| JP4220722B2 (ja) | 2001-05-02 | 2009-02-04 | パイオニア株式会社 | 情報記録媒体および情報読取装置 |
| US7028171B2 (en) * | 2002-03-28 | 2006-04-11 | Intel Corporation | Multi-way select instructions using accumulated condition codes |
| JP2004062401A (ja) | 2002-07-26 | 2004-02-26 | Matsushita Electric Ind Co Ltd | 演算プロセッサおよび当該演算プロセッサを用いたカメラ装置 |
| US6944747B2 (en) * | 2002-12-09 | 2005-09-13 | Gemtech Systems, Llc | Apparatus and method for matrix data processing |
| US7636837B2 (en) * | 2003-05-28 | 2009-12-22 | Fujitsu Limited | Apparatus and method for controlling instructions at time of failure of branch prediction |
| GB2409063B (en) * | 2003-12-09 | 2006-07-12 | Advanced Risc Mach Ltd | Vector by scalar operations |
-
2006
- 2006-01-20 US US11/336,357 patent/US9710269B2/en not_active Expired - Fee Related
-
2007
- 2007-01-22 EP EP11196175.1A patent/EP2461246B1/en not_active Not-in-force
- 2007-01-22 CN CN200780002416.5A patent/CN101371223B/zh active Active
- 2007-01-22 JP JP2008551563A patent/JP5335440B2/ja not_active Expired - Fee Related
- 2007-01-22 EP EP07717333A patent/EP1974254B1/en not_active Not-in-force
- 2007-01-22 KR KR1020087020385A patent/KR100986375B1/ko not_active Expired - Fee Related
- 2007-01-22 WO PCT/US2007/060814 patent/WO2007085010A2/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| EP1974254A2 (en) | 2008-10-01 |
| CN101371223B (zh) | 2015-07-15 |
| WO2007085010A2 (en) | 2007-07-26 |
| KR20080087171A (ko) | 2008-09-30 |
| CN101371223A (zh) | 2009-02-18 |
| JP2009524167A (ja) | 2009-06-25 |
| US9710269B2 (en) | 2017-07-18 |
| EP2461246A1 (en) | 2012-06-06 |
| US20070174592A1 (en) | 2007-07-26 |
| EP1974254B1 (en) | 2012-06-06 |
| EP2461246B1 (en) | 2017-03-29 |
| KR100986375B1 (ko) | 2010-10-08 |
| WO2007085010A3 (en) | 2007-12-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9367471B2 (en) | Fetch width predictor | |
| US8069336B2 (en) | Transitioning from instruction cache to trace cache on label boundaries | |
| KR101225075B1 (ko) | 실행되는 명령의 결과를 선택적으로 커밋하는 시스템 및 방법 | |
| US6721866B2 (en) | Unaligned memory operands | |
| TWI654562B (zh) | 藉由演算法匹配、停用特徵或限制效能之回溯相容性 | |
| US6279105B1 (en) | Pipelined two-cycle branch target address cache | |
| JP6718454B2 (ja) | 選択的ページミス変換プリフェッチによってプログラムメモリコントローラにおけるページ変換ミスレイテンシを隠すこと | |
| US20110320787A1 (en) | Indirect Branch Hint | |
| JP5335440B2 (ja) | オペランドの早期の条件付き選択 | |
| US20120204008A1 (en) | Processor with a Hybrid Instruction Queue with Instruction Elaboration Between Sections | |
| KR20090094335A (ko) | 서브루틴 호를 인지하기 위한 방법들 및 장치 | |
| JP5745638B2 (ja) | 分岐命令の中に符号化されたバイモーダル分岐予測子 | |
| JP2009524167A5 (enExample) | ||
| CN114546485A (zh) | 用于预测子程序返回指令的目标的取指单元 | |
| US6983359B2 (en) | Processor and method for pre-fetching out-of-order instructions | |
| US20120110037A1 (en) | Methods and Apparatus for a Read, Merge and Write Register File | |
| US20050144427A1 (en) | Processor including branch prediction mechanism for far jump and far call instructions | |
| US7996655B2 (en) | Multiport execution target delay queue FIFO array | |
| US7783692B1 (en) | Fast flag generation | |
| CN120508319A (zh) | 分支预测方法 | |
| CN119668695A (zh) | 一种基于risc-v指令的计算装置、方法、设备及介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110621 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110726 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111024 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111031 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111125 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111202 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111226 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120106 |
|
| A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20120116 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120117 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120828 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121128 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121205 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121225 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130312 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130612 |
|
| 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: 20130702 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130731 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5335440 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 |
|
| LAPS | Cancellation because of no payment of annual fees |