litwr (litwr) wrote,

Emotional stories about processors for first computers: part 7 (NS 32016)

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 which was similar to the VAX-11 architecture in only some details.

The use of paged virtual memory begins with this processor – it is the dominant technology today. 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 the NS32016 is huge and similar to the VAX-11 instruction system, in particular, with 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 the 32016 is slightly 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 the 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 a unique 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 the NS32016 was comparable to the 68000, it was maybe only a bit faster.

It is known that this very complex processor had serious hardware errors that were being fixed for years.

The 32016 as far as I know was used only with the BBC Micro personal computers as a second processor. It was possible to order a 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 limited in number and was only made by the efforts of Acorn. It includes the Panos operating system which is similar to Unix and the permanent Acorn satellite BASIC. The BBC Micro did not use an MMU chip – there were no programs for its use, although it could be plugged in. An arithmetic coprocessor was not even supposed to be connected.

The most ambitious plans associated with this processor may have been with the founder of Commodore, Jack Tramiel, who was called the king of low cost computers. After buying Atari, he announced that he was going to make a low-cost personal computer with the capabilities of the VAX superminicomputers. It is believed that he was referring to the use of the 32016 processor or its full 32-bit variant 32032.

Edited by Richard BN

Tags: 68k, bbc micro, computer, cpu, dec, hardware, history, motorola, national semiconductor, ns, processor, vax-11

  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.