Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

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

Active Publication Date: 2015-07-22
MIPS TECH INC
View PDF3 Cites 20 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Although one solution would be to increase the number of available virtual registers, this is usually not possible since it would change the size of the instruction set

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Stack saved variable pointer value prediction
  • Stack saved variable pointer value prediction
  • Stack saved variable pointer value prediction

Examples

Experimental program
Comparison scheme
Effect test

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...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

Methods of predicting stack pointer values of variables stored in a stack are described. When an instruction is seen which stores a variable in the stack in a position offset from the stack pointer, an entry is added to a data structure which identifies the physical register which currently stores the stack pointer, the physical register which stores the value of the variable and the offset value. Subsequently when an instruction to load a variable from the stack from a position which is identified by reference to the stack pointer is seen, the data structure is searched to see if there is a corresponding entry which includes the same offset and the same physical register storing the stack pointer as the load instruction. If a corresponding entry is found the architectural register in the load instruction is mapped to the physical register storing the value of the variable from the entry.

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 ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F12/08
CPCG06F9/3832G06F9/384G06F9/30134G06F9/30181G06F9/30138G06F9/30098G06F9/4425G06F9/30043G06F9/4484G06F9/3824G06F9/3836
Inventor H·杰克逊
Owner MIPS TECH INC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products