← Back to Patent Explorer
US5121498A Expired / Lapsed US ⏱️ 0.0 years remaining

Translator for translating source code for selective unrolling of loops in the source code

Assignee: Massachusetts Institute of Technology
•
Filing: 1988-05-11
•
Granted: 1992-06-09
•
Expires: 2008-05-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A translator translates user source code into user object code such as machine code. The translator responds differently to two unique types of loops in the source code. In particular, the translator responds to a first type of loop in the source code by generating an equivalent set of object code instructions that unroll iterations of the loop. In contrast, the translator responds to a second type of loop retaining the loop in the object code. As such, the loop is not unrolled, but rather remains intact.

Inventors

  • 👤 Ira H. Gilbert
  • 👤 Nicodemo A. Ciccia

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 01:08
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/45; G06F8/451; G06F8/452

Claims Analysis

Total Claims: 7
Claim 1
Independent Claim 95 words
A data processing system including a processor programmed to act as a translator for translating source code instructions to object code instructions that are executed by the data processing system, the programmed processor comprising: means for translating a first type of source code instructions that constitute a loop into an equivalent set of unrolled object code instructions for execution by the data processing system; and means for translating a second type of source code instructions that constitute a loop into object code so as to retain the loop designated by the second type of instructions.
Claim 2
Dependent Claim 95 words
A data processing system including a processor programmed to act as a translator for translating source code instructions to object code instructions that are executed by the data processing system, the programmed processor comprising: means for translating a first type of source code instructions that constitute a loop into an equivalent set of unrolled object code instructions for execution by the data processing system; and means for translating a second type of source code instructions that constitute a loop into object code so as to retain the loop designated by the second type of instructions.
Claim 3
Dependent Claim 23 words
A data processing system as recited in claim 1 wherein the data processing system is a single instruction multiple data stream (SIMD) system.
Claim 4
Dependent Claim 78 words
A data processing system as recited in claim 1, further comprising an array of computational elements for processing object code in parallel and an array master for generating code processed by the computational elements, the computational elements receiving the object code instructions translated from the first type of source code directly for processing and the array master processing the object code translated from the second type of source code to generate unrolled code processed by the computational elements.
Claim 5
Dependent Claim 155 words
In a data processing system, a machine implemented method of translating user source code into executable object code and of executing the object code, comprising the steps of: retrieving source code from memory; translating the source code to object code, including: a) translating a first type of source code instructions that constitute a loop into unrolled object code instructions executable by the data processing system; and b) translating a second type of source code instructions that constitute a loop into object code instructions executable by the data processing system so as to retain the loop constituted by the second type of source code instructions; storing the object code instructions in memory; and executing the object code such that the object code translated from the first type of source code instructions is executed as straight line code and the object code translated from the second type of source code instructions is executed as an indexed loop.
Claim 6
Dependent Claim 155 words
In a data processing system, a machine implemented method of translating user source code into executable object code and of executing the object code, comprising the steps of: retrieving source code from memory; translating the source code to object code, including: a) translating a first type of source code instructions that constitute a loop into unrolled object code instructions executable by the data processing system; and b) translating a second type of source code instructions that constitute a loop into object code instructions executable by the data processing system so as to retain the loop constituted by the second type of source code instructions; storing the object code instructions in memory; and executing the object code such that the object code translated from the first type of source code instructions is executed as straight line code and the object code translated from the second type of source code instructions is executed as an indexed loop.
Claim 7
Dependent Claim 88 words
A method as recited in claim 4, further comprising providing a plurality of computational elements which process object code instructions in parallel and an array master for processing object code instructions to generate object code instructions processed by the computational elements, the computational elements processing the unrolled object code instructions translated from the first type of source code directly and the array master processing the object code instructions translated from the second type of source code instructions to unroll the loop and generate instructions for the computational elements.

References Cited (Backward Citations)

US4466061A Cited
US4468736A Cited
US4463423A Cited
US4701847A Cited
US4782444A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-06-09 1995-12-09 1996-06-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-06-09 1999-12-09 2000-06-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-06-09 2003-12-09 2004-06-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag