Open lastmjs opened 6 years ago
@electrovir Let's figure this out before we do anything else
Looks like we are both agreed on an OPCODE step and a PARAMETERS step
Assume we have the following registers (this may or may not change). Also assume we have external memory.
Naming on the last two registers is open for possible debate.
AFAIK we can't optimize out the MDR or the MAR because they are part of the general model for memory, which we want to interface with.
Each numbered item is a clock cycle (bullets do not represent a clock cycle, just groupings of cycles or control explanations).
The Parameters instruction will always take place after the Opcode instruction (right?), thus loading the MAR can be executed at the end of the Opcode instruction.
The contents of the Compute instruction will vary based on the current operation, which is determined by the loaded opcode. The Result instruction (number 4) you included @lastmjs will be part of a given operations's clock cycles. (Not all operations have a result.)
The following two words are interchangeable within this context, so I want to solidify how I'm using them:
Very rough schematics for what we worked through.
Let's determine this right now before we go much further. Here's my initial idea: