Stack push/pop tracking and pairing in a pipelined processor
AssigneeExponential Technology, Inc.
InventorsGene Shen, Shalesh Thusoo, James S. Blomgren
Life of this patent
Estimating the term…
Loading patent…
AssigneeExponential Technology, Inc.
InventorsGene Shen, Shalesh Thusoo, James S. Blomgren
Estimating the term…
A pipelined processor executes several stack instructions simultaneously. Additional shadow registers for stack pointers of instructions in the pipeline are not needed. Instead the new stack pointer is generated once at the end of the pipeline and written to the register file. The stack pointer is needed for generating the stack-top address in memory. The stack-top address is generated early in the pipeline. Other stack instructions in the pipeline which have not yet incremented the stack pointer are located with a stack valid bit array. The stack valid array indicates the increment or decrement amounts for stack instructions in each pipeline stage. An overall displacement or increment value is computed as the sum of all increments and decrements for stack instructions in the pipeline which have not yet updated the stack pointer. The overall displacement which accounts for all unfinished stack instructions is added to the stack pointer from the register file to generate the stack-top address. Thus the new stack pointer does not have to be generated before the stack memory is accessed. Pushes or pops are paired by doubling the increment amount in the stack valid bit array and performing a double-width data transfer.
A pipeline for processing multiple stack instructions comprising:
A computer-implemented method for processing multiple stack instructions in a pipeline, the method comprising the steps of:
Dependencies are inferred from the claim text.