Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
278 words
A method for restarting execution of an instruction interrupted due to a page fault in a data processing system having a main memory, means for storing microprograms of microinstructions, a microprogram counter for holding a microprogram address, a program counter for holding a program address, and an external memory, said method comprising the steps of: storing microinstructions, including a microinstruction for main memory access and a microinstruction for waiting for a reply to a main memory access for a fixed number N of operating steps after execution of said microinstruction for a main memory access; executing said microinstruction for main memory access without saving a current microprogram address; executing said microinstruction for waiting for a reply to a main memory access without incrementing said microprogram counter until a reply to the memory access is received; branching from said microinstruction for waiting for a reply to a main memory access to an exception processing microprogram when a reply to a main memory access is received and a page fault is indicated; executing said exception processing microprogram by saving a microprogram address which is obtained by substracting N from the address of said microinstruction for waiting for a reply to a main memory access and for setting a new program address in said program counter for executing a procedure for recovery of a page fault; and executing said procedure for recovery of a page fault by loading a page for which said page fault has occurred into said main memory from said external memory and resetting the program counter and restoring the microprogram address which is saved by said exception processing microprogram; thereby effecting the restart of the instruction execution.
Claim 2
Independent Claim
278 words
A method for restarting execution of an instruction interrupted due to a page fault in a data processing system having a main memory, means for storing microprograms of microinstructions, a microprogram counter for holding a microprogram address, a program counter for holding a program address, and an external memory, said method comprising the steps of: storing microinstructions, including a microinstruction for main memory access and a microinstruction for waiting for a reply to a main memory access for a fixed number N of operating steps after execution of said microinstruction for a main memory access; executing said microinstruction for main memory access without saving a current microprogram address; executing said microinstruction for waiting for a reply to a main memory access without incrementing said microprogram counter until a reply to the memory access is received; branching from said microinstruction for waiting for a reply to a main memory access to an exception processing microprogram when a reply to a main memory access is received and a page fault is indicated; executing said exception processing microprogram by saving a microprogram address which is obtained by substracting N from the address of said microinstruction for waiting for a reply to a main memory access and for setting a new program address in said program counter for executing a procedure for recovery of a page fault; and executing said procedure for recovery of a page fault by loading a page for which said page fault has occurred into said main memory from said external memory and resetting the program counter and restoring the microprogram address which is saved by said exception processing microprogram; thereby effecting the restart of the instruction execution.
Claim 3
Dependent Claim
48 words
A method according to claim 1, wherein the microinstruction for waiting for a reply is executed at a next step of a microprogram following execution of the microinstruction for main memory access, and said exception processing microprogram includes a step of decrementing the saved microprogram address by one.
Claim 4
Independent Claim
277 words
A method for restarting execution of an instruction interrupted due to a page fault in a data processing system having a main memory, means for storing microprograms of microinstructions, a microprogram counter for holding a microprogram address, a program counter for holding a program address, and an external memory, said method comprising the steps of: storing microinstructions, including a microinstruction for main memory access and a microinstruction for waiting for a reply to a main memory access for a fixed number N of operating steps after execution of said microinstruction for a main memory access; executing said microinstruction for main memory access without saving a current microprogram address; executing said microinstruction for waiting for a reply to a main memory access without incrementing said microprogram counter until a reply to the memory access is received; branching from said microinstruction for waiting for a reply to a main memory access to an exception processing microprogram when a reply to a main memory access is received and a page fault is indicated; executing said exception processing microprogram by saving a microprogram address of said microinstruction for waiting for a reply to a main memory access and for setting a new program address in said program counter for executing a procedure for recovery of a page fault; and executing said procedure for recovery of a page fault by loading a page for which said page fault has occurred into said main memory from said external memory and resetting the program counter and restoring the address which is obtained by subtracting N from the address which is saved by said exception processing microprogram; thereby effecting the restart of the instruction execution.
Claim 5
Independent Claim
277 words
A method for restarting execution of an instruction interrupted due to a page fault in a data processing system having a main memory, means for storing microprograms of microinstructions, a microprogram counter for holding a microprogram address, a program counter for holding a program address, and an external memory, said method comprising the steps of: storing microinstructions, including a microinstruction for main memory access and a microinstruction for waiting for a reply to a main memory access for a fixed number N of operating steps after execution of said microinstruction for a main memory access; executing said microinstruction for main memory access without saving a current microprogram address; executing said microinstruction for waiting for a reply to a main memory access without incrementing said microprogram counter until a reply to the memory access is received; branching from said microinstruction for waiting for a reply to a main memory access to an exception processing microprogram when a reply to a main memory access is received and a page fault is indicated; executing said exception processing microprogram by saving a microprogram address of said microinstruction for waiting for a reply to a main memory access and for setting a new program address in said program counter for executing a procedure for recovery of a page fault; and executing said procedure for recovery of a page fault by loading a page for which said page fault has occurred into said main memory from said external memory and resetting the program counter and restoring the address which is obtained by subtracting N from the address which is saved by said exception processing microprogram; thereby effecting the restart of the instruction execution.
Claim 6
Dependent Claim
59 words
A method according to claim 3, wherein the microinstruction for waiting for a reply is executed at a next step of a microprogram following execution of the microinstruction for main memory access, and said procedure for recovery of a page fault includes a step of decrementing by one the microprogram address saved during execution of said exception processing microprogram.