diff --git a/lectures/memory-hierarchies/slides.qmd b/lectures/memory-hierarchies/slides.qmd
index 59e908a87b202ace3055e55df3207c737532ee7c..86a69902f4092834b3a03c846cd11db9bf668adb 100644
--- a/lectures/memory-hierarchies/slides.qmd
+++ b/lectures/memory-hierarchies/slides.qmd
@@ -173,18 +173,44 @@ Time in seconds using a 2 GB numpy array ($128 \times 128 \times 128 \times 128$
  - Here just focus on latency
 
 
-## Memory access time model (1/3)
+## First model version
+
+
+:::{.r-stack}
+
+![](static/concepts_model01.png){.fragment width=100% fragment-index=1}
+
+![](static/concepts_model02.png){.fragment width=100% fragment-index=2}
+
+![](static/concepts_model03.png){.fragment width=100% fragment-index=3}
+
+:::
+
+
+## Memory access time for first version
 
 | Cache  | Access Time  | Hit Ratio  |
 | ------ | ------------ | ---------- |
-| $L_1$  | $T_1$        | $H_1$      |
-| $L_2$  | $T_2$        |            |
+| Memory | $T_M$        | $H_M$      |
+| Disk   | $T_D$        |            |
 
  - Parallel and serial requests possible
 
 
+## Second model version
+
+
+:::{.r-stack}
 
-## Memory access time model (2/3)
+![](static/concepts_model03.png){.fragment width=100% fragment-index=1}
+
+![](static/concepts_model04.png){.fragment width=100% fragment-index=2}
+
+:::
+
+
+
+## Memory access time for second version (1/2)
 
 | Cache  | Access Time  | Hit Ratio  |
 | ------ | ------------ | ---------- |
@@ -194,7 +220,7 @@ Time in seconds using a 2 GB numpy array ($128 \times 128 \times 128 \times 128$
 
 
 
-## Memory access time model (3/3)
+## Memory access time for second version (2/2)
 
  - Average memory access time $T_{avg,p}$ for parallel access (processor connected to all caches)
 
@@ -216,17 +242,25 @@ T_{avg,s} &= H_1 T_1 + ((1-H_1)\cdot H_2)\cdot(T_1+T_2)\\
 
 
 
-# Behind the scenes
+# Processor techniques
+
 
-## Processor techniques
+## Third model version
 
- - Caching
- - Prefetching
- - Branch prediction
 
+:::{.r-stack}
+
+![](static/concepts_model04.png){.fragment width=100% fragment-index=1}
+
+![](static/concepts_model05.png){.fragment width=100% fragment-index=2}
+
+![](static/concepts_model06.png){.fragment width=100% fragment-index=3}
+
+:::
 
 
-## Unavailable data
+
+## Unavailable data (1/2)
 
 If data is not available in the current memory level
 
@@ -234,9 +268,48 @@ If data is not available in the current memory level
  - cache missing     (cache -> main memory)
  - page fault        (main memory -> disk)
 
-Miss description
 
 
+## Unavailable data (2/2)
+
+:::{.r-stack}
+
+![](static/concepts_model06.png){.fragment width=100% fragment-index=1}
+
+![](static/concepts_model07.png){.fragment width=100% fragment-index=2}
+
+![](static/concepts_model08.png){.fragment width=100% fragment-index=3}
+
+![](static/concepts_model09.png){.fragment width=100% fragment-index=4}
+
+![](static/concepts_model10.png){.fragment width=100% fragment-index=5}
+
+:::
+
+
+
+## Available data (1/2)
+
+Techniques to provide data ahead of time
+
+ - caching
+ - prefetching
+ - branch prediction
+
+
+
+## Available data (2/2)
+
+:::{.r-stack}
+
+![](static/concepts_model10.png){.fragment width=100% fragment-index=1}
+
+![](static/concepts_model11.png){.fragment width=100% fragment-index=2}
+
+![](static/concepts_model12.png){.fragment width=100% fragment-index=3}
+
+:::
+
 
 
 # Visualization of memory hierarchies
diff --git a/lectures/memory-hierarchies/static/concepts_model01.png b/lectures/memory-hierarchies/static/concepts_model01.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f1adfa89a1353dda0a0f3acc64677dbd6750318
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model01.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model02.png b/lectures/memory-hierarchies/static/concepts_model02.png
new file mode 100644
index 0000000000000000000000000000000000000000..577fa48cba1c87392bbf4e634c9cf7f54eb7fc87
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model02.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model03.png b/lectures/memory-hierarchies/static/concepts_model03.png
new file mode 100644
index 0000000000000000000000000000000000000000..9422569d12d5f3aafbeaea45a8af2715bcdfd8d1
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model03.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model04.png b/lectures/memory-hierarchies/static/concepts_model04.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4fedd5f70c16e89c0c814599747340c394f7426
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model04.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model05.png b/lectures/memory-hierarchies/static/concepts_model05.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7f907051530386d430f3ba1c254de9a28f00444
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model05.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model06.png b/lectures/memory-hierarchies/static/concepts_model06.png
new file mode 100644
index 0000000000000000000000000000000000000000..bce684a372a34f28733bb345485b08e28ba60c6f
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model06.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model07.png b/lectures/memory-hierarchies/static/concepts_model07.png
new file mode 100644
index 0000000000000000000000000000000000000000..45568d35c632118a7aed775713d3544ec5e1251c
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model07.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model08.png b/lectures/memory-hierarchies/static/concepts_model08.png
new file mode 100644
index 0000000000000000000000000000000000000000..2be4e16604f4543cd00f2c32a8295c758a709f10
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model08.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model09.png b/lectures/memory-hierarchies/static/concepts_model09.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd3271d7ac11256a574b9ffa8e3e15d3b49e5e4e
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model09.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model10.png b/lectures/memory-hierarchies/static/concepts_model10.png
new file mode 100644
index 0000000000000000000000000000000000000000..c5df10c96c145b2618d9d36f79f648fc719479f0
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model10.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model11.png b/lectures/memory-hierarchies/static/concepts_model11.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f2e0de92a6ea1e716484fc48f55b47468f8ea37
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model11.png differ
diff --git a/lectures/memory-hierarchies/static/concepts_model12.png b/lectures/memory-hierarchies/static/concepts_model12.png
new file mode 100644
index 0000000000000000000000000000000000000000..e580a69b8e3cfec6bfcf76adebbd20bbc494789a
Binary files /dev/null and b/lectures/memory-hierarchies/static/concepts_model12.png differ