aboutsummaryrefslogtreecommitdiff
path: root/arch/salis-v1/arch_vars.py
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2025-11-25 03:20:16 +0100
committerPaul Oliver <contact@pauloliver.dev>2025-11-25 03:20:22 +0100
commitfcf5746e8defdacba2284581a6521f72096891c5 (patch)
treec4403553aa627fc890cfc1b072bea8a471e157e0 /arch/salis-v1/arch_vars.py
parenta86ef805982aac5f7de5b5f01b3f6de90dd1030d (diff)
Aggregates data on organisms IO activity
Diffstat (limited to 'arch/salis-v1/arch_vars.py')
-rw-r--r--arch/salis-v1/arch_vars.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/arch/salis-v1/arch_vars.py b/arch/salis-v1/arch_vars.py
index 07301c3..f469ad6 100644
--- a/arch/salis-v1/arch_vars.py
+++ b/arch/salis-v1/arch_vars.py
@@ -1,6 +1,12 @@
-core_fields = []
-mvec_loop = False
+mvec_loop = False
+# Organisms consist of:
+# - instruction pointer
+# - seeker pointer
+# - main memory block
+# - child memory block
+# - 4 registers
+# - 8 value stack
proc_fields = [
("uint64_t", "ip"),
("uint64_t", "sp"),
@@ -22,7 +28,7 @@ proc_fields = [
("uint64_t", "s7"),
]
-# salis-v1 instruction set
+# Salis-v1 instruction set
inst_set = [
(["noop"], " "),
(["nop0"], "0"),
@@ -96,3 +102,18 @@ inst_set = [
(["loko"], "O"),
(["lokp"], "P"),
]
+
+inst_count = len(inst_set)
+
+# Extra fields used exclusively for data aggregation
+core_fields = [
+ ("uint64_t", f"iexe[{inst_count}]"),
+ ("uint64_t", f"iwrt[{inst_count}]"),
+ ("uint64_t", "emb0"),
+ ("uint64_t", "emb1"),
+ ("uint64_t", "eliv"),
+ ("uint64_t", "edea"),
+ ("uint64_t", "wmb0"),
+ ("uint64_t", "wmb1"),
+ ("uint64_t", "wdea"),
+]