DE2247781C3 - Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage - Google Patents

Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage

Info

Publication number
DE2247781C3
DE2247781C3 DE19722247781 DE2247781A DE2247781C3 DE 2247781 C3 DE2247781 C3 DE 2247781C3 DE 19722247781 DE19722247781 DE 19722247781 DE 2247781 A DE2247781 A DE 2247781A DE 2247781 C3 DE2247781 C3 DE 2247781C3
Authority
DE
Germany
Prior art keywords
channel
input
register
output
kfr
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.)
Expired
Application number
DE19722247781
Other languages
English (en)
Other versions
DE2247781B2 (de
DE2247781A1 (de
Inventor
Oswald 8000 Muenchen Fundneider
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19722247781 priority Critical patent/DE2247781C3/de
Publication of DE2247781A1 publication Critical patent/DE2247781A1/de
Publication of DE2247781B2 publication Critical patent/DE2247781B2/de
Application granted granted Critical
Publication of DE2247781C3 publication Critical patent/DE2247781C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Description

Die Erfindung bezieht sich auf eine Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage, bei der die Ein-Ausgabebefehle als Maschinenbefehle im Anwenderprogramm programmiert sind.
Datenverarbeitungsanlagen, die als Prozeßrechner eingesetzt werden, müssen häufig sich scheinbar widersprechenden Forderungen genügen. Sie müssen betriebssicher sein und sie müssen ein günstiges Rciil/citverhaltcn haben. Um ein gutes Realzeitverhallcn zu erreichen, ist es üblich, daß in den Anwenderprogrammen direkt Maschinenbefehle stehen, die Ein-Ausgabetransfers veranlassen. Dann aber besteht die Gefahr, daß durch fehlerhafte Programmierung der Ein-Ausgabebefehle in den Anwenderprogrammen die Datenverarbeitungsanlage blockiert oder sogar beschädigt wird.
Ist dagegen das Realzeitverhalten nicht kritisch, dann werden gewöhnlich alle Ein-Ausgubevorgänge vom Betriebssystem ausgeführt, das bei entsprechendem Software-Aufwand einen nahezu beliebigen Schutzpegel garantieren kann.
ίο Aufgabe der Erfindung ist es, eine Anordnung anzugeben, bei der zur Erreichung eines günstigen Realzeitverhaltens die Ein-Ausgabebefehle in Maschinensprache in den Anwenderprogrammen realisiert sind und bei der trotzdem die Folgen einer fehlerhaften
Ii Programmierung der Ein-Ausgabebefehle auf den Betrieb einer Datenverarbeitungsanlage gering sind. Diese Aufgabe wird dadurch gelöst, daß ein Kanalfreigaberegister vorgesehen ist, das pro Kanal mindestens eine Bitstelle enthält, daß die einem Kanal zugeordneten
>o Bitstellen im Kanalfreigaberegister für das laufende Anwenderprogramm markiert sind, wenn der Kanal bei der Ausführung von Ein-Ausgabebefehlen verwendet werden soll, daß eine Freigabesteuerung vorgesehen ist, die einerseits mit dem Kanalfreigaberegister, andererseits mit den Leitungen, auf denen die Ein-Ausgabebefehle übertragen werden, verbunden ist und die überprüft, ob der dv*m Ein-Ausgabebefeh! zugeordnete Kanal im Kanalfreigaberegister für das laufende Anwenderprogramm markiert ist und die für den Fall der Nichtmarkierung eine Fehlermeldung abgibt. Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Ist nur ein Bit für einen Kanal im Kanalfreigaberegister vorgesehen, dann wird der entsprechende Kanal für
J5 die Ausführung eines Ein-Ausgabebefehls dann freigegeben, wenn dieses Bit markiert ist. Es können aber auch mehr als ein Bit pro Kanal im Freigaberegister vorgesehen werden. Dann kann der zugeordnete Kanal nicht nur als Ganzes freigegeben oder gesperrt sein, sondern es ist auch möglich, den zugeordneten Kanal für ganz bestimmte Ein-Ausgabebefeh'e zu sperren oder freizugeben oder den zugeordneten Kanal für bestimmte Daten, die bei der Ausführung eines Ein-Ausgabebefehls übertragen werden, zu sperren oder freizugeben.
Das Kanalfreigaberegister hat somit die Funktion, für das gerade laufende Programm einen Teil der Kanäle freizugeben, einen anderen Teil der Kanäle zu sperren. Dies geschieht entsprechend der Stellung der Bitstellen im Kanalfreigaberegister. Ein freigebener Kanal darf
Vi also vom laufenden Programm unmittelbar mit Ein-Ausgabebefehlen angesprochen werden. Geschieht dies aber mit eine : gesperrten Kanal dann wird dies als Programmfehler erkannt, die Ausführung des Ein-Ausgabebefehls unterdrückt und dies dem Betriebssystem über eine Unterbrechungsanordnung mitgeteilt.
Eine Freigabesteuerung überprüft den Inhalt des Kanalfreigaberegisters und vergleicht ihn mit dem gerade abzuarbeitenden Ein-Ausgabebefehl. Ist der Kanal, dessen Kanaladresse im Ein-Ausgaberegister angegeben ist, durch das Kanalfreigaberegister freigegeben, dann läuft die Ausführung des Ein-Ausgabebefehls normal weiter. Ist dagegen der Kanal, dessen Adresse im Ein-Ausgabebefehl steht, nicht freigegeben, dann veranlaßt die Freigabesteuerung die Fehlermeldung.
Das Kanalfraigaberegister kann vom Betriebssystem vor Beginn des Programmablaufes geladen werden, und zwar entweder speziell für jeden Anwender oder aber
für eine ganz bestimmte Betriebsdauer.
Der Inhalt des Kanalfreigaberegisters kann zu den organisatorischen Daten jedes Programms gehören. Das Kanalfreigaberegister kann dann von einer eigenen Steuerung bei jedem Programmwechsel automatisch neu geladen werden. Das Be'riebssystem wird dann für ein Programm nur beim Einstellen des Inhaltes des Kanalfreigaberegisters oder bei Änderungen des Inhaltes des Kanalfreigaberegisters tätig. Es kann festgelegt sein, daß der Inhalt des Kanalfreigaberegisters nur von privilegierten Programmen, wie z. B. durch das Betriebssystem verändert werden kann.
In der Figur ist ein Ausführungsbeispiel der erfindungsgemäßen Anordnung gezeigt. Dabei sind zwei Möglichkeiten dargestellt, nämlich erstens, daß die Ein-Ausgabebefehle über den Zentralprozessor laufen und zweitens, daß für die Ausführung der Ein-Ausgabebefehle ein besonderes Kanalwerk vorgesehen ist.
Die Ein-Ausgabebefehle stehen in einem Arbeitsspeicher ASP. Von dort werden sie bei der Realisierung der ersten Möglichkeit in ein Befehlsregister BFR übertragen. Hier wird der Ein-Ausgabebefehl decr-iiert. Mit Hilfe des Inhaltes eines Registersatzes wird die Kanaladresse des für die Ausführung des Ein-Ausgabebefehls vorgesehenen Kanals gebildet und über die Leitungen L1 einer Synchronisierungsschaltung SC zugeführt. Der Operationsteil OP des Ein-Ausgabebefehls wird über die Leitungen L 2 ebenfalls der Synchronisierungsschaltung SC zugeleitet. Schließlich wird mit Hilfe eines Teiles des Ein-Ausgabebefehls über die Leitungen L 3 der Arbeitsspeicher ASP angesprochen, um die zu übertragenden Daten zu adressieren. Diese werden dann über die Leitungen L 4 zur Synchronisierungsschaltung SG übertragen. Der Registersatz RS ist nicht unbedingt notwendig. Es ist auch möglich, daß die Kanaladresse vollständig im Ein-Ausgabebefehl enthalten ist.
Bei der zweiten Möglichkeit, bei der ein Kanalwerk vorgesehen ist, wird der Ein-Ausgabebefehl dem KanalbefehlTegister KBR zugeführt. Dort wird er decodiert und der Operationsteil OPüber die Leitungen L 5. die Kanaladresse über die Leitungen Δ 6 der Synchronisierungsschaltung SG zugeleitet. Auch hier wird mit Hilfe der Adresse im Ein-Ausgabebefehl über die Verbindung L 7 der Arbeitsspeicher ASP angesteuert un'1 die zu übertragenden Daten über die Leitungen LS zur Synchronisierungsschaltung SG gebracht.
Die Synchronisierungsschaltung SC dient dazu, festzulegen, ob die Ei"-Ausgabebefehle über den Zentralprozessor oder über das Kanalwerk laufen. Mit CPS ist die Zentralprozessorsteuerung, mit KWS die Kanalwerksteuerung bezeichnet Diese steuern den Ablauf der Abarbeitung der Ein-Ausgabebefehle im Zentralprozessor bzw. im Kanalwerk.
An die Synchronisierungsschaltung SG ist die Freigabesteuerung FS angeschlossen. Der Freigabesteuerung FS wird also der Ein-Ausgabebefehl zugeführt Außerdem ist die Freigabesteuerung FSmit einem Kanalfreigaberegister KFR verbunden. Das Kanalfreigaberegister KFR wird über die Leitungen L 9 durch die Zentralprozessorsteuerung CPS vom Arbeitsspeicher ASPgeladen. Jedesmal, wenn ein Ein-Ausgabebefehl im Anwendungsprogramm auftritt, wird dieser der Freigabesteuerung FS zugeführt Die Freigabesteuerung FS
is überprüft den Inhalt des Kanalfreigaberegisters KFR und stellt fest, ob der mit der Kanaladresse im Ein-Ausgabebefehl bezeichnete Kanal durch das Kanalfreigaberegister KFR freigegeben ist. Ist dies der Fall. dann wird der Ein-Ausgabebefehl weiter ausgeführt. Is'.
dies aber nicht der Fall, dann gibt die rrreigabesteuerung FS auf der Leitung L 10 ein Fehlersi^nal ab. das einer Unterbrechungssteuerung US zugeleitet wird. Die Unterbrechungssteuerung US gibt eine Unterbrechungsanforderung zum Betriebssystem und veranlaßt die Unterbrechung der Ausführung des entsprechenden Ein-Ausgabebefehls.
Die Kanaladresse KA wird einem Kanalauswahlschaltwerk KAS zugeleitet, das die Daten und den Operationsteil des Ein-Ausgabebefehls der adressierten
jo peripheren Einheit PFzuführt.
Vom Zentralprozessor und von dem Kanalwerk sind in der Figur nur diejenigen Teile dargestellt, die für die Erklärung der erfindungsgemäßen Anordnung erforderlich sind. Die dargestellten Teile können auf bekannte Art aufgebaut sein. Die Freigabesteuerung FSkann z. B. aus einer Decodierschaltung bestehen, die mit Hilfe der Kanaladresse des auszuführenden Ein-Ausgabebefehls den Kanal bestimmt, der zur Datenübertragung herangezogen werden soll und dann nachprüft, ob die
4» zugeordnete Bitstelle im Kanalfreigaberegister markier* ist.
Dadurch, daß vor Ausführung eines Programms festgelegt wird, daß nur ganz bestimmte Kanäle für die Ausführung von Ein-Ausgabebefehlen benutzt werden dürfen, kann mit Hilfe einer einfachem Anordnung, bestehend aus einem Kanalfreigaberegister und einer Freigabesteuerung festgestellt werden, ob ein Ein-Ausgabebefehl im Programm falsch programmiert ist. Auf diese Weise können fehlerhaft programmierte Ein-Ausgabebefchle zu einem großen Teil festgestellt werden.
Hierzu 1 Blatt Zeichnungen

Claims (6)

Patentansprüche:
1. Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage, bei der die Ein-Ausgabebefehle als Maschinenbefehle im Anwenderprogramm programmiert sind, dadurch gekennzeichnet, daß ein Kanalfreigaberegister (KFR) vorgesehen ist, das pro Kanal mindestens eine Bitstelle enthält, daß die einem Kanal zugeordneten Bitstellen im Kanalfreigaberegister (KFR) für das laufende Anwenderprogramm markiert sind, wenn der Kanal bei der Ausführung von Ein-Ausgabebefehlen verwendet werden soll, daß eine Freigabesteuerung (FS) vorgesehen ist, die einerseits mit dem Kanalfreigaberegister (KFR), andererseits mit den Leitungen, auf denen die Ein-Ausgabebefehle übertragen werden, verbunden ist und die überprüft, ob der dem Ein-Ausgabcbefehl zugeordnete Kanal im Kanalfreigaberegister (KFR) für das laufende Anwendeprogramm markiert ist und für den Fall der Nichtmarkierung eine Fehlermeldung abgibt.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Freigabesteuerung (FS) am Ausgang des Befehlsregisters (BFR)der Zentralprozessorsteuerung bzw. am Ausgang des Kanalbefehlsregisters (KBR) des Kanalwerkes angeordnet ist.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß mehrere Bits pro Kanal im Kanalfreigaberegister (KFR) vorgesehen sind, so daß jeder Kanal für bi.stimmL Ein-Ausgabebefehle oder bestimmte Daten eines Ein-Ausgabebefehls sperrbar ist.
4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Inhalt des Kanalfreigaberegisters (KFR) zu den organisatorischen Daten des gerade laufenden Programmes gehört und nur durch das Betriebssystem änderbar ist.
5. Anordnung nach einem der Ansprüche I bis 3, dadurch gekennzeichnet, daß der Inhalt des Kanalfreigaberegisters (KFR)durch das Betriebssystem in das Kanalfreigaberegister eingespeichert wird.
6. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß das Kanalfreigaberegister durch eine oder mehrere Arbeitsspeicherzellen realisiert wird und der jeweils zuständige Inhalt von der Freigabesteuerung bei Bedarf ausgelesen und ausgewertet wird.
DE19722247781 1972-09-29 1972-09-29 Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage Expired DE2247781C3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19722247781 DE2247781C3 (de) 1972-09-29 1972-09-29 Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19722247781 DE2247781C3 (de) 1972-09-29 1972-09-29 Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage

Publications (3)

Publication Number Publication Date
DE2247781A1 DE2247781A1 (de) 1974-04-04
DE2247781B2 DE2247781B2 (de) 1981-02-26
DE2247781C3 true DE2247781C3 (de) 1981-12-24

Family

ID=5857731

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722247781 Expired DE2247781C3 (de) 1972-09-29 1972-09-29 Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage

Country Status (1)

Country Link
DE (1) DE2247781C3 (de)

Also Published As

Publication number Publication date
DE2247781B2 (de) 1981-02-26
DE2247781A1 (de) 1974-04-04

Similar Documents

Publication Publication Date Title
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE2904080A1 (de) Werkzeugmaschinen-steueranordnung
DE2727876B2 (de) Steuereinrichtung mit einem Mikroprozessor
DE1424762B2 (de) Datenverarbeitungsanlage
EP1249744A1 (de) Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen
EP0808482B1 (de) Systemarchitektur mit einem programm, welches einen peripherieeingang sperrt, solange es infolge von zeitscheibenverfahren nicht auf einem prozessor läuft
DE1801620B2 (de) Einrichtung zum ansteuern von speicherzellen eines rechenspeichers einer datenverarbeitungsanlage
DE2363846A1 (de) Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage
DE2064383C3 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE10026145A1 (de) Programmierbare Steuereinheit
EP0110199B1 (de) Verfahren zum Steuern des Datentransfers zwischen einem Datensender und einem Datenempfänger über einen Bus mit Hilfe einer am Bus angeschlossenen Steuereinrichtung
DE2247781C3 (de) Anordnung zur Verringerung der Folgen einer fehlerhaften Programmierung von Ein-Ausgabebefehlen auf den Betrieb einer Datenverarbeitungsanlage
DE1267886B (de) Datenbearbeitungsanlage
DE1222289B (de) Datenverarbeitungseinrichtung
DE2230727B2 (de) Schaltungsanordnung zur dynamischen zuteilung von speicherzyklen mit vorrangssteuerung
DE1499286B2 (de) Datenbearbeitungsanlage
EP1085387B1 (de) Speichersteuerung zum Durchführen von Schaltbefehlen für den Zugriff auf Speicherzellen
DE2237427C3 (de) Steueranordnung in einer Datenverarbeitungsanlage mit Mikroprogrammsteuerung
DE2359036C2 (de) Vorrichtung zum Koppeln eines Zentralspeichers mit mehreren Rechenanlagen
DE10056198A1 (de) Kommunikationssystem zum Austausch von Daten unter Verwendung eines zusätzlichen Prozessors
DE2612316C3 (de) Anordnung zur Steuerung des Multiplexbetriebes zwischen mehreren Kanälen und einer zentralen Steuerschaltung eines Ein-/Ausgabewerkes in einem Datenverarbeitungssystem
DE10057782C1 (de) Verfahren und Vorrichtung zum Überführen einer Prozesssteuerung von einem Solobetrieb in einen redundanten Steuerungsbetrieb
DE4106784C2 (de) Signalprozessor zur Verwendung in einem digitalen Funktelefon
DE4225187A1 (de) Numerisches steuervorrichtungssystem zum steuern von bearbeitungsvorrichtungen
DE2413569A1 (de) Steuereinrichtung fuer einen elektronischen rechner

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee