KR101047768B1 - 범용 어레이 처리 - Google Patents
범용 어레이 처리 Download PDFInfo
- Publication number
- KR101047768B1 KR101047768B1 KR1020087028956A KR20087028956A KR101047768B1 KR 101047768 B1 KR101047768 B1 KR 101047768B1 KR 1020087028956 A KR1020087028956 A KR 1020087028956A KR 20087028956 A KR20087028956 A KR 20087028956A KR 101047768 B1 KR101047768 B1 KR 101047768B1
- Authority
- KR
- South Korea
- Prior art keywords
- parallel processing
- multiplication
- opcode
- array processor
- results
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 220
- 239000011159 matrix material Substances 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000007792 addition Methods 0.000 claims description 44
- 238000009825 accumulation Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 abstract description 35
- 238000003672 processing method Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 229940050561 matrix product Drugs 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
-
- 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/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
-
- 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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
Description
Claims (49)
- 어레이(array) 프로세서 장치로서,복수의 다중화기들;복수의 곱셈기들;복수의 산술 논리 유닛들(ALU); 및적어도 하나의 op코드(opcode) 제어 엘리먼트를 포함하고,상기 복수의 다중화기들, 상기 복수의 곱셈기들, 및 상기 복수의 ALU들은 두 개의 병렬 처리 경로들을 형성하도록 구성되고 배열되며, 각각의 병렬 처리 경로는 상기 op코드 제어 엘리먼트에 의해 수신된 op코드에 따라 행렬 연산들의 세트를 수행하도록 구성되는,어레이 프로세서 장치.
- 제1항에 있어서,상기 op코드는 휴지상태(idle) op코드 및 곱셈 연산 op코드 중 적어도 하나를 포함하는,어레이 프로세서 장치.
- 제2항에 있어서,상기 곱셈 연산 op코드는 곱셈 연산, 외부 가산치와의 곱셈 연산, 외부 감산 치와의 곱셈 연산, 누산치와의 곱셈 연산, 결과들의 합산치와의 곱셈 연산, 결과들의 감산치와의 곱셈 연산, 결과들의 합산치 및 외부 가산치와의 곱셈 연산, 결과들의 합산치 및 외부 감산치와의 곱셈 연산, 결과들의 감산치 및 외부 가산치와의 곱셈 연산, 결과들의 합산치 및 누산치와의 곱셈 연산, 및 결과들의 감산치 및 누산치와의 곱셈 연산 중 적어도 하나의 표시를 포함하는,어레이 프로세서 장치.
- 제3항에 있어서,상기 두 개의 병렬 처리 경로들은 상기 곱셈 연산, 상기 외부 가산치와의 곱셈 연산, 상기 외부 감산치와의 곱셈 연산, 상기 누산치와의 곱셈 연산, 상기 결과들의 합산치와의 곱셈 연산, 상기 결과들의 감산치와의 곱셈 연산, 상기 결과들의 합산치 및 외부 가산치와의 곱셈 연산, 상기 결과들의 합산치 및 외부 감산치와의 곱셈 연산, 상기 결과들의 감산치 및 외부 가산치와의 곱셈 연산, 상기 결과들의 합산치 및 누산치와의 곱셈 연산, 및 상기 결과들의 감산치 및 누산치와의 곱셈 연산 각각을 수행하도록 구성되는,어레이 프로세서 장치.
- 제1항에 있어서,상기 두 개의 병렬 처리 경로들 중 제 1 병렬 처리 경로는 제 1 파이프라인(pipelined) 병렬 처리 경로를 포함하고, 상기 두 개의 병렬 처리 경로들 중 제 2 병렬 처리 경로는 제 2 파이프라인 병렬 처리 경로를 포함하는,어레이 프로세서 장치.
- 제5항에 있어서,상기 제 1 병렬 처리 경로의 제 1 파이프라인 스테이지로의 입력은 상기 제 2 병렬 처리 경로의 제 2 파이프라인 스테이지의 출력을 포함할 수 있는,어레이 프로세서 장치.
- 제6항에 있어서,상기 op코드 제어 엘리먼트는 상기 op코드에 기반하여 상기 제 1 파이프라인 스테이지로의 입력 및 상기 제 2 파이프라인 스테이지로의 입력을 선택하도록 구성되는,어레이 프로세서 장치.
- 제6항에 있어서,상기 제 2 병렬 처리 경로의 제 3 파이프라인 스테이지로의 입력은 상기 제 1 병렬 처리 경로의 제 4 파이프라인 스테이지의 출력을 포함할 수 있는,어레이 프로세서 장치.
- 제6항에 있어서,상기 제 1 파이프라인 스테이지는 곱셈 스테이지를 포함하고, 상기 제 2 파이프라인 스테이지는 산술-논리 스테이지를 포함하는,어레이 프로세서 장치.
- 제6항에 있어서,상기 제 1 파이프라인 스테이지는 산술-논리 스테이지를 포함하고, 상기 제 2 파이프라인 스테이지는 곱셈 스테이지를 포함하는,어레이 프로세서 장치.
- 제6항에 있어서,상기 제 1 파이프라인 스테이지는 제 1 산술-논리 스테이지를 포함하고, 상기 제 2 파이프라인 스테이지는 제 2 산술-논리 스테이지를 포함하는,어레이 프로세서 장치.
- 제1항에 있어서,상기 두 개의 병렬 처리 경로들 중 제 1 병렬 처리 경로는 실수 행렬 값들을 처리하기 위한 처리 경로를 포함하고, 상기 두 개의 병렬 처리 경로들 중 제 2 병렬 처리 경로는 허수 행렬 값들을 처리하기 위한 처리 경로를 포함하는,어레이 프로세서 장치.
- 제1항에 있어서,상기 복수의 곱셈기들은 두 개의 곱셈기들을 포함하는,어레이 프로세서 장치.
- 제13항에 있어서,상기 두 개의 병렬 처리 경로들 중 제 1 병렬 처리 경로는 상기 두 개의 곱셈기들 중 제 1 곱셈기를 포함하고, 상기 두 개의 병렬 처리 경로들 중 제 2 병렬 처리 경로는 상기 두 개의 곱셈기들 중 제 2 곱셈기를 포함하는,어레이 프로세서 장치.
- 제1항에 있어서,상기 복수의 ALU들은 두 개의 ALU들을 포함하는,어레이 프로세서 장치.
- 제15항에 있어서,상기 두 개의 병렬 처리 경로들 중 제 1 병렬 처리 경로는 상기 두 개의 ALU들 중 제 1 ALU를 포함하고, 상기 두 개의 병렬 처리 경로들 중 제 2 병렬 처리 경로는 상기 두 개의 ALU들 중 제 2 ALU를 포함하는,어레이 프로세서 장치.
- 제16항에 있어서,상기 제 1 ALU의 제 1 입력은 상기 복수의 곱셈기들 중 제 1 곱셈기의 출력을 포함하고, 상기 제 1 ALU의 제 2 입력은 상기 복수의 곱셈기들 중 제 2 곱셈기의 출력을 포함하고, 상기 제 2 ALU의 입력은 상기 제 2 곱셈기의 출력을 포함하는,어레이 프로세서 장치.
- 제1항에 있어서,상기 op코드 제어기는 상기 op코드에 기반하여 상기 복수의 ALU들 중 적어도 하나의 ALU에 의해 수행되는 산술 연산을 선택하도록 구성되는,어레이 프로세서 장치.
- 제1항에 있어서,상기 op코드 제어기는 상기 op코드에 기반하여 상기 복수의 곱셈기들을 통해 데이터의 흐름을 제어하도록 구성되는,어레이 프로세서 장치.
- 제19항에 있어서,상기 데이터의 흐름을 제어하는 것은 상기 두 개의 병렬 처리 경로들 및 외부 데이터의 입력 간의 데이터 의존성들을 제어하는 것을 포함하는,어레이 프로세서 장치.
- MIMO OFDM 수신기 장치로서,상기 MIMO OFDM 수신기 장치는 제1항 내지 제 20항 중 어느 한 항에 기재된 상기 어레이 프로세서 장치를 포함하는,MIMO OFDM 수신기 장치.
- MIMO OFDM 수신기 장치로서,상기 MIMO OFDM 수신기 장치는 복수의 어레이 프로세서 장치들을 포함하고,상기 복수의 어레이 프로세서 장치들 각각은 제 1항 내지 제 20항 중 어느 한 항에 기재된 상기 어레이 프로세서 장치인,MIMO OFDM 수신기 장치.
- MIMO OFDM 송신기 장치로서,상기 MIMO OFDM 송신기 장치는 제1항 내지 제 20항 중 어느 한 항에 기재된 상기 어레이 프로세서 장치를 포함하는,MIMO OFDM 송신기 장치.
- MIMO OFDM 송신기 장치로서,상기 MIMO OFDM 송신기 장치는 복수의 어레이 프로세서 장치들을 포함하고,상기 복수의 어레이 프로세서 장치들 각각은 제 1항 내지 제 20항 중 어느 한 항에 기재된 상기 어레이 프로세서 장치인,MIMO OFDM 송신기 장치.
- 어레이 프로세서 장치로서,op코드에 기반하여 두 개의 병렬 처리 경로들을 통한 데이터의 경로를 제어하기 위한 수단;상기 두 개의 병렬 처리 경로들 각각에서 데이터에 대해 두 개의 병렬 행렬 연산들을 수행하기 위한 수단; 및상기 op코드에 기반하여 상기 두 개의 병렬 행렬 연산들을 선택하기 위한 수단을 포함하는,어레이 프로세서 장치.
- 제25항에 있어서,상기 op코드는 휴지상태 op코드 및 곱셈 연산 op코드 중 적어도 하나를 포함하는,어레이 프로세서 장치.
- 제26항에 있어서,상기 곱셈 연산 op코드는 곱셈 연산, 외부 가산치와의 곱셈 연산, 외부 감산치와의 곱셈 연산, 누산치와의 곱셈 연산, 결과들의 합산치와의 곱셈 연산, 결과들의 감산치와의 곱셈 연산, 결과들의 합산치 및 외부 가산치와의 곱셈 연산, 결과들의 합산치 및 외부 감산치와의 곱셈 연산, 결과들의 감산치 및 외부 가산치와의 곱셈 연산, 결과들의 합산치 및 누산치와의 곱셈 연산, 및 결과들의 감산치 및 누산치와의 곱셈 연산 중 적어도 하나의 표시를 포함하는,어레이 프로세서 장치.
- 제27항에 있어서,상기 두 개의 병렬 행렬 연산들을 수행하기 위한 수단은 상기 곱셈 연산, 상기 외부 가산치와의 곱셈 연산, 상기 외부 감산치와의 곱셈 연산, 상기 누산치와의 곱셈 연산, 상기 결과들의 합산치와의 곱셈 연산, 상기 결과들의 감산치와의 곱셈 연산, 상기 결과들의 합산치 및 외부 가산치와의 곱셈 연산, 상기 결과들의 합산치 및 외부 감산치와의 곱셈 연산, 상기 결과들의 감산치 및 외부 가산치와의 곱셈 연산, 상기 결과들의 합산치 및 누산치와의 곱셈 연산, 및 상기 결과들의 감산치 및 누산치와의 곱셈 연산 각각을 수행하기 위한 수단을 포함하는,어레이 프로세서 장치.
- 제25항에 있어서,상기 데이터의 경로를 제어하기 위한 수단은,상기 두 개의 병렬 처리 경로들 간의 데이터의 의존성을 제어하기 위한 수단; 및상기 두 개의 병렬 처리 경로들로의 외부 데이터의 입력을 제어하기 위한 수단을 포함하는,어레이 프로세서 장치.
- 제25항에 있어서,상기 두 개의 병렬 행렬 연산들을 수행하기 위한 수단은,실수 행렬 값들을 처리하기 위한 수단; 및상기 실수 행렬 값들과 동시에 허수 행렬 값들을 처리하기 위한 수단을 포함하는,어레이 프로세서 장치.
- 제25항에 있어서,상기 op코드에 기반하여 상기 데이터의 경로를 제어하기 위한 수단은 복수의 곱셈기들의 출력을 선택하기 위한 수단을 포함하는,어레이 프로세서 장치.
- 제25항에 있어서,상기 op코드에 기반하여 상기 두 개의 병렬 행렬 연산들을 선택하기 위한 수단은 적어도 하나의 ALU에 의해 수행되는 산술 연산을 선택하기 위한 수단을 포함하는,어레이 프로세서 장치.
- 행렬 연산들을 수행하는 방법으로서,op코드에 기반하여 두 개의 병렬 처리 경로들을 통한 데이터의 흐름을 제어하는 단계;상기 op코드에 기반하여 상기 두 개의 병렬 처리 경로들 중 제 1 병렬 처리 경로에서 제 1 행렬 연산을 수행하는 단계; 및상기 op코드에 기반하여 상기 두 개의 병렬 처리 경로들 중 제 2 병렬 처리 경로에서 제 2 행렬 연산을 수행하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제33항에 있어서,상기 op코드는 휴지상태 op코드 및 곱셈 연산 op코드 중 적어도 하나를 포함하는,행렬 연산들을 수행하는 방법.
- 제34항에 있어서,상기 곱셈 연산 op코드는 곱셈 연산, 외부 가산치와의 곱셈 연산, 외부 감산치와의 곱셈 연산, 누산치와의 곱셈 연산, 결과들의 합산치와의 곱셈 연산, 결과들의 감산치와의 곱셈 연산, 결과들의 합산치 및 외부 가산치와의 곱셈 연산, 결과들의 합산치 및 외부 감산치와의 곱셈 연산, 결과들의 감산치 및 외부 가산치와의 곱셈 연산, 결과들의 합산치 및 누산치와의 곱셈 연산, 및 결과들의 감산치 및 누산치와의 곱셈 연산 중 적어도 하나의 표시를 포함하는,행렬 연산들을 수행하는 방법.
- 제33항에 있어서,상기 두 개의 병렬 처리 경로들을 통한 상기 데이터의 흐름을 제어하는 단계는 상기 두 개의 병렬 처리 경로들 중 제 1 병렬 처리 경로의 제 1 파이프라인 스테이지의 출력을 상기 두 개의 병렬 처리 경로들 중 제 2 병렬 처리 경로의 제 2 파이프라인 스테이지의 입력으로 전달하는(directing) 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제36항에 있어서,상기 두 개의 병렬 처리 경로들을 통한 상기 데이터의 흐름을 제어하는 단계는 상기 op코드에 기반하여 상기 제 1 병렬 처리 경로의 상기 제 1 파이프라인 스테이지 및 상기 제 2 병렬 처리 경로의 제 2 파이프라인 스테이지로의 입력을 선택하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제36항에 있어서,상기 제 1 파이프라인 스테이지는 곱셈 스테이지를 포함하고, 상기 제 2 파이프라인 스테이지는 산술-논리 스테이지를 포함하는,행렬 연산들을 수행하는 방법.
- 제36항에 있어서,상기 제 1 파이프라인 스테이지는 산술-논리 스테이지를 포함하고, 상기 제 2 파이프라인 스테이지는 곱셈 스테이지를 포함하는,행렬 연산들을 수행하는 방법.
- 제36항에 있어서,상기 제 1 파이프라인 스테이지는 제 1 산술-논리 스테이지를 포함하고, 상기 제 2 파이프라인 스테이지는 제 2 산술-논리 스테이지를 포함하는,행렬 연산들을 수행하는 방법.
- 제36항에 있어서,상기 두 개의 병렬 처리 경로들을 통한 상기 데이터의 흐름을 제어하는 단계는 상기 제 2 병렬 처리 경로의 제 3 파이프라인 스테이지의 출력을 상기 제 1 병렬 처리 경로들의 제 4 파이프라인 스테이지의 입력으로 전달하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제33항에 있어서,상기 op코드에 기반하여 상기 두 개의 병렬 처리 경로들 중 상기 제 1 병렬 처리 경로에서 상기 제 1 행렬 연산을 수행하는 단계는 실수 행렬 값들을 처리하는 단계를 포함하고; 그리고상기 op코드에 기반하여 상기 두 개의 병렬 처리 경로들 중 상기 제 2 병렬 처리 경로에서 상기 제 2 행렬 연산을 수행하는 단계는 허수 행렬 값들을 처리하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제33항에 있어서,상기 op코드에 기반하여 두 개의 병렬 처리 경로들을 통한 상기 데이터의 흐름을 제어하는 단계는 상기 op코드에 기반하여 복수의 다중화기들을 제어하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제43항에 있어서,상기 두 개의 병렬 처리 경로들을 통한 상기 데이터의 흐름을 제어하는 단계는 상기 두 개의 병렬 처리 경로들 간의 데이터 의존성들을 제어하는 단계 및 외부 데이터의 입력을 제어하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제43항에 있어서,상기 두 개의 병렬 처리 경로들을 통한 상기 데이터의 흐름을 제어하는 단계는 상기 두 개의 병렬 처리 경로들 중 제 1 병렬 처리 경로의 제 1 곱셈기의 출력을 전달하는 단계 및 상기 두 개의 병렬 처리 경로들 중 제 2 병렬 처리 경로의 제 2 곱셈기의 출력을 전달하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제45항에 있어서,상기 제 1 곱셈기의 출력을 전달하는 단계는 상기 제 1 곱셈기의 출력을 상기 제 1 병렬 처리 경로의 제 1 ALU의 제 1 입력으로 전달하는 단계를 포함하고, 상기 제 2 곱셈기의 출력을 전달하는 단계는 상기 제 2 곱셈기의 출력을 상기 제 1 ALU의 제 2 입력 및 상기 제 2 병렬 처리 경로의 제 2 ALU의 입력으로 전달하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 제33항에 있어서,상기 op코드에 기반하여 상기 두 개의 병렬 처리 경로들 중 상기 제 1 병렬 처리 경로에서 상기 제 1 행렬 연산을 수행하는 단계는 상기 op코드에 기반하여 제 1 ALU에 대한 제 1 연산을 선택하는 단계를 포함하고; 그리고상기 op코드에 기반하여 상기 두 개의 병렬 처리 경로들 중 상기 제 2 병렬 처리 경로에서 상기 제 2 행렬 연산을 수행하는 단계는 상기 op코드에 기반하여 제 2 ALU에 대한 제 2 연산을 선택하는 단계를 포함하는,행렬 연산들을 수행하는 방법.
- 저장된 명령을 포함하는 기계-판독가능한 매체로서,상기 명령은,op코드에 기반하여 병렬 행렬 연산을 수행하기 위해 두 개의 병렬 처리 경로들의 개별 곱셈 스테이지들에서 데이터 의존성을 선택하기 위한 제 1 명령 세트;상기 op코드에 기반하여 상기 두 개의 병렬 처리 경로들의 개별 산술-논리 스테이지들에서 개별적인 산술-논리 연산들 및 데이터 의존성들을 선택하기 위한 제 2 명령 세트를 포함하는,기계-판독가능한 매체.
- 제48항에 있어서,상기 op코드는 휴지상태 op코드 및 곱셈 연산 op코드 중 적어도 하나를 포함하는,기계-판독가능한 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US79598106P | 2006-04-28 | 2006-04-28 | |
US60/795,981 | 2006-04-28 | ||
PCT/US2007/067721 WO2007127971A1 (en) | 2006-04-28 | 2007-04-29 | General purpose array processing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090005399A KR20090005399A (ko) | 2009-01-13 |
KR101047768B1 true KR101047768B1 (ko) | 2011-07-07 |
Family
ID=38421744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087028956A Expired - Fee Related KR101047768B1 (ko) | 2006-04-28 | 2007-04-29 | 범용 어레이 처리 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8250337B2 (ko) |
EP (1) | EP2013762B1 (ko) |
JP (1) | JP2009535721A (ko) |
KR (1) | KR101047768B1 (ko) |
CN (1) | CN101432723A (ko) |
WO (1) | WO2007127971A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483442B2 (en) | 2013-09-13 | 2016-11-01 | Kabushiki Kaisha Toshiba | Matrix operation apparatus |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8855040B1 (en) * | 2008-04-21 | 2014-10-07 | Google Inc. | Cross-cell MIMO |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
KR101107784B1 (ko) * | 2010-11-16 | 2012-01-20 | (주)대흥이엔지 | 파일형 방벽 |
US8804764B2 (en) | 2010-12-21 | 2014-08-12 | International Business Machines Corporation | Data path for data extraction from streaming data |
US20120198213A1 (en) * | 2011-01-31 | 2012-08-02 | International Business Machines Corporation | Packet handler including plurality of parallel action machines |
US9424043B1 (en) * | 2012-12-27 | 2016-08-23 | Altera Corporation | Forward-flow selection |
US10514911B2 (en) * | 2014-11-26 | 2019-12-24 | International Business Machines Corporation | Structure for microprocessor including arithmetic logic units and an efficiency logic unit |
CN110825439B (zh) * | 2018-08-10 | 2021-03-09 | 北京百度网讯科技有限公司 | 信息处理方法和处理器 |
US10963256B2 (en) | 2018-09-28 | 2021-03-30 | Intel Corporation | Systems and methods for performing instructions to transform matrices into row-interleaved format |
CN112929300B (zh) * | 2019-12-05 | 2024-05-03 | 深圳市中兴微电子技术有限公司 | 一种数据处理装置、方法、基站和存储介质 |
CN113918221B (zh) * | 2020-07-08 | 2025-04-08 | 上海寒武纪信息科技有限公司 | 运算模块、流水优化方法及相关产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030055861A1 (en) | 2001-09-18 | 2003-03-20 | Lai Gary N. | Multipler unit in reconfigurable chip |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62140137A (ja) * | 1985-12-16 | 1987-06-23 | Toshiba Corp | Aluを用いたデータ保持方法 |
US5117499A (en) * | 1988-01-22 | 1992-05-26 | Sharp Kabushiki Kaisha | Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs |
US4996661A (en) * | 1988-10-05 | 1991-02-26 | United Technologies Corporation | Single chip complex floating point numeric processor |
JP2869668B2 (ja) | 1990-06-13 | 1999-03-10 | 沖電気工業株式会社 | ディジタルデータの離散フーリエ又はコサイン変換装置 |
JPH05346935A (ja) | 1992-06-15 | 1993-12-27 | Sony Corp | 行列データ乗算装置および行列データ乗算方法 |
US5633897A (en) * | 1995-11-16 | 1997-05-27 | Atmel Corporation | Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm |
JP2970512B2 (ja) | 1995-12-28 | 1999-11-02 | 日本電気株式会社 | ベクトルプロセッサ |
US6029267A (en) * | 1997-11-25 | 2000-02-22 | Lucent Technologies Inc. | Single-cycle, soft decision, compare-select operation using dual-add processor |
US6421698B1 (en) * | 1998-11-04 | 2002-07-16 | Teleman Multimedia, Inc. | Multipurpose processor for motion estimation, pixel processing, and general processing |
JP2001092808A (ja) | 1999-09-24 | 2001-04-06 | Sanyo Electric Co Ltd | データ処理装置 |
WO2002037259A1 (en) * | 2000-11-01 | 2002-05-10 | Bops, Inc. | Methods and apparatus for efficient complex long multiplication and covariance matrix implementation |
JP2003016051A (ja) * | 2001-06-29 | 2003-01-17 | Nec Corp | 複素ベクトル演算プロセッサ |
JP3333779B2 (ja) | 2001-12-26 | 2002-10-15 | 松下電器産業株式会社 | 行列演算装置 |
JP2003346139A (ja) | 2002-05-23 | 2003-12-05 | Canon Inc | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US7567997B2 (en) * | 2003-12-29 | 2009-07-28 | Xilinx, Inc. | Applications of cascading DSP slices |
US7463628B2 (en) * | 2004-03-30 | 2008-12-09 | Extreme Networks, Inc. | Packet data modification processor command instruction set |
-
2007
- 2007-04-27 US US11/741,382 patent/US8250337B2/en active Active
- 2007-04-29 KR KR1020087028956A patent/KR101047768B1/ko not_active Expired - Fee Related
- 2007-04-29 EP EP07761537.5A patent/EP2013762B1/en not_active Not-in-force
- 2007-04-29 CN CNA2007800151052A patent/CN101432723A/zh active Pending
- 2007-04-29 WO PCT/US2007/067721 patent/WO2007127971A1/en active Application Filing
- 2007-04-29 JP JP2009508002A patent/JP2009535721A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030055861A1 (en) | 2001-09-18 | 2003-03-20 | Lai Gary N. | Multipler unit in reconfigurable chip |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483442B2 (en) | 2013-09-13 | 2016-11-01 | Kabushiki Kaisha Toshiba | Matrix operation apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN101432723A (zh) | 2009-05-13 |
EP2013762A1 (en) | 2009-01-14 |
EP2013762B1 (en) | 2018-09-19 |
US20080109635A1 (en) | 2008-05-08 |
KR20090005399A (ko) | 2009-01-13 |
JP2009535721A (ja) | 2009-10-01 |
US8250337B2 (en) | 2012-08-21 |
WO2007127971A9 (en) | 2008-10-16 |
WO2007127971A1 (en) | 2007-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101047768B1 (ko) | 범용 어레이 처리 | |
JP4927841B2 (ja) | 短い複素乗算器及び独立ベクトル・ロード・ユニットを含むクラスタードsimdマイクロ・アーキテクチャを有するプログラマブル・デジタル信号プロセッサ | |
JP5080469B2 (ja) | 複素ベクトル命令を実行するように構成されるクラスタードsimdマイクロ・アーキテクチャを含むプログラマブル・デジタル信号プロセッサ | |
Janhunen et al. | Fixed-and floating-point processor comparison for MIMO-OFDM detector | |
JP7506741B2 (ja) | 超特大クラスの高速ユニタリ変換を備えた特大多入力多出力アンテナシステムを用いる通信システム及び方法 | |
EP1866741B1 (en) | Canonical signed digit multiplier | |
Ahn et al. | Implementation of an SDR platform using GPU and its application to a 2× 2 MIMO WiMAX system | |
Jati et al. | SPQCop: Side-channel protected post-quantum cryptoprocessor | |
Liao et al. | Power-Saving 4$\times $4 Lattice-Reduction Processor for MIMO Detection With Redundancy Checking | |
Shahabuddin et al. | Programmable ASIPs for multimode MIMO transceiver | |
Weiss et al. | A new scalable DSP architecture for system on chip (SoC) domains | |
US7305608B2 (en) | DSL trellis encoding | |
Janhunen et al. | Fixed-versus floating-point implementation of MIMO-OFDM detector | |
Hänninen et al. | Novel detector implementations for 3G LTE downlink and uplink | |
Bertilsson et al. | Low-latency parallel hermitian positive-definite matrix inversion for massive mimo | |
US7676533B2 (en) | System for executing SIMD instruction for real/complex FFT conversion | |
CN103236903B (zh) | 一种改变数据序列顺序的装置 | |
WO2022061788A1 (en) | Versatile systolic array for maximum likelihood mimo detectors | |
JP6008194B2 (ja) | Fft/ifftを実行するバタフライ演算器を有するデジタルデータ処理プロセッサおよび移動通信端末 | |
Chen et al. | Design space exploration of SDR vector processor for 5G micro base stations | |
Kirubanandasarathy et al. | Design of pipeline R2MDC FFT for implementation of MIMO OFDM transceivers using FPGA | |
Mehdaoui et al. | The efficiency of the CORDIC Operator in the MIMO MC-CDMA receiver. | |
KR102628157B1 (ko) | Eht에 대한 p 매트릭스 | |
Eberli et al. | An IEEE 802.11 a baseband receiver implementation on an application specific processor | |
McAllister | High performance stream processing on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0105 | International application |
Patent event date: 20081126 Patent event code: PA01051R01D Comment text: International Patent Application |
|
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: 20100831 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: 20110627 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20110701 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20110701 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20140627 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20140627 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20150630 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160629 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20160629 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20170629 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20180628 Start annual number: 8 End annual number: 8 |
|
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20200412 |