I need to learn about accumulator machines, but there is next to nothing written about them. Computer architecture channels seem to be flooded with general-purpose register ISAs (like MIPS, x86, etc).
I know that accumulator machines only have one register (called the Accumulator Register) that is implicit and not specified in any of the operations. In general, an instruction for an accumulator architecture is supposed to look something like: add memaddress
.
However, I need to get more specfic. I need to know exactly how many bits are in the various instruction fields (i.e. opcode) for an instruction of an accumulator machine.
I have the following accumulator machine:
- $2^{24}$ words of memory (words are 32-bits wide)
- Fixed format instruction (but how many bits??)
- A 32-bit accumulator register
- An index register X
- Index addressing mode: address field + X when indexing is indicated in the instruction
- Capable of performing a total of 128 operations
The last bullet tells me that the opcode of an instruction would be 7 bits since $2^{7}=128$.
What would the instruction format be for a load/store instruction vs. an arithmetic instruction like add
? It would help greatly if I knew how many bits the fixed format instruction should be.