Veljko Milutinovic

CAC:
Understanding the Essence

vm@etf.bg.ac.yu

 

 

 

 

 

 

Caching and Cache Hierarchy

…the problem is not technology, but economics.

 

Figure CACU1: On-chip cache (source: [Tanenbaum90])

Legend:

CAC—Cache and cache hierarchy.

Address

 

Block #

Valid

Block #

Value

 

0

 

0

1

0

137

­

 

137

 

1

600

2131

½

 

 

 

1

2

1410

½

4

 

1

0

 

 

½

 

52

 

1

160248

290380

1K lines

 

 

 

0

 

 

½

8

 

2

 

 

 

½

 

1410

 

M

M

M

½

 

 

 

 

 

 

¯

12

 

3

¬ 1 bit®

¬ ¾ 22 bits¾ ®

¬ ¾ 32 bits¾ ®

 

 

635

 

 

 

 

 

 

 

 

 

 

 

 

16

 

4

 

 

 

 

 

M

 

 

 

 

 

224

 

 

 

 

 

 

Figure CACU2: An associative cache with 1024 lines and 4-byte blocks
(source: [Tanenbaum90])

Legend: Self-explanatory.

 

Entry 0

6 4 4 7 4 4 8

Entry 1

6 4 4 7 4 4 8

L

Entry (n  -  1)

6 4 4 7 4 4 8

Line

 

 

 

Valid

Tag

Value

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

M

M

M

M

M

M

M

M

M

M

 

 

 

 

 

 

 

 

 

 

 

Figure CACU3: A set-associative cache with n entries per line (source: [Tanenbaum90])

Legend: Self-explanatory.

 

Line

Valid

Tag

Value

Addresses that use this line:

0

1

2

12130

0, 4096, 8192, 12288, …

1

1

1

170

4, 4100, 8196, 12292, …

2

1

3

2142

8, 4104, 8200, 12296, …

3

0

 

 

12, 4108, 8204, 12300, …

4

0

 

 

16, 4112, 8208, 12304, …

5

0

 

 

20, 4116, 8212, 12308, …

M

M

M

M

 

1023

1

 

 

4092, 8188, 12284, …

 

12

10

2

Address bits

Tag

Line

00

Figure CACU4: A direct-mapped cache with 1024 4-byte lines and a 24-bit address
(source: [Tanenbaum90])

Legend: Self-explanatory.

 

 

Reference:

[Tanenbaum90] Tanenbaum, A. S.,
Structured Computer Organization,
Prentice-Hall, Englewood Cliffs, New Jersey, USA, 1990.

 

 

 

 

 

 

Veljko Milutinovic

CAC:
State of the Art

vm@etf.bg.ac.yu

 

 

 

 

 

 

 

 

Using Pointers to Page Numbers

…to minimize tag size of on-chip caches.

 

 

 

AddressTag

V

Data

Figure CACS1: Structure of a cache line (source: [Seznec96])

Legend:

V—Valid bit.

 

 

 

Figure CACS2: Indirect-tagged VV cache; TLB serves as a PN-cache (source: [Seznec96])

Legend:

VV—Virtually indexed, virtually tagged;

PN—Page number.

 

Figure CACS3: Indirect-tagged VP cache with physical page numbers stored in the PN-cache
(source: [Seznec96])

Legend:

VP—Virtually indexed, physically tagged;

PN—Page number.

 

Figure CACS4: Indirect-tagged PP-cache (source: [Seznec96])

Legend:

PP—Physically indexed, physically tagged;

PN—Page number.

Reference:

[Seznec96] Seznec, A., “Don’t use the page number, but a pointer to it,”
Proceedings of the ISCA-96, Philadelphia, Pennsylvania, USA, June 1996.

 

 

 

 

 

 

Veljko Milutinovic

CAC:
IFACT

vm@etf.bg.ac.yu

 

 

 

 

 

 

 

A Spatial/Temporal Split Data Cache

Essence:

References:

[Milutinovic95] Milutinovic, V.,
“A New Cache Architecture Concept:
The Split Temporal/Spatial Cache Memory,”
UBG-ETF-TR-95-035,
Belgrade, Serbia, Yugoslavia, January 1995.

[Milutinovic96a] Milutinovic, V., Markovic, B., Tomasevic, M., Tremblay, M.,
“The Split Temporal/Spatial Cache Memory:
Initial Performance Analysis,”
Proceedings of the IEEE SCIzzL-5,
Santa Clara, California, USA, March 1996, pp. 63–69.

[Milutinovic96b] Milutinovic, V., Markovic, B., Tomasevic, M., Tremblay, M.,
“The Split Temporal/Spatial Cache Memory:
Initial Complexity Analysis,”
Proceedings of the IEEE SCIzzL-6,
Santa Clara, California, USA, September 1996, pp. 89–96.