aboutsummaryrefslogtreecommitdiff
path: root/arch/v1/arch_vars.py
diff options
context:
space:
mode:
Diffstat (limited to 'arch/v1/arch_vars.py')
-rw-r--r--arch/v1/arch_vars.py77
1 files changed, 13 insertions, 64 deletions
diff --git a/arch/v1/arch_vars.py b/arch/v1/arch_vars.py
index 9605f85..af30650 100644
--- a/arch/v1/arch_vars.py
+++ b/arch/v1/arch_vars.py
@@ -1,24 +1,34 @@
class ArchVars:
def __init__(self, args):
+ self.core_data_fields = [
+ ("uint64_t", "ipop", f"[{len(self.inst_set)}]"), # instruction population counter
+ ("uint64_t", "iexe", f"[{len(self.inst_set)}]"), # instruction execution counter
+ ("uint64_t", "iwrt", f"[{len(self.inst_set)}]"), # instruction write counter
+
+ ("uint64_t", "wmb0", ""), # writes within mb0 counter
+ ("uint64_t", "wmb1", ""), # writes within mb1 counter
+ ("uint64_t", "wdea", ""), # writes within dead code counter
+
+ ("uint64_t", "weva", f"[{2 ** args.mvec_pow}]"), # write events array
+ ("uint64_t", "xeva", f"[{2 ** args.mvec_pow}]"), # memory block swap events array
+ ]
+ self.core_fields = []
self.inst_set = [
(["noop"], " "),
(["nop0"], "0"),
(["nop1"], "1"),
(["nop2"], "2"),
(["nop3"], "3"),
-
(["jmpb"], "("),
(["jmpf"], ")"),
(["adrb"], "["),
(["adrf"], "]"),
(["ifnz"], "?"),
-
(["allb"], "{"),
(["allf"], "}"),
(["bswp"], "%"),
(["bclr"], "|"),
(["splt"], "$"),
-
(["addn"], "+"),
(["subn"], "-"),
(["muln"], "*"),
@@ -30,15 +40,12 @@ class ArchVars:
(["shfr"], ">"),
(["zero"], "z"),
(["unit"], "u"),
-
(["pshn"], "#"),
(["popn"], "~"),
-
(["load"], "."),
(["wrte"], ":"),
(["dupl"], "="),
(["swap"], "x"),
-
(["keya"], "a"),
(["keyb"], "b"),
(["keyc"], "c"),
@@ -55,7 +62,6 @@ class ArchVars:
(["keyn"], "n"),
(["keyo"], "o"),
(["keyp"], "p"),
-
(["loka"], "A"),
(["lokb"], "B"),
(["lokc"], "C"),
@@ -73,23 +79,7 @@ class ArchVars:
(["loko"], "O"),
(["lokp"], "P"),
]
-
- self.core_fields = []
- self.core_data_fields = [
- ("uint64_t", "ipop", f"[{len(self.inst_set)}]"), # instruction population counter
- ("uint64_t", "iexe", f"[{len(self.inst_set)}]"), # instruction execution counter
- ("uint64_t", "iwrt", f"[{len(self.inst_set)}]"), # instruction write counter
-
- ("uint64_t", "wmb0", ""), # writes within mb0 counter
- ("uint64_t", "wmb1", ""), # writes within mb1 counter
- ("uint64_t", "wdea", ""), # writes within dead code counter
-
- ("uint64_t", "weva", f"[{2 ** args.mvec_pow}]"), # write events array
- ("uint64_t", "xeva", f"[{2 ** args.mvec_pow}]"), # memory block swap events array
- ]
-
self.mvec_loop = False
-
self.proc_fields = [
("uint64_t", "ip"),
("uint64_t", "sp"),
@@ -110,44 +100,3 @@ class ArchVars:
("uint64_t", "s6"),
("uint64_t", "s7"),
]
-
- self.plots = {
- "General": {
- "wevs": {
- "table": "arch",
- "type": "lines",
- "cols": [f"{pref}_{i}" for pref in ["wmb0", "wmb1", "wdea"] for i in range(args.cores)],
- },
- },
- "Instructions": {
- f"ipop_{i}": {
- "table": f"pop_{i}",
- "type": "stack",
- "cols": ["_".join(inst[0]) for inst in self.inst_set],
- } for i in range(args.cores)
- } | {
- f"iexe%_{i}": {
- "table": f"exe_{i}",
- "type": "stack_percent",
- "cols": ["_".join(inst[0]) for inst in self.inst_set],
- } for i in range(args.cores)
- } | {
- f"iwrt%_{i}": {
- "table": f"wrt_{i}",
- "type": "stack_percent",
- "cols": ["_".join(inst[0]) for inst in self.inst_set],
- } for i in range(args.cores)
- },
- }
-
- self.heatmaps = {
- "Events": {
- f"wev_{i}": {
- "table": f"wev_{i}",
- } for i in range(args.cores)
- } | {
- f"xev_{i}": {
- "table": f"xev_{i}",
- } for i in range(args.cores)
- },
- }