# US 2019/0171941 A1 · Electronic device, accelerator, and accelerating method applicable to convolutional neural network computation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0171941 A1
- Document ID: US20190171941A1
- Status: Published application
- Kind: A1
- Application number: 16/203,686
- Filed: 2018-11-29
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: Abee Technology Co., Ltd.
- Applicants: Abee Technology Co., Ltd.
- Inventors: Nhon-Toai QUACH; Chung-Chieh CHEN; Kong-Qiao WANG; Wen-Fu TSAI; Tzu-Wei YEH; Chung-Hao CHENG; Hui-Min LU
- Web page: https://patentgrep.com/patent/US20190171941A1

## CPC

- G06N 3/10: Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/3234: Power saving characterised by the action undertaken
- G06F 1/3243: {Power saving in microcontroller unit}
- G06F 7/5443: {Sum of products (for applications thereof, see the relevant places, e.g. G06F17/10, H03H17/00)}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/4893: {taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- G06F 9/5044: {considering hardware capabilities}
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/063: using electronic means
- G06F 1/3237: by disabling clock generation or distribution
- G06F 1/324: by lowering clock frequency
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

An electronic device comprises a data transmitting interface configured to transmit data, a memory configured to store the data, a processor configured to execute an application program, and an accelerator coupled to the processor via a bus. According to an operation request transmitted from the processor, the accelerator reads the data from the memory, performs an operation to the data to generate computed data, and stores the computed data in the memory. The electronic device can improve computational efficiency. An accelerator and an accelerating method applicable to a neural network operation are also provided.

## Claims

### Claim 1

An electronic device, comprising:
a data transmitting interface configured to transmit data;
a memory configured to store the data;
a processor configured to execute an application program; and
an accelerator coupled to the processor via a bus, and according to an operation request transmitted from the processor, the accelerator is configured to read the data from the memory, perform an operation to the data to generate computed data, and store the computed data in the memory,
wherein the processor is in a power saving state when the accelerator performs the operation.

### Claim 2 (depends on 1)

The electronic device according to claim 1, wherein the memory comprises a first memory directly connected to the accelerator.

### Claim 3 (depends on 2)

The electronic device according to claim 2, wherein the memory comprises a second memory coupled to the processor via the bus.

### Claim 4 (depends on 3)

The electronic device according to claim 3, wherein the data is stored in the first memory and the computed data is stored in the second memory.

### Claim 5 (depends on 3)

The electronic device according to claim 3, wherein the data and the computed data are stored in the first memory, and the second memory stores data related to the application program.

### Claim 6 (depends on 1)

The electronic device according to claim 1, wherein the memory is coupled to the processor via the bus, both the data and the computed data are stored in the memory, and when the accelerator and the processor simultaneously access the memory, the accelerator has priority over the processor.

### Claim 7 (depends on 1)

The electronic device according to claim 1, wherein the bus comprises a first bus and a second bus, transmission speed of the first bus is higher than the transmission speed of the second bus, and both the processor and the accelerator are coupled to the first bus.

### Claim 8 (depends on 7)

The electronic device according to claim 7, wherein the accelerator is coupled to the processor via the second bus.

### Claim 9 (depends on 1)

The electronic device according to claim 1, further comprising a system control unit, wherein the data transmitting interface is disposed in the system control unit.

### Claim 10 (depends on 1)

The electronic device according to claim 1, wherein the processor optionally operates under an operation mode and a power saving mode, and the processor is in the power saving mode when the accelerator performs the operation.

### Claim 11 (depends on 1)

The electronic device according to claim 1, wherein the operation comprises Convolution operation, Rectified Linear Units (ReLu) operation, and Max Pooling operation.

### Claim 12 (depends on 1)

The electronic device according to claim 1, wherein the accelerator comprises:
a controller;
a register configured to store a plurality of parameters required by the operation;
an arithmetic unit configured to perform the operation; and
a reader/writer configured to perform reading and/or writing operations to the memory.

### Claim 13 (depends on 12)

The electronic device according to claim 12, wherein the arithmetic unit comprises a multiply-accumulator.

### Claim 14 (depends on 12)

The electronic device according to claim 12, wherein the reader/writer reads the data and corresponding weights from the memory and writes the computed data to the memory.

### Claim 15

An accelerator for performing a neural network operation to data in a memory, comprising:
a register configured to store a plurality of parameters related to the neural network operation;
a reader/writer configured to read the data from the memory;
a controller coupled to the register and the reader/writer; and
an arithmetic unit coupled to the controller, based on the parameters, the controller controlling the arithmetic unit to perform the neural network operation to the data to generate computed data.

### Claim 16 (depends on 15)

The accelerator according to claim 15, wherein the reader/writer comprises an arbitration logic unit configured to receive a request to access the memory and allow the accelerator to have priority to access the memory.

### Claim 17 (depends on 15)

The accelerator according to claim 15, wherein the arithmetic unit comprises:
a multiply array configured to receive the data and corresponding weighs and perform multiplication to the data and the weights;
an adder configured to sum up products; and
a carry-lookahead adder (CLA) configured to sum up values outputted by the adder by taking a sum of the values as an input and adding up the sum and a value outputted by the adder.

### Claim 18 (depends on 15)

The accelerator according to claim 15, wherein the computed data is directly transmitted to the memory and stored in the memory.

### Claim 19

An accelerating method applicable to a neural network operation, comprising:
(a) receiving data;
(b) utilizing a processor to execute a neural network application program;
(c) in execution of the neural network application program, storing the data in a memory and sending a first signal to an accelerator;
(d) using the accelerator to perform the neural network operation to generate computed data;
(e) sending a second signal to the processor by using the accelerator after the neural network operation is accomplished;
(f) continuing executing the neural network application program using the processor; and
(g) determining whether to run the accelerator; if yes, the processor sends a third signal to the accelerator and goes back to step (d); if no, terminate the process.

### Claim 20 (depends on 19)

The accelerating method according to claim 19, wherein step (d) comprises:
sending a wait-for-interrupt (WFI) instruction to the processor to put the processor into an idle state.

### Claim 21 (depends on 19)

The accelerating method according to claim 19, wherein in step (e), the second signal represents an interrupt sending from the accelerator to the processor.

### Claim 22 (depends on 19)

The accelerating method according to claim 19, wherein step (d) comprises:
sending a fourth signal to a system control unit to put the processor into a power saving mode, and wherein step (e) comprises:
sending a fifth signal to the system control unit to restore the processor back to an operation mode.
