KR20170110691A - 그래픽 프로세싱 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 - Google Patents
그래픽 프로세싱 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 Download PDFInfo
- Publication number
- KR20170110691A KR20170110691A KR1020177024761A KR20177024761A KR20170110691A KR 20170110691 A KR20170110691 A KR 20170110691A KR 1020177024761 A KR1020177024761 A KR 1020177024761A KR 20177024761 A KR20177024761 A KR 20177024761A KR 20170110691 A KR20170110691 A KR 20170110691A
- Authority
- KR
- South Korea
- Prior art keywords
- vector
- register
- elements
- sequence
- instructions
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30105—Register structure
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G06F9/3855—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
Description
[0030] 도 1은 본 개시내용의 예에 따른 프로세서이다.
[0031] 도 2는 본 개시내용의 예에 따른 벡터 유닛이다.
[0032] 도 3은 본 개시내용의 예에 따른 실행 파이프라인이다.
[0033] 도 4는 본 개시내용의 예에 따른 다른 실행 파이프라인이다.
[0034] 도 5는 본 개시내용의 예에 따른 벡터 실행 파이프라인이다.
[0035] 도 6은 본 개시내용의 예에 따른 넌-오버랩핑 서브-벡터 이슈이다.
[0036] 도 7은 본 개시내용의 예에 따른 오버랩핑 서브-벡터 이슈이다.
[0037] 도 8은 본 개시내용의 예에 따른 명령 이슈 구조이다.
[0038] 도 9는 본 개시내용의 예에 따른, 명령 시퀀스를 실행하는 동안의 이름변경을 도시한다.
[0039] 도 10은 본 개시내용의 예에 따른 레지스터 파일 편성을 도시한다.
[0040] 도 11은 본 개시내용의 예에 따른 메모리 뱅크이다.
[0041] 도 12는 본 개시내용의 예에 따른 벡터 레지스터 파일이다.
Claims (26)
- 컴퓨터 프로세서로서,
벡터 유닛을 포함하고,
상기 벡터 유닛은,
가변수의 엘리먼트들을 홀딩(holding)하기 위하여 적어도 하나의 레지스터를 포함하는 벡터 레지스터 파일; 및
하나 또는 그 초과의 그래픽 프로세싱 명령들을 사용하여 상기 벡터 레지스터 파일 내의 상기 가변수의 엘리먼트들에 대하여 연산하도록 구성된 프로세싱 로직을 포함하는,
컴퓨터 프로세서.
- 제 1 항에 있어서,
상기 컴퓨터 프로세서는 모놀리식 집적 회로로서 구현되는,
컴퓨터 프로세서.
- 제 1 항 또는 제 2 항에 있어서,
적어도 하나의 레지스터를 포함하는 벡터 길이 레지스터 파일을 더 포함하고,
상기 벡터 길이 레지스터 파일의 적어도 하나의 레지스터는 상기 프로세싱 로직이 연산하는 엘리먼트들의 수를 특정하기 위하여 사용되는,
컴퓨터 프로세서.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 및 매트릭스 산술인,
컴퓨터 프로세서.
- 제 4 항에 있어서,
상기 매트릭스 산술은 매트릭스 벡터 곱셈을 포함하는,
컴퓨터 프로세서.
- 제 5 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 제 1 벡터 레지스터 및 제 2 벡터 레지스터를 판독하고, 상기 제 1 벡터 레지스터의 엘리먼트들은 매트릭스를 포함하고, 상기 제 2 벡터 레지스터의 엘리먼트들은 벡터들의 시퀀스를 포함하고, 상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 레지스터에 저장된 벡터들의 출력 시퀀스를 생성하기 위해 상기 벡터들의 시퀀스 각각과 상기 매트릭스를 곱하는,
컴퓨터 프로세서.
- 제 4 항 또는 제 6 항에 있어서,
상기 매트릭스 산술은 매트릭스 곱셈을 포함하는,
컴퓨터 프로세서.
- 제 7 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 제 1 벡터 레지스터 및 제 2 벡터 레지스터를 판독하고, 상기 제 1 벡터 레지스터의 엘리먼트들은 매트릭스들의 제 1 시퀀스를 포함하고, 상기 제 2 벡터 레지스터의 엘리먼트들은 상기 매트릭스들의 제 1 시퀀스와 동일한 길이의 매트릭스들의 제 2 시퀀스들을 포함하고, 상기 매트릭스들의 제 1 시퀀스의 매트릭스들 각각은 상기 벡터 레지스터 파일에 저장된 매트릭스들의 시퀀스를 생성하기 위해 상기 매트릭스들의 제 2 시퀀스의 대응하는 매트릭스와 곱해지는,
컴퓨터 프로세서.
- 제 1 항 또는 제 8 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 정규화인,
컴퓨터 프로세서.
- 제 9 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 레지스터를 판독하고, 상기 벡터 레지스터의 엘리먼트들은 벡터들의 시퀀스를 포함하고, 상기 벡터들의 시퀀스의 각각의 벡터에 대한 정규화된 벡터가 컴퓨팅되고, 정규화된 벡터들의 결과적인 시퀀스가 상기 벡터 레지스터에 기록되는,
컴퓨터 프로세서.
- 제 9 항 또는 제 10 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 레지스터를 판독하고, 상기 벡터 레지스터의 엘리먼트들은 벡터들의 시퀀스를 포함하고, 상기 벡터들의 시퀀스의 각각의 벡터에 대해 정규화된 벡터에 대한 근사가 컴퓨팅되고, 거의 정규화된 벡터들의 결과적인 시퀀스가 벡터 레지스터에 기록되는,
컴퓨터 프로세서.
- 제 1 항 또는 제 11 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 정방 매트릭스의 매트릭스 전치를 구현하기 위해 가변수의 엘리먼트들의 데이터를 재배열하는,
컴퓨터 프로세서.
- 제 12 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 레지스터를 판독하고, 상기 벡터 레지스터의 엘리먼트들은 매트릭스들의 시퀀스를 포함하고, 상기 매트릭스들의 시퀀스의 각각의 매트릭스는 전치되고, 전치된 매트릭스들의 결과적인 시퀀스가 벡터 레지스터에 기록되는,
컴퓨터 프로세서.
- 방법으로서,
컴퓨터 프로세서의 하나 또는 그 초과의 레지스터들을 포함하는 벡터 레지스터 파일에 의해, 가변수의 엘리먼트들을 홀딩하는 단계; 및
상기 컴퓨터 프로세서의 프로세싱 로직에 의해, 하나 또는 그 초과의 그래픽 프로세싱 명령들을 사용하여 상기 벡터 레지스터 파일 내의 상기 가변수의 엘리먼트들에 대하여 연산하는 단계를 포함하는,
방법.
- 제 14 항에 있어서,
모놀리식 집적 회로로서 상기 컴퓨터 프로세서를 구현하는 단계를 더 포함하는,
방법.
- 제 14 항 또는 제 15 항에 있어서,
적어도 하나의 레지스터를 포함하는 벡터 길이 레지스터 파일을 더 포함하고, 상기 벡터 길이 레지스터 파일의 적어도 하나의 레지스터는 상기 프로세싱 로직이 연산하는 엘리먼트들의 수를 특정하기 위하여 사용되는,
방법.
- 제 14 항 내지 제 16 항 중 어느 한 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 및 매트릭스 산술인,
방법.
- 제 17 항에 있어서,
상기 매트릭스 산술은 매트릭스 벡터 곱셈을 포함하는,
방법.
- 제 18 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 제 1 벡터 레지스터 및 제 2 벡터 레지스터를 판독하고, 상기 제 1 벡터 레지스터의 엘리먼트들은 매트릭스를 포함하고, 상기 제 2 벡터 레지스터의 엘리먼트들은 벡터들의 시퀀스를 포함하고, 상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 레지스터에 저장된 벡터들의 출력 시퀀스를 생성하기 위해 상기 벡터들의 시퀀스 각각과 상기 매트릭스를 곱하는,
방법.
- 제 17 항 또는 제 19 항에 있어서,
상기 매트릭스 산술은 매트릭스 곱셈을 포함하는,
방법.
- 제 17 항, 제 19 항 또는 제 20 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 제 1 벡터 레지스터 및 제 2 벡터 레지스터를 판독하고, 상기 제 1 벡터 레지스터의 엘리먼트들은 매트릭스들의 제 1 시퀀스를 포함하고, 상기 제 2 벡터 레지스터의 엘리먼트들은 상기 매트릭스들의 제 1 시퀀스와 동일한 길이의 매트릭스들의 제 2 시퀀스들을 포함하고, 상기 매트릭스들의 제 1 시퀀스의 매트릭스들 각각은 상기 벡터 레지스터 파일에 저장된 매트릭스들의 시퀀스를 생성하기 위해 상기 매트릭스들의 제 2 시퀀스의 대응하는 매트릭스와 곱해지는,
방법.
- 제 14 항 또는 제 21 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 정규화인,
방법.
- 제 22 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 레지스터를 판독하고, 상기 벡터 레지스터의 엘리먼트들은 벡터들의 시퀀스를 포함하고, 상기 벡터들의 시퀀스의 각각의 벡터에 대한 정규화된 벡터가 컴퓨팅되고, 정규화된 벡터들의 결과적인 시퀀스가 상기 벡터 레지스터에 기록되는,
방법.
- 제 22 항 또는 제 23 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 레지스터를 판독하고, 상기 벡터 레지스터의 엘리먼트들은 벡터들의 시퀀스를 포함하고, 상기 벡터들의 시퀀스의 각각의 벡터에 대해 정규화된 벡터에 대한 근사가 컴퓨팅되고, 거의 정규화된 벡터들의 결과적인 시퀀스가 벡터 레지스터에 기록되는,
방법.
- 제 14 항 또는 제 24 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 정방 매트릭스의 매트릭스 전치를 구현하기 위해 가변수의 엘리먼트들의 데이터를 재배열하는,
방법.
- 제 25 항에 있어서,
상기 하나 또는 그 초과의 그래픽 프로세싱 명령들은 벡터 레지스터를 판독하고, 상기 벡터 레지스터의 엘리먼트들은 매트릭스들의 시퀀스를 포함하고, 상기 매트릭스들의 시퀀스의 각각의 매트릭스는 전치되고, 전치된 매트릭스들의 결과적인 시퀀스가 벡터 레지스터에 기록되는,
방법.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562110840P | 2015-02-02 | 2015-02-02 | |
| US62/110,840 | 2015-02-02 | ||
| US14/718,432 US10922267B2 (en) | 2015-02-02 | 2015-05-21 | Vector processor to operate on variable length vectors using graphics processing instructions |
| US14/718,432 | 2015-05-21 | ||
| PCT/US2016/015637 WO2016126543A1 (en) | 2015-02-02 | 2016-01-29 | Vector processor configured to operate on variable length vectors using graphics processing instructions |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20170110691A true KR20170110691A (ko) | 2017-10-11 |
| KR102276335B1 KR102276335B1 (ko) | 2021-07-12 |
Family
ID=56553121
Family Applications (10)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020177024754A Expired - Fee Related KR102258024B1 (ko) | 2015-02-02 | 2016-01-21 | 엘리먼트 폭들을 변경시키는 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024756A Expired - Fee Related KR102255318B1 (ko) | 2015-02-02 | 2016-01-25 | 벡터들을 결합 및 분할하기 위한 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024757A Ceased KR20170110687A (ko) | 2015-02-02 | 2016-01-27 | 가변 길이 벡터들에 대해 연산하도록 구성된 모놀로식 벡터 프로세서 |
| KR1020177024751A Expired - Fee Related KR102255298B1 (ko) | 2015-02-02 | 2016-01-27 | 암묵적으로 분류된 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024762A Ceased KR20170117452A (ko) | 2015-02-02 | 2016-01-27 | 레지스터 이름변경을 이용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024758A Expired - Fee Related KR102255324B1 (ko) | 2015-02-02 | 2016-01-28 | 비순차적 실행을 통해 가변 길이 벡터들에 대해 동작하도록 구성된 벡터 프로세서 |
| KR1020177024755A Expired - Fee Related KR102255313B1 (ko) | 2015-02-02 | 2016-01-28 | 비대칭 멀티-스레딩을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024759A Active KR102270020B1 (ko) | 2015-02-02 | 2016-01-28 | 디지털 신호 프로세싱 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024761A Expired - Fee Related KR102276335B1 (ko) | 2015-02-02 | 2016-01-29 | 그래픽 프로세싱 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024760A Active KR102311010B1 (ko) | 2015-02-02 | 2016-01-29 | 하나 또는 그 초과의 복소수 산술 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
Family Applications Before (8)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020177024754A Expired - Fee Related KR102258024B1 (ko) | 2015-02-02 | 2016-01-21 | 엘리먼트 폭들을 변경시키는 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024756A Expired - Fee Related KR102255318B1 (ko) | 2015-02-02 | 2016-01-25 | 벡터들을 결합 및 분할하기 위한 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024757A Ceased KR20170110687A (ko) | 2015-02-02 | 2016-01-27 | 가변 길이 벡터들에 대해 연산하도록 구성된 모놀로식 벡터 프로세서 |
| KR1020177024751A Expired - Fee Related KR102255298B1 (ko) | 2015-02-02 | 2016-01-27 | 암묵적으로 분류된 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024762A Ceased KR20170117452A (ko) | 2015-02-02 | 2016-01-27 | 레지스터 이름변경을 이용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024758A Expired - Fee Related KR102255324B1 (ko) | 2015-02-02 | 2016-01-28 | 비순차적 실행을 통해 가변 길이 벡터들에 대해 동작하도록 구성된 벡터 프로세서 |
| KR1020177024755A Expired - Fee Related KR102255313B1 (ko) | 2015-02-02 | 2016-01-28 | 비대칭 멀티-스레딩을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
| KR1020177024759A Active KR102270020B1 (ko) | 2015-02-02 | 2016-01-28 | 디지털 신호 프로세싱 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020177024760A Active KR102311010B1 (ko) | 2015-02-02 | 2016-01-29 | 하나 또는 그 초과의 복소수 산술 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
Country Status (5)
| Country | Link |
|---|---|
| US (10) | US11544214B2 (ko) |
| EP (10) | EP3254185A4 (ko) |
| KR (10) | KR102258024B1 (ko) |
| CN (10) | CN107430507B (ko) |
| WO (10) | WO2016126433A1 (ko) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11593069B2 (en) | 2019-11-15 | 2023-02-28 | Intel Corporation | Use of a single instruction set architecture (ISA) instruction for vector normalization |
| WO2023075146A1 (ko) * | 2021-10-28 | 2023-05-04 | 주식회사 사피온코리아 | 컴퓨팅 시스템 및 이를 위한 전치 방법 |
Families Citing this family (100)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11461096B2 (en) | 2019-05-24 | 2022-10-04 | Texas Instruments Incorporated | Method and apparatus for vector sorting using vector permutation logic |
| US9606803B2 (en) | 2013-07-15 | 2017-03-28 | Texas Instruments Incorporated | Highly integrated scalable, flexible DSP megamodule architecture |
| GB2540944B (en) * | 2015-07-31 | 2018-02-21 | Advanced Risc Mach Ltd | Vector operand bitsize control |
| US10423411B2 (en) * | 2015-09-26 | 2019-09-24 | Intel Corporation | Data element comparison processors, methods, systems, and instructions |
| CN107315563B (zh) * | 2016-04-26 | 2020-08-07 | 中科寒武纪科技股份有限公司 | 一种用于执行向量比较运算的装置和方法 |
| CN107315717B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行向量四则运算的装置和方法 |
| US10891131B2 (en) * | 2016-09-22 | 2021-01-12 | Intel Corporation | Processors, methods, systems, and instructions to consolidate data elements and generate index updates |
| EP3336691B1 (en) | 2016-12-13 | 2022-04-06 | ARM Limited | Replicate elements instruction |
| EP3336692B1 (en) * | 2016-12-13 | 2020-04-29 | Arm Ltd | Replicate partition instruction |
| US11132599B2 (en) | 2017-02-28 | 2021-09-28 | Microsoft Technology Licensing, Llc | Multi-function unit for programmable hardware nodes for neural network processing |
| US10489877B2 (en) | 2017-04-24 | 2019-11-26 | Intel Corporation | Compute optimization mechanism |
| US10698685B2 (en) * | 2017-05-03 | 2020-06-30 | Intel Corporation | Instructions for dual destination type conversion, mixed precision accumulation, and mixed precision atomic memory operations |
| US10430197B2 (en) | 2017-05-12 | 2019-10-01 | Samsung Electronics Co., Ltd. | Banking register renaming to reduce power |
| US11579881B2 (en) * | 2017-06-29 | 2023-02-14 | Intel Corporation | Instructions for vector operations with constant values |
| US10572255B2 (en) | 2017-06-29 | 2020-02-25 | Texas Instruments Incorporated | Stream engine with element promotion and decimation modes |
| CN107729989B (zh) * | 2017-07-20 | 2020-12-29 | 安徽寒武纪信息科技有限公司 | 一种用于执行人工神经网络正向运算的装置及方法 |
| US20190073337A1 (en) * | 2017-09-05 | 2019-03-07 | Mediatek Singapore Pte. Ltd. | Apparatuses capable of providing composite instructions in the instruction set architecture of a processor |
| US11256504B2 (en) | 2017-09-29 | 2022-02-22 | Intel Corporation | Apparatus and method for complex by complex conjugate multiplication |
| US10534838B2 (en) | 2017-09-29 | 2020-01-14 | Intel Corporation | Bit matrix multiplication |
| US10795677B2 (en) | 2017-09-29 | 2020-10-06 | Intel Corporation | Systems, apparatuses, and methods for multiplication, negation, and accumulation of vector packed signed values |
| US10514924B2 (en) | 2017-09-29 | 2019-12-24 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
| US10802826B2 (en) | 2017-09-29 | 2020-10-13 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
| US11243765B2 (en) * | 2017-09-29 | 2022-02-08 | Intel Corporation | Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements |
| US10552154B2 (en) | 2017-09-29 | 2020-02-04 | Intel Corporation | Apparatus and method for multiplication and accumulation of complex and real packed data elements |
| US11074073B2 (en) | 2017-09-29 | 2021-07-27 | Intel Corporation | Apparatus and method for multiply, add/subtract, and accumulate of packed data elements |
| US10795676B2 (en) | 2017-09-29 | 2020-10-06 | Intel Corporation | Apparatus and method for multiplication and accumulation of complex and real packed data elements |
| US10664277B2 (en) | 2017-09-29 | 2020-05-26 | Intel Corporation | Systems, apparatuses and methods for dual complex by complex conjugate multiply of signed words |
| US10761751B2 (en) | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Configuration state registers grouped based on functional affinity |
| US10761983B2 (en) | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Memory based configuration state registers |
| US10698686B2 (en) | 2017-11-14 | 2020-06-30 | International Business Machines Corporation | Configurable architectural placement control |
| US10592164B2 (en) | 2017-11-14 | 2020-03-17 | International Business Machines Corporation | Portions of configuration state registers in-memory |
| US10664181B2 (en) | 2017-11-14 | 2020-05-26 | International Business Machines Corporation | Protecting in-memory configuration state registers |
| US10496437B2 (en) | 2017-11-14 | 2019-12-03 | International Business Machines Corporation | Context switch by changing memory pointers |
| US10635602B2 (en) | 2017-11-14 | 2020-04-28 | International Business Machines Corporation | Address translation prior to receiving a storage reference using the address to be translated |
| US10642757B2 (en) | 2017-11-14 | 2020-05-05 | International Business Machines Corporation | Single call to perform pin and unpin operations |
| US10901738B2 (en) | 2017-11-14 | 2021-01-26 | International Business Machines Corporation | Bulk store and load operations of configuration state registers |
| US10552070B2 (en) | 2017-11-14 | 2020-02-04 | International Business Machines Corporation | Separation of memory-based configuration state registers based on groups |
| US10558366B2 (en) | 2017-11-14 | 2020-02-11 | International Business Machines Corporation | Automatic pinning of units of memory |
| US10489154B2 (en) * | 2017-11-28 | 2019-11-26 | Intel Corporation | Apparatus and method for complex multiply and accumulate |
| US10452394B2 (en) | 2017-11-28 | 2019-10-22 | Intel Corporation | Apparatus and method for complex multiplication |
| US10684854B2 (en) * | 2017-11-28 | 2020-06-16 | Intel Corporation | Apparatus and method for converting a floating-point value from half precision to single precision |
| US10528346B2 (en) | 2018-03-29 | 2020-01-07 | Intel Corporation | Instructions for fused multiply-add operations with variable precision input operands |
| US20210311735A1 (en) * | 2018-08-14 | 2021-10-07 | Optimum Semiconductor Technologies Inc. | Vector instruction with precise interrupts and/or overwrites |
| WO2020061139A1 (en) | 2018-09-18 | 2020-03-26 | Optimum Semiconductor Technologies Inc. | System and method to implement masked vector instructions |
| US12124848B2 (en) * | 2018-09-25 | 2024-10-22 | Nec Corporation | Information processing apparatus, information processing method, and program |
| US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
| US10963246B2 (en) | 2018-11-09 | 2021-03-30 | Intel Corporation | Systems and methods for performing 16-bit floating-point matrix dot product instructions |
| CN109992411B (zh) * | 2019-02-18 | 2021-05-18 | 华夏芯(北京)通用处理器技术有限公司 | 一种实现可快速释放的vlv访存阵列的方法 |
| JP7555944B2 (ja) * | 2019-02-26 | 2024-09-25 | ライトマター インコーポレイテッド | ハイブリッドアナログ・デジタル行列プロセッサ |
| US11294670B2 (en) * | 2019-03-27 | 2022-04-05 | Intel Corporation | Method and apparatus for performing reduction operations on a plurality of associated data element values |
| US20200364047A1 (en) * | 2019-05-16 | 2020-11-19 | Facebook, Inc. | High throughput neural network operations using inter-layer memory layout transformation |
| FR3097345B1 (fr) * | 2019-06-13 | 2021-06-25 | Stmicroelectronics Grand Ouest Sas | Procede de gestion du fonctionnement d’une unite de calcul capable de fonctionner avec des instructions de tailles differentes et circuit integre correspondant |
| US11481471B2 (en) * | 2019-08-16 | 2022-10-25 | Meta Platforms, Inc. | Mapping convolution to a matrix processor unit |
| US11782713B1 (en) * | 2019-08-27 | 2023-10-10 | Amazon Technologies, Inc. | Security vulnerability mitigation using address space co-execution |
| WO2021061329A1 (en) * | 2019-09-24 | 2021-04-01 | Alibaba Group Holding Limited | Apparatus and system for execution of neural network |
| CN111158755A (zh) * | 2019-11-29 | 2020-05-15 | 华东师范大学 | 用于消除simd向量化程序中缓存缺失的多向量交错执行方法 |
| US11119772B2 (en) * | 2019-12-06 | 2021-09-14 | International Business Machines Corporation | Check pointing of accumulator register results in a microprocessor |
| GB2601466A (en) * | 2020-02-10 | 2022-06-08 | Xmos Ltd | Rotating accumulator |
| US11797603B2 (en) | 2020-05-01 | 2023-10-24 | Magic Leap, Inc. | Image descriptor network with imposed hierarchical normalization |
| CN113918221B (zh) * | 2020-07-08 | 2025-04-08 | 上海寒武纪信息科技有限公司 | 运算模块、流水优化方法及相关产品 |
| GB2597708B (en) | 2020-07-30 | 2022-11-02 | Advanced Risc Mach Ltd | Vector processing |
| WO2022115704A1 (en) | 2020-11-30 | 2022-06-02 | Lightmatter, Inc. | Machine learning model training using an analog processor |
| US11243778B1 (en) * | 2020-12-31 | 2022-02-08 | Microsoft Technology Licensing, Llc | Instruction dispatch for superscalar processors |
| US12248333B2 (en) | 2021-06-25 | 2025-03-11 | Intel Corporation | Processor embedded streaming buffer |
| CN113590197B (zh) * | 2021-07-30 | 2023-09-26 | 中国人民解放军国防科技大学 | 一种支持可变长向量处理的可配置处理器及其实现方法 |
| US12608175B2 (en) | 2021-08-31 | 2026-04-21 | Intel Corporation | BFLOAT16 square root and/or reciprocal square root instructions |
| US12379927B2 (en) | 2021-08-31 | 2025-08-05 | Intel Corporation | BFLOAT16 scale and/or reduce instructions |
| US20230060146A1 (en) * | 2021-08-31 | 2023-03-02 | Intel Corporation | Bfloat16 classification and manipulation instructions |
| US12229554B2 (en) | 2021-08-31 | 2025-02-18 | Intel Corporation | BFLOAT16 fused multiply instructions |
| CN115809094A (zh) * | 2021-09-15 | 2023-03-17 | 合肥君正科技有限公司 | 一种实现一条指令对多组并行处理的数据处理方法 |
| US11900111B2 (en) * | 2021-09-24 | 2024-02-13 | Qualcomm Incorporated | Permutation instruction |
| CN113918883B (zh) * | 2021-11-03 | 2022-05-27 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
| US12443412B2 (en) | 2022-01-30 | 2025-10-14 | Simplex Micro, Inc. | Method and apparatus for a scalable microprocessor with time counter |
| US12190116B2 (en) | 2022-04-05 | 2025-01-07 | Simplex Micro, Inc. | Microprocessor with time count based instruction execution and replay |
| US12169716B2 (en) | 2022-04-20 | 2024-12-17 | Simplex Micro, Inc. | Microprocessor with a time counter for statically dispatching extended instructions |
| US12141580B2 (en) | 2022-04-20 | 2024-11-12 | Simplex Micro, Inc. | Microprocessor with non-cacheable memory load prediction |
| US12288065B2 (en) | 2022-04-29 | 2025-04-29 | Simplex Micro, Inc. | Microprocessor with odd and even register sets |
| US20240004662A1 (en) * | 2022-07-02 | 2024-01-04 | Intel Corporation | Instructions and support for horizontal reductions |
| US12541369B2 (en) | 2022-07-13 | 2026-02-03 | Simplex Micro, Inc. | Executing phantom loops in a microprocessor |
| US12282772B2 (en) | 2022-07-13 | 2025-04-22 | Simplex Micro, Inc. | Vector processor with vector data buffer |
| US12147812B2 (en) | 2022-07-13 | 2024-11-19 | Simplex Micro, Inc. | Out-of-order execution of loop instructions in a microprocessor |
| US12124849B2 (en) * | 2022-07-13 | 2024-10-22 | Simplex Micro, Inc. | Vector processor with extended vector registers |
| EP4318225A1 (en) * | 2022-08-03 | 2024-02-07 | Intel Corporation | 8-bit floating point classification and manipulation instructions |
| CN116257350B (zh) * | 2022-09-06 | 2023-12-08 | 进迭时空(杭州)科技有限公司 | 一种针对risc-v矢量寄存器的重命名分组装置 |
| US11977496B1 (en) | 2022-09-29 | 2024-05-07 | Amazon Technologies, Inc. | Security vulnerability mitigation using hardware-supported context-dependent address space hiding |
| US12373214B2 (en) * | 2022-12-28 | 2025-07-29 | Meta Platforms Technologies, Llc | Data parallelism |
| CN116028769B (zh) * | 2023-01-04 | 2025-07-18 | 成都通量科技有限公司 | 一种快速收敛的双旋转求模方法 |
| US12566610B2 (en) | 2023-03-14 | 2026-03-03 | Simplex Micro, Inc. | Microprocessor with apparatus and method for replaying load instructions |
| US12566609B2 (en) | 2023-03-14 | 2026-03-03 | Simplex Micro, Inc. | Microprocessor with apparatus and method for handling of instructions with long throughput |
| US12393096B2 (en) * | 2023-06-02 | 2025-08-19 | Hewlett Packard Enterprise Development Lp | Tensorized integrated coherent Ising machine |
| CN116909629B (zh) * | 2023-07-10 | 2026-02-24 | 格兰菲智能科技股份有限公司 | 数据处理方法、装置和计算机设备 |
| KR20250019878A (ko) | 2023-08-02 | 2025-02-11 | 삼성전자주식회사 | 연산 기능을 구비한 메모리 장치 및 그것의 동작 방법 |
| CN116820910A (zh) * | 2023-08-28 | 2023-09-29 | 英特尔(中国)研究中心有限公司 | 处理装置、用于处理装置的验证装置和验证方法 |
| CN117093268B (zh) * | 2023-10-19 | 2024-01-30 | 超睿科技(长沙)有限公司 | 一种向量处理方法、系统、设备及存储介质 |
| US12566613B2 (en) | 2023-11-13 | 2026-03-03 | Simplex Micro, Inc. | Microprocessor with speculative and in-order register sets |
| US12613698B2 (en) | 2024-03-19 | 2026-04-28 | Simplex Micro, Inc. | Apparatus and method for hiding vector load latency in a time-based vector coprocessor |
| US12572357B2 (en) * | 2024-03-28 | 2026-03-10 | Tenstorrent USA, Inc. | Vector mask buffers in a vector instruction execution pipeline |
| GB2640268A (en) * | 2024-04-09 | 2025-10-15 | Imagination Tech Ltd | Uninitialised access protection of a register |
| US12493467B1 (en) | 2024-06-05 | 2025-12-09 | Apple Inc. | Control register for storing instruction size information |
| CN120780966B (zh) * | 2025-09-11 | 2025-12-02 | 长江水利委员会长江科学院 | 基于平差的区域水力侵蚀强度面积数据确定方法及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040075747A1 (en) * | 1997-07-15 | 2004-04-22 | Kia Silverbrook | Monolithic integrated circuit having a number of programmable processing elements |
| US20110045543A1 (en) * | 2008-02-25 | 2011-02-24 | Takayuki Asahara | Process for production of 5'-guanylic acid |
| US20140281435A1 (en) * | 2013-03-15 | 2014-09-18 | Analog Devices Technology | Method to paralleize loops in the presence of possible memory aliases |
| US20140289495A1 (en) * | 2013-03-19 | 2014-09-25 | Apple Inc. | Enhanced predicate registers |
Family Cites Families (128)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5852265B2 (ja) | 1977-01-12 | 1983-11-21 | 株式会社日立製作所 | デ−タ処理装置 |
| JPS6055864B2 (ja) | 1980-07-21 | 1985-12-06 | 株式会社日立製作所 | ベクトルプロセツサ |
| US4541046A (en) | 1981-03-25 | 1985-09-10 | Hitachi, Ltd. | Data processing system including scalar data processor and vector data processor |
| JPS6123275A (ja) | 1984-07-11 | 1986-01-31 | Nec Corp | ベクトル処理装置 |
| US4745547A (en) | 1985-06-17 | 1988-05-17 | International Business Machines Corp. | Vector processing |
| US4794516A (en) | 1985-10-31 | 1988-12-27 | International Business Machines Corporation | Method and apparatus for communicating data between a host and a plurality of parallel processors |
| US5113521A (en) | 1988-03-18 | 1992-05-12 | Digital Equipment Corporation | Method and apparatus for handling faults of vector instructions causing memory management exceptions |
| US5170370A (en) | 1989-11-17 | 1992-12-08 | Cray Research, Inc. | Vector bit-matrix multiply functional unit |
| US5418973A (en) | 1992-06-22 | 1995-05-23 | Digital Equipment Corporation | Digital computer system with cache controller coordinating both vector and scalar operations |
| US5513366A (en) | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
| US5685005A (en) | 1994-10-04 | 1997-11-04 | Analog Devices, Inc. | Digital signal processor configured for multiprocessing |
| US5680338A (en) | 1995-01-04 | 1997-10-21 | International Business Machines Corporation | Method and system for vector processing utilizing selected vector elements |
| US5537606A (en) | 1995-01-31 | 1996-07-16 | International Business Machines Corporation | Scalar pipeline replication for parallel vector element processing |
| US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
| US5936872A (en) | 1995-09-05 | 1999-08-10 | Intel Corporation | Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations |
| US6237016B1 (en) | 1995-09-05 | 2001-05-22 | Intel Corporation | Method and apparatus for multiplying and accumulating data samples and complex coefficients |
| US6058465A (en) | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
| KR100188013B1 (ko) * | 1996-09-17 | 1999-06-01 | 윤종용 | 벡터 레지스터와 스칼라 레지스터 내부의 엘리먼트 자리이동을 이용한 유한충격응답(fir) 필터 구현방법 |
| US5832288A (en) * | 1996-10-18 | 1998-11-03 | Samsung Electronics Co., Ltd. | Element-select mechanism for a vector processor |
| US5991531A (en) * | 1997-02-24 | 1999-11-23 | Samsung Electronics Co., Ltd. | Scalable width vector processor architecture for efficient emulation |
| US6076156A (en) | 1997-07-17 | 2000-06-13 | Advanced Micro Devices, Inc. | Instruction redefinition using model specific registers |
| US7197625B1 (en) * | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
| US6230257B1 (en) | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
| US6263426B1 (en) * | 1998-04-30 | 2001-07-17 | Intel Corporation | Conversion from packed floating point data to packed 8-bit integer data in different architectural registers |
| US6304963B1 (en) * | 1998-05-14 | 2001-10-16 | Arm Limited | Handling exceptions occuring during processing of vector instructions |
| US6292193B1 (en) | 1998-07-30 | 2001-09-18 | Compaq Computer Corporation | Techniques for anisotropic texture mapping using multiple space-invariant filtering operations per pixel |
| US6405304B1 (en) * | 1998-08-24 | 2002-06-11 | Compaq Information Technologies Group, L.P. | Method for mapping instructions using a set of valid and invalid logical to physical register assignments indicated by bits of a valid vector together with a logical register list |
| US6480818B1 (en) * | 1998-11-13 | 2002-11-12 | Cray Inc. | Debugging techniques in a multithreaded environment |
| US6594754B1 (en) * | 1999-07-07 | 2003-07-15 | Intel Corporation | Mapping destination logical register to physical register storing immediate or renamed source register of move instruction and using mapping counters |
| JP3940542B2 (ja) | 2000-03-13 | 2007-07-04 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
| US7062523B1 (en) | 2000-08-01 | 2006-06-13 | Analog Devices, Inc. | Method for efficiently computing a fast fourier transform |
| WO2002037264A2 (en) | 2000-11-06 | 2002-05-10 | Broadcom Corporation | Reconfigurable processing system and method |
| 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 |
| US7430578B2 (en) | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
| GB2383145B (en) | 2001-10-31 | 2005-09-07 | Alphamosaic Ltd | Data access in a processor |
| US7467287B1 (en) * | 2001-12-31 | 2008-12-16 | Apple Inc. | Method and apparatus for vector table look-up |
| US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
| KR100434502B1 (ko) | 2002-05-07 | 2004-06-05 | 삼성전자주식회사 | DSP(Digital SignalProcessor)의 데이터 추출/삽입 방법 및 데이터추출/삽입 장치 |
| US7376812B1 (en) | 2002-05-13 | 2008-05-20 | Tensilica, Inc. | Vector co-processor for configurable and extensible processor architecture |
| US7580965B2 (en) | 2002-09-27 | 2009-08-25 | Texas Instruments Incorporated | Discrete-time convolution cycle reduction with programmable digital signal processor |
| US6904511B2 (en) | 2002-10-11 | 2005-06-07 | Sandbridge Technologies, Inc. | Method and apparatus for register file port reduction in a multithreaded processor |
| US6781529B1 (en) | 2002-10-24 | 2004-08-24 | Apple Computer, Inc. | Methods and apparatuses for variable length encoding |
| US20040193838A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | Vector instructions composed from scalar instructions |
| US7334110B1 (en) | 2003-08-18 | 2008-02-19 | Cray Inc. | Decoupled scalar/vector computer architecture system and method |
| US7107436B2 (en) * | 2003-09-08 | 2006-09-12 | Freescale Semiconductor, Inc. | Conditional next portion transferring of data stream to or from register based on subsequent instruction aspect |
| US9465611B2 (en) | 2003-10-02 | 2016-10-11 | Broadcom Corporation | Processor execution unit with configurable SIMD functional blocks for complex number operations |
| US7793072B2 (en) | 2003-10-31 | 2010-09-07 | International Business Machines Corporation | Vector execution unit to process a vector instruction by executing a first operation on a first set of operands and a second operation on a second set of operands |
| US7873812B1 (en) | 2004-04-05 | 2011-01-18 | Tibet MIMAR | Method and system for efficient matrix multiplication in a SIMD processor architecture |
| US20070106718A1 (en) | 2005-11-04 | 2007-05-10 | Shum Hoi L | Fast fourier transform on a single-instruction-stream, multiple-data-stream processor |
| US7840954B2 (en) | 2005-11-29 | 2010-11-23 | International Business Machines Corporation | Compilation for a SIMD RISC processor |
| US7631171B2 (en) | 2005-12-19 | 2009-12-08 | Sun Microsystems, Inc. | Method and apparatus for supporting vector operations on a multi-threaded microprocessor |
| US7721071B2 (en) | 2006-02-28 | 2010-05-18 | Mips Technologies, Inc. | System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor |
| US20070239815A1 (en) | 2006-04-04 | 2007-10-11 | Qualcomm Incorporated | Pipeline fft architecture and method |
| US20080071851A1 (en) | 2006-09-20 | 2008-03-20 | Ronen Zohar | Instruction and logic for performing a dot-product operation |
| EP2009544B1 (en) | 2007-06-26 | 2010-04-07 | Telefonaktiebolaget LM Ericsson (publ) | Data-processing unit for nested-loop instructions |
| US8245016B2 (en) * | 2007-09-28 | 2012-08-14 | International Business Machines Corporation | Multi-threaded processing |
| US20090100249A1 (en) * | 2007-10-10 | 2009-04-16 | Eichenberger Alexandre E | Method and apparatus for allocating architectural register resources among threads in a multi-threaded microprocessor core |
| US7847349B2 (en) | 2007-10-31 | 2010-12-07 | Agere Systems Inc. | Single-cycle FFT butterfly calculator |
| US20090172348A1 (en) * | 2007-12-26 | 2009-07-02 | Robert Cavin | Methods, apparatus, and instructions for processing vector data |
| CN101299233B (zh) * | 2008-04-08 | 2010-11-10 | 西安交通大学 | 基于fpga实现的运动目标识别与跟踪方法 |
| US7966519B1 (en) | 2008-04-30 | 2011-06-21 | Hewlett-Packard Development Company, L.P. | Reconfiguration in a multi-core processor system with configurable isolation |
| US8209525B2 (en) | 2008-08-15 | 2012-06-26 | Apple Inc. | Method and apparatus for executing program code |
| US9342486B2 (en) | 2008-10-03 | 2016-05-17 | Microsoft Technology Licensing, Llc | Fast computation of general fourier transforms on graphics processing units |
| US20100115233A1 (en) | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
| US20100115232A1 (en) | 2008-10-31 | 2010-05-06 | Johnson Timothy J | Large integer support in vector operations |
| US20100115234A1 (en) * | 2008-10-31 | 2010-05-06 | Cray Inc. | Configurable vector length computer processor |
| US8200949B1 (en) * | 2008-12-09 | 2012-06-12 | Nvidia Corporation | Policy based allocation of register file cache to threads in multi-threaded processor |
| GB2466976B (en) | 2009-01-16 | 2011-04-27 | Springsource Ltd | Controlling access to a shared resourse in a computer system |
| WO2010095182A1 (ja) * | 2009-02-17 | 2010-08-26 | パナソニック株式会社 | マルチスレッドプロセッサ及びデジタルテレビシステム |
| US8650240B2 (en) | 2009-08-17 | 2014-02-11 | International Business Machines Corporation | Complex matrix multiplication operations with data pre-conditioning in a high performance computing architecture |
| US8555034B2 (en) * | 2009-12-15 | 2013-10-08 | Oracle America, Inc. | Execution of variable width vector processing instructions |
| CN101776988B (zh) | 2010-02-01 | 2012-11-07 | 中国人民解放军国防科学技术大学 | 一种块大小可变的可重构矩阵寄存器文件 |
| US8601044B2 (en) | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
| US20110320765A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Variable width vector instruction processor |
| US9928105B2 (en) * | 2010-06-28 | 2018-03-27 | Microsoft Technology Licensing, Llc | Stack overflow prevention in parallel execution runtime |
| US9092213B2 (en) | 2010-09-24 | 2015-07-28 | Intel Corporation | Functional unit for vector leading zeroes, vector trailing zeroes, vector operand 1s count and vector parity calculation |
| US8868885B2 (en) | 2010-11-18 | 2014-10-21 | Ceva D.S.P. Ltd. | On-the-fly permutation of vector elements for executing successive elemental instructions |
| CN102012803B (zh) * | 2010-11-25 | 2014-09-10 | 中国人民解放军国防科学技术大学 | 支持多宽度simd和多粒度simt的可配置矩阵寄存器单元 |
| US8959501B2 (en) | 2010-12-14 | 2015-02-17 | Microsoft Corporation | Type and length abstraction for data types |
| KR20120072226A (ko) | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 고속 퓨리에 변환기 |
| US20120216011A1 (en) * | 2011-02-18 | 2012-08-23 | Darryl Gove | Apparatus and method of single-instruction, multiple-data vector operation masking |
| KR101620676B1 (ko) * | 2011-03-25 | 2016-05-23 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트 |
| US20120254588A1 (en) * | 2011-04-01 | 2012-10-04 | Jesus Corbal San Adrian | Systems, apparatuses, and methods for blending two source operands into a single destination using a writemask |
| EP2695054B1 (en) | 2011-04-01 | 2018-08-15 | Intel Corporation | Vector friendly instruction format and execution thereof |
| CN102156637A (zh) * | 2011-05-04 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 向量交叉多线程处理方法及向量交叉多线程微处理器 |
| JP2012252374A (ja) | 2011-05-31 | 2012-12-20 | Renesas Electronics Corp | 情報処理装置 |
| US9158597B2 (en) | 2011-07-08 | 2015-10-13 | Microsoft Technology Licensing, Llc | Controlling access to shared resource by issuing tickets to plurality of execution units |
| US20130080672A1 (en) * | 2011-09-27 | 2013-03-28 | Kaminario Technologies Ltd. | System, method and computer program product for access control |
| SE535856C2 (sv) * | 2011-10-18 | 2013-01-15 | Mediatek Sweden Ab | Digital signalprocessor och basbandskommunikationsanordning |
| CN102375805B (zh) | 2011-10-31 | 2014-04-02 | 中国人民解放军国防科学技术大学 | 面向向量处理器的基于simd的fft并行计算方法 |
| EP2788901A1 (en) * | 2011-12-08 | 2014-10-15 | Oracle International Corporation | Techniques for maintaining column vectors of relational data within volatile memory |
| US20140189296A1 (en) | 2011-12-14 | 2014-07-03 | Elmoustapha Ould-Ahmed-Vall | System, apparatus and method for loop remainder mask instruction |
| US20130159665A1 (en) | 2011-12-15 | 2013-06-20 | Verisilicon Holdings Co., Ltd. | Specialized vector instruction and datapath for matrix multiplication |
| WO2013095510A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Packed data operation mask concatenation processors, methods, systems, and instructions |
| CN104011649B (zh) | 2011-12-23 | 2018-10-09 | 英特尔公司 | 用于在simd/向量执行中传播有条件估算值的装置和方法 |
| CN104011616B (zh) | 2011-12-23 | 2017-08-29 | 英特尔公司 | 改进置换指令的装置和方法 |
| EP2798457B1 (en) * | 2011-12-29 | 2019-03-06 | Intel Corporation | Dot product processors, methods, systems, and instructions |
| US9092228B2 (en) | 2012-01-17 | 2015-07-28 | Texas Instruments Incorporated | Systems and methods for software instruction translation from a high-level language to a specialized instruction set |
| CN102665049B (zh) * | 2012-03-29 | 2014-09-17 | 中国科学院半导体研究所 | 基于可编程视觉芯片的视觉图像处理系统 |
| US9098265B2 (en) * | 2012-07-11 | 2015-08-04 | Arm Limited | Controlling an order for processing data elements during vector processing |
| US9594724B2 (en) | 2012-08-09 | 2017-03-14 | International Business Machines Corporation | Vector register file |
| GB2499277B (en) * | 2012-08-30 | 2014-04-02 | Imagination Tech Ltd | Global register protection in a multi-threaded processor |
| CN103067706B (zh) * | 2012-12-20 | 2016-01-20 | 西安电子科技大学 | 基于fpga的ip核 |
| US9720843B2 (en) | 2012-12-28 | 2017-08-01 | Intel Corporation | Access type protection of memory reserved for use by processor logic |
| US9501276B2 (en) * | 2012-12-31 | 2016-11-22 | Intel Corporation | Instructions and logic to vectorize conditional loops |
| US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
| US9778932B2 (en) | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
| US20140244977A1 (en) * | 2013-02-22 | 2014-08-28 | Mips Technologies, Inc. | Deferred Saving of Registers in a Shared Register Pool for a Multithreaded Microprocessor |
| US9495154B2 (en) * | 2013-03-13 | 2016-11-15 | Qualcomm Incorporated | Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, systems, and methods |
| US9275014B2 (en) | 2013-03-13 | 2016-03-01 | Qualcomm Incorporated | 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 |
| US9354884B2 (en) | 2013-03-13 | 2016-05-31 | International Business Machines Corporation | Processor with hybrid pipeline capable of operating in out-of-order and in-order modes |
| US9304940B2 (en) | 2013-03-15 | 2016-04-05 | Intel Corporation | Processors, methods, and systems to relax synchronization of accesses to shared memory |
| US9639503B2 (en) | 2013-03-15 | 2017-05-02 | Qualcomm Incorporated | Vector indirect element vertical addressing mode with horizontal permute |
| US9354891B2 (en) | 2013-05-29 | 2016-05-31 | Apple Inc. | Increasing macroscalar instruction level parallelism |
| US20150007196A1 (en) | 2013-06-28 | 2015-01-01 | Intel Corporation | Processors having heterogeneous cores with different instructions and/or architecural features that are presented to software as homogeneous virtual cores |
| US9619230B2 (en) | 2013-06-28 | 2017-04-11 | International Business Machines Corporation | Predictive fetching and decoding for selected instructions |
| CN105993000B (zh) * | 2013-10-27 | 2021-05-07 | 超威半导体公司 | 用于浮点寄存器混叠的处理器和方法 |
| GB2545307B (en) * | 2013-11-29 | 2018-03-07 | Imagination Tech Ltd | A module and method implemented in a multi-threaded out-of-order processor |
| US9329867B2 (en) * | 2014-01-08 | 2016-05-03 | Qualcomm Incorporated | Register allocation for vectors |
| CN103699516B (zh) | 2014-01-13 | 2017-02-15 | 中国人民解放军国防科学技术大学 | 向量处理器中基于simd的并行fft/ifft蝶形运算方法及装置 |
| GB2523823B (en) | 2014-03-07 | 2021-06-16 | Advanced Risc Mach Ltd | Data processing apparatus and method for processing vector operands |
| US9804846B2 (en) * | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
| US11200058B2 (en) * | 2014-05-07 | 2021-12-14 | Qualcomm Incorporated | Dynamic load balancing of hardware threads in clustered processor cores using shared hardware resources, and related circuits, methods, and computer-readable media |
| US20160026607A1 (en) * | 2014-07-25 | 2016-01-28 | Qualcomm Incorporated | Parallelization of scalar operations by vector processors using data-indexed accumulators in vector register files, and related circuits, methods, and computer-readable media |
| US9665466B2 (en) * | 2014-09-02 | 2017-05-30 | Nxp Usa, Inc. | Debug architecture for multithreaded processors |
| US9720696B2 (en) * | 2014-09-30 | 2017-08-01 | International Business Machines Corporation | Independent mapping of threads |
| US9916130B2 (en) * | 2014-11-03 | 2018-03-13 | Arm Limited | Apparatus and method for vector processing |
-
2015
- 2015-05-12 US US14/709,730 patent/US11544214B2/en active Active
- 2015-05-19 US US14/716,216 patent/US10339094B2/en active Active
- 2015-05-19 US US14/716,285 patent/US10339095B2/en active Active
- 2015-05-21 US US14/718,432 patent/US10922267B2/en active Active
- 2015-05-21 US US14/718,740 patent/US10846259B2/en not_active Expired - Fee Related
- 2015-05-22 US US14/719,432 patent/US20160224514A1/en not_active Abandoned
- 2015-05-28 US US14/724,061 patent/US10824586B2/en active Active
- 2015-06-01 US US14/727,051 patent/US10733140B2/en active Active
- 2015-06-01 US US14/727,076 patent/US9910824B2/en active Active
- 2015-06-02 US US14/728,522 patent/US9959246B2/en active Active
-
2016
- 2016-01-21 KR KR1020177024754A patent/KR102258024B1/ko not_active Expired - Fee Related
- 2016-01-21 EP EP16746957.6A patent/EP3254185A4/en not_active Withdrawn
- 2016-01-21 CN CN201680013705.4A patent/CN107430507B/zh active Active
- 2016-01-21 WO PCT/US2016/014288 patent/WO2016126433A1/en not_active Ceased
- 2016-01-25 WO PCT/US2016/014733 patent/WO2016126448A1/en not_active Ceased
- 2016-01-25 EP EP16746967.5A patent/EP3254205A4/en not_active Withdrawn
- 2016-01-25 CN CN201680013206.5A patent/CN107408101B/zh active Active
- 2016-01-25 KR KR1020177024756A patent/KR102255318B1/ko not_active Expired - Fee Related
- 2016-01-27 KR KR1020177024757A patent/KR20170110687A/ko not_active Ceased
- 2016-01-27 CN CN201680013182.3A patent/CN107430581B/zh active Active
- 2016-01-27 CN CN201680013422.XA patent/CN107408037B/zh active Active
- 2016-01-27 WO PCT/US2016/015131 patent/WO2016126485A1/en not_active Ceased
- 2016-01-27 KR KR1020177024751A patent/KR102255298B1/ko not_active Expired - Fee Related
- 2016-01-27 EP EP16746997.2A patent/EP3254206A4/en not_active Withdrawn
- 2016-01-27 CN CN201680013280.7A patent/CN107430589B/zh active Active
- 2016-01-27 WO PCT/US2016/015146 patent/WO2016126486A1/en not_active Ceased
- 2016-01-27 KR KR1020177024762A patent/KR20170117452A/ko not_active Ceased
- 2016-01-27 EP EP16746998.0A patent/EP3254186B1/en active Active
- 2016-01-27 EP EP16746995.6A patent/EP3254204A4/en not_active Withdrawn
- 2016-01-27 WO PCT/US2016/015117 patent/WO2016126482A1/en not_active Ceased
- 2016-01-28 CN CN201680013566.5A patent/CN107408063B/zh active Active
- 2016-01-28 EP EP16747022.8A patent/EP3254188A4/en not_active Withdrawn
- 2016-01-28 KR KR1020177024758A patent/KR102255324B1/ko not_active Expired - Fee Related
- 2016-01-28 WO PCT/US2016/015365 patent/WO2016126519A1/en not_active Ceased
- 2016-01-28 WO PCT/US2016/015355 patent/WO2016126516A1/en not_active Ceased
- 2016-01-28 CN CN201680013718.1A patent/CN107408040B/zh active Active
- 2016-01-28 WO PCT/US2016/015376 patent/WO2016126521A1/en not_active Ceased
- 2016-01-28 EP EP16747020.2A patent/EP3254195B1/en not_active Not-in-force
- 2016-01-28 CN CN201680013784.9A patent/CN107408102B/zh active Active
- 2016-01-28 KR KR1020177024755A patent/KR102255313B1/ko not_active Expired - Fee Related
- 2016-01-28 KR KR1020177024759A patent/KR102270020B1/ko active Active
- 2016-01-28 EP EP16747024.4A patent/EP3254207A4/en not_active Ceased
- 2016-01-29 CN CN201680013786.8A patent/CN107408038B/zh active Active
- 2016-01-29 WO PCT/US2016/015652 patent/WO2016126545A1/en not_active Ceased
- 2016-01-29 KR KR1020177024761A patent/KR102276335B1/ko not_active Expired - Fee Related
- 2016-01-29 EP EP16747033.5A patent/EP3254208A4/en not_active Withdrawn
- 2016-01-29 CN CN201680013787.2A patent/CN107408103B/zh active Active
- 2016-01-29 WO PCT/US2016/015637 patent/WO2016126543A1/en not_active Ceased
- 2016-01-29 EP EP16747031.9A patent/EP3254187B1/en active Active
- 2016-01-29 KR KR1020177024760A patent/KR102311010B1/ko active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040075747A1 (en) * | 1997-07-15 | 2004-04-22 | Kia Silverbrook | Monolithic integrated circuit having a number of programmable processing elements |
| US20110045543A1 (en) * | 2008-02-25 | 2011-02-24 | Takayuki Asahara | Process for production of 5'-guanylic acid |
| US20140281435A1 (en) * | 2013-03-15 | 2014-09-18 | Analog Devices Technology | Method to paralleize loops in the presence of possible memory aliases |
| US20140289495A1 (en) * | 2013-03-19 | 2014-09-25 | Apple Inc. | Enhanced predicate registers |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11593069B2 (en) | 2019-11-15 | 2023-02-28 | Intel Corporation | Use of a single instruction set architecture (ISA) instruction for vector normalization |
| WO2023075146A1 (ko) * | 2021-10-28 | 2023-05-04 | 주식회사 사피온코리아 | 컴퓨팅 시스템 및 이를 위한 전치 방법 |
| KR20230061180A (ko) * | 2021-10-28 | 2023-05-08 | 주식회사 사피온코리아 | 컴퓨팅 시스템 및 이를 위한 전치 방법 |
| US12511060B2 (en) | 2021-10-28 | 2025-12-30 | Rebellions Inc. | Computing system and transposition method therefor |
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102270020B1 (ko) | 디지털 신호 프로세싱 명령들을 사용하여 가변 길이 벡터들에 대해 연산하도록 구성된 벡터 프로세서 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| A201 | Request for examination | ||
| A302 | Request for accelerated examination | ||
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PA0302 | Request for accelerated examination |
St.27 status event code: A-1-2-D10-D17-exm-PA0302 St.27 status event code: A-1-2-D10-D16-exm-PA0302 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20250707 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| H13 | Ip right lapsed |
Free format text: ST27 STATUS EVENT CODE: N-4-6-H10-H13-OTH-PC1903 (AS PROVIDED BY THE NATIONAL OFFICE); TERMINATION CATEGORY : DEFAULT_OF_REGISTRATION_FEE Effective date: 20250707 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20250707 |
















































