JP2014530408A - プロセッシング装置及びスウィズルパターン生成器 - Google Patents
プロセッシング装置及びスウィズルパターン生成器 Download PDFInfo
- Publication number
- JP2014530408A JP2014530408A JP2014530590A JP2014530590A JP2014530408A JP 2014530408 A JP2014530408 A JP 2014530408A JP 2014530590 A JP2014530590 A JP 2014530590A JP 2014530590 A JP2014530590 A JP 2014530590A JP 2014530408 A JP2014530408 A JP 2014530408A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- data
- swizzle
- register
- swizzle pattern
- 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
Links
- 238000003491 array Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 10
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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/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
-
- 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
-
- 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
Abstract
Description
本発明の一態様によるプロセッシング装置は、ベクトル演算のデータエレメントを含むデータセットを保存するベクトルレジスタと、前記ベクトル演算を行うベクトル演算器と、前記ベクトルレジスタと前記ベクトル演算器とに連結され、前記データセットに関するスウィズルパターンを生成するスウィズルパターン生成器と、を含む。
101 ベクトル演算器
102 ベクトルレジスタ
103 スウィズルパターン生成部
110 スウィズルドバーチャルレジスタ
120 スウィズリングネットワーク
300、400、500 スウィズルパターン生成部
301、401 スウィズリングネットワーク
302、402 スウィズルドバーチャルレジスタ
501 スイッチングデバイス
502 コントローラ/保存デバイス
503 入線
504 出線
600、700 アレイブロック
602 スウィズルパターン生成部
604、708 スウィズリングネットワーク
606、710 スウィズルドレジスタファイル
607、 608 MUX
609、702 ベクトル実行部(VPU)
610、704 出力ベクトルレジスタ
Claims (23)
- ベクトル演算のデータエレメントを含むデータセットを保存するベクトルレジスタと、
前記ベクトル演算を行うベクトル演算器と、
前記ベクトルレジスタと前記ベクトル演算器とに連結され、前記データセットに関するスウィズルパターンを生成するスウィズルパターン生成器と、
を含むプロセッサ。 - 前記スウィズルパターン生成器は、前記データセットの前記データエレメントを結合するか、順序を変更して、前記スウィズルパターンを生成する請求項1に記載のプロセッサ。
- 前記ベクトル演算の他のデータエレメントを含む他のデータセットを保存する他のベクトルレジスタをさらに含み、
前記スウィズルパターン生成器は、前記他のベクトルレジスタにも連結され、前記データセットの前記データエレメントと前記他のデータセットの前記他のデータエレメントとを結合して、前記スウィズルパターン及び他のスウィズルパターンのうち一方又は両方を生成する請求項1に記載のプロセッサ。 - 前記スウィズルパターンが、前記ベクトル演算に関するデータセットとして前記ベクトルプロセッサに入力される請求項3に記載のプロセッサ。
- 前記スウィズルパターン生成器は、前記スウィズルパターンを生成するスウィズリングネットワークを含む請求項1に記載のプロセッサ。
- 前記スウィズリングネットワークは、前記スウィズルパターンを生成する複数のデータラインを含み、
前記データラインのそれぞれは、一端が前記ベクトルレジスタの出力に連結され、他端が前記ベクトル演算器に連結される請求項5に記載のプロセッサ。 - 前記スウィズリングネットワークは、複数のデータラインを含み、
前記データラインのそれぞれは、一端が前記ベクトル演算器の出力に連結される請求項5に記載のプロセッサ。 - 前記スウィズルパターン生成器は、前記スウィズルパターンを保存するスウィズルドレジスタを含む請求項5に記載のプロセッサ。
- 前記スウィズリングネットワークは、前記スウィズルパターンを生成する複数のデータラインを含み、
前記データラインのそれぞれは、一端が前記ベクトル演算器の出力に連結され、他端が前記スウィズルドレジスタの入力に連結される請求項8に記載のプロセッサ。 - 前記スウィズリングネットワークは、前記スウィズルパターンを生成する複数のデータラインを含み、
前記データラインのそれぞれは、一端が前記ベクトルレジスタの出力に連結され、他端が前記スウィズルドレジスタの入力に連結される請求項8に記載のプロセッサ。 - 前記スウィズルパターン生成器は、前記スウィズルパターンを保存するスウィズルドレジスタを含む請求項1に記載のプロセッサ。
- 前記スウィズリングネットワークは、多様なスウィズルパターンを生成するように再構成可能な複数のデータラインを含む請求項5に記載のプロセッサ。
- 前記スウィズリングネットワークは、
前記複数のデータラインのそれぞれに対して再構成可能な連結を含み、前記再構成可能な連結に基づいて、前記多様なスウィズルパターンを生成するスイッチと、
前記スイッチに連結され、前記多様なスウィズルパターンに対応する前記複数のデータラインに対する前記再構成可能な連結に関する多様なスイッチ連結を保存するスイッチングテーブルと、
を含む請求項12に記載のプロセッサ。 - 前記スウィズルパターン生成器は、前記ベクトルレジスタからの前記データセットの出力又は入力と実質的に同時に前記スウィズルパターンを生成する請求項1に記載のプロセッサ。
- ベクトル演算に関するデータセットを保存するベクトルレジスタと、
前記ベクトル演算を実行するベクトル実行部と、
前記ベクトルレジスタの出力と前記ベクトル実行部の入力とに連結され、前記データセットのデータエレメントを結合するか、順序を変更して、前記ベクトル演算のための入力としてスウィズルパターンを生成するスウィズルパターン生成部と、
を含むプロセッシング装置。 - 前記ベクトル演算に関する他のデータセットを保存する他のベクトルレジスタをさらに含み、
前記スウィズルパターン生成部は、前記他のベクトルレジスタの出力にさらに連結され、前記データセット及び前記他のデータセットのデータエレメントを結合するか、順序を変更して、前記ベクトル演算のための入力として、前記スウィズルパターン及び第2スウィズルパターンを生成するスウィズルパターン生成部を含む請求項15に記載のプロセッシング装置。 - ベクトル演算を実行するベクトル実行部と、
前記ベクトル実行部から受信したベクトル演算結果に対応するデータセットを保存するベクトルレジスタと、
前記ベクトル実行部の出力に連結され、前記データセットのデータエレメントを結合するか、順序を変更して、前記ベクトルレジスタ内の前記データセットを保存すると同時に、スウィズルパターンを生成するスウィズリングネットワークと、
前記スウィズリングネットワークに連結され、前記スウィズルパターンを保存するスウィズルドレジスタと、
を含むプロセッシング装置。 - 前記ベクトル実行部から受信した前記ベクトル演算結果に対応する他のデータセットを保存する他のベクトルレジスタと、
他のスウィズルパターンを保存する他のスウィズルドレジスタと、をさらに含み、
前記スウィズルパターン生成部は、前記データセット及び前記他のデータセットのデータエレメントを結合するか、順序を変更して、前記スウィズルパターン及び前記第2スウィズルパターンを生成する請求項17に記載のプロセッシング装置。 - 第1データエンドと、
ベクトルレジスタ及びベクトル実行部のうち少なくとも1つの出力に連結された第2データエンドと、
前記第1データエンドと前記第2データエンドとに連結される複数のデータコネクションを含み、前記複数のデータコネクションに基づいて、前記ベクトルレジスタ及び前記ベクトル実行部のうち少なくとも1つから出力されるデータセットに関して、スウィズルパターンを前記第1データエンドで生成するスウィズリングネットワークと、
を含むスウィズルパターン生成装置。 - 前記スウィズリングネットワークの前記複数のデータコネクションは、再構成可能であり、多様なデータコネクションの配列を生成し、前記多様なデータコネクションの配列に基づいて多様なスウィズルパターンを生成する請求項19に記載のスウィズルパターン生成装置。
- 前記スウィズリングネットワークは、
前記第1データエンドから前記第2データエンドへの前記複数のデータコネクションを生成し、前記データコネクションの配列に基づいて多様なスウィズルパターンを生成する再構成可能なスイッチと、
前記スイッチに連結され、前記多様なスウィズルパターンに対応する前記第1データエンドから前記第2データエンドへの前記再構成可能なスイッチに関する多様なデータコネクションの配列を保存するスイッチングテーブルと、
を含む請求項19に記載のスウィズルパターン生成装置。 - 前記第1データエンドに連結され、前記多様なスウィズルパターンに対応する順序でデータエレメントを保存する少なくとも1つのスウィズルドレジスタをさらに含む請求項19又は20に記載のスウィズルパターン生成装置。
- 前記第1データエンドで前記スウィズリングネットワークから出力されるデータエレメントは、少なくとも1つのバーチャルスウィズルドレジスタ及び出力されたデータエレメントの配列に対応するスウィズルパターンを提供する請求項19又は20に記載のスウィズルパターン生成装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2011-0092604 | 2011-09-14 | ||
KR1020110092604A KR101918464B1 (ko) | 2011-09-14 | 2011-09-14 | 스위즐드 버추얼 레지스터 기반의 프로세서 및 스위즐 패턴 제공 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014530408A true JP2014530408A (ja) | 2014-11-17 |
Family
ID=47830908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014530590A Pending JP2014530408A (ja) | 2011-09-14 | 2012-09-13 | プロセッシング装置及びスウィズルパターン生成器 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20130067203A1 (ja) |
EP (1) | EP2758866B1 (ja) |
JP (1) | JP2014530408A (ja) |
KR (1) | KR101918464B1 (ja) |
CN (1) | CN103797458B (ja) |
WO (1) | WO2013039335A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101918464B1 (ko) * | 2011-09-14 | 2018-11-15 | 삼성전자 주식회사 | 스위즐드 버추얼 레지스터 기반의 프로세서 및 스위즐 패턴 제공 장치 |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
JP6102528B2 (ja) * | 2013-06-03 | 2017-03-29 | 富士通株式会社 | 信号処理装置及び信号処理方法 |
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 |
CA2948929C (en) | 2014-05-15 | 2020-05-12 | Huawei Technologies Co., Ltd. | Method and equipment for establishing millimetre connection |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
GB2577890B (en) * | 2018-10-08 | 2021-03-10 | Advanced Risc Mach Ltd | Data processing with swizzle operation |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10817291B2 (en) * | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149400A (ja) * | 2000-11-08 | 2002-05-24 | Hitachi Ltd | 複数レジスタ指定が可能なsimd演算方式 |
JP2008108220A (ja) * | 2006-10-27 | 2008-05-08 | Toshiba Corp | 演算装置 |
JP2009529188A (ja) * | 2006-03-06 | 2009-08-13 | アナログ デバイシーズ インク | 改良された置換可能なアドレス・プロセッサ及び方法 |
US20100106940A1 (en) * | 2008-10-23 | 2010-04-29 | International Business Machines Corporation | Processing Unit With Operand Vector Multiplexer Sequence Control |
JP2010250625A (ja) * | 2009-04-17 | 2010-11-04 | Digital Media Professional:Kk | 3次元コンピュータグラフィック用プロセッサ |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US20030167460A1 (en) * | 2002-02-26 | 2003-09-04 | Desai Vipul Anil | Processor instruction set simulation power estimation method |
GB2394571B (en) | 2002-10-23 | 2005-08-10 | Motorola Inc | Arrangement system and method for vector permutation in single-instruction multiple-data microprocessors |
US6862027B2 (en) | 2003-06-30 | 2005-03-01 | Microsoft Corp. | System and method for parallel execution of data generation tasks |
KR20070022239A (ko) | 2004-03-31 | 2007-02-26 | 이세라 인코포레이티드 | 비대칭 듀얼 경로 프로세싱용 장치 및 방법 |
US9047094B2 (en) | 2004-03-31 | 2015-06-02 | Icera Inc. | Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor |
US7721069B2 (en) * | 2004-07-13 | 2010-05-18 | 3Plus1 Technology, Inc | Low power, high performance, heterogeneous, scalable processor architecture |
US7681187B2 (en) | 2005-03-31 | 2010-03-16 | Nvidia Corporation | Method and apparatus for register allocation in presence of hardware constraints |
US7933405B2 (en) * | 2005-04-08 | 2011-04-26 | Icera Inc. | Data access and permute unit |
US7868894B2 (en) * | 2006-11-28 | 2011-01-11 | International Business Machines Corporation | Operand multiplexor control modifier instruction in a fine grain multithreaded vector microprocessor |
US8769251B2 (en) * | 2006-12-13 | 2014-07-01 | Arm Limited | Data processing apparatus and method for converting data values between endian formats |
US8356160B2 (en) * | 2008-01-15 | 2013-01-15 | International Business Machines Corporation | Pipelined multiple operand minimum and maximum function |
US7904699B2 (en) * | 2008-03-10 | 2011-03-08 | International Business Machines Corporation | Processing unit incorporating instruction-based persistent vector multiplexer control |
US7904700B2 (en) * | 2008-03-10 | 2011-03-08 | International Business Machines Corporation | Processing unit incorporating special purpose register for use with instruction-based persistent vector multiplexer control |
US20100332792A1 (en) * | 2009-06-30 | 2010-12-30 | Advanced Micro Devices, Inc. | Integrated Vector-Scalar Processor |
US8595428B2 (en) * | 2009-12-22 | 2013-11-26 | Intel Corporation | Memory controller functionalities to support data swizzling |
US8732437B2 (en) * | 2010-01-26 | 2014-05-20 | Oracle America, Inc. | Low-overhead misalignment and reformatting support for SIMD |
US9141386B2 (en) * | 2010-09-24 | 2015-09-22 | Intel Corporation | Vector logical reduction operation implemented using swizzling on a semiconductor chip |
KR101918464B1 (ko) * | 2011-09-14 | 2018-11-15 | 삼성전자 주식회사 | 스위즐드 버추얼 레지스터 기반의 프로세서 및 스위즐 패턴 제공 장치 |
GB2577890B (en) * | 2018-10-08 | 2021-03-10 | Advanced Risc Mach Ltd | Data processing with swizzle operation |
-
2011
- 2011-09-14 KR KR1020110092604A patent/KR101918464B1/ko active IP Right Grant
-
2012
- 2012-09-13 CN CN201280045050.0A patent/CN103797458B/zh active Active
- 2012-09-13 WO PCT/KR2012/007344 patent/WO2013039335A1/en active Application Filing
- 2012-09-13 JP JP2014530590A patent/JP2014530408A/ja active Pending
- 2012-09-13 EP EP12831412.7A patent/EP2758866B1/en active Active
- 2012-09-14 US US13/618,309 patent/US20130067203A1/en not_active Abandoned
-
2019
- 2019-01-24 US US16/256,266 patent/US11003449B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149400A (ja) * | 2000-11-08 | 2002-05-24 | Hitachi Ltd | 複数レジスタ指定が可能なsimd演算方式 |
JP2009529188A (ja) * | 2006-03-06 | 2009-08-13 | アナログ デバイシーズ インク | 改良された置換可能なアドレス・プロセッサ及び方法 |
JP2008108220A (ja) * | 2006-10-27 | 2008-05-08 | Toshiba Corp | 演算装置 |
US20100106940A1 (en) * | 2008-10-23 | 2010-04-29 | International Business Machines Corporation | Processing Unit With Operand Vector Multiplexer Sequence Control |
JP2010250625A (ja) * | 2009-04-17 | 2010-11-04 | Digital Media Professional:Kk | 3次元コンピュータグラフィック用プロセッサ |
Also Published As
Publication number | Publication date |
---|---|
US11003449B2 (en) | 2021-05-11 |
EP2758866B1 (en) | 2017-11-15 |
WO2013039335A1 (en) | 2013-03-21 |
KR20130029274A (ko) | 2013-03-22 |
EP2758866A4 (en) | 2015-10-07 |
CN103797458B (zh) | 2018-04-20 |
US20190155601A1 (en) | 2019-05-23 |
KR101918464B1 (ko) | 2018-11-15 |
US20130067203A1 (en) | 2013-03-14 |
EP2758866A1 (en) | 2014-07-30 |
CN103797458A (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014530408A (ja) | プロセッシング装置及びスウィズルパターン生成器 | |
JPH0922404A (ja) | 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ | |
US7383419B2 (en) | Address generation unit for a processor | |
JP6003744B2 (ja) | 演算処理装置及び演算処理方法 | |
JP4686435B2 (ja) | 演算装置 | |
JP3987782B2 (ja) | アレイ型プロセッサ | |
US8601236B2 (en) | Configurable vector length computer processor | |
CN112074810B (zh) | 并行处理设备 | |
JP2006011825A (ja) | 再構成可能演算装置および半導体装置 | |
US10387118B2 (en) | Arithmetic operation unit and method of controlling arithmetic operation unit | |
JPWO2007099950A1 (ja) | 高速pe間データ再配置機能を有するプロセッサアレイシステム | |
JP6378515B2 (ja) | Vliwプロセッサ | |
JP4444305B2 (ja) | 半導体装置 | |
KR20090116511A (ko) | 데이터 프로세싱 회로 | |
JP7346235B2 (ja) | 半導体装置 | |
JP7250953B2 (ja) | データ処理装置、及び人工知能チップ | |
WO2013095259A1 (en) | Vector execution unit for digital signal processor | |
KR102358612B1 (ko) | 연속적인 데이터 병렬처리가 가능한 병렬 처리장치 | |
WO2013137459A1 (ja) | データ供給装置及びデータ処理装置 | |
Pechanek et al. | An introduction to an array memory processor for application specific acceleration | |
JP2013114608A (ja) | Vliwプロセッサと命令構造と命令実行方法 | |
JP2010079361A (ja) | プロセッサ、プロセッサのデータ処理方法、情報処理装置 | |
KR20110103256A (ko) | 다중 입출력 오퍼레이션 지원 프로세서 및 그 방법 | |
JP2011198100A (ja) | プロセッサ及びその制御方法 | |
JP2009140514A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150303 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150303 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160615 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170112 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170123 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20170331 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180305 |