eb24dfd84ee7bd3c78fb5c1668ac9d548e302ec4
[phd-thesis.git] / top / memorylayout.tex
1 \documentclass[tikz]{standalone}
2 \usetikzlibrary{arrows.meta,shapes.symbols,matrix,positioning}
3 \begin{document}
4 \begin{tikzpicture}[%
5 memory/.style={
6 matrix of nodes,
7 every node/.append style={
8 font=\footnotesize\tt, outer xsep=.4ex,
9 anchor=base},
10 column 2/.append style={
11 every node/.append style=
12 {draw,fill=white,
13 minimum width=#1,
14 minimum height=1.3em}
15 },
16 row sep=-.4pt,
17 },
18 memory/.default=4em,
19 descr/.style={draw=none,fill=none},
20 break above/.style={shape=tape, tape bend top=in and out, tape bend bottom=none},
21 break below/.style={shape=tape, tape bend top=none, tape bend bottom=in and out},
22 !!/.style={fill=green!20}, % chktex 26
23 pointer/.style = {font=\tt, anchor=base, inner sep=2pt},
24 ]
25 \matrix (main) [memory] {
26 & |[descr]| {\rm high addresses} \\
27 & || heap\\
28 & || $\downarrow$\\
29 & || \ldots\\
30 & || $\uparrow$\\
31 & || stack\\
32 & || $\uparrow$ \\
33 & || tasks \\
34 & |[descr]| {\rm low addresses}\\
35 };
36 \matrix (heap) [right=of main,memory] {
37 & || tree\textsubscript{0}\\
38 & || tree\textsubscript{1}\\
39 & || tree\textsubscript{\ldots}\\
40 & || tree\textsubscript{n}\\
41 };
42 \draw[dashed] (main-2-2.north east) -- (heap-1-2.north west);
43 \draw[dashed] (main-3-2.south east) -- (heap-4-2.south west);
44 \end{tikzpicture}
45 \end{document}