z / Architecture , en un principio y brevemente llamado ESA modal Extensiones ( ESAME ), es IBM 's de 64 bits CISC arquitectura del conjunto de instrucciones ejecutado por sus ordenadores centrales . IBM presentó su primer sistema z / Architecture, el z900 , a finales de 2000. [1] Los sistemas z / Architecture posteriores incluyen IBM z800, z990, z890, System z9 , System z10 , zEnterprise 196 , zEnterprise 114 , zEC12 , zBC12 , z13 , z14 yz15 .
Diseñador | IBM |
---|---|
Bits | 64 bits |
Introducido | 2000 |
Versión | ARCHLVL 2 y ARCHLVL 3 (2008) |
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 |
Predecesor | ESA / 390 |
Registros | |
Propósito general | 16 × 64 bits |
Punto flotante | 16 × 64 bits |
Vector | 32 × 128 bits |
z / Architecture conserva la compatibilidad con versiones anteriores de la arquitectura de 32 bits de datos / 31 bits de direccionamiento ESA / 390 y sus predecesores hasta el Sistema / 360 de 32 bits de datos / 24 bits de direccionamiento . IBM z13 es el último servidor de z Systems que admite la ejecución de un sistema operativo en el modo de arquitectura ESA / 390. [2] Sin embargo, todos los programas de aplicación de estado de problema de 24 bits y 31 bits originalmente escritos para ejecutarse en la arquitectura ESA / 390 no se verán afectados por este cambio.
Cada espacio de direcciones de z / OS , llamado espacio de direcciones de 64 bits, tiene un tamaño de 16 exabytes , 8 mil millones de veces el tamaño del antiguo espacio de direcciones de 2 gigabytes.
Espacios de código (o mixtos)
La mayoría de los sistemas operativos [ cita requerida ] para z / Architecture, incluido z / OS , generalmente restringen la ejecución del código a los primeros 2 GB (31 bits de dirección, o 2 31 bytes direccionables) de cada espacio de direcciones virtuales por razones de eficiencia y compatibilidad. que por los límites arquitectónicos. La implementación de z / OS del lenguaje de programación Java es una excepción. La implementación de memoria virtual de z / OS admite múltiples espacios de direcciones de 2 GB, lo que permite más de 2 GB de código de programa residente simultáneamente. La versión de 64 bits de Linux en IBM Z permite que el código se ejecute dentro de rangos de direcciones de 64 bits.
Espacios de solo datos
Para los programadores que necesitan almacenar grandes cantidades de datos, el espacio de direcciones de 64 bits suele ser suficiente. [ cita requerida ]
Dataspaces y hiperspaces
Las aplicaciones que necesitan más de un espacio de direcciones de datos de 16 exabytes pueden emplear técnicas de direccionabilidad extendidas , utilizando espacios de direcciones adicionales o espacios de solo datos. Los espacios de solo datos que están disponibles para los programas de usuario se denominan:
- espacios de datos (a veces denominados "espacios de datos") [3] [4] y
- hiperspaces (espacio de alto rendimiento). [5] [6]
Estos espacios son similares en que ambos son áreas de almacenamiento virtual que un programa puede crear y pueden tener hasta 2 gigabytes . A diferencia de un espacio de direcciones, un espacio de datos o hiperspace contiene solo datos del usuario; no contiene bloques de control del sistema ni áreas comunes. El código del programa no se puede ejecutar en un espacio de datos o en un hiperspace. [7]
Un espacio de datos se diferencia de un espacio alto en que los espacios de datos son direccionables por bytes, mientras que los espacios de datos son direccionables por páginas.
Almacenamiento ampliado de mainframe de IBM
Tradicionalmente, la memoria de mainframe de IBM ha sido direccionable por bytes . Este tipo de memoria se denomina "Almacenamiento central". Los procesadores IBM Mainframe durante gran parte de las décadas de 1980 y 1990 admitieron otro tipo de memoria: almacenamiento expandido.
El almacenamiento expandido es direccionable por páginas de 4 KB. Cuando una aplicación desea acceder a datos en el almacenamiento expandido, primero se debe mover al almacenamiento central. De manera similar, el movimiento de datos del almacenamiento central al almacenamiento expandido se realiza en múltiplos de páginas de 4 KB. Inicialmente, el movimiento de páginas se realizaba utilizando instrucciones relativamente caras, mediante el código del subsistema de paginación.
La sobrecarga de mover páginas individuales y grupos entre el almacenamiento central y expandido se redujo con la introducción de la instrucción MVPG (Mover página) y la capacidad ADMF (Asynchronous Data Mover Facility).
La instrucción MVPG y ADMF se invocan-general explícitamente por el middleware en z / OS o z / VM (y ACP?) - para acceder a datos en el almacenamiento ampliado. Algunos usos son a saber:
- MVPG es utilizado por la administración del grupo de búfer de recursos compartidos locales (LSR) de VSAM para acceder a los búferes en un espacio superior en el almacenamiento expandido.
- DB2 utiliza MVPG y ADMF para acceder a hiperpools. Hiperpools son porciones de un buffer pool ubicadas en un hiperspace.
- Almacenamiento en caché de minidisco de VM.
Hasta mediados de la década de 1990, el almacenamiento central y expandido eran áreas de memoria físicamente diferentes en el procesador. Desde mediados de la década de 1990, el almacenamiento central y expandido eran simplemente opciones de asignación para la memoria del procesador subyacente. Estas elecciones se tomaron en función de usos esperados específicos: por ejemplo, se requiere almacenamiento expandido para la función Hiperbatch (que usa la instrucción MVPG para acceder a sus hiperspaces).
Además de los casos de hiperspace y paging mencionados anteriormente, existen otros usos del almacenamiento expandido, que incluyen:
- E / S virtual (VIO) a almacenamiento expandido que almacena conjuntos de datos temporales en dispositivos simulados en almacenamiento expandido. (Esta función ha sido reemplazada por VIO en Central Storage).
- Almacenamiento en caché de minidisco de VM.
z / OS eliminó el soporte para almacenamiento expandido. Toda la memoria en z / OS ahora es Almacenamiento central. z / VM 6.4 cumple la Declaración de dirección para eliminar el soporte para todo uso de Almacenamiento expandido.
MVPG y ADMF
MVPG
IBM describió MVPG como "mueve una sola página y el procesador central no puede ejecutar ninguna otra instrucción hasta que se complete el movimiento de la página". [8]
La instrucción de mainframe MVPG [9] ( M o V e P a G e, código de operación X'B254 ') se ha comparado con la instrucción MVCL ( M o V e C haracter L ong), las cuales pueden mover más de 256 bytes dentro de la memoria principal usando una sola instrucción. Estas instrucciones no cumplen con las definiciones de atomicidad , aunque pueden usarse como una sola instrucción dentro de las restricciones documentadas de tiempo y no superposición. [10] : Nota 8, página 7-27 [11]
La necesidad de mover más de 256 bytes dentro de la memoria principal se había abordado históricamente con software [12] (bucles MVC), MVCL, [13] que se introdujo con el anuncio de 1970 del System / 370 , y MVPG, patentado [14] y anunciado por IBM en 1989, cada uno tiene ventajas. [15]
ADMF
ADMF (Asynchronous Data Mover Facility), que se introdujo en 1992, va más allá de las capacidades de la instrucción MVPG (Mover página), que está limitada a una sola página, [16] y puede mover grupos de páginas entre el almacenamiento central y expandido.
Una macroinstrucción llamada IOSADMF, que ha sido descrita como una API que evita el "uso directo de ADMF de bajo nivel", [17] [18] puede usarse para leer [NB 1] o escribir datos hacia o desde un hiperespacio. [19] Los hiperpacios se crean mediante DSPSERV CREATE.
Para proporcionar reentrada , IOSADMF se utiliza junto con un "Formulario de lista" y un "Formulario de ejecución". [20]
z / Sistemas operativos de arquitectura
Los sistemas operativos z / VSE Versión 4, z / TPF Versión 1 yz / VM Versión 5 , y presumiblemente sus sucesores, requieren z / Architecture.
z / Architecture admite la ejecución de varios sistemas operativos y aplicaciones simultáneos, incluso si utilizan diferentes tamaños de dirección. Esto permite a los desarrolladores de software elegir el tamaño de dirección que sea más ventajoso para sus aplicaciones y estructuras de datos.
Platform Solutions Inc. (PSI) comercializaba anteriormente servidores basados en Itanium que eran compatibles con z / Architecture. IBM compró PSI en julio de 2008 y los sistemas PSI ya no están disponibles. [21] FLEX-ES , zPDT y el emulador Hercules también implementan z / Architecture. Los mainframes Hitachi que ejecutan versiones más recientes del sistema operativo VOS3 implementan ESA / 390 más instrucciones de CPU exclusivas de Hitachi, incluidas algunas instrucciones de 64 bits. Si bien Hitachi probablemente se inspiró en z / Architecture y colaboró formalmente con IBM en las CPU z900-G2 / z800 introducidas en 2002, las máquinas de Hitachi no son compatibles con z / Architecture.
El 7 de julio de 2009, IBM, con motivo del anuncio de una nueva versión de uno de sus sistemas operativos, declaró implícitamente que el conjunto de niveles de arquitectura 4 ( ALS 4 ) existe y está implementado en el System z10 y las máquinas posteriores. [22] [23] El ALS 4 también se especifica en LOADxx como ARCHLVL 3 , mientras que el anterior z900, z800, z990, z890, System z9 especificaba ARCHLVL 2. Los anuncios anteriores del System z10 simplemente especificaban que implementa z / Architecture con algunos adiciones: más de 50 nuevas instrucciones de máquina, marcos de página de 1 MB y unidad de punto flotante decimal de hardware (HDFU). [24] [25]
Notas
- ^ AREAD: transfiere datos desde un hiperspace al espacio de direcciones principal del programa.
Referencias
- ^ Desarrollo y atributos de z / Architecture , IBM Journal of Research and Development, 2002.
- ^ Adaptar funciones para que el servidor z13 se suspenda en servidores futuros
- ^ Hoskins, Jim; Frank, Bob (2002). Exploración de servidores IBM Eserver Zseries y S / 390 . Prensa máxima. pag. 26. ISBN 1885068913.
La arquitectura VM Data Spaces es estándar en todos los procesadores System / 390.
- ^ "CA defiende la política de VSE". InformationWeek . 21 de octubre de 1991. p. 15.
Computer Associates International ahora proporciona tecnología de espacio de datos a usuarios de VSE / ESA o System / 370.
- ^ "Analizando datos en memoria" . IBM (Rochester) . IBM.
- ^ Hemanth Nandas (15 de octubre de 2007). "¿Qué es hiperspace? ¿Cuál fue el primer sistema operativo que admitió hiperspace?" . Grupo de noticias : ibmmainframes.com . ESPACIO DE ALTO RENDIMIENTO o "Espacio de datos de alto rendimiento" (autor Anuj Dhawan, misma fecha)
- ^ http://idcp.marist.edu/pdfs/ztidbitz/54%20zTidBits%20(zOS%20ExtendedAddressability).pdf
- ^ US 5442802 Método y medios del transportador de datos del coprocesador asíncrono
- ^ "HLASM - MVPG = PÁGINA DE MOVIMIENTO" .
- ^ MOVE LONG, nota 8. "GA22-7000-10, IBM System / 370, Principios de funcionamiento" (PDF) .
- ^ "las cosas se hacen de inmediato, y no hay posibilidad de que la instrucción se complete a medias o de que se intercale otra. Se usa especialmente para transmitir que una operación no puede interrumpirse". "Atómico de FOLDOC" .
- ^ "$ MVCL - Mueva más de 256 bytes de almacenamiento" .
- ^ "Mover largo" .
- ^ US 5237668 Proceso que usa direccionamiento virtual en una instrucción sin privilegios para controlar la copia de una página de datos en o entre múltiples medios
- ^ "¿MVPG más rápido que MVCL para páginas alineadas?" . IBM-MAIN (lista de correo).
- ^ La patente de IBM EP0549924A1 describe MVPG como "mueve una sola página".
- ^ "admf" . IBM-MAIN (lista de correo).
- ^ http://ppdbooks.pok.ibm.com:80/cgi-bin/bookmgr/bookmgr.cmd/BOOKS/DZ9AR003
- ^ z / OS MVS Programming: Extended Addressability Guide - SA23-1394-00
- ^ "IOSADMF - Transferir datos del hiperspace" .
- ^ "IBM adquiere soluciones de plataforma" (nota de prensa). IBM. 2008-07-02 . Consultado el 6 de septiembre de 2008 .
- ^ Vista previa: IBM z / VM V6.1 - Base para el crecimiento futuro de la virtualización , Anuncio de software de IBM Estados Unidos 209-207, con fecha del 7 de julio de 2009
- ^ ALS 1 fue 9672 G2; ALS 2 era 9672 G5; ALS 3 fue la z / Architecture original: "Tabla del procesador IBM CMOS" .
- ^ "Guía de referencia de IBM System z10 Business Class (z10 BC)" (PDF) . 2008.
- ^ z / Principios de funcionamiento de la arquitectura
Otras lecturas
- Introducción a la programación: operaciones atómicas frente a operaciones no atómicas
- Principios del diseño informático: atomicidad