Articulo de referencia

Nord-10

El Nord-10 fue un miniordenador de tamaño mediano y propósito general de 16 bits diseñado para aplicaciones de tiempo compartido multilingües y para sistemas multiprograma en ti...

El Nord-10 fue un miniordenador de tamaño mediano y propósito general de 16 bits diseñado para aplicaciones de tiempo compartido multilingües y para sistemas multiprograma en tiempo real , fabricado por Norsk Data . Fue presentado en 1973. El modelo sucesor, el Nord-10/S, presentado en 1975, incorporó caché de CPU , paginación y otras mejoras diversas.

La CPU contaba con un microprocesador, que en el manual se definía como una combinación de las palabras " microcode processor" (procesador de microcódigo) , que no debía confundirse con el entonces incipiente microprocesador. Además, la CPU contenía instrucciones, comunicación con el operador, cargadores de arranque y programas de prueba de hardware, implementados en una memoria de solo lectura de 1 KB .

El microprocesador también permitía incorporar instrucciones personalizadas. El Nord-10 contaba con un sistema de gestión de memoria con paginación por hardware que ampliaba el tamaño de la memoria de 64 a 256 KB de palabras de 16 bits, y dos sistemas de protección independientes: uno que actuaba sobre cada página y otro sobre el modo de las instrucciones. El sistema de interrupciones disponía de 16 niveles de programa por hardware, cada uno con su propio conjunto de registros de propósito general.

Nota: Gran parte de la siguiente información proviene de un documento escrito por Norsk Data que presenta el Nord-10. Algunos datos, en particular sobre el sistema de memoria, pueden ser inexactos para el Nord-10/S posterior. [ 1 ]

Procesador central

La unidad central de procesamiento (CPU) constaba de un total de 24 placas de circuitos impresos . Las últimas ocho posiciones del bastidor se utilizaban para dispositivos de entrada/salida (E/S) controlados por programa, como la teleimpresora de consola (teletipo), la perforadora de cinta de papel y de tarjetas perforadas , la impresora de línea, la pantalla, el panel del operador y un reloj en tiempo real .

El Nord-10 contaba con 160 registros de procesador , de los cuales 128 estaban disponibles para los programas, ocho en cada uno de los 16 niveles de programa. Seis de estos registros eran registros generales, uno era el contador de programa y el otro contenía información de estado. Las operaciones aritméticas de punto flotante eran estándar. Las instrucciones podían operar con cinco formatos diferentes: un bit , un byte de 8 bits , palabras de 16 bits, palabras dobles de 32 bits y palabras de punto flotante de 48 bits.

Memoria

El sistema de memoria de acceso aleatorio de los primeros Nord-10 estaba compuesto por módulos de 8K y 16 bits alojados en un bastidor de memoria especial. Un bastidor de 19 pulgadas podía albergar hasta ocho módulos de 8K. Era posible ampliar el espacio de direcciones físicas del Nord-10 más allá de 64K hasta un máximo de 256K palabras de 16 bits. El sistema de paginación traducía una dirección virtual de 16 bits a una dirección física de 18 bits .

El sistema de paginación por hardware permitía a un usuario escribir programas de hasta 64 KB (memoria virtual), y solo partes del programa podían estar presentes en la memoria física en cada momento (mediante asignación dinámica de memoria). El sistema de paginación dividía la memoria en páginas de 1 KB. Las cuatro tablas de índices de página se ubicaban en un bloque de memoria ultrarrápida de 256 palabras. El cálculo de una dirección física no generaba un retraso apreciable en el tiempo efectivo del ciclo de memoria.

El Nord-10 contaba con dos sistemas de protección independientes. Cada página individual podía protegerse contra la lectura, la escritura (de datos o instrucciones) o la lectura de instrucciones. Además, existía un sistema que dividía las páginas en cuatro categorías diferentes, denominadas anillos. Los anillos tenían una prioridad del 0 al 3. Un programa en un anillo inferior nunca podía acceder a las páginas de un anillo superior. Los programas que se ejecutaban en los anillos 2 y 3 podían utilizar todo el conjunto de instrucciones del Nord-10, mientras que los programas en los anillos 0 y 1 solo disponían de un conjunto de instrucciones limitado. Los diferentes anillos se mostraban en el panel del operador. Por ejemplo, el anillo 0 (Usuario) podía contener un programa de usuario, mientras que los compiladores y ensambladores se ejecutaban en el anillo 1 (Usuario Protegido). La mayor parte del sistema operativo podía ejecutarse en el anillo 2 (Sistema), y el núcleo en el anillo 3 (Sistema Protegido). Si se intentaba ejecutar instrucciones privilegiadas en el anillo 0 o 1, o acceder a una página protegida, se generaba automáticamente una interrupción de estado de hardware en el nivel de programa 14 que indicaba el error.

El Nord-10 empleaba memoria de núcleo magnético , pero en 1974 se introdujo una variante conocida como Nord-42 con memoria de semiconductor de óxido metálico de estado sólido . A partir de 1975, otros modelos adoptaron esta tecnología. El Nord-42 se describió como compatible con el software del Nord-10 y particularmente adecuado para su integración en sistemas más grandes. [ 2 ]

Arquitectura del sistema de E/S y del bus

El NORD-10 estaba equipado con un sistema de bus común para todos los dispositivos periféricos externos . El sistema de bus estaba dividido en grupos, y se había hecho un gran esfuerzo para asegurar que ningún dispositivo pudiera bloquear el sistema de bus en caso de mal funcionamiento. Cada grupo tenía su propio controlador que, además de funcionar como un interruptor electrónico para el sistema de bus, también podía cambiar la prioridad para todo el grupo. Todas las interconexiones entre las tarjetas se realizaban con placas de circuito impreso multicapa con cableado inverso , y todas las interfaces de entrada/salida tenían el mismo formato estándar. Por lo tanto, el sistema podía ampliarse o reconfigurarse conectando nuevas tarjetas de interfaz o reubicando las existentes. La posición de la interfaz del dispositivo en el bastidor de tarjetas determinaba la prioridad de interrupción del dispositivo. En las transferencias de acceso directo a memoria , el dispositivo enviaba una solicitud . La CPU respondía con una señal de concesión , que se transmitía de dispositivo en dispositivo hasta llegar al dispositivo que inició la solicitud , y se podía realizar la transferencia a la memoria. Cuando dos o más dispositivos solicitaban una solicitud DMA simultáneamente, la solicitud a la CPU tenía la máxima prioridad. Tras un ciclo de memoria, el siguiente dispositivo DMA en la cadena podía enviar datos, y así sucesivamente, hasta que un dispositivo de mayor prioridad volviera a enviar una solicitud. Esto significaba que muchos dispositivos DMA podían usar el mismo sistema de bus a la máxima velocidad de transferencia de datos. No era necesario establecer una conexión maestro-esclavo . La transferencia era de una palabra de 16 bits cada 850 nanosegundos, o 2,2 MB/s. 

El panel posterior impreso del bus de E/S era modular y constaba de grupos de 8 ranuras de interfaz. Las interfaces para dispositivos de almacenamiento masivo, como discos , tambores , cintas magnéticas , etc., se construían con una tarjeta de interfaz que se conectaba en el lugar correspondiente del sistema de bus; las tarjetas de control restantes (6-7) se colocaban en uno de los módulos del panel posterior.

Sistema de interrupción

El Nord-10 contaba con un sistema multiprograma con 16 niveles de prioridad. Cada nivel tenía su propio conjunto de registros, incluyendo un contador de programa y una palabra de estado . Los niveles en ejecución podían visualizarse en el panel frontal pulsando el botón "niveles activos". Los niveles del 0 al 9 se utilizaban para los programas. Las interrupciones internas de estado del hardware se asignaban al nivel 14, mientras que el nivel 15 estaba reservado para interrupciones de usuario extremadamente rápidas (este nivel se denominaba coloquialmente "nivel de sincrotrón", ya que el único programa que lo había utilizado era el que controlaba el sincrotrón del CERN ).

Los niveles 10, 11, 12 y 13 estaban reservados para dispositivos externos. Cada dispositivo tenía su propio vector de identificación único. En total, había 2048 vectores disponibles. La instrucción "ident" determinaba qué dispositivo generaba una interrupción. La identificación de una interrupción tardaba 1,7 microsegundos, incluyendo el tiempo necesario para habilitar y deshabilitar los registros.

Software del sistema

El Nord-10 se entregaba con un sistema de tiempo compartido, Nord-TSS, y un sistema operativo multitarea en tiempo real , Sintran III . La configuración mínima para Sintran III incluía un Nord-10 estándar con 8K de memoria de núcleo magnético .

Con NORD-TSS, todos los usuarios podían ejecutar simultáneamente cualquiera de los sistemas Fortran IV , BASIC , MAC Assembler , NODAL , NORD-PL o QED .

Sistemas restantes conocidos

Se sabe que aún existen varios sistemas Nord-10 y Nord-10/S, muchos de los cuales se encuentran en condiciones casi operativas, y varios están bajo el cuidado de NODAF. NODAF planea restaurar sistemas tanto en Oslo como en Oslo.y Trondheim por la Universidad Noruega de Ciencia y Tecnología .

Su predecesor fue el Nord-1 y su sucesor el Nord-100 .

Referencias

  1. ^ Børresen, Jan Aske. Dentro de NORD-10 (Reporte). A/S Norsk Data-Elektronikk, ND-nytt.
  2. ^ Rambøl, Odd E.; Norhaug, Odd (9 de febrero de 1976). Norsk datamaskinindustri – en næringspolitisk oversikt . Norsk Regnesentral. págs.100 , 104.