ES2573284T3 - Gestores híbridos de criterios de memoria caché con escritura doble / escritura simple, y sistemas y procedimientos relacionados - Google Patents

Gestores híbridos de criterios de memoria caché con escritura doble / escritura simple, y sistemas y procedimientos relacionados Download PDF

Info

Publication number
ES2573284T3
ES2573284T3 ES13701347.0T ES13701347T ES2573284T3 ES 2573284 T3 ES2573284 T3 ES 2573284T3 ES 13701347 T ES13701347 T ES 13701347T ES 2573284 T3 ES2573284 T3 ES 2573284T3
Authority
ES
Spain
Prior art keywords
cache
write
cache memory
parallel
active
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES13701347.0T
Other languages
English (en)
Inventor
Peter G. Sassone
Christopher Edward Koob
Dana M. Vantrease
Suresh K. Venkumahanti
Lucian Codrescu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2573284T3 publication Critical patent/ES2573284T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Un gestor de criterios de escritura en memoria caché (12), configurado para: determinar si al menos dos memorias caché (14), entre una pluralidad de memorias caché paralelas, están activas o no; instruir a una memoria caché activa, entre la pluralidad de memorias caché paralelas (14), para aplicar un criterio de memoria caché de escritura simple, si todas dichas una o más otras memorias caché, entre la pluralidad de memorias caché paralelas, están inactivas; e instruir a la memoria caché activa, entre la pluralidad de memorias caché paralelas (14), para aplicar un criterio de memoria caché de escritura doble, si cualquiera de dichas una o más otras memorias caché, entre la pluralidad de memorias caché paralelas, está activa; caracterizado porque el gestor de criterios de escritura en memoria caché está configurado para instruir a la memoria caché activa, entre la pluralidad de memorias caché paralelas, para aplicar el criterio de memoria caché de escritura simple cuando todas dichas una o más otras memorias caché, entre la pluralidad de memorias caché paralelas, quedan inactivas.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Gestores hfbridos de criterios de memoria cache con escritura doble / escritura simple, y sistemas y procedimientos relacionados
ANTECEDENTES
I. Campo de la divulgacion
La tecnologfa de la divulgacion se refiere a multiprocesadores, en los que cada nucleo procesador del multiprocesador tiene su propia memoria cache local y comparte una memoria cache comun y / o la memoria principal.
II. Antecedentes
Una memoria cache de procesador puede ser configurada para implementar criterios de memoria cache de escritura simple o criterios de memoria cache de escritura doble. Un criterio de memoria cache de escritura doble escribe por duplicado todos los datos almacenados en la memoria cache en una o mas memorias cache del siguiente nivel. Por ejemplo, una memoria cache de escritura doble de primer nivel puede escribir por duplicado todos los datos almacenados en la memoria cache de primer nivel en una memoria cache del siguiente nivel. Un criterio de memoria cache de escritura doble asegura que cada memoria cache del primer nivel no contiene datos contaminados, porque los datos almacenados en la memoria cache son escritos por duplicado en la memoria cache del siguiente nivel. Sin embargo, escribir por duplicado cada almacen de datos en una memoria cache del siguiente nivel consume energfa adicional, debido a la escritura de datos por duplicado en la memoria cache del siguiente nivel. De tal modo, un criterio de memoria cache de escritura doble puede no ser ideal para dispositivos de menor potencia.
Por otra parte, una memoria cache configurada con criterios de memoria cache de escritura simple (es decir, una memoria cache de escritura simple) recoge datos contaminados en la memoria cache hasta su desalojo. Las memorias cache de escritura simple pueden consumir menos energfa, porque las escrituras en la memoria cache del primer nivel son recogidas y no son escritas por duplicado antes de su desalojo. Sin embargo, un sistema multiprocesador que incluye memorias cache de escritura doble puede ser mas complicado. Por ejemplo, los datos contaminados en las memorias cache de escritura simple pueden necesitar ser repescados para brindar coherencia de datos. Ademas, durante las fases de diseno y pruebas, la depuracion de cuestiones de coherencia de datos puede consumir tiempo.
El artfculo “Arquitectura de coherencia de memoria cache dinamica, de multiples nucleos, para procesadores moviles sensibles a la energfa”, Garo Bournoutian et al, Anales de la 9' Conferencia Internacional sobre co-diseno de hardware / software y sfntesis de sistemas (CODES+ISSS) 2011, 9 de octubre de 2011, paginas 89 a 97, describe una arquitectura de coherencia de memoria cache de multiples nucleos.
El artfculo “Caracterizacion del comportamiento de la energfa y la temperatura de un sistema basado en POWER6”, Jimenez, V., et al, Revista del IEEE sobre temas sobresalientes y seleccionados en circuitos y sistemas, vol. 1, n. ° 3, 1 de septiembre de 2011, paginas 228 a 241, describe un modelo de energfa de un procesador.
El documento US 2005 / 195635 A1 divulga una memoria cache dividida en segmentos, por lo cual los segmentos tienen criterios de memoria cache distintos y configurables.
El documento EP 0 342 846 A2 divulga un sistema de memoria cache en disco capaz de funcionar en cualquiera de dos modalidades: una modalidad de escritura simple para transferir los datos desde la memoria cache al disco despues de que los datos estan almacenados en la memoria cache; y una modalidad de escritura doble para transferir directamente los datos desde el anfitrion al disco, no a traves de la memoria cache, cuando se recibe una senal de error de baterfa y / o una senal de carga de baterfa.
SUMARIO DE LA DIVULGACION
La presente invencion esta definida en las reivindicaciones independientes adjuntas, a las cuales se deberfa hacer referencia. Las caracterfsticas ventajosas estan expuestas en las reivindicaciones dependientes adjuntas.
Los modos de realizacion divulgados en la descripcion detallada incluyen gestores hfbridos de criterios de memoria cache de escritura doble / escritura simple, y sistemas y procedimientos relacionados. A este respecto, en un modo de realizacion se proporciona un gestor de criterios de escritura en memoria cache. El gestor de criterios de escritura en memoria cache esta configurado para determinar si al menos dos memorias cache estan activas entre una pluralidad de memorias cache paralelas. Las memorias cache paralelas comparten una o mas memorias cache, o memorias, de linaje comun (es decir, parental), ya sea directa o indirectamente a traves de una o mas memorias cache intermedias, o memorias intermedias, en las que deberfa mantenerse la coherencia. Una memoria cache activa es una memoria cache que esta en uso. Si todas dichas una o mas otras memorias cache, entre la pluralidad
5
10
15
20
25
30
35
40
45
50
55
60
65
de memorias cache paralelas, estan inactivas, el gestor de criterios de escritura en memoria cache esta configurado para instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura simple. De esta manera, el gestor de criterios de escritura en memoria cache puede conservar la energfa y / o aumentar las prestaciones cuando solamente esta activo un unico nucleo procesador entre una pluralidad de nucleos procesadores paralelos. Si cualquiera entre dichas una o mas memorias cache adicionales, entre la pluralidad de memorias cache paralelas, esta activa, el gestor de criterios de escritura en memoria cache esta configurado para instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura doble. De esta manera, el gestor de criterios de escritura en memoria cache facilita la coherencia de datos entre las memorias cache paralelas cuando estan activos multiples nucleos procesadores entre la pluralidad de nucleos procesadores paralelos.
En un aspecto, se proporciona un medio para proporcionar un criterio hfbrido de memoria cache de escritura doble / escritura simple para una memoria cache. El medio comprende un medio para determinar si al menos dos memorias cache, entre una pluralidad de memorias cache, estan activas o no. El medio comprende ademas un medio para instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura simple, si todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, estan inactivas. El medio comprende ademas un medio para instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura doble, si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, esta activa.
En otro modo de realizacion, se proporciona un procedimiento para proporcionar un criterio hfbrido de memoria cache de escritura doble / escritura simple para una memoria cache. El procedimiento comprende determinar si al menos dos memorias cache, entre una pluralidad de memorias cache paralelas, estan activas o no. El procedimiento comprende ademas instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura simple, si todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, estan inactivas. El procedimiento comprende ademas instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura doble si cualquiera entre dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, esta activa.
En otro aspecto, se proporciona una memoria cache. La memoria cache comprende una memoria cache y un controlador de memoria cache configurado para establecer un criterio de escritura de memoria cache para la memoria cache. El controlador de memoria cache esta adicionalmente configurado para establecer un criterio de memoria cache de escritura simple para la memoria cache, en respuesta a la recepcion de una indicacion de que todas dichas una o mas otras memorias cache, entre una pluralidad de memorias cache paralelas, estan inactivas. El controlador de memoria cache esta adicionalmente configurado para establecer un criterio de memoria cache de escritura doble para la memoria cache, en respuesta a la recepcion de una indicacion de que cualquiera de dichas una o mas otras memorias cache, entre una pluralidad de memorias cache paralelas, esta activa.
En otro modo de realizacion, se proporciona un sistema multiprocesador. El sistema multiprocesador comprende una pluralidad de memorias cache paralelas, y una memoria compartida por la pluralidad de memorias cache paralelas. El sistema multiprocesador tambien comprende un gestor de criterios de escritura en memoria cache, configurado para determinar si al menos dos memorias cache, entre la pluralidad de memorias cache paralelas, estan activas o no. El gestor de criterios de escritura en memoria cache esta adicionalmente configurado para instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura simple, si todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, estan inactivas. El gestor de criterios de escritura en memoria cache esta adicionalmente configurado para instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura doble, si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, esta activa.
En otro modo de realizacion, se proporciona un medio no transitorio legible por ordenador. El medio legible por ordenador tiene almacenadas en el mismo instrucciones ejecutables por ordenador, para hacer que un procesador proporcione un criterio hfbrido de memoria cache de escritura doble / escritura simple, para una pluralidad de memorias cache paralelas. Las instrucciones hacen que el procesador determine si al menos dos memorias cache, entre la pluralidad de memorias cache paralelas, estan activas o no. Las instrucciones hacen ademas que el procesador instruya a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura simple, si todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, estan inactivas. Las instrucciones hacen ademas que el procesador instruya a la memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura doble, si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, esta activa.
5
10
15
20
25
30
35
40
45
50
55
60
65
BREVE DESCRIPCION DE LAS FIGURAS
La Figura 1 es un diagrama de bloques de un sistema multiprocesador ejemplar que comprende un gestor ejemplar de criterios de escritura en memoria cache, configurado para proporcionar criterios hfbridos de memoria cache de escritura doble, o escritura simple;
la Figura 2 es una maquina de estados ejemplar que puede ser llevada a cabo por el gestor de criterios de escritura en memoria cache en la Figura 1, para proporcionar criterios hfbridos de memoria cache de escritura doble, o escritura simple;
la Figura 3 es un diagrama de bloques de otro sistema multiprocesador ejemplar con una pluralidad de nucleos procesadores, comprendiendo cada nucleo procesador un gestor de criterios de escritura en memoria cache, para proporcionar criterios hfbridos de memoria cache de escritura doble, o escritura simple;
la Figura 4 es un diagrama de bloques de otro sistema multiprocesador ejemplar que emplea un hipervisor que comprende un gestor de criterios de escritura en memoria cache, para proporcionar criterios hfbridos de memoria cache de escritura doble, o escritura simple;
la Figura 5 es un diagrama de bloques de otro sistema multiprocesador ejemplar que emplea una unidad de gestion de energfa (PMU) que comprende un gestor de criterios de escritura en memoria cache, para proporcionar criterios hfbridos de memoria cache de escritura doble, o escritura simple; y
la Figura 6 es un diagrama de bloques de un sistema ejemplar basado en procesadores que incluye un gestor de criterios de escritura en memoria cache, de acuerdo a los modos de realizacion divulgados en el presente documento.
descripciOn detallada
Los modos de realizacion divulgados en la descripcion detallada incluyen gestores hfbridos de criterios de memoria cache de escritura doble/escritura simple, y sistemas y procedimientos relacionados. A este respecto, en un modo de realizacion, se proporciona un gestor de criterios de escritura en memoria cache. El gestor de criterios de escritura en memoria cache esta configurado para determinar si al menos dos memorias cache, entre una pluralidad de memorias cache paralelas, estan activas. Las memorias cache paralelas comparten una o mas memorias cache, o memorias, de linaje comun (es decir, parentales), ya sea directa o indirectamente, a traves de una o mas memorias cache intermedias, o una o mas memorias intermedias, en las que deberfa mantenerse la coherencia. Una memoria cache activa es una memoria cache que esta en uso. Si todas las una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, estan inactivas, el gestor de criterios de escritura en memoria cache esta configurado para instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura simple. De esta manera, el gestor de criterios de escritura en memoria cache puede conservar la energfa y / o aumentar las prestaciones cuando solamente esta activo un unico nucleo procesador entre una pluralidad de nucleos procesadores paralelos. Si cualquiera de las una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, esta activa, el gestor de criterios de escritura en memoria cache esta configurado para instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar un criterio de memoria cache de escritura doble. De esta manera, el gestor de criterios de escritura en memoria cache facilita la coherencia de datos entre las memorias cache paralelas cuando estan activos multiples nucleos procesadores entre la pluralidad de nucleos procesadores paralelos.
La Figura 1 es un diagrama de bloques de un sistema multiprocesador ejemplar 10 que comprende una pluralidad de nucleos procesadores paralelos 22(0) a 22(X). Cada nucleo de procesamiento 22(0) a 22(X) accede a una memoria cache paralela local 14(0) a 14(X), que comprende un controlador de memoria cache 16(0) a 16(X) y una memoria cache 18(0) - 18(X). Las memorias cache 14(0) a 14(X) en la Figura 1 son memorias cache paralelas, porque comparten una memoria compartida 20 de linaje comun. Segun lo ilustrado en la Figura 1, las memorias cache paralelas 14(0) a 14(X) pueden ser memorias cache de primer nivel para los nucleos procesadores 22(0) a 22(X). Alternativamente, las memorias cache paralelas 14(0) a 14(X) pueden ser memorias cache de nivel superior, por ejemplo, memorias cache de segundo nivel o de tercer nivel de los nucleos procesadores 22(0) a 22(X). Las memorias cache paralelas 14(0) a 14(X) comparten una memoria compartida 20. La memoria compartida 20 puede ser una memoria cache compartida, por ejemplo, una memoria cache de segundo nivel. La memoria compartida 20 tambien puede ser una memoria principal. Como tambien se ilustra en la Figura 1, el sistema multiprocesador 10 puede estar integrado en un troquel semiconductor 24.
Un sistema multiprocesador puede emplear algo de su tiempo operativo teniendo activo un unico nucleo procesador. Por lo tanto, puede ser ventajoso optimizar el sistema multiprocesador 10 para que consuma menos energfa al funcionar con un unico nucleo procesador 22(0) activo. De tanto en tanto, cuando se requieren prestaciones aumentadas, otros uno o mas nucleos procesadores 22(X) del sistema multiprocesador 10 pueden ser activados para proporcionar capacidad aumentada de procesamiento para el sistema multiprocesador 10. El sistema multiprocesador 10 puede consumir energfa adicional cuando estan activos mas de uno de los nucleos
5
10
15
20
25
30
35
40
45
50
55
60
65
procesadores 22(0) a 22(X); sin embargo, la energfa aumentada consumida por el sistema multiprocesador 10 puede tener lugar solamente durante periodos de tiempo en que pueden ser requeridas rafagas aumentadas de prestaciones.
A este respecto, el sistema multiprocesador 10 comprende un gestor de criterios de escritura en memoria cache 12, configurado para proporcionar criterios hfbridos de memoria cache de escritura doble, o escritura simple. El gestor de criterios de escritura en memoria cache 12 esta configurado para gestionar los criterios de escritura en memoria cache de una pluralidad de memorias cache paralelas 14(0) a 14(X). El gestor de criterios de escritura en memoria cache 12 esta configurado para determinar si estan activas o no al menos dos memorias cache paralelas 14(0) a 14(X). El gestor de criterios de escritura en memoria cache 12 esta configurado para instruir a una memoria cache 14(0) activa, entre la pluralidad de memorias cache paralelas 14(0) a 14(X), para aplicar un criterio de memoria cache de escritura simple, si todas las otras una o mas memorias cache 14(X), entre la pluralidad de memorias cache paralelas 14(0) a 14(X), estan inactivas. De esta manera, el gestor de criterios de escritura en memoria cache 12 puede conservar la energfa y / o aumentar las prestaciones del sistema multiprocesador 10 cuando solamente esta activo un unico nucleo procesador 22(0) entre una pluralidad de nucleos procesadores paralelos 22(0) a 22(X). Por ejemplo, el gestor de criterios de escritura en memoria cache 12 puede ser configurado para instruir a la memoria cache activa 14(0), entre la pluralidad de memorias cache paralelas 14(0) a 14(X), para aplicar un criterio de memoria cache de escritura simple, cuando todas las otras memorias cache 14(X), entre la pluralidad de memorias cache paralelas 14(0) a 14(X), devienen inactivas.
Ademas, el gestor de criterios de escritura en memoria cache 12 tambien esta configurado para instruir a una memoria cache activa 14(0), entre la pluralidad de memorias cache paralelas 14(0) a 14(X), para aplicar un criterio de memoria cache de escritura doble, si cualquiera de dichas uno o mas otras memorias cache 14(X) esta activa. De esta manera, el gestor de criterios de escritura en memoria cache 12 facilita la coherencia de datos entre las memorias cache paralelas 14(0) a 14(X) cuando estan activos multiples nucleos procesadores 22(0) a 22(X) entre la pluralidad de nucleos procesadores paralelos 22(0) a 22(X).
El gestor de criterios de escritura en memoria cache 12 esta configurado para enviar instrucciones a los controladores de memoria cache 16(0) a 16(X) de las memorias cache paralelas 14(0) a 14(X), para implementar el criterio hfbrido de memoria cache de escritura doble, o escritura simple. El gestor de criterios de escritura en memoria cache 12 esta configurado para instruir que se establezcan los criterios deseados de escritura en memoria cache, para las memorias cache paralelas 14(0) a 14(X). El controlador de memoria cache 16(0) esta configurado para recibir las instrucciones desde el gestor de criterios de escritura en memoria cache 12, para establecer los criterios deseados de escritura en memoria cache para la memoria cache 18(0). El controlador de memoria cache 16(0) esta configurado para establecer un criterio de memoria cache de escritura simple, como el criterio de escritura en memoria cache para la memoria cache 18(0), en respuesta a la recepcion de una indicacion de que todas las una o mas otras memorias cache 14(X), entre una pluralidad de memorias cache paralelas 14(0) a 14(X), estan inactivas. El controlador de memoria cache 16(0) esta ademas configurado para establecer un criterio de memoria cache de escritura doble, para la memoria cache 18(0), en respuesta a la recepcion de una indicacion de que cualquiera de dichas una o mas otras memorias cache 14(X), entre la pluralidad de memorias cache paralelas 14(0) a 14(X), esta activa.
El gestor de criterios de escritura en memoria cache 12 puede ser implementado como una maquina de estados. A este respecto, la Figura 2 proporciona una maquina de estados 26 ejemplar, que puede ser realizada por el gestor de criterios de escritura en memoria cache 12 de la Figura 1. A este respecto, la Figura 2 ilustra una maquina de estados 26 ejemplar para un gestor de criterios de escritura en memoria cache 12. En un modo de realizacion, la maquina de estados 26 puede ser proporcionada con un primer estado 28, un segundo estado 30, un tercer estado 32 y un cuarto estado 34.
Con referencia ahora al primer estado 28, cuando solamente esta activo un nucleo procesador 22(0) entre una pluralidad de nucleos procesadores paralelos 22(0) a 22(X), la memoria cache local 14(0), a la que accede el nucleo procesador 22(0), puede ser la unica memoria cache activa entre una pluralidad de memorias cache paralelas 14(0) a 14(X). Cuando solamente una primera memoria cache 14(0) esta activa entre una pluralidad de memorias cache paralelas 14(0) a 14(X), no hay necesidad de mantener coherencia continua de datos entre la memoria cache 14(0) y dichas una o mas otras memorias cache 14(X). Por tanto, aplicar un criterio de memoria cache de escritura simple a la memoria cache 14(0) podrfa conservar energfa y aumentar las prestaciones del unico nucleo procesador activo 22(0). En consecuencia, segun lo ilustrado en la Figura 2, cuando solamente una memoria cache 14(0) esta activa, el gestor de criterios de escritura en memoria cache 12 estara en un primer estado 28. En el primer estado 28, el gestor de criterios de escritura en memoria cache 12 aplica un criterio de memoria cache de escritura simple a la memoria cache activa 14(0). Al aplicar el criterio de memoria cache de escritura simple, la memoria cache 14(0) puede almacenar datos contaminados.
Sin embargo, una vez que son activadas una o mas de las otras memorias cache 14(X), la memoria cache 14(0) necesitara quedar coherente con las otras una o mas memorias cache 14(X). Por tanto, cuando el gestor de criterios de escritura en memoria cache 12 detecta que cualquiera de dichas una o mas otras memorias cache 14(X) esta activa, el gestor de criterios de escritura en memoria cache 12 efectua la transicion desde el primer estado 28 a un
5
10
15
20
25
30
35
40
45
50
55
60
65
segundo estado 30. El gestor de criterios de escritura en memoria cache 12 puede ser configurado para determinar que cualquiera de dichas una o mas otras memorias cache 14(X), entre la pluralidad de memorias cache paralelas 14(0) a 14(X), esta activa, determinando que cualquiera, entre dichas una o mas otras memorias cache 14(X), esta energizada. El gestor de criterios de escritura en memoria cache 12 tambien puede ser configurado para determinar que cualquiera de dichas una o mas otras memorias cache 14(X) esta activa, determinando que cualquiera de dichos uno o mas otros nucleos procesadores 22(X), configurados para acceder a cualquiera de dichas una o mas otras memorias cache 14(X), esta energizado y / o activo.
En el segundo estado 30, el gestor de criterios de escritura en memoria cache 12 deja la memoria cache 14(0), inicialmente activa, coherente con dichas una o mas otras memorias cache 14(X). Para lograr la coherencia de datos, el gestor de criterios de escritura en memoria cache 12 instruye a la memoria cache 14(0), inicialmente activa, para despejar todas las lfneas contaminadas de memoria cache. La memoria cache 14(0) activa puede despejar todas las lfneas contaminadas de memoria cache escribiendo datos, almacenados por lfneas contaminadas cualesquiera de memoria cache, en una memoria compartida 20, compartida entre la pluralidad de memorias cache paralelas 14(0) a 14(X). Antes, durante o despues de despejar todas las lfneas contaminadas de memoria cache en la memoria compartida 20, el gestor de criterios de escritura en memoria cache 12 tambien instruye a la memoria cache 14(0) inicialmente activa para aplicar un criterio de memoria cache de escritura doble. Al gestionar tambien dichas una o mas otras memorias cache 14(X), el gestor de criterios de escritura en memoria cache 12 tambien instruira a dichas una o mas otras memorias cache 14(X) para aplicar un criterio de memoria cache de escritura doble. El despeje de las lfneas contaminadas de memoria cache de la memoria cache 14(0) puede ser completado antes que otro nucleo procesador 22(X) de activacion reciente, y / o antes de que queden completamente activas dichas una o mas otras memorias cache 14(x) de activacion reciente. Despues de que se complete el despeje de lfneas contaminadas cualesquiera de memoria cache en la memoria cache 14(0) inicialmente activa, la memoria cache 14(0) inicialmente activa del primer nucleo procesador 22(0) mantendra en lo sucesivo la coherencia con dichas una o mas otras memorias cache 14(X). La coherencia es mantenida a traves de la memoria compartida 20 en este modo de realizacion. La memoria compartida 20 de linaje comun puede ser una memoria compartida del siguiente nivel de la memoria cache activa 14(0) y / o de las otras memorias cache 14(X). Alternativamente, puede haber una o mas memorias cache intermedias, y / o una o mas memorias intermedias, dispuestas entre la memoria cache activa 14(0) y la memoria compartida 20. Tambien puede haber una o mas memorias cache intermedias y / o memorias intermedias, dispuestas entre dichas una o mas otras memorias cache 14(X) y la memoria compartida 20. Despues de que la memoria cache 14(0) inicialmente activa es actualizada para que sea coherente con la memoria compartida 20, puede permitirse que dichos uno o mas otros nucleos procesadores 22(X) y / o dichas una o mas otras memorias cache 14(X) queden completamente activos.
Dado que la activacion de otros uno o mas nucleos procesadores 22(X) y / u otras una o mas memorias cache 14(X) lleva tiempo, las operaciones del segundo estado 30 pueden ser instruidas para que tengan lugar esencialmente en paralelo con la activacion de dichos uno o mas otros nucleos procesadores 22(X) y / o la activacion de dichas una o mas otras memorias cache 14(X).
Con referencia continua a la Figura 2, cuando una o mas de dichas una o mas otras memorias cache 14(X) quedan activas, el gestor de criterios de escritura en memoria cache 12 efectua la transicion a un tercer estado 32. En el tercer estado 32, hay al menos dos memorias cache 14 paralelas (p. ej., 14(0), 14(X)) activas, y cada una de las memorias cache 14 paralelas activas esta aplicando un criterio de memoria cache de escritura doble. Esto permite a los nucleos procesadores activos 22(0) a 22(X) mantener la coherencia de las memorias cache activas 14(0) a 14(X) en la memoria compartida 20 en este modo de realizacion. Si otra(s) memoria(s) cache 14(X) adicional(es) se torna(n) activa(s) (p. ej., otras dos o mas memorias cache 14(X) estan activas), el gestor de criterios de escritura en memoria cache 12 permanece en el tercer estado 32 y la(s) otra(s) memoria(s) cache 14(X) adicional(es) tambien es(son) instruida(s) para aplicar un criterio de memoria cache de doble escritura.
En algun momento, la capacidad adicional de procesamiento de dichos uno o mas otros nucleos procesadores 22(X) puede no ser requerida ya por el sistema multiprocesador 10. Cuando la capacidad adicional de procesamiento de dichos uno o mas otros nucleos procesadores 22(X) ya no es requerida por el sistema multiprocesador 10, el sistema multiprocesador 10 puede instruir a dichos uno o mas otros nucleos procesadores 22(X) para desactivarse, a fin de conservar energfa. Como resultado, dichas una o mas otras memorias cache 14(X) tambien pueden ser apagadas y / o desactivadas (es decir, quedar inactivas) sin drenar dichas una o mas otras memorias cache 14(X) a la memoria compartida 20. Cuando el gestor de criterios de memoria cache 12 determina que todas dichas una o mas otras memorias cache 14(X) estan inactivas (p. ej., solamente una memoria cache 14(0) permanece activa), el gestor de criterios de escritura en memoria cache 12 efectua la transicion desde el tercer estado 32 al cuarto estado 34.
En el cuarto estado 34, ya no hay necesidad de mantener coherente la memoria cache 14(0) individualmente activa con dichas una o mas otras memorias cache 14(X), porque dichas una o mas otras memorias cache 14(X) no estan activas y / o no estan energizadas. Por lo tanto, en el cuarto estado 34, el gestor de criterios de escritura en memoria cache 12 instruye a la memoria cache 14(0) que permanece activa, para aplicar un criterio de memoria cache de escritura simple. Los datos contaminados pueden ser nuevamente almacenados en la memoria cache 14(0). Como resultado, menos energfa es consumida por el sistema multiprocesador 10. Ademas, segun la implementacion, la
5
10
15
20
25
30
35
40
45
50
55
60
65
carga de trabajo y / u otros factores de diseno, el nucleo procesador 22(0) que permanece activo podrfa tener prestaciones aumentadas bajo los criterios de memoria cache de escritura simple.
Despues de instruir a la memoria cache 14(0) que permanece activa para aplicar un criterio de memoria cache de escritura simple, el gestor de criterios de escritura en memoria cache 12 efectua la transicion desde el cuarto estado 34 al primer estado 28. El gestor de criterios de escritura en memoria cache 12 permanecera en el primer estado 28 mientras la memoria cache paralela 14(0) activa sea la unica memoria cache 14 activa entre la pluralidad de memorias cache paralelas 14(0) a 14(X). El gestor de criterios de escritura en memoria cache 12 continua en lo sucesivo segun lo expuesto en el presente documento.
Alguien medianamente experto en la tecnica apreciara, a partir de esta divulgacion, que la memoria cache 14(0) que permanece individualmente activa al final de un ciclo, a traves de los estados primero, segundo, tercero y cuarto de la maquina de estados 26, puede ser una misma memoria cache 14 o una memoria cache 14 distinta, entre la pluralidad de memorias cache paralelas 14(0) a 14(X), a la memoria cache 14(0) inicialmente activa, al comienzo del ciclo. En otras palabras, puede permanecer activa, al final del ciclo a traves de la maquina de estados 26, una misma memoria cache 14, o una memoria cache 14 distinta a la que estaba inicialmente activa al comienzo del ciclo a traves de la maquina de estados 26.
Alguien medianamente experto en la tecnica tambien apreciara, a partir de esta divulgacion, que el gestor de criterios de escritura en memoria cache 12 puede comprender y operar varias maquinas de estados 26. Por ejemplo, un gestor de criterios de escritura en memoria cache 12 que gestiona multiples memorias cache 14 puede comprender y operar una maquina de estados 26 individual para cada memoria cache 14 gestionada por el gestor de criterios de escritura en memoria cache 12.
Ademas, la anterior exposicion se refiere a cuatro estados distintos de la maquina de estados 26: el primer estado 28, el segundo estado 30, el tercer estado 32 y el cuarto estado 34. Generalmente, el primer estado 28 y el tercer estado 32 pueden ser estados de mayor duracion, y el segundo estado 30 y el cuarto estado 34 pueden ser estados de transicion (es decir, de menor duracion). La maquina de estados 26 tambien puede estar dotada de menos estados, o de estados adicionales. Por ejemplo, en algunos modos de realizacion, la maquina de estados 26 puede ser proporcionada como una maquina de dos estados, estando el primer estado 28 de mayor duracion y el segundo estado 30 de transicion proporcionados como un primer estado 36, y estando el tercer estado 32 de mayor duracion y el cuarto estado 34 de transicion proporcionados como un segundo estado 38.
A modo de ejemplo adicional, se expone ahora un quinto estado 40 de arranque optativo, ilustrado en la Figura 2. Cuando una memoria cache 14 arranca por primera vez, el gestor de criterios de escritura en memoria cache 12 puede no saber inicialmente si estan o no activas otras memorias cache paralelas 14. Antes de que pueda tomarse una determinacion en cuanto a cuales memorias cache 14 estan activas / inactivas, puede ser arriesgado suponer que una memoria cache 14 en activacion es la unica memoria cache 14 activa. En consecuencia, el gestor de criterios de escritura en memoria cache 12 puede ser configurado para instruir a una memoria cache 14 para aplicar el criterio de memoria cache de escritura doble como el criterio por omision de escritura en memoria cache, hasta que pueda tomarse una determinacion en cuanto a cuales memorias cache 14 estan activas / inactivas. Como resultado, se evitan cuestiones de coherencia de datos que podrfan ocurrir en otro caso si la memoria cache 14 en activacion aplicara un criterio de cache de escritura simple en presencia de otras memorias cache paralelas 14 activas.
A este respecto, el gestor de criterios de escritura en memoria cache 12 puede arrancar inicialmente en el estado de arranque 40. En el estado de arranque 40, el gestor de criterios de escritura en memoria cache 12 instruye a la memoria cache 14 para aplicar un criterio de memoria cache de escritura doble. El gestor de criterios de escritura en memoria cache 12 efectua luego la transicion al tercer estado 32. Se tomara entonces una determinacion con respecto a cuales memorias cache 14 estan activas / inactivas. Si todas dichas una o mas otras memorias cache 14(X), entre la pluralidad de memorias cache paralelas 14, estan inactivas, entonces el gestor de criterios de escritura en memoria cache 12 de la memoria cache 14 en activacion efectuara la transicion al cuarto estado 34 (instruyendo a la memoria cache 14 en activacion para aplicar un criterio de memoria cache de escritura simple) y luego la transicion al primer estado 28. Si cualquiera de dichas una o mas otras memorias cache 14(X), entre la pluralidad de memorias cache paralelas 14, esta activa, entonces el gestor de criterios de escritura en memoria cache 12 de la memoria cache 14 en activacion permanecera en el tercer estado 38.
El sistema multiprocesador 10 de la Figura 1 ilustra una unica agrupacion de nucleos procesadores 22(0) a 22(X). Sin embargo, el sistema multiprocesador 10 tambien puede ser proporcionado como parte de un sistema multiprocesador jerarquico 10(1). A este respecto, la Figura 3 ilustra un sistema multiprocesador jerarquico 10(1) que tiene una pluralidad de agrupaciones de nucleos procesadores. Los nucleos procesadores 22A(0) a 22A(X) proporcionan una primera agrupacion de nucleos procesadores. Los nucleos procesadores 22B(0) a 22B(Y) forman una segunda agrupacion de nucleos procesadores. En la Figura 3, las memorias cache 14A(0) a 14A(X) son memorias cache paralelas, porque comparten una memoria cache paralela 14C(0) de linaje comun. Las memorias cache 14B(0) a 14B(Y) son memorias cache paralelas, porque comparten una memoria cache paralela 14C(Z) de linaje comun. Las memorias cache 14C(0) a 14C(Z) son memorias cache paralelas, porque comparten una memoria
5
10
15
20
25
30
35
40
45
50
55
60
65
compartida 20 de linaje comun. Las memorias cache 14A(0) a 14A(X) y 14B(0) a 14B(X) tambien son memorias cache paralelas porque comparten una memoria compartida 20 de linaje comun. El sistema multiprocesador jerarquico 10(1) puede ser proporcionado en un troquel semiconductor 24(1). Los elementos en la Figura 3 tienen numeros similares de elementos que los elementos de la Figura 1, y funcionan de la misma manera que los elementos en la Figura 1, excepto en vista de lo descrito en el presente documento.
Segun se ilustra en la Figura 3, el gestor de criterios de escritura en memoria cache 12 de la Figura 1 puede ser proporcionado como una pluralidad de gestores de criterios de escritura en memoria cache 12A(0) a 12A(X), y 12B(0) a 12B(Y). En el modo de realizacion ilustrado en la Figura 3, cada nucleo procesador 22 (p. ej., los nucleos procesadores 22A(0) a 22A(X) y 22B(0) a 22B(Y)) contiene un gestor de criterios de escritura en memoria cache 12 (p. ej., 12A(0) a 12A(X) y 12B(0) a 12B(Y), respectivamente). El gestor de criterios de escritura en memoria cache 12, contenido en cada nucleo procesador 22, esta configurado para determinar si al menos dos memorias cache 14, entre la pluralidad de memorias cache paralelas 14A(0) a 14A(X) y 14B(0) a 14B(Y), estan activas. El gestor de criterios de escritura en memoria cache 12, contenido en cada nucleo procesador 22, tambien esta configurado para instruir a una memoria cache paralela 14, a la que accede su nucleo procesador 22, con respecto a cual criterio de escritura de memoria cache aplicar.
A este respecto, en la Figura 3, cuando solamente esta activo un primer nucleo procesador 22A(0), el gestor de criterios de escritura en memoria cache 12A(0) puede instruir a la memoria cache paralela 14A(0) para aplicar un criterio de memoria cache de escritura simple. El gestor de criterios de escritura en memoria cache 12A(0) tambien puede instruir a la memoria cache paralela 14A(0) para aplicar un criterio de memoria cache de escritura simple si ninguno de dichos uno o mas otros nucleos procesadores 22B(0) a 22B(Y), en la segunda agrupacion de nucleos procesadores, esta activo. Cuando el nucleo procesador 22A(X) arranca, el gestor de criterios de escritura en memoria cache 12A(X) determina que la memoria cache paralela 14A(0) ya esta activa y, por lo tanto, instruye a la memoria cache paralela 14A(X) para aplicar un criterio de memoria cache de escritura doble. Cuando el nucleo procesador 22A(X) arranca, el gestor de criterios de escritura en memoria cache 12A(0) tambien determina que el nucleo procesador 22A(X) esta en activacion y, por lo tanto, instruye a la memoria cache 14A(0) ya activa para despejar sus lfneas de memoria cache de todos los datos contaminados. La memoria cache paralela 14A(X) despejara entonces todas sus lfneas contaminadas de memoria cache, escribiendo los datos almacenados en lfneas contaminadas cualesquiera de memoria cache, de la memoria cache paralela 14A(0), en una memoria cache paralela 14C(0), compartida entre los nucleos procesadores 22A(0) a 22A(X) de la primera agrupacion de nucleos procesadores.
Una vez que esta completado el despeje de las lfneas contaminadas de memoria cache de la memoria cache paralela 14a(X), la memoria cache paralela 14A(0) esta preparada para mantener la coherencia de datos con la memoria cache paralela 14A(X) del nucleo procesador 22A(X). A este respecto, ambas memorias cache paralelas 14A(0) y 14A(X) aplicaran un criterio de memoria cache de escritura doble para escribir cualquier dato, almacenado en sus memorias cache locales 18A(0) y 18A(X), en la memoria cache paralela 14C(0).
La maquina de estados 26 de la Figura 2 tambien puede ser aplicada a memorias cache paralelas, tales como las memorias cache paralelas 14C(0) a 14C(Z). En este momento, hay nucleos procesadores 22 activos en una primera agrupacion de procesadores (p. ej., los nucleos procesadores 22a(0), 22A(X)). Sin embargo, no hay ningun otro nucleo procesador 22B(0) a 22B(Y) activo en otras una o mas agrupaciones de procesadores. Como resultado, esta activa una memoria cache paralela 14C(0) y no hay ninguna otra memoria cache paralela 14C(Z) activa. Porque no hay ninguna otra memoria cache paralela 14C(Z) activa, la memoria cache paralela 14C(0) es instruida para aplicar un criterio de memoria cache de escritura simple. La memoria cache paralela 14C(0) puede continuar aplicando un criterio de memoria cache de escritura simple mientras todas las otras memorias cache paralelas (p. ej., la memoria cache paralela 14C(Z)), paralelas a la memoria cache paralela 14C(0), permanezcan inactivas (es decir, no activas).
Cuando un nucleo procesador 22B(0) es activado en la segunda agrupacion de nucleos procesadores, la maquina de estados 26 de la Figura 2 se usa para fijar los criterios de las memorias cache paralelas 14C(0) a 14C(Z) en un nivel mas profundo de memorias cache. Cuando el nucleo procesador 22B(0) (en otra agrupacion de nucleos procesadores) es arrancado y / o activado de otro modo, la memoria cache paralela 14B(0) y la memoria cache paralela 14C(Z) tambien arrancaran y quedaran activas. El gestor de criterios de escritura en memoria cache 12B(0) determina que las memorias cache paralelas 14A(0) a 14A(X) estan activas y, por lo tanto, instruye a la memoria cache paralela 14B(0) para aplicar un criterio de memoria cache de escritura doble. El gestor de criterios de escritura en memoria cache 12B(0) tambien determina que la memoria cache paralela 14C(0) esta activa y, por lo tanto, instruye a la memoria cache paralela 14C(Z) para aplicar un criterio de memoria cache de escritura doble.
El gestor de criterios de escritura en memoria cache 12A(0) tambien determina que el nucleo procesador 22B(0) y / o la memoria cache paralela 14B(0) estan activos y, por lo tanto, instruye a la memoria cache paralela 14C(0) para aplicar un criterio de memoria cache de escritura doble. Esto permite que la memoria cache paralela 14C(0) mantenga la coherencia con la memoria cache paralela 14C(Z) recientemente activada. A este respecto, cada una entre la memoria cache paralela 14C(0) y la memoria cache paralela 14C(Z) escribira por duplicado los datos almacenados en sus memorias cache 18C(0), 18C(Z), en la memoria compartida 20. Cuando todos los nucleos procesadores activos 22B de la otra agrupacion de nucleos procesadores (nucleo procesador 22B(0) en este ejemplo) sean desactivados, el gestor de criterios de escritura en memoria cache 12A(0) determinara que ningun
5
10
15
20
25
30
35
40
45
50
55
60
65
otro nucleo procesador 22B(0) a 22B(Y) y / o memoria paralela 14B(0) a 14B(Y), de otras agrupaciones cualesquiera de nucleos procesadores, estan activos. Cuando esto ocurre, el gestor de criterios de escritura en memoria cache 12A(0) puede instruir a la memoria cache paralela 14C(0) para aplicar un criterio de memoria cache de escritura simple. Aplicar un criterio de memoria cache de escritura simple puede conservar energfa y / o mejorar las prestaciones de los procesadores 12A(0) a 12A(X) en la unica agrupacion de nucleos procesadores que permanece activa (es decir, los procesadores 12A(0) a 12A(X)). Alguien medianamente experto en la tecnica apreciara, a partir de esta divulgacion, que la maquina de estados 26 de la Figura 2 puede ser aplicada en cualquier nivel de un sistema jerarquico de memoria cache. Alguien medianamente experto en la tecnica tambien apreciara, a partir de esta divulgacion, que cada agrupacion de nucleos procesadores en la Figura 3 puede comprender dos o mas nucleos procesadores 22.
Alguien medianamente experto en la tecnica tambien apreciara, a partir de esta divulgacion, que el sistema multiprocesador jerarquico 10(1) puede comprender dos o mas agrupaciones de nucleos procesadores. El sistema multiprocesador jerarquico 10(1) ilustrado en la Figura 3 ilustra tres niveles de memorias cache. Sin embargo, alguien medianamente experto en esa tecnica apreciara que la maquina de estados 26 tambien puede ser aplicada a jerarqufas mas profundas de memorias cache.
Los nucleos procesadores 22A(0) a 22A(X) y 22B(0) a 22B(Y) ilustrados en la Figura 3 contienen cada uno su propio gestor de criterios de escritura en memoria cache 12A(0) a 12A(X) y 12B(0) a 12B(Y). Sin embargo, el gestor de criterios de escritura en memoria cache 12 tambien puede ser proporcionado fuera de los nucleos procesadores 22A(0) a 22A(X) y 22B(0) a 22B(Y). A este respecto, la Figura 4 ilustra un sistema multiprocesador 10(2) que comprende un gestor de criterios de escritura en memoria cache 12, integrado en un hipervisor 44. El hipervisor 44 puede determinar si cualquiera de los nucleos procesadores 22A(0) a 22A(X) y 22B(0) a 22B(Y), y / o las memorias cache paralelas 14A(0) a 14A(X) y 14B(0) a 14B(Y), estan activos o no. El hipervisor tambien puede determinar si cualquiera de las memorias cache paralelas 14C(0) a 14C(Z) esta activa. El hipervisor 44 tambien puede controlar la activacion y desactivacion de los nucleos procesadores 22A(0) a 22A(X) y 22B(0) a 22B(Y), y / o la activacion y desactivacion de sus respectivas agrupaciones de nucleos procesadores. En un modo de realizacion, el hipervisor 44 es proporcionado como circuitos por separado en un troquel semiconductor 24(2). En otro modo de realizacion, el hipervisor 44 es proporcionado en software. Cuando se implementa en software, el hipervisor 44 puede ejecutarse en un nucleo procesador 22, por separado de los nucleos procesadores 22A(0) a 22A(X) y 22B(0) a 22B(Y). Sin embargo, el hipervisor 44 tambien puede ejecutarse en uno o mas de los nucleos procesadores 22A(0) a 22A(X) y 22B(0) a 22B(Y).
Segun lo ilustrado por el sistema multiprocesador 10(3) en la Figura 5, el gestor de criterios de escritura en memoria cache 12 tambien puede estar integrado en una unidad de gestion de energfa (PMU) 46. La PMU 46 puede ser implementada como circuitos individuales de un troquel semiconductor 24(3). La PMU 46 controla el arranque y / o el apagado de los nucleos procesadores 22A(0) a 22A(X) y 22B(0) a 22B(Y) y / o las memorias cache paralelas 14A(0) a 14A(X) y 14B(0) a 14B(Y). La PMU 46 puede o no implementar maquinas de estados individuales 26 para afectar a las memorias cache paralelas 14A(0) a 14A(X) y 14B(0) a 14B(Y) y / o las memorias cache paralelas 14C(0) a 14C(Z).
El gestor de criterios de escritura en memoria cache 12 y / o las memorias cache paralelas 14, de acuerdo a modos de realizacion y aspectos divulgados en el presente documento, pueden ser proporcionados, o integrados, en cualquier dispositivo basado en procesadores. Los ejemplos, sin limitacion, incluyen un equipo de sobremesa, una unidad de entretenimiento, un dispositivo de navegacion, un dispositivo de comunicaciones, una unidad de datos de ubicacion fija, una unidad de datos de ubicacion movil, un telefono movil, un telefono celular, un ordenador, un ordenador portatil, un ordenador de sobremesa, un asistente digital personal (PDA), un monitor, un monitor de ordenador, un televisor, un sintonizador, una radio, una radio por satelite, un reproductor de musica, un reproductor de musica digital, un reproductor de musica portatil, un reproductor de video digital, un reproductor de video, un reproductor de discos de video digital (DVD) y un reproductor de video digital portatil.
A este respecto, la Figura 6 ilustra un ejemplo de un sistema 48 basado en procesadores. En este ejemplo, el sistema 48 basado en procesadores incluye una o mas unidades centrales de procesamiento (CPU) 50, incluyendo cada una uno o mas procesadores 52. Las CPU 50 pueden tener memoria(s) cache 53 acoplada(s) a uno o mas procesadores 52, para el rapido acceso a datos temporalmente almacenados. Como se ha expuesto en el presente documento, cada memoria cache 53 puede contener un controlador de memoria cache 56 y memoria cache 54, controlada segun lo expuesto en el presente documento. La(s) CPU 50 esta(n) acoplada(s) a un bus de sistema 58 y pueden inter-acoplar dispositivos maestros y dispositivos esclavos, incluidos en el sistema 48 basado en procesadores. Como es bien sabido, la(s) CPU 50 se comunica(n) con estos otros dispositivos intercambiando informacion de direccion, control y datos por el bus del sistema 58. Por ejemplo, la(s) CPU 50 puede(n) comunicar solicitudes de transacciones de bus al controlador de memoria 60, como un ejemplo de un dispositivo esclavo. Aunque no esta ilustrado en la Figura 6, podrfan proporcionarse multiples buses de sistema 58, en donde cada bus de sistema 58 constituye una estructura distinta.
Otros dispositivos maestros y esclavos pueden ser acoplados al bus del sistema 58. Segun se ilustra en la Figura 6, estos dispositivos pueden incluir una memoria del sistema 62, uno o mas dispositivos de entrada 64, uno o mas dispositivos de salida 66, uno o mas dispositivos de interfaz de red 68 y uno o mas controladores de visor 70, como
5
10
15
20
25
30
35
40
45
50
55
60
65
ejemplos. El dispositivo, o los dispositivos, 64 puede(n) incluir cualquier tipo de dispositivo de entrada, incluyendo, pero sin limitarse a, teclas de entrada, conmutadores, procesadores de voz, etc. El dispositivo, o los dispositivos, 66 puede(n) incluir cualquier tipo de dispositivo de salida, incluyendo, pero sin limitarse a, el audio, el video, otros indicadores visuales, etc. El dispositivo, o los dispositivos, de interfaz de red 68 puede(n) ser cualquier dispositivo configurado para permitir el intercambio de datos a y desde una red 72. La red 72 puede ser cualquier tipo de red, incluyendo, pero sin limitarse a, una red cableada o inalambrica, una red privada o publica, una red de area local (LAN), una red de area local amplia (WLAN) e Internet. El dispositivo, o los dispositivos, de interfaz de red 68 puede(n) ser configurado(s) para dar soporte a cualquier tipo de protocolo de comunicacion deseado.
Segun lo expuesto en el presente documento, la(s) CPU 50 tambien puede(n) incluir uno o mas gestores de criterios de escritura en memoria cache 12. Segun se ilustra en la Figura 6, dichos uno o mas gestores de criterios de escritura en memoria cache 12 pueden estar integrados en la(s) memoria(s) cache 53 y / o integrados en el procesador, o los procesadores, 52. Como tambien se ilustra en la Figura 6, dichos uno o mas gestores de criterios de escritura en memoria cache 12 tambien pueden ser proporcionados en la(s) CPU 50 por separado de la(s) memoria(s) cache 53 y el procesador, o los procesadores, 52. Por ejemplo, uno o mas gestores de criterios de escritura en memoria cache 12, proporcionados por separado, pueden ser proporcionados integrados en un hipervisor 44 y / o una PMU 46 de la(s) CPU 50.
La(s) CPU 50 tambien puede(n) ser configurada(s) para acceder al controlador, o los controladores, de visor 70 por el bus del sistema 58, para controlar informacion enviada a uno o mas visores 74. El controlador, o los controladores, de visor 70 envian informacion al visor, o a los visores, 74, para ser exhibida mediante uno o mas procesadores de video 76, que procesan la informacion a exhibir en un formato adecuado para el visor, o los visores, 74. El visor, o los visores, 74 puede(n) incluir cualquier tipo de visor, incluyendo, pero sin limitarse a, un tubo de rayos catodicos (CRT), un visor de cristal lfquido (LCD), una pantalla de plasma, etc. La memoria del sistema 62 puede comprender un controlador de memoria 60 para acceder a la memoria 78 del sistema 48 basado en procesadores. La memoria 78 puede comprender un medio no transitorio legible por ordenador. El medio legible por ordenador puede tener almacenadas en el mismo instrucciones ejecutables por ordenador, para hacer que el procesador, o los procesadores, 52 implemente(n) procedimientos descritos en el presente documento, para proporcionar un criterio hfbrido de memoria cache de escritura doble, o escritura simple, para una o mas entre una pluralidad de memorias cache 53. A este respecto, la memoria 78 puede comprender un almacen de programas 80 y / o un almacen de datos 82.
Los expertos en la tecnica apreciaran ademas que los diversos bloques logicos ilustrativos, modulos, circuitos y algoritmos descritos con relacion a los modos de realizacion divulgados en el presente documento pueden ser implementados como hardware electronico, instrucciones almacenadas en la memoria o en otro medio legible por ordenador, y ejecutados por un procesador u otro dispositivo de procesamiento, o combinaciones de ambos. El gestor, o los gestores, de criterios de escritura en memoria cache, el controlador, o los controladores, de memoria cache y / o la(s) memoria(s) cache, descrito(s) en el presente documento pueden ser empleados en cualquier circuito, componente de hardware, circuito integrado (IC), o chip de IC, como ejemplos. La memoria divulgada en el presente documento puede ser de cualquier tipo y tamano de memoria, y puede ser configurada para almacenar cualquier tipo de informacion deseada. Para ilustrar claramente esta intercambiabilidad, diversos componentes ilustrativos, bloques, modulos, circuitos y etapas han sido descritos anteriormente, en general, en terminos de su funcionalidad. Como es implementada tal funcionalidad depende de la aplicacion especffica, las opciones de diseno y / o las restricciones de diseno impuestas sobre el sistema global.
Los diversos bloques logicos ilustrativos, modulos y circuitos descritos con relacion a los modos de realizacion divulgados en el presente documento pueden ser implementados o realizados con un procesador, un procesador de senales digitales (DSP), un Circuito Integrado Especffico de la Aplicacion (ASIC), una formacion de compuertas programables en el terreno (FPGA) u otro dispositivo logico programable, compuerta discreta o logica de transistor, componentes discretos de hardware o cualquier combinacion de los mismos disenada para realizar las funciones descritas en el presente documento. Un nucleo de procesamiento (tambien llamado en el presente documento un nucleo, un nucleo de procesamiento y / o un procesador) puede ser un microprocesador pero, como alternativa, el nucleo de procesamiento puede ser cualquier procesador convencional, controlador, micro-controlador o maquina de estados. Un nucleo de procesamiento tambien puede ser implementado como una combinacion de dispositivos informaticos, p. ej., una combinacion de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o mas microprocesadores conjuntamente con un nucleo de dSp o cualquier otra configuracion de ese tipo.
Los modos de realizacion divulgados en el presente documento pueden ser realizados en hardware y en instrucciones que estan almacenadas en hardware, y pueden residir, por ejemplo, en Memoria de Acceso Aleatorio (RAM), memoria flash, Memoria de Solo Lectura (ROM), ROM Electricamente Programable (EPROM), ROM Programable Electricamente Borrable (EEPROM), registros, un disco rfgido, un disco extrafble, un CD-ROM o cualquier otra forma de medio legible por ordenador conocido en la tecnica. Un medio de almacenamiento ejemplar esta acoplado con el procesador de modo que el procesador pueda leer informacion de, y escribir informacion en, el medio de almacenamiento. Como alternativa, el medio de almacenamiento puede ser una parte integrante del procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en una estacion remota. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes
discretos en una estacion remota, una estacion base, o un servidor.
Tambien se hace notar que las etapas operativas descritas en cualquiera de los modos de realizacion ejemplares en el presente documento estan descritas para proporcionar ejemplos y debate.
5
Los expertos en la tecnica tambien entenderan que la informacion y las senales pueden ser representadas usando cualquiera entre una amplia variedad de distintas tecnologfas y tecnicas. Por ejemplo, los datos, las instrucciones, los comandos, la informacion, las senales, los bits, los sfmbolos y los chips que puedan ser mencionados en toda la extension de la descripcion anterior pueden ser representados por voltajes, corrientes, ondas electromagneticas, 10 campos o partfculas magneticos, campos o partfculas opticos o cualquier combinacion de los mismos.
La anterior descripcion de la divulgacion se proporciona para permitir que cualquier experto en la tecnica realice o use la divulgacion. Diversas modificaciones para la divulgacion seran inmediatamente evidentes para los expertos en la tecnica. Por tanto, la divulgacion no esta concebida para estar limitada a los ejemplos y disenos descritos en el 15 presente documento, sino que se le ha de acordar el mas amplio ambito congruente con las reivindicaciones adjuntas.

Claims (15)

1.
10
15
20
2.
25
3.
30
4.
35
5.
40
6.
7.
45
8.
50
55
9.
60
REIVINDICACIONES
Un gestor de criterios de escritura en memoria cache (12), configurado para:
determinar si al menos dos memorias cache (14), entre una pluralidad de memorias cache paralelas, estan activas o no;
instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas (14), para aplicar un criterio de memoria cache de escritura simple, si todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, estan inactivas; e
instruir a la memoria cache activa, entre la pluralidad de memorias cache paralelas (14), para aplicar un criterio de memoria cache de escritura doble, si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, esta activa;
caracterizado porque el gestor de criterios de escritura en memoria cache esta configurado para instruir a la memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar el criterio de memoria cache de escritura simple cuando todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, quedan inactivas.
El gestor de criterios de escritura en memoria cache de la reivindicacion 1, adicionalmente configurado para instruir a la memoria cache activa para despejar todas las lfneas contaminadas de memoria cache si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, es activada.
El gestor de criterios de escritura en memoria cache de la reivindicacion 2, configurado para instruir a la memoria cache activa para despejar todas las lfneas contaminadas de memoria cache, instruyendo a la memoria cache activa para escribir los datos, almacenados por lfneas contaminadas cualesquiera de memoria cache, en una memoria compartida.
El gestor de criterios de escritura en memoria cache de la reivindicacion 1, configurado para determinar si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas (14), esta activa, determinando si cualquiera de uno o mas nucleos procesadores, configurados para acceder a cualquiera de dichas una o mas otras memorias cache, esta energizado.
El gestor de criterios de escritura en memoria cache de la reivindicacion 1, configurado para determinar si todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas (14), estan inactivas, determinando si todos los uno o mas nucleos procesadores (22), configurados para acceder a cualquiera de dichas una o mas otras memorias cache, estan no energizados.
El gestor de criterios de escritura en memoria cache de la reivindicacion 1, en el que la memoria cache activa esta configurada para aplicar el criterio de memoria cache de escritura doble como un criterio por omision.
El gestor de criterios de escritura en memoria cache de la reivindicacion 1, integrado en al menos uno entre: un nucleo de procesamiento, un hipervisor, una unidad de gestion de energfa (PMU) y un troquel semiconductor.
El gestor de criterios de escritura en memoria cache de la reivindicacion 1, que comprende ademas un dispositivo seleccionado entre el grupo que consiste en un equipo de sobremesa, una unidad de entretenimiento, un dispositivo de navegacion, un dispositivo de comunicaciones, una unidad de datos de ubicacion fija, una unidad de datos de ubicacion movil, un telefono movil, un telefono celular, un ordenador, un ordenador portatil, un ordenador de sobremesa, un asistente digital personal (PDA), un monitor, un monitor de ordenador, un televisor, un sintonizador, una radio, una radio por satelite, un reproductor de musica, un reproductor de musica digital, un reproductor de musica portatil, un reproductor de video digital, un reproductor de video, un reproductor de disco de video digital (DVD) y un reproductor de video digital portatil, en el cual esta integrado el gestor de criterios de escritura en memoria cache (12).
Un procedimiento para proporcionar un criterio hfbrido de memoria cache de escritura doble, o escritura simple, para una memoria cache (14), que comprende:
determinar si al menos dos memorias cache, entre una pluralidad de memorias cache paralelas, estan activas o no;
instruir a una memoria cache activa, entre la pluralidad de memorias cache paralelas (14), para aplicar un criterio de memoria cache de escritura simple, si todas las una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, estan inactivas; e
5
10
15
20
25
30
35
40
instruir a la memoria cache activa, entre la pluralidad de memorias cache paralelas (14), para aplicar un criterio de memoria cache de escritura doble, si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, esta activa;
caracterizado por instruir a la memoria cache activa, entre la pluralidad de memorias cache paralelas, para aplicar el criterio de memoria cache de escritura simple, cuando todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, quedan inactivas.
10. El procedimiento de la reivindicacion 9, que comprende ademas instruir a la memoria cache activa para despejar todas las lfneas contaminadas de memoria cache, si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, esta activada, en el que la etapa de instruir a la memoria cache activa para despejar todas las lfneas contaminadas de memoria cache comprende instruir a la memoria cache activa para escribir datos, almacenados por lfneas contaminadas cualesquiera de memoria cache, en una memoria compartida.
11. El procedimiento de la reivindicacion 9, que comprende determinar si cualquiera de dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas (14), esta activa, determinando si cualquiera de dichos uno o mas nucleos procesadores (22), configurados para acceder a cualquiera de dichas una o mas otras memorias cache (14), esta energizado.
12. El procedimiento de la reivindicacion 9, que comprende determinar si todas dichas una o mas otras memorias cache, entre la pluralidad de memorias cache paralelas, estan inactivas, determinando si todos dichos uno o mas nucleos procesadores, configurados para acceder a cualquiera de dichas una o mas otras memorias cache, estan no energizados.
13. El procedimiento de la reivindicacion 9, que comprende ademas instruir a la memoria cache activa para aplicar el criterio de memoria cache de escritura doble como un criterio por omision.
14. Un sistema multiprocesador, que comprende:
una pluralidad de memorias cache paralelas (14);
una memoria compartida (20), compartida por la pluralidad de memorias cache paralelas (14); y
un gestor de criterios de escritura en memoria cache (12), de acuerdo a una cualquiera de las reivindicaciones 1 a 8.
15. Un medio legible por ordenador que tiene almacenadas en el mismo instrucciones ejecutables por ordenador, para hacer que un procesador implemente un procedimiento de acuerdo a una cualquiera de las reivindicaciones 9 a 13.
ES13701347.0T 2012-01-16 2013-01-16 Gestores híbridos de criterios de memoria caché con escritura doble / escritura simple, y sistemas y procedimientos relacionados Active ES2573284T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261586937P 2012-01-16 2012-01-16
US201261586937P 2012-01-16
US13/470,643 US10025711B2 (en) 2012-01-16 2012-05-14 Hybrid write-through/write-back cache policy managers, and related systems and methods
US201213470643 2012-05-14
PCT/US2013/021774 WO2013109648A1 (en) 2012-01-16 2013-01-16 Hybrid write-through/write-back cache policy managers, and related systems and methods

Publications (1)

Publication Number Publication Date
ES2573284T3 true ES2573284T3 (es) 2016-06-07

Family

ID=48780824

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13701347.0T Active ES2573284T3 (es) 2012-01-16 2013-01-16 Gestores híbridos de criterios de memoria caché con escritura doble / escritura simple, y sistemas y procedimientos relacionados

Country Status (9)

Country Link
US (1) US10025711B2 (es)
EP (1) EP2805243B1 (es)
JP (1) JP5960842B2 (es)
KR (2) KR101747894B1 (es)
CN (1) CN104067243B (es)
ES (1) ES2573284T3 (es)
HU (1) HUE028928T2 (es)
TW (1) TWI489277B (es)
WO (1) WO2013109648A1 (es)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372803B2 (en) * 2012-12-20 2016-06-21 Advanced Micro Devices, Inc. Method and system for shutting down active core based caches
US9442849B2 (en) * 2012-12-29 2016-09-13 Intel Corporation Apparatus and method for reduced core entry into a power state having a powered down core cache
US10216640B2 (en) 2014-03-21 2019-02-26 Samsung Electronics Co., Ltd. Opportunistic cache injection of data into lower latency levels of the cache hierarchy
US9594628B2 (en) 2014-07-30 2017-03-14 Segate Technology Llc Operational vibration compensation through media cache management
US9740426B2 (en) * 2014-09-19 2017-08-22 Lenovo (Singapore) Pte. Ltd. Drive array policy control
US10108344B1 (en) 2015-05-06 2018-10-23 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with an SSD filtering or SSD pre-fetch algorithm
US10019362B1 (en) * 2015-05-06 2018-07-10 American Megatrends, Inc. Systems, devices and methods using solid state devices as a caching medium with adaptive striping and mirroring regions
US10089227B1 (en) 2015-05-06 2018-10-02 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a write cache flushing algorithm
US10114566B1 (en) 2015-05-07 2018-10-30 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a read-modify-write offload algorithm to assist snapshots
US10176103B1 (en) 2015-05-07 2019-01-08 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a cache replacement algorithm
US10055354B1 (en) 2015-05-07 2018-08-21 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a hashing algorithm to maintain sibling proximity
CN105740170B (zh) * 2016-01-22 2020-12-04 浪潮(北京)电子信息产业有限公司 一种缓存脏页刷写方法及装置
US9990286B1 (en) * 2017-05-05 2018-06-05 Honeywell International, Inc. Memory tracking using copy-back cache for 1:1 device redundancy
KR102430983B1 (ko) * 2017-09-22 2022-08-09 삼성전자주식회사 스토리지 장치 및 그 동작 방법
KR20190067370A (ko) * 2017-12-07 2019-06-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
CN108052414B (zh) * 2017-12-28 2021-09-17 湖南国科微电子股份有限公司 一种提升ssd工作温度范围的方法及系统
TWI681293B (zh) * 2018-01-10 2020-01-01 瑞昱半導體股份有限公司 暫存記憶體處理方法、暫存記憶體程式與記憶裝置
JP6995644B2 (ja) * 2018-01-23 2022-01-14 日立Astemo株式会社 電子制御装置
KR102052312B1 (ko) * 2018-05-08 2019-12-05 주식회사 애포샤 캐싱 장치 및 방법
KR20200056548A (ko) 2018-11-14 2020-05-25 에스케이하이닉스 주식회사 캐시 시스템을 갖는 메모리 시스템 및 메모리 시스템에서의 캐싱 동작 제어방법
KR20210066631A (ko) 2019-11-28 2021-06-07 삼성전자주식회사 메모리에 데이터를 기입하기 위한 장치 및 방법
US11023375B1 (en) * 2020-02-21 2021-06-01 SiFive, Inc. Data cache with hybrid writeback and writethrough
US11567873B1 (en) 2021-09-27 2023-01-31 Sap Se Extended cache for efficient object store access by a database
KR102641481B1 (ko) * 2023-04-19 2024-02-28 메티스엑스 주식회사 멀티프로세서 시스템 및 이의 데이터 관리 방법
KR102570030B1 (ko) * 2023-04-19 2023-08-28 메티스엑스 주식회사 멀티프로세서 시스템 및 이의 데이터 관리 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01266643A (ja) * 1988-04-18 1989-10-24 Nippon Telegr & Teleph Corp <Ntt> キャッシュ制御方式
JP2533612B2 (ja) 1988-05-16 1996-09-11 富士通株式会社 メモリのデ―タ保護方式
JPH04347749A (ja) * 1991-05-24 1992-12-02 Nec Corp 情報処理装置
US5301298A (en) 1991-10-11 1994-04-05 Intel Corporation Processor for multiple cache coherent protocols
US5522057A (en) 1993-10-25 1996-05-28 Intel Corporation Hybrid write back/write through cache having a streamlined four state cache coherency protocol for uniprocessor computer systems
US6052789A (en) 1994-03-02 2000-04-18 Packard Bell Nec, Inc. Power management architecture for a reconfigurable write-back cache
JPH0883215A (ja) * 1994-09-12 1996-03-26 Hitachi Ltd メモリ制御装置
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US6711691B1 (en) 1999-05-13 2004-03-23 Apple Computer, Inc. Power management for computer systems
US6725342B1 (en) * 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US7127560B2 (en) 2003-10-14 2006-10-24 International Business Machines Corporation Method of dynamically controlling cache size
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US20080008256A1 (en) * 2004-08-02 2008-01-10 Matshushita Electric Industrial Co., Ltd. Ofdm Transmitting Apparatus, Ofdm Receiving Apparatus, and Their Methods
US7624236B2 (en) * 2004-12-27 2009-11-24 Intel Corporation Predictive early write-back of owned cache blocks in a shared memory computer system
US7849350B2 (en) * 2006-09-28 2010-12-07 Emc Corporation Responding to a storage processor failure with continued write caching
US7730248B2 (en) * 2007-12-13 2010-06-01 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems and processes
US8145932B2 (en) * 2008-06-30 2012-03-27 Dell Products L.P. Systems, methods and media for reducing power consumption in multiple controller information handling systems
US8161247B2 (en) * 2009-06-26 2012-04-17 Microsoft Corporation Wait loss synchronization
US8751833B2 (en) 2010-04-30 2014-06-10 Arm Limited Data processing system
WO2013054374A1 (en) * 2011-10-12 2013-04-18 Hitachi, Ltd. Storage system, and data backup method and system restarting method of storage system

