KR20200032005A - 산술 논리 유닛, 데이터 처리 시스템, 방법 및 모듈 - Google Patents
산술 논리 유닛, 데이터 처리 시스템, 방법 및 모듈 Download PDFInfo
- Publication number
- KR20200032005A KR20200032005A KR1020190113463A KR20190113463A KR20200032005A KR 20200032005 A KR20200032005 A KR 20200032005A KR 1020190113463 A KR1020190113463 A KR 1020190113463A KR 20190113463 A KR20190113463 A KR 20190113463A KR 20200032005 A KR20200032005 A KR 20200032005A
- Authority
- KR
- South Korea
- Prior art keywords
- unit
- input
- difference
- determining
- output
- 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
- 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
- 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/4833—Logarithmic number system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5235—Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Nonlinear Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Memory System (AREA)
- Complex Calculations (AREA)
Abstract
Description
도 1은 공지된 승산기 누산기 유닛을 개략적으로 도시한다;
도 2는 예에 따른 데이터 처리 방법을 도시한 흐름도;
도 3은 예에 따른 승신기 누산기 유닛을 개략적으로 도시한다;
도 4는 예에 따른 도 3의 승산기 누산기 유닛의 대수 가산 모듈의 내부 구성 요소를 개략적으로 도시한다;
도 5는 예에 따른 산술 논리 유닛을 개략적으로 도시한다;
도 6은 도 2의 신경망 가속기의 내부 구성 요소를 개략적으로 도시한다; 및
도 7은 예에 따른 데이터 처리 방법과 함께 사용하기 위한 컴퓨터 장치를 개략적으로 도시한다.
Claims (17)
- 산술 논리 유닛으로서:
제1 입력 및 제2 입력의 합을 결정하기 위한 가산 유닛; 및
상기 합과 제3 입력을 사용하여 출력을 결정하기 위한 대수 가산 유닛을 포함하되,
상기 출력은 제1, 제2 및 제3 입력이 대수 도메인으로 표현되는 경우에 대수 도메인으로 표현되는 승산 누산 출력인, 산술 논리 유닛. - 청구항 1에 있어서, 제1 및 제2 입력 중 적어도 하나를 생성하기 위하여 데이터를 선형 도메인으로부터 대수 도메인으로 변환하기 위한 대수 변환 유닛을 포함하는, 산술 논리 유닛.
- 청구항 1 또는 청구항 2에 있어서, 상기 출력을 수신하도록 배치된 하나 이상의 레지스터를 포함하며, 상기 하나 이상의 레지스터는 복수개의 단일 비트 저장 장치를 포함하는, 산술 논리 유닛.
- 청구항 3에 있어서, 상기 제3 입력은 하나 이상의 레지스터로부터 유도되는, 산술 논리 유닛.
- 청구항 1 내지 청구항 4 중 어느 한 항에 있어서, 상기 대수 가산 유닛은 대수 도메인으로 표현된 차이의 정수 부분 및 분수 부분을 결정하는 논리 요소를 포함하는, 산술 논리 유닛.
- 청구항 1 내지 청구항 5 중 어느 한 항에 기재된 산술 논리 유닛을 포함하는, 신경망 가속기.
- 데이터 처리 시스템으로서,
프로세서;
하나 이상의 산술 논리 유닛을 포함하는 신경망 가속기; 및
스토리지를 포함하되,
상기 산술 논리 유닛은 대수 도메인에서 데이터 처리 동작을 수행하도록 구성되는, 데이터 처리 시스템. - 청구항 7에 있어서, 상기 프로세서는:
중앙 처리 유닛;
이미지 신호 프로세서;
디지털 신호 프로세서;
어플리케이션 특정 집적 회로; 또는
필드 프로그래머블 게이트 어레이
중 임의의 하나인, 데이터 처리 시스템. - 청구항 7 또는 청구항 8에 있어서, 상기 산술 논리 유닛은 청구항 1 기재의 산술 논리 유닛인, 데이터 처리 시스템.
- 출력을 생성하기 위한 데이터 처리 모듈로서:
제1 입력과 제2 입력 사이의 최대값을 결정하기 위한 최대 검출 유닛;
상기 제1 입력과 상기 제2 입력 사이의 차이를 결정하기 위한 차이 유닛; 및
상기 차이의 정수 부분 및 분수 부분을 결정하기 위한 분수 분리 유닛을 포함하되,
상기 출력은 제1 입력 및 제2 입력이 대수 도메인으로 표현되는 경우에 대수 도메인으로 표현되는, 데이터 처리 모듈. - 청구항 10에 있어서, 상기 차이 유닛은 상기 차이의 절대값을 결정하기 위한 모듈러스 유닛을 포함하는, 데이터 처리 모듈.
- 청구항 10 또는 청구항 11에 있어서, 상기 분수 분리 유닛은 상기 차이를 라운딩(rounding)하기 위한 라운딩 모듈 및 상기 제1 차이와 라운딩된 차이 사이의 제2 차이를 결정하기 위한 제2 감산 유닛을 포함하는, 데이터 처리 모듈.
- 청구항 10 내지 청구항 12 중 어느 한 항에 있어서,
상기 분수 부분의 역(inverse)을 결정하기 위한 반전 유닛;
상기 역을 상기 정수 부분만큼 시프트하여 시프트된 값을 생성하기 위한 시프트 유닛; 및
출력을 결정하기 위한 가산 유닛을 포함하되,
상기 출력은 시프트된 값과 최대값의 합인, 데이터 처리 모듈. - 데이터 처리 방법으로서,
제1 입력 및 제2 입력을 수신하는 단계;
상기 제1 입력과 상기 제2 입력 사이의 최대값을 결정하는 단계;
상기 제1 입력과 상기 제2 입력 사이의 차이를 결정하는 단계;
상기 차이의 정수 부분 및 분수 부분을 결정하는 단계;
상기 분수 부분의 역을 계산하는 단계;
상기 역을 상기 정수 부분만큼 시프트하여 시프트된 값을 생성하는 단계; 및
데이터 프로세서에 의해 사용하기 위한 출력을 생성하기 위해 시프트된 값 및 최대값을 가산하는 단계를 포함하되,
상기 출력은 상기 제1 입력과 상기 제2 입력이 대수 도메인으로 표현되는 경우에 대수 도메인으로 표현되는, 데이터 처리 방법. - 청구항 14에 있어서, 상기 데이터 프로세서는:
중앙 처리 유닛;
이미지 신호 프로세서 ;
디지털 신호 프로세서 ;
애플리케이션 특정 집적 회로 ; 또는
필드 프로그래머블 게이트 어레이 중 임의의 하나를 포함하는, 데이터 처리 방법. - 청구항 14 또는 청구항 15에 있어서, 차이를 결정하는 단계는 차이의 절대값을 결정하는 단계를 더 포함하는, 데이터 처리 방법.
- 청구항 14 내지 청구항 16 중 어느 한 항에 있어서, 정수 부분과 분수 부분을 결정하는 단계는 라운드된 값을 생성하기 위하여 차이를 라운딩하는 단계 및 상기 차이와 상기 라운드된 값 사이의 제2 차이를 계산하는 단계를 포함하는, 데이터 처리 방법.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1815141.5 | 2018-09-17 | ||
| GB1815141.5A GB2577132B (en) | 2018-09-17 | 2018-09-17 | Arithmetic logic unit, data processing system, method and module |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200032005A true KR20200032005A (ko) | 2020-03-25 |
| KR102764712B1 KR102764712B1 (ko) | 2025-02-07 |
Family
ID=64013242
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190113463A Active KR102764712B1 (ko) | 2018-09-17 | 2019-09-16 | 산술 논리 유닛, 데이터 처리 시스템, 방법 및 모듈 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11169782B2 (ko) |
| KR (1) | KR102764712B1 (ko) |
| CN (1) | CN110908714B (ko) |
| GB (1) | GB2577132B (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11693625B2 (en) * | 2019-12-04 | 2023-07-04 | Flex Logix Technologies, Inc. | Logarithmic addition-accumulator circuitry, processing pipeline including same, and methods of operation |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4727508A (en) * | 1984-12-14 | 1988-02-23 | Motorola, Inc. | Circuit for adding and/or subtracting numbers in logarithmic representation |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4720809A (en) * | 1984-09-21 | 1988-01-19 | University Of Florida | Hybrid floating point/logarithmic number system arithmetic processor |
| US5944774A (en) * | 1997-09-26 | 1999-08-31 | Ericsson Inc. | Methods apparatus and computer program products for accumulating logarithmic values |
| US20110153995A1 (en) * | 2009-12-18 | 2011-06-23 | Electronics And Telecommunications Research Institute | Arithmetic apparatus including multiplication and accumulation, and dsp structure and filtering method using the same |
| CN106485315B (zh) * | 2015-10-08 | 2019-06-04 | 上海兆芯集成电路有限公司 | 具有输出缓冲器反馈与遮蔽功能的神经网络单元 |
| CN107220025B (zh) * | 2017-04-24 | 2020-04-21 | 华为机器有限公司 | 处理乘加运算的装置和处理乘加运算的方法 |
-
2018
- 2018-09-17 GB GB1815141.5A patent/GB2577132B/en active Active
-
2019
- 2019-08-14 US US16/540,547 patent/US11169782B2/en active Active
- 2019-09-12 CN CN201910866141.4A patent/CN110908714B/zh active Active
- 2019-09-16 KR KR1020190113463A patent/KR102764712B1/ko active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4727508A (en) * | 1984-12-14 | 1988-02-23 | Motorola, Inc. | Circuit for adding and/or subtracting numbers in logarithmic representation |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200089474A1 (en) | 2020-03-19 |
| GB2577132A (en) | 2020-03-18 |
| KR102764712B1 (ko) | 2025-02-07 |
| CN110908714A (zh) | 2020-03-24 |
| CN110908714B (zh) | 2025-03-04 |
| US11169782B2 (en) | 2021-11-09 |
| GB2577132B (en) | 2021-05-26 |
| GB201815141D0 (en) | 2018-10-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12067375B2 (en) | Systolic array including fused multiply accumulate with efficient prenormalization and extended dynamic range | |
| US10817260B1 (en) | Reducing dynamic power consumption in arrays | |
| CN109635916B (zh) | 具有可变输出数据格式的深度神经网络的硬件实现 | |
| CA3083043C (en) | System and method of floating point multiply operation processing | |
| CN109521994B (zh) | 乘法硬件电路、片上系统及电子设备 | |
| CN112528219B (zh) | 存储器装置及其运算方法、计算设备 | |
| KR20150145167A (ko) | 단채널 컨볼루션 레이어를 위한 처리 방법 및 장치, 및 다채널 컨볼루션 레이어를 위한 처리 방법 및 장치 | |
| CN111596886B (zh) | 混合矩阵乘法流水线 | |
| US20180088905A1 (en) | Computing and summing up multiple products in a single multiplier | |
| US9448767B2 (en) | Three-term predictive adder and/or subtracter | |
| Yamada et al. | A 20.5 TOPS multicore SoC with DNN accelerator and image signal processor for automotive applications | |
| KR102764712B1 (ko) | 산술 논리 유닛, 데이터 처리 시스템, 방법 및 모듈 | |
| US20140372493A1 (en) | System and method for accelerating evaluation of functions | |
| WO2019082511A1 (ja) | 演算装置及び車載制御装置 | |
| Jothin et al. | High performance modified static segment approximate multiplier based on significance probability | |
| CN115099176B (zh) | 优化电路的方法、电子设备及存储介质 | |
| US10146504B2 (en) | Division using the Newton-Raphson method | |
| CN107533456B (zh) | 对数和指数指令的扩展使用 | |
| US20250038978A1 (en) | Cryptography processor and method of operating the same | |
| US20260111174A1 (en) | Tensor processing circuitry | |
| US20260031978A1 (en) | Paillier cryptosystem with improved performance | |
| FATHI et al. | Improving Accuracy, Area and Speed of Approximate Floating-Point Multiplication Using Carry Prediction | |
| Jothin et al. | High performance static segment on-Chip memory for image processing applications | |
| CN115658004A (zh) | 用于执行浮点型数据运算的方法和装置 | |
| GB2641576A (en) | Saturation logic |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20190916 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20220810 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20190916 Comment text: Patent Application |
|
| N231 | Notification of change of applicant | ||
| PN2301 | Change of applicant |
Patent event date: 20220929 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20240425 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: 20241129 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20250204 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20250205 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |








