Fully 10 years before Western Digital released their first hard drive, they made processors, calculator chips, Floppy Disk controllers and a host of other IC’s. Western Digital began in 1970 making primarily calculator chips. In 1976 they announced the multi-chip MCP-1600 processor. This was an implementation of the PDP-11 minicomputer in silicon. It consisted of a CP1611 Register/ALU chip, a CP1621 control chip and either 2 or 4 CP1631 512x 22bit MICROMs that contained the microcode implementation of the PDP-11 architecture. Physically this was an 8-bit design, but clever microcode programming allowed it to function as a 16-bit processor. Use of microcode allowed it to also implement floating point support, a very new concept in hardware in 1976. The MCP-1600 was used in DECs LSI-11 microcomputer among others.
Having the microcode separate from the ALU/Control didn’t help with board layout or cost, but it did provide a very flexible platform to implement other architectures on. In the late 1970s UCSD (University of California in San Diego) was working on a project, led by Kenneth Bowles, to make a portable version of the Pascal programming language, a version that could run on multiple hardware platforms, very similar to how Java has become today. The code was compiled to a ‘p-code’ or pseudo code that could them be executed by a virtual machine onto whatever hardware. Typically this virtual machine would be implemented in software, however the design of the MCP-1600 was such that it could be implemented in hardware, or rather microcode. Thus in 1978, the WDC MICROENGINE was born. This was to be a 5 chip set (original documentation states 4, but it ended up being 5) that consisted of the CP2151 Data chip (if you have a CP2151 you would like to donate, let us know) , the CP2161 Control chip, and 3 512 x 22 bit MICROMs which contained the microcode to directly execute UCSD Pascal on the data chip. The CP2151 was no different from the CP1611 of the MCP-1600 chipset and could be interchanged.
The difference was in the CP2161 control chip and of course the MICROMs. Though the CP2151 contained multiple registers, the Pascal implementation was a stack machine, it didn’t work as a register computer, but as a pure stack machine, much like the FORTH processors by Novix later on. WD named the chipset the WD/9000 and created a separate company (MICROENGINE Corporation) to market it.
The WD/9000 chipset ran at 3.3MHz and was made on a NMOS process. It required a 4-phase clock and 4 voltage supplies (+/- 5V and +/- 12V). At the time there were plenty of single supply processors so this further complicated its marketing. (not to mention board design). It was available in either an ‘A’ (ceramic) or ‘B’ plastic package.
The initial product was the WD/900 single board computer based on the WD/9000 chipset, which could execute Pascal code 10 times faster than most other systems, when it worked. Unfortunately the board design and quality was terrible, leading to very unreliable hardware. Not something that inspires users who had just spent $2995 on the board, or $5000 for a complete WD/90 system. Eventually the quality problems were sorted out and the MICROENGINE went on to some success, though mostly as a development platform for Pascal. As Pascal versions changed, so did the MICROMs, a user could upgrade their Pascal support by replacing the MICROMs in their system. Since the implementation was structured well, not all upgrades required all 3 MICROMs to be replaced. Known 3 chip sets are:
- 10/12/13 Earliest release
- 14/15/18 (Needed to run Pascal III.0 rH0)
Ultimately Pascal was pushed by the side as as a programming language which sealed the fate of the MICROENGINE. By 1983 WDC no longer advertised it, instead contentrating on their now rapidly increasing portfolio of other products. The concept of a hardware implementation of a programming language was not lost however. There are still many processors that directly process FORTH code, Java code, and even some C code.