KR100812555B1 - 단일-명령 다중-데이터 마이크로프로세서들에서의 벡터 순열을 위한 장치, 시스템 및 그 방법 - Google Patents
단일-명령 다중-데이터 마이크로프로세서들에서의 벡터 순열을 위한 장치, 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR100812555B1 KR100812555B1 KR1020057007003A KR20057007003A KR100812555B1 KR 100812555 B1 KR100812555 B1 KR 100812555B1 KR 1020057007003 A KR1020057007003 A KR 1020057007003A KR 20057007003 A KR20057007003 A KR 20057007003A KR 100812555 B1 KR100812555 B1 KR 100812555B1
- Authority
- KR
- South Korea
- Prior art keywords
- permutation
- control
- parameters
- vector
- sequential order
- Prior art date
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
- G06F15/8084—Special arrangements thereof, e.g. mask or switch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Abstract
Description
Claims (18)
- 단일-명령 다중-데이터 마이크로프로세서에서의 벡터 순열(vector permutation)을 위한 장치에 있어서,제어 파라미터들에 따라 적어도 하나의 벡터 레지스터로부터 벡터들을 수신하여 순열로 배치하기 위해 결합되는 순열 논리 블록;제어 파라미터들을 상기 순열 논리 블록에 선택적으로 제공하기 위해 각각 결합되는 다수의 제어 레지스터들; 및상기 다수의 제어 레지스터들과 상기 순열 논리 블록 사이에 결합되며, 상기 다수의 제어 레지스터들 중 하나를 선택하고 상기 다수의 제어 레지스터들 중 선택된 하나로부터의 상기 제어 파라미터들을 상기 순열 논리 블록에 제공하기 위해 배열되는, 제어 수단을 포함하는, 벡터 순열을 위한 장치.
- 제 1 항에 있어서, 상기 제어 수단에 결합되며, 상기 제어 수단으로부터 수신된 상기 제어 파라미터들에 따라 상기 순열 논리 블록으로부터 벡터들을 수신하여 선택적으로 부정하기 위해 결합되는, 부정 블록(negate block)을 더 포함하며,상기 제어 파라미터들은 순열 파라미터들 및 부정 파라미터들을 포함하는, 벡터 순열을 위한 장치.
- 제 1 항에 있어서, 상기 제어 수단은 상기 다수의 제어 레지스터들 중 하나를 선택하기 위한 순차 순서(sequential order)를 제공하기 위해 배열된 적어도 하나의 계수기를 포함하는, 벡터 순열을 위한 장치.
- 제 3 항에 있어서, 상기 순차 순서는 고정된 제어 파라미터들의 세트를 통한 자동 수열(automatic sequencing)을 포함하는, 벡터 순열을 위한 장치.
- 제 3 항에 있어서, 상기 순차 순서는 프로그램가능한 제어 파라미터들의 세트를 통한 자동 수열을 포함하는, 벡터 순열을 위한 장치.
- 제 3 항에 있어서, 상기 순차 순서는 주기적인, 벡터 순열을 위한 장치.
- 단일-명령 다중-데이터 마이크로프로세서 벡터 순열 시스템에 있어서,적어도 하나의 벡터 레지스터;제어 파라미터들에 따라 상기 적어도 하나의 벡터 레지스터로부터 벡터들을 수신하여 순열로 배치하기 위해 결합되는 순열 논리 블록;제어 파라미터들을 상기 순열 논리 블록에 선택적으로 제공하기 위해 각각 결합되는 다수의 제어 레지스터들; 및상기 다수의 제어 레지스터들과 상기 순열 논리 블록 사이에 결합되며, 상기 다수의 제어 레지스터들 중 하나를 선택하고 상기 다수의 제어 레지스터들 중 선택된 하나로부터의 상기 제어 파라미터들을 상기 순열 논리 블록에 제공하기 위해 배열되는, 제어 수단을 포함하는, 단일-명령 다중-데이터 마이크로프로세서 벡터 순열 시스템.
- 제 7 항에 있어서, 상기 제어 수단에 결합되며, 상기 제어 수단으로부터 수신된 상기 제어 파라미터들에 따라 상기 순열 논리 블록으로부터 벡터들을 수신하여 선택적으로 부정하기 위해 결합되는, 부정 블록을 더 포함하며,상기 제어 파라미터들은 순열 파라미터들 및 부정 파라미터들을 포함하는, 단일-명령 다중-데이터 마이크로프로세서 벡터 순열 시스템.
- 제 7 항에 있어서, 상기 제어 수단은, 상기 다수의 제어 레지스터들 중 하나를 선택하기 위한 순차 순서를 제공하기 위해 배열된 적어도 하나의 계수기를 포함하는, 단일-명령 다중-데이터 마이크로프로세서 벡터 순열 시스템.
- 제 9 항에 있어서, 상기 순차 순서는 고정된 제어 파라미터들의 세트를 통한 자동 수열을 포함하는, 단일-명령 다중-데이터 마이크로프로세서 벡터 순열 시스템.
- 제 9 항에 있어서, 상기 순차 순서는 프로그램가능한 제어 파라미터들의 세트를 통한 자동 수열을 포함하는, 단일-명령 다중-데이터 마이크로프로세서 벡터 순열 시스템.
- 제 9 항에 있어서, 상기 순차 순서는 주기적인, 단일-명령 다중-데이터 마이크로프로세서 벡터 순열 시스템.
- 단일-명령 다중-데이터 마이크로프로세서에서의 벡터 순열을 위한 방법에 있어서,순열로 배치될 벡터들을 제공하는 단계;다수의 제어 레지스터들 중 하나를 선택하는 단계로서, 각각의 제어 레지스터는 순열 특징들을 결정하기 위한 파라미터들을 포함하는, 상기 선택 단계; 및상기 선택된 제어 레지스터의 파라미터들에 따라 상기 벡터들을 순열로 배치하는 단계를 포함하는, 벡터 순열을 위한 방법.
- 제 13 항에 있어서, 상기 제어 레지스터 파라미터들은 또한 부정 특징들을 결정하기 위해 사용되고, 상기 순열로 배치하는 단계는 상기 선택된 제어 레지스터의 파라미터들에 따라 상기 벡터들을 선택적으로 부정하는 단계를 더 포함하는, 벡터 순열을 위한 방법.
- 제 13 항에 있어서, 상기 선택 단계는 상기 다수의 제어 레지스터들의 순차 순서를 따르는 단계를 더 포함하는, 벡터 순열을 위한 방법.
- 제 15 항에 있어서, 상기 순차 순서는 고정된 제어 파라미터들의 세트를 통한 자동 수열을 포함하는, 벡터 순열을 위한 방법.
- 제 15 항에 있어서, 상기 순차 순서는 프로그램가능한 제어 파라미터들의 세트를 통한 자동 수열을 포함하는, 벡터 순열을 위한 방법.
- 제 15 항에 있어서, 상기 순차 순서는 주기적인, 벡터 순열을 위한 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0224627A GB2394571B (en) | 2002-10-23 | 2002-10-23 | Arrangement system and method for vector permutation in single-instruction multiple-data microprocessors |
GB0224627.0 | 2002-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050071614A KR20050071614A (ko) | 2005-07-07 |
KR100812555B1 true KR100812555B1 (ko) | 2008-03-13 |
Family
ID=9946401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057007003A KR100812555B1 (ko) | 2002-10-23 | 2003-10-06 | 단일-명령 다중-데이터 마이크로프로세서들에서의 벡터 순열을 위한 장치, 시스템 및 그 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7809931B2 (ko) |
JP (1) | JP4275071B2 (ko) |
KR (1) | KR100812555B1 (ko) |
AU (1) | AU2003273970A1 (ko) |
GB (1) | GB2394571B (ko) |
WO (1) | WO2004038598A1 (ko) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2394571B (en) | 2002-10-23 | 2005-08-10 | Motorola Inc | Arrangement system and method for vector permutation in single-instruction multiple-data microprocessors |
US7933405B2 (en) * | 2005-04-08 | 2011-04-26 | Icera Inc. | Data access and permute unit |
US7450040B2 (en) * | 2006-03-20 | 2008-11-11 | Marvell International Ltd. | Method and apparatus for generating non-binary balanced codes |
JP4686435B2 (ja) * | 2006-10-27 | 2011-05-25 | 株式会社東芝 | 演算装置 |
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 |
US8051226B2 (en) * | 2008-06-13 | 2011-11-01 | Freescale Semiconductor, Inc. | Circular buffer support in a single instruction multiple data (SIMD) data processor |
US7814303B2 (en) * | 2008-10-23 | 2010-10-12 | International Business Machines Corporation | Execution of a sequence of vector instructions preceded by a swizzle sequence instruction specifying data element shuffle orders respectively |
GB2470780B (en) | 2009-06-05 | 2014-03-26 | Advanced Risc Mach Ltd | A data processing apparatus and method for performing a predetermined rearrangement operation |
US8862827B2 (en) | 2009-12-29 | 2014-10-14 | International Business Machines Corporation | Efficient multi-level software cache using SIMD vector permute functionality |
KR20120134549A (ko) | 2011-06-02 | 2012-12-12 | 삼성전자주식회사 | Simd 프로세서를 이용한 병렬 연산 처리 장치 및 방법 |
KR101918464B1 (ko) | 2011-09-14 | 2018-11-15 | 삼성전자 주식회사 | 스위즐드 버추얼 레지스터 기반의 프로세서 및 스위즐 패턴 제공 장치 |
WO2013095657A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Instruction and logic to provide vector blend and permute functionality |
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 |
US9959247B1 (en) | 2017-02-17 | 2018-05-01 | Google Llc | Permuting in a matrix-vector processor |
GB2561674A (en) * | 2017-02-17 | 2018-10-24 | Google Llc | Permuting in a matrix-vector processor |
GB2577890B (en) * | 2018-10-08 | 2021-03-10 | Advanced Risc Mach Ltd | Data processing with swizzle operation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4825361A (en) * | 1982-10-22 | 1989-04-25 | Hitachi, Ltd. | Vector processor for reordering vector data during transfer from main memory to vector registers |
KR19980018072A (ko) * | 1996-08-19 | 1998-06-05 | 윤종용 | 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리 |
US5996057A (en) * | 1998-04-17 | 1999-11-30 | Apple | Data processing system and method of permutation with replication within a vector register file |
US6334176B1 (en) * | 1998-04-17 | 2001-12-25 | Motorola, Inc. | Method and apparatus for generating an alignment control vector |
KR20050048465A (ko) * | 2003-11-18 | 2005-05-24 | 인터내셔널 비지네스 머신즈 코포레이션 | 프로세서 및 매트릭스 데이터 처리 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61269775A (ja) | 1985-05-24 | 1986-11-29 | Nec Corp | ベクトル処理装置 |
US4935891A (en) * | 1988-12-22 | 1990-06-19 | Xerox Corporation | Pseudo-random phase shifted arithmetic bit clock generators for digital printers |
JPH06250751A (ja) | 1993-02-23 | 1994-09-09 | Toshiba Corp | 基準電圧回路 |
US5758176A (en) * | 1994-09-28 | 1998-05-26 | International Business Machines Corporation | Method and system for providing a single-instruction, multiple-data execution unit for performing single-instruction, multiple-data operations within a superscalar data processing system |
US6223320B1 (en) * | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
US6886124B2 (en) * | 2001-02-07 | 2005-04-26 | Nec Corporation | Low hardware overhead scan based 3-weight weighted random BIST architectures |
GB2394571B (en) | 2002-10-23 | 2005-08-10 | Motorola Inc | Arrangement system and method for vector permutation in single-instruction multiple-data microprocessors |
-
2002
- 2002-10-23 GB GB0224627A patent/GB2394571B/en not_active Expired - Fee Related
-
2003
- 2003-10-06 JP JP2004545824A patent/JP4275071B2/ja not_active Expired - Lifetime
- 2003-10-06 WO PCT/EP2003/011176 patent/WO2004038598A1/en active Application Filing
- 2003-10-06 US US10/531,756 patent/US7809931B2/en active Active
- 2003-10-06 AU AU2003273970A patent/AU2003273970A1/en not_active Abandoned
- 2003-10-06 KR KR1020057007003A patent/KR100812555B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4825361A (en) * | 1982-10-22 | 1989-04-25 | Hitachi, Ltd. | Vector processor for reordering vector data during transfer from main memory to vector registers |
KR19980018072A (ko) * | 1996-08-19 | 1998-06-05 | 윤종용 | 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리 |
US5996057A (en) * | 1998-04-17 | 1999-11-30 | Apple | Data processing system and method of permutation with replication within a vector register file |
US6334176B1 (en) * | 1998-04-17 | 2001-12-25 | Motorola, Inc. | Method and apparatus for generating an alignment control vector |
KR20050048465A (ko) * | 2003-11-18 | 2005-05-24 | 인터내셔널 비지네스 머신즈 코포레이션 | 프로세서 및 매트릭스 데이터 처리 방법 |
Also Published As
Publication number | Publication date |
---|---|
GB2394571B (en) | 2005-08-10 |
KR20050071614A (ko) | 2005-07-07 |
US20060015705A1 (en) | 2006-01-19 |
WO2004038598A1 (en) | 2004-05-06 |
US7809931B2 (en) | 2010-10-05 |
GB0224627D0 (en) | 2002-12-04 |
GB2394571A (en) | 2004-04-28 |
AU2003273970A1 (en) | 2004-05-13 |
JP2006504165A (ja) | 2006-02-02 |
JP4275071B2 (ja) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100812555B1 (ko) | 단일-명령 다중-데이터 마이크로프로세서들에서의 벡터 순열을 위한 장치, 시스템 및 그 방법 | |
US11669330B2 (en) | Method for performing random read access to a block of data using parallel LUT read instruction in vector processors | |
US11188330B2 (en) | Vector multiply-add instruction | |
US20240078285A1 (en) | Systems and methods of instructions to accelerate multiplication of sparse matrices using bitmasks that identify non-zero elements | |
US20240078283A1 (en) | Apparatuses, methods, and systems for instructions of a matrix operations accelerator | |
US7124160B2 (en) | Processing architecture having parallel arithmetic capability | |
JP2008071130A (ja) | Simd型マイクロプロセッサ | |
WO2015114305A1 (en) | A data processing apparatus and method for executing a vector scan instruction | |
US20080263332A1 (en) | Data Processing Apparatus and Method for Accelerating Execution Subgraphs | |
CN110909883A (zh) | 用于执行指定三元片逻辑操作的指令的系统和方法 | |
US9965275B2 (en) | Element size increasing instruction | |
US7013321B2 (en) | Methods and apparatus for performing parallel integer multiply accumulate operations | |
EP3716054A2 (en) | Interleaved pipeline of floating-point adders | |
EP3623940A2 (en) | Systems and methods for performing horizontal tile operations | |
US20230315450A1 (en) | Apparatuses, methods, and systems for 8-bit floating-point matrix dot product instructions | |
US10001994B2 (en) | Data processing apparatus and method for performing scan operations omitting a further step | |
EP3757822B1 (en) | Apparatuses, methods, and systems for enhanced matrix multiplier architecture | |
CN114721624A (zh) | 用于处理矩阵的处理器、方法和系统 | |
US11886875B2 (en) | Systems and methods for performing nibble-sized operations on matrix elements | |
CN113849768A (zh) | 伴随数据类型转换来加载和存储矩阵数据 | |
US11080054B2 (en) | Data processing apparatus and method for generating a status flag using predicate indicators | |
JPH09223009A (ja) | データ処理装置と方法 | |
CN111984315A (zh) | 矢量浮点缩放 | |
JP3547316B2 (ja) | プロセッサ | |
EP1503280A1 (en) | Saturated arithmetic in a processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130227 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140227 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150227 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151230 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20161229 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20171228 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20181227 Year of fee payment: 12 |