stringtranslate.com

NS32000

El NS32000 , a veces conocido como 32k , es una serie de microprocesadores producidos por National Semiconductor . El primer miembro de la familia llegó al mercado en 1982, conocido brevemente como 16032 antes de convertirse en 32016 . [1] Fue el primer microprocesador de uso general del mercado que utilizó datos de 32 bits en todo momento: el Motorola 68000 utilizó datos de 32 bits pero tenía una ALU de 16 bits y, por lo tanto, tardó el doble de tiempo en realizar muchas operaciones. [2] [3] Sin embargo, el 32016 contenía muchos errores y, a menudo, no podía ejecutarse a su velocidad nominal. Estos problemas, y la presencia del 68000, por lo demás similar, que había estado disponible desde 1980, llevaron a que se utilizara poco en el mercado.

Siguieron varias versiones mejoradas, incluida la 32032 de 1985 , que era esencialmente una 32016 con errores corregidos y un bus de datos externo de 32 bits. Si bien ofrecía aproximadamente un 50% más de velocidad que el 32016, fue superado por el Motorola 68020 de 32 bits , lanzado un año antes. El 32532 , lanzado en 1987, superó al contemporáneo Motorola 68030 casi dos veces, pero en ese momento la mayor parte del interés en los microprocesadores se había centrado en las plataformas RISC y este excelente diseño casi tampoco tuvo uso.

National estaba trabajando en nuevas mejoras en el 32732 , pero finalmente abandonó el intento de competir en el espacio de la unidad central de procesamiento (CPU). En cambio, la arquitectura básica 32000 se combinó con varios sistemas de soporte y se relanzó como el microcontrolador Swordfish . Tuvo cierto éxito en el mercado antes de ser reemplazado por la arquitectura CompactRISC a mediados de los años 1990.

Concepto de diseño

Microprocesador NS32008

La serie NS32000 tiene su historia en un esfuerzo de National Semiconductor para producir una implementación de un solo chip de la arquitectura VAX-11 . [4] El VAX es bien conocido por su arquitectura de conjunto de instrucciones (ISA) altamente "ortogonal", en la que cualquier instrucción se puede aplicar a cualquier dato. Por ejemplo, una ADDinstrucción podría agregar el contenido de dos registros del procesador , o un registro contra un valor en la memoria, dos valores en la memoria o usar el registro como un desplazamiento contra una dirección. Esta flexibilidad se consideró el modelo de diseño en la era de las computadoras con conjuntos de instrucciones complejas (CISC). [3]

National llevó a DEC a los tribunales en California para garantizar la legalidad del diseño, pero cuando DEC trasladó la demanda a Massachusetts, el estado natal de DEC, la demanda fue desestimada y en su lugar se desarrolló la arquitectura Serie 32000. Aunque la nueva arquitectura del conjunto de instrucciones no era compatible con VAX-11, conservaba su filosofía de diseño altamente " ortogonal ". Es decir, cada instrucción podría usarse con cualquier tipo de datos. Los artículos de la época también se referían a esto como "simétrico". [3]

La familia de procesadores original constaba de la CPU NS16032 y una variante de bajo consumo NS16C032, ambos con una ruta de datos de 16 bits y, por lo tanto, requerían dos ciclos de máquina para cargar una sola palabra de 32 bits. Ambos podrían usarse con la unidad de administración de memoria NS16082, que brindaba soporte de memoria virtual de 24 bits para hasta 16 MB de memoria física. El NS16008 era una versión reducida con una ruta de datos externa de 8 bits y sin soporte de memoria virtual, que tenía un número reducido de pines y, por lo tanto, era algo más fácil de implementar. [3] Los primeros anuncios de la familia incluían el NS16016 con un bus de datos de 16 bits, y tanto el NS16008 como el NS16016 presentaban un modo de emulación para el Intel 8080 que se ejecutaba a cuatro veces la velocidad de ese procesador. [5]

Al mismo tiempo, National Semiconductor también anunció dos versiones futuras, NS32032 y NS32132. El primero era esencialmente una versión del NS16032 con un bus de datos externo de 32 bits, lo que le permitía leer datos al doble de velocidad. Este era un proyecto que se lanzaría en 1984. El NS32132 era una versión con direcciones internas de 29 bits y externas de 32 bits, lo que le permitía direccionar 4 GB completos de memoria. Iba a ser lanzado en 1985. [3]

Todos estos también podrían usarse con la unidad de punto flotante NS16081. [3]

Arquitectura

Los procesadores cuentan con 8 registros de 32 bits de uso general, además de una serie de registros de propósito especial:

(No se enumeran registros adicionales del sistema).

El conjunto de instrucciones se parece mucho al modelo CISC , con instrucciones de 2 operandos, operaciones de memoria a memoria, modos de direccionamiento flexibles y codificación de instrucciones alineadas con bytes de longitud variable. Los modos de direccionamiento pueden implicar hasta dos desplazamientos y dos direcciones indirectas de memoria por operando, así como indexación escalada, lo que hace que la instrucción más larga imaginable tenga 23 bytes. El número real de instrucciones es mucho menor que el de los procesadores RISC contemporáneos.

A diferencia de otros procesadores, no se proporciona el incremento automático del registro base; la única excepción es un modo de direccionamiento "superior a la pila" que muestra fuentes y envía destinos. Únicamente, el tamaño del desplazamiento está codificado en sus bits más significativos: 0, 10 y 11 precedieron a desplazamientos con signo de 7, 14 y 30 bits. (Aunque los procesadores son consistentemente little-endian, los desplazamientos en el flujo de instrucciones se almacenan en orden big-endian).

Los operandos de propósito general se especifican mediante un campo de 5 bits. A esto se le puede agregar un byte de índice (especificando el registro de índice y la dirección base de 5 bits) y hasta 2 desplazamientos de longitud variable por operando.

32016

El primer chip de la serie se denominó originalmente 16032, pero luego se le cambió el nombre a 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 lógica aritmética (ALU), que controla gran parte de la tarea de procesamiento general, era sólo de 16 bits. Esto significaba que tenía que pasar datos de 32 bits por 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 . Pudo haber sido el primer chip de 32 bits en alcanzar 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 16.032 piezas, después de haber estado "enviando cantidades de muestra durante varios meses", y el coprocesador de punto flotante tomaría muestras "este mes". ". [6] Aunque una introducción de 1982 es posterior al 68k en aproximadamente dos años, el 68k aún no se usaba ampliamente en el mercado y el 32016 generó un interés significativo. Desafortunadamente, las primeras versiones estaban llenas de errores y rara vez podían ejecutarse 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, lo que obligaría a reiniciarlo.

La hoja de ruta original del producto preveía piezas de 6 MHz y 10 MHz durante 1983 y piezas de 12 MHz y 14 MHz durante 1984. [3] Sin embargo, informes de prensa en 1984 indicaron dificultades para mantener esta hoja de ruta, ya que, según se informa, se habían necesitado cinco meses para aumentar la frecuencia de las piezas de 6 MHz a 8 MHz, y los representantes estiman que se necesitarán "dos, tres o cinco meses" más para aumentar la frecuencia a 10 MHz. Se informó que dos chips no especificados de los cinco del conjunto de chips eran la causa de estos problemas. [7] Un artículo de principios de 1985 sobre la estación de trabajo Whitechapel MG-1 basada en 32016 señaló que la unidad de administración de memoria 32081 "sufría de errores" y había sido situada en su propia placa proporcionando correcciones de hardware. [8] En 1986, Texas Instruments anunció un "conjunto de chips de microprocesador TI32000 de 32 bits de 10 MHz totalmente calificado" que constaba de la CPU TI32016 y la unidad de administración de memoria TI32082 como dispositivos de 48 pines, la unidad de control de sincronización TI32201 y la unidad de punto flotante TI32081. como dispositivos de 24 pines, y la unidad de control de interrupciones TI32202 como dispositivo de 40 pines, con el chipset de cinco dispositivos "con un precio de 289 dólares en cantidades de 100 unidades". [9]

National cambió su metodología de diseño para hacer posible la producción de la pieza y se desarrolló conjuntamente con la Universidad de Tel-Aviv un sistema de diseño basado en el lenguaje "Z", cerca del centro de diseño "NSC" en Herzliya , Israel. . El lenguaje "Z" es similar al Verilog y VHDL actuales , pero tiene una sintaxis similar a Pascal y está optimizado para diseños de relojes de dos fases . Sin embargo, cuando el fruto de estos esfuerzos se empezó a sentir en el diseño, ya había numerosas máquinas de 68k en el mercado, en particular el Apple Macintosh , y el 32016 nunca tuvo un uso generalizado.

El 32016 tiene un bus de datos externo de 16 bits , un bus de direcciones externo de 24 bits y un conjunto completo de instrucciones de 32 bits . También incluye una interfaz de coprocesador , que permite conectar coprocesadores como FPU y MMU como pares al procesador principal. La MMU se basa en la memoria virtual de paginación según demanda , que es la característica más inusual en comparación con el enfoque de memoria segmentada utilizado por la competencia, y se ha convertido en el estándar de diseño de microprocesadores en la actualidad. La arquitectura admite un mecanismo de reinicio de instrucciones en caso de error de página, que es mucho más limpio que el enfoque de Motorola de volcar el estado interno en un error de página, que debe volver a leerse antes de continuar con la instrucción.

Microprocesador NS32016
NS32081 FPU

Aunque a menudo se compara con el conjunto de instrucciones del 68k, los empleados de NSC lo rechazaron; una de las frases clave de marketing de la época fue "La elegancia lo es todo", comparando la muy ortogonal Serie 32000 con la "tontería". Una diferencia clave es el uso que hace Motorola de registros de direcciones y registros de datos, con instrucciones que solo funcionan en registros de direcciones o de datos. La Serie 32000 tiene registros de uso general, descritos como registros de "datos de dirección" en la documentación técnica. [10]

32032

Microprocesador NS32032

El 32032 se introdujo en 1984. Es casi completamente compatible con el 32016, pero presenta un bus de datos de 32 bits (aunque mantiene el bus de direcciones de 24 bits) para un rendimiento algo más rápido, descrito como "rendimiento de minicomputadora" comparable al de un Sistema VAX-11. [11] :  39 También había un 32008, un 32016 con un bus de datos reducido a 8 bits de ancho para aplicaciones de bajo costo. Es filosóficamente similar al MC68008 e igualmente impopular.

National también produjo una serie de chips de soporte relacionados como la unidad de punto flotante (FPU) NS32081, las unidades de administración de memoria (MMU) NS32082 , el acceso directo a memoria (DMA) NS32203 y los controladores de interrupción NS32202. Con el conjunto completo más chips de memoria y periféricos, era factible construir un sistema informático de 32 bits capaz de soportar sistemas operativos multitarea modernos, algo que antes sólo había sido posible en costosas minicomputadoras y mainframes .

32332, 32532

En 1985, National Semi presentó el NS32332, una versión muy mejorada del 32032. Según la hoja de datos, las mejoras incluyen "la adición de nuevo hardware de direccionamiento dedicado (que consta de una ALU de alta velocidad, una palanca de cambios de barril y un registro de direcciones), una cola de precarga de instrucciones aumentada y muy eficiente (20 bytes), una nueva interfaz/protocolo de sistema/bus de memoria, un protocolo de procesador esclavo de mayor eficiencia y, finalmente, mejoras del microcódigo. También hubo una nueva MMU NS32382, FPU NS32381 y la (muy rara) interfaz NS32310 para un FPA Weitek . El aumento de rendimiento agregado del NS32332 gracias a estas mejoras solo lo hizo un 50 por ciento más rápido que el NS32032 original y, por lo tanto, menos que el del principal competidor, el MC68020 .

National Semi presentó el NS32532 a principios de 1987. Funcionando a 20, 25 y 30 MHz, fue un rediseño completo de la implementación interna con una canalización de cinco etapas, un caché/MMU integrado y un rendimiento de memoria mejorado, lo que lo convierte en aproximadamente El doble de rendimiento que los modelos MC68030 e i80386 de la competencia . En esta etapa, las arquitecturas RISC estaban comenzando a hacer avances, y los principales competidores se convirtieron en los ahora igualmente muertos AM29000 y MC88000 , que se consideraba más rápido que el NS32532. Para punto flotante, el NS32532 utilizó la interfaz NS32381 o NS32580 existente para un FPA de Weitek. [12] El NS32532 fue la base del PC532 , un proyecto de hardware de "dominio público", y uno de los pocos en producir una máquina útil que ejecuta un sistema operativo real (en este caso, Minix o NetBSD ).

El semimítico NS32732 (a veces llamado NS32764), concebido como el sucesor de alto rendimiento del NS32532, nunca llegó al mercado.

Pez espada

Un derivado del NS32732 llamado Swordfish estaba destinado a sistemas integrados y llegó alrededor de 1990. Swordfish tiene una unidad de punto 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 jefe del Swordfish es Donald Alpert, quien luego dirigió el equipo de arquitectura que diseñó el Pentium. La microarquitectura interna del Pentium es similar a la del Swordfish anterior.

El objetivo de Swordfish eran las impresoras láser Postscript de alta gama 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 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 se completara el motor.

El troquel del pez espada es enorme y finalmente se decidió abandonar el proyecto por completo y el producto nunca entró en producción. Las lecciones del Swordfish se utilizaron para los diseños de CompactRISC. Al principio, había un CompactRISC-32 y un CompactRISC-16, diseñados usando "Z". National nunca lanzó al mercado un chip con el núcleo CompactRISC-32. El departamento de investigación de National trabajó con la Universidad de Michigan para desarrollar el primer modelo Verilog sintetizable, y Verilog se utilizó desde el CR16C en adelante.

Otros

A partir de 1987 se introdujeron versiones de la línea NS32000 anterior para productos de bajo costo como NS32CG16, NS32CG160, NS32FV16, NS32FX161, NS32FX164 y NS32AM160/1/3, todos basados ​​en el NS302CG16. Estos procesadores tuvieron cierto éxito en el mercado de faxes e impresoras láser , a pesar de la intensa competencia de los chips AMD e Intel RISC . Cabe destacar especialmente el NS32CG16. La diferencia clave entre este y el NS32C016 es la integración de la costosa TCU (Unidad de control de sincronización) que genera el reloj bifásico 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, que mejora significativamente el rendimiento en las operaciones de impresoras 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 BitBLT CG16 para el mercado de faxes y contestadores automáticos. Se complementan posteriormente con el NS32GX32 basado en NS32532. A diferencia de los chips anteriores, no había hardware adicional. El NS32GX32 es el NS32532 sin MMU que se vende a un precio atractivo para sistema integrado. Al principio esto era sólo un chip comentado. 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 ampliado con un árbitro. El uso del bus del NS32032 es de aproximadamente el 50 por ciento, debido a su conjunto de instrucciones muy compacto o su proceso muy lento, como lo dirían los competidores. De hecho, una aplicación sugerida del NS32032 fue como parte de un "sistema de transacciones tolerante a fallas" que empleaba "dos 32032 en paralelo y comparaba resultados en ciclos de memoria alternativos para detectar errores leves". [6] El chip NS32132 permite conectar un par de CPU al mismo sistema de memoria, sin muchos cambios en la PCB. Los sistemas prototipo fueron construidos por Diab Data AB en Suecia, pero no funcionaron tan bien como el sistema MC68020 de CPU única diseñado por la misma empresa.

Máquinas que utilizan la serie NS32000

Legado

En junio de 2015, Udo Möller lanzó una implementación Verilog completa de un procesador NS32000 en OpenCores . [16] Totalmente compatible con software con una CPU NS32532 con FPU N32381, es significativamente más rápido cuando se implementa en una FPGA, [17] opera a una velocidad de reloj más alta y usa menos ciclos por instrucción.

