IP Library Granted Patent US 8,386,712
Granted Patent B2
US 8,386,712 · App. 12/116,676 · Granted Feb 26, 2013

Structure for supporting simultaneous storage of trace and standard cache lines

Inventors: Gordon T. Davis (Chapel Hill, NC); Richard W. Doing (Raleigh, NC); John D. Jabusch (Cary, NC); M V V Anil Krishna (Cary, NC); Brett Olsson (Cary, NC); Eric F. Robinson (Raleigh, NC); Sumedh W. Sathaye (Austin, TX); Jeffrey R. Summers (Raleigh, NC)
Assignee: International Business Machines Corporation
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 8,386,712
App. No.
12/116,676
Granted
Feb 26, 2013
Kind
B2
Abstract

A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for a single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines is provided. A mechanism is described for indexing into the cache, and selecting the desired line. Control is exercised over which lines are contained within the cache. Provision is made for selection between a trace line and a conventional line when both match during a tag compare step.

Claims (39)

1. A design structure embodied in a machine readable storage medium for at least one of designing, manufacturing, and testing a design, the design structure comprising:

an apparatus comprising:

a computer system central processor and layered memory coupled to and accessible by the central processor, the layered memory including a level one cache;

control logic circuitry associated with said level one cache which controls the selective storing in interchangeable locations of the level one cache of the layered memory both standard cache lines and trace lines;

said control logic circuitry partitioning an instruction address presented to the level one cache; indexing the instruction address into a tag array of the level one cache; and comparing the instruction address with the tag array a first time to determine whether a match is found; and

if the match is found on the first comparison, then determining whether the match is a trace line;

upon determining that the match is the trace line:

checking a trace length parameter in a tag associated with the trace line to determine the number of partitions required to access the trace,

accessing only the required partitions, and

forwarding at least one instruction associated with the required partitions for execution by the central processor;

if no match is found during the first comparison:

comparing the instruction address with a portion of the tag array within a selected congruence class to determine whether a different match is found,

if the different match is found, determining whether the different match is associated with a second trace line, and

if so, the second trace line is not transmitted to the central processor for execution.

2. The design structure of claim 1 , wherein the design structure comprises a netlist, which describes the apparatus.

3. The design structure of claim 1 , wherein the design structure resides on the machine readable storage medium as a data format used for the exchange of layout data of integrated circuits.

4. A design structure embodied in a machine readable storage medium for at least one of designing, manufacturing, and testing a design, the design structure comprising:

an apparatus comprising:

a computer system central processor and layered memory coupled to and accessible by the central processor, the layered memory including a level one cache;

control logic circuitry associated with said level one cache which controls the selective storing in interchangeable locations of the level one cache of the layered memory both standard cache lines and trace lines;

said control logic circuitry partitioning an instruction address presented to the level one cache; indexing the instruction address into a tag array of the level one cache; and comparing the instruction address a first time with entries of the tag array corresponding to a selected congruence class to determine whether a match is found; and

if the match is found on the first comparison, then determining whether the match is a trace line;

upon determining that the match is the trace line:

checking a trace length parameter in a tag associated with the trace line to determine the number of partitions required to access the trace,

accessing the required partitions, and

forwarding at least one instruction associated with the required partitions for execution by the central processor; and

if no match is found during the first comparison:

comparing the instruction address a second time with the entries of the tag array corresponding to the selected congruence class to determine whether a different match is found,

if a match is found on the second comparison, determining whether the different match is a standard cache line, and

upon determining the different match is a standard cache line, forwarding at least a portion of the standard cache line for execution by the central processor.

5. The design structure of claim 4 , wherein performing the comparison the second time further comprises:

masking one or more least significant bits of the instruction address; and

comparing the masked instruction address with the tag array to determine whether a match is found.

6. The design structure of claim 4 , wherein, before performing the first comparison, selecting the congruence class using a portion of the instruction address, wherein the first and second comparisons compare tag fields associated with the selected congruence class with at least a portion of the instruction address.

7. The design structure of claim 6 , wherein determining that the match is a trace line during the first comparison further comprises comparing the tag fields with each of the bits of the instruction address to determine if one of the tag fields matches all of the bits of the instruction address.

8. The design structure of claim 4 , wherein determining that the match is the trace line during the first comparison further comprises comparing the entries of the tag array with each of the bits of the instruction address to determine if one of the entries matches all of the bits of the instruction address; and

wherein performing the comparison the second time further comprises:

masking one or more least significant bits of the instruction address, and

comparing the masked instruction address with the tag array to determine whether a match is found.

Assignments (2)
CHANGE OF NAME Recorded Feb 16, 2011
From: AG, WEDECO
To: ITT WATER & WASTEWATER HEREFORD AG
Reel/Frame 026112/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2008
From: DAVIS, GORDON T.; DOING, RICHARD W.; JABUSCH, JOHN D.; KRISHNA, M VV A.; OLSSON, BRETT; ROBINSON, ERIC F.; SATHAYE, SUMEDH W.; SUMMERS, JEFFREY R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020914/0729 →
Continuity (2)
Continuation In Part 11538445 · Oct 4, 2006
Related Publication 20080250205A1 · Oct 9, 2008