Forums - Open Redstone Engineers

Full Version: Another computer *Sigh* BUT THERE'S MORE!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello everyone,

Today, i've finished my computer. Its 8 bit, has 31 bits of RAM and 31 bits of ROM, 7 Registers, and it's alu is based on instacarry. I've used the TWAC instruction set (Tweaked Wordset for Automated Cpu's), made by Twan (Twan = EDevil :/) <- See what i just did there Big Grin

Anyway, pictures are down below, but the computer isn't ready yet. I still need to do debugging and fix some timing etc. So question to the big guys (Yes, i'm looking at the guys who already made some pretty successful & great machines): Are there any good tips / tricks involved with debugging? Whats the best strategy, best way to determinate the clock speed etc. I've done this before, but not on this scale, so im kinda looking for the best way to go. Thanks!

Ow yea, pics. Almost forgotten
[Image: tq7.png]
The global clock speed would be the time it takes to perform the slowest instruction, so you need to take a look at what components the data is travelling through in each instruction. Typically the slowest instruction would be one that uses an operand from main memory, here is a breakdown of how you can add the ticks to find out how long it takes; Main Memory is addressed and data is sent to CPU (add X ticks), Data goes through ALU (add X ticks if your ALU has input inverters or output inverters, add X ticks to perform the logical/arithmetic operation, add X ticks if your ALU uses a multiplexer to differentiate logical and arithmetic operations, etc.), Data is stored in CPU's General Register or Main Memory (add X ticks for the RAM to store the information). That is typically one of the longest instructions to execute, but it could be different in your computer, so you should check any semi-complex instructions like that. Of course, if you are utilizing some kind of pipelining, then the above doesn't really apply. So in summary, I'm not an expert but that's how I understand it. (Hope it helps)
Thanks for your reply! Personally, i'm thinking that storing my data in RAM will be my slowest operation. Not because my RAM is slow or anything, but due to my idiotic busing there are like 5 repeaters on the decoder wires, then they'll need to go in a 5 bit decoder, so yea :/
There are instant decoders and instant repeaters that you could use for the bussing. I can link a thread for a nearly instant decoder if you need.
Yey! Fancy! Tell me when you program it! /me wants to seeeeeee
Soooo, any chance we could get some more details about the components? Big Grin
I'm just wondering about the functionality, do you have that instruction set finished yet? I'd love to see it when you get the chance!
Great stuff Big Grin