Referencias

  1. ^ Catálogo de software serie 32000. Corporación Nacional de Semiconductores. 1984 . Consultado el 8 de noviembre de 2021 . Recientemente hemos cambiado el nombre de nuestros productos de microprocesador de 32 bits de la familia NS16000 a Serie 32000. Este programa entró en vigor inmediatamente después de la firma de Texas Instruments, Inc. como nuestra segunda fuente para la Serie 32000.
  2. ^ Starnes, Thomas W. (abril de 1983). "Filosofía de diseño detrás del MC68000 de Motorola". Byte . vol. 8, núm. 4 . Consultado el 19 de junio de 2018 .
  3. ^ abcdefg Leedy, Glenn (abril de 1983). "La familia de microprocesadores NS16000 de National Semiconductor". BYTE . vol. 8, núm. 4. págs. 53–66 . Consultado el 22 de agosto de 2020 .
  4. ^ Tilson, Michael (octubre de 1983). "Trasladar Unix a nuevas máquinas". BYTE . vol. 8, núm. 10. págs. 266–276 . Consultado el 31 de enero de 2015 .
  5. ^ Cole, Bernard Conrad (noviembre de 1981). "Avances en el diseño de CPU". Era de la interfaz . págs. 94–97 . Consultado el 2 de marzo de 2023 .
  6. ^ ab Libes, Sol (junio de 1983). "Supermicroprocesadores: informe de estado". Mundo de las computadoras personales . vol. 6, núm. 6. pág. 190 . Consultado el 17 de octubre de 2020 .
  7. ^ "Acorn disipa las dudas sobre el superchip". Usuario de bellota . No. 24. Julio de 1984. p. 7 . Consultado el 28 de agosto de 2020 .
  8. ^ Pountain, Dick (febrero de 1985). "Haciendo realidad un sueño". Byte Reino Unido . vol. 10, núm. 2. págs. 379–382, 384 . Consultado el 18 de diciembre de 2020 .
  9. ^ "Componentes". Mundo de la informática . 16 de junio de 1986. p. 130 . Consultado el 9 de febrero de 2022 .
  10. ^ Manual de datos familiares TI32000. Instrumentos de Texas incorporados. 1985, págs. 2–24 . Consultado el 8 de noviembre de 2021 . Todos los registros de datos de direcciones están disponibles para todas las instrucciones. Por lo tanto, el compilador tiene libertad en el uso de los registros y no necesita hacer muchas tareas domésticas. La arquitectura también permite utilizar registros de datos de direcciones como acumuladores, registros de datos y punteros de direcciones. Esto representa una gran mejora con respecto a las máquinas que permiten que sólo unos pocos registros sirvan como punteros de dirección, creando un cuello de botella en los cálculos de direcciones, una función muy importante en la programación en lenguajes de alto nivel.
  11. ^ Rada, Col (18 de junio de 1984). "La estación de trabajo flexible de 32 bits: la respuesta de un proveedor para los usuarios". Mundo de la informática . Págs. 35–37, 39–40 . Consultado el 10 de marzo de 2022 .
  12. ^ "NS32532-20/NS32532-25/NS32532-30 Microprocesador de 32 bits de alto rendimiento" (PDF) . Semiconductor Nacional . 1995.
  13. ^ Manual técnico CPU 32016. CompuPro. 1984 . Consultado el 9 de marzo de 2022 .
  14. ^ "Coprocesador IBM PC UNIX". Byte . Abril de 1985. p. 441 . Consultado el 24 de junio de 2022 .
  15. ^ "Opus: Música UNIX para oídos de PC". Revisión de UNIX . Febrero de 1986. p. 83 . Consultado el 24 de junio de 2022 .
  16. ^ Procesador M32632 de 32 bits (OpenCores.org)
  17. ^ Rendimiento de M32632 (cpu-ns32k.net)

enlaces externos

Hojas de datos