Movatterモバイル変換


[0]ホーム

URL:


US20110055497A1 - Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing - Google Patents

Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing
Download PDF

Info

Publication number
US20110055497A1
US20110055497A1US12/875,268US87526810AUS2011055497A1US 20110055497 A1US20110055497 A1US 20110055497A1US 87526810 AUS87526810 AUS 87526810AUS 2011055497 A1US2011055497 A1US 2011055497A1
Authority
US
United States
Prior art keywords
elements
vector
register
bit
destination
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.)
Abandoned
Application number
US12/875,268
Inventor
Timothy J. Van Hook
Peter Yan-Tek Hsu
William A. Huffman
Henry P. Moreton
Earl A. Killian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Finance Overseas Ltd
Original Assignee
MIPS Technologies 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 US08/947,649external-prioritypatent/US5933650A/en
Application filed by MIPS Technologies IncfiledCriticalMIPS Technologies Inc
Priority to US12/875,268priorityCriticalpatent/US20110055497A1/en
Publication of US20110055497A1publicationCriticalpatent/US20110055497A1/en
Assigned to BRIDGE CROSSING, LLCreassignmentBRIDGE CROSSING, LLCASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: MIPS TECHNOLOGIES, INC.
Assigned to ARM FINANCE OVERSEAS LIMITEDreassignmentARM FINANCE OVERSEAS LIMITEDASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: BRIDGE CROSSING, LLC
Abandonedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

The present invention provides alignment and ordering of vector elements for SIMD processing. In the alignment of vector elements for SIMD processing, one vector is loaded from a memory unit into a first register and another vector is loaded from the memory unit into a second register. The first vector contains a first byte of an aligned vector to be generated. Then, a starting byte specifying the first byte of an aligned vector is determined. Next, a vector is extracted from the first register and the second register beginning from the first bit in the first byte of the first register continuing through the bits in the second register. Finally, the extracted vector is replicated into a third register such that the third register contains a plurality of elements aligned for SIMD processing. In the ordering of vector elements for SIMD processing, a first vector is loaded from a memory unit into a first register and a second vector is loaded from the memory unit into a second register. Then, a subset of elements are selected from the first register and the second register. The elements from the subset are then replicated into the elements in the third register in a particular order suitable for subsequent SIMD vector processing.

Description

Claims (6)

US12/875,2681997-10-092010-09-03Alignment and Ordering of Vector Elements for Single Instruction Multiple Data ProcessingAbandonedUS20110055497A1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US12/875,268US20110055497A1 (en)1997-10-092010-09-03Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing

Applications Claiming Priority (5)

Application NumberPriority DateFiling DateTitle
US08/947,649US5933650A (en)1997-10-091997-10-09Alignment and ordering of vector elements for single instruction multiple data processing
US09/263,798US6266758B1 (en)1997-10-091999-03-05Alignment and ordering of vector elements for single instruction multiple data processing
US09/662,832US7197625B1 (en)1997-10-092000-09-15Alignment and ordering of vector elements for single instruction multiple data processing
US11/702,659US7793077B2 (en)1997-10-092007-02-06Alignment and ordering of vector elements for single instruction multiple data processing
US12/875,268US20110055497A1 (en)1997-10-092010-09-03Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US11/702,659DivisionUS7793077B2 (en)1997-10-092007-02-06Alignment and ordering of vector elements for single instruction multiple data processing

Publications (1)

Publication NumberPublication Date
US20110055497A1true US20110055497A1 (en)2011-03-03

Family

ID=37886207

Family Applications (3)

Application NumberTitlePriority DateFiling Date
US09/662,832Expired - Fee RelatedUS7197625B1 (en)1997-10-092000-09-15Alignment and ordering of vector elements for single instruction multiple data processing
US11/702,659Expired - Fee RelatedUS7793077B2 (en)1997-10-092007-02-06Alignment and ordering of vector elements for single instruction multiple data processing
US12/875,268AbandonedUS20110055497A1 (en)1997-10-092010-09-03Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing

Family Applications Before (2)

Application NumberTitlePriority DateFiling Date
US09/662,832Expired - Fee RelatedUS7197625B1 (en)1997-10-092000-09-15Alignment and ordering of vector elements for single instruction multiple data processing
US11/702,659Expired - Fee RelatedUS7793077B2 (en)1997-10-092007-02-06Alignment and ordering of vector elements for single instruction multiple data processing

Country Status (1)

