 |
 |
|
|
|
|
Title: |
US7454597:
Computer processing system employing an instruction schedule cache
[ Derwent Title ]

|
Country: |
US United States of America

|
| |
Inventor: |
Kailas, Krishnan K.; Tarrytown, NY, United States of America
Nair, Ravi; Briarcliff Manor, NY, United States of America
Sathaye, Sumedh W.; Cary, NC, United States of America
Sauer, Wolfram; Austin, TX, United States of America
Wellman, John-David; Hopewell Junction, NY, United States of America

|
Assignee: |
International Business Machines Corporation, Armonk, NY, United States of America
other patents from INTERNATIONAL BUSINESS MACHINES CORPORATION (280070) (approx. 44,393)
News, Profiles, Stocks and More about this company

|
Published / Filed: |
2008-11-18
/ 2007-01-02

|
Application Number: |
US2007000618948

|
IPC Code: |
Advanced:
G06F 9/38;
Core:
more...

|
ECLA Code: |
G06F9/38E; G06F9/38E4; G06F9/38F2;

|
U.S. Class: |
712/206;
712/213;
712/215;
712/240;

|
Field of Search: |
712/206,207,213,214,215,240
711/123

|
Government Interest: |
GOVERNMENT INTEREST
This invention was made with Government support under contract No.: NBCH3039004 awarded by Defense Advanced Research Projects Agency (DARPA). The government has certain rights in this invention.

|
Priority Number: |
| 2007-01-02 |
US2007000618948 |

|
Abstract: |
A processor core and method of executing instructions, both of which utilizes schedules, are presented. Each of the schedules includes a sequence of instructions, an address of a first of the instructions in the schedule, an order vector of an original order of the instructions in the schedule, a rename map of registers for each register in the schedule, and a list of register names used in the schedule. The schedule exploits instruction-level parallelism in executing out-of-order instructions. The processor core includes a schedule cache that is configured to store schedules, a shared cache configured to store both I-side and D-side cache data, and an execution resource for requesting a schedule to be executed from the schedule cache. The processor core further includes a scheduler disposed between the schedule cache and the cache. The scheduler creating the schedule using branch execution history from a branch history table to create the instructions when the schedule requested by the execution resource is not found in the schedule cache. The processor core executes the instructions according to the schedule being executed. The method includes requesting a schedule from a schedule cache. The method further includes fetching the schedule, when the schedule is found in the schedule cache; and creating the schedule, when the schedule is not found in the schedule cache. The method also includes renaming the registers in the schedule to avoid false dependencies in a processor core, mapping registers to renamed registers in the schedule, and stitching register values in and out of another schedule according to the list of register names and the rename map of registers.

|
Attorney, Agent or Firm: |
Cantor Colburn LLP ;
Wardas, Mark ;

|
Primary / Asst. Examiners: |
Treat, William M;

|
INPADOC Legal Status: |
Show legal status actions
Family Legal Status Report

|
Family: |
Show 2 known family members

|
First Claim:
Show all 10 claims |
1. A method of executing instructions, comprising: requesting a schedule from a schedule cache, the schedule includes a sequence of instructions, an address of a first of the instructions in the schedule, an order vector of an original order of the instructions in the schedule, a list of register names used but not defined in the schedule, a list of registers defined in the schedule, and a rename map of register names for each register in the list of registers defined in the schedule, the schedule exploiting instruction-level parallelism in executing out-of-order instructions; if the schedule is found in the schedule cache, fetching the schedule; if the schedule is not found in the schedule cache, creating the schedule; renaming the registers in the schedule to avoid false dependencies in a processor core; mapping registers to renamed registers in the schedule; and stitching register values in and out of another schedule according to the list of register names used but not defined in the schedule, list of registers defined in the schedule, and the rename map of register names.

|
Background / Summary: |
Show background / summary

|
Drawing Descriptions: |
Show drawing descriptions

|
Description: |
Show description

|
 |
 |
|
|
|
|
Foreign References: |
None

|
Other References: |
Black et al., “The Block-Based Trace Cache”, Proceedings of the 26th International Symposium on Computer Architecture, IEEE, May 2-4, 1999, pp. 196-207.
Talpes et al., “Execution Cache-Based Microarchitecture for Power-Efficient Superscalar Processors”; IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Jan. 2005, pp. 14-26.
Ravi Nair et al.; “Exploiting Instruction Level Parallelism in Processors by Caching Scheduled Groups;” ACM 0-89791-901-7/97/0006; 1997; pp. 13-25.
Eric Rotenberg et al.; “Trace Cache: A Low Latency Approach to High Bandwidth Instruction Fetching;” Apr. 11, 1996.

|
Continuity Data: |
| Application Number | Filed | Notes |
|
|
US2007000618948 | 2007-01-02 | is a
related to the prior publication |
| |
US20080162884A1 issued 2008-07-03 COMPUTER PROCESSING SYSTEM EMPLOYING AN INSTRUCTION SCHEDULE CACHE
|
|

|


|
Nominate this for the Gallery...

|
|