The Web Site to Remember National Semiconductor's Series 32000 Family


The story of Series 32000 began in the late 70's of the last century. It went on full steam throughout the 80's. And it ended sometime in the beginning of the 90's. Today nothing remembers to the Series 32000. It's now more of an archaeological task to find facts and remaining items. Even the company National Semiconductor has disappeared. It was bought in 2011 by Texas Instruments.

In the beginning the name of the product family was NS16000™. Due to difficulties in naming different CPU versions the name was changed in May 1984 to Series 32000™. Both names were trademarks of National Semiconductor.

The first members of the NS16000 family were designed in Herzlia, Israel. Later some CMOS parts of Series 32000 were designed at the headquarter of National Semiconductor in Santa Clara, California/USA.

In 2008 some managers of the Series 32000 came together and talked about what was going on at National Semiconductor in the mentioned period of time. The very interesting discussion took place at the Computer History Museum in Mountain View, California/USA. The record of it can be found here:

Series 32000 History ( Computer History Museum)

It is interesting to read what was a hot topic in the newsgroups in 1986. Google saved a lot of the old ones and made them available through the web. The newsgroup net.micro.ns32k can be found here:!topic/net.micro.ns32k .

Before I move on to the technical heart of Series 32000 let's have a look at the following photo. It shows the first devices of Series 32000. They can be easily recognized in their ceramic packages with the golden cap.

Fig. 1. The complete chip-set of the first generation of Series 32000 devices.

Figure 1 shows from the left to the right all the required chips in ceramic packages to implement the Series 32000 architecture : Timing Control Unit NS32201 (TCU, 24 pins), Memory Management Unit NS32082 (MMU, 48 pins), Central Processing Unit NS32016 (CPU, 48 pins), Floating Point Unit NS32081 (FPU, 24 pins) and Interrupt Control Unit NS32202 (ICU, 40 pins). This was the great advantage of National Semiconductors entry in the high performance microprocessor market : a complete chip set based on an advanced architecture covering every aspect of a modern computer system.


This chapter describes the basic architecture of the Series 32000 family. More details can be found in the datasheets of the NS32532 CPU and NS32381 FPU. They can be downloaded in the chapter Chips/Documents.

The architecture of the Series 32000 is based on CISC principles (for more details see the chapter M32632/Performance). Beginning of the 1980's the most popular minicomputer using CISC was the VAX family from Digital Equipment. Undoubtly their success had a great influence on the microprocessor designers of that age.

The Series 32000 architecture is a 32-bit architecture. Registers inside the different CPUs used for integer operands and address pointers were all 32 bits wide. Due to limitations in technology the first CPU generation used only the lower 24 bits for external addresses (16 Mbytes address space).

The difference between the many architectures invented during this time was the amount of exceptions to the basic rules. For example the MC68000 from Motorola is able to add any two operands with every addressing mode by the opcode ADD . The same is not true for add with carry. The opcode ADDX can use only registers or external memory with predecrement address pointers. National makes no exceptions for this two opcodes ADD and ADDC : every addressing mode is allowed in any combination. The advantage is that compilers can be made less complex with less exceptions. I think that the chip design can be made simpler too.

Figure 2 shows the registers of the different functions of the Series 32000 architecture. The register set shown is based on the NS32532 CPU and NS32381 FPU.

Fig. 2. The registers of the Series 32000 architecture.

Basic Register Set

Every CPU of the Series 32000 family implements the basic register set. This set is used for integer variables, address pointers and control bits.

Name Width Description
R0 .. R7328 working registers for integer operations
PC32Program Counter
SP0 , SP132Two stack pointers
FP32Frame Pointer, used as address pointer
SB32Static Base, used as address pointer
INTBASE32Interrupt vector table base pointer
MOD16Module register, base address of current software module
PSR16Processor Status Register
CFG32Configuration register

Debug Register Set

The following register table is based on the debug features of the NS32532 CPU. Earlier CPUs of the family had no debug features. The debug capabillities were integrated in the external MMUs.