CountryLink
US (3)US7197625B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2016105760A1 (en)*2014-12-232016-06-30Intel CorporationMethod and apparatus for performing a vector bit reversal
WO2016105755A1 (en)*2014-12-232016-06-30Intel CorporationMethod and apparatus for vector index load and store
WO2016105759A1 (en)*2014-12-232016-06-30Intel CorporationMethod and apparatus for performing a vector bit reversal and crossing
WO2017112020A1 (en)*2015-12-212017-06-29Intel CorporationNon-contiguous multiple register access for microprocessor data exchange instructions
CN108733352A (en)*2017-04-252018-11-02上海寒武纪信息科技有限公司Device, method and the application of supporting vector sequence
WO2023049593A1 (en)*2021-09-242023-03-30Qualcomm IncorporatedPermutation instruction

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7197625B1 (en)*1997-10-092007-03-27Mips Technologies, Inc.Alignment and ordering of vector elements for single instruction multiple data processing
US6230253B1 (en)*1998-03-312001-05-08Intel CorporationExecuting partial-width packed data instructions
US7039060B2 (en)*2001-03-072006-05-02Mips Tech IncSystem and method for extracting fields from packets having fields spread over more than one register
US7233998B2 (en)*2001-03-222007-06-19Sony Computer Entertainment Inc.Computer architecture and software cells for broadband networks
DE10206830B4 (en)*2002-02-182004-10-14Systemonic Ag Method and arrangement for merging data from parallel data paths
US7664685B1 (en)*2002-10-222010-02-16PPI Technology Services, LPComputer-implemented system for recording oil and gas inspection data
US7511722B1 (en)*2004-08-272009-03-31Apple Inc.Method and system for fast 90 degree rotation of arrays
US20070226453A1 (en)*2006-03-232007-09-27Eichenberger Alexandre EMethod for improving processing of relatively aligned memory references for increased reuse opportunities
US7721077B2 (en)*2006-12-112010-05-18Intel CorporationPerforming endian conversion
US8341165B2 (en)*2007-12-032012-12-25Intel CorporationMethod and apparatus for searching extensible markup language (XML) data
US8194977B2 (en)*2008-12-092012-06-05Microsoft CorporationRemote desktop protocol compression acceleration using single instruction, multiple dispatch instructions
US8484276B2 (en)*2009-03-182013-07-09International Business Machines CorporationProcessing array data on SIMD multi-core processor architectures
US8274301B2 (en)*2009-11-022012-09-25International Business Machines CorporationOn-chip accelerated failure indicator
US8539201B2 (en)*2009-11-042013-09-17International Business Machines CorporationTransposing array data on SIMD multi-core processor architectures
US8564601B2 (en)*2009-12-232013-10-22Intel CorporationParallel and vectored Gilbert-Johnson-Keerthi graphics processing
US8356145B2 (en)*2010-01-152013-01-15Qualcomm IncorporatedMulti-stage multiplexing operation including combined selection and data alignment or data replication
BR112014004603A2 (en)*2011-09-262017-06-13Intel Corp instruction and logic for providing step-masking functionality and vector loads and stores
CN103959240B (en)*2011-12-152017-05-17英特尔公司 Method for Optimizing Program Loops via Vector Instructions Using Shuffle Tables and Mask Store Tables
US9218182B2 (en)*2012-06-292015-12-22Intel CorporationSystems, apparatuses, and methods for performing a shuffle and operation (shuffle-op)
US9632781B2 (en)2013-02-262017-04-25Qualcomm IncorporatedVector register addressing and functions based on a scalar register data value
US9639503B2 (en)2013-03-152017-05-02Qualcomm IncorporatedVector indirect element vertical addressing mode with horizontal permute
US9880845B2 (en)*2013-11-152018-01-30Qualcomm IncorporatedVector processing engines (VPEs) employing format conversion circuitry in data flow paths between vector data memory and execution units to provide in-flight format-converting of input vector data to execution units for vector processing operations, and related vector processor systems and methods
US9619214B2 (en)2014-08-132017-04-11International Business Machines CorporationCompiler optimizations for vector instructions
EP3001306A1 (en)*2014-09-252016-03-30Intel CorporationBit group interleave processors, methods, systems, and instructions
US9772848B2 (en)2014-11-142017-09-26Intel CorporationThree-dimensional morton coordinate conversion processors, methods, systems, and instructions
US9772849B2 (en)2014-11-142017-09-26Intel CorporationFour-dimensional morton coordinate conversion processors, methods, systems, and instructions
US9772850B2 (en)2014-11-142017-09-26Intel CorporationMorton coordinate adjustment processors, methods, systems, and instructions
US10169014B2 (en)2014-12-192019-01-01International Business Machines CorporationCompiler method for generating instructions for vector operations in a multi-endian instruction set
US9588746B2 (en)2014-12-192017-03-07International Business Machines CorporationCompiler method for generating instructions for vector operations on a multi-endian processor
US10296489B2 (en)*2014-12-272019-05-21Intel CorporationMethod and apparatus for performing a vector bit shuffle
US11544214B2 (en)*2015-02-022023-01-03Optimum Semiconductor Technologies, Inc.Monolithic vector processor configured to operate on variable length vectors using a vector length register
US9965275B2 (en)*2015-07-312018-05-08Arm LimitedElement size increasing instruction
US9569190B1 (en)*2015-08-042017-02-14International Business Machines CorporationCompiling source code to reduce run-time execution of vector element reverse operations
US9880821B2 (en)2015-08-172018-01-30International Business Machines CorporationCompiler optimizations for vector operations that are reformatting-resistant
US10353708B2 (en)*2016-09-232019-07-16Advanced Micro Devices, Inc.Strided loading of non-sequential memory locations by skipping memory locations between consecutive loads
CN109032668B (en)2017-06-092023-09-19超威半导体公司Stream processor with high bandwidth and low power vector register file
US10970081B2 (en)*2017-06-292021-04-06Advanced Micro Devices, Inc.Stream processor with decoupled crossbar for cross lane operations
US10620958B1 (en)2018-12-032020-04-14Advanced Micro Devices, Inc.Crossbar between clients and a cache
US20200341772A1 (en)*2019-04-292020-10-29DeGirum CorporationEfficient Architectures For Deep Learning Algorithms
FR3134206A1 (en)2022-03-312023-10-06Kalray System for managing a group of rotating registers defined arbitrarily in processor registers
US20240020129A1 (en)*2022-07-142024-01-18Nxp Usa, Inc.Self-Ordering Fast Fourier Transform For Single Instruction Multiple Data Engines

