IP Library Granted Patent US 8,200,934
Granted Patent B2
US 8,200,934 · App. 11/865,669 · Granted Jun 12, 2012

Data transfer unit in multi-core processor

Assignees: Hitachi, Ltd.; Renesas Electronics Corporation; Waseda University
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 8,200,934
App. No.
11/865,669
Granted
Jun 12, 2012
Kind
B2
Abstract

To reduce overhead of data transfer between processor cores and improve a processing capability of a processor, there is provided a processor including: a CPU for performing computing processing; an internal memory for storing data; and a data transfer unit for performing data transfer between the internal memory and a shared memory, in which: the data transfer unit includes: a command chain module for executing a command sequence formed of a plurality of commands including a data transfer instruction; and a monitor module for reading data set in advance in the internal memory and repeatedly monitoring the data until a comparative value and a value of the data become equal to each other, when one of the plurality of commands of the command sequence thus read is a predetermined command; and the command chain module executes a next command in the command sequence after the monitor module has finished monitoring.

Claims (46)

1. A processor, comprising:

a plurality of processor cores, each processor core including a computing unit for performing one of data processing and signal processing, a storage unit for storing data, and a data transfer unit for performing data transfer between the storage unit and a storage device,

wherein

each data transfer unit includes:

a command chain module for reading and executing a command sequence based on an instruction from the computing unit, the command sequence being formed of a plurality of commands including a data transfer command, a predetermined flag set command, and a predetermined monitor command, and the command sequence being stored in advance in one of the storage unit and the storage device;

a data transfer module for performing the data transfer between the storage unit and the storage device through direct memory access;

a flag set module for writing a flag set in advance in a region set in advance in one of the storage unit and the storage device, when one of the plurality of commands of the read command sequence is the predetermined flag set command,

a monitor module for reading the flag, which is set in advance in one of the storage device and the storage unit, and repeatedly monitoring the flag set in advance until a comparative value which is set in advance and a value of the flag set in advance become equal to each other, when one of the plurality of commands of the read command sequence is the predetermined monitor command,

wherein

each data transfer unit transfers data between the storage unit and the storage device or between the storage unit and a storage unit in a different processor core,

a transfer source processor core of the plurality of processor cores includes a transfer source data transfer unit, a computing unit of the transfer source processor core instructs the command chain module in the transfer source data transfer unit to read a command sequence including a data transfer command and a flag set command, and the command chain module in the transfer source data transfer unit sequentially executes the command sequence, and after the data transfer module in the transfer source data transfer unit transfers data between the storage unit and the storage device, instructs the flag set module to write the flag set in advance in the region set in advance in the storage device, and

a transfer destination processor core of the plurality of processor cores includes a transfer destination data transfer unit, a computing unit of the transfer destination processor core instructs the command chain module in the transfer destination data transfer unit to read a command sequence including a monitor command and a data transfer command, the command chain module in the transfer destination data transfer unit sequentially executes the command sequence to instruct the monitor module to monitor the flag, and after a value of the flag becomes equal to the comparative value, the command chain module executes the data transfer command to instruct the data transfer module in the transfer destination data transfer unit to transfer data between the storage device and the storage unit.

2. The processor according to claim 1 , wherein the monitor module comprises an interval set module for setting time intervals at which the data set in advance is periodically read.

3. The processor according to claim 2 , further comprising a clock supply unit for supplying a clock at least to the computing unit and the data transfer unit,

wherein the monitor module further comprises a clock control unit for one of reducing and blocking a frequency of the clock to be supplied to the data transfer unit until one of the time intervals elapses.

4. The processor according to claim 1 , wherein the plurality of commands further comprises a pointer indicating an address of a storage destination of the next command, which is stored in one of the storage unit and the storage device.

5. The processor according to claim 1 ,

wherein the storage device includes:

a first region in which addresses of items of the data to be transferred which are specified by one of the plurality of commands are shared by the plurality of processor cores; and

a second region in which addresses of the data set in advance are shared by the plurality of processor cores;

wherein

the monitor module writes and reads the data set in advance to and from the second region.

6. The processor according to claim 1 , wherein the commands in the command sequence are linked so that the data transfer unit executes the commands in the sequence independently of the computing unit.

7. The processor according to claim 6 , wherein the predetermined data set command includes a flag set (setF) command, and the predetermined monitor command includes a flag check (checkF) command.

8. The processor according to claim 1 , wherein each processor core executes a program which sets the region in the storage device where the corresponding flag is written.

