m (→Architecture) |
|||
Line 33: | Line 33: | ||
The MC14500B is a true {{arch|1}} 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 is a true {{arch|1}} 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 {{motorola|MCM7641}} and PC such as the {{motorola|MC145168}} | + | 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 {{motorola|MCM7641}} and PC such as the {{motorola|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. How since there are no built-in support for memory or addressing, they have to be dealt with externally, possibly with some glue chips. | The MC14500B has a number of output lines to help facilitate [[subroutine]] returns, [[branching]], [[conditional]], and general purpose I/O. How since there are no built-in support for memory or addressing, they have to be dealt with externally, possibly with some glue chips. |
Revision as of 08:29, 21 January 2016
Template:mpu The Motorola MC14500B or Industrial Control Unit (ICU) is a 1-bit microprocessor designed by Motorola and released in 1976. Production continued well into the 1990s. The MC14500B was designed as an extremely low cost programmable logic controller suited for implementing various ladder logic circuits as replacement for older relay-based systems.
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. How since there are no built-in support for memory or addressing, they have to be dealt with externally, possibly with some glue chips.
Registers
The MC14500B has a single register: result register (RR) which always stores the value of the intimidate operation that has been performed. RR can be read directly from pin 15 at any time. RR is also always used as the
Instruction Set
Mnemonic | OPCode | Action |
---|---|---|
NOPO | 0x0 | RR → RR ; Flag O → 1 |
LD | 0x1 | Data → RR |
LDC | 0x2 | Data → RR |
AND | 0x3 | RR · Data → RR |
ANDC | 0x4 | RR · Data → RR |
OR | 0x5 | RR + Data → RR |
ORC | 0x6 | RR + Data → RR |
XNOR | 0x7 | If RR = Data, RR → 1 |
STO | 0x8 | RR → Data ; Write → 1 |
STOC | 0x9 | RR → Data ; Write → 1 |
IEN | 0xA | Data → IEN |
OEN | 0xB | Data → OEN |
JMP | 0xC | JMP Flag → 1 |
RTN | 0xD | RTN Flag → 1 |
SKZ | 0xE | Skip next instruction if RR = 0 |
NOPF | 0xF | RR → RR ; Flag F → 1 |
Documents
base frequency | 1 MHz (0.001 GHz, 1,000 kHz) + |
core voltage | 5 V (50 dV, 500 cV, 5,000 mV) + |
core voltage tolerance | 5 % + |
designer | Motorola + |
family | MC14500 + |
first announced | 1976 + |
first launched | 1976 + |
full page name | motorola/mc14500/mc14500b + |
instance of | microprocessor + |
ldate | 1976 + |
main image | + |
main image caption | 1-bit MC14500BCP + |
manufacturer | Motorola + |
market segment | Industrial + |
max case temperature | 398.15 K (125 °C, 257 °F, 716.67 °R) + |
max storage temperature | 423.15 K (150 °C, 302 °F, 761.67 °R) + |
min case temperature | 218.15 K (-55 °C, -67 °F, 392.67 °R) + |
min storage temperature | 208.15 K (-65 °C, -85 °F, 374.67 °R) + |
model number | MC14500B + |
name | Motorola MC14500B + |
part number | MC14500BCL +, MC14500BAL + and MC14500BCP + |
power dissipation | 0.5 W (500 mW, 6.705e-4 hp, 5.0e-4 kW) + |
technology | CMOS + |
word size | 1 bit (0.125 octets, 0.25 nibbles) + |