IP Library Granted Patent US 7,203,821
Granted Patent B2
US 7,203,821 · App. 10/338,438 · Granted Apr 10, 2007

Method and apparatus to handle window management instructions without post serialization in an out of order multi-issue processor supporting multiple strands

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,203,821
App. No.
10/338,438
Granted
Apr 10, 2007
Kind
B2
Abstract

A method and apparatus for handling window management instructions without post serialization in an out-of-order multi-issue processor includes an instruction decode unit arranged to decode the window management instruction. A plurality of register windows are indexed by a current window pointer, and a working copy of the current window pointer is stored in a register in the instruction decode unit. The instruction decode unit uses the working copy of the current window pointer to handle the window management instruction.

Claims (36)

1. An apparatus, comprising:

a plurality of register windows indexed by a current window pointer;

an instruction decode unit arranged to decode a window management instruction; and

a register arranged to store a working copy of the current window pointer in the instruction decode unit,

wherein the instruction decode unit is arranged to break a bundle of instructions dependent on a position of the window management instruction within the bundle such that a last instruction forwarded by the instruction decode unit is a window management instruction, and

wherein the working copy of the current window pointer is updated in the same cycle the window management instruction is forwarded by the instruction decode unit.

2. The apparatus of claim 1 , wherein the window management instruction comprises a SAVE instruction.

3. The apparatus of claim 1 , wherein the window management instruction comprises a RESTORE instruction.

4. The apparatus of claim 1 , wherein the window management instruction comprises a RETURN instruction.

5. The apparatus of claim 1 , wherein the instruction decode unit is arranged to flatten registers dependent on the working copy of the current window pointer.

6. The apparatus of claim 1 , wherein the plurality of register windows support multiple processes.

7. The apparatus of claim 1 , further comprising a register in the instruction decode unit arranged to store a working copy of a CANSAVE value.

8. The apparatus of claim 1 , further comprising a register in the instruction decode unit arranged to store a working copy of a CANRESTORE value.

9. The apparatus of claim 1 , further comprising a register in the instruction decode unit arranged to store a working copy of a OTHERWIN value.

10. The apparatus of claim 1 , further comprising a register in the instruction decode unit arranged to store a working copy of a CLEANWIN value.

11. The apparatus of claim 1 , further comprising a commit unit arranged to identify instructions that have been committed for execution, wherein the working copy of the current window pointer is synchronized with an architectural copy of a current window pointer following a commit of a write privileged register instruction by the commit unit.

12. The apparatus of claim 1 , further comprising a commit unit arranged to identify instructions that have been committed for execution, wherein the working copy of the current window pointer is synchronized with an architectural copy of a current window pointer following a clear pipe signal generated by the commit unit.

13. The apparatus of claim 12 , wherein the clear pipe signal is dependent on at least one selected from whether a branch is mispredicted, whether an instruction execution results in an exception, whether an external interrupt occurs, and whether a strand is parked.

14. A method for handling a window management instruction, comprising:

decoding the window management instruction;

storing information in at least one of a plurality of register windows dependent on the decoding;

updating a working copy of a current window pointer that indexes the at least one of the plurality of register windows;

breaking a bundle of instructions dependent on a position of the window management instruction within the bundle such that a last instruction forwarded is a window management instruction, and

updating the working copy of the current window pointer in the same cycle the window management instruction is forwarded.

15. The method of claim 14 , further comprising flattening a register dependent on the working copy of the current window pointer.

16. The method of claim 14 , wherein the updating is dependent on multiple strands.

17. The method of claim 14 , further comprising maintaining a working copy of at least one selected from the group consisting of CANSAVE, CANRESTORE, OTHERWIN, and CLEANWIN.

18. The method of claim 14 , further comprising synchronizing the working copy of the current window pointer with an architectural copy of a current window pointer.

19. An apparatus, comprising:

means for decoding a window management instruction;

means for storing information dependent on the means for decoding; and

means for updating a working copy of a current window pointer; and

means for breaking a bundle of instructions dependent on a position of the window management instruction within the bundle such that a last instruction forwarded is a window management instruction,

wherein the working copy of the current window pointer is undated in the same cycle the window management instruction is forwarded.

20. The apparatus of claim 19 , further comprising:

means for flattening a register dependent on the working copy of the current window pointer.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0732 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2003
From: THIMMANNAGARI, CHANDRA M.R.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 013655/0662 →