this is a small microprocessor I made, mostly for entertainment, but also to teach myself how computers actually work inside. Everything is pretty much made from scrap and I didn't use any tutorials, so it will very likely not follow any common standarts.
Any instructios must have following arguments: -modifiers (use A and B as values rather than addresses, use carry-bit, instruction returns a value) (4 bit) -instruction (4 bit) -A (value or pointer) (8 bit) -B (value or pointer) (8 bit) -C (pointer) (8 bit)
so every intruction has to look like this: add 2 $5 3 --> add 5 to the value in 2 and store it in 3
Everytime an instruction is processed, it is processed in the following steps: -load value at location A into Buffer -repeat with B -if the instruction returns a value: -process values at A & B -store them at C -if the instruction does not return a value: -determine if conditions are met and set in
Details
(sorry, hackaday projects lowered their maximum description length and a big part of it got cut away)
This is just sooo cool, mostly because I did this too (also "for entertainment", "from scrap" , without "any tutorials", no "common standarts") and our circuits seem to work _very_ similar :D
Our instruction-layout is nearly the same (5Bit instruction + 3Bit modifiers here, the rest is exactly the same). How much clock cycles is one instruction cycle? 6/7? (5 for me, but I just realized mine lacks carry-bits^^) Do you have a stack (can't find one)? (I don't have one either, but I want one... seems quite hard to build though). Do you have an assembler? Changing your program-example to "add a2 l5 a3" (a_ddress, l_iteral) makes it work with my assembler/cpu :-D
It'd be super awesome if you could publish the files for a small comparison :)
Wow have you studied programming or computer engineering? (either at college or outside of it) No matter what, pretty impressive. When I have more time I might have to take a deeper look at it, see what you did. :>
My question is how did you stand logisim for that long? I drew up most of the "elements of computing systems" computer only to start running into bugs where wires weren't lighting up correctly and neither was anything they were connected to.
I didn't look too closely at your design but I am impressed by your awesomeness. Did you use any books to help with your design?
I also ran into quite some problems, especially timing. I also made use of some mechanics that weren't directly intended to work, like using buffers as sub-frame delay lines, or a combination of and and not to create a sub-frame pulse for clock inputs.
I didn't use any books or tutorials except for some introduction videos ~3 years ago
where is the file .