CN105723332A - 在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法 - Google Patents

在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法 Download PDF

Info

Publication number
CN105723332A
CN105723332A CN201480062437.6A CN201480062437A CN105723332A CN 105723332 A CN105723332 A CN 105723332A CN 201480062437 A CN201480062437 A CN 201480062437A CN 105723332 A CN105723332 A CN 105723332A
Authority
CN
China
Prior art keywords
vector data
vector
data samples
input
result output
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.)
Pending
Application number
CN201480062437.6A
Other languages
English (en)
Chinese (zh)
Inventor
R·汗
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105723332A publication Critical patent/CN105723332A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • G06F9/38873Iterative single instructions for multiple data lanes [SIMD]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
CN201480062437.6A 2013-11-15 2014-11-07 在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法 Pending CN105723332A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/082,067 2013-11-15
US14/082,067 US20150143076A1 (en) 2013-11-15 2013-11-15 VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS
PCT/US2014/064677 WO2015073333A1 (en) 2013-11-15 2014-11-07 Vector processing engine employing despreading circuitry in data flow paths between execution units and vector data memory, and related method

Publications (1)

Publication Number Publication Date
CN105723332A true CN105723332A (zh) 2016-06-29

Family

ID=52023612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480062437.6A Pending CN105723332A (zh) 2013-11-15 2014-11-07 在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法

Country Status (6)

