stringtranslate.com

Sistemas medianos de Burroughs

Los modelos Burroughs B2500 a Burroughs B4900 fueron una serie de computadoras mainframe desarrolladas y fabricadas por Burroughs Corporation en Pasadena, California , Estados Unidos, desde 1966 hasta 1991. Estaban orientadas al mundo empresarial con un conjunto de instrucciones optimizado para el lenguaje de programación COBOL . También se las conocía como Burroughs Medium Systems , en contraste con los Burroughs Large Systems y Burroughs Small Systems .

Historia y arquitectura

Primera generación

Las computadoras B2500 y B3500 se anunciaron en 1966. [1] Operaban directamente con los tipos de datos decimales primarios de COBOL-68: cadenas de hasta 100 dígitos, con un carácter de dígito EBCDIC o ASCII o dos dígitos decimales BCD codificados en binario de 4 bits por byte. Los programas COBOL portátiles no usaban números enteros binarios en absoluto, por lo que la B2500 tampoco lo hacía, ni siquiera para las direcciones de memoria. La memoria se direccionaba hasta el dígito de 4 bits en estilo big-endian , utilizando direcciones decimales de 5 dígitos. Los números de punto flotante también usaban base 10 en lugar de alguna base binaria, y tenían hasta 100 dígitos de mantisa. Una declaración COBOL típica ' ADD A, B GIVING C' puede usar operandos de diferentes longitudes, diferentes representaciones de dígitos y diferentes representaciones de signos. Esta declaración compilada en una sola instrucción de 12 bytes con 3 operandos de memoria. [2] El formato complejo para impresión se logró ejecutando una sola EDITinstrucción con descriptores de formato detallados. Otras instrucciones de alto nivel implementadas "traducen este búfer a través de esta tabla de conversión (por ejemplo, de EBCDIC a ASCII) en ese búfer" y "ordenan esta tabla utilizando estos requisitos de ordenación en esa tabla". En casos extremos, las instrucciones individuales podrían ejecutarse durante varias centésimas de segundo. MCP podría terminar instrucciones demasiado largas, pero no podría interrumpir y reanudar instrucciones parcialmente completadas. (La reanudación es un requisito previo para hacer memoria virtual de estilo de página cuando los operandos cruzan los límites de página).

La máquina coincidía tanto con COBOL que el compilador COBOL era simple y rápido, y a los programadores COBOL también les resultó fácil realizar programación en ensamblador.

En el conjunto de instrucciones original, todas las operaciones se hacían sólo de memoria a memoria, sin registros de datos visibles. La aritmética se hacía en serie, un dígito a la vez, comenzando con los dígitos más significativos y luego avanzando hacia la derecha hasta los dígitos menos significativos. Esto es contrario a los métodos manuales de derecha a izquierda y más complicado, pero permitía suprimir la escritura de todos los resultados en casos de desbordamiento. La aritmética en serie funcionaba muy bien para COBOL, pero para lenguajes como FORTRAN o BPL era mucho menos eficiente que las computadoras estándar orientadas a palabras.

Se utilizaron tres ubicaciones de memoria reservadas como "registros" de indexación de direcciones. El tercer registro de índice se dedicó a señalar el marco de pila del procedimiento actual en la pila de llamada/retorno. Otras ubicaciones de memoria reservadas controlaban los tamaños de los operandos cuando ese tamaño no era constante.

El B3500 era similar al B2500, pero con un tiempo de ciclo más rápido y más opciones de expansión. El B2500 tenía un máximo de 60 K bytes de memoria central y un tiempo de ciclo de 2 microsegundos. El B3500 tenía un máximo de 500 K bytes y un tiempo de ciclo de 1 microsegundo.

El B2500/3500 pesaba alrededor de 600 a 700 libras (270 a 320 kg). [3]

Generaciones posteriores de máquinas

Las máquinas B2500/B3500 fueron seguidas por las B2700/B3700/B4700 en 1972; las B2800/B3800/B4800 en 1976, las B2900/B3900/B4900 en 1980 (que fue la primera de la gama en cargar su microcódigo desde un disquete , en lugar de implementarlo como memoria de solo lectura de hardware ) y finalmente las máquinas Unisys Serie V V340-V560 en 1985-90. Las máquinas anteriores a la B4800 no tenían memoria caché . Cada byte de operando o byte de resultado requería su propio ciclo de memoria principal separado, lo que limitaba el rendimiento del programa. Para compensar esto, la generación B3700/B4700 utilizó una memoria principal de semiconductores que era más rápida pero más cara y consumía más energía que la DRAM utilizada en las máquinas de la competencia. El uso inusual de números decimales como direcciones de memoria inicialmente no fue un problema; En la memoria central, la lógica de decodificación se basaba simplemente en el uso de una lógica de 1 en 5 en lugar de una lógica de 1 en 8 en las selecciones de fila y de banco de la memoria central. Pero las máquinas posteriores utilizaban chips de memoria estándar que esperaban direcciones binarias. Cada bloque de 1000 bytes de memoria lógica podía asignarse de forma trivial a un subconjunto de 1024 bytes en un chip con solo un 2,3 % de desperdicio. Pero para chips más densos y memorias totales más grandes, la dirección decimal completa tenía que ser procesada en una forma cuasi binaria más corta antes de enviar la dirección a los chips, y se repetía para cada ciclo de caché o memoria. Esta lógica de conversión ralentizaba un poco el ciclo de la máquina. En 1975, se intentó rediseñar el espacio de direcciones y se denominó MS-3 (Medium Systems 3rd Generation), pero ese proyecto se canceló. [4] [5]

Las máquinas anteriores a la B2900 permitían introducir números con valores "no dígitos" superiores a 9, pero la aritmética sobre este da lugar a resultados no especificados. Esto se utilizó como una forma de aritmética hexadecimal dentro del MCP y también por algunos programadores de aplicaciones. Las versiones posteriores dejaron de utilizar este método y, en su lugar, admitieron dos nuevos códigos de operación (de binario a decimal y de decimal a binario) para admitir el direccionamiento de los discos duros disponibles después de la adquisición de Memorex por parte de Burroughs .

Cancelación y retiro

Unisys canceló el desarrollo de hardware de la serie V en 1991 y el soporte finalizó en 2004. [6] En las máquinas B4900 y posteriores, las operaciones con números enteros de 10 dígitos o menos se manejaban ahora en paralelo; solo los operandos más largos continuaron utilizando el método serial. Y todas las operaciones de punto flotante se limitaron a 17 dígitos de precisión. Las máquinas de sistemas medianos posteriores agregaron un registro acumulador e instrucciones de acumulador/memoria que usaban números enteros de 7 dígitos y 32 bits y valores de punto flotante de 48 u 80 bits, todos alineados en límites de palabras de 16 bits.

Sistema operativo

El sistema operativo se llamaba MCP (Master Control Program). Compartía muchas características arquitectónicas con el MCP de las máquinas de pila de sistemas grandes de Burroughs, pero era completamente diferente internamente y estaba codificado en lenguaje ensamblador , no en un derivado de ALGOL . Los programas tenían espacios de direcciones separados reubicados dinámicamente por un registro base , pero por lo demás no había memoria virtual , ni paginación ni segmentación . Los programas más grandes se comprimían en el limitado espacio de direcciones del código mediante superposiciones explícitas . Las partes no residentes del MCP también estaban muy superpuestas. Inicialmente, el código y los datos compartían un único espacio de direcciones de 300.000 dígitos. Las máquinas posteriores tenían espacios separados de un millón de dígitos para el código del programa y los datos del proceso. Los campos de dirección de las instrucciones se ampliaron de cinco dígitos a seis dígitos, y se añadieron cuatro registros de índice reales más. [7]

Las primeras máquinas utilizaban los sistemas de discos de cabezal por pista de Burroughs en lugar de los discos de cabezal móvil, que ahora son el estándar. En un intento de acelerar el MCP, sus superposiciones se distribuyeron cuidadosamente de modo que las siguientes superposiciones llegaran pronto a su cabezal de lectura justo después de que se completara la superposición actual. Esto era similar a las optimizaciones de diseño dependientes del tiempo en las primeras computadoras de línea de retardo y de batería. Pero esto resultó ser poco práctico de mantener después de los cambios de software, y se lograron mejores resultados de manera constante con un diseño totalmente aleatorio de todas las superposiciones del MCP.

Aparte del propio sistema operativo, todo el software del sistema estaba codificado en BPL (Burroughs Programming Language), un lenguaje de programación de sistemas derivado de ALGOL y el lenguaje de sistemas ESPOL de Large System . El compilador COBOL inicial era compatible con la especificación ANSI 68 y admitía la ENTER SYMBOLICsintaxis para permitir la codificación en lenguaje ensamblador en línea, pero carecía de compatibilidad con archivos RELATIVOS e INDEXADOS; estos se añadieron más tarde a la versión ANSI 74 del compilador, que se publicó en 1982. MCP permitía que los programas se comunicaran entre sí a través de transmisiones de núcleo a núcleo ( CRCR) o mediante el uso de colas de almacenamiento ( STOQ), implementadas como llamadas al sistema utilizando la BCTinstrucción y expuestas a los lenguajes (COBOL ). Esto era algo inaudito, excepto en los sistemas IBM System/360FILL FROM/INTO más grandes de la época, e incluso entonces era un gran dolor de cabeza operativo gestionar las interacciones de los múltiples flujos de programas.

Uso y legado

La serie de sistemas medianos eran máquinas de multiprogramación muy eficaces. Incluso las versiones más básicas del B2500 podían soportar la multiprogramación a una escala utilizable. Los procesadores de sistemas medianos más grandes respaldaban las principales actividades de los centros de datos de bancos y otras instituciones financieras, así como de muchas empresas y clientes gubernamentales. El sistema mediano era la plataforma preferida por muchos profesionales del procesamiento de datos.

Con el Sistema Mediano, una computadora podía ejecutar simultáneamente un sistema de nómina por lotes, ingresar cheques bancarios en un clasificador de lectores MICR, compilar aplicaciones COBOL, brindar soporte a transacciones en línea y realizar ejecuciones de prueba en nuevas aplicaciones (coloquialmente llamado 'la mezcla', ya que el comando de consola ' 'MX indicaba que se estaban ejecutando trabajos). No era inusual ejecutar ocho o diez programas en una B2500 de tamaño mediano. Las instalaciones del Sistema Mediano a menudo tenían clústeres de cintas (cuatro unidades integradas en un gabinete de altura media) para entrada y salida de cinta magnética. También había unidades de cinta independientes disponibles, pero eran mucho más caras. La cinta era un medio de almacenamiento importante en estas computadoras; en los primeros días, a menudo se usaba para actualizaciones por lotes de padre e hijo; con el tiempo, el disco adicional se volvió más barato y quedó relegado como un dispositivo de biblioteca/copia de seguridad que contenía todos los archivos de datos y, a veces, los archivos de programa (usando la utilidad MFSOLT ) para una aplicación o cliente en particular.

COBOL a código máquina

Archivos de disco residentes en cinta
Encabezados de trabajo para entrada de tarjeta Gestión de tarjetas
e impresión en cola
Sistema de contabilidad (controlado por parámetros)

—un verso en blanco de un usuario desconocido de B2500

Referencias

  1. ^ Gray, George (octubre de 1999). «Burroughs Third-Generation Computers». Boletín de noticias sobre la historia de Unisys . 3 (5). Archivado desde el original el 26 de septiembre de 2017.
  2. ^ Manual de referencia de los sistemas Burroughs B2500 y B3500 (PDF) . Burroughs Corporation. Octubre de 1969.
  3. ^ Manual de referencia de los sistemas Burroughs B2500 y B3500 1969, pág. 1-4 (20).
  4. ^ "La estructura de la máquina S MS-3" (PDF) . 30 de junio de 1975.
  5. ^ George T. Gray; Ronald Q. Smith (2007). "Contra la corriente: la fusión Sperry-Burroughs y la lucha de Unisys por sobrevivir entre 1980 y 2001". IEEE Annals of the History of Computing . 29 (2): 3–17. doi :10.1109/MAHC.2007.16. S2CID  15187529.
  6. ^ 'Unisys asume un cargo de 1.200 millones de dólares y elimina 10.000 puestos de trabajo más; las líneas A y 2200 sobreviven, Vs sigue adelante', Computer Business Review, 23 de julio de 1991
  7. ^ "Conjunto de instrucciones de la serie V" (PDF) .