Articulo de referencia

Sistema IBM/3

El IBM System/3 [ 1 ] fue un ordenador de gama media de IBM presentado en 1969, [ 2 ] y comercializado hasta 1985. Fue producido por IBM Rochester en Minnesota como un ordenador...

El IBM System/3 [ 1 ] fue un ordenador de gama media de IBM presentado en 1969, [ 2 ] y comercializado hasta 1985. Fue producido por IBM Rochester en Minnesota como un ordenador empresarial de gama baja [ 3 ] dirigido a organizaciones más pequeñas que aún utilizaban ordenadores de la serie IBM 1400 o equipos de registro de unidades . El primer miembro de lo que IBM denomina su línea de "gama media", también introdujo el lenguaje de programación RPG II . Es el primer antecesor de la línea de productos cuya versión actual es la serie IBM i e incluye el exitoso AS/400 .

Historia

Unidad de procesamiento System/3 y perforadora de tarjetas 5496

En su lanzamiento en 1969, estaba disponible para alquilar por $1000/mes, menos de la mitad del costo de un IBM System/360 Modelo 20 ; [ 4 ] el miembro más pequeño de la familia IBM System/360.

Muchas de las unidades originales del modelo 10 del System/3 se enviaron sin disco de almacenamiento, y solo contaban con la nueva unidad de tarjetas multifunción (MFCU) IBM 5424, que leía, perforaba, imprimía y clasificaba las nuevas tarjetas perforadas de 96 columnas , más pequeñas, introducidas al mismo tiempo.

IBM entregó los siguientes modelos:

  • 1969 — Se presenta el IBM 5410, o System/3 Modelo 10 (se lanzó al mercado en 1970).
  • 1970 — Se introdujo el IBM 5406, o System/3 Modelo 6 (sistema orientado al disco) [ 5 ] [ 6 ]
  • 1973 — Se presenta el IBM 5415, o System/3 Modelo 15.
  • 1974 — Se presentó el IBM 5408, o System/3 Modelo 8.
  • 1975 — Se introdujo el IBM 5412, o System/3 Modelo 12 [ 3 ] .
  • 1976 — Se presenta el IBM 5404, o System/3 Modelo 4.

Los modelos System/3 y sus sucesores System/32 , System/34 , System/36 y System/38 se denominan generalmente en la terminología de IBM como "sistemas de gama media" [ 7 ] , en contraste con los mainframes de IBM .

Hardware

Tarjeta perforada de 96 columnas
Grabadora de datos IBM 5496, perforadora de tarjetas de 96 caracteres.
Clasificadora de tarjetas IBM 5486 utilizada con tarjetas perforadas System/3

El IBM System/3 fue anunciado como un sistema informático que inicialmente constaba de: [ 8 ]

  • Unidad Central de Procesamiento IBM 5410 Modelo 10
  • Unidad de tarjeta multifuncional (MFCU) IBM 5424
  • Impresora de línea IBM 5203
  • Almacenamiento en disco IBM 5444 (opcional)
  • Teclado de impresora IBM 5471
  • Teclado de entrada de datos IBM 5475
  • Grabadora de datos IBM 5496, una máquina perforadora de tarjetas con funciones de impresión y verificación.
  • Clasificadora de tarjetas IBM 5486

Memoria

Los modelos básicos tenían tan solo 4K (4096) bytes de memoria de núcleo magnético .

Almacenamiento de acceso directo

Para el almacenamiento masivo, el System/3 utilizaba el disco de un solo plato IBM 5444 , [ 8 ] aproximadamente del tamaño de una pizza grande; inicialmente, cada plato contenía 2,5 MB de datos. La configuración estándar para el almacenamiento consistía en uno o dos discos fijos, cada uno en una bandeja extraíble independiente, que normalmente contenían el sistema operativo y los programas desarrollados por el usuario. Además, cada disco fijo podía tener un cartucho extraíble conectado; estos generalmente contenían los archivos de datos asociados con diversas aplicaciones, por ejemplo, la nómina, y los usuarios frecuentemente tenían varios de ellos. Por lo tanto, los sistemas de gama baja podían admitir un máximo de 10 MB de almacenamiento en línea (dos fijos, dos extraíbles), aunque en la práctica esto era muy costoso y poco común.

El System/3 también estaba disponible con la unidad de disco IBM 5445 (20 MB) y, posteriormente, el modelo 15 permitía el uso de unidades 3340 de estilo Winchester. En los modelos más pequeños, si bien se podían conectar unidades 5445, era necesario conservar la 5444 para el sistema operativo y otras bibliotecas de programación. Sin embargo, esta limitación se eliminó con el software elimn8, que permitía que las unidades 5445 reemplazaran por completo a las 5444. Otras compañías, como Memorex, fabricaron unidades 5445 compatibles con el System/3.

Unidad de tarjeta multifunción

El dispositivo de tarjetas perforadas más común era la Unidad Multifunción de Tarjetas (MFCU) IBM 5424, que leía, perforaba, imprimía y clasificaba las nuevas tarjetas perforadas de 96 columnas, más pequeñas . En lugar de las perforaciones rectangulares de la clásica tarjeta IBM de 80 columnas, las nuevas tarjetas tenían pequeños  orificios circulares (1 mm), muy parecidos a la cinta de papel . Los datos se almacenaban en código decimal codificado en binario de seis bits, con tres filas de 32 caracteres cada una, o en EBCDIC de 8 bits , con los dos orificios adicionales ubicados en las filas superiores. Las nuevas tarjetas tenían espacio para 128 caracteres impresos en cuatro filas de 32 caracteres cada una. Eran aproximadamente un tercio del tamaño de las antiguas tarjetas de 80 columnas, pero contenían un 20 % más de datos de texto. La tarjeta, más pequeña y, por lo tanto, más ligera, podía procesarse con equipos más rápidos y con menos atascos.

Como equipos de pedido especial ( RPQ , por sus siglas en inglés), para procesar tarjetas de 80 columnas, estaban disponibles la IBM 2560 Cartridge Card Machine (MFCM), que podía leer, perforar, interpretar y clasificar, y la IBM 1442 , que solo podía leer y perforar.

Cinta magnética

El almacenamiento sin conexión estaba disponible con la compra de una unidad de cinta externa que leía y escribía cintas estándar IBM de 9 pistas .

El System/3 Mod 10 incluía opcionalmente el subsistema de cinta magnética IBM 3410.

Instalación de consola del operador

La consola de operador (OCF) del sistema System/3 consistía en una máquina de escribir IBM Selectric modificada conectada al ordenador o en una pantalla IBM 3270 de propósito especial . Dentro de la OCF, existía la capacidad de cancelar procesos o tareas en ejecución, incluyendo cualquiera de las particiones (P1 o P2). El sistema solo podía ejecutar dos programas simultáneamente, excepto el modelo 15 o los sistemas que ejecutaban el programa de control de comunicaciones (CCP). El CCP era una función de programación de control del sistema que permitía admitir una red de terminales en línea .

Impresoras

Impresora IBM 5203 para System/3

Se conectó una impresora más pequeña (IBM 5203) al sistema principal. La 5203 era una impresora de cadena con cartuchos intercambiables. Podía imprimir a 100 o 200 líneas por minuto, según el modelo. [ 9 ] Posteriormente, IBM ofreció varios modelos de la línea de impresoras IBM 1403 , que originalmente se había diseñado para la computadora IBM 1401 .

Disco flexible

Con la llegada del sistema de entrada de datos IBM 3740 , el System/3 Modelo 10 incorporó una función llamada LCA (adaptador de comunicación local) que permitía conectar una estación IBM 3741 al sistema para transmitir y recibir datos. Los modelos posteriores del System/3, como el Modelo 8, no requerían tarjetas y utilizaban disquetes de 8 pulgadas al estilo del 3740 .

Conjunto de instrucciones

El conjunto de instrucciones se optimizó para dos aspectos clave del producto: la disponibilidad limitada de memoria principal y el lenguaje de programación RPG II. El S/3 original (modelos 10 y posteriormente 6, 8 y 12) tenía 29 instrucciones, todas ellas ocupando entre tres y seis bytes (de 24 a 48 bits).

Los primeros cuatro bits transmitían mucha información: "1111" significaba que era una instrucción sin operandos, conocida como comando. Por ejemplo, Iniciar E/S (la operación de E/S se definía mediante registros de E/S previamente cargados). "11xx" y "xx11" significaban una instrucción de un operando, como un salto. Si xx era 00, el operando se direccionaba mediante su dirección completa de 16 bits. xx=01 o 10 significaba que se utilizaba el direccionamiento de desplazamiento base, utilizando el registro índice 1 o 2 respectivamente. Una dirección base se habría cargado previamente en uno de los dos registros índice y la instrucción contenía el desplazamiento de hasta 256 bytes (ocho bits de direccionamiento).

Otros patrones para este primer medio byte indicaban una instrucción de dos operandos. "0000" significaba que ambos operandos se direccionaban mediante su dirección directa de 16 bits. "0100": el operando 1 usa el registro (reg) 1 como base; el operando 2 usa direccionamiento directo. "0110": el operando 1 usa el reg 1 como base, el operando 2 usa el reg 2. Y así sucesivamente.

Los cuatro bits restantes del primer byte definían aún más la instrucción. Esta estructura permitía realizar hasta 64 operaciones en total: 16 comandos (aunque nunca hubo más de cinco en toda la gama de productos); 16 instrucciones de un operando que comenzaban con 11xx; 16 instrucciones de un operando que comenzaban con xx11; 16 instrucciones de dos operandos.

Además de los dos registros de índice ya mencionados (denominados 1 y 2, o binarios 01 y 10), existían otros registros. El "Reg 4" (0100) era el registro de dirección de instrucción (IAR), que apuntaba a la instrucción actual. El "Reg 8" (1000) era el registro de recuperación de dirección (ARR), configurado por ciertas instrucciones. Entre ellas se encontraba la instrucción de salto condicional (mnemónico BC), que lo utilizaba para apuntar al byte inmediatamente posterior a la operación de salto. Para los programadores familiarizados con el comportamiento de los mainframes de IBM, esto significaba que la operación de salto S/3 podía compararse con un BALR (registro de salto y enlace) condicional, muy útil al saltar a una subrutina y regresar después de su procesamiento. Finalmente, el "Reg 16" (00010000) era el registro de estado del programa (PSR), que almacenaba información como los resultados de una instrucción de comparación. Cabe destacar que los registros se utilizaban únicamente para el direccionamiento y el estado del programa, no para operaciones aritméticas.

Las instrucciones aritméticas incluidas entre las 29 instrucciones eran suma y resta binarias (para facilitar la manipulación de direcciones) y suma y resta decimales. La multiplicación y la división no estaban contempladas en el hardware estándar y debían gestionarse mediante rutinas de software. No existía ninguna función de coma flotante. Todo esto se mantuvo incluso con los sistemas posteriores y generalmente más sofisticados, los Systems/34 y 36.

Todo lo anterior se complicó aún más con el modelo System/3 de 15 bits, y los sistemas System/34 y System/36. Si bien seguían utilizando direccionamiento de 16 bits, todos estos sistemas podían admitir más de 64 KB de memoria principal (hasta 512 KB y, teóricamente, más), por lo que se utilizaba la traducción de direcciones para intercambiar un espacio de direcciones de 64 KB con otro. Los registros de traducción de direcciones (ATR) se configuraban para definir el espacio de direcciones en uso en cada momento, y su contenido se concatenaba con la dirección de 16 bits utilizada por un programa para generar una dirección real. Estos ATR eran privilegiados y solo estaban disponibles para el sistema operativo.

El modelo S/3 original (modelo 10) y el posterior modelo 12 contaban con una forma rudimentaria de multiprogramación opcional denominada Función de Programación Dual. Esta función no proporcionaba direccionamiento de memoria principal, pero sí dos conjuntos de registros e instrucciones que alternaban entre los diferentes niveles de programa. Las instrucciones de E/S estándar también se modificaron para alternar entre sí al iniciarse una operación de E/S.

Hasta ahora, solo se ha explicado el primer byte de la instrucción. El siguiente byte ("Q") generalmente era un calificador, como especificar el número de bytes que se moverían en una operación de movimiento de caracteres o la condición que se comprobaría en una instrucción de salto. Un par de instrucciones usaban este byte para un operando "inmediato" de 1 byte. Los bytes restantes se utilizaban para el desplazamiento o las direcciones de los operandos, o para los detalles de algunos comandos.

Un ejemplo: un comando simple, Salto condicional, un tipo especial de bifurcación condicional (solo hacia adelante, hasta 256 bytes) adecuado principalmente para saltar sobre bloques cortos de código: byte de código de operación = F2 (esto está en hexadecimal, Hex F es binario 1111, Hex 2 (0010) define la operación); byte Q = 00000001 especifica que "saltamos" si el registro de condición tiene el bit "igual" activado; Operando = 00011000: si se cumple la condición, saltamos hacia adelante 24 bytes.

Los indicadores eran interruptores binarios que se utilizaban para controlar el flujo del programa. El programador disponía de más de 100 de ellos. Mediante los formatos de instrucción explicados anteriormente, muchas de las operaciones orientadas a indicadores podían caber en tan solo tres bytes. Por ejemplo, una línea de RPG podría comprobar si un indicador estaba "activado": tres bytes para una operación de "Prueba de bits activados"; luego tres bytes para un salto, como se describió anteriormente, y que resultaba útil para el compilador de RPG. Ahorrar algún byte aquí y allá era ventajoso cuando solo se disponía de 64 KB de memoria, y en el propio S/3, esto incluía el sistema operativo (que aumentó a unos 20 KB en el modelo 10 con la introducción del "Programa de Control de Comunicación", CCP).

Lenguaje de control de operaciones

Un lenguaje de control de trabajos sencillo, denominado Lenguaje de Control de Operaciones (OCL, por sus siglas en inglés), era superficialmente similar al Lenguaje de Control de Trabajos (JCL, por sus siglas en inglés).

Comandos de control del operador

Para comunicarse con el sistema se utilizaron comandos de control del operador (OCC, por sus siglas en inglés).

Idiomas

El sistema System/3 admitía RPG II , Fortran IV , COBOL y Assembler . [ 10 ]

Compilador de RPG II

El System/3 venía de serie con un compilador RPG II . En un sistema exclusivamente de tarjetas, el compilador RPG II se suministraba en dos fases. La primera fase se iniciaba desde una de las entradas de la MFCU, y el código fuente se leía tras el proceso de compilación. Se perforaba una versión intermedia en tarjetas, que luego eran leídas por la segunda fase del compilador. A continuación, se perforaba un archivo ejecutable. Este ejecutable podía iniciarse (mediante la operación de "carga inicial del programa") para realizar el procesamiento deseado. Este proceso podía requerir más de una hora para un programa de tamaño considerable.

Problemas con System/3

El sistema System/3 no permitía detener un proceso una vez iniciado. Por ejemplo, si la compilación fallaba debido a un error en la primera página, el usuario tenía que esperar a que se imprimiera por completo la lista de compilación, a veces voluminosa. Los usuarios aprendieron a meter la mano debajo de la impresora y mover la salida de papel, lo que provocaba que la máquina se detuviera y mostrara el mensaje "P3" (error de impresora). El usuario podía entonces marcar el código de respuesta FF para abortar la impresión. Otra forma de detenerla era simplemente pulsar el botón verde "Inicio" de la consola, lo que provocaba el reinicio del sistema.

Los códigos de error se mostraban en una pantalla de siete segmentos de dos dígitos (una de las primeras que se vieron, construida con lámparas en lugar de LED). El rango de códigos de error incluía no solo dígitos decimales y hexadecimales (como se usa comúnmente en las pantallas de siete segmentos), sino también un conjunto limitado de otras letras; por ejemplo, "P3" era uno de varios códigos de error de impresora. Un manual extenso que venía con el System/3 ayudaba al operador a interpretar los códigos de error y sugería procedimientos de recuperación. El System/3 no tenía un dispositivo de advertencia sonora, por lo que un programa que no estuviera imprimiendo, leyendo tarjetas o causando otra actividad evidente podía detenerse y el operador no lo sabría a menos que mirara la pantalla de estado. Los modelos con la función de Programa Dual tenían dos pantallas de estado separadas.

La mayoría de los usuarios no adquirieron una consola. En su lugar, el código OCL se suprimió por completo o se imprimió en la impresora 5203. La consola que ofrecía IBM ralentizaba enormemente la ejecución de los programas al imprimir comandos OCL, ya que básicamente era una máquina de escribir eléctrica .

La idea de introducir las tarjetas perforadas a través de la consola era una estrategia de marketing. En realidad, el System/3 no podía funcionar como ordenador y perforadora de tarjetas a la vez, por lo que, al utilizarse como perforadora, no era posible realizar ninguna tarea informática. El IBM System/3 original, presentado en julio de 1969, incluía la consola de perforación para poder ofrecer un ordenador por menos de 2000 dólares al mes. En la práctica, resultaba inviable y, casi invariablemente, los usuarios adquirían una perforadora/verificadora de tarjetas independiente.

Posteriormente, varias empresas OEM fabricaron perforadoras de tarjetas, clasificadoras y intercaladoras de 96 columnas. Esto liberó a la MFCU de las tareas más pesadas y permitió que el System/3 se dedicara a las funciones de computación propiamente dichas.

La mayoría de los usuarios experimentados de System/3 minimizaban al máximo el uso de la MFCU, ya que constituía un cuello de botella del sistema.

Emulación

Los sistemas posteriores System/32 , IBM System/34 e IBM System/36 podían ejecutar aplicaciones de System/3 mediante emulación.

El System/32 utilizaba un procesador con microcódigo vertical , con palabras de microcódigo de 16 bits, que emulaba el conjunto de instrucciones del System/3, aunque de forma bastante lenta, mediante microcódigo. Tanto el System/34 como el System/36 contaban con dos procesadores: un procesador de almacenamiento de control (CSP), como en el System/32, que gestionaba la mayoría de las operaciones de supervisión y de entrada/salida, y un procesador de almacenamiento principal (MSP). Este último era una reimplementación del procesador System/3 modelo 15, lo que proporcionaba, en la práctica, una emulación por hardware del System/3.

Véase también

Referencias

  1. Manual de referencia de componentes de los modelos 8, 10, 12 y 15 del sistema IBM System/3 (2.ª  ed.). IBM. Noviembre de 1979.
  2. "Anuncio del producto Original System/3" (PDF) .
  3. 1 2 "IBM anuncia un nuevo ordenador, el modelo 12". The New York Times . 8 de julio de 1975.
  4. "IBM system/3" . Archivos de IBM . IBM. 23 de enero de 2003. Consultado el 26 de marzo de 2019 .
  5. G520-2370-0 IBM System/3 Modelo 6. Octubre de 1970.
  6. William D. Smith (29 de octubre de 1970). "IBM presenta 2 nuevas computadoras" . The New York Times .
  7. (el resto de la industria diría minicomputadoras )
  8. 1 2 "Anuncio de ingeniería de campo de IBM: IBM System/3" (PDF) .
  9. Pugh, Emerson (1991). Los sistemas 360 y los primeros 370 de IBM . MIT Press. pág. 449. 
  10. G360-0002-0 IBM System/3 Modelo 8. IBM. Septiembre de 1974.

Lecturas adicionales

  • "Todo lo que siempre quisiste saber sobre el sistema/3 pero nadie te lo contó" de Charlie Massoglia
  • "System/3 Disk Sort como lenguaje de programación" por Charlie Massoglia
  • "System/3 Programming RPG II" de Solomon Martin Bernard, 1972, ISBN 0-13-881698-0
  • "Introducción a la informática: IBM System/3" por Jerome T. Murray, 1971, ISBN 0-04-510037-3
  • "Sistema empresarial con procesamiento de datos mediante tarjetas perforadas y sistema/3 modelo 10", por FR Crawford, 1973, ISBN 0-13-107698-1
  • "IBM System/3" . Archivos de IBM. 23 de enero de 2003. Archivado del original el 25 de octubre de 2007. Consultado el 29 de mayo de 2006 .
  • Película original de época de alrededor de 1969. Proyecto de Archivos de Historia de la Computación.
  • Un sistema System/3 en proceso de restauración en CoreStore.
  • Sitio web de IBM System/3
  • Manual de referencia de componentes de los modelos 8, 10, 12 y 15 del sistema IBM System/3