4 ms·
Thanks, this clears up some of the strange wonderment with the Intel 4004. For example, I never knew what the "status characters" in the data RAM chips were for
by anyfoo 9y ago
Thanks, this clears up some of the strange wonderment with the Intel 4004. For example, I never knew what the "status characters" in the data RAM chips were for. This manual suggests to use them to store sign and exponent, or program RAM addresses. They seem to be general purpose, though.
Note that there is separate "program RAM" and "data RAM", the latter having a more complicated structure with the aforementioned status characters. It's surprisingly complicated to address any RAM on the 4004, with both types of RAM having separate quirks for doing so.
There are also plenty of other oddities, like I/O ports on both RAM and ROM chips, dedicated instructions for e.g. "keyboard processing" but no AND or OR instruction (with horrifyingly long examples on how to implement them in this document), and some instruction names for seemingly straightforward things that are completely unintuitive.
It's well worth exploring.
- userbinator 9y agoThe 4004 is often described as the world's first microprocessor, but it has more in common with contemporary microcontrollers --- programmable, yet not really general-purpose. The Von Neumann architecture and specialised instructions are examples of this.
- wfraser 9y agoYou mean Harvard architecture?
- ahoka 9y ago"There are also plenty of other oddities, like I/O ports on both RAM and ROM chips, dedicated instructions for e.g. "keyboard processing" but no AND or OR instruction" It makes sense, AFAIK it was designed for calculators.