WO2001037083A3 - Decompression bit processing with a general purpose alignment tool - Google Patents

Decompression bit processing with a general purpose alignment tool Download PDF

Info

Publication number
WO2001037083A3
WO2001037083A3 PCT/US2000/031832 US0031832W WO0137083A3 WO 2001037083 A3 WO2001037083 A3 WO 2001037083A3 US 0031832 W US0031832 W US 0031832W WO 0137083 A3 WO0137083 A3 WO 0137083A3
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
bits
processor
source
registers
Prior art date
Application number
PCT/US2000/031832
Other languages
French (fr)
Other versions
WO2001037083A2 (en
Inventor
Subramania Sudharsanan
Jeffrey Meng Wah Chan
Marc Tremblay
Original Assignee
Sun Microsystems 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
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to EP00980554A priority Critical patent/EP1230591B1/en
Priority to DE60032794T priority patent/DE60032794T2/en
Priority to AU17803/01A priority patent/AU1780301A/en
Publication of WO2001037083A2 publication Critical patent/WO2001037083A2/en
Publication of WO2001037083A3 publication Critical patent/WO2001037083A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

A method and apparatus for performing single-instruction bit field extraction and for counting a number of leading zeros in a sequence of bits on a general purpose processor are provided. The fast bit extraction operations are accomplished by executing a first instruction for extracting an arbitrary number of bits of a sequence of bits stored in two or more source registers of the processor starting at an arbitrary offset and the storing the extracted bits in a destination register. Both the source and the destination registers are specified by the instruction. In addition, a second instruction is provided for counting the number of leading zeros in a sequence of bits stored in two or more source registers of the processor and then storing a binary value representing the number of leading zeros in a destination register. Again the source and the destination registers are specified by the second instruction. Both the first and the second instructions are pipelined to obtain an effective throughput of one instruction every cycle, respectively. As a result, bit extraction operations are performed very efficiently by the processor, thereby reducing the overall processing time required to compress and decompress multimedia data.
PCT/US2000/031832 1999-11-18 2000-11-16 Decompression bit processing with a general purpose alignment tool WO2001037083A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP00980554A EP1230591B1 (en) 1999-11-18 2000-11-16 Decompression bit processing with a general purpose alignment tool
DE60032794T DE60032794T2 (en) 1999-11-18 2000-11-16 BIT DECOMPRESSION PROCESSING WITH A VERSATILE ALIGNMENT TOOL
AU17803/01A AU1780301A (en) 1999-11-18 2000-11-16 Decompression bit processing with a general purpose alignment tool

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44287499A 1999-11-18 1999-11-18
US09/442,874 1999-11-18

Publications (2)

Publication Number Publication Date
WO2001037083A2 WO2001037083A2 (en) 2001-05-25
WO2001037083A3 true WO2001037083A3 (en) 2002-01-10

Family

ID=23758493

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/031832 WO2001037083A2 (en) 1999-11-18 2000-11-16 Decompression bit processing with a general purpose alignment tool

Country Status (5)

Country Link
US (1) US6757820B2 (en)
EP (1) EP1230591B1 (en)
AU (1) AU1780301A (en)
DE (1) DE60032794T2 (en)
WO (1) WO2001037083A2 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1378665A (en) 1999-06-10 2002-11-06 Pact信息技术有限公司 Programming concept
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US9411532B2 (en) 2001-09-07 2016-08-09 Pact Xpp Technologies Ag Methods and systems for transferring data between a processing device and external devices
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US7281140B2 (en) * 2001-12-28 2007-10-09 Intel Corporation Digital throttle for multiple operating points
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US6986023B2 (en) 2002-08-09 2006-01-10 Intel Corporation Conditional execution of coprocessor instruction based on main processor arithmetic flags
US7392368B2 (en) * 2002-08-09 2008-06-24 Marvell International Ltd. Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements
WO2004015563A1 (en) * 2002-08-09 2004-02-19 Intel Corporation Multimedia coprocessor control mechanism including alignment or broadcast instructions
EP1537486A1 (en) 2002-09-06 2005-06-08 PACT XPP Technologies AG Reconfigurable sequencer structure
US20040254966A1 (en) * 2003-05-16 2004-12-16 Daewoo Educational Foundation Bit manipulation operation circuit and method in programmable processor
JP4700611B2 (en) * 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト Data processing apparatus and data processing method
US7873810B2 (en) * 2004-10-01 2011-01-18 Mips Technologies, Inc. Microprocessor instruction using address index values to enable access of a virtual buffer in circular fashion
US7315937B2 (en) * 2004-10-01 2008-01-01 Mips Technologies, Inc. Microprocessor instructions for efficient bit stream extractions
US20060200481A1 (en) * 2005-03-04 2006-09-07 Khalid Goyan Method and system for data optimization and protection in DSP firmware
US7584233B2 (en) 2005-06-28 2009-09-01 Qualcomm Incorporated System and method of counting leading zeros and counting leading ones in a digital signal processor
US7652596B1 (en) * 2007-10-22 2010-01-26 Google Inc. Variable-length compression technique for encoding or decoding a sequence of integers
US7609000B1 (en) * 2007-10-22 2009-10-27 Google Inc. Variable-length compression technique for encoding or decoding a sequence of integers
US8171188B2 (en) * 2008-11-16 2012-05-01 Andes Technology Corporation Method of handling successive bitstream extraction and packing and related device
TWI394043B (en) * 2008-12-11 2013-04-21 Andes Technology Corp Method of handling successive bitstream extraction and packing and related device
WO2013095576A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Processor-based apparatus and method for processing bit streams
WO2013101223A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Efficient zero-based decompression

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654806A (en) * 1996-05-06 1997-08-05 Xerox Corporation Code manipulation for a high speed JPEG decoder
US5669012A (en) * 1993-05-21 1997-09-16 Mitsubishi Denki Kabushiki Kaisha Data processor and control circuit for inserting/extracting data to/from an optional byte position of a register
EP0831396A2 (en) * 1996-09-19 1998-03-25 Nec Corporation Sticky bit determination in floating point arithmetic system
US5835793A (en) * 1997-05-02 1998-11-10 Texas Instruments Incorporated Device and method for extracting a bit field from a stream of data
US5844826A (en) * 1996-10-18 1998-12-01 Samsung Electronics Co., Ltd. Leading zero count circuit
US5974432A (en) * 1997-12-05 1999-10-26 Advanced Micro Devices, Inc. On-the-fly one-hot encoding of leading zero count
WO2000031623A1 (en) * 1998-11-20 2000-06-02 Arm Limited A data processing system and method for performing an arithmetic operation on a plurality of signed data values

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3833887A (en) * 1972-10-30 1974-09-03 Varisystems Corp Programmable controller
US4785393A (en) 1984-07-09 1988-11-15 Advanced Micro Devices, Inc. 32-Bit extended function arithmetic-logic unit on a single chip
EP0382246A3 (en) 1989-02-09 1991-09-11 Nec Corporation Bit addressing system
JPH03248226A (en) 1990-02-26 1991-11-06 Nec Corp Microprocessor
CA2045773A1 (en) 1990-06-29 1991-12-30 Compaq Computer Corporation Byte-compare operation for high-performance processor
FR2686989B1 (en) * 1992-01-30 1997-01-17 Gemplus Card Int SECURITY COUNTING METHOD FOR A BINARY ELECTRONIC COUNTER.
JPH09204295A (en) 1996-01-29 1997-08-05 Kofu Nippon Denki Kk Sticky bit detecting circuit
US6065028A (en) 1996-09-16 2000-05-16 International Business Machines Corporation Multifunctional macro
US5923574A (en) 1996-09-18 1999-07-13 International Business Machines Corporation Optimized, combined leading zeros counter and shifter
US5996066A (en) 1996-10-10 1999-11-30 Sun Microsystems, Inc. Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions
US5841379A (en) * 1997-01-24 1998-11-24 Texas Instruments Incorporated Method and apparatus for selectively counting consecutive bits
US6052522A (en) 1997-10-30 2000-04-18 Infineon Technologies North America Corporation Method and apparatus for extracting data stored in concatenated registers
US6173300B1 (en) 1998-08-11 2001-01-09 Advanced Micro Devices, Inc. Method and circuit for determining leading or trailing zero count
US6041092A (en) * 1998-10-30 2000-03-21 Hewlett-Packard Company Digital circuit to count like signals in a data word
US6247112B1 (en) 1998-12-30 2001-06-12 Sony Corporation Bit manipulation instructions
US6308253B1 (en) 1999-03-31 2001-10-23 Sony Corporation RISC CPU instructions particularly suited for decoding digital signal processing applications

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5669012A (en) * 1993-05-21 1997-09-16 Mitsubishi Denki Kabushiki Kaisha Data processor and control circuit for inserting/extracting data to/from an optional byte position of a register
US5654806A (en) * 1996-05-06 1997-08-05 Xerox Corporation Code manipulation for a high speed JPEG decoder
EP0831396A2 (en) * 1996-09-19 1998-03-25 Nec Corporation Sticky bit determination in floating point arithmetic system
US5844826A (en) * 1996-10-18 1998-12-01 Samsung Electronics Co., Ltd. Leading zero count circuit
US5835793A (en) * 1997-05-02 1998-11-10 Texas Instruments Incorporated Device and method for extracting a bit field from a stream of data
US5974432A (en) * 1997-12-05 1999-10-26 Advanced Micro Devices, Inc. On-the-fly one-hot encoding of leading zero count
WO2000031623A1 (en) * 1998-11-20 2000-06-02 Arm Limited A data processing system and method for performing an arithmetic operation on a plurality of signed data values

Also Published As

Publication number Publication date
US6757820B2 (en) 2004-06-29
EP1230591B1 (en) 2007-01-03
AU1780301A (en) 2001-05-30
WO2001037083A2 (en) 2001-05-25
US20030120904A1 (en) 2003-06-26
DE60032794D1 (en) 2007-02-15
EP1230591A2 (en) 2002-08-14
DE60032794T2 (en) 2007-10-11

Similar Documents

Publication Publication Date Title
WO2001037083A3 (en) Decompression bit processing with a general purpose alignment tool
WO2004053841A3 (en) Apparatus and method for matrix data processing
JP5727107B2 (en) Method and system for performing binary translation
US7797366B2 (en) Power-efficient sign extension for booth multiplication methods and systems
US8392489B2 (en) ASCII to binary floating point conversion of decimal real numbers on a vector processor
RU2273044C2 (en) Method and device for parallel conjunction of data with shift to the right
EP0789297A3 (en) Data processor and method of processing data
EP1175014A3 (en) Pipelined architecture to decode parallel and serial concatenated codes
AU2001283408A1 (en) Method and apparatus for flexible data types
US7275147B2 (en) Method and apparatus for data alignment and parsing in SIMD computer architecture
TW201732567A (en) Hardware apparatuses and methods for data decompression
TW345649B (en) Method for executing different sets of instructions that cause a processor to perform different data type operations
WO2015164639A1 (en) Method and apparatus for accelerated data translation
GB2360111A (en) A method and apparatus for improved predicate prediction
US7773005B2 (en) Method and apparatus for decoding variable length data
WO2004036413A3 (en) Efficient arithmetic in finite fields of odd characteristic on binary hardware
Kaneta et al. Dynamic reconfigurable bit-parallel architecture for large-scale regular expression matching
TW200903325A (en) Conpute unit with an internal bit FIFO circuit
US20070192398A1 (en) Booth multiplier with enhanced reduction tree circuitry
TW200405203A (en) Apparatus and method for dynamic program decompression
US8078658B2 (en) ASCII to binary decimal integer conversion in a vector processor
EP1984810B1 (en) A booth multiplier with enhanced reduction tree circuitry
US8589661B2 (en) Odd and even start bit vectors
Sierra et al. High-Performance Decoding of Variable-Length Memory Data Packets for FPGA Stream Processing
De Agostino A parallel decoding algorithm for LZ2 data compression

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI 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 MZ 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 TR 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)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI 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 MZ 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 TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2000980554

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000980554

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 2000980554

Country of ref document: EP