# 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 microprocesadores de 32 bits de propósito general en el mercado, pero debido a una serie de factores nunca llegó a convertirse en un chip líder del sector. Las series 320xx también fue usada como base del Swordfish, una serie de microcontroladores.

## Comienzos: El 32016 y 32032

El primer chip de la serie se denominó originalmente 16032, pero luego se renombró 32016 para enfatizar sus componentes internos de 32 bits. Esto lo contrasta con su principal competidor en este espacio, el Motorola 68000 (68k) de 1979. El 68k usaba instrucciones y registros de 32 bits, pero su unidad aritmética lógica (ALU), que controla gran parte de la tarea de procesamiento general, era solo de 16 bits. Esto significaba que tenía que hacer un ciclo de datos de 32 bits a través de la ALU dos veces para completar una operación. Por el contrario, el NS32000 tiene una ALU de 32 bits, por lo que las instrucciones de 16 y 32 bits tardan el mismo tiempo en completarse.
El 32016 se envió por primera vez en 1982 en un paquete DIP de 46 pines. Puede haber sido el primer chip de 32 bits en llegar a la producción y venta en masa (al menos según el marketing de National). Sin embargo, en un informe de una publicación de junio de 1983, se señaló que National estaba "prometiendo cantidades de producción este verano" de 16032 piezas, habiendo estado "enviando cantidades de muestra durante varios meses", con el coprocesador de punto flotante muestreando "este mes".. Aunque una introducción de 1982 es posterior a la 68k por aproximadamente dos años, la 68k aún no se usaba ampliamente en el mercado y la 32016 generó un interés significativo. Desafortunadamente, las primeras versiones estaban llenas de errores y rara vez se podían ejecutar a su velocidad nominal. En 1984, después de dos años, la lista de erratas todavía contenía elementos que especificaban condiciones incontrolables que provocarían que el procesador se detuviera y forzara un reinicio.
El chip original 32016 tenía un bus externo de 16-bit, un bus de direcciones de 24-bit, y un Conjunto de instrucciones de 32-bit. También incluye un coprocesador interfaz que permite coprocesadores como la unidad de punto flotante (FPU) y la unidad de manejo de memoria (MMU) para trabajar junto al procesador principal.
El conjunto de instrucciones es extremadamente complejo pero, tiene varios modos de direccionamiento. Es similar al conjunto de instrucciones(pero no compatible) al popular DEC(Digital Equipment Corporation) VAX minicomputador. El 32016 era parecido también al Motorola 68000, el cual también usaba 32 bits para las instrucciones, 16-bit del bus de datos y 24-bit para el bus de direcciones.
El 32032 apareció en 1984. Era casi completamente compatible, pero caracterizado con un bus de datos de 32-bit (aunque seguía conservando un bus de datos de 24-bits) por tanto un rendimiento más rápido. También apareció el 32008, que era como el 32016 pero con un bus de datos de 8-bits para aplicaciones de bajo coste. Filosóficamente era similar al Motorola 68008, e igualmente desconocido.
National Semiconductor produjo también otros chips de soporte como, unidades de punto flotante FPUs, unidades de manejo de memoria MMUs, y memorias de acceso directo DMA controladores. Con todo el set más los chips de memoria y periféricos, era posible construir un sistema de 32-bit Equipo capaz de soportar multi-tareas en modernos sistemas operativos, algo que anteriormente había sido posible sólo en minicomputadoras caros y mainframe s.
Tanto el 32016 y el 32032 fueron bastante poco fiables. Eran, de hecho, tan poco fiables que el fabricante fue conocido informalmente en toda la industria de ventas como "nominal Semidestructor", un apodo que difícilmente ayudó a los productos que vinieron después de la familia 32000, además de otras razones añadidas a sus problemas de mercado. Hubo una oportunidad algo mejor de hacerlas funcionar con un lote completo de CPU, MMU, FPU, y chips de ADN fueran comprados emparejados, se probaron los sets, desde Natsemi. Sin embargo, los problemas de fiabilidad hicieron de los comienzos del 320xx un chip bastante impopular, entonces Natsemi se vio obligado a venderlos a precios mucho más bajos que la competencia 68000 con el fin de obtener ventas de alguna manera. El bajo coste hizo al menos, que fuera mínimamente más popular entre los aficionados que querían construir equipos de 32 bits con un presupuesto más bajo.