Name Width Description
DCR32Debug Condition Register
DSR32Debug Status Register
CAR32Compare Address Register
BPC32Breakpoint Program Counter

MMU Register Set

The following register table is based on the MMU inside the NS32532 CPU.

Name Width Description
PTB0 , PTB132Two Page Table Base Pointers
IVAR0 , IVAR132Two Invalidate virtual address registers
TEAR32Translation Exception Address Register
MCR32Memory Management Control register
MSR32Memory Management Status register

FPU Register Set

The following register table is based on the NS32381 FPU. National Semiconductor made a big change when they increased the number of 64-bit floating point registers from 4 in the NS32081 to 8 in the NS32381. SP means "Single Precision" and DP means "Double Precision".

Name Width Description
F0, L032SP Register 0, Lower Double Word of DP Register 0
F1, L032SP Register 1, Higher Double Word of DP Register 0
L1 64DP Register 1
F2, L232SP Register 2, Lower Double Word of DP Register 2
F3, L232SP Register 3, Higher Double Word of DP Register 2
L3 64DP Register 3
F4, L432SP Register 4, Lower Double Word of DP Register 4
F5, L432SP Register 5, Higher Double Word of DP Register 4
L5 64DP Register 5
F6, L632SP Register 6, Lower Double Word of DP Register 6
F7, L632SP Register 7, Higher Double Word of DP Register 6
L7 64DP Register 7
FSR 32Floating Point Status register

Addressing Modes

The "Top of Stack" (TOS) addressing mode is the only one which includes auto-increment and auto-decrement capabillity. For data movements from one location to another a powerful set of string instructions is available. The index modes can be used only once in a memory access.

ModeAssembler SyntaxEffective Address (EA)
Register 0 .. 7R0,F0,L0 .. R7,F7,L7None: Operand is in the specified register
Register 0 .. 7 relativedisp(R0 .. R7)Disp + Register
Frame/Stack/Static memory relativedisp2(disp1(FP/SP/SB))Disp2 + Pointer, Pointer = Disp1 + Register
ImmediatevalueNone: Operand is input from the instruction queue
ExternalEXT(disp1) + disp2Disp2 + Pointer, Pointer is found at Link Table Entry number Disp1
Top of stackTOSTop of current stack, either SP0 or SP1
Frame/Stack/Static memorydisp(FP/SP/SB)Disp + Register
Program memory* + dispPC + Register
Index, bytesmode[Rn:B]EA(Mode) + Rn
Index, wordmode[Rn:W]EA(Mode) + 2 * Rn
Index, double wordsmode[Rn:D]EA(Mode) + 4 * Rn
Index, quad wordsmode[Rn:Q]EA(Mode) + 8 * Rn

NS32532 Comparison to other CPUs

The table compares popular 32 bit CISC microprocessors at the end of the 1980's with their key characteristics. It can be seen that the designs were very similar.

Feature NS32532 MC68030, Motorola i80386, Intel
Data Width 32 bit 32 bit 32 bit
Address Space 4 GByte 4 GByte 4 GByte
MMU on chip on chip on chip
Data Cache 1024 Byte256 Byte0
Instruction Cache512 Byte 256 Byte0
Maximum Clock 30 MHz 50 MHz 33.3 MHz
External FPU NS32381 MC68881 i80387

Second Silicon

Fig. 3. A chip-set mixing second and first generation Series 32000 devices.

Figure 2 shows a mixed chip-set : the NS32332 CPU and the NS32382 MMU are second generation designs. The NS32081 FPU is from the first generation. The main difference between the second and the first generation was the introduction of a 32 bits wide external address bus. This requires a bigger package for the CPU and the MMU. The traditional DIL (dual in line) packages were replaced by PGA (pin grid array) packages. Another advantage was the use of decoupling capacitors directly soldered on the package for very low inductance. This was the first sign that high speed semiconductor devices need special service for reliable operation. Note the increased clock frequency of 15 MHz compared to 10 MHz of the first generation.

This chapter was last modified on 11 March 2016. Next chapter: CPUs