IP Library Granted Patent US 7,657,877
Granted Patent B2
US 7,657,877 · App. 10/480,003 · Granted Feb 2, 2010

Method for processing data

Assignee: Pact XPP Technologies AG
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,657,877
App. No.
10/480,003
Granted
Feb 2, 2010
Kind
B2
Abstract

A method and device for translating a program to a system including at least one first processor and a reconfigurable unit. Code portions of the program which are suitable for the reconfigurable unit are determined. The remaining code of the program is extracted and/or separated for processing by the first processor.

Claims (55)

1. A method for translating a data processing program for a system including at least one first processor and a reconfigurable unit, the method comprising:

determining from the program, code portions of the program suitable for the reconfigurable unit;

extracting the determined code portions for processing by the reconfigurable unit;

extracting remaining code portions of the program for processing by the first processor; and

appending interface code to at least one of (a) the code portions extracted for the reconfigurable unit and (b) the code portions extracted for the first processor, the appended interface code controlling communication of data to be processed between the first processor and the reconfigurable unit and enabling communication between the reconfigurable unit and the first processor by one of (a) transferring the data to be processed via dedicated memory areas and (b) transferring base addresses of memory locations in which the data to be processed is located;

wherein:

the data to be processed is processed by the reconfigurable unit via execution of the determined code portions; and

the suitability determination includes consideration of a plurality of factors, the plurality of factors including a data type of the data to be processed and a size of the data to be processed.

2. The method as recited in claim 1 , wherein the determining step includes determining the code portions based on automated analyses.

3. The method as recited in claim 1 , wherein the program includes instructions defining the code portions to be extracted, and wherein the method further comprises automatically analyzing the instructions.

4. The method as recited in claim 1 , wherein the code portions to be extracted are determined based on calls of subprograms.

5. The method as recited in claim 1 , wherein the interface code provides at least one of memory linkage, register linkage, and linkage via a network.

6. The method as recited in claim 1 , further comprising:

analyzing at least one of the extracted code portions and results achievable with a given extraction; and

restarting an extraction with new improved parameters based on the analysis.

7. The method as recited in claim 1 , further comprising:

appending control code to the extracted code for at least one of management, control, and communication of the development system.

8. The method as recited in claim 1 , wherein the first processor includes at least one of a von-Neumann architecture, Harvard architecture, controller, CISC processor, RISC processor, VLIW processor, and DSP processor.

9. The method as recited in claim 1 , wherein the remaining code is extracted so that it is translatable via any ordinary unmodified compiler that is suitable for the first processor.

10. The method as recited in claim 1 , wherein the appended interface code is system specific so that it enables the communication according to the system.

11. The method as recited in claim 1 , wherein the code portions are executable by both the first processor and the reconfigurable unit.

12. The method as recited in claim 1 , further comprising:

in accordance with reconfiguration data, reconfiguring the reconfigurable unit for execution of the determined code portions to process the data to be processed.

13. The method as recited in claim 1 , wherein:

the reconfigurable unit includes a plurality of configurable elements;

in accordance with reconfiguration data, a reconfiguration unit configures the plurality of configurable elements for processing the data to be processed, the data to be processed being communicated between the first processor and one or more of the plurality of configurable elements in a communication that bypasses the reconfiguration unit.

14. The method as recited in claim 13 , wherein the reconfigurable unit includes the reconfiguration unit.

15. A method for translating a data processing program for a system including at least one first processor and a reconfigurable unit, the method comprising:

determining from the program, code portions of the program suitable for the reconfigurable unit;

extracting the determined code portions for processing by the reconfigurable unit;

extracting remaining code portions of the program for processing by the first processor;

modifying at least one of (a) the code portions extracted for the reconfigurable unit and (b) the code portions extracted for the first processor to include interface code that controls communication of data to be processed between the first processor and the reconfigurable unit, and that enables communication between the reconfigurable unit and the first processor by one of (a) transferring the data to be processed via dedicated memory areas and (b) transferring base addresses of memory locations in which the data to be processed is located; and

compiling the modified code by at least one compiler;

wherein:

the data to be processed is processed by the reconfigurable unit via execution of the determined code portions; and

the suitability determination includes consideration of a plurality of factors, the plurality of factors including a data type of the data to be processed and a size of the data to be processed.

16. A device for data processing, comprising:

