From ba263efb92ffba13212cf4ee6fd15b4339349fb3 Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Fri, 23 Sep 2022 09:02:59 -0700 Subject: Basic IPC stats support --- backend/regfile.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'backend') diff --git a/backend/regfile.h b/backend/regfile.h index 4cf328a..4ea2f31 100644 --- a/backend/regfile.h +++ b/backend/regfile.h @@ -4,6 +4,7 @@ #include "frontend/decode.h" #include "infra/port.h" +#include "infra/stat.h" #include "inst.h" #include "memory/dram.h" @@ -16,6 +17,8 @@ namespace backend { infra::port writebackp; infra::port *storep = nullptr; + infra::stat ipc{"ipc"}; + unsigned int generation_up = 0; unsigned int generation_down = 0; @@ -33,6 +36,7 @@ namespace backend { auto i = writebackp.read(); if (i.generation == generation_down) { pte(i.transaction, "W", fmt::format("writeback gen={} pc={:x}", generation_down, pc)); + ++ipc; assert(pc == i.init_pc); auto old_pc = pc; pc = i.linear_next_pc; -- cgit v1.2.3