NS320xx

NS320xx

The 320xx or NS32000 was a series of microprocessors from National Semiconductor ("NS", "Natsemi"). They were likely the first 32-bit general-purpose microprocessors on the market, but due to a number of factors never managed to become a major player. The 320xx series was also used as the basis of the Swordfish series of microcontrollers.

Contents

Architecture

The processors had 8 general purpose 32-bit registers, plus a series of special-purpose registers:

  • Frame pointer
  • Stack pointer (one each for user and supervisor modes)
  • Static base register, for referencing global variables
  • Program counter
  • A typical processor status register, with a low-order user byte and a high-order system byte.

(Additional system registers not listed.)

The instruction set was very much in the CISC model, with 2-operand instructions, memory-to-memory operations, flexible addressing modes, and variable-length byte-aligned instruction encoding. Addressing modes could involve up to two displacements and two memory indirections per operand.

Unlike some other processors, autoincrement of the base register was not provided; the only exception was a "top of stack" addressing mode that would pop sources and push destinations. Uniquely, the size of the displacement was encoded in its most significant bits: 0, 10 and 11 preceded 7-, 14- and 30-bit signed displacements. (Although the processors were otherwise consistently little-endian, displacements in the instruction stream were stored in big-endian order.)

General purpose operands were specified using a 5-bit field. To this could be added an index byte (specifying the index register and 5-bit base address), and up to 2 variable-length displacements per operand.

Beginnings: the 32016 and 32032

NS32008 microprocessor.
NS32016 Microprocessor
National Semiconductor NS32081 FPU.
National Semiconductor NS32032 microprocessor.

The first chip in the series was originally called 16032, later renamed 32016 to emphasize its 32-bit internals. It became available in the late 1970s, and may have been the first 32-bit chip to reach mass production and sale (at least according to National Semiconductor marketing).

The original 32016 had a 16-bit external databus, a 24-bit external address bus, and a full 32-bit instruction set. It also included a coprocessor interface which allows coprocessors such as FPUs and MMUs to be attached as peers to the main processor.

The instruction set was extremely complex but mostly regular, with a large set of addressing modes. It was somewhat similar in spirit to (but not compatible with) the popular DEC VAX minicomputer instruction set. The 32016 was also very similar to the Motorola 68000, which also used 32-bit internals with a 16-bit data bus and 24-bit address bus.

The 32032 was introduced in 1984. It was almost completely compatible, but featured a 32-bit data bus (although keeping the 24-bit address bus) for somewhat faster performance. There was also a 32008, which was a 32016 with a data bus cut down to 8-bits wide for low cost applications. It was philosophically similar to the MC68008, and equally unpopular.

National Semiconductor also produced related support chips like Floating Point Units (FPUs), Memory Management Units (MMUs), and Direct Memory Access (DMA) controllers. With the full set plus memory chips and peripherals, it was feasible to build a 32-bit computer system capable of supporting modern multi-tasking operating systems, something that had previously been possible only on expensive minicomputers and mainframes.

The 32332, 32532, Swordfish & Others

During the 1980s, successor chips called the NS32332 and NS32532 arrived, maintaining a good degree of compatibility, with much improved reliability and performance. By then the damage to reputation had been done, however, and these chips were (probably unjustly) ignored by most of the market.

In 1985, National Semi introduced the NS32332, which was a much improved version of the 32032. From the datasheet, the enhancements include "the addition of new dedicated addressing hardware (consisting of a high speed ALU, a barrel shifter and an address register), a very efficient increased (20 bytes) instruction prefetch queue, a new system/memory bus interface/protocol, increased efficiency slave processor protocol and finally enhancements of microcode." There was also a new NS32382 MMU, NS32381 FPU and the (very rare) NS32310 interface to a Weitek FPA.

In the Spring of 1987, National Semi introduced the NS32532. Running at 20-, 25- & 30-MHz, the NS32532 was an improved NS32332 with an integrated MMU and improved memory performance. Interestingly, there wasn't a new FPU; the NS32532 used the existing NS323381. The NS32532 was the basis of one of the few fully realized "public domain" hardware projects (that is, resulting in an actual, useful machine running a real operating system, in this case Minix or NetBSD), the PC532.

The Swordfish was the semi-mythical NS32732 (sometimes called NS32764), originally envisioned as the high performance successor to the NS32532. This program never came to the market, but derivatives aimed at embedded systems arrived circa 1990 (along with versions of the older NS32000 line for low cost products such as the NS32GX32, NS32CG16, NS32FV16, NS32FX161 and NS32FX164). These processors had some success in the laser printer and fax market, despite intense competition from AMD and Intel RISC chips.

Datasheets exist for an NS32132, apparently designed for multiprocessor systems, but there is no evidence that the processor was ever produced.

Machines Using the NS32000 Series

An few example machines using NS32000-series CPUs:

  • Acorn Cambridge Workstation - NS32016 (with 6502 host)
  • BBC Micro - NS32016 Second Processor [1] [2] [3]
  • Whitechapel MG-1 - NS32016
  • Whitechapel MG200 - NS32332
  • Opus - NS16032 PC Add-On Board
  • Sequent Balance - NS32016, NS32032 & NS32332 Multiprocessor
  • ETH Zurich Ceres workstation - NS32532
  • Heurikon VME532 - NS32532 VME Card (with cache)
  • PC532 - NS32532
  • Tolerant Systems Eternity Series - NS32032 w/ NS32016 I/O processor
  • National Semiconductor ICM-3216 - NS32016
  • National Semiconductor ICM-332-1 - NS32332 w/ NS32016 I/O processor
  • National Semiconductor SYS32/20 - NS32016 PC Add-On Board w/ Unix
  • Encore Multimax - NS32332 & NS32532 Multiprocessor
  • Trinity College Workstation - NS32332
  • Tektronix 6130 & 6250 Workstation - NS32016 & NS32032
  • Siemens PC-MX2 - NS32016
  • Siemens MX300-05/-10/-15/-30 - NS32332 (-05/-10) or NS32532 (-15/-30) under SINIX (MX300-55 and later use i486)
  • Siemens MX500-75/-85 - NS32532 (2-8x CPUs; Sequent Boards / MX500-90 uses 2-12x i486)
  • Compupro 32016 - NS32016 S-100 Card
  • Symmetric Computer Systems S/375[4] - NS32016, used to cross develop 386BSD
  • General Robotics Corp. Python - NS32032 & N32016 Q-Bus Card
  • Teklogix 9020 network controller - NS32332
  • Labtam 32032

Similarly named non-NS processors

The use of some variation on the number "32" was the obvious naming scheme for any series of 32-bit microprocessors. This leads to a certain amount of confusion and totally unrelated processors with similar names. For example:

  • There was the WE32xxx microprocessor series made by Western Electric. This chipset was used in the AT&T 3B2 series of minicomputers.
  • A very widespread series of DSPs by Texas Instruments is the TMS320 line (starting with the TMS32010).

None of these are related to the National Semiconductor NS32000 series.

References

  • Trevor G. Marshall, George Scolaro and David L. Rand: The Definicon DSI-32 Coprocessor. Micro Cornucopia, Aug/September 1985,
  • Trevor G. Marshall, George Scolaro and David L. Rand: The DSI-32 Coprocessor Board. Part 1, BYTE, August 1985, pp 120–136; Part 2, BYTE, September 1985, p 116.

External links

Datasheets

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • NS320xx — Die NS320xx waren eine Familie von 32 Bit Prozessoren der Firma National Semiconductor, die sich durch einen besonders umfangreichen und sauberen Befehlssatz auszeichneten. Entwicklung Der erste vorgestellte Prozessor der Familie war der NS16032… …   Deutsch Wikipedia

  • NS320xx — El 320xx o NS32000 es una serie de microprocesadores de National Semiconductor ( NS , Natsemi , empresa dedicada a la creación de dispositivos analógicos y subsistemas). Probablemente fueron los primeros mircroprocesadores de 32 bits de propósito …   Wikipedia Español

  • SINIX — Entwickler Siemens AG Version 5.43 (1984 1995) Abstammung UNIX UNIX System V Xenix   SINIX …   Deutsch Wikipedia

  • Sinix — / ReliantUnix Basisdaten Entwickler Siemens AG Version 5.45 (ReliantUnix) (1984 1995) Abstammung …   Deutsch Wikipedia

  • National Semiconductor — Type Public (NYSE: NSM) Industry …   Wikipedia

  • PC532 — The PC532 was a home brew microcomputer design created by George Scolaro and Dave Rand in 1989 90, based around the National Semiconductor NS32532 microprocessor (a member of the NS320xx series). Full hardware documentation for the design,… …   Wikipedia

  • Ceres (Computersystem) — Ceres ist der Name des im Jahre 1986 vom Schweizer Informatiker Niklaus Wirth entwickelten Computersystems. Basis war ein 32 Bit Prozessor (NS320xx). Von seinem Entwickler wurde auch das dazugehörige Betriebssystem ETH Oberon System mit der… …   Deutsch Wikipedia

  • Clipper-Prozessor — Der Clipper Prozessor war ein 32 Bit RISC Prozessor von Fairchild Semiconductor. Im Vergleich zu anderen RISC Prozessoren verfügte der Clipper über einen relativ umfangreichen Befehlssatz, der durch in den Prozessor integrierte… …   Deutsch Wikipedia

  • Liste von Mikroprozessoren — Dies ist eine Liste von Mikroprozessoren. Mikroprozessoren von AMD und Intel sowie Mikrocontroller sind in getrennten Listen zu finden. Inhaltsverzeichnis 1 AMD 2 Analog Devices 3 ARM Ltd …   Deutsch Wikipedia

  • Ceres (workstation) — Ceres Workstation As a followup project to the Lilith, a machine based on bit slice technology and the programming language Modula 2, Niklaus Wirth s group started around 1985 another workstation project based on the NS320xx CPU by National… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”