DE2740056C2 - - Google Patents
Info
- Publication number
- DE2740056C2 DE2740056C2 DE2740056A DE2740056A DE2740056C2 DE 2740056 C2 DE2740056 C2 DE 2740056C2 DE 2740056 A DE2740056 A DE 2740056A DE 2740056 A DE2740056 A DE 2740056A DE 2740056 C2 DE2740056 C2 DE 2740056C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- rail
- output
- input
- memory
- 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.)
- Revoked
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error 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/2007—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2015—Redundant power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2035—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2043—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/287—Multiplexed DMA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/366—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
Die Erfindung betrifft ein fehlertolerantes Multiprozessorsystem,
mit wenigstens zwei getrennten Prozessormodulen,
von denen jedes eine zentrale Verarbeitungseinheit,
einen Speicher und einen Eingabe-/Ausgabekanal aufweist,
mit einem Interprozessor-Bussystem, um Befehle und Daten
zwischen den Prozessormodulen auszutauschen, mit wenigstens
zwei zwischen den Prozessormodulen angeordneten und
für den Anschluß von Peripheriegeräten vorgesehenen Geräteanschlüssen,
die den Datenaustausch zwischen den einzelnen
Prozessormodulen und den zugehörigen Peripheriegeräten
steuern, sowie mit wenigstens zwei, von dem Interprozessor-
Bussystem getrennten Ein-/Ausgabe-Leitungen, die
jeweils zwischen dem Eingabe-/Ausgabekanal eines der Prozessormodule
und den Geräteanschlüssen verlaufen, um diese
Geräteanschlüsse mit wenigstens zwei Prozessormulden zu
verbinden.
Bei einem derartigen Computersystem mit mehreren Rechenwerken
können die untereinander verbundenen Prozessormodule
entweder parallele Datenverarbeitung durchführen oder
im Mehrprogrammbetrieb in zeitlicher Verzahnung arbeiten.
Dies hat zwei entscheidende Vorteile: Durch die Möglichkeit
des Simultanbetriebs mehrerer Prozessoren kann die
Verarbeitungsgeschwindigkeit, insbesondere von großen
Datenmengen, erheblich erhöht werden, und das Versagen
eines Prozessors führt nicht sofort zum Totalausfall des
gesamten Computersystems, da für die Rechenarbeit immer
noch wenigstens ein zweites Prozessormodul zur Verfügung
steht.
Computersysteme mit mehreren Prozessormodulen zeichnen
sich also durch erhöhte Auswahlsicherheit aus, jedoch
gewährleistet das Vorhandensein mehrerer getrennter Prozessoren
allein noch nicht, daß das System beim Versagen
eines beliebigen Bauteils unbedingt betriebsfähig bleibt.
Eine Möglichkeit, eine in nahezu jedem denkbaren Fall
ununterbrochene Datenverarbeitung zu gewährleisten, besteht
darin, daß man zwei oder mehr große monolithische
Rechner zusammenarbeiten läßt, oder daß man mehrere Kleinrechner
miteinander verbindet, um auf diese Weise einen
Simultanbetrieb zu ermöglichen. Die erste Möglichkeit,
große monolithische Rechner miteinander zu verbinden, ist
unverhältnismäßig teuer, da überflüssigerweise auch Gehäuse
und Kühleinrichtungen mehrfach beschafft werden müssen.
Bei der anderen Lösung, mehrere Kleinrechner untereinander
zu verbinden, ergibt sich der Nachteil, daß man ein spezielles
Verbindungsglied zwischen den Rechnern vorsehen
muß, welches ursprünglich nicht für eine derartige Betriebsweise
konstruiert worden ist. Die erforderliche
Verbindung wird in der Regel über die Eingabe-/Ausgabekanäle
hergestellt. Solche Verbindungen arbeiten jedoch
zwangsläufig langsamer als interne Übertragungseinrichtungen
innerhalb des einzelnen Rechners. Aus mehreren Kleinrechnern
zusammengestellte Multiprozessorsysteme zeichnen
sich deshalb durch eine relativ niedrige Arbeitsgeschwindigkeit
aus und sind durch das nachträgliche Vorsehen
spezieller Baugruppen überdies teuer.
Bei den bisher bekannten Anordnungen ergeben sich weitere
Schwierigkeiten bezüglich der Herstellung der Verbindungen
zu den Peripheriegeräten. Werden nämlich mehrere Peripheriegeräte
an einen einzigen Eingabe-/Ausgabekanal eines
Prozessormoduls angeschlossen, so stehen im Falle des
Versagens dieses Prozessormoduls die Peripheriegeräte dem
System selbst dann nicht zur Verfügung, wenn der gestörte
Prozessor über entsprechende Verbindungen mit einem oder
mehreren weiteren Prozessoren in Kommunikationsverbindung
steht. Zur Vermeidung dieser Schwierigkeiten ist es bisher
üblich, einen Eingabe-/Ausgabe-Leitungsschalter zu verwenden,
welcher die Eingabe-/Ausgabe-Leitungen so miteinander
verbindet, daß die Peripheriegeräte auch dann zugänglich
bleiben, wenn der mit diesen Peripheriegeräten zusammenarbeitende
Prozessor versagt. Solche speziellen Leitungsschalter
sind jedoch nicht nur kostspielig, sondern sie
stellen überdies eine weitere Fehlerquelle dar, welche zum
Ausfall eines erheblichen Teils des gesamten Computersystems
führen kann.
Aus "P. H. Enslow (Editor), Multiprocessor and Parallel
Processing", 1974, J. Wiley & Sons, Seiten 238-249, ist
bereits eine Multiprozessoranlage mit zwei getrennten
Prozessormodulen bekannt, von denen jeder eine zentrale
Verarbeitungseinheit, einen Speicher sowie einen Eingabe-/
Ausgabekanal aufweist. Die beiden getrennten Prozessormodule
sind mittels einer Interprozessor-Busleitung
direkt miteinander verbunden, so daß Signale und Daten
zwischen den Prozessormodulen übertragen werden können.
Dieses vorbekannte Multiprozessorsystem weist ferner mehrere
Geräteanschlüsse auf, welche zwischen den Prozessormodulen
angeordnet sind und für die Steuerung des Datentransfers
zwischen den Prozessormodulen und den damit in
Beziehung stehenden Peripheriegeräten vorgesehen sind.
Diese Geräteanschlüsse sind als Zweikanal-Schalter ausgebildet.
Es sind ferner zwei von der Interprozessor-Busleitung
getrennte Ein-/Ausgabe-Leitungen vorhanden, die jeweils
zwischen dem Eingabe-/Ausgabekanal eines der Prozessormodule
und einem der Geräteanschlüsse verlaufen, so daß
jeder Geräteanschluß mit beiden Prozessormodulen verbunden
ist.
Aus "Elektrisches Nachrichtenwesen", 1972, Band 47, Seiten
157-161, ist ebenfalls ein Computersystem mit zwei getrennten
Verarbeitungseinheiten bekannt, die über ein
Sammelschienensystem mit Koppelnetz-Zugriffseinrichtungen,
mit Ein-/Ausgabe-Einheiten und verschiedenen speziellen
Einrichtungen für die automatische Überwachung und Wartung
des Systems verbunden sind. Die zwei Verarbeitungseinheiten
können untereinander über einen Datenkanal Information
austauschen. Jede Verarbeitungseinheit enthält ferner
einen Taktgeber, der regelmäßig Programmunterbrechungen
vornimmt, sowie eine Statuseinheit. Ein Fehlererkennungsverfahren
umfaßt die gegenseitige Prüfung der beiden Verarbeitungseinheiten.
Beim Auftreten eines Fehlers meldet
die Statuseinheit der gestörten Verarbeitungseinheit den
Ausfall an die andere Verarbeitungseinheit, welche dann
alle Verbindungen, die bisher die gestörte Verarbeitungseinheit
bediente, übernimmt.
Da, wie bereits ausgeführt, das Vorsehen von mehreren,
sich im Störfall ersetzender Prozessormodule, allein nicht
ausreicht, um in jedem denkbaren Fall eine ununterbrochene
Datenverarbeitung zu gewährleisten, handelt es sich bei
keinem der vorbekannten Systeme um ein wirklich fehlertolerantes,
also ausfallgeschütztes Computersystem.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde,
ein fehlertolerantes Multiprozessorsystem zu schaffen,
welches sowohl beim Auftreten eines Fehlers innerhalb des
Systems, als auch bei Erweiterung oder Wartung voll betriebsfähig
bleibt.
Bei der Lösung dieser technischen Aufgabe wird ausgegangen
von einem Multiprozessorsystem der eingangs erwähnten Art;
gelöst wird die Aufgabe dadurch, daß das Interprozessor-
Bussystem wenigstens zwei parallele Interprozessor-
Schienen umfaßt, von denen jede mit den einzelnen
Prozessormodulen verbunden ist, daß Steuereinrichtungen
vorgesehen sind, die dem Interprozessor-Bussystem und den
Prozessormodulen zugeordnet sind und den Austausch von
Befehlen und Daten zwischen den jeweils zwei Prozessormodulen
über die eine oder die andere Interprozessor-Schiene steuern,
und daß ferner jeder Geräteanschluß wenigstens zwei getrennte
Zugänge für die Verbindung mit zwei Prozessormodulen und
wenigstens zwei getrennte Anschlüsse für Peripheriegeräte
aufweist.
Bei dem erfindungsgemäß ausgebildeten Multiprozessorsystem
sind alle wesentlichen Baugruppen, also Rechenwerke,
Geräteanschlüsse für Peripheriegeräte und Datenwege,
mindestens doppelt vorhanden. Die Aufteilung sämtlicher
Rechnerfunktionen auf mehrfach vorhandene, unabhängige
Module gewährleistet, daß bei Ausfall eines beliebigen
Rechnermoduls mindestens ein weiteres entsprechendes Modul
als Ersatz zur Verfügung steht, so daß die Datenverarbeitung
nicht unterbrochen werden muß. Allenfalls muß eine gewisse
Verschlechterung der Arbeitsgeschwindigkeit so lange in Kauf
genommen werden, bis die ausgefallene oder gestörte Baugruppe
wieder voll betriebsfähig ist. Hierbei kontrolliert sich
das Rechnersystem selbst. Bemerkt beispielsweise ein
Prozessor, daß ein anderer nicht mehr antwortet, so wird
dieser für tot erklärt, gleichgültig, ob ein elektronisches
Bauteil ausfiel oder ob seine Software in einen unkontrollierten
Zustand verfiel. Ein anderer paralleler Prozessor
übernimmt sofort die Aufgaben des ausgefallenen Rechenwerks,
wobei alle wichtigen Programme automatisch und ohne Unterbrechung
weiterlaufen. Bei einem derartigen fehlertoleranten
System merkt selbst beim Ausfall größerer Teile ein Anwender
am Bedienungsterminal nichts; nach außen ist das fehlertolerante
Multiprozessorsystem ein ganz normaler Computer,
nur eben weitgehend ausfallgeschützt.
Aufgrund des streng modularen Aufbaus läßt sich jede größere
Einheit aus- oder einbauen, ohne daß eine Betriebsunterbrechung
des Systems erforderlich wird. Das System läßt
sich deshalb sowohl horizontal durch die Hinzunahme von
weiteren Prozessormodulen als auch vertikal durch die
Hinzunahme von Peripheriegeräten erweitern, ohne daß die
laufende Datenverarbeitung unterbrochen werden muß oder
eine Abänderung der übrigen Hardware oder der Software
erforderlich wäre. Extreme Ausbaubarkeit ist deshalb ein
weiterer wesentlicher Vorteil des erfindungsgemäßen Multiprozessorsystems.
Bevorzugt weist jedes Prozessormodul eine Interprozessor-
Steuereinrichtung auf. Ferner ist es zweckmäßig, wenn jede
einzelne Interprozessor-Schiene in Verbindung mit der
zugehörigen Leitungssteuereinheit (Leitungssteuer-Schienen-
Steuereinrichtung) und der Interprozessor-Steuereinrichtung
eines der Prozessormodule ein selektives Mehrfach-Verbindungssystem
von jedem beliebigen Prozessormodul zu jedem beliebigen
anderen Prozessormodul bildet.
Die Ausfallsicherheit wird weiter erhöht, wenn für jedes
Prozessormodul und für jeden Geräteanschluß zumindest zwei
unabhängige Spannungsquellen vorgesehen sind.
Vorteilhaft ist jede einzelne Interprozessor-Schiene als
synchron arbeitende Mehrfachleitung ausgebildet, und enthalten
die Leitungssteuereinheiten einen Schienentaktgeber
zur Zeitsynchronisation. Zwischen sämtlichen Prozessormodulen
sind stets zumindest zwei voneinander völlig unabhängige
Leitungswege vorhanden, so daß das Versagen einer
der Interprozessor-Schienen nicht zu einer Unterbrechung
des Datentransfers zwischen den angeschlossenen Prozessormodulen
führen kann. Der in den Leitungssteuereinheiten
vorgesehene Schienentaktgeber erlaubt es, daß die zentralen
Verarbeitungseinheiten in den Prozessormodulen mit
einer zur Taktfrequenz der Schienentaktgeber unterschiedlichen
Taktfrequenz arbeiten, so daß die Informationen
über die Interprozessor-Schienen mit sehr hoher Geschwindigkeit
übermittelt werden können, ohne daß eine Übereinstimmung
mit der Taktfrequenz der zentralen Verarbeitungseinheiten
bestehen muß. Bei Verwendung unterschiedlicher
Taktfrequenzen für die zentralen Verarbeitungseinheiten
und die Leitungssteuereinheiten wird kein Haupttaktgeber
benötigt, durch dessen Versagen das gesamte System eine
Betriebsunterbrechung erleiden könnte.
In vorteilhafter Weiterbildung des erfindungsgemäßen Multiprozessorsystems
enthalten die Interprozessor-Steuereinrichtungen
wenigstens zwei Eingabe-Warteschlangenteile, je
eines für jede vorhandene Interprozessor-Schiene, und ein
mehrfach genutztes Ausgabe-Warteschlangenteil. Jedes Eingabe-
Warteschlangenteil enthält zweckmäßigerweise eine
Schienenfüllzustands-Logik, ein Senderegister, einen Eingabe-
Warteschlagen-Puffer, einen Eingabe-Warteschlangen-
Zähler sowie eine Prozessorleerzustands-Logik. Jedes
Ausgabe-Warteschlangenteil enthält zweckmäßig ein Empfangsregister,
eine Prozessorfüllzustands-Logik, eine
Schienenleerzustands-Logik, einen Ausgabe-Warteschlangen-
Zähler, einen Ausgabe-Warteschlangen-Puffer und einen
Ausgabe-Warteschlangen-Zeiger.
Diese speziell ausgebildeten Interprozessor-Steuereinrichtungen
überwachen und steuern sämtliche Übertragungsvorgänge
auf den Interprozessor-Schienen. Es wird die Priorität
der Datenübertragung zwischen zwei beliebigen Prozessormodulen
sowie ein Zeitrahmen für die Übertragung von
Informationen über die Interprozessor-Schienen zwischen
einem ausgewählten Sender-Empfänger-Paar bestimmt. Die
sowohl im Eingabe-Warteschlangenteil wie auch im Ausgabe-
Warteschlangenteil vorgesehenen Puffer können durch
eine der zentralen Verarbeitungseinheiten entleert und
gefüllt werden, ohne daß die Informationsübertragung auf
der zugehörigen Interprozessor-Schiene gestört wird.
Außerdem kann eine Datenübertragungsgeschwindigkeit erzielt
werden, welche höher ist, als sich bei einer Direktübertragung
zwischen zwei Prozessormodulen erreichen ließe.
Mehrere Datenübertragungen zwischen Paaren von Prozessormodulen
können so miteinander zeitlich verzahnt werden,
so daß sich scheinbar ein Simultanbetrieb ergibt.
In vorteilhafter Ausgestaltung der Erfindung enthält der
Eingabe-/Ausgabekanal eines jeden Prozessormoduls einen
Mikroprozessor, eine Datenweglogik und eine Steuerlogik,
wobei die Datenweglogik ein Kanalspeicherdaten-Register,
ein Ein-/Ausgabe-Datenregister, ein Kanalspeicheradressen-
Register, ein Zeichenzähl-Register, ein Adressenregister,
ein Prioritätsauflösungs-Register sowie eine Prioritätserzeugungs-
und Prüflogik enthält. Dieses Eingabe-/
Ausgabe-System gewährleistet, daß das Versagen eines
einzigen Prozessormoduls den Betrieb des Gesamtsystems
nicht beeinträchtigen kann. Es ist ferner für sehr hohe
Übertragungsgeschwindigkeiten geeignet. Jeder Eingabe-/
Ausgabekanal arbeitet nach dem Blockmultiplexverfahren,
bei dem die Daten blockweise scheinbar simultan übertragen
werden.
Hierzu weisen in zweckmäßiger Weitergestaltung der Erfindung
die Geräteanschlüsse eine gemeinsame Schnittstellenlogik
auf, welche über Verbindungsleitungen mit den zumindest
doppelt vorhandenen Zugängen verbunden sind. Diese
gemeinsame Schnittstellenlogik enthält eine Eigentumsverriegelung,
welche die Verbindung der Schnittstellenlogik
mit einem der Zugänge bestimmt. Die Geräteanschlüsse verfügen
ferner jeweils über ein Steuerteil, welches mit der
gemeinsamen Schnittstellenlogik verbunden ist. Dieses
Steuerteil enthält zweckmäßigerweise einen Puffer. Die
mehreren Zugänge eines jeden Geräteanschlusses umfassen
vorteilhaft ein Paritätsprüfregister, eine Wahlverriegelung
und eine Freigabeverriegelung.
Erfindungsgemäß sind die Zugänge jedes Geräteanschlusses
so ausgebildet, daß die getrennten Zugänge logisch und
physikalisch voneinander völlig unabhängig sind. Kein
Bestandteil eines Zugangs bildet einen Bestandteil eines
anderen Zugangs, so daß bei Versagen eines einzelnen Bauteils
bei einem Zugang der Betrieb des anderen Zugangs
nicht beeinträchtigt werden kann. Logische Einrichtungen
gewährleisten, daß in jedem Zeitpunkt nur ein bestimmter
Zugang für den Zugriff ausgewählt ist, so daß die Übertragung
eventuell fehlerhafter Daten zu einem Zugang niemals
zu einer Störung oder Blockierung eines anderen Zugangs
führen kann. Zu jedem Geräteanschluß stehen mehrere Übertragungswege
zur Verfügung, so daß eine Betriebsstörung
eines der Übertragungswege nicht zu einem Ausfall, sondern
allenfalls zu einer Verringerung der Datenverarbeitungs-
Geschwindigkeit führen kann. Alle Geräteanschlüsse
sind so gepuffert, daß sich alle Datenübertragungen zwischen
den Geräteanschlüssen und den jeweiligen Ein/-Ausgabekanälen
mit der maximal möglichen Übertragungsgeschwindigkeit
abspielen. Da sich die Puffer nicht in den
Ein-/Ausgabekanälen, sondern in den Geräteanschlüssen
befinden, wird die Pufferung nur auf das bei dem betreffenden
System erforderliche Maß beschränkt. Eine gesonderte
Pufferung für jedes Peripheriegerät zwecks Verhinderung
eines evtl. Überlaufens erübrigt sich somit.
In zweckmäßiger Weiterbildung der gemäß der Erfindung
jeweils doppelt vorgesehenen Stromversorgung zumindest für
jeden Geräteanschluß und jedes Prozessormodul ist jeder
Geräteanschluß über eine Primärleitung, eine Ersatzleitung
und einen automatischen Schalter an die wenigstens zwei
unabhängige Spannungsquellen angeschlossen. Sollte eine
der Spannungsquellen versagen, so wird automatisch auf
eine andere Spannungsquelle umgeschaltet, wobei jede der
vorhandenen Spannungsquellen den gesamten Energiebedarf
des Geräteanschlusses decken kann. Zweckmäßigerweise umfaßt
der automatische Schalter eine erste Diode, welche
der Primärleitung zugeordnet ist, und eine zweite, der
Ersatzleitung zugeordnete Diode. Diese beiden Dioden steuern
automatisch den Stromfluß von der betreffenden Spannungsquelle
zum zugehörigen Geräteanschluß entweder über
die Primärleitung oder über die Ersatzleitung, wobei die
Spannungsquellen gleichzeitig gegeneinander isoliert sind.
Hierdurch wird verhindert, daß eine ausgefallene Spannungsquelle
auch zum Ausfall der betreffenden anderen
Spannungsquelle führt. Der Übergang von der einen Spannungsquelle
auf die andere erfolgt dabei ohne jede Spannungsunterbrechung.
Ein zusätzlich zwischen dem Geräteanschluß und den zur
Spannungsquelle führenden Leitungen vorgesehener, manuell
betätigter Schalter ermöglicht es, den betreffenden Geräteanschluß
von beiden zugehörigen Spannungsquellen abzuschalten,
wenn dies zu Zwecken der Wartung oder des Austausches
erforderlich ist.
Von Vorteil ist ferner eine Spannungsüberwachungs-Schaltung
an jedem Geräteanschluß, welcher anspricht, wenn die
erforderliche Betriebsspannung unterschritten wird.
Gemäß einer weiteren vorteilhaften Ausführungsform des
erfindungsgemäßen Multiprozessorsystems ist der Speicher
eines jeden Prozessormoduls über zwei Zugänge sowohl der
zentralen Verarbeitungseinheit als auch dem Eingabe-/Ausgabekanal
zugeordnet. Hierdurch kann die zentrale Verarbeitungseinheit
des betreffenden Prozessormoduls Zugriff
zum Speicher nehmen, während der Ein-/Ausgabekanal ebenfalls
mit dem Speicher direkt und unter Umgehung der Zentralverarbeitungseinheit
zusammenarbeiten kann. Diese
doppelte Zugriffsmöglichkeit zum Speicher hat den Vorteil,
daß die Zugriffe durch die zentrale Verarbeitungseinheit
und den Ein-/Ausgabekanal zeitlich miteinander verzahnt
werden können, was die Verarbeitungsgeschwindigkeit weiter
erhöht.
Ein Ausführungsbeispiel der Erfindung wird nachstehend
anhand der Zeichnungen näher erläutert. Es
zeigen:
Fig. 1 ein perspektivisches Blockdiagramm eines
fehlertoleranten Multiprozessorsystems mit
mehreren Prozessormodulen, die durch zwei
Interprozessorleitungen miteinander verbunden
sind, wobei zu jeder Leitung eine
Steuereinrichtung 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
Prozessormoduls;
Fig. 3 weitere Einzelheiten der logischen Einrichtung
einer der in Fig. 2 dargestellten
Leitungssteuereinrichtungen;
Fig. 4 Einzelheiten der logischen Einrichtung für den
mehrfach ausgenutzten Ausgabepuffer und die
Steuereinrichtung bei der
Interprozessor-Steuereinrichtung eines
Prozessormoduls gemäß Fig. 2;
Fig. 5 die logische Einrichtung für ein
Eingabewarteschlangenteil der
Interprozessor-Steuereinrichtung für ein
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
Protokolleitungen beeinflußt wird, die
Verbindungen zwischen der
Leitungssteuereinrichtung und den
Prozessormodulen herstellen;
Fig. 7 ein Zustandsdiagramm, das für die logischen
Einrichtungen des mehrfach ausgenutzten
Ausgabewarteschlangenteils gemäß Fig. 4 gilt;
Fig. 8 ein Zustandsdiagramm, das für die logischen
Einrichtungen des Eingabewarteschlangenteils
gemäß Fig. 5 gilt;
Fig. 9 einen Ablaufplan für die Übertragung eines
Datenpakets zwischen einem als Sender arbeitenden
Prozessormoduls und einem als Empfänger
arbeitenden Prozessormoduls;
Fig. 10 ein logisches Diagramm der
Schienenleerzustands-Logik und der
Prozessorfüllzustands-Logik des
Ausgabewarteschlangenteils gemäß Fig. 4;
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-Ausgabekanals eines
Prozessormoduls;
Fig. 14 einen Ein-Ausgabekanal;
Fig. 15 ein Protokolldiagramm für den Ein-Ausgabekanal,
das Zustandsänderungen der T-Leitung bei der
Durchführung eines Ein-Ausgabe-Vorgangs
veranschaulicht, der durch das Mikroprogramm der
Zentraleinheit durchgeführt wird;
Fig. 16 ein Protokolldiagramm für den Ein-Ausgabekanal,
das die Zustandsänderungen der T-Leitung für eine
Wiederanschluß- und Datenübertragungsfolge
veranschaulicht;
Fig. 17 ein Protokolldiagramm für den Ein-Ausgabekanal,
das die Zustandsänderungen der T-Leitung bei
einem Abfrage-Ein-Ausgabebefehl oder einem
Abfragebefehl mit hoher Priorität
veranschaulicht, welche durch das Mikroprogramm
der Zentraleinheit eingeleitet werden, wobei die
dargestellte Folge über die T-Leitung zu einem
Geräteanschluß ü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 und einen Geräteanschluß erkennen
läßt;
Fig. 20 ein Blockschaltbild des Zugangs von Fig. 19;
Fig. 21 ein Blockschaltbild der Einzelheiten der
Datenwege der der Schnittstelle zugeordneten
gemeinsamen logischen Einrichtung des
Geräteanschlusses nach Fig. 19;
Fig. 22 ein Blockschaltbild eines Datenpuffers im
Steuerteil eines Geräteanschlusses nach Fig. 19;
Fig. 23 eine graphische Darstellung der Arbeitsweise des
Datenpuffers nach Fig. 22 und 19;
Fig. 24 ein Ablaufschema, das die Beziehung zwischen
"SERVICE OUT" aus dem Eingabe-Ausgabekanal und
der Eingabe von Daten in das Zugangsdatenregister
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 12 dargestellten
Stromversorgungsschaltung;
Fig. 26 ein logisches Diagramm der Puffersteuerlogik des
Datenpuffers nach Fig. 22 als Bestandteil eines
Geräteanschlusses;
Fig. 27 eine Aufstellung der logischen Gleichungen für
das Wählregister nach Fig. 20, wobei diese
logischen Gleichungen durch die
Zugangssteuerlogik nach Fig. 20 realisiert werden;
Fig. 28 einen Ablaufplan des zwei Leitungen betreffenden
Austausches zwischen dem Ein-Ausgabekanal 109 und
den Zugängen;
Fig. 29 ein logisches Diagramm für den Austausch nach
Fig. 28, wobei die Logik nach Fig. 29 einen
Bestandteil der T-Leitungsmaschine 143 des
Ein-Ausgabekanals 109 nach Fig. 13 bildet;
Fig. 30 ein Blockschaltbild eines Stromverteilungssystems
mit mehreren getrennten, unabhängigen
Spannungsquellen, die den jeweils zwei Zugänge
aufweisenden Geräteanschlüssen so zugeordnet
sind, daß Gewähr dafür besteht, daß für jeden
Geräteanschluß sowohl eine primäre
Spannungsquelle als auch eine
Ersatzspannungsquelle verfügbar ist;
Fig. 31 eine vergrößerte Teildarstellung einer
Schalteinrichtung zum Umschalten zwischen der
primären Spannungsquelle und der
Ersatzspannungsquelle für einen Geräteanschluß;
Fig. 32 ein Blockschaltbild mit Einzelheiten der
Spannungsquellen nach Fig. 30;
Fig. 33 ein Blockschaltbild mit Einzelheiten der
senkrechten und der waagerechten Leitungen zum
Zuführen von Strom von den getrennten
Spannungsquellen nach Fig. 30 zu den einzelnen
Geräteanschlüssen, wobei diese Anordnung das
Auswählen zweier einzelner Spannungsquellen als
primäre Spannungsquelle oder
Ersatzspannungsquelle für einen bestimmten
Geräteanschluß erleichtert;
Fig. 34 ein Blockschaltbild des Speichersystems mit
Einzelheiten des Speichers eines Prozessormoduls
nach Fig. 1;
Fig. 35 in einem Blockschaltbild Einzelheiten des
Kartenteils des Speichers 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
Speichermodule nach Fig. 34, wobei dieser Modul
als Halbleiterspeichermodul ausgebildet ist;
Fig. 38 die Schaltung eines Prüfbitgenerators, der bei
dem Halbleiterspeichermodul nach Fig. 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 nach Fig. 37 benutzt
wird, wobei auch die logische Gleichung des
9-Bit-Paritätsbaums für das Syndrombit Null
angegeben ist;
Fig. 40 ein Diagramm eines Syndromdecodierers, wie er bei
dem Halbleiterspeichermodul nach Fig. 37
verwendet wird, wobei auch die logischen
Gleichungen für den Betrieb des logischen Teils
des Syndromdecodierers angegeben sind;
Fig. 41 ein logisches Diagramm einer
Bitkomplementiereinrichtung, die bei dem
Halbleiterspeichermodul nach Fig. 37 benutzt
wird; und
Fig. 42 eine Darstellung der Funktionsabläufe in einem
Multiprozessorsystem mit zwei Prozessoren, das
nach einem Anwendungsprogramm arbeitet, welches
einen kontinuierlichen Betrieb erfordert.
In Fig. 1 ist ein Teil eines erfindungsgemäßen
Multiprozessorsystems in einer perspektivischen Ansicht
dargestellt, wobei das Multiprozessorsystem insgesamt mit
31 bezeichnet ist.
Zu dem Multiprozessorsystem 31 gehören mehrere einzelne
Prozessormodule 33, von denen jedes eine Zentraleinheit
105, einen Speicher 107, einen Ein-Ausgabekanal 109 und
eine Interprozessor-Steuereinrichtung 55 aufweist.
Die einzelnen Prozessormodule sind untereinander durch
Interprozessorschienen 35 verbunden.
Bei einer bestimmten Ausführungsform des
Multiprozessorsystems 31 sind bis zu sechszehn
Prozessormodule 33 durch zwei Interprozessorschienen 35
verbunden, die in Fig. 1 als X-Leitung
bzw. als Y-Leitung bezeichnet sind.
Zu jeder Interprozessor-Schiene 35 gehört eine Steuereinrichtung
37.
Die Leitungssteuereinrichtungen 37, die Interprozessor-Schienen
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-Ausgabe-Leitungen 39,
die jeweils einem Eingabe-Ausgabe-Kanal 109 eines Prozessormoduls
zugeordnet sind, sowie ein oder mehrere jeweils mit mehreren
Zugängen versehene Geräteanschlüsse 41, die mit den Eingabe-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 Eingabe-/Ausgabe-Kanal 109,
die für Ein- und Ausgabe-Übertragungen vorgesehen sind.
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 Eingabe-/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 Spannungsquellen 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 Spannungsquellen 303.
Für jeden Prozessormodul 33 ist eine gesonderte Spannungsquelle
303 vorhanden, und eine Vielfachleitung 305 führt den Strom
von jeder Spannungsquelle 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 Spannungsquellen 303 aus mit Strom versorgt werden kann.
Wenn eine Spannungsquelle für einen bestimmten Geräteanschluß versagt,
wird somit dieser Geräteanschluß jeweils durch die betreffende
andere Spannungsquelle 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
und einen ständigen Zugang zu den Peripheriegeräten zu gewährleisten,
wenn entweder ein einzelner Zugang 43 oder eine einzelne
Spannungsquelle 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örungssicheren 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.
Aufbau und Wirkungsweise des Stromverteilungssystems 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 Eingabe-/Ausgabekanal 109.
Somit kann der Eingabe-/Ausgabekanal 109 direkt mit dem Speicher 107 zusammenarbeiten,
d. h. nicht über die Zentraleinheit 105, wenn Daten
zu und von einen 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 Fehlernachweissystem ein 16-Bit-Datenfeld in Verbindung
mit einem 6-Bit-Prüffeld verwendet, und es ist ein Datenbitkomplementierer
487 zum Korrigieren von Einzelbitfehlern vorhanden.
Einzelheiten des Fehlernachweissystems werden im folgenden
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
(Speicherverwaltung), 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 Betriebssystem entspricht dem modularen Aufbau
des Multiprozessorsystems, d. h., es sind keine "global"
zu benutzenden Elemente vorhanden.
Auf dem unteren 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.
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-Ausgabe-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.
Aus der folgenden Beschreibung wird ersichtlich, daß der Aufbau
der Software dem Aufbau der Hardware entspricht, und daß
verschiedene Prozesse bezüglich ihrer Anordnung und Funktion
als bestimmten Teilen der Hardware gleichwertig betrachtet
werden können.
Ebenso wie der Eingabe-/Ausgabe-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 Eingabe-/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 Interprozessor-Schienen 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
Abmessungen der Module verkleinern, und die Schnittstellen
zwischen den Modulen sind deutlich ausgeprägt.
Durch die funktionelle 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 Hardware bietet auch die Software mehrere funktionell
gleichwertige Module mit redundanten Verbindungen.
Beispielsweise können für Nachrichten zwischen Prozessen in
verschiedenen Prozessormodulen 33 beide Interprozessor-
Schienen 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 Anwendungsystem zu entwickeln, da die
Module in Mehrfachausführung vorhanden sind und redundante
Verbindungen aufweisen.
Wie erwähnt, sind die einzelnen Prozessormodule 33 gemäß Fig. 1
untereinander durch zwei Interprozessor-Schienen 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 Interprozessor-Schiene 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 Schienen 35 gewährleistet,
daß bei dem System zwei unabhängige Leitungswege
zwischen sämtlichen Prozessormodulen vorhanden sind. Daher
kann ein Versagen einer der Schienen 35 nicht zu einer Unterbrechung
des Verkehrs zwischen den Prozessormodulen führen.
Die Leitungssteuereinrichtung 37 für jede Interprozessor-Schiene
35 ist gemäß der Erfindung vorzugsweise von den Prozessormodulen
33 getrennt.
Bei jeder Interprozessor-Schiene 35 handelt es sich um eine
asynchron arbeitende Mehrfachleitung, bei der die Zeitsynchronisation
durch einen Leitungstaktgeber bewirkt wird, der zu
der betreffenden Steuereinrichtung 37 gehört. Die Interprozessor-
Steuereinrichtungen 55 sämtlicher Module, die einer Leitung zugeordnet
sind, führen Zustandsä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 das Interprozessor-Bussystem. 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
von Datenpaketen über die Interprozessor-Schienen stets bei
der Leitungstaktfrequenz statt.
Ein wichtiges Merkmal der Erfindung besteht darin, daß die
Informationen über die Interprozessor-Schienen 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 Interprozessor-Schienen ü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
Interprozessor-Schienen 35 mit einer bestimmten Taktfrequenz
und jede Zentraleinheit 105 mit ihrer eigenen unabhängigen Taktfrequenz
zu betreiben, ohne daß Daten verlorengehen.
Über die Interprozessor-Schienen 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.
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 der gleiche ist wie derjenige
der X-Leitung, wird im folgenden nur eine dieser Leitungen
im einzelnen beschrieben.
Gemäß Fig. 2 gehören zu jedem Leitungsbündel der Interprozessor-Schienen 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
Ausgabewarteschlangenteil 67 vorhanden.
Gemäß Fig. 4 gehört zu dem mehrfach ausgenutzten Ausgabewarteschlangenteil
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 Datenpaketübertragung
fest, d. h., bis die Daten aus dem Puffer auf eine
noch zu erläuternde Weise zu der betreffenden Leitung übermittelt
werden.
Ferner weist der Ausgabewarteschlangenteil 67 ein Empfangsregister
71 auf, bei dem es sich bei der bevorzugten Ausführungsform
der Erfindung um ein 4-Bit-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
eine Prozessorfüllzustands-Logik 73, die synchron mit
dem Takt der Zentraleinheit arbeitet, eine
Schienenleerzustands-Logik 75, die 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ähler
77 den Puffer 69 ab, um die einzugebenen 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 Ausgabewartschlangenzeiger 79
ermöglicht eine gemeinsame Ausnutzung der Zustands-Logik 73
und 75 und des Puffers 69 durch die X- und Y-Leitungen der
Interprozessor-Schienen 35.
Gemäß Fig. 3 gehören zu der Leitungssteuereinrichtung 37 eine
Logik 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 Schienentaktgeber 91.
Gemäß Fig. 5 gehören zu jedem Eingabewarteschlangenteil 65
eine Schienenfüllzustands-Logik 93, die synchron mit
dem Leitungstakt arbeitet, ein Senderegister 95, ein Eingabewarteschlangenpuffer
97, ein Eingabewarteschlangenzähler 99
und eine Prozessorleerzustands-Logik, die synchron
mit dem Takt der Zentraleinheit betrieben wird.
Fig. 6 ist ein Zustandsdiagramm der Leitungssteuerlogik 81
der Leitungssteuereinrichtung 37.
Fig. 7 ist ein Zustandsdiagramm der Logik-Einrichtungen
73 und 75 des Ausgabewarteschlangenteils 67.
Fig. 8 ist ein Zustandsdiagramm der Zustands-Logiken 93 und
101 des Eingabewarteschlangenteils 65.
Gemäß Fig. 7 kann die Prozessorfüllzustands-Logik 73
entsprechend der Beschriftung vier verschiedene Zustände annehmen,
und zwar die Zustände "LEER", "FÜLLEN", "GEFÜLLT" und
"WARTEN". Die Schienenleerzustands-Logik 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 relativ zueinander asynchronen Takten arbeitenden
Zustands-Logiken 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 Zustands-Logiken. In Fig. 7 und
8 bezeichnen somit die die gestrichelten Pfeile zwischen den
Zustands-Logiken Signale, durch welche die angegebenen Übergänge
bei den Zustands-Logiken synchronisiert bzw. qualifiziert
werden.
Bezüglich des Zustandes "FÜLLEN" bei der Logik 73
sei bemerkt, daß der Speicherausgabewarteschlangenzustand erst
dann zum Verlassen des Zustands "FÜLLEN" führt, wenn der
Ausgabewarteschlangenzähler 77 nach dem Beginn einer 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" der
Logik 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 Zustandsdiagramm 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 Interprozessor-Schiene abgegeben werden.
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 Schienenleerzustands-Logik 75)
oder zu einer Zustandsleitung des Prozessormoduls (bei der
Prozessorfüllzustands-Logik 73).
Fig. 8 zeigt die Zustandsdiagramme für die Schienenfüllzustands-Logik
93 und die Prozessorleerzustands-Logik 101.
Das Zustandsdiagramm für die Schienenfüllzustands-Logik 93 gibt vier verschiedene
Zustände an, und zwar "SYNCHRONISATION", "BESTÄTIGUNG",
"EMPFANG" und "GEFÜLLT".
In dem Zustandsdiagramm für die Prozessorleerzustands-Logik 101 sind vier
Zustände angegeben, und zwar "RÜCKSETZEN", "BEREITSCHAFT",
"UNTERBRECHUNG" und "ZWISCHENSPEICHERN".
Bezüglich der Bedeutung der als Vollinie 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.
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 Leitungssteuereinrichtung,
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
Ausgabewarteschlangenteil 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 wird.
Das nächste in Fig. 9 dargestellte Signal, d. h. das Sendebestätigungssignal,
kann nur durch einen bestimmten Prozessor 33
erzeugt werden, wenn dieser Prozessor gewählt worden ist, und
wenn sich seine Schienenleerzustands-Logik 75 im Sendezustand
befindet, wie es dem dritten Zustand nach Fig. 7 entspricht.
Dieses Sendebestätigungssignal wird durch die Leitungssteuereinrichtung
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, die Schienenleerzustands-Logik 75 des empfangenden Moduls zu sperren, so daß das empfangende Modul nicht in der Lage ist, eine vorgesehene Empfängernummer zu der Datenschiene gelangen zu lassen, wenn der Ausgabewarteschlangenteil des betreffenden Empfängermoduls 33 ebenfalls ein eigenes Datenpaket bereithält, das gesendet werden soll.
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, die Schienenleerzustands-Logik 75 des empfangenden Moduls zu sperren, so daß das empfangende Modul nicht in der Lage ist, eine vorgesehene Empfängernummer zu der Datenschiene gelangen zu lassen, wenn der Ausgabewarteschlangenteil des betreffenden Empfängermoduls 33 ebenfalls 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 Interprozessor-Schiene 35 handelt es sich natürlich um eine
nicht richtungsgebundene Schiene, so daß die Informationen der
Datenschiene 57 durch beliebiges 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.
Während das Empfangsbefehlssignal erzeugt wird, führt die
Leitungssteuereinrichtung 37 die Sendenummer 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 der
Schienenfüllzustands-Logik 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 empfangen, 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 der Schienenleerzustands-Logik
75 des Senderprozessormoduls 33 über eine der Protokolleitungen
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
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 Leitungsleerzustandsteil
75 weist zwei Kippschaltungen C und D auf.
Gemäß den Zustandszuweisungen, die in Fig. 10 für die Kippschaltungen
A und B bzw. C und D angegeben sind, ist der Zustand
"LEER" durch A=0 und B=0 definiert. Der Zustand "FÜLLEN"
ist durch A=1 und B=0 definiert. Der Zustand "GEFÜLLT" ist
durch A=1 und B=1 definiert, während der Zustand "WARTEN"
durch A=0 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
genannten Zustandszuweisungen könnten auch in Form logischer
Gleichungen angegeben werden. Z. B. gilt für den Zustand
"LEER" · ; 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 der Prozessorzustands-Logik 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 Interprozessor-Schiene erforderlich
ist, liefert die Firmware (Mikroprogramm) der Zentraleinheit
in Abhängigkeit von dem Bereitschaftssignals 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 Speicherausgabewarteschlangensignal
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 aus dem Zustand "FÜLLEN" in den
Zustand "GEFÜLLT", wie es in Fig. 7 durch den als Vollinie gezeichneten
Pfeil angedeutet ist.
Der Zustand "GEFÜLLT" der Prozessorfüllzustands-Logik bildet
einen Synchronisationszustand für die Schienenleerzustands-Logik,
wie es in Fig. 7 durch den gestrichelten Pfeil angedeutet
ist, der vom Zustand "GEFÜLLT" der Logik 73 nach unten
zu der Logik 75 verläuft.
Die Prozessorfüllzustands-Logik 73 verbleibt im gefüllten
Zustand, bis die Schienenleerzustands-Logik 75 danach den Zustand
"ERLEDIGT" erreicht hat.
Bei der Schienenleerzustands-Logik 75 wird gemäß Fig. 7 der
Ausgangszustand "LEERLAUF" beim Einschalten der Stromzufuhr
oder beim manuellen Rückstellen erreicht.
Die Schienenleerzustands-Logik 75 verbleibt im Leerzustand,
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 Schienenleerzustands-Logik 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. 7
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 Fig. 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
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
SMD 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ählerergebnis 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 Schienenleerzustands-Logik 75 den Zustand "ERLEDIGT" erreicht
hat, wird ein Übergang der Prozessorfüllzustands-Logik 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üllzustands-Logik
73 einen Übergang der Schienenleerzustands-Logik
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.
Schließlich qualifiziert die Schienenleerzustands-Logik 75,
die sich im Leerlaufzustand befindet, den Übergang der Prozessorfüllzustands-Logik 73 aus dem Zustand "WARTEN" in den
Zustand "LEER", wie es in Fig. 7 durch den von dem Zustand
"LEERLAUFEN" ausgehenden gestrichelten Pfeil angedeutet ist.
Nunmehr ist ein Datenpunkt durch den Prozessormodul dem Ausgabewarteschlangenpuffer
69 eingegeben und über die Schiene
35 zu dem Empfängerprozessormodul übermittelt worden, und die
Prozessorfüllzustands-Logik 73 sowie die Schienenleerzustands-Logik
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 Logiken 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 Zustandsä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 Schienenleerzustands-Logik 75 in der
nachstehend beschriebenen Weise ab.
Um einen Übergang aus dem Leerlaufzustand in den Synchronisationszustand
zu bewirken, muß die Zustandsvariable C nach
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
Prozessorfüllzustands-Logik 73 zu dem Übergang dargestellt ist, der
Größe (A+B] bzw. dem Ausdruck (GEFÜLLT) in der Gleichung
103. Der Zustand bzw. der Leerlaufzustand 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. 10. 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 das Eingabewarteschlangenteil 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 Interprozessor-Schienen 35 verbunden,
und er kann über jede Schiene mit sich selbst und mit jedem
anderen Prozessormodul verkehren. Bei jeder Übertragung eines
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 Interprozessor-Schienen 35 wird mit Hilfe der Software
unter Verwendung des Sendebefehls eingeleitet und durchgeführt.
Beim Sendebefehl arbeiten das Mikroprogramm 11 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 Sendebefehls 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
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 Mikroprogamm
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 Interprozessor-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 Schienenleerzustands-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
Prüfsumme 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 eintritt.
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
benutzt. Mit anderen Worten, die Eingabewarteschlangenlogik 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 zugefü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 Interprozessormaschine ein entsprechendes
Bit 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 Prozessorleerzustands-Logik 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 Mikrounterbrechungen
gesperrt sind, um unvorhersehbare Ergebnisse
zu vermeiden. Es gehen keine Datenpakete verloren, während die
Mikrounterbrechungen gesperrt sind. Das erste empfangene Datenpaket
wird im Eingabewarteschlangenpuffer festgehalten, bis
die Mikrounterbrechung freigegeben wird. Nachfolgende Übertragungen
von Datenpaketen bei gefülltem Eingabewarteschlangenpuffer
werden zurückgewiesen, denn die Schienenfüllzustands-Logik
93 befindet sich im Zustand "GEFÜLLT" und ist daher unfähig,
in Abhängigkeit vom Wählsignal des Empfangsbestätigungssignal
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 Prozessorleerzustands-Logik 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
Schienenfüllzustands-Logik 93 im Zustand "GEFÜLLT", und es werden
keine weiteren Datenpakte empfangen.
Das Beendigungsunterbrechungssignal kann daher entweder eine
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 Interprozessor-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.
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 Ausgabewarteschlangenpuffer
69 (Fig. 4) mit fünfzehn Datenwörtern gefüllt wird, daß
eine ungeradzahlige Paritätsprüfsumme 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üllzustands-Logik 73
(Fig. 4) und der über die Leitung M nach Fig. 4 erfolgenden
Zuführung der Empfängerprozessornummer zum Empfangsregister 71.
Gleichzeitig wird der Ausgabewarteschlangenzeiger 79 entsprechend
dem höchsten Bit aus der Leitung M eingestellt, um den Ausgabewarteschlangenteil
67 mit der X-Schiene oder der Y-Schiene
zu verbinden.
Das Speicherempfangssignal nach Fig. 4 veranlaßt die Prozessorfüllzustands-Logik 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 Ausgabewarteschlangenteil 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 Einheit 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 errreicht, 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. 2) eine
Modulo-2-Summe der Datenwörter. Nachdem das fünfzehnte Datenwort
geladen worden ist, wird dieses ungeradzahlige Prüfsummenwort
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
dem Ausgabewarteschlangenspeichersignal die Prozessorfüllzustands-Logik
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üllzustands-Logik
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üllzustands-Logik 73 der Leitungsleerzustands-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 Sendeanforderunsgsignal
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 Empfängerbestä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 Eingabewarteschlangenpuffer
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 Schienenleerzustandslog 99999 00070 552 001000280000000200012000285919988800040 0002002740056 00004 99880ik 75 gemäß Fig. 7 aus
dem Senderzustand in den Zustand "ERLEDIGT" übergeht.
Das Erreichen des Zustandes "ERLEDIGT" ermöglicht es der
Prozessorfüllzustands-Logik 73, aus dem Zustand "GEFLÜ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üllzustands-Logik 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;
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üfsumme 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ängerprozessormoduls
die Daten entsprechend dem zugehörigen Schienenempfangstabelleneintrag,
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
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 der Beendigung eines vorausgehenden Empfangsvorgangs geht
die Prozessorleerzustands-Logik 101 gemäß Fig. 8 aus dem Rückstellzustand
in den Bereitschaftszustand über, wodurch es der
Schienenfüllzustands-Logik 93 ermöglicht wird, aus dem Synchronisationszustand
in den Bestätigungszustand überzugehen.
Dieser Bestätigungszustand 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üllzustands-Logik 93,
aus dem Bestätigungszustand in den Empfangszustand überzugehen.
Bei dieser Zustandsänderung wird das Senderregister 95 nach
Fig. 5 mit der Nummer des Senderprozessormoduls geladen.
Beim Empfangszustand wird das Datenpaket aus der Datenschiene
unter der Steuerwirkung des Eingabewarteschlangenzählers 99 in
den Eingabewarteschlangenpuffer 97 überführt.
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 Prozessorleerzustands-Logik
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 entprechende
Maskenbit ansteht.
Das durch die Unterbrechung aktivierte Schienenempfangs-Mikroprogramm
115 führt gemäß Fig. 5 zunächst der Prozessorleerzustands-Logik
101 ein Verriegelungssignal zu. Hierdurch wird bewirkt,
daß die Prozessorleerzustands-Logik 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.
In das Zählwort Null oder negativ, wird das Datenpaket verworfen;
in diesem Fall gibt das Mikroprogramm 115 gemäß Fig. 5
das Signal RINT ab, das die Prozessorleerzustands-Logik 101
veranlaßt, gemäß Fig. 8 aus dem Zwischenspeicherzustand in
den Rückstellzustand überzugehen. In diesem Fall 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, umd 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 dem 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 Wert Null erreicht, sind keine weiteren
Wörter mehr im Speicher vorhanden, es wird eine Durchführungsunterbrechungsmarke
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 stattgefungen 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.
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 Prozessorleerzustands-Logik 101 ab,
so daß die Logik 101 aus dem Zwischenspeicherzustand in den
Rückstellzustand übergeht.
Wenn die Logik 101 den Rückstellzustand erreicht, kann gemäß
Fig. 8 die Schienenfüllzustands-Logik 93 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-Unterbrechungseinrichtung die
Nummer des Senderprozessors der Speicherstelle, wo sie
festgehalten wurde, und die Unterbrechungseinrichtung kann dann
feststellen, ob ein Prüfsummenfehler 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
eines 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 Eingabewarteschlangenteile 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
mit dem Empfängerprozessormodul, die Genauigkeit der über
den Multiprozessorkommunikationsweg empfangenen Daten zu prüfen.
Informationen, die über die Interprozessorschiene gesendet
werden, werden unter der steuernden Wirkung des Betriebssystems
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 Steuerpakten
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 Interprozessorkommunikationen, 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.
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, d. h. des Steuerpakets, der
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ängerbestä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
verlorengehen, 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 einem Teil des Systems führen.
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 sec 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,
weiß dieser Modul, daß bei ihm eine Störung vorliegt, und
daraufhin arbeitet er nicht mehr mit Ein-Ausgabe-Geräteanschlü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
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 0 abgeschaltet
ist, einen dritten Zustand, bei dem die Zentraleinheit 0
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 Sicherungszwecken
zu erzeugen, woraufhin das Anwendungsprogramm PA der Kopie PB
Informationen zuführt. Sämtliche Ein- und Ausgabevorgänge
laufen hierbei über den Prozessormodul 0. Bei desem 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 Prozessormodul
0 betriebsunfähig. Das Multiprozessorsystem informiert
das Anwendungsprogramm PA, daß 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 Multiprozessorsystem so umgeschaltet,
daß sie über den Prozessormodul 1 laufen, und das
Anwendungsprogramm fährt fort, die Terminals ohne jede Unterbrechung
über die Ein-Ausgabeleitung 39 zu bedienen, die den
Prozessormodul 1 mit den Geräteanschlüssen 41 verbindet,
wie es in Fig. 42 bei der Leitung 39 auf der rechten Seite
durch einen Pfeil angedeutet ist.
Der nächste Betriebszustand des Multiprozessorsystem ist in
Fig. 42 im oberen Teil in der Mitte dargestellt und mit "Zentraleinheit
0 wieder in Betrieb" bezeichnet; der Prozessormodul 0
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 Anwendungsprogramm
PA wird informiert, daß der Prozessormodul 0 jetzt
betriebsfähig ist, und das Anwendungsprogramm PA veranlaßt das
Multiprozessorsystem, eine weitere Kopie des Anwendungsprogramms
im Prozessormodul 0 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 Ausgabevorgänge über den Prozessormodul 0
durch. Die Terminals arbeiten wiederum ohne Unterbrechung
weiter.
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
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 Unterbrechnung betreibbares
System.
Wie erwähnt, gehören zu dem Multiprozessorsystem 31 nach Fig. 1
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 Merkmal der Erfindung besteht darin, daß die
Übermittlung von Daten über redundate Wege möglich ist, um
einen Betrieb zu gewährleisten, 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ß 41 besitzt zwei Zugänge 43 und weitere
Einrichtungen, die in Verbindung mit zwei zugehörigen Ein-Ausgabeleitungen
39 auf eine noch zu erläuternde Weise den redundaten
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
vorhandenen Zugänge 43 bei einem einzigen Multiprozessorsystem
mit mehreren Prozessormodulen 33 verbunden wird.
Gemäß Fig. 12 steuert jeder Geräteanschluß 41 eine oder mehrere
Vorrichtungen über Anschlüsse 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 Magnetbandantrieb
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 Ein-Ausgabe-System
durchgeführt. Gemäß Fig. 12 gehören zu den Ein-Ausgabe-Befehlen
der Befehl EIO (Durchführung der Ein- und Ausgabe),
der Befehl IIO (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-Ausgabeleitung
39 über den Eingabe-/Ausgabekanal 109 gemäß Fig. 12 mit Hilfe
mehrerer Leitungswege 117 möglich.
Gemäß Fig. 12 gehört zu dem Eingabe-/Ausgabekanal 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 Eingabe-/Ausgabekanal 109 jedes Prozessormoduls
33 eine Datenweglogik 123.
Gemäß Fig. 13 gehören zu der Datenweglogik 123 ein Kanalspeicherdatenregister
125, ein Ein-/Ausgabe-Datenregister 127,
ein Kanalspeicheradressenregister 129, ein Zeichenzählregister
131, ein Adressenregister 133 für aktive Vorrichtungen, ein
Prioritätsauflösungsregister 135 sowie eine Paritätserzeugungs-
und 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-Schiene.
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 Datenlogik
123 mit dem Speicher 107.
Gemäß Fig. 12 gehören zu dem Leitungsweg 139 ein Hardware-Leitungsweg
139A und zwei logische Leitungswege 139B und
139C im Speicher 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.
Ein zweite Zweigleitung 139A-2 überträgt gemäß Fig. 13 Daten
vom Kanalspeicheradressenregister 129 zum Speicher.
Gemäß Fig. 13 überträgt ein dritter Leitungsweg 139A-3 Daten
vom Ein-/Ausgabe-Datenregister 127 zum Speicher.
Gemäß Fig. 12 gehört zum Ein-Ausgabe-Kanal eines Prozessormoduls
33 ein Steuerlogikteil 141.
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-/Ausgabeleitung
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-/Ausgabeleitung 39
ferner eine Gruppe von Datenleitungen 161, 163, 165, 167 und
169.
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 sechzehn Datenschienenleitungen
161 und eine Paritätsleitung 163.
Die Leitungen 165 (Ende der Übertragung), 167 (Auffüllung,
Ausgabe) und 169 (Auffüllung, Eingabe) dienen als Datenzustandsleitungen
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-/Ausgabeleitung
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.
Im 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 43, 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-Schienen-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,
und eine Austauschfolge wird zwischen dem Eingabe-/Ausgabekanal 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 Eingabe-/Ausgabekanal 109 und den Zugängen 43 erkennen
läßt.
Gemäß Fig. 28 überträgt die Leitung 155 das Signal SVO (Bedienung,
Ausgabe), 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 Eingabe-/Ausgabekanals 109.
Bevor das Signal SVO gegeben wird, benennt der Kanal 109 die
T-Schienen-Funktion und erforderlichenfalls die Datenschiene.
Dann liefert der Kanal 109 ein Bedienungsausgabesignal, wie es in
Fig. 28 durch den senkrechten Anstieg 279 angedeutet ist, und
das Signal SVO 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äßt.
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
Reaktionen 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.
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ät 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
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-, IIO- oder
HIIO-Folge) oder das Signal ABTD (Wiederanschlußfolge) zugeführt.
Fig. 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.
Zu dem Geräteanschluß 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 Eingabe-/Ausgabekanal 109 setzt das Bedienungsausgabesignal, indem er den
J-Eingang der Kippschaltung 287 einschaltet; wenn der nächste
Taktzyklus beginnt, wird das Bedienungsausgabesignal den 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 gemeinsamen Schnittstellenlogik
181 so zugeordnet, wie es durch eine Eigentumsverriegelung
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 Multiprozessorsystem,
denn sie gewährleisten, daß sich der Betrieb des
Ein-Ausgabe-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 Eingabe-/Ausgabekanal 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 Eigentumsverriegelung 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.
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-/Ausgabeleitung
39 übermittelt werden soll, wird einer der Zugänge 43, und
zwar nur der an die Ein-/Ausgabeleitung 39 angeschlossene Zugang
eines Geräteanschlusses 41 im logischen Sinne durch Setzen
des zugehörigen Wählbits nach Fig. 19 an die Schiene
angeschlossen.
Diese 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 Vorrichtungsadressenkomparator 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 bestimmten
Adresse entspricht, wird gemäß Fig. 27 das Glied
ADD COMP generiert, und die Wahlverriegelung 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ählbit |
Das Paritätsprüfregister 177 nach Fig. 20 steht insofern in
einer Beziehung zu der Paritätserzeugungs- 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 abgebrochen. Bei der Eingabe generiert die gemeinsame
Schnittstellenlogik 181 auf ähnliche Weise das Paritätssignal,
das durch die Paritätslogik 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-Schienen-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.
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 Paritätsfehler
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-,
IIO- 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 Freigabeverriegelung 175
bei dem Zugang 43 die Aufgabe, es dem Ein-Ausgabe-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 sind. Die Freigabeverriegelung 175 ermöglicht
dies, indem sie nicht zuläßt, daß der Zugang 43 der
Ein-/Ausgabeleitung 39 irgendwelche Signale zuführt.
Die Freigabeverriegelung 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 Freigabeverriegelung 175
kann diese Einrichtung nicht programmäßig zurückgesetzt werden.
Zu dem Zugang 43 gehört ein Zustandsmultiplexer 195, der den
weiter obenerwä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ß diesen
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 Eingabe-/Ausgabekanal 109, wenn die Wahlverriegelung
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 Gerä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 173, eine erforderliche Eingabefunktion aus
der T-Schiene und ein Signal der Stromversorgungsschaltung 182.
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 Freigabeleitung 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 Stromversorgungsschaltung
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 speziellen 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
integrierten Schaltkreis in den Abstandzustand gebracht. Dies
gewährleistet, daß die Treiberschaltung 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 Spannungsüberwachungsschaltung
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 Spannungsüberwachungsschaltung 182 sind
aus Fig. 25 ersichtlich.
Die Stromversorgungschaltung hat die Aufgabe, zwei verschiedene
Spannungspegel der Quelle für eine Spannung von 5 V zu
detektieren.
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.
Der zweite Spannungspegel, der durch die Spannungsüberwachungsschaltung
gefühlt wird, ist ein Wert, der Auftritt, wenn die
zugeführte Spannung zunimmt. Dieser zweite 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 Spannungsüberwachungsschaltung 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 Wege die
betreffenden Schienensignale des Geräteanschlusses 41 zu sperren.
Die Spannungsüberwachungsschaltung 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 Fig. 25 dargestellten Spannungsüberwachungsschaltung 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 Schienensteuereinrichtung
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 Ausgangssignale
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 Ausgangsstufen 218, 220 und 222 werden in Verbindung
mit den Schnittstellenvorrichtungen eines Zugangs 43 des Gerä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 Abschaltzustand
in den Einschaltzustand ü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 Ausgangsstufen
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
dies der Fall ist, scheint der Widerstandswert des Widerstandes
202 kleiner zu sein als 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 wird.
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 Ausgangstreiberstufen 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
Rauschen bei der Schaltung zu irgendwelchen Schwingungen führt,
die fälschlicherweise anzeigen, daß die Stromzufuhr versagt.
Die Spannungsüberwachungsschaltung 182 nach Fig. 25 ermöglicht ein
sehr genaues Fühlen der beiden genannten Spannungen, mittels
welcher der jeweilige Zustand nachgewiesen wird, d. h., ob das
Ausgangssignal eine 1 oder eine 0 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 auftretene Temperaturänderungen zu kompensieren.
Bei der Schaltung 182 bildet die Zenerdiode 192 das einzige
kritische Schaltungselement, bei dem eine Kompensation
infolge seiner anfänglichen Toleranzen 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 Verbindungsleitungen, die in Fig. 19
und 20 insgesamt mit 179 bezeichnet sind. Hierzu gehören die
einzelnen Leitungen 201, von den 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-Schiene
und weitere ähnliche Leitungen, die im Hinblick auf die
verwendete Hardware erforderlich sind.
Die Leitungen 201, 203, 205, 207 und 209 entsprechen den
mit den gleichen Bezeichnungen versehenen Leitungen nach
Fig. 21, wo die gemeisame Schnittstellenlogik 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
Eigentumsverriegelung 185, mittels welcher die logische Verbindung zwischen
der gemeinsamen Schnittstellenlogik 181 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 Eigentumsverriegelung 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öschen der 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
für den Eigentumsübernahmebefehl, den Löschbefehl usw. gilt.
Auf diese Weise erhält der Eingabe-/Ausgabekanal 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 ein harte
Löschung des inneren Zustandes der Steuereinrichtung bewirken.
Der Zustand der Eigentumsverriegelung 185 nach
Fig. 21 bestimmt auch, welcher Zugang Informationen durch
den Multiplexer 211 leiten kann. Sobald die Eigentumsverriegelung
185 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 bewirkt ebenfalls, 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 der Eigentumsverriegelung
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äß Fig. 21 über eine Ausgabeschiene 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 (Fig. 20) zurückgeführt zu werden und
schließlich zu dem Kanal 109 eines Prozessormoduls 33 zu gelangen.
Eine Leitung 221 führt die Vorrichtungsadresse von
dem betreffenden Zugang 43 zu der Eingabeschiene 201 und
von dort aus zu dem Eingabe-/Ausgabekanal 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 Ausnutzung der 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 109
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äß Fig. 23 wird dies als "Pufferschwelle" T
bezeichnet.
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-Ausgabe-Schiene, die
Anzahl der Geräteanschlüsse von niedrigerer Priorität an dieser
Schiene und die maximal zulässige Datenbündellä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 Wiederanschlußanforderung gestellt wird, variabel
gemacht, wobei sich die tatsächliche Einstellung nach den Merkmalen
der Geräteanschlüsse mit höherer bzw. niedrigerer Priorität
bei einer bestimmten Ausbildung des Ein-Ausgabe-Kanals
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
-RD angedeutet ist, und diese Datenübermittlung setzt
sich fort, ohne daß ein Wiederanschluß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 -RD 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 -RD
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-Ausgabe-Kanal mit seiner Wiederanschlußfolge
für diesen Geräteanschluß beginnt.
An dem Punkt 227 ist das erste Datenwort durch den Kanal 109 zu
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 -RD zu übertragen, so
daß die Gesamtgeschwindigkeit der Eingabe in den Puffer 189
der Linie mit dem Anstieg RC-RD 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 -RC
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 Kanals,
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
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.
Werden Daten aus dem Eingabepuffer 231 in den Pufferspeicher
233 überführt, ist 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 Füllungs- 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 0 bis 15
an einem Eingang und die abnehmende Beanspruchung von 0 bis 15
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 dem Steuerteil 187 des Geräteanschlusses in Verbindung
steht, Signale zugeführt, um einen Zugriff zu dem Pulver 189
anzuzeigen.
Der Multiplexer 245 wählt eine dieser Leitungen als Aufforderung
zur Vergrößerung des Füllungsgrades des Puffers, und
er wä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) beim 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.
- 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
nachstehenden drei Vorgänge durchzuführen.
- A. Die Puffersteuerlogik 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 sich an der Schwellenwerttiefe T
befindet, wie es in Fig. 22 bei den Ausgabeleitungen 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 Schwellenwerttiefe
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ßaufforderung 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
stellen.
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. der Eingabe
leer) erreicht. Das Signal STI meldet dem Kanal 109, daß der
Geräteanschluß 41 beabsichtigt, die Datenbündelü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 Mulitplexer 245 zwei Sätze von
Gattern 245A und 245B, Anforderungs-Kippschaltungen 267A und
267B, eine Taktkippschaltung 269, Anforderungs-Synchronisationskippschaltungen
271A und 271B, eine 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
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 Anforderungs-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 Anforderungs-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 obengenannten 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-Ausgabesystems.
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, z. B. einer
Platte 45 nach Fig. 1, eine Folge EIO nach Fig. 15 zur Einleitung
der Übermittelung.
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-Ausgabe-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 IIO- oder eine HIIO-Folge ausgibt.
Die IIO-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 IIO-Folge, doch wird sie in Abhängigkeit
von einer Ein-Ausgabe-Unterbrechung von hoher Priorität
ausgegeben.
Der Ein-Ausgabe-Ausführungsbefehl EIO der Zentraleinheit wird
durch die aus Fig. 15 ersichtlichen Zustandsänderungen der
T-Schiene definiert.
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. h., 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 ausgezogenen 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 Zustandsmaschine
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 bestimmten
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.
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
Eingabe-/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
bezeichneten 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 Zustandswort 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-Ausgabe-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.
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-/Ausgabeleitung
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.
Bei einer bestimmten Ausfü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 Zustandsbeschreibungen
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. 1 99999 00070 552 001000280000000200012000285919988800040 0002002740056 00004 998806 die T-Schienen-Funktion
RPOL, wenn die Reaktion auf eine Wiederanschlußanforderung erfolgt,
während die Zentraleinheit 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-Folge 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
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 Geräteanschlü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, wird
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.
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 IIO- 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äteanschlusses 41 mit der höchsten Priorität, der eine Anforderung
stellt.
Der nächste Schritt der Wiederanschlußfolge dient dazu, die
Nummer 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.
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-Ausgabe-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-Ausgabe-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 Übertragungszustand
entspricht.
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 werden 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 Speicher 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 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
verlorengehen 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.
Die Übertragungsadresse gibt gemäß Fig. 12 den logischen Weg
139B an.
Gemäß Fig. 13 überführt der Kanal die Übertragungsadresse in
das Kanalspeicher-Adressenregister 129 und gibt das Byte-Zähl
ergebnis dem Zeichenzählregister 131 ein.
Je nach der Übertragungsrichtung, die der Kanal dem Geräte
anschluß während des RAC-Zustandes nach Fig. 16 entnommen hat,
bringt der Kanal die T-Schiene entweder in den Eingabezustand
oder den Ausgabezustand, so daß Daten zwischen dem Gerätean
schluß 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 Daten
bündelübertragung übertragen wird, um die nächste Adresse im
Puffer und die Anzahl der noch zu übertragenden Zeichen anzu
geben. Am Ende eines Datenbündels wird der Inhalt des Kanal
speicher-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 Aus
tauschvorgangs, 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 Pufferbereich im Spei
cher 107 eingegeben wird.
Bei einer Ausgabeübertragung entnimmt der Kanal 109 dem Puffer
bereich 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 Gerätean
schluß durch, der das Wort in sein Schnittstellen-Datenregister
213 nach Fig. 21 übernimmt.
Die hohe Arbeitsgeschwindigkeit des Ein-Ausgabe-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
demSpeicher 107 gleichzeitig das nächste Wort anfordert, über
nimmt 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 über
lappt werden.
Während der Übertragung eines Datenbündels hat der Kanal das
Zählergebnis des Zeichenzählregisters 131 für jedes übertra
gene 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ün
dels 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ähl
ergebnis den Wert 1, aktiviert der Kanal die EOT-Leitung 165
und die Auffülleitung 167, um das Ende der Übertragung durch
ein ungeradzahliges Byte anzuzeigen.
Erreicht das Zeichenzählergebnis den Wert 2, aktiviert der
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 ge
mäß Fig. 14 in der Leitung 159 das Eingabestoppsignal STI er
scheinen läßt; außerdem läßt der Geräteanschluß 41 in der
Leitung 169 das Auffüllsignal PADI erscheinen, wenn der Kanal
das Auffüllausgabesignal 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äte
anschluß 41 das Datenbündel dadurch beendet, daß er in Abhängig
keit von dem Signal SVO (Ausgabebedienung) das Eingabestopp
signal 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über
tragung 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 letz
ten 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übertra
gung abgeschlossen wird, wie es in Fig. 16 durch die mit OUT
bzw. IN bezeichneten Kreise angedeutet ist, aktualisiert der
Kanal 109 die IOC-Tabelleneingänge in der beschriebenen Weise,
und er kehrt gemäß Fig. 16 in den Leerlaufzustand NOP zurück.
Wie erwähnt, kann die Übertragung auch durch einen Fehlerzu
stand abgeschlossen werden.
Während der Übertragung eines Datenbündels können verschie
dene 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 es möglich, daß der Geräteanschluß 41 nicht in
Abhängigkeit von einem Auffüll-Ausgabesignal PADO des Kanals
109 ein Auffüllungs-Eingabesignal PADI zurückleitet.
Drittens kann der Kanal 109 bei der D-Schiene 161 einen Pari
tä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-Tabelleneingänge vorgeschrie
bene Pufferbereich in eine Seite übertreten, die durch ihre
Karte als nicht vorhanden bezeichnet wird (siehe die Beschrei
bung 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äts
fehlerprüfung beim Speichersystem).
Siebtens kann das Speichersystem einen nicht korrigierbaren
Paritätsfehler nachweisen, wenn der Kanal 109 Zugriff zum
Speicher nimmt (siehe 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 bezeich
net, im Fehlerfeld des zweiten Wortes des vorstehend beschrie
benen IOC-Tabelleneintrags.
Wenn ein einzelner Fehler auftritt, wird somit die Nummer die
ses Fehlers im Fehlerfeld des IOC-Tabelleneintrags vermerkt.
Treten mehrere Fehler auf, wählt der Kanal 109 denjenigen Feh
ler, 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 Ge
räteanschluß 41 kann versuchen, sich wieder an den Kanal anzu
schließen, wenn das Zählwort in der IOC-Tabelle eine Null ist.
In diesem Fall macht es der Kanal dem Geräteanschluß unmög
lich, 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 besteht ein wichtiges Merkmal der Erfindung, denn es
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 Kanal
fehlerfeld 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übertra
gung durch ein Abbruchsignal ABTD des Kanals abgeschlossen
oder beendet worden ist, oder daß dies durch einen Fehlerzu
stand bei dem Geräteanschluß 41 oder der betreffenden Vor
richtung bewirkt worden ist, oder daß sich bei dem Geräte
anschluß 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 Rücksetzzustand entspricht, da kein Strom zuge
führt wurde, oder da die Stromzufuhr ausgefallen war, so daß
der Modul durch die Stromversorgungsschaltung 182 zurückge
setzt wurde.
In Abhängigkeit von einer Unterbrechung gibt das im Prozessor
modul 33 ablaufende Programm einen Ein-Ausgabe-Abfragebefehl
IIO oder einen Ein-Ausgabe-Abfragebefehl mit hoher Priorität
(HIIO) über die Ein-Ausgabe-Schiene 39 aus.
Der Befehl IIO wird in Abhängigkeit von einer Ein-Ausgabe
unterbrechung 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-Ausgabe
unterbrechung von hoher Priorität ausgegeben, d. h. einem
Befehl, der gemäß Fig. 14 über eine Unterbrechungsanforderungs
leitung HIRQ bzw. 149 mit hoher Priorität angefordert wird.
Gemäß Fig. 12 führt der Mikroprozessor 113 die Befehle EIO,
IIO oder HIIO aus, indem er die Steuerung der Kanalsteuer
logik 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 IIO-Befehl führt den Abrufvorgang mittels einer Folge
durch, bei der die T-Schienen-Funktion mit dem Unterbrechungs
abruf 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 Unterbrechungsanfor
derung stellt.
Die Folge setzt sich gemäß Fig. 17 mit dem Zustand RIC (Ur
sache der Leseunterbrechung) fort. Der Geräteanschluß 41 rea
giert, indem er den vorrichtungsabhängigen Zustand gemäß
Fig. 14 über die D-Schiene 161 zurückmeldet.
Gemäß Fig. 12 liest der Mikroprozessor 113 den Zustand der
D-Schiene 161 ab und gibt ihn dem oberen Ende des Register
stapels 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 Zustandsfeld mit vier Bits bezeichnen je zwei Bits
jeweils den Abbruch ABTD bzw. den Paritätsfehler, welch letz
terer 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 eine 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
(Abbruchfehler) über. Hierdurch wird der Geräteanschluß 41 ab
geschaltet, 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.
Wie erwähnt, besteht ein Ein-Ausgabevorgang zwischen einem
Prozessormodul und einer Ein-Ausgabevorrichtung in einem typi
schen Fall aus einer Gruppe von Folgen, z. B. einer EIO-Folge,
auf die eine gewisse Anzahl von Wiederanschluß- und Datenüber
tragungsfolgen folgen, wobei eine IIO-Folge den Abschluß bil
det. Hierbei können Folgen, die sich aus verschiedenen Ein-
Ausgabevorgängen ergeben, zeitlich miteinander verzahnt werden,
so daß sich bei mehreren Vorrichtungen die Ein-Ausgabevorgänge
scheinbar gleichzeitig abspielen. Somit ist ein gleichzeitiger
Zugriff zu einer großen Anzahl von Vorrichtungen möglich, wo
bei sich die genaue Anzahl nach der Bandbreite des Kanals und
der tatsächlichen Bandbreite richtet, mit der jede Vorrichtung
arbeitet.
Das vorstehend beschriebene Ein-Ausgabesystem 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 Zusammenar
beiten mit zahlreichen verschiedenen Vorrichtungen ermöglicht,
b) eine maximale Ausnutzung der Systemteile, c) ein Systemaufbau,
der bei einem Multiprozessorsystem den Zugriff zu Peripherie
gerä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 in
standzusetzen und zu erweitern, sowie e) ein maximaler Durchsatz
des Systems (im Gegensatz zu einer Betonung lediglich des Prozes
sordurchsatzes oder des Durchsatzes des Ein-Ausgabesystems) bei
einem direkt betreibbaren Transaktionssystem, bei dem eine
große Anzahl von gleichzeitig ablaufenden Vorgängen durch das
Ein-Ausgabesystem und die Zentraleinheit verarbeitet werden muß.
Die Möglichkeit des flexiblen Zusammenarbeitens mit den ver
schiedensten Vorrichtungen wird dadurch erreicht, daß bei dem
erfindungsgemäßen System nicht von der Annahme ausgegangen wird,
daß Vorrichtungen einer bestimmten Art bestimmte Merkmale auf
weisen. Vielmehr bietet die Erfindung einen Systemaufbau und
eine Arbeitsweise, die den Einsatz der verschiedensten Vor
richtungen ermöglichen.
Die Erfindung gestattet eine maximale Ausnutzung der System
teile, und zwar in erster Linie dadurch, daß die Speicherband
breite maximal ausgenutzt wird. Bei jeder Vorrichtung wird mit
einer möglichst kleinen Speicherbandbreite gearbeitet. Dies er
möglicht es, einer bestimmten Ein-Ausgabe-Schiene eine relativ
große Anzahl von Vorrichtungen zuzuordnen. Wegen der konstruk
tiv gegebenen Arbeitsgeschwindigkeit der Ein-Ausgabeschiene und
der erfindungsgemäßen Puffertechnik wird jede einzelne Übertra
gung 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 Über
tragung nur minimale Gemeinkosten. Hierdurch wird die Aus
nutzung der Kanalbandbreite auf ein Maximum gebracht, und außer
dem wird die Benutzung schnell arbeitender Vorrichtungen er
möglicht.
Die Erfindung ermöglicht einen störungsfreien Zugriff zu den
Peripheriegeräten. Zu jedem Peripheriegerät führen redundante
Datenwege, und das Auftreten von Störungen wird jeweils auf
einen bestimmten Datenweg begrenzt. Das Versagen eines be
stimmten Moduls innerhalb eines Datenwegs führt nicht zu einer
Beeinträchtigung des Betriebs eines Moduls, der zu einem ande
ren zu der Vorrichtung führenden Weg gehört.
Es stehen umfassende Fehlerprüfungen 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 eige
nen Puffer oder den Speicher des Systems kontaminiert. Zu
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ätenanschluß daran hindert, sich Zugang zu irgend
einem 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ögli
chen.
Der Betrieb des Geräteanschlusses wird scharf abgegrenzt, wenn
die Stromquelle an- oder abgeschaltet wird, um die Ein-Ausgabe-
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 ge
macht, 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 Trans
aktionssystems.
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 jedes Daten
bü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.
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 erforder
lich, das Prozessorsystem außer Betrieb zu setzen, wenn an
einem Teil des Systems Wartungsarbeiten ausgeführt werden
müssen. Ferner ist es bei vielen bekannten Systemen möglich,
daß eine Störung bezüglich der Stromversorgung zur Außerbe
triebsetzung des gesamten Prozessorsystems führt.
Zu dem erfindungsgemäßen Stromverteilungssystem gehören meh
rere 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 vorste
henden Definition befinden.
Gemäß der Erfindung kann jeder Prozessormodul oder jeder Ge
räteanschluß abgeschaltet werden, so daß während des Betriebs
des Systems eine Wartung beim abgeschalteten Zustand des Pro
zessormoduls oder eines Geräteanschlusses möglich ist, während
der Direktbetrieb des Multiprozessorsystems im übrigen weiter
läuft. Diese Wartung während des Direktbetriebs kann unter
vollständiger Erfüllung der Sicherheitsvorschriften der Ver
sicherungsgesellschaften durchgeführt werden.
Ferner ist bei dem Spannungsverteilungssystem nach der Erfin
dung jeder Geräteanschluß so angeschlossen, daß ihm die Be
triebsspannung 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
von der einen oder anderen Spannungsquelle 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 Ge
räteanschluß niemals eine Unterbrechung erforderlich ist.
Ein Spannungsversorgungssystem mit einer primären Spannungs
quelle und einer alternativ einzusetzenden Spannungsquelle für
jeden einzelnen Geräteanschluß 41 mit je zwei Zugängen ist in
Fig. 30 dargestellt und insgesamt mit 301 bezeichnet.
Das Spannungsversorgungssystem 301 gewährleistet, daß für je
den Geräteanschluß 41 mit zwei Zugängen sowohl eine primäre
Spannungsquelle als auch eine Ersatzspannungsquelle zur Ver
fügung steht. Da für jeden Geräteanschluß zwei getrennte unab
hängige Spannungsquellen vorhanden sind, bewirkt der Ausfall
der primären Spannungsquelle für einen bestimmten Gerätean
schluß nicht, daß dieser Geräteanschluß zusammen mit den damit
verbundenen Vorrichtungen betriebsunfähig wird. Vielmehr be
wirkt gemäß der Erfindung eine Schalteinrichtung eine automa
tische Umschaltung auf die Ersatzspannungsquelle, so daß der
Betrieb des Geräteanschlusses fortgesetzt werden kann. Somit
arbeitet das Spannungsverteilungssystem mit dem Doppelzugangs
system des Geräteanschlusses zusammen, um einen ununterbroche
nen 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 Fig. 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ätean
schlü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 zusammen
setzende Schiene 305 auf, die zur Versorgung der Zentralein
heit und des Speichers eines bestimmten Prozessormoduls dient.
Jeder Geräteanschluß 41 ist zwei der Spannungsquellen 303 über
eine Primärleitung 307 und eine Ersatzleitung 309 sowie einen
automatischen Schalter 311 zugeordnet.
Ferner gehört zu jedem Geräteanschluß 41 ein manuell betätig
barer Schalter 313 zwischen dem Geräteanschluß und den Lei
tungen 307 und 309.
Die Schalter 311 und 313 sind in Fig. 31 mit weiteren Einzel
heiten dargestellt.
Fig. 32 zeigt weitere Einzelheiten des Aufbaus einer Spannungs
quelle 303.
Gemäß Fig. 32 weist jede Spannungsquelle 303 einen Eingangs
anschluß 315 zum Zuführen von Netzstrom auf. Der Anschluß 315
ist mit einem Gleichrichter 317 verbunden, und in der Aus
gangsleitung 319 des Gleichrichters erscheint eine unterbrech
bare 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 Aus
gangsleitung 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 Ausgangs
spannungen handelt es sich bei dem erfindungsgemäßen System
um nicht unterbrechbare Ausgangsspannungen, d. h., diese Lei
tungen sind mit der Zentraleinheit und dem Speicher verbunden,
wobei Halbleiterspeicher verwendet werden. Bei einem Halblei
terspeicher darf die Spannungszufuhr nicht unterbrochen werden,
denn beim Verlust der Spannung gehen sämtliche in dem Halblei
terspeicher gespeicherte Daten verloren.
Die Spannungszufuhr über 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 Zentralein
heit zugeführt, bei denen es sich nicht um Halbleiterspeicher
handelt, und nur solchen Teilen des Speichers, die als Kern
speicher 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 Ersatz
spannungsquelle versorgt.
Da die Spannungszufuhr über die Leitungen 325 und 327 nicht
unterbrochen werden darf, ist gemäß der Erfindung eine Hilfs
batterie auf der Eingangsseite des Gleichspannungswandlers
323 vorhanden. Hierzu gehört ein Batterie- und Lademodul 329,
der über eine Leitung 331 und eine Diode 333 an den Gleich
spannungswandler 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ährleistet, 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 Aus
gangsleitungen 319, 325 und 327 keine ausreichende Spannung
zugeführt wird. Die Warnschaltung 335 führt über eine Leitung
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 unterbrech
baren 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 wer
den; die Hilfsbatterie nach Fig. 2 gewährleistet, daß die
Spannungszufuhr über die Leitungen 325 und 327 nicht unter
brochen 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 Spannungs
quellen betriebsfähig bleiben. In einem solchen Fall begrenzt
das erfindungsgemäße Spannungsverteilungssystem 301 die
Wirkung des Versagens einer Spannungsquelle 303 auf den Ver
lust einer bestimmten zugehörigen Zentraleinheit und des be
treffenden Speichers, und der automatische Schalter 311 be
wirkt eine automatische Umschaltung von der ausgefallenen
Spannungsquelle auf die Ersatzspannungsquelle, um den zuge
hörigen Geräteanschluß 41 in Betrieb zu halten. Der vorher
mit der ausgefallenen Spannungsquelle verbundene Gerätean
schluß 41 kann somit weiterhin mit den übrigen Prozessormodu
len und den Teilen des Multiprozessorsystems zusammenarbeiten,
da er automatisch durch die Ersatzspannungsquelle versorgt
wird.
Gemäß Fig. 31 gehören zu jedem automatischen Schalter 311 zwei
Dioden, und zwar eine der Primärleitung 307 zugeordnete Diode
341 und eine der Ersatzleitung 309 zugeordnete Diode 343.
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 Spannungs
quelle aus zu ermöglichen und die Spannungsquellen gleichzei
tig gegeneinander zu isolieren. Hierdurch wird verhindert, daß
eine ausgefallene Spannungsquelle zum Ausfallen der betreffen
den anderen Spannungsquelle führt.
Beim normalen Betrieb läßt jede Diode eine bestimmte Strom
menge durch, so daß jeder Geräteanschluß 41 praktisch jeweils
sowohl durch die primäre Spannungsquelle als auch die Ersatz
stromquelle gespeist wird.
Wenn eine der Spannungsquellen versagt, wird die vollständige
Versorgung durch die andere Spannungsquelle übernommen, und
dieser Übergang erfolgt 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
Ausgleichsdioden 339 eingeschaltet, um zu gewährleisten, daß
die Spannung jenseits dieser Dioden, die jeder Zentraleinheit
zugeführt wird, genau 5 V beträgt.
Der Schalter 313 ermöglicht es, einen Geräteanschluß 41
von beiden zugehörigen Spannungsquellen abzuschalten, wenn dies
zu Wertungszwecken erforderlich ist.
Die Einzelheiten des Schalters 313 sind aus Fig. 31 ersichtlich.
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ß 31
zuführt.
Es ist wichtig, daß sowohl das Einschalten als auch das Ab
schalten 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 Ver
bindung mit dem Widerstand 352 zur Wirkung, um die erforder
liche zügige rampenförmige Steigerung der Spannung herbeizu
führen, wenn der Schalter 345 geschlossen wird, um den Transi
stor 347 einzuschalten.
Wird der Transistor 347 durch Öffnen des Schalters 345 ausge
schaltet, kommt der Rückkupplungskondensator 348 in Verbindung
mit dem Widerstand 350 zur Wirkung, damit die Spannung gleich
mäß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 ver
ringert werden.
Wie weiter oben bei der Beschreibung des Ein-Ausgabe-Systems
und der Geräteanschlüsse 41 mit je zwei Zugängen erwähnt, ge
hört zu jedem Geräteanschluß 41 eine Spannungsüberwachungs
schaltung 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
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 unter
brochen 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 auf
genommen worden ist, so daß der Geräteanschluß mit der vorge
schriebenen Spannung von 5 V versorgt wird.
Weitere Einzelheiten der Spannungsüberwachungsschaltung 182
nach Fig. 25 sind bereits weiter oben in Verbindung mit dem
Ein-Ausgabe-System und den Geräteanschlüssen mit je zwei Zu
gä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 elektri
schen 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 Spannung 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, 397 gehören gemäß Fig. 30
die Primärleitung 307 und die Ersatzleitung 309. Bei einer
bestimmten Ausführungsform der Erfindung handelt es sich bei
der Schiene 305, 307 tatsächlich um eine aus neun Lagen
aufgebaute Schiene, zu der eine einzige Erdungsleitung und
acht Spannungsschichten V1-V8 nach Fig. 33 gehören.
Jede Potentiallage 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 Prozessor
modul am linken Ende von Fig. 3 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 Lagen V1-V8 und eine gemeinsame Erdungs
leitung 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 Lagen in
Abständen längs der waagerechten Schiene verteilt sind, jeden
Geräteanschluß 41 zwei beliebigen Spannungsquellen 303 zuzu
ordnen, 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ätean
schluß 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 Span
nungsquellen 303 verbunden werden, von denen die eine die
primäre Spannungsquelle und die andere die Ersatzspannungs
quelle bildet.
Somit bietet das erfindungsgemäße Spannungsverteilungssystem
mehrere wichtige Vorteile.
Das Spannungsverteilungssystem ermöglicht die Durchführung von
Wertungsarbeiten während des Direktbetriebs, da ein Prozessor
modul 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 abgeschal
teten Systemteil, während sich der verbleibende Teil des Multi
prozessorsystems im Betrieb befindet.
Jeder Geräteanschluß ist zwei getrennten Spannungsquellen zu
geordnet, 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 Versorgung durch die
beiden Spannungsquellen auf die Versorgung durch nur eine
Spannungsquelle, so daß der Geräteanschluß ohne Unterbrechung
in Betrieb gehalten wird.
Gemäß Fig. 1 enthält jeder Prozessormodul 33 des Multipro
zessorsystems 31 einen Speicher 107, der in Fig. 34 mit weite
ren Einzelheiten dargestellt ist.
Der Speicher 107 jedes Prozessormoduls 33 ist sowohl der
Zentraleinheit 105 als auch dem Eingabe-/Ausgabekanal 109 des
Moduls zugeordnet. Der Speicher ist für die Zentraleinheit
und den Kanal über zwei Zugänge zugänglich. 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-Ausgabe-Kanal 109 kann ebenfalls mit dem Speicher
direkt zusammenarbeiten, und zwar unter Umgehung der Zentral
einheit, um Datenübertragungen zu und von einem Geräteanschluß
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 Zeit
punkt versuchen, sich Zugang zum Speicher zu verschaffen.
Daher können die Zentraleinheit und der Kanal ihre getrennten
Funtkionen 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-Aus
gabe-Datenübertragungen zusammenzuarbeiten. Während der
eigentlichen Ein-Ausgabe-Datenübertragung kann die Zentral
einheit 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 nachzu
weisen.
Die sechs Fehlerkorrekturbits ermöglichen den Nachweis und
die Korrektur von Einzelbitfehlern sowie den Nachweis sämtli
cher Doppelbitfehler.
Der physikalische Speicher ist begrifflich in aneinander an
grenzende Blöcke zu je 1024 Wörtern unterteilt, die im folgen
den 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 Adressenbe
reich des physikalischen Speichers, der sich von Null bis
262 143 erstreckt, 18 physikalische Adresseninformationsbits.
Wie aus der folgenden Beschreibung ersichtlich, ist jedoch das
erfindugsgemäße Multiprozessorsystem grundsätzlich so aufge
baut, daß mit 20 physikalischen Adresseninformationsbits ge
arbeitet werden kann.
Bei einer Ausführungsform der Erfindung ist der physikalische
Speicher physikalisch in physikalische Module zu je 32 768 Wör
tern unterteilt. Somit stehen bei acht 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 Systemcodes. Alle Befehle der Zentraleinheit
arbeiten ausschließlich mit diesen logischen Adressen im Unter
schied zu physikalischen Adressen. Daher braucht sich ein Pro
grammierer nicht mit einer tatsächlichen physikalischen Adresse
zu befassen, sondern er kann ein Programm schreiben, das aus
schließ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
Adressenbereich 64 logische Seiten zu je 1024 Wörtern.
Bei dem erfindungsgemäßen Speichersystem braucht keine be
stimmte Entsprechung zwischen einer logischen Seite und einer
physikalischen Seite zu bestehen. Somit brauchen die verschie
denen logischen Seiten, die ein Betriebssystemprogramm oder ein
Anwenderprogramm bilden, nicht in aneinander angrenzenden phy
sikalischen 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 würden, denn der
physikalische Speicher kann durch einen sekundären physikali
schen Speicher ergänzt werden.
Zweitens ermöglicht es die virtulelle Speicherung, Adressenräume
mehrerer Benutzer (Mehrprogrammbetrieb) gemeinsam dem physikali
schen Speicher zuzuordnen, und die einzelnen Benutzer brauchen
sich nicht mit der Zuteilung physikalischer Speicherteile zwi
schen 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 Speicherraum
eines anderen Benutzerprogramms nicht lesen oder ihm Daten ein
geben kann. Dies wird durch das verwendete Seiten- und Karten
system erreicht. Wenn ein Benutzerprogramm abläuft, gibt die
Karte für dieses Programm nur Hinweise auf die Speicherseiten
des betreffenden Benutzerprogramms, zu denen bis zu 64 Code
seiten und 64 Datenseiten gehören. Das betreffende Benutzerpro
gramm 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 Schreib
zwecken zu benutzen.
Außerdem verhindert die Tatsache, daß die Codeseiten unveränder
bar 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 Seiten gibt, sowie die Tat
sache, 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 Umsetzung einer 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 Nachschlagevor
gang innerhalb einer Karte gewonnen. Diese physikalische Seiten
nummer 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.
Die Unterteilung der logischen Adressen in diese vier getrenn
ten 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 Be
zeichnungen.
Karte 0: Benutzerdatenkarte. Mittels dieser Karte werden alle
Adressen für variable Benutzerdatenbereiche übersetzt.
Karte 1: Systemdatenkarte. Diese Karte ähnelt der Benutzer
datenkarte, und außerdem bezeichnen alle Bezugnahmen auf den
Speicher durch den Ein-Ausgabe-Kanal, das Handhabungsmikropro
gramm für die Interprozessorschiene und das Unterbrechungs
handhabungs-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 Betriebs
systemprogramm. Sämtliche Betriebssystembefehle und konstanten
Daten werden über die Systemcodekarte gewonnen.
Jeder Kartenteil weist 64 Eingänge auf, die den 64 möglichen
Seiten in jedem logischen Adressenbereich entsprechen. Jeder
Eintrag enthält die nachstehend aufgeführten Informationen.
- 1. Das Feld für die physikalische Seitennummer, deren Wert zwischen 0 und 255 liegen kann.
- 2. Ein ungeradzahliges Paritätsbit für den Karteneintrag, das immer dann durch die Kartenlogik erzeugt wird, wenn ein Karten eintrag geschrieben wird.
- 3. Ein Feld für die Geschichte der Bezugnahme. Dieses Feld um faßt Bezugsbits, und das höchste dieser Bits wird auf 1 gesetzt, wenn jeweils von der dem Karteneintrag entsprechenden Seite Ge brauch gemacht wird.
- 4. Ein schmutziges Bit. Dieses schmutzige Bit wird auf 1 ge
setzt, wenn ein Schreibzugriff zu der entsprechenden Speicher
seite erfolgt.
Die Bezugsbits und das schmutzige Bit werden durch die Speicher verwaltungsfunktion des Betriebssytems benutzt, um zum Wählen einer Seite zur Überlagerung beizutragen. Ferner bietet das schmutzige Bit eine Möglichkeit, unnötige Umlagerungen von Da tenseiten in den sekundären Speicher zu vermeiden. - 5. Ein Abwesenheitsbit. Ein solches Abwesenheitsbit wird anfäng lich durch das Betriebssystem auf 1 gesetzt, um die Tatsache zu bezeichnen, daß eine Seite im Hauptspeicher fehlt. Ein Zugriff zu einer Seite, bei der dieses Bit auf 1 gesetzt ist, bewirkt eine Unterbrechung bei der Seitenfehler-Unterbrechungseinrich tung des Betriebssystems, um bei dem Betriebssystem die Verwal tungsfunktion des virtuellen Speichers zu aktivieren. Das Ab wesenheitsbit 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
drei Befehle mit den Bezeichnungen SMAP, RMAP und AMAP ver
wendet.
Der Befehl SMAP (Karteneintrag setzen) wird durch die Speicher
verwaltungsfunktion des Betriebssystems benutzt, um einen Kar
teneintrag einzufügen. Bei diesem Befehl werden zwei Parameter
benötigt, und zwar die Karteneintragadresse und die einzufügen
den Daten.
Der Befehl Rmap (Karteneintrag lesen) wird durch die Speicher
verwaltungsfunktion des Betriebssystems benutzt, um einen Kar
teneintrag 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 Bezugsnahmgeschichtefeld eines Karteneintrags um eine
Stelle nach rechts versetzt wird. Dieser Befehl wird durch die
Speicherverwaltungsfunktion des Betriebssystems benutzt, um
Bezugnahmegeschichteinformationen bereitzuhalten, die als Hilfs
mittel 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 Seitenfehler
unterbrechungseinrichtung des Betriebssystems eine Unterbrechung.
Zu einer Seitenfehlerunterbrechungsfolge gehören die nachste
hend genannten Vorgänge.
- 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 Unterbrechungs parameter, der die Kartennummer und die logische Seiten nummer bezeichnet, in eine dem Betriebssystem bekannte Speicherstelle ein. Dann wird der gegenwärtige Zustand in einem Unterbrechungsstapelmarkierer im Speicher zwischen gespeichert.
- 3. Die Seitenfehlerunterbrechungseinrichtung tritt in Tätig keit. Wenn der Seitenfehler infolge einer Bezugnahme außer halb des logischen Adressenraums des Programms aufgetreten ist, 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 Informa tionen der physikalischen Seite und ein Abwesenheitsbit 0 werden in den Karteneintrag eingefügt. Wenn diese Speicher verwaltungsfunktion abgeschlossen ist, wird der Zustand, der zu dem Seitenfehler führte, wieder hergestellt.
- 4. Der Befehl, der vorher den Seitenfehler verursachte, wird erneut durchgeführt. Da das Abwesenheitsbit im Kartenein trag der logischen Seite jetzt auf 0 gesetzt worden ist, tritt kein Seitenfehler 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.
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 Systemdaten
karte jeweils in eine physikalische Adresse mit 18 Bits über
setzt.
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 Betriebs
system bereitgestellt, bevor jeweils eine Ein-Ausgabe-Übertra
gung 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 Spei
chers 107 eines Prozessormoduls 33 sowie Verbindungen von dem
Speicher zu der Zentraleinheit 105 und dem Eingabe-/Ausgabekanal
109 des Prozessormoduls.
Gemäß Fig. 34 besitzt das Speichersystem 107 Zugriffzugänge
sowohl für die Zentraleinheit 105 als auch für den Eingabe-/Ausgabe-
Kanal 109, und der Kanal 109 wird daher für einen
Zugriff zum Speicher über die Zentraleinheit 105 nicht benötigt.
Zu dem Speicher 107 gehört gemäß Fig. 34 eine Kartenspeicher
steuerlogik 401, die das Einleiten und die Beendigung des Zu
griffs zu physikalischen Speichermodulen 403 steuert.
Der Speicher 107 weist ferner einen Datenwegteil 405 auf, der
gemäß Fig. 34 noch zu beschreibende Register enthält, die im
Speicher zu schreibende Daten liefern und aus dem Speicher aus
gelesene 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 409 zum Entnehmen physikalischer
Seitennummern gehören.
Somit enthält der Kartenteil 407 ein Prozessorspeicheradressen
register PMA bzw. 411 und ein Kanalspeicheradressenregister
CMA bzw. 129.
Diese beiden Register sind an einen Adressenwähler 415 ange
schlossen.
Der Adressenwähler 415 ist mit der Karte 409 durch eine logische
Seitenadressenschiene 417 sowie unmittelbar mit den Speicher
modulen 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 Seitenver
setzungsschiene 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 Seitenadresse
den Modulen 403. Über die Ausgabeschiene 421 werden die
übersetzten acht höchsten Bits für die Adresse der physikalischen
Seite übertragen.
Der Datenwegteil 405 enthält die folgenden Register: Ein Prozes
sorspeicherdatenregister PMD bzw. 423, ein Kanalspeicherdaten
register CMD bzw. 425, ein Register NI bzw. 431 für den nächsten
Befehl, ein Speicherdatenregister MD bzw. 433 sowie ein Kanal
datenregister CD bzw. 125.
Die Ausgangssignale der Register 423 und 425 werden einem Da
tenwähler 427 zugeführt, dessen Ausgabeschiene 429 die Daten
liefert, welche dem Speicher in den Modulen 403 eingegeben wer
den 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- und Schreiboperationen zur Übertragung von Vollzugs
signalen aus den Speichermodulen sowie zum Abgeben von Fehler
anzeige- oder -kennzeichnungssignalen.
Gemäß Fig. 35 gehören zu dem Kartenteil 407 ferner die Karte
409, ein Kartenseitenregister 441, eine Kartenausgabe-Verriege
lungseinrichtung 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.
Die Kartenspeicher-Steuerlogik 401 steuert das Laden von Re
gistern und das Wählen von Registern durch die Wähler, sie
steuert in Verbindung mit Kartenabwesenheits- und Paritäts
fehler-Ausgangssignalen die Einleitung von Operationen der
Speichermodule 403, und sie führt der Zentraleinheit 105 Unter
brechungssignale zu, wie es in Fig. 35 für Seitenfehler- und
Kartenparitäts-Fehlerunterbrechungssignale angegeben ist; hier
auf wird im folgenden eingegangen.
Bei einer bestimmten Ausführungsform 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 Ausführungsform. Jedoch läßt sich das Speichersy
stem leicht auf eine mit 20 Bits arbeitende Ausführungsform
erweitern, und zwar mit einer physikalischen Seitenadresse von
10 Bits, und dies ist in Fig. 35 bei den gleichen Schienenlei
tungen 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, 461, 463
und 465 gehören; hierbei handelt es sich um einen Benutzerda
tenbereich 459, einen Systemdatenbereich 461, einen Benutzer
codebereich 463 und einen Systemcodebereich 465.
Ferner zeigt Fig. 36 die vier den logischen Adressenbereichen
entsprechenden Kartenteile.
Somit entspricht der Benutzerdaten-Kartenteil 467 dem logi
schen Benutzerdaten-Adressenbereich 459, der Systemdaten-Karten
teil 469 dem logischen Systemdaten-Adressenbereich 461, der
Benutzercode-Kartenteil 471 dem logischen Benutzercode-Adressen
bereich 463 und der Systemcode-Kartenteil 473 dem logischen
Systemcode-Adressenbereich 465.
Gemäß Fig. 36 gehören zu jedem Kartenteil 64 logische Seiten
einträge (Seite 0 bis Seite 63), und jeder Karteneintrag ent
hält 16 Bits, wie es in Fig. 36 für einen einzelnen Kartenein
trag vergrößert dargestellt ist.
Wie in Fig. 36 bei dem vergrößerten Karteneintrag angegeben,
gehören zu jedem Karteneintrag ein physikalisches Seitennummer
feld mit 10 Bits, ein einzelnes Paritätsbit P, ein Bezugnahme-
Geschichtefeld mit drei Bits R, S und T, ein einzelnes schmutzi
ges Bit D und ein einziges Abwesenheitsbit A.
Das durch die 10 höchsten Bits gebildete Feld für die physikali
sche 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ändigkeitsprüfung bei dem Inhalt der Karten
einträ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 Verbin
dung 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.
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 festgesetzt, um eine logische Seite zu kennzeichnen, die im
Hauptspeicher fehlt, jedoch im sekundären Speicher vorhanden
ist, oder um eine Seite zu kennzeichnen, sie sich außerhalb
des logischen Adressenbereichs des betreffenden Benutzers be
findet.
Die in Fig. 36 dargestellten beiden höchsten Bits für den Kar
teneintrag werden bei der dargestellten Ausführungsform der Er
findung nicht verwendet, doch wird von diesen beiden Bits Ge
brauch 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. 36 einzufügen.
Der Befehl SMAP wird gemäß Fig. 12 in der Zentraleinheit 105
durch das Mikroprogramm 115 realisiert, das mit der Kartenspei
cher-Steuerlogik 401 nach Fig. 34 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 Be
fehlsparameter, d. h. die neuen Karteneintragdaten, einzufügen.
Während des Betriebs gibt gemäß Fig. 3 das Mikroprogramm 115
beim ersten Schritt der Folge die neuen Karteneintragdaten dem
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 Kartenschreiboperation 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 durchge
fü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 Karten
wählbits und die Kartenadressenbits.
Die beiden höchsten Bits bestimmen die Kartenwahl, d. h. Benutzer
daten, 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
zugänglich zu machen, werden bei dieser Operation nicht ver
wendet.
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 Karten
paritä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 Seitenein
trag 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 Karten
teile 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 phy
sikalische Seitennummern zu bewirken, nachdem eine Seite aus
dem sekundären Speicher umgelagert worden ist.
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 105 mit der Kartenspeicher-Steuerlogik 401 zusammen,
um mit dem Befehlsparameter eine Stelle in der Karte
409 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 wird 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
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 Daten 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
Karteineintrags 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 Karteneinträge,
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 105 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 NMD bzw. 445 nach Fig. 35 aus, entnimmt
das die Benutzungsgeschichte bezeichnende Feld, d. h. gemäß
Fig. 36 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. 34 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.
Auf diese Weise wird die Durchführung des Kartenalterungsbefehls
AMAP abgeschlossen.
Aufgrund des Kartenalterungsbefehls AMAP ist ein Karteneintrag
aus der Karte ausgelassen worden, das Feld für die Benutzungsgeschichte
ist verschoben worden, 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 Weise 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 7, bei dem alle drei Benutzungsbits
auf 1 gesetzt sind, Zugriffe während jedes der
Intervalle zwischen den vorausgegangenen Seitenfehlerunterbrechungen
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 0 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.
Schließlich zeigt der binäre Wert 0 für das Feld damit 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
Überlagerung 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üngstgen 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 ist und 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
von Daten und das Auslesen von Befehlen aus dem Speicher.
Die Zentraleinheit-Speicher-Zugriffsfolge wird entweder durch
das Mikroprogramm 115 der Zentraleinheit oder die Befehlsabruflogik
der Zentraleinheit 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öchten 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 Registger 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. 34 übertragen wird.
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 409 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 Speicherzugriffsfolge
wird abgeschlossen.
Ist kein Fehler vorhanden, wird die physikalische Seitenadresse
von der Kartenausgangs-Verriegelungseinrichtung 443 aus über
die Schiene 421 zu den physikalischen Speichermulden 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ährend 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
Bezugsbit R gemäß Fig. 35 von der Kartenausgangsverriegelungseinrichtung
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 zugeführte 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 zugeführte
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 Pairätsbit P.
Hierauf bewirkt ein Kartenschreib-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
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 Fig. 34
liefert die logische Adresse, und dieses Register benennt stets
die Systemdatenkarte 469 nach Fig. 35.
Das Kanalspeicherdatenregister CMD bzw. 425 nach Fig. 34 liefert
bei einer Schreiboperation Daten für den Speicher.
Das Kanaldatenregister CD bzw. 125 nach Fig. 34 dient zum Aufnehmen
von Daten aus dem Speicher bei einer Leseoperation.
Bei einem Zugriff des Eingabe-/Ausgabekanals 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
Eingabe-/Ausgabekanal 109 zugeführt, wenn sie bei einem Zugriff des
Eingabe-/Ausgabekanals 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 403 als Halbleiterspeicher
ausgebildet sind.
Wie nachstehend erläutert, ist das erfindungsgemäße Fehlernachweis-
und -korrektursystem, bei dem mit einem Prüffeld mit sechs
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 ober Ü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 Fehlernachweis- und -korrektursystem gehört ein Syndromdecodierer,
bei dem die Logik mit hoher Geschwindigkeit arbeitet,
und der aus einer kleinen Anzahl von Elementen besteht.
Einleitend sei bemerkt, daß bei dem erfindungsgemäßen Fehlernachweis-
und -korrektursystem jedem gespeicherten Datenwort
sechs Prüfbits 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 hande 28828 00070 552 001000280000000200012000285912871700040 0002002740056 00004 28709lt
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 ausgetreten 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
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 Einzelfehlersignal
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 Prüfbitgenerators 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 483 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 437
sechzehn Exklusiv-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
C0 bis C5 mit Hilfe der sechs 8-Bit-Paritätsbäume 503.
Gemäß Fig. 38 erzeugt der am weitesten links angeordnete 8-Bit-
Paritätsbaum 503 das Prüfbit C0 bzw. Null entsprechend der
logischen Gleichung für C0 im unteren Teil von Fig. 38. Daher
ist das Prüfbit C0 das Komplement der Modulo-2-Summe der Datenbits
8 bis 15.
Das Prüfbit C3 wird durch einen 8-Bit-Paritätsbaum 503 entsprechend
der logischen Gleichung für C3 im unteren Teil von Fig. 38
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 Bits, 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
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üfkomparator 483 nach Fig. 37 übertragen.
Gemäß Fig. 39 erzeugt der Prüfbitkomparator 483 sechs Syndrombits
S0 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. S0 das Komplement
der Modulo-2-Summe des Prüfbits Null und der Datenbits 8 bis 15
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 ist.
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.
In der nachstehenden Tabelle sind die 64 möglichen Werte des
6-Bit-Syndromcodes zusammen mit der Bedeutung jedes möglichen
Wertes angegeben.
Somit hat die Anzahl der Einsen im Syndrom die nachstehende
Bedeutung:
0 Bits: | |
kein Fehler | |
1 Bit: | Prüfbitfehler |
2 Bits: | Doppelfehler |
3 Bits: | Datenbit- oder Mehrfachfehler |
4 Bits: | Doppelfehler |
5 Bits: | Mehrfachfehler |
6 Bits: | Doppelfehler |
Wenn z. B. alle Syndrombits S0 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
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 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.
Ein Mehrfachfehlersignal wird der Zeitgeber- und Steuerlogik
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
T0 bis T15 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 Bestandteil
des Mehrfachfehlersignals in der Leitung 497 am Ausgang
der Fehleridentifizierungslogik 511.
Gemäß Fig. 40 gehört zu dem Syndromdecodierer 485 ein Paritätsbaum
509, der die Modulo-2-Summe der Syndrombits S0 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 Syndroms 0,
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 (Prüfbitfehler)
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-Bit-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-
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ätsbaus 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-Syndrom und alle 5-Bit-Syndrome aus. Somit gehören zu den
Einzelfehler-Ausgangssignalen in der Leitung 495 nur Einzelprüfbitfehler
und Einzeldatenbitfehler. Einzelprüfbitfehler brauchen
nicht korrigiert zu werden, und Einzeldatenbitfehler werden
durch die Bitkomplementiereinrichtung 487 nach Fig. 37 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.
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-Gatter 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.
Innerhalb jedes Karteneintrags stehen spezielle Felder für
diese Seitenadressenübersetzung 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
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
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
Verfügung 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
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
Seitenübersetzung.
Die Parität wird bei der tatsächlichen Kartenspeicherung aufrechterhalten
und geprüft. Somit werden sämtliche Fehler bei
der Kartenspeicherung sofort angezeigt, bevor ein fehlerhafter
Betrieb bei dem Prozessormodul möglich ist.
Claims (23)
1. Fehlertolerantes Multiprozessorsystem (31), mit
- - wenigstens zwei getrennten Prozessormodulen (33), von denen jedes eine zentrale Verarbeitungseinheit (Zentraleinheit 105), einen Speicher (107) und einen Eingabe-/Ausgabekanal (109) aufweist;
- - einem Interprozessor-Bussystem, um Befehle und Daten zwischen den Prozessormodul (33) auszutauschen;
- - wenigstens zwei, zwischen den Prozessormodulen (33) angeordnete und für den Anschluß von Peripheriegeräten (45, 47, 49, 51, 53) vorgesehenen Geräteanschlüssen (41), die den Datenaustausch zwischen den einzelnen Prozessormodulen und den zugehörigen Peripheriegeräten steuern;
- - wenigstens zwei von dem Interprozessor-Bussystem getrennte Ein-/Ausgabe-Leitungen (39), die jeweils zwischen dem Eingabe-/Ausgabekanal (109) eines der Prozessormodule (33) und den Geräteanschlüssen (41) verlaufen, um diese Geräteanschlüsse (41) mit wenigstens zwei Prozessormodulen zu verbinden;
dadurch gekennzeichnet, daß
- - das Interprozessor-Bussystem wenigstens zwei parallele Interprozessor-Schienen (35) umfaßt, von denen jede mit den einzelnen Prozessormodulen (33) verbunden ist;
- - Steuereinrichtungen (37) vorgesehen sind, die dem Interprozessor-Bussystem und den Prozessormodulen (33) zugeordnet sind und den Austausch von Befehlen und Daten zwischen den jeweils zwei Prozessormodulen (33) über die eine oder die andere Interprozessor-Schiene (35) steuern;
- - jeder Geräteanschluß (41) wenigstens zwei getrennte Zugänge (43) für die Verbindung mit zwei Prozessormodulen (33) und wenigstens zwei getrennte Anschlüsse (111) für Peripheriegeräte (45, 47, 49, 51, 53) aufweist.
2. Fehlertolerantes Multiprozessorsystem nach Anspruch 1,
dadurch gekennzeichnet, daß jedes Prozessormodul (33)
eine Interprozessor-Steuereinrichtung (55) aufweist.
3. Fehlertolerantes Multiprozessorsystem nach Anspruch 1
oder 2, dadurch gekennzeichnet, daß jede einzelne
Interprozessor-Schiene (35) in Verbindung mit der
zugehörigen Leitungssteuereinheit (Leitungssteuer-,
Schienen-Steuereinrichtung 37) und der
Interprozessor-Steuereinrichtung (55) eines der
Prozessormodule (33) ein selektives
Mehrfach-Verbindungssystem von jedem beliebigen
Prozessormodul zu jedem beliebigen anderen
Prozessormodul bildet.
4. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 1 bis 3, dadurch gekennzeichnet, daß für
jedes Prozessormodul (33) und für jeden Geräteanschluß
(41) zumindest zwei unabhängige Spannungsquellen (303)
vorgesehen sind.
5. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 1 bis 4, dadurch gekennzeichnet, daß
- - jede einzelne Interprozessor-Schiene (35) eine synchron arbeitende Mehrfachleitung ist und
- - die Leitungssteuereinheiten (Leitungssteuer-, Schienen-Steuereinrichtungen 37) einen Schienentaktgeber (91) zur Zeitsynchronisation enthält.
6. Fehlertolerantes Multiprozessorsystem nach Anspruch 5,
dadurch gekennzeichnet, daß die zentralen
Verarbeitungseinheiten (105) der Prozessormodule (33)
mit einer zur Taktfrequenz der Schienentaktgeber (91)
unterschiedlichen Taktfrequenz arbeiten.
7. Fehlertolerantes Multiprozessorsystem nach Anspruch 6,
dadurch gekennzeichnet, daß die Taktfrequenz der
Schienentaktgeber (91) höher ist als diejenige der
zentralen Verarbeitungseinheiten (105).
8. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die
Interprozessor-Steuereinrichtungen (55) wenigstens
zwei Eingabe-Warteschlangenteile (65), je eines für
jede vorhandene Interprozessor-Schiene (35), und ein
mehrfach genutztes Ausgabe-Warteschlangenteil (67)
enthalten.
9. Fehlertolerantes Multiprozessorsystem nach Anspruch 8,
dadurch gekennzeichnet, daß jedes
Eingabe-Warteschlangenteil (65) eine
Schienenfüllzustands-Logik (93), ein Senderregister
(95), einen Eingabewarteschlangenpuffer (97), einen
Eingabewarteschlangenzähler (99) und eine
Prozessorleerzustands-Logik (101) enthält.
10. Fehlertolerantes Multiprozessorsystem nach Anspruch 8
oder 9, dadurch gekennzeichnet, daß das
Ausgabe-Warteschlangenteil (67) ein Empfangsregister
(71), eine Prozessorfüllzustands-Logik (73), eine
Schienenleerzustands-Logik (75), einen
Ausgabewarteschlangenzähler (77), einen
Ausgabewarteschlangenpuffer (69) und einen
Ausgabewarteschlangenzähler (79) enthält.
11. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 1 bis 10, dadurch gekennzeichnet, daß der
Eingabe-/Ausgabekanal (109) eines jeden
Prozessormoduls (33) einen Mikroprozessor (119), eine
Datenweglogik (123) und eine Steuerlogik (141) enthält.
12. Fehlertolerantes Multiprozessorsystem nach Anspruch
11, dadurch gekennzeichnet, daß die Datenweglogik
(123) ein Kanalspeicherdatenregister (125), ein
Ein-/Ausgabe-Datenregister (127), ein
Kanalspeicheradressenregister (129), ein
Zeichenzählregister (131), ein Adressenregister (133),
ein Prioritätsauflösungsregister (135) sowie eine
Paritätserzeugungs- und Prüflogik (137) enthält.
13. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 1 bis 12, dadurch gekennzeichnet, daß die
Geräteanschlüsse (41) eine gemeinsame
Schnittstellenlogik (181) umfassen, welche über
Verbindungsleitungen (179) mit den Zugängen (43)
verbunden sind.
14. Fehlertolerantes Multiprozessorsystem nach Anspruch
13, dadurch gekennzeichnet, daß die gemeinsame
Schnittstellenlogik (181) eine Eigentumsverriegelung
(185) enthält, welche die Verbindung der
Schnittstellenlogik (181) mit einem der Zugänge (43)
bestimmt.
15. Fehlertolerantes Multiprozessorsystem nach Anspruch 13
oder 14, dadurch gekennzeichnet, daß jeder
Geräteanschluß (41) einen mit der gemeinsamen
Schnittstellenlogik (181) verbundenen Steuerteil
Steuerteil der Geräteanschlußlogik, (187) umfaßt.
16. Fehlertolerantes Multiprozessorsystem nach Anspruch
15, dadurch gekennzeichnet, daß das Steuerteil (187)
einen Puffer (189) enthält.
17. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 13 bis 16, dadurch gekennzeichnet, daß jeder
Zugang (43) ein Paritätsprüfregister (177), eine
Wahlverriegelung (173) und eine Freigabeverriegelung
(175) umfaßt.
18. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 1 bis 17, dadurch gekennzeichnet, daß jeder
Geräteanschluß (41) über eine Primärleitung (307),
eine Ersatzleitung (309) und einen automatischen
Schalter (311) an die wenigstens zwei unabhängigen
Spannungsquellen (303) angeschlossen ist.
19. Fehlertolerantes Multiprozessorsystem nach Anspruch
18, dadurch gekennzeichnet, daß der automatische
Schalter (311) eine der Primärleitung (307)
zugeordnete Diode (341) und eine der Ersatzleitung
(309) zugeordnete Diode (343) umfaßt.
20. Fehlertolerantes Multiprozessorsystem nach Anspruch 18
oder 19, dadurch gekennzeichnet, daß zwischen dem
Geräteanschluß (41) und den Leitungen (307, 309)
zusätzlich ein manuell betätigter Schalter (313)
vorgesehen ist.
21. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 18 bis 20, dadurch gekennzeichnet, daß zu
jedem Geräteanschluß (41) eine
Spannungsüberwachungsschaltung (182) gehört.
22. Fehlertolerantes Multiprozessorsystem nach einem der
Ansprüche 1 bis 21, dadurch gekennzeichnet, daß der
Speicher (107) eines jeden Prozessormoduls (33) über
zwei Zugänge sowohl der zentralen Verarbeitungseinheit
(105) als auch dem Eingabe-/Ausgabekanal (109)
zugeordnet ist.
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 DE2740056A1 (de) | 1978-03-16 |
DE2740056C2 true 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) | GB1588807A (de) |
HK (5) | HK62281A (de) |
MY (5) | MY8200209A (de) |
Families Citing this family (848)
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 |
US4323966A (en) * | 1980-02-05 | 1982-04-06 | The Bendix Corporation | Operations controller for a fault-tolerant multiple computer system |
US4333144A (en) * | 1980-02-05 | 1982-06-01 | The Bendix Corporation | Task communicator for multiple computer system |
US4318173A (en) * | 1980-02-05 | 1982-03-02 | The Bendix Corporation | Scheduler for a multiple computer system |
US4527236A (en) * | 1980-04-04 | 1985-07-02 | Digital Equipment Corporation | Communications device for data processing 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 |
NL8002787A (nl) * | 1980-05-14 | 1981-12-16 | Philips Nv | Multiprocessor-rekenmachinesysteem voor het uitvoeren van een recursief algorithme. |
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 |
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 |
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 |
US4520441A (en) * | 1980-12-15 | 1985-05-28 | Hitachi, Ltd. | Data processing system |
US4446514A (en) * | 1980-12-17 | 1984-05-01 | Texas Instruments Incorporated | Multiple register digital processor system with shared and independent input and output interface |
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 |
JPS57121750A (en) * | 1981-01-21 | 1982-07-29 | Hitachi Ltd | Work processing method of information processing system |
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 |
ZA821999B (en) * | 1981-03-31 | 1983-05-25 | British Telecomm | Computor or processor control systems |
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 |
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 |
US4493024A (en) * | 1981-05-22 | 1985-01-08 | Data General Corporation | Digital data processing system |
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 | 文章編集装置の停電保護用処理方式 |
WO1983001135A1 (en) * | 1981-09-18 | 1983-03-31 | Rovsing As Christian | Multiprocessor computer system |
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 |
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 |
US4939643A (en) * | 1981-10-01 | 1990-07-03 | Stratus Computer, Inc. | Fault tolerant digital data processor with improved bus protocol |
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 |
JPS58501695A (ja) * | 1981-10-05 | 1983-10-06 | デイジタル イクイプメント コ−ポレ−シヨン | ドライブとコントロ−ラの間で直列通信を使用する二次記憶装置 |
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 | プログラマブルシーケンスコントローラの制御装置 |
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 |
US4488256A (en) * | 1981-11-23 | 1984-12-11 | Motorola, Inc. | Memory management unit having means for detecting and preventing mapping conflicts |
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 |
WO1984000222A1 (en) * | 1982-06-30 | 1984-01-19 | 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 |
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 |
US4493035A (en) * | 1982-12-07 | 1985-01-08 | Motorola, Inc. | Data processor version validation |
US4524415A (en) * | 1982-12-07 | 1985-06-18 | Motorola, Inc. | Virtual machine data processor |
EP0109981B1 (de) * | 1982-12-07 | 1987-06-16 | Ibm Deutschland Gmbh | Ausfallgesicherte Datenverarbeitungsanlage |
EP0128945B1 (de) * | 1982-12-09 | 1991-01-30 | Sequoia Systems, Inc. | Sicherstellungsspeichersystem |
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 |
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 |
US5255369A (en) * | 1984-03-10 | 1993-10-19 | 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 |
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 |
JPS623366A (ja) * | 1985-06-28 | 1987-01-09 | Toshiba Corp | マルチプロセツサシステム |
US5101478A (en) * | 1985-06-28 | 1992-03-31 | Wang Laboratories, Inc. | I/O structure for information processing system |
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 |
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 |
US5088033A (en) * | 1986-04-28 | 1992-02-11 | Xerox Corporation | Data processing system emulation in a window with a coprocessor and I/O emulation |
US4920481A (en) * | 1986-04-28 | 1990-04-24 | Xerox Corporation | Emulation with display update trapping |
US4937036A (en) * | 1986-04-28 | 1990-06-26 | Xerox Corporation | Concurrent display of data from two different display processors and user interface therefore |
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 |
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 |
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 |
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 |
US4855899A (en) * | 1987-04-13 | 1989-08-08 | Prime Computer, Inc. | Multiple I/O bus virtual broadcast of programmed I/O instructions |
US4821170A (en) * | 1987-04-17 | 1989-04-11 | Tandem Computers Incorporated | Input/output system for multiprocessors |
US5307506A (en) * | 1987-04-20 | 1994-04-26 | Digital Equipment Corporation | High bandwidth multiple computer bus apparatus |
US4920477A (en) * | 1987-04-20 | 1990-04-24 | Multiflow Computer, Inc. | Virtual address table look aside buffer miss recovery method and 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 |
US5257367A (en) * | 1987-06-02 | 1993-10-26 | Cab-Tek, Inc. | Data storage system with asynchronous host operating system communication link |
CA1296103C (en) * | 1987-06-02 | 1992-02-18 | Theodore Jay Goodlander | High-speed, high capacity, 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 |
AU605598B2 (en) * | 1987-06-02 | 1991-01-17 | Storage Computer Corporation | 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 |
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 |
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 |
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 |
EP0306244B1 (de) * | 1987-09-04 | 1995-06-21 | Digital Equipment Corporation | Fehlertolerantes Rechnersystem mit Fehler-Eingrenzung |
US4916704A (en) * | 1987-09-04 | 1990-04-10 | Digital Equipment Corporation | Interface of non-fault tolerant components to fault tolerant system |
CA1320276C (en) * | 1987-09-04 | 1993-07-13 | William F. Bruckert | Dual rail processors with error checking on i/o reads |
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 |
EP0366583B1 (de) * | 1988-10-24 | 1995-08-30 | International Business Machines Corporation | 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 | 索引木構造の更新方式 |
AU625293B2 (en) * | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
US5249298A (en) * | 1988-12-09 | 1993-09-28 | Dallas Semiconductor Corporation | Battery-initiated touch-sensitive power-up |
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 |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
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 |
US4984240A (en) * | 1988-12-22 | 1991-01-08 | Codex Corporation | Distributed switching architecture for communication module redundancy |
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 |
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 |
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 |
EP0378398B1 (de) * | 1989-01-13 | 1996-07-24 | International Business Machines Corporation | Datenverarbeitungssystem mit Mitteln zur Zustandserkennung der Befehle empfangenden Datenverarbeitungseinrichtung |
EP0380211B1 (de) * | 1989-01-17 | 1996-07-17 | Landmark Graphics Corporation | 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 |
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 |
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 |
US5325517A (en) * | 1989-05-17 | 1994-06-28 | International Business Machines Corporation | Fault tolerant data processing 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 |
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 |
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 |
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 |
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 |
US5202980A (en) * | 1989-06-30 | 1993-04-13 | Nec Corporation | Information processing system capable of readily taking over processing of a faulty processor |
US5036455A (en) * | 1989-07-25 | 1991-07-30 | Tandem Computers Incorporated | Multiple power supply sensor for protecting shared processor buses |
US5048022A (en) * | 1989-08-01 | 1991-09-10 | Digital Equipment Corporation | Memory device with transfer of ECC signals on time division multiplexed bidirectional lines |
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 |
US5153881A (en) * | 1989-08-01 | 1992-10-06 | Digital Equipment Corporation | Method of handling errors in software |
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 |
US5251227A (en) * | 1989-08-01 | 1993-10-05 | Digital Equipment Corporation | Targeted resets in a data processor including a trace memory to store transactions |
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 |
EP0415545B1 (de) * | 1989-08-01 | 1996-06-19 | Digital Equipment Corporation | 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 |
WO1991006910A1 (en) * | 1989-10-17 | 1991-05-16 | Mitchell Maurice E | A microcomputer with disconnected, open, independent, bimemory architecture |
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 |
EP0428771B1 (de) * | 1989-11-21 | 1995-02-01 | Deutsche ITT Industries GmbH | Zweiwege-Datenübergabe-Einrichtung |
US5687396A (en) * | 1989-12-04 | 1997-11-11 | Canon Kabushiki Kaisha | Data buffer apparatus with interrupted transmission/reception |
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 |
KR940002905B1 (en) * | 1989-12-15 | 1994-04-07 | Ibm | Apparatus for conditioning priority arbitration in buffered direct memory addressing |
WO1991009366A1 (en) * | 1989-12-19 | 1991-06-27 | E-Systems, Incorporated | Method and apparatus for dispersed end-entity flow control in computer networks |
ATE168796T1 (de) | 1989-12-22 | 1998-08-15 | Tandem Computers Inc | Fehlertolerantes rechnersystem mit online- wiedereinfügung und abschaltung/start |
FR2656441B1 (fr) * | 1989-12-22 | 1993-12-10 | Bull Sa | Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse. |
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5239629A (en) * | 1989-12-29 | 1993-08-24 | Supercomputer Systems Limited Partnership | Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system |
US5197130A (en) * | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
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 |
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 |
EP0457308B1 (de) * | 1990-05-18 | 1997-01-22 | Fujitsu Limited | 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 |
EP0496506B1 (de) * | 1991-01-25 | 2000-09-20 | Hitachi, Ltd. | Fehlertolerantes Rechnersystem mit Verarbeitungseinheiten die je mindestens drei Rechnereinheiten haben |
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 |
DE69227956T2 (de) * | 1991-07-18 | 1999-06-10 | Tandem Computers Inc | 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 |
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 |
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 |
GB2260631B (en) * | 1991-10-17 | 1995-06-28 | Intel Corp | Microprocessor 2X core design |
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 |
DE69230126T2 (de) * | 1991-11-27 | 2000-04-06 | Canon Kk | 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 |
US6263422B1 (en) * | 1992-06-30 | 2001-07-17 | Discovision Associates | Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto |
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 |
US5751955A (en) * | 1992-12-17 | 1998-05-12 | Tandem Computers Incorporated | Method of synchronizing a pair of central processor units for duplex, lock-step operation by copying data into a corresponding locations of another memory |
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 |
AU6408294A (en) * | 1993-03-16 | 1994-10-11 | Ht Research, Inc. | A chassis for a multiple computer system |
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 | 富士通株式会社 | データ処理システム |
EP0974912B1 (de) * | 1993-12-01 | 2008-11-05 | Marathon Technologies Corporation | 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 | 日本電気株式会社 | 半導体製造ライン制御装置 |
US5623596A (en) * | 1994-05-09 | 1997-04-22 | Apple Computer, Inc. | Power fault protection in a computer system having multiple power supplies |
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 |
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 |
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 |
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 |
WO1996013779A1 (fr) * | 1994-10-31 | 1996-05-09 | Nkk Corporation | Systeme de multiprocesseur |
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 |
US5576945A (en) * | 1995-01-23 | 1996-11-19 | Tandem Computers Incorporated | Transaction monitor process with pre-arranged modules for a multiprocessor 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 |
CA2167634A1 (en) * | 1995-01-23 | 1996-07-24 | Michael E. Fisher | Method and apparatus for maintaining network connections across a voluntary process switchover |
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 |
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 |
CA2170468A1 (en) * | 1995-02-28 | 1996-08-29 | Noriyuki Ando | Multi-processor system with virtually addressable communication registers and controlling method thereof |
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 |
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 |
US5687308A (en) * | 1995-06-07 | 1997-11-11 | Tandem Computers Incorporated | Method to improve tolerance of non-homogeneous power outages |
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 |
US5687372A (en) * | 1995-06-07 | 1997-11-11 | Tandem Computers, Inc. | Customer information control system and method 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 |
US5734843A (en) * | 1995-06-07 | 1998-03-31 | Advanced Micro Devices Inc. | Reverse data channel as a bandwidth modulator |
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 | 株式会社日立製作所 | 外部記憶装置 |
US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
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 |
US5737514A (en) * | 1995-11-29 | 1998-04-07 | Texas Micro, Inc. | Remote checkpoint memory system and protocol for fault-tolerant computer system |
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 |
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 |
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 |
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 |
US5790807A (en) | 1995-12-20 | 1998-08-04 | Tandem Computers Incorporated | Computer sysem data I/O by reference among CPUS and I/O devices |
US5931903A (en) | 1995-12-20 | 1999-08-03 | Tandem Computers Incorporated | Computer system data I/O by reference among multiple CPUS |
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 |
US5834956A (en) * | 1995-12-29 | 1998-11-10 | Intel Corporation | Core clock correction in a 2/N mode clocking scheme |
US5821784A (en) * | 1995-12-29 | 1998-10-13 | Intel Corporation | Method and apparatus for generating 2/N mode bus clock signals |
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 |
CN1573806B (zh) * | 1996-06-28 | 2013-06-19 | 索尼株式会社 | 信息处理装置 |
US5845296A (en) * | 1996-07-10 | 1998-12-01 | Oracle Corporation | Method and apparatus for implementing segmented arrays in a database |
US5862373A (en) * | 1996-09-06 | 1999-01-19 | Intel Corporation | Pad cells for a 2/N mode clocking scheme |
US5826067A (en) * | 1996-09-06 | 1998-10-20 | Intel Corporation | Method and apparatus for preventing logic glitches in a 2/n clocking scheme |
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 |
JP2830857B2 (ja) * | 1996-09-09 | 1998-12-02 | 三菱電機株式会社 | データストレージシステム及びデータストレージ管理方法 |
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 |
US6002851A (en) * | 1997-01-28 | 1999-12-14 | Tandem Computers Incorporated | Method and apparatus for node pruning a multi-processor system for maximal, full connection during recovery |
US6230245B1 (en) | 1997-02-11 | 2001-05-08 | Micron Technology, Inc. | Method and apparatus for generating a variable sequence of memory device command signals |
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 |
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 |
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 |
US6148355A (en) * | 1997-05-13 | 2000-11-14 | Micron Electronics, Inc. | Configuration management method for hot adding and hot replacing devices |
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 |
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 |
US6122746A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for powering up and powering down a server |
US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
US6243838B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Method for automatically reporting a system failure in a server |
US6338150B1 (en) | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
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 |
US5987554A (en) * | 1997-05-13 | 1999-11-16 | Micron Electronics, Inc. | Method of controlling the transfer of information across an interface between two buses |
US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
US6163853A (en) * | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method for communicating a software-generated pulse waveform between two servers in a network |
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 |
US6138250A (en) * | 1997-05-13 | 2000-10-24 | Micron Electronics, Inc. | System for reading system log |
US6526333B1 (en) | 1997-05-13 | 2003-02-25 | Micron Technology, Inc. | Computer fan speed control system method |
US6182180B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Apparatus for interfacing buses |
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 |
US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
US6247079B1 (en) * | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc | Apparatus for computer implemented hot-swap and hot-add |
US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
US6122758A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for mapping environmental resources to memory for program access |
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 |
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 |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
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 |
US6170067B1 (en) | 1997-05-13 | 2001-01-02 | Micron Technology, Inc. | System for automatically reporting a system failure in a server |
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 |
US6249834B1 (en) | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
US6324608B1 (en) | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
US6189109B1 (en) | 1997-05-13 | 2001-02-13 | Micron Electronics, Inc. | Method of remote access and control of environmental conditions |
US6195717B1 (en) | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
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 |
US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
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 |
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 |
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 |
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 |
US6247898B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Computer fan speed control system |
US6134673A (en) * | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method for clustering software applications |
US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
US6073255A (en) * | 1997-05-13 | 2000-06-06 | Micron Electronics, Inc. | Method of reading system log |
US6163849A (en) * | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method of powering up or powering down a server to a maintenance state |
US6282673B1 (en) | 1997-05-13 | 2001-08-28 | Micron Technology, Inc. | Method of recording information system events |
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 |
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 |
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 |
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 |
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 |
US6175490B1 (en) | 1997-10-01 | 2001-01-16 | Micron Electronics, Inc. | Fault tolerant computer system |
US6212585B1 (en) | 1997-10-01 | 2001-04-03 | Micron Electronics, Inc. | Method of automatically configuring a server after hot add of a device |
US6088816A (en) * | 1997-10-01 | 2000-07-11 | Micron Electronics, Inc. | Method of displaying system status |
US6065053A (en) * | 1997-10-01 | 2000-05-16 | Micron Electronics, Inc. | System for resetting a server |
US6263387B1 (en) | 1997-10-01 | 2001-07-17 | Micron Electronics, Inc. | System for 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 |
US6199173B1 (en) | 1997-10-01 | 2001-03-06 | Micron Electronics, Inc. | Method for mapping environmental resources to memory for program access |
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 |
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 |
US6202164B1 (en) * | 1998-07-02 | 2001-03-13 | Advanced Micro Devices, Inc. | Data rate synchronization by frame rate adjustment |
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 |
US6205503B1 (en) | 1998-07-17 | 2001-03-20 | Mallikarjunan Mahalingam | Method for the hot swap and add of input/output platforms and devices |
US6223234B1 (en) | 1998-07-17 | 2001-04-24 | Micron Electronics, Inc. | Apparatus for the hot swap and add of input/output platforms and devices |
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 |
DE19910069A1 (de) * | 1999-03-08 | 2000-11-23 | Peter Renner | Prozeßautomation |
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 |
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 |
US6496825B1 (en) | 1999-03-12 | 2002-12-17 | Compaq Computer Corporation | Systems and methods for the detection of a loop-back of a transaction |
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 |
US6295548B1 (en) | 1999-03-12 | 2001-09-25 | Compaq Computer Corporation | Detection of an imported transaction for finding the global transaction identifier |
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 |
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 |
US6643777B1 (en) | 1999-05-14 | 2003-11-04 | Acquis Technology, Inc. | Data security method and device for computer modules |
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 |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6633996B1 (en) | 2000-04-13 | 2003-10-14 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus architecture |
US6708283B1 (en) | 2000-04-13 | 2004-03-16 | Stratus Technologies, Bermuda Ltd. | System and method for operating a system with redundant peripheral bus controllers |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6735715B1 (en) | 2000-04-13 | 2004-05-11 | Stratus Technologies Bermuda Ltd. | System and method for operating a SCSI bus with redundant SCSI adaptors |
US6691257B1 (en) | 2000-04-13 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus protocol and method for using the same |
US6901481B2 (en) | 2000-04-14 | 2005-05-31 | Stratus Technologies Bermuda Ltd. | Method and apparatus for storing transactional information in persistent memory |
US6691225B1 (en) | 2000-04-14 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Method and apparatus for deterministically booting a computer system having redundant components |
US6802022B1 (en) | 2000-04-14 | 2004-10-05 | Stratus Technologies Bermuda Ltd. | Maintenance of consistent, redundant mass storage images |
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 |
WO2003038775A1 (fr) * | 2000-09-28 | 2003-05-08 | Kabushiki Kaisha Visual Japan | Systeme et serveur pos, terminal de magasin, procede de gestion des ventes et support d'enregistrement |
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 |
US8180870B1 (en) | 2000-11-28 | 2012-05-15 | Verizon Business Global Llc | Programmable access device for a distributed network access system |
US7657628B1 (en) | 2000-11-28 | 2010-02-02 | Verizon Business Global Llc | External processor 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 |
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 |
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 |
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 |
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 |
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 |
US7058639B1 (en) | 2002-04-08 | 2006-06-06 | Oracle International Corporation | Use of dynamic multi-level hash table for managing hierarchically structured information |
US7672945B1 (en) | 2002-04-08 | 2010-03-02 | Oracle International Corporation | Mechanism for creating member private data in a global namespace |
US8271530B2 (en) * | 2002-04-08 | 2012-09-18 | Oracale International Corporation | Method and mechanism for managing and accessing static and dynamic data |
US7136867B1 (en) | 2002-04-08 | 2006-11-14 | Oracle International Corporation | Metadata format for hierarchical data storage on a raw storage device |
US7096213B2 (en) | 2002-04-08 | 2006-08-22 | Oracle International Corporation | Persistent key-value repository with a pluggable architecture to abstract physical storage |
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 |
US20050216910A1 (en) * | 2002-05-23 | 2005-09-29 | Benoit Marchand | Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules |
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 |
US6954867B2 (en) | 2002-07-26 | 2005-10-11 | Microsoft Corporation | Capacitive sensing employing a repeatable offset charge |
US20040054938A1 (en) * | 2002-09-17 | 2004-03-18 | Belady Christian L. | Controlling a computer system based on an environmental condition |
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 |
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 |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
JP3757204B2 (ja) * | 2002-12-06 | 2006-03-22 | ファナック株式会社 | エラー検出/訂正方式及び該方式を用いた制御装置 |
US7206972B2 (en) * | 2003-01-09 | 2007-04-17 | Alcatel | Path commissioning analysis and diagnostic tool |
US7287102B1 (en) | 2003-01-31 | 2007-10-23 | Marvell International Ltd. | System and method for concatenating data |
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 |
US7492545B1 (en) | 2003-03-10 | 2009-02-17 | Marvell International Ltd. | Method and system for automatic time base adjustment for disk drive servo controllers |
US7457903B2 (en) * | 2003-03-10 | 2008-11-25 | Marvell International Ltd. | Interrupt controller for processing fast and regular interrupts |
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 |
US7870346B2 (en) * | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk controllers |
US7099963B2 (en) * | 2003-03-10 | 2006-08-29 | Qlogic Corporation | Method and system for monitoring embedded disk controller components |
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 |
US7991748B2 (en) * | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
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 |
US7904428B2 (en) * | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
US7730222B2 (en) * | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
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 |
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 |
US7409587B2 (en) * | 2004-08-24 | 2008-08-05 | Symantec Operating Corporation | Recovering from storage transaction failures using checkpoints |
US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
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 |
US7725760B2 (en) * | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
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 |
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 |
US7139150B2 (en) * | 2004-02-10 | 2006-11-21 | Marvell International Ltd. | Method and system for head position control in embedded disk drive controllers |
JP4441286B2 (ja) * | 2004-02-10 | 2010-03-31 | 株式会社日立製作所 | ストレージシステム |
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 |
US20050240806A1 (en) * | 2004-03-30 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Diagnostic memory dump method in a redundant processor |
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 |
US7921419B2 (en) * | 2004-05-12 | 2011-04-05 | Oracle International Corporation | Method and mechanism for managing incompatible changes in a distributed system |
WO2005111823A1 (en) * | 2004-05-18 | 2005-11-24 | 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 |
US7472129B2 (en) * | 2004-06-29 | 2008-12-30 | Microsoft Corporation | Lossless recovery for computer systems with map assisted state transfer |
JP4353005B2 (ja) * | 2004-06-29 | 2009-10-28 | 株式会社日立製作所 | クラスタ構成コンピュータシステムの系切替方法 |
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 |
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 |
US9201599B2 (en) * | 2004-07-19 | 2015-12-01 | Marvell International Ltd. | System and method for transmitting data 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 |
US7734471B2 (en) * | 2005-03-08 | 2010-06-08 | Microsoft Corporation | Online learning for dialog systems |
US7885817B2 (en) * | 2005-03-08 | 2011-02-08 | Microsoft Corporation | Easy generation and automatic training of spoken dialog systems using text-to-speech |
US7707131B2 (en) * | 2005-03-08 | 2010-04-27 | Microsoft Corporation | Thompson strategy based online reinforcement learning system for action selection |
US7095217B1 (en) * | 2005-03-31 | 2006-08-22 | O2Micro International Limited | Method circuitry and electronic device for controlling a variable output dc power source |
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 |
US7609468B2 (en) * | 2005-04-06 | 2009-10-27 | Marvell International Ltd. | Method and system for read gate timing control for storage controllers |
US20060227145A1 (en) * | 2005-04-06 | 2006-10-12 | Raymond Chow | Graphics controller having a single display interface for two or more displays |
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 |
US7539852B2 (en) | 2005-08-29 | 2009-05-26 | Searete, Llc | Processor resource management |
US8375247B2 (en) * | 2005-08-29 | 2013-02-12 | The Invention Science Fund I, Llc | Handling processor computational errors |
US7653834B2 (en) * | 2005-08-29 | 2010-01-26 | Searete, Llc | Power sparing synchronous apparatus |
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 |
US8214191B2 (en) * | 2005-08-29 | 2012-07-03 | The Invention Science Fund I, Llc | Cross-architecture execution optimization |
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 |
US7877584B2 (en) * | 2005-08-29 | 2011-01-25 | The Invention Science Fund I, Llc | Predictive processor resource management |
US20070050608A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporatin Of The State Of Delaware | Hardware-generated and historically-based execution optimization |
US7739524B2 (en) * | 2005-08-29 | 2010-06-15 | The Invention Science Fund I, Inc | Power consumption management |
US7627739B2 (en) * | 2005-08-29 | 2009-12-01 | Searete, Llc | Optimization of a hardware resource shared by a multiprocessor |
US8255745B2 (en) * | 2005-08-29 | 2012-08-28 | The Invention Science Fund I, Llc | Hardware-error tolerant computing |
US20070050605A1 (en) * | 2005-08-29 | 2007-03-01 | Bran Ferren | Freeze-dried ghost pages |
US8209524B2 (en) | 2005-08-29 | 2012-06-26 | The Invention Science Fund I, Llc | Cross-architecture optimization |
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 |
US8516300B2 (en) * | 2005-08-29 | 2013-08-20 | The Invention Science Fund I, Llc | Multi-votage synchronous systems |
CN103927238B (zh) | 2005-10-14 | 2017-04-12 | 塞门铁克操作公司 | 一种在数据存储器中用于时间线压缩的技术 |
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 |
US8327115B2 (en) | 2006-04-12 | 2012-12-04 | Soft Machines, Inc. | Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode |
US8041985B2 (en) | 2006-08-11 | 2011-10-18 | Chicago Mercantile Exchange, Inc. | Match server for a financial exchange having fault tolerant operation |
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 |
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 |
CN101627365B (zh) | 2006-11-14 | 2017-03-29 | 索夫特机械公司 | 多线程架构 |
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 |
WO2008157813A1 (en) * | 2007-06-20 | 2008-12-24 | 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 | 株式会社日立製作所 | 制御装置 |
EP2396724A4 (de) | 2009-02-13 | 2012-12-12 | Ab Initio Technology Llc | Verwaltung der ausführung von ausgaben |
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 |
AU2009352181B2 (en) * | 2009-09-02 | 2013-11-21 | Zte Corporation | Power-down protection method and system, power controller for the communication device |
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 |
AU2011268459B2 (en) | 2010-06-15 | 2014-09-18 | Ab Initio Technology Llc | Dynamically loading graph-based computations |
JP5559616B2 (ja) * | 2010-06-17 | 2014-07-23 | ラピスセミコンダクタ株式会社 | 半導体メモリ装置 |
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 |
US8549378B2 (en) | 2010-06-24 | 2013-10-01 | International Business Machines Corporation | RAIM system using decoding of virtual ECC |
US10228949B2 (en) | 2010-09-17 | 2019-03-12 | Intel Corporation | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
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 |
WO2012135041A2 (en) | 2011-03-25 | 2012-10-04 | Soft Machines, Inc. | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
TWI533129B (zh) | 2011-03-25 | 2016-05-11 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心執行指令序列程式碼區塊 |
EP2689326B1 (de) | 2011-03-25 | 2022-11-16 | Intel Corporation | Speicherfragmente zur unterstützung einer codeblockausführung mittels durch partitionierbare engines realisierter virtueller kerne |
CN103649931B (zh) | 2011-05-20 | 2016-10-12 | 索夫特机械公司 | 用于支持由多个引擎执行指令序列的互连结构 |
CN103649932B (zh) | 2011-05-20 | 2017-09-26 | 英特尔公司 | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 |
US20120317356A1 (en) * | 2011-06-09 | 2012-12-13 | Advanced Micro Devices, Inc. | Systems and methods for sharing memory between a plurality of processors |
US9318166B2 (en) | 2011-07-22 | 2016-04-19 | SanDisk Technologies, Inc. | Systems and methods of storing data |
IN2014CN03678A (de) | 2011-11-22 | 2015-09-25 | Soft Machines Inc | |
EP2783281B1 (de) | 2011-11-22 | 2020-05-13 | Intel Corporation | Durch einen mikroprozessor beschleunigter code-optimierer |
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 |
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 |
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 |
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 |
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 |
US9710399B2 (en) | 2012-07-30 | 2017-07-18 | Intel Corporation | Systems and methods for flushing a cache with modified data |
US9678882B2 (en) | 2012-10-11 | 2017-06-13 | Intel Corporation | Systems and methods for non-blocking implementation of cache flush instructions |
CN106776364B (zh) | 2012-10-22 | 2020-07-17 | 英特尔公司 | 用于高性能互连物理层的装置、方法和系统 |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph 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 |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
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 |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
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 |
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 |
KR101708591B1 (ko) | 2013-03-15 | 2017-02-20 | 소프트 머신즈, 인크. | 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법 |
KR20150130510A (ko) | 2013-03-15 | 2015-11-23 | 소프트 머신즈, 인크. | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
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 |
SG11201604525TA (en) | 2013-12-05 | 2016-07-28 | 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 |
AU2016377516B2 (en) | 2015-12-21 | 2020-01-30 | Ab Initio Technology Llc | Sub-graph interface generation |
US10073718B2 (en) | 2016-01-15 | 2018-09-11 | Intel Corporation | Systems, methods and devices for determining work placement on processor cores |
US9984182B2 (en) * | 2016-05-25 | 2018-05-29 | Caterpillar Inc. | Model generation system for a machine |
US10008052B2 (en) * | 2016-05-25 | 2018-06-26 | Caterpillar Inc. | Model generation and monitoring 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 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
EP3865758A4 (de) | 2018-11-12 | 2022-03-09 | JFE Steel Corporation | Hochdruckwasserstoffbehälter |
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 | 重庆亚德科技股份有限公司 | 医疗数据核对修正系统及方法 |
KR20220156587A (ko) | 2020-04-20 | 2022-11-25 | 제이에프이 스틸 가부시키가이샤 | 고압 수소 용기 |
CN113722770A (zh) * | 2021-08-18 | 2021-11-30 | 上海励驰半导体有限公司 | 基于分级的数据完整性的端到端的保护方法及系统 |
Family Cites Families (90)
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 |
US3480914A (en) * | 1967-01-03 | 1969-11-25 | Ibm | Control mechanism for a multi-processor computing 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 |
US3753234A (en) * | 1972-02-25 | 1973-08-14 | Reliance Electric Co | Multicomputer system with simultaneous data interchange between computers |
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 |
US3812469A (en) * | 1972-05-12 | 1974-05-21 | Burroughs Corp | Multiprocessing system having means for partitioning into independent processing subsystems |
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 |
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 |
US3995258A (en) * | 1975-06-30 | 1976-11-30 | Honeywell Information Systems, Inc. | Data processing system having a data integrity technique |
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 |
US4048672A (en) * | 1976-01-05 | 1977-09-13 | T-Bar Incorporated | Switch matrix control and display |
US4014005A (en) * | 1976-01-05 | 1977-03-22 | International Business Machines Corporation | Configuration and control unit for a heterogeneous multi-system |
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 |
US4042911A (en) * | 1976-04-30 | 1977-08-16 | International Business Machines Corporation | Outer and asynchronous storage extension system |
US4038642A (en) * | 1976-04-30 | 1977-07-26 | International Business Machines Corporation | Input/output interface logic for concurrent operations |
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 |
-
1976
- 1976-09-07 US US05/721,043 patent/US4228496A/en not_active Expired - Lifetime
-
1977
- 1977-06-14 CA CA000280505A patent/CA1121481A/en not_active Expired
- 1977-06-17 GB GB3073/80A patent/GB1588807A/en not_active Expired
- 1977-06-17 GB GB3057/80A patent/GB1588804A/en not_active Expired
- 1977-06-17 GB GB3072/80A patent/GB1588806A/en not_active Expired
- 1977-06-17 GB GB25490/77A patent/GB1588803A/en not_active Expired
- 1977-06-17 GB GB3058/80A patent/GB1588805A/en not_active Expired
- 1977-09-06 JP JP52106390A patent/JPS5925257B2/ja not_active Expired
- 1977-09-06 FR FR7727011A patent/FR2473197B1/fr not_active Expired
- 1977-09-06 DE DE19772740056 patent/DE2740056A1/de active Granted
-
1980
- 1980-05-06 US US06/147,135 patent/US4639864A/en not_active Expired - Lifetime
- 1980-05-06 US US06/147,091 patent/US4378588A/en not_active Expired - Lifetime
- 1980-05-06 US US06/147,309 patent/US4365295A/en not_active Expired - Lifetime
- 1980-05-06 US US06/147,305 patent/US4356550A/en not_active Expired - Lifetime
-
1981
- 1981-09-04 FR FR8116835A patent/FR2485228B1/fr not_active Expired
- 1981-09-04 FR FR8116834A patent/FR2485227B1/fr not_active Expired
- 1981-12-17 HK HK622/81A patent/HK62281A/xx unknown
- 1981-12-17 HK HK623/81A patent/HK62381A/xx unknown
- 1981-12-17 HK HK624/81A patent/HK62481A/xx unknown
- 1981-12-17 HK HK625/81A patent/HK62581A/xx unknown
- 1981-12-17 HK HK626/81A patent/HK62681A/xx unknown
-
1982
- 1982-03-24 BE BE0/207664A patent/BE892627Q/fr not_active IP Right Cessation
- 1982-04-08 JP JP57057424A patent/JPS5850062A/ja active Granted
- 1982-12-30 MY MY209/82A patent/MY8200209A/xx unknown
- 1982-12-30 MY MY207/82A patent/MY8200207A/xx unknown
- 1982-12-30 MY MY206/82A patent/MY8200206A/xx unknown
- 1982-12-30 MY MY208/82A patent/MY8200208A/xx unknown
- 1982-12-30 MY MY205/82A patent/MY8200205A/xx unknown
-
1983
- 1983-06-17 US US06/504,596 patent/US4484275A/en not_active Expired - Lifetime
-
1984
- 1984-03-29 FR FR8404937A patent/FR2547082A1/fr active Pending
- 1984-09-05 JP JP59184759A patent/JPS60100257A/ja active Granted
- 1984-09-05 JP JP59184754A patent/JPS60100252A/ja active Granted
- 1984-09-05 JP JP59184760A patent/JPS60100258A/ja active Granted
- 1984-09-05 JP JP59184756A patent/JPS60100254A/ja active Granted
- 1984-09-05 JP JP59184757A patent/JPS60100255A/ja active Granted
- 1984-09-05 JP JP59184758A patent/JPS60100256A/ja active Granted
- 1984-09-05 JP JP59184755A patent/JPS60100253A/ja active Granted
-
1985
- 1985-03-18 US US06/713,583 patent/US4672535A/en not_active Expired - Lifetime
- 1985-04-29 US US06/727,614 patent/US4672537A/en not_active Expired - Lifetime
-
1986
- 1986-06-11 JP JP61135874A patent/JPS61286962A/ja active Pending
-
1987
- 1987-05-18 US US07/052,095 patent/US4807116A/en not_active Expired - Lifetime
- 1987-05-19 US US07/052,094 patent/US4817091A/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2740056C2 (de) | ||
DE2908316C2 (de) | Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage | |
DE2230830C2 (de) | Datenverarbeitungsanlage | |
DE69533230T2 (de) | Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes | |
DE2806024C2 (de) | ||
DE3041600C2 (de) | Verfahren und Schaltungsanordnung zum Übertragen von Datensignalen zwischen an Datenvermittlungseinrichtungen einer Datenvermittlungsanlage angeschlossenen Datensignalsendern und Datensignalempfängern | |
DE2755952C2 (de) | ||
CH662025A5 (de) | Digitale vermittlungsanlage. | |
DE2751106C2 (de) | ||
DE2358545A1 (de) | Datenverarbeitungssystem mit dynamisch veraenderlichem vorrangzugriffssystem | |
DE4023471A1 (de) | Kommunikationsschnittstellenschaltung in einem steuerungssystem | |
DE1929010A1 (de) | Modular aufgebautes Datenverarbeitungssystem | |
DE1474093A1 (de) | Programmgesteuertes Datenverarbeitungssystem | |
DE3041556C2 (de) | Verfahren und Schaltungsanordnung zur Vermittlung von Daten zwischen Datenendgeräten | |
DE2420214C2 (de) | Schaltungsanordnung zur Umschaltung der redundanten Kommunikationspfade einer Datenübertragungseinrichtung | |
DE112016004152T5 (de) | Stromversorgungssteuervorrichtung, Kommunikationssystem und Stromversorgungsssteuerverfahren | |
DE2807321A1 (de) | Spannungsueberwachung in einem datenverarbeitungssystem | |
DE2710100A1 (de) | Leitungssteuereinheit fuer sprach- und datennetze | |
EP0447769A2 (de) | Verfahren und Schaltungsanordnung zur Verwaltung gleicher Einheiten sowie Vermittlungselement | |
DE3041541C2 (de) | Schaltungsanordnung zum Übertragen von Datensignalen zwischen jeweils zwei Datenendgeräten einer Datenübertragungsanlage | |
DE3041566A1 (de) | Verfahren und schaltungsanordnung zum uebertragen von datensignalen zwischen datenvermittlungseinrichtungen einer datenvermittlungsanlage | |
DE2914665C2 (de) | Fernmeldesystem, insbesondere Bildschirmtext-System, sowie teilzentraler und dezentraler Schaltungsbaustein für dieses System | |
DE69636805T2 (de) | Massenspeicherplattenanordnung zur Verwendung in Rechnersystemen | |
EP0306736A2 (de) | Verfahren zum Übertragen von in einer Fernmeldevermittlungsanlage gespeicherten Verbindungsinformationen zu einer Informationsverarbeitungsanlage | |
EP0027557A2 (de) | Schaltungsanordnung zur Übertragung digitaler Signale zwischen mit unterschiedlichen Datenübertragungsprozeduren und mit unterschiedlichen Datenformaten arbeitenden Sende- und Empfangsvorrichtungen |
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 |