Dismiss
InnovationQ will be updated on Sunday, April 29, from 10am - noon ET. You may experience brief service interruptions during that time.
Browse Prior Art Database

Dynamic Set Size Extender for Cache

IP.com Disclosure Number: IPCOM000122188D
Original Publication Date: 1991-Nov-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 2 page(s) / 62K

Publishing Venue

IBM

Related People

McWilliams, GJ: AUTHOR [+2]

Abstract

Presented here is a solution to reducing miss ratios caused by "hot spots" in a traditionally designed n-way set associative cache. These hot spots can contribute disproportionately to the miss ratio. Typical solutions to this problem have been to increase the set size of the cache or the number of congruence classes until a suitable miss ratio is obtained. This article describes a way to achieve a large portion of the same effect with much smaller additional chip space. This design is called "Dynamic Set Size Extender" (DSSE).

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Dynamic Set Size Extender for Cache

      Presented here is a solution to reducing miss ratios
caused by "hot spots" in a traditionally designed n-way set
associative cache.  These hot spots can contribute disproportionately
to the miss ratio.  Typical solutions to this problem have been to
increase the set size of the cache or the number of congruence
classes until a suitable miss ratio is obtained.  This article
describes a way to achieve a large portion of the same effect with
much smaller additional chip space.  This design is called "Dynamic
Set Size Extender" (DSSE).

      DSSE allows the apparent set size of the cache array to be
dynamically adjusted to accommodate hot spots with a minimum of chip
area utilized.

      Data stored in the extender would be available to the
processing unit without the delay of waiting for transfer from
memory.  Assume a cache is organized with m congruence classes and is
n-way set associative.  Assume that a maximum x/m of the congruence
classes are "hot" for any particular application, though the ones
that are hot can be different for different sections of the
program(s).

      Define "extender lines" as a group of cache lines divided into
sets of size n.  There are x such sets.  These are used to
temporarily extend the set size of the hot congruence classes, such
that those classes with disproportionately high references have twice
as much cache available.  Additional data in cache directory:
1.   Define a quant...