a first processor;

a reconfigurable unit; and

an arrangement configured to perform a method to translate a data processing program, the method including:

determining from the program, code portions of the program suitable for the reconfigurable unit;

extracting the determined code portions for processing by the reconfigurable unit;

extracting remaining code portions of the program for processing by the first processor; and

modifying at least one of (a) the code portions extracted for the reconfigurable unit and (b) the code portions extracted for the first processor to include interface code that controls communication of data to be processed between the first processor and the reconfigurable unit, and that enables communication between the reconfigurable unit and the first processor by one of (a) transferring the data to be processed via dedicated memory areas and (b) transferring base addresses of memory locations in which the data to be processed is located;

wherein:

the data to be processed is processed by the reconfigurable unit via execution of the determined code portions; and

the suitability determination includes consideration of a plurality of factors, the plurality of factors including a data type of the data to be processed and a size of the data to be processed.

17. The device as recited in claim 16 , wherein:

the device is configured to exchange the data to be processed and status information between the first processor and the reconfigurable unit, wherein the exchange is at least one of: i) during processing of one or more programs, ii) without having to interrupt data processing on the reconfigurable processor, and iii) without having to interrupt data processing on the first processor; and,

the status information indicates a status of operations including at least one of zero, carry, overflow, equal, ready, not-ready, and error.

18. The device as recited in claim 16 , wherein the determination is based on calls of subprograms.

19. The device as recited in claim 16 , wherein the method further comprises:

analyzing at least one of the extracted code portions and results achievable with a given extraction; and

restarting an extraction with new improved parameters based on the analysis.

20. The device as recited in claim 16 , wherein the determination includes determining the code portions based on automated analyses.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2018
From: PACT XPP TECHNOLOGIES AG
To: SCIENTIA SOL MENTIS AG
Reel/Frame 045532/0745 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2014
From: RICHTER, THOMAS; KRASS, MAREN
To: PACT XPP TECHNOLOGIES AG
Reel/Frame 032225/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2010
From: PACT XPP TECHNOLOGIES AG
To: RICHTER, THOMAS, MR.; KRASS, MAREN, MS.
Reel/Frame 023882/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2004
From: VORBACH, MARTIN; NUCKEL, ARMIN; MAY, FRANK; WEINHARDT, MARKUS; CARDOSO, JOAO MANUEL PAIVA
To: PACT XPP TECHNOLOGIES AG
Reel/Frame 015476/0450 →
Priority Claims (31)
DE 101 29 237 · Jun 20, 2001 · national
EP 01115021 · Jun 20, 2001 · regional
DE 101 35 210 · Jul 24, 2001 · national
DE 101 35 211 · Jul 24, 2001 · national
DE 101 39 170 · Aug 16, 2001 · national
DE 101 42 231 · Aug 29, 2001 · national
DE 101 42 894 · Sep 3, 2001 · national
DE 101 42 903 · Sep 3, 2001 · national
DE 101 42 904 · Sep 3, 2001 · national
DE 101 44 732 · Sep 11, 2001 · national
DE 101 44 733 · Sep 11, 2001 · national
DE 101 45 792 · Sep 17, 2001 · national
DE 101 45 795 · Sep 17, 2001 · national
DE 101 46 132 · Sep 19, 2001 · national
DE 101 54 259 · Nov 5, 2001 · national
DE 101 54 260 · Nov 5, 2001 · national
EP 01129923 · Dec 14, 2001 · regional
EP 02001331 · Jan 18, 2002 · regional
DE 102 02 044 · Jan 19, 2002 · national
DE 102 02 175 · Jan 20, 2002 · national
DE 102 06 653 · Feb 15, 2002 · national
DE 102 06 856 · Feb 18, 2002 · national
DE 102 06 857 · Feb 18, 2002 · national
DE 102 07 224 · Feb 21, 2002 · national
DE 102 07 225 · Feb 21, 2002 · national
DE 102 07 226 · Feb 21, 2002 · national
DE 102 08 434 · Feb 27, 2002 · national
DE 102 08 435 · Feb 27, 2002 · national
DE 102 12 621 · Mar 21, 2002 · national
DE 102 12 622 · Mar 21, 2002 · national
EP 02009868 · May 2, 2002 · regional
Continuity (1)
Related Publication 20040243984A1 · Dec 2, 2004