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

Nesting management mechanism for use in loop control system

Assignee: NEC Electronics Corp
•
Filing: 1991-11-20
•
Granted: 1994-12-20
•
Expires: 2011-11-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A nesting management mechanism for use in a loop controlling system, comprises a program counter coupled to a program counter bus and incremented each time one instruction is executed, and a loop counter coupled with the program counter bus and set with the number of loops to be executed when a loop execution is executed. The loop counter is decremented each time one loop is completed. A loop start address register is coupled to the program counter bus and set with a loop start address when the loop execution is executed, and a loop end address register is coupled to the program counter bus and set with a loop end address when the loop execution is executed. First, second and third independent hardware stacks of a first-in last-out type are provided for the loop counter, the loop start address register, and the loop end address register, respectively, so as to save respective contents of the loop counter, the loop start address register, and the loop end address register at the time of a loop nesting.

Inventors

  • 👤 Yasushi Ooi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 16:36
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/32; G06F9/322; G06F9/325

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 198 words
A nesting management mechanism for a loop controlling system, comprising: a program counter bus, a program counter coupled to the program counter bus and updated each time one instruction is executed, a main hardware stack of a first-in last-out type coupled to said program counter bus for saving and restoring of said program counter at the time of at least one of interrupt processings and predetermined processings, a loop counter coupled with the program counter bus and set with a number of loops to be executed after designation of a loop execution, the loop counter being updated each time one loop is completed, a loop start address register coupled to the program counter bus and set with a loop start address upon designation of the loop execution, and first and second hardware stacks of a first-in last-out type individually provided for the loop counter and the loop start address register, respectively, so as to save respective contents of the loop counter and the loop start address register only at a time of a loop nesting, said first and second hardware stacks being independent of each other and also being separated from and independent of said main hardware stack.
Claim 2
Dependent Claim 198 words
A nesting management mechanism for a loop controlling system, comprising: a program counter bus, a program counter coupled to the program counter bus and updated each time one instruction is executed, a main hardware stack of a first-in last-out type coupled to said program counter bus for saving and restoring of said program counter at the time of at least one of interrupt processings and predetermined processings, a loop counter coupled with the program counter bus and set with a number of loops to be executed after designation of a loop execution, the loop counter being updated each time one loop is completed, a loop start address register coupled to the program counter bus and set with a loop start address upon designation of the loop execution, and first and second hardware stacks of a first-in last-out type individually provided for the loop counter and the loop start address register, respectively, so as to save respective contents of the loop counter and the loop start address register only at a time of a loop nesting, said first and second hardware stacks being independent of each other and also being separated from and independent of said main hardware stack.
Claim 3
Dependent Claim 226 words
A nesting management mechanism claimed in claim 1 further including: a loop end address register coupled to the program counter bus and set with a loop end address upon designation of the loop execution, a first detector coupled to receive the loop end address held in the loop end address register and an address of an instruction to be next executed, said first detector including means for generating a loop head branch flag signal upon the address of the instruction to be next executed becoming an address just before the loop end address held in the loop end address register, means for transferring the loop start address held in the loop start address register to the program counter through the program counter bus, means for decrementing said loop counter, wherein upon generation of the loop head branch flag signal, the loop start address held in the loop start address register is transferred to the program counter through the program counter bus by said transferring means, and the loop counter is decremented by said decrementing means, and a third hardware stack of a first-in last-out type individually provided for the loop end address register, separately from said main hardware stack and said first and second hardware stacks, so as to save a content of the loop end address register only at the time of the loop nesting.
Claim 4
Dependent Claim 104 words
A nesting management mechanism claimed in claim 2 wherein said decrementing means includes a decrementer coupled to the loop counter for decrementing the content of the loop counter each time one loop is completed, said nesting management mechanism further including a second detector coupled to the loop counter for detecting the content of the loop counter and for generating a loop end flag signal when the content of the loop counter becomes zero, so that upon generation of the loop end flag signal, the loop start address is not transferred to the program counter by said transferring means and a branch is not performed.
Claim 5
Dependent Claim 238 words
A nesting management mechanism claimed in claim 1 further including: a loop end offset address register coupled to the program counter bus and set with a loop end offset address upon designation of the loop execution, an adder for adding the loop end offset address held in the loop end offset address register with the loop start address held in the loop start address register to generate a loop end address, a first detector coupled to receive an output of the adder and an address of an instruction to be next executed, said first detector including means for generating a loop head branch flag signal upon the address of the instruction to be next executed becoming an address just before the loop end address generated by the adder, means for transferring the loop start address held in the loop start address register to the program counter through the program counter bus, means for decrementing said loop counter, wherein upon generation of the loop head branch flag signal, the loop start address held in the loop start address register is transferred to the program counter through the program counter bus by said transferring means, and the loop counter is decremented by said decrementing means, and a third hardware stack of a first-in last-out type individually provided for the loop end address register for saving a content of the loop end address register at the time of the loop nesting.
Claim 6
Dependent Claim 104 words
A nesting management mechanism claimed in claim 4 wherein said decrementing means includes a decrementer coupled to the loop counter for decrementing the content of the loop counter each time one loop is completed, said nesting management mechanism further including a second detector coupled to the loop counter for detecting the content of the loop counter and for generating a loop end flag signal when the content of the loop counter becomes zero, so that upon generation of the loop end flag signal, the loop start address is not transferred to the program counter by said transferring means and a branch is not performed.
Claim 7
Dependent Claim 39 words
A nesting management mechanism claimed in claim 1, wherein the respective contents of the loop counter and the loop start address register at the time of the loop nesting are simultaneously saved to said first and second hardware stacks.
Claim 8
Dependent Claim 39 words
A nesting management mechanism claimed in claim 2, wherein the respective contents of the loop counter and the loop start address register at the time of the loop nesting are simultaneously saved to said first and second hardware stacks.
Claim 9
Dependent Claim 39 words
A nesting management mechanism claimed in claim 3, wherein the respective contents of the loop counter and the loop start address register at the time of the loop nesting are simultaneously saved to said first and second hardware stacks.
Claim 10
Dependent Claim 39 words
A nesting management mechanism claimed in claim 4, wherein the respective contents of the loop counter and the loop start address register at the time of the loop nesting are simultaneously saved to said first and second hardware stacks.
Claim 11
Dependent Claim 39 words
A nesting management mechanism claimed in claim 5, wherein the respective contents of the loop counter and the loop start address register at the time of the loop nesting are simultaneously saved to said first and second hardware stacks.
Claim 12
Dependent Claim 62 words
A nesting management mechanism claimed in claim 1, wherein the first and second hardware stacks are respectively coupled to said loop counter and said loop start address register, said program counter bus being positioned in a position other than between said first hardware stack and said loop counter and other than between said second hardware stack and said loop start address register.
Claim 13
Dependent Claim 62 words
A nesting management mechanism claimed in claim 2, wherein the first and second hardware stacks are respectively coupled to said loop counter and said loop start address register, said program counter bus being positioned in a position other than between said first hardware stack and said loop counter and other than between said second hardware stack and said loop start address register.
Claim 14
Dependent Claim 62 words
A nesting management mechanism claimed in claim 3, wherein the first and second hardware stacks are respectively coupled to said loop counter and said loop start address register, said program counter bus being positioned in a position other than between said first hardware stack and said loop counter and other than between said second hardware stack and said loop start address register.
Claim 15
Dependent Claim 62 words
A nesting management mechanism claimed in claim 4, wherein the first and second hardware stacks are respectively coupled to said loop counter and said loop start address register, said program counter bus being positioned in a position other than between said first hardware stack and said loop counter and other than between said second hardware stack and said loop start address register.
Claim 16
Dependent Claim 62 words
A nesting management mechanism claimed in claim 5, wherein the first and second hardware stacks are respectively coupled to said loop counter and said loop start address register, said program counter bus being positioned in a position other than between said first hardware stack and said loop counter and other than between said second hardware stack and said loop start address register.
Claim 17
Dependent Claim 413 words
A nesting management mechanism for a loop controlling system, comprising: a program counter bus; a program counter coupled to the program counter bus and updated each time one instruction is executed; a main hardware stack of a first-in last-out type coupled to said program counter bus for saving and restoring of said program counter at the time of at least one of interrupt processings and predetermined processings; a loop counter coupled with the program counter bus and set with a number of loops to be executed after designation of a loop execution, the loop counter being updated each time one loop is completed; a loop start address register coupled to the program counter bus and set with a loop start address upon designation of the loop execution; first and second hardware stacks of a first-in last-out type individually provided for the loop counter and the loop start address register, respectively, so as to save respective contents of the loop counter and the loop start address register only at a time of a loop nesting, said first and second hardware stacks being independent of each other and also being separated from and independent of said main hardware stack; a loop end address register coupled to the program counter bus and set with a loop end address upon designation of the loop execution; a first detector coupled to receive the loop end address held in the loop end address register and an address of an instruction to be next executed, said first detector including means for generating a loop head branch flag signal upon the address of the instruction to be next executed becoming an address just before the loop end address held in the loop end address register; means for transferring the loop start address held in the loop start address register to the program counter through the program counter bus; means for decrementing said loop counter, wherein upon generation of the loop head branch flag signal, the loop start address held in the loop start address register is transferred to the program counter through the program counter bus by said transferring means, and the loop counter is decremented by said decrementing means; and a third hardware stack of a first-in last-out type individually provided for the loop end address register, separately from said main hardware stack and said first and second hardware stacks, so as to save a content of the loop end address register only at the time of the loop nesting.
Claim 18
Dependent Claim 413 words
A nesting management mechanism for a loop controlling system, comprising: a program counter bus; a program counter coupled to the program counter bus and updated each time one instruction is executed; a main hardware stack of a first-in last-out type coupled to said program counter bus for saving and restoring of said program counter at the time of at least one of interrupt processings and predetermined processings; a loop counter coupled with the program counter bus and set with a number of loops to be executed after designation of a loop execution, the loop counter being updated each time one loop is completed; a loop start address register coupled to the program counter bus and set with a loop start address upon designation of the loop execution; first and second hardware stacks of a first-in last-out type individually provided for the loop counter and the loop start address register, respectively, so as to save respective contents of the loop counter and the loop start address register only at a time of a loop nesting, said first and second hardware stacks being independent of each other and also being separated from and independent of said main hardware stack; a loop end address register coupled to the program counter bus and set with a loop end address upon designation of the loop execution; a first detector coupled to receive the loop end address held in the loop end address register and an address of an instruction to be next executed, said first detector including means for generating a loop head branch flag signal upon the address of the instruction to be next executed becoming an address just before the loop end address held in the loop end address register; means for transferring the loop start address held in the loop start address register to the program counter through the program counter bus; means for decrementing said loop counter, wherein upon generation of the loop head branch flag signal, the loop start address held in the loop start address register is transferred to the program counter through the program counter bus by said transferring means, and the loop counter is decremented by said decrementing means; and a third hardware stack of a first-in last-out type individually provided for the loop end address register, separately from said main hardware stack and said first and second hardware stacks, so as to save a content of the loop end address register only at the time of the loop nesting.

References Cited (Backward Citations)

EP0221741A2 Cited
US4652997A Cited
US4876642A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-12-19 1998-06-20 1998-12-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-12-19 2002-06-20 2002-12-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-12-19 2006-06-20 2006-12-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag