Abstract:
Vorrichtung, umfassend: mehrere CPUs (102, 104), die über einen Speicher-Controller-Hub (106) mit einem DRAM-Speicher (108, 406) mit mehreren Speicherbänken gekoppelt sind, wobei jede der CPUs mehrere DRAM-Verfolgungsregister (204) aufweist; wobei jede der CPUs (102, 104) eingerichtet ist, als Antwort auf Empfangen (302) einer Snoop-Adresse (202) von einer der anderen CPUs (102, 104) oder anderen Agenten die Snoop-Adresse (202) mittels eines Bankdekodierers (208) zu dekodieren (304), um eine der Speicherbänke, auf die die andere CPU zugreift, zu bestimmen, und ferner eingerichtet ist, anhand der bestimmten Speicherbank eines der DRAM-Verfolgungsregister (204) zu bestimmen, mehrere Seitenadressenbits der Snoop-Adresse (202) mittels eines Komparators (210) mit dem Inhalt des DRAM-Verfolgungsregisters (204) zu vergleichen (306), um zu bestimmen, ob eine der Snoop-Adresse (202) entsprechende Seite des DRAM-Speichers (108, 406) geöffnet ist, und, falls keine Übereinstimmung vorliegt, eine geöffnete Seite der Speicherbank zu schließen, eine der Snoop-Adresse (202) entsprechende Seite zu öffnen und die Snoop-Adresse (202) in das DRAM-Verfolgungsregister (204) zu laden; und wobei jede der CPUs (102, 104) ferner eingerichtet ist, Adressen ausgehender Transaktionen in einer Transaktionswarteschlange in DRAM-Verfolgungsregister (204), die den Speicherbänken der Adressen der Transaktionen entsprechen, zu laden und die ausgehenden Transaktionen in der Transaktionswarteschlange anhand bereits geöffneter Seiten zu ordnen.
Abstract:
Embodiments of the invention relate to a method and apparatus for a zero voltage processor sleep state. A processor may include a dedicated cache memory. A voltage regulator may be coupled to the processor to provide an operating voltage to the processor. During a transition to a zero voltage power management state for the processor, the operational voltage applied to the processor by the voltage regulator may be reduced to approximately zero and the state variables associated with the processor may be saved to the dedicated cache memory.
Abstract:
Methods and apparatuses for improving processor performance in a multi-processor system by optimizing accesses to memory. Processors can track the state of a memory such that the memory can be efficiently utilized in a multi-processor system including the ability to decode incoming snoop addresses from other processors, comparing them to contents of a memory tracking register(s), and updating tracking register(s) appropriately. Likewise, the transactions from other non-processor bus agents and/or bus mastering devices, such as a bus bridge, memory controller, Input/output (I/O), and graphics could also be tracked.
Abstract:
Methods and apparatuses for improving processor performance in a multi-processor system by optimizing accesses to memory. Processors can track the state of a memory such that the memory can be efficiently utilized in a multi-processor system including the ability to decode incoming snoop addresses from other processors, comparing them to contents of a memory tracking register(s), and updating tracking register(s) appropriately. Likewise, the transactions from other non-processor bus agents and/or bus mastering devices, such as a bus bridge, memory controller, Input/output (I/O), and graphics could also be tracked.
Abstract:
Machine-readable media, methods, and apparatus are described which process memory transactions. In some embodiments, a processor or other external components provide a memory controller with decoded memory addresses. The memory controller then may access the memory with the processor decoded address without decoding the address itself. In other embodiments, a processor or other external components provide a memory controller with partially decoded memory addresses. The memory controller then generates a decoded address from the partially decoded address and may access the memory with the generated decoded address.
Abstract:
In einer Ausführungsform weist eine Vorrichtung auf: mindestens eine Verarbeitungsschaltung; mindestens ein Array, das mit der mindestens einer Verarbeitungsschaltung assoziiert ist; eine Leistungssteuerung, um den Leistungsverbrauch der Vorrichtung zu verwalten; und eine Fabric-Brücke, die mit der Leistungssteuerung gekoppelt ist. Die Fabric-Brücke und die Leistungssteuerung können ausgelegt sein, um ein Handschlag-Protokoll zu implementieren, um zu ermöglichen, dass die Fabric-Brücke vor dem Eintritt der Vorrichtung in einen ersten Niedrigleistungszustand Daten von dem mindestens einen Array über einen Seitenband-Kommunikationspfad empfängt und die Daten an einen Systemspeicher, der mit der Vorrichtung gekoppelt ist, über einen primären Kommunikationspfad sendet. Andere Ausführungsformen werden beschrieben und beansprucht.