DE2422802A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE2422802A1
DE2422802A1 DE2422802A DE2422802A DE2422802A1 DE 2422802 A1 DE2422802 A1 DE 2422802A1 DE 2422802 A DE2422802 A DE 2422802A DE 2422802 A DE2422802 A DE 2422802A DE 2422802 A1 DE2422802 A1 DE 2422802A1
Authority
DE
Germany
Prior art keywords
signal
memory
auxiliary
circuit
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE2422802A
Other languages
English (en)
Inventor
Robert J Frankenberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE2422802A1 publication Critical patent/DE2422802A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • 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

Description

DATENVERARBEITUNGSANLAGE
Die vorliegende Erfindung betrifft ein Verfahren zum Betrieb einer Datenverarbeitungsanlaae mit einer aus Vielzahl auswählbaren adressierten Schaltunqsmodulen, die in von je einer Gruppensteuerung gesteuerten Gruppen angeordnet sind und die eine Betriebsschaltung haben, welche über einen Signaleingang zugänglich ist, wenn diesem kodierte Signale zugeführt werden, sowie Vorrichtungen zur Durchführung dieses Verfahrens.
Dadurch, daß in jüngster Zeit große MOS-Speicherplättchen auf den Markt gekommen sind, ist eine wesentliche Herabsetzung des Preises pro Bit bei elektronischen Speichereinrichtungen möglich geworden. Auch die steigenden Kosten für Software-Entwicklung und das sinkende Verhältnis von Hardware- zu Software-Kosten in Verbinduna mit neuen billigeren Speichern führt zu einem Bedarf an größeren Speichern in den derzeitigen Rechenanlagen. Die Möglichkeit, die Speicherkapazität von gewissen bekannten Rechenanlagen zu vergrößern, ist jedoch stark begrenzt, da während der Entwicklung früherer Anlagen billige und wirksame Einrichtungen zur Vergrößerung des Speicheradressenraums nicht verfügbar waren. Außerdem können normalerweise in einem gegebenen Rechner verschiedene Speichertechnologien nicht miteinander kombiniert werden.
409849/0784
Volksbank Böblingen AG, Kto. 8458 (BLZ 60390220) · Postscheck: Stuttgart 996 55-709
Hinzu kommt, daß ein unabhängiaer Speicherzugriff nicht möglich ist, da mehrere Prozessoren nicht einen gemeinsamen Speicher und einen aemeinsamen Mehrfachzuaana sich teilen können. Diese Nachteile werden gemäß der vorlieaenden Erfindung dadurch beseitigt, daß eine verbesserte Stufenschaltung, mehrfach zugeordnete Speichersteuerungen und Zugänge mit unabhängiqem mehrfachem Zugriff für Gruppen von Speichermodulen verwendet werden. Eine bekannte Technik zur Ausdehnung des Speicheradressenbereichs eines Rechners ist die in Fig. 1 dargestellte Stufenschaltung. Bei einer typischen Ausführungsform wird ein Schalter mit vielen Schaltstellungen in der Speichersteuerungsvorrichtung 9 benutzt, der zu jeder beliebigen Zeit eines der möglichen n-Module 12 bis des Speichers aktiviert. Der Prozessor 17 des Rechnersystems kann eine Anweisung ausführen, die einender η verfügbaren Abschnitte auswählt, der zu einer bestimmten Zeit aktiv sein soll. Dieser Modul bleibt solange aktiv bis eine andere Stufenschalter-Anweisung ausgeführt wird, mit der ein anderer Modul des Speichers freigegeben wird, und reagiert auf alle Adressen von Information und Befehlen, die dem Prozessor 17 zugeführt werden. In Fig. 1 ist der Schalter in der Stellung 1 dargestellt, in welcher nur der Modul und kein anderer Modul des Speichers aktiviert wird. Diese bekannte Speichererweiterungstechnik hat den Nachteil, daß der gesamte Speicherraum, der dem Prozessor 17 zu einer bestimmten Zeit zur Verfügung steht, abgeschaltet und ersetzt wird, wenn eine Stufenschalter-Anweisung erscheint. Dies erfördert die Verdopplung der Information, die immer im Speicher in jedem der Felder vorhanden sein soll und erfordert das Vorhandensein einer Tabelle in jedem Speicher, um anzugeben, wo bestimmte andere Information gespeichert ist. Dadurch wird beträchtlicher Speicherraum vergeudet, und sogleich werden die Kosten des Systems erhöht. Außerdem ist die '-isführuna vieler Stufenschalter-Anweisungen erforderlich, z.B. um von vielen, über den Speicher verteilten Programmen gemeinsam benützte Information abzurufen, was mit einer Erhöhung der Ausführungszeiten in diesen
409849/0784
Routinen verbunden ist. Außerdem können bekannte Speicher nur dadurch erweitert werden, indem mehr Speichermodule hinzucrefüat werden, die lediglich durch die Ausführung einer Stufenschalter-Instruktion verfügbar sind.
Im Gegensatz dazu werden diese Probleme bei der vorliegenden Erfindung dadurch vermieden, daß es jeden Teil des Speichers (bis zum gesamten Speicherraum) ermöglicht wird, dauernd im Speicheradressenraum eines Prozessors (oder anderen den Speicher benutzenden Einrichtungen, wie sie allgemein als wahlfreie Zugriffskanäle (RAC), direkte Speicherzugriffskanäle (DMA), intelligente VorrichtungsSteuerungen (IDC) oder ähnlich bekannt sind) anwesend zu sein, eaal ob eine Stufenschaltung erfolgt oder nicht. Der Speicher der vorliegenden Erfindung ist schrittweise strukturierbar, so daß im Adressenraum jedes Quantum, des Speichers (wobei ein Quantum die kleinste schaltbare Einheit ist) vorhanden bleibt, während irgend ein anderes Quantum in den Adressenraum hineingeschaltet oder aus ihm herausaeschaltet wird, so daß es möglich ist, viele schaltbare Teile des Speichers im Adressenraum der den Speicher benutzenden Vorrichtung unterzubringen. Dieses Merkmal der Erfindung erhöht sehr stark die Flexibilität bei der Verwaltung der Speichermöglichkeiten eines arbeitenden Systems. Da jedes Ouantum des Speichers dauernd oder zeitweilig im Adressenraum der den Speicher benutzenden Vorrichtung vorhanden bleiben kann, können Information, Programme oder Unterproaramme, die von verschiedenen anderen Programmen aeteilt werden, immer im Adressenraum der benutzenden Vorrichtung vorhanden sein und brauchen daher nicht in jedem Abschnitt des Speichers dupliziert zu werden, um sofort für solche Programme oder Prozessoren verfügbar zu sein. Zusätzlich ermöglicht die vorliegende Erfindung eine Erweiterung des Speichers, entweder durch Hinzufügung von mehr Quanten des Speichers innerhalb des Adressenraums der benutzenden Vorrichtung oder durch Erhöhung der Anzahl der Quanten, die (durch
409849/0784
Stufenschaltung) den Platz der Quanten innerhalb des Adressenraums einnehmen können.
Eine konventionelle Technik zum Teilen von vorhandenem Speicherraum zwischen verschiedenen den Speicher benutzenden Vorrichtungen ist in Fig. 2 dargestellt. Diese Technik macht es möglich, daß verschiedene Vorrichtungen zu einem gemeinsamen Speicher Zugriff nehmen und erlaubt diesen Vorrichtungen eine Kommunikation untereinander. Da jedoch nur ein Zugang zum Speicher vorhanden ist, wird ein extrem schneller Speicher benötigt, um alle ihn benutzenden Vorrichtungen zu bedienen, d.h. der Durchsatz des Speichers muß η mal so groß wie der Durchsatz einer einzelnen ihn benutzenden Vorrichtung sein (wobei angenommen wird, daß alle den Speicher benutzenden Vorrichtungen den gleichen Durchsatz haben), damit Gleichwertigkeit mit einer Anlage besteht, bei der jede Vorrichtung ihren 'eigenen getrennten Speicher hat. Wegen der benötigten unaeheuer hohen Arbeitsgeschwindigkeiten ist es normalerweise nicht möglich, solch ein Speicher-Untersystem in konventionellen Rechenanlagen zu verwirklichen. Daher ist man üblicherweise genötiat, entweder weniger Fähigkeiten anzubieten, als möglich wären, wenn jede Vorrichtung ihren eigenen Speicher und die Einrichtungen für eine Kommunikation zwischen diesen Speichern hätte, oder aber einige Arbeitsziele wegzulassen, da ein ausreichender Durchsatz nicht verfügbar ist oder die Kosten des Speichers unerschwinglich hoch würden.
Diese Nachteile werden gemäß der vorliegenden Erfindung vermieden, welche die Einrichtungen für die Teilung des Speichers zwischen zwei oder mehr ihn benutzenden Vorrichtungen vorsieht. Eine den Speicher benutzende Vorrichtung kommt nicht in Konflikt mit einer anderen den Speicher benutzenden Vorrichtung und verringert auch nicht den für diese verfügbaren Durchsatz. Gemäß der vorliegenden Erfindung wird dies dadurch erreicht, daß anderen Vorrichtungen (oder Sätzen von Vorrichtungen) erlaubt wird, die Quanten des Speichers zu benutzen, die aus dem Adressenraum einer
4 0 9849/0.784
den Speicher benutzenden Vorrichtung herausqeschaltet sind. So können N Quanten des Speichers von zwei ihn benutzenden Vorrichtungen creteilt werden, z.B. von zwei zentralen Prozessoren. Während ein Quantum in den Speicherraum des einen Prozessors geschaltet ist, kann der andere Prozessor eines der anderen N-I Speicherquanten benutzen, die von dem ersten Prozessor nicht benutzt worden sind. Das bedeutet, daß N Speicherquanten zwischen zwei bis N den Speicher benutzenden Vorrichtungen geteilt werden können, wobei jede Vorrichtung im wesentlichen ihren eigenen separaten Speicher und damit einen genügenden Durchsatz besitzt, um ihre Aufgaben zu erfüllen, ohne mit einem der übrigen den· Speicher benutzenden Vorrichtungen in Konflikt zu geraten. Die vorliegende Erfindung löst auch das Problem, das auftritt, wenn zwei oder mehr den Speicher benutzende Vorrichtungen versuchen, gleichzeitig zum selben Quantum des Speichers Zugriff zu nehmen. Zusätzlich kann die vorliegende Erfindung zusammen mit den einen Speicher benutzenden Vorrichtungen vieler bekannter Rechenanlagen arbeiten und kann daher als Zusatz oder Ersatz für den Speicher von Systemen verwendet werden, für die die Software bereits geschrieben ist.
Gewisse bekannte derzeitiqe Computersysteme erlauben die Mischung von einigen Typen von Speichertechnologien innerhalb eines einzelnen Systems, wobei allerdings erhebliche Beschränkungen bezüglich der Speicherarten bestehen, die miteinander gemischt werden können. Diese Mischung von verschiedenen Speichertechnologien innerhalb eines einzelnen Speichersystems ist deshalb erwünscht, da das Kosten/Nutzen-Verhältnis des Systems optimiert werden kann und im Speichersystem ausgewählte Speichertechnologien wegen gewisser erwünschter Merkmale, die sie besitzen, eingesetzt werden können (z.B. PROMs, ROMs, verarbeitende Speicher usw.). Auch ist es wegen der Fortschritte in der Speichertechnologie erwünscht, daß man die Möglichkeit hat, solche neuen Technologien in kompatible Speichersysteme einzusetzen, um ihre
'409849/0784
Betriebseigenschaften auf den neuesten Stand zu bringen und zu verbessern.
Die vorliegende Erfinduna ermöglicht es, viele verschiedene Speichertypen innerhalb eines einzelnen Systems miteinander zu mischen, indem eine aesonderte Steuer-Daten-Sammelschiene vorgesehen ist, die alle Daten und Steuersignale zwischen der Speichersteuerung und ihrem zuaehöricren Feld von Speichereinheiten verarbeitete Dadurch wird die Speichersteuerung zu einem Verbindungs-(Interface-)Element zwischen der Speichertechnologie und der Technologie der den Speicher benutzenden Vorrichtungen. Im Rahmen der vorliegenden Erfindung kann somit eine Steuerung für jede der vielen verfügbaren Speichertechnologien konstruiert werden, und eine Mischung dieser vielen Speichertechnologien ist möglich. Außerdem sind passende Einrichtungen vorgesehen, um erneuernde und nichterneuernde Speicherarten, Speicher für zerstörendes und nicht zerstörendes Auslösen (DRO bzw. NDRO), Speicher für wahlfreies, aufeinanderfolgendes und serielles Lesen und Schreiben oder ausschließliches Lesen und Speicher, die im Betrieb verschiedene Energieversorgungen benötigen, aneinander anzupassen. Dies wird mit der vorliegenden Erfindung erreicht, gemäß welcher verschiedene Steuerungen für verschiedene Arten von Speichertechnologien verwendet werden, die in einem einzelnen Speichersystem enthalten sind.
Der Erfindung liegt die Aufgabe zugrunde, die vorstehend aufgezeigten Nachteile des Standes des Technik zu beseitigen. Lösungen dieser Aufgabe sowie bevorzugte Ausführungsformen und Weiterbildungen der Erfindung sind in den Ansprüchen gekennzeichnet.
Die Erfindun wird im folgenden anhand von Ausführungsbeispielen in Verbindung mit der zugehöriaen Zeichnuna erläutert. In der Zeichnung zeigen
409849/078
Fig. 1 ein schematisches Schaltbild einer typischen
Stufenschaltung aemäß dem Stand der Technik;
Fig. 2 ein schematisches Schaltbild einer Speicherteilungstechnik aemäß dem Stand der Technik;
Fig. 3 ein schematisches Diagramm einer Stufenschaltung
aemäß einer Ausführungsform der vorliegenden Erfindung;
Fig. 4-8 schematische Darstellungen von Ausführungsformen erweiterter Speicher gemäß der vorliegenden Erfindung;
Fig. 9 eine schematische Darstellung eines Speichersystems mit vielfachem Zugang aemäß der vorliegenden Erfindung;
Fia. 10 eine grafische Darstelluna des Steuerwortformates für Stufenschaltung (BKS);
Fig. 11 eine grafische Darstellung des Steuerwortformates für Stufenschaltuna und Spruna (BSJ);
Fig. 12 eine grafische Darstellung des Steuerwortformates für die Felderfassuna (BSE);
Fig. 13 ein schematisches Schaltbild einer Speichersteuerung gemäß der vorliegenden Erfindung;
Fig. 14 ein schematisches Schaltbild eines Speichermoduls gemäß der vorliegenden Erfinduna;
Fig. 15 eine schematische Darstellung zur Erläuterung der logischen Verschieblichkeit von Speichermodulen
durch Änderung der Adressen;
Fig. 16 eine bildliche Darstellung zur Erläuteruna einer
physikalischen Ausführunasform des Speichermoduls
und der zugeordneten Steueruna;
Fig. 17 eine bildliche Darstellung zur Erläuterung einer
anderen physikalischen Ausführunasform des Speichermoduls mit mehrfachen Steuerungen;
Fig. 18 eine schematische Darstellung zur Erläuterung des Betriebs eines Kernspeichermoduls;
Fig. 19 eine vereinfachte schematische Darstellung der logischen Schaltuna des Doppelzugangs eines Speichermoduls ;
409849/0 784
Fig. 20 eine schematische Darstellung eines virtuellen
Speichersystems;
Fig. 21 das Schaltbild einer Ausfuhrungsform eines Zeitgebers zur Benutzung in Verbindung mit der Schaltung der Fig. 14; -
Fig. 22 eine schematische Darstellung zur Erläuterung des Betriebs eines Festwertspeichers (ROM);
Fig. 23 eine grafische Darstellung der VerbindungsZuweisung für die privilegierte Kommunikations-Sammelschiene gemäß einem bevorzugten Ausführunasbeispiel der vorliegenden Erfindung;
Fig. 24 eine schematische Darstellung eines verarbeitenden Speichersystems;
Fig. 25 eine schematische Darstelluna zur Erläuterung der Teilung der Speichermodule zwischen zwei Prozessoren;
Fig. 26 eine schematische Darstellung zur Erläuterung der Teilung des Speichers zwischen η Vorrichtungen;
Fig. 27 eine schematische Darstellung zur Erläuterung der Teilung des Speichers zwischen einem Prozessor und einigen anderen Vorrichtungen;
Fig. 28 eine schematische Darstellung zur Erläuterung des Betriebes von redundanten Speichern;
Fig. 29 eine schematische Darstellung zur Erläuterung eines gemäß der vorliegenden Erfindung betriebenen schnellen Fourier-Analysators; <
Fig. 30 eine schematische Darstellung eines langsamer arbeitenden Fourier-Analysators; ,^
Fig. 31 eine schematische Darstellung einer im Zeitmultiplex- ' verfahren (time sharing) arbeitenden Speicherschaltung;
Fig. 32 eine schema-fcische Darstellung eines Vielfach-Prozessorsystems;
Fig. 33 eine schenägatische Darstellung zur Erläuterung des Aufbaus einer zentralen Recheneinheit (CPU) und eines Eingabe/Ausgabe-Prozessors (IOP);
Fig. 3 4 eine schematische Darstellung eines virtuellen Zeit-Kultiplex-Speichersystems;
4 0 9 8 A 9 / 0 7 8 4
Fig. 35a und b eine logische bzw. physikalische Darstellung von Modulen mit vielfachen Zugängen;
Fig. 3 6 ein schematisches Schaltbild eines kommerziell verfügbaren Zweirichtungs-Datensammelschienen-Gatters;
Fig. 37 ein schematisches Schaltbild zur Erläuterung der logischen Schaltung für die Ausführung von Speicher-Erneuerun gs operationen ;
Fig. 38 ein Zeitfolge-Diagramm zur Erläuterung einer Arbeitsfolge von Zeitaabesignalen in der Schaltung gemäß Fig. 37;
Fig. 39 ein schematisches Schaltbild von in den Schaltungen gemäß der vorliegenden Erfindung benutzten logischen Gattern.
In Fig. 3 ist schematisch dargestellt, wie der Speicher gemäß der vorliegenden Erfindung in vertikaler oder horizontaler Richtung erweiterbar ist. Die Erweiterung in vertikaler Richtung erhöht die Kapazität des Speichers, die unmittelbar für den Kanal für wahlfreien Zugriff CRAC) 28, die Kanäle für direkten Speicherzugriff (DMA) 26 und den Prozessor 24 verfügbar ist, während die horizontale Erweiterung die Speicherkapazität erhöht, die für die den Speicher benutzenden Vorrichtungen 24, 26 und 28 verfügbar ist, nachdem der Prozessor 24 eine Stufenschaltung (BKS) ausführt. Eine Stufenschaltung bewirkt, daß ein Modul (z.B. 23) oder eine Gruppe von Modulen des Speichers in den logischen Adressenraum der den Speicher benutzenden Vorrichtungen 24, 26, 28 gebracht werden, während gleichzeitig der Modul 30, der dLesen Teil des Adressenraums vorher einnahm, aus dem loqischen Adressenraum ausgeschlossen wird. Die Mindestgröße dieser austauschbaren Module (oder Quanten) wird durch den Typ des zu erweiternden Speichers festaelegt. Zum Beispiel kann bei einem bestimmten Speichertyp ein HalbleiTtec-Speicherplättchen mit IK Bit das kleinstmögliche sein, wodurch festgelegt ist, daß der kleinste Modul IK Bits hat. In der bevorzugten Ausfuhrungsform ist ein 4K-Wort-Modul dargestellt. Die Höchstzahl von Modulen in einer horizontalen Zeile ist
4Q9849/0784
durch Faktoren wie das Format der Stufenschalteranweisung die in dem bevorzugten Ausführungsbeispiel bis zu 32 Module pro horizontaler Zeile erlaubt, die Ansteuerungskapazität der Ansteuerelemente in der zugehörigen Steuerung und Größe des Gehäuses oder der Speichereinschubs bestimmt. Die Höchstzahl der Module, die zu einer Gruppe zusammengefaßt sind und in den und aus dem Adressenraum 31 als eine Einheit geschaltet werden, wird bestimmt durch die Größer des logischen Adressenrausm 31, der der Steuerung der betreffenden Gruppe, des Satzes von Gruppen oder der Module zugeordnet ist, sowie durch die Art, wie diese Gruppen angeordnet sind. Die vertikale Ausdehnung ist begrenzt durch die Größe des logischen Adressenraums 31, Cder seinerseits selbstverständlich durch bekannte Einrichtungen wie Basisregister oder ähnliches erweitert werden kann), und die kleinste Größe einer Erhöhung, die zur Vergrößerung dieses Adressenraums benutzt wird, ist wiederum begrenzt durch den Typ des zu erweiternden Speichers. In der dargestellten Ausführungsform ist dieser Erhöhungsschritt 4K Worte, 8K Worte oder größer.
Wie in Fig. 3 dargestellt ist, wird für jede schaltbare Gruppe von Speichermodulen eine getrennte Steuerung benötigt. Je eine Steuerung 11, 13, 15, 17 ist einem Teil des Adressenraums 31 zugewiesen, der von den Modul-Gruppen unter seiner Steuerung völlig ausgefüllt werden kann. Zum Beispiel ist die Steuerung 11 verbunden mit MOD 30, der aus 4K Modulen zusammengesetzt ist, mit MOD 23 (auch aus 4K-Modulen zusammengesetzt) und mit MOD 21, der nur teilweise mit drei 4K-Modulen gefüllt ist. In ähnlicher Weise ist die Steuerung 13 mit MOD 19 und MOD 20 verbunden, von denen jeder nur teilweise mit einem 4K-Modul in einem Adressenraum von 8K Worten gefüllt ist.
Zu jeder gegebenen Zeit ist bei dieser Betriebsart nur eine vertikale Spalte des Speichers pro Steuerung in einem gegebe- - nen Adressenraum 31 anwesend, und nur der in diesem Adressenraum 31 anwesende Modul antwortet auf ihm von der diesem Modul zugeordneten Steuerung zugeführte Befehle oder Adressen.
4 0 9 8 4 9 § QfI § 4
Dies wird dadurch erreicht, daß die zur Steuerung der Spei chermodu lcrr uppen notwendigen Signale von den Signalen getrennt werden, die zur Steuerung und für die Kommunikation mit dem Speicher-üntersystem im allgemeinen erforderlich sind. Auf diese Weise stehen die den Speicher benutzenden Vorrichtungen 24, 26, 28 oder andere den Speicher benutzende Vorrichtungen (MUD) 40 mit den Steuerungen 11, 13, 15, 17 in Kommunikation, Im dargestellte'n Ausführungsbeispiel sind bei jeder Steuerung, die einen 4K-Abschnitt des Adressenraums 31 hat, bis zu acht Steuerungen möglich und damit ein 4K-Modul pro Gruppe (senkrechte Spalte), die mit den Speicher benutzenden Vorrichtungen 24, 26, 28, 40 über die gemeinsame Kommunikationssammelschiene 18 in Verbindung steht. Jedoch sind nur die Steuerungen 11, 13, 15, 17 für eine Kommunikation mit den und eine Steuerung der jeweiligen Felder des Speicher über die privilegierten Kommunikations- und Steuersammeischienen 33, 35, 37, 39 eingerichtet. Diese Sammelschienen verbinden eine oegebene Steuerung mit den ihr zugeordneten Speichermodulen. Dementsprechend führt in der dargestellten Ausfuhrungsform die privilegierte Kommunikations-Sammelschiene (PCB) 37 der Steuerung 11 zum MOD 30 { zwei Module yon 8K Worten oder vier Module von 4K Worten), zum MOD 23 (zwei Module von 8K-Worten oder vier Module von 4K Worten) und zum MOD 21 (ein Modul von 8K Worten und 1 Modul von 4K Worten oder drei Module von 4K Worten), aber zu keinen anderen Modulen oder Gruppen. Die Sammelschiene 37 führt daher die Adressen, Befehle, Zeitgabe- und Datensiqnale, die für den Betrieb des von der Steuerung 11 gesteuerten Speichers erforderlich sind. In ähnlicher Weise ist die Steuerung 13 über PCB 35 mit den Gruppen (hier Spalten) 51, 53, 55, 57, 19, 20, 59 und 61 verbunden. In ähnlicher Weise sind Steuerung 15 und die Gruppen 27, 29, 63 über PCB 33 und die Steuerung 17 mit dem einzigen Modul 25 der Gruppe über PCB 39 miteinander verbunden.
Wie oben bereits erwähnt wurde, kann der Adressenraum 31
9849/0784
in acht schaltbare Abschnitte oder Reihen von je 4K gestückelt werden, von denen jede ihre eigene Steuerung und eine Anzahl von einzelnen 4K großen Modulen besitzt (bis zur oben beschriebenen maximalen Anzahl von Gruppen oder Spalten). Figuren 4, 5, 6, 7 und 8 zeigen einige Beispiele von verschiedenen möglichen Ausdehnungskonfigurationen. Allgemein ist die Ausdehnung des Speicher-Adressenraums 31 äußerst flexibel und zwar dadurch, daß jeder Abschnitt des ι Adressenraums durch jede beliebige Steuerung gesteuert werden kann, solange jede Modulgruppe einen einzigen Satz von X-Y-Positionen des Adressenraums 31 und des ausgedehnten Adressenraums 65 einnimmt und solange die oben erwähnten grundsätzlichen Beschränkungen nicht überschritten werden." Die Maximalsumme von Adressenraum 31 und erweitertem Adressenraum 65 beträgt im dargestellten Äusführungsbeispiel 1O24K Worte, die zu 32K in vertikaler Richtung und bis zu 32 Spalten von je 32K in horizontaler Richtung angeordnet sind. Dieser erweiterte Speicher kann auf jede beliebige Weise innerhalb der Grenzen dieses 1024K-Wort-Raums angeordnet werden, wobei dort, wo es zweckmäßig ist, Spalten freigelassen werden, und die Gruppen von schaltbaren Modulen können in jeder möglichen Weise angeordnet werden, bei der 4K- und 8K-Module innerhalb der 32K des vertikalen Adressenraums benutzt werden, wie dargestellt ist.
AO9849/0784
Bei der bevorzugten Ausführungsform wird beispielsweise ein Metalloxyd-Halbleiter-Speicher (MOS-Speicher) verwendet, jedoch kann jede beliebige bekannte Speichertechnologie (Kerne, Transistoren, Magnetplatten, -trommeln oder -bänder, Magnetdomänen (magnetic bubbles) usw.) in jeder bekannten Speicherkonfiguration (z.B. ROMs, RAMs, Schieberegister usw.)in dieser Struktur benutzt werden. Dies wird dadurch erreicht, daß eine Steuerung vorgesehen ist, die die erforderlichen Betriebssignale erzeugt, welche zur Steuerung der eingesetzten Speichertechnologie wesentlich sind.
Die Trennung der allgemeinen Steuersammeischiene (CCB) von der privilegierten Steuersammeischiene (PCB), wie sie oben in Verbindung mit der dargestellten Ausführungsform beschrieben ist, erleichtert die Ausführung einer Stufenschalteranweisung (BKS), und der Steuermechanismus innerhalb der Speichersteuerungen 11, 13, 15, 17 macht die Ausführung eines solchen Befehls möglich. Unter Bezugnahme auf die Figuren 3 und 10 läuft eine Stufenschalteranweisung (BKS) in folgender Weise ab: Zunächst ruft eine den Speicher benutzende Vorrichtung (z.B. der Prozessor 24) die Anweisung aus eineüi der Speicherplätze ab und dekodiert sie. Diese Dekodierung zeigt dem Prozessor an, daß die abgerufene Anweisung ein BKS ist. Der nächste logische Platz, der durch in der Rechnertechnik bekannte Einrichtungen wie indizierte, Basis- oder relative Adressierung oder ähnliches aufgebaut ist, wird abgerufen. Dieser Platz wäre entweder die Adresse eines Platzes auf welchem ein Steuerwort des Formates ähnlich dem in Figur 10 dargestellten erhalten würde, oder würde ein Mittel darstellten, mit welchem die Adresse des Platzes erhalten werden kann, auf welchem ein seiches steuerwort (Figur 10) gefunden werden kann (z.B. durch
409849/0784
indirekte, Basis-, relative oder indizierte Adressierung) . Die so erhaltene Adresse wird im nächsten Schritt benutzt.
Unter Benutzung der so erhaltenen Adresse wird das Steuerwort, dessen Format in Figur 10 dargestellt ist, abgerufen. Das Steuerwort wird zu den Steuerungen 11, 13, 15, 17 gesandt und von dort zu jedem Speichermodul im System. Der Steueradressenteil (Bits 12, 13, 14) wird durch jeden Speichermodul im System dekodiert. Wenn die Steuerung 11, 13, 15, 17, die die horizontale Zeile von Speichergruppen steuert -, in welcher der passende Modul enthalten ist, antworten sollte ι sendet dieser eine Speichermodul ein Signal zu der zugeordneten Steuerung (über PCB), um diese Steuerung in die Lage zu versetzen, auf Signale zu reagieren, die der Prozessor 24 bald erzeugen wird.
Während die Steuerungsadresse dekodiert wird, wird auch die Spaltenadresse durch jeden Modul im System dekodiert. Jeder Modul, der sich in der durch die Bits 0 bis 4 der Figur 10 spezifizierten Spalte befindet, führt zu dieser Zeit einem Flip-flop (MEFF) ein Eingangssignal zu, wie weiter unten beschrieben wird. Alle anderen Spalten machen dieses Eingangssignal nicht geltend. Während oder vor der Zeit, in der die Zeilen- und Spaltenadressen dekodiert werden, überprüft der Prozessor, daß die Ausführung einer BKS-Anweisung nicht mit anderen Elementen des Systems in Konflikt gerät. Wenn Elemente des Systems in ungünstiger Weise gestört werden, kann der Prozessor 24 nun die Ausführung des Restes dieser Anweisung beenden. Wenn keine Beeinflussung auftritt, wird der nächste Schritt der Stufenscnalter-Anweisung ausgeführt.
Der Prozessor 24 erzeugt ein Signal oder Signale, die anzeigen, daß nun eine Stufenschaltung stattfinden soll.
409849/0784
In der zuvor für den gewünschten Speichermodul ausgewählten Steuerung wird ein Takt erzeugt, indem das durch den Prozessor 24 erzeugte Signal entweder mit einem intern erzeugten Zeitgabepuls oder mit einem durch den Prozessor erzeugten Zeitgabepuls kombiniert wird. Dieses Taktsignal wird den Taktsignaleingängen aller durch diese Steuerung entlang ihrer horizontalen Reihe gesteuerten Modulen zugeführt. Dadurch wird das MEFF gesetzt oder beansprucht, das der Zeile, dessen Steuerung einen solchen Takt erzeugte, und der Spalte gemeinsam ist, die, wie bereits geschrieben, dekodiert und dem Eingang MEFF zugeführt worden war. Alle anderen MEFFs in der ausgewählten Zeile sind zurückgestellt (d.h. in einem nicht beanspruchten Zustand). Dies schließt die Ausführung der Stufenschalter-Anweisung ab.
Das MEFF legt fest, ob ein bestimmter Modul auf Leseoder Schreibanforderungen von der Steuerung dieser horizontalen Zeile reagiert oder nicht. Wenn das MEFF beansprucht wird, reagiert dieser spezielle Modul auf von seiner Steuerung angeforderte Speicheroperationen. Da in jeder gegebenen schaltbaren Zeile des Speichers nur eine Spalte von MEFFs beansprucht wird, reagiert nur eine der möglichen N Spalten auf Leseoder Schreibanforderungen von der zugeordneten Steuerung. Es ist zu beachten, daß durch das Setzen des MEFF in der ausgewählten Zeile und Spalte wie oben beschrieben gleichzeitig die angezeigte Spalte ausgewählt wird, indem ihr MEFF beansprucht wird, und daß die zuvor ausgewählte Spalte verdrängt wird, indem ihr MEFF in einennicht beanspruchten Zustand gebracht wird. Sollten die neue und die vorherige Spalte dieselbe sein, bleibt selbstverständlich dieselbe Spalte im Adressenraum. Bei manchen Anwendungen ist es jedoch nicht wünschens-
409849/0784
wert, daß gewisse Module einer Stufenschaltung unterworfen werden, und in anderen Anwendungen sollten überhaupt keine Module schaltbar sein. Dies wird dadurch erreicht, daß der Eingang des MEFF der nicht zu schaltenden Module dauernd beansprucht wird. Selbst wenn dann eine Stufenschalter-Anweisung auszuführen wäre, deren Steuerwort anzeigte, daß die Schaltung bei einem solchen Modul erfolgen sollte, sind die Module so angeordnet, daß sie im Adressenraum 31 verbleiben und nicht herausgeschaltet werden. Dieses Merkmal der dargestellten Ausführungsform macht erweiterte Speicherkonfigurationen des Typs möglich, der in Figuren 3, 4, 5, 6, 7 und 8 dargestellt ist.
In der Praxis dieser Erfindung sind noch zwei andere Anweisungen wertvoll, nämlich Stufenschaltung und Setzen des ProgrammZählers (BSJ) und Schaltfelderfassung (BSE). Die BSJ-Anweisung (oder Stufenschaltung und Sprung) ist in Figur 11 dargestellt und wird benützt, um auf ein angezeigtes Schaltfeld (wie in BKS) zu schalten und den Programmzähler des Prozessors 24 auf einen angezeigten Wert zu stellen. Diese Anweisung ermöglicht esy anzuzeigen, wo der Prozessor 24 die Ausführung des Befehlsflusses fortsetzt, nachdem die Stufenschaltung stattgefunden hat. Dieser angezeigte Wert für den Programmzähler kann an beliebiger Stelle innerhalb des Adressenraums 31 gespeichert werden, einschließlich innerhalb der Gruppe von Speichermodulen, die durch diese Anweisung geschaltet worden war. BSJ wird in gleicher Weise wie BKS ausgeführt, mit der Ausnahme, daß eine andere Hinweismarke abgerufen wird und zwar in ähnlicher Weise wie der bereits beschriebene Abruf von dem nächsten logischen Platz. Diese Adressenhinweismarke wird dann benutzt, um ein anderes Wort abzurufen, das den Wert enthält, auf den der Progranmzähler gesetzt werden soll.
k 0 9 8 ü 9 / 0 7 8 4
Der Programmzähler wird unmittelbar nach Erhalt dieses · Wertes gesetzt, und dadurch wird sichergestellt, daß durch den Prozessor '24 richtige Überprüfungen durchgeführt werden und daß der Programmzähler nicht durcheinander gebracht wird, bevor dies nicht mehr stört.
Wie in Figur 12 dargestellt ist, wird die BSE-Anweisung benutzt, wenn ein Programm (oder ein Programmierer) herauszufinden hat, welche Spalte (Gruppe) und Anzahl (von Modulen) zu einer gegebenen Zeit von einer gegebenen Speichersteuerung gesteuert werden. Die BSE-Anweisung wird ausgeführt, wenn diese Anweisung abgerufen und dekodiert worden ist, und zu dieser Zeit erkennt der Prozessor 24, daß eine BSE-Anweisung ausgeführt werden soll. Der Inhalt eines spezifizierten Registers (oder Speicherplatzes) wird dann gelesen, und ein Bestimmungsregister für diesen festgestellten Wert und eine Steuerungsadresse werden festgelegt. Die Steuerungsadresse wird über die allgemeine Steuersammeischiene (CCB) zu den Steuerungen gesandt und von dort zu allen Speichermodulen im Adressenraum. Die Steuerungsadresse wird dekodiert und zu (und nur zu) der Steuerung dieser horizontalen Zeile des Speichers gesandt. Der Prozessor 24 beansprucht dann den Lesebefehl und einen Schaltfeldbefehl. Dies bewirkt, daß im Speicher ein Lesezyklus stattfindet, ohne daß eines der Speicherfelder freigegeben wird. Stattdessen wird ein anderes, "Erkennen" genanntes Signal ausgegeben, und dieses bewirkt, daß durch den Modul, dessen MEFF in der horizontalen Zeile der in der oben beschriebenen Weise zuvor adressierten Steuerung beansprucht ist, ein Wert auf die privilegierte Steuersammelschiene (PCB) gebracht wird. Wenn in der spezifizierten und dekodierten Zeile (d.h. der Steueradresse) keine Module aktiv sind, wird, an die Steuerung ein aus lauter Einsen bestehender Säumniswert zurückgegeben. Zusätzliche Zustandsinformation kann auch durchgelassen werden. Dieser Wert wird zu
409849/0784
dieser Zeit über die PCB in konventioneller Datenlese- und Eingabeart in das Datenregister der Steuerung eingegeben. Der Prozessor 24 erhält die so gespeicherten Daten in der gleichen Weise wie er normale Daten erhält und schließt die Ausführung dieser Anweisung ab, indem er solche Daten in das Bestimmungsregister oder den Speicherplatz speichert, der durch das beim Start dieser Anweisung abgerufene Steuerwort bezeichnet ist.
BSE.spart Speicherraum, da keine Tabellen benützt werden müssen, um aufzuspüren, Was im Adressenraum vorhanden ist. BSE ermöglicht auch eine leichte Feststellung, welche Module im Adressenraum 31 anwesend waren, falls ein Netzausfall auftritt. Dies wird durch die Ausführung von N BSE-Anweisungien (wobei N gleich der Größe des Adressenraums dividiert durch den kleinsten Speichermodul ist) sowie durch Erhöhung der Steuerungsadresse zwischen allen Ausführungen erreicht. Diese erhaltenen Werte werden in einer Tabelle für Widerauf findung gespeichert, nachdem die Stromversorgung des Systems wieder eingeschaltet ist. Das BSE-Anweisungs-Format ist dieser Betriebsweise besonders gut angepaßt. Wie in Figur 12 dargestellt ist, befindet sich die Steuerungsadresse in den Bits mit dem niedrigsten Stellenwert des Steuerwortes, weshalb lediglich eine Anhebung des Wertes des Steuerwortes erforderlich ist, um zur nächsten BSE-Ausführung für die nächste Steuerung in der Schleife zu kommen (im Gegensatz zu einer Addition einer unbequem langen Zahl zum Steuerwort). Dadurch werden sowohl Ausführungszeit als auch die η konstanten Werte gespart, die anderenfalls benötigt wurden , um diese Anweisung für jeden möglichen Modul des Adressenraums 31 auszuführen.
Wenn die Stromversorfung des Systems gemäß der vorliegenden Erfindung eingeschaltet wird, muß es in genau
409849/0 784
t
definierter Weise in den Betriebszustand versetzt werden, ohne daß fremde Operationen ausgeführt werden und ohne daß unerlaubte Betriebszustände aufgebaut werden. Um zu verhindern, daß alle Speichermodule so eingeschaltet werden', daß ihre MEFFs beansprucht sind (was dem unerlaubten Zustand entspricht, daß alle Module im Adressenraum anwesend sind), erzeugt jede Steuerung ein Rückstellsignal das zu jedem von ihr gesteuerten Speicher-Modul gesandt wird. Der Rückstellimpuls kann entweder dem asynchronen Setzeingang oder dem asynchronen Löscheingang des MEFF in jedem Modul zugeführt werden. Nur ein MEFF in einer gegebenen horizontalen 4K-Reihe kann asynchron gesetzt werden, während alle anderen Module in dieser Zeile durch das Rückstellsignal asynchron gelöscht werden. So ist nur ein Modul (Spalte) im Adressenraum nach dem ersten Einschalten vorhanden und verbleibt in diesem Zustand während des Betriebs, bis ein BKS oder ein BSJ für diesen Modul ausgeführt wird. Wenn keinem MEFF an seinem asynchronen Setzeingang ein Rückstellsignal zugeführt wird, werden keine Module in den Adressenraum dieser horizontalen Zeile vorgeschoben, und ein BKS oder BSJ muß ausgeführt werden, um Speicherraum für diesen Teil des Adressenraums 31 zu gewinnen.
Gewisse Speichertypen erfordern eine periodische Erneuerung oder einen Umlauf, um die in ihnen gespeicherte Information aufrechtzuerhalten. Von dieser Art sind einige Typen von MOS-Speichern für wahlfreien Zugriff (RAMs) und einige Schieberegister. Bei solchen Speichertypen müssen die Srneuerungs- oder Umlaufoperationen ausgeführt werden, selbst wenn die Module sich nicht im Adressenraum 31 befinden (d.h. in der Schwebe sind). Dies wird dadurch erreicht, daß der Speichermodul mit einer Erneuerungsadresse und einer zugeordneten Ver-. kabelung (Figur 23) versehen wird und daß die passenden
409849/Ü784
Zeitgabesignale vorgesehen werden, um eine Erneuerung (oder einen Umlauf) stattfinden zu lassen. Dementsprechend kann ein sich in der Schwebe befindender Modul trotzdem auf BKS-Anweisungen und auch Erneuerungs- oder Umlaufbefehle reagieren.
Nach dem Stand der Technik sind Speichertypen bekannt, die als verarbeitenden Speicher bezeichnet werden. Diese Speicher (Figur 24) führen vorbestimmte Operationen aus, z.B. die Ordnung ihres Inhalts in einer bestimmten Reihenfolge die Umkehr ihres Inhalts oder ähnliches. Ein ausgeprägter Nachteil dieses Speichertyps besteht darin, daß während der Ausführung seiner Operationen der Teil des Adressenraums 31, den er einnimmt, nicht für die Benutzung durch den Prozessor 24 oder andere den Speicher benutzende Vorrichtungen 26, 28 zur Verfügung steht. Die Ausführung einer BSJ- oder BKS-Anweisung nach der vorliegenden Erfindung würde einen solchen Speichertyp außerhalb des Adressenraums 31 setzen. Dadurch würde das MEFF dieses speziellen Moduls (Quantum oder Quantengruppe) des Speichers zurückgestellt, was dieser speziellen Gruppe des in der Schwebe befindlichen Speichers anzeigen würde, daß sie die ihr zugewiesene Aufgabe ausführen soll. So existiert eine Steuerstruktur gemäß der vorliegenden Erfindung, die eine weitere Ausweitung der Funktion der Speicher in den vorhandenen Systemen erlaubt. Es ist zu beachten, daß nicht alle Bits im Steuerwort-Format (Figur 10)benutzt werden. Vielmehr sind einige Bits für weitere Ausdehnungen der Speichermöglichkeiten reserviert, sofern die Speichertechnologie fortschreitet. Das Bit mit dem höchsten Stellenwert ist für ein Betriebsartenbit reserviert, welches die Bedeutung des übrigen Steuerwortes verändert und so den Durchlaß von zunächst Undefinierten Anweisungen zum Speicher-Unter system ermöglicht. Andere Bits erlauben die
409849/078A
2A22802
Speicherausweitung bis zu einer theoretischen Grenze von etwa 1 Milliarde Worten. Zur Zeit liegt diese Grenze außerhalb der Reichweite einer wirtschaftlichen Entwicklung, aber die Steuerstruktur für die Anpassung an eine solche Ausweitung oder an irgendeine andere Ausweitung ist vorhanden, in welcher die Module die Form von Speichern haben oder von anderen Vorrichtungen, die als Speicher behandelt werden können.
In Figur 13 ist die Steuerung und in Figur 14 der Speichermodul des polymorphen Speicher-Untersystems dargestellt. lh Figur 13 sind konventionelle Schaltungen wie Zeitgabegenerator, Datenregister, Gleichwertigkeits-Prüfgenerator und Adressenpufferregister in Blockform dargestellt, um die Zeichnungen zu vereinfachen. Figur 14 zeigt eine vollständige Schematik eines Typs eines Speichermoduls . In diesem Modul werden vierunddreißig 4K-MOS-Speicherplättchen für eine Gesamtsumme von 8K Worten zu je 17 Bits benutzt, wodurch ein schaltbares Speicherquantum von 8K gebildet wird.
Allgemeiner Speicherbetrieb
Zur Beschreibung des Speicherbetriebs unter Bezugnahme auf die Figuren 13 und 14 sei zunächst angenommen, daß die Versorgungsspannung ursprünglich abgeschaltet ist. Die nachfolgend beschriebenen Ereignisse treten auf, um die Stromversorgung einzuschalten und um sicherzustellen,, daß der Speicher an einem bekannten Zustand ankommt, bevor irgendwelche Operationen auftreten.
409849/0784
Spexchererneuerung
Die Stromversorgung wird eingeschaltet, und wenn sie sich, stabilisiert hat, wird PON gesetzt. Bevor PON 101 gesetzt ist, setzt der Rückstellgenerator 102 ein Rückstell-Signal welches dem Zeitgabegenerator 114 zugeführt wird, um alle bei Erzeugung der Zeitgabesignale benutzten Flip-flops zurückzustellen, einschließlich des Lese-flip-flops 105, das so zurückgestellt wird, daß keine Leseoperation auftritt, ohne daß sie angefordert war, sowie des Schreib-flip-flops 106, das so zurückgestellt wird, daß keine ScJhreiboperation auftritt, ohne daß sie angefordert wird. Das Rückstell-Signal wird über die privilegierte Steuer-Sammelschiene (PCB) 107 zu allen Speichermodulplatten gesandt, die an diese Steuerung angeschlossen sind. Das Rückstell-Signal 103 tritt von PCB 107 in die Speichermodulplatte (Figur 14) ein und wird dem Konfigurationsschalter zugeführt. Wenn sich dieser Schalter in der "EIN"-Stellung befindet, wird das Rückstell-Signal 103 dem asynchronen Löscheingang des MEFF 110 zugeführt. Dies führt dazu, daß das MEFF 110 rückgestellt wird, was dem Zustand entspricht, der angibt, daß dieser spezielle Speichermodul in den Adressenraum 31 geschaltet ist. Steht der Konfigurationsschalter 109 in der "AUS"-Stellung, wird das MEFF 110 in den Zustand versetzt, der anzeigt, daß dieser spezielle Modul aus dem Adressenraum 31 herausgeschaltet ist und daher nicht auf an ihn gerichtete Befehle oder Adressen antworten würde. Nichtreagieren auf angeforderte Operationen ist das Ergebnis, wenn der Ausgang des Gatters 112 nicht geltendgemacht ist, was widerum durch Geltendmachung des Gatters 111 verursacht wird. Geltendmachung des Gatters 111 wird durch Rückstellung des MEFF 110 und durch eine weiter unten beschriebene Bedingung verursacht, die an dem anderen Zugang auftritt. Auf diese Weise legt, das MEFF
409849/0784
den Ausgang des Gatters 112 fest, der dem Adressenpuffer 113, dem CE-Puffer 1142, dem Gatter NMAV 15, dem Taktpuffer 116 und dem Lese/Schreib-Gatter 117 zugeführt wird. Diese Funktionen werden daher gesperrt, wenn MEFF 110 nicht geltendgemacht ist und freigegeben, wenn MEFF 110 geltendgemacht ist. Daher findet eine Speicheroperation statt, wenn das MEFF 110 geltendgemacht (rückgestellt) ist,und findet nicht statt, wenn es nicht geltendgemacht (gesetzt) ist. Auf diese Weise ist ein Speichermodul entweder in den Adressenraum 31 oder aus ihm herausgeschaltet, und mit der vorliegenden Erfindung wird beim Einschalten der Energieversorgung ein bekannter Zustand erreicht.
PON lwird auch der Erneuerungssteuerung und dem Synchronisationsgenerator 118 zugeführt. Der Generator 118 wird dadurch veranlasst, aus seinem Erneuerungsbetrieb bei abgeschalteter Energieversorgung zurückzukehren und entsprechend den Anforderungen des. im System benutzten Speichertyps das Signal M ERNEUERN abzugeben. Die Signale 119, 120, 121, 122, 123, 124 und 125 in Verbindung mit PON 1 werden benutzt, um M ERNEUERN 126 richtig zu synchronisieren und zu erzeugen. M ERNEUERN 126 bewirkt, daß entsprechend der Stellung des Schalters 130 entweder ein Lesezyklus oder ein Schreibzyklus stattfindet. Diese Eigenschaft ist von Wichtigkeit, da einige Speicherarten zur Erneuerung gelesen werden müssen, während andere Speicherarten zur Erneuerung geschrieben werden müssen. In der dargestellten Ausführungsform wird ein Schreibzyklus benutzt, um den Speicher zu erneuern, und ein Schreibzyklus wird durch M ERNEUERN 126 in Gang gesetzt. M ERNEUERN 126 wird außerdem über die privilegierte Steuersammelschiene (PCB) 107 zu allem Speichermodulen gesandt, die von dieser
409849/0784
Steuerung gesteuert werden, um 131 anzusteuern, wo das Signal gepuffert wird und von wo es dem Gatter 158 und dem Schalter 133 zugeführt wird. Wenn das MEFF 110 geltendgemacht wird, wird der andere Eingang zum Gatter 158 geltendgemacht und dementsprechend auch das Gatter 132. Die Geltendmachung dieses Gatterausgangs bewirkt, daß der Ausgang des Gatters 133 nicht geltendgemacht wird. Dieser Zustand wird den Gattern 134, 135, 136 und 137 zugeführt, wodurch diese daran gehindert werden, geltendgemacht zu werden, und dies verhindert wiederum, daß CEU (145) und CEL (144) geltendgemacht werden. Dadurch wird die Forderung erfüllt, daß bei dem in der dargestellten Ausführungsform benutzten Typ von Speichern 146, eine Erneuerung erfolgen soll, ohne daß die sich im Speicher 146, 147 befindlichen Daten gestört werden. Der Ausgang des geltendgemachten Gatters 132 bewirkt auch, daß der Ausgang des Gatters 148 geltendgemacht wird wodurch die Lese/Schreib-Leitung veranlaßt wird, einen (niedrigen) Schreibzustand anzunehmen, was eine weitere notwendige Bedingung für die Erneuerung der in der dargestellten Ausführungsform benutzten Speicher 146, 147 ist. Die Geltendmachung des Gatters 132 wird außerdem einigen der Adresseneingänge 151 (höchstens 5 Bits) der Speicherplättchen 146, 147 zugeführt, um eine Adresse des zu erneuernden Speichers vorzusehen. Am Ende des Erneuerungszyklus bewirkt die Entfernung der Geltendmachung dieses Signals, daß der Zähler 189,150 binär um 1 weiterzählt und damit den nächsten Speichererneuerungszyklus vorbereitet. Nun kann die Speichererneuerung vervollständigt werden, nachdem ein Takt (CLK) 151, 152 den Feldern 146, 147 zugeführt worden ist. Da durch M ERNEUERN 126 ein Schreibzyklus eingeleitet worden war, nachdem dieses Signal das Schreib-flip-
409849/0784
flop 106 gesetzt hatte, wird durch den Zeitqabegenerator 104 der Takt 154 erzeugt. Dementsprechend findet ein Erneuerungszyklus statt, Wenn der Speichermodul im Adressenraum 31 vorhanden ist. Wenn das Speichermodulquantum außerhalb des Adressenraums ist, wird die Erneuerung in gleicher Weise ausgeführt, mit der Ausnahme, daß der Ausgang des Gatters 132 stattdessen durch das Gatter 155 geltendgemacht wird. Das Gatter 155 ist geltendgemacht (hoch), da das Gatter 156 geltendgemacht ist (niedrig). Das Gatter 156 wird geltendgemacht, wenn der Speichermodul nicht im Adressenraum 31 anwesend ist, da das MEFF Ho nicht geltendgemacht (gesetzt) ist. Daher ist ein Eingang zum Gatter 156 hoch (geltendgemacht) , der Schalter 133 befindet sich in der Stellung P2, und jedesmal wenn M ERNEUERN 2(126) geltendgemacht ist, invertiert das Gatter 157 dieses und macht damit den zweiten Eingang zum Gatter 156 geltend. Der weiter unten beschriebene verbleibende Eingang kann als geltendgemacht angenommen werden. Somit wird der Speicher richtig erneuert, wenn der Schalter sich in der Stellung P2 befindet und der Speichermodul außerhalb des Adressenraums 31 ist. Es ist zu beachten, daß durch diesen Mechanismus eine Einrichtung geschaffen wird, mittels welcher die Steuerung mit allen nicht im Adressenraum 31 befindlichen Modulen in Verbindung treten kann, womit für die in der Schwebe befindlichen Module die Möglichkeit für Operationen und Kommunikation geschaffen ist. Am Ende jeder Art von Erneuerungsoperat'ion gibt der Zeitgabegenerator 106 das Signal EOC 161 aus, welches das Lese- oder Schreib-flip-flop 105 bzw. 106 (je nachdem welches benutzt worden war) rückstellt, und damit den Erneuerungszyklus beendet.
409849/0784
Lesezyklus
Im folgenden werden Speicheroperationen wie ein allgemeiner Lesezyklus und ein allgemeiner Schreibzyklus beschrieben. Die spezifischen Lese- und Schreibzyklen, die geteilte und gemischte Speicher betreffen, werden weiter unten beschrieben. Ein Lesezyklus wird durch eine den Speicher benutzende Vorrichtung (z.B. 24, 26, 28) ausgeführt, die die gewünschte Adresse auf die M-Sammelschiene gibt und das Signal LESEN 163 geltendmacht. Dadurch wird das Lese-flip-flop Io5 geltendgemacht und LESEN 165 wird geltendgemacht (hoch) was den Zeitgabegenerator veranlaßt, eine Folge von Zeitgabesignalen zu erzeugen. Das erste von diesen dient dazu, nicht die Adressen-Übertragungsleitung des Adressen-Pufferregisters 168 geltendzumachen (anzuheben), was dazu führt, daß die von der den Speicher benutzenden Vorrichtung dargebotene Adresse in das Adressenpufferregister getaktet wird und festgehalten wird, bis die Adressenübertragungsleitung gesenkt (geltendgemacht) ist. Die Speicheradressen-Sammelschiene 169 hat in der Zwischenzeit über PCB 107 die Adresse zum Speichermodul gesandt und sie dem Speicheradressenpuffer 113 zugeführt. Wenn das MEFF 110 geltendgemacht (zurückgestellt) ist, überträgt der Adressenpuffer die Adresse zu den Adresseneingängen der Speicherfeider 146, 147. Wenn MEFF 110 nicht geltendgemacht (rückgestellt) war, findet diese Übertragung nicht statt und ein Zyklus tritt nicht auf. Ob dieser Teil der Adresse (Bits AO - Al2) zum Speicherfeld übertragen wird oder nicht, die Bits 13 und 14 werden jedenfalls zu den Gattern 170, gesandt. In Verbindung mit Schaltern 173 und 174 und Widerständen 175, 176 legen diese Gatter fest, daß, wenn die beiden Adressenbits zu den von den Schaltern 173, 174 und den Widerständen 175, 176 oder der Massestellung von einem oder beiden der Schalter 173, 174 vorgegebenen Eingangspegeln passen, der Aus-
409849/0784
gang der beiden Gatter 170, 171 geltendgemacht wird (hoch). Die Geltendmachung dieses Signals zeigt an, daß die Adresse (vertikale Adresse in Figur 3) die Adresse dieser horizontalen Zeile von Speichermodulen oder Gruppen von Modulen ist und daß daher die Steuerung für diese Zeile auf diese Zyklusanforderung reagieren und sie vervollständigen sollte. Die Steuerung für diese Zeile wird von dieser Bedingung durch das Speichergrundplatten-Gatter 172 in Kenntnis gesetzt, dessen Ausgang über eine logische ODER-Verknüpfung mit allen anderen Gattern 172 der horizontalen Zeile verbunden ist. Der Ausgang des Gatters 172 ist IN GRENZEN 173, was über PCB 107 zur Steuerung übertragen wird, der dadurch mitgeteilt wird, daß sie den angeforderten Zyklus zur Vervollständigung fortsetzen soll. Wird dieses Signal innerhalb einer ausgewählten Zeitspanne nicht empfangen, wird der angeforderte Zyklus fallengelassen, und die Steuerung wird durch den Zeitgabegenerator für die Annahme der Anforderungen freigegeben, welcher das EOC-Signal 161 geltendmacht. Nimmt man an, daß die Adresse beim Konfigurations-Netzwerk paßt und daß IN GRENZEN 173 ausgegeben worden ist, so wird der Lesezyklus fortgesetzt. SPEICHERZYKLUS wird durch das Gatter 174 in der Steuerung geltendgemacht, ein TAKT 154 wird durch den Zeitgabegenerator 104 geltendgemacht, und das Lese/Schreib-Signal 175 wird durch den Zeitgabegenerator 104 auf den R-Zustand (niedrig) gesetzt. Gleichzeitig informiert der Zeitgabegenerator 104 die den Speicher benutzende Vorrichtung, daß der Speicher arbeitet (MEMBSY 17 6) und daß die Daten nicht gültig sind (Speicher bald fertig 179), indem diese Signale geltendgemacht bzw. nicht geltendgemacht werden. Das Speicherfeld reagiert auf diese Signale, wenn das MEFF 110 geltendgemacht ist, und die Ausführung eines Lesezyklus
849/0784
wird fortgesetzt. Während dieser Operation prüft der Prozessor 24 oder die andere Vorrichtung nach, ob die gestartete Operation nicht mit anderen Operationen irgendwo im System in Konflikt gerät. Wenn ein solches Aufeinandertreffen festgestellt wird, macht der Prozessor 24 (oder die andere Vorrichtung) das Signal MPV 180 geltend, das dazu führt, daß die Operation, die im Speicher verlangt wurde, fallengelassen wird, indem das Signal CE 181 geltendgemacht wird. Dies rührt daher, daß das Gatter 183 es dem Signal CE 181 nicht erlaubt, vom Zeitgabegenerator 104, wo es erzeugt worden war, hindurch zur PCB 107 zu gelangen. Das andere Eingangssignal des Gatters 183 ist PON (Energieversorgung EIN) 101, das nicht geltendgemacht ist (niedrig) ist, wenn die Energieversorgung des Speichers ungenügend ist. Das verhindert Schreiben oder Lesen unter solchen Bedingungen und ermöglicht einen Erneuerungsbetrieb, unv sicher zu arbeiten, wenn die Netzspannung entfernt worden ist und das Speichersystem aus Batterien gespeist wird. Wenn der Prozessor 24 (oder die andere Vorrichtung) MPV 180 nicht geltendgemacht, wird der angefangene Lesezyklus fortgesetzt. Die Signale CE 181 Lese/Schreiben 175 und TAKT 154 werden über PCB 107 zum Speichermodul übertragen, und wenn MEFF 110 geltendgemacht ist, geschieht das Folgende. Das Signal Lesen/Schreiben 175 (niedrig) wird dem Puffergatter 185 zugeführt und bewirkt, daß dessen Ausgang auf einen niedrigen Pegel geht. Dieses Ausgangssignal wird dem Gatter 186, dessen Eingang es geltendmacht, sowie dem Gatter 117 zugeführt, wodurch das Lese/Schreib-Eingangssignal den Speicherfeldern 146, 147 zugeführt wird, um ane Leseoperation zu erzeugen. Das Signal CE 181 wird dem Gatter 187 zugeführt und über PCB
409849/0784
?Λ ?"/ R Π
zu den Gattern 134 und 135 im Speichermodul übertragen. Das Adressenbit 12 ist zu diesem Zeitpunkt durch das Gatter 188 invertiert oder nicht invertiert worden, und daher ist das spezielle Eingangssignal zum Gatter 134 oder 135 gültig. Da dies kein Erneuerungszyklus ist, wird das Ausgangssignal des Gatters 133 nicht geltendgemacht und hindert das Gatter 13 4 oder 135 je nach Zustand des Adressenbits 12 nicht an einer Geltendmachung. Wenn das Gatter 134 geltendgemacht wird, wird der obere 4K-Abschnitt des Speichers 146 freigegeben.· Wenn das Gatter 13 6 geltendgemacht wird, wird der untere 4K-Abschnitt des Speichers freigegeben. Somit wird eine Entscheidung getroffen, in welche Hälfte des Speichers die Information eingespeichert wird, und das vom Speicher benötigte Eingangssignal (CE) ist bereitgestellt worden.
Das Signal TAKT 154 wird durch den Zeitgabegenerator 104 erzeugt und über PCB 107 zum ausgewählten Speichermodul gesandt, um 189 anzusteuern. Wenn das Gatter freigegeben ist (d.h. MEFF 110 geltendgemacht worden ist), wird das Signal TAKT über das Gatter 189 zum Gatter 190 übertragen. Dieses Eingangssignal am Gatter 190 macht dem Ausgang geltend (hoch) und gibt einen der vier Eingänge frei, um 140 und 141 anzusteuern. Einer der anderen Eingangssignale der Gatter 140, 141 wird durch den Ausgang und ,den Eingang des Gatters 188 gebildet. Ein anderer Eingang zu jedem Gatter ist durch den Ausgang des Gatters 191 gegeben, welcher anzeigt, daß das MEFF 110 geltendgemacht worden ist. Ein anderes Eingangssignal für die Gatter 140, 141 wird durch Gatter 191 gebildet, welches anzeigt, daß die Anforderung der Speicheroperation innerhalb der Grenzen des Speichers ist (IN GRENZEN)
409849/0784
2422302
was durch den Moduldekodierungsabschnitt (170, 171, 173, 174, 175, 176) und durch Gatter 193 dekodiert worden war. Daher sind alle Eingangssignale zum Gatter 140 oder 141 vorhanden, und der Ausgang des Gatters 140 bzw. 141 wird geltendgemacht. Dadurch wird wiederum das Eingangssignal zum Treiber 142 oder 143 (abhängig vom Zustand des Adressenbits 12) geltendgemacht, und der Speichermodul beginnt die Information in der spezifizierten Adresse abzurufen. Nach einer Zusatzzeit erscheinen die Datenvom Speicher an der DO-Sammelschiene 194, die zu einem Satz von Sairanelschienenmultiplexern 197, 198, 199, 2OO und 201 konventioneller Bauart (z.B. Signetics Typ 8 T 26 o.a.) führt.
Einer der Eingänge am Gatter 186 war seit Beginn des Lesezyklus geltendgemacht, und der andere Eingang wird nun durch das Signal STROBE 221 geltendgemacht, welches vom Zeitgabegenerator 104 erzeugt wird und über PCB 107 zum Gatter 196 übertragen wird. Dieses Gatter 196 überträgt dann dieses STROBE-Signal zum Eingang des Gatters 186. Der Ausgang des Gatters 186 wird dadurch geltendgemacht und der Satz von Sammelschienenmultiplexern 197 bis 201 wird freigegeben, um Daten über die MDS-Sammelleitung 2O2 zur Speichersteuerung durchzulassen. Diese Daten werden dann durch das vom Zeitgabegenerator 104 erzeugte Taktsignal 205 in das Datenregister 203 eingeblendet und außerdem in ein Flipflop im Paritätsprüfer 202 übertragen, welcher den Inhalt des Datenregisters analysiert um festzustellen, daß die richtige Parität vorhanden ist. Wenn richtige Parität vorhanden ist, wird die Leitung PE 208 nicht geltendgemacht und die Daten werden als gültig betrachtet. Zu einem bestimmten ZeitpuiL·. . (vor oder nach dem gegenwärtigem Zeitpunkt in der hierbeschriebenen Folge von Ereignissen) hat der
409849/0784
Prozessor 24 oder die anderen den Speicher benutzenden
en
Vorrichtung/entweder das Signal T REG GATE 178 abgegeben oder wird es abgeben, wodurch der Zeitgabegenerator 104 veranlasst wird, das Gattersignal 206 abzugeben, um den Inhalt des Registers 203 zur S-Sammelschiene 204 zu übertragen, auf welcher er zu der Vorrichtung geht, die ursprünglich den Lesezyklus angefordert hatte. Am Ende dieses Zyklus stellt der Zeitgabegenerator das Lese-flipflop 105 durch Abgabe eines Signals EOC 161 zurück. Die Daten können zu diesem Zeitpunkt zur S-Sammelschiene 204 gesandt werden oder nicht. Dies hat jedoch keine Wirkung, da der Zeitgabegenerator 104 auf das Signal T REG GATE 197 hin liest, ob der Zyklus beendet worden ist oder nicht. Wenn der Zeitgabegenerator 104 eine Anzeige empfängt, daß die Daten gut sind, gibt er ein Signal SPEICHER BALD AUßER BETRIEB 179 ab, um der benutzenden Vorrichtung mitzuteilen, daß die Daten für ihren Gebrauch fertig sind und daß andere Vorrichtungen fertigzumachen sind, um den Speicher wieder zu benutzen. Diese werden so freigegeben, so daß sie, wenn nötig, bei der nächsten Operation im Speicher gestartet werden können. Wenn der Zyklus vollständig ist, beseitigt der Zeitgabegenerator das Signal MEM BSY 176, und der Leseyzklus endet.
Schreibzyklus
Ein Schreibzyklus ähnelt mit wenigen Ausnahmen dem Lesezyklus. Zunächst wird das Schreib-Flipflop 106 durch SCHREIBEN 164 gesetzt. Dies bewirkt die Erzeugung von CE in der gleichen Weise wie in einer Leseoperation. SPEICHERZYKLUS wird durch das Gatter 174 in der gleichen Weise ,jedoch durch das entgegengesetzte Eingangssignal erzeugt, und die
AO984970 784
Folge der Takterzeugung i,st genau die gleiche. Die Adresse wird in gleicher Weise wie im Lesezyklus dekodiert und festgehalten. Lesen/Schreiben wird von einem niedrigen Pegel auf einen hohen Pegel geändert, und die gleiche Änderung findet dementsprechend am Eingang statt. Der Hauptunterschied besteht beim Schreibzyklus darin, daß die den Speicher benutzende Vorrichtung (z.B. 24) bewirkt, daß die Daten zusätzlich zu der Adresse geschrieben werden, in welcher diese Daten zu schreiben sind. Diese Daten müssen in Antwort auf das Signal T REG TAKT 177 durch den Zeitgabegenerator 104 zu passender Zeit in das Datenregister 203 getaktet werden. Dies wird durch das Signal 205 in Verbindung mit dem Vorwärtsübertragungssignal 207 erreicht, welches den Inhalt des Datenregisters 203 auf die MDS-Sammelschiene 202 durchschaltet, welche die Daten über PCB 107 zu dem Satz von Sammelschienenmultiplexern 197 bis 201 auf dem Speichermodul überträgt. Wenn ein Schreibzyklus fortschreitet, ist das Eingangssignal des Gatters 186 vom Gatter 185 hoch, und das Gatter 186 ist gehemmt. Dies bewirkt, daß der Satz 197 bis 201 freigegeben wird, um auf der MDS-Sammelschiene anstehende Information zur Dl-Sammelschiene 195 zu übertragen und damit zu den Eingängen der Speicherplättchen 146 und 147. Wenn nun CE (4 4 oder 45) gegeben wird, und der Takt (52 oder 53) erzeugt wird, die richtige Adresse vorhanden ist (209) und sich Lesen/Schreiben im Schreibzustand findet, schreiben die Speichermodule die so vorgegebenen Daten in die angezeigte Adresse, und zwar in aner vorgeschriebenen Zeitspanne. Kurz bevor diese Zeit abgelaufen ist, teilt der Zeitgabegenerator 104 den den Speicher benutzenden Vorrichtungen über das Signal SPEICHER BALD AUßER BETRIEB 179 mit, daß der Speicher bald nicht
409849/0784
mehr arbeitet. Am Ende des Zyklus teilt der Zeitgabegenerator 104 den den Speicher benutzenden Vorrichtungen über das Signal MEM BSY (Speicher in Betrieb) 176 mit, daß der Speicher nicht mehr arbeitet. Am Ende der Schreiboperation bewirkt der Zeitgabegenerator 104 das Erscheinen des Signals EOC 161. Dadurch wird das Schreib-Flipflop 106 zurückgestellt, und der Schreibzyklus endet.
Stufenschaltung
Die Ausführung einer Stufenschalt-Anweisung (BKS) beginnt wie oben beschrieben. Die Anweisung wird abgerufen und durch den Prozessor 24 oder eine andere Vorrichtung dekodiert. Nach Erkennung einer BKS-Anweisung ruft der Prozessor oder die andere Vorrichtung den nächsten logischen Platz ab, benutzt ihn als eine Adressenhinweismarke, um direkt oder indirekt (oder mittels eines anderen Adressiermechanismus) das Steuerwort zu erhalten. Der Prozessor 24 (oder die andere Vorrichtung) sendet dieses Steuerwort zum Speicheruntersystern, gemäß der bevorzugten Ausführungsform über die M-Sammelschiene 162, oder allgemein über eine gesonderte Sammelschiene oder irgendeine vorhandene Sammelschiene in dem Speicher. Dieses Steuerwort wird von den Steuerungen über PCB 107 zu allen den jeweiligen Steuerungen zugeordneten Speicherfeldern im System gesandt. Bits 14, 13 und 12 in einem 4K-Quantum oder Bits 14 und 13 in einem 8K-Quantum werden durch das Konfigurationsnetzwerk 175, 176, 173, 174, 170 und 171 in gleicher Weise dekodiert, wie bei der Lese- oder Schreiboperation eine Adresse dekodiert wurde. Dadurch wird das INGRENZEN-Signal gegeben, welches die Freigabeeingänge des l-aus-8-Dekodergatters 209 und das l-aus-4Dekodergatters beaufschlagt. Die Freigabe dieser Dekoder bewirkt, daß die niedrigsten fünf Bits des auf der Adressensammel-
409849/0784
schiene 169 anstehenden Steuerwortes durch die Dekoder 209 und 210 dekodiert wird, um ein Signal IN GRENZEN 173 zu erzeugen, das über PCB 107 zur Steuerung zurückgeführt wird. Das Ausgangssignal der beiden Dekoder 209 und 210 wird den Konfigurationsschaltem214 und 215 zugeführt. Wenn der Schalter (oder Springer) 214 sich in der Stellung befindet, die dem dem Eingang des Dekoders 209 zugeführten binären Kode entspricht, wird der obere Eingang zum Gatter 212 angesteuert (niedrig). Wenn der Schalter (oder Springer) sich in einer der sieben anderen möglichen Positionen befindet, wird der • obere Eingang zum Gatter 212 nicht angesteuert (niedrig) wodurch auch der Ausgang an einer Signalgabe gehindert wird. Wenn der Schalter (oder Springer) 215 sich in der Stellung befindet, die dem durch Steuerwort-Bits 3 und 4 dargebotenen binären Eingangssignal entspricht, wird der untere Eingang zum Gatter 212 angesteuert (niedrig). Wenn sich der Schalter (oder Springer) 215 in einer anderen Position befindet als sie dem Kode entspricht, der dem Eingang des Dekoders durch die Steuerwort-Bits 3 und 4 dargeboten wird, wird der untere Eingang 212 nicht angesteuert.(niedrig). Damit wird auch der Ausgang des Gatters 212 an einer Aufsteuerung gehindert. Wenn so beide Eingänge zum Gatter 212 angesteuert sind, paßt der/£n den unteren fünf Bits des Steuerwortes (Bits 0 bis 4) zur Spaltenadresse dieses Speichermoduls, welche ausgewählt ist, durch diese BKS- oder BSJ-Anweisung eingeschaltet zu werden. Diese Bedingung (d.h. Gatter 212 angesteuert) besteht auf jedem Speichermodul der Spalte, dessen Adresse (Stellungen der Schalter 219 und 215) derjenigen entspricht, die durch das Steuerwort gegeben ist. So können Module bis zur gesamten Spalte in den Adressenraum 31 der den Speicher benutzenden Vorrichtungen (z.b. 24) geschaltet werden, wenn das Signal BSS 2 (218) zum MEFF 110 allen Modulen in der Spalte zugeführt wird. Andererseits werden nur einige Module in den Adressenraum 31 geschaltet,
409849/0784
nämlich die, die das Taktsignal 218 empfangen, und alle Module, die den Takt nicht empfangen, bleiben unbeteiligt. Das Signal IN GRENZEN 173, das über PCB 107 zur Steuerung des speziellen horizontalen Satzes von Modulen (angeführt in den Adressenbits 14 und 13 oder 14, 13, 12 oder je nach Modulgröße in mehr Bits) zurückgeführt wird, ist das Signal, das festlegt, welcher Modul bzw. welche Module der ausgewählten Spalte den Takt 218 empfangen. Diese und einige andere Funktionen werden durch das Gatter 2152 auf der Steuerungsgrundplatte aufgeführt. Das Signal IN GRENZEN 173 wird vom Gatter 2142 empfangen und zu IN GRENZEN invertiert, was einen Eingang des Gatters 2152 ansteuert. Wenn das Betriebsartenbit (Bit 15) des Steuerwortes (auf der M-Sammelschiene 162) gegeben ist (hoch), wird ein anderer Eingang des Gatters 2152 angesteuert.. Nun hat der Prozessor 24 (oder die andere Vorrichtung) längst die BKS-Anweisung dekodiert, die den Prozessor 24(oder die andere Vorrichtung) dazu bringt, dem Gatter 2152 die übrigen Eingangssignale zuzuführen. Wenn MPV 180 nicht da ist, prüft der Prozessor 24 auf Konfliktmöglichkeiten, um anzuzeigen, daß ein Schaltvorgang erlaubt werden kann. Wenn MPV 180 ansteht, wird das Gatter 2152 nicht angesteuert,und das Signal 218, das als Takt für das MEFF 110 dient, wird nicht erzeugt, so daß ein Schaltvorgang verhindert wird. Ein anderes vom Prozessor 24 zugeführtes Eingangssignal ist BANK 217. Wenn dieses Eingangssignal ansteht, invertiert das Gatter 216 seinen Sinn, um den Eingang zum Gatter 2152 anzusteuern. Das Signal 217 wird so vom Prozessor 24 in der dargestellten Ausführungsform in einer BKS-, einer BSE-, und einer BSJ-Anweisung gegeben. Allerdings könnte in einer anderer Ausführungsform eine andere Vorrichtung diese Funktion übernehmen. Das zuletzt noch verbleibende Eingangssignal zum Gatter 2152 i± ein Zeitgabeimpuls t der vom Prozessor 24 pro Ausführungszyklus einmal erzeugt wird. Dieses Signal ist nicht notwendig, da der Zeitgabegenerator 104 es
09849/0784
erzeugen könnte, aber es ist zweckmäßig bei der Bestimmung der Zeitspanne, während der der Takt (218) für MEFF 110 anstehen bleibt.
Wenn alle Eingangssignale zum Gatter 2152 vorhanden sind, wird das Signal 218 gesetzt und über PCB 107 zum Gatter 213 gesandt, welches es puffert und dessen Ausgangssignal dem Takteingang des MEFF 110 des Speichermoduls zugeführt wird, der mit der zugeordneten ausgewählten Steuerung verbunden ist. Wenn das Ausgangssignal des Gatters 212 vorhanden (niedrig) ist, wird das MEFF 110 zurückgestellt, wodurch im Adressenraum dieser spezielle Modul (oder diese Gruppe von Modulen)aktiviert (oder eingefügt) wird. Wenn andererseits der Ausgang des Gatters 212 auf einem der durch die ausgewählte Steuerung gesteuerten Module nicht ansteht (hoch ist) wird das MEFF 110 auf dem zugeordneten Modul gesetzt (d.h. nicht geltendgemacht) und diese Module werden aus dem Adressenraum 31 ausgeschlossen. Nun wird durch die Speichersteuerung ein Erneuerungszyklus durchgeführt, um sicherzustellen, daß im Falle von vielen kurz hintereinander stattfindenden Stufenschaltungen kein Datenverlust auftritt. Zu diesem Zeitpunkt ist die Ausführung der BKS-Anweisung komplett, und das System ist frei für die Ausführung anderer Anweisungen. Eine BSJ-Anweisung (Stufenschaltung und Sprung) wird in gleicher Weise ausgeführt, wie eine BKS-Anweisung, mit der Ausnahme, daß eine zusätzliche Adressenhinweismarke abgerufen wird und der Inhalt der angezeigten Adresse in den Programmzähler des Prozessors 24 (oder einer anderen Vorrichtung) gegeben wird, und daß nach Abschluß der BSJ-Anweisung der Prozessor 24 und die andere Vorrichtung ihre Programmausführung an dem Platz fortsetzen, der durch die BSJ-Anweisung gekennzeichnet ist und nicht an dem Platz, der durch den vorherigen Inhalt des Programmzählers gekennzeichnet ist.
Eine BSE-Anweisung wird in ähnlicher Weise wie eine Lese-Operation ausgeführt. Eine BKS- oder BSJ-Anweisungssteuerung empfängt ein Steuerwort, das in ähn-
4098 4 9/0784
licher Weise erhalten wird, wie bei BKS. Das Steuerwort wird i-n gleicher Weise dekodiert wie bei BKS, mit der Ausnahme, daß das Signal 218 nicht erzeugt wird. Der Prozessor 24 gibt die Signale BANK 2172 und LESEN 163 ab, was dazu führt, das eine besondere Lese-Operation stattfindet. Der Zeitgabegenerator 114 gibt kein CE oder TAKT 154 oder SPEICHERZYKLUS 182 ab, aber er setzt Lesen/Schreiben in den Lesezustand. Das Signal BANK 2172 , das der invertierte Ausgang des Gatters 216 ist, wird dem Eingang des Gatters 216 zugeführt. Wenn zu diesem Zeitpunkt das Lese-Flipflop 105 gesetzt ist, wird der untere Eingang zum Gatter 217 angesteuert, so daß das Gatter 217 ein Ausgangssignal abgibt. Dieses Ausgangssignal 219 wird über PCB 107 zu allen von dieser Steuerung gesteuerten Speichermodulen gesandt und wird durch das Gatter 222 jedes Moduls empfangen. Dieses Gatter 222 puffert das Signal und führt es einem der Freigabeeingänge des Transfergatters 223 zu. Wenn MEFF 110 des Moduls geltendgemacht wird, wird der andere Eingang des Transfergatters 223 angesteuert. Der durch Widerstände 225 bis 229 und die MEFFs (Modulzahl und Modulzustand) festgelegte Kode wird zum Eingang des Satzes von Sammelschienendurchlässen 197 bis 201 übertragen. Dieser durch die Widerstände ausgewählte Kode stellt die Zahl der Spalten dar, die dem speziellen Modul oder der Gruppe von Modulen zugeordnet ist, die von der zugeordneten Steuerung gesteuert werden , die wie in der BKS-Anweisung von dem Signal IN GRENZEN 173 ausgewählt ist, welches zurückgeführt wird, wenn das Steuerwort zu den Speichermodulen gesendet worden ist.
Ein Signal EINBLENDEN 221 wird vom Zeitgabegenerator abgegeben, um die Übertragung des Kodes durch die MDS-Sammelschiene 202 zu veranlassen, indem der andere Eingang des Gatters 186 angesteuert wird, wobei, der ver-
409849/0784
bleibende Eingang durch das Lese/Schreib-Signal angesteuert wird. Einer der Kodeeingänge ist immer Null, um die Feststellung zu ermöglichen, ob kein Speicher von der Steuerung .gesteuert wird. Zu dem Zeitpunkt, zu welchem BSE ausgeführt ist, besteht der zurückgeführte Kode aus lauter Einsen, was ein reservierter Kode ist, der anzeigt, daß diese spezielle Bedingung existiert. Wenn während dieser Zeitspanne ein Speicherntodul von der Steuerung gesteuert wird, wird der
dxe
Kode (Spaltennummer) über/MDS-Sammelleitung 202 zum Datenregister 203 auf der Speichersteuerung zurückgeführt. Der Datenregister-Takt 205 wird durch den Zeitgabegenerator erzeugt und taktet die Spaltennummer als Binärkode in das Datenregister. Damit ist der zum Speicher-Untersystem gehörende Teil der Ausführung der BSE-Anweisung abgeschlossen. Der Prozessor 24 kann dann dieses Steuerwort durch Abgabe eines Signals T REG GATE 178 und Ausblendung der Spaltennummer aus der S-Sammelschiene 204 erhalten. Es ist zu beachten, daß die Steuerung zu diesem Kode Information hinzufügen kann, um die den Speicher benutzenden Vorrichtungen über ihren Zustand zu informieren. Im dargestellten Ausführungsbeispiel legt der Prozessor 24 dieses Steuerwort in einem Register ab, welches durch das beim Beginn des Zyklus abgerufene Steuerwort spezifiziert ist, wie in Figur 12 dargestellt ist. Durch Rückführung dieses Steuerwortes zum spezifizierten Register wird die Information zugänglich, so daß die Verwaltung des verfügbaren Speicherraums effektiver wird.
Direkter Speicherzugriff
Direkter Speicherzugriff (DMA) ist eine Technik , durch welche Eingabe/Ausgabe-Vorrichtungen (I/O) wie Magnetplatten, -trommeln und -bänder sowie andere Peripheriegeräte einen direkten Zugriff zum Speicher erhalten können, ohne daß der Prozessor 24 über die Aufstellung der Anfangsbedingungen hinaus Zwischenoperationen ausführen muß. Die Speicherbe-
4098 4 9/0 78
benutzung bei DMA hängt daher von der Geschwindigkeit ab, mit der diese Einheiten Information (Daten oder Programme) zum oder vom Speicher übertragen, und dies hängt wiederum von der Art der eingesetzten Einheit ab. Manche Einheiten erfordern die Benutzung des Speichers auf Verlangen, da die Information, die sie zum Speicher übertragen oder von diesem anfordern, in Realzeit auftritt. Zum Beispiel kann eine Anzahl Worte in einer Folge zu einem Register übertragen und dort zeitweilig gespeichert werden/während sie in einen Speicher eingegeben wird. Dies muß abgeschlossen sein, bevor die nächste Folge in das Register übertragen wird, denn wenn die erste Folge nicht im Speicher gespeichert ist, bevor die nächste Folge in das Register übertragen wird, ist die erste Folge verloren. Es ist daher eine allgemeine Praxis, DMA-Übertragungen zwischen Speicher und einer Platte (oder ähnlichen Vorrichtung) aufzustellen, um die Vervollständigung solcher Übertragungen als spezifizierte Bedingung in der Aufstellung eines DMA-"Kanals" zu erlauben. Die vorliegende Erfindung macht es erforderlich, in Anbetracht jeder BKS- oder BSJ-Anweisung, deren Ausführung vorgesehen ist, eine DMA-Übertragung aufzustellen und ihren Fortgang zu überwachen. Es ist daher wesentlich, zu prüfen, ob der Bereich in welchem eine Stufenschaltung stattfinden soll nicht gerade für eine DMA-Operation benutzt wird. Diese Überprüfung muß gemacht werden, um einen Verlust von Daten zu vermeiden, die mittels DMA übertragen werden und um zu vermeiden, daß mittels DMA Daten in falsche Gruppen von Speichermodulen eingeschrieben werden.
Speicherschutz
Wenn versucht wird, in dem arbeitenden Systembereich des Speichers etwas einzuschreiben, wird dies durch einen Speicherschutz verhindert, der die Folge der ablaufenden
409 8.4 9/0784
Vorgänge im System unterbricht, um dem arbeitenden System anzuzeigen, daß solch ein Versuch gemacht worden ist. Da es denkbar ist, daß BKS oder BSJ mit dem Arbeitsbereich des Speichers in Konflikt geraten oder diesen sogar ausschalten, ist beim dargestellten Ausführungsbeispiel eine Prüfung vorgesehen, ob eine für die Ausführung vorgesehene BSJ- oder BKS-Anweisung mit der Speicheroperation in Konflikt gerät. Wenn Speicherschutz vorhanden und freigegeben ist, wird eine versuchte BKS- oder BSJ-Anweisung unterbrochen und fallengelassen (über .das bereits in Verbindung mit der Stufenschalter-Operation beschriebene Signal MPV 180). Diese Unterbrechung wird durch das normale Unterbrechungssystem des Rechners dem Arbeitssystem zur Kenntnis gebracht. Der Rechner kann dann wählen, ob er die Unterbrechung ignoriert oder sie als Stufenschaltanforderung behandelt und kann weitere Prüfungen durchführen, um vor Ausführung einer Anweisung sicherzustellen, daß eine solche Ausführung sicher ist, oder ähnlich. Wenn Speicherschutz im System nicht vorhanden oder nicht freigegeben ist, wird die BKS- oder BSJ-Anweisung in normaler Weise ausgeführt, ohne daß es zu einem Zusammentreffen mit dem Signal MPV 180 kommt.
Modulsteuerungen
In Figur 16 ist eine physikalische Verwirklichung der Einrichtung dargestellt, mit der die Steuerungen 305 und die davon gesteuerten Module 301 bis 304 miteinander verbunden werden. In der bevorzugten Ausführungsform könnnen Steuerungen und Module beliebig miteinander vermischt werden, so lange mit einer gegebenen PCB 107 nur eine Steuerung verbunden ist. Die Module 301, 302, 303 und 304 brauchen von der allgemeinen Kommunikationssammelschiene (CCB) 108 auf der allgemeinen Verbindungsgrundplatte nur ihre Betriebsenergie zu ent-
409849/0784
nehmen (und den Einschaltzustand),so daß in einem erweiterten System die Bodenverbindung nur Energie (und den Einschaltzustand) für die Module abgeben muß, während die Sammelschiene PCB 107 Steuer- und Betriebssignale abgibt. In der bevorzugten Ausführungsform ist jedoch die Sammelschiene CCB 108 an jedem Modul-Pußanschluß vorgesehen, so daß in einen gegebenen Schlitz von CCB 108 entweder eine Steuerung 305 odW Speichermodule 301 bis 304 eingesteckt werden können. Figur 17 zeigt eine Anordnung mit mehreren Steuerungen 306, 307, bei welcher für jede Steuerung in den dargestellten Richtungen 311 und 312 eine Erweiterung möglich ist.
Die Sammelschiene PCB 107 kann flexible Flachkabel mit passenden Anschlüssen enthalten, die in Parallelschaltung entlang des Kabels angeordnet sind und an den Hilfseingängen 315, 316 der Steuerung 305 und der Module bis 304 usw. angebracht werden können, die in der Konfiguration enthalten sind. Alternativ dazu können mehrlagige gedruckte Schaltungen mit daran befestigten Verbindern in Kombination mit oder anstelle von flexiblen Flachkabelverbindungen oder konventionellen Kabeln verwendet werden.
409849/0784
Speicherzugriff über mehrfache Zugänge
Ein wichtiger Aspekt der vorlieaenden Erfindung besteht darin, daß nicht im logischen Adressenraum 31 der den Speicher benutzenden Vorrichtuna befindliche Speichermodule von anderen den Speicher benutzenden Vorrichtunaen aktiviert und benutzt oder geteilt werden können, wie in Fia. 9 dargestellt ist. Diese anderen Vorrichtunaen können Prozessoren 501, Vorrichtung für direkten Speicherzugriff (DMA) 501, 522, Kanäle für wahlfreien Zugriff (RAC) 502, 523, intelligente Vorrichtunassteuerungen (IDC) 519, 520 oder ähnliches sein. Fig. 9 und 19 zeigen ein vereinfachtes schematisch.es bzw. physikalisches Diagramm der Einrichtung zur Aktivierung von nicht im Adressenraum 31 einer geaebenen Vorrichtung befindlichen Speichermodulen.
Wenn der in Fig. 19 dargestellte Zugang 1 nicht aktiv ist, ist sein MEFF 400 nicht in Anspruch genommen und der Eingang 410 des Gatters 402 ist beaufschlagt(hoch). Das Eingangssignal 416 gibt somit das Feld von Gattern 4O4 für den Zugang 2 frei, um eine Steuerung und Benutzung des Speicherquantums 4O9 zu erlauben. Der Eingang 415 ist nicht beaufschlagt, da der Eingang 411 zum Gatter 413 nicht beaufschlagt ist. Das Ausgangssignal des Gatters 406 steht nicht an, wodurch der zugeordneten, am Zugana 1 angebrachten Steuerung angezeigt wird, daß dieser Modul bzw. dieses Quantum für die Benutzung nicht verfügbar ist. Jedoch können einige andere derselben Steuerung zugeordnete Module freigegeben werden und können ein Ausganassignal an ihren Gattern 406 (als logischer ODER-Ausgang) abgeben. Bezüglich des Gatters 413 ist zu beachten, daß, wenn der andere Eingang beaufschlagt ist (d.h. wenn MEFF 401 für Zugang 2 nicht geltend gemacht ist), das Ausgangssignal 415 das Gatterfeld 403 für Zugang freigibt und den Ausgang des Gatters 406 geltend macht (erniedrigt) , wodurch die zugeordnete Steuerung davon informiert wird, daß ein Speichermodul (oder eine Gruppe von Modulen) für die Benutzung durch die Vorrichtungen verfügbar ist,
409849/07 8 4
die von der an Zugang 1 angeschlossenen Vorrichtung eine Tätigkeit verlanaen.
Schalter 415 und 416 definieren die Arbeitsaufgaben der Zugänge. Der Schalter 416 ist in der Schaltstellung Ml dargestellt, und der Schalter 415 ist in der Schaltstellung S2 dargestellt. Dadurch wird festgelegt, daß der Zugang 1 in dieser Schaltstellung der Hauptzugang des gezeigten Speichermoduls ist und dementsprechend uneingeschränkten Zugriff zu ihm hat, während der Zugang 2 der Hilfszugang ist, über welchen der Speichermodul nur benutzt werden kann, wenn der Hauptzugang (Zugang 1) den Modul nicht beansprucht. Wenn die beiden Schalter 412, 415 aus den dargestellten Schaltstellungen in die entaegengesetzten Stellungen umgelegt werden, werden die Benutzungsprioritäten der beiden Zugänge vertauscht. Da die Sammelschiene PCB 107 für Zugang 1 der Sammelschiene PCB 108 für Zugana 2 entspricht, können die Schalter 412, 415 manuell oder automatisch (unter Programmsteuerung) in Stellung A (Sl, M2) oder B (S2, Ml) gebracht werden, je nach Erfordernis der Systemoperation. Diese Schalter können natürlich Flip-Flops sein, um einen programmierbaren Zugriff und eine programmierbare Manipulation ihrer Zustände zu ermöglichen, wodurch eine dynamische Aufgabenzuweisung vorgesehen wird.
Wie nun in Verbindung mit Fig. 13 und 14 beschrieben werden soll, kann bei einem Speichermodul mit zwei Zugängen im Betrieb der Zugang 1 als Hauptbenutzer und Zugang 2 als Hilfsbenutzer oder Benutzer mit niedrigerer Priorität geschaltet sein oder umgekehrt. Eine Steuerung der in Verbindung mit Fig. 13 beschriebenen Art kann an Zugang 1 angeschlossen sein, und eine gleichartige Steueruna (angeschlossen an getrennte, den Speicher benutzende Vorrichtungen) kann an den Zugang 2 ancreschlossen sein. Schalter 281 und 282 sind in den Stellunaen Ml und S2 dargestellt, und Schalter 283 und 284 sind beide in Stellung Ml dargestellt. Es sei angenommen, daß die Folae nach Einschaltung der Energiezufuhr abgeschlossen
409849/0784
ist und daß das MEFF 110 für Zugang 2 auf den Adressenraum der den Speicher benutzenden, dem Zugang 2 zugeordneten Vorrichtungen geschaltet worden ist und daß MEFF 250 für Zugang 2 aus dem Adressenraum der den Speicher benutzenden Vorrichtungen herausgeschaltet worden ist, welche seiner Steuerung zugeordnet sind. Da das MEFF 250 für Zugang 1 nicht gesetzt ist, wird sein nicht geltend gemachtes Ausgangssignal dem Verzögerungsnetzwerk 254 zugeführt, das in Fig. dargestellt ist. Das Ausgangssignal des Verzögerungsnetzwerks 254 wird daher nicht geltend gemacht und verhindert nicht die Beaufschlagung des Gatters 111 über Schalter 282. Der andere Eingang des Gatters 111 vom MEFF 110 wird beaufschlagt, da dieser Modul in den Adressenraum seiner den Speicher benutzenden Vorrichtung geschaltet worden war. Da der Hauptzugang 2 die Geltendmachung des Ausgangssignals des Gatters 111 nicht verhindert hat, wird der Eingang des Gatters 111 beaufschlagt, wodurch dessen Ausgangssignal geltend gemacht wird. Das Ausgangssignal des Gatters 111 beaufschlagt auch den Eingang zum Gatter 192, wodurch dessen Ausgangssignal geltend gemacht wird, was den Betrieb der Taktlogik freigibt, die aus Gattern 140 und 141 und Treibern 142 und 143 zusammengesetzt ist. Das Ausgangssignal des Gatters 112 gibt den Satz von Adressen-Puffergattern 113 und den Eingang 279 frei, dessen Ausgangesignal das Gatter 189 für die Übertragung des TAKT-Signals 504 zum Gatter freigibt. Das Ausgangssignal des Gatters 112 gibt auch das Gatter 196 frei und erlaubt diesem damit, daß Sianal AUSBLENDEN 221 zum Satz von Sammelschienen- Multiplexern 197 bis 201 des Zugangs 2 durchzulassen. Dadurch werden die Daten in die MDS-Sammelschiene 202 für Zugang 2 während einer Leseoperation ausgeblendet, wenn dies durch die Steuerung angefordert worden war. Das Ausgangssignal des Gatters 112 gibt auch eines der Eingänge zum Gatter 117 frei, und erlaubt damit den Durchgang des Lese/Schreib-Signals vom Zugang 2 zu den Speicherfeldern 146 und 147, falls aewünscht. Das Gatter 187 wird auch durch den geltend gemachten Ausgang des
409849/0784
Gatters 112 freigegeben, wodurch der Steuerung für Zugang 2 erlaubt wird, einen CE-Befehl 181 auszugeben und ihn zur CE-Logik zu übertragen, welche Gatter 134 und 136 für Zugang enthält. Diese Gatter übertragen unter den richtigen Bedingungen den CE-Befehl zu den Feldern 146 und 147. Die Speicheroperation kann daher wie bereits beschrieben fortschreiten,
und der Zugang 2 hat unbeschränkten Zugriff zu diesem Speicherist
modul. Es zu beachten, daß das NMAV-Signal für diesen Modul geltend gemacht ist (hoch), da das Ausgangssignal 289 des MEFF 250 nicht geltend gemacht ist und daher auch der Eingang zum Gatter 295 (über Schalter 291} nicht beaufschlagt ist. Jedoch kann ein anderer Modul an der dem Zugang 2 zugeordneten Sammelschiene PCB-284 NMAV 220 geltend machen, da dies ein logisches ODER-Ausgangssignal ist.
In der Folge von Operationen, die auftreten, wenn der Hauptzugang 1 die Speichersteuerung vom Hilfszugang 2 wegnimmt, wird erst in der weiter oben beschriebenen Weise eine BKS- oder BSJ-Anweisung von der den Speicher benutzenden Vorrichtung und der an Zugang 1 angeschlossenen zugeordneten Steuerung ausgeführt. Dadurch wird das Ausgangssignal 298 des MEFF geltend gemacht und der Verzögerungszeitgeber 254 gestartet, der das ihm zugeführte Eingangssignal 298 um eine Zeitspanne t verzögert (wobei ein Speicherzyklus £ t £ 1,5 Speicherzyklen). Das andere Ausgangssignal des MEFF 250 ist zurückgenommen worden, wodurch auch das Eingangssignal des Gatters 115 über den Schalter 290 zurückgenommen wird. Dadurch wird das Signal NMAV zu der an Zugang 2 angeschlossenen Steuerung (über PCB 107) gegeben. Diese Signalgabe an die Steuerung (Fig. 13) bewirkt, daß sich die Betriebsart des Zeitgabegenerators 114 ändert. Wenn NMAV dem Zeitgabegenerator 114 zugeführt wird, erlaubt es den Abschluß der laufenden Speicheroperation (sofern eine solche erfolgt) und bewirkt, daß die nächste Speicheroperation festgehalten wird (sofern es sich nicht um BSj, BKS oder BSE handelt). Dies wird durch Eintakten der Adresse in das Adressenregister 168, durch Takten der
409849/0784
Daten in das Datenregister 203, durch Geltendmachung von MEM BSY 176,.durch Nichtgeltendmachung von SPEICHER BALD AUSSER BETRIEB 179 und durch Gesetzthalten des Lese-Flip-Flops 1Ö5 oder des Schreib-Flip-Flops 106 erreicht. Dieser Zustand wird beibehalten, bis der Hauptprozessor den angeforderten Speichermodul aufgibt. Durch die Gabe des Signals NMAV wird der Zeitgabegenerator 114 davon in Kenntnis gesetzt, daß dies stattgefunden hat. Inzwischen, vervollständigt auf dem Speichermodul der Verzögerungs-Zeitgeber 254, der den Abschluß des laufenden Speicher-Zyklus ermöqlichte, die Verzögerungszeit und beaufschlagt den Eingang des Gatters 251, welches dementsprechend das Eingangssignal des Invertier-Gatters 255 und des Gatters 259 bildet. Die Ausgangssiqnale dieser beiden Gatter werden Gattern zugeführt, die symmetrisch zu denen sind, welche zur Freigabe des Zugangs 1 benutzt werden. Der Zugang wird zu diesem Zeitpunkt gesperrt, da das Ausgangssignal des Gatters 251 über den Schalter 282 dem Einqang des Gatters zugeführt wird. Dies führt zu einer Rücknahme des Ausgangssignals des Gatters 111 (hoch) und des Ausgangssignals des Gatters 112 (tief), wodurch der Zugang 1 gesperrt wird (ausgenommen für BSE-, BKS- und BSJ-Zwecke) . Andererseits hat der Zugang 2 gerade die Benutzung des Moduls erlangt. Die erste Aktion (als Teil der BSJ- oder BKS-Anweisung) ist die Ausführung eines Erneuerungszyklus bei dem neuerlangten Speichermodul (wie es bei diesem Speichertyp erforderlich ist). Der Zeitgabegenerator 114 wurde durch das Ausgangssignal des Gatters informiert, das eine BKS- oder BSJ-Anweisung ausgeführt wurde und stellt sofort zwei Speicherzyklus-Perioden auf und gibt dann, wie bereits beschrieben, die Erneuerungsfolge ab. Diese Erneuerungsoperation wird für erneuernde Speicher benötigt, um sicherzustellen, daß ein zwischen zwei Steuerungen hin- und hergeschobener Modul wegen des Fehlens einer adäquaten Erneuerungsoperation nicht seine Information verliert. Da sich die Erneueruna unter der Leitung der Steuerung befindet, die auch den Speichermodul steuert, muß die Erneuerungssteuerung von einem Zugang zum anderen durchgelassen werden. Dies wird durch Gatter 160, 159, 132, 158, 131, 155, 156
409849/0784
sowie durch einen Schalter 133a durchgeführt. Wenn, wie es im Falle dieses Beispiels ursprünglich der Fall war, der Zugang 2 die Steuerung des Speichermoduls hatte, wird der Eingang P zum Gatter 159 nicht beaufschlagt und das Gatter 159 somit nicht angesteuert. Der Eingang O zum Gatter 158 wird beaufschlagt, wodurch dem Signal ERNEUERN 126 erlaubt wird, die Ausgangssignale der Gatter 158 und 132 geltend zu machen, wodurch die Erneuerung unter Leitung der Steuerung gesteuert wird. Wenn nun der Zugang 2 die Steuerung des Moduls übernimmt, wird der Eingang P beaufschlagt und O nicht beaufschlagt. Dementsprechend wird das Gatter 158 gesperrt, und das Gatter 159 wird freigegeben, um dem Ausgangssignal des Gatters 160 (M ERNEUERN 2) 299 zu folgen, wodurch die Erneuerung unter der Leitung der anderen Steuerung gesteuert wird.
Es gibt eine mögliche Schwebebedingung, bei der beide Zugänge 1 und 2 gesperrt sind. In diesem Fall muß die Erneuerung noch aufrechterhalten werden, was die Gatter 155, 156, 157 sowie der Schalter 133a möglich machen. Wenn beide Eingänge O und P nicht beaufschlagt (hoch) sind, werden zwei Eingänge des Gatters 156 beaufschlagt. Wenn der Schalter 133a sich in der Position P2 befindet, wann immer über Zugang 1 erneuert wird, wird das Gatter 157 angesteuert und gibt sein Ausgangssignal ab. Dadurch gibt auch der Inverter sein Ausgangssignal ab, das dem Gatter 13 2 zugeführt wird und so den Zugang 1 veranlaßt, diesen Modul zu erneuern, selbst wenn er nicht freigegeben ist. Der Schalter 133a erlaubt es, entweder den Zugang 1 oder den Zugang 2 als zurückgestellten Erneuerer dieses Speichermoduls auszuwählen.
Wie in der vorstehenden Beschreibung dargelegt worden ist, erlaubt die vorliegende Erfindung den Durchlaß der Steuerung für einen Speichermodul von einem Zugang zum anderen und die Teilung des Moduls in einer Haupt-Hilfs-Beziehung (masterslave). Die Rollen von Zugang 1 und Zugang 2 können durch
409849/0784
Umlegen der Schalter 281, 282, 283, 284, 290 und 291 vertauscht werden. Diese Schalter sind fünfpolig mit zwei Schaltstellungen. Ans.telle von Zugang 1 kann Zugang 2 zum zurückgestellten Erneuerer gemacht werden, indem der Schalter 133a umgestellt wird. Es ist auch zu beachten, daß wegen der getrennten Konfigurationssätze für den einen Zugang (170-176) und den anderen Zugang (258, 259, 295) die beiden Zugänge für diesen oder einen anderen Speichermodul beide die gleiche von verschiedenen Adressen (d.h. Steuerungsadressen) haben können.
Die Tatsache, daß demselben Speichermodul verschiedene Adressen zugeordnet werden können, macht eine andere An- ' wendung der vorliegenden Erfindung möglich, wie sie in Fig. 15 dargestellt ist. Im dargestellten System ist es nützlich, wenn die Adressen von Information leicht und schnell ausgetauscht werden können. Dieser Prozess wird Relokation genannt. Relokation findet in diesem System dadurch statt, daß der gesamte Modul mittels Stufenschalter zu einem anderen Platz geschaltet wird. Das heißt, wenn die Information im Modul 805 am Platz 806 benutzt werden soll, wird durch die Steuerung 8O9 eine BKS-Anweisung ausgeführt, um den Modul 805 in den von der Steuerung 809 besetzten Adressenraum zu bringen. Dann wird durch die Steuerung 807 eine Stufenschaltung ausgeführt, um den Modul 806 in den durch die Steuerung 807 besetzten Speicherraum zu bringen. Auf diese Weise tauschen die beiden Module im Adressenraum ihre Plätze, und das gleiche geschieht mit der in ihnen enthaltenen Information. Dieser Platztausch der Module im verfügbaren Speicherraum kann auch erreicht werden, wenn Module von verschiedener Größe und Speichertechnologie verwendet werden. Durch Ersatz der Schalter 173, 174, 195 durch unter Programmsteuerung setzbare Flip-Flops kann eine dynamische Zuweisung der Moduladresse bewirkt werden.
409849/0784
Eine physikalische Realisierung eines Abschnitts eines geteilten Speichers ist in Fig. 35(a) bildlich dargestellt. Die Steuerung 915 ist die Hauptsteuerung für die Module und 931 und ist die HilfsSteuerung für den Modul 227. Eine an den Modul 927 über PCB 935 angeschlossene, den Speicherbenutzende Vorrichtung ist führend, und die an die Module 929 und 931 über PCB 934 angeschlossene Vorrichtung ist untergeordnet. Die physikalische Realisierung verdeutlicht die Einfachheit der Verbindung von drei den Speicher erteilenden Vorrichtungen untereinander und der drei von ihnen geteilten Module.
In der vorliegenden Erfindung ist die Steuerung der Speichermodule getrennt von der Steuerung des Systemspeichers im allgemeinen, und dies wird durch Trennung der zugeordneten Steuersammeischienen in zwei separate Kategorien erreicht, wie bereits beschrieben worden ist. Die CCB verbindet die Steuerungen und die den Speicher benutzenden Vorrichtungen, trägt Steuerinformation für das Speicher - Untersystem und erlaubt außerdem den Durchgang von Daten vom Speicher-Untersystem zu und von den den Speicher benutzenden Vorrichtungen. Die Sammelschiene PCB andererseits ist logisch und physikalisch von der Sammelschiene CCB getrennt und arbeitet als eine Steuerungs- und Datensammelschiene zwischen den Speichermodulen und den diesen zugeordneten Steuerungen. Da diese Sammelschienen voneinander getrennt sind, erlauben sie das Zusammenschalten von verschiedenen Speichertechnologien zu der bereits definierten Spelchersteuerungs-Zusammenschaltung. Zum Beispiel können die in Verbindung mit Fig. 14 erwähnten MOS-Module durch Kernspeicher-Module ersetzt werden, indem einige der in den Modul eintretenden Signale geändert werden und indem bekannte Anpassungseinrichtungen vorgesehen werden. Bekannte Pegelumwandler, Stromtreiber und Erfassungstechniken können eingesetzt werden mit einem Zeitgabe-Generator 114, der passend für die Zeitgabe von Kernspeichern modifiziert ist. Erneuerungssteuerung und Synchronisationsfunktionen 118,
409 849/0784
die für Kernspeicher nicht benötigt werden, können weggelassen werden. Der Lese/Schreib-MQS-Speicher kann durch einen Festwertspeicher (ROM) ersetzt werden oder mit einem solchen kombiniert werden, indem einfach die gesamte Schreibund Erneuerungsschaltung weggelassen wird. Es ist daher zu betonen, daß wegen der getrennten Sammelschienen CCB und PCB es möglich ist, nahezu alle bekannten Speichertypen innerhalb des.durch die vorliegende Erfindung geschaffenen Speicherraums zusammenzuschalten. Sogar verschiedene Typen von erneuernden Speichern können innerhalb eines Systems aneinander angepaßt werden. Wie in Fig. 13 gezeigt ist, kann das Signal ERNEUERN 129 entweder von der gezeigten Steuerung erzeugt werden, wodurch die Sammelschiene CCB angesteuert wird (wenn das Gatter 128 sich im Steuerzustand "Erneuern" befindet) und alle Speicher im System veranlaßt werden, sich gleichzeitig zu erneuern, oder dieses Signal kann unter der Leitung einer anderen Steuerung erzeugt werden (wenn diese sich in der untergeordneten Erneuerungsposition befindet). Da-jede Steuerung die Steuerung des Signals SPEICHER IN BETRIEB 176 und SPEICHER BALD IN BETRIEB 179 J13^. ist der Speicher, der bei der Ausführung seiner Er neuerung am langsamsten ist, der letzte, welcher die über logische ODER-Glieder verknüpften Leitungen freigibt und legt damit die Zeit fest, die eine Erneuerung benötigt. So würde der Speichertyp, der am häufigsten eine Erneuerung benötigt, in die SteuerungsErneuerungsposition gestellt, und der Typ, der am längsten für die Erneuerung braucht, würde die Zeitdauer bestimmen, während der der Speicher in Betrieb bleibt. Für den Betrieb im Zusammenhang mit der vorliegenden Erfindung konstruierte Prozessoren gehen in die Wartestellung bis zur Rückkehr des Signals SPEICHER BALD FERTIG 179, worauf die Prioritätsfestlegung für den nächsten Zyklus beginnt. Jede Art von Speicher, egal ob langsam oder schnell, ob bit-seriell, block-seriell, DRO oder NDRO, rotierend oder sonstiges kann in Verbindung mit den Sammelschienen CCB und PCB benutzt werden, die so
409849/0784
konstruiert sind, daß sie auf die speziellen Erfordernisse solcher Speichertypen Rücksicht nehmen. Das mit dem Erfordernis verschiedener Versorgungsspannungen der verschiedenen Speichertypen verbundene Problem kann leicht dadurch gelöst werden, daß der Speicher und seine Stromversorgung separat verpackt wird und daß die Masse eines solchen gepackten Moduls mit der Gemeinsamen Masse des Systems verbunden wird. Die Universalität getrennter Sammelschienen CCB -und PCB für Speicheroperation und -steuerung erlaubt daher eine wesentliche Flexibilität im Speicherbetrieb, eine Mischung von verschiedenen Arten von Speichertechnologien und eine Teilung gemeinsamer Speichermodule unter mehreren den Speicher benutzenden Vorrichtunaen.
Es fet auch zu beachten, daß die sich in der Schwebe befindlichen Operationen (z.B. die verarbeitenden Speicher), die bei der Diskussion des Stufenschaltens erwähnt wurden, nach wie vor in die geteilte Speicherumgebung passen, mit der Ausnahme, daß nun für den Beginn der Operation zwei Zugänge im Gegensatz zu einem inaktiv sein müssen, oder der Modul über die bereits beschriebene Steuerstruktur gesteuert werden kann, um seine Operation zu beginnen und bis zu deren Vervollständigung beide Zugänae zu sperren. Die die Neudefinition des Steuermechanismus in Verbindung mit der Stufenschaltung betreffenden obigen Aussagen gelten auch im Hinblick auf geteilte Speicher mit vielfachen Eingängen, wodurch z.B. eine direkte Kommunikation zwischen den den Speicher feilenden Vorrichtungen durch diesen Steuermechanismus möglich ist. Diese Struktur ermöglicht Berichte über den Fortgang von dem untergeordneten Prozessor oder Aktualisierungen der Programme des Hauptprozessors durch den untergeordneten Prozessor, bzw. umgekehrt. Dieser Steuermechanismus kann auch benutzt werden, um eine Ausschlußbedingung zu schaffen, durch die der Hauptprozessor daran gehindert wird, unter den vorgeschriebenen Bedinaungen den Speichermodul vom untergeordneten Prozessor wegzunehmen.
40S849/0784
Es ist auch zu beachten, daß mehr als zwei Zugänge bei einem gegebenen Speichermodul entsprechend der vorliegenden Erfindung möglich sind. Obwohl die dargestellte Ausführungsform nur zwei Zugänge aufweist, kann die Schaltuna jedes Zugangs bei Bedarf mit geringfügig größerem Kostenaufwand verdoppelt werden, um drei, vier oder mehr Zugänge an jedem Speichermodul vorzusehen.
Eine andere nützliche Anwendung des durch diese Erfindung geschaffenen Speichers mit zwei Zugängen besteht darin, daß ein Zugang an eine Vorrichtung wie einen digitalen Kassettenrekorder o.a. angeschlossen werden kann, der den Inhalt des Speichermoduls aufzeichnet, an den er angeschlossen ist, wenn er entsprechend aktiviert wird (z.B. PON 101, die Anzeige für einen Energieausfall). Dadurch wird es möglich, die Bereitstellung von Hilfsenergie für nichtbeständige Speicher (d.h. solche die ohne Energiezufuhr nicht ihre Information halten können) auf einige wenige Minuten zu beschränken. Ein solcher Rekorder kann auch als Massenspeicher benutzt werden oder als die Vorrichtung, die den Speicher nach Einschaltung des Systems zunächst mit Information lädt.
In Fig. 9 sind verschiedene Operationsmöglichkeiten von unabhängigen mehrfachen über- und untergeordneten Zugängen gemäß der vorliegenden Erfindung dargestellt. Zusätzliche mögliche Mehrfachzugang-Operationen gemäß der vorliegenden Erfindung sind den Fig. 25 bis 35 dargestellt. Ein Prozessor 500, ein DMA 501 und ein RAC 502 weisen eine Gruppe von den Speicher benutzenden Vorrichtungen auf, die einen unmittelbaren Adressenraum haben mit einem durch die Steuerung 507 gesteuerten 16K-Wort-Segment 504, einem durch die Steuerung 508 (wenn IDC 509 sie nicht benutzt) gesteuerten 8K-Wort-Segment 511, einem durch die Steuerung 509 gesteuerten 4K-Seg_ment 540 und einem durch die Steuerung 510 gesteuerten 4K-Segment 515. Der Bereich des Speichers
4098 4 9/0784
541 stellt die Module dar, die innerhalb des Adressenraums der den Speicher benutzenden Vorrichtungen 500, 501 und 502 aktiv (anwesend) sind. Die durch diese Vorrichtungen 500, 501 unf 502 geführten Module sind auf den Sammelschienen PCB 535, 536, 540 und 539 mit einem Index M gekennzeichnet. Die Sammelschienen PCB 535, 536, 540 und 539 sind den Steuerungen 507, 508, 509 und 510 zugeordnet, welche über die Sammelschiene 529 an die den Speicher benutzenden Vorrichtungen 500, 501 und 502 angeschlossen sind. Es ist zu beachten, daß dieser Satz von den Speicher benutzenden Vorrichtungen die Führung über alle in seinem Adressenraum 541 und in seinem erweiterten Adressenraum 544 befindlichen Module hat, mit der Ausnahme der Module 511 und 512, denen dieser Satz untergeordnet ist. Das bedeutet, daß die den Speicher benutzenden Vorrichtungen 500, 501 und 502 unbeschränkten Zugriff zu allen verfügbaren Speichern mit Ausnahme der Module 511 und 512 haben. Die Module 511 und 512 werden durch die Steuerung 545 und das damit über PCB 538 verbundene IDC 519 geführt. IDC 519 steuert zwei Speicherplatten 519 und 528 und kann Befehle von der Eingabe/Ausgabe-Einheit 503 des Satzes von Vorrichtungen 500, 501 und 502 empfangen. IDC 520 ist den Modulen 513 und 514 untergeordnet, die ihrerseits den Vorrichtungen 500, 501 und 502 untergeordnet sind. IDC 519 empfängt Befehle von der Eingabe/Ausgabe-Einheit 503. Die Speichermodule 504, 505 und 506 sind der Steuerung 530 untergeordnet, die über CCB 550 mit den den Speicher benutzenden Vorrichtungen 521, 522 und 523 verbunden ist. Es ist zu beachten, daß die Vorrichtungen 521, 522 und 523 eine zusätzliche Steuerung 551 und einen hinzugeordneten 8K-Speichermodul 525 haben, der diese führt. Es ist auch zu beachten, daß die Eingabe/Ausgabe-Einheit 524 eine Kommunikationsverbindung 532 hat, um Information zu und von der Eingabe/Ausgabe-Einheit 503 durchzulassen und es so den Vorrichtungen 500, 501 und 502 zu ermöglichen, mit den Vorrichtungen 521, 522 und 523 über Eingabe/Ausgabe-Übertragungen zwischen den Prozessoren 500
409849/0784
und 521 in Kommunikation zu treten. Dies ist eine notwendige Bedingung, damit die Prozessoren nicht miteinander in Konflikt geraten.
Es sei angenommen, daß bei der Anordnung nach Fig. 9 das Programm des führenden Systems sich in den Modulen 540, 515, 516 und 518 befindet. Die Routinen in Modul 540 sollen für das System unmittelbar verfügbar bleiben. Dieser Modul ist daher so angeordnet, daß er ständig im Adressenraum 541 verbleibt. Die Routinen in den Modulen 515, 516 und 518 können von weniger dauerhafter Art sein als die im Modul 540, müssen aber innerhalb einiger AusführungsZeitspannen für Anweisungen immer verfügbar sein. Daher werden sie einer Steuerung 540 unterstellt und können im Adressenraum 541 während der AusführungsZeitspanne einer BKS- oder. BSJ-Anweisung lokalisiert werden. Die Information in Modul 511 und 512 stammt von den Platten 528, 527 oder ist hier wie in einem Pufferbereich für die Übertragung zu den Platten 527, 528 oder zum IDC 519 in Szene gesetzt. Die in den Modulen 513 und 514 enthaltene Information stammt von dem Analog/Digital-Konverter (ADC) 526 über IDC 520 her oder kann hier für die Übertragung nach IDC 520 in Szene gesetzt werden. Diese Module 513, 514 bilden daher einen Pufferbereich, in dem die durch die Analog/Digital-Umwandlung-erhaltene Information gespeichert wird, d.h. für die Weitergabe zu den Vorrichtungen 500, 501 und 502 zur passenden Verarbeitung bereitgestellt wird. Wenn mehrere Prozessoren oder IDCs mit verschiedenen Aufgaben innerhalb des Meßsystems an die Module 513 und 514 angeschlossen sind, kann die Information an einem Ende der Datenleitung gesammelt und im Massenspeicher am anderen Ende in endgültig verarbeiteter Form gespeichert werden, wie in Fig. 27 genauer dargestellt ist. Der ADC 612 wandelt die on einer Quelle 611 erhaltene analoge Information um und legt das digitale Äquivalent im Speichermodul 614 ab. Wann der Speichermodul 614 voll ist, überträgt IDC 612 die ankommende Information in den Speichermodul 615 und
409849/0784
zeigt dem Prozessor 622 über die gemeinsame Verbindung und die Eingabe/Ausgabe-Einheit 623 an, daß eine Aufgabe vorhanden und in Modul 614 verfügbar ist, worauf der Prozessor 619 und der Prozessor 622 (über RAC 621) mit der Verarbeitung der im Modul 614 befindlichen Information durch ein Modul 626 gespeichertes Programm beginnen, ohne mit den Speicheranforderungen des IDC 613 in Konflikt zu geraten. Bei richtiqer Programmierung ist die Aufgabe im Modul 614 beendet, bevor die Füllung des Moduls 615 beendet ist. Wenn die Aufgabe abgeschlossen ist, wird sie auf der Platte 625 für zukünftige Bezugnahme gespeichert. Nun wird die Füllung des Moduls 615 abgeschlossen und der Prozess wiederholt sich mit Modul 616 bzw. 615, mit dem Ergebnis, daß die Prozessoren 619 und 622 ununterbrochen arbeiten können, um die eingehenden Daten zu verarbeiten. Es sei jetzt noch einmal auf die Fig. 9 Bezug genommen. Die Speichermodule 504, 505 und 506 werden zwischen den den Speicher benutzenden Vorrichtungen 500, 501 und 502 sowie den Vorrichtungen 521, 522 und 5 23 geteilt und können Information (Programme und Daten) enthalten, die von einer den Speicher benutzenden Vorrichtung erhalten wird und von einer anderen benutzt wird, bzw. umgekehrt. Die Information im Modul wird von den Vorrichtungen 521, 522 und 523 öfter benutzt als von anderen den Speicher benutzenden Vorrichtungen im System und wird daher nicht geteilt.
Es sei angenommen, daß im Betrieb die Vorrichtungen 500, 501 und 502 für einen Benutzer 564 über ein Terminal 560 ein langes Programm ablaufen lassen. Es sei angenommen, daß das Programm sich im Modul 504 befindet. Ein Benutzer 563 am Terminal 562 kann verlangen, daß von dem ADC 526 an der im Test befindlichen Einheit 570 eine Reihe von Messungen ausgeführt wird. Diese Anforderung wird über die Kommunikationsverbindung 561 und die Einaabe/Ausgabe-Einheits 503 geleitet. Das Programm, das diese Anforderung ausführt,
409849/0784
befindet sich im Modul 516. Die Anforderung wird daher an Modul 540 gerichtet, der eine weiter oben beschriebene Stufenschaltung ausführt und dabei den Modul 515 durch den Modul 516 ersetzt. Das Programm in Modul 516 gibt die passende Information für IDC 524 an den Prozessor 521 ab. Nach Erfüllung seiner Aufgabe schaltet das in 540 befindliche Programm den Modul 516 in einen Schwebezustand und reaktiviert den Modul 515, indem es eine BSJ-Anweisung ausführt und dadurch das Benutzerprogramm reaktiviert, welches genau dort fortfährt, wo' es verlassen worden war. Die Anforderung einer Meßreihe durch den zweiten Benutzer mittels des ADC 526 wird nun entsprechend dem Programm für den Prozessor 521 behandelt, welches sich in dem nicht schaltbaren Modul 525 befindet. Dem IDC 520 wird über die
Eingabe/Ausgabe-Einheit 524 die passende Steuerfolge gegeum
ben,/die angeforderte Meßreihe in Gang zu setzen.
Der Speichermodul 513 ist zu diesem Zeitpunkt nicht in Benutzung, und es ist auch nicht geplant, ihn zu benutzen. Der Prozessor 521 wird davon über die gemeinsame Verbindung 532 zwischen ihm und den den Speicher benutzenden Vorrichtungen 500, 501 und 502 benachrichtigt. Dem IDC 520 kann so die Benutzung des Speichenabduls 513 zugewiesen werden, und er kann beginnen, die zugewiesene Meßreihe aufzunehmen. Gleichzeitig kann das Programm des Benutzers 564 unter Umständen in der Speicherplatte 528 gespeicherte Information benötigen. Der Prozessor 500 setzt IDC 519 über die Eingabe/ Ausgabe-Einheit 503 und den Steuerweg 531 auf, um die benötigte Information in den Speichermodul 511 zu übertragen. Da der Modul 511 dem IDC 519 untergeordnet ist, führt dieser die Steuerung entsprechend einer BKS-Anweisung aus und überträgt die angeforderte Information in den spezifizierten Bereich des Speichermoduls 511. Es ist zu beachten, daß die von ADC 526, IDC 520 und Speichermodul 513 sowie von den
409849/0784
Vorrichtungen 500, 501 und 502 ausgeführten Operationen nicht miteinander in Konflikt geraten. Eine zum Aufeinandertreffen führende Bedingung tritt auf, wenn beide den Speicher benutzende Vorrichtungen versuchen, den Modul 513 zu benutzen, wie weiter unten beschrieben wird. Wenn dementsprechend von den den Speicher benuztenden Vorrichtungen 500, 501 und 502 verlangt wird, ein anderes Programm für einen anderen Benutzer, z.B. 571 am Terminal 570, auszuführen, so könnte dieses andere Programm ausgeführt werden, während die Programme der Benutzer 564 und 563 gerade ablaufen. Alle drei Programme laufen dann gleichzeitig ab, ohne sich wesentlich zu stören. Dies stellt eine wesentliche Verbesserung gegenüber der konventionellen Situation bei drei Benutzern dar, wo die Speicherkapazität zu einer bestimmten Zeit einem bestimmten Benutzer zugeteilt werden muß.
Es sei nun angenommen, daß die Meßreihe des zweiten Benutzers abgeschlossen ist. IDC 520 beendet die Operation und führt eine BKS-Anweisung aus, um den Modul 513 freizugeben und den Prozessor 521 und daraufhin (über die Kommunikationsverbindung 532 und die Eingabe/Ausgabe-Einheit 503) auch den Prozessor 500 vom Abschluß der zugewiesenen Aufgabe zu benachrichtigen.
409849/0784
Der Prozessor 500 setzt dann den zweiten Benutzer 563 über die Eingabe/Ausgabe-Einheit 503, die Kommunikationsverbindung 561 und das Terminal 562 in Kenntnis, daß diese Aufgabe abgeschlossen ist. Der Benutzer 563 kann dann seifte Meßreihe auf der Platte 528 oder 527 speichern lassen und/oder ihre weitere Verarbeitung durch den Prozessor 500 anfordern.
Wenn mehr Benutzer oder schnellere Vorrichtungen dem bisher beschriebenen System hinzugefügt werden, vermindert sich die Verfügbarkeit der vorhandenen Speicher, und eine größere Speicherkapazität wird erforderlich. Die vorliegende Erfindung erlaubt es, mehr Prozessoren, IDCs, DMAs, RACs und natürlich auch Speichermodule mit nahezu völliger Freiheit bei der Auswahl der Typen und Anzahl dieser Elemente und ihrer Verbindungen hinzuzufügen. Bezeichnet man mit N die Zahl der Speichermodule im Adressenraum, dann ist N'-M die Anzahl der unabhängigen, nicht miteinander in Konflikt geratenden Vorrichtungen, die gleichzeitig in diesem geteilten Adressenrauin arbeiten können, wobei M die Anzahl der Module ist, die sich zu einer bestiH»- ten Zeit im Adressenraum des Hauptbenutzers befinden. Dementsprechend erlaubt ein System mit 256 Speichermodulen von je 4K Worten, von denen 8 Module dauernd im Hauptadressenraum sind, z.B.die -Teilung zwischen 248 unabhängigen Vorrichtungen. Wenn die 8 sich im Hauptadressenraum befindenden Module dort nicht die ganze Zeit verbleiben müssen, ist sogar eine Teilung' unter mehr Vorrichtungen möglich. Bei einem bestimmten Ausdehnungszustand und Teilungsfortschritt kann die Verwaltung der Speicherkapazität für den Programmierer oder Benutzer des Systems zu mühsam werden. Die Verwaltung der Speicherkapazität kann dann einem speziellem Prozessor oder einer Steuerung übertragen werden.
40984 970784
Dies kann dadurch erreicht werden, daß ein Prozessor zum Führer aller Speichermodule gemacht wird und daß diesem Prozessor eine Steuerung über einen externen Speicher (z.B. mehr Mägnetplatten des in Figur 9 gezeigten Typs)zugeordnet wird und daß ihm eine Zweirichtungs-Kommunikationsverbindung zugeordnet wird,über die alle Anforderungen für Speicherzuweisungen an spezielle Benutzer übertragen .werden. Durch passende Programmierung kann dann festgelegt werden, welche Speic-hermodule dann zu welcher Zeit, für welche Benutzung und für wie lange zugeteilt werden. Das Ergebnis davon ist daß in Figur 20 dargestellte virtuelle Speichersystem.
Es wird angenommen, daß in dem in Figur 20 dargestellten virtuellen Speichersystem ein Benutzer, sagen wir Nummer 1, aktiv wird und dem Prozessor 6Ol anzeigt, daß er eine mit XYZ bezeichnete Datei hat, die er zu benützen wünscht. Der Prozessor 601 übersetzt die Adresse in ein Universal~Format und nimmt Zugriff zu der auf der Magnetplatte 607 gespeicherten Information. Der Prozessor 605 wird über die Kommunikationsverbindung 608 und über seine Eingabe/Ausgabe-Einheit 606 benachrichtigt, holt die gewünschte Information von der Platte 607 und gibt sie in die Speichermodule, die für den Prozessor verfügbar sind und zeigt dann an, wo das Programm (oder die Daten) beginnt. Er kann auch andere zweckmäßige Parameter anzeigen.
Im Hinblick auf die beschriebene Über-/Unterordnungsbeziehung empfängt im Falle, daß ein Prozessor, der einem Speichermodul untergeordnet ist, welchem ein anderer Speichermodul zugeordnet ist, versucht, zu diesem Modul Zugriff zu nehmen, während der übergeordnete Prozessor gerade die Steuerung über ihn hat, die Steuerung des untergeordneten Prozessors das NMAV-
409849/0784
Signal vom Ausgang der Gatter 405 oder 406 (Figur 9). Das führt dazu, daß die Speicheranforderung in der Schwebe bleibt. Das bedeutet, daß die interessierende Adresse, die Operationsart (d.h. Lesen oder Schreiben) und die Daten (im Falle von Schreiben) festgehlaten werden und daß ein solcher Prozessor über die Signale SPEICHER IN BETRIEB 176 und SPEICHER BALD AUßER BETRIEB 179, benachrichtigt wird, daß der Speicher gerade in Betrieb ist. Der Speicher bleibt in Betrieb, bis der übergeordnete Prozessor den interessierenden Speichermodul an dessen untergeordneten Prozessor freigibt, so daß der in der Schwebe befindlichen Anforderun nachgekommen werden kann. Im vorstehenden ist nur eine Methode, d.h. die des bevorzugten Ausführungsbeispiels beschrieben, welches zur Lösung von Konflikten bei über -und untergeordneten Prozessoren benutzt werden kann. Es ist aber klar, daß auch andere, auf anderen Prioritäten beruhende Methoden zur Lösung solcher Konflikte benutzt werden können.
Es ist aber zu beachten, daß mit der Möglichkeit, einen untergeordneten Prozessor in der Schwebe zu halten, der übergeordneten Prozessor die Option auf eine Änderung der Information hat und daß der untergeordnete Prozessor bei deren Freigabe mit einem neuen Programm oder mit anderen Daten im selben Programm fortfahren kann. Bei anderen Methoden, die auch benutzt werden können, kann die Steuerung den Prozessor am untergeordneten Zugang unterbrechen und ihn damit informieren, daß die angeforderte Operation nicht vollendet wird, Daraufhin hat der untergeordneter Prozessor die Option, a) seine Anforderung aufrechtzuerhalten und warten, bis der übergeordneter Prozessor den Speichermodul freigibt oder b) die Anforderung zurückzuziehen und zu einer anderen Operation überzugehen.
409849/0784
In Figur 25 ist eine einfache Anwendung eines zwischen einer Gruppe von Vorrichtungen (MUS 1) 2550 und eine andere Gruppe von Vorrichtungen (MUS 2) 2560 geteilten Speichers dargestellt. Jede dieser den Speicher benutzenden Gruppen enthält einen,Prozessor 2501 bzw. 2505, einen Kanal für direkten Speicher zugriff (DMA) 5502 bzw.' 5506 sowie einen Kanal für wahlfreien Zugriff (RAC) 2503 bzw. 2507. Die einzelnen. Elemente der Gruppe 2550, die von anderer Art sein können als die weiter oben beschriebenen den Speicher benutzenden Vorrichtungen, stehen alle über die Sammelschiene CCB mit Steuerungen 2509, 2510 und 2511 in Verbindung. Die Steuerung 2509 hat über die Sammelschiene PCB 2530 Zugriff zu den Modulen 2521, 2522, 2523, und 2524, von denen jeder einen 8K-Wort-Speicher enthält. Die Steuerung 2510 hat über die Sammelschiene PCB 2529 Zugriff zu den Modulen 2517 und 2518,und die Steuerung 2511 hat über PCB 2528 Zugriff zum Modul 2516. Die Gruppe 2560 steht über die Sammelschiene CCB mit den Steuerungen 2512, 2513 und 2514 in Verbindung. Die Steuerung 2512 hat zu den gleichen Modulen 2524, 2523, 2522 und 2521 Zugriff, wie die Steuerung 2509, jedoch über einen anderen Signalzugang. Die Steuerung 2513 steht über die Sammelschiene PCB 2526 mit den Modulen 2520, 2519 und 2518 in Verbindung, und die Steuerung 2514 steht über PCB 2527 mit dem 16K-Speichermodul 2515 in Verbindung. Die vorgestellten Buchstaben S bzw. M in den Bezeichnungen der Signalzugänge zeigen an, ob die Signal Zugänge einen untergeordneten bzw. übergeordneten Status haben, wie es bereits beschrieben worden ist. So ist die Steuerung 2512 den Modulen 2521 bis 2524 untergeordnet, während die Steuerung 2513 den Modulen 2519 und 252O übergeordnet ist, jedoch dem Modul 2518 untergeordnet ist.
Die Gruppe 2550 kann einen Prozessor 2501 für allgemeine Zwecke enthalten, während die Gruppe (MUS) 2560 einen
409849/0784
Prozessor 2505 für spezielle Anwendungen enthalten kann. Wenn z.B. MUS 2560 besonders für arithmetische Gleitkomma-Operationen geeignet ist und MUS 2550 eine verarbeitende Gruppe für allgemeine Zwecke ist,, kann eine lange arithmetische Gleitkomma-Operationen erfordernde Prozedur zur Gruppe CMUS) 2560 übertragen werden, indem das erforderliche Programm z.B. zum Modul 2521 übertragen wird, so daß die Steuerung 2512 die Operation steuern kann. Dies erfordert natürlich eine gewisse Kommunikation zwischen den beiden Eingabe/Ausgabe-Einheiten 2504 und 2508 in der Weise, daß die Steuerinformation über die erforderliche Prozedur zwischen den beiden Einheiten ausgetauscht werden kann. So können die Rollen von MUS 2550 und MUS 2560 gemäß der vorliegenden Erfindung sehr leicht vertauscht werden, indem entweder MUS 2550 oder MUS 2560 an den Hauptzugang eines gegehenen Moduls angeschlossen werden. Jeder Teil einer Gruppe (MUS) kann einer anderen Gruppe untergeordnet oder übergeordnet sein. Auch kann z.B. ein bestimmter Modul einen nichtschaltbaren Speicher für MUS 2550 darstellen, um sicherzustellen, daß darin gespeicherte Programme nur zu MUS 2550 gehören und nur deren Zugriff zur Verfügung stehen.
In Figur 26 ist eine vereinfachte schematische Darstellung einer logischen Erweiterung der Schaltung für die Teilung des Speichers zwischen, mehreren Vorrichtungen gezeigt. In diesem Ausführungsbeispiel steuert die den speicher benutzende Hauptgruppe (MUS) den gesamten Speicher und* die Steuerungen A bis H. Jeder Steuerung sind 32 4K-Module zugeordnet. Die wechselseitigen Zugänge jedes Moduls sind als mit anderen den Speicher benutzenden Vorrichtungen verbunden dargestellt, welche anderen Gruppen augeordnet sein könnten. Die Darstellung zeigt somit, daß eine Anzahl von Vorrichtungen die gemeinsamen Speichermodule unabhängig benutzen kann, deren Anzahl gleich der Zahl der vorhandenen Module abzüglich der
409849/0784
Zahl der Module ist, die von der Hauptgruppe geteilt werden. Im dargestellten Ausführungsbeispiel ist diese Zahl 32 χ 8 = 256 Module - 1 (für die allen gemeinsame den Speicher benutzende Gruppe), so daß gleichzeitig 255 Vorrichtungen den Speicher teilen können, ohne miteinander in Konflikt zu geraten.
Figur 27 zeigt eine vereinfachte schematische Darstellung der Teilung von Speichermodulen zwischen einem Prozessor und einer anderen den Speicher benutzenden Vorrichtung. Eine Steuergruppe (MUS) weist einen Prozessor 619, einen Kanal für direkten Speicherzugriff (DMA) 620 sowie einen Kanal für wahlfreien Zugriff (RAC) 621 auf, der mit einem anderen Prozessor 622 gekoppelt ist, und enthält eine Eingabe/Ausgabe-Einheit 623, die an den Prozessor 619, den DMA 623 und an eine Magnetplattendatei 625 über deren eigene Steuerung angeschlossen ist. Eine Kommunikationssammelschiene 624 verbindet die Eingabe/Ausgabe-Einheit 623 mit einer intelligenten Vorrichtungssteuerung (IDC)613. Diese intelligente Vorrxchtungssteuerung ist so angeschlossen, daß sie den Betrieb eines Analog/Digital-Konverters (ADC) 612 steuert, welcher eine zu prüfende Einheit(UUT) 611 überwacht. An der zu prüfenden Einheit 611 sind Fühler angebracht, die Signale an den Analog/Di gital-Umwandler 612 abgeben, der die analoge Information in digitale Information umwandelt und sie auf Anforderung der intelligenten Vorrichtungssteuerung zuführt. Die den Speicher benutzende Gruppe steht über die Sammelschiene CCB mit Steuerungen B und C in Verbindung. Der Steuerung C ist ein. Speichermodul 626 und der Steuerung B sind Speichermodule 614, 615 und 616 zugeordnet. Die letzteren Module 614 bis 616 teilt sich die Steuerung B mit der Steuerung A (618) die ihrerseits mit der intelligenten Vorrichtungssteuerung (IDC) 613 verbunden ist.
409849/0784
Wenn von der Gruppe (MUS) an der zu prüfenden Vorrichtung 611 ein Meßvorgang ausgeführt werden soll, kann der Prozessor 619 und der DMA-Kanal 620- die Steuerinformation und die Programme für die Operation von der Magnetplatte 625 über die Eingabe/Ausgabe-Einheit 623 abrufen, um sie im Speichermodul 626 über die Steuerung C zu speichern. Bei der Operation werden der intelligenten Vorrichtungssteuerung (IDC) 613 über die Koiamunikations-Sammelschiene 624 und die Eingabe/Ausgabe-Einheit 623 die erforderlichen Steuerungen und Informationen gegeben. Diese Steuersignale und Informationen können die Art und Länge der vom Analog/ Digital-Umwandler 612 auszuführenden Messung festlegen und entscheiden, welche Information sortiert und welche Information über die Steuerung A (618) zu einem der drei Speichermodule 614, 615 oder 616 durchgelassen werden soll. Zu einer bestimmten Zeit benutzt die Steuerung A 618 einen der Speichermodule 414 bis 416, während die Steuerung B Zugriff zu den verbleibenden zwei Module 614 bis 616 hat. Auf dieser Weise kann eine Messung ausgeführt werden und das Meßergebnis in einen Speichermodul eingegeben werden. Die intelligente Vorrichtungssteuerung (IDC) 613 kann die den speicher benutzende Gruppe (MUS) davon in Kenntnis setzen, daß sie die erforderlichen Messungen abgeschlossen hat und kann die Speichermodule auf die Steuerung B schalten. Der Prozessor 619 der Gruppe (MUS) kann dann mit der Verarbeitung dieser Information in eine besser verwertbare Form beginnen und dabei das Programm benutzen, das ursprünglich in den Speichermodul 626 geladen worden war. Alternativ dazu kann RAC 621 dem Prozessor 622 ίerlauben, über die Steuerung B 617 Zugriff zu den in den umgeschalteten Speichermodulen gespeicherten Daten zu nehmen. Der Prozessor 6 22 kann dann diese Daten aus der Entfernung verarbeiten. Auf diese Weise wird dann die Information im Speicher zwischen einer intelligenten Vorrichtungssteuerung (IDC) und einem Prozessor in einer den Speicher
409 8 49/0784
benutzenden Gruppe geteilt.
Figur 28 zeigt eine vereinfachte schematische Darstellung einer Ausführungsform dieser Erfindung, bei welcher zwei Speichermodule 2802 und 2803 an eine Steuerung 2801 angeschlossen sind und beide mit der gleichen Spalten- und Zeilenadresse versehen sind. Die Steuerung 2801 steht mit der den Speicher benutzenden Gruppe (MUS) 2800 in Verbindung, welche eine Eingabe/Ausgabe-Vorrichtung, einen Prozessor, einen Kanal für direkten Speicherzugriff (DMA) und einen Kanal für wahlfreien Zugriff (RAC) aufweist, mit welchen die Speichermodule 2802 und 2803 gelesen und geschrieben werden können. Beide Speichermodule reagieren auf einen von der Steuerung 2801 gegebenen Befehl. Die Ausgangsschaltung jedes dieser Speichermodule ist so aufgebaut, daß beim Auftreten eines Lese-Befehls beide Module das gleiche Ausgangssignal abgeben, in anderen Worten, die Speichermodule sind logisch ODER-verknüpft, um Ausgabefehlern vorzubeugen, die von Fehlern in den Modulen 2802 und 2803 herrühren können. Auf diese Weise können die üblichen Fehler in Speichermodulen dadurch kompensiert werden, daß die Speichermenge verdoppelt wird. Während Lese- und Schreiboperationen wird die Information gleichzeitig in die Speichermodule 2802 und 28O3 eingeschrieben oder aus diesen ausgelesen. Auf diese Weise kann die Zuverlässigkeit des Systems beträchtlich erhöht werden, da einige wenige übliche Fehlermechanismen mehr als 50 % der Operationsfehler in einem Speichermodul ausmachen.
Figur 29 zeigt eine schematische Darstellung eines schnellen Fourier-Analysators, der eine den Speicher benutzende Gruppe (MüS) 2900 aufweist, die einen Kanal für wahlfreien Zugriff (RAC) 2903, einen Kanal für direkten Speicherzugriff (DMA) 2902, eineriprozessor 2901 und eine Eingabe/Ausgabe-Vorrichtung enthält. Die Gruppe
409849/0784
(MUS) steht über die allgemeine Kommunikations-Sammelschiene (CCB) 2905 mit Steuerungen 2906 und 2907 in Verbindung. Die Steuerung A 2906 steht über die Sammelschiene PCB 2909 mit einem 16K-Modul 2910 eines langsamen Speichers in Verbindung. Dieser Speicher wird mit keiner anderen Vorrichtung geteilt und enthält das Betriebssystem des Fourier-Analysators. Die Speichertechnologie des Moduls 2910 kann langsam und im allgemeinen auch billig sein, da bei dieser Anwendung die Arbeitsgeschwindigkeit des Speichers niaht sehr kritisch ist. Die Steuerung 2907 steht über die Sammelschiene PCB 2908 mit einem 4K-Modul 2911 eines sehr schnellen, z.B. bipolaren Speichers in Verbindung. Dieser Speichermodul akkumuliert über die Steuerung 2912 Daten von dem Analog/Digital-Umwandler (A/D) 2913, der von der zu prüfenden Einheit
(UUT) 2915 analoge Information empfängt. So wird analoge elektrische Information in digitale Information umgewandelt und der Steuerung 2912 für die Speicherung in dem sehr schnellen Speichermodul 2911 dargeboten. Die Eingabe/Ausgabe-Vorrichtung 2904 und die I/0-Sammelschiene 2914 führen die Befehle dem A/D-Konverter 2913 zu. Auf diese Weise kann ein im langsamen Speichermodul 2910 enthaltendes Programm die Tätigkeit des A/D-Konverters 2913 steuern, der dann gleichzeitig Daten an den sehr schnellen Speichermodul 2911 abgeben kann, ohne daß es zu einem Konflikt mit den Zugriffsoperationen des langsamen Speichermoduls 2910 kommt. Sobald Information in dem sehr schnellen Speichermodul akkumuliert worden ist, kann sie über DMA 2902 und die Eingabe/Ausgabe-Einheit 2914 zu einem langsameren Speicher, z.B. einer Magnetplatte übertragen werden. Das System kann so bis zu 4000 Datenworte speichern, und zwar im wesentlichen mit der Arbeitsgeschwindigkeit des Speichers bzw. der Umwandlungsgeschwindigkeit des A/D-Konverters. Danach können die 4000 Dateneingänge in die
• 4098A9/0784
Eingabe/Ausgabe-Plattendatei übertragen werden, um den schnellen Speicher für die Akkumulierug weiterer 4000 Dateneingänge freizugeben.
Figur 30 zeigt eine vereinfachte schematische Darstellung eines anderen Fourier-Analysators gemäß der vorliegenden Erfindung. In diesem Fall werden mehr 4K-Module eines sehr schnellen Speichers mit einer Zugangssteuerung benutzt, statt eines eigenen 4K-Speichermoduls. Information vom A/D-Konverter wird mit dieser Zugangssteuerung gesammelt und in einen der schnellen 4K-Speichermodule übertragen. Wenn dann der erste solche Modul gefüllt ist, wird aus der Gruppe von 8 Modulen der nächste Module ausgewählt, um mit der eingehenden Information gefüllt zu werden. In der Zwischenzeit ist die zentrale Prozessoreinheit (CPU) frei für die Verarbeitung der Daten, die zuvor in den schnellen Speichermodulen akkumuliert worden waren, und für die nachfolgende Speicherung der Ergebnisse in einem langsameren Speicher.
Figur 31 zeigt die schemtaische Darstellung eines "IM SPEICHER"-Zeitmultiplexsystems gemäß der vorliegenden Erfindung. Dieses System weist eine den Speicher benutzende Gruppe (MUS) 3104 mit einem Prozessor 3101, einem RAC 3102 und einem DMA 3103 auf, die über eine Sammelschiene CCB 3105 mit vier Steuerungen 3106 bis 3109 in Verbindung steht. Die Steuerung 3106 steuert über PCB 3110 einen Abschnitt des Speichers 2933, der nicht geschaltet wird. Dieser Speichermodul kann die übergeordneten Steuerprogramme des Systems für den Zeitmultiplexbetrieb enthalten. Die Steuerung 3107 steuert 8K-Module 2931 und 2932 über die Sammelschiene PCB 3111. Diese Speichermodule können, die Programme speichern, die sehr oft gebrauchen werden (z.B. Bibliotheksrountinen), die aber nicht so häufig benutzt werden wie die im Modul 2933 gespeicherten Programme.
409849/0784
Die Steuerungen 3108 und 3109 steuern die in den Anwenderbereichen lokalisierten Speichermodule. Die Anwenderzahl Null befindet sich im Modul 3123, der über PCB 3113 gesteuert wird, die Anwendernummer 1 befindet sich im Modul 3124, usw. bis zur Anwendernummer 15, die sich im Modul 3121 befindet. Um die Speiahermodule eines ausgewählten Anwenders zu aktivieren, wird eine Stufenschaltungs- (BKS), oder Stufenschaltungs- und Sprungroutine (BSJ) ausgeführt, wie sie weiter oben beschrieben sind, um. den ausgewählten Anwenderrtiodul in den Adressenraum der Verarbeitung zu schalten, so daß die Operationen abgeschlossen werden. Nach Abschluß wird dieser ausgwählte Anwendermodul herausgeschaltet, und ein anderer Anwendermodul wird in den Adressenraum geschaltet. Auf diese Weise kann eine sehr kurze Reaktionszeit erhalten werden, zumindest beim Schalten zwischen verschiedenen Anwendern.
In der schematischen Darstellung der Figur 3 2 ist eine mögliche Verbindung von 3 Prozessoren gezeigt, die einen gemeinsamen Eingabe/Ausgabe-Raum miteinander teilen, wobei einer der Prozessoren als Eingabe/Ausgabe-Prozessor arbeitet.
In der schematischen Darstellung der Figur 33 ist eine typische Verbindung einer CPU mit einem Eingabe/Ausgabe-Prozessor (IOP) gemäß der vorliegenden Erfindung dargestellt. Die CPU 3301 hat zwei Speichermodule ausschließlich zu ihrer Verfügung (Modul 3309 über Steuerung 3308 und Modul 3311 über Steuerung 331o)um z.B. arithmetische Operationen, Programme und vielleicht auch Steueroperationen für den Rest des Systems zu speichern. Die CPU 3301 hat als übergeordneter Prozessor über eine Steuerung 3313 und eine PCB-Sammelschiene 3314 auch Zugriff zu den Speichermodulen 3315 und 3316. Der Eingabe/Ausgabe-Prozessor 3 302 hat als untergeordneter Prozessor ebenfalls Zugriff zu
40984 9/0784
diesen Modulen und zwar über die PCB-Sammelschiene 3317 und die Steuerung 3318, welche ihrerseits über die CCB-Sammelschiene 3319 mit dem Eingabe/Ausgabe-Prozessor 3302 verbunden ist. Es ist zu beachten, daß die über Steuerungen 3320 und 3323 an diese CCB-Sammelschiene 3319 angeschlossenen Speicher 3321 und 3322 ausschließlich für den Eingabe/Ausgabe-Prozessor zugänglich sind für die Speicherung von z.B. Eingabe/Ausgabe-Routinen, Ansteuerungen für Eingabe/Ausgabe-Vorrichtungen 3303 bis 3307, Prüfprogrammen, Steuerprogrammen und Diagnosenvorgängen für diese Vorrichtungen.
Wenn im Betrieb die CPU 3301 auf einen Programmabschnitt stößt, der eine Eingabe/Ausgabe-Vorrichtung erfordert, kann sie die Eingabe/Ausgabe-Aufgabe über die Steuerung 3313 an einen der Module 3315 und 3316 weitergeben und den Eingabe/Ausgabe-Prozessor 3302 davon in Kenntnis setzen, daß sich eine solche Information im Modul 3315 bzw. 3316 befindet und daß ein Programmabschnitt auszuführen ist. Der Eingabe/Ausgabe-Prozessor 3302 kann dann den Programmabschnitt übernehmen, der den Eingabe/Ausgabe-Teil enthält, und damit den CPU-Prozessor 3301 für die Ausführung einer anderen Routine freistellen, welche für ihn durch sein eigenes Betriebssystem ausgesucht worden ist. Der Eingabe/ Ausgabe-Prozessor 3302 kann dann die CPU 3301 unterrichten, wenn die I/O-Routine abgeschlossen ist. Nun kann entweder eine Routine aufgenommen und bearbeitet werden, die vorher zurückgestellt worden war, oder es kann angezeigt werden, daß die Routine abgeschlossen war und aus der Reihe von vor der CPU 3301 wartenden Routinen entfernt werden kann. Dies erhöht die Verwendbarkeit der Systemkapazität, da der CPU-Prozessor 3301 auf arithmetische Operation, Datenanalyse' u.a. zugeschnitten sein kann, während der Eingabe/Ausgabe-Prozessor 3302 auf I/O-0perationen zugeschnitten sein kann.
409849/0784
Figur 34 zeigt eine vereinfachte schematische Darstellung eines grundlegenden Zeitmultiplexsystems mit virtuellem Speicher gemäß der vorliegenden Erfindung. Dieses Zeitmultiplexsystem enthält einen Prozessor in der Gruppe (MUS) 3400 sowie einen weiterenProzessor 3 415. Die grundsätzliche Aufgabe des Prozessors 3 415 besteht darin, Programme in BASIC Sprache ablaufen zu lassen und deren Signal entsprechend in seinem Speicher enthaltenen Programmen zu übersetzen, in Verbindung mit den Anwenderprogrammen, die in Speichermodule 3405 bis 3410 geladen sind. Die Nachricht, daß ein Anwender aktiv ist, wird über eine Eingabe/Ausgabe-Sammelschiene (I/0-Sammelschiene) 3 421 durch die Steuerverbindung zur Eingabe/Ausgabef-I/O-) Vorrichtung 3 (z.B. einem Terminal-Multiplexer) und schließlich zum Prozessor 3 415 gesandt. Auf diese Weise wird der Prozessor 3 415 von der Routine unterrichtet, die er ausführen soll. Der Benutzer, dessen Verbindung zum System . durch einen der Multiplexer (MUX) 3 416, 3417 oder 3418 führen kann, zeigt so der Gruppe (MUS) 3400 über die 1/0-Sammeischiene 3421 an, daß er eine Aufgabe zu erledigen hat (Z.B. daß der Benutzer eine Reihe von Daten oder Anweisungen hat, die er einzutasten wünscht). Diese eingegebene Reihe wird entsprechend dem im Speichermodul 3 403 enthaltenen Programm analysiert. Wenn die Information wichtig genug ist, daß sie die Aufmerksamkeit des Programmiersprachenprozessors 3415 erfordert, wird die Aufgabe von einem Magnetplattenspeicher 3 419 oder 3 420 durch die I/0-Sammelschiene und den Prozessor von MUS 2400 über die Steuerung 3 404 zu einem der nicht benutzten Anwenderräume 3405 bis 3410 übertragen. Der Programmiersprachenprozessor 3 415 wird über seinen I/0-Kanal und die mit der I/0-Sammelschiene des Prozessors in MUS 3 400 verbundenen Steuerverbindung davon unterrichtet, daß er zu der passenden Zeit mit dieser Aufgabe beginnen soll. Der Prozessor 3 415 kann seine Analysieroperationen bezüglich Sprache, Syntax usw. abschließen und danach den übergeordneten Prozessor in MUS 3400 davon unterrichten, daß er diese Operationen
409849/0784
abgeschlossen hat. Der Prozessor von MUS 2400 sendet daraufhin die Ergebnisse über einen der Multiplexer 3 416 bis 3418 an den Anwender. Der Prozessor von MUS 3400, der auf diese Weise wie ein virtuelles Speichersystem benutzt wird, kann die ihm von einem Anwender über einen der Multiplexer zugesandte Information als Adressen oder als Satz von Adressen betrachten, die dann interpretiert werden können und. von virtuellen Adressen in reale Adressen übersetzt werden können. Auf diese Weise haben die über die Multiplexer 3416 bis 3418 angeschlossenen Benutzer den Eindruck, daß sie zu einem sehr großen Speicherraum Zugang haben. Tatsächlich hat der Anwender Zugang zu allen virtuellen Speichernim Adressenraum.
Unter Bezugnahme auf die schematische Darstellung gemäß Figur 37 und das Zeitfolgediaqram gemäß Figur 38 ist zu beachten, daß ein bei der Nöuerung von Speichern des MOS-Typs auftretendes Problem in der Möglichkeit eines Konfliktes zwischen einer Erneuerungsoperation und einer Realzeitoperation im I/0-Kanal (d.h. dem direkten Speicherzugriff) besteht* Ein Konflikt mit Erneuerungs- oder Datenübertragungsoperationen kann zu einem Datenverlust während der Übertragung zu den oder von den Realzeitvorrichtungen führen, woraus sich verheerende Konsequenzen ergeben können. Dieses Problem wird gemäß der vorliegenden Erfindung dadurch gelöst, daß die Erneuerungsoperation aus dem Weg einer schwebenden DMA-Operation (I/0-Kanal) geschafft wird.
Es sei der Fall betrachtet, daß DMA eine Leseoperation ausführen will und das Signal DMA LESEN einige Zeit vor dem Stattfinden der tatsächlichen Operation sucht. Die Zeit für die Lese- oder Schreiboperation des DMA wird durch die Zeitgabesignale T7., T-., T_, und Τ» ,
^ ^ A' Bf C 5 vorgegeben,
die von den Taktsignalen abgeleitet sind und durch Gatter
409849/0784
3701 bis 3704 dekodiert werden. Das Signal ΤΛ wird durch das Gatter 3701 invertiert, dessen Ausgangssignal einem Eingang des Gatters 3704 zugeführt wird. Der andere Eingang des Gatters 3704 wird nur dann beaufschlagt, wenn T geltendgemacht (hoch) ist. Das Ausgangssignal des Gatters 3704 steht an, wenn T geltendgemacht und T nicht geltendgemacht ist. Dieses Ausgangssignal wird einem Eingang des ~ Gatters 3707 zugeführt, dessen anderem Eingang Pn. zusammen mit dem Signal DMA LESEN zugeführt wird. Wenn der DMA-Kanal keine Leseoperation ausführt, sind die anderen Eingänge des Gatters 3707 beaufschlagt und es wird ein Ausgangsimpuls erzeugt, der die Weite von ρς hat und einem der UND-Eingänge eines UND/ODER-Inversionsgatters 3708 zugeführt wird. Wenn während der Zwischenperiode seit Abgabe des letzten Impulses durch Gatter 37Q7 der Erneuerungsintervall-Zeitgeber 3712 eine Zeitgabe ausgegeben hat, wird der Ausgang dieses Zeitgebers 3712 beaufschlagt und für die Zuführung zum Eingang des Gatters 3710 durch Gatter 3711 invertiert. Wenn irgendwelche andere Elemente des Systems gegen die Durchführung einer Eraeuerungsoperation zu diesem speziellen Zeitpunkt einsprechen, kann die Erneuerungsoperation durch Beaufschlagung des Eingangs des Gatters 3 710 mit einem Signal ERNEUERUNG VERWEIGERT gehemmt werden. Wird dieses Signal nicht gegeben, wird der Ausgang des Gatters 2710 beaufschlagt, und dieses Ausgangssignal wird einem Inverter 3709 zugeführt, dessen Ausgangssignal dem anderen Eingang des unteren UND-Gatters des UND/ODER-Inversionsgatters 3708 zugeführt wird. Da beide Eingänge des unteren UND-Gatters des Gatters 3708 beaufschlagt sind, ist das Ausgangssignal des Gatters 3708 vorhanden und zeigt also an, daß zu diesem Zeitpunkt ein Erneuerungszyklus gestartet werden kann.
Es sei nun das Eingangssignal DMA. LESEN der Gatter 3707 und 3705 betrachtet. Würde zu der durch T und T~ (d.h. das Ausgangssignal T des Gatters 3704) vorgegebenen Zeit ein Signal DMA LESEN anstehen, würde das Gatter 3707 auf r.
409849/0784
hin kein Ausgangssignal abgeben. Ein Erneuerungszyklus würde dann solange nicht stattfinden, bis T erreicht wäre, was aus T und T mittels Gatter 3703 dekodiert wird. Dieses Ausgangssignal und die Inversion von DMA LESEN aus Gatter 3705 werden dem Gatter 3706 zugeführt, dessen Ausgang bei Vorhandensein von Tn. ein Signal abgibt, mit welchem ein Eingang des oberen UND-Gatters des Gatters 3708 angesteuert wird. Der andere Eingang dieses oberen UND-Gatters wird angesteuert, wenn eine genehmigte Erneuerungsanforderung ansteht^ Wenn diese Bedingung erfüllt ist, beginnt ein Erneuerungszyklus. Auf diese Weise wird die Erneuerungsoperation aus dem Weg der DMA-Speicheroperation geräumt, um Konflikte zwischen diesen Operationszyklen zu vermeiden.
Das polymorphe Modulsteuerungssystem (z.B. für die Steuerung von Speichermodulen) gemäß der vorliegenden Erfindung verbessert daher die Funktionsfähigkeit eines Rechennetzwerks wesentlich. Jede Informationsübertragung zu oder von einer Adresse kann dadurch ausgeführt werden, daß der Zustand der Stufenschalterleitung geändert wird,.um die Adressen-Sammelschiene in eine Steuer-Sammelschiene zur Erweiterung der Fähigkeiten der im Adressenraum eines den Speicher benutzenden Prozessors befindlichen Speichermodule umzuwandeln. Zusätzlich kann gemäß der vorliegenden Erfindung ein Netz von Rechnern zusammengestellt werden,in welchem ein Rechner oder Prozessor tatsächlich Befehle zu einer I/O-Vorrichtung, einem Prozessor, einem Zugriffskanal oder einer anderen Einheit weitergibt, die gegenwärtig durch binäre Information gesteuert werden kann. Auf diese Weise wird ein flexibler Zugriff und eine virtuelle Neustrukturierung und Adressierung der Speicherinhalte möglich gemacht durch gesteuerte Umwandlung der Adressen-Sammelschiene in einem System in eine Steuersammeischiene, durch welche Steuerinformation zu einer einzelnen Vorrichtung oder zu einer Gruppe von Vorrichtungen geleitet werden kann. Dies erlaubt eine Verkettung von Prozessoren in einer Weise, daß ein Prozessor seine Speicheradress^i-Sammelschiene in eine Steuersammeischiene umwandeln kann und dann entlang
409849/0784
dieser einen Böfehl ausgeben kann, der die Adressensammelschiene des nächsten Prozessors bzw. einer anderen den Speicher benutzenden Vorrichtung in eine Steuersammeischiene umwandelt. Dieser Prozessor kann dann auch wieder einen Befehl ausgeben, mit welchem die Adressensammelschiene des nächsten Prozessors in eine. Steuersammeischiene umgewandelt wird usw. Auf diese Weise kann eine Kommunikation zwischen einer beträchtlichen Anzahl von Vorrichtungen bewirkt werden. Solch eine Kommunikationskette zwischen Prozessoren oder anderen Vorrichtungen kann in sich geschlossen werden, so daß ein Prozessor in einem verschiedenen Bereich seines Speicherraums zu sich selbst Zugang hat oder derart, daß eine den Speicher benutzende Vorrichtung eine andere Vorrichtung mit dem gleichen System entweder direkt oder indirekt über jedes beliebige Verarbeitungsniveau steuern kann. Es ist auch zu beachten, daß in solch einer Kommunikationskette zwischen Prozessoren arithmetische Operationen an jedem Punkt entlang der Strecke erfolgen können, die das Endergebnis neu definieren können, wenn die Steuerung zum nächsten Niveau von Prozessoren weitergegeben wird. Die vorliegende Erfindung erlaubt so die Verbindung von Prozessoren untereinander, die Teilung des Speichers zwischen Prozessoren mit überlappendem Speicherraum, die Neudefinition von Adressen- und Steuersammeischienen und ähnliches in einem Netzwerk, das kompatibel mit der sehr einfachen Konstruktion von billigen kleinen Rechnern ist oder aus dieser hervorgeht.
409849/0784

Claims (1)

  1. Hewlett-Packard Company η _ ^a^ 1974
    Case 798
    PATENTANSPRÜCHE
    \JVerfahren zum Betrieb einer Datenverarbeitungsanlage mit aus einer Vielzahl auswählbaren adressierten Schaltungsmodulen,die in von je einer Gruppensteuerung gesteuerten Gruppen angeordnet sind und die eine Betriebsschaltung haben, welche über einen Signaleingang zugänglich ist, wenn diesem kodierte Signale zugeführt werden, dadurch gekennzeichnet , daß zur Aktivierung der Gruppensteuerung für die Gruppe von Schaltungsmodulen, die den adressierten Schaltungsmodul enthält, die Adressenangaben den Schaltungsmodulen und den Gruppensteuerungen zugeführt werden, und daß danach zum Zugriff zu der Betriebsschaltung über den Signaleingang des adressierten Schaltungsmoduls der der aktivierten Gruppensteuerung zugeordneten Gruppe von Schaltungsmodulen Befehlsangaben zugeführt werden.
    2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei der Zufuhr der Befehlsangaben der aktivierten Gruppensteuerung und den dieser zugeordneten Schaltungsmodulen eine ausgewählte Adressenangabe zugeführt wird, und daß den Gruppensteuerungen ein Schaltbefehl zugeführt wird, worauf die aktivierte Gruppensteuerung den ihr zugeordneten Schaltungsmodulen ein Freigabesignal zuführt und der das Freigabesignal und die dessen Adresse entsprechende Adressenangabe empfangende Schaltungsmodul die Betriebsschaltung durch deren Signalzugang zugänglich macht.
    3. Verfahren nach Anspruch 1, bei welchem die Schaltungsmodule eine Betriebsschaltung haben, die wahlweise auf einen von zwei oder mehreren Signalzugängen geschaltet werden kann, und die Gruppenweise jeweils so an Steuerungen angeschlossen
    409849/ 078A
    sind, daß je ein Zugang jedes Moduls der Gruppe mit jeder Steuerung verbunden ist, dadurch gekennzeichnet, daß jeweils einer Gruppe einander entsprechende Signalzugänge aller adressierten Schaltungsmodule und den zugehörigen Steuerungen eine ausgewählte Adressenangabe zugeführt wird und dadurch die Steuerung für die Gruppe aktiviert wird, in welcher sich der Schaltungsmodul der ausgewählten Adresse befindet; daß danach zumindest den Speichermodulen in der der aktivierten Steuerung zugeordneten Gruppe eine Befehlsangabe' zugeführt wird und dadurch der Schaltungsmodul der ausgewählten Adresse zur Schaffung eines Zugangs zu seiner Betriebsschaltung veranlaßt wird; daß eine Hilfsadressenangabe a) einander entsprechenden anderen SignalZugängen eine Anzahl von zu einer an eine Hilfssfeeuerung angeschlossene Hilfsgruppe zusammengefaßten Speichermodulen und b) der HilfsSteuerung zugeführt wird und dadurch die Hilfssteuerung für die Hilfsgruppe aktiviert wird, in welcher sich der Schaltungsmodul der Hilfsadresse befindet; und daß eine Befehlsangabe zumindest der Anzahl von Schaltungsmodulen in der Hilfsgruppe zugeführt wird, die der aktivierten Hilfssteuerung zugeordnet ist, und so ein Zugang zu der Betriebsschaltung des Schaltungsmoduls nur unter der Bedingung geschaffen wird, daß die Betriebsschaltung nicht auf den einen 1S*ignalzugang geschaltet ist.
    4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß eine Zustandsangabe erzeugt wird, die anzeigt, daß die Betriebsschaltung auf den ersten Signalzustand geschaltet ist, und daß dadurch die gleichzeitige Schaltung der Betriebsschaltung auf einen anderen Signalzugang des Speichermoduls verhindert wird.
    5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß mit der Erzeugung der Zustandsangabe einem der Signalzugänge eines Speichermoduls die Priorität vor den anderen Signalzugängen im Hinblick auf den durch diese
    409849/0784
    möglichen Zugang zu der Betriebsschaltung gegeben wird, und daß die Zustandsangabe anzeigt, daß der nächste Zugang Zur Betriebsschaltung des Schaltungsmoduls durch den Signalzugang erfolgen soll, der die Priorität hat, unabhängig von der jeweiligen Zugangsbedingung zur Betriebsschaltung durch andere Signalzugänge.
    6. Datenverarbeitungsanlage zur Durchführui. j des Verfahrens nach einem der Ansprüche 1 bis 5, mit einer Vielzahl von in Gruppen angeordneten Schaltungsmodulen, von denen jeder eine ausgewählte Adresse hat und eine Betriebsschaltung enthält, dadurch gekennzeichnet , daß jeder Modul eine Gatterschaltung und eine Dekodiereinrichtung enthält, die ansprechfähig auf einem Signalzugang des Moduls zugeführte Adressen- und Befehlsangaben sind; daß die Steuerung für jede Gruppe von Modulen eine ausgewählte Steuerungsadresse hat, mit dem Signalzugang jedes Moduls der betreffenden Gruppe verbunden ist und ansprechfähig auf ein Ausgangssignal von einer Dekodiereinrichtung jedes Moduls in der betreffenden Gruppe ist; daß eine Signal-Kommunikationseinrichtung die die Daten verarbeitenden Einrichtungen der Datenverarbeitungsanlage mit der Vielzahl von Modulen und deren Steuerungen miteinander verbindet und zwischen ihnen die Adressen- und Befehlsangaben von der Datenverarbeitungseinrichtung austauscht; daß mit der Datenverarbeitungseinrichtung und den Steuerungen jeder Gruppe von Modulen zur wahlweisen Zufuhr eines Steuersignals mit einem von zwei logischen Zvständen zu den Steuerungen einer Einrichtung zur Abgabe von Steuersignalen verbunden ist; daß die Dekodiereinrichtung eines der Module ansprechfähig auf eine der Adresse dieses Moduls entsprechende Adressenangabe ist, welche dem Si^nalzugang des Moduls durch die Signalkommunikationseinrichtung auf ein Signal hin zugeführt wird, welches den einen logischen Zustand des Steuersignals darstellt, wodurch die entsprechende Steuerung für das Ansprechen auf aufeinanderfolgende Abgaben aktiviert wird, welche hier durch die Signalkommunikationseinrichtung zugeführt werden; daß die Datenverarbeitungseihrichtung auf das
    409849/0784
    Steuersignal bei dessen anderen logischen Zustand derart anspricht, daß der Signalkommunikationseinrichtung eine Befehlsangabe für die Zufuhr zu allen Modulen in der der Steuerung zugeordneten Gruppe zugeführt wird, welche Steuerung durch den einen Modul aktiviert ist; und daß die Dekodiereinrichtung dieses Moduls auf die ihr zugeführte Befehlsangabe anspricht und die Gatterschaltung für die Kopplung der Betriebsschaltung dieses Moduls an die Signalkcfflmunikationseinrichtung für den Betrieb mit der Datenverarbeitungseinrichtung nach Erzeugung des einen logischen Zustandes des Steuersignals durch den Steuersignalgeber aktiviert.
    7. Datenverarbeitungsanlage nach Anspruch 6, dadurch gekennzeichnet , daß die Dekodiereinrichtung jedes Moduls einen ersten Dekoder enthält, der auf ihm von der Signalkommunikationseinxichtung zugeführte Adressenangaben die betreffende Steuerung für das Ansprechen auf ihr zugeführte aufeinanderfolgende Angaben aktiviert, sowie einen zweiten Dekoder enthält, der auf Befehlsangaben die Gatterschaltung des Moduls aktiviert.
    8. Datenverarbeitungsanlage nach Anspruch 6, dadurch gekennzeichnet , daß sie eine Datenverarbeitungs-Hilfseinrichtung für den Betrieb mit der Betriebsschaltung mindestens eines der Module einer Hilfsgruppe aufweist; daß jeder Modul in der Hilfsgruppe mindestens zwei Signalzugänge hat, die Steuerungen mit je einem Signalzugang jedes Moduls verbunden sind, die Module für jeden Signalzugang eine Dekodiereinrichtung haben und die Betriebsschaltung den Signalzugängen gemeinsam ist; daß eine HilfsSteuerung mit einer ausgewählten Steuerungsadresse mit jeweils dem anderen Signalzugang jedes Moduls der Hilfsgruppe verbunden ist und auf ein Ausgangssignal von der Dekodiereinrichtung ansprechfähig ist, die dem anderen Signalzugang jedes Moduls der Hilfsgruppe zuge-
    40984 9/0784
    ordnet ist; daß die Datenverarbeitungs-Hilfseinrichtung über eine Signalkommunikätions-Hilfseinrichtung mit zumindest der HilfsSteuerung für die Module der Hilfsgruppe verbunden ist und die Signalkommünikations-Hilfseinrichtung selektiv Adressen- und Befehlsangaben zwischen beiden austauscht; daß ein Hilfssignalgeber mit der Datenverarbeitungs-Hilfseinrichtung und der Hilfssteuerung -verbunden ist und ein Hilfssteuersignal mit zwei möglichen logischen Zuständen an diese abgibt; daß die dem anderen Signalzugang des einen Moduls aus der Hilfsgruppe zugeordnete Dekodiereinrichtung ansprechfähig ist auf einen logischen Zustand eines Hilfssteuersignals und auf eine der Adresse dieses Moduls entsprechende Adressenangabe, die dem anderen Signalzugang des Moduls über die Signalkommunikations-Hilfseinrichtung von der Datenverarbeitungs-Hilf seinrichtung auf den einen Zustand des Steuersignals hin zugeführt wird, und daß die Dekodiereinrichtung bei Ansprechen die Hilfssteuerung so aktiviert, daß sie auf ihr von der Signalkommunikations-Hilseinrichtung zugeführte aufeinanderfolgende Angaben ansprechfähig wird; daß die Datenverarbeitungs-Hilf seinrichtung auf den anderen logischen Zustand des Hilfssteuersignals hin an die Signalkommunikations-Hilf seinrichtung eine Befehlsangabe für die Zufuhr zu den anderen Signalzugängen der Module in der der HilfsSteuerung zugeordneten Hilfsgruppe abgibt; und daß die dem anderen Signalzugang des einen Moduls in der Hilfsgruppe zugeordnete Dekodiereinrichtung auf die ihr zugeführte Befehlsangabe hin die Gatterschaltung aktiviert, wodurch, ohne daß dabei eine Verbindung der Betriebsschaltung des einen Moduls mit der Signalkommunikationseinrichtung vorhanden ist, die Betriebsschaltung an die Signalkommunikations-Hilfseinrichtung angeschlossen wird und so ein Betrieb mit der Datenverarbeitungs-Hilf seinrichtung nach aufeinanderfolgender Erzeugung des einen logischen Zustands des Hilfssteuer-Signals durch den Hilfssignalgeber ermöglicht wird.
    409849/0784
    2422302
    ^9. Datenverarbeitungsanlage nach Anspruch 8, dadurch gekennzeichnet , daß die Datenverarbeitungs-HiIfseinrichtung die Betriebsschaltung eines Moduls enthält, der über eine Steuerung und die Signalkommunikationseinrichtung an die Datenverarbeitungseinrichtung angeschlossen ist und daß ein Modul in der Hilfsgruppe in seiner Betriebsschaltung eine Vielzahl von Speicherelementen enthält, die an adressierbaren Plätzen für eine selektive Kommunikation mit der Datenverarbeitungseinrichtung und der Datenverarbeitungs-Hilfseinrichtung angeordnet sind.
    10. Datenverarbeitungsanlage zur Durchführung des Verfahrens nach Anspruch 1, mit einer ausgewählten Anzahl von Schaltungsmodulen, mit denen eine Datenverarbeitungseinrichtung über Datensignalkanäle, Steuerkanäle, Freigabesignalkanäle und IdentitätsSignalkanäle selektiv zusammenarbeiten kann, dadurch gekennzeichnet , daß efa Zugang für Eingangssignale eine Verbindungseinrichtung für die Aufnahme von Datensignalleitungen, Steuerleitungen, eine Freigabesignalleitung und eine Identitätssignalleitung aufweist; daß mit der Verbindungseinrichtung für den Eingangssignalzugang eine Gatterschaltung verbunden ist, die die Datensignalleitungen und die Freigabesignalleitung aufnimmt und die einen Eingang für die Aufnahme eines Gattersi'gnals hat; daß die Betriebsschaltung jedes Moduls über die Gatterschaltung mit den Datensignalleitungen am Eingangssignalzugang verbindbar ist, wenn der Gatterschaltung eine ausgewählte Kombination von Gatterund Freigabesignalen zugeführt wird; und daß mit den Steuersignalleitungen an dem Eingangssignalzugang eine Dekodiereinrichtung verbunden ist, die auf vorgegebene Kombinationen von Steuersignalen auf den Steuerleitungen ein Gattersignal an die Gatterschaltung abgibt und ein Identitätssignal an
    die Identitätssignalleitung des Eingangssignal Zugangs
    abgibt.
    4098 4 9/0784
    11. Datenverarbeitungsanlage nach Anspruch 10, dadurch gekennzeichnet , daß die Gatterschaltung auf eine ausgewählte Kombination von Gatter- und Freigabesignal hin die Betriebsschaltung mit den Datensignalleitungen an dem EingangsSignalzugang.verbindet."
    12. Datenverarbeitungsanlage nach Anspruch 11, dadurch gekennzeichnet , daß die Betriebsschaltung an ausgewählt adressierten Plätzen angeordnete Speicherelemente aufweist und daß die Gatterschaltung auf die ausgewählte Kombination von Gatter- und Freigabesignal hin der Betriebsschaltung die auf den Steuersignalleitungen am Eingangssignalzugang erscheinenden Signale zuführt, die einem Leseoder Schreibbefehl für die Adressenplätze in den Speicherelementen entsprechen.
    13.Datenverarbeitungsanlage nach Anspruch 10, dadurch gekennzeichnet , daß die Dekodiereinrichtung eine logische Schaltung enthält, die ansprechfähig ist für Steuersignale am Eingangssignalzugang, welche ein logisches Wort mit mehreren Bits von einem Ende zum anderen Ende darstellen und daß die logische Schaltung auf das Erscheinen einer vorbestimmten Kombination von ausgewählten Bits des logischen Wortes das Identitätssignal erzeugt und bei Auftreten einer anderen solchen Kombination das Gattersignal erzeugt.
    14. Datenverarbeitungsanlage nach Anspruch 13, dadurch gekennzeichnet , daß die logische Schaltung zumindest auf das zweit- und drittbedeutsamste Bit des logischen Wortes das Identitätssignal erzeugt und zumindest auf das in der Bedeutung an letzter und zweitletzter Stelle stehende Bit des logischen Wortes das Gattersignal erzeugt.
    409849/0784
    15. Datenverarbeitungsanlage nach Anspruch 10, mit einer ausgewählten Anzahl von Modulen, mit denen zusätzlich eine Datenverarbeitungs-Hilfseinricfotung selektiv über Hilfsdatensignalleitungen, Hilfssteuerleitungen, eine Hilfsfreigabesignalleitung und eine Hilfsidentitätssignalleitung zusammenwirken kann, dadurch gekennzeichnet , daß ein Hilfszugang für Eingangssignale mit einer Hilfsverbindungseinrichtung zur Aufnahme der Hilfsdatenleitung, der Hilfssteuerleitung, der Hxlfsfrexgabesignalleitung und der Hilfsidentitätssignalleitung vorgesehen ist; daß mit der Verbindungseinrichtung für den Hilfszugang eine Hilfsgatterschaltung für die Aufnahme von Hilfsdatensignalleitungen und der Hilfisfreigabesignalleitung verbunden ist, und daß die Hilfsgatterschaltung einen Eingang zum Empfang eines Gattersignals aufweist? daß die Betriebsschaltung über die Hilfsgatterschaltung mit den Hilfsdatensignalleitungen am Hilfszugang verbindbar ist indem der.Hilfsgatterschaltung eine ausgewählte Kombination von Gatter- und Hilfsfreigabesignal zugeführt wird; und daß die Hilfsäekodiereinrichtung mit den Hilfssignalleitungen an dem Hilfszugang verbunden ist und bei Erscheinen einer vorgegebenen Kombination von an dem Hilfszugang in Abwesenheit der vorbestimmten Kombination von Steuersignalen am Eingangssxgnalzugang ein Gattersignal an die Hilfsgattereinrichtung und ein Hilfsidentitätssignal an die Identitätssignalleitung des Hilfszugangs abgibt.
    16. Datenverarbeitungsanlage nach Anspruch 15, dadurch gekennzeichnet , daß die Dekodiereinrichtung und die Hilfsdekodiereinrichtung eine Prioritätsschaltexnrichtung für die Auswahl aufweist, ob der Signaleingangszugang oder der Hilfszugang die Priorität über den jeweils anderen im Hinblick auf den Zugang zu der Betriebsschaltung haben soll und daß die Prioritätsschalteinrichtung eine Zugangswahlvorrichtung für die Erzeugung von
    9/0784
    Über- und UnterordnungsSignalen enthält, die dem gewünschten Prioritätszustand des einen Zugangs über den anderen entspricht, sowie eine logische Gatterschaltung enthält, die so angeschlossen ist, daß sie bei Empfang der über- und unterordnungssignale ein Gattersignal entweder an die Gatterschaltung oder die Hilfsgatterschaltung abgibt.
    17. Datenverarbeitungsanlage nach Anspruch 16, dadurch gekennzeichnet , daß die Dekodiereinrichtung und die Hilfsdekodiereinrichtung jeweils ein Logikelement mit zwei durch logische Ausgangssignale mit zwei Zuständen dargestellten logischen Betriebszuständen enthält und daß die Prioritätsschalteinrichtung so angeschlossen ist, daß die Ausgangssignale des Logikelementes und die Über- und Unterordnungssignale von der Zugangsauswahlvorrichtung emp-• fängt und je nach ausgewähltem Prioritätszustand das Gattersignal an die Gattereinrichtung bzw. Hilfsgattereinrichtung abgibt, die dem Eingangssignalzugang bzw. Hilfszugang zugeordnet ist.
    18. Datenverarbeitungsanlage nach Anspruch 17, dadurch gekennzeichnet , daß eine Verzögerungseinrichtung mit dem zum Zugang mit übergeordneter Priorität gehörenden Logikelement verbunden ist, daß dadurch das der logischen Gatterschaltung zugeführte logische Ausgangssignal des Logikelementes um eine vorbestimmte Verzögerungszeit verzögert wird und daß eine Zustandsgattereinrichtung mit dem einen Logikelement und der logischen Gatterschaltung verbunden ist und ein der Verfügbarkeit der Betriebsschaltung über einen der Zugänge entsprechendes Zustandssignal erzeugt.
    19. Datenverarbeitungsanlage nach Anspruch 18, dadurch gekennzeichnet , daß die Verzögerungszeit mindestens so lang wie die längste Operationszeitspanne der Betriebsschaltung ist.
    409849/0784
    20. Datenverarbeitungsanlage nach Anspruch 10, mit der Kombination einer Vielzahl von Schaltungsmodulen für den Betrieb mit einer Datenverarbeitungseinrichtung, gekennzeichnet durch eine Steuereinrichtung, die mit den Eingangssignalzugängen der Schaltungsmodule
    . verbunden ist und für den Empfang der Identitätssignale von diesen und für die Abgabe eines Freigabesignals an jeden Schaltungsmodul eingerichtet ist, wodurch die Gatterschaltung des einen Schaltungsmoduls, der mit der durch das Identitätssignal von dem einen Schaltungsmodul aktivierten Steuerung verbunden ist, freigegeben wird, wenn ihr ein Freigabesignal zugeführt wird, wodurch die Betriebsschaltung des einen Schaltungsmoduls an die Dätensignalieitungen angeschlossen wird.
    21. Datenverarbeitungsanlage nach Anspruch 20, dadurch g ekennzeichnet , daß die einander entsprechenden Datensignalleitungen, Steuerleitungen, Freigabesignalleitungen und Identitätssignalleitungen an den Eingangssignalzugängen jedes Schaltungsmoduls parallel an entsprechende Leitungen der Steuereinrichtungen für die Anzanl der Schaltungsmodule angeschlossen sind.
    22. Datenverarbeitungsanlage nach Anspruch 15, mit einer Vielzahl von Schaltungsmodulen für den Betrieb mit einer Datenverarbeitungseinrichtung und einer Datenverarbeitungs-Hilfseinrichtung, gekennzeichnet durch eine mit den Eingangssignalzugängen einer ersten Anzahl von Schaltungsmodulen verbundene Steuereinrichtung für den Empfang der Identitätssignale von den Schaltungsmodulen und die dementsprechende Abgabe eines Freigabesignals an jeden Schaltungsmodul der ersten Anzahl, und durch eine mit den Hilfszugängen einer zweiten Anzahl von Schaltungsmodulen verbundene HilfsSteuereinrichtung für den Empfang der Hilfsidentitätssignalevon den Schaltungsmodulen und für dementsprechende Abgabe eines Hilfsfreigabesignals an jeden Schaltungsmodul, wodurch die Betriebsschaltung eines der ersten
    409849/0784
    und der zweiten Anzahl gemeinsamen Schaltungsmoduls entweder mit den Datensignalleitungen des Eingangssignalzugangs oder mit den Hilfsdatensignalleitungen des Hilfszugangs verbunden wird, entsprechend dem Auftreten des entsprechenden Freigabesignals oder Hilfsfreigabesignals von der entsprechenden Steuereinrichtung oder Hilfssteuereinrichtung in einer vorbestimmten Reihenfolge, wobei die Steuereinrichtung bzw. Hilfssteuereinrichtung durch das Identitätssignal bzw. Hilfsidentitätssignal von diesem einen Schaltungsmodul aktiviert sind.
    23. Datenverarbeitungsanlage zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 5, mit einem logischen Signalsystem, in welchem eine Datenverarbeitungseinrichtung über Adressen- und Steuerleitungen mit den adressierbaren Schaltungsmodulenin Verbindung steht, welche Speicherelemente zur selektiven Manipulation logischer Signale enthält, gekennzeichnet durch eine erste und eine zweite Modulsteuerung, die je eine ausgewählte Adresse haben und an die Adressen- und Steuerleitungen der Datenverarbeitungsanlage angeschlossen sind und selektiv einen zugeordneten Schaltungsmodul an die Datenverarbeitungseinrichtung anschließen; durch einen Schaltungsmodul, der an die erste Modulsteuerung angeschlossen ist und eine Vielzahl von an ausgewählten Adressenplätzen angeordnetehSpeicherelementenenthält und der auf Adressen- und Steuerangaben auf den Adressen- und Steuerleitungen hin betriebsmäßig mit der Datenverarbeitung Seinrichtung zusammenwirkt; sowie durch eine Datenverarbeitungs-Hilfseinrichtung, die betriebsmäßg wie ein Speichermodul über die Adressen- und Steuerleitungen und die zweite Modulsteuerung mit der Datenverarbeitungseinrichtung verbunden ist und auf auf den Adressen- und Steuerleitungen der Datenverarbeitungseinrichtung erscheinende Adressen- und Steuerangaben hin selektiv logische Signale manipuliert.
    409849/0784
    24. Datenverarbeitungsanlage nach Anspruch 23, dadurch gekennzeichnet , daß der Schaltungsmodul ein
    ■ Paar von Signalzugängen aufweist, von denen jeder eine Gatterschaltung für die selektive Kopplung des Speicherelemente des Schaltungsmoduls an einen der Signalzugänge hat, wobei die erste Modulsteuerung mit einem der Signalzugänge verbunden ist? daß die Datenverarbeitungs-Hiifseinrichtung Adressen- und Steuerleitungen für die Verbindung mit adressierbarenSchaltungsmodulen mit Speicherelementen bei selektiver Manipulation eines logischen Signals enthält; und daß eine dritte Modulsteuerung mit den Adressen- und Steuerleitungen der'Datenverarbeitungs-HiIfseinrichtung verbunden ist und mit dem anderen Signalzugang des Speichermoduls verbunden ist für das. betriebsmäßige Zusammenwirken mit den Speicherelementen des Schaltungsmoduls, wenn Adressen- und Steuerangaben in den Adressen- und den Steuerieitungen der Datenverarbeitungseinrichtung erscheinen, wenn ein Speicherelement nicht mit der Datenverarbeitungseinrichtung zusammenwirkt.
    25. Datenverarbeitungsanlage nach Anspruch 24, dadurch gekennzeichnet , daß die Adressen- und Steuerleitungen der Datenverarbeitungs-Hilfseinrichtung über die zweite Modu!steuerung an die Adressen- und Steuerleitungen der Datenverarbeitungseinrichtung angeschlossen sind.
    26. Verfahren nach Anspruch 1 für den Betrieb einer Datenverarbeitungsanlage mit Schaltungsffiodulen, die an adressierten Plätzen angeordnete Speicherelemente aufweisen, mit einer den Speicher benutzenden Datenverarbeitungseinrichtung und einer Datenverarbeitungs-Hilfseinrichtung, von denen jede selektiv über gesonderte Signalzugänge der Schaltungsmodule auf deren Speicherelemente schaltbar sind, wobei die Schaltungsmodule eine periodische Speichervergrößerung der darin entsprechend einer ihnen zugeführten Taktfolge von Signalen
    409849/0784
    gespeicherten logischen Angaben erfordern, dadurch gekennzeichnet , daß die Taktfolgen zur Speichervergrößerung für jeden Signalzugang des Schaltungsmoduls erzeugt werden; daß eine Taktfolge von an einem Signaleingang des Schaltungsmoduls anstehenden Signalen selektiv zum Speicherelement zur Erzeugung einer Speichervergrößerungsoperation durchgeschaltet wird; und daß Wiederholungen der an der Speichereinrichtung des Schaltungsmoduls ausgeführten Speichererweiterungsoperationen unabhängig von deren Signalzugang akkumuliert werden, durch welchen die Taktfolge von Signalen für jede derartige Speichererweiterungsoperation selektiv geschaltet wird, so daß eine Anzeige des Zustands der Speichererweiterung bewahrt wird, wenn die Signalzugänge selektiv durchgeschaltet werden.
    27. Verfahren nach Anspruch 26/ dadurch gekennzeichnet, daß bei selektiver Durchschaltung der Signalzugänge die Speichereinrichtung des Schaltungsmoduls die Taktfolge von Signalen empfängt, die an dem Signalzugang ansteht, durch welche eine der getrennten Datenverarbeitungseinrichtungen auf die Speichereinrichtung des Schaltungsmoduls zum Zeitpunkt einer angeforderten Speichererweiterung geschaltet wird.
    28. Verfahren nach Anspruch 26, dadurch gekennzeichnet, daß bei selektiver Durchschaltung der Signalzugänge die Speichereinrichtung des Schaltungsmoduls die Taktfolge von Signalen empfängt, die an dem Signalzugang ansteht, durch welchen eine der gesonderten Datenverarbeitungseinrichtungen zuletzt auf die Speichereinrichtung des Moduls vor dem Zeitpunkt einer angeforderten Speichererweiterung geschaltet war.
    29. Verfahren nach Anspruch 26, dadurch gekennzeichnet, daß bei selektiver Durchschaltung der Signalzugänge die Speichereinrichtung des Schaltungsmoduls die Taktfolge eines Signals empfängt, das an einem vorbestimmten Signal-
    409849/0784
    zugang des Schaltungsmoduls unter der Bedingung ansteht/ daß keine Datenverarbeitungseinrichtung zum Zeitpunkt einer angeforderten Speichererweiterung auf die Speichereinrichtung des Schaltungsmoduls geschaltet ist.
    30. Verfahren nach Anspruch 26, dadurch gekennzeichn et, daß das Zusammenwirken der Datenverarbeitungseinrichtung mit der Speichereinrichtung in einem Arbeitsintervall erfolgt , das kürzer als die Periodendauer der angeforderten Speichererweiterungen ist, daß alle schwebenden Prioritätsanforderungen für den Zugriff zur Speichereinrichtung des Schaltungsmoduls zum Zeitpunkt der Anforderung einer Speichererweiterung von einer Datenverarbeitungseinrichtung festgestellt wer den,daß die Zufuhr einer Folge von Taktsignalen zur Speichereinrichtung verzögert wird und diese Datenverarbeitungseinrichtung selektiv auf die Speichereinrichtung des Schaltungsmoduls während des nächstfolgenden ArbeitsIntervalls geschaltet wird, daß der angeforderten Speichererweiterung folgt, und daß die Taktfolge von Signalen der Speichereinrichtung des Schaltungsaoduls im nächstfolgenden Arbeitsintervall zugeführt wird.
    31. Datenverarbeitungsanlage zur Durchführung des Verfahrens nach einem der vorangehenden Ansprüche, mit Schaltungsmodulen, die ein Paar von Signalzugängen und an adressierten Plätzen angeordnete Speichereinrichtungen aufweisen und für das Zusammenwirken mit einer getrennten, den Speicher benützendenDatenverarbeitungseinrichtung, die über das Paar von Signalzugängen des Moduls selektiv auf die Speichereinrichtungen schaltbar ist, wobei die Speichereinrichtungen entsprechend einer ihnen zugeführten Taktfolge von Signalen eine wiederholte Speichererweiterung der gespeicherten logischen Angaben erfordern, dadurch gekennzeichnet , daß eine Steuereinrichtung für die Schaltungsinodule eine den Speicher benutzende Datenverarbeitungseinrichtung mit einem entsprechenden Sig-
    409849/0784
    nalzugang des Schaltungsmoduls verbindet; daß jede Steuereinrichtung für die Schaltungsmodule einen Zeitgeber für die wiederholte Abgabe der für die Speichererweiterung benötigte Taktfolge von Signalen an dem entsprechenden Signalzugang enthält; daß der Schaltungsmodul eine Gatterschaltung für die selektive Verbindung der Speichereinrichtung mit einem der Signalzugänge und damit für den betriebsmäßige Anschluß dar entsprechenden Datenverarbeitungseinrichtung an diesen; daß der Schaltungsmodul einen mit der Speichereinrichtung verbundenen Akkumulator zur Speicherung einer Anzeige des Zustands der Speichererweiterung aufweist; und daß eine Detektoreinrichtung vorgesehen ist, die den Akkumulator des Schaltungsmoduls für die Spei-
    cherung von Wiederholungen von der Speichereinrichtung des Speichermoduls zugeführten Taktfolgen von Signalen
    aktiviert , unabhängig davon, welcher Signalzugang auf die Speichereinrichtung geschaltet ist.
    32. Datenverarbeitungsanlage nach Anspruch 31, dadurch gekennzeichnet , daß die Gatterschaltung des Schaltungsmoduls der Speichereinrichtung die an dem Signalzugang anstehende Taktfrequenz von Signalen zuführt, durch welchen eine den Speicher benutzende Datenverarbeitungseinrichtung mit der Speichereinrichtung zu dem Zeitpunkt verbunden ist, an dem eine Speichererweiterung angefordert wird.
    33.Datenverarbeitungsanlage nach Anspruch 31, dadurch gekennzeichnet , daß die Gatterschaltung des Söhaltungsmoduls der Speichereinrichtung die an dem Signaleingang anstehende Folge von Signalen zuführt, durch welchen eine, den Speicher benutzende Datenverarbeitungseinrichtung zuletzt auf die Speichereinrichtung vor dem Zeitpunkt geschaltet war, zu dem eine Speichererweiterung angefordert wird.
    409849/0784
    34. Datenverarbeitungsanlage nach Anspruch 31, dadurch gekennzeichnet , daß die Gatterschaltung des Schaltungsmoduls der Speichereinrichtung die an einem vorher ausgewählten Signalzugang anstehende Taktfolge von Signalen zuführt, wenn die Bedingung erfüllt ist, daß kein Signalzugang zu dem Zeitpunkt einer angeforderten Speichererweiterung auf die Speichereinrichtung geschaltet ist.
    409849/0784
    Leerseite
DE2422802A 1973-05-14 1974-05-10 Datenverarbeitungsanlage Pending DE2422802A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/360,286 US4028675A (en) 1973-05-14 1973-05-14 Method and apparatus for refreshing semiconductor memories in multi-port and multi-module memory system

Publications (1)

Publication Number Publication Date
DE2422802A1 true DE2422802A1 (de) 1974-12-05

Family

ID=23417363

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2422802A Pending DE2422802A1 (de) 1973-05-14 1974-05-10 Datenverarbeitungsanlage

Country Status (8)

Country Link
US (1) US4028675A (de)
JP (1) JPS5019331A (de)
AU (1) AU6520674A (de)
BR (1) BR7403902D0 (de)
DE (1) DE2422802A1 (de)
FR (1) FR2230018B3 (de)
GB (1) GB1468231A (de)
IT (1) IT1021542B (de)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50119248U (de) * 1974-03-14 1975-09-29
US4150428A (en) * 1974-11-18 1979-04-17 Northern Electric Company Limited Method for providing a substitute memory in a data processing system
US4172282A (en) * 1976-10-29 1979-10-23 International Business Machines Corporation Processor controlled memory refresh
JPS54144827A (en) * 1978-05-04 1979-11-12 Hitachi Ltd Address signal supply system for memory circuit
US4185323A (en) * 1978-07-20 1980-01-22 Honeywell Information Systems Inc. Dynamic memory system which includes apparatus for performing refresh operations in parallel with normal memory operations
US4316248A (en) * 1978-12-06 1982-02-16 Data General Corporation Memory refresh means including means for providing refresh addresses during power failures
US4249247A (en) * 1979-01-08 1981-02-03 Ncr Corporation Refresh system for dynamic RAM memory
US4328566A (en) * 1980-06-24 1982-05-04 Pitney Bowes Inc. Dynamic memory refresh system with additional refresh cycles
US4419746A (en) * 1980-10-14 1983-12-06 Texas Instruments Incorporated Multiple pointer memory system
US4473877A (en) * 1981-04-16 1984-09-25 Tulk Ronald K Parasitic memory expansion for computers
US4723204A (en) * 1982-07-07 1988-02-02 Gte Automatic Electric Incorporated Dynamic RAM refresh circuit
US4485457A (en) * 1983-05-31 1984-11-27 Cbs Inc. Memory system including RAM and page switchable ROM
US4654788A (en) * 1983-06-15 1987-03-31 Honeywell Information Systems Inc. Asynchronous multiport parallel access memory system for use in a single board computer system
US4609996A (en) * 1983-08-12 1986-09-02 International Business Machines Corporation Memory access system for a computer system adapted to accept a memory expansion module
US4649475A (en) * 1984-04-02 1987-03-10 Sperry Corporation Multiple port memory with port decode error detector
US4627030A (en) * 1985-02-04 1986-12-02 At&T Bell Laboratories Dual port memory word size expansion technique
US5168558A (en) * 1986-01-29 1992-12-01 Digital Equipment Corporation Apparatus and method for providing distributed control in a main memory unit of a data processing system
US4954946A (en) * 1986-01-29 1990-09-04 Digital Equipment Corporation Apparatus and method for providing distribution control in a main memory unit of a data processing system
US4933836A (en) * 1986-10-29 1990-06-12 United Technologies Corporation n-Dimensional modular multiprocessor lattice architecture
US5317501A (en) * 1987-10-13 1994-05-31 Bernhard Hilpert Control system for a numerically controlled machine
JPH0269821A (ja) * 1988-09-06 1990-03-08 Seiko Epson Corp 画像表示制御装置
US5166903A (en) * 1988-10-25 1992-11-24 International Business Machines Corporation Memory organization with arrays having an alternate data port facility
US5150328A (en) * 1988-10-25 1992-09-22 Internation Business Machines Corporation Memory organization with arrays having an alternate data port facility
JP2575557B2 (ja) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
US5465339A (en) * 1991-02-27 1995-11-07 Vlsi Technology, Inc. Decoupled refresh on local and system busses in a PC/at or similar microprocessor environment
JP2737820B2 (ja) * 1992-09-24 1998-04-08 インターナショナル・ビジネス・マシーンズ・コーポレイション メモリアクセス方法およびシステム
JP2666033B2 (ja) * 1993-02-18 1997-10-22 日本アイ・ビー・エム株式会社 データ供給装置
US5603055A (en) * 1994-01-27 1997-02-11 Vlsi Technology, Inc. Single shared ROM for storing keyboard microcontroller code portion and CPU code portion and disabling access to a portion while accessing to the other
US5802544A (en) * 1995-06-07 1998-09-01 International Business Machines Corporation Addressing multiple removable memory modules by remapping slot addresses
US6701432B1 (en) * 1999-04-01 2004-03-02 Netscreen Technologies, Inc. Firewall including local bus
US6795911B1 (en) * 2000-01-28 2004-09-21 Oki Electric Industry Co., Ltd. Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction
JP2002109885A (ja) * 2000-09-28 2002-04-12 Toshiba Corp 半導体記憶装置
US7019420B2 (en) * 2003-06-30 2006-03-28 Symbol Technologies, Inc. Battery pack with built in communication port
US7296129B2 (en) * 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
US7539800B2 (en) 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7331010B2 (en) * 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7512762B2 (en) * 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7395476B2 (en) 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7356737B2 (en) 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) * 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7594055B2 (en) * 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7493439B2 (en) * 2006-08-01 2009-02-17 International Business Machines Corporation Systems and methods for providing performance monitoring in a memory system
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US7587559B2 (en) * 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
US7490217B2 (en) 2006-08-15 2009-02-10 International Business Machines Corporation Design structure for selecting memory busses according to physical memory organization information stored in virtual address translation tables
US7539842B2 (en) 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7870459B2 (en) * 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7477522B2 (en) * 2006-10-23 2009-01-13 International Business Machines Corporation High density high reliability memory module with a fault tolerant address and command bus
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US20090119114A1 (en) * 2007-11-02 2009-05-07 David Alaniz Systems and Methods for Enabling Customer Service
CN101866375A (zh) * 2009-04-16 2010-10-20 鸿富锦精密工业(深圳)有限公司 过孔尺寸分布检查系统及方法
US9396104B1 (en) * 2010-03-22 2016-07-19 Seagate Technology, Llc Accessing compressed data of varying-sized quanta in non-volatile memory
US20120239887A1 (en) * 2011-03-16 2012-09-20 Advanced Micro Devices, Inc. Method and apparatus for memory control
CN111080199A (zh) * 2019-11-30 2020-04-28 航天科技控股集团股份有限公司 一种产品入库管理系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3292151A (en) * 1962-06-04 1966-12-13 Ibm Memory expansion
US3419849A (en) * 1962-11-30 1968-12-31 Burroughs Corp Modular computer system
US3274561A (en) * 1962-11-30 1966-09-20 Burroughs Corp Data processor input/output control system
US3416139A (en) * 1966-02-14 1968-12-10 Burroughs Corp Interface control module for modular computer system and plural peripheral devices
US3568160A (en) * 1968-09-03 1971-03-02 Sperry Rand Corp Access control for plural magnetic memories
US3597744A (en) * 1969-09-11 1971-08-03 James H Case Digital computing and information processing machine and system
BE758811A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Systeme de traitement d'information ayant un emmagasinage sans structure pour traitements emboites
US3626374A (en) * 1970-02-10 1971-12-07 Bell Telephone Labor Inc High-speed data-directed information processing system characterized by a plural-module byte-organized memory unit
US3745533A (en) * 1970-05-27 1973-07-10 Hughes Aircraft Co Digital data storage register modules
US3740723A (en) * 1970-12-28 1973-06-19 Ibm Integral hierarchical binary storage element
US3757308A (en) * 1971-09-03 1973-09-04 Texas Instruments Inc Data processor
US3760379A (en) * 1971-12-29 1973-09-18 Honeywell Inf Systems Apparatus and method for memory refreshment control
US3800295A (en) * 1971-12-30 1974-03-26 Ibm Asynchronously operated memory system
US3737879A (en) * 1972-01-05 1973-06-05 Mos Technology Inc Self-refreshing memory
GB1422952A (en) * 1972-06-03 1976-01-28 Plessey Co Ltd Data processing system fault diagnostic arrangements
US3790961A (en) * 1972-06-09 1974-02-05 Advanced Memory Syst Inc Random access dynamic semiconductor memory system
US3836892A (en) * 1972-06-29 1974-09-17 Ibm D.c. stable electronic storage utilizing a.c. stable storage cell
US3810129A (en) * 1972-10-19 1974-05-07 Ibm Memory system restoration
US3858184A (en) * 1973-01-22 1974-12-31 Monolithic Syst Corp Automatic non-interrupting refresh technique

Also Published As

Publication number Publication date
BR7403902D0 (pt) 1974-12-03
GB1468231A (en) 1977-03-23
IT1021542B (it) 1978-02-20
FR2230018B3 (de) 1978-05-12
US4028675A (en) 1977-06-07
JPS5019331A (de) 1975-02-28
AU6520674A (en) 1975-08-07
FR2230018A1 (de) 1974-12-13

Similar Documents

Publication Publication Date Title
DE2422802A1 (de) Datenverarbeitungsanlage
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2760322C2 (de)
DE2716051C2 (de) Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE60317347T2 (de) Speicherschaltung mit nichtflüchtigem ram und ram
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
CH619309A5 (de)
DE2134402A1 (de) Vorrichtung zum Abfragen der Verfug barkeit eines Kommunikationsweges zu einer Eingabe Ausgabeeinheit
CH615521A5 (de)
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE1774052B1 (de) Rechner
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE2809602A1 (de) Kanalbus-steuereinrichtung
DE102008021348A1 (de) Halbleiterspeicher, Speicherzugriffs-Steuersystem und Datenlese-Verfahren
DE3103786A1 (de) Datenuebertragungssystem
DE2133661C2 (de) Pufferspeicher-Einrichtung mit einem Speicher
DE3508321A1 (de) Programmierbare schaltung zur steuerung einer fluessigkristallanzeige
DE1499206B2 (de) Rechenanlage
DE3911721C2 (de)
DE2905676A1 (de) Integrierte schaltung mit einem einzigen chip
DE2828741A1 (de) Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen
DE602004008712T2 (de) Speicherbandbreiten-Steuereinrichtung
DE60009618T2 (de) Multiprozessorvorrichtung mit einer Schnittstelle für einen gemeinsamen Speicher