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)
- Verfahren umfassend:eine Steuereinheit (18A; 18B), die eine Anfrage nach einem Block von nicht-transparentem Speicher (16A; 16B) empfängt, mit welchem die Steuereinheit (18A; 18B) gekoppelt ist, wobei die Steuereinheit (18A; 18B) den nicht-transparenten Speicher (16A; 16B) als eine Vielzahl von nicht-transparenten Speicherblöcken verwaltet, wobei der nicht-transparente Speicher (16A; 16B) direkt durch Software adressiert wird, die Speicheradressen innerhalb eines definierten Speicheradressbereichs (82) verwendet, der mit dem nichttransparenten Speicher (16A; 16B) assoziiert ist;die Steuereinheit (18A; 18B) einen ersten Block der Vielzahl von nichttransparenten Blöcken in Antwort auf die Anfrage zuteilt (102);die Steuereinheit (18A; 18B) eine erste Adresse des ersten Blocks in dem definierten Speicheradressbereich dem Anfragenden in Antwort auf die Anfrage zurückgibt; undin Antwort auf einen Typ, der in der Anfrage (106) angegeben wird, die Steuereinheit (18A; 18B) Daten (108) automatisch in den ersten Block von einer zweiten Speicheradresse außerhalb des definierten Speicheradressbereichs (82) bewegt, wobei die zweite Speicheradresse in der Anfrage angezeigt wird.
- Verfahren nach Anspruch 1, wobei der Typ ein statisches Schreiben ist.
- Verfahren nach Anspruch 1 oder 2, ferner umfassend:die Steuereinheit (18A; 18B) empfängt eine zweite Anfrage nach einem Block von nicht-transparentem Speicher (16A; 16B),wobei die zweite Anfrage einen statischen Lesetyp beinhaltet;die Steuereinheit (18A; 18B) teilt (102) einen zweiten Block der Vielzahl von nicht-transparenten Blöcken in Antwort auf die zweite Anfrage zu;die Steuereinheit (18A; 18B) gibt (114) eine dritte Adresse des zweiten Blocks in dem definierten Speicheradressbereich (82) an den Anfragenden in Antwort auf die zweite Anfrage zurück; unddie Steuereinheit (18A; 18B) bewegt (112) Daten nicht automatisch in den zweiten Block von einer vierten Speicheradresse, die in der zweiten Anfrage angezeigt wird, in Antwort darauf, dass der Typ ein statisches Lesen ist.
- Verfahren nach Anspruch 3, ferner umfassend:die Steuereinheit (18A; 18B) bestimmt, dass der Anfragende mit dem zweiten Block fertig ist; unddie Steuereinheit (18A; 18B) schreibt die Daten automatisch in den zweiten Block zu der vierten Speicheradresse, in Antwort darauf, dass der Typ ein statisches Lesen (106) ist.
- Verfahren nach irgendeinem der Ansprüche 1 bis 4, ferner umfassend:die Steuereinheit (18A; 18B) bestimmt, dass der Anfragende mit dem ersten Block fertig ist; unddie Steuereinheit (18A; 18B) schreibt (94) die Daten automatisch in den ersten Block zu der zweiten Speicheradresse, die mit dem ersten Block assoziiert ist, in Antwort darauf, dass der Block während des Verarbeitens durch den Anfragenden geschrieben worden ist.
- Vorrichtung umfassend:einen nicht-transparenten Speicher (16A; 16B), der eine Vielzahl von Speicherorten aufweist, die direkt durch Software unter Verwendung von Adressen innerhalb eines definierten Speicheradressbereichs (82) adressierbar ist; undeine Steuereinheit (18A; 18B), die konfiguriert ist, um den nichttransparenten Speicher (16A; 16B) als eine Vielzahl von nicht-transparenten Speicherblöcken zu verwalten, wobei die Steuereinheit (18A; 18B) gekoppelt ist, um eine Anfrage nach einem Block von einem Anfragenden zu empfangen, und wobei die Steuereinheit (18A; 18B) konfiguriert ist, um einen ersten Block der Vielzahl von nicht-transparenten Speicherblöcken in Antwort auf die Anfrage zuzuteilen, und wobei die Steuereinheit (18A; 18B) konfiguriert ist, um, in Antwort auf einen Typ, der in der Anfrage angezeigt wird, wahlweise automatisch Daten in den ersten Block von einer zweiten Speicheradresse außerhalb des definierten Speicheradressbereichs (82) zu füllen, wobei die zweite Speicheradresse in der Anfrage angezeigt wird, oder um Daten aus dem ersten Block zu spülen, in Antwort auf einen Typ, der mit der Anfrage bereitgestellt wird, und wobei die Steuereinheit (18A; 18B) konfiguriert ist, um eine Adresse in dem definierten Speicheradressbereich an den Anfragenden in Antwort auf die Anfrage zurückzugeben.
- Vorrichtung nach Anspruch 6, wobei, in Antwort auf den ersten Typ, die Steuereinheit (18A; 18B) konfiguriert ist, um Daten automatisch in den ersten Block zu füllen und wobei, in Antwort auf einen zweiten Typ, die Steuereinheit (18A; 18B) konfiguriert ist, um die Daten nicht in den ersten Block zu bewegen.
- Vorrichtung nach Anspruch 7, wobei der erste Typ ein statischer Schreibtyp ist.
- Vorrichtung nach Anspruch 7, wobei der zweite Typ ein statischer Lesetyp ist.
- Vorrichtung nach irgendeinem der Ansprüche 7 bis 9, wobei die Anfrage eine erste Speicheradresse beinhaltet, die nicht in dem vordefinierten Speicheradressbereich (82) liegt, und wobei die Steuereinheit (18A; 18B) konfiguriert ist, um die Daten, die bei der ersten Speicheradresse gespeichert sind, in den ersten Block zu füllen.
- Vorrichtung nach irgendeinem der Ansprüche 7 bis 10, wobei, in Antwort auf den zweiten Typ und in Antwort darauf, dass der Anfragende mit dem ersten Block fertig ist, die Steuereinheit (18A; 18B) konfiguriert ist, um gespülte Daten automatisch von dem ersten Block zu einem Hauptspeichersubsystem (20) zu bewegen.
- Vorrichtung nach Anspruch 11, wobei die Anfrage eine erste Speicheradresse beinhaltet, die nicht in dem vordefinierten Speicheradressbereich (82) liegt, und wobei die Steuereinheit (18A; 18B) konfiguriert ist, um die Daten von dem ersten Block an die Orte zu spülen, die durch die erste Speicheradresse angezeigt werden.
- Vorrichtung nach Anspruch 11 oder 12, wobei die Steuereinheit (18A; 18B) konfiguriert ist, um die Daten von dem ersten Block zu spülen, in Antwort darauf, dass der Anfragende die Daten modifiziert hat.
- Vorrichtung nach irgendeinem der Ansprüche 6 bis 13, wobei der nicht-transparente Speicher (16A; 16B) Teil einer Speicheranordnung (34) ist, die auch einen zweiten Teil beinhaltet, der ein transparenter Speicher ist, der als Cache verwendet wird, und wobei die Vorrichtung ferner einen Cache-Markierungsspeicher (32) umfasst, der dem zweiten Teil entspricht, wobei der Cache-Markierungsspeicher (32) konfiguriert ist, um Markierungen für eine Vielzahl von Cache-Blöcken zu speichern, die in dem zweiten Teil speicherbar sind.
- System umfassend:einen oder mehrere Prozessoren (10A-10N; 22A-22M), die konfiguriert sind, um Blöcke nicht-transparenten Speichers anzufragen, in welchen Daten zu verarbeiten sind;ein Hauptspeichersystem (20); undeine nicht-transparente Speichereinheit (14A; 14B), welche die Vorrichtung nach irgendeinem der Ansprüche 6 bis 14 umfasst.
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 (de) | Blockbasierter nicht transparenter cache | |
| 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 |