## El 32332, 32532

Durante la década de los 80, los sucesores llegaron como el NS32332 y NS32532, guardando un alto grado de compatibilidad, y con bastante fiabilidad y rendimiento. Por entonces el daño a la reputación de los chips ya estaba hecho, sin embargo, estos últimos chips fueron probablemente injustamente ignorados por el mercado.
En 1985, National Semiconductor sacó al mercado el NS32332, el cual fue una mejora de la versión 32032. Algunas de las mejoras incluyen "la incorporación de nuevo hardware direccionado dedicado (que consiste en una ALU de alta velocidad, un variador de barril y un registro de direcciones), un aumento muy eficiente (20 bytes) la instrucción cola prefetch, un nuevo sistema/memoria bus interfaz/protocolo, el aumento de eficiencia protocolo esclavo de procesador y, finalmente, el incremento de microcódigo." Hicieron también el nuevo NS32382 MMU, NS32381 FPU y el (muy raro) NS32310 interfaz para una Weitek FPA.
En la primavera de 1987, National Semiconductor vuelve con el nuevo NS32532. Funcionando a 20, 25, o 30-MHz, el NS32532 fue una mejora del NS32332 con una MMU integrada y un mejor rendimiento en memoria. Curiosamente, no hubo una nueva FPU, el NS32532 utilizaba la del NS323381. El NS32532 era la base de uno de los pocos proyectos hardware de "dominio público" (es decir, que resulta efectivo, hacer funcionar un sistema operativo real, en este caso Minix o NetBSD), el PC532

## Swordfish

Un derivado del NS32732 llamado Swordfish estaba destinado a sistemas integrados y llegó alrededor de 1990. Estaba previsto como el sucesor de alto rendimiento del NS32532. Swordfish tiene una unidad de coma flotante integrada, temporizadores, controladores DMA y otros periféricos que normalmente no están disponibles en los microprocesadores. Tiene un bus de datos de 64 bits y está overclockeado internamente de 25 a 50 MHz. El arquitecto principal del Swordfish es Donald Alpert, quien pasó a dirigir el equipo de arquitectura que diseñó el Pentium. La microarquitectura interna del Pentium es similar a la del anterior Swordfish.
El enfoque de Swordfish eran las impresoras láser Postscript de gama alta, y el rendimiento era excepcional en ese momento. Las soluciones de la competencia podían generar aproximadamente una página nueva por minuto, pero la unidad de demostración de Swordfish imprimiría dieciséis páginas por minuto, limitada únicamente por la mecánica del motor láser. En cada página imprimiría cuánto tiempo estuvo inactivo, esperando que el motor se completara.
La pastilla (die) del Swordfish es enorme, y finalmente se decidió abandonar el proyecto por completo, y el producto nunca entró en producción. Las lecciones del Swordfish se usaron para los diseños de CompactRISC. Al principio, había un CompactRISC-32 y un CompactRISC-16, diseñados utilizando "Z". National nunca trajo un chip al mercado con el núcleo CompactRISC-32. El departamento de investigación de National trabajó con la Universidad de Míchigan para desarrollar el primer modelo Verilog sintetizable, y Verilog se utilizó desde el CR16C en adelante

## Otros

Las versiones de la línea NS32000 anterior para productos de bajo costo como NS32CG16, NS32CG160, NS32FV16, NS32FX161, NS32FX164 y NS32AM160/1/3, todas basadas en NS302CG16, se introdujeron a partir de 1987 en adelante. Estos procesadores tuvieron cierto éxito en el mercado de impresoras láser y fax, a pesar de la gran competencia de los chips de AMD e Intel RISC. Debe tenerse especialmente en cuenta el NS32CG16. La diferencia clave entre este y el NS32C016 es la integración de la costosa TCU (Timing Control Unit o Unidad de control de tiempo) que genera el reloj de dos fases necesario a partir de un cristal, y la eliminación del soporte del coprocesador de punto flotante, que liberó espacio de microcódigo para el útil Conjunto de instrucciones BitBLT (bit block transfer, transferencia de bloque de bits), que mejora significativamente el rendimiento en las operaciones de la impresora láser, haciendo que este chip de 60.000 transistores sea más rápido que el MC68020 de 200.000 transistores. El NS32CG160 es el CG16 con temporizadores y periféricos DMA, mientras que los chips NS32FV/FX16x tienen funcionalidad DSP adicional además del núcleo CG16 BitBLT para el mercado de fax/contestador automático. Se complementan con el NS32GX32 basado en NS32532 más adelante. A diferencia de los chips anteriores, no había hardware adicional. El NS32GX32 es el NS32532 sin la MMU que se vende a un precio atractivo para el sistema integrado. Al principio, esto era solo un chip remarcado. No está claro si el chip fue rediseñado para una producción de menor costo.
Existen hojas de datos para un NS32132, aparentemente diseñado para sistemas multiprocesador. Este es el NS32032 extendido con un árbitro. El uso del bus del NS32032 es de alrededor del 50 por ciento, debido a su conjunto de instrucciones muy compacto, o su pipeline muy lenta, como dirían los competidores. De hecho, una aplicación sugerida del NS32032 fue como parte de un "sistema de transacción tolerante a fallos" que emplea "dos 32032 en paralelo y compara los resultados en ciclos de memoria alternativos para detectar errores leves". El chip NS32132 permite conectar un par de CPU al mismo sistema de memoria, sin cambiar mucho la PCB. Los sistemas prototipo fueron construidos por Diab Data AB en Suecia, pero no funcionaron tan bien como el sistema MC68020 de una sola CPU diseñado por la misma empresa.
* Fotos de chips
* NS32C016 CPU
* NS32381 FPU
* NS32382 MMU
* NS32532 CPU

## Máquinas que usan el NS32000

Un pequeño ejemplo de máquinas que usan las series NS32000 CPUs:
* Acorn Cambridge Workstation - NS32016 (con 6502 terminales)
* BBC Micro - Cambridge Co-Processor (NS32016)
* Whitechapel MG-1 - NS32016
* Whitechapel MG200 - NS32332
* Opus - NS16032 PC añadido en la placa
* Sequent Balance - NS32016, NS32032 & NS32332 multiprocesador
* ETH Zúrich Ceres estación de trabajo - NS32532
* Heurikon VME532 - NS32532 VME tarjeta(con caché)
* PC532 - NS32532
* Tolerant Systems Eternity Series - NS32032 w/ NS32016 I/O procesador
* National Semiconductor ICM-3216 - NS32016
* National Semiconductor ICM-332-1 - NS32332 w/ NS32016 I/O procesador
* National Semiconductor SYS32/20 - NS32016 PC añadido en la placa w/ Unix
* Encore Multimax - NS32332 & NS32532 multiprocesador
* Trinity College Workstation - NS32332
* Tektronix 6130 & 6250 Workstation - NS32016 & NS32032
* Siemens PC-MX2 - NS32016
* Siemens MX300 - NS32032
* Siemens MX500 - NS32332 (Siguientes tablas)
* Compupro 32016 - NS32016 S-100 Card
* Sistemas de computadores simétricos S/375 - NS32016, utilizado para desarrollo cruzado 386BSD (en inglés)
* General Robotics Corp. Python - NS32032 & N32016 Q-Bus tarjeta
* Teklogix 9020 controlador de red - NS32332

## Nombres similares del procesador NS

El uso de varias variaciones sobre el número "32" fue el esquema de denominación obvio para cualquier serie de microprocesadores de 32-bits. Esto conduce a una cierta confusión y procesadores totalmente independientes con nombres similares. Por ejemplo:
* Las series del microprocesador WE32xxx hechos por Western Electric. Este chipset fue usado en AT&T 3B2 series de minicomputadores.
* Una serie muy amplia de DSPs diseñada por Texas Instruments es la TMS320 línea (empezó con el TMS32010).
Ninguno de estas series de microprocesadores está relacionado con la serie NS32000 de National Semiconductor .