Citations (93)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US3654621A (en)*1969-11-281972-04-04Burroughs CorpInformation processing system having means for dynamic memory address preparation
US3916388A (en)*1974-05-301975-10-28IbmShifting apparatus for automatic data alignment
US4023023A (en)*1973-12-041977-05-10Compagnie Internationale Pour L'informatiqueField selection data operating device
US4109310A (en)*1973-08-061978-08-22Xerox CorporationVariable field length addressing system having data byte interchange
US4128880A (en)*1976-06-301978-12-05Cray Research, Inc.Computer vector register processing
US4130880A (en)*1975-12-231978-12-19Ferranti LimitedData storage system for addressing data stored in adjacent word locations
US4219874A (en)*1978-03-171980-08-26Gusev ValeryData processing device for variable length multibyte data fields
US4271476A (en)*1979-07-171981-06-02International Business Machines CorporationMethod and apparatus for rotating the scan format of digital images
US4317170A (en)*1979-01-191982-02-23Hitachi, Ltd.Microinstruction controlled data processing system including micro-instructions with data align control feature
US4396982A (en)*1979-11-191983-08-02Hitachi, Ltd.Microinstruction controlled data processing system including microinstructions with data align control feature
US4490786A (en)*1981-06-191984-12-25Fujitsu LimitedVector processing unit
US4491910A (en)*1982-02-221985-01-01Texas Instruments IncorporatedMicrocomputer having data shift within memory
US4491836A (en)*1980-02-291985-01-01Calma CompanyGraphics display system and method including two-dimensional cache
US4507731A (en)*1982-11-011985-03-26Raytheon CompanyBidirectional data byte aligner
US4511990A (en)*1980-10-311985-04-16Hitachi, Ltd.Digital processor with floating point multiplier and adder suitable for digital signal processing
US4520439A (en)*1981-01-051985-05-28Sperry CorporationVariable field partial write data merge
JPS60170087A (en)*1984-02-151985-09-03Hitachi LtdParallel readable memory
US4583199A (en)*1982-07-021986-04-15Honeywell Information Systems Inc.Apparatus for aligning and packing a first operand into a second operand of a different character size
US4773006A (en)*1984-12-291988-09-20Hitachi, Ltd.Vector operation designator
US4809212A (en)*1985-06-191989-02-28Advanced Micro Devices, Inc.High throughput extended-precision multiplier
US4811213A (en)*1985-10-111989-03-07Hitachi, Ltd.Vector processor with vector registers
US4814976A (en)*1986-12-231989-03-21Mips Computer Systems, Inc.RISC computer with unaligned reference handling and method for the same
US4852049A (en)*1985-07-311989-07-25Nec CorporationVector mask operation control unit
US4879676A (en)*1988-02-291989-11-07Mips Computer Systems, Inc.Method and apparatus for precise floating point exceptions
US4910667A (en)*1985-02-251990-03-20Hitachi, Ltd.Vector processor with vector buffer memory for read or write of vector data between vector storage and operation unit
US4928223A (en)*1982-10-061990-05-22Fairchild Semiconductor CorporationFloating point microprocessor with directable two level microinstructions
US5148536A (en)*1988-07-251992-09-15Digital Equipment CorporationPipeline having an integral cache which processes cache misses and loads data in parallel
US5150290A (en)*1988-08-251992-09-22Amt (Holdings) Ltd.Processor array system incorporating n-bit scalar processor and m x m-bit processor array
US5185713A (en)*1990-09-191993-02-09Nec CorporationProduct adder for perfoming multiplication of floating point data and addition of fixed point data
US5367660A (en)*1991-10-111994-11-22Intel CorporationLine buffer for cache memory
US5392228A (en)*1993-12-061995-02-21Motorola, Inc.Result normalizer and method of operation
US5418915A (en)*1990-08-081995-05-23Sumitomo Metal Industries, Ltd.Arithmetic unit for SIMD type parallel computer
US5499299A (en)*1993-07-021996-03-12Fujitsu LimitedModular arithmetic operation system
US5513366A (en)*1994-09-281996-04-30International Business Machines CorporationMethod and system for dynamically reconfiguring a register file in a vector processor
US5517438A (en)*1993-09-291996-05-14International Business Machines, CorporationFast multiply-add instruction sequence in a pipeline floating-point processor
US5537562A (en)*1993-03-311996-07-16Motorola Inc.Data processing system and method thereof
US5550768A (en)*1995-01-311996-08-27International Business Machines CorporationRounding normalizer for floating point arithmetic operations
US5581773A (en)*1992-05-121996-12-03Glover; Michael A.Massively parallel SIMD processor which selectively transfers individual contiguously disposed serial memory elements
US5590345A (en)*1990-11-131996-12-31International Business Machines CorporationAdvanced parallel array processor(APAP)
US5666298A (en)*1994-12-011997-09-09Intel CorporationMethod for performing shift operations on packed data
US5669010A (en)*1992-05-181997-09-16Silicon EnginesCascaded two-stage computational SIMD engine having multi-port memory and multiple arithmetic units
US5671401A (en)*1993-01-151997-09-23Silicon Graphics, Inc.Apparatus for efficiently accessing graphic data for rendering on a display
US5721892A (en)*1995-08-311998-02-24Intel CorporationMethod and apparatus for performing multiply-subtract operations on packed data
US5726927A (en)*1995-09-111998-03-10Digital Equipment CorporationMultiply pipe round adder
US5729724A (en)*1995-12-201998-03-17Intel CorporationAdaptive 128-bit floating point load and store operations for quadruple precision compatibility
US5734874A (en)*1994-04-291998-03-31Sun Microsystems, Inc.Central processing unit with integrated graphics functions
US5740340A (en)*1993-08-091998-04-14C-Cube Microsystems, Inc.2-dimensional memory allowing access both as rows of data words and columns of data words
US5748979A (en)*1995-04-051998-05-05Xilinx IncReprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table
US5752071A (en)*1995-07-171998-05-12Intel CorporationFunction coprocessor
US5758176A (en)*1994-09-281998-05-26International Business Machines CorporationMethod and system for providing a single-instruction, multiple-data execution unit for performing single-instruction, multiple-data operations within a superscalar data processing system
US5761523A (en)*1990-11-131998-06-02International Business Machines CorporationParallel processing system having asynchronous SIMD processing and data parallel coding
US5774709A (en)*1995-12-061998-06-30Lsi Logic CorporationEnhanced branch delay slot handling with single exception program counter
US5778241A (en)*1994-05-051998-07-07Rockwell International CorporationSpace vector data path
US5784602A (en)*1996-10-081998-07-21Advanced Risc Machines LimitedMethod and apparatus for digital signal processing for integrated circuit architecture
US5790827A (en)*1997-06-201998-08-04Sun Microsystems, Inc.Method for dependency checking using a scoreboard for a pair of register sets having different precisions
US5793661A (en)*1995-12-261998-08-11Intel CorporationMethod and apparatus for performing multiply and accumulate operations on packed data
US5809294A (en)*1991-07-121998-09-15Mitsubishi Denki Kabushiki KaishaParallel processing unit which processes branch instructions without decreased performance when a branch is taken
US5812147A (en)*1996-09-201998-09-22Silicon Graphics, Inc.Instruction methods for performing data formatting while moving data between memory and a vector register file
US5812723A (en)*1994-03-241998-09-22Kanagawa Academy Of Science And TechnologyOptical fiber with tapered end of core protruding from clad
US5815695A (en)*1993-10-281998-09-29Apple Computer, Inc.Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instructions on a computer processor
US5815723A (en)*1990-11-131998-09-29International Business Machines CorporationPicket autonomy on a SIMD machine
US5822606A (en)*1996-01-111998-10-13Morton; Steven G.DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US5838984A (en)*1996-08-191998-11-17Samsung Electronics Co., Ltd.Single-instruction-multiple-data processing using multiple banks of vector registers
US5845099A (en)*1996-06-281998-12-01Intel CorporationLength detecting unit for parallel processing of variable sequential instructions
US5848269A (en)*1994-06-141998-12-08Mitsubishi Denki Kabushiki KaishaBranch predicting mechanism for enhancing accuracy in branch prediction by reference to data
US5852726A (en)*1995-12-191998-12-22Intel CorporationMethod and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner
US5864703A (en)*1997-10-091999-01-26Mips Technologies, Inc.Method for providing extended precision in SIMD vector arithmetic operations
US5867682A (en)*1993-10-291999-02-02Advanced Micro Devices, Inc.High performance superscalar microprocessor including a circuit for converting CISC instructions to RISC operations
US5881307A (en)*1997-02-241999-03-09Samsung Electronics Co., Ltd.Deferred store data read with simple anti-dependency pipeline inter-lock control in superscalar processor
US5880984A (en)*1997-01-131999-03-09International Business Machines CorporationMethod and apparatus for performing high-precision multiply-add calculations using independent multiply and add instruments
US5887183A (en)*1995-01-041999-03-23International Business Machines CorporationMethod and system in a data processing system for loading and storing vectors in a plurality of modes
US5897656A (en)*1996-09-161999-04-27Corollary, Inc.System and method for maintaining memory coherency in a computer system having multiple system buses
US5922066A (en)*1997-02-241999-07-13Samsung Electronics Co., Ltd.Multifunction data aligner in wide data width processor
US5933650A (en)*1997-10-091999-08-03Mips Technologies, Inc.Alignment and ordering of vector elements for single instruction multiple data processing
US5936872A (en)*1995-09-051999-08-10Intel CorporationMethod and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations
US5953241A (en)*1995-08-161999-09-14Microunity Engeering Systems, Inc.Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction
US5960012A (en)*1997-06-231999-09-28Sun Microsystems, Inc.Checksum determination using parallel computations on multiple packed data elements
US5961628A (en)*1997-01-281999-10-05Samsung Electronics Co., Ltd.Load and store unit for a vector processor
US5996056A (en)*1997-06-231999-11-30Sun Microsystems, Inc.Apparatus for reducing a computational result to the range boundaries of a signed 8-bit integer in case of overflow
US6006316A (en)*1996-12-201999-12-21International Business Machines, CorporationPerforming SIMD shift and arithmetic operation in non-SIMD architecture by operation on packed data of sub-operands and carry over-correction
US6035317A (en)*1997-01-092000-03-07Sgs-Thomson Microelectronics S.A.Modular arithmetic coprocessor comprising two multiplication circuits working in parallel
US6035316A (en)*1995-08-312000-03-07Intel CorporationApparatus for performing multiply-add operations on packed data
US6058465A (en)*1996-08-192000-05-02Nguyen; Le TrongSingle-instruction-multiple-data processing in a multimedia signal processor
US6065115A (en)*1996-06-282000-05-16Intel CorporationProcessor and method for speculatively executing instructions from multiple instruction streams indicated by a branch instruction
US6067615A (en)*1993-11-302000-05-23Trw Inc.Reconfigurable processor for executing successive function sequences in a processor operation
US6078941A (en)*1996-11-182000-06-20Samsung Electronics Co., Ltd.Computational structure having multiple stages wherein each stage includes a pair of adders and a multiplexing circuit capable of operating in parallel
US6088783A (en)*1996-02-162000-07-11Morton; Steven GDPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US6128726A (en)*1996-06-042000-10-03Sigma Designs, Inc.Accurate high speed digital signal processor
US6141421A (en)*1996-12-102000-10-31Hitachi, Ltd.Method and apparatus for generating hash value
US6154834A (en)*1997-05-272000-11-28Intel CorporationDetachable processor module containing external microcode expansion memory
US6233597B1 (en)*1997-07-092001-05-15Matsushita Electric Industrial Co., Ltd.Computing apparatus for double-precision multiplication
US6349318B1 (en)*1997-04-182002-02-19Certicom Corp.Arithmetic processor for finite field and module integer arithmetic operations
US7197625B1 (en)*1997-10-092007-03-27Mips Technologies, Inc.Alignment and ordering of vector elements for single instruction multiple data processing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US487676A (en)*1892-12-06Electric signaling apparatus
US5742840A (en)1995-08-161998-04-21Microunity Systems Engineering, Inc.General purpose, multiple precision parallel operation, programmable media processor
CN103064651B (en)1995-08-312016-01-27英特尔公司For performing the device of grouping multiplying in integrated data

