Patent US5657485A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5657485A Expired / Lapsed US ⏱️ 0.0 years remaining

Program control operation to execute a loop processing not immediately following a loop instruction

Assignee: Renesas Electronics Corp
•
Filing: 1995-08-01
•
Granted: 1997-08-12
•
Expires: 2015-08-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention is directed to a program control unit which enables a program control to achieve an efficient loop processing which does not immediately follow a loop instruction and which contains a start address and end address. In the program control unit, the start address and end address of a loop processing are stored in a register (start) (7) and a register (end) (8), respectively, in synchronization with a clock t1. The stored data "start" of the register (7) and the stored data "end" of the register (8) are inputted to a comparator (12) and a comparator (11), respectively. The comparator (12) compares the output from a delay program counter (18) with the data "start", and sets a flag f start when the comparison result indicates agreement and otherwise resets it. The comparator (11) compares the output from a delay program counter (18) with the data "end", and sets a flag f end when the comparison result indicates agreement and otherwise resets it.

Inventors

  • 👤 Robert Streitenberger
  • 👤 Hiroyuki Kawai
  • 👤 Yoshitsugu Inoue

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 15:53
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/32; G06F9/322; G06F9/325; G06F9/30003; G06F9/3005; G06F9/30065

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 226 words
A program control unit for controlling execution of a program which contains a plurality of instructions each having a corresponding address, said program control unit requiring that a loop instruction defining a start address, an end address and the number of iterations of a loop processing and a group of loop executing instructions containing at least one instruction located between said start address and said end address are located in said program to perform said loop processing, wherein said loop processing may not immediately follow said loop instruction, comprising: program counter output means for incrementing a program counter defining an address of the current instruction at prescribed time intervals and outputting said incremented program counter; start address storage means for storing said start address from said loop instruction; end address storage means for storing said end address from said loop instruction; number of iterations storage means for storing said number of iterations from said loop instruction; and loop control means for setting said program counter so that said group of loop executing instructions should be repeated said number of iterations times by recognizing the start of said loop processing on the basis of a comparison result between said program counter and said start address and the end of said loop processing on the basis of a comparison result between said program counter and said end address.
Claim 2
Dependent Claim 226 words
A program control unit for controlling execution of a program which contains a plurality of instructions each having a corresponding address, said program control unit requiring that a loop instruction defining a start address, an end address and the number of iterations of a loop processing and a group of loop executing instructions containing at least one instruction located between said start address and said end address are located in said program to perform said loop processing, wherein said loop processing may not immediately follow said loop instruction, comprising: program counter output means for incrementing a program counter defining an address of the current instruction at prescribed time intervals and outputting said incremented program counter; start address storage means for storing said start address from said loop instruction; end address storage means for storing said end address from said loop instruction; number of iterations storage means for storing said number of iterations from said loop instruction; and loop control means for setting said program counter so that said group of loop executing instructions should be repeated said number of iterations times by recognizing the start of said loop processing on the basis of a comparison result between said program counter and said start address and the end of said loop processing on the basis of a comparison result between said program counter and said end address.
Claim 3
Dependent Claim 27 words
The program control unit of claim 1, wherein said program counter output means includes incrementing means for incrementing said program counter in synchronization with a prescribed clock.
Claim 4
Dependent Claim 58 words
The program control unit of claim 2, wherein said loop control means includes start address comparing means for comparing said program counter with said start address and outputting a start address comparison result indicating agreement/disagreement; and end address comparing means for comparing said program counter with said end address and outputting an end address comparison result indicating agreement/disagreement.
Claim 5
Dependent Claim 115 words
The program control unit of claim 3, wherein said loop control means further includes remaining execution count storage means for storing remaining execution count of the number of iterations in said loop processing, in which said remaining execution count is set at "0" as an initial value; loop start control means for setting said remaining execution count at said number of iterations when said start address comparison result indicates agreement and said remaining execution count is "0"; and remaining execution count control means for decrementing said remaining execution count after setting said program counter at said start address when said end address comparison result indicates agreement and said remaining execution count is more than "0".
Claim 6
Dependent Claim 431 words
A program control unit for controlling execution of a program which contains a plurality of instructions each having a corresponding address, said program control unit requiring that first to n-th (n≧2) loop instructions defining respective start addresses, respective end addresses and respective numbers of iterations of first to n-th loop processings which are nested in first to n-th order and first to n-th groups of loop executing instructions each containing at least one instruction located between said start address and said end address in said respective first to n-th loop instructions are located in said program to perform said loop processings, wherein said n-th loop processings may not immediately follow said first to n-th loop instructions, comprising: program counter output means for incrementing a program counter defining an address of the current instruction at prescribed time intervals and outputting said incremented program counter; first to n-th start address storage means for storing said start addresses of said first to n-th loop processings from said loop instructions as first to n-th start addresses respectively; first to n-th end address storage means for storing said end addresses of said first to n-th loop processings from said loop instructions as first to n-th end addresses respectively; first to n-th numbers of iterations storage means for storing said numbers of iterations of said first to n-th loop processings from said loop instructions as first to n-th numbers of iterations respectively; and start address selecting means for selecting one of said first to n-th start addresses as a selected start address on the basis of a selection control signal; end address selecting means for selecting one of said first to n-th end addresses as a selected end address on the basis of said selection control signal; number of iterations selecting means for selecting one of said first to n-th numbers of iterations as a selected number of iterations on the basis of said selection control signal; selection control signal output means for outputting said selection control signal indicating a current loop processing on the basis of a comparison result between said program counter and said selected start address and a comparison result between said program counter and said selected end address; and loop control means for setting said program counter so that said current loop processing should be repeated said selected number of iterations times by recognizing the start of said loop processing corresponding to said selected start address on the basis of said start address comparison result and the end of said loop processing corresponding to said selected end address by said address comparison result.
Claim 7
Dependent Claim 431 words
A program control unit for controlling execution of a program which contains a plurality of instructions each having a corresponding address, said program control unit requiring that first to n-th (n≧2) loop instructions defining respective start addresses, respective end addresses and respective numbers of iterations of first to n-th loop processings which are nested in first to n-th order and first to n-th groups of loop executing instructions each containing at least one instruction located between said start address and said end address in said respective first to n-th loop instructions are located in said program to perform said loop processings, wherein said n-th loop processings may not immediately follow said first to n-th loop instructions, comprising: program counter output means for incrementing a program counter defining an address of the current instruction at prescribed time intervals and outputting said incremented program counter; first to n-th start address storage means for storing said start addresses of said first to n-th loop processings from said loop instructions as first to n-th start addresses respectively; first to n-th end address storage means for storing said end addresses of said first to n-th loop processings from said loop instructions as first to n-th end addresses respectively; first to n-th numbers of iterations storage means for storing said numbers of iterations of said first to n-th loop processings from said loop instructions as first to n-th numbers of iterations respectively; and start address selecting means for selecting one of said first to n-th start addresses as a selected start address on the basis of a selection control signal; end address selecting means for selecting one of said first to n-th end addresses as a selected end address on the basis of said selection control signal; number of iterations selecting means for selecting one of said first to n-th numbers of iterations as a selected number of iterations on the basis of said selection control signal; selection control signal output means for outputting said selection control signal indicating a current loop processing on the basis of a comparison result between said program counter and said selected start address and a comparison result between said program counter and said selected end address; and loop control means for setting said program counter so that said current loop processing should be repeated said selected number of iterations times by recognizing the start of said loop processing corresponding to said selected start address on the basis of said start address comparison result and the end of said loop processing corresponding to said selected end address by said address comparison result.
Claim 8
Dependent Claim 27 words
The program control unit of claim 5, wherein said program counter output means includes incrementing means for incrementing said program counter in synchronization with a prescribed clock.
Claim 9
Dependent Claim 59 words
The program control unit of claim 6, wherein said loop control means includes start address comparing means for comparing said program counter with said selected start address and outputting a star address comparison result indicating agreement/disagreement; and end address comparing means for comparing said program counter with said end address and outputting an end address comparison result indicating agreement/disagreement.
Claim 10
Dependent Claim 157 words
The program control unit of claim 3, wherein said loop control means further includes first to n-th remaining execution count storage means for storing respective remaining execution counts of said iterations of first to n-th loop processings, in which said first to n-th remaining execution counts are set at "0" respectively as initial values; remaining execution count selecting means for selecting one of said first to n-th remaining execution counts as a selected remaining execution count on the basis of said selection control signal; loop start control means for setting said selected remaining execution count at said selected number of iterations when said start address comparison result indicates agreement and said selected remaining execution count is "0"; and remaining execution count control means for decrementing said selected remaining execution count after setting said program counter at said selected start address when said end address comparison result indicates agreement and said remaining execution count is more than "0".
Claim 11
Dependent Claim 48 words
The program control unit of claim 8, wherein said selection control signal output means for outputting said selection control signal by recognizing the start and end of said loop processing which is nested on the basis of said start address comparison result and said end address comparison result.
Claim 12
Dependent Claim 227 words
A program control method of controlling executing of a program which contains a plurality of instructions each having a corresponding address, said program control method requiring that a loop instruction defining a start address, an end address and the number of iterations of a loop processing and a group of loop executing instructions containing at least one instruction located between said start address and said end address are located in said program to perform said loop processing, wherein said loop processing may not immediately follow said loop instruction, comprising the steps of: (a) incrementing a program counter which defines an address of the current instruction at prescribed time intervals from a first address of said program; (b) storing said start address, said end address and said number of iterations from said loop instruction when an instruction corresponding to an address which is indicated by said program counter is said loop instruction; (c) setting said program counter so that said group of loop executing instructions should be repeated said number of iterations times by recognizing the start of said loop processing on the basis of a comparison result between said program counter and said start address stored in said step (b) and the end of said loop processing on the basis of a comparison result between said program counter and said end address stored in said step (b).
Claim 13
Dependent Claim 227 words
A program control method of controlling executing of a program which contains a plurality of instructions each having a corresponding address, said program control method requiring that a loop instruction defining a start address, an end address and the number of iterations of a loop processing and a group of loop executing instructions containing at least one instruction located between said start address and said end address are located in said program to perform said loop processing, wherein said loop processing may not immediately follow said loop instruction, comprising the steps of: (a) incrementing a program counter which defines an address of the current instruction at prescribed time intervals from a first address of said program; (b) storing said start address, said end address and said number of iterations from said loop instruction when an instruction corresponding to an address which is indicated by said program counter is said loop instruction; (c) setting said program counter so that said group of loop executing instructions should be repeated said number of iterations times by recognizing the start of said loop processing on the basis of a comparison result between said program counter and said start address stored in said step (b) and the end of said loop processing on the basis of a comparison result between said program counter and said end address stored in said step (b).

References Cited (Backward Citations)

US3766527A Cited
US4994732A Cited
US4910664A Cited
US4876642A Cited
US5117498A Cited
US5375238A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-08-11 2001-02-10 2001-08-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-08-11 2005-02-10 2005-08-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-08-11 2009-02-10 2009-08-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag