Nord-10 era una minicomputadora de 16 bits de propósito general de tamaño mediano diseñada para aplicaciones multilingües de tiempo compartido y para sistemas multiprograma en tiempo real, producida por Norsk Data . Fue introducido en 1973. El modelo de seguimiento posterior, Nord-10 / S, introducido en 1975, introdujo caché de CPU , paginación y otras mejoras diversas.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/9/99/Nord-10.jpeg/220px-Nord-10.jpeg)
La CPU tenía un microprocesador, que se definía en el manual como un acrónimo de "procesador de microcódigo", que no debe confundirse con el entonces incipiente microprocesador. La CPU también contenía instrucciones, comunicación con el operador, cargadores de arranque y programas de prueba de hardware, que se implementaron en una memoria de solo lectura de 1K .
El microprocesador también permitió incorporar instrucciones especificadas por el cliente. Nord-10 tenía un sistema de administración de memoria con paginación de hardware que extendía el tamaño de la memoria de 64 a 256K palabras de 16 bits y dos sistemas de protección independientes, uno actuando en cada página y otro en el modo de instrucciones. El sistema de interrupciones tenía 16 niveles de programa en 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. Es posible que parte de la información, particularmente sobre el sistema de memoria, no sea precisa para el Nord-10 / S posterior.
La CPU
La CPU constaba de un total de 24 placas de circuito impreso . Las últimas ocho posiciones en el bastidor se utilizaron para dispositivos de E / S operados por control de programa, como el teletipo de la consola , la cinta de papel perforada y el lector y perforador de tarjetas perforadas, la impresora de línea, la pantalla, el panel del operador y el reloj en tiempo real .
El Nord-10 tenía 160 registros , de los cuales 128 estaban disponibles para programas, ocho en cada uno de los 16 niveles de programas. Seis de esos registros eran registros generales, uno era el contador del programa y el otro contenía información sobre el estado. Las operaciones de coma flotante eran estándar. Las instrucciones pueden operar en cinco formatos diferentes, un bit , un byte de 8 bits , palabras de 16 bits, palabras dobles de 32 bits y palabras de coma flotante de 48 bits.
La memoria
El sistema de memoria de los primeros Nord-10 se construyó con módulos de 8K de 16 bits alojados en un bastidor de memoria especial. Un bastidor de 19 pulgadas podría ocupar hasta ocho módulos de 8K. Fue posible extender 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 localización tradujo una dirección virtual de 16 bits en una dirección física de 18 bits .
El sistema de paginación de hardware hizo posible que un usuario escribiera programas de hasta 64 K (memoria virtual) y que solo partes del programa estuvieran presentes en la memoria física en cualquier momento (utilizando la asignación de memoria dinámica). El sistema de localización dividió la memoria en 1K páginas. Las tablas de índice de cuatro páginas se encontraron en un bloque de memoria extremadamente rápido de 256 palabras. El cálculo de una dirección física no provocó un retraso apreciable en el tiempo de ciclo de memoria efectivo.
El Nord-10 tenía dos sistemas de protección independientes. Cada página individual podría protegerse contra la lectura, escritura en (datos de tipo o instrucciones de tipo) o contra la lectura de instrucciones. Además, existía un sistema que dividía las páginas en cuatro categorías diferentes, llamadas anillos. Los anillos tenían una prioridad de 0 a 3. A un programa en un anillo inferior nunca se le permitió acceder a las páginas de un anillo superior. Los programas que se ejecutaban en los anillos 2 y 3 podían usar todo el conjunto de instrucciones de Nord-10, mientras que los programas en los anillos 0 y 1 solo tenían un conjunto de instrucciones limitado disponible. Los diferentes anillos se muestran en el panel del operador. Por ejemplo, el anillo 0 (Usuario) puede haber tenido un programa de usuario, mientras que los compiladores y ensambladores se ejecutaron en el anillo 1 (Usuario protegido). La mayor parte del sistema operativo podría ejecutarse en el anillo 2 (Sistema) y el núcleo en el anillo 3 (Sistema protegido). Si se intenta ejecutar instrucciones privilegiadas en el anillo 0 o 1, o se intenta acceder a una página protegida, se generará automáticamente una interrupción de estado de hardware en el nivel de programa 14 indicando el error.
Sistema de E / S y arquitectura de bus
El NORD-10 estaba equipado con un sistema de bus común para todos los dispositivos externos . El sistema de bus se dividió en grupos y se hizo un gran esfuerzo para garantizar que ningún dispositivo pudiera interferir en el sistema de bus en caso de avería. 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 realizaron con placas de cableado de circuito impreso multicapa , y todas las interfaces de entrada / salida tenían la misma forma estándar. Por lo tanto, el sistema podría ampliarse o reconfigurarse conectando nuevas tarjetas de interfaz o cambiando las existentes. La posición de la interfaz del dispositivo en el bastidor de tarjetas determina la prioridad de interrupción del dispositivo. En las transferencias de acceso directo a la memoria, el dispositivo enviaría una "solicitud". La CPU respondería con una señal de "concesión", que se pasaría de un dispositivo a otro hasta que llegara al dispositivo que inició la "solicitud", y podría tener lugar la transferencia a la memoria. Cuando dos o más dispositivos solicitan una solicitud DMA simultáneamente, la CPU tiene la prioridad más alta. Un ciclo de memoria más tarde, al siguiente DMA de la cadena se le permitirí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 utilizar el mismo sistema de bus a la velocidad de transferencia de datos completa. No fue necesario establecer una conexión "maestro-esclavo". La transferencia fue una palabra de 16 bits / 850 nanosegundos, o 2,2 MB / s.
El backplane impreso del bus de E / S era modular en grupos de 8 ranuras de interfaz. Se construyeron interfaces para almacenamiento masivo como disco , tambor , cinta magnética , etc., con una tarjeta de interfaz que se enchufaría en el lugar apropiado en el sistema de bus, las tarjetas de control restantes (6-7) se colocaron en uno de los módulos de backplane .
Sistema de interrupción
El Nord-10 tenía un sistema multiprograma con 16 niveles de programas prioritarios. Cada nivel de programa tenía su propio conjunto de registros, incluido un contador de programa y una palabra de estado . Los niveles en ejecución se pueden mostrar en el panel frontal presionando el botón "niveles activos". Los niveles del 0 al 9 se utilizaron para los programas. Las interrupciones de estado de hardware internas se asignaron al nivel 14, mientras que el nivel 15 se reservó para interrupciones de usuario extremadamente rápidas (esto se llamaba coloquialmente el "nivel de sincrotrón", ya que el único programa que lo había utilizado era el programa que controlaba el sincrotrón en el CERN )
Los niveles 10, 11, 12 y 13 se reservaron para dispositivos externos. Cada dispositivo tenía su propio vector de identificación único. En total, 2048 vectores de este tipo estaban disponibles. La instrucción "ident" determinó qué dispositivo estaba dando una interrupción. La identificación de una interrupción tomó 1,7 microsegundos, incluido el tiempo necesario para habilitar y deshabilitar los registros.
Software del sistema
El Nord-10 se entregó 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 núcleo .
Con NORD-TSS todos los usuarios pueden ejecutar simultáneamente cualquiera de los sistemas Fortran IV , BASIC , MAC Assembler , NODAL , NORD-PL o QED .
Sistemas restantes conocidos
Hay varios sistemas Nord-10 y Nord-10 / S que se sabe que permanecen, muchos de los cuales están en condiciones casi operativas y varios están bajo el cuidado de NODAF. Las restauraciones de los sistemas están previstas tanto en Oslo por NODAF [1] como en Trondheim por la Universidad Noruega de Ciencia y Tecnología .
Su predecesor fue el Nord-1 y su sucesor el Nord-100 .
Fuentes
"Inside NORD-10", de Cand. Verdadero. Jan Aske Børresen para A / S Norsk Data-Elektronikk, ND-nytt