-
Die
vorliegende Erfindung bezieht sich auf eine Datenverarbeitungsanordnung
und auf ein Verfahren zur Datenverarbeitung.
-
Aus
dem US Patent Nr. 4.956,768 ist eine Datenverarbeitungsanordnung
bekannt, die eine doppelte Pufferung von Daten schafft, die zwischen einem
Prozessor und einer Anzahl Ausgängen übertragen
worden sind. Jeder Ausgang ist mit einem Paar Speicher versehen.
Der Prozessor schreibt abwechselnd an einen ersten der Speicher
und an einen zweiten Speicher der Speicher. Wenn der Prozessor an
den einen Speicher schreibt, wird der andere Speicher an den Ausgang
gekoppelt. Auf diese Weise kann das Schreiben von dem Prozessor
aus und das Ausliefern an den Ausgang parallel durchgeführt werden.
-
Ein
mit dem Ausgang assoziierter Prozessor steuert, welcher der Speicher
mit dem Prozessor verbunden wird und welcher mit dem Ausgang verbunden
wird. Das US Patent Nr. 4.956.768 beschreibt nicht, wie Stellen
innerhalb der Speicher adressiert werden und unter welchen Umständen die
Rolle der Speicher umgeschaltet wird.
-
US-A-5968153
beschreibt eine doppelte Puffereinheit und eine Inhaberlogik, die
mit einem PCI-Controller und einem Speichercontroller gekoppelt
ist, wobei die genannte Inhaberlogik dazu verwendet wird, den Inhaber
jedes Puffers zu ermitteln. Wenn der eine Puffer mit ausgelesen
Daten von einem PCI-Controller gefüllt ist, wird die Eigentümerschaft
dieses Puffers ausgetauscht, so dass ein Speichercontroller diesen
Puffer leeren kann, während der
andere Puffer gefüllt
wird.
-
Die
vorliegende Erfindung schafft eine Datenverarbeitungsanordnung nach
Anspruch 1 sowie ein Datenverarbeitungsverfahren nach Anspruch 11. Nach
der vorliegenden Erfindung steuert eine unabhängige Umschaltanordnung welche
Speichereinheit mit welcher Datenverarbeitungseinheit verbunden wird.
Adressen von den Datenverarbeitungseinheiten werden verwendet um
Stellen in einer Speichereinheit zu adressieren, die von der Umschalteinheit
selektiert worden sind, so dass eine bestimmte Adresse eine Stelle
in verschiedenen Speichereinheiten zu verschiedenen Zeitpunkten
während
der Durchführung
desselben Programms adressieren kann, und zwar abhängig von
der Selektion durch die Umschalteinheit. Die unabhängige Umschalteinheit überwacht die
von wenigstens einer der Datenverarbeitungseinheiten gelieferten
Adressen um Wiederholungen in dem Muster von Adressen zu detektieren,
die von der Verarbeitungseinheit geliefert worden sind. Bei Detektion
einer Wiederholung schaltet die Umschalteinheit die Selektion derjenigen
Speichereinheit um, die mit der Datenverarbeitungseinheit verbunden
ist.
-
Vorzugsweise
ist das Kriterium zum Detektieren der Wiederholungen programmierbar,
und zwar unter Anwendung beispielsweise der Detektion einer Wiederholung
von Adressen in einem programmierbaren Bereich, oder einer programmierbaren
Anzahl Wiederholungen, oder einer programmierbaren Kombination von
Wiederholungen von Adressen von verschiedenen Verarbeitungseinheiten
(beispielsweise abwechselnd nach Detektion von Wiederholungen von
den beiden Verarbeitungseinheiten oder abwechselnd für jede betreffende
Verarbeitungseinheit, wenn eine Wiederholung in dem Adressenmuster dieser
betreffenden Verarbeitungseinheit detektiert wird, ggf. bedingt
durch Detektion einer Wiederholung durch eine andere Verarbeitungseinheit
nach einem vorhergehenden Wechsel der Adressenabbildung von der
betreffenden Verarbeitungseinheit).
-
Es
können
mehrere Verfahren zum Detektieren von Wiederholungen angewandt werden,
wie nach der Detektion einer Wiederholung einer Adresse, die von
einer Verarbeitungseinheit empfangen wurde, oder Detektion einer
bestimmten Anzahl Zugriffsvorgänge
innerhalb eines bestimmten Bereichs, oder Detektion nach der Verwendung
aller Adressen in einem bestimmten Bereich.
-
Im
Allgemeinen wird die Datenverarbeitungsanordnung weitere Speichereinheiten
aufweisen, deren Verbindungen nicht mit Hilfe einer Umschalteinheit
umgeschaltet werden. Auf diese Weise kann nur ein Subsatz des Bereichs
von Adressen, die eine Datenverarbeitungseinheit benutzen kann,
um Speicheradressenstellen in den Speichereinheiten zu adressieren,
die über
die Umschalteinheit verbunden sind, verwendet werden. Während die
Adressen in diesem Subsatz abwechselnd auf verschiedenen Speichereinheiten
abgebildet werden, werden die restlichen Adressen im Allgemeinen
auf denselben Speichereinheiten abgebildet. Die Umschalteinheit überwacht
vorzugsweise nur die Wiederholung von Adressen in dem Subsatz von
Adressen von denjenigen Adressstellen in den Speichereinheiten,
die über die
Umschalteinheit mit den Datenverarbeitungseinheiten verbunden sind.
Auf diese Weise sind die Wechsel zwischen verschiedenen Speichereinheiten nicht
unmittelbar von Adressierungsmustern außerhalb der Speichereinheiten
abhängig,
die über
die Umschalteinheit verbunden sind.
-
Wenigstens
zwei Datenverarbeitungseinheiten und wenigstens zwei Speichereinheiten
können über die
Umschalteinheit verbunden werden. Die vorliegende Erfindung aber
ist auf einfache Weise skalierbar. Im Rahmen der vorliegenden Erfindung
kann eine größere Anzahl
als zwei Datenverarbeitungseinheiten und/oder Speichereinheiten
miteinander verbunden werden, so dass eine Adresse von einer Datenverarbeitungseinheit
auf jede beliebige Einheit von drei oder mehr Speichereinheiten
abgebildet werden kann. In diesem Fall kann die Umschalteinheit
abwechselnd drei oder mehr Speichereinheiten mit einer Datenverarbeitungseinheit
auf eine "round-robin"-Weise abwechselnd
verbinden. Auf alternative Weise kann die Umschalteinheit derart
programmiert werden, dass sie detektiert, welcher Subsatz von Speichereinheiten
abwechselnd mit einer bestimmten Datenverarbeitungseinheit verbunden ist.
Auf diese Weise kann die Datenverarbeitungsanordnung derart konfiguriert
werden, dass sie flexibel mehrere gepufferte Kommunikationen liefert
von mehr als nur einem Strom von Daten zwischen mehr als zwei Datenverarbeitungseinheiten.
-
Ausführungsbeispiele
der vorliegenden Erfindung sind in der Zeichnung dargestellt und
werden im Folgenden näher
beschrieben. Es zeigen:
-
1 eine
Datenverarbeitungsanordnung,
-
2 eine
Ausführungsform
einer Umschaltsteuereinheit,
-
3 eine
weitere Ausführungsform
einer Umschaltsteuereinheit,
-
4 eine
andere Ausführungsform
einer Umschaltsteuereinheit, und
-
5 eine Umschalteinheit.
-
1 zeigt
eine Datenverarbeitungsanordnung. Die Anordnung umfasst Verarbeitungseinheiten 10a,
b, eine Anzahl Speichereinheiten 18a-c, eine Umschalteinheit 17 und
eine Umschaltsteuereinheit 16. Jede Datenverarbeitungseinheit 10a,
b hat Verbindungen zu einem betreffenden Adressen/Steuerbus 14, 15 und
zu einem betreffenden Datenbus 12, 13. Der Adressenbus 12 und
der Datenbus 14 der ersten Verarbeitungseinheit 10a sind
mit einem ersten Port der Umschalteinheit 17 und einer
ersten Speichereinheit 18a verbunden. Der Adressen/Steuerbus 13 und
der Datenbus 15 einer zweiten Verarbeitungseinheit 10a sind
mit einem zweiten Port der Umschalteinheit 17 gekoppelt.
Weiterhin sind die Adressen/Steuerbusse 14, 15 der
ersten und der zweiten Verarbeitungseinheit 10a, b mit
der Umschaltsteuereinheit 16 gekoppelt. Die Umschaltsteuereinheit 16 ist
mit einem Steuerausgang mit der Umschalteinheit 17 gekoppelt.
Die Umschalteinheit 17 hat dritte und vierte Porte mit
Verbindungen für Adressen/Steuer-
und Datenbusleitungen zu einer zweiten bzw. einer dritten Einheit
von Speichereinheiten 18a-c.
-
Im
Betrieb führen
die Verarbeitungseinheiten 10a, b Programme durch, die
Instruktionen zum Lesen und/oder Schreiben von Daten von und zu
den Speicherstellen umfassen. Die Instruktionen definieren die Adressen
der betreffenden Speicherstellen. In Reaktion auf die Instruktionen
liefern die Verarbeitungseinheiten 10a, b diese Adressen
zu den Speichereinheiten 18a-c über die Adresse/Steuerbusse. Abhängig davon,
ob die Instruktionen gelesene oder geschriebene Instruktionen sind,
lesen die Verarbeitungseinheiten 10a, b auch Daten über die
Datenbusse 12, 13 oder schreiben Daten über die
Datenbusse 12, 13. Die Speichereinheiten 18a-c,
welche die Stelle enthalten, die von den Adressen adressiert sind, führen Daten
von den adressierten Stellen zu den Datenbussen 12, 13 zurück oder
speichern Daten von diesen Datenbussen 12, 13 an
den adressierten Stellen.
-
Eine
erste und eine zweite Speichereinheit 18b, c enthalten
Stellen, die von denselben Adressen adressiert sind. Je nach einem
Steuersignal von der Umschaltsteuereinheit 16 führt die
Umschalteinheit 17 diese Adresse selektiv der ersten oder
der zweiten Speichereinheit 18b, c zu. Auf gleiche Weise
werden die Daten entsprechend diesen Adressen der selektierten Speichereinheit 18b,
c zu. Auf diese Weise adressiert je nach einem Zustand der Umschaltsteuereinheit 16 die
Adresse von einer Verarbeitungseinheit 10a, b entweder
eine Stelle in der ersten Speichereinheit 18b oder in der
zweiten Speichereinheit 18c. Wenn die Adresse von der ersten
Verarbeitungseinheit 10a außerhalb des Bereichs von Adressen,
die Stellen in der ersten und in der zweiten Speichereinheit 18b,
c adressieren, kann die Adresse eine dritte Speichereinheit 18a direkt
adressieren, d.h. nicht über
die Umschalteinheit 17.
-
Obschon
nur eine einzige direkt adressierte dritte Speichereinheit 18a dargestellt
ist, dürfte
es einleuchten, dass eine Anzahl derartiger direkt verbundener Speichereinheiten
im Wesentlichen vorhanden sind, einige mit dem Adressier/Steuerbus 14 und
dein Datenbus 12 der ersten Verarbeitungseinheit 10a und
andere mit dem Adressier/Steuerbus 15 und dem Datenbus 13 der
zweiten Verarbeitungseinheit 10b gekoppelt sind.
-
Die
Umschaltsteuereinheit 16 enthält eine (nicht dargestellte)
Zustandsfesthalteschaltung, wie ein Zustandsregister, das die Zustandsinformation festhält, die
bestimmt, welche der Speichereinheiten 18b, c mit dem Adressier/Steuerbus 14, 15 und
dem Datenbus 12, 13 von welchen der Verarbeitungseinheiten 10a,
b verbunden ist. Die schal tende Steuereinheit 16 aktualisiert
diese Zustandsinformation in Abhängigkeit
von Adressen, die von den Verarbeitungseinheiten 10a, b über die
Adressier/Steuerbusse 14, 15 empfangen worden
sind. Die schaltende Steuereinheit 16 benutzt diese Adressen
zum Detektieren des Starts verschiedener Perioden eines Periodenmusters
in der Adresse. Jedes Mal, dass die schaltende Steuereinheit 16 den
Start einer Periode detektiert, aktualisiert die Zustandsinformation,
so dass die Adressen danach einer anderen Speichereinheit 18b,
c zugeführt
werden. Es gibt mehrere Möglichkeiten
den Start einer Periode zu detektieren.
-
2 zeigt
eine erste Ausführungsform
der schaltenden Steuereinheit 16 in der einfachsten Form,
wobei nur ein einziges Signal zur Steuerung der schaltenden Einheit 17 erzeugt
wird. In dieser Ausführungsform
enthält
die schaltende Steuereinheit 16 einen Adressenvergleicher 20a,
der mit dem Adressier/Steuerbus 14 gekoppelt ist. Der Vergleicher 20a hat
einen Ausgang, der mit einem Zustandsregister 22a gekoppelt
ist, der an sich wieder einen Ausgang hat, der mit einer Steuereinheit
der (nicht dargestellten) schaltenden Einheit 17 gekoppelt
ist. Im Betrieb vergleicht der Vergleicher 20a Adressen
von dein Adressier/Steuerbus 14 mit einer eingestellten
Adresse. Wenn die eingestellte Adresse detektiert wird, sorgt der
Vergleicher 20a dafür,
dass der Inhalt des Zustandsregisters 22 umschaltet, was an
sich wieder dafür
sorgt, dass die Umschalteinheit 17 die Speichereinheiten 18b,
c tauscht, die mit der ersten und der zweiten Verarbeitungseinheit 10a,
b gekoppelt sind.
-
Eine
andere Ausführungsform
der Umschaltsteuereinheit 16 hat dieselbe Struktur wie
in 2 dargestellt, aber in dieser Ausführungsform
ist der Vergleicher 20a ein Vergleicher, der signalisiert, wenn
die Adresse irgendwo in einem Bereich der Adressen ist, die Stellen
in der ersten oder in der zweiten Speichereinheit 18b,
c adressiert (beispielsweise dadurch, dass zwei Vergleiche angestellt
werden, die auf eine Adresse niedriger als eine obere Grenzadresse
und höher
als eine untere Grenzadresse sind, oder dadurch, dass nur ein signifikanterer
Teil der Adresse verwendet wird). In dieser Ausführungsform ist die Einheit 22a ein
Zähler,
der die Anzahl Male zählt,
dass Adressen in dem Bereich adressier werden, ein Zustandsregister
rückstellt
und aktualisiert, das die Verbindungen steuert, die von der Umschalteinheit 17 am
Anfang einer neuen Periode gemacht wurden, wenn eine bestimmte Anzahl Adressen
gezählt
worden ist. Eine derartige bestimmte Anzahl kann eine vorbestimmte
Anzahl oder eine programmierbare Anzahl sein, die von einem Programmeingestellt
wird, das von einer der Verarbeitungseinheiten 18b, c durchgeführt wird.
In dieser Ausführungsform
kann eine Schaltungsanordnung als Vergleicher 20a verwendet
wer den, das ein Freigabesignal für
die Speichereinheit 18b, c erzeugt (oder ein Chipfreigabesignal,
wenn jede Speichereinheit 18b, c aus einem Speicherchip
besteht), wobei dieser Vergleicher dann in diesem Fall dazu verwendet
werden kann, um Freigabesignale für die Speichereinheit für die Speichereinheit 18b,
c zu liefern, und zwar abhängig
von der Speichereinheit, die selektiert worden ist.
-
3 zeigt
eine weitere Ausführungsform der
Umschaltsteuereinheit 16. In dieser Ausführungsform
enthält
die Umschaltsteuereinheit 16 einen Leseänderungsschreibspeicher 30,
einen Detektor 32 und eine Flip-Flop-Schaltung 34.
Der Adressier/Steuerbus 14 ist mit einem Adresseneingang des
Leseänderungsschreibspeichers 30 gekoppelt und
ein Datenausgang des Speichers 30 ist mit einem Eingang
des Detektors 32 gekoppelt. Ein Ausgang des Detektors 32 ist
mit einem Eingang der Flip-Flop-Schaltung 34 gekoppelt,
von der ein Ausgang mit dem Ausgang der Umschaltsteuereinheit 16 gekoppelt
ist. Der Ausgang des Detektors 32 ist weiterhin mit einem
Rückstelleingang
des Speichers 30 gekoppelt. Der Speicher 30 hat
eine betreffende Speicherstelle für jeden Adressenwert, die benutzt werden
kann zum Adressieren von Stellen in dem ersten und zweiten Speicher 18b,
c.
-
Im
Betrieb detektiert diese Ausführungsform der
Umschaltsteuereinheit 16 den Start einer neuen Adressierungsperiode
durch Überprüfung auf
wiederholte Adressierung einer Adresse in der ersten oder in der
zweiten Speichereinheit 18a, b. Der Speicher 30 behält Information
für jeden
Adressenwert fest, die angibt, ob der Adressenwert in einer aktuellen
Periode verwendet worden ist. Die Adressen, die Stellen in dem ersten
oder in dem zweiten Speicher 18b, c adressieren, adressieren
auch Stellen in dem Speicher 30. Zunächst stellt beim Start einer
Periode der Detektor 32 den Inhalt des Speichers 30 zurück. Jeweils,
wenn eine derartige Adresse empfangen wird, wird der Inhalt der
betreffenden Stelle in dem Speicher 30 eingestellt. Die
Daten, die vorher an dieser Stelle in dem Speicher 30 gespeichert
waren, werden von dem Detektor getestet. Wenn diese Daten eingestellt
worden sind, signalisiert der Detektor 32 eine Wiederholung
der Periode, wodurch der Dateninhalt in der Flip-Flop-Schaltung 34 umschaltet und
der Inhalt des Speichers 30 rückgestellt wird. Der Dateninhalt
der Flip-Flop-Schaltung 34 steuert die durch die Schalteinheit 17 gemachte
Verbindung. Diese Ausführungsform
ermöglicht
es, eine verfeinerte Form der Periodendetektion zu schaffen, wobei beispielsweise
ignoriert wird, wenn bestimmte Adressen in einer bestimmten Periode
nicht verwendet werden.
-
Bei
einer weiteren Ausführungsform
kann der Detektor 32 durch einen Zähler ersetzt werden, der zählt, wie
oft Daten, die aus dem Speicher 30 ausgelesen wurden, angaben,
dass eine Adresse in einer Periode zum ersten Mal verwendet wurde.
In dieser Ausführungsform
signalisiert dieser Zähler eine
neue Periode (wodurch eine Umschaltung durch die Umschalteinheit 17,
eine Rückstellung
des Speichers 30 und eine neue Periode des Zählprozesses ausgelöst wird),
wenn ein bestimmter Zählwert überschritten
wird. Auf diese Weise signalisiert die Umschaltsteuereinheit eine
neue Periode, wenn genügend
verschiedene Stellen (mehr als die bestimmte Anzahl) adressiert
worden sind. Die bestimmte Anzahl kann vorbestimmte oder von den
Verarbeitungseinheiten 10a, b, beispielsweise mit Hilfe
eines Registers, das mit wenigstens einer der Verarbeitungseinheiten
zum Einstellen eines Anfangswertes des Zählers gekoppelt ist, programmierbar
sein. Diese Ausführungsform
ermöglicht
es, eine verfeinerte Periodendetektion zu verwirklichen, beispielsweise durch
Ignorierung wiederholter Zugriffsvorgänge mit derselben Adresse.
-
Obschon
die anhand der 2 und 3 bisher
beschriebenen Ausführungsformen
eine Detektion der Periode von Adressen an einem der Adressier/Steuerbusse 14 zeigen,
dürfte
es einleuchten, dass die Adressier/Steuerbusse 14, 15 verwendet
werden könnten,
oder dass Adressen von einer Kombination der Busse verwendet werden
könnte, wobei
beispielsweise geschaltet wird, wenn der Start einer neuen Periode
in einer der Verarbeitungseinheiten 10a, b detektiert worden
ist. Wenn die Umschalteinheit 17 eine gleichzeitige Verbindung
von mehr als nur einer Verarbeitungseinheit 10a, b mit derselben
Speichereinheit ermöglicht,
(beispielsweise auf eine zeitverschachtelten Weise oder auf Basis von
einer Antragsbeurteilung), kann die Umschaltsteuereinheit 16 die
Busverbindungen der Verarbeitungseinheiten 10a, b unabhängig von
einander zwischen den zwei Speichereinheiten 18b, c umschalten.
Dazu kann die Umschaltsteuereinheit 16 mit zwei Detektionsschaltungen
versehen sein, die beispielsweise je von dem Typ sein, wie im Kontext
der 2 oder 3 beschrieben, die mit je einem
Daten- und Adressenbus gekoppelt sind und die je steuern, mit welcher
Speichereinheit 18b, c dieser Adressenbus verbunden wird.
-
3a zeigt
ein Beispiel einer Ausführungsform
der Umschaltsteuereinheit 16, in der Adressen von einer
Kombination von Bussen verwendet werden. Die Ausführungsform
enthält
eine erste und eine zweite Wiederholungsdetektionseinheit 300a,
b, einen Zustandsvergleicher 302 und ein Steuerregister 304.
Jede der Wiederholungsdetektionseinheiten 300a, b kann
einen Adressenvergleicher oder einen Speicher mit einem Detektor
ent halten, wie in den 2 und 3 dargestellt.
Ausgänge
der Wiederholungsdetektionseinheiten 300a, b sind mit dem
Zustandsvergleicher 302 gekoppelt, der seinerseits einen
Aktualisierungsausgang aufweist, der mit dem Steuerregister 304 gekoppelt
ist. Das Steuerregister 304 hat einen Steuerausgang, der
mit der (nicht dargestellten) Umschalteinheit 17 gekoppelt
ist.
-
Im
Betrieb detektieren die Wiederholungsdetektionseinheiten 300a,
b Wiederholungen in dem Adressierungsmuster von einigen der Verarbeitungseinheiten,
beispielsweise wie in dem Kontext der 2 und 3 beschrieben.
Bei Detektion einer Wiederholung senden die Wiederholungsdetektionseinheiten 300a,
b ein Signal zu dem Zustandsvergleicher 302. In einer einfachen
Ausführungsform
behält der
Zustandsvergleicher 302 Zustandsbits fest, die eingestellt
werden, wenn die betreffenden Wiederholungen eingestellt werden
und der Zustandsvergleicher das Steuerregister 304 schaltet,
wenn die Zustandsbits einmal eingestellt worden sind, wobei die Zustandsbits
gelöscht
werden. In dieser Ausführungsform
werden Zugriffsvorgänge
von einer bestimmten Verarbeitungseinheit vorzugsweise suspendiert,
wenn das Zustandsbit für
diese Verarbeitungseinheit einmal eingestellt worden ist.
-
In
einer anderen Ausführungsform
verzögert der
Zustandsvergleicher 302 nicht die Aktualisierung des Steuerregisters 304 bis
die Zustandsbits für
alle Verarbeitungseinheiten eingestellt worden sind, sondern erzeugt
beispielsweise eine Aktualisierung zur abwechselnden Abbildung von
Adressen von jeder bestimmten Verarbeitungseinheit, wenn die Wiederholung
in dem Adressenmuster aus dieser bestimmten Verarbeitungseinheit
einmal aufgetreten ist, es sei denn, dass kein Wechsel in der Abbildung
von Adressen von einer anderen Verarbeitungseinheit seit dem letzten
Wechsel der Abbildung der betreffenden Verarbeitungseinheit aufgetreten
ist.
-
Obschon
nur die Verwendung von Adressen zur Steuerung der Umschaltung dargestellt
ist zum Schaffen eines einfachen Entwurfs, dürfte es einleuchten, dass in
komplexeren Entwürfen
andere Steuersignale von dem Adressier/Steuerbus 14, 15 auch
verwendet werden können.
So kann beispielsweise die Umschaltsteuereinheit 16 derart
entworfen sein, dass sie Adressen nur dann benutzt, wenn sie zum
Auslesen verwendet werden oder nur dann, wenn sie zum Schreiben
verwendet werden. Dies macht es möglich, dass eine verfeinerte
Periodendetektion, beispielsweise durch Ignorierung von Lesevorgängen, verwirklicht
wird.
-
Weiterhin
kann, obschon vorausgesetzt worden ist, dass die in 2 und 3 dargestellten einfachen
Umschaltsteuereinheiten Wiederholungen in einem festen Bereich von
Adressen oder einer festen Adresse detektieren, als eine Alternative
ein programmierbarer Bereich oder eine programmierbare Adresse verwendet,
werden, gesteuert, beispielsweise durch Verwendung eines oder mehrerer
Register in dem Vergleicher 20a zum Definieren eines Detektionsbereichs,
wobei das Register mit wenigstens einer der Verarbeitungseinheiten
gekoppelt ist, so dass diese Verarbeitungseinheit Werte in diese
Register einschreiben kann, so dass diese Verarbeitungseinheit unter
Programmsteuerung Werte in diese Register schreiben kann.
-
Auf
gleiche Weise kann ein Adressenbereichsdetektor dem Detektor nach 3 hinzugefügt werden,
und zwar dadurch, dass für
jede Adresse detektiert wird, ob diese in einem programmierbaren Bereich
ist. Wenn eine Wiederholung einer Adresse mit Hilfe des Lesen-Modifizieren-Schreiben-Speichers
detektiert wird, wird eine Widerholung nur dann signalisiert, wenn
die Adresse sich in dem programmierten Bereich befindet. Auf diese
Weise können die
Kriterien für
die Detektion von Wiederholungen von Adressenmustern in Abhängigkeit
von dem unter Programmsteuerung verwendeten Programm eingestellt
werden. Auf gleiche Weise können
die Kriterien für
Detektionswiederholungen von einer Kombination von Verarbeitungseinheiten 10a,
b programmgesteuert werden.
-
Vorzugsweise
sind alle Adressen, die für
die Detektionswiederholungen in den anhand der 2 und 3 beschriebenen
Ausführungsformen
nur Adressen in dem Bereich der Adressen, die Speicherstellen in
den Speichereinheiten 18b, c adressieren. Aber bei einer
weiteren Ausführungsform
können
Adressen außerhalb
dieses Bereichs verwendet werden. Auf diese Weise ist es möglich, dass
eine große
Variation von Zugriffsmustern mit Adressen in den Speichereinheiten 18b,
c erlaubt wird, die über die
Umschalteinheit 17 verbunden sind, während dennoch eine Detektion
der Wiederholung erlaubt ist, und zwar unter Verwendung der Adressen
außerhalb des
Bereichs von Adressen dieser Speichereinheiten 18b, c.
-
4 zeigt
eine Ausführungsform
der Umschalteinheit 17. Die Ausführungsform enthält selektierbare
Adressen/Datenbustreiber 40a, b, 42a, b. Ein erster
Adressen/Datenbustreiber 40a ist zwischen dem Adressier/Steuerbus 14 und
dem Datenbus der ersten Verarbeitungseinheit 10a (nicht
dargestellt) einerseits, und den Daten/Adressenverbindungen für die erste
Speichereinheit 18a (nicht dargestellt) anderseits vorgesehen.
Ein zweiter Adressen/Datenbustreiber 40b ist zwischen dem
Adressier/Steuerbus 14 und dem Datenbus 12 der
ersten Verarbeitungseinheit 10a (nicht dargestellt) einerseits
und den Daten/Adressenverbindungen für die zweite Speereinheit 18b (nicht
dargestellt) anderseits vorgesehen. Ein dritter Adressen/Datenbustreiber 42a ist
zwischen dem Adressier/Steuerbus 15 und dem Datenbus 13 der
zweiten Verarbeitungseinheit 10b (nicht dargestellt) einerseits
und den Daten/Adressenverbindungen für die erste Speichereinheit 18a (nicht
dargestellt) andererseits. Ein vierter Adressen/Datenbustreiber 42b ist
zwischen dem Adressier/Steuerbus 15 und dem Datenbus 13 der zweiten
Verarbeitungseinheit 10b (nicht dargestellt) einerseits
und den Daten/Adressenverbindungen für die zweite Speichereinheit 18b (nicht
dargestellt) anderseits vorgesehen.
-
Die
Umschalteinheit 17 hat einen Eingang 44 für ein Steuersignal,
das den Freigabeeingängen
der Adressen/Datenbustreiber 40a, b, 42a, b zugeführt wird,
so dass der erste sowie vierte Adressen/Datenbustreiber 40a, 42b gleichzeitig
freigegeben werden oder der zweite und dritte Adressen/Datenbustreiber 40b, 42a gleichzeitig
freigegeben werden, und zwar abhängig
von einem Steuersignal von der Umschaltsteuereinheit 16 (nicht
dargestellt). Wenn freigegeben, lassen die Adressen/Datenbustreiber 40a,
b, 42a, b Datensignale und Adressensignale durch.
-
Im
Rahmen der vorliegenden Erfindung können komplexere Steuersignale
verwendet werden, beispielsweise Steuersignale, die es ermöglichen, dass
der erste und der zweite Adressen/Datenbustreiber 40a,
b unabhängig
von dem dritten und vierten Adressen/Datenbustreiber 42a,
b gesteuert werden, unter der Bedingung, dass ein gewisser Teilungsmachanismus
vorgesehen ist, der einen gemeinsamen Zugriff auf die Speichereinheiten 18a,
b ermöglicht (beispielsweise
ein Zeitschlitzmultiplexmechanismus, ein Prioritätsmechanismus oder ein Entscheidungsmechanismus).
-
Die
Umschalteinheit 17 kann auf einfache Art und Weise erweitert
werden um eine größere Anzahl Verarbeitungseinheiten
und/oder Speichereinheiten unterstützen zu können. Mehr Verarbeitungseinheiten
werden dadurch unterstützt,
dass mehr Adressen/Datenbustreiber hinzugefügt werden; mehr Speichereinheiten
werden unterstützt,
wenn mehr Adressen/Datenbustreiber miteinander verbunden werden. Mehr
als zwei Speichereinheiten können
verwendet werden, beispielsweise um Adressen aus den Verarbeitungseinheiten 10a,
b in verschiedenen Speichern abzubilden. Dazu können statt der in den 2 und 3 dargestellten
Flip-Flop-Schaltungen Zykluszähler
für jede
der Verarbeitungseinheiten 10a, b verwendet werden, und
zwar um zu selektieren, welche der Speichereinheiten 18a,
b von jeder der Verarbeitungseinheiten 10a, b adressiert
werden. Dies mach es leichter möglich,
das Abbilden von Adressen aus den einzelnen Verarbeitungseinheiten 10a,
b umzuschalten, wenn einmal eine Wiederholung detektier worden ist,
ohne dass dadurch Speicherkonflikte verursacht werden. Unter Programmsteuerung
können verschiedene
Zyklen der Speichereinheiten 18a, b selektiert werden,
beispielsweise durch Abwechselung einiger Adressen zwischen einem
ersten Paar Speichereinheiten und der abwechselnden Adressierung
anderer Adressen zwischen einem zweiten Paar Speichereinheiten,
oder der zyklischen Abbildung der Adressen über drei Speichereinheiten.
-
Es
dürfte
einleuchten, dass die Anordnung es ermöglicht, dass eine Verarbeitungseinheit 10a,
b Stellen in betreffen Speichereinheiten 18a, b mit derselben
Adresse adressiert. Steuerung der Speichereinheit, in der die Stelle
adressiert ist, wird durch eine Umschaltsteuereinheit durchgeführt, die
außerhalb der
Verarbeitungseinheit liegt und die in Abhängigkeit von der Detektion
des Starts einer Wiederholung eines periodischen Musters die Umschaltung
selektiert. Obschon dieselbe Adresse von jeder Verarbeitungseinheit 10a,
b Stellen in verschiedenen Speichereinheiten 18a, b in
Abhängigkeit
von dem Zustand der Umschaltsteuereinheit 16 adressiert,
ist es nicht unbedingt notwendig, dass Stellen in den Speichereinheiten 18a,
b durch dieselben Adressen von verschiedenen Verarbeitungseinheiten 10a,
b adressiert werden. Ein gewisser Adressenübersetzungsmechanismus (wenn
nur Unterdrückung
eines signifikanteren Teils der Adresse, die zum Unterscheiden von
Adressen innerhalb der Speichereinheiten 18a, b nicht notwendig
ist) kann zwischen die Verarbeitungseinheiten 10a, b und
die Speichereinheiten 18a, b eingeschlossen werden, und
zwar in Abhängigkeit von
der Verarbeitungseinheit, von der die Adresse geliefert wird.