From fd0e13107dee78401674087262596a3a99401d78 Mon Sep 17 00:00:00 2001 From: Carlos Gutierrez Date: Sun, 5 Oct 2025 12:18:23 +0000 Subject: [PATCH] Adding scripts, commands, and logging scaffolding --- iot_llm_sim | Bin 0 -> 785472 bytes logs/env.txt | 126 + logs/tinyml_kws_big_high_l21MB_d0.stderr.log | 42 +- logs/tinyml_kws_big_high_l21MB_d0.stdout.log | 12 + m5out/board.pc.com_1.device | 382 + ...nfig.board.cache_hierarchy.ruby_system.dot | 76 + ....board.cache_hierarchy.ruby_system.dot.pdf | Bin 0 -> 14081 bytes ....board.cache_hierarchy.ruby_system.dot.svg | 459 + m5out/config.dot | 8923 +++++++++++++ m5out/config.dot.pdf | Bin 0 -> 45442 bytes m5out/config.dot.svg | 2386 ++++ m5out/config.ini | 8136 ++++++++++++ m5out/config.json | 10769 ++++++++++++++++ m5out/stats.txt | 3108 +++++ m5out/system.realview.uart1.device | 0 m5out/system.realview.uart2.device | 0 m5out/system.realview.uart3.device | 0 m5out/system.terminal | 0 test_hello | Bin 0 -> 423624 bytes test_hello_simple | Bin 0 -> 423624 bytes 20 files changed, 34418 insertions(+), 1 deletion(-) create mode 100755 iot_llm_sim create mode 100644 m5out/board.pc.com_1.device create mode 100644 m5out/config.board.cache_hierarchy.ruby_system.dot create mode 100644 m5out/config.board.cache_hierarchy.ruby_system.dot.pdf create mode 100644 m5out/config.board.cache_hierarchy.ruby_system.dot.svg create mode 100644 m5out/config.dot create mode 100644 m5out/config.dot.pdf create mode 100644 m5out/config.dot.svg create mode 100644 m5out/config.ini create mode 100644 m5out/config.json create mode 100644 m5out/system.realview.uart1.device create mode 100644 m5out/system.realview.uart2.device create mode 100644 m5out/system.realview.uart3.device create mode 100644 m5out/system.terminal create mode 100755 test_hello create mode 100755 test_hello_simple diff --git a/iot_llm_sim b/iot_llm_sim new file mode 100755 index 0000000000000000000000000000000000000000..960d7b0a3e71c449f586452c112ba9c66bdf02af GIT binary patch literal 785472 zcmeFadw3K@_CGw6q?1V?c2I(GHA@hpWDzAQlB`5$$PDR`iLycj7x9K7E{ZIf5nP4L z*fS=zy@Oc=#a&lfZ;QGr-Y}xTgi9tMVgR|QtOOM3W)R{n382aQIn~`WlZgBM{@&+# z-}jH#@X%e?Q>RXyI(6#Qsh%2_XKaeqnrborQY=?ktO&Q9Y3C{W(_*oI--pNPVYif6 zvhX~|ayBoU7SGXh^{Ab{I*m;8ZOPGdsSSaGM%^Z9M$6>+w^=( zTLmu{e_x-X$IW+Ad+Ep-e@zz8AAi$TJ>IjY=+!#k(BEcz)E51pZGfGfVn>YPc6wPx z@Mq#}Gva2wrAED_DR!P?zMVW~v6ycvPk+=a3jZ9Qc~l60ll7OyY;VE=?`>4?{}j*P zp&rrYfBR>U({ioR-p}E=+^$13-!yLYM>rPXKaG9G)m0XdCqii^1E%=(cyjsvMn07v zc$4Fc)g!jlbQFK^pIf&4N$xjzN*`hLYjUsj@eaM+@x9X941AGc=r?b>^#x7c+!CB4!M47!czl^!wL9oj3s z)v3cN=#}m_=#bYdeZ)W=pPb(51$w%zSNd!NzNJ_C(g$@q8*K2)>lX_ALV;f>@CyZg zp};Q`_=N($P~aB|{Qrsq--^FJA<0KG4N_UGSueYt^bfEn1!krIiS*D8v zp|b1oExqDRz2d8T#aHx-zuGJQLa+E!z2cAciZARHf2db{L9h6|z2dWa#i#d*-`FdD zU9b4nz2akg#jofUzpPjM!g$=#;j&o#7K?9?TUk{HlKaadPr*c?RHS(agd)D*6mKkU zm)JEnHcDc9)&D%1VL@vD;%yR}WUI}PRqKL7>ZlhimRKvotRgM8Tb&Ltj*he;9PYVp z<^3T#;5+^c;NU3%fBt+jU>f@>i5*aB^RD7Q=LSk~Oq?Kv^Ov5?vPgj=OObJ#q@)!N zML=RMwK#H{M;TH`TXaup;e#mU{q;&KVr}BYJ+wry*Fpk!7Eb zcXu-rx=v(Sd}k8@b2|{M6*N4%n-_2#z5)(w(g8#roRw}#M*9Pl@)i_F;)uUN3A|G0 zvmEgk36AhIo-sl0Oz~Z6p#AQ7fL9zLy#I_$vP?*<n713%oJXt{dH!;XcYvhKU)Ei<6in0ZVaJ$jx%%bQbPM3_PQc}? z_u-NZi@N)-R*U+_AHYF((c=z0#6Dsl^+t+aPmhW8xP~5A(ZfX#J3TI^$7S>=rpE>J zI3Eu_&3|nMaw$279)0MMP7f;{yj15&#J;7+QF>_f_>vxb>G3H&cF?1R9v|SrYppc{ z?^5zxcGOe#G^rf#*DYs#n`n8j_f;bL&y;W*# zO_LOFUY@!N^T>JmG~1m0(el1z|8s|{Y;MH`VwLB$N#g6j@_kQ>8^∾|9mnsoKeZ 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%0AYGZ4sIPVxULnDy47@P^e;Pe$0w36yQ90f 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

gm~#He$z5g( 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 o%)PDu@BYbO^X)&rX-kK3mr{wjQ}rMH +PTP clock support registered +PCI: Probing PCI hardware +PCI host bridge to bus 0000:00 +pci_bus 0000:00: root bus resource [io 0x0000-0xffff] +pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff] +pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff] +pci 0000:00:04.0: [8086:7111] type 00 class 0x010180 +pci 0000:00:04.0: reg 0x20: [io 0x0000-0x000f] +pci 0000:00:04.0: reg 0x30: [mem 0x00000000-0x000007ff pref] +pci 0000:00:04.0: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7] +pci 0000:00:04.0: legacy IDE quirk: reg 0x14: [io 0x03f6] +pci 0000:00:04.0: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177] +pci 0000:00:04.0: legacy IDE quirk: reg 0x1c: [io 0x0376] +pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00 +clocksource: Switched to clocksource refined-jiffies +VFS: Disk quotas dquot_6.6.0 +VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +pnp: PnP ACPI: disabled +thermal_sys: Registered thermal governor 'step_wise' +thermal_sys: Registered thermal governor 'user_space' +pci 0000:00:04.0: BAR 6: assigned [mem 0x80000000-0x800007ff pref] +pci 0000:00:04.0: BAR 4: assigned [io 0x1000-0x100f] +pci_bus 0000:00: resource 4 [io 0x0000-0xffff] +pci_bus 0000:00: resource 5 [mem 0x00000000-0xffffffffffff] +NET: Registered protocol family 2 +tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear) +TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear) +TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear) +TCP: Hash tables configured (established 16384 bind 16384) +UDP hash table entries: 1024 (order: 3, 32768 bytes, linear) +UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear) +NET: Registered protocol family 1 +PCI: CLS 0 bytes, default 64 +platform rtc_cmos: registered platform RTC device (no PNP device found) +workingset: timestamp_bits=62 max_order=19 bucket_order=0 +fuse: init (API version 7.31) +Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) +io scheduler mq-deadline registered +io scheduler kyber registered +acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed +Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled +serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 8250 +Linux agpgart interface v0.103 +brd: module loaded +loop: module loaded +Uniform Multi-Platform E-IDE driver +piix 0000:00:04.0: IDE controller (0x8086:0x7111 rev 0x00) +pci 0000:00:04.0: enabling device (0000 -> 0001) +pci 0000:00:04.0: PCI->APIC IRQ transform: INT A -> IRQ 16 +piix 0000:00:04.0: not 100% native mode: will probe irqs later +legacy IDE will be removed in 2021, please switch to libata +Report any missing HW support to linux-ide@vger.kernel.org + ide0: BM-DMA at 0x1000-0x1007 + ide1: BM-DMA at 0x1008-0x100f +hda: M5 IDE Disk, ATA DISK drive +hda: UDMA/33 mode selected +ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 +ide1 at 0x170-0x177,0x376 on irq 15 +ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports +ide-gd driver 1.18 +hda: max request size: 128KiB +hda: 4194304 sectors (2147 MB), CHS=4161/16/63 + hda: hda1 +ide-cd driver 5.00 +Loading iSCSI transport class v2.0-870. +e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI +e1000: Copyright (c) 1999-2006 Intel Corporation. +e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k +e1000e: Copyright(c) 1999 - 2015 Intel Corporation. +igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k +igb: Copyright (c) 2007-2014 Intel Corporation. +igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k +igbvf: Copyright (c) 2009 - 2012 Intel Corporation. +ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 5.1.0-k +ixgbe: Copyright (c) 1999-2016 Intel Corporation. +ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - version 4.1.0-k +ixgbevf: Copyright (c) 2009 - 2018 Intel Corporation. +ixgb: Intel(R) PRO/10GbE Network Driver - version 1.0.135-k2-NAPI +ixgb: Copyright (c) 1999-2008 Intel Corporation. +ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver +ehci-pci: EHCI PCI platform driver +ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver +ohci-pci: OHCI PCI platform driver +uhci_hcd: USB Universal Host Controller Interface driver +i8042: PNP: No PS/2 controller found. +i8042: Probing ports directly. +serio: i8042 KBD port at 0x60,0x64 irq 1 +serio: i8042 AUX port at 0x60,0x64 irq 12 +mousedev: PS/2 mouse device common for all mice +usbcore: registered new interface driver usbhid +usbhid: USB HID core driver +NET: Registered protocol family 17 +input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0 +IPI shorthand broadcast: enabled +Unstable clock detected, switching default tracing clock to "global" +If you want to keep using the local clock, then add: + "trace_clock=local" +on the kernel command line +EXT4-fs (hda1): mounted filesystem with ordered data mode. Opts: (null) +VFS: Mounted root (ext4 filesystem) on device 3:1. +devtmpfs: mounted +Freeing unused kernel image memory: 1192K +Write protecting the kernel read-only data: 14336k +Freeing unused kernel image memory: 2028K +Freeing unused kernel image memory: 2008K +rodata_test: all tests were successful +Run /sbin/init as init process +random: fast init done +systemd[1]: System time before build time, advancing clock. +systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) +systemd[1]: Detected architecture x86-64. + +Welcome to Ubuntu 18.04.2 LTS! + +systemd[1]: Set hostname to . +systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling. +systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.) +random: systemd: uninitialized urandom read (16 bytes read) +systemd[1]: Created slice System Slice. +[ OK ] Created slice System Slice. +random: systemd: uninitialized urandom read (16 bytes read) +systemd[1]: Listening on fsck to fsckd communication Socket. +[ OK ] Listening on fsck to fsckd communication Socket. +random: systemd: uninitialized urandom read (16 bytes read) +systemd[1]: Created slice User and Session Slice. +[ OK ] Created slice User and Session Slice. +systemd[1]: Created slice system-serial\x2dgetty.slice. +[ OK ] Created slice system-serial\x2dgetty.slice. +systemd[1]: Reached target Remote File Systems. +[ OK ] Reached target Remote File Systems. +[ OK ] Listening on Syslog Socket. +[ OK ] Reached target User and Group Name Lookups. +[ OK ] Listening on Journal Socket (/dev/log). +[ OK ] Started Forward Password Requests to Wall Directory Watch. +[ OK ] Listening on udev Control Socket. +[ OK ] Listening on /dev/initctl Compatibility Named Pipe. +[ OK ] Listening on Journal Socket. + Mounting POSIX Message Queue File System... + Starting Set the console keyboard layout... + Starting Remount Root and Kernel File Systems... + Starting Load Kernel Modules... +[ OK ] Listening on udev Kernel Socket. + Starting udev Coldplug all Devices... + Mounting Huge Pages File System... +[ OK ] Listening on Journal Audit Socket. + Starting Journal Service... +[ OK ] Reached target Slices. + Starting Uncomplicated firewall... + Mounting Kernel Debug File System... + Starting Create Static Device Nodes in /dev... +[ OK ] Started Read required files in advance. +[ OK ] Started Set the console keyboard layout. +[ OK ] Started Load Kernel Modules. +[ OK ] Mounted POSIX Message Queue File System. + Mounting Kernel Configuration File System... + Starting Apply Kernel Variables... + Mounting FUSE Control File System... +[ OK ] Mounted Huge Pages File System. +[ OK ] Started Uncomplicated firewall. +[ OK ] Mounted Kernel Debug File System. +[ OK ] Mounted FUSE Control File System. +[ OK ] Mounted Kernel Configuration File System. +[ OK ] Started Apply Kernel Variables. +[ OK ] Started Journal Service. +[ OK ] Started Remount Root and Kernel File Systems. + Starting Flush Journal to Persistent Storage... + Activating swap /swapfile... + Starting Load/Save Random Seed... +[ OK ] Started Create Static Device Nodes in /dev. + Starting udev Kernel Device Manager... +[ OK ] Reached target Local File Systems (Pre). +[ OK ] Reached target Local File Systems. + Starting Set console font and keymap... + Starting Tell Plymouth To Write Out Runtime Data... +[ OK ] Started Load/Save Random Seed. +[ OK ] Activated swap /swapfile. +[ OK ] Reached target Swap. +[ OK ] Started Set console font and keymap. +[ OK ] Started Tell Plymouth To Write Out Runtime Data. +[ OK ] Started udev Coldplug all Devices. +[ OK ] Started udev Kernel Device Manager. + Starting Network Service... +[ OK ] Started Dispatch Password Requests to Console Directory Watch. +[ OK ] Reached target Local Encrypted Volumes. +[ OK ] Reached target Paths. +[ OK ] Started Flush Journal to Persistent Storage. + Starting Create Volatile Files and Directories... +[ OK ] Started Create Volatile Files and Directories. + Starting Network Time Synchronization... + Starting Update UTMP about System Boot/Shutdown... +[ OK ] Started Network Service. + Starting Network Name Resolution... +[ OK ] Found device /dev/ttyS0. +[ OK ] Started Update UTMP about System Boot/Shutdown. +[ OK ] Started Network Name Resolution. +[ OK ] Reached target Host and Network Name Lookups. +[ OK ] Reached target Network. +[ OK ] Started Network Time Synchronization. +[ OK ] Reached target System Initialization. +[ OK ] Listening on D-Bus System Message Bus Socket. +[ OK ] Started Message of the Day. +[ OK ] Started Daily Cleanup of Temporary Directories. +[ OK ] Listening on UUID daemon activation socket. +[ OK ] Reached target Sockets. +[ OK ] Reached target Basic System. + Starting LSB: Record successful boot for GRUB... + Starting Dispatcher daemon for systemd-networkd... +[ OK ] Started Regular background program processing daemon. + Starting Accounts Service... + Starting Login Service... +[ OK ] Started D-Bus System Message Bus. +[ OK ] Started Set the CPU Frequency Scaling governor. + Starting Permit User Sessions... +[ OK ] Started irqbalance daemon. + Starting OpenBSD Secure Shell server... + Starting System Logging Service... +[ OK ] Reached target System Time Synchronized. +[ OK ] Started Daily apt download activities. +[ OK ] Started Daily apt upgrade and clean activities. +[ OK ] Started Discard unused blocks once a week. +[ OK ] Reached target Timers. +[FAILED] Failed to start Accounts Service. +See 'systemctl status accounts-daemon.service' for details. +[ OK ] Started Permit User Sessions. +[ OK ] Started Login Service. + Starting Hold until boot process finishes up... + Starting Terminate Plymouth Boot Screen... +[ OK ] Started Hold until boot process finishes up. +[ OK ] Started Serial Getty on ttyS0. + Starting Set console scheme... +[ OK ] Started Terminate Plymouth Boot Screen. +[ OK ] Started System Logging Service. +[ OK ] Started Set console scheme. +[ OK ] Created slice system-getty.slice. +[ OK ] Started Getty on tty1. +[ OK ] Reached target Login Prompts. +[ OK ] Started LSB: Record successful boot for GRUB. +[ OK ] Started OpenBSD Secure Shell server. +[FAILED] Failed to start Dispatcher daemon for systemd-networkd. +See 'systemctl status networkd-dispatcher.service' for details. +[ OK ] Reached target Multi-User System. +[ OK ] Reached target Graphical Interface. +[ OK ] Started Stop ureadahead data collection 45s after completed startup. + Starting Update UTMP about System Runlevel Changes... +[ OK ] Started Update UTMP about System Runlevel Changes. + +Ubuntu 18.04.2 LTS gem5-host ttyS0 + +gem5-host login: root (automatic login) + +Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 5.4.49 x86_64) + + * Documentation: https://help.ubuntu.com + * Management: https://landscape.canonical.com + * Support: https://ubuntu.com/advantage + + +The programs included with the Ubuntu system are free software; +the exact distribution terms for each program are described in the +individual files in /usr/share/doc/*/copyright. + +Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by +applicable law. + +Starting gem5 init... reading run script file. +Running m5 script from /tmp/script +Done running script, exiting. diff --git a/m5out/config.board.cache_hierarchy.ruby_system.dot b/m5out/config.board.cache_hierarchy.ruby_system.dot new file mode 100644 index 0000000..24e9988 --- /dev/null +++ b/m5out/config.board.cache_hierarchy.ruby_system.dot @@ -0,0 +1,76 @@ +graph G { +rankdir=LR; +"board.cache_hierarchy.ruby_system.network.routers0" [color="#000000", fillcolor="#cce6fc", fontcolor="#000000", fontname=Arial, fontsize=14, label="R 0", shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.network.routers1" [color="#000000", fillcolor="#cce6fc", fontcolor="#000000", fontname=Arial, fontsize=14, label="R 1", shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.network.routers2" [color="#000000", fillcolor="#cce6fc", fontcolor="#000000", fontname=Arial, fontsize=14, label="R 2", shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.network.routers3" [color="#000000", fillcolor="#cce6fc", fontcolor="#000000", fontname=Arial, fontsize=14, label="R 3", shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.network.routers4" [color="#000000", fillcolor="#cce6fc", fontcolor="#000000", fontname=Arial, fontsize=14, label="R 4", shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.network.routers5" [color="#000000", fillcolor="#cce6fc", fontcolor="#000000", fontname=Arial, fontsize=14, label="R 5", shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.network.routers6" [color="#000000", fillcolor="#cce6fc", fontcolor="#000000", fontname=Arial, fontsize=14, label="R 6", shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.network.routers7" [color="#000000", fillcolor="#cce6fc", fontcolor="#000000", fontname=Arial, fontsize=14, label="R 7", shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.network.routers0" -- "board.cache_hierarchy.ruby_system.network.routers1" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers0" -- "board.cache_hierarchy.ruby_system.network.routers2" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers0" -- "board.cache_hierarchy.ruby_system.network.routers3" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers0" -- "board.cache_hierarchy.ruby_system.network.routers4" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers0" -- "board.cache_hierarchy.ruby_system.network.routers5" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers0" -- "board.cache_hierarchy.ruby_system.network.routers6" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers0" -- "board.cache_hierarchy.ruby_system.network.routers7" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers1" -- "board.cache_hierarchy.ruby_system.network.routers2" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers1" -- "board.cache_hierarchy.ruby_system.network.routers3" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers1" -- "board.cache_hierarchy.ruby_system.network.routers4" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers1" -- "board.cache_hierarchy.ruby_system.network.routers5" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers1" -- "board.cache_hierarchy.ruby_system.network.routers6" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers1" -- "board.cache_hierarchy.ruby_system.network.routers7" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers2" -- "board.cache_hierarchy.ruby_system.network.routers0" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers2" -- "board.cache_hierarchy.ruby_system.network.routers3" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers2" -- "board.cache_hierarchy.ruby_system.network.routers4" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers2" -- "board.cache_hierarchy.ruby_system.network.routers5" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers2" -- "board.cache_hierarchy.ruby_system.network.routers6" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers2" -- "board.cache_hierarchy.ruby_system.network.routers7" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers3" -- "board.cache_hierarchy.ruby_system.network.routers0" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers3" -- "board.cache_hierarchy.ruby_system.network.routers1" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers3" -- "board.cache_hierarchy.ruby_system.network.routers4" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers3" -- "board.cache_hierarchy.ruby_system.network.routers5" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers3" -- "board.cache_hierarchy.ruby_system.network.routers6" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers3" -- "board.cache_hierarchy.ruby_system.network.routers7" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers4" -- "board.cache_hierarchy.ruby_system.network.routers0" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers4" -- "board.cache_hierarchy.ruby_system.network.routers1" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers4" -- "board.cache_hierarchy.ruby_system.network.routers2" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers4" -- "board.cache_hierarchy.ruby_system.network.routers5" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers4" -- "board.cache_hierarchy.ruby_system.network.routers6" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers4" -- "board.cache_hierarchy.ruby_system.network.routers7" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers5" -- "board.cache_hierarchy.ruby_system.network.routers0" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers5" -- "board.cache_hierarchy.ruby_system.network.routers1" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers5" -- "board.cache_hierarchy.ruby_system.network.routers2" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers5" -- "board.cache_hierarchy.ruby_system.network.routers3" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers5" -- "board.cache_hierarchy.ruby_system.network.routers6" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers5" -- "board.cache_hierarchy.ruby_system.network.routers7" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers6" -- "board.cache_hierarchy.ruby_system.network.routers0" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers6" -- "board.cache_hierarchy.ruby_system.network.routers1" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers6" -- "board.cache_hierarchy.ruby_system.network.routers2" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers6" -- "board.cache_hierarchy.ruby_system.network.routers3" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers6" -- "board.cache_hierarchy.ruby_system.network.routers4" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers6" -- "board.cache_hierarchy.ruby_system.network.routers7" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers7" -- "board.cache_hierarchy.ruby_system.network.routers0" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers7" -- "board.cache_hierarchy.ruby_system.network.routers1" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers7" -- "board.cache_hierarchy.ruby_system.network.routers2" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers7" -- "board.cache_hierarchy.ruby_system.network.routers3" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers7" -- "board.cache_hierarchy.ruby_system.network.routers4" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.network.routers7" -- "board.cache_hierarchy.ruby_system.network.routers5" [color="#042d50", dir=forward, weight=0.5]; +"board.cache_hierarchy.ruby_system.l1_controllers0" [color="#000000", fillcolor="#e5bcd0", fontcolor="#000000", fontname=Arial, fontsize=14, label=l1_controllers0, shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.l1_controllers0" -- "board.cache_hierarchy.ruby_system.network.routers0" [color="#381526", dir=both, weight=1.0]; +"board.cache_hierarchy.ruby_system.l1_controllers1" [color="#000000", fillcolor="#e5bcd0", fontcolor="#000000", fontname=Arial, fontsize=14, label=l1_controllers1, shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.l1_controllers1" -- "board.cache_hierarchy.ruby_system.network.routers1" [color="#381526", dir=both, weight=1.0]; +"board.cache_hierarchy.ruby_system.l1_controllers2" [color="#000000", fillcolor="#e5bcd0", fontcolor="#000000", fontname=Arial, fontsize=14, label=l1_controllers2, shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.l1_controllers2" -- "board.cache_hierarchy.ruby_system.network.routers2" [color="#381526", dir=both, weight=1.0]; +"board.cache_hierarchy.ruby_system.l1_controllers3" [color="#000000", fillcolor="#e5bcd0", fontcolor="#000000", fontname=Arial, fontsize=14, label=l1_controllers3, shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.l1_controllers3" -- "board.cache_hierarchy.ruby_system.network.routers3" [color="#381526", dir=both, weight=1.0]; +"board.cache_hierarchy.ruby_system.l2_controllers" [color="#000000", fillcolor="#e5bcd0", fontcolor="#000000", fontname=Arial, fontsize=14, label=l2_controllers, shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.l2_controllers" -- "board.cache_hierarchy.ruby_system.network.routers4" [color="#381526", dir=both, weight=1.0]; +"board.cache_hierarchy.ruby_system.directory_controllers" [color="#000000", fillcolor="#e5bcd0", fontcolor="#000000", fontname=Arial, fontsize=14, label=directory_controllers, shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.directory_controllers" -- "board.cache_hierarchy.ruby_system.network.routers5" [color="#381526", dir=both, weight=1.0]; +"board.cache_hierarchy.ruby_system.dma_controllers0" [color="#000000", fillcolor="#e5bcd0", fontcolor="#000000", fontname=Arial, fontsize=14, label=dma_controllers0, shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.dma_controllers0" -- "board.cache_hierarchy.ruby_system.network.routers6" [color="#381526", dir=both, weight=1.0]; +"board.cache_hierarchy.ruby_system.dma_controllers1" [color="#000000", fillcolor="#e5bcd0", fontcolor="#000000", fontname=Arial, fontsize=14, label=dma_controllers1, shape=Mrecord, style="rounded, filled"]; +"board.cache_hierarchy.ruby_system.dma_controllers1" -- "board.cache_hierarchy.ruby_system.network.routers7" [color="#381526", dir=both, weight=1.0]; +} diff --git a/m5out/config.board.cache_hierarchy.ruby_system.dot.pdf b/m5out/config.board.cache_hierarchy.ruby_system.dot.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1535ed789dbe049b34f8c138c295d0a11d1c36eb GIT binary patch literal 14081 zcmb`ubyOTpw}%_t-F2h}2Cd)eng503g7@#0HU%55OX4Zg1&o1>ktC zQb7a&04x&Lwyx&Ruiv)DuI6IqrVeK2hyntLF0Rhz#&(FF*(Z8q)l@A`>)$lj%x_F& ze3M%2x`BXhB-sWmXkj{Qc20Zg+QGo>E{|+1VGEi{2e&5s*a8T`aK0O{qybIfhTO}} z-b?4t%NG*^!|KobUAP|BET{E6UAS?AI!K_d$0rt+uKOaNyD`OR)4a{cqv(J;GKj9! zm#1%+ZJV;HH=(yn{Ah&aA5BbUF&%J#;R1 zJ=R2P9}m^X+q?%TJL#kS{BgTNKej+cmNl-`Y8GIdaOpo~PHFoyla3^=MBejCtNE!; zdFXlHD_U?_dvw|V-v8qJPBs!ffgT0He>&qv*yLq(Dmb2{ho*O~N zu7~rixB_3#yTf(3n~R&x7w@~YvrUVV9#QgUS^Xlpw|X{+z4UC<$wRmIm^P5FKC+j} z>t)m)>C?yzb#iQ((;TyIhXANYhr71>TTtB>PBKpWRZt(3y$IR-9te&kuw)s zE1{Bc=Bs2xZpVh%pKqlV5D)~h7wQprn`LDLS}xzKJ`U1Pe4CNM=1dqUMf8spScs>$ zag^6hdKr!3hn8`?+tCM5`#3fMb));I&3i;@B9}hNFPyJNgap!)O$K!xo=0yd?&CSE z4Pye>FG~i~G&###oLar)Medwh&aS^l`UF9tU1ot1F~&b<1QvM_jS@V-_OcR&nxXVU zj3PEZB>?lYPhitxJx+2yY$AvExndhw_Ofaec?N4ce?h8Q1hz6m2WM6I%qGsJI0L=?<`-S z%tM+pDc3kYuTM=ke;u8*7Z`gc=)#i0Z77+Owd&2^#&{UAT<)SWevx~iPx$2y4P1eU zKG!^s6n$%1+qEQQ0x^R>x{}L|T_RLP(epkwXm0?Zb~;KsAmA$kmGi}id#;Oc@q`{u}) z2et;wn4t3e$7Ue$Y-|8ZWUNuX?o8Lga_tov>lX(-F9R{-q##*YnnuG zq|VcbUTMU2SdY={C7&GhFhj%V&A9q}rTp-G=M|l&f&WPUegK`0M%DdKKa2MGxfr*f+HNV=TeqOH0c+n(fH4916 zfy3o{=W1!#G;-auXN4MUJ{9;W-%Ld87hFvksapA56s=Z(@^Maa7u`pu(s(N>N)^f# z(gj0o3@nc4rEJZkv+6wNQpxrZiQo`hf3?lX!FPM*hJbK5W z!k@FmbJ#&2cvd{!bj}_|ywQ;=3Dd9lR_Vr+954l>(8E^pWyI3^PS8M?7CnbSyFR@( z!QvHHkwg&Tg`yoeWSYBqjJ`><+{qviW&|e8L$~p`aG7(gQG_44)SC`| zbXic)9#glQK1`?}lUkdIe|PSy@~NG)oYjQf`<3!SpN>&- zd>Hy8Q_z7d(2E>fTo|LDr0!imdaR`u3q^?U0tt>lYeN0OC`b%mR8F%Fsi1IAXu)VY zx6QvklV->olC-i*Sx$(emnASUXc04=qc$dSDa^_4%D~Z^wo0-ePYt>qwZCu9q1z6J z9(Lr{Xj?8po8AC9*C&@n`Sh;{M~#JJ#z2K%of6WrbNGCAvR5K>Ycampx3-7xqm8LMpQQU8ROMBWhc2R z?5FgT4C!mmrl>|hm9y%&V?QWj(6FkzO{}3+CM=70zz1DmFp{mnSqe*2;Fn6~QOEX$ z1AAB}w;JVgONKhG=>e!>H+1hZyA!kV-RuT!Tm+@Qi;2JAH(j>T7n({677N)DA)xe} z=ToO|HGEEo-Z_e$YPzG?<^Q2`QD|GBR*WC@7Tg4%&tt4U-xQ(p&0i}Hrd#E-08~J= zHx`DeeV91s4vAXfi-@WQyuC-(9GYg93{1#L?J~)t5;EWGq!7l*K7OPJ2WN*!r4im;qMh+ERcdw0UpTffMcn_C^xAm|l&I zMQn*&$5tTCC^R=?b#HKOz7QXh#h|9@+t8Jb0T+#FHD8Ncd_UN?K&bU*&5tg0?^R2% zXWYi09L?(o`CW*@#I)I<^MRwOS6_lKYJ;b@+53?lzQ_Cme^rkrU(K=RAk?Ng3>LQs z6lkeWi9&h2wks}eU^m+%uvB!DRg|bE4?$Mfe^XWixQr+0QE%9_yv=hC^PBUPn{t$8 z9XJ^u4V6Sx9;{L_oYWW8jvE%aHwAXjpN4J~xkZ8VTOqusqgL{mRoSP6qDtStdC!o^ z+GyqAifi2?I_k*5tYo=Uznk2u>UdaklScpxUTMiRCDmf2aK^usTbl3DK>xmN&fo}! zznE$qD;@qujPGxBPE{d?qQ(p#7B)Wt+atH~vTodV6y8>ZA-YgDX9L?pC>_?M4DP7H z;9aV^lF%=>bp2MFsa5aDI&VVZ@g6iY*C$y8-#SZF>V>pl_TY60Ysdq-9J*CUun?!E zHZpvJQAcgS2BL)1dZL#g?92F);XH%^KNU|~gc;BO!TC*zE--z+I>yIk5pC=uX6%+q zG(&X@pOSn)b6}Va0>O7D0q`9ah= zdflGT;=MLhkz+qm(FeX6dji0H`kX*;hktmwLHQ7V>@X+P!mkm7cS=m|yHm4|YUKRC zR3ZS{i7Jc1NCm8nOE3rrQ^`p0bT}j-u@-WY?%p@@_LGIG2AK9olB*vZlpvt|3Y4Y* z8kGmP*~dfZSkM)nAUY8Q;@!mr>lGKX=1}#!wpc3sjB(-@&lj$glvmNIWuv3i%$Z^M z3U#l|>eP=E4yrx-=s|N;WyN9nh8*=6f1+wnoO>m>UfA&|zndkmBbkugx^Y|Da9qVPCcrGvCV=d+TnRT=>$7OkI_OgiU=8p*WU)?lQLD?rdxi`Ne zPK=K~i{4xE7jFt^289>$r6JDShE)WDTNs3Vo|Xh|<9hsV`-Zjz^#t#)w;cilU>+T? zKR!Jb-Q;^&>n=Y}zM*;vy*}M#m01+S$BvMZjJO|s1F?nmhzlPOy#uJtC+Ac_m%lM! z69MuRNCqX0U?RIfOnD?c9iU@7#nHxxo13N#6=Jh@Zpq`qkJQGtn~QgR?7T@eRhUrL2WofSg}>R#U+}P=vT=G}ieM>~ zb9dU5;DJq|=_xC23*gX|v&6E~pNriYMAKkOE{o34HaFQ>$S-_X-fd5A`h36mpv3(&y@-DV<^#RR#xj-b8G1lHE5?om8QBp`v=}hq^bPXb~I7DSg#*RD0_= z5GFE1DcwsvGU!O)pikyixY6D9MH+-%)q1x7R0NP!3|Dk-D_HcdnS7VgT5Vqyfs7d^ z!E@uu|18hlK$*+wN}yR<7Iw zY?90bRR={}wA^)T(I9@m<_lFG5+(u4PqWDEyv_<6n z4J&K5l8O@FSDqG3J{U~i?&~ndGgfh`n$V+x+RO9fa3zx};_PajB#9+nFTAZS_5*f| zYkgm`{`$UZl5gg}WhB6dl8&JHG2X`7dS@cnWq4BqHghB0Kj&i-fBxD*Aegu7aW(R3 zHg8GucK@1jQPRw$GGL4f`7FL`(reGNtC#NEs0S`r3HXTyIZ1ckfEr@gNw3K=uzS~S z-$&1xDem%m{ABRSnA(-F8i=e`IwPQR_tp zXj$KaUZgx$?S#{;Bt(cd=_F`?fUWI8tA$eVLQB<`t)7RSvIE<0C>!~&?&rNr%lqY% z03lhe8Qv{BiK8)>6Z3!ty%O+#3o`=;(2+5BQ&O7c&pysZJ zCE|IGM8F71x5C@iGRYf8hMDSYMfVwHW0aD7_dK!~{Yu<(!9-EH6+Zn3)kk~77zyvE znfOlDR{31vDMkh5C?3gUBs%UN8e-q=7B}XF6&{5?JVvHc z_LqoIPj=s?e#b8fDP%%(1QjO<22QJ_t;5x7>PD>d!Qyn;J-+M?3NldUz>{byOT>)& zCbV9#PX`fuF_!pX^h1Qc`_0EerAb{(#K$+>tAq4MT8J9@ue&45iTCkH8qgyLgjYza->K(aMu!{FVcvEYF?4nuZ!$hP=))oY3(!iqmJID|y zdA%%0eErzuSmSY;dpF76YFR5kbiZ^624BHHq{TlHiI$+fuhsVGZ}~IE>uYlC!;HnN zZeSX4U*`96KnW&H-BdVEb2ORs-nm^1YTcY}dHyy@AM})TV6`yx)I-X$c9q34EQ43m z!n8+*naF<6KmJT!e8Nk6RtxJ=(msG^@rwwP{7AFRapIbz!nUQWmBFa<=*FOO&N`zG z|JywuH7i;l+OULQq*hs>(&zB@cES?X8pW|LmKQiN=*R^`b9=MD^yb&S-%9mwdHVPF zt3b`c#m4sA;CGSjA0hh>=~~>=RZ`XURkjB3@%^rN{b4Z%z7_y1qQU?WfW_4Kb^9u2 zzaIE=%Oc@m@A@xm3nm~F5Ww}f82)PX`uo>l;C}`Ku&8-CngduAO>9(M?fw}0FBzTt z@0KhI0MH)?B&?lXTmkHV?f>7>I-4qRE9xL>AMy<>7()MlN8xwxe? zQk7Y;9is+S33ehyyhuei!bBd^;Qqa+WDME|Xdv#0Bht_{1h@s4lVKBq0On~99nH{?{2p$PJ~VO$HG?Sdx> z7@_!!=pyrs?JWsi2XQ!f2%xSHKR*tj$lB{^`pgMQ-Tw+Li(}O8biY74dAAbZ2O)x7 z`U7u%fja5aN$Aoqcp}5Nz&QK?=&IW&( z%?!2!iYO=a*g3|Lm^$MV(}eUnW@@`y-!xrW&xc1JsfVS_WOR|c?ES*NtdKM)@0YQN zhKWx!naQ-ul%7qTQ)3b>b)ip=%p?P5yq7W0CX43+g>zeN1%5L+U2Eyzy#%93sPyB2 zQTjjVmNMuv2o6$c!@_})gL}437%enVuDqf7r7FT{K1D>rOu5eG-WC&c9>>!4_=7k;Ae;9Uj?kWUblE8~ zxUsg9>K6t8+7te|;PHpg)`oX@c z=eF8r^~08l>^Xz1bA^;KIg4f=2|kPz1S+FYC7E5HkiXMgMs(xLck!wmsSr_f;;ba) zBv@mv9LR>Xd34iC{c;vytLW)HyD|k;PIBO2=>2UrYGE@xv%ZY&$brZA?Bp}oR~zKb zy3yLRrp35P&*QqMpYGnu?8zrQa}Vgrc3^Ef+;VN*kJP+j@yB|8G-I*&8Skcuu0B9O zS+0Ol$bj;eZ#qVe^6lJt@er5h8#%F+#y&a?*-=K1}-Z=`x2#vrr_gwc!s#2`P@fnd=^1f^*)o$C5O)HH`LTNMEBCm4N zdBr7^<~-9wPh2?K0M5=$$``LB9!1i(*P0B4y5pCibaK3nyB!}RjPK&MUan-9!h^3QaMYV4%x)H6S{LKW>pXj{(Cmw4y)_?6i5s{wplpO|?JKt~` z=@HOpa>U4pH|iuN$}~!^3<_b64L6ek+p6U8MpMPKp*t{$!%%7V(IOzb?y*(8lfDmS z}9 z!F(d#uY0c}Bd(N<1p%;nqePs^?5cG<-g!9lfe7bmJT|9f)2NzKbl9XWrZ`i+O2p~55#8CU@+N$Vw-+q(x#1L{L5A;!<|Ct(*Sx#ve*Npv_>1s0Zm~s zF^q=S8jMR$+5k{Vj+dMt<-WIxL!Y0JmN7l^6xDu;q{)@+_RBZlo1`;KQbpa4Ms7Lt zmx4-vuTfFjZd4jz;8XWRW2QMvzsnlqoqxfj^kK=qNoSD!V0*%Z^^7mXhg{AF$i}7* zA-JeJUQEM5aUme$>>lVer6a{}INYC*uZIfoy1*U~0#B!BlMep32`9Q_p0*4rI8V?G z5m3l;=~jwYMWopFr%r$HUlO_8d+kjiLAC65)5?}z7UlH>S%q1%yWy#zCetuGOfEcxn%PB<{ z884O_m*&Vya^qp@(_*rIi!z#BH7kPn35SDc^bkpDp;jHlRl%~$p4lcC`1WF!dMqUx zqH79(-Aem~$v)aB9)~-KkRbgbg7=hB@8`-pdqsuv@Q2L%^^Zt+oWC>-zeyi0lFWy; zvSA3%HE0#YV>gHo(R?Q$smp&bMI|)@e)hGf6z6ts6|YO*CUx%$cj9E682L(X|0N^0 zoo6PY&CO{BOPV(BDp$o9&M$A<5slLOg{g4S%xGTJF%O&L;4^Y6HU5xq&>XpuMYs`p zVZ%KnPY3S0-n)}};Zl?p+bNTfS`=j z9*##C355RaNkW5H3?*6KPF_3J*n24t&4syWRDDxa-s`jr$J{iK4f9=_-S4VK-=Y0% zDQN?<)2Ab#Cwx7t`tFG+A|UTB-F`MomuP5wb-CUChoj@ExARZ;hvU%vL-c z-%o9eb{uJnZ68fsFNW8$8EVSq*SuQcOsligEFw)K5*yj|c`8j^po?JEX)_kAJooP{ zhZno3;Rv0(bD`>p4<~{qviqlDm*FazCi7RR+UzL!xX%Hn#_;T=NJRxe`%j+UB}n>; zYu@)%Yc8t>c;Y0+Xj4Bn1gn?p88DZZ8?Tq|34u_OA8NE~aTN?$Pl#$9h!If8UhYrW z&N{Ana<}c-7gA(4l#*~vxIbxNg-=_l^9({3BT~A{A+76xi^3F`q;!^w!fJ5|8;uqr zr+e>&%Q%@Dt&CfP@9Wga$!2E*7%mzLrtAtXq&&#Doy7*oz>alU8Lr>euSnEgIiL91 zBDJ=$Ko&EH$b(d$QWppanDtF(GG`gqC&Z`3+h7kkrlpGpB-q)IehAoG4b;P630^kcrN@kZwrSD?}xJ z2PK`n7e!dzj#jkIO$`*Ap8--&n^jWDCKplH^@!ui{8i}d%TQaK#+~U#&ZgQwcQ~rs zrxlriVwF6C$|d@;K9e2jD5>oBaT5v~z5YjLh(0%^C=aSX7}Oq0H1n1<=kY4FA$AYp zwP**ykFD-jB<;#Y`%M!G87=q@SJ^>Yj4>=m)1`;RIws{VB4Jp33XVKIr_ecA0v^2t zw2w0gioC{^SoSWxGPHUHMoBrf$kPsQ4?_^WJFpJG#;sVk3Sag@NzI)Eg)6akh`>0I zg9wJ)+fM=uU#?+kV^o#CI89T-L@=x-r+h#>iV~PkOhMUMJyYL{GPOgTWu{fi86Cx? zg*K1uH^bizg``ENwYvYx8qiH4Xw%dK`wS|&&X}1`dx(ZbOzo@*^u&n2q2v$>pa)!S zTeDV@yDn~vNdv8iE>|stV8IQl1oOm#`r!Llxmbvi}0|Jp8%=N#Jrm zy>aq%#}?|2H;nHb2aYBKiF|4<{w^`wIFZ=%We|1$EtKddK2VvY8tj}6)J1U+vz<9% zid<<40rE)ao75L>e5I-!W-AxrXrx|dD@Wle7y-N(zemvY}_LmDNl zieo-GQPRVQW_F&vp9}*L;v-rjgvc)P;S3i)GkSlZl6v``MQr*m*IJxJ?HPUu=T&@q z7-nE4F40{4YP?);%7H|N++OdW&W87-^9N*0T&A#w(%Cf8ute3;$}p*xOlE?B)O9a0Yn-hdFkKQi zAw|%Lkeq1`!I=R8El`cf#4vI046SI-gEEiAj9xn|bdFr!uASO|zm#UHCRdxIXol;l)p}7wkFDv^#zEV9B)L*-a*rXpCS8r)srROqmH)ff1L%PQ}!v zD91^CRMB>=PjQ$$i?KbLN`eu#l*v)j^yx4xeCK2r${a1$ECpN2E<%?gv38FTL2F30 zk5powsCu9SDhkMp3Stsg+5Z6}aLLiL3;%7x0JU6RXi4vBQH)eZEfSjT5w&Hxz3fP; zpW%E%3aGM*fy9FD*@14YC>_b3T+kXh8OO+DLfgDTb=DkMjJD8MEVOgDL4cE3?i_1a z=-lD!$0TyTNC~D{ArAK^+*B+;sDMccA#?|uaoC=qk3eQiZOa7sP9(uJi;6Ki!cx7Z zGv#>zrrHo-o%UU^pdnhVM!gLXGjT3mKrk=6_|&B03E{oSx(p09ka-w9K&Oy^GE_rX zvhqr{u~}C!P}wg?be!LUIpn%bd~c9Z?1vSQ)36Qe1xsm21t7{$%uvFWd)&~QB!?o! z(Lash?Un1IO5G8vlGm!L@{@z8E<-8oNlkq_n2Z<-JHjaU{c|;=#`4VDu6n9EIo32O zsxQDgnYVPRr#ObV2&seO@m>fi&%6C3NA_extEg=wU`)D{$WPRV=3eF)0qZ6sq>c02 z9lGNWcBsAqF%p?ingVqecl|`a=Ouq2sY5Ob-x5Jr2dPqd-=Op zSFIF0{I7PZ`^U>=vtM*N3Us2=UcDM@ELkWjxD}CL^mVR;6nd|m=AO}%YK?=Z*-Ntg z((8h|_Y!4gQN!b5(4xVKiYf1pdw0Y_`=6XVH@sxR8&<)1TgvIcBX2Fg&J}ND)hR%!}+4{+(EypaEG_CrC@Y< zt1}A%c>!zHICf4^K$Z7S2w4?y&DGTxWD4Y81ZdLNh(HM;kW8#@#sm!S@B zNj$0VVixT%p17A)Aduf;Je3wD-)9rnS5|)CIXgIt>Y};!B)Q4Fjf302iTM1X*}%L0 z=DFDX$IW}aJ>|$K(!3ud(??R$GYPVa2JIZy%Yy3nqFN#fmHwi+g;BMLC>Uhd5w$Em z{v_9s$85EWriO@J#Nz3%NX0CdE&KVhDyZN1xce1JJ~dNqc)P~pJ@JaJ895%Ith4Qe%BN*chb}~@At8-Gz+(FeYa!X zVB&e8CH;xmSHrLQ@#l}OHmP5m0uNR9HT%W)EL0XR=c8=%mVwpJvnj5>;9SS6eTJS< zOZfV^z*#q+(zfmkUtN_hSU@lP_7Ak^z#g8MNIEEk^Lmj^0(cu`!#e; z%UhCEo{?y|pj5k3Zsj?Hq-2;vBu3v}=#>q;SOv!FPg+ zpBdGbWx-InP;iIo9^KKrMiCxmPeBW= zZPoJ|t({FR919hME;XJkIGuQenSEc?WZ7IfJvdZnKY!h9b|&&mXeNYTI^l`4@3ilTo&JvKI_t*Z_O+F*HC^FESSv2pK-!2Ws1`?U3WDi` ztulKe3e^pnfx5{d7Fu4#KIIXc;T=`8G{roJ%j3zL8)#04O@)uhpW^k@{prE%O62p~ zLdkH(#D@{hx+BR#WuQ6FBvpHKvUrJ7Hta-6z+|>lHY=nh{IpbfwBw8?76P~E2XsV^ zL?y~zQ6Sn-0XhOXAM_V!pW%$H%}E5V^oW@AY5YwJ>|QtWJuDg9p|6xLFpk&EP?Eh%){{tTWR?-2W-%r*5e|v;pKXJsq4}czi#y3DbE4s%7p)QhIakV3g zH-7>J1{SB<#MHW+ucjFns{QC0A3C2j3E!FH_wd&%@QiEt?gYc-P2`kOGY!bTVD(m> zHhwxHx&+-LrQ=s5S-cMuNZ&46wrzGOhq`eM1IW&p}I z9PJfDa-m&Mq3m~q@N*tHcyZJX56+ypqh>|pfT&3(z?_$%ldMJam(U&~;zyV;<}utx zmrp_tFFEsYsNB3i`Naz2+!9mGSw$Aj56nXC)3e5LT*Sxk!>{D~*3ik)(fTD1DC^8p z`=hj}Q)ygS%i)Ij!Iv%y(%jS!=GT;LG#Yxc%1i@KbU!4W^`+f#zA1B~9Z`SZr~FB2 zosLu2c>KBlv1?=sX2U+JI?=*EFQH{HeK3hkA{R;C?8-BM*BBK$rOS}M@+0|wnX?mb!ZE5vt!o~fEiK?r)ody8>XY=0$slN-qJ$Qvc=B$7}NRi6Fh}Lh;^?P;y zXH5R=&&|a355}eD>}LKuUVqez7`vGNLCpTI`1}T5qE^Pve}_QM_^&dE^)Dp$AAtve z{^#8jar@WTO|0!L0W6x<_QLiq)_+(0F}kL;nX8q{Yb05@xR}9gtU$Kk=oH261w6bN;4y|NZkXAA$dN__YB1kBa{={M{Gpe|G+_ zBAAVh83^P8zoxQ(wffiY@8)d(GI|~9zr^>q1Ana6*Q>`t-QN25YeBE;__gi77Zm7s zXaBjP6#o|^1^ou8eFP4NDa(<%AbZ zEr$w{X!;hDyvB1?Ex_T^T+7Ab6Tfag2=oMtT}?tA-tEcnpS%KKVY#>BxYH>vg#Qz6l%(E{5 literal 0 HcmV?d00001 diff --git a/m5out/config.board.cache_hierarchy.ruby_system.dot.svg b/m5out/config.board.cache_hierarchy.ruby_system.dot.svg new file mode 100644 index 0000000..8201a4d --- /dev/null +++ b/m5out/config.board.cache_hierarchy.ruby_system.dot.svg @@ -0,0 +1,459 @@ + + + + + + +G + + + +board.cache_hierarchy.ruby_system.network.routers0 + +R 0 + + + +board.cache_hierarchy.ruby_system.network.routers1 + +R 1 + + + +board.cache_hierarchy.ruby_system.network.routers0--board.cache_hierarchy.ruby_system.network.routers1 + + + + + +board.cache_hierarchy.ruby_system.network.routers2 + +R 2 + + + +board.cache_hierarchy.ruby_system.network.routers0--board.cache_hierarchy.ruby_system.network.routers2 + + + + + +board.cache_hierarchy.ruby_system.network.routers3 + +R 3 + + + +board.cache_hierarchy.ruby_system.network.routers0--board.cache_hierarchy.ruby_system.network.routers3 + + + + + +board.cache_hierarchy.ruby_system.network.routers4 + +R 4 + + + +board.cache_hierarchy.ruby_system.network.routers0--board.cache_hierarchy.ruby_system.network.routers4 + + + + + +board.cache_hierarchy.ruby_system.network.routers5 + +R 5 + + + +board.cache_hierarchy.ruby_system.network.routers0--board.cache_hierarchy.ruby_system.network.routers5 + + + + + +board.cache_hierarchy.ruby_system.network.routers6 + +R 6 + + + +board.cache_hierarchy.ruby_system.network.routers0--board.cache_hierarchy.ruby_system.network.routers6 + + + + + +board.cache_hierarchy.ruby_system.network.routers7 + +R 7 + + + +board.cache_hierarchy.ruby_system.network.routers0--board.cache_hierarchy.ruby_system.network.routers7 + + + + + +board.cache_hierarchy.ruby_system.network.routers1--board.cache_hierarchy.ruby_system.network.routers2 + + + + + +board.cache_hierarchy.ruby_system.network.routers1--board.cache_hierarchy.ruby_system.network.routers3 + + + + + +board.cache_hierarchy.ruby_system.network.routers1--board.cache_hierarchy.ruby_system.network.routers4 + + + + + +board.cache_hierarchy.ruby_system.network.routers1--board.cache_hierarchy.ruby_system.network.routers5 + + + + + +board.cache_hierarchy.ruby_system.network.routers1--board.cache_hierarchy.ruby_system.network.routers6 + + + + + +board.cache_hierarchy.ruby_system.network.routers1--board.cache_hierarchy.ruby_system.network.routers7 + + + + + +board.cache_hierarchy.ruby_system.network.routers2--board.cache_hierarchy.ruby_system.network.routers0 + + + + + +board.cache_hierarchy.ruby_system.network.routers2--board.cache_hierarchy.ruby_system.network.routers3 + + + + + +board.cache_hierarchy.ruby_system.network.routers2--board.cache_hierarchy.ruby_system.network.routers4 + + + + + +board.cache_hierarchy.ruby_system.network.routers2--board.cache_hierarchy.ruby_system.network.routers5 + + + + + +board.cache_hierarchy.ruby_system.network.routers2--board.cache_hierarchy.ruby_system.network.routers6 + + + + + +board.cache_hierarchy.ruby_system.network.routers2--board.cache_hierarchy.ruby_system.network.routers7 + + + + + +board.cache_hierarchy.ruby_system.network.routers3--board.cache_hierarchy.ruby_system.network.routers0 + + + + + +board.cache_hierarchy.ruby_system.network.routers3--board.cache_hierarchy.ruby_system.network.routers1 + + + + + +board.cache_hierarchy.ruby_system.network.routers3--board.cache_hierarchy.ruby_system.network.routers4 + + + + + +board.cache_hierarchy.ruby_system.network.routers3--board.cache_hierarchy.ruby_system.network.routers5 + + + + + +board.cache_hierarchy.ruby_system.network.routers3--board.cache_hierarchy.ruby_system.network.routers6 + + + + + +board.cache_hierarchy.ruby_system.network.routers3--board.cache_hierarchy.ruby_system.network.routers7 + + + + + +board.cache_hierarchy.ruby_system.network.routers4--board.cache_hierarchy.ruby_system.network.routers0 + + + + + +board.cache_hierarchy.ruby_system.network.routers4--board.cache_hierarchy.ruby_system.network.routers1 + + + + + +board.cache_hierarchy.ruby_system.network.routers4--board.cache_hierarchy.ruby_system.network.routers2 + + + + + +board.cache_hierarchy.ruby_system.network.routers4--board.cache_hierarchy.ruby_system.network.routers5 + + + + + +board.cache_hierarchy.ruby_system.network.routers4--board.cache_hierarchy.ruby_system.network.routers6 + + + + + +board.cache_hierarchy.ruby_system.network.routers4--board.cache_hierarchy.ruby_system.network.routers7 + + + + + +board.cache_hierarchy.ruby_system.network.routers5--board.cache_hierarchy.ruby_system.network.routers0 + + + + + +board.cache_hierarchy.ruby_system.network.routers5--board.cache_hierarchy.ruby_system.network.routers1 + + + + + +board.cache_hierarchy.ruby_system.network.routers5--board.cache_hierarchy.ruby_system.network.routers2 + + + + + +board.cache_hierarchy.ruby_system.network.routers5--board.cache_hierarchy.ruby_system.network.routers3 + + + + + +board.cache_hierarchy.ruby_system.network.routers5--board.cache_hierarchy.ruby_system.network.routers6 + + + + + +board.cache_hierarchy.ruby_system.network.routers5--board.cache_hierarchy.ruby_system.network.routers7 + + + + + +board.cache_hierarchy.ruby_system.network.routers6--board.cache_hierarchy.ruby_system.network.routers0 + + + + + +board.cache_hierarchy.ruby_system.network.routers6--board.cache_hierarchy.ruby_system.network.routers1 + + + + + +board.cache_hierarchy.ruby_system.network.routers6--board.cache_hierarchy.ruby_system.network.routers2 + + + + + +board.cache_hierarchy.ruby_system.network.routers6--board.cache_hierarchy.ruby_system.network.routers3 + + + + + +board.cache_hierarchy.ruby_system.network.routers6--board.cache_hierarchy.ruby_system.network.routers4 + + + + + +board.cache_hierarchy.ruby_system.network.routers6--board.cache_hierarchy.ruby_system.network.routers7 + + + + + +board.cache_hierarchy.ruby_system.network.routers7--board.cache_hierarchy.ruby_system.network.routers0 + + + + + +board.cache_hierarchy.ruby_system.network.routers7--board.cache_hierarchy.ruby_system.network.routers1 + + + + + +board.cache_hierarchy.ruby_system.network.routers7--board.cache_hierarchy.ruby_system.network.routers2 + + + + + +board.cache_hierarchy.ruby_system.network.routers7--board.cache_hierarchy.ruby_system.network.routers3 + + + + + +board.cache_hierarchy.ruby_system.network.routers7--board.cache_hierarchy.ruby_system.network.routers4 + + + + + +board.cache_hierarchy.ruby_system.network.routers7--board.cache_hierarchy.ruby_system.network.routers5 + + + + + +board.cache_hierarchy.ruby_system.l1_controllers0 + +l1_controllers0 + + + +board.cache_hierarchy.ruby_system.l1_controllers0--board.cache_hierarchy.ruby_system.network.routers0 + + + + + + +board.cache_hierarchy.ruby_system.l1_controllers1 + +l1_controllers1 + + + +board.cache_hierarchy.ruby_system.l1_controllers1--board.cache_hierarchy.ruby_system.network.routers1 + + + + + + +board.cache_hierarchy.ruby_system.l1_controllers2 + +l1_controllers2 + + + +board.cache_hierarchy.ruby_system.l1_controllers2--board.cache_hierarchy.ruby_system.network.routers2 + + + + + + +board.cache_hierarchy.ruby_system.l1_controllers3 + +l1_controllers3 + + + +board.cache_hierarchy.ruby_system.l1_controllers3--board.cache_hierarchy.ruby_system.network.routers3 + + + + + + +board.cache_hierarchy.ruby_system.l2_controllers + +l2_controllers + + + +board.cache_hierarchy.ruby_system.l2_controllers--board.cache_hierarchy.ruby_system.network.routers4 + + + + + + +board.cache_hierarchy.ruby_system.directory_controllers + +directory_controllers + + + +board.cache_hierarchy.ruby_system.directory_controllers--board.cache_hierarchy.ruby_system.network.routers5 + + + + + + +board.cache_hierarchy.ruby_system.dma_controllers0 + +dma_controllers0 + + + +board.cache_hierarchy.ruby_system.dma_controllers0--board.cache_hierarchy.ruby_system.network.routers6 + + + + + + +board.cache_hierarchy.ruby_system.dma_controllers1 + +dma_controllers1 + + + +board.cache_hierarchy.ruby_system.dma_controllers1--board.cache_hierarchy.ruby_system.network.routers7 + + + + + + diff --git a/m5out/config.dot b/m5out/config.dot new file mode 100644 index 0000000..8e8aeab --- /dev/null +++ b/m5out/config.dot @@ -0,0 +1,8923 @@ +digraph G { +ranksep="1.3"; +subgraph cluster_root { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="root \n: Root"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \full_system=true \sim_quantum=0 \time_sync_enable=false \time_sync_period=100000000000 \time_sync_spin_threshold=100000000"; +subgraph cluster_board { +color="#000000"; +fillcolor="#e4e7eb"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="board \n: X86DemoBoard"; +shape=box; +style="rounded, filled"; +tooltip="auto_unlink_shared_backstore=false \cache_line_size=64 \eventq_index=0 \exit_on_work_items=true \init_param=0 \m5ops_base=4294901760 \mem_mode=timing \mem_ranges=0:2147483648 3221225472:3222274048 \memories=board.memory.mem_ctrl.dram \mmap_using_noreserve=false \multi_thread=false \num_work_ids=16 \readfile= \redirect_paths= \shadow_rom_ranges= \shared_backstore= \symbolfile= \thermal_components= \thermal_model=Null \work_begin_ckpt_count=0 \work_begin_cpu_id_exit=-1 \work_begin_exit_count=0 \work_cpus_ckpt_count=0 \work_end_ckpt_count=0 \work_end_exit_count=0 \work_item_id=-1 \workload=board.workload"; +board_system_port [color="#000000", fillcolor="#b6b8bc", fontcolor="#000000", fontname=Arial, fontsize=14, label=system_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_dvfs_handler { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dvfs_handler \n: DVFSHandler"; +shape=box; +style="rounded, filled"; +tooltip="domains= \enable=false \eventq_index=0 \sys_clk_domain=board.clk_domain \transition_latency=100000000"; +} + +subgraph cluster_board_clk_domain { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="clk_domain \n: SrcClockDomain"; +shape=box; +style="rounded, filled"; +tooltip="clock=333 \domain_id=-1 \eventq_index=0 \init_perf_level=0 \voltage_domain=board.clk_domain.voltage_domain"; +subgraph cluster_board_clk_domain_voltage_domain { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="voltage_domain \n: VoltageDomain"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \voltage=1.0"; +} + +} + +subgraph cluster_board_processor { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="processor \n: SimpleProcessor"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \thermal_domain=Null"; +subgraph cluster_board_processor_cores0 { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="cores0 \n: SimpleCore"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \thermal_domain=Null"; +subgraph cluster_board_processor_cores0_core { +color="#000000"; +fillcolor="#bbc6d9"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="core \n: X86TimingSimpleCPU"; +shape=box; +style="rounded, filled"; +tooltip="branchPred=Null \checker=Null \clk_domain=board.clk_domain \cpu_id=0 \decoder=board.processor.cores0.core.decoder \do_checkpoint_insts=true \do_statistics_insts=true \eventq_index=0 \function_trace=false \function_trace_start=0 \interrupts=board.processor.cores0.core.interrupts \isa=board.processor.cores0.core.isa \max_insts_all_threads=0 \max_insts_any_thread=0 \mmu=board.processor.cores0.core.mmu \numThreads=1 \power_gating_on_idle=false \power_model= \power_state=board.processor.cores0.core.power_state \progress_interval=0 \pwr_gating_latency=300 \simpoint_start_insts= \socket_id=0 \switched_out=false \syscallRetryLatency=10000 \system=board \tracer=board.processor.cores0.core.tracer \workload="; +board_processor_cores0_core_icache_port [color="#000000", fillcolor="#959ead", fontcolor="#000000", fontname=Arial, fontsize=14, label=icache_port, shape=box, style="rounded, filled"]; +board_processor_cores0_core_dcache_port [color="#000000", fillcolor="#959ead", fontcolor="#000000", fontname=Arial, fontsize=14, label=dcache_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores0_core_mmu { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mmu \n: X86MMU"; +shape=box; +style="rounded, filled"; +tooltip="dtb=board.processor.cores0.core.mmu.dtb \eventq_index=0 \itb=board.processor.cores0.core.mmu.itb"; +subgraph cluster_board_processor_cores0_core_mmu_itb { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="itb \n: X86TLB"; +shape=box; +style="rounded, filled"; +tooltip="entry_type=instruction \eventq_index=0 \next_level=Null \size=64 \system=board \walker=board.processor.cores0.core.mmu.itb.walker"; +subgraph cluster_board_processor_cores0_core_mmu_itb_walker { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="walker \n: X86PagetableWalker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \num_squash_per_cycle=4 \power_model= \power_state=board.processor.cores0.core.mmu.itb.walker.power_state \system=board"; +board_processor_cores0_core_mmu_itb_walker_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores0_core_mmu_itb_walker_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_processor_cores0_core_mmu_dtb { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dtb \n: X86TLB"; +shape=box; +style="rounded, filled"; +tooltip="entry_type=data \eventq_index=0 \next_level=Null \size=64 \system=board \walker=board.processor.cores0.core.mmu.dtb.walker"; +subgraph cluster_board_processor_cores0_core_mmu_dtb_walker { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="walker \n: X86PagetableWalker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \num_squash_per_cycle=4 \power_model= \power_state=board.processor.cores0.core.mmu.dtb.walker.power_state \system=board"; +board_processor_cores0_core_mmu_dtb_walker_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores0_core_mmu_dtb_walker_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +} + +subgraph cluster_board_processor_cores0_core_tracer { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="tracer \n: ExeTracer"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0"; +} + +subgraph cluster_board_processor_cores0_core_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states=ON CLK_GATED OFF"; +} + +subgraph cluster_board_processor_cores0_core_isa { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="isa \n: X86ISA"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \vendor_string=HygonGenuine"; +} + +subgraph cluster_board_processor_cores0_core_decoder { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="decoder \n: X86Decoder"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \isa=board.processor.cores0.core.isa"; +} + +subgraph cluster_board_processor_cores0_core_interrupts { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="interrupts \n: X86LocalApic"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.processor.cores0.core.interrupts.clk_domain \eventq_index=0 \int_latency=1000 \pio_latency=100000 \system=board"; +board_processor_cores0_core_interrupts_int_requestor [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_requestor, shape=box, style="rounded, filled"]; +board_processor_cores0_core_interrupts_int_responder [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_responder, shape=box, style="rounded, filled"]; +board_processor_cores0_core_interrupts_pio [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores0_core_interrupts_clk_domain { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="clk_domain \n: DerivedClockDomain"; +shape=box; +style="rounded, filled"; +tooltip="clk_divider=16 \clk_domain=board.clk_domain \eventq_index=0"; +} + +} + +} + +} + +subgraph cluster_board_processor_cores1 { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="cores1 \n: SimpleCore"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \thermal_domain=Null"; +subgraph cluster_board_processor_cores1_core { +color="#000000"; +fillcolor="#bbc6d9"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="core \n: X86TimingSimpleCPU"; +shape=box; +style="rounded, filled"; +tooltip="branchPred=Null \checker=Null \clk_domain=board.clk_domain \cpu_id=1 \decoder=board.processor.cores1.core.decoder \do_checkpoint_insts=true \do_statistics_insts=true \eventq_index=0 \function_trace=false \function_trace_start=0 \interrupts=board.processor.cores1.core.interrupts \isa=board.processor.cores1.core.isa \max_insts_all_threads=0 \max_insts_any_thread=0 \mmu=board.processor.cores1.core.mmu \numThreads=1 \power_gating_on_idle=false \power_model= \power_state=board.processor.cores1.core.power_state \progress_interval=0 \pwr_gating_latency=300 \simpoint_start_insts= \socket_id=0 \switched_out=false \syscallRetryLatency=10000 \system=board \tracer=board.processor.cores1.core.tracer \workload="; +board_processor_cores1_core_icache_port [color="#000000", fillcolor="#959ead", fontcolor="#000000", fontname=Arial, fontsize=14, label=icache_port, shape=box, style="rounded, filled"]; +board_processor_cores1_core_dcache_port [color="#000000", fillcolor="#959ead", fontcolor="#000000", fontname=Arial, fontsize=14, label=dcache_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores1_core_mmu { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mmu \n: X86MMU"; +shape=box; +style="rounded, filled"; +tooltip="dtb=board.processor.cores1.core.mmu.dtb \eventq_index=0 \itb=board.processor.cores1.core.mmu.itb"; +subgraph cluster_board_processor_cores1_core_mmu_itb { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="itb \n: X86TLB"; +shape=box; +style="rounded, filled"; +tooltip="entry_type=instruction \eventq_index=0 \next_level=Null \size=64 \system=board \walker=board.processor.cores1.core.mmu.itb.walker"; +subgraph cluster_board_processor_cores1_core_mmu_itb_walker { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="walker \n: X86PagetableWalker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \num_squash_per_cycle=4 \power_model= \power_state=board.processor.cores1.core.mmu.itb.walker.power_state \system=board"; +board_processor_cores1_core_mmu_itb_walker_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores1_core_mmu_itb_walker_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_processor_cores1_core_mmu_dtb { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dtb \n: X86TLB"; +shape=box; +style="rounded, filled"; +tooltip="entry_type=data \eventq_index=0 \next_level=Null \size=64 \system=board \walker=board.processor.cores1.core.mmu.dtb.walker"; +subgraph cluster_board_processor_cores1_core_mmu_dtb_walker { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="walker \n: X86PagetableWalker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \num_squash_per_cycle=4 \power_model= \power_state=board.processor.cores1.core.mmu.dtb.walker.power_state \system=board"; +board_processor_cores1_core_mmu_dtb_walker_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores1_core_mmu_dtb_walker_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +} + +subgraph cluster_board_processor_cores1_core_tracer { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="tracer \n: ExeTracer"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0"; +} + +subgraph cluster_board_processor_cores1_core_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states=ON CLK_GATED OFF"; +} + +subgraph cluster_board_processor_cores1_core_isa { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="isa \n: X86ISA"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \vendor_string=HygonGenuine"; +} + +subgraph cluster_board_processor_cores1_core_decoder { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="decoder \n: X86Decoder"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \isa=board.processor.cores1.core.isa"; +} + +subgraph cluster_board_processor_cores1_core_interrupts { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="interrupts \n: X86LocalApic"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.processor.cores1.core.interrupts.clk_domain \eventq_index=0 \int_latency=1000 \pio_latency=100000 \system=board"; +board_processor_cores1_core_interrupts_int_requestor [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_requestor, shape=box, style="rounded, filled"]; +board_processor_cores1_core_interrupts_int_responder [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_responder, shape=box, style="rounded, filled"]; +board_processor_cores1_core_interrupts_pio [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores1_core_interrupts_clk_domain { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="clk_domain \n: DerivedClockDomain"; +shape=box; +style="rounded, filled"; +tooltip="clk_divider=16 \clk_domain=board.clk_domain \eventq_index=0"; +} + +} + +} + +} + +subgraph cluster_board_processor_cores2 { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="cores2 \n: SimpleCore"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \thermal_domain=Null"; +subgraph cluster_board_processor_cores2_core { +color="#000000"; +fillcolor="#bbc6d9"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="core \n: X86TimingSimpleCPU"; +shape=box; +style="rounded, filled"; +tooltip="branchPred=Null \checker=Null \clk_domain=board.clk_domain \cpu_id=2 \decoder=board.processor.cores2.core.decoder \do_checkpoint_insts=true \do_statistics_insts=true \eventq_index=0 \function_trace=false \function_trace_start=0 \interrupts=board.processor.cores2.core.interrupts \isa=board.processor.cores2.core.isa \max_insts_all_threads=0 \max_insts_any_thread=0 \mmu=board.processor.cores2.core.mmu \numThreads=1 \power_gating_on_idle=false \power_model= \power_state=board.processor.cores2.core.power_state \progress_interval=0 \pwr_gating_latency=300 \simpoint_start_insts= \socket_id=0 \switched_out=false \syscallRetryLatency=10000 \system=board \tracer=board.processor.cores2.core.tracer \workload="; +board_processor_cores2_core_icache_port [color="#000000", fillcolor="#959ead", fontcolor="#000000", fontname=Arial, fontsize=14, label=icache_port, shape=box, style="rounded, filled"]; +board_processor_cores2_core_dcache_port [color="#000000", fillcolor="#959ead", fontcolor="#000000", fontname=Arial, fontsize=14, label=dcache_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores2_core_mmu { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mmu \n: X86MMU"; +shape=box; +style="rounded, filled"; +tooltip="dtb=board.processor.cores2.core.mmu.dtb \eventq_index=0 \itb=board.processor.cores2.core.mmu.itb"; +subgraph cluster_board_processor_cores2_core_mmu_itb { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="itb \n: X86TLB"; +shape=box; +style="rounded, filled"; +tooltip="entry_type=instruction \eventq_index=0 \next_level=Null \size=64 \system=board \walker=board.processor.cores2.core.mmu.itb.walker"; +subgraph cluster_board_processor_cores2_core_mmu_itb_walker { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="walker \n: X86PagetableWalker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \num_squash_per_cycle=4 \power_model= \power_state=board.processor.cores2.core.mmu.itb.walker.power_state \system=board"; +board_processor_cores2_core_mmu_itb_walker_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores2_core_mmu_itb_walker_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_processor_cores2_core_mmu_dtb { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dtb \n: X86TLB"; +shape=box; +style="rounded, filled"; +tooltip="entry_type=data \eventq_index=0 \next_level=Null \size=64 \system=board \walker=board.processor.cores2.core.mmu.dtb.walker"; +subgraph cluster_board_processor_cores2_core_mmu_dtb_walker { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="walker \n: X86PagetableWalker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \num_squash_per_cycle=4 \power_model= \power_state=board.processor.cores2.core.mmu.dtb.walker.power_state \system=board"; +board_processor_cores2_core_mmu_dtb_walker_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores2_core_mmu_dtb_walker_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +} + +subgraph cluster_board_processor_cores2_core_tracer { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="tracer \n: ExeTracer"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0"; +} + +subgraph cluster_board_processor_cores2_core_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states=ON CLK_GATED OFF"; +} + +subgraph cluster_board_processor_cores2_core_isa { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="isa \n: X86ISA"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \vendor_string=HygonGenuine"; +} + +subgraph cluster_board_processor_cores2_core_decoder { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="decoder \n: X86Decoder"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \isa=board.processor.cores2.core.isa"; +} + +subgraph cluster_board_processor_cores2_core_interrupts { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="interrupts \n: X86LocalApic"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.processor.cores2.core.interrupts.clk_domain \eventq_index=0 \int_latency=1000 \pio_latency=100000 \system=board"; +board_processor_cores2_core_interrupts_int_requestor [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_requestor, shape=box, style="rounded, filled"]; +board_processor_cores2_core_interrupts_int_responder [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_responder, shape=box, style="rounded, filled"]; +board_processor_cores2_core_interrupts_pio [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores2_core_interrupts_clk_domain { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="clk_domain \n: DerivedClockDomain"; +shape=box; +style="rounded, filled"; +tooltip="clk_divider=16 \clk_domain=board.clk_domain \eventq_index=0"; +} + +} + +} + +} + +subgraph cluster_board_processor_cores3 { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="cores3 \n: SimpleCore"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \thermal_domain=Null"; +subgraph cluster_board_processor_cores3_core { +color="#000000"; +fillcolor="#bbc6d9"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="core \n: X86TimingSimpleCPU"; +shape=box; +style="rounded, filled"; +tooltip="branchPred=Null \checker=Null \clk_domain=board.clk_domain \cpu_id=3 \decoder=board.processor.cores3.core.decoder \do_checkpoint_insts=true \do_statistics_insts=true \eventq_index=0 \function_trace=false \function_trace_start=0 \interrupts=board.processor.cores3.core.interrupts \isa=board.processor.cores3.core.isa \max_insts_all_threads=0 \max_insts_any_thread=0 \mmu=board.processor.cores3.core.mmu \numThreads=1 \power_gating_on_idle=false \power_model= \power_state=board.processor.cores3.core.power_state \progress_interval=0 \pwr_gating_latency=300 \simpoint_start_insts= \socket_id=0 \switched_out=false \syscallRetryLatency=10000 \system=board \tracer=board.processor.cores3.core.tracer \workload="; +board_processor_cores3_core_icache_port [color="#000000", fillcolor="#959ead", fontcolor="#000000", fontname=Arial, fontsize=14, label=icache_port, shape=box, style="rounded, filled"]; +board_processor_cores3_core_dcache_port [color="#000000", fillcolor="#959ead", fontcolor="#000000", fontname=Arial, fontsize=14, label=dcache_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores3_core_mmu { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mmu \n: X86MMU"; +shape=box; +style="rounded, filled"; +tooltip="dtb=board.processor.cores3.core.mmu.dtb \eventq_index=0 \itb=board.processor.cores3.core.mmu.itb"; +subgraph cluster_board_processor_cores3_core_mmu_itb { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="itb \n: X86TLB"; +shape=box; +style="rounded, filled"; +tooltip="entry_type=instruction \eventq_index=0 \next_level=Null \size=64 \system=board \walker=board.processor.cores3.core.mmu.itb.walker"; +subgraph cluster_board_processor_cores3_core_mmu_itb_walker { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="walker \n: X86PagetableWalker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \num_squash_per_cycle=4 \power_model= \power_state=board.processor.cores3.core.mmu.itb.walker.power_state \system=board"; +board_processor_cores3_core_mmu_itb_walker_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores3_core_mmu_itb_walker_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_processor_cores3_core_mmu_dtb { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dtb \n: X86TLB"; +shape=box; +style="rounded, filled"; +tooltip="entry_type=data \eventq_index=0 \next_level=Null \size=64 \system=board \walker=board.processor.cores3.core.mmu.dtb.walker"; +subgraph cluster_board_processor_cores3_core_mmu_dtb_walker { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="walker \n: X86PagetableWalker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \num_squash_per_cycle=4 \power_model= \power_state=board.processor.cores3.core.mmu.dtb.walker.power_state \system=board"; +board_processor_cores3_core_mmu_dtb_walker_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores3_core_mmu_dtb_walker_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +} + +subgraph cluster_board_processor_cores3_core_tracer { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="tracer \n: ExeTracer"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0"; +} + +subgraph cluster_board_processor_cores3_core_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states=ON CLK_GATED OFF"; +} + +subgraph cluster_board_processor_cores3_core_isa { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="isa \n: X86ISA"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \vendor_string=HygonGenuine"; +} + +subgraph cluster_board_processor_cores3_core_decoder { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="decoder \n: X86Decoder"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \isa=board.processor.cores3.core.isa"; +} + +subgraph cluster_board_processor_cores3_core_interrupts { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="interrupts \n: X86LocalApic"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.processor.cores3.core.interrupts.clk_domain \eventq_index=0 \int_latency=1000 \pio_latency=100000 \system=board"; +board_processor_cores3_core_interrupts_int_requestor [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_requestor, shape=box, style="rounded, filled"]; +board_processor_cores3_core_interrupts_int_responder [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_responder, shape=box, style="rounded, filled"]; +board_processor_cores3_core_interrupts_pio [color="#000000", fillcolor="#94918b", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_processor_cores3_core_interrupts_clk_domain { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="clk_domain \n: DerivedClockDomain"; +shape=box; +style="rounded, filled"; +tooltip="clk_divider=16 \clk_domain=board.clk_domain \eventq_index=0"; +} + +} + +} + +} + +} + +subgraph cluster_board_memory { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="memory \n: ChanneledMemory"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \thermal_domain=Null"; +subgraph cluster_board_memory_mem_ctrl { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mem_ctrl \n: MemCtrl"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \command_window=10000 \disable_sanity_check=false \dram=board.memory.mem_ctrl.dram \eventq_index=0 \mem_sched_policy=frfcfs \min_reads_per_switch=16 \min_writes_per_switch=16 \power_model= \power_state=board.memory.mem_ctrl.power_state \qos_policy=Null \qos_priorities=1 \qos_priority_escalation=false \qos_q_policy=fifo \qos_requestors= \qos_syncro_scheduler=false \qos_turnaround_policy=Null \static_backend_latency=10000 \static_frontend_latency=10000 \system=board \write_high_thresh_perc=85 \write_low_thresh_perc=50"; +board_memory_mem_ctrl_port [color="#000000", fillcolor="#7f7c77", fontcolor="#000000", fontname=Arial, fontsize=14, label=port, shape=box, style="rounded, filled"]; +subgraph cluster_board_memory_mem_ctrl_power_state { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_memory_mem_ctrl_dram { +color="#000000"; +fillcolor="#5e5958"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dram \n: DDR3_1600_8x8"; +shape=box; +style="rounded, filled"; +tooltip="IDD0=0.055 \IDD02=0.0 \IDD2N=0.032 \IDD2N2=0.0 \IDD2P0=0.0 \IDD2P02=0.0 \IDD2P1=0.032 \IDD2P12=0.0 \IDD3N=0.038 \IDD3N2=0.0 \IDD3P0=0.0 \IDD3P02=0.0 \IDD3P1=0.038 \IDD3P12=0.0 \IDD4R=0.157 \IDD4R2=0.0 \IDD4W=0.125 \IDD4W2=0.0 \IDD5=0.23500000000000001 \IDD52=0.0 \IDD6=0.02 \IDD62=0.0 \VDD=1.5 \VDD2=0.0 \activation_limit=4 \addr_mapping=RoRaBaCoCh \bank_groups_per_rank=0 \banks_per_rank=8 \beats_per_clock=2 \burst_length=8 \clk_domain=board.clk_domain \conf_table_reported=true \data_clock_sync=false \device_bus_width=8 \device_rowbuffer_size=1024 \device_size=536870912 \devices_per_rank=8 \dll=true \enable_dram_powerdown=false \eventq_index=0 \image_file= \in_addr_map=true \kvm_map=true \max_accesses_per_row=16 \null=false \page_policy=open_adaptive \power_model= \power_state=board.memory.mem_ctrl.dram.power_state \range=0:2147483648 \ranks_per_channel=2 \read_buffer_size=32 \tAAD=1250 \tBURST=5000 \tBURST_MAX=5000 \tBURST_MIN=5000 \tCCD_L=0 \tCCD_L_WR=0 \tCK=1250 \tCL=13750 \tCS=2500 \tCWL=13750 \tPPD=0 \tRAS=35000 \tRCD=13750 \tRCD_WR=13750 \tREFI=7800000 \tRFC=260000 \tRP=13750 \tRRD=6000 \tRRD_L=0 \tRTP=7500 \tRTW=2500 \tWR=15000 \tWTR=7500 \tWTR_L=7500 \tXAW=30000 \tXP=6000 \tXPDLL=0 \tXS=270000 \tXSDLL=0 \two_cycle_activate=false \write_buffer_size=64 \writeable=true"; +subgraph cluster_board_memory_mem_ctrl_dram_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +} + +subgraph cluster_board_cache_hierarchy { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="cache_hierarchy \n: MESITwoLevelCacheHierarchy"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \thermal_domain=Null"; +subgraph cluster_board_cache_hierarchy_ruby_system { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ruby_system \n: RubySystem"; +shape=box; +style="rounded, filled"; +tooltip="access_backing_store=false \all_instructions=false \block_size_bytes=64 \clk_domain=board.clk_domain \eventq_index=0 \hot_lines=false \memory_size_bits=64 \num_of_sequencers=6 \number_of_virtual_networks=3 \phys_mem=Null \power_model= \power_state=board.cache_hierarchy.ruby_system.power_state \randomization=false \system=board"; +subgraph cluster_board_cache_hierarchy_ruby_system_power_state { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="network \n: SimplePt2Pt"; +shape=box; +style="rounded, filled"; +tooltip="buffer_size=0 \clk_domain=board.clk_domain \control_msg_size=8 \data_msg_size=64 \endpoint_bandwidth=1000 \eventq_index=0 \ext_links=board.cache_hierarchy.ruby_system.network.ext_links0 board.cache_hierarchy.ruby_system.network.ext_links1 board.cache_hierarchy.ruby_system.network.ext_links2 board.cache_hierarchy.ruby_system.network.ext_links3 board.cache_hierarchy.ruby_system.network.ext_links4 board.cache_hierarchy.ruby_system.network.ext_links5 board.cache_hierarchy.ruby_system.network.ext_links6 board.cache_hierarchy.ruby_system.network.ext_links7 \int_links=board.cache_hierarchy.ruby_system.network.int_links00 board.cache_hierarchy.ruby_system.network.int_links01 board.cache_hierarchy.ruby_system.network.int_links02 board.cache_hierarchy.ruby_system.network.int_links03 board.cache_hierarchy.ruby_system.network.int_links04 board.cache_hierarchy.ruby_system.network.int_links05 board.cache_hierarchy.ruby_system.network.int_links06 board.cache_hierarchy.ruby_system.network.int_links07 board.cache_hierarchy.ruby_system.network.int_links08 board.cache_hierarchy.ruby_system.network.int_links09 board.cache_hierarchy.ruby_system.network.int_links10 board.cache_hierarchy.ruby_system.network.int_links11 board.cache_hierarchy.ruby_system.network.int_links12 board.cache_hierarchy.ruby_system.network.int_links13 board.cache_hierarchy.ruby_system.network.int_links14 board.cache_hierarchy.ruby_system.network.int_links15 board.cache_hierarchy.ruby_system.network.int_links16 board.cache_hierarchy.ruby_system.network.int_links17 board.cache_hierarchy.ruby_system.network.int_links18 board.cache_hierarchy.ruby_system.network.int_links19 board.cache_hierarchy.ruby_system.network.int_links20 board.cache_hierarchy.ruby_system.network.int_links21 board.cache_hierarchy.ruby_system.network.int_links22 board.cache_hierarchy.ruby_system.network.int_links23 board.cache_hierarchy.ruby_system.network.int_links24 board.cache_hierarchy.ruby_system.network.int_links25 board.cache_hierarchy.ruby_system.network.int_links26 board.cache_hierarchy.ruby_system.network.int_links27 board.cache_hierarchy.ruby_system.network.int_links28 board.cache_hierarchy.ruby_system.network.int_links29 board.cache_hierarchy.ruby_system.network.int_links30 board.cache_hierarchy.ruby_system.network.int_links31 board.cache_hierarchy.ruby_system.network.int_links32 board.cache_hierarchy.ruby_system.network.int_links33 board.cache_hierarchy.ruby_system.network.int_links34 board.cache_hierarchy.ruby_system.network.int_links35 board.cache_hierarchy.ruby_system.network.int_links36 board.cache_hierarchy.ruby_system.network.int_links37 board.cache_hierarchy.ruby_system.network.int_links38 board.cache_hierarchy.ruby_system.network.int_links39 board.cache_hierarchy.ruby_system.network.int_links40 board.cache_hierarchy.ruby_system.network.int_links41 board.cache_hierarchy.ruby_system.network.int_links42 board.cache_hierarchy.ruby_system.network.int_links43 board.cache_hierarchy.ruby_system.network.int_links44 board.cache_hierarchy.ruby_system.network.int_links45 board.cache_hierarchy.ruby_system.network.int_links46 board.cache_hierarchy.ruby_system.network.int_links47 board.cache_hierarchy.ruby_system.network.int_links48 board.cache_hierarchy.ruby_system.network.int_links49 board.cache_hierarchy.ruby_system.network.int_links50 board.cache_hierarchy.ruby_system.network.int_links51 board.cache_hierarchy.ruby_system.network.int_links52 board.cache_hierarchy.ruby_system.network.int_links53 board.cache_hierarchy.ruby_system.network.int_links54 board.cache_hierarchy.ruby_system.network.int_links55 \netifs= \number_of_virtual_networks=3 \physical_vnets_bandwidth= \physical_vnets_channels= \power_model= \power_state=board.cache_hierarchy.ruby_system.network.power_state \routers=board.cache_hierarchy.ruby_system.network.routers0 board.cache_hierarchy.ruby_system.network.routers1 board.cache_hierarchy.ruby_system.network.routers2 board.cache_hierarchy.ruby_system.network.routers3 board.cache_hierarchy.ruby_system.network.routers4 board.cache_hierarchy.ruby_system.network.routers5 board.cache_hierarchy.ruby_system.network.routers6 board.cache_hierarchy.ruby_system.network.routers7 \ruby_system=board.cache_hierarchy.ruby_system \topology=Not Specified"; +board_cache_hierarchy_ruby_system_network_in_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_network_out_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_network_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routers0 \n: Switch"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \ext_routing_latency=1 \int_routing_latency=1 \latency=1 \port_buffers=board.cache_hierarchy.ruby_system.network.routers0.port_buffers00 board.cache_hierarchy.ruby_system.network.routers0.port_buffers01 board.cache_hierarchy.ruby_system.network.routers0.port_buffers02 board.cache_hierarchy.ruby_system.network.routers0.port_buffers03 board.cache_hierarchy.ruby_system.network.routers0.port_buffers04 board.cache_hierarchy.ruby_system.network.routers0.port_buffers05 board.cache_hierarchy.ruby_system.network.routers0.port_buffers06 board.cache_hierarchy.ruby_system.network.routers0.port_buffers07 board.cache_hierarchy.ruby_system.network.routers0.port_buffers08 board.cache_hierarchy.ruby_system.network.routers0.port_buffers09 board.cache_hierarchy.ruby_system.network.routers0.port_buffers10 board.cache_hierarchy.ruby_system.network.routers0.port_buffers11 board.cache_hierarchy.ruby_system.network.routers0.port_buffers12 board.cache_hierarchy.ruby_system.network.routers0.port_buffers13 board.cache_hierarchy.ruby_system.network.routers0.port_buffers14 board.cache_hierarchy.ruby_system.network.routers0.port_buffers15 board.cache_hierarchy.ruby_system.network.routers0.port_buffers16 board.cache_hierarchy.ruby_system.network.routers0.port_buffers17 board.cache_hierarchy.ruby_system.network.routers0.port_buffers18 board.cache_hierarchy.ruby_system.network.routers0.port_buffers19 board.cache_hierarchy.ruby_system.network.routers0.port_buffers20 board.cache_hierarchy.ruby_system.network.routers0.port_buffers21 board.cache_hierarchy.ruby_system.network.routers0.port_buffers22 board.cache_hierarchy.ruby_system.network.routers0.port_buffers23 \power_model= \power_state=board.cache_hierarchy.ruby_system.network.routers0.power_state \router_id=0 \routing_unit=board.cache_hierarchy.ruby_system.network.routers0.routing_unit \virt_nets=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_routing_unit { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routing_unit \n: WeightBased"; +shape=box; +style="rounded, filled"; +tooltip="adaptive_routing=false \eventq_index=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers00 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers00 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers01 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers01 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers02 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers02 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers03 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers03 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers04 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers04 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers05 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers05 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers06 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers06 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers07 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers07 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers08 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers08 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers09 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers09 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers10 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers10 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers11 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers11 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers12 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers12 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers13 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers13 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers14 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers14 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers15 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers15 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers16 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers16 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers17 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers17 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers18 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers18 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers19 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers19 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers20 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers20 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers21 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers21 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers22 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers22 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers0_port_buffers23 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers23 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routers1 \n: Switch"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \ext_routing_latency=1 \int_routing_latency=1 \latency=1 \port_buffers=board.cache_hierarchy.ruby_system.network.routers1.port_buffers00 board.cache_hierarchy.ruby_system.network.routers1.port_buffers01 board.cache_hierarchy.ruby_system.network.routers1.port_buffers02 board.cache_hierarchy.ruby_system.network.routers1.port_buffers03 board.cache_hierarchy.ruby_system.network.routers1.port_buffers04 board.cache_hierarchy.ruby_system.network.routers1.port_buffers05 board.cache_hierarchy.ruby_system.network.routers1.port_buffers06 board.cache_hierarchy.ruby_system.network.routers1.port_buffers07 board.cache_hierarchy.ruby_system.network.routers1.port_buffers08 board.cache_hierarchy.ruby_system.network.routers1.port_buffers09 board.cache_hierarchy.ruby_system.network.routers1.port_buffers10 board.cache_hierarchy.ruby_system.network.routers1.port_buffers11 board.cache_hierarchy.ruby_system.network.routers1.port_buffers12 board.cache_hierarchy.ruby_system.network.routers1.port_buffers13 board.cache_hierarchy.ruby_system.network.routers1.port_buffers14 board.cache_hierarchy.ruby_system.network.routers1.port_buffers15 board.cache_hierarchy.ruby_system.network.routers1.port_buffers16 board.cache_hierarchy.ruby_system.network.routers1.port_buffers17 board.cache_hierarchy.ruby_system.network.routers1.port_buffers18 board.cache_hierarchy.ruby_system.network.routers1.port_buffers19 board.cache_hierarchy.ruby_system.network.routers1.port_buffers20 board.cache_hierarchy.ruby_system.network.routers1.port_buffers21 board.cache_hierarchy.ruby_system.network.routers1.port_buffers22 board.cache_hierarchy.ruby_system.network.routers1.port_buffers23 \power_model= \power_state=board.cache_hierarchy.ruby_system.network.routers1.power_state \router_id=1 \routing_unit=board.cache_hierarchy.ruby_system.network.routers1.routing_unit \virt_nets=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_routing_unit { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routing_unit \n: WeightBased"; +shape=box; +style="rounded, filled"; +tooltip="adaptive_routing=false \eventq_index=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers00 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers00 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers01 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers01 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers02 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers02 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers03 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers03 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers04 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers04 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers05 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers05 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers06 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers06 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers07 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers07 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers08 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers08 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers09 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers09 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers10 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers10 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers11 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers11 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers12 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers12 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers13 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers13 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers14 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers14 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers15 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers15 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers16 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers16 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers17 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers17 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers18 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers18 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers19 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers19 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers20 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers20 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers21 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers21 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers22 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers22 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers1_port_buffers23 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers23 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routers2 \n: Switch"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \ext_routing_latency=1 \int_routing_latency=1 \latency=1 \port_buffers=board.cache_hierarchy.ruby_system.network.routers2.port_buffers00 board.cache_hierarchy.ruby_system.network.routers2.port_buffers01 board.cache_hierarchy.ruby_system.network.routers2.port_buffers02 board.cache_hierarchy.ruby_system.network.routers2.port_buffers03 board.cache_hierarchy.ruby_system.network.routers2.port_buffers04 board.cache_hierarchy.ruby_system.network.routers2.port_buffers05 board.cache_hierarchy.ruby_system.network.routers2.port_buffers06 board.cache_hierarchy.ruby_system.network.routers2.port_buffers07 board.cache_hierarchy.ruby_system.network.routers2.port_buffers08 board.cache_hierarchy.ruby_system.network.routers2.port_buffers09 board.cache_hierarchy.ruby_system.network.routers2.port_buffers10 board.cache_hierarchy.ruby_system.network.routers2.port_buffers11 board.cache_hierarchy.ruby_system.network.routers2.port_buffers12 board.cache_hierarchy.ruby_system.network.routers2.port_buffers13 board.cache_hierarchy.ruby_system.network.routers2.port_buffers14 board.cache_hierarchy.ruby_system.network.routers2.port_buffers15 board.cache_hierarchy.ruby_system.network.routers2.port_buffers16 board.cache_hierarchy.ruby_system.network.routers2.port_buffers17 board.cache_hierarchy.ruby_system.network.routers2.port_buffers18 board.cache_hierarchy.ruby_system.network.routers2.port_buffers19 board.cache_hierarchy.ruby_system.network.routers2.port_buffers20 board.cache_hierarchy.ruby_system.network.routers2.port_buffers21 board.cache_hierarchy.ruby_system.network.routers2.port_buffers22 board.cache_hierarchy.ruby_system.network.routers2.port_buffers23 \power_model= \power_state=board.cache_hierarchy.ruby_system.network.routers2.power_state \router_id=2 \routing_unit=board.cache_hierarchy.ruby_system.network.routers2.routing_unit \virt_nets=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_routing_unit { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routing_unit \n: WeightBased"; +shape=box; +style="rounded, filled"; +tooltip="adaptive_routing=false \eventq_index=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers00 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers00 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers01 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers01 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers02 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers02 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers03 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers03 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers04 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers04 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers05 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers05 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers06 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers06 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers07 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers07 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers08 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers08 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers09 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers09 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers10 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers10 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers11 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers11 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers12 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers12 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers13 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers13 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers14 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers14 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers15 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers15 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers16 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers16 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers17 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers17 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers18 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers18 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers19 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers19 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers20 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers20 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers21 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers21 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers22 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers22 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers2_port_buffers23 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers23 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routers3 \n: Switch"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \ext_routing_latency=1 \int_routing_latency=1 \latency=1 \port_buffers=board.cache_hierarchy.ruby_system.network.routers3.port_buffers00 board.cache_hierarchy.ruby_system.network.routers3.port_buffers01 board.cache_hierarchy.ruby_system.network.routers3.port_buffers02 board.cache_hierarchy.ruby_system.network.routers3.port_buffers03 board.cache_hierarchy.ruby_system.network.routers3.port_buffers04 board.cache_hierarchy.ruby_system.network.routers3.port_buffers05 board.cache_hierarchy.ruby_system.network.routers3.port_buffers06 board.cache_hierarchy.ruby_system.network.routers3.port_buffers07 board.cache_hierarchy.ruby_system.network.routers3.port_buffers08 board.cache_hierarchy.ruby_system.network.routers3.port_buffers09 board.cache_hierarchy.ruby_system.network.routers3.port_buffers10 board.cache_hierarchy.ruby_system.network.routers3.port_buffers11 board.cache_hierarchy.ruby_system.network.routers3.port_buffers12 board.cache_hierarchy.ruby_system.network.routers3.port_buffers13 board.cache_hierarchy.ruby_system.network.routers3.port_buffers14 board.cache_hierarchy.ruby_system.network.routers3.port_buffers15 board.cache_hierarchy.ruby_system.network.routers3.port_buffers16 board.cache_hierarchy.ruby_system.network.routers3.port_buffers17 board.cache_hierarchy.ruby_system.network.routers3.port_buffers18 board.cache_hierarchy.ruby_system.network.routers3.port_buffers19 board.cache_hierarchy.ruby_system.network.routers3.port_buffers20 board.cache_hierarchy.ruby_system.network.routers3.port_buffers21 board.cache_hierarchy.ruby_system.network.routers3.port_buffers22 board.cache_hierarchy.ruby_system.network.routers3.port_buffers23 \power_model= \power_state=board.cache_hierarchy.ruby_system.network.routers3.power_state \router_id=3 \routing_unit=board.cache_hierarchy.ruby_system.network.routers3.routing_unit \virt_nets=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_routing_unit { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routing_unit \n: WeightBased"; +shape=box; +style="rounded, filled"; +tooltip="adaptive_routing=false \eventq_index=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers00 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers00 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers01 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers01 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers02 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers02 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers03 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers03 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers04 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers04 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers05 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers05 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers06 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers06 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers07 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers07 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers08 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers08 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers09 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers09 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers10 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers10 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers11 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers11 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers12 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers12 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers13 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers13 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers14 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers14 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers15 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers15 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers16 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers16 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers17 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers17 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers18 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers18 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers19 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers19 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers20 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers20 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers21 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers21 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers22 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers22 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers3_port_buffers23 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers23 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routers4 \n: Switch"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \ext_routing_latency=1 \int_routing_latency=1 \latency=1 \port_buffers=board.cache_hierarchy.ruby_system.network.routers4.port_buffers00 board.cache_hierarchy.ruby_system.network.routers4.port_buffers01 board.cache_hierarchy.ruby_system.network.routers4.port_buffers02 board.cache_hierarchy.ruby_system.network.routers4.port_buffers03 board.cache_hierarchy.ruby_system.network.routers4.port_buffers04 board.cache_hierarchy.ruby_system.network.routers4.port_buffers05 board.cache_hierarchy.ruby_system.network.routers4.port_buffers06 board.cache_hierarchy.ruby_system.network.routers4.port_buffers07 board.cache_hierarchy.ruby_system.network.routers4.port_buffers08 board.cache_hierarchy.ruby_system.network.routers4.port_buffers09 board.cache_hierarchy.ruby_system.network.routers4.port_buffers10 board.cache_hierarchy.ruby_system.network.routers4.port_buffers11 board.cache_hierarchy.ruby_system.network.routers4.port_buffers12 board.cache_hierarchy.ruby_system.network.routers4.port_buffers13 board.cache_hierarchy.ruby_system.network.routers4.port_buffers14 board.cache_hierarchy.ruby_system.network.routers4.port_buffers15 board.cache_hierarchy.ruby_system.network.routers4.port_buffers16 board.cache_hierarchy.ruby_system.network.routers4.port_buffers17 board.cache_hierarchy.ruby_system.network.routers4.port_buffers18 board.cache_hierarchy.ruby_system.network.routers4.port_buffers19 board.cache_hierarchy.ruby_system.network.routers4.port_buffers20 board.cache_hierarchy.ruby_system.network.routers4.port_buffers21 board.cache_hierarchy.ruby_system.network.routers4.port_buffers22 board.cache_hierarchy.ruby_system.network.routers4.port_buffers23 \power_model= \power_state=board.cache_hierarchy.ruby_system.network.routers4.power_state \router_id=4 \routing_unit=board.cache_hierarchy.ruby_system.network.routers4.routing_unit \virt_nets=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_routing_unit { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routing_unit \n: WeightBased"; +shape=box; +style="rounded, filled"; +tooltip="adaptive_routing=false \eventq_index=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers00 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers00 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers01 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers01 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers02 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers02 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers03 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers03 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers04 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers04 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers05 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers05 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers06 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers06 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers07 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers07 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers08 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers08 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers09 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers09 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers10 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers10 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers11 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers11 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers12 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers12 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers13 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers13 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers14 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers14 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers15 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers15 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers16 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers16 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers17 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers17 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers18 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers18 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers19 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers19 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers20 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers20 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers21 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers21 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers22 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers22 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers4_port_buffers23 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers23 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routers5 \n: Switch"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \ext_routing_latency=1 \int_routing_latency=1 \latency=1 \port_buffers=board.cache_hierarchy.ruby_system.network.routers5.port_buffers00 board.cache_hierarchy.ruby_system.network.routers5.port_buffers01 board.cache_hierarchy.ruby_system.network.routers5.port_buffers02 board.cache_hierarchy.ruby_system.network.routers5.port_buffers03 board.cache_hierarchy.ruby_system.network.routers5.port_buffers04 board.cache_hierarchy.ruby_system.network.routers5.port_buffers05 board.cache_hierarchy.ruby_system.network.routers5.port_buffers06 board.cache_hierarchy.ruby_system.network.routers5.port_buffers07 board.cache_hierarchy.ruby_system.network.routers5.port_buffers08 board.cache_hierarchy.ruby_system.network.routers5.port_buffers09 board.cache_hierarchy.ruby_system.network.routers5.port_buffers10 board.cache_hierarchy.ruby_system.network.routers5.port_buffers11 board.cache_hierarchy.ruby_system.network.routers5.port_buffers12 board.cache_hierarchy.ruby_system.network.routers5.port_buffers13 board.cache_hierarchy.ruby_system.network.routers5.port_buffers14 board.cache_hierarchy.ruby_system.network.routers5.port_buffers15 board.cache_hierarchy.ruby_system.network.routers5.port_buffers16 board.cache_hierarchy.ruby_system.network.routers5.port_buffers17 board.cache_hierarchy.ruby_system.network.routers5.port_buffers18 board.cache_hierarchy.ruby_system.network.routers5.port_buffers19 board.cache_hierarchy.ruby_system.network.routers5.port_buffers20 board.cache_hierarchy.ruby_system.network.routers5.port_buffers21 board.cache_hierarchy.ruby_system.network.routers5.port_buffers22 board.cache_hierarchy.ruby_system.network.routers5.port_buffers23 \power_model= \power_state=board.cache_hierarchy.ruby_system.network.routers5.power_state \router_id=5 \routing_unit=board.cache_hierarchy.ruby_system.network.routers5.routing_unit \virt_nets=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_routing_unit { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routing_unit \n: WeightBased"; +shape=box; +style="rounded, filled"; +tooltip="adaptive_routing=false \eventq_index=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers00 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers00 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers01 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers01 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers02 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers02 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers03 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers03 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers04 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers04 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers05 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers05 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers06 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers06 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers07 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers07 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers08 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers08 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers09 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers09 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers10 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers10 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers11 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers11 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers12 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers12 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers13 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers13 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers14 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers14 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers15 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers15 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers16 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers16 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers17 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers17 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers18 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers18 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers19 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers19 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers20 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers20 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers21 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers21 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers22 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers22 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers5_port_buffers23 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers23 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routers6 \n: Switch"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \ext_routing_latency=1 \int_routing_latency=1 \latency=1 \port_buffers=board.cache_hierarchy.ruby_system.network.routers6.port_buffers00 board.cache_hierarchy.ruby_system.network.routers6.port_buffers01 board.cache_hierarchy.ruby_system.network.routers6.port_buffers02 board.cache_hierarchy.ruby_system.network.routers6.port_buffers03 board.cache_hierarchy.ruby_system.network.routers6.port_buffers04 board.cache_hierarchy.ruby_system.network.routers6.port_buffers05 board.cache_hierarchy.ruby_system.network.routers6.port_buffers06 board.cache_hierarchy.ruby_system.network.routers6.port_buffers07 board.cache_hierarchy.ruby_system.network.routers6.port_buffers08 board.cache_hierarchy.ruby_system.network.routers6.port_buffers09 board.cache_hierarchy.ruby_system.network.routers6.port_buffers10 board.cache_hierarchy.ruby_system.network.routers6.port_buffers11 board.cache_hierarchy.ruby_system.network.routers6.port_buffers12 board.cache_hierarchy.ruby_system.network.routers6.port_buffers13 board.cache_hierarchy.ruby_system.network.routers6.port_buffers14 board.cache_hierarchy.ruby_system.network.routers6.port_buffers15 board.cache_hierarchy.ruby_system.network.routers6.port_buffers16 board.cache_hierarchy.ruby_system.network.routers6.port_buffers17 board.cache_hierarchy.ruby_system.network.routers6.port_buffers18 board.cache_hierarchy.ruby_system.network.routers6.port_buffers19 board.cache_hierarchy.ruby_system.network.routers6.port_buffers20 board.cache_hierarchy.ruby_system.network.routers6.port_buffers21 board.cache_hierarchy.ruby_system.network.routers6.port_buffers22 board.cache_hierarchy.ruby_system.network.routers6.port_buffers23 \power_model= \power_state=board.cache_hierarchy.ruby_system.network.routers6.power_state \router_id=6 \routing_unit=board.cache_hierarchy.ruby_system.network.routers6.routing_unit \virt_nets=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_routing_unit { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routing_unit \n: WeightBased"; +shape=box; +style="rounded, filled"; +tooltip="adaptive_routing=false \eventq_index=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers00 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers00 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers01 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers01 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers02 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers02 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers03 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers03 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers04 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers04 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers05 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers05 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers06 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers06 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers07 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers07 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers08 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers08 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers09 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers09 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers10 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers10 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers11 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers11 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers12 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers12 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers13 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers13 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers14 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers14 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers15 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers15 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers16 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers16 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers17 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers17 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers18 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers18 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers19 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers19 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers20 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers20 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers21 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers21 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers22 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers22 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers6_port_buffers23 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers23 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routers7 \n: Switch"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \ext_routing_latency=1 \int_routing_latency=1 \latency=1 \port_buffers=board.cache_hierarchy.ruby_system.network.routers7.port_buffers00 board.cache_hierarchy.ruby_system.network.routers7.port_buffers01 board.cache_hierarchy.ruby_system.network.routers7.port_buffers02 board.cache_hierarchy.ruby_system.network.routers7.port_buffers03 board.cache_hierarchy.ruby_system.network.routers7.port_buffers04 board.cache_hierarchy.ruby_system.network.routers7.port_buffers05 board.cache_hierarchy.ruby_system.network.routers7.port_buffers06 board.cache_hierarchy.ruby_system.network.routers7.port_buffers07 board.cache_hierarchy.ruby_system.network.routers7.port_buffers08 board.cache_hierarchy.ruby_system.network.routers7.port_buffers09 board.cache_hierarchy.ruby_system.network.routers7.port_buffers10 board.cache_hierarchy.ruby_system.network.routers7.port_buffers11 board.cache_hierarchy.ruby_system.network.routers7.port_buffers12 board.cache_hierarchy.ruby_system.network.routers7.port_buffers13 board.cache_hierarchy.ruby_system.network.routers7.port_buffers14 board.cache_hierarchy.ruby_system.network.routers7.port_buffers15 board.cache_hierarchy.ruby_system.network.routers7.port_buffers16 board.cache_hierarchy.ruby_system.network.routers7.port_buffers17 board.cache_hierarchy.ruby_system.network.routers7.port_buffers18 board.cache_hierarchy.ruby_system.network.routers7.port_buffers19 board.cache_hierarchy.ruby_system.network.routers7.port_buffers20 board.cache_hierarchy.ruby_system.network.routers7.port_buffers21 board.cache_hierarchy.ruby_system.network.routers7.port_buffers22 board.cache_hierarchy.ruby_system.network.routers7.port_buffers23 \power_model= \power_state=board.cache_hierarchy.ruby_system.network.routers7.power_state \router_id=7 \routing_unit=board.cache_hierarchy.ruby_system.network.routers7.routing_unit \virt_nets=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_routing_unit { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="routing_unit \n: WeightBased"; +shape=box; +style="rounded, filled"; +tooltip="adaptive_routing=false \eventq_index=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers00 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers00 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers01 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers01 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers02 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers02 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers03 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers03 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers04 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers04 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers05 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers05 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers06 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers06 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers07 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers07 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers08 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers08 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers09 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers09 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers10 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers10 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers11 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers11 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers12 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers12 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers13 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers13 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers14 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers14 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers15 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers15 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers16 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers16 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers17 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers17 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers18 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers18 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers19 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers19 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers20 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers20 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers21 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers21 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers22 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers22 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_routers7_port_buffers23 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="port_buffers23 \n: SwitchPortBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=true \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_ext_links0 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_links0 \n: SimpleExtLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \eventq_index=0 \ext_node=board.cache_hierarchy.ruby_system.l1_controllers0 \int_node=board.cache_hierarchy.ruby_system.network.routers0 \latency=1 \link_id=0 \supported_vnets= \weight=1"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_ext_links1 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_links1 \n: SimpleExtLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \eventq_index=0 \ext_node=board.cache_hierarchy.ruby_system.l1_controllers1 \int_node=board.cache_hierarchy.ruby_system.network.routers1 \latency=1 \link_id=1 \supported_vnets= \weight=1"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_ext_links2 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_links2 \n: SimpleExtLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \eventq_index=0 \ext_node=board.cache_hierarchy.ruby_system.l1_controllers2 \int_node=board.cache_hierarchy.ruby_system.network.routers2 \latency=1 \link_id=2 \supported_vnets= \weight=1"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_ext_links3 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_links3 \n: SimpleExtLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \eventq_index=0 \ext_node=board.cache_hierarchy.ruby_system.l1_controllers3 \int_node=board.cache_hierarchy.ruby_system.network.routers3 \latency=1 \link_id=3 \supported_vnets= \weight=1"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_ext_links4 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_links4 \n: SimpleExtLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \eventq_index=0 \ext_node=board.cache_hierarchy.ruby_system.l2_controllers \int_node=board.cache_hierarchy.ruby_system.network.routers4 \latency=1 \link_id=4 \supported_vnets= \weight=1"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_ext_links5 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_links5 \n: SimpleExtLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \eventq_index=0 \ext_node=board.cache_hierarchy.ruby_system.directory_controllers \int_node=board.cache_hierarchy.ruby_system.network.routers5 \latency=1 \link_id=5 \supported_vnets= \weight=1"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_ext_links6 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_links6 \n: SimpleExtLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \eventq_index=0 \ext_node=board.cache_hierarchy.ruby_system.dma_controllers0 \int_node=board.cache_hierarchy.ruby_system.network.routers6 \latency=1 \link_id=6 \supported_vnets= \weight=1"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_ext_links7 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_links7 \n: SimpleExtLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \eventq_index=0 \ext_node=board.cache_hierarchy.ruby_system.dma_controllers1 \int_node=board.cache_hierarchy.ruby_system.network.routers7 \latency=1 \link_id=7 \supported_vnets= \weight=1"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links00 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links00 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links00.buffers0 board.cache_hierarchy.ruby_system.network.int_links00.buffers1 board.cache_hierarchy.ruby_system.network.int_links00.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers1 \eventq_index=0 \latency=1 \link_id=1 \src_node=board.cache_hierarchy.ruby_system.network.routers0 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links00_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links00_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links00_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links01 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links01 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links01.buffers0 board.cache_hierarchy.ruby_system.network.int_links01.buffers1 board.cache_hierarchy.ruby_system.network.int_links01.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers2 \eventq_index=0 \latency=1 \link_id=2 \src_node=board.cache_hierarchy.ruby_system.network.routers0 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links01_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links01_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links01_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links02 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links02 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links02.buffers0 board.cache_hierarchy.ruby_system.network.int_links02.buffers1 board.cache_hierarchy.ruby_system.network.int_links02.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers3 \eventq_index=0 \latency=1 \link_id=3 \src_node=board.cache_hierarchy.ruby_system.network.routers0 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links02_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links02_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links02_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links03 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links03 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links03.buffers0 board.cache_hierarchy.ruby_system.network.int_links03.buffers1 board.cache_hierarchy.ruby_system.network.int_links03.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers4 \eventq_index=0 \latency=1 \link_id=4 \src_node=board.cache_hierarchy.ruby_system.network.routers0 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links03_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links03_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links03_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links04 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links04 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links04.buffers0 board.cache_hierarchy.ruby_system.network.int_links04.buffers1 board.cache_hierarchy.ruby_system.network.int_links04.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers5 \eventq_index=0 \latency=1 \link_id=5 \src_node=board.cache_hierarchy.ruby_system.network.routers0 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links04_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links04_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links04_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links05 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links05 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links05.buffers0 board.cache_hierarchy.ruby_system.network.int_links05.buffers1 board.cache_hierarchy.ruby_system.network.int_links05.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers6 \eventq_index=0 \latency=1 \link_id=6 \src_node=board.cache_hierarchy.ruby_system.network.routers0 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links05_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links05_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links05_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links06 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links06 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links06.buffers0 board.cache_hierarchy.ruby_system.network.int_links06.buffers1 board.cache_hierarchy.ruby_system.network.int_links06.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers7 \eventq_index=0 \latency=1 \link_id=7 \src_node=board.cache_hierarchy.ruby_system.network.routers0 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links06_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links06_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links06_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links07 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links07 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links07.buffers0 board.cache_hierarchy.ruby_system.network.int_links07.buffers1 board.cache_hierarchy.ruby_system.network.int_links07.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers0 \eventq_index=0 \latency=1 \link_id=8 \src_node=board.cache_hierarchy.ruby_system.network.routers1 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links07_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links07_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links07_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links08 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links08 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links08.buffers0 board.cache_hierarchy.ruby_system.network.int_links08.buffers1 board.cache_hierarchy.ruby_system.network.int_links08.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers2 \eventq_index=0 \latency=1 \link_id=9 \src_node=board.cache_hierarchy.ruby_system.network.routers1 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links08_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links08_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links08_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links09 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links09 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links09.buffers0 board.cache_hierarchy.ruby_system.network.int_links09.buffers1 board.cache_hierarchy.ruby_system.network.int_links09.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers3 \eventq_index=0 \latency=1 \link_id=10 \src_node=board.cache_hierarchy.ruby_system.network.routers1 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links09_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links09_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links09_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links10 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links10 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links10.buffers0 board.cache_hierarchy.ruby_system.network.int_links10.buffers1 board.cache_hierarchy.ruby_system.network.int_links10.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers4 \eventq_index=0 \latency=1 \link_id=11 \src_node=board.cache_hierarchy.ruby_system.network.routers1 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links10_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links10_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links10_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links11 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links11 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links11.buffers0 board.cache_hierarchy.ruby_system.network.int_links11.buffers1 board.cache_hierarchy.ruby_system.network.int_links11.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers5 \eventq_index=0 \latency=1 \link_id=12 \src_node=board.cache_hierarchy.ruby_system.network.routers1 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links11_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links11_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links11_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links12 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links12 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links12.buffers0 board.cache_hierarchy.ruby_system.network.int_links12.buffers1 board.cache_hierarchy.ruby_system.network.int_links12.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers6 \eventq_index=0 \latency=1 \link_id=13 \src_node=board.cache_hierarchy.ruby_system.network.routers1 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links12_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links12_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links12_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links13 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links13 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links13.buffers0 board.cache_hierarchy.ruby_system.network.int_links13.buffers1 board.cache_hierarchy.ruby_system.network.int_links13.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers7 \eventq_index=0 \latency=1 \link_id=14 \src_node=board.cache_hierarchy.ruby_system.network.routers1 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links13_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links13_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links13_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links14 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links14 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links14.buffers0 board.cache_hierarchy.ruby_system.network.int_links14.buffers1 board.cache_hierarchy.ruby_system.network.int_links14.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers0 \eventq_index=0 \latency=1 \link_id=15 \src_node=board.cache_hierarchy.ruby_system.network.routers2 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links14_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links14_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links14_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links15 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links15 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links15.buffers0 board.cache_hierarchy.ruby_system.network.int_links15.buffers1 board.cache_hierarchy.ruby_system.network.int_links15.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers1 \eventq_index=0 \latency=1 \link_id=16 \src_node=board.cache_hierarchy.ruby_system.network.routers2 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links15_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links15_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links15_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links16 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links16 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links16.buffers0 board.cache_hierarchy.ruby_system.network.int_links16.buffers1 board.cache_hierarchy.ruby_system.network.int_links16.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers3 \eventq_index=0 \latency=1 \link_id=17 \src_node=board.cache_hierarchy.ruby_system.network.routers2 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links16_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links16_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links16_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links17 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links17 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links17.buffers0 board.cache_hierarchy.ruby_system.network.int_links17.buffers1 board.cache_hierarchy.ruby_system.network.int_links17.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers4 \eventq_index=0 \latency=1 \link_id=18 \src_node=board.cache_hierarchy.ruby_system.network.routers2 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links17_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links17_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links17_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links18 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links18 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links18.buffers0 board.cache_hierarchy.ruby_system.network.int_links18.buffers1 board.cache_hierarchy.ruby_system.network.int_links18.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers5 \eventq_index=0 \latency=1 \link_id=19 \src_node=board.cache_hierarchy.ruby_system.network.routers2 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links18_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links18_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links18_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links19 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links19 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links19.buffers0 board.cache_hierarchy.ruby_system.network.int_links19.buffers1 board.cache_hierarchy.ruby_system.network.int_links19.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers6 \eventq_index=0 \latency=1 \link_id=20 \src_node=board.cache_hierarchy.ruby_system.network.routers2 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links19_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links19_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links19_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links20 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links20 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links20.buffers0 board.cache_hierarchy.ruby_system.network.int_links20.buffers1 board.cache_hierarchy.ruby_system.network.int_links20.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers7 \eventq_index=0 \latency=1 \link_id=21 \src_node=board.cache_hierarchy.ruby_system.network.routers2 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links20_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links20_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links20_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links21 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links21 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links21.buffers0 board.cache_hierarchy.ruby_system.network.int_links21.buffers1 board.cache_hierarchy.ruby_system.network.int_links21.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers0 \eventq_index=0 \latency=1 \link_id=22 \src_node=board.cache_hierarchy.ruby_system.network.routers3 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links21_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links21_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links21_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links22 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links22 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links22.buffers0 board.cache_hierarchy.ruby_system.network.int_links22.buffers1 board.cache_hierarchy.ruby_system.network.int_links22.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers1 \eventq_index=0 \latency=1 \link_id=23 \src_node=board.cache_hierarchy.ruby_system.network.routers3 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links22_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links22_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links22_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links23 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links23 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links23.buffers0 board.cache_hierarchy.ruby_system.network.int_links23.buffers1 board.cache_hierarchy.ruby_system.network.int_links23.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers2 \eventq_index=0 \latency=1 \link_id=24 \src_node=board.cache_hierarchy.ruby_system.network.routers3 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links23_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links23_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links23_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links24 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links24 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links24.buffers0 board.cache_hierarchy.ruby_system.network.int_links24.buffers1 board.cache_hierarchy.ruby_system.network.int_links24.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers4 \eventq_index=0 \latency=1 \link_id=25 \src_node=board.cache_hierarchy.ruby_system.network.routers3 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links24_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links24_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links24_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links25 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links25 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links25.buffers0 board.cache_hierarchy.ruby_system.network.int_links25.buffers1 board.cache_hierarchy.ruby_system.network.int_links25.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers5 \eventq_index=0 \latency=1 \link_id=26 \src_node=board.cache_hierarchy.ruby_system.network.routers3 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links25_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links25_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links25_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links26 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links26 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links26.buffers0 board.cache_hierarchy.ruby_system.network.int_links26.buffers1 board.cache_hierarchy.ruby_system.network.int_links26.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers6 \eventq_index=0 \latency=1 \link_id=27 \src_node=board.cache_hierarchy.ruby_system.network.routers3 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links26_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links26_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links26_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links27 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links27 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links27.buffers0 board.cache_hierarchy.ruby_system.network.int_links27.buffers1 board.cache_hierarchy.ruby_system.network.int_links27.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers7 \eventq_index=0 \latency=1 \link_id=28 \src_node=board.cache_hierarchy.ruby_system.network.routers3 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links27_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links27_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links27_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links28 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links28 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links28.buffers0 board.cache_hierarchy.ruby_system.network.int_links28.buffers1 board.cache_hierarchy.ruby_system.network.int_links28.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers0 \eventq_index=0 \latency=1 \link_id=29 \src_node=board.cache_hierarchy.ruby_system.network.routers4 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links28_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links28_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links28_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links29 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links29 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links29.buffers0 board.cache_hierarchy.ruby_system.network.int_links29.buffers1 board.cache_hierarchy.ruby_system.network.int_links29.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers1 \eventq_index=0 \latency=1 \link_id=30 \src_node=board.cache_hierarchy.ruby_system.network.routers4 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links29_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links29_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links29_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links30 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links30 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links30.buffers0 board.cache_hierarchy.ruby_system.network.int_links30.buffers1 board.cache_hierarchy.ruby_system.network.int_links30.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers2 \eventq_index=0 \latency=1 \link_id=31 \src_node=board.cache_hierarchy.ruby_system.network.routers4 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links30_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links30_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links30_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links31 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links31 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links31.buffers0 board.cache_hierarchy.ruby_system.network.int_links31.buffers1 board.cache_hierarchy.ruby_system.network.int_links31.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers3 \eventq_index=0 \latency=1 \link_id=32 \src_node=board.cache_hierarchy.ruby_system.network.routers4 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links31_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links31_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links31_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links32 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links32 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links32.buffers0 board.cache_hierarchy.ruby_system.network.int_links32.buffers1 board.cache_hierarchy.ruby_system.network.int_links32.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers5 \eventq_index=0 \latency=1 \link_id=33 \src_node=board.cache_hierarchy.ruby_system.network.routers4 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links32_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links32_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links32_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links33 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links33 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links33.buffers0 board.cache_hierarchy.ruby_system.network.int_links33.buffers1 board.cache_hierarchy.ruby_system.network.int_links33.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers6 \eventq_index=0 \latency=1 \link_id=34 \src_node=board.cache_hierarchy.ruby_system.network.routers4 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links33_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links33_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links33_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links34 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links34 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links34.buffers0 board.cache_hierarchy.ruby_system.network.int_links34.buffers1 board.cache_hierarchy.ruby_system.network.int_links34.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers7 \eventq_index=0 \latency=1 \link_id=35 \src_node=board.cache_hierarchy.ruby_system.network.routers4 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links34_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links34_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links34_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links35 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links35 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links35.buffers0 board.cache_hierarchy.ruby_system.network.int_links35.buffers1 board.cache_hierarchy.ruby_system.network.int_links35.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers0 \eventq_index=0 \latency=1 \link_id=36 \src_node=board.cache_hierarchy.ruby_system.network.routers5 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links35_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links35_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links35_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links36 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links36 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links36.buffers0 board.cache_hierarchy.ruby_system.network.int_links36.buffers1 board.cache_hierarchy.ruby_system.network.int_links36.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers1 \eventq_index=0 \latency=1 \link_id=37 \src_node=board.cache_hierarchy.ruby_system.network.routers5 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links36_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links36_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links36_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links37 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links37 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links37.buffers0 board.cache_hierarchy.ruby_system.network.int_links37.buffers1 board.cache_hierarchy.ruby_system.network.int_links37.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers2 \eventq_index=0 \latency=1 \link_id=38 \src_node=board.cache_hierarchy.ruby_system.network.routers5 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links37_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links37_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links37_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links38 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links38 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links38.buffers0 board.cache_hierarchy.ruby_system.network.int_links38.buffers1 board.cache_hierarchy.ruby_system.network.int_links38.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers3 \eventq_index=0 \latency=1 \link_id=39 \src_node=board.cache_hierarchy.ruby_system.network.routers5 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links38_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links38_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links38_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links39 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links39 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links39.buffers0 board.cache_hierarchy.ruby_system.network.int_links39.buffers1 board.cache_hierarchy.ruby_system.network.int_links39.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers4 \eventq_index=0 \latency=1 \link_id=40 \src_node=board.cache_hierarchy.ruby_system.network.routers5 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links39_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links39_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links39_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links40 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links40 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links40.buffers0 board.cache_hierarchy.ruby_system.network.int_links40.buffers1 board.cache_hierarchy.ruby_system.network.int_links40.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers6 \eventq_index=0 \latency=1 \link_id=41 \src_node=board.cache_hierarchy.ruby_system.network.routers5 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links40_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links40_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links40_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links41 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links41 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links41.buffers0 board.cache_hierarchy.ruby_system.network.int_links41.buffers1 board.cache_hierarchy.ruby_system.network.int_links41.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers7 \eventq_index=0 \latency=1 \link_id=42 \src_node=board.cache_hierarchy.ruby_system.network.routers5 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links41_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links41_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links41_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links42 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links42 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links42.buffers0 board.cache_hierarchy.ruby_system.network.int_links42.buffers1 board.cache_hierarchy.ruby_system.network.int_links42.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers0 \eventq_index=0 \latency=1 \link_id=43 \src_node=board.cache_hierarchy.ruby_system.network.routers6 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links42_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links42_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links42_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links43 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links43 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links43.buffers0 board.cache_hierarchy.ruby_system.network.int_links43.buffers1 board.cache_hierarchy.ruby_system.network.int_links43.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers1 \eventq_index=0 \latency=1 \link_id=44 \src_node=board.cache_hierarchy.ruby_system.network.routers6 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links43_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links43_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links43_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links44 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links44 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links44.buffers0 board.cache_hierarchy.ruby_system.network.int_links44.buffers1 board.cache_hierarchy.ruby_system.network.int_links44.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers2 \eventq_index=0 \latency=1 \link_id=45 \src_node=board.cache_hierarchy.ruby_system.network.routers6 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links44_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links44_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links44_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links45 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links45 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links45.buffers0 board.cache_hierarchy.ruby_system.network.int_links45.buffers1 board.cache_hierarchy.ruby_system.network.int_links45.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers3 \eventq_index=0 \latency=1 \link_id=46 \src_node=board.cache_hierarchy.ruby_system.network.routers6 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links45_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links45_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links45_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links46 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links46 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links46.buffers0 board.cache_hierarchy.ruby_system.network.int_links46.buffers1 board.cache_hierarchy.ruby_system.network.int_links46.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers4 \eventq_index=0 \latency=1 \link_id=47 \src_node=board.cache_hierarchy.ruby_system.network.routers6 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links46_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links46_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links46_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links47 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links47 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links47.buffers0 board.cache_hierarchy.ruby_system.network.int_links47.buffers1 board.cache_hierarchy.ruby_system.network.int_links47.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers5 \eventq_index=0 \latency=1 \link_id=48 \src_node=board.cache_hierarchy.ruby_system.network.routers6 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links47_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links47_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links47_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links48 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links48 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links48.buffers0 board.cache_hierarchy.ruby_system.network.int_links48.buffers1 board.cache_hierarchy.ruby_system.network.int_links48.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers7 \eventq_index=0 \latency=1 \link_id=49 \src_node=board.cache_hierarchy.ruby_system.network.routers6 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links48_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links48_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links48_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links49 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links49 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links49.buffers0 board.cache_hierarchy.ruby_system.network.int_links49.buffers1 board.cache_hierarchy.ruby_system.network.int_links49.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers0 \eventq_index=0 \latency=1 \link_id=50 \src_node=board.cache_hierarchy.ruby_system.network.routers7 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links49_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links49_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links49_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links50 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links50 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links50.buffers0 board.cache_hierarchy.ruby_system.network.int_links50.buffers1 board.cache_hierarchy.ruby_system.network.int_links50.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers1 \eventq_index=0 \latency=1 \link_id=51 \src_node=board.cache_hierarchy.ruby_system.network.routers7 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links50_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links50_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links50_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links51 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links51 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links51.buffers0 board.cache_hierarchy.ruby_system.network.int_links51.buffers1 board.cache_hierarchy.ruby_system.network.int_links51.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers2 \eventq_index=0 \latency=1 \link_id=52 \src_node=board.cache_hierarchy.ruby_system.network.routers7 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links51_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links51_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links51_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links52 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links52 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links52.buffers0 board.cache_hierarchy.ruby_system.network.int_links52.buffers1 board.cache_hierarchy.ruby_system.network.int_links52.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers3 \eventq_index=0 \latency=1 \link_id=53 \src_node=board.cache_hierarchy.ruby_system.network.routers7 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links52_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links52_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links52_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links53 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links53 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links53.buffers0 board.cache_hierarchy.ruby_system.network.int_links53.buffers1 board.cache_hierarchy.ruby_system.network.int_links53.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers4 \eventq_index=0 \latency=1 \link_id=54 \src_node=board.cache_hierarchy.ruby_system.network.routers7 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links53_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links53_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links53_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links54 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links54 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links54.buffers0 board.cache_hierarchy.ruby_system.network.int_links54.buffers1 board.cache_hierarchy.ruby_system.network.int_links54.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers5 \eventq_index=0 \latency=1 \link_id=55 \src_node=board.cache_hierarchy.ruby_system.network.routers7 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links54_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links54_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links54_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links55 { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="int_links55 \n: SimpleIntLink"; +shape=box; +style="rounded, filled"; +tooltip="bandwidth_factor=16 \buffers=board.cache_hierarchy.ruby_system.network.int_links55.buffers0 board.cache_hierarchy.ruby_system.network.int_links55.buffers1 board.cache_hierarchy.ruby_system.network.int_links55.buffers2 \dst_inport= \dst_node=board.cache_hierarchy.ruby_system.network.routers6 \eventq_index=0 \latency=1 \link_id=56 \src_node=board.cache_hierarchy.ruby_system.network.routers7 \src_outport= \supported_vnets= \weight=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links55_buffers0 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers0 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links55_buffers1 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers1 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_network_int_links55_buffers2 { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="buffers2 \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +} + +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="l1_controllers0 \n: L1Cache"; +shape=box; +style="rounded, filled"; +tooltip="L1Dcache=board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache \L1Icache=board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache \addr_ranges=0:18446744073709551615 \buffer_size=0 \clk_domain=board.clk_domain \cluster_id=0 \downstream_destinations= \enable_prefetch=false \eventq_index=0 \l1_request_latency=2 \l1_response_latency=2 \l2_select_num_bits=0 \mandatoryQueue=board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue \mandatory_queue_latency=1 \number_of_TBEs=256 \optionalQueue=board.cache_hierarchy.ruby_system.l1_controllers0.optionalQueue \power_model= \power_state=board.cache_hierarchy.ruby_system.l1_controllers0.power_state \prefetcher=board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher \recycle_latency=10 \requestFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.requestFromL1Cache \requestToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.requestToL1Cache \responseFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.responseFromL1Cache \responseToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.responseToL1Cache \ruby_system=board.cache_hierarchy.ruby_system \send_evictions=true \sequencer=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer \system=board \to_l2_latency=1 \transitions_per_cycle=4 \unblockFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.unblockFromL1Cache \upstream_destinations= \version=0"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_mandatoryQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mandatoryQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_requestFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers0_requestFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_responseFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers0_responseFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_unblockFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="unblockFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers0_unblockFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_optionalQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="optionalQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_requestToL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestToL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers0_requestToL1Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_responseToL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseToL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers0_responseToL1Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_L1Icache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1Icache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=8 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=true \replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=32768 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_L1Icache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=8"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_L1Dcache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1Dcache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=8 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=false \replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=32768 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_L1Dcache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=8"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_prefetcher { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="prefetcher \n: RubyPrefetcher"; +shape=box; +style="rounded, filled"; +tooltip="cross_page=false \eventq_index=0 \nonunit_filter=8 \num_startup_pfs=1 \num_streams=4 \page_shift=12 \train_misses=4 \unit_filter=8"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_sequencer { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="sequencer \n: RubySequencer"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \coreid=99 \dcache=board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache \deadlock_threshold=500000 \eventq_index=0 \garnet_standalone=false \is_cpu_sequencer=true \max_outstanding_requests=16 \no_retry_on_stall=false \power_model= \power_state=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.power_state \ruby_system=board.cache_hierarchy.ruby_system \support_data_reqs=true \support_inst_reqs=true \system=board \using_ruby_tester=false \version=0"; +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_ports, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_interrupt_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=interrupt_out_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_pio_request_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio_request_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_mem_request_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=mem_request_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_pio_response_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio_response_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="l1_controllers1 \n: L1Cache"; +shape=box; +style="rounded, filled"; +tooltip="L1Dcache=board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache \L1Icache=board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache \addr_ranges=0:18446744073709551615 \buffer_size=0 \clk_domain=board.clk_domain \cluster_id=0 \downstream_destinations= \enable_prefetch=false \eventq_index=0 \l1_request_latency=2 \l1_response_latency=2 \l2_select_num_bits=0 \mandatoryQueue=board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue \mandatory_queue_latency=1 \number_of_TBEs=256 \optionalQueue=board.cache_hierarchy.ruby_system.l1_controllers1.optionalQueue \power_model= \power_state=board.cache_hierarchy.ruby_system.l1_controllers1.power_state \prefetcher=board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher \recycle_latency=10 \requestFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.requestFromL1Cache \requestToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.requestToL1Cache \responseFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.responseFromL1Cache \responseToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.responseToL1Cache \ruby_system=board.cache_hierarchy.ruby_system \send_evictions=true \sequencer=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer \system=board \to_l2_latency=1 \transitions_per_cycle=4 \unblockFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.unblockFromL1Cache \upstream_destinations= \version=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_mandatoryQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mandatoryQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_requestFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers1_requestFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_responseFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers1_responseFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_unblockFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="unblockFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers1_unblockFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_optionalQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="optionalQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_requestToL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestToL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers1_requestToL1Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_responseToL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseToL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers1_responseToL1Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_L1Icache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1Icache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=8 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=true \replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=32768 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_L1Icache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=8"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_L1Dcache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1Dcache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=8 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=false \replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=32768 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_L1Dcache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=8"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_prefetcher { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="prefetcher \n: RubyPrefetcher"; +shape=box; +style="rounded, filled"; +tooltip="cross_page=false \eventq_index=0 \nonunit_filter=8 \num_startup_pfs=1 \num_streams=4 \page_shift=12 \train_misses=4 \unit_filter=8"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_sequencer { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="sequencer \n: RubySequencer"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \coreid=99 \dcache=board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache \deadlock_threshold=500000 \eventq_index=0 \garnet_standalone=false \is_cpu_sequencer=true \max_outstanding_requests=16 \no_retry_on_stall=false \power_model= \power_state=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.power_state \ruby_system=board.cache_hierarchy.ruby_system \support_data_reqs=true \support_inst_reqs=true \system=board \using_ruby_tester=false \version=1"; +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_ports, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_interrupt_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=interrupt_out_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_pio_request_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio_request_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_mem_request_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=mem_request_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_pio_response_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio_response_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="l1_controllers2 \n: L1Cache"; +shape=box; +style="rounded, filled"; +tooltip="L1Dcache=board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache \L1Icache=board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache \addr_ranges=0:18446744073709551615 \buffer_size=0 \clk_domain=board.clk_domain \cluster_id=0 \downstream_destinations= \enable_prefetch=false \eventq_index=0 \l1_request_latency=2 \l1_response_latency=2 \l2_select_num_bits=0 \mandatoryQueue=board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue \mandatory_queue_latency=1 \number_of_TBEs=256 \optionalQueue=board.cache_hierarchy.ruby_system.l1_controllers2.optionalQueue \power_model= \power_state=board.cache_hierarchy.ruby_system.l1_controllers2.power_state \prefetcher=board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher \recycle_latency=10 \requestFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.requestFromL1Cache \requestToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.requestToL1Cache \responseFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.responseFromL1Cache \responseToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.responseToL1Cache \ruby_system=board.cache_hierarchy.ruby_system \send_evictions=true \sequencer=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer \system=board \to_l2_latency=1 \transitions_per_cycle=4 \unblockFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.unblockFromL1Cache \upstream_destinations= \version=2"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_mandatoryQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mandatoryQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_requestFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers2_requestFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_responseFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers2_responseFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_unblockFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="unblockFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers2_unblockFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_optionalQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="optionalQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_requestToL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestToL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers2_requestToL1Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_responseToL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseToL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers2_responseToL1Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_L1Icache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1Icache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=8 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=true \replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=32768 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_L1Icache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=8"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_L1Dcache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1Dcache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=8 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=false \replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=32768 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_L1Dcache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=8"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_prefetcher { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="prefetcher \n: RubyPrefetcher"; +shape=box; +style="rounded, filled"; +tooltip="cross_page=false \eventq_index=0 \nonunit_filter=8 \num_startup_pfs=1 \num_streams=4 \page_shift=12 \train_misses=4 \unit_filter=8"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_sequencer { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="sequencer \n: RubySequencer"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \coreid=99 \dcache=board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache \deadlock_threshold=500000 \eventq_index=0 \garnet_standalone=false \is_cpu_sequencer=true \max_outstanding_requests=16 \no_retry_on_stall=false \power_model= \power_state=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.power_state \ruby_system=board.cache_hierarchy.ruby_system \support_data_reqs=true \support_inst_reqs=true \system=board \using_ruby_tester=false \version=2"; +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_ports, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_interrupt_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=interrupt_out_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_pio_request_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio_request_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_mem_request_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=mem_request_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_pio_response_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio_response_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="l1_controllers3 \n: L1Cache"; +shape=box; +style="rounded, filled"; +tooltip="L1Dcache=board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache \L1Icache=board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache \addr_ranges=0:18446744073709551615 \buffer_size=0 \clk_domain=board.clk_domain \cluster_id=0 \downstream_destinations= \enable_prefetch=false \eventq_index=0 \l1_request_latency=2 \l1_response_latency=2 \l2_select_num_bits=0 \mandatoryQueue=board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue \mandatory_queue_latency=1 \number_of_TBEs=256 \optionalQueue=board.cache_hierarchy.ruby_system.l1_controllers3.optionalQueue \power_model= \power_state=board.cache_hierarchy.ruby_system.l1_controllers3.power_state \prefetcher=board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher \recycle_latency=10 \requestFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.requestFromL1Cache \requestToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.requestToL1Cache \responseFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.responseFromL1Cache \responseToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.responseToL1Cache \ruby_system=board.cache_hierarchy.ruby_system \send_evictions=true \sequencer=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer \system=board \to_l2_latency=1 \transitions_per_cycle=4 \unblockFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.unblockFromL1Cache \upstream_destinations= \version=3"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_mandatoryQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mandatoryQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_requestFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers3_requestFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_responseFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers3_responseFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_unblockFromL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="unblockFromL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers3_unblockFromL1Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_optionalQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="optionalQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_requestToL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestToL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers3_requestToL1Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_responseToL1Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseToL1Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l1_controllers3_responseToL1Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_L1Icache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1Icache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=8 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=true \replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=32768 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_L1Icache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=8"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_L1Dcache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1Dcache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=8 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=false \replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=32768 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_L1Dcache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=8"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_prefetcher { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="prefetcher \n: RubyPrefetcher"; +shape=box; +style="rounded, filled"; +tooltip="cross_page=false \eventq_index=0 \nonunit_filter=8 \num_startup_pfs=1 \num_streams=4 \page_shift=12 \train_misses=4 \unit_filter=8"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_sequencer { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="sequencer \n: RubySequencer"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \coreid=99 \dcache=board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache \deadlock_threshold=500000 \eventq_index=0 \garnet_standalone=false \is_cpu_sequencer=true \max_outstanding_requests=16 \no_retry_on_stall=false \power_model= \power_state=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.power_state \ruby_system=board.cache_hierarchy.ruby_system \support_data_reqs=true \support_inst_reqs=true \system=board \using_ruby_tester=false \version=3"; +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_ports, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_interrupt_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=interrupt_out_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_pio_request_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio_request_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_mem_request_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=mem_request_port, shape=box, style="rounded, filled"]; +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_pio_response_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio_response_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="l2_controllers \n: L2Cache"; +shape=box; +style="rounded, filled"; +tooltip="DirRequestFromL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.DirRequestFromL2Cache \L1RequestFromL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.L1RequestFromL2Cache \L1RequestToL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache \L2cache=board.cache_hierarchy.ruby_system.l2_controllers.L2cache \addr_ranges=0:18446744073709551615 \buffer_size=0 \clk_domain=board.clk_domain \cluster_id=0 \downstream_destinations= \eventq_index=0 \l2_request_latency=2 \l2_response_latency=2 \mandatory_queue_latency=1 \number_of_TBEs=256 \power_model= \power_state=board.cache_hierarchy.ruby_system.l2_controllers.power_state \recycle_latency=10 \responseFromL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.responseFromL2Cache \responseToL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.responseToL2Cache \ruby_system=board.cache_hierarchy.ruby_system \system=board \to_l1_latency=1 \transitions_per_cycle=4 \unblockToL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.unblockToL2Cache \upstream_destinations= \version=0"; +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_DirRequestFromL2Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="DirRequestFromL2Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l2_controllers_DirRequestFromL2Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_L1RequestFromL2Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1RequestFromL2Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l2_controllers_L1RequestFromL2Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_responseFromL2Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromL2Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l2_controllers_responseFromL2Cache_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_unblockToL2Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="unblockToL2Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l2_controllers_unblockToL2Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_L1RequestToL2Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L1RequestToL2Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l2_controllers_L1RequestToL2Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_responseToL2Cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseToL2Cache \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_l2_controllers_responseToL2Cache_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_L2cache { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="L2cache \n: RubyCache"; +shape=box; +style="rounded, filled"; +tooltip="assoc=16 \block_size=0 \dataAccessLatency=1 \dataArrayBanks=1 \eventq_index=0 \is_icache=false \replacement_policy=board.cache_hierarchy.ruby_system.l2_controllers.L2cache.replacement_policy \resourceStalls=false \ruby_system=board.cache_hierarchy.ruby_system \size=1048576 \start_index_bit=6 \tagAccessLatency=1 \tagArrayBanks=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_l2_controllers_L2cache_replacement_policy { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="replacement_policy \n: TreePLRURP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \num_leaves=16"; +} + +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_directory_controllers { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="directory_controllers \n: Directory"; +shape=box; +style="rounded, filled"; +tooltip="addr_ranges=0:2147483648 \buffer_size=0 \clk_domain=board.clk_domain \cluster_id=0 \directory=board.cache_hierarchy.ruby_system.directory_controllers.directory \directory_latency=6 \downstream_destinations= \eventq_index=0 \mandatory_queue_latency=1 \number_of_TBEs=256 \power_model= \power_state=board.cache_hierarchy.ruby_system.directory_controllers.power_state \recycle_latency=10 \requestToDir=board.cache_hierarchy.ruby_system.directory_controllers.requestToDir \requestToMemory=board.cache_hierarchy.ruby_system.directory_controllers.requestToMemory \responseFromDir=board.cache_hierarchy.ruby_system.directory_controllers.responseFromDir \responseFromMemory=board.cache_hierarchy.ruby_system.directory_controllers.responseFromMemory \responseToDir=board.cache_hierarchy.ruby_system.directory_controllers.responseToDir \ruby_system=board.cache_hierarchy.ruby_system \system=board \to_mem_ctrl_latency=1 \transitions_per_cycle=32 \upstream_destinations= \version=0"; +board_cache_hierarchy_ruby_system_directory_controllers_memory_out_port [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=memory_out_port, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_directory_controllers_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_directory_controllers_requestToDir { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestToDir \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_directory_controllers_requestToDir_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_directory_controllers_responseToDir { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseToDir \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_directory_controllers_responseToDir_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_directory_controllers_responseFromDir { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromDir \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_directory_controllers_responseFromDir_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_directory_controllers_requestToMemory { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestToMemory \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_directory_controllers_responseFromMemory { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromMemory \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_directory_controllers_directory { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="directory \n: RubyDirectoryMemory"; +shape=box; +style="rounded, filled"; +tooltip="addr_ranges=0:2147483648 \eventq_index=0"; +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers0 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dma_controllers0 \n: DMAController"; +shape=box; +style="rounded, filled"; +tooltip="addr_ranges=0:18446744073709551615 \buffer_size=0 \clk_domain=board.clk_domain \cluster_id=0 \dma_sequencer=board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer \downstream_destinations= \eventq_index=0 \mandatoryQueue=board.cache_hierarchy.ruby_system.dma_controllers0.mandatoryQueue \mandatory_queue_latency=1 \number_of_TBEs=256 \power_model= \power_state=board.cache_hierarchy.ruby_system.dma_controllers0.power_state \recycle_latency=10 \requestToDir=board.cache_hierarchy.ruby_system.dma_controllers0.requestToDir \request_latency=6 \responseFromDir=board.cache_hierarchy.ruby_system.dma_controllers0.responseFromDir \ruby_system=board.cache_hierarchy.ruby_system \system=board \transitions_per_cycle=32 \upstream_destinations= \version=0"; +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers0_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers0_mandatoryQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mandatoryQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers0_responseFromDir { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromDir \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_dma_controllers0_responseFromDir_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers0_requestToDir { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestToDir \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_dma_controllers0_requestToDir_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers0_dma_sequencer { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dma_sequencer \n: DMASequencer"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \is_cpu_sequencer=true \max_outstanding_requests=64 \no_retry_on_stall=false \power_model= \power_state=board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer.power_state \ruby_system=board.cache_hierarchy.ruby_system \support_data_reqs=true \support_inst_reqs=true \system=board \using_ruby_tester=false \version=0"; +board_cache_hierarchy_ruby_system_dma_controllers0_dma_sequencer_in_ports [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_ports, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers0_dma_sequencer_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers1 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dma_controllers1 \n: DMAController"; +shape=box; +style="rounded, filled"; +tooltip="addr_ranges=0:18446744073709551615 \buffer_size=0 \clk_domain=board.clk_domain \cluster_id=0 \dma_sequencer=board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer \downstream_destinations= \eventq_index=0 \mandatoryQueue=board.cache_hierarchy.ruby_system.dma_controllers1.mandatoryQueue \mandatory_queue_latency=1 \number_of_TBEs=256 \power_model= \power_state=board.cache_hierarchy.ruby_system.dma_controllers1.power_state \recycle_latency=10 \requestToDir=board.cache_hierarchy.ruby_system.dma_controllers1.requestToDir \request_latency=6 \responseFromDir=board.cache_hierarchy.ruby_system.dma_controllers1.responseFromDir \ruby_system=board.cache_hierarchy.ruby_system \system=board \transitions_per_cycle=32 \upstream_destinations= \version=1"; +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers1_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers1_mandatoryQueue { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mandatoryQueue \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers1_responseFromDir { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="responseFromDir \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=true \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_dma_controllers1_responseFromDir_in_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers1_requestToDir { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="requestToDir \n: MessageBuffer"; +shape=box; +style="rounded, filled"; +tooltip="allow_zero_latency=false \buffer_size=0 \eventq_index=0 \max_dequeue_rate=0 \ordered=false \randomization=ruby_system \routing_priority=0"; +board_cache_hierarchy_ruby_system_dma_controllers1_requestToDir_out_port [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=out_port, shape=box, style="rounded, filled"]; +} + +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers1_dma_sequencer { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dma_sequencer \n: DMASequencer"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \is_cpu_sequencer=true \max_outstanding_requests=64 \no_retry_on_stall=false \power_model= \power_state=board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer.power_state \ruby_system=board.cache_hierarchy.ruby_system \support_data_reqs=true \support_inst_reqs=true \system=board \using_ruby_tester=false \version=1"; +board_cache_hierarchy_ruby_system_dma_controllers1_dma_sequencer_in_ports [color="#000000", fillcolor="#55534f", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_ports, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_dma_controllers1_dma_sequencer_power_state { +color="#000000"; +fillcolor="#4f4e4a"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_cache_hierarchy_ruby_system_sys_port_proxy { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="sys_port_proxy \n: RubyPortProxy"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \is_cpu_sequencer=true \no_retry_on_stall=false \power_model= \power_state=board.cache_hierarchy.ruby_system.sys_port_proxy.power_state \ruby_system=board.cache_hierarchy.ruby_system \support_data_reqs=true \support_inst_reqs=true \system=board \using_ruby_tester=false \version=0"; +board_cache_hierarchy_ruby_system_sys_port_proxy_in_ports [color="#000000", fillcolor="#6a6863", fontcolor="#000000", fontname=Arial, fontsize=14, label=in_ports, shape=box, style="rounded, filled"]; +subgraph cluster_board_cache_hierarchy_ruby_system_sys_port_proxy_power_state { +color="#000000"; +fillcolor="#6a6863"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +} + +subgraph cluster_board_pc { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="pc \n: Pc"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \south_bridge=board.pc.south_bridge \system=board"; +subgraph cluster_board_pc_south_bridge { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="south_bridge \n: SouthBridge"; +shape=box; +style="rounded, filled"; +tooltip="cmos=board.pc.south_bridge.cmos \dma1=board.pc.south_bridge.dma1 \eventq_index=0 \io_apic=board.pc.south_bridge.io_apic \keyboard=board.pc.south_bridge.keyboard \pic1=board.pc.south_bridge.pic1 \pic2=board.pc.south_bridge.pic2 \pit=board.pc.south_bridge.pit \speaker=board.pc.south_bridge.speaker"; +subgraph cluster_board_pc_south_bridge_pic1 { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="pic1 \n: I8259"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \mode=I8259Master \pio_addr=9223372036854775840 \pio_latency=100000 \power_model= \power_state=board.pc.south_bridge.pic1.power_state \slave=board.pc.south_bridge.pic2 \system=board"; +board_pc_south_bridge_pic1_output [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=output, shape=box, style="rounded, filled"]; +board_pc_south_bridge_pic1_inputs [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=inputs, shape=box, style="rounded, filled"]; +board_pc_south_bridge_pic1_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_pic1_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_south_bridge_pic2 { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="pic2 \n: I8259"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \mode=I8259Slave \pio_addr=9223372036854775968 \pio_latency=100000 \power_model= \power_state=board.pc.south_bridge.pic2.power_state \slave=Null \system=board"; +board_pc_south_bridge_pic2_output [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=output, shape=box, style="rounded, filled"]; +board_pc_south_bridge_pic2_inputs [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=inputs, shape=box, style="rounded, filled"]; +board_pc_south_bridge_pic2_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_pic2_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_south_bridge_cmos { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="cmos \n: Cmos"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \pio_addr=9223372036854775920 \pio_latency=100000 \power_model= \power_state=board.pc.south_bridge.cmos.power_state \system=board \time=Sun Jan 1 00:00:00 2012"; +board_pc_south_bridge_cmos_int_pin [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_pin, shape=box, style="rounded, filled"]; +board_pc_south_bridge_cmos_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_cmos_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_south_bridge_dma1 { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="dma1 \n: I8237"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \pio_addr=9223372036854775808 \pio_latency=100000 \power_model= \power_state=board.pc.south_bridge.dma1.power_state \system=board"; +board_pc_south_bridge_dma1_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_dma1_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_south_bridge_keyboard { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="keyboard \n: I8042"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \command_port=9223372036854775908 \data_port=9223372036854775904 \eventq_index=0 \keyboard=board.pc.south_bridge.keyboard.keyboard \mouse=board.pc.south_bridge.keyboard.mouse \pio_latency=100000 \power_model= \power_state=board.pc.south_bridge.keyboard.power_state \system=board"; +board_pc_south_bridge_keyboard_mouse_int_pin [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=mouse_int_pin, shape=box, style="rounded, filled"]; +board_pc_south_bridge_keyboard_keyboard_int_pin [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=keyboard_int_pin, shape=box, style="rounded, filled"]; +board_pc_south_bridge_keyboard_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_keyboard_keyboard { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="keyboard \n: PS2Keyboard"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \vnc=Null"; +} + +subgraph cluster_board_pc_south_bridge_keyboard_mouse { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="mouse \n: PS2Mouse"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0"; +} + +subgraph cluster_board_pc_south_bridge_keyboard_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_south_bridge_pit { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="pit \n: I8254"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \pio_addr=9223372036854775872 \pio_latency=100000 \power_model= \power_state=board.pc.south_bridge.pit.power_state \system=board"; +board_pc_south_bridge_pit_int_pin [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_pin, shape=box, style="rounded, filled"]; +board_pc_south_bridge_pit_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_pit_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_south_bridge_speaker { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="speaker \n: PcSpeaker"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \i8254=board.pc.south_bridge.pit \pio_addr=9223372036854775905 \pio_latency=100000 \power_model= \power_state=board.pc.south_bridge.speaker.power_state \system=board"; +board_pc_south_bridge_speaker_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_speaker_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_south_bridge_io_apic { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="io_apic \n: I82094AA"; +shape=box; +style="rounded, filled"; +tooltip="apic_id=4 \clk_domain=board.clk_domain \eventq_index=0 \int_latency=1000 \pio_addr=4273995776 \pio_latency=100000 \power_model= \power_state=board.pc.south_bridge.io_apic.power_state \system=board"; +board_pc_south_bridge_io_apic_int_requestor [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_requestor, shape=box, style="rounded, filled"]; +board_pc_south_bridge_io_apic_inputs [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=inputs, shape=box, style="rounded, filled"]; +board_pc_south_bridge_io_apic_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_io_apic_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_south_bridge_ide { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ide \n: X86IdeController"; +shape=box; +style="rounded, filled"; +tooltip="BAR0=board.pc.south_bridge.ide.BAR0 \BAR1=board.pc.south_bridge.ide.BAR1 \BAR2=board.pc.south_bridge.ide.BAR2 \BAR3=board.pc.south_bridge.ide.BAR3 \BAR4=board.pc.south_bridge.ide.BAR4 \BAR5=board.pc.south_bridge.ide.BAR5 \BIST=0 \CacheLineSize=0 \CapabilityPtr=0 \CardbusCIS=0 \ClassCode=1 \Command=0 \DeviceID=28945 \ExpansionROM=0 \HeaderType=0 \InterruptLine=255 \InterruptPin=1 \LatencyTimer=0 \MSICAPBaseOffset=0 \MSICAPCapId=0 \MSICAPMaskBits=0 \MSICAPMsgAddr=0 \MSICAPMsgCtrl=0 \MSICAPMsgData=0 \MSICAPMsgUpperAddr=0 \MSICAPNextCapability=0 \MSICAPPendingBits=0 \MSIXCAPBaseOffset=0 \MSIXCAPCapId=0 \MSIXCAPNextCapability=0 \MSIXMsgCtrl=0 \MSIXPbaOffset=0 \MSIXTableOffset=0 \MaximumLatency=0 \MinimumGrant=0 \PMCAPBaseOffset=0 \PMCAPCapId=0 \PMCAPCapabilities=0 \PMCAPCtrlStatus=0 \PMCAPNextCapability=0 \PXCAPBaseOffset=0 \PXCAPCapId=0 \PXCAPCapabilities=0 \PXCAPDevCap2=0 \PXCAPDevCapabilities=0 \PXCAPDevCtrl=0 \PXCAPDevCtrl2=0 \PXCAPDevStatus=0 \PXCAPLinkCap=0 \PXCAPLinkCtrl=0 \PXCAPLinkStatus=0 \PXCAPNextCapability=0 \ProgIF=128 \Revision=0 \Status=640 \SubClassCode=1 \SubsystemID=0 \SubsystemVendorID=0 \VendorID=32902 \clk_domain=board.clk_domain \config_latency=20000 \ctrl_offset=0 \disks=board.pc.south_bridge.ide.disks \eventq_index=0 \host=board.pc.pci_host \io_shift=0 \pci_bus=0 \pci_dev=4 \pci_func=0 \pio_latency=30000 \power_model= \power_state=board.pc.south_bridge.ide.power_state \sid=0 \ssid=0 \system=board"; +board_pc_south_bridge_ide_int_primary [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_primary, shape=box, style="rounded, filled"]; +board_pc_south_bridge_ide_int_secondary [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=int_secondary, shape=box, style="rounded, filled"]; +board_pc_south_bridge_ide_dma [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=dma, shape=box, style="rounded, filled"]; +board_pc_south_bridge_ide_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_south_bridge_ide_BAR0 { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="BAR0 \n: PciLegacyIoBar"; +shape=box; +style="rounded, filled"; +tooltip="addr=496 \eventq_index=0 \size=8"; +} + +subgraph cluster_board_pc_south_bridge_ide_BAR1 { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="BAR1 \n: PciLegacyIoBar"; +shape=box; +style="rounded, filled"; +tooltip="addr=1012 \eventq_index=0 \size=3"; +} + +subgraph cluster_board_pc_south_bridge_ide_BAR2 { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="BAR2 \n: PciLegacyIoBar"; +shape=box; +style="rounded, filled"; +tooltip="addr=368 \eventq_index=0 \size=8"; +} + +subgraph cluster_board_pc_south_bridge_ide_BAR3 { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="BAR3 \n: PciLegacyIoBar"; +shape=box; +style="rounded, filled"; +tooltip="addr=884 \eventq_index=0 \size=3"; +} + +subgraph cluster_board_pc_south_bridge_ide_BAR4 { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="BAR4 \n: PciIoBar"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \size=16"; +} + +subgraph cluster_board_pc_south_bridge_ide_BAR5 { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="BAR5 \n: PciBarNone"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0"; +} + +subgraph cluster_board_pc_south_bridge_ide_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_pc_south_bridge_ide_disks { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="disks \n: IdeDisk"; +shape=box; +style="rounded, filled"; +tooltip="delay=1000000 \driveID=device0 \eventq_index=0 \image=board.pc.south_bridge.ide.disks.image"; +subgraph cluster_board_pc_south_bridge_ide_disks_image { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="image \n: CowDiskImage"; +shape=box; +style="rounded, filled"; +tooltip="child=board.pc.south_bridge.ide.disks.image.child \eventq_index=0 \image_file= \read_only=false \table_size=65536"; +subgraph cluster_board_pc_south_bridge_ide_disks_image_child { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="child \n: RawDiskImage"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \image_file=/home/carlos/.cache/gem5/x86-ubuntu-18.04-img \read_only=true"; +} + +} + +} + +} + +} + +subgraph cluster_board_pc_pci_host { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="pci_host \n: PcPciHost"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \conf_base=13835058055282163712 \conf_device_bits=8 \conf_size=16777216 \eventq_index=0 \pci_dma_base=0 \pci_mem_base=0 \pci_pio_base=9223372036854775808 \platform=board.pc \power_model= \power_state=board.pc.pci_host.power_state \system=board"; +board_pc_pci_host_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_pci_host_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_com_1 { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="com_1 \n: Uart8250"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \device=board.pc.com_1.device \eventq_index=0 \pio_addr=9223372036854776824 \pio_latency=100000 \pio_size=8 \platform=board.pc \power_model= \power_state=board.pc.com_1.power_state \system=board"; +board_pc_com_1_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_com_1_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +subgraph cluster_board_pc_com_1_device { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="device \n: Terminal"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \number=0 \outfile=file \port=#3456"; +} + +} + +subgraph cluster_board_pc_fake_com_2 { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="fake_com_2 \n: IsaFake"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \fake_mem=false \pio_addr=9223372036854776568 \pio_latency=100000 \pio_size=8 \power_model= \power_state=board.pc.fake_com_2.power_state \ret_bad_addr=false \ret_data16=65535 \ret_data32=4294967295 \ret_data64=18446744073709551615 \ret_data8=255 \system=board \update_data=false \warn_access="; +board_pc_fake_com_2_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_fake_com_2_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_fake_com_3 { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="fake_com_3 \n: IsaFake"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \fake_mem=false \pio_addr=9223372036854776808 \pio_latency=100000 \pio_size=8 \power_model= \power_state=board.pc.fake_com_3.power_state \ret_bad_addr=false \ret_data16=65535 \ret_data32=4294967295 \ret_data64=18446744073709551615 \ret_data8=255 \system=board \update_data=false \warn_access="; +board_pc_fake_com_3_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_fake_com_3_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_fake_com_4 { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="fake_com_4 \n: IsaFake"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \fake_mem=false \pio_addr=9223372036854776552 \pio_latency=100000 \pio_size=8 \power_model= \power_state=board.pc.fake_com_4.power_state \ret_bad_addr=false \ret_data16=65535 \ret_data32=4294967295 \ret_data64=18446744073709551615 \ret_data8=255 \system=board \update_data=false \warn_access="; +board_pc_fake_com_4_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_fake_com_4_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_fake_floppy { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="fake_floppy \n: IsaFake"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \fake_mem=false \pio_addr=9223372036854776818 \pio_latency=100000 \pio_size=2 \power_model= \power_state=board.pc.fake_floppy.power_state \ret_bad_addr=false \ret_data16=65535 \ret_data32=4294967295 \ret_data64=18446744073709551615 \ret_data8=255 \system=board \update_data=false \warn_access="; +board_pc_fake_floppy_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_fake_floppy_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_default_bus { +color="#000000"; +fillcolor="#6f798c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="default_bus \n: IOXBar"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \forward_latency=1 \frontend_latency=2 \header_latency=1 \power_model= \power_state=board.pc.default_bus.power_state \response_latency=2 \use_default_range=false \width=16"; +board_pc_default_bus_cpu_side_ports [color="#000000", fillcolor="#586070", fontcolor="#000000", fontname=Arial, fontsize=14, label=cpu_side_ports, shape=box, style="rounded, filled"]; +board_pc_default_bus_mem_side_ports [color="#000000", fillcolor="#586070", fontcolor="#000000", fontname=Arial, fontsize=14, label=mem_side_ports, shape=box, style="rounded, filled"]; +board_pc_default_bus_default [color="#000000", fillcolor="#586070", fontcolor="#000000", fontname=Arial, fontsize=14, label=default, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_default_bus_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_empty_isa { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="empty_isa \n: IsaFake"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \fake_mem=false \pio_addr=9223372036854775808 \pio_latency=100000 \pio_size=65536 \power_model= \power_state=board.pc.empty_isa.power_state \ret_bad_addr=false \ret_data16=0 \ret_data32=0 \ret_data64=0 \ret_data8=0 \system=board \update_data=false \warn_access="; +board_pc_empty_isa_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_empty_isa_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +subgraph cluster_board_pc_bad_addr { +color="#000000"; +fillcolor="#c7a793"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="bad_addr \n: BadAddr"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \fake_mem=false \pio_addr=0 \pio_latency=100000 \pio_size=8 \power_model= \power_state=board.pc.bad_addr.power_state \ret_bad_addr=true \ret_data16=65535 \ret_data32=4294967295 \ret_data64=18446744073709551615 \ret_data8=255 \system=board \update_data=false \warn_access="; +board_pc_bad_addr_pio [color="#000000", fillcolor="#9f8575", fontcolor="#000000", fontname=Arial, fontsize=14, label=pio, shape=box, style="rounded, filled"]; +subgraph cluster_board_pc_bad_addr_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +subgraph cluster_board_workload { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="workload \n: X86FsLinux"; +shape=box; +style="rounded, filled"; +tooltip="acpi_description_table_pointer=board.workload.acpi_description_table_pointer \addr_check=true \command_line=earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=/dev/hda1 \e820_table=board.workload.e820_table \eventq_index=0 \extras= \extras_addrs= \intel_mp_pointer=board.workload.intel_mp_pointer \intel_mp_table=board.workload.intel_mp_table \load_addr_mask=18446744073709551615 \load_addr_offset=0 \object_file=/home/carlos/.cache/gem5/x86-linux-kernel-5.4.49 \remote_gdb_port=#7000 \smbios_table=board.workload.smbios_table \wait_for_remote_gdb=false"; +subgraph cluster_board_workload_e820_table { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="e820_table \n: X86E820Table"; +shape=box; +style="rounded, filled"; +tooltip="entries=board.workload.e820_table.entries0 board.workload.e820_table.entries1 board.workload.e820_table.entries2 board.workload.e820_table.entries3 \eventq_index=0"; +subgraph cluster_board_workload_e820_table_entries0 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="entries0 \n: X86E820Entry"; +shape=box; +style="rounded, filled"; +tooltip="addr=0 \eventq_index=0 \range_type=1 \size=654336"; +} + +subgraph cluster_board_workload_e820_table_entries1 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="entries1 \n: X86E820Entry"; +shape=box; +style="rounded, filled"; +tooltip="addr=654336 \eventq_index=0 \range_type=2 \size=394240"; +} + +subgraph cluster_board_workload_e820_table_entries2 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="entries2 \n: X86E820Entry"; +shape=box; +style="rounded, filled"; +tooltip="addr=1048576 \eventq_index=0 \range_type=1 \size=2146435072"; +} + +subgraph cluster_board_workload_e820_table_entries3 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="entries3 \n: X86E820Entry"; +shape=box; +style="rounded, filled"; +tooltip="addr=4294901760 \eventq_index=0 \range_type=2 \size=65536"; +} + +} + +subgraph cluster_board_workload_smbios_table { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="smbios_table \n: X86SMBiosSMBiosTable"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \major_version=2 \minor_version=5 \structures=board.workload.smbios_table.structures"; +subgraph cluster_board_workload_smbios_table_structures { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="structures \n: X86SMBiosBiosInformation"; +shape=box; +style="rounded, filled"; +tooltip="characteristic_ext_bytes= \characteristics= \emb_cont_firmware_major=0 \emb_cont_firmware_minor=0 \eventq_index=0 \major=0 \minor=0 \release_date=06/08/2008 \rom_size=0 \starting_addr_segment=0 \vendor= \version="; +} + +} + +subgraph cluster_board_workload_intel_mp_pointer { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="intel_mp_pointer \n: X86IntelMPFloatingPointer"; +shape=box; +style="rounded, filled"; +tooltip="default_config=0 \eventq_index=0 \imcr_present=true \spec_rev=4"; +} + +subgraph cluster_board_workload_intel_mp_table { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="intel_mp_table \n: X86IntelMPConfigTable"; +shape=box; +style="rounded, filled"; +tooltip="base_entries=board.workload.intel_mp_table.base_entries00 board.workload.intel_mp_table.base_entries01 board.workload.intel_mp_table.base_entries02 board.workload.intel_mp_table.base_entries03 board.workload.intel_mp_table.base_entries04 board.workload.intel_mp_table.base_entries05 board.workload.intel_mp_table.base_entries06 board.workload.intel_mp_table.base_entries07 board.workload.intel_mp_table.base_entries08 board.workload.intel_mp_table.base_entries09 board.workload.intel_mp_table.base_entries10 board.workload.intel_mp_table.base_entries11 board.workload.intel_mp_table.base_entries12 board.workload.intel_mp_table.base_entries13 board.workload.intel_mp_table.base_entries14 board.workload.intel_mp_table.base_entries15 board.workload.intel_mp_table.base_entries16 board.workload.intel_mp_table.base_entries17 board.workload.intel_mp_table.base_entries18 board.workload.intel_mp_table.base_entries19 board.workload.intel_mp_table.base_entries20 board.workload.intel_mp_table.base_entries21 board.workload.intel_mp_table.base_entries22 board.workload.intel_mp_table.base_entries23 board.workload.intel_mp_table.base_entries24 board.workload.intel_mp_table.base_entries25 board.workload.intel_mp_table.base_entries26 board.workload.intel_mp_table.base_entries27 board.workload.intel_mp_table.base_entries28 board.workload.intel_mp_table.base_entries29 board.workload.intel_mp_table.base_entries30 board.workload.intel_mp_table.base_entries31 board.workload.intel_mp_table.base_entries32 board.workload.intel_mp_table.base_entries33 board.workload.intel_mp_table.base_entries34 board.workload.intel_mp_table.base_entries35 \eventq_index=0 \ext_entries=board.workload.intel_mp_table.ext_entries \local_apic=4276092928 \oem_id= \oem_table_addr=0 \oem_table_size=0 \product_id= \spec_rev=4"; +subgraph cluster_board_workload_intel_mp_table_base_entries00 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries00 \n: X86IntelMPProcessor"; +shape=box; +style="rounded, filled"; +tooltip="bootstrap=true \enable=true \eventq_index=0 \family=0 \feature_flags=0 \local_apic_id=0 \local_apic_version=20 \model=0 \stepping=0"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries01 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries01 \n: X86IntelMPProcessor"; +shape=box; +style="rounded, filled"; +tooltip="bootstrap=false \enable=true \eventq_index=0 \family=0 \feature_flags=0 \local_apic_id=1 \local_apic_version=20 \model=0 \stepping=0"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries02 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries02 \n: X86IntelMPProcessor"; +shape=box; +style="rounded, filled"; +tooltip="bootstrap=false \enable=true \eventq_index=0 \family=0 \feature_flags=0 \local_apic_id=2 \local_apic_version=20 \model=0 \stepping=0"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries03 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries03 \n: X86IntelMPProcessor"; +shape=box; +style="rounded, filled"; +tooltip="bootstrap=false \enable=true \eventq_index=0 \family=0 \feature_flags=0 \local_apic_id=3 \local_apic_version=20 \model=0 \stepping=0"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries04 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries04 \n: X86IntelMPIOAPIC"; +shape=box; +style="rounded, filled"; +tooltip="address=4273995776 \enable=true \eventq_index=0 \id=4 \version=17"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries05 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries05 \n: X86IntelMPBus"; +shape=box; +style="rounded, filled"; +tooltip="bus_id=0 \bus_type=PCI \eventq_index=0"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries06 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries06 \n: X86IntelMPBus"; +shape=box; +style="rounded, filled"; +tooltip="bus_id=1 \bus_type=ISA \eventq_index=0"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries07 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries07 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=16 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=0 \source_bus_irq=16 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries08 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries08 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=0 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries09 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries09 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=2 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=0 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries10 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries10 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=1 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries11 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries11 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=1 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=1 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries12 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries12 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=3 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries13 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries13 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=3 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=3 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries14 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries14 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=4 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries15 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries15 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=4 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=4 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries16 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries16 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=5 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries17 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries17 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=5 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=5 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries18 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries18 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=6 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries19 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries19 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=6 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=6 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries20 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries20 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=7 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries21 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries21 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=7 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=7 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries22 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries22 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=8 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries23 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries23 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=8 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=8 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries24 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries24 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=9 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries25 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries25 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=9 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=9 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries26 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries26 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=10 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries27 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries27 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=10 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=10 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries28 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries28 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=11 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries29 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries29 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=11 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=11 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries30 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries30 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=12 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries31 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries31 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=12 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=12 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries32 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries32 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=13 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries33 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries33 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=13 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=13 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries34 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries34 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=0 \eventq_index=0 \interrupt_type=ExtInt \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=14 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_base_entries35 { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="base_entries35 \n: X86IntelMPIOIntAssignment"; +shape=box; +style="rounded, filled"; +tooltip="dest_io_apic_id=4 \dest_io_apic_intin=14 \eventq_index=0 \interrupt_type=INT \polarity=ConformPolarity \source_bus_id=1 \source_bus_irq=14 \trigger=ConformTrigger"; +} + +subgraph cluster_board_workload_intel_mp_table_ext_entries { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="ext_entries \n: X86IntelMPBusHierarchy"; +shape=box; +style="rounded, filled"; +tooltip="bus_id=1 \eventq_index=0 \parent_bus=0 \subtractive_decode=true"; +} + +} + +subgraph cluster_board_workload_acpi_description_table_pointer { +color="#000000"; +fillcolor="#9f9c95"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="acpi_description_table_pointer \n: X86ACPIRSDP"; +shape=box; +style="rounded, filled"; +tooltip="eventq_index=0 \oem_id= \revision=2 \rsdt=board.workload.acpi_description_table_pointer.rsdt \xsdt=board.workload.acpi_description_table_pointer.xsdt"; +subgraph cluster_board_workload_acpi_description_table_pointer_rsdt { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="rsdt \n: X86ACPIRSDT"; +shape=box; +style="rounded, filled"; +tooltip="creator_id=0 \creator_revision=0 \entries= \eventq_index=0 \oem_id= \oem_revision=0 \oem_table_id="; +} + +subgraph cluster_board_workload_acpi_description_table_pointer_xsdt { +color="#000000"; +fillcolor="#84827c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="xsdt \n: X86ACPIXSDT"; +shape=box; +style="rounded, filled"; +tooltip="creator_id=0 \creator_revision=0 \entries= \eventq_index=0 \oem_id= \oem_revision=0 \oem_table_id="; +} + +} + +} + +subgraph cluster_board_iobus { +color="#000000"; +fillcolor="#6f798c"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="iobus \n: IOXBar"; +shape=box; +style="rounded, filled"; +tooltip="clk_domain=board.clk_domain \eventq_index=0 \forward_latency=1 \frontend_latency=2 \header_latency=1 \power_model= \power_state=board.iobus.power_state \response_latency=2 \use_default_range=false \width=16"; +board_iobus_cpu_side_ports [color="#000000", fillcolor="#586070", fontcolor="#000000", fontname=Arial, fontsize=14, label=cpu_side_ports, shape=box, style="rounded, filled"]; +board_iobus_mem_side_ports [color="#000000", fillcolor="#586070", fontcolor="#000000", fontname=Arial, fontsize=14, label=mem_side_ports, shape=box, style="rounded, filled"]; +board_iobus_default [color="#000000", fillcolor="#586070", fontcolor="#000000", fontname=Arial, fontsize=14, label=default, shape=box, style="rounded, filled"]; +subgraph cluster_board_iobus_power_state { +color="#000000"; +fillcolor="#bab6ae"; +fontcolor="#000000"; +fontname=Arial; +fontsize=14; +label="power_state \n: PowerState"; +shape=box; +style="rounded, filled"; +tooltip="clk_gate_bins=20 \clk_gate_max=1000000000000 \clk_gate_min=1000 \default_state=UNDEFINED \eventq_index=0 \leaders= \possible_states="; +} + +} + +} + +} + +board_system_port -> board_cache_hierarchy_ruby_system_sys_port_proxy_in_ports [dir=forward]; +board_processor_cores0_core_icache_port -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports [dir=forward]; +board_processor_cores0_core_dcache_port -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports [dir=forward]; +board_processor_cores0_core_mmu_itb_walker_port -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports [dir=forward]; +board_processor_cores0_core_mmu_dtb_walker_port -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports [dir=forward]; +board_processor_cores0_core_interrupts_int_requestor -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports [dir=forward]; +board_processor_cores0_core_interrupts_int_responder -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_interrupt_out_port [dir=back]; +board_processor_cores0_core_interrupts_pio -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_interrupt_out_port [dir=back]; +board_processor_cores1_core_icache_port -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports [dir=forward]; +board_processor_cores1_core_dcache_port -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports [dir=forward]; +board_processor_cores1_core_mmu_itb_walker_port -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports [dir=forward]; +board_processor_cores1_core_mmu_dtb_walker_port -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports [dir=forward]; +board_processor_cores1_core_interrupts_int_requestor -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports [dir=forward]; +board_processor_cores1_core_interrupts_int_responder -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_interrupt_out_port [dir=back]; +board_processor_cores1_core_interrupts_pio -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_interrupt_out_port [dir=back]; +board_processor_cores2_core_icache_port -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports [dir=forward]; +board_processor_cores2_core_dcache_port -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports [dir=forward]; +board_processor_cores2_core_mmu_itb_walker_port -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports [dir=forward]; +board_processor_cores2_core_mmu_dtb_walker_port -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports [dir=forward]; +board_processor_cores2_core_interrupts_int_requestor -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports [dir=forward]; +board_processor_cores2_core_interrupts_int_responder -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_interrupt_out_port [dir=back]; +board_processor_cores2_core_interrupts_pio -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_interrupt_out_port [dir=back]; +board_processor_cores3_core_icache_port -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports [dir=forward]; +board_processor_cores3_core_dcache_port -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports [dir=forward]; +board_processor_cores3_core_mmu_itb_walker_port -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports [dir=forward]; +board_processor_cores3_core_mmu_dtb_walker_port -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports [dir=forward]; +board_processor_cores3_core_interrupts_int_requestor -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports [dir=forward]; +board_processor_cores3_core_interrupts_int_responder -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_interrupt_out_port [dir=back]; +board_processor_cores3_core_interrupts_pio -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_interrupt_out_port [dir=back]; +board_memory_mem_ctrl_port -> board_cache_hierarchy_ruby_system_directory_controllers_memory_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers0_requestFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers0_responseFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers0_unblockFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers1_requestFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers1_responseFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers1_unblockFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers2_requestFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers2_responseFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers2_unblockFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers3_requestFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers3_responseFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l1_controllers3_unblockFromL1Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l2_controllers_DirRequestFromL2Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l2_controllers_L1RequestFromL2Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_l2_controllers_responseFromL2Cache_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_directory_controllers_responseFromDir_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_dma_controllers0_requestToDir_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_in_port -> board_cache_hierarchy_ruby_system_dma_controllers1_requestToDir_out_port [dir=back]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l1_controllers0_requestToL1Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l1_controllers0_responseToL1Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l1_controllers1_requestToL1Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l1_controllers1_responseToL1Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l1_controllers2_requestToL1Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l1_controllers2_responseToL1Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l1_controllers3_requestToL1Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l1_controllers3_responseToL1Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l2_controllers_unblockToL2Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l2_controllers_L1RequestToL2Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_l2_controllers_responseToL2Cache_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_directory_controllers_requestToDir_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_directory_controllers_responseToDir_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_dma_controllers0_responseFromDir_in_port [dir=forward]; +board_cache_hierarchy_ruby_system_network_out_port -> board_cache_hierarchy_ruby_system_dma_controllers1_responseFromDir_in_port [dir=forward]; +board_pc_south_bridge_pic1_output -> board_pc_south_bridge_io_apic_inputs [dir=forward]; +board_pc_south_bridge_pic1_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_south_bridge_pic2_output -> board_pc_south_bridge_pic1_inputs [dir=forward]; +board_pc_south_bridge_pic2_inputs -> board_pc_south_bridge_cmos_int_pin [dir=back]; +board_pc_south_bridge_pic2_inputs -> board_pc_south_bridge_ide_int_primary [dir=back]; +board_pc_south_bridge_pic2_inputs -> board_pc_south_bridge_ide_int_secondary [dir=back]; +board_pc_south_bridge_pic2_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_south_bridge_cmos_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_south_bridge_dma1_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_south_bridge_keyboard_mouse_int_pin -> board_pc_south_bridge_io_apic_inputs [dir=forward]; +board_pc_south_bridge_keyboard_keyboard_int_pin -> board_pc_south_bridge_io_apic_inputs [dir=forward]; +board_pc_south_bridge_keyboard_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_south_bridge_pit_int_pin -> board_pc_south_bridge_pic1_inputs [dir=forward]; +board_pc_south_bridge_pit_int_pin -> board_pc_south_bridge_io_apic_inputs [dir=forward]; +board_pc_south_bridge_pit_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_south_bridge_speaker_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_south_bridge_io_apic_int_requestor -> board_iobus_cpu_side_ports [dir=forward]; +board_pc_south_bridge_io_apic_inputs -> board_pc_south_bridge_ide_int_primary [dir=back]; +board_pc_south_bridge_io_apic_inputs -> board_pc_south_bridge_ide_int_secondary [dir=back]; +board_pc_south_bridge_io_apic_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_south_bridge_ide_dma -> board_cache_hierarchy_ruby_system_dma_controllers0_dma_sequencer_in_ports [dir=forward]; +board_pc_south_bridge_ide_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_pci_host_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_com_1_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_fake_com_2_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_fake_com_3_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_fake_com_4_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_fake_floppy_pio -> board_iobus_mem_side_ports [dir=back]; +board_pc_default_bus_cpu_side_ports -> board_iobus_default [dir=back]; +board_pc_default_bus_default -> board_pc_bad_addr_pio [dir=forward]; +board_pc_empty_isa_pio -> board_pc_default_bus_mem_side_ports [dir=back]; +board_iobus_cpu_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_pio_request_port [dir=back]; +board_iobus_cpu_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_mem_request_port [dir=back]; +board_iobus_cpu_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_pio_request_port [dir=back]; +board_iobus_cpu_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_mem_request_port [dir=back]; +board_iobus_cpu_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_pio_request_port [dir=back]; +board_iobus_cpu_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_mem_request_port [dir=back]; +board_iobus_cpu_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_pio_request_port [dir=back]; +board_iobus_cpu_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_mem_request_port [dir=back]; +board_iobus_mem_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_pio_response_port [dir=forward]; +board_iobus_mem_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_pio_response_port [dir=forward]; +board_iobus_mem_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_pio_response_port [dir=forward]; +board_iobus_mem_side_ports -> board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_pio_response_port [dir=forward]; +board_iobus_mem_side_ports -> board_cache_hierarchy_ruby_system_dma_controllers1_dma_sequencer_in_ports [dir=forward]; +} diff --git a/m5out/config.dot.pdf b/m5out/config.dot.pdf new file mode 100644 index 0000000000000000000000000000000000000000..74338c3ee5d71a99a5db38ee6130295c8de5feac GIT binary patch literal 45442 zcmZUaWmFtn(5@i_2p-(s-7N%ncXxNU;1Jy1NwC4)-Q5Z9F2UVp?j+}&@2>COKhwQ> z&D!02*IQ3jb?+iq5D}wiX5fS+Z#b)bfn_6NBCLbLbhI&aF%>a2wl^__<>P~Oc5yN_w1xeab=sjhYtj<`(}S>!gfSiSHOMEO zN0B~SjAD6s&IUJq#DtAySg(*a^VAmb{t&phu0Oysym zBycBRNq_=5y+1j8@j^Sol5x+E-wApwUayS{|VX| ze*CJo&IQ?0nqVf#q<;xl1Q3&;PRboFAvZIPBGT`HUNw$8gHs-5ds23AfJQ}v!emt% zA6+>)l3WmU(|J&)^x+$OI`qq$ABXlKWWYGYVU=$lvM z5o+zsRzw?d3)1GNGtA07R>b$SI80V`cwtkkSSfQeswvvNyjOgJcXR?i z)abEj8#YxOzblLE_!k`nz4Gr9W!2o9aVpyPho&V^4KMGttsSZSZ7c?5QC6(VB zSimfyp7MSvrLgJ-vl@#p0+QGu%yT1CL`lr)-v2Yuo4?L@fs3cd`uMEX4DkI%kctY{ zeYD>%{^M7W5#;2SBeO^{Km~r?4 z3mGjB9HM;}BEL#mUvhR7RxsUUMjU!m?!>uKs;D#JM5P({tUo4>&g%0cf=mVMnZ7m< zmMkO>4OeM<0O7veE}l987i25*Ra3KPifxyh-4|+$_w?IPfIqyvQ64gtf$u=?_Ptjp za01&0QWyJ&y}JpkX5y#T`Ak@NGFv_(>j!u&O$fHuFVNDXIG3Z{nXU*n4^(66mA!=w zDFl@%NlL8A`t+-!HV;If2t+OTxPbswjxtJ8{6{2(aO<73sD~a{}q=ic#VvIky!sV2pMSja!N z8@m}X)WzpoICRl&MHG!Y<4GN*yOGE}DHM)Q_}i3`WpOoZYC?7@xbj765dWENd^h#4 zhq(l@geE~b-kCtAqmUPCWUwzG06q<=EIQ%-ABcLwM;}yk{pvwt1<*$e#I{Hgj>^FCj zurQHxq$AUuJs0zvGQBSp`CiWq@mj zrSOwjKEX-RzVP821{^Q4+KWhqHomhRc{gvgHQRKuNU=KgLF0z zlM0$|A$unn_B2d!^-umw=kx|92-Clh@#v_nyFGYrBP-THHUZH1Fu5&l1t``Xa!iBO zx-rHtoF^;(i>H7}0)}(Wv#TO(6x`06=Wff5>G>~Ikpn6*joG3bm-GTN7#4d|4Gm^r zZiy$>D`)FN7(w2sGG>Fp(?4NNHqos)jMFJLxy>Kkb{kb7i(@)-C&Z|r471%6*X$w2C|E_CtbDXakW`TGP=$5Ml?OxVk?Q z$xSO?M!WH!lP3PiVEPcpH~X_qoL_wlsh0yE-M`a4}LzYi^e zA07MjuDc$)Kl3cAWrxUMq1=!rmF9qT_ppvVDIX^%uW0KzErk1TWA<46KXz$S!paP# zC;(t{{U>cC>A#H6jkw^qjpd*Gd342d(pto7+3#VC(}qoR;v*FWh(cm2b`>jb7%(+WW8Qb3Ml?+ux9~i+N@p9>%0&UWECYD?r-zsTJ%5Ib$2R(y*~v( z_I=H%G1oBR4NUmscK-G2te>oVaJ``X&Y*2xH#YU&?so4Vh1nV3X9H3hgG&5S!xz!k zB}3j7hBPI3eW9Yp?>Jh&P)d*LJR}G3+%l&PfgEL4m5Y_bO?Gtn-WBUV&HTloCExEW z=;2#)kJl&dt4HC9A0Wt0=A0b|7Gzt^It=}^JZmoh}%S9Ubs~^CI zlZj1fMpA;=7M%$}mq^Bt{Z~3_4{X0PahlGQ?B*dtEr-}_yc&y(kouL!_8_yEKb(Wd zDmjtexv|?ZOT0?}2ifNKQ89&e8#)(b&`7s~jNAk}E*SJ!n%f$$(EnLGCso4G_l5vi z+fb+dz8AJ%1`5`E%x;LRIl<%C=G_vq4m0!I8cJ5Zq!2jwk(N)Ca!_Bkp+_j71UbGL z%$>F%u=!g&ktU>cRik}%{4%Tm@(&T0c4JG#nofq1UsUZRy1txsj$^YDH=WQ4j2;QR z>!5>U8cIR2t=7^tCs}~_szh7B!m-MtKtASAC(r^_pZkH>XI3I5Aqki-POoOKX?S- zr0$!~1N`JkW`QHfWmvsJ6qZ>1bp+@HW-@5n%s($^O`Kv2t?&vG z%Va=iwfvV8iYEyH)LzwhP@r6K8@k1Hkb|ON?v%T3B3dm+M9V&h4svRul>;R6puC{h z+eZB2!MC$3JQ8f6Q{4Ak6|Dg5=M1c{oBKrxv7|tW3@+a;p5k!-bIJ_L>YH{v?`toeE=h#c~LtR zOraD|v^*9fk<|s6Bc5j-QvU^fWcck&*Jx^QM}4CZc(gm$DpXPG9i+a$(^#phATkyf z=kt(5@!JUv@fOUIj2q%mWO2YKO0pcwm^psBpCQy=A@!K88Aocs?QWjj(RB-79hu?2 zitp%nms7WSv)O7hr{vdfpk8uy&{ywf3BxBP_r<+uqwS-!npKtGYLUCja z^83obS=IXeW9;K%Qq{1~}`jlDEOg!lrJ0bugntlSD@yzd;3e zhIkCVUfL&oP|)Le1PS%( zvm}J2CLh|`j!pBYwby$$HI3PX9h=PJ!@GEwql@=%pS!PKD1{_3MtI}>JgW$9G4ITz zI5L*A{ZKg!71>8_YtB7*7oZr9F0M-d$%pzL(xcmqD-+(S+bAuKeWjf)%0YVir_=4v z{++N6{|a0&7VAB5B^&7LLuRIuE$okDU_Kop)|ztlzW$If7_@`(|Zo3j@LSsA#1k6|?o3o)W7%tty+w zy_(@++l7R|Z@=IP(i8DW_8rCVI(5N0Xw1=Khfk2^1O{@XWzp1Ua~gdOo2PC*G#(ZO zf^4ohkzf4GTB(QiQ;Hyf$Wl|zC0KHpUz;M9+;r}?g*ogyAf85IFi>*B>Dw7}(%5m# zIT~3>7ysku-c66JPXm5T(MHgy8xpho=%$Wwh5Nk>eec@wg=~#lPUqx<+Cr)#RsJHD zEJ~I}{$%qRjcnM^6zE?eP*Z--08F`&Z`Isw7fMp1R4(ELlPIE9ELjL-tWx@{HyLG1 zy7E)rmw6}%bJuni{ovpdw2n-0P)VS2@&3tctx^cUZj~t{l$|`AFgIWjLumRFIOY z3d6_s%fPIDVL_Ck`3BX)lH+Oun$2EW%iO%6qzcOu9z#RmPJTQM-@gm@GGN|#|K?&9 z2co2TpTue2*cc7f*NMBXt7nH(q_yORW(3m19#wN_6niSBMlERy^1FIEfdt6bdG?Ro zf8{b^P~&Q4lR}6a^Jej@=oA zU()t&B*!nxx4*f%?0bkU#CnQRjx>)!S82-8VG?>fpBS&rSY`OM!r_XDWuSKGB2cC4 z<26>{&H0Ia*-<2Qyr~WU>oW}S80vGe>i@sLSSR`Cn|D?s5dbatzS+)4CrzjxcFWcC zS!9RT%qFo*vIRj)l$F?BAC_rq|It`RkJ0>RwG`Ctq_wzQ$$=E~6Kp9~TfW@b4 z1Eo4Vy%)Q54ZrJsu~B)@V`A|Y5OEuS1E#3u$5OL$$e!Fq&#jpHe{Aa+$?hAR1{pYK z;nUJb$uXxqS}xW`S5z`mWHR&5kdmaTaZ&%e5FCmd@>?0wyH1AKn$<{)QSK{3E={Sr zz>o5z)`AfTvXX@_?xu^9$i)m81@?y246>kA*6mS|CRL!vmV}xll1daSWy40IU?1CV zxJaeIwtiP9e6={3PJMLQ(t2j?Mc^f6a;yFlr4oZhlq>Y(m77LC5%y<51kBPN)vWFc z*#Tk!t@_Q7glsl$AeA^yiId5{*3yr0g418?cti8P)Dm{Sa;&81B~8OvMu?C(8I~9b z1y4w$_Rtm|43LDJ>W<3ZTZm8D7g4X4{$ZnsEUBXOL>5TJhf}g+{NHHarHB--Wk?LW zT+J3CyIhkM%F8w=_QlL@AUTy7_JhHM#3%BH8t%C@n0}^%ARPKtoAoJ0+0l!}eMMs# zA%B7>X4e7`vy1ibOdncpQ1*&W0}q)|eJ&^1i=3pVPnUHymK~_ecQhSPN;~Md2}CjU};B&;ZD^%{Pv{>W?rgJ0*m-F zko0z3NKKtb@I*IVAdv>mlo!Z;eI_8PC~O_ct}?R)&6h|6YJ@E)d0*rN+VOH~hsjj< z4;xKzdPziu-qQgYIHFO$y&AjM_;r#NZl z%8TLxes;pI^3N#Qh&n>vV(JdYHb$;kC3v8bf9CETEDj??7`$^*U-gza`<<`SUSHjv|h1WSPhn5jm`J;Wx+y^RB7bKBHvtLvSS%d`Q3eO|#4yN8$5Kz<$ZeY5f%gX8 zo#V3AwWcX=T!)2BpdPcR61&!&>)hxSN-Uq^t^(x#6L0dZJfTfSTNxyF4@#`!pE!O&8Won zM7V_A-*-@Ix(=HUSdCO80yI_*ZwX>~LZOTjHQJ^L~a%%+iDtXZq@?)!Mp z564i>^f18LDPYH#&ZT_pzA+q@C2lA27o4of3<0&L3(c2gce6ag<5;^;WgV@1JV8H> ztn13Io4yF?H8>+Y<<{W4rFTbb0q_%zKP;+WjdjD-q{(wKodjODc=iXnolUym5 zKfa!3PM82*hp`a7@UUczHVY4R{90R_9fsjp^@&4xc4{5@Cui&JjDP6toT z2aB^DFT9j(RO$3m$=}JkYs#r{>W`59K0e+%P+8Y+fnClsCAbSdfN!nF)U|R=V!~b4 ze<+^%xq9)nOW9Ix=xk#VBKS1lIy2F}e*I4{Gjmpx{30|42Ga`4XocG>{^sf6nATc< z3Wu#5Y01OXxTJUx_3|=iB~*R?V-$e0si=)}YlF4luUwDN?xis*`5RWqa=V`221=*% zWfd-I*S9t22m&I@9|OX&Vhi@wUz*@u@SwbFEMmI)`y^y;bJKnsGhZ=b)nS|Dp&;!t z|AIEjiyiJC3N^W;e25%f*PYAG)yf`&qd=N%VsXkgx|?^-Ow1l`mXyJeOB>FeB4HAv zVS8;p~uu}@HN_1U3Q5Cr7#M71FA|RD#`=uQ?^iwO%{M-jQ;@EO1@ClQsEzQ zkcSU5kwz%xaL#JndulhxHPmbBlBvc@|057skclm<6c_+b&P@O5UPb0JfK*J=}le^ddtM{hej!%r2&*z$9dB`Z7 zTZAYuKMS28M$aXndh@ScJgS2Mgw?sYcF^x(SQt~$E zg}Er?FJblS!|{J3q#KXHNoto-0!bi7RzG@l`bucxFDoo&Mjus;Q>;hTHGdYJ#Ijren%q~2%id{`$E<)LGO#}GIqt9p8(dQCe4CcFvJN!SB! zM1C>P^g0LD*u`XM`Ulpa(!`{sHR$S_e8MORwus`$SL!)GA{IT}^9SE_FH!PEcR5(! z8n2bo;F+75(V%a0bkaIRtw@HyLn04M z^6@bgW*m_ryh?W|e~{8lOrZYp45wMMnKkSQ_?%yBR4h@REE9iRV`ApI0Q0@{AyQo0 z{sR7yAUgH20*5g)(TGEwKg4PF`P7$epM=4VNok-L42Hh_Y#aG+Tv6x%=NQ;I?CbB7 zWd0=|5$>xb^EC^tj{7{(XlEOc_M37*grAy%4|Mr;LoVX!3Wt&Y<%%iO_)ue^kTz{+ z?kGP&#Q~I;L%rPljQq)@K`GZ)+cnVoN~pPcNdI6-^Cod-4f_tN)wuq19u+xiKhHtw z!@Oe9`UXOC+a%}(BF_Eha1fVTAYJbM5g(P~O4v;Lw~$T#SRF3)fUYJNS8$A?mYx*< zcY#5#%+UYSbl%J+&-iJPMf)DJ#}fhbjzTNyw2;DC_U-c*|8+}s2fVm77s_~UTc$DL z^AXxU1`B%9OFrJbJ%&_j?jAb)<)1r^Jb>KAjgkqgV*fRmX9Y&(1UA5)cNg^da)2VR zsZ#liZW_A^iQ6VAjS$+fZ}rPh;6zu4_pbph;Cy+q!?0YX_DW>Udy|P%8cpj-VP|}x zo&?ZxHwz1q=K~bg2fNq#C*!q;vbsU18~b1Tjqp^Wx=sczp1l-B< ztG@ZnC#Y;}f1iIj@9twB@a!txr6c|co_L?Dtuq(dh`z@moTFz(6Ym&sw;k=))-5|9((Wk?wKa{iC?j#0i48a$-h;-5ny4Qo5ah<^7KEY{NX#hYrF_RTXP z$wK4@B-o8Mc4{jAS%_&cb)*V;uU~8**>v;#_vEHSG3hC1;u3D&2#PyH__&h2${63K z=Q$0BEKi)XJT|(~x!5a%Xq0R}tN5td`k;hkY=dS(FFqrno#4{o!!30_^PE-rd%Ts` zR&n<8v`hGh1kh_YtCPgPs(NV~nwRgGeFiMN9v|PV?{8D1)4}<@EF8}g@@sjRYOOkF zSuU_{kyf3{?pzv4m~C z5<)toJ2u~vQ>{FU&emH+LJgZ9DwZ=BQU%`>_qm-7H^p`Aai)l}6Ij~Eb&{>X-?Z4Z zPlN%Dp90Hr>$7?rRq~n`g-3K>_)t6t`!`s~Px!$Xif~{prmS<2DlUX^R;*WFc&mAf z@7=XFH(O7r^rD*4XAUMUEGlnsM@Yi4iOfB^I^t6`dB}<4gu)?sGH*sC`Py0du|!3Ibln5Iz=f zxmYsPXAfT8Nfo;r@0Z#2TII~0b%7TJmDOKMWu1@b3PsL-#u(`4_Dc?7;2OFID>;WH zWsqv97q7U0zM{BP9E2sbSt+CZq?qmEW{LiNgaWCOD$b}BGha_VGu>44;FUugRNSFx z@3p1128&Jbx~e`Hn*tqfD}2!$cVa*A^caZ5!Y6&pT5pSAX&b=W=oWIce^t?3=B{l6Ff7@vpVJEJT839f7o0=72zcAq#jXI(AuL`SPZameH){!VCA6^8s$Gj0(y2uuiOg5l73j_v{d=soF>7WU5jWpOm`(h>4Uq zugQLBue1r}H@h{U-(3?eGu=700R-L6e^I^n|2ep*94G%ps9sA9;7!y!|CxQRB;w^V z9y)KYvO%VI*1{>kQB#(58rlgh4itf=tu)2Llvgg?{phPMfV>M%@4NHYO#641yLdKD zA64erko~bq_2mVNhJ;D%j$J~W0a$Lpen=EI~yUU-=hcu18Qcm{Q+S+?6Br}P(9*5kdtYPw?({B&DLd=u}C zUT7Zkh=>IqZ!#HeWuR>+YHCWiwOPrkt4b%Fi3fqZ@%_J)xFFgSOjxy=`(y{7&|D74 zC^I940a3^(l_6NtA~-CqVJ^1)@l-7*-^h+4Br;2+u~LNoFXC`x$Fnr|Ue+%}!zJGb zE%xqx+=9ovPu=k*pOYDV9}hD}zR%-~p&`yN!jk&d=0%i`gZ$>$f05sP*SnE zrmFe0j^=klI4mHZ^5AR-5#yhIpm6I*#4zJSqBu!(aRbSu&c6sr_Ri)^c$(DhqWujE zKiBC#u6#26<$Qks!mBVc1MJcp=~~6OBV4Q6ue8E%S&RO)Xf(;D=bqiEAKdZL%PA?6 zYuZZAe`?;Q{8NRPSS;GDw$Z)vU^*GfF49MzQc@KOVNB_Uen&cx#qxE?Ec-OG3zyju z{0pR2ej5hz)hjXpa><)OKIG~A%`57Jlh5mN^+saRp7*@k<@(MPwd-+MvS9N$ZGkyl zy#D$aC$Y-eIfgj(o3Q%!BxZ{+RZGyID{N0M;1AK1!yy^wFPg$akE&5EEFxeuZy=n}6+!~tXQFhDZ7)cPG`r=DKhp9;y!p}#OK`h{{S z+J^dmhg%R@2Z@+*3ELD&;r@{?orHPhODjIffdQ46;p@@Jg` zvA}-xF|X$Skfzu&R6?Cm9U4ArhTcaPcsj|^DaB5ghsVzWOAK_)E0T-*rS}G0qam0> zZ>Y;xB-C=t*CgB%25qfaMm=^4ZXuAdi-ly=ILDd*9+A`Cutj_c8O6=1uEDottq=Xi zQSVj-d4j+nwCA&0YA2-+IFY*2X|zYQxMfA?Hj=HM5N?^XDJFG94d$McQWc%wE)U!0 zhUx)Oi?I$uKMOcApt^*a@P7I|Y*#T(z3*XS>XU}6Cf3mltET+ktzEjgK2*Xj7~?j> z%X6hzt`2u5X2;N_EbWtcfrOG^#T(9^GLsC~kbt6~*Oa@T`SU%zwxFJTa8&F20ov(P zwGF0jIUP#Lcato-fA*q*UNe%dx(EF}KERS!s^uPbzZFUW3gQFi<9GFSyL@Y>Q+~$T z;;R;xA?6~RdxWRnp^7T5CI%$aj};8ISrb9I#v>A&bBRLpy;^;g*5IJ1|4~%w#T(R~ z#0lS4-v4HzIhmnR?SJU;i93?9>FKg;g>E~t<7S(7-TrI6PTB$C6*V81O?g=BHBj%>f zQZX{=@!i#A-vZvWjk>j85xFD3FL^)C+sLGOO56b6mx)uZQ$(ZZJF~Y)b&Kz``1V?a zCrf#LAayC3Y8Tk1A>LQr`tL}Qw$B3J7T6c0L+AN6w~&!qt<^0uoWl*#js_i-v*|7Z zNJUayV(Ii-q2g~ebIt%EN;xh?%W62X8TL41JLnU<*)E}%&ooYYHN!vfvYKszI7YQ+ zDndi@3ZjILDtq1=8P5!7Dn?A7(%~K^2!T7kaEN0i7TxiwuH5#LGS?$|mO|K46||a| z*5C=BkVgJkz65@fTZg0QG#Voi9<+A>%eRF|O>K{zk`*4b*R`I+bo+UUUm>3rQ!CH% zt4(q6V_{Y&V-Rh4@`gpJQD(E~$=etzV(W?!m%4MdYOn&oI)0_0c!WIn=n+ayY5$$+ zq3C=#S3P&S&4?j*T+eNWX;D{V83U0Rbu0X+newnfR8kL3XobKhW!_KQPgNI~y#2g z^*Uz5h};9otJOauF%30c9TW(i@3YhU@beIn`@wOiuWE0C%+T%Tg_f77$#&0cU1yS} zzfUl;>Kp?2=3#KGP{+)VpbPQ4w2|?S_Q6qTv_WN;`WPy%z>>#kZy51ry_crKV#PGF zAjGbc!)oO{=%T&f{wpN*DXO5X{pdG#V-@IH(f<7uC+5J8I(5sCc=j2=L3zJd|F9+{ zB$7^H_v`2D==r zd<|D&;U^QL!jmhXK?b;YXe)+Lh;;51 zW%n8Px#SxOVs*=IPrIS3ITDBg-TyEk?VRgIMf~OSwbBMt*8P`zRCHqJTWxMc@YA?D zcpMwPS1Bl*ZFw0~I-S`zZXuvJi)^p$I|#3*HwNah?^6GSHh#37Y!Y-x4mj zzvRC37LDu5OfSzLYMQBe&E!+eC^azItMT@Xc5~|K!ya_g=0}wQoJ+Kq-h}boso(JO zI&udLmAxq)?_g#tSSjds=D>$A-=D$pHJgO@+HZmFTzNzWM-o`rfz`r6aFZK~-#V}M9~dQ1j`ix6vZN6MeO^_k zuu?+m5#twXt#Ex90je=FTAPe#44zLXW0v3RN6W*ctQYWUJYR^`)HZo%r2@^1B;E$4cK36=@vz6;ck#dAUwSr~QubUm9+vj#dsMx6 z85!Q7v^F>dVN+>zB2<4Q^X}Z|`igd4cm8C3MID<&e)?O!n(d}!Yw<_O?3%Tw5$4BkkfD!S!(!6-bUm0P9bW=}_C$hGq#~jyCyx^|f-ESqvt*`{7%Mjc zl585MG{Qm(MKW?r{)_7&g}T5;^1z>lV(D{e6S}TkRPe6;BFr_Uhm5!UhgL_q8zfC zx8)g`?Nl2HGI5a3lnFLZXa$8PgN2Y1dAO4AIxZ!4#EiE%PfET1+006l{IYiZb_lWM1oi8{)en#rQNrFp!rKHX1I4nt$QjpP|!A;vMbXk4hc3`G6)~k1BA? zSbQf8%awmZxloyhl7@R&LAz;5AMakvHzW@$1I{13dy)$wZg|(X3P!zboP*}@9u%3R zk3C{{v!BK`33XS4=IyhueGJ?_(yQoxFG0u~7Oxt>7156_wQ?5lPJTMU6rH}&&=tDCo)mcts$`mdOm8=y0`w%^Wx*HP) z3n3I{Eu4Z#+}8Q7AQs|!60~ujR^19XTiiubv~(_F`!C$@w8|GL^eG&{d5cnAQ0{E5 zS_q$oLfQ_+vA(`Q5c;xzCm;U>bx^YVDKswiI%KhGMXzzu^Hb=rkk2vs2%x*?BV;0V z^=3-;;@NU}7rcn$9v5$p!V6gWY)pdDv2)K0ZNYaZ%sTx9m!RiVkH>PJ`T_xl3Z8Oe z)s@yY^chm+_}RZ*vbG_{Rh|RT>S9uM!~|#s)NOZPw3&ga9jy}drQVUz+WD+!V*8_~ z{+t49zg$H6J=}=TdU!`YNIwF7%m*tuG(KFuCN(4@ImFRqY_>*6jf=Y;gT2H~hR;g* zE6HVCDc{)41U5BB)9O6UlI)HHpH*^n?zJyw872AQ8Q5e7wve5=itVprYuGvkMmBD6 zhV37d#?e%N@IAmE?mlNMp&jZ6;uyvZEVTzig%{Ko=+hfj)kUOr@R83?a1F;dCI}`G z9pol+u)^?@8xR)-=o?Sv(w&3&-9g1n|B@A|nix$b=vxP;+`Bi2wA7v)3zOx?%w{Q2 z2NSwo6#YRGwk4DaF{*mBiX*#R%HRHqfR{#x{b539sGNgo_iS(Y`MDM8D4sp-C3%y; z@cR*rYQ8fpr}O>(Q2l5F813v+4=H;ucn@m(#|Yeu8();7hY_61ub@bobln}QKW_&5 zi}$OPyZW7Hz^$qo7zrC_B~2{-rsZ3Pc)>q2_no7H&Dcf6dJRU9-!UIkDfN}uVC&+s zJv)t{HU=E@N`GG{`dy?5xZ~c5Mp8-@c8Eo)^j|xOn%A9XV7#LOBdCwn*{RFK3{R= zb$<>J$p5%@O+oSlU0Ghtr0eMT$UP=ouWVuvetMm24+zc}kdS@YfDp6jJcS=sV!_4hrXT!xNOIg>Zt>G$%Tk z*_G+9)Z;w;N*lFm+l`V3hW*MAZTqLl^0ke1yJ1D3z*E@3%x~P!y5iD{!~y;}etzPk z0AB6I3?5km5iv0S?PqyZ$9dgSUY+(qNfT` z93OrA9+iBmX2V$sCNT^HcPSJ>{9yT)UfLpzq0}{h=~dBZn~ubq-cYgs%_f+@X~FHp z`!TukPQ^WPN&hGSpMsWv=`}Ikj>?c0~h=Y;ke zDcemf(4QUorzY?O`UeYmp^4~SE#qhLx}6}s{q+0Q>i3(Ml~TV~al+p7jS)fK8YBcW z=aDL>4N?0?%wozJm(o(KaYFiQlh_x58C_V)gUb|4yxJK-E~@GcxNB<#kq_}jgQ;9j3>D`IP;hdP9)U!{5neu&=s6vc197E9HMjkVkTB-f0P!$ zRk#A88z|<^UL*0CmE~M$g4xT0hvlrxfQ!iNWfg*v6jmGTI71ONt~8b#9qXkui!AqP zp>jM9Pw_NL`LS!-GPO_b0#AHK&mOz_d2xY$+f^5Ya@wAQx-5qU%T^t^v}utCn9DB7 z@%TT@z)^w*|CV{-(~?jW5eA8>pdHeefp$Cyo6?bWLPBAWpj#Au{yjb)4g<%__oWXD*&w?#Kc0bz^aomgAZW?|g%(y9 zjWfR@rMR-1dV~jo&?MD<08&@!1WMD_bOrQ(x>G8R z1%{^h%(1dr1O)6tWl&`xd4zn&2EXDbu@l3>Qb+d*CjB7yKIF9Y5)CBAecp5*Ueqtt zhW;=Fv(`$8@-Y7P?Wl@yTK$`)J3nHsYK52UM!;3BT2p8C-syQLlny7TgeXn`$zx(L zsHEoDv0|P09}iiQpK%*zuf8h`%~BmJ3=}@k?GIv{Texxz_3jXOB@O`!>pF$!uLJPW zDi%yhM*&~HUIoEf3io(smAfSEs2&<6-#d5oG{N_ow+Nw;z&<*>OH1VcuW|HdPc&Bb+Tj_1`cC9)PfWHc{yQ z$)=lWE4rKE=2*-iwZ@V4nQ-){5dyW5d@`&}ZvU~t;WMVX1h6J5dMa*-2mi?d=VUGS zPIT;BKo!ag#mKlZy;s)3U4Rfv-*N|DzA<8wR z4|ItB=K#7mg>?eYk$M>z{T{kJcJ|vZtyW$|99W>0;_yQZ2*L0fFadsbv5xZ*V^tzB zjy#}D(7<84Xp!iH8-neLS7^$Y5m3S&isKb7hvg_A3WDIv0C@YY)9W zpq$H&zO!F?OS|GFy!nA+X?oPKW`lVT-s=G59flG)Pmcnt9>+|*#CrwphEY1F)zmST+2!$tE$ZDT1X|csDZIL+eI%nPj5nAo{GqGNgrZqSNf#9T6MLj_OiUrW` zyik+=f~ar)WE=@HHq!SRup#&buX8Ri5mzz}Xgo0$R>Typ=wh?emR4&K*JQr0M^w$R z?^VqnJkMP_D>uJ@f6LP4CjEo<;*A9Foa4Z_+p#Dck%n1D<(b@xvs7$O>Cq6eCVi-T zWYuR=xoe1LQ^RRSR+eDtE;{&!F}4KHOy6`eQ^uQWeT>`wo+*1m4jLm9TYsSS3WC-E zX=a@2HVKhL1YK&Y?rZG}-hR@6MdG9zt6WQS0WBAE zBj;IYRK}XgHu%i(B*)VYavGW)*gQO-39Zw@#q755E|5-)&Pe)G%AdX`_*M-~HlF$_-m$&62zRwH8VirM!?{dp#MHD?njHjH4$_=HG?E=V_XPlZz-qBN&Rn)xAbwc7!{h!@e+A zvweO|B^QwuU{mOQD?f=f=XitYxXO6fJd;c8eIu5X=DYi(q?xduS)Bc~>~uTu*|M*G zs;;ZUi;HT4K=y&FQm!R?8+NY`aL^Fo9TL1U&F;kR8%kSai8GCtP+5v9K7#My*gHE} zM5>KL>eU(oo6r`(*RH|MvspMaWP*Jg|gg;m-}zF{mRf_hyN@zyp_GYQij97k<1mL993{uWerA zRr#7XEqa&bSj-c$vJI^Gqyu49tFgzCY+2i^GookXQ$D(rkg?zSu}xpVJlNG2>15%msK&Yb_)D;>?6@^pMTdac%667POc_PZvo4rFri)}tp z1xwZKGo&-DmJXD9=o!>S?Xq?-a^z3ka!BOCl*KkkszJd44P@5X-p59xel@fI!`C}N zM;0}0qmzl9iET}6PHfw@ZQHhOYhv5x#J26+o_XKz$GUgjtX|#c^f{fgS-YxsJx`4! zCJHedFq%=(MAd^r&#lbyF=v0?Yui zD5*Z(uR0gBg6&^eny-)_YQ_XL-QSiYjYcgSHwS=zrJ(-OHhj6S7PE4A!rBd7f1umG z3t=1i@f0aEHVHT+W7Q4?i@0AzA9G1hJ_Hl1E$F`~vJ}P%P z%RYuGHph-Dmm4jN141mE9nFd9Da4OT_Y)^tQ7iz&%RTdzm}3V3t~1~VlwvZ=D;3lu zcPKEw0{S_M$cuTAT*M1r3+*u@&N!`jSyXfv= zJbzo!SqNf@*a2aMEK!mme5`FvO9Bs`pBQyqJ&fQ?AT6raSO``hyt%GrqaH8OWDka6 zylEU^*ia+=PdA~i$Bp=waGtJoZDioO&^e8GbO1R*iF1@KuXs<1dAZ?V!xOh0?9bfV<-D;oFXt;qF^X_J3gSl$u@O(H)OZh~M4IjwU?rjkbYTU1D zYqiQrGAq`U^jqpGm8v>M7IhU9!+OA6;RnnW5nXu%ib-A}Sj+lSK=_;Y43WWsIgMEP zQx*`0pxT0Hl916)*BH;V$7AesiqCiR`cRw`i6>oiyHWkVawQm8nktB|BINbm)uNcG z3J)4|WIDM@vuciNitto-YE_TS%7|=WP@Q!7YL`I#U{()PDmuYx_pBs#+SB7b(jTi4 zE9Knr5bw^~(txg}O0Ip#cNnGKm~&s&EJJfB(pF?p14x}bfYc$P`w5X`oSP5EqPFlC zo{%eeI*3??mIQznBN)jMDWN7=7|6Q<;I(f?^vg9RXd$n29E~{&lJ>h$@IW+YFAC%C zAkc8~KLG{Qo2XBk?np7hNLdfT_AfW5Cjz@eiZZ{ksv@^uK#s}kTX70Kp&KCIlNGC+ zt3s9WajT)KRz@d}$e7QyX+42Dd{@uO)H%DO>mK?BiKO+PnH^SN_hG1)p@VfE#kvEI zyu+jz2n>LQg4uaX5jlBFwX%?s)Ql{5`H1TWx*RTZE1()hSBws%!7>=gu%c!cQm_UV zw>s*~6@8_`_S-G7m?azcAU9L>W~6dR2wZ-T#b^jq!$KcnF(P%|lP?u8Ii4Gty9%Gs zXVZ#q84{WyY>;@Qtr5Sd*FG4?M;F8c$k`AyqdsoKA8YzppDOeI@J0G>=Q39)YuEyX zE7saxeI0=1oUuu@#htj^i|x*+FIiJI)X+IQvRgvFSBVVO>7&X=;ktpcwalvHGQTt(FFZOBNW*Pp++hfP-Z)cQx_`y@koRz zUFv;s0u2}rh>dxfxqmRmI}Tt+e_5JXGVINbB$5LYn=<|rPnb~{Fd0O}c4kKGagt-g zL(x-(!dn=ze2V#)W#S7%4VVe>DJLWP0{ z6eHUy=NHd<^{vU}6~W$K>mQsKw|;zFcK0hfJ;IY@Ee1Bov6VoYw8l-99S>iA4YzS2%tglYoZcCy6oy4KIsKu6}iEqc!BfHq{L@

  • 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 + + + + + +G + + +cluster_root + + +root +: Root + + + + +cluster_board + + +board +: X86DemoBoard + + + + +cluster_board_processor + + +processor +: SimpleProcessor + + + + +cluster_board_processor_cores0 + + +cores0 +: SimpleCore + + + + +cluster_board_processor_cores0_core + + +core +: X86TimingSimpleCPU + + + + +cluster_board_processor_cores0_core_mmu + + +mmu +: X86MMU + + + + +cluster_board_processor_cores0_core_mmu_itb + + +itb +: X86TLB + + + + +cluster_board_processor_cores0_core_mmu_itb_walker + + +walker +: X86PagetableWalker + + + + +cluster_board_processor_cores0_core_mmu_dtb + + +dtb +: X86TLB + + + + +cluster_board_processor_cores0_core_mmu_dtb_walker + + +walker +: X86PagetableWalker + + + + +cluster_board_processor_cores0_core_interrupts + + +interrupts +: X86LocalApic + + + + +cluster_board_processor_cores1 + + +cores1 +: SimpleCore + + + + +cluster_board_processor_cores1_core + + +core +: X86TimingSimpleCPU + + + + +cluster_board_processor_cores1_core_mmu + + +mmu +: X86MMU + + + + +cluster_board_processor_cores1_core_mmu_itb + + +itb +: X86TLB + + + + +cluster_board_processor_cores1_core_mmu_itb_walker + + +walker +: X86PagetableWalker + + + + +cluster_board_processor_cores1_core_mmu_dtb + + +dtb +: X86TLB + + + + +cluster_board_processor_cores1_core_mmu_dtb_walker + + +walker +: X86PagetableWalker + + + + +cluster_board_processor_cores1_core_interrupts + + +interrupts +: X86LocalApic + + + + +cluster_board_processor_cores2 + + +cores2 +: SimpleCore + + + + +cluster_board_processor_cores2_core + + +core +: X86TimingSimpleCPU + + + + +cluster_board_processor_cores2_core_mmu + + +mmu +: X86MMU + + + + +cluster_board_processor_cores2_core_mmu_itb + + +itb +: X86TLB + + + + +cluster_board_processor_cores2_core_mmu_itb_walker + + +walker +: X86PagetableWalker + + + + +cluster_board_processor_cores2_core_mmu_dtb + + +dtb +: X86TLB + + + + +cluster_board_processor_cores2_core_mmu_dtb_walker + + +walker +: X86PagetableWalker + + + + +cluster_board_processor_cores2_core_interrupts + + +interrupts +: X86LocalApic + + + + +cluster_board_processor_cores3 + + +cores3 +: SimpleCore + + + + +cluster_board_processor_cores3_core + + +core +: X86TimingSimpleCPU + + + + +cluster_board_processor_cores3_core_mmu + + +mmu +: X86MMU + + + + +cluster_board_processor_cores3_core_mmu_itb + + +itb +: X86TLB + + + + +cluster_board_processor_cores3_core_mmu_itb_walker + + +walker +: X86PagetableWalker + + + + +cluster_board_processor_cores3_core_mmu_dtb + + +dtb +: X86TLB + + + + +cluster_board_processor_cores3_core_mmu_dtb_walker + + +walker +: X86PagetableWalker + + + + +cluster_board_processor_cores3_core_interrupts + + +interrupts +: X86LocalApic + + + + +cluster_board_memory + + +memory +: ChanneledMemory + + + + +cluster_board_memory_mem_ctrl + + +mem_ctrl +: MemCtrl + + + + +cluster_board_cache_hierarchy + + +cache_hierarchy +: MESITwoLevelCacheHierarchy + + + + +cluster_board_cache_hierarchy_ruby_system + + +ruby_system +: RubySystem + + + + +cluster_board_cache_hierarchy_ruby_system_network + + +network +: SimplePt2Pt + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers0 + + +l1_controllers0 +: L1Cache + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers0_requestFromL1Cache + + +requestFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers0_responseFromL1Cache + + +responseFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers0_unblockFromL1Cache + + +unblockFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers0_requestToL1Cache + + +requestToL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers0_responseToL1Cache + + +responseToL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers0_sequencer + + +sequencer +: RubySequencer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers1 + + +l1_controllers1 +: L1Cache + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers1_requestFromL1Cache + + +requestFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers1_responseFromL1Cache + + +responseFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers1_unblockFromL1Cache + + +unblockFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers1_requestToL1Cache + + +requestToL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers1_responseToL1Cache + + +responseToL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers1_sequencer + + +sequencer +: RubySequencer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers2 + + +l1_controllers2 +: L1Cache + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers2_requestFromL1Cache + + +requestFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers2_responseFromL1Cache + + +responseFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers2_unblockFromL1Cache + + +unblockFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers2_requestToL1Cache + + +requestToL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers2_responseToL1Cache + + +responseToL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers2_sequencer + + +sequencer +: RubySequencer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers3 + + +l1_controllers3 +: L1Cache + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers3_requestFromL1Cache + + +requestFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers3_responseFromL1Cache + + +responseFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers3_unblockFromL1Cache + + +unblockFromL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers3_requestToL1Cache + + +requestToL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers3_responseToL1Cache + + +responseToL1Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l1_controllers3_sequencer + + +sequencer +: RubySequencer + + + + +cluster_board_cache_hierarchy_ruby_system_l2_controllers + + +l2_controllers +: L2Cache + + + + +cluster_board_cache_hierarchy_ruby_system_l2_controllers_DirRequestFromL2Cache + + +DirRequestFromL2Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l2_controllers_L1RequestFromL2Cache + + +L1RequestFromL2Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l2_controllers_responseFromL2Cache + + +responseFromL2Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l2_controllers_unblockToL2Cache + + +unblockToL2Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l2_controllers_L1RequestToL2Cache + + +L1RequestToL2Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_l2_controllers_responseToL2Cache + + +responseToL2Cache +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_directory_controllers + + +directory_controllers +: Directory + + + + +cluster_board_cache_hierarchy_ruby_system_directory_controllers_requestToDir + + +requestToDir +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_directory_controllers_responseToDir + + +responseToDir +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_directory_controllers_responseFromDir + + +responseFromDir +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_dma_controllers0 + + +dma_controllers0 +: DMAController + + + + +cluster_board_cache_hierarchy_ruby_system_dma_controllers0_responseFromDir + + +responseFromDir +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_dma_controllers0_requestToDir + + +requestToDir +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_dma_controllers0_dma_sequencer + + +dma_sequencer +: DMASequencer + + + + +cluster_board_cache_hierarchy_ruby_system_dma_controllers1 + + +dma_controllers1 +: DMAController + + + + +cluster_board_cache_hierarchy_ruby_system_dma_controllers1_responseFromDir + + +responseFromDir +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_dma_controllers1_requestToDir + + +requestToDir +: MessageBuffer + + + + +cluster_board_cache_hierarchy_ruby_system_dma_controllers1_dma_sequencer + + +dma_sequencer +: DMASequencer + + + + +cluster_board_cache_hierarchy_ruby_system_sys_port_proxy + + +sys_port_proxy +: RubyPortProxy + + + + +cluster_board_pc + + +pc +: Pc + + + + +cluster_board_pc_south_bridge + + +south_bridge +: SouthBridge + + + + +cluster_board_pc_south_bridge_pic1 + + +pic1 +: I8259 + + + + +cluster_board_pc_south_bridge_pic2 + + +pic2 +: I8259 + + + + +cluster_board_pc_south_bridge_cmos + + +cmos +: Cmos + + + + +cluster_board_pc_south_bridge_dma1 + + +dma1 +: I8237 + + + + +cluster_board_pc_south_bridge_keyboard + + +keyboard +: I8042 + + + + +cluster_board_pc_south_bridge_pit + + +pit +: I8254 + + + + +cluster_board_pc_south_bridge_speaker + + +speaker +: PcSpeaker + + + + +cluster_board_pc_south_bridge_io_apic + + +io_apic +: I82094AA + + + + +cluster_board_pc_south_bridge_ide + + +ide +: X86IdeController + + + + +cluster_board_pc_pci_host + + +pci_host +: PcPciHost + + + + +cluster_board_pc_com_1 + + +com_1 +: Uart8250 + + + + +cluster_board_pc_fake_com_2 + + +fake_com_2 +: IsaFake + + + + +cluster_board_pc_fake_com_3 + + +fake_com_3 +: IsaFake + + + + +cluster_board_pc_fake_com_4 + + +fake_com_4 +: IsaFake + + + + +cluster_board_pc_fake_floppy + + +fake_floppy +: IsaFake + + + + +cluster_board_pc_default_bus + + +default_bus +: IOXBar + + + + +cluster_board_pc_empty_isa + + +empty_isa +: IsaFake + + + + +cluster_board_pc_bad_addr + + +bad_addr +: BadAddr + + + + +cluster_board_iobus + + +iobus +: IOXBar + + + + + +board_system_port + +system_port + + + +board_cache_hierarchy_ruby_system_sys_port_proxy_in_ports + +in_ports + + + +board_system_port->board_cache_hierarchy_ruby_system_sys_port_proxy_in_ports + + + + + +board_processor_cores0_core_icache_port + +icache_port + + + +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports + +in_ports + + + +board_processor_cores0_core_icache_port->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports + + + + + +board_processor_cores0_core_dcache_port + +dcache_port + + + +board_processor_cores0_core_dcache_port->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports + + + + + +board_processor_cores0_core_mmu_itb_walker_port + +port + + + +board_processor_cores0_core_mmu_itb_walker_port->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports + + + + + +board_processor_cores0_core_mmu_dtb_walker_port + +port + + + +board_processor_cores0_core_mmu_dtb_walker_port->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports + + + + + +board_processor_cores0_core_interrupts_int_requestor + +int_requestor + + + +board_processor_cores0_core_interrupts_int_requestor->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_in_ports + + + + + +board_processor_cores0_core_interrupts_int_responder + +int_responder + + + +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_interrupt_out_port + +interrupt_out_port + + + +board_processor_cores0_core_interrupts_int_responder->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_interrupt_out_port + + + + + +board_processor_cores0_core_interrupts_pio + +pio + + + +board_processor_cores0_core_interrupts_pio->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_interrupt_out_port + + + + + +board_processor_cores1_core_icache_port + +icache_port + + + +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports + +in_ports + + + +board_processor_cores1_core_icache_port->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports + + + + + +board_processor_cores1_core_dcache_port + +dcache_port + + + +board_processor_cores1_core_dcache_port->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports + + + + + +board_processor_cores1_core_mmu_itb_walker_port + +port + + + +board_processor_cores1_core_mmu_itb_walker_port->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports + + + + + +board_processor_cores1_core_mmu_dtb_walker_port + +port + + + +board_processor_cores1_core_mmu_dtb_walker_port->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports + + + + + +board_processor_cores1_core_interrupts_int_requestor + +int_requestor + + + +board_processor_cores1_core_interrupts_int_requestor->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_in_ports + + + + + +board_processor_cores1_core_interrupts_int_responder + +int_responder + + + +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_interrupt_out_port + +interrupt_out_port + + + +board_processor_cores1_core_interrupts_int_responder->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_interrupt_out_port + + + + + +board_processor_cores1_core_interrupts_pio + +pio + + + +board_processor_cores1_core_interrupts_pio->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_interrupt_out_port + + + + + +board_processor_cores2_core_icache_port + +icache_port + + + +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports + +in_ports + + + +board_processor_cores2_core_icache_port->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports + + + + + +board_processor_cores2_core_dcache_port + +dcache_port + + + +board_processor_cores2_core_dcache_port->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports + + + + + +board_processor_cores2_core_mmu_itb_walker_port + +port + + + +board_processor_cores2_core_mmu_itb_walker_port->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports + + + + + +board_processor_cores2_core_mmu_dtb_walker_port + +port + + + +board_processor_cores2_core_mmu_dtb_walker_port->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports + + + + + +board_processor_cores2_core_interrupts_int_requestor + +int_requestor + + + +board_processor_cores2_core_interrupts_int_requestor->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_in_ports + + + + + +board_processor_cores2_core_interrupts_int_responder + +int_responder + + + +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_interrupt_out_port + +interrupt_out_port + + + +board_processor_cores2_core_interrupts_int_responder->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_interrupt_out_port + + + + + +board_processor_cores2_core_interrupts_pio + +pio + + + +board_processor_cores2_core_interrupts_pio->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_interrupt_out_port + + + + + +board_processor_cores3_core_icache_port + +icache_port + + + +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports + +in_ports + + + +board_processor_cores3_core_icache_port->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports + + + + + +board_processor_cores3_core_dcache_port + +dcache_port + + + +board_processor_cores3_core_dcache_port->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports + + + + + +board_processor_cores3_core_mmu_itb_walker_port + +port + + + +board_processor_cores3_core_mmu_itb_walker_port->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports + + + + + +board_processor_cores3_core_mmu_dtb_walker_port + +port + + + +board_processor_cores3_core_mmu_dtb_walker_port->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports + + + + + +board_processor_cores3_core_interrupts_int_requestor + +int_requestor + + + +board_processor_cores3_core_interrupts_int_requestor->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_in_ports + + + + + +board_processor_cores3_core_interrupts_int_responder + +int_responder + + + +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_interrupt_out_port + +interrupt_out_port + + + +board_processor_cores3_core_interrupts_int_responder->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_interrupt_out_port + + + + + +board_processor_cores3_core_interrupts_pio + +pio + + + +board_processor_cores3_core_interrupts_pio->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_interrupt_out_port + + + + + +board_memory_mem_ctrl_port + +port + + + +board_cache_hierarchy_ruby_system_directory_controllers_memory_out_port + +memory_out_port + + + +board_memory_mem_ctrl_port->board_cache_hierarchy_ruby_system_directory_controllers_memory_out_port + + + + + +board_cache_hierarchy_ruby_system_network_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_l1_controllers0_requestFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers0_requestFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers0_responseFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers0_responseFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers0_unblockFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers0_unblockFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers1_requestFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers1_requestFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers1_responseFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers1_responseFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers1_unblockFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers1_unblockFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers2_requestFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers2_requestFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers2_responseFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers2_responseFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers2_unblockFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers2_unblockFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers3_requestFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers3_requestFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers3_responseFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers3_responseFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers3_unblockFromL1Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l1_controllers3_unblockFromL1Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l2_controllers_DirRequestFromL2Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l2_controllers_DirRequestFromL2Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l2_controllers_L1RequestFromL2Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l2_controllers_L1RequestFromL2Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_l2_controllers_responseFromL2Cache_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_l2_controllers_responseFromL2Cache_out_port + + + + + +board_cache_hierarchy_ruby_system_directory_controllers_responseFromDir_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_directory_controllers_responseFromDir_out_port + + + + + +board_cache_hierarchy_ruby_system_dma_controllers0_requestToDir_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_dma_controllers0_requestToDir_out_port + + + + + +board_cache_hierarchy_ruby_system_dma_controllers1_requestToDir_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_network_in_port->board_cache_hierarchy_ruby_system_dma_controllers1_requestToDir_out_port + + + + + +board_cache_hierarchy_ruby_system_network_out_port + +out_port + + + +board_cache_hierarchy_ruby_system_l1_controllers0_requestToL1Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l1_controllers0_requestToL1Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers0_responseToL1Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l1_controllers0_responseToL1Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers1_requestToL1Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l1_controllers1_requestToL1Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers1_responseToL1Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l1_controllers1_responseToL1Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers2_requestToL1Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l1_controllers2_requestToL1Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers2_responseToL1Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l1_controllers2_responseToL1Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers3_requestToL1Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l1_controllers3_requestToL1Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers3_responseToL1Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l1_controllers3_responseToL1Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l2_controllers_unblockToL2Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l2_controllers_unblockToL2Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l2_controllers_L1RequestToL2Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l2_controllers_L1RequestToL2Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_l2_controllers_responseToL2Cache_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_l2_controllers_responseToL2Cache_in_port + + + + + +board_cache_hierarchy_ruby_system_directory_controllers_requestToDir_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_directory_controllers_requestToDir_in_port + + + + + +board_cache_hierarchy_ruby_system_directory_controllers_responseToDir_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_directory_controllers_responseToDir_in_port + + + + + +board_cache_hierarchy_ruby_system_dma_controllers0_responseFromDir_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_dma_controllers0_responseFromDir_in_port + + + + + +board_cache_hierarchy_ruby_system_dma_controllers1_responseFromDir_in_port + +in_port + + + +board_cache_hierarchy_ruby_system_network_out_port->board_cache_hierarchy_ruby_system_dma_controllers1_responseFromDir_in_port + + + + + +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_pio_request_port + +pio_request_port + + + +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_mem_request_port + +mem_request_port + + + +board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_pio_response_port + +pio_response_port + + + +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_pio_request_port + +pio_request_port + + + +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_mem_request_port + +mem_request_port + + + +board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_pio_response_port + +pio_response_port + + + +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_pio_request_port + +pio_request_port + + + +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_mem_request_port + +mem_request_port + + + +board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_pio_response_port + +pio_response_port + + + +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_pio_request_port + +pio_request_port + + + +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_mem_request_port + +mem_request_port + + + +board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_pio_response_port + +pio_response_port + + + +board_cache_hierarchy_ruby_system_dma_controllers0_dma_sequencer_in_ports + +in_ports + + + +board_cache_hierarchy_ruby_system_dma_controllers1_dma_sequencer_in_ports + +in_ports + + + +board_pc_south_bridge_pic1_output + +output + + + +board_pc_south_bridge_io_apic_inputs + +inputs + + + +board_pc_south_bridge_pic1_output->board_pc_south_bridge_io_apic_inputs + + + + + +board_pc_south_bridge_pic1_inputs + +inputs + + + +board_pc_south_bridge_pic1_pio + +pio + + + +board_iobus_mem_side_ports + +mem_side_ports + + + +board_pc_south_bridge_pic1_pio->board_iobus_mem_side_ports + + + + + +board_pc_south_bridge_pic2_output + +output + + + +board_pc_south_bridge_pic2_output->board_pc_south_bridge_pic1_inputs + + + + + +board_pc_south_bridge_pic2_inputs + +inputs + + + +board_pc_south_bridge_cmos_int_pin + +int_pin + + + +board_pc_south_bridge_pic2_inputs->board_pc_south_bridge_cmos_int_pin + + + + + +board_pc_south_bridge_ide_int_primary + +int_primary + + + +board_pc_south_bridge_pic2_inputs->board_pc_south_bridge_ide_int_primary + + + + + +board_pc_south_bridge_ide_int_secondary + +int_secondary + + + +board_pc_south_bridge_pic2_inputs->board_pc_south_bridge_ide_int_secondary + + + + + +board_pc_south_bridge_pic2_pio + +pio + + + +board_pc_south_bridge_pic2_pio->board_iobus_mem_side_ports + + + + + +board_pc_south_bridge_cmos_pio + +pio + + + +board_pc_south_bridge_cmos_pio->board_iobus_mem_side_ports + + + + + +board_pc_south_bridge_dma1_pio + +pio + + + +board_pc_south_bridge_dma1_pio->board_iobus_mem_side_ports + + + + + +board_pc_south_bridge_keyboard_mouse_int_pin + +mouse_int_pin + + + +board_pc_south_bridge_keyboard_mouse_int_pin->board_pc_south_bridge_io_apic_inputs + + + + + +board_pc_south_bridge_keyboard_keyboard_int_pin + +keyboard_int_pin + + + +board_pc_south_bridge_keyboard_keyboard_int_pin->board_pc_south_bridge_io_apic_inputs + + + + + +board_pc_south_bridge_keyboard_pio + +pio + + + +board_pc_south_bridge_keyboard_pio->board_iobus_mem_side_ports + + + + + +board_pc_south_bridge_pit_int_pin + +int_pin + + + +board_pc_south_bridge_pit_int_pin->board_pc_south_bridge_pic1_inputs + + + + + +board_pc_south_bridge_pit_int_pin->board_pc_south_bridge_io_apic_inputs + + + + + +board_pc_south_bridge_pit_pio + +pio + + + +board_pc_south_bridge_pit_pio->board_iobus_mem_side_ports + + + + + +board_pc_south_bridge_speaker_pio + +pio + + + +board_pc_south_bridge_speaker_pio->board_iobus_mem_side_ports + + + + + +board_pc_south_bridge_io_apic_int_requestor + +int_requestor + + + +board_iobus_cpu_side_ports + +cpu_side_ports + + + +board_pc_south_bridge_io_apic_int_requestor->board_iobus_cpu_side_ports + + + + + +board_pc_south_bridge_io_apic_inputs->board_pc_south_bridge_ide_int_primary + + + + + +board_pc_south_bridge_io_apic_inputs->board_pc_south_bridge_ide_int_secondary + + + + + +board_pc_south_bridge_io_apic_pio + +pio + + + +board_pc_south_bridge_io_apic_pio->board_iobus_mem_side_ports + + + + + +board_pc_south_bridge_ide_dma + +dma + + + +board_pc_south_bridge_ide_dma->board_cache_hierarchy_ruby_system_dma_controllers0_dma_sequencer_in_ports + + + + + +board_pc_south_bridge_ide_pio + +pio + + + +board_pc_south_bridge_ide_pio->board_iobus_mem_side_ports + + + + + +board_pc_pci_host_pio + +pio + + + +board_pc_pci_host_pio->board_iobus_mem_side_ports + + + + + +board_pc_com_1_pio + +pio + + + +board_pc_com_1_pio->board_iobus_mem_side_ports + + + + + +board_pc_fake_com_2_pio + +pio + + + +board_pc_fake_com_2_pio->board_iobus_mem_side_ports + + + + + +board_pc_fake_com_3_pio + +pio + + + +board_pc_fake_com_3_pio->board_iobus_mem_side_ports + + + + + +board_pc_fake_com_4_pio + +pio + + + +board_pc_fake_com_4_pio->board_iobus_mem_side_ports + + + + + +board_pc_fake_floppy_pio + +pio + + + +board_pc_fake_floppy_pio->board_iobus_mem_side_ports + + + + + +board_pc_default_bus_cpu_side_ports + +cpu_side_ports + + + +board_iobus_default + +default + + + +board_pc_default_bus_cpu_side_ports->board_iobus_default + + + + + +board_pc_default_bus_mem_side_ports + +mem_side_ports + + + +board_pc_default_bus_default + +default + + + +board_pc_bad_addr_pio + +pio + + + +board_pc_default_bus_default->board_pc_bad_addr_pio + + + + + +board_pc_empty_isa_pio + +pio + + + +board_pc_empty_isa_pio->board_pc_default_bus_mem_side_ports + + + + + +board_iobus_cpu_side_ports->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_pio_request_port + + + + + +board_iobus_cpu_side_ports->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_mem_request_port + + + + + +board_iobus_cpu_side_ports->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_pio_request_port + + + + + +board_iobus_cpu_side_ports->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_mem_request_port + + + + + +board_iobus_cpu_side_ports->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_pio_request_port + + + + + +board_iobus_cpu_side_ports->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_mem_request_port + + + + + +board_iobus_cpu_side_ports->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_pio_request_port + + + + + +board_iobus_cpu_side_ports->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_mem_request_port + + + + + +board_iobus_mem_side_ports->board_cache_hierarchy_ruby_system_l1_controllers0_sequencer_pio_response_port + + + + + +board_iobus_mem_side_ports->board_cache_hierarchy_ruby_system_l1_controllers1_sequencer_pio_response_port + + + + + +board_iobus_mem_side_ports->board_cache_hierarchy_ruby_system_l1_controllers2_sequencer_pio_response_port + + + + + +board_iobus_mem_side_ports->board_cache_hierarchy_ruby_system_l1_controllers3_sequencer_pio_response_port + + + + + +board_iobus_mem_side_ports->board_cache_hierarchy_ruby_system_dma_controllers1_dma_sequencer_in_ports + + + + + diff --git a/m5out/config.ini b/m5out/config.ini new file mode 100644 index 0000000..f035a9f --- /dev/null +++ b/m5out/config.ini @@ -0,0 +1,8136 @@ +[board] +type=System +children=cache_hierarchy clk_domain dvfs_handler iobus memory pc processor workload +auto_unlink_shared_backstore=false +cache_line_size=64 +eventq_index=0 +exit_on_work_items=true +init_param=0 +m5ops_base=4294901760 +mem_mode=timing +mem_ranges=0:2147483648 3221225472:3222274048 +memories=board.memory.mem_ctrl.dram +mmap_using_noreserve=false +multi_thread=false +num_work_ids=16 +readfile= +redirect_paths= +shadow_rom_ranges= +shared_backstore= +symbolfile= +thermal_components= +thermal_model=Null +work_begin_ckpt_count=0 +work_begin_cpu_id_exit=-1 +work_begin_exit_count=0 +work_cpus_ckpt_count=0 +work_end_ckpt_count=0 +work_end_exit_count=0 +work_item_id=-1 +workload=board.workload +system_port=board.cache_hierarchy.ruby_system.sys_port_proxy.in_ports[0] + +[board.cache_hierarchy] +type=SubSystem +children=ruby_system +eventq_index=0 +thermal_domain=Null + +[board.cache_hierarchy.ruby_system] +type=RubySystem +children=directory_controllers dma_controllers0 dma_controllers1 l1_controllers0 l1_controllers1 l1_controllers2 l1_controllers3 l2_controllers network power_state sys_port_proxy +access_backing_store=false +all_instructions=false +block_size_bytes=64 +clk_domain=board.clk_domain +eventq_index=0 +hot_lines=false +memory_size_bits=64 +num_of_sequencers=6 +number_of_virtual_networks=3 +phys_mem=Null +power_model= +power_state=board.cache_hierarchy.ruby_system.power_state +randomization=false +system=board + +[board.cache_hierarchy.ruby_system.directory_controllers] +type=Directory_Controller +children=directory power_state requestToDir requestToMemory responseFromDir responseFromMemory responseToDir +addr_ranges=0:2147483648 +buffer_size=0 +clk_domain=board.clk_domain +cluster_id=0 +directory=board.cache_hierarchy.ruby_system.directory_controllers.directory +directory_latency=6 +downstream_destinations= +eventq_index=0 +mandatory_queue_latency=1 +number_of_TBEs=256 +power_model= +power_state=board.cache_hierarchy.ruby_system.directory_controllers.power_state +recycle_latency=10 +requestToDir=board.cache_hierarchy.ruby_system.directory_controllers.requestToDir +requestToMemory=board.cache_hierarchy.ruby_system.directory_controllers.requestToMemory +responseFromDir=board.cache_hierarchy.ruby_system.directory_controllers.responseFromDir +responseFromMemory=board.cache_hierarchy.ruby_system.directory_controllers.responseFromMemory +responseToDir=board.cache_hierarchy.ruby_system.directory_controllers.responseToDir +ruby_system=board.cache_hierarchy.ruby_system +system=board +to_mem_ctrl_latency=1 +transitions_per_cycle=32 +upstream_destinations= +version=0 +memory_out_port=board.memory.mem_ctrl.port + +[board.cache_hierarchy.ruby_system.directory_controllers.directory] +type=RubyDirectoryMemory +addr_ranges=0:2147483648 +eventq_index=0 + +[board.cache_hierarchy.ruby_system.directory_controllers.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.directory_controllers.requestToDir] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[11] + +[board.cache_hierarchy.ruby_system.directory_controllers.requestToMemory] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.directory_controllers.responseFromDir] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[15] + +[board.cache_hierarchy.ruby_system.directory_controllers.responseFromMemory] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.directory_controllers.responseToDir] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[12] + +[board.cache_hierarchy.ruby_system.dma_controllers0] +type=DMA_Controller +children=dma_sequencer mandatoryQueue power_state requestToDir responseFromDir +addr_ranges=0:18446744073709551615 +buffer_size=0 +clk_domain=board.clk_domain +cluster_id=0 +dma_sequencer=board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer +downstream_destinations= +eventq_index=0 +mandatoryQueue=board.cache_hierarchy.ruby_system.dma_controllers0.mandatoryQueue +mandatory_queue_latency=1 +number_of_TBEs=256 +power_model= +power_state=board.cache_hierarchy.ruby_system.dma_controllers0.power_state +recycle_latency=10 +requestToDir=board.cache_hierarchy.ruby_system.dma_controllers0.requestToDir +request_latency=6 +responseFromDir=board.cache_hierarchy.ruby_system.dma_controllers0.responseFromDir +ruby_system=board.cache_hierarchy.ruby_system +system=board +transitions_per_cycle=32 +upstream_destinations= +version=0 + +[board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer] +type=DMASequencer +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +is_cpu_sequencer=true +max_outstanding_requests=64 +no_retry_on_stall=false +power_model= +power_state=board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer.power_state +ruby_system=board.cache_hierarchy.ruby_system +support_data_reqs=true +support_inst_reqs=true +system=board +using_ruby_tester=false +version=0 +in_ports=board.pc.south_bridge.ide.dma + +[board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.dma_controllers0.mandatoryQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.dma_controllers0.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.dma_controllers0.requestToDir] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[16] + +[board.cache_hierarchy.ruby_system.dma_controllers0.responseFromDir] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[13] + +[board.cache_hierarchy.ruby_system.dma_controllers1] +type=DMA_Controller +children=dma_sequencer mandatoryQueue power_state requestToDir responseFromDir +addr_ranges=0:18446744073709551615 +buffer_size=0 +clk_domain=board.clk_domain +cluster_id=0 +dma_sequencer=board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer +downstream_destinations= +eventq_index=0 +mandatoryQueue=board.cache_hierarchy.ruby_system.dma_controllers1.mandatoryQueue +mandatory_queue_latency=1 +number_of_TBEs=256 +power_model= +power_state=board.cache_hierarchy.ruby_system.dma_controllers1.power_state +recycle_latency=10 +requestToDir=board.cache_hierarchy.ruby_system.dma_controllers1.requestToDir +request_latency=6 +responseFromDir=board.cache_hierarchy.ruby_system.dma_controllers1.responseFromDir +ruby_system=board.cache_hierarchy.ruby_system +system=board +transitions_per_cycle=32 +upstream_destinations= +version=1 + +[board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer] +type=DMASequencer +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +is_cpu_sequencer=true +max_outstanding_requests=64 +no_retry_on_stall=false +power_model= +power_state=board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer.power_state +ruby_system=board.cache_hierarchy.ruby_system +support_data_reqs=true +support_inst_reqs=true +system=board +using_ruby_tester=false +version=1 +in_ports=board.iobus.mem_side_ports[19] + +[board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.dma_controllers1.mandatoryQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.dma_controllers1.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.dma_controllers1.requestToDir] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[17] + +[board.cache_hierarchy.ruby_system.dma_controllers1.responseFromDir] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[14] + +[board.cache_hierarchy.ruby_system.l1_controllers0] +type=L1Cache_Controller +children=L1Dcache L1Icache mandatoryQueue optionalQueue power_state prefetcher requestFromL1Cache requestToL1Cache responseFromL1Cache responseToL1Cache sequencer unblockFromL1Cache +L1Dcache=board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache +L1Icache=board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache +addr_ranges=0:18446744073709551615 +buffer_size=0 +clk_domain=board.clk_domain +cluster_id=0 +downstream_destinations= +enable_prefetch=false +eventq_index=0 +l1_request_latency=2 +l1_response_latency=2 +l2_select_num_bits=0 +mandatoryQueue=board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue +mandatory_queue_latency=1 +number_of_TBEs=256 +optionalQueue=board.cache_hierarchy.ruby_system.l1_controllers0.optionalQueue +power_model= +power_state=board.cache_hierarchy.ruby_system.l1_controllers0.power_state +prefetcher=board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher +recycle_latency=10 +requestFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.requestFromL1Cache +requestToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.requestToL1Cache +responseFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.responseFromL1Cache +responseToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.responseToL1Cache +ruby_system=board.cache_hierarchy.ruby_system +send_evictions=true +sequencer=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer +system=board +to_l2_latency=1 +transitions_per_cycle=4 +unblockFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers0.unblockFromL1Cache +upstream_destinations= +version=0 + +[board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache] +type=RubyCache +children=replacement_policy +assoc=8 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=false +replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=32768 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=8 + +[board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache] +type=RubyCache +children=replacement_policy +assoc=8 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=true +replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=32768 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=8 + +[board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.l1_controllers0.optionalQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.l1_controllers0.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher] +type=RubyPrefetcher +cross_page=false +eventq_index=0 +nonunit_filter=8 +num_startup_pfs=1 +num_streams=4 +page_shift=12 +train_misses=4 +unit_filter=8 + +[board.cache_hierarchy.ruby_system.l1_controllers0.requestFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[0] + +[board.cache_hierarchy.ruby_system.l1_controllers0.requestToL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[0] + +[board.cache_hierarchy.ruby_system.l1_controllers0.responseFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[1] + +[board.cache_hierarchy.ruby_system.l1_controllers0.responseToL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[1] + +[board.cache_hierarchy.ruby_system.l1_controllers0.sequencer] +type=RubySequencer +children=power_state +clk_domain=board.clk_domain +coreid=99 +dcache=board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache +deadlock_threshold=500000 +eventq_index=0 +garnet_standalone=false +is_cpu_sequencer=true +max_outstanding_requests=16 +no_retry_on_stall=false +power_model= +power_state=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.power_state +ruby_system=board.cache_hierarchy.ruby_system +support_data_reqs=true +support_inst_reqs=true +system=board +using_ruby_tester=false +version=0 +in_ports=board.processor.cores0.core.icache_port board.processor.cores0.core.dcache_port board.processor.cores0.core.mmu.itb.walker.port board.processor.cores0.core.mmu.dtb.walker.port board.processor.cores0.core.interrupts.int_requestor +interrupt_out_port=board.processor.cores0.core.interrupts.pio board.processor.cores0.core.interrupts.int_responder +mem_request_port=board.iobus.cpu_side_ports[2] +pio_request_port=board.iobus.cpu_side_ports[1] +pio_response_port=board.iobus.mem_side_ports[15] + +[board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l1_controllers0.unblockFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[2] + +[board.cache_hierarchy.ruby_system.l1_controllers1] +type=L1Cache_Controller +children=L1Dcache L1Icache mandatoryQueue optionalQueue power_state prefetcher requestFromL1Cache requestToL1Cache responseFromL1Cache responseToL1Cache sequencer unblockFromL1Cache +L1Dcache=board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache +L1Icache=board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache +addr_ranges=0:18446744073709551615 +buffer_size=0 +clk_domain=board.clk_domain +cluster_id=0 +downstream_destinations= +enable_prefetch=false +eventq_index=0 +l1_request_latency=2 +l1_response_latency=2 +l2_select_num_bits=0 +mandatoryQueue=board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue +mandatory_queue_latency=1 +number_of_TBEs=256 +optionalQueue=board.cache_hierarchy.ruby_system.l1_controllers1.optionalQueue +power_model= +power_state=board.cache_hierarchy.ruby_system.l1_controllers1.power_state +prefetcher=board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher +recycle_latency=10 +requestFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.requestFromL1Cache +requestToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.requestToL1Cache +responseFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.responseFromL1Cache +responseToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.responseToL1Cache +ruby_system=board.cache_hierarchy.ruby_system +send_evictions=true +sequencer=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer +system=board +to_l2_latency=1 +transitions_per_cycle=4 +unblockFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers1.unblockFromL1Cache +upstream_destinations= +version=1 + +[board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache] +type=RubyCache +children=replacement_policy +assoc=8 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=false +replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=32768 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=8 + +[board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache] +type=RubyCache +children=replacement_policy +assoc=8 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=true +replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=32768 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=8 + +[board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.l1_controllers1.optionalQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.l1_controllers1.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher] +type=RubyPrefetcher +cross_page=false +eventq_index=0 +nonunit_filter=8 +num_startup_pfs=1 +num_streams=4 +page_shift=12 +train_misses=4 +unit_filter=8 + +[board.cache_hierarchy.ruby_system.l1_controllers1.requestFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[3] + +[board.cache_hierarchy.ruby_system.l1_controllers1.requestToL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[2] + +[board.cache_hierarchy.ruby_system.l1_controllers1.responseFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[4] + +[board.cache_hierarchy.ruby_system.l1_controllers1.responseToL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[3] + +[board.cache_hierarchy.ruby_system.l1_controllers1.sequencer] +type=RubySequencer +children=power_state +clk_domain=board.clk_domain +coreid=99 +dcache=board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache +deadlock_threshold=500000 +eventq_index=0 +garnet_standalone=false +is_cpu_sequencer=true +max_outstanding_requests=16 +no_retry_on_stall=false +power_model= +power_state=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.power_state +ruby_system=board.cache_hierarchy.ruby_system +support_data_reqs=true +support_inst_reqs=true +system=board +using_ruby_tester=false +version=1 +in_ports=board.processor.cores1.core.icache_port board.processor.cores1.core.dcache_port board.processor.cores1.core.mmu.itb.walker.port board.processor.cores1.core.mmu.dtb.walker.port board.processor.cores1.core.interrupts.int_requestor +interrupt_out_port=board.processor.cores1.core.interrupts.pio board.processor.cores1.core.interrupts.int_responder +mem_request_port=board.iobus.cpu_side_ports[4] +pio_request_port=board.iobus.cpu_side_ports[3] +pio_response_port=board.iobus.mem_side_ports[16] + +[board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l1_controllers1.unblockFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[5] + +[board.cache_hierarchy.ruby_system.l1_controllers2] +type=L1Cache_Controller +children=L1Dcache L1Icache mandatoryQueue optionalQueue power_state prefetcher requestFromL1Cache requestToL1Cache responseFromL1Cache responseToL1Cache sequencer unblockFromL1Cache +L1Dcache=board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache +L1Icache=board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache +addr_ranges=0:18446744073709551615 +buffer_size=0 +clk_domain=board.clk_domain +cluster_id=0 +downstream_destinations= +enable_prefetch=false +eventq_index=0 +l1_request_latency=2 +l1_response_latency=2 +l2_select_num_bits=0 +mandatoryQueue=board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue +mandatory_queue_latency=1 +number_of_TBEs=256 +optionalQueue=board.cache_hierarchy.ruby_system.l1_controllers2.optionalQueue +power_model= +power_state=board.cache_hierarchy.ruby_system.l1_controllers2.power_state +prefetcher=board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher +recycle_latency=10 +requestFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.requestFromL1Cache +requestToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.requestToL1Cache +responseFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.responseFromL1Cache +responseToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.responseToL1Cache +ruby_system=board.cache_hierarchy.ruby_system +send_evictions=true +sequencer=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer +system=board +to_l2_latency=1 +transitions_per_cycle=4 +unblockFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers2.unblockFromL1Cache +upstream_destinations= +version=2 + +[board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache] +type=RubyCache +children=replacement_policy +assoc=8 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=false +replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=32768 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=8 + +[board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache] +type=RubyCache +children=replacement_policy +assoc=8 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=true +replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=32768 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=8 + +[board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.l1_controllers2.optionalQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.l1_controllers2.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher] +type=RubyPrefetcher +cross_page=false +eventq_index=0 +nonunit_filter=8 +num_startup_pfs=1 +num_streams=4 +page_shift=12 +train_misses=4 +unit_filter=8 + +[board.cache_hierarchy.ruby_system.l1_controllers2.requestFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[6] + +[board.cache_hierarchy.ruby_system.l1_controllers2.requestToL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[4] + +[board.cache_hierarchy.ruby_system.l1_controllers2.responseFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[7] + +[board.cache_hierarchy.ruby_system.l1_controllers2.responseToL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[5] + +[board.cache_hierarchy.ruby_system.l1_controllers2.sequencer] +type=RubySequencer +children=power_state +clk_domain=board.clk_domain +coreid=99 +dcache=board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache +deadlock_threshold=500000 +eventq_index=0 +garnet_standalone=false +is_cpu_sequencer=true +max_outstanding_requests=16 +no_retry_on_stall=false +power_model= +power_state=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.power_state +ruby_system=board.cache_hierarchy.ruby_system +support_data_reqs=true +support_inst_reqs=true +system=board +using_ruby_tester=false +version=2 +in_ports=board.processor.cores2.core.icache_port board.processor.cores2.core.dcache_port board.processor.cores2.core.mmu.itb.walker.port board.processor.cores2.core.mmu.dtb.walker.port board.processor.cores2.core.interrupts.int_requestor +interrupt_out_port=board.processor.cores2.core.interrupts.pio board.processor.cores2.core.interrupts.int_responder +mem_request_port=board.iobus.cpu_side_ports[6] +pio_request_port=board.iobus.cpu_side_ports[5] +pio_response_port=board.iobus.mem_side_ports[17] + +[board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l1_controllers2.unblockFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[8] + +[board.cache_hierarchy.ruby_system.l1_controllers3] +type=L1Cache_Controller +children=L1Dcache L1Icache mandatoryQueue optionalQueue power_state prefetcher requestFromL1Cache requestToL1Cache responseFromL1Cache responseToL1Cache sequencer unblockFromL1Cache +L1Dcache=board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache +L1Icache=board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache +addr_ranges=0:18446744073709551615 +buffer_size=0 +clk_domain=board.clk_domain +cluster_id=0 +downstream_destinations= +enable_prefetch=false +eventq_index=0 +l1_request_latency=2 +l1_response_latency=2 +l2_select_num_bits=0 +mandatoryQueue=board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue +mandatory_queue_latency=1 +number_of_TBEs=256 +optionalQueue=board.cache_hierarchy.ruby_system.l1_controllers3.optionalQueue +power_model= +power_state=board.cache_hierarchy.ruby_system.l1_controllers3.power_state +prefetcher=board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher +recycle_latency=10 +requestFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.requestFromL1Cache +requestToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.requestToL1Cache +responseFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.responseFromL1Cache +responseToL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.responseToL1Cache +ruby_system=board.cache_hierarchy.ruby_system +send_evictions=true +sequencer=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer +system=board +to_l2_latency=1 +transitions_per_cycle=4 +unblockFromL1Cache=board.cache_hierarchy.ruby_system.l1_controllers3.unblockFromL1Cache +upstream_destinations= +version=3 + +[board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache] +type=RubyCache +children=replacement_policy +assoc=8 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=false +replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=32768 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=8 + +[board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache] +type=RubyCache +children=replacement_policy +assoc=8 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=true +replacement_policy=board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=32768 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=8 + +[board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.l1_controllers3.optionalQueue] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.l1_controllers3.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher] +type=RubyPrefetcher +cross_page=false +eventq_index=0 +nonunit_filter=8 +num_startup_pfs=1 +num_streams=4 +page_shift=12 +train_misses=4 +unit_filter=8 + +[board.cache_hierarchy.ruby_system.l1_controllers3.requestFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[9] + +[board.cache_hierarchy.ruby_system.l1_controllers3.requestToL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[6] + +[board.cache_hierarchy.ruby_system.l1_controllers3.responseFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[10] + +[board.cache_hierarchy.ruby_system.l1_controllers3.responseToL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[7] + +[board.cache_hierarchy.ruby_system.l1_controllers3.sequencer] +type=RubySequencer +children=power_state +clk_domain=board.clk_domain +coreid=99 +dcache=board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache +deadlock_threshold=500000 +eventq_index=0 +garnet_standalone=false +is_cpu_sequencer=true +max_outstanding_requests=16 +no_retry_on_stall=false +power_model= +power_state=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.power_state +ruby_system=board.cache_hierarchy.ruby_system +support_data_reqs=true +support_inst_reqs=true +system=board +using_ruby_tester=false +version=3 +in_ports=board.processor.cores3.core.icache_port board.processor.cores3.core.dcache_port board.processor.cores3.core.mmu.itb.walker.port board.processor.cores3.core.mmu.dtb.walker.port board.processor.cores3.core.interrupts.int_requestor +interrupt_out_port=board.processor.cores3.core.interrupts.pio board.processor.cores3.core.interrupts.int_responder +mem_request_port=board.iobus.cpu_side_ports[8] +pio_request_port=board.iobus.cpu_side_ports[7] +pio_response_port=board.iobus.mem_side_ports[18] + +[board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l1_controllers3.unblockFromL1Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[11] + +[board.cache_hierarchy.ruby_system.l2_controllers] +type=L2Cache_Controller +children=DirRequestFromL2Cache L1RequestFromL2Cache L1RequestToL2Cache L2cache power_state responseFromL2Cache responseToL2Cache unblockToL2Cache +DirRequestFromL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.DirRequestFromL2Cache +L1RequestFromL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.L1RequestFromL2Cache +L1RequestToL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache +L2cache=board.cache_hierarchy.ruby_system.l2_controllers.L2cache +addr_ranges=0:18446744073709551615 +buffer_size=0 +clk_domain=board.clk_domain +cluster_id=0 +downstream_destinations= +eventq_index=0 +l2_request_latency=2 +l2_response_latency=2 +mandatory_queue_latency=1 +number_of_TBEs=256 +power_model= +power_state=board.cache_hierarchy.ruby_system.l2_controllers.power_state +recycle_latency=10 +responseFromL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.responseFromL2Cache +responseToL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.responseToL2Cache +ruby_system=board.cache_hierarchy.ruby_system +system=board +to_l1_latency=1 +transitions_per_cycle=4 +unblockToL2Cache=board.cache_hierarchy.ruby_system.l2_controllers.unblockToL2Cache +upstream_destinations= +version=0 + +[board.cache_hierarchy.ruby_system.l2_controllers.DirRequestFromL2Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[12] + +[board.cache_hierarchy.ruby_system.l2_controllers.L1RequestFromL2Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[13] + +[board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[9] + +[board.cache_hierarchy.ruby_system.l2_controllers.L2cache] +type=RubyCache +children=replacement_policy +assoc=16 +block_size=0 +dataAccessLatency=1 +dataArrayBanks=1 +eventq_index=0 +is_icache=false +replacement_policy=board.cache_hierarchy.ruby_system.l2_controllers.L2cache.replacement_policy +resourceStalls=false +ruby_system=board.cache_hierarchy.ruby_system +size=1048576 +start_index_bit=6 +tagAccessLatency=1 +tagArrayBanks=1 + +[board.cache_hierarchy.ruby_system.l2_controllers.L2cache.replacement_policy] +type=TreePLRURP +eventq_index=0 +num_leaves=16 + +[board.cache_hierarchy.ruby_system.l2_controllers.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.l2_controllers.responseFromL2Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +out_port=board.cache_hierarchy.ruby_system.network.in_port[14] + +[board.cache_hierarchy.ruby_system.l2_controllers.responseToL2Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[10] + +[board.cache_hierarchy.ruby_system.l2_controllers.unblockToL2Cache] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=false +randomization=ruby_system +routing_priority=0 +in_port=board.cache_hierarchy.ruby_system.network.out_port[8] + +[board.cache_hierarchy.ruby_system.network] +type=SimpleNetwork +children=ext_links0 ext_links1 ext_links2 ext_links3 ext_links4 ext_links5 ext_links6 ext_links7 int_links00 int_links01 int_links02 int_links03 int_links04 int_links05 int_links06 int_links07 int_links08 int_links09 int_links10 int_links11 int_links12 int_links13 int_links14 int_links15 int_links16 int_links17 int_links18 int_links19 int_links20 int_links21 int_links22 int_links23 int_links24 int_links25 int_links26 int_links27 int_links28 int_links29 int_links30 int_links31 int_links32 int_links33 int_links34 int_links35 int_links36 int_links37 int_links38 int_links39 int_links40 int_links41 int_links42 int_links43 int_links44 int_links45 int_links46 int_links47 int_links48 int_links49 int_links50 int_links51 int_links52 int_links53 int_links54 int_links55 power_state routers0 routers1 routers2 routers3 routers4 routers5 routers6 routers7 +buffer_size=0 +clk_domain=board.clk_domain +control_msg_size=8 +data_msg_size=64 +endpoint_bandwidth=1000 +eventq_index=0 +ext_links=board.cache_hierarchy.ruby_system.network.ext_links0 board.cache_hierarchy.ruby_system.network.ext_links1 board.cache_hierarchy.ruby_system.network.ext_links2 board.cache_hierarchy.ruby_system.network.ext_links3 board.cache_hierarchy.ruby_system.network.ext_links4 board.cache_hierarchy.ruby_system.network.ext_links5 board.cache_hierarchy.ruby_system.network.ext_links6 board.cache_hierarchy.ruby_system.network.ext_links7 +int_links=board.cache_hierarchy.ruby_system.network.int_links00 board.cache_hierarchy.ruby_system.network.int_links01 board.cache_hierarchy.ruby_system.network.int_links02 board.cache_hierarchy.ruby_system.network.int_links03 board.cache_hierarchy.ruby_system.network.int_links04 board.cache_hierarchy.ruby_system.network.int_links05 board.cache_hierarchy.ruby_system.network.int_links06 board.cache_hierarchy.ruby_system.network.int_links07 board.cache_hierarchy.ruby_system.network.int_links08 board.cache_hierarchy.ruby_system.network.int_links09 board.cache_hierarchy.ruby_system.network.int_links10 board.cache_hierarchy.ruby_system.network.int_links11 board.cache_hierarchy.ruby_system.network.int_links12 board.cache_hierarchy.ruby_system.network.int_links13 board.cache_hierarchy.ruby_system.network.int_links14 board.cache_hierarchy.ruby_system.network.int_links15 board.cache_hierarchy.ruby_system.network.int_links16 board.cache_hierarchy.ruby_system.network.int_links17 board.cache_hierarchy.ruby_system.network.int_links18 board.cache_hierarchy.ruby_system.network.int_links19 board.cache_hierarchy.ruby_system.network.int_links20 board.cache_hierarchy.ruby_system.network.int_links21 board.cache_hierarchy.ruby_system.network.int_links22 board.cache_hierarchy.ruby_system.network.int_links23 board.cache_hierarchy.ruby_system.network.int_links24 board.cache_hierarchy.ruby_system.network.int_links25 board.cache_hierarchy.ruby_system.network.int_links26 board.cache_hierarchy.ruby_system.network.int_links27 board.cache_hierarchy.ruby_system.network.int_links28 board.cache_hierarchy.ruby_system.network.int_links29 board.cache_hierarchy.ruby_system.network.int_links30 board.cache_hierarchy.ruby_system.network.int_links31 board.cache_hierarchy.ruby_system.network.int_links32 board.cache_hierarchy.ruby_system.network.int_links33 board.cache_hierarchy.ruby_system.network.int_links34 board.cache_hierarchy.ruby_system.network.int_links35 board.cache_hierarchy.ruby_system.network.int_links36 board.cache_hierarchy.ruby_system.network.int_links37 board.cache_hierarchy.ruby_system.network.int_links38 board.cache_hierarchy.ruby_system.network.int_links39 board.cache_hierarchy.ruby_system.network.int_links40 board.cache_hierarchy.ruby_system.network.int_links41 board.cache_hierarchy.ruby_system.network.int_links42 board.cache_hierarchy.ruby_system.network.int_links43 board.cache_hierarchy.ruby_system.network.int_links44 board.cache_hierarchy.ruby_system.network.int_links45 board.cache_hierarchy.ruby_system.network.int_links46 board.cache_hierarchy.ruby_system.network.int_links47 board.cache_hierarchy.ruby_system.network.int_links48 board.cache_hierarchy.ruby_system.network.int_links49 board.cache_hierarchy.ruby_system.network.int_links50 board.cache_hierarchy.ruby_system.network.int_links51 board.cache_hierarchy.ruby_system.network.int_links52 board.cache_hierarchy.ruby_system.network.int_links53 board.cache_hierarchy.ruby_system.network.int_links54 board.cache_hierarchy.ruby_system.network.int_links55 +netifs= +number_of_virtual_networks=3 +physical_vnets_bandwidth= +physical_vnets_channels= +power_model= +power_state=board.cache_hierarchy.ruby_system.network.power_state +routers=board.cache_hierarchy.ruby_system.network.routers0 board.cache_hierarchy.ruby_system.network.routers1 board.cache_hierarchy.ruby_system.network.routers2 board.cache_hierarchy.ruby_system.network.routers3 board.cache_hierarchy.ruby_system.network.routers4 board.cache_hierarchy.ruby_system.network.routers5 board.cache_hierarchy.ruby_system.network.routers6 board.cache_hierarchy.ruby_system.network.routers7 +ruby_system=board.cache_hierarchy.ruby_system +topology=Not Specified +in_port=board.cache_hierarchy.ruby_system.l1_controllers0.requestFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers0.responseFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers0.unblockFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers1.requestFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers1.responseFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers1.unblockFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers2.requestFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers2.responseFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers2.unblockFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers3.requestFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers3.responseFromL1Cache.out_port board.cache_hierarchy.ruby_system.l1_controllers3.unblockFromL1Cache.out_port board.cache_hierarchy.ruby_system.l2_controllers.DirRequestFromL2Cache.out_port board.cache_hierarchy.ruby_system.l2_controllers.L1RequestFromL2Cache.out_port board.cache_hierarchy.ruby_system.l2_controllers.responseFromL2Cache.out_port board.cache_hierarchy.ruby_system.directory_controllers.responseFromDir.out_port board.cache_hierarchy.ruby_system.dma_controllers0.requestToDir.out_port board.cache_hierarchy.ruby_system.dma_controllers1.requestToDir.out_port +out_port=board.cache_hierarchy.ruby_system.l1_controllers0.requestToL1Cache.in_port board.cache_hierarchy.ruby_system.l1_controllers0.responseToL1Cache.in_port board.cache_hierarchy.ruby_system.l1_controllers1.requestToL1Cache.in_port board.cache_hierarchy.ruby_system.l1_controllers1.responseToL1Cache.in_port board.cache_hierarchy.ruby_system.l1_controllers2.requestToL1Cache.in_port board.cache_hierarchy.ruby_system.l1_controllers2.responseToL1Cache.in_port board.cache_hierarchy.ruby_system.l1_controllers3.requestToL1Cache.in_port board.cache_hierarchy.ruby_system.l1_controllers3.responseToL1Cache.in_port board.cache_hierarchy.ruby_system.l2_controllers.unblockToL2Cache.in_port board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache.in_port board.cache_hierarchy.ruby_system.l2_controllers.responseToL2Cache.in_port board.cache_hierarchy.ruby_system.directory_controllers.requestToDir.in_port board.cache_hierarchy.ruby_system.directory_controllers.responseToDir.in_port board.cache_hierarchy.ruby_system.dma_controllers0.responseFromDir.in_port board.cache_hierarchy.ruby_system.dma_controllers1.responseFromDir.in_port + +[board.cache_hierarchy.ruby_system.network.ext_links0] +type=SimpleExtLink +bandwidth_factor=16 +eventq_index=0 +ext_node=board.cache_hierarchy.ruby_system.l1_controllers0 +int_node=board.cache_hierarchy.ruby_system.network.routers0 +latency=1 +link_id=0 +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.ext_links1] +type=SimpleExtLink +bandwidth_factor=16 +eventq_index=0 +ext_node=board.cache_hierarchy.ruby_system.l1_controllers1 +int_node=board.cache_hierarchy.ruby_system.network.routers1 +latency=1 +link_id=1 +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.ext_links2] +type=SimpleExtLink +bandwidth_factor=16 +eventq_index=0 +ext_node=board.cache_hierarchy.ruby_system.l1_controllers2 +int_node=board.cache_hierarchy.ruby_system.network.routers2 +latency=1 +link_id=2 +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.ext_links3] +type=SimpleExtLink +bandwidth_factor=16 +eventq_index=0 +ext_node=board.cache_hierarchy.ruby_system.l1_controllers3 +int_node=board.cache_hierarchy.ruby_system.network.routers3 +latency=1 +link_id=3 +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.ext_links4] +type=SimpleExtLink +bandwidth_factor=16 +eventq_index=0 +ext_node=board.cache_hierarchy.ruby_system.l2_controllers +int_node=board.cache_hierarchy.ruby_system.network.routers4 +latency=1 +link_id=4 +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.ext_links5] +type=SimpleExtLink +bandwidth_factor=16 +eventq_index=0 +ext_node=board.cache_hierarchy.ruby_system.directory_controllers +int_node=board.cache_hierarchy.ruby_system.network.routers5 +latency=1 +link_id=5 +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.ext_links6] +type=SimpleExtLink +bandwidth_factor=16 +eventq_index=0 +ext_node=board.cache_hierarchy.ruby_system.dma_controllers0 +int_node=board.cache_hierarchy.ruby_system.network.routers6 +latency=1 +link_id=6 +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.ext_links7] +type=SimpleExtLink +bandwidth_factor=16 +eventq_index=0 +ext_node=board.cache_hierarchy.ruby_system.dma_controllers1 +int_node=board.cache_hierarchy.ruby_system.network.routers7 +latency=1 +link_id=7 +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links00] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links00.buffers0 board.cache_hierarchy.ruby_system.network.int_links00.buffers1 board.cache_hierarchy.ruby_system.network.int_links00.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers1 +eventq_index=0 +latency=1 +link_id=1 +src_node=board.cache_hierarchy.ruby_system.network.routers0 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links00.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links00.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links00.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links01] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links01.buffers0 board.cache_hierarchy.ruby_system.network.int_links01.buffers1 board.cache_hierarchy.ruby_system.network.int_links01.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers2 +eventq_index=0 +latency=1 +link_id=2 +src_node=board.cache_hierarchy.ruby_system.network.routers0 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links01.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links01.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links01.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links02] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links02.buffers0 board.cache_hierarchy.ruby_system.network.int_links02.buffers1 board.cache_hierarchy.ruby_system.network.int_links02.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers3 +eventq_index=0 +latency=1 +link_id=3 +src_node=board.cache_hierarchy.ruby_system.network.routers0 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links02.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links02.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links02.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links03] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links03.buffers0 board.cache_hierarchy.ruby_system.network.int_links03.buffers1 board.cache_hierarchy.ruby_system.network.int_links03.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers4 +eventq_index=0 +latency=1 +link_id=4 +src_node=board.cache_hierarchy.ruby_system.network.routers0 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links03.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links03.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links03.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links04] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links04.buffers0 board.cache_hierarchy.ruby_system.network.int_links04.buffers1 board.cache_hierarchy.ruby_system.network.int_links04.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers5 +eventq_index=0 +latency=1 +link_id=5 +src_node=board.cache_hierarchy.ruby_system.network.routers0 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links04.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links04.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links04.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links05] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links05.buffers0 board.cache_hierarchy.ruby_system.network.int_links05.buffers1 board.cache_hierarchy.ruby_system.network.int_links05.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers6 +eventq_index=0 +latency=1 +link_id=6 +src_node=board.cache_hierarchy.ruby_system.network.routers0 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links05.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links05.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links05.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links06] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links06.buffers0 board.cache_hierarchy.ruby_system.network.int_links06.buffers1 board.cache_hierarchy.ruby_system.network.int_links06.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers7 +eventq_index=0 +latency=1 +link_id=7 +src_node=board.cache_hierarchy.ruby_system.network.routers0 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links06.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links06.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links06.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links07] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links07.buffers0 board.cache_hierarchy.ruby_system.network.int_links07.buffers1 board.cache_hierarchy.ruby_system.network.int_links07.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers0 +eventq_index=0 +latency=1 +link_id=8 +src_node=board.cache_hierarchy.ruby_system.network.routers1 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links07.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links07.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links07.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links08] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links08.buffers0 board.cache_hierarchy.ruby_system.network.int_links08.buffers1 board.cache_hierarchy.ruby_system.network.int_links08.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers2 +eventq_index=0 +latency=1 +link_id=9 +src_node=board.cache_hierarchy.ruby_system.network.routers1 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links08.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links08.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links08.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links09] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links09.buffers0 board.cache_hierarchy.ruby_system.network.int_links09.buffers1 board.cache_hierarchy.ruby_system.network.int_links09.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers3 +eventq_index=0 +latency=1 +link_id=10 +src_node=board.cache_hierarchy.ruby_system.network.routers1 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links09.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links09.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links09.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links10] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links10.buffers0 board.cache_hierarchy.ruby_system.network.int_links10.buffers1 board.cache_hierarchy.ruby_system.network.int_links10.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers4 +eventq_index=0 +latency=1 +link_id=11 +src_node=board.cache_hierarchy.ruby_system.network.routers1 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links10.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links10.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links10.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links11] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links11.buffers0 board.cache_hierarchy.ruby_system.network.int_links11.buffers1 board.cache_hierarchy.ruby_system.network.int_links11.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers5 +eventq_index=0 +latency=1 +link_id=12 +src_node=board.cache_hierarchy.ruby_system.network.routers1 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links11.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links11.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links11.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links12] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links12.buffers0 board.cache_hierarchy.ruby_system.network.int_links12.buffers1 board.cache_hierarchy.ruby_system.network.int_links12.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers6 +eventq_index=0 +latency=1 +link_id=13 +src_node=board.cache_hierarchy.ruby_system.network.routers1 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links12.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links12.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links12.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links13] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links13.buffers0 board.cache_hierarchy.ruby_system.network.int_links13.buffers1 board.cache_hierarchy.ruby_system.network.int_links13.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers7 +eventq_index=0 +latency=1 +link_id=14 +src_node=board.cache_hierarchy.ruby_system.network.routers1 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links13.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links13.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links13.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links14] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links14.buffers0 board.cache_hierarchy.ruby_system.network.int_links14.buffers1 board.cache_hierarchy.ruby_system.network.int_links14.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers0 +eventq_index=0 +latency=1 +link_id=15 +src_node=board.cache_hierarchy.ruby_system.network.routers2 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links14.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links14.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links14.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links15] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links15.buffers0 board.cache_hierarchy.ruby_system.network.int_links15.buffers1 board.cache_hierarchy.ruby_system.network.int_links15.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers1 +eventq_index=0 +latency=1 +link_id=16 +src_node=board.cache_hierarchy.ruby_system.network.routers2 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links15.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links15.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links15.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links16] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links16.buffers0 board.cache_hierarchy.ruby_system.network.int_links16.buffers1 board.cache_hierarchy.ruby_system.network.int_links16.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers3 +eventq_index=0 +latency=1 +link_id=17 +src_node=board.cache_hierarchy.ruby_system.network.routers2 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links16.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links16.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links16.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links17] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links17.buffers0 board.cache_hierarchy.ruby_system.network.int_links17.buffers1 board.cache_hierarchy.ruby_system.network.int_links17.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers4 +eventq_index=0 +latency=1 +link_id=18 +src_node=board.cache_hierarchy.ruby_system.network.routers2 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links17.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links17.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links17.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links18] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links18.buffers0 board.cache_hierarchy.ruby_system.network.int_links18.buffers1 board.cache_hierarchy.ruby_system.network.int_links18.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers5 +eventq_index=0 +latency=1 +link_id=19 +src_node=board.cache_hierarchy.ruby_system.network.routers2 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links18.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links18.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links18.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links19] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links19.buffers0 board.cache_hierarchy.ruby_system.network.int_links19.buffers1 board.cache_hierarchy.ruby_system.network.int_links19.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers6 +eventq_index=0 +latency=1 +link_id=20 +src_node=board.cache_hierarchy.ruby_system.network.routers2 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links19.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links19.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links19.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links20] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links20.buffers0 board.cache_hierarchy.ruby_system.network.int_links20.buffers1 board.cache_hierarchy.ruby_system.network.int_links20.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers7 +eventq_index=0 +latency=1 +link_id=21 +src_node=board.cache_hierarchy.ruby_system.network.routers2 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links20.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links20.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links20.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links21] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links21.buffers0 board.cache_hierarchy.ruby_system.network.int_links21.buffers1 board.cache_hierarchy.ruby_system.network.int_links21.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers0 +eventq_index=0 +latency=1 +link_id=22 +src_node=board.cache_hierarchy.ruby_system.network.routers3 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links21.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links21.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links21.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links22] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links22.buffers0 board.cache_hierarchy.ruby_system.network.int_links22.buffers1 board.cache_hierarchy.ruby_system.network.int_links22.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers1 +eventq_index=0 +latency=1 +link_id=23 +src_node=board.cache_hierarchy.ruby_system.network.routers3 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links22.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links22.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links22.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links23] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links23.buffers0 board.cache_hierarchy.ruby_system.network.int_links23.buffers1 board.cache_hierarchy.ruby_system.network.int_links23.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers2 +eventq_index=0 +latency=1 +link_id=24 +src_node=board.cache_hierarchy.ruby_system.network.routers3 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links23.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links23.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links23.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links24] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links24.buffers0 board.cache_hierarchy.ruby_system.network.int_links24.buffers1 board.cache_hierarchy.ruby_system.network.int_links24.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers4 +eventq_index=0 +latency=1 +link_id=25 +src_node=board.cache_hierarchy.ruby_system.network.routers3 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links24.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links24.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links24.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links25] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links25.buffers0 board.cache_hierarchy.ruby_system.network.int_links25.buffers1 board.cache_hierarchy.ruby_system.network.int_links25.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers5 +eventq_index=0 +latency=1 +link_id=26 +src_node=board.cache_hierarchy.ruby_system.network.routers3 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links25.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links25.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links25.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links26] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links26.buffers0 board.cache_hierarchy.ruby_system.network.int_links26.buffers1 board.cache_hierarchy.ruby_system.network.int_links26.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers6 +eventq_index=0 +latency=1 +link_id=27 +src_node=board.cache_hierarchy.ruby_system.network.routers3 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links26.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links26.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links26.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links27] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links27.buffers0 board.cache_hierarchy.ruby_system.network.int_links27.buffers1 board.cache_hierarchy.ruby_system.network.int_links27.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers7 +eventq_index=0 +latency=1 +link_id=28 +src_node=board.cache_hierarchy.ruby_system.network.routers3 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links27.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links27.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links27.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links28] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links28.buffers0 board.cache_hierarchy.ruby_system.network.int_links28.buffers1 board.cache_hierarchy.ruby_system.network.int_links28.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers0 +eventq_index=0 +latency=1 +link_id=29 +src_node=board.cache_hierarchy.ruby_system.network.routers4 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links28.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links28.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links28.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links29] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links29.buffers0 board.cache_hierarchy.ruby_system.network.int_links29.buffers1 board.cache_hierarchy.ruby_system.network.int_links29.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers1 +eventq_index=0 +latency=1 +link_id=30 +src_node=board.cache_hierarchy.ruby_system.network.routers4 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links29.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links29.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links29.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links30] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links30.buffers0 board.cache_hierarchy.ruby_system.network.int_links30.buffers1 board.cache_hierarchy.ruby_system.network.int_links30.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers2 +eventq_index=0 +latency=1 +link_id=31 +src_node=board.cache_hierarchy.ruby_system.network.routers4 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links30.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links30.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links30.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links31] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links31.buffers0 board.cache_hierarchy.ruby_system.network.int_links31.buffers1 board.cache_hierarchy.ruby_system.network.int_links31.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers3 +eventq_index=0 +latency=1 +link_id=32 +src_node=board.cache_hierarchy.ruby_system.network.routers4 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links31.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links31.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links31.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links32] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links32.buffers0 board.cache_hierarchy.ruby_system.network.int_links32.buffers1 board.cache_hierarchy.ruby_system.network.int_links32.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers5 +eventq_index=0 +latency=1 +link_id=33 +src_node=board.cache_hierarchy.ruby_system.network.routers4 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links32.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links32.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links32.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links33] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links33.buffers0 board.cache_hierarchy.ruby_system.network.int_links33.buffers1 board.cache_hierarchy.ruby_system.network.int_links33.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers6 +eventq_index=0 +latency=1 +link_id=34 +src_node=board.cache_hierarchy.ruby_system.network.routers4 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links33.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links33.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links33.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links34] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links34.buffers0 board.cache_hierarchy.ruby_system.network.int_links34.buffers1 board.cache_hierarchy.ruby_system.network.int_links34.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers7 +eventq_index=0 +latency=1 +link_id=35 +src_node=board.cache_hierarchy.ruby_system.network.routers4 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links34.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links34.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links34.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links35] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links35.buffers0 board.cache_hierarchy.ruby_system.network.int_links35.buffers1 board.cache_hierarchy.ruby_system.network.int_links35.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers0 +eventq_index=0 +latency=1 +link_id=36 +src_node=board.cache_hierarchy.ruby_system.network.routers5 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links35.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links35.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links35.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links36] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links36.buffers0 board.cache_hierarchy.ruby_system.network.int_links36.buffers1 board.cache_hierarchy.ruby_system.network.int_links36.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers1 +eventq_index=0 +latency=1 +link_id=37 +src_node=board.cache_hierarchy.ruby_system.network.routers5 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links36.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links36.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links36.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links37] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links37.buffers0 board.cache_hierarchy.ruby_system.network.int_links37.buffers1 board.cache_hierarchy.ruby_system.network.int_links37.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers2 +eventq_index=0 +latency=1 +link_id=38 +src_node=board.cache_hierarchy.ruby_system.network.routers5 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links37.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links37.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links37.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links38] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links38.buffers0 board.cache_hierarchy.ruby_system.network.int_links38.buffers1 board.cache_hierarchy.ruby_system.network.int_links38.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers3 +eventq_index=0 +latency=1 +link_id=39 +src_node=board.cache_hierarchy.ruby_system.network.routers5 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links38.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links38.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links38.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links39] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links39.buffers0 board.cache_hierarchy.ruby_system.network.int_links39.buffers1 board.cache_hierarchy.ruby_system.network.int_links39.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers4 +eventq_index=0 +latency=1 +link_id=40 +src_node=board.cache_hierarchy.ruby_system.network.routers5 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links39.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links39.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links39.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links40] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links40.buffers0 board.cache_hierarchy.ruby_system.network.int_links40.buffers1 board.cache_hierarchy.ruby_system.network.int_links40.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers6 +eventq_index=0 +latency=1 +link_id=41 +src_node=board.cache_hierarchy.ruby_system.network.routers5 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links40.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links40.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links40.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links41] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links41.buffers0 board.cache_hierarchy.ruby_system.network.int_links41.buffers1 board.cache_hierarchy.ruby_system.network.int_links41.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers7 +eventq_index=0 +latency=1 +link_id=42 +src_node=board.cache_hierarchy.ruby_system.network.routers5 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links41.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links41.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links41.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links42] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links42.buffers0 board.cache_hierarchy.ruby_system.network.int_links42.buffers1 board.cache_hierarchy.ruby_system.network.int_links42.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers0 +eventq_index=0 +latency=1 +link_id=43 +src_node=board.cache_hierarchy.ruby_system.network.routers6 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links42.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links42.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links42.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links43] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links43.buffers0 board.cache_hierarchy.ruby_system.network.int_links43.buffers1 board.cache_hierarchy.ruby_system.network.int_links43.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers1 +eventq_index=0 +latency=1 +link_id=44 +src_node=board.cache_hierarchy.ruby_system.network.routers6 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links43.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links43.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links43.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links44] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links44.buffers0 board.cache_hierarchy.ruby_system.network.int_links44.buffers1 board.cache_hierarchy.ruby_system.network.int_links44.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers2 +eventq_index=0 +latency=1 +link_id=45 +src_node=board.cache_hierarchy.ruby_system.network.routers6 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links44.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links44.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links44.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links45] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links45.buffers0 board.cache_hierarchy.ruby_system.network.int_links45.buffers1 board.cache_hierarchy.ruby_system.network.int_links45.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers3 +eventq_index=0 +latency=1 +link_id=46 +src_node=board.cache_hierarchy.ruby_system.network.routers6 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links45.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links45.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links45.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links46] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links46.buffers0 board.cache_hierarchy.ruby_system.network.int_links46.buffers1 board.cache_hierarchy.ruby_system.network.int_links46.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers4 +eventq_index=0 +latency=1 +link_id=47 +src_node=board.cache_hierarchy.ruby_system.network.routers6 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links46.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links46.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links46.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links47] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links47.buffers0 board.cache_hierarchy.ruby_system.network.int_links47.buffers1 board.cache_hierarchy.ruby_system.network.int_links47.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers5 +eventq_index=0 +latency=1 +link_id=48 +src_node=board.cache_hierarchy.ruby_system.network.routers6 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links47.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links47.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links47.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links48] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links48.buffers0 board.cache_hierarchy.ruby_system.network.int_links48.buffers1 board.cache_hierarchy.ruby_system.network.int_links48.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers7 +eventq_index=0 +latency=1 +link_id=49 +src_node=board.cache_hierarchy.ruby_system.network.routers6 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links48.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links48.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links48.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links49] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links49.buffers0 board.cache_hierarchy.ruby_system.network.int_links49.buffers1 board.cache_hierarchy.ruby_system.network.int_links49.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers0 +eventq_index=0 +latency=1 +link_id=50 +src_node=board.cache_hierarchy.ruby_system.network.routers7 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links49.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links49.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links49.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links50] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links50.buffers0 board.cache_hierarchy.ruby_system.network.int_links50.buffers1 board.cache_hierarchy.ruby_system.network.int_links50.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers1 +eventq_index=0 +latency=1 +link_id=51 +src_node=board.cache_hierarchy.ruby_system.network.routers7 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links50.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links50.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links50.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links51] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links51.buffers0 board.cache_hierarchy.ruby_system.network.int_links51.buffers1 board.cache_hierarchy.ruby_system.network.int_links51.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers2 +eventq_index=0 +latency=1 +link_id=52 +src_node=board.cache_hierarchy.ruby_system.network.routers7 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links51.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links51.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links51.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links52] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links52.buffers0 board.cache_hierarchy.ruby_system.network.int_links52.buffers1 board.cache_hierarchy.ruby_system.network.int_links52.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers3 +eventq_index=0 +latency=1 +link_id=53 +src_node=board.cache_hierarchy.ruby_system.network.routers7 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links52.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links52.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links52.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links53] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links53.buffers0 board.cache_hierarchy.ruby_system.network.int_links53.buffers1 board.cache_hierarchy.ruby_system.network.int_links53.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers4 +eventq_index=0 +latency=1 +link_id=54 +src_node=board.cache_hierarchy.ruby_system.network.routers7 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links53.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links53.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links53.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links54] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links54.buffers0 board.cache_hierarchy.ruby_system.network.int_links54.buffers1 board.cache_hierarchy.ruby_system.network.int_links54.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers5 +eventq_index=0 +latency=1 +link_id=55 +src_node=board.cache_hierarchy.ruby_system.network.routers7 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links54.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links54.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links54.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links55] +type=SimpleIntLink +children=buffers0 buffers1 buffers2 +bandwidth_factor=16 +buffers=board.cache_hierarchy.ruby_system.network.int_links55.buffers0 board.cache_hierarchy.ruby_system.network.int_links55.buffers1 board.cache_hierarchy.ruby_system.network.int_links55.buffers2 +dst_inport= +dst_node=board.cache_hierarchy.ruby_system.network.routers6 +eventq_index=0 +latency=1 +link_id=56 +src_node=board.cache_hierarchy.ruby_system.network.routers7 +src_outport= +supported_vnets= +weight=1 + +[board.cache_hierarchy.ruby_system.network.int_links55.buffers0] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links55.buffers1] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.int_links55.buffers2] +type=MessageBuffer +allow_zero_latency=false +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers0] +type=Switch +children=port_buffers00 port_buffers01 port_buffers02 port_buffers03 port_buffers04 port_buffers05 port_buffers06 port_buffers07 port_buffers08 port_buffers09 port_buffers10 port_buffers11 port_buffers12 port_buffers13 port_buffers14 port_buffers15 port_buffers16 port_buffers17 port_buffers18 port_buffers19 port_buffers20 port_buffers21 port_buffers22 port_buffers23 power_state routing_unit +clk_domain=board.clk_domain +eventq_index=0 +ext_routing_latency=1 +int_routing_latency=1 +latency=1 +port_buffers=board.cache_hierarchy.ruby_system.network.routers0.port_buffers00 board.cache_hierarchy.ruby_system.network.routers0.port_buffers01 board.cache_hierarchy.ruby_system.network.routers0.port_buffers02 board.cache_hierarchy.ruby_system.network.routers0.port_buffers03 board.cache_hierarchy.ruby_system.network.routers0.port_buffers04 board.cache_hierarchy.ruby_system.network.routers0.port_buffers05 board.cache_hierarchy.ruby_system.network.routers0.port_buffers06 board.cache_hierarchy.ruby_system.network.routers0.port_buffers07 board.cache_hierarchy.ruby_system.network.routers0.port_buffers08 board.cache_hierarchy.ruby_system.network.routers0.port_buffers09 board.cache_hierarchy.ruby_system.network.routers0.port_buffers10 board.cache_hierarchy.ruby_system.network.routers0.port_buffers11 board.cache_hierarchy.ruby_system.network.routers0.port_buffers12 board.cache_hierarchy.ruby_system.network.routers0.port_buffers13 board.cache_hierarchy.ruby_system.network.routers0.port_buffers14 board.cache_hierarchy.ruby_system.network.routers0.port_buffers15 board.cache_hierarchy.ruby_system.network.routers0.port_buffers16 board.cache_hierarchy.ruby_system.network.routers0.port_buffers17 board.cache_hierarchy.ruby_system.network.routers0.port_buffers18 board.cache_hierarchy.ruby_system.network.routers0.port_buffers19 board.cache_hierarchy.ruby_system.network.routers0.port_buffers20 board.cache_hierarchy.ruby_system.network.routers0.port_buffers21 board.cache_hierarchy.ruby_system.network.routers0.port_buffers22 board.cache_hierarchy.ruby_system.network.routers0.port_buffers23 +power_model= +power_state=board.cache_hierarchy.ruby_system.network.routers0.power_state +router_id=0 +routing_unit=board.cache_hierarchy.ruby_system.network.routers0.routing_unit +virt_nets=3 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers00] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers01] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers02] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers03] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers04] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers05] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers06] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers07] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers08] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers09] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers10] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers11] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers12] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers13] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers14] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers15] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers16] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers17] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers18] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers19] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers20] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers21] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers22] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.port_buffers23] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers0.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers0.routing_unit] +type=WeightBased +adaptive_routing=false +eventq_index=0 + +[board.cache_hierarchy.ruby_system.network.routers1] +type=Switch +children=port_buffers00 port_buffers01 port_buffers02 port_buffers03 port_buffers04 port_buffers05 port_buffers06 port_buffers07 port_buffers08 port_buffers09 port_buffers10 port_buffers11 port_buffers12 port_buffers13 port_buffers14 port_buffers15 port_buffers16 port_buffers17 port_buffers18 port_buffers19 port_buffers20 port_buffers21 port_buffers22 port_buffers23 power_state routing_unit +clk_domain=board.clk_domain +eventq_index=0 +ext_routing_latency=1 +int_routing_latency=1 +latency=1 +port_buffers=board.cache_hierarchy.ruby_system.network.routers1.port_buffers00 board.cache_hierarchy.ruby_system.network.routers1.port_buffers01 board.cache_hierarchy.ruby_system.network.routers1.port_buffers02 board.cache_hierarchy.ruby_system.network.routers1.port_buffers03 board.cache_hierarchy.ruby_system.network.routers1.port_buffers04 board.cache_hierarchy.ruby_system.network.routers1.port_buffers05 board.cache_hierarchy.ruby_system.network.routers1.port_buffers06 board.cache_hierarchy.ruby_system.network.routers1.port_buffers07 board.cache_hierarchy.ruby_system.network.routers1.port_buffers08 board.cache_hierarchy.ruby_system.network.routers1.port_buffers09 board.cache_hierarchy.ruby_system.network.routers1.port_buffers10 board.cache_hierarchy.ruby_system.network.routers1.port_buffers11 board.cache_hierarchy.ruby_system.network.routers1.port_buffers12 board.cache_hierarchy.ruby_system.network.routers1.port_buffers13 board.cache_hierarchy.ruby_system.network.routers1.port_buffers14 board.cache_hierarchy.ruby_system.network.routers1.port_buffers15 board.cache_hierarchy.ruby_system.network.routers1.port_buffers16 board.cache_hierarchy.ruby_system.network.routers1.port_buffers17 board.cache_hierarchy.ruby_system.network.routers1.port_buffers18 board.cache_hierarchy.ruby_system.network.routers1.port_buffers19 board.cache_hierarchy.ruby_system.network.routers1.port_buffers20 board.cache_hierarchy.ruby_system.network.routers1.port_buffers21 board.cache_hierarchy.ruby_system.network.routers1.port_buffers22 board.cache_hierarchy.ruby_system.network.routers1.port_buffers23 +power_model= +power_state=board.cache_hierarchy.ruby_system.network.routers1.power_state +router_id=1 +routing_unit=board.cache_hierarchy.ruby_system.network.routers1.routing_unit +virt_nets=3 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers00] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers01] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers02] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers03] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers04] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers05] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers06] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers07] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers08] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers09] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers10] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers11] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers12] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers13] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers14] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers15] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers16] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers17] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers18] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers19] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers20] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers21] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers22] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.port_buffers23] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers1.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers1.routing_unit] +type=WeightBased +adaptive_routing=false +eventq_index=0 + +[board.cache_hierarchy.ruby_system.network.routers2] +type=Switch +children=port_buffers00 port_buffers01 port_buffers02 port_buffers03 port_buffers04 port_buffers05 port_buffers06 port_buffers07 port_buffers08 port_buffers09 port_buffers10 port_buffers11 port_buffers12 port_buffers13 port_buffers14 port_buffers15 port_buffers16 port_buffers17 port_buffers18 port_buffers19 port_buffers20 port_buffers21 port_buffers22 port_buffers23 power_state routing_unit +clk_domain=board.clk_domain +eventq_index=0 +ext_routing_latency=1 +int_routing_latency=1 +latency=1 +port_buffers=board.cache_hierarchy.ruby_system.network.routers2.port_buffers00 board.cache_hierarchy.ruby_system.network.routers2.port_buffers01 board.cache_hierarchy.ruby_system.network.routers2.port_buffers02 board.cache_hierarchy.ruby_system.network.routers2.port_buffers03 board.cache_hierarchy.ruby_system.network.routers2.port_buffers04 board.cache_hierarchy.ruby_system.network.routers2.port_buffers05 board.cache_hierarchy.ruby_system.network.routers2.port_buffers06 board.cache_hierarchy.ruby_system.network.routers2.port_buffers07 board.cache_hierarchy.ruby_system.network.routers2.port_buffers08 board.cache_hierarchy.ruby_system.network.routers2.port_buffers09 board.cache_hierarchy.ruby_system.network.routers2.port_buffers10 board.cache_hierarchy.ruby_system.network.routers2.port_buffers11 board.cache_hierarchy.ruby_system.network.routers2.port_buffers12 board.cache_hierarchy.ruby_system.network.routers2.port_buffers13 board.cache_hierarchy.ruby_system.network.routers2.port_buffers14 board.cache_hierarchy.ruby_system.network.routers2.port_buffers15 board.cache_hierarchy.ruby_system.network.routers2.port_buffers16 board.cache_hierarchy.ruby_system.network.routers2.port_buffers17 board.cache_hierarchy.ruby_system.network.routers2.port_buffers18 board.cache_hierarchy.ruby_system.network.routers2.port_buffers19 board.cache_hierarchy.ruby_system.network.routers2.port_buffers20 board.cache_hierarchy.ruby_system.network.routers2.port_buffers21 board.cache_hierarchy.ruby_system.network.routers2.port_buffers22 board.cache_hierarchy.ruby_system.network.routers2.port_buffers23 +power_model= +power_state=board.cache_hierarchy.ruby_system.network.routers2.power_state +router_id=2 +routing_unit=board.cache_hierarchy.ruby_system.network.routers2.routing_unit +virt_nets=3 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers00] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers01] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers02] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers03] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers04] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers05] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers06] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers07] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers08] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers09] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers10] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers11] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers12] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers13] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers14] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers15] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers16] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers17] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers18] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers19] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers20] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers21] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers22] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.port_buffers23] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers2.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers2.routing_unit] +type=WeightBased +adaptive_routing=false +eventq_index=0 + +[board.cache_hierarchy.ruby_system.network.routers3] +type=Switch +children=port_buffers00 port_buffers01 port_buffers02 port_buffers03 port_buffers04 port_buffers05 port_buffers06 port_buffers07 port_buffers08 port_buffers09 port_buffers10 port_buffers11 port_buffers12 port_buffers13 port_buffers14 port_buffers15 port_buffers16 port_buffers17 port_buffers18 port_buffers19 port_buffers20 port_buffers21 port_buffers22 port_buffers23 power_state routing_unit +clk_domain=board.clk_domain +eventq_index=0 +ext_routing_latency=1 +int_routing_latency=1 +latency=1 +port_buffers=board.cache_hierarchy.ruby_system.network.routers3.port_buffers00 board.cache_hierarchy.ruby_system.network.routers3.port_buffers01 board.cache_hierarchy.ruby_system.network.routers3.port_buffers02 board.cache_hierarchy.ruby_system.network.routers3.port_buffers03 board.cache_hierarchy.ruby_system.network.routers3.port_buffers04 board.cache_hierarchy.ruby_system.network.routers3.port_buffers05 board.cache_hierarchy.ruby_system.network.routers3.port_buffers06 board.cache_hierarchy.ruby_system.network.routers3.port_buffers07 board.cache_hierarchy.ruby_system.network.routers3.port_buffers08 board.cache_hierarchy.ruby_system.network.routers3.port_buffers09 board.cache_hierarchy.ruby_system.network.routers3.port_buffers10 board.cache_hierarchy.ruby_system.network.routers3.port_buffers11 board.cache_hierarchy.ruby_system.network.routers3.port_buffers12 board.cache_hierarchy.ruby_system.network.routers3.port_buffers13 board.cache_hierarchy.ruby_system.network.routers3.port_buffers14 board.cache_hierarchy.ruby_system.network.routers3.port_buffers15 board.cache_hierarchy.ruby_system.network.routers3.port_buffers16 board.cache_hierarchy.ruby_system.network.routers3.port_buffers17 board.cache_hierarchy.ruby_system.network.routers3.port_buffers18 board.cache_hierarchy.ruby_system.network.routers3.port_buffers19 board.cache_hierarchy.ruby_system.network.routers3.port_buffers20 board.cache_hierarchy.ruby_system.network.routers3.port_buffers21 board.cache_hierarchy.ruby_system.network.routers3.port_buffers22 board.cache_hierarchy.ruby_system.network.routers3.port_buffers23 +power_model= +power_state=board.cache_hierarchy.ruby_system.network.routers3.power_state +router_id=3 +routing_unit=board.cache_hierarchy.ruby_system.network.routers3.routing_unit +virt_nets=3 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers00] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers01] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers02] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers03] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers04] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers05] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers06] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers07] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers08] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers09] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers10] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers11] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers12] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers13] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers14] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers15] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers16] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers17] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers18] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers19] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers20] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers21] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers22] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.port_buffers23] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers3.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers3.routing_unit] +type=WeightBased +adaptive_routing=false +eventq_index=0 + +[board.cache_hierarchy.ruby_system.network.routers4] +type=Switch +children=port_buffers00 port_buffers01 port_buffers02 port_buffers03 port_buffers04 port_buffers05 port_buffers06 port_buffers07 port_buffers08 port_buffers09 port_buffers10 port_buffers11 port_buffers12 port_buffers13 port_buffers14 port_buffers15 port_buffers16 port_buffers17 port_buffers18 port_buffers19 port_buffers20 port_buffers21 port_buffers22 port_buffers23 power_state routing_unit +clk_domain=board.clk_domain +eventq_index=0 +ext_routing_latency=1 +int_routing_latency=1 +latency=1 +port_buffers=board.cache_hierarchy.ruby_system.network.routers4.port_buffers00 board.cache_hierarchy.ruby_system.network.routers4.port_buffers01 board.cache_hierarchy.ruby_system.network.routers4.port_buffers02 board.cache_hierarchy.ruby_system.network.routers4.port_buffers03 board.cache_hierarchy.ruby_system.network.routers4.port_buffers04 board.cache_hierarchy.ruby_system.network.routers4.port_buffers05 board.cache_hierarchy.ruby_system.network.routers4.port_buffers06 board.cache_hierarchy.ruby_system.network.routers4.port_buffers07 board.cache_hierarchy.ruby_system.network.routers4.port_buffers08 board.cache_hierarchy.ruby_system.network.routers4.port_buffers09 board.cache_hierarchy.ruby_system.network.routers4.port_buffers10 board.cache_hierarchy.ruby_system.network.routers4.port_buffers11 board.cache_hierarchy.ruby_system.network.routers4.port_buffers12 board.cache_hierarchy.ruby_system.network.routers4.port_buffers13 board.cache_hierarchy.ruby_system.network.routers4.port_buffers14 board.cache_hierarchy.ruby_system.network.routers4.port_buffers15 board.cache_hierarchy.ruby_system.network.routers4.port_buffers16 board.cache_hierarchy.ruby_system.network.routers4.port_buffers17 board.cache_hierarchy.ruby_system.network.routers4.port_buffers18 board.cache_hierarchy.ruby_system.network.routers4.port_buffers19 board.cache_hierarchy.ruby_system.network.routers4.port_buffers20 board.cache_hierarchy.ruby_system.network.routers4.port_buffers21 board.cache_hierarchy.ruby_system.network.routers4.port_buffers22 board.cache_hierarchy.ruby_system.network.routers4.port_buffers23 +power_model= +power_state=board.cache_hierarchy.ruby_system.network.routers4.power_state +router_id=4 +routing_unit=board.cache_hierarchy.ruby_system.network.routers4.routing_unit +virt_nets=3 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers00] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers01] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers02] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers03] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers04] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers05] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers06] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers07] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers08] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers09] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers10] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers11] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers12] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers13] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers14] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers15] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers16] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers17] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers18] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers19] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers20] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers21] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers22] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.port_buffers23] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers4.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers4.routing_unit] +type=WeightBased +adaptive_routing=false +eventq_index=0 + +[board.cache_hierarchy.ruby_system.network.routers5] +type=Switch +children=port_buffers00 port_buffers01 port_buffers02 port_buffers03 port_buffers04 port_buffers05 port_buffers06 port_buffers07 port_buffers08 port_buffers09 port_buffers10 port_buffers11 port_buffers12 port_buffers13 port_buffers14 port_buffers15 port_buffers16 port_buffers17 port_buffers18 port_buffers19 port_buffers20 port_buffers21 port_buffers22 port_buffers23 power_state routing_unit +clk_domain=board.clk_domain +eventq_index=0 +ext_routing_latency=1 +int_routing_latency=1 +latency=1 +port_buffers=board.cache_hierarchy.ruby_system.network.routers5.port_buffers00 board.cache_hierarchy.ruby_system.network.routers5.port_buffers01 board.cache_hierarchy.ruby_system.network.routers5.port_buffers02 board.cache_hierarchy.ruby_system.network.routers5.port_buffers03 board.cache_hierarchy.ruby_system.network.routers5.port_buffers04 board.cache_hierarchy.ruby_system.network.routers5.port_buffers05 board.cache_hierarchy.ruby_system.network.routers5.port_buffers06 board.cache_hierarchy.ruby_system.network.routers5.port_buffers07 board.cache_hierarchy.ruby_system.network.routers5.port_buffers08 board.cache_hierarchy.ruby_system.network.routers5.port_buffers09 board.cache_hierarchy.ruby_system.network.routers5.port_buffers10 board.cache_hierarchy.ruby_system.network.routers5.port_buffers11 board.cache_hierarchy.ruby_system.network.routers5.port_buffers12 board.cache_hierarchy.ruby_system.network.routers5.port_buffers13 board.cache_hierarchy.ruby_system.network.routers5.port_buffers14 board.cache_hierarchy.ruby_system.network.routers5.port_buffers15 board.cache_hierarchy.ruby_system.network.routers5.port_buffers16 board.cache_hierarchy.ruby_system.network.routers5.port_buffers17 board.cache_hierarchy.ruby_system.network.routers5.port_buffers18 board.cache_hierarchy.ruby_system.network.routers5.port_buffers19 board.cache_hierarchy.ruby_system.network.routers5.port_buffers20 board.cache_hierarchy.ruby_system.network.routers5.port_buffers21 board.cache_hierarchy.ruby_system.network.routers5.port_buffers22 board.cache_hierarchy.ruby_system.network.routers5.port_buffers23 +power_model= +power_state=board.cache_hierarchy.ruby_system.network.routers5.power_state +router_id=5 +routing_unit=board.cache_hierarchy.ruby_system.network.routers5.routing_unit +virt_nets=3 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers00] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers01] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers02] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers03] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers04] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers05] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers06] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers07] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers08] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers09] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers10] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers11] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers12] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers13] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers14] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers15] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers16] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers17] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers18] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers19] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers20] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers21] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers22] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.port_buffers23] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers5.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers5.routing_unit] +type=WeightBased +adaptive_routing=false +eventq_index=0 + +[board.cache_hierarchy.ruby_system.network.routers6] +type=Switch +children=port_buffers00 port_buffers01 port_buffers02 port_buffers03 port_buffers04 port_buffers05 port_buffers06 port_buffers07 port_buffers08 port_buffers09 port_buffers10 port_buffers11 port_buffers12 port_buffers13 port_buffers14 port_buffers15 port_buffers16 port_buffers17 port_buffers18 port_buffers19 port_buffers20 port_buffers21 port_buffers22 port_buffers23 power_state routing_unit +clk_domain=board.clk_domain +eventq_index=0 +ext_routing_latency=1 +int_routing_latency=1 +latency=1 +port_buffers=board.cache_hierarchy.ruby_system.network.routers6.port_buffers00 board.cache_hierarchy.ruby_system.network.routers6.port_buffers01 board.cache_hierarchy.ruby_system.network.routers6.port_buffers02 board.cache_hierarchy.ruby_system.network.routers6.port_buffers03 board.cache_hierarchy.ruby_system.network.routers6.port_buffers04 board.cache_hierarchy.ruby_system.network.routers6.port_buffers05 board.cache_hierarchy.ruby_system.network.routers6.port_buffers06 board.cache_hierarchy.ruby_system.network.routers6.port_buffers07 board.cache_hierarchy.ruby_system.network.routers6.port_buffers08 board.cache_hierarchy.ruby_system.network.routers6.port_buffers09 board.cache_hierarchy.ruby_system.network.routers6.port_buffers10 board.cache_hierarchy.ruby_system.network.routers6.port_buffers11 board.cache_hierarchy.ruby_system.network.routers6.port_buffers12 board.cache_hierarchy.ruby_system.network.routers6.port_buffers13 board.cache_hierarchy.ruby_system.network.routers6.port_buffers14 board.cache_hierarchy.ruby_system.network.routers6.port_buffers15 board.cache_hierarchy.ruby_system.network.routers6.port_buffers16 board.cache_hierarchy.ruby_system.network.routers6.port_buffers17 board.cache_hierarchy.ruby_system.network.routers6.port_buffers18 board.cache_hierarchy.ruby_system.network.routers6.port_buffers19 board.cache_hierarchy.ruby_system.network.routers6.port_buffers20 board.cache_hierarchy.ruby_system.network.routers6.port_buffers21 board.cache_hierarchy.ruby_system.network.routers6.port_buffers22 board.cache_hierarchy.ruby_system.network.routers6.port_buffers23 +power_model= +power_state=board.cache_hierarchy.ruby_system.network.routers6.power_state +router_id=6 +routing_unit=board.cache_hierarchy.ruby_system.network.routers6.routing_unit +virt_nets=3 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers00] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers01] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers02] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers03] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers04] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers05] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers06] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers07] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers08] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers09] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers10] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers11] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers12] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers13] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers14] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers15] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers16] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers17] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers18] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers19] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers20] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers21] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers22] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.port_buffers23] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers6.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers6.routing_unit] +type=WeightBased +adaptive_routing=false +eventq_index=0 + +[board.cache_hierarchy.ruby_system.network.routers7] +type=Switch +children=port_buffers00 port_buffers01 port_buffers02 port_buffers03 port_buffers04 port_buffers05 port_buffers06 port_buffers07 port_buffers08 port_buffers09 port_buffers10 port_buffers11 port_buffers12 port_buffers13 port_buffers14 port_buffers15 port_buffers16 port_buffers17 port_buffers18 port_buffers19 port_buffers20 port_buffers21 port_buffers22 port_buffers23 power_state routing_unit +clk_domain=board.clk_domain +eventq_index=0 +ext_routing_latency=1 +int_routing_latency=1 +latency=1 +port_buffers=board.cache_hierarchy.ruby_system.network.routers7.port_buffers00 board.cache_hierarchy.ruby_system.network.routers7.port_buffers01 board.cache_hierarchy.ruby_system.network.routers7.port_buffers02 board.cache_hierarchy.ruby_system.network.routers7.port_buffers03 board.cache_hierarchy.ruby_system.network.routers7.port_buffers04 board.cache_hierarchy.ruby_system.network.routers7.port_buffers05 board.cache_hierarchy.ruby_system.network.routers7.port_buffers06 board.cache_hierarchy.ruby_system.network.routers7.port_buffers07 board.cache_hierarchy.ruby_system.network.routers7.port_buffers08 board.cache_hierarchy.ruby_system.network.routers7.port_buffers09 board.cache_hierarchy.ruby_system.network.routers7.port_buffers10 board.cache_hierarchy.ruby_system.network.routers7.port_buffers11 board.cache_hierarchy.ruby_system.network.routers7.port_buffers12 board.cache_hierarchy.ruby_system.network.routers7.port_buffers13 board.cache_hierarchy.ruby_system.network.routers7.port_buffers14 board.cache_hierarchy.ruby_system.network.routers7.port_buffers15 board.cache_hierarchy.ruby_system.network.routers7.port_buffers16 board.cache_hierarchy.ruby_system.network.routers7.port_buffers17 board.cache_hierarchy.ruby_system.network.routers7.port_buffers18 board.cache_hierarchy.ruby_system.network.routers7.port_buffers19 board.cache_hierarchy.ruby_system.network.routers7.port_buffers20 board.cache_hierarchy.ruby_system.network.routers7.port_buffers21 board.cache_hierarchy.ruby_system.network.routers7.port_buffers22 board.cache_hierarchy.ruby_system.network.routers7.port_buffers23 +power_model= +power_state=board.cache_hierarchy.ruby_system.network.routers7.power_state +router_id=7 +routing_unit=board.cache_hierarchy.ruby_system.network.routers7.routing_unit +virt_nets=3 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers00] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers01] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers02] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers03] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers04] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers05] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers06] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers07] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers08] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers09] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers10] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers11] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers12] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers13] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers14] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers15] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers16] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers17] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers18] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers19] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers20] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers21] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers22] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.port_buffers23] +type=MessageBuffer +allow_zero_latency=true +buffer_size=0 +eventq_index=0 +max_dequeue_rate=0 +ordered=true +randomization=ruby_system +routing_priority=0 + +[board.cache_hierarchy.ruby_system.network.routers7.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.network.routers7.routing_unit] +type=WeightBased +adaptive_routing=false +eventq_index=0 + +[board.cache_hierarchy.ruby_system.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.cache_hierarchy.ruby_system.sys_port_proxy] +type=RubyPortProxy +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +is_cpu_sequencer=true +no_retry_on_stall=false +power_model= +power_state=board.cache_hierarchy.ruby_system.sys_port_proxy.power_state +ruby_system=board.cache_hierarchy.ruby_system +support_data_reqs=true +support_inst_reqs=true +system=board +using_ruby_tester=false +version=0 +in_ports=board.system_port + +[board.cache_hierarchy.ruby_system.sys_port_proxy.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.clk_domain] +type=SrcClockDomain +children=voltage_domain +clock=333 +domain_id=-1 +eventq_index=0 +init_perf_level=0 +voltage_domain=board.clk_domain.voltage_domain + +[board.clk_domain.voltage_domain] +type=VoltageDomain +eventq_index=0 +voltage=1.0 + +[board.dvfs_handler] +type=DVFSHandler +domains= +enable=false +eventq_index=0 +sys_clk_domain=board.clk_domain +transition_latency=100000000 + +[board.iobus] +type=NoncoherentXBar +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +forward_latency=1 +frontend_latency=2 +header_latency=1 +power_model= +power_state=board.iobus.power_state +response_latency=2 +use_default_range=false +width=16 +cpu_side_ports=board.pc.south_bridge.io_apic.int_requestor board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio_request_port board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem_request_port board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio_request_port board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem_request_port board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio_request_port board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem_request_port board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio_request_port board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem_request_port +default=board.pc.default_bus.cpu_side_ports[0] +mem_side_ports=board.pc.south_bridge.cmos.pio board.pc.south_bridge.dma1.pio board.pc.south_bridge.ide.pio board.pc.south_bridge.keyboard.pio board.pc.south_bridge.pic1.pio board.pc.south_bridge.pic2.pio board.pc.south_bridge.pit.pio board.pc.south_bridge.speaker.pio board.pc.south_bridge.io_apic.pio board.pc.com_1.pio board.pc.fake_com_2.pio board.pc.fake_com_3.pio board.pc.fake_com_4.pio board.pc.fake_floppy.pio board.pc.pci_host.pio board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio_response_port board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio_response_port board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio_response_port board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio_response_port board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer.in_ports[0] + +[board.iobus.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.memory] +type=SubSystem +children=mem_ctrl +eventq_index=0 +thermal_domain=Null + +[board.memory.mem_ctrl] +type=MemCtrl +children=dram power_state +clk_domain=board.clk_domain +command_window=10000 +disable_sanity_check=false +dram=board.memory.mem_ctrl.dram +eventq_index=0 +mem_sched_policy=frfcfs +min_reads_per_switch=16 +min_writes_per_switch=16 +power_model= +power_state=board.memory.mem_ctrl.power_state +qos_policy=Null +qos_priorities=1 +qos_priority_escalation=false +qos_q_policy=fifo +qos_requestors= +qos_syncro_scheduler=false +qos_turnaround_policy=Null +static_backend_latency=10000 +static_frontend_latency=10000 +system=board +write_high_thresh_perc=85 +write_low_thresh_perc=50 +port=board.cache_hierarchy.ruby_system.directory_controllers.memory_out_port + +[board.memory.mem_ctrl.dram] +type=DRAMInterface +children=power_state +IDD0=0.055 +IDD02=0.0 +IDD2N=0.032 +IDD2N2=0.0 +IDD2P0=0.0 +IDD2P02=0.0 +IDD2P1=0.032 +IDD2P12=0.0 +IDD3N=0.038 +IDD3N2=0.0 +IDD3P0=0.0 +IDD3P02=0.0 +IDD3P1=0.038 +IDD3P12=0.0 +IDD4R=0.157 +IDD4R2=0.0 +IDD4W=0.125 +IDD4W2=0.0 +IDD5=0.23500000000000001 +IDD52=0.0 +IDD6=0.02 +IDD62=0.0 +VDD=1.5 +VDD2=0.0 +activation_limit=4 +addr_mapping=RoRaBaCoCh +bank_groups_per_rank=0 +banks_per_rank=8 +beats_per_clock=2 +burst_length=8 +clk_domain=board.clk_domain +conf_table_reported=true +data_clock_sync=false +device_bus_width=8 +device_rowbuffer_size=1024 +device_size=536870912 +devices_per_rank=8 +dll=true +enable_dram_powerdown=false +eventq_index=0 +image_file= +in_addr_map=true +kvm_map=true +max_accesses_per_row=16 +null=false +page_policy=open_adaptive +power_model= +power_state=board.memory.mem_ctrl.dram.power_state +range=0:2147483648 +ranks_per_channel=2 +read_buffer_size=32 +tAAD=1250 +tBURST=5000 +tBURST_MAX=5000 +tBURST_MIN=5000 +tCCD_L=0 +tCCD_L_WR=0 +tCK=1250 +tCL=13750 +tCS=2500 +tCWL=13750 +tPPD=0 +tRAS=35000 +tRCD=13750 +tRCD_WR=13750 +tREFI=7800000 +tRFC=260000 +tRP=13750 +tRRD=6000 +tRRD_L=0 +tRTP=7500 +tRTW=2500 +tWR=15000 +tWTR=7500 +tWTR_L=7500 +tXAW=30000 +tXP=6000 +tXPDLL=0 +tXS=270000 +tXSDLL=0 +two_cycle_activate=false +write_buffer_size=64 +writeable=true + +[board.memory.mem_ctrl.dram.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.memory.mem_ctrl.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc] +type=Pc +children=bad_addr com_1 default_bus empty_isa fake_com_2 fake_com_3 fake_com_4 fake_floppy pci_host south_bridge +eventq_index=0 +south_bridge=board.pc.south_bridge +system=board + +[board.pc.bad_addr] +type=IsaFake +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +fake_mem=false +pio_addr=0 +pio_latency=100000 +pio_size=8 +power_model= +power_state=board.pc.bad_addr.power_state +ret_bad_addr=true +ret_data16=65535 +ret_data32=4294967295 +ret_data64=18446744073709551615 +ret_data8=255 +system=board +update_data=false +warn_access= +pio=board.pc.default_bus.default + +[board.pc.bad_addr.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.com_1] +type=Uart8250 +children=device power_state +clk_domain=board.clk_domain +device=board.pc.com_1.device +eventq_index=0 +pio_addr=9223372036854776824 +pio_latency=100000 +pio_size=8 +platform=board.pc +power_model= +power_state=board.pc.com_1.power_state +system=board +pio=board.iobus.mem_side_ports[9] + +[board.pc.com_1.device] +type=Terminal +eventq_index=0 +number=0 +outfile=file +port=#3456 + +[board.pc.com_1.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.default_bus] +type=NoncoherentXBar +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +forward_latency=1 +frontend_latency=2 +header_latency=1 +power_model= +power_state=board.pc.default_bus.power_state +response_latency=2 +use_default_range=false +width=16 +cpu_side_ports=board.iobus.default +default=board.pc.bad_addr.pio +mem_side_ports=board.pc.empty_isa.pio + +[board.pc.default_bus.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.empty_isa] +type=IsaFake +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +fake_mem=false +pio_addr=9223372036854775808 +pio_latency=100000 +pio_size=65536 +power_model= +power_state=board.pc.empty_isa.power_state +ret_bad_addr=false +ret_data16=0 +ret_data32=0 +ret_data64=0 +ret_data8=0 +system=board +update_data=false +warn_access= +pio=board.pc.default_bus.mem_side_ports[0] + +[board.pc.empty_isa.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.fake_com_2] +type=IsaFake +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +fake_mem=false +pio_addr=9223372036854776568 +pio_latency=100000 +pio_size=8 +power_model= +power_state=board.pc.fake_com_2.power_state +ret_bad_addr=false +ret_data16=65535 +ret_data32=4294967295 +ret_data64=18446744073709551615 +ret_data8=255 +system=board +update_data=false +warn_access= +pio=board.iobus.mem_side_ports[10] + +[board.pc.fake_com_2.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.fake_com_3] +type=IsaFake +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +fake_mem=false +pio_addr=9223372036854776808 +pio_latency=100000 +pio_size=8 +power_model= +power_state=board.pc.fake_com_3.power_state +ret_bad_addr=false +ret_data16=65535 +ret_data32=4294967295 +ret_data64=18446744073709551615 +ret_data8=255 +system=board +update_data=false +warn_access= +pio=board.iobus.mem_side_ports[11] + +[board.pc.fake_com_3.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.fake_com_4] +type=IsaFake +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +fake_mem=false +pio_addr=9223372036854776552 +pio_latency=100000 +pio_size=8 +power_model= +power_state=board.pc.fake_com_4.power_state +ret_bad_addr=false +ret_data16=65535 +ret_data32=4294967295 +ret_data64=18446744073709551615 +ret_data8=255 +system=board +update_data=false +warn_access= +pio=board.iobus.mem_side_ports[12] + +[board.pc.fake_com_4.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.fake_floppy] +type=IsaFake +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +fake_mem=false +pio_addr=9223372036854776818 +pio_latency=100000 +pio_size=2 +power_model= +power_state=board.pc.fake_floppy.power_state +ret_bad_addr=false +ret_data16=65535 +ret_data32=4294967295 +ret_data64=18446744073709551615 +ret_data8=255 +system=board +update_data=false +warn_access= +pio=board.iobus.mem_side_ports[13] + +[board.pc.fake_floppy.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.pci_host] +type=GenericPciHost +children=power_state +clk_domain=board.clk_domain +conf_base=13835058055282163712 +conf_device_bits=8 +conf_size=16777216 +eventq_index=0 +pci_dma_base=0 +pci_mem_base=0 +pci_pio_base=9223372036854775808 +platform=board.pc +power_model= +power_state=board.pc.pci_host.power_state +system=board +pio=board.iobus.mem_side_ports[14] + +[board.pc.pci_host.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge] +type=SouthBridge +children=cmos dma1 ide io_apic keyboard pic1 pic2 pit speaker +cmos=board.pc.south_bridge.cmos +dma1=board.pc.south_bridge.dma1 +eventq_index=0 +io_apic=board.pc.south_bridge.io_apic +keyboard=board.pc.south_bridge.keyboard +pic1=board.pc.south_bridge.pic1 +pic2=board.pc.south_bridge.pic2 +pit=board.pc.south_bridge.pit +speaker=board.pc.south_bridge.speaker + +[board.pc.south_bridge.cmos] +type=Cmos +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +pio_addr=9223372036854775920 +pio_latency=100000 +power_model= +power_state=board.pc.south_bridge.cmos.power_state +system=board +time=Sun Jan 1 00:00:00 2012 +int_pin=board.pc.south_bridge.pic2.inputs[0] +pio=board.iobus.mem_side_ports[0] + +[board.pc.south_bridge.cmos.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge.dma1] +type=I8237 +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +pio_addr=9223372036854775808 +pio_latency=100000 +power_model= +power_state=board.pc.south_bridge.dma1.power_state +system=board +pio=board.iobus.mem_side_ports[1] + +[board.pc.south_bridge.dma1.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge.ide] +type=X86IdeController +children=BAR0 BAR1 BAR2 BAR3 BAR4 BAR5 disks power_state +BAR0=board.pc.south_bridge.ide.BAR0 +BAR1=board.pc.south_bridge.ide.BAR1 +BAR2=board.pc.south_bridge.ide.BAR2 +BAR3=board.pc.south_bridge.ide.BAR3 +BAR4=board.pc.south_bridge.ide.BAR4 +BAR5=board.pc.south_bridge.ide.BAR5 +BIST=0 +CacheLineSize=0 +CapabilityPtr=0 +CardbusCIS=0 +ClassCode=1 +Command=0 +DeviceID=28945 +ExpansionROM=0 +HeaderType=0 +InterruptLine=255 +InterruptPin=1 +LatencyTimer=0 +MSICAPBaseOffset=0 +MSICAPCapId=0 +MSICAPMaskBits=0 +MSICAPMsgAddr=0 +MSICAPMsgCtrl=0 +MSICAPMsgData=0 +MSICAPMsgUpperAddr=0 +MSICAPNextCapability=0 +MSICAPPendingBits=0 +MSIXCAPBaseOffset=0 +MSIXCAPCapId=0 +MSIXCAPNextCapability=0 +MSIXMsgCtrl=0 +MSIXPbaOffset=0 +MSIXTableOffset=0 +MaximumLatency=0 +MinimumGrant=0 +PMCAPBaseOffset=0 +PMCAPCapId=0 +PMCAPCapabilities=0 +PMCAPCtrlStatus=0 +PMCAPNextCapability=0 +PXCAPBaseOffset=0 +PXCAPCapId=0 +PXCAPCapabilities=0 +PXCAPDevCap2=0 +PXCAPDevCapabilities=0 +PXCAPDevCtrl=0 +PXCAPDevCtrl2=0 +PXCAPDevStatus=0 +PXCAPLinkCap=0 +PXCAPLinkCtrl=0 +PXCAPLinkStatus=0 +PXCAPNextCapability=0 +ProgIF=128 +Revision=0 +Status=640 +SubClassCode=1 +SubsystemID=0 +SubsystemVendorID=0 +VendorID=32902 +clk_domain=board.clk_domain +config_latency=20000 +ctrl_offset=0 +disks=board.pc.south_bridge.ide.disks +eventq_index=0 +host=board.pc.pci_host +io_shift=0 +pci_bus=0 +pci_dev=4 +pci_func=0 +pio_latency=30000 +power_model= +power_state=board.pc.south_bridge.ide.power_state +sid=0 +ssid=0 +system=board +dma=board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer.in_ports[0] +int_primary=board.pc.south_bridge.pic2.inputs[6] board.pc.south_bridge.io_apic.inputs[14] +int_secondary=board.pc.south_bridge.pic2.inputs[7] board.pc.south_bridge.io_apic.inputs[15] +pio=board.iobus.mem_side_ports[2] + +[board.pc.south_bridge.ide.BAR0] +type=PciLegacyIoBar +addr=496 +eventq_index=0 +size=8 + +[board.pc.south_bridge.ide.BAR1] +type=PciLegacyIoBar +addr=1012 +eventq_index=0 +size=3 + +[board.pc.south_bridge.ide.BAR2] +type=PciLegacyIoBar +addr=368 +eventq_index=0 +size=8 + +[board.pc.south_bridge.ide.BAR3] +type=PciLegacyIoBar +addr=884 +eventq_index=0 +size=3 + +[board.pc.south_bridge.ide.BAR4] +type=PciIoBar +eventq_index=0 +size=16 + +[board.pc.south_bridge.ide.BAR5] +type=PciBarNone +eventq_index=0 + +[board.pc.south_bridge.ide.disks] +type=IdeDisk +children=image +delay=1000000 +driveID=device0 +eventq_index=0 +image=board.pc.south_bridge.ide.disks.image + +[board.pc.south_bridge.ide.disks.image] +type=CowDiskImage +children=child +child=board.pc.south_bridge.ide.disks.image.child +eventq_index=0 +image_file= +read_only=false +table_size=65536 + +[board.pc.south_bridge.ide.disks.image.child] +type=RawDiskImage +eventq_index=0 +image_file=/home/carlos/.cache/gem5/x86-ubuntu-18.04-img +read_only=true + +[board.pc.south_bridge.ide.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge.io_apic] +type=I82094AA +children=power_state +apic_id=4 +clk_domain=board.clk_domain +eventq_index=0 +int_latency=1000 +pio_addr=4273995776 +pio_latency=100000 +power_model= +power_state=board.pc.south_bridge.io_apic.power_state +system=board +inputs=board.pc.south_bridge.pic1.output[0] board.pc.south_bridge.keyboard.keyboard_int_pin[0] board.pc.south_bridge.pit.int_pin[1] None None None None None None None None None board.pc.south_bridge.keyboard.mouse_int_pin[0] None board.pc.south_bridge.ide.int_primary[1] board.pc.south_bridge.ide.int_secondary[1] +int_requestor=board.iobus.cpu_side_ports[0] +pio=board.iobus.mem_side_ports[8] + +[board.pc.south_bridge.io_apic.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge.keyboard] +type=I8042 +children=keyboard mouse power_state +clk_domain=board.clk_domain +command_port=9223372036854775908 +data_port=9223372036854775904 +eventq_index=0 +keyboard=board.pc.south_bridge.keyboard.keyboard +mouse=board.pc.south_bridge.keyboard.mouse +pio_latency=100000 +power_model= +power_state=board.pc.south_bridge.keyboard.power_state +system=board +keyboard_int_pin=board.pc.south_bridge.io_apic.inputs[1] +mouse_int_pin=board.pc.south_bridge.io_apic.inputs[12] +pio=board.iobus.mem_side_ports[3] + +[board.pc.south_bridge.keyboard.keyboard] +type=PS2Keyboard +eventq_index=0 +vnc=Null + +[board.pc.south_bridge.keyboard.mouse] +type=PS2Mouse +eventq_index=0 + +[board.pc.south_bridge.keyboard.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge.pic1] +type=I8259 +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +mode=I8259Master +pio_addr=9223372036854775840 +pio_latency=100000 +power_model= +power_state=board.pc.south_bridge.pic1.power_state +slave=board.pc.south_bridge.pic2 +system=board +inputs=board.pc.south_bridge.pit.int_pin[0] None board.pc.south_bridge.pic2.output[0] +output=board.pc.south_bridge.io_apic.inputs[0] +pio=board.iobus.mem_side_ports[4] + +[board.pc.south_bridge.pic1.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge.pic2] +type=I8259 +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +mode=I8259Slave +pio_addr=9223372036854775968 +pio_latency=100000 +power_model= +power_state=board.pc.south_bridge.pic2.power_state +slave=Null +system=board +inputs=board.pc.south_bridge.cmos.int_pin[0] None None None None None board.pc.south_bridge.ide.int_primary[0] board.pc.south_bridge.ide.int_secondary[0] +output=board.pc.south_bridge.pic1.inputs[2] +pio=board.iobus.mem_side_ports[5] + +[board.pc.south_bridge.pic2.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge.pit] +type=I8254 +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +pio_addr=9223372036854775872 +pio_latency=100000 +power_model= +power_state=board.pc.south_bridge.pit.power_state +system=board +int_pin=board.pc.south_bridge.pic1.inputs[0] board.pc.south_bridge.io_apic.inputs[2] +pio=board.iobus.mem_side_ports[6] + +[board.pc.south_bridge.pit.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.pc.south_bridge.speaker] +type=PcSpeaker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +i8254=board.pc.south_bridge.pit +pio_addr=9223372036854775905 +pio_latency=100000 +power_model= +power_state=board.pc.south_bridge.speaker.power_state +system=board +pio=board.iobus.mem_side_ports[7] + +[board.pc.south_bridge.speaker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor] +type=SubSystem +children=cores0 cores1 cores2 cores3 +eventq_index=0 +thermal_domain=Null + +[board.processor.cores0] +type=SubSystem +children=core +eventq_index=0 +thermal_domain=Null + +[board.processor.cores0.core] +type=BaseTimingSimpleCPU +children=decoder interrupts isa mmu power_state tracer +branchPred=Null +checker=Null +clk_domain=board.clk_domain +cpu_id=0 +decoder=board.processor.cores0.core.decoder +do_checkpoint_insts=true +do_statistics_insts=true +eventq_index=0 +function_trace=false +function_trace_start=0 +interrupts=board.processor.cores0.core.interrupts +isa=board.processor.cores0.core.isa +max_insts_all_threads=0 +max_insts_any_thread=0 +mmu=board.processor.cores0.core.mmu +numThreads=1 +power_gating_on_idle=false +power_model= +power_state=board.processor.cores0.core.power_state +progress_interval=0 +pwr_gating_latency=300 +simpoint_start_insts= +socket_id=0 +switched_out=false +syscallRetryLatency=10000 +system=board +tracer=board.processor.cores0.core.tracer +workload= +dcache_port=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[1] +icache_port=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[0] + +[board.processor.cores0.core.decoder] +type=X86Decoder +eventq_index=0 +isa=board.processor.cores0.core.isa + +[board.processor.cores0.core.interrupts] +type=X86LocalApic +children=clk_domain +clk_domain=board.processor.cores0.core.interrupts.clk_domain +eventq_index=0 +int_latency=1000 +pio_latency=100000 +system=board +int_requestor=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[4] +int_responder=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.interrupt_out_port[1] +pio=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.interrupt_out_port[0] + +[board.processor.cores0.core.interrupts.clk_domain] +type=DerivedClockDomain +clk_divider=16 +clk_domain=board.clk_domain +eventq_index=0 + +[board.processor.cores0.core.isa] +type=X86ISA +eventq_index=0 +vendor_string=HygonGenuine + +[board.processor.cores0.core.mmu] +type=X86MMU +children=dtb itb +dtb=board.processor.cores0.core.mmu.dtb +eventq_index=0 +itb=board.processor.cores0.core.mmu.itb + +[board.processor.cores0.core.mmu.dtb] +type=X86TLB +children=walker +entry_type=data +eventq_index=0 +next_level=Null +size=64 +system=board +walker=board.processor.cores0.core.mmu.dtb.walker + +[board.processor.cores0.core.mmu.dtb.walker] +type=X86PagetableWalker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +num_squash_per_cycle=4 +power_model= +power_state=board.processor.cores0.core.mmu.dtb.walker.power_state +system=board +port=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[3] + +[board.processor.cores0.core.mmu.dtb.walker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor.cores0.core.mmu.itb] +type=X86TLB +children=walker +entry_type=instruction +eventq_index=0 +next_level=Null +size=64 +system=board +walker=board.processor.cores0.core.mmu.itb.walker + +[board.processor.cores0.core.mmu.itb.walker] +type=X86PagetableWalker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +num_squash_per_cycle=4 +power_model= +power_state=board.processor.cores0.core.mmu.itb.walker.power_state +system=board +port=board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[2] + +[board.processor.cores0.core.mmu.itb.walker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor.cores0.core.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states=ON CLK_GATED OFF + +[board.processor.cores0.core.tracer] +type=ExeTracer +eventq_index=0 + +[board.processor.cores1] +type=SubSystem +children=core +eventq_index=0 +thermal_domain=Null + +[board.processor.cores1.core] +type=BaseTimingSimpleCPU +children=decoder interrupts isa mmu power_state tracer +branchPred=Null +checker=Null +clk_domain=board.clk_domain +cpu_id=1 +decoder=board.processor.cores1.core.decoder +do_checkpoint_insts=true +do_statistics_insts=true +eventq_index=0 +function_trace=false +function_trace_start=0 +interrupts=board.processor.cores1.core.interrupts +isa=board.processor.cores1.core.isa +max_insts_all_threads=0 +max_insts_any_thread=0 +mmu=board.processor.cores1.core.mmu +numThreads=1 +power_gating_on_idle=false +power_model= +power_state=board.processor.cores1.core.power_state +progress_interval=0 +pwr_gating_latency=300 +simpoint_start_insts= +socket_id=0 +switched_out=false +syscallRetryLatency=10000 +system=board +tracer=board.processor.cores1.core.tracer +workload= +dcache_port=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[1] +icache_port=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[0] + +[board.processor.cores1.core.decoder] +type=X86Decoder +eventq_index=0 +isa=board.processor.cores1.core.isa + +[board.processor.cores1.core.interrupts] +type=X86LocalApic +children=clk_domain +clk_domain=board.processor.cores1.core.interrupts.clk_domain +eventq_index=0 +int_latency=1000 +pio_latency=100000 +system=board +int_requestor=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[4] +int_responder=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.interrupt_out_port[1] +pio=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.interrupt_out_port[0] + +[board.processor.cores1.core.interrupts.clk_domain] +type=DerivedClockDomain +clk_divider=16 +clk_domain=board.clk_domain +eventq_index=0 + +[board.processor.cores1.core.isa] +type=X86ISA +eventq_index=0 +vendor_string=HygonGenuine + +[board.processor.cores1.core.mmu] +type=X86MMU +children=dtb itb +dtb=board.processor.cores1.core.mmu.dtb +eventq_index=0 +itb=board.processor.cores1.core.mmu.itb + +[board.processor.cores1.core.mmu.dtb] +type=X86TLB +children=walker +entry_type=data +eventq_index=0 +next_level=Null +size=64 +system=board +walker=board.processor.cores1.core.mmu.dtb.walker + +[board.processor.cores1.core.mmu.dtb.walker] +type=X86PagetableWalker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +num_squash_per_cycle=4 +power_model= +power_state=board.processor.cores1.core.mmu.dtb.walker.power_state +system=board +port=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[3] + +[board.processor.cores1.core.mmu.dtb.walker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor.cores1.core.mmu.itb] +type=X86TLB +children=walker +entry_type=instruction +eventq_index=0 +next_level=Null +size=64 +system=board +walker=board.processor.cores1.core.mmu.itb.walker + +[board.processor.cores1.core.mmu.itb.walker] +type=X86PagetableWalker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +num_squash_per_cycle=4 +power_model= +power_state=board.processor.cores1.core.mmu.itb.walker.power_state +system=board +port=board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[2] + +[board.processor.cores1.core.mmu.itb.walker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor.cores1.core.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states=ON CLK_GATED OFF + +[board.processor.cores1.core.tracer] +type=ExeTracer +eventq_index=0 + +[board.processor.cores2] +type=SubSystem +children=core +eventq_index=0 +thermal_domain=Null + +[board.processor.cores2.core] +type=BaseTimingSimpleCPU +children=decoder interrupts isa mmu power_state tracer +branchPred=Null +checker=Null +clk_domain=board.clk_domain +cpu_id=2 +decoder=board.processor.cores2.core.decoder +do_checkpoint_insts=true +do_statistics_insts=true +eventq_index=0 +function_trace=false +function_trace_start=0 +interrupts=board.processor.cores2.core.interrupts +isa=board.processor.cores2.core.isa +max_insts_all_threads=0 +max_insts_any_thread=0 +mmu=board.processor.cores2.core.mmu +numThreads=1 +power_gating_on_idle=false +power_model= +power_state=board.processor.cores2.core.power_state +progress_interval=0 +pwr_gating_latency=300 +simpoint_start_insts= +socket_id=0 +switched_out=false +syscallRetryLatency=10000 +system=board +tracer=board.processor.cores2.core.tracer +workload= +dcache_port=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[1] +icache_port=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[0] + +[board.processor.cores2.core.decoder] +type=X86Decoder +eventq_index=0 +isa=board.processor.cores2.core.isa + +[board.processor.cores2.core.interrupts] +type=X86LocalApic +children=clk_domain +clk_domain=board.processor.cores2.core.interrupts.clk_domain +eventq_index=0 +int_latency=1000 +pio_latency=100000 +system=board +int_requestor=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[4] +int_responder=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.interrupt_out_port[1] +pio=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.interrupt_out_port[0] + +[board.processor.cores2.core.interrupts.clk_domain] +type=DerivedClockDomain +clk_divider=16 +clk_domain=board.clk_domain +eventq_index=0 + +[board.processor.cores2.core.isa] +type=X86ISA +eventq_index=0 +vendor_string=HygonGenuine + +[board.processor.cores2.core.mmu] +type=X86MMU +children=dtb itb +dtb=board.processor.cores2.core.mmu.dtb +eventq_index=0 +itb=board.processor.cores2.core.mmu.itb + +[board.processor.cores2.core.mmu.dtb] +type=X86TLB +children=walker +entry_type=data +eventq_index=0 +next_level=Null +size=64 +system=board +walker=board.processor.cores2.core.mmu.dtb.walker + +[board.processor.cores2.core.mmu.dtb.walker] +type=X86PagetableWalker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +num_squash_per_cycle=4 +power_model= +power_state=board.processor.cores2.core.mmu.dtb.walker.power_state +system=board +port=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[3] + +[board.processor.cores2.core.mmu.dtb.walker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor.cores2.core.mmu.itb] +type=X86TLB +children=walker +entry_type=instruction +eventq_index=0 +next_level=Null +size=64 +system=board +walker=board.processor.cores2.core.mmu.itb.walker + +[board.processor.cores2.core.mmu.itb.walker] +type=X86PagetableWalker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +num_squash_per_cycle=4 +power_model= +power_state=board.processor.cores2.core.mmu.itb.walker.power_state +system=board +port=board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[2] + +[board.processor.cores2.core.mmu.itb.walker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor.cores2.core.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states=ON CLK_GATED OFF + +[board.processor.cores2.core.tracer] +type=ExeTracer +eventq_index=0 + +[board.processor.cores3] +type=SubSystem +children=core +eventq_index=0 +thermal_domain=Null + +[board.processor.cores3.core] +type=BaseTimingSimpleCPU +children=decoder interrupts isa mmu power_state tracer +branchPred=Null +checker=Null +clk_domain=board.clk_domain +cpu_id=3 +decoder=board.processor.cores3.core.decoder +do_checkpoint_insts=true +do_statistics_insts=true +eventq_index=0 +function_trace=false +function_trace_start=0 +interrupts=board.processor.cores3.core.interrupts +isa=board.processor.cores3.core.isa +max_insts_all_threads=0 +max_insts_any_thread=0 +mmu=board.processor.cores3.core.mmu +numThreads=1 +power_gating_on_idle=false +power_model= +power_state=board.processor.cores3.core.power_state +progress_interval=0 +pwr_gating_latency=300 +simpoint_start_insts= +socket_id=0 +switched_out=false +syscallRetryLatency=10000 +system=board +tracer=board.processor.cores3.core.tracer +workload= +dcache_port=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[1] +icache_port=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[0] + +[board.processor.cores3.core.decoder] +type=X86Decoder +eventq_index=0 +isa=board.processor.cores3.core.isa + +[board.processor.cores3.core.interrupts] +type=X86LocalApic +children=clk_domain +clk_domain=board.processor.cores3.core.interrupts.clk_domain +eventq_index=0 +int_latency=1000 +pio_latency=100000 +system=board +int_requestor=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[4] +int_responder=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.interrupt_out_port[1] +pio=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.interrupt_out_port[0] + +[board.processor.cores3.core.interrupts.clk_domain] +type=DerivedClockDomain +clk_divider=16 +clk_domain=board.clk_domain +eventq_index=0 + +[board.processor.cores3.core.isa] +type=X86ISA +eventq_index=0 +vendor_string=HygonGenuine + +[board.processor.cores3.core.mmu] +type=X86MMU +children=dtb itb +dtb=board.processor.cores3.core.mmu.dtb +eventq_index=0 +itb=board.processor.cores3.core.mmu.itb + +[board.processor.cores3.core.mmu.dtb] +type=X86TLB +children=walker +entry_type=data +eventq_index=0 +next_level=Null +size=64 +system=board +walker=board.processor.cores3.core.mmu.dtb.walker + +[board.processor.cores3.core.mmu.dtb.walker] +type=X86PagetableWalker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +num_squash_per_cycle=4 +power_model= +power_state=board.processor.cores3.core.mmu.dtb.walker.power_state +system=board +port=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[3] + +[board.processor.cores3.core.mmu.dtb.walker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor.cores3.core.mmu.itb] +type=X86TLB +children=walker +entry_type=instruction +eventq_index=0 +next_level=Null +size=64 +system=board +walker=board.processor.cores3.core.mmu.itb.walker + +[board.processor.cores3.core.mmu.itb.walker] +type=X86PagetableWalker +children=power_state +clk_domain=board.clk_domain +eventq_index=0 +num_squash_per_cycle=4 +power_model= +power_state=board.processor.cores3.core.mmu.itb.walker.power_state +system=board +port=board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[2] + +[board.processor.cores3.core.mmu.itb.walker.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states= + +[board.processor.cores3.core.power_state] +type=PowerState +clk_gate_bins=20 +clk_gate_max=1000000000000 +clk_gate_min=1000 +default_state=UNDEFINED +eventq_index=0 +leaders= +possible_states=ON CLK_GATED OFF + +[board.processor.cores3.core.tracer] +type=ExeTracer +eventq_index=0 + +[board.workload] +type=X86FsLinux +children=acpi_description_table_pointer e820_table intel_mp_pointer intel_mp_table smbios_table +acpi_description_table_pointer=board.workload.acpi_description_table_pointer +addr_check=true +command_line=earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=/dev/hda1 +e820_table=board.workload.e820_table +eventq_index=0 +extras= +extras_addrs= +intel_mp_pointer=board.workload.intel_mp_pointer +intel_mp_table=board.workload.intel_mp_table +load_addr_mask=18446744073709551615 +load_addr_offset=0 +object_file=/home/carlos/.cache/gem5/x86-linux-kernel-5.4.49 +remote_gdb_port=#7000 +smbios_table=board.workload.smbios_table +wait_for_remote_gdb=false + +[board.workload.acpi_description_table_pointer] +type=X86ACPIRSDP +children=rsdt xsdt +eventq_index=0 +oem_id= +revision=2 +rsdt=board.workload.acpi_description_table_pointer.rsdt +xsdt=board.workload.acpi_description_table_pointer.xsdt + +[board.workload.acpi_description_table_pointer.rsdt] +type=X86ACPIRSDT +creator_id=0 +creator_revision=0 +entries= +eventq_index=0 +oem_id= +oem_revision=0 +oem_table_id= + +[board.workload.acpi_description_table_pointer.xsdt] +type=X86ACPIXSDT +creator_id=0 +creator_revision=0 +entries= +eventq_index=0 +oem_id= +oem_revision=0 +oem_table_id= + +[board.workload.e820_table] +type=X86E820Table +children=entries0 entries1 entries2 entries3 +entries=board.workload.e820_table.entries0 board.workload.e820_table.entries1 board.workload.e820_table.entries2 board.workload.e820_table.entries3 +eventq_index=0 + +[board.workload.e820_table.entries0] +type=X86E820Entry +addr=0 +eventq_index=0 +range_type=1 +size=654336 + +[board.workload.e820_table.entries1] +type=X86E820Entry +addr=654336 +eventq_index=0 +range_type=2 +size=394240 + +[board.workload.e820_table.entries2] +type=X86E820Entry +addr=1048576 +eventq_index=0 +range_type=1 +size=2146435072 + +[board.workload.e820_table.entries3] +type=X86E820Entry +addr=4294901760 +eventq_index=0 +range_type=2 +size=65536 + +[board.workload.intel_mp_pointer] +type=X86IntelMPFloatingPointer +default_config=0 +eventq_index=0 +imcr_present=true +spec_rev=4 + +[board.workload.intel_mp_table] +type=X86IntelMPConfigTable +children=base_entries00 base_entries01 base_entries02 base_entries03 base_entries04 base_entries05 base_entries06 base_entries07 base_entries08 base_entries09 base_entries10 base_entries11 base_entries12 base_entries13 base_entries14 base_entries15 base_entries16 base_entries17 base_entries18 base_entries19 base_entries20 base_entries21 base_entries22 base_entries23 base_entries24 base_entries25 base_entries26 base_entries27 base_entries28 base_entries29 base_entries30 base_entries31 base_entries32 base_entries33 base_entries34 base_entries35 ext_entries +base_entries=board.workload.intel_mp_table.base_entries00 board.workload.intel_mp_table.base_entries01 board.workload.intel_mp_table.base_entries02 board.workload.intel_mp_table.base_entries03 board.workload.intel_mp_table.base_entries04 board.workload.intel_mp_table.base_entries05 board.workload.intel_mp_table.base_entries06 board.workload.intel_mp_table.base_entries07 board.workload.intel_mp_table.base_entries08 board.workload.intel_mp_table.base_entries09 board.workload.intel_mp_table.base_entries10 board.workload.intel_mp_table.base_entries11 board.workload.intel_mp_table.base_entries12 board.workload.intel_mp_table.base_entries13 board.workload.intel_mp_table.base_entries14 board.workload.intel_mp_table.base_entries15 board.workload.intel_mp_table.base_entries16 board.workload.intel_mp_table.base_entries17 board.workload.intel_mp_table.base_entries18 board.workload.intel_mp_table.base_entries19 board.workload.intel_mp_table.base_entries20 board.workload.intel_mp_table.base_entries21 board.workload.intel_mp_table.base_entries22 board.workload.intel_mp_table.base_entries23 board.workload.intel_mp_table.base_entries24 board.workload.intel_mp_table.base_entries25 board.workload.intel_mp_table.base_entries26 board.workload.intel_mp_table.base_entries27 board.workload.intel_mp_table.base_entries28 board.workload.intel_mp_table.base_entries29 board.workload.intel_mp_table.base_entries30 board.workload.intel_mp_table.base_entries31 board.workload.intel_mp_table.base_entries32 board.workload.intel_mp_table.base_entries33 board.workload.intel_mp_table.base_entries34 board.workload.intel_mp_table.base_entries35 +eventq_index=0 +ext_entries=board.workload.intel_mp_table.ext_entries +local_apic=4276092928 +oem_id= +oem_table_addr=0 +oem_table_size=0 +product_id= +spec_rev=4 + +[board.workload.intel_mp_table.base_entries00] +type=X86IntelMPProcessor +bootstrap=true +enable=true +eventq_index=0 +family=0 +feature_flags=0 +local_apic_id=0 +local_apic_version=20 +model=0 +stepping=0 + +[board.workload.intel_mp_table.base_entries01] +type=X86IntelMPProcessor +bootstrap=false +enable=true +eventq_index=0 +family=0 +feature_flags=0 +local_apic_id=1 +local_apic_version=20 +model=0 +stepping=0 + +[board.workload.intel_mp_table.base_entries02] +type=X86IntelMPProcessor +bootstrap=false +enable=true +eventq_index=0 +family=0 +feature_flags=0 +local_apic_id=2 +local_apic_version=20 +model=0 +stepping=0 + +[board.workload.intel_mp_table.base_entries03] +type=X86IntelMPProcessor +bootstrap=false +enable=true +eventq_index=0 +family=0 +feature_flags=0 +local_apic_id=3 +local_apic_version=20 +model=0 +stepping=0 + +[board.workload.intel_mp_table.base_entries04] +type=X86IntelMPIOAPIC +address=4273995776 +enable=true +eventq_index=0 +id=4 +version=17 + +[board.workload.intel_mp_table.base_entries05] +type=X86IntelMPBus +bus_id=0 +bus_type=PCI +eventq_index=0 + +[board.workload.intel_mp_table.base_entries06] +type=X86IntelMPBus +bus_id=1 +bus_type=ISA +eventq_index=0 + +[board.workload.intel_mp_table.base_entries07] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=16 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=0 +source_bus_irq=16 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries08] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=0 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries09] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=2 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=0 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries10] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=1 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries11] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=1 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=1 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries12] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=3 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries13] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=3 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=3 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries14] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=4 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries15] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=4 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=4 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries16] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=5 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries17] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=5 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=5 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries18] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=6 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries19] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=6 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=6 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries20] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=7 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries21] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=7 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=7 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries22] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=8 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries23] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=8 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=8 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries24] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=9 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries25] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=9 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=9 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries26] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=10 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries27] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=10 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=10 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries28] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=11 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries29] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=11 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=11 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries30] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=12 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries31] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=12 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=12 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries32] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=13 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries33] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=13 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=13 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries34] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=0 +eventq_index=0 +interrupt_type=ExtInt +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=14 +trigger=ConformTrigger + +[board.workload.intel_mp_table.base_entries35] +type=X86IntelMPIOIntAssignment +dest_io_apic_id=4 +dest_io_apic_intin=14 +eventq_index=0 +interrupt_type=INT +polarity=ConformPolarity +source_bus_id=1 +source_bus_irq=14 +trigger=ConformTrigger + +[board.workload.intel_mp_table.ext_entries] +type=X86IntelMPBusHierarchy +bus_id=1 +eventq_index=0 +parent_bus=0 +subtractive_decode=true + +[board.workload.smbios_table] +type=X86SMBiosSMBiosTable +children=structures +eventq_index=0 +major_version=2 +minor_version=5 +structures=board.workload.smbios_table.structures + +[board.workload.smbios_table.structures] +type=X86SMBiosBiosInformation +characteristic_ext_bytes= +characteristics= +emb_cont_firmware_major=0 +emb_cont_firmware_minor=0 +eventq_index=0 +major=0 +minor=0 +release_date=06/08/2008 +rom_size=0 +starting_addr_segment=0 +vendor= +version= + +[root] +type=Root +children=board +eventq_index=0 +full_system=true +sim_quantum=0 +time_sync_enable=false +time_sync_period=100000000000 +time_sync_spin_threshold=100000000 + diff --git a/m5out/config.json b/m5out/config.json new file mode 100644 index 0000000..ca4ce94 --- /dev/null +++ b/m5out/config.json @@ -0,0 +1,10769 @@ +{ + "type": "Root", + "cxx_class": "gem5::Root", + "name": null, + "path": "root", + "eventq_index": 0, + "full_system": true, + "sim_quantum": 0, + "time_sync_enable": false, + "time_sync_period": 100000000000, + "time_sync_spin_threshold": 100000000, + "board": { + "type": "System", + "cxx_class": "gem5::System", + "name": "board", + "path": "board", + "auto_unlink_shared_backstore": false, + "cache_line_size": 64, + "eventq_index": 0, + "exit_on_work_items": true, + "init_param": 0, + "m5ops_base": 4294901760, + "mem_mode": "timing", + "mem_ranges": [ + "0:2147483648", + "3221225472:3222274048" + ], + "memories": [ + "board.memory.mem_ctrl.dram" + ], + "mmap_using_noreserve": false, + "multi_thread": false, + "num_work_ids": 16, + "readfile": "", + "redirect_paths": [], + "shadow_rom_ranges": [], + "shared_backstore": "", + "symbolfile": "", + "thermal_components": [], + "thermal_model": null, + "work_begin_ckpt_count": 0, + "work_begin_cpu_id_exit": -1, + "work_begin_exit_count": 0, + "work_cpus_ckpt_count": 0, + "work_end_ckpt_count": 0, + "work_end_exit_count": 0, + "work_item_id": -1, + "workload": { + "type": "X86FsLinux", + "cxx_class": "gem5::X86ISA::FsLinux", + "name": "workload", + "path": "board.workload", + "acpi_description_table_pointer": { + "type": "X86ACPIRSDP", + "cxx_class": "gem5::X86ISA::ACPI::RSDP", + "name": "acpi_description_table_pointer", + "path": "board.workload.acpi_description_table_pointer", + "eventq_index": 0, + "oem_id": "", + "revision": 2, + "rsdt": { + "type": "X86ACPIRSDT", + "cxx_class": "gem5::X86ISA::ACPI::RSDT", + "name": "rsdt", + "path": "board.workload.acpi_description_table_pointer.rsdt", + "creator_id": 0, + "creator_revision": 0, + "entries": [], + "eventq_index": 0, + "oem_id": "", + "oem_revision": 0, + "oem_table_id": "" + }, + "xsdt": { + "type": "X86ACPIXSDT", + "cxx_class": "gem5::X86ISA::ACPI::XSDT", + "name": "xsdt", + "path": "board.workload.acpi_description_table_pointer.xsdt", + "creator_id": 0, + "creator_revision": 0, + "entries": [], + "eventq_index": 0, + "oem_id": "", + "oem_revision": 0, + "oem_table_id": "" + } + }, + "addr_check": true, + "command_line": "earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=/dev/hda1", + "e820_table": { + "type": "X86E820Table", + "cxx_class": "gem5::X86ISA::E820Table", + "name": "e820_table", + "path": "board.workload.e820_table", + "entries": [ + { + "type": "X86E820Entry", + "cxx_class": "gem5::X86ISA::E820Entry", + "name": "entries0", + "path": "board.workload.e820_table.entries0", + "addr": 0, + "eventq_index": 0, + "range_type": 1, + "size": 654336 + }, + { + "type": "X86E820Entry", + "cxx_class": "gem5::X86ISA::E820Entry", + "name": "entries1", + "path": "board.workload.e820_table.entries1", + "addr": 654336, + "eventq_index": 0, + "range_type": 2, + "size": 394240 + }, + { + "type": "X86E820Entry", + "cxx_class": "gem5::X86ISA::E820Entry", + "name": "entries2", + "path": "board.workload.e820_table.entries2", + "addr": 1048576, + "eventq_index": 0, + "range_type": 1, + "size": 2146435072 + }, + { + "type": "X86E820Entry", + "cxx_class": "gem5::X86ISA::E820Entry", + "name": "entries3", + "path": "board.workload.e820_table.entries3", + "addr": 4294901760, + "eventq_index": 0, + "range_type": 2, + "size": 65536 + } + ], + "eventq_index": 0 + }, + "eventq_index": 0, + "extras": [], + "extras_addrs": [], + "intel_mp_pointer": { + "type": "X86IntelMPFloatingPointer", + "cxx_class": "gem5::X86ISA::intelmp::FloatingPointer", + "name": "intel_mp_pointer", + "path": "board.workload.intel_mp_pointer", + "default_config": 0, + "eventq_index": 0, + "imcr_present": true, + "spec_rev": 4 + }, + "intel_mp_table": { + "type": "X86IntelMPConfigTable", + "cxx_class": "gem5::X86ISA::intelmp::ConfigTable", + "name": "intel_mp_table", + "path": "board.workload.intel_mp_table", + "base_entries": [ + { + "type": "X86IntelMPProcessor", + "cxx_class": "gem5::X86ISA::intelmp::Processor", + "name": "base_entries00", + "path": "board.workload.intel_mp_table.base_entries00", + "bootstrap": true, + "enable": true, + "eventq_index": 0, + "family": 0, + "feature_flags": 0, + "local_apic_id": 0, + "local_apic_version": 20, + "model": 0, + "stepping": 0 + }, + { + "type": "X86IntelMPProcessor", + "cxx_class": "gem5::X86ISA::intelmp::Processor", + "name": "base_entries01", + "path": "board.workload.intel_mp_table.base_entries01", + "bootstrap": false, + "enable": true, + "eventq_index": 0, + "family": 0, + "feature_flags": 0, + "local_apic_id": 1, + "local_apic_version": 20, + "model": 0, + "stepping": 0 + }, + { + "type": "X86IntelMPProcessor", + "cxx_class": "gem5::X86ISA::intelmp::Processor", + "name": "base_entries02", + "path": "board.workload.intel_mp_table.base_entries02", + "bootstrap": false, + "enable": true, + "eventq_index": 0, + "family": 0, + "feature_flags": 0, + "local_apic_id": 2, + "local_apic_version": 20, + "model": 0, + "stepping": 0 + }, + { + "type": "X86IntelMPProcessor", + "cxx_class": "gem5::X86ISA::intelmp::Processor", + "name": "base_entries03", + "path": "board.workload.intel_mp_table.base_entries03", + "bootstrap": false, + "enable": true, + "eventq_index": 0, + "family": 0, + "feature_flags": 0, + "local_apic_id": 3, + "local_apic_version": 20, + "model": 0, + "stepping": 0 + }, + { + "type": "X86IntelMPIOAPIC", + "cxx_class": "gem5::X86ISA::intelmp::IOAPIC", + "name": "base_entries04", + "path": "board.workload.intel_mp_table.base_entries04", + "address": 4273995776, + "enable": true, + "eventq_index": 0, + "id": 4, + "version": 17 + }, + { + "type": "X86IntelMPBus", + "cxx_class": "gem5::X86ISA::intelmp::Bus", + "name": "base_entries05", + "path": "board.workload.intel_mp_table.base_entries05", + "bus_id": 0, + "bus_type": "PCI ", + "eventq_index": 0 + }, + { + "type": "X86IntelMPBus", + "cxx_class": "gem5::X86ISA::intelmp::Bus", + "name": "base_entries06", + "path": "board.workload.intel_mp_table.base_entries06", + "bus_id": 1, + "bus_type": "ISA ", + "eventq_index": 0 + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries07", + "path": "board.workload.intel_mp_table.base_entries07", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 16, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 0, + "source_bus_irq": 16, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries08", + "path": "board.workload.intel_mp_table.base_entries08", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 0, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries09", + "path": "board.workload.intel_mp_table.base_entries09", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 2, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 0, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries10", + "path": "board.workload.intel_mp_table.base_entries10", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 1, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries11", + "path": "board.workload.intel_mp_table.base_entries11", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 1, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 1, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries12", + "path": "board.workload.intel_mp_table.base_entries12", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 3, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries13", + "path": "board.workload.intel_mp_table.base_entries13", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 3, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 3, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries14", + "path": "board.workload.intel_mp_table.base_entries14", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 4, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries15", + "path": "board.workload.intel_mp_table.base_entries15", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 4, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 4, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries16", + "path": "board.workload.intel_mp_table.base_entries16", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 5, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries17", + "path": "board.workload.intel_mp_table.base_entries17", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 5, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 5, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries18", + "path": "board.workload.intel_mp_table.base_entries18", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 6, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries19", + "path": "board.workload.intel_mp_table.base_entries19", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 6, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 6, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries20", + "path": "board.workload.intel_mp_table.base_entries20", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 7, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries21", + "path": "board.workload.intel_mp_table.base_entries21", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 7, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 7, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries22", + "path": "board.workload.intel_mp_table.base_entries22", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 8, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries23", + "path": "board.workload.intel_mp_table.base_entries23", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 8, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 8, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries24", + "path": "board.workload.intel_mp_table.base_entries24", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 9, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries25", + "path": "board.workload.intel_mp_table.base_entries25", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 9, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 9, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries26", + "path": "board.workload.intel_mp_table.base_entries26", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 10, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries27", + "path": "board.workload.intel_mp_table.base_entries27", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 10, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 10, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries28", + "path": "board.workload.intel_mp_table.base_entries28", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 11, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries29", + "path": "board.workload.intel_mp_table.base_entries29", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 11, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 11, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries30", + "path": "board.workload.intel_mp_table.base_entries30", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 12, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries31", + "path": "board.workload.intel_mp_table.base_entries31", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 12, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 12, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries32", + "path": "board.workload.intel_mp_table.base_entries32", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 13, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries33", + "path": "board.workload.intel_mp_table.base_entries33", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 13, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 13, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries34", + "path": "board.workload.intel_mp_table.base_entries34", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 0, + "eventq_index": 0, + "interrupt_type": "ExtInt", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 14, + "trigger": "ConformTrigger" + }, + { + "type": "X86IntelMPIOIntAssignment", + "cxx_class": "gem5::X86ISA::intelmp::IOIntAssignment", + "name": "base_entries35", + "path": "board.workload.intel_mp_table.base_entries35", + "dest_io_apic_id": 4, + "dest_io_apic_intin": 14, + "eventq_index": 0, + "interrupt_type": "INT", + "polarity": "ConformPolarity", + "source_bus_id": 1, + "source_bus_irq": 14, + "trigger": "ConformTrigger" + } + ], + "eventq_index": 0, + "ext_entries": [ + { + "type": "X86IntelMPBusHierarchy", + "cxx_class": "gem5::X86ISA::intelmp::BusHierarchy", + "name": "ext_entries", + "path": "board.workload.intel_mp_table.ext_entries", + "bus_id": 1, + "eventq_index": 0, + "parent_bus": 0, + "subtractive_decode": true + } + ], + "local_apic": 4276092928, + "oem_id": "", + "oem_table_addr": 0, + "oem_table_size": 0, + "product_id": "", + "spec_rev": 4 + }, + "load_addr_mask": 18446744073709551615, + "load_addr_offset": 0, + "object_file": "/home/carlos/.cache/gem5/x86-linux-kernel-5.4.49", + "remote_gdb_port": "#7000", + "smbios_table": { + "type": "X86SMBiosSMBiosTable", + "cxx_class": "gem5::X86ISA::smbios::SMBiosTable", + "name": "smbios_table", + "path": "board.workload.smbios_table", + "eventq_index": 0, + "major_version": 2, + "minor_version": 5, + "structures": [ + { + "type": "X86SMBiosBiosInformation", + "cxx_class": "gem5::X86ISA::smbios::BiosInformation", + "name": "structures", + "path": "board.workload.smbios_table.structures", + "characteristic_ext_bytes": [], + "characteristics": [], + "emb_cont_firmware_major": 0, + "emb_cont_firmware_minor": 0, + "eventq_index": 0, + "major": 0, + "minor": 0, + "release_date": "06/08/2008", + "rom_size": 0, + "starting_addr_segment": 0, + "vendor": "", + "version": "" + } + ] + }, + "wait_for_remote_gdb": false + }, + "cache_hierarchy": { + "type": "SubSystem", + "cxx_class": "gem5::SubSystem", + "name": "cache_hierarchy", + "path": "board.cache_hierarchy", + "eventq_index": 0, + "thermal_domain": null, + "ruby_system": { + "type": "RubySystem", + "cxx_class": "gem5::ruby::RubySystem", + "name": "ruby_system", + "path": "board.cache_hierarchy.ruby_system", + "access_backing_store": false, + "all_instructions": false, + "block_size_bytes": 64, + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "hot_lines": false, + "memory_size_bits": 64, + "num_of_sequencers": 6, + "number_of_virtual_networks": 3, + "phys_mem": null, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "randomization": false, + "system": "board", + "directory_controllers": [ + { + "type": "Directory_Controller", + "cxx_class": "gem5::ruby::Directory_Controller", + "name": "directory_controllers", + "path": "board.cache_hierarchy.ruby_system.directory_controllers", + "addr_ranges": [ + "0:2147483648" + ], + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "cluster_id": 0, + "directory": { + "type": "RubyDirectoryMemory", + "cxx_class": "gem5::ruby::DirectoryMemory", + "name": "directory", + "path": "board.cache_hierarchy.ruby_system.directory_controllers.directory", + "addr_ranges": [ + "0:2147483648" + ], + "eventq_index": 0 + }, + "directory_latency": 6, + "downstream_destinations": [], + "eventq_index": 0, + "mandatory_queue_latency": 1, + "number_of_TBEs": 256, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.directory_controllers.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "recycle_latency": 10, + "requestToDir": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestToDir", + "path": "board.cache_hierarchy.ruby_system.directory_controllers.requestToDir", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[11]", + "is_source": "False" + } + }, + "requestToMemory": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestToMemory", + "path": "board.cache_hierarchy.ruby_system.directory_controllers.requestToMemory", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "responseFromDir": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromDir", + "path": "board.cache_hierarchy.ruby_system.directory_controllers.responseFromDir", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[15]", + "is_source": "True" + } + }, + "responseFromMemory": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromMemory", + "path": "board.cache_hierarchy.ruby_system.directory_controllers.responseFromMemory", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "responseToDir": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseToDir", + "path": "board.cache_hierarchy.ruby_system.directory_controllers.responseToDir", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[12]", + "is_source": "False" + } + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "system": "board", + "to_mem_ctrl_latency": 1, + "transitions_per_cycle": 32, + "upstream_destinations": [], + "version": 0, + "memory_out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.memory.mem_ctrl.port", + "is_source": "True" + } + } + ], + "dma_controllers": [ + { + "type": "DMA_Controller", + "cxx_class": "gem5::ruby::DMA_Controller", + "name": "dma_controllers0", + "path": "board.cache_hierarchy.ruby_system.dma_controllers0", + "addr_ranges": [ + "0:18446744073709551615" + ], + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "cluster_id": 0, + "dma_sequencer": { + "type": "DMASequencer", + "cxx_class": "gem5::ruby::DMASequencer", + "name": "dma_sequencer", + "path": "board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "is_cpu_sequencer": true, + "max_outstanding_requests": 64, + "no_retry_on_stall": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "support_data_reqs": true, + "support_inst_reqs": true, + "system": "board", + "using_ruby_tester": false, + "version": 0, + "in_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.pc.south_bridge.ide.dma" + ], + "is_source": "False" + } + }, + "downstream_destinations": [], + "eventq_index": 0, + "mandatoryQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "mandatoryQueue", + "path": "board.cache_hierarchy.ruby_system.dma_controllers0.mandatoryQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "mandatory_queue_latency": 1, + "number_of_TBEs": 256, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.dma_controllers0.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "recycle_latency": 10, + "requestToDir": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestToDir", + "path": "board.cache_hierarchy.ruby_system.dma_controllers0.requestToDir", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[16]", + "is_source": "True" + } + }, + "request_latency": 6, + "responseFromDir": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromDir", + "path": "board.cache_hierarchy.ruby_system.dma_controllers0.responseFromDir", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[13]", + "is_source": "False" + } + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "system": "board", + "transitions_per_cycle": 32, + "upstream_destinations": [], + "version": 0 + }, + { + "type": "DMA_Controller", + "cxx_class": "gem5::ruby::DMA_Controller", + "name": "dma_controllers1", + "path": "board.cache_hierarchy.ruby_system.dma_controllers1", + "addr_ranges": [ + "0:18446744073709551615" + ], + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "cluster_id": 0, + "dma_sequencer": { + "type": "DMASequencer", + "cxx_class": "gem5::ruby::DMASequencer", + "name": "dma_sequencer", + "path": "board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "is_cpu_sequencer": true, + "max_outstanding_requests": 64, + "no_retry_on_stall": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "support_data_reqs": true, + "support_inst_reqs": true, + "system": "board", + "using_ruby_tester": false, + "version": 1, + "in_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.iobus.mem_side_ports[19]" + ], + "is_source": "False" + } + }, + "downstream_destinations": [], + "eventq_index": 0, + "mandatoryQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "mandatoryQueue", + "path": "board.cache_hierarchy.ruby_system.dma_controllers1.mandatoryQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "mandatory_queue_latency": 1, + "number_of_TBEs": 256, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.dma_controllers1.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "recycle_latency": 10, + "requestToDir": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestToDir", + "path": "board.cache_hierarchy.ruby_system.dma_controllers1.requestToDir", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[17]", + "is_source": "True" + } + }, + "request_latency": 6, + "responseFromDir": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromDir", + "path": "board.cache_hierarchy.ruby_system.dma_controllers1.responseFromDir", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[14]", + "is_source": "False" + } + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "system": "board", + "transitions_per_cycle": 32, + "upstream_destinations": [], + "version": 1 + } + ], + "l1_controllers": [ + { + "type": "L1Cache_Controller", + "cxx_class": "gem5::ruby::L1Cache_Controller", + "name": "l1_controllers0", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0", + "L1Dcache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L1Dcache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache", + "assoc": 8, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": false, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache.replacement_policy", + "eventq_index": 0, + "num_leaves": 8 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 32768, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "L1Icache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L1Icache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache", + "assoc": 8, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": true, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache.replacement_policy", + "eventq_index": 0, + "num_leaves": 8 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 32768, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "addr_ranges": [ + "0:18446744073709551615" + ], + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "cluster_id": 0, + "downstream_destinations": [], + "enable_prefetch": false, + "eventq_index": 0, + "l1_request_latency": 2, + "l1_response_latency": 2, + "l2_select_num_bits": 0, + "mandatoryQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "mandatoryQueue", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "mandatory_queue_latency": 1, + "number_of_TBEs": 256, + "optionalQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "optionalQueue", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.optionalQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "prefetcher": { + "type": "RubyPrefetcher", + "cxx_class": "gem5::ruby::RubyPrefetcher", + "name": "prefetcher", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher", + "cross_page": false, + "eventq_index": 0, + "nonunit_filter": 8, + "num_startup_pfs": 1, + "num_streams": 4, + "page_shift": 12, + "train_misses": 4, + "unit_filter": 8 + }, + "recycle_latency": 10, + "requestFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.requestFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[0]", + "is_source": "True" + } + }, + "requestToL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestToL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.requestToL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[0]", + "is_source": "False" + } + }, + "responseFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.responseFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[1]", + "is_source": "True" + } + }, + "responseToL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseToL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.responseToL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[1]", + "is_source": "False" + } + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "send_evictions": true, + "sequencer": { + "type": "RubySequencer", + "cxx_class": "gem5::ruby::Sequencer", + "name": "sequencer", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer", + "clk_domain": "board.clk_domain", + "coreid": 99, + "dcache": "board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache", + "deadlock_threshold": 500000, + "eventq_index": 0, + "garnet_standalone": false, + "is_cpu_sequencer": true, + "max_outstanding_requests": 16, + "no_retry_on_stall": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "support_data_reqs": true, + "support_inst_reqs": true, + "system": "board", + "using_ruby_tester": false, + "version": 0, + "in_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.processor.cores0.core.icache_port", + "board.processor.cores0.core.dcache_port", + "board.processor.cores0.core.mmu.itb.walker.port", + "board.processor.cores0.core.mmu.dtb.walker.port", + "board.processor.cores0.core.interrupts.int_requestor" + ], + "is_source": "False" + }, + "interrupt_out_port": { + "role": "GEM5 REQUESTOR", + "peer": [ + "board.processor.cores0.core.interrupts.pio", + "board.processor.cores0.core.interrupts.int_responder" + ], + "is_source": "True" + }, + "mem_request_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[2]", + "is_source": "True" + }, + "pio_request_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[1]", + "is_source": "True" + }, + "pio_response_port": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[15]", + "is_source": "False" + } + }, + "system": "board", + "to_l2_latency": 1, + "transitions_per_cycle": 4, + "unblockFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "unblockFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers0.unblockFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[2]", + "is_source": "True" + } + }, + "upstream_destinations": [], + "version": 0 + }, + { + "type": "L1Cache_Controller", + "cxx_class": "gem5::ruby::L1Cache_Controller", + "name": "l1_controllers1", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1", + "L1Dcache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L1Dcache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache", + "assoc": 8, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": false, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache.replacement_policy", + "eventq_index": 0, + "num_leaves": 8 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 32768, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "L1Icache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L1Icache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache", + "assoc": 8, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": true, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache.replacement_policy", + "eventq_index": 0, + "num_leaves": 8 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 32768, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "addr_ranges": [ + "0:18446744073709551615" + ], + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "cluster_id": 0, + "downstream_destinations": [], + "enable_prefetch": false, + "eventq_index": 0, + "l1_request_latency": 2, + "l1_response_latency": 2, + "l2_select_num_bits": 0, + "mandatoryQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "mandatoryQueue", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "mandatory_queue_latency": 1, + "number_of_TBEs": 256, + "optionalQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "optionalQueue", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.optionalQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "prefetcher": { + "type": "RubyPrefetcher", + "cxx_class": "gem5::ruby::RubyPrefetcher", + "name": "prefetcher", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher", + "cross_page": false, + "eventq_index": 0, + "nonunit_filter": 8, + "num_startup_pfs": 1, + "num_streams": 4, + "page_shift": 12, + "train_misses": 4, + "unit_filter": 8 + }, + "recycle_latency": 10, + "requestFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.requestFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[3]", + "is_source": "True" + } + }, + "requestToL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestToL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.requestToL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[2]", + "is_source": "False" + } + }, + "responseFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.responseFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[4]", + "is_source": "True" + } + }, + "responseToL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseToL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.responseToL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[3]", + "is_source": "False" + } + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "send_evictions": true, + "sequencer": { + "type": "RubySequencer", + "cxx_class": "gem5::ruby::Sequencer", + "name": "sequencer", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer", + "clk_domain": "board.clk_domain", + "coreid": 99, + "dcache": "board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache", + "deadlock_threshold": 500000, + "eventq_index": 0, + "garnet_standalone": false, + "is_cpu_sequencer": true, + "max_outstanding_requests": 16, + "no_retry_on_stall": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "support_data_reqs": true, + "support_inst_reqs": true, + "system": "board", + "using_ruby_tester": false, + "version": 1, + "in_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.processor.cores1.core.icache_port", + "board.processor.cores1.core.dcache_port", + "board.processor.cores1.core.mmu.itb.walker.port", + "board.processor.cores1.core.mmu.dtb.walker.port", + "board.processor.cores1.core.interrupts.int_requestor" + ], + "is_source": "False" + }, + "interrupt_out_port": { + "role": "GEM5 REQUESTOR", + "peer": [ + "board.processor.cores1.core.interrupts.pio", + "board.processor.cores1.core.interrupts.int_responder" + ], + "is_source": "True" + }, + "mem_request_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[4]", + "is_source": "True" + }, + "pio_request_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[3]", + "is_source": "True" + }, + "pio_response_port": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[16]", + "is_source": "False" + } + }, + "system": "board", + "to_l2_latency": 1, + "transitions_per_cycle": 4, + "unblockFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "unblockFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers1.unblockFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[5]", + "is_source": "True" + } + }, + "upstream_destinations": [], + "version": 1 + }, + { + "type": "L1Cache_Controller", + "cxx_class": "gem5::ruby::L1Cache_Controller", + "name": "l1_controllers2", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2", + "L1Dcache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L1Dcache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache", + "assoc": 8, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": false, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache.replacement_policy", + "eventq_index": 0, + "num_leaves": 8 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 32768, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "L1Icache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L1Icache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache", + "assoc": 8, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": true, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache.replacement_policy", + "eventq_index": 0, + "num_leaves": 8 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 32768, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "addr_ranges": [ + "0:18446744073709551615" + ], + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "cluster_id": 0, + "downstream_destinations": [], + "enable_prefetch": false, + "eventq_index": 0, + "l1_request_latency": 2, + "l1_response_latency": 2, + "l2_select_num_bits": 0, + "mandatoryQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "mandatoryQueue", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "mandatory_queue_latency": 1, + "number_of_TBEs": 256, + "optionalQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "optionalQueue", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.optionalQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "prefetcher": { + "type": "RubyPrefetcher", + "cxx_class": "gem5::ruby::RubyPrefetcher", + "name": "prefetcher", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher", + "cross_page": false, + "eventq_index": 0, + "nonunit_filter": 8, + "num_startup_pfs": 1, + "num_streams": 4, + "page_shift": 12, + "train_misses": 4, + "unit_filter": 8 + }, + "recycle_latency": 10, + "requestFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.requestFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[6]", + "is_source": "True" + } + }, + "requestToL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestToL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.requestToL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[4]", + "is_source": "False" + } + }, + "responseFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.responseFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[7]", + "is_source": "True" + } + }, + "responseToL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseToL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.responseToL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[5]", + "is_source": "False" + } + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "send_evictions": true, + "sequencer": { + "type": "RubySequencer", + "cxx_class": "gem5::ruby::Sequencer", + "name": "sequencer", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer", + "clk_domain": "board.clk_domain", + "coreid": 99, + "dcache": "board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache", + "deadlock_threshold": 500000, + "eventq_index": 0, + "garnet_standalone": false, + "is_cpu_sequencer": true, + "max_outstanding_requests": 16, + "no_retry_on_stall": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "support_data_reqs": true, + "support_inst_reqs": true, + "system": "board", + "using_ruby_tester": false, + "version": 2, + "in_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.processor.cores2.core.icache_port", + "board.processor.cores2.core.dcache_port", + "board.processor.cores2.core.mmu.itb.walker.port", + "board.processor.cores2.core.mmu.dtb.walker.port", + "board.processor.cores2.core.interrupts.int_requestor" + ], + "is_source": "False" + }, + "interrupt_out_port": { + "role": "GEM5 REQUESTOR", + "peer": [ + "board.processor.cores2.core.interrupts.pio", + "board.processor.cores2.core.interrupts.int_responder" + ], + "is_source": "True" + }, + "mem_request_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[6]", + "is_source": "True" + }, + "pio_request_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[5]", + "is_source": "True" + }, + "pio_response_port": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[17]", + "is_source": "False" + } + }, + "system": "board", + "to_l2_latency": 1, + "transitions_per_cycle": 4, + "unblockFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "unblockFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers2.unblockFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[8]", + "is_source": "True" + } + }, + "upstream_destinations": [], + "version": 2 + }, + { + "type": "L1Cache_Controller", + "cxx_class": "gem5::ruby::L1Cache_Controller", + "name": "l1_controllers3", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3", + "L1Dcache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L1Dcache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache", + "assoc": 8, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": false, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache.replacement_policy", + "eventq_index": 0, + "num_leaves": 8 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 32768, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "L1Icache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L1Icache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache", + "assoc": 8, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": true, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache.replacement_policy", + "eventq_index": 0, + "num_leaves": 8 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 32768, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "addr_ranges": [ + "0:18446744073709551615" + ], + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "cluster_id": 0, + "downstream_destinations": [], + "enable_prefetch": false, + "eventq_index": 0, + "l1_request_latency": 2, + "l1_response_latency": 2, + "l2_select_num_bits": 0, + "mandatoryQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "mandatoryQueue", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "mandatory_queue_latency": 1, + "number_of_TBEs": 256, + "optionalQueue": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "optionalQueue", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.optionalQueue", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0 + }, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "prefetcher": { + "type": "RubyPrefetcher", + "cxx_class": "gem5::ruby::RubyPrefetcher", + "name": "prefetcher", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher", + "cross_page": false, + "eventq_index": 0, + "nonunit_filter": 8, + "num_startup_pfs": 1, + "num_streams": 4, + "page_shift": 12, + "train_misses": 4, + "unit_filter": 8 + }, + "recycle_latency": 10, + "requestFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.requestFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[9]", + "is_source": "True" + } + }, + "requestToL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "requestToL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.requestToL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[6]", + "is_source": "False" + } + }, + "responseFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.responseFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[10]", + "is_source": "True" + } + }, + "responseToL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseToL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.responseToL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[7]", + "is_source": "False" + } + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "send_evictions": true, + "sequencer": { + "type": "RubySequencer", + "cxx_class": "gem5::ruby::Sequencer", + "name": "sequencer", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer", + "clk_domain": "board.clk_domain", + "coreid": 99, + "dcache": "board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache", + "deadlock_threshold": 500000, + "eventq_index": 0, + "garnet_standalone": false, + "is_cpu_sequencer": true, + "max_outstanding_requests": 16, + "no_retry_on_stall": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "support_data_reqs": true, + "support_inst_reqs": true, + "system": "board", + "using_ruby_tester": false, + "version": 3, + "in_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.processor.cores3.core.icache_port", + "board.processor.cores3.core.dcache_port", + "board.processor.cores3.core.mmu.itb.walker.port", + "board.processor.cores3.core.mmu.dtb.walker.port", + "board.processor.cores3.core.interrupts.int_requestor" + ], + "is_source": "False" + }, + "interrupt_out_port": { + "role": "GEM5 REQUESTOR", + "peer": [ + "board.processor.cores3.core.interrupts.pio", + "board.processor.cores3.core.interrupts.int_responder" + ], + "is_source": "True" + }, + "mem_request_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[8]", + "is_source": "True" + }, + "pio_request_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[7]", + "is_source": "True" + }, + "pio_response_port": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[18]", + "is_source": "False" + } + }, + "system": "board", + "to_l2_latency": 1, + "transitions_per_cycle": 4, + "unblockFromL1Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "unblockFromL1Cache", + "path": "board.cache_hierarchy.ruby_system.l1_controllers3.unblockFromL1Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[11]", + "is_source": "True" + } + }, + "upstream_destinations": [], + "version": 3 + } + ], + "l2_controllers": [ + { + "type": "L2Cache_Controller", + "cxx_class": "gem5::ruby::L2Cache_Controller", + "name": "l2_controllers", + "path": "board.cache_hierarchy.ruby_system.l2_controllers", + "DirRequestFromL2Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "DirRequestFromL2Cache", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.DirRequestFromL2Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[12]", + "is_source": "True" + } + }, + "L1RequestFromL2Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "L1RequestFromL2Cache", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.L1RequestFromL2Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[13]", + "is_source": "True" + } + }, + "L1RequestToL2Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "L1RequestToL2Cache", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[9]", + "is_source": "False" + } + }, + "L2cache": { + "type": "RubyCache", + "cxx_class": "gem5::ruby::CacheMemory", + "name": "L2cache", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.L2cache", + "assoc": 16, + "block_size": 0, + "dataAccessLatency": 1, + "dataArrayBanks": 1, + "eventq_index": 0, + "is_icache": false, + "replacement_policy": { + "type": "TreePLRURP", + "cxx_class": "gem5::replacement_policy::TreePLRU", + "name": "replacement_policy", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.L2cache.replacement_policy", + "eventq_index": 0, + "num_leaves": 16 + }, + "resourceStalls": false, + "ruby_system": "board.cache_hierarchy.ruby_system", + "size": 1048576, + "start_index_bit": 6, + "tagAccessLatency": 1, + "tagArrayBanks": 1 + }, + "addr_ranges": [ + "0:18446744073709551615" + ], + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "cluster_id": 0, + "downstream_destinations": [], + "eventq_index": 0, + "l2_request_latency": 2, + "l2_response_latency": 2, + "mandatory_queue_latency": 1, + "number_of_TBEs": 256, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "recycle_latency": 10, + "responseFromL2Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseFromL2Cache", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.responseFromL2Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.network.in_port[14]", + "is_source": "True" + } + }, + "responseToL2Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "responseToL2Cache", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.responseToL2Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[10]", + "is_source": "False" + } + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "system": "board", + "to_l1_latency": 1, + "transitions_per_cycle": 4, + "unblockToL2Cache": { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "unblockToL2Cache", + "path": "board.cache_hierarchy.ruby_system.l2_controllers.unblockToL2Cache", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": false, + "randomization": "ruby_system", + "routing_priority": 0, + "in_port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.network.out_port[8]", + "is_source": "False" + } + }, + "upstream_destinations": [], + "version": 0 + } + ], + "network": { + "type": "SimpleNetwork", + "cxx_class": "gem5::ruby::SimpleNetwork", + "name": "network", + "path": "board.cache_hierarchy.ruby_system.network", + "buffer_size": 0, + "clk_domain": "board.clk_domain", + "control_msg_size": 8, + "data_msg_size": 64, + "endpoint_bandwidth": 1000, + "eventq_index": 0, + "ext_links": [ + { + "type": "SimpleExtLink", + "cxx_class": "gem5::ruby::SimpleExtLink", + "name": "ext_links0", + "path": "board.cache_hierarchy.ruby_system.network.ext_links0", + "bandwidth_factor": 16, + "eventq_index": 0, + "ext_node": "board.cache_hierarchy.ruby_system.l1_controllers0", + "int_node": "board.cache_hierarchy.ruby_system.network.routers0", + "latency": 1, + "link_id": 0, + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleExtLink", + "cxx_class": "gem5::ruby::SimpleExtLink", + "name": "ext_links1", + "path": "board.cache_hierarchy.ruby_system.network.ext_links1", + "bandwidth_factor": 16, + "eventq_index": 0, + "ext_node": "board.cache_hierarchy.ruby_system.l1_controllers1", + "int_node": "board.cache_hierarchy.ruby_system.network.routers1", + "latency": 1, + "link_id": 1, + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleExtLink", + "cxx_class": "gem5::ruby::SimpleExtLink", + "name": "ext_links2", + "path": "board.cache_hierarchy.ruby_system.network.ext_links2", + "bandwidth_factor": 16, + "eventq_index": 0, + "ext_node": "board.cache_hierarchy.ruby_system.l1_controllers2", + "int_node": "board.cache_hierarchy.ruby_system.network.routers2", + "latency": 1, + "link_id": 2, + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleExtLink", + "cxx_class": "gem5::ruby::SimpleExtLink", + "name": "ext_links3", + "path": "board.cache_hierarchy.ruby_system.network.ext_links3", + "bandwidth_factor": 16, + "eventq_index": 0, + "ext_node": "board.cache_hierarchy.ruby_system.l1_controllers3", + "int_node": "board.cache_hierarchy.ruby_system.network.routers3", + "latency": 1, + "link_id": 3, + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleExtLink", + "cxx_class": "gem5::ruby::SimpleExtLink", + "name": "ext_links4", + "path": "board.cache_hierarchy.ruby_system.network.ext_links4", + "bandwidth_factor": 16, + "eventq_index": 0, + "ext_node": "board.cache_hierarchy.ruby_system.l2_controllers", + "int_node": "board.cache_hierarchy.ruby_system.network.routers4", + "latency": 1, + "link_id": 4, + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleExtLink", + "cxx_class": "gem5::ruby::SimpleExtLink", + "name": "ext_links5", + "path": "board.cache_hierarchy.ruby_system.network.ext_links5", + "bandwidth_factor": 16, + "eventq_index": 0, + "ext_node": "board.cache_hierarchy.ruby_system.directory_controllers", + "int_node": "board.cache_hierarchy.ruby_system.network.routers5", + "latency": 1, + "link_id": 5, + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleExtLink", + "cxx_class": "gem5::ruby::SimpleExtLink", + "name": "ext_links6", + "path": "board.cache_hierarchy.ruby_system.network.ext_links6", + "bandwidth_factor": 16, + "eventq_index": 0, + "ext_node": "board.cache_hierarchy.ruby_system.dma_controllers0", + "int_node": "board.cache_hierarchy.ruby_system.network.routers6", + "latency": 1, + "link_id": 6, + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleExtLink", + "cxx_class": "gem5::ruby::SimpleExtLink", + "name": "ext_links7", + "path": "board.cache_hierarchy.ruby_system.network.ext_links7", + "bandwidth_factor": 16, + "eventq_index": 0, + "ext_node": "board.cache_hierarchy.ruby_system.dma_controllers1", + "int_node": "board.cache_hierarchy.ruby_system.network.routers7", + "latency": 1, + "link_id": 7, + "supported_vnets": [], + "weight": 1 + } + ], + "int_links": [ + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links00", + "path": "board.cache_hierarchy.ruby_system.network.int_links00", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links00.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links00.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links00.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers1", + "eventq_index": 0, + "latency": 1, + "link_id": 1, + "src_node": "board.cache_hierarchy.ruby_system.network.routers0", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links01", + "path": "board.cache_hierarchy.ruby_system.network.int_links01", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links01.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links01.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links01.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers2", + "eventq_index": 0, + "latency": 1, + "link_id": 2, + "src_node": "board.cache_hierarchy.ruby_system.network.routers0", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links02", + "path": "board.cache_hierarchy.ruby_system.network.int_links02", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links02.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links02.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links02.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers3", + "eventq_index": 0, + "latency": 1, + "link_id": 3, + "src_node": "board.cache_hierarchy.ruby_system.network.routers0", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links03", + "path": "board.cache_hierarchy.ruby_system.network.int_links03", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links03.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links03.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links03.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers4", + "eventq_index": 0, + "latency": 1, + "link_id": 4, + "src_node": "board.cache_hierarchy.ruby_system.network.routers0", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links04", + "path": "board.cache_hierarchy.ruby_system.network.int_links04", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links04.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links04.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links04.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers5", + "eventq_index": 0, + "latency": 1, + "link_id": 5, + "src_node": "board.cache_hierarchy.ruby_system.network.routers0", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links05", + "path": "board.cache_hierarchy.ruby_system.network.int_links05", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links05.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links05.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links05.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers6", + "eventq_index": 0, + "latency": 1, + "link_id": 6, + "src_node": "board.cache_hierarchy.ruby_system.network.routers0", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links06", + "path": "board.cache_hierarchy.ruby_system.network.int_links06", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links06.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links06.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links06.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers7", + "eventq_index": 0, + "latency": 1, + "link_id": 7, + "src_node": "board.cache_hierarchy.ruby_system.network.routers0", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links07", + "path": "board.cache_hierarchy.ruby_system.network.int_links07", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links07.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links07.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links07.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers0", + "eventq_index": 0, + "latency": 1, + "link_id": 8, + "src_node": "board.cache_hierarchy.ruby_system.network.routers1", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links08", + "path": "board.cache_hierarchy.ruby_system.network.int_links08", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links08.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links08.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links08.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers2", + "eventq_index": 0, + "latency": 1, + "link_id": 9, + "src_node": "board.cache_hierarchy.ruby_system.network.routers1", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links09", + "path": "board.cache_hierarchy.ruby_system.network.int_links09", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links09.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links09.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links09.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers3", + "eventq_index": 0, + "latency": 1, + "link_id": 10, + "src_node": "board.cache_hierarchy.ruby_system.network.routers1", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links10", + "path": "board.cache_hierarchy.ruby_system.network.int_links10", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links10.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links10.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links10.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers4", + "eventq_index": 0, + "latency": 1, + "link_id": 11, + "src_node": "board.cache_hierarchy.ruby_system.network.routers1", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links11", + "path": "board.cache_hierarchy.ruby_system.network.int_links11", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links11.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links11.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links11.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers5", + "eventq_index": 0, + "latency": 1, + "link_id": 12, + "src_node": "board.cache_hierarchy.ruby_system.network.routers1", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links12", + "path": "board.cache_hierarchy.ruby_system.network.int_links12", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links12.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links12.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links12.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers6", + "eventq_index": 0, + "latency": 1, + "link_id": 13, + "src_node": "board.cache_hierarchy.ruby_system.network.routers1", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links13", + "path": "board.cache_hierarchy.ruby_system.network.int_links13", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links13.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links13.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links13.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers7", + "eventq_index": 0, + "latency": 1, + "link_id": 14, + "src_node": "board.cache_hierarchy.ruby_system.network.routers1", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links14", + "path": "board.cache_hierarchy.ruby_system.network.int_links14", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links14.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links14.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links14.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers0", + "eventq_index": 0, + "latency": 1, + "link_id": 15, + "src_node": "board.cache_hierarchy.ruby_system.network.routers2", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links15", + "path": "board.cache_hierarchy.ruby_system.network.int_links15", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links15.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links15.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links15.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers1", + "eventq_index": 0, + "latency": 1, + "link_id": 16, + "src_node": "board.cache_hierarchy.ruby_system.network.routers2", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links16", + "path": "board.cache_hierarchy.ruby_system.network.int_links16", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links16.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links16.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links16.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers3", + "eventq_index": 0, + "latency": 1, + "link_id": 17, + "src_node": "board.cache_hierarchy.ruby_system.network.routers2", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links17", + "path": "board.cache_hierarchy.ruby_system.network.int_links17", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links17.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links17.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links17.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers4", + "eventq_index": 0, + "latency": 1, + "link_id": 18, + "src_node": "board.cache_hierarchy.ruby_system.network.routers2", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links18", + "path": "board.cache_hierarchy.ruby_system.network.int_links18", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links18.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links18.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links18.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers5", + "eventq_index": 0, + "latency": 1, + "link_id": 19, + "src_node": "board.cache_hierarchy.ruby_system.network.routers2", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links19", + "path": "board.cache_hierarchy.ruby_system.network.int_links19", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links19.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links19.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links19.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers6", + "eventq_index": 0, + "latency": 1, + "link_id": 20, + "src_node": "board.cache_hierarchy.ruby_system.network.routers2", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links20", + "path": "board.cache_hierarchy.ruby_system.network.int_links20", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links20.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links20.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links20.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers7", + "eventq_index": 0, + "latency": 1, + "link_id": 21, + "src_node": "board.cache_hierarchy.ruby_system.network.routers2", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links21", + "path": "board.cache_hierarchy.ruby_system.network.int_links21", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links21.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links21.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links21.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers0", + "eventq_index": 0, + "latency": 1, + "link_id": 22, + "src_node": "board.cache_hierarchy.ruby_system.network.routers3", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links22", + "path": "board.cache_hierarchy.ruby_system.network.int_links22", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links22.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links22.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links22.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers1", + "eventq_index": 0, + "latency": 1, + "link_id": 23, + "src_node": "board.cache_hierarchy.ruby_system.network.routers3", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links23", + "path": "board.cache_hierarchy.ruby_system.network.int_links23", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links23.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links23.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links23.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers2", + "eventq_index": 0, + "latency": 1, + "link_id": 24, + "src_node": "board.cache_hierarchy.ruby_system.network.routers3", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links24", + "path": "board.cache_hierarchy.ruby_system.network.int_links24", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links24.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links24.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links24.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers4", + "eventq_index": 0, + "latency": 1, + "link_id": 25, + "src_node": "board.cache_hierarchy.ruby_system.network.routers3", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links25", + "path": "board.cache_hierarchy.ruby_system.network.int_links25", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links25.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links25.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links25.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers5", + "eventq_index": 0, + "latency": 1, + "link_id": 26, + "src_node": "board.cache_hierarchy.ruby_system.network.routers3", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links26", + "path": "board.cache_hierarchy.ruby_system.network.int_links26", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links26.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links26.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links26.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers6", + "eventq_index": 0, + "latency": 1, + "link_id": 27, + "src_node": "board.cache_hierarchy.ruby_system.network.routers3", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links27", + "path": "board.cache_hierarchy.ruby_system.network.int_links27", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links27.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links27.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links27.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers7", + "eventq_index": 0, + "latency": 1, + "link_id": 28, + "src_node": "board.cache_hierarchy.ruby_system.network.routers3", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links28", + "path": "board.cache_hierarchy.ruby_system.network.int_links28", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links28.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links28.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links28.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers0", + "eventq_index": 0, + "latency": 1, + "link_id": 29, + "src_node": "board.cache_hierarchy.ruby_system.network.routers4", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links29", + "path": "board.cache_hierarchy.ruby_system.network.int_links29", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links29.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links29.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links29.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers1", + "eventq_index": 0, + "latency": 1, + "link_id": 30, + "src_node": "board.cache_hierarchy.ruby_system.network.routers4", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links30", + "path": "board.cache_hierarchy.ruby_system.network.int_links30", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links30.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links30.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links30.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers2", + "eventq_index": 0, + "latency": 1, + "link_id": 31, + "src_node": "board.cache_hierarchy.ruby_system.network.routers4", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links31", + "path": "board.cache_hierarchy.ruby_system.network.int_links31", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links31.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links31.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links31.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers3", + "eventq_index": 0, + "latency": 1, + "link_id": 32, + "src_node": "board.cache_hierarchy.ruby_system.network.routers4", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links32", + "path": "board.cache_hierarchy.ruby_system.network.int_links32", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links32.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links32.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links32.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers5", + "eventq_index": 0, + "latency": 1, + "link_id": 33, + "src_node": "board.cache_hierarchy.ruby_system.network.routers4", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links33", + "path": "board.cache_hierarchy.ruby_system.network.int_links33", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links33.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links33.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links33.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers6", + "eventq_index": 0, + "latency": 1, + "link_id": 34, + "src_node": "board.cache_hierarchy.ruby_system.network.routers4", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links34", + "path": "board.cache_hierarchy.ruby_system.network.int_links34", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links34.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links34.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links34.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers7", + "eventq_index": 0, + "latency": 1, + "link_id": 35, + "src_node": "board.cache_hierarchy.ruby_system.network.routers4", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links35", + "path": "board.cache_hierarchy.ruby_system.network.int_links35", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links35.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links35.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links35.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers0", + "eventq_index": 0, + "latency": 1, + "link_id": 36, + "src_node": "board.cache_hierarchy.ruby_system.network.routers5", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links36", + "path": "board.cache_hierarchy.ruby_system.network.int_links36", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links36.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links36.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links36.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers1", + "eventq_index": 0, + "latency": 1, + "link_id": 37, + "src_node": "board.cache_hierarchy.ruby_system.network.routers5", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links37", + "path": "board.cache_hierarchy.ruby_system.network.int_links37", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links37.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links37.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links37.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers2", + "eventq_index": 0, + "latency": 1, + "link_id": 38, + "src_node": "board.cache_hierarchy.ruby_system.network.routers5", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links38", + "path": "board.cache_hierarchy.ruby_system.network.int_links38", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links38.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links38.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links38.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers3", + "eventq_index": 0, + "latency": 1, + "link_id": 39, + "src_node": "board.cache_hierarchy.ruby_system.network.routers5", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links39", + "path": "board.cache_hierarchy.ruby_system.network.int_links39", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links39.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links39.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links39.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers4", + "eventq_index": 0, + "latency": 1, + "link_id": 40, + "src_node": "board.cache_hierarchy.ruby_system.network.routers5", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links40", + "path": "board.cache_hierarchy.ruby_system.network.int_links40", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links40.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links40.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links40.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers6", + "eventq_index": 0, + "latency": 1, + "link_id": 41, + "src_node": "board.cache_hierarchy.ruby_system.network.routers5", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links41", + "path": "board.cache_hierarchy.ruby_system.network.int_links41", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links41.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links41.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links41.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers7", + "eventq_index": 0, + "latency": 1, + "link_id": 42, + "src_node": "board.cache_hierarchy.ruby_system.network.routers5", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links42", + "path": "board.cache_hierarchy.ruby_system.network.int_links42", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links42.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links42.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links42.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers0", + "eventq_index": 0, + "latency": 1, + "link_id": 43, + "src_node": "board.cache_hierarchy.ruby_system.network.routers6", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links43", + "path": "board.cache_hierarchy.ruby_system.network.int_links43", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links43.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links43.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links43.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers1", + "eventq_index": 0, + "latency": 1, + "link_id": 44, + "src_node": "board.cache_hierarchy.ruby_system.network.routers6", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links44", + "path": "board.cache_hierarchy.ruby_system.network.int_links44", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links44.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links44.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links44.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers2", + "eventq_index": 0, + "latency": 1, + "link_id": 45, + "src_node": "board.cache_hierarchy.ruby_system.network.routers6", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links45", + "path": "board.cache_hierarchy.ruby_system.network.int_links45", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links45.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links45.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links45.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers3", + "eventq_index": 0, + "latency": 1, + "link_id": 46, + "src_node": "board.cache_hierarchy.ruby_system.network.routers6", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links46", + "path": "board.cache_hierarchy.ruby_system.network.int_links46", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links46.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links46.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links46.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers4", + "eventq_index": 0, + "latency": 1, + "link_id": 47, + "src_node": "board.cache_hierarchy.ruby_system.network.routers6", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links47", + "path": "board.cache_hierarchy.ruby_system.network.int_links47", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links47.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links47.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links47.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers5", + "eventq_index": 0, + "latency": 1, + "link_id": 48, + "src_node": "board.cache_hierarchy.ruby_system.network.routers6", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links48", + "path": "board.cache_hierarchy.ruby_system.network.int_links48", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links48.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links48.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links48.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers7", + "eventq_index": 0, + "latency": 1, + "link_id": 49, + "src_node": "board.cache_hierarchy.ruby_system.network.routers6", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links49", + "path": "board.cache_hierarchy.ruby_system.network.int_links49", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links49.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links49.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links49.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers0", + "eventq_index": 0, + "latency": 1, + "link_id": 50, + "src_node": "board.cache_hierarchy.ruby_system.network.routers7", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links50", + "path": "board.cache_hierarchy.ruby_system.network.int_links50", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links50.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links50.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links50.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers1", + "eventq_index": 0, + "latency": 1, + "link_id": 51, + "src_node": "board.cache_hierarchy.ruby_system.network.routers7", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links51", + "path": "board.cache_hierarchy.ruby_system.network.int_links51", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links51.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links51.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links51.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers2", + "eventq_index": 0, + "latency": 1, + "link_id": 52, + "src_node": "board.cache_hierarchy.ruby_system.network.routers7", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links52", + "path": "board.cache_hierarchy.ruby_system.network.int_links52", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links52.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links52.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links52.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers3", + "eventq_index": 0, + "latency": 1, + "link_id": 53, + "src_node": "board.cache_hierarchy.ruby_system.network.routers7", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links53", + "path": "board.cache_hierarchy.ruby_system.network.int_links53", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links53.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links53.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links53.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers4", + "eventq_index": 0, + "latency": 1, + "link_id": 54, + "src_node": "board.cache_hierarchy.ruby_system.network.routers7", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links54", + "path": "board.cache_hierarchy.ruby_system.network.int_links54", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links54.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links54.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links54.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers5", + "eventq_index": 0, + "latency": 1, + "link_id": 55, + "src_node": "board.cache_hierarchy.ruby_system.network.routers7", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + }, + { + "type": "SimpleIntLink", + "cxx_class": "gem5::ruby::SimpleIntLink", + "name": "int_links55", + "path": "board.cache_hierarchy.ruby_system.network.int_links55", + "bandwidth_factor": 16, + "buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers0", + "path": "board.cache_hierarchy.ruby_system.network.int_links55.buffers0", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers1", + "path": "board.cache_hierarchy.ruby_system.network.int_links55.buffers1", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "buffers2", + "path": "board.cache_hierarchy.ruby_system.network.int_links55.buffers2", + "allow_zero_latency": false, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "dst_inport": "", + "dst_node": "board.cache_hierarchy.ruby_system.network.routers6", + "eventq_index": 0, + "latency": 1, + "link_id": 56, + "src_node": "board.cache_hierarchy.ruby_system.network.routers7", + "src_outport": "", + "supported_vnets": [], + "weight": 1 + } + ], + "netifs": [], + "number_of_virtual_networks": 3, + "physical_vnets_bandwidth": [], + "physical_vnets_channels": [], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "routers": [ + { + "type": "Switch", + "cxx_class": "gem5::ruby::Switch", + "name": "routers0", + "path": "board.cache_hierarchy.ruby_system.network.routers0", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "ext_routing_latency": 1, + "int_routing_latency": 1, + "latency": 1, + "port_buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers00", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers00", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers01", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers01", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers02", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers02", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers03", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers03", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers04", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers04", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers05", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers05", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers06", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers06", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers07", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers07", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers08", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers08", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers09", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers09", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers10", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers10", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers11", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers11", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers12", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers12", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers13", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers13", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers14", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers14", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers15", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers15", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers16", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers16", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers17", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers17", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers18", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers18", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers19", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers19", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers20", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers20", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers21", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers21", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers22", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers22", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers23", + "path": "board.cache_hierarchy.ruby_system.network.routers0.port_buffers23", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.routers0.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "router_id": 0, + "routing_unit": { + "type": "WeightBased", + "cxx_class": "gem5::ruby::WeightBased", + "name": "routing_unit", + "path": "board.cache_hierarchy.ruby_system.network.routers0.routing_unit", + "adaptive_routing": false, + "eventq_index": 0 + }, + "virt_nets": 3 + }, + { + "type": "Switch", + "cxx_class": "gem5::ruby::Switch", + "name": "routers1", + "path": "board.cache_hierarchy.ruby_system.network.routers1", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "ext_routing_latency": 1, + "int_routing_latency": 1, + "latency": 1, + "port_buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers00", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers00", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers01", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers01", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers02", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers02", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers03", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers03", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers04", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers04", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers05", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers05", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers06", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers06", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers07", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers07", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers08", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers08", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers09", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers09", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers10", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers10", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers11", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers11", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers12", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers12", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers13", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers13", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers14", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers14", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers15", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers15", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers16", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers16", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers17", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers17", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers18", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers18", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers19", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers19", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers20", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers20", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers21", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers21", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers22", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers22", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers23", + "path": "board.cache_hierarchy.ruby_system.network.routers1.port_buffers23", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.routers1.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "router_id": 1, + "routing_unit": { + "type": "WeightBased", + "cxx_class": "gem5::ruby::WeightBased", + "name": "routing_unit", + "path": "board.cache_hierarchy.ruby_system.network.routers1.routing_unit", + "adaptive_routing": false, + "eventq_index": 0 + }, + "virt_nets": 3 + }, + { + "type": "Switch", + "cxx_class": "gem5::ruby::Switch", + "name": "routers2", + "path": "board.cache_hierarchy.ruby_system.network.routers2", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "ext_routing_latency": 1, + "int_routing_latency": 1, + "latency": 1, + "port_buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers00", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers00", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers01", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers01", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers02", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers02", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers03", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers03", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers04", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers04", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers05", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers05", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers06", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers06", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers07", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers07", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers08", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers08", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers09", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers09", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers10", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers10", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers11", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers11", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers12", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers12", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers13", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers13", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers14", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers14", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers15", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers15", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers16", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers16", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers17", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers17", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers18", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers18", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers19", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers19", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers20", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers20", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers21", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers21", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers22", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers22", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers23", + "path": "board.cache_hierarchy.ruby_system.network.routers2.port_buffers23", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.routers2.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "router_id": 2, + "routing_unit": { + "type": "WeightBased", + "cxx_class": "gem5::ruby::WeightBased", + "name": "routing_unit", + "path": "board.cache_hierarchy.ruby_system.network.routers2.routing_unit", + "adaptive_routing": false, + "eventq_index": 0 + }, + "virt_nets": 3 + }, + { + "type": "Switch", + "cxx_class": "gem5::ruby::Switch", + "name": "routers3", + "path": "board.cache_hierarchy.ruby_system.network.routers3", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "ext_routing_latency": 1, + "int_routing_latency": 1, + "latency": 1, + "port_buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers00", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers00", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers01", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers01", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers02", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers02", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers03", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers03", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers04", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers04", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers05", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers05", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers06", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers06", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers07", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers07", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers08", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers08", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers09", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers09", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers10", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers10", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers11", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers11", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers12", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers12", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers13", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers13", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers14", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers14", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers15", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers15", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers16", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers16", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers17", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers17", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers18", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers18", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers19", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers19", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers20", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers20", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers21", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers21", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers22", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers22", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers23", + "path": "board.cache_hierarchy.ruby_system.network.routers3.port_buffers23", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.routers3.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "router_id": 3, + "routing_unit": { + "type": "WeightBased", + "cxx_class": "gem5::ruby::WeightBased", + "name": "routing_unit", + "path": "board.cache_hierarchy.ruby_system.network.routers3.routing_unit", + "adaptive_routing": false, + "eventq_index": 0 + }, + "virt_nets": 3 + }, + { + "type": "Switch", + "cxx_class": "gem5::ruby::Switch", + "name": "routers4", + "path": "board.cache_hierarchy.ruby_system.network.routers4", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "ext_routing_latency": 1, + "int_routing_latency": 1, + "latency": 1, + "port_buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers00", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers00", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers01", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers01", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers02", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers02", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers03", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers03", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers04", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers04", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers05", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers05", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers06", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers06", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers07", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers07", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers08", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers08", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers09", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers09", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers10", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers10", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers11", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers11", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers12", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers12", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers13", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers13", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers14", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers14", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers15", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers15", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers16", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers16", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers17", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers17", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers18", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers18", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers19", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers19", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers20", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers20", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers21", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers21", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers22", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers22", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers23", + "path": "board.cache_hierarchy.ruby_system.network.routers4.port_buffers23", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.routers4.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "router_id": 4, + "routing_unit": { + "type": "WeightBased", + "cxx_class": "gem5::ruby::WeightBased", + "name": "routing_unit", + "path": "board.cache_hierarchy.ruby_system.network.routers4.routing_unit", + "adaptive_routing": false, + "eventq_index": 0 + }, + "virt_nets": 3 + }, + { + "type": "Switch", + "cxx_class": "gem5::ruby::Switch", + "name": "routers5", + "path": "board.cache_hierarchy.ruby_system.network.routers5", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "ext_routing_latency": 1, + "int_routing_latency": 1, + "latency": 1, + "port_buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers00", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers00", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers01", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers01", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers02", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers02", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers03", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers03", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers04", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers04", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers05", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers05", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers06", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers06", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers07", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers07", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers08", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers08", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers09", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers09", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers10", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers10", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers11", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers11", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers12", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers12", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers13", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers13", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers14", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers14", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers15", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers15", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers16", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers16", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers17", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers17", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers18", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers18", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers19", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers19", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers20", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers20", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers21", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers21", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers22", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers22", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers23", + "path": "board.cache_hierarchy.ruby_system.network.routers5.port_buffers23", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.routers5.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "router_id": 5, + "routing_unit": { + "type": "WeightBased", + "cxx_class": "gem5::ruby::WeightBased", + "name": "routing_unit", + "path": "board.cache_hierarchy.ruby_system.network.routers5.routing_unit", + "adaptive_routing": false, + "eventq_index": 0 + }, + "virt_nets": 3 + }, + { + "type": "Switch", + "cxx_class": "gem5::ruby::Switch", + "name": "routers6", + "path": "board.cache_hierarchy.ruby_system.network.routers6", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "ext_routing_latency": 1, + "int_routing_latency": 1, + "latency": 1, + "port_buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers00", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers00", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers01", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers01", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers02", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers02", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers03", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers03", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers04", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers04", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers05", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers05", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers06", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers06", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers07", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers07", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers08", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers08", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers09", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers09", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers10", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers10", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers11", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers11", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers12", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers12", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers13", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers13", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers14", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers14", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers15", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers15", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers16", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers16", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers17", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers17", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers18", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers18", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers19", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers19", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers20", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers20", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers21", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers21", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers22", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers22", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers23", + "path": "board.cache_hierarchy.ruby_system.network.routers6.port_buffers23", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.routers6.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "router_id": 6, + "routing_unit": { + "type": "WeightBased", + "cxx_class": "gem5::ruby::WeightBased", + "name": "routing_unit", + "path": "board.cache_hierarchy.ruby_system.network.routers6.routing_unit", + "adaptive_routing": false, + "eventq_index": 0 + }, + "virt_nets": 3 + }, + { + "type": "Switch", + "cxx_class": "gem5::ruby::Switch", + "name": "routers7", + "path": "board.cache_hierarchy.ruby_system.network.routers7", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "ext_routing_latency": 1, + "int_routing_latency": 1, + "latency": 1, + "port_buffers": [ + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers00", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers00", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers01", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers01", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers02", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers02", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers03", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers03", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers04", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers04", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers05", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers05", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers06", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers06", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers07", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers07", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers08", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers08", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers09", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers09", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers10", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers10", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers11", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers11", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers12", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers12", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers13", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers13", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers14", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers14", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers15", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers15", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers16", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers16", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers17", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers17", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers18", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers18", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers19", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers19", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers20", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers20", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers21", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers21", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers22", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers22", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + }, + { + "type": "MessageBuffer", + "cxx_class": "gem5::ruby::MessageBuffer", + "name": "port_buffers23", + "path": "board.cache_hierarchy.ruby_system.network.routers7.port_buffers23", + "allow_zero_latency": true, + "buffer_size": 0, + "eventq_index": 0, + "max_dequeue_rate": 0, + "ordered": true, + "randomization": "ruby_system", + "routing_priority": 0 + } + ], + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.network.routers7.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "router_id": 7, + "routing_unit": { + "type": "WeightBased", + "cxx_class": "gem5::ruby::WeightBased", + "name": "routing_unit", + "path": "board.cache_hierarchy.ruby_system.network.routers7.routing_unit", + "adaptive_routing": false, + "eventq_index": 0 + }, + "virt_nets": 3 + } + ], + "ruby_system": "board.cache_hierarchy.ruby_system", + "topology": "Not Specified", + "in_port": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.cache_hierarchy.ruby_system.l1_controllers0.requestFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers0.responseFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers0.unblockFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers1.requestFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers1.responseFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers1.unblockFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers2.requestFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers2.responseFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers2.unblockFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers3.requestFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers3.responseFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l1_controllers3.unblockFromL1Cache.out_port", + "board.cache_hierarchy.ruby_system.l2_controllers.DirRequestFromL2Cache.out_port", + "board.cache_hierarchy.ruby_system.l2_controllers.L1RequestFromL2Cache.out_port", + "board.cache_hierarchy.ruby_system.l2_controllers.responseFromL2Cache.out_port", + "board.cache_hierarchy.ruby_system.directory_controllers.responseFromDir.out_port", + "board.cache_hierarchy.ruby_system.dma_controllers0.requestToDir.out_port", + "board.cache_hierarchy.ruby_system.dma_controllers1.requestToDir.out_port" + ], + "is_source": "False" + }, + "out_port": { + "role": "GEM5 REQUESTOR", + "peer": [ + "board.cache_hierarchy.ruby_system.l1_controllers0.requestToL1Cache.in_port", + "board.cache_hierarchy.ruby_system.l1_controllers0.responseToL1Cache.in_port", + "board.cache_hierarchy.ruby_system.l1_controllers1.requestToL1Cache.in_port", + "board.cache_hierarchy.ruby_system.l1_controllers1.responseToL1Cache.in_port", + "board.cache_hierarchy.ruby_system.l1_controllers2.requestToL1Cache.in_port", + "board.cache_hierarchy.ruby_system.l1_controllers2.responseToL1Cache.in_port", + "board.cache_hierarchy.ruby_system.l1_controllers3.requestToL1Cache.in_port", + "board.cache_hierarchy.ruby_system.l1_controllers3.responseToL1Cache.in_port", + "board.cache_hierarchy.ruby_system.l2_controllers.unblockToL2Cache.in_port", + "board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache.in_port", + "board.cache_hierarchy.ruby_system.l2_controllers.responseToL2Cache.in_port", + "board.cache_hierarchy.ruby_system.directory_controllers.requestToDir.in_port", + "board.cache_hierarchy.ruby_system.directory_controllers.responseToDir.in_port", + "board.cache_hierarchy.ruby_system.dma_controllers0.responseFromDir.in_port", + "board.cache_hierarchy.ruby_system.dma_controllers1.responseFromDir.in_port" + ], + "is_source": "True" + } + }, + "sys_port_proxy": { + "type": "RubyPortProxy", + "cxx_class": "gem5::ruby::RubyPortProxy", + "name": "sys_port_proxy", + "path": "board.cache_hierarchy.ruby_system.sys_port_proxy", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "is_cpu_sequencer": true, + "no_retry_on_stall": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.cache_hierarchy.ruby_system.sys_port_proxy.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ruby_system": "board.cache_hierarchy.ruby_system", + "support_data_reqs": true, + "support_inst_reqs": true, + "system": "board", + "using_ruby_tester": false, + "version": 0, + "in_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.system_port" + ], + "is_source": "False" + } + } + } + }, + "clk_domain": { + "type": "SrcClockDomain", + "cxx_class": "gem5::SrcClockDomain", + "name": "clk_domain", + "path": "board.clk_domain", + "clock": [ + 333 + ], + "domain_id": -1, + "eventq_index": 0, + "init_perf_level": 0, + "voltage_domain": { + "type": "VoltageDomain", + "cxx_class": "gem5::VoltageDomain", + "name": "voltage_domain", + "path": "board.clk_domain.voltage_domain", + "eventq_index": 0, + "voltage": [ + 1.0 + ] + } + }, + "dvfs_handler": { + "type": "DVFSHandler", + "cxx_class": "gem5::DVFSHandler", + "name": "dvfs_handler", + "path": "board.dvfs_handler", + "domains": [], + "enable": false, + "eventq_index": 0, + "sys_clk_domain": "board.clk_domain", + "transition_latency": 100000000 + }, + "iobus": { + "type": "NoncoherentXBar", + "cxx_class": "gem5::NoncoherentXBar", + "name": "iobus", + "path": "board.iobus", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "forward_latency": 1, + "frontend_latency": 2, + "header_latency": 1, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.iobus.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "response_latency": 2, + "use_default_range": false, + "width": 16, + "cpu_side_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.pc.south_bridge.io_apic.int_requestor", + "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio_request_port", + "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem_request_port", + "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio_request_port", + "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem_request_port", + "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio_request_port", + "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem_request_port", + "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio_request_port", + "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem_request_port" + ], + "is_source": "False" + }, + "default": { + "role": "GEM5 REQUESTOR", + "peer": "board.pc.default_bus.cpu_side_ports[0]", + "is_source": "True" + }, + "mem_side_ports": { + "role": "GEM5 REQUESTOR", + "peer": [ + "board.pc.south_bridge.cmos.pio", + "board.pc.south_bridge.dma1.pio", + "board.pc.south_bridge.ide.pio", + "board.pc.south_bridge.keyboard.pio", + "board.pc.south_bridge.pic1.pio", + "board.pc.south_bridge.pic2.pio", + "board.pc.south_bridge.pit.pio", + "board.pc.south_bridge.speaker.pio", + "board.pc.south_bridge.io_apic.pio", + "board.pc.com_1.pio", + "board.pc.fake_com_2.pio", + "board.pc.fake_com_3.pio", + "board.pc.fake_com_4.pio", + "board.pc.fake_floppy.pio", + "board.pc.pci_host.pio", + "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio_response_port", + "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio_response_port", + "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio_response_port", + "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio_response_port", + "board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer.in_ports[0]" + ], + "is_source": "True" + } + }, + "memory": { + "type": "SubSystem", + "cxx_class": "gem5::SubSystem", + "name": "memory", + "path": "board.memory", + "eventq_index": 0, + "thermal_domain": null, + "mem_ctrl": [ + { + "type": "MemCtrl", + "cxx_class": "gem5::memory::MemCtrl", + "name": "mem_ctrl", + "path": "board.memory.mem_ctrl", + "clk_domain": "board.clk_domain", + "command_window": 10000, + "disable_sanity_check": false, + "dram": { + "type": "DRAMInterface", + "cxx_class": "gem5::memory::DRAMInterface", + "name": "dram", + "path": "board.memory.mem_ctrl.dram", + "IDD0": 0.055, + "IDD02": 0.0, + "IDD2N": 0.032, + "IDD2N2": 0.0, + "IDD2P0": 0.0, + "IDD2P02": 0.0, + "IDD2P1": 0.032, + "IDD2P12": 0.0, + "IDD3N": 0.038, + "IDD3N2": 0.0, + "IDD3P0": 0.0, + "IDD3P02": 0.0, + "IDD3P1": 0.038, + "IDD3P12": 0.0, + "IDD4R": 0.157, + "IDD4R2": 0.0, + "IDD4W": 0.125, + "IDD4W2": 0.0, + "IDD5": 0.23500000000000001, + "IDD52": 0.0, + "IDD6": 0.02, + "IDD62": 0.0, + "VDD": 1.5, + "VDD2": 0.0, + "activation_limit": 4, + "addr_mapping": "RoRaBaCoCh", + "bank_groups_per_rank": 0, + "banks_per_rank": 8, + "beats_per_clock": 2, + "burst_length": 8, + "clk_domain": "board.clk_domain", + "conf_table_reported": true, + "data_clock_sync": false, + "device_bus_width": 8, + "device_rowbuffer_size": 1024, + "device_size": 536870912, + "devices_per_rank": 8, + "dll": true, + "enable_dram_powerdown": false, + "eventq_index": 0, + "image_file": "", + "in_addr_map": true, + "kvm_map": true, + "max_accesses_per_row": 16, + "null": false, + "page_policy": "open_adaptive", + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.memory.mem_ctrl.dram.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "range": "0:2147483648", + "ranks_per_channel": 2, + "read_buffer_size": 32, + "tAAD": 1250, + "tBURST": 5000, + "tBURST_MAX": 5000, + "tBURST_MIN": 5000, + "tCCD_L": 0, + "tCCD_L_WR": 0, + "tCK": 1250, + "tCL": 13750, + "tCS": 2500, + "tCWL": 13750, + "tPPD": 0, + "tRAS": 35000, + "tRCD": 13750, + "tRCD_WR": 13750, + "tREFI": 7800000, + "tRFC": 260000, + "tRP": 13750, + "tRRD": 6000, + "tRRD_L": 0, + "tRTP": 7500, + "tRTW": 2500, + "tWR": 15000, + "tWTR": 7500, + "tWTR_L": 7500, + "tXAW": 30000, + "tXP": 6000, + "tXPDLL": 0, + "tXS": 270000, + "tXSDLL": 0, + "two_cycle_activate": false, + "write_buffer_size": 64, + "writeable": true + }, + "eventq_index": 0, + "mem_sched_policy": "frfcfs", + "min_reads_per_switch": 16, + "min_writes_per_switch": 16, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.memory.mem_ctrl.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "qos_policy": null, + "qos_priorities": 1, + "qos_priority_escalation": false, + "qos_q_policy": "fifo", + "qos_requestors": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "qos_syncro_scheduler": false, + "qos_turnaround_policy": null, + "static_backend_latency": 10000, + "static_frontend_latency": 10000, + "system": "board", + "write_high_thresh_perc": 85, + "write_low_thresh_perc": 50, + "port": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.directory_controllers.memory_out_port", + "is_source": "False" + } + } + ] + }, + "pc": { + "type": "Pc", + "cxx_class": "gem5::Pc", + "name": "pc", + "path": "board.pc", + "eventq_index": 0, + "south_bridge": { + "type": "SouthBridge", + "cxx_class": "gem5::SouthBridge", + "name": "south_bridge", + "path": "board.pc.south_bridge", + "cmos": { + "type": "Cmos", + "cxx_class": "gem5::X86ISA::Cmos", + "name": "cmos", + "path": "board.pc.south_bridge.cmos", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "pio_addr": 9223372036854775920, + "pio_latency": 100000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.cmos.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "time": "Sun Jan 1 00:00:00 2012", + "int_pin": { + "role": "Int Source Pin", + "peer": [ + "board.pc.south_bridge.pic2.inputs[0]" + ], + "is_source": "True" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[0]", + "is_source": "False" + } + }, + "dma1": { + "type": "I8237", + "cxx_class": "gem5::X86ISA::I8237", + "name": "dma1", + "path": "board.pc.south_bridge.dma1", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "pio_addr": 9223372036854775808, + "pio_latency": 100000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.dma1.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[1]", + "is_source": "False" + } + }, + "eventq_index": 0, + "io_apic": { + "type": "I82094AA", + "cxx_class": "gem5::X86ISA::I82094AA", + "name": "io_apic", + "path": "board.pc.south_bridge.io_apic", + "apic_id": 4, + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "int_latency": 1000, + "pio_addr": 4273995776, + "pio_latency": 100000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.io_apic.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "inputs": { + "role": "Int Sink Pin", + "peer": [ + "board.pc.south_bridge.pic1.output[0]", + "board.pc.south_bridge.keyboard.keyboard_int_pin[0]", + "board.pc.south_bridge.pit.int_pin[1]", + "None", + "None", + "None", + "None", + "None", + "None", + "None", + "None", + "None", + "board.pc.south_bridge.keyboard.mouse_int_pin[0]", + "None", + "board.pc.south_bridge.ide.int_primary[1]", + "board.pc.south_bridge.ide.int_secondary[1]" + ], + "is_source": "False" + }, + "int_requestor": { + "role": "GEM5 REQUESTOR", + "peer": "board.iobus.cpu_side_ports[0]", + "is_source": "True" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[8]", + "is_source": "False" + } + }, + "keyboard": { + "type": "I8042", + "cxx_class": "gem5::X86ISA::I8042", + "name": "keyboard", + "path": "board.pc.south_bridge.keyboard", + "clk_domain": "board.clk_domain", + "command_port": 9223372036854775908, + "data_port": 9223372036854775904, + "eventq_index": 0, + "keyboard": { + "type": "PS2Keyboard", + "cxx_class": "gem5::ps2::PS2Keyboard", + "name": "keyboard", + "path": "board.pc.south_bridge.keyboard.keyboard", + "eventq_index": 0, + "vnc": null + }, + "mouse": { + "type": "PS2Mouse", + "cxx_class": "gem5::ps2::PS2Mouse", + "name": "mouse", + "path": "board.pc.south_bridge.keyboard.mouse", + "eventq_index": 0 + }, + "pio_latency": 100000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.keyboard.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "keyboard_int_pin": { + "role": "Int Source Pin", + "peer": [ + "board.pc.south_bridge.io_apic.inputs[1]" + ], + "is_source": "True" + }, + "mouse_int_pin": { + "role": "Int Source Pin", + "peer": [ + "board.pc.south_bridge.io_apic.inputs[12]" + ], + "is_source": "True" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[3]", + "is_source": "False" + } + }, + "pic1": { + "type": "I8259", + "cxx_class": "gem5::X86ISA::I8259", + "name": "pic1", + "path": "board.pc.south_bridge.pic1", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "mode": "I8259Master", + "pio_addr": 9223372036854775840, + "pio_latency": 100000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.pic1.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "slave": "board.pc.south_bridge.pic2", + "system": "board", + "inputs": { + "role": "Int Sink Pin", + "peer": [ + "board.pc.south_bridge.pit.int_pin[0]", + "None", + "board.pc.south_bridge.pic2.output[0]" + ], + "is_source": "False" + }, + "output": { + "role": "Int Source Pin", + "peer": [ + "board.pc.south_bridge.io_apic.inputs[0]" + ], + "is_source": "True" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[4]", + "is_source": "False" + } + }, + "pic2": { + "type": "I8259", + "cxx_class": "gem5::X86ISA::I8259", + "name": "pic2", + "path": "board.pc.south_bridge.pic2", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "mode": "I8259Slave", + "pio_addr": 9223372036854775968, + "pio_latency": 100000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.pic2.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "slave": null, + "system": "board", + "inputs": { + "role": "Int Sink Pin", + "peer": [ + "board.pc.south_bridge.cmos.int_pin[0]", + "None", + "None", + "None", + "None", + "None", + "board.pc.south_bridge.ide.int_primary[0]", + "board.pc.south_bridge.ide.int_secondary[0]" + ], + "is_source": "False" + }, + "output": { + "role": "Int Source Pin", + "peer": [ + "board.pc.south_bridge.pic1.inputs[2]" + ], + "is_source": "True" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[5]", + "is_source": "False" + } + }, + "pit": { + "type": "I8254", + "cxx_class": "gem5::X86ISA::I8254", + "name": "pit", + "path": "board.pc.south_bridge.pit", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "pio_addr": 9223372036854775872, + "pio_latency": 100000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.pit.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "int_pin": { + "role": "Int Source Pin", + "peer": [ + "board.pc.south_bridge.pic1.inputs[0]", + "board.pc.south_bridge.io_apic.inputs[2]" + ], + "is_source": "True" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[6]", + "is_source": "False" + } + }, + "speaker": { + "type": "PcSpeaker", + "cxx_class": "gem5::X86ISA::Speaker", + "name": "speaker", + "path": "board.pc.south_bridge.speaker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "i8254": "board.pc.south_bridge.pit", + "pio_addr": 9223372036854775905, + "pio_latency": 100000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.speaker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[7]", + "is_source": "False" + } + }, + "ide": { + "type": "X86IdeController", + "cxx_class": "gem5::X86IdeController", + "name": "ide", + "path": "board.pc.south_bridge.ide", + "BAR0": { + "type": "PciLegacyIoBar", + "cxx_class": "gem5::PciLegacyIoBar", + "name": "BAR0", + "path": "board.pc.south_bridge.ide.BAR0", + "addr": 496, + "eventq_index": 0, + "size": 8 + }, + "BAR1": { + "type": "PciLegacyIoBar", + "cxx_class": "gem5::PciLegacyIoBar", + "name": "BAR1", + "path": "board.pc.south_bridge.ide.BAR1", + "addr": 1012, + "eventq_index": 0, + "size": 3 + }, + "BAR2": { + "type": "PciLegacyIoBar", + "cxx_class": "gem5::PciLegacyIoBar", + "name": "BAR2", + "path": "board.pc.south_bridge.ide.BAR2", + "addr": 368, + "eventq_index": 0, + "size": 8 + }, + "BAR3": { + "type": "PciLegacyIoBar", + "cxx_class": "gem5::PciLegacyIoBar", + "name": "BAR3", + "path": "board.pc.south_bridge.ide.BAR3", + "addr": 884, + "eventq_index": 0, + "size": 3 + }, + "BAR4": { + "type": "PciIoBar", + "cxx_class": "gem5::PciIoBar", + "name": "BAR4", + "path": "board.pc.south_bridge.ide.BAR4", + "eventq_index": 0, + "size": 16 + }, + "BAR5": { + "type": "PciBarNone", + "cxx_class": "gem5::PciBarNone", + "name": "BAR5", + "path": "board.pc.south_bridge.ide.BAR5", + "eventq_index": 0 + }, + "BIST": 0, + "CacheLineSize": 0, + "CapabilityPtr": 0, + "CardbusCIS": 0, + "ClassCode": 1, + "Command": 0, + "DeviceID": 28945, + "ExpansionROM": 0, + "HeaderType": 0, + "InterruptLine": 255, + "InterruptPin": 1, + "LatencyTimer": 0, + "MSICAPBaseOffset": 0, + "MSICAPCapId": 0, + "MSICAPMaskBits": 0, + "MSICAPMsgAddr": 0, + "MSICAPMsgCtrl": 0, + "MSICAPMsgData": 0, + "MSICAPMsgUpperAddr": 0, + "MSICAPNextCapability": 0, + "MSICAPPendingBits": 0, + "MSIXCAPBaseOffset": 0, + "MSIXCAPCapId": 0, + "MSIXCAPNextCapability": 0, + "MSIXMsgCtrl": 0, + "MSIXPbaOffset": 0, + "MSIXTableOffset": 0, + "MaximumLatency": 0, + "MinimumGrant": 0, + "PMCAPBaseOffset": 0, + "PMCAPCapId": 0, + "PMCAPCapabilities": 0, + "PMCAPCtrlStatus": 0, + "PMCAPNextCapability": 0, + "PXCAPBaseOffset": 0, + "PXCAPCapId": 0, + "PXCAPCapabilities": 0, + "PXCAPDevCap2": 0, + "PXCAPDevCapabilities": 0, + "PXCAPDevCtrl": 0, + "PXCAPDevCtrl2": 0, + "PXCAPDevStatus": 0, + "PXCAPLinkCap": 0, + "PXCAPLinkCtrl": 0, + "PXCAPLinkStatus": 0, + "PXCAPNextCapability": 0, + "ProgIF": 128, + "Revision": 0, + "Status": 640, + "SubClassCode": 1, + "SubsystemID": 0, + "SubsystemVendorID": 0, + "VendorID": 32902, + "clk_domain": "board.clk_domain", + "config_latency": 20000, + "ctrl_offset": 0, + "disks": [ + { + "type": "IdeDisk", + "cxx_class": "gem5::IdeDisk", + "name": "disks", + "path": "board.pc.south_bridge.ide.disks", + "delay": 1000000, + "driveID": "device0", + "eventq_index": 0, + "image": { + "type": "CowDiskImage", + "cxx_class": "gem5::CowDiskImage", + "name": "image", + "path": "board.pc.south_bridge.ide.disks.image", + "child": { + "type": "RawDiskImage", + "cxx_class": "gem5::RawDiskImage", + "name": "child", + "path": "board.pc.south_bridge.ide.disks.image.child", + "eventq_index": 0, + "image_file": "/home/carlos/.cache/gem5/x86-ubuntu-18.04-img", + "read_only": true + }, + "eventq_index": 0, + "image_file": "", + "read_only": false, + "table_size": 65536 + } + } + ], + "eventq_index": 0, + "host": "board.pc.pci_host", + "io_shift": 0, + "pci_bus": 0, + "pci_dev": 4, + "pci_func": 0, + "pio_latency": 30000, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.south_bridge.ide.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "sid": 0, + "ssid": 0, + "system": "board", + "dma": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer.in_ports[0]", + "is_source": "True" + }, + "int_primary": { + "role": "Int Source Pin", + "peer": [ + "board.pc.south_bridge.pic2.inputs[6]", + "board.pc.south_bridge.io_apic.inputs[14]" + ], + "is_source": "True" + }, + "int_secondary": { + "role": "Int Source Pin", + "peer": [ + "board.pc.south_bridge.pic2.inputs[7]", + "board.pc.south_bridge.io_apic.inputs[15]" + ], + "is_source": "True" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[2]", + "is_source": "False" + } + } + }, + "system": "board", + "bad_addr": { + "type": "IsaFake", + "cxx_class": "gem5::IsaFake", + "name": "bad_addr", + "path": "board.pc.bad_addr", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "fake_mem": false, + "pio_addr": 0, + "pio_latency": 100000, + "pio_size": 8, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.bad_addr.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ret_bad_addr": true, + "ret_data16": 65535, + "ret_data32": 4294967295, + "ret_data64": 18446744073709551615, + "ret_data8": 255, + "system": "board", + "update_data": false, + "warn_access": "", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.pc.default_bus.default", + "is_source": "False" + } + }, + "com_1": { + "type": "Uart8250", + "cxx_class": "gem5::Uart8250", + "name": "com_1", + "path": "board.pc.com_1", + "clk_domain": "board.clk_domain", + "device": { + "type": "Terminal", + "cxx_class": "gem5::Terminal", + "name": "device", + "path": "board.pc.com_1.device", + "eventq_index": 0, + "number": 0, + "outfile": "file", + "port": "#3456" + }, + "eventq_index": 0, + "pio_addr": 9223372036854776824, + "pio_latency": 100000, + "pio_size": 8, + "platform": "board.pc", + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.com_1.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[9]", + "is_source": "False" + } + }, + "default_bus": { + "type": "NoncoherentXBar", + "cxx_class": "gem5::NoncoherentXBar", + "name": "default_bus", + "path": "board.pc.default_bus", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "forward_latency": 1, + "frontend_latency": 2, + "header_latency": 1, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.default_bus.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "response_latency": 2, + "use_default_range": false, + "width": 16, + "cpu_side_ports": { + "role": "GEM5 RESPONDER", + "peer": [ + "board.iobus.default" + ], + "is_source": "False" + }, + "default": { + "role": "GEM5 REQUESTOR", + "peer": "board.pc.bad_addr.pio", + "is_source": "True" + }, + "mem_side_ports": { + "role": "GEM5 REQUESTOR", + "peer": [ + "board.pc.empty_isa.pio" + ], + "is_source": "True" + } + }, + "empty_isa": { + "type": "IsaFake", + "cxx_class": "gem5::IsaFake", + "name": "empty_isa", + "path": "board.pc.empty_isa", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "fake_mem": false, + "pio_addr": 9223372036854775808, + "pio_latency": 100000, + "pio_size": 65536, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.empty_isa.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ret_bad_addr": false, + "ret_data16": 0, + "ret_data32": 0, + "ret_data64": 0, + "ret_data8": 0, + "system": "board", + "update_data": false, + "warn_access": "", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.pc.default_bus.mem_side_ports[0]", + "is_source": "False" + } + }, + "fake_com_2": { + "type": "IsaFake", + "cxx_class": "gem5::IsaFake", + "name": "fake_com_2", + "path": "board.pc.fake_com_2", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "fake_mem": false, + "pio_addr": 9223372036854776568, + "pio_latency": 100000, + "pio_size": 8, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.fake_com_2.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ret_bad_addr": false, + "ret_data16": 65535, + "ret_data32": 4294967295, + "ret_data64": 18446744073709551615, + "ret_data8": 255, + "system": "board", + "update_data": false, + "warn_access": "", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[10]", + "is_source": "False" + } + }, + "fake_com_3": { + "type": "IsaFake", + "cxx_class": "gem5::IsaFake", + "name": "fake_com_3", + "path": "board.pc.fake_com_3", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "fake_mem": false, + "pio_addr": 9223372036854776808, + "pio_latency": 100000, + "pio_size": 8, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.fake_com_3.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ret_bad_addr": false, + "ret_data16": 65535, + "ret_data32": 4294967295, + "ret_data64": 18446744073709551615, + "ret_data8": 255, + "system": "board", + "update_data": false, + "warn_access": "", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[11]", + "is_source": "False" + } + }, + "fake_com_4": { + "type": "IsaFake", + "cxx_class": "gem5::IsaFake", + "name": "fake_com_4", + "path": "board.pc.fake_com_4", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "fake_mem": false, + "pio_addr": 9223372036854776552, + "pio_latency": 100000, + "pio_size": 8, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.fake_com_4.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ret_bad_addr": false, + "ret_data16": 65535, + "ret_data32": 4294967295, + "ret_data64": 18446744073709551615, + "ret_data8": 255, + "system": "board", + "update_data": false, + "warn_access": "", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[12]", + "is_source": "False" + } + }, + "fake_floppy": { + "type": "IsaFake", + "cxx_class": "gem5::IsaFake", + "name": "fake_floppy", + "path": "board.pc.fake_floppy", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "fake_mem": false, + "pio_addr": 9223372036854776818, + "pio_latency": 100000, + "pio_size": 2, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.fake_floppy.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "ret_bad_addr": false, + "ret_data16": 65535, + "ret_data32": 4294967295, + "ret_data64": 18446744073709551615, + "ret_data8": 255, + "system": "board", + "update_data": false, + "warn_access": "", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[13]", + "is_source": "False" + } + }, + "pci_host": { + "type": "GenericPciHost", + "cxx_class": "gem5::GenericPciHost", + "name": "pci_host", + "path": "board.pc.pci_host", + "clk_domain": "board.clk_domain", + "conf_base": 13835058055282163712, + "conf_device_bits": 8, + "conf_size": 16777216, + "eventq_index": 0, + "pci_dma_base": 0, + "pci_mem_base": 0, + "pci_pio_base": 9223372036854775808, + "platform": "board.pc", + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.pc.pci_host.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.iobus.mem_side_ports[14]", + "is_source": "False" + } + } + }, + "processor": { + "type": "SubSystem", + "cxx_class": "gem5::SubSystem", + "name": "processor", + "path": "board.processor", + "eventq_index": 0, + "thermal_domain": null, + "cores": [ + { + "type": "SubSystem", + "cxx_class": "gem5::SubSystem", + "name": "cores0", + "path": "board.processor.cores0", + "eventq_index": 0, + "thermal_domain": null, + "core": { + "type": "BaseTimingSimpleCPU", + "cxx_class": "gem5::TimingSimpleCPU", + "name": "core", + "path": "board.processor.cores0.core", + "branchPred": null, + "checker": null, + "clk_domain": "board.clk_domain", + "cpu_id": 0, + "decoder": [ + { + "type": "X86Decoder", + "cxx_class": "gem5::X86ISA::Decoder", + "name": "decoder", + "path": "board.processor.cores0.core.decoder", + "eventq_index": 0, + "isa": "board.processor.cores0.core.isa" + } + ], + "do_checkpoint_insts": true, + "do_statistics_insts": true, + "eventq_index": 0, + "function_trace": false, + "function_trace_start": 0, + "interrupts": [ + { + "type": "X86LocalApic", + "cxx_class": "gem5::X86ISA::Interrupts", + "name": "interrupts", + "path": "board.processor.cores0.core.interrupts", + "clk_domain": { + "type": "DerivedClockDomain", + "cxx_class": "gem5::DerivedClockDomain", + "name": "clk_domain", + "path": "board.processor.cores0.core.interrupts.clk_domain", + "clk_divider": 16, + "clk_domain": "board.clk_domain", + "eventq_index": 0 + }, + "eventq_index": 0, + "int_latency": 1000, + "pio_latency": 100000, + "system": "board", + "int_requestor": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[4]", + "is_source": "True" + }, + "int_responder": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.interrupt_out_port[1]", + "is_source": "False" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.interrupt_out_port[0]", + "is_source": "False" + } + } + ], + "isa": [ + { + "type": "X86ISA", + "cxx_class": "gem5::X86ISA::ISA", + "name": "isa", + "path": "board.processor.cores0.core.isa", + "eventq_index": 0, + "vendor_string": "HygonGenuine" + } + ], + "max_insts_all_threads": 0, + "max_insts_any_thread": 0, + "mmu": { + "type": "X86MMU", + "cxx_class": "gem5::X86ISA::MMU", + "name": "mmu", + "path": "board.processor.cores0.core.mmu", + "dtb": { + "type": "X86TLB", + "cxx_class": "gem5::X86ISA::TLB", + "name": "dtb", + "path": "board.processor.cores0.core.mmu.dtb", + "entry_type": "data", + "eventq_index": 0, + "next_level": null, + "size": 64, + "system": "board", + "walker": { + "type": "X86PagetableWalker", + "cxx_class": "gem5::X86ISA::Walker", + "name": "walker", + "path": "board.processor.cores0.core.mmu.dtb.walker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "num_squash_per_cycle": 4, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores0.core.mmu.dtb.walker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[3]", + "is_source": "True" + } + } + }, + "eventq_index": 0, + "itb": { + "type": "X86TLB", + "cxx_class": "gem5::X86ISA::TLB", + "name": "itb", + "path": "board.processor.cores0.core.mmu.itb", + "entry_type": "instruction", + "eventq_index": 0, + "next_level": null, + "size": 64, + "system": "board", + "walker": { + "type": "X86PagetableWalker", + "cxx_class": "gem5::X86ISA::Walker", + "name": "walker", + "path": "board.processor.cores0.core.mmu.itb.walker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "num_squash_per_cycle": 4, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores0.core.mmu.itb.walker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[2]", + "is_source": "True" + } + } + } + }, + "numThreads": 1, + "power_gating_on_idle": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores0.core.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [ + "ON", + "CLK_GATED", + "OFF" + ] + }, + "progress_interval": 0, + "pwr_gating_latency": 300, + "simpoint_start_insts": [], + "socket_id": 0, + "switched_out": false, + "syscallRetryLatency": 10000, + "system": "board", + "tracer": { + "type": "ExeTracer", + "cxx_class": "gem5::trace::ExeTracer", + "name": "tracer", + "path": "board.processor.cores0.core.tracer", + "eventq_index": 0 + }, + "workload": [], + "dcache_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[1]", + "is_source": "True" + }, + "icache_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.in_ports[0]", + "is_source": "True" + } + } + }, + { + "type": "SubSystem", + "cxx_class": "gem5::SubSystem", + "name": "cores1", + "path": "board.processor.cores1", + "eventq_index": 0, + "thermal_domain": null, + "core": { + "type": "BaseTimingSimpleCPU", + "cxx_class": "gem5::TimingSimpleCPU", + "name": "core", + "path": "board.processor.cores1.core", + "branchPred": null, + "checker": null, + "clk_domain": "board.clk_domain", + "cpu_id": 1, + "decoder": [ + { + "type": "X86Decoder", + "cxx_class": "gem5::X86ISA::Decoder", + "name": "decoder", + "path": "board.processor.cores1.core.decoder", + "eventq_index": 0, + "isa": "board.processor.cores1.core.isa" + } + ], + "do_checkpoint_insts": true, + "do_statistics_insts": true, + "eventq_index": 0, + "function_trace": false, + "function_trace_start": 0, + "interrupts": [ + { + "type": "X86LocalApic", + "cxx_class": "gem5::X86ISA::Interrupts", + "name": "interrupts", + "path": "board.processor.cores1.core.interrupts", + "clk_domain": { + "type": "DerivedClockDomain", + "cxx_class": "gem5::DerivedClockDomain", + "name": "clk_domain", + "path": "board.processor.cores1.core.interrupts.clk_domain", + "clk_divider": 16, + "clk_domain": "board.clk_domain", + "eventq_index": 0 + }, + "eventq_index": 0, + "int_latency": 1000, + "pio_latency": 100000, + "system": "board", + "int_requestor": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[4]", + "is_source": "True" + }, + "int_responder": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.interrupt_out_port[1]", + "is_source": "False" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.interrupt_out_port[0]", + "is_source": "False" + } + } + ], + "isa": [ + { + "type": "X86ISA", + "cxx_class": "gem5::X86ISA::ISA", + "name": "isa", + "path": "board.processor.cores1.core.isa", + "eventq_index": 0, + "vendor_string": "HygonGenuine" + } + ], + "max_insts_all_threads": 0, + "max_insts_any_thread": 0, + "mmu": { + "type": "X86MMU", + "cxx_class": "gem5::X86ISA::MMU", + "name": "mmu", + "path": "board.processor.cores1.core.mmu", + "dtb": { + "type": "X86TLB", + "cxx_class": "gem5::X86ISA::TLB", + "name": "dtb", + "path": "board.processor.cores1.core.mmu.dtb", + "entry_type": "data", + "eventq_index": 0, + "next_level": null, + "size": 64, + "system": "board", + "walker": { + "type": "X86PagetableWalker", + "cxx_class": "gem5::X86ISA::Walker", + "name": "walker", + "path": "board.processor.cores1.core.mmu.dtb.walker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "num_squash_per_cycle": 4, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores1.core.mmu.dtb.walker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[3]", + "is_source": "True" + } + } + }, + "eventq_index": 0, + "itb": { + "type": "X86TLB", + "cxx_class": "gem5::X86ISA::TLB", + "name": "itb", + "path": "board.processor.cores1.core.mmu.itb", + "entry_type": "instruction", + "eventq_index": 0, + "next_level": null, + "size": 64, + "system": "board", + "walker": { + "type": "X86PagetableWalker", + "cxx_class": "gem5::X86ISA::Walker", + "name": "walker", + "path": "board.processor.cores1.core.mmu.itb.walker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "num_squash_per_cycle": 4, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores1.core.mmu.itb.walker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[2]", + "is_source": "True" + } + } + } + }, + "numThreads": 1, + "power_gating_on_idle": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores1.core.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [ + "ON", + "CLK_GATED", + "OFF" + ] + }, + "progress_interval": 0, + "pwr_gating_latency": 300, + "simpoint_start_insts": [], + "socket_id": 0, + "switched_out": false, + "syscallRetryLatency": 10000, + "system": "board", + "tracer": { + "type": "ExeTracer", + "cxx_class": "gem5::trace::ExeTracer", + "name": "tracer", + "path": "board.processor.cores1.core.tracer", + "eventq_index": 0 + }, + "workload": [], + "dcache_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[1]", + "is_source": "True" + }, + "icache_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.in_ports[0]", + "is_source": "True" + } + } + }, + { + "type": "SubSystem", + "cxx_class": "gem5::SubSystem", + "name": "cores2", + "path": "board.processor.cores2", + "eventq_index": 0, + "thermal_domain": null, + "core": { + "type": "BaseTimingSimpleCPU", + "cxx_class": "gem5::TimingSimpleCPU", + "name": "core", + "path": "board.processor.cores2.core", + "branchPred": null, + "checker": null, + "clk_domain": "board.clk_domain", + "cpu_id": 2, + "decoder": [ + { + "type": "X86Decoder", + "cxx_class": "gem5::X86ISA::Decoder", + "name": "decoder", + "path": "board.processor.cores2.core.decoder", + "eventq_index": 0, + "isa": "board.processor.cores2.core.isa" + } + ], + "do_checkpoint_insts": true, + "do_statistics_insts": true, + "eventq_index": 0, + "function_trace": false, + "function_trace_start": 0, + "interrupts": [ + { + "type": "X86LocalApic", + "cxx_class": "gem5::X86ISA::Interrupts", + "name": "interrupts", + "path": "board.processor.cores2.core.interrupts", + "clk_domain": { + "type": "DerivedClockDomain", + "cxx_class": "gem5::DerivedClockDomain", + "name": "clk_domain", + "path": "board.processor.cores2.core.interrupts.clk_domain", + "clk_divider": 16, + "clk_domain": "board.clk_domain", + "eventq_index": 0 + }, + "eventq_index": 0, + "int_latency": 1000, + "pio_latency": 100000, + "system": "board", + "int_requestor": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[4]", + "is_source": "True" + }, + "int_responder": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.interrupt_out_port[1]", + "is_source": "False" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.interrupt_out_port[0]", + "is_source": "False" + } + } + ], + "isa": [ + { + "type": "X86ISA", + "cxx_class": "gem5::X86ISA::ISA", + "name": "isa", + "path": "board.processor.cores2.core.isa", + "eventq_index": 0, + "vendor_string": "HygonGenuine" + } + ], + "max_insts_all_threads": 0, + "max_insts_any_thread": 0, + "mmu": { + "type": "X86MMU", + "cxx_class": "gem5::X86ISA::MMU", + "name": "mmu", + "path": "board.processor.cores2.core.mmu", + "dtb": { + "type": "X86TLB", + "cxx_class": "gem5::X86ISA::TLB", + "name": "dtb", + "path": "board.processor.cores2.core.mmu.dtb", + "entry_type": "data", + "eventq_index": 0, + "next_level": null, + "size": 64, + "system": "board", + "walker": { + "type": "X86PagetableWalker", + "cxx_class": "gem5::X86ISA::Walker", + "name": "walker", + "path": "board.processor.cores2.core.mmu.dtb.walker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "num_squash_per_cycle": 4, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores2.core.mmu.dtb.walker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[3]", + "is_source": "True" + } + } + }, + "eventq_index": 0, + "itb": { + "type": "X86TLB", + "cxx_class": "gem5::X86ISA::TLB", + "name": "itb", + "path": "board.processor.cores2.core.mmu.itb", + "entry_type": "instruction", + "eventq_index": 0, + "next_level": null, + "size": 64, + "system": "board", + "walker": { + "type": "X86PagetableWalker", + "cxx_class": "gem5::X86ISA::Walker", + "name": "walker", + "path": "board.processor.cores2.core.mmu.itb.walker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "num_squash_per_cycle": 4, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores2.core.mmu.itb.walker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[2]", + "is_source": "True" + } + } + } + }, + "numThreads": 1, + "power_gating_on_idle": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores2.core.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [ + "ON", + "CLK_GATED", + "OFF" + ] + }, + "progress_interval": 0, + "pwr_gating_latency": 300, + "simpoint_start_insts": [], + "socket_id": 0, + "switched_out": false, + "syscallRetryLatency": 10000, + "system": "board", + "tracer": { + "type": "ExeTracer", + "cxx_class": "gem5::trace::ExeTracer", + "name": "tracer", + "path": "board.processor.cores2.core.tracer", + "eventq_index": 0 + }, + "workload": [], + "dcache_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[1]", + "is_source": "True" + }, + "icache_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.in_ports[0]", + "is_source": "True" + } + } + }, + { + "type": "SubSystem", + "cxx_class": "gem5::SubSystem", + "name": "cores3", + "path": "board.processor.cores3", + "eventq_index": 0, + "thermal_domain": null, + "core": { + "type": "BaseTimingSimpleCPU", + "cxx_class": "gem5::TimingSimpleCPU", + "name": "core", + "path": "board.processor.cores3.core", + "branchPred": null, + "checker": null, + "clk_domain": "board.clk_domain", + "cpu_id": 3, + "decoder": [ + { + "type": "X86Decoder", + "cxx_class": "gem5::X86ISA::Decoder", + "name": "decoder", + "path": "board.processor.cores3.core.decoder", + "eventq_index": 0, + "isa": "board.processor.cores3.core.isa" + } + ], + "do_checkpoint_insts": true, + "do_statistics_insts": true, + "eventq_index": 0, + "function_trace": false, + "function_trace_start": 0, + "interrupts": [ + { + "type": "X86LocalApic", + "cxx_class": "gem5::X86ISA::Interrupts", + "name": "interrupts", + "path": "board.processor.cores3.core.interrupts", + "clk_domain": { + "type": "DerivedClockDomain", + "cxx_class": "gem5::DerivedClockDomain", + "name": "clk_domain", + "path": "board.processor.cores3.core.interrupts.clk_domain", + "clk_divider": 16, + "clk_domain": "board.clk_domain", + "eventq_index": 0 + }, + "eventq_index": 0, + "int_latency": 1000, + "pio_latency": 100000, + "system": "board", + "int_requestor": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[4]", + "is_source": "True" + }, + "int_responder": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.interrupt_out_port[1]", + "is_source": "False" + }, + "pio": { + "role": "GEM5 RESPONDER", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.interrupt_out_port[0]", + "is_source": "False" + } + } + ], + "isa": [ + { + "type": "X86ISA", + "cxx_class": "gem5::X86ISA::ISA", + "name": "isa", + "path": "board.processor.cores3.core.isa", + "eventq_index": 0, + "vendor_string": "HygonGenuine" + } + ], + "max_insts_all_threads": 0, + "max_insts_any_thread": 0, + "mmu": { + "type": "X86MMU", + "cxx_class": "gem5::X86ISA::MMU", + "name": "mmu", + "path": "board.processor.cores3.core.mmu", + "dtb": { + "type": "X86TLB", + "cxx_class": "gem5::X86ISA::TLB", + "name": "dtb", + "path": "board.processor.cores3.core.mmu.dtb", + "entry_type": "data", + "eventq_index": 0, + "next_level": null, + "size": 64, + "system": "board", + "walker": { + "type": "X86PagetableWalker", + "cxx_class": "gem5::X86ISA::Walker", + "name": "walker", + "path": "board.processor.cores3.core.mmu.dtb.walker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "num_squash_per_cycle": 4, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores3.core.mmu.dtb.walker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[3]", + "is_source": "True" + } + } + }, + "eventq_index": 0, + "itb": { + "type": "X86TLB", + "cxx_class": "gem5::X86ISA::TLB", + "name": "itb", + "path": "board.processor.cores3.core.mmu.itb", + "entry_type": "instruction", + "eventq_index": 0, + "next_level": null, + "size": 64, + "system": "board", + "walker": { + "type": "X86PagetableWalker", + "cxx_class": "gem5::X86ISA::Walker", + "name": "walker", + "path": "board.processor.cores3.core.mmu.itb.walker", + "clk_domain": "board.clk_domain", + "eventq_index": 0, + "num_squash_per_cycle": 4, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores3.core.mmu.itb.walker.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [] + }, + "system": "board", + "port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[2]", + "is_source": "True" + } + } + } + }, + "numThreads": 1, + "power_gating_on_idle": false, + "power_model": [], + "power_state": { + "type": "PowerState", + "cxx_class": "gem5::PowerState", + "name": "power_state", + "path": "board.processor.cores3.core.power_state", + "clk_gate_bins": 20, + "clk_gate_max": 1000000000000, + "clk_gate_min": 1000, + "default_state": "UNDEFINED", + "eventq_index": 0, + "leaders": [], + "possible_states": [ + "ON", + "CLK_GATED", + "OFF" + ] + }, + "progress_interval": 0, + "pwr_gating_latency": 300, + "simpoint_start_insts": [], + "socket_id": 0, + "switched_out": false, + "syscallRetryLatency": 10000, + "system": "board", + "tracer": { + "type": "ExeTracer", + "cxx_class": "gem5::trace::ExeTracer", + "name": "tracer", + "path": "board.processor.cores3.core.tracer", + "eventq_index": 0 + }, + "workload": [], + "dcache_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[1]", + "is_source": "True" + }, + "icache_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.in_ports[0]", + "is_source": "True" + } + } + } + ] + }, + "system_port": { + "role": "GEM5 REQUESTOR", + "peer": "board.cache_hierarchy.ruby_system.sys_port_proxy.in_ports[0]", + "is_source": "True" + } + } +} \ No newline at end of file diff --git a/m5out/stats.txt b/m5out/stats.txt index e69de29..faf439e 100644 --- a/m5out/stats.txt +++ b/m5out/stats.txt @@ -0,0 +1,3108 @@ + +---------- Begin Simulation Statistics ---------- +simSeconds 3.875651 # Number of seconds simulated (Second) +simTicks 3875651290180 # Number of ticks simulated (Tick) +finalTick 3875651290180 # Number of ticks from beginning of simulation (restored from checkpoints and never reset) (Tick) +simFreq 1000000000000 # The number of ticks per simulated second ((Tick/Second)) +hostSeconds 5618.40 # Real time elapsed on the host (Second) +hostTickRate 689813648 # The number of ticks simulated per host second (ticks/s) ((Tick/Second)) +hostMemory 11323572 # Number of bytes of host memory used (Byte) +simInsts 2665005563 # Number of instructions simulated (Count) +simOps 5787853650 # Number of ops (including micro ops) simulated (Count) +hostInstRate 474335 # Simulator instruction rate (inst/s) ((Count/Second)) +hostOpRate 1030160 # Simulator op (including micro ops) rate (op/s) ((Count/Second)) +board.cache_hierarchy.ruby_system.delayHistogram::bucket_size 128 # delay histogram for all message (Unspecified) +board.cache_hierarchy.ruby_system.delayHistogram::max_bucket 1279 # delay histogram for all message (Unspecified) +board.cache_hierarchy.ruby_system.delayHistogram::samples 231478040 # delay histogram for all message (Unspecified) +board.cache_hierarchy.ruby_system.delayHistogram::mean 0.509819 # delay histogram for all message (Unspecified) +board.cache_hierarchy.ruby_system.delayHistogram::stdev 2.064042 # delay histogram for all message (Unspecified) +board.cache_hierarchy.ruby_system.delayHistogram | 231477316 100.00% 100.00% | 526 0.00% 100.00% | 104 0.00% 100.00% | 47 0.00% 100.00% | 23 0.00% 100.00% | 16 0.00% 100.00% | 5 0.00% 100.00% | 2 0.00% 100.00% | 0 0.00% 100.00% | 1 0.00% 100.00% # delay histogram for all message (Unspecified) +board.cache_hierarchy.ruby_system.delayHistogram::total 231478040 # delay histogram for all message (Unspecified) +board.cache_hierarchy.ruby_system.m_outstandReqHistSeqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.m_outstandReqHistSeqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.m_outstandReqHistSeqr::samples 4583148498 (Unspecified) +board.cache_hierarchy.ruby_system.m_outstandReqHistSeqr::mean 1.000154 (Unspecified) +board.cache_hierarchy.ruby_system.m_outstandReqHistSeqr::gmean 1.000106 (Unspecified) +board.cache_hierarchy.ruby_system.m_outstandReqHistSeqr::stdev 0.012391 (Unspecified) +board.cache_hierarchy.ruby_system.m_outstandReqHistSeqr | 0 0.00% 0.00% | 4582444738 99.98% 99.98% | 703760 0.02% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.m_outstandReqHistSeqr::total 4583148498 (Unspecified) +board.cache_hierarchy.ruby_system.m_latencyHistSeqr::bucket_size 512 (Unspecified) +board.cache_hierarchy.ruby_system.m_latencyHistSeqr::max_bucket 5119 (Unspecified) +board.cache_hierarchy.ruby_system.m_latencyHistSeqr::samples 4583148498 (Unspecified) +board.cache_hierarchy.ruby_system.m_latencyHistSeqr::mean 1.711732 (Unspecified) +board.cache_hierarchy.ruby_system.m_latencyHistSeqr::gmean 1.041212 (Unspecified) +board.cache_hierarchy.ruby_system.m_latencyHistSeqr::stdev 12.962783 (Unspecified) +board.cache_hierarchy.ruby_system.m_latencyHistSeqr | 4582533075 99.99% 99.99% | 590197 0.01% 100.00% | 21218 0.00% 100.00% | 3763 0.00% 100.00% | 225 0.00% 100.00% | 20 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.m_latencyHistSeqr::total 4583148498 (Unspecified) +board.cache_hierarchy.ruby_system.m_hitLatencyHistSeqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.m_hitLatencyHistSeqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.m_hitLatencyHistSeqr::samples 4525787597 (Unspecified) +board.cache_hierarchy.ruby_system.m_hitLatencyHistSeqr::mean 1 (Unspecified) +board.cache_hierarchy.ruby_system.m_hitLatencyHistSeqr::gmean 1 (Unspecified) +board.cache_hierarchy.ruby_system.m_hitLatencyHistSeqr | 0 0.00% 0.00% | 4525787597 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.m_hitLatencyHistSeqr::total 4525787597 (Unspecified) +board.cache_hierarchy.ruby_system.m_missLatencyHistSeqr::bucket_size 512 (Unspecified) +board.cache_hierarchy.ruby_system.m_missLatencyHistSeqr::max_bucket 5119 (Unspecified) +board.cache_hierarchy.ruby_system.m_missLatencyHistSeqr::samples 57360901 (Unspecified) +board.cache_hierarchy.ruby_system.m_missLatencyHistSeqr::mean 57.867576 (Unspecified) +board.cache_hierarchy.ruby_system.m_missLatencyHistSeqr::gmean 25.198428 (Unspecified) +board.cache_hierarchy.ruby_system.m_missLatencyHistSeqr::stdev 101.155755 (Unspecified) +board.cache_hierarchy.ruby_system.m_missLatencyHistSeqr | 56745478 98.93% 98.93% | 590197 1.03% 99.96% | 21218 0.04% 99.99% | 3763 0.01% 100.00% | 225 0.00% 100.00% | 20 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.m_missLatencyHistSeqr::total 57360901 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_0::bucket_size 128 # delay histogram for vnet_0 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_0::max_bucket 1279 # delay histogram for vnet_0 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_0::samples 111125572 # delay histogram for vnet_0 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_0::mean 1.044720 # delay histogram for vnet_0 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_0::stdev 2.868039 # delay histogram for vnet_0 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_0 | 111124910 100.00% 100.00% | 491 0.00% 100.00% | 77 0.00% 100.00% | 47 0.00% 100.00% | 23 0.00% 100.00% | 16 0.00% 100.00% | 5 0.00% 100.00% | 2 0.00% 100.00% | 0 0.00% 100.00% | 1 0.00% 100.00% # delay histogram for vnet_0 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_0::total 111125572 # delay histogram for vnet_0 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_1::bucket_size 64 # delay histogram for vnet_1 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_1::max_bucket 639 # delay histogram for vnet_1 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_1::samples 115297002 # delay histogram for vnet_1 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_1::mean 0.016613 # delay histogram for vnet_1 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_1::stdev 0.307777 # delay histogram for vnet_1 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_1 | 115296876 100.00% 100.00% | 64 0.00% 100.00% | 18 0.00% 100.00% | 17 0.00% 100.00% | 23 0.00% 100.00% | 4 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% # delay histogram for vnet_1 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_1::total 115297002 # delay histogram for vnet_1 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_2::bucket_size 1 # delay histogram for vnet_2 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_2::max_bucket 9 # delay histogram for vnet_2 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_2::samples 5055466 # delay histogram for vnet_2 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_2::mean 0.000288 # delay histogram for vnet_2 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_2::stdev 0.024015 # delay histogram for vnet_2 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_2 | 5054737 99.99% 99.99% | 0 0.00% 99.99% | 729 0.01% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% # delay histogram for vnet_2 (Unspecified) +board.cache_hierarchy.ruby_system.delayVCHist.vnet_2::total 5055466 # delay histogram for vnet_2 (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.Fetch 13383900 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.Data 6899478 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.Memory_Data 13391022 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.Memory_Ack 7672477 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.DMA_READ 12102 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.DMA_WRITE 787488 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.CleanReplacement 6468038 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.I.Fetch 13383900 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.I.DMA_READ 7122 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.I.DMA_WRITE 772999 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.ID.Memory_Data 7122 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.ID_W.Memory_Ack 772999 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.M.Data 6880009 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.M.DMA_READ 4980 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.M.DMA_WRITE 14489 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.M.CleanReplacement 6468038 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.IM.Memory_Data 13383900 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.MI.Memory_Ack 6880009 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.M_DRD.Data 4980 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.M_DRDI.Memory_Ack 4980 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.M_DWR.Data 14489 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.Directory_Controller.M_DWRI.Memory_Ack 14489 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.ReadRequest | 12102 100.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.ReadRequest::total 12102 (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.WriteRequest | 787488 100.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.WriteRequest::total 787488 (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.Data | 12102 100.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.Data::total 12102 (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.Ack | 787488 100.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.Ack::total 787488 (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.READY.ReadRequest | 12102 100.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.READY.ReadRequest::total 12102 (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.READY.WriteRequest | 787488 100.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.READY.WriteRequest::total 787488 (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.BUSY_RD.Data | 12102 100.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.BUSY_RD.Data::total 12102 (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.BUSY_WR.Ack | 787488 100.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.DMA_Controller.BUSY_WR.Ack::total 787488 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Load | 203606795 30.89% 30.89% | 220590633 33.46% 64.35% | 87182777 13.23% 77.57% | 147839919 22.43% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Load::total 659220124 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Ifetch | 1238954213 35.81% 35.81% | 1053392391 30.45% 66.25% | 405244712 11.71% 77.97% | 762334027 22.03% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Ifetch::total 3459925343 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Store | 130401062 28.10% 28.10% | 153227339 33.02% 61.13% | 65060233 14.02% 75.15% | 115314487 24.85% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Store::total 464003121 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Inv | 987868 21.97% 21.97% | 1422785 31.65% 53.62% | 1003777 22.33% 75.95% | 1081197 24.05% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Inv::total 4495627 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.L1_Replacement | 11800824 20.89% 20.89% | 23093641 40.87% 61.76% | 8656985 15.32% 77.08% | 12950953 22.92% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.L1_Replacement::total 56502403 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Fwd_GETX | 40622 30.07% 30.07% | 37756 27.95% 58.03% | 31637 23.42% 81.45% | 25061 18.55% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Fwd_GETX::total 135076 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Fwd_GETS | 127657 30.05% 30.05% | 110107 25.92% 55.98% | 92126 21.69% 77.67% | 94869 22.33% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Fwd_GETS::total 424759 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Fwd_GET_INSTR | 1 25.00% 25.00% | 0 0.00% 25.00% | 1 25.00% 50.00% | 2 50.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Fwd_GET_INSTR::total 4 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Data | 5313 30.87% 30.87% | 3897 22.65% 53.52% | 4042 23.49% 77.01% | 3957 22.99% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Data::total 17209 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Data_Exclusive | 3910823 20.88% 20.88% | 8325879 44.45% 65.32% | 2275378 12.15% 77.47% | 4220278 22.53% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Data_Exclusive::total 18732358 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.DataS_fromL1 | 95941 22.59% 22.59% | 153191 36.07% 58.65% | 94828 22.32% 80.98% | 80803 19.02% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.DataS_fromL1::total 424763 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Data_all_Acks | 7947343 20.96% 20.96% | 14749028 38.90% 59.86% | 6425553 16.95% 76.81% | 8791270 23.19% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Data_all_Acks::total 37913194 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Ack | 119172 35.00% 35.00% | 91961 27.01% 62.01% | 65475 19.23% 81.24% | 63875 18.76% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Ack::total 340483 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Ack_all | 83526 28.74% 28.74% | 86280 29.69% 58.44% | 61142 21.04% 79.48% | 59638 20.52% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.Ack_all::total 290586 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.WB_Ack | 5706546 21.74% 21.74% | 11251605 42.87% 64.62% | 3249899 12.38% 77.00% | 6036776 23.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.WB_Ack::total 26244826 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.NP.Load | 4473884 21.29% 21.29% | 9082600 43.21% 64.50% | 2802745 13.33% 77.83% | 4659125 22.17% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.NP.Load::total 21018354 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.NP.Ifetch | 5394211 19.61% 19.61% | 10989898 39.95% 59.55% | 4763897 17.32% 76.87% | 6363190 23.13% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.NP.Ifetch::total 27511196 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.NP.Store | 1933753 24.24% 24.24% | 3022167 37.89% 62.13% | 1091367 13.68% 75.81% | 1929662 24.19% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.NP.Store::total 7976949 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.NP.Inv | 745151 20.83% 20.83% | 1203056 33.63% 54.46% | 778885 21.77% 76.23% | 850464 23.77% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.NP.Inv::total 3577556 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.I.Load | 71647 23.72% 23.72% | 76425 25.30% 49.01% | 75820 25.10% 74.11% | 78224 25.89% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.I.Load::total 302116 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.I.Ifetch | 54165 32.53% 32.53% | 33199 19.94% 52.47% | 39447 23.69% 76.16% | 39700 23.84% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.I.Ifetch::total 166511 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.I.Store | 31674 28.50% 28.50% | 27491 24.74% 53.25% | 26009 23.41% 76.65% | 25944 23.35% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.I.Store::total 111118 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.I.L1_Replacement | 125569 26.64% 26.64% | 120131 25.49% 52.13% | 114524 24.30% 76.43% | 111099 23.57% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.I.L1_Replacement::total 471323 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.Load | 11738417 35.53% 35.53% | 7714658 23.35% 58.88% | 6757376 20.45% 79.34% | 6826547 20.66% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.Load::total 33036998 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.Ifetch | 1233505827 35.94% 35.94% | 1042369262 30.37% 66.31% | 400441331 11.67% 77.98% | 755931126 22.02% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.Ifetch::total 3432247546 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.Store | 78299 28.51% 28.51% | 82598 30.07% 58.58% | 57616 20.98% 79.56% | 56144 20.44% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.Store::total 274657 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.Inv | 163093 26.00% 26.00% | 161279 25.71% 51.71% | 147892 23.58% 75.29% | 155031 24.71% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.Inv::total 627295 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.L1_Replacement | 5968709 20.04% 20.04% | 11721905 39.35% 59.39% | 5292562 17.77% 77.16% | 6803078 22.84% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.S.L1_Replacement::total 29786254 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Load | 55022953 27.70% 27.70% | 72624311 36.57% 64.27% | 23803901 11.99% 76.26% | 47159680 23.74% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Load::total 198610845 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Store | 1920354 35.25% 35.25% | 2007908 36.85% 72.10% | 506194 9.29% 81.39% | 1013834 18.61% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Store::total 5448290 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Inv | 30593 25.77% 25.77% | 23727 19.99% 45.76% | 31639 26.65% 72.41% | 32750 27.59% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Inv::total 118709 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.L1_Replacement | 1918492 14.74% 14.74% | 6256570 48.08% 62.82% | 1700204 13.07% 75.89% | 3137298 24.11% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.L1_Replacement::total 13012564 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Fwd_GETX | 1776 27.22% 27.22% | 1155 17.70% 44.93% | 1852 28.39% 73.31% | 1741 26.69% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Fwd_GETX::total 6524 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Fwd_GETS | 39535 27.08% 27.08% | 36393 24.93% 52.02% | 35421 24.27% 76.28% | 34621 23.72% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Fwd_GETS::total 145970 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Fwd_GET_INSTR | 1 25.00% 25.00% | 0 0.00% 25.00% | 1 25.00% 50.00% | 2 50.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.E.Fwd_GET_INSTR::total 4 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Load | 132299894 32.57% 32.57% | 131092639 32.27% 64.83% | 53742935 13.23% 78.06% | 89116343 21.94% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Load::total 406251811 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Store | 126436982 28.09% 28.09% | 148087175 32.89% 60.98% | 63379047 14.08% 75.06% | 112288903 24.94% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Store::total 450192107 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Inv | 48930 28.67% 28.67% | 34474 20.20% 48.86% | 44804 26.25% 75.11% | 42480 24.89% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Inv::total 170688 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.L1_Replacement | 3788054 28.63% 28.63% | 4995035 37.75% 66.38% | 1549695 11.71% 78.09% | 2899478 21.91% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.L1_Replacement::total 13232262 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Fwd_GETX | 38844 30.22% 30.22% | 36600 28.47% 58.69% | 29783 23.17% 81.86% | 23320 18.14% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Fwd_GETX::total 128547 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Fwd_GETS | 88119 31.61% 31.61% | 73712 26.44% 58.05% | 56702 20.34% 78.39% | 60245 21.61% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M.Fwd_GETS::total 278778 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS.Inv | 2 7.14% 7.14% | 11 39.29% 46.43% | 6 21.43% 67.86% | 9 32.14% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS.Inv::total 28 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS.Data_Exclusive | 3910823 20.88% 20.88% | 8325879 44.45% 65.32% | 2275378 12.15% 77.47% | 4220278 22.53% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS.Data_Exclusive::total 18732358 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS.DataS_fromL1 | 95940 22.59% 22.59% | 153191 36.07% 58.65% | 94826 22.32% 80.98% | 80803 19.02% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS.DataS_fromL1::total 424760 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS.Data_all_Acks | 5987142 20.06% 20.06% | 11703041 39.22% 59.28% | 5311699 17.80% 77.08% | 6839149 22.92% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS.Data_all_Acks::total 29841031 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IM.Inv | 13 18.84% 18.84% | 21 30.43% 49.28% | 35 50.72% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IM.Inv::total 69 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IM.Data | 5313 30.87% 30.87% | 3897 22.65% 53.52% | 4042 23.49% 77.01% | 3957 22.99% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IM.Data::total 17209 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IM.Data_all_Acks | 1960200 24.28% 24.28% | 3045976 37.73% 62.02% | 1113850 13.80% 75.82% | 1952112 24.18% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IM.Data_all_Acks::total 8072138 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.SM.Inv | 86 6.72% 6.72% | 215 16.80% 23.52% | 516 40.31% 63.83% | 463 36.17% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.SM.Inv::total 1280 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.SM.Ack | 119172 35.00% 35.00% | 91961 27.01% 62.01% | 65475 19.23% 81.24% | 63875 18.76% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.SM.Ack::total 340483 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.SM.Ack_all | 83526 28.74% 28.74% | 86280 29.69% 58.44% | 61142 21.04% 79.48% | 59638 20.52% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.SM.Ack_all::total 290586 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS_I.DataS_fromL1 | 1 33.33% 33.33% | 0 0.00% 33.33% | 2 66.67% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS_I.DataS_fromL1::total 3 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS_I.Data_all_Acks | 1 4.00% 4.00% | 11 44.00% 48.00% | 4 16.00% 64.00% | 9 36.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.IS_I.Data_all_Acks::total 25 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.Ifetch | 10 11.11% 11.11% | 32 35.56% 46.67% | 37 41.11% 87.78% | 11 12.22% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.Ifetch::total 90 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.Inv | 0 0.00% 0.00% | 2 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.Inv::total 2 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.Fwd_GETX | 2 40.00% 40.00% | 1 20.00% 60.00% | 2 40.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.Fwd_GETX::total 5 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.Fwd_GETS | 3 27.27% 27.27% | 2 18.18% 45.45% | 3 27.27% 72.73% | 3 27.27% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.Fwd_GETS::total 11 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.WB_Ack | 5706541 21.74% 21.74% | 11251600 42.87% 64.62% | 3249894 12.38% 77.00% | 6036773 23.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.M_I.WB_Ack::total 26244808 (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.SINK_WB_ACK.WB_Ack | 5 27.78% 27.78% | 5 27.78% 55.56% | 5 27.78% 83.33% | 3 16.67% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.L1Cache_Controller.SINK_WB_ACK.WB_Ack::total 18 (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.L1_GET_INSTR 27677908 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.L1_GETS 21325525 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.L1_GETX 8091435 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.L1_UPGRADE 275101 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.L1_PUTX 26244835 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.L1_PUTX_old 9 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.L2_Replacement 6764908 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.L2_Replacement_clean 6583139 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.Mem_Data 13383900 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.Mem_Ack 13367516 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.WB_Data 449472 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.WB_Data_clean 145981 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.Ack 1221889 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.Ack_all 2745356 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.Unblock 424763 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.Exclusive_Unblock 27095082 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MEM_Inv 38938 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.NP.L1_GET_INSTR 2482604 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.NP.L1_GETS 6098906 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.NP.L1_GETX 4802390 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.NP.L1_PUTX_old 2 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS.L1_GET_INSTR 25189285 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS.L1_GETS 2131803 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS.L1_GETX 17271 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS.L1_UPGRADE 273377 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS.L1_PUTX 11 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS.L2_Replacement 24667 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS.L2_Replacement_clean 2601889 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS.MEM_Inv 91 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M.L1_GET_INSTR 573 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M.L1_GETS 12649056 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M.L1_GETX 3134610 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M.L2_Replacement 6676930 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M.L2_Replacement_clean 3757783 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M.MEM_Inv 16757 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT.L1_GET_INSTR 4 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT.L1_GETS 424759 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT.L1_GETX 135076 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT.L1_PUTX 26244808 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT.L1_PUTX_old 5 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT.L2_Replacement 63311 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT.L2_Replacement_clean 223467 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT.MEM_Inv 2621 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M_I.L1_GET_INSTR 191 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M_I.L1_GETS 612 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M_I.L1_GETX 334 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M_I.Mem_Ack 13367516 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.M_I.MEM_Inv 16757 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_I.L1_PUTX_old 1 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_I.WB_Data 55588 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_I.Ack_all 10344 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_I.MEM_Inv 2621 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MCT_I.L1_PUTX_old 1 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MCT_I.WB_Data 115101 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MCT_I.WB_Data_clean 1 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MCT_I.Ack_all 108365 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.I_I.L1_GET_INSTR 10 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.I_I.Ack 1193270 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.I_I.Ack_all 2601889 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.S_I.Ack 28619 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.S_I.Ack_all 24758 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.S_I.MEM_Inv 91 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.ISS.L1_GETS 15604 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.ISS.L1_GETX 1 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.ISS.Mem_Data 6083302 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.IS.L1_GET_INSTR 5241 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.IS.L1_GETS 342 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.IS.Mem_Data 2498208 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.IM.L1_GETS 2 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.IM.L1_GETX 743 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.IM.Mem_Data 4802390 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS_MB.L1_GETS 1622 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS_MB.L1_GETX 237 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS_MB.L1_UPGRADE 1280 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.SS_MB.Exclusive_Unblock 290648 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_MB.L1_GETS 2221 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_MB.L1_GETX 739 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_MB.L1_PUTX 5 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_MB.Exclusive_Unblock 26804434 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_IIB.L1_GETS 425 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_IIB.L1_GETX 24 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_IIB.L1_PUTX 11 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_IIB.WB_Data 278766 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_IIB.WB_Data_clean 145976 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_IIB.Unblock 21 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_IB.WB_Data 17 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_IB.WB_Data_clean 4 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_SB.L1_GETS 173 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_SB.L1_GETX 10 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_SB.L1_UPGRADE 444 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.L2Cache_Controller.MT_SB.Unblock 424742 0.00% 0.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.latency_hist_seqr::bucket_size 512 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.latency_hist_seqr::max_bucket 5119 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.latency_hist_seqr::samples 659220124 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.latency_hist_seqr::mean 3.225749 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.latency_hist_seqr::gmean 1.116921 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.latency_hist_seqr::stdev 23.210485 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.latency_hist_seqr | 658945930 99.96% 99.96% | 263936 0.04% 100.00% | 8707 0.00% 100.00% | 1446 0.00% 100.00% | 95 0.00% 100.00% | 10 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.latency_hist_seqr::total 659220124 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.hit_latency_hist_seqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.hit_latency_hist_seqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.hit_latency_hist_seqr::samples 637899654 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.hit_latency_hist_seqr::mean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.hit_latency_hist_seqr::gmean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.hit_latency_hist_seqr | 0 0.00% 0.00% | 637899654 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.hit_latency_hist_seqr::total 637899654 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.miss_latency_hist_seqr::bucket_size 512 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.miss_latency_hist_seqr::max_bucket 5119 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.miss_latency_hist_seqr::samples 21320470 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.miss_latency_hist_seqr::mean 69.819232 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.miss_latency_hist_seqr::gmean 30.537575 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.miss_latency_hist_seqr::stdev 109.883088 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.miss_latency_hist_seqr | 21046276 98.71% 98.71% | 263936 1.24% 99.95% | 8707 0.04% 99.99% | 1446 0.01% 100.00% | 95 0.00% 100.00% | 10 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.LD.miss_latency_hist_seqr::total 21320470 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.latency_hist_seqr::bucket_size 512 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.latency_hist_seqr::max_bucket 5119 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.latency_hist_seqr::samples 436258815 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.latency_hist_seqr::mean 3.055131 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.latency_hist_seqr::gmean 1.070044 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.latency_hist_seqr::stdev 23.806562 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.latency_hist_seqr | 436033190 99.95% 99.95% | 215942 0.05% 100.00% | 7890 0.00% 100.00% | 1715 0.00% 100.00% | 72 0.00% 100.00% | 6 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.latency_hist_seqr::total 436258815 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.hit_latency_hist_seqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.hit_latency_hist_seqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.hit_latency_hist_seqr::samples 429402015 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.hit_latency_hist_seqr::mean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.hit_latency_hist_seqr::gmean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.hit_latency_hist_seqr | 0 0.00% 0.00% | 429402015 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.hit_latency_hist_seqr::total 429402015 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.miss_latency_hist_seqr::bucket_size 512 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.miss_latency_hist_seqr::max_bucket 5119 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.miss_latency_hist_seqr::samples 6856800 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.miss_latency_hist_seqr::mean 131.756192 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.miss_latency_hist_seqr::gmean 74.242417 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.miss_latency_hist_seqr::stdev 138.674953 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.miss_latency_hist_seqr | 6631175 96.71% 96.71% | 215942 3.15% 99.86% | 7890 0.12% 99.97% | 1715 0.03% 100.00% | 72 0.00% 100.00% | 6 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.ST.miss_latency_hist_seqr::total 6856800 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.latency_hist_seqr::bucket_size 512 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.latency_hist_seqr::max_bucket 5119 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.latency_hist_seqr::samples 3459925253 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.latency_hist_seqr::mean 1.234042 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.latency_hist_seqr::gmean 1.022710 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.latency_hist_seqr::stdev 6.456404 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.latency_hist_seqr | 3459823987 100.00% 100.00% | 96541 0.00% 100.00% | 4138 0.00% 100.00% | 529 0.00% 100.00% | 54 0.00% 100.00% | 4 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.latency_hist_seqr::total 3459925253 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.hit_latency_hist_seqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.hit_latency_hist_seqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.hit_latency_hist_seqr::samples 3432247546 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.hit_latency_hist_seqr::mean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.hit_latency_hist_seqr::gmean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.hit_latency_hist_seqr | 0 0.00% 0.00% | 3432247546 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.hit_latency_hist_seqr::total 3432247546 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.miss_latency_hist_seqr::bucket_size 512 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.miss_latency_hist_seqr::max_bucket 5119 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.miss_latency_hist_seqr::samples 27677707 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.miss_latency_hist_seqr::mean 30.257043 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.miss_latency_hist_seqr::gmean 16.563590 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.miss_latency_hist_seqr::stdev 66.044200 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.miss_latency_hist_seqr | 27576441 99.63% 99.63% | 96541 0.35% 99.98% | 4138 0.01% 100.00% | 529 0.00% 100.00% | 54 0.00% 100.00% | 4 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.IFETCH.miss_latency_hist_seqr::total 27677707 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.latency_hist_seqr::bucket_size 256 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.latency_hist_seqr::max_bucket 2559 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.latency_hist_seqr::samples 18312000 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.latency_hist_seqr::mean 3.585264 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.latency_hist_seqr::gmean 1.167974 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.latency_hist_seqr::stdev 23.776356 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.latency_hist_seqr | 18299587 99.93% 99.93% | 5364 0.03% 99.96% | 4968 0.03% 99.99% | 1833 0.01% 100.00% | 123 0.00% 100.00% | 92 0.00% 100.00% | 29 0.00% 100.00% | 3 0.00% 100.00% | 1 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.latency_hist_seqr::total 18312000 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.hit_latency_hist_seqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.hit_latency_hist_seqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.hit_latency_hist_seqr::samples 17428123 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.hit_latency_hist_seqr::mean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.hit_latency_hist_seqr::gmean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.hit_latency_hist_seqr | 0 0.00% 0.00% | 17428123 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.hit_latency_hist_seqr::total 17428123 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.miss_latency_hist_seqr::bucket_size 256 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.miss_latency_hist_seqr::max_bucket 2559 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.miss_latency_hist_seqr::samples 883877 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.miss_latency_hist_seqr::mean 54.561021 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.miss_latency_hist_seqr::gmean 24.949966 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.miss_latency_hist_seqr::stdev 94.772303 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.miss_latency_hist_seqr | 871464 98.60% 98.60% | 5364 0.61% 99.20% | 4968 0.56% 99.76% | 1833 0.21% 99.97% | 123 0.01% 99.99% | 92 0.01% 100.00% | 29 0.00% 100.00% | 3 0.00% 100.00% | 1 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.RMW_Read.miss_latency_hist_seqr::total 883877 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.latency_hist_seqr::bucket_size 256 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.latency_hist_seqr::max_bucket 2559 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.latency_hist_seqr::samples 4716153 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.latency_hist_seqr::mean 9.701737 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.latency_hist_seqr::gmean 1.568356 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.latency_hist_seqr::stdev 45.347383 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.latency_hist_seqr | 4700711 99.67% 99.67% | 8153 0.17% 99.85% | 5179 0.11% 99.96% | 1798 0.04% 99.99% | 173 0.00% 100.00% | 95 0.00% 100.00% | 34 0.00% 100.00% | 7 0.00% 100.00% | 3 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.latency_hist_seqr::total 4716153 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.hit_latency_hist_seqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.hit_latency_hist_seqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.hit_latency_hist_seqr::samples 4094106 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.hit_latency_hist_seqr::mean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.hit_latency_hist_seqr::gmean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.hit_latency_hist_seqr | 0 0.00% 0.00% | 4094106 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.hit_latency_hist_seqr::total 4094106 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.miss_latency_hist_seqr::bucket_size 256 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.miss_latency_hist_seqr::max_bucket 2559 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.miss_latency_hist_seqr::samples 622047 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.miss_latency_hist_seqr::mean 66.973672 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.miss_latency_hist_seqr::gmean 30.324731 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.miss_latency_hist_seqr::stdev 108.684879 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.miss_latency_hist_seqr | 606605 97.52% 97.52% | 8153 1.31% 98.83% | 5179 0.83% 99.66% | 1798 0.29% 99.95% | 173 0.03% 99.98% | 95 0.02% 99.99% | 34 0.01% 100.00% | 7 0.00% 100.00% | 3 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Read.miss_latency_hist_seqr::total 622047 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.latency_hist_seqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.latency_hist_seqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.latency_hist_seqr::samples 4716153 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.latency_hist_seqr::mean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.latency_hist_seqr::gmean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.latency_hist_seqr | 0 0.00% 0.00% | 4716153 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.latency_hist_seqr::total 4716153 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.hit_latency_hist_seqr::bucket_size 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.hit_latency_hist_seqr::max_bucket 9 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.hit_latency_hist_seqr::samples 4716153 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.hit_latency_hist_seqr::mean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.hit_latency_hist_seqr::gmean 1 (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.hit_latency_hist_seqr | 0 0.00% 0.00% | 4716153 100.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% | 0 0.00% 100.00% (Unspecified) +board.cache_hierarchy.ruby_system.RequestType.Locked_RMW_Write.hit_latency_hist_seqr::total 4716153 (Unspecified) +board.cache_hierarchy.ruby_system.directory_controllers.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.directory_controllers.requestToDir.m_msg_count 14183490 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.directory_controllers.requestToDir.m_buf_msgs 0.001219 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.directory_controllers.requestToMemory.m_msg_count 21063499 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.directory_controllers.requestToMemory.m_buf_msgs 0.025553 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.directory_controllers.requestToMemory.m_stall_time 92021419097 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.directory_controllers.requestToMemory.m_avg_stall_time 4368.762241 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.directory_controllers.responseFromDir.m_msg_count 27570475 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.directory_controllers.responseFromDir.m_buf_msgs 0.002377 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.directory_controllers.responseFromMemory.m_msg_count 21063499 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.directory_controllers.responseFromMemory.m_buf_msgs 0.002971 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.directory_controllers.responseToDir.m_msg_count 13367516 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.directory_controllers.responseToDir.m_buf_msgs 0.001149 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.dma_controllers0.dma_sequencer.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.dma_controllers0.mandatoryQueue.m_msg_count 799590 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.dma_controllers0.mandatoryQueue.m_buf_msgs 0.000070 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.dma_controllers0.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.dma_controllers0.requestToDir.m_msg_count 799590 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.dma_controllers0.requestToDir.m_buf_msgs 0.000412 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.dma_controllers0.responseFromDir.m_msg_count 799590 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.dma_controllers0.responseFromDir.m_buf_msgs 0.000069 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.dma_controllers1.dma_sequencer.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.dma_controllers1.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers0.fullyBusyCycles 3660 # cycles for which number of transistions == max transitions (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::samples 19024812 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::mean 0.003231 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::stdev 0.120087 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::0-1 19003607 99.89% 99.89% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::2-3 17995 0.09% 99.98% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::4-5 1 0.00% 99.98% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::6-7 111 0.00% 99.98% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::8-9 3090 0.02% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::10-11 8 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.delayHistogram::total 19024812 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache.m_demand_hits 327418600 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache.m_demand_misses 6589257 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.L1Dcache.m_demand_accesses 334007857 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache.m_demand_hits 1233505827 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache.m_demand_misses 5448376 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.L1Icache.m_demand_accesses 1238954203 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue.m_msg_count 1572962060 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue.m_buf_msgs 0.135320 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue.m_stall_time 36630 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue.m_stall_count 10 # Number of times messages were stalled (Count) +board.cache_hierarchy.ruby_system.l1_controllers0.mandatoryQueue.m_avg_stall_time 0.000023 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.l1_controllers0.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher.RubyPrefetcher.numMissObserved 0 # Number of misses observed (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher.RubyPrefetcher.numAllocatedStreams 0 # Number of streams allocated for prefetching (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher.RubyPrefetcher.numPrefetchRequested 0 # Number of prefetch requests made (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher.RubyPrefetcher.numHits 0 # Number of prefetched blocks accessed (for the first time) (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher.RubyPrefetcher.numPartialHits 0 # Number of misses observed for a block being prefetched (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher.RubyPrefetcher.numPagesCrossed 0 # Number of prefetches across pages (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.prefetcher.RubyPrefetcher.numMissedPrefetchedBlocks 0 # Number of misses for blocks that were prefetched, yet missed (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers0.requestFromL1Cache.m_msg_count 17744179 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers0.requestFromL1Cache.m_buf_msgs 0.003049 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers0.requestToL1Cache.m_msg_count 1156148 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers0.requestToL1Cache.m_buf_msgs 23.413611 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers0.responseFromL1Cache.m_msg_count 1283806 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers0.responseFromL1Cache.m_buf_msgs 0.000221 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers0.responseToL1Cache.m_msg_count 17868664 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers0.responseToL1Cache.m_buf_msgs 0.001535 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers0.unblockFromL1Cache.m_msg_count 6050490 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers0.unblockFromL1Cache.m_buf_msgs 0.000520 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers1.fullyBusyCycles 2400 # cycles for which number of transistions == max transitions (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::samples 36232489 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::mean 0.000627 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::stdev 0.064240 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::0-1 36227698 99.99% 99.99% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::2-3 2544 0.01% 99.99% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::4-5 1 0.00% 99.99% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::6-7 188 0.00% 99.99% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::8-9 2034 0.01% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::10-11 24 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.delayHistogram::total 36232489 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache.m_demand_hits 361526691 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache.m_demand_misses 12291281 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.L1Dcache.m_demand_accesses 373817972 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache.m_demand_hits 1042369262 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache.m_demand_misses 11023097 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.L1Icache.m_demand_accesses 1053392359 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue.m_msg_count 1427210331 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue.m_buf_msgs 0.123530 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue.m_stall_time 117216 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue.m_stall_count 32 # Number of times messages were stalled (Count) +board.cache_hierarchy.ruby_system.l1_controllers1.mandatoryQueue.m_avg_stall_time 0.000082 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.l1_controllers1.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher.RubyPrefetcher.numMissObserved 0 # Number of misses observed (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher.RubyPrefetcher.numAllocatedStreams 0 # Number of streams allocated for prefetching (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher.RubyPrefetcher.numPrefetchRequested 0 # Number of prefetch requests made (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher.RubyPrefetcher.numHits 0 # Number of prefetched blocks accessed (for the first time) (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher.RubyPrefetcher.numPartialHits 0 # Number of misses observed for a block being prefetched (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher.RubyPrefetcher.numPagesCrossed 0 # Number of prefetches across pages (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.prefetcher.RubyPrefetcher.numMissedPrefetchedBlocks 0 # Number of misses for blocks that were prefetched, yet missed (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers1.requestFromL1Cache.m_msg_count 34565983 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers1.requestFromL1Cache.m_buf_msgs 0.005940 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers1.requestToL1Cache.m_msg_count 1570648 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers1.requestToL1Cache.m_buf_msgs 12.925606 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers1.responseFromL1Cache.m_msg_count 1680755 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers1.responseFromL1Cache.m_buf_msgs 0.000289 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers1.responseToL1Cache.m_msg_count 34661841 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers1.responseToL1Cache.m_buf_msgs 0.002978 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers1.unblockFromL1Cache.m_msg_count 11611326 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers1.unblockFromL1Cache.m_buf_msgs 0.000998 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers2.fullyBusyCycles 896 # cycles for which number of transistions == max transitions (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::samples 13303858 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::mean 0.000600 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::stdev 0.055190 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::0-1 13301450 99.98% 99.98% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::2-3 1848 0.01% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::6-7 103 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::8-9 452 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::10-11 5 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.delayHistogram::total 13303858 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache.m_demand_hits 148189453 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache.m_demand_misses 4053557 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.L1Dcache.m_demand_accesses 152243010 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache.m_demand_hits 400441331 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache.m_demand_misses 4803344 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.L1Icache.m_demand_accesses 405244675 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue.m_msg_count 557487685 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue.m_buf_msgs 0.048043 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue.m_stall_time 135864 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue.m_stall_count 37 # Number of times messages were stalled (Count) +board.cache_hierarchy.ruby_system.l1_controllers2.mandatoryQueue.m_avg_stall_time 0.000244 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.l1_controllers2.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher.RubyPrefetcher.numMissObserved 0 # Number of misses observed (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher.RubyPrefetcher.numAllocatedStreams 0 # Number of streams allocated for prefetching (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher.RubyPrefetcher.numPrefetchRequested 0 # Number of prefetch requests made (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher.RubyPrefetcher.numHits 0 # Number of prefetched blocks accessed (for the first time) (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher.RubyPrefetcher.numPartialHits 0 # Number of misses observed for a block being prefetched (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher.RubyPrefetcher.numPagesCrossed 0 # Number of prefetches across pages (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.prefetcher.RubyPrefetcher.numMissedPrefetchedBlocks 0 # Number of misses for blocks that were prefetched, yet missed (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers2.requestFromL1Cache.m_msg_count 12106800 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers2.requestFromL1Cache.m_buf_msgs 0.002080 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers2.requestToL1Cache.m_msg_count 1127541 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers2.requestToL1Cache.m_buf_msgs 9.894216 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers2.responseFromL1Cache.m_msg_count 1219668 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers2.responseFromL1Cache.m_buf_msgs 0.000210 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers2.responseToL1Cache.m_msg_count 12176317 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers2.responseToL1Cache.m_buf_msgs 0.001046 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers2.unblockFromL1Cache.m_msg_count 3545198 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers2.unblockFromL1Cache.m_buf_msgs 0.000305 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers3.fullyBusyCycles 1508 # cycles for which number of transistions == max transitions (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::samples 20457726 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::mean 0.000730 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::stdev 0.067418 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::0-1 20454238 99.98% 99.98% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::2-3 2137 0.01% 99.99% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::6-7 81 0.00% 99.99% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::8-9 1263 0.01% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::10-11 7 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.delayHistogram::total 20457726 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache.m_demand_hits 256405307 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache.m_demand_misses 6749099 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.L1Dcache.m_demand_accesses 263154406 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache.m_demand_hits 755931126 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache.m_demand_misses 6402890 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.L1Icache.m_demand_accesses 762334016 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue.m_msg_count 1025488422 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue.m_buf_msgs 0.088458 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue.m_stall_time 40293 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue.m_stall_count 11 # Number of times messages were stalled (Count) +board.cache_hierarchy.ruby_system.l1_controllers3.mandatoryQueue.m_avg_stall_time 0.000039 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.l1_controllers3.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher.RubyPrefetcher.numMissObserved 0 # Number of misses observed (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher.RubyPrefetcher.numAllocatedStreams 0 # Number of streams allocated for prefetching (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher.RubyPrefetcher.numPrefetchRequested 0 # Number of prefetch requests made (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher.RubyPrefetcher.numHits 0 # Number of prefetched blocks accessed (for the first time) (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher.RubyPrefetcher.numPartialHits 0 # Number of misses observed for a block being prefetched (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher.RubyPrefetcher.numPagesCrossed 0 # Number of prefetches across pages (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.prefetcher.RubyPrefetcher.numMissedPrefetchedBlocks 0 # Number of misses for blocks that were prefetched, yet missed (Unspecified) +board.cache_hierarchy.ruby_system.l1_controllers3.requestFromL1Cache.m_msg_count 19188765 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers3.requestFromL1Cache.m_buf_msgs 0.003297 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers3.requestToL1Cache.m_msg_count 1201129 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers3.requestToL1Cache.m_buf_msgs 6.457680 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers3.responseFromL1Cache.m_msg_count 1296000 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers3.responseFromL1Cache.m_buf_msgs 0.000223 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers3.responseToL1Cache.m_msg_count 19256597 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers3.responseToL1Cache.m_buf_msgs 0.001655 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l1_controllers3.unblockFromL1Cache.m_msg_count 6312831 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l1_controllers3.unblockFromL1Cache.m_buf_msgs 0.000542 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l2_controllers.fullyBusyCycles 36079 # cycles for which number of transistions == max transitions (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::samples 142459155 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::mean 0.827640 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::stdev 2.579888 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::0-127 142458431 100.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::128-255 526 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::256-383 104 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::384-511 47 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::512-639 23 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::640-767 16 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::768-895 5 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::896-1023 2 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::1152-1279 1 0.00% 100.00% # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.delayHistogram::total 142459155 # delay_histogram (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.DirRequestFromL2Cache.m_msg_count 13383900 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l2_controllers.DirRequestFromL2Cache.m_buf_msgs 0.002300 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l2_controllers.L1RequestFromL2Cache.m_msg_count 3766533 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l2_controllers.L1RequestFromL2Cache.m_buf_msgs 0.000324 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache.m_msg_count 83605727 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache.m_buf_msgs 0.007202 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache.m_stall_time 71516745 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache.m_stall_count 9086 # Number of times messages were stalled (Count) +board.cache_hierarchy.ruby_system.l2_controllers.L1RequestToL2Cache.m_avg_stall_time 0.855405 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.l2_controllers.L2cache.m_demand_hits 43395975 # Number of cache demand hits (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.L2cache.m_demand_misses 13964926 # Number of cache demand misses (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.L2cache.m_demand_accesses 57360901 # Number of cache demand accesses (Unspecified) +board.cache_hierarchy.ruby_system.l2_controllers.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.l2_controllers.responseFromL2Cache.m_msg_count 96392217 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l2_controllers.responseFromL2Cache.m_buf_msgs 0.013136 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l2_controllers.responseToL2Cache.m_msg_count 31333583 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l2_controllers.responseToL2Cache.m_buf_msgs 0.002692 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.l2_controllers.unblockToL2Cache.m_msg_count 27519845 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.l2_controllers.unblockToL2Cache.m_buf_msgs 0.002365 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.msg_count.Control 141489602 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_byte.Control 1131916816 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_count.Request_Control 10110932 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_byte.Request_Control 80887456 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_count.Response_Data 155615534 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_byte.Response_Data 11204318448 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_count.Response_Control 156436016 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_byte.Response_Control 1251488128 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_count.Writeback_Data 26805904 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_byte.Writeback_Data 1930025088 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_count.Writeback_Control 29199284 (Unspecified) +board.cache_hierarchy.ruby_system.network.msg_byte.Writeback_Control 233594272 (Unspecified) +board.cache_hierarchy.ruby_system.network.int_links0.buffers1.m_msg_count 127498 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links0.buffers1.m_buf_msgs 0.000011 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links1.buffers1.m_msg_count 69430 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links1.buffers1.m_buf_msgs 0.000006 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links10.buffers0.m_msg_count 34565983 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links10.buffers0.m_buf_msgs 0.002970 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links10.buffers1.m_msg_count 1424318 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links10.buffers1.m_buf_msgs 0.000122 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links10.buffers2.m_msg_count 11611326 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links10.buffers2.m_buf_msgs 0.000998 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links14.buffers1.m_msg_count 78508 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links14.buffers1.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links15.buffers1.m_msg_count 82442 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links15.buffers1.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links16.buffers1.m_msg_count 44771 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links16.buffers1.m_buf_msgs 0.000004 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links17.buffers0.m_msg_count 12106800 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links17.buffers0.m_buf_msgs 0.001040 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links17.buffers1.m_msg_count 1013947 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links17.buffers1.m_buf_msgs 0.000087 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links17.buffers2.m_msg_count 3545198 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links17.buffers2.m_buf_msgs 0.000305 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links2.buffers1.m_msg_count 51543 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links2.buffers1.m_buf_msgs 0.000004 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links21.buffers1.m_msg_count 70070 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links21.buffers1.m_buf_msgs 0.000006 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links22.buffers1.m_msg_count 85889 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links22.buffers1.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links23.buffers1.m_msg_count 50943 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links23.buffers1.m_buf_msgs 0.000004 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links24.buffers0.m_msg_count 19188765 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links24.buffers0.m_buf_msgs 0.001649 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links24.buffers1.m_msg_count 1089098 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links24.buffers1.m_buf_msgs 0.000094 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links24.buffers2.m_msg_count 6312831 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links24.buffers2.m_buf_msgs 0.000542 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links28.buffers1.m_msg_count 17619983 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links28.buffers1.m_buf_msgs 0.001514 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links28.buffers2.m_msg_count 1156148 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links28.buffers2.m_buf_msgs 0.000099 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links29.buffers1.m_msg_count 34366012 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links29.buffers1.m_buf_msgs 0.002953 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links29.buffers2.m_msg_count 1570648 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links29.buffers2.m_buf_msgs 0.000135 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links3.buffers0.m_msg_count 17744179 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links3.buffers0.m_buf_msgs 0.001525 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links3.buffers1.m_msg_count 1035335 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links3.buffers1.m_buf_msgs 0.000089 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links3.buffers2.m_msg_count 6050490 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links3.buffers2.m_buf_msgs 0.000520 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links30.buffers1.m_msg_count 11980142 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links30.buffers1.m_buf_msgs 0.001029 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links30.buffers2.m_msg_count 1127541 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links30.buffers2.m_buf_msgs 0.000097 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links31.buffers1.m_msg_count 19079751 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links31.buffers1.m_buf_msgs 0.001639 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links31.buffers2.m_msg_count 1201129 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links31.buffers2.m_buf_msgs 0.000103 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links32.buffers0.m_msg_count 13383900 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links32.buffers0.m_buf_msgs 0.001150 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links32.buffers1.m_msg_count 13367516 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links32.buffers1.m_buf_msgs 0.001149 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links39.buffers1.m_msg_count 26770885 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links39.buffers1.m_buf_msgs 0.002300 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links40.buffers1.m_msg_count 799590 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links40.buffers1.m_buf_msgs 0.000069 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links47.buffers0.m_msg_count 799590 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links47.buffers0.m_buf_msgs 0.000069 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links7.buffers1.m_msg_count 100103 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links7.buffers1.m_buf_msgs 0.000009 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links8.buffers1.m_msg_count 75802 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links8.buffers1.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.int_links9.buffers1.m_msg_count 80532 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.int_links9.buffers1.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers0.percent_links_utilized 0.092817 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_count.Control::0 12037633 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_bytes.Control::0 96301064 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_count.Request_Control::2 1156148 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_bytes.Request_Control::2 9249184 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_count.Response_Data::1 12255358 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_bytes.Response_Data::1 882385776 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_count.Response_Control::1 6848182 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_count.Response_Control::2 6050490 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_bytes.Response_Control::1 54785456 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_bytes.Response_Control::2 48403920 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_count.Writeback_Data::0 3788054 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_count.Writeback_Data::1 48930 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_bytes.Writeback_Data::0 272739888 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_bytes.Writeback_Data::1 3522960 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_count.Writeback_Control::0 1918492 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.msg_bytes.Writeback_Control::0 15347936 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers1.m_msg_count 17868664 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers1.m_buf_msgs 0.001537 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers1.m_stall_time 5927400 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers1.m_avg_stall_time 0.331720 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers10.m_msg_count 51543 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers10.m_buf_msgs 0.000004 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers10.m_stall_time 999 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers10.m_avg_stall_time 0.019382 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers12.m_msg_count 17744179 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers12.m_buf_msgs 0.002831 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers12.m_stall_time 5061235698 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers12.m_avg_stall_time 285.233580 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers13.m_msg_count 1035335 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers13.m_buf_msgs 0.000089 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers13.m_stall_time 183816 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers13.m_avg_stall_time 0.177543 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers14.m_msg_count 6050490 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers14.m_buf_msgs 0.000520 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers14.m_stall_time 3330 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers14.m_avg_stall_time 0.000550 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers2.m_msg_count 1156148 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers2.m_buf_msgs 0.000099 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers2.m_stall_time 31968 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers2.m_avg_stall_time 0.027650 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers4.m_msg_count 127498 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers4.m_buf_msgs 0.000011 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers4.m_stall_time 999 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers4.m_avg_stall_time 0.007835 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers7.m_msg_count 69430 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers7.m_buf_msgs 0.000006 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers7.m_stall_time 999 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers0.port_buffers7.m_avg_stall_time 0.014389 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers0.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.acc_link_utilization 57350086 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.link_utilization 0.492758 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.total_msg_count 19024812 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.total_msg_bytes 917601376 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.total_data_msg_bytes 765402880 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.total_msg_wait_time 5959368 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.total_bw_sat_cy 47855479 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.avg_msg_wait_time 0.313242 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.avg_bandwidth 0.22 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.avg_useful_bandwidth 0.18 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.msg_count.Request_Control::2 1156148 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.msg_bytes.Request_Control::2 9249184 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.msg_count.Response_Data::1 11959420 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.msg_bytes.Response_Data::1 861078240 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.msg_count.Response_Control::1 5909244 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle00.msg_bytes.Response_Control::1 47273952 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.acc_link_utilization 430053 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.link_utilization 0.003695 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.total_msg_count 127498 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.total_msg_bytes 6880848 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.total_data_msg_bytes 5860864 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.total_msg_wait_time 999 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.total_bw_sat_cy 366304 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.avg_msg_wait_time 0.007835 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.msg_count.Response_Data::1 91576 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.msg_bytes.Response_Data::1 6593472 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.msg_count.Response_Control::1 35922 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle01.msg_bytes.Response_Control::1 287376 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.acc_link_utilization 216407 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.link_utilization 0.001859 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.total_msg_count 69430 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.total_msg_bytes 3462512 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.total_data_msg_bytes 2907072 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.total_msg_wait_time 999 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.total_bw_sat_cy 181692 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.avg_msg_wait_time 0.014389 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.msg_count.Response_Data::1 45423 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.msg_bytes.Response_Data::1 3270456 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.msg_count.Response_Control::1 24007 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle02.msg_bytes.Response_Control::1 192056 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.acc_link_utilization 150895.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.link_utilization 0.001297 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.total_msg_count 51543 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.total_msg_bytes 2414328 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.total_data_msg_bytes 2001984 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.total_msg_wait_time 999 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.total_bw_sat_cy 125124 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.avg_msg_wait_time 0.019382 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.msg_count.Response_Data::1 31281 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.msg_bytes.Response_Data::1 2252232 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.msg_count.Response_Control::1 20262 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle03.msg_bytes.Response_Control::1 162096 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.acc_link_utilization 28273570 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.link_utilization 0.242929 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.total_msg_count 24830004 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.total_msg_bytes 452377120 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.total_data_msg_bytes 253737088 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.total_msg_wait_time 5061422844 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.total_bw_sat_cy 15866611 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.avg_msg_wait_time 203.843014 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.avg_bandwidth 0.11 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.avg_useful_bandwidth 0.06 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_count.Control::0 12037633 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_bytes.Control::0 96301064 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_count.Response_Data::1 127658 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_bytes.Response_Data::1 9191376 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_count.Response_Control::1 858747 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_count.Response_Control::2 6050490 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_bytes.Response_Control::1 6869976 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_bytes.Response_Control::2 48403920 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_count.Writeback_Data::0 3788054 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_count.Writeback_Data::1 48930 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_bytes.Writeback_Data::0 272739888 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_bytes.Writeback_Data::1 3522960 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_count.Writeback_Control::0 1918492 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle04.msg_bytes.Writeback_Control::0 15347936 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle05.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle06.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers0.throttle07.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.percent_links_utilized 0.167678 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_count.Control::0 23314378 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_bytes.Control::0 186515024 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_count.Request_Control::2 1570648 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_bytes.Request_Control::2 12565184 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_count.Response_Data::1 23489965 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_bytes.Response_Data::1 1691277480 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_count.Response_Control::1 12818155 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_count.Response_Control::2 11611326 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_bytes.Response_Control::1 102545240 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_bytes.Response_Control::2 92890608 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_count.Writeback_Data::0 4995035 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_count.Writeback_Data::1 34476 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_bytes.Writeback_Data::0 359642520 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_bytes.Writeback_Data::1 2482272 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_count.Writeback_Control::0 6256570 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.msg_bytes.Writeback_Control::0 50052560 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers1.m_msg_count 34661841 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers1.m_buf_msgs 0.002978 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers1.m_stall_time 774558 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers1.m_avg_stall_time 0.022346 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers10.m_msg_count 80532 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers10.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers12.m_msg_count 34565983 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers12.m_buf_msgs 0.004689 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers12.m_stall_time 6662679651 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers12.m_avg_stall_time 192.752500 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers13.m_msg_count 1424318 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers13.m_buf_msgs 0.000122 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers13.m_stall_time 204462 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers13.m_avg_stall_time 0.143551 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers14.m_msg_count 11611326 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers14.m_buf_msgs 0.000998 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers14.m_stall_time 2331 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers14.m_avg_stall_time 0.000201 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers2.m_msg_count 1570648 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers2.m_buf_msgs 0.000135 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers2.m_stall_time 34299 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers2.m_avg_stall_time 0.021837 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers4.m_msg_count 100103 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers4.m_buf_msgs 0.000009 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers7.m_msg_count 75802 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers7.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers7.m_stall_time 1332 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers1.port_buffers7.m_avg_stall_time 0.017572 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers1.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.acc_link_utilization 111044224.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.link_utilization 0.954104 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.total_msg_count 36232489 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.total_msg_bytes 1776707592 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.total_data_msg_bytes 1486847680 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.total_msg_wait_time 808857 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.total_bw_sat_cy 92930313 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.avg_msg_wait_time 0.022324 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.avg_bandwidth 0.43 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.avg_useful_bandwidth 0.36 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.msg_count.Request_Control::2 1570648 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.msg_bytes.Request_Control::2 12565184 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.msg_count.Response_Data::1 23231995 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.msg_bytes.Response_Data::1 1672703640 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.msg_count.Response_Control::1 11429846 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle00.msg_bytes.Response_Control::1 91438768 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.acc_link_utilization 254423.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.link_utilization 0.002186 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.total_msg_count 100103 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.total_msg_bytes 4070776 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.total_data_msg_bytes 3269952 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.total_bw_sat_cy 204372 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.avg_msg_wait_time 0 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.msg_count.Response_Data::1 51093 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.msg_bytes.Response_Data::1 3678696 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.msg_count.Response_Control::1 49010 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle01.msg_bytes.Response_Control::1 392080 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.acc_link_utilization 231389 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.link_utilization 0.001988 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.total_msg_count 75802 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.total_msg_bytes 3702224 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.total_data_msg_bytes 3095808 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.total_msg_wait_time 1332 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.total_bw_sat_cy 193488 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.avg_msg_wait_time 0.017572 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.msg_count.Response_Data::1 48372 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.msg_bytes.Response_Data::1 3482784 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.msg_count.Response_Control::1 27430 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle02.msg_bytes.Response_Control::1 219440 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.acc_link_utilization 233858 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.link_utilization 0.002009 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.total_msg_count 80532 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.total_msg_bytes 3741728 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.total_data_msg_bytes 3097472 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.total_bw_sat_cy 193592 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.avg_msg_wait_time 0 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.msg_count.Response_Data::1 48398 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.msg_bytes.Response_Data::1 3484656 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.msg_count.Response_Control::1 32134 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle03.msg_bytes.Response_Control::1 257072 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.acc_link_utilization 44359285.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.link_utilization 0.381140 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.total_msg_count 47601627 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.total_msg_bytes 709748568 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.total_data_msg_bytes 328935552 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.total_msg_wait_time 6662886444 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.total_bw_sat_cy 20566256 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.avg_msg_wait_time 139.971822 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.avg_bandwidth 0.17 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.avg_useful_bandwidth 0.08 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_count.Control::0 23314378 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_bytes.Control::0 186515024 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_count.Response_Data::1 110107 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_bytes.Response_Data::1 7927704 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_count.Response_Control::1 1279735 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_count.Response_Control::2 11611326 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_bytes.Response_Control::1 10237880 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_bytes.Response_Control::2 92890608 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_count.Writeback_Data::0 4995035 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_count.Writeback_Data::1 34476 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_bytes.Writeback_Data::0 359642520 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_bytes.Writeback_Data::1 2482272 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_count.Writeback_Control::0 6256570 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle04.msg_bytes.Writeback_Control::0 50052560 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle05.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle06.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers1.throttle07.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.percent_links_utilized 0.061786 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_count.Control::0 8856901 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_bytes.Control::0 70855208 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_count.Request_Control::2 1127541 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_bytes.Request_Control::2 9020328 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_count.Response_Data::1 9015692 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_bytes.Response_Data::1 649129824 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_count.Response_Control::1 4335489 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_count.Response_Control::2 3545198 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_bytes.Response_Control::1 34683912 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_bytes.Response_Control::2 28361584 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_count.Writeback_Data::0 1549695 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_count.Writeback_Data::1 44804 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_bytes.Writeback_Data::0 111578040 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_bytes.Writeback_Data::1 3225888 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_count.Writeback_Control::0 1700204 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.msg_bytes.Writeback_Control::0 13601632 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers1.m_msg_count 12176317 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers1.m_buf_msgs 0.001046 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers1.m_stall_time 564435 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers1.m_avg_stall_time 0.046355 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers10.m_msg_count 44771 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers10.m_buf_msgs 0.000004 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers12.m_msg_count 12106800 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers12.m_buf_msgs 0.001574 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers12.m_stall_time 2070226035 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers12.m_avg_stall_time 170.996963 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers13.m_msg_count 1013947 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers13.m_buf_msgs 0.000087 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers13.m_stall_time 454212 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers13.m_avg_stall_time 0.447964 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers14.m_msg_count 3545198 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers14.m_buf_msgs 0.000305 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers14.m_stall_time 2664 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers14.m_avg_stall_time 0.000751 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers2.m_msg_count 1127541 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers2.m_buf_msgs 0.000097 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers2.m_stall_time 28305 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers2.m_avg_stall_time 0.025103 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers4.m_msg_count 78508 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers4.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers4.m_stall_time 1998 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers4.m_avg_stall_time 0.025450 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers7.m_msg_count 82442 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers7.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers7.m_stall_time 2997 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers2.port_buffers7.m_avg_stall_time 0.036353 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers2.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.acc_link_utilization 41851133 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.link_utilization 0.359589 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.total_msg_count 13303858 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.total_msg_bytes 669618128 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.total_data_msg_bytes 563187264 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.total_msg_wait_time 592740 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.total_bw_sat_cy 35200889 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.avg_msg_wait_time 0.044554 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.avg_bandwidth 0.16 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.avg_useful_bandwidth 0.14 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.msg_count.Request_Control::2 1127541 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.msg_bytes.Request_Control::2 9020328 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.msg_count.Response_Data::1 8799801 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.msg_bytes.Response_Data::1 633585672 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.msg_count.Response_Control::1 3376516 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle00.msg_bytes.Response_Control::1 27012128 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.acc_link_utilization 198130 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.link_utilization 0.001702 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.total_msg_count 78508 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.total_msg_bytes 3170080 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.total_data_msg_bytes 2542016 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.total_msg_wait_time 1998 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.total_bw_sat_cy 158876 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.avg_msg_wait_time 0.025450 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.msg_count.Response_Data::1 39719 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.msg_bytes.Response_Data::1 2859768 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.msg_count.Response_Control::1 38789 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle01.msg_bytes.Response_Control::1 310312 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.acc_link_utilization 260061 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.link_utilization 0.002234 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.total_msg_count 82442 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.total_msg_bytes 4160976 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.total_data_msg_bytes 3501440 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.total_msg_wait_time 2997 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.total_bw_sat_cy 218840 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.avg_msg_wait_time 0.036353 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.msg_count.Response_Data::1 54710 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.msg_bytes.Response_Data::1 3939120 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.msg_count.Response_Control::1 27732 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle02.msg_bytes.Response_Control::1 221856 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.acc_link_utilization 139725.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.link_utilization 0.001201 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.total_msg_count 44771 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.total_msg_bytes 2235608 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.total_data_msg_bytes 1877440 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.total_bw_sat_cy 117340 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.avg_msg_wait_time 0 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.msg_count.Response_Data::1 29335 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.msg_bytes.Response_Data::1 2112120 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.msg_count.Response_Control::1 15436 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle03.msg_bytes.Response_Control::1 123488 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.acc_link_utilization 15079476.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.link_utilization 0.129564 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.total_msg_count 16665945 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.total_msg_bytes 241271624 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.total_data_msg_bytes 107944064 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.total_msg_wait_time 2070682911 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.total_bw_sat_cy 6751498 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.avg_msg_wait_time 124.246355 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.avg_bandwidth 0.06 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.avg_useful_bandwidth 0.03 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_count.Control::0 8856901 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_bytes.Control::0 70855208 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_count.Response_Data::1 92127 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_bytes.Response_Data::1 6633144 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_count.Response_Control::1 877016 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_count.Response_Control::2 3545198 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_bytes.Response_Control::1 7016128 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_bytes.Response_Control::2 28361584 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_count.Writeback_Data::0 1549695 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_count.Writeback_Data::1 44804 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_bytes.Writeback_Data::0 111578040 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_bytes.Writeback_Data::1 3225888 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_count.Writeback_Control::0 1700204 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle04.msg_bytes.Writeback_Control::0 13601632 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle05.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle06.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers2.throttle07.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.percent_links_utilized 0.095200 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_count.Control::0 13151989 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_bytes.Control::0 105215912 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_count.Request_Control::2 1201129 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_bytes.Request_Control::2 9609032 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_count.Response_Data::1 13311111 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_bytes.Response_Data::1 958399992 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_count.Response_Control::1 7199006 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_count.Response_Control::2 6312831 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_bytes.Response_Control::1 57592048 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_bytes.Response_Control::2 50502648 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_count.Writeback_Data::0 2899478 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_count.Writeback_Data::1 42480 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_bytes.Writeback_Data::0 208762416 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_bytes.Writeback_Data::1 3058560 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_count.Writeback_Control::0 3137298 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.msg_bytes.Writeback_Control::0 25098384 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers1.m_msg_count 19256597 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers1.m_buf_msgs 0.001655 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers1.m_stall_time 665667 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers1.m_avg_stall_time 0.034568 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers10.m_msg_count 50943 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers10.m_buf_msgs 0.000004 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers10.m_stall_time 7659 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers10.m_avg_stall_time 0.150345 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers12.m_msg_count 19188765 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers12.m_buf_msgs 0.002647 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers12.m_stall_time 3869206254 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers12.m_avg_stall_time 201.639149 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers13.m_msg_count 1089098 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers13.m_buf_msgs 0.000094 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers13.m_stall_time 2386611 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers13.m_avg_stall_time 2.191365 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers14.m_msg_count 6312831 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers14.m_buf_msgs 0.000542 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers14.m_stall_time 1998 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers14.m_avg_stall_time 0.000316 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers2.m_msg_count 1201129 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers2.m_buf_msgs 0.000103 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers2.m_stall_time 22311 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers2.m_avg_stall_time 0.018575 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers4.m_msg_count 70070 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers4.m_buf_msgs 0.000006 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers4.m_stall_time 999 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers4.m_avg_stall_time 0.014257 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers7.m_msg_count 85889 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers3.port_buffers7.m_buf_msgs 0.000007 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers3.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.acc_link_utilization 62614095 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.link_utilization 0.537987 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.total_msg_count 20457726 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.total_msg_bytes 1001825520 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.total_data_msg_bytes 838163712 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.total_msg_wait_time 687978 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.total_bw_sat_cy 52387238 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.avg_msg_wait_time 0.033629 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.avg_bandwidth 0.24 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.avg_useful_bandwidth 0.20 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.msg_count.Request_Control::2 1201129 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.msg_bytes.Request_Control::2 9609032 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.msg_count.Response_Data::1 13096308 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.msg_bytes.Response_Data::1 942934176 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.msg_count.Response_Control::1 6160289 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle00.msg_bytes.Response_Control::1 49282312 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.acc_link_utilization 168571 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.link_utilization 0.001448 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.total_msg_count 70070 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.total_msg_bytes 2697136 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.total_data_msg_bytes 2136576 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.total_msg_wait_time 999 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.total_bw_sat_cy 133536 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.avg_msg_wait_time 0.014257 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.msg_count.Response_Data::1 33384 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.msg_bytes.Response_Data::1 2403648 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.msg_count.Response_Control::1 36686 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle01.msg_bytes.Response_Control::1 293488 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.acc_link_utilization 257684.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.link_utilization 0.002214 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.total_msg_count 85889 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.total_msg_bytes 4122952 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.total_data_msg_bytes 3435840 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.total_bw_sat_cy 214740 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.avg_msg_wait_time 0 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.msg_count.Response_Data::1 53685 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.msg_bytes.Response_Data::1 3865320 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.msg_count.Response_Control::1 32204 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle02.msg_bytes.Response_Control::1 257632 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.acc_link_utilization 156923.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.link_utilization 0.001348 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.total_msg_count 50943 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.total_msg_bytes 2510776 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.total_data_msg_bytes 2103232 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.total_msg_wait_time 7659 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.total_bw_sat_cy 131452 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.avg_msg_wait_time 0.150345 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.msg_count.Response_Data::1 32863 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.msg_bytes.Response_Data::1 2366136 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.msg_count.Response_Control::1 18080 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle03.msg_bytes.Response_Control::1 144640 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.acc_link_utilization 25442663 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.link_utilization 0.218606 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.total_msg_count 26590694 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.total_msg_bytes 407082608 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.total_data_msg_bytes 194357056 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.total_msg_wait_time 3871594863 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.total_bw_sat_cy 12152999 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.avg_msg_wait_time 145.599617 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.avg_bandwidth 0.10 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.avg_useful_bandwidth 0.05 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_count.Control::0 13151989 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_bytes.Control::0 105215912 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_count.Response_Data::1 94871 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_bytes.Response_Data::1 6830712 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_count.Response_Control::1 951747 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_count.Response_Control::2 6312831 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_bytes.Response_Control::1 7613976 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_bytes.Response_Control::2 50502648 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_count.Writeback_Data::0 2899478 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_count.Writeback_Data::1 42480 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_bytes.Writeback_Data::0 208762416 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_bytes.Writeback_Data::1 3058560 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_count.Writeback_Control::0 3137298 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle04.msg_bytes.Writeback_Control::0 25098384 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle05.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle06.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers3.throttle07.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.percent_links_utilized 0.527567 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_count.Control::0 70744801 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_bytes.Control::0 565958408 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_count.Request_Control::2 5055466 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_bytes.Request_Control::2 40443728 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_count.Response_Data::1 77235826 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_bytes.Response_Data::1 5560979472 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_count.Response_Control::1 50340471 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_count.Response_Control::2 27519845 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_bytes.Response_Control::1 402723768 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_bytes.Response_Control::2 220158760 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_count.Writeback_Data::0 13232262 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_count.Writeback_Data::1 170690 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_bytes.Writeback_Data::0 952722864 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_bytes.Writeback_Data::1 12289680 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_count.Writeback_Control::0 13012564 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.msg_bytes.Writeback_Control::0 104100512 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers0.m_msg_count 83605727 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers0.m_buf_msgs 0.007603 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers0.m_stall_time 1624516191 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers0.m_avg_stall_time 19.430681 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers1.m_msg_count 31333583 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers1.m_buf_msgs 0.002750 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers1.m_stall_time 225544230 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers1.m_avg_stall_time 7.198163 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers10.m_msg_count 11980142 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers10.m_buf_msgs 0.001030 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers10.m_stall_time 696303 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers10.m_avg_stall_time 0.058121 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers11.m_msg_count 1127541 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers11.m_buf_msgs 0.000097 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers11.m_stall_time 29637 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers11.m_avg_stall_time 0.026285 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers13.m_msg_count 19079751 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers13.m_buf_msgs 0.001640 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers13.m_stall_time 1772892 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers13.m_avg_stall_time 0.092920 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers14.m_msg_count 1201129 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers14.m_buf_msgs 0.000103 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers14.m_stall_time 24642 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers14.m_avg_stall_time 0.020516 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers15.m_msg_count 13383900 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers15.m_buf_msgs 0.003442 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers15.m_stall_time 8882051724 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers15.m_avg_stall_time 663.637036 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers16.m_msg_count 13367516 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers16.m_buf_msgs 0.001211 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers16.m_stall_time 240415344 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers16.m_avg_stall_time 17.985043 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers2.m_msg_count 27519845 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers2.m_buf_msgs 0.002365 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers2.m_stall_time 862470 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers2.m_avg_stall_time 0.031340 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers4.m_msg_count 17619983 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers4.m_buf_msgs 0.001515 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers4.m_stall_time 4237425 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers4.m_avg_stall_time 0.240490 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers5.m_msg_count 1156148 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers5.m_buf_msgs 0.000099 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers5.m_stall_time 33300 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers5.m_avg_stall_time 0.028803 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers7.m_msg_count 34366012 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers7.m_buf_msgs 0.002954 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers7.m_stall_time 2933730 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers7.m_avg_stall_time 0.085367 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers8.m_msg_count 1570648 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers8.m_buf_msgs 0.000135 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers8.m_stall_time 38295 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers4.port_buffers8.m_avg_stall_time 0.024382 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers4.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.acc_link_utilization 180076037.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.link_utilization 1.547232 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.total_msg_count 142459155 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.total_msg_bytes 2881216600 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.total_data_msg_bytes 1741543360 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.total_msg_wait_time 1850922891 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.total_bw_sat_cy 110416243 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.avg_msg_wait_time 12.992657 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.avg_bandwidth 0.69 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.avg_useful_bandwidth 0.42 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_count.Control::0 57360901 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_bytes.Control::0 458887208 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_count.Response_Data::1 13808663 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_bytes.Response_Data::1 994223736 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_count.Response_Control::1 17354230 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_count.Response_Control::2 27519845 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_bytes.Response_Control::1 138833840 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_bytes.Response_Control::2 220158760 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_count.Writeback_Data::0 13232262 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_count.Writeback_Data::1 170690 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_bytes.Writeback_Data::0 952722864 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_bytes.Writeback_Data::1 12289680 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_count.Writeback_Control::0 13012564 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle00.msg_bytes.Writeback_Control::0 104100512 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.acc_link_utilization 56728961.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.link_utilization 0.487421 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.total_msg_count 18776131 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.total_msg_bytes 907663384 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.total_data_msg_bytes 757454336 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.total_msg_wait_time 4270725 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.total_bw_sat_cy 47341254 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.avg_msg_wait_time 0.227455 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.avg_bandwidth 0.22 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.avg_useful_bandwidth 0.18 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.msg_count.Request_Control::2 1156148 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.msg_bytes.Request_Control::2 9249184 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.msg_count.Response_Data::1 11835224 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.msg_bytes.Response_Data::1 852136128 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.msg_count.Response_Control::1 5784759 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle01.msg_bytes.Response_Control::1 46278072 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.acc_link_utilization 110096426 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.link_utilization 0.945960 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.total_msg_count 35936660 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.total_msg_bytes 1761542816 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.total_data_msg_bytes 1474049536 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.total_msg_wait_time 2972025 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.total_bw_sat_cy 92128857 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.avg_msg_wait_time 0.082702 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.avg_bandwidth 0.42 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.avg_useful_bandwidth 0.35 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.msg_count.Request_Control::2 1570648 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.msg_bytes.Request_Control::2 12565184 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.msg_count.Response_Data::1 23032024 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.msg_bytes.Response_Data::1 1658305728 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.msg_count.Response_Control::1 11333988 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle02.msg_bytes.Response_Control::1 90671904 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.acc_link_utilization 41246413.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.link_utilization 0.354393 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.total_msg_count 13107683 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.total_msg_bytes 659942616 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.total_data_msg_bytes 555081152 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.total_msg_wait_time 725940 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.total_bw_sat_cy 34692708 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.avg_msg_wait_time 0.055383 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.avg_bandwidth 0.16 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.avg_useful_bandwidth 0.13 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.msg_count.Request_Control::2 1127541 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.msg_bytes.Request_Control::2 9020328 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.msg_count.Response_Data::1 8673143 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.msg_bytes.Response_Data::1 624466296 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.msg_count.Response_Control::1 3306999 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle03.msg_bytes.Response_Control::1 26455992 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.acc_link_utilization 62089616 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.link_utilization 0.533480 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.total_msg_count 20280880 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.total_msg_bytes 993433856 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.total_data_msg_bytes 831186816 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.total_msg_wait_time 1797534 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.total_bw_sat_cy 51949619 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.avg_msg_wait_time 0.088632 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.avg_bandwidth 0.24 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.avg_useful_bandwidth 0.20 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.msg_count.Request_Control::2 1201129 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.msg_bytes.Request_Control::2 9609032 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.msg_count.Response_Data::1 12987294 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.msg_bytes.Response_Data::1 935085168 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.msg_count.Response_Control::1 6092457 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle04.msg_bytes.Response_Control::1 48739656 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.acc_link_utilization 40973620 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.link_utilization 0.352050 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.total_msg_count 26751416 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.total_msg_bytes 655577920 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.total_data_msg_bytes 441566592 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.total_msg_wait_time 9122467068 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.total_bw_sat_cy 27707544 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.avg_msg_wait_time 341.008755 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.avg_bandwidth 0.16 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.avg_useful_bandwidth 0.11 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.msg_count.Control::0 13383900 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.msg_bytes.Control::0 107071200 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.msg_count.Response_Data::1 6899478 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.msg_bytes.Response_Data::1 496762416 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.msg_count.Response_Control::1 6468038 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle05.msg_bytes.Response_Control::1 51744304 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle06.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers4.throttle07.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.percent_links_utilized 0.116791 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_count.Control::0 13383900 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_bytes.Control::0 107071200 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_count.Response_Data::1 20295480 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_bytes.Response_Data::1 1461274560 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_count.Response_Control::1 19855023 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_bytes.Response_Control::1 158840184 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_count.Writeback_Control::0 799590 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_count.Writeback_Control::1 787488 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_bytes.Writeback_Control::0 6396720 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.msg_bytes.Writeback_Control::1 6299904 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers0.m_msg_count 14183490 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers0.m_buf_msgs 0.001366 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers0.m_stall_time 571423338 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers0.m_avg_stall_time 40.287922 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers1.m_msg_count 13367516 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers1.m_buf_msgs 0.001149 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers1.m_stall_time 1707291 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers1.m_avg_stall_time 0.127719 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers16.m_msg_count 26770885 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers16.m_buf_msgs 0.002319 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers16.m_stall_time 72550044 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers16.m_avg_stall_time 2.710035 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers19.m_msg_count 799590 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers19.m_buf_msgs 0.000069 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers19.m_stall_time 1190142 # Total number of ticks messages were stalled in this buffer (Tick) +board.cache_hierarchy.ruby_system.network.routers5.port_buffers19.m_avg_stall_time 1.488440 # Average stall ticks per message ((Tick/Count)) +board.cache_hierarchy.ruby_system.network.routers5.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.acc_link_utilization 41373415 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.link_utilization 0.355485 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.total_msg_count 27551006 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.total_msg_bytes 661974640 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.total_data_msg_bytes 441566592 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.total_msg_wait_time 573130629 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.total_bw_sat_cy 27622534 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.avg_msg_wait_time 20.802530 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.avg_bandwidth 0.16 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.avg_useful_bandwidth 0.11 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.msg_count.Control::0 13383900 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.msg_bytes.Control::0 107071200 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.msg_count.Response_Data::1 6899478 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.msg_bytes.Response_Data::1 496762416 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.msg_count.Response_Control::1 6468038 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.msg_bytes.Response_Control::1 51744304 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.msg_count.Writeback_Control::0 799590 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle00.msg_bytes.Writeback_Control::0 6396720 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle01.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle02.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle03.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle04.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.acc_link_utilization 66921042.500000 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.link_utilization 0.574993 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.total_msg_count 26770885 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.total_msg_bytes 1070736680 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.total_data_msg_bytes 856569600 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.total_msg_wait_time 72550044 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.total_bw_sat_cy 53540590 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.avg_msg_wait_time 2.710035 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.avg_bandwidth 0.26 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.avg_useful_bandwidth 0.21 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.msg_count.Response_Data::1 13383900 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.msg_bytes.Response_Data::1 963640800 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.msg_count.Response_Control::1 13386985 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle05.msg_bytes.Response_Control::1 107095880 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.acc_link_utilization 448203 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.link_utilization 0.003851 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.total_msg_count 799590 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.total_msg_bytes 7171248 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.total_data_msg_bytes 774528 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.total_msg_wait_time 1190142 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.total_bw_sat_cy 48631 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.avg_msg_wait_time 1.488440 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.msg_count.Response_Data::1 12102 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.msg_bytes.Response_Data::1 871344 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.msg_count.Writeback_Control::1 787488 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle06.msg_bytes.Writeback_Control::1 6299904 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers5.throttle07.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.percent_links_utilized 0.000911 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.msg_count.Response_Data::1 12102 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.msg_bytes.Response_Data::1 871344 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.msg_count.Writeback_Control::0 799590 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.msg_count.Writeback_Control::1 787488 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.msg_bytes.Writeback_Control::0 6396720 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.msg_bytes.Writeback_Control::1 6299904 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.port_buffers1.m_msg_count 799590 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers6.port_buffers1.m_buf_msgs 0.000069 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers6.port_buffers18.m_msg_count 799590 # Number of messages passed the buffer (Count) +board.cache_hierarchy.ruby_system.network.routers6.port_buffers18.m_buf_msgs 0.000069 # Average number of messages in buffer ((Count/Tick)) +board.cache_hierarchy.ruby_system.network.routers6.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.acc_link_utilization 448203 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.link_utilization 0.003851 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.total_msg_count 799590 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.total_msg_bytes 7171248 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.total_data_msg_bytes 774528 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.total_bw_sat_cy 48408 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.avg_msg_wait_time 0 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.msg_count.Response_Data::1 12102 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.msg_bytes.Response_Data::1 871344 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.msg_count.Writeback_Control::1 787488 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.throttle00.msg_bytes.Writeback_Control::1 6299904 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle01.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle02.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle03.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle04.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle05.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.acc_link_utilization 399795 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.link_utilization 0.003435 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.total_msg_count 799590 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.total_msg_bytes 6396720 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.avg_msg_wait_time 0 # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.msg_count.Writeback_Control::0 799590 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.throttle06.msg_bytes.Writeback_Control::0 6396720 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers6.throttle07.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.percent_links_utilized 0 (Unspecified) +board.cache_hierarchy.ruby_system.network.routers7.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle00.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle01.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle02.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle03.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle04.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle05.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle06.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.acc_link_utilization 0 # Accumulated link utilization (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.link_utilization 0 # Average link utilization (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.total_msg_count 0 # Total number of messages forwarded by this switch (Count) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.total_msg_bytes 0 # Total number of bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.total_data_msg_bytes 0 # Total number of data bytes forwarded by this switch (Byte) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.total_msg_wait_time 0 # Total time spend forwarding messages (Tick) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.total_stall_cy 0 # Total time spent blocked on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.total_bw_sat_cy 0 # Total time bandwidth was saturated on any output link (Cycle) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.avg_msg_wait_time nan # Average time a message took to be forwarded (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.avg_bandwidth 0.00 # Average bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.network.routers7.throttle07.avg_useful_bandwidth 0.00 # Average usefull (only data) bandwidth (GB/s) (Ratio) +board.cache_hierarchy.ruby_system.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.cache_hierarchy.ruby_system.sys_port_proxy.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.clk_domain.clock 333 # Clock period in ticks (Tick) +board.clk_domain.voltage_domain.voltage 1 # Voltage in Volts (Volt) +board.iobus.transDist::ReadReq 73454 # Transaction distribution (Count) +board.iobus.transDist::ReadResp 73454 # Transaction distribution (Count) +board.iobus.transDist::WriteReq 85188 # Transaction distribution (Count) +board.iobus.transDist::WriteResp 85188 # Transaction distribution (Count) +board.iobus.pktCount_board.pc.south_bridge.io_apic.int_request::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 420 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.pc.south_bridge.io_apic.int_request::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 19250 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.pc.south_bridge.io_apic.int_request::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 6 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.pc.south_bridge.io_apic.int_request::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 18 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.pc.south_bridge.io_apic.int_request::total 19694 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.cmos.pio 56 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.ide.pio 9180 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.pic1.pio 48 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.pic2.pio 36 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.pit.pio 39542 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.speaker.pio 4 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.io_apic.pio 804 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.com_1.pio 21440 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.pci_host.pio 94 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 15478 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 850 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 628 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 480 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.default_bus.cpu_side_ports[0] 14 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::total 88654 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.pc.south_bridge.ide.pio 38910 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.pc.com_1.pio 71996 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 1048 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 22924 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 870 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 1168 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::total 136916 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.south_bridge.ide.pio 9010 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.south_bridge.keyboard.pio 12 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.south_bridge.pic1.pio 4 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.south_bridge.io_apic.pio 58 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.com_1.pio 140 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 308 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 366 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 11170 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 172 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::total 21240 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.ide.pio 8764 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.keyboard.pio 256 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.pic1.pio 8 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.pic2.pio 14 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.io_apic.pio 130 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.com_1.pio 24204 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.fake_com_2.pio 12 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.fake_com_3.pio 12 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.fake_com_4.pio 12 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.pci_host.pio 240 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 548 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 1056 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 660 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 14862 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.default_bus.cpu_side_ports[0] 2 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::total 50780 # Packet count per connected requestor and responder (Count) +board.iobus.pktCount::total 317284 # Packet count per connected requestor and responder (Count) +board.iobus.pktSize_board.pc.south_bridge.io_apic.int_request::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 840 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.pc.south_bridge.io_apic.int_request::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 38500 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.pc.south_bridge.io_apic.int_request::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 12 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.pc.south_bridge.io_apic.int_request::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 36 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.pc.south_bridge.io_apic.int_request::total 39388 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.cmos.pio 28 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.ide.pio 5400 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.pic1.pio 24 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.pic2.pio 18 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.pit.pio 19771 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.speaker.pio 2 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.south_bridge.io_apic.pio 1608 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.com_1.pio 10720 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.pci_host.pio 115 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 30956 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 1700 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 1256 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 960 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::board.pc.default_bus.cpu_side_ports[0] 7 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.mem-request-port::total 72565 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.pc.south_bridge.ide.pio 21384 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.pc.com_1.pio 35998 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 2096 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 45848 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 1740 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 2336 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.mem-request-port::total 109402 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.south_bridge.ide.pio 5300 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.south_bridge.keyboard.pio 6 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.south_bridge.pic1.pio 2 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.south_bridge.io_apic.pio 116 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.pc.com_1.pio 70 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 616 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 732 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 22340 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 344 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.mem-request-port::total 29526 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.ide.pio 5352 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.keyboard.pio 128 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.pic1.pio 4 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.pic2.pio 7 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.south_bridge.io_apic.pio 260 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.com_1.pio 12102 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.fake_com_2.pio 6 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.fake_com_3.pio 6 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.fake_com_4.pio 6 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.pci_host.pio 348 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers0.sequencer.pio-response-port 1096 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers1.sequencer.pio-response-port 2112 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers2.sequencer.pio-response-port 1320 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.pio-response-port 29724 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::board.pc.default_bus.cpu_side_ports[0] 1 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize_board.cache_hierarchy.ruby_system.l1_controllers3.sequencer.mem-request-port::total 52472 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.pktSize::total 303353 # Cumulative packet size per connected requestor and responder (Byte) +board.iobus.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.iobus.reqLayer0.occupancy 15984 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer0.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer10.occupancy 2997 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer10.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer11.occupancy 2997 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer11.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer12.occupancy 2997 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer12.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer14.occupancy 63936 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer14.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer15.occupancy 6283314 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer15.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer16.occupancy 17099121 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer16.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer17.occupancy 5034338 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer17.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer18.occupancy 5954346 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer18.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer2.occupancy 18060255 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer2.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer20.occupancy 4995 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer20.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer3.occupancy 58608 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer3.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer4.occupancy 18648 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer4.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer5.occupancy 15651 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer5.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer6.occupancy 6586740 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer6.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer7.occupancy 999 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer7.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer8.occupancy 279379 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer8.utilization 0.0 # Layer utilization (Ratio) +board.iobus.reqLayer9.occupancy 26806167 # Layer occupancy (ticks) (Tick) +board.iobus.reqLayer9.utilization 0.0 # Layer utilization (Ratio) +board.iobus.respLayer0.occupancy 3873049 # Layer occupancy (ticks) (Tick) +board.iobus.respLayer0.utilization 0.0 # Layer utilization (Ratio) +board.iobus.respLayer2.occupancy 34373400 # Layer occupancy (ticks) (Tick) +board.iobus.respLayer2.utilization 0.0 # Layer utilization (Ratio) +board.iobus.respLayer4.occupancy 51624006 # Layer occupancy (ticks) (Tick) +board.iobus.respLayer4.utilization 0.0 # Layer utilization (Ratio) +board.iobus.respLayer6.occupancy 6742529 # Layer occupancy (ticks) (Tick) +board.iobus.respLayer6.utilization 0.0 # Layer utilization (Ratio) +board.iobus.respLayer8.occupancy 17281850 # Layer occupancy (ticks) (Tick) +board.iobus.respLayer8.utilization 0.0 # Layer utilization (Ratio) +board.memory.mem_ctrl.avgPriority_cache_hierarchy.ruby_system.directory_controllers::samples 21030481.00 # Average QoS priority value for accepted requests (Count) +board.memory.mem_ctrl.priorityMinLatency 0.000000018750 # per QoS priority minimum request to response latency (Second) +board.memory.mem_ctrl.priorityMaxLatency 1.083699814600 # per QoS priority maximum request to response latency (Second) +board.memory.mem_ctrl.numReadWriteTurnArounds 448111 # Number of turnarounds from READ to WRITE (Count) +board.memory.mem_ctrl.numWriteReadTurnArounds 448111 # Number of turnarounds from WRITE to READ (Count) +board.memory.mem_ctrl.numStayReadState 33408268 # Number of times bus staying in READ state (Count) +board.memory.mem_ctrl.numStayWriteState 7235818 # Number of times bus staying in WRITE state (Count) +board.memory.mem_ctrl.readReqs 13391022 # Number of read requests accepted (Count) +board.memory.mem_ctrl.writeReqs 7672477 # Number of write requests accepted (Count) +board.memory.mem_ctrl.readBursts 13391022 # Number of controller read bursts, including those serviced by the write queue (Count) +board.memory.mem_ctrl.writeBursts 7672477 # Number of controller write bursts, including those merged in the write queue (Count) +board.memory.mem_ctrl.servicedByWrQ 33011 # Number of controller read bursts serviced by the write queue (Count) +board.memory.mem_ctrl.mergedWrBursts 7 # Number of controller write bursts merged with an existing one (Count) +board.memory.mem_ctrl.neitherReadNorWriteReqs 0 # Number of requests that are neither read nor write (Count) +board.memory.mem_ctrl.avgRdQLen 1.06 # Average read queue length when enqueuing ((Count/Tick)) +board.memory.mem_ctrl.avgWrQLen 25.31 # Average write queue length when enqueuing ((Count/Tick)) +board.memory.mem_ctrl.numRdRetry 1070 # Number of times read queue was full causing retry (Count) +board.memory.mem_ctrl.numWrRetry 501904 # Number of times write queue was full causing retry (Count) +board.memory.mem_ctrl.readPktSize::0 0 # Read request sizes (log2) (Count) +board.memory.mem_ctrl.readPktSize::1 0 # Read request sizes (log2) (Count) +board.memory.mem_ctrl.readPktSize::2 0 # Read request sizes (log2) (Count) +board.memory.mem_ctrl.readPktSize::3 0 # Read request sizes (log2) (Count) +board.memory.mem_ctrl.readPktSize::4 0 # Read request sizes (log2) (Count) +board.memory.mem_ctrl.readPktSize::5 0 # Read request sizes (log2) (Count) +board.memory.mem_ctrl.readPktSize::6 13391022 # Read request sizes (log2) (Count) +board.memory.mem_ctrl.writePktSize::0 0 # Write request sizes (log2) (Count) +board.memory.mem_ctrl.writePktSize::1 0 # Write request sizes (log2) (Count) +board.memory.mem_ctrl.writePktSize::2 0 # Write request sizes (log2) (Count) +board.memory.mem_ctrl.writePktSize::3 0 # Write request sizes (log2) (Count) +board.memory.mem_ctrl.writePktSize::4 0 # Write request sizes (log2) (Count) +board.memory.mem_ctrl.writePktSize::5 0 # Write request sizes (log2) (Count) +board.memory.mem_ctrl.writePktSize::6 7672477 # Write request sizes (log2) (Count) +board.memory.mem_ctrl.rdQLenPdf::0 10378878 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::1 2370848 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::2 539401 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::3 65779 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::4 388 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::5 73 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::6 76 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::7 72 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::8 69 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::9 73 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::10 66 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::11 70 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::12 66 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::13 65 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::14 66 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::15 66 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::16 60 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::17 59 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::18 58 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::19 56 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::20 57 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::21 57 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::22 55 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::23 54 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::24 54 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::25 55 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::26 51 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::27 55 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::28 55 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::29 54 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::30 52 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdQLenPdf::31 1123 # What read queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::0 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::1 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::2 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::3 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::4 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::5 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::6 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::7 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::8 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::9 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::10 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::11 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::12 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::13 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::14 1 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::15 9322 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::16 13363 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::17 333754 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::18 415980 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::19 435872 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::20 439923 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::21 441791 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::22 442383 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::23 442496 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::24 442293 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::25 442307 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::26 441994 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::27 444104 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::28 443987 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::29 444305 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::30 443380 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::31 441176 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::32 441462 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::33 9413 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::34 6461 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::35 6183 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::36 6166 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::37 6107 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::38 6115 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::39 6313 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::40 6455 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::41 6141 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::42 6126 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::43 6170 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::44 6299 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::45 6506 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::46 7154 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::47 7895 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::48 6305 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::49 6272 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::50 6189 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::51 6142 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::52 6097 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::53 6287 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::54 6409 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::55 6140 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::56 6074 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::57 6118 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::58 6119 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::59 6377 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::60 6956 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::61 9302 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::62 8611 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.wrQLenPdf::63 513661 # What write queue length does an incoming req see (Count) +board.memory.mem_ctrl.rdPerTurnAround::samples 448111 # Reads before turning the bus around for writes (Count) +board.memory.mem_ctrl.rdPerTurnAround::mean 29.809556 # Reads before turning the bus around for writes (Count) +board.memory.mem_ctrl.rdPerTurnAround::stdev 28.135144 # Reads before turning the bus around for writes (Count) +board.memory.mem_ctrl.rdPerTurnAround::0-511 448103 100.00% 100.00% # Reads before turning the bus around for writes (Count) +board.memory.mem_ctrl.rdPerTurnAround::512-1023 6 0.00% 100.00% # Reads before turning the bus around for writes (Count) +board.memory.mem_ctrl.rdPerTurnAround::1536-2047 1 0.00% 100.00% # Reads before turning the bus around for writes (Count) +board.memory.mem_ctrl.rdPerTurnAround::15360-15871 1 0.00% 100.00% # Reads before turning the bus around for writes (Count) +board.memory.mem_ctrl.rdPerTurnAround::total 448111 # Reads before turning the bus around for writes (Count) +board.memory.mem_ctrl.wrPerTurnAround::samples 448111 # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::mean 17.121747 # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::gmean 16.431739 # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::stdev 15.481057 # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::16-31 441247 98.47% 98.47% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::32-47 2134 0.48% 98.94% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::48-63 618 0.14% 99.08% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::64-79 3158 0.70% 99.79% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::80-95 303 0.07% 99.85% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::96-111 25 0.01% 99.86% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::112-127 11 0.00% 99.86% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::128-143 113 0.03% 99.89% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::144-159 66 0.01% 99.90% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::160-175 8 0.00% 99.90% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::176-191 3 0.00% 99.91% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::192-207 29 0.01% 99.91% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::208-223 59 0.01% 99.92% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::224-239 9 0.00% 99.93% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::240-255 4 0.00% 99.93% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::256-271 39 0.01% 99.94% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::272-287 16 0.00% 99.94% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::320-335 11 0.00% 99.94% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::336-351 26 0.01% 99.95% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::352-367 1 0.00% 99.95% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::368-383 1 0.00% 99.95% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::384-399 13 0.00% 99.95% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::400-415 17 0.00% 99.96% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::416-431 4 0.00% 99.96% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::432-447 1 0.00% 99.96% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::448-463 6 0.00% 99.96% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::464-479 37 0.01% 99.97% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::480-495 7 0.00% 99.97% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::496-511 1 0.00% 99.97% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::512-527 11 0.00% 99.97% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::528-543 16 0.00% 99.97% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::576-591 5 0.00% 99.98% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::592-607 21 0.00% 99.98% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::608-623 4 0.00% 99.98% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::640-655 7 0.00% 99.98% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::656-671 12 0.00% 99.98% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::672-687 1 0.00% 99.99% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::704-719 4 0.00% 99.99% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::720-735 20 0.00% 99.99% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::768-783 3 0.00% 99.99% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::784-799 17 0.00% 99.99% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::800-815 2 0.00% 100.00% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::832-847 1 0.00% 100.00% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::848-863 9 0.00% 100.00% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::896-911 2 0.00% 100.00% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::912-927 5 0.00% 100.00% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::960-975 4 0.00% 100.00% # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.wrPerTurnAround::total 448111 # Writes before turning the bus around for reads (Count) +board.memory.mem_ctrl.bytesReadWrQ 2112704 # Total number of bytes read from write queue (Byte) +board.memory.mem_ctrl.bytesReadSys 857025408 # Total read bytes from the system interface side (Byte) +board.memory.mem_ctrl.bytesWrittenSys 491038528 # Total written bytes from the system interface side (Byte) +board.memory.mem_ctrl.avgRdBWSys 221130680.71204013 # Average system read bandwidth in Byte/s ((Byte/Second)) +board.memory.mem_ctrl.avgWrBWSys 126698325.32255355 # Average system write bandwidth in Byte/s ((Byte/Second)) +board.memory.mem_ctrl.totGap 3875651240229 # Total gap between requests (Tick) +board.memory.mem_ctrl.avgGap 183998.45 # Average gap between requests ((Tick/Count)) +board.memory.mem_ctrl.requestorReadBytes::cache_hierarchy.ruby_system.directory_controllers 854912704 # Per-requestor bytes read from memory (Byte) +board.memory.mem_ctrl.requestorWriteBytes::cache_hierarchy.ruby_system.directory_controllers 491036352 # Per-requestor bytes write to memory (Byte) +board.memory.mem_ctrl.requestorReadRate::cache_hierarchy.ruby_system.directory_controllers 220585558.397926598787 # Per-requestor bytes read from memory rate ((Byte/Second)) +board.memory.mem_ctrl.requestorWriteRate::cache_hierarchy.ruby_system.directory_controllers 126697763.868532761931 # Per-requestor bytes write to memory rate ((Byte/Second)) +board.memory.mem_ctrl.requestorReadAccesses::cache_hierarchy.ruby_system.directory_controllers 13391022 # Per-requestor read serviced memory accesses (Count) +board.memory.mem_ctrl.requestorWriteAccesses::cache_hierarchy.ruby_system.directory_controllers 7672477 # Per-requestor write serviced memory accesses (Count) +board.memory.mem_ctrl.requestorReadTotalLat::cache_hierarchy.ruby_system.directory_controllers 501780646396 # Per-requestor read total memory access latency (Tick) +board.memory.mem_ctrl.requestorWriteTotalLat::cache_hierarchy.ruby_system.directory_controllers 94989180203426 # Per-requestor write total memory access latency (Tick) +board.memory.mem_ctrl.requestorReadAvgLat::cache_hierarchy.ruby_system.directory_controllers 37471.42 # Per-requestor read average memory access latency ((Tick/Count)) +board.memory.mem_ctrl.requestorWriteAvgLat::cache_hierarchy.ruby_system.directory_controllers 12380510.26 # Per-requestor write average memory access latency ((Tick/Count)) +board.memory.mem_ctrl.dram.bytesRead::cache_hierarchy.ruby_system.directory_controllers 857025408 # Number of bytes read from this memory (Byte) +board.memory.mem_ctrl.dram.bytesRead::total 857025408 # Number of bytes read from this memory (Byte) +board.memory.mem_ctrl.dram.bytesWritten::cache_hierarchy.ruby_system.directory_controllers 491038528 # Number of bytes written to this memory (Byte) +board.memory.mem_ctrl.dram.bytesWritten::total 491038528 # Number of bytes written to this memory (Byte) +board.memory.mem_ctrl.dram.numReads::cache_hierarchy.ruby_system.directory_controllers 13391022 # Number of read requests responded to by this memory (Count) +board.memory.mem_ctrl.dram.numReads::total 13391022 # Number of read requests responded to by this memory (Count) +board.memory.mem_ctrl.dram.numWrites::cache_hierarchy.ruby_system.directory_controllers 7672477 # Number of write requests responded to by this memory (Count) +board.memory.mem_ctrl.dram.numWrites::total 7672477 # Number of write requests responded to by this memory (Count) +board.memory.mem_ctrl.dram.bwRead::cache_hierarchy.ruby_system.directory_controllers 221130681 # Total read bandwidth from this memory ((Byte/Second)) +board.memory.mem_ctrl.dram.bwRead::total 221130681 # Total read bandwidth from this memory ((Byte/Second)) +board.memory.mem_ctrl.dram.bwWrite::cache_hierarchy.ruby_system.directory_controllers 126698325 # Write bandwidth from this memory ((Byte/Second)) +board.memory.mem_ctrl.dram.bwWrite::total 126698325 # Write bandwidth from this memory ((Byte/Second)) +board.memory.mem_ctrl.dram.bwTotal::cache_hierarchy.ruby_system.directory_controllers 347829006 # Total bandwidth to/from this memory ((Byte/Second)) +board.memory.mem_ctrl.dram.bwTotal::total 347829006 # Total bandwidth to/from this memory ((Byte/Second)) +board.memory.mem_ctrl.dram.readBursts 13358011 # Number of DRAM read bursts (Count) +board.memory.mem_ctrl.dram.writeBursts 7672443 # Number of DRAM write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::0 825844 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::1 873119 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::2 815199 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::3 914961 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::4 828254 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::5 792684 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::6 789229 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::7 831113 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::8 879319 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::9 851094 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::10 842625 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::11 894928 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::12 853695 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::13 776415 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::14 751896 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankRdBursts::15 837636 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::0 462497 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::1 503068 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::2 517412 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::3 541944 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::4 454218 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::5 464295 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::6 447195 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::7 452159 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::8 477296 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::9 463958 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::10 502891 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::11 518200 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::12 464775 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::13 467965 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::14 447207 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.perBankWrBursts::15 487363 # Per bank write bursts (Count) +board.memory.mem_ctrl.dram.totQLat 251317940146 # Total ticks spent queuing (Tick) +board.memory.mem_ctrl.dram.totBusLat 66790055000 # Total ticks spent in databus transfers (Tick) +board.memory.mem_ctrl.dram.totMemAccLat 501780646396 # Total ticks spent from burst creation until serviced by the DRAM (Tick) +board.memory.mem_ctrl.dram.avgQLat 18814.02 # Average queueing delay per DRAM burst ((Tick/Count)) +board.memory.mem_ctrl.dram.avgBusLat 5000.00 # Average bus latency per DRAM burst ((Tick/Count)) +board.memory.mem_ctrl.dram.avgMemAccLat 37564.02 # Average memory access latency per DRAM burst ((Tick/Count)) +board.memory.mem_ctrl.dram.readRowHits 8207080 # Number of row buffer hits during reads (Count) +board.memory.mem_ctrl.dram.writeRowHits 3432398 # Number of row buffer hits during writes (Count) +board.memory.mem_ctrl.dram.readRowHitRate 61.44 # Row buffer hit rate for reads (Ratio) +board.memory.mem_ctrl.dram.writeRowHitRate 44.74 # Row buffer hit rate for writes (Ratio) +board.memory.mem_ctrl.dram.bytesPerActivate::samples 9390966 # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::mean 143.323656 # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::gmean 98.542908 # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::stdev 189.594497 # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::0-127 6139967 65.38% 65.38% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::128-255 2051757 21.85% 87.23% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::256-383 472734 5.03% 92.26% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::384-511 201524 2.15% 94.41% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::512-639 114553 1.22% 95.63% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::640-767 74362 0.79% 96.42% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::768-895 53484 0.57% 96.99% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::896-1023 46987 0.50% 97.49% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::1024-1151 235598 2.51% 100.00% # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesPerActivate::total 9390966 # Bytes accessed per row activation (Byte) +board.memory.mem_ctrl.dram.bytesRead 854912704 # Total bytes read (Byte) +board.memory.mem_ctrl.dram.bytesWritten 491036352 # Total bytes written (Byte) +board.memory.mem_ctrl.dram.avgRdBW 220.585558 # Average DRAM read bandwidth in MiBytes/s ((Byte/Second)) +board.memory.mem_ctrl.dram.avgWrBW 126.697764 # Average DRAM write bandwidth in MiBytes/s ((Byte/Second)) +board.memory.mem_ctrl.dram.peakBW 12800.00 # Theoretical peak bandwidth in MiByte/s ((Byte/Second)) +board.memory.mem_ctrl.dram.busUtil 2.71 # Data bus utilization in percentage (Ratio) +board.memory.mem_ctrl.dram.busUtilRead 1.72 # Data bus utilization in percentage for reads (Ratio) +board.memory.mem_ctrl.dram.busUtilWrite 0.99 # Data bus utilization in percentage for writes (Ratio) +board.memory.mem_ctrl.dram.pageHitRate 55.35 # Row buffer hit rate, read and write combined (Ratio) +board.memory.mem_ctrl.dram.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.memory.mem_ctrl.dram.rank0.actEnergy 33642716100 # Energy for activate commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.preEnergy 17881508700 # Energy for precharge commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.readEnergy 47626677420 # Energy for read commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.writeEnergy 20059353360 # Energy for write commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.refreshEnergy 305940133200.000061 # Energy for refresh commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.actBackEnergy 688943283960 # Energy for active background per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.preBackEnergy 908087330400 # Energy for precharge background per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.actPowerDownEnergy 0 # Energy for active power-down per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.prePowerDownEnergy 0 # Energy for precharge power-down per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.selfRefreshEnergy 0 # Energy for self refresh per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.totalEnergy 2022181003140 # Total energy per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank0.averagePower 521.765466 # Core power per rank (mW) (Watt) +board.memory.mem_ctrl.dram.rank0.totalIdleTime 0 # Total Idle time Per DRAM Rank (Tick) +board.memory.mem_ctrl.dram.rank0.pwrStateTime::IDLE 2353358655720 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank0.pwrStateTime::REF 129416300000 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank0.pwrStateTime::SREF 0 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank0.pwrStateTime::PRE_PDN 0 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank0.pwrStateTime::ACT 1392876334460 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank0.pwrStateTime::ACT_PDN 0 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank1.actEnergy 33408852540 # Energy for activate commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.preEnergy 17757207270 # Energy for precharge commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.readEnergy 47749521120 # Energy for read commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.writeEnergy 19990799100 # Energy for write commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.refreshEnergy 305940133200.000061 # Energy for refresh commands per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.actBackEnergy 693744420180 # Energy for active background per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.preBackEnergy 904044268320 # Energy for precharge background per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.actPowerDownEnergy 0 # Energy for active power-down per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.prePowerDownEnergy 0 # Energy for precharge power-down per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.selfRefreshEnergy 0 # Energy for self refresh per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.totalEnergy 2022635201730 # Total energy per rank (pJ) (Joule) +board.memory.mem_ctrl.dram.rank1.averagePower 521.882659 # Core power per rank (mW) (Watt) +board.memory.mem_ctrl.dram.rank1.totalIdleTime 0 # Total Idle time Per DRAM Rank (Tick) +board.memory.mem_ctrl.dram.rank1.pwrStateTime::IDLE 2342804526225 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank1.pwrStateTime::REF 129416300000 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank1.pwrStateTime::SREF 0 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank1.pwrStateTime::PRE_PDN 0 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank1.pwrStateTime::ACT 1403430463955 # Time in different power states (Tick) +board.memory.mem_ctrl.dram.rank1.pwrStateTime::ACT_PDN 0 # Time in different power states (Tick) +board.memory.mem_ctrl.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.bad_addr.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.com_1.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.default_bus.transDist::ReadReq 1 # Transaction distribution (Count) +board.pc.default_bus.transDist::ReadResp 1 # Transaction distribution (Count) +board.pc.default_bus.transDist::WriteReq 7 # Transaction distribution (Count) +board.pc.default_bus.transDist::WriteResp 7 # Transaction distribution (Count) +board.pc.default_bus.pktCount_board.iobus.default::board.pc.empty_isa.pio 16 # Packet count per connected requestor and responder (Count) +board.pc.default_bus.pktCount_board.iobus.default::total 16 # Packet count per connected requestor and responder (Count) +board.pc.default_bus.pktSize_board.iobus.default::board.pc.empty_isa.pio 8 # Cumulative packet size per connected requestor and responder (Byte) +board.pc.default_bus.pktSize_board.iobus.default::total 8 # Cumulative packet size per connected requestor and responder (Byte) +board.pc.default_bus.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.default_bus.reqLayer0.occupancy 4995 # Layer occupancy (ticks) (Tick) +board.pc.default_bus.reqLayer0.utilization 0.0 # Layer utilization (Ratio) +board.pc.default_bus.respLayer0.occupancy 4861 # Layer occupancy (ticks) (Tick) +board.pc.default_bus.respLayer0.utilization 0.0 # Layer utilization (Ratio) +board.pc.empty_isa.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.fake_com_2.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.fake_com_3.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.fake_com_4.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.fake_floppy.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.pci_host.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.cmos.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.dma1.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.ide.disks.IdeDisk.dmaReadFullPages 98 # Number of full page size DMA reads (not PRD). (Count) +board.pc.south_bridge.ide.disks.IdeDisk.dmaReadBytes 401408 # Number of bytes transfered via DMA reads (not PRD). (Byte) +board.pc.south_bridge.ide.disks.IdeDisk.dmaReadTxs 98 # Number of DMA read transactions (not PRD). (Count) +board.pc.south_bridge.ide.disks.IdeDisk.dmaWriteFullPages 12304 # Number of full page size DMA writes. (Count) +board.pc.south_bridge.ide.disks.IdeDisk.dmaWriteBytes 50399232 # Number of bytes transfered via DMA writes. (Byte) +board.pc.south_bridge.ide.disks.IdeDisk.dmaWriteTxs 12306 # Number of DMA write transactions. (Count) +board.pc.south_bridge.ide.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.io_apic.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.keyboard.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.pic1.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.pic2.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.pit.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.pc.south_bridge.speaker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores0.core.numCycles 11636483168 # Number of cpu cycles simulated (Cycle) +board.processor.cores0.core.cpi 11.905542 # CPI: cycles per instruction (core level) ((Cycle/Count)) +board.processor.cores0.core.ipc 0.083994 # IPC: instructions per cycle (core level) ((Count/Cycle)) +board.processor.cores0.core.numWorkItemsStarted 0 # Number of work items this cpu started (Count) +board.processor.cores0.core.numWorkItemsCompleted 0 # Number of work items this cpu completed (Count) +board.processor.cores0.core.commitStats0.numInsts 977400498 # Number of instructions committed (thread level) (Count) +board.processor.cores0.core.commitStats0.numOps 2105903346 # Number of ops (including micro ops) committed (thread level) (Count) +board.processor.cores0.core.commitStats0.numInstsNotNOP 0 # Number of instructions committed excluding NOPs or prefetches (Count) +board.processor.cores0.core.commitStats0.numOpsNotNOP 0 # Number of Ops (including micro ops) Simulated (Count) +board.processor.cores0.core.commitStats0.cpi 11.905542 # CPI: cycles per instruction (thread level) ((Cycle/Count)) +board.processor.cores0.core.commitStats0.ipc 0.083994 # IPC: instructions per cycle (thread level) ((Count/Cycle)) +board.processor.cores0.core.commitStats0.numMemRefs 0 # Number of memory references committed (Count) +board.processor.cores0.core.commitStats0.numFpInsts 14084133 # Number of float instructions (Count) +board.processor.cores0.core.commitStats0.numIntInsts 1994523359 # Number of integer instructions (Count) +board.processor.cores0.core.commitStats0.numLoadInsts 205489737 # Number of load instructions (Count) +board.processor.cores0.core.commitStats0.numStoreInsts 126259458 # Number of store instructions (Count) +board.processor.cores0.core.commitStats0.numVecInsts 0 # Number of vector instructions (Count) +board.processor.cores0.core.commitStats0.committedInstType::No_OpClass 2262798 0.11% 0.11% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::IntAlu 1747775944 82.99% 83.10% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::IntMult 7134681 0.34% 83.44% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::IntDiv 7772243 0.37% 83.81% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatAdd 260248 0.01% 83.82% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatCmp 0 0.00% 83.82% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatCvt 26256 0.00% 83.82% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatMult 0 0.00% 83.82% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatMultAcc 0 0.00% 83.82% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatDiv 0 0.00% 83.82% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatMisc 0 0.00% 83.82% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatSqrt 0 0.00% 83.82% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdAdd 614458 0.03% 83.85% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdAddAcc 0 0.00% 83.85% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdAlu 2842048 0.13% 83.99% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdCmp 30206 0.00% 83.99% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdCvt 2488796 0.12% 84.11% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdMisc 2589968 0.12% 84.23% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdMult 0 0.00% 84.23% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdMultAcc 0 0.00% 84.23% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdMatMultAcc 0 0.00% 84.23% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdShift 346094 0.02% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdShiftAcc 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdDiv 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdSqrt 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatAdd 1949 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatAlu 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatCmp 1 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatCvt 5268 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatDiv 1247 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatMisc 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatMult 1946 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatMultAcc 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatMatMultAcc 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatSqrt 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdReduceAdd 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdReduceAlu 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdReduceCmp 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatReduceAdd 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdFloatReduceCmp 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdAes 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdAesMix 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdSha1Hash 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdSha1Hash2 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdSha256Hash 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdSha256Hash2 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdShaSigma2 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdShaSigma3 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::SimdPredAlu 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::Matrix 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::MatrixMov 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::MatrixOP 0 0.00% 84.25% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::MemRead 202510401 9.62% 93.86% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::MemWrite 124798170 5.93% 99.79% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatMemRead 2979336 0.14% 99.93% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::FloatMemWrite 1461288 0.07% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::IprAccess 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::InstPrefetch 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorUnitStrideLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorUnitStrideStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorUnitStrideMaskLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorUnitStrideMaskStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorStridedLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorStridedStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorIndexedLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorIndexedStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorUnitStrideFaultOnlyFirstLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorWholeRegisterLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorWholeRegisterStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorIntegerArith 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorFloatArith 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorFloatConvert 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorIntegerReduce 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorFloatReduce 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorMisc 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorIntegerExtension 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::VectorConfig 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedInstType::total 2105903346 # Class of committed instruction. (Count) +board.processor.cores0.core.commitStats0.committedControl::IsControl 293129274 # Class of control type instructions committed (Count) +board.processor.cores0.core.commitStats0.committedControl::IsDirectControl 265281867 # Class of control type instructions committed (Count) +board.processor.cores0.core.commitStats0.committedControl::IsIndirectControl 27682622 # Class of control type instructions committed (Count) +board.processor.cores0.core.commitStats0.committedControl::IsCondControl 186162416 # Class of control type instructions committed (Count) +board.processor.cores0.core.commitStats0.committedControl::IsUncondControl 106903391 # Class of control type instructions committed (Count) +board.processor.cores0.core.commitStats0.committedControl::IsCall 20275196 # Class of control type instructions committed (Count) +board.processor.cores0.core.commitStats0.committedControl::IsReturn 20171718 # Class of control type instructions committed (Count) +board.processor.cores0.core.exec_context.thread_0.numMatAluAccesses 0 # Number of matrix alu accesses (Count) +board.processor.cores0.core.exec_context.thread_0.numCallsReturns 40446914 # Number of times a function call or return occured (Count) +board.processor.cores0.core.exec_context.thread_0.numMatInsts 0 # Number of matrix instructions (Count) +board.processor.cores0.core.exec_context.thread_0.numIdleCycles 7653879545.013893 # Number of idle cycles (Cycle) +board.processor.cores0.core.exec_context.thread_0.numBusyCycles 3982603622.986108 # Number of busy cycles (Cycle) +board.processor.cores0.core.exec_context.thread_0.notIdleFraction 0.342251 # Percentage of non-idle cycles (Ratio) +board.processor.cores0.core.exec_context.thread_0.idleFraction 0.657749 # Percentage of idle cycles (Ratio) +board.processor.cores0.core.executeStats0.numInsts 0 # Number of executed instructions (Count) +board.processor.cores0.core.executeStats0.numNop 0 # Number of nop insts executed (Count) +board.processor.cores0.core.executeStats0.numBranches 0 # Number of branches executed (Count) +board.processor.cores0.core.executeStats0.numLoadInsts 0 # Number of load instructions executed (Count) +board.processor.cores0.core.executeStats0.numStoreInsts 331749195 # Number of stores executed (Count) +board.processor.cores0.core.executeStats0.instRate 0 # Inst execution rate ((Count/Cycle)) +board.processor.cores0.core.executeStats0.numFpAluAccesses 14084133 # Number of float alu accesses (Count) +board.processor.cores0.core.executeStats0.numFpRegReads 21761225 # Number of times the floating registers were read (Count) +board.processor.cores0.core.executeStats0.numFpRegWrites 10885642 # Number of times the floating registers were written (Count) +board.processor.cores0.core.executeStats0.numIntAluAccesses 1994523359 # Number of integer alu accesses (Count) +board.processor.cores0.core.executeStats0.numIntRegReads 2541035372 # Number of times the integer registers were read (Count) +board.processor.cores0.core.executeStats0.numIntRegWrites 1478190709 # Number of times the integer registers were written (Count) +board.processor.cores0.core.executeStats0.numMemRefs 331749195 # Number of memory refs (Count) +board.processor.cores0.core.executeStats0.numMiscRegReads 895239000 # Number of times the Misc registers were read (Count) +board.processor.cores0.core.executeStats0.numMiscRegWrites 1643646 # Number of times the Misc registers were written (Count) +board.processor.cores0.core.executeStats0.numVecAluAccesses 0 # Number of vector alu accesses (Count) +board.processor.cores0.core.executeStats0.numDiscardedOps 0 # Number of ops (including micro ops) which were discarded before commit (Count) +board.processor.cores0.core.fetchStats0.numInsts 977400498 # Number of instructions fetched (thread level) (Count) +board.processor.cores0.core.fetchStats0.numOps 2105903346 # Number of ops (including micro ops) fetched (thread level) (Count) +board.processor.cores0.core.fetchStats0.fetchRate 0.083994 # Number of inst fetches per cycle ((Count/Cycle)) +board.processor.cores0.core.fetchStats0.numBranches 293129274 # Number of branches fetched (Count) +board.processor.cores0.core.fetchStats0.branchRate 0.025191 # Number of branch fetches per cycle (Ratio) +board.processor.cores0.core.fetchStats0.numFetchSuspends 0 # Number of times Execute suspended instruction fetching (Count) +board.processor.cores0.core.interrupts.clk_domain.clock 5328 # Clock period in ticks (Tick) +board.processor.cores0.core.mmu.dtb.rdAccesses 206058281 # TLB accesses on read requests (Count) +board.processor.cores0.core.mmu.dtb.wrAccesses 126422746 # TLB accesses on write requests (Count) +board.processor.cores0.core.mmu.dtb.rdMisses 391470 # TLB misses on read requests (Count) +board.processor.cores0.core.mmu.dtb.wrMisses 28511 # TLB misses on write requests (Count) +board.processor.cores0.core.mmu.dtb.walker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores0.core.mmu.itb.rdAccesses 0 # TLB accesses on read requests (Count) +board.processor.cores0.core.mmu.itb.wrAccesses 1239039917 # TLB accesses on write requests (Count) +board.processor.cores0.core.mmu.itb.rdMisses 0 # TLB misses on read requests (Count) +board.processor.cores0.core.mmu.itb.wrMisses 85714 # TLB misses on write requests (Count) +board.processor.cores0.core.mmu.itb.walker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores0.core.power_state.numTransitions 6275 # Number of power state transitions (Count) +board.processor.cores0.core.power_state.ticksClkGated::samples 3138 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores0.core.power_state.ticksClkGated::mean 812365802.394519 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores0.core.power_state.ticksClkGated::stdev 352753856.444061 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores0.core.power_state.ticksClkGated::1000-5e+10 3138 100.00% 100.00% # Distribution of time spent in the clock gated state (Tick) +board.processor.cores0.core.power_state.ticksClkGated::min_value 281719 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores0.core.power_state.ticksClkGated::max_value 997231104 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores0.core.power_state.ticksClkGated::total 3138 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores0.core.power_state.pwrStateResidencyTicks::ON 1326447402266 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores0.core.power_state.pwrStateResidencyTicks::CLK_GATED 2549203887914 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores0.core.thread_0.numInsts 0 # Number of Instructions committed (Count) +board.processor.cores0.core.thread_0.numOps 0 # Number of Ops committed (Count) +board.processor.cores0.core.thread_0.numMemRefs 0 # Number of Memory References (Count) +board.processor.cores1.core.numCycles 11638592456 # Number of cpu cycles simulated (Cycle) +board.processor.cores1.core.cpi 14.680036 # CPI: cycles per instruction (core level) ((Cycle/Count)) +board.processor.cores1.core.ipc 0.068120 # IPC: instructions per cycle (core level) ((Count/Cycle)) +board.processor.cores1.core.numWorkItemsStarted 0 # Number of work items this cpu started (Count) +board.processor.cores1.core.numWorkItemsCompleted 0 # Number of work items this cpu completed (Count) +board.processor.cores1.core.commitStats0.numInsts 792817682 # Number of instructions committed (thread level) (Count) +board.processor.cores1.core.commitStats0.numOps 1683784670 # Number of ops (including micro ops) committed (thread level) (Count) +board.processor.cores1.core.commitStats0.numInstsNotNOP 0 # Number of instructions committed excluding NOPs or prefetches (Count) +board.processor.cores1.core.commitStats0.numOpsNotNOP 0 # Number of Ops (including micro ops) Simulated (Count) +board.processor.cores1.core.commitStats0.cpi 14.680036 # CPI: cycles per instruction (thread level) ((Cycle/Count)) +board.processor.cores1.core.commitStats0.ipc 0.068120 # IPC: instructions per cycle (thread level) ((Count/Cycle)) +board.processor.cores1.core.commitStats0.numMemRefs 0 # Number of memory references committed (Count) +board.processor.cores1.core.commitStats0.numFpInsts 33906755 # Number of float instructions (Count) +board.processor.cores1.core.commitStats0.numIntInsts 1629659876 # Number of integer instructions (Count) +board.processor.cores1.core.commitStats0.numLoadInsts 220569330 # Number of load instructions (Count) +board.processor.cores1.core.commitStats0.numStoreInsts 142845795 # Number of store instructions (Count) +board.processor.cores1.core.commitStats0.numVecInsts 0 # Number of vector instructions (Count) +board.processor.cores1.core.commitStats0.committedInstType::No_OpClass 3205416 0.19% 0.19% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::IntAlu 1292388588 76.75% 76.95% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::IntMult 1445549 0.09% 77.03% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::IntDiv 3285772 0.20% 77.23% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatAdd 1069160 0.06% 77.29% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatCmp 0 0.00% 77.29% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatCvt 38640 0.00% 77.29% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatMult 0 0.00% 77.29% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatMultAcc 0 0.00% 77.29% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatDiv 0 0.00% 77.29% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatMisc 0 0.00% 77.29% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatSqrt 0 0.00% 77.29% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdAdd 885810 0.05% 77.34% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdAddAcc 0 0.00% 77.34% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdAlu 5500049 0.33% 77.67% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdCmp 201144 0.01% 77.68% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdCvt 5287814 0.31% 78.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdMisc 6494317 0.39% 78.38% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdMult 0 0.00% 78.38% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdMultAcc 0 0.00% 78.38% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdMatMultAcc 0 0.00% 78.38% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdShift 547819 0.03% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdShiftAcc 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdDiv 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdSqrt 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatAdd 3841 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatAlu 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatCmp 2 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatCvt 10635 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatDiv 1054 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatMisc 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatMult 3935 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatMultAcc 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatMatMultAcc 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatSqrt 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdReduceAdd 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdReduceAlu 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdReduceCmp 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatReduceAdd 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdFloatReduceCmp 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdAes 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdAesMix 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdSha1Hash 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdSha1Hash2 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdSha256Hash 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdSha256Hash2 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdShaSigma2 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdShaSigma3 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::SimdPredAlu 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::Matrix 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::MatrixMov 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::MatrixOP 0 0.00% 78.42% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::MemRead 213636597 12.69% 91.10% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::MemWrite 137393727 8.16% 99.26% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatMemRead 6932733 0.41% 99.68% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::FloatMemWrite 5452068 0.32% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::IprAccess 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::InstPrefetch 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorUnitStrideLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorUnitStrideStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorUnitStrideMaskLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorUnitStrideMaskStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorStridedLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorStridedStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorIndexedLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorIndexedStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorUnitStrideFaultOnlyFirstLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorWholeRegisterLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorWholeRegisterStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorIntegerArith 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorFloatArith 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorFloatConvert 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorIntegerReduce 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorFloatReduce 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorMisc 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorIntegerExtension 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::VectorConfig 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedInstType::total 1683784670 # Class of committed instruction. (Count) +board.processor.cores1.core.commitStats0.committedControl::IsControl 205967375 # Class of control type instructions committed (Count) +board.processor.cores1.core.commitStats0.committedControl::IsDirectControl 178635008 # Class of control type instructions committed (Count) +board.processor.cores1.core.commitStats0.committedControl::IsIndirectControl 27129780 # Class of control type instructions committed (Count) +board.processor.cores1.core.commitStats0.committedControl::IsCondControl 151483856 # Class of control type instructions committed (Count) +board.processor.cores1.core.commitStats0.committedControl::IsUncondControl 54402815 # Class of control type instructions committed (Count) +board.processor.cores1.core.commitStats0.committedControl::IsCall 20058908 # Class of control type instructions committed (Count) +board.processor.cores1.core.commitStats0.committedControl::IsReturn 19887180 # Class of control type instructions committed (Count) +board.processor.cores1.core.exec_context.thread_0.numMatAluAccesses 0 # Number of matrix alu accesses (Count) +board.processor.cores1.core.exec_context.thread_0.numCallsReturns 39946088 # Number of times a function call or return occured (Count) +board.processor.cores1.core.exec_context.thread_0.numMatInsts 0 # Number of matrix instructions (Count) +board.processor.cores1.core.exec_context.thread_0.numIdleCycles 7658044650.002750 # Number of idle cycles (Cycle) +board.processor.cores1.core.exec_context.thread_0.numBusyCycles 3980547805.997249 # Number of busy cycles (Cycle) +board.processor.cores1.core.exec_context.thread_0.notIdleFraction 0.342013 # Percentage of non-idle cycles (Ratio) +board.processor.cores1.core.exec_context.thread_0.idleFraction 0.657987 # Percentage of idle cycles (Ratio) +board.processor.cores1.core.executeStats0.numInsts 0 # Number of executed instructions (Count) +board.processor.cores1.core.executeStats0.numNop 0 # Number of nop insts executed (Count) +board.processor.cores1.core.executeStats0.numBranches 0 # Number of branches executed (Count) +board.processor.cores1.core.executeStats0.numLoadInsts 0 # Number of load instructions executed (Count) +board.processor.cores1.core.executeStats0.numStoreInsts 363415125 # Number of stores executed (Count) +board.processor.cores1.core.executeStats0.instRate 0 # Inst execution rate ((Count/Cycle)) +board.processor.cores1.core.executeStats0.numFpAluAccesses 33906755 # Number of float alu accesses (Count) +board.processor.cores1.core.executeStats0.numFpRegReads 49674281 # Number of times the floating registers were read (Count) +board.processor.cores1.core.executeStats0.numFpRegWrites 24956688 # Number of times the floating registers were written (Count) +board.processor.cores1.core.executeStats0.numIntAluAccesses 1629659876 # Number of integer alu accesses (Count) +board.processor.cores1.core.executeStats0.numIntRegReads 2155881176 # Number of times the integer registers were read (Count) +board.processor.cores1.core.executeStats0.numIntRegWrites 1185714161 # Number of times the integer registers were written (Count) +board.processor.cores1.core.executeStats0.numMemRefs 363415125 # Number of memory refs (Count) +board.processor.cores1.core.executeStats0.numMiscRegReads 715800870 # Number of times the Misc registers were read (Count) +board.processor.cores1.core.executeStats0.numMiscRegWrites 2114536 # Number of times the Misc registers were written (Count) +board.processor.cores1.core.executeStats0.numVecAluAccesses 0 # Number of vector alu accesses (Count) +board.processor.cores1.core.executeStats0.numDiscardedOps 0 # Number of ops (including micro ops) which were discarded before commit (Count) +board.processor.cores1.core.fetchStats0.numInsts 792817683 # Number of instructions fetched (thread level) (Count) +board.processor.cores1.core.fetchStats0.numOps 1683784671 # Number of ops (including micro ops) fetched (thread level) (Count) +board.processor.cores1.core.fetchStats0.fetchRate 0.068120 # Number of inst fetches per cycle ((Count/Cycle)) +board.processor.cores1.core.fetchStats0.numBranches 205967375 # Number of branches fetched (Count) +board.processor.cores1.core.fetchStats0.branchRate 0.017697 # Number of branch fetches per cycle (Ratio) +board.processor.cores1.core.fetchStats0.numFetchSuspends 0 # Number of times Execute suspended instruction fetching (Count) +board.processor.cores1.core.interrupts.clk_domain.clock 5328 # Clock period in ticks (Tick) +board.processor.cores1.core.mmu.dtb.rdAccesses 222841297 # TLB accesses on read requests (Count) +board.processor.cores1.core.mmu.dtb.wrAccesses 142961776 # TLB accesses on write requests (Count) +board.processor.cores1.core.mmu.dtb.rdMisses 2139557 # TLB misses on read requests (Count) +board.processor.cores1.core.mmu.dtb.wrMisses 111152 # TLB misses on write requests (Count) +board.processor.cores1.core.mmu.dtb.walker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores1.core.mmu.itb.rdAccesses 0 # TLB accesses on read requests (Count) +board.processor.cores1.core.mmu.itb.wrAccesses 1053802319 # TLB accesses on write requests (Count) +board.processor.cores1.core.mmu.itb.rdMisses 0 # TLB misses on read requests (Count) +board.processor.cores1.core.mmu.itb.wrMisses 410063 # TLB misses on write requests (Count) +board.processor.cores1.core.mmu.itb.walker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores1.core.power_state.numTransitions 6018 # Number of power state transitions (Count) +board.processor.cores1.core.power_state.ticksClkGated::samples 3009 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores1.core.power_state.ticksClkGated::mean 641192462.104354 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores1.core.power_state.ticksClkGated::stdev 637659584.004567 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores1.core.power_state.ticksClkGated::1000-5e+10 3009 100.00% 100.00% # Distribution of time spent in the clock gated state (Tick) +board.processor.cores1.core.power_state.ticksClkGated::min_value 232436 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores1.core.power_state.ticksClkGated::max_value 26640529471 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores1.core.power_state.ticksClkGated::total 3009 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores1.core.power_state.pwrStateResidencyTicks::ON 1946303171708 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores1.core.power_state.pwrStateResidencyTicks::CLK_GATED 1929348118472 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores1.core.thread_0.numInsts 0 # Number of Instructions committed (Count) +board.processor.cores1.core.thread_0.numOps 0 # Number of Ops committed (Count) +board.processor.cores1.core.thread_0.numMemRefs 0 # Number of Memory References (Count) +board.processor.cores2.core.numCycles 11636222932 # Number of cpu cycles simulated (Cycle) +board.processor.cores2.core.cpi 37.271345 # CPI: cycles per instruction (core level) ((Cycle/Count)) +board.processor.cores2.core.ipc 0.026830 # IPC: instructions per cycle (core level) ((Count/Cycle)) +board.processor.cores2.core.numWorkItemsStarted 0 # Number of work items this cpu started (Count) +board.processor.cores2.core.numWorkItemsCompleted 0 # Number of work items this cpu completed (Count) +board.processor.cores2.core.commitStats0.numInsts 312202928 # Number of instructions committed (thread level) (Count) +board.processor.cores2.core.commitStats0.numOps 711523912 # Number of ops (including micro ops) committed (thread level) (Count) +board.processor.cores2.core.commitStats0.numInstsNotNOP 0 # Number of instructions committed excluding NOPs or prefetches (Count) +board.processor.cores2.core.commitStats0.numOpsNotNOP 0 # Number of Ops (including micro ops) Simulated (Count) +board.processor.cores2.core.commitStats0.cpi 37.271345 # CPI: cycles per instruction (thread level) ((Cycle/Count)) +board.processor.cores2.core.commitStats0.ipc 0.026830 # IPC: instructions per cycle (thread level) ((Count/Cycle)) +board.processor.cores2.core.commitStats0.numMemRefs 0 # Number of memory references committed (Count) +board.processor.cores2.core.commitStats0.numFpInsts 10849678 # Number of float instructions (Count) +board.processor.cores2.core.commitStats0.numIntInsts 681100527 # Number of integer instructions (Count) +board.processor.cores2.core.commitStats0.numLoadInsts 88043812 # Number of load instructions (Count) +board.processor.cores2.core.commitStats0.numStoreInsts 62490244 # Number of store instructions (Count) +board.processor.cores2.core.commitStats0.numVecInsts 0 # Number of vector instructions (Count) +board.processor.cores2.core.commitStats0.committedInstType::No_OpClass 1630916 0.23% 0.23% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::IntAlu 549391061 77.21% 77.44% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::IntMult 991990 0.14% 77.58% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::IntDiv 1939112 0.27% 77.85% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatAdd 188111 0.03% 77.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatCmp 0 0.00% 77.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatCvt 26224 0.00% 77.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatMult 0 0.00% 77.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatMultAcc 0 0.00% 77.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatDiv 0 0.00% 77.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatMisc 0 0.00% 77.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatSqrt 0 0.00% 77.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdAdd 663944 0.09% 77.98% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdAddAcc 0 0.00% 77.98% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdAlu 2022404 0.28% 78.26% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdCmp 17944 0.00% 78.26% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdCvt 2055710 0.29% 78.55% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdMisc 1700879 0.24% 78.79% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdMult 0 0.00% 78.79% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdMultAcc 0 0.00% 78.79% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdMatMultAcc 0 0.00% 78.79% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdShift 361497 0.05% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdShiftAcc 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdDiv 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdSqrt 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatAdd 1 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatAlu 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatCmp 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatCvt 63 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatDiv 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatMisc 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatMult 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatMultAcc 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatMatMultAcc 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatSqrt 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdReduceAdd 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdReduceAlu 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdReduceCmp 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatReduceAdd 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdFloatReduceCmp 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdAes 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdAesMix 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdSha1Hash 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdSha1Hash2 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdSha256Hash 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdSha256Hash2 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdShaSigma2 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdShaSigma3 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::SimdPredAlu 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::Matrix 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::MatrixMov 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::MatrixOP 0 0.00% 78.84% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::MemRead 85649084 12.04% 90.88% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::MemWrite 61511210 8.64% 99.53% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatMemRead 2394728 0.34% 99.86% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::FloatMemWrite 979034 0.14% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::IprAccess 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::InstPrefetch 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorUnitStrideLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorUnitStrideStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorUnitStrideMaskLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorUnitStrideMaskStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorStridedLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorStridedStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorIndexedLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorIndexedStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorUnitStrideFaultOnlyFirstLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorWholeRegisterLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorWholeRegisterStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorIntegerArith 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorFloatArith 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorFloatConvert 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorIntegerReduce 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorFloatReduce 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorMisc 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorIntegerExtension 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::VectorConfig 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedInstType::total 711523912 # Class of committed instruction. (Count) +board.processor.cores2.core.commitStats0.committedControl::IsControl 91325175 # Class of control type instructions committed (Count) +board.processor.cores2.core.commitStats0.committedControl::IsDirectControl 78213571 # Class of control type instructions committed (Count) +board.processor.cores2.core.commitStats0.committedControl::IsIndirectControl 12956623 # Class of control type instructions committed (Count) +board.processor.cores2.core.commitStats0.committedControl::IsCondControl 61483757 # Class of control type instructions committed (Count) +board.processor.cores2.core.commitStats0.committedControl::IsUncondControl 29772109 # Class of control type instructions committed (Count) +board.processor.cores2.core.commitStats0.committedControl::IsCall 11663156 # Class of control type instructions committed (Count) +board.processor.cores2.core.commitStats0.committedControl::IsReturn 11568868 # Class of control type instructions committed (Count) +board.processor.cores2.core.exec_context.thread_0.numMatAluAccesses 0 # Number of matrix alu accesses (Count) +board.processor.cores2.core.exec_context.thread_0.numCallsReturns 23232024 # Number of times a function call or return occured (Count) +board.processor.cores2.core.exec_context.thread_0.numMatInsts 0 # Number of matrix instructions (Count) +board.processor.cores2.core.exec_context.thread_0.numIdleCycles 9976788245.095722 # Number of idle cycles (Cycle) +board.processor.cores2.core.exec_context.thread_0.numBusyCycles 1659434686.904277 # Number of busy cycles (Cycle) +board.processor.cores2.core.exec_context.thread_0.notIdleFraction 0.142609 # Percentage of non-idle cycles (Ratio) +board.processor.cores2.core.exec_context.thread_0.idleFraction 0.857391 # Percentage of idle cycles (Ratio) +board.processor.cores2.core.executeStats0.numInsts 0 # Number of executed instructions (Count) +board.processor.cores2.core.executeStats0.numNop 0 # Number of nop insts executed (Count) +board.processor.cores2.core.executeStats0.numBranches 0 # Number of branches executed (Count) +board.processor.cores2.core.executeStats0.numLoadInsts 0 # Number of load instructions executed (Count) +board.processor.cores2.core.executeStats0.numStoreInsts 150534056 # Number of stores executed (Count) +board.processor.cores2.core.executeStats0.instRate 0 # Inst execution rate ((Count/Cycle)) +board.processor.cores2.core.executeStats0.numFpAluAccesses 10849678 # Number of float alu accesses (Count) +board.processor.cores2.core.executeStats0.numFpRegReads 17174162 # Number of times the floating registers were read (Count) +board.processor.cores2.core.executeStats0.numFpRegWrites 8672455 # Number of times the floating registers were written (Count) +board.processor.cores2.core.executeStats0.numIntAluAccesses 681100527 # Number of integer alu accesses (Count) +board.processor.cores2.core.executeStats0.numIntRegReads 928460164 # Number of times the integer registers were read (Count) +board.processor.cores2.core.executeStats0.numIntRegWrites 502446849 # Number of times the integer registers were written (Count) +board.processor.cores2.core.executeStats0.numMemRefs 150534056 # Number of memory refs (Count) +board.processor.cores2.core.executeStats0.numMiscRegReads 289954511 # Number of times the Misc registers were read (Count) +board.processor.cores2.core.executeStats0.numMiscRegWrites 1403593 # Number of times the Misc registers were written (Count) +board.processor.cores2.core.executeStats0.numVecAluAccesses 0 # Number of vector alu accesses (Count) +board.processor.cores2.core.executeStats0.numDiscardedOps 0 # Number of ops (including micro ops) which were discarded before commit (Count) +board.processor.cores2.core.fetchStats0.numInsts 312202928 # Number of instructions fetched (thread level) (Count) +board.processor.cores2.core.fetchStats0.numOps 711523912 # Number of ops (including micro ops) fetched (thread level) (Count) +board.processor.cores2.core.fetchStats0.fetchRate 0.026830 # Number of inst fetches per cycle ((Count/Cycle)) +board.processor.cores2.core.fetchStats0.numBranches 91325175 # Number of branches fetched (Count) +board.processor.cores2.core.fetchStats0.branchRate 0.007848 # Number of branch fetches per cycle (Ratio) +board.processor.cores2.core.fetchStats0.numFetchSuspends 0 # Number of times Execute suspended instruction fetching (Count) +board.processor.cores2.core.interrupts.clk_domain.clock 5328 # Clock period in ticks (Tick) +board.processor.cores2.core.mmu.dtb.rdAccesses 88426299 # TLB accesses on read requests (Count) +board.processor.cores2.core.mmu.dtb.wrAccesses 62517151 # TLB accesses on write requests (Count) +board.processor.cores2.core.mmu.dtb.rdMisses 332742 # TLB misses on read requests (Count) +board.processor.cores2.core.mmu.dtb.wrMisses 24420 # TLB misses on write requests (Count) +board.processor.cores2.core.mmu.dtb.walker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores2.core.mmu.itb.rdAccesses 0 # TLB accesses on read requests (Count) +board.processor.cores2.core.mmu.itb.wrAccesses 405316567 # TLB accesses on write requests (Count) +board.processor.cores2.core.mmu.itb.rdMisses 0 # TLB misses on read requests (Count) +board.processor.cores2.core.mmu.itb.wrMisses 71995 # TLB misses on write requests (Count) +board.processor.cores2.core.mmu.itb.walker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores2.core.power_state.numTransitions 6397 # Number of power state transitions (Count) +board.processor.cores2.core.power_state.ticksClkGated::samples 3199 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores2.core.power_state.ticksClkGated::mean 835356954.056893 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores2.core.power_state.ticksClkGated::stdev 573070567.631310 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores2.core.power_state.ticksClkGated::1000-5e+10 3199 100.00% 100.00% # Distribution of time spent in the clock gated state (Tick) +board.processor.cores2.core.power_state.ticksClkGated::min_value 2998 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores2.core.power_state.ticksClkGated::max_value 26640384949 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores2.core.power_state.ticksClkGated::total 3199 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores2.core.power_state.pwrStateResidencyTicks::ON 1203344394152 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores2.core.power_state.pwrStateResidencyTicks::CLK_GATED 2672306896028 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores2.core.thread_0.numInsts 0 # Number of Instructions committed (Count) +board.processor.cores2.core.thread_0.numOps 0 # Number of Ops committed (Count) +board.processor.cores2.core.thread_0.numMemRefs 0 # Number of Memory References (Count) +board.processor.cores3.core.numCycles 11636518148 # Number of cpu cycles simulated (Cycle) +board.processor.cores3.core.cpi 19.973146 # CPI: cycles per instruction (core level) ((Cycle/Count)) +board.processor.cores3.core.ipc 0.050067 # IPC: instructions per cycle (core level) ((Count/Cycle)) +board.processor.cores3.core.numWorkItemsStarted 0 # Number of work items this cpu started (Count) +board.processor.cores3.core.numWorkItemsCompleted 0 # Number of work items this cpu completed (Count) +board.processor.cores3.core.commitStats0.numInsts 582608178 # Number of instructions committed (thread level) (Count) +board.processor.cores3.core.commitStats0.numOps 1287073955 # Number of ops (including micro ops) committed (thread level) (Count) +board.processor.cores3.core.commitStats0.numInstsNotNOP 0 # Number of instructions committed excluding NOPs or prefetches (Count) +board.processor.cores3.core.commitStats0.numOpsNotNOP 0 # Number of Ops (including micro ops) Simulated (Count) +board.processor.cores3.core.commitStats0.cpi 19.973146 # CPI: cycles per instruction (thread level) ((Cycle/Count)) +board.processor.cores3.core.commitStats0.ipc 0.050067 # IPC: instructions per cycle (thread level) ((Count/Cycle)) +board.processor.cores3.core.commitStats0.numMemRefs 0 # Number of memory references committed (Count) +board.processor.cores3.core.commitStats0.numFpInsts 17968746 # Number of float instructions (Count) +board.processor.cores3.core.commitStats0.numIntInsts 1226402839 # Number of integer instructions (Count) +board.processor.cores3.core.commitStats0.numLoadInsts 149465413 # Number of load instructions (Count) +board.processor.cores3.core.commitStats0.numStoreInsts 109670896 # Number of store instructions (Count) +board.processor.cores3.core.commitStats0.numVecInsts 0 # Number of vector instructions (Count) +board.processor.cores3.core.commitStats0.committedInstType::No_OpClass 2056411 0.16% 0.16% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::IntAlu 1012701738 78.68% 78.84% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::IntMult 994121 0.08% 78.92% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::IntDiv 1165155 0.09% 79.01% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatAdd 404877 0.03% 79.04% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatCmp 0 0.00% 79.04% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatCvt 23536 0.00% 79.04% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatMult 0 0.00% 79.04% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatMultAcc 0 0.00% 79.04% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatDiv 0 0.00% 79.04% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatMisc 0 0.00% 79.04% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatSqrt 0 0.00% 79.04% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdAdd 626022 0.05% 79.09% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdAddAcc 0 0.00% 79.09% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdAlu 3101418 0.24% 79.33% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdCmp 126274 0.01% 79.34% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdCvt 3085744 0.24% 79.58% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdMisc 3364182 0.26% 79.84% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdMult 0 0.00% 79.84% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdMultAcc 0 0.00% 79.84% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdMatMultAcc 0 0.00% 79.84% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdShift 284580 0.02% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdShiftAcc 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdDiv 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdSqrt 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatAdd 743 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatAlu 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatCmp 1 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatCvt 2082 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatDiv 18 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatMisc 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatMult 744 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatMultAcc 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatMatMultAcc 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatSqrt 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdReduceAdd 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdReduceAlu 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdReduceCmp 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatReduceAdd 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdFloatReduceCmp 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdAes 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdAesMix 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdSha1Hash 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdSha1Hash2 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdSha256Hash 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdSha256Hash2 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdShaSigma2 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdShaSigma3 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::SimdPredAlu 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::Matrix 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::MatrixMov 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::MatrixOP 0 0.00% 79.87% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::MemRead 145716282 11.32% 91.19% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::MemWrite 107113788 8.32% 99.51% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatMemRead 3749131 0.29% 99.80% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::FloatMemWrite 2557108 0.20% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::IprAccess 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::InstPrefetch 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorUnitStrideLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorUnitStrideStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorUnitStrideMaskLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorUnitStrideMaskStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorStridedLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorStridedStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorIndexedLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorIndexedStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorUnitStrideFaultOnlyFirstLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorWholeRegisterLoad 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorWholeRegisterStore 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorIntegerArith 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorFloatArith 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorFloatConvert 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorIntegerReduce 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorFloatReduce 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorMisc 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorIntegerExtension 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::VectorConfig 0 0.00% 100.00% # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedInstType::total 1287073955 # Class of committed instruction. (Count) +board.processor.cores3.core.commitStats0.committedControl::IsControl 166565925 # Class of control type instructions committed (Count) +board.processor.cores3.core.commitStats0.committedControl::IsDirectControl 147305779 # Class of control type instructions committed (Count) +board.processor.cores3.core.commitStats0.committedControl::IsIndirectControl 19120137 # Class of control type instructions committed (Count) +board.processor.cores3.core.commitStats0.committedControl::IsCondControl 120308198 # Class of control type instructions committed (Count) +board.processor.cores3.core.commitStats0.committedControl::IsUncondControl 46213917 # Class of control type instructions committed (Count) +board.processor.cores3.core.commitStats0.committedControl::IsCall 15463541 # Class of control type instructions committed (Count) +board.processor.cores3.core.commitStats0.committedControl::IsReturn 15357875 # Class of control type instructions committed (Count) +board.processor.cores3.core.exec_context.thread_0.numMatAluAccesses 0 # Number of matrix alu accesses (Count) +board.processor.cores3.core.exec_context.thread_0.numCallsReturns 30821416 # Number of times a function call or return occured (Count) +board.processor.cores3.core.exec_context.thread_0.numMatInsts 0 # Number of matrix instructions (Count) +board.processor.cores3.core.exec_context.thread_0.numIdleCycles 8795961341.508196 # Number of idle cycles (Cycle) +board.processor.cores3.core.exec_context.thread_0.numBusyCycles 2840556806.491804 # Number of busy cycles (Cycle) +board.processor.cores3.core.exec_context.thread_0.notIdleFraction 0.244107 # Percentage of non-idle cycles (Ratio) +board.processor.cores3.core.exec_context.thread_0.idleFraction 0.755893 # Percentage of idle cycles (Ratio) +board.processor.cores3.core.executeStats0.numInsts 0 # Number of executed instructions (Count) +board.processor.cores3.core.executeStats0.numNop 0 # Number of nop insts executed (Count) +board.processor.cores3.core.executeStats0.numBranches 0 # Number of branches executed (Count) +board.processor.cores3.core.executeStats0.numLoadInsts 0 # Number of load instructions executed (Count) +board.processor.cores3.core.executeStats0.numStoreInsts 259136309 # Number of stores executed (Count) +board.processor.cores3.core.executeStats0.instRate 0 # Inst execution rate ((Count/Cycle)) +board.processor.cores3.core.executeStats0.numFpAluAccesses 17968746 # Number of float alu accesses (Count) +board.processor.cores3.core.executeStats0.numFpRegReads 27007818 # Number of times the floating registers were read (Count) +board.processor.cores3.core.executeStats0.numFpRegWrites 13323556 # Number of times the floating registers were written (Count) +board.processor.cores3.core.executeStats0.numIntAluAccesses 1226402839 # Number of integer alu accesses (Count) +board.processor.cores3.core.executeStats0.numIntRegReads 1628979607 # Number of times the integer registers were read (Count) +board.processor.cores3.core.executeStats0.numIntRegWrites 891471481 # Number of times the integer registers were written (Count) +board.processor.cores3.core.executeStats0.numMemRefs 259136309 # Number of memory refs (Count) +board.processor.cores3.core.executeStats0.numMiscRegReads 536006322 # Number of times the Misc registers were read (Count) +board.processor.cores3.core.executeStats0.numMiscRegWrites 1692814 # Number of times the Misc registers were written (Count) +board.processor.cores3.core.executeStats0.numVecAluAccesses 0 # Number of vector alu accesses (Count) +board.processor.cores3.core.executeStats0.numDiscardedOps 0 # Number of ops (including micro ops) which were discarded before commit (Count) +board.processor.cores3.core.fetchStats0.numInsts 582608178 # Number of instructions fetched (thread level) (Count) +board.processor.cores3.core.fetchStats0.numOps 1287073955 # Number of ops (including micro ops) fetched (thread level) (Count) +board.processor.cores3.core.fetchStats0.fetchRate 0.050067 # Number of inst fetches per cycle ((Count/Cycle)) +board.processor.cores3.core.fetchStats0.numBranches 166565925 # Number of branches fetched (Count) +board.processor.cores3.core.fetchStats0.branchRate 0.014314 # Number of branch fetches per cycle (Ratio) +board.processor.cores3.core.fetchStats0.numFetchSuspends 0 # Number of times Execute suspended instruction fetching (Count) +board.processor.cores3.core.interrupts.clk_domain.clock 5328 # Clock period in ticks (Tick) +board.processor.cores3.core.mmu.dtb.rdAccesses 150331380 # TLB accesses on read requests (Count) +board.processor.cores3.core.mmu.dtb.wrAccesses 109726310 # TLB accesses on write requests (Count) +board.processor.cores3.core.mmu.dtb.rdMisses 804045 # TLB misses on read requests (Count) +board.processor.cores3.core.mmu.dtb.wrMisses 51346 # TLB misses on write requests (Count) +board.processor.cores3.core.mmu.dtb.walker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores3.core.mmu.itb.rdAccesses 0 # TLB accesses on read requests (Count) +board.processor.cores3.core.mmu.itb.wrAccesses 762504442 # TLB accesses on write requests (Count) +board.processor.cores3.core.mmu.itb.rdMisses 0 # TLB misses on read requests (Count) +board.processor.cores3.core.mmu.itb.wrMisses 170529 # TLB misses on write requests (Count) +board.processor.cores3.core.mmu.itb.walker.power_state.pwrStateResidencyTicks::UNDEFINED 3875651290180 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores3.core.power_state.numTransitions 5403 # Number of power state transitions (Count) +board.processor.cores3.core.power_state.ticksClkGated::samples 2702 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores3.core.power_state.ticksClkGated::mean 832377540.971503 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores3.core.power_state.ticksClkGated::stdev 605686576.751841 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores3.core.power_state.ticksClkGated::1000-5e+10 2702 100.00% 100.00% # Distribution of time spent in the clock gated state (Tick) +board.processor.cores3.core.power_state.ticksClkGated::min_value 8326 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores3.core.power_state.ticksClkGated::max_value 26640389944 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores3.core.power_state.ticksClkGated::total 2702 # Distribution of time spent in the clock gated state (Tick) +board.processor.cores3.core.power_state.pwrStateResidencyTicks::ON 1626567174475 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores3.core.power_state.pwrStateResidencyTicks::CLK_GATED 2249084115705 # Cumulative time (in ticks) in various power states (Tick) +board.processor.cores3.core.thread_0.numInsts 0 # Number of Instructions committed (Count) +board.processor.cores3.core.thread_0.numOps 0 # Number of Ops committed (Count) +board.processor.cores3.core.thread_0.numMemRefs 0 # Number of Memory References (Count) +board.workload.inst.arm 0 # number of arm instructions executed (Count) +board.workload.inst.quiesce 0 # number of quiesce instructions executed (Count) + +---------- End Simulation Statistics ---------- diff --git a/m5out/system.realview.uart1.device b/m5out/system.realview.uart1.device new file mode 100644 index 0000000..e69de29 diff --git a/m5out/system.realview.uart2.device b/m5out/system.realview.uart2.device new file mode 100644 index 0000000..e69de29 diff --git a/m5out/system.realview.uart3.device b/m5out/system.realview.uart3.device new file mode 100644 index 0000000..e69de29 diff --git a/m5out/system.terminal b/m5out/system.terminal new file mode 100644 index 0000000..e69de29 diff --git a/test_hello b/test_hello new file mode 100755 index 0000000000000000000000000000000000000000..f5347b7456fbee757699d7e2ba5c783a38617444 GIT binary patch literal 423624 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%0A~i^Oa`3Ee*)*#JK#jw{cvJ_T`KzD!g=iu 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

    Lf$Hh5atv4yXEC>D#W|J(h`$!tVa=M$qy!vC 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≺zK< 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

    LU^S^o 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%0A~i^Oa`3Ee*)*#JK#jw{cvJ_T`KzD!g=iu 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

    Lf$Hh5atv4yXEC>D#W|J(h`$!tVa=M$qy!vC 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≺zK< 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

    LU^S^o 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