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

Apparatus and method for reconstructing a microstack

Assignee: Hewlett Packard Development Co LP
•
Filing: 1988-04-01
•
Granted: 1989-12-26
•
Expires: 2008-04-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An arrangement and method for restoring a stack which issues a trap handler address for responding to trap occurrences, and which receives addresses of computer instructions from a pipeline, stores and returns these addresses to the pipeline. The arrangement has locations for receiving, storing and returning the addresses. A linked listing of the order in which the addresses to be returned by the stack is maintained. A restoration silo restores the stack from the linked listing after the trap handler address issuance into a state which is the same as if no trap had occurred.

Inventors

  • 👤 Lindsay D. Gage

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 18:08
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/22; G06F9/26; G06F9/262; G06F9/268

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 125 words
An arrangement, in a computer which issues a trap handler address to respond to occurrence of a trap, for receiving addresses of computer instructions from a pipeline, storing and returning said addresses to said pipeline, said arrangement comprising: a stack having locations for receiving, storing and returning said addresses, said stack having states; means for maintaining a linked listing of an order in which said addresses are to be returned by said stack, said means for maintaining being coupled to said stack; and means for restoring said stack from said linked listing after said trap handler address issuance into a state which is equivalent to a state said stack would have if no trap had occurred, said means for restoring being coupled to said stack.
Claim 2
Dependent Claim 125 words
An arrangement, in a computer which issues a trap handler address to respond to occurrence of a trap, for receiving addresses of computer instructions from a pipeline, storing and returning said addresses to said pipeline, said arrangement comprising: a stack having locations for receiving, storing and returning said addresses, said stack having states; means for maintaining a linked listing of an order in which said addresses are to be returned by said stack, said means for maintaining being coupled to said stack; and means for restoring said stack from said linked listing after said trap handler address issuance into a state which is equivalent to a state said stack would have if no trap had occurred, said means for restoring being coupled to said stack.
Claim 3
Dependent Claim 68 words
The arrangement of claim 1, further comprising a stack pointer in said stack for pointing to a location having a next address to be returned from said stack, and means for changing said stack pointer to point to: an available location when an address is received by said stack; and a location having the next address to be returned when an address has been returned by said stack.
Claim 4
Dependent Claim 63 words
The arrangement of claim 2, wherein said means for restoring include means for siloing said stack pointer corresponding to a particular instruction for at least a period of time equal to a trap shadow time, said trap shadow time being a period of time between said trap occurrence and said trap handler address issuance, said siloed stack pointer serving as said linked listing.
Claim 5
Dependent Claim 16 words
The arrangement of claim 3, wherein said stack includes said means for maintaining a linked listing.
Claim 6
Dependent Claim 37 words
The arrangement of claim 4, wherein each said location in said stack includes a valid bit which is set upon said location receiving an address to prevent overwriting of said location until said valid bit is cleared.
Claim 7
Dependent Claim 33 words
The arrangement of claim 5, wherein said means for restoring further includes means for siloing control bits which indicate if said stack has either received or returned an address for a particular instruction.
Claim 8
Dependent Claim 23 words
The arrangement of claim 6, wherein said means for siloing control bits siloes said control bits for at least said trap shadow time.
Claim 9
Dependent Claim 45 words
The arrangement of claim 7, wherein said means for restoring further includes means for clearing a valid bit of a location after a control bit indicating an instruction which has caused said stack to return an address has been siloed past said trap shadow time.
Claim 10
Dependent Claim 52 words
The arrangement of claim 8, wherein said control bit for a particular instruction is input in said means for restoring along with: said siloed stack pointer if said instruction causes said stack to receive an address; and a previously siloed stack pointer if said instruction causes said stack to return an address.
Claim 11
Dependent Claim 26 words
The arrangement of claim 9, wherein each stack location has a return pointer for pointing to the stack location having the next address to be returned.
Claim 12
Dependent Claim 54 words
The arrangement of claim 10, further comprising means for switching input of said stack from said pipeline to said means for restoring, and for clearing and setting valid bits in said locations pointed to by those siloed stack pointers which are within said trap shadow time as a function of said siloed control bits.
Claim 13
Dependent Claim 19 words
The arrangement of claim 11, wherein said stack has at least N+1 locations to effectively provide an N-deep stack.
Claim 14
Independent Claim 263 words
A method for restoring by a restoring silo a stack, having stack locations, which receives, stores and returns addresses of computer instructions in the stack locations, said stack having a stack pointer for pointing to the stack location having a next address which is to be returned from the stack and means for changing the stack pointer to point to an available stack location when an address is received by said stack, and to point to the stack location having the next address to return when an address has been returned by said stack, said method comprising the steps of: writing an address into a stack location pointed to by said stack pointer and setting a valid bit at said stack location which prevents overwriting of said stack location until said valid bit is cleared; simultaneously generating a corresponding control bit when an address is either written to our returned from said stack; changing the stack pointer to point to a stack location in which said valid bit is not set when said stack receives an address; changing the stack pointer to point to a stack location having a next address to be returned after said stack has returned an address; siloing control bits and said stack pointer to create siloed control bits and siloed stack pointers; switching the stack to receive input from a restoring silo after a trap has occurred and been recognized by said computer; and setting and clearing valid bits at said stack locations pointed to by said siloed stack pointers as a function of said siloed control bits.
Claim 15
Independent Claim 263 words
A method for restoring by a restoring silo a stack, having stack locations, which receives, stores and returns addresses of computer instructions in the stack locations, said stack having a stack pointer for pointing to the stack location having a next address which is to be returned from the stack and means for changing the stack pointer to point to an available stack location when an address is received by said stack, and to point to the stack location having the next address to return when an address has been returned by said stack, said method comprising the steps of: writing an address into a stack location pointed to by said stack pointer and setting a valid bit at said stack location which prevents overwriting of said stack location until said valid bit is cleared; simultaneously generating a corresponding control bit when an address is either written to our returned from said stack; changing the stack pointer to point to a stack location in which said valid bit is not set when said stack receives an address; changing the stack pointer to point to a stack location having a next address to be returned after said stack has returned an address; siloing control bits and said stack pointer to create siloed control bits and siloed stack pointers; switching the stack to receive input from a restoring silo after a trap has occurred and been recognized by said computer; and setting and clearing valid bits at said stack locations pointed to by said siloed stack pointers as a function of said siloed control bits.
Claim 16
Dependent Claim 54 words
The method of claim 13, further comprising: clearing said valid bit for a stack location when a control bit corresponding wit a return of an address has been siloed for at least a period of time equal to a time period between a trap occurrence and recognition of said trap occurrence by said computer.
Claim 17
Dependent Claim 44 words
The method of claim 14, further comprising writing of a return pointer into a particular stack location along with a address, said return pointer being a value of said stack pointer before said stack pointer was changed to write to said particular stack location.
Claim 18
Dependent Claim 155 words
An arrangement for receiving addresses of computer instructions from a pipeline, storing and returning said addresses, and restoring said arrangement after a trap in the computer occurs, said arrangement comprising: a stack for receiving, storing and returning said addresses; a delay silo coupled between said pipeline and said stack for delaying writing of said address to said stack by a first time period; a reconstruction silo, coupled to said delay silo, that receives said instructions from said delay silo, and which siloes each said instruction received from said delay silo for a second time period; and means for clearing said delay silo such that instructions in said delay silo are not sent to said reconstruction silo or to said stack, and for inputting said instructions siloed in said reconstruction silo to said stack upon recognition of said trap by said computer such that said stack is restored to its state at occurrence of a trap.
Claim 19
Dependent Claim 155 words
An arrangement for receiving addresses of computer instructions from a pipeline, storing and returning said addresses, and restoring said arrangement after a trap in the computer occurs, said arrangement comprising: a stack for receiving, storing and returning said addresses; a delay silo coupled between said pipeline and said stack for delaying writing of said address to said stack by a first time period; a reconstruction silo, coupled to said delay silo, that receives said instructions from said delay silo, and which siloes each said instruction received from said delay silo for a second time period; and means for clearing said delay silo such that instructions in said delay silo are not sent to said reconstruction silo or to said stack, and for inputting said instructions siloed in said reconstruction silo to said stack upon recognition of said trap by said computer such that said stack is restored to its state at occurrence of a trap.
Claim 20
Dependent Claim 35 words
The arrangement of claim 16, wherein a maximum period of time between said trap and said recognition of said trap is equal to or less than a sum of said first and second time periods.
Claim 21
Dependent Claim 34 words
The arrangement of claim 16, further comprising means for bypassing said stack with said instructions in said delay silo if said instructions are needed by said computer before said first time period is over.
Claim 22
Independent Claim 113 words
A method in a computer for reconstructing a stack which receives instructions from a pipeline, after occurrence of a trap and issuance of a trap handler address by said computer, said method comprising the steps of: siloing said instructions for a first time period at least equal to the time period between an instruction which caused a trap occurrence and issuance of a trap handler address; clearing a portion of said instructions occurring between said instruction which caused said trap occurrence and said trap handler address issuance; and sending to said stack a remaining portion of said instructions occurring between said instruction which caused said trap occurrence and said trap handler address issuance.
Claim 23
Independent Claim 113 words
A method in a computer for reconstructing a stack which receives instructions from a pipeline, after occurrence of a trap and issuance of a trap handler address by said computer, said method comprising the steps of: siloing said instructions for a first time period at least equal to the time period between an instruction which caused a trap occurrence and issuance of a trap handler address; clearing a portion of said instructions occurring between said instruction which caused said trap occurrence and said trap handler address issuance; and sending to said stack a remaining portion of said instructions occurring between said instruction which caused said trap occurrence and said trap handler address issuance.
Claim 24
Dependent Claim 23 words
The method of claim 19, further comprising: delaying writing of said instructions to said stack from said pipeline by a first time period.
Claim 25
Dependent Claim 19 words
The method of claim 20, wherein those instructions which are being delayed are those instructions which are being cleared.
Claim 26
Dependent Claim 32 words
The method of claim 21, wherein said sending step includes sending said instructions to said stack in inverse order to an order in which said instruction were siloed in said siloing step.
Claim 27
Dependent Claim 22 words
The method of claim 22, wherein said sending step further includes inverting each said instruction before sending said instruction to said stack.

References Cited (Backward Citations)

US4719565A Cited
US4748556A Cited
US4777587A Cited
US4807185A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-12-25 1993-06-26 1993-12-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-12-25 1997-06-26 1997-12-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-12-25 2001-06-26 2001-12-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag