CH495584A - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
CH495584A
CH495584A CH1645466A CH1645466A CH495584A CH 495584 A CH495584 A CH 495584A CH 1645466 A CH1645466 A CH 1645466A CH 1645466 A CH1645466 A CH 1645466A CH 495584 A CH495584 A CH 495584A
Authority
CH
Switzerland
Prior art keywords
memory
address
program
symbolic
programs
Prior art date
Application number
CH1645466A
Other languages
English (en)
Inventor
Patrick Barlow Jesse
Barton Richard
Edward Belt John
Richard Frasier Carlton
Alvin Hittel Lorenz
Leslie Rakoczi Laszlo
Asad Torfeh Mark
Bernard Wiener Jerome
Lagan Angus Mc
Original Assignee
Gen Electric
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 Gen Electric filed Critical Gen Electric
Publication of CH495584A publication Critical patent/CH495584A/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Description


  
 



  Datenverarbeitungsanlage
Die Erfindung betrifft eine Datenverarbeitungsanlage mit mehreren Datenverarbeitungsgeräten, zusäztlichen Speichern zum Speichern von Datenworten in adressierbaren Speicherzellen und einem zentralen Steuergerät zum Verbinden der Datenverarbeitungsgeräte mit den zusätzlichen Speichern, bei welcher Anlage jedes Verarbeitungsgerät vom zentralen Steuergerät Datenworte empfängt, an den empfangenen Datenworten Verarbeitungsoperationen ausführt und das Resultat an das zentrale Steuergerät zurückbeträgt und jedes Verarbeitungsgerät zum Erstellen einer Verbindung mit einem der zusätzlichen Speicher eine Anrufsignalgruppe erzeugt, die eine symbolische Adresse oder einen Teil einer symbolischen Adresse einer Speicherzelle darstellt und ist dadurch gekennzeichnet,

   dass das zentrale Steuergerät eine mit den Verarbeitungsgeräten verbundene Adressenerzeugungseinrichtung aufweist, welche nach Empfang der Anrufsignalgruppen Adressensignalgruppen erzeugt, welche die absoluten Adressen der Speicherzellen darstellen, wozu die Adressenerzeugungseinrichtung einen Entschlüsselungsschaltkreis zum Entschlüsseln der symbolischen Adressen und einen damit verbundenen Kodierungsschaltkreis zum Bilden der Adressensignalgruppen nach einer bestimmten Zuordnung zwischen den symbolischen Adressen und den Speicherzellen aufweist, welch letzterer nach einer der Betriebsweise der Anlage entsprechend einstellbaren Kodierfunktion arbeitet.



   Eine Datenverarbeitungsanlage in einem Rechenzentrum muss in der Lage sein, Programme auszuführen, die von den verschiedenen Kunden entwickelt worden sind und möglicherweise auch das Eigentum der Kunden sind, ohne dass sich die verschiedenen Programme gegenseitig stören. Üblicherweise müssen die Programme für jeden Kunden vertraulich durchgeführt werden. Die Kunden können jedoch auch Informationen oder Unterprogramme verwenden oder benötigen, die vom Eigentümer des Rechenzentrums bereits in die Rechenanlage eingegeben wurden, da bestimmte Informationen und Unterprogramme von allen Kunden des Rechenzentrums benötigt werden.

  Solche Programme oder Informationen können beispielsweise   trigonometrische    oder logarithmische Tabellen sein, weiterhin Tabellen, die sich mit dem automatischen Berechnen von Steuern und dem Hinzuaddieren der Steuern zu den Rechnungsbeträgen befassen, weiterhin Tabellen, die sich auf das Berechnen von Beträgen für die Bezahlung von Angestellten beziehen, also beispielsweise auf die Berechnung von Sozialabgaben, Versicherungsbeiträgen oder ähnlichem.



   Die Länge der Programme kann unterschiedlich sein, ausserdem können die Programme mehr oder weniger kompliziert sein. Weiterhin können die Programme so gestaltet sein, dass sie nicht die gesamte Rechenkapazität erforderlich machen, die im Rechenzentrum vorhanden ist, sodass die einzelnen Verarbeitungsgeräte im Rechenzentrum mehrere kleinere Programme gleichzeitig ausführen können. Solche grossen Rechenanlagen werden daher hin und wieder als  mehrfach programmiert  bezeichnet.



   Ein mehrfach programmiertes System ist ein Datenverarbeitungssystem, in dem ein oder mehrere Datenspeicher gleichzeitig eine Anzahl unabhängiger Programme oder Programmteile speichern. Ein mehrfach programmiertes System braucht nur einen Datenverarbeitungsgerät zu haben, das der Reihe nach oder gleichzeitig die gespeicherten Programme ausführt. Ein mehrfach programmiertes System kann jedoch in einer grossen Rechenanlage verwendet werden, in der mehrere Datenverarbeitungsgeräte gleichzeitig jeweils eines der gespeicherten Programme ausführen.



   Wenn ein Kunde ein Programm in die Datenverarbeitungsanlage im Rechenzentrum eingibt, lässt sich bei der Vorbereitung des Programmes oder bei der Eingabe des Programmes mittels eines Eingabegerätes nicht bestimmen, in welchem Teil des Datenspeichers das Programm eingeschrieben werden soll, und in welchem Teil der Datenverarbeitungsanlage das Programm durchgeführt werden soll. Der Inhalt des Speicherteiles,  der verwendet werden soll, verändert sich vielmehr in Abhängigkeit von anderen Programmen, die bereits vorhanden sind, wenn das Programm in das Datenverarbeitungssystem eingegeben wird. Demzufolge kann der Befehlsteil in jedem Programm, der die Speicherplätze identifiziert, weder spezielle Speicher noch spezielle Speicherzellen in einem solchen Speicher anfordern.

  Der Befehl kann vielmehr nur symbolisch die relative Anordnung beziehungsweise den relativen Bedarf von Speicherzellen angegeben, in denen das Programm durchzuführen ist.



   Die ordnungsgemässe Durchführung der verschiedenen Programme durch die verschiedenen Kunden wird nun ihrerseits durch ein weiteres Programm gesteuert, das im nachfolgenden als   Überprogramm    bezeichnet werden soll. Dieses   Überprogramm    steuert die Verbindungswege beziehungsweise den Austausch zwischen den Datenverarbeitungsgeräten und den verschiedenen Speichern, sowie zwischen Eingabe- und Ausgabegeräten und den Speichern.

  Weiterhin ordnet das   Überpro-    gramm die Programme den einzelnen Datenverarbeitungsgeräten zu, und zwar entsprechend der Dringlichkeit, mit der die verschiedenen Programme durchgeführt werden sollen und in Übereinstimmung mit der Verfügbarkeit der erforderlichen Eingabe- und Ausgabegeräte, des benötigten Speicherraumes sowie in   Übereinstim-    mung mit der relativen Leistungsfähigkeit der Datenverarbeitungsgeräte für die Durchführung der verschiedenen Programme. Weiter steuert das   Überprogramm    den Ersatz von Programmen, die sich ihrer Vollendung nähern, durch andere wartende Programme und ordnet spezielle Datenspeicher und Eingabe- und Ausgabeeinheiten durchzuführenden Programmen zu.

  Ganz allgemein gesprochen, steuert das   Überprogramm    die Inbetriebnahme und die Funktion der einzelnen Geräte der   Datenverarbeitungs anlage.   



   Ein Programm kann nur dann durchgeführt werden, wenn es durch ein Eingabegerät angeboten worden ist.



  Anstatt zu warten, bis ein spezieller Speicherraum verfügbar ist, wird ein wartendes Programm dann durchgeführt, wenn es von einem Eingabegerät angenommen und an den Datenspeicher abgegeben worden ist, und sobald das Datenspeichersystem irgendwelche freien Speicherplätze hat, die eine ausreichende Kapazität besitzen und in der erforderlichen Kombination angeordnet sind. Die Programme können dann nach ihrer relativen Dringlichkeit und nach den Möglichkeiten der Datenverarbeitungsanlage durchgeführt werden.



  Es ist günstig, wenn man verschiedene Programme in verschiedenen Kodierungen in den Datenspeichern einspeichern kann, bevor die Programme durchgeführt werden. Es ist somit beispielsweise günstig, entweder eine verhältnismässig grosse Anzahl kurzer Programme oder einige wenige verhältnismässig lange Programme einspeichern zu können.



   Die neue Datenverarbeitungsanlage kann so ausgebildet werden, dass sie den gestellten Forderungen genügt.



   Im folgenden soll nun in Verbindung mit den Zeichnungen im einzelnen beispielsweise beschrieben werden, wie die neue Datenverarbeitungsanlage aufgebaut ist und wie sie arbeitet.



   Figur 1 zeigt ein Blockschaltbild einer grossen Datenverarbeitungsanlage, auf die die Erfindung anwendbar ist. Die Pfeile bedeuten die Hauptrichtung, in der die Verbindungen gesteuert werden.



   Figur 2 zeigt ein genaueres Blockschaltbild der Adres senübersetzungseinrichtung.



   Figuren 3-6 zeigen schematische Darstellungen verschiedener topologischer Zusammenhänge für die   Adres senübersetzungseinrichtung.    Die Spalten M stellen hierbei den speziellen Speicher dar, die Spalten C die Speicherplätze und die bezifferten Spalten den topologi schen Zusammenhang.



   Figur 7 zeigt einen Teil der Topologie 4 aus Figur 6 im einzelnen. Die erste und die dritte Spalte stellen hierbei symbolische Blöcke dar, während die zweite und die vierte Spalte die absoluten Blöcke in den Speichern J und T sind.



   Allgemeine Organisation der Datenverarbeitungsanlage
Die Datenverarbeitungsanlage nach Figur 1 ist in der Lage, eine grosse Menge von Informationen sehr schnell zu verarbeiten. Hierzu   führtJdie    Datenverarbeitungsanlage zahlreiche unterschiedliche Verarbeitungsoperationen gleichzeitig durch. Die Datenverarbeitungsanlage weist eine Anzahl von Verarbeitungsgeräten 10,
11 und 12 auf, die mit DAP-A, DAP-B und DAP-C bezeichnet sind. Diese Verarbeitungsgeräte sprechen auf eine Anzahl bestimmter Befehle an, die zusammen genommen als Programm bezeichnet werden.



  Auf diese Befehle hin üben die Datenverarbeitungsgeräte auf Informationen, die von jedem Verarbeitungsgerät empfangen worden sind, bestimmte Verarbeitungsoperationen aus.



   Datenworte, die Informationen darstellen, die verarbeitet werden sollen, werden in einer Anzahl von Speichern, 20, 21, 22, 23, 24, 24 und 26 gespeichert.



  Weiterhin enthalten diese Speicher Datenworte, die die einzelnen Befehle der Programme darstellen, die von den Verarbeitungsgeräten durchgeführt werden sollen.



  Jedes Datenwort ist an einem bestimmten Speicherort eingespeichert. Die Speicher 20-26 sind als Speicher-J, Speicher-K, Speicher-L, Speicher-M, Speicher-N, Speicher-T und Speicher-V bezeichnet.



   Jedes Datenverarbeitungsgerät 10, 11 und 12 kann mit einem oder mehreren der Speicher 20   bis - 26    zusammenarbeiten, um Datenworte aus den Speichern zu empfangen und Datenworte an einen oder mehrere der Speicher abzugeben, die aus der Durchführung bestimmter Schritte der   D atenverarbeitungsoperation    resultieren.



   Ein peripheres Verarbeitungsgerät 30 überträgt auf spezielle Befehle hin automatisch Informationen und stellt die Verbindungswege zwischen der Anlage nach Figur 1 und äusseren Zusatzgeräten her (nicht gezeigt).

 

  Solche äusseren Verarbeitungsgeräte geben zur Verarbeitung Informationen ab oder nehmen sie auf. Weiterhin geben sie Programme ab, die zur Verarbeitung der Informationen benötigt werden und schliesslich   empfan-    gen solche äusseren Zusatzgeräte das Ergebnis der Informationsverarbeitung. Manche dieser äusseren Zusatzgeräte kienen als Eingabespeicher oder Eingabegeräte für Informationen und Programme. Das können beispielsweise Magnetbandgeräte sein oder auch Lochkartenleser und elektrische Schreibmaschinen.



   Ein zentrales Steuergerät 32 stellt sämtliche Verbindungen zwischen den Verarbeitungsgeräten 10, 11, 12 und 30 und den Speichern 20 bis 25 her und bestimmt auch den Plan, nach dem diese Verbindungen hergestellt werden sollen. Das zentrale Steuergerät arbeitet mit  einer unterschiedlichen Anzahl von Verarbeitungsgeräten und Speichern zusammen. Die neue Datenverarbeitungsanlage ist daher nicht auf eine Anlage beschränkt, die entweder eine vorgegebene Anzahl von Verarbeitungsgeräten oder eine vorgegebene Anzahl von Speichern aufweist. Das zentrale Steuergerät koordiniert daher jeden Anruf eines Verarbeitungsgerätes, das Verbindung mit einem Speicher aufnehmen soll. Ein solcher Anruf kann entweder erfolgen, um ein oder mehrere Datenworte aus einem Speicher abzurufen, oder um ein oder mehrere Datenworte in einem Speicher einzuspeichern.

  Eine Komponente innerhalb des zentralen Steuergerätes hat eine andere Funktion, die im einzelnen beschrieben wird: Diese Komponente ordnet einen Speicher sowie bestimmte Speicherstellen dem anrufenden Verarbeitungsgerät zu, das heisst, diese Komponente bestimmt die absoluten Speicheradressen. Zusätzlich plant das zentrale Steuergerät den Austausch von Datenworten zwischen dem anrufenden Verarbeitungsgerät und einem Speicher und führt diesen Austausch durch.



   Ein zentraler Programmunterbrecher 34 steuert seinerseits den Plan, nach dem die einzelnen Programme von den Verarbeitungsgeräten 10 bis 12 durchgeführt werden sollen und hält die Rangordnung zwischen den einzelnen Programmen aufrecht. Der zentrale Programmunterbrecher enthält dafür eine Aufzeichnung der Priorität,   die    den verschiedenen durchzuführenden Programmen zugeordnet ist, und unterbricht die Durchführung von Programmen mit niedriger Priorität durch die Verarbeitungsgeräte und steuert die Datenverarbeitungsgeräte derart an, dass sie stattdessen Programme mit höherer Priorität durchführen.



   Die   Informationseinheit,    die bei der Datenverarbeitung verwendet wird, wird das Datenwort genannt.



  Jedes Datenwort soll im vorliegenden Ausführungsbeispiel 24 Bits aufweisen. Es werden zwei Arten von Datenworten verwendet, nämlich das Operandenwort und das Befehlswort.



   Ein Operandenwort ist ein Datenwort, auf das in den Verarbeitungsgeräten 10 bis 12 eine arithmetische oder logische Operation angewendet werden soll, oder das das Ergebnis einer Datenverarbeitungsoperation ist.



   Das periphere Verarbeitungsgerät 30 dient dazu, Operandenworte von äusseren Zusatzgeräten her an die Speicher zu übertragen, oder von den Speichern Operan denworte an die äusseren Zusatzgeräte abzugeben.



   Das Befehlswort wird von einem der Verarbeitungsgeräte 10 bis 12 dazu verwendet, einen diskreten Verarbeitungsschritt in der   Verarbeitungsop eration    durchzuführen, deren Durchführung gerade anliegt. Das Befehlswort wird den Verarbeitungsgeräten 10 bis 12 von einem der Speicher 20 bis 26 zugeführt. Wenn auch das periphere Verarbeitungsgerät 30 Befehlsworte von aussen den Speichern 20 bis 26 zuführen kann, so gibt das Gerät 30 üblicherweise keine Befehlsworte aus den
Speichern 20 bis 26 an die äusseren Zusatzgeräte ab.



   Die meisten Befehlsworte bestehen aus einem Be   fehlsteil    und einem Adressenteil. Der Befehlsteil stellt die Art des Schrittes dar, der von einem der Verarbei   tungsbauteiie    10 bis 12 durchgeführt werden soll. Die
Befehlsadresse ist eine Darstellung eines Platzes in einem der Speicher 20 bis 26, von dem ein Operanden wort ausgelesen werden soll, um es verarbeiten zu können, oder in dem ein verarbeitetes Operandenwort einzuspeichern ist.

  Ganz allgemein stellen die Befehls Adressen eines Programms eine Folge von Speicherplätzen dar, aus denen die zu verarbeitenden Informationen ausgelassen werden können, weiterhin eine Folge von Speicherplätzen, in die verarbeitete Informationen eingespeichert werden sollen, und schliesslich noch eine Folge von Speicherplätzen, in die Zwischenergebnisse eingespeichert werden, die bei den einzelnen Verarbeitungsschriften anfallen. Bei der neuen Datenverarbeitungsanlage kennzeichnet die Befehlsadresse weder einen ganz bestimmten Speicherplatz noch einen ganz bestimmten der Speicher 20 bis 26. Die Befehlsadresse kennzeichnet vielmehr einen Speicherplatz nur symbolisch. Daher wird die Adresse, die ein solches Befehlswort angibt, symbolische Adresse genannt.



   In dem zentralen Steuergerät 32 wird nun die symbolische Adresse dazu benutzt, um einen bestimmten Speicherort in einem bestimmten Speicher zu bestimmen. Das zentrale Steuergerät empfängt von einem der Verarbeitungsgeräte 10 bis 12 eine symbolische Adresse und übersetzt diese symbolische Adresse in eine andere Adresse, die einen bestimmten Ort in einem bestimmten Speicher bezeichnet. Diese Adresse, die von dem zentralen Steuergerät 32 der symbolischen Adresse zugeordnet wird, heisst eine absolute Adresse. Diese absolute Adresse wird vom zentralen Steuergerät 32 an den entsprechenden Speicher abgegeben, sodass der Speicher derart angesteuert ist, dass nur die von der absoluten Adresse bezeichneten Speicherstellen verwendet werden, wenn der Speicher mit demjenigen Verarbeitungsgerät in Verbindung tritt, das den ganzen Vorgang ausgelöst hat.



   Eine symbolische Adresse ist zweiteilig. Sie besteht aus einer symbolischen Wortadresse aus 10 Bits und einer symbolischen Blockadresse mit 5 Bits. Die absolute Adresse, die von dem zentralen Steuergerät 32 an den Speicher abgegeben wird, weist ebenfalls 15 Bits auf, und zwar eine absolute Wortadresse aus 10 Bits und eine absolute Blockadresse aus 5 Bits.



   Die absolute Blockadresse identifiziert einen be   stimmten    Block aus 1024 aufeinander folgenden Plätzen in einem Speicher, während die absolute Wortadresse einen bestimmten Platz innerhalb des identifizierten Speicherblocks kennzeichnet.



   Zusätzlich zu den symbolischen Adressen, die eines der Verarbeitungsgeräte 10 bis 12 aus den Befehlsworten ableitet, gibt jedes der Verarbeitungsgeräte 10 bis 12 immer dann eine symbolische Adresse eines Speicherplatzes ab, wenn das Programm das nächste Befehlswort benötigt. Diese symbolische Adresse wird von dem zentralen Steuergerät 32 ebenfalls in eine absolute Adresse übersetzt, die einen bestimmten Speicherplatz kennzeichnet, an dem das nächste Befehlswort eingespeichert werden soll.

 

   Auch das periphere Verarbeitungsgerät 30 gibt symbolische Adressen der gleichen Art wie die Verarbeitungsgeräte 10 bis 12 ab, wenn es bestimmte Befehle ausführt, um Datenworte in die Speicher zu übertragen oder aus den Speichern auszulesen.



   Eine zusätzliche Informationseinheit, die in dem System verwendet wird, ist die Programmnummer. Die Programmnummer weist 5 Bits auf. In dem System sind die einzelnen Programmnummern den einzelnen Programmen zugeordnet, die in dem System durchgeführt werden können. Wenn eines der Verarbeitungsgeräte 10 bis 12 ein Programm durchführt, wird diesen Verarbeitungsgeräten immer dann eine entsprechende Programmnummer zugeführt, wenn ein Anruf für die   Verbindung mit einem Speicher erfolgt. Zur Erzeugung der absoluten Adressen aus den symbolischen Adressen wird in dem zentralen Steuergerät 32 diese Programmnummer verwendet.



   Aufbau des Programmes
Die Verarbeitungsgeräte 10 bis 12 sind so ausgelegt, dass sie unabhängig voneinander Programme durchführen können. Die Zuordnung der Programme zu den verschiedenen Verarbeitungsgeräten wird durch eine Anzahl von Hauptsteuerprogrammen gesteuert, die zusammen genommen als Operationssystem bezeichnet werden. Das Operationssystem greift daher nicht direkt in die Informationsverarbeitung ein, die durchgeführt wird, um die vom Kunden gewünschten Resultate zu erzielen. Es steht diesen Programmen vielmehr vor, und steuert beziehungsweise lenkt den Ablauf der Vorgänge und Programme in dem ganzen System. Programme, die sich auf die direkte Informationsverarbeitung beziehen, bei der die erforderlichen Resultate erhalten werden, werden gegenständliche Programme (subject programs) genannt.



   Jedes Verarbeitungsgerät 10 bis 12 kann jedes beliebige gegenständliche Programm oder auch jedes Programm aus dem   Operations system    durchführen. Nun haben die einzelnen Verarbeitungsgeräte unterschiedliche Eigenschaften und auch unterschiedliche Rechengeschwindigkeiten, so dass es vielfach günstiger ist, ein gegenständliches Programm von einem Verarbeitungsgerät, ein anderes gegenständliches Programm dagegen von einem anderen Verarbeitungsgerät durchführen zu lassen. Es ist daher eine der Funktionen des Operationssystems, ein gegenständliches Programm nach Möglichkeit demjenigen Verarbeitungsgerät zuzuordnen, das für die Durchführung dieses Programms am besten geeignet ist.



   Die Zuordnung und die Ausführung gegenständlicher Programme wird nun nach der relativen Bedeutung der Programme geplant und durchgeführt. Wenn ein gegenständliches Programm vollständig durchgeführt worden ist, wird es durch dasjenige gegenständliche Programm ersetzt, dem die höchste Dringlichkeit zugeordnet ist, jedoch nur dann, wenn zu diesem Zeitpunkt die erforderlichen äusseren Zusatzgeräte und die erforderliche Speicherkapazität verfügbar sind. Wenn es jedoch notwendig ist, dass eine Operation durch ein Programm des Operationssystems durchgeführt werden muss, weil dieses die Dringlichkeit der durchzuführenden Operation erfordert, wird nicht erst abgewartet, bis eines der gegenständlichen Programme vollständig durchgeführt ist. Vielmehr wird dieses gegenständliche Programm unterbrochen und stattdessen das Programm des Operationssystems, durchgeführt.

  Wenn das Programm des   Operations systems,    für dessen Durchführung das gegenständliche Programm unterbrochen wurde, vollständig durchgeführt ist, wird das unterbrochene gegenständliche Programm an dem Punkt wieder aufgenommen, an dem es unterbrochen worden war. Diese Art der Programmunterbrechung wird Prioritätsunterbrechung genannt und vom zentralen Programmunterbrecher 34 (Figur 1) gesteuert.



      Adressenübersetzongseinrichtung   
In dem Blockschaltbild nach Figur 2 ist im einzelnen dargestellt, wie die Adressenübersetzungseinrichtung im zentralen Steuergerät 32 aufgebaut ist.



   Der Adressenübersetzungseinrichtung wird eine Anrufsignalgruppe zugeführt, die eine Programmnummer bedeutet. Weiterhin wird von einem Verarbeitungsgerät eine zweite Anrufsignalgruppe zugeführt, die eine symbolische Blockadresse bedeutet. Die Adressenüberset   zungseinrichtung    übersetzt nun diese beiden Anrufsignalgruppen in Ausgangssignale, die einen ganz bestimmten der vorhandenen Speicher identifizieren, und weiterhin in eine Ausgangssignalgruppe, die eine absolute Blockadresse in dem identifizierten Speicher bedeutet.



   Dem Entschlüsselungsschaltkreis 350 für die Programmnummern wird hintereinander eine Anrufsignalgruppe zugeführt, die eine Programmnummer bedeutet.



  Er gibt daraufhin über 32 Leitungen parallel dekodierte Ausgangssignale ab, die der Programmnummer entsprechen. Die Entschlüsselungsschaltung 351 für die symbolische Blocknummer erhält hintereinander eine Gruppe von Anrufsignalen, die eine symbolische Blockadresse bedeuten, und gibt parallel über 32 Leitungen dekodierte Ausgangssignale ab, die der symbolischen Blockadresse entsprechen. Die Ausgangssignale aus den Entschlüs   selungsschaltungen    350 und 351 für die Programmnummern und die symbolischen Blockadressen werden einer Entschlüsselungsmatrix 352 zugeführt, die der anliegenden Kombination aus Programmnummer und symbolischer Blockadresse entspricht.



   Die Kodierschaltung 355 spricht auf eine Anzahl von Eingangssignalen an und gibt Ausgangs signale ab, die einen bestimmten Speicher kennzeichnen. Weiterhin gibt die Kodierschaltung 355 eine Adressensignalgruppe ab, die die absolute Blockadresse in dem gekennzeichneten Speicher darstellt. Den Eingängen der Kodierschaltung 355 sind Eingangstore 356 vorgeschaltet, die über die Leitung T mit Zeittaktimpulsen angesteuert werden.



  Die Ausgangs signale der Kodierschaltung 355 werden durch Ausgangstore 357   weitergeleitet,    wenn die Ausgangstore 357 von Zeittaktimpulsen angesteuert sind, die ebenfalls über die Zeittaktleitung T zugeführt werden. Die Anrufsignalgruppen, die eine Programmnummer und eine symbolische Blockadresse von den Verarbeitungsgeräten 10, 11, 12 und 30 bedeuten, sind in der Fig. 2 mit DLP 0-4 (Programmnummer) und mit DLB 0-4 (Blockadresse) bezeichnet.



     
Die Anrufsignalgruppe DLP 0 4 wird der Ent-    schlüsselungsschaltung 350 für die Programmnummer zugeführt, während die Anrufsignalgruppe DLB 0-4 der Entschlüsselungsschaltung 351 für die symbolische   Blockadresse    zugeführt wird. Die Entschlüsselungsschaltungen 350 und 351 können irgendeinen Dekodierschaltkreis aufweisen, der in der Lage ist, aus einer binären, digitalen Signalgruppe für jede Zahl, die durch die Signalgruppe dargestellt wird, ein besonders Ausgangssignal abzuleiten. Im vorliegenden Ausführungsbeispiel bestehen die Anrufsignalgruppen für die Programmnummern und die symbolischen Blockadressen aus fünf binären Bits. Man kann daher mit jeder dieser beiden Signalgruppen 32 verschiedene Zahlen darstellen.

 

   Die Entschlüsselungsmatrix 352 ist mit den 32 Ausgangsleitungen der Entschlüsselungsschaltung 350 und mit den 32 Ausgangsleitungen der Entschlüsselungsschaltung 351 verbunden. Die Entschlüsselungsmatrix 352 gibt für jede Kombination zweier binärer 1-Bits ein einziges Ausgangssignal ab. Der eine 1-Bit läuft hierbei von der Entschlüsselungsschaltung 350 und der andere 1-Bit läuft von der Entschlüsselungsschaltung 351 ein.



  Die Entschlüsselungsmatrix 351 gibt daher auf 1024   Ausgangsleitungen aus 1024 verschiedenen 1-Bits die jeweils entsprechende Kombination solcher 1-Bits ab, so dass die beiden empfangenen Eingangssignale eindeutig einander zugeordnet werden. Die Entschlüsselungsmatrix 352 kann aus irgendeiner bekannten Dekodierungsschaltung aufgebaut sein.



   Die Entschlüsselungsmatrix 352 gibt daher auf irgendeiner ihrer 1024 Ausgangsleitungen Signale ab, die der bestimmten Programmnummer und der symbolischen Blockadresse entsprechen und die von dem Verarbeitungsgerät geliefert werden, das um die Verbindung mit dem Speicher nachsucht. Ist eine andere Programmnummer mit einer anderen symbolischen Blockadresse kombiniert, dann erscheint auf einer anderen Ausgangsleitung der Erkennungsmatrix 352 eine binäre 1.



   Die Kodierschaltung 355 ist mit den 1024 Ausgangsleitungen der Entschlüsselungsmatrix 352 verbunden und spricht auf Signale an, die an diesen Ausgangsleitungen auftreten. Die Kodierschaltung 355 gibt daraufhin Adressensignale ab, die einen der Speicher identifizieren und eine absolute Blockadresse in dem identifizierten Speicher darstellen. Jedes Adressensignal aus der Adressensignalgruppe MAC J bis MAC N und MAC T bis MAC V, das von der Kodierschaltung 355 abgegeben wird, identifiziert einen der 7 Speicher 20-26, d. h. einen der Speicher J-N und T und V aus Fig. 1. Die absolute Blockadresse wird durch die Signalgruppe MAB   W4    dargestellt, die von der Kodierschaltung 355 abgegeben wird.



   Die Kodierschaltung 355 kann aus irgendwelchen Kodierschaltkreisen aufgebaut sein, die aus irgendeiner Anzahl von Eingangsleitungen ein Eingangssignal erhalten und daraufhin eine entsprechende Anzahl von Ausgangssignalgruppen abgeben. Solche Kodierungsschaltkreise sind bekannt und können als Diodenmatrizen, aus logischen Torschaltungen oder auch aus Speichern aufgebaut sein.



   Das Schema, das beim Übersetzen einer symbolischen Adresse in eine absolute Adresse angewendet wird, (was man als Ent- und Verschlüsseln bezeichnen kann), kann einmal von Hand eingestellt werden. Weiterhin kann dieses Schema durch eine   Programmroutine    festgelegt sein oder auch durch die Information selbst festgelegt werden, die eingespeichert werden soll. Weiterhin kann das   Übersetzungsschema    durch Steuersignale aus den Speichern 20-26 bestimmt sein. Die Entschlüsselungs- und Kodierschaltkreise können einmal einem festen   Obersetzungsschema    folgen, das in dem Entschlüsselungsschaltkreis 352 und in dem Kodierschaltkreis 355 festverdrahtet ist.

  Wenn die Zuordnung zwischen einer symbolischen Adresse und einer absoluten Adresse geändert werden soll, können anders verdrahtete oder anders angeordnete Schaltkarten verwendet werden, deren Verdrahtung das Entschlüsselungsschema oder den Kodierschlüssel bestimmt. Ein gewisses Mass an Freiheit in der Änderung der Entschlüsselung und der Kodierfunktion kann auch mit Hilfe von Steckfeldern erhalten werden, durch welche die Verbindungen der einzelnen Bauelemente der Kodierschaltuungen 352 und 355 bestimmt ist. Das ist aber bekannt.



   Es können mehrere Entschlüsselungsschaltkreise und/oder Kodierungsschaltkreise verwendet werden. Die genaue Art der Erkennungs- oder Kodierungsschaltkreise 352 und 355, die verwendet werden sollen. kann vom Bedienungspersonal der ganzen Anlage beispielsweise durch Umlegen von Schaltern bestimmt werden. Man kann diese Wahl aber auch durch eine oder mehrere Entschlüsselungsziffern durchführen, die dem Programm selbst zugeordnet sind, die also beispielsweise in der Programmnummer enthalten sein können. Man kann daher die Länge der Programme und ihre Natur (z. B.



  ob nach dem Programm Zugriff zu Informationen in Speichern erforderlich ist, die gleichzeitig allen Benutzern zur Verfügung stehen) durch besondere Entschlüsselungsziffern kennzeichnen. Die Kodierungs- und Entschlüsselungsschaltungen, durch die man die verfügbaren Speicher am besten ausnutzen kann, können automatisch ausgewählt werden, z. B. dadurch, dass man die richtig verdrahteten Schaltkarten einschaltet. Die Speicher selbst können so eingerichtet sein, dass sie ihrerseits an die Adressenübersetzungseinrichtung Informationen zurückgeben.

  Diese können beispielsweise anzeigen, dass die Speicherkapazitäten erschöpft sind, oder dass die Speicher leer sind, dass die Speicher zum Empfang weiterer Informationen bereit sind, oder dass bestimmte Speicherzellenblöcke in einer ganzen Blockgruppe ausgelesen worden sind, so dass neue Informationen in die Speicherplätze eingeschrieben werden können, aus denen die Informationen ausgelesen worden waren.



   Die Prioritäten, mit denen die einzelnen Programme durchgeführt werden, werden vorzugsweise durch eine Signalgruppe angegeben, die der Programmnummer zugeordnet ist. Die Entschlüsselungsschaltungen 350-352 erkennen diese Nummern und bestimmen dadurch die Priorität des Programms. Weiterhin kann dadurch die Priorität des Datenverarbeitungsgerätes bestimmt werden, das einen Anruf nach einem Speicherzugriff durchgeführt hat, um ein Programm vor seiner Durchführung in den Speicher einzuspeichern. Der zentrale Programmunterbrecher 34 ist mit dem zentralen Steuergerät 32 verbunden, dessen einer Teil die Adressenübersetzungseinrichtung ist. Der zentrale Programmunterbrecher kann die Verbindungen durch Ansteuern der Tore 356 unterbrechen, oder auch durch Ansteuern von anderen Torschaltungen, die in der Anlage vorgesehen sind.

  Die Leitungen 34a und 34b zeigen schematisch eine Möglichkeit, wie der Programmunterbrecher in die Datenverarbeitungsanlage eingeschaltet werden kann.



  Weiterhin kann der zentrale Programmunterbrecher so arbeiten, dass er die dekodierte Prioritätsnummer einspeichert, die ihm über die Leitung 34a zugeführt wird.



  Wenn die Priorität kleiner als die Priorität desjenigen Programmes ist, das gerade durchgeführt wird, kann der Programmunterbrecher bestimmen, dass das Programm mit der niedrigeren Priorität als nächstes ausgeführt wird. Programmunterbrechungen aufgrund verschiedener Prioritäten sind bekannt, und ebenso ist es bekannt, Informationen bezüglich der Prioritäten für eine spätere Verwendung zu speichern.

 

   Die Verwendung einer solchen Prioritätsentschlüsselung, d. h. also die Verwendung von Programmnummern, die die Priorität festlegen, ermöglicht es, mehreren Datenverarbeitungsgeräten einen Anruf nach einem Speicherzugriff abgeben zu können, ohne dass ein Programm oder mehrere Programme gestört oder unterbrochen werden, die von anderen Verarbeitungsgeräten in Übereinstimmung mit Informationen durchgeführt werden, die in dem Speicher an den absoluten Adressen eingespeichert sind.

  Wenn von einem Verarbeitungsgerät ein Anruf für die   Übersetzung    einer symbolischen in eine absolute Adresse und somit ein Anruf nach Zugriff zu dem Speicher erfolgt, und wenn dieses Verarbeitungsgerät eine höhere Priorität besitzt als das Programm, das  gerade durchgeführt wird, kann eine Störung des gerade laufenden Programms so lange verhindert werden, bis das Programm leicht unterbrochen werden kann. Der Zustand des Programms, das unterbrochen wird, kann dann auf bekannte Weise gespeichert werden. Dann wird die Programmadresse mit der höheren Priorität in eine absolute Adresse umgewandelt, so dass das Programm in die verfügbaren Speicherplätze eingespeichert werden kann, die dieser absoluten Adresse zugeordnet sind, und dieses Programm ablaufen kann.

  Anschliessend kann man zur Durchführung des unterbrochenen Programmes mit der niedrigeren Priorität wieder zurückkehren.



   Die absolute Adresse, die von der Kodierschaltung bestimmt ist, braucht nicht Speicherplätze darzustellen, die aufeinanderfolgen, obwohl es üblich und auch vorteilhaft ist, die einzelnen Speicherplätze aufeinanderfolgend zu wählen. Es ist jedoch ohne weiteres möglich, die Programme auf solche Weise zu zerlegen, dass Speicherplätze oder Blöcke aus aufeinanderfolgenden Speicherplätzen belegt werden, wobei die einzelnen Blöcke selbst jedoch nicht aufeinanderzufolgen brauchen. Ein solcher Aufbau ist besonders dann günstig, wenn ein verhältnismässig langes Programm einer Anzahl von kurzen Programmen unterschiedlicher Länge folgt, so dass Speicherkapazität an verschiedenen Stellen innerhalb der Speicher 20-26 wieder frei wird.

  Die Adressenübersetzungseinrichtung gibt dann eine Folge von Adressensignalgruppen ab, von denen jede die absolute Adresse einer Anzahl von Gruppen aufeinanderfolgender Speicherplätze darstellt, während die Gruppen selber nicht aufeinanderfolgen.



   Es kann günstig sein, wenn man die absoluten Adressen, so wie sie aus den symbolischen Adressen übersetzt sind, derart bereitstellen kann, dass die von den verschiedenen Verarbeitungsgeräten Idirekt gewonnen werden können, ohne dass ein weiterer   thberset-    zungsschritt erforderlich ist. Hierzu ist ein Register 40 vorgesehen, das Registerabschnitte 40A, 40B, 40C und 40P aufweist. Jeder dieser Registerabschnitte ist einem der Verarbeitungsgeräte 10-12 und 30 zugeordnet. Die Adressensignalgruppen, die die absoluten Adressen darstellen, werden in das Register 40 durch einen   Ubertra-    gungsschaltkreis 41 eingeschrieben. Dem   Übertragungs-    schaltkreis 41 werden Eingangssignale über ein Kabel 45 zugeführt, die Signalgruppen aus den   Verarbeitungsgerä    ten 10-12 und 30 enthalten.

  Diese Signalgruppen zeigen an, welches der Verarbeitungsgeräte den Zugriff benötigt. Solche Signale, die auf ganz bestimmte Weise kodiert sind, dienen als Anrufsignale und legen das Verarbeitungsgerät fest und die Natur des Anrufs. Ein ganz bestimmtes Bit aus der Anrufsignalgruppe oder irgendein anderes passendes Erkennungszeichen des Verarbeitungsgerätes, das einen Zugriff zu einem Speicher oder aber die Übersetzung einer symbolischen Adresse in eine absolute Adresse wünscht, wird dekodiert und beispielsweise an Torschaltungen weitergege   bau,    die in Fig. 2 durch 42 schematisch dargestellt sind.



  Diese Torschaltungen übertragen dann die Signalgruppe, welche die absolute Adresse darstellt, an die entsprechenden Registerabschnitte 40A, 40B, 40C und 40P des Registers 40. Die Signalgruppe, welche die absolute Adresse darstellt, wird daher in einem Register gespeichert, aus dem sie auf Wunsch durch einen Ausleseimpuls wieder erhalten werden kann. (Das ist nicht gezeigt und braucht auch nicht weiter beschrieben zu werden.)
Die Signale MAB   0 4,    die von der Kodierschaltung 355 abgegeben werden und durch die Torschaltungen 357 weiter gegeben werden, stellen die absolute Blockadresse dar, die durch die Übersetzung der symbolischen Adresse zugeordnet wurde. Es sind noch zwei zusätzliche Leitungen vorgesehen: Das Signal MAB 5 zeigt an, dass ein Verarbeitungsgerät einen Anruf für eine Programmunterbrechung abgegeben hat, um seine Funktion aufzunehmen.

  Das Signal MAB 6 stellt eine weitere Befehlsinformation dar. Man kann das Signal MAB 6 beispielsweise dazu verwenden, das Aufrufen von Datenworten aus einem oder mehreren Speichern unter Verwendung der erzeugten absoluten Blockadresse zu steuern.



   Obwohl man eine getrennte Entschlüsselungsmatrix 352 und einen besonderen Kodierungsschaltkreis 355 verwenden kann, können die Funktionen des Entschlüsselns und Kodierens auch in einer Vorrichtung vereinigt werden, die zeitlich abwechselnd arbeitet. Man kann auch einen assoziativen oder   datenadressierten    Speicher dazu verwenden, der eine Gruppe von Ausgangssignalen direkt abgibt, wenn er eine bestimmte Gruppe von Eingangssignalen empfangen hat.



   Der Adressenübersetzungseinrichtung aus Fig. 2 kann auch ein Speicher sein, in den man einschreiben und aus dem man auslesen kann. Es kann auch ein Speicher sein, aus dem man nur auslesen kann. Die Eingangssignalgruppe, d. h. das Anrufsignal, wird als Adresse für denjenigen Speicherplatz verwendet, aus dem die Ausgangssignalgruppe ausgelesen werden soll.



  Wenn man einen Speicher verwendet, in dem man einschreiben und aus dem man auslesen kann, können die topologischen Zusammenhänge in der Adressenübersetzungseinrichtung leicht dadurch geändert werden, dass man in die adressierten Speicherstellen neue Informationen einschreibt.



   Für den Adressenübersetzungseinrichtung werden verschiedene Konfigurationen verwendet, um unterschiedliche topologische Zusammenhänge bei der Adressenübersetzung zu erreichen. In den Fig. 3-7 sind schematisch einige solcher topologischer Zusammenhänge dargestellt, die nach verwendet werden können, und für die neue Anlage besonders kennzeichnend sind.



   Der Adressenübersetzungseinrichtung ordnet die Speicherplätze, auch Speicherzellen genannt der einzelnen Speicher jeweils Blöcken von 1024 aufeinanderfolgenden adressierbaren Speicherplätzen zu. Wenn man der Einfachheit halber annimmt, dass die Anzahl der Speicherplätze in einem einzigen Block 1000 betragen soll, was mit (1K) bezeichnet ist, und dass die Anzahl von Speicherplätzen in einer Blockgruppe durch   dasjenige    ge ganzzahlige Vielfache von 1000 bezeichnet sein soll, das der tatsächlichen Anzahl von Speicherplätzen am nächsten kommt, so wird man eine Gruppe von 6 Blöcken, die zusammen 6 144 Speicherplätze aufweisen, als eine Blockgruppe mit 6K (6000) Speicherplätzen bezeichnet. 

  Wenn nun ein bestimmtes Programm eine 8K Gruppe von Speicherplätzen benötigt, wird die symbolische Adresse, die vom Programm geliefert wird, Nummern im Bereich von 0000-8191 darstellen.



   Die symbolische Adresse, die von den Befehlen geliefert wird, weist in der vorliegenden Ausführungsform 15 Bits auf und kann daher symbolisch 32K verschiedener Speicherplätze darstellen. Die 5 Bits der symbolischen Adresse, die den höchsten Stellenwert besitzen, stellen die symbolische Blockadresse dar und bezeichnen somit symbolisch den ersten Speicherplatz  eines 1K-Blocks von Speicherplätzen. Die Bits mit den 10 niedrigsten Stellenwerten in der symbolischen Adresse sind die symbolische Wortadresse. Diese symbolische Wortadresse bezeichnet symbolisch einen der 1024 Speicherplätze in dem Block, der durch die symbolische Blockadresse festgelegt ist. Wenn beispielsweise die symbolische Blockadresse den Block 23 darstellt, wird der erste Speicherplatz dieses symbolischen Blocks durch die vollständige symbolische Adresse 23 552 dargestellt.

  Die symbolische Wortadresse, die eine der Zahlen   0000-1023    darstellt, identifiziert dann einen Speicherplatz in dem symbolischen Block 23, der 1024 verschiedene Speicherplätze aufweist, also einen der symbolischen Speicherplätze zwischen dem Speicherplatz 23 552 und dem Speicherplatz 24 575. Wenn nun, um mit dem Beispiel fortzufahren, die symbolische Wortadresse die Zahl 575 darstellt, und wenn die symbolische Blockadresse den symbolischen Block 23 bedeutet, so ist von der vollständigen symbolischen Adresse der symbolische Speicherplatz 24 127 adressiert.



   Jedem Programm, das von einem Verarbeitungsgerät ausgeführt wird, ist ein Programmnummer aus 5 Bits zugeordnet. Wenn ein Verarbeitungsgerät Verbindung mit den Speichern aufnehmen will, gibt er Signale ab, die sowohl die Nummer des laufenden Programms als auch eine symbolische Adresse bedeuten. Diese Signale werden der Adressenübersetzungseinrichtung zugeführt, welche die Signale für das Verarbeitungsgerät übersetzt, das die Signale abgegeben hat.



   Angenommen, ein Programm würde angegeben: Die Programmnummer 5, die symbolische Blockadresse für den Block 23 und die symbolische Wortadresse 575.



  Weiterhin sei angenommen, dass von dieser Kombination nur die Programmnummer und die symbolische Blockadresse übersetzt werden, um nämlich den absoluten Block 3 im Speicher T zu identifizieren. Die symbolische Wortadresse wird nicht übersetzt, sondern vielmehr direkt als absolute Wortadresse verwendet. Die vollständige absolute Adresse würde daher lauten: Speicherplatz 3647 (3K (= 3027)   +    575) im Speicher T.



   Die symbolischen Wortadressen in gegenständlichen Programmen, das sind also die Programme, da die Datenverarbeitungen selbst bestimmen, werden häufig nicht übersetzt, sondern stellen wirkliche Wortadressen dar. Es kann jedoch häufig wünschenswert sein, dass symbolische Wortadressen aus den Programmen des Operationsbefehls, also Wortadressen aus den   Überpro-    grammen, übersetzt werden.



   In der Fig. 3 sind 5 verschiedene topologische Zusammenhänge für die Übersetzung dargestellt, welche die Adressenübersetzungseinrichtung für einen einzigen 16K Speicher knüpfen bzw. liefern kann, in dem 27 verschiedene Programmnummern verwendet werden.



  (Der 16K Speicher besitzt in Wirklichkeit 16 384 Speicherplätze). Das Wort  topologischer Zusammenhang  bezieht sich im hier gebrauchten Sinne auf einen besonderen Organisationsplan des Speichers, wenn der Speicher von einer bestimmten Programmgruppe belegt ist. Die Spalte M gibt einen bestimmten Speicher an (hier den Speicher J mit 16K Speicherplätzen). Die Spalte C gibt die verfügbaren Speicherplätze an, während die 5 Spalten 1-5 die topologischen   Zusammen    hänge zeigen. Diese Aufstellung ändert sich, wenn sich die Programme ändern, mit denen der Speicher belegt ist. Bei jedem der 5 topologischen Zusammenhänge sind die ersten 2K Zellen für   Überprogramme    aus dem Operationssystem reserviert, denen die Programmnummer 0 zugeordnet ist.

  Das ist der Kürze wegen mit  PN0  bezeichnet worden. (Obwohl für das vollständige Operationssystem auch die Programmnummern 0, 1 und 2 reserviert werden können, werden in den topologischen Zusammenhängen nach den Fig. 3-7 nur PN-O Programme verwendet.)
In dem topologischen Zusammenhang No. 1 sind die gesamten Speicherplätze, die im Speicher für gegenständliche Programme verfügbar sind, einem einzigen gegenständlichen Programm zugeordnet. Nach dem Organisationsplan wird der Ausführung gegenständlichen Programmen, die mehr als 8K-Speicherplätze, jedoch weniger als 14K Speicherplätze benötigen, von dem Operationssystem für die Adressenübersetzungseinrichtung die Programmnummer PN-3 zugeordnet, wie es in der Fig. 3 dargestellt ist. Jedes PN-3 Programm besitzt die Fähigkeit, eine beliebige symbolische Adresse zwischen 00000 und 14 335 zu erzeugen bzw. abzugeben.



  Während der Durchführung dieses Programms wird die Verbindung mit dem Speicher dann hergestellt wenn das Datenverarbeitungsgerät, welches das Programm durchführt an die   Übersetzungseinrichtung    5 Signale abgibt, die PN-3 darstellen, und weitere 5 Signale abgibt, die einen der symbolischen Blöcke 0-13 darstellen. Diese beiden Gruppen aus zusammen 10 Signalen werden dann in ein Kennsignet für den Speicher J übersetzt und ausserdem in eine Darstellung der absoluten Adresse der absoluten Blöcke 2-15. Es ist nicht erforderlich, dass die 14 symbolischen Blockadressen 0-13 in eine entsprechende Folge absoluter Blockadressen 2-15 übersetzt zu werden brauchen. So brauchen beispielsweise die symbolischen Blöcke 2 und 3 nicht in die entsprechenden absoluten Blöcke 4 und 5 übersetzt zu werden. Man kann ihnen auch vielmehr die absoluten Blöcke 14 und 6 zuordnen.

  In der   Übersetzungseinrich-    tung deren topologische Zusammenhänge in Fig. 3 dargestellt sind, ist jede symbolische Blockadresse jedoch immer nur einer absoluten Blockadresse zugeordnet. Da die symbolischen Wortadressen eines gegenständlichen Programms im Gegensatz zu den Blockadressen nicht übersetzt werden, stellen die symbolischen Wortadressen die Lage der adressierten Speicherstellen in Bezug auf die erste Speicherstelle des absoluten Blocks dar.



   Wenn das System nach dem topologischen Zusammenhang No. 1 aus Fig. 3 arbeitet, wird das gegenständliche Programm, dem die Priorität PN-3 zugeordnet ist, nur durch ein einziges Datenverarbeitungsgerät durchgeführt. Ein anderes Datenverarbeitungsgerät ist nicht in der Lage, ein gegenständliches Programm auszuführen, da alle Speicherplätze, die zur Durchführung gegenständlicher Programme vorgesehen sind, dem Programm PN-3 zugeordnet sind. Die restlichen Datenverarbeitungsgeräte können daher nur   Überprogramme    aus dem Operationssystem durchführen.

 

   In dem topologischen Zusammenhang No 2 aus Fig.



  3 ist der Platz im Speicher, der für gegenständliche Programme verfügbar ist, unterteilt und zwei gegenständlichen Programmen zugeordnet. Wenn nach dem Plan zwei gegenständliche Programme gleichzeitig durchgeführt werden sollen, von denen das eine mehr als 4K Speicherplätze, jedoch weniger als 6K Speicherplätze benötigt, und wenn das andere gegenständliche Programm mehr als 6K Speicherplätze jedoch weniger als 8K Speicherplätze benötigt, wird diesen beiden Programmen vom Operationssystem die Programmnummer   PN-4 und PN-5 zugeordnet. Jedes PN-4-Programm ist in der Lage, symbolische Adressen zwischen 0000 und 6 143 bereitzustellen, während jedes PN-5-Programm in der Lage ist, symbolische Adressen zwischen 0000 und 8191 bereitzustellen.

  Die beiden Signalgruppen aus 10 Bits, die zusammen die Programmnummer PN-4 und einen der symbolischen Blöcke 0-5 darstellen, werden in ein Kennsignal für den Speicher J und in eine Darstellung von einem der absoluten Blöcke 2-7 übersetzt. Die vereinigten Signalgruppen aus 10 Bits, die einen der symbolischen Blöcke 0-7 sowie die Programmnummer PN 5 darstellen, werden in ein Kennsignal für den Speicher J und in eine Darstellung einer absoluten Adresse für einen der Blöcke 8-15 umgesetzt. Wie bereits in Verbindung mit dem topologischen Zusammenhang No. 1 beschrieben wurde, brauchen die verschiedenen symbolischen Blocknummern aus jedem der beiden gegenständlichen Programme nicht in entsprechender Reihenfolge den absoluten   Blocknummern    zugeordnet zu werden.

  Es ist vielmehr nur erforderlich, dass die Zuordnung der absoluten Blockadressen zu den unterschiedlichen Kombinationen aus symbolischer Blockadresse und Programmnummer innerhalb eines vorgegebenen topologischen Zusammenhangs eindeutig ist.



   Eben wurde angegeben, dass zur günstigsten Durchführung von Programmen die Programmnummer PN-4 gegenständlichen Programmen zugeordnet ist, die mehr als 4K aber weniger als 6K Speicherzellen benötigen, und dass die Programmnummer PN-5 solchen gegenständlichen Programmen zugeordnet wurde, die mehr als 6K, aber weniger als 8K Speicherplätze benötigen. Nun kann jedoch der Fall auftreten, dass eine Gruppe gegenständlicher Programme, deren Ausführung nach Plan ansteht, keine zwei Programme aufweist, die für die Anwendung des topologischen Zusammenhanges No. 2 am geeignetsten sind. So kann beispielsweise das eine durchzuführende gegenständliche Programm mehr als 4K, jedoch weniger als 6K Speicherplätze, benötigen und der Programmnummer PN-4 zugeordnet werden, während das grösste zusätzlich durchzuführende Programm nur 5K Zellen erforderlich macht.

  Demzufolge wird diesem Programm die Programmnummer Pn-5 zugeordnet werden. Demzufolge wird der topologische Zusammenhang No. 2 auch für die Durchführung zweier   gegenständlicher    Programme verwendet, von denen jedes mehr als 4K, jedoch weniger als 6K Speicherplätze benötigt.



   In dem topologischen Zusammenhang No. 3 aus Fig.



  3 wird nun der Speicherraum, der für gegenständliche Programme verfügbar ist, 4 gegenständlichen Programmen zugeordnet. Wenn nun in Übereinstimmung mit dem topologischen Zusammenhang No. 3 eine Pro   grammgruppe    gleichzeitig durchgeführt werden soll, deren eines   Programm    nicht mehr als 2K-Zellen benötigt, so wird diesem Programm die Programmnummer PN-9 zugeordnet. Den anderen Programmen, die jeweils mehr als 2K-Zellen, jedoch weniger als 4K Speicherzellen benötigen, werden die Programmnummern Pn-6, 7 und 8 zugeordnet. Das Pn-9-Programm ist in der Lage, symbolische Adressen im bereich zwischen 0000 und 2047 bereitzustellen. Jedes der 3 anderen Programme mit den   Programmnummrn    PN-6, 7 und 8 ist in der Lage, symbolische Adressen im Bereich zwischen 0000 und 4 095 bereitzustellen.

  Die   Adressenübersetzungsein-    richtung setzt die beiden Signalgruppen von zusammen 10 Bits, die die Programmnummer 9 sowie einen der symbolischen Blöcke 0 oder 1 bedeuten, in ein Kennsi   gual    für den Speicher J sowie in eine Darstellung von einem der absoluten Blöcke 2 oder 3 um. Die beiden Signalgruppen aus 10 Bits, die die Programmnummern 6, 7 oder 8 sowie einen der symbolischen Blöcke 0 bis 3 bedeuten, werden dagegen in ein   Kennsignal    für den Speicher J und in eine Darstellung von einem der Blöcke aus den Blockgruppen 4 bis 7, 8 bis 11 oder 12 bis 15 umgesetzt.

  Wie bei der Anwendung des topologischen Zusammenhangs No. 2 kann ein Programm, das weniger als   2K-Speicherplätze    benötigt, ebenfalls den Programmnummern 6, 7 oder 8 zugeordnet werden, um die Gruppe gegenständlicher Programme vollständig zu machen, auf die sich der topologische Zusammenhang No.



  3 besonders gut anwenden lässt.



     Die    Adressenübersetzungseinrichtung, die nach den topologischen Zusammenhängen aus Fig. 3 arbeitet,   ermöglicht    es ebenfalls, dass ein Pn-9 und Pn-6 Programm gleichzeitig mit einem PN-5-Programm durchgeführt werden kann, ohne dass Störungen auftreten. Ebenso ermöglicht es die Adressenübersetzungseinrichtung, dass beispielsweise ein PN-7- und ein PN-8 Programm gleichzeitig mit einem Pn-4-Programm durchgeführt werden können.



   In der dargestellten Ausführungsform, in der drei Datenverarbeitungsgeräte verwendet werden (siehe Fig.



  1), können von den vier verschiedenen gegenständlichen Programmen, auf die der topologische Zusammenhang No. 3 angewendet wird, drei beliebige gleichzeitig durchgeführt werden. Nach der Beendigung von einem dieser drei Programme wird das vierte Programm unmittelbar darauf durchgeführt, ohne dass Störungen auftreten. Wenn jedoch alle Programme einer Programmgruppe, auf die ein bestimmter topologischer Zusammenhang angewendet worden ist, abgelaufen sind, und wenn nun die Adressenübersetzung der einzelnen Programme mit einem neuen topologischen Zusammenhang durchgeführt werden soll, muss die Plannungsroutine des Operationssystem dafür sorgen, dass nicht zwei Programme gleichzeitig durchgeführt werden, bei deren Durchführung Zugriff zur gleichen absoluten Speicherzelle notwendig ist.

  So können beispielsweise mit den zulässigen topologischen Zusammenhängen aus Fig. 3 zwei gegenständliche Programme, denen die Programme PN-4 und PN-6 zugeordnet sind, nicht gleichzeitig durch zwei verschiedene Datenverarbeitungsgeräte durchgeführt werden, da aufgrund dieser beiden Programme gleichzeitig Verbindung mit den absoluten Blöcken   P-7    im Speicher J besteht. Eine gewisse Überlappung der topologischen Zuordnung ist jedoch möglich, wenn sich die Programme der einen topologischen Zuordnung ihrem Ende nähern und Programme in einer anderen topologischen Zuordnung am Beginn ihrer Durchführung stehen. 

  So kann beispielsweise eine Programmgruppe im topologischen Zusammenhang No. 3 bereits begonnen werden, bevor eine Programmgruppe in dem toplogischen Zusammenhang No. 2 vollständig abgelaufen ist, sofern zuerst das Programm mit der Nummer Pn-4 beendet ist und anstelle des abgelaufenen Programms mit der Nummer Pn-4 dann die Programme mit der Programmnummer PN-9 und/oder PN-6 durchgeführt wenden.



   Wenn der topologische Zusammenhang No. 4 aus Fig. 3 angewendet wird, kann der für gegenständliche Programme verfügbare Speicherraum 7 gegenständlichen Programmen zugeordnet werden, von denen jedes nicht mehr als 2K Speicherplätze benötigt. Diesen  gegenständlichen Programmen werden nun die Programmnummern PN-9 bis PN-15 zugeordnet. Jedes dieser Programme ist in der Lage, symbolische Adressen zwischen 0000 und 2047 bereitzustellen. Die Datenübersetzungseinrichtung setzt die beiden Signalgruppen aus zusammen 10 Bits, die eine dieser Programmnummern und einen der symbolischen 'Blöcke 0 oder 1 bedeuten, in ein Kennsignal für den Speicher J um, sowie in eine Darstellung von einem der Blocks in den folgenden absoluten Blockpaaren: 2 und 3, 4 und 5, 6 und 7,8 und 9, 10 und 11, 12 und 13 sowie 14 und 15.

  Wie bereits in Verbindung mit den topologischen Zusammenhängen No. 2 und No. 3 beschrieben wurde, können irgendeines oder mehrere der Programme aus der Programmgruppe mit dem topologischen Zusammenhang No. 4 anstelle eines vollständigen Programmes ausgeführt werden,das in der gleichen horizontalen Reihe für einen der topologischen Zusammenhänge aus Fig. 3 ausgeführt ist, die eine niedrigere Nummer tragen. So können beispielsweise anstelle des Programms mit der Nummer PN-6 aus der Programmgruppe mit dem topologischen Zusammenhang No. 3 die Programme mit den Nummern PN10 und/oder PN-11 durchgeführt werden, während die restlichen Programme der Programmgruppe mit dem topologischen Zusammenhang No. 3 noch laufen.

  Die Programme mit der Nummer PN-10 und/oder PN-11 können auch anstelle des Programms mit der Nummer PN-4 durchgeführt werden, während die restlichen Programme der Gruppe mit dem topologischen Zusammenhang No. 2 noch laufen.



   Der topologische Zusammenhang No. 5 erlaubt die gleichzeitige Durchführung von 14 verschiedenen gegenständlichen Programmen, von denen jedes nicht mehr als   1K-Speicherplätze    benötigt. Jedes dieser 14 Programme ist in der Lage, eine symbolische Adresse im Bereich   zwischen    0000 und 1023 bereitzustellen. Im dargestellten Ausführungsbeispiel können 3 dieser 14 gegenständlichen Programme gleichzeitig in den Verarbeitungsgeräten 10 bis 12 durchgeführt werden. Unmittelbar nach Beendigung eines dieser 3 Programme kann eines der restlichen Programme aus der Programmgruppe mit dem topologischen Zusammenhang No. 5 ohne Störung durchgeführt werden.



   In Verbindung mit Fig. 3 wurde nun eine Datenver   arbeitungsanlage    beschrieben, in der mehrere Programme gleichzeitig ausgeführt werden können, und in der jedem dieser Programme eine gemeinsame Anzahl von Speicherzellen zugeordnet werden kann, ohne dass Störungen mit anderen Programmen auftreten. Diese Möglichkeiten werden von der Adressenübersetzungseinrichtung hergestellt, die jedem Programm einer Programmgruppe mit einem bestimmten topologischen   Zusammen    hang bestimmte Plätze aus Speichern zuordnet und die dafür sorgt, dass irgendein anderes Programm, das zur gleichen Programmgruppe gehört, zu diesen Speicherplätzen keinen Zugriff erhält. Dadurch werden gegenseitige Störungen der Programme unterbunden.

  Zusätzlich macht es die Adressenübersetzungseinrichtung möglich, dass jedes gegenständliche Programm eine Gruppe von Befehlen aufweist, die einer Anzahl von aufeinanderfolgenden symbolisch adressierten Speicherplätzen zugeordnet sind, die mit der symbolischen Adresse 0000 beginnen. Daher kann ein Datenverarbeitungsgerät ein gegenständliches Programm unabhängig von irgend einer Information durchführen die sich auf die tatsächlichen oder symbolischen Speicherplätze bezieht, die von anderen Programmen benötigt wenden, die gleichzeitig ablaufen.



   Durch die Adressenübersetzungseinrichtung braucht man daher in der Anlage nicht mehr mit festgelegten Folgen aus voneinander abhängigen gegenständlichen Programmen zu arbeiten, so dass jedes gegenständliche Programm nur als Teil der ganzen Programmgruppe ausgeführt werden kann. Stattdessen ermöglicht es die Adressenübersetzungseinrichtung nach Plan die ver   schiedensten    Kombinationen von gegenständlichen Programmen gleichzeitig durchzuführen. Die Adressenübersetzungseinrichtung ordnet dabei automatisch diesen Programmen jeweils eigene Speicherplätze zu, so dass jedes dieser Programme unabhängig von einem anderen Programm ungestört ablaufen kann.



   In der Fig. 4 sind nun 5 topologische   Zusammen    hänge für die gleichen Gruppen gegenständlicher Programm dargestellt, für die auch die 5 topologischen Zusammenhänge aus Fig. 3 entwickelt wurden. In den topologischen Zusammenhängen nach Fig. 4 sind jedoch die Speicherplätze, die von jeder der 5 verschiedenen Programmgruppen benötigt werden, auf die fünf Speicher J, K, L, M, N verteilt. Zur Herstellung dieses topologischen Zusammenhangs kann eine Adressenübersetzungseinrichtung von gleicher Kapazität wie für die Herstellung der topologischen Zusammenhänge nach Fig. 3 verwendet werden. Wie in der Fig. 3 beträgt die gesamte Speicherkapazität 16K Zellen. Diese Zellen sind jedoch in Fig. 4 auf 5 Speicher verteilt.



   Der Speicher J und der Speicher K enthalten jeweils 2K Zellen. Der Speicher L, der Speicher M und der Speicher N enthalten jeweils 4K Zellen. Der Speicher J ist für Programme mit der Programmnummer PN-O aus dem Operationssystem reserviert. Die restlichen 4 Speicher sind für gegenständliche Programme reserviert.



  Nach dem topologischen Zusammenhang No. 1 aus Fig.



  4 sind die Speicher K, L, M und N einem gegenständlichen Programm zugeordnet, das mehr als 8K-Zellen und weniger als 14K Zellen benötigt. Dieses Programm ist mit der Programmnummer PN-3 versehen. Dieses Programm ist in der Lage, irgendeine symbolische Adresse zwischen 00000 und 14 335 zur Verfügung zu stellen.



  Die Adressenübersetzungseinrichtung setzt die beiden Signalgruppen aus zusammen 10 Bits, welche die Programmnummer 3 und einen der symbolischen Blöcke 0-13 bedeuten, in ein Kennsignal für die Speicher K, L, M oder N um, sowie in die Darstellung von einem der Blöcke in den entsprechenden Blockgruppen 0 oder 1 im Speicher K sowie 0 bis 3 in den Speichern L, M und N.



  Irgendeiner der symbolischen Blöcke 0-13 kann irgendeinem der absoluten Blöcke in den Speichern K, L, M und N zugeordnet werden. So kann beispielsweise der symbolische Block 0 des Programms mit der Programmnummer PN 3 dem absoluten Block 2 des Speichers N zugeordnet werden, während die Adresse des symbolischen Blocks 1 des gleichen Programms so umgesetzt werden kann, dass sie die absolute Adresse des Blocks   0    im Speicher L bedeutet.

 

   Wie im Falle einer Anlage mit einer   tJbersetzungs-    einrichtung mit den topologischen Zusammenhängen nach Fig. 3 werden bei der Abwicklung von Programmen mit dem topologischen Zusammenhang No. 1 aus Fig. 4 alle die Speicher, die für die Abwicklung von gegenständlichen Programmen bereit sind, für dasjenige Datenverarbeitungsgerät reserviert, welches das Programm mit der Programmnummer PN-3 durchführt.



  Daher können die anderen Verarbeitungsgeräte keine  gegenständlichen Programme durchführen. Sie können vielmehr nur   Überprogramme    aus dem Operationssystem durchführen.



   Die restlichen topologischen Zusammenhänge aus Fig. 4 zeigen die Zusammenhänge zwischen verschiedenen Gruppen von gegenständlichen Programmen und die Zuordnung dieser Gruppen zu den verschiedenen Speichern. Diese Zusammenhänge entsprechen den topologischen Zusammenhängen aus Fig. 3. Demzufolge gelten die   Erläuterungen !der    Zusammenhänge nach Fig.



  3 auch für die Zusammenhänge nach der Fig. 4, sodass die Fig. 4 nicht näher erläutert zu werden braucht.



   Die Fig. 5 zeigt 6 verschiedene topologische Zuordnungen von symbolischen Adressen zu absoluten Adressen, die von einer Adressenübersetzuntseinrichtung für drei verschiedene Speicher J, K und L mit insgesamt 41K Speicherplätzen hergestellt werden. Bei diesen topologischen Zuordnungen werden 29 verschiedene Programmnummern verwendet. Der Speicher J ist ein sehr schneller   Schreib-kese-Speicher    mit 1K Speicherplätzen. Ein Speicher, der hierfür besonders gut geeignet ist, ist ein magnetischer Dünnschichtspeicher mit direktem Zugriff. Der Speicher K ist ein sehr schneller Speicher mit 8K-Speicherzellen, der jedoch nur ausgelesen werden kann. Hierzu ist ein kapazitiver Speicher gut geeignet. Der Speicher L mit 32K Speicherplätzen kann ein üblicher Magnetkernspeicher mit direktem Zugriff sein.



   Für die   Überprogramme    des Operationssystems, die die Programmnummer PN-O tragen, sind sowohl im Speicher K als auch im Speicher L jeweils 2K Speicherplätze reserviert. Die Programme des Operationssystem können sowohl aus üblichen Schreib-Lese-Speicherzellen als auch sehr schnell aus solchen Speicherzellen ausgelesen werden, die nur ein Lesen gestatten.



   Für die gegenständlichen Programme sind der Speicher J, 6K Speicherplätze aus dem Speicher K und 30K Speicherplätze aus dem Speicher L bereitgestellt. Nach der Topologie No. 1 sind der Speicher J und die 30 K Speicherplätze des Speichers L dem einen gegenständlichen Programm zugeordnet, das mit der Programmnummer PN-3 versehen ist. Gegenständlichen   Programmen,    die mehr als 26 K Schreib- und Lesespeicherplätze benötigen, werden mit der Programmnummer PN-3 gekennzeichnet. Jedes PN-3 Programm ist daher in der Lage, symbolische Adressen zwischen 00000 und 31 743 bereitzustellen.

  In der Adressenübersetzungseinrichtung werden die beiden Signalgruppen aus zusammen 10 Bits, die die programmnummer PN-3 und einen der symbolischen Blöcke 0-30 darstellen, entweder in ein Kennsignal für den Speicher J und in eine absolute Blockadresse für den Block 0 umgesetzt, oder aber in ein Kennsignal für den Speicher L und in eine absolute Adresse für einen der absoluten Blocks   2-31.    Wie bereits beschrieben, kann jede symbolische Blocknummer entweder in den Block des Speichers J oder in irgendeinen der zulässigen absoluten Blöcke des Speichers L umgesetzt werden. So kann beispielsweise der Block 5 des Programms PN-3 in ein Kennsignal für den Speicher J und in eine Darstellung des absoluten Blocks   0    übersetzt werden.

  Ein gegenständliches Programm, das als ein PN-3 Programm durchgeführt werden soll, wird jedoch üblicherweise so aufgestellt, dass ein bestimmter der symbolischen Blöcke dem Block des schnellen Speichers J zugeordnet wird. Um nun dafür zu sorgen, dass der gewünschte symbolische Block dem schnellen Speicher J zugeführt wird, muss entweder die Adressen übersetzungseinrichtung so organisiert sein, dass sie diese Forderung des Programms erfüllt, oder das Programm muss in diesem Falle den speziellen Aufbau der Adressenübersetzungseinrichtung berücksichtigen.

  Da auch andere Topologien im System nach Fig. 5 den Speicher J verwenden, besteht ein Verfahren, den Speicher J für einen ganz bestimmten symbolischen Block innerhalb der verschiedenen Programme zu reservieren, darin, in allen topologischen Zuordnungen einen bestimmten symbolischen Block, wie beispielsweise den symbolischen Block 0, für die Zuordnung zum Speicher J zu reservieren. Nach Plan können daher Programmnummern zugeordnet werden, durch die für jedes Programm mit einem symbolischen Block 0 dieser Block   0    in den Speicher J überführt wird. In der Fig. 5 trifft das beispielsweise für die Programme mit den Programmnummern 3, 4, 5, 7, 11 oder 19 zu. Das hängt jeweils von der Grösse der Programme ab.



   Nach dem topologischen Zusammenhang No. 2 kann die volle Möglichkeit eines gegenständlichen Programms 32K symbolische Adressen bereitzustellen, dadurch ausgenutzt werden, dass man 32K Speicherplätze bereitstellt, und zwar 1K Speicherplätze im Speicher J, 25K Speicherplätze im Speicher L und 6K Speicherplätze im Speicher K. Jedes Programm mit   der    Programmnummer PN-4 ist daher in der Lage, irgendeine symbolische Adresse zwischen 00000 und 32 767 bereitzustellen.

  Die Adressenübersetzungseinrichtung setzt die Signale, die die Programmnummer PN-4 und einen der symbolischen Blöcke von 0 bis 31 bedeuten, in ein Kennsignal für den Speicher J, K oder L um, so wie in eine Darstellung von einem der absolut adressierbaren Blöcke in jedem Speicher, also beispielsweise in eine Darstellung von einem der Blöcke 2 bis 26 im Speicher L oder von einem der Blöcke 2-7 im Speicher K.



   Die topologischen Zusammenhänge No. 3 bis No. 6 im System nach Fig. 5 bieten nun Möglichkeiten, die in den Systemen nach den Fig. 3 und 4 nicht vorhanden sind. In den Systemen nach den Fig. 3 und 4 war es aufgrund der Natur der topologischen Zusammenhänge erforderlich, dass für jede Kombination aus einer symbolischen Blockadresse und einer Programmnummer eine eigene absolute Blockadresse entwickelt wurde.



  Dieses ist eine Vorsichtsmassnahme der neuen Anlage, die bei der Verwendung von Speichern notwendig ist, in die eingelesen werden kann und aus denen ausgelesen werden kann, um Störungen zwischen Programmen einer Programmgruppe zu vermeiden, zwischen denen ein bestimmter topologischer Zusammenhang herrscht.



  Es sollte beispielsweise verhindert werden, dass aufgrund eines Programms in den Speicher eingeschrieben wird, so dass der gesamte Speicherinhalt zerstört wird, der durch ein anderes Programm der gleichen Programmgruppe ausgelesen werden soll.

 

   Viele unterschiedliche Programme verwenden nun häufig die gleichen Routinen oder Subroutinen oder verwenden identische Tabellen, in denen standartisierte Informationen aufgezeichnet sind. Es wäre nun Verschwendung, Speicherkapazität für alle diese gegenständlichen Programme bereitzustellen, der alle diese gemeinsamen Routinen und Tabellen   umfasst.    Daher werden in der neuen Anlage solche Programmteile, die den verschiedenen gegenständlichen Programmen einer Programmgruppe gemeinsam sind, in dem Teil des Speichers eingespeichert, aus dem Informationen nur ausgelesen werden können. Die Information in diesem Speicher sind für alle gegenständlichen Programme mit  einem bestimmten topologischen Zusammenhang zugänglich.

  Wenn man solche gemeinsamen Programmteile in einen Speicher einspeichert, der nur ausgelesen werden kann, kann ein gegenständliches Programm die Informationen in einem solchen Speicher weder zerstören noch modifizieren, und alle diese Programmteile liegen in einer Form vor, dass sie von einem Programm verwendet werden können, das sie benötigt. Die topologischen Zusammenhänge 3-6 aus Fig. 5 sind mit dieser Möglichkeit versehen.



   Nach dem topologischen Zusammenhang No. 3 aus Fig. 5 ist der Teil des Speichers, der für gegenständliche Programme verfügbar ist, zwei Programmen zugeordnet.



  Wenn man zwei gegenständliche Programme gleichzeitig ausführen will, von denen das eine mehr als 8K, jedoch weniger als 16K Lese-Schreibzellen benötigt, und von denen das andere mehr als 8K, jedoch weniger als 15K Lese-Schreib-Speicherzellen benötigt, ordnet das Operationssystem diesen beiden Programmen die Programmnummern PN-5 und PN-6 zu. Jedes PN-5-Programm ist in der Lage, die symbolischen Adressen von 22 Blöcken bereitzustellen, während jedes PN-6 Programm in der Lage ist, die symbolischen Adressen für 21 Blöcke bereitzustellen.

  Die Adressenübersetzungseinrichtung übersetzt nun Signale, die die Programmnummer PN-5 und einen der symbolischen Blöcke darstellen, in ein Kennsignal für den Speicher J und in eine Darstellung des Blocks   0    im Speicher J um, weiterhin in ein Kennsignal für den Speicher K und in ein Kennsignal von einem der absoluten Blöcke 2-7 im Speicher K oder aber in ein Kennsignal für den Speicher L und in eine Darstellung von einem der absoluten Blöcke 2-16 in diesem Speicher.

  Die Adressenübersetzungseinrichtung setzt dagegen Signale, welche die Programmnummer PN-6 und einen der vorgesehen symbolischen Blöcke bedeuten, in ein Kennsignal für den Speicher K und in eine Darstellung eines absoluten Blockes aus den Blöcken 2-7 im Speicher K um, oder aber in ein Kennsignal für den Speicher L und in eine Darstellung von einem der absoluten Blöcke   17-31    im Speicher L.



  Wie man sieht, werden 6 symbolische Blockadressen, die vom Programm PN-5 und dem Programm PN-6 bereitgestellt werden können, derart umgesetzt, das sie die gleichen 6 absoluten Blöcke im Speicher K bedeuten.



  Demzufolge ist es mit der Topologie No. 3 in Fig. 5 möglich, Programmteile,   die den    gegenständlichen Programmen PN-5 und PN-6 gemeinsam sind, im Speicher K zu speichern, der nur ausgelesen werden kann.



   Es wurde bereits beschrieben, dass man einen bestimmten symbolischen Block in einem gegenständlichen Programm reservieren kann, um   sicherzustellen,    dass der Zugriff zu dem sehr schnellen Speicher J gewährleistet ist. Auf ähnliche Weise ist es auch bei den gegenständlichen Programmen des Systems nach Fig. 5 erforderlich, dass   diejenigen    Teile der Programme, die Zugriff zu den gemeinsamen Blöcken im Speicher K benötigen, diesen Zugriff auch wirklich erhalten können.



  Ein Verfahren hierfür besteht darin, dass in jedem gegenständlichen Programm einige bestimmte symbolische Blöcke reserviert werden, die dann von der   Über-    setzungseinrichtung in eine Kennzeichnung des gemeinsamen   Speicherteils    übersetzt werden. In den Topologien der Fig. 5 können beispielsweise die symbolischen Blöcke 0-5 für diejenigen Programmteile verwendet werden, die den 6 absoluten Blöcken 2-7 im Speicher   K    zugeordnet werden sollen. Man kann hierfür aber auch die symbolischen Blöcke 26-31 reservieren.



   In der Topologie No. 4 aus Fig. 5 ist der Teil des Speichers, der zur Durchführung gegenständlicher Programme verfügbar ist, 4 Programmen zugeordnet. Wenn man eine Gruppe von Programmen in Übereinstimmung mit der Topologie No. 4 durchführen will, werden drei dieser Programme, die mehr als 4K jedoch nicht mehr als 8K Schreib-Lesezellen benötigen, den Programmnummern PN-7, 8 und 9 zugeordnet, während ein Programm, das mehr als 4K aber weniger als 7K Lese Schreibzellen benötigt, der Programmnummer PN-10 zugeordnet wird. Weiterhin kann das PN-7-Programm dasjenige Programm sein, für das der schnelle Speicher J mit 1K Speicherzellen benötigt wird. Schliesslich ist nach der Topologie No. 4 jedem der vier Programme die Möglichkeit gegeben, Zugriff zu den 6 Blöcken des Speichers K zu erlangen.



   Die restlichen Topologien nach Fig. 5 stellen Zusammenhänge zwischen verschiedenen Programmgruppen und Speichergruppen dar, die den Zuordnungen ähnlich sind, die bereits beschrieben wurden. Demzufolge können die Erläuterungen der Systeme nach den Fig. 3, 4 und 5 auch zum Verständnis der Topologien 5 und 6 aus Fig. 5 herangezogen werden. Es sei bemerkt, dass es bei der Anwendung der Topologie No. 6 nicht möglich ist, irgendeine der symbolischen Adressen aus den Programmen mit den Programmnummern PN-19 bis PN-31 in die absoluten Adressen der Blöcke 5 bis 12 des Speichers L umzusetzen.



   In der Fig. 6 sind nun 5 Topologien dargestellt, die von der Adressenübersetzungseinrichtung für eine Anlage bereitgestellt werden, in der 7 verschiedene Speicher J, K, L, M, N, T und V verwendet werden, die alle verschiedene Eigenschaften haben. Die Speicherkapazität aller 7 Speicher zusammengenommen beträgt 82K Zellen. Der Speicher J und der Speicher K sind sehr schnelle Lese-Schreib-Speicher mit jeweils 1K Zellen.



  Die Speicher L und M sind sehr schnelle Speicher mit 8K Zellen, die nur ausgelesen werden können. Die Speicher N und T sind verhältnismässig schnelle Magnetkernspeicher mit 16K Zellen, die mit direktem Zugriff arbeiten, während der Speicher V ein langsamerer Magnetkernspeicher mit 32K Zellen ist, bei dem ebenfalls ein direkter Zugriff möglich ist.



   Ähnlich wie im Speicher K nach dem System der Fig. 5 sind im Speicher M der Fig. 6 gemeinsame Teile einer Anzahl von gegenständlichen Programmen gespeichert. Demzufolge kann der Zugriff zum ganzen Speicher M einmal durch die Programme PN-5 und PN-6 der Topologie No. 2 erfolgen, und weiterhin durch die Programme PN-7 bis PN-10 der Topologie No. 3, durch die Programme PN-11 bis PN-18 der Topologie No. 4 und durch die Programme PN-19 bis PN-31 der Topologie nach No. 5.

 

   Für die Programme des Operationssystems, die die Programmnummer PN-O tragen, ist einmal der gesamte Speicher L mit insgesamt 8K Speicherzellen reserviert, der nur ausgelesen werden kann, weiterhin 2K Speicherzellen im schnellen Kernspeicher N und 2K Speicherzellen im langsameren Kernspeicher V.



   Für gegenständliche Programme sind die Speicher J, K und M reserviert und ferner 14K Zellen aus dem Speicher N, der Speicher T und 30K Zellen aus dem Speicher V. Nach dem topologischen Zusammenhang No. 1 sind der Speicher J, 14K Zellen des Speichers N, 1K Zellen des Speichers T und 16K Zellen des Speichers V dem gegenständlichen Programm mit der Programmnummer PN-3 zugeordnet. Der Speicher K, die restli  chen 15K Zellen des Speichers T und die restlichen 14K Zellen des Speichers V sind dagegen einem anderen Programm zugeordnet, das die Programmnummer PN-4 trägt. Ganz allgemein werden gegenständlichen Programmen, die mehr als 24K Schreib-Lesezellen benötigen, die Programmnummern PN-3 und PN-4 zugeordnet.

  Ein jedes PN-3 Programm muss in der Lage sein, sämtliche symbolischen Adressen zwischen 00000 und   32 767    bereitzustellen, um die Speicher ausnützen zu können, die für die PN-3-Programme vorgesehen sind.



  Jedes PN-4 Programm muss in der Lage sein, irgendeine von 30 symbolischen Blockadressen bereitzustellen.



  Wenn es am günstigsten ist, für das Programm PN-3 den Speicher J und die Teile des Speichers N und T zu verwenden, die dem Speicher J zugeordnet sind, und wenn es dagegen am günstigsten ist, dem Programm PN4 den Speicher K und den Teil des Speichers T zuzuordnen, der dem Speicher K zugeordnet ist, müssen wieder in diesen Programmen ganz bestimmte Gruppen von symbolischen Blockadressen verwendet werden, sodass diese symbolischen Blockadressen in   Kenusignale    für Zellen in diesen bestimmten Speichern übersetzt werden können. Das wurde aber bereits beschrieben.



   Die restlichen Topologien No. 2 bis No. 5 ermöglichen es nun, dass jedes Programm Zugriff zu gemeinsamen Routinen erhält, die im Speicher M gespeichert sind. In jedem dieser Programme ist leine besondere Gruppe aus 8 symbolischen Blockadressen dafür reserviert, in die absoluten Blockadressen M umgesetzt zu werden. Um nun zusätzliche Einzelheiten und Funktionen im Aufbau der Adressenübersetzungseinrichtung näher zu erläutern, ist in der Fig. 7 ein Teil der Topologie No. 4 aus Fig. 6 im einzelnen dargestellt. Die Fig. 7 zeigt, wie die Adressenübersetzungseinrichtung für PN-11 und PN-12-Programme die symbolischen Blöcke den absoluten Blöcken zuordnet. Leseoperationen werden durch Pfeile mit nur einer Spitze dargestellt, während Schreib-Leseoperationen durch Pfeile mit zwei Spitzen dargestellt sind.



   Die Adressenübersetzungseinrichtung ordnet dem Speicher J und 7 Blöcke des Speichers N dem Programm PN-11 zu. Das Programm PN-12 wird dagegen 7 Blöcken des Speichers N und einem Block des Speichers T zugeordnet. Weiterhin kann jedes dieser beiden Programme, die jeweils 16K Speicherzellen benötigen, mit gemeinsamen Routinen in Verbindung treten, die im Speicher M gespeichert sind. Der symbolische Block 0 des Programms PN-11 wird in den absoluten Block   0    des Speichers J übersetzt. Die symbolischen Blöcke 1-7 werden in absolute Blöcke im Speicher N übersetzt, die zwischen den absoluten Blöcken liegen, die dem Programm PN-12 zugeordnet sind. Die symbolischen Blöcke 1 und 2 des Programms PN-11 werden den absoluten Blöcken 2 und 3 im Speicher N zugeordnet, während der symbolische Block 3 dem absoluten Block 5 zugeordnet ist.

  Weiterhin sind die symbolischen Blöcke 4, 5 und 6 den absoluten Blöcken 7, 8 und 9 der symbolische Block 7 dem absoluten Block 15 zugeordnet. Der symbolische Block 0 des Programms PN-12 wird dem absoluten Block 4 des Speichers N zugeordnet, der symbolische Block 1 wird in den absoluten Block 6 übersetzt und die   symbolischen    Blöcke 2 bis 6 werden den entsprechenden absoluten Blöcken 10-14 zugeordnet. Schliesslich wird noch   Ider    symbolische Block 7 des Programms PN-12 dem absoluten Block   0    im Speicher T zugeordnet.



   Zusätzlich werden die symbolischen Blöcke 24 und 31 beider Programme PN-11 und PN-12 in die entsprechenden absoluten Blöcken 0 bis 7 des Speichers M übersetzt, sodass beide Programme Zugriff zu den gemeinsamen Routinen haben, die im Speicher M gespeichert sind. Es sei daran erinnert, dass aus dem Speicher M nur ausgelesen werden kann.



   Die Fig. 7 zeigt also die Zuordnung der symbolischen Blöcke zu den absoluten Speicherblöcken. Gleichzeitig zeigt sie auch, dass eine Folge aufeinanderfolgender, symbolischer Adressen in eine Folge von absoluten Adressen umgesetzt werden kann, die in einem bestimmten Speicher nicht aufeinander zu folgen brauchen.



  Weiterhin zeigt die Fig. 7, wie eine Gruppe aufeinanderfolgender, symbolischer Adressen in eine Gruppe von absoluten Adressen umgesetzt werden kann, die nicht aufeinanderfolgen und auf verschiedene Speicher verteilt sind. Die nachstehende Tabelle beschreibt nun vollständig, wie die   Übersetzung    der symbolischen Adressen für ein PN-11 Programm vor sich geht.



   Tabelle   Symbolische    zugehörige Speicher absolute zugehörige Blockadressen symbolische Block- absolute
Zellenadressen adresse Zellenadresse 0 0-1023 J 0 0-1023 1   1024-2047    N 2   2048-3071    2 2048-3071 N 3 3072-4095 3   3072-4095    N 5 5120-6143 4 4096-5119 N 7   7168-819i    5   5120-6143    N 8 8192-9215 6   6147167    N 9 9216-10239 7   7168-8191    N 15 15360-16383
Die Adressenübersetzungseinrichtung setzt daher eine Gruppe aufeinanderfolgender   symbolischer    Blöcke in eine Gruppe von absoluten Blöcken um, die nicht mehr aufeinander folgen.

  Wenn auch ein gegenständliches Programm mit einer Gruppe von symbolischen Adressen arbeitet, die aufeinanderfolgen, ist die Übersetzungseinrichtung doch in der Lage, das Programm mit Speicherzellen durchzuführen, die nicht aufeinanderfolgen, oder auch mit Speicherblöcken, die nicht aufeinanderfolgen. Hierbei besteht ein Block aus einer vorgege  benen Anzahl von aufeinanderfolgenden Zellen.



   Durch die Adressenübersetzungseinrichtung ist es somit möglich, jedes gegenständliche Programm mit absoluten Speicherblöcken durchzuführen, die innerhalb sämtlicher Speicher verteilt sind. Dadurch kann die Plannung für die Durchführung der Programme flexibler gestaltet werden. Wenn man die Adressenübersetzungseinrichtung als Schreib-Lese-Speicher ausbildet, wie es bereits beschrieben wurde, so kann man den Inhalt ändern und die freien Speicherblöcke dem nächsten Programm zuordnen, das ausgeführt werden soll.



   Diese Möglichkeit soll noch anhand eines einfachen Beispiels in Verbindung mit den Topologien nach Fig. 4 erläutert werden. Angenommen, dass nach   Ider    Topologie No. 5 aus Fig. 4 gearbeitet wird, und dass als nächstes ein Programm durchgeführt werden soll, das 2K Speicherzellen benötigt. Weiterhin sei angenommen, dass das Programm PN-17, das den absoluten Block 1 im Speicher K benötigt, zuerst vollständig durchgeführt wird, und dass anschliessend das Programm PN-26 vollständig durchgeführt wird, das unter Verwendung des absoluten Blocks 3 im Speicher N abläuft. Dann ist es möglich, diese beiden freien Speicherblöcke dem Warteprogramm zuzuordnen. 

  Die Planungsroutine stellt dann den Inhalt der Adressenübersetzungseinrichtung   Iderart    um, dass der symbolische Block 0 des zur Durchführung anstehenden Programms dem Block 1 im Speicher K und der symbolische Block 1 des zur Durchführung anstehenden Programms dem Block 3 im Speicher N zugeordnet wird. Gleichzeitig wird dem zur Durchführung anstehenden Programm eine freie Programmnummer wie beispielsweise PN-11 zugeordnet Das Programm, das 2K Speicherzellen benötigt, kann nun sofort durchgeführt werden, sodass man nicht zu warten braucht, bis 2 aufeinanderfolgende Blöcke freiwerden oder bis die beiden Blöcke frei werden, die von der   Obersetzungseinrichtung    dem Programm PN-11 zugeordnet sind, dessen Funktion in Fig. 4 dargestellt ist. Diese zusätzliche Möglichkeit erlaubt es daher, die Speicher kontinuierlicher auszunutzen. 

Claims (1)

  1. PATENTANSPRUCH
    Datenverarbeitungsanlage mit mehreren Datenverarbeitungsgeräten (10, 11, 12, 30), zusätzlichen Speichern (20 bis 26) zum Speichern von Datenworten in adressierbaren Speicherzellen und einem zentralen Steuergerät (32) zum Verbinden der Datenverarbeitungsgeräte mit den zusätzlichen Speichern, bei welcher Anlage jedes Verarbeitungsgerät vom zentralen Steuergerät Datenworte empfängt, an den empfangenen Datenworten Verarbeitungsoperationen ausführt und das Resultat an das zentrale Steuergerät zurücküberträgt und jedes Verarbeitungsgerät zum Erstellen einer Verbindung mit einem der zusätzlichen Speicher eine Anrufsignalgruppe (DLP..;
    ; DLB...)erzeugt, die eine symbolische Adresse oder einen Teil einer symbolischen Adresse einer Speicherzelle darstellt, dadurch gekennzeichnet, dass das zentrale Steuergerät (32) eine mit den Verarbeitungsgeräten verbundene Adressenerzeugungseinrichtung (Fig. 2) aufweist, welche nach Empfang der Anrufsignalgruppen Adressensignalgruppen (MAB 0-6;
    MAC J-V) erzeugt, welche die absoluten Adressen der Speicherzellen darstellen, wozu die Adressenerzeugungseinrichtung einen Entschlüsselungsschaltkreis (350, 351, 352) zum Entschlüsseln der symbolischen Adressen und einen damit verbundenen Kodierungsschaltkreis (356, 355, 357) zum Bilden der Adressensignalgruppen nach einer bestimmten Zuordnung zwischen den symbolischen Adressen und den Speicherzellen aufweist, welch letzterer nach einer, der Betriebsweise der Anlage entsprechend einstellbaren Kodierfunktion arbeitet.
    UNTERANSPRÜCHE 1. Datenverarbeitungsanlage nach Patentanspruch, bei der den verschiedenen Verarbeitungsgeräten unterschiedliche Prioritäten zugeordnet sind, dadurch gekennzeichnet, dass das zentrale Steuergerät (32) die Priorität der die Anrufsignalgruppen abgebenden Verarbeitungsgeräte (10, 11, 12, 30) feststellt, und die Verbindung zwischen dem Entschlüsselungsschaltkreis (350, 351, 352) und demjenigen Verarbeitungsgerät, das die höchste Priorität aufweist, herstellt.
    2. Datenverarbeitungsanlage nach Unteranspruch 1, dadurch gekennzeichnet, dass das zentrale Steuergerät (32) mit einem zur Speicherung der Anrufsignalgruppen vorgesehenen zentralen Programmunterbrecher (34) zusammenwirkt, der an den Entschlüsselungsschaltkreis (350, 351, 352) Auftastsignale abgibt, deren Reihenfolge den Prioritäten der Verarbeitungsgeräte, von denen die Anrufsignalgruppen erzeugt sind, entspricht.
    3. Datenverarbeitungsanlage nach Patentanspruch, dadurch gekennzeichnet, dass jedem der Verarbeitungsgeräte (10, 11, 12, 30) ein Adressenspeicherregister (40A, 40B, 40C, 40D) zugeordnet und an den Kodierungsschaltkreis (356, 355, 357) ein Obertragungsschalt- kreis (41) angeschlossen ist, um die vom Kodierungsschaltkreis erzeugte Adressensignalgruppe in dasjenige Register zu übertragen, das demjenigen Verarbeitungsgerät zugeordnet ist, von dem die entsprechende Anrufsignalgruppe abgegeben ist.
    4. Datenverarbeitungsanlage nach Patentanspruch, bei der die Anrufsignalgruppe einen Teil einer symbolischen Adresse einer Speicherzelle darstellt, dadurch gekennzeichnet, dass die Kodierfunktion derart eingestellt ist, dass nach dem Entschlüsseln des symbolischen Adressenteils im Entschlüsselungsschaltkreis (350, 351, 352) der Kodierungsschaltkreis (356, 355, 357) eine Adressensignalgruppe liefert, die die vollständige Adresse einer der Speicherzellen darstellt.
    5. Datenverarbeitungsanlage nach Patentanspruch, bei der die Anrufsignalgruppe unterteilt ist, und eine erste Teilgruppe eine symbolische Adresse für einen Block aufeinanderfolgender Speicherzellen und eine zweite Teilgruppe den relativen Ort einer Zelle innerhalb dieses Blocks angibt, dadurch gekennzeichnet, dass die Kodierfunktion so eingestellt ist, dass der Kodierungsschaltkreis (356, 355, 357) eine der absoluten Adresse des Blocks entsprechende Signalgruppe erzeugt.
    6. Datenverarbeitungsanlage nach Unteranspruch 5, dadurch gekennzeichnet, dass die die absolute Blockadresse darstellende Signalgruppe der absoluten Adresse der ersten Zelle dieses Blocks entspricht.
    7. Datenverarbeitungsanlage nach Unteranspruch 5, bei der die erste Teilgruppe der Anrufsignalgruppe die symbolische Adresse der ersten Speicherzelle in einem Block darstellt, dadurch gekennzeichnet, dass die die Blockadresse darstellende Teilgruppe die absolute Adresse der ersten Zelle des Blocks darstellt 8. Datenverarbeitungsanlage nach Patentanspruch, dadurch gekennzeichnet, dass der Kodierungsschaltkreis (356, 355, 357) ausser der Adressensignalgruppe noch ein Kennungssignal für einen der zusätzlichen Speicher (20 bis 26) bildet.
    9. Datenverarbeitungsanlage nach Unteranspruch 8, dadurch gekennzeichnet, dass der Kodierungsschaltkreis (356, 355, 357) jede Adressensignalgruppe an den zusätzlichen Speicher (20 bis 26) weiterleitet, der die durch die zweite Teilgruppe und das Kennungssignal adressierte Speicherzelle enthält.
    10. Datenverarbeitungsanlage nach Patentanspruch, bei welcher der Kodierungsschaltkreis (355, 356, 357) eine bestimmte Zuordnung zwischen den symbolischen Adressen und den Speicherzellen herstellt, dadurch gekennzeichnet, dass Mittel vorhanden sind, um die Einstellung der Kodierfunktion des Kodierungsschaltkreises (355, 356, 357) entsprechend der genannten Zuordnung zu verändern.
CH1645466A 1965-11-16 1966-11-15 Datenverarbeitungsanlage CH495584A (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US50816865A 1965-11-16 1965-11-16

Publications (1)

Publication Number Publication Date
CH495584A true CH495584A (de) 1970-08-31

Family

ID=24021665

Family Applications (2)

Application Number Title Priority Date Filing Date
CH1645466A CH495584A (de) 1965-11-16 1966-11-15 Datenverarbeitungsanlage
CH1645566A CH483061A (de) 1965-11-16 1966-11-15 Datenverarbeitungsnalage mit mehreren Datenverarbeitungsgeräten

Family Applications After (1)

Application Number Title Priority Date Filing Date
CH1645566A CH483061A (de) 1965-11-16 1966-11-15 Datenverarbeitungsnalage mit mehreren Datenverarbeitungsgeräten

Country Status (8)

Country Link
US (1) US3487373A (de)
JP (1) JPS4943819B1 (de)
CH (2) CH495584A (de)
DE (2) DE1524127B2 (de)
FR (4) FR1513353A (de)
GB (3) GB1170586A (de)
NL (3) NL6616125A (de)
SE (1) SE329029B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3569938A (en) * 1967-12-20 1971-03-09 Ibm Storage manager
JPS5169498U (de) * 1974-11-28 1976-06-01
JPS5356934U (de) * 1976-10-16 1978-05-16
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic
DE3176857D1 (en) * 1980-12-29 1988-09-29 Ibm Data processing apparatus including a peripheral processing complex
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
US4710868A (en) * 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
US4991084A (en) * 1988-02-05 1991-02-05 International Business Machines Corporation N×M round robin order arbitrating switching matrix system
CA2170468A1 (en) * 1995-02-28 1996-08-29 Noriyuki Ando Multi-processor system with virtually addressable communication registers and controlling method thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL125576C (de) * 1957-01-11 1900-01-01
US3292151A (en) * 1962-06-04 1966-12-13 Ibm Memory expansion
US3270324A (en) * 1963-01-07 1966-08-30 Ibm Means of address distribution
US3311888A (en) * 1963-04-12 1967-03-28 Ibm Method and apparatus for addressing a memory
US3311887A (en) * 1963-04-12 1967-03-28 Ibm File memory system with key to address transformation apparatus
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
GB1051786A (de) * 1963-10-23 1900-01-01
US3323109A (en) * 1963-12-30 1967-05-30 North American Aviation Inc Multiple computer-multiple memory system

Also Published As

Publication number Publication date
DE1524127B2 (de) 1976-02-26
FR1513352A (fr) 1968-02-16
US3487373A (en) 1969-12-30
DE1524126A1 (de) 1970-06-25
GB1170587A (en) 1969-11-12
SE329029B (de) 1970-09-28
FR1513353A (fr) 1968-02-16
DE1524127A1 (de) 1970-01-08
GB1170586A (en) 1969-11-12
NL6616124A (de) 1967-05-17
GB1170434A (en) 1969-11-12
NL6616126A (de) 1967-05-17
CH483061A (de) 1969-12-15
FR1514164A (fr) 1968-02-23
FR1513354A (fr) 1968-02-16
NL6616125A (de) 1967-05-17
JPS4943819B1 (de) 1974-11-25

Similar Documents

Publication Publication Date Title
DE2725718C2 (de) Datenverarbeitungsanordnung zum Übersetzen von virtuellen Adressen
DE2515696C2 (de) Datenverarbeitungssystem
DE2350884C2 (de) Adreßumsetzungseinheit
DE2350225C2 (de)
DE2154106A1 (de) Arbeitsspeicherwerk
DE2617408A1 (de) Datenverarbeitungsgeraet
DE2364408A1 (de) System zur erstellung von schaltungsanordnungen aus hochintegrierten chips
DE2750721A1 (de) Ein/ausgabe-system
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2227882A1 (de) Virtuelle Speicheranordnung
DE2055784A1 (de) Datenverarbeitungssystem
CH657218A5 (de) Mehrbenuetzer-datenverarbeitungsmaschine mit virtuellem speicher.
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE2926322A1 (de) Speicher-subsystem
DE1499206B2 (de) Rechenanlage
DE3338329C2 (de)
DE1524898C3 (de) Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter
DE1909477A1 (de) Speichersteueranlage fuer ein Multiprogramm-Datenverarbeitungssystem
CH495584A (de) Datenverarbeitungsanlage
DE1922304A1 (de) Datenspeichersteuergeraet
DE1524779A1 (de) Schaltungsanordnung zum UEbertragen von Daten zwischen einem Magnetkernspeicher und einem Plattenspeicher
DE2558417A1 (de) Datenverarbeitungssystem
DE2233193A1 (de) Stapel-speichersystem
EP0057755B1 (de) Mikrorechnersystem zum raschen Auffinden von Kennzeichenblöcken