

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 la de 1990.
Historia
GEC Computers se fundó en 1968 como una unidad de negocio 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 funciones mejoradas se incorporaron al 4080. El diseñador principal del GEC 4080 fue el Dr. Michael Melliar-Smith y el diseñador principal de los modelos 4060 y 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 trasladaron a las nuevas fábricas de la compañía en Woodside Estate, Dunstable , a finales de la década de 1970. En 1979, GEC Computers recibió el Premio de la Reina al Logro Técnico por el desarrollo de la serie 4000, en particular de Nucleus. [ 2 ] Para 1991, el número de sistemas fabricados estaba disminuyendo, por lo que la fabricación se trasladó a la fábrica de GPT en Beeston, Nottinghamshire , y el desarrollo regresó a Borehamwood. Los últimos sistemas se fabricaron alrededor de 1995.
En 2018, todavía había algunos sistemas GEC 4220 en funcionamiento con mantenimiento a cargo de Telent , y algunos GEC 4310 estuvieron operativos hasta 2013. El metro de Londres continuó utilizando sistemas GEC 4190 hasta 2021, aunque desde entonces ha desmantelado al menos un sistema para exhibirlo en el Centro de Historia de la Computación en Cambridge . [ 3 ]
Núcleo
El hardware y el firmware de la serie GEC 4000 incluían una función pionera conocida como Nucleus . [ 4 ] Nucleus implementa varias funciones que normalmente se implementan en el núcleo del sistema operativo , por lo que los sistemas operativos que se ejecutan en los sistemas de la serie GEC 4000 no necesitan proporcionar directamente estas funciones. El firmware de Nucleus no puede ser reprogramado por ningún código que se ejecute en el sistema, lo que hizo que estos sistemas fueran particularmente atractivos para diversas aplicaciones de seguridad.
Nucleus realiza: [ 5 ]
- programación de procesos
- cambio de contexto
- semáforos eficientes
- paso de mensajes asíncrono
- segmentación y protección de la memoria
- manejo de errores
- E/S directamente por procesos y enrutamiento de interrupciones de vuelta a los procesos.
En los sistemas 4000 no existe ninguna disposición para ejecutar código en modo supervisor/privilegiado/núcleo; 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 funciones que suelen encontrarse en los núcleos del sistema operativo deben ejecutarse como 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 su funcionamiento tienen acceso a dichas tablas. Esto se aplica a los procesos que modifican directamente el estado de otros procesos, a los que asignan y eliminan segmentos de memoria, a los que pueden cambiar el enrutamiento de mensajes entre otros procesos o la asignación de dispositivos de E/S a procesos, etc. Normalmente, el acceso a las tablas del sistema se limita a un número reducido de procesos de confianza, y otros procesos que necesitan realizar operaciones como cargar procesos, asignar memoria, etc., envían un mensaje al proceso de confianza correspondiente, que lo valida antes de ejecutar 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 bits (igual que IBM System/360 ). [ 6 ]
Los modelos con números inferiores a 4090 son procesadores de 16 bits, mientras que los modelos con números superiores a 4090 son 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 (Tabla de Segmento Actual). Los sistemas de 32 bits también admiten punteros de 32 bits, lo que se conoce como direccionamiento PAS (Espacio de Direcciones Paginadas). Cada proceso tiene una PAST (Tabla de Segmentos Accesibles por el Programa) que indica a qué segmentos de memoria del sistema tiene permiso para acceder. El direccionamiento CST permite que cuatro de las entradas de la PAST se asignen a las direcciones 0, 16 KiB, 32 KiB y 48 KiB, lo que proporciona un espacio de direcciones de 16 bits/64 KiB. Los programas que utilizan más de 64 KiB de memoria deben asignar explícitamente las entradas PAST que requieren en cada momento a sus 4 entradas CST, aunque Nucleus asignará automáticamente diferentes segmentos de código a 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 la asignación 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 un ancho de 16 bits, excepto algunas instrucciones de direccionamiento PAS que son de 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 usa 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 usa principalmente para la indexación de matrices, y dos registros Y y Z de 16 bits se usan 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 puede usarse como un puntero global de 16 bits, y también un valor cero de 8, 16 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. (Parte de esto se ilustra en el conjunto de instrucciones mucho más simple del GEC 2050 ). Un registro de "teclas" de solo lectura permite a los programas leer el valor establecido en los interruptores de palanca del panel frontal por el personal de operaciones. No existe un 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 acceden mediante un puntero de 16 bits. No hay soporte del conjunto de instrucciones para una pila . Hay varios 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 para operaciones de registro-registro, almacenamiento-registro, registro-almacenamiento y almacenamiento-almacenamiento. Hay un conjunto de instrucciones de manipulación de cadenas que operan con longitudes variables de almacenamiento, copia, comparación o búsqueda de patrones. Existen varias instrucciones de Nucleus para tareas como enviar un mensaje a otro proceso o a un dispositivo periférico, recibir un mensaje o una interrupción, cambiar una entrada CST para que apunte a un segmento diferente accesible para el proceso, etc.
El procesador 4080 tiene una arquitectura de instrucciones de dos etapas . Esta se convierte en una arquitectura de cuatro etapas para el 4220, el sistema de mayor rendimiento de la serie. Los sistemas básicos 415x y 4x6x solo tienen una arquitectura de una etapa.
El modo de funcionamiento normal de la CPU se denomina Núcleo Completo . Todos los sistemas también admiten un modo de funcionamiento limitado llamado Prueba Básica . En el modo Prueba Básica, el Núcleo está deshabilitado, 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 del Núcleo ni de PAS funcionan con normalidad. Este modo se utiliza muy pronto durante el arranque para configurar las tablas del sistema necesarias para el Núcleo, antes de obedecer una instrucción de Cambio a Núcleo Completo . Una vez que el sistema ha cambiado al Núcleo Completo, no puede volver al modo Prueba Básica sin la intervención del operador en el panel frontal, lo que, en efecto, detiene cualquier sistema operativo que estuviera en ejecución. El modo Prueba Básica también se utiliza para ejecutar cierto software de prueba (de ahí su nombre).
Entrada/salida
El diseño de E/S 4000 se basa en varios procesadores de entrada/salida ( E/S), conocidos como E/S , cada uno de los cuales actúa como interfaz entre la memoria y un conjunto de controladores de E/S. Los E/S son controlados por la función Nucleus de la CPU, pero una vez que se activa un evento de E/S, operan de forma autónoma sin interactuar con la CPU hasta que la E/S se completa. Los E/S de interfaz normal pueden admitir hasta 255 o 256 operaciones de E/S simultáneas, cada una en una vía independiente . Los controladores de E/S de cada E/S ocupan una o más vías, según la cantidad de operaciones de E/S simultáneas que deban gestionar. El E/S controla el acceso de cada vía a la memoria principal, permitiendo únicamente el acceso a las ubicaciones de memoria sucesivas definidas para la operación de E/S que esa vía está realizando. Los primeros E/S realizaban accesos a la memoria de 8 y 16 bits, con un modo ráfaga para realizar hasta 8 transferencias simultáneamente para controladores de E/S de mayor rendimiento. Las últimas versiones de IOP añadieron accesos a memoria de 32 bits de ancho.
Todos los sistemas tienen al menos un IOP. En el 4080, este primer IOP se llamaba Canal Multiplexor Básico, [ 7 ] o BMC, y el panel frontal del 4080 permite controlar tanto la CPU como el BMC. Los sistemas de nivel básico 415x y 4x6x tienen su primer IOP (Canal Multiplexor Integral, o IMC) integrado en el firmware Nucleus, por lo que 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 IOPs externos añadidos. Las instrucciones de E/S y las tablas del sistema Nucleus de la serie 4000 permiten hasta 8 IOPs, aunque la mayoría de los modelos de la gama 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 IOPs adicionales conectados a los puertos de almacenamiento restantes. (La documentación inicial muestra que estos puertos de almacenamiento adicionales también estaban diseñados para conectar CPU adicionales, aunque esta configuración nunca se comercializó con procesadores 4080). Los modelos posteriores contaban con más puertos de almacenamiento, dependiendo de la cantidad de tarjetas de puertos de almacenamiento que se pudieran instalar en el sistema. El 4190 podía admitir las ocho operaciones de entrada/salida por segundo (IOPS), y el 4190D admitía ocho IOPS con dos CPU.
Algunos controladores de E/S de uso común son el temporizador de intervalo , el controlador de consola del sistema , el lector de cinta perforada y los controladores de perforación, el controlador de impresora de línea (todos estos usan una sola vía), varios controladores de disco SMD (y anteriores con interfaz de bus de disco) para controlar hasta cuatro unidades (todos usando dos vías), controladores de cinta magnética Pertec PPC para hasta cuatro unidades de cinta de 1/2 " , y varios controladores de comunicación serial síncronos y asíncronos multipuerto (usando entre 4 y 32 vías). Una tarjeta de E/S digital (usando cuatro vías) se usaba comúnmente para la interfaz de control de procesos directos y para proporcionar un enlace paralelo rápido entre sistemas. También estaba disponible un controlador de chasis CAMAC (nuevamente, usado para la interfaz de control de procesos). El bus de interfaz normal al que se conectan estos controladores es una interfaz publicada, [ 8 ] y muchos clientes también construyeron sus propios controladores para sus propios requisitos específicos de control de procesos. 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 usarse en ambas gamas de sistemas.
Todos los IOP diseñados y fabricados durante la década de 1970 proporcionaban el mismo bus de interfaz normal para los controladores de E/S, y estos controladores podían utilizarse en cualquiera de ellos. En la década de 1980, se diseñaron algunos IOP más especializados. Un IOP de director de acceso directo a memoria (DMAD) permitió un nuevo tipo de controlador de E/S con mayor libertad para acceder a la memoria principal y posibilitó el diseño de controladores de comunicaciones más inteligentes. Un IOP SCSI generó un bus SCSI para conectar discos más modernos e incluyó un temporizador de intervalo integrado, un controlador de consola del sistema y un reloj de calendario, de modo que no se requería un IOP de interfaz normal adicional ni controladores separados para admitir únicamente estas funciones.
Clientes
Entre los usuarios de los sistemas de la serie GEC 4000 se encontraban muchos departamentos de física e ingeniería de universidades británicas, el servicio informático central del University College London (Euclid) y la Universidad de Keele , la red académica/de investigación JANET , la red troncal de conmutación X.25 , el Laboratorio Rutherford-Appleton , [ 9 ] el Laboratorio Daresbury , el Laboratorio Harwell , NERC , Met Office , CERN , ICI , British Telecom , SIP ( operador de telecomunicaciones italiano ) y Plessey . British Steel Corporation y BHP Steel los utilizaron para el control en tiempo real de las acerías, British Rail y el metro de Londres para la programación de trenes en tiempo real, y los bomberos de Londres y Durham para los sistemas de mando y control. Los ordenadores controlaban la mayoría de los sistemas Videotex nacionales del mundo , incluido el servicio de datos de visualización 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 aerotransportada Nimrod AEW.3 . [ 10 ]
La Junta Central de Generación de Electricidad utilizó procesadores GEC 4080 en tres de sus Centros de Control de Red. Conocidos como GI74, se utilizaban para recopilar datos de las subestaciones y mostrarlos en los diagramas murales y las pantallas de visualización tabulares.
Modelos
Se produjeron varias variantes del procesador GEC 4000, entre las que se incluyen (en orden cronológico aproximado):
- 4080 : modelo original de 1973 con 64–256 KiB de memoria principal.
- 4082 : 4080 con hasta 1 MiB de memoria
- 4070 : modelo básico sin intercalado de memoria
- 4085 : 4082 con memoria de semiconductores
- 4060 : modelo de gama de entrada basado en procesadores AMD Am2900 de arquitectura bit-slice.
- 4062 / 4065 : 4060 admite hasta 1 MiB de memoria.
- 4080M : 4080 compacto y robusto para aplicaciones militares.
- 4090 : Basado en Am2900 con extensiones de direccionamiento de 32 bits y hasta 4 MiB de memoria.
- 4190 : versión revisada del 4090 con hasta 16 MiB de memoria.
- 4180 : versión más económica y lenta del 4190 (sin caché de memoria, sin unidad de multiplicación rápida).
- 4060M : 4060 compacto y robusto para aplicaciones militares.
- 4160 : 4065 con las extensiones de direccionamiento de 32 bits 4090
- 4150 : escritorio 4160
- 4162 : 4160 con E/S DMAD para controladores de comunicaciones de alta velocidad
- 4195 : compacto 4190
- 4185 : versión más económica y lenta que la 4195 (sin caché de memoria, sin unidad de multiplicación rápida).
- 4151 : montaje en rack 4150
- 4190D : procesador dual 4190
- 4193 : 4195 con IOP SCSI reemplazando el IOP de interfaz normal predeterminado
- 4220 : Reimplementar 4190 utilizando tecnología de procesador de matriz de puertas
- 4310 : Sistema basado en Motorola 88100 MVME187 que emula un GEC 4220
Software
Para la serie GEC 4000 existían varios sistemas operativos disponibles, entre ellos:
- COS : Sistema Operativo Central, para sistemas en tiempo real sin disco
- DOS : Sistema operativo de disco para sistemas en tiempo real, que proporciona un sistema de archivos y funciones de intercambio.
- OS4000 : un sistema multiusuario que admite el uso por lotes e interactivo y el procesamiento de transacciones.
- SCP-2 : Sistema Operativo Seguro ( DOD A1/B3 ) seguridad multinivel
Entre los lenguajes de programación disponibles se encontraban 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. [ 11 ] [ 12 ] Recibió su nombre en honor a Charles Babbage , un pionero de la informática inglés . [ 11 ]
Ejemplo
Este código imprime el factorial de los números del 1 al 9.
CAPÍTULO DEL PROCESO FACTORIAL ETIQUETA DE ENTRADA PUNTO DE ENTRADA LITERAL A = 4 // Suponga que se utiliza el formato predeterminado RUTINA EXTERNA ABIERTO, PONER, CERCA, TOCAR VECTOR [0,19] DE RESPUESTA DE BYTE = "factorial x = xxxxxx" MEDIO CONTEO MITAD DE VALOR RESULTADO COMPLETO //****************************************************************************** HECHO DE RUTINA (VALOR) // Devuelve el factorial de RA. VALOR => RESULTADO MIENTRAS SE DISMINUYE EL VALOR GT //0// HACER << RESULTADO * VALOR => RESULTADO >> DEVOLVER(RESULTADO) FIN //****************************************************************************** PUNTO DE ENTRADA: ABIERTO(A, 1) // Imprime los factoriales de los números del 1 al 9 1 => RA REPETIR << RA => CONTAR HECHO(RA) => RA TOCHAR(RA, 7, RESPUESTA + 13) TOCHAR(COUNT, 2, RESPUESTA + 9) PONER(A, 20, RESPUESTA) CONTAR + 1 => RA >> MIENTRAS RA LT 10 CERCA (DE) DETENER(0) FIN //******************************************************************************
Véase también
- Serie GEC 63
- Minicomputadora GEC 2050 de 8 bits
Referencias
- ↑ "Controles y monitorización de la unidad central de procesamiento" (PDF) . Ordenador GEC 4000. Diciembre de 1977. Consultado el 15 de junio de 2009 .
- ↑ "Comunicado de prensa: GEC Computers gana el Premio de la Reina" (PDF) . 21 de abril de 1979. Archivado del original (PDF) el 22 de octubre de 2019.
- ↑ "GEC 4100 Computer" . Centro de Historia de la Computación . Consultado el 9 de mayo de 2025 .
- ↑ "Manual del núcleo de la unidad central de procesamiento" (PDF) . Computadora GEC 4000. Diciembre de 1977. Consultado el 15 de junio de 2009 .
- ↑ PJ Denning, "Carta del presidente de la ACM: arquitectura de computadoras: algunas ideas antiguas que aún no han llegado a buen puerto", Communications of the ACM , 24 (9), 1981, página 553.
- ↑ "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 .
- ↑ "Canal multiplexor básico de CPU" (PDF) . Computadora GEC 4000. Diciembre de 1977. Consultado el 15 de junio de 2009 .
- ↑ "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 .
- ↑ "El último de los minis británicos" . Boletín de Ingeniería Informática . Consultado el 7 de enero de 2017 .
- ↑ "BAe Nimrod AEW 3" . spyflight.co.uk . Archivado del original el 2 de mayo de 2012. Consultado el 17 de mayo de 2009 .
- 1 2 Illingworth, V. (1986). "B.001 Babbage". Diccionario de informática (2.ª ed.). Oxford: Market House Books Ltd. ISBN 0-19-853913-4.
- ↑ Salomon, David (febrero de 1993). "6.1.4 BABBAGE". Ensambladores y cargadores (PDF) . Serie Ellis Horwood sobre computadoras y sus aplicaciones (1.ª ed.). Chichester, 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. Recuperado el 1 de octubre de 2008 .(xiv+294+4 páginas)
Enlaces externos
- 25 años de la serie GEC 4000 (archivado)
- "GEC y la Serie 4000"
- "Ordenador GEC 4000", Centro de Historia de la Informática – Museo de la Informática
- Minicomputadoras
- Computadoras GEC
- Computadoras que utilizan diseños de segmentación de bits
- computadoras de 16 bits
- computadoras de 32 bits
- Ordenadores diseñados en el Reino Unido.
- Introducciones relacionadas con la informática en 1973