Stack saved variable pointer value prediction
A stack and variable technology, applied in register devices, memory address/allocation/relocation, instruments, etc., can solve problems such as impossibility and changing instruction set size
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Publication Date
- 2015-07-22
Smart Images
Figure 1 Figure 2 Figure 3
Abstract
Description
Background technique
[0001] Out-of-order microprocessors can provide improved computing performance by executing instructions in an order different from that in the program, such that instructions are executed when their input data is available rather than waiting to execute prior instructions in the program. To allow instructions to be run out of order on a microprocessor, it is useful to be able to rename the registers used by the instructions. This enables "write after read" (WAR) dependencies to be removed from the instructions, since these dependencies are not really dependencies. By using register renaming and removing these dependencies, more instructions can be executed out of program order and performance is further improved. Register renaming is performed by maintaining a mapping where the registers named in the instruction (called architectural registers) are mapped onto the physical registers of the microprocessor. This mapping can be called a "register renaming ...
Examples
Embodiment Construction
[0033] Embodiments of the present invention are described below, by way of example only. These examples represent the best mode currently known to the applicants to put the invention into practice, although they are not the only ways in which the invention can be practiced. The description sets forth the functionality of the example and the sequence of steps used to build and operate the example. However, the same or equivalent functions and sequences can be performed by different examples.
[0034] As mentioned above, there are a limited number of virtual registers in a processor, and therefore some variables stored in registers may need to be saved to the stack to free the virtual registers.
[0035] A stack is a data structure commonly used to provide a temporary storage area for use by a program, and is implemented as a last-in-first-out (LIFO) data structure (which may alternatively be referred to as a first-in, first-out FILO data structure), making strict Data are rem...