motorola mc14500 - VitaSound/4th GitHub Wiki
MC14500 - Motorola
The MC14500 was a family of 1-bit task-oriented microprocessor chipsets designed by Motorola in the late 1970s intended to replace older relay-based ladder logic as a cheap programmable logic controller. Production continued well into the 1990s.
Overview
MC14500, Industrial Control Unit (ICU), was a very simple, small-scale integration (SSI), 1-bit microprocessor designed by Motorola. Intended to serve as a very simple programmable logic controller and replace and simplify older machinery, the MC14500 cheap price and ease of many uses allowed it to be sold and used in many additional areas. Maximum flexibility was offered by the chip as a result of having no provisions for instruction or data addressing, leaving it to the system designers.
The MC14500 was also very easy to manufacture. During the early 1980s the chip ease of manufacturability was the reason it entered mass production in a number of large facilities in China (e.g., Shanghai Radio Factory 14)
Members
Part | Description |
---|---|
MC14500B | Microprocessor |
MCM7641 | Program Counter |
MC14099 | |
MC14512 | |
MC14599 | |
MC14168 | EPROM |
Architecture
The MC14500B is a true 1-bit microprocessor - all operations are done on single-bit operands. The MC14500B comes with an internal clock that may be controlled via an external resistor. While designed to run at 1 MHz, it may be tuned down to 10 KHz or hooked up to an external clock altogether.
The MC14500B does not include any on-chip memory nor a program counter. A program counter is not provided because this MPU has no notion of memory at all, and by extension no notion of addresses. It implements an early Harvard architecture type of flow where separate instruction lines and data lines are fed to it. Individual instructions and values are fed in each clock cycle and the result can be read via a number of output lines. Typically a PROM chip such as the MCM7641 and PC such as the MC145168 were used to form a complete system. Because this was done externally, in theory at least, this MPU can support any amount of memory needed.
The MC14500B has a number of output lines to help facilitate subroutine returns, branching, conditional, and general purpose I/O. However since there are no built-in support for memory or addressing, they have to be dealt with externally, possibly with some glue chips.
ISA
Main article: MC14500 ISA
The MC14500B has a single register (the result register) and supports 16 different operations.
Documents
Motorola MC14500B Industial Control Unit Handbook
See also
References
Yubiao, He. Current situation of the development and manufacture of vary large scale integrated devices in China. No. FTD-ID (RS) T-0256-88. FOREIGN TECHNOLOGY DIV WRIGHT-PATTERSON AFB OH, 1988.
Links
http://www.brouhaha.com/~eric/retrocomputing/motorola/mc14500b/
https://unimplementedtrap.com/mc14500b-1-bit-computer
https://github.com/nicolacimmino/PLC-14500
https://www.heinpragt.nl/?p=2749
https://www.heinpragt.nl/?p=2751
https://en.wikipedia.org/wiki/Motorola_MC14500B
https://forum.vcfed.org/index.php?threads/1-yes-one-bit-computer-mc14500b.5371/
https://hackaday.io/project/181025-reimplementing-a-1-bit-cpu
https://hackaday.com/tag/mc14500/
https://dzen.ru/a/ZXgCtRBKNQC6xzVP
https://www.youtube.com/watch?v=3nwmBgD09t8
GAL http://www.nedopc.org/forum/viewtopic.php?t=9951
https://github.com/dvarkin-ru/GAL14500
https://hackaday.io/project/176846-gal14500