Cache Visualizer

Cache parameters

Click the spinners to change the cache parameters. This assumes 32-bit addresses and 32-bit words.

Words per block: 2 = words per block
( word select bits)
Number of blocks: 2 = blocks
Associativity: 2 = -way
Number of rows:
blocks
ways
= rows
( row index bits)
Write scheme:

Cache storage

Cache data size:
bytes
word
×
words
block
× blocks
= bytes
Tag storage: tag bits × blocks = bits
Valid + dirty bits: ( + ) × blocks = bits
Metadata size:
+
8
= bytes
Total size: + = bytes

Address bits

byte
word
row
tag
Address: 000000 0000 00 00

Diagram

Each cache block looks like this (data is shown as bytes):

V D Tag Data
0 0 000000000000000000000000000000000
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00

The overall cache organization looks like this. Valid/dirty bits omitted for size. Note that the row indices are not stored in the cache!

Ways
0 1 2 3 0 0 0 0
Rows 0
1
2
3
12
13
14
15