DE102007059784A1 - Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher in einen statischen wahlfreien Zugriffsspeicher - Google Patents

Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher in einen statischen wahlfreien Zugriffsspeicher Download PDF

Info

Publication number
DE102007059784A1
DE102007059784A1 DE102007059784A DE102007059784A DE102007059784A1 DE 102007059784 A1 DE102007059784 A1 DE 102007059784A1 DE 102007059784 A DE102007059784 A DE 102007059784A DE 102007059784 A DE102007059784 A DE 102007059784A DE 102007059784 A1 DE102007059784 A1 DE 102007059784A1
Authority
DE
Germany
Prior art keywords
cache
dram
logic
integrated circuit
precharge
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.)
Ceased
Application number
DE102007059784A
Other languages
English (en)
Inventor
Bryan P. Austin Black
Murali M. Santa Clara Annavaram
Donald W. Lakeway McCauley
John P. Austin Devale
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102007059784A1 publication Critical patent/DE102007059784A1/de
Ceased legal-status Critical Current

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
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • G06F9/3455Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions
    • 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

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)

Abstract

Ausführungsformen der Erfindung betreffen im allgemeinen Systeme, Verfahren und Vorrichtungen zum Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher (DRAM) in einen statischen wahlfreien Zugriffsspeicher (SRAM). In einigen Ausführungsformen empfängt die Vorladelogik einen Vorladehinweis, der mit einem Ladebefehl verbunden ist. Die Vorladelogik kann mindestens teilweise auf der Grundlage des Vorladehinweises zwei oder mehr Cachezeilen von einer offenen Seite in dem DRAM am dem SRAM übertragen.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen der Erfindung betreffen im allgemeinen das Gebiet der integrierten Schaltungen und genauer Systeme, Verfahren und Vorrichtungen zum Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher (DRAM) in einen statischen wahlfreien Zugriffsspeicher (SRAM).
  • ALLGEMEINER STAND DER TECHNIK
  • Industrielle Chipgestaltungen bewegen sich in Richtung Chipmehrfachprozessoren (chip multiprocessors = CMPs). Im Vergleich zu Hochfrequenz-Einfachprozessoren stellen CMPs eine verbesserte Leistungsfähigkeit und einen geringeren Leistungsverbrauch bereit. CMPs benutzen relativ einfache Kerne und stützen sich auf einen Ausführungsstrang-Parallelismus (thread level parallelism = TLP) zur Verbesserung der Leistungsfähigkeit. Anwendungen, die auf CMPs laufen, müssen den TLP erhöhen, um die Kernzählung effizient zu nutzen.
  • Eine Erhöhung des TLPs erhöht jedoch auch den Parallelismus auf Speicherebene (memory level parallelism = MLP), indem die Anzahl ausstehender Speicheranfragen pro Takt erhöht wird. Außerdem wächst der Datenarbeitssatz der mehrfädigen Anwendungen wahrscheinlich mit der Anzahl der Ausführungsstränge. Schließlich führt eine Erhöhung des TLPs wahrscheinlich auch zu einer Erhöhung der Zugriffswahlfreiheit auf die gemeinsam genutzten Caches, da Zugriffe von mehreren Ausführungssträngen miteinander verwoben werden. Folglich sollten die Speicherbandbreite und Cachekapazität an die Zahl der Kerne angepaßt sein, um den erhöhten MLP und Datenprofil zu unterstützen.
  • In jüngerer Zeit ist das dreidimensionale (3D) Plättchenstapeln als (Die-Stapeln) eine durchführbare Option zum Stapeln eines dichten Speicherplättchens (beispielsweise eines DRAM) auf einem Mikroprozessorplättchen vorgeschlagen worden Das Stapeln ermöglicht die Kombinierung von verschiedenen Si-Technologien in einen Plättchenstapel ohne Rücksichtnahme auf die Technologieintegration in einen einfachen Prozeßfluß. Das Stapeln stellt auch eine Schnittstelle von sehr hoher Bandbreite zwischen dem Plättchen bereit, das Silizium-Durchgänge benutzt. Folglich kann das 3D-Stapeln von Speichereinheiten (wie DRAM) auf CMPs die Speicherhierarchiehürden bei der CMP-Skalierung effektiv überwinden.
  • DRAMs halten in der Regel eine offene Reihe aktiviert, bis eine andere Reihe angefordert wird, um die Zugriffslatenz zu senken. Diese Technik wird als Offene-Seite-Regel (open-page policy) bezeichnet und funktioniert am besten, wenn aufeinanderfolgende Zugriffe auf den DRAM auf die gleiche offene Seite stattfinden. Anderenfalls erhöhen Bankschließungen und Vorladestrafzeiten die Gesamtlatenz des Zugreifens auf eine Bank bedeutend. Herkömmlicherweise gibt es in DRAM-Gestaltungen nur eine offene Seite pro Bank.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ausführungsformen der Erfindung sind in den Figuren der beiliegenden Zeichnungen beispielhaft und nicht einschränkend dargestellt, wobei ähnliche Bezugszeichen ähnliche Elemente bezeichnen.
  • 1 ist ein Blockdiagramm, das ausgewählte Aspekte eines Rechensystems zeigt, das gemäß einer Ausführungsform der Erfindung implementiert ist.
  • 2 ist ein Konzeptdiagramm, das eine Blockübertragung gemäß einer Ausführungsform der Erfindung darstellt.
  • 3 ist ein Blockdiagramm auf hoher Ebene, das ausgewählte Aspekte eines Rechensystems zeigt, das gemäß einer Ausführungsform der Erfindung implementiert ist.
  • 4 ist ein Blockdiagramm auf hoher Ebene, das eine Ausführungsform darstellt, in der das L2-Cache gemeinsam benutzt wird.
  • 5 ist ein Blockdiagramm auf hoher Ebene, das eine Ausführungsform darstellt, in der die Vorladelogik auf unterschiedlichen Stufen innerhalb der Cachehierarchie benutzt wird.
  • 6 ist ein Flußdiagramm, das ausgewählte Aspekte einer Blockübertragung gemäß einer Ausführungsform der Erfindung darstellt.
  • 7 ist eine Querschnittsansicht einer Halbleitervorrichtung, die gemäß einer Ausführungsform der Erfindung implementiert ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Erfahrung hat gezeigt, daß die Lokalität von Zugriffen auf den DRAM tendenziell zufälliger wird, wenn die Anzahl der Ausführungsstränge, die auf den DRAM zugreifen, zunimmt. Da DRAMs eine begrenzte Anzahl von Banken (zum Beispiel 16) aufweisen, kann die Anzahl von Seitenöffnungen mit der Zunahme der Anzahl der Ausführungsstränge dramatisch zunehmen. Folglich könnten die Folgen einer Banküberlastung die Leistungsfähigkeit des Systems bedeutend beeinflussen.
  • Ausführungsformen der Erfindung betreffen im allgemeinen Systeme, Verfahren und Vorrichtungen zum Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher (DRAM) in einen statischen wahlfreien Zugriffsspeicher (SRAM). In einigen Ausführungsformen werden zwei oder mehr Cachezeilen von einer offenen Seite in dem DRAM an einen SRAM übertragen. Die Übertragung kann über eine dichte Verbindung wie einen Plättchen-zu-Plättchen-Durchgang bzw. Die-zu-Die-Durchgang erfolgen. Wie nachstehend weiter beschrieben wird, können die Ausführungsformen der Erfindung Speicherressourcen, die für eine CMP-Anpassung geeignet sind, effektiv bereitstellen.
  • 1 ist ein Blockdiagramm, das ausgewählte Aspekte eines Rechensystems zeigt, das gemäß einer Ausführungsform der Erfindung implementiert ist. Das Rechensystem 100 weist einen Kern oder Kerne 102 auf, die mit dem DRAM 104 durch einen Interconnect bzw. eine Verbindung 106 verbunden sind. Der Kern 102 kann nahezu jede beliebige Kernlogik einer integrierten Schaltung sein, einschließlich eines allgemeinen Verarbeitungskerns, eines Grafikkerns und dergleichen. In einigen Ausführungsformen ist der Kern 102 einer von mehreren Kernen auf einem Plättchen (zum Beispiel einem CMP).
  • Der Kern 102 weist eine Befehlsverarbeitungslogik 108, einen Ln-Cache (zum Beispiel einen L2-Cache) 110 und eine Vorlade(Prefetch = PF)-Logik 112 auf. Die Befehlsverarbeitungslogik 108 kann ein oder mehrere Elemente zur Verarbeitung von Befehlen aufweisen, wie einen Befehlszeiger, eine Decodierlogik, Register und einen L1-Cache. In einigen Ausführungsformen kann die Befehlslogik 108 auch eine Logik aufweisen, um einen Vorladehinweis (zum Beispiel den Vorladehinweis 114) zu generieren. Ein Vorladehinweis bezieht sich im allgemeinen auf ein Indiz, daß zwei oder mehr Ladebefehle wahrscheinlich Daten von der gleichen Cacheseite anfordern. In einigen Ausführungsformen kann der Vorladehinweis ein Vertrauenswert sein, der von einem Schritterkennungsmechanismus auf der Grundlage des Befehlszeiger(IP)-Verlaufs generiert wird. In alternativen Ausführungsformen kann ein anderer Mechanismus benutzt werden, um den Vorladehinweis zu generieren.
  • Der Ln-Cache 110 und die PF-Logik 112 sind mit der Befehlsverarbeitungslogik 108 durch den Interconnect bzw. die Verbindung 116 (zum Beispiel einen L2-Bus) verbunden. Wenn ein L1-Cache-Fehltreffer vorliegt, dann werden in einigen Ausführungsformen der Fehltreffer und der Vorladehinweis 114 (direkt oder durch eine oder mehrere Stufen in einer Speicherhierarchie) an den Ln-Cache 110 und/oder die Vorladelogik 112 weitergeleitet. Die Vorladelogik 112 kann bestimmen, ob zwei oder mehr Cachezeilen von einer offenen Seite des DRAMs 104 mindestens teilweise auf der Grundlage des Vorladehinweises 114 vorab geladen werden. Wenn zum Beispiel der Vorladehinweis 114 anzeigt, daß eine hohe Wahrscheinlichkeit besteht, daß eine Anzahl von LOAD-Befehlen ein Streaming-Verhalten aufweisen werden, dann kann die PF-Logik 112 eine gesamte offene Datenseite aus dem DRAM 104 in den Ln-Cache 110 übertragen.
  • In einigen Ausführungsformen kann die PF-Logik 112 eine Logik zum Drosseln einer Vorladung aufweisen, wenn zum Beispiel der Nutzungsgrad der Verbindung 106 zu hoch ist. In solchen Ausführungsformen kann die PF-Logik 112 den Vertrauensgrad (zum Beispiel hoch, mittel oder niedrig), der von dem Vorladehinweis 114 bereitgestellt wird, mit einer Angabe über den Verbindungsnutzungsgrad vergleichen und bestimmen, ob Daten aus dem DRAM 104 vorab geladen werden sollen oder nicht. Der Ausdruck „Daten", wie hier verwendet, bezieht sich im weiten Sinn auf irgendeine Informationsart, einschließlich Befehlen, in irgendeiner für den Kern 102 erkennbaren Form.
  • Der DRAM 104 kann nahezu jede beliebige Form von DRAM sein, einschließlich eines Commodity-DRAMs, DRAMs mit reduzierter Latenz (RLDRAM), magnetischen wahlfreien Zugriffsspeichers (MRAM) und dergleichen. Außerdem kann der DRAM 104 nahezu jede beliebige Anzahl von Banken mit fast jeder beliebigen Seitengröße aufweisen. In einigen Ausführungsformen weist der DRAM 104 16 Banken auf, wobei jede Seite 4 Kilobyte (KB) beträgt.
  • Die Verbindung 106 kann jede beliebige eines breiten Spektrums an Plättchen-zu-Plättchen- und/oder Chip-zu-Chip-Verbindungen sein. In einigen Ausführungsformen sind der Kern 102 und der DRAM 104 vertikal gestapelt, und die Verbindung 106 ist ein Plättchen-zu-Plättchen-Durchgang von hoher Dichte. In alternativen Ausführungsformen sind der Kern 102 und der DRAM 104 zusammen in einem Mehrchipmodul zusammen untergebracht, wobei die Verbindung 106 eine Verbindung von hoher Dichte zwischen (mindestens) einigen der Chips in dem Modul bereitstellt. In wieder anderen alternativen Ausführungsformen können der Kern 102 und der DRAM 104 in getrennten Baugruppen untergebracht sein, wobei die Verbindung 106 die Baugruppen verbindet.
  • 2 ist ein Konzeptdiagramm, das eine Blockübertragung gemäß einer Ausführungsform der Erfindung darstellt. Der DRAM 202 ist in eine oder mehreren Cacheseiten 204 gegliedert. In einigen Ausführungsformen weist der DRAM 202 zu jedem gegebenen Zeitpunkt (sofern die Vorrichtung in Betrieb ist) eine offene Cacheseite auf. Zum Beispiel ist die Cacheseite 206 in der dargestellten Ausführungsform offen. Jede Cacheseite besteht aus zwei oder mehr Cachezeilen 208, die jeweils zwei oder mehr Datenbytes aufweisen. In einigen Ausführungsformen überträgt die Vorladelogik (zum Beispiel die Vorladelogik 112, dargestellt in 1) einen Block von zwei oder mehr Cachezeilen von der offenen DRAM-Cacheseite 206 in den SRAM 210. Die Entscheidung zur Übertragung eines Blocks von Cachezeilen kann mindestens teilweise auf einem Vorladehinweis (zum Beispiel dem Vorladehinweis 114, dargestellt in 1) beruhen. Die Blockübertragungen von Daten aus einem DRAM in einen SRAM werden nachstehend in bezug auf 3 bis 7 weiter beschrieben.
  • 3 ist ein Blockdiagramm auf hoher Ebene, das ausgewählte Aspekte eines Rechensystems zeigt, das gemäß einer Ausführungsform der Erfindung implementiert ist. Das System 300 weist mehrere Kerne 302 auf. Die Kerne 302 können beliebige einer großen Vielfalt an Kernen sein, einschließlich allgemeiner Verarbeitungskerne und Grafikkerne. In einigen Ausführungsformen weist jeder Kern einen privaten L1-Cache 304 und einen privaten L2-Cache 306 auf. Außerdem kann jeder Kern (oder ein untergeordneter Satz von Kernen) eine PF-Logik 308 aufweisen.
  • In einigen Ausführungsformen befindet sich der DRAM-L3-Cache 310 auf einem Plättchen, das mit dem Plättchen, das die Kerne 302 enthält, vertikal gestapelt ist. In solchen Ausführungsformen kann der L3-Bus 314 eine Plättchen-zu-Plättchen-Verbindung von hoher Dichte sein. Der Groß-DRAM 312 stellt Systemspeicher bereit und kann eine Anzahl von Speichervorrichtungen aufweisen, die von den Kernen 302 und dem DRAM-L3-Cache 310 getrennt sind.
  • In einigen Ausführungsformen überträgt die PF-Logik 308 zwei oder mehr Cachezeilen aus einer offenen Seite des DRAM-L3-Caches in einen SRAM-L2-Cache. Die Entscheidung zur Übertragung eines Blocks von Cachezeilen kann mindestens teilweise auf einem Vorladehinweis beruhen, welcher der PF-Logik 308 von einer Befehlsverarbeitungslogik auf Kern 302 (zum Beispiel Befehlsverarbeitungslogik 102, dargestellt in 1) bereitgestellt wird. Außerdem kann die Entscheidung zur Übertragung eines Blocks von Cachezeilen mindestens teilweise auf dem Nutzungsgrad beruhen, der von dem Bus 314 erfahren wird. In manchen Ausführungsformen kann die PF-Logik 308 eine ganze Speicherseite aus dem DRAM-L3 310 in den SRAM-L2 306 übertragen.
  • 4 ist ein Blockdiagramm auf hoher Ebene, das eine Ausführungsform darstellt, in welcher der L2-Cache gemeinsam benutzt wird. In der dargestellten Ausführungsform weist jeder Kern 302 einen privaten L1-Cache auf, wobei die Kerne den L2-Cache 402 gemeinsam benutzen. Wenn für den L1-Cache 304 ein Fehltreffer vorliegt, können der Fehltreffer und ein Vorladehinweis an den L2-Cache 402 und/oder die PF-Logik 404 weitergeleitet werden. In einigen Ausführungsformen bestimmt die PF-Logik 404 mindestens teilweise auf der Grundlage des Vorladehinweises, ob zwei oder mehr Cachezeilen von einer offenen Seite des DRAM-L3 310 übertragen werden sollen. Außerdem kann die Vorladelogik 404 die Übertragungsentscheidung auf andere Faktoren begründen, einschließlich des Nutzungsgrads des L3-Busses 314.
  • 5 ist ein Blockdiagramm auf hoher Ebene, das eine Ausführungsform darstellt, in der die Vorladelogik auf unterschiedlichen Stufen innerhalb der Cachehierarchie benutzt wird. In einigen Ausführungsformen können ein Cachefehltreffer (zum Beispiel sowohl ein L1- als auch ein L2-Cachefehltreffer) und ein Vorladehinweis an den DRAM-L3-Cache 502 und/oder die PF-Logik 504 weitergeleitet werden. Die PF-Logik 504 kann mindestens teilweise auf der Grundlage des Vorladehinweises (und möglicherweise anderer Faktoren wie den Busnutzungsgraden) zwei oder mehr Cachezeilen aus einer offenen Seite des Groß-DRAMs 312 in den DRAM-L3-Cache 502 übertragen. Die Vorladelogik 308 wiederum kann zwei oder mehr Cachezeilen aus einer offenen Seite des DRAM-L3-Caches 502 in den SRAM-L2-Cache 306 übertragen. Wenngleich die dargestellte Ausführungsform zwei Stufen eines gebündelten Vorladens zeigt, wird man zu verstehen wissen, daß die gebündelte Übertragung eines Blocks von Cachezeilen nahezu jede beliebige Anzahl an Malen über nahezu jede beliebige Anzahl an Cachestufen ausgeführt werden könnte.
  • 6 ist ein Flußdiagramm, das ausgewählte Aspekte einer Blockübertragung gemäß einer Ausführungsform der Erfindung darstellt. In bezug auf den Prozeßblock 602 empfängt die Vorladelogik (zum Beispiel die Vorladelogik 112, dargestellt in 1) einen Vorladehinweis, der mit einem LOAD-Befehl in Verbindung steht. In einigen Ausführungsformen wird der Vorladehinweis durch einen IP-basierten Schritterkennungsalgorithmus generiert. In solchen Ausführungsformen kann der Vorladehinweis angeben, wie wahrscheinlich es ist, daß nachfolgende LOAD-Befehle einen monoton zunehmenden oder abnehmenden Adreßschritt haben werden. In einigen Ausführungsformen kann der Vorladehinweis jede beliebige einer Anzahl von Werten haben, die einen Vertrauensgrad dahingehend angeben, ob nachfolgende LOAD-Befehle einen monoton zunehmenden oder abnehmenden Adreßschritt haben werden. Zum Beispiel kann der Vorladehinweis einen Vertrauensgrad von hoch, mittel oder niedrig angeben. Als Alternative kann nahezu jedes beliebige Schema benutzt werden, um den Vertrauensgrad anzugeben.
  • In bezug auf den Prozeßblock 604 kann die PF-Logik die Blockvorladung auf der Grundlage einer oder mehrerer Bedingungen oder Faktoren drosseln. Der Ausdruck "drosseln" kann sich auf eine Anzahl von Verhalten beziehen, einschließlich des Verzögerns einer Übertragung, Abbrechen einer Übertragung, Veränderns der Größe einer Übertragung und dergleichen. Die Bedingungen, welche eine Drosselung der Übertragung auslösen können umfassen: ein Nutzungsgrad der Verbindung, über welche die Übertragung stattfinden soll, ein Vorladehinweis, ein Leistungseinsparungsgrad und dergleichen. Wie durch die gestrichelte Linie angegeben, ist der Drosselmechanismus in einigen Ausführungsformen optional.
  • In bezug auf den Prozeßblock 606 überträgt die PF-Logik mindestens teilweise auf der Grundlage des Vorladehinweises zwei oder mehr Cachezeilen von einem DRAM an einen SRAM. Wenn der Vorladehinweis zum Beispiel eine hohe Wahrscheinlichkeit angibt, daß eine Anzahl an LOAD-Befehlen einen monoton zunehmenden oder abnehmenden Adreßschritt haben wird, dann kann die PF-Logik einen Block von Cachezeilen in den Cache übertragen, um die Wahrscheinlichkeit zu erhöhen, daß die angeforderten Daten in dem Cache gespeichert werden. Der DRAM kann Teil der Cachehierarchie und/oder ein Element des Großspeichers sein. Außerdem kann sich der SRAM bei nahezu jeder beliebigen Stufe der Cachehierarchie befinden.
  • 7 zeigt eine Querschnittsansicht einer Halbleitervorrichtung 700 gemäß einer Ausführungsform der Erfindung. Die Vorrichtung 700 kann ein Gehäuse 702, ein Plättchen 728, ein Plättchen 730 und Plättchen-zu-Plättchen-Durchgänge 726 aufweisen. Ein oder mehrere Erhebungen 704-1 bis 704-N (zusammen hierin als „Erhebungen 704" bezeichnet) können ermöglichen, daß elektrische Signale, einschließlich Versorgungs-, Erdungs-, Takt- und/oder Eingabe-/Ausgabe(I/O)-Signalen, zwischen dem Gehäuse 702 und dem Plättchen 728 übermittelt werden. Das Plättchen 728 kann einen oder mehrere Durchgänge 706 durch das Plättchen aufweisen, um Signale zwischen den Erhebungen 704 und dem Plättchen 730 zu übermitteln. Die Vorrichtung 700 kann ferner eine Wärmesenke 708 aufweisen, um die Abgabe der durch das Plättchen 730 und/oder die Vorrichtung 700 erzeugten Wärme zu ermöglichen.
  • Die Plättchen 728 und 730 können mehrere Schichten umfassen. Zum Beispiel kann das Plättchen 728 eine Bulk-Silizium(SI)-Schicht 710, eine aktive Si-Schicht 712 und einen Metallstapel 714 aufweisen. Das Plättchen 730 kann einen Metallstapel 720, eine aktive Si-Schicht 722 und eine Bulk-Si-Schicht 724 aufweisen. Wie in 2 dargestellt, können die Durchgänge 726 mit den Plättchen 728 bis 730 durch die jeweiligen Metallstapel 714 und 720 verbunden sein. In einer Ausführungsform kann das Plättchen 728 dünner als das Plättchen 730 sein. Zum Beispiel kann das Plättchen 728 eine Speichervorrichtung (wie eine wahlfreie Zugriffsspeichervorrichtung) aufweisen, und das Plättchen 730 kann einen oder mehrere Prozessorkerne und/oder gemeinsam benutzte oder private Caches aufweisen.
  • Das Plättchen 730 weist einen oder mehrere Beispiele der PF-Logik 732 auf. In einigen Ausführungsformen kann die PF-Logik 732 zwei oder mehr Cachezeilen aus einem DRAM in dem Plättchen 728 in einen SRAM in dem Plättchen 730 übertragen. Die Übertragung kann durch Plättchen-zu-Plättchen-Durchgänge 726 stattfinden. In einigen Ausführungsformen befähigt die relativ hohe Bandbreite der Plättchen-zu-Plättchen-Durchgänge 726 die PF-Logik 732 zur Übertragung von Blöcken einer Vielzahl von Cachezeilen ohne eine bedeutende Erhöhung der Latenz.
  • Die Vorrichtung 700 kann zusätzliche Plättchen, zum Beispiel zum Integrieren anderer Komponenten in die gleiche Vorrichtung oder das gleiche System aufweisen. In solch einer Ausführungsform können die Plättchen-zu-Plättchen-Durchgänge und/oder Durchgänge durch das Plättchen benutzt werden, um Signale zwischen den verschiedenen Plättchen (zum Beispiel wie in bezug auf die Durchgänge 726 und 706 erläutert) zu übermitteln.
  • Elemente von Ausführungsformen der vorliegenden Erfindung können auch als ein maschinenlesbares Medium zum Speichern der von einer Maschine ausführbaren Befehle bereitgestellt werden. Das maschinenlesbare Medium kann umfassen, ist jedoch nicht beschränkt auf Flashspeicher, optische Platten, Kompaktplatten-Nur-Lese-Speicher (CD-ROM), digitale vielseitige Videoplatten(DVD)-ROM, wahlfreie Zugriffsspeicher (RAM), löschbare programmierbare Nur-Lese-Speicher (EPROM), elektrisch löschbare programmierbare Nur-Lese-Speicher (EEPROM), Magnetkarten oder optische Karten, Übertragungsmedien oder andere Arten von maschinenlesbaren Medien, die zum Speichern von elektronischen Befehlen geeignet sind. Zum Beispiel können Ausführungsformen der Erfindung als ein Computerprogramm heruntergeladen werden, das von einem Ferncomputer (zum Beispiel einem Server) auf einen anfragenden Computer (zum Beispiel einen Client) über eine Kommunikationsverbindung (zum Beispiel ein Modem oder eine Netzverbindung) mittels Datensignalen übertragen werden kann, die in einer Trägerwelle oder einem anderen Übertragungsmedium verkörpert sind.
  • Man wird zu verstehen wissen, daß jeglicher Bezug in der Spezifikation auf "eine bestimmte Ausführungsform" oder „eine Ausführungsform" bedeutet, daß ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft, das oder die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform (der vorliegenden Erfindung) enthalten ist. Folglich wird betont und sollte gewürdigt werden, daß sich zwei oder mehr Bezugnahmen auf „eine (unbestimmte) Ausführungsform" oder „eine Ausführungsform" oder „eine alternative Ausführungsform" in verschiedenen Teilen dieser Spezifikation nicht unbedingt auf die gleiche Ausführungsform beziehen. Darüber hinaus können die bestimmten Merkmale, Strukturen oder Ausprägungen wie geeignet in einer oder mehreren Ausführungsformen der Erfindung kombiniert werden.
  • In ähnlicher Weise sollte gewürdigt werden, daß in der vorstehenden Beschreibung von Ausführungsformen der Erfindung verschiedene Merkmale mitunter in einer einzigen Ausführungsform, Figur oder Beschreibung zusammengefaßt worden sind, um die Offenbarung kurz zu fassen und zu einem besseren Verständnis eines oder mehrerer der verschiedenen erfinderischen Aspekte beizutragen. Dieses Offenbarungsverfahren soll jedoch nicht dahingehend interpretiert werden, daß der beanspruchte Gegenstand mehr Merkmale erfordert als diejenigen, die ausdrücklich in jedem Anspruch genannt sind. Vielmehr liegen erfinderische Aspekte, wie die nachfolgenden Ansprüche reflektieren, in weniger als allen Merkmalen einer einzigen vorstehend offenbarten Ausführungsform. Folglich werden die Ansprüche, die der ausführlichen Beschreibung folgen, hiermit ausdrücklich in diese ausführliche Beschreibung aufgenommen.

Claims (27)

  1. Integrierte Schaltung, die umfaßt: eine Kernlogik zum Bereitstellen eines Vorladehinweises; und eine Vorladelogik, die an die Kernlogik gekoppelt ist, wobei die Vorladelogik auf der Grundlage mindestens teilweise des Vorladehinweises zwei oder mehr Cachezeilen von einer offenen Seite in einem dynamischen wahlfreien Zugriffsspeicher (DRAM) an einen statischen wahlfreien Zugriffsspeicher (SRAM) überträgt.
  2. Integrierte Schaltung nach Anspruch 1, wobei die zwei oder mehr Cachezeilen eine Speicherseite umfassen.
  3. Integrierte Schaltung nach Anspruch 1, wobei die Vorladelogik die zwei oder mehr Cachezeilen durch eine Schnittstelle von hoher Dichte übertragen soll.
  4. Integrierte Schaltung nach Anspruch 3, wobei die Schnittstelle von hoher Dichte ein Die-zu-Die-Durchgang ist.
  5. Integrierte Schaltung nach Anspruch 3, wobei die Schnittstelle von hoher Dichte ein Durchgang durch Silizium ist.
  6. Integrierte Schaltung nach Anspruch 1, wobei der DRAM einen Großspeicher umfaßt.
  7. Integrierte Schaltung nach Anspruch 1, wobei der DRAM eine Cachestufe bereitstellt und der SRAM eine nächsthöhere Cachestufe bereitstellt.
  8. Integrierte Schaltung nach Anspruch 7, wobei die Cachestufe ein L3-Cache und die nächsthöhere Cachestufe ein L2-Cache ist.
  9. Integrierte Schaltung nach Anspruch 1, wobei der Vorladehinweis einen Vertrauensgrad angibt, der mit der Übertragung der zwei oder mehr Cachezeilen verbunden ist.
  10. Integrierte Schaltung nach Anspruch 9, die ferner umfaßt: eine Drossellogik, wobei die Drossellogik die Übertragung der zwei oder mehr Cachezeilen mindestens teilweise auf der Grundlage eines Verbindungsnutzungsgrads und des Vorladehinweises drosseln kann.
  11. Integrierte Schaltung nach Anspruch 8, wobei die Kernlogik einen von mehreren Prozessorkernen umfaßt.
  12. Integrierte Schaltung nach Anspruch 8, wobei die Kernlogik einen Grafikkern umfaßt.
  13. Verfahren, das umfaßt: Empfangen eines Vorladehinweises, der mit einem Ladebefehl in Verbindung steht; und Übertragen von zwei oder mehr Cachezeilen von einer offenen Seite in einem dynamischen wahlfreien Zugriffsspeicher (DRAM) an einen statischen wahlfreien Zugriffsspeicher (SRAM) mindestens teilweise auf der Grundlage des Vorladehinweises.
  14. Verfahren nach Anspruch 13, wobei der Vorladehinweis einen Vertrauensgrad angibt, der mit der Übertragung der zwei oder mehr Cachezeilen verbunden ist.
  15. Verfahren nach Anspruch 14, wobei der Vertrauensgrad einer von drei oder mehr Werten ist.
  16. Verfahren nach Anspruch 15, wobei die drei oder mehr Werte hoch, mittel und niedrig umfassen.
  17. Verfahren nach Anspruch 13, das ferner umfaßt: Drosseln einer Übertragung der zwei oder mehr Cachezeilen mindestens teilweise auf der Grundlage eines Verbindungsnutzungsgrades und des Vorladehinweises.
  18. Verfahren nach Anspruch 13, wobei das Übertragen der zwei oder mehr Cachezeilen von der offenen Seite in dem DRAM folgendes umfaßt: Übertragen einer Cacheseite von der offenen Seite in dem DRAM.
  19. Verfahren nach Anspruch 13, wobei der DRAM einen Großspeicher umfaßt.
  20. Verfahren nach Anspruch 13, wobei der DRAM eine Cachestufe bereitstellt.
  21. System, das umfaßt: ein erstes Die, das einen dynamischen wahlfreien Zugriffsspeicher (DRAM) umfaßt; ein zweites Die, das eine Kernlogik umfaßt, um einen Vorladehinweis bereitzustellen, und eine Vorladelogik, die an die Kernlogik gekoppelt ist, wobei die Vorladelogik mindestens teilweise auf der Grundlage des Vorladehinweises zwei oder mehr Cachezeilen von einer offenen Seite in dem DRAM an einen statischen wahlfreien Zugriffsspeicher (SRAM) überträgt; und einen Interconnect, der zwischen dem ersten Die und dem zweiten Die angeschlossen ist.
  22. System nach Anspruch 21, wobei die zwei oder mehr Cachezeilen eine Speicherseite umfassen.
  23. System nach Anspruch 21, wobei der Interconnect ein Die-zu-Die-Durchgang ist.
  24. System nach Anspruch 21, wobei der DRAM eine Cachestufe bereitstellt und der SRAM eine nächsthöhere Cachestufe bereitstellt.
  25. System nach Anspruch 21, wobei der Vorladehinweis einen Vertrauensgrad angibt, der mit der Übertragung der zwei oder mehr Cachezeilen verbunden ist.
  26. System nach Anspruch 21, wobei die Kernlogik einen von mehreren Verarbeitungskernen umfaßt.
  27. Integrierte Schaltung nach Anspruch 21, wobei die Kernlogik einen Grafikkern umfaßt.
DE102007059784A 2006-12-22 2007-12-12 Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher in einen statischen wahlfreien Zugriffsspeicher Ceased DE102007059784A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/644,358 US8032711B2 (en) 2006-12-22 2006-12-22 Prefetching from dynamic random access memory to a static random access memory
US11/644,358 2006-12-22

Publications (1)

Publication Number Publication Date
DE102007059784A1 true DE102007059784A1 (de) 2008-07-17

Family

ID=39048406

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007059784A Ceased DE102007059784A1 (de) 2006-12-22 2007-12-12 Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher in einen statischen wahlfreien Zugriffsspeicher

Country Status (10)

Country Link
US (1) US8032711B2 (de)
JP (1) JP4658112B2 (de)
KR (1) KR101025398B1 (de)
CN (1) CN101241475B (de)
DE (1) DE102007059784A1 (de)
FR (1) FR2910653B1 (de)
GB (1) GB2445262B (de)
HK (1) HK1121257A1 (de)
SG (1) SG144054A1 (de)
TW (1) TWI379312B (de)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7692946B2 (en) 2007-06-29 2010-04-06 Intel Corporation Memory array on more than one die
KR101462604B1 (ko) * 2008-06-23 2014-11-20 삼성전자주식회사 반도체 장치 및 멀티-칩 패키지
US20100140750A1 (en) * 2008-12-10 2010-06-10 Qualcomm Incorporated Parallel Plane Memory and Processor Coupling in a 3-D Micro-Architectural System
US20100200957A1 (en) * 2009-02-06 2010-08-12 Qualcomm Incorporated Scribe-Line Through Silicon Vias
US8364901B2 (en) * 2009-02-13 2013-01-29 Micron Technology, Inc. Memory prefetch systems and methods
US8234450B2 (en) * 2009-07-10 2012-07-31 Via Technologies, Inc. Efficient data prefetching in the presence of load hits
US8335892B1 (en) * 2009-09-28 2012-12-18 Nvidia Corporation Cache arbitration between multiple clients
US8443151B2 (en) * 2009-11-09 2013-05-14 Intel Corporation Prefetch optimization in shared resource multi-core systems
CN101777027B (zh) * 2010-01-21 2012-06-06 龙芯中科技术有限公司 基于动静态混合调度策略的访存操作管理装置及其方法
US9092358B2 (en) * 2011-03-03 2015-07-28 Qualcomm Incorporated Memory management unit with pre-filling capability
WO2012127628A1 (ja) * 2011-03-22 2012-09-27 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
EP2722763A4 (de) * 2011-06-17 2014-12-31 Fujitsu Ltd Arithmetische verarbeitungseinheit, informationsverarbeitungsvorrichtung und steuerung einer arithmetischen verarbeitungseinheit
US8913443B2 (en) 2011-09-19 2014-12-16 Conversant Intellectual Property Management Inc. Voltage regulation for 3D packages and method of manufacturing same
US9431064B2 (en) 2012-11-02 2016-08-30 Taiwan Semiconductor Manufacturing Company, Ltd. Memory circuit and cache circuit configuration
US9053039B2 (en) * 2012-12-21 2015-06-09 Advanced Micro Devices, Inc. Installation cache
KR20150115752A (ko) 2013-01-31 2015-10-14 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 적응성 입도 로우 버퍼 캐시
US9524195B2 (en) 2014-02-27 2016-12-20 International Business Machines Corporation Adaptive process for data sharing with selection of lock elision and locking
US9411729B2 (en) 2014-02-27 2016-08-09 International Business Machines Corporation Salvaging lock elision transactions
US9430273B2 (en) 2014-02-27 2016-08-30 International Business Machines Corporation Suppressing aborting a transaction beyond a threshold execution duration based on the predicted duration
US9311178B2 (en) 2014-02-27 2016-04-12 International Business Machines Corporation Salvaging hardware transactions with instructions
US9262206B2 (en) 2014-02-27 2016-02-16 International Business Machines Corporation Using the transaction-begin instruction to manage transactional aborts in transactional memory computing environments
US9471371B2 (en) 2014-02-27 2016-10-18 International Business Machines Corporation Dynamic prediction of concurrent hardware transactions resource requirements and allocation
US9424072B2 (en) 2014-02-27 2016-08-23 International Business Machines Corporation Alerting hardware transactions that are about to run out of space
US9645879B2 (en) 2014-02-27 2017-05-09 International Business Machines Corporation Salvaging hardware transactions with instructions
US9361041B2 (en) 2014-02-27 2016-06-07 International Business Machines Corporation Hint instruction for managing transactional aborts in transactional memory computing environments
US9442775B2 (en) 2014-02-27 2016-09-13 International Business Machines Corporation Salvaging hardware transactions with instructions to transfer transaction execution control
US9575890B2 (en) 2014-02-27 2017-02-21 International Business Machines Corporation Supporting atomic accumulation with an addressable accumulator
US9336097B2 (en) 2014-02-27 2016-05-10 International Business Machines Corporation Salvaging hardware transactions
US9442853B2 (en) 2014-02-27 2016-09-13 International Business Machines Corporation Salvaging lock elision transactions with instructions to change execution type
US9329946B2 (en) 2014-02-27 2016-05-03 International Business Machines Corporation Salvaging hardware transactions
US20150242216A1 (en) 2014-02-27 2015-08-27 International Business Machines Corporation Committing hardware transactions that are about to run out of resource
US9465673B2 (en) 2014-02-27 2016-10-11 International Business Machines Corporation Deferral instruction for managing transactional aborts in transactional memory computing environments to complete transaction by deferring disruptive events handling
US9524187B2 (en) 2014-03-02 2016-12-20 International Business Machines Corporation Executing instruction with threshold indicating nearing of completion of transaction
CN104811495B (zh) * 2015-04-27 2018-06-08 北京交通大学 一种用于智慧协同网络的网络组件内容存储方法及模块
US9971694B1 (en) * 2015-06-24 2018-05-15 Apple Inc. Prefetch circuit for a processor with pointer optimization
US9904624B1 (en) 2016-04-07 2018-02-27 Apple Inc. Prefetch throttling in a multi-core system
US10180905B1 (en) 2016-04-07 2019-01-15 Apple Inc. Unified prefetch circuit for multi-level caches
US10600780B2 (en) 2016-10-07 2020-03-24 Xcelsis Corporation 3D chip sharing data bus circuit
US10672744B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D compute circuit with high density Z-axis interconnects
US10672745B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D processor
US11176450B2 (en) 2017-08-03 2021-11-16 Xcelsis Corporation Three dimensional circuit implementing machine trained network
US10580757B2 (en) 2016-10-07 2020-03-03 Xcelsis Corporation Face-to-face mounted IC dies with orthogonal top interconnect layers
US10580735B2 (en) 2016-10-07 2020-03-03 Xcelsis Corporation Stacked IC structure with system level wiring on multiple sides of the IC die
US10600735B2 (en) 2016-10-07 2020-03-24 Xcelsis Corporation 3D chip sharing data bus
US10586786B2 (en) 2016-10-07 2020-03-10 Xcelsis Corporation 3D chip sharing clock interconnect layer
US10600691B2 (en) 2016-10-07 2020-03-24 Xcelsis Corporation 3D chip sharing power interconnect layer
US10522352B2 (en) 2016-10-07 2019-12-31 Xcelsis Corporation Direct-bonded native interconnects and active base die
US10593667B2 (en) 2016-10-07 2020-03-17 Xcelsis Corporation 3D chip with shielded clock lines
US10672743B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D Compute circuit with high density z-axis interconnects
US10672663B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D chip sharing power circuit
US10331567B1 (en) 2017-02-17 2019-06-25 Apple Inc. Prefetch circuit with global quality factor to reduce aggressiveness in low power modes
WO2019089816A2 (en) 2017-10-31 2019-05-09 Micron Technology, Inc. System having a hybrid threading processor, a hybrid threading fabric having configurable computing elements, and a hybrid interconnection network
KR102353859B1 (ko) 2017-11-01 2022-01-19 삼성전자주식회사 컴퓨팅 장치 및 비휘발성 듀얼 인라인 메모리 모듈
US11294810B2 (en) * 2017-12-12 2022-04-05 Advanced Micro Devices, Inc. Memory request throttling to constrain memory bandwidth utilization
US10445241B2 (en) * 2018-03-06 2019-10-15 Arm Limited Prefetching using offset data to access a pointer within a current data element for use in prefetching a subsequent data element
US11513838B2 (en) 2018-05-07 2022-11-29 Micron Technology, Inc. Thread state monitoring in a system having a multi-threaded, self-scheduling processor
US11132233B2 (en) 2018-05-07 2021-09-28 Micron Technology, Inc. Thread priority management in a multi-threaded, self-scheduling processor
US11513840B2 (en) 2018-05-07 2022-11-29 Micron Technology, Inc. Thread creation on local or remote compute elements by a multi-threaded, self-scheduling processor
US11126587B2 (en) 2018-05-07 2021-09-21 Micron Technology, Inc. Event messaging in a system having a self-scheduling processor and a hybrid threading fabric
US11074078B2 (en) * 2018-05-07 2021-07-27 Micron Technology, Inc. Adjustment of load access size by a multi-threaded, self-scheduling processor to manage network congestion
US11119782B2 (en) 2018-05-07 2021-09-14 Micron Technology, Inc. Thread commencement using a work descriptor packet in a self-scheduling processor
US11513839B2 (en) 2018-05-07 2022-11-29 Micron Technology, Inc. Memory request size management in a multi-threaded, self-scheduling processor
US11157286B2 (en) 2018-05-07 2021-10-26 Micron Technology, Inc. Non-cached loads and stores in a system having a multi-threaded, self-scheduling processor
US11119972B2 (en) 2018-05-07 2021-09-14 Micron Technology, Inc. Multi-threaded, self-scheduling processor
US11513837B2 (en) 2018-05-07 2022-11-29 Micron Technology, Inc. Thread commencement and completion using work descriptor packets in a system having a self-scheduling processor and a hybrid threading fabric
US11068305B2 (en) 2018-05-07 2021-07-20 Micron Technology, Inc. System call management in a user-mode, multi-threaded, self-scheduling processor
JP7261037B2 (ja) * 2019-02-21 2023-04-19 株式会社日立製作所 データ処理装置、ストレージ装置およびプリフェッチ方法
CN112614831B (zh) 2019-04-15 2023-08-08 长江存储科技有限责任公司 具有处理器和异构存储器的一体化半导体器件及其形成方法
CN110731012B (zh) 2019-04-15 2021-01-29 长江存储科技有限责任公司 具有处理器和异构存储器的一体化半导体器件及其形成方法
KR20240045345A (ko) 2019-04-15 2024-04-05 양쯔 메모리 테크놀로지스 씨오., 엘티디. 프로세서 및 동적 랜덤 액세스 메모리를 갖는 본디드 반도체 장치 및 이를 형성하는 방법
EP3891784A4 (de) * 2019-04-15 2022-08-17 Yangtze Memory Technologies Co., Ltd. Integration von dreidimensionalen nand-speichervorrichtungen mit mehreren funktionalen chips
CN110720143B (zh) 2019-04-30 2021-01-29 长江存储科技有限责任公司 具有处理器和nand闪存的键合半导体器件及其形成方法
US11599299B2 (en) 2019-11-19 2023-03-07 Invensas Llc 3D memory circuit

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02287828A (ja) * 1989-04-28 1990-11-27 Fujitsu Ltd プリフェッチ制御方式
US5659713A (en) 1992-04-24 1997-08-19 Digital Equipment Corporation Memory stream buffer with variable-size prefetch depending on memory interleaving configuration
JPH06150031A (ja) * 1992-10-30 1994-05-31 Nec Corp Cpuモジュール
JP2851777B2 (ja) * 1992-11-13 1999-01-27 松下電器産業株式会社 バス制御方法及び情報処理装置
JPH06274410A (ja) * 1993-03-23 1994-09-30 Toshiba Corp 表示制御システム
JP3174211B2 (ja) * 1994-01-25 2001-06-11 富士通株式会社 バッファストレイジのムーブイン制御方法
US5778436A (en) 1995-03-06 1998-07-07 Duke University Predictive caching system and method based on memory access which previously followed a cache miss
JPH09128325A (ja) * 1995-11-06 1997-05-16 Mitsubishi Electric Corp 階層バス制御方式及びバスブリッジ
JP3519199B2 (ja) * 1996-02-06 2004-04-12 株式会社ソニー・コンピュータエンタテインメント 画像生成装置
JP3610661B2 (ja) * 1996-02-21 2005-01-19 株式会社日立製作所 三次元積層モジュール
JPH10124383A (ja) * 1996-10-22 1998-05-15 Nec Corp メモリアクセス制御方式
US6055622A (en) * 1997-02-03 2000-04-25 Intel Corporation Global stride prefetching apparatus and method for a high-performance processor
US6317810B1 (en) * 1997-06-25 2001-11-13 Sun Microsystems, Inc. Microprocessor having a prefetch cache
JP3092557B2 (ja) * 1997-09-16 2000-09-25 日本電気株式会社 半導体記憶装置
US6061073A (en) * 1997-11-12 2000-05-09 Cirrus Logic, Inc. Tracking of graphics polygon data from different clock domains in a graphics processor
NO308149B1 (no) * 1998-06-02 2000-07-31 Thin Film Electronics Asa Skalerbar, integrert databehandlingsinnretning
JP3071752B2 (ja) 1998-03-24 2000-07-31 三菱電機株式会社 ブリッジ方法、バスブリッジ及びマルチプロセッサシステム
US6446167B1 (en) * 1999-11-08 2002-09-03 International Business Machines Corporation Cache prefetching of L2 and L3
US6654837B1 (en) * 1999-12-28 2003-11-25 Intel Corporation Dynamic priority external transaction system
JP2002064145A (ja) * 2000-06-09 2002-02-28 Fujitsu Ltd 冗長素子を備える集積回路チップ、マルチプロセッサおよびその製法
US6820173B1 (en) 2001-02-23 2004-11-16 Nvidia Corporation Data prefetcher with predictor capabilities
US6928645B2 (en) 2001-03-30 2005-08-09 Intel Corporation Software-based speculative pre-computation and multithreading
US20020199179A1 (en) 2001-06-21 2002-12-26 Lavery Daniel M. Method and apparatus for compiler-generated triggering of auxiliary codes
US6810466B2 (en) * 2001-10-23 2004-10-26 Ip-First, Llc Microprocessor and method for performing selective prefetch based on bus activity level
US7260704B2 (en) * 2001-11-30 2007-08-21 Intel Corporation Method and apparatus for reinforcing a prefetch chain
US6690604B2 (en) 2001-12-18 2004-02-10 Intel Corporation Register files and caches with digital sub-threshold leakage current calibration
US7234040B2 (en) * 2002-01-24 2007-06-19 University Of Washington Program-directed cache prefetching for media processors
US6795899B2 (en) 2002-03-22 2004-09-21 Intel Corporation Memory system with burst length shorter than prefetch length
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7162588B2 (en) * 2002-08-23 2007-01-09 Koninklijke Philips Electronics N.V. Processor prefetch to match memory bus protocol characteristics
KR100786603B1 (ko) 2002-11-28 2007-12-21 가부시끼가이샤 르네사스 테크놀로지 메모리 모듈, 메모리시스템 및 정보기기
US6983356B2 (en) 2002-12-19 2006-01-03 Intel Corporation High performance memory device-state aware chipset prefetcher
AU2002368524A1 (en) * 2002-12-20 2004-07-22 International Business Machines Corporation Three-dimensional device fabrication method
KR100520219B1 (ko) 2003-01-03 2005-10-11 삼성전자주식회사 고주파수 동작에 적합한 메모리 모듈장치
WO2004102403A2 (en) * 2003-05-13 2004-11-25 Advanced Micro Devices, Inc. A system including a host connected to a plurality of memory modules via a serial memory interconnect
US7177985B1 (en) * 2003-05-30 2007-02-13 Mips Technologies, Inc. Microprocessor with improved data stream prefetching
US7228387B2 (en) * 2003-06-30 2007-06-05 Intel Corporation Apparatus and method for an adaptive multiple line prefetcher
US7487296B1 (en) * 2004-02-19 2009-02-03 Sun Microsystems, Inc. Multi-stride prefetcher with a recurring prefetch table
US7213082B2 (en) * 2004-03-29 2007-05-01 Micron Technology, Inc. Memory hub and method for providing memory sequencing hints
KR100899462B1 (ko) 2004-07-21 2009-05-27 비치 언리미티드 엘엘씨 블록 맵 캐싱 및 vfs 적층 가능 파일 시스템 모듈들에기초한 분산 저장 아키텍처
JP4504134B2 (ja) * 2004-08-16 2010-07-14 富士通株式会社 システム制御装置、投機フェッチ方法および情報処理装置
US7206902B2 (en) * 2004-08-17 2007-04-17 Nvidia Corporation System, apparatus and method for predicting accesses to a memory
US20060112226A1 (en) 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
US20070005902A1 (en) 2004-12-07 2007-01-04 Ocz Technology Group, Inc. Integrated sram cache for a memory module and method therefor
US20060179236A1 (en) 2005-01-13 2006-08-10 Hazim Shafi System and method to improve hardware pre-fetching using translation hints
US7099215B1 (en) 2005-02-11 2006-08-29 North Carolina State University Systems, methods and devices for providing variable-latency write operations in memory devices
US7506105B2 (en) * 2005-05-02 2009-03-17 Freescale Semiconductor, Inc. Prefetching using hashed program counter
US7533242B1 (en) * 2005-10-31 2009-05-12 Sun Microsystems, Inc. Prefetch hardware efficiency via prefetch hint instructions
US7707359B2 (en) * 2005-12-09 2010-04-27 Oracle America, Inc. Method and apparatus for selectively prefetching based on resource availability
US7616470B2 (en) * 2006-06-16 2009-11-10 International Business Machines Corporation Method for achieving very high bandwidth between the levels of a cache hierarchy in 3-dimensional structures, and a 3-dimensional structure resulting therefrom
US20080098176A1 (en) * 2006-10-18 2008-04-24 Krishna M V V Anil Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching

Also Published As

Publication number Publication date
FR2910653A1 (fr) 2008-06-27
JP2008159057A (ja) 2008-07-10
KR101025398B1 (ko) 2011-03-28
GB2445262A (en) 2008-07-02
TW200845035A (en) 2008-11-16
SG144054A1 (en) 2008-07-29
CN101241475A (zh) 2008-08-13
TWI379312B (en) 2012-12-11
US20080155196A1 (en) 2008-06-26
FR2910653B1 (fr) 2014-02-21
GB2445262B (en) 2009-09-09
HK1121257A1 (en) 2009-04-17
KR20080059077A (ko) 2008-06-26
US8032711B2 (en) 2011-10-04
JP4658112B2 (ja) 2011-03-23
GB0724812D0 (en) 2008-01-30
CN101241475B (zh) 2011-09-28

Similar Documents

Publication Publication Date Title
DE102007059784A1 (de) Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher in einen statischen wahlfreien Zugriffsspeicher
DE112010004735B4 (de) Auf einem Computer ausgeführtes Verfahren für das Verarbeiten der Ressourcen-Verwaltung
DE102011076895B4 (de) Cachekohärenzprotokoll für persistente Speicher
DE102011076894B9 (de) Persistenter Speicher für einen Hauptspeicher eines Prozessors
DE102020118307A1 (de) Proaktiver daten-vorabruf mit angewandter quality-of-service
DE102019122363A1 (de) Programmierbare doppelreihige arbeitsspeichermodul-beschleunigerkarte (dimm-beschleunigerkarte)
DE102013016609A1 (de) Vorrichtung und Verfahren für ein Storage Class Memory mit niedrigem Energieverbrauch, niedriger Latenz und hoher Kapazität
DE102022107621A1 (de) Resourcenauswahl, die zum teil auf der arbeitslast basiert
DE102019130450A1 (de) Bypass-Speicherklasse Lese Cache auf der Grundlage eines Schwellwertes der Warteschlange
DE112017001471T5 (de) Mehrebenen-speichermanagement
DE112008001679T5 (de) Cache-Speicher mit konfigurierbarer Assoziativität
DE102020103570A1 (de) Host-definierte bandbreitenzuweisung für ssd-aufgaben
DE102017106713A1 (de) Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
DE102019120573A1 (de) Technologien zur rechnerischen speicherung über ablade-kernel-erweiterungen
DE102019102884A1 (de) Techniken zum Vorabrufen von Daten zu einem ersten Speicherlevel einer hierarchischen Speicheranordnung
DE102020119400A1 (de) Techniken zum setzen eines 2-ebenen-auto-schliess-timers zum zugriff auf eine speichervorrichtung
DE102020117350A1 (de) Speichersystem einschliesslich heterogener speicher, computersystem mit dem speichersystem und datenverwaltungsverfahren dafür
DE102022119777A1 (de) VERFAHREN ZUM MINIMIEREN VON MEHRAUFWAND BEI DETEKTION VON HEIßEN/KALTEN SEITEN BEI LAUFENDEN ARBEITSLASTEN
DE102022129936A1 (de) Techniken zur Erweiterung des Systemspeichers durch Nutzung des verfügbaren Gerätespeichers
DE102020132767A1 (de) Verwaltung der Dienstgüte (QoS) eines Speichersystems
DE102022104024A1 (de) Techniken zum konfigurieren von parallelprozessoren für verschiedene anwendungsbereiche
DE102022121773A1 (de) In-memory-assoziativverarbeitungssystem
DE102018204931A1 (de) Dauerhaftes Caching eines arbeitsspeicherseitigen Cache-Inhalts
DE102018106986A1 (de) Verbesserungen am aktualitätsverfolgungsmechanismus für hochleistungs-caching basierend auf am weitesten zurückliegender verwendung
DE19959643A1 (de) Steuersystem zum Zugreifen auf Daten über Block- und Seitengrenzen hinweg

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20130507