Wednesday, March 23, 2016

Finally the answer I've been seeking

Day 51

     Finally I think I've hit on what I've been missing for the overall function of this machine. That is the good news, the bad news is it's the part even professor Porter says figure it out for yourself  on with no real parachute. Oddly enough this fills me with excitement rather then dread.

     The finite state machine feeds into the combinational logic which is what decodes the instruction from the memory to the necessary control lines and timing instructions to preform the proper sequences in order. This may be a limiting factor while I wrap my head around this but in the day or so I have been working through it I am already seeing how it will work and what it may require for the more advanced designs I'd like to include in my design. Essentially each instruction you want to include has to have it's own physical decoding this is straightforward enough but the trouble comes in with the added function codes I would like to add it may require an upgrade to a 16 bit instruction system.

      This genuinely is the break I have been searching for years for the single key my little mind has refused to understand to break the barrier between what you want to do and what the how the computer determines what steps to take to accomplish that goal. It is also 1 of the primary missions of this project to truly grasp how we went from instructions to execution in a computer I am beyond excited about what this means and cannot wait to study this further. I will need several days to process what this means for this project in particular but I can see from here that it will make things fall into place much better I am already grasping the function of the finite state machine and all of its ancillary components much more fully now.

     The instruction calls are based on 8 bit instructions that for obvious reasons cannot repeat. they are called in the order they were indexed based on a 16 bit memory address this address is usually incremented to the next instruction but there are several instructions which will either temporarily or permanently jump to a completely different instruction address. This system is overall nearly identical to the machine language of modern computers with some differences in execution. These 8 bit instructions are the limit to the bus size for my redesign the positive here is if I include the constant function separately like I want to then this will open up several new instruction sets as there is an instant instruction which is the same as a constant but instead of having the constant loaded from a register or switches it is loaded in as 5 bits of the instruction. The design of this instruction set will require quite a bit of work, checking and re checking to make sure there are no duplicates.  If all else fails then I will have to move to a 16 bit data bus and expand the whole computer or rework the intire instruction system. Neither is out of the question though fully re working the instruction system would likely be much cheaper though not very fast as I would be starting from scratch in this lesser understood area with professor Porter's original design as only a road map. My mind is saying it may be cleaner and easier to build the instruction set up to a larger number of bits that will allow for not only a more robust instruction set but a slightly cleaner execution though only fiddling with this idea would be able to tell if it could lead to fewer physical components in the build.

     I have also made a  decision on the physical layout of my computer. The various sub assemblies will be housed similarly to the clock circuit. On their own boards or plexi inserts just like professor porters system but each module will plug into the backing plane with a physical connector which will allow for easy removal and repair of faulty modules. Though I do not foresee this having a high degree of usage I would still like to think of the poor servicing guy (me) when something does inevitably break or blow smoke on me. These modules will be attached to their faceplates and the faceplates will be cut to fit the area allotted them in the cabinet.

     This is a short update because of these revelations but Saturday will be jam packed with information I am sure of that. I won't venture what direction I'm going to end up chasing this in yet. But we shall see then.

No comments:

Post a Comment