DE19882418B4 - System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren - Google Patents

System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren Download PDF

Info

Publication number
DE19882418B4
DE19882418B4 DE19882418T DE19882418T DE19882418B4 DE 19882418 B4 DE19882418 B4 DE 19882418B4 DE 19882418 T DE19882418 T DE 19882418T DE 19882418 T DE19882418 T DE 19882418T DE 19882418 B4 DE19882418 B4 DE 19882418B4
Authority
DE
Germany
Prior art keywords
data
processor
latch
deskew
timing information
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.)
Expired - Fee Related
Application number
DE19882418T
Other languages
English (en)
Other versions
DE19882418T1 (de
Inventor
Peter Aloha Macwilliams
Bindi Los Altos Prasad
Manoj Sunnyvale Khare
Dilip Sunnyvale Sampath
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 DE19882418T1 publication Critical patent/DE19882418T1/de
Application granted granted Critical
Publication of DE19882418B4 publication Critical patent/DE19882418B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Abstract

System, aufweisend:
eine Slave-Einrichtung (120);
eine Master-Einrichtung (100) mit einer Mehrzahl von Deskew-Latch-Speichern (220; 345); und
einen zwischen die Slave-Einrichtung (120) und die Master-Einrichtung (100) eingekoppelten Bus (290), wobei der Bus (290) eine Anforderung aus der Master-Einrichtung (100) an die Slave-Einrichtung (120) und in Erwiderung der Anforderung Daten und Zeitgabeinformationen aus der Slave-Einrichtung an die Master-Einrichtung übermittelt;
wobei die Slave-Einrichtung (120) asynchron zu der Master-Einrichtung (100) in Erwiderung der Anforderung so wirkt, daß die Zeitgabeinformationen und die Daten erzeugt werden, und wobei ferner die Daten in einem der Mehrzahl der Deskew-Latch-Speicher (220; 345) gespeichert werden, bis auf die Daten durch die Master-Einrichtung (100) zugegriffen wird.

Description

  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Computerarchitektur; insbesondere bezieht sich die vorliegende Erfindung auf ein System und ein Verfahren für eine quellensynchrone Schnittstelle zur Datenübertragung zwischen einer Master-Einrichtung und mehreren Slave-Einrichtungen.
  • Bei bekannten Prozessor-Cache-Konfigurationen empfängt der Cache-Speicher das gleiche Taktsignal wie der Prozessor. Die zeitlichen Verhältnisse zwischen dem Prozessor und dem Cache sind standardmäßig synchrone Beziehungen. Die zeitlichen Verhältnisse werden durch die folgenden Gleichungen beschrieben.
  • Eine maximale Verzögerungszeit muß beachtet werden, wenn die Taktdauer für eine Schaltung bestimmt wird. Die Taktperiode ist durch die folgende Gleichung gegeben: tp ≥ tcd(max) + tft(max) + tsu + tcksk wobei tp die Taktdauer, tcd(max) die maximale Takt-zu-Signal-Verzögerungszeit, tft(max) die maximale Laufzeit für ein gegebenes Signal, tsu die erforderliche Signalaufbauzeit und tcksk den Taktversatz repräsentiert.
  • Die Haltezeit wird unter Verwendung der folgenden Gleichung bestimmt: tcd(min) + tft(min) ≥ th + tcksk wobei tcd(min) die minimale Takt-zu-Signal-Verzögerungszeit, tft(min) die minimale Laufzeit, th die erforderliche Haltezeit und tcksk den Taktversatz darstellt.
  • Über einer bestimmten Frequenz ist es wegen der durch den Versatz eingeführten Verzögerung und des Verhältnisses zwischen tcd(min)/tcd(max) und tsu/th unmöglich, beiden Gleichungen zu genügen.
  • Es ist möglich, die Frequenz des Betriebs über die Grenze dieser Gleichungen auszudehnen, indem eine quellensyn chrone Signalgebung verwendet wird. Beim quellensynchronen Signalisieren werden Zeitgabeinformationen mit den Signalen weitergeleitet, um die tcd- und tft-Terme zu kompensieren. Die maximale Betriebsfrequenz wird durch das tsu/th-Fenster, die Fähigkeit zum Kontrollieren eines Signalversatzes und die Fähigkeit zum Handhaben der Signalintegrität begrenzt.
  • Im Stand der Technik wurde eine quellensynchrone Signalisierung in asynchronen Systemschnittstellen und bei einem gemeinsamen Takt geringerer Frequenz verwendet. Die vorliegende Erfindung offenbart ein anderes Verfahren zum Verwenden einer quellensynchronen Signalisierung für eine Hochgeschwindigkeitsspeicherschnittstelle. Es basiert auf der Annahme, daß der Speicher stets eine Slave-Einrichtung ist, auf die durch eine Master-Einrichtung (d. h. den Controller) zugegriffen wird. Indem es der Zeitbasis ermöglicht wird, Systemverzögerungen nachgeführt zu werden, ist es möglich, die Signalisierrate bei einem minimalen Verzögerungseinfluß auf ein Maximum zu bringen. Für die Zwecke der Beschreibung wird angenommen, daß sich der Controller in einer einen Cache-Speicher steuernden CPU befindet; er kann jedoch auch bei irgendeiner anderen Master/Slave-Schnittstelle verwendet werden. Da sich die Verzögerung entlang der Schleife von der CPU zum Cache und zurück zur CPU akkumuliert, muß die CPU eine maximale Schleifenverzögerungszeit (gerundet zum nächsten Takt) warten und ein Deskew-Latch (Entzerr-Latch-Speicher) muß die Daten halten, um die minimale Schleifenverzögerungszeit zu berücksichtigen.
  • Aus der US 5,115,455 ist ein synchrones System bekannt, das ein Quellensubsystem und ein Zielsubsystem umfaßt, die beide von demselben Taktsignal versorgt werden. Zusammen mit übertragenen Daten wird ein Weiterleittaktsignal übermittelt, wobei die dafür verwendete Taktleitung eine ähnliche Verzögerung wie die Datenleitung aufweist.
  • Die EP 375794 A1 beschreibt ein Computersystem mit einem Chipsatz, der bei einer ersten Taktfrequenz arbeitet. Eine über einen Systembusadapter gekoppelte Bussteuereinheit arbeitet asynchron mit einem zweiten Takt. Dem Systembusadapter werden Daten und das zweite Taktsignal zugeführt und die Daten unter Verwendung dieses Taktes zwischengespeichert und danach unter Verwendung des Chiptaktes in ein Register übertragen.
  • Aufgabe der Erfindung ist es, die Leistung eines Systems und eines zugehörigen Verfahrens bei einer Übertragung von Daten zwischen einer Master-Einrichtung und einer Slave-Einrichtung zu verbessern.
  • Diese Aufgabe wird erfindungsgemäß durch ein System mit den Merkmalen des Anspruchs 1 und ein Verfahren mit den Merkmalen des Anspruchs 7 gelöst.
  • Das erfindungsgemäße System weist eine Slave-Einrichtung und eine Master-Einrichtung mit einer Mehrzahl von Deskew- Latch-Speichern auf. Zwischen der Slave-Einrichtung und der Master-Einrichtung ist ein Bus eingekoppelt, wobei der Bus eine Anforderung aus der Master-Einrichtung an die Slave-Einrichtung und in Erwiderung der Anforderung Daten und Zeitgabeinformationen aus der Slave-Einrichtung an die Master-Einrichtung übermittelt. Die Slave-Einrichtung wirkt asynchron zu der Master-Einrichtung in Erwiderung der Anforderung so, daß die Zeitgabeinformationen und die Daten erzeugt werden, wobei ferner die Daten in einem der Mehrzahl der Deskew-Latch-Speicher gespeichert werden, bis auf die Daten durch die Master-Einrichtung zugegriffen wird.
  • Die vorliegende Erfindung ist vollständiger zu verstehen anhand der unten angegebenen detaillierten Beschreibung und aus den begleitenden Zeichnungen der verschiedenen Ausfüh rungsbeispiele der Erfindung, welche jedoch nicht in einem die Erfindung auf die speziellen Ausführungsbeispiele einschränkenden Sinne zu verstehen sind, sondern nur der Erläuterung und dem besseren Verständnis dienen.
  • 1 ist ein Blockschaltbild eines Prozessors und eines Cache-Speichers, das einen mehrfachen Taktversatz zeigt.
  • 2 ist ein Blockschaltbild eines Cache-Speichers und eines Prozessors, der Deskew-Latch-Speicher aufweist, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 3 ist eine Darstellung des Cache-Speichers und eines Deskew-Latch-Speicher aufweisenden Prozessors gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 4 ist ein Blockschaltbild einer Deskew-Latch-Implementierung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 5 ist eine Darstellung auf Schaltungsebene der Deskew-Latch-Speicher gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 6 ist ein Zeitdiagramm eines Cache-Zugriffs gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • Es wird eine quellensynchrone Schnittstelle zwischen einer eine Mehrzahl von Deskew-Latch-Speichern aufweisenden Master-Einrichtung und einer Slave-Einrichtung beschrieben. In der folgenden Beschreibung werden zahlreiche Details angegeben, wie beispielsweise die Anzahl von Latch-Speichern, Steuerschaltungen, etc. Für einen Fachmann ist es jedoch klar, daß die vorliegende Erfindung auch ohne diese speziellen Details ausgeführt werden kann. An anderen Stellen werden gut bekannte Strukturen und Einrichtungen in Blockschaltbildform und nicht im Detail gezeigt, um eine Verdunkelung der vorliegenden Erfindung zu vermeiden.
  • Wenn ein Prozessor mit einem Cache-Speicher über einen speziellen Bus verbunden wird, arbeitet der Prozessor als Master-Einrichtung und der Cache-Speicher arbeitet als Slave-Einrichtung. Die vorliegende Erfindung wird anhand einer Prozessor-Cache-Architektur beschrieben; jedoch ist die vorliegende Erfindung gleichermaßen auf andere Einzel-Master/Mehr-Slave-Konfigurationen anwendbar.
  • Wie oben angemerkt, werden bekannte Prozessor- und Cache-Speicher-Konfigurationen üblicherweise mit einem gemeinsamen Taktsignal betrieben. Somit müssen die aus dem Cache-Speicher zurückgegebenen Daten während eines bekannten Prozessortaktzyklusfensters an den Prozessor zurückgegeben und stabil sein. Bei Verwendung des hier offenbarten Verfahrens und der hier offenbarten Einrichtungen jedoch können aus einem Cache-Speicher zurückgegebene Daten innerhalb eines Fensters zurückgegeben werden, daß Prozessortaktzyklusgrenzen überschreitet. Um dies auszuführen, werden Kommandos aus dem Prozessor an den Cache-Speicher zusammen mit Zeitgabeinformationen, wie beispielsweise einem Taktsignal oder einem Strobe-Signal, gesendet. Der Cache-Speicher verwendet die Zeitgabeinformationen, um ein internes Taktsignal zu erzeugen, um die von dem Prozessor gesendeten Kommandos auszuführen. Diese Kommandos werden ohne eine eng spezifizierte Beziehung zu dem Prozessortakt ausgeführt. Aus dem Cache-Speicher an den Prozessor zurückgegebene Daten werden mit Zeitgabeinformationen, wie beispielsweise einem Takt- oder einem Strobe-Signal, zurückgegeben, und die Daten werden in Deskew-Latch-Speichern zwischengespeichert. Die Daten werden in den Deskew-Latch-Speichern gespeichert, bis auf sie durch den Prozessorkern zugegriffen wird.
  • 1 ist eine Prozessor- und Cache-Speicher-Konfiguration. Der Prozessor 100 empfängt ein Taktsignal 150. Eine Phasenverriegelungsschleife (PLL) 132 erzeugt aus dem Taktsignal 150 ein Taktsignal für den Prozessor 100. Das von der PLL 132 erzeugte Taktsignal ist mit T0 bezeichnet. Wenn das Prozessortaktsignal sich zur Ausgangsschaltung 138 ausbreitet, wird das Prozessortaktsignal verzögert oder erfährt einen Versatz. Somit ist das Taktsignal an der Ausgangsschaltung 138 eine verzögerte Version von T0 und wird mit T1 bezeichnet. In ähnlicher Weise wird dann, wenn sich das Taktsignal T1 von der Ausgangsschaltung 138 im Prozessor 100 zur Eingangsschaltung 142 im Cache-Speicher 120 ausbreitet, eine Laufzeitverzögerung eingebracht. Das Taktsignal an der Eingangsschaltung 142 wird mit T2 bezeichnet und ist eine verzögerte Version des Taktsignals T1.
  • Das Taktsignal im Inneren des Cache-Speichers 120 kann durch eine PLL 146 erzeugt werden und wird als T3 bezeichnet, welches ein versetztes T2 ist. Es sei angemerkt, daß die PLL 146 optional ist und einen positiven Versatz in dem Sinne einführen kann, daß T3 T2 vorauseilt. Das Taktsignal T4 ist das Taktsignal an der Ausgangsschaltung 144 und das Taktsignal T5 ist das Taktsignal an der Eingangsschaltung 140. Das Zeitgabesignal T6 repräsentiert das Zeitgabesignal, das auf den an den Prozessor 100 durch den Cache 120 zurückgegebenen Daten basiert.
  • Durch Verwendung der hier beschriebenen Schnittstelle können Zeitbereiche (Zeit-Domänen) "verschoben" werden, indem auf der Grundlage von Worst-Case-Betrachtungen eine Master-Einrichtung (z. B. ein Prozessor) und auf der Grundlage von Betrachtungen des besten Falls ein Satz von Deskew-Latch-Speichern konstruiert werden, um Daten zu speichern, bis auf sie durch den Master zugegriffen wird. Deskew-Latch-Speicher gestatten es einem Prozessor, auf Daten zuzugreifen, die von einem Cache-Speicher zu Zeitpunkten zurückgegeben wurden, die nicht durch Taktperioden- und Haltezeitgleichungen, wie sie oben erörtert wurden, definiert sind.
  • 2 ist ein Blockschaltbild des Prozessors 100 und Cache-Speichers 120 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Der Prozessor 100 und der Cache-Speicher 120 können sich in einem gemeinsamen Gehäuse einer integrierten Schaltung (IC) aufhalten, wie beispielsweise in einem von der Intel Corporation in Santa Clara, Kalifornien, erhältlichen Pentium ProTM-Mikroprozessor. Alternativ können sich der Prozessor 100 und der Cache-Speicher 120 in separaten IC-Gehäusen aufhalten.
  • Der Prozessor 100 enthält grundsätzlich einen Prozessor-CPU-Kern 134, eine Cache-Steuerzustandsmaschine 200, ein Latch 210 und Deskew-Latch-Speicher 220. Die Interaktionen zwischen der Cache-Steuerzustandsmaschine 200, dem Latch 210 und den Deskew-Latch-Speichern 220 mit dem Prozessor-CPU-Kern 134 sind vollständig synchron.
  • Die Cache-Steuerzustandsmaschine 200 kommuniziert mit dem CPU-Kern 134, um Zugriffssteuersignale zu erzeugen, die über Leitungen 293 an ein Tag- und Status-Array 250 und ein Daten-Array 260 im Cache-Speicher 120 gesendet werden. Zugriffssteuersignale werden außerdem an das Latch 210 gesen det. Die Cache-Steuerzustandsmaschine 200 empfängt Zustands- und Tag-Übereinstimmungs-Daten aus dem Tag- und Status-Array 250 über die Leitung 291.
  • Die Cache-Steuerzustandsmaschine 200 erzeugt Burst-Steuerdaten, die über die Cache-Steuerung 280 den Deskew-Latch-Speichern 220 und den Daten-Puffern 270 im Cache-Speicher 120 übermittelt werden. Burst-Steuersignale werden verwendet, um den Fluß der Daten zwischen den Daten-Puffern 270 und den Deskew-Latch-Speichern 220 zu steuern. Die Daten werden zwischen den Daten-Puffern 270 und den Deskew-Latch-Speichern 220 über die Leitungen 299 in Blöcken (Chunks) ausgetauscht. Gemäß einem Ausführungsbeispiel entspricht ein Chunk von Daten der Breite des Busses zwischen dem Prozessor 100 und dem Cache-Speicher 120. Jedoch kann ein Chunk von Daten eine beliebige Datenmenge sein, die auf der Cache-Zeilengröße, der Busbreite, etc. basiert.
  • Das Latch 210 empfängt Adreßinformationen und Kommandos aus dem CPU-Kern 134 und übermittelt diese an das Daten-Array 260 und das Tag- und Status-Array 250 über die Leitungen 295. Die Leitungen 291, 293, 295, 296 und 299, die oben genannt wurden, bilden einen Rückverdrahtungsbus 290 zum Kommunizieren zwischen dem Prozessor 100 und dem Cache-Speicher 120. Die Cache-Steuerung 280 empfängt Zeitgabeinformationen aus der Cache-Steuerzustandsmaschine 200 und erzeugt Zeitgabeinformationen, die zusammen mit den durch den Cache-Speicher 120 gewonnenen Daten dem Prozessor 100 übermittelt werden. Die von der Cache-Steuerung 280 erzeugten Zeitgabeinformationen werden den Deskew-Latch-Speichern 220 über Leitung 296 übermittelt. Die Zeitgabeinformationen können entweder ein Taktsignal oder ein Strobe-Signal sein oder die Zeitgabeinformationen können der Übertragung von Daten zugeordnet sein.
  • Zugriffe auf den Cache-Speicher 120 durch den Prozessor 100 können als "Schleifen" enthaltend angesehen werden. Die äußere Schleife umfaßt den Zugriff auf die Arrays des Cache-Speichers 120. Die Array-Zugriffe bilden eine Schleife in dem Sinne, daß Anforderungen aus dem CPU-Kern 134 herrühren und sich durch die Cache-Steuerzustandsmaschine 200 zu dem Tag- und Status-Array 250 und dem Daten-Array 260 in dem Cache-Speicher 120 fortsetzen. Die Daten aus dem Daten-Array 260 werden zu den Datenpuffern 270 gesendet, dann zu den Deskew-Latch-Speichern 220 im Prozessor 100. Der Prozessor-CPU-Kern 134 greift auf die Daten aus dem Deskew-Latch-Speichern 220 zu, um die Schleife zu vervollständigen. Äußere Schleifenoperationen umfassen Tag- und Zustands-Leseoperationen, Daten-Array-Leseoperationen, Tag-Aktualisierungen und Daten-Array-Aktualisierungen.
  • Die Bezeichnung "Innere Schleife" wird verwendet, um eine Übertragung von Signalen innerhalb der Prozessor-Cache-Architektur zu beschreiben. Beispielsweise stellt eine innere Schleife Burst-Übertragungen aus den Daten-Puffern 270 zu den Deskew-Latch-Speichern 220 zur Verfügung, die durch den Prozessor-CPU-Kern 134 und die Cache-Steuerzustandsmaschine 200 gesteuert werden. Daten aus den Datenpuffern 270 werden ausgewählt und an die Deskew-Latch-Speicher 220 gesendet. Auf die in den Deskew-Latch-Speichern 220 gespeicherten Daten wird dann durch den CPU-Kern 134 zugegriffen. Somit benutzt die innere Schleife eine Untermenge der von der äußeren Schleife benutzten Schaltungen.
  • Operationen der inneren Schleife umfassen außerdem Chunk-Schreib- und Chunk-Lese-Operationen. Eine Übertragung von Kommandos in eine Richtung aus dem Prozessor zu dem Cache-Speicher oder von Daten aus dem Cache-Speicher in den Prozessor kann ebenfalls als Operation einer inneren Schleife angesehen werden.
  • 3 ist eine Darstellung eines Prozessors und einer Cache-Speicher-Konfiguration gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wie oben erörtert wurde, erzeugen in einer Operation einer äußeren Schleife der CPU-Kern 134 und die Cache-Steuerzustandsmaschine 200 Kommandos, Adressen und Zeitgabeinformationen, die an den Cache-Speicher 120 übermittelt werden. Die Adressen werden von dem Adreß-Latch 330 in dem Cache-Speicher 120 latch-gespeichert. Das Adreß-Latch 330 wird durch Adreßzeitgabeinformationen gesteuert, welche außerdem der PLL 146 eingegeben werden. Die von der Cache-Steuerzustandsmaschine 200 erzeugten Kommandos werden außerdem dem Cache-Speicherkern 148 übermittelt, welcher das Tag- und Status-Array 250 und das Daten-Array 260 gemäß 2 (nicht gezeigt) umfaßt. Zeitgabeinformationen aus der Cache-Steuerzustandsmaschine 200 werden außerdem der Cache-Steuerung 280 eingegeben, welche die Multiplexer 335, 347 und 349 steuert. Die anhand von 3 beschriebene Implementierung ist eine von vielen möglichen Implementierungen der vorliegenden Erfindung.
  • Sobald die angeforderten Daten von dem Cache-Speicherkern 148 wiedergewonnen sind, werden die Daten an die Latch-Speicher 345 gesendet. Die Latch-Speicher 345 halten Chunks der gelesenen Cache-Zeile. Das auszuwählende und an den Prozessor 100 zu sendende Chunk wird von den Multiplexern 335, 347 und 349 ausgewählt.
  • Wenn die Daten von dem Cache-Speicher 120 zu dem Prozessor 100 gesendet werden, werden die Zeitgabeinformationen aus der Cache-Steuerung 280 an die Latch-Steuerung 285 im Prozessor 100 gesendet. Die Latch-Steuerung 285 empfängt darüber hinaus eine Eingabe aus der Cache-Steuerzustandsmaschine 200. Die Latch-Steuerung 285 steuert die Deskew-Latch-Speicher 220 derart, daß die Chunks der aus dem Multiplexer 335 ausgegebenen Daten in das geeignete Deskew-Latch eingegeben werden. Die Ausgabe jedes Deskew-Latch-Speichers wird mit einem Eingang des Multiplexers 350 gekoppelt, welcher von der Cache-Steuerzustandsmaschine 200 gesteuert wird. Das Ausgangssignal des Multiplexers 350 wird dem Ausgabe-Latch 340 eingegeben, welches das Chunk der Daten speichert, bis der CPU-Kern 134 ein neues Chunk von Daten anfordert.
  • Bei einer inneren Schleifenoperation werden Kommandos und Zeitgabeinformationen von der Cache-Steuerzustandsmaschine 200 und dem CPU-Kern 134 erzeugt und an den Cache- Speicher 120 gesendet. In Erwiderung wählt die Cache-Steuerung 280 das angeforderte Chunk aus den Latch-Speichern 345 zur Ausgabe des angeforderten Chunk an die Deskew-Latch-Speicher 220 im Prozessor 100 aus. Die Cache-Steuerung 180 erzeugt darüber hinaus Zeitgabeinformationen, die an die Latch-Steuerung 285 gesendet werden.
  • Die aus dem Cache-Speicher 120 gesendeten Daten werden von den Deskew-Latch-Speichern 220 empfangen. Die Latch-Steuerung 285 und die Cache-Steuerzustandsmaschine 200 wählen das richtige Deskew-Latch über den Multiplexer 350 zur Ausgabe des angeforderten Chunk an das Ausgabe-Latch 340 aus. Dann greift der CPU-Kern 134 auf das Chunk aus dem Ausgabe-Latch 340 zu.
  • 4 ist ein Blockschaltbild der vier Deskew-Latch-Speicher gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Jedes Deskew-Latch speichert ein Chunk von Daten. Daten aus dem Cache-Speicher 120 werden den Deskew-Latch-Speichern 220 eingegeben, welche vier Latch-Speicher 422, 424, 426 und 428 umfassen. Die Latch-Steuereinheit 300 wählt das richtige Latch zum Empfangen der Daten aus dem Cache-Speicher 120 aus. Gemäß einem Ausführungsbeispiel sind vier Deskew-Latch-Speicher implementiert; jedoch kann eine beliebige Anzahl von Deskew-Latch-Speichern implementiert sein (z. B. eines, zwei, drei, etc.). Die Anzahl der Deskew-Latch-Speicher wird so gewählt, daß sie mit dem ungünstigsten Versatz (Skew) der äußeren Schleife übereinstimmt. Die Deskew-Latch-Speicher sichern, daß die Master-Einrichtung für den vollen Bereich des Versatzes (Skew) der ersten und zweiten Zeitgabeinformationen stets gültige Daten liest.
  • Gemäß einem Ausführungsbeispiel werden die Daten von den Deskew-Latch-Speichern 220 in einer umlaufenden Weise empfangen. Beispielsweise wird ein erstes Chunk Daten im Latch 422, ein zweites Chunk im Latch 424, ein drittes Chunk im Latch 426 und ein viertes Chunk im Latch 428 gespeichert. Die vier Chunks, von denen jedes in einem Latch gespeichert ist, bilden ein Wort von Daten, das aus dem Cache-Speicher 120 gelesen wurde. Das nächste Chunk Daten, das empfangen wird, wird im Latch 422 gespeichert.
  • Die Ausgänge der Latch-Speicher 422, 424, 426 und 428 sind mit den Eingängen des Multiplexers 450 gekoppelt, welcher von der Cache-Steuerzustandsmaschine 200 gesteuert wird. Das Ausgangssignal des Multiplexers 450 ist das Eingangssignal an das Ausgabe-Latch 440, welches mit dem CPU-Kern 134 gekoppelt ist.
  • 5 ist eine Schaltungsdarstellung der Deskew-Latch-Speicher 220 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Gemäß einem Ausführungsbeispiel empfangen die Deskew-Latch-Steuerschaltungen 510 und 520 als Eingangssignale BSTB#, welches ein Strobe-Signal ist. Die Deskew-Latch-Steuerschaltungen 510 und 520 weisen im Stand der Technik gut bekannte Standard-Logikelemente auf, wie sie in 5 gezeigt sind. Die in 5 gezeigte Implementierung speichert das erste gelesene Chunk von Daten im Latch 422, das zweite Chunk im Latch 426, usw., in einer umlaufenden Weise, wie sie oben erörtert wurde.
  • Um den durch die Strobe-Signale eingebrachten Versatz (Skew) zu reduzieren, kann ein Paar komplementärer Strobe-Signale (z. B. BSTB und BSTB#) verwendet werden, um die Deskew-Latch-Speicher zu steuern. Alternativ können die Deskew-Latch-Speicher von einem vom Cache-Speicher 120 empfangenen Taktsignal gesteuert werden.
  • Die Ausgänge der Latch-Speicher 422, 426, 424 und 428 sind mit dem Multiplexer 450 gekoppelt. Auf den Ausgang des Multiplexers 450 wird von dem CPU-Kern 134 (nicht gezeigt) entweder direkt oder über das Ausgabe-Latch 440 zugegriffen, wie es in 4 gezeigt ist.
  • Da die Latch-Speicherungsaktivität der Deskew-Latch-Speicher 220 in Abhängigkeit von einem Strobe-Signal gesteuert wird, das von dem Cache-Speicher erzeugt wird, sind die Zeitpunkte, zu welchen die Daten von den Latch-Speichern gespeichert werden, unabhängig von dem den Prozessor 100 treibenden Takt (z. B. T0). Somit kann das Fenster, in welchem die Daten latch-gespeichert werden können, Taktzyklusgrenzen des Prozessors 120 überschreiten. Die in den Deskew-Latch-Speichern gespeicherten Daten fließen durch die Latch-Speicher hindurch, so daß die Daten verfügbar sind, bevor die Daten in Erwiderung des BSTB#-Signals latch-gespeichert werden. Ein Zugriff auf die in den Deskew-Latch-Speichern gespeicherten Daten kann unabhängig von dem BSTB#-Signal ausgeführt werden. Alternativ können getaktete Latch-Speicher ebenso verwendet werden.
  • 6 ist ein Zeitdiagramm einer Mehrzahl von Signalen in der Master-Slave-Schnittstelle gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Das CLK-Signal 150 entspricht dem CLK-Signal 150 gemäß 1. Das CPU-PLL-Signal 610 ist das Taktsignal, das den Prozessor 100 treibt und das bei der Zeitgabe von Zugriffen auf von dem Cache-Speicher 120 zurückgegebenen Daten verwendet wird. Das CPU-PLL-Ausgangssignal 610 entspricht der T0-Zeitbasis gemäß 1.
  • Das Cache-Taktsignal 620 entspricht der T3-Zeitbasis gemäß 1 und ist dasjenige Taktsignal, das den Cache-Speicher 120 antreibt. Das Cache-Taktsignal 620 wird bei der Ausführung von aus dem Prozessor 100 empfangenen Kommandos und beim Senden von Daten und Zeitgabeinformationen an den Prozessor 100 verwendet.
  • Einige der unten beschriebenen Signale werden als unidirektionale Signale beschrieben. Diese Signale können auch als bidirektionale Signale vorgesehen werden, die für eine fest vorgegebene Anzahl von Takten aktiv getrieben werden und dann, statt sie weglaufen zu lassen, über die Verwendung von "Haltern" genannten schwachen Treibern bei dem letzten Wert gehalten werden. Die Halter (Keeper) halten die Signale innerhalb der Grenzen des logisch hohen oder niedrigen Werts. Halter helfen bei der Verringerung des Energieverbrauchs im Empfänger verglichen mit einer Implementierung, bei der die Signale weglaufen.
  • Das BSTB@Cache-Signal 630 und das BSTB#@Cache-Signal 635 bilden ein komplementäres Paar von Strobe-Signalen, die aus dem Cache-Speicher 120 an den Prozessor 100 gesendet werden. Diese Signale entsprechen der T4-Zeitbasis gemäß 1. Dieses Strobe-Signale sind die aus dem Cache-Speicher 120 an den Prozessor 100 zusammen mit den Daten, die von dem Prozessor 100 angefordert sind, gesendeten Zeitgabeinformationen.
  • Die Daten@Cache-Signale 640 sind die aus dem Cache-Speicher 120 an den Prozessor 100 gesendeten Daten. Diese Signale entsprechen außerdem der T4-Zeitbasis. Wie aus 6 zu entnehmen ist, tritt der Übergang der Strobe-Signale auf, nachdem die Datensignale sich aufgebaut haben.
  • Das BSTB@CPU-Signal 650 und das BSTB#@CPU-Signal 655 sind die durch den Cache-Speicher 120 erzeugten Strobe-Signale zu dem Zeitpunkt, zu dem sie am Prozessor 100 eintreffen. Diese Signale werden im Bezug auf die Strobe-Signale am Cache-Speicher 120 wegen der Laufzeitverzögerung zwischen dem Cache-Speicher 120 und dem Prozessor 100 verzögert. Die Strobe-Signale am Prozessor 100 entsprechen der T5-Zeitbasis gemäß 1.
  • Die Daten@CPU-Signale 660 sind die Daten, wie sie am Prozessor 100 eintreffen. Wiederum werden die Signale durch die Laufzeit zwischen dem Cache-Speicher 120 und dem Prozessor 100 verzögert. Die Daten@CPU-Signale 660 entsprechen der T5-Zeitbasis gemäß 1.
  • Das Deskew-Latch-1-Ausgangssignal 670, das Deskew-Latch-2-Ausgangssignal 672, das Deskew-Latch-3-Ausgangssignal 674 und das Deskew-Latch-4-Ausgangssignal 676 sind die Ausgangssignale der jeweiligen Deskew-Latch-Speicher. Diese Signale entsprechen der T6-Zeitbasis gemäß 1. Diese Ausgangssignale sind die jeweiligen Chunks von Daten, die aus dem Cache-Speicher 120 empfangen wurden. Die T6-Zeitbasis basiert auf den Daten statt auf Takt- und Strobe-Signalen, die die Grundlage der anderen Zeitbasen bilden. Alternativ kann die T6-Zeitbasis auf einem Takt- oder Strobe-Signal basieren, wenn die Daten an den Deskew-Latch-Speichern in Abhängigkeit von einem Zeitgabesignal latch-gespeichert werden, bevor sie für den Prozessorkern 134 verfügbar sind. Jedoch würde dieses Ausführungsbeispiel einen gewissen Leistungsnachteil erleiden.
  • Somit wurde eine quellensynchrone Schnittstelle zwischen einem Master und mehreren Slaves beschrieben, die ein Deskew-Latch verwendet.

Claims (7)

  1. System, aufweisend: eine Slave-Einrichtung (120); eine Master-Einrichtung (100) mit einer Mehrzahl von Deskew-Latch-Speichern (220; 345); und einen zwischen die Slave-Einrichtung (120) und die Master-Einrichtung (100) eingekoppelten Bus (290), wobei der Bus (290) eine Anforderung aus der Master-Einrichtung (100) an die Slave-Einrichtung (120) und in Erwiderung der Anforderung Daten und Zeitgabeinformationen aus der Slave-Einrichtung an die Master-Einrichtung übermittelt; wobei die Slave-Einrichtung (120) asynchron zu der Master-Einrichtung (100) in Erwiderung der Anforderung so wirkt, daß die Zeitgabeinformationen und die Daten erzeugt werden, und wobei ferner die Daten in einem der Mehrzahl der Deskew-Latch-Speicher (220; 345) gespeichert werden, bis auf die Daten durch die Master-Einrichtung (100) zugegriffen wird.
  2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Zeitgabeinformationen ein Taktsignal sind.
  3. System nach Anspruch 1, dadurch gekennzeichnet, daß die Zeitgabeinformationen ein Strobe-Signal (630; 635) sind.
  4. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Daten in einen der mehreren Deskew-Latch-Speicher (220; 345) in Abhängigkeit von den Zeitgabeinformationen gespeichert werden.
  5. System nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Master-Einrichtung (100) ein Prozessor ist.
  6. System nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Slave-Einrichtung (120) ein Cache-Speicher ist.
  7. Verfahren, umfassend: Ausgeben einer Anforderung aus einem Prozessor an einen Cache-Speicher; Ausführen der Anforderung in dem Cache-Speicher asynchron zu den Taktzyklen in dem Prozessor; Gewinnen von durch ein Kommando angeforderten Daten; Erzeugen von Zeitgabeinformationen; Senden der Daten und der Zeitgabeinformationen aus dem Cache-Speicher zu dem Prozessor; und Latch-Speichern der Daten in einem Deskew-Latch-Speicher in Abhängigkeit von den Zeitgabeinformationen.
DE19882418T 1997-05-06 1998-04-10 System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren Expired - Fee Related DE19882418B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/852,438 US6209072B1 (en) 1997-05-06 1997-05-06 Source synchronous interface between master and slave using a deskew latch
US08/852,438 1997-05-06
PCT/US1998/007236 WO1998050845A1 (en) 1997-05-06 1998-04-10 Source synchronous interface between master and slave using a deskew latch

Publications (2)

Publication Number Publication Date
DE19882418T1 DE19882418T1 (de) 2000-06-21
DE19882418B4 true DE19882418B4 (de) 2005-11-24

Family

ID=25313328

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19882418T Expired - Fee Related DE19882418B4 (de) 1997-05-06 1998-04-10 System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren

Country Status (5)

Country Link
US (2) US6209072B1 (de)
AU (1) AU6898098A (de)
DE (1) DE19882418B4 (de)
GB (1) GB2342740B (de)
WO (1) WO1998050845A1 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430697B1 (en) 1999-05-14 2002-08-06 Intel Corporation Method and apparatus for reducing data return latency of a source synchronous data bus by detecting a late strobe and enabling a bypass path
EP1061454A1 (de) * 1999-06-14 2000-12-20 Abb Research Ltd. Verfahren zum Synchronisieren von Geräten an einem Rechnerbus
DE10048895A1 (de) * 1999-10-01 2001-06-13 Schlumberger Technologies Inc Testverfahren und -vorrichtung für quellensynchrone Signale
JP2002082830A (ja) * 2000-02-14 2002-03-22 Mitsubishi Electric Corp インターフェイス回路
US6704890B1 (en) * 2000-12-22 2004-03-09 Nortel Networks Limited Skew compensating interface for operation with arbitrary data
US6834362B2 (en) * 2001-03-26 2004-12-21 Sun Microsystems, Inc. Apparatus and method for error detection on source-synchronous buses
US7120838B2 (en) * 2002-03-26 2006-10-10 Intel Corporation Method and unit for deskewing signals
US20030217301A1 (en) * 2002-05-16 2003-11-20 Levy Paul S. Method and apparatus for transmitting side-band data within a source synchronous clock signal
US7117306B2 (en) * 2002-12-19 2006-10-03 Intel Corporation Mitigating access penalty of a semiconductor nonvolatile memory
US7386750B2 (en) * 2005-07-15 2008-06-10 Hewlett-Packard Development Company, L.P. Reduced bus turnaround time in a multiprocessor architecture
WO2009072038A2 (en) 2007-12-05 2009-06-11 Nxp B.V. Source-synchronous data link for system-on-chip design
US8321719B2 (en) * 2009-09-25 2012-11-27 Intel Corporation Efficient clocking scheme for a bidirectional data link
US9304530B1 (en) * 2012-08-28 2016-04-05 Rambus Inc. Skew-tolerant strobe-to-clock domain crossing
US9652415B2 (en) * 2014-07-09 2017-05-16 Sandisk Technologies Llc Atomic non-volatile memory data transfer
US9904621B2 (en) 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
US9436397B2 (en) 2014-09-23 2016-09-06 Sandisk Technologies Llc. Validating the status of memory operations
US9952978B2 (en) 2014-10-27 2018-04-24 Sandisk Technologies, Llc Method for improving mixed random performance in low queue depth workloads
US9558125B2 (en) 2014-10-27 2017-01-31 Sandisk Technologies Llc Processing of un-map commands to enhance performance and endurance of a storage device
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
US9824007B2 (en) 2014-11-21 2017-11-21 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9817752B2 (en) 2014-11-21 2017-11-14 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9647697B2 (en) 2015-03-16 2017-05-09 Sandisk Technologies Llc Method and system for determining soft information offsets
US9652175B2 (en) 2015-04-09 2017-05-16 Sandisk Technologies Llc Locally generating and storing RAID stripe parity with single relative memory address for storing data segments and parity in multiple non-volatile memory portions
US9753653B2 (en) 2015-04-14 2017-09-05 Sandisk Technologies Llc High-priority NAND operations management
US9864545B2 (en) 2015-04-14 2018-01-09 Sandisk Technologies Llc Open erase block read automation
US10372529B2 (en) 2015-04-20 2019-08-06 Sandisk Technologies Llc Iterative soft information correction and decoding
US9778878B2 (en) 2015-04-22 2017-10-03 Sandisk Technologies Llc Method and system for limiting write command execution
US9870149B2 (en) 2015-07-08 2018-01-16 Sandisk Technologies Llc Scheduling operations in non-volatile memory devices using preference values
US9715939B2 (en) 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
US10228990B2 (en) 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US10126970B2 (en) 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US9837146B2 (en) 2016-01-08 2017-12-05 Sandisk Technologies Llc Memory system temperature management
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US10481830B2 (en) 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
EP3591435B1 (de) 2018-07-02 2022-08-10 NXP USA, Inc. Kommunikationseinheit, integrierte schaltung und verfahren zur taktverteilung und -synchronisation
EP3591434B1 (de) * 2018-07-02 2023-07-26 NXP USA, Inc. Kommunikationseinheit, integrierte schaltungen und verfahren zur takt- und datensynchronisation
EP3591431B1 (de) 2018-07-02 2021-05-05 NXP USA, Inc. Kommunikationseinheit und verfahren zur taktverteilung und synchronisation
EP3591433B1 (de) 2018-07-02 2023-06-14 NXP USA, Inc. Kommunikationseinheit, integrierte schaltungen und verfahren zur takt- und datensynchronisation
EP3591432B1 (de) 2018-07-02 2021-06-30 NXP USA, Inc. Kommunikationseinheit, integrierte schaltung und verfahren zur taktverteilung und -synchronisation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0375794A1 (de) * 1988-12-24 1990-07-04 International Business Machines Corporation Methode zur Synchronisierung von Signalen, die auf verschiedenen Chips mit On-Chip-Taktgebern verschiedener Frequenz erzeugt werden
US5115455A (en) * 1990-06-29 1992-05-19 Digital Equipment Corporation Method and apparatus for stabilized data transmission

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3766532A (en) 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US4141067A (en) 1977-06-13 1979-02-20 General Automation Multiprocessor system with cache memory
US4342069A (en) 1979-07-02 1982-07-27 Mostek Corporation Integrated circuit package
US4323967A (en) 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4755930A (en) 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US5454088A (en) 1985-11-15 1995-09-26 Mitsubishi Denki Kabushiki Kaisha Microprogram control device for controlling data path section including designation of instruction cycle values
US5251308A (en) 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5025366A (en) 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
US5058006A (en) 1988-06-27 1991-10-15 Digital Equipment Corporation Method and apparatus for filtering invalidate requests
US5317716A (en) 1988-08-16 1994-05-31 International Business Machines Corporation Multiple caches using state information indicating if cache line was previously modified and type of access rights granted to assign access rights to cache line
US5335337A (en) * 1989-01-27 1994-08-02 Digital Equipment Corporation Programmable data transfer timing
US4965793A (en) * 1989-02-03 1990-10-23 Digital Equipment Corporation Method and apparatus for interfacing a system control unit for a multi-processor
JP3063006B2 (ja) 1989-02-08 2000-07-12 インテル・コーポレーション マイクロプログラムされるコンピュータ装置及びマイクロコードシーケンスメモリをアドレツシングする方法
US5287484A (en) 1989-06-21 1994-02-15 Hitachi, Ltd. Multi-processor system for invalidating hierarchical cache
US4969122A (en) 1989-08-21 1990-11-06 Sun Microsystems, Inc. Apparatus for page tagging in a computer system
US5136700A (en) 1989-12-22 1992-08-04 Digital Equipment Corporation Apparatus and method for reducing interference in two-level cache memories
US5297269A (en) 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
JPH05108484A (ja) 1990-06-07 1993-04-30 Intel Corp キヤツシユメモリ
EP0461926B1 (de) 1990-06-15 1998-09-02 Compaq Computer Corporation Mehrstufeneinschluss in mehrstufigen Cache-Speicherhierarchien
IE860318L (en) 1990-10-01 1986-08-05 Digital Equipment Corp System bus for a multi-cache data processing system
US5164619A (en) * 1990-11-21 1992-11-17 Hewlett-Packard Company Low skew clocking system for VLSI integrated circuits
US5249282A (en) 1990-11-21 1993-09-28 Benchmarq Microelectronics, Inc. Integrated cache memory system with primary and secondary cache memories
US5265235A (en) 1990-11-30 1993-11-23 Xerox Corporation Consistency protocols for shared memory multiprocessors
US5454093A (en) 1991-02-25 1995-09-26 International Business Machines Corporation Buffer bypass for quick data access
ATE179810T1 (de) * 1991-03-01 1999-05-15 Advanced Micro Devices Inc Mikroprozessor mit externem speicher
US5303362A (en) 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
US5155067A (en) 1991-03-26 1992-10-13 Micron Technology, Inc. Packaging for a semiconductor die
US5325504A (en) 1991-08-30 1994-06-28 Compaq Computer Corporation Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
US5353424A (en) 1991-11-19 1994-10-04 Digital Equipment Corporation Fast tag compare and bank select in set associative cache
US5345576A (en) 1991-12-31 1994-09-06 Intel Corporation Microprocessor simultaneously issues an access to an external cache over an external cache bus and to an internal cache, cancels the external cache access on an internal cache hit, and reissues the access over a main memory bus on an external cache miss
US5325503A (en) 1992-02-21 1994-06-28 Compaq Computer Corporation Cache memory system which snoops an operation to a first location in a cache line and does not snoop further operations to locations in the same line
WO1993018463A1 (en) * 1992-03-06 1993-09-16 Rambus, Inc. Method and circuitry for minimizing clock-data skew in a bus system
US5388224A (en) 1992-04-24 1995-02-07 Digital Equipment Corporation Processor identification mechanism for a multiprocessor system
US5319766A (en) 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US5361267A (en) 1992-04-24 1994-11-01 Digital Equipment Corporation Scheme for error handling in a computer system
US5615358A (en) * 1992-05-28 1997-03-25 Texas Instruments Incorporated Time skewing arrangement for operating memory in synchronism with a data processor
US5313501A (en) * 1992-06-15 1994-05-17 Digital Equipment Corporation Method and apparatus for deskewing digital data
US5434993A (en) 1992-11-09 1995-07-18 Sun Microsystems, Inc. Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories
US5524233A (en) 1993-03-31 1996-06-04 Intel Corporation Method and apparatus for controlling an external cache memory wherein the cache controller is responsive to an interagent communication for performing cache control operations
US5706485A (en) * 1993-09-21 1998-01-06 Intel Corporation Method and apparatus for synchronizing clock signals in a multiple die circuit including a stop clock feature
US5488639A (en) * 1993-12-21 1996-01-30 Intel Corporation Parallel multistage synchronization method and apparatus
US5678020A (en) 1994-01-04 1997-10-14 Intel Corporation Memory subsystem wherein a single processor chip controls multiple cache memory chips
US5752045A (en) * 1995-07-14 1998-05-12 United Microelectronics Corporation Power conservation in synchronous SRAM cache memory blocks of a computer system
US5805872A (en) * 1995-09-08 1998-09-08 Digital Equipment Corporation Apparatus for generation of control signals from the read cycle rate and read speed of a memory
US5774001A (en) 1995-12-20 1998-06-30 Intel Corporation Method for eliminating multiple output switching timing skews in a source synchronous design
US5723995A (en) 1995-12-20 1998-03-03 Intel Corporation Method for eliminating process variation timing skews in a source synchronous design
US5706484A (en) 1995-12-20 1998-01-06 Intel Corporation Method for eliminating transition direction sensitive timing skews in a source synchronous design
US5692166A (en) * 1996-04-19 1997-11-25 Motorola, Inc. Method and system for resynchronizing a phase-shifted received data stream with a master clock
US5905391A (en) * 1997-07-14 1999-05-18 Intel Corporation Master-slave delay locked loop for accurate delay or non-periodic signals
US6085345A (en) * 1997-12-24 2000-07-04 Intel Corporation Timing control for input/output testability

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0375794A1 (de) * 1988-12-24 1990-07-04 International Business Machines Corporation Methode zur Synchronisierung von Signalen, die auf verschiedenen Chips mit On-Chip-Taktgebern verschiedener Frequenz erzeugt werden
US5115455A (en) * 1990-06-29 1992-05-19 Digital Equipment Corporation Method and apparatus for stabilized data transmission

Also Published As

Publication number Publication date
GB9926166D0 (en) 2000-01-12
GB2342740B (en) 2002-07-24
GB2342740A (en) 2000-04-19
DE19882418T1 (de) 2000-06-21
WO1998050845A1 (en) 1998-11-12
US6209072B1 (en) 2001-03-27
US6247136B1 (en) 2001-06-12
AU6898098A (en) 1998-11-27

Similar Documents

Publication Publication Date Title
DE19882418B4 (de) System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren
DE19652310C2 (de) Halbleiterspeichervorrichtung, die ein asynchrones Signal verwendet
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE602004007674T3 (de) Integrierte Schaltung mit bimodalem Daten-Strobe
DE69838852T2 (de) Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend
DE60205877T2 (de) Verfahren zur synchronisation der auslesezeit eines hochgeschwindigkeitsspeichers
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE69533599T2 (de) Leistungssteuerung in einem asynchronen Sender/Empfänger
DE69634358T2 (de) Verzögerungsverringerung in der übertragung von gepufferten daten zwischenzwei gegenseitig asynchronen bussen
DE10235739B4 (de) Register, das auf einem Speichermodul montiert ist sowie Verwendung eines Registers in einem Speichermodul
DE3204905C2 (de)
DE19860650B4 (de) Synchrone Halbleiter-Speichervorrichtung mit einer Chip-Satz-Speichersteuervorrichtung mit Datenausblend-Maskenfunktion
DE102006004596A1 (de) Verfahren und Vorrichtungen zum Implementieren einer Leistungsreduzierung bei einer Speichervorrichtung
DE10210904A1 (de) Speichermodul, zugehöriges Speichersystem und Taktsignalerzeugungsverfahren
DE3110196A1 (de) Datenverarbeitungssystem
DE19828620B4 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
WO2003023579A1 (de) Verbesserung des timings und minimierung externer einflüsse bei digitalen signalen
DE102004025900A1 (de) Leselatenz-Steuerschaltung
DE3732798A1 (de) Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet
DE102007016309A1 (de) Verfahren zur DDR-Empfängerleseresynchronisation
DE102006030373A1 (de) Halbleiterspeichervorrichtung
DE10314175A1 (de) Bussystem sowie Informationsverarbeitungssystem, das ein Bussystem einschliesst
DE69924081T2 (de) Vorrichtung, System und Verfahren zur Verringerung von Buszugriffskonflikten während aufeinanderfolgenden Lese-Schreib-Operationen
DE102005009806A1 (de) Pufferbaustein für ein Speichermodul, Speichermodul und Speichersystem
DE3842517A1 (de) Pipeline-datenverarbeitungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8607 Notification of search results after publication
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee