IP Library Granted Patent US 7,853,733
Granted Patent B2
US 7,853,733 · App. 11/984,432 · Granted Dec 14, 2010

Operational circuit

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,853,733
App. No.
11/984,432
Granted
Dec 14, 2010
Kind
B2
Abstract

An operational circuit for performing an operation of an arbitrary number of input data pieces by using a DMA transfer according to a descriptor control and output results. The arbitrary number of input data pieces are divided into a plurality of pieces to perform an operation processing without performing the operation of the arbitrary number of input data pieces at a time. The operational circuit once stores an intermediate result for each of the divided operations in an external storage device, performs an operation processing read with an intermediate result in the next operation processing, and obtains a final result by repeating these operation processings. The operation is performed at a cyclic unit of processing corresponding to the number of address registers provided in the operational circuit.

Claims (38)

1. An operational circuit which performs a predetermined operation on M data (M is an integer) discretely stored in an external storage device using a DMA transfer according to a descriptor, the operational circuit comprising:

N address registers (N is an integer) each retaining an address on an external storage device where data associated with the address is stored, as address information in the DMA transfer; and

a data register retaining data to be stored in the external storage device, wherein

when M is greater than N, and a data size of each M data is greater than that of the data register, a first cycle is assigned to first to N data and a second cycle is assigned to N+1 to M data,

(1) partial data of each of M data, having a data size that is smaller than or equal to that of the data register, is read from an address space specified by a corresponding one of N address registers by the DMA transfer according to the descriptor, (2) the predetermined operation is performed on the partial data and data stored in the data register, and (3) a result of the predetermined operation is stored in the data register,

in the first cycle, the (1)-(3) processes are performed on partial data of the respective first to N data in this order, and when the first to N data include non-processed partial data, the (1)-(3) processes are performed on remaining partial data of the respective first to N data in this order,

in the second cycle, the (1)-(3) processes are performed on partial data of the respective N+1 to M data in this order, and when the N+1 to M data include non-processed partial data, the (1)-(3) processes are performed on remaining partial data of the respective N+1 to M data in this order, and

in the descriptor,

a source address, a source data size, a source address number, and a destination address are included as information required for controlling the first and second cycles,

the source address, the source data size, and the destination address are described cyclically utilizing a number of address registers as a unit in one descriptor, and

at least one of the first and second cycles is controlled by one descriptor.

2. The operational circuit according to claim 1 ,

wherein the plurality of address registers include an address register storing an address indicating both of a source address and a destination address,

wherein, in a structure of the descriptor where an operation of the M data is controlled,

in the operation of the M data, according to the control of the descriptor, partial data of each M data is read from the external storage device to the data register by the DMA transfer and the predetermined operation is performed, and an action to output data of a result thereof to the external storage device is taken as a first unit of processing,

an action to obtain data of a result of an operation about partial data of the M data by executing the first unit of processing is taken as a second unit of processing,

a source address, a source data size, a source address number, the address indicating both of the source address and the destination address, and a flag showing handling of the address indicating both of the source address and the destination address are included as information required for controlling an operation of the first unit of processing,

the source address, the source data size, and the address indicating both of the source address and the destination address are described cyclically as a unit of an address register number in one descriptor, and

at least one of the first and second units of processing is controlled by one descriptor.

3. The operational circuit according to claim 1 ,

wherein, in a structure of the descriptor where an operation of the M data is controlled,

in the operation of the M data, according to the control of the descriptor, partial data of each M data is read from the external storage device to the data register by the DMA transfer and the predetermined operation is performed, and an action to output data of a result thereof to the external storage device is taken as a first unit of processing,

a source address, a source data size, a source address number, and a destination address are included as information required for controlling an operation of the first unit of processing;

a control is performed according to a chain system or a ring system which automatically and continuously processes a plurality of descriptors,

an action to obtain data of a result of an operation about partial data of each M data by executing the first unit of processing is taken as a second unit of processing,

a description is made so as to execute operation processing on an input data group corresponding to the address register number in one descriptor, and

a plurality of the second units of processing are cyclically performed by a unit of the address register number by a plurality of descriptors.

4. The operational circuit according to claim 1 ,

wherein the plurality of address registers include an address register storing an address indicating both of a source address and a destination address,

a control is performed according to a chain system or a ring system which automatically and continuously processes a plurality of descriptors,

in the operation of the M data, according to the control of the descriptor, partial data of each M data is read from the external storage device to the data register by the DMA transfer and the predetermined operation is performed, and an action to output data of a result thereof to the external storage device is taken as a first unit of processing,

an action to obtain data of a result of an operation about partial data of each M data by executing the first unit of processing is taken as a second unit of processing,

a description is made so as to execute an operation processing on an input data group corresponding to an address register number in one descriptor, and

a plurality of the second units of processing are cyclically performed as a unit of the address register number by a plurality of descriptors.

5. The operational circuit according to claim 1 ,

wherein a data size accessible in one time of the DMA transfer and a data size of the data register are the same.

6. The operational circuit according to claim 1 ,

wherein the operation is a Forward Error Correction (FEC) operation configured by XOR operation.

Assignments (3)
CHANGE OF ADDRESS Recorded Nov 29, 2017
From: RENESAS ELECTRONICS CORPORATION
To: RENESAS ELECTRONICS CORPORATION
Reel/Frame 044928/0001 →
CHANGE OF NAME Recorded Sep 15, 2010
From: RENESAS TECHNOLOGY CORP.
To: RENESAS ELECTRONICS CORPORATION
Reel/Frame 024990/0448 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2008
From: NAKAGOE, HIROSHI; NAGAI, YASUSHI
To: RENESAS TECHNOLOGY CORP.
Reel/Frame 020483/0387 →