Articulo de referencia

GEC 2050

El GEC 2050 fue un miniordenador de 8 bits producido durante la década de 1970, inicialmente por Marconi Elliott Computer Systems del Reino Unido , antes de que la empresa cambi...

El GEC 2050 fue un miniordenador de 8 bits producido durante la década de 1970, inicialmente por Marconi Elliott Computer Systems del Reino Unido , antes de que la empresa cambiara su nombre a GEC Computers Limited . Los primeros modelos se denominaron MECS 2050 , antes de ser renombrados como GEC 2050 .

El GEC 2050 se utilizaba habitualmente como estación de entrada remota de trabajos (RJE ), con lector de tarjetas perforadas , impresora de línea , consola y enlace de datos a un ordenador central remoto . GEC Computers vendía un paquete completo de RJE que incluía el sistema, los periféricos y el software. Otra aplicación llave en mano era un sistema de venta de entradas, entre cuyos clientes se encontraba el Arsenal Football Club . El sistema también se utilizaba comúnmente para el control del tráfico rodado y la automatización de procesos industriales.

El GEC 2050 admitía hasta 64 KiB de memoria de núcleo magnético (mínimo 4 KiB, ampliable con módulos de 8 KiB y 16 KiB) y pesaba 41 kg (90 lbs ). [ 1 ] El sistema tenía un único controlador de canal para realizar E/S autónomas y utilizaba los mismos controladores de E/S periféricos que el miniordenador de la serie GEC 4000 .

Conjunto de instrucciones

Aunque se trata de CISC , el conjunto de instrucciones es lo suficientemente simple como para poder tabularlo en su totalidad:

Utilizando el código de operación 29 como ejemplo, el código ensamblador (AD X2,X1,offset) hace que el contenido de la ubicación de memoria 'offset(X1)' se sume al registro X2. De esta forma, el registro X1 se utiliza como registro de índice , y el desplazamiento, v, se especifica en el segundo byte de la instrucción. G es un registro de índice ficticio cuyo valor siempre es cero, lo que provoca que los desplazamientos se traten como direcciones absolutas en el segmento cero (global). (Cabe mencionar que, dado que X3 es el registro de índice estándar, el programa ensamblador permite abreviar ',X3,address' como ',address').

Las instrucciones de salto condicional se presentan en pares: el primer código de operación corresponde a un salto hacia adelante y el segundo a un salto hacia atrás. El desplazamiento del salto se obtiene del segundo byte de la instrucción. Por lo tanto, todas las instrucciones de las filas 0 a 7 y la fila 9 constan de dos bytes (el código de operación y un byte de datos), mientras que las demás instrucciones constan de un solo byte de código de operación.

El registro acumulador principal , A, puede configurarse con una longitud de 1, 2, 3 o 4 bytes mediante las instrucciones SETL. Esto controla la cantidad de bytes que se cargan (o almacenan) en una instrucción de acceso a memoria. La instrucción JIL realiza un salto indirecto, al igual que la instrucción JI, pero guarda el valor del contador de programa , S, en el registro índice X2. Esto permite realizar llamadas a subrutinas no recursivas muy sencillas. Las llamadas a subrutinas más complejas implican el uso de la instrucción PREP, que guarda la información de retorno en los primeros bytes del segmento de memoria actual. Dichas llamadas tampoco pueden ser recursivas.

Experiencia de usuario

Esta sección describe una sesión de trabajo en este ordenador, en una instalación típica de 1975. El programador podría llegar para trabajar en un programa Fortran -II que ya había empezado a escribir en la sesión anterior, llevando consigo una lista impresa en papel de teletipo con las nuevas modificaciones a realizar y la cinta perforada que contiene el código fuente legible por máquina . Primero tendría que encender el ordenador con el interruptor de la toma de corriente convencional de la pared y, a continuación, con el interruptor de encendido/apagado del panel frontal. Dado que la memoria de núcleo magnético , que es memoria no volátil , generalmente aún contiene el programa del usuario anterior, el programador podría necesitar cargar la cinta perforada llamada Minisystem (que contiene el código objeto de un pequeño programa de monitorización de memoria ). Esta cinta, que se guardaba en una pequeña caja de cartón en una estantería cerca del ordenador, se insertaría por la izquierda del lector de cintas. El lector de cintas era una parte integral del panel frontal del ordenador y expulsaba la cinta leída al suelo, en el lado derecho. Una vez leída, el Minisystem podía encenderse accionando el interruptor de encendido del panel frontal.

DOMINIO >L L 049A A 0522 D 063E ENLACE 0691 EDITAR 1090 PRINCIPAL 155E 28A2 3FFF > 

El programa editor de texto , EDIT, podía ejecutarse desde el teclado del teletipo, en la línea de comandos '>' del Minisystem. A continuación, el programador cargaba la cinta original en el lector y, mientras esta también se leía y se derramaba por el suelo, el programador podía dedicarse a enrollar la cinta del Minisystem en un carrete ordenado, utilizando un cabrestante manual.

Finalmente, una vez que se terminaba de leer la cinta original, el editor de texto solicitaba un nuevo comando, que era la invitación a editar el programa. Si bien su efectividad apenas había cambiado a lo largo de las décadas, la experiencia de edición había cambiado enormemente: solo se "mostraba" una línea del programa a la vez (imprimiéndola físicamente en el papel); el texto insertado se imprimía debajo del punto de la línea donde se insertaba, y la tecla de borrar simplemente tachaba el texto que se iba a eliminar; las funciones de búsqueda y sustitución de cadenas eran muy rudimentarias; y el teletipo funcionaba a 110 baudios (produciendo un enorme ruido metálico y estridente al hacerlo).

Al finalizar la sesión de edición, se generaba la nueva versión del programa fuente: tanto en formato de texto como en una nueva cinta perforada. Mientras la perforadora de cinta de papel realizaba esta tarea, desplegando su producto (aunque no tan rápido como el lector y hacia la izquierda de la máquina) desde su panel frontal, el programador podía enrollar la versión anterior de la cinta fuente para guardarla como copia de seguridad. El extremo libre de la nueva cinta, que aún se estaba perforando, podía etiquetarse con lápiz con el nombre del programa, el número de versión y la fecha de perforación.

Desafortunadamente, con solo 16 KiBytes de memoria principal, el Minisystem y el compilador Fortran no cabían en la memoria simultáneamente, por lo que el siguiente paso sería cargar la cinta del compilador Fortran (que se guardaba en otra caja de cartón en el estante de la sala de computadoras). Mientras se leía la cinta y salía el contenido por el otro lado, la cinta de origen recién perforada se podía arrancar del extremo libre que sobresalía de la perforadora y enrollarla con el cabrestante manual. Una vez finalizada la lectura del compilador, se cargaría en el lector de cintas y la cinta del compilador se enrollaría de nuevo en una bobina ordenada.

La primera pasada de la cinta fuente por el lector de cintas se utilizaba generalmente solo para comprobar si había errores de sintaxis en el programa, por lo que se suprimía la generación de la cinta objeto a partir de la perforadora . Si se detectaba algún error o advertencia, era necesario volver a cargar la cinta del Minisystem, ejecutar el programa editor para realizar las correcciones y generar una nueva versión de la cinta fuente. De lo contrario, la cinta fuente podía rebobinarse y cargarse de nuevo en el lector de cintas para una segunda pasada. Esta vez, se leía de forma intermitente, mientras la perforadora de cinta de papel trabajaba a toda máquina para producir la cinta objeto correspondiente (normalmente dos o tres veces más larga que la cinta fuente de Fortran).

Al final, con dos cintas esparcidas por el suelo, el Minisystem debía leerse de nuevo, mientras se rebobinaban las cintas de objeto y de origen. A continuación, se podía llamar al programa de enlace-cargador, LINK, desde el teclado, en la línea de comandos del Minisystem, y la cinta de objeto se introducía en el lector. El enlazador-cargador también requería que la cinta de la biblioteca, que contenía las funciones de la biblioteca Fortran, se cargara en el lector. Finalmente, era necesario rebobinar ambas cintas, pero esto no solía hacerse de inmediato, debido a la impaciencia del programador por poder ejecutar el programa. El programa del usuario (llamado MAIN) podía llamarse en la línea de comandos del Minisystem.

Dependiendo de lo que haya ocurrido durante la ejecución del programa, es posible que el programador tenga que volver a cargar la cinta fuente más reciente en el programa editor, para así poder repetir el ciclo de desarrollo de software una vez más.

Véase también

Referencias

  1. "Folleto de ventas 2050" . 22 de octubre de 2019. Archivado del original el 22 de octubre de 2019. Consultado el 22 de junio de 2022 .
  • Informática en Chilton, Estación de ingreso de empleo remoto GEC 2050
  • Procesador GEC 2050 (archivado)