DEVICE FOR THE FAULT-TOLERANT INPUTTING/OUTPUTTING OF DATA

Abstract: The input/output units (E1 to En, A1 to An) to be dealt with by a computer (R) are connected via separate data lines (De1 to Den, Da1 to Dan) to corresponding inputs/outputs (e1 to en, a1 to an) of input/output registers (ER1, AR1); all input/output units connected to one register are in each case jointly interrogated, or supplied with data, bit by bit. In the computer, the data sequences originating in each case from several input units (E1 to En) or processed for these are reordered in a particular manner so that they correspond to the data sequence coming from the respective data source at the respective data receiver. Any disturbances during the reading-in/reading-out of data are restricted to the input/output units directly affected by the disturbance; no address decoding is required at the input/output units. <IMAGE>

Description: Einrichtung zur fehlertoleranten Ein/Ausgabe von Daten Die Erfindung bezieht sich auf eine Einrichtung nach dem Oberbegriff des Patentanspruches 1. Bei der Steuerung vorzugsweise umfangreicher Prozesse durch Rechner oder Rechnersysteme, beispielsweise der Steuerung von Stellwerks- und Rangieranlagen im Eisenbahnwesen, werden regelmässig Ein/Ausgabeeinheiten verwendet, welche die Schnittstelle zwischen dem Rechnersystem und den zu steuernden Prozesselementen darstellen. Diese Ein/Ausgabeeinheiten fächern den rechnerinternen Datenbus auf auf die elementspezifischen Ein/Ausgabeleitungen bzw. sie vereinigen die von der Peripherie angelieferten Daten auf den Datenbus. Jede Ein/Ausgabeeinheit versorgt eine bestimmte Anzahl von Prozesselementen; sie besteht für die Eingabe aus Trenngattern, ggf. auch Pufferspeichern für flüchtige Daten und für die Ausgabe grundsätzlich aus Pufferspeichern. Zu den Prozesselementen hat das Rechnersystem mittelbar Zugriff über die Ein/Ausgabeeinheiten; hierzu steuert das Rechnersystem die jeweils zu behandelnde Ein/Ausgabeeinheit per Adresse an und veranlasst dann das byteweise Einlesen bzw. Ausgeben von Daten in das Rechnersystem bzw. an die angesprochene Ausgabeeinheit. Die Übermittlung von Adressen, Daten und mindestens einem Teil der Steueranweisungen für den Betrieb des Rechnersystems geschieht regelmässig über ein dafürvorgesehenes Bussystem. Um Fehireaktionen des Rechnersystems oder der Prozesselemente durch fehlerhafte Adressendekodierung an den Ein/ Ausgabeeinheiten auszuschliessen, ist es bei besonders sicherheitsrelevanten Prozesssteuerungen üblich, die Adressierung der Ein/Ausgabeeinheiten durch Rückübertragung entweder der Adresse oder eines anderen Kennzeichens an die jeweils adressierende Stelle zu überprüfen, bevor die Daten übermittelt werden. Auch die Daten selbst können vor ihrer Anerkennung rückübertragen und erst nach Uberprüfung mit den ausgesandten Daten freigegeben werden (DE-OS 25 47 178). Dieses Verfahren zum gesicherten Austausch von Daten in Datenverarbeitungsanlagen ist zeitaufwendig, ohne dass im Endeffekt aber sichergestellt ist, dass die zu übermittelnden Daten auch tatsächlich und ausschliesslich bei den jeweils adressierten Einheiten ankommen. Die Steuerung - insbesondere der Ein/Ausgabeeinheiten über ein Bussystem hat neben Vorteilen den grundsätzlichen Nachteil, dass bei bestimmten Störungen auf einem der Busse, beispielsweise bei einem Kurzschluss des Aus/ Einganges einer Ein/Ausgabeeinheit, der weitere Betrieb des Rechnersystems nicht mehr möglich ist. Aufgabe der vorliegenden Erfindung ist es, eine Einrichtung nach dem Oberbegriff des Patentanspruches 1 anzugeben, die es gestattet, durch schaltungstechnische Massnahmen auf die bisher erforderliche Adressdekodierung an den Ein/Ausgabeeinheiten zu verzichten und damit die Zuverlässigkeit der Anlage zu erhöhen und die darüber hinaus auch eine hohe Verfügbarkeit aufweist, indem sie die Auswirkungen von Störungen an einzelnen Ein/Ausgabeeinheiten auf die durch die Störung jeweils direkt betroffene Ein/Ausgabeeinheit bzw. bei mehreren durch die Störung direkt betroffene Ein/Ausgabeeinheiten auf diese beschränkt. Die Erfindung löst diese Aufgabe durch die kennzeichnenden Merkmale des Patentanspruches 1. Vorteilhafte Ausbildungen der erfindungsgemässen Einrichtung sind in den Unteransprüchen angegeben. Die Erfindung ist nachstehend anhand eines in der Zeichnung dargestellten Ausführungsbeispieles näher erläutert. Die Zeichnung zeigt im linken Teil in ausschnittsweiser schematischer Darstellung die zur Abarbeitung von Einund Ausgaben erforderlichen internen Teile eines Rechners oder Rechnersystem R und im rechten Teil eine Anzahl Eingabeeinheiten El bis En und Ausgabeeinheiten Al bis An. Über die Eingabeeiheiten werden von nicht dargestellten Prozesselementen stammende Meldungen an das Rechnersystem gegeben, über die Ausgabeeinheiten vom Rechner stammende Kommandos an die Prozesselemente. An jede Ein/Ausgabeeinheit sind bis zu acht Prozesselemente angeschlossen. Die Ein/Ausg#beeinheiten sind durch Parallel/Serien- bzw. Serien-Parallel-Wandler dargestellt. Die seriellen Ausgänge der Eingabeeinheiten El bis En sind über separate Datenleitungen Del bis Den an zugeordnete Eingänge el bis en eines Eingaberegisters ER1 angeschlossen; die seriellen Eingänge der Ausgabeeinheiten Al bis An sind über separate Datenleitungen Dal bis Dan an zugeordnete Ausgänge al bis an eines Ausgaberegisters AR1 angeschlossen. Ferner führen zu den Ein/ Ausgabeeinheiten Takt- und Steuerleitungen S1 bzw. S2 jeweils getrennt für die Eingabeeinheiten und die Ausgabeeinheiten. Die Takt- und die Steuerleitungen sind an zugehörigen Ausgänge sl bzw. s2 des Rechners angeschlossen. Über die Steuer- und Taktleitungen werden die angeschlossenen Ein- bzw. Ausgabeeinheiten jeweils gemeinsam zur seriellen, taktgesteuerten Eingabe bzw. Ubernahme von Daten veranlasst. In dem dargestellten Ausführungsbeispiel sind für die Eingabeeinheiten El bis E3 und En von den Prozesselementen stammende beliebige Daten angenommen worden. Die Übernahme dieser Daten durch den Rechner wird nachfolgend näher erläutert. Die Übernahme von Daten in den Rechner kann sowohl von der Peripherie als auch vom Rechner aus initiiert werden. Liegen Daten von den Eingabeeinheiten El bis En zur Ubernahme an, so adressiert der Rechner zunächst dasjenige Eingaberegister, über das die zu übernehmenden Daten zuführbar sind; im angenommenen Beispiel ist dies das Eingaberegister ER1. Der Rechner, im vorliegenden Beispiel dargestellt durch ein Prozessor-Modul CPU, Speicher ROM und RAM sowie Adress-, Daten- und Steuerbus ADR, D und ST, veranlasst sodann die Ausgabe eines Steuersignals auf diejenige Steuerleitung Sf, die zu den abzufragenden Eingabeeinheiten El bis En führt. Die einzelnen Speicherplätze der Eingabeeinheiten werden daraufhin taktgesteuert abgefragt und übermitteln die in ihnen gespeicherten Daten an das Eingaberegister ER1. Dabei bilden die aus dem ersten, zweiten, dritten usw. Speicherplatz der Eingabeeinheiten El bis En abgefragten Datenbits jeweils Datenworte, die vom Eingaberegister ER1 aufgenommen und unter Steuerung durch den Prozessor Modul CPU in den Arbeitsspeicher RAM des Rechners eingeschrieben werden. Die dort nacheinander abgelegten. Datenworte entsprechen nicht den in den einzelnen Eingabeeinheiten abgespeicherten Datenfolgen. Für eine nachfolgende Verarbeitung der übermittelten Daten ist es daher erforderlich, auf Seite des Rechners die ursprüngliche Zuordnung der Daten zu den einzelnen Eingabeeinhei ten und damit zu den zugehörigen Prozesselementen wiederherzustellen. Hierzu geht die Erfindung von der Erkenntnis aus, dass sich die ursprüngliche Zuordnung der Daten zu den Eingabeeinheiten und damit zu den zugehörigen Prozesselementen aus den im Arbeitsspeicher RAM zwischen gespeicherten Datenworten dadurch wiederherstellen lässt, dass man in der aus den nacheinander übertragenen Datenworten entstandenen Datenmatrix DM durch Vertauschen von Zeilen und Spalten die Transponierte DT bildet. In der Zeichnung ist der vorgenannte Umsetzvorgang symbolisch durch strichpunktierte Linien verdeutlicht. Der Prozessor-Modul CPU veranlasst dabei - ggf. unter Benutzung eines internen Registers - das spaltenweise Auslesen der durch die übertragenen Datenworte gebildeten Datenmatrix des Arbeitsspeichers RAM und das Einschreiben der dabei gebildeten neuen Datenworte in einen anderen Bereich des Arbeitsspeichers. Er tut dies unter dem Einfluss eines in einem Festwertspeicher ROM abgelegten Programmes. Nach Abschluss des Umstellvorganges liegen im Arbeitsspeicher RAM die von den Eingabeeinheiten ursprünglich angebotenen Datenfolgen an; sie können jetzt zur eigentlichen Datenverarbeitung im Rechner freigegeben werden. Ganz ähnlich verhält es sich bei der Ausgabe von Daten. Die vom Rechner für eine bestimmte Gruppe von Ausgabeeinheiten, z.B. die Ausgabeeinheiten Al bis An erarbeiteten Daten bilden im Arbeitsspeicher des Rechners eine Datenmatrix. Aus dieser Datenmatrix ermittelt der Rechner die Transponierte und überträgt die so umgestellten Daten wortweise an das Ausgaberegister AR1, an dessen Ausgänge al bis an die Ausgabeeinheiten Al bis An über zugeordnete separate Datenleitungen Dal bis Dan angeschlossen sind. Die Datenworte werden dabei so an das Ausgaberegister AR1 übertragen, dass in den Ausgabeeinheiten nach Beendigung des Übertragungsvorganges genau die Daten gespeichert sind, die zuvor vom Rechner für diese Einheiten erarbeitet wurden. Störungen an einzelnen Ein- oder Ausgabeeinheiten bleiben in ihrer Wirkung auf die durch die Störung jeweils betroffenen Ein/Ausgabeeinheiten begrenzt, weil die durch die Störung nicht betroffenen übrigen Ein/Ausgabeeinheiten von der bzw. den gestörten Ein/Ausgabeeinheiten über die zugeordneten Datenleitungen entkoppelt sind. Damit wird für den Vorgang der Eingabe und der Ausgabe von Daten vom Prozess aus in den Rechner bzw. vom Rechner an den Prozess eine Verfügbarkeit erreicht, die weit über der solcher Rechner oder Rechnersysteme liegt, die mit ihren Ein/Ausgabeeinheiten über ein Bussystem kommunizieren. Für die Ein- bzw. Ausgabe von Daten adressiert der Rechner einzelne Register, beispielsweise das Eingaberegister ER1 oder das Ausgaberegister AR1, und von diesen Registern werden die zu übertragenden Daten an den Rechner bzw. die Ausgabeeinheiten weitergeleitet. Da die Ein/Ausgabeeinheiten vom Rechner mittelbar über die Ein/Ausgaberegister adressiert werden, ist an den Ein/ Ausgabeeinheiten selbst keinerlei Adressdekodierung mehr erforderlich. Damit vermindert sich die Möglichkeit von Dekodierungsfehlern bei der Datenübertragung, und dies macht das Ein- und Ausgeben von Daten zuverlässiger als bei Anlagen mit Einzeladressierung der Ein/Ausgabeeinheiten. Nach einer vorteilhaften Ausbildung der Erfindung ist vorgesehen, die Anzahl der an ein Ein/Ausgaberegister anzuschliessenden Ein- bzw. Ausgabeeinheiten jeweils höchstens gleich der Datenbreite der parallelen Datenverarbeitung innerhalb des Rechners zu machen. Bei dieser Begrenzung ist die Datenaufbereitung innerhalb des Rechners ausserordentlich wenig aufwendig. Für die Be handlung einer grösseren Anzahl von Ein/Ausgabeeinheiten als durch die Datenbreite der parallelen Datenverarbeitung vorgegeben ist, sind die Ein- und die Ausgabeeinheiten in vorteilhafter Weise jeweils an unterschiedliche Ein/Ausgaberegister anzuschliessen, die nacheinander vom Rechner adressiert und behandelt werden. Selbstverständlich ist es prinzipiell auch möglich, über jede Ein/Ausgabeeinheit mehr Daten zu übermitteln als durch die Datenbreite der internen Datenverarbeitung vorgegeben ist; allerdings ist dabei der Aufwand für das adressenorientierte Abspeichern der Daten im Arbeitsspeicher und der Aufwand für das Umstellen der Daten im Arbeitsspeicher erheblich grösser als bei der zeitmultiplexen Ubertragung dieser Daten über mehrere Ein/Ausgaberegister. In dem vorstehend erläuterten Ausführungsbeispiel werden die von den Eingaberegistern übernommenen bzw. an die Ausgaberegister zu übertragenden Datenworte im Arbeitsspeicher des Rechners zwischengespeichert. Zum Speichern dieser Datenworte und ggf. zum Bilden der Transponierten können auch andere rechnerinterne oder externe Register vorgesehen sein. Die umzustellenden bzw. auszuwertenden oder zu übertragenden Datenworte müssen auch nicht unbedingt blockweise abgespeichert werden; wichtig ist nur, dass die Daten so abgelegt und wieder aufgerufen werden, dass sich der erläuterte Umsetzvorgang ergibt, der die Zuordnung der Daten zu den Prozesselementen ermöglicht. Die Datenverarbeitung innerhalb des Rechners wird zweckmässigerweise durch einen Mikrocomputer realisiert. Dieser Mikrocomputer veranlasst das Ein- und das Ausgeben von Daten sowie das interne Umstellen der Datenfolgen in seinem Arbeitsspeicher unter Steuerung durch die jeweils zugehörige CPU. 7 Patentansprüche 1 Figur

Claims: Device for the fault-tolerant input/output of data into or out of, respectively, a computer or a computer system with the employment of a computer module and external input/output units for the word-based provision of data to be input or output respectively, characterised in that the input/output units (E1 to En, A1 to An) are equipped with serial outputs and inputs which are connected via separate data lines (De1 to Den, Da1 to Dan) to associated inputs/outputs (e1 to en, a1 to an) of input/output registers (ER1, AR1), and in that the clock and control inputs of the input units and of the output units for the serial output or input of data respectively via clock and control lines (S1, S2) are connected jointly in each case to associated clock and control outputs (s1, s2) of the computer module (R), in that, after addressing of an input/output register (ER1, AR1), by seizing the respectively associated clock and control lines (S1, S2) via the data lines (De1 to Den, Da1 to Dan) between the addressed input/output register (ER1, AR1) and the input/output units (E1 to En, A1 to An) connected thereto, the computer module initiates a word-based transfer of data between the two, as a result of which during the data input the respective first, second ... nth memory locations of the individual input units (E1 to En) are jointly interrogated via the input register (ER1), the word-based interrogation is continued until all data (memory locations 1 to n of an input unit E1) have been read row-by-row/column-by-column into a memory matrix (DM), and the data matrix (DM) is converted into its transposed value (DT) for the internal evaluation, and as a result of which during the data output the data words for the output units (A1 to An) are stored in a data matrix and the transposed value is formed therefrom, whose first, second ... nth positions in the row/column direction are jointly interrogated in each case via the output register (AR1) and are fed to the output units, the interrogation being continued until all output units are occupied. Device according to Claim 1, characterised in that the input units and the output units are connected in each case to separate input and output registers. Device according to Claim 1 and 2, characterised in that the number of input or output units connected to an input/output register is at most equal to the data width of the parallel data processing within the data processing system in each case. Device according to Claim 3, characterised in that, for handling a larger number of input and output units than given by the data width of the parallel data processing, a plurality of input and output registers are provided, which can be addressed independently of one another. Device according to at least one of Claims 1 to 4, characterised in that the computer (R) calls up the input/output registers (ER1, AR1) individually and independently of one another in each case. Device according to at least one of Claims 1 to 5, characterised in that, for forming the transposed values, a microcomputer is provided as part of the computer module to be operated. Device according to Claim 6, characterised in that the temporary storage and the formation of the transposed values take place in the main memory of the microcomputer under the control of the CPU of the microcomputer.

Inventors: BUSCH, ARMIN, DIPL.-ING.
Applicants: SIEMENS AKTIENGESELLSCHAFT
Application year: 1986
Main classification: G06F11
IPC codes: G06F11