I am also confused about the topologies which are included in the repository. The default crossbar topology that is included in the m5 repository generates something along these lines:
ext_node:L1Cache:0 int_node:0 link_latency:1 bw_multiplier:64
ext_node:L1Cache:1 int_node:1 link_latency:1 bw_multiplier:64
ext_node:L1Cache:2 int_node:2 link_latency:1 bw_multiplier:64
ext_node:L1Cache:3 int_node:3 link_latency:1 bw_multiplier:64
ext_node:L2Cache:0 int_node:4 link_latency:1 bw_multiplier:64
ext_node:Directory:0 int_node:5 link_latency:40 bw_multiplier:10
int_node:0 int_node:6 link_latency:40 bw_multiplier:16
int_node:1 int_node:6 link_latency:40 bw_multiplier:16
int_node:2 int_node:6 link_latency:40 bw_multiplier:16
int_node:3 int_node:6 link_latency:40 bw_multiplier:16
int_node:4 int_node:6 link_latency:40 bw_multiplier:16
int_node:5 int_node:6 link_latency:40 bw_multiplier:16
This doesn't make sense to me. Why is there the extra level of switches before connecting nodes to the xbar switch? Is it an error in the repository or am I misunderstanding something? Wouldn't a more proper crossbar look like:
ext_node:L1Cache:0 int_node:0 link_latency:1 bw_multiplier:64
ext_node:L1Cache:1 int_node:0 link_latency:1 bw_multiplier:64
ext_node:L1Cache:2 int_node:0 link_latency:1 bw_multiplier:64
ext_node:L1Cache:3 int_node:0 link_latency:1 bw_multiplier:64
ext_node:L2Cache:0 int_node:0 link_latency:1 bw_multiplier:64
ext_node:Directory:0 int_node:0 link_latency:40 bw_multiplier:10
-Joseph