9. A data transfer unit connected to a processor having a plurality of processor cores, each processor core including a computing unit for performing one of data processing and signal processing, and a storage unit for storing data, the data transfer unit performing data transfer between the storage unit and a storage device based on an instruction from the computing unit and comprising:

a command chain module for reading and executing a command sequence based on an instruction from the computing unit, the command sequence being stored in advance in one of the storage unit and the storage device, the command sequence being formed of a plurality of commands including a data transfer command, a predetermined flag set command, and a predetermined monitor command;

a data transfer module for performing the data transfer between the storage unit and the storage device through direct memory access;

a flag set module for writing a flag set in advance in a region set in advance in one of the storage unit and the storage device, when one of the plurality of commands of the read command sequence is the predetermined flag set command; and

a monitor module for reading the flag, which is set in advance in one of the storage device and the storage unit, and repeatedly monitoring the flag set in advance, until a comparative value which is set in advance and a value of the flag set in advance become equal to each other, when one of the plurality of commands of the read command sequence is a predetermined monitor command,

wherein

the data transfer unit transfers data between the storage unit and the storage device or between the storage unit and a storage unit in a different processor core,

a transfer source processor core of the plurality of processor cores is connected to a transfer source data transfer unit, a computing unit of the transfer source processor core instructs the command chain module in the transfer source data transfer unit to read a command sequence including a data transfer command and a flag set command, the command chain module in the transfer source data transfer unit sequentially executes the command sequence, and after the data transfer module in the transfer source data transfer unit transfers data between the storage unit and the storage device, instructs the flag set module to write the flag set in advance in the region set in advance in the storage device, and

a transfer destination processor core of the plurality of processor cores is connected to a transfer destination data transfer unit, a computing unit of the transfer destination processor core instructs the command chain module in the transfer destination data transfer unit to read a command sequence including a monitor command and a data transfer command, the command chain module in the transfer destination data transfer unit sequentially executes the command sequence to instruct the monitor module to monitor the flag, and after a value of the flag becomes equal to the comparative value, the command chain module executes the data transfer command to instruct the data transfer module in the transfer destination data transfer unit to transfer data between the storage device and the storage unit.

10. The data transfer unit according to claim 9 , wherein the monitor module comprises an interval set module for setting time intervals at which the data set in advance is periodically read.

11. The data transfer unit according to claim 10 , wherein the monitor module comprises a clock control unit for one of reducing and blocking a frequency of a clock to be supplied to the data transfer unit until one of the time intervals elapses.

12. The data transfer unit according to claim 9 , wherein the plurality of commands further includes a pointer indicating an address of a storage destination of the next command, which is stored in one of the storage unit and the storage device.

13. The data transfer unit according to claim 9 , the storage device including:

a first region in which the addresses of items of the data to be transferred which are specified by one of the plurality of commands are shared by the plurality of processor cores; and

a second region in which addresses of the data set in advance are shared by the plurality of processor cores;

wherein

the data transfer unit writes and reads the data to and from the first region; and

the monitor module writes and reads the data set in advance to and from the second region.

14. The processor according to claim 9 , wherein the commands in the command sequence are linked so that the data transfer unit executes the commands in the sequence independently of the computing unit.

15. The processor according to claim 14 , wherein the predetermined data set command includes a flag set (setF) command, and the predetermined monitor command includes a flag check (checkF) command.

16. The processor according to claim 9 , wherein each processor core executes a program which sets the region in the storage device where the corresponding flag is written.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2020
From: HITACHI, LTD.
To: RENESAS ELECTRONICS CORPORATION; WASEDA UNIVERSITY
Reel/Frame 053626/0963 →
CHANGE OF ADDRESS Recorded Nov 29, 2017
From: RENESAS ELECTRONICS CORPORATION
To: RENESAS ELECTRONICS CORPORATION
Reel/Frame 044928/0001 →
MERGER Recorded May 11, 2012
From: RENESAS TECHNOLOGY CORP.
To: NEC ELECTRONICS CORPORATION
Reel/Frame 028195/0363 →
CHANGE OF NAME Recorded May 11, 2012
From: NEC ELECTRONICS CORPORATION
To: RENESAS ELECTRONICS CORPORATION
Reel/Frame 028195/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2007
From: KASAHARA, HIRONORI; KIMURA, KEIJI; TODAKA, TAKASHI; KAMEI, TATSUYA; HATTORI, TOSHIHIRO
To: HITACHI, LTD.; RENESAS TECHNOLOGY CORP.; WASEDA UNIVERSITY
Reel/Frame 019908/0489 →
Priority Claims (1)
JP 2006-274879 · Oct 6, 2006 · national
Continuity (1)
Related Publication 20080086617A1 · Apr 10, 2008