aboutsummaryrefslogtreecommitdiff
path: root/arch/salis-v1/arch_vars.py
diff options
context:
space:
mode:
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"),
+]