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 |