También conocido como | S/360 |
---|---|
Revelador | IBM |
Fabricante | IBM |
Familia de productos | Ver tabla de modelos |
Tipo | Computadora central |
Fecha de lanzamiento | 7 de abril de 1964 ( 07-04-1964 ) |
Interrumpido | 1978 ( 1978 ) |
Medios de comunicación | |
Sistema operativo | |
Memoria | 8 KB – 9 MB ( memoria central ) ( memoria de película fina en el modelo 95)) |
Predecesor | Serie 700/7000 |
Sucesor | Sistema/370 |
Relacionado | Arquitectura del sistema/360 |
Historia de los mainframes de IBM , 1952-actualidad |
---|
Nombre del mercado |
Arquitectura |
IBM System/360 ( S/360 ) es una familia de sistemas de computadoras mainframe anunciada por IBM el 7 de abril de 1964, [1] y entregada entre 1965 y 1978. [2] System/360 fue la primera familia de computadoras diseñada para cubrir aplicaciones comerciales y científicas y una gama completa de aplicaciones desde pequeñas a grandes. El diseño distinguía entre arquitectura e implementación, lo que permitió a IBM lanzar una suite de diseños compatibles a diferentes precios. Todos los sistemas, excepto el solo parcialmente compatible Model 44 y los más caros, usan microcódigo para implementar el conjunto de instrucciones, presentando direccionamiento de bytes de 8 bits y cálculos binarios de punto fijo, decimales de punto fijo y de punto flotante hexadecimal .
La familia System/360 introdujo la tecnología de lógica sólida (SLT) de IBM, que incluía más transistores en una tarjeta de circuito, lo que permitió crear computadoras más potentes pero más pequeñas. [3]
El modelo más lento del System/360 anunciado en 1964, el Modelo 30 , podía ejecutar hasta 34.500 instrucciones por segundo, con una memoria de 8 a 64 KB . [4] Los modelos de alto rendimiento llegaron más tarde. El IBM System/360 Modelo 91 de 1967 podía ejecutar hasta 16,6 millones de instrucciones por segundo . [5] Los modelos 360 más grandes podían tener hasta 8 MB de memoria principal , [6] aunque esa cantidad de memoria era inusual; una instalación grande podía tener tan solo 256 KB de almacenamiento principal, pero 512 KB, 768 KB o 1024 KB eran más comunes. Hasta 8 megabytes de almacenamiento de gran capacidad (LCS) más lento (8 microsegundos) también estaban disponibles para algunos modelos.
El IBM 360 tuvo un gran éxito, ya que permitía a los clientes comprar un sistema más pequeño sabiendo que podían ampliarlo si sus necesidades aumentaban, sin tener que reprogramar el software de la aplicación ni reemplazar los dispositivos periféricos. Influyó en el diseño de computadoras durante años; muchos lo consideran uno de los ordenadores más exitosos de la historia.
El arquitecto jefe de System/360 fue Gene Amdahl , y el proyecto fue administrado por Fred Brooks , responsable ante el presidente Thomas J. Watson Jr. [6] El lanzamiento comercial fue pilotado por otro de los lugartenientes de Watson, John R. Opel , quien gestionó el lanzamiento de la familia de mainframes System 360 de IBM en 1964. [7]
La compatibilidad a nivel de aplicación (con algunas restricciones) para el software System/360 se mantiene hasta el día de hoy con los servidores mainframe System z .
A principios de los años 1960, IBM se enfrentaba a la carga de dar soporte y actualizar cinco líneas de ordenadores independientes, que estaban dirigidas a distintos segmentos del mercado y eran completamente diferentes entre sí. Un cliente que había comprado una máquina para realizar tareas de contabilidad, como la IBM 1401 , y que ahora buscaba una máquina para realizar cálculos de ingeniería, como la IBM 7040 , no tenía motivos para elegir IBM: la 7040 era incompatible con la 1401 y bien podrían haber sido de empresas diferentes. Los clientes se sentían frustrados porque se necesitaban grandes inversiones, a menudo máquinas y programas completamente nuevos, cuando en realidad lo que se necesitaban eran mejoras de rendimiento aparentemente pequeñas. [8]
En 1961, IBM reunió un grupo de trabajo para trazar sus desarrollos para la década de 1960, conocido como SPREAD, para Programación de Sistemas, Investigación, Ingeniería y Desarrollo. En reuniones en el New Englander Motor Hotel en Greenwich, Connecticut , SPREAD desarrolló un nuevo concepto para la próxima generación de máquinas IBM. En ese momento, nuevas tecnologías estaban llegando al mercado, incluida la introducción de la sustitución de transistores individuales por circuitos integrados de pequeña escala y el paso de las antiguas palabras orientadas a 6 bits a un byte de 8 bits. Estas iban a conducir a una nueva generación de máquinas, hoy conocida como la tercera generación, de todos los proveedores existentes. [8]
En lo que SPREAD se diferenciaba significativamente de los conceptos anteriores era en las características que se admitirían. En lugar de máquinas destinadas a diferentes nichos de mercado, el nuevo concepto era en realidad la unión de todos estos diseños. Una arquitectura de conjunto de instrucciones único (ISA) incluía instrucciones para aritmética binaria , de punto flotante y decimal , procesamiento de cadenas, conversión entre conjuntos de caracteres (un problema importante antes del uso generalizado de ASCII ) y un amplio soporte para el manejo de archivos, entre muchas otras características. [8]
Esto significaría que IBM estaría introduciendo otra línea de máquinas, una vez más incompatibles con sus máquinas anteriores. Pero los nuevos sistemas podrían ejecutar todos los programas que antes requerían máquinas diferentes. Una preocupación era que existía el riesgo de que sus clientes, ante la posibilidad de comprar otra plataforma nueva e incompatible, simplemente eligieran otro proveedor. Sin embargo, el concepto ganó apoyo de manera constante y seis meses después de su creación, la empresa decidió implementar el concepto SPREAD. [8]
Se organizó un nuevo equipo bajo la dirección de Bob Evans , quien personalmente convenció al director ejecutivo Thomas J. Watson Jr. para que desarrollara el nuevo sistema. Gene Amdahl fue el arquitecto jefe de las propias computadoras, mientras que Fred Brooks fue el líder del proyecto para el software y Erich Bloch dirigió el desarrollo de los diseños de circuitos integrados híbridos de IBM , Solid Logic Technology . [9]
Producir una única máquina con soporte para todas estas características sería casi imposible. En cambio, el concepto SPREAD se basó en la separación del conjunto de características definidas de su funcionamiento interno, con una familia de máquinas con diferentes rendimientos y diferentes diseños internos. En concreto, dependiendo de la máquina, algunas instrucciones podrían no estar soportadas directamente en el hardware y, en su lugar, se completarían utilizando pequeños programas, en un código interno específico de la máquina, almacenado en la memoria de solo lectura , o lo que hoy se conoce como microcódigo . [10]
Por lo tanto, un modelo destinado a ser utilizado con contabilidad podría optar por implementar la matemática decimal directamente en el hardware y dejar que las instrucciones de punto flotante sean manejadas por los subprogramas. Esto haría que el punto flotante en un sistema de este tipo se ejecute (mucho) más lentamente, pero, fundamentalmente, se ejecutaría . Del mismo modo, una empresa que compre un sistema para soporte de ingeniería elegiría un modelo con hardware de punto flotante y podría usarlo de vez en cuando para ejecutar su nómina. Con los diseños anteriores, el sistema que realizaba el punto flotante generalmente no tendría soporte para la matemática decimal y requeriría que el cliente escribiera un paquete de este tipo o comprara otra máquina.
Esto significaba que una única línea podía tener máquinas adaptadas a los nichos de precio y rendimiento que antes exigían sistemas informáticos totalmente independientes. Esta flexibilidad redujo en gran medida las barreras de entrada. Con la mayoría de los demás proveedores, los clientes tenían que elegir entre máquinas que podrían quedarse pequeñas o máquinas que eran potencialmente demasiado potentes y, por lo tanto, demasiado costosas. En la práctica, esto significaba que muchas empresas simplemente no compraban computadoras. Ahora, un cliente podía comprar una máquina que resolviera un requisito particular, sabiendo que podía cambiar los modelos a medida que cambiaban sus necesidades, sin perder el soporte para los programas que ya estaba ejecutando. [8]
Por ejemplo, en el caso de una empresa que había adquirido un sistema de contabilidad y ahora buscaba ampliar su soporte informático a la ingeniería, esto significaba que podían desarrollar y probar su programa de ingeniería en la máquina que ya utilizaban. Si alguna vez necesitaban más rendimiento, podían comprar una máquina con hardware de punto flotante, sabiendo que nada más cambiaría, simplemente se volvería más rápida. Incluso se podían utilizar los mismos periféricos, lo que permitía, por ejemplo, escribir datos del sistema de ingeniería en cinta y luego imprimirlos utilizando una impresora de línea de alta velocidad ya conectada a su sistema de contabilidad. O podían reemplazar el sistema de contabilidad directamente por un sistema con el rendimiento necesario para ejecutar ambas tareas. [8]
La idea de que un único diseño pudiera abordar las innumerables formas en que se podían utilizar las máquinas dio origen al nombre "360", una referencia a los 360 grados en un círculo, y los círculos de máquinas y componentes ocuparon un lugar destacado en la publicidad de IBM. [8]
IBM anunció inicialmente una serie de seis computadoras y cuarenta periféricos comunes. IBM finalmente entregó catorce modelos, incluidos raros modelos únicos para la NASA . El modelo más económico fue el Modelo 20 con tan solo 4096 bytes de memoria central , ocho registros de 16 bits en lugar de los dieciséis registros de 32 bits de otros modelos System/360 y un conjunto de instrucciones que era un subconjunto del utilizado por el resto de la gama.
El anuncio inicial en 1964 incluía los modelos 30 , 40 , 50 , 60, 62 y 70. Los tres primeros eran sistemas de gama baja a media destinados al mercado de la serie IBM 1400. Los tres se enviaron por primera vez a mediados de 1965. Los tres últimos, destinados a reemplazar a las máquinas de la serie 7000 , nunca se enviaron y fueron reemplazados por el 65 y el 75 , que se entregaron por primera vez en noviembre de 1965 y enero de 1966, respectivamente.
Las incorporaciones posteriores a la gama baja incluyeron los modelos 20 (1966, mencionado anteriormente), 22 (1971) y 25 (1968). El modelo 20 tenía varios submodelos; el submodelo 5 estaba en el extremo superior del modelo. El modelo 22 era un modelo 30 reciclado con limitaciones menores: una configuración de memoria máxima más pequeña y canales de E/S más lentos, lo que lo limitaba a dispositivos de disco y cinta más lentos y de menor capacidad que el modelo 30.
El modelo 44 (1966) fue un modelo especializado, diseñado para computación científica y para computación en tiempo real y control de procesos, con algunas instrucciones adicionales y con todas las instrucciones de almacenamiento a almacenamiento y otras cinco instrucciones complejas eliminadas.
Una sucesión de máquinas de alta gama incluyó el Modelo 67 (1966, mencionado más abajo, anticipado brevemente como el 64 y 66 [11] ), 85 (1969), 91 (1967, anticipado como el 92), 95 (1968) y 195 (1971). El diseño 85 era intermedio entre la línea System/360 y el siguiente System/370 y fue la base para el 370/165. Hubo una versión System/370 del 195, pero no incluía Traducción Dinámica de Direcciones.
Las implementaciones diferían sustancialmente, utilizando diferentes anchos de ruta de datos nativos, presencia o ausencia de microcódigo, pero eran extremadamente compatibles. Excepto donde se documentó específicamente, los modelos eran compatibles arquitectónicamente. El 91 , por ejemplo, fue diseñado para computación científica y proporcionó ejecución de instrucciones fuera de orden (y podía producir "interrupciones imprecisas" si se producía una trampa de programa mientras se leían varias instrucciones), pero carecía del conjunto de instrucciones decimales utilizado en aplicaciones comerciales. Se podían agregar nuevas características sin violar las definiciones arquitectónicas: el 65 tenía una versión de doble procesador (M65MP) con extensiones para señalización entre CPU; el 85 introdujo memoria caché. Los modelos 44, 75, 91, 95 y 195 se implementaron con lógica cableada, en lugar de microcodificada como todos los demás modelos.
El modelo 67 , anunciado en agosto de 1965, fue el primer sistema de producción de IBM en ofrecer hardware de traducción dinámica de direcciones (memoria virtual) para soportar tiempo compartido . "DAT" ahora se conoce más comúnmente como MMU . Se construyó una unidad experimental única basada en un modelo 40. Antes del 67, IBM había anunciado los modelos 64 y 66, versiones DAT del 60 y 62, pero fueron reemplazados casi inmediatamente por el 67 al mismo tiempo que el 60 y el 62 fueron reemplazados por el 65. El hardware DAT reaparecería en la serie S/370 en 1972, aunque inicialmente estuvo ausente de la serie. Al igual que su pariente cercano, el 65, el 67 también ofrecía CPU duales.
IBM dejó de comercializar todos los modelos System/360 a finales de 1977. [12]
Los clientes existentes de IBM habían realizado una gran inversión en software que se ejecutaba en máquinas de segunda generación . Varios modelos System/360 tenían la opción de emular la computadora existente del cliente utilizando hardware especial [13] y microcódigo , y un programa de emulación que permitía que los programas existentes se ejecutaran en la nueva máquina.
Modelo Sistema/360 | Sistemas emulados | |||||
---|---|---|---|---|---|---|
1401 | 1440 , 1460 | 1410 , 7010 | 7070, 7072, 7074 | 7080 | 709 , 7090, 7094, 7094 II , 7040, 7044 | |
Modelo 20 | Sí | |||||
Modelo 30 | Sí | Sí | ||||
Modelo 40 | Sí | Sí | Sí | |||
Modelo 50 | Sí | Sí | Sí | Sí | ||
Modelo 65 | Sí | Sí | Sí | |||
Modelo 85 | Bajo control del sistema operativo |
Los clientes inicialmente tuvieron que detener la computadora y cargar el programa de emulación. [14] IBM luego agregó características y modificó los programas emuladores para permitir la emulación de los 1401, 1440, 1460, 1410 y 7010 bajo el control de un sistema operativo. El Modelo 85 y el posterior System/370 mantuvieron el precedente, conservando las opciones de emulación y permitiendo que los emuladores se ejecutaran bajo el control del SO junto con los programas nativos. [15] [16]
El System/360 (excepto los modelos 20, 44 [NB 1] y 67 [NB 2] ) fue reemplazado por la gama compatible System/370 en 1970 y los usuarios del Modelo 20 fueron elegidos para pasarse al IBM System/3 . (La idea de un gran avance con la tecnología FS se abandonó a mediados de la década de 1970 por razones de rentabilidad y continuidad). Los sistemas IBM compatibles posteriores incluyen la familia 4300 , la familia 308x , el 3090 , las familias ES/9000 y 9672 ( familia System/390 ) y la serie IBM Z.
Las computadoras que eran en su mayoría idénticas o compatibles en términos del código de máquina o arquitectura del System/360 incluían la familia 470 de Amdahl (y sus sucesoras), los mainframes de Hitachi , la serie UNIVAC 9000 , [17] Fujitsu como Facom, la serie RCA Spectra 70 , [NB 3] y el English Electric System 4. [ NB 4] Las máquinas System 4 se construyeron bajo licencia de RCA. RCA vendió la serie Spectra a lo que entonces era UNIVAC , donde se convirtieron en la UNIVAC Serie 70. UNIVAC también desarrolló la UNIVAC Serie 90 como sucesora de la serie 9000 y la Serie 70. [17] La Unión Soviética produjo un clon del System/360 llamado ES EVM . [18]
El ordenador portátil IBM 5100 , presentado en 1975, ofrecía una opción para ejecutar el lenguaje de programación APL.SV del System/360 a través de un emulador de hardware. IBM utilizó este enfoque para evitar los costos y la demora que implicaba crear una versión específica del APL para el 5100.
En varios aviones caza y bombarderos se utilizan computadoras de aviónica System/4 Pi, especialmente resistentes a la radiación y algo modificadas, como la computadora de aviónica System/4 Pi . En la versión completa de 32 bits AP-101, se utilizaron 4 máquinas Pi como nodos de computación replicados del sistema informático del transbordador espacial tolerante a fallas (en cinco nodos). La Administración Federal de Aviación de los Estados Unidos operó el IBM 9020 , un grupo especial de System/360 modificados para el control del tráfico aéreo, desde 1970 hasta los años 1990. (Al parecer, todavía se utiliza algún software 9020 a través de emulación en hardware más nuevo. [ cita requerida ] )
Modelo | Anunciado [19] | Enviado [19] | Rendimiento científico (kIPS) [NB 5] | Rendimiento comercial (kIPS) [NB 6] | Ancho de banda de la CPU (MB/seg) [1] | Ancho de banda de memoria (MB/seg) [1] | Tamaño de la memoria (en KB ( binarios )) | Peso (libras) | Notas |
---|---|---|---|---|---|---|---|---|---|
30 | Abril de 1964 | Junio de 1965 | 10.2 | 29 | 1.3 | 0,7 | 8–64 [20] | 1.700 libras (771 kg) [21] : 2030,1 | |
40 | Abril de 1964 | Abril de 1965 | 40 | 75 | 3.2 | 0,8 | 16–256 [22] | 1700–2310 lb (771–1048 kg) depende de la memoria [21] : 2040,1 | |
50 | Abril de 1964 | Agosto de 1965 | 133 | 169 | 8.0 | 2.0 | 64–512 [23] | 4700–7135 lb (2132–3236 kg) depende de la memoria [21] : 2050,2, 2050,4 | Compatible con almacenamiento de gran capacidad (LCS) IBM 2361 . |
60 y 62 | Abril de 1964 | nunca | Reemplazado por el modelo 65 | ||||||
70 | Abril de 1964 | nunca | Reemplazado por el modelo 75 | ||||||
90 | Abril de 1964 | nunca | Reemplazado por el modelo 92 | ||||||
92 | Agosto de 1964 | nunca | Redesignado como IBM System/360 Modelo 91 [19] | ||||||
20 | Noviembre de 1964 | Marzo de 1966 | 2.0 | 2.6 | 4–32 [24] | 1200–1400 libras (544–635 kg) [25] | Conjunto de instrucciones limitado, parcialmente incompatible, de 16 bits y de gama baja | ||
91 | Enero de 1966 [19] : p.394 | Octubre de 1967 | 1.900 | 1.800 | 133 | 164 | 1.024–4.096 [26] | Disponible en oferta especial a partir de noviembre de 1964 [19] : 388 | |
64 y 66 | Abril de 1965 | nunca | Reemplazado por el modelo 67 | ||||||
65 | Abril de 1965 | Noviembre de 1965 | 563 | 567 | 40 | 21 | 128–1.024 [27] | 4290–8830 lb (1946–4005 kg) depende de la memoria y la cantidad de procesadores [21] : 2065,2, 2065,4, 2065,6, 2065,8, 2065,10 | LCS compatible |
75 | Abril de 1965 | Enero de 1966 | 940 | 670 | 41 | 43 | 256–1.024 [28] | 5125–5325 lb (2325–2415 kg) depende de la memoria [21] : 2075,2, 2075,4 | LCS compatible |
67 | Agosto de 1965 | Mayo de 1966 | 40 | 21 | 512–2.048 [29] | 3674 lb (1666 kg) – Solo procesador [21] : 2067,6 | Traducción dinámica de direcciones para tiempo compartido | ||
44 | Agosto de 1965 | Septiembre de 1966 | 118 | 185 | 16 | 4.0 | 32–256 [30] | 2900–4200 lb (1315–1905 kg) depende de la memoria [21] : 2044,2 | Especializado para computación científica |
95 | pedido especial | Febrero de 1968 | 3.800 estimado | 3.600 estimado | 133 | 711 | 5.220 [31] | Rendimiento estimado como 2× Modelo 91 [19] : p.394 | |
25 | Enero de 1968 | Octubre de 1968 | 9.7 | 25 | 1.1 | 2.2 | 16–48 [32] | 2050 libras (930 kg) [21] : 2025,2 | |
85 | Enero de 1968 | Diciembre de 1969 | 3.245 | 3.418 | 100 | 67 | 512–4.096 [33] | 14 428 lb (6544 kg) – Solo procesador [21] : 2085,2 | Memoria caché de 16 a 32 KB, punto flotante de precisión extendida. |
195 | Agosto de 1969 | Marzo de 1971 | 10,000 estimados | 10,000 estimados | 148 | 169 | 1.024–4.096 [34] | 13 450–28 350 lb (6101–12 859 kg) depende de la memoria [21] : 3195,2, 3195,4 | Memoria caché IC de 32 KB. Rendimiento estimado en 3× Modelo 85. [19] : p.422 |
22 | Abril de 1971 | Junio de 1971 | 1.3 | 0,7 | 24–32 [35] | 1500 libras (680 kg) [21] : 2022,1 | Un modelo 30 remanufacturado |
El Sistema/360 introdujo en el mercado una serie de estándares industriales, tales como:
La especificación de arquitectura de la serie System/360 no hace suposiciones sobre la implementación en sí, sino que describe las interfaces y el comportamiento esperado de una implementación. [38] [39] [40] La arquitectura describe las interfaces obligatorias que deben estar disponibles en todas las implementaciones y las interfaces opcionales. Algunos aspectos de esta arquitectura son:
Algunas de las características opcionales son:
Todos los modelos de System/360, excepto el Modelo 20 y el Modelo 44, implementaron esa especificación.
Las operaciones aritméticas y lógicas binarias se realizan como registro a registro y como memoria a registro/registro a memoria como una característica estándar. Si se instalaba la opción Conjunto de instrucciones comerciales, se podía realizar aritmética decimal empaquetada como memoria a memoria con algunas operaciones de memoria a registro. La característica Conjunto de instrucciones científicas, si estaba instalada, proporcionaba acceso a cuatro registros de punto flotante que se podían programar para operaciones de punto flotante de 32 bits o de 64 bits . Los modelos 85 y 195 también podían operar con números de punto flotante de precisión extendida de 128 bits almacenados en pares de registros de punto flotante, y el software proporcionaba emulación en otros modelos. El System/360 usaba un byte de 8 bits, una palabra de 32 bits, una palabra doble de 64 bits y un nibble de 4 bits . Las instrucciones de máquina tenían operadores con operandos, que podían contener números de registro o direcciones de memoria. Esta compleja combinación de opciones de instrucción dio como resultado una variedad de formatos y duraciones de instrucciones.
El direccionamiento de la memoria se realizó mediante un esquema de base más desplazamiento, con registros del 1 al F (15). Un desplazamiento se codificó en 12 bits, lo que permitió un desplazamiento de 4096 bytes (0–4095), como desplazamiento desde la dirección introducida en un registro base.
El registro 0 no podía usarse como registro base ni como registro de índice (ni como registro de dirección de rama), ya que "0" estaba reservado para indicar una dirección en los primeros 4 KB de memoria, es decir, si el registro 0 se especificaba como se describe, el valor 0x00000000 se ingresaba implícitamente en el cálculo de la dirección efectiva en lugar de cualquier valor que pudiera estar contenido dentro del registro 0 (o si se especificaba como un registro de dirección de rama, entonces no se tomaba ninguna rama y se ignoraba el contenido del registro 0, pero se realizaba cualquier efecto secundario de la instrucción).
Este comportamiento específico permitió la ejecución inicial de una rutina de interrupción, ya que los registros base no necesariamente se establecerían en 0 durante los primeros ciclos de instrucción de una rutina de interrupción. No es necesario para la carga inicial del programa ( IPL , por sus siglas en inglés) o el arranque, ya que siempre se puede borrar un registro sin necesidad de guardarlo.
Con la excepción del Modelo 67, [29] todas las direcciones eran direcciones de memoria real. La memoria virtual no estaba disponible en la mayoría de los mainframes de IBM hasta la serie System/370 . El Modelo 67 introdujo una arquitectura de memoria virtual, que utilizaban MTS , CP-67 y TSS/360 , pero no los principales sistemas operativos System/360 de IBM.
Las instrucciones de código de máquina del System/360 tienen una longitud de 2 bytes (sin operandos de memoria), 4 bytes (un operando) o 6 bytes (dos operandos). Las instrucciones siempre se encuentran en límites de 2 bytes.
Las operaciones como MVC (Move-Characters) (Hex: D2) solo pueden mover como máximo 256 bytes de información. Para mover más de 256 bytes de datos se requieren varias operaciones MVC. (La serie System/370 introdujo una familia de instrucciones más potentes, como la instrucción MVCL "Move-Characters-Long", que permite mover hasta 16 MB como un solo bloque).
Un operando tiene una longitud de dos bytes y representa típicamente una dirección como un nibble de 4 bits que denota un registro base y un desplazamiento de 12 bits en relación con el contenido de ese registro, en el rango 000–FFF (mostrados aquí como números hexadecimales ). La dirección correspondiente a ese operando es el contenido del registro de propósito general especificado más el desplazamiento. Por ejemplo, una instrucción MVC que mueve 256 bytes (con código de longitud 255 en hexadecimal como FF ) desde el registro base 7, más el desplazamiento 000 , al registro base 8, más el desplazamiento 001 , se codificaría como la instrucción de 6 bytes " D2FF 8001 7000 " (operador/longitud/dirección1/dirección2).
El System/360 fue diseñado para separar el estado del sistema del estado problemático . Esto proporcionaba un nivel básico de seguridad y capacidad de recuperación de errores de programación. Los programas problemáticos (de usuario) no podían modificar los datos o el almacenamiento de programas asociados con el estado del sistema. Los errores de excepción de direccionamiento, datos u operación hacían que la máquina entrara en el estado del sistema a través de una rutina controlada para que el sistema operativo pudiera intentar corregir o terminar el programa con el error. De manera similar, podía recuperar ciertos errores de hardware del procesador a través de las rutinas de verificación de la máquina .
Periféricos conectados al sistema a través de canales . Un canal es un procesador especializado con el conjunto de instrucciones optimizado para transferir datos entre un periférico y la memoria principal. En términos modernos, esto podría compararse con el acceso directo a memoria (DMA). El S/360 conecta los canales a las unidades de control con cables de bus y de etiqueta ; IBM eventualmente los reemplazó con canales de Conexión de sistemas empresariales (ESCON) y Conexión de fibra (FICON), pero mucho después de la era S/360.
Inicialmente, había dos tipos de canales: canales multiplexores de bytes (conocidos en ese momento simplemente como "canales multiplexores"), para conectar dispositivos de "baja velocidad" como lectores de tarjetas y perforadoras, impresoras de línea y controladores de comunicaciones, y canales selectores para conectar dispositivos de alta velocidad, como unidades de disco , unidades de cinta , celdas de datos y tambores . Cada System/360 (excepto el Modelo 20, que no era un 360 estándar) tiene un canal multiplexor de bytes y 1 o más canales selectores, aunque el modelo 25 tiene solo un canal, que puede ser un multiplexor de bytes o un canal selector. Los modelos más pequeños (hasta el modelo 50) tienen canales integrados, mientras que para los modelos más grandes (modelo 65 y superiores) los canales son grandes unidades separadas en gabinetes separados: el IBM 2870 es el canal multiplexor de bytes con hasta cuatro subcanales selectores, y el IBM 2860 tiene hasta tres canales selectores.
El canal multiplexor de bytes puede manejar E/S hacia/desde varios dispositivos simultáneamente a las velocidades nominales más altas del dispositivo, de ahí el nombre, ya que multiplexa la E/S desde esos dispositivos en una única ruta de datos a la memoria principal. Los dispositivos conectados a un canal multiplexor de bytes están configurados para funcionar en modo de 1 byte, 2 bytes, 4 bytes o "ráfaga". Los "bloques" de datos más grandes se utilizan para manejar dispositivos progresivamente más rápidos. Por ejemplo, un lector de tarjetas 2501 que funciona a 600 tarjetas por minuto estaría en modo de 1 byte, mientras que una impresora 1403-N1 estaría en modo ráfaga. Además, los canales multiplexores de bytes en modelos más grandes tienen una sección de subcanal selector opcional que daría cabida a unidades de cinta. La dirección del canal del multiplexor de bytes era normalmente "0" y las direcciones del subcanal selector eran de "C0" a "FF". Por lo tanto, las unidades de cinta en System/360 se direccionaban comúnmente en 0C0–0C7. Otras direcciones de multiplexor de bytes comunes son: 00A: lector de tarjetas 2501, 00C/00D: lector/perforador 2540, 00E/00F: impresoras 1403-N1, 010–013: impresoras 3211, 020–0BF: unidades de telecomunicaciones 2701/2703 . Estas direcciones todavía se utilizan comúnmente en las máquinas virtuales z/VM.
Los modelos 40 y 50 del System/360 tienen una consola 1052-7 integrada que normalmente se conoce como 01F, sin embargo, no estaba conectada al canal del multiplexor de bytes, sino que tenía una conexión interna directa con el mainframe. El modelo 30 conectaba un modelo diferente de 1052 a través de una unidad de control 1051. Los modelos 60 a 75 también utilizan el 1052–7.
Los canales selectores permitían la entrada/salida a dispositivos de alta velocidad. Estos dispositivos de almacenamiento se conectaban a una unidad de control y luego al canal. La unidad de control permitía conectar grupos de dispositivos a los canales. En los modelos de mayor velocidad, varios canales selectores, que podían funcionar simultáneamente o en paralelo, mejoraban el rendimiento general.
Las unidades de control están conectadas a los canales con pares de cables de "bus y etiqueta". Los cables de bus transportaban la información de dirección y datos y los cables de etiqueta identificaban qué datos había en el bus. La configuración general de un canal es conectar los dispositivos en una cadena, de la siguiente manera: Mainframe—Unidad de control X—Unidad de control Y—Unidad de control Z. A cada unidad de control se le asigna un "rango de captura" de direcciones a las que presta servicio. Por ejemplo, la unidad de control X podría capturar las direcciones 40–4F, la unidad de control Y: C0–DF y la unidad de control Z: 80–9F. Los rangos de captura tenían que ser múltiplos de 8, 16, 32, 64 o 128 dispositivos y estar alineados en los límites apropiados. Cada unidad de control, a su vez, tiene uno o más dispositivos conectados a ella. Por ejemplo, podría tener la unidad de control Y con 6 discos, que se direccionarían como C0-C5.
IBM fabrica tres tipos generales de cables de bus y etiqueta. El primero es el cable de bus y etiqueta gris estándar, seguido del cable de bus y etiqueta azul y, por último, el cable de bus y etiqueta marrón. Por lo general, las revisiones de cable más nuevas son capaces de alcanzar velocidades más altas o distancias más largas, y algunos periféricos especifican revisiones de cable mínimas tanto de subida como de bajada.
El orden de los cables de las unidades de control en el canal también es importante. Cada unidad de control está "asignada" como de prioridad alta o baja. Cuando se enviaba una selección de dispositivo en el canal de un mainframe, la selección se enviaba desde X->Y->Z->Y->X. Si la unidad de control era "alta", entonces la selección se verificaba en la dirección de salida, si era "baja", entonces en la dirección de entrada. Por lo tanto, la unidad de control X era la 1.ª o la 5.ª, la Y era la 2.ª o la 4.ª, y la Z era la 3.ª en la línea. También es posible tener varios canales conectados a una unidad de control desde el mismo mainframe o desde varios, lo que proporciona una capacidad de respaldo, acceso múltiple y alto rendimiento.
Por lo general, la longitud total del cable de un canal está limitada a 200 pies, aunque es preferible que sea menor. Cada unidad de control representa aproximadamente 10 "pies" del límite de 200 pies.
IBM introdujo por primera vez un nuevo tipo de canal de E/S en el Modelo 85 y el Modelo 195, el canal multiplexor de bloques 2880, y luego lo convirtió en estándar en el System/370 . Este canal permitía a un dispositivo suspender un programa de canal, a la espera de la finalización de una operación de E/S y, de esta manera, liberar el canal para que lo use otro dispositivo. Un canal multiplexor de bloques puede admitir conexiones estándar de 1,5 MB/s o, con la característica de interfaz de 2 bytes, 3 MB/s; estas últimas utilizan un cable de etiqueta y dos cables de bus. En el S/370 hay una opción para un canal de transmisión de datos de 3,0 MB/s [41] con un cable de bus y un cable de etiqueta.
El uso inicial de esto fue el disco de cabezal fijo 2305, que tiene 8 "exposiciones" (direcciones de alias) y detección de posición rotacional (RPS).
Los canales multiplexores de bloques pueden funcionar como un canal selector para permitir la conexión compatible de subsistemas heredados. [42]
Al no estar seguro de la fiabilidad y disponibilidad de los nuevos circuitos integrados monolíticos , IBM optó por diseñar y fabricar sus propios circuitos integrados híbridos personalizados . Estos se construyeron sobre sustratos cerámicos de 11 mm cuadrados. Se serigrafiaron resistencias y se añadieron transistores y diodos discretos encapsulados en vidrio . A continuación, el sustrato se cubrió con una tapa metálica o se encapsuló en plástico para crear un módulo de " tecnología de lógica sólida " (SLT).
Varios de estos módulos SLT se montaron en chips invertidos sobre una pequeña "tarjeta SLT" de circuito impreso multicapa . Cada tarjeta tenía uno o dos conectores en un borde que se conectaban a pines en una de las "placas SLT" del ordenador (también conocidas como placa base). Esto era al revés de cómo se montaban la mayoría de las tarjetas de otras empresas, donde las tarjetas tenían pines o áreas de contacto impresas y se conectaban a conectores en las placas del ordenador.
Se podían ensamblar hasta veinte placas SLT una al lado de la otra (vertical y horizontalmente, con un máximo de 4 de alto por 5 de ancho) para formar una "puerta lógica". Varias puertas montadas juntas constituían un "marco lógico" con forma de caja. Las puertas exteriores generalmente estaban articuladas a lo largo de un borde vertical para que pudieran abrirse y brindar acceso a las puertas internas fijas. Las máquinas más grandes podían tener más de un marco atornillado para producir la unidad final, como una unidad central de procesamiento (CPU) de múltiples marcos.
Los modelos más pequeños del Sistema/360 usaban el Sistema operativo básico/360 ( BOS/360 ), el Sistema operativo de cinta (TOS/360) o el Sistema operativo de disco/360 ( DOS/360 , que evolucionó a DOS/VS, DOS/VSE, VSE/AF, VSE/SP, VSE/ESA y luego z/VSE ).
Los modelos más grandes usaban el Sistema operativo/360 (OS/360). IBM desarrolló varios niveles de OS/360, con características cada vez más potentes: Programa de control primario (PCP), Multiprogramación con un número fijo de tareas (MFT) y Multiprogramación con un número variable de tareas (MVT). MVT tardó mucho tiempo en convertirse en un sistema utilizable, y el menos ambicioso MFT se utilizó ampliamente. PCP se usó en máquinas intermedias demasiado pequeñas para ejecutar bien MFT, y en máquinas más grandes antes de que MFT estuviera disponible; las versiones finales de OS/360 incluían solo MFT y MVT. Para las máquinas System/370 y posteriores, MFT evolucionó a OS/VS1 , mientras que MVT evolucionó a OS/VS2 (SVS) (Almacenamiento virtual único), luego varias versiones de MVS (Almacenamiento virtual múltiple) culminando en el actual z/OS .
Cuando anunció el Modelo 67 en agosto de 1965, IBM también anunció el TSS/360 (Sistema de tiempo compartido) para su entrega al mismo tiempo que el 67. El TSS/360, una respuesta a Multics , fue un proyecto ambicioso que incluía muchas características avanzadas. Tuvo problemas de rendimiento, se retrasó, se canceló, se restableció y finalmente se canceló [NB 8] nuevamente en 1971. Los clientes migraron al CP-67 , MTS ( Sistema de terminal de Michigan ), TSO ( Opción de tiempo compartido para OS/360) o uno de varios otros sistemas de tiempo compartido .
CP-67, el sistema de máquina virtual original , también se conocía como CP/CMS . CP/67 se desarrolló fuera del sistema principal de IBM, en el Centro Científico de Cambridge de IBM , en cooperación con investigadores del MIT . CP/CMS finalmente ganó una amplia aceptación y condujo al desarrollo de VM/370 (Virtual Machine), que tenía un "sub" sistema operativo interactivo principal conocido como VM/CMS (Conversational Monitoring System). Esto evolucionó hasta convertirse en el z/VM actual .
El Modelo 20 ofrecía un sistema simplificado y poco utilizado basado en cintas llamado TPS (Tape Processing System) y DPS (Disk Processing System) que proporcionaba compatibilidad con la unidad de disco 2311. TPS podía funcionar en una máquina con 8 KB de memoria; DPS requería 12 KB, lo que era bastante considerable para un Modelo 20. Muchos clientes funcionaban bastante bien con 4 KB y CPS (Card Processing System). Con TPS y DPS, el lector de tarjetas se utilizaba para leer las tarjetas Job Control Language que definían la pila de trabajos a ejecutar y para leer datos de transacciones como los pagos de los clientes. El sistema operativo se almacenaba en cinta o disco, y los resultados también se podían almacenar en las cintas o en los discos duros. El procesamiento de trabajos apilados se convirtió en una posibilidad interesante para el usuario de computadoras pequeñas pero aventureras.
Un conjunto de programas de utilidad de tarjetas perforadas de 80 columnas poco conocido y poco utilizado, conocido como Basic Programming Support (BPS) (en broma: Barely Programming Support), un precursor de TOS, estaba disponible para sistemas más pequeños.
IBM creó un nuevo sistema de nombres para los nuevos componentes creados para System/360, aunque se mantuvieron los nombres antiguos bien conocidos, como IBM 1403 e IBM 1052. En este nuevo sistema de nombres, los componentes recibían números de cuatro dígitos que empezaban con 2. El segundo dígito describía el tipo de componente, de la siguiente manera:
20xx: | Procesadores aritméticos, por ejemplo el IBM 2030 , que fue la CPU del IBM System/360 Modelo 30 . |
21xx: | Fuentes de alimentación y otros equipos íntimamente asociados con los procesadores, por ejemplo, la unidad de configuración IBM 2167. |
22xx: | Dispositivos de salida visual, por ejemplo, las pantallas CRT IBM 2250 e IBM 2260 , y la impresora de línea IBM 2203 para el modelo 20 del System/360. |
23xx: | Dispositivos de almacenamiento de acceso directo, por ejemplo, las unidades de disco IBM 2311 e IBM 2314 , la celda de datos IBM 2321 ; dispositivos de almacenamiento principal como el IBM 2361 Large Capacity Storage (Core Storage, Large Core Storage o LCS) y el IBM 2365 Processor Storage . |
24xx: | Unidades de cinta magnética , por ejemplo, IBM 2401 , IBM 2405 e IBM 2415 . |
25xx: | Equipos de manipulación de tarjetas perforadas, por ejemplo, el IBM 2501 ( lector de tarjetas ), IBM 2520 (perforadora de tarjetas), IBM 2540 (lector/perforadora) e IBM 2560 (máquina de tarjetas multifunción o MFCM). |
26xx: | Equipos de manipulación de cintas de papel , por ejemplo, el lector de cintas de papel IBM 2671. |
27xx: | Equipos de comunicaciones, por ejemplo, el terminal interactivo IBM 2701 , IBM 2705, IBM 2741 y el terminal por lotes IBM 2780 . |
28xx: | Canales y controladores, por ejemplo, la unidad de control IBM 2821 , IBM 2841 e IBM 2844. |
29xx: | Dispositivos diversos, por ejemplo, el conmutador de canal de datos IBM 2914 y el repetidor de canal de datos IBM 2944. |
IBM desarrolló una nueva familia de equipos periféricos para el System/360, incorporando algunos de su antigua serie 1400. Las interfaces se estandarizaron, lo que permitió una mayor flexibilidad para combinar procesadores, controladores y periféricos que en las líneas de productos anteriores.
Además, los ordenadores System/360 podían utilizar ciertos periféricos que se habían desarrollado originalmente para ordenadores anteriores. Estos periféricos utilizaban un sistema de numeración diferente, como la impresora en cadena IBM 1403. El 1403, un dispositivo extremadamente fiable que ya se había ganado la reputación de ser un caballo de batalla, se vendió como 1403-N1 cuando se adaptó para el System/360.
También estaban disponibles los lectores de reconocimiento óptico de caracteres (OCR) IBM 1287 e IBM 1288, que podían leer caracteres alfanuméricos (A/N) y numéricos impresos a mano (NHP/NHW) desde los rollos de cinta de los cajeros hasta páginas de tamaño legal. En ese momento, esto se hacía con lectores ópticos/lógicos muy grandes. El software era demasiado lento y costoso en ese momento.
Los modelos 65 y anteriores se vendían con una IBM 1052–7 como consola de máquina de escribir. La 360/85 con la característica 5450 utiliza una consola de pantalla que no era compatible con ninguna otra de la línea; [43] [44] la consola 3066 posterior para la 370/165 y la 370/168 utiliza el mismo diseño de pantalla básico que la 360/85. Los modelos IBM System/360 91 y 195 utilizan una pantalla gráfica similar a la IBM 2250 como consola principal.
También había disponibles consolas de operador adicionales. Algunas máquinas de alta gama podían adquirirse opcionalmente con una pantalla gráfica 2250 , con un coste de más de 100.000 dólares estadounidenses; las máquinas más pequeñas podían utilizar la pantalla 2260, más económica , o más tarde la 3270 .
Las primeras unidades de disco para System/360 fueron IBM 2302s [45] : 60–65 e IBM 2311s . [45] : 54–58 El primer tambor para System/360 fue el IBM 7320 . [46] [47] : 41
El 2302 de 156 kbit/s se basaba en el 1302 anterior y estaba disponible como modelo 3 con dos módulos de 112,79 MB [45] : 60 o como modelo 4 con cuatro de dichos módulos. [45] : 60
El 2311, con un paquete de discos extraíble 1316 , estaba basado en el IBM 1311 y tenía una capacidad teórica de 7,2 MB, aunque la capacidad real variaba según el diseño del disco. [47] : 31 (Cuando se usaba con un 360/20, el paquete 1316 se formateaba en sectores de longitud fija de 270 bytes , lo que daba una capacidad máxima de 5,4 MB).
En 1966, se comercializaron los primeros 2314. Este dispositivo tenía hasta ocho unidades de disco utilizables con una unidad de control integrada; había nueve unidades, pero una estaba reservada como repuesto. Cada unidad utilizaba un paquete de discos extraíbles 2316 con una capacidad de casi 28 MB. Los paquetes de discos para el 2311 y el 2314 eran físicamente grandes para los estándares actuales; por ejemplo, el paquete de discos 1316 tenía aproximadamente 14 pulgadas (36 cm) de diámetro y tenía seis platos apilados en un eje central. Los platos exteriores superior e inferior no almacenaban datos. Los datos se grababan en los lados internos de los platos superior e inferior y en ambos lados de los platos interiores, lo que proporcionaba 10 superficies de grabación. Los 10 cabezales de lectura/escritura se movían juntos por las superficies de los platos, que estaban formateados con 203 pistas concéntricas. Para reducir la cantidad de movimiento del cabezal (búsqueda), los datos se escribían en un cilindro virtual desde el interior del plato superior hasta el interior del plato inferior. Estos discos no solían formatearse con sectores de tamaño fijo como los discos duros actuales (aunque esto se hacía con CP/CMS ). En cambio, la mayoría del software de E/S de System/360 podía personalizar la longitud del registro de datos (registros de longitud variable), como era el caso de las cintas magnéticas.
Algunos de los primeros System/360 más potentes utilizaban dispositivos de almacenamiento de tambor de alta velocidad con cabezal por pista. El 2301 de 3500 RPM, [48] que reemplazó al 7320, fue parte del anuncio original del System/360, con una capacidad de 4 MB. El IBM 2303 de 303,8 kbit/s [45] : 74–76 se anunció el 31 de enero de 1966, con una capacidad de 3,913 MB. Estos fueron los únicos tambores anunciados para System/360 y System/370, y su nicho fue ocupado más tarde por discos de cabezal fijo.
El 2305 de 6000 RPM apareció en 1970, con capacidades de 5 MB (2305–1) o 11 MB (2305–2) por módulo. [49] [50] Aunque estos dispositivos no tenían una gran capacidad, su velocidad y tasas de transferencia los hacían atractivos para necesidades de alto rendimiento. Un uso típico era el enlace superpuesto (por ejemplo, para subrutinas de SO y aplicaciones) para secciones de programa escritas para alternarse en las mismas regiones de memoria. Los discos y tambores de cabezal fijo eran particularmente efectivos como dispositivos de paginación en los primeros sistemas de memoria virtual. El 2305, aunque a menudo se lo denominaba "tambor", era en realidad un dispositivo de disco de cabezal por pista, con 12 superficies de grabación y una tasa de transferencia de datos de hasta 3 MB/s.
Rara vez se vio el IBM 2321 Data Cell , [51] un dispositivo mecánicamente complejo que contenía múltiples bandas magnéticas para almacenar datos; se podía acceder a las bandas de forma aleatoria, colocarlas sobre un tambor en forma de cilindro para operaciones de lectura/escritura; luego se devolvían a un cartucho de almacenamiento interno. El IBM Data Cell [recolector de fideos] estaba entre varios periféricos de almacenamiento en línea de acceso directo masivo "rápidos" registrados por IBM (reencarnados en los últimos años como periféricos de "cinta virtual" y bibliotecario de cintas automatizado). El archivo 2321 tenía una capacidad de 400 MB, en el momento en que la unidad de disco 2311 solo tenía 7,2 MB. El IBM Data Cell fue propuesto para llenar la brecha de costo/capacidad/velocidad entre las cintas magnéticas, que tenían alta capacidad con un costo relativamente bajo por byte almacenado, y los discos, que tenían un mayor gasto por byte. Algunas instalaciones también encontraron que el funcionamiento electromecánico era menos confiable y optaron por formas menos mecánicas de almacenamiento de acceso directo.
El modelo 44 era único al ofrecer una unidad de disco única integrada como característica estándar. Esta unidad utilizaba el cartucho "ramkit" 2315 y proporcionaba 1.171.200 bytes de almacenamiento. [30] : 11
La serie 2400 de unidades de cinta magnética de 1/2" constaba de las unidades de cinta magnética modelos 1-6 2401 y 2402, la unidad de cinta magnética y control modelos 1-6 2403, la unidad de cinta magnética y control modelos 1-3 2404 y las unidades de control de cinta modelos 1 y 2 2803/2804. [52] La posterior unidad de cinta magnética y control 2415, introducida en 1967, contenía dos, cuatro o seis unidades de cinta y un control en una sola unidad, y era más lenta y más barata. [53] Las unidades y el control 2415 no se comercializaron por separado. [54] Con System/360, IBM cambió del formato de cinta IBM de 7 pistas al de 9 pistas . Se podían comprar algunas unidades de la serie 2400 que leían y escribían cintas de 7 pistas para que fueran compatibles con las antiguas unidades de cinta IBM 729. En En 1968 se lanzó el sistema de cinta IBM 2420, que ofrecía velocidades de datos mucho más altas, funcionamiento con cinta autoenhebrada y una densidad de empaquetamiento de 1600 bpi. [55] Permaneció en la línea de productos hasta 1979. [56]
A pesar de haber sido vendidas o alquiladas en grandes cantidades para un sistema mainframe de su época, solo quedan unas pocas computadoras System/360, principalmente como propiedad no operativa de museos o coleccionistas. Algunos ejemplos de sistemas existentes incluyen:
Se puede encontrar una lista actualizada de los System/360 restantes que son más que simplemente "paneles frontales" en Inventario mundial de CPU System/360 restantes.
Esta galería muestra la consola del operador , con lámparas de valores de registro , interruptores de palanca (en el medio de las imágenes) e interruptor de " tracción de emergencia " (arriba a la derecha de las imágenes) de los distintos modelos.
...el tiempo de ciclo de la máquina... varía de una millonésima de segundo a sólo 200 milmillonésimas de segundo. ...la capacidad de memoria varía de 8.000 caracteres de información a más de 8.000.000.
El estado del modo (modo System/360, modelo 30 o modo de compatibilidad 1401) se establece durante la lectura de la plataforma de inicialización de compatibilidad.
{{cite journal}}
: Mantenimiento de CS1: otros ( enlace )