stringtranslate.com

Serie ICL 2900

Un ICL 2966 modelo 39

La serie ICL 2900 era una gama de sistemas informáticos mainframe anunciada por el fabricante británico International Computers Limited el 9 de octubre de 1974. La empresa había iniciado el desarrollo con el nombre de "New Range" inmediatamente después de su formación en 1968. La gama no fue diseñada para ser compatible con cualquier máquina anterior producida por la empresa, ni por compatibilidad con las máquinas de la competencia: más bien, fue concebido como una opción sintética , que combina las mejores ideas disponibles de una variedad de fuentes.

En términos de marketing, la Serie 2900 fue reemplazada por la Serie 39 a mediados de la década de 1980; sin embargo, la Serie 39 era esencialmente un nuevo conjunto de máquinas que implementaban la arquitectura de la Serie 2900, al igual que las máquinas ICL posteriores con la marca "Trimetra".

Orígenes

Cuando se formó ICL en 1968 como resultado de la fusión de International Computers and Tabulators (ICT) con English Electric Leo Marconi y Elliott Automation , la empresa consideró varias opciones para su futura línea de productos. Estos incluyeron mejoras a la Serie 1900 de ICT o al English Electric System 4 , y un desarrollo basado en Basic Language Machine de JK Iliffe . La opción finalmente elegida fue la denominada Opción Sintética : un nuevo diseño conceptualizado desde cero.

Como su nombre lo indica, el diseño fue influenciado por muchas fuentes, incluidas las máquinas ICL anteriores. El diseño de los mainframes de Burroughs fue influyente, aunque ICL rechazó el concepto de optimizar el diseño para un lenguaje de alto nivel. El sistema Multics aportó otras ideas, especialmente en el ámbito de la protección. Sin embargo, la mayor influencia externa fue probablemente la máquina MU5 desarrollada en la Universidad de Manchester .

Conceptos arquitectonicos

Unidades de disco ICL 2966
Operador sumando unidad
Operador sumando unidad

la maquina virtual

La arquitectura de la Serie 2900 utiliza el concepto de máquina virtual como el conjunto de recursos disponibles para un programa. El concepto de máquina virtual en la arquitectura de la serie 2900 difiere del término utilizado en otros entornos . Debido a que cada programa se ejecuta en su propia máquina virtual, el concepto puede compararse con un proceso en otros sistemas operativos, mientras que el proceso de la serie 2900 se parece más a un subproceso .

El recurso más obvio en una máquina virtual es el almacén virtual (memoria). Otros recursos incluyen periféricos, archivos y conexiones de red.

En una máquina virtual, el código puede ejecutarse en cualquiera de las dieciséis capas de protección, llamadas niveles de acceso (o niveles ACR, en honor al Registro de Control de Acceso que controla el mecanismo). Los niveles más privilegiados del código del sistema operativo (el kernel) operan en la misma máquina virtual que la aplicación del usuario, al igual que los niveles intermedios, como los subsistemas que implementan el acceso al almacén de archivos y la creación de redes. Por lo tanto, las llamadas al sistema implican un cambio de nivel de protección, pero no una llamada costosa para invocar código en una máquina virtual diferente. Cada módulo de código se ejecuta en un nivel de acceso particular y puede invocar las funciones ofrecidas por el código de nivel inferior (más privilegiado), pero no tiene acceso directo a la memoria u otros recursos en ese nivel. Por tanto, la arquitectura ofrece un mecanismo de encapsulación incorporado para garantizar la integridad del sistema.

Se pueden compartir segmentos de memoria entre máquinas virtuales. Hay dos tipos de memoria compartida: segmentos públicos utilizados por el sistema operativo (que están presentes en todas las máquinas virtuales) y segmentos globales utilizados para datos compartidos a nivel de aplicación: este último mecanismo se utiliza sólo cuando la aplicación requiere dos máquinas virtuales para comunicarse. Por ejemplo, los segmentos de memoria global se utilizan para las tablas de bloqueo de bases de datos. Se encuentran disponibles instrucciones de semáforo de hardware para sincronizar el acceso a dichos segmentos. Una curiosidad menor es que dos máquinas virtuales que comparten un segmento global utilizan direcciones virtuales diferentes para las mismas ubicaciones de memoria, lo que significa que las direcciones virtuales no se pueden pasar de forma segura de una máquina virtual a otra.

El término utilizado en las máquinas ICL Serie 2900 e ICL Serie 39 para unidad central de procesamiento (CPU) es "Procesador de código de pedido" (OCP).

Mecanismos de direccionamiento

La arquitectura 2900 admite una pila de llamadas basada en hardware , lo que proporciona un vehículo eficiente para ejecutar programas en lenguaje de alto nivel, especialmente aquellos que permiten llamadas a funciones recursivas. Esta fue una decisión con visión de futuro en ese momento, porque se esperaba que los lenguajes de programación dominantes fueran inicialmente COBOL y FORTRAN . La arquitectura proporciona mecanismos integrados para realizar llamadas a procedimientos utilizando la pila y registros de propósito especial para direccionar la parte superior de la pila y la base del marco de la pila actual.

Los datos fuera de la pila generalmente se abordan mediante un descriptor . Se trata de una estructura de 64 bits que contiene una dirección virtual de 32 bits y 32 bits de información de control. La información de control identifica si el área que se aborda es código o datos; en el caso de datos, el tamaño de los elementos direccionados (1, 8, 32, 64 o 128 bits); una bandera para indicar si se requiere verificación de hardware vinculada a la matriz; y varias otras mejoras.

La dirección virtual de 32 bits comprende un número de segmento de 14 bits y un desplazamiento de 18 bits dentro del segmento.

El código de pedido no forma parte estrictamente de la arquitectura 2900. Este hecho se ha aprovechado para emular otras máquinas microcodificando sus conjuntos de instrucciones. Sin embargo, en la práctica, todas las máquinas de la serie 2900 implementan un código de pedido o conjunto de instrucciones común, conocido como PLI (Primitive Level Interface). Está diseñado principalmente como objetivo para compiladores de lenguajes de alto nivel. Las máquinas más potentes, como la 2980 y la 2988, implementaban todas las instrucciones en hardware, mientras que las demás utilizaban firmware microcodificado.

Hay varios registros, cada uno diseñado para un propósito especial. Un registro acumulador (ACC) está disponible para uso general y puede tener un tamaño de 32, 64 o 128 bits. El registro B se utiliza para indexar en matrices; el registro LNB (Local Name Base) apunta a la base del marco de la pila actual, con el registro SF (Stack Front) apunta a la "parte superior" móvil de la pila; el registro DR se utiliza para contener descriptores para direccionarlos al montón, etc. También hay dos punteros de 32 bits para datos fuera de la pila; XNB (base de nombres extra) y LTB (base de tabla de vinculación).

Los formatos de datos reconocidos por las instrucciones PLI incluyen enteros sin signo de 32 bits; Enteros en complemento a dos de 32 y 64 bits; Punto flotante de 32 bits, 64 bits y 128 bits; y decimal empaquetado de 32, 64 y 128 bits. Contrariamente a la convención de C y UNIX, el valor booleano verdadero se representa como cero y falso se representa como menos uno. Las cadenas se almacenan como matrices de caracteres de 8 bits, codificadas convencionalmente en EBCDIC (aunque el EBCDIC de ICL tiene variaciones menores con respecto a la versión de IBM). Es posible utilizar ISO (esencialmente ASCII) en lugar de EBCDIC configurando un bit de control en un registro privilegiado; Esto afecta, entre otras cosas, a determinadas instrucciones de conversión decimal.

Debido a que algunas de las instrucciones PLI, en particular aquellas para llamar a procedimientos, son muy poderosas (especialmente las llamadas al sistema), las velocidades de instrucción en la Serie 2900 no siempre son directamente comparables con las del hardware de la competencia. La literatura de marketing de ICL tendía a utilizar el concepto de "MIPS equivalente a IBM", siendo la clasificación MIPS de un mainframe IBM que logró el mismo rendimiento en los puntos de referencia de aplicaciones. Las eficiencias logradas por la arquitectura 2900, en particular la evitación de gastos generales de llamadas al sistema, compensaron el rendimiento relativamente lento del hardware bruto.

Implementaciones

Serie P (paralela)

Un terminal ICL 7561 , utilizado como consola de operador

Las primeras máquinas anunciadas en la Serie 2900 fueron la 2980 y la 2970. La 2980 permitía uno o dos procesadores de código de pedido (OCP), cada uno de los cuales operaba hasta 3 millones de instrucciones por segundo, con memoria real configurable hasta 8 megabytes, con 500 Tiempo de acceso de nanosegundos.

El 2980 fue inicialmente el más potente de las computadoras centrales de nueva gama de ICL. Además de los OCP, constaba de un controlador de acceso múltiple al almacén (SMAC) y uno o más controladores de acceso al almacén (SAC), un controlador periférico general (GPC), uno o más controladores de archivos de disco (DFC) y un controlador de enlace de comunicaciones. (CLC), junto con unidades de disco (una configuración típica tendría ocho unidades EDS 200), pletinas de cinta, una estación operativa (OPER), impresoras de línea y lectores de tarjetas. Podría ejecutar el sistema operativo ICL VME (VME/B, VME/K) o el Sistema de Acceso Múltiple de Edimburgo (EMAS). Una configuración típica de 2980 costaría alrededor de £2 millones (equivalente a £13 millones en 2021).

A diferencia del 2980, el 2970 y el 2960 posterior estaban microcodificados y, por lo tanto, permitían la emulación de conjuntos de instrucciones como los de la antigua Serie 1900 o el System 4.

Se construyó una máquina de la Serie 2900 a partir de varios módulos funcionales, cada uno de ellos contenido en un gabinete separado. Los dispositivos periféricos se conectaron mediante la interfaz primitiva de ICL (enchufe/enchufe y juego de cables) a un adaptador de puerto en el SMAC. Se empleó direccionamiento lógico y se utilizó un esquema de grupo para identificar los componentes del sistema en términos de puertos, troncales y flujos.

Una troncal era un nombre genérico y una dirección de hardware dentro de un puerto al que se asignaría un controlador periférico. Un Trunk era un nombre genérico para un controlador para varios dispositivos Stream. Un Stream era el nombre genérico del canal bajo el cual se podía hacer referencia a dispositivos periféricos individuales.

El proceso de arranque de la Serie 2960 merece una mención especial: el OCP contenía un mini terminal OPER y una platina de casete. En el arranque, el OCP realizaría su carga de programa inicial (IPL) desde el dispositivo IPL designado. El código IPL proporcionó los medios para que el OCP descubriera la configuración de hardware del sistema consultando los flujos, troncales y puertos para encontrar el dispositivo de arranque predeterminado o elegido manualmente para el conjunto de microcódigos y/o Sistema operativo que se va a iniciar. Este proceso se denominó GROPE o Reconocimiento General de Equipos Periféricos. El método de carga del casete también permitió al personal de ingeniería cargar y ejecutar software de diagnóstico.

Serie S (de serie)

Las primeras máquinas fueron reemplazadas posteriormente por una familia de máquinas basadas en el diseño de gama media 2966, que era menos costoso de construir y utilizaba interconexiones en serie en lugar de en paralelo . El rendimiento del 2966 se amplió hasta el 2988 y hasta el 2958, aumentado con versiones de doble procesador , para cubrir todo el rango de rendimiento. [2]

Ver también

Fuentes

Referencias

  1. ^ Campbell-Kelly, Martin (noviembre de 1989). "Investigación y desarrollo de la empresa ICL. Parte 3: La nueva gama y otros desarrollos" (PDF) . Revista Técnica ICL . ICL. 6 (4): 791–795 . Consultado el 19 de diciembre de 2021 .
  2. ^ Moralee, Dennis (noviembre-diciembre de 1981). "Robb Wilmot: la historia de ICL". Electrónica y energía . 27 (11). doi : 10.1049/ep.1981.0360 . Consultado el 18 de diciembre de 2021 .

enlaces externos

Los gabinetes en primer plano, etiquetados 44, 45, etc., son unidades de disco intercambiables; Los contenedores de plástico en la parte superior de los gabinetes se usan para guardar los discos si se retiran de las unidades. Los contenedores más grandes que contienen más platos tienen una capacidad de 200 MB, los más pequeños normalmente tendrían 40 MB. El color naranja de los gabinetes (oficialmente "tango quemado") fue el color dominante utilizado en la imagen corporativa de ICL en el momento del lanzamiento del sistema.