The MC88100 is a microprocessor developed by Motorola that implemented 88000 RISC instruction set architecture. Announced in 1988, the MC88100 was the first 88000 implementation. It was succeeded by the MC88110 in the early 1990s.

Motorola MC88100 RISC CPU

The microprocessor has separate pipelined integer, floating-point add, floating-point multiply, and load/store execution units and dispatches a single instruction (at most) per clock cycle. The separate MC88200 integrated circuit optionally add level 1 cache and a paged memory management unit. An MC88100 system typically used two of these devices for instructions and data; additional MC88200s could be added to increase the size of the caches.

This partitioned scheme was chosen to provide system flexibility, the amount of cache could be varied depending on the price point. In practice, these additional chips required more space on the circuit board and the buses between the MC88200s and MC88100 added complexity and cost.

Motorola MC88100 die

The MC88100 contained 165,000 transistors and the MC88200 750,000 transistors. Both were fabricated by Motorola in its 1.5 μm complementary metal–oxide–semiconductor process.

The MC88100 was ultimately commercially unsuccessful.[citation needed] This was due to a number of reasons, including requirement of MC88200s in most cases[a], but was mostly due to Motorola being a vendor of the highly successful 68000 family. As the 68000 division viewed the 88000 as a competitor, they forced the MC88100 to be priced unacceptably high for a volume part.[citation needed] The part did find use in the high-end embedded market, in Motorola's own computers, and in large computers from companies such as Data General and the Unisys S-8400 Unix Servers.

Design

edit

Programming model and register set

edit

The programming model and register set of the MC88100 is remarkably similar to DLX (and by extension, RISC-V) based CPUs, with 32 General-purpose registers (31 writable) and 51 instructions capable of accessing any of the 32 general-purpose registers at any time.

Registers

edit
MC88100 Registers
General Purpose Registers
R0 Zero
(Read-only register that contains zero)
R1 Subroutine Return Pointer
0R2...R90 Called Procedure Parameter Registers
R10...R13 Called Procedure Temporary Registers
R14...R25 Called Procedure Reserved Registers
R26...R29 Linker (Registers intended for linking)
R30 Frame Pointer (Pointer to stack frame)
R31 Stack Pointer

The MC88100 is equipped with a total of 64 user-accessible registers, 32 of them being Control registers, and can access up to 6 registers (4 read, 2 write) simultaneously. The actual usage of GPR is not enforced by the processor for every register except R1, which is used as a return address.

Notes

edit
  1. ^ The 88200 adds a cache and a MMU. Typically a pair of 88200s is used to change the 88100's Harvard architecture (separate instruction and data memories) to a modified Harvard architecture (unified memory).[1] NCD used the 88100 on its own (without 88200s) in its 88K X-Terminals.

References

edit
  1. ^ MC881100 User's Manual, Figure 1-2 and §1.2.7.
  • Furber, Stephen Bo (1989). VLSI RISC Architecture and Organization. CRC Press. pp. 184–192.
  • Tabak, Daniel (1990). RISC Systems. Research Studies Press. pp. 121–143.
  • Tabak, Daniel (1995). Advanced Microprocessors (2 ed.). McGraw-Hill. pp. 433–434, 437. ISBN 9780070628434.
  • Motorola, Inc., ed. (1990). MC88100 RISC Microprocessor User's Manual (PDF) (2nd ed.). Prentice Hall. ISBN 013567090X. Retrieved 25 August 2023.