67 lines
2.7 KiB
Plaintext
67 lines
2.7 KiB
Plaintext
\begin{tikzpicture}
|
|
\begin{pgfonlayer}{nodelayer}
|
|
\node [style=none] (0) at (0, 0) {};
|
|
\node [style=none] (1) at (0, -1) {};
|
|
\node [style=none] (2) at (12, 0) {};
|
|
\node [style=none] (3) at (12, -1) {};
|
|
\node [style=none] (4) at (17, 0) {};
|
|
\node [style=none] (5) at (17, -1) {};
|
|
\node [style=none] (6) at (6, -0.5) {Virtual Page Number};
|
|
\node [style=none] (7) at (14.5, -0.5) {Page Offset};
|
|
\node [style=none] (8) at (2.5, 0.75) {Virtual Address};
|
|
\node [style=tlb] (9) at (3, -7) {TLB};
|
|
\node [style=asid] (10) at (1.5, -3.5) {ASID};
|
|
\node [style=cache 2] (11) at (14, -6.25) {Cache};
|
|
\node [style=page frame] (12) at (3, -11) {Page Frame Number};
|
|
\node [style=page frame] (13) at (3, -13) {Tag: Page Frame Number};
|
|
\node [style=cache data] (14) at (10, -16.5) {Cache Data};
|
|
\node [style=none] (15) at (1.5, -5) {};
|
|
\node [style=none] (16) at (6, -1) {};
|
|
\node [style=none] (17) at (6, -3) {};
|
|
\node [style=none] (18) at (4.5, -3) {};
|
|
\node [style=none] (19) at (4.5, -5) {};
|
|
\node [style=none] (20) at (3, -9) {};
|
|
\node [style=none] (21) at (10, -1.25) {};
|
|
\node [style=none] (22) at (10.25, -1.5) {};
|
|
\node [style=none] (23) at (17, -1.25) {};
|
|
\node [style=none] (24) at (16.75, -1.5) {};
|
|
\node [style=none] (25) at (13.5, -1.5) {};
|
|
\node [style=none] (26) at (9.5, -4.5) {};
|
|
\node [style=none] (27) at (9.5, -3) {};
|
|
\node [style=none] (28) at (13.5, -3) {};
|
|
\node [style=none] (29) at (10.5, -4.5) {};
|
|
\node [style=none] (30) at (11.25, -2.5) {Cache Index};
|
|
\node [style=none] (31) at (14, -16) {};
|
|
\node [style=none] (32) at (13, -9) {};
|
|
\node [style=none] (33) at (13, -13) {};
|
|
\node [style=none] (34) at (12, 0) {};
|
|
\node [style=none] (35) at (12, -1) {};
|
|
\end{pgfonlayer}
|
|
\begin{pgfonlayer}{edgelayer}
|
|
\draw [style=page offset] (3.center)
|
|
to (5.center)
|
|
to (4.center)
|
|
to (2.center);
|
|
\draw [style=virtual page number] (0.center)
|
|
to (1.center)
|
|
to (3.center)
|
|
to (2.center)
|
|
to [in=0, out=180] cycle;
|
|
\draw [style=latex arrow] (10) to (15.center);
|
|
\draw (16.center) to (17.center);
|
|
\draw (17.center) to (18.center);
|
|
\draw [style=latex arrow] (18.center) to (19.center);
|
|
\draw [style=latex arrow] (20.center) to (12);
|
|
\draw [style=thin] (21.center) to (22.center);
|
|
\draw [style=thin] (22.center) to (24.center);
|
|
\draw [style=thin] (24.center) to (23.center);
|
|
\draw (25.center) to (28.center);
|
|
\draw (28.center) to (27.center);
|
|
\draw (27.center) to (26.center);
|
|
\draw [style=latex arrow] (26.center) to (29.center);
|
|
\draw [style=latex arrow] (11) to (31.center);
|
|
\draw [style=latex arrow] (33.center) to (13);
|
|
\draw (32.center) to (33.center);
|
|
\end{pgfonlayer}
|
|
\end{tikzpicture}
|