-
Die
vorliegende Erfindung betrifft Datenverarbeitungsvorrichtungen,
in welchen Daten aus Speichereinheiten gelesen, in Prozessoreinheiten
verarbeitet und anschließend
an gleichen oder unterschiedlichen Speicherplätzen der Speichereinheiten
rückgespeichert
werden.
-
Insbesondere
betrifft die vorliegende Erfindung eine Datenverarbeitungsvorrichtung
mit einer Dateneingabeeinheit zur Eingabe von Daten, mindestens
einer Prozessoreinheit zur Durchführung von Datenverarbeitungsschritten
bezüglich
der eingegebenen Daten, mindestens einer Speichereinheit zur Speicherung
von verarbeiteten Daten, wobei die Daten in Abhängigkeit von einem Schreibsteuersignal
und einem Lesesteuersignal in die Speichereinheit schreibbar bzw.
aus dieser auslesbar sind, und einer Datenausgabeeinheit zur Ausgabe
von gespeicherten Daten.
-
1 zeigt ein Ablaufdiagramm mit Signalverläufen, die
bei einem herkömmlichen
Verfahren zur Datenspeicherung und Datenauslesung auftreten. Wie
in 1 gezeigt, wird als ein Referenzsignal
ein Taktsignal 100 bereitgestellt, das definierte Referenzzeitpunkte 104a, 104b bereitstellt.
-
In
dem in 1 gezeigten Ablaufdiagramm
sind die Referenzzeitpunkte die steigenden Taktflanken des Taktsignals 100,
es können
jedoch als Referenzzeitpunkte 104a, 104b auch
die fallenden Taktflanken des Taktsignals 100 und weiterhin
sowohl die steigenden als auch die fallenden Taktflanken des Taktsignals 100 herangezogen
werden. In Bezug zu dem Taktsignal 100 ist ein Schreiblese-Steuersignal 100a gezeigt,
welches eine Datenverarbeitungsvorrichtung dazu veranlasst, einen
Schreib/Lesebetrieb durchzuführen.
-
Ein
Bezugszeichen 103 bezeichnet ein Speicherzugriffssignal,
das dann bereitzustellen ist, wenn ein Zugriff auf eine Speichereinheit
der Datenverarbeitungsvorrichtung vorzunehmen ist und wenn Daten
in die Speichereinheit einzuschreiben sind.
-
Die
Signale in 1, d.h. das Taktsignal 100,
das Schreiblese-Steuersignal 100a und das Speicherzugriffssignal 103 sind
als Funktion einer Zeitachse 105 aufgetragen. Durch die
zeitabhängige
Auftragung der entsprechenden Signale wird deutlich, dass bei herkömmlichen
Verfahren zur Datenspeicherung Situationen auftreten können, in
welchen eine Datenverarbeitung bzw. Datenverarbeitungsschritte durchgeführt werden, während bereits
ein Lesesteuersignal für
diese Daten vorhanden ist.
-
In
nachteiliger Weise sind in herkömmlichen
Verfahren Schreibsteuersignale und Lesesteuersignale zeitlich fest
verknüpft,
so dass, wie in 1 gezeigt, ein Schreibsteuersignal
für eine
Speicherung von Daten entsprechend einem Speicherzugriffssignal 103 zu
früh bereitgestellt
wird. Dies kann dadurch verursacht sein, dass Ausführungsschritte
(Datenverarbeitungsschritte) mehrere Taktzyklen des Taktsignals 100 benötigen, derart,
dass ein Speicherzugriff erst nach mehreren Taktzyklen erwartet
wird.
-
2 zeigt ein Beispiel einer Datenverarbeitung
in einer Datenverarbeitungsvorrichtung, bei dem ein verzögerter Speicherzugriff
in Form eines Lesesteuersignals erforderlich ist. Das Blockbild
der 2 ist in eine Prozessoreinheit 107 und
eine Speichereinheit 402 aufgeteilt.
-
In
der Prozessoreinheit 107 werden in diesem Beispiel zwei
Datenverarbeitungsschritte 201a und 201b durchgeführt. Dazu
wird über
eine Dateneingabeeinheit 200 ein Eingangssignal 203 zugeführt. Wie durch
die Pfeile in 2 gezeigt, ist der zweite
Datenverarbeitungsschritt 201b abhängig von dem ersten Datenverarbeitungsschritt 201a.
In nachteiliger Weise ist es bei herkömmlichen Verfahren nicht möglich, einem einzigen
Speicherzugriff mehrere Taktzyklen zuzuordnen. Um die Datenverarbeitungsschritte 201a und 201b gemäß 2 durchzuführen, sind jedoch mehrere Taktzyklen
pro Speicherzugriff erforderlich, wenn berücksichtigt wird, dass ein Taktzyklus
einem Ausführungsschritt 201a bzw. 201b entspricht.
-
In 2 ist gezeigt, dass in der Speichereinheit 402 zwei
Speicherzugriffsschritte 202a und 202b bereitgestellt
sind. Ein Speicherzugriffsschritt 202a oder 202b weist
in diesem Beispiel eine Zeitdauer von zwei Taktzyklen entsprechend
zwei Datenverarbeitungsschritten 201a, 201b in
der Prozessoreinheit 107 auf. Mit einer derartigen Architektur
müssen
sämtliche
Lese/Schreib-Instruktionen einen "Interlock"-Abstand von zumindest 1 aufweisen.
-
Nichtsdestoweniger
können
manche Instruktionen die Berechnung in dem Datenverarbeitungsschritt 201b vervollständigen und
ihr Ergebnis kann in der nachfolgenden Speicherinstruktion erforderlich
sein. Um den "Interlock"-Abstand von 0 zwischen
zwei aufeinanderfolgenden Instruktionen einzuhalten, ist es notwendig,
eine Schreibinstruktion durchzuführen,
nachdem der Speicherzugriff bereits begonnen hat.
-
Die 3(a) und 3(b) zeigen
weitere Beispiele, aus welchen die Notwendigkeit erkennbar ist,
für eine Datenerzeugung
ein größerer Zeitabschnitt
als für
eine Adresserzeugung bereitzustellen. 3(a) zeigt
die Abfolge eines Datenverarbeitungsschritts 201 und eines
Speicherzugriffsschritts 202, wobei eine sequenzielle Abfolge
von Schritten zur Datenverarbeitung und zum Speicherzugriff gegeben
ist.
-
Die
Erfordernis eines zusätzlichen
Taktzyklus ist aus 3(b) ersichtlich.
Hier sind zwei Datenverarbeitungsschritte 201a, 201b seriell
angeordnet, wobei ein Speicherzugriffsschritt 202 parallel
zu dem zweiten Datenverarbeitungsschritt 201b angeordnet
ist. Wenn eine Datenverarbeitung in dem zweiten Datenverarbeitungsschritt 201b durchgeführt worden
ist, ist es daher zu spät,
einen Schreibzugriff in dem Speicherzugriffsschritt 202 zu
starten.
-
In
nachteiliger Weise muss bei herkömmlichen
Datenverarbeitungsverfahren ein Schreiblese-Steuersignal 100a einen
Taktzyklus im Voraus bereitgestellt werden, so dass es nicht während eines
unter Bezugnahme auf 2 gezeigten zweiten
Datenverarbeitungsschritts 201b berechnet werden kann.
-
Offensichtlich
kann ein Schreibsteuersignal nur dann bereitgestellt werden, wenn
es berechnet worden ist. Es kann jedoch erforderlich sein, dass
eine derartige Berechnung auch in dem zweiten Datenverarbeitungsschritt 201b erfolgen
muss.
-
4 zeigt ein weiteres Blockdiagramm,
das neben einem Datenverarbeitungsschritt 201 und einem Speicherzugriffsschritt 202 einen
Befehlsdekodierungsschritt 204 und einen Registerzugriffsschritt 205 umfasst.
Es sei darauf hingewiesen, dass der Befehlsdekodierungsschritt 204 und
der Registerzugriffsschritt 205 zusammengefasst werden
können,
um einer einzigen Stufe anzugehören.
-
In
dem Befehlsdekodierungsschritt 204 werden Steuersignale
ausgegeben, mit welchen Datenverarbeitungsschritte und Speicherzugriffsschritte
durchgeführt
werden. Der Registerzugriffsschritt 205 stellt Werte aus
dem Register für
eine Adressierung oder für
eine Ausführung
bereit.
-
Es
ist somit eine Aufgabe der vorliegenden Erfindung, eine Datenverarbeitungsvorrichtung
bereitzustellen, bei der einem einzigen Speicherzugriff mehr als
ein Taktzyklus zugeordnet werden kann.
-
Diese
Aufgabe wird erfindungsgemäß durch
eine Datenverarbeitungsvorrichtung mit den Merkmalen des Patentanspruchs
1 gelöst.
-
Ferner
wird die Aufgabe durch ein im Patentanspruch 17 angegebenes Verfahren
gelöst.
-
Weitere
Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
-
Ein
wesentlicher Gedanke der Erfindung besteht darin, die in Verbindung
mit einem Speicherzugriff eingesetzten Schreibsteuersignale und
Lesesteuersignale zeitlich unabhängig
voneinander vorzugeben.
-
Insbesondere
stellt die Erfindung eine Implementierung innerhalb einer Mikroprozessor-Pipeline-Struktur
bereit. Vorzugsweise ist kein Befehl vorhanden, der sowohl Daten
liest als auch diese speichert, so dass eine Unabhängigkeit
eines Datenauslesens von einer Datenspeicherung bereitgestellt wird.
-
Die
erfindungsgemäße Datenverarbeitungsvorrichtung
weist im Wesentlichen auf:
- a) eine Dateneingabeeinheit
zur Eingabe von Daten;
- b) mindestens eine Prozessoreinheit zur Durchführung von
Datenverarbeitungsschritten bezüglich
der eingegebenen Daten;
- c) mindestens eine Speichereinheit zur Speicherung von verarbeiteten
Daten, wobei die Daten in Abhängigkeit
von einem Schreibsteuersignal und einem Lesesteuersignal in die
Speichereinheit schreibbar bzw. aus dieser auslesbar sind; und
- d) eine Datenausgabeeinheit zur Ausgabe von gespeicherten Daten,
wobei
das Schreibsteuersignal zeitlich unabhängig von dem Lesesteuersignal
vorgebbar ist.
-
Ferner
weist das erfindungsgemäße Verfahren
zum Verarbeiten von Daten im Wesentlichen die folgenden Schritte
auf:
- a) Eingeben von Daten mittels einer Dateneingabeeinheit;
- b) Durchführen
von Datenverarbeitungsschritten bezüglich der eingegebenen Daten
mittels mindestens einer Prozessoreinheit;
- c) Speichern der verarbeiteten Daten in mindestens einer Speichereinheit,
wobei die Daten in Abhängigkeit von
einem Schreibsteuersignal und einem Lesesteuersignal in die Speichereinheit
schreibbar bzw. aus dieser auslesbar sind; und
- d) Ausgeben der gespeicherten Daten mittels einer Datenausgabeeinheit,
wobei
das Schreibsteuersignal und das Lesesteuersignal zeitlich unabhängig voneinander
vorgegeben werden.
-
In
den Unteransprüchen
finden sich vorteilhafte Weiterbildungen und Verbesserungen des
jeweiligen Gegenstandes der Erfindung.
-
Gemäß einer
bevorzugten Weiterbildung der vorliegenden Erfindung sind das Schreibsteuersignal
und das Lesesteuersignal zeitlich abhängig von einem Taktsignal,
das der Datenverarbeitungsvorrichtung zugeführt wird, bereitgestellt. In
vorteilhafter Weise werden aus dem Taktsignal Referenzzeitpunkte
abgeleitet, die steigenden und/oder fallenden Taktflanken entsprechen.
-
Gemäß einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung umfassen
die in der mindestens einen Prozessor einheit bezüglich der eingegebenen Daten
durchgeführten
Datenverarbeitungsschritte mathematische Operationen.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung ist
die mindestens eine Speichereinheit zur Speicherung von verarbeiteten
Daten in einer Speicherzugriffseinheit bereitgestellt, welche wahlweise
ein Schreiblese-Steuersignal mit einer festen zeitlichen Kopplung
des Schreibsteuersignals an das Lesesteuersignal oder ein gegenüber dem
Lesesteuersignal verzögertes
Schreibsteuersignal bereitstellt.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung ist
in der Datenverarbeitungsvorrichtung eine Registeradressierungseinheit
bereitgestellt, die der Speicherzugriffseinheit Schreibleseadressen
zuführt.
Vorzugsweise ist in der Datenverarbeitungsvorrichtung weiter eine
Kurzinstruktionseinheit bereitgestellt, die der Speicherzugriffseinheit
Kurzinstruktionssignale zuführt.
Weiterhin ist es zweckmäßig, dass
eine Lesesteuereinheit bereitgestellt ist, die der Speicherzugriffseinheit
Leseinstruktionssignale zuführt.
Vorzugsweise weist die Datenverarbeitungsvorrichtung eine Registerschreibsteuereinheit
auf, die der Speicherzugriffseinheit Register-Schreibinstruktionssignale
zuführt.
-
Weiterhin
ist eine Schreibsteuereinheit bereitgestellt, die der in der Datenverarbeitungsvorrichtung
angeordneten Speicherzugriffseinheit Schreibinstruktionssignale
zuführt.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung weist
die Speicherzugriffseinheit weitere eine Schreibleseauswahleinheit
auf, durch welche Schreibdaten, Speicherschreibadressen und/oder
Speicherleseadressen auswählbar
sind.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung umfasst
die Speicherzugriffseinheit wei ter ein Schreibspeicherregister,
das eine Zwischenspeicherung von Schreibdaten, Speicherschreibadressen
und eines Registerstatus bereitstellt.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung weist
die Speicherzugriffseinheit weiter eine Zufallslogikeinheit auf,
die bezüglich
des Speicherzugriffs entweder keinen Zugriff, einen Lesezugriff,
einen Schreibzugriff oder einen kombinierten Lese- und Schreibzugriff
ausführt.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung weist
die Speicherzugriffseinheit weiter eine Speicherzugriffstypeinheit
auf, welche in Abhängigkeit
von mindestens einem Kurzinstruktionssignal, mindestens einem Leseinstruktionssignal
und/oder mindestens einem Schreibinstruktionssignal ein Speicherzugriffstypsignal
ausgibt.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung weist
die Speicherzugriffseinheit weiter eine Ansprecherfassungseinheit
auf, welche ein Ansprechsignal ausgibt.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung weist
die Speicherzugriffseinheit weiter eine Zuordnungseinheit auf, welche
der Speichereinheit ein Chipauswahlsignal zuführt.
-
Gemäß noch einer
weiteren bevorzugten Weiterbildung der vorliegenden Erfindung umfasst
die Speicherzugriffseinheit weiter eine Verknüpfungseinheit, welche in Abhängigkeit
von dem von der Ansprecherfassungseinheit zugeführten Ansprechsignal ein Lesezugriffs-Ausgangssignal
ausgibt.
-
Ausführungsbeispiele
der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden
Beschreibung näher
erläutert.
-
In
den Zeichnungen zeigen:
-
1 ein zeitliches Ablaufdiagramm eines
herkömmlichen
Datenverarbeitungsverfahrens;
-
2 ein Beispiel einer Datenverarbeitung
mit zwei Datenverarbeitungsschritten und zwei Speicherzugriffsschritten
zur Erläuterung
des der Erfindung zugrundeliegenden Problems;
-
3 ein weiteres Blockdiagramm mit Datenverarbeitungsschritten
und Speicherzugriffsschritten zur Erläuterung des der Erfindung zugrundeliegenden
Problems;
-
4 ein
weiteres Blockdiagramm mit einem Befehlsdekodierungsschritt, einem
Registerzugriffsschritt, einem Datenverarbeitungsschritt und einem
Speicherzugriffsschritt zur Erläuterung
des der Erfindung zugrundeliegenden Problems;
-
5 ein
zeitliches Ablaufdiagramm eines Datenverarbeitungsverfahrens gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung;
-
6 eine
Speicherzugriffseinheit mit einer Darstellung der zugeführten Signale
und des ausgegebenen Speicherzugriffseinheit-Ausgangssignals;
-
7 detailliert
eine Speicherzugriffseinheit mit Eingabeeinheiten und Ausgabeeinheiten
sowie einer Erläuterung
der entsprechenden Signale;
-
8 ein
Blockbild, das den Aufbau einer Speicherzugriffseinheit und die
zugehörigen
Signale detailliert veranschaulicht;
-
9 eine Schreibleseauswahleinheit, die
in der Speicherzugriffseinheit enthalten ist, und entsprechende
Ein- und Ausgangssignale;
-
10 eine
Speicherzugriffstypeinheit und eine Tabelle zur Veranschaulichung
einer Verknüpfung
der entsprechenden Signale und einer Erzeugung eines Speicherzugriffstypsignals;
-
11 den
Aufbau eines Schreibspeicherregisters der Speicherzugriffseinheit
mit einem Statusregister, einem Adressregister und einem Datenregister;
-
12 eine
Zufallslogikeinheit, die in der Speicherzugriffseinheit enthalten
ist, mit entsprechenden Ein- und Ausgangssignalen;
-
13 eine
Ansprecherfassungseinheit und eine Verknüpfungseinheit, die in der Speicherzugriffseinheit
enthalten sind, mit entsprechenden Ein- und Ausgangssignalen; und
-
14 eine
Speichereinheit zur Speicherung verarbeiteter Daten.
-
In
den Figuren bezeichnen gleiche Bezugszeichen gleiche oder funktionsgleiche
Komponenten oder Schritte.
-
5 zeigt
ein Ablaufdiagramm eines Datenverarbeitungsverfahrens gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung. Ein Bezugszeichen 105 bezeichnet
eine Zeitachse (t), welcher die entsprechenden Zeitverläufe der
einzelnen Signale zugeordnet sind.
-
Als
ein Referenzsignal wird der Datenverarbeitungsvorrichtung ein Taktsignal 100 vorgegeben,
das spezifizierte Referenz zeitpunkte 104a, 104b aufweist.
Derartige Referenzzeitpunkte 104a, 104b können steigende
und/oder fallende Taktflanken des Taktsignals 100 sein.
-
Es
sei darauf hingewiesen, dass als ein Referenzsignal andere Signale
als ein Taktsignal 100 bereitgestellt werden können, was
Durchschnittsfachleuten bekannt ist. Wesentlich ist die Zuordnung
von Signalen, die einen Lesebetrieb und einen Schreibbetrieb steuern,
zu einem Speicherzugriffssignal 103.
-
Wie
in 5 gezeigt, können
gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung das Schreibsteuersignal 101 und
das Lesesteuersignal 102 unabhängig voneinander vorgegeben
werden.
-
Im
Folgenden wird gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung eine Speicherzugriffseinheit 301 detailliert
beschrieben werden, welche das erfindungsgemäße Verfahren zur Datenverarbeitung
einsetzt, bei dem das Schreibsteuersignal 101 zeitlich
unabhängig
von dem Lesesteuersignal 102 vorgebbar ist.
-
6 zeigt
die Speicherzugriffseinheit 301 mit den wesentlichen, zum
Betrieb der Speicherzugriffseinheit 301 notwendigen Eingangssignalen
sowie dem Speicherzugriffseinheit-Ausgangssignal 302, welches
am Ausgang der Datenverarbeitungsvorrichtung bereitgestellt wird.
-
Es
sei darauf hingewiesen, dass 6 die Schnittstellen
einer Speicherzugriffseinheit 301 veranschaulicht, die
in einem Mikroprozessor eingesetzt wird. Die Erfindung ist jedoch
nicht auf Speicherzugriffseinheiten in Mikroprozessoren beschränkt, sondern
kann in jedweder Datenverarbeitungsvorrichtung eingesetzt werden.
-
Insbesondere
zeigt diese Ausführungsform,
dass mindestens zwei Arten eines Speicherzugriffs verfügbar sind:
der her kömmlicher
Speicherzugriff mit einem einzigen Schreiblese-Steuersignal 100a (obenstehend
unter Bezugnahme auf 1 beschrieben),
das eine feste zeitliche Kopplung eines Schreibsteuersignals an
ein Lesesteuersignal vorsieht, und ein Lesesteuersignal, das gegenüber einem
Schreibsteuersignal verzögert
bereitgestellt ist, wie unter Bezugnahme auf 5 gezeigt,
wobei eine derartige Verzögerung
gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung bereitgestellt ist. Eine folgende Tabelle
1 fasst die entsprechenden Eingangssignale, die der Speicherzugriffseinheit 301 zugeführt werden,
mit den entsprechenden Erläuterungen
zusammen.
-
-
-
Die
in der obenstehenden Tabelle als "früh" bezeichneten Signale
sind diejenigen Signale, die gültig sind,
wenn ein Speicherzugriff initiiert wird, während die mit "spät" bezeichneten Signale
diejenigen Signale sind, die gültig
sind, wenn der Speicherzugriff beendet ist. Die Zeitpunkte eines
Initiierens und eines Beendens eines Speicherzugriffs sind durch
das Taktsignal 100 bzw. die entsprechenden steigenden oder
fallenden Taktflanken, die Referenzzeitpunkte 104a, 104b (siehe 5)
darstellen, vorgegeben.
-
7 zeigt
eine Speicherzugriffseinheit 301 gemäß einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung detaillierter mit Einheiten zur Erzeugung
der Eingangssignale in die Speicherzugriffseinheit 301 sowie
einer Datenausgabeeinheit 109. Die Einheiten zur Erzeugung
von Eingangsdaten in die Speicherzugriffseinheit 301 umfassen
eine Registeradressierungseinheit 305, eine Kurzinstruktionseinheit 306, eine
Lesesteuereinheit 307, eine Registerzugriffseinheit 308 und
eine Schreibsteuereinheit 309.
-
Die
Datenausgabeeinheit 108 umfasst eine Ausgangsschnittstelleneinheit 303 und
eine Ausgangsanschlusseinheit 304. Der Speicherzugriffseinheit 301 wird
von der Registeradressierungseinheit 305 eine Schreibleseadresse 305a (rafwd_rw_adr_i)
zugeführt,
wie in obenstehender Tabelle 1 aufgelistet.
-
Die
Kurzinstruktionseinheit 306 stellt ein Kurzinstruktionssignal 306a bereit,
das der Speicherzugriffseinheit 301 ebenfalls zugeführt wird.
-
Eine
Lesesteuereinheit 307 erzeugt eine Reihe von Leseinstruktionssignalen 307a,
d.h. Signale, die der Speicherzugriffseinheit 301 gemäß der obenstehenden
Tabelle 1 als df_rd_i, df_rdimm_i und df_rd_immadr_i zugeführt werden.
-
Die
Register-Schreibsteuereinheit 308 liefert ein Register-Schreibinstruktionssignal 308a,
d.h. ein Signal ra_wr_data_i wird der Speicherzugriffseinheit 301 als
ein Eingangssignal zugeführt.
Weiterhin ist die Schreibsteuereinheit 309 bereitgestellt,
um die bereits in obenstehender Tabelle 1 aufgelisteten Signale d2_wr_dataimm_i,
d2_wr_adrimm_i, d2_wr_data_i, d2_wr_adr_i und d2_wr_i als Schreibinstruktionssignale 309a zu
der Speicherzugriffseinheit 301 zuzuführen. Als ein Ausgangssignal
liefert die Speicherzugriffseinheit 301 ein Lesezugriffs-Ausgangssignal 302 (ra_iffwd_wr_data_o),
das einerseits der Ausgangsanschlusseinheit 304 und andererseits
der Ausgangsschnittstelleneinheit 303 der Datenausgabeeinheit 108 zugeführt wird.
-
Wie
in obenstehender Tabelle veranschaulicht, werden die Lese- und Schreibsignale
unabhängig
voneinander vorgegeben, derart, dass der Abstand zwischen Lese-
und Schreibsteuersignalen nicht auf eine einzigen Taktzyklus festgelegt
ist.
-
Ein
Rücksetzsignal 106 dient
dazu, die Speicherzugriffseinheit 301 zurückzusetzen,
während
das Taktsignal 100 als eine zeitliche Referenz der Speicherzugriffseinheit 301 ebenfalls
zugeführt
wird.
-
8 zeigt
den Aufbau der Speicherzugriffseinheit 301 in größerem Detail.
Im Wesentlichen besteht die Speicherzugriffseinheit 301 aus
den Funktionsblöcken 401-408,
d.h. einer Schreibleseauswahleinheit 401, einer Speichereinheit 402 zur
Speicherung von verarbeiten Daten, wobei die Daten in Abhängigkeit
von einem Schreibsteuersignal und einem Lesesteuersignal in die
Speichereinheit 402 schreibbar aus dieser auslesbar sind,
einem Schreibspeicherregister 903, einer Zufallslogikeinheit 404,
einer Speicherzugriffstypeinheit 405, einer Ansprecherfassungseinheit 406,
einer Zuordnungseinheit 407 und einer Verknüpfungseinheit 408.
-
Im
Folgenden werden die einzelnen Funktionsblöcke der erfindungsgemäßen Speicherzugriffseinheit 301 und
deren Ein- und Ausgangssignale erläutert werden. Weiterhin ist
das Zusammenwirken der einzelnen Funktionsblöcke aus 8 ersichtlich,
die ebenfalls die Verbindungsleitungen mit den zugehörigen Signalen und
deren Bezeichnungen veranschaulicht.
-
9 zeigt die Funktionsweise der Schreibleseauswahleinheit 104 in
größerem Detail.
Wie in 9(a) gezeigt, verknüpft die
Schreibleseauswahleinheit 401 im Wesentlichen die Schreibinstruktionssignale 309 (a)
(siehe Tabelle 1) und das Register-Schreibinstruktionssignal 308a zu
Schreibdaten 501 (wr_data_v). Diese Schreibdaten werden
der Zufallslogikeinheit 404 zugeführt.
-
Weiterhin
stellt die Schreibleseauswahleinheit 104 eine Speicherschreibadresse 502 in
Abhängigkeit von
den Schreibinstruktionssignalen 309a und einer Schreibleseadresse 305a bereit,
wie in 9(b) gezeigt. Weiterhin ist
es möglich,
mit Hilfe der Schreibleseauswahleinheit 401 eine Speicherleseadresse 503 in
Abhängigkeit
von der Schreibleseadresse 305a und von der Lesesteuereinheit 307 zugeführten Leseinstruktionssignalen 307a zu
erzeugen.
-
10 zeigt
eine Speicherzugriffstypeinheit 405, in welcher ein geeigneter
Speicherzugriffstyp ausgewählt
wird und einem Signal memory_access_v zugeordnet wird. Ein derartiges
Speicherzugriffstypsignal 504 wird aus der Speicherzugriffstypeinheit 405 ausgegeben
und sowohl der Zufallslogikeinheit 404 als auch der Ansprecherfassungseinheit 406 zugeführt.
-
Die
in 10 rechts oben veranschaulichte Tabelle veranschaulicht
eine Verknüpfung
der in der Tabelle 1 definierten Signale d1_ctrl_i, d2_wr_i, df_rd_i,
um das Speicherzugriffstypsignal 504 zu erhalten. Erfindungsgemäß ist hierbei
das Signal d1_ctrl_i ein "frühes" Signal, das (i)
auf „AUS" gesetzt ist, wenn
kein Speicherzugriffsbefehl vorhanden ist, das (ii) auf „EIN" gesetzt ist, wenn
ein möglicher
Speicherzugriffsbefehl vorhanden ist, und das (iii) „rd" ist, wenn ein sicherer
Lesezugriffsbefehl vorhanden ist.
-
Es
sei darauf hingewiesen, dass "möglicher
Speicherzugriffsbefehl" bedeutet,
dass entweder ein frühes
Signal "df_rd_i" oder ein spätes Schreibsignal "d2_wr_i" vorhanden ist. Die
Werte "off" und "rd" für das "d1_ctrl_i"-Signal sind redundant
und könnten
weggelassen werden.
-
11 zeigt
den Aufbau des Schreibspeicherregisters 403 gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung. Wie in 11 dargestellt
ist, besteht das Schreibspeicherregister 403 im Wesentlichen
aus einem Statusregister 505, einem Adressregister 506 und
einem Datenregister 507. Sämtlichen Registern waird jeweils
parallel das Taktsignal 100 zugeführt.
-
Ein
derartiges "Schreib-Cache-Register" ist erforderlich,
um Schreibdaten, eine Speicherschreibadresse und eine Speicherleseadresse
zwischenzuspeichern. Die Schreibdaten und Adressdaten in den Registern 505, 506 und 507 werden
nur aktualisiert, wenn ein Schreibsteuersignal l_c_wr_s aktiv ist.
-
Es
sei darauf hingewiesen, dass die in dem Cache-Register zu speichernden
Daten nicht auf die Daten beschränkt
sind, die tatsächlich
in der Speichereinheit gespeichert sind. Das Register kann ebenso
jedwede darauf bezogene Steuerdaten enthalten.
-
12 zeigt
eine Zufallslogikeinheit 404, die bezüglich des Schreibspeicherregisters
keinen Zugriff, einen Lesezugriff, einen Schreibzugriff oder einen
kombinierten Lese- und Schreibzugriff ausführt.
-
Die
Zufallslogikeinheit 404 führt keinen Zugriff aus, wenn
das Speicherzugriffstypsignal 504 "noa" ist.
-
Bezüglich des
Schreibspeicherregisters 403 findet eine Aktualisierung
dann nicht statt, das Schreibspeicherregister 403 voll
ist, wobei die Daten, die in seinen Daten- und Adressregistern gespeichert
sind, in den Datenspeicher eingeschrieben werden, derart, dass das
Schreibspeicherregister 403 leer wird.
-
Wenn
das Schreibspeicherregister 403 leer ist, wird kein Speicherzugriff
ausgeführt
und das Schreibspeicherregister 403 bleibt leer.
-
Ein
Lesezugriff findet dann statt, wenn das Speicherzugriffstypsignal "ird" ist. Hierbei wird
das Schreibspeicherregister 403 nicht aktualisiert und
die Leseadresse (rd adr v) wird zu dem Datenspeicher geleitet. Ferner
führt die
Zufallslogikeinheit 404 einen Schreibzugriff durch, wenn
das Speicherzugriffssignal 404 "cwr" ist.
-
Wenn
das Schreibspeicherregister 403 voll ist, werden Daten
des Schreibspeicherregisters 403 in den Datenspeicher eingeschrieben.
Wenn das Schreibspeicherregister 403 leer ist, werden die
externen Daten direkt in den Datenspeicher eingeschrieben und das
Schreibspeicherregister 403 wird nicht aktualisiert und bleibt
leer.
-
Ferner
führt die
Zufallslogikeinheit 404 einen kombinierten Lese- und Schreibzugriff
aus, wenn das Speicherzugriffstypsignal 504 "ica" ist. Hierbei ist
das Schreibspeicherregister 403 immer leer.
-
Die
Speicherzugriffseinheit 301 weist weiterhin, wie in 13 gezeigt,
eine Ansprecherfassungseinheit 406 und eine Verknüpfungseinheit 408 auf.
Die Ansprecherfassungseinheit 406 erzeugt ein Ansprechsignal 509 in
Abhängigkeit
von dem Speicherzugriffstypsignal 504. Das Ansprechsignal 509 wird
der Verknüpfungseinheit 408 zugeführt, welches
von der Speichereinheit 402 Speicherdaten enthält. Die
Verknüpfungseinheit 408 stellt
als das Ausgangssignal der Datenverarbeitungsvorrichtung das Lesezugriffs-Ausgangssignal 302 bereit.
-
Wie
in 14 gezeigt, erhält die Speichereinheit 402 neben
dem Taktsignal 100 das Chipauswahlsignal 508 und
das Rücksetzsignal 106.
Das Ausgangssignal der Speichereinheit 402 (mem_l_data_s)
wird, wie bereits obenstehend unter Bezugnahme auf 13 erwähnt, der
Verknüpfungseinheit 408 zugeführt.
-
Eine
nachfolgende Tabelle 2 zeigt die durch eine Zuordnungseinheit
407 der
Speicherzugriffseinheit
301 bereitgestellten Zuordnungen
zwischen dem Signal d1_ctrl_i, l_mem_cs_s und m_mem_rd_s. Tabelle
2
-
Die
Signale l_mem_rd_s und l_mem_cs_s (d.h. das Chipauswahlsignal) werden
der Speichereinheit 403 zugeführt.
-
Bezüglich des
herkömmlichen
Verfahrens zum Verarbeiten von Daten sei hinsichtlich des Zeitablaufdiagramms
gemäß 1 auf die Beschreibungseinleitung verwiesen.
-
Obwohl
die vorliegende Erfindung vorstehend anhand bevorzugter Ausführungsbeispiele
beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Weise
modifizierbar.
-
Auch
ist die Erfindung nicht auf die genannten Anwendungsmöglichkeiten
beschränkt.
-
In
den Figuren bezeichnen gleiche Bezugszeichen gleiche oder funktionsgleiche
Komponenten oder Schritte.
-
- 100
- Taktsignal
- 100a
- Schreiblese-Steuersignal
- 101
- Schreibsteuersignal
- 102
- Lesesteuersignal
- 103
- Speicherzugriffssignal
- 104a,
104b
- Referenzzeitpunkte
- 105
- Zeitachse
- 106
- Rücksetzsignal
- 107
- Prozessoreinheit
- 108
- Datenausgabeeinheit
- 200
- Dateneingabeeinheit
- 201,
201a, 201b
- Datenverarbeitungsschritt
- 202,
202a, 202b
- Speicherzugriffsschritt
- 203
- Eingangssignal
- 204
- Befehlsdekodierungsschritt
- 205
- Registerzugriffsschritt
- 301
- Speicherzugriffseinheit
- 302
- Lesezugriffs-Ausgangssignal
- 303
- Ausgangsschnittstelleneinheit
- 304
- Ausgangsanschlusseinheit
- 305
- Registeradressierungseinheit
- 305a
- Schreibleseadresse
- 306
- Kurzinstruktionseinheit
- 306a
- Kurzinstruktionssignal
- 307
- Lesesteuereinheit
- 307a
- Leseinstruktionssignale
- 308
- Register-Schreibsteuereinheit
- 308a
- Register-Schreibinstruktionssignal
- 309
- Schreibsteuereinheit
- 309a
- Schreibinstruktionssignal
- 401
- Schreibleseauswahleinheit
- 402
- Speichereinheit
- 403
- Schreibspeicherregister
- 404
- Zufallslogikeinheit
- 405
- Speicherzugriffstypeinheit
- 406
- Ansprecherfassungseinheit
- 407
- Zuordnungseinheit
- 408
- Verknüpfungseinheit
- 501
- Schreibdaten
- 502
- Speicherschreibadresse
- 503
- Speicherleseadresse
- 504
- Speicherzugriffstypsignal
- 505
- Statusregister
- 506
- Adressregister
- 507
- Datenregister
- 508
- Chipauswahlsignal
- 509
- Ansprechsignal