stringtranslate.com

Serie GEC 4000

Computadoras de la serie GEC 4000 en el Centro de Desarrollo Dunstable de GEC Computers, 1991
Panel frontal del GEC 4080 [1]

La GEC 4000 fue una serie de minicomputadoras de 16/32 bits producidas por GEC Computers Ltd en el Reino Unido durante las décadas de 1970, 1980 y principios de 1990.

Historia

GEC Computers se formó en 1968 como una unidad de negocios del conglomerado GEC . Heredó de Elliott Automation la antigua serie Elliott 900 y necesitaba desarrollar una nueva gama de sistemas. Se identificaron tres gamas, conocidas internamente como Alpha, Beta y Gamma. Alpha apareció primero y se convirtió en el miniordenador de 8 bits GEC 2050. Beta le siguió y se convirtió en el GEC 4080. Gamma nunca se desarrolló, por lo que algunas de sus características mejoradas se incorporaron al 4080. El diseñador principal del GEC 4080 fue el Dr. Michael Melliar-Smith y el diseñador principal del 4060 y el 4090 fue Peter Mackley.

Los sistemas de la serie 4000 se desarrollaron y fabricaron en el Reino Unido en las oficinas de GEC Computers en Borehamwood , Elstree Way. El desarrollo y la fabricación se transfirieron a las nuevas fábricas de la empresa en Woodside Estate, Dunstable , a fines de la década de 1970. En 1979, GEC Computers recibió el Premio de la Reina por Logros Técnicos por el desarrollo de la serie 4000, en particular Nucleus. [2] En 1991, el número de sistemas fabricados estaba disminuyendo, por lo que la fabricación se transfirió a la fábrica de GPT en Beeston, Nottinghamshire y el desarrollo regresó a Borehamwood. Los últimos sistemas se fabricaron alrededor de 1995. Todavía había algunos sistemas GEC 4220 en funcionamiento en 2018 con mantenimiento proporcionado por Telent , y algunos GEC 4310 estuvieron en funcionamiento hasta 2013. El metro de Londres continúa utilizando sistemas GEC 4190 en 2022.

Núcleo

El hardware y el firmware de la serie GEC 4000 incluían una función pionera conocida como Nucleus . [3] Nucleus implementa una serie de características que normalmente se implementan dentro de un núcleo de sistema operativo y, en consecuencia, los sistemas operativos que se ejecutan en sistemas de la serie GEC 4000 no necesitan proporcionar directamente estas características por sí mismos. El firmware de Nucleus no puede ser reprogramado por ningún código que se ejecute en el sistema, y ​​esto hizo que los sistemas fueran particularmente atractivos para una serie de aplicaciones de seguridad.

El núcleo realiza: [4]

No existe ninguna disposición para ejecutar ningún código de modo supervisor/privilegiado/kernel en los sistemas 4000; todo el código del sistema operativo se ejecuta como procesos. Por lo tanto, los controladores de dispositivos , el código del sistema de archivos y otras características que a menudo se encuentran dentro de los núcleos del sistema operativo deben ejecutarse en procesos en los sistemas 4000. Esto implica que todos se ejecutan en sus propios espacios de direcciones, protegidos de las acciones de los demás, al igual que todos los procesos.

Nucleus se configura mediante un conjunto de tablas del sistema, y ​​los procesos que necesitan modificar el funcionamiento de Nucleus tienen acceso a las tablas del sistema pertinentes. Este sería el caso de los procesos que cambian directamente el estado de otros procesos, los procesos que asignan y eliminan segmentos de memoria, los procesos que pueden cambiar el enrutamiento de mensajes entre otros procesos o cambiar la asignación de dispositivos de E/S a procesos, etc. Normalmente, el acceso a las tablas del sistema está limitado a relativamente pocos procesos de confianza, y otros procesos que necesitan realizar operaciones como cargar procesos, asignar memoria, etc. pasarán un mensaje al proceso de confianza pertinente, que lo examinará antes de realizar la acción y responder.

Conjunto de instrucciones

La serie 4000 tiene un conjunto de instrucciones CISC . Tiene bytes de 8 bits , big-endian , memoria direccionable por bytes, aritmética de complemento a dos y formato de punto flotante de base 16 con exceso de 64 (igual que IBM System/360 ). [5]

Los números de modelo inferiores a 4090 son procesadores de 16 bits, y los números de modelo a partir de 4090 son procesadores mixtos de 16 y 32 bits. Esto se relaciona con los tamaños de puntero disponibles para los programas. Todos los sistemas admiten punteros de 16 bits, lo que se conoce como direccionamiento CST (Current Segment Table). Los sistemas de 32 bits también admiten punteros de 32 bits, conocidos como direccionamiento PAS (Paged Address Space). Cada proceso tiene una PAST (Program Accessible Segment Table) que enumera a qué segmentos de memoria del sistema se le permite acceder al programa. El direccionamiento CST permite que cuatro de las entradas PAST se asignen a las direcciones 0, 16 KiB, 32 KiB y 48 KiB, lo que proporciona el espacio de direcciones de 16 bits/64 KiB. Los programas que utilizan más de 64 KiB de memoria deben mapear explícitamente las entradas PAST que necesitan en cualquier momento en sus 4 entradas CST, aunque Nucleus mapeará automáticamente diferentes segmentos de código en las CST. El direccionamiento PAS permite a los programas ver su espacio de direcciones como un espacio de direcciones plano de 32 bits, con entradas PAST sucesivas que aparecen cada 16 KiB, y Nucleus realiza el mapeo de segmentos de entrada PAST automáticamente. Los sistemas de 32 bits admiten la combinación de direccionamiento CST y PAS en el mismo proceso. Todas las instrucciones tienen 16 bits de ancho, excepto algunas instrucciones de direccionamiento PAS que tienen 32 bits. Las instrucciones solo se pueden ejecutar desde el espacio de direcciones CST.

El registro A de 32 bits es el registro acumulador principal. También hay un registro B de 32 bits, que se utiliza más comúnmente junto con el registro A como un registro BA de 64 bits para operaciones de punto flotante de doble precisión. Un registro X de 16 bits se utiliza principalmente para la indexación de matrices, y dos registros Y y Z de 16 bits se utilizan como punteros de 16 bits. Un registro L de 16 bits apunta a datos locales de función, y un registro G siempre contiene cero que se puede utilizar como un puntero global de 16 bits, y también un valor cero de 8 bits, 16 bits o 32 bits. El registro S (secuencia) de 16 bits apunta a la siguiente instrucción que se debe obedecer. El registro EC de 8 bits contiene bits de códigos de condición. (Algo de esto se ilustra en el conjunto de instrucciones mucho más simple del GEC 2050 ). Un registro de 'claves' de solo lectura permite que los programas lean el valor establecido en los interruptores de palanca del panel frontal por el personal de operaciones. No existe ningún registro de puntero PAS de 32 bits: los punteros PAS de 32 bits residen en la memoria en el espacio de direcciones CST de 16 bits y se accede a ellos mediante un puntero de 16 bits. No hay soporte de conjunto de instrucciones para una pila . Hay una serie de registros inaccesibles para los programas que utiliza Nucleus, como los registros de segmento de hardware que apuntan a los cuatro CST del proceso en ejecución, el segmento maestro y los segmentos PAS, y las tablas del sistema.

El conjunto de instrucciones contiene instrucciones que operan registro-registro, almacenamiento-registro, registro-almacenamiento y almacenamiento-almacenamiento. Hay un conjunto de instrucciones de manipulación de cadenas que operan en longitudes variables de almacenamiento, copia, comparación o escaneo en busca de un patrón. Hay una serie de instrucciones Nucleus para tareas como enviar un mensaje a otro proceso o un dispositivo periférico, recibir un mensaje o interrupción, cambiar una entrada CST para que apunte a un segmento diferente al que tenga acceso el proceso, etc.

El 4080 tiene un pipeline de instrucciones de dos etapas . Este se convierte en un pipeline de cuatro etapas para el 4220, el sistema de mayor rendimiento de la serie. Los sistemas 415x y 4x6x de nivel de entrada tienen solo un pipeline de una etapa.

El modo de funcionamiento normal de la CPU se denomina Full Nucleus . Todos los sistemas también admiten un modo de funcionamiento limitado denominado Basic Test . En el modo Basic Test, Nucleus está desactivado, la E/S se realiza de forma diferente y solo se puede ejecutar un único programa, restringido a los 64 KiB inferiores de la memoria, pero todas las demás instrucciones que no sean de Nucleus ni de PAS funcionan con normalidad. Este modo se utiliza muy al principio del arranque para configurar las tablas del sistema que requiere Nucleus, antes de obedecer una instrucción Switch Full Nucleus . Una vez que el sistema ha cambiado a Full Nucleus, no puede volver al modo Basic Test sin la intervención del operador en el panel frontal, lo que en efecto mata cualquier sistema operativo que se estuviera ejecutando. El modo Basic Test también se utiliza para ejecutar cierto software de prueba (de ahí el nombre).

Entrada/salida

El diseño de 4000 E/S se basa en una serie de procesadores de entrada/salida conocidos como IOP , cada uno de los cuales interactúa entre el almacenamiento y un conjunto de controladores de E/S. Los IOP están controlados por la función Nucleus en la CPU, pero una vez que se activa un evento de E/S, funcionan de forma autónoma sin interacción con la CPU hasta que se completa la E/S. Los IOP de interfaz normal pueden admitir hasta 255 o 256 operaciones de E/S simultáneas, cada una en una vía separada . Los controladores de E/S de cada IOP ocuparían una o más vías, según la cantidad de operaciones de E/S simultáneas que necesiten manejar. El IOP controla el acceso de cada vía al almacenamiento principal, permitiendo solo el acceso a ubicaciones de memoria sucesivas definidas para la operación de E/S que la vía está realizando actualmente. Los IOP anteriores realizaban accesos al almacenamiento de 8 y 16 bits de ancho, con un modo de ráfaga para realizar hasta 8 transferencias juntas para controladores de E/S de mayor rendimiento. Los IOP posteriores agregaron accesos de almacenamiento de 32 bits de ancho.

Todos los sistemas tienen al menos un IOP. En el 4080, este primer IOP se denominaba Canal Multiplexor Básico [6] o BMC, y el panel frontal del 4080 permite controlar tanto la CPU como el BMC. Los sistemas 415x y 4x6x de nivel de entrada tienen su primer IOP (Canal Multiplexor Integral o IMC) integrado en el firmware de Nucleus, y por lo tanto las operaciones de E/S en el IMC tenían cierto impacto en el rendimiento de la CPU, aunque los sistemas 4x6x podían tener IOP externos añadidos. Las instrucciones de E/S y las tablas del sistema de Nucleus de la serie 4000 permiten hasta 8 IOP, aunque la mayoría de los modelos de la serie 4000 tenían algún tipo de limitación de hardware que reducía esto. Los sistemas 408x tenían almacenamiento de 4 puertos, con la CPU y el primer IOP compartiendo uno de ellos, y hasta tres IOP adicionales conectados a los puertos de almacenamiento restantes. (La documentación anterior muestra que estos puertos de almacenamiento adicionales también estaban diseñados para conectar CPU adicionales, aunque esta no era una configuración que se vendiera nunca con procesadores 4080). Los modelos posteriores tenían más puertos de almacenamiento, dependiendo de la cantidad de placas de puerto de almacenamiento que se pudieran instalar en el sistema. El 4190 podía admitir el complemento completo de ocho IOP, y el 4190D admitía ocho IOP con dos CPU.

Algunos controladores de E/S de uso común son el temporizador de intervalos , el controlador de la consola del sistema , el lector de cinta perforada y los controladores de perforación, el controlador de impresora de línea (todos estos utilizan una sola vía), varios controladores de disco SMD (y una interfaz de bus de disco anterior ) para controlar hasta cuatro unidades (todos utilizando dos vías), controladores de cinta magnética Pertec PPC para hasta cuatro unidades de cinta de 12 " y varios controladores de comunicación serial sincrónicos y asincrónicos de múltiples puertos (que utilizan entre 4 y 32 vías). Una placa de E/S digital (que utiliza cuatro vías) se usaba comúnmente para la interfaz de control de proceso directo y para proporcionar un enlace paralelo rápido entre sistemas. También estaba disponible un controlador de caja CAMAC (de nuevo, utilizado para la interfaz de control de proceso). El bus de interfaz normal al que se conectan estos controladores es una interfaz publicada, [7] y muchos clientes también construyeron sus propios controladores para sus propios requisitos específicos de control de proceso. La minicomputadora GEC 2050 anterior usaba una versión de 8 bits de la interfaz normal, y la mayoría de los controladores de E/S podían Se utiliza en ambas gamas de sistemas.

Todas las IOP diseñadas y construidas durante la década de 1970 proporcionaban el mismo bus de interfaz normal para los controladores de E/S, y los controladores de E/S podían utilizarse en general en cualquiera de ellas. En la década de 1980, se diseñaron algunas IOP más especializadas. Una IOP con director de acceso directo a memoria (DMAD) permitió un nuevo tipo de controlador de E/S que tenía más libertad para acceder a la memoria principal y permitió el diseño de controladores de comunicaciones más inteligentes. Una IOP SCSI generó un bus SCSI para conectar discos más modernos y también incluyó un temporizador de intervalos integrado, un controlador de consola del sistema y un reloj calendario, de modo que no se requirió una IOP de interfaz normal adicional y controladores separados para soportar solo estas funciones.

Clientes

Los usuarios de los sistemas de la serie GEC 4000 incluían muchos departamentos de física e ingeniería de universidades británicas, el servicio central de computación del University College London (Euclid) y la Universidad de Keele , la red troncal de conmutación X.25 de la red académica/de investigación JANET , el Laboratorio Rutherford-Appleton , [8] el Laboratorio Daresbury , el Laboratorio Harwell , el NERC , la Oficina Meteorológica , el CERN , el ICI , British Telecom , la SIP ( empresa de telecomunicaciones italiana ) y Plessey . British Steel Corporation y BHP Steel los utilizaban para el control en tiempo real de las plantas de laminación de acero, British Rail y London Underground para la programación de trenes en tiempo real, el Cuerpo de Bomberos de Londres y el Cuerpo de Bomberos de Durham para los sistemas de mando y control. Las computadoras controlaban la mayoría de los sistemas nacionales de Videotex del mundo , incluido el servicio de visualización de datos Prestel .

En el Laboratorio Rutherford-Appleton se utilizó un sistema GEC 4000 para controlar el sincrotrón y los inyectores utilizados para la fuente de espalación de neutrones ISIS hasta 1998.

Se utilizó un GEC 4080M como procesador central para el sistema de radar del desafortunado avión de alerta temprana aerotransportado Nimrod AEW.3 . [9]

La Central Electricity Generating Board utilizó procesadores GEC 4080 en tres de sus centros de control de red. Conocidos como GI74, se utilizaron para recopilar datos de las subestaciones y mostrarlos en los diagramas de pared y en las pantallas de visualización tabulares.

Modelos

Se produjeron varias variantes del procesador GEC 4000, entre ellas (en orden cronológico aproximado):

Software

Había varios sistemas operativos disponibles para la serie GEC 4000, incluidos:

Los lenguajes de programación disponibles incluían Babbage (un lenguaje ensamblador de alto nivel ), FORTRAN IV , CORAL 66 , ALGOL , APL y BASIC .

Babbage

Babbage es el lenguaje ensamblador de alto nivel para las minicomputadoras de la serie GEC 4000. Apareció en 1971. [10] [11] Recibió su nombre en honor a Charles Babbage , un pionero de la informática inglés . [10]

Ejemplo

Este código imprime el factorial de los números del 1 al 9.

CAPITULO DE PROCESO FACTORIALETIQUETA DE ENTRADA PUNTO DE ENTRADALITERAL TO = 4 // Supongamos que se utiliza el formato predeterminadoRUTINA EXTERNA ABIERTO, PONER, CERCA, TOCARVECTOR [0,19] DE BYTE RESPUESTA = "factorial x = xxxxxx" MEDIO CUENTAMEDIO VALORRESULTADO COMPLETO//************************************************ ******************************* HECHO DE RUTINA (VALOR) // devuelve factorial de RA. VALOR => RESULTADO MIENTRAS DECREMENTAR VALOR GT //0// HACER << RESULTADO * VALOR => RESULTADO >> RETORNO(RESULTADO) FIN//************************************************ *******************************PUNTO DE ENTRADA: ABIERTO(A, 1) // Imprimir factoriales para los números del 1 al 9 1 => RA REPETIR << RA => CONTAR HECHO(RA) => RA TOCHAR(RA, 7, RESPUESTA + 13) TOCHAR(CONTAR, 2, RESPUESTA + 9) PONER(A, 20, RESPUESTA) CONTAR + 1 => RA >> MIENTRAS RA LT 10 CERCA(A) DETENER(0) FIN//************************************************ *******************************

Véase también

Referencias

  1. ^ "Controles y monitoreo de la unidad central de procesamiento" (PDF) . Computadora GEC 4000 . Diciembre de 1977 . Consultado el 15 de junio de 2009 .
  2. ^ "Comunicado de prensa: GEC Computers gana el premio Queens Award" (PDF) . 21 de abril de 1979. Archivado desde el original (PDF) el 22 de octubre de 2019.
  3. ^ "Manual de la unidad central de procesamiento Nucleus" (PDF) . Computadora GEC 4000 . Diciembre de 1977 . Consultado el 15 de junio de 2009 .
  4. ^ PJ Denning, "Carta del presidente de la ACM: Arquitectura informática: algunas ideas antiguas que aún no han triunfado", Communications of the ACM , 24 (9), 1981, página 553.
  5. ^ "Conjunto de instrucciones de la unidad central de procesamiento (GEC 4080)" (PDF) . Computadora GEC 4000 . Diciembre de 1977 . Consultado el 15 de junio de 2009 .
  6. ^ "Canal multiplexor básico de CPU" (PDF) . Computadora GEC 4000. Diciembre de 1977. Consultado el 15 de junio de 2009 .
  7. ^ "Manual de hardware del usuario: interfaces (GEC 4080)" (PDF) . Computadora GEC 4000 . Abril de 1977. págs. 4–25 . Consultado el 15 de junio de 2009 .
  8. ^ "El último de los minis británicos". Boletín de Ingeniería Informática . Consultado el 7 de enero de 2017 .
  9. ^ "BAe Nimrod AEW 3". spyflight.co.uk . Archivado desde el original el 2 de mayo de 2012 . Consultado el 17 de mayo de 2009 .
  10. ^ ab Illingworth, V. (1986). "B.001 Babbage". Diccionario de informática (2.ª ed.). Oxford: Market House Books Ltd. ISBN 0-19-853913-4.
  11. ^ Salomon, David (febrero de 1993). "6.1.4 BABBAGE". Ensambladores y cargadores (PDF) . Serie Ellis Horwood en Computadoras y sus aplicaciones (1.ª ed.). Chicester, West Sussex, Reino Unido: Ellis Horwood Limited / Simon & Schuster International Group . págs. 184–185. ISBN 0-13-052564-2. Archivado (PDF) del original el 23 de marzo de 2020 . Consultado el 1 de octubre de 2008 .[1] (xiv+294+4 páginas)

Enlaces externos