-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft Logik- und Speichereinheiten in welchen
ein Speichersystem zur Datenspeicherung auf einem üblichen
Halbleitersubstrat mit einer Logikschaltung aufgebaut ist, welches
auf die im Speichersystem gespeicherten Daten zugreift.
-
Beschreibung
der zugrunde liegenden Technik
-
Es
gibt viele Anwendungen, in denen eine digitale Logikschaltung in
einem Speichersystem gespeicherte Daten verwenden muss. Bei den
meisten dieser Anwendungen ist das Speichersystem auf einem separaten
Speicherchip mit einer standardisierten Anzahl von Ein- und Ausgängen untergebracht, über die
der Zugriff auf die Daten zu erfolgen hat. Über diese standardisierten
Ein- und Ausgänge
kann der Speicherchip für
unterschiedliche Anwendungen verwendet werden, allerdings schränken sie
die Kommunikation zwischen dem Speichersystem und der Logikschaltung
ein.
-
Eine
Logikschaltung zum Ausführen
einer bestimmten digitalen Funktion wird allgemein als Makro bezeichnet.
Zur Verringerung der Kosten kann das Speichersystem bei neueren
digitalen Systemen zusammen mit der Logikschaltung auf einem gemeinsamen
Substrat untergebracht sein und trägt dann die Bezeichnung Makro
mit eingebettetem Speicher. Um eine komplexere digitale Schaltung
zu erzeugen, können
auf einem einzigen Substrat mehrere einzelne Makros zusammengefasst
und untergebracht sein. Alternativ können die einzelnen Makros als
separate Einheiten auftreten.
-
Die
bekannten Designs von Makros mit eingebettetem Speicher haben bisher
denselben standardisierten Bestand an Ein- und Ausgängen zur Kommunikation
zwischen dem eingebetteten Speichersystem und der entsprechenden
Logikschaltung verwendet. Diese standardisierte Schnittstelle verhindert,
dass das Speichersystem der Logikschaltung mitteilt, wann aus dem
Speicher gelesene Daten gültig
geworden sind, obwohl diese Information dem Speichersystem in neueren
Speichersystemstrukturen intern bereits zur Verfügung steht.
-
Daher
besteht eine Aufgabe der vorliegenden Erfindung darin, die Leistungsfähigkeit
von Makros mit eingebettetem Speicher dadurch zu verbessern, dass
zwischen dem Speichersystem und der Logikschaltung weitere Daten übertragen
werden. Diese Aufgabe wird durch die Ausnutzung der Tatsache gelöst, dass
das eingebettete Speichersystem auf demselben Substrat wie die Logikschaltung
untergebracht ist, sodass die Schnittstelle zwischen beiden verbessert
wird und mehr Daten überträgt.
-
Bei
einem herkömmlichen
Makro, bei welchem sich der Speicher und die Logik auf separaten Chips
befinden, wird der Speicher nach der Herstellung geprüft und abgenommen,
damit er bestimmte Kennwerte erfüllt.
Der Makro kann für
diese Speicherkennwerte ausgelegt und der Speicher und der Makro können aufeinander
abgestimmt werden. Bei einem Makro mit eingebettetem Speicher ist
diese Abstimmung jedoch nicht möglich.
Bei der Auslegung des Makros mit eingebettetem Speicher muss von vornherein
berücksichtigt
werden, dass die Leistungsparameter des Speichersystems Schwankungen
unterliegen können.
Daher musste entweder ein herkömmliches
Design gewählt
werden, durch welche die optimale Leistung des Makros nicht erreicht wird,
oder der Makro musste während
des Hochfahrens komplexe Initialisierungs- und Testprozeduren durchführen, um
den Makrobetrieb an die Leistungsparameter des Speichersystems anzupassen.
-
Deshalb
besteht eine andere Aufgabe der Erfindung darin, zum Ausgleich von
Schwankungen der Leistungsparameter des Speichersystems erforderliche
komplexe Initialisierungs- und Testprozeduren des Speichersystems
durch den Makro zu vermeiden. Diese Aufgabe lässt sich auch durch eine verbesserte
Schnittstelle und Kommunikation zwischen dem Speichersystem und
der Logikschaltung lösen.
-
Die
vorliegende Erfindung geht von der Verwendung einer neueren Art
Speichersystem aus, welches interne Signale zur Steuerung des Datenflusses
im Speichersystem verwendet, die üblicherweise als Sperrsignale
oder Datenleitungs-Pseudosignale
bezeichnet werden. In der US-Patentschrift 5 383 155 von Ta vom
7. Januar 1995 veranschaulicht eine Anwendung eines Designs auf
der Grundlage von Sperrsignalen.
-
Die
bislang nur innerhalb des Speichersystems und nur für Leseoperationen
verwendeten Sperrsignale werden bei der vorliegenden Erfindung zum
Erzeugen eines Systemsperrsignals verwendet, welches der Logikschaltung
mitteilt, wann das Speichersystem eine Leseoperation erfolgreich
abgeschlossen hat. Das Design der Logikschaltung wird so gestaltet,
dass diese Information zur Optimierung der Leistungsfähigkeit
des Makros mit eingebettetem Speicher benutzt werden kann.
-
Eine
weitere Aufgabe der Erfindung besteht darin, die Leistungsfähigkeit
des Makros mit eingebettetem Speicher während der Schreiboperation
zu verbessern. Das Design des Speichersystems wird so gestaltet,
dass es sowohl Schreib- als auch Leseoperationen überwachen
und ein Sperrsignal erzeugen kann, das anzeigt, wann eine Schreiboperation erfolgreich
abgeschlossen worden ist. Auf diese Weise kann das Speichersystem
der Logikschaltung eine Information über die Schreiboperation zur
Verfügung stellen
und ihr damit ermöglichen
ihre Schreib- und Lesezyklen entsprechend anzupassen.
-
Da
es ziemlich einfach ist, die Schreiboperation eines Speichersystems
mindestens genauso schnell wie die Leseoperation zu machen, war
früher in
den Speichersystemen nicht vorgesehen, Sperrsignale während der
Schreiboperation genauso einzusetzen wie während der Leseoperation. Ferner
bestand kaum Anlass, die Schreiboperation schneller zu machen als
die Leseoperation, wenn beide Operationen lediglich innerhalb einer
definierten Zugriffszeit abgeschlossen sein sollten.
-
Beim
bevorzugten Design der vorliegenden Erfindung verwendet die Logikschaltung
die durch das Speichersystem bereitgestellte Information über den
erfolgreichen Abschluss jeder einzelnen Lese-/Schreiboperation,
um die nachfolgende Speicheroperation zu beschleunigen oder zu verlangsamen.
-
Dadurch
wird der gesamte Makro in die Lage versetzt, ständig mit optimaler Geschwindigkeit
zu arbeiten. Das wiederum führt
zu einem System, das einem Makrodesign ohne eingebetteten Speicher auch
in dem Fall überlegen
ist, wenn das separate Speichersystem sorgfältig auf die Logikschaltung
abgestimmt wurde.
-
Der
Makro mit eingebettetem Speicher der vorliegenden Erfindung ändert seine
Leistung und passt sie für
jede einzelne Lese- oder Schreiboperation an, um eine optimale Anpassung
an die Leistung des Speichersystems zu erreichen. Die Anpassung erfolgt
unabhängig
davon, ob die veränderten
Leistungsparameter auf Schwankungen im Fertigungsprozess, auf Schwankungen
der Umgebungsbedingungen oder auf Schwankungen der Verarbeitungsgeschwindigkeit
einer Task in Abhängigkeit
davon, an welcher Stelle in der Speicherzellenmatrix des Speichersystems
die Daten gespeichert werden, zurückzuführen ist.
-
Weitergehende
Aufgaben und Vorteile der Erfindung werden durch die Beschreibung
deutlicher und klarer.
-
ÜBERBLICK ÜBER DIE
ERFINDUNG
-
Die
obigen und weitere Aufgaben und Vorteile, die für den Fachmann erkennbar sind,
werden durch die vorliegende Erfindung erreicht, welche gemäß einem
ersten Aspekt eine Makrovorrichtung mit eingebettetem Speicher betrifft,
die ein Halbleitersubstrat und ein zusammen mit einer Logikschaltung
auf dem Halbleitersubstrat aufgebautes Speichersystem umfasst. Das
Speichersystem beinhaltet eine Speicherzellenmatrix zur Datenspeicherung,
einen Datenausgang zur Bereitstellung der Daten nach dem Lesen aus
den Speicherzellen und einen Systemdatensperrausgang mit einem Systemdatensperrsignal, welches
das Vorhandensein oder das Fehlen von gültigen Daten am Datenausgang
anzeigt. Die Logikschaltung ist mit dem Datenausgang und dem Systemdatensperrausgang
verbunden und liest Daten am Datenausgang nur dann, wenn das Systemdatensperrsignal
das Vorliegen von gültigen
Daten am Datenausgang anzeigt.
-
Vorzugsweise
definiert die Logikschaltung Makrozyklen, während derer Daten aus dem Speichersystem
gelesen werden, und die Logikschaltung enthält einen Makroauswahlausgang
mit einem Makroauswahlsignal, das einen neuen Makrozyklus anzeigt.
Das Speichersystem ist mit dem Makroauswahlausgang verbunden und
setzt als Reaktion auf das Makroauswahlsignal das Systemdatensperrsignal
zurück,
um das Fehlen von gültigen
Daten am Datenausgang anzuzeigen.
-
Bevorzugt
ist ferner, dass das Speichersystem während eines Makrozyklus einen
Datenblock aus den Speicherzellen abruft und die Logikschaltung
Seitenzyklen definiert, während
derer ein Teil des aus dem Speichersystem abgerufenen Datenblocks
durch die Logikschaltung gelesen wird. Die Logikschaltung enthält einen
Seitenauswahlausgang mit einem Seitenauswahlsignal, das einen neuen Seitenzyklus
anzeigt, und das Speichersystem ist mit dem Seitenauswahlausgang
verbunden und setzt das Systemdatensperrsignal als Reaktion auf
das Seitenauswahlsignal zurück,
um das Fehlen gültiger Daten
am Datenausgang anzuzeigen.
-
Ferner
ist bevorzugt, dass das Seitenauswahlsignal einen ersten und einen
zweiten Zustand beinhaltet und während
eines Seitenzyklus abwechselnd vom ersten zum zweiten und vom zweiten
zum ersten Zustand übergeht;
und dass das Speichersystem das Systemdatensperrsignal zurücksetzt,
um das Fehlen gültiger
Daten während
mindestens eines der Zustandsübergänge des
Seitenauswahlsignals anzuzeigen.
-
Ferner
wird das Systemdatensperrsignal vorzugsweise von einer Pseudodatenleitung
im Speichersystem abgeleitet.
-
Ferner
ist bevorzugt, dass das Makroauswahlsignal einen ersten und einen
zweiten Zustand beinhaltet und während
eines Makrozyklus abwechselnd vom ersten zum zweiten und vom zweiten
zum ersten Zustand übergeht;
und dass das Speichersystem das Systemdatensperrsignal zurücksetzt,
um das Fehlen gültiger
Daten während
mindestens eines der Zustandsübergänge des
Seitenauswahlsignals anzuzeigen.
-
Ferner
ist bevorzugt, dass die Matrix der Speicherzellen in Zeilen und
Spalten organisiert ist, wobei jede Zeile eine entsprechende Pseudo-Sperrzelle
mit einer ausgewählten
Position in der entsprechenden Zeile aufweist, in welcher ein festes
Datenbit gespeichert ist; dass die Pseudo-Sperrzellen über eine
Steuerschaltung mit dem Systemdatensperrausgang verbunden sind;
dass das Systemdatensperrsignal einen ersten und einen zweiten Zustand beinhaltet,
welche das Vorhandensein oder das Fehlen gültiger Daten am Datenausgang
anzeigen; und dass die Position jeder Pseudo-Sperrzelle in der entsprechenden
Zeile und der Wert des festen Datenbits in jeder Pseudo-Sperrzelle
so gewählt
wird, dass das Systemdatensperrsignal mit Sicherheit seinen Zustand ändert, um
das Vorhandensein gültiger
Daten am Datenausgang anzuzeigen, nachdem die Daten aus der entsprechenden
Zeile am Datenausgang gültig
geworden sind.
-
Ferner
ist bevorzugt, dass das Speichersystem einen Wortdecoder zum Auswählen einer
bestimmten Zeile von Speicherzellen enthält, dass sich die Pseudo-Sperrzelle
der bestimmten Zeile von Speicherzellen an einem dem Wortdecoder
entgegengesetzten Ende der betreffenden Zeile von Speicherzellen
befindet und dass jede Speicherzelle in einer ausgewählten Zeile
mit einer entsprechenden Steuerschaltung mit einer Verzögerungszeit
für die von
der Speicherzelle durch die entsprechende Steuerschaltung laufenden
Daten verbunden ist; dass die Steuerschaltung für die Pseudo-Sperrzelle in
der ausgewählten
Zeile eine Verzögerungszeit
für den durch
die Steuerschaltung für
die Pseudo-Sperrzelle laufenden festen Datenwert aufweist; und dass
die Verzögerungszeit
der Steuerschaltung für
die Pseudo-Sperrzelle mindestens so lang ist wie die Verzögerungszeit
für jede
entsprechende Steuerschaltung. Ferner enthalten die Steuerschaltung
einen Leseverstärker,
einen Spaltendecoder und einen digitalen Zweitleseverstärker und
die Logikschaltung einen Makroauswahlausgang mit einem Makroauswahlsignal,
welches einen Makrozyklus anzeigt, während dessen Daten aus dem
Speichersystem gelesen werden; und ferner sind der Spaltendecoder
und der digitale Zweitleseverstärker
der Steuerschaltung mit dem Makroauswahlausgang verbunden und setzen nach
Empfang des Makroauswahlsignals das Systemdatensperrsignal zurück, um das
Fehlen gültiger Daten
am Datenausgang anzuzeigen.
-
Vorzugsweise
enthält
das Speichersystem ferner einen Dateneingang zum Empfangen von Daten
von der Logikschaltung, die in den Speicherzellen gespeichert werden
sollen; ferner enthält
die Logikschaltung einen mit dem Speichersystem verbundenen Schreibfreigabeausgang
mit einem Schreibfreigabesignal, welches dem Speichersystem anzeigt, dass
die am Dateneingang anliegenden Daten gespeichert werden sollen;
und ferner verwendet das Speichersystem das Systemdatensperrsignal,
um der Logikschaltung anzuzeigen, dass die Daten gültig in
die Speicherzellen geschrieben wurden.
-
Gemäß einem
zweiten Aspekt stellt die Erfindung eine Makrovorrichtung mit eingebettetem
Speicher bereit, welche Folgendes umfasst: ein Halbleitersubstrat;
ein auf dem Halbleitersubstrat untergebrachtes Speichersystem, wobei
das Speichersystem Folgendes umfasst: eine Matrix von Speicherzellen
zur Datenspeicherung, einen Dateneingang zum Speichern von Daten
in den Speicherzellen und einen Systemdatensperrausgang mit einem
Systemdatensperrsignal zum Anzeigen, dass am Dateneingang anliegende
Daten gültig
in die Speicherzellen geschrieben wurden; und eine zusammen mit
dem Speichersystem auf dem Halbleitersubstrat untergebrachte Logikschaltung,
die mit dem Dateneingang und dem Systemdatensperrausgang verbunden
ist, wobei die Logikschaltung erst dann neue Daten. zum Dateneingang
schickt, wenn das Systemdatensperrsignal anzeigt, dass die Daten
gültig
in die Speicherzellen geschrieben worden sind.
-
Bei
der besonders bevorzugten Ausführungsart
der Erfindung verwendet das Speichersystem das Systemdatensperrsignal
sowohl während Schreiboperationen
als auch während
Leseoperationen, um der Logikschaltung mitzuteilen, wann Daten gültig in
die Speicherzellen geschrieben worden sind.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
als neuartig angesehenen Merkmale der Erfindung und die für die Erfindung
charakteristischen Elemente werden insbesondere in den beiliegenden
Ansprüchen
dargelegt. Die Figuren dienen nur der Veranschaulichung und sind
nicht maßstabsgerecht.
Die Erfindung selbst lässt
sich bezüglich
der Anordnung und der Funktionsweise unter Bezug auf die folgende
detaillierte Beschreibung in Verbindung mit den beiliegenden Zeichnungen
verstehen, in denen:
-
1 ein
Blockschaltbild ist, welches ausgewählte Teile der Schnittstelle
zwischen einer Logikschaltung und einem Speichersystem zeigt, die
gemäß der vorliegenden
Erfindung aufgebaut sind;
-
2 ein
Zeitablaufdiagramm ist, welches ausgewählte Signale an verschiedenen
Punkten der Makrovorrichtung mit eingebettetem Speicher der vorliegenden
Erfindung während
einer Leseoperation zeigt;
-
3 ein
Zeitablaufdiagramm ist, welches ausgewählte Signale an verschiedenen
Punkten der Makrovorrichtung mit eingebettetem Speicher der vorliegenden
Erfindung während
einer Schreiboperation zeigt;
-
4 ein
Zeitablaufdiagramm ist, welches ausgewählte Signale an verschiedenen
Punkten der Makrovorrichtung mit eingebettetem Speicher der vorliegenden
Erfindung während
einer Lese-/Schreiboperation zeigt;
-
5 ein
Ausschnitt aus einem Blockschaltbild eines gemäß der vorliegenden Erfindung
aufgebauten Speichersystems ist, welcher den Datenfluss während Lese-
und Schreiboperationen zeigt.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSART(EN)
-
Bei
der Beschreibung der bevorzugten Ausführungsarten der vorliegenden
Erfindung wird Bezug genommen auf die 1 bis 5 der
Zeichnungen, in denen gleiche Bezugsnummern gleiche Merkmale der
Erfindung bezeichnen.
-
Ein
besseres Verständnis
der Erfindung lässt sich
durch die Betrachtung eines Speichersystems mit einer herkömmlichen
Schnittstelle nach dem Stand der Technik erlangen. Solche Speichersysteme
sind für
Leseoperationen und Schreiboperationen ausgelegt, die während einer
bestimmten Zugriffszeit auf das Speichersystem erfolgen. Nach der
Herstellung des Speichersystems wird dieses getestet und abgenommen,
damit es innerhalb bestimmter Funktionsparameter zum Lesen oder
Schreiben von Daten innerhalb der vorgegebenen Zugriffszeit verwendet wird.
-
Durch
die Wahl eines guten Designverfahrens kann der Entwickler eines
Speichersystem relativ einfach dafür sorgen, dass die Zykluszeit
für Schreiboperationen
mindestens so kurz ist wie für Leseoperationen;
deshalb kümmert
sich der Designer in erster Linie darum die Leistung der Leseoperation
zu verbessern und hatte bisher kaum Anlass gehabt, die Geschwindigkeit
der Schreiboperationen zu erhöhen,
wenn er nicht auch die Geschwindigkeit der Leseoperationen entsprechend
erhöhen
konnte.
-
Die
zum erfolgreichen Ausführen
einer Lese- oder Schreiboperation durch ein Speichersystem erforderliche
Zeit kann in weiten Grenzen schwanken. Diese Schwankungen lassen
sich jedoch im Allgemeinen auf drei unterschiedliche Faktoren zurückführen. Ein
Faktor („Prozessschwankungen") betrifft die Schwankungen
im Fertigungsprozess, die zu einer höheren oder niedrigeren Geschwindigkeit
des Speichersystems führen.
-
Ein
zweiter Faktor („Anwendungsschwankungen") betrifft die Schwankungen
bei den jeweiligen Anwendungs- und Betriebsbedingungen wie beispielsweise
der Umgebungstemperatur, unter welcher die Schaltung arbeitet, oder
der Spannung der Stromversorgung der Schaltung. Der dritte Faktor („Task-Schwankungen") betrifft die Schwankungen der
jeweiligen durch das Speichersystem ausgeführten Task, zum Beispiel, an
welcher Stelle in der Speichermatrix die Daten gespeichert werden
und wie weit der Speicherplatz von den Eingängen und Ausgängen des
Speichersystems entfernt ist.
-
Sowohl
bei eingebetteten als auch bei separaten Speichersystemen durchlaufen
die Daten auf dem Weg zwischen den Dateneingängen/-ausgängen und den Speicherzellen,
in denen sie gespeichert werden, sequentiell mehrere Zwischenstufen. Bei
diesen Zwischenstufen kann es sich um Datenregister zur Signalzwischenspeicherung,
um Verstärker zur
Stabilisierung am Ausgang usw. handeln. Die Daten müssen über interne
Datenleitungen laufen, deren Zustandsänderung Zeit in Anspruch nimmt,
und im Speichersystem können
noch andere interne Verarbeitungsschritte wie beispielsweise Adressvergleiche
ablaufen, bevor die Daten schließlich an ihrem Ziel ankommen.
-
Eine ähnliche
Schrittfolge tritt während
einer Schreiboperation auf.
-
Die
kumulative Verzögerung
aus all diesen Schritten, die sich aus den durch die drei Faktoren bestimmten
Einzelverzögerungen
ergibt, ist für
die Gesamtzeit zum Ausführen
einer Lese- oder Schreiboperation maßgebend. Der Entwickler eines
Speichersystems muss auf den zeitlichen Verlauf jedes Einzelschritts
bei der Verarbeitung der Daten Acht geben, wenn diese zu oder von
den vorgesehenen Speicherzellen gelangen, um sicherzustellen, dass jeder
Schritt so lange wartet, bis der vorangehende Schritt erfolgreich
abgeschlossen wurde. Wenn ein Schritt zu zeitig einsetzt, werden
ungültige
Daten aus dem vorangehenden Schritt verarbeitet, und die Operation
schlägt
schließlich
fehl.
-
Bei älteren Ausführungen
von Speichersystemen haben die Entwickler Verzögerungszeiten eingefügt, nach
denen erst der nächste
Schritt zugelassen wurde. Bei der Wahl der Verzögerungszeit wurde von der größtmöglichen
Verzögerung
(Worst-Case-Verzögerung)
im vorangehenden Schritt ausgegangen, damit sichergestellt wurde,
dass vor Beginn des nächsten
Prozessschrittes gültige
Daten angekommen waren.
-
Ein
spezielles Beispiel hierfür
ist die Verzögerungszeit,
welche erforderlich ist, um ein in der am weitesten entfernten Speicherzelle
gespeichertes Datenbit mit unbekanntem Wert erfolgreich abzurufen.
Eine zu dieser entfernten Zelle führende Datenleitung hat einen
binären
Anfangszustand, den die Datenleitung ändern muss, wenn der unbekannte Datenwert
den entgegengesetzten Binärzustand
aufweist; dies dauert länger,
als wenn die Leitung ihren Zustand nicht zu ändern brauchte. Je weiter die
Speicherzelle entfernt ist, desto länger dauert die Zustandsänderung.
-
Um
derartige Probleme zu vermeiden, haben die Entwickler von Speichersystemen
eine relativ lange konstante Verzögerungszeit eingefügt, bevor
die abgerufenen Daten auf einer Datenleitung verwendet werden konnten.
Die Verzögerungszeit
wurde ausreichend lang gewählt,
um auch die Fälle
zu berücksichtigen,
dass die Daten sich auf dem am weitesten entfernten Speicherplatz
befinden und dass es sich um Daten handelt, welche den Zustand der
Datenleitung ändern
müssen.
-
Diese
Verzögerungszeit
war wesentlich länger
als für
die meisten Fälle
erforderlich, bei denen sich die Daten auf näher gelegenen Speicherplätzen befinden.
Wenn mehrere Schritte eine solche Worst-Case-Verzögerung aufweisen,
summieren sich diese Einzelverzögerungen
und führen
zu einer Gesamtleistung des Speichersystems, die weit unter dem
Optimum liegt.
-
Zur
Leistungsverbesserung wurden in neueren Speichersystemen in einem
oder mehreren Schritten der Leseoperation Sperrsignale verwendet. Beim
Design mit Sperrsignalen ist das Speichersystem so aufgebaut, dass
parallel zu einer oder mehreren zu überwachenden realen Operationen
eine Pseudooperation abläuft.
Diese Pseudooperation ähnelt
den realen Operationen, die sie überwachen
soll, möglichst
weitgehend, und dauert auf jeden Fall mindestens so lange, bis die
längste
zu überwachende reale
Operation abgeschlossen ist.
-
Die
realen und die Pseudooperationen sind von Prozess- und Anwendungsschwankungen
in gleichem Maße
betroffen, sodass die dadurch bedingten internen Leistungsschwankungen
automatisch ausgeglichen werden. Im Ergebnis der Überwachung
der Pseudooperation wird das (auch als Pseudo-Datenleitungssignal
bezeichnete) Sperrsignal erzeugt. Nach erfolgreicher Beendigung
der Pseudooperation ist bekannt, dass auch alle entsprechenden realen
Operationen erfolgreich abgeschlossen sind. Da es für jede überwachte
Task eine unterschiedliche Pseudooperation gibt, läuft eine
schnelle Task (zum Beispiel das Abrufen von Daten von einem nähergelegenen
Speicherplatz) automatisch schneller, und der nächste Schritt im Speichersystem
kann sofort erfolgen.
-
Es
ist klar, dass Sperrsignale zur Überwachung
sehr unterschiedlicher Tasks verwendet werden können, die in einem Speichersystem
vorkommen. Im Idealfall wird jeder Schritt bei der Verarbeitung
der Daten durch die Pseudooperation zur Überwachung des vorangehenden
Schrittes gesperrt. Die erfolgreiche Beendigung des vorangehenden
Schrittes löst
den Start des nachfolgenden Schrittes zum frühestmöglichen Zeitpunkt aus.
-
Ein
derartiges Design auf Grundlage von Sperrsignalen ermöglicht zwar
einen optimalen Betrieb des Speichersystems und eine möglichst schnelle
Bereitstellung der Daten aus dem Speicher an den Ausgängen, jedoch
war das Speichersystem aufgrund seiner standardisierten Schnittstelle
bisher nicht in der Lage, der Logikschaltung mitzuteilen, dass die
Leseoperation erfolgreich abgeschlossen wurde.
-
Obwohl
durch das Sperrsignal sichergestellt wird, dass die Daten so schnell
wie möglich
an den Ausgängen
ankommen, wirkt es sich auf die Gesamtleistung nicht vorteilhaft
aus, wenn sie vor der festgelegten Zugriffszeit des Speichersystems ankommen. Ferner
gibt es keine Möglichkeit,
der Logikschaltung mitzuteilen, dass sie zu warten hat, wenn die
festgelegte Zugriffszeit des Speichersystems bei extremen Betriebsbedingungen,
z.B. bei Unterspannung und hoher Umgebungstemperatur, mit Sicherheit überschritten
wird.
-
Im
ersten Fall muss die Logikschaltung warten, obwohl die Daten bereits
zur Verfügung
stehen, und im zweiten Fall verarbeitet die Logikschaltung ungültige Daten,
obwohl dem Speichersystem aufgrund des letzten Sperrsignals bekannt
ist, dass die Daten noch nicht zur Verwendung bereitstehen.
-
1 ist
ein Blockschaltbild, das eine Logikschaltung 10 und ein
Speichersystem 12 gemäß der vorliegenden
Erfindung zeigt, die auf einem (nicht gezeigten) gemeinsamen Substrat
untergebracht sind. Die beiden Schaltungen 10, 12 stehen über eine Schnittstelle
miteinander in Verbindung, die eine Anzahl von Ein- und Ausgängen (E/A)
mit der allgemeinen Bezugsnummer 14 umfasst.
-
Die
in 1 gezeigten Ein- und Ausgänge beinhalten:
Makroauswahl
(MSN) 16,
Seitenauswahl (PGN) 18,
Schreibfreigabe
(WN) 20,
Daten Ein (DI) 22,
Daten Aus
(DO) 24, und
Systemdatensperrsignal (DDL/SDI) 26.
-
Die
ersten fünf
(MSN, PGN, WN, DI und DO) der oben aufgeführten Signale stellen einen
Teil einer umfassenderen Standardschnittstelle dar, die zusätzlich auch
weitere Dateneingangsleitungen (entsprechend DI 22), weitere
Datenausgangsleitungen (entsprechend DO 24) und Adressleitungen
enthält.
Diese Leitungen, die es auch in einer gemäß der vorliegenden Erfindung
aufgebauten Vorrichtung gibt, werden jedoch nicht dargestellt, da
ihre Funktionen bekannt sind und bei der vorliegenden Anwendung
unverändert
bleiben.
-
Das
Systemdatensperrsignal DDL/SDI 26 stellt eine zusätzliche
Leitung dar, die bei der Schnittstelle nach dem Stand der Technik
nicht vorkommt, und eben diese zusätzliche Leitung ermöglicht die Leistungssteigerung
durch die vorliegende Erfindung, wenn dafür gesorgt wird, dass dieses
Signal durch geeignete Änderungen
an der Logikschaltung und am Speichersystem zur Verfügung gestellt
und genutzt werden kann.
-
Die
Schreibfreigabeleitung (WN) 20 ist ein Eingang des Speichersystems 12, über den
die Logikschaltung dem Speichersystem mitteilt, ob es sich beim
aktuellen Zyklus um eine Schreiboperation oder um eine Leseoperation
handelt.
-
Während einer
Schreiboperation legt die Logikschaltung ein Datenbit auf die Dateneingangsleitung
DI 22. Normalerweise gibt es auch zahlreiche weitere Dateneingangsleitungen,
sodass nicht nur ein einzelnes Datenbit auf DI 22, sondern
ein ganzer Datenblock geschrieben werden kann. Die Logikschaltung
ist auch dafür
zuständig,
auf den (nicht dargestellten) Adressleitungen die Adresse anzugeben, an
der die Daten gespeichert werden sollen.
-
Während einer
Leseoperation liest die Logikschaltung ein Datenbit von der Datenausgangsleitung
DO 24 (und von weiteren der DO 24 entsprechenden
Datenausgängen).
Auch hier ist die Logikschaltung dafür zuständig, auf den (nicht dargestellten)
Adressleitungen die Adresse anzugeben, von der die Daten abgerufen
werden sollen.
-
Das
Makroauswahlsignal (MSN) 16 wird in das Speichersystem 12 eingegeben
und dient der Logikschaltung zum Anzeigen, dass eine neue Lese- oder
Schreiboperation beginnt. Die Logikschaltung ist für die richtige
Einstellung der Schreibfreigabeleitung WN zuständig (um dem Speichersystem 12 anzuzeigen,
dass es sich um einen Lese- oder Schreibzyklus handelt), indem sie
entweder die richtige Adresse auf die Adressleitungen legt oder
sich auf den neuen Zyklus vorbereitet, bevor sie zum Starten eines
neuen Zyklus den Zustand der MSN-Leitung ändert.
-
Bei
einem Design nach dem Stand der Technik hätte der Entwickler der Logikschaltung
die festgelegte Zugriffszeit des Speichersystems abwarten müssen, bevor
das MSN-Signal zum Starten eines neuen Lese- oder Schreibzyklus
verwendet wird. Der Entwickler des Speichersystems hätte dafür sorgen müssen, dass
innerhalb der festgelegten Zugriffszeit nach dem Anzeigen des Starts
eines neuen Zyklus durch das Signal MSN entweder während einer
Leseoperation gültige
Daten an den Datenausgängen
vorliegen oder dass eine Schreiboperation erfolgreich abgeschlossen
worden ist.
-
Bei
der vorliegenden Erfindung überwacht die
Logikschaltung das Systemdatensperrsignal DDL/SDI. Dieses (von internen
Sperrsignalen des Speichersystems abgeleitete) Signal wird durch
das Speichersystem ausgegeben und zeigt an, wann eine Leseoperation
und vorzugsweise auch eine Schreiboperation erfolgreich abgeschlossen
worden ist. wenn das Signal DDL/SDI seinen Zustand ändert, kann
die Logikschaltung mit einem neuen Zyklus fortfahren.
-
Das
Seitenauswahlsignal PGN 18 wird auch in das Speichersystem 12 eingegeben
und dient ebenso wie das Signal MSN zum Anzeigen eines neuen Lese-
oder Schreibzyklus. Wenn das Signal MSN einen neuen Lesezyklus anzeigt,
ruft das Speichersystem während
einer Leseoperation einen internen Datenblock ab, der die Anzahl
der mit der Logikschaltung verbundenen Datenausgänge überschreitet. Dieser Datenblock
wird durch das Speichersystem intern gespeichert und kann schnell
abgerufen werden, allerdings steht aufgrund der begrenzten Anzahl
von Ausgängen
zu jedem Zeitpunkt nur ein Teil der eine Datenseite ausmachenden
Daten zur Verfügung.
-
Wenn
bei der nächsten
Leseoperation Daten gelesen werden, die in der Nähe der während der vorangehenden Operation
gelesenen Daten liegen, d.h. wenn die höherwertigen Bits der Adresse
mit denen der vorangehenden Datenleseoperation übereinstimmen, sind die neu
zu lesenden Daten Teil des zuvor gelesenen Datenblocks und können daher
schneller erreicht werden, als wenn ein neuer Datenblock gelesen
werden müsste.
In diesem Fall kann über
das interne Register sehr schnell auf eine neue Datenseite zugegriffen
werden, indem zum Zeigen auf die neue Datenseite die niedrigerwertigen
Adressbits geändert und
dann der Zyklus nicht mit dem Signal MSN, sondern mit dem Signal
PGN fortgesetzt wird.
-
2 bis 4 zeigen
die Signale auf den Leitungen der in 1 dargestellten
Schnittstelle während
einer Leseoperation (2), während einer Schreiboperation
(3) und während
einer kombinierten Schreib-/Leseoperation (4).
-
In 2 wechselt
der Zustand des Signals MSN zum Zeitpunkt 28, um den Start
einer Leseoperation in einem neuen Makrozyklus anzuzeigen. Vor diesem
Zeitpunkt hat die Logikschaltung die zu lesende Adresse auf die
Adressleitungen gelegt und das Schreibfreigabesignal WN (zum Zeitpunkt 30) auf
HIGH gesetzt, um anzuzeigen, dass es sich nicht um eine Schreiboperation,
sondern um eine Leseoperation handelt.
-
Sobald
das Speichersystem 12 die Zustandsänderung des Signals MSN zum
Zeitpunkt 28 erkannt hat, ermittelt es die für den Zugriff
vorgesehene Adresse, ruft Daten von diesem Speicherplatz ab und
legt die abgerufenen Daten zum Zeitpunkt 32 auf die Datenausgangsleitung
DO. Sobald das Speichersystem ermittelt hat, dass die Daten auf
der Datenausgangsleitung DO gültig
geworden sind, ändert es
kurz danach den Zustand des Systemdatensperrsignals auf der DDL/SDI-Leitung 26.
Das geschieht zum Zeitpunkt 34.
-
Das
Systemdatensperrsignal zeigt der Logikschaltung 10 an,
dass die Daten nun gültig
sind und sicher vom Datenausgang DO gelesen werden können. Bei
einigen Ausführungsformen
der vorliegenden Erfindung kann das Systemdatensperrsignal von einem
einzelnen Sperrsignal wie beispielsweise vom Pseudo-Datenleitungssignal
abgeleitet werden, das bei Speichersystemen nach dem Stand der Technik auf
der Grundlage von Sperrsignalen zur Überwachung der Leseoperation
verwendet wird.
-
Bei
anderen Ausführungsarten
der vorliegenden Erfindung kann das Systemdatensperrsignal in der
oben beschriebenen Weise vom letzten Sperrsignal einer Reihe von
Sperrsignalen abgeleitet werden. Ferner kann noch eine Bearbeitung
des Signals stattfinden, das Signal kann zusätzlich verzögert werden, oder es können andere
Kombinationen und Änderungen
der Sperrsignale nach dem Stand der Technik verwendet werden, um
schließlich
das Systemdatensperrsignal zu erzeugen.
-
Unabhängig davon,
wie der Entwickler des Makros das Systemdatensperrsignal DDL/SDI
erzeugt, zeigt dieses Signal der Logikschaltung durch seine Zustandsänderung
an, dass die am Ausgang anliegenden Daten gültig sind und die Logikschaltung
mit dem Lesen der Daten fortfahren und einen neuen Lesezyklus beginnen
kann.
-
Die
Schrägstriche
beim Dateneingangssignal und bei Teilen des Schreibfreigabesignals
WN zeigen lediglich an, dass der Signalzustand auf diesen Leitungen
während
dieser Zeiten für
das Speichersystem ohne Bedeutung ist.
-
Zum
Zeitpunkt 36 setzt die Logikschaltung das Schreibfreigabesignal
WN auf HIGH und legt eine neue Adresse auf die Adressleitungen.
Genau zu diesem Zeitpunkt startet die Logikschaltung eine neue Leseoperation.
Diese Leseoperation ist ein neuer Seitenzyklus, während dessen
eine neue Datenseite gelesen werden soll, und kein neuer Makrozyklus,
während
dessen ein ganz neuer Datenblock gelesen wird.
-
Das
Lesen einer neuen Datenseite wird zum Zeitpunkt 38 in 2 durch
Zustandsänderung
des Signals PGN gestartet. Während
des zum Zeitpunkt 28 gestarteten Makrozyklus hat das Speichersystem einen
Datenblock abgerufen, der größer ist
als die Anzahl der Daten, die über
die Datenausgänge
ausgegeben werden können.
Während
dieses Seitenzyklus wird ein weiterer Teil bzw. eine weitere Seite
dieses großen
Datenblocks ausgegeben.
-
Die
Logikschaltung braucht nur die niederwertigen Bits auf den Adressleitungen
zu ändern,
um die WN-Leitung für
den Lesezyklus einer neuen Datenseite einzurichten. Um Daten von
einem wesentlich weiter entfernten Speicherplatz zu lesen, müsste die
Logikschaltung die höherwertigen
Bits auf der Adressleitung ändern,
und der Lesezyklus würde durch
Starten eines neuen Makrozyklus durch das Signal MSN begonnen.
-
Wenn
der Zustand des Seitenauswahlsignals PGN auf Leitung 18 zum
Zeitpunkt 38 geändert wird,
setzt das Speichersystem das Signal DDL/SDI zum Zeitpunkt 40 zurück. Dadurch
wird die Systemdatensperrleitung zurückgesetzt, sodass zum Zeitpunkt 42 durch
die nächste Änderung
der Logikschaltung angezeigt werden kann, dass am Datenausgang DO
auf der Leitung 24 wieder gültige Daten anliegen.
-
Obwohl
dies in 2 nicht gezeigt ist, können weitere
Datenseiten aus dem Speichersystem gelesen werden, indem die Seitenauswahlleitung PGN
gesetzt und wieder zurückgesetzt
und sichergestellt wird, dass jedes Mal die richtigen Adress- und WN-Signale
vorliegen. Jedes Mal, wenn die PGN-Leitung durch eine Zustandsänderung
(zum Zeitpunkt 38) einen neuen Seitenzyklus anzeigt, wird das
Signal DDL/SDI zurückgesetzt
(zum Zeitpunkt 40). In jedem Fall wartet die Logikschaltung
so lange, bis der Zustand des Signals DDL/SDI wechselt (zu den Zeitpunkten 34 und 42)
und anzeigt, dass die Daten am Ausgang jetzt gültig sind und die Logikschaltung
mit der Verarbeitung fortfahren kann.
-
Wenn
ein sehr großer
Datenblock nacheinander gelesen werden soll, wird der gesamte Datenblock
seitenweise gelesen, indem das PGN-Signal zyklisch geändert wird
und die niederwertigen Bits der Adresse geändert werden. Und schließlich muss die
Logikschaltung möglicherweise
noch Daten lesen, die während
des zum Zeitpunkt 28 begonnenen Makrozyklus noch nicht
gelesen worden sind. Dann muss ein neuer Makrozyklus zum Abrufen
neuer Daten gestartet werden, die dann seitenweise gelesen werden
können.
-
Zur
Beendigung des aktuellen Makrozyklus werden sämtliche Leitungen MSN, PGN
und DDL/SDI zurückgesetzt.
Zu den Zeitpunkten 44 und 46 ändert sich der Zustand der
Signale MSN und PGN. Zum Zeitpunkt 48 wird als Reaktion
auf das Zurücksetzen
der Signale MSN und PGN das Sperrsignal DDL/SDI zurückgesetzt.
-
Unter
Bezug auf 2 ist die Funktionsweise der
vorliegenden Erfindung während
eines Lesezyklus beschreiben worden, und einige Ausführungsarten
der Erfindung können
die beschriebene DDL/SDI-Operation im Quittungsbetrieb nur während Leseoperationen
einsetzen. Der Quittungsbetrieb beginnt speziell damit, dass die
Logikschaltung durch die Signale MSN oder PGN eine Leseoperation
anfordert. Das Speichersystem antwortet darauf mit dem Sperrsignal
DDL/SDI, wenn Daten bereitstehen, und die Logikschaltung fordert
das Speichersystem auf, das Signal DDL/SDI zurückzusetzen, indem sie entweder
zum Zeitpunkt 38 durch das Signal PGN einen neuen Lesezyklus
startet oder zum Zeitpunkt 44 den Zustand des Signals MSN ändert.
-
Durch
das Lesen in Seitenzyklen erfolgt die gesamte Leseoperation im Allgemeinen
wesentlich schneller als durch das lesen in Makrozyklen. Ferner nehmen
manche Leseoperationen des Makrozyklus aufgrund der unterschiedlichen
Speicherplätze
und der unterschiedlichen Abstände
dieser Speicherplätze
von den Ausgängen
unterschiedlich viel Zeit in Anspruch. Unabhängig von der Ursache der Schwankungen
zeigt jedoch das Signal DDL/SDI an, wann die Daten gültig werden,
sodass die Logikschaltung in die Lage versetzt wird, sofort mit
der Nutzung der Daten fortzufahren.
-
Selbst
wenn der Makro mit eingebettetem Speicher jenseits der vorgeschriebenen
Arbeitsparameter betrieben wird, zum Beispiel bei sehr hohen Temperaturen
oder sehr niedrigen Spannungen, kann der Makro weiter funktionieren,
da der Logikschaltung mitgeteilt wird, dass sie auf gültige Daten warten
soll. Dadurch nehmen die Betriebssicherheit des Makros sowie die
Arbeitsgeschwindigkeit unter Normalbedingungen zu, und der Makro
läuft stets
optimal.
-
Der
oben beschriebene Quittungsbetrieb wird durch herkömmliche
Logikelemente in der Logikschaltung 10 und im Speichersystem 12 realisiert. Die
Logikschaltung wartet einfach auf das Signal auf der DDL/SDI-Leitung 26,
bevor sie beim nächsten Taktsignal
die nächste
Operation startet.
-
Das
Speichersystem muss nur zu einem geeigneten Zeitpunkt das Signal
DDL/SDI zurücksetzen,
was entweder zum Zeitpunkt 38 durch das Seitenauswahlsignal
oder zum Zeitpunkt 44 durch das Makroauswahlsignal erfolgen
kann.
-
Obwohl
sich manche Entwickler dafür
entscheiden können,
die Erfindung nur zur Leistungssteigerung von Leseoperationen zu
verwenden, wird das Speichersystem 12 bei einer weiterentwickelten und
noch stärker
bevorzugten Ausführungsart
der Erfindung mit einem internen Verfahren zur Ermittlung des Zeitpunktes
ausgestattet, wann Schreiboperationen erfolgreich abgeschlossen
sind. Bei diesen Ausführungsarten
erhält
das Speichersystem ein internes Schreibsperrsignal, das dem oben
beschriebenen Lesesperrsignal entspricht. Das Schreibsperrsignal
zeigt an, wann eine Schreiboperation erfolgreich Daten geschrieben
hat, sodass die Logikschaltung mit einer neuen Schreib- oder Leseoperation
beginnen kann.
-
3 zeigt
die Funktionsweise einer bevorzugten Ausführungsart des Systems, bei
welchem in das Speichersystem 12 eine Schreiboperationssperre
eingebaut ist.
-
Zum
Zeitpunkt 50 beginnt ein neuer Makrozyklus, während dessen
eine Schreiboperation durchgeführt
wird. Sofort nach der Zustandsänderung
des Makroauswahlsignals zum Zeitpunkt 50 wird das Schreibfreigabesignal
WN auf LOW gesetzt (um anzuzeigen, dass es sich hier um eine Schreiboperation
handelt). Dieser Zustand LOW des Schreibfreigabesignals zum Zeitpunkt 50 kann
mit dem Zustand HIGH des Schreibfreigabesignals zum Zeitpunkt 30 in 2 (während einer
Leseoperation) verglichen werden.
-
Vor
der Zustandsänderung
des Makroauswahlsignals zum Zeitpunkt 50 werden die zu
schreibenden Daten zum Zeitpunkt 54 zum Dateneingang DI
geschickt. Vor diesem Zeitpunkt spielt es keine Rolle, welche Daten
sich am Dateneingang DI befinden (durch die Schrägstriche vor dem Zeitpunkt 54 angezeigt).
Ebenso wie bei der Leseoperation schickt die Logikschaltung die
entsprechende Adresse zu den Adressleitungen, um dem Speichersystem mitzuteilen,
wo die Daten abzuspeichern sind.
-
Der Übergang
des Makroauswahlsignals zum Zeitpunkt 50 bewirkt, dass
das Speichersystem 12 die am Dateneingang DI anliegenden
Daten auf dem durch die Adresse angegebenen Speicherplatz abspeichert.
Sobald die Daten erfolgreich geschrieben worden sind, teilt das
Speichersystem 12 dies zum Zeitpunkt 56 über die
DDL/SDI-Leitung mit.
-
Wenn
die Logikschaltung 10 die Zustandsänderung der DDL/SDI-Leitung erkennt,
kann sie mit einer nachfolgenden Schreib- oder Leseoperation fortfahren. Das
Zurücksetzen
des Systemdatensperrsignals und das Abarbeiten der Seitenzyklen
zum Schreiben der Daten erfolgen so, wie in Verbindung mit der Leseoperation
beschrieben.
-
Ein
Seitenzyklus beginnt zum Zeitpunkt 58 durch Zustandsänderung
des Signals PGN. Ebenso wie bei Lesen einer Seite muss die Logikschaltung vor
diesem Zeitpunkt das Schreibfreigabesignal setzen und die Adresse
angeben. Die zu schreibenden Daten müssen ebenso wie beim Makroschreibzyklus zu
den Dateneingängen
geschickt werden. Das Schreibfreigabesignal wird zum Zeitpunkt 60 auf LOW
gesetzt. Die während
dieses Seitenzyklus zu schreibenden Daten werden zum Zeitpunkt 62 zum Dateneingang
geschickt.
-
Wenn
der Zustand des Seitenauswahlsignals zum Zeitpunkt 58 geändert wird,
setzt das Speichersystem 12 sofort zum Zeitpunkt 64 die DLL/SDI-Leitung
zurück.
Sobald die Datenseite erfolgreich geschrieben wurde, teilt das Speichersystem
dies durch Zustandsänderung
der DDL/SDI-Leitung zum Zeitpunkt 66 der Logikschaltung
mit.
-
Dann
kann während
weiterer Seitenzyklen auf neue Adressen geschrieben werden, die
sich von den obigen Schreiboperationen nur durch die niederwertigen
Bits unterscheiden. Wenn die höherwertigen
Bits in der Adresse geändert
werden müssen, muss
durch Zustandsänderung
des Makroauswahlsignals zum Zeitpunkt 68 ein neuer Makrozyklus
gestartet werden. Dadurch wird das Systemdatensperrsignal DDL/SDI
zum Zeitpunkt 70 zurückgesetzt,
und der Prozess wird mit einem neuen Makrolese- oder -schreibzyklus
fortgesetzt.
-
4 zeigt,
wie während
eines einzigen Makrozyklus eine kombinierte Schreib-/Leseoperation mit
einer oder mehreren Datenseiten durchgeführt werden kann. Zuerst wird
eine Datenseite geschrieben und unmittelbar danach eine Datenseite
gelesen.
-
Zum
Zeitpunkt 72 beginnt ein neuer Makrozyklus. Die Schreibfreigabeleitung
WN zeigt diesen zum Zeitpunkt 74 als Schreiboperation an,
und die zu schreibenden Daten werden zum Zeitpunkt 76 zur DI-Leitung
geschickt. Zum Zeitpunkt 78 zeigt die DDL/SDI-Leitung eine
erfolgreiche Beendigung der Schreiboperation an. Dann entscheidet
sich die Logikschaltung, eine Datenseite zu lesen, schaltet zum Zeitpunkt 80 den
Zustand der Leitung WN um und startet zum Zeitpunkt 82 einen
neuen Seitenzyklus. Daraufhin setzt das Speichersystem zum Zeitpunkt 84 die
Leitung DDL/SDI zurück
und beginnt mit der Leseoperation.
-
Sobald
die Daten gelesen sind, schickt das Speichersystem die Daten zum
Zeitpunkt 86 zum Datenausgang und teilt der Logikschaltung
zum Zeitpunkt 88 durch Zustandsänderung der DDL/SDI-Leitung
mit, dass die Daten nun gültig
sind und verwendet werden können.
Ebenso wie zuvor bewirken die Zustandsänderung des Makroauswahlsignals
MSN und/oder des Seitenauswahlsignals PGN zu den Zeitpunkten 90 bzw. 92,
dass das Systemdatensperrsignal zum Zeitpunkt 94 zurückgesetzt
wird.
-
Das
Blockschaltbild in 5 veranschaulicht einen Teil
eines zur Verwendung in der vorliegenden Erfindung geeigneten Speichersystems.
Jedes im Speichersystem zu speichernde Binärdatenbit wird in einer separaten
Speicherzelle mit der Bezeichnung „Normalzelle" gespeichert. Die
Speicherzellen sind in Zeilen und Spalten angeordnet, sodass sich
die Speicherzelle 100 in der äußersten rechten Spalte der oberen
Zeile von 5 befindet. Die Speicherzelle 102 befindet
sich in derselben Zeile wie die Speicherzelle 100, jedoch
in der benachbarten Spalte. Die Speicherzelle 104 befindet
sich in derselben Spalte wie die Speicherzelle 100, jedoch
in einer anderen Zeile.
-
Obwohl
in 5 nur drei Zeilen und vier Spalten dargestellt
sind, ist klar, dass die Anzahl der Zeilen und die Anzahl der Spalten
in einem großen Speichersystem
sehr groß ist.
Zum Beispiel kann ein modernes Speichersystem 2000 Zellen
in einer einzelnen Zeile haben. Während einer Leseoperation werden
die höherwertigen
Bits in den Adressen durch den lokalen Wortdecoder 112 decodiert,
um die Zeile zu identifizieren, in welcher die gewünschten
Daten enthalten sind. Bei diesem Beispiel wird angenommen, dass
dies die erste Zeile ist. Diese Zeile enthält die Speicherzellen 100, 102, 106 und 108 und
eine Pseudo-Sperrzelle 110 auf der äußersten linken Seite vom lokalen
Wortdecoder 112 am weitesten entfernt.
-
Durch
das Signal MSN werden die Leseverstärker 114, 116, 118, 120 und 122 aktiviert,
die Daten in der Zeile zu lesen, die durch die vom lokalen Wortdecoder 112 decodierten
höherwertigen
Bits der Adresse identifiziert wurden. Somit lesen die Leseverstärker 114, 116, 118, 120 und 122 die
entsprechenden Speicherzellen 100, 102, 106, 108 und 110. Die
Daten aus der normalen Speicherzelle 100 kommen im Leseverstärker 114 an,
bevor die Daten aus den Normalzellen 102, 106 und 108 in
ihren entsprechenden Leseverstärkern
ankommen.
-
Der
Leseverstärker 122 jedoch,
welcher der Pseudo-Sperrzelle 110 entspricht, ändert als
letzter seinen Zustand, nachdem alle anderen Normalzellen gelesen
wurden und nachdem alle entsprechenden Leseverstärker ihren Zustand geändert haben,
um ihn auf die Daten in ihren jeweiligen Zellen abzustimmen.
-
Der
in der Pseudo-Sperrzelle 110 gespeicherte Datenwert ist
ein vordefiniertes Datenbit, das so gewählt wird, dass sich der Zustand
des Leseverstärkers 122 immer
dann ändert,
wenn die Pseudozelle gelesen wird. Wenn sich der Zustand des Leseverstärkers 122 ändert, weiß man, dass
alle anderen Leseverstärker
gültige
Daten enthalten. In diesem Augenblick dienen die Leseverstärker als
eine Art internes Register, in welchem die Daten in der entsprechenden
Adresszeile gespeichert sind. Das können gemäß dem oben Gesagten 2048 Datenbits
sein.
-
Normalerweise
enthält
das Speichersystem jedoch nicht 2048 Datenausgänge, sondern kann nur 256 oder
weniger Ausgänge
enthalten. Die Spaltendecoder 124, 126, 128 und 130 dienen
zur Decodierung der niederwertigen Adressbits und zur Auswahl eines
Teils der Speicherzellen in der ausgewählten Zeile. Wenn es 256 Datenausgänge und
in einer Zeile 2048 normale Speicherzellen gibt, gibt es 2048 Leseverstärker (ohne
die Pseudo-Sperrzelle 110 und den zugehörigen Leseverstärker 122).
Hingegen gibt es nur 256 Spaltendecoder, wobei jeder Spaltendecoder
mit acht separaten Leseverstärkern
verbunden ist.
-
Die
niederwertigen Adressbits bestimmen, welcher Leseverstärker durch
den Spaltendecoder ausgewählt
wird, und nach dieser Auswahl übertragen
die digitalen Zweitleseverstärker 132, 134, 136 und 138 die
ausgewählten
Daten über
die Datenleitungen 140, 142, 144 und 146 in
das Register 148.
-
Der
mit dem Leseverstärker 122 verbundene Spaltendecoder 150 in
der Spalte mit den Pseudo-Sperrzellen übt eigentlich keine Decoderfunktion aus.
Im Grunde ist er eher den Spaltendecodern 124 bis 130 ähnlich,
sodass die Verzögerung
beim Transport des Signals vom Leseverstärker 122 über den
digitalen Zweitleseverstärker 152 im
Wesentlichen der Verzögerung
identisch ist, die durch die Spaltendecoder 124 bis 130 verursacht
wird.
-
Auf
diese Weise zeigt der Wert am Ausgang des digitalen Zweitleseverstärkers 152 an,
wann das Register 148 erfolgreich geladen wurde. Die Daten aus
den Zeilen, die sich sehr nahe am Register 148 befinden,
bewirken einen frühzeitigen Übergang der DDL/SDI-Leitung,
während
die Daten in den weiter entfernten Zeilen länger brauchen. Da die DDL/SDI-Leitung 154 den
Datenleitungen 140 bis 146 entspricht, aber Pseudodaten
aus einer Pseudo-Sperrzelle transportiert, wird sie oft auch als Pseudodatenleitung
bezeichnet.
-
Die
Leitung 154 ist als DDL/SDI bezeichnet worden, es ist jedoch
klar, dass das Binärsignal
auf dieser Leitung weiter verarbeitet werden kann, bevor das auf
der Leitung 26 von 1 übertragene
Systemdatensperrsignal erzeugt wird.
-
Die
Kombination eines Leseverstärkers,
eines Spaltendecoders und eines digitalen Zweitleseverstärkers kann
allgemein als Steuerschaltung für den
Transport von Daten von und zu den Speicherzellen angesehen werden.
Diese Steuerschaltung weist eine Verzögerungszeit auf, die zum Teil
vom Ort der Speicherzelle und zum Teil von den Anwendungs- und Prozessschwankungen
abhängt.
Die Steuerschaltung für
die Pseudodaten ist so ausgelegt, dass sie zumindest dieselbe Verzögerung einbringt
wie die Verzögerung
von den anderen Steuerschaltungen, wenn diese von denselben Anwendungen
und Prozessen betroffen sind. Somit obliegt es der durch die größere Entfernung
der Pseudo-Sperrzelle vom lokalen Wortdecoder 112 verursachten Verzögerung,
sicherzustellen, dass die Daten von der Pseudo-Sperrzelle als letzte
an der DDL/SDI-Leitung ankommen.
-
Während eines
Seitenlesezyklus ist es gemäß der obigen
Beschreibung nicht erforderlich, die gesamte Datenzeile noch einmal
zu lesen, da die Daten aus der entsprechenden Zeile bereits in die
Leseverstärker 114 bis 122 gelesen
wurden. Somit kann die für
die Zustandsänderung
der Funktion des lokalen Wortdecoders 112 und der Leseverstärker 114 bis 122 erforderliche
Zeit eingespart werden. Somit brauchen während eines Seitenlesezyklus
nur die geänderten
niederwertigen Adressbits decodiert zu werden. Dann wählen die
Spaltendecoder eine neue Teilmenge der Daten aus den Leseverstärkern aus, welche
dann in das Register 148 geladen werden.
-
Die
Leitungen 156 und 158 zeigen allgemein an, wie
das Systemdatensperrsignal DDL/SDI zurückgesetzt wird. Zur Überwachung
des Schreibfreigabesignals WN, des Seitenauswahlsignals PGN und
des Makroauswahlsignals MSN für
das Zurücksetzen
des Signals DDL/SDI unter den Bedingungen und zu den Zeitpunkten,
wie sie in Verbindung mit 2 bis 4 beschrieben
wurden, dienen Standardlogikfunktionen. Das Rücksetzsignal zum Zurücksetzen
des Leseverstärkers 122 wird über die Leitung 158 transportiert.
Das Rücksetzsignal
zum Zurücksetzen
des Spaltendecoders 150 und des digitalen Zweitleseverstärkers 152 wird über die
Leitung 156 transportiert.
-
Sobald
das Ausgaberegister 148 geladen wurde, werden die Daten über den
Systemdatenbus mit den Leitungen 160, 162, 164 und 166 zum
Datenausgang geschickt. Obwohl diese Leitungen bidirektional dargestellt
wurden, können
sie getrennte Eingangs- und Ausgangsleitungen umfassen.
-
Während einer
Schreiboperation werden Daten von den Dateneingängen in das Register 148 geschrieben.
Vom Register 148 fließen
die Daten über die
Datenleitungen 168, 170, 172 und 174 über die digitalen
Zweitleseverstärker
und die Spaltendecoder in die entsprechenden Leseverstärker. von
dort gelangen die Daten in die angegebenen Speicherzellen.
-
Während diese
Operation bei Entwürfen nach
dem Stand der Technik nicht gesperrt wurde, werden bei der bevorzugten
Ausführungsart
des vorliegenden Entwurfs vorgegebene Daten über die Leitung 176 in
den digitalen Zweitleseverstärker 152, weiter
zum Spaltendecoder 150 und zum Leseverstärker 122 transportiert,
welcher der Pseudo-Sperrzelle 110 entspricht. Wenn sich
der Zustand des Leseverstärkers 122 ändert, kehrt
das Signal gemäß der obigen
Beschreibung als Schreibsperrsignal über die DDL/SDI-Leitung 154 zurück.
-
Die
vorgegebenen Schreibdaten werden ausgewählt, und der Aufbau der Schaltung
sorgt wie beim Sperren der Leseoperation dafür, dass sich der Zustand der
DDL/SDI-Leitung 154 ändert.
Die Zustandsänderung
der DDL/SDI-Leitung erfolgt erst, nachdem die entsprechenden Daten
erfolgreich in die normalen Speicherzellen geladen wurden. Somit dient
die Leitung 154 als Signal sowohl zur Sperrung der Leseoperation
als auch zur Sperrung der Schreiboperation.
-
Das
in Verbindung mit der vorliegenden Erfindung verwendete Speichersystem
wird oft als DRAM-System (Dynamic Random Access Memory, dynamischer
Arbeitsspeicher) bezeichnet, jedoch kann die Erfindung auch bei
anderen Arten von Speichersystemen eingesetzt werden.