HP Saturno


La familia Saturn de microprocesadores de 4 bits ( ruta de datos ) fue desarrollada por Hewlett-Packard en la década de 1980, primero para la computadora de mano HP-71B y luego para varias calculadoras HP (comenzando con la HP-18C ). Sucedió a la familia de procesadores Nut utilizados en calculadoras anteriores. El chip Saturn original se utilizó por primera vez en la computadora portátil programable BASIC HP - 71B , presentada en 1984. Los modelos posteriores de la familia impulsaron la popular serie HP 48de calculadoras. La HP48SX y la HP48S fueron los últimos modelos en utilizar procesadores Saturn genuinos fabricados por HP. Los modelos de calculadoras posteriores utilizaron procesadores Saturn fabricados por NEC. Las series HP 49 inicialmente utilizaron el Saturno CPU, así, hasta que el NEC fab [nb 1] ya no podía fabricar el procesador por razones técnicas en 2003. Por lo tanto, comenzando con la HP 49g + modelo en 2003, las calculadoras cambiado a un Samsung S3C2410 procesador con un núcleo ARM920T (parte de la arquitectura ARMv4T) que ejecutó un emulador del hardware Saturn en software. En 2000, HP 39G y HP 40Gfueron las últimas calculadoras introducidas basadas en el hardware Saturn fabricado por NEC. Las últimas calculadoras basadas en el emulador Saturn fueron las HP 39gs , HP 40gs y HP 50g en 2006, así como la revisión de 2007 de la hp 48gII . La HP 50g, la última calculadora que utiliza este emulador, se suspendió en 2015 cuando Samsung dejó de producir el procesador ARM en el que se basaba. [1] [2] [3]

El hardware de Saturn es un diseño de serie nibble [4] a diferencia de su predecesor Nut , que era bit-serial . [5] Internamente, la CPU Saturn tiene cuatro buses de datos de 4 bits que permiten un rendimiento de casi 1 ciclo por nibble con uno o dos buses que actúan como fuente y uno o dos como destino. [4] La palabra direccionable más pequeña es un nibble de 4 bits que puede contener un decimal codificado en binario.(BCD) dígito. Cualquier unidad de datos en los registros mayor que un nibble, en la que el final de dicha unidad de datos cae en un límite de nibble y el inicio de dicha unidad de datos comienza en el nibble cero (y también en algunos casos donde la posición de inicio de dicha unidad de datos cae en un límite de nibble con ciertos campos de registro, por ejemplo, "M" o "X"), y que puede ser de hasta 64 bits, se puede operar como un todo, pero la CPU Saturn realiza la operación en serie internamente en un nibble-by -Base de mordisco. [4]

La arquitectura Saturn tiene un ancho de palabra de datos de 64 bits y un ancho de dirección de 20 bits, y la memoria se dirige a una granularidad de 4 bits ( nibble ). Las instrucciones de Saturn ALU admiten un ancho de datos variable, que operan de uno a 16 nibbles de una palabra. Los registros principales ( GPR ), junto con los registros temporales, tienen un ancho total de 64 bits, pero los registros de direcciones solo tienen un ancho de 20 bits. Los chips CPU originales de Saturn proporcionaban un bus de datos externo de cuatro bits, pero los SoC posteriores basados ​​en Saturn se incluían en la conversión del bus de chips a un bus de datos externo de 8 bits y un bus de direcciones externas de 19 bits.