Forums - Open Redstone Engineers
Very Compacted Instruction Set Design ! - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: ORE General (https://forum.openredstone.org/forum-39.html)
+--- Forum: Projects & Inventions (https://forum.openredstone.org/forum-19.html)
+---- Forum: In Progress (https://forum.openredstone.org/forum-20.html)
+---- Thread: Very Compacted Instruction Set Design ! (/thread-809.html)



Very Compacted Instruction Set Design ! - WrytXander - 08-23-2013

Boys and girls, ladies and gentleman, it is here :p No i am just kiddin, I was working on this IS for a long time, and now it has finished! It is an 8 bit IS, but by making it compact there were some drawbacks occuring, without further i do, lets get straight on with this bad boy!:

#Operations#

Code / Name / Function

0000 ADD rc=rb+ra
0001 ADDi rc=rb+Imm
0010 SUBi rc=rb-Imm
0011 LU1 ra<-UI1
0100 LU2 rb<-UI1
0101 LU3 ra<-UI2
0110 LU4 rb<-UI2
0111 Lr1 ra<-GPR
1000 Lr2 rb<-GPR
1001 Li1 ra<-Imm
1010 Li2 rb<-Imm
1011 OUT UI3<-GPR
1100 JMPi PC<-Imm
1101 JEG PC<-Imm if ra == rb
1110 JOF PC<-Imm if overflow
1111 SAM Screen Addressing Mode


As you can see, this is one of those step-by-step execution IS. The advantege: super compact, the disadvantage: somewhat slow, and not so powerful. The bitlayout is as follows:

(0000)(0000)
^ ^
OP Imm

Now lets talk about SAM, or screen addressing mode. The screen takes whatever is in the GPR, and prints out a binary image on the horizontal line addresses by the Immediate.

So of the GPR contains 1011, and we have selected line 2 (screen is 4x4) the screen would look like this:

O O O O
O O O O
X O X X
O O O O

System registers: ra and rb are ALU inputs, GPR is where the output of each cycle is stored (yeah i know it is not a general purpose register, but couldnt comeup with a better name, rc is not very pleasent) UI1 & UI2 are user input registers, UI3 is the output register. The data type could vary on how youhave your output setup. It coild display BCD, or decimal , it is up to your choice and your decoders. PC stores the binary value of the line that the instructions are being executed at the meantime.

And thats it!! Btw, i did all this on my all might iPhone 3GS, so,.. yeah I have lots of free time. Lalalala