MX2012014533A - Ampliacion de la cantidad de registros de uso general disponibles para instrucciones. - Google Patents

Ampliacion de la cantidad de registros de uso general disponibles para instrucciones.

Info

Publication number
MX2012014533A
MX2012014533A MX2012014533A MX2012014533A MX2012014533A MX 2012014533 A MX2012014533 A MX 2012014533A MX 2012014533 A MX2012014533 A MX 2012014533A MX 2012014533 A MX2012014533 A MX 2012014533A MX 2012014533 A MX2012014533 A MX 2012014533A
Authority
MX
Mexico
Prior art keywords
instructions
instruction
bits
bit
operand
Prior art date
Application number
MX2012014533A
Other languages
English (en)
Inventor
Dan Greiner
Timothy Slegel
Marcel Mitran
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of MX2012014533A publication Critical patent/MX2012014533A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

Una computadora emplea un conjunto de Registros de Uso General (GPRs). Cada GPR comprende una pluralidad de porciones. Los programas, como un Sistema Operativo y las Aplicaciones que funcionan en un modo de GPR grande, obtienen acceso a todo el GPR, sin embargo, programas como Aplicaciones que funcionan en el modo de GPR pequeño, sólo tienen acceso a una porción a la vez. Los Códigos de operación de instrucción, en el modo de GPR pequeño, pueden determinar a qué porción se obtiene acceso.

Description

AMPLIACIÓN DE LA CANTIDAD DE REGISTROS DE USO GENERAL DISPONIBLES PARA INSTRUCCIONES CAMPO DE LA INVENCIÓN La presente invención se relaciona con sistemas informáticos y más particularmente con la funcionalidad de instrucciones de un procesador de sistema informático.
ANTECEDENTES DE LA INVENCIÓN Marcas registradas: IBM© es una marca registrada de International Business Machines Sociedad, Armonk, Nueva York, U.S. A. S/390, Z900, z990 y zlO y otros nombres del producto pueden estarse registrados marcas registradas o nombres del producto de International Business Machines Corporation u otras compañías.
IBM ha formado a través del proceso de muchos ingenieros muy talentosos que comienzan con máquinas conocidas como la IBM ® Sistema 360 en los años 1960 al presente, una arquitectura especial que, debido a su naturaleza esencial a un sistema informático, se convirtió conocida como "'el ordenador central" cuyos principios de la operación declaran la arquitectura de la máquina describiendo las instrucciones que pueden estarse ejecutando mediante la realización "de computadora central" de las instrucciones que tenidas sido inventado por inventores de IBM y adoptado, debido a su contribución significativa a impro ving el estado de la máquina de calcular representada por "la computadora central 1 1 , como contribuciones significativas por la inclusión en los Principios de la IBM de la Operación como declarado durante los años. La Octava Edición de la IBM ® z/Architecture© los Principios de la Operación que era el febrero de 2009 publicado se ha convertido la norma referencia publicada como SA22-7832-07 y se incorpora en zIQ de la IBM ® servidores de computadora central que incluyen el IBM System z 10 servidores de Clase de Empresa ®.
Respecto a Figura 1A, los componentes representativos de un sistema de computadora anfitrión 50 son retratados. Otras configuraciones de componentes también pueden emplearse en un sistema informático, que son conocidos en la técnica. El coste representativo de la Computadora 50 comprende uno o más unidades centrales de proceso 1 en la comunicación con la memoria principal (Memoria de la computadora 2) asi como interfaces de entrada-salida a dispositivos de almacenamiento 11 y conecta a la red 10 para comunicarse con otras computadoras o SANs y lo similar. La unidad central de proceso 1 es compatible con una arquitectura que tiene un conjunto de instrucciones diseñado y funcionalidad diseñada. La unidad central de proceso 1 puede tener la Traducción de Dirección Dinámica (DAT) 3 para transformar direcciones de programa (direcciones virtuales) en la dirección real de la memoria. DAT por lo común incluye a Translation Lookaside Buffer (TLB) 7 para esconder traducciones de modo que más tarde obtenga acceso al bloque de la memoria de la computadora 2 no requieren el retraso de la traducción de dirección. Por lo común un cache 9 se emplea entre la Memoria de la computadora 2 y el Procesador 1, El cache 9 puede ser jerárquico con un cache grande disponible para más de una unidad central de proceso y más pequeño, más rápido (nivel inferior) caches entre el cache grande y cada unidad central de proceso. En algunas realizaciones los caches de nivel inferiores se dividen para proporcionar caches de bajo nivel separados a' la instrucción traer y los datos obtienen acceso. En una modalidad, una instrucción se recupera de la memoria 2 por una unidad de búsqueda y carga de instrucciones de instrucción 4 mediante un cache 9. La instrucción es decodificada en una instrucción decodifican la unidad (6) y enviado (con otras instrucciones en algunas modalidades) a unidades de ejecución de instrucción 8. Por lo común varias unidades de ejecución 8 se emplean, por ejemplo una unidad de ejecución aritmética, una unidad de ejecución de punto flotante y una unidad de ejecución de instrucción de rama. La instrucción se está ejecutando por la unidad de ejecución, obteniendo acceso a operandos de la instrucción registros especificados o memoria según sea necesaria. Si un operando debe obtenerse acceso (cargado o almacenado) de la memoria 2, una carga almacenan la unidad 5 por lo común apodos el acceso bajo el control de la instrucción que se está ejecutando. Las instrucciones pueden estarse ejecutando en circuitos de hardware o en el microcódigo interno (soporte lógico inalterable) 1 o por una combinación de ambos.
En la Figura 113, un ejemplo de un sistema de computadora anfitrión emulado 21 se proporciona lo que emula un sistema de computadora anfitrión 50 de una arquitectura Anfitrión. En el sistema de computadora anfitrión emulado 21, el procesador Anfitrión (unidad central de proceso) 1 es un procesador Anfitrión emulado (o procesador Anfitrión virtual) y comprende un procesador de emulación 27 que tiene una diferente arquitectura de conjunto de instrucciones de origen natural que tha t del procesador I de la Computadora anfitrión 50. El Anfitrión emulado Compu ter sistema 21 tiene la memoria 22 accesible al procesador de emulación 27. En la modalidad ejemplificante, la Memoria 27 es dividida en a. Memoria de Computadora anfitrión 2 porción y unas Rutinas de Emulación 23 porción. La Memoria de Computadora anfitrión 2 está disponible para programas de la Computadora anfitrión emulada 21 según la Arquitectura de Computadora anfitrión. El Procesador de emulación 27 formaliza instrucciones de origen natural de un conjunto de instrucciones diseñado de una arquitectura además de aquel del procesador emulado 1, las instrucciones de origen natural obtenidas de la memoria de Rutinas de Emulación 23, y puede obtener acceso a una instrucción Anfitrión para la ejecución de un programa en la Memoria de Computadora anfitrión 2 uno o más instrucciones que emplean) obtenido en una rutina de Sequence & Access/Decode que puede decodificar la instrucción Anfitrión ) obtuvo acceso para determinar una rutina de ejecución de instrucción de origen natural para emular la función de la instrucción Anfitrión con acceso. Otras instalaciones que se definen para el Sistema de Computadora anfitrión 50 arquitectura pueden ser emuladas por Rutinas de Instalaciones Diseñadas, incluyendo tales instalaciones como los Registros de Uso General, los Registros de Control, la Traducción de Dirección Dinámica y el Subsistema de entrada-salida apoyan y cache de procesador por ejemplo. Las Rutinas de Emulación también pueden aprovechar la función disponible en el Procesador · de emulación 27 (como registros generales y traducción dinámica de direcciones virtuales) para mejorar el desempeño de las Rutinas de Emulación. El Hardware especial y Apagado - Motores de Carga también puede proporcionarse para ayudar al procesador 27 en la emulación de la función de la Computadora anfitrión 50.
En una computadora central, las instrucciones de máquina diseñadas se usan por programadores, por lo general hoy "C" programadores a menudo por vía de una aplicación de compilador. Éstos Instrucciones almacenadas en el soporte de almacenamiento pueden estarse ejecutando de origen natural en una Arquitectura z/el IBM Server, o alternativamente en máquinas formalizando otras arquitecturas. Éstos pueden ser emulados en la existencia y en futuros servidores de computadora central de IBM y en otras máquinas de la IBM (p.ej pSeries© Servidores y xSeries ® Servidores). Éstos pueden estarse ejecutando en la marcha de máquinas Liimx en una amplia variedad de máquinas usando el hardware elaborado por mi BM ®, Intel ®, AMD™, Sun Microsystems y otros. Además de la ejecución en aquel hardware bajo una Arquitectura ®, el Linux puede usarse asi como máquinas que usan la emulación como se describe en http: //www. turboherc les.com, http : //www . hercules-390. org y http : //www . funsoft . com En el modo de emulación, el software de emulación se está ejecutando por un procesador de origen natural para emular la arquitectura de un procesador emulado.
El procesador de origen natural 27 por lo común formaliza el software de emulación 23 que comprende el soporte lógico inalterable o un sistema operativo de origen natural para llevar a cabo la emulación del procesador emulado. El software de emulación 23 es responsable de traer y ejecutar instrucciones de la arquitectura de procesador emulada. El software de emulación 23 mantiene que un programa emulado contrario a da seguimiento de limites de instrucción. El software de emulación 23 puede traer uno o más instrucciones de máquina emuladas a la vez y convertir instrucciones de máquina uno o más emuladas a un grupo correspondiente de instrucciones de máquina de origen natural para la ejecución por el procesador de origen natural 27. Éstos convertieron las instrucciones pueden ser escondidas tales que una conversión más rápida puede llevarse a cabo. No resistiendo, el software de emulación debe mantener los reglamentos de arquitectura de la arquitectura de procesador emulada para asegurar sistemas operativos y las aplicaciones escritas para el procesador emulado funcionan correctamente. Además el software de emulación debe proporcionar recursos identificados por el procesador emulado 1 arquitectura incluyendo, entre otros, controla registros, registros de objetivo generales, registros de punto flotante, función de traducción de dirección dinámica que incluye tablas de segmento y tablas de páginas por ejemplo, interrumpe mecanismos, mecanismos de conmutador de contexto, Tiempo del Día (TOD) relojes e interfaces diseñadas a subsistemas de entrada-salida tales que un sistema operativo o un programa de aplicaciones informáticas diseñado a están en el procesador emulado, puede ser están en el procesador de origen natural que tiene el software de emulación.
Una instrucción específica que es emulada es decodificada, y una subrutina llamada para llevar a cabo la función del indi vidual instrucción. Una función de software de emulación 23 emulación de una función de un procesador emulado 1 se pone en práctica, por ejemplo, en un "C subrutina o controlador, o algún otro método de proporcionar un controlador al hardware específico como se incluirá dentro de, la habilidad de aquellos en la técnica después de entender la descripción de la modalidad preferida. La diversa emulación de hardware y software patenta incluyendo, entre otros, EE.UU 5551013 para un "Multiprocesador para la emulación de hardware" de Beausoleii et al., y US6009261: Proceso previo de rutinas con especificidad de objetivo almacenadas para emular instrucciones incompatibles en un procesador con especificidad de objetivo" de Scalzi y Al-; y US5574873: la instrucción de invitado decodificador de obtener acceso directamente a rutinas de emulación que emulan las instrucciones de invitado, de Davidian y Al-; US6308255: El bus de multiprocesamiento simétrico y el conjunto de chips usado para el coprocesador apoyan el código no origen natural que permite que para funcionar en un sistema, de Gorishek y Al-; y US6463582: el objeto de optimización dinámico codifica al traductor para emulación de arquitectura y método de traducción de código de objeto de optimización dinámico de Lethin y Al-; y US5790825: Método para emular instrucciones de invitado en una computadora anfitrión recompilación a través de dinámica de instrucciones anfitriones de Eric Traut. Estas referencias ilustran una variedad de modos conocidos de lograr la emulación de un formato de instrucción diseñado para una diferente máquina para una máquina con especificidad de objetivo disponible para los expertos en la técnica, asi como aquellos métodos de software comerciales usados por los referidos anteriormente.
En número de Publicación estadounidense EE.UU 2009/0249039 Al, publicado el 1 de octubre de 2009, Gancho y Al-, "Precisión Extendida que se proporciona en Operaciones, de Aritmética de Vector SIMD, " la presente invención proporciona la precisión extendida en operaciones aritméticas SIMD en un procesador que tienen un archivo de registro y un acumulador. Unos primeros elementos de conjunto de datos y unos segundos elementos de conjunto de datos se cargan en primeros y segundos registros de vector, respectivamente. Cada elemento de datos comprende bitios ¦N. Después, una instrucción aritmética se recupera de la memoria.' La instrucción aritmética es decodificada . Luego, el primer ¦ registro, de vector y el segundo registro de vector se leen del archivo de registro. La presente invención formaliza- la instrucción aritmética de elementos de datos correspondientes en los primeros y segundos registros de vector. El elemento resultante de la ejecución es escrito luego en el acumulador. Luego, el elemento resultante es transformado en un elemento de anchura N-bit y escrito en un tercer registro para operación adicional o almacenamiento en la memoria. La transformación del elemento resultante puede incluir, por ejemplo, el redondeo, controlar, y/o el cambio del elemento.
Lo que es necesario es la nueva funcionalidad de instrucción consistente con la arquitectura existente que alivia la dependencia de recursos de arquitectura, como registros generales, mejora la funcionalidad y el desempeño de versiones de software que emplean la nueva instrucción.
BREVE DESCRIPCIÓN DE LA INVENCIÓN En una modalidad del Elevado - instalación de palabra, una cantidad efectiva de Registros de Uso General (GPRs) disponible para instrucciones de un programa se extiende en una computadora que tiene una primera sombra de GPRs grandes, cada instrucción comprende un código de operación un d o e o más campos GPR para especificar el GPRs correspondiente, cada GPR grande comprende una primera porción y una segunda porción, . los GPRs grandes comprenden primeros GPRs pequeños que comprenden primeras porciones y segundos GPRs pequeños que comprenden segundas porciones, donde sensibles a la computadora que está en un modo de GPR pequeño, llevando a cabo a) y b) se llevan a cabo, a) instrucciones de un primer conjunto de instrucciones se están ejecutando, el primer conjunto de instrucciones es para obtener acceso a los primeros GPRs pequeños, la ejecución comprende generar direcciones de memoria para obtener acceso a operandos de memoria o basado los primeros GPRs pequeños u obtener acceso ¦ a primeros operandos de GPR pequeño, donde los primeros GPRs pequeños comprenden las primeras porciones; y las instrucciones de b) de un segundo conjunto de instrucciones se están ejecutando, el segundo conjunto de instrucciones es para obtener acceso a los segundos GPRs pequeños, la ejecución comprende generar direcciones de memoria para obtener acceso a operandos de memoria basados en los segundos GPRs pequeños u obtener acceso a segundos operandos de GPR pequeño, donde los segundos GPRs pequeños comprenden las segundas porciones; y en respuesta a la computadora que está en un modo de GPR grande, las instrucciones de un tercer conjunto de instrucciones se están ejecutando, la ejecución comprende generar direcciones de memoria para obtener acceso a operandos de memoria basados en los GPRs grandes u obtener acceso a operandos de GPR grande comprende las primeras porciones y las segundas porciones.
En una modalidad, el modo de GPR pequeño comprende que está en uno de a. 24 bitios que se encargan a modo o 31 bitios que se encargan a modo.
En una modalidad, la primera porción es 32 bitios, la segunda porción es 32 bitios y la tercera porción es 64 bitios.
En una modalidad, la ejecución de la instrucción del segundo conjunto de instrucciones comprende llevar a cabo una función definida del código de operación correspondiente basada en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente que comprenden una ADICIÓN de dos funciones de operandos o a. una COMPARACIÓNSE de dos funciones de operandos.
En una modalidad, la ejecución de la instrucción del segundo conjunto de instrucciones comprende llevar a cabo una función definida del código de operación correspondiente basada en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente comprende una CARGA de un operando de la memoria - función o un ALMACENAMIENTO de un operando a la función de memoria.
En una modalidad, la ejecución de la instrucción del segundo conjunto de instrucciones comprende llevar a cabo una función definida del código de operación correspondiente basada en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente es una función de ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS comprende: alternación de un operando de la fuente por una cantidad especificada de instrucción; e insertar una porción seleccionada del operando alternado de la fuente en una porción seleccionada de un objetivo o perand.
En una modalidad, un. El Sistema operativo es apoyado funcionando en el modo de GPR grande donde los GPRs grandes se almacenan y restaurado durante intercambios de contexto para Aplicaciones que funcionan en el modo de GPR pequeño.
En una modalidad, un Sistema operativo funciona en el modo de GPR grande donde el Grande EL GPRs se almacena y restaurado durante intercambios de contexto para Aplicaciones que funcionan en el modo de GPR pequeño .
Los objetivos superiores asi como adicionales, aspectos, y modalidades de ventajas hechas evidentes en la descripción escrita que sigue.
BREVE DESCRIPCIÓN DE LAS FIGURAS Las modalidades de la descripción se describirán ahora, sólo a manera de ejemplo, en cuanto a las figuras acompañantes donde: La Figura 1A es un diagrama que representa un sistema de computadora anfitrión e emplificante; La Figura IB es un diagrama que representa un sistema de computadora anfitrión de emulación ejemplificante; La Figura 1C Es un diagrama que representa un sistema informático ejemplificante; La Figura 2 es un diagrama que representa una red de computadora ejemplificante; La Figura 3 es un diagrama que representa unos elementos de un sistema informático; Las Figuras 4A-4C representan elementos detallados de un sistema informático; Las Figuras 5A-5F representan el formato de instrucción de la máquina de un sistema informático; La Figura 6 representa un GPR grande ejemplificante; Las Figuras 7A-7B representan un flujo de modalidad ej empificante ; y La Figura 8 representa un flujo de intercambio del contexto ejemplificante.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Una modalidad puede ser llevada a la práctica por el software (a veces referido al Autorizado Interno ("oda, Soporte lógico inalterable, Microcódigo, Mil Si-code, Pico-código y lo similar, cualquier de cual seria consistente con las modalidades) . Respecto a la Figura l.A, a código de programa le obtiene acceso por lo común el procesador también conocido como una unidad central de proceso (unidad central de proceso) 1 del sistema 50 de soportes de almacenamiento a. largo plazo 11, como un lector de CD-ROM, accionador de cinta o disco duro. El código de programa puede implementarse en cualquiera de la variedad a. de medios conocidos . for uso con un sistema de procesamiento de datos, como un disco flexible, disco duro, o CD-ROM. El código puede ser distribuido en tales medios, o puede ser distribuido a usuarios de la memoria de la computadora 2 o almacenamiento de un sistema informático, sobre una red 10 a otros sistemas informáticos para el uso por usuarios de tales otros sistemas.
Alternativamente, el código de programación puede implementarse en la memoria 2, y obtuvo acceso por el procesador 1 usando el bus de procesador. Tal código de programación incluye un sistema operativo que controla la función y la interacción de diversos componentes de computadora y uno o más programas de aplicaciones informáticas. El código de programación es normalmente paginado de soportes de almacenamiento densos 11 a la memoria rápida 2 donde está disponible para el procesamiento por el procesador 1. Los métodos y métodos para representar el código de programa en la memoria, en medios físicos, y/o distribuir el código de software mediante las redes son conocidas y no serán mencionadas adicionalmente aquí. Código de programación, cuando formado y almacenado en un medio tangible (incluyendo módulos de memoria entre otros electrónicos (RAM) , memoria no volátil (flash). Discos compactos (CDs), DVDs, la Cinta magnetofónica y lo similar es comúnmente referida como un "producto de programa informático". El programa informático, el medio de producto es por lo común legible por un circuito de procesamiento, preferentemente en un sistema informático para la ejecución por el circuito de procesamiento, Figura I C ilustran una estación de trabajo representativa o sistema de hardware de servidor. El sistema 100 de la Figura IC comprende el sistema informático representativo 101, como una computadora personal, una estación de trabajo o un servidor, incluyendo dispositivos periféricos opcionales. La estación de trabajo 101 incluye uno o más procesadores 106 y un bus empleado para conectar y habilitar la comunicación entre los procesadores) 106 y los otros componentes del sistema 101 de acuerdo con métodos conocidos. El bus conecta el procesador 106 a la memoria 105 y almacenamiento a largo plazo.107 que puede incluir un disco duro (incluyendo cualquier de medios magnéticos, CD, DVD y Memoria no volátil (flash) por ejemplo) o un accionádor de cinta por ejemplo. El sistema 101 también podria incluir un adaptador de interfaz de usuario, que conecta el microprocesador 106 mediante el bus a uno o más dispositivos de interfaz, como un teclado.104, ratón 103, una Impresora/escáner 110 y/o otros dispositivos de interfaz, que pueden ser cualquier dispositivo de interfaz de usuario, como un toque pantalla sensible, cojinete de entrada digitalizado, etc. El bus también conecta un dispositivo de pantalla de visualización 102, como una pantalla de cristal liquido, o monitor, al microprocesador 106 mediante un adaptador de pantalla de visualización.
El sistema 101 puede comunicarse con otras computadoras o redes de computadoras por vía de un adaptador de red capaz de comunicarse 108 con una red 109. Los adaptadores de red de ejemplo son canales de comunicaciones, red en anillo, Ethernet o módems . Alternativamente, la estación de trabajo 101 puede comunicarse usando una interfaz inalámbrica, como un CDPD (datos del bloque de transmisión digitales celulares) tarjeta. La estación de trabajo. 1.01 puede asociarse con tales otras computadoras en una Red de área local (LAN) o una red de área extensa (WAN) , o la estación de trabajo 101 puede. estar un cliente en una configuración de cliente/servidor con, otra computadora, etc. Todas estas configuraciones, asi como el hardware de comunicaciones apropiado y software, se conocen en la técnica, la Figura 2 ilustra que un procesamiento de datos conecta a la red 200 donde las modalidades pueden ser llevadas a la práctica. La red de procesamiento de datos 200 puede incluir una pluralidad de redes individuales, como una red inalámbrica y una red con instalación eléctrica, cada uno de los cuales puede incluir una pluralidad de estaciones de trabajo individuales 101. Además, como los expertos en. la técnica valorará, las uno o más redes de área local pueden incluirse, donde un LAN puede comprender una pluralidad de estaciones de trabajo inteligentes acopladas a un procesador anfitrión.
Todavía refiriéndose a la Figura 2, las redes también pueden incluir computadoras centrales o servidores, como una computadora de pasarela (cliente servidor 206) o servidor de aplicación (servidor remoto 208 que puede obtener acceso a un depósito de datos y también puede obtenerse acceso directamente de una estación de trabajo 205) . Una computadora de pasarela 206 funciona como un punto de la entrada en cada red 207. Una pasarela es- necesaria cuando conexión un protocolo conectado a una red al otro. La pasarela 206 puede ser preferentemente conectada a otra red (el Internet 207 por ejemplo) por medio de un canal de comunicación. La pasarela 206 también puede ser directamente conectada a uno o más estaciones de trabajo 10.1 20.1 202203204 usando un canal de comunicación. La computadora de pasarela puede ponerse en práctica utilizando una IBM eServer ™ zSeries ® z9 ® a Servidor disponible del código de programación de Software de IBM Corp. le obtiene acceso por lo común el procesador 1.06 del sistema 101 de soportes de almacenamiento a largo plazo 107, como un lector de CD-ROM o disco duro. El código de programación de software puede implementarse en cualquiera de una variedad de medios conocidos para el uso con un sistema de procesamiento de datos, como un disco flexible, disco duro, o CD-ROM. El código puede ser distribuido en tales medios, o puede ser distribuido a usuarios 210211 de la memoria o almacenamiento de un sistema informático, sobre una red a otros sistemas informáticos para el uso por usuarios de tales otros sistemas.
Alternativamente, el código 1 1 1 de programación puede implementarse en la memoria 105, y obtuvo acceso por el procesador 106 usando el. bus de procesador. Tal código de programación incluye un sistema operativo que controla la función y la interacción de diversos componentes de computadora y uno o más programas de aplicaciones informáticas 112. El código de programación es normalmente paginado de soportes de almacenamiento densos 107 a la memoria rápida 105 donde está disponible para el procesamiento por el procesador 106. Los métodos y métodos para representar el código de programación de software en la memoria, en medios físicos, y/o distribución del código de software mediante las redes son conocidas y no serán mencionadas adicionalmente aquí. Código de programación, cuando formado y almacenado en un medio tangible (incluyendo módulos de memoria entre otros electrónicos (RAM) , memoria no volátil (flash) , Discos compactos (CDs) , DVDs, la Cinta magnetofónica y lo similar es comúnmente referida como un "producto de programa informático". El medio de producto de programa informático es por lo común legible por un circuito de procesamiento preferentemente en un sistema informático para la ejecución por el circuito de procesamiento .
El cache que es el más disponible en el acto al procesador (normalmente más rápido y más pequeño que otros caches del procesador) es el más bajo (1,1 o de nivel uno) el cache y la memoria principal (memoria principal) son el cache de nivel superior (L3 si hay 3 niveles) . El cache de nivel más bajo a menudo está dividido en un cache de instrucción (1-Cache) que mantiene instrucciones de máquina para estarse ejecutando y un cache de datos (D-Cache) que mantiene operandos de datos.
Respecto a la Figura 3, una modalidad de procesador ejemplificante, es representado para el procesador 106. Los por lo común uno o más niveles del Cache 303 se emplean para almacenar bloques de memoria en un buffer a fin de mejorar el desempeño de procesador. El cache 303 es una memoria intermedia de alta velocidad mantener lineas de cache de datos de memoria que probablemente se usarán. Las lineas de cache comunes son 64, 128 o 256 bytes de datos de memoria. Separar los Caches a menudo son empleados para esconder instrucciones que para esconder datos. La coherencia de cache (la sincronización de copias de lineas en la Memoria y los Caches) a menudo es proporcionada por diversos algoritmos "de Fisgón" conocidos en la técnica. El almacenamiento principal 105 de un sistema de procesador es comúnmente referido como un cache. En un procesador el sistema que tiene 4 niveles del cache 303 almacenamiento principal 105 es a veces referido como el cache de nivel 5 (L5) ya que es por lo común más rápido y sólo mantiene una porción del almacenamiento de elemento no volátil (DASD, Cinta etc.) que está disponible para un sistema informático. Almacenamiento principal 105 páginas "de caches" de datos paginados en y del almacenamiento principal 105 por el Sistema operativo.
Un contador de programa (contador de instrucción) 311 da seguimiento de la dirección de la instrucción actual de estarse ejecutando. Un contador de programa en un procesador de Arquitectura z/es 64 bitios y puede estar truncado a 31 o 24 bitios para apoyar limites de direccionamiento previos. Un contador de programa es iy común representado en un PSW (programa, palabra de estado) de una computadora tal que esto persiste durante la conmutación de contexto. Asi, un programa en el progreso, que tiene un valor de contador de programa, puede ser interrumpido por, por ejemplo, el sistema operativo, (conmutador de contexto ¦ del ambiente de programa al ambiente de Sistema operativo) . W PS del programa mantiene el valor de contador de programa mientras el programa, no está activo, y el contador progris (en el PS W) del sistema operativo se usa mientras el sistema operativo formaliza. Por lo común el Programa, el contador es incrementado por una cantidad igual a la cantidad de bytes de la instrucción actual. RISC (Informática de conjunto de instrucciones reducida) las instrucciones son la longitud por lo común fijada mientras CISC (Informática de Conjunto de instrucciones Compleja) instrucciones son la longitud por lo común variable. Las instrucciones de la IBM z/Arquitectura son CISC instrucciones que tiene una longitud de 2, 4 o 6 bytes. El contador de Programa 311 se modifica por una operación de conmutador de contexto o por una Rama operación considerada de una instrucción de Rama por ejemplo. En una operación de conmutador de contexto, el valor de contador de programa actual se almacena en una Palabra de Estado de Programa (PSW) junto con otra información de pizarra sobre el programa se está ejecutando (como códigos de condición) , y un nuevo valor de contador de programa se carga señalando una instrucción de un nuevo módulo de programas informáticos de estarse ejecutando. La operación considerada de una rama se lleva a cabo a fin de permitir al programa tomar decisiones o bucle dentro del programa cargando al teniente resu de la Instrucción de Rama en el Contador de gramo Pro 311.
Por lo común una Unidad de Búsqueda y carga de instrucciones de instrucción 305 se emplea para traer instrucciones de parte del procesador 106. La unidad de búsqueda y carga de ins rucciones trae "instrucciones después secuenciales" , apuntan con acción selectiva hacia las instrucciones de la Rama instrucciones Consideradas, o las primeras instrucciones de un programa . following un conmutador de contexto. Las unidades de búsqueda y carga de instrucciones de instrucción modernas a menudo emplean métodos de prebúsqueda y carga de instrucciones para pretraer especulativamente instrucciones basadas en la probabilidad que las instrucciones pretraidas se pudieron usar. Por ejemplo, una unidad de búsqueda y carga de instrucciones puede traer 16 bytes de la instrucción que incluye la siguiente instrucción secuencial y los bytes adicionales de las instrucciones secuenciales adicionales.
Las instrucciones recuperadas son formalizadas luego por el procesador 106. en una modalidad, la instrucción (ones) traída se hace pasar a una unidad de mensaje 306 de la unidad de búsqueda y carga de instrucciones. La unidad dispatc decodifica la instrucción (ones) y reenvía la información sobre instruetion decodificado (s) para asignar unidades 307308310. Una unidad de ejecución 307 recibirá · por lo común la información sobre instrucciones aritméticas decodificadas de la unidad de búsqueda y carga de instrucciones de instrucción 305 y llevará a cabo operaciones aritméticas en operandos según el código de operación de la instrucción. Los operandos se proporcionan a la unidad de ejecución 307 preferentemente de la memoria 105, registros diseñados 309 o de un espacio inmediate de la instrucción se está ejecutando. Los resultados de la ejecución, cuando almacenado, se almacenan en la memoria 105, registros 309 o en otro hardware de máquina (como registros de control, registros de W de PS y lo similar) .
Un procesador 106 ly comunes tiene uno o más unidades de ejecución 307308310 para ejecutar la función de la instrucción. Respecto a F G. 4A. una unidad de ejecución 307 puede comunicarse con registros generales diseñados 309, una unidad decodificar/énviar 306 una carga almacena la unidad 310 y otras '401 unidades de procesador por vía de interconectar la lógica 407. Una unidad de Ejecución 307 puede emplear varios circuitos de registro 403404405 para mantener la información que la unidad lógica aritmética (ALU) 402 actuará. El ALU lleva a cabo operaciones aritméticas tales que adicionan, restan, se multiplican y se dividen asi como función lógica tal como y, o y exciusive-o (xor) , giran y desplazan. Preferentemente el ALU apoya operaciones especializadas que son el dependiente de diseño. Otros circuitos pueden proporcionar otras instalaciones diseñadas 408 incluyendo códigos de condición y recuperación apoyan la lógica por ejemplo. Por lo común el resultado de una operación ALU se mantiene en un circuito de registro salida 406 que puede reenviar el resultado a una variedad de otras funciones de procesamiento. Hay muchas configuraciones de unidades de procesador, la descripción presente sólo es pretendida para proporcionar una comprensión representa iva de una modalidad.
Una instrucción una ADICIÓN por ejemplo se estarla ejecutando en una unidad de ejecución 307 que tiene la funcionalidad aritmética y lógica mientras una instrucción de Punto flotante por ejemplo wou Id estarse ejecutando en una Ejecución de Punto flotante que tiene la capacidad de Punto flotante especializada.
Preferentemente, una unidad de ejecución actúa sobre operandos identificados por una instrucción llevando a cabo un código de operación función definida en los operandos. Por ejemplo, una instrucción una ADICIÓN puede estarse ejecutando por una unidad de ejecución 307 en operandos descubrió en dos registros 309 espacios por el registro identificados de la instrucción .
La unidad de ejecución 307 lleva a cabo la adición aritmética en dos operandos y almacena el resultado en un tercer operando donde el tercer operando puede ser un tercer registro o uno de los dos registros .de la fuente. La unidad de Ejecución preferentemente utiliza una Unidad Lógica Aritmética (ALU) '402 que tiene capacidad de llevar a cabo una variedad .de funciones • lógicas, como el Desplazamiento, Gire, Y, Oregon y XOR asi como una. variedad de funciones algebraicas que incluyen cualquier de adicionan, restan, se multiplican, se dividen. Algunos ALUs 402 son diseñados para operaciones escalares y unos para el punto flotante. Los datos pueden él Endian grande (donde el byte menos significativo está en la dirección de byte más elevada) o Poco Endian (donde el byte menos significativo está en la dirección de byte más baja) según la arquitectura. La IBM z/Arquitectura es Endian grande. Los espacios firmados pueden ser el signo y la magnitud, el complemento del 1 o 2's complemento según la arquitectura. Un 2's la cantidad de complemento es ventajosa en aquella el ALU no necesita al diseño a restar la capacidad ya que un valor negativo o un valor positivo en 2's el complemento sólo requiere y adición dentro del ALU. Las cantidades son comúnmente descritas en la taquigrafía, donde un espacio de 12 bitios define una dirección de un bloque de 4 096 bytes y es comúnmente descrito como 4 kilobytes (Kilobyte) bloque por ejemplo.
Trimodal Están enfermos el "direccionamiento de Trimodal que se viste" se refiere a la capacidad de cambiar entre los modos de direccionamiento de 24 bites, de 31 bites, y de 64 bites. Esta conmutación puede llevarse a cabo por medio de: • Las instrucciones anteriores RAMIFIAN Y GUARDAN Y DETERMINAN MODO y RAMA Y DETERMINAN EL MODO . Ambos de éstos conjunto de instrucciones el modo de direccionamiento de 64 bites si bitio 63 del R2 registro general es el gue . Si el bitio 63 es el cero, el conjunto de instrucciones el de 24 bites o 31 modo de direccionamiento de bit si el bitio 32 del registro es el cero o un, respectivamente.
• El nuevo MODO DE DIRECCIONAMIENTO de conjunto de instrucciones (SAM24, SAM3.1, y misil tierra-aire 64) . Los conjuntos de instrucciones el de 24 bites. 3 1 modo de direccionamiento de bit, o de 64 bites como determinado por el código de operación.
Instrucciones de Trf-Modai El direccionamiento de Trimodal afecta las instrucciones generales sólo en la manera excepto la cual las direcciones de almacenamiento donde lógicas son manejadas, como sigue.
· La RAMA de instrucciones Y ENLACE, RAMIFIE Y APARTE, RAMIFIE Y GUARDE Y DETERMINE EL MODO, RAMIFIE Y DETERMINE MODO, y RAMA RELATIVA Y GUARDE la información de lugar en posiciones de bitio 32-39 del registro general Rl como en ESA/390 en el de 24 bites o 31 modo de direccionamiento de bit o coloque bitios de dirección en aquellas posiciones de bitio en el modo de direccionamiento de 64 bites. La nueva instrucción RAMIFIA RELATIVA Y APARTA DE LONGITUD hace el mismo.
• La RAMA de instrucciones Y GUARDA Y DETERMINÓ MODO y RAMA Y SE PONE MODO colocan el que en la posición de bitio 63 del registro general J en el modo de direccionamiento de 64 bites, en el de 24 bites o 31 modo de bit, RAMIFIAN Y GUARDAN Y DETERMINAN" ' el bitio de conjuntos de MODO 63 a cero, , y SUJETADOR CH Y SE PONEN EL MODO lo mantiene sin alterar.
»Las ciertas instrucciones mantienen bitios 0-31 de un registro general sin alterar en el de 24 bites o 31 modo de direccionamiento de bit, pero lugar o dirección de actualización o información de longitud en ellos, en el modo de direccionamiento de 64 bites. Éstos se enumeran en la programación observan 1 en la página 7-7 y son a veces llamadas instrucciones modales.
Efectos en Bitios 0-31 de un Registro General: Los bitios 0 - 1 de registros generales se cambian por dos tipos de instrucciones. El primer tipo es una instrucción modal (ver la sección precedente) cuando la instrucción se está ejecutando en el modo de direccionamiento de 64 bites. El segundo tipo es una instrucción que tiene, independiente del modo que se dirige, un operando de resultado de 64 bites en un registro general individual o un operando de resultado de 128 bites en un par de registro general ni siquiera y raro. La mayor parte de las instrucciones del segundo tipo se indican por un" (3, " por si solo o en "GF", m de sus nemónicas. Todas las instrucciones del segundo tipo son a veces referidas como instrucciones "de G-tipo". Si un programa no es ejecutado en el modo de direccionamiento de 64 bites (Modo de GPR grande) y no contiene una instrucción de G-tipo, esto no puede cambiar bitios 0-31 de ningún registro general (Modo de GPR pequeño) . En algunos ambientes, una porción de un programa de aplicaciones informáticas puede estar en Pequeño G PR el modo y otra porción ma y estar en. Modo- de GPR grande. En una modalidad, las ciertas instrucciones pueden ser instrucciones de modo de GPR pequeño y los otros pueden ser el GPR grande, instrucciones de modo, donde el modo de -la computadora es dependiente de si esto formaliza una instrucción de modo de GPR pequeño o una Instrucción de modo de GPR grande.
Respecto a la Figura 4B, la información de instrucción de Rama para ejecutar una instrucción de rama es por lo común enviada a una unidad de rama 308 qué ofte emplea un algoritmo de predicción de rama, como una tabla 432 de historial de rama para pronosticar el resultado de la rama antes de que otras operaciones condicionales sean completas. El objetivo de la instrucción de rama actual se recuperará y especulativamente ejecutado antes de que las operaciones condicionales sean completas. Cuando las operaciones condicionales son completadas las instrucciones de rama especulativamente formalizadas son o completadas o desechadas basadas en las condiciones de la operación condicional y el resultado especulado, Una instrucción de rama común puede códigos de condición de prueba y rama a una dirección con especificidad de objetivo si los códigos de condición cumplen con el requisito de rama de la instrucción de rama, una dirección con especificidad de objetivo puede calcularse basada en varias cantidades que incluyen descubrió en espacios de registro o un espacio inmediato de la instrucción por ejemplo. La unidad de rama 308 puede emplear un ALU 426 que tiene una pluralidad de circuitos de registro de entrada 427428429 y un circuito de registro salida 430. La unidad de rama 308- puede comunicarse con registros generales 309, decodificar la unidad de mensaje 306 u otros circuitos 425 por ejemplo.
La ejecución de un grupo de instrucciones puede ser interrumpida para una variedad de motivos que incluyen un conmutador de contexto iniciado por un sistema operativo, una excepción de programa o error caby usar un conmutador de contexto, una señal de interrupción de entrada-salida caby usar un conmutador de contexto o multiroscar la actividad de una pluralidad de programas (en un ambiente de hilos múltiples) por ejemplo. Preferentemente una acción de conmutador de contexto, guarda la información estatal sobre un programa que formaliza actualmente y luego carga la información estatal sobre otro programa es activada. La información estatal puede almacenarse en registros de hardware o en la memoria por ejemplo. La información estatal preferentemente comprende un valor de contador de programa que señala una siguiente instrucción de estarse ejecutando, condicionar códigos, información de traducción de memoria y contenido de registro diseñado. Una actividad de conmutador de contexto puede ser ejercida por circuitos- de hardware, programas de aplicaciones informáticas, programas de sistema operativo o código de soporte lógico inalterable (microcódigo, pico-codifique o licenció el código interno (LIC) por si solo o combinado.
Un procesador obtiene acceso a operandos según la instrucción métodos definidos. La instrucción puede proporcionar un operando inmediato usando el valor de una porción de la instrucción, puede - uno o más espacios de registro vide pro que explícitamente señalan registros de objetivo generales o registros con fines especiales (registros de punto flotante por ejémplo) . La instrucción puede utilizar registros implicados identificados por un espacio de código de operación como operandos, La instrucción puede utilizar posiciones de memoria para operandos. Una posición de memoria de un operando puede proporcionarse por un registro, un espacio inmediato, o una combinación de registros y espacio inmediato como ejemplificado por la Arquitectura z/larga instalación de desplazamiento donde la instrucción define un registro de Base, un registro de índice y un espacio inmediato (espacio de desplazamiento) que se agregan conjuntamente para proporcionar la dirección del operando en la memoria por ejemplo. La ubicación aquí por lo común no implica una ubicación en la memoria principal (almacenamiento principal) a menos que se indique otra cosa.
Respecto a la Figura 4C, un procesador obtiene acceso al almacenamiento usando una unidad Cargar/almacenar 310. La unidad Cargar/almacenar 310 puede per.fb.rrn una operación de Carga obteniendo la dirección del operando con especificidad de objetivo en la memoria 303 y cargando el operando en un registro 309 u otra memoria 303 ubicación, o puede per.fb.rrn. una operación de Depósito obteniendo la dirección del operando con especificidad de objetivo en la memoria 303 y almacenando datos obtenidos de un registro 309 u otra memoria 303 ubicación en la ubicación de operando con especificidad de objetivo en la memoria 303, La unidad Cargar/almacenar 310 puede ser especulativa y puede obtener acceso a la memoria en una secuencia que está estropeada con relación a la secuencia de instrucción, sin embargo la unidad Cargar/almacenar 310 debe mantener el aspecto a programas que las instrucciones se estuvieron ejecutando en el orden. Una unidad cargar/almacenar 310 puede comunicarse con registros generales 309, decodificar/enviar la unidad 306, interfaz de Cache/Memoria 303 u otros elementos 455 y comprende diversos circuitos de registro, ALUs 458. y lógica de control 463 para calcular direcciones de almacenamiento y proporcionar la secuenciación de tubería para mantener operaciones a fin de. Algunas operaciones pueden estar estropeadas pero la unidad Cargar/almacenar proporciona la funcionalidad para hacer las operaciones estropeadas para aparecer al programa como que tiene llevado a cabo en el orden como es wel 1 conocido en la técnica.
Preferentemente las direcciones que un programa de aplicaciones informáticas, "observan" son comúnmente referidos como direcciones virtuales. Las direcciones virtuales son a veces referidas como "direcciones lógicas" y "direcciones efectivas", Estas direcciones virtuales son virtuales en aquella éstos son desviados a la ubicación de memoria física por una de una variedad de la Traducción de Dirección Dinámica (DAT) 3 12 tecnologías incluyendo, entre otros, simplemente prefijación de una dirección virtual con un valor de desplazamiento, traduciendo la dirección virtual mediante uno o más tablas de traducción, las tablas de traducción preferentemente comprenden al menos una tabla de segmento y una tabla de páginas por si solo o combinada, preferentemente, la tabla de segmento que tiene una entrada que señala la tabla de páginas. En la Arquitectura z/, una jerarquía de traducción se proporciona incluyendo una región primera tabla, una región segunda tabla, una tabla de tercero de región, una tabla de segmento y una tabla de páginas opcional. El desempeño de la traducción de dirección a menudo es mejorado utilizando una Memoria intermedia de Mirada aparte de Traducción (TLB) que comprende entradas que se corresponden de una dirección virtual a una ubicación de memoria física asociada. Las entradas se forman cuando DAT 3 12 traduce una dirección virtual usando las tablas de traducción. El uso subsecuente de la dirección virtual puede utilizar luego la entrada de TLB rápido en vez de la tabla de Traducción secuencial lenta obtiene acceso. El contenido de TLB puede ser manejado por una variedad de algoritmos de reemplazo que incluyen LRU (Lo menos Recientemente usado) .
En el caso donde el Procesador es un procesador de un sistema de multiprocesador, cada procesador tiene la responsabilidad de mantener recursos compartidos, como entrada-salida, caches, TLBs y Memoria trabada para la coherencia. Por lo común "fisgonear" las tecnologías se utilizarán en mantener la coherencia de cache. En un ambiente de fisgón, cada línea de cache puede ser marcada como está en cualquiera de un estado compartido, un exclusi ve estado, un estado cambiado, un estado inválido y lo similar a fin de facilitar compartir.
Las unidades de entrada-salida 304 proveen el procesador del medio para adjuntar a dispositivos periféricos que incluyen Cinta, Disco, Impresoras, Pantallas de visualización, y redes por ejemplo. Las unidades de entrada-salida a menudo son presentadas al programa informático por Controladores de software. En Computadoras centrales, como el z/Series de la IBM, Adaptadores de Canal y Adaptadores de Sistema Abiertos son unidades de entrada-salida de la Computadora central que proporcionan las comunicaciones entre el sistema operativo y dispositivos periféricos .
La descripción que sigue de los Principios de Arquitectura z/de la Operación describe una vista arquitectónica de un sistema informático : ALMACENAMIENTO Un sistema informático incluye la información en almacenamiento principal, asi como direccionamiento, protección, y referencia y cambio registrar. Algunos aspectos del direccionamiento incluyen el formato de direcciones, el concepto de espacios de direcciones, los diversos tipos de direcciones, y la manera donde un tipo de la dirección es traducido a otro tipo de la dirección. Un poco del almacenamiento principal incluye ubicaciones de almacenamiento permanentemente asignadas. El almacenamiento principal proporciona el sistema, con el almacenamiento de acceso rápido directamente direccionable de datos. Tanto los datos como los programas deben cargarse en el almacenamiento principal (de dispositivos de entrada) antes de que éstos puedan procesarse.
El almacenamiento principal puede incluir uno o más más pequeño, búferes de acceso más rápido, a veces llamados caches. Un cache por lo común físicamente se asocia con una unidad central de proceso o un procesador de entrada-salida. Los efectos, excepto en el desempeño, de estructura física y el uso de soportes de almacenamiento distintos no son generalmente observables por el programa.
Separar los caches pueden mantenerse para instrucciones y para operandos de datos. La información dentro de un cache se mantiene en bytes contiguos en un límite integral llamado un bloque de cache o línea de cache (o línea, para el corto) . Un modelo puede proporcionar un EXTRACTO C DOLOR ATRIBUYEN la instrucción que regresa el tamaño de una linea de cache en bytes. Un modelo también puede proporcionar DATOS DE PREBÚSQUEDA Y CARGA DE INSTRUCCIONES y PRETRAER DATOS LARGAS instrucciones RELATIVAS que efectúan pretraer del almacenamiento en los datos o cache de instrucción o la liberación de datos del cache.
El almacenamiento es observado como largo horizonta 1 serie de bitios. Para la mayor parte de operaciones, obtiene acceso al almacenamiento siguen en un de la izquierda a la derecha secuencia. La serie de bitios es subdividida en unidades de ocho bitios. Una unidad de ocho bites se llama un byte, que es el componente básico básico de todos los formatos de información. Cada ubicación de byte en. el almacenamiento se identifica por un número entero no negativo exclusivo, que es la dirección de aquella ubicación de byte o, simplemente, la dirección de byte. Las ubicaciones de byte adyacentes tienen direcciones consecutivas, que comienzan con. 0 a la izquierda y siguiendo en. de la izquierda a la derecha secuencia. Las direcciones son números enteros binarios no firmados y son 24, 3.1, o 64 bitios.
La información se transmite entre el almacenamiento y una unidad central de proceso o un subsistema del canal un byte, o un grupo de bytes, a la vez. A menos que se especifique otra cosa, un grupo de bytes en el almacenamiento es encargado por el byte extremo izquierdo del grupo. La cantidad de bytes en el grupo es o implicada o explícitamente especificada por la operación para llevarse a cabo. Cuando usado en una operación de unidad central de proceso, un grupo de bytes se llama un espacio. Dentro de cada grupo de bytes, los bitios son numerados en una secuencia leii-to-right . Los bitios extremos izquierdos son a veces referidos como el "elevado orden" ' bitios y los bitios de derecha ¦ como los bitios "de bajo orden". Las cantidades de bitio no son direcciones de almacenamiento, sin embargo. Sólo oídos de bytes ser encargado. Para actuar sobre bitios individuales de un byte en el almacenamiento, es necessar para obtener acceso al byte completo. Los bitios en un byte son numerados 0 a través de 7, de la izquierda a la derecha. Los bitios en una dirección pueden ser numerados 8-3.1 o 40-63 para direcciones de 24 bites o 1-31 o 33-63 para 31 direcciones de bit: éstos son numerados 0-63 para direcciones de 64 bites. Dentro de cualquiera otro fijo - el formato de longitud de múltiples bytes, los bitios que constituyen el formato son consecutivamente numerados comenzando desde 0. Con objetivos de la detección de errores, y en preferentemente para la corrección, los uno o más bitios de cheque pueden transmitirse con cada byte o con un grupo de bytes. Tales bitios de cheque se generan ly automático por la máquina y no pueden ser directamente controlados por el programa. Las capacidades de memoria se expresan en la cantidad de bytes. Cuando la longitud de un espacio de operando del almacenamiento es implicada por el código de operación de una instrucción, el espacio es el para tener una longitud fija, que puede ser un, dos, cuatro, ocho, o dieciséis bytes. Los espacios más grandes pueden ser implicados para algunas instrucciones. Cuando la longitud de un espacio de operando del almacenamiento no es implicada, pero es declarada explícitamente, el espacio es el para tener una longitud variable. Los operandos de longitud variable pueden variar de longitud por incrementos de un byte. Cuando la información se coloca en el almacenamiento, el contenido de sólo aquellas ubicaciones de byte es sustituido lo que se incluye en el espacio designado, aunque la anchura del physica 1 paso al almacenamiento pueda ser mayor que la longitud del espacio se almacena .
Las ciertas unidades de la información deben estar en una integral bo undary en el almacenamiento. Un limite se llama la integral para una unidad de información cuando su dirección de almacenamiento es un múltiplo de la longitud de la unidad m de bytes. Los nombres especiales se les proporcionan a espacios de 2, 4, 8, y 16 bytes en un limite integral-. Una mediopalabra es un grupo de dos bytes consecutivos en una dos alineación de bytes y es el componente básico básico de instrucciones. Una palabra es un grupo de cuatro bytes consecutivos en una cuatro alineación de bytes. bleword es un grupo de ocho bytes consecutivos en una ocho alineación de bytes. Un quadword es un grupo de 16 bytes consecutivos en una 16 alineación de bytes. ¡Cuándo las direcciones de almacenamiento designan mediopalabras, palabras, doub ! ewords, y quadwords, la representación binaria de la dirección contiene un, dos, tres, o cuatro bitios cero de derecha. respectivamente. Las instrucciones deben estar en limites integrales de dos bytes. Los operandos de almacenamiento de la - mayor parte de instrucciones no tienen requerimientos de alineación del limite.
En modelos que ponen en práctica caches separados para instrucciones y operandos de datos, un retraso significativo puede ser experimentado si el programa almacena en una linea de cache de cuales instrucciones son traídos posteriormente, sin tener en cuenta si el depósito altera las instrucciones que son traídos posteriormente.
INSTRUCCIONES Por lo común, la operación de la unidad central de proceso se controla por instrucciones en el almacenamiento que se están ejecutando secuencialmente, uno por uno, la izquierda a directamente en una secuencia que sube de direcciones de almacenamiento. Un cambio de la operación secuencial puede ser causado ramifiándose, CARGAR PSW, interrupciones, ordenes de PROCESADOR DE SEÑAL, o intervención manual.
Preferentemente una instrucción comprende dos partes principales : * Un código de operación (código de operación) , que especifica la operación para llevarse a cabo * Opcionalmente, la designación de los operandos tha participa .
Los formatos de instrucción de la Arquitectura zJ se muestran en FIGURAS, 5A-5F. Una instrucción puede simplemente vide pro un Código de operación 501, o un código de operación y una variedad de espacios que incluyen operandos inmediatos o registrar specifiers para ubicar operandos en registros o en la memoria. El Código de operación puede indicar al hardware que implicó recursos (operandos etc.) deben usarse, como uno o más registros de objetivo generales específicos (GPRs) . Los operandos pueden ser agrupados en tres clases: operandos ubicados en registros, operandos inmediatos, y operandos en almacenamiento. Operandos ma ser o explícitamente o implícitamente designado. Registrar los operandos pueden ubicarse en general, punto flotante - acceso, o controlar registros, con el tipo de registro identificado por el código de operación. El registro que contiene el operando es especificado identificando el registro en un espacio de cuatro bites, llamado el espacio de R. , en la instrucción. Para algunas instrucciones, un operando se ubica en un registro implícitamente designado, el registro que es implicado por el código de operación, los operandos inmediatos están contenidos dentro de la instrucción, y el espacio de 8 bites, de 16 bites, o de 32 bites que contiene el operando inmediato se llama el] espacio. Los operandos en el almacenamiento pueden tener una longitud implícita; sea especificado por un bit disimulan; sea especificado por una especificación de longitud de cuatro bites o de ocho bites, llamada el espacio de L, En la instrucción; o hacen especificar una longitud por el contenido de un registro general. Las direcciones de operandos en el almacenamiento son especificadas por medio de un formato que usa el contenido de un registro general dirección ofthe como parte. Esto posibilita a: Especificar una dirección completa usando una notación abreviada, Llevar a cabo la manipulación de dirección usando instrucciones que emplean registros generales para operandos, Modificar direcciones por el medio de programa sin la modificación de la transmisión de instrucción, Actuar independiente de la ubicación de área de datos por directamente usando direcciones recibidas de otros programas.
La dirección usada para referirse al almacenamiento está contenida en un registro designado por el espacio de R en la instrucción o se calcula de una dirección base, índice, y desplazamiento, especificado por el B, X, y espacios de D, respectivamente, en la instrucción. Cuando la unidad central de proceso está en el modo de registro del acceso, un espacio de R o B puede designar un registro de acceso además de utilizarse especifican una dirección. Para describir la ejecución de instrucciones, los operandos son preferentemente designados como primeros y segundos operandos y, en algunos casos, terceros y cuartos operandos. En términos generales, dos operandos participan En una ejecución de instrucción, y el resultado reemplaza el primer operando.
Una instrucción es un, dos, o tres haifwords de longitud y debe ubicarse en el almacenamiento en un limite de mediopalabra. Respecto a Figuras 5A - 5F representación de formatos de instrucción, cada instrucción está en uno de 25 formatos básicos: E 501, ? 502, RI 503504, RJE 505, RIL 506507, RIS 555,- RR 510, RRE 511, RRF 512513514, RRS, RS 516517, RSI 520, RSI, 521, RSY 522523, RX 524, RXE 525, RXF 526, RXY 527, S 530, SI 531, SI L 556, SIY 532, SS 813125529, SSE 541 y SSF 542, con tres variaciones de RRF, dos de RI, RIL, RS, y RSY, cinco de RJ E y SS.
Los nombres de.fb.rm.at Indican, en términos generales, las clases de operandos que, participe en la operación y algunos detalles sobre espacios: 4 RIS denotan un registro y operación inmediata y una operación de almacenamiento.
• RRS denota una operación de registro-y-registro y una operación de almacenamiento.
• SIL denota un "almacenamiento y" operación inmediata, con un espacio inmediato de 16 bites.
En yo, RR, RS, RSI, RX, SI, y los formatos de SS, tlie el primer byte de una instrucción contienen el código de operación tlie. En el E, RRE, RRF, S, SIL, y formatos de SSE, primeros dos bytes de una instrucción contienen el código de operación, salvo que para algunas instrucciones en el formato de S, el código de operación está en sólo el primer byte. En los formatos de RIL y Rl, el código de operación está en las primeras posiciones de bitio y byte 12-15 de una instrucción. En el RIE, RIS, RRS, RSL, RSY, RXE, RXF, RXY, y formatos de SIY, el código de operación está en el primer byte y el sexto byte de una instrucción. Primeros dos bitios del primer o sólo el byte del código de operación especifican la longitud y el formato de la instrucción, como sigue : En el RR. RRE, RRF, RRR, RX, RXE, RXF, RXY, RS, RSY, RSI, RL RIE, y los formatos de RIL, el contenido del registro designado por el espacio de R.l. se llaman el primer operando. El registro que contiene el primer operando es a veces referido como la "primera ubicación de operando," y a veces como "registro Rl". En el RR, RRE, RRF y formatos de RRR, el espacio de R2 designa el registro que contiene el segundo operando, y el espacio de R2 puede designar el mismo registro que Rl . En el RRF, RXF, RS, RSYc, RSI, y formatos de RIE, el uso del espacio de R3 depende de la instrucción. En el RS y formatos de RSY, el espacio de R3 puede ser en cambio un espacio de M3 especificación de una máscara. El R fieid designa un registro general o registro de acceso en las instrucciones generales, un registro general en las instrucciones de control, y un registro de punto flotante o un registro general en las instrucciones de punto flotante. Para registros generales y de control, el operando de registro es yo posiciones de bitio 32-63 del registro de 64 bites u ocupa el registro completo, según la instrucción.
En el formato de yo, el contenido del inmediato de ocho bites - campo de datos, yo espacio de la instrucción, son directamente usados como el operando. En el formato de SI, el contenido del inmediato de ocho bites - campo de datos, el 12 espacio de la instrucción, se usan directamente como el segundo operando. El Bl y D 1 espacios especifican el primer operando, que es un byte de longitud. En el formato de SIY, la operación es el mismo salvo que DH.l y los espacios de DEI se usan en vez de DI fieid. En el formato de Rl para las instrucciones AÑADEN BALF ORD INMEDIATO, SE COMPARAN BALFWORD INMEDIATO, CARGAN LA MITAD WOR D INMEDIATO, y SE MULTIPLICAN BALFWORD INMEDIATO, el contenido del 12 espacio de 16 bites de la instrucción se usa directamente como un número entero binario firmado, y el espacio de Rl especifica el primer operando, que es 32 o 64 bitios de longitud, según la instrucción. Ya que la instrucción ANALIZA BAJO. DISIMULAR (TMHB, TMHL, TMLH, TMLL) , el contenido del 12 espacio se usa como una máscara, y Rl . el espacio especifica el primer operando, que es 64 bitios de longitud.
Para el ENCARTE de instrucciones INMEDIATO, E INMEDIATO, O IMM EDIATE, y CARGAN LÓGICO INMEDIATO, el contenido del 12 espacio se usa como un número entero binario no firmado o un valor lógico, y el espacio de Rl especifica el primer operando, que es 64 bitios de longitud. Para la rama relativa iiistrtsctions en los formatos de RSI y Rl, el contenido del 12 espacio de 16 bites se usa como un número entero binario firmado que designa varias mediopalabras. Esta cantidad, cuando adicionado a la dirección de la instrucción de rama, especifica la dirección de rama. Para instrucciones de rama relativa en el formato de RIL, el 12 espacio es 32 bitios y se usa en. el mismo modo.
Para el relativo - instrucciones de rama en los formatos de RSI y Rl, el contenido del 12 espacio de 16 bites se usa como un número entero binario firmado que designa varias mediopalabras. Esta cantidad, cuando adicionado a la dirección de la instrucción branc, especifica la dirección branc. Para instrucciones de rama relativa en el formato de RIL, el 12 espacio es 32 bitios y se usa del mismo modo. Ya que las instrucciones RJE-formai SE COMPARAN INMEDIATO Y RAMA RELATIVA y SE COMPARAN LÓGICO INMEDIATO Y SUJETADOR CH RELATIVO, el contenido del 12 espacio de 8 bites se usa directamente como el segundo operando. Para el RJE-formato las instrucciones SE COMPARAN REGULO Y RAMIFIO, COMPARO IM MEDIATO Y TRAMPA, ME COMPARO, LÓGICO. INMEDIATO Y RAMA, y SE COMPARAN, LÓGICO. Yo MMEDIATE UNA TRAMPA de D, el contenido de 16-bitios 12 espacio se usan directamente como el segundo operando. Para el RIE-fomiat lustra los ctions SE COMPARAN Y RAMIFIAN RELATIVOS, SE COMPARAN INMEDIATO Y RAMA RELATIVA, SE COMPARAN LÓGICO Y RAMA RELATIVA, y SE COMPARAN LÓGICO INMEDIATO Y RAMA RELATIVA, el contenido del 14 espacio de 16 bites se usa como un número entero binario firmado que designa varias mediopalabras que se agregan a la dirección de la instrucción de formar la dirección de rama.
Para el RIL-formato las instrucciones ADICIONAN I MEDLATE, ADICIONAN IMMEDLATE lógico, AÑADEN LÓGICO CON IM firmado MEDIATO, COMPARAN yo MM EDIATE, SE COMPARAN LÓGICO INMEDIATO, CARGAN INMEDIATO, y SE MULTIPLICAN- INDIVIDUAL INMEDIATO, ihe el contenido del 12 espacio de 32 bites se usan directamente como el segundo operando. o las instrucciones de RIS-formato, el contenido de 8-bitios 12 espacio se usan directamente como el segundo operando. En el formato de SIL, el contenido del 12 espacio de 16 bites se usa directamente como el segundo operando. Los espacios de DI y Bl especifican el primer operando, como se describe a continuación.
En el RSL, Si, SIL, SSE, y la mayor parte de formatos de SS, el contenido del registro general designado por el espacio de Bl se agrega al contenido del espacio de DI para formar el primer - dirección de operando. En el RS, RSY, S, SIY, SS, y formatos de SSE, el contenido del registro general designado por el espacio de B2 se agrega al contenido del espacio de D2 o DH2 y espacios de DL2 para formar la dirección de segundo operando. En el RX, RXE, RXF, y formatos de RXY, el contenido de los registros generales designados por los espacios de B2 y X2 se agrega al contenido del espacio de D2 o DH2 y espacios de DL2 para formar la dirección de segundo operando. En el RIS y formatos de RRS, y en un formato de SS, el contenido del registro general designado por el espacio de B4 se agrega al contenido del espacio de D4 para formar la dirección de cuarto operando.
En el formato de SS con un espacio de longitud individual, de ocho bites, para las instrucciones Y (C) , EXCLUSIVO 0 (XC) , MOVIMIENTO (MVCj , MUEVA NUMERICS, MUEVA ZONAS, y 0 (0€), el L especifica la cantidad de bytes de operando adicionales a la derecha del byte designado por la dirección de primer operando. Por lo tanto, la longitud en bytes del primer operando es 1-256, correspondiente a un código de longitud en L de 0-255. Los resultados de almacenamiento reemplazan el primer operando y nunca son almacenados fuera del espacio especificado por la dirección y longitud. En este formato, el segundo operando tiene la misma longitud que el primer operando. Hay variaciones de la definición precedente que aplican para EDITAR, EDITAR Y MARCA, ENVASAR el ASCII, ENVASAR UNICODE, TRADUCIR, TRADUCIR Y ANALIZAR, DESEMPAQUETAR el ASCII, y DESEMPAQUETAR. UNICODE.
En el formato de SS con dos espacios de longitud, y en el formato de RSL, LI especifica la cantidad de bytes de operando adicionales a la derecha del byte designado por el primer -dirección de operando. Por lo tanto, la longitud en bytes del primer operando es 1 - 16, correspondiente a un código de longitud en LI de 0-15. De forma similar, L2 especifica que la cantidad de bytes de operando adicionales a la derecha de la ubicación designada por los Resultados de dirección de segundo operando reemplaza el primer operando y nunca es almacenada fuera del espacio especificado por la dirección y longitud, si el primer operando es más largo que el segundo, el segundo operando se extiende a la izquierda con ceros hasta la longitud del operando ftrst. Esta extensión no modifica el segundo operando en el almacenamiento. En el formato de SS con dos espacios de R, usados como por el MOVIMIENTO AL PRIMARIO, MOVIMIENTO AL SECUNDARIO, y SE MUEVEN CON instrucciones CLAVES, el contenido del registro general especificado por el espacio de Rl. es un valor no firmado de 32 bites llamado la longitud verdadera. Los operandos son ambos de una longitud, llamada la longitud efectiva. La longitud efectiva es igual a la longitud verdadera o 256, cualquiera es menos. El conjunto de instrucciones el código de condición para facilitar programar un bucle para mover la cantidad total de bytes especificados por la longitud verdadera. El formato de SS con dos espacios de R se usa también a un intervalo de registros y dos operandos de almacenamiento para la CARGA MU los LTIPLE DESCONECTAN la instrucción y especificar unos o dos registros y unos o dos operandos de almacenamiento para LLEVAR A CABO: instrucción de OPERACIÓN ASEGURADA.
Un cero en cualquier de Bl, B2, X2, o espacios de B4 indica la ausencia del componente de dirección correspondiente. Para el componente ausente, un cero se usa informando la suma intermedia, sin tener en cuenta el contenido del registro general 0, Un cemento displa del cero no tiene ninguna significancia especial.
Los bitios 1 y 32 de PSW actuales son el direccionamiento - bitios de modo. El bitio 31 es el bitio de modo extendido que encarga, y el bitio 32 es el bitio basic-addressiiig-mode . Estos bitios controlan el tamaño de la dirección efectiva producida por la generación de dirección. Cuando los bitios 3.1 y 32 de PSW actuales tanto son ceros, la unidad central de proceso está en el modo de direccionamiento de 24 bites, como 2 instrucción de bit y operando las direcciones efectivas se generan. Cuando el bitio 1 de PSW actuales es el cero y el bitio 32 es un, la unidad cent-ral de proceso está en el modo de direccionamiento de 31 bites, y 31 instrucción de bit y operando las direcciones efectivas se generan. Cuando los bitios 31 y 32 de PSW actuales son tanto un, la unidad central de proceso está en el modo de direccionamiento de 64 bites, como instrucción de 64 bites y operando las direcciones efectivas se generan. La ejecución de instrucciones por la unidad central de proceso implica la generación de las direcciones de instrucciones y operandos.
Cuando una instrucción se recupera de, la ubicación designada por PSW actual, la dirección de instrucción se aumenta por la cantidad de bytes en la instrucción, y la instrucción se está ejecutando. Las mismas etapas son repetidas luego usando el nuevo valor dé la dirección de instrucción para traer la siguiente instrucción en la secuencia. En el modo de direccionamiento de 24 bites, el abrigo de direcciones de instrucción alrededor, con el haifword en la dirección de instrucción 2 "-2 se examina con más detalle por el haifword en la dirección de instrucción 0. Asi, en el modo de direccionamiento de 24 bites, cualquiera transporta de la posición de bitio PSW 104, a consecuencia de la actualización de la dirección de instrucción, se pierde. En el 31 modo de direccionamiento de bit o de 64 bites, las direcciones de instrucción de manera similar se abrigan alrededor, con el haifword en la dirección de instrucción 2J: - 2 o 264 - 2, respectivamente, seguido del haifword en dirección de instrucción 0. Un cany de la posición de bitio PSW 97 o 64, respectivamente, se pierde.
Un. la dirección de operando que ' se refiere al almacenamiento se deriva de un valor intermedio, que está contenido en un registro designado por un espacio de R en la instrucción o se calcula de la suma de tres números binarios: dirección base, índice, y desplazamiento. La dirección base (B) es una cantidad de 64 bites contenida en un registro general especificado por el programa en un espacio de cuatro bitios, llamado el espacio de B, en la instrucción. Las direcciones bases pueden usarse como un medio de indistintamente encargarse a cada programa, y área de datos. En cálculos de tipo de matriz, esto puede designar la ubicación de una matriz, y, en el procesamiento de tipo de registro, esto puede identificar el registro. La dirección base proporciona el direccionamiento al almacenamiento completo. La dirección base también puede usarse para la indexación .
El índice (X) es una cantidad de 64 bites contenida en un registro general designado por el programa en un cuatro espacio de bit, llamado el X espacio, en la instrucción. Esto sólo se incluye en la dirección especificada por el RX ~, RXE-, y RX'V - instrucciones de formato. El RX-, K L-, RXF-, y RXY-formatean el permiso de instrucciones doble indexación;- es decir el índice poderse usar para proporcionar la dirección de un elemento, dentro de una matriz.
•El desplazamiento (D) es un de 12 bites o de 20 bites. cantidad contenida en un espacio, llamado el espacio de D, en la instrucción. Un desplazamiento de 12 bites es no firmado y proporciona el direccionamiento relativo de hasta 4095 bytes más allá de la ubicación designada por la dirección base. Un desplazamiento de 20 bites es firmado y no proporciona el direccionamiento relativo de hasta 524 287 bytes más allá de la ubicación de dirección base o de hasta 524288 bytes antes de ello. En cálculos de tipo de la matriz, el desplazamiento poderse usar para especificar uno de muchos artículos asociados con un elemento. En el procesamiento de archivos, el desplazamiento poderse usar para identificar artículos dentro de un registro, Un desplazamiento de 12 bites está en posiciones de bitio 20-31 de instrucciones de ciertos formatos. En instrucciones de algunos formatos, un segundo desplazamiento de 12 bites también está en la instrucción, en posiciones de bitio 36-47.
Un desplazamiento de 20 bites está en instrucciones de sólo el RSY, RXY, o formato de SIY, en éstos instrucciones, el espacio de D comprende un DL (bajo) paran y devuelven la pelota en posiciones de bitio 20-31 y de un DH (elevado) espacio en posiciones de bitio 32-39. Cuando la instalación de largo desplazamiento se instala, el valor numérico del desplazamiento se forma añadiendo el contenido del espacio de DH en la izquierda del contenido del espacio de DL. Cuando largo-d isp í acemen t instalación no es instalado, el valor numérico del desplazamiento se forma añadiendo ocho bitios cero en la izquierda del contenido del espacio de DL, y el contenido del espacio de DH no es ignorado.
En la formación de la suma intermedia, la dirección base y el índice se someten a tratamiento como 6 números enteros binarios de bit. Un desplazamiento de 12 bites se somete a tratamiento como un número entero binario no firmado de 12 bites, y 52 bitios cero son añadidos a la izquierda. Un desplazamiento de 20 bites se somete a tratamiento como un número entero binario firmado de 20 bites, y 44 bitios iguales al bitio de signo son añadidos a la izquierda. Los tres se agregan como números binarios de 64 bites, no haciendo caso del desbordamiento. La suma siempre es 64 bitios de largo y se usa como un valor intermedio para formar la dirección generada. Los bitios del valor intermedio son numerados 0-63. Un cero en cualquier de los B 1, B2, X2, o espacios de B4 indica la ausencia del corres onding componente de dirección. Para el componente ausente, un cero se usa en la formación de la suma intermedia, sin tener en cuenta el contenido del registro general 0. Un desplazamiento de cero no tiene ninguna significancia especial.
Cuando una descripción de instrucción especifica que el contenido de un registro general designado por un espacio de R se utiliza la dirección un operando en el almacenamiento, el contenido de .registro se usa como el valor intermedio de 64 bites.
Una instrucción puede designar el mismo registro general tanto para el cálculo de dirección como como la ubicación de un operando. El cálculo de dirección es completado antes de que los registros, si alguno, se cambien por la operación. Al menos que se indique otra cosa en una definición de instrucción individual, la dirección de operando generada designa el byte extremo izquierdo de un operando en el almacenamiento.
La dirección de operando generada siempre es 64 bitios de largo, y los bitios son numerados 0-63. La manera donde la dirección generada se obtiene del valor intermedio depende del modo de direccionamiento actual. En el modo de direccionamiento de 24 bites, bitios 0-39 del valor intermedio no son ignorados, bitios 0-39 de la dirección generada son obligadas a ser ceros, y bitios 40-63 del valor intermedio beeome bitios 40-63 de la dirección generada. En el 31 modo de direccionamiento de bit, bitios 0-32 del valor intermedió no son ignorados, bitios 0-32 de la dirección generada son obligadas a ser cero, y bitios 33-63 de yo el valor de termediate se convierte bitios 33-63 de la dirección generada. Yo el modo de direccionamiento de 64 bites, bitios 0-63 del valor intermedio se convierten bitios 0-63 de la dirección generada. Los valores negativos se pueden usar en registros de dirección base e índice. Los bitios 0-32 de estos valores no son ignorados en el 31 modo de direccionamiento de bit, y bitios 0-39 no son ignorados en el modo de direccionamiento de 24 bites.
Para instrucciones de rama, la dirección de la siguiente instrucción de estarse ejecutando cuando la rama se obtiene se llama la dirección de rama. Según la instrucción de rama, el formato.de instrucción puede ser RR, REE, RX, RXY. RS. RSY, kSL RI, RJE, o R L. En el RS, RSY, RX, y formatos de RXY, la dirección de rama es especificada por una dirección base, un desplazamiento, y, en el RX y formatos de RXY*, un índice. En estos formatos, la generación del valor intermedio sigue los mismos reglamentos en cuanto a la generación del valor de producto intermedio de dirección del operando. En el RR y R. E formatos, el contenido del registro general designado por el espacio de R.2 se usa como el valor intermedio del cual la dirección de rama se forma. El registro general 0 no puede ser designado como conteniendo una dirección de rama, Un valor del cero en el R2. el espacio causa la instrucción de estarse ejecutando sin ramifiarse.
Las instrucciones de rama relativa están en el RSI, RI, RIE, y RI L. formatos. En el RSI, RI, y formatos de RIE para las instrucciones de rama relativa, el contenido del 12 espacio se somete a tratamiento como un número entero binario firmado de 16 bites que designa vario haifwords. En el RIL, formatee, el contenido del 2 espacio se somete a tratamiento como un número entero binario firmado de 32 bites que designa vario haifwords. La dirección de rama es la cantidad de haifwords designado por el 12 espacio adicionado a la dirección del relativo - instrucción de rama .
El valor intermedio de 64 bites para una instrucción de rama relativa en el RSI, RI,- RIE, o formato de RJ es la suma de dos sumandos, con el desbordamiento de la posición de bitio 0 ignorado. En el RSL RI, o RIF. forrruu. el primer sumando está el conten ts del 12 espacio con un bitio cero añadido a la derecha y 47 bitios iguales al bitio de signo del contenido añadido a la izquierda, salvo que para SE COMPARAN Y RAMIFIAN RELATIVOS, COMPÁRESE INMEDIATO Y RAMA RELATI VE, CO PA L LOGICA L Y RAMA RELATIVA] y COMPÁRESE LÓGICO INMEDIATO Y RAMA RELATIVA, el primer sumando es el contenido del 14 espacio, con bitios añadidos como se describe anteriormente para la 12 identificación fie. En el formato de RLE, el primer sumando está el contenido del 12 espacio con un bitio cero añadido a la derecha y 31 bitios iguales al bitio de signo del contenido o añadido la izquierda. En todos los formatos, el segundo sumando es la dirección de 64 bites de la instrucción de rama. La dirección de la instrucción de rama es la dirección de instrucción en el PS antes de que aquella dirección sea actualizada para encargarse a la siguiente instrucción secuencial, o es la dirección del objetivo de la instrucción EJECUTAR si FORMALIZAN se usa. Si FORMALIZAN se usa en el modo de direccionamiento de 24 bites o de 31 bites, la dirección de la instrucción de rama está la dirección con especificidad de objetivo con 40 o 33 ceros, respectivamente, añadido a la izquierda.
La dirección de rama siempre es 64 bitios de largo, con los bitios numerados 0-63. La dirección de rama reemplaza bitios 64— í 27 de PSW actuales. La manera donde la dirección de rama se obtiene del valor intermedio depende del modo que se dirige. Ya que aquellos ramifian instrucciones que cambian el modo que se dirige, el nuevo modo de direccionamiento se usa. En el modo de direccionamiento de 24 bites, bitios 0-39 del valor Intermedio no son ignorados, bitios 0-39 de la dirección de rama se hacen ceros, y bitios 40-63 del valor intermedio se convierten bitios 40-63 de la dirección de rama. En el 31 modo de direccionamiento de bit, bitios 0-32 del valor intermedio no son ignorados, bitios 0-32 de la dirección de rama se hacen ceros, y bitios 33-63 del valor intermedio se convierten bitios 33-63 de la dirección de rama. En el modo de direccionamiento de 64 bites, bitios 0-63 del valor intermedio se convierten bitios 0-63 de los branc h dirección.
Para varias instrucciones de rama, ramifiarse depende de la satisfacción de una condición especificada. Cuando la condición no está satisfecha, la rama no es considerada, la ejecución de instrucción secuencial normal sigue, y la dirección de rama no es usada. Cuando una rama es tak en, bitios 0-63 de la dirección de rama reemplazan bitios 64-127 de PSW actuales. La dirección de rama no es usada para el almacenamiento de acceso como parte de la operación de rama. Una excepción de especificación debido a. una dirección de rama rara y excepciones de acceso debido a traer de la instrucción en la ubicación de rama no es reconocida como parte de la operación de rama, pero en cambio es reconocida como excepciones asociadas con la ejecución de la instrucción en la ubicación de rama.
Una instrucción de rama, como la RAMA Y APARTA, puede designar el mismo registro general para el cálculo de dirección de rama y como la ubicación de un operando. El cálculo de dirección de la rama es completado antes de que el resto de la operación se lleve a cabo.
La. palabra de estado del programa (PSW), descrito en. El capitulo 4 "Control" contiene la información requerida para la ejecución de programa apropiada. El PSW se utiliza la secuenciación de instrucción de control y mantener e indicar que el estado de la unidad central de proceso con relación al programa actualmente se está ejecutando. 'Vaya PSW activo o que controla se llama PSW actual. Ramifiar las instrucciones llevan a cabo las funciones de toma de decisiones, control de bucle, y enlace de subrutina. Una instrucción de rama afecta la secuenciación de instrucción al introducirse una nueva dirección de instrucción en PSW actual. Las instrucciones de rama relativa con un 12 espacio de 16 bites permiten ramifiarse a una ubicación en un desplazamiento de hasta más 64 - 2 bytes o- menos 64 bytes con relación a la ubicación de la instrucción de rama, sin el uso de un registro de base. Las instrucciones de rama relativa con un 12 espacio de 32 bites permiten ramifiarse a una ubicación en un desplazamiento de hasta más 4G - 2 bytes o menos 4G bytes con relación a la ubicación de la instrucción de rama, sin el uso de un registro de base.
Las instalaciones para la toma de decisiones se proporcionan por la RAMA EN. LA CONDICIÓN, RAMIFIE RELATIVO EN CONDICIÓN, y RAMA RELATIVA EN LA CONDICIÓN LARGAS instrucciones. Éstos las instrucciones inspeccionan un código de condición que refleja el resultado de una mayoría de la aritmética, lógica, y operaciones I/O. El código de condición, que comprende dos bitios, proporciona cuatro posibles configuraciones de código de la condición: 0, 1, 2, y 3.
El significado especifico de cualquier configuración depende de la operación que determina el código de condición. Por ejemplo, el código de condición refleja tal, condiciones ya que el cero, operando distinto a cero, primero elevado, igual, se desborda, y subcanal ocupado. Una vez conjunto, el código de condición permanece sin alterar hasta modificado, por una instrucción que hace que un diferente código de condición se configure .
El control de bucle puede llevarse a cabo por el uso de RAMA EN LA CONDICIÓN, RAMIFIE RELATIVO EN CONDICIÓN, y RAMA RELATIVA EN LA CONDICIÓN DE LONGITUD para analizar el resultado de la aritmética de dirección y contar operaciones. Para algunas combinaciones particularmente frecuentes de aritmética y ¦pruebas, RAMIFIE EN EL CONDE, RAMIFIE EN EL ÍNDICE ELEVADO, una RAMA de d EN EL ÍNDICE BAJO O IGUAL se proporcionan, y equivalentes de rama relativa de éstos las instrucciones se proporcionan también. Estas ramas/ son especializadas, proporcionan el desempeño aumentado a estas tareas.
El enlace de subrutina cuando un cambio del modo que se dirige no requiere se proporciona por la RAMA Y LIN y RAMA Y GUARDE instrucciones, (Esta discusión de la RAMA Y APARTE también aplica para RAMIFIAR RELATIVO Y APARTAR y RAMIFIAR RELATIVO Y APARTAR DE LONGITUD. ) Ambos de éstos permiso de Instrucciones no sólo la Introducción de una. nueva dirección de instrucción pero también la conservación de una dirección de vuelta e información asociada. La dirección de vuelta es la dirección de la instrucción siguiente la instrucción de rama en el almacenamiento, salvo que es la dirección de la instrucción siguiente una instrucción EJECUTAR que tiene la instrucción de rama como su objetivo.
Amba RAMA Y ENLACE y RAMA Y APARTAN tienen un III espacio. Éstos forman una dirección de almuerzo por medio de espacios que dependen de la instrucción. Las operaciones de las instrucciones se resumen como sigue: 4 En el 2 modo de direccionamiento de bit, tanto las instrucciones colocan la dirección de vuelta en posiciones de ¦ bitio 40-63 del registro general Rl como bitios de permiso 0-31 de aquel registro sin alterar. RAMIFIAR Y LIGAR sitios el código de longitud de la instrucción para la instrucción y también el código de condición y programar la máscara de PSW actual en posiciones de bitio 32-39 del registro general RAMA de Rl Y GUARDAR ceros de sitios en aquellas posiciones de bitio.
• En el modo de direccionamiento de 31 bites, tanto las instrucciones colocan la dirección de vuelta en posiciones de bitio 33-63 como el que en la posición de bitio 32 del registro general R 1, y estos bitios de permiso 0-31 del registro sin alterar.
• En el modo de direccionamiento de 64 bites, ambo lugar de instrucciones la dirección de vuelta en posiciones de bitio 0-63 de registro general Rl .
· En cualquier modo de direccionamiento, ambas instrucciones generan la dirección de rama bajo el control del modo de direccionamiento actual. Los bitios de lugar de Instrucciones 0-63 de la dirección de rama en bitio posiciones 64-127 de los PSW. En el formato de RR, ambas instrucciones no llevan a cabo ramifiarse si el 1 2 espacio de la instrucción es el cero.
Esto puede observarse que, en el de 24 bites o 3.1 modo de direccionamiento de bit, RAMA Y GUARDAN sitios el direccionamiento básico - bitio de modo, bitio 32 de los PSW, en la posición de bitio 32 de ge eral registran Rl.
RAMIFIAR Y EL ENLACE hace asi en el 1 modo de direccionamiento de bit. Las instrucciones BRANC H Y GUARDAN Y DETERMINARON MODO y RAMA Y SE PONEN MODO son para el uso cuando se requiere un cambio del modo que se dirige durante el enlace. Éstos instrucciones tienen R 1 y espacios de R2. Las operaciones de las instrucciones se resumen como sigue: * RAMIFIAN Y APARTAN Y SE PONEN EL MODO determina el contenido del registro general Rl RAMA igual que Y APARTAR. Además, la instrucción coloca el bitio "modo de direccionamiento extendido", bitio 31 de los PSW, en la posición de bitio 63 del registro .
»RAMI FIE Y DETERMINE EL MODO, si Rl es distinto a cero, lleva a cabo como sigue. En el 24-o 31 modo de bit, esto coloca el bitio 32 de los PSW en la posición de bitio 32 del registro general Rl, y esto mantiene bitios 0-31 y 33-63 del registro sin alterar. Observar que el bitio 63 del registro deberían ser el cero si el registro contiene una dirección de instrucción. En el modo de 64 bites, la instrucción coloca el bitio 31 de los PSW (un) en la posición de bitio 63 del registro general RL y esto mantiene bitios 0-62 del registro sin alterar.
* Cuando R2 es distinto a cero, tanto conjunto de instrucciones el modo que se dirige como lleva a cabo ramifiarse como sigue. El bitio 63 del registro general R2 se coloca en la posición de bitio 31 de los PSW. Si el bitio 63 es el cero, bitio 32 del registro se colocan en la posición de bitio 32 de los PSW.
Si el bitio 63 es un, el bitio de PS 32 se configura a uno. Luego la dirección de rama se genera del contenido del registro, excepto con el bitio 63 del registro sometido a tratamiento como un cero, bajo el control del nuevo modo de direccionamiento . Los bitios de lugar de instrucciones 0-63 de la dirección de rama en posiciones de bitio 64-127 de los PSW. El bitio 63 del registro general R2 permanece sin alterar y, por lo tanto, puede ser el que mediante entrada en el llamado programa. Si R2 es Rl igual que, los resultados en el registro general designado son como se especifica para el R 1 registro.
¡INTERRUMPIR! EN S (EXT. DE CONT S WITC H) ¡El mecanismo de interrupción permite a la unidad central de proceso cambiar su estado a consecuencia de condiciones externa ! a la configuración, dentro de la configuración, o dentro de la unidad central de proceso si mismo. Para permitir respuesta rápida a condiciones de la alta prioridad y el reconocimiento inmediato del tipo de condición, mterniption condiciones son agrupados en seis clases: externo introdujo/salida, cheque de máquina, programan, se reactivan, y llamada de supervisor.
Una interrupción comprende en almacenar PSW actual como PSW anterior, almacenar identificar de información la causa de la interrupción, y traer nuevo PSW. El procesamiento continúa como se especifica por nuevo PSW. PSW anterior almacenado en una interrupción normalmente contiene la dirección de la instrucción que se habría estado ejecutando después tienen la interrupción no ocurrió, asi permitiendo la reanudación del programa interrumpido. Para programa e interrupciones de llamada del supervisor, la información almacenada también contiene un código que identifica la longitud de la instrucción formalizada del modo último, asi permitiendo el progris responder a la causa de la interrupción, en caso de algunas condiciones- de programa para las cuales respuesta normal es la nueva ejecución de la instrucción caby usar la interrupción, la dirección de instrucción directamente identifica la instrucción última ejecutado.
Excepto el reinicio, una interrupción sólo puede ocurrir cuando la unidad central de proceso está en el estado de funcionamiento. La interrupción de reinicio puede ocurrir con la unidad central de proceso en el detenido o en estado de funcionamiento .
Cualquier excepción de acceso es reconocida como parte de la ejecución de la instrucción con la cual la excepción se asocia. Una excepción de acceso no es reconocida cuando la unidad central de proceso intenta pretraer de una ubicación no disponible o detecta un poco de otra condición de excepción del acceso, pero una instrucción de rama o una interrupción cambian la secuencia de instrucción tal que la instrucción no es formalizada. Cada instrucción puede hacer que una excepción de acceso sea reconocida debido a la búsqueda y carga de instrucciones de instrucción. Además, las excepciones de acceso asociadas con el ex-ECU de instrucción tion pueden ocurrir debido a un acceso a un operando en el almacenamiento. Una excepción de acceso debido ¦a traer una instrucción se indica cuando la primera mediopalabra de instrucción no puede recuperarse sin encontrar la excepción. Cuando la primera mediopalabra de la instrucción- no tiene ningunas excepciones de acceso, las excepciones de acceso pueden indicarse para mediopalabras adicionales según la longitud de instrucción especificada en primeros dos bitios de la instrucción; sin embargo, cuando la operación puede llevarse a cabo sin obtener acceso a las segundas o terceras mediopalabras de la instrucción, es imprevisible si la excepción de acceso se indica para la parte no usada.
Ya que la indicación de excepciones de acceso para la búsqueda y carga de instrucciones de instrucción es común para todas las instrucciones, no es recubierto en las definiciones de instrucción individuales.
Excepto donde se indique otra cosa en la descripción de instrucción individual, los reglamentos que siguen solicitan excepciones asociadas con un acceso a una ubicación de operando. Para un operando de tipo de la búsqueda y carga de instrucciones, las excepciones de acceso sólo son necesariamente indicadas para aquella porción del operando que se requiere para completar la operación, es imprevisible si las excepciones de acceso se indican para aquellas porciones de un operando de tipo de la búsqueda y carga de instrucciones que no requieren para completar la operación.
Para un depósito - operando de tipo, las excepciones de acceso son reconocidas por el operando completo aun si la operación pudiera ser completada sin el uso de la parte inaccesible del operando. En la situación s donde el valor de un operando de almacenar-tipo es el editor de aleta de para ser imprevisible, es imprevisible si una excepción de acceso se indica. Siempre que un acceso a una ubicación de operando pueda hacer que una excepción de acceso sea reconocida, la palabra "acceso" se incluye en la lista de excepciones de programa en la descripción de la instrucción. Esta entrada también indica qué operando puede hacer que la excepción sea reconocida y si la excepción es reconocida en una búsqueda y carga de inst ucciones o almacene el acceso a aquella ubicación de operando. Las excepciones de acceso sólo son reconocidas por la porción del operando como definido para cada instrucción particular.
Una excepción de operación es reconocida cuando la unidad central de proceso intenta ejecutar una instrucción con- un código de operación inválido. El código de operación puede ser no asignado, o la instrucción con aquel código de operación no puede instalarse en la unidad central de proceso. La operación es suprimida. El código de longitud de la instrucción es 1, 2, o 3. La excepción de operación se indica por un código de interrupción de programa de 0001 maleficio (o 0081 maleficio si un concurrente POR episodio se indica) .
Algunos modelos pueden ofrecer instrucciones no descritas en esta publicación, como los proporcionados asiste o como parte de aspectos especiales o a la medida. Por consiguiente, los códigos de operación no descritos en t son la publicación no necesariamente hacen que una excepción de operación sea reconocida. Más aún, éstos las instrucciones pueden hacer que modos de operación se configuren o pueden alterar otra cosa el espinazo ma para afectar la ejecución de instrucciones subsecuentes. Para evitar caby usar tal operación, una instrucción con un código de operación no descrito en esta publicación sólo debería estarse ejecutando cuando la función específica asociada con el código de operación se desea.
Una excepción de especificación es reconocida cuando cualquier de lo siguiente es verdadero: 1. El que se introduce en una posición de bitio no asignada del PSW (es decir cualquiera de posiciones de bitio 0, 2-4, 24-30, o 33-63) . Esto es manejado como un temprano excepción de especificación de PSW. 2. El que se introduce en la posición de bitio 12 de los PSW. Esto es manejado como un temprano excepción de especificación de PSW. 3. El PSW es inválido de cualquier de los modos que siguen: a. El bitio que 3.1 de los PSW son un y bitio 32 es el cero, b. Los bitios 31 y 32 de los PSW son el cero, indicando el modo de direccionamiento de 24 bites, y bitios 64-103 de los PSW no son todos los ceros, e. El bitio 31 de los PSW son el cero y el bitio 32 es un, indicando el 31 modo de direccionamiento de bit, y bitios 64-96 de los PS no son todos los ceros. Esto es manejado como un temprano excepción de especificación de PSW. 4. El PSW contiene una dirección de instrucción rara. 5. Una dirección de operando no designa un limite integral en una instrucción que requiere tal designación de limite integral. 6. Un registro general impar es designado por un espacio R de una instrucción que requiere una designación de registro incluso numerada. 7. Un registro de punto flotante además de 0, 1, 4, 5, 8, 9, 12, o 13 es designado para un operando extendido. 8. El multiplicador o el divisor en la aritmética decimal exceden 15 dígitos y firmar. .9. La longitud del espacio de primer operando es menor que o igual a la longitud del espacio de segundo operando en multiplicación decimal o división. 10. Ejecución de MENSAJE DE CIFRA, MENSAJE DE CIFRA CON ENCADENAMIENTO, COM PUTE RESUMEN DE MENSAJE INTERMEDIO, CALCULE EL RESUMEN DE MENSAJE DEL ESTE, o COMPUTE EL CÓDIGO DE AUTENTICACIÓN DE MENSAJE es intentado, y el código de función en bitios 57-63 del registro general 0 contienen un código de función no asignado o no instalado. 11. La ejecución de MENSAJE DE CIFRA o MENSAJE DE CIFRA CON EL ENCADENAMIENTO es intentada, y el R 1 o el espacio de R2 designan un registro impar o registro general 0. 12. Ejecución de MENSAJE DE CIFRA, MENSAJE DE CIFRA CON ENCADENAMIENTO, ' CALCULAR RESUMEN DE MENSAJE INTERMEDIO o CALCULAR MENSAJE EL CÓDIGO DE AUTENTICACIÓN es intentado, y la segunda longitud de operando no es un múltiplo del tamaño de bloque de datos de la función designada. Esta condición de excepción de la especificación no aplica a las funciones de pregunta. 13. ¡La ejecución de SE COMPARA Y FORMA LA PALABRA EN CLAVE es intentada, y géneros! los registros 1, 2, y 3 no contienen inicialmente valores ni siquiera. 32. La ejecución de SE COMPARA Y CAMBIO Y EL ALMACENAMIENTO es intentado y cualquiera de las condiciones que siguen exista: * El código de función especifica un u valor asignado.
* La característica de depósito especifica un valor no asignado, * El código de función es 0, y el primer operando no es designado en un límite de palabra.
* El código de función es 1, y el primer operando no es designado en a. doubieword límite.
- El segundo operando no es designado en un límite integral correspondiente al tamaño del valor de depósito. 33. La ejecución de COMPARA LARGAS Naciones Unidas LÓGICAS ICODE o SE MUEVE DE LONGITUD UNICODE es intentado, y el contenido del registro general Rl + yo o R3 + 1 no especificamos num ni siquiera ber de bytes. 34. La ejecución de COMPARA EL MECATE LÓGICO, MUEVE EL MECATE o la CADENA DE BÚSQUEDA es intentada,- y bitios 32-55 del registro general 0 no son todos los ceros. 35. La. ejecución de la LLAMADA DE COMPRESIÓN es intentada, y golpea 48 - 1 del registro general 0 tiene cualquier de los valores 0000 y 01 10-1 1 yo 1 binario. 36. La ejecución de CALCULA EL RESUMEN DE MENSAJE INTERMEDIO, CALCULA EL ÚLTIMO RESUMEN DE MENSAJE, o CALCULA EL MENSAJE AUT HENTI EL CÓDIGO DE CATIÓN es intentado, y cualquiera de los f llowing es verdadero: 4 El R2. el espacio designa un registro impar o registro general 0. s Bitio 56 del registro general 0 no es el cero. 37. La ejecución de CONVERTE HFP A BFP, CONVERTE AL FIJO (BFP o HFP), o CARGA EL NÚMERO ENTERO FP (BFP) es intentado, y el espacio de M3 no designa un modificador válido. 38. La ejecución de DIVI DE, AL NÚMERO ENTERO es intentada, y el espacio de M4 no designa un modificador válido. 39. La ejecución de FORMALIZA es intentado, y la dirección con especificidad de objetivo es rara. 40. La ejecución del EXTRACTO EL ESTADO APILADO es intentado, y el código en posiciones de bitio 56-63 del registro general R2 es mayor que 4 cuando la instalación ASN-and-LX-reuse no es instalada o es mayor que 5 cuando la instalación se instala. 41. La ejecución de DESCUBRE que EL EXTREMO IZQUIERDO es intentado, y el espacio de R.l designa un registro impar. 42. La ejecución de INVALIDA LA ENTRADA DE LA TABLA de DAT es intentado, y bitios 44-5.1 del registro general R2 no son todos los ceros, • 43. La ejecución de la CARGA FPC es intentado, y los uno o más bitios del segundo operando correspondiente a bitios no apoyados en el registro de FPC es el que. 44. La ejecución de la PÁGINA DE CARGA - TABLA - LA DIRECCIÓN DE ENTRADA es intentada y el espacio M4 de la instrucción contiene cualquier valor además de 0000-0100 binario. 45. La ejecución de la CARGA de PS es intentado y bitio 12 de la palabra doble en la dirección de segundo operando es el cero. ¡Es el modo! el dependiente si esta excepción es reconocida. 46. La ejecución de la LLAMADA DE MONITOR es intentada, y posiciones de bitio 8» 1 1 de la instrucción no contiene ceros. 47. La ejecución de la PÁGINA DE MOVIMIENTO es intentada, y posiciones de bitio 48-51 del registro general 0 no contienen ceros o bitios 52 y 53 del registro son ambos un. 48. La ejecución del ASCII de PAQUETE es intentada, y el espacio de L2 es mayor que 31. 49. La ejecución del PAQUETE UNICODE es intentado, y el espacio de L2 es mayor que 63 o es ni siquiera. 50. La ejecución de LLEVA A CABO LA OPERACIÓN DE PUNTO FLOTANTE ts intentada, bitio 32 del registro general 0 son el cero, y los uno o más espacios en bitios 33 - 63 son inválidos o designan una función no instalada. 51. La. ejecución de LLEVA A CABO LA OPERACIÓN ASEGURADA es intentada, y cualquier de lo siguiente es verdadero: • El bitio T, el bitio 55 del registro general 0 son el cero, y el código de función en bitios 56-63 del registro son inválidos.
·. Los bitios 32-54 del registro general 0 no son ceros 1 Al-.
• En el modo de registro del acceso, para códigos de ión funct que causan el uso de una Lista de parámetro que contiene a ALEX, el espacio de R3 es el cero. 52. La ejecución de M PERFOR de TI la FUNCIÓN DE INSTALACIÓN DE MING Es intentada, y cualquiera de lo siguiente es verdadera: 4 bitios 56 del registro general 0 no Son el cero.
· Los bitios 57-63 del registro general 0 especifican un código de función no asignado o no instalado. 53. La ejecución de PRDGRAM TRANSFIERE o PRDGRAM TRANSFIEREN CON EL CASO es intentado, y todo lo siguiente es verdadero: • El bitio "modo de direccionamiento extendido" en el PS es el cero.
• El bitio basie-addressing-mode, el bitio 32, yo el registro general designado por el espacio R2 de la instrucción son el cero.
• Los bitios 33-39 de la dirección de instrucción en el mismo registro no son ah ceros. 54. La ejecución del PROGRAMA DE REANUDACIÓN es intentada, y cualquiera de lo siguiente es verdadero: • Los bitios 3 E, 32, y 64-127 del espacio de PSW en el segundo operando no son válidos para la colocación en PSW actual. La excepción es reconocida si alguno de lo siguiente es verdadero: - Los bitios 31 y 32 son tanto cero como bitios 64-103 no son todos los ceros.
- Los bitios. 3 1 y 32 son el cero y un, respectivamente, y los bitios 64-96 no son todos los ceros.
- Los bitios 31 y 32 son un y cero, respectivamente.
- El bitio 127 es el que.
• Los bitios 0-12 de la lista de parámetro no son todos los ceros . 55. La ejecución de la CADENA DE BÚSQUEDA Naciones Unidas ICODE es intentado, y bitios 32-47 del registro general 0 no es todos los ceros. 56. Ejecución de CONTROL DE ESPACIO DE DIRECCIONES DE CONJUNTO - o DETERMINÓ ESPACIO DE DIRECCIONES EL CONTROL RÁPIDO es intentado, y los bitios 52 y 53 de la dirección de segundo operando no son ambos ceros. 57. La ejecución del MODO (SAM24) DE DIRECCIONAMIENTO DE CONJUNTO es intentada, y bitios 0-39 de la dirección instructio no actualizada en el PSW7, bitios 64-103 de los PSW7, no son todos los ceros. 58. La ejecución f MODO DE DIRECCIONAMIENTO DE CONJUNTO - (SAM31) es intentada, y bitios 0-32 de la dirección de instrucción no actualizada en el PSW, bitios 64-96 de los PSW, no son todos los ceros. 59. La ejecución del RELOJ DE CONJUNTO EL ESPACIO PROGRAMABLE- es intentado, y bitios 32-47 del registro general 0 no es todos los ceros. 60. La ejecución del CONJUNTO FPC es intentado, y los uno o más bitios del primer operando correspondiente a bitios no apoyados en el registro de FPC es el que. 61. La ejecución de la INFORMACIÓN DE SISTEMA DE ALMACENAMIENTO es intentada, el código de función en el registro general 0 es válido, y cualquiera de lo siguiente es verdadero: 4 bitios que 36-55 de ge eral registran 0 y bitios 32 - 47 del registro general 1 son ot todos los ceros.
· La dirección de segundo operando no es alineada en una 4K-alineación-de-bytes . '62. La ejecución de TRADUCE DOS A UNO o TRADUCE DOS A DOS es intentado, y la longitud en el registro general Rj + 3 no especifica un número par de bytes. 63. La ejecución de DESEMPAQUETA el ASCII es intentado, y el LI espacio es mayor que 31. 64. La ejecución de DESEMPAQUETA UNICODE es intentado, y el LI espacio es mayor que 63 o es ni siquiera. 65. La ejecución del ÁRBOL DE ACTUALIZACIÓN es intentada, y el contenido inicial de registros generales 4 y 5 no es un múltiplo de 8 en el de 24 bites o 31 modo de direccionamiento de bit o no es un múltiplo de 16 en el modo de direccionamiento de 64 bites. La ejecución de la instrucción identificada por PSW anterior es suprimida. Sin embargo, para temprano excepciones de especificación de PSW (causa 1 - 3) la operación que introduce nuevo PSW es completada, pero una interrupción ocurre inmediatamente a. partir de entonces. Preferentemente, la instrucción - el código de longitud (ILC) es 1, 2, o 3, indicando la longitud de la instrucción caby usar la excepción. Cuando la dirección de instrucción es rara (cause 4 en la página 6-33) , es imprevisible si el iLC es 1, 2, o 3. Cuando la excepción es reconocida debido a un temprano excepción de especificación de PSW (causa 1-3) y la excepción lias introducido por la CARGA PSW, CARGUE PSW EXTENDIDO, PROGRAME LA VUELTA, o una interrupción, el ILC es 0. Cuando la excepción se introduce por el MODO DE DIRECCIONAMIENTO DE CONJUNTO (SAM24, SAM31), el ILC es 1, o es 2 de SER DETERMINADOS EL MODO QUE SE DIRIGE era el objetivo de FORMALIZAN. Cuando la excepción se introduce por la MÁSCARA DE SISTEMA DE CONJUNTO o por ALMACENAMIENTO LUEGO O, MÁSCARA DE SISTEMA, el ILC es 2.
Las interrupciones de programa se utilizan excepciones de informe y episodios que ocurren durante la ejecución del programa. Una interrupción de programa hace que PSW anterior se almacene en ubicaciones reales 336-351 y nuevo PSW para recuperarse de ubicaciones reales 464-479. La causa de la interrupción se identifica por el código de interrupción. El código de interrupción se coloca en ubicaciones reales 142-143, el código de longitud de la instrucción se coloca en posiciones de bitio 5 y 6 del byte en locatio real 141 con el resto del bi ts se a ceros, y los ceros se almacenan en rea 1 la ubicación 140. Por algunas causas, la información adicional que identifica la razón de la interrupción se almacena en ubicaciones reales 144-183. Si el POR - 3 instalación se instala, entonces, como parte del programa en la acción terruption, las tiendas de campaña fraudulentas del registro de t-dirección que cubre gastos se colocan en ubicaciones de almacenamiento reales 272-279. Excepto POR episodios y la excepción erypto-operatioii . la condición caby usar la interrupción se indica por un valor codificado colocado en las posiciones de siete bitios de derecha- del código de Interrupción. Sólo una condición a la vez puede indicarse.
Los bitios 0-7 del código de interrupción se configuran a ceros. POR episodios se indican determinando el bitio 8 del código de interrupción a uno. Cuando esto es la única condición, los bitios 0-7 y 9-15 también son el conjunto a ceros. Cuando un POR episodio se indica simultáneamente con otra condición de interrupción de programa, el bitio 8 es un, y los bitios 0-7 y 9-15 se configuran en cuanto a la otra condición. La excepción de crypto-operación se indica por un código de interrupción de 0119 maleficio, o 0199 maleficio si un POR episodio también es indicado.
Cuando hay bitio de máscara correspondiente a. , interruptio progris sólo puede ocurrir cuando aquel bitio de máscara es el que. La máscara de programa en PS controla el viaje de las excepciones, las máscaras de IEEE en el registro de FPC controlan las excepciones IEEE, bitio 33 en el registro de control 0' controles si la MÁSCARA DE SISTEMA DETERMINADA causa un tren especial - excepción de operación, bitios 48-63 en el registro de control 8 interrupciones de control debidas de supervisar episodios, y una jerarquía de máscaras controlan interrupciones debido a POR. episodios. Cuando cualquier bitio de máscara de control es el cero, la condición no es ignorada; la condición no permanece pendiente.
Cuando nuevo W PS para una interrupción de programa tiene un error de formato de W PS o hace que una excepción sea reconocida en el proceso de instrucción traer, a. serie de interrupciones de programa puede ocurrir.
Algunas condiciones indicadas como excepciones de programa también pueden ser reconocidas por el subsistema del canal, donde caso la excepción se indica en la palabra de estado del subcanal o palabra de estado extendidose.
Cuando una excepción de datos causa una interrupción de programa, un código de excepción de los datos (DXC) se almacena en la ubicación 147, y los ceros se almacenan en ubicaciones 144-146. El DXC se distingue entre los diversos tipos de condiciones de excepción de los datos. Cuando la Agencia France Press - registro (registro de floatingpoint adicional) el bitio de- control, bitio 45 del registro de control 0, es un, el DXC también es colocado en el espacio DXC del control del punto flotante (FPC) registro. El espacio de DXC en el registro de FPC permanece sin alterar cuando cualquier otra excepción de programa se describe. El DXC es un código de 8 bites que indica la causa específica de una excepción de datos.
DXC 2 y 3 son mutuamente exclusivos y son de la prioridad más elevada que cualquier otro DXC. Así, por ejemplo. DXC 2 (instrucción de BFP) tiene prioridad sobre cualquier excepción EEE; y DXC 3 (instrucción de DFP) tiene prioridad sobre cualquier excepción IEEE o excepción IEEE simulada. Como ejemplo adicional, si las condiciones para ambos DXC 3 (DFP mstruction) y DXC 1 (registro de Agencia France Press) existen, DXC 3 se describen. Cuando tanto una excepción de especificación como una excepción de datos de registro de Agencia France Press aplican, es imprevisible qué se describe.
Una excepción que se dirige es reconocida cuando la unidad central de proceso intenta referirse a una ubicación de almacenamiento principal que no está disponible en la configuración. Una ubicación de almacenamiento principal no está disponible en la configuración cuando la ubicación no es instalada, cuando la unidad de almacenamiento no está en ' la configuración, o cuando la energía está apagado en la unidad de almacenamiento. Una dirección que designa una ubicación de almacenamiento que no está disponible en la configuración se refiere como el inválido. La operación es suprimida cuando la dirección del mstruction es inválida. De forma similar, la operación es suprimida cuando la dirección de la instrucción con especificidad de objetivo de FORMALIZA es inválido. También, la unidad de operación es suprimida cuando una excepción que se dirige es enco untered en obtener acceso a una tabla o entrada de la tabla. Las tablas y las entradas de la tabla a las cuales el reglamento aplica son la tabla dispatchable-unit-eoutrol , el segundo ASN primario - entrada de la tabla, y entradas en la lista de acceso, región primera tabla, región segunda tabla, tabla de tercero de región, tabla de segmento", tabla de páginas, tabla de enlace, enlace - primera tabla, tabla con el segundo del enlace, tabla de entrada, ASN primera tabla, ASN segunda tabla, tabla de autoridad, pilas de enlace, y remontan la tabla. Las excepciones que se dirigen dan como resultado la extinción cuando éstos son encontrados para referencias a la región primera tabla, región segunda tabla, tabla de tercero de región, tabla de segmento, y la tabla de páginas, tanto en referencias implícitas para la traducción de dirección dinámica como en' referencias asociadas con la ejecución de la DIRECCIÓN DE ENTRADA DE LA TABLA DE LA PÁGINA DE CARGA, CARGA LA DIRECCIÓN REAL, ALMACENA LA DIRECCIÓN REAL, y ANALIZA LA PROTECCIÓN. De forma similar, el direccionamiento a excepciones para obtiene acceso a la tabla de control de ble-unidad dispatcha, primaria ASN-segundo - entrada de la tabla, lista de acceso, ASN segunda tabla, o la tabla de autoridad da como resultado la extinción cuando éstos son encontrados en la traducción de registro del acceso hecha implícitamente o como partes de la DIRECCIÓN DE ENTRADA DE LA TABLA DE LA PÁGINA DE CARGA, CARGUE REAL ADICIONAN ESS, STOR E DIRECCIÓN REAL, ANALIZAN EL ACCESO, o ANALIZAN LA PROTECCIÓN. Excepto algunas Instrucciones específicas cuya ejecución es suprimida, la operación es terminada para una dirección de operando que puede ser traducida, pero designa una ubicación no disponible. Para la terminación, los cambios sólo pueden ocurrir para resultar espacios. En este contexto, el término "'espacio de resultado" incluye el código de condición, registros, y cualquier tailandés de ubicaciones de almacenamiento se proporciona y que son designados para cambiarse por la instrucción.
El anterior es útil en la comprensión del termino logy y la estructura de un comp uter modalidad de sistema. Embodime ts no limitado con la Arquitectura z/o con la descripción proporcionada de lo mismo. Las modalidades pueden ser ventajosamente aplicadas a otras arquitecturas de computadora de otros fabricantes de computadora con la enseñanza aquí.
Las diferentes arquitecturas de procesador proporcionan un número limitado de registros generales (GRs)„ a veces referido registros de objetivo como generales, que son explícitamente (y/o implícitamente) identificados por instrucciones del conjunto de instrucciones diseñado. La IBM z/Arquitectura y sus arquitecturas de precursor (datación nuevamente al Sistema original 360 hacia 1964) proporciona 16 registros generales (GRs) a cada unidad central de proceso (unidad central de proceso) . GRs se puede usar por procesadores (unidad central de proceso (unidad central de proceso) ) instrucciones como follows:As un operando de la fuente de una operación aritmética o lógica.
Como un operando con especificidad de objetivo de una operación aritmética o lógica.
Como la dirección de un operando de memoria (un registro de base, registro de Indice, o directamente) . Como la longitud de un operando de memoria.
Otros usos, como suministro de un código de función u otra información hacia y desde una instrucción.
Hasta la introducción de la IBM z/computadora central de Arquitectura en 2000, una computadora central registro general comprendido 32 bitios; ¿con la introducción de z / ' Arquitectura, un registro general comprendido 64 bitios, sin embargo, por motivos de compatibilidad, muchos? J instrucciones de Arquitectura continúan apoyando 32 bitios.
De forma similar, acompañar arquitecturas, como el x86 de Intel ® por ejemplo, proporcionarse los modos de compatibilidad tales que una máquina actual, que tienen, por ejemplo registros de 32 bitios, proporcione modos a instrucciones sólo para obtener acceso a primeros 8 bitios o 16 bitios de GR de 32 bitios.
Incluso en temprano ambientes de IBM System 360, 16 registros (identificado por un espacio de registro de 4 bitios en una instrucción por ejemplo) demostraron desalentar a programadores de ensamblador y compi 1er a diseñadores. Un programa de moderadamente-tamaño podría requerir que varios registros de base se encargaran a código y datos, limitando la cantidad de registros disponibles para mantener variables activas. Los ciertos métodos se han utilizado la dirección el número limitado de registros: Programar el diseño (tan simple como la programación modular) ayudó a minimizar el registro de base overutifization .
Los compiladores han. usado métodos, como el registro "colorear" para manejar la reasignación dinámica de registros.
Basar el uso de registro puede reducirse con lo siguiente: Instrucciones aritméticas y lógicas más nuevas con constantes inmediatas (dentro de la instrucción) . Instrucciones más nuevas con direcciones de operando relativas e inmediatas.
Instrucciones más nuevas con largos desplazamientos.
Sin embargo, allí permanece la presión de registro constante cuando hay más variables en vivo y el alcance que se dirige que puede ser acomodado por la cantidad de registros en la unidad central de proceso. el z/Architecture proporciona tres modos de direccionamiento seleccionables por el programa: 24-, 3 1», y ' direccionamiento de 64 bites. Sin embargo, para programas que ni requieren valores de 64 bites, ni explotan el direccionamiento de memoria de 64 bites, que tiene G de 64 bites s es de la ventaja limitada. El f llowing descripción describe un método de explotar registros de 64 bites para programas que no usan generalmente direccionamiento de 64 bites o variables.
Dentro de esta descripción, una convención se usa donde las posiciones de bitio de registros son numeradas en orden ascendente de la izquierda a la derecha (Endian grande) . En un registro de 64 bites, el. bitio 0 (el bitio extremo izquierdo) representa el valor más significativo (2 ~) y el bitio 63 (el bitio de derecha) representa el valor menos significativo (2 °) . 32 bitios extremos izquierdos de tal registro (bitios 0-31) se llaman la elevada palabra, y 32 bitios de derecha del registro (bitios 32-63) se llaman la baja palabra donde una palabra es 32 bitios .
ELEVADO - INSTALACIÓN DE PALABRA Una nueva suite de instrucciones generales (que es. las instrucciones disponibles para un programa de aplicaciones informáticas) se introduce para explotar la elevada palabra (lo más - 32 bitios significativos) de un registro general de 64 bites cuando la unidad central de proceso está en el modo de 32 bitios. El programa puede emplear las nuevas instrucciones para obtener acceso al escondido (previamente no disponible) las elevadas palabras de los GPR además de las instrucciones anteriores que continúan siendo restringidos a las bajas palabras.
Respecto a la Figura 8, un programa escrito a una arquitectura que tiene 16 o los registros de 32 bitios pueden ejecutarse en una versión más nueva de la arquitectura que apoya registros de 64 bitios. El programa escrito para, supongamos, un modo de 32 bitios sólo es consciente de registros de 32 bitios, y por lo común 32 o menos bitios de dirección lógicos. Un Sistema operativo (OS) 801 en 64 bitios sistema informático diseñado puede programas de apoyo escritos para el modo 803 de -64 bitios asi como programas escritos para el modo 802 de 32 bitios. Una operación de conmutador de contexto 804 en tal máquina apartará 805 los registros de 64 bitios asi como la Palabra de Estado de Programa (PS ) cuando la conmutación entre programas y/o el sistema operativo, independiente de si el Programa de aplicaciones informáticas 802803 estaba en 32 o modo de 64 bitios. Asi, un programa de 32 bitios que funciona en el modo de 32 bitios en una máquina de 64 bitios bajo el control de un sistema operativo de 64 bitios, hará guardar sus registros y restaurado durante ciertos intercambios de contexto. El sistema informático y el sistema operativo de hecho pueden guardar y restaurar 805 afligen 64 bitios de los registros generales durante el conmutador de contexto, aunque el programa sujeto al conmutador de contexto funcione en un modo de 32 bitios. Asi, el programa, observa sólo la mitad de los registros, sólo 32 bitios de 64 bitios de cada registro. Otros 32 bitios del impleme hacen heno los registros son "escondidos" del programa de 32 bitios. 32 bitios de los registros conocidos, puédase usar para el direccionamiento, e incluso aunque el sistema informático apoye 64 bitios del direccionamiento, el OS puede poder mediante Traducción de Dirección Dinámica, tal que sólo 32 bitios de la dirección se manipulan por el programa de 32 bitios en el modo de 32 bitios. Pueden pensar del modo de 32 bitios como un modo de palabra de la Cerda ya que el programa sólo utiliza la palabra lowr (palabra de 32 bitios) de a. doble palabra registro (de 64 bitios) . Un Programa de aplicaciones informáticas funciona bajo el control del OS, y activa el OS a fin de tener el OS llevan a cabo ciertas funciones. Esto "activar" se lleva a cabo por el contexto cambia 804 que guarda el estado del programa de aplicaciones informáticas y carga 805 estatales de los OS para llevarse a cabo, donde el OS comienza la ejecución en la dirección proporcionada por el conmutador de contexto. El OS puede activar luego uno de los programas de aplicaciones informáticas por un conmutador de contexto 804 para permitir al programa de aplicaciones informáticas funcionar. En algunas aplicaciones, el uso de recursos es apoyado permitiendo que cada aplicación, una fracción de tiempo de la operación y un contexto cambie 804 se utiliza "interrumpen" el programa activo después de un tiempo transcurrido a fin de permitir al OS enviar otro programa de aplicaciones informáticas para otra fracción de tiempo.
La disponibilidad del Elevado - la instalación de Palabra puede controlarse por un bit o un espacio en la máquina que debe configurarse para habilitar la instalación de Elevada palabra. Cuando la Elevada instalación de Palabra es habilitada, el programa de 32 bitios puede aprovechar la parte "escondida" del registro formalizando nuevas "instrucciones" de instalación de elevada palabra. Otro nuevo "hola h. -instrucciones" de instalación de palabra puede proporcionarse lo que proporciona la nueva función a instrucciones usando registros de baja palabra.
En la mayor parte de éstos instrucciones, sólo la elevada palabra de los registros se manipula, en ciertas instrucciones, las variantes se proporcionan para manipular la elevada palabra de un registro de la fuente con la baja palabra de otro registro de la fuente, el resultado se coloca en la elevada palabra de un registro con especificidad de objetivo (p.ej, AHHLR) . RISBLG proporciona un análogo de baja palabra a la elevada palabra instrucción de RISBHG. RISBHG y RISBLG proporcionan la gran flexibilidad en la realización de varias pseudoinstrucciones (con la ayuda del programa de ensamblador) .
Como se menciona anteriormente, las arquitecturas de procesador emplean Registros de Uso General (GPRs) , disponible para el Conjunto de instrucciones del archi ecture. Un programa puede aprovechar datos está en el GPRs, que puede ponerse en práctica en la memoria de alta velocidad, como pestillos incrustados en un chip, para el desempeño más rápido que que tiene los datos en la memoria principal más lenta, que a menudo es puesta en práctica por mecanismos de traducción de dirección dinámicos complejos, n algunas arquitecturas, como el x86 que tiene 64 GPRs, el tamaño de cada GPR se ha aumentado evolutivo de 8 bitios a 16 bitios, 32 bitios y actualmente 64 bitios. Sin embargo la cantidad de GPRs disponible para una instrucción ((64 para x86) determinado por varios bitios (6 para x86) de un campo GPR dentro de una instrucción) permanece el mismo de modo que los programas escritos para una instrucción de mayor edad que tengan el GPRs de 8 bitios por ejemplo, todavía funcionará en arquitecturas más nuevas que tiene el GPRs de 32 bitios por ejemplo. Asi, una máquina que tiene el GPRs de 32 bitios que funciona en el modo de 8 bitios, proporcionará el acceso a sólo 8 bitios inferiores de cada uno GPR de 32 bitios. Sin embargo, durante un conmutador de contexto, el Sistema operativo de 32 bitios (OS) siempre guardará y restaurará 32 bitios llenos de cada GPR.
En una IBM z/diablillo de Arquitectura lementaticm, una máquina puede ah ve 16 GPRs, cada GPR que comprenden 64 bitios (bitios 0-63) , pero pueden funcionó un programa de aplicaciones informáticas escrito para registros de 32 bitios en el modo de 32 bitios. 32 bitios pueden ser el bajo orden 32 bitios del GPR. (bitios 32-63) , donde el elevado orden 32 bitios (bitios 0-31) no están disponibles (escondido) en un modo de operación de 32 bitios. El programa de aplicaciones informáticas no tiene ningún modo de utilizar el elevado orden 32 bitios del GPRs ya que éstos son invisibles para el programa. El programa de aplicaciones informáticas, en un ejemplo, puede haber sido escrito para una máquina de 32 bitios de una generación previa de la máquina que tiene registros de sólo 32 bitios y direccionamiento 24 o 32 bitios de direcciones lógicas a la memoria. El modo de 32 bitios habilita el programa de aplicaciones informáticas de 32 bitios de ejemplo para funcionar en una máquina más nueva que tiene una arquitectura que.apoya 64 bitios de GPR s, que tiene a. El Sistema de tintineo de Ópera de 64 bitios (OS) y 64 bitios de apoyo applicaiion programan en el modo de 64 bitios. En otra arquitectura de máquina definida para el GPRs de 32 bitios, un conjunto de los "GPRs' escondidos de 32 bitios" puede proporcionarse lo que es invisible para programas de aplicaciones informáticas.
Un "Modo de Instalación de Elevada palabra" se proporciona lo que habilita un subconjunto de instrucciones- es para obtener acceso al GPRs de Orden escondido o Elevado, mientras el conjunto restante de instrucciones tiene el acceso al Orden diseñado o Bajo GPR.s.
Preferentemente, en "El modo de Instalación de Elevada palabra", el subconjunto de instrucciones sólo puede obtener acceso al Elevado GPRs de Orden en una realización, pero en otra ' realización, el subconjunto de instrucciones puede definir el campo GPR como concernir al Elevado GPRs de Orden y, otro campo GPR como concernir al bajo orden el GPRs.
En otra realización preferida, en "Elevado - modo de Instalación de Palabra", sólo el orden de Cerda el GPRs puede usarse para generar direcciones de memoria principal.
En una realización, ejecución de aplicaciones en "Elevado - el modo de Instalación de Palabra" puede coexistir con aplicaciones no formalizando en "Elevado - modo de Instalación de Palabra". Las aplicaciones no en el Elevado - modo de Instalación de Palabra pueden ser aplicaciones de GPR. de 32 bitios o aplicaciones de GPR de. 64 bitios. En este ejemplo, el GPRs de una máquina se utiliza que tiene 64 bitios con aplicaciones escritas para el GPRs que utiliza 32 bitios, sin embargo, las presentes modalidades proporcionarían la ventaja en el GPRs de una máquina con cualquier cantidad de bitios (16. 24, 32, 48,· 64, 128) aplicaciones que funcionan escritas para el GPRs que tiene a menos cantidad de bitios (8, 16, 24, 32, 48, 64) . Más aún, Elevado - modo de Instalación de Palabra los registros escondidos pueden utilizar sólo una porción designada del GPRs escondido, tal que, en el programa de aplicaciones informáticas de 32 bitios del ejemplo anterior, los registros escondidos disponibles en el Elevado - el modo de Instalación de Palabra para algunas instrucciones puede ser el bajo orden 8 o 1 6 bitios del elevado orden 32 bitios del GPRs de 64 bitios, mientras otros registros escondidos pueden ser el elevado orden 8 o 1 6 bitios del elevado orden 32 bitios del GPRs de 65 bitios por ejemplo.
La enseñanza de modalidades se presenta usando z/Architeeture y/o arquitectura x86, sin embargo, otros im lernentations son fácilmente evidentes a una de la habilidad promedio, en vista de la enseñanza aquí.
• En un. ejemplo / modalidad de Arquitectura, para instrucciones de 32 bites seleccionadas, la instalación de elevada palabra con eficacia proporciona dieciséis registros de 32 bites adicionales (elevados registros de palabra) utilizando elevados bitios de orden previamente no disponibles 0-31 de los dieciséis registros generales de 64 bites (bitios 0-63). en una modalidad, la instalación de Elevada palabra puede habilitar las ins rucciones de ala de folio con nemónicas que indican la función (AHHHR para AÑADEN ELEVADO por ejemplo) : • AÑADIR ELEVADO (AHHHR, AHHLR) * AÑADEN INMEDIATO ELEVADO (AIH) * AÑADEN LÓGICO ELEVADO (ALFIHFIR, ALHHLR) • AÑADIR LÓGICO CON EL FIRMADO YO MMEDIATE ELEVADO (ALSIH, ALSIBN) * RAMIFIAN RELATI VE EN LA CUENTA H IGH (CALDO) • una COMPARACIÓNSE ELEVADO (CFIHR, CHLR, CHF) * SE COMPARAN INMEDIATO ELEVADO (CIH) «COMPARE LOGICA L ELEVADO (CLHHR, CLHLR, CLHF) • una COMPARACIÓNSE LÓGICO INMEDIATO ELEVADO (CLIH) • CARGAR EL BYTE - H IG H (LBH) * CARGAN LA MEDIOPALABRA ELEVADA (LHH) • CARGAN H IGH (LFH) • CARGAR EL CARÁCTER LÓGICO ELEVADO (LLCH) • LOA D LÓGICO - MEDIOPALABRA ELEVADA (LLHF1) • ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS ELEVADO (RISBHG) • ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS BAJO (RISBLG) «ALMACENE EL CARÁCTER. H IG H (STCH) • ALMACENAR. MEDIOPALABRA ELEVADA (STHH) • ALMACENAR ELEVADO (STFH) • RESTAR ELEVADO (SHHHR, SI 11 yo f R) • RESTAR LÓGICO ELEVADO (SLHHHR, SLHITLR) Las instrucciones generales adicionales que siguen pueden estar disponibles cuando la instalación trábada-aceess se instala: • CARGAR Y AÑADIR (LAA, LAAG) • CARGAR Y AÑADIR LÓGICO (LAAL, LAALG) • CARGAR Y Y (LAN, LANG) • CARGAN Y EXCLUSIVO O (FLOJO, LAXG) • CARGAR Y O (LAO, LAOG) • CARGAR AL PAR DESARTICULADO (LPD, LPDG) Las instrucciones generales adicionales que siguen pueden estar disponibles cuando el load/store-on-condition fac lity se instala : • CARGAR EN CONDFUON (REGISTRO, LGOC, LGROC, LROC) • ALMACENAR EN LA CONDICIÓN (STGC, STGOC) Las instrucciones generales adicionales que siguen pueden estar disponibles cuando la instalación de operandos distintos se instala: • AÑADIR (REFUGIO, AGRK) «ADICIONE I M EDIATE (AH IK, AGHI) • AÑADIR LÓGICO (ALRK, ALGRK) • AÑADIR LÓGICO CON EL FIRMADO INMEDIATO (ALHSIK, ALGHSI) • UN D (NRK, NGRK) • EXCLUSIVO O (XR. XGRK) • 0 (O, OGR) • DESPLAZAR LA IZQUIERDA INDIVIDUAL (SLAR) • DESPLAZAR LA IZQUIERDA INDIVIDUAL LÓGICO (SLL) .
• DESPLAZAN DERECHA INDIVIDUAL (SRAK) «SF1IFT DERECHA INDIVIDUAL LÓGICO (SRL) - RESTAR (SR, SGR) • RESTAN LÓGICO ( SLRK, SLGRK. ) INSTRUCCIONES DE ELEVADA PALABRA DE EJEMPLO Lo siguiente es instrucciones de ejemplo que pueden emplear el Elevado - instalación de Palabra.
AÑADIR ELEVADO (formato de RRF) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando se agrega al tercer operando, y la suma se coloca en la ubicación de primer operando. Los operandos y la suma se someten a tratamiento como números enteros binarios firmados de 32 bites. Los primeros y segundos operandos están en bitios 0-31 de registros generales RI y R2, respectivamente; los bitios 32-63 del registro general Rl son sin alterar, y bitios 32-63 del registro general 12 no son ignorados. Para OpCode AHHHR, el tercer operando está en bitios 0-3 registro general lof R3; los bitios 32-63 del registro no son ignorados. Para OpCode AHHLR, el tercer operando está en bitios 32-63 del registro general R3; los bitios 0 - 1 del registro no son ignorados. Cuando hay un desbordamiento, el resultado se obtiene permitiendo que a cualquiera transportan en la posición con el bit del signo y no haciendo caso de ninguno transporta de la posición con el bit del signo, y el código 3 de condición se configura. Si la máscara de desbordamiento del punto fijo es un, una interrupción de programa para el desbordamiento de .punto fijo ocurre .
Código de Condición resultante: 0 cero de Resultado; ningún desbordamiento 1 Resultado menor que cero; ningún desbordamiento 2 Resultado mayor que cero; ningún desbordamiento 3 Desbordamiento Programar Excepciones: • El punto fijo overflow* Operación (si la instalación de elevada palabra no es instalada) una ADICIÓN que IMMEDI COMIÓ ELEVADO (formato de RIL) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando se agrega al primer operando, y la suma se coloca en el primer - ubicación de operando. Los operandos y la suma se someten a tratamiento como números enteros binarios 32-bitsigned. El primer operando está en bttsO-31 del registro general Rl; los bitios 32-63 del registro son sin alterar. Cuando hay un desbordamiento, el resultado es permitir que obtenido a cualquiera transporta en la posición de seis bites, y no hacer caso de cualquiera transporta del signo - posición de bitio, y el código 3 de condición se configura si la máscara de desbordamiento del punto fijo es el que. una interrupción de programa para el desbordamiento de punto fijo ocurre.
Código de Condición resultante: 0 Resultado, cero; ningún desbordamiento 1 Resultado menor que cero; ningún desbordamiento 2 Resultado mayor que cero; ningún desbordamiento 3 Desbordamiento Programar Excepciones: 4 desbordamiento de Punto fijo s Operación (si el elevado - ord instalación no es instalado) AÑADIR LÓGICO ELEVADO (formato de RRF) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando se agrega al tercer operando, y la suma se coloca en la ubicación de primer operando. Los operandos y la suma se someten a tratamiento como números enteros binarios 32-bifunsigned. Los primeros y segundos operandos están en bitios 0-31 de registros generales R.i y R2, respectivamente; los bitios 32-63 de géneros 1 registran R soy sin alterar, y bitios 32-63 del registro general R2 no son ignorados. Para OpCode ALHHH, el tercer operando está en bitsO-31 del registro general R3; los bitios 32-63 del registro no son ignorados. Para ? I si yo OpCode LK, el tercer operando está en bits32-63 del registro-general R3; los bitios 0-31 del registro no son ignorados.
Código de Condición resultante: 0 cero de Resultado; no transportar 1 Resultado no cero; no transportar 2 cero de Resultado; transportar 3 Resultado no cero; transportar Programar Inicios: * Operación (si el elevado - ord instalación no es instalado) AÑADIR LÓGICO. CON FIRMADO INMEDIATO ELEVADO (RIL formal) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando se agrega al primer operando, y la suma se coloca en la ubicación de primer operando. El primer operando y la suma se someten a tratamiento como números enteros binarios 32-bitunsigned . El segundo operando se ¦ somete a tratamiento como un número entero binario firmado de 32 bites. El primer operando está en bitios 0-31 del registro general Rl; los bits32-63 del registro son sin alterar.
Código de Condición resultante: Para ALSIH, el código se configura como sigue: 0 cero de Resultado; no transportar 1 Resultado no cero; ningún cany 2 cero de Resultado; transportar 3 Resultado no cero; transportar Para ALSIHN, el código permanece sin alterar.
Programar Excepciones: • La operación (si la instalación de elevada palabra no es instalada) RAMIFIAR RELATIVO EN el Conde HIGH (Rl, formato de RIL) Cuando la instrucción se está ejecutando por el sistema informático, el que es restado del primer operando, y el resultado se coloca en la ubicación de primer operando. Para la RAMA RELATIVA EN EL CONDE (BRCT OpCode) , el primer operando y el resultado se someten a tratamiento como números enteros binarios de 32 bites en bitios 32-63 del registro general Rl, con el desbordamiento ignorado; los bitios 0-31 del registro son sin alterar. Para la RAMA RELATIVA EN el Conde HIGH (BRCTH OpCode), el primer operando y el resultado se someten a tratamiento como números enteros 32-bitbinary en bitios 0-31 del registro general Rl, con el desbordamiento ignorado; los bitios 32-63 del registro son sin alterar. Para la RAMA RELATIVA EN EL CONDE (BRCTG OpCode) , el primer operando y el resultado se someten a tratamiento números enteros binarios as64-de-bit, con el desbordamiento ignorado. Cuando el resultado Es el cero, la secuenciación de instrucción normal sigue con la dirección de instrucción actualizada. Cuando el resultado no es el cero, la dirección de instrucción en PSW actual es sustituida por la dirección de rama. El contenido del 12 espacio es un número entero binario firmado que especifica la cantidad de mediopalabras que se agrega a la dirección de la instrucción de generar la dirección de rama.
Condicionar el Código: El código permanece sin alterar.
Gramo pro Exe eptions: * Operación (BRCTH, si la instalación de elevada palabra no es instalada) Programación de Observación: 1. La operación es igual que la de la RAMA EN la instrucción de CONDE excepto el medio de especificar la dirección de rama. 2. El primer operando y el resultado pueden considerarse como números enteros binarios firmados o como no firmados ya que el resultado de una substracción binaria es el mismo en ambos casos . 3. Una cuenta inicial de uno da como resultado el cero, y no ramifiarse ocurre; una cuenta inicial del cero da como resultado-1 y causas que se ramifian para estarse ejecutando; una cuenta inicial de-1 da como resultado-2 y causas que se ramifian para estarse ejecutando; etcétera. En un bucle, ramifiarse ocurre cada vez que la instrucción se está ejecutando nti 1 el resultado es nuevamente el cero.
Observar que.for BR.CT, debido al intervalo de cantidad, una cuenta inicial de-231 da como resultado un valor positivo de 231 - o, para BRCTG,, una cuenta inicial de - 263 doy como resultado un valor positivo de 263 - 1.4. Cuando la instrucción es el objetivo de una instrucción de tipo ejecutar, la rama es con relación a la dirección con especificidad de objetivo; una GOMPARACIÓNSE ELEVADO ( RRE , formato de RXY) , una COMPARACIÓ SE INMEDIATO ELEVADO (formato de RIL) Cuando la instrucción se está ejecutando por el sistema informático, el primer operando se compara con el segundo operando, y el resultado se indica en el código de condición. 'Los operandos se someten a tratamiento como el binario firmado de 32 bites en tegers. El primer operando está en posiciones de bitio 0-31 del registro general R 1; las posiciones de bitio 32-63 del registro no son ignoradas. Para SE COMPARAN ELEVADO (CHHR OpCode) , el segundo operando está en posiciones de bitio 0-31 del registro general 2; las posiciones de bitio 32-63 del registro no son ignoradas. Para SE COMPARAN ELEVADO (CHLR OpCode), el segundo operando está en posiciones de bitio 32-63 del registro general R2; el bitio positionsQ-31 del registro no es ignorado.
El desplazamiento para CHF se somete a tratamiento como un número entero binario 20-bitsigned .
Código de Condición resultante: 0 Operandos iguales 1 Primer operando bajo 2 Primer operando elevado 3 Excepciones de Programa: * Acceso (operando 2 de CHF sólo) »Operación (si la instalación de elevada palabra no es instalada) . una COMPARACIÓNSE LÓGICO ELEVADO (RRE, formato de RXY) , una CO PARACIÓNSE LÓGICO INMEDIATO ELEVADO (formato de RIL) Cuando la instrucción se está ejecutando por el sistema informático, el primer operando se compara con el segundo operando, y el resultado se indica en el código de condición. Los operandos se someten a tratamiento como números enteros binarios no firmados de 32 bites. El primer operando está en posiciones de bitio 0-3.1 del registro general III; las posiciones de bitio 32-63 del registro no son ignoradas. Para SE COMPARAN LÓGICO ELEVADO (CLHHR OpCode) , el segundo operando está En posiciones de bitio 0-31 del registro general R2; las posiciones de bitio 32-63 del registro no son ignoradas. Para CO MPARE H lógico IGH (CLHLR OpCode) , el segundo operando está en el bitio positions32~63 del registro general R2; las posiciones de bitio 0-31 del registro no son ignoradas. El dispiacement para CLHF se somete a tratamiento como un número entero binario 20-bitsigned.
Código de Condición resultante: 0 Operandos iguales 1 Primer operando bajo 2 Primer operando elevado Programar la Excepción s: 4 Acceso (operando 2 de CLHF sólo) • La operación (si la instalación de elevada palabra no es instalada) CARGAR EL BYTE ELEVADO (formato de RXY) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando es el signo extendido y colocado en la ubicación de primer operando. El segundo operando es un byte de longitud y se somete a tratamiento como un número entero binario firmado de ocho bites. El primer operando se somete a tratamiento como un número entero binario firmado de 32 bites en bitios 0-31 del registro general Rl; los bitios 32-63of el registro son sin alterar. El desplazamiento se somete a tratamiento como un número entero binario firmado de 20 bites.
Condicionar el Código: El código permanece sin alterar. Excepción de gramo pro s: * Acceso (búsqueda y carga de instrucciones, operando 2) 4 Operación (si el elevado - la instalación de palabra no es instalada) CARGAR LA MEDIOPALABRA ELEVADA (formato de RXY) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando es el signo extendido y colocado en la ubicación de primer operando. El segundo operando es dos bytes de longitud y se somete a tratamiento como un número entero binario firmado de 16 bites. El primer operando se somete a tratamiento como un número entero binario firmado de 32 bites en bitios 0-3 1 del registro general R 1; los bitios 32-63of el registro son sin alterar. El desplazamiento se somete a tratamiento como un número entero binario firmado de 20 bites.
Condicionar el Código: El código permanece sin alterar.
Programar Excepciones: * Acceso (búsgueda y carga de instrucciones, operando 2) * Operación .(si la instalación de elevada, palabra no es instalada) CARGAR ELEVADO (formato de RXY) • Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando se coloca sin alterar en la primera ubicación de operando. El segundo operando es 32 bitios, y el primer operando está en bitios 0-31 del registro general Rl; los bitios 32-63 del registro son sin alterar. El desplazamiento se somete a tratamiento como un número entero binario firmado de 20 bites.
Condicionar el Código: El código permanece sin alterar. Programar Excepciones: s Acceso (búsqueda y carga de instrucciones, operando 2) * Operación (si. la instalación de elevada palabra no es instalada) CARGAR EL CARÁCTER LÓGICO ELEVADO (formato de RXY) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando de un byte se coloca en el bitio positions24-31 del registro general Rl, y los ceros se colocan en posiciones de bitio 0-23 del registro general Rl; las posiciones de bitio 32-63 del registro general Rl son sin alterar. El desplazamiento se somete a tratamiento como un número entero binario firmado de 20 bites.
Condicionar la oda C: El código permanece sin alterar.
Programar la Excepción s : * Acceso (búsgueda y carga de instrucciones, operando 2) * Operación (si la instalación de elevada palabra no es instalada) CARGAR LA PALABRA DE MITAD LÓGICA ELEVADA (formato de RXY) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando de dos bytes se coloca en posiciones de bitio 16-31 del registro general Rl, y los ceros se colocan en posiciones de bitio 0-15 del registro general Rl; las posiciones de bitio 32-63 del registro general Rl son sin alterar. El desplazamiento se somete a tratamiento como un número entero binario firmado de 20 bites.
Condicionar el Código: El código permanece sin alterar. Programar Excepciones: * Acceso (búsqueda y carga de instrucciones, operando 2) * Operación (si la instalación de elevada palabra no es instalada) EL ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS ELEVADO (VAN el formato) , el ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS BAJO (formato de RIE) Cuando la instrucción se está ejecutando por el sistema informático, el segundo operando de 64 bites se hace girar mantenido por la cantidad de bitios especificados en el quinto operando. Cada bitio desplazado de la posición de bitio extrema izquierda del operando entra de nuevo en la posición de bitio de derecha del operando. Los bitios seleccionados del segundo operando alternado reemplazan el contenido de las posiciones de bitio correspondientes del primer operando. Para el ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS ELEVADO, el primer operando está en bitios 0-31 del registro general Rl, y bitios 32-63 del registro son sin alterar. Para el ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS BAJO, el primer operando está en bitios 32-63 del registro general Rl, y bitios 0-31 del registro son sin alterar. El segundo operando permanece sin alterar en el registro general R2. Para GIRAN LUEGO EL ENCARTE LOS BITIOS SELECCIONADOS ELEVADOS, bitios 3-7 de los 13 y 14 espacios (bitios 19-23 y 27-31 de la instrucción, respectivamente), con un cero binario añadido en la izquierda de cada uno, forman números enteros binarios no firmados de seis bites que especifican el comienzo y terminar posiciones de bitio (incluido) del intervalo seleccionado de bitios en el primer operando y' en el segundo operando después de la rotación. Cuando la posición de bitio que se termina es menor que la posición de bitio inicial, el intervalo de abrigos de bitios seleccionados alrededor del bitio 31 al bitio 0. Asi, el comienzo y terminar posiciones de bitio del intervalo seleccionado de bitios siempre están entre 0 y 31. Para el ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS BAJO, bitios 3-7 de los 13 y 14 espacios, con uno binario añadido en la izquierda de cada uno, forman números enteros binarios no. firmados de seis bites que especifican el comienzo y terminar posiciones de bitio (incluido) del intervalo seleccionado de bitios en el primer operando y en el segundo operando después de la rotación. Cuando la posición de bitio que se termina es menor que la posición de bitio inicial, el intervalo de abrigos de bitios seleccionados alrededor del bitio 63 al bitio 32. Asi, el comienzo y terminar posiciones de bitio del intervalo seleccionado de bitios siempre están entre 32 y 63. Los bitios 2-7 del 15 espacio (bitios 34-39 de la instrucción) contienen un número entero binario no firmado que especifica la cantidad de bitios que el segundo operando se hace girar a la izquierda. El bitio 0 del 14 espacio (bitio 24 de la instrucción) contiene el control de bitios restantes cero (Z) . El control de bitio Z muestra que los bitios restantes del primer operando se configuran (es decir aquellos bitios, si alguno, que son fuera del intervalo especificado) . Cuando el bitio Z es el cero, los bitios restantes del primer operando son sin alterar. Cuando el bitio Z es un, los bitios restantes del primer operando se configuran a ceros. Los espacios inmediatos anteriormente descritos son como sigue: Bitios 0-2 del 13 espacio y bitios 1-2 del 14 espacio (bitios 16 - 19 y 25-26 de la instrucción) son reservados y deberían contener ceros; otra cosa, el programa no puede funcionar compatiblemente en el futuro. Los bitios 0-1 del 15 espacio (bitios 32-33 de la instrucción) no son ignorados.
Condicionar Código: El código permanece sin alterar Programar Excepciones: » La operación (si la instalación de elevada palabra no es instalada) Programa ing N otes: 1. Aunque los bitios 2-7 del 15 espacio se definen para contener un u número entero binario firmado que especifica la cantidad de bitios que el segundo operando se hace girar a la izquierda, un valor negativo puedan ser codificados que con eficacia especifica una cantidad derecha girada. 2. El primer operando siempre es usado en su forma no girada. Cuando los R 1 y espacios de R2 designan el mismo registro, el valor contenido en el registro es alternado primero, y luego los bitios seleccionados del valor alternado se insertan en los bitios correspondientes del contenido de registro no alternado. 3. En la sintaxis de ensamblador, el 15 operando que contiene la cantidad girar se considera para ser opcional. Cuando el 15 espacio no es codificado, una cantidad girar del cero es implicada . 4. El 14 espacio contiene a ambos el permanecer el cero -control de bitios (en el bitio 0) y el valor de posición de petición que se termina (m de bitios 2-7) . Por ejemplo, para insertar bitios 40-43 de registro 7 en el los bitios correspondientes del registro 5 (ninguna rotación) y cero los bitios restantes en la mitad derecha del registro 5, el programador podría codificar: El X '80' representa el control de zero-rernainmg-bits que se agrega a la posición de bit que se termina para formar el 14 espacio. El ensamblador de alto nivel (HLASM) proporciona nemónicas alternativas al cero -las versiones de bitios restantes del RJSBHG y RJSBLG en la forma de RJSBHGZ y R ISBLHZ, respectivamente. El sufijo "Z" a la nemónica indica que el espacio de specifiedM es ORed con un valor de X '80' al generar el código de objeto. Un equivalente con el ejemplo mostrado anteriormente usando la nemónica Z-suffixed es como sigue: 5. ¡En algunos modelos, desempeño mejorado de R! SBHG y RJSBLG pueden implementarse determinando el control de bitios restantes cero a un (o usando el sufijo nemónico Z) . 6. A diferencia de GIRAN LUEGO ENCARTE EDBITS escogido que determina el código de condición, ENCARTE de ROTATETHEN BITIOS SELECCIONADOS ELEVADOS y ALTERNE LUEGO yo NSERT LOS BITIOS SELECCIONADOS LOWT no determinan el código de condición .
ALMACENAR EL CARÁCTER ELEVADO (formato de RXY) Cuando la instrucción se está ejecutando por el sistema informático, Bitios 24-31 del registro general Rl se colocan sin alterar en la ubicación de segundo operando. El segundo operando es un byte de longitud. El desplazamiento se somete a tratamiento como un número entero binario firmado de 20 bites.
Condicionar el Código: El código permanece sin alterar.
Programar Excepciones: »Acceso (almacenan, operando 2) La operación (si la instalación de elevada palabra no es instalada) ALMACENAR LA PALABRA DE MITAD ELEVADA (formato de RXY) Cuando la instrucción se está ejecutando por el sistema informático. Los bitios 16-31 del registró general Rl se colocan sin alterar en la ubicación de segundo operando. El segundo operando es dos bytes de longitud. El desplazamiento se somete a tratamiento como un número entero binario firmado de 20 bites.
Condicionar el Código: El código permanece sin alterar.
Programar Excepciones: * Acceso (almacenan, operando 2) ¦* Operación (si la. instalación de elevada palabra no es instalada) ALMACENAR H IGH (formato de RXY) Cuando la instrucción se está ejecutando por el sistema informático, el primer operando se coloca sin alterar en la segunda ubicación de operando. El primer operando está en bitios 0-31 del registro general Rl, y el segundo operando es 32 bitios en el almacenamiento. El desplazamiento se somete a tratamiento como un número entero binario firmado de 20 bites.
Condicionar el Código: El código permanece sin alterar.
Programar Excepciones: * Acceso (almacenan, operando 2) * Operación (si el elevado - ord instalación no es instalado) RESTAR ELEVADO (formato de RRF) Cuando la instrucción se está ejecutando por el sistema informático, el tercer operando es restado del segundo operando, y la diferencia se coloca en la primera ubicación de operando. Los operandos y la diferencia se someten a tratamiento como números enteros binarios firmados de 32 bites. Los primeros y segundos operandos están en bitios 0-31 de registros generales Rl y R2, respectivamente; los bitios registro general 32-63of Rl son sin alterar, y bitios registro general 32-63of R2 no son ignorados. Para OpCode SHHHR, el tercer operando está en bitios 0-31 del registro general R3; los bitios 32-63 del registro no son ignorados. Para OpCode SHHLR, el tercer operando está en bitios 32-63 de registerR3 generales; los bitios 0-31 del registro no son ignorados. Cuando hay un desbordamiento, el resultado se obtiene permitiendo que a cualquiera transportan en la posición con el bit del signo y no haciendo caso de ninguno transporta de la posición con el bit del signo, y el código 3 de condición se configura. Si la máscara de desbordamiento del punto fijo es un, una interrupción de programa para el desbordamiento de punto fijo ocurre.
Código de Condición resultante: 0 cero de Resultado; ningún desbordamiento 1 Resultado menor que cero; ningún desbordamiento 2 Resultado mayor que cero; ningún desbordamiento 3 Desbordamiento Programar la Excepción s: 4 desbordamiento de Punto fijo • La operación (si la instalación de elevada palabra no es instalada) RESTAR H lógico IGH (formato de RRF) Cuando la instrucción se está ejecutando por el sistema informático, el tercer operando es restado del segundo operando, y la diferencia se coloca en la primera ubicación de operando. Los operandos y la diferencia se someten a tratamiento como números enteros binarios no firmados de 32 bites. Los primeros y segundos operandos están en bitios 0-31 de registros generales Rl y R2, respectivamente; los bitios registro' general 32-63of Rl son sin alterar, y bitios registro general 32-63of R2 no son ignorados. Para OpCode SLHHHR, el tercer operando está en bitios 0-31 del registro general R3; los bitios 32-63 del registro no son ignorados. Para OpCode SLHHLR, el tercer operando está en bitios 32-63 de registerR3 generales; los bitios 0-31 del registro no son ignorados.
Código de Condición resultante: 0 1 Resultado no cero; tomar a préstamo 2 cero de Resultado; ningún borr w 3 Resultado no cero; no tomar a préstamo Programar Excepciones: • La operación (si la instalación de elevada palabra no es instalada) Respecto a la Figura 6, un Registro de Uso General de ejemplo (GPR) se muestra que tiene 16 GPRs (cada GPR comprende bitios 32-63 en modo de GPR pequeño y bitios 0-63 en el modo de GPR grande) . La cantidad efectiva de Registros de Uso General (GPRs) disponible para instrucciones de un programa puede extenderse en una computadora ah ving una primera cantidad (16) de GPRs grandes, cada instrucción comprende un código de operación y uno o más campos GPR para especificar el GPRs correspondiente, cada GPR grande que comprenden una primera porción (31 - 63) y una segunda porción (0 - 1) . Respecto a la Figura 7 A, una computadora en instrucciones de búsquedas y carga de instrucciones para la ejecución comprende instrucciones del Primer Conjunto 701, un Segundo Conjunto 702 o de un Tercer Conjunto 710. El Primer Conjunto que sólo obtiene acceso a una primera porción de cualquier GPR, el Segundo Conjunto que obtiene acceso a una segunda porción de cualquier GPR, el Tercer Conjunto que obtiene acceso a GPR completo, incluyendo la primera porción y la segunda porción. Cuando 703 la computadora está en un modo de GPR pequeño, por ejemplo, y formaliza instrucciones del primer conjunto de instrucciones 707 para obtener acceso a primeras porciones, la ejecución comprende 708 generar direcciones de memoria para obtener acceso a operandos de memoria basados en los GPRs pequeños u obtener acceso a operandos de GPR pequeño, donde cada uno de los GPRs pequeños comprende la primera porción 707. cuando 703 la computadora está en un GPR pequeño, el modo, cuando 705 la computadora formaliza Elevado - instrucciones de Palabra, ejecutar instrucciones 706 de un segundo conjunto de instrucciones, el segundo conjunto de instrucciones es para obtener acceso a la instrucción segundas porciones especificadas, donde 708 la ejecución' comprende generar direcciones de memoria para obtener acceso a operandos de memoria basados en los GPRs pequeños u obtener acceso a operandos de GPR pequeño, donde el GPR pequeño comprende la instrucción segunda porción especificada. Cuando 704 la computadora está en un modo de GPR grande donde cada GPR grande comprende la primera porción y la segunda porción, la computadora formaliza instrucciones del tercer conjunto de instrucciones, la ejecución comprende generar direcciones de memoria para obtener acceso a operandos de memoria basados en los GPRs grandes u obtener acceso a operandos de GPR grande, donde cada uno del GPR grande comprende la primera porción y la segunda porción.
En respuesta a la computadora está en un smal 1 GPR modo que la computadora puede generar 70) una excepción de operación sensible a la ejecución de instrucciones del segundo conjunto de instrucciones .
Como se muestra en la Figura 7B, la ejecución de la instrucción del segundo conjunto de instrucciones puede - llevar a cabo 751 una función · definida del código de operación correspondiente basado en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente que comprenden una ADICIÓN de dos funciones de operandos, una COMPARACIÓN de dos funciones de operandos o un 0 de dos funciones de operandos 752.
La ejecución de la instrucción del segundo conjunto de instrucciones puede llevar a cabo una función definida del código de operación correspondiente basado en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente comprende una CARGA y operando de la función de memoria o un ALMACENAMIENTO un operando a la función de memoria 753.
La ejecución de la instrucción del segundo conjunto de instrucciones puede llevar a cabo una función definida del código de operación correspondiente basado en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente es una función de ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS comprende alternar un operando de la fuente por una cantidad especificada de instrucción, luego insertando una porción seleccionada del operando alternado de la fuente en una porción seleccionada de un operando con especificidad de objetivo 70 .
Mientras las modalidades preferidas se han ilustrado y han descrito' aquí, hay que entender que las modalidades no son limitadas con estructura precisa aquí descrita, y el derecho es reservado para todos los cambios y modificaciones que vienen dentro del alcance de la invención, como se define en las reivindicaciones anexas.

Claims (10)

REIVINDICACIONES
1. Una método implementado por computadora para extender una cantidad efectiva de Registros de Uso General (GPRs; disponible para instrucciones de un programa en una computadora que tiene una primera cantidad de GPRs grandes, cada instrucción comprende un código de operación y uno o más campos GPR para especificar el GPRs correspondiente, cada GPR grande comprende una primera porción y una segunda porción, los GPRs grandes comprenden primeros GPRs pequeños que comprenden primeras porciones y segundos GPRs pequeños que comprenden segundas porciones, el método comprende: en respuesta a la computadora que está en un modo de GPR pequeño; ejecutar instrucciones de un primer conjunto de instrucciones, el primer conjunto de instrucciones es para obtener acceso a los primeros GPRs pequeños, la ejecución comprende generar direcciones de memoria para obtener acceso a operandos de memoria basados en los primeros GPRs pequeños u obtener acceso a primeros, operandos de GPR pequeño, donde los primeros GPRs pequeños comprenden las primeras porciones; y ejecutar instrucciones de un segundo conjunto de instrucciones, el segundo conjunto de instrucciones es para obtener acceso a los segundos GPRs pequeños, la ejecución comprende generar direcciones de memoria para obtener acceso a operandos de memoria basados en los segundos GPRs pequeños u obtener acceso a segundos operandos de GPR pequeño, donde los segundos GPRs pequeños comprenden las segundas porciones; y en respuesta a la computadora que está en un modo de GPR grande, ejecutar instrucciones de un tercer conjunto de instrucciones, la ejecución comprende generar direcciones dé memoria para obtener acceso a operandos de memoria basados en los GPRs grandes u obtener acceso a operandos de GPR grande que comprenden las primeras porciones y las segundas porciones.
2. El método según la reivindicación 1, donde el modo de GPR pequeño comprende estar en un modo de direccionamiento de 24 bitios o un modo de direccionamiento de 3.1 bitios.
3. El método según la reivindicación 1 o la reivindicación 2, donde la primera porción es de 32 bitios y la segunda porción es de32 bitios.
4. El método según cualquier reivindicación precedente, donde la ejecución de la instrucción del segundo conjunto de instrucciones comprende llevar a cabo una función definida del código de operación correspondiente basada en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente que comprende una ADICIÓN de dos funciones de operandos o una COMPARACIÓN de dos funciones de operandos .
5. El método según cualquiera de las reivindicaciones 1 a 3, donde la ejecución de la instrucción del segundo conjunto de instrucciones comprende llevar a cabo una función definida del código de operación correspondiente basada en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente comprende una CARGA de un operando de la función de memoria o un ALMACENAMIENTO de un operando a la función de memoria.
6. El método según cualquiera de las reivindicaciones 1 a ¦ 3, donde la ejecución de la instrucción del segundo conjunto de instrucciones comprende llevar a cabo una función definida del código de operación correspondiente basada en dos operandos, y almacenar el resultado, la función definida del código de operación correspondiente es una función de ALTERNAR Y LUEGO INSERTAR BITIOS SELECCIONADOS que comprende: alternación de un operando de la fuente por una cantidad especificada de instrucción; y insertar una porción seleccionada del en una porción seleccionada de un operando con especificidad de objetivo.
7. El método según la reivindicación 2, que comprende apoyar un Sistema operativo que funciona en el modo de GPR grande donde los GPRs grandes se almacenan y restauran durante intercambios de contexto para Aplicaciones que funcionan en modo de GPR pequeño.
8. El método según la reivindicación 7, donde el tercer conjunto de instrucciones comprende el primer conjunto de instrucciones y el segundo conjunto de instrucciones.
9. Un producto de programa informático para extender una cantidad efectiva de Registros de Uso General (GPRs) disponible para instrucciones de un programa en una computadora que tiene una primera cantidad de GPRs grandes, cada instrucción comprende un código de operación y uno o más campos GPR para especificar los GPRs correspondientes, cada GPR grande comprende una primera porción y una segunda porción, los GPRs grandes comprenden primeros GPRs pequeños que comprenden primeras porciones y segundos GPRs pequeños que comprenden segundas porciones, el producto de programa informático que comprende un soporte de almacenamiento tangible legible por un circuito de procesamiento e instrucciones de almacenamiento que, cuando se ejecuta por el circuito de procesamiento llevan a cabo el método según cualquiera de las reivindicaciones 1 a 8.
10. Un sistema informático para extender una cantidad efectiva de Registros de Uso General (GPRs) disponibles para instrucciones de un programa en una computadora que tiene una primera cantidad de GPRs grandes, cada instrucción comprende un código de operación y uno o más campos GPR para especificar el GPRs correspondiente, cada GPR grande comprende una primera porción y una segunda porción, los GPRs grandes comprenden primeros GPRs pequeños que comprenden primeras porciones y segundos GPRs pequeños que comprenden segundas porciones, que comprenden : una memoria; un procesador en comunicación con la memoria, el procesador comprende una instrucción que trae el elemento de recuperación instrucciones de memoria y uno o más elementos de ejecución para instrucciones recuperadas; donde el sistema informático se configura para llevar a cabo el método según cualquiera de las reivindicaciones 1 a 8.
MX2012014533A 2010-06-22 2010-11-08 Ampliacion de la cantidad de registros de uso general disponibles para instrucciones. MX2012014533A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/820,735 US8914619B2 (en) 2010-06-22 2010-06-22 High-word facility for extending the number of general purpose registers available to instructions
PCT/EP2010/067048 WO2011160726A1 (en) 2010-06-22 2010-11-08 Extending the number of general purpose registers available to instructions

Publications (1)

Publication Number Publication Date
MX2012014533A true MX2012014533A (es) 2013-01-29

Family

ID=43334493

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2012014533A MX2012014533A (es) 2010-06-22 2010-11-08 Ampliacion de la cantidad de registros de uso general disponibles para instrucciones.

Country Status (14)

Country Link
US (2) US8914619B2 (es)
EP (1) EP2430521A1 (es)
JP (2) JP5379825B2 (es)
KR (1) KR101464808B1 (es)
CN (1) CN102314333A (es)
AU (1) AU2010355817B2 (es)
BR (1) BRPI1103516B1 (es)
CA (1) CA2786049C (es)
IL (1) IL223587A (es)
MX (1) MX2012014533A (es)
RU (1) RU2562430C2 (es)
SG (1) SG186078A1 (es)
WO (1) WO2011160726A1 (es)
ZA (1) ZA201209644B (es)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914619B2 (en) 2010-06-22 2014-12-16 International Business Machines Corporation High-word facility for extending the number of general purpose registers available to instructions
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US9696975B2 (en) * 2010-09-03 2017-07-04 International Business Machines Corporation Allocating register halves independently
US9317285B2 (en) * 2012-04-30 2016-04-19 Apple Inc. Instruction set architecture mode dependent sub-size access of register with associated status indication
US20130339656A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Compare and Replace DAT Table Entry
US9639369B2 (en) 2013-11-11 2017-05-02 Apple Inc. Split register file for operands of different sizes
US10671391B2 (en) * 2014-02-25 2020-06-02 MIPS Tech, LLC Modeless instruction execution with 64/32-bit addressing
US20150293767A1 (en) * 2014-04-11 2015-10-15 Fujitsu Limited Rotating register file with bit expansion support
US20160246619A1 (en) * 2014-09-03 2016-08-25 Mediatek Inc. Method for handling mode switching with less unnecessary register data access and related non-transitory machine readable medium
CN107145334B (zh) * 2017-04-26 2020-10-09 龙芯中科技术有限公司 常量获取方法、装置、处理器及计算机可读存储介质
CN116507999A (zh) * 2020-09-29 2023-07-28 华为技术有限公司 一种处理器、处理方法及相关设备

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3432532B2 (ja) * 1992-08-03 2003-08-04 株式会社日立製作所 データ処理装置
JP2686011B2 (ja) * 1992-01-27 1997-12-08 富士通株式会社 レジスタ制御装置
WO1994027215A1 (en) 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding guest instructions for a host computer
US5546557A (en) 1993-06-14 1996-08-13 International Business Machines Corporation System for storing and managing plural logical volumes in each of several physical volumes including automatically creating logical volumes in peripheral data storage subsystem
US5751614A (en) 1994-03-08 1998-05-12 Exponential Technology, Inc. Sign-extension merge/mask, rotate/shift, and boolean operations executed in a vectored mux on an ALU
GB2289353B (en) * 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Data processing with multiple instruction sets
US5551013A (en) 1994-06-03 1996-08-27 International Business Machines Corporation Multiprocessor for hardware emulation
US5790825A (en) 1995-11-08 1998-08-04 Apple Computer, Inc. Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions
TW364976B (en) 1996-09-23 1999-07-21 Arm Corp Input operand control in data processing systems
TW343318B (en) * 1996-09-23 1998-10-21 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
GB2317467B (en) 1996-09-23 2000-11-01 Advanced Risc Mach Ltd Input operand control in data processing systems
US5838960A (en) 1996-09-26 1998-11-17 Bay Networks, Inc. Apparatus for performing an atomic add instructions
US5864703A (en) 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US6009261A (en) 1997-12-16 1999-12-28 International Business Machines Corporation Preprocessing of stored target routines for emulating incompatible instructions on a target processor
US6308255B1 (en) 1998-05-26 2001-10-23 Advanced Micro Devices, Inc. Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
US6343356B1 (en) * 1998-10-09 2002-01-29 Bops, Inc. Methods and apparatus for dynamic instruction controlled reconfiguration register file with extended precision
US20020147969A1 (en) 1998-10-21 2002-10-10 Richard A. Lethin Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method
US6857061B1 (en) * 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6877084B1 (en) 2000-08-09 2005-04-05 Advanced Micro Devices, Inc. Central processing unit (CPU) accessing an extended register set in an extended register mode
JP3659252B2 (ja) 2003-03-28 2005-06-15 セイコーエプソン株式会社 ベクトルデータのアドレス参照方法およびベクトルプロセッサ
US7284092B2 (en) 2004-06-24 2007-10-16 International Business Machines Corporation Digital data processing apparatus having multi-level register file
US7627723B1 (en) 2006-09-21 2009-12-01 Nvidia Corporation Atomic memory operators in a parallel processor
US7840783B1 (en) * 2007-09-10 2010-11-23 Netlogic Microsystems, Inc. System and method for performing a register renaming operation utilizing hardware which is capable of operating in at least two modes utilizing registers of multiple widths
US8694758B2 (en) 2007-12-27 2014-04-08 Intel Corporation Mixing instructions with different register sizes
US20090182982A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Rotate Then Insert Selected Bits Facility and Instructions Therefore
US20090182983A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Compare and Branch Facility and Instruction Therefore
US7877582B2 (en) * 2008-01-31 2011-01-25 International Business Machines Corporation Multi-addressable register file
US20100100692A1 (en) 2008-10-21 2010-04-22 International Business Machines Corporation Exploiting Register High-Words
US8386754B2 (en) * 2009-06-24 2013-02-26 Arm Limited Renaming wide register source operand with plural short register source operands for select instructions to detect dependency fast with existing mechanism
US8850166B2 (en) 2010-02-18 2014-09-30 International Business Machines Corporation Load pair disjoint facility and instruction therefore
US8438340B2 (en) 2010-02-18 2013-05-07 International Business Machines Corporation Executing atomic store disjoint instructions
US8914619B2 (en) 2010-06-22 2014-12-16 International Business Machines Corporation High-word facility for extending the number of general purpose registers available to instructions

Also Published As

Publication number Publication date
RU2012149004A (ru) 2014-05-27
US9459872B2 (en) 2016-10-04
ZA201209644B (en) 2013-08-28
SG186078A1 (en) 2013-01-30
JP5379825B2 (ja) 2013-12-25
US8914619B2 (en) 2014-12-16
CA2786049A1 (en) 2011-12-29
US20110314260A1 (en) 2011-12-22
JP5657074B2 (ja) 2015-01-21
AU2010355817B2 (en) 2014-04-03
IL223587A (en) 2017-07-31
CA2786049C (en) 2018-02-13
JP2012009020A (ja) 2012-01-12
KR20110139098A (ko) 2011-12-28
US20130117545A1 (en) 2013-05-09
BRPI1103516B1 (pt) 2021-01-12
RU2562430C2 (ru) 2015-09-10
JP2013242918A (ja) 2013-12-05
EP2430521A1 (en) 2012-03-21
CN102314333A (zh) 2012-01-11
KR101464808B1 (ko) 2014-11-27
BRPI1103516A2 (pt) 2016-05-17
WO2011160726A1 (en) 2011-12-29
AU2010355817A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
US9250904B2 (en) Modify and execute sequential instruction facility and instructions therefor
US9135004B2 (en) Rotate then operate on selected bits facility and instructions therefor
MX2012014533A (es) Ampliacion de la cantidad de registros de uso general disponibles para instrucciones.
US8516195B2 (en) Extract cache attribute facility and instruction therefore
US20110314263A1 (en) Instructions for performing an operation on two operands and subsequently storing an original value of operand
US10963391B2 (en) Extract target cache attribute facility and instruction therefor
US20090182983A1 (en) Compare and Branch Facility and Instruction Therefore
US20090182988A1 (en) Compare Relative Long Facility and Instructions Therefore
US20090182984A1 (en) Execute Relative Long Facility and Instructions Therefore
US20090182992A1 (en) Load Relative and Store Relative Facility and Instructions Therefore
US20090182985A1 (en) Move Facility and Instructions Therefore
US20090182982A1 (en) Rotate Then Insert Selected Bits Facility and Instructions Therefore

Legal Events

Date Code Title Description
FG Grant or registration