DE1151397B - Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen - Google Patents

Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen

Info

Publication number
DE1151397B
DE1151397B DEI16899A DEI0016899A DE1151397B DE 1151397 B DE1151397 B DE 1151397B DE I16899 A DEI16899 A DE I16899A DE I0016899 A DEI0016899 A DE I0016899A DE 1151397 B DE1151397 B DE 1151397B
Authority
DE
Germany
Prior art keywords
program
address
register
tape
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.)
Pending
Application number
DEI16899A
Other languages
English (en)
Inventor
Jack Ellis Greene
Joseph Martin Terlato
Bruce Martin Updike
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1151397B publication Critical patent/DE1151397B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • 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/0748Error 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 a remote unit communicating with a single-box computer node experiencing an error/fault
    • 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/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Meter Arrangements (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

Ein häufig verwendetes System zum Klassifizieren von schnell arbeitenden Ziffernverarbeitungsmaschinen richtet sich nach der benutzten Programmierungsart. In einer Maschine mit gespeichertem Programm steht die Funktionsfolge der Maschine unter der Steuerung von Befehlen, welche in einem Speicher oder in mehreren Speichern innerhalb der Maschine enthalten sind. Solche Maschinen haben eine große Programmierungskapazität, eine große Speicherkapazität und eine große Vielseitigkeit in der Anwendung.
Sie sind in der Regel mit einer Magnettrommel versehen, auf deren Oberfläche eine große Menge von Daten in Form von magnetisierbaren Punkten gespeichert ist. Ein Programmspeicher speichert einen einzigen Programmschritt oder ein Programmwort. Das Programmwort ist in drei Teile eingeteilt: einen Adressenteil, der der Maschine mitteilt, wo sich die zu verarbeitenden Daten im Speicher befinden, einen Operationsteil, der der Maschine mitteilt, welche Operation sie mit den an der Adresse des Adressenteiles aufgefundenen Daten ausführen soll, und einen Befehlsteil, der der Maschine mitteilt, wo sich der nächste Programmschritt im Speicher befindet. Ein Adressenregister und ein Operationsregister empfangen den Adressenteil bzw. den Operationsteil aus dem Programmspeicher. Das Adressenregister steuert eine Schaltungsanordnung für die Auswahl einer beliebigen Speicherposition auf der Trommel oder in einer anderen Speichervorrichtung in der Maschine je nach dem im Adressenregister gespeicherten Wert. Außerdem ist eine Schaltungsanordnung vorgesehen, welche unter der Steuerung des Operationsregisters die Operation bestimmt, welche die Maschine mit den an einer ausgewählten Adressenposition aufgefundenen Daten ausführen soll. Nachdem eine Adresse ausgewählt und die an der Adresse aufgefundene Angabe von der Maschine verarbeitet worden ist, wird der Befehlsteil des Programmwortes aus dem Programmspeicher in das Adressenregister eingeführt, wo er an die Stelle des vorher in dem Register enthaltenen Wertes tritt. Hierauf wird ein neuer Programmschritt ausgewählt, der sich an der dem Befehlsteil des Programmschrittes in dem Adressenregister entsprechenden Speicheradresse befindet, und in den Programmspeicher übertragen, wo er an die Stelle des vorher darin gespeicherten Wertes tritt. Es kann statt dessen auch eine Prüfung von der Maschine durchgeführt werden, und wenn sich erweist, daß ein vorher bestimmter Zustand besteht, wird veranlaßt, daß der Adressenteil des Programmschrittes im Adressenregister bleibt, und der nächste Programmschritt wird demgemäß ausgewählt und in den Programmspeicher
Programmgesteuerte Datenverarbeitungsanlage mit gespeicherten Unterprogrammen
Anmelder:
International Business Machines Corporation, New York, N. Y. (V. St. A.)
Vertreter: Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen (Württ), Sindelfinger Str. 49
Beanspruchte Priorität:
V. St. v. Amerika vom 29. August 1958
(Nr. 758 064 und Nr. 758 062)
Jack Ellis Greene, Vestal, N. Y.,
Joseph Martin Terlato, Bronx, N. Y.,
und Bruce Martin Updike, Endwell, N. Y. (V. St. A.), sind als Erfinder genannt worden
eingeführt. Es können große Mengen von Programmwerten und große Mengen anderer Daten auf der Magnettrommel gespeichert werden. Zusätzlich zu oder an Stelle der Magnettrommel können auch andere Speicher, z. B. Magnetkernspeicher, verwendet werden. Die Reihenfolge des oben angedeuteten Verfahrens läßt sich also für eine große Zahl von Programmschritten automatisch aufrechterhalten.
Außerdem enthalten solche Maschinen Akkumulatoren, Addier- und Verteilerschaltungen zur Ausführung der verschiedenen Rechenoperationen, die durch die Operationsteile der Programmwerte aufgerufen werden. Eine gespeicherte Folge solcher Programm- oder Befehlsworte bildet ein Programm.
Die Maschine wird für die Ausführung mehrerer Hauptprogramme programmiert oder aufgeladen. Die Aufladung erfolgt im allgemeinen, indem einige Befehle durch die Verwendung von Eingabeschaltern auf dem Steuerpult eingespeichert werden. Diese wenigen Befehle dienen zur Eingabe vollständiger Programme. Die ursprünglichen Daten und Befehle werden normalerweise während des Aufladungsvorganges aus Lochkarten oder Magnetbändern in zugeordnete Speicherorte im allgemeinen Speicher eingespeichert. Falls während des Betriebes der Maschine ein anomaler Zustand oder ein Fehler auftreten sollte, werden bestimmte Fehlerschaltungen erregt und die Maschine gestoppt. Durch Drücken einer Fehlerrück-
309 620/170
formieren. Diese Anfangs- und Endzustandswörter werden in vorher bestimmten Stellen des Speichers gespeichert, die der ausgewählten Hilfseinrichtung zugeordnet sind. In bestimmten Fällen, z. B. bei Feh-5 lern, wird das Hauptprogramm der Datenverarbeitungsmaschine unterbrochen, und nach der Prüfung der Zustandswörter wird ein geeignetes Unterprogramm zur Erforschung des Fehlers eingeleitet. In anderen Fällen wird das Programm der Maschine
schine veranlassen, zurückzugehen und einen Teil oder die ganze Hauptprogrammfolge nochmals ablaufen zu lassen, welche beim Auftreten des anomalen oder Fehlerzustandes im Gange war.
Bei diesen bekannten Maschinen erfordern also auftretende anomale oder Fehlerzustände das manuelle Eingreifen der Bedienungsperson, und für die Einleitung von Wiederablaufoperationen muß der
stelltaste auf dem Steuerpult kann dann die Bedienungsperson die Fehlerschaltungen zurückstellen und
durch das Drücken der Programmanlaßtaste die Fortsetzung des Programms veranlassen. Außerdem ist
eine Schaltungsanordnung vorgesehen, durch welche
die Bedienungsperson am Steuerpult die durch einen
anomalen oder Fehlerzustand gestoppte Rechenmaschine zurückstellen, die Maschine wieder in Gang
setzen und sie unter die Steuerung von sogenannten
Wiederablaufbefehlen bringen kann, welche vorher in io nicht unterbrochen, und die Zustandswörter bleiben die Maschine eingegeben worden sind und die Ma- für jede später erforderliche Verwendung zur Verfügung.
Weitere Merkmale der Erfindung ergeben sich aus den beiden Ausführungsbeispielen des Prüfsystems, 15 die an Hand der Zeichnungen anschließend beschrieben werden. Es zeigt
Fig. 1 eine schematische Darstellung des ein Zustandswort verwendenden Operationsprüfsystems,
Fig. 2 eine schematische Darstellung des ein AnProgrammierer beim Laden der Maschine mehrere 2° fangs- und ein Endzustandswort verwendenden Ope-Wiederablaufbefehle darin speichern. Diese Wieder- rationsprüf sy stems.
ablaufbefehle müssen in willkürlichen Abständen In den Zeichnungen sind in vereinfachter Blockwährend der Reihenfolge der Programmabläufe ein- darstellung nur diejenigen Bestandteile einer Datengestreut oder mindestens amAnfang jedes Programm- Verarbeitungsmaschine mit gespeichertem Programm ablaufes eingefügt werden, da man nicht vorher wis- 25 gezeigt, die für das Verständnis der Erfindung erforsen kann, wo in der Operationsfolge anomale Zu- derlich sind. Solche Maschinen sind bereits bekannt, stände auftreten können. Manuelle Eingriffe zum und daher kann auf eine ausführliche Beschreibung Korrigieren und Wiedereinleiten von Programmab- verzichtet werden. Die in der Fig. 1 dargestellte Maläufen sind natürlich ziemlich zeitraubend und bilden schine besitzt einen schnell arbeitenden Hauptzusätzliche Belastungen für die Bedienungsperson 30 speicher 5, in dem sowohl die Daten- als auch die und den Programmierer. Außerdem können je nach Befehlswörter gespeist werden können. Ein Wort beder Art des anomalen oder Fehlerzustandes verschie- steht aus bis zu zehn Ziffern und einem Vorzeichen, dene Fehlerkorrekturabläufe erforderlich sein, und Zwischen dem Hauptspeicher und bestimmten Eindie Programmierung solcher Abläufe in beliebiger gangs- und Ausgangseinheiten sind Magnettrommel-Folge zur Verwendung in einer Wiederablaufopera- 35 Pufferspeicher A und B vorgesehen. Es können z. B. tion ist zeitraubend. Auch das aufeinanderfolgende Daten aus Lochkarten 7 in einer Kartenlesemaschine Durchlaufen mehrerer solcher Unterprogramme bei durch Abfühlbürsten 9 abgefühlt und über einen einer Suchoperation kann ziemlich viel Rechnerzeit Schreibkopf 11 im Pufferspeicher A der Trommel verbrauchen. aufgezeichnet werden. Die im Pufferspeicher A stehen-
Zur Beseitigung dieser Mangel wird daher durch 40 den Daten können über einen Lesekopf 13 entnomdie vorliegende Erfindung ein Operationsprüfsystem men und in den Schnellspeicher 5 eingegeben werden.
für eine Datenverarbeitungsmaschine vorgeschlagen, das automatisch alle Operationen der Maschine betreffende Informationen sammelt, um sie bei der Korrektur von eventuell auftretenden Fehlern zu verwenden. Um dies zu erreichen, sind bei dem Prüfsystem gemäß der Erfindung den Hilfseinrichtungen, z. B. den Bandeinheiten, Kartenabfühleinrichtungen usw., Steuerorgne zur Anzeige des Operationszustandes der
Die Magnetbandeinheiten TUl und TU2 können durch die ihnen zugeordneten Kanäle Cl, C2 dem Schnellspeicher 5 Daten zuleiten. Die im Speicher 5 45 enthaltenen Informationen können z. B. auch im Pufferspeicher auf der Trommel aufgezeichnet werden, um zu Ausgangseinheiten, z. B. einem Druckwerk oder einem Locher, übertragen zu werden, oder sie können dem Steuerpult 15 der Maschine zugeleitet
durch einen Befehl aufgerufenen Hilfseinrichtung zu- 50 werden. Die Daten im Hauptspeicher 5 können auch geordnet. Diese Anzeige wird in der Form von Zu- zu anderen Stellen innerhalb der Maschine übertragen Standswörtern in einer festgelegten und für diese werden. Es könnten natürlich viele verschiedene Hilfseinrichtung bestimmten Stelle des Hauptspeichers Arten und Mengen von Eingangs- und Ausgangsvorgespeichert. Eine solche in den Zustandswörtern ge- richtungen für die Übertragung von Informationen in sammelte Anzeige umfaßt die Bezeichnung des Hilfs- 55 den Schnellspeicher und/oder in die Bandeinheit oder gerätes, dessen Operationszustand, den letzten ihm aus ihnen heraus verwendet werden, zugeleiteten Operationsbefehl und sonstige erforder- In dem von dieser Maschine benutzten Speicherliche Informationen, die entsprechend verschlüsselt programmsystem wird jeder Befehl (Programmschritt) werden. Durch den im Adressenteil der gespeicherten als zehnstelliges Wort in einem Wortspeicherort geInformation verschlüsselten Operationszustand wird 60 speichert. Die verschlüsselten Ziffern eines Befehlsdie Maschine angewiesen, ein geeignetes Unter- Wortes geben bei ihrer Interpretierung durch die programm auszuführen und automatisch Fehler- Programmsteuerschaltungen darüber Auskunft, welkorrekturoperationen einzuleiten. ehe Operation auszuführen ist, an welchem Speicher-Bei dem Prüfsystem gemäß der Erfindung können ort die bei der Ausführung der Operation zu verauch Zustandswörter verwendet werden, die den Pro- 65 wendenden Daten zu finden sind und an welchem grammierer sowohl über die verschiedenen Zustände Speicherort das nächste zehnstellige Befehlswort steht, vor dem Beginn einer Operation einer ausgewählten Eine gespeicherte Folge solcher Befehlswörter bildet Hilfseinrichtung als auch nach deren Beendigung in- ein Programm.
Rechnungen werden in der Maschine durch elektronische Einrichtungen ausgeführt, die hier nicht näher beschrieben werden, da sie für das Verständnis der Erfindung nicht nötig sind. Die Recheneinrichtung kann addieren, subtrahieren, multiplizieren und dividieren und logische Tests ausführen, wie z. B. Plus-, Minus- und Nul}-Saldo feststellen. Das Programm kann durch jeden dieser logischen Tests oder durch die Abfühlung einer Steuerlochung in einer Karte oder durch manuelle Schaltung über das Steuerpult abgeändert werden. Die arithmetischen Operationen Addieren, Subtrahieren, Multiplizieren, Dividieren, Stellenverschieben und Tabellennachschlagen erfolgen im allgemeinen dadurch, daß in einem Hauptrechenwerk Akkumulatorenausgangswerte oder deren Ersatzwerte oder Hauptspeicherausgangswerte zusammengefaßt werden. Die Zusammenfassung dieser Ausgangswerte erfolgt in einer Reihenfolge, die durch die Operation vorgeschrieben wird. Das Ergebnis wird wieder in den Akkumulator und von dort aus in den Hauptspeicher eingegeben. Alle arithmetischen und logischen Operationen sind in die Maschine eingegeben und werden durch den Operationscodeteil des Befehlswortes wirksam gemacht.
Der Haupt- oder Schnellspeicher 5 der Maschine hat eine große Anzahl von adressierbaren Speicherorten, an denen zehnstellige Wörter gespeichert werden können. Das Aufsuchen jeder dieser Wortpositionen erfolgt durch die Eingabe des vierstelligen Adressenteils des Befehlswortes in das Adressenregister 17, über welches die Adressenwählschaltung 19 wirksam gemacht werden.
Die zeitliche Steuerung der verschiedenen Operationen wird durch entsprechende Taktschaltungen unter Mitwirkung von Taktimpulsen überwacht, die von der Puffertrommel abgeleitet und geeigneten Trommelzeitsteuer- und -steuerkreisen 21 zugeführt werden, welche auch mit der Hauptsteuerung 23 zur Synchronisierung aller Operationen der Maschine zusammenwirken.
Die Maschine verwendet ein gespeichertes Programm, um die nötige Operationsfolge für die Lösung einer Aufgabe festzulegen. Zum Beispiel greift die Maschine auf einen ihrer eigenen Speicherorte zurück, um ein vorher gespeichertes oder errechnetes zehnstelliges verschlüsseltes Befehlswort zu erlangen, dessen Ziffernwerte durch die Maschine ausgelegt werden können, um ihre nächste Operation zu bestimmen.
Originaldaten und -befehle werden normalerweise in Speicherorten während des Aufladungsvorganges aus Lochkarten gespeichert. Zusätzliche Daten und/ oder Befehle können während der Lösung der Aufgabe aus Karten eingefügt werden. Jeder Befehl (Programmschritt) wird als Wort gespeichert. Da sowohl Daten als auch Befehle in derselben Weise gespeichert werden, kann ein Befehlswort arithmetischen Operationen unterworfen und daher durch Programmierung abgeändert werden. Die Bedeutung jedes gültigen verschlüsselten Befehls ist in die Maschine eingebaut, und jede Folge von Befehlen wird als Programmablauf bezeichnet.
Eine typische Befehlswortanordnung kann wie folgt dargestellt werden:
Vorzeichen OP X D X j
+ X X DS X X D5 XXXX
DO DlO D9 Dl D6 D4 D3 D2 Dl
Vorzeichen Operationscode Datenadresse Befehlsadresse
Von links nach rechts gelesen ist die erste Ziffernposition DO das Vorzeichen. Die Ziffernpositionen DlO und D 9 sind der Operationscode, der der Maschine mitteilt, welche ihrer verschiedenen Operationen sie in diesem Programmschritt ausführen muß. Die Positionen D 8 bis D 5 sind die Datenadresse und bezeichnen gewöhnlich entweder den Speicherort der in der Operation zu verwendenden Information oder den Speicherort, wo die Information als Ergebnis der Operation gespeichert werden muß. Die Positionen D 4 bis D1 sind die Befehlsadresse, die den Speicherort des Befehlswortes für den nächsten Programmschritt anzeigt.
Die arithmetischen und logischen Operationen der Maschine werden durch Programmsteuerkreise gesteuert, welche eine Operationsmatrix 25, ein Programmregister 27, das Operationsregister 29, das Adressenregister 17 und ein Unterbrechungsregister 31 umfassen. Die Informationen fließen aus dem Hauptspeicher heraus, und die Operationscodedaten werden zu den Ziffem-»0«-, -»10«- und -»9«-Zeiten durch entsprechende UND-Schalter 33 in die Vorzeichen-, Zehner- und Einerpositionen des Operationsregisters 29 übertragen.
Die Daten- und Befehlsteile des Programmwortes werden in das Programmregister 27 über einen Schalter 35 eingegeben, der durch ein entsprechendes Eingabe-Programmsignal RIPR wirksam gemacht wird. Die Informationen werden aus dem Programmregister parallel entnommen und über zwei UND-Schalter 39 und 41 in einen ODER-Schalter 37 eingeführt. Der Schalter 39 überträgt unter der Steuerung eines D-nach-^(/?-Signals den Datenteil des Wortes über den Schalter 37 in das Adressenregister 17, und der Befehlsteil des Wortes wird unter der Steuerung des Schalters 41 und eines /-nadwi-R-Signals in das Adressenregister übertragen. Aus dem Adressenregister 17 werden die Informationen in die Adressenwähleinheit 19 und außerdem in einen UND-Schalter 43 eingegeben, der unter der Steuerung von Adressenregister-Abtastsignalen D1 bis D 4 die Informationen aus dem Adressenregister in einen UND-Schalter 45 überträgt. Der Schalter 45 dient unter der Steuerung eines Unterbrechungs-Registereingabesignals IRRI zur Eingabe derselben Informationen in das Unterbrecherregister 31, die sich im Adressenregister befinden, wenn nicht ein Unterbrechungszustand auftritt. Die im Unterbrechungsregister 31 stehenden Informationen werden über einen UND-Schalter 47 unter der Steuerung eines Unterbrechungsregister-Entnahmesignals IRRO zu der Speichereinheit 5 übertragen. Aus dem allgemeinen Informationsfluß ist ersichtlich, daß die Daten aus dem Programmregister auch in die Operationsmatrix 25 eingegeben werden,
G5 wo sie mit den vom Operationsregister kommenden Operationscodeinformationen kombiniert werden. Die Operationsmatrix sendet zu der Rechenmaschine Signale, die angeben, welche Operationsart auszu-
führen ist und an welchen Ort sie in der Maschine ausgeführt werden soll. Außerdem umfaßt das Hauptsteuerpult 15 eine Tastatur, mit deren Hilfe Informationen in den Schalter 37 zur Einführung in das Adressenregister 17 eingetastet werden können.
Jeder Programmschritt wird in zwei Teilen oder »Halbumläufen« ausgeführt. Im ersten Teil des Halbumlaufes / werden die Operations-, Programm- und Adressenregister gelöscht, und ein neues Befehlswort wird in das Operationsregister und das Programmregister eingegeben. Dann wird der Teil / des Befehlswortes im Programmregister in das Adressenregister übertragen, um dort übersetzt und von der Adressenwähleinheit für das Auswählen der nächsten /-Adresse benutzt zu werden. Der Operationscode im Operationsregister wird in die Operationsmatrix eingeführt. Im zweiten Teil oder Halbumlauf D wird das Adressenregister gelöscht und der Datenteil des Befehlswortes im Programmregister in das Adressenregister übertragen, wo er übersetzt und für die Auswahl der D-Adresse benutzt wird. Der Datenteil des Wortes im Programmregister wird außerdem in die Operationsmatrix eingeführt und dort mit den bereits eingeführten Operationscodedaten kombiniert. Die Operationsmatrix übersetzt die Daten und bildet Signale, die die Maschine so steuert, daß sie die vom Befehlswort geforderte Operation ausführt. Damit ist ein Programmschritt abgeschlossen.
Sobald die Operation eingeleitet wird, bewirkt die Programm- oder Hauptsteuerung eine Rückkehr zum Halbumlauf /. Die Operations-, Programm- und Adressenregister werden gelöscht und das nächste Befehlswort aus dem Adressenort / in das Programmregister übertragen, wo es an die Stelle des vorigen Befehlswortes tritt, und die genannte beschriebene Reihenfolge wird wiederholt. Eine Sperrschaltung verhindert eine Programmweiterschaltung mit Ausnahme von Lese- oder Lochungsoperationen', bis der vorausgegangene Programmschritt, in welchem die arithmetischen Einheiten der Maschine benutzt werden, beendet ist. Auf diese Weise durchläuft die Maschine die Schritte eines gespeicherten Programmablaufes.
Diese Halbumlaufsaktion, durch die ein Programmschritt ausgeführt wird, wird durch einen Programmsteuerkommutator (nicht gezeigt) erreicht, welcher die Reihenfolge der für das Durchlaufen eines beliebigen Programmschrittes nötigen Vorgänge steuert. Dieser Steuerkommutator oder Alternator ist ein Ring mit zwei Zweigen und mehreren Positionen in jedem Zweig. Bei seinem Umlauf schreitet er nacheinander durch jeden Zweig weiter. Die Positionen in' dem einen Zweig steuert die Funktionen des Halbumlaufes /, und die Positionen des anderen Zweiges steuern die Funktionen des Halbumlaufes D. Normalerweise muß der Ring beide Zweige, zuerst für / und hierauf für D, durchlaufen, um einen Programmschritt zu vollenden. Die Ausgangssignale der Schritte des Steuerkommutators dienen zur Steuerung der verschiedenen Datenübertragungen, die für die Ausführung des Programmschrittes nötig sind.
Das Programm- und das Unterbrechungsregister können Schieberregister in Form einer Verriegelungs-Ringschaltung sein, worin jede Stufe eine Speichervorrichtung bildet. Diese Speichervorrichtung kann z. B. aus zwei Invertern, einem Kathodenverstärker zur Lieferung des Ausgangssignals, einem Paar von Dioden, die als Spannungskoinzidenzschalter zur Verriegelung der Stufe im EIN-Zustand angeordnet sind, und einem dritten Inverter für die Verbindung der einen Stufe mit der nächsten Stufe, zur Speicherung der Informationen während der Schiebeoperarationen des Ringes, bestehen. Ein solches Register ist für eine serienweise Eingabe geeignet, wie sie für die Eingabe des Befehls aus einem Zugriffsort in einen anderen adressierbaren Speicher nötig ist, und ermöglicht eine serienweise Entnahme, wie sie für die
ίο Indexsteuerung von Befehlen nötig ist, sowie eine parallele Entnahme, wie sie für die Arbeit der Operationscodematrizen und der Adressenwählmatrizen bei direkt aus dem Register kommenden Befehlen erforderlich ist. Die in diesen Registern enthaltenen Informationen können parallel oder in Serienform entnommen werden. Natürlich können auch andere Arten von Registern benutzt werden.
Das Operations- und das Adressenregister sind statische Speicher, in denen jede Position Verriegehingen oder andere Speichereinheiten verwendet, um den Datencodewert in verschlüsselter Form darzustellen. Nach der Eingabe eines Codes steht fortlaufend ein Ausgangssignal aus diesen Registern zur Verfügung, bis sie gelöscht werden.
Der Schnellspeichers hat eine große Anzahl von Wortspeicherorten, und da alle Wörter individuell adressierbar sind, können Daten oder Befehle in jedem Speicherort gespeichert werden. Bestimmte Speicherbereiche sind jedoch für bestimmte Verwendüngen reserviert, was noch näher erklärt wird. Der Schnellspeicher wird dazu verwendet, um die Informationen zu ihrer Niederschrift auf einem Magnetband zusammenzustellen, und alle aus dem Band abgelesenen Aufzeichnungen werden in diesen Speicher eingeführt. Der Speicher ist mit drei Taktringen versehen, von denen jeder Zugang zur gesamten Speichereinheit hat. Einer der Ringe (nicht gezeigt) verbindet den Speicher mit der Trommel und ist speziell der Rechenfunktion der Maschine zugeordnet. Jeder der beiden anderen mit Syncl und Sync 2 bezeichneten Ringe ist einem Bandsteuerkanal zugeordnet. Wie die Zeichnung zeigt, kann die Maschine mit zwölf Magnetbandantrieben ausgestattet werden, wobei dann jede Bandeinheit TUl und TUl sechs Bandantriebe mit der Bezeichnung O bis 5 enthält. Die Steuerkanäle 1 und 2 gestatten es jeder Einheit, selbständig zu arbeiten, und daher sind gleichzeitige Lese-Lese, Lese-Schreib- oder Schreib-Schreib-Bandoperationen möglich, die sich mit Rechneroperationen überlappen. Alle Bandoperationen werden durch einen einzigen Operationscode und die ihm zugeordnete D-Adresse eingeleitet. Die D-Adresse steuert die zu verwendende Bandeinheit, den zu verwendenden Kanal, die auszuführende Bandoperation (Lesen, Schreiben, Rückschalten usw.) und die Operationsart, die nach Ausführung des Befehles aufzunehmen ist.
Das Steuerpult 15 mit der zugeordneten Tastatur
enthält Schalter und Lampen, mittels welchen die Maschine überwacht und gesteuert werden kann. In Verbindung mit der Programmierung ist das Steuerpult mit mehreren von Hand aus zu betätigenden Schaltern und/oder einer Tastatur versehen, durch welche Daten oder Befehle in jeden beliebigen Speicherort eingegeben werden können und die allgemein zur Einführung von Korrekturen beim Korrigieren eines Programms benutzt werden. Sie können durch die Verwendung einer bestimmten zugeordneten Adresse durch das Programm konsultiert wer-
den. Außerdem sind Adressenwählschalter vorgesehen, die benutzt werden können, um eine Adresse einzustellen, bei der ein Programm gestoppt werden soll, oder um eine Adresse direkt in das Adressenregister einzugeben. Auch Programmleitungs-, -stopp- und -löschoperationen können von der Konsole aus gesteuert werden.
Zusätzlich ist jedes der Hilfsgeräte der Rechenmaschine mit geeigneten Einrichtungen zur Bestimmung des Zustandes der Operation des Gerätes versehen. Jeder der Bandeinheiten TUl und TU2 ist ein Zustandsfeststeller 49 bzw. 51 zugeordnet, und der Kartenabfühleinheit ist ein Kartenfehlerfeststeller 53 zugeordnet. In gleicher Weise können auch andere Hilfsgeräte, wie z. B. Druck- oder Lochungseinrichtungen, ausgestattet werden.
Jeder der Zustands- oder Fehlerfeststeller besteht aus einer Prüfvorrichtung und einer Schaltung, welche ein oder mehrere verschiedene Signale liefert, die den Zustand der zugeordneten Vorrichtung anzeigen. Zum Beispiel liefern die Zustandsfeststeller 49 und 51 in Ziffernform verschlüsselte Signale für jeden der Bandantriebe, die folgendes anzeigen:
A. Fehler — Ziffernwert 1.
Dieses Signal wird durch einen oder mehrere der folgenden Umstände erzeugt:
1. Ein Bandinformationsfehler, der durch eine Bit-Prüfung, eine schlechte Schreibqualität oder eine Code-Gültigkeitsprüfung festgestellt wird.
2. Operationsprüfung, um sicherzustellen, daß der Speicher und die Bandeinheit im gleichen Zustand sind (Lesen oder Schreiben, aber nicht beides gleichzeitig).
3. Bei Leseoperationen wird jede Bandaufzeichnung geprüft, um sicherzustellen, daß eine ganze Zahl von Worten gelesen worden ist.
Diese Bandfehleranzeigen werden vorzugsweise in Verriegelungsschaltungen gespeichert, die nach Eingabe der Fehleranzeige in das Zustandswort automatisch zurückgestellt werden.
B. CLR (Aufzeichnung mit richtiger Länge) — Ziffernwert 2.
Dieses Signal wird erzeugt, wenn die Start- und Stoppeinstellung des Bandzeitringes am Ende der Aufzeichnungszeit koinzidieren, die Aufzeichnung die genaue Wortlänge hat und kein Fehler aufgetreten ist.
C. SLR (Aufzeichnung mit kurzer Länge) — Ziffernwert 3.
Dieses Signal wird erzeugt, wenn die Pufferring-Start- und Stoppeinstellungen nicht vor dem oder am Ende der Aufzeichnungszeit koinzidieren, die Aufzeichnung die genaue Wortlänge hat und kein Fehler aufgetreten ist.
D. LLR (Aufzeichnung mit großer Länge) — Ziffernwert 4.
Dieses Signal tritt auf, wenn die Pufferring-Start- und Stoppeinstellungen vor dem Ende der Aufzeichnungszeit koinzidieren, die Aufzeichnung die genaue Wortlänge hat und kein Fehler aufgetreten ist.
E. EOF (Ende der Aufzeichnungsfolge) — Ziffernwert 5.
Dieses Signal tritt auf beim Lesen einer Bandmarke oder beim Schreiben auf einem Folienstreifen, der sich am Ende des Bandes befindet und photoelektrisch abgefühlt wird. Ein »Schreiben Ende der Aufzeichnungsfolge«-Befehl erzeugt eine CLi?-Anzeige.
Aus dem Vorstehenden ist ersichtlich, daß die Einrichtungen so angeordnet sein können, um beliebige verschiedene andere Anzeigen entweder für normale oder für anomale Zustände zu liefern. Im vorstehenden sind zwar einstellige Ziffernwerte angegeben, aber es können natürlich wahlweise auch andere Größenordnungen verwendet werden.
In Verbindung mit der Kartenabfühleinrichtung kann der Kartenfehlerieststeller 53 passend verschlüsselte Werte als Anzeige für Zustände, wie z. B. »richtige Kartenaufzeichnung«, »Fehler« usw., in ähnlicher Weise liefern, wie es für die Bandeinheiten beschrieben ist.
Ein mit dem Schnellspeicher 5 und der Hauptsteuerung 23 verbundener Adressengenerator 54 kann aus Informationen, die von den Bandsteuereinheiten TUl und TU 2 über die Schaltkreise der Hauptsteuereinheit 23 zugeleitet werden, sowie aus Adresseninformationen, die dem Schnellspeicher 5 zugeführt werden, Adressencode erzeugen. In dieser Weise können die Informationen, die sich auf einen Bandoperationsbefehl beziehen, plus dem Operationszustand der fraglichen Bandeinheit zu einem Zustandswort verschlüsselt werden, welches an einem bestimmten Speicherort im Hauptspeicher gespeichert wird, da der Adressengenerator automatisch die Adresse bestimmt, zu der die Informationen gelenkt werden müssen. Das Zustandswort wird durch eine logische Schaltung in den Bandsteuereinheiten bestimmt, die den Operationszustand, die Bezeichnung der betreffenden Einheit, den letzten dieser Einheit gegebenen Befehl und andere zutreffende Informationen zu einem Zustandswort kombinieren, welches dann zu dem Hauptspeicher 5, und zwar zu dem durch den Adressengenerator 54 bestimmten Speicherort, übertragen wird.
Nachdem also in allgemeiner Weise die Funktionseinheiten der Maschine und deren Hilfsgeräte sowie die Art und Weise, in der Zustandscode oder -anzeigen gebildet werden, beschrieben worden sind, soll nun der Arbeitsvorgang unter besonderer Bezugnahme auf die Art der Erzeugung und Benutzung der Zustandswörter erläutert werden. Obwohl die nachstehende Beschreibung auf Operationen in Verbindung mit Bandeinheiten beschränkt ist, dürfte es klar sein, daß auch die andere Hilfsgeräte betreffenden Operationen diesen gleichen und deshalb nicht beschrieben zu werden brauchen.
Zunächst sei darauf hingewiesen, daß in der in der Zeichnung gezeigten Anordnung die Maschine normalerweise in einer unterbrechungslosen Arbeitsweise arbeitet, daß jedoch eine Unterbrechung entweder automatisch durch die Feststellung anomaler Zustände oder nach dem Willen des Programmierers oder der Bedienungsperson eintreten kann. Wenn die Unterbrechung vom Programmierer eingeplant ist, können zwei oder mehr Programme gleichzeitig ablaufen, wobei die automatische Planung zwischen den Programmen von der Maschine aus erfolgt. Bestimmte Zustände können angezeigt und benutzt wer-
309 620/170
den, um zu bewirken, daß eine Unterbrechungsoperation automatisch stattfindet, ob nun das Programm eine Unterbrechungsoperation erfordert oder nicht. Zum Beispiel können Bandfehler oder »Ende der Aufzeichnungsfolge«-Zustände eine automatische Unterbrechungsoperation auslösen, während gewöhnliche Bandoperationen oder Karteneingabe- und -entnahmeoperationen je nach dem Willen des Programmierers eine Unterbrechungsoperation einleiten können oder nicht.
Bei solchen Unterbrechungsoperationen wird ein Unterbrechungsregister 31 verwendet. Gleichzeitig mit der Zuleitung des Adressenteiles / jedes Befehlswortes zu dem Adressenregister 17 wird es auch über die Schalter 43 und 45 in das Unterbrechungsregister 31 eingegeben. Wenn ein Unterbrechungszustand auftritt, wird der nächste Befehl nicht aus der normalen /-Adressenstelle, sondern aus einem vorherbestimmten Speicherort entnommen, der feststehend und durch die Art der Unterbrechung bestimmt ist. Die Adresse des nächsten Befehls im Hauptprogramm wird im Unterbrechungsregister aufbewahrt, da das Adressenregister jetzt für die Ausführung der Unterbrechungsprogrammfolge benötigt wird. Bei Beendigung des Unterbrechungsprogramms kann die Steuerung zum Hauptprogramm zurückübertragen werden, und die Adresse des nächsten Hauptprogrammbefehls kann jetzt aus dem Unterbrechungsregister erhalten werden. Die Rückführung der Steuerung zum Hauptprogramm oder einem anderen Unterprogramm erfolgt durch die Verwendung eines Unterbrechungsaufhebebefehls am Ende des Unterbrechungsprogramms, der die Rechenmaschine auf die Adresse des nachten Befehls verweist.
Für eine Bandschreib-Unterbrechungsoperation wird das Bandsteuer-Unterbrechungssignal bei der Koinzidenz der Start- und der Stoppadresse in den dem Kernspeicher zugeordneten Zeitgeberringen 1 und 2 erzeugt. Bei einer Bandlese-Unterbrechungsoperation erkennt die Bandsteuereinheit das Ende einer Aufzeichnung durch das Fehlen von Daten zur Erzeugung eines Unterbrechersignals. Diese Bandunterbrechungssignale werden jedoch erst gesendet, nachdem das Bandzustandswort im Hauptspeicher gespeichert worden ist.
Das Karteneingabe- und -ausgabeunterbrechungsmerkmal ermöglicht es, eine Karteneingabe-, Kartenlochungs- oder Druckvorrichtung auf Unterbrechungsbasis zu betätigen. Die auf Unterbrechungsbasis zu betätigende Eingabe- oder Ausgabeeinheit wird manuell durch einen Schalter auf dem Steuerpult ausgewählt, und es können mehr als ein Schalter vorgesehen sein, wodurch die Betätigung mehrerer Einheiten auf Unterbrechungsbasis ermöglicht wird. Für Karteneingabe- und -ausgabeoperationen sind keine speziellen Unterbrechungsoperationscodes nötig. Statt dessen arbeitet die ausgewählte Einheit immer dann auf Unterbrechungsbasis, wenn sie einen Operationsbefehl empfängt, wenn das Unterbrechungs-Unterprogramm keine Bandeinheit verwendet.
Wenn im Eingangsunterbrechungs-Unterprogramm keine Bandoperationen vorkommen, erscheint das ίο Unterbrechungssignal, sobald der Eingangspufferbereich durch die angeschlossene Kartenabfuhlvorrichtung gefüllt worden ist. Wenn im Eingangsunterbrechungs-Unterprogramm Bandoperationen stattfinden, erscheint das Unterbrechungssignal nur dann, wenn der Eingangspufferbereich durch die Kartenabfühlvorrichtung gefüllt worden ist und der im Unterprogramm verwendete Bandeinheitenkanal frei ist. Wenn ein Ausgangsunterbrechungs-Unterprogramm keine Bandoperationen einschließt, steht das ao Unterbrechungssignal zur Verfügung, wenn die Informationen im Ausgangspufferbereich vollständig zu der angeschlossenen Ausgabevorrichtung übertragen sind. Wenn das Ausgangsunterbrechungs-Unterprogramm dagegen Bandoperationen enthält, ist das as Unterbrechungssignal nur dann verfügbar, wenn die Informationen im Ausgangsbereich vollständig zu der angeschlossenen Ausgabevorrichtung übertragen worden sind und der im Unterprogramm verwendete Bandeinheitkanal frei ist. Die Verzögerung des Unterbrechungssignals bis zum Freiwerden des Bandeinheitenkanals erfolgt unter der Steuerung eines Steuerpultschalters.
Nach dem Empfang des Unterbrechungssignals ist die /-Adresse des in Ausführung begriffenen Befehls im Unterbrechungsregister gespeichert, die Steuerung ist auf einen Satz von manuell einstellbaren Schaltern auf dem Steuerpult übertragen worden, der die erste Adresse des Unterbrechungs-Unterprogramms enthält, und das Kartenunterbrechungsprogramm ist abgeschlossen. Nun wird ein programmierter Unterbrechungs-Aufhebbefehl (—02) mit der /-Adresse des nächsten Befehlswortes gegeben, um vom Unterbrechungsprogramm wieder zum Hauptprogramm zurückzukehren. Außerdem muß der Zustand, der die Unterbrechung ausgelöst hat, gelöscht werden, und das geschieht sofort nach dem Eintritt in die Unterbrechungsoperation.
Wenn von der Maschine die Bandeinheiten TUl und TU2 verwendet werden, werden alle Bandoperationen durch einen einzigen Operationscode und die zugeordnete D-Adresse eingeleitet. Ein Bandbefehl kann z. B. einen 80-Operationen-Code mit folgenden Datenadressen verwenden.
Tausender Hunderter 0—Lesen Zehner Einer
0—Keine Unterbrechung 1 — Schreiben 1—Bandsteuerung 1 0
1 — Unterbrechung 2 — Rückschalten 2—Bandsteuerung 2 1
3 — Schreiben Ende der Aufzeichnungsfolge 2
4—Aufwickeln 3
5—Abschalten Ende der Aufzeichnungs 4
folge 5
6—Aufzeichnungsfolge vorwärts schalten
7—Aufwickeln entladen
8 — Schreibverzögerung
9 — Aufzeichnungsfolge rückschalten
Die Eiiierziffer zeigt den zu verwendenden Bandantrieb an. Die Zehnerziffer stellt den zu benutzenden Bandkanal dar. Die Hunderterziffer zeigt die auszuführende Operation und die Tausenderziffer die Operationsart an. Operationen, die zu einer Bandsteuerunterbrechung führen können, sind (1) »Aufzeichnungsfolge vorwärts schalten« und (2) »Aufzeichnungsfolge rückschalten«, und vorausgesetzt, daß eine 1 in der Tausenderstelle der D-Adresse des 80-Befehls steht, wird eine Unterbrechung des Ablesens, des Schreibens und der Schreibverzögerung bewirkt. Die Bedingungen, die als Ergebnis einer Bandbewegung auftreten und eine Bandsteuerunterbrechung bewirken können, sind bereits angegeben worden.
Das im Gange befindliche Unterbrechungsprogramm wird fortgesetzt, bis die Bedienungsperson oder der Programmierer festgestellt hat, daß alle für das Unterbrechungsprogramm nötigen Operationen ausgeführt sind. Jetzt muß die Maschine aus dem Unterbrechungszustand wieder freigegeben werden. Es wird Ende der Unterbrechung programmiert, das mit seiner D-Adresse die dieser Adresse zugeordnete Verriegelungsschaltung auslöst oder zurückstellt. Unter der Annahme, daß der Code -OZ für Ende der Unterbrechung mit der richtigen D-Adresse OATOX" programmiert ist, kehrt die Maschine in ihren normalen Zustand zurück. Nach der Unterbrechung kann die nächste /-Adresse aus dem Adressenregister in das Unterbrechungsregister eingeführt werden.
Während des Befehls für Ende der Unterbrechung selbst ist es aber möglich, die erste Unterbrechung aufzuheben. Unter diesen Umständen darf das Unterbrechungsregister nicht gelöscht und keine neue Adresse eingeführt werden, sondern statt dessen muß die alte Adresse im Unterbrechungsregister beibehalten und ein zweites Unterbrechungsprogramm eingeleitet werden.
Wie schon erwähnt, werden Bandunterbrechungssignale als Ergebnis einer Bandbewegung gebildet. Zum Beispiel wird zu dem Zeitpunkt wenn eine Bandspule in Betrieb genommen wird, ein metallischer reflektierender Punkt von Hand aus kurz hinter dem vorderen und kurz vor dem hinteren Ende des Bandes aufgebracht. Dieser reflektierende, das Ende der Aufzeichnungsfolge anzeigende Punkt wird automatisch nur beim Schreiben abgefühlt, um anzuzeigen, daß die gerade geschriebene Bandaufzeichnung die letzte zu schreibende Aufzeichnung ist. Normalerweise folgt dann auf die letzte Bandaufzeichnung eine aufgezeichnete Bandmarke. Diese Bandmarke dient beim Lesen zur Anzeige, daß das Ende des Bandes erreicht ist. Durch die Abfühlung des reflektierenden Punktes beim Schreiben und der Bandmarke beim Lesen wird ein »Ende der Aufzeichnungsfolge«-Zustand erzeugt, und dieser führt zu einer automatischen Unterbrechung des Hauptprogramms und zur Übertragung der Steuerung auf ausgewählte Speicherorte im Hauptspeicher je nach der verwendeten Bandsteuereinheit.
Aufzeichnungen mit fester Lange werden in den Speicher eingeschrieben, indem zuerst der zugeordnete Zeitsteuerring so eingestellt wird, daß er mit der Zahl von Wörtern in der Bandaufzeichnung übereinstimmt. Wenn die Zahl der Wörter der gelesenen Bandaufzeichnung kleiner ist als die Zahl, auf die der Zeitring eingestellt ist, tritt eine Aufzeichnungslücke vor dem Zeitring-Stoppunkt auf, und
eine automatische Unterbrechung signalisiert, die anzeigt, daß die Aufzeichnung kürzer ist. Wenn eine Bandaufzeichnung um ein Teilwort oder um eine Anzahl von ganzen Wörtern und ein Teilwort zu kurz ist, erfolgt die Steuerungsübertragung zu einem Bandfehler-Unterprogramm. Wenn die gelesene Bandaufzeichnung länger als der zugeordnete Kernspeicherbereich ist, werden die Speicherorte nur bis zur Einstellung des Zeitring-Stoppunktes gefüllt. Die
ίο Bandaufzeichnung wird jedoch weitergelesen, und dann wird eine Unterbrechung wegen zu langer Aufzeichnung signalisiert.
Eine Programmunterbrechung kann bei Bandlese- und -schreiboperationen oder bei Karteneingabe- und -ausgabeoperationen stattfinden. Zum Beispiel kann die Bandunterbrechung benutzt werden, um ein Hauptband auf seine Tätigkeit in einer Operation zur Aufrechterhaltung einer Aufzeichnungsfolge hin zu prüfen, während die Rechenmaschine eine Kartenübertragung behandelt. Bei Beendigung der Bandabfühloperation überträgt die automatische Unterbrechung die Steuerung auf das entsprechende Unterprogramm, um die Aktivität der Bandaufzeichnung zu bestimmen. Der letzte Befehl des Unterprogramms führt die Steuerung an die gleiche Stelle der Kartenzuführung zurück, wo sie unterbrochen worden ist. Wenn eine Bandoperation »Ende der Aufzeichnungsfolge Lesen oder Schreiben« vollendet ist, wird durch logische Schaltfolgen und Zeitsteuerschaltungen ein Bandsteuerungszustandswort erzeugt und automatisch in einem zugeordneten Speicherort im Hauptspeicher gespeichert, z. B. im Speicherort 4000 für die Bandeinheit TU 1 und ein Speicherort 4010 für TU2. Dieses Wort kann wie folgt angeordnet sein:
OP-Code
0 0
(keine OP)
D-Adresse
X X X X 40
Dieselbe
wie der Befehl
/-Adresse
X X
0 — TUl 1 —Fehler
1 — TU2 2 — CLR
3 —SLR
4 — LLR 5—EOF
Das Zustandswort gibt also maschinell verwendbare Informationen nicht nur bezüglich der Operation, die ausgeführt werden sollte, sondern auch bezüglich des Zustandes der betreffenden Einheit. Dieses in einem vorherbestimmten feststehenden Speicherort im Hauptspeicher gespeicherte Wort steht dann zur Verfügung nicht nur, um den Zustand der Hilfsvorrichtungen anzuzeigen, sondern auch, um die Rechenmaschine zu dem notwendigen Unterprogramm hinzulenken.
Beispielsweise können mehrere Unterprogramme programmiert werden, je eines für jeden der Bandzustandscodes, so daß, wenn ein Bandfehler in der Bandemheit TU 2 auftritt, ein korrigierendes Unterprogramm im Hauptspeicher am Speicherort 4011 gespeichert wird. Wenn eine Unterbrechungsoperation eintritt und die Maschine den Zustandswortspeicherort 4000 und 4010 untersucht, ist ein Zu-Standswort am Speicherort 4010 gespeichert. Der /-Adressenteil dieses Wortes ist dann 4011, und am Speicherort 4011 steht der erste Befehl eines Unterprogramms, das Bandfehler korrigiert. Wenn z. B. ein
SLÄ-Signal (kurze Aufzeichnungslänge) von einem der Bandantriebe in der Bandeinheit TU 1 gegeben wird, ist der /-Adressenteil des Zustandswortes 4003, und diese Adresse ist dann die Anfangsadresse eines Unterprogramms, das für die Behandlung einer zu kurzen Aufzeichnung geeignet ist.
Bei der in der Fig. 2 dargestellten Ausführung des Operationsprüfsystems wählt die Wählereinheit 211 ein bestimmtes Band der Bänder 1 bis 6 aus und be-
Operationsregister 212 in eine verschlüsselte Adresse für den Speicher.
Die Programmsteuerung 222 erzeugt Signale und Steuerungen für die Operation der verschiedenen 5 Elemente in einer vorherbestimmten Reihenfolge.
Das Programmregister 229 enthält fünfzig bistabile Einrichtungen und drei bistabile Einrichtungen für das Vorzeichen und bewirkt eine statische Anzeige des Befehles plus Vorzeichen, bis es zurückgestellt wirkt eine bestimmte Bandoperation in Übereinstim- io wird.
mung mit einem Eingangssignal aus einem Opera- Die Einrichtung sieht ein Anfangs- und ein End-
tionsregister 212. Das Ausgangssignal aus dem aus- Zustandswort als Ergebnis der Auswahl der Hilfsgewählten Band, welches reihenweise nach Ziffern ausstattung vor. Für die Erläuterung wurde nur eine und parallel nach Bits dargestellt ist, wird durch die Gruppe von Bandeinheiten zugrunde gelegt, obwohl Wälllereinheit 211 zu einem Puffer-Schieberegister 15 die Erfindung in gleicher Weise in Verbindung mit 213 übertragen. Es wird auch ein verschlüsseltes Zu- anderen Einheiten von Hilfsausstattungen angewandt Standssignal für die Operation des Bandes erzeugt, werden kann.
das in ein Register 217 eingeführt wird. Dieses ver- Bei der Verwendung der dargestellten Gruppe von
schlüsselte Zustandssignal wird vom Wähler 211 für Bandeinheiten wird das Anfangs-Zustandswort in manche der folgenden Fehlerarten und auch für 20 aufeinanderfolgenden Stellen in Übereinstimmung mit andere Zustände erzeugt, welche keine Fehler sind, der Nummer des Bandantriebs gespeichert. Das Endaber festgestellt werden sollten. Fehler sind üblicherweise Paritätsfehler, und andere Zustände sind einem
Ende der Aufzeichnungsfolge ähnlich.
Das Schieberegister 213 ist zusammengesetzt aus 25
zehn Stufen von fünf bistabilen Einrichtungen mit je
einer Stufe von drei bistabilen Einrichtungen für ein
Vorzeichen. Der Eingangswert zu diesem Register
aus der Wählereinheit wird weitergeschoben, bis der
Puffer gefüllt ist. In diesem Zeitpunkt erfolgt eine 30 heit bestimmt wird, welche die Unterbrechung verparallele Entnahme aus jeder bistabilen Einrichtung ursachte. Da das Anfangs- und das End-Zustands- und eine Übertragung in das Register 217. Das
Schieberegister 213 wird auf Null zurückgestellt.
Das Operationsregister 212 ist aus zwei Stufen von fünf bistabilen Einrichtungen mit je einer Stufe von drei bistabilen Einrichtungen für das Vorzeichen zusammengesetzt und ermöglicht eine statische Entnahme, bis es durch die Programmsteuerung 222 gelöscht wird.
Das Schieberegister 217 hat fünfzig bistabile Einrichtungen plus drei bistabile Einrichtungen für das Vorzeichen und ermöglicht eine parallele Entnahme. Während dies eine parallele Operation ist, können bestimmte bistabile Einrichtungen ausgewählt und Angaben durch die Operation der Programmsteuerung 220 eingeführt oder entnommen werden.
Das Start-Schieberegister 223 enthält zwanzig bistabile Einrichtungen und sieht eine statische Entnahme vor, um eine vorher bestimmte Adresse im
Speicher auszuwählen mit der Möglichkeit, diese in 50 Stelle 1
das Pufferregister 217 zu schieben oder diesem zu stellen 2 und 3 entnehmen. Das Stoppregister 224 enthält zwanzig
bistabile Einrichtungen, welche vom Pufferregister Stelle 4
217 eingestellt werden und eine statische Anzeige bis
zur Rückstellung ermöglichen. Das Vorzeichenregister 55 Stelle 5
233 enthält drei bistabile Einrichtungen, und eine
Information kann zum Pufferregister 217 übertragen
oder aus diesem empfangen werden. Das Steuerregister 225 gleicht dem Startregister 223.
Der Speicher 226 hat eine große Kapazität zur Speicherung von Angabenwörtern in aufrufbaren Angabenstelen. Eine Information wird über eine Leitung 227 in eine Stelle des Speichers eingeführt, die durch ein Signal über die Leitung 228 ausgewählt
wird. Die bistabilen Einrichtungen des Speichers 65 schrieben wird, ist es klar, daß das gleiche auch für
können Magnetkerne sein. eine Entnahme gelten kann. Das Indexwort zeigt an,
Der Adressengenerator 216 ist eine Einrichtung wie die Aufzeichnungsbestimmungsadresse zu über-
zur Übersetzung einer Reihe von Signalen aus dem setzen oder registrieren ist. Dieser Befehl wird in
Zustandswort wird in einer unterschiedlichen Gruppe aufeinanderfolgender Stellen in Übereinstimmung mit der gleichen Nummer des Bandantriebs gespeichert. Wenn das Hauptprogramm des Rechners unterbrochen wird, wird die Adresse des wirksamen End-Zustandswortes in einer bestimmten Stelle gespeichert. Der Rechner wird die Steuerung auf einen bestimmten Unterablauf übertragen, der durch die Ein-
wort in vorherbestimmten festgelegten Stellen gespeichert sind, sind beide dem Programmierer leicht verfügbar.
Bei der Operation einer Maschine enthält ein Befehl zehn Ziffern plus einem Vorzeichen in der Anordnung.
50123456789.
Dieser Befehl kann in die folgenden Gruppen eingeteilt werden:
Zeichen S
Stelle 0
Stellen 6 bis 9
ist das Vorzeichen, und ein Plus (+) stellt eine Operationsunterbrechung dar, während ein Minus (—) einer nicht unterbrochenen Operation entspricht.
ist die Bandsteuerung, ist der Operationscode, sind das Indexwort.
ist die Operation (Ablesen, Schreiben, Überspringen usw.).
bezeichnet den Bandantrieb 1 bis 6.
enthalten die Adresse des Aufzeichnungsbestimmungswortes.
Von besonderer Bedeutung ist die Adresse des Aufzeichnungsbestimmungswortes. Diese Adresse gibt an, an welcher Stelle im Speicher ein Wort gespeichert ist, das die Start- und Stoppstellen im Speicher anzeigt. Wenn das Einschreiben in den Speicher be-
das Programmregister 229 eingeführt, welches ihn als eine statische Anzeige für die Anwendung speichert. Das Vorzeichen (-!- oder —), die Nummer des Bandantriebs und die Operationsnummer werden in das Operationsregister 212 eingeführt, welches das bestimmte Band und die Operation auswählt und eine Speicherung dieser Information für das Anfangs-Zustandswort vorsieht, welches im Pufferregister 217 gebildet wird.
register 213 vorrückt, wird ein Signal über die Leitung 232 zum Startregister 223 übertragen, durch welches die im Register enthaltene Zahl um eins erhöht wird. Solange die im Startregister 223 gespeicherte Zahl nicht der im Stoppregister 224 eingeführten Zahl gleich ist, erscheint kein Ausgangssignal von der logischen Einrichtung 230, und es wird ein anderes Wort aus dem Band abgelesen oder in dieses eingeschrieben. Die Adresse jedes aus dem Puffer 217
Die Adresse des Aufzeichnungssteuerwortes im io in den Speicher 226 einzuführenden Wortes wird Programmregister 229 wird im Ansprechen auf ein durch die Startablesung bestimmt und über die Lei-Signal aus der Programmsteuerung 222 und in Ab- tung228 eingeführt.
hängigkeit von den Stellen 2 und 3 in originaler oder Die logische Einrichtung 230 benutzt die Ausin Indexform in das Pufferregister 217 eingeführt. gangssignale vom Stopp- und Startregister zur Be-Der Ort des nun in das Programmregister 229 einge- 15 Stimmung, führten Befehls plus eins wird ebenfalls im Pufferregister 217 gespeichert. Die Information wird über
das Informationskabel 227 übertragen, welches die
erforderliche Anzahl von Leitungen enthält. Das nun
rni Puffer 217 gespeicherte Wort enthält die Vor- 20
zeichenstelle und die Stellen 0 und 1, in welche der
Operationscode vom Operationsregister 212 über die
Leitung 234 entsprechend der auszuführenden Operation eingesetzt wurde; Ablesen, Schreiben, Überspringen usw. wird die Ziffernstelle 1 sein. Die in den 25
Ziffernstellen 6 bis 9 enthaltene Information wird
dann im Ansprechen auf ein Signal der Programmsteuerung 222 in das Steuerregister 225 eingeführt
und in einer späteren Operation verwendet.
Der vom Operationsregister 212 im Ansprechen auf den Code eines ausgewählten Bandes gebildete verschlüsselte Ausgang wird durch den Steuer-Adressengenerator 216 in eine Verschlüsselung umgewandelt, die zur Auswahl der bestimmten Speicherstelle für die Speicherung des Inhalts des Puffers 217, welcher das Anfangs-Zustandswort ist, geeignet ist. Der Inhalt des Pufferregisters 217 wird dann über das Informationskabel 227 in diese ausgewählte Stelle des Speichers eingeführt.
Das Steuerregister 225 wird dann durch die Pro- 40 genauen Zustand der beteiligten Einheiten zu begrammsteuerung 222 wirksam, um über das Kabel stimmen und Korrekturumläufe vorzusehen. 228 das im Speicher an der Stelle gespeicherte Wort Wenn eine Gleichheit zwischen der Start- und
auszuwählen, die durch die im Register 225 gespei- Stoppadresse besteht, wird das im Register 233 entcherte Aufzeichnungssteuerwortadresse bestimmt ist. haltene Vorzeichen geprüft. Ist das Vorzeichen ein Dies liefert die Start- und Stoppadressen plus Vor- 45 Minuszeichen, dann wird die Operation beendet. Ist zeichen im Speicher, in welchen die Information aus das Vorzeichen ein Plus, dann wird die im Steuerdem Bande zu speichern ist oder erhalten wird. Die register 225 gespeicherte Zahl um eine »1« erhöht, auf den Start, das Stoppen und das Vorzeichen be- und ein neues Aufzeichnungssteuerwort ist in das zügliche Information wird zuerst in das Pufferregister Start- und Stoppregister einzuführen, und die Opera- 217 geleitet und hierauf in das Vorzeichen-, Start- 5° tion wird fortgesetzt.
und Stoppregister übertragen, und zwei Ziffernstellen Bei der Beendigung wird der Inhalt des Steuerin diesem Aufzeichnungsbestirnmungswort werden registers 225 in das Pufferregister 217 eingeführt, das nicht verwendet. Diese vierstelligen Zahlen werden auch den Inhalt des Startregisters 223 des Vorzeichenim Start- und Stoppregister gespeichert, um die Gren- registers 233 und den Zustandscode von der logischen zen zu geben. Wenn diese Operation beendet ist und 55 Einrichtung 230 oder vom Wähler 211 empfängt, so dies die Programmsteuerung 222 durch ein Signal in daß sich die folgende Speicherung im Pufferregister der Leitung 231 anzeigt, wird der Rechner erneut gestartet, und das Band oder andere Einrichtungen
werden gleichzeitig mit der Operation des Hauptprogramms abgelesen oder beschriftet. 60
Die Informationen aus den Bändern oder anderen
Hilfseinrichtungen werden über die Wählereinheit Das Operationsregister 212 überträgt, ausgelöst
211 hintereinander in das Pufferregister 213 einge- durch die Programmsteuerung 222, ein Ausgangsführt, bis dieses gefüllt ist. Sobald das Register 213 signal zum Adressengenerator 216, welches in eine aufgefüllt ist, werden diese Angaben parallel in das 65 Speicheradresse für den Inhalt des Pufferregisters 217 Register 217 geschoben, welches sie anschließend übersetzt wird, der das End-Zustandswort ist. Die über das Kabel 227 in den Speicher überträgt. Sooft Programmsteuerung 222 interpretiert dieses Wort als ein anderes Wort von Informationen durch das Puffer- Anfang oder Ende und speichert es an der richtigen
309 620/170
1. ob eine richtige Aufzeichnungslänge mit Bezug auf das Band, das gerade gelesen wird, vorhanden ist. Dies erfolgt durch den Vergleich der im Startregister gespeicherten Zahl, welche die Adresse des gültigen Ortes im Speicher für die Aufnahme eines vom Band abgelesenen Wortes ist, mit der im Stoppregister eingestellten Zahl, welche die Adresse des letzten Wortes im Speicher ist, in der ein Wort aus dem Band zu speichern ist, und durch die Feststellung einer Gleichheit am Ende der Aufzeichnungszeit,
2. ob eine kurze Aufzeichnungslänge vorhanden ist, wenn die Start- und die Stoppadresse nicht vor oder am Ende der Aufzeichnungszeitkoinzidieren,
3. ob eine Aufzeichnung mit zu großer Länge vorhanden ist, wenn die Start- und Stoppadresse vor dem Ende der Aufzeichnungszeit koinzidieren.
Das den am Ende von Operationen vorhandenen Zustand darstellende Code-Ausgangssignal von der Einrichtung 230 wird im Pufferregister 217 gespeichert. Dies ermöglicht es dem Programmierer, den
217 ergibt: 2345 6789
S 0 1 Start Inhalt des Steuer
Zustand registers 25
Stelle. Die Adresse dieses Wortes wird an einer festgelegten Speicherstelle gespeichert, wenn die Unterbrechung durch den in dieser Einheit aufgetretenen Zustand bewirkt wurde.
Wenn der Befehl für die Steuerung der bestimmten Einheit der Hilfseinrichtung ein Pluszeichen (für Unterbrechung) hat, wird das Hauptprogramm der Maschine in der richtigen Zeit angehalten und das Programmregister auf eine Adresse eingestellt, die durch die Art der die Unterbrechung bewirkende xo Hilfseinrichtung bestimmt ist. Dies wird auch automatisch bei Fehlern auftreten, ohne Rücksicht auf das Vorzeichen des Betriebsbefehles.
Aus dem Anfangs-Zustandswort und aus dem End-Zustandswort, die in einer vorher bestimmten Anzahl von gesonderten Speicherstellen eingestellt sind, ist eine genügende Information zur richtigen Programmierung einer Korrektur jedes durch den Zustandscode angezeigten Zustandes verfügbar. Es wird daran erinnert, daß die Operation der Hilfseinrichtung durch einen Anfangsbefehl verursacht wurde, dessen Befehlsort wie folgt beschrieben werden kann:
XXX 0—Bandablesen.
Die im Anfangs-Zustandswort gespeicherte Zahl war diese Zahl XXXO plus 1 oder XXXl. Bei der Arbeit der Maschine kann der Befehl XXX1 ein unbedingtes Glied des Befehls XXlO sein, welcher eine Fortsetzung des Hauptprogramms ist. Den Zustandscodes sind Ziffern zugeordnet, z. B.
1—Fehler
2—richtige Aufzeichnungslänge.
Wenn die Adresse eines Unterprogramms in die Stellen XXX 2 für einen Fehler, XXX 3 für einen Fehler der richtigen Aufzeichnungslänge usw. ist, kann das besondere Unterprogramm für einen bestimmten Zustand durch die Addition des Zustandscodes und der im Anfangszustandswort gespeicherten Zahl ausgewählt werden.
Das Anfangs-Zustandswort enthält auch die Operation der Einheit und die Adresse des Anfangs-Aufzeichnungs-Bestimmungswortes. Das End-Zustandswort enthält auch die Adresse des End-Aufzeichnungs-Definitionswortes plus der letzten Speicheradresse, in welche eine Angabe eingeführt wurde. Mit diesen Angaben kann der genaue Punkt eines aufgetretenen Fehlers bestimmt werden.
Die Einrichtung gemäß der Erfindung ermöglicht daher das Sammeln und Speichern von Informationen, die den Arbeitszustand von Hilfsgeräten betreffen, die einer Datenverarbeitungsmaschine zugeordnet sind, und diese Informationen werden in Form von maschinell verwendbaren Daten in ähnlicher Weise gespeichert wie die anderen von der Maschine bearbeiteten Daten. Außerdem werden die Zustandsinformationen in einer solchen Weise verschlüsselt, daß sie die Maschine zu dem Unterprogramm hinlenken können, das zur Behandlung des angezeigten Zustandes erforderlich ist.

Claims (6)

PATENTANSPRÜCHE:
1. Programmgesteuerte Datenverarbeitungsanlage mit gespeicherten Unterprogrammen, da durch gekennzeichnet, daß an den Hilfseinrichtungen, z. B. Magnetbandeinheit (TUl, TUZ), Lochkartenabfühlvorrichtung (7, 9) usw., Vorrichtungen (49, 51, 53) zur Feststellung des Zustandes dieser Hilfseinrichtungen vorgesehen sind, daß dieser Zustand als Zustandswort in den Speicher (5) eingegeben wird und daß ein gespeichertes, einen Fehler anzeigendes Zustandswort ein Korrektur-Unterprogramm auslöst.
2. Programmgesteuerte Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Vorrichtung zur Feststellung eines normalen oder anomalen Zustandes einer Hilfseinrichtung ein in Ziffernform verschlüsseltes Signal abgibt.
3. Programmgesteuerte Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Zustandswort außer dem Operationszustand die Bezeichnung der Hilfseinrichtung und den letzten dieser Hilfseinrichtung gegebenen Befehl enthält.
4. Programmgesteuerte Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß ein Adressengenerator (54) vorhanden ist, der automatisch die Adresse bestimmt, in der das Zustandswort gespeichert wird.
5. Programmgesteuerte Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Adresse im Zustandswort, die den nächsten Programmschritt bestimmt, gleich der Adresse des Speicherortes für den ersten Befehl des Korrektur-Unterprogramms ist.
6. Programmgesteuerte Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß ein Pufferregister (217) zum Zwischenspeichern des Zustandswortes vor Zuführung zum Speicher vorhanden ist.
In Betracht gezogene Druckschriften: Buch von C. W. Tompkins, J. H. Wakelin und W. W. Stifler, »High-Speed Computing Devices«, Mc. Graw Hill Book Comp. Inc., New York—Toronto—London, 1950, S. 68 bis 73; Mathematical Tables and other Aids to Computation, Washington D. C, Oktober 1949, S. 541 bis 542.
Hierzu 1 Blatt Zeichnungen
© 309 620/170 7.63
DEI16899A 1958-08-29 1959-08-26 Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen Pending DE1151397B (de)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US758064A US3077579A (en) 1958-08-29 1958-08-29 Operation checking system for data storage and processing machines
US758063A US2968027A (en) 1958-08-29 1958-08-29 Data processing system memory controls
US758062A US3197740A (en) 1958-08-29 1958-08-29 Data storage and processing machine
US81961659A 1959-06-11 1959-06-11
US81961559A 1959-06-11 1959-06-11
US81961459A 1959-06-11 1959-06-11
US819729A US2950464A (en) 1958-08-29 1959-06-11 Error detection systems
US78678A US3163850A (en) 1958-08-29 1960-12-27 Record scatter variable
US81627A US3246299A (en) 1958-08-29 1961-01-09 Data processing system
US105645A US3209330A (en) 1958-08-29 1961-04-26 Data processing apparatus including an alpha-numeric shift register

Publications (1)

Publication Number Publication Date
DE1151397B true DE1151397B (de) 1963-07-11

Family

ID=27580923

Family Applications (4)

Application Number Title Priority Date Filing Date
DEI16899A Pending DE1151397B (de) 1958-08-29 1959-08-26 Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen
DEI16900A Pending DE1094496B (de) 1958-08-29 1959-08-26 Anordnung zur Speichersteuerung in Angaben-Bearbeitungssystemen
DEJ16904A Pending DE1151686B (de) 1958-08-29 1959-08-27 Speicherprogrammiertes elektronisches Datenverarbeitungssystem
DEJ21077A Pending DE1146290B (de) 1958-08-29 1961-12-23 Elektronisches Datenverarbeitungssystem

Family Applications After (3)

Application Number Title Priority Date Filing Date
DEI16900A Pending DE1094496B (de) 1958-08-29 1959-08-26 Anordnung zur Speichersteuerung in Angaben-Bearbeitungssystemen
DEJ16904A Pending DE1151686B (de) 1958-08-29 1959-08-27 Speicherprogrammiertes elektronisches Datenverarbeitungssystem
DEJ21077A Pending DE1146290B (de) 1958-08-29 1961-12-23 Elektronisches Datenverarbeitungssystem

Country Status (10)

Country Link
US (7) US3197740A (de)
BE (2) BE582113A (de)
CH (3) CH378566A (de)
DE (4) DE1151397B (de)
FR (1) FR1246227A (de)
GB (4) GB886889A (de)
IN (1) IN69632B (de)
IT (3) IT614742A (de)
NL (7) NL143054B (de)
SE (1) SE308219B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2037506A1 (de) * 1969-08-21 1971-03-04 Burroughs Corp Verfahren und Schaltung zur Einstellung einer Operatorsteuerung in einer Datenver arbeitungsanlage

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT614744A (de) * 1958-08-29 1900-01-01
US3202970A (en) * 1958-08-29 1965-08-24 Ibm Scatter read/write operation using plural control words
US3202971A (en) * 1958-08-29 1965-08-24 Ibm Data processing system programmed by instruction and associated control words including word address modification
NL257033A (de) * 1959-11-05 1900-01-01
US3259881A (en) * 1959-12-31 1966-07-05 Ibm Computer including error or abnormal condition controlled immediate program interruption
US3242322A (en) * 1960-02-15 1966-03-22 Gen Electric Error checking apparatus for data processing system
US3238507A (en) * 1960-02-15 1966-03-01 Gen Electric Apparatus for transferring data between non-contiguous memory locations and a data handling means
US3144225A (en) * 1960-03-25 1964-08-11 Int Standard Electric Corp Arrangement for evaluating the pulses in railway axle-counting systems
US3202982A (en) * 1960-07-12 1965-08-24 Royal Mcbee Corp Code conversion apparatus
US3311885A (en) * 1960-11-21 1967-03-28 Gen Electric Electronic data processor
US3181119A (en) * 1960-11-30 1965-04-27 Control Data Corp Reading machine output controller responsive to reject signals
US3252144A (en) * 1960-12-30 1966-05-17 Ibm Data processing device
US3228006A (en) * 1961-01-06 1966-01-04 Burroughs Corp Data processing system
US3249927A (en) * 1961-02-13 1966-05-03 Monroe Int Transducer method and apparatus
US3253263A (en) * 1961-04-10 1966-05-24 Ibm Code to voice inquiry system and twospeed multi-unit buffer mechanism
NL280639A (de) * 1961-07-07 1900-01-01
NL283162A (de) * 1961-09-13
NL283852A (de) * 1961-10-06
NL125228C (de) * 1961-12-15 1969-01-15
US3247490A (en) * 1961-12-19 1966-04-19 Sperry Rand Corp Computer memory system
US3202972A (en) * 1962-07-17 1965-08-24 Ibm Message handling system
US3274560A (en) * 1962-09-12 1966-09-20 Ibm Message handling system
US3268649A (en) * 1962-09-19 1966-08-23 Teletype Corp Telegraph message preparation and switching center
BE638436A (de) * 1962-10-15
US3286236A (en) * 1962-10-22 1966-11-15 Burroughs Corp Electronic digital computer with automatic interrupt control
US3248697A (en) * 1962-11-27 1966-04-26 Ibm Error classification and correction system
US3293612A (en) * 1963-03-28 1966-12-20 Rca Corp Data processing
US3376550A (en) * 1963-05-17 1968-04-02 Lear Siegler Inc Code simulator
US3297998A (en) * 1963-06-10 1967-01-10 Beckman Instruments Inc List control
US3297997A (en) * 1963-06-10 1967-01-10 Beckman Instruments Inc List control
US3302181A (en) * 1963-06-17 1967-01-31 Gen Electric Digital input-output buffer for computerized systems
US3380033A (en) * 1963-07-17 1968-04-23 Vyzk Ustav Matemat Stroju Computer apparatus
US3308429A (en) * 1963-11-15 1967-03-07 Bell Telephone Labor Inc Cyclic and multiplication by 2 mod n permutation decoder for systematic codes
US3337849A (en) * 1963-11-26 1967-08-22 Bell Telephone Labor Inc Matrix control having both signal and crosspoint fault detection
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
US3343134A (en) * 1964-06-26 1967-09-19 Ibm Multiple section retrieval system
US3350693A (en) * 1964-06-26 1967-10-31 Ibm Multiple section transfer system
US3344402A (en) * 1964-06-26 1967-09-26 Ibm Multiple section search operation
GB1096617A (en) * 1964-11-16 1967-12-29 Standard Telephones Cables Ltd Data processing equipment
US3356996A (en) * 1965-01-07 1967-12-05 Scient Data Systems Inc Data transfer system
US3333253A (en) * 1965-02-01 1967-07-25 Ibm Serial-to-parallel and parallel-toserial buffer-converter using a core matrix
US3384875A (en) * 1965-09-27 1968-05-21 Ibm Reference selection apparatus for cross correlation
US3312954A (en) * 1965-12-08 1967-04-04 Gen Precision Inc Modular computer building block
US3417374A (en) * 1966-01-24 1968-12-17 Hughes Aircraft Co Computer-controlled data transferring buffer
US3495216A (en) * 1966-04-27 1970-02-10 Itt Apparatus to compare a standard image with a printed image
US3417377A (en) * 1966-09-13 1968-12-17 Burroughs Corp Shift and buffer circuitry
US3444528A (en) * 1966-11-17 1969-05-13 Martin Marietta Corp Redundant computer systems
US3487370A (en) * 1966-12-22 1969-12-30 Gen Electric Communications control apparatus in an information processing system
GB1220680A (en) * 1967-10-11 1971-01-27 Automatic Telephone & Elect Improvements relating to data transmission systems
US3524165A (en) * 1968-06-13 1970-08-11 Texas Instruments Inc Dynamic fault tolerant information processing system
US3576573A (en) * 1968-09-23 1971-04-27 Ibm System for selecting a substitute electrically operated element
GB1245072A (en) * 1969-02-17 1971-09-02 Automatic Telephone & Elect Improvements in or relating to checking and fault indicating arrangements
US3573445A (en) * 1969-07-07 1971-04-06 Ludmila Alexandrovna Korytnaja Device for programmed check of digital computers
US3610806A (en) * 1969-10-30 1971-10-05 North American Rockwell Adaptive sustain system for digital electronic organ
US3619585A (en) * 1969-11-17 1971-11-09 Rca Corp Error controlled automatic reinterrogation of memory
BE758813A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Structures de programme pour la mise en oeuvre de systemes de traitement d'information, communes a des langages de programme de niveau plus eleve
US3611324A (en) * 1969-12-29 1971-10-05 Texas Instruments Inc Dynamic fault tolerant information-processing system
US3737867A (en) * 1971-02-12 1973-06-05 D Cavin Digital computer with accumulator sign bit indexing
US3705423A (en) * 1971-02-19 1972-12-05 Seeburg Corp Arrangement for translating a train of pulses into logic words
NL7105512A (de) * 1971-04-23 1972-10-25
US3770948A (en) * 1972-05-26 1973-11-06 Gte Automatic Electric Lab Inc Data handling system maintenance arrangement
US3800139A (en) * 1972-07-03 1974-03-26 Westinghouse Air Brake Co Digital speed control apparatus for vehicles
US3870824A (en) * 1973-05-29 1975-03-11 Vidar Corp Redundant data transmission system
JPS5019312A (de) * 1973-06-21 1975-02-28
GB1572895A (en) * 1976-03-04 1980-08-06 Post Office Data processing equipment
GB1572894A (en) * 1976-03-04 1980-08-06 Post Office Data processing equipment
US4434502A (en) 1981-04-03 1984-02-28 Nippon Electric Co., Ltd. Memory system handling a plurality of bits as a unit to be processed
JP2592054B2 (ja) * 1986-01-31 1997-03-19 シャープ株式会社 データ記録方法
US6735685B1 (en) * 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US7093102B1 (en) * 2000-03-29 2006-08-15 Intel Corporation Code sequence for vector gather and scatter
CN111723920B (zh) * 2019-03-22 2024-05-17 中科寒武纪科技股份有限公司 人工智能计算装置及相关产品

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL96171C (de) * 1950-05-18
NL93063C (de) * 1950-09-07
US2797862A (en) * 1951-11-08 1957-07-02 Bell Telephone Labor Inc Digital computer
US2682573A (en) * 1952-03-21 1954-06-29 Eastman Kodak Co Means for detecting errors in apparatus for analyzing coded signals
FR1084147A (de) * 1952-03-31 1955-01-17
NL179534B (nl) * 1952-07-02 Lely Nv C Van Der Hooibouwmachine.
US2721990A (en) * 1952-10-17 1955-10-25 Gen Dynamics Corp Apparatus for locating information in a magnetic tape
US2696599A (en) * 1953-02-12 1954-12-07 Bell Telephone Labor Inc Check circuits
GB799705A (en) * 1953-11-20 1958-08-13 Nat Res Dev Improvements in or relating to electronic digital computing machines
NL193490A (de) * 1953-12-24
US2885659A (en) * 1954-09-22 1959-05-05 Rca Corp Electronic library system
FR1152543A (fr) * 1954-11-18 1958-02-19 Ibm Dispositif de traduction associé à une machine imprimante
USRE25120E (en) * 1954-12-08 1962-02-06 holmes
US2801406A (en) * 1955-03-30 1957-07-30 Underwood Corp Alphabetic-numeric data processor
US2872666A (en) * 1955-07-19 1959-02-03 Ibm Data transfer and translating system
US2914248A (en) * 1956-03-07 1959-11-24 Ibm Program control for a data processing machine
GB867603A (en) * 1957-04-24 1961-05-10 Int Computers & Tabulators Ltd Improvements in or relating to information reading arrangement
US3058658A (en) * 1957-12-16 1962-10-16 Electronique Soc Nouv Control unit for digital computing systems
US2939120A (en) * 1957-12-23 1960-05-31 Ibm Controls for memory devices
US3029414A (en) * 1958-08-11 1962-04-10 Honeywell Regulator Co Information handling apparatus
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system
IT614744A (de) * 1958-08-29 1900-01-01
US3058659A (en) * 1958-12-31 1962-10-16 Ibm Add address to memory instruction
US3105143A (en) * 1959-06-30 1963-09-24 Research Corp Selective comparison apparatus for a digital computer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2037506A1 (de) * 1969-08-21 1971-03-04 Burroughs Corp Verfahren und Schaltung zur Einstellung einer Operatorsteuerung in einer Datenver arbeitungsanlage

Also Published As

Publication number Publication date
SE308219B (de) 1969-02-03
US3209330A (en) 1965-09-28
NL242717A (de) 1900-01-01
CH377131A (de) 1964-04-30
US2950464A (en) 1960-08-23
US3246299A (en) 1966-04-12
NL247091A (de) 1900-01-01
FR1246227A (fr) 1960-10-10
BE582071A (de) 1900-01-01
US3077579A (en) 1963-02-12
US3163850A (en) 1964-12-29
GB926181A (en) 1963-05-15
IT614743A (de) 1900-01-01
GB886889A (en) 1962-01-10
BE582113A (de) 1900-01-01
IT614742A (de) 1900-01-01
NL143054B (nl) 1974-08-15
CH378566A (de) 1964-06-15
DE1094496B (de) 1960-12-08
US3197740A (en) 1965-07-27
NL242718A (de) 1900-01-01
CH401539A (de) 1965-10-31
IN69632B (de) 1900-01-01
DE1146290B (de) 1963-03-28
NL242716A (de) 1900-01-01
US2968027A (en) 1961-01-10
GB919964A (en) 1963-02-27
IT614744A (de) 1900-01-01
NL135792C (de) 1900-01-01
DE1151686B (de) 1963-07-18
GB902778A (en) 1962-08-09
NL135793C (de) 1900-01-01

Similar Documents

Publication Publication Date Title
DE1151397B (de) Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen
DE1524225B2 (de) Verfahren zum betriebe einer redigier- und wiedergabeeinrichtung
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE1424732A1 (de) Elektronische Ziffernrechenmaschine
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE2758830A1 (de) Rechenvorrichtung
DE1935944C3 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE2906923C2 (de) Speichergesteuerte, kraftangetriebene Schreibmaschine
DE1201586B (de) Programmgesteuerte Daten-Auswertmaschine
DE1191145B (de) Elektronische Zifferrechenmaschine
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE2165589A1 (de) Anordnung zur programmgesteuerten bestimmung von fehlern in einer datenverarbeitungsanlage
DE1499286B2 (de) Datenbearbeitungsanlage
DE2717244C2 (de)
DE1115056B (de) Geraet und Verfahren zum Aufzeichnen und Abfuehlen von Daten auf bzw. von einem magnetisierbaren Aufzeichnungstraeger
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE1296427B (de) Datenbearbeitungssystem
DE1181948B (de) Elektronische Datenverarbeitungsmaschine
DE1549580A1 (de) Digitales Rechengeraet
DE2735874C2 (de)
DE2265015C2 (de) Textverarbeitungssystem
DE1524225C3 (de) Verfahren zum Betriebe einer Redigier- und Wiedergabeeinrichtung