The first 32-bit CPU – National Semiconductor 32016
This is the first true 32-bit processor proposed for use in computers back in 1982. This processor was originally planned as a VAX-11 on a chip, but due to the impossibility to negotiate with DEC, National Semiconductor had to make the processor only separate details of which are similar to the VAX-11 architecture.
With this processor, the use of paged virtual memory begins – today it is the dominant technology. Though the virtual memory support is not built into the processor, it is available through a separate coprocessor. A separate coprocessor is also required for working with real numbers.
The instruction system of NS32016 is huge and similar to the VAX-11 instruction system, in particular, by the presence of a separate stack for sub-program frames. The address bus is 24-bit that allows to use up to 16 MB of memory. The distinguishing feature of 32016 is a bit unusual set of status flags. In addition to the standard flags of carry (which can be used as a flag for a conditional jump), overflow, sign, equality (or zero), there is also the L flag, which means less – this is a carry flag for comparisons only. The situation around carry flag is similar to that of the Motorola 68k processors. The overflow flag is for some reason called F. There are flags of step-by-step mode, privileged mode and (uniqueness!) flag of the current stack selection. When executing arithmetic instructions, the flags of the sign, zero, and less are not set, they are set only by comparison commands.
You can use eight 32-bit general purpose registers. In addition, there is also a program counter, two stack pointers, a stack pointer of the subroutine frames, a program database pointer (this is something unique), a module base pointer (also something very rare), a pointer to the interrupt vector table, a configuration register and a processor status register. The performance of NS32016 was comparable to 68000, maybe only a bit faster.
32016, as far as I know, was used only with BBC Micro personal computers as a second processor. It was possible to order the processor with frequencies 6, 8 and 10 MHz. This second processor was a very expensive and prestigious device for 1984. The software for it was very small, only made by the efforts of Acorn. It includes Panos operating system which is similar to Unix and the permanent Acorn satellite BASIC. BBC Micro did not use the MMU chip – although it could be connected, there were no programs for its use. The arithmetic coprocessor was not even supposed to be connected.
It is known that this very complex processor had serious hardware errors that were being fixed for years.