JP2010525442A - データ格納方法、データロード方法およびシグナルプロセッサ - Google Patents
データ格納方法、データロード方法およびシグナルプロセッサ Download PDFInfo
- Publication number
- JP2010525442A JP2010525442A JP2010503635A JP2010503635A JP2010525442A JP 2010525442 A JP2010525442 A JP 2010525442A JP 2010503635 A JP2010503635 A JP 2010503635A JP 2010503635 A JP2010503635 A JP 2010503635A JP 2010525442 A JP2010525442 A JP 2010525442A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- bits
- memory
- data elements
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000013500 data storage Methods 0.000 title description 5
- 239000013598 vector Substances 0.000 claims abstract description 102
- 238000011068 loading method Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
Description
ビットを、相互に連続するレジスタファイルエレメントに格納されている、ベクトル内のプロセスデータエレメント間で交換するステップであって、交換するステップが、変更データエレメントのベクトルを生じるステップと、
結果として生じるベクトル内のk連続ビットの群をシャッフルするステップと、
結果として生じる、変更データエレメントのシャッフルされたベクトルを、格納データエレメントのベクトルとして、メモリに格納するステップと、
を備えることを特徴とする方法が、提供される。
1. r個分の位置のベクトル回転で、−P<r<Pは、シャッフルの特殊な場合である。
2. 他のシャッフルの結果に対して続くシャッフルは、単一のシャッフル演算に削減できる。特に、回転+シャッフルを、単一のシャッフルに統合することができる。
格納データエレメントのベクトルを、メモリから検索するステップと、
k連続ビットの2つ以上の群が、それらの全体で交換されて、シャッフルされたベクトルを生じる、シャッフリングを適用するステップと、
ビットを、連続するレジスタエレメントに格納されている、シャッフルされたベクトル内のデータエレメントの組間で交換し、交換が、変更データエレメントのベクトルを生じるステップと、
を備えることを特徴とする。
1つまたは複数の機能ユニットと、
少なくともプロセスデータエレメントのベクトルを格納するための、第1の複数のレジスタエレメントを備えるレジスタファイルであって、前記プロセスデータエレメントのベクトルは、nビットサイズを有する、レジスタファイルと、
少なくとも1つのベクトルを、mビットのサイズを有する複数のメモリロケーションに格納するためのメモリであって、m>nである、メモリと、
ベクトルのkビットのサイズを有するデータエレメントをシャッフルするための、シャッフルユニットと、
ビットを、ベクトルの相互に連続するデータエレメント間で交換するための、交換ファシリティと、
を備えることを特徴とする。
S2a:転送されるべきビットを、補助レジスタR2に格納し、
S2b:転送されるべきでないビットを回転させ、
S2c:回転されたビットを、転送されたビットとマージする。
For Iel=2 to Nel
if(nlend+n)≦m then
add データエレメントIel−1のnlendビット to データエレメントIel
nlend=nlend+n
else
nlend=0
endif
next
For Iel=1 to Nel−1、“For ベクトル内の全プロセスデータエレメント
if nrem=k“借りない”
else
if nrem<k then
add プロセスデータエレメントIel+1のk−nremビット to プロセスデータエレメントIel
nrem=nrem+n−k
else
add プロセスデータエレメントIel+1のm−nremビット to プロセスデータエレメントIel
nrem=n−(m−nrem)
enf if
End For
For Iel=2 to Nel(For ベクトル内の全プロセスデータエレメント)
add プロセスデータエレメントIel−1のnremビット to データエレメントIel
nsum=n+nrem
if nsum=m then nrem=0
else nrem=nsum−k
End For
For Iel=1 to Nel−1、“For ベクトル内の全プロセスデータエレメント
プロセスデータエレメントIel−1のnremビット to データエレメントIel
if (nrem+n)>k then
nrem=nrem+n−k
else
nrem=nrem+n
endif
End For
Claims (7)
- nビットのサイズを有するプロセスデータエレメントのベクトルを、レジスタファイルからメモリへ格納する方法であって、前記メモリは、格納データエレメントのベクトルを、mビットのサイズを有する位置に格納するように構成されており、m>nである、方法において、
ビットを、相互に連続するレジスタエレメントに格納されている、前記ベクトル内のプロセスデータエレメント間で交換し、前記交換が、変更データエレメントのベクトルを生じるステップと、
結果として生じるベクトル内のk連続ビットの群をシャッフルするステップと、
結果として生じる、変更データエレメントのシャッフルされたベクトルを、格納データエレメントのベクトルとして、前記メモリに格納するステップと、
を備えることを特徴とする方法。 - メモリのmビットのサイズを有するメモリロケーションに格納されている、格納データエレメントのベクトルを、nビットのサイズを有するプロセスデータエレメントのベクトルとして、レジスタファイルへロードする方法であって、m>nである、方法において、
格納データエレメントのベクトルを、前記メモリから検索するステップと、
k連続ビットの2つ以上の群が、それらの全体で交換されて、シャッフルされたベクトルを生じる、シャッフリングを適用するステップと、
ビットを、連続するレジスタエレメントに格納されている、シャッフルされたベクトル内のデータエレメントの組間で交換し、前記交換が、変更データエレメントのベクトルを生じるステップと、
を備えることを特徴とする方法。 - デジタルシグナルプロセッサであって、
1つまたは複数の機能ユニットと、
少なくともプロセスデータエレメントのベクトルを格納するための、第1の複数のレジスタエレメントを備える、レジスタファイルであって、前記プロセスデータエレメントのベクトルは、nビットサイズを有する、レジスタファイルと、
少なくとも1つのベクトルを、mビットのサイズを有する複数のメモリロケーションに格納するためのメモリであって、m>nである、メモリと、
ベクトルのkビットのサイズを有するデータエレメントをシャッフルするための、シャッフルファシリティと、
ビットを、ベクトルの相互に連続するデータエレメント間で交換するための交換ファシリティと、
を備えることを特徴とするデジタルシグナルプロセッサ。 - m=p×kであり、pは正の整数である、ことを特徴とする請求項3に記載のデジタルシグナルプロセッサ。
- 前記交換ファシリティは、データを交換するための固定ビットパッドを備える、ことを特徴とする請求項4に記載のデジタルシグナルプロセッサ。
- 前記交換ファシリティは、制御可能である、ことを特徴とする請求項4に記載のデジタルシグナルプロセッサ。
- 前記シャッフルユニットは、さらに、データをメモリからロードする際に、データを整列させるために、または、データをメモリから検索する際に、データを回転させるために用いられる、ことを特徴とする請求項4に記載のデジタルシグナルプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07106203 | 2007-04-16 | ||
EP07106203.8 | 2007-04-16 | ||
PCT/IB2008/051388 WO2008126041A1 (en) | 2007-04-16 | 2008-04-11 | Method of storing data, method of loading data and signal processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010525442A true JP2010525442A (ja) | 2010-07-22 |
JP5435241B2 JP5435241B2 (ja) | 2014-03-05 |
Family
ID=39556993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010503635A Expired - Fee Related JP5435241B2 (ja) | 2007-04-16 | 2008-04-11 | データ格納方法、データロード方法およびシグナルプロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US8489825B2 (ja) |
EP (1) | EP2147369B1 (ja) |
JP (1) | JP5435241B2 (ja) |
AT (1) | ATE523840T1 (ja) |
WO (1) | WO2008126041A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012137839A (ja) * | 2010-12-24 | 2012-07-19 | Fujitsu Ltd | メモリ制御装置、及びメモリ制御方法 |
JP2017508201A (ja) * | 2014-01-31 | 2017-03-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ベクトルプロセッサにおけるロード/ストア演算中のフォーマット変換 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218182B2 (en) * | 2012-06-29 | 2015-12-22 | Intel Corporation | Systems, apparatuses, and methods for performing a shuffle and operation (shuffle-op) |
US9665483B2 (en) * | 2013-09-30 | 2017-05-30 | Alcatel Lucent | Method and apparatus for bit-interleaving |
JP6786948B2 (ja) * | 2016-08-12 | 2020-11-18 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US20190272175A1 (en) * | 2018-03-01 | 2019-09-05 | Qualcomm Incorporated | Single pack & unpack network and method for variable bit width data formats for computational machines |
US10831965B1 (en) | 2019-07-23 | 2020-11-10 | International Business Machines Corporation | Placement of vectorized latches in hierarchical integrated circuit development |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60186964A (ja) * | 1984-03-05 | 1985-09-24 | Hitachi Ltd | ベクトル処理装置 |
JPS6162974A (ja) * | 1984-09-05 | 1986-03-31 | Hitachi Ltd | ベクトルプロセツサ |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3700873A (en) * | 1970-04-06 | 1972-10-24 | Ibm | Structured computer notation and system architecture utilizing same |
JPH05143633A (ja) * | 1991-11-22 | 1993-06-11 | Nec Corp | イソジオメトリツク形高速フーリエ変換実現方式 |
US5742840A (en) | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US6374376B1 (en) * | 1998-09-03 | 2002-04-16 | Micron Technology, Inc. | Circuit, system and method for arranging data output by semiconductor testers to packet-based devices under test |
EP1391086B1 (de) * | 2001-03-15 | 2005-12-14 | Robert Bosch GmbH | Verfahren und vorrichtung zur erstellung eines zeitplans der übermittlung von nachrichten auf einem bussystem |
IL145245A0 (en) * | 2001-09-03 | 2002-06-30 | Jtc 2000 Dev Delaware Inc | System and method including vector-matrix multiplication |
US6795003B2 (en) * | 2003-01-30 | 2004-09-21 | Broadcom Corporation | Hardware-efficient implementation of dynamic element matching in sigma-delta DAC's |
ATE372542T1 (de) * | 2002-05-24 | 2007-09-15 | Nxp Bv | Zugriff zum breiten speicher |
US20040122887A1 (en) * | 2002-12-20 | 2004-06-24 | Macy William W. | Efficient multiplication of small matrices using SIMD registers |
US20040120518A1 (en) * | 2002-12-20 | 2004-06-24 | Macy William W. | Matrix multiplication for cryptographic processing |
EP1794671A2 (en) | 2004-09-21 | 2007-06-13 | Koninklijke Philips Electronics N.V. | Micro processor device and method for shuffle operations |
-
2008
- 2008-04-11 US US12/450,819 patent/US8489825B2/en not_active Expired - Fee Related
- 2008-04-11 EP EP08737813A patent/EP2147369B1/en not_active Not-in-force
- 2008-04-11 AT AT08737813T patent/ATE523840T1/de not_active IP Right Cessation
- 2008-04-11 WO PCT/IB2008/051388 patent/WO2008126041A1/en active Application Filing
- 2008-04-11 JP JP2010503635A patent/JP5435241B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60186964A (ja) * | 1984-03-05 | 1985-09-24 | Hitachi Ltd | ベクトル処理装置 |
JPS6162974A (ja) * | 1984-09-05 | 1986-03-31 | Hitachi Ltd | ベクトルプロセツサ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012137839A (ja) * | 2010-12-24 | 2012-07-19 | Fujitsu Ltd | メモリ制御装置、及びメモリ制御方法 |
JP2017508201A (ja) * | 2014-01-31 | 2017-03-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ベクトルプロセッサにおけるロード/ストア演算中のフォーマット変換 |
Also Published As
Publication number | Publication date |
---|---|
JP5435241B2 (ja) | 2014-03-05 |
ATE523840T1 (de) | 2011-09-15 |
US20100211749A1 (en) | 2010-08-19 |
EP2147369A1 (en) | 2010-01-27 |
EP2147369B1 (en) | 2011-09-07 |
WO2008126041A1 (en) | 2008-10-23 |
US8489825B2 (en) | 2013-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5435241B2 (ja) | データ格納方法、データロード方法およびシグナルプロセッサ | |
JP3891609B2 (ja) | 並べ換え装置 | |
TWI315034B (en) | A data processing apparatus and method for moving data between registers and memory | |
TWI276972B (en) | Efficient multiplication of small matrices using SIMD registers | |
US5812147A (en) | Instruction methods for performing data formatting while moving data between memory and a vector register file | |
US8868885B2 (en) | On-the-fly permutation of vector elements for executing successive elemental instructions | |
WO2014031129A1 (en) | Systems and methods of data extraction in a vector processor | |
JP2012009055A (ja) | 2次元マトリクス処理のためのレジスタ | |
US8078834B2 (en) | Processor architectures for enhanced computational capability | |
US20100164972A1 (en) | System, method and apparatus for memory with embedded associative section for computations | |
WO1999036852A1 (en) | Digital signal processor having data alignment buffer for performing unaligned data accesses | |
JP2008513903A (ja) | シャッフル演算のためのマイクロプロセッサデバイス及び方法 | |
JPH03501787A (ja) | データ並列処理装置 | |
US6958718B2 (en) | Table lookup operation within a data processing system | |
JPH03144783A (ja) | 入出力システム | |
JPH07141175A (ja) | アクティブメモリおよび処理方式 | |
JP2005174296A (ja) | Simdデータ処理システムにおけるエンディアンの補償 | |
JP2005174298A (ja) | “ベクトル×スカラ”演算 | |
US20050125635A1 (en) | Moving data between registers of different register data stores | |
WO2011097427A1 (en) | Digital signal processor comprising a compute array with a recirculation path and corresponding method | |
JP2005174292A (ja) | データシフト操作 | |
US20140195776A1 (en) | Memory access for a vector processor | |
JP3706633B2 (ja) | 命令キャッシュを備えたプロセッサ | |
US20080162743A1 (en) | Method and apparatus to select and modify elements of vectors | |
US20080158238A1 (en) | Format conversion apparatus from band interleave format to band separate format |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110303 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131016 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131105 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20131126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5435241 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |