DE2311503A1 - Datenverarbeitungsanlage mit mehreren zentraleinheiten - Google Patents
Datenverarbeitungsanlage mit mehreren zentraleinheitenInfo
- Publication number
- DE2311503A1 DE2311503A1 DE19732311503 DE2311503A DE2311503A1 DE 2311503 A1 DE2311503 A1 DE 2311503A1 DE 19732311503 DE19732311503 DE 19732311503 DE 2311503 A DE2311503 A DE 2311503A DE 2311503 A1 DE2311503 A1 DE 2311503A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- psa
- cpu
- memory block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
Description
Böblingen, 6. März heb-oh
Anmelderin: International■Business Machines
Corporation, Armonk, N.Y. 10504
Amtl. Aktenzeichen: Neuanmeldung 231 I 0 U3
Aktenzeichen der Anmelderin: KI 971 002
Die Erfindung betrifft eine Datenverarbeitungsanlage mit mehreren
Zentraleinheiten, die gemeinsam auf einen Hauptspeicher arbeiten, und insbesondere eine Anordnung zum Zuteilen von Voradressen,
welche dynamisch Speicherbereiche jeder Recheneinheit oder Zentraleinheit in dem System zuteilt.
Anordnungen zur Zuteilung von Voradressen in Mehrprozessorsystemen
sind beispielsweise in der US Patentschrift 3 555 513, ausgegeben am 12. Januar 1971, beschrieben. Dabei werden die Adreßwerte jeder
Zentraleinheit durch eine für jede Zentraleinheit unterschiedliche Konstante modifiziert, so daß jede Zentraleinheit zu einem
bestimmten Abschnitt des Speichers Zugriff hat. Zur Überwachung
aer Adreßgrenzen sina Schaltmittel vorgesehen, die verhindern, daß eine Zentraleinheit zu einem Speicherbereich Zugriff erhält,
aer einer anderen Zentraleinheit zugeordnet ist. Bei moderneren und komplizierteren Mehrprozessorsystemen ist es für eine wirksamere
Ausnutzung des Hauptspeichers notwendig, daß nicht nur alle Zentraleinheiten den Speicher gemeinsam benutzen können,
sonctern aaß auch jede Zentraleinheit zu den Speicherbereichen Zugriff
erhalten kann, die normalerweise anderen Zentraleinheiten aes Systems zugeordnet sind. In modernen Multiprozessorsystemen
kann dann uer Hauptspeicher in solche Bereiche unterteilt werden,
309840/0810
die ganz speziell und ausschließlich jeder Zentraleinheit für sich
zugeordnet sind und in andere Speicherbereiche, die allen Zentraleinheiten des Systems gemeinsam zur Verfügung stehen. Jeder fest
zugeteilte Bereich kann damit als vorbestimmter Speicherbereich (PSA) bezeichnet werden und kann Daten und Programme enthalten,
die nur und ausschließlich einer bestimmten Zentraleinheit zugeordnet sind. Die in einem solchen Speicherbereich (PSA) enthaltene
Information kann Programm- und Kanalstatusworte, einen Taktgeber, Indikatoren für die Programmunterbrechung, Diagnostikprogramme,
einen separaten Arbeitsspeicherbereich, die zeitweise Speicherung allgemeiner Register und von Kommunikationsprogrammen
für den Verkehr zwischen den einzelnen Zentraleinheiten, Fehlerbeseitigung sprogramme und dergleichen enthalten. Ein solcher Speicherbereich
kann beispielsweise einen Block von 4096 (4K) Bytes im Speicher belegen und einem vorbestimmten Speicherblock, wie z.B.
den ersten 4096 Speicherplätzen, zugeordnet sein. Für einen Verkehr der Zentraleinheiten untereinander und um den Eingriff des
Bedienungspersonals auf ein Minimum zu reduzieren, ist es erwünscht,
daß, abweichend von dem bekannten System gemäß der USA-Patentschrift
3 555 513, jede aktive Zentraleinheit nicht nur zu ihrem eigenen PSA-Bereich, sondern auch zu den PSA-Bereichen der
anderen Zentraleinheiten Zugriff hat. Außerdem ist es für einen effektiven Betrieb der Datenverarbeitungsanlage erwünscht, daß
jede Zentraleinheit den gleichen vorbestimmten Speicherblock wie seinen eigenen PSA adressiert.
Eine Anordnung mit zwei Zentraleinheiten mit gemeinsamer Speicherbenutzung
und zeitlicher Verschachtelung der eigentlichen Datenverarbeitung gibt es innerhalb des IBM Systems /360. In diesem
System wird jeder Zentraleinheit ein besonderer Speicherblock mit 4K-Speicherplätzen als eigener Speicherblock (PSA) zugeteilt. Das
wird dadurch erreicht, daß man für jede Zentraleinheit eine verschiedene Voradresse vorsieht. Demgemäß adressiert jecte Zentraleinheit
logisch ihren eigenen Speicherblock PSA als Speicherplätze 0 bis 4K und die Voradresse wird unmittelbar zur Speicheradresse
hinzuaddiert, wodurch die echte Speicheradresse, die dein zugeord-
Ki 971 002 309840/0810
neten Speicherblock (PSA) zugeteilt ist, ermittelt wird. Jede Zentraleinheit spricht außerdem den PSA-Speicherblock der anderen
Zentraleinheit dadurch an, daß die Speicherplätze des PSA-Speicherblocks der anderen Zentraleinheit unmittelbar angesprochen werden.
Bei dieser Anordnung wird daher der PSA-Speicherblock jeder Zentraleinheit indirekt angesprochen durch einen Vorsatzcode oder
eine Voradresse zu den Adressen im O bis 4K-Bereich und der PSA-Speicherblock
der anderen Zentraleinheit wird durch seine echten Speicheradressen unmittelbar angesprochen. Bei dieser Anordnung
sind jedoch die Voradreßwerte nicht veränderbar, es sei denn durch Umschalten im Speicher und die Speicherplätze O bis 4K können nicht
benutzt werden, da alle Bezugnahmen auf diese Speicherplätze verschoben werden. Eine andere Anordnung wurde bereits in einem IBM
System /360 Modell 65 Mehrprozessorsystem für gemeinsame Benutzung des Hauptspeichers angewandt. In diesem System ist nur einer der
beiden Zentraleinheiten ein Voradreßwert zugeordnet, so daß die
Speicherplätze 0 bis 4K der einen Zentraleinheit ohne Voradresse
zugeordnet werden können. Bei dieser Anordnung adressiert die ohne Voradresse arbeitende Zentraleinheit ihren Speicherblock PSA
als Speicherplätze 0 bis 4K und die andere Zentraleinheit adressiert ihren PSA-Speicherblock als Speicherplätze T bis 4K bis T,
wobei T die höchste Speicheradresse im System darstellt. Andererseits spricht die Zentraleinheit mit Voradresse ihren eigenen PSA
als Speicherplätze O bis 4K an, jedoch werden diese Adressen verschoben
nach dem zugeordneten PSA-Speicherblock mit den Speicherplätzen T bis 4K bis T. Die mit Voradresse arbeitende Zentraleinheit
spricht natürlich auch den PSA-Speicherblock der anderen Zentraleinheit als Speicherplätze T bis 4K bis T an, aber in
diesem Fall wird der Voradresswert von der Speicheradresse abgezogen, um die Speicheradresse nach den Speicherplätzen 0 bis 4K
zu verschieben, die den PSA-Speicherblock der Zentraleinheit ohne Voradresse bezeichnen. Bei dieser Anordnung benutzt also die Zentraleinheit
mit Voradresse eine Anordnung mit Vorwärtsverschiebung der Speicheradresse, um den eigenen Speicherblock anzusprechen
und eine rückwärtsgerichtete Verschiebung der Voradresse, um den PSA-Speicherblock der Zentraleinheit ohne Voradresse anzu-
Ki 971 002 30 98 A07 0 8 10
steuern. Bei dieser Anordnung muß jedoch eine Zentraleinheit iiumer die Speicherplätze O bis 4K als ihren· eigenen PSA-Speicherblock
benutzen und der Voradreßwert der anderen Zentraleinheit ist nicht veränderbar, es sei denn durch Umschalten im Speicher
selbst.
Aus den vorangegangenen Ausführungen erkennt man, daß die bisher
bekanntgewordenen Lösungen für das der Erfindung zugrunde liegende Problem einige Nachteile aufweisen, und daß es erwünscht ist, eine
Lösung zu finden, die die Vorteile der bisher bekannten Lösungen beibehält und doch ihre Nachteile weitgehend vermeidet.
Gemäß der vorliegenden Erfindung wird somit eine Anordnung für die Zuordnung von Voradressen für ein Mehrprozessorsystem geschaffen,
das jede beliebige Anzahl von Zentraleinheiten oder Prozessoren enthalten kann. Alle diese Zentraleinheiten adressieren logisch
den gleichen vorbestimmten Speicherblock, nämlich die Speicherplätze O bis 4K als ihres eigenen PSA-Speicherblocks, der damit
als logischer PSA-Speicherblock bezeichnet werden kann. Ferner werden alle Aufrufe der Zentraleinheiten mit unterschiedlichen
Voradressen versehen, die in getrennten Steuerregistern untergebracht und je einer Zentraleinheit zugeordnet sind. Die Steuerregister
sind unter Programmsteuerung ansteuerbar, so daß die Werte
aer Voradressen in den Steuerregistern dynamisch veränderbar sind. Aus diesem Grund kann ein PSA-Speicherblock für eine Zentraleinheit einem logischen PSA-Speicherblock zugeordnet sein, nämlich
den Speicherplätzen O bis 4K, indem man den Voradreßwert O im zugeordneten
Steuerregister einspeichert oder der PSA-Speicherblock kann nach jedem beliebigen anderen Speicherblock von 4K dadurch
verschoben werden, daß der der Zentraleinheit zugeordnete Voradreßwert geändert wird. Somit kann also der PSA-Speicherblock für jede
Zentraleinheit selektiv entweder dem logischen PSA-Speicherblock oder jedem anderen 4K-Speicherblock zugeordnet werden. Im Betrieb
wira ein Überwachungsprogramm einen Voradreßwert O in eines der Steuerregister, die der Zentraleinheit zugeordnet sind, laden und
andere Voradreßwerte in die den anderen Zentraleinheiten des Sy-
309840/0810
KI 971 üü2
stems zugeordneten Steuerregister. Logische Schaltungen für die
Voradresse sind in jeder Zentraleinheit vorgesehen, um den Voradreßwert
und die durch die zugeordnete Zentraleinheit angesprochene Adresse zu überwachen. Wenn die logischen Schaltungen für
die Voradresse eine Bezugnahme auf den logischen PSA-Speicherblock
feststellen, dann wird diese Speicherbezugnahme nach vorwärts auf einen Speicherplatz in dem" zugeordneten PSA-Speicherblock dadurch
verschoben, daß der Voradreßwert zu dem Speicherbezugswert hinzuaddiert wird. Andererseits aber, wenn die logischen Schaltungen
für die Voradresse eine Bezugnahme auf den zugeordneten PSA-Speicherblock für diese Zentraleinheit feststellen, dann wird die
Speicherbezugnahme nach rückwärts auf einen Bereich in des logischen
PSA verschoben durch Subtrahieren des Voradreßwertes von dem angesprochenen Speicheradreßwert.
Damit soll also erreicht werden, daß bei einem Mehrprozessorsystem
mit gemeinsamen Speichern alle Zentraleinheiten dynamischen Zugriff zu allen Speicherplätzen erhalten, wobei es auf die Anzahl
der tatsächlich vorhandenen Zentraleinheiten nicht ankommt. Vorzugsweise wird die Anordnung dabei so getroffen, daß in einem
solchen System vorbestimmte Speicheradressen jeder Zentraleinheit des Systems dynamisch nach vorwärts oder rückwärts in einen anderen
Speicherbereich verschoben werden können. Jede Zentraleinheit enthält dabei Schaltmittel zur Überwachung aller angesprochenen Speicheradressen
und verschiebt damit selektiv die Speicheradresse in Übereinstimmung mit dem angesprochenen Adressenbereich.
Die Erfindung wird nunmehr anhand eines Ausführungsbeispiels in Verbindung mit den beigefügten Zeichnungen näher beschrieben.
Dabei zeigt
Fig. 1 schematisch ein Blockschaltbild eines solchen
Mehrprozessorsystems mit gemeinsamem Speicher;
ϊX9. 2 schematisch axe Art der Adreßumsetzung und
κι 971 OO2 309840/0810
Fig. 3 schematisch. ein Blockschaltbild der logischen
Schaltungen zur Umwandlung von Voradressen in logische Adressen.
In Figur 1 ist rein schematisch ein Mehrprozessorsystem mit einer Anzahl von Zentraleinheiten CPU 1, CPU 2 bis CPU N gezeigt mit
einer Speichersteuerschaltung 100 und einem Hauptspeicher 200.
Jede der Zentraleinheiten, wie CPU 1, enthält ein Steuerregister,
wie z.B. Steuerregister 1, zum Speichern eines Voradreßwertes und eine Voradreßlogik zur überwachung des Inhalts des Steuerregisters
und der höherwertigen Bits der logischen Adressen. Die Voradreßlogik liefert einen unveränderten oder verschobenen hohen Adreßwert,
der mit den niederwertigen Adreßbits der logischen Adresse zur Bildung der tatsächlichen Speicheradresse verknüpft wird und
die tatsächliche Adresse über die SpeicherSteuerschaltung 100 zum
Adressieren des Hauptspeichers 200 liefert. Bei Verwendung von Adressen mit 24 Bit kann man sich den Hauptspeicher 200 als in
Reihen von Blocks zu 4K-Speicherplätzen unterteilt denken, bei
denen die 12 höherwertigen Bits der Adresse die Basisadresse eines Speicherblocks bilden und die niederwertigen 12 Bits in jedem
durch die höherwertigen Bits definierten Speicherblock die jeweiligen Speicherplätze angeben. Obgleich zur Erläuterung eine Adresse
mit 24 Bit und Speicherblockgrößen von 4K verwendet werden, läßt sich daraus jedoch keine Beschränkung der Erfindung auf ein
solches Adressiersystem oder eine solche Speicherblockgröße ableiten, da die Erfindung bei jedem Adressiersystem mit jeder
Blockgröße verwendbar ist. Der Voradreßwert ist ebenfalls eine Größe mit 12 Bit, die im Steuerregister in den Bitpositionen entsprechend
den höherwertigen Bits des Adressenwertes eingespeichert ist. Da der Voradreßwert in einem Steuerregister enthalten ist,
kann dieser Wert durch einen Befehl von einem Überwachungsprogramm eingestellt werden, das den in das Steuerregister zu ladenden
Wert bezeichnet. Somit läßt sich also im Steuerregister unter Steuerung durch das Überwachungsprogramiu jeder Wert einspeichern.
In dem dargestellten Beispiel wird ein Voraareßwert 0 in das
Steuerregister 1 , ein Voradreßwert Y in das Steuerregister 2 und
κι S71 002 309840/0810
ein Voradreßwert Z in das Steuerregister W eingespeichert. Jeder
dieser Werte kennzeichnet die Basisadresse des Speicherblocks, der dem PSA-Speicherblock der zugehörigen Zentraleinheit zugeordnet
ist. Somit liegt also der PSA-Speicherblock für CPU 1 bei den Speicherplätzen O bis 4K, der PSA-Speicherblock für CPU 2 an den
Speicherplätzen Y bis Y+4K und der PSA-Speicherblock für CPU N an den Speicherplätzen Z bis Z+4K. Wie man sieht, kann das Überwachung
sprogramm verschiedene Voradreßwerte in die Steuerregister einspeichern und diese Werte lassen sich dynamisch ändern. Beispielsweise
kann ein Voradreßwert O im Steuerregister 2 eingespeichert werden, wobei dann der PSA-Speicherblock für die CPU
axe Speicherplätze O bis 4K zugeordnet bekäme und wenn ein Voraareßwert
X im Steuerregister 1 stünde, dann wäre der PSA-Speicherblock für die CPU 1 die Speicherplätze X bis X+4K, in gestrichelter
Form dargestellt, bestimmt. Obgleich jeder Zentraleinheit ein anderer PSA-Speicherblock zugeordnet int, ruft doch
jede Zentraleinheit in logischer Form den Hauptspeicher so an, als ob sein PSA-Speicherblock an den Speicherplätzen O bis 4K
liegen würde. In Abhängigkeit jedoch von dem im zugehörigen Steuerregister eingespeicherten Voradreßwert wird der Speicheraufruf
nach einem Speicherplatz innerhalb des zugeordneten PSA-Speicherblocks verschoben.
Figur 2 zeigt vereinfacht eine Art Flußdiagramm zur Erläuterung aer Adreßumsetzung der Voradreßlogik jeder Zentraleinheit. Die
Voractreßlogik überwacht aie höherwertigen Bits der Adresse im
zugehörigen Adreßregister und die entsprechenden Bits des Voradreßwertes im zugehörigen Steuerregister. Wenn die Zentraleinheit
den logischen PSA-Speicherblock mit seinen Speicherplätzen ü bis 4K adressiert, dann wird die Voradreßlogik diesen Zustand
feststellen und den Voradreßwert zur logischen Adresse hinzuaddieren und daraus die echte Adresse des PSA-Speicherblocks der
entsprechenden Zentraleinheit ableiten. Für die CPU 1 wird z.B.
ein Voradreßwert O zum Speicheraufrufwert hinzuaddiert, so daß
sich dabei für den Speicheraufruf keine Änderung ergibt, während für die CPU 2 und die CPU lsi ein Voradreßwert von Y bzw. Z zu dem
κι 971 002 309840/0810
Speicheraufrufwert hinzuaddiert wird, um die Basisadresse nach
den entsprechenden PSA-Speicherblocks der CPU 2 bzw. CPU N zu verschieben. Wenn andererseits die CPU eine logische Adresse für
einen PSA-Speicherblock abgibt, der mit dem im Steuerregister eingespeicherten Wert identisch ist, beispielsweise die Speicherplätze
P bis P+4K, wobei P den Wert O, Y oder Z für die CPU 1,
CPU 2 bzw. CPU N haben kann, dann wird die Voradreßlogik effektiv den Voradreßwert von den höherwertigen Bits der logischen Adresse
subtrahieren und dadurch die Echtadresse ermitteln, die den Speicheraufruf
nach dem richtigen logischen PSA-Speicherblock verschiebt. Für die CPU 1 wird ein Voradreßwert 0 vom Speicheraufrufwert
abgezogen, so daß die echte Adresse gegenüber der logischen Adresse unverändert bleibt, während bei der CPU 2 und CPU N dann,
wenn der im Adreßregister eingespeicherte Wert mit dem Voradreßwert im Steuerregister identisch ist, die logischen Schaltmittel
effektiv den Voradreßwert vom Speicheraufrufwert abziehen und dadurch
einen Aufruf nach dem logischen PSA-Speicherblock erzwingen.
Liegt die logische Adresse nicht innerhalb des Adressenbereiches von O bis 4K oder von Pbis P+4K, dann wird die Voradreßlogik eine
Echtadresse liefern, die gegenüber der logischen Adresse unverändert ist. Dieser Voradreßalgorhythmus ist auf alle Zentraleinheiten
in dem System anwendbar, wobei CPU 2 und CPU N den allgemeinen Fall und CPU 1 einen spezifischen Fall kennzeichnen. Man
erkennt dabei für den allgemeinen Fall, beispielsweise für die CPU 2, daß die Zentraleinheit ihren eigenen PSA-Speicherblock so
aufruft, als ob es die Speicherplätze 0 bis 4K wären; mit der vorwartsgerxchteten Voradreßumwandlung wird ein solcher Aufruf
nach Speicherplätzen in dem PSA-Speicherblock verschoben, dem die Speicherplätze Y bis Y+4K zugeordnet sind. Wenn die CPU 2 Zugriff
zum PSA-Speicherblock der CPU 1 benötigt, dann wird ein Speicheraufruf nach den Speicherblöcken Y bis Y+4K abgegeben. Durch die
umgekehrte Voradreßumsetzung werden jedoch alle solche Aufrufe nach dem PSA-Speicherblock mit den Speicherplätzen 0 bis 4K verschoben,
nämlich dem PSA-Speicherblock für die CPU 1. Weiterhin, wenn die CPU 2 den PSA-Speicherblock für die CPU N erreichen will,
dann wird der Speicheraufruf nach dem PSA-Speicherblock mit den
κι 971 002 309840/0810
Speicherplätzen Z bis Z+4K gerichtet werden.und solche Aufrufe
werden ohne Änderung der logischen Adresse durchgeführt. Die CPU N wird in gleicher Weise wie die CPU 2 arbeiten.
In Figur 3 ist nun rein schematisch ein Blockschaltbild einer Voradreßlogik
gezeigt, die in jeder Zentraleinheit des Systems Verwendung finden kann. Die Voradreßlogik enthält eine Vergleichsschaltung,
die aus einer Anzahl von Exklusiv-ODER-Schaltungen 4
und ODER-Schaltungen 6 besteht. Die Exklusiv-ODER-Schaltungen 4 vergleichen die höherwertigen Bits der logischen Adressen auf den
Bitleitungen A8 bis A19 mit den entsprechenden Bits des Voradreßwertes
auf den Bitleitungen P8 bis P19. Die Ausgangssignale der
Exklusiv-ODER-Schaltungen 4 sind paarweise an die ODER-Schaltungen 6 angeschlossen, wie beispielsweise die Ausgangsleitungen
der Exklusiv-ODER-Schaltungen 4A und 4B mit den Eingängen der ODER-Schaltung 6A verbunden sind. Weiterhin sind die Ausgangsleitungen
der Exklusiv-ODER-Schaltungen 4 über Leitungen 5 mit entsprechenden Eingängen von UND-Torschaltungen 12 verbunden. Die
Ausgangsleitungen der ODER-Schaltungen 6 liefern eine gestrichelt gezeichnete ODER-Verknüpfung bei einem erfolgreichen Vergleich
(negatives Signal) oder erfolglosen Vergleich (positives Signal) auf der Leitung 7 zur selektiven Entsperrung der UND-Torschaltungen
8. Ein negatives Signal auf der Leitung 7, das einen erfolgreichen Vergleich zwischen den höherwertigen Bits der logischen
Adresse und den entsprechenden Bits der Voradresse feststellt, sperrt die ÜND-Torschaltungen 8 und damit die Übertragung
der logischen Adresse auf den Bitleitungen A nach den Ausgangsleitungen 9 und zwingt eine O-Adresse (alles negative Signale)
auf die Ausgangsleitungen 9. Ein positives Signal auf der Leitung 7, das einen erfolglosen Vergleich anzeigt, stellt die UND-Tor
schaltungen 8 bereit, so daß die logischen Adressen auf den Bitleitungen A nach den Ausgangsleitungen 9 übertragen werden
können. Die höherwertigen Bits der logischen Adresse werden außerdem einer Q-Detektorschaltung mit den ODER-Torschaltungen 10 zugeführt,
deren Ausgänge eine gestrichelt dargestellte ODER-Verknüpfung liefern und bei festgestellter Null ein negatives Signal
κι 971 002 30 9840/0810
und bei nicht-Null ein positives Signal auf die Leitung 11 abgeben,
das selektiv die UND-Torschaltungen 12 entsperrt. Der Pfeil an der Eingangsklemme der UND-Tor schaltungen 12 zeigt an, daß ein
negatives Signal an diesen Eingang angelegt werden muß, wenn ein
positives Signal an der anderen Eingangskleirane liegt, um die UND-Bedingung zu erfüllen. Ein positives Signal auf der Leitung 11,
das eine von Null abweichende logische Adresse kennzeichnet, wird, sobald es festgestellt ist, die UND-Schaltungen 12 sperren und
eine Null-Adresse erzwingen (alles negative Signale), die dann an den Ausgangsleitungen 14 liegen. Die entsprechenden Ausgangsleitungen
der UND-Schaltungen 8 und 12 sind zu einer gestrichelt dargestellten ODER-Verknüpfung an den Ausgangsadreßleitungen 16
zusammengefaßt, wie z.B. die Ausgangsleitung 9A und die Ausgangsleitung
14A, die zu einer gestrichelt dargestellten ODER-Verknüpfung für die Adressenleitung 16A zusammengefaßt sind usw. Die
Signale auf den Adressenleitungen 16 werden über resultierende Adreßbitleitungen R8 bis R19 als die höherwertigen Bits der Echtadresse
für den von der zugeordneten Zentraleinheit aufgerufenen Speicherblock abgegeben. Zwar sind Schaltungseinzelheiten für die
Bitleitungen 10 bis 17 nicht gezeigt. Diese Schaltung ist jedoch
genauso aufgebaut wie die Schaltungseinzelheiten für die Bits 8, 9, 18 und 19.
Die Arbeitsweise der Voradreßlogik wird nunmehr für drei Fälle
beschrieben: -
1. Wenn die Zentraleinheit einen Speicheraufruf nach dem logischen PSA-Speicherblock abgibt, dessen Blockspeicheradresse
= 0 ist,
2. wenn die Zentraleinheit einen Speicheraufruf nach einem
zugeordneten PSA-Blockspeicher abgibt, deren Blockspeicheradreßwert
gleich dem Voradreßwert ist und
3. wenn die Zentraleinheit einen Speicheraufruf nach einem
zugeordneten PSA-Speicherblock abgibt, dessen Blockadresse
κι 971 002 30 98 40/08 10
weder O noch gleich dem Voradreßwert ist.
Für den ersten Fall sei angenommen, daß die CPU 2 einen Blockadreßwert
= 00...00 an die Adressenbitleitungen A8 bis A19 anlegt,
und daß der Voradreßwert Y = 11...01 ist, der auf den Voradreßbitleitungen
P9 bis P19 liegt. Ferner soll angenommen werden, daß
ein 1-Bit ein positives Signal und ein O-Bit ein negatives Signal
darstellt. Für das gegebene Beispiel liegen also negative Signale auf den Adreßbitleitungen A8 bis A19 an den Eingängen der NuIl-Detektor-ODER-Torschaltungen
10 und an einem Eingang jeder der Exklusiv-ODER-Torschaltungen 4A. Die ODER-Torschaltungen 10 liefern
auf diese negativen Signale hin auf den Adreßbitleitungen A negative Ausgangssignale, die einer gestrichelt gezeichneten
ODER-Verknüpfung unterzogen werden und ein negatives Signal liefern,
das die Feststellung einer Null anzeigt und über Leitung die üND-Torschaltungen 12 entsperrt. Da die Bitpositionen P8, P9
und P19 des Voradreßwertes von den Bitpositionen A8, A9 und A19
der logischen Adresse verschieden sind, liefern die Exklusiv-ODER-Tor schaltungen 4A, 4B und 4D positive Signale über die Leitungen
5A, 5B und 5D an die entsprechenden UND-Torschaltungen 12A, 12B und 12D. Andererseits ist die Bitposition P18 des Voradreßwertes
identisch mit der Bitposition A18 der logischen Adresse, so daß die Exklusiv-ODER-Schaltung 4C ein negatives Signal
über die Leitung 5C nach der entsprechenden UND-Torschaltung
12C liefert. Demgemäß wird das Bitmuster für die Voradresse an
die UND-Torschaltungen 12 übertragen, die entsperrt sind und den Voradreßwert nach den Ausgangsleitungen 14 durchlassen. Die ODER-Schaltung
6A fühlt die positiven Ausgangssignale der Exklusiv-ODER-Schaltungen
4A und 4B ab und legt daraufhin e'in positives Signal über eine gestrichelt gezeichnete ODER-Verknüpfung an die
Ausgangsleitung 7 und entsperrt die UND-Torschaltungen 8. Da die
höherwertigen Bits der logischen Adresse aber alle Null sind, liegen negative Signale an allen UND-Torschaltungen 8 und sperren
diese, so daß negative Signale auf den Ausgangsleitungen 9 auftreten. Diese auf den Ausgängslertungen liegenden negativen Signale
werden mit dem Voradreßwert auf den Ausgangsleitungen 14
κι 971 002 3 0 9 8 4 0/0810
einer gestrichelten ODER-Verknüpfung unterzogen und ergeben damit
ein Voradreßmuster für die Resultatadreßbitleitungen R8 bis R19.
Die Voradreßlogik stellt also dann, wenn eine Zentraleinheit einen
logischen PSA-Speicherblock adressiert oder aufruft, diesen Zustand
oder diese Bedingung fest und verschiebt den Speicheraufruf nach dem durch den Voradreßwert identifizierten Speicherblock. Die
Voradreßlogik der CPU N arbeitet in genau der gleichen Weise, wie
soeben im Zusammenhang für die Zentraleinheit CPU 2 beschrieben. Wenn somit die CPU N einen Speicheraufruf nach dem logischen PSA-Speicherblock
abgibt, liefert sie eine logische Adresse, deren höherwertige Bits mit einem Adressenwert von 00...OO auf den
Adreßbitleitungen A8 bis A19 liegen. Dieser Zustand wird vom Null-Detektor
der Voradreßlogik N festgestellt, worauf der Voradreßwert Z nach den Resultatadreßbitleitungen R8 bis R19 übertragen wird.
Die Voradreßlogik der Zentraleinheit CPU 1 stellt eine Spezialbedingung dar, bei der der zugeordnete PSA-Speicherblock mit dem
logischen PSA-Speicherblock identisch ist, d.h., daß der Voradreßwert 0 der CPU 1 zugeordnet ist. Auch hier ist der gleiche Voradreßalgorhythmus,
wie im vorangegangen Fall, anwendbar. Wenn also die CPU einen Speicheraufruf nach dem logischen PSA-Speicherblock
abgibt, dann wird dieser Zustand durch den Null-Detektor in der Voradreßlogik 1 festgestellt, worauf der Voradreßwert 0 nach den
entsprechenden Resultatadreßbitleitungen R8 bis R19 übertragen
wird. Wenn also irgendeine Zentraleinheit des Systems einen Speicheraufruf nach dem logischen PSA-Speicherblock abgibt, dann wird
diese Bedignung durch die zugeordnete Voradreßlogik festgestellt, wonach dieser Speicheraufruf nach einem durch den Voradreßwert
identifizierten zugeordneten PSA-Speicherblock verschoben wird.
Für den zweiten Fall sei angenommen, daß die CPU 2 einen PSA-Speicherblock
adressiert, der durch einen Voradreßwert gekennzeichnet ist, in welchem Fall der Adreßwert 11...01 gleich dem Voradreßwert
Y den Adreßbitleitungen A8 bis A19 zugeführt wird. Da hier
der Adressenwert von 00...OO verschieden ist, wird der aus den ODER-Torschaltungen 10 bestehende Null-Detektor ein dem Wert NichtNull entsprechendes positives Signal auf die Leitung 11 abgeben
κι 971 002 309840/0810
und die UND-Torschaltungen 12 sperren. Daher liefern die UND-Torschaltungen
12 negative Signale an die Ausgangsleitungen 14 unabhängig vom AusgangsSignalmuster der Exklusiv-ODER-Torschaltungen
4.. Da im angenommenen Beispiel der den Adreßbitleitungen A8 bis
A9 zugeführte Wert gleich dem Voradreßwert an den Voradreßbitleitungen P8 bis P19 ist, stellen die Exklusiv-ODER-Schaltungen 4
diesen Zustand fest und liefern alle negative Ausgangssignale auf den Ausgangsleitungen 5. Die ODER-Schaltungen 6 liefern in Abhängigkeit
von den negativen Signalen auf den Ausgangsleitungen negative Ausgangssignale, die einer gestrichelt gezeichneten ODER-Verknüpfung
unterzogen werden und negative Vergleichssignale auf der Leitung 7 zur Folge haben, die die UND-Torschaltungen 8
sperren. Daher liefern die UND-Torschaltungen 8 negative Signale
an die Ausgangsleitungen 9 unabhängig vom Adreßwertmuster, das von dort an die Adreßbitleitungen A8 bis A19 angelegt wird. Die
negativen Signale auf den Ausgangsleitungen 9 werden einer gestrichelt gezeichneten ODER-Verknüpfung mit den negativen Signalen
auf den Ausgangsleitungen 14 unterzogen, so daß lauter negative Signale entsprechend den Adreßwerten 00...OO über die Adreßleitungen
16 an den Resultatadreßbitleitungen R8 bis R19 liegen. Die
Voradreßlogik stellt also, wenn die Zentraleinheit einen PSA-Speicherblock
adressiert, dessen Blockadreßwert gleich dem Voradreßwert ist, diesen Zustand fest und stellt umgekehrt die Verschiebung
des Speicheraufrufs nach dem logischen PSA-Speicherblock sicher. Die Voradreßlogik der CPU N arbeitet in ähnlicher Weise
wie für die Voradreßlogik der CPU 2 beschrieben. Wenn also die CPU N einen Speieheraufruf an den PSA-Speicherblock entsprechend
dem Voradreßwert Z abgibt, wird dieser Zustand durch die Exklusiv-ODER-Vergleichsschaltung
in der Voradreßlogik festgestellt, wodurch ein Null-Adreßwert an die Resultatadreßbitleitungen R8 bis
R19 angelegt wird. Dadurch wird der Speicheraufruf nach dem logischen
PSA-Speicherblock in umgekehrter Richtung verschoben. Die Voradreßlogik der CPU 1 wiederum stellt den besonderen Zustand
dar, bei dem der zugeordnete PSA-Speicherblock mit dem logischen PSA-Speicherblock identisch ist. Es ist auch hier der gleiche Voraareßalgorhythmus
anwendbar, d.h., wenn die CPU einen Speicher-
Ki 971 002 309840/0810
aufruf an den zugeordneten PSA-Speicherblock abgibt, wird dieser
Zustand oder diese Bedingung durch die Exklusiv-ODER-Vergleichsschaltung
der Voradreßlogik festgestellt, worauf ein Null-Adreßwert an die Resultatadreßbitleitungen R8 bis R19 angelegt wird.
Daraus sieht man, daß für jede Zentraleinheit des Systems, die einen Speicheraufruf an den zugeordneten PSA-Speicherblock abgibt,
diese Bedignung durch die zugeordnete Voradreßlogik festgestellt wird, wodurch der Speicheraufruf in umgekehrter Richtung nach dem
logischen PSA-Speicherblock verschoben wird.
Für den dritten Fall sei angenommen, daß die CPU 2 einen vom logischen
PSA-Speicherblock oder dem zugeordneten PSA-Speicherblock verschiedenen Speicherblock adressiert. Demgemäß werden die NuIl-Detektor-ODER-Torschaltungen
10 bei Nicht-Null positive Signale über die Leitung 11 an die UND-Tor schaltungen 12 abgeben und diese
sperren. Daher liefern die UND-Torschaltungen 12 negative Signale
auf die Ausgangsleitungen 14 unabhängig vom Ausgangssignalmuster
der Exklusiv-ODER-Torschaltungen 4. Da ferner der Adreßwert an
den Adreßbitleitungen A8 bis A19 nicht gleich dem Voradreßwert an
den Voradreßbitleitungen P8 bis P19 ist, stellen die Exklusiv-ODER-Torschaltungen
4 diese Bedingung fest und bewirken, daß die ODER-Torschaltungen 6 ein den erfolglosen Vergleich anzeigendes
positives Signal über die Leitung 7 zum Entsperren der UND-Tor-'
schaltungen 8 anlegen. Die UND-Torschaltungen 8 lassen daher das
Adreßwertmuster auf den Adreßbitleitungen A8 bis A19 nach den
Ausgangs leitungen 9 durch. Das Adreßwertmuster auf den Ausgangsleitungen 9 wird einer gestrichelt gezeichneten ODER-Verknüpfung
mit den negativen Signalen auf den Ausgangsleitungen 14 unterzogen, wodurch das Adreßwertmuster über die Adreßleitungen 16
nach den Resultatadreßbitleitungen R8 bis R19 gelangt. Die Funktion der Voradreßlogik für den Fall, daß die Zentraleinheit einen
vom logischen PSA-Speicherblock oder zugeordneten PSA-Speicherblock
verschiedenen Speicherblock adressiert, besteht darin, den angelegten Adreßwert unverändert nach den Resultatadreßbitleitungen
durchzuschalten. Die Voradreßlogik der CPU 1 und CPU N arbeiten in gleicher Weise wie die Voradreßlogik-der CPU 2. Dem-
κι 971 002 309840/0810
gemäß stellen in jedem Fall die Null-Detektor-ODER-Torschaltungen
10 einen von Null verschiedenen Adreßwert fest, worauf über die Leitung 11 an die UND-Torschaltungen 12 ein positives Signal angelegt
wird und diese sperrt, während gleichzeitig auf den Ausgangs
leitungen 14 negative Signale liegen. Da außerdem die Adresse
und die Voradreßwerte verschieden sind, stellen die Exklusiv-ODER-Torschaltungen
4 diesen Zustand fest und bewirken, daß die ODER-Torschaltungen 6 ein positives Signal bei erfolglosem Vergleich
über die Leitung 7 zum Entsperren an die UND-Torschaltungen 8 abgeben,
so daß der Adreßwert unverändert an die Resultatadreßbitleitungen R8 bis R19 durchgeschaltet werden kann.
Daraus ergibt sich, daß mit der Voradreßvorrichtung gemäß der vorliegenden
Erfindung alle Speicheraufrufe nach den logischen PSA-Speicherblocks nach vorwärts nach einem Speicherplatz im zugeordneten
PSA-Speicherblock dadurch verschoben werden, daß der Voradreßwert zum Speicheraufrufwert addiert wird, daß alle Speicheraufrufe
für den zugeordneten PSA-Speicherblock in rückwärtiger Richtung nach einem Speicherplatz im logischen PSA-Speicherblock
verschoben werden können durch effektive Subtraktion des Voradreßwertes vom Speicheraufrufwert und alle Speicheraufrufe für einen
vom logischen oder zugeordneten PSA-Speicherblock verschiedenen Speicherblock unverändert nach der Voradreßlogik durchgeschaltet
werden.
κι 971 002 30 9840/0810
Claims (2)
- PATENTANSPRÜCHEf1.' Datenverarbeitungsanlage mit mehreren Zentraleinheiten und einem gemeinsamen Speicher zur blockweisen Speicherung von Daten, bei welchem einzelne Speicherblocks bei vorbestimmten Speicherblockadressen bestimmten Zentraleinheiten zugeordnet sind, dadurch gekennzeichnet, daß jede Zentraleinheit (CPU 1, CPU 2, CPU N) ein Adreßregister und ein Steuerregister aufweist, in denen eine Speichervoradresse (0, Y, Z) bzw. die Speicheraufrufadresse einspeicherbar sind, daß ferner jede Zentraleinheit eine Voradreß-Logik enthält, die mit den beiden Registern und der Speichersteuerschaltung (100) verbunden sind und daß durch Vergleich der im Steuerregister eingespeicherten Voradresse mit der im Adreßregister eingespeicherten Aufrufadresse dann, wenn die Aufrufadresse der logischen Adresse (0 bis 4K) einer vorbestimmten Zentraleinheit entspricht, durch Addition der Voradresse (Y, Z) zur Aufrufadresse die Echtadresse ermittelt wird, daß dann, wenn die Aufrufadresse (z.B. Y bis Y + 4K) gleich der Voradresse■(Y) ist, die Voradresse von der Aufrufadresse zur Ermittlung der logischen Adresse abgezogen wird und daß dann, wenn die Aufrufadresse weder der Voradresse noch der logischen Adresse (0 bis 4K) entspricht, die Aufrufadresse unverändert als Echtadresse dient.
- 2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die vorbestimmte Blockadresse.den Wert 0 hat.κι 971 002 309 8 40/08 10Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23989472A | 1972-03-31 | 1972-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2311503A1 true DE2311503A1 (de) | 1973-10-04 |
DE2311503C2 DE2311503C2 (de) | 1983-11-10 |
Family
ID=22904179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19732311503 Expired DE2311503C2 (de) | 1972-03-31 | 1973-03-08 | Datenverarbeitungsanlage mit mehreren Zentraleinheiten |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPS5231138B2 (de) |
CA (1) | CA985425A (de) |
DE (1) | DE2311503C2 (de) |
FR (1) | FR2179384A5 (de) |
GB (1) | GB1351590A (de) |
IT (1) | IT976393B (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2717503A1 (de) * | 1976-04-22 | 1977-11-03 | Gen Electric | Gemeinsam genutzter speicher |
EP0006164A1 (de) * | 1978-06-16 | 1980-01-09 | International Business Machines Corporation | Multiprozessorsystem mit gemeinsam benutzbaren Speichern |
EP0014581A2 (de) * | 1979-02-05 | 1980-08-20 | Fanuc Ltd. | System und Verfahren zur Adressierung von Speichern in Computersystemen |
EP0021287A2 (de) * | 1979-06-22 | 1981-01-07 | Fanuc Ltd. | Multi-Mikroprozessorsystem |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH613540A5 (de) * | 1975-02-26 | 1979-09-28 | Siemens Ag | |
JPS5354783A (en) * | 1976-10-28 | 1978-05-18 | Terasaki Denki Sangyo Kk | Vacuum switch |
JPS54104253A (en) * | 1978-02-03 | 1979-08-16 | Hitachi Ltd | Information processor |
JPS55116296U (de) * | 1979-02-09 | 1980-08-16 | ||
JPS55134458A (en) * | 1979-04-04 | 1980-10-20 | Hitachi Ltd | Memory access system of multiprocessor system |
JPS5875121U (ja) * | 1981-11-16 | 1983-05-20 | 石川島芝浦機械株式会社 | トラクタの油圧操作装置 |
JPS608971A (ja) * | 1983-06-29 | 1985-01-17 | Toshiba Corp | 中央処理装置 |
JPS6010382A (ja) * | 1983-06-30 | 1985-01-19 | Toshiba Corp | 中央処理装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3505647A (en) * | 1966-04-18 | 1970-04-07 | Gen Electric | Apparatus providing alterable symbolic memory addressing in a multiprogrammed data processing system |
US3555513A (en) * | 1967-10-11 | 1971-01-12 | Burroughs Corp | Multiprocessor digital computer system with address modification during program execution |
-
1972
- 1972-12-22 IT IT3343772A patent/IT976393B/it active
-
1973
- 1973-02-19 CA CA164,186A patent/CA985425A/en not_active Expired
- 1973-02-20 FR FR7306805A patent/FR2179384A5/fr not_active Expired
- 1973-02-28 JP JP2340473A patent/JPS5231138B2/ja not_active Expired
- 1973-03-08 DE DE19732311503 patent/DE2311503C2/de not_active Expired
- 1973-03-15 GB GB1247073A patent/GB1351590A/en not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3505647A (en) * | 1966-04-18 | 1970-04-07 | Gen Electric | Apparatus providing alterable symbolic memory addressing in a multiprogrammed data processing system |
US3555513A (en) * | 1967-10-11 | 1971-01-12 | Burroughs Corp | Multiprocessor digital computer system with address modification during program execution |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2717503A1 (de) * | 1976-04-22 | 1977-11-03 | Gen Electric | Gemeinsam genutzter speicher |
EP0006164A1 (de) * | 1978-06-16 | 1980-01-09 | International Business Machines Corporation | Multiprozessorsystem mit gemeinsam benutzbaren Speichern |
EP0014581A2 (de) * | 1979-02-05 | 1980-08-20 | Fanuc Ltd. | System und Verfahren zur Adressierung von Speichern in Computersystemen |
EP0014581A3 (de) * | 1979-02-05 | 1981-05-06 | Fanuc Ltd. | System und Verfahren zur Adressierung von Speichern in Computersystemen |
EP0021287A2 (de) * | 1979-06-22 | 1981-01-07 | Fanuc Ltd. | Multi-Mikroprozessorsystem |
EP0021287A3 (en) * | 1979-06-22 | 1981-02-04 | Fanuc Ltd | Multi-microprocessorsystem |
Also Published As
Publication number | Publication date |
---|---|
GB1351590A (en) | 1974-05-01 |
CA985425A (en) | 1976-03-09 |
IT976393B (it) | 1974-08-20 |
FR2179384A5 (de) | 1973-11-16 |
DE2311503C2 (de) | 1983-11-10 |
JPS499938A (de) | 1974-01-29 |
JPS5231138B2 (de) | 1977-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2350225C2 (de) | ||
DE2717702C2 (de) | Speicher-Zugriff-Steuersystem | |
DE3750938T2 (de) | Multiprozessorsystem. | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
DE2547488C2 (de) | Mikroprogrammierte Datenverarbeitungsanlage | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE2455803A1 (de) | Mehrprozessor-datenverarbeitungsanlage | |
CH620306A5 (de) | ||
DE3535436C2 (de) | ||
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2722124A1 (de) | Anordnung zum feststellen des prioritaetsranges in einem dv-system | |
DE2031040B2 (de) | Verfahren zur festlegung des zugangs von mehreren benutzern zu einer einheit einer datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens | |
DE2311503A1 (de) | Datenverarbeitungsanlage mit mehreren zentraleinheiten | |
DE2310631A1 (de) | Speicherhierarchie fuer ein datenverarbeitungssystem | |
DE2221442A1 (de) | Assoziativspeicher | |
DE2558417A1 (de) | Datenverarbeitungssystem | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE3105115A1 (de) | Datenverarbeitungssystem mit bezueglich einer schluesselspeicherung ringfoermig angeschlossenen mulitprozessoren | |
DE1956460A1 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE4238593A1 (de) | Mehrprozessor-Computersystem | |
DE2164718A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit | |
DE2459476A1 (de) | Schaltungsanordnung fuer nichtzyklische datenpermutationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |