WO2000070446A3 - Method and apparatus for loose register encoding within a pipelined processor - Google Patents

Method and apparatus for loose register encoding within a pipelined processor Download PDF

Info

Publication number
WO2000070446A3
WO2000070446A3 PCT/US2000/013198 US0013198W WO0070446A3 WO 2000070446 A3 WO2000070446 A3 WO 2000070446A3 US 0013198 W US0013198 W US 0013198W WO 0070446 A3 WO0070446 A3 WO 0070446A3
Authority
WO
WIPO (PCT)
Prior art keywords
disclosed
encoding
register
aforementioned
operations
Prior art date
Application number
PCT/US2000/013198
Other languages
French (fr)
Other versions
WO2000070446A2 (en
Inventor
Peter Warnes
Carl Graham
Original Assignee
Arc Internat U S Holdings Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US09/418,663 external-priority patent/US6862563B1/en
Application filed by Arc Internat U S Holdings Inc filed Critical Arc Internat U S Holdings Inc
Priority to AU48481/00A priority Critical patent/AU4848100A/en
Priority to EP00930707A priority patent/EP1194835A2/en
Publication of WO2000070446A2 publication Critical patent/WO2000070446A2/en
Publication of WO2000070446A3 publication Critical patent/WO2000070446A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30156Special purpose encoding of instructions, e.g. Gray coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

An improved method and apparatus for implementing instructions in a pipelined central processing unit (CPU) or user-customizable microprocessor. In a first aspect of the invention, an improved method of 'loosely' encoding register numbers to indicate register immediate data operand usage is disclosed. One embodiment comprises instruction words having multi-bit data fields defined therein which encode various types of immediate operands. Such multi-bit field definitions provide the programmer with additional flexibility in performing a variety of operations, including non-commutative operations. A method of synthesizing a processor design incorporating the aforementioned 'loose' register encoding is also disclosed. Exemplary gate logic synthesized using the aforementioned method, and a computer program and system capable of implementing these methods are further disclosed.
PCT/US2000/013198 1999-05-13 2000-05-12 Method and apparatus for loose register encoding within a pipelined processor WO2000070446A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU48481/00A AU4848100A (en) 1999-05-13 2000-05-12 Method and apparatus for loose register encoding within a pipelined processor
EP00930707A EP1194835A2 (en) 1999-05-13 2000-05-12 Method and apparatus for loose register encoding within a pipelined processor

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US13425399P 1999-05-13 1999-05-13
US60/134,253 1999-05-13
US09/418,663 US6862563B1 (en) 1998-10-14 1999-10-14 Method and apparatus for managing the configuration and functionality of a semiconductor design
US09/418,663 1999-10-14
US52417800A 2000-03-13 2000-03-13
US09/524,178 2000-03-13

Publications (2)

Publication Number Publication Date
WO2000070446A2 WO2000070446A2 (en) 2000-11-23
WO2000070446A3 true WO2000070446A3 (en) 2002-02-07

Family

ID=27384546

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/013198 WO2000070446A2 (en) 1999-05-13 2000-05-12 Method and apparatus for loose register encoding within a pipelined processor

Country Status (5)

Country Link
EP (1) EP1194835A2 (en)
CN (2) CN100351782C (en)
AU (1) AU4848100A (en)
TW (1) TW482978B (en)
WO (1) WO2000070446A2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862563B1 (en) 1998-10-14 2005-03-01 Arc International Method and apparatus for managing the configuration and functionality of a semiconductor design
AU2001243463A1 (en) 2000-03-10 2001-09-24 Arc International Plc Memory interface and method of interfacing between functional entities
US7734898B2 (en) 2004-09-17 2010-06-08 Freescale Semiconductor, Inc. System and method for specifying an immediate value in an instruction
US8127117B2 (en) * 2006-05-10 2012-02-28 Qualcomm Incorporated Method and system to combine corresponding half word units from multiple register units within a microprocessor
US8127113B1 (en) 2006-12-01 2012-02-28 Synopsys, Inc. Generating hardware accelerators and processor offloads
GB2461849A (en) * 2008-07-10 2010-01-20 Cambridge Consultants Push immediate instruction with several operands
WO2015171428A1 (en) * 2014-05-07 2015-11-12 Marvell World Trade Ltd. Low power distributed memory network
GB2569098B (en) * 2017-10-20 2020-01-08 Graphcore Ltd Combining states of multiple threads in a multi-threaded processor
CN113656071B (en) * 2021-10-18 2022-02-08 深圳市智想科技有限公司 RISC architecture based CPU instruction set system and CPU system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0489266A2 (en) * 1990-11-07 1992-06-10 Kabushiki Kaisha Toshiba Computer and method for performing immediate calculation by utilizing the computer
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
GB2309803A (en) * 1996-02-01 1997-08-06 Advanced Risc Mach Ltd Processing cycle control in data processing apparatus
US5774687A (en) * 1994-09-26 1998-06-30 Mitsubishi Denki Kabushiki Kaisha Central processing unit detecting and judging whether operation result executed by ALU in response to a first instruction code meets a predetermined condition
EP0871108A1 (en) * 1991-03-11 1998-10-14 Silicon Graphics, Inc. Backward-compatible computer architecture with extended word size and address space

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995009392A1 (en) * 1993-09-27 1995-04-06 Giga Operations Corporation Implementation of a selected instruction set cpu in programmable hardware
CN1187255A (en) * 1995-06-07 1998-07-08 高级微型器件公司 Microprocessor using instruction field to specify expanded functionality
SE505783C3 (en) * 1995-10-03 1997-10-06 Ericsson Telefon Ab L M The process still produces a digital signal processor
CN1145099C (en) * 1996-05-15 2004-04-07 特莱麦迪雅技术公司 Processor with instruction cache
GB2317464A (en) * 1996-09-23 1998-03-25 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
US5890008A (en) * 1997-06-25 1999-03-30 Sun Microsystems, Inc. Method for dynamically reconfiguring a processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0489266A2 (en) * 1990-11-07 1992-06-10 Kabushiki Kaisha Toshiba Computer and method for performing immediate calculation by utilizing the computer
EP0871108A1 (en) * 1991-03-11 1998-10-14 Silicon Graphics, Inc. Backward-compatible computer architecture with extended word size and address space
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5774687A (en) * 1994-09-26 1998-06-30 Mitsubishi Denki Kabushiki Kaisha Central processing unit detecting and judging whether operation result executed by ALU in response to a first instruction code meets a predetermined condition
GB2309803A (en) * 1996-02-01 1997-08-06 Advanced Risc Mach Ltd Processing cycle control in data processing apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HELBIG W ET AL: "A DCFL E/D-MESFET GAAS EXPERIMENTAL RISC MACHINE", IEEE TRANSACTIONS ON COMPUTERS,US,IEEE INC. NEW YORK, vol. 38, no. 2, 1 February 1989 (1989-02-01), pages 263 - 274, XP000069984, ISSN: 0018-9340 *
MAY D ET AL: "THE TRANSPUTER", NEURAL COMPUTERS. NEUSS, SEPT. 28 - OCT. 2, 1987, PROCEEDINGS OF THE NATO ADVANCED WORKSHOP ON NEURAL COMPUTERS, BERLIN, SPRINGER, DE, 28 September 1987 (1987-09-28), pages 477 - 486, XP000410440 *

Also Published As

Publication number Publication date
EP1194835A2 (en) 2002-04-10
WO2000070446A2 (en) 2000-11-23
CN100351782C (en) 2007-11-28
CN1661547A (en) 2005-08-31
AU4848100A (en) 2000-12-05
CN1384934A (en) 2002-12-11
TW482978B (en) 2002-04-11
CN1198208C (en) 2005-04-20

Similar Documents

Publication Publication Date Title
KR100327776B1 (en) Data processing method using multiple instruction sets
KR100327778B1 (en) Data processing method using multiple instruction sets
Waterman et al. The risc-v instruction set manual, volume i: Base user-level isa
Waterman et al. The RISC-V instruction set manual, volume I: User-level ISA, version 2.0
JP3790607B2 (en) VLIW processor
Lee et al. Guest Editors' Introduction: Media Processing: A New Design Target
Faraboschi et al. Lx: A technology platform for customizable VLIW embedded processing
EP1102163A3 (en) Microprocessor with improved instruction set architecture
US5701442A (en) Method of modifying an instruction set architecture of a computer processor to maintain backward compatibility
CA2045773A1 (en) Byte-compare operation for high-performance processor
JPH0766324B2 (en) Data processing device
JPH0810428B2 (en) Data processing device
WO2000070446A3 (en) Method and apparatus for loose register encoding within a pipelined processor
JPH07120278B2 (en) Data processing device
Lee et al. The Hwacha vector-fetch architecture manual, version 3.8. 1
WO1999028818A3 (en) Enhanced instruction decoding
KR20060021370A (en) Instruction encoding within a data processing apparatus having multiple instruction sets
Slingerland et al. Multimedia instruction sets for general purpose microprocessors: a survey
Fox A HOL specification of the ARM instruction set architecture
Waterman et al. The RISC-V compressed instruction set manual, version 1.7
Faraboschi et al. ST200: A VLIW architecture for media-oriented applications
Yoshida et al. The GMicro/100 32-bit microprocessor
Wolf et al. TigerSHARC sinks teeth into VLIW
JPH02105937A (en) Data processor
Eyre et al. Carmel Enables Customizable DSP

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00808462.9

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2000930707

Country of ref document: EP

AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2000930707

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP