summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2022-11-17 00:08:58 -0500
committerTest_User <hax@andrewyu.org>2022-11-17 00:08:58 -0500
commitc98515e7bcede03bc9334e060f6386ef1e653801 (patch)
treeaffa8f1fcf3dcc9df79099ed0e1eefda4a09e5f8
parentb353a1f88da821e80183f613bc8179b1d0b2fdf9 (diff)
downloadspecification-c98515e7bcede03bc9334e060f6386ef1e653801.tar.gz
specification-c98515e7bcede03bc9334e060f6386ef1e653801.zip
More VLIW format ideas
-rw-r--r--cpu/instructions/overview.txt20
1 files changed, 19 insertions, 1 deletions
diff --git a/cpu/instructions/overview.txt b/cpu/instructions/overview.txt
index 9708e27..3cfe266 100644
--- a/cpu/instructions/overview.txt
+++ b/cpu/instructions/overview.txt
@@ -15,10 +15,11 @@ Dynamic VLIW
A)
effects:
uses space efficiently when using many repetitions of the same opcodes
+ allows reuse of immediate references
easier for the CPU to parse
requires all parameter lengths to be the same within the opcode
- wastes space when few repetitions of the same opcode exists
+ wastes space when few repetitions of the same opcode exists and immediate references are rarely reused
format:
num_opcodes
@@ -44,6 +45,23 @@ Dynamic VLIW
parameters
immediate references
+ C)
+ effects:
+ allows variable length parameters
+ allows reuse of immediate references
+
+ harder for the CPU to parse
+ larger if immediate references are not reused
+
+ format:
+ size_of_instructions
+ for each instruction:
+ opcode
+ parameters
+ size_of_immediate_references
+ for each:
+ value
+
A minimum of <n> instructions must be accepted by all CPUs
TODO: define n
Specific implementations may accept more, up to the maximum specifiable by the format