ES2357308T3 - Almacenamiento en memoria caché en el procesado de datos. - Google Patents
Almacenamiento en memoria caché en el procesado de datos. Download PDFInfo
- Publication number
- ES2357308T3 ES2357308T3 ES06743880T ES06743880T ES2357308T3 ES 2357308 T3 ES2357308 T3 ES 2357308T3 ES 06743880 T ES06743880 T ES 06743880T ES 06743880 T ES06743880 T ES 06743880T ES 2357308 T3 ES2357308 T3 ES 2357308T3
- Authority
- ES
- Spain
- Prior art keywords
- cache
- data
- instruction
- page
- main memory
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 title claims description 12
- 238000000034 method Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Procesador de datos que comprende: una memoria principal (130); una memoria caché (140) de instrucciones y una memoria caché (150) de datos dispuestas, cada una de ellas, como una pluralidad de páginas de memoria caché; una lógica (110) de recuperación de instrucciones que se puede hacer funcionar para buscar en la memoria caché (140) de instrucciones una instrucción requerida; y si la instrucción requerida no está presente en la memoria caché (140) de instrucciones, para buscar en la memoria caché (150) de datos; si la instrucción requerida está presente en la memoria caché de datos para recuperar la página que comprende la instrucción requerida desde la memoria caché de datos hacia la memoria caché de instrucciones, y si la instrucción requerida no está presente en la memoria caché (150) de datos, para recuperar la página que comprende la instrucción requerida desde la memoria principal (130) hacia la memoria caché (140) de instrucciones; una lógica (110) de escritura de datos que se puede hacer funcionar para escribir un valor de datos en la página pertinente de la memoria caché (150) de datos en una dirección de datos y, si la misma página está representada también en la memoria caché (140) de instrucciones, para escribir ese valor de datos en la dirección correspondiente de esa página en la memoria caché (140) de instrucciones; y una lógica (110) de control de memorias caché que se puede hacer funcionar para transferir páginas desde la memoria caché (150) de datos hacia la memoria principal (130), en el que valores de datos almacenados en la memoria caché (140) de instrucciones no se vuelven a escribir nunca en la memoria principal.
Description
La presente invención se refiere al almacenamiento en memoria caché en el procesado de datos.
A continuación se describirá un problema a título de ejemplo con respecto a la emulación de un microprocesador particular, aunque se observará que la invención presenta una aplicabilidad mucho más amplia.
Los núcleos de microprocesador se usan en varias aplicaciones tales como terminales particulares del televisor 5 y el sistema de entretenimiento informático familiar Playstation 2™ (PS2) de SonyRTM. En el procesador de entrada/salida (IOP) de la PS2, el núcleo está provisto de 2 Megabytes de memoria principal y una memoria caché muy pequeña. Hace uso de la denominada “escritura directa” de la memoria caché, en la que cualquier información escrita por el procesador en una posición de memoria caché se escribe también en la memoria principal subyacente. Esto significa que la información nueva se escribe en la memoria caché en el caso de que sea necesario leerla de nuevo en 10 un futuro próximo, pero la propia operación de escritura no se almacena en memoria caché ya que sigue siendo necesario cada vez un acceso a la memoria principal. Una ventaja de esta disposición es que permite implementar más fácilmente un código de programa automodificable. La técnica anterior es el documento US 2002/0010837, que da a conocer un sistema y un método de memoria caché para controlar esta última.
Se ha propuesto que el IOP se emule mediante un procesador de emulación que tiene una memoria interna 15 demasiado pequeña para proporcionar los 2 MB de la memoria del IOP. Se puede acceder a una memoria externa, aunque esto se realiza únicamente a través de un controlador de DMA. Para permitir que la emulación funcione a una velocidad útil, se requiere por lo tanto una estrategia de almacenamiento en memoria caché, ya que los accesos a una memoria externa en el sistema de emulación que usa el controlador de DMA son lentos. Para reducir el número de accesos a la memoria externa que son necesarios, la estrategia de almacenamiento en memoria caché debería incluir el 20 almacenamiento en memoria caché de escrituras de datos así como de lecturas de datos. No obstante, esto significaría que el código automodificable no se puede emular fácilmente.
La presente invención proporciona un procesador de datos según la reivindicación 1 adjunta a la presente memoria.
La invención proporciona una forma eficaz de acceder a datos e instrucciones al mismo tiempo que se reduce 25 la necesidad de acceder a una memoria principal.
Vista desde un segundo aspecto, la presente invención proporciona un método de procesado de datos según la reivindicación 10 adjunta a la presente memoria.
Otros aspectos de la invención incluyen software de ordenador que comprende un código de programa para llevar a cabo este método; y un soporte (por ejemplo, un medio de transmisión o un soporte de almacenamiento) por 30 medio del cual se proporciona dicho código de programa.
En las reivindicaciones adjuntas se definen otros diversos aspectos y características de la invención. A continuación se describirán formas de realización de la invención, únicamente a título de ejemplo, haciendo referencia a los dibujos adjuntos, en los que:
la Figura 1 ilustra esquemáticamente un sistema de procesado de datos; 35
la Figura 2 ilustra esquemáticamente un sistema de procesado de datos que usa memorias caché de datos y de instrucciones;
la Figura 3 es un diagrama de flujo esquemático referente a una operación para leer una instrucción;
la Figura 4 es un diagrama de flujo esquemático referente a una operación para escribir un valor de datos; y
la Figura 5 es un diagrama de flujo esquemático referente a una operación para leer un valor de datos. 40
La Figura 1 ilustra esquemáticamente un sistema de procesado de datos del que se va a realizar una emulación. El sistema comprende un procesador 10 que lee datos e instrucciones desde, y escribe datos e instrucciones modificadas en, una memoria principal 20.
La siguiente descripción se refiere a una técnica para la emulación del funcionamiento del sistema de la Figura 1 que usa un procesador cuya memoria local es demasiado pequeña para contener una imagen de la memoria principal 45 20 del sistema del que se va a realizar la emulación. Debido a esta restricción, se debe utilizar una estrategia de memoria caché.
La Figura 2 ilustra esquemáticamente la disposición de emulación. Las técnicas de emulación son en general bien conocidas, y, por claridad, se omiten las características que no son relevantes directamente para la presente forma de realización. La emulación conlleva un procesador de emulación que ejecuta un software de emulación escrito en un 50 lenguaje nativo para el procesador de emulación, de manera que se ejecuta un grupo de dichas instrucciones nativas para emular el tratamiento de una instrucción en el sistema emulado. En la descripción que se ofrece a continuación, el
término “instrucción” se referirá a una instrucción en el sistema emulado, y no a una instrucción nativa del software de emulación.
Haciendo referencia a la Figura 2, un procesador 110 que ejecuta un software 120 de emulación accede a una memoria principal 130 a través de una memoria caché (I) 140 de instrucciones y una memoria caché (D) 150 de datos. La razón de usar la memoria caché I y la memoria caché D es que la memoria local para el procesador 110 es 5 demasiado pequeña para contener una imagen de la memoria principal 20 del sistema emulado, y se debe acceder a la memoria principal 130 asociada al procesador 110 a través de un acceso DMA caro (es decir, que consume mucho tiempo).
La memoria caché I 140 es de correspondencia directa para obtener más velocidad de acceso y contiene 8 páginas de memoria de 4 kilobytes cada una de ellas (es decir, cada página contiene diversas líneas de memoria 10 caché). En esta forma de realización se usa un número reducido de páginas de memoria de gran tamaño para conseguir que el proceso de comprobación de un acierto de memoria caché resulte más eficaz. Las páginas de memoria de gran tamaño amortizan los accesos lentos a la memoria. Se pueden leer páginas de memoria desde la memoria principal 130 hacia la memoria caché I 140, y el procesador puede leer instrucciones de la memoria caché I 140. No obstante, los valores almacenados en la memoria caché I 140 no se vuelven a escribir nunca en la memoria principal 130. 15
Las transferencias hacia y desde memorias caché se realizan página a página. De modo similar, la búsqueda de una memoria caché, para detectar si la misma contiene un elemento de datos requerido, se lleva a cabo detectando si la página que contiene ese elemento está contenida en la memoria caché.
La memoria caché D 150 es totalmente asociativa para reducir la denominada “hiperpaginación” – es decir, un cambio rápido de las páginas de la memoria caché – y contiene nuevamente 8 páginas de 4 kilobytes cada una de ellas. 20 Cuando se va a leer una página nueva hacia la memoria caché D desde la memoria principal 130, una página a la que se ha accedido menos recientemente, almacenada en la memoria caché D, se vuelve a escribir en la memoria principal (si la misma se ha cambiado desde que se leyó de la memoria principal). Por lo tanto, si el procesado modifica cualquier dato almacenado en la memoria caché D, la modificación queda contenida en la memoria caché D 150 hasta que esa página se vuelva a escribir en la memoria principal 130. 25
A continuación se describirá la interacción de la memoria caché D y la memoria caché I haciendo referencia a diagramas de flujo mostrados en las figuras 3 a 5.
La Figura 3 es un diagrama de flujo esquemático referente a una operación para leer una instrucción.
En una etapa 200, el procesador 110 intenta acceder a la instrucción requerida desde la memoria caché I 140. Si la instrucción requerida está presente en la memoria caché I 140, el control se traslada a una etapa 210 en la que se 30 lee la instrucción desde la memoria caché I y la misma se traslada al procesador 110 para su tratamiento según la manera habitual. A continuación, el proceso finaliza.
No obstante, si la instrucción requerida no estaba en la memoria caché I 140, se realiza a continuación una comprobación en relación con si la instrucción requerida es parte de la información almacenada en la memoria caché D 150. Esta prueba se representa mediante una etapa 220. Si la instrucción requerida está realmente en la memoria caché 35 D, entonces la página completa se copia desde la memoria caché D a la memoria caché I en una etapa 230. Obsérvese que esto simplemente puede sobrescribir una página en la memoria caché I, ya que los datos de la memoria caché I no se vuelven a escribir nunca en la memoria principal 130. Desde la etapa 230, el control se traslada nuevamente a la etapa 210, en la que la instrucción requerida se lee de la memoria caché I y el procesado finaliza.
No obstante, si la instrucción requerida no está ni en la memoria caché I (etapa 200) ni en la memoria caché D 40 (etapa 220), entonces, en una etapa 240, la página que contiene la instrucción requerida se lee desde la memoria principal hacia la memoria caché I 140, sobrescribiendo una página de la memoria caché I. El control se traslada nuevamente a la etapa 210, y el proceso finaliza.
La Figura 4 es un diagrama de flujo esquemático referente a una operación para escribir un valor de datos.
En una etapa 310, el procesador 110 escribe un valor de datos en la memoria caché D 150. Tal como se ha 45 descrito anteriormente, esto se usará finalmente para actualizar la memoria principal 130, aunque puede que ello no ocurra hasta que la página pertinente se deba sobrescribir en la memoria caché D.
En una etapa 320, se realiza una detección en relación con si la página que contiene el valor de datos recién escrito está también contenida en la memoria caché I. En caso afirmativo, entonces, en una etapa 330, el nuevo valor de datos se escribe también en la posición pertinente de la memoria caché I, y el proceso finaliza. No obstante, si la página 50 pertinente no estaba contenida en la memoria caché I, el proceso simplemente finalizaría en ese momento.
La Figura 5 es un diagrama de flujo esquemático referente a una operación para leer un valor de datos. En una etapa 400, el procesador 110 intenta acceder al valor de datos desde la memoria caché D 150. Si la dirección requerida está almacenada en memoria caché en la D 150, entonces el valor requerido se lee de la memoria caché D en una etapa 410, y el proceso finaliza. No obstante, si la página necesaria no está en la memoria caché D, entonces, en una 55
etapa 420, la página menos usada recientemente se escribe de nuevo (si fuera necesario, es decir, si la misma ha sido modificada) desde la memoria caché D hacia la memoria principal 130, y, en una etapa 430, la página que contiene la dirección de memoria requerida se lee desde la memoria principal 130 hacia la memoria caché D 150. A continuación, el control se traslada nuevamente a la etapa 410, y el proceso finaliza.
Usando la estrategia anterior, aun cuando la información almacenada en la memoria caché I 140 no se escribe 5 de nuevo nunca directamente en la memoria principal 130, y en la presente forma de realización no se proporciona ninguna instrucción o función de invalidación de la memoria caché I, si el procesador 110 ejecuta el código denominado automodificable de manera que instrucciones almacenadas en la memoria principal 130 se van a sobrescribir con instrucciones generadas por medio de la ejecución de las propias instrucciones, no existe ninguna posibilidad de que se produzca una inconsistencia en el código a ejecutar. Cuando se va a sobrescribir una instrucción, el valor nuevo se 10 escribe en la memoria caché D y, si esa página está almacenada también en la memoria caché I, se escribe en la memoria caché I. Por lo tanto, la memoria caché I se mantiene actualizada con todos los cambios. En el momento en el que se va a acceder a una instrucción, si la misma no está en la memoria caché I, se busca en la memoria caché D antes que la memoria principal. Por lo tanto, cualquier cambio que no se haya escrito de nuevo todavía en la memoria principal 130 seguirá estando en la memoria caché D, y las instrucciones modificadas se transferirán desde la memoria 15 caché D a la memoria caché I.
Claims (14)
- REIVINDICACIONES1. Procesador de datos que comprende:una memoria principal (130);una memoria caché (140) de instrucciones y una memoria caché (150) de datos dispuestas, cada una de ellas, como una pluralidad de páginas de memoria caché; 5una lógica (110) de recuperación de instrucciones que se puede hacer funcionar para buscar en la memoria caché (140) de instrucciones una instrucción requerida; y si la instrucción requerida no está presente en la memoria caché (140) de instrucciones, para buscar en la memoria caché (150) de datos; si la instrucción requerida está presente en la memoria caché de datos para recuperar la página que comprende la instrucción requerida desde la memoria caché de datos hacia la memoria caché de instrucciones, y si la instrucción requerida no está presente en la memoria caché 10 (150) de datos, para recuperar la página que comprende la instrucción requerida desde la memoria principal (130) hacia la memoria caché (140) de instrucciones;una lógica (110) de escritura de datos que se puede hacer funcionar para escribir un valor de datos en la página pertinente de la memoria caché (150) de datos en una dirección de datos y, si la misma página está representada también en la memoria caché (140) de instrucciones, para escribir ese valor de datos en la dirección 15 correspondiente de esa página en la memoria caché (140) de instrucciones; yuna lógica (110) de control de memorias caché que se puede hacer funcionar para transferir páginas desde la memoria caché (150) de datos hacia la memoria principal (130),en el que valores de datos almacenados en la memoria caché (140) de instrucciones no se vuelven a escribir nunca en la memoria principal. 20
- 2. Procesador de datos según la reivindicación 1, en el que la memoria caché de instrucciones es de correspondencia directa y la memoria caché de datos es totalmente asociativa.
- 3. Procesador de datos según la reivindicación 1 ó 2, en el que transferencias hacia o desde una memoria caché se llevan a cabo basándose en un esquema de página a página.
- 4. Procesador de datos según la reivindicación 3, en el que la lógica de recuperación de instrucciones se 25 puede hacer funcionar para buscar en la memoria caché de instrucciones y en la memoria caché de datos detectando si una página requerida está contenida en la memoria caché respectiva.
- 5. Procesador de datos según la reivindicación 3 ó 4, en el que la lógica de control de memorias caché está dispuesta para transferir una página de datos a la que menos se ha accedido recientemente, desde la memoria caché de datos hacia la memoria principal cuando se va a escribir una página recién requerida en la memoria caché de datos y 30 esa página a la que menos se ha accedido recientemente contiene datos que han sido modificados.
- 6. Procesador de datos según cualquiera de las reivindicaciones anteriores, en el que cada una de las memorias caché contiene 32 kilobytes dispuestos en forma de 8 páginas de 4 kilobytes cada una de ellas.
- 7. Procesador de datos según cualquiera de las reivindicaciones anteriores, que comprende una lógica de ejecución de instrucciones para ejecutar instrucciones. 35
- 8. Procesador de datos según la reivindicación 7, en el que la lógica de ejecución de instrucciones comprende una disposición de procesado de datos que ejecutan software para la emulación de la ejecución de las instrucciones.
- 9. Procesador de datos según cualquiera de las reivindicaciones anteriores, no proporcionando el procesador de datos una función de invalidación de entradas en la memoria caché de instrucciones. 40
- 10. Método de procesado de datos en un sistema que tiene una memoria principal (130), y una memoria caché (140) de instrucciones y una memoria caché (150) de datos dispuestas, cada una de ellas, como una pluralidad de páginas de memoria caché;comprendiendo el método las etapas siguientes:buscar (200) en la memoria caché de instrucciones una instrucción requerida; 45si la instrucción requerida no está presente en la memoria caché (140) de instrucciones, buscar (220) en la memoria caché (150) de datos; si la instrucción requerida está presente en la memoria caché de datos, recuperar la página que comprende la instrucción requerida desde la memoria caché de datos hacia la memoria caché de instrucciones;si la instrucción requerida no está presente en la memoria caché de datos, recuperar (240) la página que comprende la instrucción requerida desde la memoria principal (130) hacia la memoria caché (140) de instrucciones;cuando se va a escribir un valor de datos, escribir (310) ese valor de datos en la página pertinente de la memoria caché (150) de datos en una dirección de datos y, si la misma página está representada también en la memoria caché (140) de instrucciones, escribir (330) ese valor de datos en la dirección correspondiente de esa página 5 en la memoria caché (140) de instrucciones; ytransferir páginas desde la memoria caché (150) de datos hacia la memoria principal (130),en el que valores de datos almacenados en la memoria caché (140) de instrucciones no se vuelven a escribir nunca en la memoria principal.
- 11. Software de ordenador que comprende código de programa para llevar a cabo un método según la 10 reivindicación 10.
- 12. Soporte mediante el cual se proporciona código de programa según la reivindicación 11.
- 13. Soporte según la reivindicación 12, siendo el soporte un medio de transmisión.
- 14. Soporte según la reivindicación 13, siendo el soporte un soporte de almacenamiento.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0509420 | 2005-05-09 | ||
GB0509420A GB2426082B (en) | 2005-05-09 | 2005-05-09 | Memory caching in data processing |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2357308T3 true ES2357308T3 (es) | 2011-04-25 |
Family
ID=34685298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES06743880T Active ES2357308T3 (es) | 2005-05-09 | 2006-05-05 | Almacenamiento en memoria caché en el procesado de datos. |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070073971A1 (es) |
EP (1) | EP1880276B1 (es) |
JP (1) | JP4666511B2 (es) |
AU (1) | AU2006245560A1 (es) |
DE (1) | DE602006017355D1 (es) |
ES (1) | ES2357308T3 (es) |
GB (1) | GB2426082B (es) |
WO (1) | WO2006120408A2 (es) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552283B2 (en) | 2006-01-20 | 2009-06-23 | Qualcomm Incorporated | Efficient memory hierarchy management |
US8943273B1 (en) * | 2008-08-14 | 2015-01-27 | Marvell International Ltd. | Method and apparatus for improving cache efficiency |
US8255629B2 (en) * | 2009-06-22 | 2012-08-28 | Arm Limited | Method and apparatus with data storage protocols for maintaining consistencies in parallel translation lookaside buffers |
JP5644539B2 (ja) * | 2011-01-25 | 2014-12-24 | 日本電気株式会社 | プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム |
US10073656B2 (en) * | 2012-01-27 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for storage virtualization |
US10346095B2 (en) * | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5829187A (ja) * | 1981-08-14 | 1983-02-21 | Nec Corp | キヤツシユメモリ制御装置 |
JPS6022376B2 (ja) * | 1980-08-28 | 1985-06-01 | 日本電気株式会社 | キャッシュメモリ制御装置 |
JPS60123936A (ja) * | 1983-12-07 | 1985-07-02 | Fujitsu Ltd | バッフア記憶制御方式 |
EP0156307A3 (en) * | 1984-03-30 | 1988-04-20 | Four-Phase Systems Inc. | Pipelined processor having dual cache memories |
US4701844A (en) * | 1984-03-30 | 1987-10-20 | Motorola Computer Systems, Inc. | Dual cache for independent prefetch and execution units |
DE3751642T2 (de) * | 1986-10-17 | 1996-09-05 | Amdahl Corp | Verwaltung von getrennten Befehls- und Operanden-Cachespeichern |
JPS63240650A (ja) * | 1987-03-28 | 1988-10-06 | Toshiba Corp | キヤツシユメモリ装置 |
US5214770A (en) * | 1988-04-01 | 1993-05-25 | Digital Equipment Corporation | System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command |
JPH02109150A (ja) * | 1988-10-18 | 1990-04-20 | Mitsubishi Electric Corp | 命令キャッシュメモリ制御装置 |
JPH0423148A (ja) * | 1990-05-18 | 1992-01-27 | Fujitsu Ltd | キャッシュ制御装置 |
JPH05324469A (ja) * | 1992-04-02 | 1993-12-07 | Nec Corp | キャッシュ・メモリを内蔵したマイクロプロセッサ |
JPH0816390A (ja) * | 1994-07-01 | 1996-01-19 | Hitachi Ltd | マイクロプロセッサ |
JP3693503B2 (ja) * | 1998-07-15 | 2005-09-07 | 株式会社日立製作所 | 命令キャッシュへの書き込み機構を備えたプロセッサ |
US7360028B1 (en) * | 2000-05-05 | 2008-04-15 | Sun Microsystems, Inc. | Explicit store-to-instruction-space instruction for self-modifying code and ensuring memory coherence between instruction cache and shared memory using a no-snoop protocol |
JP2002007212A (ja) * | 2000-06-19 | 2002-01-11 | Sony Corp | キャッシュ・メモリ・システム及びキャッシュ・メモリ制御方法 |
-
2005
- 2005-05-09 GB GB0509420A patent/GB2426082B/en active Active
-
2006
- 2006-05-05 ES ES06743880T patent/ES2357308T3/es active Active
- 2006-05-05 WO PCT/GB2006/001660 patent/WO2006120408A2/en not_active Application Discontinuation
- 2006-05-05 AU AU2006245560A patent/AU2006245560A1/en not_active Abandoned
- 2006-05-05 DE DE602006017355T patent/DE602006017355D1/de active Active
- 2006-05-05 EP EP06743880A patent/EP1880276B1/en active Active
- 2006-05-08 US US11/430,264 patent/US20070073971A1/en not_active Abandoned
- 2006-05-09 JP JP2006130828A patent/JP4666511B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP1880276B1 (en) | 2010-10-06 |
GB0509420D0 (en) | 2005-06-15 |
GB2426082A (en) | 2006-11-15 |
WO2006120408A3 (en) | 2007-05-31 |
WO2006120408A2 (en) | 2006-11-16 |
EP1880276A2 (en) | 2008-01-23 |
AU2006245560A1 (en) | 2006-11-16 |
JP4666511B2 (ja) | 2011-04-06 |
JP2006318471A (ja) | 2006-11-24 |
GB2426082B (en) | 2007-08-15 |
US20070073971A1 (en) | 2007-03-29 |
DE602006017355D1 (de) | 2010-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5030796B2 (ja) | データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法 | |
US7290081B2 (en) | Apparatus and method for implementing a ROM patch using a lockable cache | |
US10719448B2 (en) | Cache devices with configurable access policies and control methods thereof | |
US9286221B1 (en) | Heterogeneous memory system | |
CN109952567B (zh) | 用于旁通高级dram存储器控制器的内部高速缓存的方法和装置 | |
ES2357308T3 (es) | Almacenamiento en memoria caché en el procesado de datos. | |
EP1869557B1 (en) | Global modified indicator to reduce power consumption on cache miss | |
US11119925B2 (en) | Apparatus and method for managing capability metadata | |
US20090172314A1 (en) | Code reuse and locality hinting | |
JP2007048296A (ja) | 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム | |
JP5129023B2 (ja) | キャッシュメモリ装置 | |
US20080282054A1 (en) | Semiconductor device having memory access mechanism with address-translating function | |
US20190286562A1 (en) | Information processing apparatus, cache control apparatus and cache control method | |
US6766427B1 (en) | Method and apparatus for loading data from memory to a cache | |
EP3147908A1 (en) | Level 1 memory structure with a non-volatile memory and a buffer | |
JPH08123722A (ja) | 情報処理システムにおける記憶制御方法および記憶制御装置 |