IBM System / 360 - seguir hablando





En el último artículo, me describió IBM System / 360 de línea "en su conjunto", sin entrar demasiado en los detalles de la implementación. En este momento, vamos a seguir hablando de la computadora y considerar su arquitectura interna.

Por supuesto, ninguna revolución System / 360 no podría lograrse si la nueva familia de ordenadores no se pensó cuidadosamente hacia fuera y diseñado la arquitectura (y más tarde pidió prestado por los diseñadores soviéticos). Dos gran liderazgo llamado «IBM System / 360 Principios de funcionamiento» y «IBM System / 360 de E / S de canal interfaz para controlar los manuales de información de la unidad de equipos originales de los fabricantes».



Que ofrece a los desarrolladores un sistema / 360? Dieciséis de 32 bits registros de propósito general, nombrados R0 a R15. Cuatro registros de 64 bits para los números de punto flotante, se les llamaba FP0, FP2, 4PM y 6PM. Un registro de estado de 64 bits (Estado del Programa de Word, o PSW), entre otras cosas contiene una dirección de 24 bits de la instrucción.

También se ocupa de las instrucciones ejecutables actuales, PSW guardar los bits activa / desactiva el estado de interrupción del programa, la clave de seguridad para la comparación de dispositivos con claves y otros parámetros importantes. Comandos privilegiados LPSW permite descargar todo el valor de este registro, y se utiliza principalmente para el retorno del manejador de interrupciones, restaurando el estado en que estaba antes de que el controlador de llamada. El mismo conjunto de comandos le permite manipular las banderas individuales en este registro sin causar transiciones en otras partes del código.

Las interrupciones se dividen en 5 "clases" sobre la base de la prioridad. Con cada clase se asociaron dos la doble palabra: vieja y nueva PSW PSW. Cuando se produce una interrupción, el valor actual de la PSW con el código de interrupción se mantuvo en el lugar de la antigua PSW, y auto registro de carga el valor de la nueva PSW, causando una transición al controlador. Clases de interrupción fueron los siguientes (en orden ascendente de prioridad).

E / S de las interrupciones, una seña los diversos eventos IO, incluyendo como mucho tiempo, tales como la realización de rebobinado.

Interrupciones de software. Señalar la aparición de una de las 15 excepciones en tiempo de ejecución. Algunas de estas interrupciones se puede suprimir mediante el uso de las banderas de reposición adecuados en PSW.

Interrupción de un supervisor de llamada. Se produjo como consecuencia de instrucciones dirigida al supervisor.

Las interrupciones externas. Se produce como consecuencia de acontecimientos externos, como la interrupción de temporizador o prensado.

Interrupción de comprobación del equipo se produce cuando un fallo de hardware, como un error de paridad en la comprobación del contenido de los registros.

Como ha sido claro para direccionamiento de memoria de 24 bits usado que pueden abordar 16 MB de memoria, pero ya que el modelo 67 la oportunidad de direccionamiento de 32 bits, lo que amplió el alcance de direccionable (teóricamente) de hasta 4 gigabytes de memoria. Se utilizó un orden big-endian, es decir, de mayor a menor. Instrucción diferente permite trabajar con bytes, medias palabras (2 bytes), palabras llenas (4 bytes), palabras dobles y cuádruples (respectivamente 8 y 16 bytes).

Nominalmente soporta los siguientes tipos de datos:

Los enteros o la mitad de la longitud de la palabra entera
Dos especies empaquetados en un formato binario decimal
Números de punto flotante (fraccionarias los matices de la aplicación dependía de la versión)
Los caracteres se almacenan en un byte cada

Dirigiéndose a menudo utilizan el "truncado": las instrucciones no contienen la dirección completa, pero sólo el desplazamiento de la dirección de base que figura en uno de los registros de propósito general
.
Las instrucciones pueden ser un 2, 4 o 6 bytes, mientras que el código de operación se almacena en el byte de orden cero, y el resto es la descripción de los operandos. La instrucción es alineado a media palabra límites, por lo que el bit menos significativo de la dirección de la instrucción actual siempre ha sido cero.

Curiosamente en el System / 360 se implementó IO. Operaciones de entrada-salida de los procesadores realizan conceptualmente distintos, llamados "canales". Un canal tiene su propio conjunto de instrucciones, y se trabajó con la memoria, independientemente del programa ejecutado por la CPU. En los modelos de bajo costo para apoyar a los canales utilizados "motor" del microcódigo de la CPU, los más caros - canales se colocaron en sus propios armarios
.


Muy raro que IBM se acercó a la gestión de sus equipos. Ellos identificaron un conjunto específico de funciones, sin especificar cuáles utilizando medios físicos, deben ser implementadas. Esto nos permitió controlar el universal, no depende de una plancha de concreto, para las instrucciones de devolución y de salida de los resultados en el curso podrían salir cualquier botones de hardware, diales, teclado, texto y gráficos en los monitores, etc. Cualquier referencia a un "botón" o "interruptor" podría significar cualquiera de las posibles entradas, comenzando con el lápiz óptico y terminando opciones de elección en la pantalla utilizando el teclado.

En varios modelos de la System / 360 utiliza diferentes funciones adicionales, ampliar la base.

Seguridad de la cuenta. Si el sistema es compatible con esta opción, cada bloque de tamaño de almacenamiento externo de 2 kb se le asigna una clave que se comprueba cuando se escribe en este canal de almacenamiento. Es decir, cada canal sólo puede escribir en "sus" bloques. Por lo general, el canal con la ubicación de cero utilizado por el sistema operativo, y compruebe la clave para él no se llevó a cabo. Este enfoque le permite proteger los archivos del sistema a partir de los programas de usuario borrado. En modelos muy raros acaba de tener la oportunidad de exponer y leer la protección.

Apoyar multisistémica. Conjunto de instrucciones extendido le permite trabajar de forma simultánea múltiples procesadores.

Control directo. Esta opción proporciona soporte para 6 líneas de señal externos, que podrían ser utilizados para las necesidades del usuario.

Temporizador de intervalo. Con esta opción, el procesador lleva a cabo decremento periódico las palabras almacenadas en la memoria en la dirección 0x50, cuando este valor llega a cero, se produce la interrupción. Modelos más pequeños redujeron el número con la frecuencia coincide con la frecuencia de la red (50 o 60 Hz), los modelos más antiguos fueron equipados con temporizadores donde a mayor resolución.

En general, sobre el Sistema / 360, se puede hablar mucho, así que si hay interés, voy a continuar con el tema del próximo artículo.

Fuente: habrahabr.ru/post/221587/