Also Published As

Publication number Publication date
JP5960842B2 (ja) 2016-08-02
HUE028928T2 (en) 2017-01-30
CN104067243B (zh) 2017-09-12
EP2805243B1 (en) 2016-03-23
US10025711B2 (en) 2018-07-17
CN104067243A (zh) 2014-09-24
KR20170016995A (ko) 2017-02-14
WO2013109648A1 (en) 2013-07-25
JP2015503816A (ja) 2015-02-02
EP2805243A1 (en) 2014-11-26
KR101747894B1 (ko) 2017-06-15
TWI489277B (zh) 2015-06-21
US20130185511A1 (en) 2013-07-18
TW201342062A (zh) 2013-10-16
KR20140116495A (ko) 2014-10-02

Similar Documents

Publication Publication Date Title
ES2573284T3 (es) Gestores híbridos de criterios de memoria caché con escritura doble / escritura simple, y sistemas y procedimientos relacionados
TWI601065B (zh) 多cpu系統以及具有該多cpu系統的計算系統
KR101609718B1 (ko) 프로세서-기반 시스템들에서 이종의 메모리 액세스 요청들을 지원하기 위한 이종의 메모리 시스템들, 및 관련 방법들 및 컴퓨터-판독 가능한 매체들
US10539997B2 (en) Ultra-low-power design memory power reduction scheme
US20100228922A1 (en) Method and system to perform background evictions of cache memory lines
US9477409B2 (en) Accelerating boot time zeroing of memory based on non-volatile memory (NVM) technology
CN104049715A (zh) 平台不可知的功率管理
TWI553549B (zh) 包括多個不同處理器核心之處理器
ES2674546T3 (es) Método, aparato y chip para implementar una operación mutuamente excluyente de múltiples hilos
US11922172B2 (en) Configurable reduced memory startup
KR102048399B1 (ko) 메모리 관리 유닛들 및 분산 가상 메모리 네트워크들에 대한 하드웨어 관리 전력 붕괴 및 클록 웨이크-업
US20160378151A1 (en) Rack scale architecture (rsa) and shared memory controller (smc) techniques of fast zeroing
WO2013079988A1 (en) Integrated circuit device, asymmetric multi-core processing module, electronic device and method of managing execution of computer program code therefor
ES2870516T3 (es) Proporcionar una gestión escalable de la caché de la memoria dinámica de acceso aleatorio (DRAM) mediante el uso de las cachés indicadoras de la caché DRAM
CN117581189A (zh) 降低远存储器中的存储器功率使用
JP2013020593A (ja) 半導体装置、それを用いた無線通信端末、及び電源制御方法
JP2008140379A (ja) バス・スイッチング電力を節約し且つ雑音を減少させるためのコンピュータ実装方法、バス・スイッチング・システム及びコンピュータ・プログラム