HK1168441B - Block-based non-transparent cache - Google Patents
Block-based non-transparent cache Download PDFInfo
- Publication number
- HK1168441B HK1168441B HK12109192.3A HK12109192A HK1168441B HK 1168441 B HK1168441 B HK 1168441B HK 12109192 A HK12109192 A HK 12109192A HK 1168441 B HK1168441 B HK 1168441B
- Authority
- HK
- Hong Kong
- Prior art keywords
- memory
- block
- transparent
- control unit
- data
- Prior art date
Links
Claims (15)
- Un procédé comprenant :la réception par une unité de contrôle (18A; 18B) d'une requête pour un bloc d'une mémoire non transparente (16A; 16B) à laquelle est couplée l'unité de contrôle (18A;18B), l'unité de contrôle (18A; 18B) gérant la mémoire non transparente (16A; 16B) comme une pluralité de blocs de mémoire non transparents, la mémoire non transparente (16A; 16B) étant directement adressée par un logiciel utilisant des adresses mémoire situées à l'intérieur d'une plage définie d'adresses mémoire (82) associées à la mémoire non transparente (16A; 16B) ;l'allocation (102) par l'unité de contrôle (18A; 18B) d'un premier bloc de la pluralité de blocs non transparents en réponse à la requête ;le renvoi (114) par l'unité de contrôle (18A; 18B) d'une première adresse du premier bloc à l'intérieur de la plage définie d'adresses mémoire, au requérant en réponse à la requête ; eten réponse à un type indiqué dans la requête (106), le déplacement automatique par l'unité de contrôle (18A; 18B) de données (108) vers le premier bloc à partir d'une seconde adresse mémoire hors de la plage définie d'adresses mémoire (82), la seconde adresse mémoire étant indiquée dans la requête.
- Le procédé tel qu'énoncé dans la revendication 1, dans lequel le type est une écriture statique.
- Le procédé tel qu'énoncé dans la revendication 1 ou 2, comprenant en outre :la réception par l'unité de contrôle (18A; 18B) d'une seconde requête pour un bloc de mémoire non transparent (16A; 16B), la seconde requête incluant un type de lecture statique ;l'allocation (102) par l'unité de contrôle (18A; 18B) d'un second bloc de la pluralité de blocs non transparents en réponse à la seconde requête ;le renvoi (114) par l'unité de contrôle (18A; 18B) d'une troisième adresse du second bloc à l'intérieur de la plage définie d'adresses mémoire (82) au requérant en réponse à la seconde requête ; etle déplacement non automatique (112) par l'unité de contrôle (18A; 18B) de données vers le second bloc depuis une quatrième adresse mémoire indiquée dans la seconde réponse en réponse au fait que le type est une lecture statique.
- Le procédé tel qu'énoncé dans la revendication 3, comprenant en outre :la détermination par l'unité de contrôle (18A; 18B) que le requérant en a fini avec le second bloc ; etl'écriture automatique par l'unité de contrôle (18A; 18B) des données dans le second bloc vers la quatrième adresse mémoire en réponse au fait que le type est une lecture statique (106).
- Le procédé tel qu'énoncé dans l'une des revendications 1 à 4, comprenant en outre :la détermination par l'unité de contrôle (18A; 18B) que le requérant en a fini avec le premier bloc ; etl'écriture automatique (94) par l'unité de contrôle (18A; 18B) des données dans le premier bloc vers la seconde adresse mémoire associée au premier bloc en réponse au fait que le bloc a été écrit durant le traitement par le requérant.
- Un appareil comprenant :une mémoire non transparente (16A; 16B) comprenant une pluralité d'emplacements mémoire directement adressables par un logiciel utilisant des adresses à l'intérieur d'une plage définie d'adresses mémoire (82) ; etune unité de contrôle (18A; 18B) configurée pour gérer la mémoire non transparente (16A; 16B) comme une pluralité de blocs de mémoire non transparents, l'unité de contrôle (18A; 18B) étant couplée pour recevoir une requête pour un bloc venant d'un requérant, et l'unité de contrôle (18A; 18B) étant configurée pour allouer un premier bloc de la pluralité de blocs de mémoire non transparents en réponse à la requête, et l'unité de contrôle (18A; 18B) étant configurée en réponse à un type indiqué dans la requête pour remplir automatiquement de façon sélective des données dans le premier bloc depuis une seconde adresse mémoire hors de la plage définie d'adresses mémoire (82), la seconde adresse mémoire étant indiquée dans la requête, ou pour évacuer les données hors du premier bloc en réponse à un type donné avec la requête, et l'unité de contrôle (18A; 18B) étant configurée pour renvoyer une adresse à l'intérieur de la plage définie d'adresses mémoire au requérant en réponse à la requête.
- L'appareil tel qu'énoncé dans la revendication 6, dans lequel, en réponse à un premier type, l'unité de contrôle (18A; 18B) est configurée pour remplir automatiquement des données dans le premier bloc et dans lequel, en réponse à un second type, l'unité de contrôle (18A; 18B) est configurée pour ne pas déplacer de données vers le premier bloc.
- L'appareil tel qu'énoncé dans la revendication 7, dans lequel le premier type est un type d'écriture statique.
- L'appareil tel qu'énoncé dans la revendication 7, dans lequel le second type est un type de lecture statique.
- L'appareil tel qu'énoncé dans l'une des revendications 7 à 9, dans lequel la requête inclut une première adresse mémoire qui n'est pas à l'intérieur de la plage prédéfinie d'adresses mémoire (82), et dans lequel l'unité de contrôle (18A; 18B) est configurée pour remplir les données stockées à la première adresse mémoire dans le premier bloc.
- L'appareil tel qu'énoncé dans l'une des revendications 7 à 10, dans lequel, en réponse au second type et au fait que le requérant en a fini avec le premier bloc, l'unité de contrôle (18A; 18B) est configurée pour automatiquement déplacer les données pour les évacuer du premier bloc vers un sous-système de mémoire principale (20).
- L'appareil tel qu'énoncé dans la revendication 11, dans lequel la requête inclut une première adresse mémoire qui n'est pas à l'intérieur de la plage définie d'adresses mémoire (82), et dans lequel l'unité de contrôle (18A; 18B) est configurée pour évacuer les données du premier bloc vers les emplacements indiqués par la première adresse mémoire.
- L'appareil tel qu'énoncé dans la revendication 11 ou 12, dans lequel l'unité de contrôle (18A; 18B) est configurée pour évacuer les données du premier bloc en réponse au fait que le requérant a modifié les données.
- L'appareil tel qu'énoncé dans l'une des revendications 6 à 13, dans lequel la mémoire non transparente (16A; 16B) est une partie d'un réseau de mémoire (34) qui comprend également une seconde partie qui est une mémoire transparente utilisée comme cache et l'appareil comprend en outre une mémoire de marqueurs de cache (32) qui correspond à la seconde partie, la mémoire de marqueurs de cache (32) étant configurée pour stocker des marqueurs pour une pluralité de blocs de cache pouvant être stockés dans la seconde partie.
- Un système comprenant :un ou plusieurs processeurs (10A-10N ; 22A-22N) configurés pour requérir des blocs de mémoire non transparente dans lesquels il y a des données à traiter ;un système de mémoire principale (20) ; etune unité de mémoire non transparente (14A, 14B) comprenant l'appareil tel qu'énoncé dans l'une des revendications 6 à 14.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/500,810 | 2009-07-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1168441A HK1168441A (en) | 2012-12-28 |
| HK1168441B true HK1168441B (en) | 2019-08-02 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10776022B2 (en) | Combined transparent/non-transparent cache | |
| EP2452265B1 (fr) | Antémémoire non transparente par blocs | |
| JP5580894B2 (ja) | Tlbプリフェッチング | |
| US8392658B2 (en) | Cache implementing multiple replacement policies | |
| US9223710B2 (en) | Read-write partitioning of cache memory | |
| US9208084B2 (en) | Extended main memory hierarchy having flash memory for page fault handling | |
| US9218286B2 (en) | System cache with partial write valid states | |
| US20140075125A1 (en) | System cache with cache hint control | |
| JP2008542948A (ja) | コンフィギュラブルトランスレーションルックアサイドバッファを備えたマイクロプロセッサ | |
| US20120131305A1 (en) | Page aware prefetch mechanism | |
| HK1168441B (en) | Block-based non-transparent cache | |
| HK1168441A (en) | Block-based non-transparent cache |