\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, -15.225) {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, -14.725) {}; \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}