Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
185 words
A computer system including a processor and a main memory with a stack, the processor comprising a stack pointer register delineating the beginning of unallocated stack memory space, a set of contiguously addressable registers forming a stack cache, a maximum stack pointer register, the contents of the stack pointer register and the contents of the maximum stack pointer register defining a contiguous set of addresses in the main memory stack and a corresponding set in the stack cache that are allocated to a program procedure for storing of data by the procedure, means for fetching a procedure instruction from main memory, means for converting a stack relative address in the instruction into an absolute memory stack address, means for comparing the absolute memory stack address to the contents of the stack pointer register and to the contents of the maximum stack pointer register to determine if the stack cache has valid data for the absolute memory stack address, and means responsive to the comparing means for addressing the stack cache if valid data is present in the stack cache or, otherwise, the main memory stack.
Claim 2
Dependent Claim
185 words
A computer system including a processor and a main memory with a stack, the processor comprising a stack pointer register delineating the beginning of unallocated stack memory space, a set of contiguously addressable registers forming a stack cache, a maximum stack pointer register, the contents of the stack pointer register and the contents of the maximum stack pointer register defining a contiguous set of addresses in the main memory stack and a corresponding set in the stack cache that are allocated to a program procedure for storing of data by the procedure, means for fetching a procedure instruction from main memory, means for converting a stack relative address in the instruction into an absolute memory stack address, means for comparing the absolute memory stack address to the contents of the stack pointer register and to the contents of the maximum stack pointer register to determine if the stack cache has valid data for the absolute memory stack address, and means responsive to the comparing means for addressing the stack cache if valid data is present in the stack cache or, otherwise, the main memory stack.
Claim 3
Dependent Claim
33 words
The system of claim 1 wherein the means for addressing the stack cache or the main memory stack comprise means for directly mapping the main memory stack addresses to the stack cache addresses.
Claim 4
Dependent Claim
31 words
The system of claim 1 wherein the stack cache, the stack pointer register and the maximum stack pointer register form a circular buffer for the storage of temporary data by procedures.
Claim 5
Dependent Claim
142 words
In a computer system including a processor and a main memory with a stack, a stack cache, a stack pointer delineating the beginning of free stack memory space and a maximum stack pointer, the contents of the stack pointer and the contents of the maximum stack pointer defining a contiguous set of stack addresses that are allocated to a program procedure, a method of increasing the speed of operation of the system, comprising the steps of fetching an instruction from main memory, converting a relative stack address for a data operand in the instruction to an absolute memory address in the stack, determining if the stack cache contains valid operand data for the stack absolute address, fetching the operand data from the stack cache if the cache contains valid operand data, and, otherwise, fetching the operand data from the main memory stack.
Claim 6
Dependent Claim
142 words
In a computer system including a processor and a main memory with a stack, a stack cache, a stack pointer delineating the beginning of free stack memory space and a maximum stack pointer, the contents of the stack pointer and the contents of the maximum stack pointer defining a contiguous set of stack addresses that are allocated to a program procedure, a method of increasing the speed of operation of the system, comprising the steps of fetching an instruction from main memory, converting a relative stack address for a data operand in the instruction to an absolute memory address in the stack, determining if the stack cache contains valid operand data for the stack absolute address, fetching the operand data from the stack cache if the cache contains valid operand data, and, otherwise, fetching the operand data from the main memory stack.
Claim 7
Dependent Claim
45 words
The method of claim 4 wherein the step of determining if the stack cache contains valid operand data further comprises the step of comparing the absolute memory stack address to the contents of the stack pointer and to the contents of the maximum stack pointer.
Claim 8
Dependent Claim
26 words
The method of claim 5 further comprising the step of allocating a section of the stack memory for a procedure when the procedure is first activated.
Claim 9
Dependent Claim
24 words
The method of claim 6 further comprising the step of deallocating the section of stack memory for the procedure when the procedure is terminated.
Claim 10
Dependent Claim
22 words
The method of claim 7 wherein the stack pointer and the maximum stack pointer define a circular buffer in the stack cache.
Claim 11
Dependent Claim
53 words
The method of claim 8 further comprising the step of flushing to the main memory stack part of the contents of the stack cache to make room for the allocation of a new section of stack memory in the stack cache when the stack cache contains insufficient free space to make the allocation.
Claim 12
Dependent Claim
40 words
The method of claim 9 further comprising the step of restoring from the main memory stack at the termination of a procedure parts of the stack cache that were flushed from the stack cache since the initiation of the procedure.
Claim 13
Dependent Claim
28 words
The method of claim 10 wherein the number of stack cache entries to be restored are embedded in a processor instruction executed at the termination of the procedure.
Claim 14
Dependent Claim
33 words
The method of claim 7 wherein the steps of allocating and deallocating further comprise embedding in instructions executed by the system the amount of stack memory to allocate and deallocate for the procedure.
Claim 15
Dependent Claim
28 words
The method of claim 7 wherein the step of allocating further comprises embedding in the first instruction of the procedure the amount of stack memory to be allocated.
Claim 16
Dependent Claim
31 words
The method of claim 7 wherein the step of deallocating further comprises embedding in the first instruction executed upon termination of the procedure the amount of stack memory to be deallocated.
Claim 17
Dependent Claim
25 words
The method of claim 7 further comprising the step of updating the stack pointer and the maximum stack pointer after allocating and deallocating stack memory.