DE2751416A1 - Numerisches system zur datenbehandlung, insbesondere fuer raumfahrzeuge - Google Patents

Numerisches system zur datenbehandlung, insbesondere fuer raumfahrzeuge

Info

Publication number
DE2751416A1
DE2751416A1 DE19772751416 DE2751416A DE2751416A1 DE 2751416 A1 DE2751416 A1 DE 2751416A1 DE 19772751416 DE19772751416 DE 19772751416 DE 2751416 A DE2751416 A DE 2751416A DE 2751416 A1 DE2751416 A1 DE 2751416A1
Authority
DE
Germany
Prior art keywords
memory
processors
processor
control
task
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.)
Ceased
Application number
DE19772751416
Other languages
English (en)
Inventor
Francois Plisson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Matra SA
Original Assignee
Matra SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matra SA filed Critical Matra SA
Publication of DE2751416A1 publication Critical patent/DE2751416A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Description

DrF Zumiicinserv. D^. E.Astmann L / O 1 4 I 6
Di R.Koonios'. - ':·■ ' " '^. Tt. HoUbau fJipl - Ing Γ. K. ._ ■.:■■ Ί ι Ξ jtnstein JUr
V a 1 c .; i λ Ii \.■ . ' t β München 2, Bri>uliau£:trale 4 ' 3
MATRA 0613 77 B
Numerisches System zur Datenbehandlung, insbesondere für Raumfahrzeuge.
Die Erfindung betrifft die numerischen Systeme zur Datenbehandlung, welche zur Sicherstellung des Ablaufe von Steuervorgängen benutzbar sind. Sie findet eine besondere wichtige, wenn auch nicht ausschließliche, Anwendung in den in ein Raumfahrzeug eingebauten Anlagen» deren eine Aufgabe in der Sicheretellung der Führung besteht.
Diese letztere Anwendung zwingt dazu, insbesondere wenn das Raumfahrzeug einen Auftrag langer Dauer von gegebenenfalle mehreren Jahren ausführen soll, zur Benutzung eines Systems mit einer hohen Zuverlässigkeit, insbesondere bei der Ausführung von gewissen Aufgaben, da ein Versagen des Systems, welches ihre Ausführung verhindern würde, den Fehlschlag des Auftrags zur Folge hat. Das Datenbehandlungssystem muß außerdem genügend schnell sein, um alle erforderlichen Steuer- und Kontrollfunktionen während der Perioden sicherzustellen, in welchen die Zahl der zu erfüllenden Aufgaben am größten ist (z.B. bei einer Kontrolle gemäß drei Achsen oder der Einstellung auf eine Umlaufbahn in dem Fall eines Satelitten). Gleichzeitig müssen jedoch das Gewicht und der Energieverbrauch des Systems so klein wie möglich sein.
Es sind bereits in Raumfahrzeuge eingebaute Steuersysteme bekannt, welche ein spezialisiertes Rechengerät enthalten. Um jedoch die Wirkungen des Versagens eines Organs zu begrenzen, müssen die wesentlichen Organe durch ein zweites identisches in Bereitschaft gehaltenes Organ verdoppelt werden, welches bei einem
809821/0900
275U16
-^ - 0613 77 B
Versagen an die Stelle des ersten tritt. Außerdem muß jedesmal, wenn eine neue Anwendung beabsichtigt wird, praktisch der gesamte Aufbau des Systems und seiner Programmbausteine entsprechend den Bedürfnissen der Benutzer neu geplant werden, was die Kosten der Planung und der Ausführung sowie die Gefahren eines Versagens erhöht, da das System selten vollständig bewährt ist. Schließlich muß das gesamte System im Betrieb bleiben, selbst während Perioden geringer Tätigkeit, so daß der Energieverbrauch ständig gleich dem während der Perioden der stärksten Belastung des Systems erforderlichen ist.
Ferner ist ein Digitalsystem zur Datenbehandlung mit einem gemeinsamen Speicher und n_ unabhängigen Allzweckprozessoren bekannt (AFIPS joint computer conference 19 75, vol. 44, pp. 551-559: Ornstein "Pluribus - A reliable multiprocessor"), bei welchem jeder dieser Allzwecksprozessoren die gesamte Steuerkapazität des Systems hat und einen eigenen örtlichen Arbeitsspeicher enthält.
Das System enthält mehrere Sammelleitungen, die an sich und wegen der "interface" Leitungen viel Platz einnehmen.
Die Erfindung bezweckt ein System zur digitalen Datenbehandlung zur Verfügung zu stellen, welches in ein Raumfahrzeug mit kleinen Innenräumen eingebaut werden kann und welches mit hoher Zuverlässigkeit die wesentlichen, ihm obliegenden Aufgaben durchführt. Dies wird dadurch erreicht, dass die Allzweckprozessoren (11, 12, 13), deren Arbeitsspeicher (19) eine zum Aufnehmen der Leitprogramme des Systems ausreichende Kapazität aufweist, sowie der gemeinsame Speicher (16) und Eingangs- bzw. Ausgangsschaltungen mit einer einzigen, in geteilter Zeit arbeitenden Sammelleitung parallel verbunden sind, wobei diese Samuelleitung gegenüber Störungen in den ihr zugeschalteten Systemen abgesichert ist und wobei der gemeinsame Speicher (16) die Leitdaten des Systems sowie die Benutzungsprogramme enthält.
Die Erfindung macht sich die Tatsachen zu Nutzen, dass
- gegenwärtig die Prozessoren in der Form von wenig Platz beanspruchenden LSI-Schaltungen hergestellt werden können, während die aus elektrischen Leitern bestehenden Sammelleitungen, sowie die aus diskreten Komponenten bestehenden
809821 /0900
- bit
0G13 77 B
275U16
"interface"-Leitungen nicht im selben Masse miniaturisiert werden können,
- eine Panne selten von der Unterbrechung eines Leiters einer Sammelleitung herrührt.
Die Sammelleitung kann dadurch zuverlässig gemacht werden, dass zwischen diese Sammelleitung und die elektronishcen Komponenten mit denen sie in Verbindung steht ein derartig ausgebildetes Tor oder Gatter zwrschengeschaltet wird, dass bei gleich welcher Natur der Panne des Komponenten oder des Gatters, dieses Gatter ausser Betrieb gesetzt werden kann, ohne dass dadurch der Betrieb der Sammelleitung beeinträchtigt wird.
Diese Lösung ist bei weitem der bis jetzt gehandhabten Lösung vorzuziehen, zufolge der die Sammelleitung verdoppelt wurde, was eine übermässige Vervielfältigung der elektrischen Leiter bzw. Drähte nach sich zog.
Durch die erhaltene Parallelbehandlung werden offenbar die Geschwindigkeit und die Zuverlässigkeit gesteigert. Im normalen Betrieb sind die Aufgaben auf die Prozessoren aufgeteilt. Bei einer Störung eines der Prozessoren oder bei einer willkürlichen Abstellung eines von ihnen zur Erhöhung der Lebensdauer und zur Verringerung des Verbrauchs des Systems wird nur die Behandlungsgeschwindigkeit beeinträchtigt, aber alle Aufgaben können —
809821/0900
275U16
- 2 - 0613 77 B
noch erfüllt werden. Das gleiche gilt bei der Außerbetriebsetzung aller Prozessoren außer einem. Bei einer geeigneten Ausbildung des gemeinsamen Speichers hat ein Versagen eines Teils desselben nur die Unmöglichkeit der Ausführung gewisser Aufgaben (z.B. der Vornahme eines besonderen Versuchs) zur Folge. Der wesentliche Teil des gemeinsamen Speichers kann natürlich durch einen in Bereitschaft gehaltenen Teil verdoppelt werden, welcher Im Falle einer Störung des ersten automatisch eingreift.
Es ist zu bemerken, daß die Parallelschaltung von η Prozessoren an eine gemeinsame Sammelleitung nicht unbedingt das Arbeiten verlangsamt. Die Zeit eines Arbeitsspiels in dem gemeinsamen Speicher ist nämlich im allgemeinen erheblich kurzer als die Dauer eines Prozessorbefehls (im allgemeinen ein Viertel derselben). Wenn daher diese letzteren nicht zu zahlreich sind (nicht mehr als drei in dem angegebenen Beispiel), tritt keine merkliche Verlangsamung der Arbeit der Prozessoren durch Konflikte ein, welche an der Stelle des Zugangs zu der gemeinsamen Sammelleitung erscheinen.
Jeder Prozessor wird im allgemeinen durch einen im Handel verfügbaren Mikroprozessor in der Technologie mit komplementären MOS gebildet, z.B. den Mikroprozessor IM 6100 von INTERSIL oder COSMAC von HCA, wenn die erforderlichen Rechnungen mit einem Mikroprozessor mit Worten von acht Bits ausgeführt werden können.
Zur weiteren Erhöhung der Zuverlässigkeit des Systems ist es zweckmäßig, die Benutzungsaufgaben in unabhängige Moduln zu unterteilen, welche zur Sicherstellung ihres Ablaufs auf kein anderes Programm rechnen, als ein verdoppeltes Programm. Die Verbindung zwischen diesen Moduln , deren jeder auf einer Speicherseite mit geringer Aufnahmefähigkeit (z.B. 1 Kilowort) untergebracht ist, wird durch eine doppelte Aktivität in dem verdoppelten Abschnitt des gemeinsamen Speichere sichergestellt.
Jeder Prozessor enthält in einem örtlichen Speicher das Programm des Systems, dessen Versagen das Versagen des Systeme zur Folge haben würde. Der Ausfall von einem oder von zwei Prozessoren bewirkt daher nur die Verschlechterung der Leistungen.
Das System ist im ganzen so ausgebildet, daß die Kapazitäten der Mikroprozessoren soweit wie möglich ausgenutzt werden, um unmittelbar die mit den Randeinheiten verbundenen Eingangs- und Ausgangskanäle zu steuern. Man erzielt hierdurch gleichzeitig eine
809821/0900
275U16
2- ß - 0613 77 B
• τ
Materialersparnis und eine Erhöhung der Zuverläßigkeit des Systems.
Wenn übrigens nur ein einsiger Prozessor im Betrieb ist, werden alle Aufgaben in Reihe ausgeführt, so daß kein Problem der Parallelausführung von verzweigten Programmen auftritt.
Die Erfindung ist nachstehend unter Bezugnahme auf die Zeichnung beispielshalber erläutert.
Fig. 1 ist ein Prinzipschema des gesamten Systems.
Fig. 2 zeigt Bchematisch die Verteilung der Speicher auf Blocks.
Das schematisoh in stark vereinfachter Form in Fig. 1 dargestellte System kann als durch folgende Teile gebildet angesehen werden:
- drei identische nicht spezialisierte Prozessoren 11,
12 und 13, welche unabhängig mit einer gemeinsamen Datensammelleitung 14» einer gemeinsamen Adressensammelleitung 13 und einer (nicht dargestellten) Steuersammelleitung verbunden sind;
- einen gemeinsamen Speicher 16;
- Zwischenmoduln Eingang/Ausgang zur Verbindung mit Randeinheiten.
Diese verschiedenen Bestandteile sind nachstehend nacheinander beschrieben.
Da die drei Prozessoren identisch sind, genügt die Beschreibung des Prozessors 11. Sein Hauptelement ist ein Mikroprozessor 17» welcher durch integrierte Schaltungen in großem Maßstab LSI gebildet wird. Nachstehend ist angenommen, daß es sich um einen Mikroprozessor INTERSIL IM 6100 A in Schaltungen mit komplementären MOS mit Worten fester Länge von zwölf Bits und einziger Adressierung handelt. Die Ausführungedauer eines Elementarbefehls (Addition einer Ziffer von zwölf Bits) beträgt 5μβ unter der normalen Speisespannung von 5 V. Dieser Mikroprozessor hat den doppelten Vorteil, mit den bewährten Programmbaueteinen verträglich zu sein, welche bereits für das Minirechengerät PDP 8 E entwickelt wurden und in einer militärischen Ausführung verfügbar sind, welche zwischen - 55° C und + 125° C arbeitsfähig ist» d.h. in dem Temperaturbereich, welcher in dem Falle eines Raumfahrzeugs, insbesondere eines Satelitten, angetroffen werden kann.
Dem mit einem Kristalloszillator 18 versehenen Mikropro-809821/0900
275U16
- 7rt 0613 77 B
zesBor 17 sind ein nicht durch die anderen Prozessoren 12 und 13 zugänglicher örtlicher Speicher 19» ein Eontrollgerät 20 zur Ausdehnung der Adressen des Speichers (z.B. INTERSIL Typ IM 6102) und eine Vorrichtung 21 zur Überwachung des Zustande des Prozessors des im allgemeinen "Wachthund" genannten Typs zugeordnet. Hierzu tritt ein Zwischenmodul mit den Sammelleitungen, welcher dem Prozessor 11 geetattet, den gemeinsamen Speicher 16 und die Eingangsund Ausgangsrandeinheiten in Teilzeit zu steuern.
Der örtliche Speicher 19 erhält eine von der vorgesehenen Anwendung abhängende Kapazität. Dieser Speicher 19 enthält in allen Fällen einen Randomepeicher und einen gegebenenfalls neuprogrammierbaren Festspeicher 22. In einem typischen Fall hat der Festspeicher 22 eine Kapazität von 1 Kilowort von zwölf Bits. Es kann sich insbesondere um einen neuprogrammierbaren Festspeicher (oder PROM) mit komplementären MOS des Typs INTERSIL IM 6312 AM handeln. Der Festspeicher soll das Leitprogramm des Prozessors (allgemeines Kontrollgerät der Aufgaben, Kontrollgerät der inneren Unterbrechungen, Behandlung des unmittelbaren Zugriffs zu dem Speicher oder DMA, gemeinsamen Unterroutinen, Befehlskodes usw.) bewahren. Der Randomspeicher kann z.B. durch drei Speicher 23 des Typs IM 6561 gebildet werden, deren jeder für 256 Worte von vier Bits bestimmt ist.
Das Kontrollgerät 20 zur Ausdehnung der Speicheradressen enthält einen Zeitgeber in Echtzeit und eine integrierte Logik direkten Zugriffs zu dem Speicher. Dieses Kontrollgerät ermöglicht die Vergrößerung der Adressierungskapazität des Prozessors. Getrennt hat nämlich der Mikroprozessor eine auf vier Kiloworte von 12 Bite beschränkte Adreesierungskapazität, was ungenügend ist. Beispielshalber sei angenommen, daß das Kontrollgerät 20 vorgesehen ist, um diese Kapazität auf 32 Kiloworte zu bringen. Der Zeitgeber in Echtzeit wird durch den zugehörigen Mikroprozessor geeteuert. Er ist daher unabhängig von dem Rest des Systems. Das Vorhandensein dieses Zeitgebers, welcher insbesondere zur Ansammlung in Echtzeit oder als Taktgeber benutzbar iet, beaufschlagt eine Schaltung zur Anforderung einer Unterbrechung, welche von den äußeren Unterbrechungsschaltungen unabhängig ist und gestattet, einen beliebigen der Prozessoren 11, 12 und 13 unabhängig von den beiden anderen arbeiten zu lassen.
809821/0900
-ί-
275U16
0613 77 B
Der Prozessor 11 enthält noch einen Zwischenmodul mit dem gemeinsamen Speicher und mit den Sammelleitungen. Dieser Zwischenmodul enthält einen Satz von Toren 25» welche eine Übertragung von Daten mit der Datensammelleitung 14 in beiden Richtungen zulassen. Ein zweiter Satz von Toren 26, welcher nur zur Vornahme der Übertragung von dem Prozessor aus bestimmt ist, ist zwischen der inneren Sammelleitung 27 des Prozessors, welche den Mikroprozessor 17 sowie die Speicher 22 und 23 versorgt, und der Adressen-Sammelleitung 15 angeordnet. Die so übertragenen Daten bilden die am wenigsten maßgebenden Bits einer Adresse in dem gemeinsamen Speicher, während die maßgebenderen Bits von dem Ausdehnungskontrollgerät 20 über einen Satz von zusätzlichen Toren 28 übertragen werden. Nachstehend ist als Beispiel angenommen, daß man so durch Worte von fünfzehn Bits dargestellte Adressen erhält.
Der gemeinsame Speicher 16 weist wie jeder örtliche Speioher Randomspeicher oder RAM (welche im allgemeinen Speicher mit komplementären MOS mit geringem Verbrauch in dem Fall der Benutzung im Raum sind) und neuprogrammierbare Festspeicher oder PROM (im allgemeinen zweipolige Speicher, welche mit einer Schaltung zur Unterbrechung der Speisung versehen sind, wenn es wichtig ist, den Verbrauch zu verringern).
Zur Verringerung der Folgen eines Versagens ist der gemeinsame Speicher zweckmäßig in eine Reihe von getrennten Blocks unterteilt, wobei jede Aufgabe vollständig in einem einzigen Block enthalten ist und ohne Eingreifen des Monitore eines der Prozessoren nicht zu einem anderen Block gelangen kann. Ferner werden die Daten des Systeme, deren Verschwinden das vollständige Versagen der Vorrichtung zur Folge haben würde, in einem verdoppelten Block zusammengefaßt, so daß man die erforderliche Zuverlässigkeit erhält.
Bei der in Fig. 1 dargestellten AusfUhrungsform enthält der gemeinsame Speicher 16:
- einen Speioher 36 für die Daten des Systems (insbesondere eine Aktivitätetabeile der Aufgaben und Veränderlichen des Systems). Dieser Speicher 36 und sein Adressendekoder 37 werden durch einen Speicher und einen Dekoder verdoppelt, welche gleich ausgebildet aber nicht dargestellt sind, welche normalerweise in Bereitschaft stehen aber im Falle einer Störung mittels einer äue-
809821/090 0
275U16
- 0613 77 B
seren Steuerung eingesetzt werden. Der Speicher 36 enthält z.B. eine Seite in RAM 38 von 1 Kilowort von zwölf Bite (z.B. IM 6508 von INTERSIL) und drei Seiten in ROM oder PROM 39 von je 1 Kilowort (z.B. IM 5624). Die Seite in RAM 38 ist so vorgesehen, daß sie nur über eine Trennmarke zugänglich ist, so daß das Auslöschen ihres Inhalts durch eine falsche Adressierung vermieden wird. Die Zeit des Zugangs zu dieser Seite durch einen der Prozessoren wird durch die entsprechende Wachthundschaltung geprüft, welche einen RückweisungsVorgang auslöst, wenn die zugeteilte Dauer überschritten wird;
einen die Benutzungsprogramme enthaltenden Speicher, welcher nicht verdoppelt ist und durch Blocks 29 gebildet wird, deren jeder mit einem Adresseudekoder 30 versehen ist. In FJg. 1 ist ein einziger dieser Blocke dargestellt. Er enthält außer dem Dekoder 24 eine in RAM ausgeführte Seite von 1 Kilowort und drei Seiten von 1 Kilowort in ROM oder PROM. Die Unterteilung in getrennte Seiten ermöglicht einen besseren Schutz des Speichers.
Der gemeinsame Speicher enthält ebenfalls die bereits in dem örtlichen Speicher enthaltenen Befehlskodes.
Fig. 2 zeigt schematisch den so erhaltenen Aufbau. In dieser Figur ist mit"Block Null" der örtliche Speicher eines jeden Prozessors bezeichnet.(welcher nur für den entsprechenden Mikroprozessor zugänglich ist), mit "Block 1" der die Daten dee Systems enthaltenden Speicher (d.h. der Speicher 36) und mit "Blocks 2 bis 7" dio Speicher 29 zur Aufnahme der Benutzungsprogramme.
Der Zugang zu den Blocks 2 bis 7, ist auf die drei Prozessoren 11, 12 und 13 aufgeteilt. Wie oben angegeben, ist die Ausbildung so getroffen, daß das Versagen eines Blocks eine geringste Zahl von Aufgaben betrifft. Hierfür sind die Programme strukturiert. Jede Aufgabe ist vollständig in einem Block enthalten, und keine Aufgabe kann unmittelbar zu einem anderen Block gelangen. Die Ausführung einer Aufgabe hängt von keiner anderen nicht in einem Speicher verdoppelten Aufgabe ab, so daß man parallele Behandlungsketten erhält. Außerdem enthält jeder Block einen Modul "Monitor-Anruf" zur Veränderung des Programms eines der Prozessoren derart, daß sein Monitor-Programm wirksam gemacht wird. Schließlich sind die Programmbausteine so ausgebildet, daß eine Aufgabe, welche von einer anderen Aufgabe abhängt, möglichst in den gleichen Blook
809821/0900
275U16
-JBf- 0613 77 B
ΛΑ
eingegeben wird. '
Nachstehend ist beispielshalber angegeben, welches die typischen Funktionen sind, welche in einem gemeinsamen Speicher im Falle der Benutzung der Vorrichtung an einem gemäß den drei Achsen zu stabilisierenden geostationären Satelliten gespeichert sind.
Der den Speicher des Systems bildende Block 1 enthält die für das Arbeiten der gesamten Vorrichtung erforderlichen Daten (Zustand des Satelliten und der Randeinheiten, Zustand der Aufgaben und der Prozessoren usw.). Die Blocks 2 bis 7 können insbesondere die Programmbausteine der typischen Funktionen zur Kontrolle der Lage enthalten:
a) die Unterroutinen der allgemeinen Programmbausteine, numerische Filter erster und zweiter Ordnung, die Folge der Betätigung der Organe zur Veränderung der Lage durch Auf-Zu-Sehaltung (welche insbesondere die Verhältnisse der Zyklen und Komparatoren mit doppelter Schwelle enthält),
b) die üblichen Routinen zur Kontrolle der Lage, wie:
- die Kontrolle bei der Überführung an die gewünschte Stelle,
- die Behandlung der von einem von dem Satelliten getragenen Fühler gelieferten Daten (Filterung und Bildung von Befehlen zur Aktivierung von Düsen durch Auf-Zu-Steuerung),
- Kontrolle im normalen Betrieb (Erzeugung der Zahl von Sinusoiden von Perioden von 24 Stunden guter Stabilität, Behandlung der von dem Fühler gelieferten Daten und Bildung der Befehle zur Inetriebsetzung durch Auf-Zu-Steuerung der Motoren der Trägheitsräder und/oder von Düsen, Aufgabe der Überwachung der gesamten Ausrüstungen zur Kontrolle der Lage),
- Kontrolle während des Haltens an der richtigen Stelle, welche Aufgaben enthält, welohe den im normalen Betrieb zu erfüllenden ahnlich sind, jedoch mit verschiedenen Algorithmen, Überlagerung der Befehle der Steuerung der Umlaufbahn unter den Befehlen der Lagenkontrolle unter Benutzung der gleichen Unterroutine zur Aktivierung.
Schließlich können die Eingangs-Ausgangs-Schaltungen parallel arbeitende Schaltungen und in Reihe arbeitende Schaltungen enthalten. Nachstehend sind nur die parallel arbeitenden Schaltun-
809821/0900
275U16
- y- An 0613 77 B
gen kurz beschrieben.
Die schematisch in Fig. 1 dargestellte Vorrichtung enthält einen oder mehrere Eingangs- und Ausgangskanäle mit Worten von zwälf Bits. Da diese Kanäle identisch sind, ist nur ein einziger Kanal dargestellt.
Falls die Mikroprozessoren IM 6100 sind, besteht der Adressenteil der Weisung Eingang/Ausgang aus sechs Bits zur Wahl eines Organs und drei Bits zur Steuerung des Organs. Es können zwei Kanäle vorgesehen werden und als ein und dasselbe Organ betrachtet werden. Die drei Steuerbits werden dann als Unteradresse, Eingangs- oder Ausgangsbefehl und Befehl der Einstellung eines Indikators dekodiert.
Dia beiden Kanäle werden parallel mittels ein und desselben Dekoders gesteuert, welcher von der Adressensammelleitung 15 eine von einem beliebigen der Prozessoren 11, 12 und 13 ausgesandte Weisung empfängt. Der geeignete Kanal 33 wird dann erregt und überträgt die empfangenen Daten durch eine Leitung 34 von der Datensammelleitung 14 auf einen Eingange-Ausgangs-Verbinder 35 und von dem Verbinder zu der Leitung. In beiden Fällen wird der Indikator 32 eingestellt.
Fig. 1 zeigt ferner in stark vereinfachter Weise die Schaltungen zur Behandlung von Unterbrechungen. Es sind zwei UnterbrechungsnivGous vorgesehen, nämlich ein inneres (dem Zeitgeber in Echtzeit eines beliebigen Prozessors vorbehalten^ und ein äußeres , allen Prozessoren gemeinsames (Unterbrechung durch den Benutzer).
Die dargestellte Behend.lungaachaltung enthält ein Unterbrechungsregister 40 mit 12 Bits. Bei Empfang einer Unterbrechungsanforderung auf einer Leitung 41 fragt dieses Register 40 alle Prozessoren mittels einer Steuerlogik 42 und einer Unterbrechungsleitung 43 ab. Alle freien Prozessoren (d.h. die nicht auf einer Aufgabe verriegelten) treten in Konkurrenz. Der erste verfugbare behandelt den Unterbrechungebefehl. Der Modul zur Behandlung der Unterbrechungen in dem Speicher 36 bestimmt die verlangte Aufgabe und trifft je nach der dieser zugeteilten Dringlichkeit folgende Maßnahmen:
- er zeigt ein Kennzeichnungsbit in seiner Prioritätstabelle der Aufgaben an,
- oder bewirkt die sofortige uni vollständige Ausführung
809821/0900
h 0613 77 B
der Aufgabe, wenn sie kritisch ist.
Wie man sieht, können drei kritische Aufgaben gleichzeitig behandelt werden, und es ist nur ein einziges Speicherniveau vorzusehen, was die Programmbaueteine vereinfacht und sie zuverlässiger macht.
Es sind z.B. zwölf äußere Unterbrechungslinien 41 vorgesehen. Eine Schaltung 44 zum Bringen auf den letzten Stand bringt die Belegungsangaben von der Datensammelleitung 14 zu dem Register 40.
Es ist noch zu bemerken, daß der Aufbau des Systems das Arbeiten in "unmittelbarem Zugang zu dem Speicher" (DMA) ohne zusätzliche Schaltungen ermöglicht, indem man einen der Prozessoren während eines Bruchteils der Betriebszeit für die Funktion DMA bestimmt. Die Funktion DMA ist unter den Aktivitätsaufgaben, programmiert. Sobald ein Prozessor für eine Folge DMA vorbehalten ist, wird die Unterbrechung des Programms verboten, und die Indikatoren ■des entsprechenden Eingangs-Ausgangs-Kanals werden eingestellt.
Das System weist schließlich eine nicht dargestellte elektrische Speisung auf. Diese Speisung ist verdoppelt und gestattet, an die Stelle der normalen Speisung im Falle eines Versagens derselben eine Hilfsspeisung durch einen äußeren Befehl zu bringen. Eine Verbindung zwischen der Speisung und den "Wachthund-Schaltungen" eines jeden Prozessors ermöglicht diesen letzteren die Neuinitialisierung der Vorrichtung nachdem,die Hilfsspeisung an die Stelle der ausfallenden Speisung getreten ist.
Zu den oben beschriebenen Eingangs-Ausgangs-Schaltungen kann natürlich eine Schaltung zur analog-numerischen Umformung hinzugefügt werden, welche ebenfalls parallel an die Sammelleitungen 14 und 15 angeschlossen ist.
Da die Arbeitsweise des Systems aus der obigen Beschreibung hervorgeht, sind hier nur einige allgemeine Angaben über ihre Besonderheiten gemacht.
Ss ist zunächst zu bemerken, daß die in der Aktivi-. tätstabelle der Dringlichkeit nach geordneten Aufgaben vier durch Indikatoren bezeichnete Zustände haben können:
1. "AKTIV" wenn die Aufgabe gerade ausgeführt wird,
2. "BBRBlT" oder "IH BEREITSCHAFT", wenn sie ausgeführt werden soll, sobald ein Prozessor sie übernehmen kann,
809821/0900
275U16
0613 77 B
3. "INAKTIV", wenn sie sich in keinem der beiden obigen Zustände befindet,
4. schließlich "TOT", wenn sie nicht in die Zustände (1) und (2) kommen kann, z.B. wenn die entsprechende Aufgabe unmöglich ausgeführt werden kann, um eine Störung zu berücksichtigen.
Eine gegebene Aufgabe kann aus dem Zustand (3) in den Zustand (2) durch eine andere Aufgabe oder eine Unterbrechung gebracht werden. Sie wird aus dem Zustand (2) in den Zustand (1) durch den sie behandelnden Prozessor gebracht.
Ea oei angenommen, daß zunächst die drei Prozessoren 11, 12 und 13 frei sind. Auf eine Unterbrechungsanforderung hin bewirkt der Monitor eines jeden Prozessors in der Reiherfolge der Dringlichkeit die Ablesung der Aufgaben in dem Zustand "BEREIT" in der Aktivitätstabelle (in dem gemeinsamen Speicher 16). Von den drei Prozessoren übernimmt der erste die Ablesung vornehmende (welcher, wenn die drei Prozessoren im Betrieb sind, dem Zufall nach bestimmt wird, da die Zeitgeber der Kontrollschaltungen 20 asynchron sind) die vordringlichste Aufgabe in dem Zustand "BEREIT", d.h. deren Ausführung angefordert wurde. Der Prozessor reserviert dann den Zugang zu dem Block 1, und wenn er durch eine Unterbrechung erregt wurde, hebt er diese auf. Er prüft, ob sich die Aufgabe noch in dem Zustand "BEREIT" befindet, da ein anderer Prozessor sie seit der ersten Ablesung übernommen haben kann. In diesem Fall gibt der Prozessor den Zugang zu dem Block 1 frei und kehrt in den Zustand des Aufsuchens einer "bereiten" Aufgabe zurück. Wenn sich dagegen die Aufgabe noch in dem Zustand "BEREIT" befindet, verändert der Prozessor den Zustand der Aufgabe von "BEREIT" in "AKTIV" und gibt den Zugang zu dem Block 1 frei. Er speichert seinen Index in dem örtlichen Speicher des Monitors, so daß die Angabe des Prozessors, welcher die Aufgabe ausführte, im Falle einer Störung aufbewahrt wird. Hierauf wird die Aufgabe ausgeführt. Wenn sie beendet ist, bringt der Prozessor die Aufgabe in der Tabelle in den Zustand "INAKTIV".
Während der erste Prozessor eine Aufgabe ausführte, kann ein äußerer Unterbrechungsbefehl abgegeben worden sein. Der erste Prozessor, welcher zum Empfang der Unterbrechung bereit ist, liest das Weisungsregister ab und dekodiert gegebenenfalls zur Be-
809821 /0900
275U16
0615 77 B
Stimmung der Dringlichkeit der Unterbrechung die dringlichste.
Die Programme können auch ein Aktivierungebit einer Aufgabe einstellen, und zwar nicht um die Ausführung einer Aufgabe zu verlangen, sondern um einen direkten Zugang zu dem Speicher für eine Eingangs- oder Ausgangsrandeinheit zu verlangen. Dieser Vorgang erfolgt durch denjenigen der Prozessoren, welcher frei ist, und nicht durch eine verdrahtete Logik. Diese Lösung ermöglicht die Verbesserung der Zuverlässigkeit, da sie das Vorhandensein von mit den Randeinheiten parallelen Schaltungen vermeidet.
In jedem Block ist es möglich, mittels einer äußeren Steuerung eine Aufgabe in den Zustand "TOT" zu bringen, insbesondere wenn die Aufgabe aus irgendeinem Grunde (Störung, Programmierfehler usw.) nicht ausgeführt werden kann. Wenn sich die Aufgabe in dem Zustand 11TOT" befindet, überspringen die Prozessoren die Aufgabe bei der Ablesung des Speichers 36. Wie man sieht, erzeugen die Störungen eines beliebigen Teils der Speicher keine Ausserbetriebsetzung des Systems, sondern höchstens eine einfache Verschlechterung seiner Leistungen. Wenn z.B. einer der Blocks 0 gestört ist, genügt es, mittels einer äußeren Steuerung den entsprechenden Prozessor außer Betrieb zu setzen. Wenn der Block 1 gestört wird, nimmt man den in Bereitschaft befindlichen Block an der Stelle des gestörten Blocks in Betrieb. Die gemeinsamen Daten sind dann verloren. Es genügt jedoch, das ganze System neu zu initialisieren. Wenn schließlich einer der Blocks 2 bis 7 gestört wird, verliert man einfach die in dem Block enthaltenen Benutzungsprogramme, welcher dann in der Aktivitätβtabelle des Blocks 1 in den Zustand "TOT" übergeht.
Die "Wachthund-Schaltung" eines jeden Prozessors ermöglicht insbesondere:
- die Ausführung einer Aufgabe zu unterbrechen, wenn ihr Zugang zu dem Block 1 zu lange dauert. Die Schaltung hält dann den Prozessor an» und dieser wird durch einen äußeren Befehl wieder in Betrieb gesetzt;
- bei einer Störung der Speisung diese festzustellen, den den Ersatz der fehlerhaften Speisung durch die Speisung in Bereitschaft zu bewirken (dieser Vorgang kann jedoch durch Benutzung einer äußeren Fernsteuerung erfolgen), und dann das System unter Auslösung der Ausführung der entsprechenden Routine neu zu initiall-
809821/0900
275U16
λ V5 - 0613 77 Β
öderen. Der Fernsteuerun#swechi>el kann in höchüt einfacher Weise mitteln eineu elektromagnetischen Reluio mit zwei Stellungen mit Hai tt?k reis erfolgen;
- im Falle eines Irrtums in dem Programmablauf die Ausführung denselben zu \interbrechen und den Prozessor neu zu initin] i Hiernn. Fnlln ο ich der Fehler wiederliolt und eine dauernde Stönui,1? mitfilit, kann nie den Prozessor in logischer Hinsicht ausschalten oder einen Alarm auslösen, auf den hin dor Prozessor durch eint; Fernsteuerung uusßeochiedon wii'd.
809821/0900
Leerseit

Claims (9)

  1. PATENTANSPRUCHS
    0613 77 B
    275Η18
    Digitales oder nummerisches Datenbehandlungssystem, insbesondere für Raumfahrzeuge mit einem gemeinsamen Speicher und n_ von einander unabhängigen Allzweckprozessoren, wobei jeder dieser Prozessoren die gesamte Steuerfähigkeit des Systems hat und einen eigenen Arbeitsspeicher aufweist, dadurch gekennzeichnet, dass die Allzweckprozessoren (11, 12, 13), deren Arbeitsspeicher (19) eine zum Aufnehmen der Leitprogramme des Systems ausreichende Kapazität aufweist, sowie der gemeinsame Speicher (16) und Eingangs- bzw. Ausgangsschaltungen mit einer einzigen, in geteilter Zeit arbeitenden Sammelleitung parallel verbunden sind, wobei diese Sammelleitung gegenüber Störungen in den ihr zugeschalteten Systemen abgesichert ist und wobei der gemeinsame Speicher (16) die Leitdaten des Systems sowie die Benutzungsprogramme enthält.
  2. 2. System nach Anspruch 1, dadurch gekennzeichnet, daß der gemeinsame Speicher (16) einen Block (36, 37) aufweist, welcher durch einen zusätzlichen, in Bereitschaft stehenden Block verdoppelt wird, welcher die Daten enthält, deren Verschwinden das vollständige Versagen des Systems zur Folge hätte, und einen oder mehrere, die Benutzungsprogramme enthaltende Blocks.
  3. 3. System nach Anspruch 2, dadurch gekennzeichnet, daß gewisse Benutzungsprogramme zur Erhöhung der Zuverlässigkeit in verschiedenen Blocks verdoppelt sind.
  4. 4. System nach Anspruch 2 oder 3» dadurch gekennzeichnet, daß jede auszuführende Aufgabe durch ein Programm definiert ist, welches in ein und demselben Block enthalten ist und nicht zu einem anderen Block ohne Eingreifen des Monitorprogramme eines der Prozessoren gelangen kann.
  5. 5. System nach einem der Ansprüche 1 bis 4» dadurch gekennzeichnet, daß jeder Prozessor einen Mikroprozessor (17) mit integrierten Schaltungen, einen für die anderen Prozessoren nicht zugänglichen örtlichen Speicher (19) und eine Eontrollschaltung (20) zur Ausdehnung der Adressen eines Speichers, deren Kapazität mit der des gemeinsamen Speichere verträglich ist, aufweist.
  6. 6. System nach Anspruch 5» dadurch gekennzeichnet, daß der örtliche Speicher (19) eines jeden Prozessors einen Festspeieher (22) zur Aufbewahrung dee Ieitprogramme des Prozessors, d.h. insbesondere des Monitore, der Behandlung der inneren Unterbrechungen und gegebenenfalls einer Behandlung für den unmittelbaren
    809821/0900
    ORIGINAL INSPECTED
    275U16
    - \jö - 0613 77 B
    Zugang zu dem Speicher, und einen Random-Speicher (23) enthält.
  7. 7. System nach Anspruch 5 oder 6, gekennzeichnet durch Mittel, welche von außen kommende Unterbrechungsanforderungen parallel an alle Prozessoren anlegen.
  8. 8. System nach einem der Ansprüche 5 hie 7, dadurch gekennzeichnet, daß jede Kontrollschaltung zur Ausdehnung der Adressen eines Speichers einen Zeitgeber in Echtzeit enthält, welcher durch den zugehörigen Mikroprozessor gesteuert wird und von dem Rest des Systems unabhängig ist.
  9. 9. System nach einem der Ansprüche 1 bis 8, gekennzeichnet durch drei identische Prozessoren, welche unabhängig voneinander durch eine äußere Steuerung in oder außer Betrieb gesetzt werden können, wobei die Zeit des Zyklus in dem gemeinsamen Speicher wenigstens dreimal kürzer als die Dauer einer Prozessorweisung ist.
    809821/0900
DE19772751416 1976-11-23 1977-11-17 Numerisches system zur datenbehandlung, insbesondere fuer raumfahrzeuge Ceased DE2751416A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7635257A FR2371734A1 (fr) 1976-11-23 1976-11-23 Systeme numerique de traitement de donnees, notamment pour vaisseau spatial

Publications (1)

Publication Number Publication Date
DE2751416A1 true DE2751416A1 (de) 1978-05-24

Family

ID=9180197

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772751416 Ceased DE2751416A1 (de) 1976-11-23 1977-11-17 Numerisches system zur datenbehandlung, insbesondere fuer raumfahrzeuge

Country Status (4)

Country Link
DE (1) DE2751416A1 (de)
FR (1) FR2371734A1 (de)
GB (1) GB1552086A (de)
SE (1) SE7713186L (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4365294A (en) * 1980-04-10 1982-12-21 Nizdorf Computer Corporation Modular terminal system using a common bus
US4430727A (en) * 1981-11-10 1984-02-07 International Business Machines Corp. Storage element reconfiguration
AU2016283A (en) * 1982-10-15 1984-04-19 General Electric Company, Plc, The Plural data processing units
DE3688139T2 (de) * 1986-12-30 1993-10-07 Ibm Gedoppelte Schaltungsanordnung zur schnellen Übertragung und Reparierbarkeit.
GB2254469B (en) * 1991-03-28 1995-05-10 Barcrest Ltd Data storage
DE19818175A1 (de) 1998-04-23 1999-10-28 Bosch Gmbh Robert Verfahren und System zur Datensicherung
IL245566A0 (en) * 2016-05-10 2016-08-31 Israel Aerospace Ind Ltd Satellite energy management

Also Published As

Publication number Publication date
GB1552086A (en) 1979-09-05
SE7713186L (sv) 1978-08-10
FR2371734A1 (fr) 1978-06-16
FR2371734B1 (de) 1980-04-18

Similar Documents

Publication Publication Date Title
DE3781486T2 (de) Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens.
DE3803759C2 (de)
DE2400161C2 (de)
DE2722099C2 (de)
EP0057756B1 (de) Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen
DE19815263C2 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
EP0163096A1 (de) Einrichtung zur Rettung eines Rechnerzustandes
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE2908316A1 (de) Multikonfigurierbares modulares verarbeitungssystem, das mit einem vorverarbeitungssystem integriert ist
DE1279980B (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE2928488A1 (de) Speicher-subsystem
DE2015971A1 (de) Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden
DE2101949A1 (de) Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage
EP0109981B1 (de) Ausfallgesicherte Datenverarbeitungsanlage
DE3401783A1 (de) Programmierbare steuerung
DE2751416A1 (de) Numerisches system zur datenbehandlung, insbesondere fuer raumfahrzeuge
DE3780306T2 (de) Adapterbusschalter zur verbesserung der verfuegbarkeit einer steuereinheit.
DE3048414A1 (de) "schaltungsanordnung fuer eine datenverarbeitungsanlage"
EP0141245B1 (de) Verfahren zum Betrieb eines in Normalbetriebszeit parallel betriebenen Speicherblockpaares
DE3689491T2 (de) Überwachungsschaltung.
DE2647367A1 (de) Redundante prozessteueranordnung
EP0113379A1 (de) Rechnerkopplung
EP0135931B1 (de) Zentralsteuereinheit eines Vermittlungssystems insbesondere Fernsprech-Vermittlungssystems
DE1966991A1 (de) Ausfallgesicherte datenverarbeitungsanlage
DE3149678C2 (de) Anordnung zur Zwischenspeicherung von zwischen zwei Funktionseinheiten in beiden Richtungen zu übertragenden Informationen in einem Pufferspeicher

Legal Events

Date Code Title Description
OD Request for examination
8131 Rejection