10-26-2013, 01:31 AM
DAH PICTUREZ: http://imgur.com/a/PYiHx
I recently turned this ALU into a full CPU however its not very functional as I was designing it while I was building it so some things didn't turn out the way I wanted them to be
Its 8-bit but my adders I used (ICA) for some reason didn't Cout when a number was negative so I am limited to numbers 127 thru -127.
It also doesn't have an IS, well I don't think it does, it has commands but, I have a fuzzy understanding of Instruction Sets. However all the GPR and ALU functions are encoded.
It has 3 registers, 2 are on the output of the ALU, and the other is interconnected to the main bus (well they all are). I can also write directly to the GPR from the registers by leaving them in write mode and reading at the same time -> writing to GPR at a certain address.
So thats, 3 bytes of register data, and for the GPR it contains 8 bytes, 2 bytes are mapped to the User Input for A and B of the ALU. So I can read from those places in memory and shove them into the inputs whenever.
The program memory is 56 bytes, 16 lines of code, line 0 being only accessible when you hold the reset high.
My first ALU combined with my first CPU, I know its no where near the best but atleast it works, even though there isn't much use for it.
I recently turned this ALU into a full CPU however its not very functional as I was designing it while I was building it so some things didn't turn out the way I wanted them to be
Its 8-bit but my adders I used (ICA) for some reason didn't Cout when a number was negative so I am limited to numbers 127 thru -127.
It also doesn't have an IS, well I don't think it does, it has commands but, I have a fuzzy understanding of Instruction Sets. However all the GPR and ALU functions are encoded.
It has 3 registers, 2 are on the output of the ALU, and the other is interconnected to the main bus (well they all are). I can also write directly to the GPR from the registers by leaving them in write mode and reading at the same time -> writing to GPR at a certain address.
So thats, 3 bytes of register data, and for the GPR it contains 8 bytes, 2 bytes are mapped to the User Input for A and B of the ALU. So I can read from those places in memory and shove them into the inputs whenever.
The program memory is 56 bytes, 16 lines of code, line 0 being only accessible when you hold the reset high.
My first ALU combined with my first CPU, I know its no where near the best but atleast it works, even though there isn't much use for it.