Embodiments of the present invention provide a stack renaming method and
apparatus for stack based processors. Using principles of the present
invention, a stack can be accessed simultaneously by one or more
functional units in a stack processor. The stack apparatus includes a
stack renaming unit capable of renaming a logical stack address to a real
stack address. Each logical stack address corresponds to a storage element
in the stack renaming unit which stores a real stack address. A circular
counter is used in the stack renaming unit to sequentially cycle through
each of the logical stack addresses. The real stack addresses
corresponding to each of the logical stack addresses can be stored out of
order in the stack renaming unit. A stack control unit is coupled to the
stack renaming unit and provides one or more control signals to the stack
renaming unit and coordinates the operation of the stack renaming unit
within the stack apparatus. A stack memory circuit coupled to the stack
renaming unit receives the real stack address and generates a data value
to be used in a functional unit. The real address is provided to a
functional unit by a real address output port coupled to the stack
renaming unit. As long as there are no data dependencies or structural
dependences, a functional unit is able to operate on the data value
associated with the real address while other functional units may be
accessing and using other stack values.
Las encarnaciones de la actual invención proporcionan un apilado que retitula método y el aparato para los procesadores basados apilado. Usando principios de la actual invención, un apilado se puede alcanzar simultáneamente por unas o más unidades funcionales en un procesador del apilado. El aparato del apilado incluye un apilado que retitula la unidad capaz de retitular una dirección lógica del apilado a una dirección verdadera del apilado. Cada dirección lógica del apilado corresponde a un elemento del almacenaje en el apilado que retitula la unidad que almacena una dirección verdadera del apilado. Un contador circular se utiliza en el apilado que retitula la unidad para completar un ciclo secuencialmente con cada uno de las direcciones lógicas del apilado. Las direcciones verdaderas del apilado que corresponden a cada uno de las direcciones lógicas del apilado pueden estar fuera de servicio almacenado en el apilado que retitula la unidad. Una unidad de control del apilado se junta al apilado que retitula la unidad y proporciona unas o más señales de control al apilado que retitula la unidad y coordina la operación del apilado que retitula la unidad dentro del aparato del apilado. Un circuito de memoria del apilado juntado al apilado que retitula la unidad recibe la dirección verdadera del apilado y genera un valor de los datos que se utilizará en una unidad funcional. La dirección verdadera es proporcionada a una unidad funcional por un puerto de salida verdadero de la dirección juntado al apilado que retitula la unidad. Tan de largo como no hay dependencias de los datos o dependencias estructurales, una unidad funcional puede funcionar encendido el valor de los datos asociado a la dirección verdadera mientras que otras unidades funcionales pueden ser que tienen acceso y con a otros valores del apilado.