La arquitectura IBM System / 360 es la arquitectura independiente del modelo para toda la línea S / 360 de computadoras mainframe , incluida, entre otras, la arquitectura del conjunto de instrucciones . Los elementos de la arquitectura están documentados en los manuales IBM System / 360 Principles of Operation [1] [2] y IBM System / 360 I / O Interface Channel to Control Unit Original Equipment Manufacturers 'Information . [3]
Diseñador | IBM |
---|---|
Bits | 32 bits |
Introducido | 1964 |
Diseño | CISC |
Tipo | Registro-Registro Registro-Memoria Memoria-Memoria |
Codificación | Variable (2, 4 o 6 bytes de longitud) |
Derivación | Código de condición , indexación, recuento |
Endianidad | Grande |
Tamaño de página | N / A, excepto 360/67 |
Abierto | sí |
Registros | |
Propósito general | 16 × 32 bits |
Punto flotante | 4 × 64 bits |
Características
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
La arquitectura System / 360 proporciona las siguientes características:
- 16 registros de propósito general de 32 bits
- 4 64 bits de punto flotante registros
- Registro de estado del procesador de 64 bits (PSW), que incluye una dirección de instrucción de 24 bits
- Espacio de memoria direccionable por bytes de 24 bits (16 MB)
- Orden de bytes / palabras big-endian
- Un conjunto de instrucciones estándar , que incluye instrucciones lógicas y aritméticas binarias de coma fija, presente en todos los modelos System / 360 (excepto el modelo 20, ver más abajo).
- Un conjunto de instrucciones comerciales , que agrega instrucciones aritméticas decimales, es opcional en algunos modelos, al igual que un conjunto de instrucciones científicas , que agrega instrucciones de punto flotante. El conjunto de instrucciones universales incluye todo lo anterior más las instrucciones de protección de almacenamiento y es estándar para algunos modelos.
- El Modelo 44 proporciona algunas instrucciones exclusivas para la adquisición de datos y el procesamiento en tiempo real y le faltan las instrucciones de almacenamiento a almacenamiento. Sin embargo, IBM ofreció una función de "Conjunto de instrucciones comerciales" que se ejecutaba en un almacenamiento intermedio y simulaba las instrucciones faltantes.
- El Modelo 20 ofrece una versión simplificada del conjunto de instrucciones estándar, limitado a ocho registros generales con instrucciones de media palabra (16 bits) solamente, además del conjunto de instrucciones comerciales e instrucciones únicas para entrada / salida.
- El Modelo 67 incluye algunas instrucciones para manejar direcciones de 32 bits y "traducción dinámica de direcciones", con instrucciones privilegiadas adicionales para proporcionar memoria virtual. [7]
Memoria
La memoria ( almacenamiento ) en System / 360 se trata en términos de bytes de 8 bits . Varias instrucciones operan en unidades más grandes llamadas media palabra (2 bytes), palabra completa (4 bytes), palabra doble (8 bytes), palabra cuádruple (16 bytes) y bloque de almacenamiento de 2048 bytes, especificando la dirección más a la izquierda (dirección más baja) de la unidad. Dentro de media palabra, palabra completa, palabra doble o palabra cuádruple, los bytes con números bajos son más significativos que los bytes con números altos; esto a veces se denomina big-endian . Muchos usos de estas unidades requieren alinearlas con los límites correspondientes. En este artículo, el término palabra no calificada se refiere a una palabra completa .
La arquitectura original de System / 360 proporcionó hasta 2 24 = 16.777.216 bytes de memoria. El último Modelo 67 amplió la arquitectura para permitir hasta 2 32 = 4,294,967,296 [NB 1] bytes de memoria virtual.
Direccionamiento
System / 360 utiliza un direccionamiento truncado similar al de UNIVAC III . [8] Eso significa que las instrucciones no contienen direcciones completas, sino que especifican un registro base y un desplazamiento positivo de las direcciones en los registros base. En el caso de System / 360, la dirección base está contenida en uno de los 15 registros generales [NB 2] . En algunas instrucciones, por ejemplo, turnos, se realizan los mismos cálculos para cantidades de 32 bits que no son direcciones.
Formatos de datos
La arquitectura S / 360 define formatos para caracteres, enteros, enteros decimales y números hexadecimales de coma flotante. Las instrucciones de caracteres y enteros son obligatorias, pero las instrucciones de coma flotante y decimal son parte de las características aritmética decimal y aritmética de coma flotante.
- Los caracteres se almacenan como bytes de 8 bits.
- Los enteros se almacenan como valores binarios de media palabra o palabra completa en complemento a dos.
- Los números decimales empaquetados se almacenan como 1 a 16 bytes de 8 bits que contienen un número impar de dígitos decimales seguidos de un signo de 4 bits. Los valores de los signos de los hexadecimales A, C, E y F son positivos y los valores de los signos de los hexadecimales B y D son negativos. Los valores de dígitos de AF hexadecimal y los valores de signo de 0-9 no son válidos, pero las instrucciones PACK y UNPK no prueban su validez.
- Los números decimales por zonas se almacenan como 1 a 16 bytes de 8 bits, cada uno de los cuales contiene una zona en los bits 0-3 y un dígito en los bits 4-7. La zona del byte más a la derecha se interpreta como un signo.
- Los números de coma flotante solo se almacenan como valores de palabra completa o palabra doble en modelos más antiguos. En 360/85 [9] y 360/195 [10] también hay números de coma flotante de precisión extendida almacenados como cuatro palabras. Para los tres formatos, el bit 0 es un signo y los bits 0-7 son una característica (exponente, sesgado por 64). Los bits 8-31 (8-63) son una fracción hexadecimal. Para mayor precisión, la palabra doble de orden inferior tiene su propio signo y característica, que se ignoran en la entrada y se generan en la salida.
Formatos de instrucción
Las instrucciones en el S / 360 tienen dos, cuatro o seis bytes de longitud, con el código de operación en el byte 0. Las instrucciones tienen uno de los siguientes formatos:
- RR (dos bytes). Generalmente, el byte 1 especifica dos números de registro de 4 bits, pero en algunos casos, por ejemplo, SVC, el byte 1 es un único campo inmediato de 8 bits.
- RS (cuatro bytes). El byte 1 especifica dos números de registro; los bytes 2-3 especifican una base y un desplazamiento.
- RX (cuatro bytes). Los bits 0-3 del byte 1 especifican un número de registro o un modificador; los bits 4 a 7 del byte 1 especifican el número del registro general que se utilizará como índice; los bytes 2-3 especifican una base y un desplazamiento.
- SI (cuatro bytes). El byte 1 especifica un campo inmediato; los bytes 2-3 especifican una base y un desplazamiento.
- SS (seis bytes). El byte 1 especifica dos campos de longitud de 4 bits o un campo de longitud de 8 bits; los bytes 2-3 y 4-5 especifican cada uno una base y un desplazamiento. La codificación de los campos de longitud es length-1.
Las instrucciones deben estar en un límite de dos bytes en la memoria; por lo tanto, el bit de orden inferior de la dirección de instrucción es siempre 0.
Palabra de estado del programa (PSW)
La palabra de estado del programa ( PSW ) [2] ( págs . 71–72 ) contiene una variedad de controles para el programa operativo actual. El PSW de 64 bits describe (entre otras cosas) la dirección de la instrucción actual que se está ejecutando, el código de condición y las máscaras de interrupción.
Bits | Contenido | Explicación |
---|---|---|
0-7 | Máscara del sistema | bits 0-5: habilitar canales 0-5, bit 6: habilitar todos los canales restantes, [NB 3] bit 7: habilitar interrupciones externas (temporizador, tecla de interrupción y señal externa) PoOps ( p71 ) |
8-11 | Llave de proteccion | Clave de protección de CPU para comparar con las claves de protección de almacenamiento |
12 | Modo ASCII | habilitar el modo ASCII para instrucciones decimales empaquetadas, nunca utilizado por el software de IBM [NB 4] |
13 | Comprobaciones de la máquina | habilitar interrupciones de verificación de la máquina |
14 | Estado de espera | el procesador está detenido, una interrupción, si está habilitada, hará que el procesador reanude la ejecución de instrucciones |
15 | Estado del problema | habilitar para evitar el uso de instrucciones reservadas para el estado del supervisor |
16-31 | Código de interrupción | código para indicar el tipo de interrupción, insertado cuando se almacena la PSW, durante ipload, esta es la dirección del dispositivo desde el que se carga el programa Poops ( p77 ) |
32-33 | Código de longitud de instrucción | longitud en medias palabras o 0 si no está disponible |
34-35 | Código de condición | consulte las instrucciones individuales para la codificación |
36-39 | Máscara de programa | bit 36: habilita el desbordamiento de coma fija, bit 37: desbordamiento decimal, bit 38: subdesbordamiento del exponente, bit 39: PoOps de importancia ( p71 ) |
40-63 | Dirección de instrucción | dirección de la siguiente instrucción, excepto para las interrupciones de un programa con ILC 0 |
Cargar palabra de estado del programa ( LPSW ) es una instrucción privilegiada que carga la palabra de estado del programa (PSW), incluido el modo de programa, la clave de protección y la dirección de la siguiente instrucción que se ejecutará. LPSW se usa con mayor frecuencia para "regresar" de una interrupción cargando el PSW "antiguo" que está asociado con la clase de interrupción. Otras instrucciones privilegiadas (por ejemplo, SSM, STNSM, STOSM, SPKA, etcétera) están disponibles para manipular subconjuntos de la PSW sin causar una interrupción o cargar una PSW; y una instrucción no privilegiada (SPM) está disponible para manipular la máscara del programa.
Sistema de interrupción
La arquitectura [2] ( págs . 77–83 ) define 5 clases de interrupción . Una interrupción es un mecanismo para cambiar automáticamente el estado del programa; se utiliza tanto para eventos sincrónicos [NB 5] como asincrónicos .
Clase de interrupción | Antiguo diciembre de PSW hexadecimal | Nuevo PSW hex dec | Prioridad |
---|---|---|---|
PoOps de entrada / salida ( pp78–79 ) | 38 56 | 78 120 | 4 |
Programar PoOps ( págs . 79–80.1 ) | 28 40 | 68 104 | 2 |
PoOps de llamada de supervisor ( págs . 80,1–81 ) | 20 32 | 60 96 | 2 |
PoOps externos ( págs . 81–82 ) | 18 24 | 58 88 | 3 |
PoOps de verificación de la máquina ( págs . 82–83 ) | 30 48 | 70 112 | 1 |
Hay dos campos de almacenamiento asignados a cada clase de interrupción en el S / 360; una antigua palabra doble de PSW y una nueva palabra doble de PSW. El procesador almacena el PSW, con un código de interrupción insertado, en la antigua ubicación de PSW y luego carga el PSW desde la nueva ubicación de PSW. Esto generalmente reemplaza la dirección de instrucción, lo que efectúa una bifurcación y (opcionalmente) establece y / o restablece otros campos dentro de la PSW, efectuando así un cambio de modo.
La arquitectura S / 360 define una prioridad para cada clase de interrupción, pero solo es relevante cuando ocurren dos interrupciones simultáneamente; una rutina de interrupción puede ser interrumpida por cualquier otra interrupción habilitada, incluida otra ocurrencia de la interrupción inicial. Por esta razón, es una práctica normal especificar todos los bits de máscara, con la excepción del bit de máscara de verificación de máquina, como 0 para los manejadores de interrupciones de "primer nivel". Los manejadores de interrupciones de "segundo nivel" generalmente están diseñados para interrupciones apiladas (múltiples ocurrencias de interrupciones de la misma clase de interrupción).
Interrupción de entrada / salida
Un PoOps de interrupción de E / S ( pp78-79 ) ocurre al completar un programa de canal, después de obtener un CCW con el bit PCI establecido y también para eventos asíncronos detectados por el dispositivo, unidad de control o canal, por ejemplo, la finalización de un proceso mecánico. movimiento. El sistema almacena la dirección del dispositivo en el código de interrupción y almacena el estado del canal en el CSW en la ubicación 64 ('40'X).
Interrupción del programa
Una interrupción del programa [2] ( pp16,79–80.1 ) ocurre cuando una instrucción encuentra una [NB 6] de 15 [NB 7] excepciones; sin embargo, si el bit de máscara de programa correspondiente a una excepción es 0, entonces no hay interrupción para esa excepción. En 360/65, [13] ( p12 ) 360/67 [11] ( p46 ) y 360/85 [9] ( p12 ) las interrupciones de excepción de protección y excepción de direccionamiento pueden ser imprecisas, en cuyo caso almacenan un código de longitud de instrucción. de 0. El código de interrupción puede ser cualquiera de
bits hexagonales 26-31 | dic | Excepción | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | Interrupción imprecisa [NB 6] en 360/91, [12] ( p15 ) 360/95 o 360/195 [10] ( p14 )
| ||||||||||||||||||||||||||
1 | 1 | Operación PoOps ( p79 ) | ||||||||||||||||||||||||||
2 | 2 | PoOps de operación privilegiada ( p79 ) | ||||||||||||||||||||||||||
3 | 3 | Ejecutar PoOps ( p79 ) | ||||||||||||||||||||||||||
4 | 4 | PoOps de protección ( p79 ) | ||||||||||||||||||||||||||
5 | 5 | Abordar las PoOps ( págs . 79–80 ) | ||||||||||||||||||||||||||
6 | 6 | PoOps de especificación ( p80 ) | ||||||||||||||||||||||||||
7 | 7 | PoOps de datos ( p80 ) | ||||||||||||||||||||||||||
8 | 8 | PoOps de desbordamiento de punto fijo ( p80 ) | ||||||||||||||||||||||||||
9 | 9 | PoOps de división de punto fijo ( p80 ) | ||||||||||||||||||||||||||
A | 10 | PoOps de desbordamiento decimal ( p80 ) | ||||||||||||||||||||||||||
B | 11 | PoOps de división decimal ( p80 ) | ||||||||||||||||||||||||||
C | 12 | PoOps de desbordamiento de exponente ( p80 ) | ||||||||||||||||||||||||||
D | 13 | PoOps de subdesbordamiento de exponentes ( p80 ) | ||||||||||||||||||||||||||
mi | 14 | PoOps de importancia ( p80 ) | ||||||||||||||||||||||||||
F | 15 | PoOps dividir en coma flotante ( p80.1 ) | ||||||||||||||||||||||||||
10 | dieciséis | Traducción de segmento [11] ( p17 ) [NB 7] | ||||||||||||||||||||||||||
11 | 17 | Traducción de página [11] ( p17 ) [NB 7] | ||||||||||||||||||||||||||
12 | 18 | Excepción SSM [13] [NB 7] |
- Una excepción de operación PoOps ( p79 ) se reconoce cuando un programa intenta ejecutar una instrucción con un código de operación que la computadora no implementa. En particular, se reconoce una excepción de operación cuando se escribe un programa para una característica opcional, por ejemplo, punto flotante, que no está instalado.
- Una excepción de operación privilegiada PoOps ( p79 ) se reconoce cuando un programa intenta ejecutar una instrucción privilegiada cuando el bit de estado del problema en el PSW es 1.
- Una excepción de ejecución PoOps ( p79 ) se reconoce cuando el operando de una instrucción EXECUTE es otra instrucción EXECUTE.
- Se reconoce una excepción de protección PoOps ( p79 ) cuando un programa intenta almacenar en una ubicación cuya clave de protección de almacenamiento no coincide [NB 10] con la clave de PSW, o buscar desde una ubicación protegida de recuperación cuya clave de protección de almacenamiento no coincide con la PSW clave.
- Una excepción de direccionamiento PoOps ( pp79–80 ) se reconoce cuando un programa intenta acceder a una ubicación de almacenamiento que no está disponible actualmente. Esto normalmente ocurre con una dirección más allá de la capacidad de la máquina, pero también puede ocurrir en máquinas que permiten desconectar bloques de almacenamiento.
- Una excepción de especificación PoOps ( p80 ) se reconoce cuando una instrucción tiene una longitud o un campo de registro con valores no permitidos por la operación, o cuando tiene una dirección de operando que no satisface los requisitos de alineación del código de operación, por ejemplo, una instrucción LH con una dirección de operando impar en una máquina sin la función de alineación de bytes.
- Una excepción de datos PoOps ( p80 ) se reconoce cuando una instrucción decimal especifica operandos no válidos, por ejemplo, datos no válidos, superposición no válida.
- Una excepción de desbordamiento de punto fijo PoOps ( p80 ) se reconoce cuando se pierden bits significativos en una aritmética de punto fijo o una instrucción de desplazamiento, que no sea dividir.
- Una excepción de división de punto fijo PoOps ( p80 ) se reconoce cuando se pierden bits significativos en una instrucción de división o conversión a binario de punto fijo.
- Se reconoce una excepción de desbordamiento decimal PoOps ( p80 ) cuando se pierden dígitos significativos en una instrucción aritmética decimal, que no sea dividir.
- Una excepción de división decimal PoOps ( p80 ) se reconoce cuando se pierden bits significativos en una instrucción de división decimal. El destino no se modifica.
- Una excepción de desbordamiento de exponente PoOps ( p80 ) se reconoce cuando la característica en una operación aritmética de punto flotante excede 127 y la fracción no es cero.
- Una excepción de subdesbordamiento de exponente PoOps ( p80 ) se reconoce cuando la característica en una operación aritmética de coma flotante es negativa y la fracción no es cero.
- Se reconoce una excepción de importancia PoOps ( p80 ) cuando la fracción en una operación de suma o resta de coma flotante es cero.
- Una excepción de división de coma flotante PoOps ( p80.1 ) se reconoce cuando la fracción en el divisor de una operación de división de coma flotante es cero.
Interrupción de la llamada del supervisor
Se produce una PoOps de interrupción de llamada de supervisor ( págs . 80.1–81 ) como resultado de una instrucción de llamada de supervisor ; el sistema almacena los bits 8-15 de la instrucción SVC como código de interrupción.
Interrupción externa
Una interrupción de PoOps externos ( p81 ) [NB 11] ocurre como resultado de ciertos eventos asíncronos. Los bits 16-24 del PSW antiguo externo se establecen en 0 y uno o más de los bits 24-31 se establecen en 1
Poco de PSW | Tipo de interrupción externa |
---|---|
24 | Temporizador |
25 | Interrupción de la tecla |
26 | Señal externa 2 Alerta de avería en 360/65 [13] en modo multisistema |
27 | Señal externa 3 Llamada al sistema en 360/65 [13] en modo multisistema |
28 | Señal externa 4 |
29 | Señal externa 5 |
30 | Señal externa 6 |
31 | Señal externa 7 |
Interrupción de verificación de la máquina
Se produce una PoOps de interrupción de Machine Check ( págs . 82–83 ) para informar condiciones inusuales asociadas con el canal o la CPU que no pueden ser informadas por otra clase de interrupción. La clase más importante de condiciones que causan una verificación de la máquina es un error de hardware, como un error de paridad que se encuentra en los registros o el almacenamiento, pero algunos modelos pueden usarlo para informar condiciones menos graves. Tanto el código de interrupción como los datos almacenados en el área de escaneo en '80'x (128 decimal) dependen del modelo.
De entrada y salida
Este artículo describe la E / S desde la perspectiva de la CPU. No trata el cable del canal o los conectores, pero hay un resumen en otra parte y los detalles se pueden encontrar en la literatura de IBM. [3]
La E / S se lleva a cabo mediante un procesador conceptualmente separado llamado canal. Los canales tienen su propio conjunto de instrucciones y acceden a la memoria independientemente del programa que se ejecuta en la CPU. En los modelos más pequeños (hasta 360/50 ), un único motor de microcódigo ejecuta tanto el programa de la CPU como el programa del canal. En los modelos más grandes, los canales están en gabinetes separados y tienen sus propias interfaces de memoria. Un canal puede contener múltiples subcanales , cada uno de los cuales contiene el estado de un programa de canal individual. Un subcanal asociado con varios dispositivos que no pueden tener programas de canal al mismo tiempo se denomina compartido ; un subcanal que representa un solo dispositivo se denomina no compartido .
Hay tres tipos de canales en el S / 360:
- Un canal multiplexor de bytes es capaz de ejecutar múltiples CCW simultáneamente; normalmente se utiliza para conectar dispositivos lentos como lectores de tarjetas y líneas de telecomunicaciones. Un canal multiplexor de bytes podría tener varios subcanales selectores, cada uno con un solo subcanal, que se comporta como canales selectores de baja velocidad.
- Un canal selector tiene solo un subcanal y, por lo tanto, solo es capaz de ejecutar un comando de canal a la vez. Normalmente se utiliza para conectar dispositivos rápidos que no son capaces de explotar un canal multiplexor de bloque para suspender la conexión, como unidades de cinta magnética.
- Un canal de multiplexor de bloque es capaz de ejecutar simultáneamente programas de múltiples canales, pero solo uno a la vez puede estar activo. La unidad de control puede solicitar la suspensión al final de un comando de canal y luego puede solicitar la reanudación. Esto está destinado a dispositivos en los que hay un retraso mecánico después de la finalización de la transferencia de datos, por ejemplo, para búsquedas en DASD de cabezal móvil. El canal del multiplexor de bloques fue una adición tardía a la arquitectura System / 360; Las primeras máquinas solo tenían canales multiplexores de bytes y canales selectores. El canal del multiplexor de bloque era una característica opcional solo en los modelos 85 y 195. El canal del multiplexor de bloque también estaba disponible en las computadoras System / 370 posteriores .
Conceptualmente, los equipos periféricos se conectan a un S / 360 mediante unidades de control , que a su vez se conectan a través de canales. Sin embargo, la arquitectura no requiere que las unidades de control sean físicamente distintas y, en la práctica, a veces se integran con los dispositivos que controlan. De manera similar, la arquitectura no requiere que los canales sean físicamente distintos del procesador, y los modelos S / 360 más pequeños (hasta 360/50) tienen canales integrados que roban ciclos del procesador.
Los dispositivos periféricos se direccionan con direcciones [NB 12] de 16 bits ., [2] ( p89 ) denominados cua o cuu ; este artículo utilizará el término cuu . Los 8 bits altos identifican un canal, numerados del 0 al 6, [NB 3], mientras que los 8 bits bajos identifican un dispositivo en ese canal. Un dispositivo puede tener varias direcciones cuu .
A las unidades de control se les asigna un rango de "captura" de direcciones. Por ejemplo, a una CU se le puede asignar un rango de 20-2F o 40-7F. El propósito de esto es ayudar con la conexión y priorización de múltiples unidades de control a un canal. Por ejemplo, un canal puede tener tres unidades de control de disco en 20-2F, 50-5F y 80-8F. No todas las direcciones capturadas necesitan tener un dispositivo físico asignado. Cada unidad de control también está marcada como de prioridad alta o baja en el canal.
La selección de dispositivos progresa desde el canal hasta cada unidad de control en el orden en que están conectados físicamente a su canal. Al final de la cadena, el proceso de selección continúa en sentido inverso hacia el canal. Si la selección regresa al canal, entonces ninguna unidad de control aceptó el comando y SIO devuelve el Código de condición 3. Las unidades de control marcadas como Prioridad alta verifican que la CUU saliente esté dentro de su rango. Si es así, se procesó la E / S. De lo contrario, la selección se pasó a la siguiente UC saliente. Las unidades de control marcadas como verificación de prioridad baja para que la CUU entrante (de retorno) esté dentro de su alcance. Si es así, se procesa la E / S. De lo contrario, la selección se pasa a la siguiente CU de entrada (o al canal). La conexión de tres unidades de control a un canal podría ser físicamente -ABC y, si todas están marcadas como Alta, la prioridad sería ABC. Si todos están marcados como bajos, la prioridad sería CBA. Si B estuviera marcado como Alto y AC bajo, entonces el orden sería BCA. Ampliando esta línea de razonamiento, el primero de los N controladores sería la prioridad 1 (alta) o 2N-1 (baja), la segunda prioridad 2 o 2N-2, la tercera prioridad 3 o 2N-3, etc. El último conectado físicamente siempre sería la prioridad N.
Hay tres campos de almacenamiento reservados para E / S; un PSW antiguo de E / S de palabra doble, un PSW nuevo de E / S de doble palabra y una palabra de dirección de canal ( CAW ) de palabra completa . La realización de una E / S normalmente requiere lo siguiente:
- inicializar el CAW con la clave de almacenamiento y la dirección del primer CCW
- emitir una instrucción Start I / O ( SIO ) que especifica el cuu para la operación
- esperando [NB 13] por una interrupción de E / S
- manejar cualquier condición inusual indicada en la palabra de estado del canal ( CSW )
Un programa de canal consta de una secuencia de palabras de control de canal ( CCW ) encadenadas (ver a continuación). Normalmente, el canal obtiene CCW de palabras dobles consecutivas, pero una unidad de control puede dirigir el canal para que omita un CCW y un canal de transferencia de entrada ( TIC ) CCW puede dirigir el canal para que comience a buscar CCW s desde una nueva ubicación.
Hay varias formas definidas para que se complete un comando de canal. Algunos de estos permiten que el canal continúe obteniendo CCW, mientras que otros terminan el programa del canal. En general, si CCW no tiene el bit de comando en cadena establecido y no es un TIC, entonces el canal terminará la operación de E / S y causará una interrupción de E / S cuando se complete el comando. Ciertos bits de estado de la unidad de control suprimen el encadenamiento.
Las formas más comunes de completar un comando son que se agote el recuento cuando los datos en cadena no están configurados y que la unidad de control indique que no se deben realizar más transferencias de datos. Si no se establece Suppress-Length-Indication (SLI) y uno de esos ocurre sin el otro, no se permite el encadenamiento. Las situaciones más comunes que suprimen el encadenamiento son la excepción de unidad y la comprobación de unidad. Sin embargo, la combinación de verificación de unidad y modificador de estado no suprime el encadenamiento; más bien, hace que el canal realice un reintento de comando, reprocesando el mismo CCW.
Además de la señal de interrupción enviada a la CPU cuando se completa una operación de E / S, un canal también puede enviar una interrupción controlada por programa (PCI) a la CPU mientras el programa de canal se está ejecutando, sin terminar la operación, y un retraso interrupción del extremo del dispositivo después de la interrupción de la finalización de E / S.
Estado del canal
Estas condiciones son detectadas por el canal y se indican en el CSW . PoOps ( págs . 116–118 )
- PoOps de interrupción controlada por programa ( pp116-117 ) indica que el canal ha obtenido una CCW con el bit PCI establecido. El canal continúa procesando; esta interrupción simplemente informa a la CPU del progreso del canal. Un ejemplo del uso de la interrupción controlada por programa se encuentra en la función "Búsqueda de programa" de Supervisión de contenido, mediante la cual se notifica al programa de control que se ha leído un Registro de control / reubicación. Para asegurarse de que este registro se ha leído completamente en el almacenamiento principal, se inicia un "giro de bit desactivado", uno de los pocos que quedan en el programa de control. La satisfacción del giro indica que el Registro de control / reubicación está completamente en el almacenamiento principal y el Registro de texto inmediatamente anterior puede ser reubicado. Después de la reubicación, un NOP CCW se cambia a un TIC y el programa del canal continúa. De esta manera, se puede leer y reubicar un módulo de carga completo mientras se utiliza solo un EXCP , y posiblemente solo una revolución de la unidad de disco. PCI también tiene aplicaciones en la gestión de búfer de métodos de acceso de teleprocesamiento.
- PoOps de longitud incorrecta ( p117 ) indica que la transferencia de datos para un comando se completó antes de que se agotara el recuento. Esta indicación se suprime si elbit Suppress-Length-Indication en CCW está establecido.
- Program check PoOps ( p117 ) indica uno de los siguientes errores
- Bits distintos de cero donde se requieren ceros
- Una dirección de datos o CCW no válida
- El CAW o un TIC se refiere a un TIC
- PoOps de comprobación de protección ( págs . 117–118 ) indica que la clave de protección en el CAW no es cero y no coincide con la clave de protección de almacenamiento.
- PoOps de verificación de datos de canal ( p118 ) indica un error de paridad durante una transferencia de datos.
- PoOps de verificación de control de canal ( p118 ) indica un mal funcionamiento del canal que no es la verificación de datos del canal o la verificación de control de la interfaz .
- PoOps de verificación de control de interfaz ( p118 ) indica una señal no válida en el canal a la interfaz de la unidad de control.
- PoOps de verificación de encadenamiento ( p118 ) indica la pérdida de datos durante el encadenamiento de datos.
Estado de la unidad
Estas condiciones son presentadas al canal por la unidad o dispositivo de control. PoOps ( pp113–116 ) En algunos casos son manejados por el canal y en otros casos están indicados en el CSW . No hay distinción entre las condiciones detectadas por la unidad de control y las condiciones detectadas por el dispositivo.
- Atención PoOps ( p113 ) indica una condición inusual no asociada con un programa de canal en curso. A menudo indica algún tipo de acción del operador, como solicitar una entrada, en cuyo caso la CPU respondería emitiendo un comando de tipo lectura, la mayoría de las veces un comando de detección (04h) del cual se podría deducir información adicional. La atención es una condición especial, y requiere un soporte específico del sistema operativo, y para lo cual el sistema operativo tiene una tabla de atención especial [NB 14] con un número necesariamente limitado de entradas.
- PoOps del modificador de estado ( pp113-114 ) (SM) indica una de tres condiciones inusuales
- Se envió una instrucción de prueba de E / S a un dispositivo que no la admite.
- Un estado de ocupado se refiere a la unidad de control más que al dispositivo.
- Un dispositivo ha detectado una condición que requiere omitir una CCW. Una CCW con un comando para el que es posible el Modificador de estado normalmente especificará el encadenamiento de comandos, en cuyo caso el canal procesa el SM y no causa una interrupción.
- Un programa de canal típico donde ocurre SM es
... ID de búsqueda igual TIC * -8 Leer datos
- donde el TIC hace que el canal vuelva a buscar la búsqueda hasta que el dispositivo indique una búsqueda exitosa al elevar SM.
- Fin de la unidad de control PoOps ( p114 ) indica que se ha borrado un estado de ocupado de la unidad de control anterior.
- Busy PoOps ( pp114-115 ) indica que un dispositivo ( SM = 0) o una unidad de control ( SM = 1) está ocupado.
- PoOps de final de canal ( p115 ) indica que el dispositivo ha completado la transferencia de datos para un comando de canal. También puede haber unaindicación de longitud incorrecta si el campo Count de CCW está agotado, dependiendo del valor delbit Suppress-Length-Indication .
- PoOps de final de dispositivo ( p115 ) indica que el dispositivo ha completado una operación y está listo para aceptar otra. DE puede indicarse simultáneamente con CE o puede retrasarse.
- Los PoOps de verificación de la unidad ( págs . 115–116 ) indican que el dispositivo o la unidad de control ha detectado condiciones inusuales y que se pueden obtener detalles emitiendo un comando de detección.
- PoOps de excepción de unidad ( p116 ) indica que el dispositivo ha detectado una condición inusual, por ejemplo, fin de archivo.
Palabra de dirección de canal
La palabra completa Dirección de canal Palabra [2] ( p99 ) (CAW) contiene una clave de protección de almacenamiento de 4 bits y una dirección de 24 bits del programa de canal que se va a iniciar.
Palabra de comando de canal
Una palabra de comando de canal es una palabra doble que contiene lo siguiente:
- PoOps de código de comando de canal de 8 bits ( p100 )
- PoOps de direcciones de 24 bits ( pp100–101 )
- PoOps de campo de bandera de 5 bits ( pp99–100,101–105 )
- sin firmar un campo de recuento de media palabra caca ( pp100-101 )
Códigos de comando CCW
Los 2 o 4 bits de orden inferior determinan los seis tipos de operaciones que realiza el canal. [2] ( pp100,105 ) La codificación es
bits | Mando |
---|---|
**** 0000 | No válido en CCW, simulado por la instrucción Test I / O (TIO) del procesador |
MMMM 0100 | Sense PoOps ( págs . 106–107 ) |
**** 1000 | Transferencia en el canal (TIC) PoOps ( pp107-108 ) |
MMMM 1100 | Leer PoOps hacia atrás ( págs . 105–106 ) |
MMMM MM01 | Escribir PoOps ( p105 ) |
MMMM MM10 | Leer PoOps ( p105 ) |
MMMM MM11 | PoOps de control ( págs . 106–107 ) |
El significado de los seis o cuatro bits de orden superior, los bits modificadores, M en la tabla anterior, depende del tipo de dispositivo de E / S adjunto, consulte, por ejemplo, DASD CKD CCW . Los ocho bits se envían e interpretan en la unidad de control asociada (o su equivalente funcional).
El control se utiliza para provocar un cambio de estado en un dispositivo o unidad de control, a menudo asociado con el movimiento mecánico, por ejemplo, rebobinar, buscar.
Sense se utiliza para leer datos que describen el estado del dispositivo. El caso más importante es que cuando un comando termina con la verificación de la unidad, la causa específica solo se puede determinar haciendo un Sense y examinando los datos devueltos. Un comando de sentido con los bits modificadores todo cero es siempre válido.
Una desviación notable de la arquitectura es que DASD usa códigos de comando de Sense para Reserva y Liberación, en lugar de usar Control.
Banderas CCW
Las banderas en una CCW afectan la forma en que se ejecuta y termina.
un poco | bandera | efecto | |
---|---|---|---|
32 | CD | Datos en cadena | Continúe la operación usando el área de almacenamiento definida por la siguiente CCW. PoOps ( págs . 101–103 ) |
33 | CC | Comando en cadena | Continúe con el comando en la siguiente CCW. PoOps ( pp101,103 ) |
34 | SLI [NB 15] | Suprimir indicación de longitud | Continuar el programa del canal después de que el recuento no coincida PoOps ( pp99–100 ) |
35 | SALTAR | Saltar | No lea ni escriba en el almacenamiento. PoOps ( págs103–104 ) |
36 | PCI | Interrupción controlada por programa | Solicitar interrupción al obtener CCW. PoOps ( págs104-105 ) |
Palabra de estado del canal
La palabra de estado del canal (CSW) [2] ( págs . 113–121 ) proporciona datos asociados con una interrupción de E / S.
bits | campo |
---|---|
0-3 | PoOps clave ( p119 ) |
4-7 | 0000 |
8-31 | PoOps de dirección de comando ( p119 ) |
32-47 | PoOps de estado ( págs . 113–118 ) |
32-39 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40-47 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48-63 | Count PoOps ( p120 ) |
- El campo Clave de protección contiene la clave de protección del CAW en el momento en que se inició la operación de E / S para interrupciones de PCI o E / S completas. PoOps ( p119 )
- El campo Dirección de comando contiene la dirección + 8 del último CCW obtenido para una E / S completa o una interrupción de PCI. Sin embargo, hay 9 excepciones PoOps . ( p119 )
- El Status campo contiene un byte de estado del canal bits, en condiciones que indican detectados por el canal de impulsos , ( pp116-118 ) y un byte de estado de la unidad bits que indica las condiciones detectadas por el E / S de la unidad Poops . ( págs . 113–116 ) No hay distinción entre las condiciones detectadas por la unidad de control y las condiciones detectadas por el dispositivo.
- El recuento residual es una media palabra que da el número de bytes en el área descrita por la CCW que no se han transferido hacia o desde el canal PoOps . ( p120 ) La diferencia entre el recuento en CCW y el recuento residual da el número de bytes transferidos.
Controles del operador
La arquitectura de System / 360 especificó la existencia de varias funciones comunes, pero no especificó sus medios de implementación. Esto permitió a IBM utilizar diferentes medios físicos, por ejemplo, marcación, teclado, pulsador, rodillo, imagen o texto en un CRT, para seleccionar las funciones y valores en diferentes procesadores. Cualquier referencia a una tecla o interruptor debe entenderse que se aplica a, por ejemplo, una selección de lápiz óptico, una secuencia de teclado equivalente.
- System Reset envía una señal de reinicio en cada canal de E / S y borra el estado del procesador; se cancelan todas las interrupciones pendientes. No se garantiza que el reinicio del sistema corrija errores de paridad en registros generales, registros de coma flotante o almacenamiento. El restablecimiento del sistema no restablece el estado de los dispositivos de E / S compartidos.
- PoOps de carga de programa inicial (IPL) ( p123 ) es un proceso para cargar un programa cuando no hay un cargador disponible en el almacenamiento, generalmente porque la máquina se acaba de encender o para cargar un sistema operativo alternativo. [2] ( p123 ) Este proceso a veces se conoce como Arranque .
- Como parte de la función de IPL, el operador tiene un medio para especificar una dirección de dispositivo de 12 bits [NB 3] , generalmente con tres diales como se muestra en el dibujo de los controles del operador. Cuando el operador [NB 16] selecciona la función de carga , el sistema realiza un reinicio del sistema , envía un comando de canal Leer IPL [NB 17] al dispositivo seleccionado para leer 24 bytes en las ubicaciones 0-23 y hace que el canal comience buscar CCW en la ubicación 8; el efecto es como si el canal hubiera obtenido una CCW con una longitud de 24 y una dirección de 0 y las banderas que contienen Command Chaining + Suppress Length Indication. Al finalizar la operación, el sistema almacena la dirección de E / S en la media palabra en la ubicación 2 y carga el PSW desde la ubicación 0.
- La carga inicial del programa se realiza normalmente desde una cinta, un lector de tarjetas o una unidad de disco. Generalmente, el sistema operativo se cargaba desde una unidad de disco; La IPL de cinta o tarjetas se utilizó solo para diagnósticos o para instalar un sistema operativo en una computadora nueva.
- PoOps del interruptor de emergencia ( p124 ) ( Apagado de emergencia, EPO) envía una señal EPO a cada canal de E / S, luego apaga la energía al complejo del procesador. Debido a que el EPO omite la secuencia normal de apagado, se pueden producir daños y el control del EPO tiene un pestillo mecánico para garantizar que un ingeniero del cliente inspeccione el equipo antes de intentar encenderlo nuevamente.
- Power on PoOps ( p124 ) enciende todos los componentes del complejo del procesador y realiza un reinicio del sistema.
- Power off PoOps ( p124 ) inicia una secuencia de apagado ordenada. Aunque se conserva el contenido del almacenamiento, es posible que se pierdan las claves de almacenamiento asociadas.
- La tecla de interrupción PoOps ( p124 ) provoca una interrupción externa con el bit 25 configurado en el PSW antiguo externo.
- La luz de espera PoOps ( p124 ) indica que el PSW tiene el bit 14 (espera) establecido; el procesador se detiene temporalmente pero reanuda su funcionamiento cuando ocurre una condición de interrupción.
- El PoOps de luz manual ( p124 ) indica que la CPU está en un estado detenido.
- La luz del sistema PoOps ( p124 ) indica que un medidor está funcionando, ya sea debido a la actividad de la CPU o debido a la actividad del canal de E / S.
- La luz de prueba PoOps ( p124 ) indica que ciertos controles del operador están activos, cuando ciertas instalaciones, por ejemplo, PASO DE INSTRUCCIONES, han sido utilizadas por una instrucción de diagnóstico o cuando existen condiciones térmicas anormales. Los detalles dependen del modelo.
- La luz de carga PoOps ( p124 ) se enciende mediante IPL y arranque externo. Se apaga cargando el PSW desde la ubicación 0 al finalizar el proceso de carga.
- Los controles PoOps de la unidad de carga ( pp124-125 ) proporcionan los 11 bits [NB 18] más a la derecha del dispositivo desde el cual realizar una IPL.
- La carga Key Poops ( p125 ) comienza la IPL secuencia.
- Las PoOps del conmutador de teclas de selección de prefijo ( p125 ) seleccionan si IPL utilizará el prefijo principal o el prefijo alternativo.
- La tecla emergente de reinicio del sistema ( p125 ) inicia un reinicio del sistema .
- La parada clave Poops ( p125 ) pone la CPU en un estado detenido; los programas de canal continúan funcionando y las condiciones de interrupción permanecen pendientes.
- Las Frecuencia de conmutación Poops ( P125 ) determina el modo en el que el procesador extrae instrucciones. La arquitectura define dos modos:
- PROCESO
- PASO DE INSTRUCCIONES
- El botón Start Key PoOps ( p125 ) inicia la búsqueda de instrucciones de acuerdo con la configuración del interruptor de frecuencia .
- Los PoOps del conmutador de selección de almacenamiento ( p126 ) determinan el tipo de recurso al que se accede mediante la tecla Store y la tecla Display . La arquitectura define tres selecciones:
- Almacenamiento principal
- Registros generales
- Registros de coma flotante
- Los PoOps de interruptores de dirección ( p126 ) especifican la dirección o el número de registro para la clave Store , la clave de pantalla y, en algunos modelos, la clave Set IC .
- Los PoOps de interruptores de datos ( p126 ) especifican los datos para Store Key y, en algunos modelos, Set IC Key .
- El almacén de claves de caca ( p126 ) almacena el valor en el conmutadores de datos según lo especificado por el conmutador de almacenamiento-Select y el Conmutadores de dirección .
- El Display Key PoOps ( p126 ) muestra el valor especificado por el interruptor de selección de almacenamiento y los interruptores de dirección .
- El Conjunto IC = caca ( p126 ) fija la parte de dirección de la instrucción de la PSW Del datos conmuta o interruptores de dirección , dependiendo del modelo.
- Los PoOps de interruptores de comparación de direcciones ( p126 ) seleccionan el modo de comparación y lo que se compara. Detener en la comparación de direcciones de instrucciones está presente en todos los modelos, pero detener en la comparación de direcciones de datos solo está presente en algunos modelos.
- Los PoOps de luz de prefijo alternativo ( p126 ) están activados cuando el activador de prefijo está en el estado alternativo.
Características opcionales
Operandos alineados por bytes
En algunos modelos, los requisitos de alineación para algunas instrucciones de estado de problema se relajaron. No hay ningún mecanismo para desactivar esta función, y los programas que dependen de recibir una verificación de programa tipo 6 (alineación) en esas instrucciones deben modificarse.
Aritmética decimal
La función aritmética decimal proporciona instrucciones que operan con datos decimales empaquetados. Un número decimal empaquetado tiene de 1 a 31 dígitos decimales seguidos de un signo de 4 bits. Todas las instrucciones aritméticas decimales excepto PACK y UNPACK generan una excepción de datos si un dígito no está en el rango 0-9 o un signo no está en el rango AF.
Control directo
La función Direct Control PoOps ( p17.1 ) proporciona seis líneas de señales externas y una ruta de datos de 8 bits hacia / desde el almacenamiento. [14]
Aritmética de coma flotante
La función aritmética de punto flotante proporciona 4 registros de punto flotante de 64 bits e instrucciones para operar en números de punto flotante hexadecimales de 32 y 64 bits. Los modelos 360/85 y 360/195 también admiten números de coma flotante de precisión extendida de 128 bits.
Temporizador de intervalo
Si está instalada la función de temporizador de intervalos [2] ( p17.1 ) , el procesador reduce la palabra en la ubicación 80 ('50'X) a intervalos regulares; la arquitectura no especifica el intervalo, pero requiere que el valor restado haga que parezca que 1 se restó del bit 23 300 veces por segundo. Los modelos más pequeños disminuyeron a la misma frecuencia (50 Hz o 60 Hz) que la fuente de alimentación de CA, pero los modelos más grandes tenían una función de temporizador de alta resolución. El procesador provoca una interrupción externa cuando el temporizador llega a cero.
Operación multisistema
PoOps de operación multisistema ( págs . 17.1–18 ) es un conjunto de características para admitir sistemas multiprocesador, por ejemplo, control directo, reubicación directa de direcciones (prefijos).
Protección de almacenamiento
Si la función de protección de almacenamiento [2] ( pp17-17.1 ) está instalada, entonces hay una clave de almacenamiento de 4 bits asociada con cada bloque de almacenamiento de 2048 bytes y esa clave se verifica cuando se almacena en cualquier dirección de ese bloque mediante un CPU o un canal de E / S. Una CPU o clave de canal de 0 deshabilita la verificación; una CPU o clave de canal distinta de cero permite que los datos se almacenen solo en un bloque con la clave correspondiente.
La protección de almacenamiento se utilizó para evitar que una aplicación defectuosa escribiera sobre el almacenamiento que pertenecía al sistema operativo oa otra aplicación. Esto permitió que las pruebas se realizaran junto con la producción. Debido a que la clave tenía solo cuatro bits de longitud, el número máximo de aplicaciones diferentes que se podían ejecutar simultáneamente era de 15.
Una opción adicional disponible en algunos modelos fue la protección de recuperación. Permitió que el sistema operativo especificara que los bloques estaban protegidos contra la obtención y el almacenamiento.
Desviaciones y extensiones
El System / 360 Model 20 es radicalmente diferente y no debe considerarse un S / 360.
Al System / 360 Modelo 44 le faltan ciertas instrucciones, pero una característica permitió que las instrucciones faltantes se simularan en la memoria oculta, permitiendo así el uso de sistemas operativos y aplicaciones estándar S / 360.
Algunos modelos tienen características que ampliaron la arquitectura, por ejemplo, instrucciones de emulación, paginación y algunos modelos hacen pequeñas desviaciones de la arquitectura. Ejemplos incluyen:
- La función multisistema en el S / 360-65 que modifica el comportamiento de la función de control directo y de la instrucción Set System Mask (SSM). [13]
- El System / 360 Model 67-2 tuvo cambios similares, pero incompatibles. [11]
Algunas desviaciones sirvieron como prototipos de características de la arquitectura S / 370 .
Ver también
- Llave de protección de memoria
Notas
- ^ El doble del tamaño del System / 370 posterior
- ^ Una especificación del registro general 0 produce una dirección base de cero en lugar del contenido del registro.
- ^ a b c En un procesador que cumple con la arquitectura S / 360, el número de canal más alto es 6. Once bits son suficientes para identificar el cuu, y siete bits son suficientes para proporcionar enmascaramiento de las interrupciones de E / S. Sin embargo, en un 360 / 67-2 con dos controladores de canal 2846, los canales están numerados 0-6 y 8-14; [11] ( p15 ) de manera similar, el 360/195 tenía una función de canal extendido [10] ( p21 ) pero numeraba los canales del 0 al 13. [10] ( p25 ) Interrupciones de E / S para el controlador de canal 1 en el 360/67 -2 se enmascararon usando registros de control, y el 360/195 usó el bit 7 (canal 6) de la máscara del sistema como un bit de máscara de resumen para los canales 6 y superiores. Interrupciones de más de siete canales PoOps ( p121.4 ) describe el enmascaramiento de resumen para canales adicionales, pero otro texto en Principios de operación aún se refiere a un límite de 7 canales. Canales compatibles con software estándar 0-F.
- ^ Debido a que el diseño del S / 360 ocurrió simultáneamente con el desarrollo de ASCII, el soporte ASCII de IBM no coincidió con el estándar que finalmente se adoptó.
- ^ La literatura de S / 360 no usa los términos falla o trampa
- ^ a b En 360/91, [12] ( p15 ) 360/95 y 360/195 [10] ( p14 ) a Puede ocurrir una interrupción del programa debido a múltiples excepciones imprecisas. El ILC en el programa Old PSW es 0, los bits 26-31 son 0 y los bits 16-27 son una máscara que indica qué excepciones ocurrieron; No existe ninguna disposición para informar sobre múltiples ocurrencias de la misma excepción. La notificación de múltiples excepciones imprecisas no forma parte de la arquitectura S / 360.
- ^ a b c d Hay 17 posibles excepciones en 360/67, [11] ( p17 ) pero la excepción de página y la excepción de segmento no forman parte de la arquitectura S / 360; De manera similar, el código de interrupción 18 ('0012'X) en un multiprocesador 360/65 no es parte de la arquitectura S / 360.
- ^ El bit de especificación no se utiliza para interrupciones imprecisas en el 360/195
- ^ a b No se utiliza en 360/91
- ^ Una clave PSW de 0 coincide con cualquier clave de almacenamiento.
- ^ Aunque la expiración de un temporizador es un evento interno, causa una interrupción externa y, por esta razón, esta interrupción generalmente se conoce como temporizador / interrupción externa.
- ^ Debido a los límites en el número de canal, el software S / 360 y los primeros S / 370 solo usaban 12 bits para almacenar direcciones de dispositivos.
- ^ Pero continuando con trabajo no relacionado.
- ^ El sistema operativo usa el índice de atención en un bloque de control de unidad (UCB) como un índice en la tabla de atención.
- ^ También conocido como Suprimir indicación de longitud incorrecta (SILI)
- ^ O una instalación automatizada equivalente.
- ^ Leer con todos los bits de modificación cero
- ^ Existe una inconsistencia, ya que las interrupciones de más de siete canales PoOps ( p121.4 ) permiten más canales.
Referencias
- S360
- IBM System / 360 Principios de funcionamiento . Biblioteca de referencia de sistemas (octava ed.). IBM. Septiembre de 1968. A22-6821-7.
- ^ IBM (1964), IBM System / 360 Principles of Operation (PDF) , primera edición, A22-6821-0
- ^ a b c d e f g h yo j k IBM (septiembre de 1968), IBM System / 360 Principles of Operation (PDF) , octava edición, A22-6821-7 Revisado por IBM (12 de mayo de 1970), ibid. , GN22-0354 y IBM (8 de junio de 1970), ibid. , GN22-0361
- ^ a b IBM, IBM System / 360 I / O Interface Channel to Control Unit Original Equipment Manufacturer 'Information (PDF) , Quinta edición, A22-6843-3
- ^ S360 , pág. 15, Palabra de estado del programa .
- ^ S360 , págs.15-16 , Interrupción .
- ^ S360 , pág. 77, Interrupciones .
- ^ IBM Corporation (1974). Resumen del sistema IBM System / 360 (PDF) . pag. 3-3 . Consultado el 16 de julio de 2017 .
- ^ Manual de referencia Sistema de procesamiento de datos UNIVAC III (PDF) , Sperry Rand Corporation, 1962, UT-2488
- ^ a b IBM (junio de 1968), IBM System / 360 Model 85 Functional Characteristics (PDF) , SEGUNDA EDICIÓN, A22-6916-1
- ^ a b c d e IBM (agosto de 1970), IBM System / 360 Model 195 Functional Characteristics (PDF) , segunda edición, GA22-6943-1
- ^ a b c d e f IBM (febrero de 1972), IBM System / 360 Model 67 Functional Characteristics (PDF) , tercera edición, GA27-2719-2
- ^ a b IBM (1968-03-18), IBM System / 360 Model 91 Functional Characteristics (PDF) , tercera edición, A22-6907-2
- ^ a b c d e IBM (septiembre de 1968), "Apéndice A. Sistema de multiprocesamiento", Características funcionales del IBM System / 360 Modelo 65 (PDF) , Cuarta edición, págs. 30–34, A22-6884-3
- ^ IBM, IBM System / 360 Direct Control and External Interrupt Features Información de fabricantes de equipos originales , tercera edición, A22-6845-2
Otras lecturas
- Prasad, NS (1989). Mainframes de IBM . McGraw-Hill. ISBN 0070506868. - El Capítulo 3 (págs. 41–110) describe la arquitectura System / 360.
enlaces externos
- Introducción a la arquitectura IBM System / 360 (texto para estudiantes)