DE2740056A1 - Mulitprozessor-rechnersystem - Google Patents

Mulitprozessor-rechnersystem

Info

Publication number
DE2740056A1
DE2740056A1 DE19772740056 DE2740056A DE2740056A1 DE 2740056 A1 DE2740056 A1 DE 2740056A1 DE 19772740056 DE19772740056 DE 19772740056 DE 2740056 A DE2740056 A DE 2740056A DE 2740056 A1 DE2740056 A1 DE 2740056A1
Authority
DE
Germany
Prior art keywords
rail
data
processor module
input
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19772740056
Other languages
English (en)
Other versions
DE2740056C2 (de
Inventor
Joel Folsom Barlett
Richard Mccloud Bixler
William Henry Davidow
John Alexander Despotakis
Peter John Graziano
Michael Dennis Green
David Albert Greig
Steven John Hayashi
James Allen Katzman
David Robert Mackie
Evoy Dennis Leo Mc
James Gary Treybig
Steven Warren Wierenga
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of DE2740056A1 publication Critical patent/DE2740056A1/de
Application granted granted Critical
Publication of DE2740056C2 publication Critical patent/DE2740056C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Description

Dipl.-In9. H. MITSCHERLICH D-SOOO MÜNCHEN 22 Di pi. -I ng. K. GUNSCHMANN Steinsdorf straße 10
D,. r.V not. W. KÖRBER * (089) WT
Dipl.-I η ς. J. SCHMIDT-EVERS \£> PATENTANWÄLTE " » ^
5.September 1977
Tandem Computers Incorporated
20605 Valley Green Drive
Cupertino, California 95014
Patentanmeldung
Multiprozessor-Rechnersystem
8098 1 1/0810
27Α0056
BESCHREIBUNG
Die Erfindung bezieht sich auf ein Multiprozessor-Rechnersystem, bei dem miteinander verbundene Prozessormodule einen Simultanbetrieb (parallele Datenverarbeitung in getrennten Prozessormodulen) sowie einen Mehrprogrammbetrieb (zeitlich verzahnte Verarbeitung in einem einzigen Prozessormodul) ermöglichen.
Insbesondere betrifft die Erfindung ein System, das es ermöglicht, Daten mit hoher Geschwindigkeit zu rechnerabhängigen Datenbanken zu Übertragen, und bei dem das Versagen eines einzigen Bauteils nicht zu einer Unterbrechung oder Kontamination des Betriebs des Systems führen kann.
Es gibt zahlreiche Anwendungsfälle, in denen eine direkte Verarbeitung großer Datenmengen mit einer hohen Geschwindigkeit erforderlich ist. Als Beispiele seien Einzelhandelsketten mit automatisierter Abrechnung genannt, ferner Inventurvorgänge, Kreditgeschäfte und dgl. bei Banken, wo mit automatischen Buchungsvorgängen gearbeitet wird.
Bei derartigen Rechneranwendungen ist es wichtig und häufig von ausschlaggebender Bedeutung, daß die Verarbeitung der Daten nicht unterbrochen wird. Jedes Versagen eines im direkten Betrieb arbeitenden Rechnersystems kann zu einer Unterbrechung eines Teils der betreffenden Geschäftstätigkeit führen und erhebliche Verluste an Daten und Geld verursachen.
Daher muß bei einem direkt arbeitenden System dieser Art nicht nur eine ausreichende Rechenleistung zur Verfügung stehen, damit Mehrfachrechenvorgänge gleichzeitig durchgeführt werden können, sondern es muß auch eine Betriebsart verfügbar sein, die eine Fortsetzung der Verarbeitung von Daten ohne Unterbrechung selbst dann ermöglicht, wenn irgendein Teil des Systems versagt.
809811/0810
Sas System muß entweder störungsfrei arbeiten, so daß sich als Folge einer Störung keine Verringerung des Durchsatzes ergibt, oder es muß den Betrieb lediglich verlangsamen, wobei jedoch im Fall einer Störung die Möglichkeit zur Verarbeitung von Daten vollständig aufrechterhalten bleibt.
Ferner muß das System so arbeiten, daß ein Versagen eines einzigen Bauteils nicht zu einer Kontamination des Betriebs des Systems führen kann. Auch soll das System einen fehlertoleranten Rechenbetrieb ermöglichen. Zu diesem Zweck müssen alle Fehler und Störungen innerhalb des Systems entweder automatisch korrigiert werden, oder wenn eine solche automatische Korrektur nicht möglich ist, soll der Fehler bzw. die Störung nachgewiesen werden; ist ein solcher Nachweis nicht möglich, muß jede Weiterverbreitung verhindert werden, um eine Kontamination der übrigen Teile des Systems zu verhindern.
Da ein einzelner Prozessormodul versagen kann, liegt es auf der Hand, daß bei einem System, das im Direktbetrieb ohne jede Unterbrechung einsatzfähig ist, mehrere Prozessormodule vorhanden sein müssen.
Somit erfüllen Systeme mit mehreren Prozessormodulen eines der Erfordernisse für einen ununterbrochenen Betrieb, doch gewährleistet die Verwendung mehrerer Prozessormodule bei einem solchen System für sich allein nicht, daß das System beim Versagen eines bestimmten Bauteils betriebsfähig bleibt; die Gründe hierfür werden im folgenden erläutert.
Als Ausgangspunkt ist festzustellen, daß man Mehrfachprozessoren benötigt, wenn bei Rechensystemen für den Direktbetrieb bei großen Datenmengen mit Transaktionsorientierung ein unterbrechungsloser Betrieb gewährleistet sein sollo Jedoch gewährleistet allein die Verwendung mehrerer Prozessoren nicht, daß sämtliche notwendigen Bedingungen erfüllt werden, und in der Praxis
11/0810
hat sich die Erfüllung der für den Direktbetrieb geltenden zusätzlichen Bedingungen bis jetzt als schwierig erwiesen.
Um eine ununterbrochene Datenverarbeitung zu gewährleisten, wendet man bis jetzt jeweils eines von zwei bekannten Verfahren an, d.h. man läßt zwei oder mehr große monolithische Rechner für allgemeine Zwecke zusammenarbeiten, oder man verbindet mehrere Kleinrechner miteinander, um einen Simultanbetrieb zu ermöglichen.
Im ersteren Fall besteht ein bekanntes Verfahren zur Verwendung von zwei großen monolithischen Rechnern für allgemeine Zwecke im Verbundbetrieb darin, die beiden Rechner in Verbindung mit einem gemeinsamen Speicher zu betreiben. Eine Betriebsstörung bei dem gemeinsamen Speicher kann jedoch zu einer Unterbrechung des Betriebs des gesamten Systems fuhren. Die Verwendung eines gemeinsamen Speichers führt außerdem zu mehreren weiteren Problemen, zu denen das Ordnen der Zugriffe zu dem gemeinsamen Speicher gehört. Somit erfüllt ein solches System zwar einige, jedoch nicht alle Bedingungen für einen ununterbrochenen Betrieb.
Ferner sind Systeme mit mehreren Prozessoren, bei denen große Rechner für allgemeine Zwecke verwendet werden, ziemlich teuer, da jeder Rechner als monolithische Einheit ausgebildet ist, so daß jedesmal dann, wenn ein weiterer Prozessor zu dem System hinzugefügt wird, auch die Gehäuse, die Kühleinrichtung usw. erneut beschafft werden müssen, obwohl diese Teile eigentlich nicht benötigt würden.
Bei dem an zweiter Stelle genannten bekannten Verfahren der Verwendung mehrerer Kleinrechner ergibt sich ebenso wie bei der Verwendung großer Rechner für allgemeine Zwecke der Nachteil, daß man ein Verbindungsglied zwischen den Rechnern vorsehen muß, die ursprünglich nicht für eine solche Betriebsweise
80981 1 /08 1 0
2740055
konstruiert waren. Die erforderlichen Verbindungen wurden daher gewöhnlich über den Eingabe-Ausgabe-Kanal hergestellt. Solche Verbindungen arbeiten jedoch notwendigerweise langsamer als innere Ubertragungseinrichtungen der Prozessoren, und daher ergibt sich bei solchen Verbindungen zwischen verschiedenen Prozessoren eine relativ niedrige Arbeitsgeschwindigkeit.
Weiterhin benötigt man für die Verbindungen zwischen den Prozessoren spezielle Übergangskarten, deren Verwendung zu einer erheblichen Steigerung der Kosten des gesamten Systems führen, und bei denen Störungen auftreten können, die zu einer Unterbrechung des Betriebs des Systems führen. Wenn man die Verbindungen zwischen den Prozessoren und die Übergangs- oder Anpassungskarten in Doppelausführung vorsieht, um Betriebsstörungen zu vermeiden, ergibt sich eine noch erheblich größere Steigerung der Kosten des Gesamtsystems.
Die Verwendung doppelter Verbindungen und Anpassungskarten zwischen sämtlichen Prozessoren erwies sich allgemein vom Standpunkt der Betriebseigenschaften als sehr unhandlich und ziemlich kompliziert.
Bei den bekannten Anordnungen ergeben sich weitere Schwierigkeiten bezüglich der Herstellung der Verbindungen zu den Peripheriegeräten.
Wenn mehrere Peripheriegerate an eine einzige Eingabe-Ausgabe-Leitung eines Prozessors angeschlossen sind, der zu einem Syste mit mehreren Prozessoren gehört, und wenn der betreffende Prozessor versagt, stehen die Peripheriegerate dem System selbst dann nicht zur Verfügung, wenn der gestörte Prozessor über entsprechende Verbindungen in Verbindung mit einem oder mehreren weiteren Prozessoren des Systems steht.
Um diese Schwierigkeit zu vermeiden, ist es bis jetzt üblich,
8 0 9 8 1 1 / Π 8 1 Π
274005g
einen Eingabe-Ausgabe-Leitungsschalter zu verwenden, um die Eingabe-Ausgabe-Leitungen so miteinander zu verbinden, daß die Peripheriegeräte weiterhin zugänglich bleiben, wenn ein Prozessor versagt, der mit den Peripheriegeräten zusammenarbeitet, welche einer bestimmten Eingabe-Ausgabe-Leitung zugeordnet sind. Solche Leitungsschalter sind kostspielig, und ihr Versagen kann zu einer Außerbetriebsetzung eines erheblichen Teils des gesamten Systems führen.
Die Beschaffung der Programmausrüstung bereitet bei den bis jetzt bekannten Systemen mit mehreren Prozessoren ebenfalls erhebliche Schwierigkeiten.
Bis jetzt standen Programmausrüstungen für solche Mehrfachprozessorsysteme nur in geringem Umfang zur Verfügung. In Fällen, in denen Programmausrüstungen für solche Multiprozessorsysteme entwickelt worden waren, beschränkten sie sich in den meisten Fällen auf eine kleine Anzahl von Prozessoren, und sie waren der Hinzunahme weiterer Prozessoren nicht angepaßt. In vielen Fällen war es erforderlich, entweder das Betriebssystem abzuändern oder einen Teil der Funktionen des Betriebssystems in das eigene Programm des Benutzers zu übernehmen; hierbei handelt es sich um eine kostspielige und zeitraubende Aufgabe.
Bis jetzt ist kein befriedigendes standardisiertes Betriebssystem für den Verbundbetrieb von Prozessoren bekannt. Ferner steht kein Betriebssystem zur Verfügung, das eine automatische Anpassung an die Verwendung zusätzlicher Prozessoren bei einem Verbundsystem ermöglicht, das so ausgebildet ist, daß sich weitere Prozessormodule hinzufügen lassen, wenn sich eine höhere Rechenleistung als erforderlich erwiesen hat»
Der Erfindung liegt die Aufgabe zugrunde, ein Multiprozessorsystem für den Direktbetrieb für transaktionsorientierte Anwendungen zu schaffen, bei dem die sich bei den bekannten Systemen ergebenden Schwierigkeiten vermieden sind. Insbesondere
H09B 11/0810
soll gewährleistet werden, daß das Versagen eines einzelnen Bauteils nicht zur Außerbetriebsetzung des Systems oder zu einer bemerkbaren Beeinflussung des Betriebsablaufs führt. In diesem Sinne soll ein System geschaffen werden, bei dem kein einzelnes Bauteil vorhanden ist, das mechanisch oder elektrisch mit allen übrigen Teilen des Systems in Verbindung steht. Weiterhin soll gewährleistet werden, daß jeder auftretende Fehler korrigiert oder nachgewiesen werden kann, und daß eine Kontamination des Systems durch einen solchen Fehler verhindert wird. Schließlich soll ein System geschaffen werden, das so aufgebaut ist und nach einem solchen grundsätzlichen Betriebsverfahren arbeitet, daß sich der Benutzer nicht mit der Hardware des Systems und dem Protokoll über die Verbindungen zwischen den Prozessoren zu befassen braucht. Bei dem erfindungsgemäßen System sind alle Hauptteile als Module ausgebildet, so daß sich jede größere Einheit aus- oder einbauen läßt, ohne daß eine Betriebsunterbrechung des Systems erforderlich wird. Weiterhin läßt sich das System horizontal durch die Hinzunahme von standardisierten Prozessormodulen bzw. in den meisten Fällen vertikal durch die Hinzunahme von Peripheriegeräten erweitern, ohne daß eine Betriebsunterbrechung oder eine Abänderung der Hardware oder der Programmausrüstung erforderlich ist.
Diese Aufgabe ist erfindungsgemäß durch die Schaffung eines Multiprozessorsystems gelöst, das mehrere unabhängige Prozessormodule und Datenwege aufweist.
Bei einer AusfUhrungsform der Erfindung sind sechzehn getrennte Prozessormodule durch eine Interprozessorleitung so verbunden, daß sowohl ein Simultanbetrieb als auch ein Mehrprogrammbetrieb möglich ist. Hierbei arbeitet jeder Prozessormodul mit bis zu 32 Geräteanschlüssen zusammen, von denen jeder bis zu acht Peripheriegeraten steuern kann«
B0981 1/0810
Zwischen allen Hauptteilen des Systems sind jeweils mehrere unabhängige Verbindungswege und Zugänge vorhanden, um zu gewährleisten, daß es stets möglich ist, eine Verbindung zwischen Prozessormodulen sowie zwischen diesen und den Peripheriegeräten über mindestens zwei Wege herzustellen, wobei außerdem Gewähr dafür besteht, daß der Betrieb des Systems nicht durch eine einzige Störung unterbrochen wird.
Zu den mehrfach vorhandenen Übertragungswegen gehören mehrere Interprozessorleitungen, welche in Verbindung mit jedem Prozessormodul stehen, Mehrfachzugänge bei jedem Geräteanschluß sowie Eingabe-Ausgäbe-Leitungen, die mit sämtlichen Geräteanschlüssen verbunden sind, um eine Zugänglichkeit für mindestens zwei verschiedene Prozessormodule zu schaffen.
Bei jedem Prozessormodul handelt es sich um einen standardisierten Modul, der als Bestandteil des Moduls einer Zentraleinheit einen Hauptspeicher, eine Interprozessor-Steuereinrichtung und einen Eingabe-Ausgäbe-Kanal aufweist.
Zu jedem Prozessormodul gehört ein Mikroprozessor, der durch Mikrobefehle gesteuert wird, welche als Grundbefehle in jedem Prozessormodul enthalten sind.
Der in jedem Prozessormodul enthaltene Grundbefehl berücksichtigt die Tatsache, daß ein Interprozessor-Verbindungsglied vorhanden ist; wenn dem System ein weiterer Prozessormodul hinzugefügt wird, wird das Betriebssystem, von dem in jedem Prozessormodul eine Kopie vorhanden ist, darüber informiert,daß ein neues Systemelement für den Betrieb in Verbindung mit dem vorhandenen Betriebssystem zur Verfügung steht, ohne daß es erforderlich ist, die Hardware oder die ProgrammausrUstung des Systems abzuändern.
Um die Leistung zu steigern und sehr hohe Transaktionsgeschwindigkeiten aufrechtzuerhalten, weist jeder Prozessormodul einen
809811/0810
zweiten Mikroprozessor auf, der den Eingabe-Ausgäbe-Vorgängen zugeordnet ist.
Da für den Hauptspeicher zwei Zugänge verfügbar sind, und zwar über die Zentraleinheit sowie über den Eingabe-Ausgabe-Kanal, ist der Speicher für Eingabe-Ausgäbe-Vorgänge direkt zugänglich, wodurch die Leistung ebenfalls gesteigert wird.
Jeder Modul ist physikalisch so aufgebaut,daß er sich auf einer minimalen Anzahl großer gedruckter Leiterplatten unterbringen läßt. Die Verwendung nur einiger weniger Leiterplatten bei jedem Prozessormodul führt zu einer Verringerung des Raumbedarfs sowie zu einer maximalen Verkürzung der Interprozessorleitung, die alle Prozessormodule miteinander verbindet. Die Verwendung einer relativ kurzen Interprozessorleitung führt zu einer weitgehenden Ausschaltung einer Verschlechterung der Signale in der Interprozessorleitung und ermöglicht den Betrieb mit einer hohen Übertragungsgeschwindigkeit.
Jede Interprozessorleitung ist als Synchronleitung für hohe Geschwindigkeiten ausgebildet, um die Kosten der Verbindungen zwischen den Prozessoren möglichst zu verringern, und um die Erzielung hoher Durchsatzgeschwindigkeit zu ermöglichen.
Eine gesonderte Leitungssteuereinrichtung überwacht sämtliche Übertragungsvorgänge bei der Leitung. Zu dieser Steuereinrichtung gehört eine logische Prozessorwähleinrichtung zum Ermitteln der Priorität der Datenübertragung zwischen zwei beliebigen Prozessormodulen über die Interprozessorleitung. Ferner weist die Leitungssteuereinrichtung eine auf den Steuerzustand ansprechende logische Einrichtung auf, mittels welcher jeweils ein Sender-Empfänger-Paar von Prozessormodulen sdwie ein Zeitrahmen für die Übertragung von Informationen über die Leitung zwischen den beiden Modulen bestimmt werden.
«09811/0810
Zu Jeder Leitungssteuereinrichtung gehört ein Leitungstaktgeber, und Jede Zentraleinheit Jedes Prozessonnoduls ist mit einem eigenen Taktgeber versehen. Somit ist kein Haupttaktgeber vorhanden, dessen Ausfall zu einer Unterbrechung des gesamten Multiprozessorsystems führen könnte.
Bei Jedem Prozessormodul sind innerhalb der Interprozessorsteuerung des Moduls auf den gedruckten Leiterplatten bestimmte Schaltungen vorhanden, die den Verbindungen über die Interprozessorleitungen zugeordnet sind.
Zu Jeder Interprozessor-Steuereinrichtung gehören ferner schnelle Puffer, und zwar Eingabe- und Ausgabewarteschlangenpuffer, die durch die Zentraleinheit entleert und gefüllt werden können, ohne daß der Betrieb der Interprozessorleitung gestört wird. Diese Anordnung ermöglicht es, bei der Interprozessorleitung eine Datengeschwindigkeit aufrechtzuerhalten, die höher ist, als sie sich mit Hilfe eines beliebigen einzelnen Paars von Prozessoren erreichen ließe. Mehrere Datenübertragungen zwischen Paaren von Prozessormodulen können so miteinander verzahnt werden, daß sich scheinbar ein Simultanbetrieb ergibt.
Da Jede Interprozessorleitung mit Jeder einzelnen Zentraleinheit asynchron zusammenarbeitet, wird Jeder Eingabe- und Ausgabewarteschlangenpuffer entweder durch den Prozessormodul oder durch die Leitungssteuereinrichtung getaktet, Jedoch nicht durch beide Einrichtungen gleichzeitig.
Somit ist Jedem Eingabe- und Ausgabewarteschlangenpuffer innerhalb der Interprozessor-Steuereinrichtung eine logische Einrichtung zugeordnet, die synchron mit dem Leitungstakt arbeitet, sowie eine weitere logische Einrichtung, die synchron mit dem Takt der Zentraleinheit betrieben wird. Logische Verriegelungseinrichtungen qualifizieren bestimmte Übergänge der logi-
H09B 11/0810
S3
- « - 27Α0055
sehen Einrichtung von einem Zustand in einen anderen Zustand, um den Verlust von Daten bei Übertragungen zwischen den asynchronen Interprozessorleitungen und dem Prozessormodul zu verhindern.
Die logische Einrichtung ist ferner so ausgebildet, daß beim Abschalten eines Prozessormoduls die Interprozessorleitungen nicht durch einen Einschwingvorgang beeinflußt werden, weil der Prozessormodul seine Steuerwirkung einbüßt. Somit führt das Abschalten eines Prozessormoduls bei einer Interprozessorleitung nicht zur Unterbrechung des Betriebs irgendeiner anderen Interprozessorleitung.
Die Leitungssteuereinrichtung und die Interprozessorsteuerung durch jeden Prozessormodul wirken zusammen, um die gesamte Verwaltung der Interprozessorleitung parallel mit der Verarbeitung durch die Zentraleinheiten durchzuführen, so daß kein Verlust an Verarbeitungsieistung eintritt. Diese Leitungsverwaltung erfolgt mit geringen Gemeinkosten für das Protokoll, denn es werden nur sehr wenige Interprozessorleitungszyklen benötigt, um eine Übertragung über eine Leitung zu bewirken, d.h. welcher Prozessorleitungsmodul Daten sendet, und welcher Prozessormodul die Daten empfängt, so daß im Vergleich zur Menge der tatsächlich übermittelten Informationen nur geringe Kosten entstehen.
Zu der logischen Einrichtung der Leitungssteuereinrichtung zum Wählen der Prozessoren gehören einzelne Wählleitungen, die sich von der logischen Wähleinrichtung zu jedem Prozessormodul erstrecken. Die Wählleitungen dienen erstens zu Abrufzwecken, d.h. dazu, festzustellen, welcher Prozessormodul darav wartet, Daten senden zu können, zweitens zu Empfangszwecken, d.h. zum Abfragen eines Empfängerprozessormoduls, ob dieser darauf wartet, Daten zu empfangen, sowie drittens in Kombination mit einem Sendebefehl dazu, dem Senderprozessormodul den Zeitrahmen für das Senden von Daten mitzuteilen.
809811/0810
2740055
Der Empfängerprozessormodul wird zum Empfangen eintreffender Daten qualifiziert, die nicht von ihm angefordert worden sind, und dies geschieht ohne einen Befehl der Programmausrüstung·
Bei einem Sender-Empfänger-Paar von Prozessormodulen werden Datenblöcke über die Interprozessorleitung in Form von Paketen übertragen. Am Ende der übertragung Jedes Pakets bewirkt die Interprozessor-Steuereinrichtung eines Empfängerprozessormoduls eine logische Abschaltung von der Interprozessorleitung, damit die logische Einrichtung der Leitungssteuereinrichtung eine andere Folge anderer Sender-Empfänger-Paare von Prozessormodulen und einen Zeitrahmen festlegen kann, um eine Datenpaket-Übertragung zwischen einem anderen Paar von Sender-Empfänger-Prozessormodulen zu ermöglichen. Wie erwähnt, ist es somit möglich, mehrere Datenblock-Übertragungen zwischen verschiedenen Sender-Empfänger-Paaren von Prozessormodulen längs der Interprozessorleitung zeitlich so zu verzahnen, daß sich scheinbar ein Simultanbetrieb ergibt, da die Interprozessorleitung mit einer höheren Taktfrequenz arbeitet als der langsamere Speicher der Prozessormodule.
Jeder Prozessormodulspeicher weist einen gesonderten Puffer für jede Kombination eines Prozessormoduls mit einer Interprozessorleitung auf.
Zu jedem Speicher gehört ferner eine Leitungsempfangstabelle, mittels welcher von einer Interprozessorleitung kommende Daten einer bestimmten Stelle in einem zugehörigen Puffer im Speicher eines Empfängerprozessormoduls zugeführt werden. Jede Leitungsempfangstabelle weist eine Leitungsempfangstabelleneintragung auf, welche die Adresse enthält, an der die eintreffenden Daten zu speichern sind, sowie die Anzahl der vom Senderprozessormodul erwarteten Wörter. Die Leitungsempfangstabelleneintragung wird durch Firmware im Prozessormodul aktualisiert, nachdem jedes Paket eingetroffen ist, und bewirkt in Verbindung mit der Firmware, daß entweder eine Programmunterbrechung herbeigeführt
«098 1 1 /08 1 0
Sb
-"*- ?74ϋϋ5δ
wird, wenn der gesamte Datenblock einwandfrei empfangen worden ist, oder daß eine Unterbrechung des Ausrüstungsprogramms stattfindet, das gerade im Prozessormodul abläuft, und zwar in Abhängigkeit vom Nachweis eines Fehlers im Laufe der Übertragung der Daten über die Interprozessorleitung. Da eine Programmunterbrechung nur nach der Beendigung der Übertragung eines Datenblcrics herbeigeführt wird, kann die Übertragung von Daten für das AusrUstungsprogramra transparent gemacht werden, das gerade in dem Prozessormodul abläuft. Die Unterbrechung in Abhängigkeit vom Nachweis eines Fehlers bietet eine Vollständigkeitsprüfung bei der Übertragung von Daten.
Das Eingabe-Ausgabe-Untersystem des erfindungsgemäßen Multiprozeesorsystems ist so aufgebaut, daß gewährleistet wird, daß das Versagen eines einzigen Prozessormoduls den Betrieb des Systems nicht beeinträchtigen kann.
Ferner ist das Eingabe-Ausgabe-Untersystem so ausgebildet, daß es für sehr hohe Transaktionsgeschwindigkeiten geeignet ist, daß sich ein maximaler Durchsatz ergibt, und daß Störungen von in den Prozessormodulen ablaufenden Programmen möglichst vermieden werden.
Wie erwähnt, weist jeder Proze3sormodul einen Mikroprozessor auf, der Eingabe-Ausgabe-Operationen zugeordnet ist.
Das Eingabe-Ausgabe-System ist ein unterbrechungsgesteuertes System, das eine Programmunterbrechung nur beim Abschluß der Datenübertragung herbeiführt. Daher wird die Zentraleinheit durch das betreffende Gerät nicht beansprucht, während Daten übertragen werden.
Jeder Eingabe-Ausgäbe-Kanal arbeitet nach dem Blockmultiplexverfahren, um mehrere Blockübertragungen von Daten von mehreren Geräteanschlüssen scheinbar simultan durchzuführen„ Zu diesem
H Π 9 8 1 1 / 0 8 1 0
5t
-«- 2740055
Zweck werden Datenbündel von unterschiedlicher Länge bei der Übertragung zwischen dem Eingabe-Ausgabe-Kanal und belastungsempfindlichen Puffern in den Geräteanschlüssen miteinander verzahnt.
Wie erwähnt, weist jeder Geräteanschluß mehrere Zugänge auf, und an jeden Zugang ist eine gesonderte Eingabe-Ausgabe-Leitung angeschlossen, so daß jeder Geräteanschluß für mindestens zwei verschiedene Prozessormodule zugänglich ist.
Die Zugänge jedes Geräteanschlusses sind so ausgebildet, daß jeder Zugang von jedem anderen Zugang logisch und physikalisch unabhängig ist. Ferner bildet kein Bestandteil eines Zugangs einen Bestandteils eines anderen Zugangs, so daß das Versagen eines einzelnen Bauteils bei einem Zugang den Betrieb eines anderen Zugangs nicht beeinträchtigen kann.
Zu jedem Geräteanschluß gehört eine logische Einrichtung, die gewährleistet, daß in jeden» Zeitpunkt nur ein Zugang für den Zugriff gewählt wird, so daß die Übertragung fehlerhafter Daten zu einem Zugang niemals zu einer Kontamination eines anderen Zugangs führen kann.
Das erfindungsgemäße Eingabe-Ausgäbe-System arbeitet mit den peripheren Geräten so zusammen, daß eine Betriebsstörung nur mu einer Verlangsamung führen kann. Für den Fall, daß ein Übertragungsweg versagt, stehen zu jedem Geräteanschluß mehrere Wege zur Verfügung. Ferner führt das Versagen eines Geräte-anschlusses oder eines Prozessormoduls längs eines dieser Wege nicht zu einer Beeinträchtigung des Betriebs eines Prozessormoduls, der zu einem anderen zu dem Geräteanschluß führenden Weg gehört.
Weiterhin ist das erfindungsgemäße Ein-Ausgäbe-System so aufgebaut, daß man Geräteanschlüsse beliebiger Bauart an das System
8098 11/0810
27Λ0055
anschließen kann, und daß das System hierbei in jedem Fall eine maximale Ausnutzung der Bandbreite des Ein-Ausgäbe-Kanals gewährle i s te t.
Die Geräteanschlüsse sind so gepuffert, daß sich alle Datenübertragungen zwischen den Geräteanschlüssen und dem Ein-Ausgat Kanal mit der maximal möglichen Geschwindigkeit abspielen.
Der Geräteanschluß kann Daten zwischen sich selbst und einem peripheren Gerät in Form von Bytes übertragen, doch muß der Geräteanschluß die Daten packen und entpacken, um Wörter zwischen sich selbst und dem Ein-Ausgäbe-Kanal zu übertragen.
Da sich die Puffer nicht in dem Ein-Ausgäbe-Kanal, sondern in den Geräteanschlüssen befinden, beschränkt die Erfindung die Pufferung auf nur dasjenige Ausamaß, welches bei dem betreffenden System erforderlich ist. Gemäß der Erfindung wird kein gesonderter Puffer für jedes Peripheriegerät benötigt, um ein Überlaufen zu verhindern, wie es erforderlich sein würde, wenn die Puffer nicht in den Geräteanschlüssen, sondern im Ein-Ausgabe-Kanal angeordnet wären, wie es bei bekannten Systemen häufig der Fall ist.
Wie erwähnt, ist jeder Puffer als beanspruchungsempfindlicher Puffer ausgebildet, und hieraus ergeben sich zwei Vorteile.
Erstens läßt sich jeder Puffer so ausbilden, daß er eine Gesamttiefe hat, die in Beziehung zur Bauart und der Anzahl der zu bedienenden Geräteanschlüsse steht. Daher kann man jeden Geräteanschluß mit einem Puffer versehen, dessen Größe in Beziehung zu der Art des zu steuernden Geräts steht.
Zweitens ermöglichen es die beanspruchungsempfindliche Ausbildung der Puffer und die erfindungsgemäße Betriebsweise den Puffern, ihre Aufgabe zu erfüllen, ohne in Verbindung miteinan-
80981 1 /0810
2 V Λ Ο Ο 5 6
der zu treten. Hierdurch wird wiederum eine maximale Ausnutzung der Bandbreite des Ein-Ausgabe-Kanals ermöglicht.
Die Beanspruchung eines bestimmten Puffers wird durch das Ausmaß der Füllung oder Entleerung des Puffers in Verbindung mit der übertragungsrichtung gegenüber dem Prozessormodul bestimmt. Die Beanspruchung ninmt zu, wenn das Peripheriegerät Zugriff zu dem Puffer nimmt, und sie verringert sich, wenn der Ein-Ausgabe-Kanal Zugriff zu ihm nimmt.
Jeder Puffer hat eine Tiefe, die gleich der Summe einer Schwellwerttiefe und einer Rückhaltetiefe ist. Die Schwellwerttiefe steht in Beziehung zu der Zeit, die benötigt wird, um Geräteanschlüsse zu bedienen, denen eine höhere Priorität zukommt, und die Rückhaltetiefe steht in einer Beziehung zu der Zeit, die erforderlich ist, um Geräteanschlüsse zu bedienen, denen eine niedrigere Priorität zukommt, und die an den gleichen EinAusgabe-Kanal angeschlossen sind.
Zu dem beanspruchungsempfindlichen Puffer gehört eine logische Steuereinrichtung zum Verfolgen der Beanspruchung des Puffers. Diese logische Steuereinrichtung richtet an den Ein-Ausgabe-Kanal Wiederanschlußaufforderungen, wenn der Wert der Beanspruchung einen Schwellenwert des Puffers durchläuft.
Jeder Puffer, bei dem eine Wiederanschlußaufförderung ergangen ist, wird individuell mit dem Ein-Ausgäbe-Kanal entsprechend dem Abrufschema verbunden, das die Priorität zwischen allen Geräteanschlüssen bestimmt, bei denen eine Wiederanschlußaufförderung ergangen ist.
Ist der Geräteanschluß mit dem Ein-Ausgäbe-Kanal verbunden, werden die Daten zwischen den Puffer und diesem Kanal in Form eines Bündels mit der Speichergeschwindigkeit oder in deren Nähe übertragene
80981 1/08 10
Da die Puffer die Daten zu und von den Peripheriegeraten mit der relativ geringen Geschwindigkeit der Geräteanschlüsse übertragen und die Daten zu und von den Prozessormodulen in Form von Bündeln bei der Speichgeschwindigkeit oder in ihrer Nähe übertragen können, wobei die Pufferbeanspruchung berücksichtigt wird, ist es möglich, bei der Übertragung der Datenbündel das Zeitunterteilungs-Multiplexverfahren anzuwenden, so daß einzelne Datenbündel, die von verschiedenen Geräteanschlüssen stammen, miteinander verzahnt werden können, um die Bandbreite des Ein-Ausgäbe-Kanals optimal auszunutzen, so daß es auch möglich ist. mehrere Datenblockübertragungen von verschiedenen Geräteanschlüssen aus scheinbar simultan durchzuführen.
Umfassende Fehlerprüfungen und Maßnahmen zur Verhinderung der Ausbreitung von Fehlern sind bei allen Datenübertragungen über die Datenwege des Multiprozessorsystems vorgesehen.
Zu den Fehlerprüfungen gehören Summierungsprüfungen und Paritätsprüfungen bei den Datenwegen sowie Fehlernachweis- und -Korrekturmaßnahmen beim Hauptspeichersystem.
Zu den Fehlerprüfungen gehören weiterhin Abschaltbegrenzungen beim Ein-Ausgäbe-Kanal.
Um die Ausbreitung von Fehlern zu verhindern, ist dem EinAusgabe-System eine Ein-Ausgabe-Steuertabelle zugeordnet, die für jedes Peripheriegerät eine Eintragung mit zwei Wörtern enthält, um im Speicher einen Pufferbereich für den betreffenden Geräteanschluß festzulegen. Jede Eintragung mit zwei Wörtern beschreibt die Pufferstelle im Hauptspeicher und die verbleibende Byte-Zähllänge, die in jedem beliebigen Zeitpunkt für eine bestimmte Datenübertragung zu einem Geräteanschluß übertragen werden müssen. Die Ein-Ausgabe-Steuertabelle befindet sich nicht in den Geräteanschlüssen, sondern in jedem Prozessor, um die Wirkungen eines Fehlers bei dem Zählwort oder dem Adressenwort auf denjenigen Prozessormodul zu beschränken,
H 0 9 8 1 1 / 0 8 1 0
ίο
in dem das Zählwort bzw. das Adressenwort physikalisch untergebracht ist. Jeder Prozessormodul, der zum Zweck des Zugriffs mit gemeinsamen Geräteanschlüssen und zugehörigen Einrichtungen verbunden ist, enthält seine eigene Kopie der Ein-Ausgabe-Steuertabelle. Das Versagen einer Tabelleneintragung bei einem Prozessormodul beeinflußt die anderen Prozessormodule nicht, da diese Jeweils ihre eigene fehlerfreie Kopie der Tabelleneintragung enthalten.
Zu dem erfindungsgemäßen Multiprozessorsystem gehört eine Stromversorgungseinrichtung, mittels welcher getrennte Stromquellen auf die Prozessormodule und die Geräteanschlüsse so verteilt werden, daß Gewähr für einen ununterbrochenen Betrieb des verbleibenden Teils des Systems besteht, wenn die Stromquelle für einen Teil des Multiprozessorsystems versagt.
Jeder Prozessormodul bzw. jeder Geräteanschluß kann abgeschaltet werden, so daß während des Betriebs Wartungsarbeiten durchgeführt werden können, während der verbleibende Teil des Multiprozessorsystems betriebsfähig bleibt.
Zu der Stromversorgungseinrichtung gehören getrennte Stromquellen für die einzelnen Prozessormodule sowie zwei getrennte Stromquellen für jeden Geräteanschluß.
Die beiden getrennten Stromquellen sind dem betreffenden Geräteanschluß durch einen Schalter zugeordnet, der es einer Stromquelle ermöglicht, den gesamten Strombedarf des Geräteanschlusses zu decken, wenn die andere Stromquelle versagt.
Die erfindungsgemäße Stromversorgungseinrichtung erzeugt außerdem ein Warnsignal, das den Zustand der logischen Einrichtung eines Prozessormoduls aufrechterhält, wenn die zugehörige Stromquelle versagt. Sobald wieder Strom zugeführt wird, wird der Prozessormodul in einem bekannten Zustand und ohne Verlust
H 0 9 ö 1 1 / 0 8 1 0
-ι*- 2740055
von Daten wieder in Betrieb gesetzt.
Der Speicher des Multiprozessorsystems nach der Erfindung ist in vier logische Bereiche unterteilt, die Benutzerdaten, Systemdaten, dem Benutzercode und de« Systemcode vorbehalten sind. Durch diese Unterteilung des Speichers in vier getrennte logische Adressenbereiche werden die Codes von den Daten getrennt gehalten, so daß man den Code unveränderbar machen kann, und daß Systembetriebsprogramme von den Benutzerprogrammen getrennt bleiben, damit die Benutzer das Betriebssystem nicht versehentlich zerstören können.
Zu dem erfindungsgemäßen Multiprozessorsystem gehört eine Speicherkarte, die mehrere Aufgaben zu erfüllen hat.
Eine Aufgabe dieser Karte besteht in der Schaffung eines virtuellen Speichersystems, bei dem alle Code- und Datenangaben wiederauffindbar sind, so daß der Benutzer sich nicht mit dem tatsächlichen physikalischen Standort von System- oder Anwenderprogrammen oder der Größe des bei dem System vorhandenen physikalischen Speichers zu befassen braucht.
Die Karte übersetzt logische Adressen in physikalische Adressen für Seiten im Hauptspeicher und bewirkt Betriebsunterbrechungen bei im Hauptspeicher nicht enthaltenen Seiten. Das Betriebssystem bringt Seiten aus dem sekundären Speicher, d.h. aus den Peripheriegeräten, in den primären Hauptspeicher des Prozessormoduls, wie es erforderlich ist, um ein virtuelles Speichersystem zu realisieren, bei dem die physikalischen Seitenadressen für die Benutzer unsichtbar sind, und bei dem sich die logischen Seiten nicht in zusammenhängenden physikalischen Seiten sowie nicht im physikalischen Hauptspeicher zu befinden brauchen, sondern im sekundären Speicher enthalten sein können.
809811/08 10
Ferner bietet die Karte eine Schutzfunktion und eine Speicherverwaltungsfunktion.
Weiterhin enthält die Karte eine gesonderte Karte für jeden gesonderten logischen Bereich des Speichers.
Somit wird eine Schutzwirkung dadurch erreicht, daß Codeangaben von Datenangaben sowie die Benutzerprog^imme von den Systemprogrammen getrennt gehalten werden, wie es vorstehend geschildert ist.
Außerdem werden bei einem Mehrprogrammsystem die Benutzer untereinander geschützt, da die Karte, die praktisch nur für einen bestimmten Benutzer bestimmt ist, nur die physikalischen Speicherseiten des Programms des betreffenden Benutzers angibt. Hierdurch wird verhindert, daß ein Benutzer in eine Programmseite des Programms eines anderen Benutzers hineinschreibt. Durch die Verwendung einer Benutzerkarte wird somit jeder Benutzer gegen die Zerstörung des Programms eines anderen Benutzers geschützt, ohne daß Schutzregister benötigt werden.
In Verbindung mit dem Betriebssystem erfüllt die Karte die Aufgabe der Kartenspeicherverwaltung, um die Betriebskosten bei der Verwaltung des Speichersystems dadurch zu verringern, daß Seiten aus dem sekundären Speicher verfügbar gemacht werden, daß die Häufigkeit der Benutzung physikalischer Seiten im primären Speicher verfolgt wird, daß die Anzahl der Ein-Ausgabeübertragungen bei der virtuellen Speicherseite verringert wird, und daß sich eine geringere Anzahl von Unterbrechungen bei dem Betriebssystem ergibt. Die Art und Weise, in der die Karte diese Aufgaben erfüllt, bietet ein wirtschaftliches virtuelles Speichersystem.
Die Anzahl der im physikalischen Hauptspeicher verfügbaren Seiten ist begrenzt. Daher müssen in manchen Fällen phyikalische Seiten aus dem sekundären Speicher in den physikalischen Hauptspeicher überführt werden.
80981 1/08 10
lib
-^- 27Λ0056
Zur Erzielung einer wirtschaftlichen Speicherverwaltung ist es wichtig, zu verfolgen, welche Seiten im physikalischen Hauptspeicher genügend häufig benutzt werden, so daß sie im physikalischen Hauptspeicher festgehalten werden müssen.
Ein weiterer wichtiger Gesichtspunkt ist, daß man weiß, ob irgendwelche bestimmten Seiten im physikalischen Hauptspeicher überschrieben werden können, ohne daß sie zuerst in einen sekundären Speicher ausgelagert werden.
Die Karte enthält historische Bits als Bestandteil des Karteneintrags für jede Seite. Diese historischen Bits, die sich physikalisch im Karteneintrag befinden, liefern ein Histogramm der Benutzung der betreffenden physikalischen Seite während einer bestimmten Zeitspanne. Gemäß der Erfindung werden die historischen Bits durch die Hardware aktualisiert, ohne daß hierzu das Programm herangezogen zu werden braucht.
Ferner enthält jeder Karteneintrag ein "schmutziges Bit", das anzeigt, ob eine bestimmte Seite beschrieben worden ist, seitdem sie dem sekundären Speicher zuletzt entnommen wurde.
Somit enthält die Karte selbst Informationen, die es der Speicherverwaltungseinrichtung ermöglichen, zu ermitteln, ob eine bestimmte Seite im physikalischen Hauptspeicher für eine Überlagerung brauchbar ist, wenn es erforderlich ist, eine Seite dem sekundären Speicher zu entnehmen, und wenn im physikalischen Hauptspeicher keine leere Seite oder eine Codeseite für eine Überlagerung zur Verfügung steht; außerdem kann ermittelt werden, ob eine Überlagerung erforderlich ist, und ob die überlagerte Seite in den sekundären Speicher umgelagert werden muß, bevor die Seite überlagert werden kann» Da Kopien sämtlicher nicht schmutzigen Seiten im sekundären Speicher aufbewahrt werden, ist keine Umlagerung erforderlich, wenn das schmutzige Bit nicht vorhanden ist.
8 0 9 8 1 1 / η 8 1 0
V»·
Die Kart ist in einem vom Hauptspeicher getrennten Teil des Speichers enthalten. Jede Karte ist so aufgebaut, daß sie einen Zugriff ermöglicht, der erheblich schneller ist als der Zugriff zum physikalischen Hauptspeicher, so daß die Karte innerhalb der Zeit neu geschrieben werden kann, während welcher ein Zugriff zu einem physikalischen Speicher erfolgt. Das erneute Schreiben der Karte führt daher nicht zu einer Verlängerung der Zykluszeit des Speichers.
Wie erwähnt, ist der Speicher über zwei Zugänge für die Zentraleinheit und den Ein-Ausgabe-Kanal erreichbar. Letzterer kann daher unmittelbar zum Speicher zugreifen, ohne daß die Zentraleinheit durchlaufen zu werden braucht, wenn Daten zu und von einem Geräteanschluß übertragen werden müssen. Daher ist es möglich, die Zugriffe der Zentraleinheit zum Speicher und die Zugriffe des Ein-Ausgäbe-Kanals zum Speicher zeitlich miteinander zu verzahnen.
Sämtliche Datenübertragungen zum und vom Speicher durch den Ein-Ausgabe-Kanal werden mit Hilfe der Datenkarte des Systems durchgeführt. Im Verlauf des Ubersetzens der logischen Adressen in physikalische Adressen fügt die Datenkarte des Systems zusätzliche Bits hinzu. Dies ermöglicht den Zugriff zu einer größeren Anzahl von Wörtern des physikalischen Speichers durch die Verwendung einer kürzeren logischen Adresse, so daß ein Zugriff zu einem physikalischen Raum möglich ist, der größer ist als es die Wortbreite selbst normalerweise zulassen würde.
Ferner ermöglicht die Erfindung die Anwendung eines Syndromdecodierverfahrens zum Nachweisen und Korrigieren von Fehlern in Halbleiterspeichermodulen.
Der Speicherbereich des Halbleiterspeichermoduls umfaßt Wörter von 22 Bits. Zu jedem Wort gehören ein 16-Bit-Datenfeld und ein 6-Bit-Prüffeld.
80981 1 /0810
Zu jedem Speichermodul gehört ein Fehlerdetektor zum gleichzeitigen Korrigieren sämtlicher Einzelbitfehler und zum Nachweisen aller Doppelbitfehler sowie zum Nachweisen eines grossen Teils der Fehler mit 3 oder mehr Bits an jeder beliebigen Stelle des Wortes mit 22 Bits. Die Fehlerkorrektureinrichtung weist einen Prüfbitgenerator, einen Prüfbitkomparator und einen Syndromdecodierer auf.
Der Prüfbitgenerator liefert einen Code, bei dem jedes Prüfbit eine lineare Kombination von acht Datenbits ist, und bei dem jedes Datenbit aus genau drei Prüfbits besteht.
Der Prüfbitkomparator liefert als Ausgangssignal sechs Syndrombits. Zum Eingangssignal für die ausgegebenen Syndrombits gehören acht Datenbits und ein Prüfbit.
Der Syndromdecodierer interpretiert den Wert der sechs Syndromausgangsbits und identifiziert das Vorhandensein oder Fehlen von Fehlern und ggf. die Art eines etwa in einem Wort von 22 Bits enthaltenen Fehlers.
Weiterhin ist eine Datenbit-Komplementiereinrichtung vorhanden die dazu dient, einen Fehler mit einem einzigen Datenbit zu invertieren, der durch den Syndromdecodierer nachgewiesen worden ist, wodurch der Fehler korrigiert wird.
Somit toleriert das Halbleiterspeichersystem Einzelbitfehler, und es kann mit Einzelbitfehlern betrieben werden, bis es zweckmäßig ist, den Speicher wieder instandzusetzen.
Durch die Erfindung sind ferner Einrichtungen und Verfahren für Multiprozessorsysteme geschaffen worden, bei denen die vorstehend behandelten Merkmale vorhanden sind, und die in der beschriebenen Weise arbeiten.
80981 1/0810
Ausführungsbeispiele der Erfindung werden im folgenden anhand schematischer Zeichnungen näher erläutert. Es zeigt:
Fig. 1 ein perspektivisches Blockdiagramm einer Ausführungsform eines erfindungs gemäßen Multiprozessorsystems mit mehreren Prozessormodulen, die durch zwei Interprozessorleitungen miteinander verbunden sind, wobei zu jeder Leitung eine Steuereinrichtung 37 gehört, sowie mit mehreren jeweils zwei Zugänge aufweisenden Geräteanschlüssen, wobei jeder Geräteanschluß mit den Ein-Ausgabe-Leitungen von zwei Prozessormodulen verbunden ist;
Fig. 2 in einem Blockschaltbild Einzelheiten der Verbindungen zwischen den LeitungsSteuereinrichtungen und den einzelnen Prozessormodulen sowie die Verbindungen zwischen jeder Leitungssteuereinrichtung und der Interprozessor-Steuereinrichtung eines einzigen Prozessormoduls;
Fig. 3 weitere Einzelheiten der logischen Einrichtung einer der in Fig. 2 dargestellten Leitungssteuereinrichtungen;
Fig. k Einzelheiten der logischen Einrichtung für den «ehrfach ausgenutzten Ausgabepuffer und die Steuereinrichtung bei der Interprozessor-Steuereinrichtung eines Prozessormoduls nach Fig. 2;
Fig. 5 in einer Fig. 4 ähnelnden Darstellung die logische Einrichtung für eine Eingabewarteschlangen- und Steuereinrichtung der Interprozessor-Steuereinrichtung für einen Prozessormodul;
Fig. 6 ein Zustandsdiagramm einer logischen Einrichtung für eine Leitungssteuereinrichtung, aus dem ersichtlich ist, auf welche Weise die logische Einrichtung durch die zu der Leitungssteuereinrichtung führenden Protokollleitungen beeinflußt wird, die Verbindungen zwischen
80981 1/0810
tv
-2*- 27Λ0056
der Leitungssteuereinrichtung und ds η Prozessormodulen herstellen;
Fig. 7 ein Fig. 6 ähnelndes Zustandsdiagramm, das jedoch für die logischen Einrichtungen 73 und 75 des mehrfach ausgenutzten Ausgabewarteschlangenpuffers 67 nach Fig. U gilt;
Fig. 8 ein Fig. 6 und 7 ähnelndes Zustandsdiagramm, das für die logischen Einrichtungen 93 und 101 der Eingabewarteschlangenpuffer- und Steuereinrichtung 65 nach Fig.5 gilt;
Fig. 9 einen Ablaufplan für die Übertragung eines bestimmten Datenpakets zwischen einem als Sender arbeitenden Prozessormodul und einem als Empfänger arbeitenden Prozessormodul;
Figo 10 ein logisches Diagramm des logischen Teils 75» der dem Leerzustand der Leitung zugeordnet ist, sowie des logischen Teils 73, der dem gefüllten Zustand des Prozessors zugeordnet ist, wobei diese Teile zu der in Fig. 4 dargestellten Ausgabewarteschlagenpuffer- und Steuereinrichtung 67 gehören;
Fig. 11 eine Aufstellung von logischen Gleichungen für das logische Diagramm in Fig. 10;
Fig. 12 ein Blockschaltbild der Ein-Ausgabe-Einrichtung des Multiprozessorsystems nach Fig. 1;
Fig. 13 ein Blockschaltbild des Ein-Ausgäbe-Kanals 109 eines Prozessormoduls, wobei man die Hauptteile des Kanals und den zugehörigen Datenweg erkennt;
B098 1 1 /UB 1 U
27^0056
Fig. 14 in einer Einzeldarstellung die verschiedenen Leitungen der Ein-Ausgabe-Leitung 39 nach Fig. 1;
Fig. 15 ein Ein-Ausgabe-Kanal-Protokolldiagramm, das die Zustande änderungen der T-Leitung 153 bei der Durchführung eines Ein-Ausgabe-Vorgangs veranschaulicht, der durch das Mikroprogramm 115 der Zentraleinheit 105 durchgeführt wird. Die dargestellte Folge von Schritten wird durch die Zentraleinheit eingeleitet und durch den Ein-Ausgäbe-Kanal 109 des Prozessormoduls 33 sowie über die T-Leitung 153 zu einem Geräteanschluß 41 nach Fig. 1 übermittelt;
Fig. 16 ein Ein-Ausgabe-Kanal-Protokolldiagramm, das die Zustandsänderungen der T-Leitung 153 für eine Wiederanschluß- und Datenübertragungsfolge veranschaulicht, die durch das Ein-Ausgäbe-Kanal-Mikroprogramm 121 in Abhängigkeit von einem Anforderungssignal eines Geräteanschlusses 41 eingeleitet wird;
Fig. 17 ein Ein-Ausgabe-Kanal-Protokolldiagramm, das die Zustandsänderungen der T-Leitung 153 bei einem Abfrage-Ein-Ausgäbebefehl oder einem Abfragebefehl mit hoher Priorität veranschaulicht, welche durch das Mikroprogramm 115 der Zentraleinheit eingeleitet werden, wobei die dargestellte Folge über die T-Leitung 153 zu einem Geräteanschluß 41 übertragen wird;
Fig. 18 eine Tabelle zur Identifizierung der in Fig. 15 bis 17 genannten Aufgaben;
Fig. 19 ein Blockschaltbild, das den allgemeinen Aufbau der Zugänge 43 und einen Geräteanschluß 41 nach Fig. 1 erkennen läßt;
80981 1/08 10
Fig. 20 ein Blockschaltbild des Zugangs 43 nach Fig. 19, in dem in erster Linie die Datenwege innerhalb eines Zugangs dargestellt sind;
Fig. 21 ein Blockschaltbild der Einzelheiten der Datenwege der der Schnittstelle zugeordneten gemeinsamen logischen Einrichtung 181 des Geräteanschlusses 41 nach Fig. 19;
Fig. 22 ein Blockschaltbild der Teile eines Datenpuffers 189 im Steuerteil eines Geräteanschlusses 41 nach Fig. 19;
Fig. 23 eine graphische Darstellung der Arbeitsweise des Datenpuffers 189 nach Fig. 22 und 19;
Fig. 24 ein Ablaufschema, das die Beziehung zwischen "SERVICE OUT" aus dem Kanal 109 und der Eingabe von Daten in das Zugangsdatenregister 213 nach Fig. 21 veranschaulicht und außerdem erkennen läßt, auf welche Weise die Paritätsprüfung begonnen wird, bevor dem Register Daten eingegeben werden, und wie dieser Vorgang fortgesetzt wird, bis die Daten dem Register vollständig eingegeben worden sind;
Fig. 25 Einzelheiten der in Fig. 19 und 21 dargestellten Stromve rs ο rgungs schaltung;
Fig. 26 ein logisches Diagramm der Puffersteuerlogik 243 des Datenpuffers 189 nach Fig. 22 als Bestandteil eines Geräteanschlusses 21. Ferner zeigt Fig. 26, auf welche Weise die Puffersteuerlogik 243 die Austauschvorgänge bei der Datenleitung sowie die Eingabe- und Ausgabezeiger steuert;
Fig. 27 eine Aufstellung der logischen Gleichungen für das Wählregister 173 nach Fig. 20, wobei diese logischen
80981 1/08 10
Gleichungen durch die Zugangssteuerlogik 191 nach Fig. 20 realisiert werden;
Fig. 28 einen Ablaufplan des zwei Leitungen betreffenden Austausches zwischen dem Ein-Ausgäbe-Kanal 109 und den Zugängen 43;
Fig. 29 ein logisches Diagramm der allgemeinen Form des Austausches nach Fig. 28, wobei die Logik nach Fig. 29 einen Bestandteil der T-Leitungsmaschine 143 des Ein-Ausgäbe-Kanals 109 nach Fig. 13 bildet;
Fig. 30 ein Blockschaltbild eines Stromverteilungssystems mit mehreren getrennten, unabhängigen Stromquellen 303, die den jeweils zwei Zugänge aufweisenden Geräteanschlüssen 41 so zugeordnet sind, daß Gewähr dafür besteht, daß für jeden Geräteanschluß sowohl eine primäre Stromquelle als auch eine Ersatzstromquelle verfügbar ist;
Fig. 31 eine vergrößerte Teildarstellung einer Schalteinrichtung zum Umschalten zwischen einer primären Stromquelle und einer Ersatzstromquelle für einen Geräteanschluß; diese Schalteinrichtung ermöglicht sowohl ein automatisches Umschalten beim Ausfall der primären Stromquelle als auch ein manuelles Umschalten zwischen drei verschiedenen Betriebsarten, d.h. dem Abschaltzustand, dem automatischen Betrieb und dem Betrieb mit der Ersatzstromquelle;
Fig. 32 ein Blockschaltbild von Einzelheiten einer der getrennten unabhängigen Stromquellen 303 nach Fig. 30;
Fig. 33 ein Blockschaltbild von Einzelheiten der senkrechten und der waagerechten Leitungen zum Zuführen von Strom
8098 11/08 10
von den getrennten Stromquellen 303 nach Fig. 30 zu den einzelnen Geräteanschlüssen 41, wobei die Anordnung nach Fig. 33 das Wählen zweier beliebiger einzelner Stromquellen als primäre Stromquelle bzw. als Ersatzstromquelle für einen bestimmten Geräteanschluß erleichtert;
Fig. 34 ein Blockschaltbild des Speichersystems mit Einzelheiten des Speichers 107 eines Prozessormoduls 33 nach Fig. 1;
Fig. 35 in einem Blockschaltbild Einzelheiten des Kartenteils 407 des Speichers 107 nach Fig. 34;
Fig. 36 in einem Blockdiagramm den Aufbau des logischen Speichers mit vier logischen Adressenbereichen und vier getrennten Kartenbereichen, die den vier logischen Adressenbereichen entsprechen, wobei auch Einzelheiten der Bits und der Felder eines einzelnen Eintrags des Kartenteils dargestellt sind;
Fig. 37 in einem Blockdiagramm Einzelheiten eines der Speicherraodule 403 nach Fig. 34, wobei dieser Modul als Halblei te rspei ehe rmodul ausgebildet ist;
Fig. 38 die Schaltung eines Prüfbitgenerators, der bei dem Halbleiterspeichermodul 403 nach Figo 37 verwendet wird, wobei auch die logischen Gleichungen für zwei der 8-Bit-Paritätsbäume angegeben sind, mit denen bei dem Prüfbitregister gearbeitet wird;
Fig. 39 ein Diagramm eines Prüfbitkomparators, der bei dem Halbleiterspeichermodul 403 nach Figo 37 benutzt wird, wobei auch die logische Gleichung des 9-Bit-Paritätsbaums für das Syndrombit Null angegeben ist;
80981 1/08 10
"Vi
Fig. 40 ein Diagramm eines Syndromdecodierers, wie er bei dem Halbleiterspeichermodul 403 nach Fig. 37 verwendet wird, wobei auch die logischen Gleichungen für den Betrieb des logischen Teils 511 des Syndromdecodierers angegeben sind;
Fig. 41 ein logisches Diagramm einer Bitkomplementiereinrichtung, die bei dem Halbleiterspeichermodul 403 nach Fig. 37 benutzt wird; und
Fig. 42 eine Darstellung der verschiedenen Zustände eines Systems mit zwei Prozessoren, das nach einem Anwendungsprogramm arbeitet, welches einen kontinuierlichen Betrieb erfordert. Die Teildiagramme veranschaulichen die Tatsache, daß die beiden Prozessoren nacheinander versagen und instandgesetzt werden, und daß sich die Arbeitsweise des Anwendungsprogramms entsprechend verändert.
In Fig. 1 ist ein Teil einer Ausführungsform eines erfindungsgemäßen Multiprozessorsystems in einer Schrägansicht dargestellt, wobei das Multiprozessorsystem insgesamt mit 31 bezeichnet ist.
Zu dem Multiprozessorsystem 31 gehören mehrere einzelne Prozessormodule 33» von denen Jeder eine Zentraleinheit 105» einen Speicher 107, einen Ein-Ausgabe-Kanal 109 und eine Interprozessor-Steuereinrichtung 55 aufweist.
Die einzelnen Prozessormodule sind untereinander durch Interprozessorleitungen 35 verbunden.
Bei einer bestimmten Ausführungsform des Multiprozessorsystems 31 sind bis zu sechzehn Proze«isormodule 33 durch zwei Interprozessorleitungen 35 verbunden, die in Fig. 1 als X-Leitung
Ö09811 /0810
-30- 27Λ0056
bzw. als Y-Leitung bezeichnet sind.
Zu jeder Interprozessorleitung gehört eine Leitungssteuereinrichtung 37.
Die LeitungsSteuereinrichtungen 37, die Interprozessorleitungen 35 und die Interprozessor-Steuereinrichtungen 55 bilden zusammen mit zugehörigen Mikroprozessoren 113» Mikroprogrammen 115 und Leitungsempfangstabellen 150 (Fig. 2) ein Interprozessorleitungssystem. Aufbau und Wirkungsweise dieses Systems werden im folgenden anhand von Fig. 2 bis 11 und Fig. 42 näher erläutert.
Zu dem Multiprozessorsystem 31 gehört ein Ein-Ausgabe-System zum übertragen von Daten zwischen den Prozessormodulen 33 und Peripheriegeräten, z.B. Platten 45, Terminals 47, Magnetbandantrieben 49, Kartenlesern 51 und Zeilendruckern 53, wie es in Fig. 1 gezeigt ist.
Zu dem Ein-Ausgabe-System gehören Ein-Ausgäbe-Leitungen 39, die jeweils einem Ein-Ausgäbe-Kanal 109 eines Prozessormoduls zugeordnet sind, sowie ein oder mehrere jeweils mit mehreren Zugängen versehene Geräteanschlüsse 41, die mit den Ein-Ausgabe-Leitungen 39 in Verbindung stehen.
Bei dem dargestellten Ausführungsbeispiel weist jeder Geräteanschluß 41 zwei Zugänge 43 zum Anschließen an zwei verschiedene Prozessormodule 33 auf, so daß ein Zugriff zu jedem Geräteanschluß jeweils durch zwei Prozessormodule möglich ist.
Gemäß Fig. 12 gehören zu dem Ein-Ausgabe-System ein Mikroprozessor 119 und ein Mikroprogramm 121 im Ein-Ausgäbe-Kanal 109, die für Ein- und Ausgäbe-Übertragungen vorgesehen sind.
80981 1/08 10
27Λ0056
Gemäß Fig. 12 sind der Mikroprozessor 113 und das Mikroprogramm 115 der Zentraleinheit 105 sowie eine Ein-Ausgabe-Steuertabelle 140 im Hauptspeicher 107 jedes Prozessormoduls 33 dem Ein-Ausgabe-Kanal 109 betriebsmäßig zugeordnet.
Aufbau und Wirkungsweise dieser und weiterer Teile des Ein-Ausgabe-Systems werden im folgenden anhand von Fig. 12 bis 29 näher erläutert.
Weiterhin gehört zu dem Multiprozessorsystem ein Stromverteilungssystem 301, das den von getrennten Stromquellen gelieferten Strom auf die Prozessormodule 33 und die Geräteanschlüsse 41 so verteilt, daß eine Wartung während des Betriebs möglich ist, wobei eine redundante Stromversorgung für jeden Geräteanschluß vorhanden ist.
Gemäß Fig. 30 gehören zu dem Stromverteilungssystem mehrere getrennte unabhängige Stromquellen 303.
Für jeden Prozessormodul 33 ist eine gesonderte Stromquelle 303 vorhanden, und eine Vielfachleitung 305 führt den Strom von jeder Stromquelle 303 aus der Zentraleinheit 105 und dem Speicher 107 des betreffenden Prozessormoduls 33 zu.
Ferner zeigt Fig. 30, daß jeder Geräteanschluß 41 so geschaltet ist, daß er über einen automatischen Schalter 311 von zwei getrennten Stromquellen 303 aus mit Strom versorgt werden kann. Wenn eine Stromquelle für einen bestimmten Geräteanschluß versagt, wird somit dieser Geräteanschluß jeweils durch die betreffende andere Stromquelle 303 versorgt, und die Umschaltung erfolgt zügig und ohne jede Unterbrechung oder Pulsation des zugeführten Stroms.
Das Stromverteilungssystem arbeitet mit dem Doppelzugang des Geräteanschlusses zusammen, um einen ununterbrochenen Betrieb
80981 1/081 Ö
und einen ständigen Zugang zu den Peripheriegeraten zu gewährleisten, wenn entweder ein einzelner Zugang 43 oder eine einzelne Stromquelle 303 versagt.
Weiterhin ist bei dem Multiprozessorsystem bei mehreren Systemteilen gemäß Fig. 25 eine Regelschaltung 182 vorhanden, die gewährleistet, daß die Stromzufuhr zu dem betreffenden Systemteil innerhalb gewisser Grenzen gehalten wird.
Beispielsweise ist eine solche Regelschaltung bei jeder Zentraleinheit 105, bei jedem Geräteanschluß 41 und bei jeder Leitungssteuereinrichtung 37 vorhanden.
Die Regelschaltung hat die Aufgabe, ein Signal zu erzeugen, durch das der Pegel der dem betreffenden Teil zugeführten elektrischen Energie festgelegt wird, und wenn diese Energie nicht innerhalb vorbestimmter zulässiger Grenzen liegt, wird das Signal benutzt, um unmittelbar das zugehörige Leitungssignal desjenigen Teils zu sperren, zu dem die Regelschaltung gehört.
Die Regelschaltung arbeitet in vier verschiedenen Betriebszuständen, und zwar beim Abschalten der Stromzufuhr, beim Übergang zur Stromzufuhr,während der Zufuhr von Strom sowie beim Übergang aus dem Einschaltzustand in den Abschaltzustand.
Die Regelschaltung für die Stromzufuhr initialisiert sämtliche logischen Zustände des Systems, wenn die Zufuhr von Strom eingeleitet wird, und gemäß der Erfindung erfüllt die Regelschaltung eine zusätzliche und sehr wichtige Aufgabe, denn sie ermöglicht einen Störungesicheren Betrieb, bei dem Wartungsarbeiten ohne Betriebsunterbrechungen durchgeführt werden können. Zu diesem Zweck wird die erfindungsgemäße Regelschaltung auf neuartige Weise verwendet, um die Schnittstellenleitungen zu steuern, über die sämtliche Interkommunikationsleitungen des Systems betrieben werden.
80981 1/0810
Aufbau und Wirkungsweise des Stromverteilungssysteins werden im folgenden anhand von Fig. 30 bis 33 näher erläutert.
Zu dem Multiprozessorsystem gehört ein Speichersystem, bei dem der physikalische Speicher gemäß Fig. 36 in vier logische Adressenbereiche für Anwenderdaten, Systemdaten, den Anwendercode und den Systemcode unterteilt ist.
Zu dem Speichersystem gehören gemäß Fig. 34 eine Karte 407 und eine Steuerlogik 401 zum Umsetzen aller logischen Adressen in physikalische Adressen und zum Anzeigen von Seiten, die bei dem Bit aus dem primären Speicher fehlen, das im sekundären Speicher vorhanden ist, wie es erforderlich ist, um ein virtuelles Speichersystem zu realisieren, bei dem die physikalischen Seitenadressen für die Benutzer unsichtbar sind.
Das Speichersystem ist über zwei Zugänge erreichbar, und zwar über die Zentraleinheit 105 und den Ein-Ausgabe-Kanal 109. Somit kann der Kanal 109 direkt mit dem Speicher 107 zusammenarbeiten, d.h. nicht über die Zentraleinheit 105, wenn Daten zu und von einem Geräteanschluß 41 übertragen werden sollen.
Aufbau und Wirkungsweise des Speichersystems werden weiter unten anhand von Fig. 34 bis 41 näher erläutert.
Das Speichersystem ist mit einem Fehlernachweissystem versehen, das dazu dient, alle Einzelbitfehler zu korrigieren und alle Doppelbitfehler nachzuweisen, wenn bei dem Speichersystem der Halbleiterspeicher benutzt wird. Gemäß Fig. 37 wird bei diesem Fehlernachweissyatem ein 16-Bit-Datenfeld in Verbindung mit einem 6-Bit-PrUffeld verwendet, und es ist ein Datenbitkomplementierer 487 zum Korrigieren von Einzelbitfehlern vorhanden.
Einzelheiten des Fehlernachweissystems werden im folgenden
80981 1 /0810
anhand von Fig. 37 bis 41 näher erläutert.
Bevor mit der eingehenden Beschreibung des Systems und der vorstehend genannten Teile begonnen wird, sei bemerkt, daß in der Beschreibung bestimmte Bezeichnungen verwendet werden, deren Bedeutung nachstehend erläutert ist.
Der Ausdruck "Software" bezeichnet ein Betriebssystem oder Befehle eines Benutzerprogramms; der Ausdruck "Firmware" bezeichnet ein Mikroprogramm, das in einem Festspeicher enthalten ist, und der Ausdruck "Hardware" bezeichnet elektronische logische Einrichtungen und Datenspeicher.
Bei dem Betriebssystem handelt es sich um ein Hauptsteuerprogramm, das in Jedem Prozessormodul abläuft, und das die primäre Kontrolle der Zuweisung aller Systemelemente bewirkt, die für den Prozessormodul zugänglich sind. Das Betriebssystem erfüllt eine Planungsfunktion und bestimmt, welchem Prozeß der betreffende Prozessormodul vorbehalten sein soll. Ferner bestimmt das Betriebssystem die Benutzung des primären Speichers (Speieherverwa1tung), und es betreibt das Dateisystem zur Verwaltung des sekundären Speichers. Weiterhin verwaltet das Betriebssystem das Nachrichtensystem. Hierdurch wird die Übertragung von Informationen über die Interprozessorleitung ermöglicht.
Der Aufbau des Betriebssystems entspricht dem modularen Aufbau des Multiprozessorsystems, d.h. es sind keine "global" zu benutzenden Elemente vorhanden.
Auf dem untersten Niveau des Software-Systems werden zwei fundamentale Sachverhalte realisiert, und zwar Verfahren und Nachrichten.
Ein Verfahren oder Prozeß ist die fundamentale Einheit der Steuerung innerhalb eines Systems.
80981 1/08 10
-»- 27Λ0056
Zu jedem Prozeß gehören private Datenraum- und Registerwerte und ein möglicherweise mehrfach ausgenutzter Codesatz. Ein Prozeß kann auch einen Zugriff zu einem gemeinsamen Datenraum bewirken.
In einem Prozessormodul 33 sind gleichzeitig mehrere Prozesse gleichzeitig vorhanden.
Bei den Prozessen kann es sich um durch den Benutzer geschriebene Programme handeln, oder den Prozessen können bestimmte Aufgaben zukommen, z.B. die Steuerung einer Ein-Ausgäbe-Vorrichtung oder die Erzeugung bzw. Löschung anderer Prozesse.
Ein Prozeß kann Dienstleistungen von einem anderen Prozeß anfordern, und dieser andere Prozeß kann sich im gleichen Prozessormodul 33 befinden wie der die Anforderung stellende Prozeß, oder der andere Prozeß kann sich in einem beliebigen anderen Prozessormodul 33 befinden.
Die Prozesse arbeiten asynchron, und daher benötigen die Prozesse ein Kommunikationsverfahren, das es ermöglicht, eine Anforderung von Dienstleistungen in eine Warteschlange einzuordnen, ohne daß ein "Wettrennen" stattfindet, d.h. ohne daß sich ein Zustand ergibt, bei dem sich das Ergebnis danach richtet, bei welchem Prozeß die Folge von Vorgängen zuerst begonnen wurde; daher werden "Nachrichten" benötigt, d.h. ein geordnetes System der Kommunikation zwischen den verschiedenen Prozessormodulen, auf das im folgenden näher eingegangen wird.
Ferner muß das Erscheinungsbild aller Kommunikationen zwischen den Prozessormodulen für die Prozesse das gleiche sein, d.h. ohne Rücksicht darauf, ob sich die Prozesse im gleichen Prozessormodul oder in verschiedenen Prozessormodulen befinden.
80981 1/08 10
Aus der folgenden Beschreibung wird ersichtlich, daß der Aufbau der Software dem Aufbau der Hardware entspricht, und daß verschiedene Prozesse bezüglich ihrer Anordnungund Funktion als bestimmten Teilen der Hardware gleichwertig betrachtet werden können.
Ebenso wie der Ein-Ausgäbe-Kanal 109 über die Ein-Ausgabe-Leitung 39 mit dem Geräteanschluß 41 verkehrt, kann z.B. ein Benutzerprozeß unter Benutzung des Nachrichtensystems eine Aufforderung an den Prozeß richten, der dem Geräteanschluß 41 zugeordnet ist, und dann meldet der Prozeß des Geräteanschlusses seinen Zustand zurück, wie auf ähnliche Weise der Geräteanschluß 41 Informationen über die Ein-Ausgabe-Leitung 39 zu dem Ein-Ausgabe-Kanal 109 zurückmeldet.
Die zweite fundamentale Größe des Software-Systems, d.h. die Nachricht, besteht aus einer Anforderung von Dienstleistungen sowie etwa benötigten Daten. Wenn der Aufforderung nachgekommen worden ist, werden alle benötigten Werte zu dem Prozeß zurückgeleitet, von dem die Aufforderung stammte.
Wenn eine Nachricht zwischen Prozessen übermittelt werden soll, die sich in zwei verschiedenen Prozessormodulen 33 befinden, werden die Interprozessorleitungen 35 benutzt. Wie erwähnt, erscheint jedoch für die Prozesse jeder Informationsaustausch zwischen Prozessen in der gleichen Weise, d.h. ohne Rücksicht darauf, ob sich die Prozesse im gleichen Prozessormodul 33 oder in verschiedenen Prozessormodulen befinden.
Dieser Aufbau der Software bietet mehrere Vorteile.
Das zum Aufbau der Software angewandte Verfahren gewährleistet außerdem einen erheblich zuverlässigeren Betrieb. Da es möglich ist, die Software in Abschnitte zu unterteilen, lassen sich die
8098 11/0810
Abmessungen der Module verkleinern, und die Schnittstellen zwischen den Modulen sind deutlich ausgeprägt.
Durch die funktioneile Unterteilung wird auch die Wartung des Systems erleichtert.
Die deutliche Abgrenzung der Module und der Schnittstellen beim Software-System bietet außerdem den Vorteil, daß sich das System leicht erweitern läßt, z.B. durch Hinzufügen weiterer Prozessormodule 33 oder Geräteanschlüsse 41 zu dem Multiprozessorsystem.
,Ein weiterer Vorteil für einen Benutzer des Multiprozessorsystems und des Software-Systems besteht darin, daß der Benutzer beim Schreiben seines Programms den tatsächlichen Aufbau der Maschine oder die physikalische Lage anderer Prozesse nicht zu kennen braucht.
Ebenso wie die Hartware bietet auch die Software mehrere funktionell gleichwertige Module mit redundanten Verbindungen.
Beispielsweise können für Nachrichten zwischen Prozessen in verschiedenen Prozessormodulen 33 beide Interprozessorleitungen 35 benutzt werden. Außerdem können Geräteanschlüsse 41 durch Prozesse gesteuert werden, die in beliebigen der Prozessormodule 33 enthalten sind, welche in Verbindung mit dem Geräteanschluß stehen.
Das Multiprozessor-Hardware-System und das Software-System nach der vorstehenden Beschreibung ermöglichen es dem Benutzer, ein fehlertolerantes Anwendungssystem zu entwickeln, da die Module in Mehrfachausführung vorhanden sind und redundante Verbindungen aufweisen.
80981 1/0810
Das Interprozessor-Leitungssystem
Wie erwähnt, sind die einzelnen Prozessormodule 33 gemäß Fig.1 untereinander durch zwei Interprozessorleitungen 35 verbunden, zu denen die X-Leitung und die Y-Leitung gehören, wobei jede Leitung durch eine zugehörige Steuereinrichtung 37 gesteuert wird. Jede Interprozessorleitung 35 bildet in Verbindung mit der zugehörigen Steuereinrichtung 37 und der betreffenden Interprozessor-Steuereinrichtung 55, die zu jedem Prozessormodul 33 gehört, einen Mehrfachmodul-Verbindungsweg von jedem beliebigen Prozessormodul zu jedem beliebigen anderen Prozessormodul des Systems. Die Verwendung von zwei Leitungen 35 gewährleistet, daß bei dem System zwei unabhängige Leitungswege zwischen sämtlichen Prozessormodulen vorhanden sind. Daher kann ein Versagen einer der Leitungen 35 nicht zu einer Unterbrechung des Verkehrs zwischen den Prozessormodulen führen.
Die Leitungssteuereinrichtung 37 für jede Interprozessorleitung 35 ist gemäß der Erfindung vorzugsweise von den Prozessormodulen 33 getrennt.
Bei jeder Interprozessorleitung 35 handelt es sich um eine synchron arbeitende Mehrfachleitung, bei der die Zeitsynchronisation durch einen Leitungstaktgeber bewirkt wird, der zu der betreffenden Steuereinrichtung 37 gehört. Die Interprozessorsteuerteile 55 sämtlicher Module, die einer Leitung zugeordnet sind, führen Zustandeänderungen synchron mit dem Leitungstakt durch, wenn Daten über die Leitung übertragen werden.
Wie im folgenden erläutert, arbeitet die Zentraleinheit 105 mit einem anderen Takt als die Interprozessorleitung. Während des Füllens einer Ausgabewarteschlange oder des Leerens einer Eingabe-Warteschlange bei der Interprozessor-Steuereinrichtung 55 durch die Zentraleinheit 105 läuft der Betrieb mit der Taktfrequenz der Zentraleinheit ab. Jedoch findet die Übermittlung
809811/0810
8%
-»- 27Λ0056
von Datenpaketen über die Interprozessorleitung stets bei der Leitungstaktfrequenz statt.
Ein wichtiges Merkmal der Erfindung besteht darin, daß die Informationen über die Interprozessorleitung mit hoher Geschwindigkeit übermittelt werden, ohne daß eine Übereinstimmung mit den Taktfrequenzen der verschiedenen Zentraleinheiten 105 zu bestehen braucht. Die Geschwindigkeit, mit der Informationen über die Interprozessorleitung übermittelt werden, ist außerdem erheblich höher als die Geschwindigkeit, die bei direktem Zugriff zu den Speicherteilen 107 entsprechend der Speicherarbeitsgeschwindigkeit möglich wäre. Dies gewährleistet, daß eine ausreichende Leitungsbandbreite auch dann zur Verfügung steht, wenn bei einem Multiprozessorsystem zahlreiche Prozessormodule vorhanden sind.
Ein Vorteil der Verwendung unterschiedlicher Taktfrequenzen bei den Zentraleinheiten 105 besteht darin, daß kein Haupttaktgeber benötigt wird, durch dessen Versagen das gesamte System eine Betriebsunterbrechung erleiden würde.
Die Interprozessor-Steuereinrichtung 55 enthält logische Einrichtungen und Sperreinrichtungen, die es ermöglichen, die Interprozessorleitungen 35 mit einer bestimmten Taktfrequenz und Jede Zentraleinheit 105 mit ihrer eigenen unabhängigen Taktfrequenz zu betreiben, ohne daß Daten verloren gehen.
Über die Leitungen 35 werden die Informationen in Form von Mehrwortpaketen übermittelt. Bei einer bevorzugten Ausführungsform der Erfindung enthält jedes Paket 16 Wörter, d.h. 15 Datenwörter und ein Prüfwort.
80981 1 /0810
Die Steuerlogik innerhalb der Leitungssteuereinrichtung 37 und die Interprozessor-Steuereinrichtungen 55 der einzelnen Module 33 folgen einem detaillierten Protokoll. Dieses Protokoll dient dazu, für die Übertragung von Datenpaketen ein Sender-Empfänger-Paar und einen Zeitrahmen festzulegen. Am Ende des Zeitrahmens für die Übermittlung eines Datenpakets wird die Leitungssteuereinrichtung 37 für eine weitere derartige Folge freigegeben. Auf welche Weise diese Aufgaben durchgeführt werden, wird aus der folgenden Beschreibung des Aufbaus anhand von Fig. 3 bis 9 ersichtlich.
Da der Aufbau der Y-Leitung 35 der gleiche ist wie derjenige der X-Leitung 35, wird im folgenden nur eine dieser Leitungen im einzelnen beschrieben.
Gemäß Fig. 2 gehören zu jedem Leitungsbündel 35 sechzehn einzelne Datenleitungen 57, fünf einzelne Protokolleitungen 59, eine Taktleitung 61 und eine Wählleitung 63 für jeden Prozessormodul 33.
Gemäß Fig. 2 sind bei der Interprozessor-Steuereinrichtung 55 jedes Prozessormoduls 33 zwei Eingabewarteschlangenteile 65, d.h. ein X-Teil und ein Y-Teil, sowie ein mehrfach ausgenutzter Ausgäbewarteschlangenteil 67 vorhanden.
Gemäß Fig. 4 gehört zu dem mehrfach ausgenutzten Ausgabewa rte schlangenteil 67 ein Ausgabewarteschlangenpuffer 69» der eine Speicheraufgabe erfüllt. Bei einer bevorzugten Ausführungsform kann der Puffer 69 sechzehn Wörter zu je sechzehn Bits aufnehmen« Der Puffer 69 wird durch die Zentraleinheit geladen und hält die Daten bis zum Zeitpunkt der Datenpak*tübertragung fest, d.h. bis die Daten aus dem Puffer auf eine noch zu erläuternde Weise zu der betreffenden Leitung übermittelt werden.
80981 1/0810
Ferner weist der Ausgabewarteschlangenteil 67 ein Empfangsregister 71 auf, bei dem es sich bei der bevorzugten Ausführungsform der Erfindung um ein 4-Dit-Register handelt, das durch die Zentraleinheit mit der Nummer des Prozessormoduls geladen wird, zu dem die Daten übermittelt werden.
Zu dem Steuerteil des AusgabewarteSchlangenteils 67 gehören ein logischer Prozessor-Füllzustandsteil 73» der synchron mit dem Takt der Zentraleinheit arbeitet, ein logischer Leitungsleerzustandsteil 75, der synchron mit dem Takt der X- oder Y-Leitung betrieben wird, und ein Ausgabewarteschlangenzähler 77. Während des Füllens des Ausgabewarteschlangenpuffers 69 durch die Zentraleinheit tastet der Ausgabewarteschlangenzäh-'ler 77 den Puffer 69 ab, um die einzugebenden Daten jedem der sechzehn Wörter des Puffers zuzuführen; sobald das sechzehnte Wort in dem Puffer 69 gespeichert ist, beendet der Zähler 77 den Füllzustand.
Ferner weist der Ausgabewarteschlangenteil 67 einen Ausgabewarteschlangenzeiger 79 auf, der den gesamten Ausgabewarteschlangenteil entweder mit der X-Leitung oder der Y-Leitung der Schiene 35 verbindet. Der Ausgabewarteschlangenzeiger 79 ermöglicht eine gemeinsame Ausnutzung der logischen Teile 73 und 75 und des Puffers 69 durch die X- und Y-Leitungen der Interprozessorschienen 35.
Gemäß Fig. 3 gehören zu der Leitungssteuereinrichtung 37 ein logischer Teil 81 für den Steuerzustand der Leitung, ein Senderzähler 83, ein logischer Prozessorwählteil 85, ein Empfangsregister 87, ein Paketzähler 89 und ein Leitungstaktgeber 91.
Gemäß Fig„ 5 gehören zu jedem Eingabewarteschlangenteil 65 ein logischer Leitungsfüllzustandsteil 93, der synchron mit dem Leitungstakt arbeitet, ei;? Senderregister 95, ein Eingabewarteschlangenpuffer 97, ein Eingabewarteschlangenzähler 99
80981 1/0810
und ein logischer Prozessor-Leerzustandsteil, der synchron mit dem Takt der Zentraleinheit betrieben wird.
Fig. 6 ist ein Zustandsdiagramm der Leitungssteuerlogik 81 der Leitungssteuereinrichtung 37.
Fig. 7 ist ein Zustandediagramm der logischen Einrichtungen 73 und 75 des Ausgabewarteschlangenteils 67.
Fig. 8 ist ein Zustandsdiagramm der logischen Teile 93 und 101 des Eingabewarteschlangenteils 65.
Gemäß Fig. 7 kann der logische Prozessorfüllzustandsteil 73 entsprechend der Beschriftung vier verschiedene Zustände annehmen, und zwar die Zustände "LEER", "FÜLLEN", "GEFÜLLT" und "WARTEN". Der logische LeitungsIeerzustandsteil 75 kann gemäß Fig. 7 vier verschiedene Zustände annehmen, und zwar "LEERLAUF", "SYNCHRONISATION", "SENDEN" und "ERLEDIGT".
In Fig. 7 bezeichnen die Vollinien mit Pfeilen jeweils Übergänge aus dem gegenwärtigen Zustand in den nächsten Zustand. Die an den mit Vollinien gezeichneten Pfeilen endenden gestrichelten Pfeile bezeichnen Bedingungen, die erfüllt sein müssen, damit der dargestellte Übergang stattfinden kann.
Die Synchronisation von mit relaHv asynchronen Takten arbeitenden Zustandsmaschinen bedingt einen sorgfältigen Aufbau eines Verriegelungssystems. Diese wichtigen Verriegelungen sind in den Zustandsdiagrammen durch die gestrichelten Pfeile bezeichnet. Die Verriegelungen bewirken eine Synchronisation von zwei relativ asynchronen Zustandsmaschinen. In Fig. 7 und 8 bezeichnen somit die die gestrichelten Pfeile zwischen den Zustandsmaschinen Signale, durch welche die angegebenen Übergänge bei den ZustandsmaschineTi synchronisiert bzw. qualifiziert werdene
80981 1/08 10
Bezüglich des Zustandes "FÜLLEN" bei dem logischen Teil 73 sei bemerkt, daß der Speicherausgabewarteschlangenzustand erst dann zum Verlassen des Zustandes "FÜLLEN" führt, wenn der Ausgabewarteschlangenzähler 77 nach dem Beginn eire r mit Null beginnenden Zählung das Zählergebnis 15 erreicht hat, woraufhin vom Zustand "FÜLLEN" auf den Zustand "GEFÜLLT" übergegangen wird.
Entsprechend ist zu bemerken, daß der Zustand "SENDEN" des logischen Teils 75 bei dem Wähl- und Sendebefehlszustand erst endet, wenn der Ausgabewarteschlangenzähler 77 das Zählergebnis 15 erreicht, woraufhin vom Zustand "SENDEN" auf den Zustand "ERLEDIGT" übergegangen wird.
In Fig. 7 bezeichnet der Stern einen Schaltschritt des Ausgabewarteschlangenzählers 77.
Fig. 6 zeigt das Zustandediagramm der Logik 81 der Leitungssteuereinrichtung und läßt erkennen, daß diese Logik grundsätzlich vier verschiedene Zustände annehmen kann, und zwar die Zustände "LEERLAUF", "ABRUFEN", "EMPFANGEN" und "SENDEN".
Für Fig. 6 gelten die für Fig. 7 gemachten Bemerkungen. Ein voll ausgezogener Pfeil bezeichnet einen Übergang von einem Zustand in einen anderen, und ein zu einem solchen Pfeil führender gestrichelter Pfeil bezeichnet einen Zustand, der auftreten muß, um den durch den betreffenden ausgezogenen Pfeil bezeichneten Übergang zu ermöglichen. Ein einer Zustandsänderung beigefügter Stern bezeichnet in diesem Fall die Tatsache, daß gleichzeitig mit dem angegebenen Übergang der Senderzähler 83 um eine Einheit weitergeschaltet wird.
In Fig. 6 bezeichnen die als gestrichelte Pfeile gezeichneten Ausgabelinien Protokollbefehle, die von der Leitungssteuereinrichtung an die Interprozessorleitung abgegeben werden.
80981 1 /08 1 0
In Fig. 6 und 7 bezeichnet ein von einem Zustand ausgehender gestrichelt gezeichneter Pfeil ein logisches Ausgangssignal des betreffenden Zustandes, z.B. ein logisches Ausgangssignal zu einer Protokolleitung (bei der Leitungsleerzustandslogik 75) oder zu einer Zustandsleitung des Prozessormoduls (bei der Prozessorfüllzustandslogik 73).
Fig. β zeigt die Zustandsdiagramme für den logischen Leitungsfüllzustandsteil 93 und den logischen Prozessorleerzustandsteil 101.
Das Zustandediagramm für den logischen Teil 93 gibt vier verschiedene Zustände an, und zwar "SYNCHRONISATION", "BESTÄTIGUNG", "EMPFANG" und "GEFÜLLT".
In dem Zustandsdiagramm für den logischen Teil 101 sind vier Zustände angegeben, und zwar "RÜCKSETZEN", "BEREITSCHAFT", "UNTERBRECHUNG" und "ZWISCHENSPEICHERN"c
Bezüglich der Bedeutung der als Vollinien bzw. gestrichelt gezeichneten Pfeile in Fig. 8 gelten die vorstehend bezüglich Fig. 6 und 7 gemachten Angaben.
In Fig. 8 bezeichnet der Stern das Weiterschalten des Eingabewarteschlangenzählers 99 um eine Einheit.
Fig. 9 ist ein Ablaufschema, das die zeitliche Folge erkennen läßt, in der sich die Zustandsänderungen nach Fig. 6, 7 und 8 abspielen.
Mit Hilfe der in Fig. 9 dargestellten Folge von Schritten wird die Übermittlung eines Datenpakets von einem Prozessormodul zu einem anderen mit der Leitungstaktfrequenz durchgeführt, wobei angenommen ist, daß der betreffende Empfängermodul für den Empfang des Datenpakets bereit ist.
80981 1/08 10
Fig. 9 veranschaulicht die zeitliche Abfolge bei einer erfolgreichen Paketübermittlung, wobei die einzelnen Signale von oben nach unten dargestellt sind, während die Zeit für die Leitungstakte von links nach rechts aufgetragen ist.
In Fig. 9 bezeichnet die oberste Linie den Zustand der Leittungssteuereinrichtung, wobei jeder Unterteilungsabschnitt eine Taktperiode bzw. einen Zyklus des Leitungstaktgenerators 91 nach Fig. 3 bezeichnet. Jede der zeitlichen Unterteilungen der obersten Linie setzt sich senkrecht nach unten gegenüber den verschiedenen Signalen fort, deren Bedeutung auf der linken Seite von Fig. 9 angegeben ist.
Von den in Fig. 9 von oben nach unten aufeinander folgenden Signalen ist das erste Signal unterhalb der den Zustand der Leitungssteuereinrichtung bezeichnenden Linie das Sendeanforderungssignal (eines der in Fig. 3 mit 59 bezeichneten Protokollgruppe) und insbesondere das Signal, das von dem logischen Ausgabewarteschlangensteuerteil 67 eines beliebigen Prozessormoduls 33 stammen kann. Das Signal wird zu dem logischen Leitungssteuerzustandsteil 81 der Leitungssteuereinrichtung 37 nach Fig. 3 übermittelt,,
Das in Fig. 9 als nächstes dargestellte Wählsignal repräsentiert ein Signal, das von dem logischen Prozessorwählteil 85 der Leitungssteuereinrichtung 37 ausgeht, und das jeweils nur über eine der Wählleitungen 63 zu einem zugehörigen Prozessormodul 33 übertragen wirdc
Das nächste in Fig„ 9 dargestellte Signal, d.h. das Sendebestätigungssignal, kann nur durch einen bestimmten Prozessor erzeugt werden, wenn dieser Prozessor gewählt worden ist, und wenn sich sein logischer LeitungsIeerzustandsteil 75 im Sendezustand befindet, wie es dem bitten Zustand nach Fig. 7 entspricht. Dieses Sendebestätigungssignal wird durch die Leitungs-
80981 1 /08 1 0
steuereinrichtung 37 benutzt, um die Identität eines Prozessormoduls 33 festzustellen, der ein Datenpaket zu senden wünscht.
Das nächste Signal, d.h. das Empfangsbefehlssignal, repräsentiert ein Signal der Leitungssteuereinrichtung 37, das über eine der Protokolleitungen 59 übermittelt wird und zwei Aufgaben zu erfüllen hat.
Erstens fragt dieses Signal in Verbindung mit dem Empfängerwählsignal den Empfängerprozessormodul 33 ab, um festzustellen, ob dieser Empfängermodul empfangsbereit ist, wie es durch den Bestätigungszustand nach Fig. 8 angezeigt wird.
Zweitens hat dieses Signal die Aufgabe, den logischen Leitungsleerzustandsteil 75 des empfangenden Moduls zu sperren, so daß der empfangende Modul nicht in der Lage ist, eine vorgesehene Empfängernummer zu der Datenschiene gelangen zu lassen, wenn der Ausgabewarteschlangenteil des betreffenden Empfängermoduls 33ebenfalls ein eigenes Datenpaket bereithält, das gesendet werden soll.
Während der Zeit, während welcher der Senderprozessor das Sendebestätigungssignal liefert, führt er auch die Empfängernummer der Schiene zur Verwendung durch die Schienensteuereinrichtung 37 zu. Bei der Schiene 35 handelt es sich natürlich um eine nicht richtungsgebundene Schiene, so daß die Informationen der Datenschiene 57 durch einen beliebigen Modul zugeführt werden können, um entweder durch die Leitungssteuereinrichtung 37 zu Steuerzwecken oder durch einen anderen Prozessor zur Übermittlung von Informationen verwendet zu werden. Es sei bemerkt, daß ein Modul 33 der Schiene Daten nur zuführen kann, wenn seine Wählleitung festgelegt ist, während das Empfangsbefehlssignal noch nicht vorhanden ist.
80981 1/08 10
Während das Empfangsbefehlssignal erzeugt wird, führt die Leitungssteuereinrichtung 37 die Sendernummer der Datenleitung 57 zu, damit sie von dem gewählten Empfängerprozessormodul aufgefangen wird.
Das nächste Signal nach Fig. 9» d.h. das Empfangsbestätigungssignal, repräsentiert ein Signal, das von dem logischen Leitungsfüllzustandsteil 93 des gewählten empfangenen Moduls an den logischen Leitungssteuerzustandsteil 81 der Leitungssteuereinrichtung 37 über eine der Protokolleitungen 59 abgegeben wird, um anzuzeigen, daß sich der gewählte Empfängermodul im Bestätigungszustand nach Fig. 8 befindet und somit bereit ist, das Datenpaket zu empfange, das durch den Sendermodul zur Übermittlung bereitgehalten wird.
Wird das Empfangsbestätigungssignal durch den Empfängermodul nicht erzeugt, werden das Senderwählsignal und der Sendebefehl nicht erzeugt, und es findet keine Übertragung eines Datenpakets innerhalb des Zeitrahmens statt.
Steht das Empfangsbestätigungssignal an, läuft die Sendebefehlsfolge nach Fig. 9 ab.
Der Sendebefehl nach Fig. 9 repräsentiert ein Signal, das vom logischen Leitungssteuerzustandsteil 81 der Leitungssteuereinrichtung 37 ausgeht und dem logischen Leitungsleerzustandsteil 75 des Senderprozessormoduls 33 über eine der Protokollleitungen 59 zugeführt wird.
In Verbindung mit einem Wählsignal des Senderprozessormoduls gibt das Sendebefehlssignal den Senderprozessormodul frei, so daß dieser ein Datenpaket dem Empfängermodul während der sechzehn Takte zuführt, die vom Sendebefehlssignal erfaßt werden.
In Fig. 9 bezeichnet die letzte Linie die Informationen, die
80981 1/08 10
27Λ0056
in den Datenleitungen 57 während der vorstehend beschriebenen Folge vorhanden sind.
Die Daten werden der Schiene durch den gewählten Senderprozessormodul zugeführt und beim Empfängerprozessormodul gemäß Fig. 5 dem Eingabewarteschlangenpuffer 97 innerhalb dieses Zeitrahmens, d.h. eines Zyklus von sechzehn Takten, eingegeben. Hierbei ist angenommen, daß das Empfangsbestätigungssignal in Abhängigkeit von dem Empfangsbefehlssignal von der Leitungssteuereinrichtung empfangen wurde.
Wäre das Empfangsbestätigungssignal nicht von der Leitungssteuereinrichtung empfangen worden, wäre das Sendebefehlssignal nicht aufgetreten, und die Leitungssteuereinrichtung 37 würde wieder in ihren Abrufzustand nach Fig. 6 zurückgekehrt sein.
Im folgenden wird anhand von Fig. 2, 7, 10 und 11 ein typischer Arbeitsgang des Ausgabewarteschlangenpuffers 67 und eines Prozessormoduls 33 beschrieben.
Gemäß Fig. 10 gehören zu dem logischen Prozessorfüllzustandsteil 73 zwei Kippschaltungen A und B, und der logische Leitungs Ieerzustandsteil 75 weist zwei Kippschaltungen C und D auf.
Gemäß den ZustandeZuweisungen, die in Fig. 10 für die Kippschaltungen A und B bzw. C und D angegeben sind, ist der Zustar "LEER" durch A=O und B=O definiert. Der Zustand "FÜLLEN" ist durch A = 1 und B=O definiert. Der Zustand "GEFÜLLT" ist durch A = 1 und B = 1 definiert, während der Zustand "WARTEN" durch A=O und B = 1 definiert ist.
Auf ähnliche Weise definieren entsprechende Kombinationen von Zuständen bei den Kippschaltungen C und D die Zustände "LEERLAUF", "SYNCHRONISATION", "SENDEN" und "ERLEDIGT", Die soeben
809811/08 10
genannten ZustandeZuweisungen könnten auch in Form logischer Gleichungen angegeben werden. Z.B. gilt für den Zustand "LEER" J. . E; diese Schreibweise ist in Fig. 11 bei den logischen Gleichungen angewendet.
Gemäß Fig. 7 entspricht der Ausgangszustand nach dem Einschalten der Stromzufuhr oder nach der manuellen Rückstellung dem im linken oberen Teil von Fig. 7 dargestellten Leerzustand.
Der Leerzustand des logischen Prozessorfüllzustandsteils 73 bewirkt, daß der Zentraleinheit 105 ein Bereitschaftssignal zugeführt wird, um das Vorhandensein dieses Zustandes anzuzeigen, wie es in Fig. 7 durch den gestrichelten Pfeil RDY angedeutet ist.
Wenn eine übertragung über die Interprozessorleitung erforderlich ist, liefert die Firmware (Mikroprogramm) der Zentraleinheit in Abhängigkeit von dem Bereitschaftssignal ein Speicherempfangssignal, das in Fig. 7 durch den gestrichelten Pfeil S/RCV angedeutet ist und eine Qualifizierung (Synchronisation) des Übergangs bewirkt, durch den aus dem Leerzustand in den Zustand "FÜLLEN" übergegangen wird.
Zum Überführen von Daten in den Ausgabeschlangenpuffer 69 erzeugt die Firmware der Zentraleinheit ein Speicherausgabewarte Schlangensignal entsprechend dem gestrichelten Pfeil CNT 15 S/OUTQ für Jedes in dem Puffer 69 zu speichernde Wort.
Jedes dieser Speicherausgabewarteschlangensignale schaltet den Ausgabewarteschlangenzähler 77 weiter, wobei bei Null begonnen wird, bis das Zählergebnis 15 erreicht ist.
Sobald das sechzehnte Speicherausgabewarteschlangensignal erscheint, erfolgt ein Übergang «us dem Zustand "FÜLLEN." in den Zustand "GEFÜLLT", wie es in Fig. 7 durch den als Vollinie gezeichneten Pfeil angedeutet ist.
80981 1/0810
Der Zustand "GEFÜLLT" der Prozessorfüllzustandslogik bildet einen Synchronisationszustand für die Leitungsleerzustandelogik, wie es in Fig. 7 durch den gestrichelten Pfeil angedeutet ist, der vom Zustand "GEFÜLLT" der Logik 73 nach unten zu der Leitungsleerzustandslogik 75 verläuft.
Die Prozessorfüllzustandslogik 73 verbleibt im gefüllten Zustand, bis die Leitungsleerzustandslogik 75 danach den Zustand "EfILEDIGT" erreicht hat.
Bei der Leitungsleerzustandslogik 75 wird gemäß Fig. 7 der Ausgangs zustand "LEERLAUF" beim Einschalten der Stromzufuhr oder beim manuellen Rückstellen erreicht.
Die Leitungsleerzustandslogik 75 verbleibt im Leerlaufzustand, bis der Übergang in den Synchronisationszustand zugelassen wird, wie es in Fig. 7 durch den gestrichelten Pfeil angedeutet ist, der vom Zustand "GEFÜLLT" der Prozessorf üllzustands· logik 73 ausgeht.
Die Leerzustandslogik 75 arbeitet dann weiter, ohne daß eine Qualifikation erforderlich ist, um aus dem Synchronisationszustand in den Sendezustand überzugehen.
Beim Sendezustand wird das Sendeanforderungssignal der Schiene und der Schienensteuereinrichtung zugeführt, wie es in Fig. durch den gestrichelten Pfeil SND REQ angedeutet ist, der von dem Zustand "SENDEN" ausgeht.
In Abhängigkeit von diesem Sendeanforderungssignal fragt die Leitungssteuerlogik 81 nach Figc 6 die Prozessormodule nacheinander ab, bis der Sender identifiziert ist, wie es weiter oben anhand von Fig. 9 beschrieben wurde.
Die Leitungssteuereinrichtung gibt ein Empfangsbefehlssignal
80981 1/08 10
- St
und ein Wählsignal an den vorgesehenen Empfängerprozessormodul ab, und beim Empfang des Empfangsbestätigungssignals geht sie zu dem in Fig. 9 ebenfalls identifizierten Datenpaket-Zeitrahmen über.
Während des Datenpaket-Zeitrahmens erzeugt die Leitungssteuereinrichtung das Wählsignal für den Senderprozessormodul sowie das Sendebefehlssignal für diesen Modul.
In Fig. 7 sind das Wählsignal SEL und das Sendebefehlssignal SND CMD als in das Diagramm eintretend dargestellt, wobei qualifizierende (synchronisierende) Übergänge den Zustand "SENDEN" verlassen bzw.ihm zugeführt werden.
Während die Wähl- und Sendebefehlssignale anstehen, schaltet Jeder Leitungstakt den Ausgabewarteschlangenzähler 77 weiter, wobei mit dem Zählergebnis Null begonnen wird.
Bei der sechzehnten Taktperiode der Wähl- und Sendebefehlssignale wird der übergang, der den Sendezustand beendet und das Fortschreiten zum Zustand "ERLEDIGT" bewirkt, qualifiziert bzw. synchronisiert, wie es in Fig. 7 durch einen gestrichelten Pfeil angedeutet ist.
Wenn die Leerzustandslogik 75 den Zustand "ERLEDIGT" erreicht hat, wird ein Übergang der Prozessorfüllzustandslogik 73 aus dem Zustand "GEFÜLLT» in den Zustand "WARTEN" qualifiziert, wie es in Fig. 7 bei dem Zustand "ERLEDIGT" durch einen gestrichelten Pfeil angedeutet wird.
Hierauf qualifiziert der Zustand "WARTEN" der Prozessorfüllzustandslogik 73 einen Übergang der Leitungsleerzustandslogik 75 aus dem Zustand "ERLEDIGT" in den Leerlaufzustand, wie es in Fig. 7 durch den gestrichelten Pfeil im Anschluß an den Zustand "WARTEN" angedeutet ist.
80981 1/08 10
Schließlich qualifiziert die Leitungsleerzustandslogik 75, die sich im Leerlaufzustand befindet, den Übergang der Prozessorfüllzustandslogik 73 aus dem Zustand "WARTEN" in den Zustand "LEER", wie es in Fig. 7 durch den von dem Zustand "LEERLAUF" ausgehenden gestrichelten Pfeil angedeutet ist.
Nunmehr ist ein Datenpaket durch den Prozessormodul dem Ausgabewarteschlange npuff er 69 eingegeben und über die Schiene 35 zu dem Empfängerprozessormodul übermittelt worden, und die Prozessorfüllzustandslogik 73 sowie die Leitungsleerzustandslogik 75 sind jeweils in ihren ursprünglichen Zustand zurückgekehrt.
Die vorstehende Beschreibung bezieht sich auf die in Fig. 7 dargestellten Übergänge und Qualifikationen. Die Wirkungsweise der logischen Teile 73 und 75 bei den anhand von Fig. 7 beschriebenen Vorgängen wird im folgenden anhand des logischen Diagramms in Fig. 10 und der in Fig. 11 angegebenen logischen Gleichungen näher erläutert.
Die in Fig. 10 dargestellten Kippschaltungen A und B sind als JK-Kippschaltungen ausgebildet, die mit Flankentriggerung arbeiten, d.h. bei denen Zustandeänderungen nur bei Taktübergängen auftreten, wie es in Fig. 10 auf der linken Seite der Kippschaltungen A und B durch kleine Dreiecke und die zugehörigen Beschriftungen angedeutet ist.
Das logische Diagramm in Fig. 10 dient in erster Linie zur Veranschaulichung des Übergangs von einem Zustand in einen anderen bei den Zustandsmaschinen nach Fig. 7. Beispielsweise spielt sich der Übergang vom Leerlaufzustand in den Synchronisationszustand bei der Leitungsleerzustandslogik 75 in der nachstehend beschriebenen Weise ab.
Um einen übergang aus dem Leerlaufzustand in den Synchronisationszustand zu bewirken, muß die Zustandevariable C nach
80981 1/08 10
Oil
Fig. 10 eingestellt werden.
Die logische Gleichung für den J-Eingang der Zustandsvariablen C ist in Fig. 11 dargestellt und mit 103 bezeichnet. Bei dieser Gleichung entspricht die Verriegelung, die in Fig. 7 durch den gestrichelten Pfeil zwischen dem Füllzustand der Füllzustandslogik 73 zu dem übergang dargestellt ist, der Größe (A · B) bzw. dem Ausdruck (GEFÜLLT) in der Gleichung 103. Der Zustand D" bzw. der Leerlauf zustand in der Gleichung 103 nach Fig. 11 entspricht dem in Fig. 7 dargestellten Leerlaufzustand. Das Glied J der Gleichung entspricht dem J-Eingang der Kippschaltung C nach Fig. 10o Das Glied (C) entspricht dem wahren Ausgangssignal der Kippschaltung C nach Fig. 10.
Anhand von Fig. 10 und 11 werden keine weiteren Zustandsübergänge nach Fig. 7 beschrieben, denn es wird angenommen, daß diese Übergänge, die entsprechend dem logischen Diagramm in Fig. 10 und den logischen Gleichungen nach Fig„ 11 durchgeführt werden, durch das vorstehende Beispiel des Übergangs aus dem Leerlaufzustand in den Synchronisationszustand hinreichend verdeutlicht worden sind.
Fig. 10 und 11 zeigen das logische Diagramm bzw. die logischen Gleichungen für das Zustandsdiagramm des Ausgabewarteschlangenpuffers 67. Für den Eingabewarteschlangenpuffer 65 und die Leitungssteuereinrichtung 37 sind keine entsprechenden logischen Diagramme bzw. logischen Gleichungen dargestellt worden, da diese denjenigen nach Fig. 10 und 11 ähneln und sich den Zustandsdiagrammen in Fig. 6 und 8 ohne weiteres entnehmen lassen.
Gemäß Fig. 1 ist jeder Prozessormodul 33 des Multiprozessorsystems mit den beiden Leitungen oder Schienen 35 verbunden, und er kann über jede Schiene *z*t sich selbst und mit jedem anderen Prozessormodul verkehren. Bei jeder Übertragung eines
809811/0810
Datenblocks bildet ein Prozessormodul die Quelle bzw. den Sender, während ein anderer Modul den Bestimmungsort oder Empfänger bildet.
Die Übermittlung von Daten durch einen Prozessormodul über eine der Interprozessorleitungen 35 wird mit Hilfe der Software unter Verwendung des Sendebefehls eingeleitet und durchgeführt.
Beim Sendebefehl arbeiten das Mikroprogramm 115 nach Fig. 2 und der Mikroprozessor 113 der Zentraleinheit mit dem gemeinsam ausgenutzten Ausgabewarteschlangenteil 67 der Interprozessor-Steuereinrichtung 55 zusammen, um einen Datenblock aus dem Speicher 101 auszulesen, um den Datenblock in Pakete zu zerlegen, um Paketprüfsummenwörter zu berechnen und um den Datenblock paketweise über eine Schiene zu dem Empfangsprozessormodul zu übermitteln. Parameter, die dem Sendebefehl zugeführt werden, spezifizieren die Anzahl der Wörter in dem Datenblock, die Startadresse des Datenblocks, die zu benutzende Schiene, den Empfängerprozessor und einen maximalen anfänglichen Zeitsperrenwert zum Abwarten der Verfügbarkeit des Ausgabewarteschlangenteils 67.
Der Sendebefehl endet erst nach der Übermittlung des gesamten Datenblocks; somit erscheint das Senden eines Datenblocks vom Software-Standpunkt als ein einziger Vorgang. Jedoch ist der Sendebefehl unterbrechbar und wiederaufnehmbar, so daß die Reaktion des Betriebssystems auf andere Vorgänge nicht durch die Länge der Zeit beeinträchtigt wird, die zur Beendigung eines Sendebefehle benötigt wird.
Der Empfang von Daten durch einen Prozessormodul über die Interprozessorschienen wird nicht durch einen Software-Befehl bewirkt, denn die Zeitpunkte des Eintreffens und die Quellen der Datenpakete lassen sich nicht voraussagen« Der Empfang von
8098 1 1 /08 1 C
Daten wird durch den Empfänger freigegeben, kann jedoch nicht durch den Empfänger eingeleitet werden.
Der Mikroprozessor 113 der Zentraleinheit unterbricht die Verarbeitung der Software-Befehle nach Bedarf, um das Leitungsempfangs-Mikroprogramm 115 ablaufen zu lassen. Das Mikroprogramm entnimmt gemäß Fig. 2 das empfangene Datenpaket einem der Eingabewarteschlangenteile 65 der Interprozessor-Steuereinrichtung 55, woraufhin die Daten in einem Speicherpuffer gespeichert und die richtige Paketprüfsumme geprüft wird.
Das erneute Zusammenstellen empfangener Pakete zu Datenblöcken erfolgt gemäß Fig. 2 mit Hilfe der Schienenempfangstabelle 150 im Speicher. Die Schienenempfangstabelle enthält 32 Einträge mit je zwei Wörtern, die den beiden Schienen 35 entsprechen, welche bei dem hier beschriebenen Ausführungsbeispiel eines Multiprozessorsystems zu den sechzehn vorhandenen Prozessormodulen führen. Jeder einer Schiene und einem Sender entsprechende Eintrag der Schienenempfangstabelle enthält ein Adressenwort und ein Zählwort. Das Adressenwort gibt an, in welchem Puffer der Systemdatenzone von dem Sender eintreffende Daten gespeichert werden sollen. Das Zählwort gibt an, wieviele Datenwörter noch verbleiben, bis die Übertragung des Datenblocks durch den Sender beendet ist«
Während des Empfangs jedes Datenpakets unterbindet der Mikroprozessor 113 der Zentraleinheit die Verarbeitung von Software-Befehlen, und das Schienenempfangs-Mikroprogramm 115 wird aktiviert. Dieses Mikroprogramm liest die Adressen- und Zählwörter aus dem Eintrag der Schienenempfangstabelle des Senders, speichert das Datenpaket in dem angegebenen Bereich, prüft die Richtigkeit der Paketprüfsumme und führt eingestellte Werte der Adressen-und Zählwörter in den Eintrag der Schienenempfangstabelle zurück. Wenn das Datenpaket bewirkt hat, daß das Zählergebnis den Wert Null erreicht, oder wenn es eine falsche
80981 1/08 10
Prüfsurame enthielt, erzeugt das Schienenempfangs-Mikroprogramm ein Unterbrechungssignal, um der Software die Beendigung des Datenblocks zu melden. Dann nimmt das Mikroprogramm der Zentraleinheit die Verarbeitung der Software-Befehle an dem Punkt wieder auf, an dem die Verarbeitung unterbrochen wurde, ohne daß irgendeine Störung mit Ausnahme einer Verzögerung des gerade ablaufenden Programms eintritt0
Ein wichtiges Merkmal der Erfindung besteht darin, daß Datenblöcke, die von verschiedenen Sendern stammen, sämtlich gleichzeitig durch einen Empfangsprozessormodul aus Datenpaketen zusammengestellt werden können, die in beliebiger Reihenfolge eintreffen. Dieses zeitlich verzahnte Zusammenstellen von Datenblöcken aus Paketen wird so durchgeführt, daß es für die den Empfängerprozessor steuernde Software transparent ist. Die Software wird nur durch die erfolgreiche Beendigung von Datenblöcken oder fehlerhafte Übermittlungen unterbrochen.
Ferner ist die Tatsache von Bedeutung, daß bei der Interprozessor-Schienenhardware in zwei Bereichen eine zeitliche Verzahnung oder eine zeitliche Unterteilung erreicht worden ist.
Erstens ermöglichen es jede Interprozessorschiene und die zugehörige Schienensteuereinrichtung, Datenpakete nach Bedarf zwischen Jedem Sender und jedem Empfänger zu übermitteln. Die Rundanfrage durch eine Schienensteuereinrichtung zur Identifizierung eines eine Anforderung stellenden Senders gewährleistet, daß sämtlichen Prozessormodulen gleiche Chancen gegeben werden, über die betreffende Schiene zu senden. Jede Schiene bildet einen Verkehrsweg, der in zeitlicher Verzahnung und ohne jedes Vorurteil von sämtlichen Prozessormodulen benutzt werden kann.
Zweitens wird jeder Eingabewarteschlangenteil 65 der Interprozessor-Steuereinrichtung 55 eines Prozessormoduls in zeitlicher Verzahnung durch von mehreren Sendern eintreffende Datenpakete
80981 1 /0810
benutzt» Mit anderen Worton, die Eingabeschlangenlogik und der Speicher eines Prozessors sind während der Dauer der Übertragung eines Datenblocks nicht einem einzigen Sender vorbehalten. Vielmehr wird jedes empfangene Datenpaket in der richtigen Weise dem Speicher durch die Schienenempfangstabelle züge· führt, und zwar durch den dem betreffenden Sender und der betreffenden Schiene entsprechenden Eintrag. Datenblöcke, die von verschiedenen Sendern stammen, werden im Speicher des Empfängers in der richtigen Weise zusammengestellt, und zwar ohne Rücksicht auf die Reihenfolge, in der die Sender von der Schiene Gebrauch machen.
Einem Prozessormodul stehen zwei Möglichkeiten zur Verfügung, um seine Fähigkeit, Datenpakete über die X-Schiene oder die Y-Schiene zu empfangen, festzulegen.
Erstens ist für jede Interprozessorschiene ein entsprechendes tiit im Unterbrechungsmaskenregister der Zentraleinheit vorhanden,, Wenn das Maskenbit ansteht, werden MikroUnterbrechungen für die betreffende Schiene zugelassen, MikroUnterbrechungen (Aktivierung des Schienenempfangs-Mikroprogramms) erfolgen, wenn die Prozessorleerzustandslogik 101 nach Fig. 5 bei einem Eingabewarteschlangenteil 65 den Mikrounterbrechungszustand erreicht, nachdem ein Datenpaket von einem Eingabewarteschlangenpuffer empfangen worden ist. Steht beim Empfang eines Datenpakets das Maskenbit nicht an, werden die MikroUnterbrechung und die nachfolgende Verarbeitung des Datenpakets zur Eingabe in den Speicher aufgeschoben, bis das Maskenbit durch einen Software-Befehl gesetzt wird.
Software-Operationen, z.B. die Änderung eines Eintrags der Schienenempfangstabelle, werden durchgeführt, während die Mikrounte rb rechungen gesperrt sind, um unvorhersehbare Ergebnisse zu vermeiden. Es gehen keine i^c+enpakete verloren, während die MikroUnterbrechungen gesperrt sind. Das erste empfangene Daten-
80981 1 /0810
274005$
paket wird im Eingabewarteschlangenpuffer festgehalten, bis die Mikrounterbrechung freigegeben wird. Nachfolgende Übertragungen von Datenpaketen bei gefülltem Eingabewarteschlangenpuffer werden zurückgewiesen, denn die Schienenfüllzustandslogik 93 befindet sich im Zustand "GEFÜLLT" und ist daher unfähig, in Abhängigkeit vom Wählsignal das Empfangsbestatigungssignal zu erzeugen.
Ein zweites Mittel zum Bestimmen der Fähigkeit, Datenpakete über die Schiene zu empfangen, besteht in der Maßnahme, die durch den Prozessormodul getroffen wird, nachdem bei der X-Schiene oder der Y-Schiene eine Empfangsbeendigungsunterbrechung stattgefunden hat (Aktivierung einer Einrichtung zum Unterbrechen des Betriebssystems).
Wird bei einem empfangenen Datenpaket ein Prüfsummenfehler festgestellt, oder wenn das in einem Datenblock verbleibende Wortzählergebnis der Schienenempfangstabelle den Wert Null erreicht, während dem Speicher ein Datenpaket eingegeben wird, setzt das Schienenempfangs-Mikroprogramm bei der X-Schiene oder der Y-Schiene das Beendigungsunterbrechungszeichen. Anderenfalls gibt das Mikroprogramm gemäß Fig. 8 das Signal RINT an die Prozessοrleerzustandslogik 101 ab, um den Empfang eines weiteren Datenpakets zu ermöglichen. Wird jedoch das Beendigungssignal gesetzt, wird das Signal RINT nicht abgegeben.
Somit ist die Software-Unterbrechungseinrichtung, die auf die Beendigung des Empfangs durch die Schiene anspricht, dafür verantwortlich, daß das Signal RINT ausgegeben wird (mit Hilfe einer RIR-Software-Instruktion), um den Eingabewarteschlangenteil 65 wieder freizugeben. Bis dies geschieht, verbleibt die Leitungsfüllzustandslogik 93 im Zustand "GEFÜLLT", und es werden keine weiteren Datenpakete empfangene
Das Beendigungsunterbrechungssignal kann daher entweder eine
80981 1/08 10
2740055
Datenblockübertragung bezeichnen, bei der sich das Senden und Empfangen fehlerlos abgespielt haben, oder eine Teilübertragung, bei der ein Prüfsummenfehler festgestellt wird, wobei die Beendigungsunterbrechung als Folge des Nachweises eines Prüfsummenfehlers erfolgt. Im letzteren Fall fährt der Sender fort, den Datenblock zu senden, doch scheidet der Empfänger den Datenblock aus, nachdem der Prüfsummenzähler nachgewiesen worden ist. Dieser Fehler zeigt sich im Zählwort der Schienenempfangstabelle als negativer Wert. Hierauf wird im folgenden näher eingegangen.
Der Sendebefehl ist ein Befehl, der vier Parameterwörter im Registerstapel der Zentraleinheit erfordert.
Das erste der vier Parameterwörter ist ein Zählergebnis der Anzahl der zu übermittelnden Wörter. Dieser Wert muß der Zahl entsprechen, die von der Schienenempfangstabelle im Empfängerprozessormodul erwartet wird, wenn die Übermittlung erfolgreich vollständig durchgeführt werden soll.
Das zweite Parameterwort ist die um 1 verkleinerte Adresse im Systemdatenbereich des Senderprozessorspeichers, wo sich die zu übermittelnden Daten befinden.
Das dritte Parameterwort ist ein Zeitsperrwert, der der vollständigen Übermittlung eines einzelnen Datenpakets mit 15 Datenwörtern zugeteilt ist. Die Sperrzeit beginnt neu für Jedes durch den Sendebefehl übermittelte Datenpaket.
Das vierte Parameterwort bezeichnet die zu benutzende Schiene (X-Schiene oder Y-Schiene) und den Empfängerprozessormodul. Die höchste Bitstelle des Parameterworts bezeichnet die Schiene während die vier nachgeordneten Bits bei einer Ausführungsform der Erfindung die Nummer des Empfängerprozessormoduls bezeichnen.
80981 1/08 1 0
-a?- 2740095
Am Ende eines Sendebefehls sind zwei verschiedene Zustände möglich.
Der erste Zustand besteht darin, daß bei einem Datenpaket eine Zeitsperre aufgetreten ist, daß die übrigen Datenpakete nicht übermittelt wurden, und daß die Durchführung des Befehls an diesem Punkt beendet wurde. In diesem Fall werden die verbleibenden Pakete des Datenblocks nicht übermittelt.
Der zweite mögliche Zustand zeigt an, daß eine erfolgreiche Übertragung eines Datenblocks beendet worden ist.
Gemäß einer anfänglichen Zusammenfassung des Sendevorgangs bewirkt somit der Sendebefehl,daß der Ausgäbewarteschlangenpuffer 69 (Fig. 4) mit fünfzehn Datenwörtern gefüllt wird, daß eine ungeradzahlige Paritatsprufsumme angehängt wird, und daß der Schienensteuereinrichtung 37 gemeldet wird, daß ein Datenpaket zur Übermittlung bereitsteht. Nachdem jeweils ein Datenpaket mit sechzehn Wörtern übermittelt worden ist, wird der Ablauf des Sendebefehls dort wieder aufgenommen, wo er unterbrochen wurde. Wenn das letzte Paket des Datenblocks weniger als fünfzehn Wörter enthält, werden die verbleibenden Wörter mit Nullen aufgefüllt. Der Befehl endet, wenn das letzte Paket übermittelt worden ist.
Fig. 5 zeigt das zugehörige logische Diagramm und Fig. 7 das Zustandsdiagramm für die Sendehardware.
Die erste Wirkung der Sendebefehlsfolge besteht in der Ausgabe des Senderempfangssignals an die Prozessorfüllzustandslogik 73 (Fig. 4) und der über die Leitung M nach Figo 4 erfolgenden Zuführung der Empfängerprozessornummer zum Empfangsregister Gleichzeitig wird der Ausgabewarteschlangenzeiger 79 entsprechend dem hähsten Bit aus der Leitung M eingestellt, um den Ausgabewarteschlangenteil 67 mit der X-Schiene oder der Y-Schiene zu verbinden.
R0981 1/0810
2740055
Das Speicherempfangssignal nach Fig. 4 veranlaßt die Prozessorfüllzustandslogik 73, die sich anfänglich in ihrem Leerzustand nach Fig. 7 befindet, in den Zustand "FÜLLEN" nach Fig. 7 überzugehen. Dieser Vorgang bewirkt, daß gemäß Fig. 4 das Empfangsregister 71 mit der Nummer des Empfängerprozessors geladen wird.
Nunmehr ist der Ausgäbewarteschlangenteil 67 bereit, das Datenpaket in den Ausgabeschlangenpuffer 69 aufzunehmen. Jetzt werden dem Speicher bis zu fünfzehn Wörter entnommen und mit Hilfe der Leitung M nach Fig. 4 im Ausgabewarteschlangenspeicher 69 gespeichert. Das Speichersignal bewirkt, daß jedes in der Leitung M erscheinende Wort dem Ausgabewarteschlangenpuffer 69 an einer Speicherstelle eingegeben wird, die durch den Ausgabewarteschlangenzähler 77 bezeichnet wird. Außerdem bewirkt jedes Signal für die Speicherung in dem Ausgabewarteschlangenspeicher, daß der Ausgabewarteschlangenzähler 77 um eine Einhei t weitergeschaltet wird.
Während die Wörter dem Speicher entnommen werden, wird das Adressenwort um 1 vergrößert, und das zu übermittelnde Wörterzählergebnis wird um 1 verkleinert. Wenn das Zählergebnis den Wert Null erreicht, bevor dem Speicher fünfzehn Wörter entnommen worden sind, wird der verbleibende Teil des Ausgabewarteschlangenpuffers 69 mit Nullen gefüllt, um das Datenpaket zu vervollständigen.
Während die Wörter dem Ausgabewarteschlangenpuffer 67 eingegeben werden, berechnet das Mikroprogramm 115 (Fig. Z) eine Modulo-2-Sumee der Datenwörter, Nachdem das fünfzehnte Datenwort geladen worden ist, wird dieses ungeradzahlige Prüfeummenwort der sechzehnten Speicherstelle des Puffers 67 eingegeben.
In diesem Zeitpunkt enthält der Ausgabewarteschlangenzähler 77 das Zählergebnis 15, und dieser Wert veranlaßt in Verbindung mit
80981 1/08 10
dem Ausgabewarteschlangenspeichersignal die Prozessorfüllzustandslogik 73, gemäß Fig. 7 aus dem Zustand "FÜLLEN" in den Zustand "GEFÜLLT" überzugehen.
Jetzt hat das Mikroprogramm 115 das Laden der Daten in den Ausgabewarteschlangenpuffer 69 beendet. Das Mikroprogramm wartet nunmehr darauf, daß das Datenpaket übermittelt wird, und zu diesem Zweck prüft es das Auftreten des Bereitschaftssignals RDY nach Fig. 7.
Während das Mikroprogramm 115 auf die Übermittlung des Datenpakets wartet, schaltet es einen Zeitgeber weiter, und wenn dieser Zeitgeber abläuft, bevor das Bereitschaftssignal RDY auftritt, führt das Mikroprogramm gemäß Fig. 4 der Prozessorfüllzustandslogik 73 das Signal CLOQ zum Freimachen des Ausgabewarteschlangenpuffers zu, wodurch die Logik 73 veranlaßt wird, gemäß Fig. 7 in ihren Leerzustand zurückzukehren, woraufhin das Mikroprogramm dann den Sendebefehl mit einer Zeitablaufanzeige beendet.
Während des normalen Betriebs ermöglicht es der Zustand "GEFÜLLT" der Prozessorfüllzustandslogik 73 der Leitungsieerzustand logik 75, gemäß Fig. 7 aus dem Leerlaufzustand in den Synchronisationszustand überzugehen. Danach wird automatisch vom Synchronisationszustand auf den Sendezustand übergegangen, und hierdurch wird bewirkt, daß das Sendeanforderungssignal der Schienensteuereinrichtung 37 zugeführt wird. Das Sendeanforderungssignal leitet eine noch zu beschreibende Datenpaket-Übertragungsfolge ein.
Wenn, wie erwähnt, der Senderprozessormodul durch die Schienensteuereinrichtung 37 mittels einer Abfrage identifiziert worden ist, und wenn der Empfängerprozessormodul die Übertragung des Datenpakets mit Hilfe des Empfangsbestätigungssignals akzeptiert hat, wird das Datenpaket aus dem Ausgabewarteschlangenpuffer 69 nach Fig. 4 über den Ausgabewarteschlangenzeiger 79 einer der Datenschienen 57 zugeführt, um dem Eingabewarteschlangen-
8098 11/08 10
401ο
puffer des Empfängerprozessormoduls eingegeben zu werden.
Sobald das sechzehnte Wort der Schiene zugeführt wird, bewirkt das Zählergebnis 15 des Ausgabewarteschlangenzählers in Verbindung mit dem Sendebefehlssignal und dem Senderwählsignal, daß die Schienenleerzustandslogik 75 gemäß Fig. 7 aus dem SendeziB tand in den Zustand "ERLEDIGT" übergeht«
Das Erreichen des Zustandes "ERLEDIGT" ermöglicht es der Prozessorfüllzustandslogik 73» aus dem Zustand "GEFÜLLT" in den Wartezustand überzugehen, wie es in Fig. 7 durch den gestrichelten Pfeil angedeutet ist, der vom Zustand "ERLEDIGT" zu dem soeben genannten übergang verläuft.
Hierauf ermöglicht der Wartezustand einen Übergang aus dem Zustand "ERLEDIGT" in den Leerlaufzustand, wie es in Fig. 7 dargestellt ist.
Schließlich ermöglicht der Leerlaufzustand einen Übergang aus dem Wartezustand in den Leerzustand, wie es ebenfalls in Fig.7 gezeigt ist.
Der Leerzustand der Prozessorfüllzustandslogik 73 liefert das Bereitschaftssignal RDY für das Mikroprogramm 115.
Wenn das soeben übermittelte Datenpaket das letzte des betreffenden Datenblocks war, wird der Sendebefehl beendet, und die erfolgreiche übertragung des Datenblocks wird angezeigt«
Ist das übermittelte Datenpaket nicht das letzte des Datenblocks, wird die vorstehend beschriebene Folge wiederholt, bis alle Wörter des Blocks übermittelt worden sind, oder bis ein Zeitablauffehler aufgetreten ist.
Der Sendebefehl läßt sich unterbrechen und wieder aufnehmen;
809811/0810
jedoch ist der Sendebefehl nur zwischen Datenpaketen unterbrechbar, und eine Unterbrechung des Sendebefehls hat keine Wirkung auf die übermittelten Daten.
Somit läßt sich mit Hilfe eines einzigen Software-Befehls, d.h. des Sendebefehls, ein Datenblock von bis zu 32 767 Wörtern von einem Senderprozessormodul zu einem Empfängerprozessormodul übermitteln, und die Genauigkeit der Übermittlung wird durch die Paketprüf summe geprüft. Außerdem spielt sich die Übermittlung mit einer hohen Geschwindigkeit ab, da es die Pufferung durch den Ausgabewarteschlangenpuffer 69 des Senderprozessormoduls ermöglicht, die Übermittlung bei der Interprozessor-Schienengeschwindigkeit unabhängig von der Speichergeschwindigkeit des Senderprozessormoduls durchzuführen. Auf diese Weise wird eine wirtschaftliche Benutzung dieses Kommunikationswegs zwischen mehreren Prozessormodulen bei Zeitunterteilung ermöglicht.
Wie erwähnt, wird kein Empfangsbefehl erzeugt.
Damit ein Prozessormodul Daten über eine Interprozessorschiene empfangen kann, muß das Betriebssystem bei diesem Modul zuerst einen Eintrag für die Schienenempfangstabelle aufstellen. Jeder Eintrag enthält die Adresse, wo die eintreffenden Daten gespeichert werden, und die Anzahl der erwarteten Wörter.
Während der Senderprozessormodul den Sendebefehl ausführt und Daten über die Schiene sendet, speichern die Schienenempfangshardware und das Mikroprogramm 115 des Empfängerprozessonnoduls die Daten entsprechend dem zugehörigen Schieneneepfangstabelleneintrag, wobei dies in zeitlicher Verzahnung mit der Ausführung des Software-Programms geschieht«,
Wenn der Empfängerprozessormodul die erwartete Anzahl von Wörtern von einem bestimmten Sender empfängt, wird das gerade
809811/0810
27Λ0056
ablaufende Programm unterbrochen, und die Übertragung über die betreffende Schiene wird zu Ende geführt.
Fig. 5 zeigt das logische Diagramm und Fig. 8 das Zustandsdiagramm der Schienenempfangshardware„
Wie erwähnt, sind bei jedem Prozessormodul gleichartige X- und Y-Eingabewarteschlangenteile 65 für die X- und Y-Schienen vorhanden. Im folgenden wird daher nur einer der Eingabewarteschlangenteile näher beschrieben.
Nach dem anfänglichen Zurückstellen eines Prozessormoduls oder nach der Beendigung eines vorausgehenden Empfangsvorgangs geht die Prozessorleerzustandslogik 101 gemäß Fig. 8 aus dem Rückstellzustand in den Bereitschaftszustand über, wodurch es der Schienenfüllzustandslogik 93 ermöglicht wird, aus dem Synchronisationszustand in den Bestätigungszustand überzugehen.
Dieser BestätigungsziB tand des Eingabewarteschlangenteils 65 läßt gemäß Fig. 2 in Abhängigkeit von einem Wählsignal 63 des Prozessormoduls 33 ein Empfangsbestätigungssignal zu der Schienensteuereinrichtung 37 gelangen. Hierdurch wird die Bereitschaft des X-Eingabewarteschlangenteils 65 zum Empfangen des Datenpakets angezeigt.
Bei der vorstehend im einzelnen beschriebenen Paketübermittlungsfolge ermöglichen es das Wählsignal des Prozessormoduls und das Empfangsbefehlssignal der Schienenfüllzustandslogik 93» aus dem Bestätigungszustand in den Empfangs zustand überzugehen.
Bei dieser Zustandsänderung wird das Senderregister 95 nach Fig. 5 mit der Nummer des Senderprozessormoduls geladeno
Beim Empfangszustand wird das Datenpaket aus der Datenschiene unter der Steuerwirkung des Eingabewarteschlangenzählers 99 in den Eingabewarteschlangenpuffer 97 überführt,
809811/0810
Sobald das sechzehnte Wort des Datenpakets geladen wird, erfolgt gemäß Fig. 8 der Übergang aus dem Empfangszustand in den Zustand "GEFÜLLT".
Jetzt ermöglicht es der Zustand "GEFÜLLT" der Prozessorleerzustandslogik 101, gemäß Fig. 8 aus dem Bereitschaftszustand in den Mikrounterbrechungszustand überzugehen, wodurch der Unterbrechungslogik der Zentraleinheit ein Signal zugeführt wird, um das Füllen der Eingabewarteschlange zu melden. Dieses Signal bewirkt, daß am Ende des nächsten Software-Befehls eine Mikrounterbrechung stattfindet, wenn das der Schiene entsprechende Maskenbit ansteht.
Das durch die Unterbrechung aktivierte Schienenempfangs-Mikroprogramm 115 führt gemäß Fig. 5 zunächst der Prozessorleerzustandslogik 101 ein Verriegelungssignal zu. Hierdurch wird bewirkt, daß die Prozessorleerzustandslogik 101 aus dem Mikrounterbrechungszustand in den Zwischenspeicherzustand übergeht.
Das Verriegelungssignal dient außerdem zum Wählen der X- oder Y-Warteschlange; dies gilt jedoch mit der Einschränkung, daß dann, wenn beide Eingabewarteschlangen gefüllt und freigegeben sind, die X-Warteschlange gewählt wird.
Als nächstes gibt das Mikroprogramm 115 gemäß Fig. 5 das Signal K/SND aus, das bewirkt, daß das Senderregister 95 seinen Inhalt an die K-Schiene abgibt, um die Nummer des das Datenpaket sendenden Prozessors zu erhalten.
Mit Hilfe dieser Prozessornummer liest das Mikroprogramm 115 den Schienenempfangstabelleneintrag des Senderprozessors, um die Adressen- und Zählwörter zu erhalten.
Ist das Zählwort Null oder negativ, wird das Datenpaket verworfen; in diesem Fall gibt das Mikroprogramm 115 gemäß Fig.
Θ09811/0810
440
das Signal RINT ab, das die Prozessorleerzustandslogik 101 veranlaßt, gemäß Fig. 8 aus dem Zwischenspeicherzustand in den Äückste11zustand überzugehen. In diesem B'all wird kein weiterer Vorgang durchgeführt. Die MikroUnterbrechung wird beendet, und die Verarbeitung des Software-Befehls wird wieder aufgenommen.
Ist das Zählergebnis positiv, liest das Mikroprogramm 115 Wörter aus dem Eingabewarteschlangenpuffer 97 aus, um sie der K-Schiene mit Hilfe des in Fig. 5 dargestellten Signals K/INQ zuzuführen.
Bei jedem Auftreten des Signals K/INQ wird der Eingabewarteschlangenzähler 99 betätigt, um den Eingabewarteschlangenpuffer 97 abzutasten.
Während jeweils ein Datenwort aus dan Eingabewarteschlangenzähler 97 ausgelesen wird, wird das Zählwort verkleinert, das Speicheradressenwort wird vergrößert, und das Datenwort wird im Speicher gespeichert.
Wenn das Zählwort den tfert Null erreicht, sind keine weiteren Wörter mehr im Speicher vorhanden, es wird eine Durchführungs-Unterbrechungsmarke gesetzt, und die Senderprozessornummer wird an einer Speicherstelle festgehalten. In diesem Fall verbleibt die Schienenfüllzustandslogik 93 im Zustand "GEFÜLLT", bis die Löschung durch einen RIR-Befehl der Software erfolgt.
Wenn ein Datenblock vollständig empfangen worden ist, enthält somit das Zählwort einen Wert zwischen -14 und Null. Nachdem die Beendigungsunterbrechung stattgefunden hat, werden keine weiteren Übertragungen zu dem Prozessor über die Schiene zugelassen, welche die Unterbrechung bewirken, bis bei der Eingabewarteschlange die Löschung durch einen RIR-Befehl erfolgt ist.
80981 1 /081 0
MA
Während die Datenwörter im Speicher gespeichert werden, wird eine Modulo-2-Summe der Daten des Pakets berechnet.
Ist die Prüfsumme schlecht, wird das Wortzählergebnis im Eintrag der Schienenempfangstabelle auf -256 eingestellt, es wird eine Beendigungsunterbrechungsmarke gesetzt, und die Nummer des Senderprozessors wird gespeichert. Wie zuvor verbleibt die Schienenfüllzustandslogik 93 im Zustand "GEFÜLLT", bis die Löschung durch einen RIR-Befehl erfolgt.
Erreicht das Zählwort nicht den Wert Null, und ist die Prüfsumme gut, gibt das Schienenempfangsmikroprogramm 115 gemäß Fig. 5 das Signal RINT an die Prozessorleerzustandslogik ab, so daß die Logik 101 aus dem Zwischenspeicherzustand in den Ruckste11zustand übergeht.
Wenn die Logik 101 den Rückstellzustand erreicht, kann gemäß Fig. 8 die Schienenfüllzustandslogik aus dem Zustand "GEFÜLLT" in den Synchronisationszustand übergehen.
Wenn dieser Punkt erreicht ist, ist die Logik in den Zustand zurückgeführt worden, in dem sie sich vor dem Empfang des Datenpakets befand, so daß der Empfang weiterer Pakete ermöglicht wird.
Diese weiteren Pakete können vom gleichen Sender stammen und den betreffenden Datenblock ergänzen, oder sie können von irgendeinem anderen Sender stammen.
Auf diese Weise wird die Tätigkeit des Schienenempfangsmikroprogramms 115 beendet, und der Mikroprozessor 113 nimmt die Verarbeitung von Software-Befehlen wieder auf.
Wenn eine Schienenempfangs-Beendigungsunterbrechung stattgefunden hat, entnimmt die Software-Unterbrechungseinrichttang die
809811/0810
Nummer des Senderprozessors der Speicherstelle, wo sie festgehalten wurde, und die Unterbrechungseinrichtung kann dann feststellen, ob ein Prüfsuramenfehler aufgetreten ist, und zwar durch Prüfen des Schienenempfangstabellen-Zählwortes des betreffenden Senderprozessors.
Ist ein Übermittlungsfehler aufgetreten, ist das Zählwort auf -256 eingestellt worden. Anderenfalls enthält das Zählwort einen Wert zwischen .-14 und Null.
Wie erwähnt, ist somit die Schienenempfangsbeendigungs-Softwareunterbrechungseinrichtung dafür verantwortlich, daß mit Hilfe «ines RIR-Software-Befehls das Signal RINT ausgegeben wird, -um den Eingabewarteschlangenteil 65 wieder freizugeben.
Ebenso wie das Senden eines Datenblocks durch einen Senderprozessormodul durch die Software als ein einziger Vorgang betrachtet wird, bewirkt auch der Empfang von Daten durch einen Empfängerprozessor keine Software-Unterbrechung bei dem Empfängerprozessormodul, bis der gesamte Datenblock empfangen worden ist, oder bis ein Fehler aufgetreten ist. Außerdem kommen die Eingabewerteschlangenteile 65 als Puffer zur Wirkung, um die Übermittlung von Daten mit der Schienenübertragungsgeschwindigkeit zu ermöglichen, wobei Daten im Speicher gespeichert werden können, und wobei die Prüfung der Daten bei der Speichergeschwindigkeit möglich ist. Diese Möglichkeit der Benutzung der hohen Übertragungsgeschwindigkeit bei der Schiene gewährleistet, daß die Schiene eine ausreichende Bandbreite hat, um gleichzeitig mehrere Prozessormodule mit zeitlicher Unterteilung zu bedienen. Schließlich ermöglicht es die Verwendung eines Prüfsummenwortes bei jedem Datenpaket in Verbindung nit dem Empfängerprozessormodul, die Genauigkeit der über den Multiprozessorkommunikationsweg empfangenen Daten zu prüfen.
Informationen, die über die Interprozessorschiene gesendet
809811/0810
Φ)3
-τσ- 27Α0056
werden, werden unter der steuernden Wirkung des Betriebssystem gesendet und von einem Prozeß in einem Prozessormodul 33 zu einem anderen Prozeß in einem anderen Prozessormodul übertragen. Wie weiter unten erläutert, ist ein Prozeß eine fundamentale Steuereinheit im Software-System; und in einem Prozessormodul 33 sind gleichzeitig mehrere Prozesse vorhanden. Die Informationen, die zwischen Prozessen in verschiedenen Prozessormodulen über die Interprozessorschiene übertragen werden, bestehen aus zwei Arten von Elementen, und zwar Steuerpaketen und Daten.
Die Steuerpakete dienen dazu, den Empfängerprozessormodul 33 über den Beginn von Nachrichten, Löschungen und Datenübertragungen zu informieren.
Während die Interprozessorschienen 35 die Prozessormodule 33 untereinander verbinden, verkehrt ein Prozeß innerhalb eines bestimmten Prozessormoduls mit einem oder mehreren anderen Prozessen in einem anderen Prozessormodul mit Hilfe eines Verfahrens für den Multiplexbetrieb der Interprozessorschiene. Daher enthält der Schienenverkehr zwischen zwei Prozessormodulen 33 Teile von Interprozeßkommunikationen, die sich in verschiedenen VerarbeitungsStadien befinden. Viele Interprozeßkommunikationen sind daher zeitlich miteinander verzahnt, so daß der Verkehr scheinbar simultan erfolgt.
Die Hardware bewirkt eine zeitliche Unterteilung der Benutzung der Interprozessorschiene 35 auf dem Datenpaketniveau, und jeweils mehrere Prozesse verkehren miteinander sowohl innerhalb der Prozessormodule 33 sowie im erforderlichen Ausmaß über die Interprozessorschienen 35 bei Nachrichtenübertragungen, die zeitlich miteinander verzahnt sind. In keinem Fall wird eine Interprozessorschiene 35 einer bestimmten Kommunikation zwischen zwei Prozessen zugeteilt.
80981 1 /0810
Die Dateninformationen werden über die Interprozessorschiene in Form eines oder mehrerer Pakete gesendet, und ihnen geht stets ein Steuerpaket voraus, und in jedem Fall folgt ein Nachlaufpaket.
Die den Datenpaketen vorausgehenden Steuerpakete werden benötigt, da eine Schiene niemals einer bestimmten Nachricht vorbehalten ist, und ein solches Steuerpaket ist daher erforderlich, um die Nachricht einwandfrei zu identifizieren und anzuzeigen, wieviele Daten in der Nachricht enthalten sind.
Die Übertragung der Informationen, doh. des Steuerpakets, rlt-r Daten und des Nachlaufpakets, erfolgt als unteilbare Einheit, sobald sie begonnen worden ist. Der Senderprozessormodul sendet den Datenblock als einzelne Sendung, die sich aus einer bestimmten Anzahl von Datenpaketen zusammensetzt, und er sendet das Nachlaufpaket als gesonderte Sendung; erst wenn dies geschehen ist, ist der Senderprozessormodul in der Lage, Informationen zu senden, die sich auf eine andere Nachricht beziehen.
Das Nachlaufpaket hat zwei Aufgaben zu erfüllen.
Wenn während einer Datenübertragung ein Fehler auftritt, so daß der Rest des Datenblocks verworfen werden muß, zeigt das Nachlaufpaket erstens das Ende des Datenblocks an.
Wenn der Sender versucht, zu viele Daten zu senden, so daß der Datenblock wiederum verworfen werden muß, bildet das Nachlaufpaket zweitens ein Mittel zur Erkennung der Tatsache, daß Daten übermittelt worden sind, und daß die Datenübertragung vollständig durchgeführt wurde.
Die Informationen werden entweder doppelt über verschiedene Wege übertragen, so daß Gewähr dafür besteht, daß die Informationen zum Empfänger gelangen, oder es ist eine Empfänger-
Ö0981 1 /08 10
27Λ0056
bestätigung erforderlich, so daß die Informationen notfalls wiederholt werden. Somit kann ein Fehler bei einer einzelnen Schiene nicht zu einem Informationsverlust führen, und ein solcher Fehler macht sich für die beiden dabei in Frage kommenden Prozesse nicht bemerkbar.
Die Schienenempfangssoftware verriegelt sich mit der Schienenempfangshardware (siehe den Eingabewarteschlangenteil 65 in Fig. 2) durch die Steuerung der Informationsübertragung aus dem Eingabewarteschlangenteil in den Speicher 107.
Dies macht es z.B. möglich, die Informationen der Schienenempfangstabelle zu verändern, ohne daß ein Zeitmangel auftritt bzw. sich Synchronisationsprobleme ergeben.
Sobald die Informationen der Schienenempfangstabelle aktualisiert worden sind, wird die Verriegelung dadurch beseitigt, daß die vorherige Beendigungsunterbrechung gelöscht wird, und daß die Schienenempfangs-Mikrounterbrechungen dadurch wieder freigegeben werden, daß im Maskenregister das Schienenmaskenbit gesetzt wird«
Hierdurch werden zwei Wirkungen hervorgerufen. Die Eingabewarteschlangenhardware kann ein Datenpaket in die Eingabewarteschlange aufnehmen, und dem Schienenempfangsmikroprogramm ist es möglich, diese Informationen aus der Eingabewarteschlange in den Speicher zu überführen.
Das Hardware-Software-System ist so aufgebaut, daß auch beim Versagen der Stromzufuhr zu dem System keine Informationen verloren gehen, d.h. auch dann nicht, wenn die Versorgung mit Wechselstrom aus dem Netz vollständig ausfällt, oder wenn Netzschwankungen auftreten, die zu einem kurzzeitigen Versagen der Stromzufuhr zu eine« Teil des Systems führen,,
809811/0810
Mi9
Bei dem Hardware-Software-System wird gemäß Fig. 3 ein Stromversorgungswarnsignal dem Eingabewarteschlangenteil 65 nach Fig. 2 zugeführt, so daß der Eingabewarteschlange höchstens ein weiteres Informationspaket eingegeben werden kann, nachdem das Warnsignal eingetroffen ist.
Die Software erzeugt in diesem Fall einen Sendebefehl, um zu bewirken, daß die Eingabewarteschlangen gefüllt sind. Hierdurch wird praktisch gewährleistet, daß keine Übertragungen zu Ende geführt werden, nachdem das Warnsignal dem Prozessormodul 33 zugeführt worden ist, so daß der Zustand jeder übertragung bekannt ist, wenn die Stromversorgung der logischen ,Einrichtungen unterbrochen wird.
Die Interprozessorschienen 35 werden durch das Betriebssystem benutzt, um festzustellen, daß sich weitere Prozessormodule des Systems in Betrieb befinden. In Abständen von N Sekunden sendet jeder Prozessormodul 33 über jede Interprozessorschiene ein Kontrollpaket zu jedem Prozessormodul. In Abständen von 2N see muß jeder Prozessormodul ein solches Paket von jedem Prozessormodul des Systems empfangen haben. Ein Prozessormodul, der nicht reagiert, wird als abgeschaltet betrachtet. Wenn ein Prozessormodul seine eigene Nachricht nicht erhält, weiss dieser Modul, daß bei ihm eine Störung vorliegt, und daraufhin arbeitet er nicht mehr mit Ein-Ausgäbe-Gerateanschlüssen zusammen.
Fig. 42 zeigt schematisch, auf welche Weise ein bestimmtes Anwendungsprogramm ohne Unterbrechung ablaufen kann, und zwar auch dann, wenn verschiedene Teile des Multiprozessorsystems ausfallen.
Jede der Einzeldarstellungen in Fig. 42 zeigt ein Multiprozessorsystem mit zwei Prozessormodulen 33, die durch zwei Interprozessorschienen 35» d.h. eine X-Schiene und eine Y-Schiene,
80981 1/0810
miteinander verbunden sind, ferner mit einem Geräteanschluß 41, der mehrere Tastaturterminals steuert, sowie mit einem weiteren Geräteanschluß 41 zum Steuern einer Platte.
In Fig. 42 veranschaulichen die Einzeldarstellungen, daß verschiedene Teile des Multiprozessorsystems betriebsunfähig werden und danach als betriebsfähig wieder in Gebrauch genommen werden.
Die Folge beginnt mit der Darstellung in der linken oberen Ecke von Fig. 42 und spielt sich in der durch die breiten Pfeile bezeichneten Reihenfolge ab. Somit beginnt die Folge mit dem angegebenen Anfangszustand, und sie setzt sich fort über einen Zustand, bei dem die Zentraleinheit O abgeschaltet ist, einen dritten Zustand, bei dem die Zentraleinheit O wieder in Betrieb genommen worden ist, einen vierten Zustand, bei dem die Zentraleinheit 1 abgeschaltet ist, und einen fünften Zustand, bei dem die Zentraleinheit 1 wieder in Betrieb ist.
Bei dem Anfangszustand des Multiprozessorsystems, wie er in Fig. 42 in der linken oberen Ecke dargestellt ist, ist eine Kopie PA des Anwendungsprogramms aktiv. Diese Kopie führt einen Systemaufruf durch, um die Kopie PB zu Sieherungszwecken zu erzeugen, woraufhin das Anwendungsprogramm PA der Kopie PB Informationen zuführt. Sämtliche Ein- und Ausgäbevorgänge laufen hierbei über den Prozessormodul O. Bei diesem Anfangszustand kann jede Interprozessorschiene 35 versagen oder abgeschaltet werden, wie es in Fig. 42 bei der X-Schiene durch Querstriche angedeutet ist, und sie kann erneut in das Multiprozessorsystem eingeführt werden, ohne daß irgendeine Wirkung auf das Anwendungsprogramm PA hervorgerufen wird.
Bei der nächsten Einzeldarstellung in Fig. 42 mit der Bezeichnung "Zentraleinheit 0 abgeschaltet" ist der Prozessor-
80981 1 /0810
Ml
modul O betriebsunfähig. Das Multiprozessorsystera informiert das Anwendungsprogramm PA, dai3 dieser Modul betriebsunfähig ist, und daraufhin versucht das Anwendungsprogramm PA nicht mehr, mit dem Programm PB zu verkehren. Sämtliche Ein- und Ausgabevorgänge werden durch das Multlprozessorsystem so umgeschaltet, daß sie über den Prozessormodul 1 laufen, und das Anwendungsprogramm fährt fort, die Terminals ohne Jede Unterbrechung über die Ein-Ausgabeschiene 39 zu bedienen, die den Prozessormodul 1 mit den Geräteanschlüssen 41 verbindet, wie es in Fig. 42 bei der Schiene 39 auf der rechten Seite durch einen Pfeil angedeutet ist.
Der nächste Betriebszustand des Multiprozessorsystems ist in Fig„ 42 im oberen Teil in der Mitte dargestellt und mit "Zentraleinheit O wieder in Betrieb" bezeichnet; der Prozessormodul O wird jetzt mittels eines vom Bedienungsplatz aus erteilten Befehls wieder in Betrieb gesetzt. Nunmehr wird der Prozessormodul 0 von der Platte aus mit Hilfe des Prozessormoduls 1 erneut mit dem Multiprozessorsystem geladen. Das Anwendungsprogram PA wird informiert, daß der Prozessormodul O jetzt betriebsfähig ist, und das Anwendungsprogramm PA veranlaßt das Multiprozessorsystem, eine weitere Kopie des Anwendungsprogramms im Prozessormodul O zu erzeugen; diese weitere Kopie ist in Fig. 42 mit PC bezeichnet. Die Terminals arbeiten ohne Unterbrechung weiter.
Nunmehr wird der Prozessormodul 1 betriebsunfähig, wie es in Fig. 42 durch die Beschriftung "Zentraleinheit 1 abgeschaltet" angedeutet ist. Das Anwendungsprogramm PC wird hierüber durch das Multiprozessorsystem informiert, und das Anwendungsprogramm PC übernimmt die Anwendung. Das Multiprozessorsystem führt sämtliche Ein- und Ausgäbevorgänge über den Prozessormodul O durch. Die Terminals arbeiten wiederum ohne Unterbrechung weiter«
80981 1/0810
Schließlich wird gemäß der Einzeldarstellung im rechten oberen Teil von Fig. 42 mit der Bezeichnung "Zentraleinheit 1 wieder in Betrieb" der Prozessormodul 1 durch einen vom Bedienungsplatz ausgegebenen Befehl wieder in Betrieb gesetzt und von der Platte aus mit Hilfe des Prozessormoduls 0 erneut mit dem Multiprozessorsystem geladen. Das Anwendungsprogramm PC wird informiert, daß der Prozessormodul 1 wieder zur Verfügung steht, und das Anwendungsprogramm PC veranlaßt das Multiprozessorsystem, im Prozessormodul 1 eine weitere Kopie von sich selbst zu erzeugen, die in Fig. 42 als Anwendungsprogramm PD bezeichnet ist.
Nunmehr befinden sich alle Teile des Multiprozessorsystems wieder im betriebsfähigen Zustand.
Während der gesamten beschriebenen Zeitspanne wurden somit beide Interprozessorschienen und beide Prozessormodule betriebsunfähig, um danach wieder in das System eingefügt zu werden, doch wurde der Betrieb mit dem Anwendungsprogramm und den Terminals nicht unterbrochen.
Ein wichtiges Merkmal des Multiprozessorsystems besteht darin, daß nicht nur das Anwendungsprogramm weiter ablaufen kann, wenn irgendein Teil ausgefallen ist, sondern daß es auch möglich ist, den ausgefallenen Teil instandzusetzen und/oder auszutauschen, während das Anwendungsprogramm weiter abläuft. Dies gilt nicht nur für die Prozessormodule und die Interprozessorschienen, sondern auch für alle übrigen Teile des Systems, z.B„ die Stromquellen, die Gebläse im Gestell usw. Somit ist das Multiprozessorsystem 31 tatsächlich ein ohne Unterbrechung betreibbares System.
EinrAusgabesystem und Geräteanschluß mit zwei Zugängen
Wie erwähnt, gehören zu dem Multiprozessorsystem 31 nach Fig. 1
80981 1/0810
ein Ein-Ausgabesystem und Geräteanschlüsse 41 mit je zwei Zugängen.
Die allgemeine Aufgabe des Ein-Ausgabesystems besteht darin, die Übermittlung von Daten zwischen einem Prozessormodul 33 und Peripheriegeräten zu ermöglichen.
Ein wichtiges Merkmnl der Erfindung besteht darin, daß die Übermittlung von Daten über redundante Wege möglich ist, um einen Betrieb zu gewähr]eisten, bei dem allenfalls eine Verlangsamung eintreten kann, so daß das Versagen eines Prozessormoduls 33 oder eines Teils eines Geräteanschlusses 41 die Übermittlung von Daten zu und von einem bestimmten Peripheriegerät nicht behindert.
Jeder Geräteanschluß Al besitzt zwei Zugänge A3 und weitere Einrichtungen, die in Verbindung mit zwei zugehörigen Ein-Ausgabe-Schienen 39 auf eine noch zu erläuternde Weise den redundanten Zugriff zu einem Peripheriegerät ermöglichen.
Das erfindungsgemäße Ein-Ausgabe-System weist ferner einige besonders wichtige Merkmale auf, die sich auf seine Leistungsfähigkeit auswirken. Eines dieser Merkmale besteht in der Geschwindigkeit bzw. der Bandbreite, mit der die Ein-Ausgabe-Schienenanordnung betrieben werden kann. Die Geräteanschlüsse 41 sammeln Daten von Peripheriegeräten, von denen die Daten mit relativ niedrigen Geschwindigkeiten übermittelt werden, und sie übermitteln die gesammelten Daten zu den Prozessormodulen nach einem Bündelmultiplexverfahren mit einer Geschwindigkeit, die gleich oder nahezu gleich der Speichergeschwindigkeit der Prozessormodule 33 ist.
Gemäß Fig. 1 arbeitet jeder Prozessormodul 33 mit mehreren einzelnen Geräteanschlüssen 41 zusammen, und diese Tatsache macht es möglich, daß jeder Geräteanschluß über die jeweils doppelt
80981 1/08 10
vorhandenen Zugänge 43 bei einem einzigen llultiprozessorsystera mit mehreren Prozessormodulen 33 verbunden wird.
Gemäß Fig. 12 steuert jeder Geräteanschluß 41 eine oder mehrere Vorrichtungen über Verbindungsleitungen 111, die eine Sternschaltung bilden, bei der jede Vorrichtung unabhängig mit dem Geräteanschluß verbunden ist.
Gemäß Fig. 12 ist an einen Geräteanschluß 41 ein Plattenantrieb 45 und an einem anderen Geräteanschluß ein Magnetbandantneb 49 angeschlossen.
Gemäß Fig. 12 gehört zu jeder Zentraleinheit 105 ein Mikroprozessor 113, dem jeweils ein Mikroprogramm 115 zugeordnet ist. Ein Teil des Mikroprogramms 115 wird durch den Mikroprozessor 113 in Erfüllung von Ein-Ausgabe-Befehlen für das EinAusgabe-System durchgeführt. Gemäß Fig. 12 gehören zu den EinAusgabe-Befehlen der Befehl £10 (Durchführung der Ein- und Ausgabe), der Befehl HO (Ein-Ausgabe-Abfrage) und der Befehl HIIO (Abfrage von Ein- und Ausgabe mit hoher Priorität); diese Befehle sind in Fig. 15, 16 und 17 mit weiteren Einzelheiten dargestellt.
Dem Mikroprozessor 113 ist der Zugriff zur Ein-Ausgabe-Schiene 39 über den Ein-Ausgäbe-Kanal 109 gemäß Fig. 12 mit Hilfe mehrerer Leitungswege 117 möglich.
Gemäß Fig0 12 gehört zu dem Ein-Ausgäbe-Kanal 109 ein Mikroprozessor 119, dem ein Mikroprogramm 121 zugeordnet ist«,
Bei dem Multiprozessorsystem hat das Mikroprogramm 121 die einzige Aufgabe, die im folgenden anhand von Fig„ 16 beschriebene Wiederanschluß- und Datenübertragungsfolge durchzuführen.
Gemäß Fig. 12 gehört zu dem Ein-Ausgabe-Kanal 109 jedes Prozessormoduls 33 eine Datenweglogik 123„
8098 11/0810
Gemäß Fig. 13 gehören zu der Datenweglogik 123 ein Kanalspeicherdatenregister 125, ein Ein-Ausgabe-Datenregister 127, ein Kanalspeicheradressenregister 129, ein Zeichenzänlregister 1311 ein Adressenregister 133 für aktive Vorrichtunren, ein Prioritätsauflösungsregister 13? sowie eine Paritätserzeugungsund Prüflogik 137.
Zu dem Leitungsweg 117 nach Fig. 12 gehören gemäß Fig. 13 zwei Schienen, und zwar die M-Schiene und die K-3chiene.,
Die M-Schiene ist eine Ausgangsschiene des Mikroprozessors 113, die Daten zu dem Ein-Ausgabe-Datenregister 127 übermittelt.
Die K-Schiene bildet eine Zuführungsschiene, die Daten von der Datenweglogik 123 zu dem Mikroprozessor 113 übermittelt.
Gemäß Fig. 12 verbindet ein Leitungsweg 139 die Datenweglogik 123 mit dem Speicheruntersystem 107.
Gemäß Fig. 12 gehören zu dem Leitungsweg 139 ein Hardware-Leitungsweg 139A und zwei logische Leitungswege 139B und 139C im Speicheruntersystem 107 jedes Prozessormoduls 33.
Die logischen Leitungswege 139B und 139C werden im folgenden anhand von Fig. 16 näher erläutert.
Zu dem Hardware-Leitungsweg 139A gehören gemäß Fig. 13 drei Zweigleitungen.
Die erste Zweigleitung 139A-1 überträgt Daten vom Speicher zum Kanalspeicherdatenregister 125.
Eine zweite Zweigleitung 139A-2 überträgt gemäß Fig. 13 Daten vom Kanalspeicheradressenregister 129 zum Speichere
80981 1/0810
- se* -
Gemäß Fipc 13 überträgt ein dritter Le j tungsweg 139A-3 Daten vom Ein-Ausgabe-Datenregister 127 zum Speicher.
Gemäß Fig. 12 gehört zum Ein-Ausgäbe-Kanal eines Prozessormoduls 33 ein Steuerlogikteil 141O
Zu dem Steuerlogikteil 141 gehören wiederum gemäß Fig. 13 eine T-Schienen-Maschine 143 sowie Anforderungsleitungen, und zwar gemäß Fig. 14 eine Rückverbindungsleitung 145» eine Unterbrechungsanforderungsleitung 147 für niedrige Priorität, eine Unterbrechungsanforderungsleitung 149 für hohe Priorität und eine Rangleitung 151.
Zu der in Fig. 12 und 14 dargestellten Ein-Ausgabe-Schiene 39 gehören ferner mehrere Kanalfunktionsleitungen 153» 157 und 159, die auch in Fig. 13 angedeutet sind. Die Markierungsschiene bzw. die T-Schiene 153 besteht aus vier Leitungen, die als Funktionsleitungen zur Wirkung kommen und gemäß Fig.14 sind drei Leitungen vorhanden, die Austauschleitungen bilden; hierzu gehören die Leitung 155 (Bedienung, Ausgabe), die Leitung 157 (Bedienung, Eingabe) und die Leitung 159 (Stop, Eingabe), die gemäß der Beschriftung in Fig. 14 Austauschleitungen bilden.
Gemäß Fig. 12 und 14 gehört zu der Ein-Ausgabe-Schiene 39 ferner eine Gruppe von Datenleitungen 161, 163» 165» 167 und
Die Leitungen 161 der Datenschiene und die Paritätsleitung 163 arbeiten richtungsunabhängig und dienen als Datenleitungen, und gemäß Fig. 14 umfaßt diese Gruppe sechzahn Datenschienenleitungen 161 und eine Paritätsleitung I63.
Die Leitungen I65 (Ende der übertragung), 167 (Auffüllung, Ausgabe) und 169 (Auffüllung, Eingibe) dienen als Datenzustands-
80981 1 /081 0
til
leitungen und zeigen bestimmte Bedingungen an, die sich bei den Datenleitungen 161 und 163 von Zeit zu Zeit ergeben können.
Schließlich gehört gemäß Fig. 12 und 14 zu der Ein-Ausgabe-Schiene 39 eine Rücksetzleitung 171.
Jeder der in Fig. 18 dargestellten T-Schienen-Befehle erfordert ein bestimmtes Format bei der Datenschiene 161, während ein T-Schienen-Befehl gültig ist. Dieses spezielle Datenschienenformat ist in Fig. 18 bezüglich der bevorzugten Ausführungsform für die T-Schienen-Funktionen "Adresse und Befehl laden" (LAC) und "Lesen des Vorrichtungszustandes" (RDST) dargestellt.
ϊΐη Fall der T-Schienen-Funktion LAC geben die Daten bzw. das Feld, das über die Leitungen 0 bis 5 der Datenschiene 161 übermittelt wird, die durchzuführende Operation an; das Feld, das über die Leitungen 8 bis 12 der Datenschiene übertragen wird, benennt den Geräteanschluß 41 bzw. den Zugang 43t der an die Datenschiene 161 angeschlossen ist, an welchen der Befehl adressiert ist; das über die Datenschienenleitungen 13 bis 15 übertragene Feld gibt an, welche mit dem Geräteanschluß verbundene Vorrichtung durch den Geräteanschluß 41 in Abhängigkeit von diesem Befehl betätigt werden soll.
Im Fall der T-Schlenen-Funktion RDST zeigen Datenschienenbits 0, 1, 2 und 3 an, daß ein Eigentümerfehler vorliegt, bzw. daß eine Unterbrechung bevorsteht, bzw, daß die Vorrichtung gesetzt ist, bzw. daß ein Paritätsfehler vorhanden ist. Die Bits 4 bis 15 melden den vorrichtungsabhängigen Zustand.
über die T-Schiene werden die Funktionen in drei Folgen übertragen, wie es nachstehend anhand von Fig. 15, 16 und 17 beschrieben ist.
Jede T-Schienen-Funktion wird durch den Kanal herbeigeführt,
809811/0810
und eine Austauschfolge wird zwischen dem Kanal 109 und dem Geräteanschluß 41 unter Benutzung der Austauschleitungen 155» 157 und 159 durchgeführt, um den Empfang der T-Schienen-Funktion zu bestätigen» Die Steuerung der T-Schiene und des Austausches ist die Aufgabe der T-Schienen-Maschine 143 nach Fig. 13.
Fig. 23 zeigt einen Ablaufplan, der die Wirkung des Austausches zwischen dem Ein-Ausgabe-Kanal 109 und den Zugängen 43 erkennen läßt.
Gemäß Fig. 28 überträgt die Leitung 155 das Signal SVO (Bedienung, Aus gäbe) , während die Leitung 157 das Signal SVI (Bedienung, Eingabe) überträgt.
Der Kanaltaktzyklus ist für die Signale SVO und SVI in senkrechter Orientierung dargestellt.
Gemäß Fig. 28 ist das Signal SVI (Bedienung, Eingabe) nicht mit dem Kanaltakt synchronisiert, und es kann in jedem beliebigen Zeitpunkt durch den Geräteanschluß hervorgerufen werden, und zwar in Abhängigkeit von einem Bedienungs-Ausgabe-Signal des Ein-Ausgäbe-Kanals 109.
Bevor das Signal SVO gegeben wird, benennt der Kanal 109 die T-Schienen-Funktion und erforderlichenfalls die Datenschieneβ
Dann liefert der Kanal ein Bedienungsausgabesignal, wie es in Figo 28 durch den senkrechten Anstieg 279 angedeutet ist, und das Signal SK) bleibt wahr, bis der Geräteanschluß mit dem Signal SVI (281) reagiert, um den Kanalbefehl zu bestätigen; das Signal SVI bleibt wahr, bis der Kanal das Signal SVO verschwinden läßto
80981 1/0810
Wenn der Geräteanschluß 41 das Bedienungseingabesignal SVI liefert, beseitigt der Kanal 109 das Bedienungsausgabesignal SVO, wie es in Fig. 28 durch den senkrechten Abfall 283 angedeutet ist, innerhalb einer Zeitspanne, die typisch zwischen einem und zwei Taktzyklen liegt, und in Abhängigkeit hiervon läßt der Geräteanschluß das Bedienungseingabesignal SVI entsprechend dem senkrechten Abfall 285 in Fig. 28 verschwinden.
Nachdem der Geräteanschluß 41 das Bedienungseingabesignal SVI zum Verschwinden gebracht hat, kann der Kanal 109 erneut ein Bedienungsausgabesignal SVO für die nächste Übermittlung liefern; jedoch liefert der Kanal das Signal SVO erst nach dem Verschwinden des Signals SVI.
In Fig. 28 bezeichnen die Pfeile 281A, 283A und 285A die Reaktione auf die Vorgänge 297, 281 und 283.
Der Austausch wird mit der Hinterflanke des senkrechten Abfalls 285 nach Fig, 28 beendet.
Bei einer Ausgabeübertragung akzeptiert das Schnittstellen-Datenregister 213 des Geräteanschlusses die Daten an der Vorderflanke des Signals SVO (senkrechter Anstieg 279), und die Daten werden zum Steuerteil 187 des Geräteanschlusses (Fig.19) an der Rückflanke des Signals SVO entsprechend dem senkrechten Abfall 283 in Fig. 28 übertragen»
Bei einer Eingabeübertragung akzeptiert der Kanal 109 Daten vom Geräteanschluß an der Rückflanke des Signals SVO entsprechend dem senkrechten Abfall 283 nach Fig. 28„
Somit wird ein Austausch über zwei Leitungen benutzt, um den Informationsaustausch zwischen dem Kanal 109 und dem zugehörigen Geräteanschluß 41 zu bewirken, da diese Teile asynchron arbeitenβ
809811/0810
Hierbei handelt es sich um den allgemeinen Austauschzustand, der in Fig. 15» 16 und 17 als Austausch 2L bezeichnet ist.
Außerdem kommen ggf. zwei spezielle Überlegungen bezüglich des Austausches in Frage.
Erstens werden Kanalbefehle, die zum Wählen eines Geräteanschlusses benutzt werden, nicht durch das Signal SVI ausgetauscht, denn während dieser Zeit wird kein einzelner Geräteanschluß gewählt.
Gemäß Fig. 18 gehören zu diesen Befehlen die nachstehenden Befehle:
SEL : Wählen
LAC : Adresse und Befehl laden HPOL: Unterbrechungsabruf bei hoher Priorität LPOL: Unterbrechungsabruf bei niedriger Priorit
und
RPOL: Wiederverbindungs-Unterbrechungsabruf.
Ferner werden Befehle, die benutzt werden, um eine Folge zu beenden, nicht durch das Signal SVI ausgetauscht, denn sie bewirken, daß sich ein gewählter Geräteanschluß selbst abschaltet.
Zu diesen Befehlen gehören gemäß Fig. 18 die folgenden Befehle:
DSEL: Abschalten
ABTI: Befehl (Ein-Ausgabe) abbrechen und ABTD: Daten verwerfen.
Bei allen genannten Befehlen, die nicht ausgetauscht werden, liefert der Kanal gemäß Fig. 28 das Signal SVO bzw« 155 während einer bestimmten Zeitspanne von z.B. zwei Taktperioden, und dann läßt der Kanal das Signal SVO verschwinden,, Diese Art des
809811/0810
Austausches ist in Fig. 15, 16 und 17 als Austausch 1L bezeichnet.
Zweitens wird eine Datenübertragung normalerweise ausgetauscht, abgesehen davon, daß dann, wenn ein Geräteanschluß zu melden wünscht, daß er keiner weiteren Bedienung bedarf, dieser Geräteanschluß anstelle des Signals SVI das Signal STI (Eingabestopp) zurückgibt. Wenn danach das Signal SVO von dem Kanal fallen gelassen wird, schaltet sich der Zugang selbst ab. Im übrigen bewirkt das Signal STI einen Austausch in der gleichen Weise wie das Signal SVI.
Als weitere Bedingung für alle Austausche gilt, daß der Kanal dann, wenn er die Abgabe des Signals SVO vorbereitet, einen Zeitgeber anlaufen läßt (Bestandteil der T-Schienen-Maschine 143 nach Fig. 13)» der dann abläuft, und ein Fehlersignal setzt, wenn der nächste Austauschzyklus nicht innerhalb der durch den Zeitgeber bestimmten Zeitspanne eingeleitet und zu Ende geführt wird. Wenn der Zeitgeber abläuft, wird ein Fehlersignal an einem geeigneten Punkt innerhalb der Folge gesetzt, und dem Geräteanschluß 41 wird gemäß der Beschreibung anhand von Fig. 15, 16 und 17 entweder das Signal ABTI (EIO-, HO- oder HIIO-Folge) oder das Signal ABTD (Wiederanschlußfolge) zugeführt.
Figo 29 zeigt die Logik für den in Fig. 28 dargestellten Austausch. Diese Logik bildet einen Bestandteil der T-Schienen-Maschine 143 nach Fig. 13 und ist für die vorstehend genannte allgemeine Austauschbedingung verantwortlich.
Zu der Logik nach Fig. 29 gehören eine Bedienungsausladekippschaltung 287 und eine Bedienungseingabe-Synchronisationskippschaltung 289. Gemäß Fig. 29 sind die Kippschaltungen 287 und 289 physikalisch innerhalb des Kanals 109 untergebracht.
80981 1/0810
Zu dem Geräteanschlui3 41 gehören eine Verknüpfungslogik 291 und ein Sender 293 der ein Bedienungseingabesignal SVI zum D-Eingang der Kippschaltung 289 zurücksendet.
Die Logik nach Fig. 29 arbeitet in der nachstehend beschriebenen Weise.
Der Kanal 109 setzt das Bedienungsausgabesignal, indem er den J-Eingang der Kippschaltung 287 einschaltet; wenn der nächste Taktzyklus beginnt, wird das Bedienungsausgabesignal dem Geräteanschluß durch einen Sender 295 zugeführt.
Wenn die Verknüpfungslogik 291 des Geräteanschlusses betriebsbereit ist, gibt sie den Sender 293 frei, um das Bedienungseingabesignal SVI zu der Kippschaltung 289 zurückzuleiten und hierdurch den Austausch abzuschließen.
Gemäß Fig. 19 ist bei dem Geräteanschluß mit zwei Zugängen jeder der beiden Zugänge 43 eines Geräteanschlusses 41 durch eine physikalische Verbindung 197 mit der gemeinsamen Schnittstellenlogik 181 verbunden, deren Einzelheiten aus Fig. 21 ersichtlich sind, und jeder Zugang 43 ist außerdem über eine logische Verbindung 183 der geraeinsamen Schnittstellenlogik 181 so zugeordnet, wie es durch eine Eigentümerverriegelungseinrichtung 185 bestimmt wird.
Wie in Fig. 19 durch die Verbindungslinie 180 angedeutet, ist die gemeinsame Schnittstellenlogik 181 dem Steuerteil 187 des Geräteanschlusses 41 zugeordnet. Zu diesem Steuerteil 187 gehört ein Puffer 189.
Die in Fig. 19 schematisch angedeuteten, doppelt vorhandenen Zugänge 43, deren Einzelheiten aus Fig„ 23 ersichtlich sind, bilden wichtige Bestandteile des erfindungsgemäßen Multiprozessorsystems, denn sie gewährleisten,daß sich der Betrieb des
80981 1/0810
Ein-Ausgäbe-Systems bei einer Störung allenfalls verlangsamt, jedoch nicht unterbrochen wird.
Die Zugänge 43 und die zugehörigen Systemteile sind so aufgebaut, daß die beiden Zugänge eines Geräteanschlusses 41 logisch und physikalisch voneinander unabhängig sind. Somit bildet kein Bestandteil eines Zugangs 43 einen Bestandteil des anderen Zugangs 43 eines bestimmten Geräteanschlusses 41, und das Versagen eines einzelnen Teils, z.B. eines integrierten Schaltkreises, bei einem Zugang kann den Betrieb des anderen Zugangs nicht beeinträchtigen.
Jeder Zugang 43 arbeitet gemäß Fig. 19 als Schnittstelle zwischen einem Prozessormodul 33 und einem Geräteanschluß und schließlich über den Geräteanschluß zwischen dem Prozessormodul und der betreffenden Vorrichtung. Der Zugang 43 bildet die Einheit, die mit dem Prozessormodul sowie mit dem Steuerteil 187 des Geräteanschlusses verkehrt, und zwar jeweils entsprechend dem Zustand der Eigentümerverriegelungseinrichtung 185.
Mit anderen Worten, der Zugang 43 selbst stellt die Verbindung zu einem Prozessormodul durch Setzen seines Wählbits 173 in der nachstehend beschriebenen Weise in Abhängigkeit von über den Ein-Ausgäbe-Kanal 109 empfangenen Befehlen her.
Jeder einzelne Zugang 43 eines bestimmten Geräteanschlusses 41 kann unabhängig mit einem Prozessormodul 33 verbunden werden, und zwar gleichzeitig damit, daß der andere Zugang des Geräteanschlusses mit einem anderen Modul verbunden wird. Jedoch bestimmt die Eigentümerverriegelungseinrichtung 185 die logische Verbindung zwischen dem Steuerteil 187 des Geräteanschlusses und einem der beiden Zugänge 43 derart, daß in jedem Zeitpunkt nur ein Zugang den Geräteanschluß steuern kann.
809811/0810
27A0056
Die Decodierlogik bestimmt, welche Funktion in jedem bestimmten Zeitpunkt durch die T-Schiene 153 übertragen wird.
Die Steuerlogik kombiniert T-Schienen-Funktionen, um bestimmte Funktionen des Zugangs herbeizuführen, z.B. um ein Wählbit zu setzen, um ein Wählbit zu .löschen oder um den Unterbrechungszustand abzulesen.
Die Wirkungsweise der Steuerlogik ist in Fig. 27 durch die zugehörigen logischen Gleichungen dargestellt.
Wenn in der noch anhand von Fig. 15» 16 und 17 zu beschreibenden Weise eine Verbindungsfolge über die Ein-Ausgabe-Schiene 39 übermittelt werden soll, wird einer der Zugänge 43, und zwar nur der an die Ein-Ausgabe-Schiene 39 angeschlossene Zugang eines Geräteanschlusses 41 im logischen Sinne durch Setzen des zugehörigen Wählbits 173 nach Fig. 19 an die Schiene angeschlossen.
Disse logische Verbindung wird durch einen Teil der Daten bestimmt, die bei dieser Verbindungsfolge übermittelt werden. Nach dem Herstellen der Verbindung reagiert der betreffende Zugang 43 auf Kanalprotokolle dadurch, daß er Informationen zwischen dem Kanal und dem Steuerteil des Geräteanschlusses weitergibt. Der Vorrichtungsadressenkomparator 193 ist derjenige Bestandteil des Zugangs 43, welcher die eindeutige Adresse des Zugangs bestimmt.
Der Vorrichtungaadressenkomparator 193 nach Fig. 20 bestimmt die eindeutige Adresse für einen bestimmten Zugang 43 dadurch, daß er das Vorrichtungsadressenfeld in der Datenschiene 161 während einer T-Schienen-Funktion LAC mit Adressenrangierleitungen vergleicht, die einem bestimmten Zugang 43 zugeordnet sind. Wenn die durch den Kanal 109 übermittelte Adresse der durch die Rangierleitungen bei einem bestimmten Zugang 43 be-
809811/0810
27A0056
stimmten Adresse entspricht, wird gemäß Fig. 27 das Glied ADDCOMP generiert, und das Wählbit 173 für diesen Zugang wird gesetzt, wobei angenommen ist, daß die übrigen in Fig. 27 angegebenen Bedingungen das Setzen des Wählbits zulassen,, Hierauf reagiert der Zugang 43 auf alle T-Schienen-Operationen, bis die Folge mit der Löschung des Wählbits endet.
Zu den in Fig. 27 verwendeten Abkürzungen gehören die folgenden:
ADD COMP: Adressenvergleich (Geräteanschlußadresse)
PAROKFF : Paritätsrichtigkeits-Kippschaltung
SEL : Wählen
OWN : Eigentümer und
SELBIT : Wählbito
Das Paritätsprüfregister 177 nach Fig. 20 steht insofern in einer Beziehung zu der Paritätsgenerator- und Prüflogik 137 nach Fig. 13» als diese Logik bei der Ausgabe die Parität generiert, die durch das Register 177 des Zugangs 43 geprüft werden soll, und diese Parität muß zutreffen; anderenfalls wird der Vorgang durch den Ein-Ausgabe-Kanal 109 des Prozessormoduls 33 abgebrochene Bei der Eingabe generiert die gemeinsame Schnittstellenlogik 181 auf ähnliche Weise das Paritätssignal, das durch die Paritätsprüflogik 137 geprüft wird.
Gemäß Fig. 24 wird die Paritätsprüfung eingeleitet, bevor dem Register Daten eingegeben werden, und diese Paritätsprüfung wird fortgesetzt, bis das Register sämtliche Daten enthält. Mit anderen Worten, bei der D-Schiene wird die Parität durch das Zugangsparitätsregister immer dann geprüft, wenn der Kanal das Signal SVO mit einer Ausgabe-T-Schlenen-Funktion liefert, und die Parität wird während der Dauer des Signals SVO überwacht, um zu gewährleisten, daß die Daten in der D-Schiene während der Dauer des Signals SVO stabil sind, während der Zugang die Daten zum Datenregister 213 nach Fig. 21 übermittelt.
80981 1 /0810
Diese Paritätsprüfung findet bei jeder Transaktion innerhalb einer T-Schienen-Folge statt, und wenn während einer beliebigen Transaktion innerhalb der Folge ein Paritätsfehler aufgetreten ist, wird dieser Fehler in Abhängigkeit von einer T-Schienen-Funktion während einer Folge als Zustandsbit zurückgemeldet. Beispielsweise zeigt bei der EIO-Folge nach Fig. 18 und 15 die Rückführung des P-Bits für das Signal RDST an, daß der Zugang während der EIO-Folge einen Paritatsfehler bestimmt hat.
Gemäß Fig. 18 ist das Paritätsfehlerbit ein Bit Nr. 3 in der D-Schiene, das in Abhängigkeit von einer RDST-Funktion in der T-Schiene erscheint.
Tritt ein Paritätsfehler in irgendeinem Zeitpunkt außerhalb einer EIO-Folge auf, wird dieser Paritätsfehler während des Leseunterbrechungszustandes RIST der T-Schiene auf ähnliche Weise gemeldet, wie es weiter oben bezüglich des Signals RDST in der T-Schiene beschrieben ist.
Gemäß Fig. 24 wird der Paritätsfehler am Beginn einer EIO-, HO- oder einer HIIO-Folge oder einer Wiederanschlußfolge gelöscht.
Wird während irgendeiner Folge ein Paritätsfehler festgestellt, wird er durch das Paritätsprüfregister registriert, um über die D-Schiene in Abhängigkeit von einer T-Schienen-Funktion RDST oder RIST zurückgemeldet zu werden.
Gemäß Fig„ 20 hat die FreigabeVerriegelungs-einrichtung 175 bei dem Zugang 43 die Aufgabe, es dem Ein-Ausgäbe-System zu ermöglichen, sich von Fehlern einer bestimmten Art zu erholen, die anderenfalls beide Ein-Ausgabe-Schienen betriebsunfähig machen würden, welche mit einem bestimmten Geräteanschluß 41 verbunden sindo Die Freigabeverriegelungs-einrichtung 175 ermöglicht dies, indem sie nicht zuläßt, daß der Zugang 43 der
B09811/0810
27A0056
Ein-Ausgabe-Schiene 39 irgendwelche Signale zuführt.
Die Freigabeverriegelungs-einrichtung 175 wird durch einen speziellen Sperrbefehl gelöscht. Hierbei handelt es sich um eine T-Schienen-Funktion in Form eines Ladeadressenbefehls LAC, wobei ein spezieller Operationscode über die D-Schiene 161 übertragen wird.
Nach dem Löschen der Freigabeverriegelungseinrichtung 175 kann diese Einrichtung nicht programmäßig zurückgesetzt werden.
Zu dem Zugang 43 gehört ein Zustandsmultiplexer 195, der den weiter oben erwähnten Eigentümerfehler zurückleitet, wenn der Geräteanschluß 41 logisch mit dem anderen Zugang 43 dieses Geräteanschlusses verbunden ist, um anzuzeigen, daß der Geräteanschluß zu dem anderen Zugang gehört, und daß diesem Zugang zugeführte Befehle ignoriert werden»
Bei dem Zugang 43 nach Fig. 20 ist ein Schnittstellensender- und -empfänger 197 für jede Eingabeleitung vorhanden, d.h. für die Leitungen SVI, STI, Datenschiene, Parität, PADI, RCI, LIRQ, HIRQ der Ein-Ausgabe-Schiene 39 nach Fig. 14. Die Sende- und Empfangseinrichtungen 197 übermitteln Daten von dem Zugang 43 zu dem Ein-Ausgäbe-Kanal 109, wenn das Zugangswählbit 173 gesetzt ist und die T-Schienen-Funktion bei der T-Schiene 153 es erfordert, daß der Geräteanschluß 41 Informationen zu dem Kanal zurückleitet. Die Einrichtungen 197 übermitteln ständig Informationen von der Datenschiene 161 aus zu dem Zugang 43.
Ein Merkmal der Erfindung besteht darin, daß die Stromzuführungsregelschaltung 182 in Zuordnung zu den Sende- und Empfangseinrichtungen 197 zur Wirkung kommt, um das Verhalten der Sende- und Empfangseinrichtungen zu regeln, wenn der Ge-
80981 1/0810
räteanschluß 41 ein- oder ausgeschaltet ist, und zwar derart, daß die Übermittlung fehlerhafter Signale zu der Ein-Ausgabe-Schiene verhindert wird, während die Stromzufuhr ein- oder ausgeschaltet wird. Dieses Merkmal ist vom Standpunkt der Aufrechterhaltung der Übertragungsverbindungen von besonderer Bedeutung.
Gemäß Fig. 20 gehören zu jeder Sende- und Empfangseinrichtung 197 ein Empfänger 198 und ein Sender 200.
Zum Freigeben des Senders 200 dient eine Freigabeleitung 202.
Der Freigabeleitung 202 werden mehrere Glieder zugeführt, und zwar das Wählbit 17?, eine erforderliche Eingabefunktion aus der T-Schiene und ein Signal der Stromversorgungsschaltung 182e
Bei einer bestimmten Ausführungsform der Erfindung wird das Signal der Stromversorgungsschaltung mittels einer "wire or"-Verbindung dem Ausgang des Gatters zugeführt, das die übrigen Glieder so kombiniert, daß das Ausgangssignal der Stromversorgungsschaltung die übrigen Glieder dadurch wirkungslos macht, daß sie die Freigäbeleitung 202 abschaltet. Hierdurch wird gewährleistet, daß der Sender 200, bei dem es sich z.B. um einen Schaltkreis vom Typ 8T26A oder 7438 handelt, in den Zustand des hohen Widerstandes gebracht wird, bis die Stromversοrgungsschaltung feststellt, daß die Stromversorgung ausreicht, um ein einwandfreies Arbeiten der integrierten Schaltkreise sicherzustellen« Die Ausgangsstufe der Stromversorgungsschaltung ist so ausgebildet, daß sich eine Eigenschaft vorteilhaft ausnutzen läßt, die bei dem hier verwendeten integrierten Schaltkreis für die Sende- und Empfangseinrichtung gegeben ist. Wenn bei diesem speze^illen integrierten Schaltkreis die Treiberfreigabeleitung 202 zwischen zwei Diodenspannungsabfällen über dem Erdpotential gehalten wird, werden die Ausgangstransistoren des Senders ohne Rücksicht auf den Pegel der Stromzufuhr zu dem
Ö0981 1/0810
integrierten Schaltkreis in den Abschaltzustand gebracht. Dies gewährleistet, daß die Treiber«chaltung die Schiene nicht betätigen kann.
Diese spezielle Kombination von Merkmalen ermöglicht eine Betriebsweise, bei welcher das Ausgangssignal des integrierten Schaltkreises geregelt wird, wenn die Stromzuführung einsetzt oder sich verringert; im Gegensatz hierzu ist normalerweise das Ausgangssignal eines integrierten Schaltkreises nicht definiert, wenn die Stromzufuhr einen bestimmten Pegel unterschreitet.
Die gleiche Schaltung wird bei den X- und Y-Schienen des Interprozessorschienensystems benutzt, um die Sende- und Empfangseinrichtungen zu steuern und die durch die Interprozessorsteuereinrichtung 55 erzeugten Steuersignale zu kontrollieren. Gemäß Fig. 30 ist jede Zentraleinheit 105 mit einer Stromversorgungsschaltung 182 versehen, die der Stromversorgungsschaltung 182 des Geräteanschlusses ähnelt. Somit steuern die Stromversorgungsschaltungen die Sender für alle Geräteanschlüsse 41 und sämtliche Interprozessor-Steuereinrichtungen 55·
Weitere Einzelheiten der Stromversorgungsschaltung 182 sind aus Fig. 25 ersichtlich.
Die Stromversorgungsschaltung hat die Aufgabe, zwei verschiedene Spannungspegel der Quelle für eine Spannung von 5 V zu fühlen.
Wenn die Stromzufuhr versagt, fühlt die Schaltung 182 den Punkt, an dem die Spannung einen bestimmten Pegel unterschreitet, bei dem die Logik des Geräteanschlusses oder der Zentraleinheit in einen unbestimmten Zustand übergeht. An diesem Punkt liefert die Schaltung Signale, um das System gegenüber der Logik zu schützen, die danach einen nicht definierbaren Zustand annimmt.
80981 1/081Ö
27A0056
Der zweite Spannungspegel, der durch die Stromversοrgungsschaltung gefühlt wird, ist ein Wert, der auftritt, wenn die zugeführte Spannung zunimmt. Dieser zwei be Pegel, bei dem die Spannung gefühlt wird, ist im Vergleich zu dem ersten Pegel um etwa 100 mV höher, damit das System mit Hysterese arbeitet, um das Auftreten von Schwingungen zu verhindern.
Die Stromversorgungsschaltung verbleibt in einem stabilen Zustand, nachdem sie eine der Spannungsbedingungen gefühlt hat, bis sie die andere Spannungsbedingung fühlt, woraufhin eine Zustandsänderung eintritt. Der Zustand, in dem sich die Stromversorgungsschaltung jeweils befindet, bestimmt den Spannungspegel, bei dem der Übergang in den anderen Zustand herbeigeführt wird.
Somit liefert die Stromversorgungsschaltung 182 ein Signal, durch das angezeigt wird, daß die zugeführte Spannung innerhalb vorbestimmter zulässiger Betriebsgrenzen für den Geräteanschluß 41 liegt» Ist dies nicht der Fall, wird das Ausgangssignal der Schaltung 182 dazu benutzt, auf direktem Y/ege die betreffenden Schienensignale des Geräteanschlusses 41 zu sperren.
Die Stromversorgungsschaltung 182 erzeugt ein binäres Ausgangssignal. Bei dem Ausgangssignal 1 liegt die Spannung innerhalb der zulässigen Grenzen. Erscheint das Ausgangssignal 0, zeigt diese Tatsache an, daß die Spannung unter einer zulässigen Grenze liegt.
Zu der in Fig0 25 dargestellten Stromversorgungsschaltung 182, die nachstehend näher erläutert wird und mit dem Geräteanschluß 41 zusammenarbeitet, weist sieben Ausgangstreiberstufen auf, von denen Gebrauch gemacht wird, um die Schaltung 182 mit dem Geräteanschluß 41 zu verbinden. Zwar wird die gleiche Schaltung 182 auch bei der Zentraleinheit 105 und der Schienensteuerein-
80981 1/0810
richtung 37 verwendet, doch sind in diesen Fällen weniger Ausgangstreiberstufen vorhanden.
Gemäß Fig. 25 gehören zu der Schaltung 182 eine Stromquelle 184 und ein Differentialverstärker 186.
Der Differentialverstärker 186 weist als einen Eingang eine Leitung 188 zum Zuführen einer temperaturkompensierten Bezugsspannung und als zweiten Eingang eine Leitung 190 auf, wobei das über die Leitung 190 zugeführte Eingangssignal die Spannung anzeigt, die durch die Schaltung 182 gefühlt werden soll.
Die in der Leitung 188 erscheinende Bezugsspannung wird durch eine Zenerdiode 192 bestimmt.
Zu dem Differentialverstärker 186 gehören zwei einander angepaßte Transistoren 194 und 196.
Die in der Leitung 190 erscheinende Spannung wird durch Widerstände 198, 200 und 202 bestimmt, bei denen es sich um Metallfilmwiderstände handelt, durch die der Schaltung 182 eine hochgradige Temperaturstabilität verliehen wird.
Die in den Leitungen 204 und 206 erscheinenden AusgangsSignaIe des Differentialverstärkers 186 werden einer Anordnung mit drei Transistoren 208, 210 und 212 zugeführt, die ihrerseits den Hauptausgangssteuertransistor 214 steuert.
Der Hauptausgangssteuertransistor 214 treibt sämtliche mit ihm verbundenen Ausgangstreiber. Bei der in Fig. 25 dargestellten Anwendung der Schaltung 182 bei einem Geräteanschluß 41 treibt der Hauptausgangstransistor 214 z.B. die Ausgangsstufen 216 - 228. Die Ausgangsstufe 216 dient zum Löschen der Logik, die Ausgangsstufeη 218, 220 und 222 werden in Verbindung mit den Schnittstellenvorrichtungen eines Zugangs 43 des Ge-
80981 1/0810
.ge-
räteanschlusses verwendet, und die Ausgangsstufen 224, 226 und 228 arbeiten mit der Schnittstellenvorrichtung des anderen Zugangs 43 des Geräteanschlusses zusammen.
Schließlich ist bei der Schaltung 182 eine Hysterese-Regeleinrichtung 230 vorhanden, zu der Widerstände 232 und 234 sowie ein Transistor 236 gehören.
Nimmt man an, daß während des Betriebs aus dem Absehaltzustand in den Einsehaltzustand übergegangen wird, wird die Spannung der Stromquelle 184 dem Differentialverstärker 186 und dem Hauptausgangssteuertransistor 214 zugeführt. In diesem Zeitpunkt ist die in der Leitung 190 vorhandene Spannung niedriger als die Spannung in der Leitung 188, so daß der Differentialverstärker 186 den Hauptausgangssteuertransistor 214 im abgeschalteten Zustand hält. Hierdurch werden die Ausgangsstufeη 216 - 228 eingeschaltet.
Hierdurch wird erreicht, daß die Schaltung 182 das Ausgangssignal 0 liefert, um anzuzeigen, daß die Spannung nicht innerhalb der gewünschten Grenzen liegt.
Nimmt die Spannung zu, erhöht sich die Eingangsspannung in der Leitung 190, bis sie gleich der Bezugsspannung in der Leitung 188 ist. An diesem Punkt treibt der Differentialverstärker 186 den Hauptausgangssteuertransistor 214, der somit eingeschaltet wird. Hierdurch wird die Basistreiberspannung bei den Ausgangsstufen 216 - 228 beseitigt, so daß diese Stufen abgeschaltet werden. Nunmehr liefert die Schaltung 182 das Ausgangssignal 1, um anzuzeigen, daß die Spannung innerhalb der erforderlichen Grenzen liegt.
Nunmehr kommt die Hysterese-Regelschaltung 230 zur Wirkung. Während sich die zugeführte Spannung erhöhte, war der Transistor 236 der Hysterese-Regelschaltung 230 eingeschaltet» Wenn
60981 1/0810
- 2740055
dies der Fall ist, scheint der Widerstandswert des Widerstandes 202 kleiner zu sein a]s derjenige Wert, der vorhanden ist, wenn der Transistor 236 abgeschaltet ist.
Der Punkt, an dem der Hauptausgangssteuertransistor 214 eingeschaltet wird, ist der Punkt, an dem der Hysterese-Regeltransistor 236 abgeschaltet wird. Das Abschalten des Hysterese-Regeltransistors 236 führt zu einem kleinen Spannungssprung in der Leitung 190, durch den der Differentialverstärker 186 in dem Zustand verriegelt wird, bei dem er den Hauptausgangstransistor 214 im eingeschalteten Zustand hält«,
Die Stromversorgungsschaltung 182 bleibt in diesem Zustand stabil, wobei der Hauptausgangssteuertransistor 214 eingeschaltet ist, während die Ausgangstreiberstufen 216 - 228 abgeschaltet bleiben, bis die Spannung von dem Wert +5 V bis unterhalb eines Schwellenwertes zurückgeht, der durch die an der Leitung 190 liegende Spannung bestimmt wirdo
Sobald die Spannung in der Leitung 190 die Bezugsspannung in der Leitung 188 unterschreitet, d.h. wenn die Spannung beim Versagen der Stromzufuhr unter 5 V zurückgeht, schaltet der Differentialverstärker 186 den Hauptausgangssteuertransistor 214 ab, wodurch die Ausgangstreiberstufeη 216 - 228 eingeschaltet werden.
Da der Hysterese-Regeltransistor 236 während des Spannungsabfalls abgeschaltet war, muß die dem Eingang der Schaltung 182 zugeführte Spannung etwas weiter zurückgehen, als bis zu dem Punkt, an dem die Schaltung 182 fühlte, daß die Spannung während des Einschaltstadiums innerhalb der erforderlichen Grenzen lag.
Diese Differenz oder Hysterese wird verwendet, um zu verhindern, daß ein bei der zugeführten Spannung von 5 V vorhandenes
ÖÖ981 1/0810
Rauschen bei der Schaltung zu irgendwelchen Schwingungen führte die fälschlicherweise anzeigen, daß die Stromzufuhr versagt.
Die Stromversorgungsschaltung 182 nach Fig. 25 ermöglicht ein sehr genaues Fühlen der beiden genannten Spannungen, mittels welcher der jeweilige Zustand nachgev/iesen wird, d.h. ob das Ausgangssignal eine 1 oder eine O ist.
Damit die beiden Spannungen sehr genau gefühlt werden können, muß es bei der Schaltung 182 möglich sein, anfängliche Toleranzen bei den verschiedenen Schaltungselementen sowie während des Betriebs auftretende Temperaturänderungen zu kompensieren. Bei der Schaltung 182 bildet die Zenerdiode 192 das einzige kritische Schaltungselement, bei dem eine Kompensation infolge seiner anfänglichen Toleranz erforderlich ist, und diese Kompensation wird dadurch bewirkt, daß der Widerstand 198 entsprechend gewählt wird.
Diese Temperaturkompensation wird dadurch ermöglicht, daß die Zenerdiode 192 eine aktive und nicht etwa eine passive Zenerdiode ist. Ferner wird eine wirksame Temperaturkompensation dadurch erreicht, daß die beiden Transistoren des Differentialverstärkers 186 einander angepaßt sind, und daß die Widerstände 198, 200 und 202 als Metallfilmwiderstände ausgebildet sind.
Zu jedem Zugang 43 gehören mehrere Leitungen, die in Fig. 19 und 20 insgesamt mit 179 bezeichnet sind. Hierzu gehören die einzelnen Leitungen 201, von denen 16 die Eingangsschiene bzw. die I-Schiene bilden, ferner Vorrichtungsadressenleitungen 203» Ausgangsschienenleitungen 205» von denen 16 vorhanden sind, eine Eigentumsübernahmeleitung 207 sowie allgemeine Leitungen 209, die z„B. Paritätssignale übertragen, die T-Schie ne und weitere ähnliche Leitungen, die im Hinblick auf die verwendete Hardware erforderlich sind»
80981 1 /0810
Die Leitungen 201, 203, 205, 207 und 209 entsprechen den mit den gleichen Bezeichnungen versehenen Leitungen nach Fig. 21, wo die gemeinsame ochnittstellenlogik in einem Blockschaltbild dargestellt ist. Jedoch sind zwei Sätze jeder dieser Leitungen nach Fig. 21 vorhanden, da die gemeinsame Schnittstellenlogik 181 jedem der beiden Zugänge 43 eines Geräteanschlusses 41 zugeordnet ist.
Gemäß Fig. 21 gehört zu der gemeinsamen Schnittstellenlogik 181 die auch in Fig. 19 dargestellte Eigentümerverriegelungseinrichtung 185» mittels welcher die logische Verbindung zwischen der gemeinsamen Schnittstellenlogik 101 und einem Zugang 43 bestimmt wird, von dem das Eigentumübernahmesignal über die Leitung 207 empfangen worden ist.
Wie erwähnt, wird das Eigentumübernahmesignal durch die Zugangshardware aus einem gemäß Fig. 18 in der T-Schiene erscheinenden Adressen- und Befehlsladesignal mittels eines bestimmten Operationscodes im Befehlsfeld der D-Schiene abgeleitet. Wenn der Zugang gemäß Fig. 18 das Signal LAC über die T-Schiene von dem Kanal empfängt, prüft die Zugangslogik das Befehlsfeld, d.h. die 6 oberen Bits, aus der D-Schiene. Wenn das Befehlsfeld einen Code enthält, der einen Eigentumsübernahmebefehl angibt, erzeugt die Zugangshardware ein Signal, um die Eigentümerverriegelungsschaltung 185 zu setzen, damit der Zugang mit der gemeinsamen Schnittstellenlogik und dann mit dem Steuerteil des Geräteanschlusses verbunden wird. Wenn das Befehlsfeld einen Löschbefehl angibt, liefert die Zugangshardware ein Signal zum Löschender Freigabeeinrichtung des Zugangs. Dieser Vorgang spielt sich nur dann ab, wenn das Vorrichtungsadressenfeld in der D-Schiene mit den Vorrichtungsadressenschaltleitungen des Zugangs übereinstimmt, und wenn während des Befehls kein Paritätsfehler nachgewiesen wird. Mit anderen Worten, wenn bei dem Signal LAC ein Paritätsfehler nachgewiesen wird, werden keine Befehle ausgeführt, was auch
Ö0981 1/0810
-7V-3
- 27Λ0056
für den Eigentumsübernahmebefehl, den Löschbefehl usw. gilt.
Auf diese Weise erhält der Ein-Ausgäbe-Kanal 109, der den Eigentumsübernahmebefehl ausgibt, die Kontrolle über den Geräteanschluß 41, und der andere Zugang 43 wird logisch abgeschaltet, Das Eigentumsübernahmesignal kann auch eine harte Löschung des inneren Zustandes der Steuereinrichtung bewirken.
Der Zustand der Eigentümerverriegelungseinrichtung 185 nach Fig. 21 bestimmt auch, welcher Zugang Informationen durch den Multiplexer 211 leiten kann. Sobald die Eigentümerverriegelungseinrichtung 135 in einer bestimmten Richtung gesetzt ist, verbleibt sie in diesem Zustand, bis von dem anderen Zugang ein Eigentumsübernahmebefehl empfangen wird. Das Erscheinen eines Signals in der Ein-Ausgabe-Rücksetzleitung IORST bewirktebenfalls, daß das Eigentum an den anderen Zugang übergeben wird, nachdem der innere Zustand des Geräteanschlusses gelöscht worden ist.
Steuersignale werden durch den Zustand des Eigentumsregisters 185 sowie von dem betreffenden Zugang 43 gewählt und durch den Multiplexer 211 dem Steuerteil 187 eines Geräteanschlusses über einen Satz von Steuerleitungen 215 zugeführt. Daten werden wahlweise dem betreffenden Zugang 43 über Leitungen 205 entnommen und dem Datenregister 213 eingegeben und der Steuereinrichtung gemäß Figo 21 über eine Ausgäbeschiene 217 dargeboten.
Einige der Steuerleitungen 215» und zwar die Leitungen 215A, werden benutzt, um den Multiplexer 220 zu steuern, wenn Informationen aus der Steuereinrichtung gewählt werden, die über Leitungen 219 übermittelt werden, um über die Eingabeschiene 201 zu den Zugängen 43 (Fig0 20) zurückgeführt zu werden und schließlich zu dem Kanal 109 eines Prozessormoduls 33 zu ge-
809811/0810
langen. Eine Leitung 221 führt die Vorrichtungsadresse von dem betreffenden Zugang 43 zu der Eingabeschiene 201 und von dort aus zu dem Ein-Ausgäbe-Kanal 109 zurück.
Der Datenpuffer 189 nach Fig. 19 ist in Fig. 22 mit weiteren Einzelheiten dargestellt.
Gemäß der Erfindung weisen viele der Geräteanschlüsse 41 einen Puffer für mehrere Wörter auf, der Informationen mit einer relativ niedrigen Geschwindigkeit von einem Peripheriegerät aufnimmt und diese Informationen dann mit oder nahezu mit der Speichergeschwindigkeit zu dem Prozessormodul überträgt, um eine maximale Ausnutzungder Bandbreite des Kanals zu ermöglichen.
Bezüglich des Aufbaus der Puffer ist es wichtig, daß die Geräteanschlüsse 41 in der Lage sind, miteinander zusammenzuarbeiten, um Zugang zu dem Kanal 109 zu erhalten, damit fehlerhafte Betriebszustände vermieden werden« Damit die Geräteanschlüsse 41 einwandfrei zusammenarbeiten können, müssen die Puffer 189 für mehrere Wörter nach bestimmten Grundsätzen ausgebildet sein.
Auf diese Grundsätze wird im folgenden näher eingegangen«
Wenn ein Geräteanschluß einen Wiederanschluß an den Kanal anfordert, muß eine ausreichende restliche Puffertiefe zur Verfügung stehen, damit alle Geräteanschlüsse 41, denen eine höhere Priorität zukommt, und ein Geräteanschluß mit einer niedrigeren Priorität bedient werden können, und damit die Wiederanschluß-Wartezeit bei der Wiederanschlußanforderung auftreten kann, ohne die noch verbleibende Tiefe des Puffers zu erschöpfen. Gemäß FIg9 23 wird dies als "Pufferschwelle" T bezeichnet.
80981 1/0810
Nachdem der Puffer bedient worden ist, muß er genügend lange warten, um eine Bedienung aller Geräteanschlüsse 41 mit niedrigerer Priorität zu ermöglichen, bevor eine weitere Wiederanschlußanforderung gestellt wird. Dies wird im folgenden als "Rückhaltung" (holdoff) bezeichnet. Gemäß Fig. 23 ist die Puffertiefe D die Summe der Rückhaltetiefe und der Schwellwerttiefe .
Die Rückhaltetiefe und die Schwellwerttiefe sind eine Funktion mehrerer variabler Größen; hierzu gehören die Vorrichtungsgeschwindigkeit, die Kanalgeschwindigkeit, die Speichergeschwindigkeit, die Wiederanschlußzeit, die Anzahl der Geräteanschlüsse mit höherer Priorität an der Ein-Ausgäbe-Schiene, die Anzahl der Geräteanschlüsse von niedrigerer Priorität an dieser Schiene und die maximal zulässige Datenbünde Hänge.
Einem Geräteanschluß von hoher Priorität an der Ein-Ausgabe-Schiene arbeitet mit einer größeren Anzahl von Geräteanschlüssen von niedrigerer Priorität an der gleichen Schiene zusammen als ein anderer Geräteanschluß mit geringer Priorität an der gleichen Ein-Ausgabe-Schiene, und daher benötigt der Geräteanschluß mit der höheren Priorität eine größere Rückhaltetiefe als der Geräteanschluß mit niedrigerer Priorität. Entsprechend benötigt ein Geräteanschluß mit niedriger Priorität an einer Ein-Ausgabe-Schiene eine größere Schwellwerttiefe als ein Geräteanschluß von höherer Priorität. Bei einem Geräteanschluß ist der Puffer 189 so ausgebildet, daß Vorteil aus der Tatsache gezogen werden kann, daß sich bei einer Vergrößerung der erforderlichen Rückhaltung die benötigte Schwellenwerttiefe verringert, und daß eine Vergrößerung der benötigten Schwellenwerttiefe zu einer Verringerung der erforderlichen Rückhaltetiefe führt. Zu diesem Zweck wird die Beanspruchung, bei der eine WMe rans chlußanf orde rung gestellt wird, variabel gemacht, wobei sich die tatsächliche Einstellung nach den Merkmalen der Gerateanschlüsse mit höherer bzw. niedrigerer Priorität bei einer bestimmten Ausbildung des Ein-Ausgabe-Kanals
80981 1/0810
richtet. Somit entspricht die Puffertiefe dem Maximum der Schwellenwerttiefe für den schlimmsten Fall oder der Rückhaltetiefe für den schlimmsten Fall und nicht etwa der Summe dieser beiden Größen. Daher kann man die Puffertiefe auf einen Mindestwert verkleinern und die zum Füllen oder Leeren des Puffers benötigte Zeit abkürzen,,
In Fig. 23 sind einige dieser Parameter graphisch dargestellt, wobei die Zeit auf der waagerechten Achse und die Wörter im Puffer auf der senkrechten Achse aufgetragen sind, um einen Ausgabevorgang darzustellen.
Beginnt man an dem Punkt D im linken oberen Teil von Fig. 23 und nimmt man an, daß der Puffer bis zur vollen Puffertiefe gefüllt ist, werden Daten zu einem Geräteanschluß mit einer Geschwindigkeit übermittelt, die durch die Linie mit dem Anstieg -Rq angedeutet ist, und diese Datenübermittlung setzt sich fort, ohne daß ein Wjbderanschlußsignal erzeugt wird, bis sich die Puffertiefe bis auf die Schwellwerttiefe verringert hat, die in Fig. 23 dem Schnittpunkt 223 zwischen der Linie mit dem Anstieg -Rß und der Schwellwerttiefenlinie T entspricht,
An diesem Punkt wird an den Kanal 109 die Wiederanschlußaufforderung gestellt, wie es auf der waagerechten Zeitachse von Fig. 23 angegeben ist.
Die Übermittlung von Daten aus dem Puffer wird mit der Geschwindigkeit fortgesetzt, die der Linie mit dem Anstieg -R0 entspricht, und die Aufforderung wird durch Geräteanschlüsse mit höherer Priorität zurückgehalten, und zwar bis zu dem Punkt 225, an dem die Aufforderung durch den Kanal 109 anerkannt wird, woraufhin der Ein-Ausgäbe-Kanal mit seiner Wiederanechlußfolge für diesen Geräteanschluß beginnt.
An dem Punkt 227 ist das erste Datenwort durch den Kanal 109 zu
Ö09811/0810
dem Puffer 189 des Geräteanschlusses übermittelt worden, und dann überträgt der Kanal 109 Datenwörter mit einer Geschwindigkeit, die der Linie mit dem Anstieg Rc entspricht, wobei diese Datenwörter zu dem Puffer 189 gelangen.
Gleichzeitig fährt der Geräteanschluß 41 fort, Datenwörter aus dem Puffer mit der Geschwindigkeit -R0 zu übertragen, so daß die Gesamtgeschwindigkeit der Eingabe in den Puffer 189 der Linie mit dem Anstieg Rp-Rp entspricht, bis der Puffer an dem Punkt 229 erneut gefüllt ist. Sobald der Puffer gefüllt ist und sich der Geräteanschluß von dem Kanal 109 abschaltet, wird die Datenübertragung mit der Geschwindigkeit fortgesetzt, die gemäß Fig. 23 der Linie mit dem Anstieg -Rg entspricht.
In Fig. 23 entspricht die Strecke tr der Zeit, die zum Aufrufen und Wählen des Geräteanschlusses und zum übertragen des ersten Wortes benötigt wird. Hierauf wird im folgenden anhand von Fig. 16 erneut eingegangen.
In Fig. 23 bezeichnet der Buchstabe B die Strecke, die der Dauer eines Datenbündels entspricht. Diese Datenbündelzeit ist ein dynamischer Parameter. Die Länge eines bestimmten Bündels richtet sich nach der übertragungsgeschwindigkeit des Geräteanschlusses, der übertragungsgeschwindigkeit des Kanäle, der Anzahl von Geräteanschlüssen, bei denen Übertragungen ablaufen, sowie der Kanalwiederanschlußzeit, Die maximale Zeit, die für ein Bündel zugelassen wird, wird so gewählt, daß sich eine möglichst kleine erforderliche Puffertiefe ergibt, wobei hohe Übertragungsgeschwindigkeiten möglich sind, und wobei die Anzahl der Geräteanschlüsse berücksichtigt ist, die gleichzeitig eine übertragung bewirken können.
Fig. 22 ist ein Blockschaltbild einer bestimmten Ausführungsform eines erfindungsgemäßen Puffers 189 zur Erfüllung der
80981 1 /081 0
anhand von Fig. 23 geschilderten Erfordernisse bezüglich der Rückhaltetiefe und der Schwellenwerttiefe.
Gemäß Fig. 22 gehören zu dem Puffer 189 ein Eingabepuffer 231, ein Pufferspeicher 233, ein Ausgabepuffer 235, ein Eingabezeiger 237, ein Ausgabezeiger 239, ein Multiplexer 241, eine anhand von Fig. 26 näher zu beschreibende Puffersteuerlogik 243, ein an letztere angeschlossener Multiplexer 245 und ein Beanspruchungszähler 247.
Ferner führen gemäß Fig. 22 zwei Gruppen 217 und 249 von Dateneingabeleitungen zu dem Eingabepuffer 231·
Zu der Gruppe 249 gehören sechzehn Dateneingabeleitungen·
Die andere Gruppe 217 setzt sich aus sechzehn Ausgabeschienenleitungen zusammen.
Die eine oder andere Gruppe von Eingabeleitungen führt jeweils Eingangssignale über den Puffer 231 und eine Gruppe von Leitungen 251 dem Pufferspeicher 233 zu. Hierbei sind sechzehn Leitungen 251 vorhanden.
Die Daten werden dem Pufferspeicher 233 entnommen und dem Ausgabepuffer 235 über sechzehn Leitungen 253 zugeführt.
Der Ausgabepuffer 235 übermittelt die Daten gemäß Fig. 19 und 21 zurück zu der gemeinsamen Schnittstellenlogik 181 über eine Gruppe von sechzehn Leitungen 219 sowie zu den in Fig. 1 dargestellten Vorrichtungen 45, 47 bzw· 49, 51 und 53 über eine Gruppe von sechzehn Leitungen 255·
Der Eingabezeiger 237 und der Ausgabezeiger 239 arbeiten mit dem Multiplexer 241 In der nachstehend beschriebenen Weise zusammen.
809811/0810
Werden Daten aus dem Eingabepuffer 231 in den Pufferspeicher 233 überführt, fet der Eingabe-Zeiger 237 mit dem Pufferspeicher 233 über den Multiplexer 241 verbunden, um die Stelle zu bestimmen, an der das Wort geschrieben wird.
Werden Daten aus dem Pufferspeicher 233 in den Ausgabepuffer 235 überführt, ist der Ausgabezeiger 239 mit dem Pufferspeicher 233 über den Multiplexer 241 verbunden, um die Stelle zu bestimmen, der das Wort entnommen wird.
Die Aufgabe der Puffersteuerlogik 243 nach Fig. 22 und 26 besteht darin, die Beanspruchung des Puffers 189 zu verfolgen. Diese Beanspruchung wird durch den PUllungs- oder Leerungsgrad des Puffers in Verbindung mit der Richtung der Übertragung bezüglich des Prozessormoduls (Eingabe oder Ausgabe) bestimmt. Die Beanspruchung nimmt zu, wenn der Geräteanschluß Zugriff zu dem Puffer nimmt, und sie verringert sich, wenn der Zugriff zu dem Puffer durch den Kanal erfolgt.
Bei der Ausführungsform nach Fig. 22 und 26 mißt der Beanspruchungszähler 247 die zunehmende Beanspruchung von O bis an einem Eingang und die abnehmende Beanspruchung von 0 bis an einem Ausgang. Bei einer hier nicht dargestellten anderen Ausführungsform würde bei der Puffersteuerlogik zusätzlich die übertragungsrichtung berücksichtigt, so daß zwei neue Leitungen Zugriff zu den Zeigern 237 und 239 nehmen würden und der Beanspruchungszähler stets eine zunehmende Beanspruchung messen würde.
Gemäß Fig. 22 werden einer Kanalanforderungsleitung 215 (siehe auch Fig. 21) und einer Geräteanschluß-Anforderungsleitung 257, die mit den Steuerteil 187 des Geräteanschlusses in Verbindung steht, Signale zugeführt, um einen Zugriff zu dem Puffer 189 anzuzeigen.
80981 1 /0810
Der Multiplexer 245 wählt eine dieser Leitungen als Aufforderung zur Vergrößerung des Füllungsgrades des Puffers, und eiTwählt die andere Leitung als Aufforderung zur Verringerung des Füllungsgrades des Puffers auf der Basis der Übertragungsrichtung (Eingabe oder Ausgabe) gegenüber dem Prozessormodul·
Die zur Vergrößerung des Füllungsgrades des Puffers gewählte Leitung wird auch benutzt, um Daten aus den betreffenden Datenleitungen 249 oder 217 nach Fig. 22 über die Leitung 259 dem Eingabepuffer 231 einzugeben.
Der Kanal und der Geräteanschluß können gleichzeitig Zugriff zu dem Puffer 189 nehmen, und die Puffersteuerlogik 243 erfüllt diese Forderungen nacheinander. Hierbei wählt die Puffersteuerlogik 243 eine der Leitungen zum Zweck der Bedienung, während die andere Leitung unbedient bleibt, bis die Puffersteuerlogik die erste Aufforderung erfüllt hat, woraufhin sie die andere Aufforderung erfüllt.
Die Erfüllung einer Aufforderung durch die Puffersteuerlogik 243 spielt sich in der nachstehend beschriebenen Weise ab.
Zunächst ermittelt die Logik die Richtung der Übertragung (Eingabe oder Ausgabe) bei dem Pufferspeicher 233, und sie führt ein Signal der an den Multiplexer 241 angeschlossenen Leitung 261 zu, um nach Bedarf über den Multiplexer 241 den Eingabezähler 237 oder den Ausgabezähler 239 zu wählen.
Zweitens führt bei einer Ausgabeanforderung die Puffersteuerlogik 243 der Leitung 263 ein Signal zu, um drei Vorgänge durchzuführen.
A. Das Wort wird aus dem Eingabepuffer 231 dem Pufferspeicher 233 an der Stelle eingegeben, die durch den Eingabezähler 237 und den Multiplexer 241 bestimmt wird.
809811/0810
B. Der Beanspruchungszähler 247 wird weitergeschaltet.
C. Die Puffersteuerlogik 243 schaltet den Eingabezähler 237 weiter.
Drittens läßt bei einer Ausgabeübertragung die Puffersteuerlogik 243 ein Signal in der Leitung 265 erscheinen, um die nachstehend drei Vorgänge durchzuführen.
A. Die Pufferstea erlogik 243 gibt dem Ausgabepuffer 235 das Wort ein, das dem Pufferspeicher 233 entnommen und durch den Ausgabezähler 239 und den Multiplexer 241 bestimmt wird.
B. Die Puffersteuerlogik 243 schaltet den Beanspruchungszähler 247 abwärts.
C. Die Puffersteuerlogik 243 schaltet den Ausgabezähler 239 weiter.
Der Beanspruchungszähler 247 bestimmt, ob der Puffer 189 gefüllt ist (D), oder ob er eich an der Schwellenwerttiefe T befindet, wie es in Fig. 22 bei den Ausgäbeleitungen angegeben ist.
Das Ausgangssignal des Beanspruchungszählers 247 wird decodiert, und Jeder beliebige der decodierten Werte kann benutzt werden, um anzugeben, daß sich der Puffer an der Schwellenwert!tiefe befindet. Bei der bevorzugten Ausführungsform werden Schaltdrähte verwendet, um jeweils einen von sechzehn möglichen Beanspruchungswerten zu wählen, und an den Kanal 109 wird eine Wiederanschlußaufförderung gerichtet, wenn die Beanspruchung des Puffers 189 diesen Wert erreicht.
Der Steuerteil 187 des Geräteanschlusses benutzt diese drei Signale, die den Angaben in Fig. 23 entsprechen, um Wiederanschlußaufforderungen und Abschaltaufforderungen über die betreffenden Leitungen 145 bzw. 159 nach Fig. 14 und 12 zu steIlenο
80981 1/0810
Das Eingabestoppsignal STI, das durch die Leitung 159 übertragen wird und in Fig. 14 und 12 dargestellt ist, steht in Beziehung zur Puffertiefe D, dem Füllungs- oder Leerungszustand des Puffers und der Übertragungsrichtung; das Eingabe-Wiederanschlußsignal RCI in der Leitung 145 nach Fig. 14 und 12 steht in Beziehung zu der Schwellenwert-Tiefenanzeige T des Beanspruchungszählers 247 nach Fig. 22. Somit erscheint das Eingabestoppsignal STI, wenn der Puffer 189 den Zustand der geringsten Beanspruchung (bei der Ausgabe gefüllt bzw. bei der Eingabe leer) erreicht. Das Signal STI meldet dem Kanal 109, daß der Geräteanschluß 41 beabsichtigt, die Datenbünde!übertragung zu beenden. Wenn der Puffer seinen Schwellenwert durchläuft, läßt er das Signal RCI in der Leitung 145 erscheinen, um dem Kanal 109 anzuzeigen, daß der Puffer ein Datenbündel zu übertragen wünscht.
Fig. 26 zeigt Einzelheiten des Multiplexers 245, der Puffersteuerlogik 243 und des Beanspruchungszählers 247, die zu dem Puffer 189 nach Fig. 22 gehören.
Gemäß Fig. 26 gehören zu dem Multiplexer 245 zwei Sätze von Gattern 245A und 245B, Anforderungs-Kippschaltungen 267A und 267B, eine Taktkippschaltung 269, Anforderungs-Synchronisationekippschaltungen 271A und 271B, ein Prioritätsauflösungsgatter 273 und Anforderungs-Durchführungsgatter 275A und 275B.
Der Beanspruchungszähler 247 weist einen Zählerteil 247A und einen Decodiererteil 247B auf, wie es aus Fig. 26 ersichtlich ist.
Gemäß Fig. 26 haben die beiden Sätze von Gattern 245A und 245B das in der Leitung 215 erscheinende Kanalanforderungssignal, das in der Leitung 257 erscheinende Geräteanschluß-Anforderungssignal und die Lese- und Schreibsignale verwendet, um zu bestimmen, welcher Kanal bzw. welcher Geräteanschluß dem Puffer
809811/0810
189 Daten eingibt bzw. ihm Daten entnimmt.
Die Anforderungskippschaltungen 267A und 267B speichern die Anforderungen, bis die Steuerlogik der Anforderung entsprochen hat.
Die Taktkippschaltung 269 erzeugt ein zweiphasiges Taktsignal, das durch die Anforderungs-Synchronisationskippschaltungen 271A und 271B sowie die Anfοrderungs-Ausführungsgatter 275A und 275B benutzt wird.
Die Anforderungs-Synchronisationskippschaltungen 271A und 271B synchronisieren die Anforderung mit der Taktgeneratorkippschaltung 269 und stabilisieren die Anforderung zur Durchführung.
Das Prioritätsauflösungsgatter 273 wählt jeweils eine der Anforderungen zur Durchführung und veranlaßt, daß die andere Anforderung zurückgehalten wird.
Die Anforderunge-Durchführungsgatter 275A und 275B führen die Anforderungen in Abhängigkeit von der synchronisierten Anforderung durch.
Jedes Ausgangssignal in den Leitungen 263 und 265 erfüllt die weiter oben genannten Aufgaben (Aufwärts- und Abwärtsschalten des Beanspruchungszählers, Aktualisieren des Pufferspeichers oder des Ausgabepuffers und Aktualisieren des Eingabe- bzw. des Ausgabezählers)«
Außerdem löscht jedes Signal die zugehörige Anforderungskippschaltung gemäß Fig. 26 über die Leitungen 277A und 277B.
Wie erwähnt, veranschaulichen Fig. 15, 16 und 17 die drei Betriebsfolgen des Ein-Ausgäbesystems.
80981 1/08 10
Beim Betrieb des Ein-Ausgabe-Systems gehört zu der normalen Datenübermittlung zwischen einem Prozessormodul 33 und einem bestimmten Geräteanschluß bzw. einer Vorrichtung, zoB. einer Platte 45 nach Fig. 1, eine Folge EIO nach Fig. 15 zur Einleitung der Übermittlung.
Der EIO-Befehl wählt den betreffenden Geräteanschluß 41 und die Vorrichtung, und er bestimmt die durchzuführende Operation.
Der Geräteanschluß 41 leitet den Ein-Ausgäbe-Vorgang zwischen sich und der betreffenden Vorrichtung ein.
Der Geräteanschluß 41 schließt sich periodisch wieder an den Kanal 109 an und übermittelt Daten zwischen sich und dem Kanal· Dieser periodische Wiederanschluß kann dazu dienen, Daten vom Kanal zum Geräteanschluß oder vom Geräteanschluß zum Kanal zu übermitteln.
Ist die Datenübermittlung abgeschlossen, unterbricht der Geräteanschluß 41 den Betrieb der Zentraleinheit 105, die dadurch reagiert, daß sie eine HO- oder eine HIIO-Folge ausgibt.
Die HO-Folge bestimmt die Identität der die Unterbrechung bewirkenden Vorrichtung und die Bedingungen, unter denen die übertragung zu Ende geführt wird.
Die HIIO-Folge ähnelt der HO-Folge, doch wird sie in Abhängigkeit von einer Ein-Ausgäbe-Unterbrechung von hoher Priorität ausgegeben.
Der Ein-Ausgabe-Ausführungsbefehl EIO der Zentraleinheit wird durch die aus Fig. 15 ersichtlichen Zustandsänderungeη der T-Schiene definiert.
80981 1/08 10
455
Bei dem am linken Ende von Fig. 15 dargestellten ersten Zustand NOP handelt es sich um den Ruhe- oder Leerlaufzustand· Die übrigen Zustände sind die gleichen wie die in Fig. 18 durch Abkürzungen bezeichneten, d.ho es handelt sich um den Befehl "Adresse und Befehl laden" (LAC), den Befehl "Parameter laden" (LPRM), den Befehl "Zustand der Vorrichtung lesen" (RDST), den Befehl "Abschalten" (DSEL) und den Befehl "Abbrechen" (ABTI).
Ebenso wie bei den in Fig. 6, 7 und 8 dargestellten Zustandsänderungen bezeichnen die voll aufgezogenen Pfeile Jeweils eine Zustandsänderung, und ein gestrichelter Pfeil bezeichnet einen Zustand, der eintreten muß, bevor eine Zustandsänderung stattfinden kann.
Der EIO-Befehl und seine Durchführung nach Fig. 15 stehen unter der direkten Steuerwirkung des Mikroprozessors 113 (Fig. 12) und der Zentraleinheit 105.
Das Einleitungssignal der Zentraleinheit wird der Zustande -maschine nach Fig. 15 entsprechend dem gestrichelten Pfeil 117 zugeführt; das Einleitungssignal wird nur aufgenommen, wenn sich die T-Schiene im Leerlaufzustand befindet.
Sobald das Einleitungssignal der Zentraleinheit zugeführt wird, geht die T-Schiene aus dem Leerlaufzustand NOP in den Zustand LAC über.
Beim LAC-Zustand wird ein Wort dem oberen Ende des Registerstapels 112 der Zentraleinheit 105 (Fig. 12) entnommen und gemäß Fig. 14 der D-Schiene 161 zugeführt.
Wie erwähnt, wird dieses Wort dazu benutzt, einen bestirnten Geräteanschluß 41 und eines der Peripheriegeräte 45, 47» 49, 51 und 53 nach Fig. 1 zu wählen; außerdem dient dieses Wort dazu» die durchzuführende Operation zu benennen.
80981 1 /0810
" 27Λ0056
Beim nächsten T-Schienenzyklus geht die T-Schiene in den Zustand LPRM über.
Bei diesem Zustand zum Laden des Parameters wird das Wort, das sich gerade unter dem oberen Ende des Registerstapels 112 der Zentraleinheit 105 befindet, gemäß Fig. 14 durch den Eln-Ausgabekanal 109 der T-Schiene 161 zugeführt und zu dem Geräteanschluß 41 weitergeleitet, der während des vorausgegangenen LAC-Zustandes gewählt wurde.
Am Ende des in Fig. 15 durch einen gestrichelten Pfeil bezeichneten Austauschzyklus geht die T-Schiene in den Zustand RDST über. Bei diesem Zustand meldet der Geräteanschluß 41 seinen Zustand, d.h. den Zustand einer bestimmten Vorrichtung, die gewählt worden ist, und zu dem der den Zustand der Vorrichtung bezeichnete Satz von Signalen gehört, zurück, und die Signale werden dem oberen Ende des Registerstapels 112 der Zentraleinheit 105 eingegeben.
Während des Parameterlade- und Vorrichtungslesezustandes können verschiedene Fehler aufgetreten sein. Hierzu gehören ein Paritätsfehler, der Ablauf des Austausches sowie eine Anzeige eines bei dem Zustandewort vorhandenen Fehlers. Ist tatsächlich ein Fehler aufgetreten, geht die T-Schienen-Maschine 143 nach Fig. 13 aus dem Zustand RDST in den Zustand ABTI (Befehl abbrechen) über.
Der Zustand ABTI veranlaßt den Geräteanschluß 41, die Informationen LAC und LPRM zu ignorieren, die ihm vorher durch den Ein-Ausgäbe-Kanal 109 zugeführt worden sind, und dann kehrt die T-Schiene bzw. der Kanal in den Leerlaufzustand NOP zurück.
Wenn jenseits des Zustandes RDST kein Fehler nachgewiesen wurde, wie es in Fig. 15 durch den gestrichelten Pfeil 114 angedeutet ist, geht die T-Schiene in den Abschaltzustand DSEL über.
809811/08 10
27A0056
Befindet sich die T-Schiene im Abschaltzustand, löscht der Geräteanschluß 41 seine Wählverriegelungseinrichtung 173, und er reagiert auf den ihm erteilten Befehl, der ihm während des Zustandes LAC zugeführt wurde, und die T-Schiene kehrt in den Leerlaufzustand NOP zurück.
Beim Betrieb des Ein-Ausgabe-Systems können mehrere Vorrichtungsanforderungssignale asynchron auftreten. Beispielsweise kann nach einer EIO-Folge ein Wiederanschlußsignal erzeugt werden, um zu fordern, daß der Kanal Daten zum Geräteanschluß überträgt. Ferner kann der Geräteanschluß 41 unter verschiedenen Bedingungen ein Signal einer Unterbrechungsanforderungsleitung zuführen, z.B. um den Abschluß einer EIO-Folge oder einen ungewöhnlichen Zustand bei einem Peripheriegerät zu melden.
Die Vorrichtungsanforderungsleitungen sind allen Geräteanschlußzugängen 43 gemeinsam, die an eine bestimmte Ein-Ausgäbe-Schiene 39 angeschlossen sind.
Der Kanal 109 spricht auf Wiederanschlußanforderungen an, die über die Leitung RCI bzw. 145 nach Fig. 14 gestellt werden, und die Zentraleinheit 105 spricht auf Anforderungen an, die über die Leitung LIRQ bzw. 147 nach Fig. 14 gestellt werden, und zwar mit einer IIO-Folge, sowie auf eine über die Leitung HIRQ bzw. 149 eintreffende Anforderung mit einer HIIO-Folge.
Der erste Vorgang, den der Kanal 109 oder die Zentraleinheit 105 in Abhängigkeit von einem Vorrichtungsanforderungssignal durchführt, besteht in der Bestimmung der Identität des Geräteanschlusses 41 mit der höchsten Priorität, von dem die Anforderung stammt. Mit anderen Worten, dem Kanal 109 können gleichzeitig Anforderungen von mehreren Geräteanschlüssen 41 aus zugeführt werden, und der Kanal wählt dann einen bestimmten Geräteanschluß entsprechend einem vorher festgelegten Prioritätsplan·
80981 1/08 10
453
- 27AÜ056
Bei einer bestimmten Auaführungsform der Erfindung können an einen einzigen Kanal 109 bis zu 32 Geräteanschlüsse 41 angeschlossen sein.
Die 32 Geräteanschlüsse bilden zu Abrufzwecken eine Sternschaltung, bei der die 16-Bit-Datenschiene 161 verwendet wird. Eine zusätzliche Leitung 151 (Fig. 14) dient dazu, die 32 Geräteanschlüsse in zwei Gruppen zu je 16 Anschlüssen zu unterteilen. Einer Gruppe von 16 Geräteanschlüssen wird Priorität gegenüber der anderen Gruppe zuerkannt; außerdem sind die 16 Geräteanschlüsse jeder Gruppe nach ihrer Priorität geordnet. Der Geräteanschluß, der auf das Bit 0 aus der D-Schiene während einer Abruffolge anspricht, hat die höchste Priorität innerhalb eines Rangs, und dem Geräteanschluß, der auf das Bit 15 anspricht, kommt die niedrigste Priorität zu.
Einleitend sei erwähnt, daß bei dem nachstehend beschriebenen AbrufVorgang die in Fig. 16 und 17 dargestellten Zustandebe-Schreibungen unter Einschluß desjenigen Austausches eine Rolle spielen, der während des Wählzustandes SEL abläuft.
Gemäß Fig. 16 und 17 setzt der Kanal 109 die Rangleitung auf Null und präsentiert dann gemäß Fig. 16 die T-Schienen-Funktion RPOL, wenn die Reaktion auf eine Wiederanschlußanforderung erfolgt, während die ..«wtraleinheit 105 gemäß Fig. 17 eine T-Schienen-Funktion LPOL präsentiert, wenn die Zentraleinheit mit einer IIO-Folge reagiert, oder eine T-Schienen-Funktion HPOL, wenn die Zentraleinheit mit einer HIIO-FoIge reagiert. Bezüglich des Abrufvorgangs besteht hierin der einzige größere Unterschied zwischen Fig. 16, wo die Reaktion des Kanals dargestellt ist, und Fig. 17, die für das Ansprechen der Zentraleinheit gilt.
Gemäß Fig. 16 und entsprechend der Reaktion des Kanals 109 auf das Erscheinen eines Signals in der RCI-Leitung 145 nach
80981 1/0810
Fig. 14 ist zu bemerken,daß alle Geräteanschlüsse, bei denen eine Wiederanschlußanforderung ansteht, und die auf den Rang Null ansprechen würden, der D-Schiene ein Bit zuführen. Mit anderen Worten, alle diese Geräteanschlüsse besetzen bei der D-Schiene 161 eine Leitung, die ihrer Priorität innerhalb der Gruppe entspricht.
Gemäß Fig. 13 überträgt der Kanal 109 das Signal aus der D-Schiene zu dem Prioritätsauflösungsregister 135, dessen Ausgangssignal bestimmt, welchem Geräteanschluß die höchste Priorität entsprechend dem weiter oben behandelten Schema zukommt, und das das entsprechende Bit zur D-Schiene 161 zurückleitet, wenn die angeschlossenen Gerateanschlüsse ein Bit im Rang Null liefern.
Wenn ein oder mehrere Geräteanschlüsse beim Rang Null auf ein Signal des Prioritätsauflösungsregisters reagieren, \Lrd das Ausgangssignal dieses Registers allen damit verbundenen Geräteanschlüssen zusammen mit dem Wählsignal SEL in der T-Schiene zugeführt, woraufhin der Geräteanschluß, dessen Priorität beim Rang Null dem Ausgangssignal des Prioritätsauflösungsregisters entspricht, gemäß Fig. 19 sein Wählbit 173 setzt, so daß der betreffende Zugang auf nachfolgende Zustände innerhalb der Folge anspricht. Diese Wirkungsweise ist in Fig. 16 durch den voll ausgezogenen Pfeil veranschaulicht, der von dem Zustand RPOL mit dem Rang Null zu dem Zustand SEL verläuft.
Wenn das Prioritätsauflösungsregister 135 feststellt, daß beim Signal Null in der Rangleitung kein Geräteanschluß angesprochen hat, stellt der Kanal 109 die Rangleitung auf 1 um und gibt erneut den T-Schienen-Befehl RPOL. Wenn dann das Prioritätsauflösungsregister feststellt, daß beim Rang 1 ein Ansprechen erfolgt ist, bringt der Kanal die T-Schienen-Wählfunktion wie zuvor zur Wirkung.
80981 1/0810
- 147 -
Stellt jedoch das Prioritätsauflösungsregister 135 fest, daß beim Rang 1 kein Ansprechen erfolgte, kehrt der Kanal gemäß Fig. 16 in den Leerlaufzustand NOP zurück.
Dieser letztere Vorgang ist ein Beispiel für ein Versagen, das bei einem Zugang 43 auftreten könnte, und das dazu führen würde, daß das System 31 über den anderen Zugang 43 Zugriff zu dem betreffenden Geräteanschluß 41 nimmt.
Wie erwähnt, ist die Wirkungsweise des Prioritätsauflösungsregisters 135 unter dem Einfluß einer durch die Zentraleinheit 105 eingeleiteten HO- oder HIIO-Folge die gleiche wie sein Ansprechen auf eine Wiederanschlußfolge, die durch den Kanal in Abhängigkeit von einem Wiederanschlußsignal eingeleitet wird, das der Leitung 145 durch einen Geräteanschluß 41 zugeführt wird.
Gemäß Fig. 16 beginnt die Wiederanschlußfolge mit der vorstehend beschriebenen Abruffolge zum erneuten Anschließen des Geräteanschlueses 41 mit der höchsten Prioritit, der eine Anforderung stellt.
Der nächste Schritt der Wiederanschlußfolge dient dazu, die Nufluer des Geräteanschlusses festzustellen, die in dem Adressenkomparator 193 enthalten ist. Wie erwähnt, sind bei dem Adressenkomparator 193 Schaltleitungen vorhanden, die die Nummer eines physikalischen Geräteanschlusses bestimmen. Hierbei handelt es sich um die gleichen Schaltleitungen, die bei der Funktion LAC der T-Schiene während einer EIO-Folge verwendet werden, um einen bestimmten Zugang festzulegen. Bei der Wiederanschlußfolge wird die durch diese Schaltleitungen bestimmte Adresse dem Ein-Ausgabe-Kanal über die D-Schiene während des Zustandes RAC der T-Schiene wieder zugeführt, um Zugriff zu einer Tabelle zu nehmen, welche den Pufferbereich für den Geräteanschluß bestimmt.
809811/0810
Ferner ist es erforderlich, die Richtung der Übertragung zu bestimmen (Ein- oder Ausgabeübertragung bei dem Prozessormodul). Zur Bestimmung der Richtung der angeforderten übertragung und der Adresse des Geräteanschlusses bringt der Kanal die T-Schiene in den RAC-Zustand, und der Geräteanschluß 41 meldet die Adresse des Geräteanschlusses und die Übertragungsrichtung zurück.
Der Kanal verwendet die durch den Geräteanschluß 41 zurückgemeldete Adresse des Anschlusses, um gemäß Fig. 12 Zugriff zu einem Zweiworteintrag 142 einer Ein-Ausgäbe-Steuertabelle IOC bzw. 140 zu nehmen, durch den ein Pufferbereich 138 im Speicher 107 für den betreffenden Geräteanschluß und die Vorrichtung bestimmt wird.
In Fig. 12 ist im unteren Teil das Format eines Zweiworteintrags 142 vergrößert dargestellt, um die Einzelheiten der Felder der beiden Wörter erkennbar zu machen.
Ein Zweiworteintrag 142 ist in der IOC-Tabelle 140 für jeden der acht möglichen der 32 Geräteanschlüsse 41 vorhanden, die mit einer Ein-Ausgäbe-Schiene 39 verbunden sind, welche einem bestimmten Prozessormodul 33 zugeordnet sind, und zu jedem Prozessormodul gehört eine eigene IOC-Tabelle.
Jeder Zweiworteintrag beschreibt die Pufferstelle im Hauptspeicher und die verbleibende Länge, die in jedem bestimmten Zeitpunkt bei einer bestimmten Datenübertragung zu einer bestimmten Vorrichtung übertragen werden muß. Gemäß Fig. 12 gibt das obere Wort des Eintrags 142 die Übertragungsadresse an, zu oder von welcher die übertragung eines Datenbündels erfolgt, und das untere Wort gibt das Bytes-Zählergebnis an, das der verbleibenden Länge des Pufferbereichs und dem Übertragungszuetand entspricht.
80981 1/0810
Das den Zustand der übertragung repräsentierende Feld enthält ein Schutzbit P und ein Kanalfehlerfeld CH ERR. Zu dem letzteren Feld gehören drei Bits, die gesetzt werde» können, um jeweils einen Fehler von bis zu sieben numerierten Fehlern anzuzeigen.
Die Übertragungsadresse und das Byte-Zählergebnis werden in der IOC-Tabelle 140 am Ende jeder Wiederanschluß- und Datenübertragungsfolge (Datenbündel) aktualisiert. Die Übertragungsadresse wird aufwärts gezählt, und das Byte-Zählergebnis wird am Ende jedes Bündels abwärts gezählt. Der Betrag gibt die Anzahl der innerhalb des Bündels übertragenen Bytes an.
Das zweite Wort enthält erstens ein Feld, in dem jeder während einer Wiederanschluß- und Datenübertragungsfolge auftretende Fehler zur späteren Untersuchung festgehalten werden kann, sowie zweitens ein Schutzbit, das angibt, daß der Pufferbereich im Speicher 107 gelesen, jedoch nicht beschrieben werden kann.
Das Schutzbit dient dazu, den Prozessorspeicher 107 gegen eine Störung bei dem Geräteanschluß 41 zu schützen. Mit anderen Worten, wenn der Geräteanschluß 41 die Übertragungsrichtung zu dem Kanal 109 während *er T-Schienen-Funktion RAC (Adresse und Befehl lesen) zurückmeldete, könnte eine Störung bei dem Geräteanschluß 41 diesen veranlassen, fälschlicherweise eine Eingabeübertragung anzugeben. Dann würde der Kanal in den Eingabezustand übergehen und Daten aus dem Geräteanschluß in den Speicher übertragen, wodurch im Puffer 138 enthaltene Daten verloren gehen würden. Das Schutzbit ermöglicht es dem Programm, anzugeben, daß der Kanal diesem Pufferbereich keine Daten eingeben darf? dies bedeutet, daß die Vorrichtung nur eine Ausgabeübertragung benennen kann.
Ö09811/0810
- 27A0056
Die Ubertragungsadresse gibt gemäß Fig. 12 den logischen Weg 139B an.
Gemäß Fig. 13 überführt der Kanal die Ubertragungsadresse in das Kanalspeicher-Adressenregister 129 und gibt das Byte-Zählergebnis dem Zeichenzählregister 131 ein.
Je nach der Übertragungsrichtung, die der Kanal dem Geräteanschluß während des RAC-Zustandes nach Fig. 16 entnommen hat, bringt der Kanal die T-Schiene entweder in den Eingabezustand oder den Ausgäbezustand, so daß Daten zwischen dem Geräteanschluß 41 und dem Speicher 107 übertragen werden, wobei das Kanalspeicher-Adressenregister 129 nach Fig. 13 benutzt wird, um den logischen Weg 139C nach Fig. 12 vorzuschreiben. Das Kanalspeicher-Adressenregister 129 und das Zeichenzählregister 131 werden mit jedem Wort aktualisiert, das während der Datenbünde !übertragung übertragen wird, um die nächste Adresse im Puffer und die Anzahl der noch zu übertragenden Zeichen anzugeben. Am Ende eines Datenbündels wird der Inhalt des Kanalspeicher-Adressenregisters 129 und des Zeichenzählregisters 131 der IOC-Tabelle 140 nach Fig. 12 eingegeben.
Während des Betriebs übernimmt der Kanal 109 für jedes von dem Geräteanschluß bei einer Eingabeübertragung übertragene Wort dieses Wort mit Hilfe des weiter oben beschriebenen Austauschvorgangs, um das Wort gemäß Fig. 13 in das Ein-Ausgabe-Datenregister 127 zu überführen, woraufhin das Wort gemäß Fig. 12 über den logischen Weg 139C dem Pufferberei di im Speicher 107 eingegeben wird.
Bei einer Ausgabeübertragung entnimmt der Kanal 109 dem Pufferbereich ein Wort über den logischen Weg 139C und überträgt das Wort zu dem Kanalspeicherdatenregister 125 nach Fig« 13· Dann überträgt der Kanal das Wort gemäß Fig. 13 zu dem Ein-Ausgabe-Datenregister 127 und führt einen Austausch mit dem Geratean-
80981 1 /0810
Schluß durch, der das Wort in sein Schnittstellen-Datenregister 213 nach Fig. 21 übernimmt.
Die hohe Arbeitsgeschwindigkeit des Ein-Ausgäbe-Kanals wird durch die Verwendung mehrerer Leitungen erzielt, wobei das Wort im Ein-Ausgabe-Datenregister 127 mit dem Geräteanschluß ausgetauscht wird, während der Kanal bei der übertragung aus dem Speicher 107 gleichzeitig das nächste Wort anfordert, übernimmt und es dem Kanalspeicher-Datenregister 125 eingibt. Da es gerade ebenso lange dauert, dem Geräteanschluß ein Wort zu entnehmen, wie die Übernahme eines Wortes aus dem Speicher für den Geräteanschluß dauert, können die beiden Operationen überlappt werden.
Während der übertragung eines Datenbündels hat der Kanal das Zählergebnis des Zeichenzählregisters 131 für Jedes übertragene Wort um 2 Einheiten verkleinert, da Jedes Wort zwei Bytes enthält.
Die Übertragung eines Datenbündels kann auf zweierlei Weise erfolgen,, Mit anderen Worten, die Übertragung eines Datenbündels kann auf normale Weise abgeschlossen werden, oder sie kann mit einem Fehlerzustand enden. Im Normalfall bestehen zwei Möglichkeiten.
Bei einem ersten Betriebszustand kann das Zeichenzählregister 131 ein Zählergebnis erreichen, bei dem noch ein oder zwei Bytes zu übertragen sind. Unter diesen Umständen aktiviert der Kanal gemäß Fig. 14 die EOT-Leitung 165, um anzuzeigen, daß das Ende der Übertragung erreicht ist„ Erreicht das Zählergebnis den Wert 1, aktiviert der Kanal die EOT-Leitung und die Auffülleitung 167, um das Ende der übertragung durch ein ungeradzahliges Byte anzuzeigen.
Erreicht das Zeichenzählergebnis den Wert 2, aktiviert der
80981 1 /08 1 0
AhS
Kanal die Leitung EOT, doch wird die Auffülleitung 167 nach Fig. 14 nicht benötigt, da beide Bytes in der Schiene gültig sind.
In jedem Fall spricht der Geräteanschluß 41 an, indem er gemäß Fig. 14 in der Leitung 159 das Eingabestoppsignal STI erscheinen läßt; außerdem läßt der Geräteanschluß 41 in der Leitung 169 das Auffüllsignal PADI erscheinen, wenn der Kanal das AuffUliausgabesignal PADO geliefert hat.
In diesem ersten Fall der normalen Beendigung wird die gesamte übertragung und nicht nur diejenige eines Datenbündels durch den Kanal 109 beendet.
Der andere normale Abschluß findet statt, wenn der Geräteanschluß 41 das Datenbündel dadurch beendet, daß er in Abhängigkeit von dem Signal SVO (Ausgabebedienung) das Eingabestoppsignal STI liefert. Dies zeigt gemäß Fig. 19 an, daß der Puffer 189 den Zustand der geringsten Beanspruchung erreicht hat, was dem Punkt 229 in Fig. 23 entspricht.
Das Eingabestoppsignal STI kann sowohl bei einer Ausgabeübertragung als auch bei einer Eingabeübertragung auftreten.
Wenn bei einer Eingabeübertragung der Geräteanschluß 41 sowohl die übertragung als auch das Datenbündel abzuschließen wünscht, kann er das Eingabestoppsignal STI erzeugen, und um beim letzten Wort ein ungeradzahliges Byte zu liefern, kann er außerdem das Auffüllsignal PADI erscheinen lassen«.
Wenn gemäß Fig„ 16 die übertragung durch einen fehlerfreien Zustand (STI oder EOT) bei einer Ausgabe- oder Eingabeübertragung abgeschlossen wird, wie es in Fig. 16 durch die mit OUT bzw. IN bezeichneten Kreise angedeutet ist, aktualisiert der Kanal 109 die IOC-Tabelleneinträge in der beschriebenen Weise,
b 0 9 81 1 /08 1 0
und er kehrt gemäß Fig. 16 in den Leerlaufzustand NOP zurück*
Wie erwähnt; kann die Übertragung auch durch einen Fehlerzustand abgeschlossen werden.
Während der übertragung eines Datenbündels können verschiedene nachstehend behandelte Fehler auftreten.
Erstens kann der Geräteanschluß 41 eine Eingabeübertragung zu einem Puffer anfordern, dessen Schutzbit P in der IOC-Tabelle in der beschriebenen Weise gesetzt worden ist.
Zweitens ist des möglich, daß der Geräteanschluß 41 nicht in Abhängigkeit von einem Auffüll-Ausgäbesignal PADO des Kanals 109 ein Auffüllungs-Eingabesignal PADI zurückleitet.
Drittens kann der Kanal 109 bei der D-Schiene 161 einen Paritätsfehler nachweisen;
Viertens ist es möglich, daß der Geräteanschluß 41 nicht auf ein Bedienungsausgabesignal SVO des Kanals 109 innerhalb der zugewiesenen Zeit anspricht, wie es weiter oben bezüglich der Austauschvorgänge beschrieben ist.
Fünftens kann der durch die IOC-Tabelleneinträge vorgeschriebene Pufferbereich in eine Seite übertreten, die durch ihre Karte als nicht vorhanden bezeichnet wird (siehe die Beschreibung des Abbildungsplans des Speichersystems).
Sechstens kann ein Paritätsfehler nachgewiesen werden, wenn Zugriff zu der Karte genommen wird, während im Verlauf einer Wiederanschlußeingabe- und Datenübertragungsfolge Zugriff zum Speicher genommen wird (siehe die Beschreibung der Paritätsfehlerprüfung beim Speichersystem).
809811/0810
Siebtens kann das Speichersystem einen nicht korrigierbaren Paritätsfehler nachweisen, wenn der Kanal 109 Zugriff zum Speicher nimmt (sMie die Beschreibung der Paritätsfehlerprüfung beim Speichersystem).
Wenn sich ein beliebiger dieser Fehlerzustände einstellt, geht der Kanal 109 gemäß Fig. 16 in den ABTD-Zustand (Abbrechen der Datenübertragung) über. Hierdurch wird der Geräteanschluß 41 davon informiert, daß ein Fehler aufgetreten ist, und daß die Datenübertragung abgebrochen werden muß. Hierauf geht der Kanal 109 wieder in den Leerlaufzustand NOP nach Fig. 16 über.
Sobald ein Fehler auftritt, aktualisiert der Kanal 109 die IOC-Tabelleneinträge, und er verzeichnet eine Fehlernummer, die einen der vorstehend beschriebenen sieben Fehler bezeichnet, im Fehlerfeld des zweiten Wortes des vorstehend beschriebenen IOC-Tabelleneintrags.
Wenn ein einzelner Fehler auftritt, wird somit die Nummer dieses Fehlers im Fehlerfeld des IOC-Tabelleneintrags vermerkt.
Treten mehrere Fehler auf, wählt der Kanal 109 denjenigen Fehler, bei dem eine Erholung am wenigsten zu erwarten ist, und er vermerkt nur die Nummer dieses Fehlers im Fehlerfeld des IOC-Tabelleneintrags.
Ferner kann ein Fehler einer weiteren Art auftreten. Der Geräteanschluß 41 kann versuchen, sich wieder an den Kanal anzuschließen, wenn das Zählwort in der IOC-Tabelle eine Null ist. In diesem Fall macht es der Kanal dem Geräteanschluß unmöglich, sich wieder anzuschließen, und der Kanal durchläuft die vorstehend anhand von Fig. 16 beschriebene Folge, doch wenn der Kanal feststellt, daß das Zählwort in der IOC-Tabelle eine Null ist, geht er unmittelbar in den ABTD-Zustand (Abbruch) über. Hierin berteht ein wichtiges Merkmal der Erfindung, denn es
B0981 1 /0810
schützt den Prozessorspeicher gegen ein Überschreiben durch einen gestörten Geräteanschluß.
Wenn im Byte-Zählergebnis des zweiten Wortes im IOC-Tabellen-Eintrag 142 nach Fig. 12 bei einem bestimmten Geräteanschluß eine Null ist, und wenn der Geräteanschluß versucht, sich wieder mit dem Kanal 109 zu verbinden, führt der Kanal dem Geräteanschluß ein ABTD-Signal (Abbruch) zu, wobei im Kanalfehlerfeld des Zweiworteintrags 142 eine Null verbleibt.
In Abhängigkeit von der T-Schienenfunktion ABTD (Datenabbruch) stellt der Geräteanschluß 41 an den Kanal 109 gemäß Fig. 14 eine Unterbrechungsanforderung über die Leitung HIRQ bzw. 149 oder die Leitung LIRQ bzw. 147.
Die Geräteanschlüsse 41 können über diese beiden Leitungen jederzeit eine Unterbrechung anfordern.
Eine Unterbrechung zeigt gewöhnlich an, daß eine Datenübertragung durch ein Abbruchsignal ABTD des Kanals abgeschlossen oder beendet worden ist, oder daß dies durch einen Fehlerzustand bei dem Geräteanschluß 41 oder der betreffenden Vorrichtung bewirkt worden ist, oder daß sich bei dem Geräteanschluß oder der damit verbundenen Vorrichtung ein besonderer Zustand eingestellt hat. Wenn z.B. Strom zugeführt wird, und die Stromversorgungsschaltung anzeigt, daß die Spannung den erforderlichen Pegel hat, unterbricht der Geräteanschluß den Betrieb des Prozessormoduls, um anzuzeigen, daß sein innerer Zustand dem RUcksetzzustand entspricht, da kein Strom zugeführt wurde, oder da die Stromzufuhr ausgefallen war» so daß der Modul durch die Stromversorgungsschaltung 182 zurückgesetzt wurde.
In Abhängigkeit von einer Unterbrechung gibt das im Prozessormodul 33 ablaufende Programm einen Ein-Ausgabe-Abfragebefehl HO oder einen Ein-Ausgabe-Abfragebefehl mit hoher Priorität (HIIO) über die Ein-Ausgäbe-Schiene 39 aus.
80981 1/08 10
Der Befehl HO wird in Abhängigkeit von einer Ein-Ausgabeunterbrechung von niedriger Priorität ausgegeben, d.h. einem Befehl, der gemäß Fig. 14 in der LIRQ-Leitung 147 erscheint.
Der HIIO-Befehl wird in Abhängigkeit von einer Ein-Ausgabeunterbrechung von hoher Priorität ausgegeben, d.h. einem Befehl, der gemäß Fig. 14 über eine Unterbrechungsanforderungsleitung HIRQ bzw. 149 mit hoher Priorität angefordert wird.
Gemäß Fig. 12 führt der Mikroprozessor 113 die Befehle EIO, HO oder HIIO aus, indem er die Steuerung der Kanalsteuerlogik 141 und der Datenweglogik 123 übernimmt.
Die Folge für diese Befehle ist in Fig. 17 dargestellt; wie erwähnt, beginnt diese Folge mit einer Abruffolge.
Der HO-Befehl führt den Abrufvorgang mittels einer Folge durch, bei der die T-Schienen-Funktion mit dem Unterbrechungsabruf LPOL von niedriger Priorität arbeitet, während der HIIO-Befehl den Abruf mittels einer Folge durchführt, bei der die T-Schienen-Funktion mit dem Unterbrechungsabruf HPOL von hoher Priorität arbeitet.
Gemäß Fig. 17 endet die ebenfalls weiter oben beschriebene Abruffolge damit, daß der betreffende Geräteanschluß 41 mit Hilfe der T-Schienen-Funktion SEL (Wählen) gewählt wird.
Es wird jeweils derjenige Geräteanschluß 41 gewählt, dem die höchste Priorität zukommt, und der eine Unterbrechungsanforderung stellt.
Die Folge setzt sich gemäß Fig. 17 mit dem Zustand RIC (Ursache der Leseunterbrechung) fort. Der GeA teanschluß 41 reagiert, indem er den vorrichtungsabhängigen Zustand gemäß Fig. 14 über die D-Schiene 161 zurückmeldet.
80981 1/0810
Gemäß Fig. 12 liest der Mikroprozessor 113 den Zustand der D-Schiene 161 ab und gibt ihn dem oberen Ende des Registerstapels 112 ein.
Dann wird die Folge gemäß Fig. 17 mit der T-Schienen-Funktion RIST (Lesen des Unterbrechungszustandes) fortgesetzt. Hierauf spricht der Geräteanschluß 41 dadurch an, daß er die Nummer des Geräteanschlusses, die Einheitsnummer und vier reservierte Zustandsbits über die D-Schiene zurückmeldet.
Bei dem Zustandefeld mit vier Bits bezeichnen je zwei Bits jeweils den Abbruch ABTD bzw. den Paritätsfehler, welch letzterer während einer Wiederanschluß- und Datenübertragungsfolge aufgetreten sein kann.
Der Mikroprozessor 113 nach Fig. 12 kopiert den Inhalt der D-Schiene, d.h. die Nummer des Geräteanschlusses, die Nummer der Vorrichtung und den Unterbrechungszustand und überführt diesen Inhalt in den oberen Teil des Registerstapels 112.
Wenn während der Folge kein Fehler aufgetreten ist, wird die Folge mit dem Abschaltzustand DSEL fortgesetzt, bei dem der Geräteanschluß 41 abgeschaltet wird, und dann geht die Folge in den Leerlaufzustand NOP über, wie es in Fig. 17 längs des oberen Randes durch e~u3 Vollinie angedeutet ist.
Wenn tatsächlich ein Fehler aufgetreten ist, bei dem es sich um einen durch den Kanal festgestellten Paritätsfehler oder um die Beendigung eines Austausches handeln kann, geht der Kanal gemäß Fig. 17 aus dem Zustand RIST in den Zustand ABTI (Abbruchbefehl) über. Hierdurch wird der Geräteanschluß 41 abgeschaltet, und dann kehrt der Kanal 109 in den Leerlaufzustand NOP zurück, wie es in Fig. 17 durch die Vollinie am unteren Rand angedeutet ist.
80981 1/0810
-Js-
Wie erwähnt, besteht ein Ein-AusgäbeVorgang zwischen einem Prozessormodul und einer Ein-Ausgäbevorrichtung in einem typischen Fall aus einer Gruppe von Folgen, z.B. einer EIO-Folge, auf die eine gewisse Anzahl von Wiederanschluß- und Datenübertragungsfolgen folgen, wobei eine IIO-Folge den Abschluß bildet. Hierbei können Folgen, die sich aus verschiedenen Ein-Aus gäbe vorgänge η ergeben, zeitlich miteinander verzahnt werden, so daß sich bei mehreren Vorrichtungen die Ein-Ausgäbevorgänge scheinbar gleichzeitig abspieleno Somit ist ein gleichzeitiger Zugriff zu einer großen Anzahl von Vorrichtungen möglich, wobei sich die genaue Anzahl nach der Bandbreite des Kanals und der tatsächlichen Bandbreite richtet, mit der jede Vorrichtung arbeitet.
Das vorstehend beschriebene Ein-Ausgäbesystem mit jeweils zwei Zugänge aufweisenden Geräteanschlüssen bietet in Verbindung mit der beschriebenen Betriebsweise mehrere wichtige Vorteile.
Hierzu gehören a) eine hohe Flexibilität, die ein Zusammenarbeiten mit zahlreichen verschiedenen Vorrichtungen ermöglicht,b) eine maximale Ausnutzung der Systemteile, c) ein Systemaufbau, der bei einem Multiprozessorsystem den Zugriff zu Peripheriegeräten auf eine solche Weise ermöglicht, daß sich im Fall einer Störung allenfalls eine Verlangsamung des Betriebs ergibt, d) die Möglichkeit, das Multiprozessorsystem während des Betriebs instandzusetzen und zu erweitern, sowie e) ein maximaler Durchsatz des Systems (im Gegensatz zu einer Betonung lediglich des Prozes« sordurchsatzes oder des Durchsatzes des Ein-Ausgäbesystems) bei einem direkt betreibbaren Transaktionssystem, bei dem eine große Anzahl von gleichzeitig ablaufenden Vorgingen durch das Ein-Ausgabesystem und die Zentraleinheit verarbeitet werden muß.
Die Möglichkeit des flexiblen Zusammenarbeitens mit den verschiedensten Vorrichtungen wird dadurch erreicht, daß bei dem erfindungsgemäßen System nicht von der Annahme auegegangen wird,
BO 98 1 1/0810
daß Vorrichtungen einer bestimmten Art bestimmte Merkmale aufweisen. Vielmehr bietet die Erfindung einen Systemaufbau und eine Arbeitsweise, die den Einsatz der verschiedensten Vorrichtungen ermöglichen.
Die Erfindung gestattet eine maximale Ausnutzung der Systemteile, und zwar in erster Linie dadurch, daß die Speicherbandbreite maximal ausgenutzt wird» Bei jeder Vorrichtung wird mit einer möglichst kleinen Speicherbandbreite gearbeitet« Dies ermöglicht es, einer bestimmten Ein-Ausgäbe-Schiene eine relativ große Anzahl von Vorrichtungen zuzuordnen. Wegen der .konstruktiv gegebenen Arbeitsgeschwindigkeit der Ein-Ausgäbeschiene und ,der erfindungsgemäßen Puffertechnik wird jede einzelne Übertragung mit einer relativ hohen Geschwindigkeit durchgeführt» die nur durch die Speichergeschwindigkeit begrenzt wird« Da die Übertragung bündelweise erfolgt, ergeben sich für jede übertragung nur minimale Gemeinkosten. Hierdurch wird die Ausnutzung der Kanalbandbreite auf ein Maximum gebracht, und außerdem wird die Benutzung schnell arbeitender Vorrichtungen ermöglicht.
Die Erfindung ermöglicht einen störungsfreien Zugriff zu den Peripheriegeräten. Zu jedem Periphere^, ge rät führen redundante Datenwege, und das Auftreten von Störungen wird jeweils auf einen bestimmten Datenweg begrenzt. Das Versagen eines bestimmten Moduls innerhalb eines Datenwegs führt nicht zu einer Beeinträchtigung des Betriebs eines Moduls, der zu einen anderen zu der Vorrichtung führenden Weg gehört.
Es stehen umfassende Fehlerprufungeη zur Verfügung, um die Vollständigkeit der Daten innerhalb eines Weges, Folgefehler und Zeitsteuerfehler zu prüfen.
Schutzmerkmale verhindern, daß ein Peripheriegerät seinen eigenen Puffer oder den Speicher des Systems kontaminiert. Zu
80981 1 /0810
diesen Schutzmerkmalen gehören ein gesondertes Zählwort in jeder IOC-Tabelle und ein Schutzbit in dieser Tabelle. Die Tabelle ist für den Kanal, jedoch nicht für den Geräteanschluß zugänglich,, Hierbei handelt es sich um eine zweite Schutzstufe, die den Geräteanschluß daran hindert, sich Zugang zu irgendeinem ihm nicht zugeteilten Speicher zu verschaffen.
Gemäß der Erfindung benötigt man bei der Ein-Ausgabe- Schiene nur eine kleine Anzahl von Leitungen, um einen flexiblen und leistungsfähigen Betrieb des Ein-Ausgabe-Systems zu ermöglichen.
Der Betrieb des Geräteanschlusses wird scharf abgegrenzt, wenn die Stromquelle an- oder abgeschaltet wird, um die Ein-Ausgäbe-Schiene während dieser Zeit gegen fehlerhafte Signale zu schützen, und um während des Betriebs sowohl Wartungsarbeiten als auch eine Erweiterung des Systems zu ermöglichen.
Gemäß der Erfindung wird von der Beanspruchung Gebrauch gemacht, um es den Puffern zu ermöglichen, zusammenzuarbeiten, ohne miteinander zu verkehren«
Die Überlappung von übertragungs- und Verarbeitungsvorgängen ermöglicht die Schaffung eines direkt betreibbaren Transaktionssystems .
Der direkte Speicherzugriff über mehrere Kanäle ermöglicht eine zeitlich verzahnte Übertragung von Datenbündeln bei sich überlappenden Übertragungsvorgängen und minimalen Wartezeiten bezüglich des Zugriffs zu einer Vorrichtung. Für jedee Datenbündel ist nur eine minimale Speicherkapazität erforderlich, und der Prozessor kann den Speicher maximal ausnutzen» Diese Kombination ermöglicht eine maximale Ausnutzung der Ein-Ausgabe-Bandbreite bei minimaler Belegung des Prozessors.
B098 11/0810
Stromversorgungs- bzw. »verteilungssystem
Zu dem Multiprozessorsystem nach der Erfindung gehört ein Stromverteilungssystem, bei dem mehrere Probleme vermieden sind, die bei den bis Jetzt bekannten Systemen auftreten.
Bei vielen bekannten Stromverteilungssystemen ist es erforderlich, das Prozessorsystem außer Betrieb zu setzen, wenn an einem Teil des Systems Vartungsarbeiten ausgeführt werden müssen. Ferner 1st es bei vielen bekannten Systemen möglich, daß eine Störung bezüglich der Stromversorgung zur Außerbetriebsetzung des gesamten Prozessorsystems führt.
Zu dem erfindungsgemäßen Stromverteilungssystem gehören mehrere getrennte unabhängige Spannungsquellen, und das System verteilt die Spannung der Spannungsquellen derart auf die Prozessormodule und die Geräteanschlüsse, daß eine Wartung während des Betriebs möglich ist, und daß die Spannung jedem Geräteanschluß auf redundante Weise zugeführt wird.
Im folgenden wird der Ausdruck "Direktbetrieb" benutzt, um auszusagen, daß dann, wenn sich ein Teil des Systems im Direkt· betrieb befindet, dieser Teil nicht nur mit Strom versorgt und eingeschaltet ist, sondern daß er auch nutzbare Arbeit leistet.
Somit bedeutet der Ausdruck "Wartung während des Betriebs", daß Wartungsarbeiten an einem Teil des Systems durchgeführt werden, und zwar unter Einschluß periodischer präsentiver Wartungs- oder Instandsetzungsarbeiten, während sich die übrigen Teile des Systems im Direktbetrieb nach der vorstehenden Definition befinden.
Gemäß der Erfindung kann jeder Prozessormodul oder jeder Geräteanschluß abgeschaltet werden, so daß während des Betriebs des Systems eine Wartung beim abgeschalteten Zustand des Pro-
80981 1 /08 1 0
zessormoduls oder eines Geräteanschlusses möglich ist, während der Direktbetrieb des Multiprozessorsystems im übrigen weiterläuft. Diese Wartung während des Direktbetriebs kann unter vollständiger Erfüllung der Sicherheitsvorschriften der Versicherungsgesellschaften durchgeführt werden.
Ferner ist bei dem Spannungsverteilungssystem nach der Erfindung jeder Geräteanschluß so angeschlossen, daß ihm die Betriebsspannung von zwei getrennten Spannungsquellen aus über eine Diodenschalteinrichtung zugeführt wird, die es ermöglicht, den Geräteanschluß von zwei Spannungsquellen aus zu versorgen, wenn sich beide Spannungsquellen in Betrieb befinden, und ihn vor. der einen oder anderen Spannungs quelle aus zu versorgen, wenn eine der Spannungsquellen ausfällt; im Fall des Versagens einer der Spannungsquellen erfolgt die Umschaltung zügig und ohne jede Unterbrechung oder Pulsation der Spannung, so daß beim Versagen einer der beiden Spannungsquellen bei einem Geräteanschluß niemals eine Unterbrechung erforderlich ist.
Ein Spannungsversorgungssystem mit einer primären Spannungsquelle und einer alternativ einzusetzenden Spannungsquelle für Jeden einzelnen Geräteanschluß 41 mit je zwei Zugängen ist in Figo 30 dargestellt und insgesamt mit 301 bezeichnet.
Das Spannungsverteilungssystem 301 gewährleistet, daß für jeden Geräteanschluß 41 mit zwei Zugängen sowohl eine primäre Spannungsquelle als auch eine Ersatzspannungsquelle zur Verfügung steht. Da für jeden Geräteanschluß zwei getrennte unabhängige Spannungsquellen vorhanden sind, bewirkt der Auefall der primären Spannungsquelle für einen bestimmten Gerateanschluß nicht, daß dieser Geräteanschluß zusammen mit den damit verbundenen Vorrichtungen betriebsunfähig wird. Vielmehr bewirkt gemäß der Erfindung eine Schalteinrichtung eine automatische Umschaltung auf die Ersatzspannungsquelle, so daß der Betrieb des Geräteanschlusses fortgesetzt werden kann· Somit
80981 1 /0810
arbeitet das Spannungsverteilungssystem mit dem DoppelZugangssystem des Geräteanschlusses zusammen, um einen ununterbrochenen Betrieb und einen Zugriff zu den Vorrichtungen für den Fall zu gewährleisten, daß entweder ein einzelner Zugang oder eine einzelne Spannungsquelle ausfällt.
Das Spannungsverteilungssystem 301 nach Figo 30 bietet den weiteren Vorteil, daß für Jeden Prozessormodul 33 und die zugehörige Zentraleinheit 105 sowie den Speicher 107 eine gesonderte unabhängige Spannungsquelle verfügbar ist. Bei dieser Anordnung beschränkt sich die Wirkung eines Versagens irgendeiner Spannungsquelle oder der manuellen Abschaltung einer Spannungsquelle zu Instandsetzungs- oder Wartungszwecken 'in Verbindung mit der Spannungsquelle oder dem zugehörigen Prozessormodul daher auf nur den betreffenden Prozessormodul, so daß der Betrieb irgendeines der übrigen Prozessormodule des Multiprozessorsystems nicht beeinträchtigt wird.
Das Spannungsverteilungssystem 301 nach Fig. 30 arbeitet somit mit den einzelnen Prozessormodulen und den Geräteanschlüssen mit je zwei Zugängen zusammen, um zu gewährleisten, daß das Versagen oder Abschalten irgendeiner Spannungsquelle nicht zur Außerbetriebsetzung des gesamten Systems führt, oder daß irgendwelche Vorrichtungen wirkungslos werden»
Zu dem Spannungsverteilungssystem 301 gehören mehrere getrennte unabhängige Spannungsquellen 303, und jede Spannungsquelle weist gemäß Fig. 33 eine sich aus mehreren Leitungen zusammensetzende Schiene 305 auf, die zur Versorgung der Zentraleinheit und des Speichers eines bestimmten Prozessormoduls dient.
Jeder Geräteanschluß 41 ist zwei der Spannungsquellen 303 über eine primäre Leitung 307 und eine Ersatzleitung 309 sowie einen automatischen Schalter 311 zugeordnet.
809811/0810
Ferner gehört zu jedem Geräteanschluß Al ein manuell betätigbarer Schalter 313 zwischen dem Geräteanschluß und den Leitungen 307 und 309.
Die Schalter 311 und 313 sind in Fig. 31 mit weiteren Einzelheiten dargestellt.
Fig. 32 zeigt weitere Einzelheiten des Aufbaus einer Spannungsquelle 303«.
Gemäß Fig. 32 weist jede Spannungsquelle 303 einen Eingangsanschluß 315 zum Zuführen von Netzstrom auf. Der Anschluß 315 ist mit einem Gleichrichter 317 verbunden, und in der Ausgangsleitung 319 des Gleichrichters erscheint eine unterbrechbare Spannung IPS von 5 V, mit der die Zentraleinheit 105, der Speicher 107 und der Geräteanschluß 41 gemäß Fig. 33 gespeist wird.
Der Gleichrichter 317 liefert ferner an einer zweiten Ausgangsleitung 321 eine Gleichspannung von 60 V, die gemäß Fig. 32 einem Gleichspannungswandler 323 zugeführt wird.
Der Gleichspannungswandler 323 läßt in einer Leitung 325 eine Spannung von 5 V und in einer Leitung 327 eine Spannung von 12 V erscheinen.
Bei den in den Leitungen 325 und 327 erscheinenden Ausgangsspannungen handelt es sich bei dem erfindungsgemäßen System um nicht unterbrechbare Ausgangsspannungen, d.h. diese Leitungen sind mit der Zentraleinheit und dem Speicher verbunden, wobei Halbleiterspeicher verwendet werden. Bei einem Halbleiterspeicher darf die Spannungszufuhr nicht unterbrochen werden, denn beim Verlust der Spannung gehen sämtliche in dem Halbleiterspeicher gespeicherten Daten verloren.
Ö0981 1 /08 1 0
Die Spannungszufuhr liber die Leitung 319 mit 5 V wird als unterbrechbare Spannungsquelle betrachtet, denn diese Spannung wird Teilen des Multiprozessorsystems zugeführt, bei denen eine Unterbrechung der Spannungszufuhr zulässig ist. Die unterbrechbare Spannung von 5 V wird Teilen der Zentraleinheit zugeführt, bei denen es sich nicht um Halbleiterspeicher handelt, und nur solchen Teilen des Speichers, die als Kernspeicher ausgebildet sind, so daß ein Spannungsverlust nicht zu einem Verlust an gespeicherten Daten führt, und der im folgenden näher beschriebene Geräteanschluß wird im Fall des Versagens der primären Spannungsquelle durch eine Ersatzspannungsquelle versorgt·
Da die Spannungszufuhr über die Leitungen 325 und 327 nicht unterbrochen werden darf, ist gemäß der Erfindung eine Hilfsbatterie auf der Eingangsseite des GIeichspannungswandlers 323 vorhandene Hierzu gehört ein Batterie- und Lademodul 329» der über eine Leitung 331 und eine Diode 333 an den Gleichspannungswandler 323 angeschlossen ist.
Bei einer bestimmten Ausführungsform der Erfindung führt die Batterie dem Spannungswandler 323 eine Spannung von 48 V zu, die im Eingangsbereich dieses Wandlers liegt.
Die Diode 333 gewähr.exstet, daß die Batteriespannung dem Wandler 323 zugeführt wird, wenn die Spannung in der Leitung 321 unter 48 V zurückgeht. Ferner unterbricht die Diode 333 den Stromfluß von der Batterie über die Leitung 331» wenn die Ausgangsspannung des Gleichrichters 317 in der Leitung 321 48 V überschreitet.
Ferner gehört zu jeder Spannungsquelle 303 eine Warnschaltung 335» mittels welcher bei dem Wechselstromnetzanschluß 315 ein Zustand nachgewiesen wird, der dazu führen würde, daß den Ausgangsleitungen 319, 325 und 327 keine ausreichende Spannung zugeführt wird. Die Warnschaltung 335 führt über eine Leitung
809811/0810
- 2740055
337 der betreffenden Zentraleinheit 105 ein Warnsignal zu, das eine unzureichende Spannung anzeigt.
Wegen der Kapazitätsspeicherung in der Spannungsquelle 303 steht zwischen dem Warnsignal und dem Verlust der unterbrechbaren Spannung von 5 V in der Leitung 319 genügend Zeit zur Verfügung, so daß die Zentraleinheit ihren Zustand sichern kann, bevor die Spannung ausbleibt.
Jedoch darf die nicht unterbrechbare Spannung in den Leitungen 325 und 327 auch nicht für einen Augenblick unterbrochen werden; die Hilfsbatterie nach Fig. 32 gewährleistet, daß die Spannungszufuhr über die Leitungen 325 und 327 nicht unterbrochen wird, wenn die Versorgung über die Eingangsleitung 315 ausfällt.
Es ist möglich, daß eine bestimmte Spannungsquelle 303 aus irgendeinem Grund ausfällt, während die übrigen Spannungsquellen betriebsfähig bleiben. In einem solchen Fall begrenzt das erfindungsgemäße Spannungsverteilungssystem 301 die Wirkung des Versagens einer Spannungsquelle 303 auf den Verlust einer bestimmten zugehörigen Zentraleinheit und des betreffenden Speichers, und der automatische Schalter 311 bewirkt eine automatische Umschaltung von der ausgefallenen Spannungsquelle auf die Ersatzspannungsquelle, um den zugehörigen Geräteanschluß 41 in Betrieb zu halten. Der vorher mit der ausgefallenen Spannungsquelle verbundene Geräteanschluß 41 kann somit weiterhin mit den übrigen Prozessormodulen und den Teilen des Multiprozessorsystems zusammenarbeiten, da er automatisch durch die Ersatzspannungsquelle versorgt wird.
Gemäß Fig. 31 gehören zu jedem automatLsehen Schalter 311 zwei Dioden, und zwar eine der Primärleitung 307 zugeordnete Diode 341 und eine der Ersatzleitung 309 zugeordnete Diode 343.
y 0 9811 /0810
Die Dioden 341 und 343 haben die Aufgabe, die Versorgung eines Geräteanschlusses 41 mit Spannung entweder über die Primärleitung 307 von der betreffenden Spannungsquelle aus oder über die Ersatzleitung 309 von der zugehörigen Spannungsquelle aus zu ermöglichen und die Spannungsquellen gleichzeitig gegeneinander zu isolieren. Hierdurch wird verhindert, daß eine ausgefallene Spannungsquelle zum Ausfallen der betreffenden anderen Spannungsquelle führt.
Beim normalen Betrieb läßt jede Diode eine bestimmte Strommenge durch, so daß jeder Geräteanschluß 41 praktisch jeweils sowohl durch die primäre Spannungsquelle als auch die Ersatzstromquelle gespeist wirde
Wenn eine der Spannungsquellen versagt, wird die vollständige Versorgung durch die andere Spannungsquelle übernommen, und dieser Übergang erfo-lgt ohne jede Spannungsunterbrechung·
Da an den Dioden 341 und 343 ein geringer Spannungsabfall stattfindet, muß die Spannung in den Leitungen 307 und 309 entsprechend höher sein als 5 V, damit dieser Spannungsabfall ausgeglichen und dem Geräteanschluß 41 eine Spannung von genau 5 V zugeführt wird. Die Leitungen 305 nach Fig. 30 verlaufen parallel zu den Leitungen 307 und 309, und die Spannung, die tatsächlich dem Speicher der Zentraleinheit zugeführt wird, muß ebenfalls 5 V betragen; daher sind in die Leitungen 305 Ausg]e ichsdioden 339 eingeschaltet, um zu gewährleisten, daß die Spannung jenseits dieser Dioden, die jeder ZentraMnheit zugeführt wird, genau 5 V beträgt.
Der Handschalter 313 ermöglicht es, einen Geräteanschluß 41 von beiden zugehörigen Spannungsquellen abzuschalten, wenn dies zu Wartungszwecken erforderlich ist«
Die Einzelheiten des Schalters 313 sind aus Fige 31 ersichtlich,
809811/0810
2740 AlA
Gemäß Fig. 31 gehören zu dem Schalter 313 ein Handschalter 345» ein Transistor 347, ein Kondensator 348 und Widerstände 350 und 352.
Der Handschalter 345 wird geschlossen, um den Transistor 347 einzuschalten, der dann die Spannung dem Geräteanschluß 41 zuführt.
Es ist wichtig, daß sowohl das Einschalten als auch das Abschalten der Spannungsquellen gegenüber dem Geräteanschluß 41 zügig erfolgt, ohne daß Schwankungen auftreten, durch die die SpannungsVerteilungsschaltung 182 mehr als einmal getriggert werden könnte. Der Rückkopplungskondensator 348 kommt in Verbindung mit dem Widerstand 352 zur Wirkung, um die erforderliche zügige rampenförmige Steigerung der Spannung herbeizuführen, wenn der Schalter 345 geschlossen wird, um den Transistor 347 einzuschalten.
Wird der Transistor 347 durch öffnen des Schalters 345 ausgeschaltet, kommt der Rückkopplung kondensator 348 in Verbindung mit dem Widerstand 350 zur Wirkung, damit die Spannung gleichmäßig zurückgeht.
Bei einer bevorzugten Ausführungsform der Erfindung handelt es sich bei sämtlichen Dioden 341, 343 und 339 um Schottky-Dioden, bei denen in der Vorwärtsrichtung ein sehr geringer Spannungsabfall stattfindet, wodurch die Energieverluste verringert werden,,
Wie weiter oben bei der Beschreibung des Ein-Ausgäbe-Systems und der Geräteanschlüsse 41 mit je zwei Zugängen erwähnt, gehört zu Jedem Geräteanschluß 41 eine Spannungsüberwachungsschaltung 182, die anspricht, wenn nicht die erforderliche Spannung von 5 V zugeführt wird. Die in Fig« 25 mit weiteren Einzelheiten dargestellte Spannungsüberwachungsschaltung 182
B0981 1/08 10
setzt den Geräteanschluß 41 zurück, um ihn von jedem äußeren Einfluß freizuhalten und ihn in einem bekannten Zustand zu halten, wenn die Spannungszufuhr durch den Schalter 313 unterbrochen wird. Ferner gibt die Spannungsüberwachungsschaltung 182 den Geräteanschluß frei und setzt ihn wieder in Betrieb, nachdem die Spannungszufuhr über den Schalter 313 wieder aufgenommen worden ist, so daß der Geräteanschluß mit der vorgeschriebenen Spannung von 5 V versorgt wird.
Weitere Einzelheiten der Spannungsüberwachungsschaltung 182 nach Fig. 25 sind bereits weiter oben in Verbindung mit dem Ein-Ausgäbe-System und den Geräteanschlüssen mit je zwei Zugängen beschrieben worden.
Gemäß Fig. 33 wird die Spannung von jeder Spannungsquelle 303 aus einer zugehörigen Zentraleinheit 105 über eine senkrechte Schiene 305 zugeführt, und zu jeder senkrechten Schiene gehört eine geschichtete Anordnung mit fünf Schichten von elektrischen Leitern.
Gemäß Fig. 33 gehören zu jeder senkrechten Schiene 305 zwei verschiedene geerdete Leiter.
Einer dieser Leiter bildet die Erdungsleitung sowohl für die unterbrechbare Spanr'">g IPS von 5 V als auch für die nicht unterbrechbare Spannung UPS von 5 V«,
Ein gesonderter weiterer Leiter bildet die Erdungsleitung für die Speicherspannung· Diese Leitung gewährleistet, daß die relativ starken Schwankungen des dem Speicher zugeführten Stroms keinen Einfluß auf die Spannungen IPS und UPS von 5 V ausüben, die der Zentraleinheit 105 zugeführt werden.
Zu der waagerechten Schiene 305, 307 gehören gemäß Fig. 30 die Primärleitung 307 und die Ersatzleitung 309a Bei einer
80981 1 /0810
- 2 *7 Λ Ο Ο 5 6
bestimmten Ausführungsform der Erfindung handelt es sich bei der Schiene 305, 307 tatsächlich um eine aus neun Schichten aufgebaute Schiene, zu der eine einzige Erdungsleitung und acht Spannungsschichten V1 - V8 nach Fig. 33 gehören.
Jede Spannungsschicht der Schiene ist mit dem Ausgang einer anderen Spannungsquelle 303 für die unterbrechbare Spannung von 5 V verbunden. Somit ist gemäß Fig. 33 die Schicht V1 bei 351 mit der Spannungsquelle 303 und dem zugehörigen Prozessormodul am linken Ende von Fig. 33 verbunden; die Schicht V2 ist bei 353 an die Spannungsquelle 303 des Prozessormoduls im mittleren Teil von Fig. 33 angeschlossen usw.
Da somit die acht Schichten V1 - V8 und eine gemeinsame Erdungsleitung GRD für jeden Geräteanschluß in der waagerechten Schiene zur Verfügung stehen, ermöglichen es nach oben ragende senkrechte Anzapfungen 355, die bei diesen acht Schichten in Abständen längs der waagerechten Schiene verteilt sind, jeden Geräteanschluß 41 zwei beliebigen Spannungsquellen 303 zuzuordnen, wozu es lediglich erforderlich ist, die Primärleitung 307 und die Ersatzleitung 309 mit einem bestimmten Satz von Anzapfungen zu verbinden. Beispielsweise ist der Geräteanschluß 41 im linken Teil von Fig. 33 mit den Anzapfungen V1 und V2 verbunden, während der Geräteanschluß im rechten Teil von Fig. 33 mit den Anzapfungen V2 und V3 verbunden ist.
Somit kann jeder Geräteanschluß 41 mit zwei beliebigen Spannungsquellen 303 verbunden werden, von denen die eine die primäre Spannungsquelle und die andere die Ersatzspannungsquelle bildet.
Somit bietet das erfindungsgemäße Spannungsverteilungssystem mehrere wichtige Vorteile.
Das Spannungsverteilungssystem ermöglicht die Durchführung von
80981 1/0810
Wartungsarbeiten während des Direktbetriebs, da ein Prozessormodul oder ein Geräteanschluß abgeschaltet werden kann, während alle übrigen Teile des Multiprozessorsystems betriebsfähig bleiben.
Das Spannungsverteilungssystem entspricht in jeder Hinsicht den Sicherheitsforderungen der Versicherungsgesellschaften für die Durchführung von Wartungsarbeiten an einem abgeschalteten Systemteil, während sich der verbleibende Teil des Multiprozessorsystems im Betrieb befindet.
Jeder Geräteanschluß ist zwei getrennten Spannungsquellen zugeordnet, so daß das Versagen einer Spannungsquelle nicht zu einer Unterbrechung des Betriebs des Geräteanschlusses führt. Vielmehr ermöglicht die elektronische Schaltanordnung nach der Erfindung einen zügigen übergang von der Versorung durch die beiden Spannungsquellen auf die Versorgung durch nur eine Spannungsquelle, so daß der Geräteanschluß ohne Unterbrechung in Betrieb gehalten wird.
Das Speichersystem
Gemäß Fig. 1 enthält jeder Prozessormodul 33 des Multiprozessorsystems 31 einen Speicher 107» der in Fig«. 34 mit weiteren Einzelheiten dargestellt ist.
Der Speicher 107 jedes Prozessormoduls 33 ist sowohl der Zentraleinheit 105 als auch dem Ein-Ausgäbe-Kanal 109 des Moduls zugeordnet. Der Speicher ist für die Zentraleinheit und den Kanal über zwei Zugänge zugängliche Mit anderen Worten, gemäß Fig. 1 und 34 kann die Zentraleinheit 105 Zugriff zu dem Speicher nehmen, um Programmangaben oder Daten zu erhalten, und der Ein-Ausgäbe-Kanal 109 kann ebenfalls mit dem Speicher direkt zusammenarbeiten, und zwar unter Umgehung der Zentraleinheit, um Datenübertragungen zu und von einem Geräteanschluß
80981 1/0810
41 durchzuführen. Dieser doppelte Zugriff zu dem Speicher nach Fig. 34 wird im folgenden näher erläutert.
Ein Vorteil dieses doppelten Zugriffs zum Speicher besteht darin, daß die Zugriffe durch die Zentraleinheit und den Kanal zeitlich miteinander verzahnt werden können. Somit braucht weder die Zentraleinheit noch der Kanal zu warten, um Zugriff zum Speicher zu erhalten, abgesehen von Fällen, in denen sowohl die Zentraleinheit als auch der Kanal genau im gleichen Zeitpunkt versuchen, sich Zugang zum Speicher zu verschaffen. Daher können die Zentraleinheit und der Kanal ihre getrennten Funktionen gleichzeitig ausüben, wobei die Zentraleinheit oder der Kanal nur gelegentlich warten muß, wenn einer dieser Systemteile einen Zugriff zum Speicher genau in dem Zeitpunkt ausführt, in dem der andere Teil einen Zugriff versucht.
Der Zugriff über zwei Zugänge gestattet außerdem Hintergrunds-Ein-Ausgabe-Arbeiten. Die Zentraleinheit 105 braucht mit dem Kanal 109 nur bei der Einleitung und Beendigung von Ein-Ausgabe-Datenübertragungen zusammenzuarbeiten. Während der eigentlichen Ein-Ausgabe-Datenübertragung kann die Zentraleinheit andere Aufgaben erfüllen.
Zu dem Speicher 107 nach Fig. 34 gehört ein physikalischer Speicher für bis zu 262 144 Wörter zu je sechzehn Datenbits.
Zusätzlich zu den sechzehn Datenbits enthält jedes Wort im Speicher ein Paritätsbit, wenn es sich um einen Kernspeicher handelt, oder sechs Fehlerkorrekturbits, wenn der Speicher als Halbleiterspeicher ausgebildet ist„
Das ParitÄtsbit ermöglicht es, einzelne Bitfehler nachzuweisen.
Die sechs Fehlerkorrekturbits ermöglichen den Nachweis und
Ö0981 1/08 10
' 2V/.0056
die Korrektur von Einzelbitfehlern sowie den Nachweis sämtlicher Doppelbitfehler.
Der physikalische Speicher ist begrifflich in aneinander angrenzende Blöcke zu je 1024 Wörtern unterteilt, die im folgenden als Seiten bezeichnet werden. Die Seiten im physikalischen Speicher sind mit Null beginnend fortlaufend numeriert, wobei mit dem physikalischen Speicherplatz Null begonnen wird. Bei einer Ausführungsform der Erfindung erfordert der Adressenbereich des physikalischen Speichers, der sich von Null bis 262 143 erstreckt, 18 physikalische Adresseninformationsbits·
Wie aus der folgenden Beschreibung ersichtlich, ist jedoch das erfindungsgemäße Multiprozessorsystem grundsätzlich so aufgebaut, daß mit 20 physikalischen Adresseninformationsbits gearbeitet werden kann.
Bei einer Ausführungsform der Erfindung ist der physikalische Speicher physikalisch in physikalische Module zu je 32 768 Wörtern unterteilt. Somit stehen bei acht solchen Modulen die genannten 262 143 Wörter zur Verfügung.
Sämtliche Speicherzugriffe werden zu einer von vier logischen Adressen durchgeführt, und zwar zu Benutzerdaten, Systemdaten, Benutzercodes und Sys',.mcodes. Alle Befehle der Zentraleinheit arbeiten ausschließlich mit diesen logischen Adressen im Unterschied zu physikalischen Adressen. Daher braucht sich ein Programmierer nicht mit einer tatsächlichen physikalischen Adresse zu befassen, sondern er kann ein Programm schreiben, das ausschließlich auf logischen Adressen beruht, und die logischen Adressen werden durch den Kartenteil des Speichersystems in physikalische Adressen übersetzt.
Der Adressierbereich umfaßt bei jeder gegebenen logischen Adressenzone den Bereich einer logischen Adresse von 16 Bits, d.h. den Bereich von 0 bis 65 535» Somit umfaßt jeder logische
80981 1/0810
4»V
Adressenbereich 64 logische Seiten zu je 1024 Wörtern.
Bei dem erfindungsgemäßen Speichersystem braucht keine bestimmte Entsprechung zwischen einer logischen Seite und einer physikalischen Seite zu bestehen. Somit brauchen die verschiedenen logischen Seiten, die ein Betriebssystemprogramm oder ein Anwenderprogramm bilden, nicht in aneinander angrenzenden physikalischen Seiten vorhanden zu sein. Außerdem ist es nicht erforderlich, daß sich die logischen Seiten im physikalischen Hauptspeicher befinden; vielmehr können sie in einem sekundären Speicher, z.B. einer Platte, enthalten sein.
Auf diese Weise ist es möglich, eine virtuelle Speicherung zu verwirklichen, die zwei Vorteile bietet.
Erstens ermöglicht die virtuelle Speicherung die Benutzung eines physikalischen Hauptspeicherraums, der kleiner ist als es die logischen Adressenbereiche erfordern wurden, denn der physikalische Speicher kann durch einen sekundären physikalischen Speicher ergänzt werden.
Zweitens ermöglicht es die virtuelle Speicherung, Adressenräume mehrerer Benutzer (Mehrprogrammbetrieb) gemeinsam dem physikalischen Speicher zuzuordnen, und die einzelnen Benutzer brauchen sich nicht mit der Zuteilung physikalischer Speicherteile zwischen dem Betriebssystem, sich selbst oder anderen Benutzern zu befassen.
Das erfindungsgemäße Speichersystem bietet den Benutzern beim Mehrprogrammbetrieb einen gegenseitigen Schutz dadurch, daß es sicherstellt, daß ein Benutzerprogramm den Speieherraum eines anderen Benutzerprogramms nicht lesen oder ihm Daten eingeben kann. Dies wird durch das verwendete Seiten- und Kartensystem erreicht. Wenn ein Benutzerprogranun abläuft, gibt die Karte für dieses Programm nur Hinweise auf die Speicherseiten
Ö0981 1 /0810
des betreffenden Benutzerprogramms, zu denen bis zu 64 Codeseiten und 64 Datenseiten gehören. Das betreffende Benutzerprogramm kann keine Adressierung außerhalb seines eigenen logischen Adressenraums durchführen, und daher ist es ihm unmöglich, den Speicherraum eines anderen Benutzerprogramms zu Lese- oder Schreibzwecken zu benutzen.
Außerdem verhindert die Tatsache, daß die Codeseiten unveränderbar sind, daß sich ein Benutzerprogramm selbst zerstört.
Somit sind beim Mehrprogrammbetrieb zwei Schutzstufen vorhanden, nämlich die Tatsache, daß jede Benutzerkarte nur Hinweise auf die im Speicher enthaltenen eigenen Selten gibt, sowie die Tatsache, daß sich die Codeseiten nicht verändern lassen. Ferner wird gemäß der Erfindung dieser Schutz erreicht, ohne daß es erforderlich ist, Schutzbegrenzungsregister oder Sicherungstasten bekannter Art zu verwenden.
Die erforderliche Umsetzungeiner logischen Adresse mit sechzehn Bits in eine physikalische Adresse mit achtzehn Bits wird durch ein Kartensystem bewirkt. Als Bestandteil dieses Kartensystems wird eine physikalische Seitennummer durch einen Nachschlagevorgang innerhalb einer Karte gewonnen. Diese physikalische Seitennummer wird dann mit der Adresse innerhalb einer Seite kombiniert, um die vollständige physikalische Speicheradresse zu bilden.
Hierbei wird nur die Seitennummer übersetzt. Beim Aufstellen der Karten wird die Versetzung oder Adresse innerhalb einer Seite niemals geändert.
Gemäß der Erfindung sind vier Kartenteile vorhanden, von denen jeder einem der vier logischen Adressenbereiche entspricht, die Benutzerdaten, Systemdaten, dem Benutzercode und dem Systemcode vorbehalten sind.
80981 1/0810
Die Unterteilung der logischen Adressen in diese vier getrennten Bereiche bietet wesentliche Vorteile.
Die genannte Trennung ermöglicht eine Isolierung von Programmen gegenüber den Daten, so daß die Programme niemals verändert werden. Ferner ermöglicht die Unterteilung eine Isolierung von Systemprogrammen und Daten von Benutzerprogrammen und -daten, und hierdurch wird das Betriebssystem gegen Fehler der Benutzer geschützt.
Die vier Kartenteile tragen die nachstehend erläuterten Bezeichnungen.
Karte 0: Benutzerdatenkarte. Mittels dieser Karte werden alle Adressen für variable Benutzerdatenbereiche übersetzt.
Karte 1: Systemdatenkarte. Diese Karte ähnelt der Benutzerdatenkarte, und außerdem bezeichnen alle Bezugnahmen auf den Speicher durch den Ein-Ausgabe-Kanal, das Handhabungsmikroprogramm für die Interprozessorschiene und das Unterbrechungshandhabungs-Mikroprogramm diese Karte. Die Systemdatenkarte bietet einen Kanalzugang zum gesamten physikalischen Speicher, und zwar lediglich über ein Adressenwort mit sechzehn Bits.
Karte 2: Benutzercodekarte. Diese Karte definiert das aktive Benutzerprogramm. Sämtliche Benutzerbefehle und konstanten Daten werden über diese Benutzercodekarte gewonnen.
Karte 3: Systemcodekarte. Diese Karte definiert das Betriebssystemprogramm. Sämtliche Betriebssystembefehle und konstanten Daten werden über die Systemcodekarte gewonnen.
Jeder Kartenteil weist 64 Einträge auf, die den 64 möglichen Seiten in jedem logischen Adressenbereich entsprechen. Jeder Eintrag enthält die nachstehend aufgeführten Informationen.
Ö098 1 1 /08 1 0
/190
1. Das Feld für die physikalische Seitennummer, deren Wert zwischen O und 255 liegen kann.
2. Ein ungeradzahliges Paritätsbit für den Karteneintrag, das immer dann durch die Kartenlogik erzeugt wird, wenn ein Karteneintrag geschrieben wird.
J). Ein Feld für die Geschichte der Bezugnahme. Dieses Feld umfaßt Bezugsbits, und das höchste dieser Bits wird auf 1 gesetzt, wenn jeweils von der dem Karteneintrag entsprechenden Seite Gebrauch gemacht wird.
4. Ein schmutziges Bit. Dieses schmutzige fit wird auf 1 gesetzt, wenn ein Schreibzugriff zu der entsprechenden Speicherseite erfolgt.
Die Bezugsbits und das schmutzige Bit werden durch die Speicherverwaltungsfunktion des Betriegssystems benutzt, um zum Wählen einer Seite zur Überlagerung beizutragen. Ferner bietet das schmutzige Bit eine Möglichkeit, unnötige Umlagerungen von Datenseiten in den sekundären Speicher zu vermeiden.
5. Ein Abwesenheitsbit. Ein solches Abwesenheitsbitrwird anfänglich durch das Betriebssystem auf 1 gesetzt, um die Tatsache zu bezeichnen, daß eine F^te im Hauptspeicher fehlt. Ein Zugriff zu einer Seite, bei der dieses Bit auf 1 gesetzt ist, bewirkt eine Unterbrechung bei der Seitenfehler-Unterbrechungseinrichtung des Betriebssystems, um bei dem Betriebssystem die Verwaltungsfunktion des virtuellen Speichers zu aktivieren. Das Abwesenheitsbit wird außerdem als Schutzeinrichtung verwendet, um einen fälschlichen Zugriff durch ein Programm außerhalb des vorgesehenen logischen Adressenbereichs für den Code oder für Daten zu verhindern.
Durch das Betriebssystem werden in Verbindung mit der Karte
Ö098 11/0810
drei Befehle mit den Bezeichnungen SMAP, RMAP und AMAP verwendet.
Der Befehl SMAP (Karteneintrag setzen) wird durch die Speicherverwaltungsfunktion des Betriebssystems benutzt, um einem Karteneintrag einzufügen. Bei diesem Befehl werden zwei Parameter benötigt, und zwar die Karteneintragadresse und die einzufügenden Daten.
Der Befehl RMAP (Karteneintrag lesen) wird durch die Speicherverwaltungsfunktion des Betriebssystems benutzt, um einen Karteneintrag zu lesen. Dieser Befehl erfordert einen Parameter, und zwar die Karteneintragadresse, und das durch den Befehl zurückgemeldete Ergebnis ist der Inhalt des Karteneintrags.
Der Befehl AMAP (Alterung des Karteneintrags) bewirkt, daß das Bezugsnahmegeschichtefeld eines Karteneintrags um eine Stelle nach rechts versetzt wird. Dieser Befehl wird durch die Speicherverwaltungsfunktion des Betriebssystems benutzt, um Bezugnahmegeschichteinformationen bereitzuhalten, die als Hilfsmittel beim Wählen einer Seite für die Überlagerung verwendet werden.
Eine Seitenfehlerunterbrechung, die durch ein Abwesenheitsbit bewirkt wird, erfolgt, wenn eine Bezugnahme auf eine Seite durchgeführt wird, die sich im jeweiligen Augenblick nicht im Hauptspeicher befindet, oder die nicht einen Bestandteil des logischen Adressenraums des Programms oder seiner Daten bildet. Wird ein Seitenfehler festgestellt, bewirkt die Seitenfehlerunterbrechungseinrichtung des Betriebssystems eine Unterbrechung.
Zu einer Seitenfehlerunterbrechungsfolge gehören die nachstehend genannten Vorgänge.
Ö0981 1 /0810
1. Eine Adressenbezugnahme wird zu einer Seite durchgeführt, die im physikalischen Speicher fehlt (Abwesenheitsbit gleich 1).
2. Die Seitenfehlerunterbrechung findet statt. Der Mikrocode der Unterbrechungseinrichtung bringt einen Unterbrechungsparameter, der die Kartennummer und die logische Seitennummer bezeichnet, in eine dem Betriebssystem bekannte Speicherstelle ein. Dann wird der gegenwärtige Zustand in einem Unterbrechungsstapelmarkierer im Speicher zwischengespeichert.
3. Die Seitenfehlerunterbrechungseinrichtung tritt in Tätigkeit. Wenn der Seitenfehler infolge einer Bezugnahme außerhalb des logischen Adressenraums des Programms aufgetreten 1st, wird das Programm mit einem Fehlerzustand beendet. Ist der Seitenfehler dagegen aufgetreten, da die logische Seite im physikalischen Hauptspeicher fehlte, während sie im sekundären Speicher vorhanden war, läuft ein Prozeß des Betriebssystems ab, um die fehlende Seite aus dem sekundären Speicher auszulesen, bei dem es sich gewöhnlich um eine Platte handelt, wobei die Daten in eine verfügbare Seite des primären Speichers überführt werden. Diese Informationen der physikalischen Seite und ein Abwesenheitsbit 0 werden in den Karteneintrag eingefügt. Wenn diese Speicherverwaltungsfunktion abgeschlossen ist, wird der Zustand, der zu dem Seltenfehler führte, wieder hergestellt.
4. Der Befehl, der vorher den Seitenfehler vezursachte, wird erneut durchgeführt. Da das Abwesenheitsbit im Karteneintrag der logischen Seite jetzt auf 0 gesetzt worden 1st, tritt kein Seltenfehler auf« die Seitenadresse wird in die physikalische Seite Übersetzt, die gerade aus dem sekundären Speicher entnommen wurde, und die Durchführung des Befehls wird abgeschlossen.
809811/0810
Wie erwähnt, kann der Ein-Ausgabe-Kanal über seinen eigenen Zugang Zugriff zum Speicher nehmen.
Datenübertragungen zum und vom Speicher durch den Ein-Ausgabe-Kanal erfolgen über die Systemdatenkarte. Mit anderen Worten, die durch den Ein-Ausgabe-Kanal bereitgestellten logischen Adressen mit sechzehn Bits werden mit Hilfe der Systemdatenkarte jeweils in eine physikalische Adresse mit 18 Bits übersetzt.
Somit gewährt der Kartenplan einen Ein-Ausgabe-Zugriff zu mehr Wörtern des physikalischen Speichers, als es der zugehörige Adressenzähler normalerweise zulassen würde.
Bei einer bestimmten Ausführungsform der Erfindung sind 262 144 Wörter des physikalischen Speichers (bei einer Adresse mit 18 Bits) unter Benutzung der Karte über eine logische Adresse mit nur sechzehn Bits zugänglich. Die zusätzliche Adresseninformation (die Information über die physikalische Seite) ist in der Karte enthalten und wird durch das Betriebssystem bereitgestellt, bevor jeweils eine Ein-Ausgabe-Übertragung eingeleitet wird.
Wie im folgenden näher erläutert, läßt sich die Erfindung auch leicht auf eine physikalische Adresse mit 20 erweitern.
Fig. 34 zeigt in einem Blockschaltbild Einzelheiten des Speichers 107 eines Prozessormoduls 33 sowie Verbindungen von dem Speicher zu der Zentraleinheit IO5 und dem Ein-Ausgabe-Kanal 109 des Prozessormoduls.
Gemäß Fig. ^4 besitzt das Speichersystem IO7 ZugriffZugänge sowohl für die Zentraleinheit IO5 als auch für den Ein-Ausgabe-Kanal 109, und der Ein-Ausgabe-Kanal 109 wird daher für einen Zugriff zum Speicher über die Zentraleinheit 105 nicht benötigt,
80981 1 /0810
- ist - 27A0056
Zu dem Speicher 107 gehört gemäß Fig. J>k eine Kartenspeichersteuerlogik 401, die das Einleiten und die Beendigung des Zugriffs zu physikalischen Speichermodulen 403 steuert.
Der Speicher 107 weist ferner einen Datenwegteil 405 auf, der gemäß Pig. y>t noch zu beschreibende Register enthält, die im Speicher zu schreibende Daten liefern und aus dem Speicher ausgelesene Daten festhalten.
Ferner ist bei dem Speicher 107 ein Kartenteil 407 vorhanden, zu dem logische Adressenregister für die Zentraleinheit und den Kanal sowie ein Kartenspeicher 4O9 zum Entnehmen physikalischer Seitennummern gehören.
Somit enthält der Kartenteil 407 ein Prozessorspeicheradressenregister PMA bzw. 411 und ein Kanalspeicheradressenregister CMA bzw. 129.
Diese beiden Register sind an einen Adressenwähler 415 angeschlossen.
Der Adressenwähler 415 ist mit der Karte 409 durch eine logische Seitenadressenschiene 417 sowie unmittelbar mit den Speichermodulen durch eine Seitenversetzungsschiene 419 verbunden.
Wie in Fig. 34 durch die Zahlen 8 und 10 bei den Schienen 417 und 419 angedeutet, überträgt die logische Seitenadressenschiene 417 die acht höchsten Bits zu der Karte 409, damit sie in eine physikalische Seitennummer übersetzt werden, und die Seitenversetzungsschiene 419 überträgt die 10 untersten Bits einer dem Adressenwähler 415 entnommenen Seitenadresse mit 18 Bits zu den Speichermodulen 403.
Eine Ausgabeschiene 421 führt die physikalische Seltenadresse den Modulen 403 zu. Über die Ausgabeschiene 421 werden die
80981 1/0810
/135
übersetzten acht höchsten Bits für die Adresse der physikalische! Seite übertragen.
Der Datenwegteil 405 enthält die folgenden Register: Ein Prozessorspeicherdatenregister PMD bzw. 423* ein Kanalspeicherdatenregister CMD bzw. 425, ein Register NI bzw. 431 für den nächsten Befehl, ein Speicherdatenregister MD bzw. 433 sowie ein Kanaldatenregister CD bzw. 125.
Die Aus gangsSignaIe der Register 423 und 425 werden einem Datenwähler 427 zugeführt, dessen Ausgabeschiene 429 die Daten liefert, welche dem Speicher in den Modulen 403 eingegeben werden sollen.
Einem der Speichermodule 403 entnommene Daten werden über eine Schiene 437 jeweils einem der drei Datenregister NI, MD und CD eingegeben.
Gemäß Fig. 34 ist die Kartenspeicher-Steuerlogik 401 über eine Schiene 439 auch mit jedem der Speichermodule 403 verbunden, und zu dieser Schiene gehören Befehlsleitungen zum Einleiten von Lese- oder Schreiboperationen zur Übertragung von Vollzugssignalen aus den Speichermodulen sowie zum Abgeben von Fehleranzeige- oder -kennzeichnungssignalen.
Gemäß Fig. 35 gehören zu dem Kartenteil 407 ferner die Karte 409, ein Kartenseitenregister 441, eine Kartenausgabe-Verriegelungseinriohtung 443, ein Kartenspeicherdatenregister MMD bzw. 445, ein Kartendatenwähler 447, ein Kartenparitätsgenerator 449, ein Kartenparitätsprüfer 451, eine Bezugsbitlogik 453 und eine Logik 455 für das schmutzige Bit.
Gemäß Fig. 35 ist die Kartenspeicher-Steuerlogik 401 dem Karten· teil 407 über Steuersignalleitungen 457 zugeordnet.
80981 1 /0810
/1%
Die Kartenspeicher-Steuerlogik 401 steuert das Laden von Registern und das Wählen von Registern durch die Wähler, sie steuert in Verbindung mit Kartenabwesenheits- und Paritätsfehler-Ausgangssignalen die Einleitung von Operationen der Speichermodule 403, und sie führt der Zentraleinheit IO5 Unterbrechungssignale zu, wie es in Fig. 35 für Seitenfehler- und KartenparitÄts-Pehlerunterbrechungssignale angegeben ist; hierauf wird im folgenden näher eingegangen.
Bei einer bestimmten AusfUhrungsform der Erfindung arbeitet das Speichersystem nach Fig. 34 und 35 mit einem physikalischen Seitenadressenfeld von acht Bits und einer Seitenversetzung von zehn Bits, so daß insgesamt 18 Bits verwendet werden. Wie oben erwähnt, stehen die in Fig. 34 und 35 bei bestimmten Schienenleitungen nicht In Klammern gesetzten Zahlen 8, 10, 12, 13, 14 und 18 in Beziehung zu dieser speziellen mit 18 Bits arbeitenden AusfUhrungsform. Jedoch läßt sich das Speichersystem leicht auf eine mit 20 Bits arbeitende AusfUhrungsform erweitern, und zwar mit einer physikalischen Seitenadresse von 10 Bits, und dies ist in Fig. 35 bei den gleichen Schienenleitungen durch die Angaben (10), (12), (14), (15), (16) und (20) angedeutet.
Fig. 36 veranschaulicht den Aufbau des logischen Speichers, zu dem vier getrennte logische Adressenbereiche 459, ^61, und 465 gehören; hierbei handelt es sich um einen Benutzerdatenbereich 459, einen Systemdatenbereich 461, einen Benutzercodebereich 463 und einen Systemcodebereich 465.
Ferner zeigt Fig. 36 die vier den logischen Adressenbereichen entsprechenden Kartenteile.
Somit entspricht der Benutzerdaten-Kartenteil 467 dem logischen Benutzerdaten-Adressenbereich 459, der Systemdaten-Kartenteil 469 dem logischen Systemdaten-Adressenbereich 461, der
80981 1 /0810
2740058
Benutzereode-Kartenteil 471 dem logischen Benutzercode-Adressenbereich 463 und der Systemcode-Kartenteil 47} dem logischen Systemcode-Adressenbereich 465.
Gemäß Fig. 36 gehören zu jedem Kartenteil 64 logische Seiteneinträge (Seite 0 bis Seite 63), und jeder Karteneintrag enthält 16 Bits, wie es in Fig. 36 für einen einzelnen Karteneintrag vergrößert dargestellt ist.
Wie in Fig. 36 bei dem vergrößerten Karteneintrag angegeben, gehören zu jedem Karteneintrag ein physikalisches Seitennummerfeld mit 10 Bits, ein einzelnes Paritätsbit P, ein Bezugnahme-Geschichtefeld mit drei Bits R, S und T, ein einzelnes schmutziges Bit D und ein einziges Abwesenheitsbit A.
Das durch die 10 höchsten Bits gebildete Feld für die physikalische Seitennummer liefert die physikalische Seitennummer, die der durch das Programm abgerufenen logischen Seite entspricht.
Das Paritätsbit P wird stets als ungerades Paritätsbit erzeugt, um eine Datenvollständigkeitsprllfung bei dem Inhalt der Karteneinträge zu ermöglichen.
Die Bits R, S und T des Feldes für die Bezugnahmegeschichte werden durch die Speicherverwaltungsfunktion des Betriebssystems benutzt, um die Informationen über die Bezugnahmegeschichte auf dem laufenden zu halten, mittels welcher jeweils die am längsten nicht mehr benutzte Seite zur Überlagerung gewählt wird.
Das Bit R wird durch jeden Lese- oder Schreibvorgang in Verbindung mit der logischen Seite auf 1 gesetzt.
Bei den Bits S und T handelt es sich um Speicherbits, die durch einen Karteneintrag-Alterungsbefehl AMAP gehandhabt werden.
80981 1/0810
Das schmutzige Bit D wird durch einen Schreibzugriff zu der logischen Seite auf 1 gesetzt. Das Betriebssystem verwendet das schmutzige Bit, um festzustellen, ob eine Datenseite abgeändert worden ist, seitdem sie das letzte Mal dem sekundären Speicher entnommen wurde.
Das Abwesenheitsbit A wird durch das Betriebssystem auf eine 1 gesetzt, um eine logische Seite zu kennzeichnen, die im Hauptspeicher fehlt, jedoch im sekundären Speicher vorhanden ist, oder um eine Seite zu kennzeichnen, die sich außerhalb des logischen Adressenbereichs des betreffenden Benutzers befindet.
Die in Fig. J>6 dargestellten beiden höchsten Bits für den Karteneintrag werden bei der dargestellten Ausführungsform der Erfindung nicht verwendet, doch wird von diesen beiden Bits Gebrauch gemacht, wenn bei den physikalischen Adressen mit der vollen Zahl von 20 Bits gearbeitet wird.
Wie erwähnt, verwendet das Betriebssystem in Verbindung mit der Karte die drei Befehle SMAP, RMAP und AMAP.
Der Befehl SMAP wird durch die Speicherverwaltungsfunktion des Betriebssystems benutzt, um Daten in einen Karteneintrag ähnlich demjenigen nach Fig. J>6 einzufügen.
Der Befehl SMAP wird gemäß Fig. 12 in der Zentraleinheit 105 durch das Mikroprogramm 115 realisiert, das mit der Kartenspeicher-Steuerlogik 401 nach Fig. J>k zusammenarbeitet, um erstens mit Hilfe des ersten Befehlsparameters eine Stelle in der Karte 409 zu wählen und dann zweitens an dieser Stelle den zweiten Befehl sparameter, d.h. die neuen Karteneintragdaten, einzufügen.
Während des Betriebs gibt gemäß Fig. 35 das Mikroprogramm 115 beim ersten Schritt der Folge die neuen Karteneintragdaten dem
809811/0810
Prozessorspeicherdatenregister PMD bzw. 423 ein.
Beim nächsten Schritt der Folge wird das Prozessorspeicher-Adressenregister PMA bzw. 411 mit der Kartenadresse geladen, zu der zwei höchste Bits für die Kartenwahl gehören.
In diesem Zeitpunkt sind die beiden Befehlsparameter, welche die Karteneintragadresse und die einzufügenden Daten enthalten, den zugehörigen Registern 411 und 423 eingegeben worden.
Als nächstes leitet das Mikroprogramm 115 in der Zentraleinheit 105 eine Kartenschreiboperationsfolge der Kartenspeicher-Steuerlogik 401 ein. Diese Folge wird eingeleitet, nachdem alle vorherigen Speicheroperationen abgeschlossen sind.
Die vorstehend beschriebenen Schritte der Operationsfolge sind sämtlich durch das Mikroprogramm (die Firmware) durchgeführt worden.
Die verbleibenden Aktionen entsprechend dem Befehl SMAP werden unter der Steuerwirkung der Kartenspeicher-Steuerlogik durchgeführt, und zwar sämtlich auf automatischem Wege durch die Hardware.
Bei der Kartenschreib-Operationsfolge wird die Kartenadresse von dem Register PMA durch den Adressenwähler 415 über die Schiene 417 zu der Karte 409 übertragen. Bei dieser Operation werden nur die acht höchsten Bits verwendet, d.h. die Kartenwählbits und die Kartenadressenbits.
Die beiden höchsten Bits bestimmen die Kartenwahl, d.h. Benutzerdaten, Systemdaten, Benutzercode oder Systemcode.
Die 10 untersten Bits der logischen Adressenschiene aus dem Adressenwähler ASEL bzw. 415, die innerhalb einer Seite versetzt sind und dazu dienen, einen Speicher zum Lesen oder Schreiben
80981 1/0810
zugönglich zu machen, werden bei dieser Operation nicht verwendet.
Während die Karte in der beschriebenen Weise adressiert wird, werden die neuen Kartendaten von dem Register PMD bzw. 423 aus über den Kartendatenwähler 427 zu dem Kartenparitätsgenerator 449 und zu der Karte 409 nach Fig. 35 übertragen. Der Kartenparitätsgenerator berechnet eine ungerade Parität für die neuen Kartendaten und führt dieses Paritätsbit der Karte zu.
An diesem Punkt erzeugt die Kartenspeicher-Steuerlogik 401 ein Kartenschreibabtastsignal, das gemäß Fig. 35 über eine der Leitungen 457 der Karte 409 zugeführt wird und bewirkt, daß die neuen Daten und die Parität in den gewählten Kartenteil bei dem Karteneintrag eingeschrieben werden, der durch die logische Seitenadresse über die Leitung 417 gewählt worden ist.
Hiermit ist die SMAP-Befehlsfolge abgeschlossen.
Sobald dieser SMAP-Befehl durchgeführt ist, ist der richtige Kartenteil gewählt worden, der betreffende logische Seiteneintrag dieses Kartenteils ist gewählt worden, die Daten und die berechnete ungerade Parität sind der Karte zugeführt worden, und das Kartenschreibabtastsignal hat bewirkt, daß die Daten bei dem gewünschten Karteneintrag geschrieben worden sind.
Der Befehl SMAP wird durch das Betriebssystem benutzt, um nach Bedarf jeden logischen Seiteneintrag bei jedem der vier Kartenteile einzuleiten.
Eine der Aufgaben des gesetzten Kartenbefehls besteht somit darin, eine physikalische Seitenadresse für eine logische Seite einzusetzen,um die übersetzung logischer Seitennummern in physikalische Seitennummern zu bewirken, nachdem eine Seite aus dem sekundären Speicher umgelagert worden ist.
809811/0810
2j1
Eine weitere Aufgabe des gesetzten Kartenbefehls besteht darin, ein Abwesenheitsbit für eine logische Seite zu setzen, die aus dem sekundären Speicher umgelagert worden ist.
Der Kartenlesebefehl RMAP wird durch die Speicherverwaltungsfunktion des Betriebssystems benutzt, um den Inhalt eines Karteneintrags zu prüfen.
Bei dem Befehl RMAP arbeitet das Mikroprogramm 115 in der Zentraleinheit I05 mit der Kartenspeicher-Steuerlogik 401 zusammen, um mit dem Befehlsparameter eine Stelle in der Karte 4O9 zu wählen und entsprechend dem Inhalt des Karteneintrags zu dem Registerstapel 112 nach Fig. 12 zurückzukehren.
Bei der Durchführung des Kartenlesebefehls RMAP bewirkt gemäß Fig. 35 das Mikroprogramm 115, daß die Kartenadresse einschließlich der beiden höchsten Bits für die Kartenwahl dem Register PMA bzw. 411 eingegeben wird. Dann leitet das Mikroprogramm 115 eine Kartenleseoperationsfolge der Kartenspeicher-Steuerlogik 401 ein.
Diese Folge wird dann durch die Hardware durchgeführt, und bei dieser Folge wJrd die Kartenadresse vom Register PMA bzw. 411 aus über den Adressenwähler 415 zu der Karte 409 übertragen. Auch in diesem Fall werden nur die Kartenwähl- und Seitenadressenbits verwendet.
Der Inhalt des gewählten Karteneintrags wird gemäß Fig. 35 von der Karte 409 aus zu dem Kartenparitätsprüfer 451 und der Kartenausgangs-Verriegelungseinrichtung 443 übertragen. Der Prüfer 451 vergleicht das Paritätsbit aus dem Karteneintrag mit dem für die Daten berechneten ungeraden Paritätsbit.
Ist die Parität falsch, wird das Kartenseitenregister 441 mit der Kartenadresse geladen, und das Kartenparitätsfehlersignal
80981 1/0810
setzt ein Fehlerkennzeichen, das bewirkt, daß der Betrieb der Zentraleinheit 105 durch einen Kartenparitätsfehler unterbrochen wird.
Anderenfalls werden bei richtiger Parität die Karteneintragsdaten aus der Kartenausgangs-Verriegelungseinrichtung 443 in das Kartenspeicherdatenregister MMD bzw. 445 überführt.
Schließlich überträgt infolge des Befehls das RMAP-Befehlsmikroprogramm die Da_ten aus dem Kartenspeicher-Datenregister 445 wieder dem Registerstapel 112 nach Fig. 12 zu.
Am Ende des Kartenlesebefehls RMAP ist der in Frage kommende Kartenteil gewählt worden, der betreffende logische Seiteneintrag des Kartenteils ist gewählt worden, und der Inhalt des Karteneintrags ist aus der Karte ausgelesen und als Befehlsergebnis zum Registerstapel der Zentraleinheit zurückgeleitet worden.
Der RMAP-Befehl wird in der nachstehend erläuterten Weise verwendet.
Die Hauptaufgabe des Kartenlesebefehls besteht darin, es dem Betriebssystem zu ermöglichen, das Bezugsnahmegeschichtsfeld und das schmutzige Bit eines Karteneintrags mit dem aus Fig.36 ersichtlichen Format zu prüfen, um eine zu überlagernde Seite in der nachstehend erläuterten Weise zu bestimmen.
Ferner dient der Kartenlesebefehl RMAP zu Diagnosezwecken,um festzustellen, ob die Kartenspeicherung einwandfrei arbeitet.
Der Kartenalterungsbefehl AMAP wird durch die Speicherverwaltungsfunktion des Betriebssystems verwendet, um in der Karte nützliche Informationen über die Benutzungsgeschichte bereitzuhalten. Diese Informationen werden in der Karte durch Karten-
809811/0810
27A0056
eintrage, d.h. die Bits R, S und T des Karteneintragformats nach Fig. 36 innerhalb eines Kartenteils bereit gehalten, und es wird eine typische "Alterung" jeweils dann durchgeführt, wenn in dem Kartenteil eine Unterbrechung infolge eines Seitenfehlers stattgefunden hat.
Der Befehl AMAP weist nur einen einzigen Parameter auf, bei dem es sich um die Kartenadresse handelt, welche die zu alternde Kartenstelle angibt.
Bei der Ausführung des Kartenalterungsbefehls AMAP wählt das Mikroprogramm 115 in der Zentraleinheit IO5 eine Kartenstelle mit dem Kartenadressenparameterbefehl. Das Mikroprogramm 115 gibt den Kartenadressenparameter dem Register PMA ebenso ein wie bei dem Befehl RMAP.
An diesem Punkt wird eine Kartenleseoperationsfolge der Kartenspeicher-Steuerlogik 401 eingeleitet, und diese Folge läuft ebenso ab wie bei dem vorstehend beschriebenen Befehl RMAP.
Das Mikroprogramm 115 nach Fig. 12 liest den Inhalt des Karteneintrags aus dem Register MMD bzw. 445 nach Fig. 35 aus, entnimmt das die Benutzungsgeschichte bezeichnende Feld, d.h. gemäß Fig. 56 die Bits R, S und T bzw. 10, 11 und 12, verschiebt das Feld um eine Stelle nach rechts und fügt das Feld wieder ein, um die neuen Karteneintragdaten zu bilden. Hierbei wird bei dem Bit R eine Null eingesetzt, das Bit R wird auf den Platz des Bits S verschoben, das Bit S wird auf den Platz des Bits T verschoben, und das alte Bit T geht verloren.
Nunmehr bewirkt das Mikroprogramm 115, daß gemäß Fig. J4 das Register PMD bzw. 423 mit Hilfe des abgeänderten Karteneintrags mit diesen neuen Daten geladen wird, und daß die neuen Karteneintragdaten ähnlich wie bei der Folge SMAP erneut in den gewählten Karteneintrag eingeschrieben werden.
80981 1/0810
Auf diese Weise wird die Durchführung des Kartenalterungsbefehls AMAP abgeschlossen.
Aufgrund des Kartenalterungsbefehls AMAP ist ein Karteneintrag aus der Karte ausgelesen worden, das Feld für die Benutzungsgeschichte ist verschoben wrden, und dieser abgeänderte Eintrag ist erneut in die gewählte Kartenstelle eingefügt worden.
Wie erwähnt, wird das Bit R jedesmal auf 1 gesetzt, wenn irgendein Speicher auf die entsprechende logische Seite Bezug nimmt, so daß dann, wenn dieses Bit eine 1 ist, diese Tatsache anzeigt, daß diese Seite seit dem letzten Kartensetzbefehl SMAP oder dem letzten Kartenalterungsoperationsbefehl AMAP benutzt worden ist.
Dieses Setzen des Bits R in Verbindung mit dem Kartenalterungsbefehl AMAP ermöglicht die Bereithaltung von Benutzungshäufigkeitsinformationen im Feld für die Kartenbenutzungsgeschichte.
Die Felder für die Benutzungsgeschichte sämtlicher Karteneinträge einer bestimmten Karte werden auf typische Welse gealtert, nachdem eine Seitenfehlerunterbrechung aufgetreten ist. Somit ist der Wert des drei Bits enthaltenden Feldes bei einem Karteneintrag ein Zeichen für die Zugriffshäufigkeit nach den drei vorausgegangenen Seitenfehlerunterbrechungen.
Beispielsweise zeigt der binäre Wert 1Js bei dem alle drei Be nutzungsbits auf 1 gesetzt sind, Zugriffe während jedes der Intervalle zwischen den vorausgegangenen Seltenfehlerunterbrechungen an.
Der binäre Wert 4 im Feld für die Benutzungsgeschichte, wobei das Bit R auf 1 und die Bits S und T auf O gesetzt sind, zeigt einen Zugriff in dem Intervall seit der letzten Seitenfehlerunterbrechung an und läßt erkennen, daß in dem Intervall vor der letzten Seitenfehlerunterbrechung keine Zugriffe stattgefunden haben.
809811/0810
Schließlich zeigt der binäre Wert O für das Feld mit den drei Bits an, daß während keines der drei Intervalle seit den drei letzten Seitenfehlerunterbrechungen kein Zugriff zu dieser logischen Seite erfolgt ist.
Je höher die binäre Zahl ist, die durch die drei Bits des Feldes für die Benutzungsgeschichte repräsentiert wird, desto höher ist die Häufigkeit der zuletzt erfolgten Zugriffe zu der logischen Seite.
Diese Informationen über die Benutzungsgeschichte bleiben erhalten, so daß dann, wenn es erforderlich ist, eine Seite zur Oberlagerung zu wählen, eine Seite, die während der jüngsten Vergangenheit nur selten benutzt wurde, zu identifizieren. Bei einer Seite, zu der während der jüngsten Vergangenheit nur selten Zugriff genommen wurde, dürfte auch weiterhin diese Eigenschaft beibehalten, und daher wird es wahrscheinlich nicht erforderlich sein, diese Seite nach der Überlagerung wieder in den Speicher zurückzuführen.
Diese Geschichte der Benutzungshäufigkeit wird durch die Speicherverwaltungsfunktion des Betriebssystems benutzt, um nur selten benutzte Seiten für die Überlagerung auszuwählen, so daß eine Umlagerung aus dem sekundären Speicher möglichst selten erforderlich istkund ein wirtschaftliches virtuelles Speichersystem realisiert wird.
Wie erwähnt, können sowohl die Zentraleinheit als auch das Ein-Ausgabe-System Zugriff zum Speicher nehmen.
Im folgenden wird die Wirkungsweise des Speichersystems und der Karte während einer Folge beschrieben, bei der die Zentraleinheit Zugriff zum Speicher nimmt. Diese Zugriffsfolge ist für die verschiedenen Zugriffe der Zentraleinheit zum Speicher ähnlich und gilt z.B. für das Schreiben von Daten, das Lesen
809811/0810
von Daten und cas Auslesen von Befehlen aus dem Speicher.
Die Zentraleinheit-Speicher-Zugriffsfolge wird entweder durch das Mikroprogramm 115 der Zentraleinheit oder die Befehlsabruflogik der ZentraMnheit eingeleitet. In beiden Fällen bewirkt die Zentraleinheit 105, daß das Register PMA bzw. 411 mit einer logischen Adresse mit 18 Bits geladen wird, um eine Datenlese-, Datenschreib- oder Befehlsleseoperationsfolge bei der Kartenspeicher-Steuerlogik 401 einzuleiten.
Zu der logischen Adresse mit 18 Bits gehören zwei höchste logische Adressenraumwählbits und 16 untergeordnete Bits zum Angeben einer Stelle innerhalb des logischen Adressenraums. Die beiden Wählbits können durch das Mikroprogramm 115 der Zentraleinheit bestimmt werden, oder sie können in der Zentraleinheit automatisch erzeugt werden, und zwar auf der Basis des Inhalts des Befehlsregisters I und des Umgebungsregisters E.
Die logische Adresse mit 18 Bits enthält zusätzlich zu den zwei höchsten Bits zum Wählen der logischen Adresse sechs weitere Bits zum Benennen der logischen Seite innerhalb der gewählten Karte sowie 10 untergeordnete Bits zum Bestimmen der Versetzung innerhalb der Seite der gewählten Karte.
Nachdem alle vorausgegangenen Karten- oder Speicheroperationen abgeschlossen sind, wird bei der Datenlese-, Datenschreib- oder Befehlsleseoperationsfolge der Kartenspeicher-Steuerlogik 401 die gemäß Fig. 35 im Register PMA bzw. 411 enthaltene Adresse mit 18 Bits durch den Adressenwähler 415 zu den Schienen 417 und 419 übertragen.
Die Schiene 419 überträgt den Seitenversetzungsteil der Adresse, der durch die Schiene 419 direkt zu den physikalischen Speichermodulen 403 nach Fig. }4 übertragen wird.
809811/0810
Die Schiene 417 überträgt den logischen Seitenadressenteil, der in eine physikalische Seitenadresse übersetzt werden muß, zu der Karte 409.
Der durch die logische Seitenadresse gewählte Karteneintrag wird gemäß Fig. 34 aus der Karte 4O9 ausgelesen und in die Kartenspeicher-Steuerlogik 401, den Kartenparitätsprüfer 451 (Fig. 35) und die Kartenausgabe-Verriegelungseinrichtung 443 überführt.
Ist das Abwesenheitsbit eine 1, wird das Kartenseitenregister 441 mit der logischen Seitenadresse geladen, zur Zentraleinheit 105 wird ein Seitenfehler-Unterbrechungssignal übertragen, und die Kartenspeicher-Steuerlogik 401 beendet die Speicherzugriffsfolge.
Wenn der Paritätsprüfer 451 bei dem Karteneintrag eine unrichtige Parität feststellt, wird das Kartenseitenregister 441 mit der logischen Seitenadresse geladen, zur Zentraleinheit wird ein Kartenparitätsfehlersignal übertragen, und die Speicherzugriff sfolge wird abgeschlossen.
Ist kein Fehler vorhanden, wird die physikalische Seitenadresse von der Kartenausgangs-Verriegelungseinrichtung 443 aus über die Schiene 421 zu den physikalischen Speichermldulen 403 übertragen, und die Kartenspeicher-Steuerlogik 401 gibt über die Schiene 439 einen Befehl aus, um den gewählten Speichermodul 403 zu veranlassen, eine Lese- oder Schreiboperation durchzuführen.
Währeü der Speichermodul diese Lese- oder Schreiboperation ausführt, bewirkt die Kartenspeicher-Steuerlogik 401, daß die Karteneintragdaten modifiziert und neu geschrieben werden.
Die Karteneintragdaten werden ohne das Paritätsbit P bzw. das
809811/0810
-16*-
Bezugsbit R gemäß Fig. 35 von der Kartenausgangsverriegelungseinriehtung 443 aus zu der Logik 455 für das schmutzige Bit und zu dem Kartendatenwähler 447 übertragen.
Bei dieser Operation werden das physikalische Seitenfeld eines Karteneintrags, wie es im rechten unteren Teil von Fig. 36 vergrößert dargestellt ist, sowie die Bits S und T des Bezugsfeldes und das Abwesenheitsbit stets ohne Veränderung neu geschrieben.
Wenn bei der Zentraleinheit eine Datenschreiboperation abläuft, wird das dem Kartendatenwähler zugefUhrte schmutzige Bit D durch die zugehörige Logik 455 nach Fig. 35 auf 1 gesetzt. Anderenfalls wird das schmutzige Bit nicht verändert.
Das dem Kartendatenwähler durch die Bezugsbitlogik 453 zugefUhrte Bit R wird sowohl bei einer Leseoperation als auch bei einer Schreiboperation auf 1 gesetzt.
Wie erwähnt, bleiben das Feld für die physikalische Seite sowie die Bits S, T und A unverändert.
Der Kartendatenwähler 447 führt diese neuen Kartendaten dem Paritätsgenerator 449 und der Karte 409 zu.
Gemäß Fig. 35 erzeugt der Paritätsgenerator 449 aus den neuen Daten ein ungeradzahliges Paritätsbit P.
Hierauf bewirkt ein Kartenschrelb-Abtastsignal der Kartenspeicher-Steuerlogik 401, daß die neuen Daten und die Parität in dem Karteneintrag geschrieben werden, der durch die Schiene 417 für die logische Seitenadresse gewählt worden ist.
Somit ist jetzt die logische Seite durch den Karteneintrag übersetzt worden, und der Karteneintrag ist neu geschrieben
80981 1/0810
worden, wobei die Paritäts- und Bezugsbits sowie das schmutzige Bit aktualisiert worden sind.
Sobald der physikalische Speichermodul 403 seine Lese- oder Schreiboperation abschließt, führt er gemäß Fig. 34 über die Schiene 439 der Kartenspeicher-Steuerlogik 401 ein Abschlußsignal zu.
Bei einem Lesevorgang führt der Speichermodul 403 gemäß Fig.34 die Speicherdaten der Schiene 437 zu.
Bei einer Datenleseoperationsfolge wird gemäß Fig. 34 das Register MD bzw. 433 mit den Daten geladen, die durch die Zentraleinheit 105 verwendet werden sollen.
Bei einer Befehlslese-Operationsfolge wird gemäß Fig. 34 das Register NI bzw. 431 mit den Daten geladen, die danach durch die Zentraleinheit 105 verarbeitet werden sollen.
Somit werden die Zugriffe zum Speicher der Zentraleinheit beim Lesen bzw. Schreiben von Daten sowie beim Lesen des Befehls in der beschriebenen Weise abgeschlossen.
Ein Zugriff des Ein-Ausgabe-Kanals zum Speicher zum Lesen oder Schreiben von Daten läuft ähnlich ab wie ein Zugriff zum Speicher einer Zentraleinheit, wobei jedoch die nachstehenden Ausnahmen gelten.
Das Kanalspeicheradressenregister CMA bzw. 129 nach Flg. 34 liefert die logische Adresse, und dieses Register benennt stets die Systemdatenkarte 469 nach Fig. 35.
Das Kanalspelcherdatenregister CMD bzw. 425 nach Flg. 34 liefert bei einer Schreiboperation Daten für den Speicher.
80981 1/0810
VK)
Das Kanaldatenregister CD bzw. 125 nach Fig. }4 dient zum Aufnehmen von Daten aus dem Speicher bei einer Leseoperation.
Bei einem Zugriff des Ein-Ausgabe-Kanals 109 zum Speicher handelt es sich stets um einen Speicherzugriff, bei dem Daten gelesen oder geschrieben werden, und im Gegensatz zu einem Zugriff zur Zentraleinheit erfolgt kein Zugriff zum Lesen eines Befehls.
Außerdem werden Kartenparitäts- und Abwesenheitssignale dem Ein-Ausgabekanal 109 zugeführt, wenn sie bei einem Zugriff des Ein-Ausgabe-Kanals zum Speicher auftreten.
Wie vorstehend mehrfach erwähnt, werden bei den Speichermodulen 403 Halbleiterspeicher oder Kernspeicher verwendet.
Bei der Verwendung von Kernspeichern werden Fehler mit Hilfe eines Paritätsfehler-Nachweissystems festgestellt, das bei Kernspeichermodulen alle Einzelbitfehler nachweist. Da bekannte Verfahren zum Erzeugen von Paritätsfehlersignalen und zur Prüfung angewendet werden, dürfte sich eine Erläuterung der Einzelheiten der Kernspeicher erübrigen.
Die Wahrscheinlichkeit des Auftretens von Störungen bei Halbleiterspeichern ist genügend hoch, um die Verwendung eines Systems zum Nachweisen und Korrigieren von Fehlern zu rechtfertigen, und gemäß der Erfindung wird daher ein Nachweis- und Korrektursystem verwendet, bei dem für jedes Datenwort mit 16 Bits ein Prüffeld mit sechs Bits vorhanden ist. Fig. 37 bis 41 sowie die Tabelle am Ende der Beschreibung zeigen die Einzelheiten eines Fehlernachweis- und -korrektursystems, wie es verwendet wird, wenn die Speichermodule 4OJ als Halbleiterspeicher ausgebildet sind.
Wie nachstehend erläutert, ist das erfindungsgemäße Fehlernachweis- und -korrektursystem, bei dem mit einem Prüffeld mit sechs
809811/0810
- 1ββ-- 27A005S
Bits gearbeitet wird, geeignet, alle Einzelbitfehler nachzuweisen und zu korrigieren und außerdem sämtliche Doppelbitfehler nachzuweisen. Ferner werden die meisten Fehler nachgewiesen, die drei oder mehr Bits betreffen.
Zwar wird das Fehlernachweis- und -korrektursystem im folgenden bezüglich eines Halbleiterspeichers beschrieben, doch sei bemerkt, daß sich die Anwendbarkeit dieses Systems nicht auf Halbleiterspeicher beschränkt, und daß es auch bei beliebigen anderen Einrichtungen zum Speichern oder Übertragen von Daten anwendbar ist.
Ein wichtiger Vorteil des erfindungsgemäßen Fehlernachweis- und -korrektursystems ergibt sich daraus, daß nicht nur Einzelbitfehler korrigiert werden, sondern daß auch alle nachfolgenden Zweibitfehler zuverlässig nachgewiesen werden, nachdem ein Fehler bei einem Einzelbit aufgetreten ist.
Daher ist das Multiprozessorsystem mit dem erfindungsgemäßen Fehlernachweis- und -korrektursystem für Einzelfehler tolerant, und es läßt sich beim Auftreten von Einzelbitfehlern bei einem Halbleiterspeicher betreiben, bis ein Zeitpunkt erreicht ist, an dem es zweckmäßig ist, den Speicher instandzusetzen.
Bei dem Fehlernachweis- und -korrektursystem wird ein systematischer linearer binärer Code mit dem Hamming-Abstand 4 verwendet. Bei diesem Code bildet jedes Prüfbit eine lineare Kombination von acht Datenbits, wie es in Fig. 38 gezeigt ist. Außerdem setzt sich gemäß Fig. 38 jedes Datenbit aus genau drei Prüfbits zusammen. Ein Vorteil dieses Codes besteht darin, daß eine gleichmäßige Erfassung der Datenbits durch die Prüfbits gewährleistet ist.
Zu dem Fehlernachwels- und -korrektursystem gehört ein Syndromdecodlerer, bei dem die Logik mit hoher Geschwindigkeit arbeitet, und der aus einer kleinen Anzahl von Elementen besteht.
80981 1/0810
Einleitend sei bemerkt, daß bei dem erfindungsgemäßen Fehlernachweis- und -korrektursystem Jedem gespeicherten Datenwort sechs PrUfbits beigefügt werden. Wird danach ein Datenwort aus dem Speicher ausgelesen, wird der Prüffeldteil des gespeicherten Wortes benutzt, um den Informationsverlust zu identifizieren oder nachzuweisen, den das Wort seit seiner Speicherung erlitten hat.
Bei einem Halbleiterspeicher bestehen zwei Möglichkeiten für die Entstehung von Informationsverlusten bzw. Fehlern. Im einen Fall handelt es sich um einen harten Fehler bei einer Speichervorrichtung, der dazu führt, daß die Vorrichtung vollständig ausfällt und keine Informationen mehr festhalten kann; im anderen Fall handelt es sich um einen weichen Fehler, bei dem ein elektrisches Rauschen zu einem Informationsverlust infolge von Einschwingvorgängen führen kann.
Zum Nachweisen von Fehlern dient ein Prüfbitkomparator, der ein Syndromsignal mit sechs Bits erzeugt. Bei dem Syndromsignal handelt es sich um die Differenz zwischen dem aus dem gespeicherten Wort entnommenen Prüffeld und dem Prüffeld, das normalerweise dem Datenfeld des gespeicherten Wortes entsprechen würde.
Dieses Syndrom wird dann analysiert bzw. decodiert, um festzustellen, ob ein Fehler aufgetreten ist, und um dann, wenn dies der Fall ist, die Art der erforderlichen Korrektur zu bestimmen.
Bei einzelnen Datenbitfehlern veranlaßt das Ausgangssignal des Syndromdecodierers eine Datenbit-Komplementiereinrichtung, das fehlerhafte Bit umzukehren, woraufhin die korrigierten Daten als Ausgangssignal des Speichermoduls ausgegeben werden.
Wenn der Syndromdecodierer einen Mehrfachfehler anzeigt, wird das Vorhandensein dieses Fehlers dem Kartenspeicher-Steuerteil mit Hilfe einer der Steuer- und Fehlerleitungen gemeldet, um
809811/0810
bei der Zentraleinheit eine Unterbrechung herbeizuführen.
Gemäß Fig. 37 gehören zu dem Speichermodul 403 ein logischer Zeitgeber- und Steuerteil 475 und eine Halbleiterspeicheranordnung 477* welch letztere es ermöglicht, 32 768 Wörter zu je 22 Bits zu speichern. Gemäß Fig. 37 gehören zu jedem Wort ein Datenfeld mit 16 Bits und ein Prüffeld mit sechs Bits.
Gemäß Fig. 37 gehören ferner zu jedem Halbleiterspeichermodul 403 eine Ausgabeverriegelungseinrichtung 479* ein Prüfbitgenerator 481, ein Prüfbitkomparator 483, ein Syndromdecodierer 485 und eine Datenbit-Komplementiereinrichtung 487.
Der Speichermodul 403 arbeitet mit den übrigen Teilen des Systems über die in Fig. 37 dargestellten Signal- und Datenwege zusammen. Zu diesen eine Schiene 429 zum Zuführen von Daten zum Speicher, Steuer- und Fehlerleitungen 439, die zu dem Kartenspeicher-Steuerteil 401 führen, Schienen 419 und 421 für die physikalischen Adressen sowie eine Schiene 437 zum Übernehmen von Daten aus der Speicherschiene. Diese Signal- und Datenwege sind auch in Fig. 34 dargestellt.
Gemäß Fig. 37 wird der Inhalt der Ausgabeverriegelungseinrichtung 479 über eine Schiene 489 dem Prüfbitkomparator 483 und dem Datenbitkomparator 487 zugeführt.
Die Ausgangssignale des Prüfbitkomparators 483 werden über eine Syndromschiene 491 zum Syndromdecodierer 485 und zu dem logischen Zeitgeber- und Steuerteil 475 übertragen.
Die Ausgangssignale des Syndromdecodierers 485 werden der Datenbit-Komplementiereinrichtung 487 über eine Schiene 493 zugeführt.
Weitere Ausgangssignale des Syndromdecodierers 485 werden durch Leitungen 495 und 497 zu dem logischen Zeitgeber- und Steuerteil 475 übertragen. Die Leitung 495 überträgt jeweils ein Einzelfeh-
80981 1/0810
lersignal für einen korrigierbaren Fehler, während die Leitung 497 ein Mehrfachfehlersignal für einen nicht korrigierbaren Fehler überträgt.
Der logische Zeitgeber- und Steuerteil 475 gibt Steuersignale über eine Steuerschiene 499 an die Halbleiterspeicheranordnung 477 und die Ausgabe-Verriegelungseinrichtung 479 ab.
Das Ausgangssignal des PrUfbitgenerators 481 wird über eine Schiene 501 der Speicheranordnung 477 zugeführt.
Gemäß Fig. 38 gehören zu dem Prüfbitgenerator 481 sechs getrennte Paritätsbäume 503 mit je acht Bits.
Gemäß Fig. 39 sind bei dem Prüfbitkomparator 48j5 sechs getrennte Paritätsbäume 505 mit je neun Bits vorhanden.
Gemäß Fig. 40 gehören zu dem Syndromdecodierer 485 ein Decodiererteil 507 und ein Paritätsbaum 509 mit sechs Bits.
Gemäß Fig. 40 werden die Ausgangssignale des Decodiererteils 507 und des Paritätsbaums 509 mit sechs Bits in einer Fehleridentifizierungslogik 511 miteinander kombiniert.
Gemäß Fig. 41 sind bei der Bitkomplementiereinrichtung 4^7 sechzehn Exklusives-ODER-Gatter 513 vorhanden.
Während des Betriebs wird das Datenwort mit sechzehn Bits über die Schiene 429 der Speicheranordnung 477 und dem Prüfbitgenerator 481 zugeführt, wie es in Fig. 37 gezeigt ist.
Gemäß Fig. 38 erzeugt der Prüfbitgenerator 481 sechs Prüfbits CO bis C5 mit Hilfe der sechs 8-Bit-Paritätsbäume 502.
Gemäß Fig. 38 erzeugt der am weitesten links angeordnete 8-Bit-
80981 1/0810
Paritätsbatun 503 das Prüfbit CO bzw. Null entsprechend der logischen Gleichung für CO im unteren Teil von Fig. 38. Daher ist das Prüfbit CO das Komplement der Modulo-2-Summe der Datenbits 8 bis 15.
Das Prüfbit CJ> wird durch einen 8-Bit-Paritätsbaum 503 entsprechend der logischen Gleichung für C} im unteren Teil von Fig. erzeugt. Das Prüfbit C3 ist die Modulo-2-Summe der Datenbits 0, 1, 2, 4, 7, 9, 10 und 12 entsprechend den Verbindungen zwischen dem 8-Bit-Paritätsbaum und den zugehörigen Datenbitleitungen des logischen Diagramms im oberen Teil von Fig. 38.
Entsprechend wird jedes der übrigen Prüfbits durch eine Modulo-2-Addition von acht Datenbits erzeugt, wie es aus dem logischen Diagramm im oberen Teil von Fig. 38 ersichtlich ist.
Um eine Speicherschreiboperation durchzuführen, werden diese sechs durch den Prüfbitgenerator 481 erzeugten Prüfbits und die sechzehn Datenbits aus der Datenschiene 429 einer bestimmten Speicherstelle in der Speicheranordnung 477 eingegeben. Gemäß Fig. 37 gelangen die sechs Prüfbits und die sechzehn Datenbits unter der steuernden Wirkung der Zeitgeber- und Steuerlogik 475 und der Information über die physikalische Adresse aus den Schienen 419 und 421 zu der Speicheranordnung 477.
Zu jedem von der Speicheranordnung 477 aufgenommenen Wort gehört ein Prüffeld mit sechs Bi^s, das für dieses Wort auf ähnliche Weise erzeugt worden ist. Dieses Prüffeld wird zusammen mit dem gespeicherten Wort in der Speicheranordnung 477 festgehalten, bis danach bei einer Leseoperation Zugriff zu der Speicheranordnung genommen wird.
Soll ein bestimmtes Wort aus der Speicheranordnung 477 ausgelesen werden, bewirken die Zeitgeber- und Steuerlogik 475 und die Adresse aus den Schienen 419 und 421 für die physikalische
809811/0810
2740058
Adresse, daß die Ausgabeverriegelungseinrichtung 479 mit dem Inhalt der gewählten Speicherstelle geladen wird. Die Ausgabeverriegelungseinrichtung hat eine Breite von 22 Bits, um die sechzehn Datenbits und das Prüffeld mit sechs Bits unterbringen zu können.
Aus der Ausgabeverriegelungseinrichtung 479 werden die sechzehn Datenbits und das Prüffeld mit sechs Bits durch eine Schiene 489 zu dem Prüfbitkomparator 48j5 nach Fig. 37 übertragen.
Gemäß Fig. 39 erzeugt der Prüfbitkomparator 483 sechs Syndrombits SO bis S5.
Jedes Syndrombit ist das Ausgangssignal eines 9-Bit-Paritätsbaums 505, bei dessen Eingangssignalen es sich um acht Datenbits und ein Prüfbit handelt. Jedes Syndrombit steht in Beziehung zu einem entsprechend numerierten Prüfbit. Somit wird das Prüfbit Null nur zum Berechnen des Syndrombits 0 verwendet, das Prüfbit 1 dient nur zum Berechnen des Syndrombits 1 usw.
Beispielsweise ist das Syndrombit Null bzw. SO das Komplement der Modulo-2-Summe des Prüfbits Null und der Datenbits 8 bis gemäß der logischen Gleichung im unteren Teil von Fig. 39.
Entsprechend wird Jedes der Syndrombits S1 bis S5 aus der Modulo-2-Summe eines entsprechenden Prüfbits und acht der Datenbits erzeugt, wie es im oberen Teil von Fig. 39 durch die Verbindungen zu den betreffenden Datenbitleitungen für jedes Syndrombit dargestellt 1st.
Das Vorhandensein oder NichtVorhandensein von Fehlern wird ebenso wie ggf. die Art des Fehlers dadurch identifiziert, daß der Wert der sechs Syndrombits aus der Schiene 491 interpretiert wird.
80981 1/0810
2740058
In der nachstehenden Tabelle sind die 64 möglichen Werte des 6-Bit-Syndromcodes zusammen mit der Bedeutung jedes möglichen Wertes angegeben.
Syndromeode£ S1 S2 0 5 S4 S5 Fehler bei SjO S1 0 S2 , s? S4 0 Fehler bei
SjO 0 0 0 0 0 kein Fehler 1 0 0 0 0 1 CjÖ
0 0 0 0 0 1 C5 0 0 0 0 Doppelfehler
0 0 0 1 0 C4 0 0 1 1 Doppelfehler
0 1 1 1 Doppelfehler 0 0 1 0 D8
0 1 0 0 C3 0 1 0 1 Doppelfehler
0 1 0 1 Doppelfehler 0 1 0 0 D9
0 1 1 0 Doppelfehler 0 1 1 1 D10
0 0 0 1 1 DjO 0 1 1 0 Doppelfehler
0 0 1 0
0
0
0 0 C2 1 0
0
0
1 0 0 1
0
1
Doppelfehler
0 0
0
0
1 0
1
1
1
0
1
Doppelfehler
Doppelfehler
Mehrfachfehler
0 0
0
0
0
1
1
0 D11
Me hi»f achfehl,
nur Nullen
Doppelfehler
0 1 0 0 Doppelfehler 0 1 0 1 D12
0 1 0 1 D1 0 1 0 0 Doppelfehler
0 1 1 0 D2 0 1 1 1 Doppelfehler
0 0 1 1 Doppelfehler 1 1 1 0 Mehrfachfehl.
1 0 0 0 0 C1 1 0 0 0 0 1 Doppelfehler
0 0 0 0 1 Doppelfehler 0 0 0 0 D13
0 0 1 0 Doppelfehler 0 0 1 1 D14
0 1
1
1
1 1 D3 0
0
0
0 1 0
1
0
Doppelfehler
0
0
0
1 0
0
1
0
1
0
Doppelfehler
Mehrfachfehler
nur Einsen
D4
0 1
1
1
0
0
1
1 Mehrfachfehl.
Doppelfehler
Doppelfehler
0 1 1 Doppelfehler 1 1 Mehrfachfehl.
fortges.
80981 1/0810
O O O SM 1 1
O O 1 - *#*> - 0
1 1 O 1 O Doppelfehler 0
O O 1 1 D5 0
O 1 O O D6 0
O 1 1 O Doppelfehler 0
O 1 1 O D7 0
O Doppelfehler
O Doppelfehler
2740055
0 O 0 D15
O O 1 Doppelfehler
0 10 Doppelfehler
0 11 Mehrfachfehler 10 0 Doppelfehler
1 1 0 Mehrfachfehler 110 Mehrfachfehler
0 111 Mehrfachfehler 0 111 Doppelfehler
Somit hat die Anzahl der Einsen im Syndrom die nachstehende Bedeutung:
0 Bits: Kein Fehler
1 Bit: PrUfbitfehler
2 Bits: Doppelfehler
Z> Bits: Datenbit- oder Mehrfachfehler
4 Bits: Doppelfehler
5 Bits: Mehrfachfehler
6 Bits: Doppelfehler.
Wenn z.B. alle Syndrombits SO bis S5 den Wert Null haben, ist weder im Datenfeld noch im Prüffeld ein Fehler vorhanden. Dieser Zustand ist in der Tabelle an ihrem Anfang links oben dargestellt.
Die Fälle, in denen Fehler vorhanden oder nicht vorhanden sind, sowie die Art der auftretenden Fehler sind am unteren Ende der Tabelle zusammengestellt.
Wie erwähnt, ist kein Fehler vorhanden, wenn alle sechs Syndrombits den Wert Null haben.
Wenn nur eines der sechs Syndrombits ansteht, zeigt dies einen Fehler bei dem entsprechenden Prüfbit an. Es sei bemerkt, daß es
80981 1 /0810
9/>9
sich bei den Prüfbitfehlern um Einzelbitfehler handelt, die keine Korrektur des Datenwortes erfordern.
Gemäß der Zusammenstellung am unteren Ende der Tabelle zeigt das Anstehen von zwei Bits einen Doppelbitfehler an; hierbei könnte es sich um einen Fehler bei einem Datenbit und einen Fehler bei einem Prüfbit oder um zwei Fehler bei den Datenbits oder um zwei Fehler bei den Prüfbits handeln.
Stehen in dem 6-Bit-Syndromcode drei Bits an, kann dieser Zustand entweder einem einzelnen Datenbitfehler oder einem Mehrfachfehler entsprechen.
Um ein Beispiel für einen Einzelbitfehler bei einem Datenbit zu geben, sei gemäß dem rechten unteren Teil der Tabelle auf den Syndromcode 111 000 verwiesen, der einen Einzelbitfehler bei dem Datenbit D15 anzeigt. Wie nachstehend erläutert, bewirkt der Syndromdecodierer 485 nach Fig. 37 und 40, daß der falsche Wert des Datenbits 15 invertiert und hierdurch korrigiert wird.
Der Syndromdecodierer 485 nach Fig. 40 erfüllt zwei Aufgaben. Erstens gibt er bei Einzeldatenbitfehlern gemäß Fig. 37 an den Datenbitkomplementierer 487 ein Eingangssignal ab, das veranlaßt, daß das fehlerhafte Bit in dem Datenbitkomplementierer invertiert wird.
Zweitens liefert der Syndromdecodierer 485 bei einem Fehler eines von zwei FehlerSignalen.
Über die Einzelfehlerleitung 495 wird der Zeitgeber- und Steuerlogik 475 ein Einzeldaten- oder Einzelprüfbitfehlersignal zugeführt.
8098 11/08 10
Ein Mehrfachfehlersignal wird der Zeitgeber- und Steuer logik 475 über die Mehrfachfehlerleitung 497 zugeführt.
Ein Mehrfachfehlersignal wird bei allen Doppelbitfehlern und den meisten Drei- oder Mehrbitfehlern erzeugt. Gemäß Fig. 34 bewirkt dieses Mehrfachfehlersignal, wie erwähnt, bei der Zentraleinheit 105 eine Unterbrechung.
Der Aufbau des Syndromdecodierers 485 geht aus Fig. 40 hervor. Zu dem Syndromdecodierer gehören ein Decodierer 507, ein 6-Bit-Paritätsbaum 509 und eine Fehleridentifizierungslogik 511.
Der Decodierer 507 decodiert fünf der sechs Syndrombits, d.h. die Bits S1 bis S5, um ausreichende Informationen in Form von 32 Ausgangssignalen zu liefern, mittels welcher sowohl die Signale für die Art der Fehler (Einzelfehler bzw. Doppel- oder Mehrfachfehler) als auch Signale für die sechzehn Ausgabeleitungen erzeugt werden, die für die Inversion von Datenbitfehlern bei den sechzehn Datenbits benötigt werden. Diese sechzehn Ausgabeleitungen für die Inversion von Datenbitfehlern sind in Fig. 40 in Form der Schiene 493 dargestellt und mit den Bezeichnungen TO bis TI5 versehen.
Die Ausgabeleitungen des Decodierers 507, die nicht an das ODER-Gatter 512 angeschlossen sind, entsprechen den Fehlern bei den sechs Prüfbits. Diese letzteren Fehler brauchen nicht korrigiert zu werden, da es sich nicht um Datenbitfehler handelt, und daher werden diese Ausgangssignale des Decodierers nicht verwendet.
Die übrigen an das ODER-Gatter 512 angeschlossenen Ausgabeleitungen repräsentieren Doppel- oder Mehrfachfehler und sind in Fig. 40 entsprechend bezeichnet. Alle diese Fälle werden durch das ODER-Gatter 512 gesammelt und bilden einen Bestand teil des Mehrfachfehlersignals in der Leitung 497 *m Ausgang der Fehleridentifizierungslogik 511.
809811/0810
Gemäß Fig. 40 gehört zu dem Syndromdecodierer 485 ein Paritätsbaum 509, der die Modulo-2-Summe der Syndrombits SO bis S5 bildet.
Das resultierende geradzahlige oder ungeradzahlige Ausgangssignal des Paritätsbaums 509 entspricht den am unteren Ende der vorstehenden Tabelle genannten Fehlerarten.
Somit entspricht die Ausgangsleitung 514 für geradzahlige Signale Syndromen, bei denen kein Bit ansteht, oder bei denen zwei oder vier oder sechs Bits anstehen.
Das geradzahlige Syndromsignal, das auftritt, wenn keine Bits anstehen, d.h. wenn kein Fehler vorhanden ist, wird aus dem in der Leitung 497 erscheinenden Mehrfachfehlersignal durch ein UND-Gatter 515 ausgeschlossen, das den Fall des Syndrome O, d.h. das andere Eingangssignal des Decodierers 507 für das Gatter 515, ausschließt.
Syndrome, bei denen zwei, vier oder sechs Bits anstehen, stellen somit die einzigen verbleibenden geradzahligen Syndrome dar, die in Kombination mit dem Mehrfachsignal Mehrfachfehlersignale bilden, welche über die Mehrfachfehler-Ausgangsleitung 497 übertragen werden.
Nur bei Einzelbitfehlern ist es erwünscht, daß ein Ausgangssignal in der Einzelfehler-Anzeigeleitung 495 erscheint. Da das ungeradzahlige Ausgangssignal in der Leitung 510 des Paritätsbaums 509 der Tatsache entspricht, daß ein Bit ansteht (PrUfbitfehler), oder daß drei Bits anstehen (Datenbitfehler oder Mehrbitfehler), oder daß fünf Bits anstehen (Mehrbitfehler), wie es am Ende der Tabelle für das 6-Blt-Syndrom angegeben ist, muß das ungeradzahlige Ausgangssignal der Leitung 510 so qualifiziert werden, daß nur Einzelbitfehler über die Logik 511 zu der Leitung 495 übertragen werden. Diejenigen Drei-Bit-Syndromcodes, welche Mehrbitfehlern entsprechen, sowie sämtliche 5-Bit-
80981 1 /0810
Syndromcodes müssen daher ausgeschlossen werden, so daß nur die Einzelbitfehlersignale durch die Leitung 495 übertragen werden. Zu diesem Zweck sind gemäß Fig. 40 ein Inverter 517 und ein UND-Gatter 519 vorhanden.
Ein Einzelfehler-Ausgangssignal wird der Leitung 495 für Syndromcodes zugeführt, die ein einziges 1-Bit enthalten (Prüfbitfehler) sowie für diejenigen Syndromcodes, welche drei 1-Bits enthalten und Datenbitfehlern entsprechen. Wie erwähnt, zeigt das ungeradzahlige Ausgangssignal des Paritätsbaums 509 Syndrome an, bei denen ein, drei oder fünf Bits anstehen. Der Inverter 517 und das UND-Gatter 519 schließen Mehrfachfehler-3-Bit-Syndrome und alle 5-Bit-Syndrome aus. Somit gehören zu den Einzelfehler-Ausgangssignalen in der Leitung 495 nur Einzelprüfbltfehler und Einzeldatenbitfehler. EinzelprUfbitfehler brauchen nicht korrigiert zu werden, und Einzeldatenbitfehler werden durch die Bitkomlementiereinrichtung 487 nach Fig. J57 korrigiert.
Die vorstehend beschriebenen Operationen sind im unteren Teil von Fig. 40 durch die logischen Gleichungen für Mehrfach- und Einzelfehler dargestellt.
Es gibt einige Fehler mit drei oder mehr Bits, die nicht als Mehrfachfehler identifiziert werden und tatsächlich fälschlicherweise als Nichtfehler oder als Einzelbitfehler, d.h. als korrigierbare Fehler, identifiziert werden. Jedoch spielt sich die Fehlersignalerzeugung normalerweise so ab, daß eine Verschlechterung der Speicherung normalerweise nachgewiesen wird, bevor drei Bitfehler auftreten. Beispielsweise würde beim normalen Ablauf der Verschlechterung der Speicherung zuerst ein Einzelbitfehler aufgrund von Rauschen oder eines Versagens eines Schaltungselements auftreten, dann würde ein Doppelbitfehler durch eine zusätzliche Störung hervorgerufen werden, usw., und die Doppelbitfehler würden nachgewiesen, bevor Fehler bei drei oder mehr Bits auftreten könnten.
80981 1/081Ö
Die Datenbit-Komplementiereinrichtung 487 nach Fig. 37 hat die Aufgabe, die durch den Syndromdecodierer 485 nachgewiesenen Datenbitfehler zu invertieren.
Fig. 41 zeigt die Einzelheiten des Aufbaus der Bitkomplementiereinrichtung 487, die sich aus Exklusiv-ODER-Gattern 513 zusammensetzt, von denen jedes ein bestimmtes Datenbit aus einer Leitung 489 invertiert, wenn in einer Leitung 493 ein entsprechendes Decodierer-Ausgangssignal erscheint.
Das korrigierte Ausgangssignal wird dann Über eine Ausgangsleitung 437 der Komplementiereinrichtung 487 als Ausgangssignal des physikalischen Speichermoduls ausgegeben.
Hiermit ist die Beschreibung des Fehlernachweis- und -korrektursystems abgeschlossen.
Das erfindungsgemäße Speichersystem weist mehrere wichtige Merkmale auf.
Erstens sind bei der Speicherkarte vier getrennte logische Adressenbereiche für den Systemcode, Systemdaten, den Benutzercode und Benutzerdaten vorhanden, und innerhalb dieser Adressenbereiche werden logische Adressen in physikalische Adressen übersetzt.
Durch die Unterteilung des logischen Speichers in die vier Adressenbereiche werden die Systemprogramme gegenüber den Aktionen der Benutzerprogramme isoliert, so daß die Systemprogramme gegen alle Fehler seitens der Benutzer geschützt sind. Ferner ermöglicht es die Unterteilung in vier logische Adressenbereiche, den Code und die Daten sowohl bezüglich des Benutzercodes und der Benutzerdaten als auch bezüglich des Systemcodes und der Systemdaten voneinander getrennt zu halten. Hieraus ergibt sich der Vorteil, daß mit nicht modifizierbaren Programmen gearbeitet werden kann.
6 0 981 1/0816
aw
Innerhalb jedes Karteneintrags stehen spezielle Felder für diese Seitenadressenubersetzung sowie für andere spezielle Bedingungen zur Verfügung.
Ein Feld ermöglicht es, logische Seitenadressen in physikalische Seitenadressen zu übersetzen.
Ein weiteres Feld liefert eine Abwesenheits- oder Fehlanzeige in Form eines Abwesenheitsbits, das die Realisierung eines virtuellen Speicherplans ermöglicht, wenn sich logische Seiten in einem sekundären Speicher befinden können.
Bei einem weiteren Feld handelt es sich um das Feld für die Benutzungsgeschichte, das es ermöglicht, die Häufigkeit der Benutzung bestimmter Informationen zum Gebrauch durch die Speicherverwaltungsfunktion des Betriebssystems zu verfolgen, so daß sich das virtuelle Speichersystem wirtschaftlich ausnutzen läßt. Häufig benutzte Seiten werden im primären Speicher festgehalten, und nur selten benutzte Seiten werden für erforderlich werdende Überlagerungen gewählt.
In jedem Eintrag der Systemdatenkarte wird ein Feld für ein schmutziges Bit und die Benutzerdatenkarte bereitgehalten, so daß nicht modifizierte Datenseiten identifiziert werden können. Die so identifizierten nicht modifizierten Datenseiten werden nicht aus dem sekundären Speicher umgelagert, da eine gültige Kopie einer solchen Datenseite bereits im sekundären Speicher vorhanden ist.
Zu dem Speichersystem gehört eine Kartenspeicher-Steuerlogik, die automatisch die Bezugsinformationen und das schmutzige Bit festhält, wenn die Zentraleinheit und der Ein-Ausgabe-Kanal Zugriff zum Speicher nehmen.
Bei dem erfindungsgemäßen Speichersystem kann mit drei Befehlen
60901 1 /0810
der Zentraleinheit, d.h. den Befehlen SMAP, RMAP und AMAP, gearbeitet werden, die durch die Speicherverwaltungsfunktion des Betriebssystems verwendet werden, um die Informationen in der Karte auf dem laufenden zu halten und zu benutzen.
Bei dem erfindungsgemäßen Speichersystem ist der Speicher über zwei Zugänge zugänglich. Hierbei sind getrennte Zugriffe zum Speicher durch die Zentraleinheit und den Ein-Ausgabe-Kanal möglich. Um einen Zugriff zum Speicher durch den Ein-Ausgabe-Kanal durchzuführen, wird die Zentraleinheit nicht benötigt, so daß die Zentraleinheit andere Aufgaben erfüllen kann, während ein Ein-Ausgabe-Kanal Daten zu oder aus dem Speicher überträgt.
Das Vorhandensein von zwei Zugängen zum Speicher bedingt eine Entscheidung durch die Kartenspeicher-Steuerlogik für den Fall, daß sowohl die Zentraleinheit als auch der Ein-Ausgabe-Kanal gleichzeitig einen Zugriff zum Speicher versuchen. In einem solchen Fall erhält der Ein-Ausgabe-Kanal die Priorität, und die Zentraleinheit wartet, bis der jeweilige Zugriff durch den Ein-Ausgabe-Kanal abgeschlossen ist.
Der physikalische Speicher läßt sich durch Hinzufügen physikalischer Speichermodule erweitern.
Im Fall eines Halbleiterspeichers ist bei den physikalischen Speichermodulen unter bestimmten Bedingungen der Nachweis und die Korrektur von Fehlern möglich. Einzelfehler werden nachgewiesen und korrigiert, so daß der Betrieb der Zentraleinheit und des Ein-Ausgabe-Kanals auch dann fortgesetzt werden kann, wenn zeitweilige oder bleibende Störungen beim physikalischen Speichermodul auftreten. Bei dem Fehlernachweis- und -korrektursystem wird mit einem 22-Bit-Wort im Speichermedium gearbeitet. Hierbei repräsentieren 16 Bits die Daten, während sechs Bits ein Fehlernachweis- und -korrektur- bzw. -prüffeld bilden. Das Prüffeld mit sechs Bits ermöglicht den Nachweis und die Korrektur
R0981 1 /081 ü
sämtlicher Einzelfehler sowie den Nachweis aller Doppelfehler.
Der Kernspeicher enthält Paritätssignale für den Nachweis von Einzelfehlern.
Bei dem erfindungsgemäßen Multiprozessorsystem ist jeder Prozessormodul mit einem eigenen primären Speichersystem versehen.
Da bei jedem Prozessormodul ein eigenes Speichersystem vorhanden ist, werden bei dem Multiprozessorsystem die Probleme vermieden, die sich bei einem mehrfach ausgenutzten Speicher ergeben können.
Zu den Problemen, die sich bei einem Multiprozessorsystem mit einem mehrfach ausgenutzten Speicher ergeben können, gehört die Tatsache, daß wegen des Konkurrenzbetriebs für einen bestimmten Prozessor nur eine verringerte Speicherbandbreite zur Verfugung steht, was sich um so schwerwiegender auswirkt, wenn zusätzliche Zentraleinheiten mit einem mehrfach ausgenutzten Speicher zusammengeschaltet werden.
Ferner werden gemäß der Erfindung die Probleme der Verriegelung beim Verkehr zwischen Zentraleinheiten durch Bereiche innerhalb eines gemeinsam benutzten Speichers vermieden, denn es ist kein solcher gemeinsam benutzter Speicher vorhanden, und der Verkehr zwischen den Prozessormodulen wird durch ein Interprozessorschienensystem vermittelt.
Bei einem gemeinsam benutzten Speicher besteht ein weiteres Problem darin, daß eine Störung bei diesem Speicher zu einem gleichzeitigen Versagen einiger oder sämtlicher Zentraleinheiten des Systems führen kann. Mit anderen Worten, bei einem System mit einem mehrfach ausgenutzten Speicher kann eine einzige Speicherstörung zu einer Unterbrechung des Betriebs eines Teils des Systems oder des gesamten Systems führen; bei dem
»0981 1/0810
erfindungsgemäßen Multiprozessorsystem tritt jedoch eine solche Folge bei einer Speicherstörung nicht ein.
Gemäß der Erfindung ermöglichen es die getrennten Adressenregister und die getrennten Datenregister, Daten zum und vom Speicher zu übertragen, da der Speicher für die Zentraleinheit und den Ein-Ausgabe-Kanal über zwei Zugänge zugänglich ist.
Zu der Zentraleinheit gehört ein spezielles NI-Register, das zum Aufnehmen von Befehlen aus dem Speicher dient und ein überlappendes Abrufen des nächsten Befehls während der Durchführung des laufenden Befehls ermöglicht, bei welch letzterer Daten aus dem Speicher ausgelesen werden können. Daher kann am Ende eines laufenden Befehls der nächste Befehl sofort eingeleitet werden, ohne daß ein Befehlsabruf abgewartet zu werden braucht.
Die Karte ist so aufgebaut, daß ein Zugriff zu ihr erheblich schneller möglich ist als zum physikalischen Hauptspeicher. Hieraus ergeben sich mehrere Vorteile bezüglich des Übersetzens von Adressen durch die Karte.
Beispielsweise kann bei dem erfindungsgemäßen Speichersystem die Karte in der Zeit neu geschrieben werden, während der Zugriff zum physikalischen Speicher abgewickelt wird.
Da sich das erneute Schreiben so schnell abspielt, führt das erneute Schreiben der Karte nicht zu einer Verlängerung der Zykluszeit des Speichers.
Ferner führt die hohe Geschwindigkeit, mit der Zugriff zur Karte genommen werden kann, zu einer Verkürzung der Gesamtzeit einschließlich der für einen Speicherzugriff erforderlichen SeitenUbersetzung.
6 0 98 1 1/0810
Die Parität wird bei der tatsächlichen Kartenspeicherun& aufrechterhalten und geprüft. Somit werden sämtliche Fehler bei der Kartenspeicherung sofort angezeigt, bevor ein fehlerhafter Betrieb bei dem Prozessormodul möglich ist.
809811/0810

Claims (1)

  1. ANSPRÜCHE
    "Ί .J Multiprozessor system, bei dem getrennte Proxessormodule miteinander verbunden sind, um eine Parallelverarbeitung von Daten zu ermöglichen, dadurch gekennzeichnet, daß zu dem Multiprozessorsystem (31) mehrere getrennte Prozessormodule (38) gehören, und daß Interprozessorschienen (35) vorhanden sind, die getrennt von einem Ein-Ausgabe-System (39) und einem Speichersystem einen direkten Informationsaustausch zwischen einem Prozessormodul und einem anderen Prozessormodul ermöglichen.
    2. System nach Anspruch 1, dadurch gekennzeichnet, daß zu den Interprozessorschienen eine Interprozessorschiene (35) gehört, und daß bei jedem Prozessormodul (33) eine Interprozessorsteuereinrichtung (55) vorhanden ist, die es ermöglicht, den Prozessormodul mit der Interprozessorschiene zu verbinden, um einen Informationsaustausch mit einem anderen Prozessormodul zu ermöglichen, sowie eine Schienensteuereinrichtung (37)* die der Interprozessorschiene und jeder Interprozessor-Steuereinrichtung betriebsmäßig zugeordnet ist und dazu dient, die Priorität von Datenübertragungen zwischen zwei beliebigen Prozessormodulen über die Interprozessorschiene zu bestimmen und die Datenübertragungen über die Interprozessorschiene zu steuern.
    3. System nach Anspruch 2, dadurch gekennzeichnet, daß zu jedem Prozessormodul (33) ein eigener Speicher (I07) gehört, so daß das Versagen eines einzelnen Speichers nicht zum Versagen des gesamten Systems (3I) führt.
    4. System nach Anspruch 3* dadurch gekennzeichnet, daß zu der Schienensteuereinrichtung (37) eine logische Prozessorwähleinrichtung (85) und einzelne Wählleitungen (63) gehören, von denen jede von der logischen Prozessorwänleinrichtung zu einem Prozessormodul (33) führt, um sicherzustellen, daß es in jedem
    80981 1 /0810
    ORIGINAL INSPECTED
    Zeitpunkt jeweils einem und nur einem Prozessormodul möglich ist, Daten über die Interprozessorschiene (35) zu senden.
    5. System nach Anspruch 4, dadurch gekennzeichnet, daß die logische Prozessorwähleinrichtung (85) Wählsignale über die einzelnen Wählleitungen (63) verteilt, um die Übertragung von Daten über die Interprozessorschiene (35) derart zu bewirken, daß ein Versagen eines Prozessormoduls (33) die Interprozessorschiene nicht betriebsunfähig macht und nicht verhindert, daß andere Prozessormodule Informationen über die Schiene austauschen.
    6. System nach Anspruch 4, dadurch gekennzeichnet, daß zu der Schienensteuereinrichtung (37) ferner eine den Steuerzustand der Schiene bestimmende logische Einrichtung (81) gehört, die dazu dient, ein Sender-Empfänger-Paar von Prozessormodulen (33) und einen Zeitrahmen für die Übertragung von Informationen über die Schiene (35) zwischen den beiden Prozessoren festzulegen.
    7. System nach Anspruch 6, dadurch gekennzeichnet, daß die Wählleitungen (63) bei dem Protokoll zur Festlegung des Sender-Empfänger-Paars von Prozessormodulen (33) und des Zeitrahmens auf drei verschiedene Weisen benutzt werden, und zwar erstens zur Durchführung eines Abrufs, um festzustellen, ob der gewählte Prozessormodul sendebereit ist, und um es ihm zu ermöglichen, die vorgesehene Empfängernummer über die Schiene (35) zu senden, zweitens um in Verbindung mit einem Empfangsbefehl den gewählten EmpfängerprozesBormodul abzufragen, ob dieser empfangsbereit ist, und um drittens in Verbindung mit einem Sendebefehl für den gewählten Senderprozessormodul den Zeitrahmen für den Sendevorgang zu bestimmen und es ihm zu ermöglichen, die Daten zu der Schiene zu übertragen.
    8. System nach Anspruch 6, gekennzeichnet durch eine Qual'ifizierungseinrichtung zum Freigeben des Empfängerprozessormoduls
    80981 1 /0810
    (33) für den Empfang von einem anderen Prozessormodul, die durch den Empfängerprozessormodul nicht verlangt worden sind, und ohne daß für den Empfang der eintreffenden Daten ein Software-Befehl verwendet wird.
    9. System nach Anspruch 8, dadurch gekennzeichnet, daß zu der Q.ualifizierungseinrichtung die Kombination eines Wählsignals aus der Wählleitung (63) der logischen Prozessorwähleinrichtung (85) für den Empfängerprozessormodul (33) mit einem Empfangsbefehlssignal aus der logischen Einrichtung (81) für den Steuerzustand der Schiene (35) zu dem Empfängerprozessormodul gehört.
    10. System nach Anspruch 9, dadurch gekennzeichnet, daß die Schienensteuereinrichtung (37) andere Prozessormodule (33) daran hindern, zu versuchen, gleichzeitig mit dem bestimmten Prozessormodul Daten über die Schiene (35) zu übertragen.
    11. System nach Anspruch 4, dadurch gekennzeichnet, daß zu jeder Verbindung zwischen der Interprozessorschiene (35) und einem Prozessormodul (33) mehrere gemeinsame Datenwegleitungen gehören, die von allen Modulen des Multlprozessorsystems (31) gemeinsam benutzt werden, ferner mehrere gemeinsame Schienenprotokolle itungen (59)* ein Taktgenerator (91), dessen Taktsignale durch einzelne Leitungen (61) verteilt werden, sowie mehrere logisch unterschiedene WählIeitungen, von denen jedem Prozessormodul eine zugeordnet ist.
    12. System nach Anspruch 11, dadurch gekennzeichnet, daß die Schienensteuereinrichtung (37) und die Interprozessorsteuereinrichtung (55) der Interprozessorschiene (35) in betriebsmäßiger Zuordnung die nachstehend genannten Signale in der angegebenen Folge zuführen: ein SendeanforderungesiKnal von jedem eendebereiten Prozessormodul (33)* um die Schienensteuereinrichtung zu veranlassen, ihren Leerlaufzuetand zu
    η 0 9 811 /na 1 π
    beenden und einen Abrufνorgang zu beginnen, ein Wählsignal von der Schienensteuereinrichtung aus, um nacheinander Jeden Prozessormodul aufzurufen, bis ein Bendebereiter Frozessormodul identifiziert 1st, ein Sendebestätigungssignal, das zusammen mit der Nummer des Empfängerprozessormoduls über die Datenleitungen von einem sendebereiten Frozessormodul in Abhängigkeit von dem Wählsignal der Schienensteuereinrichtung abgegeben wird, ein Wählsignal, das zusammen mit dem Empfangsbefehlssignal und der Nummer des identifizierten Senderprozessormoduls Über die Datenleitungen von der Schienensteuereinrichtung abgegeben wird, um den Empfangsbereitschaftszustand de· identifizierten Empfängerprozessormoduls abzufragen, ein Empfangsbestätigungssignal, das von dem Empfängerprozessormodul abgegeben wird, um den Empfangsbereltschaftszustand anzuzeigen, und zwar in Abhängigkeit von dem Wählsignal und dem Empfangsbefehlssignal aus der Schienensteuereinrichtung, sowie ein Wählsignal, das zusammen mit dem Sendebefehlsslgnal von der Schienensteuereinrichtung in Abhängigkeit von einer positiven Erapfangsbestätlgungsanzeige abgegeben wird, um es dem Senderprozessormodul zu ermöglichen, nacheinander mehrere Datenwörter über die Datenleitungen zu dem Empfängerprozessormodul zu übertragen, woraufhin die Schienensteuereinriohtung in ihren Leerlaufzustand zurUckkehrt.
    13. Syste« nach Anspruch 3> dadurch gekennzeichnet, daß zu der Interprozessor-Steuereinrichtung (55) eine Eingabewartesohlangenelnrichtung (65) gehört, die Daten aus der Interprozessorschlene (35) aufnimmt, um sie zu dem Prozessormodul (33) zu Übertragen, sowie eine Ausgabewartesohlangeneinrichtung (67) zum übertragen von Daten von dem Prozessormodul zu einem anderen Prozessormodul Über die Interprozessorschien·.
    14. System nach Anspruch 13, dadurch gekennzeichnet, daß zu Jedem Prozessormodul (33) eine Zentraleinheit (103) gehört, daß zu der Schienensteuereinrichtung (37) ein Schienentaktgene-
    80981 1/0810
    rator (91) gehört, und daß jede Zentraleinheit einen eigenen getrennten Taktgenerator und Verriegelungseinrichtungen (81) aufweist, die der Eingabewartesohlangeneinrichtung (65) und der Ausgabewarteschlangeneinrlchtung (67) betriebsmäßig zugeordnet sind und dazu dienen, einen Teil der Eingabewartesohlang^neinrichtung und einen Teil der Ausgabewarteschlangeneinriohtung synchron mit der Interprozessorschiene (35) bei der Schienentaktfrequenz zu betreiben, und um einen anderen Teil der Eingabewarteschlangeneinrichtung und einen anderen Teil der Ausgabewarteschlangeneinrichtung synchron mit der Zentraleinheit jedes Prozessormoduls mit einer eigenen getrennten Taktfrequenz zu betreiben, ohne daß Daten verloren gehen, um hierdurch die Notwendigkeit der Verwendung eines Haupttaktgebersystems zu vermeiden, das als einziger Bestandteil des Multiprozesaorsystems (31) versagen und zum Ausfall des gesamten Multiprozessorsystems führen könnte.
    15. System nach Anspruch 14, dadurch gekennzeichnet, daß die Informationen über die Interprozessorschien· (35) mit einer Geschwindigkeit übertragen werden, die erheblich höher ist, als es bei direkten Speloherzugriffen zu und aus den Speicherteilen (IO7) der Prozessormodule (33) möglich sein würde, um hierdurch eine ausreichende Verfügbarkeit der Interprozessorschlene auch dann, zu gewährleisten, wenn an das Multlprozessorsystem (31) eine große Zahl von Prozessormodulen angeschlossen 1st.
    16. System nach Anspruch 14, dadurch gekennzeichnet, daß
    zu der Elngabewarteschlangenelnrichtung (65) eine Schienenfüllzustandslogik (93) und zu der Ausgabewarteschlangeneinriohtung (67) eine Sohienenleerzustandslogik (75) gehört, die synchron mit dem Sohlenentaktgenerator (91) arbeiten, und daß zu der Eingabewarte schlangeneinriohtung eine Prozessorleerzuetandslogik (101) und zu der Ausgabewartesohlangeneinrichtung eine Prozessor· fUllzustandslogik (73) gehört, die synchron mit dem Taktgenerator der Zentraleinheit (IO5) arbeiten.
    809811/08 10
    274005g
    17. System nach Anspruch 16, dadurch gekennzeichnet« daß zu der Verriegelungseinrichtung (81) logische Verriegelungen zwischen der Prozessorfüllzustandslogik (73) und der Schienenleerzustandslogik (75) der Ausgabewarteschlangeneinrichtung (67) sowie zwischen der Prozessorleerzustandsloglk (101) und der SchienenfUllzustandslogik (93) der Eingabewarteschlangenei nr ic htung (65) gehören, und daß die logischen Verriegelungen bestirnte übergänge der Logik aus einem Zustand in einen anderen Zustand qualifizieren und den fehlerfreien Betrieb von den betreffenden Taktfrequenzen unabhängig machen.
    18. System nach Anspruch 13, dadurch gekennzeichnet, daß zu den Schienensteuereinriohtungen (87) eine Prozeseorwähllogik (85), eine Schienensteuerzustandslogik (81), ein Schienentaktgenerator (91), ein Datenpaketzähler (89), ein Senderregister (95) und ein Empfangsregister (7I) gehören.
    19. System nach Anspruch I3, dadurch gekennzeichnet, daß zu jeder EingabewarteSchlangeneinrichtung (65) eine SchienenfUllzustandslogik (93), eine Prozessorleerzustandslogik (101), ein Eingabewarteschlangenzähler (99)« ein Eingabewarteschlangenpuffer (97) und ein Senderregister (95) gehören.
    20. System nach l"ipruoh 14, dadurch gekennzeichnet, daß eine zweite Interprozessorschiene (35) und eine zweite Schienensteuereinrichtung (37) vorhanden ist, und daß zu der Interprozessorsteuereinrichtung (55) Jedes Prozessormoduls (33) ein Eingabewarteschlangenpuffer (65) für jede Interprozessorschiene und ein durch beide Interprozessorschienen gemeinsam benutzter AusgabewarteSchlangenpuffer (67) vorhanden sind, und daß die InterprozesBorsteuereinriohtungen das Füllen des Ausgabewarteschlangenpuffers und das Leeren der Eingabewarteschlangenpuffer mit der Speichergeschwindigkeit der Zentraleinheit (105) sowie das Leeren des Ausgabewarteschlangenpuffers und das Füllen der Eingabewarteschlangenpuffer mit der Taktfrequenz der Interprozessorschiene bewirken.
    809811/0810
    21. System naoh Anspruch 20, dadurch gekennzeichnet, daß zu jeder AusgabewarteSchlangeneinrichtung (67) eine Schienenleerzustandslogik (75)* eine ProzessorfUllzustandslogik (73)« ein Ausgabewarteschlangenzähler (77)* ein Ausgabewarteschlangenpuffer (69), ein Empfangsregister (71) und ein Ausgabewarteschlangenieiger (79) zum Verbinden des Ausgabewarteschlangenpuffers mit jeweils einer der beiden Interprozessorechienen (35) gehören.
    22. System nach Anspruch 3« gekennzeichnet durch mehrere Interprozessorschienen (35)* die jedem Prozeeeormodul (33) betriebemäßig zugeordnet sind, wobei jeder Interprozessorschiene eine gesonderte Schienensteuereinrichtung (37) betriebsmäßig zugeordnet ist, um die Priorität von Datenübertragungen zwischen zwei beliebigen Prozessormodulen über jede Interprozeesor· schiene zu bestimmen.
    23. System nach Anspruch 22, dadurch gekennzeichnet, daß es jedem Prozessormodul (33) möglich ist, eine beliebige der Interprozessorsohienen (35) auf einer Zeitmultiplexbasis zu benutzen.
    24. System nach Anspruch 23, gekennzeichnet durch Einrichtungen, die es ermöglichen, sämtliche Interprozessorschienen (35) und Schienensteuereinrichtungen (37) gleichzeitig und unabhängig voneinander zu betätigen, um mehrere Verbindungswege zwischen den getrennten Prozessormodulen (33) zu schaffen.
    25. System nach Anspruch 24, dadurch gekennzeichnet, daß die Schienenateuereinrichtung (37) und die Interprozessorsteuereinrichtung (55) für jeden Prozeeeormodul (33) einander betriebsmäßig so zugeordnet sind, daß es jedem Prozessormodul möglich ist, Daten zu einem beliebigen Prozessormodul unter Einschluß seiner selbst zu diagnostischen Zwecken über eine beliebige Interprozessorsohiene (35) zu senden.
    80981 1/0810
    £740056
    26. System nach Anspruch 14, dadurch gekennzeichnet, daß
    die Schienensteuereinrichtungen (37) die gesamte Interprozessorschienenverwaltung parallel mit der Berechnung durch den Empfängerprozessormodul (33) durchführen, so daß keine Datenverarbeitungsleistung bezüglich des Protokolls zur Gewährung der Erlaubnis zur Benutzung der Schiene oder bezüglich der übertragung von Daten über die Interprozessorschiene vergeudet wird.
    27. System naoh Anspruch 14, dadurch gekennzeichnet, daß zu jeder Zentraleinheit (105) ein Mikroprozessor (113) und ein Mikroprogramm (115) gehören,und daß der Mikroprozessor der Zentraleinheit durch das Mikroprogramm der Zentraleinheit gesteuert wird und mit der Interprozessorsteuereinriohtung (55) nur während des Leerene der Eingabewarteschlange und des Füllens der Ausgabewarteschlange zusammenarbeitet, wobei die tatsächliche übertragung des Datenpakets unter der steuernden Wirkung der Schienensteuereinrichtung (37) erfolgt.
    28. System nach Anspruch 13, dadurch gekennzeichnet, daß die Interprozessorsteuerelnrichtungen (55) der Proseesormodule (33) die übertragung und den Empfang der Daten über die Interprozessorsohiene (35) in Form von Paketmultiplex-Blockübertragungen durchführen, wobei sich die Blöoke aus einseinen Paketen mit einer vorbestimmten Anzahl von Wörtern zusammensetzen.
    29. System naoh Anspruch 28, dadurch gekennzeichnet, daß Jedem Prozessormodul (33) mehrere Interprozessorschienen (35) betriebsmäßig zugeordnet sind, daß jeder Interprozessorschiene eine gesonderte Schienensteuereinrichtung (37) betriebsmäßig zugeordnet 1st, um die Priorität der Datenübertragungen zwischen zwei beliebigen Prozessoraodulen über jede Interprosessorschlene zu bestimmen, und daß zu der Eingabewarteschlangeneinrlchtung (65) Jedes Prozessormoduls Eingabewarteschlangen gehören, die jeder Interprozessorschiene betriebsmäßig zugeordnet sind.
    80981 1/0810
    30. System nach Anspruch 28, gekennzeichnet durch dem Sender-Prozessormodule (33) zugeordnete Firmware-Anordnungen, die die gesamte Datenblockilbertragung durchführen, wobei diese übertragung durch einen einzigen Sendebefehl eingeleitet wird.
    31. System nach Anspruch 30, gekennzeichnet durch logische Schienensteuerzustandseinrichtungen (81), die den Schienensteuereinrichtungen (37) zugeordnet sind und dazu dienen, ein Sender-Empfänger-Paar von Prozessormodulen (33) und einen Zeitrahmen für eine DatenpaketUbertragung über die Interprozessorschiene (35) zwischen den beiden Prozessormodulen zu bestimmen.
    32. System nach Anspruch 31» dadurch gekennzeichnet, daß eine Mikrounterbreohungseinrichtung vorhanden ist, mittels welcher ein Mikrounterbreohungssignal dem Mikroprozessor (113) des Empfängerprozessormoduls (33) nach dem Absohluß Jedes Füllens einer Eingabewarteschlangeneinrichtung (65) zugeführt wird, und daß ein Programmunterbreohungssignal der Zentraleinheit (105) des Erapfängerprozessormoduls nur zugeführt wird, nachdem der gesamte Datenblock vom Empfängerprozessormodul empfangen worden ist.
    33. System nach Anspruch 31, dadurch gekennzeichnet, daß sich die Interprozessorsteuereinrichtung (55) eines Empfängerprozessormoduls (33) &ni Ende jeder DatenpaketUbertragung logisch von der Interprozessorschiene (35) abschaltet, um es der logischen Sohienensteuerzustandseinrichtung (81) zu ermöglichen, ein anderes Sender-Empfänger-Paar von Prozessormodulen und einen Zeitrahmen für die Übertragung eines Datenpakets zwischen den beiden anderen Prosessormodulen zu bestimmen, so daß es möglich ist, mehrere Datenblockübertragungen zwischen verschiedenen Sender-Empfänger-Paaren von Prozessormodulen in der Interprozessorschiene (35) zeitlich so zu veraahnen, daß sich scheinbar ein Simultanbetrieb ergibt.
    Θ0981 1/0810
    274005$
    Jh. System nach Anspruch 33* gekennzeichnet durch eine der Schienensteuereinrichtung (37) augeordnete Abrufeinrichtung zum Abrufen jedes Prozessormodul8 (33) in Form eines Rundrufs, um festzustellen, welche Prozessormodule Daten Über die Interprozessorschiene (35) zu senden wünschen, so daß Gewähr dafür besteht, daß allen Prozessormodulen gleiche Möglichkeiten gegeben werden, Daten über die Interprozessorschiene zu senden.
    35. System nach Anspruch 29, dadurch gekennzeichnet, daß zu dem Speicher (107) jedes Prozessormoduls (33) eine Empfängerpuffereinrichtung (138) für Datenübertragungen aus jeder Kombination eines Prozessormoduls (33) und einer Interprozessorschiene (35) gehört, und daß eine Sohienenempfangstabelle (150) vorhanden ist, die es ermöglicht, eintreffende Daten aus einer Interprozessorschiene einer bestimmten Stelle in einem zugehörigen Puffer im Speicher des Empfängerprozessormoduls zuzuführen.
    36. System nach Anspruch 35* dadurch gekennzeichnet, daß die Schienenempfangstabelle (I50) des Empfängerprozessormoduls (33) einen Sohienenempfangstabellenelntrag liefert, der die laufende Adresse enthält, wo die eintreffenden Daten gespeichert werden sollen, sowie die verbleibende Anzahl von Wörtern, die von dem Senderprozessormodul zu erwarten sind.
    37. System nach Anspruch 35* gekennzeichnet durch ein bei dem Empfängerprozessormodul (33) vorhandenes Empfangsmikroprogramm (121), das der Eingabewarteschlangeneinrichtung (65) und der Schienenempfangstabelle betriebsmäßig zugeordnet ist und dazu dient, die empfangenen Daten im Speicher (IO7) des Emfängerprozessormoduls zu speichern und das Zählergebnis und die Adressenwörter ia Schienenempfangstabelleneintrag zu aktualisieren, ohne daß eine Unterbrechung für das gerade im Empfängerprozessormodul ablaufende Software-Programm sichtbar
    809811/0810
    £74005$
    ist, so daß der Empfang von Daten duroh den Prozesaormodul für das gerade unabhängig ablaufende Software-Programm bei der Zentraleinheit (105) des Empfängerprozessormoduls auf transparente Weise erfolgt.
    38. System nach Anspruch 37, dadurch gekennzeichnet, daß der Schienenempfangetabelleneintrag durch die Firmware aktualisiert wird, nachdem jeweils ein Datenpaket von dem Empfängerprozessormodul (33) empfangen worden ist, und daß der Eintrag zusammen mit der Firmware eine Programmunterbrechung herbeiführt, wenn der gesamte Datenblock empfangen worden ist, was durch die Erschöpfung des Zählergebnisses für die restlichen Wörter in dem Schienenempfangetabelleneintrag angezeigt wird.
    39. System nach Anspruch 37, dadurch gekennzeichnet, daß das Schienenempfangsmikroprogramm (121) ein Schienenempfangs-Abschlußunterbrechungssignal dem Software-Programm zuführt, das gerade in dem Empfängerprosessormodul (33) abläuft, und zwar nur in Abhängigkeit von dem erfolgreichen Abschluß der Übertragung eines Datenblooks zu dem Empfängerprozessormodul oder von dem Nachweis eines Fehlers durch das Schienenempfangsmikroprogramm.
    40. System nach Anspruoh 29, dadurch gekennzeichnet, daß bei jedem Prozeseormodul (33) eine Empfangeeteuereinrichtung vorhanden ist, um die Fähigkeit des Prozessormodule, Datenpakete über Jede Interprozessorsohiene (35) zu empfangen, zu kontrollieren.
    41. System nach Anspruoh 40, dadurch gekennzeichnet, daß bei jedem Prozessormodul (33) eine Schieneneupfangstabelle (I50) vorhanden ist, um eintreffende Daten einer bestimmten Stelle im Speicher zuzuführen, und daß zu der Empfängersteuereinrichtung eine Maskenregistereinrichtung gehört, die eine Verriegelung bewirkt, um den Empfang zusätzlicher Daten über eine Interpro-
    809811/0810
    zessorschiene (35) zu verhindern, bis bestimmte kritische Operationen, z.B. die Aktualisierung der Sehienenempfangetabelle durch die Software, abgeschlossen sind.
    42. System naoh Anspruch 41, dadurch gekennzeichnet, daß zu den Empfängersteuereinriohtungen ein Abschlußunterbreohungekennzeichen gehört, das durch ein Schienenempfangs-Milcroprograaa im Prozessormodul (33) gesetzt wird.
    43. System nach Anspruch 42, dadurch gekennzeichnet, daß zu den Empfängersteuereinrichtungen bei jeder einer Interprozessorschlene (35) entsprechenden Zentraleinheit (1Q5) ein Unterbrechungsmaskenregister gehört, bei dem eine Maske vorhanden ist, die bei der betreffenden Schiene Mikrounterbrechungen zuläßt, wenn das Naskenbit ansteht.
    44. System nach Anspruch 29, dadurch gekennzeichnet, daß zu jedem Prozessormodul (33) ein Sendemikroprogramm und ein Mikroprozessor bei der Zentraleinheit (105) gehören, die mit der Ausgabewarteschlangeneinrlchtung (67) der Interprozessorsteuereinriohtung (55) zusammenarbeiten, um einen Datenblock aus dem Speicher auszulesen, um den Datenblock in Datenpakete zu unterteilen, um für die Datenwörter jedes Datenpakets eine Paketprüfsumme zu bereohnen und hinzuzufügen, und um den Datenblook Jeweils paketweise über die Interprozeseorschlene (35) zu dem Empfängerprozessormodul zu übertragen.
    45. System nach Anspruch 44, gekennzeichnet durch ein bei dem EmpfSngerprozessormodul (33) vorhandenes Schienenempfangsmikroprogramm zum Aufnehmen eines empfangenen Datenpakets aus einer Eingabewarteschlangeneinrichtung (65),zum Speichern der Daten in einem Speicherpuffer und zum Prüfen der richtigen Paketprüfsumme.
    46. System naoh Anspruch 45, gekennzeichnet durch eine bei dem Empfängerprozessormodul {J>J>) vorhandene Schienenempfangs-
    80981 1 /0 8 1 0
    2740058
    tabelle (15O)* die dem Schienenempfangsmikroprogramm betriebsmäßig zugeordnet ist und dazu dient, die Datenpakete wieder zu Datenblöcken zusammenzustellen.
    47. System nach Anspruch 46, dadurch gekennzeichnet, daß es die Schienenempfangstabelle (150) und das Schienenempfangsmikroprogramm ermöglichen, von mehreren SenderProzessormodulen (33) stammende Datenblöcke unter zeitlicher Verzahnung aus Paketen zusammenzustellen, und daß ein zeitlicher verzahntes Zusammenstellen von Datenblöcken aus Paketen und die Fehlerprüfung so durchgeführt werden können, daß diese Vorgänge für das im Empfängerprozessormodul ablaufende Software-Programm transparent sind.
    48. System nach Anspruch 29, gekennzeichnet durch Fehlerprüfeinrichtungen, die gewährleisten, daß die Daten über jede Interprozessorschlene (35) fehlerfrei übertragen und empfangen werden.
    49. System nach Anspruch 48, dadurch gekennzeichnet, daß zu der FehlerprUfelnriohtung die Hin«ufügung eines Prüfwortes gehört, das eine Prüfsumme der Datenwörter als letztes Wort innerhalb jedes Datenpakets zum Prüfen der richtigen Übertragung des Datenpakets enthält.
    50. System nach Anspruch 49, gekennzeichnet durch ein Senderprozessormodul-Mikroprogramm zum Erzeugen der Prufsumme und durch ein Empfängerprozessormodul-Mikroprogramm zum Vergleichen der Prüfsumme sum Zweck der Prüfung der Vollständigkeit der übertragung.
    51. System nach Anspruch 50* dadurch gekennzeichnet, daß zu der FehlerprUfeinriohtung eine zusätzliche Prüfung der gesamten Nachricht gehört, um zu gewährleisten, daß kein Datenpaket verloren geht.
    809811/0810
    52. System nach Anspruch 29, dadurch gekennzeichnet, daß einem Datenblock, der in Form eines oder mehrerer Pakete über eine Interprozessorschiene (35) gesendet wird, stets ein Kontrollpaket vorausgeht und stets ein Nachlaufpaket folgt.
    5^. System nach Anspruch 52, dadurch gekennzeichnet, daß das Kontrollpaket die Nachricht identifiziert und anzeigt, wieviele Daten als Bestandteil der Nachricht zu empfangen sind.
    54. System nach Anspruch 53» dadurch gekennzeichnet, daß das Nachlaufpaket anzeigt, ob während der Datenübertragung ein Fehler aufgetreten ist, und daß es ermöglicht zu erkennen, ob zu wenige oder zu viele Daten übertragen worden sind.
    55. System nach Anspruch 29, gekennzeichnet durch eine Einrichtung zum Erzeugen eines Warnsignals beim Versagen der Stromversorgung, die der Eingabewarteschlangeneinrichtung (65) betriebsmäßig zugeordnet und so ausgebildet ist, daß die Eingabewarte Schlangeneinrichtung höchstens mit einem weiteren Datenpaket geladen werden kann, nachdem ein das Versagen der Stromversorgung anzeigendes Signal empfangen worden ist.
    56. Sy·tea nach Anspruch 3, dadurch gekennzeichnet, daß zu jedem Prozessormodul ^ 23) eine logische Einrichtung gehört, die so ausgebildet ist, daß in einer Interprozessorschiene (35) keine Einschwingvorgänge auftreten, weil die Prozessormodullogik ihre Stromversorgung verliert, während der Prozessormodul abgeschaltet wird, so daß sich jeder Prozessormodul abschalten läßt, um die Durchführung von Wartungsarbeiten während des Direktbetriebs zu ermöglichen, und daß man an das Multiprozessorsystem (31) weitere Prozessormodule anschalten kann, ohne den Betrieb des Multiprozessorsystems zu unterbrechen.
    57. System nach Anspruch 3* dadurch gekennzeichnet, daß zu jedem Prozessormodulspeicher (IO7) ein gesonderter Puffer (I89)
    80981 1/08 10
    für jeden Prozessormodul (33) gehört, und daß eine Schienenempfangstabelle vorhanden ist, um eintreffende Daten von einer Interprozessorschiene (35) aus einer bestimmten Stelle in einem zugehörigen Puffer im Speicher des Empfängerprozessormoduls zuzuführen.
    58. System nach Anspruch 57» dadurch gekennzeichnet, daß die Schienenempfangstabelle einen gesonderten Eintrag enthält, der jedem Prozessormodul entspricht und sowohl die Pufferadresse, wo die von einem bestimmten Prozessormodul (33) eintreffenden Daten gespeichert werden sollen, als auch die An-7,ahl der zu erwartenden Datenwörter angibt.
    59. System nach Anspruch 3, dadurch gekennzeichnet, daß zu jedem Prozessormodul (33) ein Ein-Ausgabe-Kanal (IO9) zum Verbinden des Prozessormoduls mit einem Geräteanschluß (41) gehört.
    60. System nach Anspruch 59» gekennzeichnet durch mehrere Peripheriegeräte (45, 49, 5I, 53), mehrere Geräteanschlüsse (41) zum Steuern der Übertragung von Daten zwischen den Prozessormodulen (33) und den Peripheriegeräten, wobei zu jedem Geräteansohluß mehrere Zugänge (43) gehören, sowie mehrere Ein-Ausgabe-Schienen (39)# die jeden Geräteanschluß für mehrere verschiedene Prozessormodule zugänglich machen.
    61. System nach Anspruch 60, dadurch gekennzeichnet, daß eine zweite Interprozessorsohiene (35) vorhanden ist, um in Kombination mit den mehreren vorhandenen Ein-Ausgabe-Schienen (39) mehrere Wege zum Verbinden jedes Geräteanschlusses (41) mit jedem Prozessormodul (33) bereitzustellen, so daß im Fall des Versagens eines Wegs Jeder Prozessormodul immer noch Informationen mit jedem anderen Geräteansohluß über einen anderen Weg austauschen kann.
    809811/0810
    62. System nach Anspruch 60, gekennzeichnet durch gemeinsame, jedem Geräteanschluß (41) betriebsmäßig zugeordnete Schnittstelleneinrichtungen (I8I), die gewährleisten, daß in jedem Zeitpunkt jeweils nur ein Zugang (43) des Geräteanschlusses logisch mit dem Geräteanschluß verbunden ist.
    63. System nach Anspruch 60, dadurch gekennzeichnet, daß bei jedem Geräteanschluß (41) ein beanspruchungsempfindlicher Puffer (24^) vorhanden ist, um die Übertragung von Daten über jede Ein-Ausgabe-Schiene (39) zwischen einem Zugang (43) und einem Ein-Ausgabe-Kanal (IO9) in Form eines Satzes von Datenbündeln zu ermöglichen.
    64. System nach Anspruch 63* gekennzeichnet durch Schaltleitungen zum Variieren der Beanspruchung, bei der an den EinAusgabe-Kanal (109) eine Pufferwiederanschlußaufforderung gerichtet wird.
    65. System nach Anspruch 60, dadurch gekennzeichnet, daß Ein-Ausgabe-Steuertabellen (142) vorhanden sind, die für jede an den Ein-Ausgabe-Kanal (109) angeschlossene Vorrichtung einen Eintrag enthalten, und daß jeder Eintrag eine Pufferadresse im Speicher und ein Zählwort für die Anzahl der bei einer Ein-Ausgabe-Routine zu übertragenden Bytes enthält.
    66. System nach Anspruch 65, dadurch gekennzeichnet, daß die Einträge der Ein-Ausgabe-Steuertabelle (142) im Hauptspeicher angeordnet sind, um diesen Einwirkungen durch einen versagenden Geräteanschluß (41) oder eine versagende Ein-Ausgabe-Schiene (39) zu schützen.
    67. System nach Anspruch 66, dadurch gekennzeichnet, daß sich eine weitere Kopie der Ein-Ausgabe-Steuertabelle (142) in Jedem Prozessormodul (33) befindet, der betriebsmäßig dem gleichen Geräteanschluß (41) zugeordnet ist, so daß ein Ver-
    80981 1/0810
    - 17 - £740056
    sagen eines Prozessormoduls nicht dazu führt, daß der Geräteanschluß für das System (31) verloren geht.
    68. System nach Anspruch 60, dadurch gekennzeichnet, daß die Interprozessorsteuereinrichtung (55) und die Zentraleinheit (105) synchron mit verschiedenen Taktfrequenzen arbeiten, daß die Ein-Ausgabe-Kanäle (109) mit der Speichergeschwindigkeit arbeiten, die sich ebenfalls von der Taktfrequenz des Prozessormoduls (33) unterscheidet, und daß die GeräteanschlUsse
    (41) bei ihren örtlichen Taktfrequenzen asynchron mit jedem anderen Teil des Systems (3I) arbeiten, wobei jede Wortübertragung mit dem Prozessormodul (33) durch einen verriegelten Synchronisationsimpulsaustausch mit der Ein-Ausgabe-Schiene (39) synchronisiert wird.
    69. System nach Anspruch J>, gekennzeichnet durch mehrere Peripherigeräte (45, 49, 51, 53), mehrere Geräteanschlüsse (41) zum Steuern der Übertragung von Daten zwisc hen den Prozessormodulen (33) und den Peripheriegeräten, wobei jeder Geräteanschluß mehrere Zugänge (43) aufweist, mehrere zugehörige EinAusgabe-Schienen (39), über die jeder Geräteanschluß so geschaltet ist, daß er von verschiedenen Prozessormodulen aus zugänglich ist, mehrere getrennte Spannungsquellen (303)* die jedem Geräteanschluß zugeordnet sind, um ihn mit der Betriebsspannung zu versorgen, sowie Verbindungseinrichtungen, mittels welcher ein Geräteanschluß von den übrigen zugehörigen Spannungsquellen aus versorgt wird, wenn eine andere Spannungsquelle für den Geräteanschluß versagt oder abgeschaltet wird, so daß es möglich ist, jede einem Prozessormodul zugeordnete Spannungsquelle abzuschalten, damit beim abgeschalteten Zustand des betreffenden Prozessormoduls die Durchführung von Wartungsarbeiten während des DirektbetriebSmöglich ist, während die übrigen Teile des Multiprozessorsystems betriebsfähig bleiben und im Direktbetrieb arbeiten.
    80981 1/08 10
    70. System nach Anspruch 69» dadurch gekennzeichnet, daß
    zu den Verbindungseinrichtungen Diodenschalteinrichtungen (311) gehören, über welche von den zugehörigen Spannungsquellen (303) aus die logische Spannung zugeführt wird, wenn die Spannungsquellen betriebsfähig sind, und über die die logische Spannung von den übrigen Spannungsquellen aus zugeführt wird, wenn eine Spannungsquelle versagt oder abgeschaltet wird, wobei die Diodenschal teinrichtungen bei einem Versagen oder Abschalten einer Spannungsquelle eine Umschaltung bewirken, die sich zügig und ohne jede Unterbrechung oder Pulsation der zugeführten logischen Spannung abspielt.
    71. System nach Anspruch 69, dadurch gekennzeichnet, daß zu jedem Prozessormodul (33) und jedem Geräteanschluß (41) eine Spannungsüberwachungsschaltung (182) gehört, die anspricht, wenn die dem Prozessormodul oder dem Geräteanschluß zugeführte logische Spannung für den richtigen logischen Betrieb nicht ausreioht, und die dazu dient, den Prozessormodul bzw. den Geräteanschluß zurückzusetzen, um jede Aktivität an den zugehörigen Schnittstellen zu unterbinden und einen geregelten Zustand aufrechtzuerhalten, wenn die logische Spannung durch den Ausfall der Netzspannung, das Abschalten der Spannungsquelle, das Versagen der Spannungsquelle oder eine Störung bei der Spannungsverteilung beeinflußt <lrd.
    72. System nach Anspruch 71* dadurch gekennzeichnet, daß die Spannungsüberwachungsschaltung (182) außerdem den Prozessormodul (33) bzw. den Geräteanschluß (41) freigibt und ihn wieder in Betrieb setzt, nachdem die Spannungsversorgung wieder gewährleistet ist und die vorgeschriebene logische Spannung wieder zugeführt wird.
    73. System nach Anspruch 72, gekennzeichnet durch bei den Prozessormodulen (33) und den Geräteanschlüssen (41) vorhandene Sender-Empfänger-Einrichtungen (197), die mit der Spannungsüber-
    «09811/0810
    wachungsschaltung (182) zusammenarbeiten, um das Ausgangssignal der Sender-Empfänger-Einrichtungen an den Schnittstellen des Prozessormoduls und des Geräteanschlusses zu regeln, wenn die Spannungszufuhr einsetzt oder sich die zugefUhrte Spannung verringert, statt das Ausgangssignal der Sender-Empfänger-Einrichtung Undefiniert zu lassen, wenn die zugeführte Spannung bis unter den für einen einwandfreien Betrieb erforderlichen Wert zurückgeht.
    74. System nach Anspruch 73, gekennzeichnet durch eine mit den Sender-Empfänger-Einrichtungen (197) an den Schnittstellen der Geräteanschlüsse (41) verbundene Freigabeleitung, wobei die Spannungsüberwachungsschaltung (182) mit der Freigabeleitung zusammenarbeitet, um die Sender-Empfänger-Einrichtungen im abgeschalteten Zustand zu halten, bis die Spannung bis auf den Wert angestiegen ist, bei dem der Abschaltzustand durch den einwandfreien Betrieb der logischen Elemente des Geräteanschlusses aufrechterhalten wird.
    75. System nach Anspruch 3> dadurch gekennzeichnet, daß der Speicheradressenraum jedes Prozessormoduls (33) in vier getrennte logische Adressenbereiche unterteilt ist, zu denen ein Benutzerdatenbereich (467),ein Systemdatenbereich (^69), ein Benutzercodebereich (471) und ein Systemcodebereich (473) gehören, um die Codes von den Daten zu trennen, so daß es möglich ist, die Codes unveränderbar zu machen und außerdem Betriebesystemprogramme und Daten von Benutzerprogrammen und Benutzerdaten zu trennen, so daß die Benutzerprogramme das Betriebssystem nicht zerstören können.
    76. Ein-Ausgabe-System für ein Multiprozessorsystem, bei dem getrennte Prozessormodule miteinander verbunden sind, um eine Datenverarbeitung im Parallelbetrieb zu ermöglichen, gekennzeichnet durch mehrere getrennte Prozessormodule (33)» von denen jeder eine Zentraleinheit (105) und einen
    Ö0981 1/0810
    Speicher (107) aufweist, und wobei zu mindestens einigen der Prozessormodule ein Ein-Ausgabe-Kanal (109) gehört, mindestens einen Geräteanschluß (41) zum Steuern der Übertragung von Daten zwischen einem Prozessormodul und einem Peripheriegerät (45, 49, 51* 53)* wobei jeder Geräteanschluß mehrere Zugänge (43) aufweist, mehrere Ein-Ausgabe-Schienen (39) zum Verbinden der Geräteanschlüsse derart, daß diese für mehrere verschiedene Prozessormodule zugänglich sind, sowie gemeinsame logische Schnittstelleneinrichtungen (181), die gewährleisten, daß in jedem Zeitpunkt jeweils nur einer der Zugänge den Geräteanschluß betriebsmäßig mit dem Multiprozessorsystem verbindet.
    77. Ein-Ausgabe-System nach Anspruch 76, dadurch gekennzeichnet, daß die Zugänge (43) jedes Geräteanschlusses (41) und die zugehörigen Teile des Multiprozessorsystems (3I) so ausgebildet sind, daß die Zugänge eines Geräteanschlusses logisch und physi-,kaiisch voneinander unabhängig sind, und daß kein Teil eines Zugangs gleichzeitig einen Teil des anderen Zugangs eines bestimmten Geräteanschlusees bildet, so daß das Versagen eines einzelnen Bauteils an irgendeiner Stelle innerhalb des Geräteanschlusses nicht gleichzeitig den Betrieb von mehr als einem Zugang beeinflussen kann.
    78. Ein-Ausgabe-System nach Anspruch 77* gekennzeichnet durch Fehlernachweiseinrichtungen, zu denen eine Interprozessorschiene (35) gehört, welche die Prozessormodule (33) miteinander verbindet und dazu dient, festzustellen, daß ein bestimmter Zugang (43) keine betriebsmäßige Verbindung zwischen dem Geräteanschluß (41) und dem Multiprozessorsystem (31) herstellt.
    79. Ein-Ausgabe-System nach Anspruch 78, gekennzeichnet durch logische Einrichtungen zum übertragen eines EigentumUbernahmesignals zu einem anderen der mehreren vorhandenen Zugänge (43) derart, daß dieser andere Zugang in Abhängigkeit von dem Nachweis des Versagens eines bestimmten Zugangs den Geräteanschluß
    80981 1/0810
    (41) betriebsmäßig mit dem Multiprozessorsystem (31) verbindet.
    80. Ein-Ausgabe-System nach Anspruch j6, dadurch gekennzeichnet, daß bei Jedem Geräteanschluß (41) ein Steuerteil vorhanden ist, und daß jeder der einzelnen Zugänge (43) eines bestimmten Geräteanschlusses physikalisch unabhängig mit einem Prozessormodul (33) verbunden ist, während gleichzeitig ein anderer Zugang des Geräteanschlusses physikalisch mit einem anderen Prozessormodul verbunden ist, wobei eine Eigentums-Verriegelungseinrichtung (185) vorhanden ist, um eine logische Verbindung zwischen dem Steuerteil des Geräteanschlusses und einem der Zugänge derart herzustellen, daß nur ein Zugang in jedem Zeitpunkt eine Steuerwirkung auf den Geräteanschluß ausüben kann, so daß eine Betriebsstörung eines Zugangs oder einer Ein-Ausgabe-Schiene (39) oder eines Ein-Ausgabe-Kanals (IO9) oder eines Prozessormoduls
    (33) niemals zu einer Kontamination des anderen Zugangs führen kann.
    81. Ein-Ausgabe-System nach Anspruch 80, dadurch gekennzeichnet, daß zu jedem Geräteanschluß (41) ein Schnittetellenteil und ein Steuerteil gehören, daß zu dem Schnittstellentell die mehrfach vorhandenen Zugänge (43), die gemeinsame logische Schnittstelleneinrichtung (I8I) und die Eigentums-Verriegelungseinrichtung (I85) gehören, und daß zu dem Steuerteil der Steuerteil (187) der Vorrichtungslogik und ein Puffer (I89) gehören.
    82. Ein-Ausgabe-System nach Anspruch 76, dadurch gekennzeichnet, daß zu jedem Zugang (43) eine Freigabeverriegelungseinrichtung (175) gehört, die dazu dient, dynamisch zu verhindern, daß der betreffende Zugang der zugehörigen Ein-Ausgabe-Schieie (39) irgendwelche Signale zuführt, wenn irgendein Teil des Geräteanschlusses (41) versagt.
    83. Ein-Ausgabe-System nach Anspruch 76, gekennzeichnet durch eine Einrichtung zum Erzeugen eines Paritätssignals und eine Prüf
    8098 1 1 /08 1 Ü
    einrichtung, mittels welcher die Parität geprüft wird, wobei die Paritätsprüfung beginnt, bevor Daten einem Register in dem Zugang (43) zugeführt werden, und wobei die Paritätsprüfung während einer bestimmten Zeitspanne fortgesetzt wird, nachdem die Daten in das Register überführt worden sind, so daß die Parität während eines Fensters und nicht lediglich an einer Flanke geprüft wird, um zu gewährleisten, daß sich bei den Datenleitungen nicht gerade eine Veränderung abspielt, während Daten von dem Register aufgenommen werden.
    84. Ein-Ausgabe-System nach Anspruch 76, dadurch gekennzeichnet, daß bei jedem Geräteanschluß (41) ein beanspruchungsanpfindlicher Puffer vorhanden ist.
    85. Ein-Ausgabe-System nach Anspruch 84, gekennzeichnet durch eine Einrichtung mit einer bestimmten Rückhaltetiefe, die nach dem Abschalten jedes Ein-Ausgabe-Kanals (109) bewirkt, daß eine bestimmte Wartezeit eingehalten wird, bevor die nächste Wiederanechlußanforderung gestellt wird, damit Gera'teanechlüsse mit niedrigerer Priorität Zugriff zu dem Ein-Ausgabe-Kanal nehmen können, so daß diese Geräteanschlüsse mit niedrigerer Priorität nicht überlaufen.
    86. Ein-Ausgabe-S^tem nach Anspruch 85, dadurch gekennzeichnet, daß zu dem Puffer (I89) eine Einrichtung zum Bestimmen einer Schwellenwerttiefe gehört, die es dem Geräteanschluß (41) ermöglicht, eine bestimmte Wartezelt einzuhalten, nachdem eine Wiederanaehlußanforderung gestellt worden ist, bevor der Geräteanschluß überläuft, damit Geräteanschlüsse mit höherer Priorität Zugriff zu dem Ein-Ausgabe-Kanal (109) nehmen können.
    87. Ein-Ausgabe-System nach Anspruch 86, gekennzeichnet durch eine Einrichtung zum Variieren der Beanspruchung, die es ermöglicht, die Rückhaltetiefe zu variieren, bei welcher der Geräteanschluß (41) an den Ein-Ausgabe-Kanal (IO9) eine Wiederanschlußanforderung richtet.
    «09811/0 810
    88. Ein-Ausgabe-Einrichtung nach Anspruch 87, dadurch gekennzeichnet, daß die Tiefe des Puffers (I89) die Summe der Schwellenwerttiefe und der Rückhaltetiefe ist.
    89. Ein-Ausgabe-System nach Anspruch 76, gekennzeichnet durch eine Prioritätsbestimmungseinrichtung, die nach einem vorbestimmten Prioritätsplan einen bestimmten Geräteanschluß (41) aus mehreren Anforderungssignalen auswählt, die asynchron auftreten können, wobei zu der Prioritätsbestimmungseinrichtung eine sternförmige Abrufverbindung zwischen den Ein-Ausgabe-Kanälen (109) und den Geräteanschlüssen gehört, die mit einer Mehrbit-Datenschiene zusammenarbeitet, ferner Rangleitungen, welche die Geräteanschlüsse in mehrere Gruppen unterteilen, wobei den Gruppen untereinander relative Prioritäten zugewiesen werden, und wobei auch den Geräteanschlüssen innerhalb jeder Gruppe zugehörig Prioritäten zugewiesen werden, ein Prioritätsauf lösungsregister (1 "55) * das bestimmt, welchem Geräteanschluß innerhalb jeder Gruppe die höchste Priorität zukommt, sowie eine Wähleinrichtung, die mit dem Ein-Ausgabe-Kanal (IO9) den Geräteanschluß mit der höchsten Priorität verbindet, der eine Wiederanschlußanforderung stellt.
    90. Eln-Ausgabe-System nach Anspruch 76, gekennzeichnet durch eine Ein-Ausgabe-Steuertabelle im Speicher (IO7) jedes Prozessormoduls (33), die einen Eintrag enthält, welcher einen Pufferbereich im Speicher sowie eine restliche Bytezählungsläng« definiert, die für jedes Peripheriegerät zu übertragen sind, das an den Ein-Ausgabe-Kanal (IO9) des Prozessormoduls angeschlossen ist.
    91. Ein-Ausgabe-System nach Anspruch 90, dadurch gekennzeichnet, daß der Ein-Ausgabe-Kanal (IO9) in Abhängigkeit von einer Wiederanschlußanforderung, die durch einen Geräteanschluß (41) gestellt wird, wenn das Zählwort in der Ein-Ausgabe-Steuertabelle eine Null ist, direkt in den Abbruchzustand übergeht, ur
    80981 1 /0810
    den Speicher (IO7) gegen ein Überschreiben durch eine versagende Vorrichtung zu schützen.
    92. Ein-Ausgabe-System nach Anspruch 9°* dadurch gekennzeichnet, daß in jedem Eintrag ein Fehlerfeld vorhanden ist, das mehrere Bits enthält, die gesetzt werden können, um jeden von mehreren numerierten Fehlern anzuzeigen, und daß beim Auftreten irgendeines Fehlers der Ein-Ausgabe-Kanal (109) direkt in den Abbruchzustand übergeht.
    93. Ein-Ausgabe-System nach Anspruch 90* dadurch gekennzeichnet, daß zu jedem Eintrag ein Feld gehört, das gesetzt werden kann, um anzugeben, daß aus dem Pufferbereich im Speicher (107) Daten ausgelesen werden können, daß jedoch dem Pufferbereich keine Daten eingegeben werden können, um den Speicher gegen die Folgen einer Betriebsstörung bei dem Geräteanschluß (41) zu schützen.
    94. Ein-Ausgabe-System nach Anspruch 76, gekennzeichnet durch eine Schutzeinrichtung, die verhindert, daß ein Peripheriegerät seinen eigenen Pufferbereich im Prozessormodul (33) kontaminiert.
    95. Ein-Ausgabe-System nach Anspruch 94, dadurch gekennzeichnet, daß zu der Schutzeinrichtung ein Schutzbit gehört, das nur zuläßt, daß Daten aus dem Speicher (I07) des Prozessormoduls (J)J>) ausgelesen werden, und das die Eingabe von Daten in den Speicher des Prozessormoduls verhindert.
    96. Ein-Ausgabe-System nach Anspruch 78, dadurch gekennzeichnet, daß zu jedem Prozessormodul (33) eine eigene Ein-Ausgabe-Steuertabelle im Speicher (107) des Prozessormoduls für alle mit dem Prozessormodul verbundenen Geräteanschlüsse gehört, so daß es unmöglich ist, daß eine einzige Betriebsstörung bei irgendeinem Geräteanschluß (41) den Speicher eines beliebi-
    80981 1 /08 1 0
    ~25~ 2740055
    gen Prozessormoduls schädigt, derrrit dem betreffenden Geräteanschluß verbunden ist.
    97. Ein-Ausgabe-System nach Anspruch 26, gekennzeichnet durch mehrere getrennte Spannungsquellen (J)OJ), die verteilt und den Prozessormodulen (33) und den Geräteanschlüssen (41) betriebsmäßig so zugeordnet sind, daß nicht die Möglichkeit besteht, daß das Versagen einer einzigen Spannungsquelle zu einer Unterbrechung des Betriebs des Multiprozessorsystems (3D führt.
    98. Ein-Ausgabe-System nach Anspruch 97* dadurch gekennzeichnet, daß die getrennten Spannungsquellen (303) verteilt und den Prozessormodulen (33) sowie den mehrere Zugänge (43) aufweisenden Geräteanschlüssen (41) betriebsmäßig so zugeordnet sind, daß es möglich ist, jeden beliebigen einzelnen Prozessormodul oder Geräteanschluß abzuschalten, ohne daß der weitere Betrieb der übrigen Teile des Multiprozessorsystems (3I) beeinträchtigt wird, so daß es möglich ist, während des Direktbetriebs Wartungsarbeiten an jedem beliebigen einzelnen Prozessormodul oder Geräteanschluß durchzuführen, zu welchem Zweck der betreffende Prozessormodul oder Geräteanschluß abgeschaltet wird, während die übrigen Teile des Multiprozessorsystems in Betrieb bleiben.
    99. Ein-Ausgabe-System nach Anspruch 97* dadurch gekennzeichnet, daß jedem Geräteanschluß (41) mehrere getrennte Spannungsquellen (303) betriebsmäßig zugeordnet sind, so daß dann, wenn bei einer einem Geräteanschluß zugeordneten Spannungsquelle die Spannung zurückgeht, eine andere Spannungsquelle die Aufgabe der genannten Spannungsquelle übernimmt, damit der Geräteanschluß betriebsfähig bleibt.
    100. Ein-Ausgabe-System nach Anspruch 99, dadurch gekennzeichnet, daß eine Diodenschalteinrichtung (311) vorhanden ist,
    Ö0981 1 /0810
    2740055
    um die beiden Spannungsquellen (303) mit jedem zugehörigen Geräteanschluß (41) so zu verbinden, daß jede Spannungsquelle ihre Spannung dem Geräteanschluß ständig zuführt, und daß dann, wenn eine der beiden Spannungsquellen versagt, die andere Spannungsquelle dem Geräteanschluß die gesamte erforderliche elektrische Energie zuführt, so daß die Spannungszufuhr zu dem Geräteanschluß niemals unterbrochen wird.
    101. Ein-Ausgabe-System nach Anspruch 98, gekennzeichnet durch eine SpannungsUberwachungsschaltung (182), welche die Betriebsweise des Geräteanschlusses (41) bestimmt, wenn die Spannungszufuhr eingeleitet oder unterbrochen wird, um die Ein-Ausgabe-Schiene (39) gegen fehlerhafte Signale zu schützen und Wartungsarbeiten während des Direktbetriebs bzw. bei einer Erweiterung des Multiprozesscrsystems (31) zu ermöglichen.
    102. Ein-Ausgabe-System nach Anspruch 101, gekennzeichnet durch bei jedem Zugang (43) vorhandene Schnittstelleneinrichtungen zum Treiben der Ein-Ausgabe-Schienen (39), wobei die SpannungsUberwachungsschaltung (182) mit den Schnittstelleneinrichtungen zusammenarbeitet, wenn eine zugehörige Spannungsquelle (303) versagt oder abgeschaltet wird, um die Schnittstelleneinrichtungen auf elektrischem Wege daran zu hindern, die Ein-Ausgabe-Sohiene zu treiben, so daß verhindert wird, daß ein Geräteanschluß (41) die Ein-Ausgabe-Schiene beim Versagen oder Abschalten einer Spannungsquelle kontaminiert.
    103. Verteiltes Spannungsversorgungssystem für ein Multiprozessorsystem, bei dem getrennte Prozessormodule zum Zweck der parallelen Datenverarbeitung zusammengeschaltet sind, gekennzeichnet durch mehrere getrennte Prozessormodule (33)* mehrere Geräteanschlüsse (41) zum Steuern der Datenübertragung zwischen mehreren Prozessormodulen und mehreren Peripheriegeräten (45, 49, 51, 53), wobei jedem Geräteanschluß mehrere Zugänge (43) zugeordnet sind, mehrere Ein-Ausgabe-Schie-
    809811/0810
    nen (39) zum Anschließen jedes Geräteanschlusses derart, daß er für verschiedene Prozessormodule zugänglich ist, sowie durch eine Terteilte Spannungsversorgungseinrichtung (301), die gewährleistet, daß sich die übrigen Teile des Multiprozessorsystems (31) ohne Unterbrechung betreiben lassen, wenn eine einzelne Spannungsquelle (303) zur Versorgung eines Teils des Multiprozessorsystems versagt, wobei zu der verteilten Spannungsversorgungseinrichtung gesonderte Spannungsquellen für jeden Prozessormodul sowie Verbindungseinrichtungen gehören, welch letztere jeweils mehrere getrennte Spannungsauellen mit jedem Geräteanschluß verbinden und bewirken, daß jedem Geräteanschluß die benötigte Spannung von den übrigen getrennten Spannungsquellen aus zugeführt wird, wenn eine der mit einem beliebigen Geräteanschluß verbundenen Spannungsquellen versagt.
    104. Spannungsverteilungssystem nach Anspruch I03, gekennzeichnet durch eine Spannungsuberwachungsschaltung (182), die gewährleistet, daß sich die zugeführte Spannung innerhalb bestimmter festgelegter Grenzen hält, und die jeweils einen von vier Detriebszuständen annehmen kann, und zwar einen Abschaltzustand, einen Zustand, bei dem aus dem Abschaltzustand in den Einschaltzustand übergegangen wird, einen Einschaltzustand und einen Zustand, bei dem vom Einschaltzustand auf den Abschaltzustand übergegangen wird.
    105. Spannungsverteilungssystem nach Anspruch 104, dadurch gekennzeichnet, daß eine Interprozessorschiene (35) sämtliche Prozessormodule (33) miteinander verbindet, und daß in jeder Zentraleinheit (105) und in jedem Geräteanschluß (41) eine Spannungsuberwachungsschaltung (182) vorhanden ist.
    106. Spannungsverteilungssystem nach Anspruch 104, dadurch gekennzeichnet, daß die Spannungsuberwachungsschaltung (182) ein Signal erzeugt, wenn eine Änderung der logischen Spannung eintritt, wobei das Signal die Spannung bestimmt, welche dem
    80981 1/08 10
    betreffenden Prozessormodul (33) oder dem Geräteanschluß (41) zugeführt wird, und daß das Signal dazu verwendet wird, unmittelbar die betreffenden Schnittstellensignale des Prozessormoduls oder des Geräteanschlusses zu sperren, zu dem die betreffende Spannungsüberwachungsschaltung gehört, wenn die zugeführte Spannung nicht innerhalb der vorbestimmten Grenzen liegt, innerhalb welcher ein fehlerfreier logischer Betrieb gewährleistet ist.
    107. Spannungsverteilungssystem nach Anspruch 103* dadurch gekennzeichnet, daß die Spannungsüberwachungsschaltung (182) Schnittstellenschaltungen steuert, welche sämtliche Datenaustauschschienen des Multlprozessorsystems (31) treiben.
    108. Spannungsverteilungssystem nach Anspruch 107, dadurch gekennzeichnet, daß sämtliche Prozessormodule {j>J>) durch eine zweite Interprozessorschiene (35) miteinander verbunden sind, und daß die Spannungsüberwachungsschaltungen (182) mit dem Mehrwegesystem zusammenarbeiten, das durch die Interprozessorschienen, die mehrere Zugänge (43) aufweisenden Geräteanschlüsse (41) und die zugehörigen Ein-Ausgabe-Schienen (39) gebildet wird, um eine Betriebsweise zu ermöglichen, bei der das Versagen einer Spannungsquelle (303) für einen Prozessormodul oder einen Geräteanschluß mit mehreren Zugängen den Betrieb irgendeines anderen Prozessormoduls oder eines Geräteanschlusses mit zwei Zugängen bei einem beliebigen der genannten Wege nicht beeinträchtigt.
    109. Spannungsverteilungssystem nach Anspruch 103, dadurch gekennze±hnet, daß zu den Verbindungseinrichtungen eine Diodenschalteranordnung (311) gehört, die dem Geräteanschluß (41) die Spannung von mehreren Spannungsquellen (303) aus zuführt, wenn sich die zugehörigen Spannungsquellen in Betrieb befinden, und welche die Spannung von den übrigen Spannungsquellen aus zuführt, wenn eine der zugehörigen Spannungsquellen versagt, und zwar
    60981 1/0810
    durch einen Umschaltvorgang, bei dem keine Unterbrechungen oder Pulsationen auftreten, so daß der Betrieb des Geräteanschlusses niemals unterbrochen wird.
    110. Spannungsverteilungssystem nach Anspruch 103, dadurch gekennzeichnet, daß die getrennten Spannungsquellen (303) miteinander durch eine Spannungsschiene verbunden sind, zu der mehrere Leitungen gehören, wobei bestimmte Leitungen mit bestimmten Spannungsquellen verbunden sind, und wobei die Spannungsschiene nahe jedem Geräteanschluß (41) Anzapfungen aufweist, damit der Geräteanschluß unschwer durch Herstellen von Verbindungen zu den betreffenden Anzapfungen der Spannungsschiene mit jeder beliebigen gewählten Anzahl von Spannungsquellen verbunden werden kann.
    111. Speichersystem für einen Prozessormodul eines Multiprozessorsystems, dadurch gekennzeichnet, daß zu dem Prozessormodul (33) eine Zentraleinheit (105) und das Speichersystem gehören, daß das Speichersystem einen physikalischen Hauptspeicher (107) in dem Prozessormodul und eine Karte aufweist, die dazu dient, sämtliche logischen Adressen in physikalische Adressen zu übersetzen, so daß sich alle Befehle der Zentraleinheit mit vier logischen Adressenbereichen befassen können, und zwar mit Benutzerdaten, Systemdaten, dem Benutzercode und dem Systemcode, und daß sich ein Programmierer nicht mit einer tatsächlichen physikalischen Adresse oder mit dem Umfang des zugehörigen physikalischen Speichers zu befassen braucht, sondern ein Programm schreiben kann, das ausschließlich auf logischen Adressen innerhalb der vier logischen Adressenbereiche beruht.
    112. Speichersystem nach Anspruch 111, dadurch gekennzeichnet, daß der physikalische Speicher (107) in numerierte Seiten unterteilt ist, daß vier Karten vorhanden sind, und zwar eine Systemdatenkarte (469),eine Systemcodekarte (473), eine Benutzer·
    «09811/0810
    datenkarte (467) und eine Benutzercodekarte (471;, die den
    vier logischen Adressenbereichen entsprechen, und daß jeder
    Karteneintrag eine Entsprechung zwischen einer logischen Seite und einer physikalischen Seite festlegt.
    113. Speichersystem nach Anspruch 112, dadurch gekennzeichnet, daß die Karten zur Schaffung eines mit Karten arbeitenden Speichers außerdem bei dem Nehrprogrammbetrieb die verschiedenen Benutzer schützen, da die bei einem bestimmten Benutzer in Gebrauch befindliche Karte einen Zugriff nur zu den physikalischen Speicherseiten des Programms des betreffenden Benutzers und den Daten ermöglicht, um zu verhindern, daß ein Benutzer in ein Programm oder eine Datenseite eines anderen Benutzers
    hineinschreibt, so daß es ohne Benutzung von Schutzregistern
    möglich ist, einen Benutzer daran zu hindern, das Programm
    eines anderen Benutzers zu zerstören.
    114. Speichersystem nach Anspruch 112, dadurch gekennzeichnet, daß zu den Karten Bezugsbits gehören, die ein Histogramm der Benutzung einer bestimmten logischen Seite während einer
    bestimmten Zeitspanne liefern, um anzuzeigen, ob die logische Seite während einer erst kürzlich abgelaufenen Zeitspanne benutzt worden ist, und um hierdurch erkennen zu lassen, ob sich die betreffende logische Seite im laufenden Gebrauch befindet.
    115· Speichersystem nach Anspruch 114, dadurch gekennzeichnet, daß die Gebrauchsgeschichte in Hardware-Bits im Karteneintrag bereitgehalten wird, und daß die Bezugsbits periodisch durch einen Software-Befehl aktualisiert werden, der eine Alterung des Karteneintrags bewirkt.
    116. Speichersystem nach Anspruch 115» dadurch gekennzeichnet, daß zu den Bezugsbits mehrere Bezugsbits im Karteneintrag für eine bestimmte Seite sowie Firmware-Einrichtungen gehören, mittels welcher der Inhalt der Bits verschoben wird, um eine
    8098 1 1/0810
    geschichte des Karteneintrags in Abhängigkeit von einem Kartenalterungsbefehl zu erstellen.
    117. Speichersystem nach Anspruch 114, gekennzeichnet durch eine Kartenspeicher-Steuerlogik (401), die mit dem Betriebssystem zusammenarbeitet, um automatisch Bezugsbitinformationen bereitzuhalten, während die Zentraleinheit (IO5) und der EinAusgabe-Kanal (109) Zugriffe zum Speicher ausführen.
    118. Speichersystem nach Anspruch 117, dadurch gekennzeichnet, daß durch das Betriebssystem in Verbindung mit der Karte mehrere Befehle benutzt werden, und zwar ein Karteneintrag-Setzbefehl zum Einfügen von Daten in einen Karteneintrag und zum Anfordern der Karteneintragadresse und der Daten, die als Parameter eingefügt werden sollen, ein Karteneintrag-Lesebefehl zum Lesen des Karteneintrags und zum Anfordern der Karteneintragadresse als Parameter sowie ein Karteneintrag-Alterungsbefehl, der bewirkt, daß das Feld des Karteneintrags für die Benutzungsgeschichte um eine Stelle nach rechts verschoben wird.
    119. Speichersystem nach Anspruch 112, dadurch gekennzeichnet, daß Datenübertragungen zum und vom Speicher durch den Ein-Ausgabe-Kanal (109) mit Hilfe der Systemdatenkarte durchgeführt werden.
    120. Speichersystem nach Anspruch 111, dadurch gekennzeichnet, daß zu dem Kartenteil (4O7) eine Benutzerdatenkarte (467), eine Systemdatenkarte (469)* eine Benutzercodekarte (471), eine Systemcodekarte (473), ein Adressenwähler und eine Kartenausgabe-Verriegelungseinrichtung (44j) gehören.
    121. Speichersystem nach Anspruch 111, dadurch gekennzeichnet, daß der physikalische Speicher in numerierte Seiten unterteilt ist, daß jede Karte einen gesonderten Karteneintrag für
    B 0 9 8 1 1 / Ü 8 1 0
    ,jede in der Karte bezeichnete logische Seite enthält, und daß zu jedem Karteneintrag mehrere Felder gehören, und zwar ein Feld für eine physikalische Seitennummer, ein Feld für ein Paritätsbit, ein Feld für die Benutzungsgeschichte, ein Feld für ein zur Benutzungsgeschichte gehörendes Bit, ein Feld für ein schmutziges Bit sowie ein Feld für ein Abwesenheitsbit.
    122. Frozessormodul für ein Multiprozessorsystem, bei dem mehrere Prozesscrmodule zum Zweck der parallelen Datenverarbeitung miteinander verbunden sind, gekennzeichnet durch eine Zentraleinheit (105) mit einem zugehörigen Taktgeber, einen Speicher (107), einer Interprozessorsteuereinrichtung (55) zum Verbinden des Prozessormoduls (33) mit einem beliebigen anderen Prozessormodul des Multiprozessorsystems (31) über eine Interprozessorschiene (35), die mit einer Schienentaktfrequenz betrieben wird, welche nicht mit irgendeiner der Taktfrequenzen der Prozessortaktgeber synchron ist, wobei zu der Interprozessor-Steuereinrichtung eine Warteschlangeneinrichtung zum Puffern von Daten zwischen der Interprozessorschiene und dem Prozessorspeicher gehört, wobei die Warteschlangeneinrichtung eine erste logische Zustandsmaschine aufweist, die synchron mit dem Schienentakt arbeitet, sowie eine zweite logische Zustandsmaschine, die synchron mit dem Prozessortakt arbeitet, und eine Verriegelungseinrichtung, die der ersten und der zweiten logischen Zustandsmaschine betriebsmäßig zugeordnet ist, und dazu dient, bestimmte Übergänge bei einer der Zustandsmaschinen in Abhängigkeit vom Zustand der anderen Zustandsmaschine zu qualifizieren, so daß sich die Interprozessorschiene mit der Schienentaktfrequenz betreiben läßt, während die Zentraleinheit und der Speicher des Prozessormoduls mit der Prozessortaktfrequenz betreibbar sind, ohne daß die übertragenen Daten oder Informationen über den Zustand der Übertragungsfolge verloren gehen.
    H098 1 1 /08 1 0
    12^. Verfahren zum Herbeiführen einer vollen Verriegelung über die Gleichlaufgrenzen hinaus bei einer logischen Anordnung, bei der eine erste logische Maschine synchron mit einem ersten Taktgeber zusammenarbeitet, und bei der eine zweite logische Maschine synchron mit einem zweiten Taktgeber zusammenarbeitet, um eine feste Ereignisfolge des Auftretens von Zuständen bei den logischen Maschinen unabhängig vom relativen Gleichlauf der beiden Taktgeber zu gewährleisten, dadurch gekennzeichnet, daß Ereignisse geprüft werden, daß Signale erzeugt werden, die mit den Taktsigna±en des einen oder anderen der beiden Taktgeber synchron sind, und daß Verriegelungen zwischen den beiden logischen Maschinen in Abhängigkeit von den Signalen herbeigeführt werden, um die Unabhängigkeit von dem relativen Gleichlauf zu ermöglichen.
    124. Verfahren zum Verbinden mehrerer Prozessormodule mittels eines Mehrmodul-Verbindungswegs, um zu gewährleisten, daß ein Prozessormodul einen Sender-Empfänger-Weg zusammen mit einem anderen Prozessormodul auf einer zeitlich synchronisierten Basis herstellen kann, ohne daß es erforderlich ist, zwischen den beiden Prozessormodulen für jedes übertragene Datenwort eine Bestätigung herbeizuführen, dadurch gekennzeichnet, daß sämtliche Prozessormodule an einen Mehrmodulverbindungsweg angeschlossen werden, daß der Mehr modulverbindungsweg durch eine Schienensteuereinrichtung gesteuert wird, daß die Schiene als synchrone Schiene betrieben wird, wobei ein Teil jedes Prozessormoduls mit einem durch die Schienensteuereinrichtung erzeugten Schienentaktsignals synchronisiert wird, daß die Nachricht in Form von Mehrwortpaketen übertragen wird, daß die Prozessormodule dem Bedarf entsprechend aufgerufen werden, um einen Prozessormodul zu ermitteln, der bereit ist, eine Nachricht über die Schiene zu senden, daß die Priorität der Prozessormodule bestimmt wird, die eine Übertragung über die Interprozessorschiene verlangen, um ein Sender-Empfänger-Paar festzulegen, daß ein Sender-
    809811/0810
    Empfänger-Weg durch ein Protokoll festgelegt wird, das die Fähigkeit des Empfängerprozessormoduls, Daten zu empfangen, festlegt.und dann zum Senden eines Datenpakets eine Schienenzeit zuteilt, die genau der Länge des Datenpakets selbst entspricht, und daß dann die Schienensteuereinrichtung freigegeben wird, um in ihren Leerlaufzustand oder nach Bedarf in ihren Abrufzustand überzugehen.
    125. Verfahren nach Anspruch 124, dadurch gekennzeichnet, daß der vorgesehene Empfängerprozessormodul durch den Senderprozessormodul benannt wird, und daß die Empfangsbereitschaft des Empfängerprozessormoduls vor dem Senden des Datenpakets nachgewiesen wird.
    126. Verfahren nach Anspruch 125» dadurch gekennzeichnet, daß zu jedem Prozessormodul eine einzelne Wählleitung gehört, die sich von dem Prozessormodul zu der Schienensteuereinrichtung erstreckt, und daß Wählsignale über die einzelnen Wählleitungen verteilt werden, um Datenübertragungswege über die Schiene festzulegen, so daß das Sender-Empfänger-Paar von Prozeesormodulen und der Zeitrahmen für die Übertragung von. Informationen über die Schiene zwischen dem Senderprozessormodul und dem Empfängerprozessormodul bestimmt werden, und daß andere Prozessormodule daran gehindert werden, zu versuchen, gleichzeitig mit dem gewählten Prozessormodul Daten über die Schiene zu übertragen.
    127. Verfahren zum Verbinden von Geräteanschlüssen mit einem Ein-Ausgabe-Kanal eines Prozessormoduls entsprechend einem vorbestimmten Prioritätsplan bei einem System, bei dem mehrere Geräteanschlüsse mit einem Ein-Ausgabe-Kanal verbunden sind, zu dem eine Mehrbit-Datenschiene gehört, und der geeignet ist, dem Ein-Ausgabe-Kanal ein Wiederanschluß- oder ein Unterbrechungs-Anforderungssignal zuzuführen, während gleichzeitig die Wiederanschluß- oder Unterbrechungs-Anforderungssignale der
    809811/0810
    übrigen Geräteanschlüsse auftreten, dadurch gekennzeichnet, daß die Geräteanschlüsse nLt dem Ein-Ausgabe-Kanal in einer sternförmigen Aufrufschaltung verbunden werden, so daß jeder Geräteanschluß unabhängig mit dem Ein-Ausgabe-Kanal verbunden wird, und daß eine beliebige Anzahl von Geräteanschlüssen versagen oder abgeschaltet werden können, ohne daß das Aufrufen der übrigen Geräteanschlüsse beeinträchtigt wird, daß ermittelt wird, welche Geräteanschlüsse tatsächlich dem Ein-Ausgabe-Kanal AnforderungsSignaIe zuführen, daß die Identität des eine Anforderung stellenden Geräteanschlusses ermittelt wird, dem die höchste Priorität zukommt, daß ein bestimmter Geräteanschluß durch den Ein-Ausgabe-Kanal entsprechend dem vorbestimmten Prioritätsplan gewählt wird, daß eine Übertragung von Daten zwischen dem Ein-Ausgabe-Kanal und dem gewählten Geräteanschluß durchgeführt wird, und daß der gewählte Geräteanschluß nach der Beendigung der Datenübertragung abgeschaltet wird.
    12δ. Verfahren nach Anspruch 127, dadurch gekennzeichnet, daß zu dem Ein-Ausgabe-Kanal ein PrioritatsauflÖsungsregister gehört, bei dem ein einzelnes Bit für jeden Geräteanschluß vorhanden ist, und das der Datenschiene betriebsmäßig zugeordnet ist, um einen bestimmten Geräteanschluß zu wählen, und daß der Datenschiene ein 1-Bit-Signal durch jeden Geräteanschluß zugeführt wird, bei dem eine Anforderung anhängig ist, wobei die Priorität der der Datenschiene zugeführten Bits durch das Prioritätsauf lösungsregister aufgelöst wird.
    129. Verfahren nach Anspruch 128, dadurch gekennzeichnet, daß zu jedem Geräteanschluß ein Zugang gehört, und daß bei jedem Zugang ein Wählbit vorhanden ist, dass es dann, wenn es gesetzt ist, den betreffenden Zugang freigibt, so daß er auf Befehle anspricht, die der Ein-Ausgabe-Kanal dem Zugang zuführt, daß über die Datenschiene ein Ausgangebit des Prioritätsauflösungsregistiers zurückgeleitet wird, durch das das Wählbit des
    H 0 9 8 1 1 / 0 8 1 0
    Zugangs eines Geräteanschlusses gesetzt wird, und daß alle Wählbits der Zugänge der nicht gewählten Geräteanschlüsse gelöscht werden.
    130. Verfahren nach Anspruch 129* dadurch gekennzeichnet, daß bei jedem Zugang ein Freigabebit vorhanden ist, das den Geräteanschluß daran hindert, Informationen über den betreffenden Zugang zu dem Ein-Ausgabe-Kanal zu übertragen, und daß das Freigabebit eines Zugangs zurückgesetzt wird, wenn ein Geräteanschluß einen Vorgang durchführt, der den Betrieb anderer mit dem gleichen Ein-Ausgabe-Kanal verbundener Geräteanschlüsse beeinflussen könnte.
    Verfahren nach Anspruch 129, dadurch gekennzeichnet, daß von Rangleitungen Gebrauch gemacht wird, um die Anzahl der möglichen GerBteanschlüsse zu erhöhen, die sich in Verbindung mit der Mehrbit-Datenschiene benutzen lassen, und daß die Priorität der Geräteanschlüsse innerhalb eines Rangs sowohl durch den Rang als auch durch die Priorität innerhalb des Rangs bestimmt wird.
    Verfahren nach Anspruch 127, dadurch gekennzeichnet, daß in jedem Geräteanschluß ein beanspruchungsempfindlicher Mehrwortpuffer angeordnet wird.
    Beanspruchungsempfindlicher Puffer für ein nach dem DatenbUndel-Multiplex-Ein-Ausgabe-Verfahren arbeitendes System, bei dem Datenbündel von variabler Länge zwischen einem Ein-Ausgabekanal und einem Geräteanschluß übertragen und nach dem Zeitmultiplexverfahren zusammen mit Datenbündeln aus anderen Geräteanschlüssen übermittelt werden, dadurch gekennzeichnet, daß zu dem Puffer ein Pufferspeicher zum Empfangen und Speichern von Daten aus dem Ein-Ausgabe-Kanal (109) sowie aus mit dem Geräteanschluß (41) verbundenen Peripheriegeräten gehört, ferner eine logische Puffersteuereinrich-
    H 0 9 8 1 1 / 0 8 1 0
    -π- 27A0Q56
    tung (245) mit logischen Einrichtungen zum Überwachen der Größe der Beanspruchung des Puffers und zum Durchführen von Wiederanschluß-Anforderungen und Abschaltanforderungen gegenüber dem Ein-Ausgabe-Kanal, während die Beanspruchung bestimmte Werte durchläuft, sowie eine Beanspruchungsveränderungseinrichtung zum Variieren des Wertes der Beanspruchung, bei welcher der Geräteanschluß an den Ein-Ausgabe-Kanal eine Wiederanschluß-Anforderung stellt.
    134. Puffer nach Anspruch 133, gekennzeichnet durch eine Einrichtung zum Bestimmen einer RUckhaltetiefe, die bewirkt, daß gewartet wird, bis die Beanspruchung des Puffers einen bestimmten Wert erreicht hat, nachdem der Ein-Ausgabe-Kanal jeweils abgeschaltet worden ist, bevor die nächste Wiederanschluß-Anforderung gestellt wird, um es GeräteanschlUssen mit niedrigerer Priorität zu ermöglichen, Zugriff zu dem Ein-Ausgabe-Kanal zu nehmen, damit diese Geräteanschlüsse nicht überlaufen.
    135. Puffer nach Anspruch 134, dadurch gekennzeichnet, daß eine Einrichtung zum Bestimmen einer Schwellenwerttiefe vorhanden ist, die es dem Geräteanschluß (41) ermöglicht, nach einer Wiederanschluß-Anforderung eine bestimmte Zeitspanne abzuwarten, bevor der Geräteanschluß überläuft, damit Geräteanschlüsse mit höherer Priorität Zugriff zu dem Ein-Ausgabe-Kanal (109) nehmen können.
    136. Puffer nach Anspruch 135* dadurch gekennzeichnet, daß die Puffertiefe gleich der Summe aus der Schwellenwerttiefe und der Rückhaltetiefe ist.
    137. Puffer nach Anspruch 135* dadurch gekennzeichnet, daß die Einrichtung zum Variieren der Beanspruchung bewirkt, daß die RUckhaltetiefe variiert wird, bei welcher der Geräteanschluß eine Wiederanschluß-Anforderung an den Ein-Ausgabe-Kanal (109) stellt, um zu ermöglichen, daß die mit einem Ein-Ausgabe-
    809811/0810
    Kanal verbundenen Geräteanschlüsse (41) nach der Reihenfolge ihrer Priorität geordnet werden, so daß jeder Geräteanschluß häufig genug Zugriff zu dem Ein-Ausgabe-Kanal nehmen kann, damit er nicht überläuft, und damit ein Überlaufen anderer mit dem gleichen Ein-Ausgabe-Kanal verbundener Geräteanschlüsse verhindert wird.
    138. Ein-Ausgabe-System für einen Prozessor, gekennzeichnet durch mindestens einen Prozessormodul (33) mit einer Zentraleinheit (105), einem Speicher (IC7) und einem Ein-Ausgabe-Kanal (IO9), einen Geräteanschluß (41) zum Steuern der Übertragung von Daten zwischen dem Prozessormodul und einem Peripheriegerät, wobei der Geräteanschluß einen Zugang (43) aufweist, eine Ein-Ausgabe-Schiene (39), die den Ein-Ausgabe-Kanal des Prozessormoduls mit dem Zugang des Geräteanschlusses verbindet, sowie eine dem Zugang zugeordnete Freigabe-Verriegelungseinrichtung, die auf dynamischem Wege verhindert, daß der Zugang der Ein-Ausgabe-Schiene irgendwelche Signale zuführt, wenn irgendein Teil des Geräteanschlusses versagt.
    139 Ein-Ausgabe-System für einen Prozessor, gekennzeichnet durch mindestens einen Prozessormodul (33) mit einer Zentraleinheit (105), einem Speicher (107) und einem Ein-Ausgabe-Kanal (I09), einen Geräteanschluß (41) zum Steuern der Übertragung von Daten zwischen dem Prozessormodul und einem Peripheriegerät, wobei zu dem Geräteanschluß ein Zugang (43) gehört, eine Ein-Ausgabe-Schiene (39), die den Ein-Ausgabe-Kanal des Prozessormoduls mit dem Zugang des Geräteanschlusses verbindet, sowie eine Paritätssignal-Erzeugungseinrichtung und eine Prüfeinrichtung zum Prüfen der Parität, wobei die Paritätsprüfung beginnt, bevor Daten einem Register in dem Zugang zugeführt werden, und wobei die Paritätsprüfung während einer bestimmten Zeitspanne fortgesetzt wird, nachdem die Daten in das Register überführt worden sind, so daß die Parität während eines Fensters geprüft wird und nicht nur gerade an einer Flanke, um
    809811/08 10
    -39- 2740055
    gewährleisten, daß sich bei Datenleitungen nicht gerade eine Änderung vollzieht, während Daten von dem Register aufgenommen werden.
    14O. Ein-Ausgabe-System für einen Prozessor, gekennzeichnet durch mindestens einen Prozessormodul (33) 171^k einer Zentraleinheit (105), einem; Speicher (107) und einem Ein-Ausgabe-Kanal (109), mehrere Geräteanschlüsse (41) zum Steuern der Übertragung von Daten zwischen dem Prozessormodul und Peripheriegeräten, wobei jeder Geräteanschluß einen Zugang (43) aufweist, eine Ein-Ausgabe-Schiene (39)» die den Ein-Ausgabe-Kanal des Prozessormoduls mit dem Zugang jedes Geräteanschlusses verbindet, sowie eine Prioritätsbestimmungseinrichtung, die dazu dient, entsprechend einem vorbestimmten Prioritätsplan einen bestimmten Geräteanschluß aus mehreren Anforderungssignalen auszuwählen, die asynchron auftreten können, wobei zu der Prioritätsbestimmungseinrichtung eine sternförmige Abrufverbindung zwischen dem Ein-Ausgabe-Kanal und den GeräteanschlUssen gehört, wobei eine Mehrbit-Datenschiene benutzt wird, wobei von Rangleitungen Gebrauch gemacht wird, welche die Geräteanschlüsse in mehrere Gruppen unterteilen, wobei den Gruppen untereinander eine relative Priorität zugewiesen wird, wobei eine Priorität ferner den Geräteanschlüssen innerhalb jeder Gruppe zugewiesen wird, ein Prioritätsauflösungsregister (135)» das bestimmt, welchem Geräteanschluß innerhalb jeder Gruppe die höchste Priorität zukommt, sowie eine Wähleinrichtung, die dazu dient, mit dem Ein-Ausgabe-Kanal den eine Wiederanschluß-Anforderung stellenden Geräteanschluß zu verbinden, dem die höchste Priorität zukommt.
    Spannungsverriegelungssystem, das es ermöglicht, an eine gemeinsame Schien e angeschlossene logische Module in einem bekannten Zustand zu halten, während die zugeführten Spannungen nicht innerhalb vorbestimmter Grenzen liegen, gekennzeichnet durch mehrere logische Module (33)» eine rrit jedem Modul verbundene gemeinsame Schiene,
    H 0 9 8 1 1 / 0 8 1 0
    Spannungsquellen (303) zum Zuführen einer Spannung zu den logischen Modulen, sowie bei jedem Modul vorhandene Einrichtungen (182) zum Feststellen des Spannungspegels, die ansprechen, wenn die dem Modul durch die Spannungsquellen zugeführte Spannung nicht innerhalb vorgeschriebener Grenzen liegt, wobei zu jedem logischen Modul eine logische Einrichtung gehört, die jeweils in einen von drei verschiedenen Zuständen bringbar ist, von denen ein Zustand einem Abschaltzustand bzw. einem Betriebsunterbrechungszustand entspricht, während die übrigen Zustände Informationen enthalten, und wobei die Einrichtungen zum Feststellen des Spannungspegels mit der in drei verschiedene Zustände bringbaren Logik zusammenarbeiten, um diese in zwei .Fällen im abgeschalteten Zustand zu halten, und zwar während eines Übergangs von Spannungspegeln aus einem innerhalb vorbestimmter Grenzen liegenden Bereich in einen außerhalb dieser Grenzen liegenden Bereich sowie in jedem Zeitpunkt, in dem Spannungspegel außerhalb der vorgeschriebenen Grenzen liegen.
    142. Verriegelungssystem nach Anspruch 141, dadurch gekennzeichnet, daß die in drei verschiedene Zustände bringbare Logik an einer Schnittstelle direkt mit der gemeinsamen Schiene zusammenarbeitet, so daß die gemeinsame Schiene in Betrieb gehalten wird, wenn die Zufuhr der Spannung zu irgendeinem logischen Modul unterbrochen wird.
    143. Multiprozessorsystem, bei dem getrennte Prozessormodule zur parallelen Datenverarbeitung miteinander verbunden sind, gekennzeichnet durch mehrere getrennte Prozessormodule (33)* eine Interprozessorschienenanordnung (35) mit einer Interprozessorschiene zur direkten Übertragung von Daten von einem Prozessormodul zu einem anderen Prozessormodul, wobei die Schiene von einem Ein-Ausgabe-System (39) und einem Speichersystem getrennt ist, wobei zu Jedem Prozessormodul eine Zentraleinheit (105) und eine Interprozessorsteuereinrlchtung (55) zum Verbinden des Prozessormoduls mit der Interprozessorschiene für
    H 0 9 8 1 1 / V, 8 1 0
    den Verkehr mit einem anderen Prozessormodul gehören, eine Schienensteuereinrichtung {yj), die der Interprozessorschlene und jeder Interprozessorsteuereinrichtung betriebsmäßig zugeordnet ist und dazu dient, die Priorität von Datenübertragungen zwischen zwei beliebigen Prozessormodulen über die Interprozessorschiene zu bestimmen und die Übertragungen über die Inter prozessorschiene zu steuern, wobei zu jedem Prozessormodul ein Eln-Ausgabe-Kanal (109) zum Verbinden des Prozessormoduls mit einem oder mehreren Geräteanschlüssen (41) gehört, mehrere Peripheriegeräte, mehrere Geräteanschlüsse zum Steuern der Übertragung von Daten zwischen dem Prozessormodul und den Peripheriegeräten, wobei zu jedem Geräteanschluß mehrere Zugänge (^3) gehören, sowie mehrere Ein-Ausgabe-Schienen (39)* die dazu dienen, jeden Geräteanschluß für den Zugriff durch mehrere verschiedene Prozessormodule zugänglich zu machen, wobei jeder in einem beliebigen Prozessormodul ablaufende Prozeß Zugriff zu jedem beliebigen Ein-Ausgabe-Teil des Systems nehmen kann, und zwar ohne Rücksicht darauf, ob der Ein-Ausgabe-Teil durch den Prozessormodul gesteuert wird oder an den Prozessormodul angeschlossen ist, in dem der Prozeß abläuft, und zwar dadurch, daß der Prozeß über die Interprozessorschiene Anforderungen an den Prozessormodul stellt, der den betreffenden Ein-Ausgabe-Teil steuert.
    144. Multiprozessorsystem nach Anspruch 143, dadurch gekennzeichnet, daß eine zweite Interprozessorschiene (35) vorhanden ist, und daß jeder Prozeß jeden beliebigen anderen Teil des Systems erreichen kann, solange für den Prozeß mindestens ein Weg zu dem betreffenden Teil zur Verfügung steht, und zwar ohne Rücksicht auf den Zustand des Weges, wie er für einen beliebigen anderen Prozeß erscheint.
    145. Multiprozessorsystem nach Anspruch 144.mit einer verteilten Spannungszuführungseinrichtung, die einen ununterbrochenen Betrieb der verbleibenden Teile des Multiprozessorsystemi
    80981 1/08 10
    gewährleistet, wenn eine einzige Spannungsquelle für einen Teil des Multiprozessorsystems versagt, dadurch gekennzeichnet, daß zu der SpannungszufUhrungseinrichtung (301) eine gesonderte Spannungsquelle (3^3) für jeden Prozessormodul (33) gehört, und daß Verbindungseinrichtungen vorhanden sind, die dazu dienen, mehrere getrennte Spannungsquellen mit jedem Geräteanschluß zu verbinden und die Spannung jedem Geräteanschluß von den verbleibenden getrennten Spannungsquellen aus zuzuführen, wenn eine der mit einem beliebigen Geräteanschluß verbundenen Spannungsquellen versagt, so daß die einem Prozessormodul betriebsmäßig zugeordnete Spannungsquelle abgeschaltet werden kann, um während des Direktbetriebs des Multiprozessorsystems (31) die Durchführung von Wartungsarbeiten beim abgeschalteten Zustand des betreffenden Prozessormoduls zu ermöglichen, während alle übrigen Teile des Multiprozessorsystems im Direktbetrieb arbeiten und betriebsfähig bleiben.
    609811/0810
DE19772740056 1976-09-07 1977-09-06 Mulitprozessor-rechnersystem Granted DE2740056A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/721,043 US4228496A (en) 1976-09-07 1976-09-07 Multiprocessor system

Publications (2)

Publication Number Publication Date
DE2740056A1 true DE2740056A1 (de) 1978-03-16
DE2740056C2 DE2740056C2 (de) 1992-03-19

Family

ID=24896297

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772740056 Granted DE2740056A1 (de) 1976-09-07 1977-09-06 Mulitprozessor-rechnersystem

Country Status (9)

Country Link
US (10) US4228496A (de)
JP (10) JPS5925257B2 (de)
BE (1) BE892627Q (de)
CA (1) CA1121481A (de)
DE (1) DE2740056A1 (de)
FR (4) FR2473197B1 (de)
GB (5) GB1588806A (de)
HK (5) HK62381A (de)
MY (5) MY8200207A (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3201768A1 (de) * 1981-01-21 1982-10-14 Hitachi, Ltd., Tokyo Job-verarbeitungsverfahren
EP1035459A1 (de) * 1999-03-08 2000-09-13 Peter Renner Prozessautomation

Families Citing this family (846)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52123137A (en) * 1976-04-09 1977-10-17 Hitachi Ltd Duplication memory control unit
JPS5619575A (en) * 1979-07-25 1981-02-24 Fujitsu Ltd Data processing system having hierarchy memory
WO1981001066A1 (en) * 1979-10-11 1981-04-16 Nanodata Computer Corp Data processing system
US4516199A (en) * 1979-10-11 1985-05-07 Nanodata Computer Corporation Data processing system
US4527237A (en) * 1979-10-11 1985-07-02 Nanodata Computer Corporation Data processing system
US4491916A (en) * 1979-11-05 1985-01-01 Litton Resources Systems, Inc. Large volume, high speed data processor
US4318173A (en) * 1980-02-05 1982-03-02 The Bendix Corporation Scheduler for a multiple computer system
US4333144A (en) * 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US4323966A (en) * 1980-02-05 1982-04-06 The Bendix Corporation Operations controller for a fault-tolerant multiple computer system
US4383300A (en) * 1980-04-04 1983-05-10 The United States Of America As Represented By The Secretary Of The Navy Multiple scanivalve control device
US4527236A (en) * 1980-04-04 1985-07-02 Digital Equipment Corporation Communications device for data processing system
NL8002787A (nl) * 1980-05-14 1981-12-16 Philips Nv Multiprocessor-rekenmachinesysteem voor het uitvoeren van een recursief algorithme.
US4363096A (en) * 1980-06-26 1982-12-07 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
US4374414A (en) * 1980-06-26 1983-02-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
US4374413A (en) * 1980-06-26 1983-02-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a plurality of central processing units
US4376975A (en) * 1980-06-26 1983-03-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a plurality of central processing units
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
US4468738A (en) * 1980-07-16 1984-08-28 Ford Aerospace & Communications Corporation Bus access arbitration using unitary arithmetic resolution logic and unique logical addresses of competing processors
FR2490434B1 (fr) * 1980-09-12 1988-03-18 Quinquis Jean Paul Dispositif de resolution des conflits d'acces et d'allocation d'une liaison de type bus interconnectant un ensemble de processeurs non hierarchises
CH651950A5 (de) * 1980-10-20 1985-10-15 Inventio Ag Multiprozessoranordnung.
US4378594A (en) * 1980-10-24 1983-03-29 Ncr Corporation High speed to low speed data buffering means
US4433374A (en) * 1980-11-14 1984-02-21 Sperry Corporation Cache/disk subsystem with cache bypass
US4446514A (en) * 1980-12-17 1984-05-01 Texas Instruments Incorporated Multiple register digital processor system with shared and independent input and output interface
US4520441A (en) * 1980-12-15 1985-05-28 Hitachi, Ltd. Data processing system
FR2497373B1 (fr) * 1980-12-30 1986-09-05 Bull Sa Systeme d'alimentation microprogrammable pour systeme de traitement de donnees comportant un panneau de service destine aux operations de maintenance et procedes d'exploitation de ce panneau de service
GB2214334B (en) * 1988-01-05 1992-05-06 Texas Instruments Ltd Integrated circuit
USRE37496E1 (en) * 1981-01-21 2002-01-01 Hitachi, Ltd Method of executing a job
US4435762A (en) 1981-03-06 1984-03-06 International Business Machines Corporation Buffered peripheral subsystems
JPS57153359A (en) * 1981-03-18 1982-09-21 Ibm Data processing system with common memory
AU551032B2 (en) * 1981-03-31 1986-04-17 British Telecommunications Public Limited Company Safety arrangement in computer control system
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
US4493021A (en) * 1981-04-03 1985-01-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Multicomputer communication system
US4493024A (en) * 1981-05-22 1985-01-08 Data General Corporation Digital data processing system
US4455602A (en) * 1981-05-22 1984-06-19 Data General Corporation Digital data processing system having an I/O means using unique address providing and access priority control techniques
US4419728A (en) * 1981-06-22 1983-12-06 Bell Telephone Laboratories, Incorporated Channel interface circuit providing virtual channel number translation and direct memory access
US4453213A (en) * 1981-07-30 1984-06-05 Harris Corporation Error reporting scheme
US4590551A (en) * 1981-08-24 1986-05-20 Burroughs Corporation Memory control circuit for subsystem controller
US4438494A (en) 1981-08-25 1984-03-20 Intel Corporation Apparatus of fault-handling in a multiprocessing system
JPS5846428A (ja) * 1981-09-11 1983-03-17 Sharp Corp 文章編集装置の停電保護用処理方式
EP0088789B1 (de) * 1981-09-18 1987-08-05 CHRISTIAN ROVSING A/S af 1984 Multiprozessor-rechnersystem
US4482950A (en) * 1981-09-24 1984-11-13 Dshkhunian Valery Single-chip microcomputer
ATE25779T1 (de) * 1981-10-01 1987-03-15 Stratus Computer Inc Digitale datenverarbeitungsanlage mit zuverlaessigkeits-bus-protokoll.
US4486826A (en) * 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
US4926315A (en) * 1981-10-01 1990-05-15 Stratus Computer, Inc. Digital data processor with fault tolerant peripheral bus communications
US4597084A (en) * 1981-10-01 1986-06-24 Stratus Computer, Inc. Computer memory apparatus
US4866604A (en) * 1981-10-01 1989-09-12 Stratus Computer, Inc. Digital data processing apparatus with pipelined memory cycles
AU560352B2 (en) * 1981-10-05 1987-04-02 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US4811279A (en) * 1981-10-05 1989-03-07 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US4811278A (en) * 1981-10-05 1989-03-07 Bean Robert G Secondary storage facility employing serial communications between drive and controller
US4825406A (en) * 1981-10-05 1989-04-25 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US4837675A (en) * 1981-10-05 1989-06-06 Digital Equipment Corporation Secondary storage facility empolying serial communications between drive and controller
US4495567A (en) * 1981-10-15 1985-01-22 Codex Corporation Multiprocessor/multimemory control system
JPS5868109A (ja) * 1981-10-17 1983-04-22 Toshiba Mach Co Ltd 機能拡張性を有するプログラマブルシ−ケンスコントロ−ラ
EP0176712B1 (de) * 1981-10-22 1991-01-02 Nec Corporation Datenverarbeitungssystem mit Hauptprozessor und datengesteuerten Modulen
US4482951A (en) * 1981-11-12 1984-11-13 Hughes Aircraft Company Direct memory access method for use with a multiplexed data bus
JPS5884308A (ja) * 1981-11-16 1983-05-20 Toshiba Mach Co Ltd プログラマブルシーケンスコントローラの制御装置
US4488256A (en) * 1981-11-23 1984-12-11 Motorola, Inc. Memory management unit having means for detecting and preventing mapping conflicts
US4473878A (en) * 1981-11-23 1984-09-25 Motorola, Inc. Memory management unit
US4477871A (en) * 1981-11-23 1984-10-16 Motorola, Inc. Global operation coordination method and circuit
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4608689A (en) * 1981-12-04 1986-08-26 Canon Kabushiki Kaisha Data processing and transfer apparatus
US4476527A (en) * 1981-12-10 1984-10-09 Data General Corporation Synchronous data bus with automatically variable data rate
US4543627A (en) * 1981-12-14 1985-09-24 At&T Bell Laboratories Internal communication arrangement for a multiprocessor system
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
IL67664A (en) * 1982-01-19 1987-01-30 Tandem Computers Inc Computer memory system with data,address and operation error detection
US4672609A (en) * 1982-01-19 1987-06-09 Tandem Computers Incorporated Memory system with operation error detection
US4472712A (en) * 1982-03-05 1984-09-18 At&T Bell Laboratories Multipoint data communication system with local arbitration
US4464658A (en) * 1982-03-05 1984-08-07 At&T Laboratories Multipoint data communication system with collision detection
DE3215080A1 (de) * 1982-04-22 1983-10-27 Siemens AG, 1000 Berlin und 8000 München Anordnung zur kopplung von digitalen verarbeitungseinheiten
DE3215177A1 (de) * 1982-04-23 1983-10-27 Hartmann & Braun Ag, 6000 Frankfurt Ueberwachungssystem fuer eine oder mehrere, gleichartig aufgebaute prozessstationen
US4490785A (en) * 1982-05-07 1984-12-25 Digital Equipment Corporation Dual path bus structure for computer interconnection
JPS58221453A (ja) * 1982-06-17 1983-12-23 Toshiba Corp 多重系情報処理装置
US4564899A (en) * 1982-09-28 1986-01-14 Elxsi I/O Channel bus
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
EP0112912A4 (de) * 1982-06-30 1987-04-28 Elxsi Ein-/ausgabekanalbus.
US4484272A (en) * 1982-07-14 1984-11-20 Burroughs Corporation Digital computer for executing multiple instruction sets in a simultaneous-interleaved fashion
US4628158A (en) * 1982-07-16 1986-12-09 At&T Bell Laboratories Stored program controller
FR2531550B1 (fr) * 1982-08-06 1987-09-25 Ozil Maurice Dispositif de couplage universel pour la mise en communication d'ensembles de traitement d'informations et d'au moins une unite peripherique
JPS5935209A (ja) * 1982-08-20 1984-02-25 Koyo Denshi Kogyo Kk シ−ケンスコントロ−ラ
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
US4484308A (en) * 1982-09-23 1984-11-20 Motorola, Inc. Serial data mode circuit for a memory
US4527157A (en) * 1982-09-30 1985-07-02 Gte Automatic Electric Inc. Single fault tolerant CCIS data link arrangement
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4502114A (en) * 1982-10-29 1985-02-26 Gte Automatic Electric Incorporated Circuit for reliable data transfer between two central processing units
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system
US4488228A (en) * 1982-12-03 1984-12-11 Motorola, Inc. Virtual memory data processor
EP0109981B1 (de) * 1982-12-07 1987-06-16 Ibm Deutschland Gmbh Ausfallgesicherte Datenverarbeitungsanlage
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
US4493035A (en) * 1982-12-07 1985-01-08 Motorola, Inc. Data processor version validation
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
WO1984002409A1 (en) * 1982-12-09 1984-06-21 Sequoia Systems Inc Memory backup system
JPS59133624A (ja) * 1983-01-20 1984-08-01 Sharp Corp インタ−フエイス方式
JPS59146345A (ja) * 1983-02-10 1984-08-22 Masahiro Sowa コントロ−ルフロ−並列計算機方式
US4599689A (en) * 1983-02-28 1986-07-08 Data Translations, Inc. Continuous data transfer system
US4703449A (en) * 1983-02-28 1987-10-27 Data Translation Inc. Interrupt driven multi-buffer DMA circuit for enabling continuous sequential data transfers
US4872106A (en) * 1983-04-06 1989-10-03 New Forney Corp. Industrial process control system with back-up data processors to take over from failed primary data processors
US4604689A (en) * 1983-04-15 1986-08-05 Convergent Technologies, Inc. Bus repeater
US4571671A (en) * 1983-05-13 1986-02-18 International Business Machines Corporation Data processor having multiple-buffer adapter between a system channel and an input/output bus
US4733366A (en) * 1983-05-16 1988-03-22 Data General Corporation Apparatus for providing an interrupt signal in response to a permanent or transient power failure
US4593350A (en) * 1983-05-25 1986-06-03 Rca Corporation Distributed processor with periodic data transfer from each memory to like addresses of all other memories
US5224124A (en) * 1983-06-16 1993-06-29 Hitachi, Ltd. Data transmission system
US4577272A (en) * 1983-06-27 1986-03-18 E-Systems, Inc. Fault tolerant and load sharing processing system
US4587609A (en) * 1983-07-01 1986-05-06 Honeywell Information Systems Inc. Lockout operation among asynchronous accessers of a shared computer system resource
US4549274A (en) * 1983-07-11 1985-10-22 Honeywell Inc. Distributed electric power demand control
US4591975A (en) * 1983-07-18 1986-05-27 Data General Corporation Data processing system having dual processors
US4868741A (en) * 1983-07-22 1989-09-19 Texas Instruments Incorporated Computer bus deadlock prevention
US4858111A (en) * 1983-07-29 1989-08-15 Hewlett-Packard Company Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
JPS6054052A (ja) * 1983-09-02 1985-03-28 Nec Corp 処理継続方式
US4493000A (en) * 1983-09-30 1985-01-08 Magnetic Peripherals Incorporated Power on/off protect circuit
US4649384A (en) * 1983-10-07 1987-03-10 Dialogic Systems Corp. Method and apparatus for fault tolerant serial communication of digital information
US4875154A (en) * 1983-10-13 1989-10-17 Mitchell Maurice E Microcomputer with disconnected, open, independent, bimemory architecture, allowing large interacting, interconnected multi-microcomputer parallel systems accomodating multiple levels of programmer defined heirarchy
US4583222A (en) * 1983-11-07 1986-04-15 Digital Equipment Corporation Method and apparatus for self-testing of floating point accelerator processors
US4860244A (en) * 1983-11-07 1989-08-22 Digital Equipment Corporation Buffer system for input/output portion of digital data processing system
US4639891A (en) * 1983-11-14 1987-01-27 Digital Equipment Corporation Signals path control circuitry for a data terminal
US4608688A (en) * 1983-12-27 1986-08-26 At&T Bell Laboratories Processing system tolerant of loss of access to secondary storage
US4881164A (en) * 1983-12-30 1989-11-14 International Business Machines Corporation Multi-microprocessor for controlling shared memory
NL8400186A (nl) * 1984-01-20 1985-08-16 Philips Nv Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem.
US5581732A (en) * 1984-03-10 1996-12-03 Encore Computer, U.S., Inc. Multiprocessor system with reflective memory data transfer device
GB2156554B (en) * 1984-03-10 1987-07-29 Rediffusion Simulation Ltd Processing system with shared data
US5255369A (en) * 1984-03-10 1993-10-19 Encore Computer U.S., Inc. Multiprocessor system with reflective memory data transfer device
US4821174A (en) * 1984-03-20 1989-04-11 Westinghouse Electric Corp. Signal processing system including a bus control module
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
US4905145A (en) * 1984-05-17 1990-02-27 Texas Instruments Incorporated Multiprocessor
US4704599A (en) * 1984-06-20 1987-11-03 Kimmel Arthur T Auxiliary power connector and communication channel control circuit
DE3424587A1 (de) * 1984-07-04 1986-01-09 Standard Elektrik Lorenz Ag, 7000 Stuttgart Schaltungsanordnung zur steuerung der bidirektionalen datenuebertragung zwischen einer rechnereinheit und ueber ein-/ausgabeeinheiten angeschlossenen uebertragungsleitungen
US4669056A (en) * 1984-07-31 1987-05-26 International Business Machines Corporation Data processing system with a plurality of processors accessing a common bus to interleaved storage
US4688168A (en) * 1984-08-23 1987-08-18 Picker International Inc. High speed data transfer method and apparatus
JPS6194433A (ja) * 1984-10-15 1986-05-13 Mitsubishi Electric Corp シリアルバスの制御方式
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US4870704A (en) * 1984-10-31 1989-09-26 Flexible Computer Corporation Multicomputer digital processing system
US4697232A (en) * 1984-11-30 1987-09-29 Storage Technology Corporation I/O device reconnection in a multiple-CPU, dynamic path allocation environment
US4692894A (en) * 1984-12-18 1987-09-08 Advanced Micro Devices, Inc. Overflow/Underflow detection for elastic buffer
DE3508048A1 (de) * 1985-03-07 1986-09-11 Standard Elektrik Lorenz Ag, 7000 Stuttgart Schnittstelleneinrichtung
US4967344A (en) * 1985-03-26 1990-10-30 Codex Corporation Interconnection network for multiple processors
US4752928A (en) * 1985-05-06 1988-06-21 Tektronix, Inc. Transaction analyzer
AU568977B2 (en) 1985-05-10 1988-01-14 Tandem Computers Inc. Dual processor error detection system
US5101478A (en) * 1985-06-28 1992-03-31 Wang Laboratories, Inc. I/O structure for information processing system
JPS623366A (ja) * 1985-06-28 1987-01-09 Toshiba Corp マルチプロセツサシステム
US5157595A (en) * 1985-07-19 1992-10-20 El Paso Technologies, Company Distributed logic control system and method
JPH0752876B2 (ja) * 1985-07-20 1995-06-05 ソニー株式会社 内部バス式デイジタル装置
JPH067380B2 (ja) * 1985-08-30 1994-01-26 株式会社日立製作所 マルチプロセッサシステム
US4787028A (en) * 1985-09-03 1988-11-22 Ncr Corporation Multicommunication protocol controller
US4700330A (en) * 1985-10-30 1987-10-13 Digital Equipment Corporation Memory for a digital data processing system including circuit for controlling refresh operations during power-up and power-down conditions
US4783732A (en) * 1985-12-12 1988-11-08 Itt Corporation Two-wire/three-port RAM for cellular array processor
US4736339A (en) * 1985-12-16 1988-04-05 Gte Communication Systems Corporation Circuit for simplex I/O terminal control by duplex processors
US4979108A (en) * 1985-12-20 1990-12-18 Ag Communication Systems Corporation Task synchronization arrangement and method for remote duplex processors
JPS62210436A (ja) * 1986-03-11 1987-09-16 Minolta Camera Co Ltd カメラのデ−タ伝送装置
US4746920A (en) * 1986-03-28 1988-05-24 Tandem Computers Incorporated Method and apparatus for clock management
US5151999A (en) * 1986-03-31 1992-09-29 Wang Laboratories, Inc. Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts
GB2189168B (en) 1986-04-21 1989-11-29 Aligena Ag Composite membranes useful in the separation of low molecular weight organic compounds from aqueous solutions containing inorganic salts
US4920481A (en) * 1986-04-28 1990-04-24 Xerox Corporation Emulation with display update trapping
US5113517A (en) * 1986-04-28 1992-05-12 Xerox Corporation Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween
US4939507A (en) * 1986-04-28 1990-07-03 Xerox Corporation Virtual and emulated objects for use in the user interface of a display screen of a display processor
US4937036A (en) * 1986-04-28 1990-06-26 Xerox Corporation Concurrent display of data from two different display processors and user interface therefore
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US5153577A (en) * 1986-04-28 1992-10-06 Xerox Corporation Mapping character color attributes into grey pixel patterns
US4899136A (en) * 1986-04-28 1990-02-06 Xerox Corporation Data processor having a user interface display with metaphoric objects
US4860193A (en) * 1986-05-22 1989-08-22 International Business Machines Corporation System for efficiently transferring data between a high speed channel and a low speed I/O device
US5301322A (en) * 1986-05-23 1994-04-05 Hitachi, Ltd. System for converting job/process identifiers into processor/process identifiers in transferring data between processes in a multiprocessor system
US4835674A (en) * 1986-07-28 1989-05-30 Bull Hn Information Systems Inc. Computer network system for multiple processing elements
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4951193A (en) * 1986-09-05 1990-08-21 Hitachi, Ltd. Parallel computer with distributed shared memories and distributed task activating circuits
US4791641A (en) * 1986-09-15 1988-12-13 Thinking Machines Corporation Parallel processor error checking
EP0260392A3 (de) * 1986-09-19 1992-03-11 International Business Machines Corporation Ein-Ausgabeschnittstellensteuerung zum Verbinden eines synchronen Busses mit einem asynchronen Bus und Verfahren zur Operationsausführung auf den Bussen
GB2196762B (en) * 1986-10-27 1990-12-19 Burr Brown Ltd Interleaved access to global memory by high priority source
US4933836A (en) * 1986-10-29 1990-06-12 United Technologies Corporation n-Dimensional modular multiprocessor lattice architecture
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US4912461A (en) * 1986-11-05 1990-03-27 Cellular Control Systems Corporation Apparatus and network for transferring packets of electronic signals and associated method
US4914653A (en) * 1986-12-22 1990-04-03 American Telephone And Telegraph Company Inter-processor communication protocol
JP2549642B2 (ja) * 1986-12-26 1996-10-30 株式会社東芝 画像処理装置
JPH0440549Y2 (de) * 1986-12-26 1992-09-22
JP2530829B2 (ja) * 1987-01-16 1996-09-04 株式会社日立製作所 直接メモリアクセス制御装置とマルチマイクロコンピュ―タシステム内におけるデ―タ転送方法
US5020024A (en) * 1987-01-16 1991-05-28 Stratus Computer, Inc. Method and apparatus for detecting selected absence of digital logic synchronism
AU598101B2 (en) * 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
US5293597A (en) * 1987-03-09 1994-03-08 At&T Bell Laboratories Concurrent context memory management unit
US4989134A (en) * 1987-03-20 1991-01-29 Hewlett-Packard Company Method and apparatus for enhancing data storage efficiency
US5241627A (en) * 1987-04-09 1993-08-31 Tandem Computers Incorporated Automatic processor module determination for multiprocessor systems for determining a value indicating the number of processors
US4855899A (en) * 1987-04-13 1989-08-08 Prime Computer, Inc. Multiple I/O bus virtual broadcast of programmed I/O instructions
US5276807A (en) * 1987-04-13 1994-01-04 Emulex Corporation Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking
US4821170A (en) * 1987-04-17 1989-04-11 Tandem Computers Incorporated Input/output system for multiprocessors
US4920477A (en) * 1987-04-20 1990-04-24 Multiflow Computer, Inc. Virtual address table look aside buffer miss recovery method and apparatus
US5307506A (en) * 1987-04-20 1994-04-26 Digital Equipment Corporation High bandwidth multiple computer bus apparatus
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US4805228A (en) * 1987-05-04 1989-02-14 The Johns Hopkins University Cellular logic processor
US5155857A (en) * 1987-05-29 1992-10-13 Hitachi, Ltd. Communication processing system in which communication by terminals is controlled according to a terminal management table
CA1296103C (en) * 1987-06-02 1992-02-18 Theodore Jay Goodlander High-speed, high capacity, fault-tolerant, error-correcting storage system
US5257367A (en) * 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link
AU605598B2 (en) * 1987-06-02 1991-01-17 Storage Computer Corporation Fault-tolerant, error-correcting storage system
US4942579A (en) * 1987-06-02 1990-07-17 Cab-Tek, Inc. High-speed, high-capacity, fault-tolerant error-correcting storage system
US5201040A (en) * 1987-06-22 1993-04-06 Hitachi, Ltd. Multiprocessor system having subsystems which are loosely coupled through a random access storage and which each include a tightly coupled multiprocessor
US5317717A (en) * 1987-07-01 1994-05-31 Digital Equipment Corp. Apparatus and method for main memory unit protection using access and fault logic signals
US5278840A (en) * 1987-07-01 1994-01-11 Digital Equipment Corporation Apparatus and method for data induced condition signalling
US5063497A (en) * 1987-07-01 1991-11-05 Digital Equipment Corporation Apparatus and method for recovering from missing page faults in vector data processing operations
US5047923A (en) * 1987-08-21 1991-09-10 Siemens Aktiengesellschaft Modularly structured digital communication system for interconnecting terminal equipment and public networks
US4958273A (en) * 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability
US4999771A (en) * 1987-08-31 1991-03-12 Control Data Corporation Communications network
US4912680A (en) * 1987-09-03 1990-03-27 Minolta Camera Kabushiki Kaisha Image memory having plural input registers and output registers to provide random and serial accesses
US4907228A (en) * 1987-09-04 1990-03-06 Digital Equipment Corporation Dual-rail processor with error checking at single rail interfaces
US5185877A (en) * 1987-09-04 1993-02-09 Digital Equipment Corporation Protocol for transfer of DMA data
CA1320276C (en) * 1987-09-04 1993-07-13 William F. Bruckert Dual rail processors with error checking on i/o reads
US4916704A (en) * 1987-09-04 1990-04-10 Digital Equipment Corporation Interface of non-fault tolerant components to fault tolerant system
EP0306244B1 (de) * 1987-09-04 1995-06-21 Digital Equipment Corporation Fehlertolerantes Rechnersystem mit Fehler-Eingrenzung
JPS6479841A (en) * 1987-09-22 1989-03-24 Aisin Seiki Abnormality monitoring device for microcomputer
CA1297593C (en) * 1987-10-08 1992-03-17 Stephen C. Leuty Fault tolerant ancillary messaging and recovery system and method within adigital switch
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
JP2587434B2 (ja) * 1987-11-13 1997-03-05 株式会社日立製作所 データの入出力処理方法
US5084816A (en) * 1987-11-25 1992-01-28 Bell Communications Research, Inc. Real time fault tolerant transaction processing system
EP0323013B1 (de) * 1987-11-30 1995-08-30 International Business Machines Corporation Verfahren zum Betreiben eines einen anteilig genutzten virtuellen Speicher verwendenden Multiprozessorsystems
JP2807010B2 (ja) * 1988-01-27 1998-09-30 ストレイジ テクノロジー コーポレイション ホストコンピュータとテープ駆動部間の相互接続用のテープ駆動制御ユニットおよびその操作方法
US5247692A (en) * 1988-02-08 1993-09-21 Nec Corporation Multiple file system having a plurality of file units holding the same files in which loss of data is prevented in a failure of a file unit
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5113508A (en) * 1988-03-08 1992-05-12 International Business Machines Corporation Data cache initialization
US4982325A (en) * 1988-03-18 1991-01-01 At&T Bell Laboratories Applications processor module for interfacing to a database system
JPH01256843A (ja) * 1988-03-25 1989-10-13 Ncr Corp リンク・コントロール・システム
US4979100A (en) * 1988-04-01 1990-12-18 Sprint International Communications Corp. Communication processor for a packet-switched network
JPH0769882B2 (ja) * 1988-05-11 1995-07-31 富士通株式会社 クロスコール機能を有する入出力制御システム及びそのシステムにおける動的構成変更方法
US5003464A (en) * 1988-05-23 1991-03-26 Bell Communications Research, Inc. Methods and apparatus for efficient resource allocation
US5179683A (en) * 1988-06-14 1993-01-12 Hitachi, Ltd. Retrieval apparatus including a plurality of retrieval units
US5287483A (en) * 1988-07-06 1994-02-15 Kabushiki Kaisha Toshiba Prefetched operand storing system for an information processor
US4891785A (en) * 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
JPH0237422A (ja) * 1988-07-28 1990-02-07 Oki Electric Ind Co Ltd 数値管理方式
US5337411A (en) * 1988-10-20 1994-08-09 Westinghouse Electric Corporation Multi-processor computer system bus architecture
DE68924040T2 (de) * 1988-10-24 1996-04-18 Ibm Verfahren zum Austauschen von Daten zwischen Programmen in einem Datenverarbeitungssystem.
JPH0797328B2 (ja) * 1988-10-25 1995-10-18 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン フオールト・トレラント同期システム
US5155858A (en) * 1988-10-27 1992-10-13 At&T Bell Laboratories Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold
JPH0833799B2 (ja) * 1988-10-31 1996-03-29 富士通株式会社 データ入出力制御方式
US4994963A (en) * 1988-11-01 1991-02-19 Icon Systems International, Inc. System and method for sharing resources of a host computer among a plurality of remote computers
JPH02130647A (ja) * 1988-11-11 1990-05-18 Toshiba Corp 索引木構造の更新方式
US5123047A (en) * 1988-12-09 1992-06-16 The Exchange System Limited Partnership Method of updating encryption device monitor code in a multichannel data encryption system
US5128996A (en) * 1988-12-09 1992-07-07 The Exchange System Limited Partnership Multichannel data encryption device
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US4997288A (en) * 1988-12-09 1991-03-05 The Exchange System Limited Partnership Power supply arrangement for fault-tolerant operation in a microcomputer-based encryption system
US5249298A (en) * 1988-12-09 1993-09-28 Dallas Semiconductor Corporation Battery-initiated touch-sensitive power-up
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4984240A (en) * 1988-12-22 1991-01-08 Codex Corporation Distributed switching architecture for communication module redundancy
US5097410A (en) * 1988-12-30 1992-03-17 International Business Machines Corporation Multimode data system for transferring control and data information in an i/o subsystem
US5303351A (en) * 1988-12-30 1994-04-12 International Business Machines Corporation Error recovery in a multiple 170 channel computer system
GB2226666B (en) * 1988-12-30 1993-07-07 Intel Corp Request/response protocol
EP0378398B1 (de) * 1989-01-13 1996-07-24 International Business Machines Corporation Datenverarbeitungssystem mit Mitteln zur Zustandserkennung der Befehle empfangenden Datenverarbeitungseinrichtung
US5237676A (en) * 1989-01-13 1993-08-17 International Business Machines Corp. High speed data transfer system which adjusts data transfer speed in response to indicated transfer speed capability of connected device
DE69027788D1 (de) * 1989-01-17 1996-08-22 Landmark Graphics Corp Verfahren zur Übertragung von Daten zwischen gleichzeitig ablaufenden Rechnerprogrammen
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
US5148433A (en) * 1989-03-13 1992-09-15 Square D Company Transfer network interface
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.
US5276818A (en) * 1989-04-24 1994-01-04 Hitachi, Ltd. Bus system for information processing system and method of controlling the same
US5283868A (en) * 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5325517A (en) * 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US5144692A (en) * 1989-05-17 1992-09-01 International Business Machines Corporation System for controlling access by first system to portion of main memory dedicated exclusively to second system to facilitate input/output processing via first system
US5369749A (en) * 1989-05-17 1994-11-29 Ibm Corporation Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
US5369767A (en) * 1989-05-17 1994-11-29 International Business Machines Corp. Servicing interrupt requests in a data processing system without using the services of an operating system
RU1777148C (ru) * 1989-05-30 1992-11-23 Институт Точной Механики И Вычислительной Техники Им.С.А.Лебедева Вычислительна система
US5353243A (en) * 1989-05-31 1994-10-04 Synopsys Inc. Hardware modeling system and method of use
JPH0314161A (ja) * 1989-06-13 1991-01-22 Toshiba Corp プロセッサ監視処理方式
US5146574A (en) * 1989-06-27 1992-09-08 Sf2 Corporation Method and circuit for programmable selecting a variable sequence of element using write-back
FR2649224B1 (fr) * 1989-06-30 1995-09-01 Nec Corp Systeme de traitement de l'information capable de prendre facilement en charge le traitement d'un processeur defaillant
US5036455A (en) * 1989-07-25 1991-07-30 Tandem Computers Incorporated Multiple power supply sensor for protecting shared processor buses
US5068780A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
US5153881A (en) * 1989-08-01 1992-10-06 Digital Equipment Corporation Method of handling errors in software
US5068851A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Apparatus and method for documenting faults in computing modules
US5065312A (en) * 1989-08-01 1991-11-12 Digital Equipment Corporation Method of converting unique data to system data
US5163138A (en) * 1989-08-01 1992-11-10 Digital Equipment Corporation Protocol for read write transfers via switching logic by transmitting and retransmitting an address
US5048022A (en) * 1989-08-01 1991-09-10 Digital Equipment Corporation Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
US5251227A (en) * 1989-08-01 1993-10-05 Digital Equipment Corporation Targeted resets in a data processor including a trace memory to store transactions
ATE139632T1 (de) * 1989-08-01 1996-07-15 Digital Equipment Corp Verfahren zur softwarefehlerbehandlung
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
US5159551A (en) * 1989-08-09 1992-10-27 Picker International, Inc. Prism architecture for ct scanner image reconstruction
US5133078A (en) * 1989-08-11 1992-07-21 International Business Machines Corporation Serial frame processing system in which validation and transfer of a frame's data from input buffer to output buffer proceed concurrently
US5179662A (en) * 1989-08-31 1993-01-12 International Business Machines Corporation Optimized i/o buffers having the ability to increase or decrease in size to meet system requirements
US5204951A (en) * 1989-10-02 1993-04-20 International Business Machines Corporation Apparatus and method for improving the communication efficiency between a host processor and peripheral devices connected by an scsi bus
US5212789A (en) * 1989-10-12 1993-05-18 Bell Communications Research, Inc. Method and apparatus for updating application databases used in a distributed transaction processing environment
EP0450052A1 (de) * 1989-10-17 1991-10-09 MITCHELL, Maurice E. Rechner mit abgeschalteter offener unabhängiger doppelspeicherarchitektur
US5201055A (en) * 1989-11-03 1993-04-06 Compaq Computer Corporation Multiprocessing system includes interprocessor encoding and decoding logic used for communication between two cards through reduced addressing lines
DE58908975D1 (de) * 1989-11-21 1995-03-16 Itt Ind Gmbh Deutsche Zweiwege-Datenübergabe-Einrichtung.
US5278974A (en) * 1989-12-04 1994-01-11 Digital Equipment Corporation Method and apparatus for the dynamic adjustment of data transfer timing to equalize the bandwidths of two buses in a computer system having different bandwidths
US5729708A (en) * 1989-12-04 1998-03-17 Canon Kabushiki Kaisha Portable data buffer apparatus with manually controlled reception/transmission
US5687396A (en) * 1989-12-04 1997-11-11 Canon Kabushiki Kaisha Data buffer apparatus with interrupted transmission/reception
KR940002905B1 (en) * 1989-12-15 1994-04-07 Ibm Apparatus for conditioning priority arbitration in buffered direct memory addressing
AU7142091A (en) * 1989-12-19 1991-07-18 E-Systems Incorporated Method and apparatus for dispersed end-entity flow control in computer networks
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
FR2656441B1 (fr) * 1989-12-22 1993-12-10 Bull Sa Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse.
DE69032508T2 (de) 1989-12-22 1999-03-25 Tandem Computers Inc Fehlertolerantes Rechnersystem mit Online-Wiedereinfügung und Abschaltung/Start
US5193187A (en) * 1989-12-29 1993-03-09 Supercomputer Systems Limited Partnership Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5239629A (en) * 1989-12-29 1993-08-24 Supercomputer Systems Limited Partnership Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
US5123094A (en) * 1990-01-26 1992-06-16 Apple Computer, Inc. Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers
JPH03235152A (ja) * 1990-02-13 1991-10-21 Fujitsu Ltd バス制御方式
KR950008837B1 (ko) * 1990-03-09 1995-08-08 후지쓰 가부시끼가이샤 멀티 프로세서 시스템용 제어시스템
DE69132300T2 (de) * 1990-03-12 2000-11-30 Hewlett Packard Co Durch Anwender festgelegter direkter Speicherzugriff mit Anwendung von virtuellen Adressen
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
DE69124285T2 (de) * 1990-05-18 1997-08-14 Fujitsu Ltd Datenverarbeitungssystem mit einem Eingangs-/Ausgangswegetrennmechanismus und Verfahren zur Steuerung des Datenverarbeitungssystems
US5164944A (en) * 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
US5261077A (en) * 1990-06-29 1993-11-09 Digital Equipment Corporation Configurable data path arrangement for resolving data type incompatibility
AU630299B2 (en) * 1990-07-10 1992-10-22 Fujitsu Limited A data gathering/scattering system in a parallel computer
GB9015363D0 (en) * 1990-07-12 1990-08-29 Marconi Gec Ltd Optical networks
US5341496A (en) * 1990-08-29 1994-08-23 The Foxboro Company Apparatus and method for interfacing host computer and computer nodes using redundant gateway data lists of accessible computer node data
US5255372A (en) * 1990-08-31 1993-10-19 International Business Machines Corporation Apparatus for efficiently interconnecing channels of a multiprocessor system multiplexed via channel adapters
US5289589A (en) * 1990-09-10 1994-02-22 International Business Machines Corporation Automated storage library having redundant SCSI bus system
US5475770A (en) * 1990-09-24 1995-12-12 Cgk Computer Gesellschaft Konstanz Mbh Parallel recognition of document images with a time-elapsed processing abortion to improve overall throughput
US5255388A (en) * 1990-09-26 1993-10-19 Honeywell Inc. Synchronizing slave processors through eavesdrop by one on a write request message directed to another followed by comparison of individual status request replies
US5293377A (en) * 1990-10-05 1994-03-08 International Business Machines, Corporation Network control information without reserved bandwidth
US5339397A (en) * 1990-10-12 1994-08-16 International Business Machines Corporation Hardware primary directory lock
US6453406B1 (en) 1990-10-17 2002-09-17 Compaq Computer Corporation Multiprocessor system with fiber optic bus interconnect for interprocessor communications
JP2575557B2 (ja) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
US5182800A (en) * 1990-11-16 1993-01-26 International Business Machines Corporation Direct memory access controller with adaptive pipelining and bus control features
US5210829A (en) * 1990-12-12 1993-05-11 Digital Equipment Corporation Adjustable threshold for buffer management
CA2059143C (en) 1991-01-25 2000-05-16 Takeshi Miyao Processing unit for a computer and a computer system incorporating such a processing unit
US5537624A (en) * 1991-02-12 1996-07-16 The United States Of America As Represented By The Secretary Of The Navy Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
US5481707A (en) * 1991-05-19 1996-01-02 Unisys Corporation Dedicated processor for task I/O and memory management
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
EP0528538B1 (de) * 1991-07-18 1998-12-23 Tandem Computers Incorporated Multiprozessorsystem mit gespiegeltem Speicher
GB2258069B (en) * 1991-07-25 1995-03-29 Intel Corp High speed computer graphics bus
WO1993003439A1 (en) * 1991-07-26 1993-02-18 Tandem Computers Incorporated Apparatus and method for frame switching
US5454082A (en) * 1991-09-18 1995-09-26 Ncr Corporation System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5758052A (en) * 1991-10-02 1998-05-26 International Business Machines Corporation Network management method using redundant distributed control processors
AU2656892A (en) * 1991-10-04 1993-05-03 Wellfleet Communications, Inc. Method and apparatus for concurrent packet bus
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
US5935253A (en) * 1991-10-17 1999-08-10 Intel Corporation Method and apparatus for powering down an integrated circuit having a core that operates at a speed greater than the bus frequency
US5842029A (en) * 1991-10-17 1998-11-24 Intel Corporation Method and apparatus for powering down an integrated circuit transparently and its phase locked loop
WO1993009494A1 (en) * 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
DE69230093T2 (de) * 1991-11-19 2000-04-13 Ibm Multiprozessorsystem
EP0544279B1 (de) * 1991-11-27 1999-10-13 Canon Kabushiki Kaisha Wiedergabegerät
US5708784A (en) * 1991-11-27 1998-01-13 Emc Corporation Dual bus computer architecture utilizing distributed arbitrators and method of using same
US5297287A (en) * 1992-03-02 1994-03-22 S-Mos Systems, Incorporated System and method for resetting a microprocessor system
GB2264794B (en) * 1992-03-06 1995-09-20 Intel Corp Method and apparatus for automatic power management in a high integration floppy disk controller
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
US5317751A (en) * 1992-03-18 1994-05-31 Aeg Westinghouse Transportation Systems, Inc. Method and apparatus for placing a trainline monitor system in a layup mode
US6794060B2 (en) 1992-03-27 2004-09-21 The Louis Berkman Company Corrosion-resistant coated metal and method for making the same
US5428769A (en) * 1992-03-31 1995-06-27 The Dow Chemical Company Process control interface system having triply redundant remote field units
US5506964A (en) * 1992-04-16 1996-04-09 International Business Machines Corporation System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system
US5434870A (en) * 1992-04-17 1995-07-18 Unisys Corporation Apparatus and method for verifying the authenticity of a circuit board
US5493663A (en) * 1992-04-22 1996-02-20 International Business Machines Corporation Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses
JPH05314075A (ja) * 1992-05-07 1993-11-26 Nec Corp オンラインコンピュータ装置
US5325363A (en) * 1992-05-11 1994-06-28 Tandem Computers Incorporated Fault tolerant power supply for an array of storage devices
US6134655A (en) * 1992-05-13 2000-10-17 Comverge Technologies, Inc. Method and apparatus for initializing a microprocessor to insure fault-free operation
US6435737B1 (en) * 1992-06-30 2002-08-20 Discovision Associates Data pipeline system and data encoding method
EP0582535A1 (de) * 1992-07-07 1994-02-09 International Business Machines Corporation Verfahren zur automatischen Schrifttypenbestimmung bei gemeinsamer Verwendung von Anwendungen
JP2952112B2 (ja) * 1992-07-15 1999-09-20 株式会社日立製作所 多線式フィールドバスシステム
US5471586A (en) * 1992-09-22 1995-11-28 Unisys Corporation Interface system having plurality of channels and associated independent controllers for transferring data between shared buffer and peripheral devices independently
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
EP0596144A1 (de) * 1992-10-07 1994-05-11 International Business Machines Corporation Hierarchises Speichersystem für Mikrokode und Vorrichtung zur Korrektur von Fehlern in der Mikrokode
US6098113A (en) * 1992-10-22 2000-08-01 Ncr Corporation Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus
US5473767A (en) * 1992-11-03 1995-12-05 Intel Corporation Method and apparatus for asynchronously stopping the clock in a processor
JPH0760395B2 (ja) * 1992-11-06 1995-06-28 日本電気株式会社 フォールトトレラントコンピュータシステム
US5392437A (en) * 1992-11-06 1995-02-21 Intel Corporation Method and apparatus for independently stopping and restarting functional units
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US5675579A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Method for verifying responses to messages using a barrier message
US5513354A (en) * 1992-12-18 1996-04-30 International Business Machines Corporation Fault tolerant load management system and method
EP0610950A3 (de) * 1993-02-12 1998-04-22 Siemens Aktiengesellschaft Schaltungsanordnung zur Nachrichtenübertragung
JPH06259343A (ja) * 1993-03-10 1994-09-16 Hitachi Ltd 多重バス制御方式及びそれを用いたシステム
US5491786A (en) * 1993-03-12 1996-02-13 International Business Machines Corporation Method and system for management of units within a data processing system
CN1092538A (zh) * 1993-03-16 1994-09-21 Ht研究公司 一种用于多计算机系统的机壳
US5559980A (en) * 1993-03-18 1996-09-24 Lucent Technologies Inc. Method and apparatus for detecting references to deallocated memory in a dynamic memory allocation system
US5586332A (en) * 1993-03-24 1996-12-17 Intel Corporation Power management for low power processors through the use of auto clock-throttling
US5919266A (en) * 1993-04-02 1999-07-06 Centigram Communications Corporation Apparatus and method for fault tolerant operation of a multiprocessor data processing system
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
GB2277816B (en) * 1993-05-04 1997-09-03 Motorola Inc Data communication system
JP2750315B2 (ja) * 1993-05-14 1998-05-13 インターナショナル・ビジネス・マシーンズ・コーポレイション 識別子の指定方法およびコンピュータ・システム
US5490279A (en) * 1993-05-21 1996-02-06 Intel Corporation Method and apparatus for operating a single CPU computer system as a multiprocessor system
US5426736A (en) * 1993-05-26 1995-06-20 Digital Equipment Corporation Method and apparatus for processing input/output commands in a storage system having a command queue
US5861894A (en) * 1993-06-24 1999-01-19 Discovision Associates Buffer manager
US5446848A (en) * 1993-06-25 1995-08-29 Unisys Corp Entry level data processing system which is expandable by a factor of two to a partitionable upgraded system with low overhead
US5471625A (en) * 1993-09-27 1995-11-28 Motorola, Inc. Method and apparatus for entering a low-power mode and controlling an external bus of a data processing system during low-power mode
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
US5448723A (en) * 1993-10-15 1995-09-05 Tandem Computers Incorporated Method and apparatus for fault tolerant connection of a computing system to local area networks
JP3370155B2 (ja) * 1993-12-01 2003-01-27 富士通株式会社 データ処理システム
DE69435165D1 (de) * 1993-12-01 2008-12-18 Marathon Techn Corp Fehlerbetriebssichere/Fehlertolerante Computerbetriebsmethode
JP3161189B2 (ja) * 1993-12-03 2001-04-25 株式会社日立製作所 記憶システム
US5771397A (en) * 1993-12-09 1998-06-23 Quantum Corporation SCSI disk drive disconnection/reconnection timing method for reducing bus utilization
EP0666525B1 (de) * 1994-02-04 2001-09-12 Intel Corporation Verfahren und Vorrichtung zur Stromverbrauchssteuerung in einem Rechnersystem
CA2142510A1 (en) * 1994-02-24 1995-08-25 Robert W. Horst Massively parallel multiprocessor system with fault-tolerant interprocessor network
US5600576A (en) * 1994-03-11 1997-02-04 Northrop Grumman Corporation Time stress measurement device
CA2145363C (en) * 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
US5664089A (en) * 1994-04-26 1997-09-02 Unisys Corporation Multiple power domain power loss detection and interface disable
JP2679674B2 (ja) * 1994-05-02 1997-11-19 日本電気株式会社 半導体製造ライン制御装置
US5557738A (en) * 1994-05-09 1996-09-17 Apple Computer, Inc. Power system configuration and recovery from a power fault condition in a computer system having multiple power supplies
US5623596A (en) * 1994-05-09 1997-04-22 Apple Computer, Inc. Power fault protection in a computer system having multiple power supplies
WO1995034860A1 (en) * 1994-06-10 1995-12-21 Sequoia Systems, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5566297A (en) * 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
US5928368A (en) * 1994-06-23 1999-07-27 Tandem Computers Incorporated Method and apparatus for fault-tolerant multiprocessing system recovery from power failure or drop-outs
GB2291571A (en) * 1994-07-19 1996-01-24 Ibm Text to speech system; acoustic processor requests linguistic processor output
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US6131153A (en) * 1994-10-31 2000-10-10 Nkk Corporation Multiprocessor system having a plurality of gateway units and wherein each gateway unit controls memory access requests and interferences from one hierchical level to another
US5724554A (en) * 1994-11-30 1998-03-03 Intel Corporation Apparatus for dual serial and parallel port connections for computer peripherals using a single connector
US5740359A (en) * 1994-12-27 1998-04-14 Kabushiki Kaisha Toshiba Program execution system having a plurality of program versions
CA2167634A1 (en) * 1995-01-23 1996-07-24 Michael E. Fisher Method and apparatus for maintaining network connections across a voluntary process switchover
US5978914A (en) * 1995-01-23 1999-11-02 Tandem Computers Incorporated Method and apparatus for preventing inadvertent changes to system-critical files in a computing system
CA2167632A1 (en) 1995-01-23 1996-07-24 Leonard R. Fishler Apparatus and method for efficient transfer of data and events between processes and between processes and drivers in a parallel, fault tolerant message based operating system
US5630140A (en) * 1995-01-23 1997-05-13 Tandem Computers Incorporated Ordered and reliable signal delivery in a distributed multiprocessor
CA2167633A1 (en) * 1995-01-23 1996-07-24 Leonard R. Fishler Apparatus and method for efficient modularity in a parallel, fault tolerant, message based operating system
US5576945A (en) * 1995-01-23 1996-11-19 Tandem Computers Incorporated Transaction monitor process with pre-arranged modules for a multiprocessor system
EP0730237A1 (de) * 1995-02-28 1996-09-04 Nec Corporation Multiprozessorsystem mit virtuell adressierbaren Kommunikationsregistern und Steuerungsverfahren
JPH08256155A (ja) * 1995-03-17 1996-10-01 Fujitsu Ltd ディジタル処理装置のポーリング方法及びその装置
US5864654A (en) * 1995-03-31 1999-01-26 Nec Electronics, Inc. Systems and methods for fault tolerant information processing
US5564027A (en) * 1995-04-20 1996-10-08 International Business Machines Corporation Low latency cadence selectable interface for data transfers between busses of differing frequencies
US6185010B1 (en) * 1995-04-25 2001-02-06 Ricoh Company, Ltd. Image forming system having separate printer unit and scanner unit, the printer unit including a power supply for both the printer and scanner units
US5848230A (en) * 1995-05-25 1998-12-08 Tandem Computers Incorporated Continuously available computer memory systems
US5673416A (en) * 1995-06-07 1997-09-30 Seiko Epson Corporation Memory request and control unit including a mechanism for issuing and removing requests for memory access
US5687308A (en) * 1995-06-07 1997-11-11 Tandem Computers Incorporated Method to improve tolerance of non-homogeneous power outages
US5687372A (en) * 1995-06-07 1997-11-11 Tandem Computers, Inc. Customer information control system and method in a loosely coupled parallel processing environment
US5826043A (en) * 1995-06-07 1998-10-20 Ast Research, Inc. Docking station with serially accessed memory that is powered by a portable computer for identifying the docking station
US5734843A (en) * 1995-06-07 1998-03-31 Advanced Micro Devices Inc. Reverse data channel as a bandwidth modulator
US5790868A (en) * 1995-06-07 1998-08-04 Tandem Computers, Inc. Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US5630133A (en) * 1995-06-07 1997-05-13 Tandem Computers, Incorporated Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US5682507A (en) * 1995-06-07 1997-10-28 Tandem Computers, Incorporated Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5812861A (en) * 1995-06-22 1998-09-22 Intel Corporation Override signal for forcing a powerdown of a flash memory
US5740350A (en) * 1995-06-30 1998-04-14 Bull Hn Information Systems Inc. Reconfigurable computer system
US5752251A (en) * 1995-08-07 1998-05-12 Ncr Corporation Method and apparatus for recovering aborted file (or data) transmission
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
JP3628777B2 (ja) 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置
US5745672A (en) * 1995-11-29 1998-04-28 Texas Micro, Inc. Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5954794A (en) 1995-12-20 1999-09-21 Tandem Computers Incorporated Computer system data I/O by reference among I/O devices and multiple memory units
US5931903A (en) 1995-12-20 1999-08-03 Tandem Computers Incorporated Computer system data I/O by reference among multiple CPUS
US5790807A (en) 1995-12-20 1998-08-04 Tandem Computers Incorporated Computer sysem data I/O by reference among CPUS and I/O devices
US5852719A (en) 1995-12-20 1998-12-22 Tandem Computers Incorporated System for transferring data over a network in which a data source sends only a descriptor which a data sink uses to retrieve data
US5941959A (en) 1995-12-20 1999-08-24 Tandem Computers Incorporated System for transferring a data stream to a requestor without copying data segments to each one of multiple data source/sinks during data stream building
US6130878A (en) * 1995-12-27 2000-10-10 Compaq Computer Corporation Method and apparatus for rate-based scheduling using a relative error approach
US5941994A (en) * 1995-12-22 1999-08-24 Lsi Logic Corporation Technique for sharing hot spare drives among multiple subsystems
US5821784A (en) * 1995-12-29 1998-10-13 Intel Corporation Method and apparatus for generating 2/N mode bus clock signals
US5834956A (en) 1995-12-29 1998-11-10 Intel Corporation Core clock correction in a 2/N mode clocking scheme
US5802132A (en) * 1995-12-29 1998-09-01 Intel Corporation Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
US5784628A (en) * 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system
KR970072676A (ko) * 1996-04-19 1997-11-07 김광호 이중화모듈 절체장치
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US6662286B2 (en) * 1996-06-28 2003-12-09 Sony Corporation Information processing method and information processing apparatus
US5845296A (en) * 1996-07-10 1998-12-01 Oracle Corporation Method and apparatus for implementing segmented arrays in a database
US5826067A (en) * 1996-09-06 1998-10-20 Intel Corporation Method and apparatus for preventing logic glitches in a 2/n clocking scheme
US5862373A (en) * 1996-09-06 1999-01-19 Intel Corporation Pad cells for a 2/N mode clocking scheme
JP2830857B2 (ja) * 1996-09-09 1998-12-02 三菱電機株式会社 データストレージシステム及びデータストレージ管理方法
US6038620A (en) * 1996-09-09 2000-03-14 International Business Machines Corporation Method and system for optimal high speed match in a high performance controller which ensures an input/output interface stays ahead of a host interface
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
US5805798A (en) * 1996-10-29 1998-09-08 Electronic Data Systems Corporation Fail-safe event driven transaction processing system and method
US6038621A (en) * 1996-11-04 2000-03-14 Hewlett-Packard Company Dynamic peripheral control of I/O buffers in peripherals with modular I/O
US5784394A (en) * 1996-11-15 1998-07-21 International Business Machines Corporation Method and system for implementing parity error recovery schemes in a data processing system
US5887160A (en) * 1996-12-10 1999-03-23 Fujitsu Limited Method and apparatus for communicating integer and floating point data over a shared data path in a single instruction pipeline processor
US5860116A (en) * 1996-12-11 1999-01-12 Ncr Corporation Memory page location control for multiple memory-multiple processor system
US5778218A (en) * 1996-12-19 1998-07-07 Advanced Micro Devices, Inc. Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates
US6005920A (en) * 1997-01-03 1999-12-21 Ncr Corporation Call center with fault resilient server-switch link
US5884018A (en) * 1997-01-28 1999-03-16 Tandem Computers Incorporated Method and apparatus for distributed agreement on processor membership in a multi-processor system
US6230245B1 (en) 1997-02-11 2001-05-08 Micron Technology, Inc. Method and apparatus for generating a variable sequence of memory device command signals
US5920703A (en) * 1997-02-19 1999-07-06 International Business Machines Corp. Systems and methods for managing the processing of relatively large data objects in a communications stack
US5983259A (en) * 1997-02-19 1999-11-09 International Business Machines Corp. Systems and methods for transmitting and receiving data in connection with a communications stack in a communications system
US5813042A (en) * 1997-02-19 1998-09-22 International Business Machines Corp. Methods and systems for control of memory
US5909553A (en) * 1997-02-19 1999-06-01 International Business Machines Corporation Systems and methods for controlling the transmission of relatively large data objects in a communications system
US6175894B1 (en) 1997-03-05 2001-01-16 Micron Technology, Inc. Memory device command buffer apparatus and method and memory devices and computer systems using same
US6289447B1 (en) * 1997-03-24 2001-09-11 Intel Corporation Topology dependent compensation to improve performance of self-compensated components including processors based on physical relationship with other system components
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
US6094696A (en) * 1997-05-07 2000-07-25 Advanced Micro Devices, Inc. Virtual serial data transfer mechanism
US5916309A (en) * 1997-05-12 1999-06-29 Lexmark International Inc. System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message
US6046817A (en) * 1997-05-12 2000-04-04 Lexmark International, Inc. Method and apparatus for dynamic buffering of input/output ports used for receiving and transmitting print data at a printer
US6138250A (en) * 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6145098A (en) * 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US5892928A (en) * 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US5987554A (en) * 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6163849A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6073255A (en) * 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6266721B1 (en) * 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6272648B1 (en) 1997-05-13 2001-08-07 Micron Electronics, Inc. System for communicating a software-generated pulse waveform between two servers in a network
US6526333B1 (en) 1997-05-13 2003-02-25 Micron Technology, Inc. Computer fan speed control system method
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6134668A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6122746A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6247898B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Computer fan speed control system
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US5996043A (en) 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
US6484244B1 (en) 1997-06-17 2002-11-19 Micron Technology, Inc. Method and system for storing and processing multiple memory commands
US7080385B1 (en) * 1997-08-18 2006-07-18 Tibco Software Inc. Certified message delivery and queuing in multipoint publish/subscribe communications
JP3860966B2 (ja) * 1997-08-18 2006-12-20 ティブコ ソフトウエア,インコーポレイテッド マルチポイントパブリッシュ/サブスクライブ通信における証明付メッセージの配送およびキュー操作
US6031624A (en) * 1997-09-08 2000-02-29 Lexmark International, Inc. Method and apparatus for adaptive data buffering in a parallelized printing system
US5968147A (en) * 1997-09-26 1999-10-19 Adaptec, Inc. Method and apparatus for improved peripheral bus utilization
US5974574A (en) * 1997-09-30 1999-10-26 Tandem Computers Incorporated Method of comparing replicated databases using checksum information
US6092213A (en) * 1997-09-30 2000-07-18 Tandem Computers Incorporated Fault tolerant method of maintaining and distributing configuration information in a distributed processing system
US5974571A (en) * 1997-09-30 1999-10-26 Intel Corporation Method and apparatus for avoiding deadlock in the issuance of commands that are reordered and require data movement according to an original command order
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6035420A (en) * 1997-10-01 2000-03-07 Micron Electronics, Inc. Method of performing an extensive diagnostic test in conjunction with a bios test routine
US6154835A (en) * 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6009541A (en) * 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6088816A (en) * 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
SE511114C2 (sv) * 1997-12-10 1999-08-09 Ericsson Telefon Ab L M Metod vid processor, samt processor anpassad att verka enligt metoden
US6219672B1 (en) * 1997-12-11 2001-04-17 Kabushiki Kaisha Toshiba Distributed shared memory system and method of controlling distributed shared memory
US6202119B1 (en) 1997-12-19 2001-03-13 Micron Technology, Inc. Method and system for processing pipelined memory commands
US6148352A (en) * 1997-12-24 2000-11-14 International Business Machines Corporation Scalable modular data storage system
US6272573B1 (en) 1997-12-24 2001-08-07 International Business Machines Corporation Scalable modular data storage system
JP3603577B2 (ja) * 1997-12-26 2004-12-22 富士ゼロックス株式会社 画像処理システム
US6119248A (en) * 1998-01-26 2000-09-12 Dell Usa L.P. Operating system notification of correctable error in computer information
DE19815263C2 (de) * 1998-04-04 2002-03-28 Astrium Gmbh Vorrichtung zur fehlertoleranten Ausführung von Programmen
US6216051B1 (en) 1998-05-04 2001-04-10 Nec Electronics, Inc. Manufacturing backup system
US6167330A (en) * 1998-05-08 2000-12-26 The United States Of America As Represented By The Secretary Of The Air Force Dynamic power management of systems
US6289467B1 (en) * 1998-05-08 2001-09-11 Sun Microsystems, Inc. Installation of processor and power supply modules in a multiprocessor system
US6178522B1 (en) 1998-06-02 2001-01-23 Alliedsignal Inc. Method and apparatus for managing redundant computer-based systems for fault tolerant computing
US6202164B1 (en) * 1998-07-02 2001-03-13 Advanced Micro Devices, Inc. Data rate synchronization by frame rate adjustment
US6279058B1 (en) 1998-07-02 2001-08-21 Advanced Micro Devices, Inc. Master isochronous clock structure having a clock controller coupling to a CPU and two data buses
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6145033A (en) * 1998-07-17 2000-11-07 Seiko Epson Corporation Management of display FIFO requests for DRAM access wherein low priority requests are initiated when FIFO level is below/equal to high threshold value
US6175905B1 (en) 1998-07-30 2001-01-16 Micron Technology, Inc. Method and system for bypassing pipelines in a pipelined memory command generator
US6119207A (en) * 1998-08-20 2000-09-12 Seiko Epson Corporation Low priority FIFO request assignment for DRAM access
US6178488B1 (en) 1998-08-27 2001-01-23 Micron Technology, Inc. Method and apparatus for processing pipelined memory commands
US6154845A (en) * 1998-09-11 2000-11-28 Intel Corporation Power failure safe computer architecture
US6209088B1 (en) 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US6356962B1 (en) * 1998-09-30 2002-03-12 Stmicroelectronics, Inc. Network device and method of controlling flow of data arranged in frames in a data-based network
US6301670B1 (en) 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
US6304948B1 (en) * 1998-10-06 2001-10-16 Ricoh Corporation Method and apparatus for erasing data after expiration
US7325052B1 (en) * 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
US6321335B1 (en) 1998-10-30 2001-11-20 Acqis Technology, Inc. Password protected modular computer method and device
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6006259A (en) * 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
US6449733B1 (en) 1998-12-07 2002-09-10 Compaq Computer Corporation On-line replacement of process pairs in a clustered processor architecture
US6389551B1 (en) 1998-12-17 2002-05-14 Steeleye Technology, Inc. Method of preventing false or unnecessary failovers in a high availability cluster by using a quorum service
US6594735B1 (en) 1998-12-28 2003-07-15 Nortel Networks Limited High availability computing system
US6636977B1 (en) * 1999-03-10 2003-10-21 Shin Jiuh Corp. Control device for use in a power supplying apparatus including multiple processors adapted to perform separate functions associated with status monitoring and load balancing
US6671704B1 (en) * 1999-03-11 2003-12-30 Hewlett-Packard Development Company, L.P. Method and apparatus for handling failures of resource managers in a clustered environment
US6295548B1 (en) 1999-03-12 2001-09-25 Compaq Computer Corporation Detection of an imported transaction for finding the global transaction identifier
US6496825B1 (en) 1999-03-12 2002-12-17 Compaq Computer Corporation Systems and methods for the detection of a loop-back of a transaction
US6411981B1 (en) 1999-03-12 2002-06-25 Compaq Computer Corporation Method and apparatus for conducting a transaction between homogeneous and/or heterogeneous transaction processing systems using asynchronous pull of a transaction transfer
US6470342B1 (en) 1999-03-12 2002-10-22 Compaq Computer Corporation Process of maintaining a distributed map of transaction identifiers and using hashing to access these maps
US6618820B1 (en) * 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US6618742B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
US6643777B1 (en) 1999-05-14 2003-11-04 Acquis Technology, Inc. Data security method and device for computer modules
US6718415B1 (en) 1999-05-14 2004-04-06 Acqis Technology, Inc. Computer system and method including console housing multiple computer modules having independent processing units, mass storage devices, and graphics controllers
US6169669B1 (en) * 1999-07-15 2001-01-02 Texas Instruments Incorporated Digital signal processor controlled uninterruptable power supply
AT407582B (de) * 1999-08-13 2001-04-25 Fts Computertechnik Gmbh Nachrichtenverteilereinheit mit integriertem guardian zur verhinderung von ''babbling idiot'' fehlern
US6408348B1 (en) 1999-08-20 2002-06-18 International Business Machines Corporation System, method, and program for managing I/O requests to a storage device
US6928073B2 (en) * 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
ATE390788T1 (de) 1999-10-14 2008-04-15 Bluearc Uk Ltd Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
GB9927372D0 (en) * 1999-11-20 2000-01-19 Ncr Int Inc Self-service terminal
US6564274B1 (en) * 1999-12-17 2003-05-13 Omnicluster Technologies, Inc. Modular architecture for small computer networks
US6862613B1 (en) * 2000-01-10 2005-03-01 Sun Microsystems, Inc. Method and apparatus for managing operations of clustered computer systems
JP4462697B2 (ja) 2000-01-31 2010-05-12 株式会社日立製作所 記憶制御装置
US7085237B1 (en) 2000-03-31 2006-08-01 Alcatel Method and apparatus for routing alarms in a signaling server
US6977926B1 (en) * 2000-03-31 2005-12-20 Alcatel Method and system for providing a feedback signal in a telecommunications network
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6865157B1 (en) * 2000-05-26 2005-03-08 Emc Corporation Fault tolerant shared system resource with communications passthrough providing high availability communications
US6525926B1 (en) * 2000-07-11 2003-02-25 Racklogic Technologies, Inc. Multinode high density computing apparatus
DE10036598A1 (de) * 2000-07-27 2002-02-14 Infineon Technologies Ag Anordnung zur Überwachung des ordnungsgemäßen Betriebes von die selben oder einander entsprechende Aktionen ausführenden Komponenten eines elektrischen Systems
US7016992B2 (en) * 2000-08-17 2006-03-21 Matsushita Electric Industrial Co., Ltd. Electronic mail system
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US6904505B1 (en) * 2000-10-12 2005-06-07 Emulex Design & Manufacturing Corporation Method for determining valid bytes for multiple-byte burst memories
US8185615B1 (en) 2000-11-28 2012-05-22 Verizon Business Global Llc Message, control and reporting interface for a distributed network access system
US7046680B1 (en) 2000-11-28 2006-05-16 Mci, Inc. Network access system including a programmable access device having distributed service control
US7657628B1 (en) 2000-11-28 2010-02-02 Verizon Business Global Llc External processor for a distributed network access system
US8180870B1 (en) 2000-11-28 2012-05-15 Verizon Business Global Llc Programmable access device for a distributed network access system
US6785893B2 (en) * 2000-11-30 2004-08-31 Microsoft Corporation Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6950893B2 (en) * 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
US7065672B2 (en) 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US20020178313A1 (en) * 2001-03-30 2002-11-28 Gary Scott Paul Using software interrupts to manage communication between data processors
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US6971043B2 (en) * 2001-04-11 2005-11-29 Stratus Technologies Bermuda Ltd Apparatus and method for accessing a mass storage device in a fault-tolerant server
US7047522B1 (en) * 2001-04-30 2006-05-16 General Electric Capital Corporation Method and system for verifying a computer program
US6996750B2 (en) 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
JP2003016400A (ja) * 2001-06-28 2003-01-17 Sankyo Seiki Mfg Co Ltd 停電検知装置、及びその停電検知装置を備えたカードリーダ
JP4382310B2 (ja) * 2001-08-17 2009-12-09 株式会社リコー 画像形成装置及びその制御方法
FR2828972A1 (fr) * 2001-08-21 2003-02-28 Koninkl Philips Electronics Nv Dispositif de traitement et d'acheminement de donnees
US6909659B2 (en) * 2001-08-30 2005-06-21 Micron Technology, Inc. Zero power chip standby mode
US6661410B2 (en) 2001-09-07 2003-12-09 Microsoft Corporation Capacitive sensing and data input device power management
US7337333B2 (en) * 2001-09-19 2008-02-26 Dell Products L.P. System and method for strategic power supply sequencing in a computer system with multiple processing resources and multiple power supplies
US7325050B2 (en) * 2001-09-19 2008-01-29 Dell Products L.P. System and method for strategic power reduction in a computer system
US7287187B2 (en) * 2001-10-15 2007-10-23 Sun Microsystems, Inc. Method and apparatus for supplying redundant power
US20050038705A1 (en) * 2001-11-01 2005-02-17 Tokuhiro Yamada Pos system, pos server, shop terminal, sales managing method, and recording medium
US7177267B2 (en) * 2001-11-09 2007-02-13 Adc Dsl Systems, Inc. Hardware monitoring and configuration management
US6954877B2 (en) * 2001-11-29 2005-10-11 Agami Systems, Inc. Fault tolerance using logical checkpointing in computing systems
US6879523B1 (en) * 2001-12-27 2005-04-12 Cypress Semiconductor Corporation Random access memory (RAM) method of operation and device for search engine systems
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US6792516B2 (en) * 2001-12-28 2004-09-14 Intel Corporation Memory arbiter with intelligent page gathering logic
US7035984B2 (en) * 2001-12-31 2006-04-25 Intel Corporation Memory arbiter with grace and ceiling periods and intelligent page gathering logic
US6856045B1 (en) * 2002-01-29 2005-02-15 Hamilton Sundstrand Corporation Power distribution assembly with redundant architecture
US6703599B1 (en) 2002-01-30 2004-03-09 Microsoft Corporation Proximity sensor with adaptive threshold
US20030212473A1 (en) * 2002-02-25 2003-11-13 General Electric Company Processing system for a power distribution system
US20040078652A1 (en) * 2002-03-08 2004-04-22 Tapper Gunnar D. Using process quads to enable continuous services in a cluster environment
US20030208750A1 (en) * 2002-03-29 2003-11-06 Tapper Gunnar D. Information exchange for process pair replacement in a cluster environment
US7096213B2 (en) * 2002-04-08 2006-08-22 Oracle International Corporation Persistent key-value repository with a pluggable architecture to abstract physical storage
US7058639B1 (en) 2002-04-08 2006-06-06 Oracle International Corporation Use of dynamic multi-level hash table for managing hierarchically structured information
US7136867B1 (en) 2002-04-08 2006-11-14 Oracle International Corporation Metadata format for hierarchical data storage on a raw storage device
US8271530B2 (en) * 2002-04-08 2012-09-18 Oracale International Corporation Method and mechanism for managing and accessing static and dynamic data
US7672945B1 (en) 2002-04-08 2010-03-02 Oracle International Corporation Mechanism for creating member private data in a global namespace
US7209492B2 (en) * 2002-04-15 2007-04-24 Alcatel DSO timing source transient compensation
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US20030212761A1 (en) * 2002-05-10 2003-11-13 Microsoft Corporation Process kernel
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US7305585B2 (en) * 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
US20080222234A1 (en) * 2002-05-23 2008-09-11 Benoit Marchand Deployment and Scaling of Virtual Environments
US20050216910A1 (en) * 2002-05-23 2005-09-29 Benoit Marchand Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules
US6954867B2 (en) * 2002-07-26 2005-10-11 Microsoft Corporation Capacitive sensing employing a repeatable offset charge
US7313706B2 (en) * 2002-09-17 2007-12-25 Hewlett-Packard Development Company, L.P. System and method for managing power consumption for a plurality of processors based on a supply voltage to each processor, temperature, total power consumption and individual processor power consumption
US20040054938A1 (en) * 2002-09-17 2004-03-18 Belady Christian L. Controlling a computer system based on an environmental condition
US7280620B2 (en) * 2002-10-18 2007-10-09 Canon Kabushiki Kaisha Electronic device including image forming apparatus
DE10249592A1 (de) * 2002-10-24 2004-06-17 Abb Research Ltd. Datenverarbeitungsknoten für ein Leitsystem
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
JP3757204B2 (ja) * 2002-12-06 2006-03-22 ファナック株式会社 エラー検出/訂正方式及び該方式を用いた制御装置
US7206972B2 (en) * 2003-01-09 2007-04-17 Alcatel Path commissioning analysis and diagnostic tool
US7007114B1 (en) * 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7099963B2 (en) * 2003-03-10 2006-08-29 Qlogic Corporation Method and system for monitoring embedded disk controller components
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7219182B2 (en) * 2003-03-10 2007-05-15 Marvell International Ltd. Method and system for using an external bus controller in embedded disk controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7064915B1 (en) 2003-03-10 2006-06-20 Marvell International Ltd. Method and system for collecting servo field data from programmable devices in embedded disk controllers
JP4242682B2 (ja) * 2003-03-26 2009-03-25 パナソニック株式会社 メモリデバイス
US6823347B2 (en) * 2003-04-23 2004-11-23 Oracle International Corporation Propagating commit times
US7210069B2 (en) * 2003-05-13 2007-04-24 Lucent Technologies Inc. Failure recovery in a multiprocessor configuration
US7134052B2 (en) 2003-05-15 2006-11-07 International Business Machines Corporation Autonomic recovery from hardware errors in an input/output fabric
US7240130B2 (en) * 2003-06-12 2007-07-03 Hewlett-Packard Development Company, L.P. Method of transmitting data through an 12C router
US7406641B2 (en) * 2003-06-30 2008-07-29 Intel Corporation Selective control of test-access ports in integrated circuits
US7530108B1 (en) 2003-09-15 2009-05-05 The Directv Group, Inc. Multiprocessor conditional access module and method for using the same
US7577806B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7827362B2 (en) * 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7577807B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7239581B2 (en) * 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7631120B2 (en) * 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7730222B2 (en) * 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7725760B2 (en) * 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7904428B2 (en) * 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7287133B2 (en) * 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7991748B2 (en) * 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7209809B2 (en) * 2003-10-15 2007-04-24 The Boeing Company Method and apparatus for obtaining high integrity and availability in multi-channel systems
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7225356B2 (en) * 2003-11-06 2007-05-29 Siemens Medical Solutions Health Services Corporation System for managing operational failure occurrences in processing devices
US20050125486A1 (en) * 2003-11-20 2005-06-09 Microsoft Corporation Decentralized operating system
EP1542181A1 (de) * 2003-12-11 2005-06-15 Banksys S.A. Elektronische Datenverarbeitungseinrichtung
US8898339B2 (en) * 2003-12-12 2014-11-25 Napatech A/S Method of transferring data implying a network analyser card
JP4441286B2 (ja) * 2004-02-10 2010-03-31 株式会社日立製作所 ストレージシステム
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US20060020852A1 (en) * 2004-03-30 2006-01-26 Bernick David L Method and system of servicing asynchronous interrupts in multiple processors executing a user program
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US7304996B1 (en) 2004-03-30 2007-12-04 Extreme Networks, Inc. System and method for assembling a data packet
US7822032B1 (en) * 2004-03-30 2010-10-26 Extreme Networks, Inc. Data structures for supporting packet data modification operations
US7921419B2 (en) * 2004-05-12 2011-04-05 Oracle International Corporation Method and mechanism for managing incompatible changes in a distributed system
US8086800B2 (en) * 2004-05-18 2011-12-27 Koninklijke Philips Electronics N.V. Integrated circuit and method for buffering to optimize burst length in networks on chips
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US7392426B2 (en) * 2004-06-15 2008-06-24 Honeywell International Inc. Redundant processing architecture for single fault tolerance
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
US7472129B2 (en) * 2004-06-29 2008-12-30 Microsoft Corporation Lossless recovery for computer systems with map assisted state transfer
US7360111B2 (en) * 2004-06-29 2008-04-15 Microsoft Corporation Lossless recovery for computer systems with remotely dependent data recovery
JP4490751B2 (ja) 2004-07-16 2010-06-30 セイレイ工業株式会社 アウトリガーの油圧シリンダ
US7757009B2 (en) 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7308605B2 (en) * 2004-07-20 2007-12-11 Hewlett-Packard Development Company, L.P. Latent error detection
US8230252B2 (en) 2004-07-20 2012-07-24 Hewlett-Packard Development Company, L.P. Time of day response
US7467324B1 (en) 2004-09-30 2008-12-16 Ayaya Inc. Method and apparatus for continuing to provide processing on disk outages
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7337357B2 (en) * 2004-11-16 2008-02-26 International Business Machines Corporation Apparatus, system, and method for limiting failures in redundant signals
US7685400B2 (en) * 2004-12-15 2010-03-23 International Business Machines Corporation Storage of data blocks of logical volumes in a virtual disk storage subsystem
JP4117684B2 (ja) * 2004-12-20 2008-07-16 日本電気株式会社 フォルトトレラント・二重化コンピュータシステムとその制御方法
US20060156381A1 (en) * 2005-01-12 2006-07-13 Tetsuro Motoyama Approach for deleting electronic documents on network devices using document retention policies
US7334140B2 (en) * 2005-03-03 2008-02-19 International Business Machines Corporation Apparatus and method to selectively provide power to one or more components disposed in an information storage and retrieval system
US7707131B2 (en) * 2005-03-08 2010-04-27 Microsoft Corporation Thompson strategy based online reinforcement learning system for action selection
US7885817B2 (en) * 2005-03-08 2011-02-08 Microsoft Corporation Easy generation and automatic training of spoken dialog systems using text-to-speech
US7734471B2 (en) * 2005-03-08 2010-06-08 Microsoft Corporation Online learning for dialog systems
US8522253B1 (en) 2005-03-31 2013-08-27 Guillermo Rozas Hardware support for virtual machine and operating system context switching in translation lookaside buffers and virtually tagged caches
US7095217B1 (en) * 2005-03-31 2006-08-22 O2Micro International Limited Method circuitry and electronic device for controlling a variable output dc power source
US20060227145A1 (en) * 2005-04-06 2006-10-12 Raymond Chow Graphics controller having a single display interface for two or more displays
US7609468B2 (en) * 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US7797394B2 (en) * 2005-04-18 2010-09-14 Dell Products L.P. System and method for processing commands in a storage enclosure
US8001297B2 (en) * 2005-04-25 2011-08-16 Microsoft Corporation Dynamic adjusting send rate of buffered data
US7590819B2 (en) * 2005-05-09 2009-09-15 Lsi Logic Corporation Compact memory management unit
DE102005059593A1 (de) * 2005-05-25 2006-11-30 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung bei einem Speicher für ein Steuergerät
US7877350B2 (en) * 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
JP4732823B2 (ja) * 2005-07-26 2011-07-27 株式会社日立産機システム モジュール間通信装置
US20070027485A1 (en) * 2005-07-29 2007-02-01 Kallmyer Todd A Implantable medical device bus system and method
US8423824B2 (en) 2005-08-29 2013-04-16 The Invention Science Fund I, Llc Power sparing synchronous apparatus
US7725693B2 (en) * 2005-08-29 2010-05-25 Searete, Llc Execution optimization using a processor resource management policy saved in an association with an instruction group
US8214191B2 (en) * 2005-08-29 2012-07-03 The Invention Science Fund I, Llc Cross-architecture execution optimization
US7653834B2 (en) * 2005-08-29 2010-01-26 Searete, Llc Power sparing synchronous apparatus
US8181004B2 (en) * 2005-08-29 2012-05-15 The Invention Science Fund I, Llc Selecting a resource management policy for a resource available to a processor
US7774558B2 (en) * 2005-08-29 2010-08-10 The Invention Science Fund I, Inc Multiprocessor resource optimization
US7627739B2 (en) * 2005-08-29 2009-12-01 Searete, Llc Optimization of a hardware resource shared by a multiprocessor
US7779213B2 (en) * 2005-08-29 2010-08-17 The Invention Science Fund I, Inc Optimization of instruction group execution through hardware resource management policies
US7647487B2 (en) * 2005-08-29 2010-01-12 Searete, Llc Instruction-associated processor resource optimization
US8516300B2 (en) * 2005-08-29 2013-08-20 The Invention Science Fund I, Llc Multi-votage synchronous systems
US20070050605A1 (en) * 2005-08-29 2007-03-01 Bran Ferren Freeze-dried ghost pages
US7877584B2 (en) * 2005-08-29 2011-01-25 The Invention Science Fund I, Llc Predictive processor resource management
US8255745B2 (en) * 2005-08-29 2012-08-28 The Invention Science Fund I, Llc Hardware-error tolerant computing
US7739524B2 (en) * 2005-08-29 2010-06-15 The Invention Science Fund I, Inc Power consumption management
US20070050606A1 (en) * 2005-08-29 2007-03-01 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Runtime-based optimization profile
US7493516B2 (en) * 2005-08-29 2009-02-17 Searete Llc Hardware-error tolerant computing
US8209524B2 (en) 2005-08-29 2012-06-26 The Invention Science Fund I, Llc Cross-architecture optimization
US7536583B2 (en) 2005-10-14 2009-05-19 Symantec Operating Corporation Technique for timeline compression in a data store
TWI297237B (en) * 2005-10-28 2008-05-21 Hon Hai Prec Ind Co Ltd Power switching circuit and power supply system using the same
US7428602B2 (en) * 2005-11-29 2008-09-23 International Business Machines Corporation Method for executing initialization code to configure connected devices and executing segments of configuration code from a failed segment
US7526674B2 (en) * 2005-12-22 2009-04-28 International Business Machines Corporation Methods and apparatuses for supplying power to processors in multiple processor systems
GB0601849D0 (en) * 2006-01-30 2006-03-08 Ttp Communications Ltd Method of maintaining software integrity
CN103646009B (zh) 2006-04-12 2016-08-17 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
US7480827B2 (en) 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US7434096B2 (en) 2006-08-11 2008-10-07 Chicago Mercantile Exchange Match server for a financial exchange having fault tolerant operation
US8041985B2 (en) 2006-08-11 2011-10-18 Chicago Mercantile Exchange, Inc. Match server for a financial exchange having fault tolerant operation
US8225320B2 (en) * 2006-08-31 2012-07-17 Advanced Simulation Technology, Inc. Processing data using continuous processing task and binary routine
US7464230B2 (en) * 2006-09-08 2008-12-09 Jiun-In Guo Memory controlling method
CN107368285B (zh) 2006-11-14 2020-10-09 英特尔公司 多线程架构
US20080141063A1 (en) * 2006-12-12 2008-06-12 Ridgeway Curtis A Real time elastic FIFO latency optimization
US7990724B2 (en) 2006-12-19 2011-08-02 Juhasz Paul R Mobile motherboard
US7702933B2 (en) * 2007-01-30 2010-04-20 Inventec Corporation Multiprocessor power-on switch circuit
TW200847087A (en) * 2007-05-18 2008-12-01 Beyond Innovation Tech Co Ltd Method and system for protecting information between a master terminal and a slave terminal
US8313432B2 (en) * 2007-06-20 2012-11-20 Surgmatix, Inc. Surgical data monitoring and display system
US20090076628A1 (en) * 2007-09-18 2009-03-19 David Mark Smith Methods and apparatus to upgrade and provide control redundancy in process plants
US7773504B2 (en) * 2007-11-13 2010-08-10 Intel Corporation Bandwidth allocation for network packet traffic
US7917806B2 (en) * 2007-12-18 2011-03-29 International Business Machines Corporation System and method for indicating status of an on-chip power supply system
US8028195B2 (en) * 2007-12-18 2011-09-27 International Business Machines Corporation Structure for indicating status of an on-chip power supply system
US20090259786A1 (en) * 2008-04-10 2009-10-15 Chu-Ming Lin Data transfer system and method for host-slave interface with automatic status report
US8027168B2 (en) * 2008-08-13 2011-09-27 Delphi Technologies, Inc. Electrical center with vertical power bus bar
JP4892526B2 (ja) * 2008-08-26 2012-03-07 本田技研工業株式会社 タンデム式マスタシリンダ
US8139583B1 (en) 2008-09-30 2012-03-20 Extreme Networks, Inc. Command selection in a packet forwarding device
US8272028B2 (en) * 2008-10-15 2012-09-18 Ricoh Company, Ltd. Approach for managing access to electronic documents on network devices using document retention policies and document security policies
US20100138618A1 (en) * 2008-12-03 2010-06-03 Vns Portfolio Llc Priority Encoders
US8561052B2 (en) * 2008-12-08 2013-10-15 Harris Corporation Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method
JP5344936B2 (ja) * 2009-01-07 2013-11-20 株式会社日立製作所 制御装置
WO2010093879A1 (en) 2009-02-13 2010-08-19 Ab Initio Technology Llc Managing task execution
WO2010113165A1 (en) * 2009-04-01 2010-10-07 Kaminario Tehnologies Ltd. System and method for storage unit building while catering to i/o operations
US9461930B2 (en) * 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
EP2464053A4 (de) * 2009-09-02 2014-01-22 Zte Corp Verfahren und system für ausschaltschutz, leistungssteller für kommunikationsgerät
US20110179303A1 (en) 2010-01-15 2011-07-21 Microsoft Corporation Persistent application activation and timer notifications
US20110296437A1 (en) * 2010-05-28 2011-12-01 Devendra Raut Method and apparatus for lockless communication between cores in a multi-core processor
CN103069385B (zh) 2010-06-15 2016-12-28 起元技术有限责任公司 用于动态加载基于图的计算的系统和方法
JP5559616B2 (ja) * 2010-06-17 2014-07-23 ラピスセミコンダクタ株式会社 半導体メモリ装置
US8549378B2 (en) 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
US8898511B2 (en) * 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
EP2616928B1 (de) 2010-09-17 2016-11-02 Soft Machines, Inc. Mehrfach verzweigte einzelzyklus-vorhersage mit einem latenten cache für frühe und entfernte verzweigungsvorhersage
US20120110562A1 (en) * 2010-10-27 2012-05-03 David Heinrich Synchronized firmware update
US8443230B1 (en) * 2010-12-15 2013-05-14 Xilinx, Inc. Methods and systems with transaction-level lockstep
CN108376097B (zh) 2011-03-25 2022-04-15 英特尔公司 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段
CN108108188B (zh) 2011-03-25 2022-06-28 英特尔公司 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段
TWI533129B (zh) 2011-03-25 2016-05-11 軟體機器公司 使用可分割引擎實體化的虛擬核心執行指令序列程式碼區塊
WO2012162188A2 (en) 2011-05-20 2012-11-29 Soft Machines, Inc. Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
CN103649931B (zh) 2011-05-20 2016-10-12 索夫特机械公司 用于支持由多个引擎执行指令序列的互连结构
US20120317356A1 (en) * 2011-06-09 2012-12-13 Advanced Micro Devices, Inc. Systems and methods for sharing memory between a plurality of processors
US9032269B2 (en) 2011-07-22 2015-05-12 Sandisk Technologies Inc. Systems and methods of storing data
KR101703401B1 (ko) 2011-11-22 2017-02-06 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
US20150039859A1 (en) 2011-11-22 2015-02-05 Soft Machines, Inc. Microprocessor accelerated code optimizer
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US9055069B2 (en) * 2012-03-19 2015-06-09 Xcelemor, Inc. Hardware computing system with software mediation and method of operation thereof
US8938551B2 (en) * 2012-04-10 2015-01-20 Intel Mobile Communications GmbH Data processing device
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9430410B2 (en) 2012-07-30 2016-08-30 Soft Machines, Inc. Systems and methods for supporting a plurality of load accesses of a cache in a single cycle
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
KR101905055B1 (ko) 2012-10-22 2018-10-08 인텔 코포레이션 고성능 인터커넥트 물리 계층
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
JP6036578B2 (ja) * 2013-03-08 2016-11-30 株式会社デンソー データ処理装置
US9442559B2 (en) 2013-03-14 2016-09-13 Intel Corporation Exploiting process variation in a multicore processor
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
CN105210040B (zh) 2013-03-15 2019-04-02 英特尔公司 用于执行分组成块的多线程指令的方法
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
CN105247484B (zh) 2013-03-15 2021-02-23 英特尔公司 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9594612B2 (en) * 2013-06-28 2017-03-14 Arista Networks, Inc. System and method of a hardware shadow for a network element
JP6236996B2 (ja) * 2013-08-28 2017-11-29 富士通株式会社 情報処理装置および情報処理装置の制御方法
FR3010540B1 (fr) 2013-09-10 2015-08-14 Schneider Electric Ind Sas Systeme d'automatisme comprenant plusieurs controleurs logiques programmables connectes sur un reseau de communication
CA2932763C (en) 2013-12-05 2022-07-12 Ab Initio Technology Llc Managing interfaces for dataflow graphs composed of sub-graphs
US9459972B2 (en) 2014-06-20 2016-10-04 International Business Machines Corporation Alternative port error recovery with limited system impact
US10542125B2 (en) * 2014-09-03 2020-01-21 The Boeing Company Systems and methods for configuring a computing device to use a communication protocol
US9043638B1 (en) 2014-11-14 2015-05-26 Quanta Computer Inc. Method for enhancing memory fault tolerance
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US9633155B1 (en) * 2015-11-10 2017-04-25 International Business Machines Corporation Circuit modification
CN108475189B (zh) 2015-12-21 2021-07-09 起元技术有限责任公司 子图接口生成的方法、系统及计算机可读介质
US10073718B2 (en) 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
US10008052B2 (en) * 2016-05-25 2018-06-26 Caterpillar Inc. Model generation and monitoring system for a machine
US9984182B2 (en) * 2016-05-25 2018-05-29 Caterpillar Inc. Model generation system for a machine
US9792975B1 (en) * 2016-06-23 2017-10-17 Mediatek Inc. Dram and access and operating method thereof
FR3053564B1 (fr) * 2016-07-04 2018-07-27 Kerlink Dispositif de communication modulaire
FR3057086B1 (fr) 2016-10-04 2018-11-23 Stmicroelectronics (Rousset) Sas Procede de gestion d'une mise a jour d'au moins un microcode au sein d'une unite de traitement, par exemple un microcontroleur, et unite de traitement correspondante
US10528413B2 (en) 2017-04-03 2020-01-07 Intel Corporation Criticality-based error detection
US10020012B1 (en) 2017-10-31 2018-07-10 Seagate Technology Llc Data storage drive with low-latency ports coupling multiple servo control processors
JP6955163B2 (ja) * 2017-12-26 2021-10-27 富士通株式会社 情報処理装置、情報処理方法及びプログラム
US20210396354A1 (en) 2018-11-12 2021-12-23 Jfe Steel Corporation High-pressure hydrogen tank
US11841776B2 (en) * 2019-06-12 2023-12-12 Intel Corporation Single chip multi-die architecture having safety-compliant cross-monitoring capability
CN111274237A (zh) * 2020-01-20 2020-06-12 重庆亚德科技股份有限公司 医疗数据核对修正系统及方法
US20230175646A1 (en) 2020-04-20 2023-06-08 Jfe Steel Corporation High-pressure hydrogen container
CN113722770A (zh) * 2021-08-18 2021-11-30 上海励驰半导体有限公司 基于分级的数据完整性的端到端的保护方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
US3753234A (en) * 1972-02-25 1973-08-14 Reliance Electric Co Multicomputer system with simultaneous data interchange between computers

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3059221A (en) * 1956-12-03 1962-10-16 Rca Corp Information storage and transfer system
NL297037A (de) * 1962-08-23
US3303474A (en) * 1963-01-17 1967-02-07 Rca Corp Duplexing system for controlling online and standby conditions of two computers
US3292156A (en) * 1963-05-28 1966-12-13 Bell Telephone Labor Inc Data signal storage circuit
US3400372A (en) * 1965-02-16 1968-09-03 Ibm Terminal for a multi-data processing system
DE1549397B2 (de) * 1967-06-16 1972-09-14 Chemische Werke Hüls AG, 4370 Mari Verfahren zur automatischen steuerung chemischer anlagen
US3555517A (en) * 1968-10-30 1971-01-12 Ibm Early error detection system for data processing machine
US3581286A (en) * 1969-01-13 1971-05-25 Ibm Module switching apparatus with status sensing and dynamic sharing of modules
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
US3623014A (en) * 1969-08-25 1971-11-23 Control Data Corp Computer communications system
US3577185A (en) * 1969-10-02 1971-05-04 Ibm On-line system for measuring the efficiency of replacement algorithms
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
JPS513463B1 (de) * 1970-09-25 1976-02-03
US3810120A (en) * 1971-02-12 1974-05-07 Honeywell Inf Systems Automatic deactivation device
DE2108836A1 (de) * 1971-02-25 1972-09-07 Licentia Gmbh Anordnung für ein Doppelrechnersystem
US3725864A (en) * 1971-03-03 1973-04-03 Ibm Input/output control
GB1394431A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Multiprocessor data processing system
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
US3749845A (en) * 1971-08-27 1973-07-31 Bell Telephone Labor Inc Digital data communication system
JPS5147298B2 (de) * 1971-08-30 1976-12-14
US3749897A (en) * 1971-09-03 1973-07-31 Collins Radio Co System failure monitor title
GB1412246A (en) * 1971-09-29 1975-10-29 Kent Automation Systems Ltd Computer control arrangements
US3820079A (en) * 1971-11-01 1974-06-25 Hewlett Packard Co Bus oriented,modular,multiprocessing computer
JPS5147502B2 (de) * 1971-12-29 1976-12-15
US3810114A (en) * 1971-12-29 1974-05-07 Tokyo Shibaura Electric Co Data processing system
FR2176279A5 (de) * 1972-03-17 1973-10-26 Materiel Telephonique
JPS553735B2 (de) * 1972-03-29 1980-01-26
FR2182259A5 (de) * 1972-04-24 1973-12-07 Cii
GB1434186A (en) * 1972-04-26 1976-05-05 Gen Electric Co Ltd Multiprocessor computer systems
US3812468A (en) * 1972-05-12 1974-05-21 Burroughs Corp Multiprocessing system having means for dynamic redesignation of unit functions
JPS4965103U (de) * 1972-09-20 1974-06-07
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
JPS566015B2 (de) * 1972-12-12 1981-02-09
US3827030A (en) * 1973-01-29 1974-07-30 Gulf & Western Industries Programmable controller using a random access memory
JPS5633435B2 (de) * 1973-02-21 1981-08-04
JPS49114845A (de) * 1973-02-28 1974-11-01
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
JPS532296B2 (de) * 1973-03-19 1978-01-26
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
US3859638A (en) * 1973-05-31 1975-01-07 Intersil Inc Non-volatile memory unit with automatic standby power supply
US3836891A (en) * 1973-07-05 1974-09-17 Bendix Corp Tape reader system with buffer memory
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
US3921141A (en) * 1973-09-14 1975-11-18 Gte Automatic Electric Lab Inc Malfunction monitor control circuitry for central data processor of digital communication system
CA1026850A (en) * 1973-09-24 1978-02-21 Smiths Industries Limited Dual, simultaneously operating control system with fault detection
US3886524A (en) * 1973-10-18 1975-05-27 Texas Instruments Inc Asynchronous communication bus
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US3882460A (en) * 1973-11-02 1975-05-06 Burroughs Corp Serial transfer error detection logic
JPS5324261B2 (de) * 1973-11-20 1978-07-19
FR2258112A5 (de) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
GB1474385A (en) * 1973-12-14 1977-05-25 Int Computers Ltd Multiprocessor data processing systems
GB1481393A (en) * 1974-02-28 1977-07-27 Burroughs Corp Information processing systems
JPS5812608B2 (ja) * 1974-03-05 1983-03-09 日本電気株式会社 デンシケイサンキシステム
JPS50133738A (de) * 1974-04-08 1975-10-23
JPS537332B2 (de) * 1974-04-22 1978-03-16
US4040026A (en) * 1974-05-08 1977-08-02 Francois Gernelle Channel for exchanging information between a computer and rapid peripheral units
FR2273317B1 (de) * 1974-05-28 1976-10-15 Philips Electrologica
US4004277A (en) * 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
GB1510464A (en) * 1974-06-24 1978-05-10 Shell Int Research N,n-disubstituted amino-acid derivatives and their use as herbicides
JPS5438844B2 (de) * 1974-07-19 1979-11-24
US3908099A (en) * 1974-09-27 1975-09-23 Gte Automatic Electric Lab Inc Fault detection system for a telephone exchange
GB1505535A (en) * 1974-10-30 1978-03-30 Motorola Inc Microprocessor system
US4050096A (en) * 1974-10-30 1977-09-20 Motorola, Inc. Pulse expanding system for microprocessor systems with slow memory
US4004283A (en) * 1974-10-30 1977-01-18 Motorola, Inc. Multiple interrupt microprocessor system
US3919533A (en) * 1974-11-08 1975-11-11 Westinghouse Electric Corp Electrical fault indicator
JPS564936B2 (de) * 1974-12-02 1981-02-02
JPS5169308A (ja) * 1974-12-13 1976-06-15 Hitachi Ltd Booringuhoshiki
US4009470A (en) * 1975-02-18 1977-02-22 Sperry Rand Corporation Pre-emptive, rotational priority system
US4006466A (en) * 1975-03-26 1977-02-01 Honeywell Information Systems, Inc. Programmable interface apparatus and method
US3991407A (en) * 1975-04-09 1976-11-09 E. I. Du Pont De Nemours And Company Computer redundancy interface
NL165859C (nl) * 1975-04-25 1981-05-15 Philips Nv Station voor informatie-overdracht.
CH584488A5 (de) * 1975-05-05 1977-01-31 Ibm
US4015243A (en) * 1975-06-02 1977-03-29 Kurpanek Horst G Multi-processing computer system
US3995258A (en) * 1975-06-30 1976-11-30 Honeywell Information Systems, Inc. Data processing system having a data integrity technique
US4001790A (en) * 1975-06-30 1977-01-04 Honeywell Information Systems, Inc. Modularly addressable units coupled in a data processing system over a common bus
US4034347A (en) * 1975-08-08 1977-07-05 Bell Telephone Laboratories, Incorporated Method and apparatus for controlling a multiprocessor system
US4020459A (en) * 1975-10-28 1977-04-26 Bell Telephone Laboratories, Incorporated Parity generation and bus matching arrangement for synchronized duplicated data processing units
US4034794A (en) * 1975-10-31 1977-07-12 Nalco Chemical Company Casting process with lignosulfonate-humate-graphite mold coatings
US4038644A (en) * 1975-11-19 1977-07-26 Ncr Corporation Destination selection apparatus for a bus oriented computer system
US4014005A (en) * 1976-01-05 1977-03-22 International Business Machines Corporation Configuration and control unit for a heterogeneous multi-system
US4048672A (en) * 1976-01-05 1977-09-13 T-Bar Incorporated Switch matrix control and display
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US4041472A (en) * 1976-04-29 1977-08-09 Ncr Corporation Data processing internal communications system having plural time-shared intercommunication buses and inter-bus communication means
US4051355A (en) * 1976-04-29 1977-09-27 Ncr Corporation Apparatus and method for increasing the efficiency of random access storage
US4038642A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Input/output interface logic for concurrent operations
US4042911A (en) * 1976-04-30 1977-08-16 International Business Machines Corporation Outer and asynchronous storage extension system
US4059851A (en) * 1976-07-12 1977-11-22 Ncr Corporation Priority network for devices coupled by a common bus
US4089052A (en) * 1976-12-13 1978-05-09 Data General Corporation Data processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
US3753234A (en) * 1972-02-25 1973-08-14 Reliance Electric Co Multicomputer system with simultaneous data interchange between computers

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ENSLOW@, Philip: Multiprocessors and Parallel Processing, John Wiley & Sons, New York, 1974, S. 238 - 249 *
KOBUS, S., KRUITHOF, A., VIELLEVOYE, L.: Grundzüge der Zentralsteuerung für das Vermittlungssystem Metaconta L, In: Elektrisches Naachrichtenwesen, Bd. 47, Nr. 3, 1972, S. 157-161 *
THURBER, Kenneth, JENSEN, Douglas, JACK, Larry: Asystematik approach to the design of digital bussing structures, Fall Joint Computer Conference 1972, S. 719 - 732 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3201768A1 (de) * 1981-01-21 1982-10-14 Hitachi, Ltd., Tokyo Job-verarbeitungsverfahren
EP1035459A1 (de) * 1999-03-08 2000-09-13 Peter Renner Prozessautomation

Also Published As

Publication number Publication date
HK62481A (en) 1981-12-17
GB1588805A (en) 1981-04-29
JPS60100254A (ja) 1985-06-04
US4672535A (en) 1987-06-09
JPS60100256A (ja) 1985-06-04
FR2485228B1 (fr) 1985-11-29
MY8200206A (en) 1982-12-31
JPS6120016B2 (de) 1986-05-20
FR2547082A1 (fr) 1984-12-07
US4807116A (en) 1989-02-21
JPS61286962A (ja) 1986-12-17
US4639864A (en) 1987-01-27
JPS6122335B2 (de) 1986-05-31
JPS60100257A (ja) 1985-06-04
JPS6120018B2 (de) 1986-05-20
JPS6120017B2 (de) 1986-05-20
FR2473197A1 (fr) 1981-07-10
US4817091A (en) 1989-03-28
MY8200205A (en) 1982-12-31
FR2485227A1 (fr) 1981-12-24
FR2485227B1 (fr) 1985-11-29
US4378588A (en) 1983-03-29
JPS60100258A (ja) 1985-06-04
GB1588803A (en) 1981-04-29
DE2740056C2 (de) 1992-03-19
JPS6122336B2 (de) 1986-05-31
GB1588804A (en) 1981-04-29
FR2473197B1 (fr) 1985-12-13
MY8200208A (en) 1982-12-31
US4356550A (en) 1982-10-26
JPS5850062A (ja) 1983-03-24
US4484275A (en) 1984-11-20
US4365295A (en) 1982-12-21
FR2485228A1 (fr) 1981-12-24
HK62381A (en) 1981-12-24
HK62281A (en) 1981-12-24
JPS60100255A (ja) 1985-06-04
JPS5925257B2 (ja) 1984-06-15
MY8200207A (en) 1982-12-31
GB1588806A (en) 1981-04-29
JPS5333027A (en) 1978-03-28
JPS60100253A (ja) 1985-06-04
BE892627Q (fr) 1982-07-16
MY8200209A (en) 1982-12-31
US4228496A (en) 1980-10-14
JPS6129028B2 (de) 1986-07-03
CA1121481A (en) 1982-04-06
JPS6124740B2 (de) 1986-06-12
HK62581A (en) 1981-12-24
US4672537A (en) 1987-06-09
GB1588807A (en) 1981-04-29
JPS6218951B2 (de) 1987-04-25
JPS60100252A (ja) 1985-06-04
HK62681A (en) 1981-12-24

Similar Documents

Publication Publication Date Title
DE2740056A1 (de) Mulitprozessor-rechnersystem
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE19836347C2 (de) Fehlertolerantes Computersystem
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE602005003490T2 (de) Verteiltes System mit Quorumredundanz und Verfahren dafür
DE2854485C2 (de) Datenverarbeitungsanlage
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
DE2755952C2 (de)
DE3127349A1 (de) Signalverarbeitungssystem mit verteilten elementen
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE2230830A1 (de) Datenverarbeitungsanlage
DE3103873A1 (de) Raeumlich verteiltes datenverarbeitungssystem
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE1449532B2 (de) Datenverarbeitungsanlage
DE2165767A1 (de) Datenverarbeitungssystem
EP0651536A2 (de) Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen
DE19827637A1 (de) Sicherungsverfahren für Betriebsdaten eines Netzelementes und Steuerungseinrichtung für ein Netzelement
EP0350478B1 (de) Verfahren zum betrieb einer multiprozessor-zentralsteuereinheit eines vermittlungssystemes
DE4429969A1 (de) Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
DE3619660C2 (de)
DE2364082A1 (de) Speicherprogrammierte datenverarbeitungsanlage fuer die steuerung externer anlagen
DE19780639C2 (de) Arbeitsübernahmesystem
EP0282877A1 (de) Verfahren und Einrichtung zur Steuerung der Fehlerkorrektur innerhalb einer Datenübertragungssteuerung bei von bewegten peripheren Speichern, insbesondere Plattenspeichern, eines Datenverarbeitungssystems gelesenen Daten

Legal Events

Date Code Title Description
OD Request for examination
8127 New person/name/address of the applicant

Owner name: TANDEM COMPUTERS INC. (EINE GESELLSCHAFT N.D.GESET

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2760104

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2760104

8128 New person/name/address of the agent

Representative=s name: EITLE, W., DIPL.-ING. HOFFMANN, K., DIPL.-ING. DR.

D2 Grant after examination
8363 Opposition against the patent
8331 Complete revocation