3 ms·
> I’m curious how they handled ALU specific instructions if an ALU isn’t present. Does the decode stage just convert them to no-ops? There were no ALU specific
by pwg 6y ago
> I’m curious how they handled ALU specific instructions if an ALU isn’t present. Does the decode stage just convert them to no-ops?
There were no ALU specific instructions. The article brushes across how ALU operations were performed, but leaves the explanation for how to the reader to understand. The ALU would have been an I/O device (likely memory mapped I/O [1]) and ALU operations would have been performed by writing data out to the external ALU, waiting for the ALU gate delay, then reading the results back in from the external ALU (i.e., input/output operations):
> If you needed support for an ALU you could add one externally (likely with a pair of ‘181 series TTL). Even with an external ALU the Nanoprocessor was very fast.
[1] https://en.wikipedia.org/wiki/Memory-mapped_I/O https://en.wikipedia.org/wiki/Memory-mapped_I/O
- monocasa 6y agoYeah, you can see this spelled out more in the block diagrams. Kinda looks like the operands are aliased on the program memory ROM, but I'm not 100% on that.