JP2010539593A5 - - Google Patents

Download PDF

Info

Publication number
JP2010539593A5
JP2010539593A5 JP2010524899A JP2010524899A JP2010539593A5 JP 2010539593 A5 JP2010539593 A5 JP 2010539593A5 JP 2010524899 A JP2010524899 A JP 2010524899A JP 2010524899 A JP2010524899 A JP 2010524899A JP 2010539593 A5 JP2010539593 A5 JP 2010539593A5
Authority
JP
Japan
Prior art keywords
source register
vector elements
subset
vector
register
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.)
Granted
Application number
JP2010524899A
Other languages
English (en)
Other versions
JP5201641B2 (ja
JP2010539593A (ja
Filing date
Publication date
Priority claimed from US11/854,630 external-priority patent/US8631224B2/en
Application filed filed Critical
Publication of JP2010539593A publication Critical patent/JP2010539593A/ja
Publication of JP2010539593A5 publication Critical patent/JP2010539593A5/ja
Application granted granted Critical
Publication of JP5201641B2 publication Critical patent/JP5201641B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (5)

  1. データ処理システムであって、
    複数の汎用レジスタと、
    1つ以上の命令を実行するためのプロセッサ回路と
    を備え、前記1つ以上の命令は、少なくとも2つの内積を同時に実行するためのベクトル内積命令を含み、前記ベクトル内積命令は、前記複数の汎用レジスタから第1のソースレジスタと第2のソースレジスタとを特定し、前記第1のソースレジスタと前記第2のソースレジスタとの各々は、複数のベクトル要素を格納するためのものであり、
    前記少なくとも2つの内積のうちの第1の内積は、前記第1のソースレジスタのベクトル要素の第1のサブセットと、前記第2のソースレジスタのベクトル要素の第1のサブセットとの間で実行され、
    前記少なくとも2つの内積のうちの第2の内積は、前記第1のソースレジスタのベクトル要素の第2のサブセットと、前記第2のソースレジスタのベクトル要素の第2のサブセットとの間で実行され、
    前記第2のソースレジスタの前記第1および第2のサブセットは異なっており、
    前記第2のソースレジスタの前記第1および第2のサブセットの少なくとも2つのベクトル要素が重複している、データ処理システム。
  2. 前記第1のソースレジスタの前記第1および第2のサブセットが同じサブセットである、請求項1に記載のデータ処理システム。
  3. 前記ベクトル内積命令は、前記第1のソースレジスタのどのベクトル要素を前記第1のソースレジスタのベクトル要素の第1のサブセットに含ませるべきかを少なくとも示すために使用するオフセットをさらに示す、請求項1に記載のデータ処理システム。
  4. 複数の汎用レジスタと、
    1つ以上の命令を実行するためのプロセッサ回路と
    を備え、前記1つ以上の命令は、少なくとも2つの内積を同時に実行するためのベクトル内積命令を含み、前記ベクトル内積命令は、前記複数の汎用レジスタから第1のソースレジスタと第2のソースレジスタとを特定し、前記第1のソースレジスタと前記第2のソースレジスタとの各々は、複数のベクトル要素を格納するためのものであり、
    前記少なくとも2つの内積のうちの第1の内積は、前記第1のソースレジスタの5つのベクトル要素の第1のサブセットと、前記第2のソースレジスタの5つのベクトル要素の第1のサブセットとの間で実行され、
    前記少なくとも2つの内積のうちの第2の内積は、前記第1のソースレジスタの5つのベクトル要素の第2のサブセットと、前記第2のソースレジスタの5つのベクトル要素の第2のサブセットとの間で実行され、
    前記第2のソースレジスタの前記第1および第2のサブセットの4つのベクトル要素が重複している、データ処理システム。
  5. 同時内積演算を実行するための方法であって、
    複数の汎用レジスタを提供すること、
    1つ以上の命令を実行するためのプロセッサ回路を提供すること
    を備え、前記1つ以上の命令は、少なくとも2つの内積を同時に実行するためのベクトル内積命令を含み、前記ベクトル内積命令は、前記複数の汎用レジスタから第1のソースレジスタと第2のソースレジスタとを特定し、前記第1のソースレジスタと前記第2のソースレジスタとの各々は、複数のベクトル要素を格納するためのものであり、
    前記少なくとも2つの内積のうちの第1の内積は、前記第1のソースレジスタのベクトル要素の第1のサブセットと、前記第2のソースレジスタのベクトル要素の第1のサブセットとの間で実行され、
    前記少なくとも2つの内積のうちの第2の内積は、前記第1のソースレジスタのベクトル要素の第2のサブセットと、前記第2のソースレジスタのベクトル要素の第2のサブセットとの間で実行され、
    前記第2のソースレジスタの前記第1および第2のサブセットは異なっており、
    前記第2のソースレジスタの前記第1および第2のサブセットの少なくとも2つのベクトル要素が重複している、方法。
JP2010524899A 2007-09-13 2008-07-28 重複オペランドを使用したsimdの内積演算 Expired - Fee Related JP5201641B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/854,630 US8631224B2 (en) 2007-09-13 2007-09-13 SIMD dot product operations with overlapped operands
US11/854,630 2007-09-13
PCT/US2008/071327 WO2009035774A1 (en) 2007-09-13 2008-07-28 Simd dot product operations with overlapped operands

Publications (3)

Publication Number Publication Date
JP2010539593A JP2010539593A (ja) 2010-12-16
JP2010539593A5 true JP2010539593A5 (ja) 2011-09-15
JP5201641B2 JP5201641B2 (ja) 2013-06-05

Family

ID=40452385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010524899A Expired - Fee Related JP5201641B2 (ja) 2007-09-13 2008-07-28 重複オペランドを使用したsimdの内積演算

Country Status (4)

Country Link
US (1) US8631224B2 (ja)
JP (1) JP5201641B2 (ja)
KR (1) KR101482540B1 (ja)
WO (1) WO2009035774A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595467B2 (en) * 2009-12-29 2013-11-26 International Business Machines Corporation Floating point collect and operate
US8478969B2 (en) * 2010-09-24 2013-07-02 Intel Corporation Performing a multiply-multiply-accumulate instruction
JP5528976B2 (ja) 2010-09-30 2014-06-25 株式会社メガチップス 画像処理装置
US20140195783A1 (en) * 2011-12-29 2014-07-10 Krishnan Karthikeyan Dot product processors, methods, systems, and instructions
US9355061B2 (en) 2014-01-28 2016-05-31 Arm Limited Data processing apparatus and method for performing scan operations
GB2523805B (en) * 2014-03-06 2021-09-01 Advanced Risc Mach Ltd Data processing apparatus and method for performing vector scan operation
GB2553783B (en) 2016-09-13 2020-11-04 Advanced Risc Mach Ltd Vector multiply-add instruction
US10049082B2 (en) * 2016-09-15 2018-08-14 Altera Corporation Dot product based processing elements
GB2560159B (en) 2017-02-23 2019-12-25 Advanced Risc Mach Ltd Widening arithmetic in a data processing apparatus
GB2563878B (en) * 2017-06-28 2019-11-20 Advanced Risc Mach Ltd Register-based matrix multiplication
US11294679B2 (en) 2017-06-30 2022-04-05 Intel Corporation Apparatus and method for multiplication and accumulation of complex values
WO2019005115A1 (en) * 2017-06-30 2019-01-03 Intel Corporation APPARATUS AND METHOD FOR MULTIPLICATION AND CUMULATION OF COMPLEX VALUES
US11409525B2 (en) * 2018-01-24 2022-08-09 Intel Corporation Apparatus and method for vector multiply and accumulate of packed words
US10642620B2 (en) * 2018-04-05 2020-05-05 Apple Inc. Computation engine with strided dot product

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0375868A (ja) * 1989-08-17 1991-03-29 Sony Corp 行列データ乗算装置
JPH04242861A (ja) * 1990-12-28 1992-08-31 Sony Corp 内積演算回路
JPH05267992A (ja) * 1992-03-18 1993-10-15 Sony Corp フイルタ回路
US5721892A (en) * 1995-08-31 1998-02-24 Intel Corporation Method and apparatus for performing multiply-subtract operations on packed data
JP3790307B2 (ja) * 1996-10-16 2006-06-28 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
US6094637A (en) 1997-12-02 2000-07-25 Samsung Electronics Co., Ltd. Fast MPEG audio subband decoding using a multimedia processor
US6230253B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Executing partial-width packed data instructions
US6477203B1 (en) * 1998-10-30 2002-11-05 Agilent Technologies, Inc. Signal processing distributed arithmetic architecture
JP2000322235A (ja) * 1999-05-07 2000-11-24 Sony Corp 情報処理装置
JP3940542B2 (ja) * 2000-03-13 2007-07-04 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
US6857061B1 (en) * 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
JP3935678B2 (ja) * 2001-01-31 2007-06-27 富士通株式会社 Simd積和演算方法、積和演算回路、および、半導体集積回路装置
US6901422B1 (en) 2001-03-21 2005-05-31 Apple Computer, Inc. Matrix multiplication in a vector processing system
US6898691B2 (en) 2001-06-06 2005-05-24 Intrinsity, Inc. Rearranging data between vector and matrix forms in a SIMD matrix processor
US7103756B2 (en) * 2002-09-30 2006-09-05 Hewlett-Packard Development Company, L.P. Data processor with individually writable register subword locations
US7275147B2 (en) * 2003-03-31 2007-09-25 Hitachi, Ltd. Method and apparatus for data alignment and parsing in SIMD computer architecture
US6847313B2 (en) * 2003-06-30 2005-01-25 Intel Corporation Rational sample rate conversion
GB2409061B (en) * 2003-12-09 2006-09-13 Advanced Risc Mach Ltd Table lookup operation within a data processing system
US8332452B2 (en) 2006-10-31 2012-12-11 International Business Machines Corporation Single precision vector dot product with “word” vector write mask

Similar Documents

Publication Publication Date Title
JP2010539593A5 (ja)
GB2456775B (en) Apparatus and method for performing permutation operations on data
EP4276609A3 (en) Systems and methods for performing 16-bit floating-point matrix dot product instructions
JP2017522908A5 (ja)
WO2014164298A3 (en) Vector processing engines having programmable data path configurations for providing multi-mode radix-2x butterfly vector processing circuits, and related vector processors, systems, and methods
EP2284691A3 (en) Computing device, information processing apparatus, and method of controlling computing device
IN2014CN02111A (ja)
GB2517877A (en) Controlling an order for processing data elements during vector processing
JP2012232363A5 (ja) ロボット制御システム及びロボットシステム
WO2016100142A3 (en) Advanced processor architecture
JP2016526220A5 (ja)
EP3805921A3 (en) Vector friendly instruction format and execution thereof
WO2014004050A3 (en) Systems, apparatuses, and methods for performing a shuffle and operation (shuffle-op)
GB2514062A (en) Comparing sets of character data having termination characters
RU2015109476A (ru) Команда векторного типа на поле галуа перемножения, суммирования и накопления
JP2011248478A5 (ja) 画像処理装置、画像処理方法及びプログラム
JP2016530631A5 (ja)
JP2017097520A5 (ja)
JP2017097722A5 (ja)
WO2017052811A3 (en) Secure modular exponentiation processors, methods, systems, and instructions
WO2008037715A3 (en) Dual independent and shared resource vector execution units with shared register file
EP2796991A3 (en) Processor for batch thread processing, batch thread processing method using the same, and code generation apparatus for batch thread processing
JP2017515228A5 (ja)
EP2796990A3 (en) Apparatus and method for supporting multi-modes of processor
JP2008305347A5 (ja)