DE2311503C2 - Datenverarbeitungsanlage mit mehreren Zentraleinheiten - Google Patents

Datenverarbeitungsanlage mit mehreren Zentraleinheiten

Info

Publication number
DE2311503C2
DE2311503C2 DE19732311503 DE2311503A DE2311503C2 DE 2311503 C2 DE2311503 C2 DE 2311503C2 DE 19732311503 DE19732311503 DE 19732311503 DE 2311503 A DE2311503 A DE 2311503A DE 2311503 C2 DE2311503 C2 DE 2311503C2
Authority
DE
Germany
Prior art keywords
address
memory
psa
memory block
call
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.)
Expired
Application number
DE19732311503
Other languages
English (en)
Other versions
DE2311503A1 (de
Inventor
William Allen Kingston N.Y. Bernstein
Robert Harold Ulster Park N.Y. 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 OR CALCULATING; 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

Die Erfindung betrifft eine Datenverarbeitungsanlage mit mehreren Zentraleinheiten nach dem Oberbegriff des Patentanspruchs 1.
Anordnungen zur Zuteilung von Voradressen in Mehrprozessorsystemen sind beispielsweise in der US-Patentschrift 35 55 513 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 der Adreßgrenzen sind Schaltmittel vorgesehen, die verhindern, daß eine Zentraleinheit zu einem Speicherbereich Zugriff erhält, der 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, sondern daß auch jede Zentraleinheit zu den Speicherbereichen Zugriff erhalten kann, die normalerweise anderen Zentraleinheiten des Systems zugeordnet sind. In modernen Multiprozessorsystemen kann dann der Hauptspeicher in solche Bereiche unterteilt werden, die Daten und Programme enthalten und die ganz speziell und ausschließlich jeder Zentraleinheit für sich zugeordnet sind und in andere Speicherbereiche die Daten enthalten, die nicht allein und ausschließlich einem der Prozessoren, sondern die allen Zentraleinheiten des Systems gemeinsam zur Verfügung stehen. Jeder fest zugeteilte Bereich kann damit als vorbestimmter Speicherblock (PSA) bezeichntt werden und kann Daten und Programme enthalten, die nur und ausschließlich einer bestimmten Zentraleinheit zugeordnet sind. Die in einem solchen Speicherblock (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, Fehlerbeseitigungsprogramme und dergleichen enthalten. Ein solcher Speicherbereich kann beispielsweise einen Block von 4096 (4 K) 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. Lst es erwünscht, daß. abdeichend von dem bekannten System gemäß der US-Patentschrift 35 55 513, jede aktive Zentraleinheit nicht nur zu ihrem eigenen PSA-Bereich, sondern auch zu den PSA-Bereichen der anderen Zentraleinheiten Zugriff hat. AuOerdem ist es für einen effektiven Betrieb der Datenverarbeitungsanlage erwünscht, daß jede Zentraleinheit den gleichen vorbestimmten Speicherblock so adressiert als ob es sein eigener PSA wäre.
Eine Anordnung mit zwei Zentraleinheiten mit gemeinsamer Speicherbenutzung und zeitlicher Verschachtelung der eigentlichen Datenverarbeitung gibt es innerhalb des IBM Systtms/36«, "n diesem System wird jeder Zentraleinheit ein besonderer Speicherblock mit 4 /(-Speicherplätzen als eigener Speicherblock (PSA) zugeteilt. Das wird dadurch erreicht, daß man für jede Zentraleinheit eine verschiedene Voradresse vorsieht. Demgemäß adressiert jede Zentraleinheit ihren eigenen Speicherblock PSA als Speicherplätze 0 bis 4 K und die Voradresse wird unmittelbar zur Speicheradresse hinzuaddiert, wodurch die echte Speicheradresse, die dem zugeordneten Speicherblock (PSA) zugeteilt ist. ermittelt wird, (ede 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 eine Voradresse zu den Adressen im 0 bis 4 K-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 0 bis 4 K 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.
3 4
so daß die Speicherplätze 0 bis AK der einen anderen Zentraleinheiten des Systems zugeordneten Zentraleinheit ohne Voradresse zugeordnet werden Steuerregister. Logische Schaltungen für die Voradreskönnen. Bei dieser Anordnung adressiert die ohne se sind in jeder Zentraleinheit vorgesehen, um den Voradresse arbeitende Zentraleinheit ihren Speicher- Voradreßwert und die durch die zugeordnete Zentraleinblock PSA als Speicherplätze 0 bus 4 K und die andere 5 heit angesprochene Adresse zu überwachen. Wenn die Zentraleinheit adressiert ihren PSA-Speicherblock als logischen Schaltungen für die Voradresse eine Bezug-Speicherplätze (T-AK) bis T, wobei T die höchste nähme auf den logischen PSA-Speicherblock feststellen, Speicheradresse im System darstellt Andererseits dann wird diese Speicherbezugnahme nach vorwärts spricht die Zentraleinheit mit Voradresse ihren eigenen auf einen Speicherplatz in dem zugeordneten PSA-PSA als Speicherplätze 0 bis 4 K an, jedoch werden to Speicherbiock dadurch verschoben, daß der Voradreßdiese Adressen verschoben nach dem zugeordneten wert zu dem Speicherbezugswert hinzuaddiert wird. PSA-Speicherblock mit den Speicherplätzen (T-A K) Andererseits aber, wenn die logischen Schaltungen für bis T. Die mit Voradresse arbeitende Zentraleinheit die Voradresse eine Bezugnahme auf den zugeordneten spricht natürlich auch den PSA-Speicherblock der PSA-Speicherblock für diese Zentraleinheit feststellen, anderen Zentraleinheit als Speicherplätze (T-A K) bis «s dann wird die Speicherbezugnahme nach rückwärts auf Tan. aber in diesem Fall wird der Voradreßwert von der einen Bereich in des logischen PSA verschoben durch Speicheradresse abgezogen, um die Speicheradresse Subtrahieren des Voradreßwertes von dem angespronach den Speicherplätzen 0 bis 4 K zu verschieben, die chenen Speicherbezugswert.
den PSA-Speicherblock der Zentraleinheit ohne Vor- Damit soil also erreicht werden, daß bei einem adresse bezeichnen. Bei dieser Anordnung benutzt also 20 Mehrprozessorsystem mit gemeinsamen Speichern alle die Zentraleinheit mit Voradresse eine Anordnung mit Zentraleinheiten dynamischen Zugriff ~j allen Speicher-Vorwärtsverschiebung der Speicheradresse, -m den platzen erhalten, wobei es auf die Anzahl d_-r tatsächlich eigenen Speicherblock anzusprechen und eine rück- vorhandenen Zentraleinheiten nicht ankommt Vorwärtsgerichtete Verschiebung der Voradresse, um den zugsweise wird die Anordnung dabei so getroffen, daß PSA-Speicherblock der Zentraleinheit ohne Voradresse 25 Jn einem solchen System vorbestimmte Speicheradresanzusteuern. Bei dieser Anordnung muß jedoch eine sen jedei Zentraleinheit des Systems dynamisch nach Zentraleinheit immer die Speicherplätze 0 bis 4 K als vorwärts oder rückwärts in einen anderen Speicherbeihren eigenen PSA-Speicherblock benutzen und der reich verschoben werden können. Jede Zentraleinheit Voradreßwert der anderen Zentraleinheit ist nicht enthält dabei Schaltmittel zur Überwachung aller veränderbar, es sei denn durch Umschalten im Speicher 30 angesprochenen Speicheradressen und verschiebt damit selbst, selektiv die Speicheradresse in Übereinstimmung mit
Aus den vorangegangenen Ausführungen erkennt dem angesprochenen Adressenbereich,
man, daß die bisher bekanntgewordenen Lösungen für Die Erfindung wird nunmehr anhand eines Ausfüh-
das der Erfindung zugrunde liegende Problem einige rungsbeispiels in Verbindung mit den Zeichnungen
Nachteile aufweisen und daß es erwünscht ist eine 35 näher beschrieben. Dabei zeigt Lösung zu finden, die die Vorteile der bisher bekannten F i g. 1 schematisch ein Blockschaltbild eines solchen Lösungen beibehält und doch ihre Nachteile weitgehend Mehrprozessorsystems mit gemeinsamen Speicher;
vermeidet. F i g. 2 schematisch die Art der Adreßumsetzung und
Gemäß der vorliegenden Erfindung wird somit eine Fig. 3 schematisch ein Blockschaltbild der logischen Anordnung fü. die Zuordnung von Voradressen für ein w Schaltungen zur Umwandlung von Voradressen in Mehrprozessorsystem geschaffen, das jede beliebige logische Adressen.
Anzahl von Zentraleinheiten oder Prozessoren enthal- In F i g. 1 ist rein schematisch ein Mehrprozessorsyten kann. Alle diese Zentraleinheiten adressieren den stern mit einer Anzahl von Zentraleinheiten CPU I, gleichen vorbestimmten .Speicherblock, nämlich die CPU 2 bis CPUN gezeigt mit einer Speiche rsteuer-Speicherplätze 0 bis AK als die ihres eigenen 4S schaltung 100 und einem Hauptspeicher ?00. Jede der PSA-Speichcrblocks, der damit als logischer PSA- Zentraleinheiten, wie CPU 1, enthält ein Steuerregister. Speicherblock bezeichnet werden kann. Ferner werden wie z. B. Steuerregister 1, zum Speichern eines alle Aufrufe der verschiedenen Zentraleinheiten mit Voradreßwertes, ein Adreßregister, wie z. B. das unterschiedlichen Voradressen versehen, die in getrenn- Adreßregister 1 zum Speichern einer Bezugsadresse ten Steuerregistern untergebracht und je einer Zentral- Μ und zum Bezeichnen eines Speicherplatzes sowie eine einheit zugeordnet sind. Die Steuerregister sind unter Voradreßlogik zur Überwachung des Inhalts des Programms\euerung ansteuerbar, so daß die Werte der Steuerregisters und der höherwertigen Bits der Voradressen in den Steuerregistern dynamisch verän- logischen Adressen. Die Voradreßlogik liefert einen derbar sind. Aus diesem Grund kann ein PSA-Speicher- unveränderten oder verschobenen hohen Adreßwert, block für eine Zentraleinheit einem logischen PSA- 55 der mit den r.iederwertigen Adreßbits der Be^.ugsadres-Speicherblock zugeordnet sein, nämlich den Speicher- se zur Bildung der tatsächlichen Speicheradresse platzen 0 bis 4 K, indem man den Voradreßwert 0 im verknüpft wird und die tatsächliche Adresse über die zugeordneten Steuerregister einspeichert oder der Speichersteuerschaltung 100 zum Adressieren des PSA-Speicherblock kann nach jedem beliebigen ande- Hauptspeichers 2C* liefert. Bei Verwendung von ren Speicherblock von 4 K dadurch verschoben werden. «> Adressen mit 24 Bit kann man sich den Hauptspeicher daß der der Zentraleinheit zugeordnete Voradreßwert 200 als in Reihen von Blocks zu 4 /^-Speicherplätzen geändert wird. Somit kann also der PSA-Speicherblock unterteilt denken, bei denen die 12 höherv/eriigen Bits für jede Zentraleinheit selektiv entweder dem logischen der Adresse die Basisadresse eines Speicherblocks PSA-Speicherblock oder jedem anderen 4 K-Speicher- bilden und die niederwertigen 12 Bits in jedem durch die block zugeordnet werden. Im Betrieb wird ein 65 höherwertigen Bits definierten Speicherblock die Überwachungsprogramm einen Voradreßwert 0 in jeweiligen Speicherplätze angeben. Obgleich zur eines der Steuerregister, d^e der Zentraleinheit zugeord- Erläuterung eine Adresse mit 24 Bit und Speicherblocknet sind, laden und andere Voradreßwerte in die den größen von 4 K 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 Überwachungsprogramm jeder Wert einspeichern. In dem dargestellten Beispiel wird ein Voradreßwert 0 in das Steuerregister 1, ein Voradreßwert Y in das Steuerregister 2 und ein Voradreßwert Z in das Steuerregister N eingespeichert. Jeder dieser Werte kennzeichnet die Basisadresse des Speicherblocks, der dem PSA-Speicherblock de·· zugehörigen Zentraleinheit zugeordnet ist. Somit liegt also der PSA-Speicherblock für CPU 1 bei den Speicherplätzen 0 bis 4 K, der PSA-Speicherblock für CPU2 an den Speicherplätzen Ybis Y +AKund der PSA-Speicherblock für CPUN an den Speicherplätzen Z bis Z + A K. Wie man sieht, kann das Überwachungsprogramm verschiedene Voradreßwerte in die Steuerregister einspeichern und diese Werte lassen sich dynamisch ändern. Beispielsweise kann ein Voradreßwert 0 im Steuerregister 2 eingespeichert werden, wobei dann der PSA-Speicherblock für die CPU 2 die Speicherplätze 0 bis 4 K zugeordnet bekäme und wenn ein Voradreßwert X im Steuerregister 1 stünde, dann wäre der PSA-Speicherblock für die CPU I die Speicherplätze X bis X + 4 K. in gestrichelter Form dargestellt, bestimmt. Obgleich jeder Zentraleinheit ein anderer PSA-Speicherblock zugeordnet ist, ruft doch jede Zentraleinheit in logischer Form den Hauptspeicher so an, ais ob sein PSA-Speicherbiock an den Speicherplätzen 0 bis AK 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.
F i g. 2 zeigt vereinfacht eine Art Flußdiagramm zur Erläuterung der Adreßumsetzung der Voradreßlogik jeder Zentraleinheit. Die Voradreßlogik überwacht die höherwertigen Bits der Adresse im zugehörigen Adreßregister und die entsprechenden Bits des Voradreßwertes im zugehörigen Steuerregister. Wenn die Zentraleinheit eine Adresse in dem vorbestimmten PSA-Speicherblock mit seinen Speicherplätzen 0 bis 4 K bezeichnet, dann wird die Voradreßlogik diesen Zustand feststellen und den Voradreßwert zur Bezugsadresse hinzuaddieren und daraus die echte Adresse des PSA-Speicherblocks der entsprechenden Zentraleinheit ableiten. Für die CPU 1 wird z. B. ein Voradreßwert 0 zum Speicheraufrufwert hinzuaddiert, so daß sich dabei für den Speicheraufruf keine Änderung ergibt, während für die CPU2 und die CPUN ein Voradreßwert von Y bzw. Z zu dem Speicheraufrufwert hinzuaddiert wird, um die Basisadresse nach den entsprechenden PSA-Speicherblocks der CPU 2 bzw. CPU N τα verschieben. Wenn andererseits die CPU eine Adresse in einem PSA-Speicherblock bezeichnet, der mit dem im Steuerregister eingespeicherten Wert identisch ist, Beispielsweise die Speicherplätze P bis P + 4 K, wobei P den Wert 0, Y oder Z für die CPU\, CPU2 bzw. CPUN haben kann, dann wird die Voradreßlogik effektiv den Voradreßwert von den höherwertigen Bits der Bezugsadresse subtrahieren und dadurch die Echtadresse ermitteln, die den Speicheraufruf nach dem richtigen vorbestimmten PSA-Speicherblock verschiebt. Für die CPU 1 wird ein Voradreßwert 0 vom Speicheraufrufwert abgezogen, so daß die echte Adresse gegenüber den Bezugsadressen unverändert blciibt, während bei der CPU2 und CPUN dann, wenn '-■ der im Adreßregister eingespeicherte Wert mit dem Voradreßwert im Steuerregister identisch ist, die
ίο logischen Schaltmittet effektiv den Voradreßwert vom Speicheraufrufwert abziehen und dadurch einen Aufruf nach dem vorbestimmten PSA-Speicherblock erzwingen. Liegt die Bezugsadresse nicht innerhalb des Adressenbereiches von 0 bis AK oder von P bis P + A K, dann wird die Voradreßlogik eine Echtadresse ί liefern, die gegenüber der Bezugsadresse unverändert ist Dieser Voradreßalgorhythmus ist auf alle Zentralein- : heiten in dem System anwendbar, wobei CPU2 und CPUN den allgemeinen Fall und CPUi einen spezifischen Fall kennzeichnen. Man erkennt dabei für den allgemeinen Fall, beispielsweise für die CPU 2, daß dit: Zentraleinheit ihren eigenen PSA-Speicherblock so aufruft, als ob es die Speicherplätze 0 bis 4 K wären; mit der vorwärtsgerichteten Voradreßumwandlung wird ein solcher Aufruf nach Speicherplätzen in dem PS.A-Speicherblock verschoben, dem die Speicherplätze V sis V + 4 K zugeordnet sind. Wenn die CPU 2 Zugriff zum Pi'A-Speicherblock der CPU I benötigt, dann wird ein Speicheraufruf nach den Speicherblöcken V bis Y + A K abgegeben. Durch die umgekehrte Voradreßumsetzung werden jedoch alle solche Aufrufe nach dem PSA-Speicherblock mit den Speicherplätzen 0 bis 4 K verschoben, nämlich dem PSA-Speicherblock für die CPUi. Weiterhin, wenn die CPU2 den PSA-Speicherblock für die CPUN erreichen will, dann wird der Speicheraufruf nach dem PSA-Speicherblock mit den Speicherplätzen Z bis Z + 4 K gerichtet werden und solche Aufrufe werden ohne Änderung der Bezugsadresse durchgeführt. Die CPUN wird in gleicher
■«ο Weise wie die CPU 2 arbeiten.
In F i g. 3 ist nun rein schematisch ein Blockschaltbild einer Voradreßlogik gezeigt, die in jeder Zentraleinheit des Systems Verwendung finden kann. Die Voradreßlogil. enthält eine Vergleichsschaltung, die aus einer Anzahl von Exklusiv-ODER-Schaltungen 4 und ODER-Scfialtungen 6 besteht Die Exklusiv-ODER-Schaltun- t gen 4 vergleichen die höherwertigen Bits der Bezugs- ad-essen auf den Bitleitungen AS bis A 19 mit den , entsprechenden Bits des Voradreßwertes auf den
so Bit leitungen Pi bis P19. Die Ausgangssigna1; der ; Exklusiv-ODER-Schaltungen 4 sind paarweise an die K ODER-Schaltungen 6 angeschlossen, wie beispielsweise '■■■, die Ausgangsleitungen der Exklusiv-ODER-Schaltun- ft gen 4A und AB mit den Eingängen der ODER-Schaltung 6A verbunden sind. Weiterhin sind die Ausgangsleitun- y gen 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 Ver- ί gleich (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 S
öS Vergleich zwischen den höherwertigen Bits der τ logischen Adresse und den entsprechenden Bits der :,'. Voradresse feststellt, sperrt die UND-Torschaltungen 8 | und damit die Übertragung der Bezugsadresse 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 U N D-Torschaltungen 8 bereit, so daß die Bezugsadressen auf den Bitleitungen A nach den Ausgangsleitungen 9 übertragen werden können. Die höherwertigen Bit', der Bezugsadresse werden außerdem einer O-Detektoi schaltung mit den ODER-Torschaltungen 10 zugeführt, deren Ausgänge eine gestrichelt dargestellte ODER-Verknüpfung liefern und bei festgestellter Null ein negatives Signal und bei nicht-Null ein positives Signal auf die Leitung U abgeben, das selektiv die UND-Torschaltungen 12 entsperrt. Der Pfeil an der Eingangsklemme der UND-Torschaltungen 12 zeigt an, daß ein negatives Signal an diesen Eingang angelegt werden muß, wenn ein positives Signal an der anderen Eingangsklemme liegt, um die (JND-Bedingung zu erfüllen. Ein positives Signa! auf der L?'«»ng ti. das eine von Null verschiedene Bezugsadresse 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 9/1 und die Ausgangsleitung 14/4, die zu einer gestrichelt dargestellten ODER-Verknüpfung für die Adressenleitung 16/4 zusammengefaßt sind usw. Die Sig'.jle auf den Adressenleitungen 16 werden Ober resultierende Adreßbitleitungen RS bis Λ19 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 RIIe beschrieben:
1. Wenn die Zentraleinheit einen Speicheraufruf nach dem vorbestimmten PSA-Speieherblock abgibt, dessen Blockspeicheradresse = 0 ist,
2. wenn die Zentraleinheit einen Speicheraufruf nach einem zugeordneten PSA-BIockspeicher abgibt, deren Blockspeicheradreßwert gleich dem Voradreßwert ist und
3. wenn die Zentraleinheit einen Speicheraufruf nach einem zugeordneten PSA-Speicherblock abgibt, dessen Blockadresse weder 0 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 A 8 bis A 19 anlegt, und daß der Voradreßwert Y = 11 .. .01 ist, der auf den Voradreßbitleitungen PS 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 A 8 bis A19 an den Eingängen der Null-Detektor-ODER-Torschaltungen 10 und an einem Eingang jeder der Exklustv-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 U die UND-Torschaltungen 12 entsperrt. Da die Bitpositionen PS P% und P19 des Voradreßwertes von den Bitpositionen A 8, A 9 und A 19 der Bezugsadresse verschieden sind, liefern die Exklusiv-ODER-Torschaltungen 4A, 4B und 4D positive Signale über die Leitungen 5/4, Sd und SD an die entsprechenden UND-Torschaltungen 12/4,12ß und 12D. Andererseits ist die Bitposition P18 des Voradreßwertes identisch
ίο mit der Bitposition A 18 der Bezugsadresse, so daß die Exklusiv-ODER-Schaltung 4Cein negatives Signal über die Leitung 5C nach der entsprechenden UN D-Torschaltung 12Cliefert. 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 6/4 fühlt die positiven Ausgangssignale der Exklusiv-ODER-Schaltungen 4Λ und 4ß ab und legt daraufhin ein 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 Bezugs-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 Ausgangsleitungen liegenden negativen Signale werden mit dem Voradreßwert auf den Ausgangsleitungen 14 einer gestrichelten ODER-Verknüpfung unterzogen und ergeben damit ein Voradreßmuster für die ResultatadreDbitleitungen R 8 bis R19. Die Voradreßlogik stellt also dann, wenn eine Zentraleinheit einen vorbestimmten 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 CPUN 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 vorbestimmten PSA-Speicherblock abgibt, liefert sie eine Bezugsadresse, deren höherwertige Bits mit einem Adressenwert von 00 ... 00 auf den Adreßbitleitungen A 8 bis A 19 liegen. Dieser Zustand wird vom Null-Detektor der Voradreßlogik N festgestellt, worauf der Voradreßwert Z nach den Resultatadreßleitungen RB bis Λ19 übertragen wird. Die Voradreßlogik der Zentraleinheit CPCl stellt eine Spezialbedingung dar, bei der der zugeordnete PSA-Speicherblock mit dem vorbestimmten PSA-Speicherblock identisch ist, d. L, daß der Voradreßwert 0 der CPUi zugeordnet ist Auch hier ist der gleiche Voradreßalgorhythmus, wie im vorangegangenen Fall, anwendbar. Wenn also die CPU einen Speicheraufruf nach dem vorbestimmten 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 R 8 bis R19 übertragen wird. Wenn also irgendeine Zentraleinheit des Systems einen Speicheraufruf nach dem vorbestimmten PSA-Speicherblock abgibt, dann wird diese Bedingung 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 CPU2 einen PSA-Speicherblock adressiert, der durch einen Voradreßwert gekennzeichnet ist, in welchem Fall der Adreßwert 11 ... 01 gleich dem Voradreßwert Yden Adreßbitleitungen Λ 8 bis Λ19 zugeführt wird. Datier
der Adressenwert von 00... 00 verschieden ist, wird der aus den ODER-Torschaltungen 10 bestehende Null-Detektor ein dem Wert Nicht-Null entsprechendes positives Signal auf die Leitung 11 abgeben und die Torschaltungen 12 sperren. Daher liefern die UND-Torschaltungen 12 negative Signale an die Ausgangsleitunfen 14 unabhängig vom Ausgarigssignalmuster der Exklusiv-ODEK-Torschaltungen 4. Da im angenommenen Beispiel der den Adreßbitleitungen A 8 bis A 9 zugeführte Wert gleich dem Voradreßwert an den Voradreßbitleitungen PS 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 5 negative Ausgangssignale, die einer gestrichelt gezeichneten ODER-Verknüpfung unterzogen werden und negative Vergleichssignale auf der Leitung 7 zur Folge haben, die die UND-Torschaitungen 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 A 8 bis A 19 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... 00 über die Adreßleitungen 16 an den Resultatadreßbitleitungen RS bis /719 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 vorbestimmten Speicherblock sicher. Die Voradreßlogik der CPUN irbeitet in ählicher Weise wie für die Voradreßlogik der CPU2 beschrieben. Wenn also die CPUN einen Speicheraufruf 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 Resultataareßbitieitungen R 8 bis Ä19 angelegt wird. Dadurch wird der Speicheraufruf nach dem vorbestimmten PSA-Speicherblock in umgekehrter Richtung verschoben. Die Voradreßlogik der CPU I wiederum stellt den besonderen Zustand dar, bei dem der zugeordnete PSA-Speicherblock mit dem vorbestimmten PSA-Speicherblock identisch ist. Es ist auch hier der gleiche Voradreßaigorhythmus anwendbar, dh, wenn die CPU einen Speicheraufruf 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 RS bis R19 angelegt wird. Daraus sieht man, daß für jede Zentraleinheit des Systems, die einen Speicheraufruf an den zugeordneten PSA-Speicherblock abgibt, diese Bedingung durch die zugeordnete Voradreßlogik festgestellt wird, wodurch der Speicheraufruf in umgekehrter Richtung nach dem vorbestimmten PSA-Speicherblock verschoben wird.
Für den dritten Fall sei angenommen, daß die CPUI einen vom vorbestimmten PSA-Speicherblock oder dem zugeordneten PSA-Speicherblock verschiedenen Speicherblock adressiert. Demgemäß werden die Null-Detektor-ODER-Torschaltungen 10 bei Nicht-Null positive Signale über die Leitung 11 an die UND-Torschaltungen 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 A 8 bis /\19 nicht gleich dem Voradreßwert an den Voradreßbitleitungen PS 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-Torschaltungen 8 anlegen. Die UND-Torschaltungen 8 lassen daher das AdreC·- wertmuster auf den Adreßbitleitungen A 8 bis A 19 nach den Ausgangsieitungen 9 durch. Das AdreUwertmuster 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 RS bis R19 gelangt. Die Funktion der Voradreßlogik für den Fall, daß die Zentraleinheit einen vom vorbestimmten PSA-Speicherblock oder zugeordneten PSA-Speicherblock verschiedenen Speicherblock adressiert, besteht darin, den angelegten Adreßwert unverändert nach den Resultatdreßbitleitungen durchzuschalten. Die Voradreßlogik der CPU 1 und CPU N arbeiten in gleicher Weise wie die Voradreßlogik der CPUl. Demgemäß 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 Ausgangsleitungen 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 \JDER-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 RS bis R19 durchgeschaltet werden kann.
Daraus ergibt sich, daß mit der Voradreßvorrichtung gemäß der vorliegenden Erfindung alle Speicheraufrufe nach den vorbestimmten 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 vorbestimmten PSA-Speicherblock verschoben werden können durch effektive Subtraktion des Voradreßwertes vom Speicheraurrufwert und alle Speicheraufrufe für einen vom vorbestimmten oder zugeordneten PSA-Speicherblock verschiedenen Speicherblock unverändert nach der Voradreßlogik durchgeschaltet werden.
Hierzu 2 Blatt Zeichnungen

Claims (2)

Patentansprüche:
1. Datenverarbeitungsanlage mit mehreren Zentraleinheiten und einem allen Zentraleinheiten über eine Speichersteuerschaltung gemeinsam zugeordneten Speicher zur blockweisen Speicherung von Daten, bei welchem einzelne Speicherblöcke bei vorbestimmten Speicherblockadressen vorbestimmten Zentraleinheiten zugeordnet sind, die jeweils ein Adreßregister, ein Steuerregister und eine Vor- to adreßlogik aufweisen, dadurch gekennzeichnet,
daß die die Speichervoradresse enthaltenden Steuerregister der einzelnen Zentraleinheiten jeweils mittelbar über die jeweilige VoradreßlGgik über die allen Zentraleinheiten (CPUi, CPU 2 ... CPUn) gemeinsame Speichersteuerschaltung (100) mit dem Hauptspeicher (200) verbunden sind,
daß ferner alle die Aufrufadresse enthaltenden Adreßregister der einzelnen Zentraleinheiten unmittelbar über die gemeinsame Speichersteuerschaltung (iOO) und mittelbar über die Voradreßlogik und die gemeinsame Speichersteuerschaltung (100) mit dem gemeinsamen Hauptspeicher (200) verbunden sind und daß durch Vergleich der in dem jeweiligen Steuerregister eingespeicherten Voradresse (O. Y. Z) mit der im Adreßregister eingespeicherten Aufrufadresse dann, wenn die Aufrufadresse der Bezugsadresse (0 bis 4 K) einer vorbestimmten Zentraleinheit entspricht, durch Addition der Voradresse (Y, 'f) zur Aufrufadresse die Echtadresse ermittelbar ist
daß dann, wenn die Aufrufadresse (z. B. Y bis γ + 4 K) gleich der Vorarf-esse (Y) ist. die Voradresse von der Aufrufadresse zur Ermittlung der Bezugsadresse abzuziehen ist und
daß dann, wenn die Aufrufadresse weder der Voradresse noch der Bezugsadresse (0 bis 4 K) entspricht, die Aufrufadresse unverändert als Echtadresse dient.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die vorbestimmie Blockadresse den Wert 0 hat.
45
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 DE2311503A1 (de) 1973-10-04
DE2311503C2 true 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)

Families Citing this family (13)

* 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
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
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
US4209839A (en) * 1978-06-16 1980-06-24 International Business Machines Corporation Shared synchronous memory multiprocessing arrangement
JPS55105763A (en) * 1979-02-05 1980-08-13 Fanuc Ltd Address instruction system
JPS55116296U (de) * 1979-02-09 1980-08-16
JPS55134458A (en) * 1979-04-04 1980-10-20 Hitachi Ltd Memory access system of multiprocessor system
JPS564854A (en) * 1979-06-22 1981-01-19 Fanuc Ltd Control system for plural microprocessors
US4383296A (en) 1980-05-16 1983-05-10 Apple Computer, Inc. Computer with a memory system for remapping a memory having two memory output buses for high resolution display with scrolling of the displayed characters
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 中央処理装置

Family Cites Families (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

Also Published As

Publication number Publication date
CA985425A (en) 1976-03-09
GB1351590A (en) 1974-05-01
JPS5231138B2 (de) 1977-08-12
IT976393B (it) 1974-08-20
JPS499938A (de) 1974-01-29
FR2179384A5 (de) 1973-11-16
DE2311503A1 (de) 1973-10-04

Similar Documents

Publication Publication Date Title
DE2311503C2 (de) Datenverarbeitungsanlage mit mehreren Zentraleinheiten
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2547488C2 (de) Mikroprogrammierte Datenverarbeitungsanlage
DE2455803A1 (de) Mehrprozessor-datenverarbeitungsanlage
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE1499175B2 (de) Steuereinrichtung in einem mehrspezies rechner
DE3535436C2 (de)
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
DE2336020C3 (de) Adressen-Berechnungsschaltung für Paritätsfehler-Korrekturprogramme
DE2641700A1 (de) Taktueberwachung in digitalsystemen
DE3788826T2 (de) Verfahren und Vorrichtung zur gemeinsamen Informationsbenutzung zwischen einer Mehrzahl von Verarbeitungseinheiten.
DE3535215C2 (de)
DE68906224T2 (de) Zentrale datenverarbeitungseinheit fuer ein datenverarbeitungssystem.
DE2601379C3 (de) Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen
DE2217609A1 (de) Zugriffseinheit für Datenverarbeitungsanlagen
DE2749226C3 (de) Datenaustauschsteuerung für zwei Mikrocomputer
DE69321498T2 (de) Zugriffszeitteilungssystem auf einen Speicher, der einem Prozessor und anderen Anwendungen gemeinsam ist
DE2206091C3 (de) Rechnersystem mit einer Speicheranordnung
DE3016952C2 (de) Schaltungsanordnung zum Erweitern des Adressbereichs eines rechnergesteuerten Vermittlungssystems
EP0026460A1 (de) Schaltungsanordnung zum Adressieren von Daten für Lese- und Schreibzugriffe in einer Datenverarbeitungsanlage
AT389771B (de) Ein aus untereinheiten bestehendes datenverarbeitungssystem
DE2837709C2 (de) Schaltungsanordnung zur Behandlung von Teilwörtern in Rechnersystemen
DE3343192C2 (de) Schaltungsanordnung zum Wiederauffrischen der in einem dynamischen Speicher enthaltenen Informationen
EP0970426A1 (de) Abhängigkeitssteuerung für überlappende speicherzugriffe

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