KR102359265B1 - 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 - Google Patents
프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 Download PDFInfo
- Publication number
- KR102359265B1 KR102359265B1 KR1020150132608A KR20150132608A KR102359265B1 KR 102359265 B1 KR102359265 B1 KR 102359265B1 KR 1020150132608 A KR1020150132608 A KR 1020150132608A KR 20150132608 A KR20150132608 A KR 20150132608A KR 102359265 B1 KR102359265 B1 KR 102359265B1
- Authority
- KR
- South Korea
- Prior art keywords
- variable
- lookup table
- polynomial
- bits
- arithmetic operation
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 87
- 238000010586 diagram Methods 0.000 description 46
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/544—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 for evaluating functions by calculation
- G06F7/548—Trigonometric functions; Co-ordinate transformations
-
- 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/544—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 for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- 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/544—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 for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
-
- 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/544—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 for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
-
- 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/544—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 for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
-
- 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/30018—Bit or string 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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
-
- 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
-
- 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/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; 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/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
Abstract
Description
도 2는 일 실시예에 따른, 다항식을 이용하여 초등 함수를 근사화하는 것을 설명하기 위한 도면이다.
도 3a는 일 실시예에 따라, 초등 함수 f(x)를 계산하기 위한 산술 연산을 근사화하는 것을 설명하기 위한 도면이다.
도 3b는 일 실시예에 따라, 프로세싱 장치가 도 3a의 산술 연산을 수행하는 것을 설명하기 위한 도면이다.
도 4a는 다른 실시예에 따라, 초등 함수 f(x)를 계산하기 위한 산술 연산을 근사화하는 것을 설명하기 위한 도면이다.
도 4b는 다른 실시예에 따라, 프로세싱 장치가 도 4a의 산술 연산을 수행하는 것을 설명하기 위한 도면이다.
도 5는 변수 구간들의 크기가 동일한 경우를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른, 프로세싱 장치의 상세 하드웨어 구성을 도시한 블록도이다.
도 7은 일 실시예에 따른 룩업 테이블의 예시를 도시한 도면이다.
도 8은 일 실시예에 따라, 변수 구간, 상위 비트들의 개수 및 어드레스 사이의 관계에 대해 설명하기 위한 도면이다.
도 9는 일 실시예에 따라, 상위 비트들의 개수와 변수 구간 사이의 관계를 설명하기 위한 도면이다.
도 10은 일 실시예에 따라, 프로세싱 장치에서 룩업 테이블을 이용하여 산술 연산을 근사화한 다항식을 계산하는 과정을 설명하기 위한 도면이다.
도 11은 일 실시예에 따라, 10비트 변수 X로부터 획득된, 2차 다항식에 입력될 값들을 설명하기 위한 도면이다.
도 12는 다른 실시예에 따른 룩업 테이블의 예시를 도시한 도면이다.
도 13은 다른 실시예에 따라, 프로세싱 장치에서 룩업 테이블을 이용하여 산술 연산을 근사화한 다항식을 계산하는 과정을 설명하기 위한 도면이다.
도 14는 다른 실시예들에 따라, 룩업 테이블의 어드레스들을 설정하기 위한 상위 비트들의 개수들을 결정하는 방식들을 설명하기 위한 도면이다.
도 15는 고정된 개수의 상위 비트들을 이용하여 룩업 테이블의 어드레스들을 설정하는 경우를 설명하기 위한 도면이다.
도 16은 일 실시예에 따라, 초등 함수 log2(x)의 경우 룩업 테이블의 어드레스들을 설정하기 위한 상위 비트들의 개수들을 결정하는 방식을 설명하기 위한 도면이다.
도 17은 일 실시예에 따라, 초등 함수 1/x의 경우 룩업 테이블의 어드레스들을 설정하기 위한 상위 비트들의 개수들을 결정하는 방식을 설명하기 위한 도면이다.
도 18은 일 실시예에 따라, 초등 함수 의 경우 룩업 테이블의 어드레스들을 설정하기 위한 상위 비트들의 개수들을 결정하는 방식을 설명하기 위한 도면이다.
도 19는 일 실시예에 따라, 초등 함수 의 경우 룩업 테이블의 어드레스들을 설정하기 위한 상위 비트들의 개수들을 결정하는 방식을 설명하기 위한 도면이다.
도 20은 일 실시예에 따라, 초등 함수 ex의 경우 룩업 테이블의 어드레스들을 설정하기 위한 상위 비트들의 개수들을 결정하는 방식을 설명하기 위한 도면이다.
도 21은 일 실시예에 따라, 초등 함수 sin(x)의 경우 룩업 테이블의 어드레스들을 설정하기 위한 상위 비트들의 개수들을 결정하는 방식을 설명하기 위한 도면이다.
도 22는 일 실시예에 따른, 프로세싱 장치에서 연산을 수행하는 방법의 흐름도이다.
Claims (20)
- 프로세싱 장치에 의해, 주어진 변수에 대해 수행될 산술 연산을 근사화하는 다항식을 결정하는 단계;
상기 프로세싱 장치에 의해, 상기 주어진 변수가 속하는 변수 구간에 따라 메모리 디바이스에 저장된 룩업 테이블(LUT)에 어드레싱하기 위한 상위 비트들을 적응적으로(adaptively) 결정하는 단계;
상기 프로세싱 장치에 의해, 상기 적응적으로 결정된 상위 비트들의 값을 이용하여 상기 룩업 테이블에 어드레싱함으로써 상기 룩업 테이블로부터 상기 다항식의 계수들을 획득하는 단계; 및
상기 프로세싱 장치에 의해, 상기 획득된 계수들을 이용하여 상기 다항식의 결과 값을 산출함으로써 상기 산술 연산을 처리하는 단계를 포함하고,
상기 룩업 테이블의 어드레스들은
상기 산술 연산에 입력 가능한 변수들을 불균등하게(non-uniformly) 구분하는 변수 구간들 각각의 크기에 대응되는 개수의 상위 비트들을 이용하여 설정되고,
상기 룩업 테이블의 상기 어드레스들은
상기 다항식과 상기 산술 연산 간의 오차가 클수록 더 많은 개수의 상위 비트들을 이용하여 설정되고, 상기 오차가 작을수록 더 적은 개수의 상위 비트들을 이용하여 설정되는,
프로세싱 장치에서 연산을 수행하는 방법. - 제 1 항에 있어서,
상기 룩업 테이블의 어드레스들 각각은
불균일한(non-uniform) 개수의 상위 비트들을 이용하여 설정되는, 방법. - 삭제
- 제 1 항에 있어서,
상기 변수 구간들을 구분하기 위한 불균등 정도는 상기 오차에 기초하는, 방법. - 삭제
- 제 4 항에 있어서,
상기 불균등 정도는
상기 산술 연산의 종류에 따라 가변적이고(changeable),
상기 룩업 테이블은
상기 산술 연산의 종류에 따라, 상기 어드레스들로 이용되는 상위 비트들의 개수가 가변적인, 방법. - 제 1 항에 있어서,
상기 적응적으로 결정하는 단계는
상기 주어진 변수가 속하는 상기 변수 구간의 크기에 대응되는 개수를 갖는 상기 상위 비트들을 결정하는, 방법. - 제 1 항에 있어서,
상기 주어진 변수가 n비트(n은 자연수)이고 상기 결정된 상위 비트들이 m비트(m은 자연수)인 경우, 상기 결정된 다항식의 입력 변수는 상기 주어진 변수에서 (n-m)비트의 하위 비트들의 값이고,
상기 처리하는 단계는
상기 (n-m)비트의 상기 하위 비트들의 값에 대응되는 상기 입력 변수 및 상기 획득된 계수들로 상기 다항식의 상기 결과 값을 산출함으로써, 상기 산술 연산을 처리하는, 방법. - 제 1 항에 있어서,
상기 산술 연산은
제곱근(square root) 함수, 역수(reciprocal) 함수, 로그(log) 함수, 지수(exponential) 함수, 멱급수(power series) 함수 및 삼각(trigonometric) 함수 중 적어도 하나를 포함하는 초등 함수(elementary function)를 처리하기 위한 연산인, 방법. - 제 1 항에 있어서,
상기 룩업 테이블의 어드레스들 각각은
상기 산술 연산에 입력 가능한 변수들을 불균등하게 구분하는 변수 구간들 각각에 대응되는, 방법. - 제 1 항에 있어서,
상기 룩업 테이블은
상기 다항식이 k차 다항식인 경우, 어드레스들 각각마다 상기 k차 다항식의 (k+1)개의 계수들이 매핑되어 있는, 방법. - 제 1 항, 제 2 항, 제 4 항, 제 6 항 내지 제 11 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 주어진 변수에 대해 수행될 산술 연산을 근사화하는 다항식을 결정하는 다항식 변환부;
상기 주어진 변수가 속하는 변수 구간에 따라, 메모리 디바이스에 저장된 룩업 테이블(LUT)에 어드레싱하기 위한 상위 비트들을 적응적으로(adaptively) 결정하는 어드레싱부;
상기 적응적으로 결정된 상위 비트들의 값을 이용하여 상기 룩업 테이블에 어드레싱함으로써 상기 룩업 테이블로부터 상기 다항식의 계수들을 획득하는 획득부; 및
상기 획득된 계수들을 이용하여 상기 다항식의 결과 값을 산출함으로써 상기 산술 연산을 처리하는 산출부를 포함하고,
상기 룩업 테이블의 어드레스들은
상기 산술 연산에 입력 가능한 변수들을 불균등하게(non-uniformly) 구분하는 변수 구간들 각각의 크기에 대응되는 개수의 상위 비트들을 이용하여 설정되고,
상기 룩업 테이블의 상기 어드레스들은
상기 다항식과 상기 산술 연산 간의 오차가 클수록 더 많은 개수의 상위 비트들을 이용하여 설정되고, 상기 오차가 작을수록 더 적은 개수의 상위 비트들을 이용하여 설정되는,
연산을 수행하는 프로세싱 장치. - 제 13 항에 있어서,
상기 룩업 테이블의 어드레스들은
불균일한(non-uniform) 개수의 상위 비트들을 이용하여 설정되는, 프로세싱 장치. - 삭제
- 제 13 항에 있어서,
상기 변수 구간들을 구분하기 위한 불균등 정도는 상기 오차에 기초하는, 프로세싱 장치. - 제 16 항에 있어서,
상기 불균등 정도는
상기 산술 연산의 종류에 따라 가변적이고(changeable),
상기 룩업 테이블은
상기 산술 연산의 종류에 따라, 상기 어드레스들로 이용되는 상위 비트들의 개수가 가변적인, 프로세싱 장치. - 제 13 항에 있어서,
상기 어드레싱부는
상기 주어진 변수가 속하는 상기 변수 구간의 크기에 대응되는 개수를 갖는 상기 상위 비트들을 결정하는, 프로세싱 장치. - 제 13 항에 있어서,
상기 주어진 변수가 n비트(n은 자연수)이고 상기 결정된 상위 비트들이 m비트(m은 자연수)인 경우, 상기 결정된 다항식의 입력 변수는 상기 주어진 변수에서 (n-m)비트의 하위 비트들의 값이고,
상기 산출부는
상기 (n-m)비트의 상기 하위 비트들의 값에 대응되는 상기 입력 변수 및 상기 획득된 계수들로 상기 다항식의 상기 결과 값을 산출함으로써, 상기 산술 연산을 처리하는, 프로세싱 장치. - 제 13 항에 있어서,
상기 룩업 테이블의 어드레스들 각각은
상기 산술 연산에 입력 가능한 변수들을 불균등하게 구분하는 변수 구간들 각각에 대응되는, 프로세싱 장치.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150132608A KR102359265B1 (ko) | 2015-09-18 | 2015-09-18 | 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 |
US15/076,084 US10268451B2 (en) | 2015-09-18 | 2016-03-21 | Method and processing apparatus for performing arithmetic operation |
EP16166074.1A EP3144805B1 (en) | 2015-09-18 | 2016-04-19 | Method and processing apparatus for performing arithmetic operation |
CN201610751357.2A CN106547515B (zh) | 2015-09-18 | 2016-08-29 | 用于执行算术运算的方法和处理设备 |
JP2016169475A JP6908362B2 (ja) | 2015-09-18 | 2016-08-31 | 算術演算を行う方法及び処理装置 |
US16/358,486 US10540145B2 (en) | 2015-09-18 | 2019-03-19 | Method and processing apparatus for performing arithmetic operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150132608A KR102359265B1 (ko) | 2015-09-18 | 2015-09-18 | 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170034217A KR20170034217A (ko) | 2017-03-28 |
KR102359265B1 true KR102359265B1 (ko) | 2022-02-07 |
Family
ID=55860690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150132608A Active KR102359265B1 (ko) | 2015-09-18 | 2015-09-18 | 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10268451B2 (ko) |
EP (1) | EP3144805B1 (ko) |
JP (1) | JP6908362B2 (ko) |
KR (1) | KR102359265B1 (ko) |
CN (1) | CN106547515B (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102359265B1 (ko) | 2015-09-18 | 2022-02-07 | 삼성전자주식회사 | 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 |
US10768896B2 (en) | 2017-12-21 | 2020-09-08 | Intel Corporation | Apparatus and method for processing fractional reciprocal operations |
US10664237B2 (en) * | 2017-12-21 | 2020-05-26 | Intel Corporation | Apparatus and method for processing reciprocal square root operations |
JP6995629B2 (ja) * | 2018-01-05 | 2022-01-14 | 日本電信電話株式会社 | 演算回路 |
EP3806071B1 (en) * | 2018-05-25 | 2023-03-22 | Nippon Telegraph And Telephone Corporation | Secret collective approximation system, secret calculation device, secret collective approximation method, and program |
KR102040120B1 (ko) * | 2018-07-27 | 2019-11-05 | 주식회사 크립토랩 | 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법 |
CN109246731B (zh) * | 2018-10-23 | 2021-08-20 | 京信网络系统股份有限公司 | Prb干扰指标的优化方法、装置、计算机存储介质及设备 |
GB2580138B (en) * | 2018-12-21 | 2021-01-13 | Graphcore Ltd | Function approximation |
US11327754B2 (en) * | 2019-03-27 | 2022-05-10 | Intel Corporation | Method and apparatus for approximation using polynomials |
CN110197219B (zh) * | 2019-05-25 | 2023-04-18 | 天津大学 | 一种支持数据分类的贝叶斯分类器的硬件实现方法 |
US10839060B1 (en) * | 2019-08-27 | 2020-11-17 | Capital One Services, Llc | Techniques for multi-voice speech recognition commands |
US11552650B2 (en) * | 2019-10-03 | 2023-01-10 | Raytheon Company | Methods to compress range doppler map (RDM) values from floating point to decibels (dB) |
CN112947908B (zh) * | 2021-02-26 | 2024-09-13 | 上海商汤智能科技有限公司 | 代码生成方法、装置、设备及存储介质 |
JPWO2024009371A1 (ko) * | 2022-07-04 | 2024-01-11 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070208796A1 (en) | 2006-03-03 | 2007-09-06 | Peter Lablans | Methods and apparatus in finite field polynomial implementations |
US20140222883A1 (en) | 2011-12-21 | 2014-08-07 | Jose-Alejandro Pineiro | Math circuit for estimating a transcendental function |
US20150100612A1 (en) | 2013-10-08 | 2015-04-09 | Samsung Electronics Co., Ltd. | Apparatus and method of processing numeric calculation |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3790307B2 (ja) | 1996-10-16 | 2006-06-28 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
US6256653B1 (en) * | 1997-10-23 | 2001-07-03 | Advanced Micro Devices, Inc. | Multi-function bipartite look-up table |
US6642931B1 (en) * | 2000-10-05 | 2003-11-04 | Canon Kabushiki Kaisha | Dynamically-generated color look-up table |
US6976043B2 (en) | 2001-07-30 | 2005-12-13 | Ati Technologies Inc. | Technique for approximating functions based on lagrange polynomials |
US6954885B2 (en) | 2001-12-14 | 2005-10-11 | Qualcomm Incorporated | Method and apparatus for coding bits of data in parallel |
US7702709B2 (en) | 2002-06-21 | 2010-04-20 | Broadcom Corporation | System and method for optimizing approximation functions |
KR100433131B1 (ko) | 2002-07-31 | 2004-05-28 | 학교법인연세대학교 | 작은 사이즈의 룩업 테이블을 갖는 파이프라인 나눗셈연산기 및 연산방법 |
US7352911B2 (en) * | 2003-07-31 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Method for bilateral filtering of digital images |
DE602004028849D1 (de) * | 2003-10-14 | 2010-10-07 | Panasonic Corp | Datenumsetzer |
JP3845636B2 (ja) | 2004-01-21 | 2006-11-15 | 株式会社東芝 | 関数近似値の演算器 |
US7366745B1 (en) | 2004-06-03 | 2008-04-29 | Nvidia Corporation | High-speed function approximation |
US20070074008A1 (en) * | 2005-09-28 | 2007-03-29 | Donofrio David D | Mixed mode floating-point pipeline with extended functions |
TWI310911B (en) | 2005-09-29 | 2009-06-11 | Innovative Sonic Ltd | Method and apparatus for initiating a storage window in a periodic packet retransmission wireless communications system operated in unacknowledged mode |
US8346831B1 (en) | 2006-07-25 | 2013-01-01 | Vivante Corporation | Systems and methods for computing mathematical functions |
US9600236B2 (en) | 2006-07-25 | 2017-03-21 | Vivante Corporation | Systems and methods for computing mathematical functions |
US9170776B2 (en) | 2009-01-30 | 2015-10-27 | Intel Corporation | Digital signal processor having instruction set with a logarithm function using reduced look-up table |
US9128790B2 (en) | 2009-01-30 | 2015-09-08 | Intel Corporation | Digital signal processor having instruction set with an exponential function using reduced look-up table |
US9207910B2 (en) | 2009-01-30 | 2015-12-08 | Intel Corporation | Digital signal processor having instruction set with an xK function using reduced look-up table |
US8914801B2 (en) | 2010-05-27 | 2014-12-16 | International Business Machine Corporation | Hardware instructions to accelerate table-driven mathematical computation of reciprocal square, cube, forth root and their reciprocal functions, and the evaluation of exponential and logarithmic families of functions |
CN103336877B (zh) * | 2013-07-25 | 2016-03-16 | 哈尔滨工业大学 | 一种基于rvm动态可重构的卫星锂离子电池剩余寿命预测系统及方法 |
US9467174B2 (en) * | 2014-03-14 | 2016-10-11 | Samsung Electronics Co., Ltd. | Low complexity high-order syndrome calculator for block codes and method of calculating high-order syndrome |
CN107247992B (zh) * | 2014-12-30 | 2019-08-30 | 合肥工业大学 | 一种基于列梅兹逼近算法的sigmoid函数拟合硬件电路 |
KR102359265B1 (ko) | 2015-09-18 | 2022-02-07 | 삼성전자주식회사 | 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 |
-
2015
- 2015-09-18 KR KR1020150132608A patent/KR102359265B1/ko active Active
-
2016
- 2016-03-21 US US15/076,084 patent/US10268451B2/en active Active
- 2016-04-19 EP EP16166074.1A patent/EP3144805B1/en active Active
- 2016-08-29 CN CN201610751357.2A patent/CN106547515B/zh active Active
- 2016-08-31 JP JP2016169475A patent/JP6908362B2/ja active Active
-
2019
- 2019-03-19 US US16/358,486 patent/US10540145B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070208796A1 (en) | 2006-03-03 | 2007-09-06 | Peter Lablans | Methods and apparatus in finite field polynomial implementations |
US20140222883A1 (en) | 2011-12-21 | 2014-08-07 | Jose-Alejandro Pineiro | Math circuit for estimating a transcendental function |
US20150100612A1 (en) | 2013-10-08 | 2015-04-09 | Samsung Electronics Co., Ltd. | Apparatus and method of processing numeric calculation |
Also Published As
Publication number | Publication date |
---|---|
KR20170034217A (ko) | 2017-03-28 |
JP6908362B2 (ja) | 2021-07-28 |
US20170083287A1 (en) | 2017-03-23 |
EP3144805A1 (en) | 2017-03-22 |
CN106547515B (zh) | 2022-04-26 |
EP3144805B1 (en) | 2019-06-26 |
JP2017059229A (ja) | 2017-03-23 |
US10268451B2 (en) | 2019-04-23 |
US10540145B2 (en) | 2020-01-21 |
CN106547515A (zh) | 2017-03-29 |
US20190243609A1 (en) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102359265B1 (ko) | 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 | |
US11656845B2 (en) | Dot product calculators and methods of operating the same | |
US10445300B2 (en) | Automatically generating a semantic mapping for a relational database | |
TWI796286B (zh) | 一種機器學習系統的訓練方法和訓練系統 | |
US12141229B2 (en) | Techniques for accelerating matrix multiplication computations using hierarchical representations of sparse matrices | |
JP2021026753A (ja) | パラメータテーブルの記憶スペースを削減する方法、装置、デバイス、およびコンピュータ可読記憶媒体 | |
CN110435154A (zh) | 用于3d打印的图像处理方法、装置、电子设备及存储介质 | |
US11941078B2 (en) | Set operations using multi-core processing unit | |
KR102559930B1 (ko) | 수학적 함수들을 연산하기 위한 시스템 및 방법들 | |
CN113778375A (zh) | 用于神经网络的增强型乘法累加设备 | |
KR102281047B1 (ko) | 4개의 입력 내적 회로를 사용하는 삼각 함수 계산 | |
CN108257079B (zh) | 图形变换方法及装置 | |
EP3923132B1 (en) | Device for performing multiply/accumulate operations | |
KR102315279B1 (ko) | 작업 그룹의 크기를 결정하는 장치 및 방법 | |
US11709812B2 (en) | Techniques for generating and processing hierarchical representations of sparse matrices | |
US12211080B2 (en) | Techniques for performing matrix computations using hierarchical representations of sparse matrices | |
CN119397042A (zh) | 基于索引表的图像处理方法和装置 | |
JP2013037482A (ja) | 情報処理方法、情報処理装置、及びプログラム | |
JP2016071861A (ja) | データを演算する方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20150918 |
|
PG1501 | Laying open of application | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20200918 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20150918 Comment text: Patent Application |
|
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: 20211028 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220128 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20220203 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |