06-24-2015, 01:16 PM
(06-24-2015, 07:24 AM)VoltzLive Wrote: There's a lot more than Jump if negative wrong with your ISA.
There's so much redundancy in your op code you could handle with a 4-bit and a third operand.
You can compress:
branching into a single command with an operand as the branch predicate.
Indicator lights into a single command with an operand as which light
Stack into a single command with a flag bit, push/pop
And you can compress all of your Boolean maths into a single op
I completely agree. By trying to make the CPU have as much freedom as possible (the programmer can control any part of the CPU at any time using instructions) I have used what I call a deep RISC ISA. This means that the operands are fixed and cannot be changed. No matter what opcode you are using, you will always be able to read and write to and from registers as they are fixed in. On the plus side you have more control. On the down side it leads to bigger word lengths and as you point out above, multiple codes for 1 command. The HCP V3 will not used deep RISC, more functionality beats the freedom in this case.