DE2311503A1 - Datenverarbeitungsanlage mit mehreren zentraleinheiten - Google Patents

Datenverarbeitungsanlage mit mehreren zentraleinheiten

Info

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
Application number
DE19732311503
Other languages
English (en)
Other versions
DE2311503C2 (de
Inventor
William Allen Bernstein
Robert Harold Doggett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2311503A1 publication Critical patent/DE2311503A1/de
Application granted granted Critical
Publication of DE2311503C2 publication Critical patent/DE2311503C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple 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
Datenverarbeitungsanlage mit mehreren Zentraleinheiten
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)

  1. PATENTANSPRÜCHE
    f1.' 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. 2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die vorbestimmte Blockadresse.den Wert 0 hat.
    κι 971 002 309 8 40/08 10
    Leerseite
DE19732311503 1972-03-31 1973-03-08 Datenverarbeitungsanlage mit mehreren Zentraleinheiten Expired DE2311503C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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