Patent Citations (96)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US3654621A (en)*1969-11-281972-04-04Burroughs CorpInformation processing system having means for dynamic memory address preparation
US4109310A (en)*1973-08-061978-08-22Xerox CorporationVariable field length addressing system having data byte interchange
US4023023A (en)*1973-12-041977-05-10Compagnie Internationale Pour L'informatiqueField selection data operating device
US3916388A (en)*1974-05-301975-10-28IbmShifting apparatus for automatic data alignment
US4130880A (en)*1975-12-231978-12-19Ferranti LimitedData storage system for addressing data stored in adjacent word locations
US4128880A (en)*1976-06-301978-12-05Cray Research, Inc.Computer vector register processing
US4219874A (en)*1978-03-171980-08-26Gusev ValeryData processing device for variable length multibyte data fields
US4317170A (en)*1979-01-191982-02-23Hitachi, Ltd.Microinstruction controlled data processing system including micro-instructions with data align control feature
US4271476A (en)*1979-07-171981-06-02International Business Machines CorporationMethod and apparatus for rotating the scan format of digital images
US4396982A (en)*1979-11-191983-08-02Hitachi, Ltd.Microinstruction controlled data processing system including microinstructions with data align control feature
US4491836A (en)*1980-02-291985-01-01Calma CompanyGraphics display system and method including two-dimensional cache
US4511990A (en)*1980-10-311985-04-16Hitachi, Ltd.Digital processor with floating point multiplier and adder suitable for digital signal processing
US4520439A (en)*1981-01-051985-05-28Sperry CorporationVariable field partial write data merge
US4490786A (en)*1981-06-191984-12-25Fujitsu LimitedVector processing unit
US4491910A (en)*1982-02-221985-01-01Texas Instruments IncorporatedMicrocomputer having data shift within memory
US4583199A (en)*1982-07-021986-04-15Honeywell Information Systems Inc.Apparatus for aligning and packing a first operand into a second operand of a different character size
US4928223A (en)*1982-10-061990-05-22Fairchild Semiconductor CorporationFloating point microprocessor with directable two level microinstructions
US4507731A (en)*1982-11-011985-03-26Raytheon CompanyBidirectional data byte aligner
JPS60170087A (en)*1984-02-151985-09-03Hitachi LtdParallel readable memory
US4773006A (en)*1984-12-291988-09-20Hitachi, Ltd.Vector operation designator
US4910667A (en)*1985-02-251990-03-20Hitachi, Ltd.Vector processor with vector buffer memory for read or write of vector data between vector storage and operation unit
US4809212A (en)*1985-06-191989-02-28Advanced Micro Devices, Inc.High throughput extended-precision multiplier
US4852049A (en)*1985-07-311989-07-25Nec CorporationVector mask operation control unit
US4811213A (en)*1985-10-111989-03-07Hitachi, Ltd.Vector processor with vector registers
US4814976A (en)*1986-12-231989-03-21Mips Computer Systems, Inc.RISC computer with unaligned reference handling and method for the same
US4814976C1 (en)*1986-12-232002-06-04Mips Tech IncRisc computer with unaligned reference handling and method for the same
US4879676A (en)*1988-02-291989-11-07Mips Computer Systems, Inc.Method and apparatus for precise floating point exceptions
US5148536A (en)*1988-07-251992-09-15Digital Equipment CorporationPipeline having an integral cache which processes cache misses and loads data in parallel
US5150290A (en)*1988-08-251992-09-22Amt (Holdings) Ltd.Processor array system incorporating n-bit scalar processor and m x m-bit processor array
US5418915A (en)*1990-08-081995-05-23Sumitomo Metal Industries, Ltd.Arithmetic unit for SIMD type parallel computer
US5185713A (en)*1990-09-191993-02-09Nec CorporationProduct adder for perfoming multiplication of floating point data and addition of fixed point data
US5761523A (en)*1990-11-131998-06-02International Business Machines CorporationParallel processing system having asynchronous SIMD processing and data parallel coding
US5590345A (en)*1990-11-131996-12-31International Business Machines CorporationAdvanced parallel array processor(APAP)
US5815723A (en)*1990-11-131998-09-29International Business Machines CorporationPicket autonomy on a SIMD machine
US5809294A (en)*1991-07-121998-09-15Mitsubishi Denki Kabushiki KaishaParallel processing unit which processes branch instructions without decreased performance when a branch is taken
US5367660A (en)*1991-10-111994-11-22Intel CorporationLine buffer for cache memory
US5581773A (en)*1992-05-121996-12-03Glover; Michael A.Massively parallel SIMD processor which selectively transfers individual contiguously disposed serial memory elements
US5669010A (en)*1992-05-181997-09-16Silicon EnginesCascaded two-stage computational SIMD engine having multi-port memory and multiple arithmetic units
US5671401A (en)*1993-01-151997-09-23Silicon Graphics, Inc.Apparatus for efficiently accessing graphic data for rendering on a display
US5537562A (en)*1993-03-311996-07-16Motorola Inc.Data processing system and method thereof
US5499299A (en)*1993-07-021996-03-12Fujitsu LimitedModular arithmetic operation system
US5740340A (en)*1993-08-091998-04-14C-Cube Microsystems, Inc.2-dimensional memory allowing access both as rows of data words and columns of data words
US5517438A (en)*1993-09-291996-05-14International Business Machines, CorporationFast multiply-add instruction sequence in a pipeline floating-point processor
US5815695A (en)*1993-10-281998-09-29Apple Computer, Inc.Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instructions on a computer processor
US5867682A (en)*1993-10-291999-02-02Advanced Micro Devices, Inc.High performance superscalar microprocessor including a circuit for converting CISC instructions to RISC operations
US6067615A (en)*1993-11-302000-05-23Trw Inc.Reconfigurable processor for executing successive function sequences in a processor operation
US5392228A (en)*1993-12-061995-02-21Motorola, Inc.Result normalizer and method of operation
US5812723A (en)*1994-03-241998-09-22Kanagawa Academy Of Science And TechnologyOptical fiber with tapered end of core protruding from clad
US5734874A (en)*1994-04-291998-03-31Sun Microsystems, Inc.Central processing unit with integrated graphics functions
US5778241A (en)*1994-05-051998-07-07Rockwell International CorporationSpace vector data path
US5848269A (en)*1994-06-141998-12-08Mitsubishi Denki Kabushiki KaishaBranch predicting mechanism for enhancing accuracy in branch prediction by reference to data
US5758176A (en)*1994-09-281998-05-26International Business Machines CorporationMethod and system for providing a single-instruction, multiple-data execution unit for performing single-instruction, multiple-data operations within a superscalar data processing system
US5513366A (en)*1994-09-281996-04-30International Business Machines CorporationMethod and system for dynamically reconfiguring a register file in a vector processor
US5666298A (en)*1994-12-011997-09-09Intel CorporationMethod for performing shift operations on packed data
US5887183A (en)*1995-01-041999-03-23International Business Machines CorporationMethod and system in a data processing system for loading and storing vectors in a plurality of modes
US5550768A (en)*1995-01-311996-08-27International Business Machines CorporationRounding normalizer for floating point arithmetic operations
US5748979A (en)*1995-04-051998-05-05Xilinx IncReprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table
US5752071A (en)*1995-07-171998-05-12Intel CorporationFunction coprocessor
US5953241A (en)*1995-08-161999-09-14Microunity Engeering Systems, Inc.Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction
US5721892A (en)*1995-08-311998-02-24Intel CorporationMethod and apparatus for performing multiply-subtract operations on packed data
US6035316A (en)*1995-08-312000-03-07Intel CorporationApparatus for performing multiply-add operations on packed data
US5936872A (en)*1995-09-051999-08-10Intel CorporationMethod and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations
US5726927A (en)*1995-09-111998-03-10Digital Equipment CorporationMultiply pipe round adder
US5774709A (en)*1995-12-061998-06-30Lsi Logic CorporationEnhanced branch delay slot handling with single exception program counter
US5852726A (en)*1995-12-191998-12-22Intel CorporationMethod and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner
US5729724A (en)*1995-12-201998-03-17Intel CorporationAdaptive 128-bit floating point load and store operations for quadruple precision compatibility
US5793661A (en)*1995-12-261998-08-11Intel CorporationMethod and apparatus for performing multiply and accumulate operations on packed data
US5822606A (en)*1996-01-111998-10-13Morton; Steven G.DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US6088783A (en)*1996-02-162000-07-11Morton; Steven GDPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US6128726A (en)*1996-06-042000-10-03Sigma Designs, Inc.Accurate high speed digital signal processor
US5845099A (en)*1996-06-281998-12-01Intel CorporationLength detecting unit for parallel processing of variable sequential instructions
US6065115A (en)*1996-06-282000-05-16Intel CorporationProcessor and method for speculatively executing instructions from multiple instruction streams indicated by a branch instruction
US5838984A (en)*1996-08-191998-11-17Samsung Electronics Co., Ltd.Single-instruction-multiple-data processing using multiple banks of vector registers
US6058465A (en)*1996-08-192000-05-02Nguyen; Le TrongSingle-instruction-multiple-data processing in a multimedia signal processor
US5897656A (en)*1996-09-161999-04-27Corollary, Inc.System and method for maintaining memory coherency in a computer system having multiple system buses
US5812147A (en)*1996-09-201998-09-22Silicon Graphics, Inc.Instruction methods for performing data formatting while moving data between memory and a vector register file
US5784602A (en)*1996-10-081998-07-21Advanced Risc Machines LimitedMethod and apparatus for digital signal processing for integrated circuit architecture
US6078941A (en)*1996-11-182000-06-20Samsung Electronics Co., Ltd.Computational structure having multiple stages wherein each stage includes a pair of adders and a multiplexing circuit capable of operating in parallel
US6141421A (en)*1996-12-102000-10-31Hitachi, Ltd.Method and apparatus for generating hash value
US6006316A (en)*1996-12-201999-12-21International Business Machines, CorporationPerforming SIMD shift and arithmetic operation in non-SIMD architecture by operation on packed data of sub-operands and carry over-correction
US6035317A (en)*1997-01-092000-03-07Sgs-Thomson Microelectronics S.A.Modular arithmetic coprocessor comprising two multiplication circuits working in parallel
US5880984A (en)*1997-01-131999-03-09International Business Machines CorporationMethod and apparatus for performing high-precision multiply-add calculations using independent multiply and add instruments
US5961628A (en)*1997-01-281999-10-05Samsung Electronics Co., Ltd.Load and store unit for a vector processor
US5922066A (en)*1997-02-241999-07-13Samsung Electronics Co., Ltd.Multifunction data aligner in wide data width processor
US5881307A (en)*1997-02-241999-03-09Samsung Electronics Co., Ltd.Deferred store data read with simple anti-dependency pipeline inter-lock control in superscalar processor
US6349318B1 (en)*1997-04-182002-02-19Certicom Corp.Arithmetic processor for finite field and module integer arithmetic operations
US6154834A (en)*1997-05-272000-11-28Intel CorporationDetachable processor module containing external microcode expansion memory
US5790827A (en)*1997-06-201998-08-04Sun Microsystems, Inc.Method for dependency checking using a scoreboard for a pair of register sets having different precisions
US5996056A (en)*1997-06-231999-11-30Sun Microsystems, Inc.Apparatus for reducing a computational result to the range boundaries of a signed 8-bit integer in case of overflow
US5960012A (en)*1997-06-231999-09-28Sun Microsystems, Inc.Checksum determination using parallel computations on multiple packed data elements
US6233597B1 (en)*1997-07-092001-05-15Matsushita Electric Industrial Co., Ltd.Computing apparatus for double-precision multiplication
US6266758B1 (en)*1997-10-092001-07-24Mips Technologies, Inc.Alignment and ordering of vector elements for single instruction multiple data processing
US5933650A (en)*1997-10-091999-08-03Mips Technologies, Inc.Alignment and ordering of vector elements for single instruction multiple data processing
US5864703A (en)*1997-10-091999-01-26Mips Technologies, Inc.Method for providing extended precision in SIMD vector arithmetic operations
US7197625B1 (en)*1997-10-092007-03-27Mips Technologies, Inc.Alignment and ordering of vector elements for single instruction multiple data processing
US7793077B2 (en)*1997-10-092010-09-07Mips Technologies, Inc.Alignment and ordering of vector elements for single instruction multiple data processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Handy, Jim, "The Cache Memory Book", ©1993, Academi Press, Inc., pgs. 8-22*