Country Link
US (1) US20150143076A1 (enExample)
EP (1) EP3069236A1 (enExample)
JP (1) JP2016537725A (enExample)
KR (1) KR20160085336A (enExample)
CN (1) CN105723332A (enExample)
WO (1) WO2015073333A1 (enExample)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105940374A (zh) * 2014-01-31 2016-09-14 高通股份有限公司 用于向量处理器上的融合耙指操作的指令和方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495154B2 (en) 2013-03-13 2016-11-15 Qualcomm Incorporated Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, systems, and methods
US9792118B2 (en) 2013-11-15 2017-10-17 Qualcomm Incorporated Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
US9880845B2 (en) 2013-11-15 2018-01-30 Qualcomm Incorporated Vector 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
US9619227B2 (en) 2013-11-15 2017-04-11 Qualcomm Incorporated Vector processing engines (VPEs) employing tapped-delay line(s) for providing precision correlation / covariance vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
US9977676B2 (en) 2013-11-15 2018-05-22 Qualcomm Incorporated Vector processing engines (VPEs) employing reordering circuitry in data flow paths between execution units and vector data memory to provide in-flight reordering of output vector data stored to vector data memory, and related vector processor systems and methods
US9684509B2 (en) 2013-11-15 2017-06-20 Qualcomm Incorporated Vector processing engines (VPEs) employing merging circuitry in data flow paths between execution units and vector data memory to provide in-flight merging of output vector data stored to vector data memory, and related vector processing instructions, systems, and methods
US10108581B1 (en) 2017-04-03 2018-10-23 Google Llc Vector reduction processor
US11277455B2 (en) 2018-06-07 2022-03-15 Mellanox Technologies, Ltd. Streaming system
US20200106828A1 (en) * 2018-10-02 2020-04-02 Mellanox Technologies, Ltd. Parallel Computation Network Device
US11625393B2 (en) 2019-02-19 2023-04-11 Mellanox Technologies, Ltd. High performance computing system
EP3699770B1 (en) 2019-02-25 2025-05-21 Mellanox Technologies, Ltd. Collective communication system and methods
US11750699B2 (en) 2020-01-15 2023-09-05 Mellanox Technologies, Ltd. Small message aggregation
US11252027B2 (en) 2020-01-23 2022-02-15 Mellanox Technologies, Ltd. Network element supporting flexible data reduction operations
US11876885B2 (en) 2020-07-02 2024-01-16 Mellanox Technologies, Ltd. Clock queue with arming and/or self-arming features
US11556378B2 (en) 2020-12-14 2023-01-17 Mellanox Technologies, Ltd. Offloading execution of a multi-task parameter-dependent operation to a network device
US12313774B2 (en) * 2022-03-23 2025-05-27 Nxp B.V. Direction of arrival (DOA) estimation using circular convolutional network
US12309070B2 (en) 2022-04-07 2025-05-20 Nvidia Corporation In-network message aggregation for efficient small message transport
US11922237B1 (en) 2022-09-12 2024-03-05 Mellanox Technologies, Ltd. Single-step collective operations
US12489657B2 (en) 2023-08-17 2025-12-02 Mellanox Technologies, Ltd. In-network compute operation spreading

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020002572A1 (en) * 2000-06-12 2002-01-03 Masami Kanasugi Fir filter,method of operating the same, semiconductor integrated circuit including fir filter, and communication system for transmiting data filtered by fir filter
CN1375126A (zh) * 1999-06-30 2002-10-16 艾利森公司 利用预先计算的降低功率的匹配滤波器
US6470000B1 (en) * 1998-10-14 2002-10-22 Agere Systems Guardian Corp. Shared correlator system and method for direct-sequence CDMA demodulation
CN1666187A (zh) * 2002-06-28 2005-09-07 摩托罗拉公司 可重配置的流型矢量处理器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141376A (en) * 1997-04-01 2000-10-31 Lsi Logic Corporation Single chip communication device that implements multiple simultaneous communication channels
US7173919B1 (en) * 1999-06-11 2007-02-06 Texas Instruments Incorporated Random access preamble coding for initiation of wireless mobile communications sessions
US6934319B2 (en) * 1999-12-30 2005-08-23 Infineon Technologies Ag Configurable multimode despreader for spread spectrum applications
US7103095B2 (en) * 2000-03-06 2006-09-05 Texas Instruments Incorporated Spread spectrum code correlator
US6959065B2 (en) * 2001-04-20 2005-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Reduction of linear interference canceling scheme
US7209461B2 (en) * 2001-05-09 2007-04-24 Qualcomm Incorporated Method and apparatus for chip-rate processing in a CDMA system
US6922716B2 (en) * 2001-07-13 2005-07-26 Motorola, Inc. Method and apparatus for vector processing
US7738533B2 (en) * 2002-01-07 2010-06-15 Qualcomm Incorporated Multiplexed CDMA and GPS searching
US20040062298A1 (en) * 2002-10-01 2004-04-01 Mcdonough John G. System and method for detecting direct sequence spread spectrum signals using pipelined vector processing
US7139900B2 (en) * 2003-06-23 2006-11-21 Intel Corporation Data packet arithmetic logic devices and methods
JP4512821B2 (ja) * 2004-09-08 2010-07-28 国立大学法人電気通信大学 通信システム
JP4543846B2 (ja) * 2004-09-14 2010-09-15 ソニー株式会社 無線通信装置、並びに伝送路測定装置
US7299342B2 (en) * 2005-05-24 2007-11-20 Coresonic Ab Complex vector executing clustered SIMD micro-architecture DSP with accelerator coupled complex ALU paths each further including short multiplier/accumulator using two's complement
TWI326189B (en) * 2006-05-19 2010-06-11 Novatek Microelectronics Corp Method and apparatus for suppressing cross-color in a video display device
GB2464292A (en) * 2008-10-08 2010-04-14 Advanced Risc Mach Ltd SIMD processor circuit for performing iterative SIMD multiply-accumulate operations
WO2012111053A1 (ja) * 2011-02-15 2012-08-23 日本電気株式会社 複素演算処理用コプロセッサ及びプロセッサシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470000B1 (en) * 1998-10-14 2002-10-22 Agere Systems Guardian Corp. Shared correlator system and method for direct-sequence CDMA demodulation
CN1375126A (zh) * 1999-06-30 2002-10-16 艾利森公司 利用预先计算的降低功率的匹配滤波器
US20020002572A1 (en) * 2000-06-12 2002-01-03 Masami Kanasugi Fir filter,method of operating the same, semiconductor integrated circuit including fir filter, and communication system for transmiting data filtered by fir filter
CN1666187A (zh) * 2002-06-28 2005-09-07 摩托罗拉公司 可重配置的流型矢量处理器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105940374A (zh) * 2014-01-31 2016-09-14 高通股份有限公司 用于向量处理器上的融合耙指操作的指令和方法
CN105940374B (zh) * 2014-01-31 2019-03-05 高通股份有限公司 用于向量处理器上的融合耙指操作的指令和方法

Also Published As

Publication number Publication date
JP2016537725A (ja) 2016-12-01
WO2015073333A1 (en) 2015-05-21
US20150143076A1 (en) 2015-05-21
KR20160085336A (ko) 2016-07-15
EP3069236A1 (en) 2016-09-21

Similar Documents

Publication Publication Date Title
CN105765523B (zh) 在向量数据存储器与执行单元之间的数据流路径中采用重排序电路系统的向量处理引擎以及相关的方法
CN105723333B (zh) 在执行单元与向量数据存储器之间具有合并电路系统的向量处理引擎以及相关的方法
US9792118B2 (en) Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
CN105723328A (zh) 在向量数据存储器与执行单元之间的数据流路径中采用格式转换电路系统的向量处理引擎和相关方法
CN105723332A (zh) 在执行单元与向量数据存储器之间的数据流路径中采用解扩展电路系统的向量处理引擎以及相关的方法
CN105723330A (zh) 采用抽头延迟线进行相关向量处理操作的向量处理引擎(vpe)、以及相关向量处理器系统和方法
CN104969215B (zh) 具有用于提供蝶形向量处理电路的可编程数据路径的向量处理引擎以及相关的向量处理器、系统和方法
EP2972968B1 (en) Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, systems, and methods

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20190326

AD01 Patent right deemed abandoned