Skip to content

Commit 11650e2

Browse files
committed
Replace examples.txt with examples.sh
1 parent 2e657de commit 11650e2

4 files changed

Lines changed: 199 additions & 156 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ contents of the cache.
1717

1818
For example, the following command simulates a 3-way set associative LRU cache,
1919
with 2 words per block. To see all examples and their respective outputs, see
20-
[examples.txt](examples.txt).
20+
[examples.sh](examples.sh).
2121

2222
```sh
2323
# 3-way set associative (LRU; 2 words per block)

examples.sh

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
#!/usr/bin/env bash
2+
# Example simulations
3+
4+
set -x # print command being run in addition to its output
5+
6+
# Direct-mapped (LRU; 1 word per block)
7+
cache-simulator --cache-size 4 --num-blocks-per-set 1 --num-words-per-block 1 --word-addrs 0 8 0 6 8
8+
9+
# WordAddr BinAddr Tag Index Offset Hit/Miss
10+
# ------------------------------------------------------------------------------
11+
# 0 0000 00 00 n/a miss
12+
# 8 1000 10 00 n/a miss
13+
# 0 0000 00 00 n/a miss
14+
# 6 0110 01 10 n/a miss
15+
# 8 1000 10 00 n/a miss
16+
#
17+
# Cache
18+
# ------------------------------------------------------------------------------
19+
# 00 01 10 11
20+
# ------------------------------------------------------------------------------
21+
# 8 6
22+
23+
# 2-way set associative (LRU; 1 word per block)
24+
cache-simulator --cache-size 4 --num-blocks-per-set 2 --num-words-per-block 1 --word-addrs 0 8 0 6 8
25+
26+
# WordAddr BinAddr Tag Index Offset Hit/Miss
27+
# ------------------------------------------------------------------------------
28+
# 0 0000 000 0 n/a miss
29+
# 8 1000 100 0 n/a miss
30+
# 0 0000 000 0 n/a HIT
31+
# 6 0110 011 0 n/a miss
32+
# 8 1000 100 0 n/a miss
33+
#
34+
# Cache
35+
# ------------------------------------------------------------------------------
36+
# 0 1
37+
# ------------------------------------------------------------------------------
38+
# 8 6
39+
40+
# Fully associative (LRU; 1 word per block)
41+
cache-simulator --cache-size 4 --num-blocks-per-set 4 --num-words-per-block 1 --word-addrs 0 8 0 6 8
42+
43+
# WordAddr BinAddr Tag Index Offset Hit/Miss
44+
# ------------------------------------------------------------------------------
45+
# 0 0000 0000 n/a n/a miss
46+
# 8 1000 1000 n/a n/a miss
47+
# 0 0000 0000 n/a n/a HIT
48+
# 6 0110 0110 n/a n/a miss
49+
# 8 1000 1000 n/a n/a HIT
50+
#
51+
# Cache
52+
# ------------------------------------------------------------------------------
53+
# 0 8 6
54+
55+
# Direct-mapped (LRU; 2 words per block)
56+
cache-simulator --cache-size 16 --num-blocks-per-set 1 --num-words-per-block 2 --word-addrs 3 180 43 2 191 88 190 14 181 44 186 253
57+
58+
# WordAddr BinAddr Tag Index Offset Hit/Miss
59+
# ------------------------------------------------------------------------------
60+
# 3 0000 0011 0000 001 1 miss
61+
# 180 1011 0100 1011 010 0 miss
62+
# 43 0010 1011 0010 101 1 miss
63+
# 2 0000 0010 0000 001 0 HIT
64+
# 191 1011 1111 1011 111 1 miss
65+
# 88 0101 1000 0101 100 0 miss
66+
# 190 1011 1110 1011 111 0 HIT
67+
# 14 0000 1110 0000 111 0 miss
68+
# 181 1011 0101 1011 010 1 HIT
69+
# 44 0010 1100 0010 110 0 miss
70+
# 186 1011 1010 1011 101 0 miss
71+
# 253 1111 1101 1111 110 1 miss
72+
#
73+
# Cache
74+
# ------------------------------------------------------------------------------
75+
# 000 001 010 011 100 101 110 111
76+
# ------------------------------------------------------------------------------
77+
# 2,3 180,181 88,89 186,187 252,253 14,15
78+
79+
# 3-way set associative (LRU; 2 words per block)
80+
cache-simulator --cache-size 24 --num-blocks-per-set 3 --num-words-per-block 2 --word-addrs 3 180 43 2 191 88 190 14 181 44 186 253
81+
82+
# WordAddr BinAddr Tag Index Offset Hit/Miss
83+
# ------------------------------------------------------------------------------
84+
# 3 0000 0011 00000 01 1 miss
85+
# 180 1011 0100 10110 10 0 miss
86+
# 43 0010 1011 00101 01 1 miss
87+
# 2 0000 0010 00000 01 0 HIT
88+
# 191 1011 1111 10111 11 1 miss
89+
# 88 0101 1000 01011 00 0 miss
90+
# 190 1011 1110 10111 11 0 HIT
91+
# 14 0000 1110 00001 11 0 miss
92+
# 181 1011 0101 10110 10 1 HIT
93+
# 44 0010 1100 00101 10 0 miss
94+
# 186 1011 1010 10111 01 0 miss
95+
# 253 1111 1101 11111 10 1 miss
96+
#
97+
# Cache
98+
# ------------------------------------------------------------------------------
99+
# 00 01 10 11
100+
# ------------------------------------------------------------------------------
101+
# 88,89 2,3 42,43 186,187 180,181 44,45 252,253 190,191 14,15
102+
103+
# Fully associative (LRU; 2 words per block)
104+
cache-simulator --cache-size 8 --num-blocks-per-set 4 --num-words-per-block 2 --word-addrs 3 180 43 2 191 88 190 14 181 44 186 253
105+
106+
# WordAddr BinAddr Tag Index Offset Hit/Miss
107+
# ------------------------------------------------------------------------------
108+
# 3 0000 0011 000 0001 n/a 1 miss
109+
# 180 1011 0100 101 1010 n/a 0 miss
110+
# 43 0010 1011 001 0101 n/a 1 miss
111+
# 2 0000 0010 000 0001 n/a 0 HIT
112+
# 191 1011 1111 101 1111 n/a 1 miss
113+
# 88 0101 1000 010 1100 n/a 0 miss
114+
# 190 1011 1110 101 1111 n/a 0 HIT
115+
# 14 0000 1110 000 0111 n/a 0 miss
116+
# 181 1011 0101 101 1010 n/a 1 miss
117+
# 44 0010 1100 001 0110 n/a 0 miss
118+
# 186 1011 1010 101 1101 n/a 0 miss
119+
# 253 1111 1101 111 1110 n/a 1 miss
120+
#
121+
# Cache
122+
# ------------------------------------------------------------------------------
123+
# 180,181 44,45 252,253 186,187
124+
125+
# Fully associative (MRU; 2 words per block)
126+
cache-simulator --cache-size 8 --num-blocks-per-set 4 --num-words-per-block 2 --replacement-policy mru --word-addrs 3 180 43 2 191 88 190 14 181 44 186 253
127+
128+
# WordAddr BinAddr Tag Index Offset Hit/Miss
129+
# ------------------------------------------------------------------------------
130+
# 3 0000 0011 000 0001 n/a 1 miss
131+
# 180 1011 0100 101 1010 n/a 0 miss
132+
# 43 0010 1011 001 0101 n/a 1 miss
133+
# 2 0000 0010 000 0001 n/a 0 HIT
134+
# 191 1011 1111 101 1111 n/a 1 miss
135+
# 88 0101 1000 010 1100 n/a 0 miss
136+
# 190 1011 1110 101 1111 n/a 0 miss
137+
# 14 0000 1110 000 0111 n/a 0 miss
138+
# 181 1011 0101 101 1010 n/a 1 HIT
139+
# 44 0010 1100 001 0110 n/a 0 miss
140+
# 186 1011 1010 101 1101 n/a 0 miss
141+
# 253 1111 1101 111 1110 n/a 1 miss
142+
#
143+
# Cache
144+
# ------------------------------------------------------------------------------
145+
# 2,3 252,253 42,43 14,15
146+
147+
set +x # Disable command printing

examples.txt

Lines changed: 0 additions & 142 deletions
This file was deleted.

0 commit comments

Comments
 (0)