Método de control de la memoria caché y dispositivo de control de la memoria caché
Descripción general
 Rendimiento mejorado al reducir el tiempo de escritura. ] Una memoria caché 3, una memoria de etiquetas 2 que tiene información de gestión 12 para cada línea de memoria caché, y un circuito de control de memoria caché 4 para controlar mediante un método de escritura regresiva. La información de gestión 12 tiene un indicador de reescritura. Este indicador se reinicia por inicialización y se establece de acuerdo con la ocurrencia de una lectura de mishit en la línea de caché 11 administrada por él mismo. Incluso si se produce una lectura errónea cuando el indicador es 0, no se produce ninguna escritura con respecto a la línea de caché 11, y ocurre cuando 1. Es decir, un write-back se realiza mediante dos lecturas de mishit y se reduce el tiempo requerido para la escritura.
Campo técnico
La presente invención se refiere a un método de control de la memoria caché y a un aparato de control de la memoria caché para controlar una memoria caché mediante un método de recuperación.
Antecedentes de la técnica
La memoria caché puede instalarse para mejorar el rendimiento de la computadora. Hoy mejorar la velocidad de procesamiento de la CPU es importante obstáculo grande, debido a la RAM dinámica relativamente baja velocidad de acceso, recientemente frecuencia propia CPU memoria caché interna de varios KB.
Al montar la memoria caché, la retención de la consistencia de datos entre la memoria caché y la memoria principal, es decir, por ejemplo, al reflejar los éxitos de luz a la memoria caché de cómo la memoria principal es un elemento importante del diseño. Actual, y el método de escritura simultánea también se actualiza al mismo tiempo, la memoria principal y la actualización de la memoria caché, hasta la próxima plomo se produce la señorita método de escritura de nuevo a esperar a la actualización de la memoria principal es la corriente principal. Este último se explicará aquí.
La figura 1 es un diagrama de configuración de circuito de un aparato de control de memoria de caché de un método de recuperación de escritura convencional. El dispositivo de control de la memoria caché incluye una memoria de etiquetas 2, una memoria de caché 3, un circuito de control de caché 4 y un comparador de direcciones 7. El comparador de direcciones 7 puede incorporarse en el circuito de control de caché 4 en algunos casos.
La memoria caché en la memoria 3 es entrada inferior dirección de CPU 1, para contener el número de bytes de datos que corresponde al producto del tamaño del número total y una línea de caché 11 de la entrada indicada por la dirección de orden inferior (por lo general alrededor de 4 a 64 bytes).
Por otra parte, la dirección más baja en la memoria de la etiqueta 2 es entrada como la dirección de la memoria, la dirección superior restante excepto la dirección inferior se introduce como datos y se almacena como información de gestión 12. Como se muestra en la figura 1, la información de gestión 12 corresponde uno a uno con la línea de caché 11. Es decir, la memoria de la etiqueta 2 contiene la dirección superior que no puede ser referencia a la memoria caché de 3 como de datos, la dirección de orden inferior es la entrada, y emite la dirección superior de los datos almacenados en caché en la memoria caché 3, el comparador de direcciones 7 Compara esto con la dirección superior realmente emitida por la CPU 1. resultado de la comparación determina Una vez que alcanzó un partido, leer desde la memoria caché de 3 si se permite leer los datos de la visita, los datos de la memoria caché de 3 si el golpe de escritura se actualiza.
Cada información de gestión de la memoria de la etiqueta 2 12, un indicador que indica que la consistencia de los datos entre la memoria principal 5 y la memoria caché de 3 por el golpe de escritura a la línea de caché propios correspondientes se pierde (en lo sucesivo denominado 'señalizador de apareamiento erróneo 13' ) Para cada línea. Línea de un señalizador de apareamiento erróneo 13 se ha establecido están sujetos a escribir más tarde de nuevo (en adelante, la bandera del estado se establece en el presente documento como '1', un estado donde no permanente '0').
La operación de escritura regresiva con la configuración anterior se describirá con referencia a las figuras 1 y 2. La figura 2 es un diagrama de flujo que muestra un procedimiento de reescritura. Aquí, para simplificar, dos órdenes de magnitud menor que hacen referencia a la dirección de memoria de la etiqueta 2 y la memoria caché de 3 (notación hexadecimal), y la memoria etiqueta de la dirección superior de un dígito 2 bodegas.
En primer lugar, los resultados ya ejecutados un cierto acceso a la memoria, la línea de caché de la memoria caché de 3 '00h' y '200h' en la memoria principal se almacena en caché, tanto los datos y fue consistente con el 'Ah'. Aquí escritura golpeó ocurre, se actualiza a '00h', por ejemplo, 'Fh' de la memoria caché de 3, un señalizador de apareamiento erróneo de la línea 13 es 1.
Aquí, la CPU1 está dando lugar a '100h', aunque esta baja dirección de '00h' ya se ha almacenado en caché, ya que la dirección '1h' superior no coinciden, un fallo de lectura (S0 en la Figura 2).
Aquí CPU1 lee los datos de 'Bh' en el '100h' en la memoria principal 5, que el circuito de control de caché 4, pero al mismo tiempo se actualizará escribiendo el 'Bh' en la memoria caché de 3, esta vez, la bandera de desajuste 13 hay un (S1) 1, antes de grabar encima de los datos de la memoria caché de 3, escribe los datos 'Fh' a '200h' en la memoria principal 5 (escribir de nuevo) se convierte en necesario. Debido a que el write-back se realiza con toda la línea de caché como una unidad, toma varios ciclos de bus (S2).
Si write-back está pabellón completo desajuste 13 se inicializa a 0 (S3), a partir de entonces, se actualiza el circuito de control de caché 4 de la memoria caché de datos a 3 'Bh' línea de caché llenar como el primer '100h' (Línea Relleno) (S4). En este momento, una parte necesaria de estos datos se envía a la CPU 1. Sin embargo, el orden de S3 y S4 puede invertirse.
Aunque lo anterior es un señalizador de apareamiento erróneo 13 es un caso de 1, que se ramifica a NO en S1 0, la realización de la línea de llenado sin write-back.
Tarea de solución
Por ejemplo, si el tamaño de la línea de caché es de 16 bytes y el ancho del bus de datos es de 4 bytes, se requieren cuatro accesos de bus para la reescritura. Como se produce la recuperación de escritura por lo general, cada ventaja de golpe fallido, esta pérdida de tiempo no se puede ignorar. Especialmente cuando la proporción de aciertos es relativamente baja, como cuando se trata de programas grandes, la disminución del rendimiento debido a la reescritura es grande.
La presente invención se ha realizado en vista del problema, que el objetivo es el de proporcionar, por la disminución de la frecuencia de ocurrencia de write-back, para suprimir un método de control de memoria caché y un aparato para reducir al mínimo la degradación del rendimiento, incluso si la tasa de éxito es baja Está adentro.
Solución
método de control de memoria caché de la presente invención incluye las etapas de medir el número de lectura señorita generado para cada línea de caché, cuando un hit fallo de lectura ha alcanzado un número predeterminado de veces, para permitir la activación de la escritura de vuelta para que la línea de caché Proceso.
El controlador de memoria caché de la invención, una memoria caché, una memoria de la etiqueta para mantener la información de gestión que incluye una dirección de etiqueta correspondiente a cada línea de caché de la memoria caché, un método de memoria caché de escritura de acuerdo con el contenido y la información de gestión del acceso a la memoria y un circuito de control de caché para el control de la bandera de escritura retardada que determina la escritura de vuelta se inicia permiso para ser generada cuando el acceso a la memoria es se proporciona plomo mishit para cada una de las líneas de caché.
En este momento, el indicador de escritura se almacena en la memoria de etiqueta.
Además, el circuito de control de memoria caché incluye medios para inicializar el indicador de escritura no simultánea para iniciar el estado de la prohibición de escritura no simultánea, cuando se pierde el acceso de lectura de memoria caché para una línea particular se produce, con la condición de la línea de caché Y significa cambiar el valor de la bandera escrita hacia atrás.
En otra realización, se proporciona la bandera de escritura no una pluralidad de bits para cada una de las líneas de caché, el circuito de control de memoria caché incluye medios para inicializar la pluralidad de bits en el estado prohibición de inicio de la escritura de nuevo, para una línea de caché en particular Y medios para cambiar secuencialmente el estado de bits de la pluralidad de indicadores de escritura proporcionados para la línea de caché cada vez que se produce un acceso a memoria de la lectura de falsa lectura.
En este caso además, el circuito de control de caché cuando el acceso a la memoria caché es una línea particular en el golpe de escritura se actualiza, que comprende medios para inicializar el indicador de escritura no simultánea previsto que la línea de caché.
De acuerdo con el método de control de la memoria caché de la presente invención, cuando el número de la señorita de lectura generada por cada línea de caché ha alcanzado un valor predeterminado, la primera vez que se permite el inicio de la grabación inversa para la línea de caché.
De acuerdo con el controlador de memoria caché de la presente invención, el permiso de comienzo de escritura de devolución que se genera cuando el acceso a la memoria es un fallo golpeó leer se determina por el estado de la bandera de escritura no simultánea.
Además, el indicador de escritura se lee simultáneamente con la información de gestión de la memoria de etiquetas.
Por otra parte, de acuerdo con el circuito de control de caché, la bandera de escritura no simultánea se inicializa para comenzar estado prohibición de la grabación inversa, cuando los fallos de acceso a memoria para leer una línea de caché particular se produce, con la condición de la línea de caché Se cambia el valor del indicador de retroceso escrito y, posteriormente, la activación de la reescritura relacionada con la línea de caché se coloca en el estado de permiso.
En el caso donde la bandera de escritura no es una pluralidad de bits existe, por el circuito de control de caché, cada vez que una de dicha pluralidad de bits se inicializa a comenzar estado prohibición de la escritura de nuevo, del área de acceso de memoria de lectura para una línea de caché particular se produce en el que los estados de bit de la pluralidad de la bandera de escritura no simultánea prevista la línea de caché se cambian de forma secuencial, ya que cuando el estado del bit ha llegado a un estado predeterminado, iniciar estado permiso de la escritura no simultánea para esa línea de caché .
En este caso además, por el circuito de control de caché, el acceso a la memoria cuando se actualiza la línea de caché en particular para escribir golpeado, la bandera de escritura no simultánea previsto que la línea de caché se ha inicializado.
Descripción de las realizaciones preferidas Las realizaciones preferidas de la presente invención se describirán ahora con referencia a los dibujos adjuntos según sea apropiado.
Ejemplo 1. Premisa de la presente realización añade una apuesta de campo de 1 bit de la información de gestión 12 una memoria de la etiqueta 2 se mantiene, ¿es éste el punto en que el indicador de escritura no simultánea. Es decir, solo cuando la escritura permita esta escritura, se permite la escritura y se reduce el número de reescrituras. El circuito 4 de control de caché de la presente realización realiza la reescritura solo cuando se produce una lectura fallida a la misma línea de caché por segunda vez.
La Figura 3 es un diagrama de bloques interno de la memoria de la etiqueta 20 se emplea en esta forma de realización, la dirección superior (no mostrado) para cada línea de caché convencional y otro para mantener el señalizador de apareamiento erróneo 13, la bandera de reescritura permiso de inicio de reescritura 21 como se muestra en la FIG. Por supuesto, también es posible proporcionar una indicación a una memoria de la etiqueta externa 20, que es posible otra información de gestión 12 leer simultáneamente, desde el punto de vista de la simplificación del circuito de control, en el caso en que la memoria de la etiqueta incorporada 20 La ventaja es genial. Se describirán otras configuraciones con referencia a la figura 1.
En primer lugar, se describirá la regla de control del indicador 21 de escritura regresiva.
(1) Inicialización
Establecer en 0. Además del caso de inicialización explícita, como el restablecimiento, la inicialización también se realiza cuando se produce un acierto de escritura, como se describe más adelante, y cuando finaliza la escritura regresiva.
(2) Cambio
Cuando un fallo de CPU1 golpe leer se ha producido con respecto a la bandera de la línea de caché correspondiente (en lo sucesivo en esta memoria descriptiva se refiere como 'línea de caché N'), y 1.
Si se permite la escritura de nuevo en la línea de caché N se determina usando esta bandera de la siguiente manera.
1. Cuando el indicador de escritura por respuesta 21 es 0
Incluso si se produce una lectura falsa a la línea de caché N, la reescritura tampoco se inicia.
2. Cuando la bandera de escritura por escrito 21 es 1
Cuando se produce una lectura errónea de la línea de caché N, la escritura regresiva se activa a condición de que el indicador de discordancia 13 sea 1. Después de esto, se realiza el llenado de línea normal.
El procedimiento de recuperación realizado bajo las reglas anteriores se describirá con referencia al diagrama de flujo de la FIG. Aquí, se supone que la situación antes de que comience el flujo es la misma que en el caso de la figura 2.
En primer lugar, con el conductor de mishit (S10), el indicador de falta de coincidencia 13 se refiere (S11). Como es 1 aquí, procede a SÍ. Posteriormente, se hace referencia al indicador de escritura 21 (S 12). Este bandera procede a NO si 0, con el cambio (S13) esta a 1, para transferir los datos necesarios se leen de la '100h' en la memoria principal 5 a la CPU 1 (S14). El llenado de línea no se realiza aquí. El orden de S13 y S14 puede invertirse.
Por otro lado, la bandera de escritura aplazada 21 procede a SÍ en S12 si es 1, realiza escritura de nuevo a '200h' en la memoria principal 5 (S15). Posteriormente desajuste bandera 13 y el write-back bandera 21 inicializa (S16) y envía realiza línea de llenado como los primeros datos 'Bh' en el '100h' (S17), una parte de datos requerida para la CPU 1. El orden de S15 y S16 puede invertirse.
En S11, si si la bandera inconsistencia 13 es 0, el flujo va directamente a la línea de llenado, porque no hay necesidad de un write-back (NO en S11).
Aunque no se muestra en la figura, una vez que se produce un golpe de escritura en la línea de caché N después de que el indicador de reescritura 21 se convierte en 1, este indicador se reinicia a 0. Esto se debe a la escritura en la línea se considera que se produce con facilidad posteriormente futuro, como resultado, el número de escritura no simultánea como escritura golpeó muchas líneas es limitado.
Lo anterior es la operación del dispositivo de control de caché de esta realización. De acuerdo con este dispositivo, ya que la primera escritura no simultánea en la segunda operación de fallo de lectura a la misma línea de caché se activa, reducir el número de escritura no simultánea, es posible mejorar el rendimiento. Explica esto por valores numéricos.
La figura 5 es un diagrama que muestra una mejora en el rendimiento de acuerdo con esta realización. La figura muestra la comparación del rendimiento entre el aparato convencional que no tiene el indicador de reescritura 21 y la presente realización, y los parámetros usados ​​para el cálculo son los siguientes.
1) Capacidad de la memoria caché 3 ... 1 KB
2) Número de plomo: 1000 veces
3) Tasa de aciertos del plomo ... 50% / 90% (respectivamente (a) y (b) en la misma figura)
4) Lectura / escritura del tiempo del ciclo del bus ... 0.2 μS / vuelta
5) Número de ciclos de bus de escritura atrás ... 4 veces
Bajo esta condición, se requieren 0,2 μS para los cables de falla fallidos sin relleno de línea, mientras que se requieren 0,8 μS para la recuperación de escritura.
Según tasa de aciertos leer del 50/90%, debido a que el dispositivo convencional es 500 veces / 100 veces el write-back respectivamente es necesario, en esta realización, la escritura se produce de nuevo durante la segunda lectura de la falta, volver a escribir en la misma línea Se considera 1/1000 veces. Por lo tanto, se necesita un tiempo total de escritura de 1/1000 y 999/1000 de error de lectura. Se calculará en consideración de estos, se requiere el tiempo de ejecución la figura (a) en el 400μS convencionales se acorta a aproximadamente 100 .mu.S, de manera similar en la Fig. (B), 80 .mu.S se reduce a aproximadamente 20 [mu] S. Por lo tanto, el efecto de la mejora del rendimiento de acuerdo con la presente realización se hace más prominente a medida que la relación de aciertos de plomo es menor.
En esta realización, el sujeto de acceso a la memoria se ha descrito como CPU 1, pero este puede ser otro maestro de bus tal como DMAC. Estos maestro de bus, por ejemplo, desde el estado de espera a la CPU 1 (es decir, et operación permitido señal de habilitación), que después de desconectar el sistema, es posible acceder a la memoria principal 5 y la memoria caché 3. La operación del dispositivo de control de la memoria caché no está relacionada con el tema de acceso a la memoria.
A pesar de que se describe en la memoria caché 3 del método mapa directa en la presente realización, puede, por supuesto, cualquier método asociativo conjunto. El comparador de direcciones 7 puede construirse en la memoria de etiquetas 20 o puede proporcionarse una memoria intermedia de escritura de alta velocidad entre la memoria caché 3 y la memoria principal 5.
Ejemplo 2 Se estableció el Ejemplo 1, la bandera de escritura no 21 un bit, en el controlador de memoria caché Ejemplo 2, y aquellos que se extienden a una pluralidad de bits, permite que el primero de comienzo de escritura mutuamente después de la tercera o más mishit plomo .
La Figura 6 es un diagrama de bloques interno de la memoria de la etiqueta 20 se emplea en esta forma de realización, se asume que la bandera de escritura no 21 se compone de k bits 21a 21n. El control de estos bits sigue las siguientes reglas.
(1) Inicialización
De la misma manera que en la primera realización, todos los bits se establecen en 0. Es decir, estos bits forman una secuencia binaria '0 ... 000'.
(2) Cambio
Cuando se produce una lectura de mishit desde la CPU 1 a la línea de caché N, la secuencia de números binarios se establece en '0 ... 001'. Junto con la ocurrencia de lo siguiente, se establece '0 ... 011'. Es decir, los bits se establecen secuencialmente en 1.
Con la regla anterior, solo es necesario permitir la activación de escritura regresiva después de que todos los bits se conviertan en 1. En este ejemplo, la reescritura ocurre por primera vez en la lectura de mishit (k + 1). Como en la primera realización, cuando se produce un golpe de escritura en el medio, todos los bits se inicializan.
Lo anterior es el esquema de la segunda realización. De acuerdo con esta realización, el número de veces de escritura puede reducirse aún más, y el efecto de la mejora del rendimiento es grande. En esta realización, el bit simplemente se invierte. Sin embargo, este método puede ser otro método. Es decir, con la configuración de incrementar k bits de cada Disparo errado leer como un contador binario, es posible llevar a cabo la primera escritura no simultánea en 2K-ésimo fallo de lectura.
De acuerdo con el aparato de la presente realización, el número de fallos potenciales generados para cada línea de caché se cuenta, cuando un hit fallo de lectura ha alcanzado un cierto número, más adelante, la activación de la escritura de vuelta para que la línea de caché Como está permitido, el contenido del método de control de la memoria caché de la presente invención también es obvio.
Efecto de la invención
Según el método de control de memoria caché de la presente invención, después de un cierto número de fallos leer ocurre, la primera vez desde produce de nuevo la escritura, es posible mejorar el rendimiento al reducir el número de escritura no.
De acuerdo con el controlador de memoria caché de la presente invención, cuando un golpe fallo de lectura inicialmente puede determinar el permiso de inicio de la generación automática de ser write-back, es posible reducir el número de escritura no simultánea.
Además, si el almacenamiento de la bandera de escritura no simultánea determina la autorización de inicio de la memoria de la etiqueta, se puede leer al mismo tiempo, la marca con otra información de gestión, es posible simplificar el circuito de reducción y control de la cantidad de ciclos.
En este momento, mediante un procedimiento sencillo de inicialización y el cambio de la bandera de escritura no simultánea, la primera vez que es posible permitir que la escritura no simultánea puesta en marcha durante el segundo plomo señorita.
Además, al proporcionar una pluralidad de banderas de reescritura, es posible permitir fácilmente la lectura de la escritura a posteriori en el tercer golpe fallido leído y posteriormente.
Además, si el golpe se produce escritura, la bandera de escritura no simultánea correspondiente a la línea de caché se ha inicializado, es posible reducir aún más el número de escritura no simultánea.
La figura 1 es un diagrama de configuración de circuito de un aparato de control de memoria de caché de un método de recuperación de escritura convencional.
La figura 2 es un diagrama de flujo que muestra un procedimiento de reescritura.
La figura 3 es un diagrama de configuración interno de la memoria de etiqueta 20 empleada en la primera realización.
La figura 4 es un diagrama de flujo que muestra un procedimiento de recuperación de acuerdo con la primera realización.
La figura 5 es un diagrama que muestra la mejora en el rendimiento de acuerdo con el ejemplo 1.
La figura 6 es un diagrama de configuración interno de la memoria de etiqueta 20 empleada en la segunda realización.
2,20 memoria de la etiqueta, 3 memoria caché, circuito de control 4 caché, 7 comparador de dirección, 11 líneas de caché, 12 de información de gestión, 13 señalizador de apareamiento erróneo, 21 flag de reescritura.
Reclamo
Permitida en un método que controla una memoria cache en la reivindicación 1 el método de escritura no simultánea, cuando el número de fallo de lectura genera para cada línea de caché ha alcanzado un valor predeterminado, la primera vez para iniciar la grabación inversa para esa línea de caché El método de control de la memoria caché.
2 y una memoria caché de acuerdo con la reivindicación, control de caché ejecutar y los memoria de la etiqueta para el almacenamiento de información de gestión que incluye una dirección de etiqueta correspondiente a cada línea de caché de la memoria caché, el control de la memoria caché en el método de escritura no de acuerdo con el contenido y la información de gestión del acceso a la memoria en el dispositivo de control de memoria caché que incluye un circuito, el control de la memoria caché, caracterizado porque una bandera de escritura retardada que determina la escritura de vuelta se inicia permiso para ser generada cuando el acceso a la memoria es un éxito fallo de lectura para cada una de las líneas de caché Dispositivo.
3. El dispositivo de control de memoria caché de acuerdo con la reivindicación 2, en el que el indicador de escritura retrospectiva se almacena en la memoria de etiquetas.
En el dispositivo de control de memoria caché de acuerdo con una cualquiera de las reivindicaciones 4 reivindicación 2 ó 3, en el que el circuito de control de memoria caché incluye medios para inicializar la bandera de escritura de nuevo a estado de arranque prohibición de la escritura de nuevo, para una línea de caché en particular cuando se pierde la memoria de acceso leen ocurre Te tiene un medio para cambiar el valor de la bandera de escritura no simultánea prevista la línea de caché, y después de que cuando se cambia el valor de la bandera de escritura no simultánea, Y la activación de la escritura regresiva relacionada con la línea de caché se coloca en un estado permitido.
En el dispositivo de control de memoria caché de acuerdo con una cualquiera de las reivindicaciones 5 la reivindicación 2 ó 3, la bandera de escritura no se proporciona una pluralidad de bits para cada una de las líneas de caché, el circuito de control de memoria caché, la pluralidad de bits de la prohibición de comienzo de escritura-back medios para inicializar un estado, el particular, cada vez que el área de acceso de memoria de lectura se produce por una línea de caché, medios para secuencialmente cambiar los estados de bits de la pluralidad de bandera de escritura no previsto que la línea de caché Si tiene la más tarde que cuando el estado de bit ha alcanzado un estado predeterminado, el aparato de control de la memoria caché que se caracteriza por la activación de la escritura de vuelta para que la línea de caché se coloca en el estado permiso.
En el dispositivo de control de memoria caché de acuerdo con una cualquiera de las reivindicaciones 6 reivindicación 4 ó 5, en el que el circuito de control de memoria caché cuando el acceso a la memoria es una línea de caché particular en el hit de escritura está actualizado, proporcionado por la línea de caché Medios para inicializar dicho indicador de reescritura.
Dibujo :
Application number :1997-006675
Inventors :三菱電機株式会社
Original Assignee :魚▲ざわ▼秀彰