KR100447294B1 - 임의 벡터 어드레싱을 이용한 벡터 레지스터 파일 - Google Patents
임의 벡터 어드레싱을 이용한 벡터 레지스터 파일 Download PDFInfo
- Publication number
- KR100447294B1 KR100447294B1 KR10-2001-0009726A KR20010009726A KR100447294B1 KR 100447294 B1 KR100447294 B1 KR 100447294B1 KR 20010009726 A KR20010009726 A KR 20010009726A KR 100447294 B1 KR100447294 B1 KR 100447294B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- entry
- vector
- pointer array
- data file
- 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.)
- Expired - Fee Related
Links
- 239000013598 vector Substances 0.000 title claims abstract description 217
- 238000000034 method Methods 0.000 claims abstract description 24
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims 2
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/8092—Array of vector units
-
- 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
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
-
- 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/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (23)
- 복수의 데이터 요소들을 각각 포함하는 데이터 벡터들을 이용하는 동작들을 처리하기 위한 시스템에 있어서,상기 데이터 벡터들의 데이터 요소들을 저장하기 위한 복수의 기억 요소들을 포함하는 벡터 데이터 파일과,버스에 의해 상기 벡터 데이터 파일에 결합되고, 복수의 엔트리들을 포함하는 포인터 어레이를 포함하며,각각의 엔트리는 상기 벡터 데이터 파일 내의 적어도 하나의 기억 요소를 식별하고,상기 적어도 하나의 기억 요소는 상기 데이터 벡터들의 적어도 하나의 데이터 요소를 저장하기 위한 것이고,상기 포인터 어레이의 적어도 하나의 특정 엔트리에 대하여, 상기 특정 엔트리에 의해 식별되는 상기 적어도 하나의 기억 요소는 상기 벡터 데이터 파일 내의 임의 시작 어드레스를 갖고,상기 포인터 어레이의 임의의 주어진 엔트리에 대하여, 상기 임의의 주어진 엔트리에 의해 식별되는 상기 적어도 하나의 기억 요소는 상기 벡터 데이터 파일의 임의 시작 어드레스를 포함하는, 동작 처리 시스템.
- 삭제
- 제1항에 있어서, 상기 포인터 어레이는 상기 벡터 데이터 파일 내의 적어도 하나의 데이터 요소로부터 독출된 데이터에 기초하여 갱신되는 적어도 하나의 엔트리를 포함하는, 동작 처리 시스템.
- 제1항에 있어서, 상기 포인터 어레이는 상기 포인터 어레이의 적어도 하나의 엔트리로부터 판독된 데이터를 증분하여 생성된 데이터에 기초하여 갱신되는 적어도 하나의 엔트리를 포함하는, 동작 처리 시스템.
- 제1항에 있어서, 상기 포인터 어레이는 상기 포인터 어레이의 적어도 하나의 엔트리로부터 판독된 데이터에 대한 증분 동작을 수행하여 생성된 데이터에 기초하여 갱신되는 적어도 하나의 엔트리를 포함하는, 동작 처리 시스템.
- 제5항에 있어서, 상기 포인터 어레이는 동일한 논리 동작의 일부로서 갱신되는 적어도 2개의 엔트리들을 포함하는, 동작 처리 시스템.
- 제5항에 있어서, 상기 증분 동작은 모듈로 동작과 스트라이드 동작 중 적어도 하나를 포함하는, 동작 처리 시스템.
- 제1항에 있어서, 상기 포인터 어레이의 각각의 엔트리는 상기 벡터 데이터 파일 내의 적어도 하나의 기억 요소의 시작 어드레스를 포함하는, 동작 처리 시스템.
- 제1항에 있어서, 상기 벡터 데이터 파일의 상기 기억 요소들은 로우들 및 컬럼들의 매트릭스에 논리적으로 편성되고, 상기 포인터 어레이의 각각의 엔트리는 상기 벡터 데이터 파일 내의 적어도 하나의 요소의 로우 및 컬럼을 나타내는 어드레스를 포함하는, 동작 처리 시스템.
- 제1항에 있어서, 상기 벡터 파일 데이터의 상기 기억 요소들은 로우들 및 컬럼들의 매트릭스에 논리적으로 편성되고, 상기 포인터 어레이의 각각의 엔트리는 상기 벡터 데이터 파일 내의 단일 요소의 로우 및 컬럼을 나타내는 어드레스를 포함하는, 동작 처리 시스템.
- 제1항에 있어서, 상기 포인터 어레이의 임의의 주어진 엔트리에 대하여, 상기 임의의 주어진 엔트리에 의해 식별되는 상기 적어도 하나의 기억 요소는 상기 포인트 어레이의 다른 엔트리들에 의해 식별되는 상기 적어도 하나의 기억 요소에 대하여 독립적인, 동작 처리 시스템.
- 복수의 데이터 요소들을 각각 포함하는 데이터 벡터들을 이용하는 동작을 처리하기 위한 방법에 있어서,상기 데이터 벡터들의 데이터 요소들을 저장하기 위한 복수의 기억 요소들을 포함하는 벡터 데이터 파일을 제공하는 단계와,복수의 엔트리를 갖는 포인터 어레이를 제공하는 단계를 포함하고,상기 각 엔트리는 상기 데이터 벡터들의 적어도 하나의 데이터 요소를 저장하기 위한 상기 벡터 데이터 파일의 적어도 하나의 기억 요소를 식별하고,상기 포인터 어레이의 적어도 하나의 특정 엔트리에 대하여, 상기 특정 엔트리에 의해 식별되는 상기 적어도 하나의 기억 요소는 상기 벡터 데이터 파일에 임의 시작 어드레스를 갖고,상기 포인터 어레이의 임의의 주어진 엔트리에 대하여, 상기 임의의 주어진 엔트리에 의해 식별되는 상기 적어도 하나의 기억 요소는 상기 벡터 데이터 파일에 임의 시작 어드레스를 갖는, 동작 처리 방법.
- 삭제
- 제12항에 있어서, 상기 벡터 데이터 파일의 적어도 하나의 데이터 요소로부터 독출된 데이터에 기초하여 상기 포인터 어레이의 복수의 엔트리들 중 적어도 하나를 갱신하는 단계를 더 포함하는, 동작 처리 방법.
- 제12항에 있어서, 상기 포인터 어레이의 적어도 하나의 엔트리로부터 판독된 데이터를 증분하여 생성된 데이터로부터 독출된 데이터에 기초하여 상기 포인터 어레이의 엔트리들 중 적어도 하나를 갱신하는 단계를 더 포함하는, 동작 처리 방법.
- 제12항에 있어서, 상기 포인터 어레이의 적어도 하나의 엔트리로부터 판독된 데이터에 대한 증분 동작을 수행하여 생성된 데이터에 기초하여 상기 포인터 어레이의 엔트리들 중 적어도 하나를 갱신하는 단계를 더 포함하는, 동작 처리 방법.
- 제16항에 있어서, 상기 포인터 어레이의 적어도 2개의 엔트리들은 동일한 논리 동작의 일부로서 갱신되는 것인 동작 처리 방법.
- 제16항에 있어서, 상기 증분 동작은 상기 포인터 어레이의 적어도 하나의 엔트리로부터 판독된 데이터에 대한 모듈로 동작과 스트라이드 동작 중 적어도 하나를 더 포함하는, 동작 처리 방법.
- 제12항에 있어서, 상기 포인터 어레이의 각각의 엔트리는 상기 벡터 데이터 파일 내의 적어도 하나의 기억 요소의 시작 어드레스를 기억하는, 동작 처리 방법.
- 제12항에 있어서, 상기 벡터 데이터 파일의 상기 기억 요소들은 로우들 및 컬럼들의 매트릭스에 논리적으로 편성되고, 상기 포인터 어레이의 각각의 엔트리는 상기 벡터 데이터 파일의 적어도 하나의 요소의 로우 및 컬럼을 나타내는 어드레스를 기억하는, 동작 처리 방법.
- 제12항에 있어서, 상기 벡터 파일 데이터의 상기 기억 요소들은 로우들 및 컬럼들의 매트릭스에 논리적으로 편성되고, 상기 포인터 어레이의 각각의 엔트리는 상기 벡터 데이터 파일의 단일 요소의 로우 및 컬럼을 나타내는 어드레스를 기억하는 것인 동작 처리 방법.
- 제12항에 있어서, 상기 포인터 어레이의 임의의 주어진 엔트리에 대하여, 상기 임의의 주어진 엔트리에 의해 식별되는 상기 적어도 하나의 기억 요소는 상기 포인트 어레이의 다른 엔트리들에 의해 식별되는 상기 적어도 하나의 기억 요소에 대하여 독립적인, 동작 처리 방법.
- 복수의 데이터 요소들을 각각 포함하는 데이터 벡터들을 이용하는 동작들을 처리하기 위한 방법을 수행하기 위해서 장치에 의해 실행될 수 있는 명령들의 프로그램을 구체적으로 구현하는 장치로 판독 가능한 프로그램 기억 장치에 있어서, 상기 방법은,상기 데이터 벡터들의 데이터 요소들을 저장하기 위한 복수의 기억 요소를 포함하는 벡터 데이터 파일을 제공하는 단계와,복수의 엔트리를 갖는 포인터 어레이를 제공하는 단계를 포함하고,각각의 엔트리는 상기 데이터 벡터들의 적어도 하나의 데이터 요소를 저장하기 위한 상기 벡터 데이터 파일의 적어도 하나의 기억 요소를 식별하고,상기 포인터 어레이의 적어도 하나의 특정 엔트리에 대하여, 상기 특정 엔트리에 의해 식별되는 상기 적어도 하나의 기억 요소는 상기 벡터 데이터 파일의 임의 시작 어드레스를 갖고,상기 포인터 어레이의 임의의 주어진 엔트리에 대하여, 상기 임의의 주어진 엔트리에 의해 식별되는 상기 적어도 하나의 기억 요소는 상기 벡터 데이터 파일에 임의 시작 어드레스를 갖는, 프로그램 기억 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/514,497 | 2000-02-29 | ||
US09/514,497 US6665790B1 (en) | 2000-02-29 | 2000-02-29 | Vector register file with arbitrary vector addressing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010085614A KR20010085614A (ko) | 2001-09-07 |
KR100447294B1 true KR100447294B1 (ko) | 2004-09-07 |
Family
ID=24047424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0009726A Expired - Fee Related KR100447294B1 (ko) | 2000-02-29 | 2001-02-26 | 임의 벡터 어드레싱을 이용한 벡터 레지스터 파일 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6665790B1 (ko) |
JP (1) | JP3940269B2 (ko) |
KR (1) | KR100447294B1 (ko) |
CA (1) | CA2337784A1 (ko) |
GB (1) | GB2365588B (ko) |
TW (1) | TW484074B (ko) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6433835B1 (en) | 1998-04-17 | 2002-08-13 | Encamera Sciences Corporation | Expanded information capacity for existing communication transmission systems |
US6665790B1 (en) * | 2000-02-29 | 2003-12-16 | International Business Machines Corporation | Vector register file with arbitrary vector addressing |
US7010004B2 (en) * | 2001-08-03 | 2006-03-07 | Optibase Ltd. | Method for multiplexing data for packet networks |
US6931400B1 (en) * | 2001-08-21 | 2005-08-16 | At&T Corp. | Method and system for identifying representative trends using sketches |
GB2382674B (en) * | 2001-10-31 | 2005-11-16 | Alphamosaic Ltd | Data access in a processor |
US20100274988A1 (en) * | 2002-02-04 | 2010-10-28 | Mimar Tibet | Flexible vector modes of operation for SIMD processor |
US20030221086A1 (en) * | 2002-02-13 | 2003-11-27 | Simovich Slobodan A. | Configurable stream processor apparatus and methods |
DE10206830B4 (de) * | 2002-02-18 | 2004-10-14 | Systemonic Ag | Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden |
US6915411B2 (en) * | 2002-07-18 | 2005-07-05 | International Business Machines Corporation | SIMD processor with concurrent operation of vector pointer datapath and vector computation datapath |
US7793084B1 (en) | 2002-07-22 | 2010-09-07 | Mimar Tibet | Efficient handling of vector high-level language conditional constructs in a SIMD processor |
US7580482B2 (en) | 2003-02-19 | 2009-08-25 | Endres Thomas J | Joint, adaptive control of equalization, synchronization, and gain in a digital communications receiver |
US7017028B2 (en) * | 2003-03-14 | 2006-03-21 | International Business Machines Corporation | Apparatus and method for updating pointers for indirect and parallel register access |
JP2004302647A (ja) * | 2003-03-28 | 2004-10-28 | Seiko Epson Corp | ベクトルプロセッサおよびレジスタのアドレス指定方法 |
US20040236920A1 (en) * | 2003-05-20 | 2004-11-25 | Sheaffer Gad S. | Methods and apparatus for gathering and scattering data associated with a single-instruction-multiple-data (SIMD) operation |
US7313788B2 (en) * | 2003-10-29 | 2007-12-25 | International Business Machines Corporation | Vectorization in a SIMdD DSP architecture |
US7945760B1 (en) * | 2004-04-01 | 2011-05-17 | Altera Corporation | Methods and apparatus for address translation functions |
US7302627B1 (en) * | 2004-04-05 | 2007-11-27 | Mimar Tibet | Apparatus for efficient LFSR calculation in a SIMD processor |
US7873812B1 (en) | 2004-04-05 | 2011-01-18 | Tibet MIMAR | Method and system for efficient matrix multiplication in a SIMD processor architecture |
US7850400B2 (en) * | 2004-11-25 | 2010-12-14 | Freyssinet International (Stup) | Stabilized soil structure and facing elements for its construction |
US20060149938A1 (en) * | 2004-12-29 | 2006-07-06 | Hong Jiang | Determining a register file region based at least in part on a value in an index register |
TWI277876B (en) * | 2005-10-28 | 2007-04-01 | Via Tech Inc | Data storage and transfer method |
TW200739363A (en) * | 2006-04-04 | 2007-10-16 | Nat Univ Chung Cheng | Flexible load and storage device for multimedia applications |
DE602007011755D1 (de) * | 2006-05-16 | 2011-02-17 | Nxp Bv | Speicherarchitektur |
US7788471B2 (en) * | 2006-09-18 | 2010-08-31 | Freescale Semiconductor, Inc. | Data processor and methods thereof |
US7441099B2 (en) * | 2006-10-03 | 2008-10-21 | Hong Kong Applied Science and Technology Research Institute Company Limited | Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit |
FR2918190B1 (fr) * | 2007-06-26 | 2009-09-18 | Thales Sa | Dispositif d'adressage pour processeur parallele. |
US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US8561037B2 (en) | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US10020037B2 (en) * | 2007-12-10 | 2018-07-10 | Intel Corporation | Capacity register file |
US8051226B2 (en) | 2008-06-13 | 2011-11-01 | Freescale Semiconductor, Inc. | Circular buffer support in a single instruction multiple data (SIMD) data processor |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
US8205066B2 (en) * | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US8635431B2 (en) | 2010-12-08 | 2014-01-21 | International Business Machines Corporation | Vector gather buffer for multiple address vector loads |
KR20120134549A (ko) | 2011-06-02 | 2012-12-12 | 삼성전자주식회사 | Simd 프로세서를 이용한 병렬 연산 처리 장치 및 방법 |
SE537423C2 (sv) | 2011-12-20 | 2015-04-21 | Mediatek Sweden Ab | Digital signalprocessor och förfarande för adressering av ett minne i en digital signalprocessor |
WO2013095616A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Apparatus and method for selecting elements of a vector computation |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US9575755B2 (en) | 2012-08-03 | 2017-02-21 | International Business Machines Corporation | Vector processing in an active memory device |
US9632777B2 (en) | 2012-08-03 | 2017-04-25 | International Business Machines Corporation | Gather/scatter of multiple data elements with packed loading/storing into/from a register file entry |
US9569211B2 (en) | 2012-08-03 | 2017-02-14 | International Business Machines Corporation | Predication in a vector processor |
US9003160B2 (en) | 2012-08-03 | 2015-04-07 | International Business Machines Corporation | Active buffered memory |
US9594724B2 (en) | 2012-08-09 | 2017-03-14 | International Business Machines Corporation | Vector register file |
US9268571B2 (en) * | 2012-10-18 | 2016-02-23 | Qualcomm Incorporated | Selective coupling of an address line to an element bank of a vector register file |
US8972782B2 (en) | 2012-11-09 | 2015-03-03 | International Business Machines Corporation | Exposed-pipeline processing element with rollback |
US9639503B2 (en) * | 2013-03-15 | 2017-05-02 | Qualcomm Incorporated | Vector indirect element vertical addressing mode with horizontal permute |
US9785437B2 (en) | 2014-12-23 | 2017-10-10 | Intel Corporation | Method and apparatus for performing a vector bit reversal and crossing |
US10013253B2 (en) * | 2014-12-23 | 2018-07-03 | Intel Corporation | Method and apparatus for performing a vector bit reversal |
GB2540940B (en) * | 2015-07-31 | 2018-01-03 | Advanced Risc Mach Ltd | An apparatus and method for transferring a plurality of data structures between memory and one or more vectors of data elements stored in a register bank |
CN111580864B (zh) * | 2016-01-20 | 2024-05-07 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
US10762164B2 (en) | 2016-01-20 | 2020-09-01 | Cambricon Technologies Corporation Limited | Vector and matrix computing device |
CN111651205B (zh) * | 2016-04-26 | 2023-11-17 | 中科寒武纪科技股份有限公司 | 一种用于执行向量内积运算的装置和方法 |
JP2017228213A (ja) * | 2016-06-24 | 2017-12-28 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US10776118B2 (en) * | 2016-09-09 | 2020-09-15 | International Business Machines Corporation | Index based memory access using single instruction multiple data unit |
KR102659495B1 (ko) | 2016-12-02 | 2024-04-22 | 삼성전자주식회사 | 벡터 프로세서 및 그 제어 방법 |
JP6500266B2 (ja) * | 2016-12-13 | 2019-04-17 | 株式会社アクセル | ディジタル信号処理装置 |
US11042375B2 (en) * | 2017-08-01 | 2021-06-22 | Arm Limited | Counting elements in data items in a data processing apparatus |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US12112167B2 (en) * | 2020-06-27 | 2024-10-08 | Intel Corporation | Matrix data scatter and gather between rows and irregularly spaced memory locations |
US11782871B2 (en) | 2021-04-27 | 2023-10-10 | Microchip Technology Inc. | Method and apparatus for desynchronizing execution in a vector processor |
US12175116B2 (en) | 2021-04-27 | 2024-12-24 | Microchip Technology Inc. | Method and apparatus for gather/scatter operations in a vector processor |
DE112022000529T5 (de) * | 2021-04-27 | 2023-11-16 | Microchip Technology Inc. | Verfahren und vorrichtung für gather/scatter-vorgänge in einem vektorprozessor |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0444165A (ja) * | 1990-06-12 | 1992-02-13 | Nec Corp | 対称連立一次方程式の求解方式 |
US5247695A (en) * | 1989-07-10 | 1993-09-21 | Hitachi, Ltd. | Vector processor with byte access of memory |
US5669013A (en) * | 1993-10-05 | 1997-09-16 | Fujitsu Limited | System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions |
US5742786A (en) * | 1993-03-31 | 1998-04-21 | Motorola, Inc. | Method and apparatus for storing vector data in multiple non-consecutive locations in a data processor using a mask value |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6123275A (ja) | 1984-07-11 | 1986-01-31 | Nec Corp | ベクトル処理装置 |
JPS62120574A (ja) | 1985-11-20 | 1987-06-01 | Fujitsu Ltd | ベクトル処理装置 |
US4888679A (en) * | 1988-01-11 | 1989-12-19 | Digital Equipment Corporation | Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements |
US5392443A (en) * | 1991-03-19 | 1995-02-21 | Hitachi, Ltd. | Vector processor with a memory assigned with skewed addresses adapted for concurrent fetching of a number of vector elements belonging to the same vector data |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5528550A (en) * | 1993-05-28 | 1996-06-18 | Texas Instruments Incorporated | Apparatus, systems and methods for implementing memory embedded search arithmetic logic unit |
US5689653A (en) * | 1995-02-06 | 1997-11-18 | Hewlett-Packard Company | Vector memory operations |
US6016395A (en) * | 1996-10-18 | 2000-01-18 | Samsung Electronics Co., Ltd. | Programming a vector processor and parallel programming of an asymmetric dual multiprocessor comprised of a vector processor and a risc processor |
US5933650A (en) * | 1997-10-09 | 1999-08-03 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US6288723B1 (en) * | 1998-04-01 | 2001-09-11 | Intel Corporation | Method and apparatus for converting data format to a graphics card |
US6266759B1 (en) * | 1998-12-14 | 2001-07-24 | Cray, Inc. | Register scoreboarding to support overlapped execution of vector memory reference instructions in a vector processor |
US6308252B1 (en) * | 1999-02-04 | 2001-10-23 | Kabushiki Kaisha Toshiba | Processor method and apparatus for performing single operand operation and multiple parallel operand operation |
US6665790B1 (en) * | 2000-02-29 | 2003-12-16 | International Business Machines Corporation | Vector register file with arbitrary vector addressing |
-
2000
- 2000-02-29 US US09/514,497 patent/US6665790B1/en not_active Expired - Fee Related
- 2000-12-29 TW TW089128215A patent/TW484074B/zh not_active IP Right Cessation
-
2001
- 2001-02-14 GB GB0103558A patent/GB2365588B/en not_active Expired - Lifetime
- 2001-02-15 CA CA002337784A patent/CA2337784A1/en not_active Abandoned
- 2001-02-26 KR KR10-2001-0009726A patent/KR100447294B1/ko not_active Expired - Fee Related
- 2001-02-27 JP JP2001051897A patent/JP3940269B2/ja not_active Expired - Fee Related
-
2003
- 2003-11-15 US US10/713,502 patent/US7467288B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247695A (en) * | 1989-07-10 | 1993-09-21 | Hitachi, Ltd. | Vector processor with byte access of memory |
JPH0444165A (ja) * | 1990-06-12 | 1992-02-13 | Nec Corp | 対称連立一次方程式の求解方式 |
US5742786A (en) * | 1993-03-31 | 1998-04-21 | Motorola, Inc. | Method and apparatus for storing vector data in multiple non-consecutive locations in a data processor using a mask value |
US5669013A (en) * | 1993-10-05 | 1997-09-16 | Fujitsu Limited | System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions |
Also Published As
Publication number | Publication date |
---|---|
JP2001273277A (ja) | 2001-10-05 |
US6665790B1 (en) | 2003-12-16 |
GB2365588B (en) | 2004-08-25 |
TW484074B (en) | 2002-04-21 |
GB2365588A (en) | 2002-02-20 |
JP3940269B2 (ja) | 2007-07-04 |
GB0103558D0 (en) | 2001-03-28 |
US20040103262A1 (en) | 2004-05-27 |
KR20010085614A (ko) | 2001-09-07 |
US7467288B2 (en) | 2008-12-16 |
CA2337784A1 (en) | 2001-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100447294B1 (ko) | 임의 벡터 어드레싱을 이용한 벡터 레지스터 파일 | |
US10719318B2 (en) | Processor | |
US6052766A (en) | Pointer register indirectly addressing a second register in the processor core of a digital processor | |
US5487159A (en) | System for processing shift, mask, and merge operations in one instruction | |
US7308559B2 (en) | Digital signal processor with cascaded SIMD organization | |
US5881257A (en) | Data processing system register control | |
US5299321A (en) | Parallel processing device to operate with parallel execute instructions | |
US5748515A (en) | Data processing condition code flags | |
US6779102B2 (en) | Data processor capable of executing an instruction that makes a cache memory ineffective | |
US7017028B2 (en) | Apparatus and method for updating pointers for indirect and parallel register access | |
US5881263A (en) | Non-instruction base register addressing in a data processing apparatus | |
JPH11154114A (ja) | 複数データ・フェッチのアーキテクチャを使ってテーブル・ルックアップを実行するためのシステムおよび方法 | |
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
US4484272A (en) | Digital computer for executing multiple instruction sets in a simultaneous-interleaved fashion | |
JPH0260026B2 (ko) | ||
US7441099B2 (en) | Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit | |
JP4955149B2 (ja) | ビットfifoを有するディジタル信号プロセッサ | |
EP0927390B1 (en) | Processing of conditional select and move instructions | |
WO2000068783A2 (en) | Digital signal processor computation core | |
US20120260062A1 (en) | System and method for providing dynamic addressability of data elements in a register file with subword parallelism | |
US6820189B1 (en) | Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation | |
US11630668B1 (en) | Processor with smart cache in place of register file for providing operands | |
JP2010044515A (ja) | 信号処理プロセッサ及び半導体装置 | |
US6282632B1 (en) | Information processor having duplicate operation flags | |
US6115805A (en) | Non-aligned double word fetch buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20010226 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20030930 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20040729 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20040826 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20040827 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |