INVALIDACION DE ALMACENAMIENTO, BORRADO DE ELEMENTOS DE LA MEMORIA INTERMEDIA.

Un método para invalidar los elementos de tablas de traducción y borrar los correspondientes elementos de tablas de traducción dinámica de direcciones (DAT) de una memoria intermedia de traducción (TLB) asociada con una unidad de proceso en un sistema informático (100,

200, 300), comprendiendo el sistema informático una o más tablas de traducción de direcciones que proporcionan información de traducción para traducir direcciones virtuales a direcciones reales, en el que la información del elemento de tabla de traducción de direcciones se mantiene en la TLB, caracterizado porque el método comprende:

a) extraer para la ejecución de una instrucción (600) de máquina de Invalidación de Elementos de la Tabla de Traducción Dinámica de Direcciones (IDTE), comprendiendo la instrucción de IDTE un código de operación (602) que identifica dicha instrucción y un campo de información que comprende:

1) un primer registro (606) para indicar un origen y un tipo de una tabla de traducción de direcciones que contiene una gama de uno o más elementos a ser invalidados,

2) un segundo registro (608) para incluir los índices utilizados para seleccionar un elemento de tabla de traducción en un tipo de tabla de traducción de direcciones indicado por el primer registro, y un bit (621) para indicar si un borrado mediante la operación de un Elemento de Control del Espacio de Direcciones (ASCE) o una operación de invalidación y borrado han de ser realizados, y un campo de gama (622) para identificar un numero de elementos de tablas de traducción adicionales, en la tabla de traducción de direcciones indicada por el primer registro, a ser invalidados, y

3) un tercer registro (604) para indicar un origen y un tipo de tabla de traducción de direcciones para ser utilizado cuando el borrado, mediante la operación del elemento de control del espacio de direcciones, ha de ser realizado solamente por elementos de TLB de borrado de manera selectiva; y

b) ejecutar la instrucción (600) de máquina de IDTE extraída, comprendiendo el paso de ejecución:

i. determinar, desde el bit (621), en el segundo registro, si un borrado por la operación del elemento de control del espacio de direcciones (Fig. 9) ha de ser realizado;

ii. responder al bit (621) indicando que el borrado mediante la operación del elemento de control del espacio de direcciones ha de ser realizado, borrando la TLB, independientemente del contenido del primer registro (606), de esos elementos en los que el origen de la tabla de traducción de direcciones de una tabla de traducción fue utilizado para crear las elementos en la TLB que corresponden al origen de la tabla de traducción de direcciones en el tercer registro (624); y

iii. responder al bit (621) indicando que el borrado mediante la operación del elemento de control del espacio de dirección no ha de ser realizado, invalidando la gama de los elementos de la tabla de traducción de direcciones de una tabla de traducción identificada por el campo de gama (622), y borrando los elementos de TLB que corresponden a los elementos invalidados

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E08150756.

Solicitante: INTERNATIONAL BUSINESS MACHINES CORPORATION.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: NEW ORCHARD ROAD,ARMONK, NY 10504.

Inventor/es: HELLER,LISA, PFEFFER,ERWIN, PLAMBECK,KENNETH, SLEGEL,TIMOTHY.

Fecha de Publicación: .

Fecha Solicitud PCT: 6 de Mayo de 2004.

Fecha Concesión Europea: 18 de Noviembre de 2009.

Clasificación Internacional de Patentes:

  • G06F12/10L
  • G06F12/10L2
  • G06F12/10S
  • G06F9/30Z
  • G06F9/38D

Clasificación PCT:

  • G06F12/10 FISICA.G06 CALCULO; CONTEO.G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 12/00 Acceso, direccionamiento o asignación en sistemas o arquitecturas de memoria (entrada digital a partir de, o salida digital hacia soportes de registro, p. ej. hacia unidades de almacenamiento de disco G06F 3/06). › Traducción de direcciones.
  • G06F9/30 G06F […] › G06F 9/00 Disposiciones para el control por programa, p. ej. unidades de control (control por programa para dispositivos periféricos G06F 13/10). › Disposiciones para ejecutar instrucciones de máquinas, p. ej. decodificación de instrucciones (para ejecutar microinstrucciones G06F 9/22).
  • G06F9/38 G06F 9/00 […] › Ejecución simultánea de instrucciones, p. ej. segmentación, anticipación.

Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre.

INVALIDACION DE ALMACENAMIENTO, BORRADO DE ELEMENTOS DE LA MEMORIA INTERMEDIA.

Fragmento de la descripción:

Invalidación de almacenamiento, borrado de elementos de la memoria intermedia.

Esta invención está relacionada, en general, con el proceso dentro de un entorno informático y, en particular, con uno o más de invalidación de almacenamiento, borrado de elementos de la memoria intermedia y una instrucción para ellos.

Los entornos informáticos existentes utilizan el almacenamiento virtual que es mantenido normalmente en almacenamiento auxiliar para aumentar el tamaño del almacenamiento disponible. Cuando se hace referencia a una página de almacenamiento virtual, la dirección virtual utilizada cuando se hace referencia a esta página es traducida, por medio de una traducción dinámica de direcciones, en una dirección real de almacenamiento. Si la traducción ha tenido éxito, el almacenamiento virtual es válido; en otro caso, es inválido. Una página de almacenamiento virtual está indicada como válida o inválida por medio de un bit de invalidación en un elemento de la tabla de páginas, incluyendo este elemento una dirección real de almacenamiento si la página es válida.

Las páginas de almacenamiento pueden ser invalidadas de una en una. Por ejemplo, en un entorno informático basado en la arquitectura/z, ofrecida por International Business Machines Corporation, se utiliza una instrucción, denominada como Instrucción de Elemento de Invalidación de La Tabla de Páginas (IPTE), para invalidar una página de almacenamiento. La invalidación incluye la colocación de un indicador de invalidación en una estructura de control, asociado con el almacenamiento virtual y situado en el almacenamiento físico principal. En el almacenamiento físico principal, para indicar que no puede traducirse una dirección virtual de un lugar del almacenamiento virtual, por medio de una traducción dinámica de direcciones, en una dirección de almacenamiento físico principal, denominada también dirección real. Además, se utiliza la instrucción para borrar los elementos de la memoria intermedia interna a la máquina, asociados con la página, pudiendo utilizarse esos elementos durante la traducción dinámica de direcciones para evitar el acceso a estructuras de control en el almacenamiento físico principal. Por ejemplo, en la arquitectura/z, existen Memorias Intermedias de Traducción Adelantada, que se utilizan durante la traducción dinámica de direcciones de las direcciones virtuales a direcciones reales. Cuando se invalida una página de almacenamiento, se borran también las correspondientes memorias intermedias de elementos asociados con esa página.

También hay instrucciones que permiten la purga de todas las Memorias Intermedias de Traducción Adelantada. Por ejemplo, en la arquitectura/z, una instrucción, denominada instrucción de Comparar e Intercambiar y Purgar (CSP), purga todos los elementos de las Memorias Intermedias de Traducción Adelantada.

El documento US-A-5946717 (de Uchibori Katsuaki) de 31 de Agosto de 1999, y el documento "Arquitectura de Sistemas de Empresas/390 Principios de Funcionamiento" SA22-7201-07 [En línea] de 31 de Julio de 2001, XP002294122, recuperado en Internet el 24-08-2004, URL: http://publibz.boulder.ibm.com/epubs/pdf/dz9ar007.pdf> describen entornos informáticos que implementan la invalidación de elementos de la tabla y el borrado de las memorias intermedias.

Así, aunque hay instrucciones para invalidar una página de almacenamiento y limpiar las memorias intermedias de elementos asociados con esa página, e instrucciones para limpiar todas las memorias intermedias, sigue existiendo la necesidad de instrucciones que puedan invalidar selectivamente diversos tamaños de unidades de almacenamiento y/o limpiar las memorias intermedias de elementos asociados con ellas. Por ejemplo, existe la necesidad de una instrucción que permita la especificación de una unidad seleccionada de almacenamiento mayor que una página para que sea invalidada y/o borre los elementos de la memoria intermedia asociados con ella. Existe una necesidad adicional de una instrucción que permita borrar los elementos de la memoria intermedia para unidades de almacenamiento seleccionadas, sin afectar elementos de memoria intermedia de otras unidades de almacenamiento.

La presente invención proporciona un método como se reivindica en la reivindicación 1, y un sistema y un programa de ordenador correspondientes.

Se realizan características y ventajas adicionales por medio de las técnicas de la presente invención. Otros modos de realización y aspectos de la invención se describen también en detalle en esta memoria.

La materia objeto que se considera como la invención, está particularmente indicada y reivindicada separadamente en las reivindicaciones del final de la memoria. Los anteriores y otros objetos, características y ventajas de la invención son evidentes a partir de la siguiente descripción detallada, tomada conjuntamente con los dibujos que se acompañan, en los cuales:

La figura 1 representa un modo de realización de un entorno informático que incorpora y utiliza uno o más aspectos de la presente invención;

La figura 2 representa un modo de realización de detalles adicionales asociados con un controlador de la figura 1, de acuerdo con un aspecto de la presente invención;

La figura 3 representa un modo de realización de un ordenador central que puede emular a otro ordenador, de acuerdo con un aspecto de la presente invención;

La figura 4 representa un modo de realización de la lógica asociada con el almacenamiento de invalidación, de acuerdo con un aspecto de la presente invención;

La figura 5 representa un modo de realización de la lógica asociada con el borrado de elementos de la memoria intermedia, de acuerdo con un aspecto de la presente invención;

La figura 6a representa un modo de realización de un formato de una instrucción de Invalidación de Elementos de la Tabla de Traducción Dinámica de Direcciones (IDTE), de acuerdo con un aspecto de la presente invención;

La figura 6b representa un modo de realización de los campos asociados con el registrador general R1 de la instrucción IDTE de la figura 6a, de acuerdo con un aspecto de la presente invención;

La figura 6c representa un modo de realización de los campos asociados con el registrador general R2 de la instrucción IDTE de la figura 6a, de acuerdo con un aspecto de la presente invención;

La figura 6d representa un modo de realización de los campos asociados con el registrador general R3 de la instrucción IDTE de la figura 6a, de acuerdo con un aspecto de la presente invención;

Las figuras 7a-7b representan un modo de realización de la lógica asociada con la instrucción IDTE, de acuerdo con un aspecto de la presente invención;

La figura 8a representa un modo de realización de los campos del registrador general R1 que se utiliza para una operación alternativa de la instrucción IDTE, de acuerdo con un aspecto de la presente invención;

La figura 8b representa un modo de realización de los campos del registrador general R2 que se utiliza para una operación alternativa de la instrucción IDTE, de acuerdo con un aspecto de la presente invención;

La figura 8c representa un modo de realización de los campos del registrador general R3 que se utiliza para una operación alternativa de la instrucción IDTE, de acuerdo con un aspecto de la presente invención; y

La figura 9 representa un modo de realización de la lógica asociada con la operación alternativa de la instrucción IDTE, de acuerdo con un aspecto de la presente invención.

De acuerdo con un aspecto de la presente invención, se invalida una parte de almacenamiento especificada (por ejemplo, un almacenamiento virtual). Como ejemplos, se selecciona un segmento de almacenamiento, que incluye una pluralidad de páginas de almacenamiento o una región de almacenamiento, que incluye una pluralidad de segmentos de almacenamiento, para ser invalidado. La invalidación se facilita colocando indicadores de invalidación situados en elementos de la estructura de datos, correspondientes a las unidades de almacenamiento a invalidar. En un aspecto adicional de la presente invención, se borran los elementos de la memoria intermedia (por ejemplo, los elementos de la Memoria Intermedia de Tablas de Paginación de Traducciones) asociados con el almacenamiento a invalidar, u otro almacenamiento. Más aún, en otro aspecto de la presente invención, los elementos de la memoria intermedia asociados con espacios de direcciones seleccionadas, son...

 


Reivindicaciones:

1. Un método para invalidar los elementos de tablas de traducción y borrar los correspondientes elementos de tablas de traducción dinámica de direcciones (DAT) de una memoria intermedia de traducción (TLB) asociada con una unidad de proceso en un sistema informático (100, 200, 300), comprendiendo el sistema informático una o más tablas de traducción de direcciones que proporcionan información de traducción para traducir direcciones virtuales a direcciones reales, en el que la información del elemento de tabla de traducción de direcciones se mantiene en la TLB, caracterizado porque el método comprende:

