# http://www.graphviz.org/content/cluster
digraph Memory {
node [shape=rectangle, fontname=Handlee, width=3];
edge [dir = back ];
subgraph cluster_computer {
label = "Machine";
labeljust=r;
subgraph cluster_cpu {
label = "CPU";
subgraph cluster_core {
label = "CPU Core";
reg[label = "L0: Registers (tiny, fast)"];
l1cache[label = "L1: CPU core cache"];
}
l2cache[label = "L2: Shared cache"];
l3cache[label = "L3: Cache"];
}
mem[label = "RAM"];
disk[label = "Local storage (SSD, HDD: Huge, slow)"];
}
reg -> l1cache -> l2cache;
l2cache -> l3cache [constrained = false];
l3cache -> mem -> disk;
}