WO2006113420A3 - System and method wherein conditional instructions unconditionally provide output - Google Patents
System and method wherein conditional instructions unconditionally provide output Download PDFInfo
- Publication number
- WO2006113420A3 WO2006113420A3 PCT/US2006/014042 US2006014042W WO2006113420A3 WO 2006113420 A3 WO2006113420 A3 WO 2006113420A3 US 2006014042 W US2006014042 W US 2006014042W WO 2006113420 A3 WO2006113420 A3 WO 2006113420A3
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- target
- condition
- output
- satisfied
- instruction
- Prior art date
Links
- 238000011156 evaluation Methods 0.000 abstract 1
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/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; 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- 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/38—Concurrent instruction execution, e.g. pipeline, 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; 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/38—Concurrent instruction execution, e.g. pipeline, 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
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)
- Executing Machine-Instructions (AREA)
Abstract
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06750153.6A EP1869547B1 (en) | 2005-04-14 | 2006-04-14 | System and method wherein conditional instructions unconditionally provide output |
BRPI0610222-0A BRPI0610222A2 (en) | 2005-04-14 | 2006-04-14 | system and method in which conditional statements give unconditional output |
CN2006800203461A CN101194225B (en) | 2005-04-14 | 2006-04-14 | System and method wherein conditional instructions unconditionally provide output |
JP2008506733A JP2008537231A (en) | 2005-04-14 | 2006-04-14 | System and method in which conditional instructions provide output unconditionally |
IL186632A IL186632A (en) | 2005-04-14 | 2007-10-14 | System and method wherein conditional instructions unconditionally provide output |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/106,803 | 2005-04-14 | ||
US11/106,803 US7624256B2 (en) | 2005-04-14 | 2005-04-14 | System and method wherein conditional instructions unconditionally provide output |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2006113420A2 WO2006113420A2 (en) | 2006-10-26 |
WO2006113420A3 true WO2006113420A3 (en) | 2006-12-21 |
Family
ID=37016156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2006/014042 WO2006113420A2 (en) | 2005-04-14 | 2006-04-14 | System and method wherein conditional instructions unconditionally provide output |
Country Status (9)
Country | Link |
---|---|
US (1) | US7624256B2 (en) |
EP (1) | EP1869547B1 (en) |
JP (3) | JP2008537231A (en) |
KR (1) | KR100953856B1 (en) |
CN (1) | CN101194225B (en) |
BR (1) | BRPI0610222A2 (en) |
IL (1) | IL186632A (en) |
TW (1) | TWI317906B (en) |
WO (1) | WO2006113420A2 (en) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624256B2 (en) * | 2005-04-14 | 2009-11-24 | Qualcomm Incorporated | System and method wherein conditional instructions unconditionally provide output |
US8078846B2 (en) * | 2006-09-29 | 2011-12-13 | Mips Technologies, Inc. | Conditional move instruction formed into one decoded instruction to be graduated and another decoded instruction to be invalidated |
CN101324838A (en) * | 2008-07-31 | 2008-12-17 | 华为技术有限公司 | Method and apparatus for executing instruction |
US8140780B2 (en) * | 2008-12-31 | 2012-03-20 | Micron Technology, Inc. | Systems, methods, and devices for configuring a device |
JP5072889B2 (en) * | 2009-03-16 | 2012-11-14 | 株式会社東芝 | Precondition generation apparatus and postcondition generation apparatus, and methods thereof |
GB2480285A (en) * | 2010-05-11 | 2011-11-16 | Advanced Risc Mach Ltd | Conditional compare instruction which sets a condition code when it is not executed |
GB2484654B (en) * | 2010-10-12 | 2013-10-09 | Advanced Risc Mach Ltd | Conditional selection of data elements |
US9032189B2 (en) * | 2011-04-07 | 2015-05-12 | Via Technologies, Inc. | Efficient conditional ALU instruction in read-port limited register file microprocessor |
US9292470B2 (en) | 2011-04-07 | 2016-03-22 | Via Technologies, Inc. | Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program |
US9146742B2 (en) | 2011-04-07 | 2015-09-29 | Via Technologies, Inc. | Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA |
US9317288B2 (en) | 2011-04-07 | 2016-04-19 | Via Technologies, Inc. | Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
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 |
US9898291B2 (en) | 2011-04-07 | 2018-02-20 | Via Technologies, Inc. | Microprocessor with arm and X86 instruction length decoders |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US9244686B2 (en) | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US8880851B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9176733B2 (en) | 2011-04-07 | 2015-11-03 | Via Technologies, Inc. | Load multiple and store multiple instructions in a microprocessor that emulates banked registers |
US9274795B2 (en) | 2011-04-07 | 2016-03-01 | Via Technologies, Inc. | Conditional non-branch instruction prediction |
US9128701B2 (en) | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US9378019B2 (en) | 2011-04-07 | 2016-06-28 | Via Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
US9336180B2 (en) | 2011-04-07 | 2016-05-10 | Via Technologies, Inc. | Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode |
US8880857B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9043580B2 (en) | 2011-04-07 | 2015-05-26 | Via Technologies, Inc. | Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA) |
US9645822B2 (en) | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution microprocessor |
JP6422381B2 (en) * | 2015-03-18 | 2018-11-14 | ルネサスエレクトロニクス株式会社 | Processor, program code conversion device and software |
JP7081922B2 (en) * | 2017-12-28 | 2022-06-07 | 株式会社バンダイナムコエンターテインメント | Programs, game consoles and methods for running games |
CN111209039B (en) * | 2018-11-21 | 2022-08-02 | 展讯通信(上海)有限公司 | Instruction processing method and device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066151A1 (en) * | 2003-09-19 | 2005-03-24 | Sailesh Kottapalli | Method and apparatus for handling predicated instructions in an out-of-order processor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2933027B2 (en) * | 1996-08-30 | 1999-08-09 | 日本電気株式会社 | Multiple instruction parallel issue / execution management device |
US6009512A (en) * | 1997-10-27 | 1999-12-28 | Advanced Micro Devices, Inc. | Mechanism for forwarding operands based on predicated instructions |
US6170052B1 (en) * | 1997-12-31 | 2001-01-02 | Intel Corporation | Method and apparatus for implementing predicated sequences in a processor with renaming |
US6449713B1 (en) * | 1998-11-18 | 2002-09-10 | Compaq Information Technologies Group, L.P. | Implementation of a conditional move instruction in an out-of-order processor |
US20020073301A1 (en) * | 2000-12-07 | 2002-06-13 | International Business Machines Corporation | Hardware for use with compiler generated branch information |
US20020112148A1 (en) * | 2000-12-15 | 2002-08-15 | Perry Wang | System and method for executing predicated code out of order |
US6883089B2 (en) * | 2000-12-30 | 2005-04-19 | Intel Corporation | Method and apparatus for processing a predicated instruction using limited predicate slip |
US7624256B2 (en) * | 2005-04-14 | 2009-11-24 | Qualcomm Incorporated | System and method wherein conditional instructions unconditionally provide output |
-
2005
- 2005-04-14 US US11/106,803 patent/US7624256B2/en not_active Expired - Fee Related
-
2006
- 2006-04-14 WO PCT/US2006/014042 patent/WO2006113420A2/en active Application Filing
- 2006-04-14 CN CN2006800203461A patent/CN101194225B/en active Active
- 2006-04-14 KR KR1020077026476A patent/KR100953856B1/en active IP Right Grant
- 2006-04-14 EP EP06750153.6A patent/EP1869547B1/en not_active Not-in-force
- 2006-04-14 JP JP2008506733A patent/JP2008537231A/en not_active Withdrawn
- 2006-04-14 TW TW095113507A patent/TWI317906B/en active
- 2006-04-14 BR BRPI0610222-0A patent/BRPI0610222A2/en not_active IP Right Cessation
-
2007
- 2007-10-14 IL IL186632A patent/IL186632A/en active IP Right Grant
-
2012
- 2012-04-23 JP JP2012097489A patent/JP2012212433A/en not_active Withdrawn
-
2015
- 2015-04-09 JP JP2015080190A patent/JP6009608B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066151A1 (en) * | 2003-09-19 | 2005-03-24 | Sailesh Kottapalli | Method and apparatus for handling predicated instructions in an out-of-order processor |
Non-Patent Citations (2)
Title |
---|
WEIHAW CHUANG ET AL: "Phi-predication for light-weight if-conversion", CODE GENERATION AND OPTIMIZATION, 2003. CGO 2003. INTERNATIONAL SYMPOSIUM ON 23-26 MAR 2003, PISCATAWAY, NJ, USA,IEEE, 23 March 2003 (2003-03-23), pages 179 - 190, XP010638080, ISBN: 0-7695-1913-X * |
ZHENGHONG WANG ET AL INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "Micro-architecture issues of predicated execution", 9 November 2003, CONFERENCE RECORD OF THE 37TH. ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS, & COMPUTERS. PACIFIC GROOVE, CA, NOV. 9 - 12, 2003, ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS, NEW YORK, NY : IEEE, US, PAGE(S) 349-354, ISBN: 0-7803-8104-1, XP010701857 * |
Also Published As
Publication number | Publication date |
---|---|
WO2006113420A2 (en) | 2006-10-26 |
KR20070121842A (en) | 2007-12-27 |
EP1869547A2 (en) | 2007-12-26 |
TW200705266A (en) | 2007-02-01 |
TWI317906B (en) | 2009-12-01 |
BRPI0610222A2 (en) | 2010-06-08 |
US7624256B2 (en) | 2009-11-24 |
CN101194225B (en) | 2013-10-23 |
EP1869547B1 (en) | 2016-09-21 |
IL186632A (en) | 2012-04-30 |
US20060236078A1 (en) | 2006-10-19 |
JP2012212433A (en) | 2012-11-01 |
JP6009608B2 (en) | 2016-10-19 |
JP2015164048A (en) | 2015-09-10 |
IL186632A0 (en) | 2008-01-20 |
JP2008537231A (en) | 2008-09-11 |
CN101194225A (en) | 2008-06-04 |
KR100953856B1 (en) | 2010-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006113420A3 (en) | System and method wherein conditional instructions unconditionally provide output | |
WO2007095397A3 (en) | Programmable processing unit | |
TW200709039A (en) | System and method for a floating point unit with feedback prior to normalization and rounding | |
AU2001231182A1 (en) | Method and apparatus for instruction set architecture having dyadic digital signal processing instructions | |
WO2008074382A8 (en) | Obfuscating computer program code | |
WO2012138950A3 (en) | Conditional load instructions in an out-of-order execution microprocessor | |
WO2005086746A3 (en) | Programmable-logic acceleraton of data processing applications | |
WO2006081049A3 (en) | Improving branch prediction accuracy in a processor that supports speculative execution | |
WO2009133354A3 (en) | System for providing trace data in a data processor having a pipelined architecture | |
WO2008054835A3 (en) | Computer systems with lightweight multi-threaded architectures | |
WO2007001521A3 (en) | Real-time processor | |
IL185066A0 (en) | Conditional instruction execution via emissary instruction for condition evaluation | |
WO2006094196A3 (en) | Method and apparatus for power reduction in an heterogeneously- multi-pipelined processor | |
WO2007008880A3 (en) | Changing code execution path using kernel mode redirection | |
BRPI0608750A2 (en) | method and system issue and process mixed superscalar and vliw instructions | |
JP2017142799A5 (en) | ||
TW200500944A (en) | Apparatus and method for managing a processor pipeline in response to exceptions | |
TW200636581A (en) | Methods and apparatus for instruction set emulation | |
TW200627145A (en) | Updating instruction fault status register | |
WO2009055752A3 (en) | Model-driven, repository-based application monitoring system | |
WO2008021607A3 (en) | Selective branch target buffer (btb) allocation | |
WO2007130803A3 (en) | Controlled-precision iterative arithmetic logic unit | |
WO2006116540A3 (en) | An application specific reconfigurable network processor | |
WO2003090067A3 (en) | System for expanded instruction encoding and method thereof | |
WO2008042296A3 (en) | Twice issued conditional move instruction, and applications thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200680020346.1 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 186632 Country of ref document: IL |
|
ENP | Entry into the national phase |
Ref document number: 2008506733 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2006750153 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006750153 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020077026476 Country of ref document: KR |
|
ENP | Entry into the national phase |
Ref document number: PI0610222 Country of ref document: BR Kind code of ref document: A2 |