# Atlas (computadora)

El ordenador Atlas fue un modelo de supercomputadora diseñado conjuntamente entre la Universidad de Mánchester y las compañías Ferranti y Plessey. Cuando se puso en funcionamiento el primer Atlas en la Universidad de Mánchester en 1962, era una de las primeras supercomputadoras, y la más rápida hasta la salida al mercado de los CDC 6600. En aquel momento se llegó a afirmar que ella sola suponía la mitad de la capacidad de computación de todo el Reino Unido. Se trataba de un equipo de segunda generación que usaba transistores de germanio. Se fabricaron otras dos máquinas Atlas: una para la British Petroleum y la Universidad de Londres, y otra para el Laboratorio de Informática Atlas en Chilton, cerca de Oxford.
Ferranti diseñó una variante del sistema para la Universidad de Cambridge, llamado Titán o Atlas 2. Este tenía una organización de memoria diferente, y usaba un sistema operativo desarrollado por el Laboratorio de Informática de Cambridge, que permitía el tiempo compartido.
El sistema Atlas de la Universidad de Mánchester fue retirado en 1971. El último ordenador Atlas estuvo en servicio hasta 1974. Partes del Atlas de Chilton son conservadas en el Museo Nacional de Escocia, en Edimburgo.

## Descripción técnica
### Hardware

La máquina tenía muchas características innovadoras, pero la clave de los parámetros de funcionamiento son las siguientes (el tamaño del almacén se refiere a la instalación de Mánchester, los otros eran más grandes):
* 48 bits de tamaño de palabra. Una palabra puede contener un número de coma flotante, una instrucción, dos direcciones de 24 bits o enteros firmados, u ocho 6-bits caracteres.
* 24 bits (2 millones de palabras, 16 millones de caracteres) de espacio de direcciones que abarca el almacenamiento supervisor ( «sagrado»), V-almacenamiento, almacenamiento fijo y almacenamiento de usuario.
* 16 K palabras de almacenamiento central (lo que equivale a 96 KB), con intercalación de par / impar direcciones
* 96K palabras de tambor de almacenamiento (eqv. a 576 KB), dividido en cuatro tambores, pero integrado con el almacenamiento central utilizando la memoria virtual (en ese momento a que se refiere como "un nivel de almacenamiento") y técnicas de paginación.
* Un gran número (más de 100) de alta velocidad de índice de los registros (líneas B) que podrían utilizarse para la modificación de direcciones en la mayoría de las instrucciones doble-modificadas. El espacio de registro de direcciones también incluye registros especiales, tales como la dirección de operandos extracode, el exponente del acumulador de la coma flotante y tres controles (programa contador) de registros: supervisor de control, extracode de control y control de los usuarios.
* Capacidad para la adición de nuevos sofisticados (por el momento) periféricos, como la cinta magnética.
* control periférico a través de V-almacenamiento de direcciones, interrupciones y rutinas extracode.
* Una memoria asociativa (contenido de memoria direccionable) para determinar si el lugar de la memoria virtual era en el almacenamiento central.
* Instrucción pipelining.
No utilizó un mecanismo de manera sincronizada, así que la medición del rendimiento no fue fácil pero, como ejemplo:
* Registro punto-fijo añadir - 1,59 microsegundos
* coma-flotante añadir, ninguna modificación - 1,61 microsegundos
* coma-flotante añadir, modificar doble - 2,61 microsegundos
* coma-flotante multiplicar, modificar doble - 4,97 microsegundos

### Extracode

Una característica interesante del Atlas era el extracode, un sistema que permitía que nuevas instrucciones fueran añadidas en el software (firmware en la terminología moderna). Hubo unos 250 extracodes.
La parte superior de los diez bits de una máquina de instrucción Atlas de 48-bit denotó qué operación debe ser realizada. Si el bit más significativo se ponía a cero, se trataba de una simple máquina de instrucción ejecutada directamente por el hardware.
Si el bit superior se estableció se ponía a uno, se trataba de un Extracode y fue implementadp como un tipo especial de salto subrutina a una dirección fija en el almacén (ROM), donde esa dirección era determinada por los otros nueve bits. El modo extracode tuvo su propio programa de la dirección contraria.
Muchos de los extracodes eran lo que hoy en día se podría llamar microcodes, eran simples procedimientos de cálculo que habría sido demasiado ineficiente implementarlos en hardware, por ejemplo seno, logaritmo, raíz cuadrada. Sin embargo, alrededor de la mitad de los códigos fueron diseñados como funciones Supervisor, los cuales invocaron procedimientos del sistema operativo. Ejemplos típicos serían "Imprimir el carácter especificado en la corriente especificada" o "Leer un bloque de 512 palabras de cinta lógica N".
Extracodes eran el único medio por el que un programa podía comunicarse con el programa Supervisor.

### Software

Un único programa de control conocido como el Atlas Supervisor administró el tiempo de procesamiento del ordenador (que es calificado en terminología moderna como un planificador de tareas avanzadas, o simplemente sistema operativo).
Uno de los primeros lenguajes de alto nivel disponibles en el Atlas fue nombrado AutoCode Atlas, que fue contemporáneo a Algol60 y creado específicamente para hacer frente a los defectos de ese idioma que Tony Brooker percibió. Sin embargo, el Atlas apoyó a Algol 60, así como a Fortran y COBOL. Siendo una máquina universitaria, fue patrocinada por un gran número de la población estudiantil que incluso tuvieron acceso a un código de protección de máquina para el desarrollo del medio ambiente.