Cited By (16)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9830151B2 (en)2014-12-232017-11-28Intel CorporationMethod and apparatus for vector index load and store
TWI628593B (en)*2014-12-232018-07-01美商英特爾股份有限公司Method and apparatus for performing a vector bit reversal
WO2016105759A1 (en)*2014-12-232016-06-30Intel CorporationMethod and apparatus for performing a vector bit reversal and crossing
KR102463858B1 (en)*2014-12-232022-11-03인텔 코포레이션Method and apparatus for vector index load and store
CN107003846A (en)*2014-12-232017-08-01英特尔公司The method and apparatus for loading and storing for vector index
CN107077330A (en)*2014-12-232017-08-18英特尔公司 Method and apparatus for performing vector bit inversion and crossover
WO2016105755A1 (en)*2014-12-232016-06-30Intel CorporationMethod and apparatus for vector index load and store
KR20170097626A (en)*2014-12-232017-08-28인텔 코포레이션Method and apparatus for vector index load and store
WO2016105760A1 (en)*2014-12-232016-06-30Intel CorporationMethod and apparatus for performing a vector bit reversal
US9785437B2 (en)2014-12-232017-10-10Intel CorporationMethod and apparatus for performing a vector bit reversal and crossing
US10013253B2 (en)2014-12-232018-07-03Intel CorporationMethod and apparatus for performing a vector bit reversal
US10691452B2 (en)2014-12-232020-06-23Intel CorporationMethod and apparatus for performing a vector bit reversal and crossing
WO2017112020A1 (en)*2015-12-212017-06-29Intel CorporationNon-contiguous multiple register access for microprocessor data exchange instructions
CN108733352A (en)*2017-04-252018-11-02上海寒武纪信息科技有限公司Device, method and the application of supporting vector sequence
WO2023049593A1 (en)*2021-09-242023-03-30Qualcomm IncorporatedPermutation instruction
US11900111B2 (en)2021-09-242024-02-13Qualcomm IncorporatedPermutation instruction

Also Published As

Publication numberPublication date
US7197625B1 (en)2007-03-27
US20070250683A1 (en)2007-10-25
US7793077B2 (en)2010-09-07

Similar Documents

PublicationPublication DateTitle
US7793077B2 (en)Alignment and ordering of vector elements for single instruction multiple data processing
US6266758B1 (en)Alignment and ordering of vector elements for single instruction multiple data processing
US5822619A (en)System and method for restructuring data strings
KR100267100B1 (en) Scalable Vector Processor Architecture
JP3771968B2 (en) Computer and computer operating method
EP1692611B1 (en)Method and apparatus for performing packed data operations with element size control
US5875355A (en)Method for transposing multi-bit matrix wherein first and last sub-string remains unchanged while intermediate sub-strings are interchanged
US7689811B2 (en)Method and apparatus for constant generation in SIMD processing
US5859790A (en)Replication of data
US5864703A (en)Method for providing extended precision in SIMD vector arithmetic operations
US7933405B2 (en)Data access and permute unit
KR101099467B1 (en) Data processing apparatus and method for moving data between registers and memory
US5922066A (en)Multifunction data aligner in wide data width processor
US7145480B2 (en)Data processing apparatus and method for performing in parallel a data processing operation on data elements
US20050125476A1 (en)Data processing apparatus and method for performing arithmetic operations in SIMD data processing
US6958718B2 (en)Table lookup operation within a data processing system
US20050125647A1 (en)Endianess compensation within a SIMD data processing system
US20050125636A1 (en)Vector by scalar operations
US7308559B2 (en)Digital signal processor with cascaded SIMD organization
US20050125635A1 (en)Moving data between registers of different register data stores
US20050125631A1 (en)Data element size control within parallel lanes of processing
US20050125638A1 (en)Data shift operations

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:BRIDGE CROSSING, LLC, NEW JERSEY

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MIPS TECHNOLOGIES, INC.;REEL/FRAME:030202/0440

Effective date:20130206

STCBInformation on status: application discontinuation

Free format text:ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

ASAssignment

Owner name:ARM FINANCE OVERSEAS LIMITED, GREAT BRITAIN

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BRIDGE CROSSING, LLC;REEL/FRAME:033074/0058

Effective date:20140131


[8]ページ先頭

©2009-2025 Movatter.jp