[go: up one dir, main page]

HK1168441B - Block-based non-transparent cache - Google Patents

Block-based non-transparent cache Download PDF

Info

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
Application number
HK12109192.3A
Other languages
English (en)
French (fr)
Chinese (zh)
Other versions
HK1168441A (en
Inventor
James Wang
Zongjian Chen
James B. Keller
Timothy J. Millet
Original Assignee
Apple 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 Apple Inc. filed Critical Apple Inc.
Publication of HK1168441A publication Critical patent/HK1168441A/en
Publication of HK1168441B publication Critical patent/HK1168441B/en

Links

Claims (15)

  1. 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; und
    in 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.
  2. Verfahren nach Anspruch 1, wobei der Typ ein statisches Schreiben ist.
  3. 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; und
    die 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.
  4. Verfahren nach Anspruch 3, ferner umfassend:
    die Steuereinheit (18A; 18B) bestimmt, dass der Anfragende mit dem zweiten Block fertig ist; und
    die 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.
  5. 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; und
    die 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.
  6. 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; und
    eine 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.
  7. 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.
  8. Vorrichtung nach Anspruch 7, wobei der erste Typ ein statischer Schreibtyp ist.
  9. Vorrichtung nach Anspruch 7, wobei der zweite Typ ein statischer Lesetyp ist.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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); und
    eine nicht-transparente Speichereinheit (14A; 14B), welche die Vorrichtung nach irgendeinem der Ansprüche 6 bis 14 umfasst.
HK12109192.3A 2009-07-10 2010-07-09 Block-based non-transparent cache HK1168441B (en)

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