Nord-5 fue la primera máquina de 32 bits de Norsk Data y se afirmó que era la primera minicomputadora de 32 bits , [ 1 ] sujeta a diversas salvedades. En la documentación de la empresa se describía como una "computadora auxiliar... supervisada por dos o más computadoras NORD-1", una disposición que comprendía el "Sistema Informático Integrado NORD" o sistema NORDIC. Podría decirse que esta configuración más completa fue la que respaldó las afirmaciones de haber logrado una primicia en la industria con la máquina. [ 2 ] : iii La configuración NORDIC se entregó al Instituto Meteorológico Noruego a un costo de más de 5,5 millones de coronas noruegas ( 630.000 dólares , o alrededor de 40,9 millones de NOK en la actualidad). [ 3 ] Su sucesora, la Nord-50, se describió a su vez como una "computadora de propósito especial" y dependía de manera similar de una computadora anfitriona Nord-10 . [ 4 ] : III
Presentado en 1972, el Nord-5 fue catalogado en los informes como un "superminicomputador", descrito retrospectivamente como un "éxito tecnológico pero un desastre comercial", [ 5 ] habiéndose vendido a solo tres clientes para 1977: el Instituto Noruego de Energía Nuclear , el Instituto Meteorológico Noruego y la Oficina Meteorológica Nacional de Argelia . En ese momento, se habían entregado diez sistemas Nord-50. [ 6 ] Ambos modelos fueron finalmente reemplazados por la familia ND-500 , anunciada en 1981. [ 7 ]
Inicialmente descrito como una versión más grande del Nord-1 para competir con el UNIVAC 1106 y el IBM System/360 Modelo 44 , [ 8 ] el Nord-5 utilizaba un Nord-1 como procesador de consola frontal, que ejecutaba la mayor parte del sistema operativo . [ 9 ] Diseñado para "alto rendimiento en cálculos numéricos", la máquina podía realizar multiplicaciones de punto flotante en aproximadamente 1 μs y divisiones en aproximadamente 8 μs. [ 2 ] : iii
En los informes se describía al Nord-50 como un equipo que ofrecía "la potencia de procesamiento de un IBM 370/158-3 o 3031 por poco más de 100 000 libras esterlinas", "un mini superordenador, una versión más barata y a menor escala del CDC Cyber 76 o Cray-1 ". [ 6 ] En la práctica, la máquina alcanzó, según los informes, 0,5 millones de instrucciones Whetstone por segundo (MWIPS) en las pruebas de rendimiento, en comparación con 0,8 MWIPS y 0,9 MWIPS para las respectivas máquinas IBM, que eran bastante más caras. [ 10 ]
Arquitectura Nord-5 y Nord-50
El Nord-5 y el Nord-50 proporcionaban CPU muy similares que no admitían instrucciones de entrada/salida dedicadas, instrucciones relacionadas con interrupciones ni funciones de gestión de memoria, las cuales se delegaban al ordenador anfitrión Nord-1 y Nord-10 en cada caso. [ 2 ] : iii [ 4 ] : III La CPU de cada máquina proporciona tres clases de instrucciones, cada una de las cuales admite una gama de operaciones de manipulación de datos, divididas en aquellas que realizan accesos a memoria, aquellas que operan en registros internos o externos, y aquellas que combinan valores de registro con un operando o argumento constante. [ 2 ] [ 11 ]
La implementación de la CPU del Nord-50 utilizó circuitos integrados TTL , empleando chips de RAM SN7489 de 64 bits para el almacenamiento de registros, [ 4 ] : III-5-1 y la unidad aritmético-lógica SN74181 . Esta última influyó en la codificación de instrucciones admitida por la CPU, y la codificación de entrada de selección de función del 74181 influyó en el campo de código de función de la instrucción de direccionamiento de memoria. [ 4 ] : III-6-1
En comparación con el Nord-1 y el Nord-10, que ofrecían un número limitado de registros de 16 bits, [ 12 ] : 13–14 [ 13 ] : 3–1 el Nord-5 y el Nord-50 proporcionaban muchos más registros de propósito general de 32 bits, y esto se refleja en su conjunto de instrucciones, codificando instrucciones dentro de palabras de 32 bits, en contraposición a la palabra de instrucción de 16 bits del Nord-1 y el Nord-10, [ 12 ] : 16 [ 13 ] : 3–1 y proporcionando instrucciones más generales para operaciones de carga, almacenamiento y desplazamiento, en contraposición a las instrucciones específicas de registro proporcionadas por el Nord-1 y el Nord-10. Las instrucciones para operaciones aritméticas y de transferencia de registros son más versátiles, en contraposición a estar confinadas a actuar sobre registros específicos como lo hacen las instrucciones equivalentes del Nord-1 y el Nord-10. La aritmética de punto flotante de doble precisión es también una ventaja notable de los Nord-5 y Nord-50, que merece instrucciones adicionales. [ 4 ] : CI.1–CI.6
Registros
La CPU de los Nord-5 y Nord-50 proporciona 64 registros generales de 32 bits, denominados GR 0..63 . Dado que la aritmética de punto flotante es una característica fundamental de ambos sistemas, las operaciones de punto flotante también utilizan estos registros. En este aspecto, el Nord-5 y el Nord-50 difieren en la compatibilidad con las representaciones de punto flotante: el Nord-5 solo admite una representación de 64 bits con una mantisa de 52 bits y un exponente de 11 bits [ 2 ] : 1–2, 1–3, mientras que el Nord-50 admite representaciones de 32 y 64 bits, esta última con una mantisa de 55 bits y un exponente de 9 bits [ 11 ] : 1–2, 1–3 .
Dado que los valores de 64 bits requieren pares de registros generales de 32 bits, el Nord-5 asigna cada registro flotante de FR 0..15 a un registro de GR 0..15 para la palabra más significativa de la representación de 64 bits, emparejando ese registro con uno de GR 16..31 para la palabra menos significativa. De manera similar, FR 32..47 empareja los registros de GR 32..47 con los de GR 48..63 . [ 2 ] : 1–4 Esta disposición continúa en el Nord-50 para registros flotantes de doble precisión, denotados FDR 0..15,32..47 , con registros flotantes de precisión simple FR 0..15,32..47 que corresponden a GR 0..15,32..47 , empleando así solo uno de los registros en los pares asignados a registros flotantes de doble precisión [ 11 ] : 1–4
Los primeros dieciséis registros generales son más versátiles, ya que pueden usarse como registro base o registro índice en las instrucciones de acceso a memoria, proporcionando así los registros base BR 0..15 y los registros índice XR 0..15 . Los dieciséis registros generales siguientes también asumen un papel especial como registros de modificación en determinadas circunstancias, correspondiendo MR 0..15 a GR 16..31 . [ 2 ] : 1–5 [ 11 ] : 1–7 Al igual que en otras arquitecturas de procesador, el registro cero GR 0 está conectado a un valor de cero, y esto afecta a todas las interpretaciones del registro (como BR 0 , FR 0 , XR 0 y MR 0 ). [ 2 ] : 1–4 [ 11 ] : 1–4
Los registros especiales dedicados a funciones específicas incluyen un registro de desbordamiento (OR) aplicable a la multiplicación y un registro de resto (RR) aplicable a la división. El registro contador de programa (P) almacena la dirección de la instrucción que se está leyendo de la memoria, y el registro de instrucciones (IR) contiene la instrucción que se está ejecutando actualmente. [ 2 ] : 1–5 [ 11 ] : 1–7
Conjunto de instrucciones
Las instrucciones de referencia de memoria implican el cálculo de una dirección de memoria efectiva y el acceso a dicha ubicación. Estas instrucciones pueden utilizar direccionamiento directo o indirecto. Las instrucciones de direccionamiento directo también implican la ejecución de una función específica, utilizando la dirección efectiva y un registro determinado.
En ambas formas, la dirección efectiva se calcula utilizando los registros base e índice indicados, sumando el valor de desplazamiento:
Ea = R B + R X + D
Con el campo I desactivado o vacío, una instrucción de direccionamiento directo ejecuta una función indicada por el campo FC, utilizando la dirección efectiva junto con un registro indicado por el campo de designador de registro. Cada una de las funciones constituye la base de una instrucción individual específica e incluye los siguientes ejemplos:
Entre las operaciones menos comunes se incluyen las operaciones de salto condicional (como CRD, CRE, CRG, CRL), que comparan los valores de los registros con los valores obtenidos de la dirección efectiva, omitiendo la siguiente instrucción en la secuencia donde se cumple la condición. La ejecución remota (EXC) implica la ejecución de una instrucción obtenida de la dirección efectiva o incluso la ejecución del propio valor de la dirección calculada, interpretado como una instrucción.
Con el campo I activado, se produce una instrucción de direccionamiento indirecto, que incorpora un valor de desplazamiento potencialmente mayor en el cálculo de la dirección efectiva. Sin embargo, no interviene ninguna función. En su lugar, se obtiene la palabra de 32 bits en la ubicación de la dirección efectiva calculada para proporcionar otra instrucción de referencia de memoria que codifica los detalles de una nueva dirección efectiva. De este modo, se carga y ejecuta una instrucción desde fuera del flujo de instrucciones habitual, de forma similar a la instrucción EXC. Cuando se obtiene otra instrucción de direccionamiento indirecto, se repite el ciclo de obtención de una nueva dirección efectiva, y la arquitectura permite encadenar hasta 16 referencias indirectas, finalizando con una referencia directa. [ 2 ] : 2–1, 2–2 [ 11 ] : 2–1, 2–2
Las instrucciones entre registros implican operaciones que solo utilizan registros. Se pueden distinguir de las instrucciones de referencia a memoria dejando los bits 18 a 22 sin activar, y el bit 31 sin activar para distinguirlas de las instrucciones de argumento. [ 2 ] : 2–3 [ 11 ] : 2–3
El formato sugiere el uso general de dos registros de origen y un registro de resultado (destino). Sin embargo, algunas instrucciones utilizan el campo SRB para codificar constantes como magnitudes de desplazamiento o números de bits. Las funciones codificadas por esta clase de instrucciones admiten una selección de instrucciones, entre las que se incluyen las siguientes:
Las instrucciones de salto condicional también aparecen en esta clase de instrucciones, ya sea mediante la comprobación de bits individuales (BSO, BSZ) o mediante la realización de aritmética de punto flotante y enteros seguida de una operación de comparación indicada con cero (FRS, IRS), cuyo resultado determina si se omitirá la siguiente instrucción. Una peculiaridad es la instrucción de llamada al monitor (STOP), que emplea cero en los campos relacionados con la función, utilizando los bits 0 a 17 como código de función en el programa del monitor Nord-1 o Nord-10. [ 2 ] : 3–2 [ 11 ] : 3–2
Las instrucciones de argumento implican operaciones que aplican valores constantes codificados en la instrucción a un valor de registro, actualizando dicho registro. Se distinguen de las instrucciones de referencia a memoria porque los bits 18 a 22 se dejan desactivados, mientras que el bit 31 se deja activado para diferenciarlas de las instrucciones entre registros. [ 2 ] : 2–3 [ 11 ] : 2–3
Esta clase de instrucciones se limita a tres tipos de instrucciones "directas": operaciones aritméticas simples (DAR), operaciones lógicas (DLR) o una operación de salto condicional que involucra los operandos y una operación de complemento (DSK). [ 2 ] : 4–1, 4–2 [ 11 ] : 4–1, 4–2
Clasificación
El gran archivo de registros, la falta de microcódigo y el énfasis en las operaciones rápidas entre registros llevaron a afirmar que el Nord-5 calificaba como una arquitectura RISC . [ 14 ] Sin embargo, las restricciones en la disponibilidad de registros para ciertas funciones, como su uso como operandos base o índice, se asemejan a las arquitecturas CISC, como la del Motorola 68000 , que divide su archivo de registros en registros de dirección y de datos. Ciertas instrucciones también combinan operaciones de procesamiento con accesos a memoria, a diferencia de las características de la arquitectura de carga-almacenamiento de las arquitecturas RISC tradicionales. Los mecanismos de direccionamiento indirecto, que implican el cálculo repetido de direcciones efectivas y la recuperación de valores de dichas direcciones, lo que requiere múltiples ciclos, también son contrarios al principio empleado por las arquitecturas RISC tradicionales de tener unos pocos modos de direccionamiento simples y limitar la mayoría de las instrucciones a la ejecución de un solo ciclo. La ejecución de instrucciones tampoco está segmentada en esta arquitectura, aunque la siguiente instrucción se recupera en paralelo a la ejecución de la instrucción actual. [ 4 ] : III-8-1
Referencias
- ↑ Holt, Knut (1988). Gestión de la innovación de productos . Butterworth & Co. (Publishers) Ltd. pág. 318. Recuperado el 7 de julio de 2023 .
- ^ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Conjunto de instrucciones NORD-5 (PDF) . A/S Norsk Data-Elektronikk. Septiembre de 1971 . Consultado el 30 de agosto de 2024 .
- ↑ "Datastyrt værvarsling" . Glåmdalen (en noruego bokmål). 4 de mayo de 1972. p. 11 . Consultado el 21 de septiembre de 2025 .
- 1 2 3 4 5 6 NORD 50 Descripción funcional (PDF) . Norsk Data AS. Noviembre de 1977. Recuperado el 24 de agosto de 2024 .
- ↑ Smith, Kevin (16 de diciembre de 1985). "Norsk Data crece rápidamente al volverse paneuropeo" . Electronics . págs. 62–63 . Recuperado el 7 de julio de 2023 .
- 1 2 Lamond, Fred (10 de noviembre de 1977). "Éxito noruego con las minicomputadoras 'mainframe'" . Computer Weekly . pág. 31. Recuperado el 3 de febrero de 2026 .
- ↑ Cahill, Kevin (9 de abril de 1981). "Norsk lanza el primer miniordenador europeo de 32 bits" . Computer Weekly . pág. 3. Consultado el 24 de junio de 2024 .
- ↑ "Los barcos dan la bienvenida a los ordenadores noruegos a bordo" . Electrónica . 21 de diciembre de 1970. pág. 76. Consultado el 7 de julio de 2023 .
- ↑ Objetivos de diseño del NORD-10 (PDF) . Datos norsk AS. pag. 3 . Consultado el 26 de agosto de 2024 .
- ↑ "Historial y resultados de las pruebas de rendimiento de Whetstone" . Colección de pruebas de rendimiento de PC de Roy Longbottom . Octubre de 2014. Consultado el 31 de agosto de 2024 .
- 1 2 3 4 5 6 7 8 9 10 11 Manual de referencia NORD-50 (PDF) . Norsk Data AS. Febrero de 1976. Consultado el 26 de agosto de 2024 .
- 1 2 Manual de referencia NORD-1 (PDF) . A/S Norsk Data-Elektronikk. Febrero de 1970 . Consultado el 31 de agosto de 2024 .
- 1 2 Manual de referencia NORD-10/S (PDF) . Norsk Data AS. Junio de 1977. Consultado el 31 de agosto de 2024 .
- ^ Skår, Rolf (1989). Norsk informasjonsteknologi . Ingeniørforlaget/Teknisk Ukeblad. págs. 12 y 13 . Consultado el 21 de noviembre de 2025 .
- Minicomputadoras Norsk Data
- computadoras de 32 bits