Almacenar el método de procesamiento de la memoria caché
Descripción general
 En un aparato de procesamiento de información que tiene un caché de tipo de almacenamiento intermedio, se acelera el procesamiento de la tienda y se reduce la carga de transferencia de datos para mejorar el rendimiento. ] Cuando una solicitud de escritura omite la memoria caché de operando 1, los medios de evaluación de procesamiento de almacenamiento consecutivos intrabloque 20 juzgan si la solicitud de escritura es procesamiento de tienda consecutivo en el bloque y juzga si la solicitud de escritura está o no en curso En el caso de una solicitud de escritura a direcciones consecutivas hasta la dirección, una solicitud de escritura de una palabra que incluye la dirección en el medio de una palabra que incluye la dirección final se escribe en direcciones consecutivas desde la mitad del bloque hasta la última dirección Desde la palabra que incluye la dirección principal hasta la palabra que incluye la dirección en el medio, el medio 7 de generación de solicitud lee en voz alta generando una solicitud que reemplaza la solicitud de carga de bloque, y realiza el procesamiento. Además, cuando se realiza un procesamiento de tienda consecutivo para todo un bloque, el procesamiento se realiza sin realizar el procesamiento de competencia.
Campo técnico
La presente invención se refiere a un método de procesamiento de almacenamiento de una memoria caché de un aparato de procesamiento de información que tiene una memoria caché de tipo de almacenamiento.
Antecedentes de la técnica
La memoria caché es para llenar el espacio de velocidad entre la unidad de procesamiento central (CPU) y la memoria principal y realizar acceso a memoria de alta velocidad, y es una memoria caché (SRAM) que tiene un tiempo de acceso más alto que la DRAM utilizada para la memoria principal. , Y parte de los datos de la memoria principal se guardan temporalmente en la memoria caché en bloque para acceder desde la CPU. Es decir, cuando se emite una solicitud de lectura de datos desde la CPU, primero se verifica si hay datos de la dirección de memoria principal solicitada en la memoria caché. Si hay datos (acceso a la memoria caché), la operación de la CPU Los datos se transfieren a la parte, y solo cuando no hay datos (mishit), los datos se transfieren desde la memoria principal. En el sistema de memoria caché, dado que es necesario verificar si hay datos en la memoria caché o no, cuando se produce una falla, se tarda más que cuando se accede directamente a la memoria principal, Dependiendo de la capacidad de la memoria y el método de control, es posible obtener una proporción de aciertos de 90% o más. La transferencia de datos a la memoria caché se realiza en unidades de una memoria principal de un bloque y una memoria caché dividida en tamaños fijos.
Dicho método de control de escritura en memoria caché incluye un método de almacenamiento directo y un método de almacenamiento interno. En el método de almacenamiento directo, si hay un bloqueo correspondiente en la memoria caché al escribir la ocurrencia, la escritura también se realiza en la memoria principal al mismo tiempo que se escribe. Por otro lado, el esquema de almacenamiento en, no se refleja inmediatamente en la memoria incluso principal, si hay una solicitud de escritura, después de una operación de escritura sólo en la memoria caché, de manera que la escritura a la memoria principal cuando se conduce fuera del bloque , Es más ventajoso que el método de almacenamiento para mejorar la velocidad.
En la memoria caché del tipo de la tienda convencional, cuando una solicitud de escritura falla, todas las palabras de un bloque se cargan en la memoria caché al cargar el bloque, y luego se realiza el procesamiento posterior.
Tarea de solución
Sin embargo, en el método de procesamiento convencional descrito anteriormente, la tienda procesando instrucciones de longitud variable, etc., y puede convertirse en otra palabra se convierte en la palabra superior o duran sólo escritura parcial en el bloque de la memoria caché es una escritura totales, para actualizar 1 bloque todo En el caso del procesamiento, dado que se espera el procesamiento posterior hasta que la carga del bloque lea los datos innecesarios, se retrasa el tiempo de procesamiento de dicho almacenamiento y, como resultado, se transfieren datos innecesarios. Existe un problema que aumenta la carga entre el propio procesador y la memoria principal y otro procesador.
La presente invención se ha realizado en vista de los problemas anteriores, la solicitud de caché de escritura de la transformación almacenamiento continuo mejora la eficiencia de la transferencia de datos en el caso de mishit, para realizar el procesamiento de almacenamiento de alta velocidad en el caso de un mishit Y para proporcionar un método de procesamiento de almacenamiento de la memoria.
Solución
Para alcanzar el objetivo del problema convencional anterior, el método de procesamiento de caché de la presente invención se caracteriza porque en un aparato de procesamiento de información que tiene un caché de tipo de almacenamiento, cuando una dirección de un destino de una solicitud de escritura no existe en el caché, Es una solicitud de escritura a direcciones consecutivas en el bloque de la memoria caché, y si se trata de una solicitud de escritura a direcciones consecutivas desde la dirección superior del bloque hasta la mitad del bloque, la dirección A la palabra que incluye la dirección final, y en el caso de una solicitud de escritura a direcciones consecutivas desde el medio del bloque a la dirección final, la dirección que incluye la dirección de inicio se incluye a partir de la palabra, incluida la dirección de inicio Leyendo la palabra, leyendo desde la dirección superior del bloque hasta la dirección final Cuando una solicitud de escritura a la dirección está configurado como se caracteriza por no leer.
En el aparato de procesamiento de información que tiene una memoria caché de tipo de almacenamiento, el aparato de procesamiento de tienda de la presente invención decodifica una instrucción para ser ejecutada, y cuando la instrucción es una solicitud de escritura a una dirección en un bloque de la memoria caché, escribe Un medio de evaluación de solicitud de escritura para juzgar si dicha señal de solicitud de escritura es o no una solicitud de escritura a direcciones consecutivas cuando una dirección de destino de la solicitud de escritura no existe en la memoria caché; Cuando la entrada de señal de solicitud de escritura al medio de determinación de solicitud es una solicitud de escritura a direcciones consecutivas desde la dirección superior del bloque al centro del bloque, la palabra incluye la última dirección de la palabra, incluida la última dirección Para la memoria principal u otro procesador, y agrega al medio del bloque Una solicitud a la memoria principal u otro procesador para leer desde la palabra, incluida la dirección principal a la palabra, incluida la dirección en el caso donde la solicitud es una solicitud de escritura a direcciones consecutivas desde la dirección de inicio hasta la dirección final del bloque Y una solicitud que genera medios para emitir una señal innecesaria para leer en la memoria principal u otro procesador cuando la solicitud es una solicitud de escritura a direcciones sucesivas desde la dirección a la dirección final.
Además aparato de procesamiento de información que tiene un método store-en la memoria caché de la presente invención, la memoria principal, o en otra memoria caché para la celebración de parte de los datos o instrucciones en el procesador en unidades de bloque, los datos o instrucciones de instrucciones de acceso de recepción Una unidad de detección de aciertos que determina si existe o no una dirección de destino en la memoria caché, y una unidad de decodificación que decodifica las instrucciones ejecutadas y, cuando la instrucción es una solicitud de escritura a una dirección en un bloque de la memoria caché, Un medio de evaluación de solicitud de escritura para juzgar si la señal de solicitud de escritura es o no una solicitud de escritura a direcciones consecutivas cuando una dirección objetivo de la solicitud de escritura no existe en la memoria caché; Cuando se juzga por la detección de aciertos significa que la dirección de destino no existe en la memoria caché Se solicita una solicitud para leer un bloque que incluye datos o instrucciones necesarios de la memoria principal u otro procesador y la señal de solicitud de escritura ingresada al medio de evaluación de solicitud es una secuencia de una secuencia de direcciones desde la dirección principal del bloque a una dirección en el camino Se solicita una solicitud de lectura de la palabra, incluida la dirección en el centro de la palabra, incluida la dirección final, en lugar de la solicitud de lectura del bloque, y cuando la solicitud es una solicitud de escritura a la dirección que debe completarse, Se solicita una solicitud para leer de la palabra, incluida la dirección principal de la palabra, incluida la dirección en lugar de la solicitud de lectura del bloque, en el caso de una solicitud de escritura a direcciones consecutivas desde la dirección de inicio del bloque hasta la final Si se trata de una solicitud de escritura a direcciones consecutivas hasta la dirección, el blog Un búfer de lectura para almacenar datos o instrucciones de una memoria principal u otro procesador en base a una solicitud de dicho medio de generación de solicitud, un búfer de lectura para almacenar Un medio aritmético para ingresar datos o una instrucción de la dirección cuando existe una dirección objetivo y para ingresar datos o un comando del búfer de lectura cuando la dirección objetivo no existe y actualizar los datos o las instrucciones mediante la ejecución de los medios aritméticos Y un medio de actualización para almacenar los datos en la memoria caché.
En este caso, los medios de evaluación de solicitud de escritura pasan la información de dirección a los medios de generación de solicitud cuando es una solicitud de escritura a la dirección donde la solicitud de escritura es continua.
Descripción de las realizaciones preferidas Ahora se describirá una realización de la presente invención con referencia a los dibujos. La figura 1 es un diagrama de bloques de la periferia de control de la memoria caché del operando en el procesador que muestra una realización de la presente invención.
Primero, con referencia a la figura, se describirá la operación para el procesamiento de lectura en el caché del operando. 1 es un caché de operando de tipo de entrada, indexado por la dirección de solicitud 2 para acceso de operando generado cada acceso de memoria. La validez del índice de caché del operando se realiza comprobando la presencia o ausencia de un golpe de caché en el medio de detección de aciertos 3, y si se acelera, los datos de acierto 4 se suministran como un operando a los medios aritméticos 5.
En el caso fueron mishit, mishit señal 6 de la unidad de detección hit 3 es enviada, se genera una señal de petición de carga de bloque de 8 por medios de generación de solicitud 7, a través de medios de la interfaz 9 de la memoria principal otros procesadores Se emite una solicitud de carga de bloques al otro procesador de memoria principal y se espera el procesamiento de los medios de operación 5 hasta que se obtengan los datos deseados.
Cuando el bloque solicitado se devuelve desde la memoria principal u otro procesador, los datos devueltos se almacenan en la memoria intermedia de lectura 11 como los datos de lectura 10 a través de los medios de interfaz 9 y luego se envían a los medios aritméticos 5, señal de finalización de la llegada de datos 12 de la unidad de interfaz 9 se envía a la unidad de instrucción de reinicio de procesamiento 13, por la señal de instrucción de procesamiento de reinicio 14 se envía a medios de cálculo 5 de la unidad de instrucción de reinicio de procesamiento 13, el procesamiento por el medio aritmético 5 se reanuda . La salida del búfer de lectura 11 también se envía a la memoria caché de operando 1, y el procesamiento de registro a la memoria caché de operando 1 también se realiza.
A continuación, se describirá la operación de procesamiento de tienda normal que no es el procesamiento de tienda consecutivo en el bloque a la memoria caché de operando. La operación en la que se envían los datos deseados a la unidad aritmética 5 en cualquier caso de fallo de acceso al acceder a la memoria caché de operando 1 es la misma que en el caso del procesamiento de lectura. Sin embargo, en el caso de una falla, no se realiza ninguna operación de registro en la memoria caché de operando 1 cuando se envía desde la memoria tampón de lectura 11 a los medios aritméticos 5.
La salida de los datos de la visita 4 o el búfer de lectura 11 se envían a la unidad de cálculo 5, cuando los medios se obtienen los datos del almacén por la computación 5, el enlace entre los datos 11 obtenidos por los datos de almacenamiento y la memoria caché el operando 1 o Bloque de carga , Los datos para actualizar la memoria caché de operando 1 se generan, se envían a los medios de actualización 16 a través de la memoria intermedia de almacenamiento 15, y la memoria caché de operando 1 se actualiza. Este procesamiento de lectura y el procesamiento de tienda normal son similares a los de la memoria caché convencional.
A continuación, se describirá la operación en el caso en que la memoria caché falta en el proceso de almacenamiento continuo dentro de un bloque, tal como una instrucción de longitud variable que es una característica de la presente invención. Tenga en cuenta que el procesamiento al presionar la memoria caché de operandos en el procesamiento de almacenamiento continuo en el bloque es el mismo que el procesamiento cuando se golpea la memoria caché de operandos en el proceso normal de lectura y almacenamiento descrito anteriormente.
La figura 2 es un diagrama de flujo desde la aparición de la solicitud de procesamiento de la tienda hasta la finalización del procesamiento continuo de la tienda. En lo sucesivo, las características de la presente invención se describirán con referencia a las figuras 1 y 2. En primer lugar, la generación de la petición de almacenamiento, si la dirección de solicitud 2 está presente en la memoria caché el operando 1, se determina por los medios de detección hit 3 (paso 201), un acierto de caché se produce, si está presente, golpeó datos 4 a la unidad aritmética 5 (Paso 202). Al descodificar la memoria caché de operando por la dirección de solicitud 2, cuando el decodificador 18, que recibe la instrucción 17 como entrada, se decodifica como una solicitud de tienda, la señal decodificada 19 se envía a los medios de determinación de almacenamiento continuo en bloque 20. Además de la señal de descifrado 19 del decodificador 18, se introduce una longitud de solicitud 21 que indica la posición de escritura final desde la dirección de almacenamiento generada por separado desde la dirección de solicitud 2 a los medios de evaluación de almacenamiento consecutivos intrabloque 20, Se determina si es o no un proceso de almacenamiento continuo (etapa 203).
Cuando el contenido del proceso de almacenamiento es un proceso de almacenamiento para actualizar todos los bloques de la memoria caché, no hay necesidad de leer datos del bloque a carga de bloques en absoluto, de modo que la señal de detección de almacenamiento completa 22 se envía a los medios de generación de solicitudes 7 (Etapa 204). En lugar de generar la señal de solicitud de carga de bloque 8 por los medios de generación de solicitud 7, se genera una señal de notificación de propiedad de bloque 23 y se transmite a la memoria principal y otros procesadores a través de los medios de interfaz 9 Se realiza la notificación de propiedad de los datos (paso 205). Cuando los datos de un bloque del bloque se obtienen mediante los medios de cálculo 5, los medios de actualización 16 llevan a cabo el proceso de registro en el caché de operando 1.
En los medios de determinación de almacenamiento consecutivos dentro del bloque 20, cuando se determina que el proceso de almacenamiento continuo es desde la dirección en el medio del bloque hasta la dirección final o desde la dirección superior del bloque hasta el centro del bloque, Y enviado a los medios de generación de solicitud 7 y al medio de instrucción de reanudación de procesamiento 13 como una señal de información 24 (etapa 206). En la señal de información de dirección 24 recibida o por medios de generación de búsqueda 7, los bloques en lugar de la señal de petición de carga bloque, palabra de señal de petición 25 para solicitar sólo la palabra requerida se genera, la memoria principal otro procesador a través de los medios de interfaz 9 (Paso 207).
Si es también el procesamiento de almacenamiento continuo hasta la dirección final durante la dirección en este momento bloques, necesario para la palabra que contiene el medio de la dirección de la palabra que contiene la dirección que lleva un procesamiento de almacenamiento continuo hasta la mitad de la dirección de la primera dirección del bloque Si lo hay, se realiza una solicitud de una palabra que incluye la dirección final a partir de una palabra que incluye una dirección intermedia. Cuando se devuelve la palabra correspondiente, el proceso se reinicia enviando la señal de finalización de llegada de datos 12 al proceso que reanuda los medios de instrucción 13, y los medios informáticos 5 y los medios de actualización 16 comparan los datos que combinan la palabra correspondiente y los datos almacenados Y la palabra que se escribirá como un todo se registra en el caché del operando 1.
En el bloque almacenar continuamente los medios 20 de determinación, cuando la solicitud de tienda no es normalmente solicitud de procesamiento petición de proceso continua, la generación solicitud significa 7 genera una memoria principal por la etapa descrita anteriormente, el bloque de transferencia mediante el envío de la señal de petición de carga de bloque Solicita el otro procesador (paso 208).
Al realizar el procesamiento de registro en todos los cachés de operando 1 descritos anteriormente, si el bloque de reemplazo es un bloque en el que los últimos datos existen solo en su propio procesador, el procesamiento de barrido del bloque de reemplazo se realiza antes del procesamiento de registro Esto se hace de la misma manera que en la técnica anterior enviando los datos de barrido 26 leídos desde la memoria caché de operando 1 a los medios de interfaz 9.
Como se describió anteriormente, procesamiento de almacenamiento continuo desde la dirección de inicio del bloque hasta la mitad del bloque con instrucciones de longitud variable o similar, procesamiento de almacenamiento continuo desde la dirección en el medio del bloque hasta la dirección final y procesamiento de almacenamiento continuo para actualizar todos los bloques Se realiza, incluso si se produce una falla, no solo se solicita la transferencia de datos de la unidad de bloque a la memoria principal de otro procesador, sino que solo se transfiere la palabra que incluye los datos necesarios. Más preferida, la invención se ha descrito a modo de ejemplos, la presente invención no se limita necesariamente a las realizaciones anteriores.
Efecto de la invención
Como se describe anteriormente, según la presente invención, en un aparato de procesamiento de información que tiene un caché de tipo de almacenamiento en un procesador, procesamiento de almacenamiento continuo desde la dirección principal de un bloque de un caché a una dirección en el camino por una instrucción de longitud variable o similar, procesamiento de almacenamiento continuo de la dirección a una dirección final, y de este modo reducir significativamente el tiempo de ejecución para el proceso de almacenamiento continuo de la actualización de un bloque de todas las transferencias de datos entre la memoria principal otros procesadores omitiendo la transferencia de datos innecesaria El efecto de reducir la carga.
Breve descripción de los dibujos La figura 1 es un diagrama de bloques que muestra la periferia del control de caché dentro de un procesador que muestra una realización de la presente invención.
La figura 2 es un diagrama de flujo desde la aparición de una solicitud de procesamiento de tienda hasta la salida a un procesador distinto de la memoria principal.
1 caché de operandos
2 Dirección de solicitud
3 medios de detección de impacto
4 datos de golpe
5 medios de cálculo
6 señorita señal de golpe
7 Medios de generación de solicitudes
Señal de solicitud de carga de 8 bloques
9 Interfaz significa
10 Leer datos
11 Leer el búfer
12 Señal de finalización de llegada de datos
13 Medios de instrucción de reinicio del proceso
14 Señal de instrucción de reinicio del proceso
15 Almacenar el buffer
16 Actualización significa
17 instrucciones
18 decodificador
19 señal de descifrado de solicitud de tienda
20 bloque de determinación continua de tienda significa
21 Longitud de la solicitud
22 Señal de detección de tienda completa
23 Señal de notificación de propiedad del bloque
24 Señal de información de dirección
Señal de solicitud de 25 palabras
26 Datos de barrido
Reclamo
Reclamaciones: Se reivindica lo siguiente: 1. Un aparato de procesamiento de información que tiene una memoria caché de un sistema de almacenamiento, que comprende: una memoria caché para almacenar una solicitud de escritura para una solicitud de escritura a direcciones consecutivas en un bloque de memoria caché Si se trata de una solicitud de escritura a direcciones consecutivas desde la dirección superior del bloque hasta la mitad del bloque, se lee desde la palabra, incluida la dirección en el medio, hasta la palabra, incluida la dirección final, Cuando se realiza una solicitud de escritura a direcciones consecutivas desde la mitad del bloque a la última dirección, se realiza la lectura de la palabra que incluye la dirección principal de la palabra, incluida la dirección en el bloque, y desde la dirección de inicio del bloque hasta la última dirección Cuando se trata de una solicitud de escritura a direcciones consecutivas de Tienda método de procesamiento de la memoria caché, caracterizado por el hecho de que no realiza la mirada hacia fuera.
2. Un aparato de procesamiento de información que tiene una memoria caché de tipo de almacenamiento, que comprende: un decodificador que decodifica una instrucción ejecutada y emite una señal de solicitud de escritura cuando la instrucción es una solicitud de escritura a una dirección en un bloque de la memoria caché Un medio de evaluación de solicitud de escritura para juzgar si la señal de solicitud de escritura es o no una solicitud de escritura a direcciones consecutivas cuando la dirección objetivo de la solicitud de escritura no existe en la memoria caché; Si la señal de solicitud de escritura es una solicitud de escritura a direcciones consecutivas desde la dirección superior del bloque hasta la mitad del bloque, es la operación principal para leer de la palabra, incluida la dirección en el medio de la palabra, incluida la dirección final Solicite almacenamiento u otro procesador, y agregue la última dirección desde la dirección central del bloque En el caso de una solicitud de escritura a direcciones consecutivas hasta la última dirección, solicita a la memoria principal u otro procesador que lea la palabra, incluida la dirección de inicio de la palabra, incluida la dirección en el centro, y desde la dirección de inicio del bloque Y una solicitud que genera medios para emitir una señal innecesaria para leer en una memoria principal u otro procesador si la solicitud es una solicitud de escritura a direcciones sucesivas hasta una dirección.
3. Una memoria caché que contiene una parte de datos o una instrucción en una memoria principal u otro procesador en unidades de bloque, y una memoria caché que recibe una instrucción de acceso a datos o instrucciones y juzga si existe o no una dirección de destino en la memoria caché Un decodificador para decodificar una instrucción a ejecutar y emitir una señal de solicitud de escritura cuando la instrucción es una solicitud de escritura a una dirección en un bloque de la memoria caché; un medio de detección de aciertos para decodificar la instrucción a ejecutar. Un medio de evaluación de solicitud de escritura para juzgar si dicha señal de solicitud de escritura es o no una solicitud de escritura a direcciones consecutivas en un caso en el que dicha señal de solicitud de escritura no está presente en dicha memoria caché; Si se considera que los datos no existen, los datos o instrucciones necesarios de la memoria principal u otro procesador Y cuando la entrada de señal de solicitud de escritura al medio de evaluación de solicitud es una solicitud de escritura a direcciones consecutivas desde la dirección superior del bloque a la dirección central, lectura del bloque En lugar de una solicitud, se solicita una solicitud para leer desde una palabra que incluya la dirección en el medio a una palabra que incluya la dirección final, y en el caso de una solicitud de escritura a direcciones consecutivas desde la mitad del bloque a la última dirección, Se solicita una solicitud de lectura de una palabra que incluya la dirección a una palabra que incluya la dirección en lugar de la solicitud de lectura del bloque y en el caso de una solicitud de escritura a direcciones consecutivas desde la dirección de inicio del bloque a la dirección final, Una solicitud para generar salida de señal innecesaria en lugar de la solicitud de lectura del bloque Un búfer de lectura para almacenar datos o una instrucción de una memoria principal u otro procesador en función de una solicitud de dichos medios de generación de solicitudes, y un búfer de datos para almacenar datos de dicha dirección si dicha dirección objetivo existe en dicha memoria caché o Medios aritméticos para ingresar una instrucción e ingresar los datos o el comando del búfer de lectura si no están presentes, y medios de actualización para almacenar los datos actualizados mediante la ejecución de los medios aritméticos en la memoria caché Un método de procesamiento de información que tiene un tipo de memoria caché de tipo store-in caracterizada por comprender:
4. El sistema de solicitud de tienda según la reivindicación 3, en el que dicho medio de evaluación de solicitud de escritura pasa dicha información de dirección a dicho medio de generación de solicitud cuando dicha solicitud de escritura es una solicitud de escritura a una dirección donde las solicitudes de escritura son consecutivas. Método de procesamiento de información con memoria.
Dibujo :
Application number :1997-026912
Inventors :日本電気株式会社
Original Assignee :名児耶真一