a) extraer para la ejecución de una instrucción (600) de máquina de Invalidación de Elementos de la Tabla de Traducción Dinámica de Direcciones (IDTE), comprendiendo la instrucción de IDTE un código de operación (602) que identifica dicha instrucción y un campo de información que comprende:
1) un primer registro (606) para indicar un origen y un tipo de una tabla de traducción de direcciones que contiene una gama de uno o más elementos a ser invalidados,
2) un segundo registro (608) para incluir los índices utilizados para seleccionar un elemento de tabla de traducción en un tipo de tabla de traducción de direcciones indicado por el primer registro, y un bit (621) para indicar si un borrado mediante la operación de un Elemento de Control del Espacio de Direcciones (ASCE) o una operación de invalidación y borrado han de ser realizados, y un campo de gama (622) para identificar un numero de elementos de tablas de traducción adicionales, en la tabla de traducción de direcciones indicada por el primer registro, a ser invalidados, y
3) un tercer registro (604) para indicar un origen y un tipo de tabla de traducción de direcciones para ser utilizado cuando el borrado, mediante la operación del elemento de control del espacio de direcciones, ha de ser realizado solamente por elementos de TLB de borrado de manera selectiva; y
b) ejecutar la instrucción (600) de máquina de IDTE extraída, comprendiendo el paso de ejecución:
i. determinar, desde el bit (621), en el segundo registro, si un borrado por la operación del elemento de control del espacio de direcciones (Fig. 9) ha de ser realizado;
ii. responder al bit (621) indicando que el borrado mediante la operación del elemento de control del espacio de direcciones ha de ser realizado, borrando la TLB, independientemente del contenido del primer registro (606), de esos elementos en los que el origen de la tabla de traducción de direcciones de una tabla de traducción fue utilizado para crear las elementos en la TLB que corresponden al origen de la tabla de traducción de direcciones en el tercer registro (624); y
iii. responder al bit (621) indicando que el borrado mediante la operación del elemento de control del espacio de dirección no ha de ser realizado, invalidando la gama de los elementos de la tabla de traducción de direcciones de una tabla de traducción identificada por el campo de gama (622), y borrando los elementos de TLB que corresponden a los elementos invalidados.

2. El método de la reivindicación 1 en el que la tabla de traducción de direcciones es una cualquiera de una tabla de regiones o de una tabla de segmentos.

3. El método de la reivindicación 2, en el que la invalidación del paso ii comprende abandonar los elementos en la TLB que no corresponden al origen de la tabla de traducción de direcciones; y en el que el paso de invalidación de iii comprende abandonar las elementos en la TLB que no corresponde a la gama invalidada de los elementos de la tabla de traducción de direcciones

4. El método de la reivindicación 3, en el que el borrado de los elementos de TLB que corresponden a una tabla de segmentos se obtiene al borrar los elementos de tablas de páginas múltiples en la TLB.

5. El método de la reivindicación 4, en el que solamente son borrados los elementos de tablas de páginas que corresponden a la tabla del segmento especificado por la instrucción de IDTE.

6. El método de la reivindicación 1, en el que una parte del segundo registro utilizado para seleccionar los elementos en una tabla de traducción de direcciones indicada por el primer registro es un índice de invalidación efectivo.

7. El método de la reivindicación 6, en el que todos los elementos de TLB son borrados en el paso ii cuando la tabla de traducción de direcciones es una tabla de regiones para localizar una tabla de segmentos.

8. El método de la reivindicación 1, en el que un elemento de TLB es borrado sin tener en cuenta el tipo de tabla de traducción de direcciones indicado por el tercer registro cuando se realiza cualquiera de las operaciones de invalidación y borrado.(o se realiza el borrado mediante la operación del elemento de control del espacio).

9. El método de la reivindicación 1, en el que los elementos de TLB asociados con una o más unidades de proceso son borrados además de los elementos de TLB asociados con la unidad de proceso que ejecutó la instrucción.

10. El método de la reivindicación 1, en que el campo de gama (622) identifica los elementos de la tabla de traducción adicionales.

11. El método de la reivindicación 1, en el que la instrucción de IDTE se completa cuando son borrados los elementos de TLB y todas las demás unidades de proceso han completado los accesos a la memoria que involucra a estos elementos de TLB.

12. El método de la reivindicación 1, en el que las tablas de traducción de direcciones comprenden una o más de una primera tabla de regiones para localizar una segunda tabla de regiones, una segunda tabla de regiones para localizar una tercera tabla de regiones, una tercera tabla de regiones para localizar una tabla de segmentos, en el que se configura una tabla de segmentos para localizar una tabla de páginas que tiene una pluralidad de elementos de tabla de páginas para localizar una página en la memoria.

13. Un programa de ordenador que comprende las instrucciones para llevar a cabo todos los pasos del método según cualquiera de las reivindicaciones del método precedentes, cuando se ejecuta dicho programa de ordenador en un sistema informático.

14. Un sistema que comprende medios adaptados para llevar a cabo todos los pasos del método según cualquiera de las reivindicaciones del método precedentes.


 

Patentes similares o relacionadas:

Imagen de 'INVALIDACIÓN DE ALMACENAMIENTO, BORRADO DE ELEMENTOS DE LA MEMORIA…'INVALIDACIÓN DE ALMACENAMIENTO, BORRADO DE ELEMENTOS DE LA MEMORIA INTERMEDIA, del 27 de Mayo de 2011, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un método para borrar elementos de memorias intermedias de traducción de direcciones en un sistema informático , comprendiendo el sistema […]

Imagen de 'INVALIDACIÓN DE ALMACENAMIENTO, BORRADO DE ELEMENTOS DE LA MEMORIA…'INVALIDACIÓN DE ALMACENAMIENTO, BORRADO DE ELEMENTOS DE LA MEMORIA INTERMEDIA, del 29 de Abril de 2011, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un método para invalidar una gama de dos o más elementos de una tabla de traducción de direcciones en un sistema informático que tiene tablas de […]

MECANISMO DE EXTRACCIÓN DE ATRIBUTOS DE CACHÉ E INSTRUCCIÓN PARA EL MISMO, del 21 de Noviembre de 2011, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un método de funcionamiento de un ordenador que comprende: la extracción , por un procesador de un sistema de procesamiento, de una […]

DESCUBRIMIENTO DE TOPOLOGÍA VIRTUAL PARA CONFIGURACIÓN DE ORDENADOR, del 21 de Noviembre de 2011, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Para un sistema de ordenador anfitrión dividido en particiones lógicamente que comprende procesadores anfitriones, un método para descubrir […]

Imagen de 'PROCESADOR CON GENERADOR DE DIRECCIONES'PROCESADOR CON GENERADOR DE DIRECCIONES, del 11 de Marzo de 2011, de TELEFONAKTIEBOLAGET LM ERICSSON (PUBL): Procesador (1a, 1b) para procesar datos, que comprende: un generador de direcciones, que es operativo para generar una secuencia de direcciones que tienen […]

Imagen de 'USO DEL SISTEMA DE RENOMBRADO DE REGISTROS PARA EL ENVÍO DE LOS…'USO DEL SISTEMA DE RENOMBRADO DE REGISTROS PARA EL ENVÍO DE LOS RESULTADOS INTERMEDIOS ENTRE INSTRUCCIONES CONSTITUTIVAS DE UNA INSTRUCCIÓN EXPANDIDA, del 21 de Febrero de 2011, de QUALCOMM INCORPORATED: Un procedimiento de ejecución de una instrucción expandida, que comprende: la conversión de la instrucción expandida en dos o más instrucciones […]

Control de ejecución de hilos en un procesador multihilo, del 24 de Junio de 2020, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un método para controlar la ejecución de hilos en un entorno informático, comprendiendo dicho método: detener , mediante un hilo […]

Arquitectura e instrucciones flexibles para el estándar de cifrado avanzado (AES), del 27 de Mayo de 2020, de INTEL CORPORATION: Un procesador que comprende: una pluralidad de núcleos; una caché de instrucciones de nivel 1, L1, para almacenar una pluralidad de instrucciones […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .