DE1201586B - Programmgesteuerte Daten-Auswertmaschine - Google Patents

Programmgesteuerte Daten-Auswertmaschine

Info

Publication number
DE1201586B
DE1201586B DEI15305A DEI0015305A DE1201586B DE 1201586 B DE1201586 B DE 1201586B DE I15305 A DEI15305 A DE I15305A DE I0015305 A DEI0015305 A DE I0015305A DE 1201586 B DE1201586 B DE 1201586B
Authority
DE
Germany
Prior art keywords
interrupt
program
address
signal
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
DEI15305A
Other languages
English (en)
Inventor
Flavius Morton Powell
Edward Francis Rent
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.)
IBM Deutschland GmbH
Original Assignee
IBM Deutschland GmbH
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 IBM Deutschland GmbH filed Critical IBM Deutschland GmbH
Publication of DE1201586B publication Critical patent/DE1201586B/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Debugging And Monitoring (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. CL:
G06f
ν. 31.
Deutsche Kl.: 42 m -14
Nummer: 1201586 &\\,
Aktenzeichen: 115305IX c/42 m
Anmeldetag: 27. August 1958
Auslegetag: 23. September 1965
Es sind bereits Maschinen bekannt, deren Arbeitsablauf nach einem Programm erfolgt, dessen einzelne Arbeitsschritte unter der Steuerung von in verschiedenen Arten von Speichervorrichtungen enthaltenen Instruktionen oder Befehlen erfolgen. Solche Maschinen haben eine hohe Programmkapazität, eine große Speicherungsfähigkeit und eine sehr große Flexibilität. Diese bekannten Maschinen sind in der Regel mit einer Magnettrommel für die Speicherung einer großen Anzahl von Daten in der Form von Magnetpunkten an ihrer Oberfläche ausgestattet. Eine Programmspeichereinrichtung ist zur Speicherung eines einzelnen Programmschrittes oder -wortes vorgesehen. Das Programmwort ist in drei Abschnitte unterteilt, nämlich in den Adressenteil, welcher der Maschine die Stelle im Speicher anzeigt, an der die zu behandelnden Daten gespeichert sind, in den Operationsteil zur Anweisung der Maschine, welche Operation in Verbindung mit den an der durch den Adressenteil bestimmten Speicherstelle gefundenen Daten auszuführen ist, und schließlich in einen Instruktionsteil zur Unterrichtung der Maschine, wo der nächste Programmschritt im Speicher zu finden ist. Zum Empfang des Adressenteiles und des Operationsteiles des Programmwortes aus dem Programmspeicher sind ein Adressenregister bzw. ein Operationsregister vorgesehen. Unter der Steuerung des Adressenregisters stehende Schaltkreise dienen der Auswahl irgendeiner Speicherstelle der Magnettrommel oder einer anderen Speichereinrichtung in Übereinstimmung mit dem im Adressenregister gespeicherten Wert. Andere Schaltkreise bestimmen unter der Steuerung des Operationsregisters die Art der Operation, die in Verbindung mit den an der ausgewählten Adressenstelle gefundenen Daten auszuführen ist. Nachdem eine Adresse ausgewählt ist und die gefundenen Daten durch die Maschine bearbeitet werden, wird der Instruktionsteil des Programmwortes aus dem Programmspeicher in das Adressenregister eingeführt, um den vorher in diesem Register eingestellten Wert zu ersetzen. Ein neuer Programmschritt, gespeichert an der Adresse im Speicher, die mit dem Instruktionsteil des Programmwortes im Adressenregister übereinstimmt, wird ausgewählt und in den Programmspeicher eingeführt, um den vorher gespeicherten Wert zu ersetzen. Abwechselnd führt die Maschine eine Prüfung durch, und wenn ein vorbestimmter Zustand vorgefunden wird, kann veranlaßt werden, daß der Adressenteil eines Programmwortes im Adressenregister verbleibt und das nächste Programmwort entsprechend dem vorgefundenen vorherbestimmten Zustand ausgewählt und in den Programmgesteuerte Daten-Auswertmaschine
Anmelder:
IBM Deutschland
Internationale Büro-Maschinen
Gesellschaft m. b. H.,
Sindelfingen (Württ.), Tübinger Allee 49
Als Erfinder benannt:
Edward Francis Rent, Vestal, N. Y.;
Flavius Morton Powell, Johnson City, N. Y.
(V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 6. September 1957
(682487)
Programmspeicher eingeführt wird. Auf der Magnettrommel kann eine große Anzahl von Programmwörtern und eine große Anzahl von anderen Daten gespeichert werden. Die Reihenfolge der vorstehend umrissenen Vorgänge kann daher für eine große Anzahl von Programmschritten fortgesetzt werden.
Addierwerke und Verteilungsstromkreise sind in der Maschine vorgesehen zur Durchführung verschiedener Rechenoperationen, die durch den Operationsteil der Programmworte aufgerufen werden. Eine gespeicherte Folge solcher Programm- oder Instruktionswörter bildet ein Programm.
Die Maschine ist zur Ausführung mehrerer Hauptprogramme programmiert. Das Eingeben eines Programms wird im allgemeinen durch das Eingeben weniger Instruktionen in die Speicher-Eingangsschalter über die Steuerkonsole erreicht. Diese wenigen Instruktionen werden zum Eingeben vollständigerer Eingabeprogramme benutzt. Die ursprünglichen Daten und Instruktionen werden während des Eingabevorganges normalerweise aus Lochkarten oder Magnetbändern entnommen und auf dem Trommelspeicher gespeichert. Während des Betriebs der Maschine kann ein abnormer Zustand oder ein Fehler auftreten, wodurch bestimmte Fehler-Stromkreise ansprechen, um die Maschine anzuhalten. Durch Drücken einer Fehler-Löschtaste an der Konsole können die Fehler-Stromkreise rückgestellt werden, so daß die Maschine das Programm fortsetzt, wenn die Programm-Starttaste gedrückt wird. Durch eine weitere Schaltungsanordnung an
509 688/403
3 4
der Konsole kann der durch einen abnormen Zu- F i g. 9 ein Diagramm der logischen Schaltungen
stand oder einen Fehler angehaltene Rechner wieder zur Erzeugung des Unterbrechungs-Sperrsignals, des
gestartet und durch sogenannte Wiederholungs- Unterbrechungsart-Signals und des Signals »Keine
Instruktionen gesteuert werden, die in der Maschine Unterbrechung«,
gespeichert wurden und die bewirken, daß die Ma- 5 . F i g. 10 ein Diagramm der logischen Schaltungen
schine einen Teil des Hauptprogramms oder das für das Rückstellen des Adressenregisters,
ganze Hauptprogramm wiederholt, das beim Ein- Fig. 11 ein Diagramm der logischen Schaltungen
treten des Fehlerzustandes durchgeführt wurde. zur Erzeugung der Signale »Speichereingabe« und
Es ist ersichtlich, daß das Eintreten von ab- »Speicherentnahme«,
normen oder Fehlerzuständen das manuelle Ein- io Fig. 12 ein Diagramm der logischen Schaltungen
greifen des Bedieners der Maschine erforderlich zur Erzeugung des Signals für die Regeneration des
macht und daß es, um Operationen wiederholen zu Inhalts des Unterbrechungsregisters und eines Ent-
können, erforderlich ist, bereits beim Laden der nahmesignals,
Maschine mehrere Wiederholungsinstruktionen zu Fig. 13 bis 19 b typische elektronische Schaltungsspeichern. Diese Wiederholungsinstruktionen müßten 15 elemente der Maschine und
in beliebigen Intervallen innerhalb des Programms Fig. 20 und 21 Zeitdiagramme,
eingefügt werden, zumindest aber am Anfang eines Die F i g. 1 zeigt ein vereinfachtes Blockdiagramm jeder Programms, da im voraus nicht bekannt ist, an nur jener Bestandteile einer Daten-Auswertungswelcher Stelle in der Reihenfolge der Operationen maschine mit gespeichertem Programm, welche durch ein abnormer Zustand auftreten wird. Das manuelle 20 die Erfindung berührt werden.
Eingreifen des Bedieners der Maschine zu Korrek- Die Maschine besitzt eine große Speicherkapazität türen und Wiederholungen des Programms bzw. von in Form eines Magnettrommelspeichers GS, auf Teilen des Programms kostet aber Zeit und belastet welchem bis zu 3500 »Wörter« gespeichert werden auch den Maschinenbediener, und es ist daher die können. Ein Wort besteht aus bis zu zehn Ziffern Aufgabe der Erfindung, diese Mängel zu beseitigen. 25 und einem Vorzeichen. Zwischen dem Magnet-Dies wird bei einer programmgesteuerten Daten- trommelspeicher GS und den Eingabe- und Aus-Auswertmaschine mit gespeichertem Programm und gabeeinheiten sind die Magnettrommel -Puffermit Zwischenspeicherung der Adresse des jeweils speicher A und B angeordnet. Wie in der F i g. 1 genächsten Befehls einer Befehlsfolge als Rückkehr- zeigt, können beispielsweise Angaben aus Aufzeichadresse nach einer Unterbrechung dieser Befehls- 30 nungsträgem, z. B. Lochkarten 10, mittels der Bürfolge durch eine andere gemäß der Erfindung da- sten 11 in einem Kartenleser abgefühlt und über einen durch erreicht, daß abnorme Arbeitsbedingungen Schreibkopf 12 auf dem Pufferspeicher^ der Mabestimmter Teile der Maschine, z. B. der Ein- gnettrommel aufgezeichnet werden. Dem Puffergabe- und Ausgabevorrichtungen bestimmte Unter- speichert können die Angaben durch einen Lesebrechungssignale auslösen, die in Speichergliedern 35 kopf 13 entnommen und in eine Kernspeichereinheit festgehalten werden und automatisch in vorbe- CS übertragen werden. Es ist ersichtlich, daß auch bestimmter Rangfolge bei gleichzeitiger Unter- Magnetband-Steuereinheiten, z.B. TUl und TU2, brechung der laufenden Befehlsfolge den abnormen Magnetbandangaben über die Kanäle Cl, C2 und Arbeitszuständen der betreffenden Vorrichtungen Taktgeber-Ringschaltungen TR1 und TR2 in den zugeordnete Befehlsfolgen (Zwischenprogramme) zur 40 Kernspeicher leiten können. Die im Kernspeicher aufBerücksichtigung bzw. Beseitigung dieser Arbeitszu- gezeichneten Daten können entweder über einen stände durch Aufruf ihrer in besonderen Speichern Schalter 12 a und einen Schreibkopf 14 auf dem enthaltenen Rufnummern wirksam machen. _ Magnettrommelspeicher GS oder zur Steuerkonsole
Weitere Einzelheiten der Erfindung ergeben sich 15 der Maschine übertragen werden. Die Daten auf
aus der Beschreibung eines bevorzugten Ausfüh- 45 dem Magnettrommelspeicher können auch durch
rungsbeispieles in Verbindung mit den Zeichnungen, einen Ablesekopf 16 a entnommen und zu anderen
von denen zeigt Stellen der Maschine übertragen werden. Es können
Fig. 1 ein allgemeines Diagramm der wesent- natürlich auch andere zahlen- und artmäßig ver-
lichen Bestandteile einer programmgesteuerten Daten- schiedene Eingabe- und Ausgabeeinrichtungen für
Auswertungsmaschine gemäß der Erfindung, 50 die Übertragung von Daten zu dem Trommelspeicher
Fig. 2 die Einteilung der Speichertrommel in und für deren Entnahme aus ihm verwendet werden.
Sektoren, Worte, Ziffern und Impulsreihen, Die Wörter werden serienweise auf der Trommel
F i g. 3 die Darstellung der dezimalen Ziffern 0 gespeichert. Die Ziffern eines Wortes werden eben-
bis 9 in der »Zwei-aus-FünfÄ-Verschlüsselung, falls serienweise innerhalb jedes Wortintervalls ge-
Fig. 4 den Aufbau eines Befehlswortes, 55 speichert. Die Ziffern werden durch parallele Kom-
Fig. 5a und 5b ein Schema der logischen Schal- binationen magnetisch gespeicherter Bits dargestellt,
tungen für die Durchführung einer Programmunter- Informationen werden somit serienweise nach Wörtern
brechung, und Ziffern und parallel nach Bits gespeichert. Die
Fig. 6 ein Diagramm der logischen Schaltungen Maschine verwendet einen »Zwei-aus-Fünf«-Code,
für die Erzeugung der Unterbrechungs-Prüfsignale, 60 bei welchem zwei von fünf möglichen parallel-
des Unterbrechungs-Verzögerungssignals und des gespeicherten Bits den dezimalen Wert der Ziffer
Fehlersignals, bestimmen. Die Fi g. 3 zeigt die Verschlüsselung der
F i g. 7 ein Diagramm der logischen Schaltungen zehn Dezimalziffern.
zur Erzeugung des Fehler-Verzögerungssignals und Jede der Wortspeicherstellen ist durch eine vierverschiedener Unterbrechungssignale, 65 ziffrige Adresse bezeichnet. Bei der beschriebenen
Fig. 8 ein Diagramm der logischen Schaltungen speicherprogrammierten Maschine ist jede Instruk-
zur Erzeugung der Unterbrechungs-Prüfsignale und tion (Programmschritt) als ein Zehnziffernwort in
der Speicher-Signale, einer Wortspeicherstelle gespeichert. Die ver-
schlüsselten Ziffern eines Instruktionswortes ergeben bei ihrer Auswertung durch die Programm-Steuerschaltungen die Angabe, welche Operation auszuführen ist, in welcher Speicherstelle die zur Durchführung der Operation benötigten Daten zu finden sind und in welcher Speicherstelle das nächste zehnziffrige Instruktionswort gefunden wird. Eine gespeicherte Reihenfolge solcher Instruktionswörter bildet das Programm.
Die Rechnungen werden von der Maschine mittels elektronischer Einrichtungen ausgeführt, die nicht dargestellt sind oder im einzelnen beschrieben werden, da sie für das Verständnis der vorliegenden Erfindung nicht erforderlich sind. Die Rechenanlage kann Addieren, Subtrahieren, Multiplizieren und Dividieren und außerdem logische Prüfungen ausführen, um einen positiven, negativen oder einen Null-Saldo im Rechenwerk festzustellen. Der Programmablauf kann durch jede dieser logischen Prüfungen oder durch das Abfühlen eines Kartenloches geändert werden. Die arithmetischen Operationen Addieren, Subtrahieren, Multiplizieren, Dividieren, Verschieben und Tabellenlesen werden im allgemeinen in einem Hauptaddierwerk durch Vereinigen von Ausgangssignalen eines Verteilers und des Rechenwerkes oder von Ausgangssignalen des Magnettrommelspeichers und des Verteilers bewirkt. Diese Ausgangssignale werden in durch die Operation vorgeschriebenen Reihenfolge verknüpft und das Ergebnis in das Rechenwerk zurückgespeichert. Alle arithmetischen und logischen Operationen sind in die Maschine eingebaut und werden durch den Operationsteil des Instruktionswortes eingeleitet.
Die arithmetischen Einrichtungen der Maschine sind so aufgebaut, daß die Zahlen serienweise verarbeitet werden. Während des Rechnens werden daher die aus zehn Ziffern bestehenden Wörter durch die arithmetischen Einrichtungen Ziffer für Ziffer, beginnend mit der niederstelligsten Ziffer und fortschreitend bis zur höchststelligen Ziffer des Wortes, verarbeitet.
Die Zeitsteuerung der Maschine bezieht sich daher auf die Ziffernstellen statt auf den Ziffernwert. Im arithmetischen Teil der Maschine wird der Wert einer Ziffer durch die Kombinationen der Bit-Impulse in auf zwei von fünf parallelen Leitungen bestimmt.
Die Magnettrommel hat dreitausendfünfhundert adressierbare Speicherplätze zur Speicherung von zehnziffrigen Wörtern. Jeder dieser Speicherplätze ist durch eine erste Aufgabe einer von mehreren sich quer über die Trommel erstreckenden Bahnspuren und durch die weitere Angabe einer von mehreren Winkelstellungen der Trommel festgelegt. Zur Auswahl eines Magnetkopfes wird der aus 4 Ziffern bestehende Adreßteil des Instruktionswortes in das Adreßregister AR gebracht, um die in der F i g. 1 mit AS bezeichneten Schaltungen für die Auswahl der Magnetköpfe zu betätigen.
Die gesamte Taktgabe der Maschine ist auf die Winkelstellung der Trommel bezogen. Die F i g. 2 zeigt die verschiedenen wichtigen Takt-Intervalle und ihre Beziehung zur Trommel. Die Trommel ist in fünf Sektoren unterteilt, und jeder Sektor ist weiter in zehn Wortintervalle eingeteilt. Jedes Wort ist in zwölf gleiche Ziffernintervalle, nämlich in zehn Ziffernstellen, eine Vorzeichenstelle und in eine mit Ziffer X bezeichnete Stelle als Trennintervall zwischen den Wörtern, unterteilt. Jede Ziffernzeit ist schließlich in vier gleiche Intervalle/i, B, C und D unterteilt. Die Größe und die Umdrehungsgeschwindigkeit der Trommel wurde so gewählt, daß sie eine Umdrehung in 4800 MikroSekunden ausführt. Da rund um die Trommel sechshundert Ziffernintervalle vorgesehen sind, entsprechen einem Ziffernintervall 8 Mikrosekunden und jedem A-, B-, C- und D-Impuls ein Viertel der Ziffernzeit oder 2 Mikrosekunden.
ίο Die vorher erwähnten, der Eingabe-Ausgabe-Speicherung dienenden Pufferspeicher A und B werden als Lese- bzw. Locher-Pufferspeicher bezeichnet. Die vorliegende Maschine arbeitet nach einem gespeicherten Programm, um die notwendige Reihenfolge der Operation für die Lösung eines Problems einzuhalten, d.h., die Maschine bezieht sich auf irgendeine ihrer eigenen Speicherplätze, um ein vorher gespeichertes oder errechnetes und verschlüsseltes zehnziffriges Instruktionswort zu erhalten, dessen Ziffernwerte durch die Maschine interpretiert werden können, um die nächstfolgende Operation zu bestimmen. Die ursprünglichen Daten und Instruktionen werden normalerweise während des Ladevorganges den Lochkarten entnommen und in den Speicherplätzen auf der Magnettrommel gespeichert. Zusätzliche Daten und/oder Instruktionen können zur Lösung des Problems durch Lochkarten eingegeben werden. Jede Instruktion (Programmschritt) ist als ein Wort gespeichert. Da Daten und Instruktionen in gleicher Weise gespeichert sind, kann ein Instruktionswort arithmetischen Operationen unterworfen werden und daher durch die Programmierung abgeändert werden. Die Bedeutung jeder gültigen verschlüsselten Instruktion ist in die Maschine eingebaut, und jede Folge von Instruktionen wird als Programm bezeichnet.
Alle Instruktionen haben die Form von zehnziffrigen Wörtern mit einem Vorzeichen für Prüfzwecke. Es hat keinen Einfluß auf die Bedeutung der Instruktion, muß aber beachtet werden, wenn das Instruktionswort arithmetisch abgeändert wird. Aus der F i g. 4 ist ersichtlich, daß das Instruktionswort in drei Abschnitte unterteilt ist. Die Ziffernstellen 10 und 9 sind der Operationscode, durch welche der Maschine angezeigt wird, welche der verschiedenen Operationen während dieses Programmschrittes auszuführen ist. Die Ziffernstellen 8 bis 5 enthalten die Datenadresse, d. h. den Speicherplatz der während der Operation benötigten Daten, oder den Speicherplatz, in den das Ergebnis der Operation zu speichern ist. Die Ziffernstellen 4 bis 1 sind die Instruktionsadresse, welche den Speicherplatz der gespeicherten Instruktion für den nächsten Programmschritt anzeigt.
Außer den ausgewählten Bestandteilen der Daten-Auswertungsmaschine zeigt die F i g. 1 auch die Wege des Flusses der Programminformation, und es ist, obwohl diese Datenflußwege in der F i g. 1 zur Vereinfachung der Zeichnung nur als einzelne Linie dargestellt sind, wohl verständlich, daß jeder Datenflußweg tatsächlich aus fünf parallelen Leitungen besteht und daß entsprechend dem »Zwei-aus-Fünf «- Code die den numerischen Wert jeder Ziffer darstellenden Datenimpulse während jedes Ziffernintervalls in zwei dieser fünf Leitungen auftreten.
Die arithmetischen und logischen Operationen in der Maschine werden durch die Programmsteuerschaltungen gesteuert, welche einen Verteiler oder
7 8
eine Operationsmatrix OM, eine Programmschritt- und der Datenteil des Instruktionswortes im Prospeichereinheit oder ein Programmregister Pi?, das grammregister wird in das Adreßregister übertragen, Operationsregister OPR, das Adressenregister AR in diesem ausgewertet und zur Auswahl der »£>«- und gemäß der Erfindung ein Unterbrechungsregister Adresse benutzt. Der Datenteil des Wortes im Pro-TR enthalten. 5 grammregister wird auch der Operationsmatrix zu-
Die Information wird der Magnettrommel ent- geführt und hier mit dem bereits zugeführten Openommen und der Operationscode wird während der rationscode kombiniert. Die Operationsmatrix inter-Ziffernzeiten »0«, »10« und »9« über geeignete pretiert die Daten und entwickelt Signale für die UND-Schaltungen 16 in die Vorzeichen-, Zehner- Steuerung der Maschine zur Ausführung der durch und Einer-Stellen des Operationsregisters OPR über- io das Instruktionswort verlangten Operation. Dies tragen. Der Daten- und Instruktionsteil des Pro- vollendet einen Programmschritt,
grammwortes wird beim Auftreten eines Signals Sobald die Operation beginnt, bewirkt die Pro- »Programm einlesen« RIPR über einen UND- grammsteuerung eine Rückkehr zum »/«-Halbzyklus. Schalter 17 in einen Indexaddierer IA eingegeben Das Operations-, Programm- und Adreßregister wird und aus diesem serienweise in das Programmregister 15 gelöscht, das nächste Instruktionswort wird dem PR übertragen. Die parallele Entnahme aus dem Speicherplatz mit der »/«-Adresse entnommen und Programmregister und die Übertragung zu einer dem PrograTnmregister als Ersatz für das voraus-ODER-Schaltung 18 erfolgt mittels zweier UND- gegangene Instruktionswort zugeführt, und die vorSchaltungen 19 und 20. Die UND-Schaltung 19 herige Reihenfolge des Operationsablaufes wird überträgt unter der Steuerung eines Signals D/AR 20 wiederholt. Eine Sperrschaltung ist vorgesehen, den Datenteil des Wortes über die ODER-Schaltung durch welche ein Vorrücken im Programm mit Ausbin das Adressierregister y4i?, während der Instruk- nähme von Ablese- oder Lochungsvorgängen vertionsteil des Wortes über die UND-Schaltung 20 hindert wird, bis der die arithmetischen Einheiten unter der Steuerung eines I/AR-Signah über die benutzende vorherige Programmschritt beendet ist. ODER-Schaltung 18 in das Register AR geleitet 25 In dieser Weise führt die Maschine die Schritte eines wird. Aus dem Adreßregister AR wird die Informa- gespeicherten Programms nacheinander aus.
tion in die Adressen-Auswahleinheit AS übertragen Das Ausführen von Halbzyklen, durch die ein und beim Vorhandensein eines die serienweise Ent- Programmschritt ausgeführt wird, wird durch einen nähme aus dem Adreßregister AR steuernden Signals Programmsteuerkommutator erreicht, welcher die Dl bis />4 auch über eine UND-Schaltung 21 zu 30 Reihenfolge der für das Ausführen irgendeines Proeiner UND-Schaltung 22 übertragen. Die UND- grammschrittes erforderlichen Funktionen steuert. Schaltung 22 arbeitet unter der Steuerung eines Si- Dieser Steuerkommutator ist eine Ringschaltung mit gnals IRRI »Eingabe ins Unterbrechungsregister« zwei Zweigen und mit verschiedenen Schaltstellungen und dient dazu, die gleiche Information, die in das in jedem Zweig. Die Schaltstellungen des einen Adreßregister AR eingegeben wurde, auch in das 35 Zweiges steuern die Funktionen des »/«-Halbzyklus, Unterbrechungsregister IR zu übertragen, außer wenn während die Schaltstellungen des anderen Ringeine Unterbrechungsbedingung eintritt, wie später schaltungszweiges die Funktionen des »D«-Halbnoch beschrieben wird. Die so eingegebenen Infor- zyklus steuern. Normalerweise muß die Ringschalmation wird dem Unterbrechungsregister serienweise tung beide Zweige durchlaufen, zuerst durch den entnommen und über eine UND-Schaltung 23 bei 40 »/«-Zweig und dann durch den »£>«-Zweig, um Auftreten eines Signals IRRO »Entnahme aus dem einen Programmschritt zu vollenden. Die Ausgangs-Unterbrechungsregister« zu der Kernspeichereinheit signale in den verschiedenen Schaltstellungen des CS übertragen. Es ist zu bemerken, daß der Daten- Steuerkommutators werden zur Steuerung der verteil des Instruktionswortes im Programmregister PR schiedenen, zur Durchführung des Programmschrittes auch der Operationsmatrix OM zugeführt und in 45 erforderlichen Datenübertragungen verwendet,
dieser mit der vom Operationsregister OPR korn- Das Programmregister und das Unterbrechungsmenden Operationscode kombiniert wird. Die Ope- register sind Schieberegister und haben die Form raticnsmatrix bewirkt die Aussendung von Signalen einer Ringschaltung aus Verriegelungsstufen, bei zum Rechenwerk, um dieses anzuweisen, welche welcher jede Stufe aus zwei Invertern, einem Operationsart und wo diese in der Maschine auszu- 50 Kathodenverstärker für die Erzeugung des Ausgangsführen ist. Die Hauptsteuerkonsole 15 weist auch signals, einem aus zwei Dioden gebildeten Koinzieine Tastatur 24 auf, mittels deren Instruktionen denzschalter für die Verriegelung der Stufe in dem über die ODER-Schaltung 18 in das Adreßregister EIN-Zustand und einem dritten Inverter für die AR eingetastet werden können. Kopplung der Stufe mit der folgenden, der zur
Jeder Programmschritt wird in zwei Teilen oder 55 Speicherung der Information während der Ver- »Halbzyklen« ausgeführt. Im ersten Teil oder »/«- Schiebeoperationen in der Ringschaltung dient. Diese Halbzyklus werden das Operations-, das Programm- Registerart ist geeignet für die erforderliche serien- und das Adreßregister gelöscht, und ein neues In- weise Eingabe einer an irgendeiner Adresse in dem struktionswort wird in das Operationsregister OPR Speicher befindlichen Instruktion, für eine serien- und in das Programmregister PR eingegeben. Dann 60 weise Entnahme, wie dies zum Indexieren von Inwird der »/«-Teil des Instruktionswortes im Pro- struktionen erforderlich ist, und für eine parallele grammregister in das Adreßregister übertragen, um Ausgabe, die für die Arbeitsweise der Operationshier ausgewertet und durch die Adreßauswahleinheit codematrizen und der Adreßauswahlmatrizen erfür die Auswahl der nächsten »/«-Adresse verwen- forderlich ist. Die Daten in diesen Registern können det zu werden. Der Operationscode im Operations- 65 parallel oder serienweise entnommen werden,
register wird in die Operationsmatrix eingegeben. Die Operations- und Adreßregister sind statische Im zweiten Teil des Programmschrittes oder im Speicher, deren jede Stelle fünf Verriegelungsschal- »D «-Halbzyklus wird das Adreßregister gelöscht, tungen (elektronische binäre Speichereinrichtungen)
zur Anzeige der nach der »Zwei-aus-Fünf«-Verschlüsselung verschlüsselten Daten. Sobald ein verschlüsselter Wert zugeführt wurde, bleibt bis zur Löschung des Registers ein gleichbleibendes Ausgangssignal von zwei der fünf Verriegelungsschaltungen verfügbar.
Der Indexaddierer IA ist eine Dioden-und Röhreneinheit, die zum Empfang zweier Eingangswerte zu deren Analyse und zur Erzeugung eines Ausgangssignals befähigt ist, das der Summe oder Differenz der beiden Eingangswerte entspricht. Mit Bezug auf die vorliegende Erfindung kann angenommen werden, daß der Indexaddierer die Daten- und Instruktionsteile des in das Programmregister übertragenen Wortes mit maschinenerzeugten Nullen kombiniert und daß das übertragene Instruktionswort nicht abgeändert wird.
Die Kemspeichereinheit CS hat eine Gesamtkapazität von 1000 Wörtern, und da alle Wörter einzeln aufrufbar sind, kann ein Datenwort oder ein Instruktionswort in jedem Kernspeicherplatz gespeichert werden. Der Kernspeicher arbeitet parallel, und bei jedem Zugriff werden 55 Bits verarbeitet. Die Information wird in den Kernen nach der »Zwei-aus-Fünf«-Verschlüsselung gespeichert. Der Kernspeicher wird im allgemeinen für die Zusammenstellung von Informationen zum Schreiben auf Magnetbändern verwendet, und alle von einem Magnetband abgelesenen Angaben werden dem Kernspeicher zugeführt. Die Kemspeichereinheit ist mit drei Taktgeber-Ringschaltungen ausgestattet, von denen jede Zugriff zum ganzen Kernspeicher hat. Eine der Ringschaltungen (nicht dargestellt) verbindet den Kernspeicher mit der Magnettrommel und ist im besonderen den Rechenfunktionen der Maschine zugeordnet. Jede der beiden anderen Ringschaltungen 1 und 2 ist einem Magnetband-Steuerkanal zugeordnet.
Wie aus F i g. 1 ersichtlich, kann die Maschine mit zwölf Magnetbändern ausgestattet werden, und jede Magnetbandeinheit TUl und TU 2 umfaßt sechs Bandgeräte. Die Steuerkanäle 1 und 2 ermöglichen ein voneinander unabhängiges Arbeiten der beiden Einheiten und somit ein gleichzeitiges Lesen-Lesen, Lesen-Schreiben oder Schreiben-Schreiben. Alle Bandoperationen werden durch einen einzigen Operationscode und die zugeordnete »£)«-Adresse eingeleitet. Die »£>«-Adresse steuert die zu verwendende Bandeinheit, den erforderlichen Kanal, die auszuführende Bandoperation (Lesen, Schreiben, Rücksetzen usw.) und die Operationsart, die nach der Ausführung des Befehls aufzunehmen ist.
Die Steuerkonsole 15 und die mit ihr verbundene Tastatur 24 enthält Schalter und Signallampen, mittels deren die Arbeitsweise der Maschine beobachtet und gesteuert werden kann. Die Steuerkonsole ist mit mehreren Speicher-Eingangsschaltern versehen. Irgendwelche Instruktionen oder zehnstellige Zahlen können durch diese Schalter eingestellt werden. Sie werden in Verbindung mit anderen Tasten und Schaltern auf der Konsole zum Eingeben von Daten oder Instruktionen in irgendeinen Speicherplatz verwendet und im allgemeinen zur Ausführung von Korrekturen benutzt, wenn ein Programm zu berichtigen ist. Sie können durch das Programm unter Benutzung der Adresse 8000 abgefragt werden. Es sind auch Adressenauswahlschalter vorgesehen, durch die eine Adresse eingestellt werden kann, bei der das Programm angehalten werden soll oder durch die eine Adresse unmittelbar in das Adreßregister gebracht werden soll. Der Programmstart, das Anhalten des Programms und Rückstelloperationen können ebenfalls von der Konsole aus gesteuert werden.
Es werden nur wenige und einfache elektronische Schaltungen in der Maschine benutzt. Trioden, Magnetkerne und Germaniumkristalldioden werden
ίο verwendet, und die Röhren arbeiten als Inverter, Doppelinverter und Kathodenverstärker. Die Inverter und Kathodenverstärker sind durch äußere Schaltungen verbunden, um eine Verriegelungsschaltung zu bilden. Verriegelungsschaltungen werden an Stelle von Triggern in den Taktgeber-Ringschaltungen und dort verwendet, wo augenblickliche Signale für eine spätere Verwendung gespeichert werden müssen. In den logischen Schaltungen der Maschine werden Germaniumkristalldioden in einer Anordnung ver-
ao wendet, bei der sie als UND-Schaltungen für positive Signale und ODER-Schaltungen für positive Signale wirken. Um Verwechslungen in den Bezeichnungen zu vermeiden, werden in der weiteren Beschreibung die UND-Schaltungen als Dioden-
s5 schalter und die ODER-Stromkreise als Diodenmischer bezeichnet.
Die F i g. 13 zeigt eine einfachen Kathodenverstärker, dessen Blocksymbol in der F i g. 13 a dargestellt ist. Die F i g. 14 und 14 a zeigen die Schaltung bzw. das Blocksymbol einer als Inverter verwendeten Röhre. Die F i g. 15 zeigt das Blocksymbol eines Inverterverstärkers, bei welchem die eine Hälfte einer Doppeltriode als Inverter und die andere Hälfte der Doppeltriode als Kathodenverstärker wirkt.
Die in der Maschine verwendeten Verriegelungsschaltungen werden von Doppelinvertern und Kathodenverstärkern gebildet und weisen üblicherweise als Eingang einen Diodenschalter bzw. Diodenmischer auf. Das Blocksymbol einer Verriegelungsschaltung ist daher die Verbindung eines Invertersymbols und eines Kathodenverstärkersymbols, wie dies in den F i g. 16 und 17 gezeigt ist. Dde Eingänge sind entweder an der linken Seite oder an der unteren Seite nahe der linken Ecke des Invertersymbols dargestellt.
Ein Diodenschalter ist eine Schaltung, bei der nur bei der Koinzidenz zweier oder mehrerer Eingangssignale ein Ausgangssignal erzeugt wird. Die in der Fig. 18 dargestellten beiden Dioden sind so verbunden, daß sie einen Teil eines Diodenschalters bildender auf positive Signale anspricht. Die Fi g. 18 a und 18 b zeigen die im Schaltbild verwendeten Blocksymbole zur Darstellung eines Diodenschalters gemaß der Fig. 18.
Ein Diodenmischer ist eine Schaltung, bei der ein an einem oder mehreren Eingängen auftretendes Signal ein Ausgangssignal erzeugt. Die F i g. 19 zeigt einen aus zwei Dioden gebildeten Diodenmischer, der auf positive Signale anspricht. Die dafür im Schaltbild verwendeten Blocksymbole sind in den Fig. 19a und 19b dargestellt.
Da das allgemeine Maschinensystem und die Arbeitsprinzipien bekannt sind, wurden zur Vereinfachung der Beschreibung nur jene funktionellen Einheiten einer datenverarbeitenden Maschine mit einem gespeicherten Programm erläutert, die für das Verständnis der Erfindung erforderlich sind. Die
509 688/403
weitere Beschreibung bezieht sich daher nur auf die Wirkungsweise der neuen Programmunterbrechungssteuerung, die bei einer Maschine der beschriebenen Art angewendet wird.
Diese neue Steuerungseinrichtung bewirkt die automatische Unterbrechung des Hauptprogramms und die darauffolgende Durchführung eines unabhängigen Zwischenprogramms, wonach die Maschine zu dem Punkt des Hauptprogramms zurückgeführt wird, bei dem die Unterbrechung eingetreten war.
Die Unterbrechungsoperationen erfolgen unter Programmsteuerung, und es sind hier zwei Unterbrechungsarten A und B vorgesehen, die sich auf die Pufferspeicher A und B der Magnettrommel beziehen und zwei Unterbrechungsarten 1 und 2, die sich auf die Bandeinlieiten TUl und TU2 beziehen. Die Unterbrechungsarten A und B stehen unter der Steuerung von Schaltern an der Steuerkonsole, und nach der Einstellung eines Schalters kann der Programmierer einen Befehl aufrufen, durch den eine Magnettrommeloperation zugunsten von Eingabe-Ausgabe-Operationen unterbrochen wird. Das heißt, daß die die Karten verarbeitende Maschine nach der Beendigung einer bestimmten Kartenoperation automatisch signalisiert, daß eine Unterbrechung eintreten soll. Die erste Instruktion des Unterbrechungsprogramms wird einer im Schalter der Konsole eingestellten Adresse entnommen. Die Beendigung des Unterbrechungsprogramms wird durch einen die Unterbrechung aufhebenden Befehl signalisiert, und auf diesen Befehl kehrt die Maschine zu dem Punkt der Instruktion des Hauptprogramms zurück, an dem die Unterbrechung eingetreten war. In diesem Zusammenhang ist zu bemerken, daß der Rückkehrpunkt im Hauptprogramm, an dem das Unterbrechungsprogramm begann, immer zu der Adresse im Unterbrechungsregister zurückkehrt, wenn dieses Register aufgerufen wird. Am Ende des Unterbrechungsprogramms, wenn die Unterbrechung aufgehoben wird, kehrt die Maschine, wenn die »/«Adresse der die Unterbrechung aufhebenden Instruktion gleich 3607 ist, was die Adresse des Unterbrechungsregisters ist, zu dem Punkt des Hauptprogramms zurück, an dem die Unterbrechung eingetreten ist. Andererseits führt eine andere »/«-Adresse die Maschine zu einem anderen Punkt zurück, und der Anschluß an das Hauptprogramm geht verloren.
Die bandgesteuerten Unterbrechungsarten 1 und 2 unterscheiden sich von den Unterbrechungsarten A und B insofern, als die erste Instruktion von einer speziellen Stelle des Kernspeichers entnommen wird. Es wird beispielsweise eine Adresse 4000 für die Bandeinheit 1 und eine Adresse 4010 für die Bandeinheit 2 benutzt. Diese Instruktionen werden durch die Maschine automatisch in ihre Speicherplätze eingesetzt und als bandgesteuerte Zustandswörter bezeichnet. Diese Zustandswörter werden nach der Vollendung der letzten Bandinstruktion in diesen Stellen gespeichert. Wenn diese Wörter als eine Instruktion verwendet werden, dann bestimmen sie Zwischenprogramme in Abhängigkeit der Einer-Stelle in der »/«-Adresse des Zustandswortes. Die Maschine wird derart gesperrt, daß jeweils nur eine Unterbrechung vorgenommen werden kann. Alle anderen auftretenden Unterbrechungssignale werden in Verriegelungsschaltungen gespeichert und entsprechend einer Prioritätsschaltung behandelt. In dem angewandten Prioritätssystem haben die Trommel-Pufferspeicher A und B die Adressen 3609 bzw. 3610, und der Trommel-Pufferspeicher A hat die höchste Priorität aller Unterbrechungsforderangen. Der Trommel-Pufferspeicher B, die Bandsteuereinheit 1 und die Bandsteuereinheit 2 folgen dann dieser Reihenfolge der Priorität.
In Verbindung mit dem Trommel-Pufferspeicher kann die Karteniesemaschine, welche die Angaben
ίο aus den bekannten Lochkarten mit zwölf Reihen von Indexpunkten für die Datenstellen 9, 8, 7 ... 11 und 12 zu dem Pufferspeicher überträgt, einfach eingestellt werden, da beim Transport der Karte mit der »9«-Kante als Leitkante, das Abfühlen der »12«-Indexstelle der Karte die vollendete Übertragung der Daten der Karte in den Speicher anzeigt und die Maschine veranlaßt, ein Signal auszusenden, das als Unterbrechungssignal verwendet werden kann.
Für eine Band-Schreiboperation wird das Unterbrechungssignal der Bandsteuereinheit bei Gleichheit der Start- und Stoppadresse der mit der Kernspeichereinheit verbundenen Taktgeber-Ringschaltungen 1 und 2 eingeleitet. Im Falle einer Band-Leseoperation erkennt die Bandsteuereinheit das
as Ende einer Aufzeichnung durch das Fehlen von Daten und leitet ein Unterbrechungssignal ein. Diese Unterbrechungssignale werden jedoch nicht gesendet, bevor das Band-Zustandswort in der Kernspeichereinheit gespeichert wurde.
Die Möglichkeit der Programmunterbrechung bei der Karten-Eingabe-Ausgabe läßt es zu, eine Karten-Eingabevorrichtung, einen Kartenlocher oder eine druckende Ausgabeeinrichtung auf Unterbrechungsbasis zu betreiben. Die auf Unterbrechungsbasis ar- beitende Eingabe-Ausgabe-Einheit wird durch einen neunstelligen Schalter auf der Steuerkonsole manuell ausgewählt, und die Anordnung zweier solcher Schalter ermöglicht den Betrieb von zwei Einheiten auf Unterbrechungsbasis. Für Karten-Eingabe-Ausgabe-Operationen sind keine besonderen Unterbrechungsoperationscodes erforderlich. Statt dessen arbeitet die ausgewählte Einheit auf Unterbrechungsbasis, so oft sie einen Operationsbefehl erhält; außer wenn das Unterbrechungsprogramm eine Bandeinheit benutzt.
Wenn das Eingabe-Unterbrechungsprogramm keine Bandoperationen umfaßt, tritt das Unterbrechungssignal auf, sobald der Eingabebereich durch den zugeordneten Kartenleser gefüllt ist. Umfaßt jedoch das Eingabe-Unterbrechungsprogramm auch Bandoperationen, dann tritt das Unterbrechungssignal nur dann auf, wenn der Eingabebereich durch den Kartenleser gefüllt und der im Zwischenprogramm verwendete Bandeinheitskanal frei ist. Umfaßt ein Ausgabe-Unterbrechungsprogramm keine Bandoperationen, dann ist das Unterbrechungssignal verfügbar, wenn die Information im Ausgabebereich vollständig auf die zugeordnete Ausgabeeinrichtung übertragen ist. Wenn das Ausgabe-Unterbrechungsprogramm Bandoperationen beinhaltet, ist das Unterbrechungssignal nur dann verfügbar, wenn die Information im Ausgabebereich vollständig auf die zugeordnete Ausgabeeinrichtung übertragen und der während des Zwischenprogramms benötigte Bandeinheitskanal frei ist. Die Verzögerung des Unterbrechungssignals bis zu dem Zeitpunkt, in dem der erforderliche Bandeintieitskanal frei ist, erfolgt unter der Steuerung eines Konsolenschalters.
Nachdem das Unterbrechungssignal empfangen, die »/«-Adresse der auszuführenden Instruktion im Unterbrechungsregister gespeichert, die Steuerung auf einen Satz manuell einstellbarer Schalter auf der Konsole, die die erste Adresse des Unterbrechungsprogramms enthalten, übertragen und das Karten-Unterbrechungsprogramm vollendet wurde, wird ein programmierter, die Unterbrechung aufhebender Befehl (—02) mit einer »/«-Adresse (3607) des Unterbrechungsregisters gegeben, um vom Unterbrechungsprograjnm zum Hauptprogramm zurückzukehren. Zusätzlich ist die Vorrichtung rückzustellen, die die Bedingung speicherte, durch die die Unterbrechung bewirkt wurde, und dies ist die Aufgabe der »D«-Adresse dieses Befehls. Die rückzustellende Vorrichtung ist durch die Zehner-Stelle der »D «-Adresse bestimmt. Die Einer- und Hunderter-Stellen werden nicht benötigt und können irgendeinen Wert von 0
bis 9 enthalten. In der Tausemder-Stelle muß eine Null stehen.
»D «-Adresse
OZOZ
OZlZ
0 Z 2 Z
0 Z 3 Z
Rückzustellende Vorrichtung
Karten-Unterbrechungsschalter (3609) Karten-Unterbrechungsschalter (3610) Bandkanal 1
Bandkanal 2
Wenn die Bandeinheiten TUl und TU 2 von der Maschine benutzt werden, werden alle Bandoperationen durch einen einzigen Operationscode und der mit ihm verbundenen »D«-Adresse eingeleitet. Die Bandinstruktion ist ein + 80-Operationscode mit einer Datenadresse, die folgendermaßen interpretiert wird:
Tausender Hunderter 0 — Lesen Zehner Einer
0 — keine Unterbrechung 1 — Schreiben 1 — Bandsteuerung 1 0
1 — Unterbrechung 2 — Rückspulen 2 — Bandsteuerung 2 1
2 — Alpha-Unterbrechung 3 — Schreiben 2
»Ende der Aufzeichnung« 3
4 — Umspulen
5 — Schalter: 4
»Ende der Aufzeichnung« 5
ausschalten
6 — Vorwärtszwischenraum
7 — Rückspulen, Entladen
8 — Schreibverzögerung
9 — Rückspulen der Aufzeichnung
der Liste
Die Einer-Ziffern geben das zu benutzende Bandgerät, die Zehner-Ziffern den Bandkanal an. Die Hunderter-Ziffern bestimmen die auszuführende Operation, und die Tausender-Ziffern zeigen die Operationsart an. Operationen, die eine Unterbrechung verursachen können, sind erstens Vorwärts-Zwischenraum und zweitens Rückspulen der Aufzeichnung und, vorausgesetzt, daß die Tausenderstelle der »D«-Adresse des +80-Befehls eine »1« oder eine »2« enthält, verursachen das Lesen, das Schreiben und die Schreibvorgänge eine Unterbrechung. Als Ergebnis einer Bandbewegung erzeugte Zustände, die eine Unterbrechung der Bandsteuerung bewirken können, sind erstens kurze Aufzeichnungslängen SLR, zweitens große Aufzeichnungslängen LLR, drittens das Ende der Aufzeichnung und viertens ein Fehler.
Eine Unterbrechungsoperation soll nun an Hand der Fig. 5a und 5b erläutert werden, die eine schematische Darstellung der logischen Schaltungen für die Ausführung der Unterbrechungsoperationen zeigen. Diese beiden Figuren sollen nur den allgemeinen logischen Ablauf und die Aufstellung der Reihenfolge der Ergebnisse zeigen, die eine Unterbrechungsoperation ausmachen. Im einzelnen sind die logischen Schaltungen im Schaltbild gemäß den Fig. 6 bis 12 dargestellt und werden später beschrieben.
Zur Erläuterung wird angenommen, daß die Maschine mit einem Karten-Pufferspeicher im Unterbrechungszustand arbeitet und daß der Karten-Pufferspeicher A verwendet wird, so daß die dem Pufferspeicher A der Magnettrommel zugeordneten Schalter auf der Konsole die Schalter sind, durch die das Unterbrechungsprogramm aufgerufen wird.
Ein Unterbrechungssignal der Lochkartenmaschine wird von den Steuerschaltungen der Kartenmaschine empfangen, und dieses Signal wird über die Leitung 30 (F i g. 5 ä) und einen Diodenmischer 31 übertragen, um eine dem Trommel-Pufferspeicher A zugeordnete Speicherverriegelungsschaltung einzustellen. Durch dieses Signal ist diese Speicherverriegelungsschaltung nach der Beendigung der gerade ausgeführten Operation eingestellt, und unter der Annahme, daß kein Fehler in der Maschine aufgetreten ist, erzeugt die Maschine automatisch ein Unterbrechungs-Prüfsignal mittels des Diodenschalters 33. Dieser Schalter oder diese UND-Schaltung 33 erzeugt ein Ausgangssignal beim gleichzeitigen Empfang eines Signals »Keine Spur« auf der Leitung 34, eines Signals »Wiederbeginn bei /« auf der Leitung 35 und eines Signals »Keine Unterbrechungsart« auf der Leitung 36.
Dieses Unterbrechungs-Prüfsignal ist für alle Unterbrechungsarten gemeinsam und tritt immer am Ende des »D «-Halbzyklus und während der Zeit
»Wiederbeginn bei /« auf, zu welchem Zeitpunkt ein Ziffer-8-Impuls und ein Ziffer-8-»C«-Impuls über die Leitungen 38 bzw. 39 zu einem Diodenschalter 37 übertragen werden. Koinzident mit diesen Impulsen erscheint ein Signal »Normale Operation« auf der Leitung 40 und bewirkt ein Ausgangssignal auf der Leitung 41. Das Unterbrechungs-Prüfsignal wird über den Diodenmischer 42 auch dem Diodenschalter 43 zugeleitet, um eine Unterbrechungsprüfung für den Trommel-Pufferspeicher A herbeizuführen. Der Diodenschalter 43 ist durch das Signal auf der Leitung 45 vorbereitet, und das auf der Leitung 46 erzeugte Unterbrechungs-Prüfsignal gelangt zu einem Diodenmischer 47, dessen Ausgang eine die Unterbrechung verzögernde Verriegelungsschaltung einstellt. Deren Ausgangssignal gelangt über die Leitung 48 zu einem Diodenmischer 49 und sperrt den Speicher gegen eine Eingabe oder Entnahme, so daß während des »/«-Halbzyklus eine Übertragung vom Speicher in das Programmregister verhindert und in dieser Zeit die Übertragung der »/«-Adresse in das Unterbrechungsregister ermöglicht wird. Diese »/«-Adresse ist der Rückkehrpunkt, zu dem das Hauptprogramm am Ende der Unterbrechungsoperation zurückkehrt.
Nun beginnt eine Reihe von Taktgebern zu arbeiten, um zu bestimmen, ob bei der letzten Operation irgendwelche Fehler aufgetreten sind. Eine Verriegelungsschaltung für den Fehler-Taktgeber wird durch das Ausgangssignal eines Diodenschalters 50 eingestellt, das entsteht beim gleichzeitigen Vorliegen eines Impulses »Letzter Zyklus« auf der Leitung 51, eines D 10-Impulses auf der Leitung 52 und eines Signals »Unterbrechungsverzögerung« auf der Leitung 53. Das Signal auf der Leitung 53 ist das Ausgangssignal vom Diodenmischer 47 als Ergebnis des Prüf signals für den Trommel-Pufferspeicher^. Unter der Annahme, daß keine Fehler eingetreten sind, wird die Verriegelungsschaltung für den Fehler-Taktgeber eingestellt. Da der »/«-Halbzyklus normalerweise das letzte Wort des »D «-Halbzyklus überlappt, muß eine Verzögerung um rund drei Wortzeichen vom Zeitpunkt des Unterbrechungssignals bis zum Beginn des Unterbrechungsprogramms errichtet werden. Diese Verzögerung ermöglicht die Einstellung der Adressiereinrichtungen des Unterbrechungssystems oder der Unterbrechungssteuerschaltungen für das Einbringen der Unterbrechungsadresse von der Konsole in das Adreßregister, nachdem der Inhalt des Adreßregisters in das Unterbrechungsregister übertragen wurde.
Beim gleichzeitigen Empfang eines Signals der Verriegelungsschaltung für den Fehler-Taktgeber auf der Leitung 55, eines Signals der Verriegelungsschaltung für die Unterbrechungsverzögerungsschaltung auf der Leitung 56 und eines D9-Impulses auf der Leitung 57 liefert der Diodenschalter 54 einen Ausgangsimpuls zur Einstellung einer Verriegelungsschaltung zur Verzögerung des Fehler-Taktgebers. Dies ist einfach eine Verzögerungsschaltung, welche es ermöglicht, durch irgendeinen eingetretenen Fehler alle Unterbrechungssteuerschaltungen auszuschalten. Solange kein Fehler eintritt, bleibt die Verriegelungsschaltung zur Verzögerung des Fehler-Taktgebers eingeschaltet. In diesem Zustand wird ein Signal über die Leitung 58 zu einem Diodenschalter 59 gesandt, der über die Leitung 60 auch das Signal der Verriegelungsschaltung zur Unterbreehungsverzögerung und über die Leitung 61 das Signal »Kein Unterbrechungs-Irrtum« empfängt. Der Diodenschalter 59 erzeugt ein zweites Unterbrechungs-Prüfsignal auf der Leitung 62. Dieses Prüfsignal bewirkt in Koinzidenz mit einem Signal auf der Leitung 64 aus der Speicherverriegelungsschaltung, die der Unterbrechungsforderung mit der höchsten Priorität zugeordnet ist (in diesem Falle ist die Speicherverriegelungsschaltung für den Trommel-Pufferspeicher A
ίο eingestellt) ein Unterbrechungs-Prüfsignal für den Trommel-Pufferspeicher A. Die zugehörige Unterbrechungsverriegelungsschaltung (Fig. 5b) wird durch das Ausgangssignal des Diodenschalters 65 (F i g. 5 a) eingestellt, wenn dieser gleichzeitig das Unterbrechungs-Prüfsignal Trommel-Pufferspeicher A über die Leitung 66 und das Signal der Verriegelungsstufe für den Fehler-Taktgeber über die Leitung 67 empfängt. Die Unterbrechungsverriegelungsschaltung wird mit dem zweiten Prüfsignal einge-
ao stellt und bleibt bis zur folgenden Ziffer-8-Zeit eingestellt. Das Rückstellsignal ist ein »C«-Impuls zur Ziffernzeit 8, so daß die Unterbrechungsverriegelungsschaltung für eine Wortzeit eingestellt wird. Das Signal der Unterbrechungsverriegelungsschaltung auf der Leitung 68 (Fig. 5b) bewirkt in Verbindung mit einem D 5-Impuls auf der Leitung 69 ein Ausgangssignal des Diodenschalters 70, welcher die Konsolenschalter veranlaßt, die auf der Konsole eingestellte Adresse 3609 auf das Adressenregister zu übertragen. Das Adressenregister-Eingabesignal auf der Ausgangsleitung 70 a des Diodenschalters 70 wird über den Diodenmischer 70 b zu einem Diodenschalter 70c übertragen. Beim Auftreten eines C-A-Impulses auf der Leitung 7Od und eines £>5-Impulses auf der Leitung 70 c wird dann ein Ausgangssignal auf der Leitung 70/ erzeugt, das zur Rückstellung des Adreßregisters benutzt wird, um dieses für den Empfang der neuen Adresse vorzubereiten.
Das Signal der Unterbrechungsverriegelungsstufe Trommel-Pufferspeicher/4 auf der Leitung 71 wird an einen Diodenmischer 72 angelegt, der auch das Signal der Unterbrechungsverriegelungsschaltung Trommel-Pufferspeicher B auf der Leitung 73, das Signal der Bandsteueremheit 1 auf der Leitung 74 und das der Bandsteuereinheit 2 auf der Leitung 75 empfangen kann. Der Diodenmischer 72 erzeugt ein Unterbrechungssignal auf der Leitung 76, das bei der Kombination mit einem D7-Impuls auf der Leitung 77 ein Signal auf der Ausgangsleitung 78 des Diodenschalters 79 erzeugt. Dieses Signal stellt die Unterbrechungsverriegelungsschaltung ein.
Die Unterbrechungsiverriegeilungsschaltung ist eine der Verriegelungsschaltungen für die Sperrung der Eingabe in das Unterbrechungsregister. Wie später ersichtlich, fällt beim Einstellen der Unterbrechungsverriegelungsschaltung das Potential des anderen Ausgangs ab, um jede weitere Eingabe in das Unterbrechungsregister zu verhindern. Damit wird nun das Unterbrechungsprogramm aufgenommen, dessen erste Instruktion an der im Speicherplatz 3609 angegebenen Adresse gespeichert ist. Das Übertragen der im Speicherplatz 3609 gespeicherten Adresse in das Adreßregister bringt die Start-Adresse des Unterbrechungsprogramms in das Adreßregister, und nun kann die Maschine zum Unterbrechungsprogramm übergehen.
Ein Diodenschalter 80 wird durch das Signal »Keine Unterbrechungsart« auf der Leitung 81, ein
»/«-Steuersignal auf der Leitung 82, einen D 1-Impuls auf der Leitung 83 und ein Unterbrechungs-Sperrsignal auf der Leitung 84 vorbereitet. Dies ist die normale Steuerung für die Eingabe in das Unterbrechungsregister während jedes »/«-Zyklus, wenn kein Unterbrechungsprogramm ausgeführt wird. Das Ausgangssignal vom Diodenschalter 80 schaltet eine Verriegelungsschaltung 85 ein, welche das Auslesen des Adreßregisters und das Einlesen in das Unterbrechungsregister steuert. Das Ausgangssignal vom Diodenschalter 80 wird als Signal IRRI bezeichnet, das auf der Leitung 86 erscheint und dazu verwendet wird, um die aus dem Adreßregister abgelesene Information über den Diodenschalter 22 (F i g. 1) in das Unterbrechungsregister zu übertragen. Während eines Unterbrechungsprogramms ist das Signal auf der Leitung 81 (Fig. 5b) negativ und somit der Diodenschalter 80 gesperrt. Es unterbleibt daher das Einstellen der Verriegelungsschaltung 85 und die Information im Adreßregister kann nicht ausgelesen und in das Unterbrechungsregister übertragen werden. Dies ist die Verbindung zum Hauptprogramm.
Das im Gang befindliche Unterbrechungeprogramm wird bis zu dem Zeitpunkt fortgesetzt, in dem der Bediener oder der Programmierer festgestellt hat, daß er alle für die Unterbrechungsoperation erforderlichen Arbeitsvorgänge ausgeführt hat. Es ist dann notwendig, den Unterbrechungszustand der Maschine aufzuheben. Es wird eine Aufhebung der Unterbrechung programmiert. Die »D«-Adresse des betreffenden Befehls bewirkt das Rückstellen der dieser Adresse zugeordneten Speicherverriegelungsschaltung. Unter der Annahme, daß der Code —02 für das Aufheben der Unterbrechung mit der »£>«- Adresse OZOZ verbunden ist, wird die Speicherverriegelungsschaltung Trommel-Pufferspeicher A rückgestellt und die Unterbrechungsverriegelungsschaltung ausgeschaltet. Die Maschine kehrt hierauf in ihren Normalzustand zurück. Bei ausgeschalteter Unterbrechungsverriegelungsschaltung kann die nächste »/«-Adresse aus dem Adreßregister in das Unterbrechungsregister eingegeben werden.
Es ist jedoch möglich, daß während eines Befehls zur Aufhebung der Unterbrechung ein anderes Unterbrechungssignal zu genau der gleichen Zeit auftritt, in welcher die erste Unterbrechung aufgehoben wird. Unter diesen Verhältnissen würde das Unterbrechuogsregister nicht freigegeben und eine neue Adresse eingeführt werden, sondern es bleibt die alte Adresse im Unterbrechungsregister, und es wird ein zweites Unterbrechungsprogramm eingeleitet. Durch das positive Speichersignal auf der Leitung 88 ist der Diodenschalter 87 vorbereitet und erzeugt beim Vorhandensein eines D9-Impulses auf der Leitung 89 und des Operations-Einlesesignals OPRI auf der Leitung 90 einen Ausgangsimpuls auf der Leitung 91, durch den die AUS-Seite der Verriegelungsschaltung zur Unterbrechungssperre eingeschaltet wird. Dadurch wird das Potential der Leitung 84 (Fig. 5b) negativ, und daher sperrt der Diodenschalter 80. Es ist somit auch das ZR/?/-Signal auf der Leitung 86 negativ, und es können keine weiteren Übertragungen aus dem Adreßregister in das Unterbrechungsregister stattfinden.
Die Operation geht nun entsprechend der Priorität irgendwelcher Unterbrechungsforderungen in den Speicherverriegelungsschaltungen weiter. Es sei angenommen, daß gleichzeitig mit dem Befehl zur Aufhebung einer Unterbrechung, die den Trommel-Pufferspeicher A betrifft, ein Unterbrechungssignal vom Trommel-Pufferspeicher/J empfangen wurde. Die Unterbrechung, die den Trommel-Pufferspeicher A S betraf, wird dann aufgehoben und die vorstehend beschriebenen Stromkreise bewirken nun die Prüfung des Trommel-Pufferspeichers B, die Einschaltung der Verriegelungsschaltung zur Unterbrechungsverzögerung, des Fehler-Taktgebers, der Fehler-Taktgeber-Verzögerungsschaltung und zuletzt die Einschaltung der Unterbrechungsverriegelungsschaltung Trommel-Pufferspeicher B. Diese Verriegelungsschaltung stellt die Adresse 3610 auf der Konsole fest und veranlaßt die Konsolenschalter zum Übertragen der Adresse 3610 in das Adreßregister. Gleichzeitig wird die UnterbrechungsverriegeMngsschaitung eingestellt und überträgt die Übertragung aus dem Adreßregister in das Unterbrechungsregister. Die Unterbrechungsoperation geht nun zu dem gespeicherten,
so durch die Adresse 3610 bestimmten Programm über. Bisher wurde die logische Reihenfolge für eine vollständige Unterbrechungsoperation mit besonderem Bezug auf eine Trommel-Pufferspeicherunterbrechung beschrieben. Die gleiche Operations-Reihenfolge tritt im FaJl der Bandsteuereinheitsunterbrechunigen 1 und 2 ein.
Die ausführlichen Schaltungen für die Unterbrechungsoperation sind in den F i g. 6 bis 12 dargestellt. Zur Erläuterung dieser Schaltungen sind die Leitungen und die in den Fig. 5a und 5b in Blockform dargestellten Schaltungselemente mit gleichen Bezugsziffern bezeichnet. Die F i g. 8 zeigt die Schaltungen zum Einstellen der Speicherverriegelungsschaltungen und für die Erzeugung der Unterbrechungs-Prüfsignale. Das vom Kartenieser über die Leitung 30 ankommende Maschinensignal wird durch die Diodenmischer 31 und 31a zur Speicherverriegelungsschaltung 31 b Trommel-Puff erspeicher^t geleitet. Obwohl nicht gezeigt, ist die gleiche Schaltung für den Empfang eines dem Trommel-Pufferspeicher B zugeordneten Signals zum Einstellen einer Speicherverriegelungsschaltung TrommeMPufferspeicher B vorgesehen. In Verbindung mit der Speicherverriegelungsschaltung 31c Bandsteuereinheit 1 und der Speicherverriegelungsschaltung 31 d Bandsteuereinheit2 ist es möglich, daß das Unterbrechungssignal von den Bandsteuereinheiten zu jeder Ziffernzeit innerhalb des Wortes eintrifft, und daher müssen, da die Maschine die Unterbrechungs-Prüfsignale in der Ziffer-8-C-Impulszeit erzeugt, Einrichtungen vorgesehen sein, um das Einstellen der Speicherverriegelungssehaltungen der Bandsteuereinheiten in der Ziffer-8-Zeit zu verhindern. Die Tatsache, daß die Maschine durch die erste Prüffolge gegangen sein kann und dann zur zweiten Prüffolge in dem Zeitpunkt zurückkehrt, in dem eine Speicherverriegelungsschaltung der Bandsteuereinheiten eingestellt war, könnte ergeben, daß gleichzeitig zwei Unterbrechungsbedingungen eingestellt werden. Um dies zu verhindern, werden die Unterbrechungssignale der Bandsteuereinheiten 1 und 2 über die Diodenschalter 31 e bzw. 31/ geleitet, an deren zweitem Eingang ein negativer Ziffer-8-Impuls des Inverterverstärkers31g liegt. Die Banidsteuerungs-Speicherverriegelungsschaltungen können daher nicht in der Ziffer-8-Zeit eingestellt werden. Da jedoch das Unterbrechungssignal eine Mindestlänge von zwei Ziffernzeiten hat, können die Verriegelungsschaltungen in der Ziffer-7-
509 688/403
19 20
oder Ziffer-9-Zeit eingestellt werden. Die Ausgänge und dem Kathodenverstärker 97 zugeleitet werden,
der Speicherverriegelungsschaltungen werden über Obwohl nicht gezeigt, sind gleiche Schaltungen für
den Diodenmischer 31 h und den Kathodenverstärker die Erzeugung von Unterbrechungs-Prüfsignalen des
31 / geleitet, um ein Speichersignal auf der Leitung Trommel-Pufferspeichers B, der Bandsteuereinheit 1
88 zu erzeugen. Die Speicherverriegelungsschaltun- 5 und der Bandsteuereinheit 2 vorgesehen. Diese Si-
gen werden durch den Operationscode (—02) »Auf- gnale werden dem Diodenmischer 47 in den Fig. 5a
hebung der Unterbrechung« und die zugeordnete bzw. 6 zugeführt.
»D «-Adresse rückgesiellt. Das Rückstellen der Spei- Es ist ersichtlich, daß durch jedes positive zum
cherverriegelungsschaltung des Trommel-Puff erspei- Diodenmischer 47 (Fig. 6) übertragene Unter-
chers A wird durch das OPRI-Sigpsl, den D 1-Im- io brechungs-Prüfsignal die Verriegelungsschaltung 98
puls, die Signale ARTNl und ARTN2 erreicht, die »Unterbrechungsverzögerung« eingestellt wird, die
den Diodenschaltern 31H und 31// zugeführt wer- eingestellt bleibt, bis die Maschine zur Unterbre-
den, deren Ausgangssignale dem Diodenmischer 31a chung übergeht. Sie ermöglicht zeitliche Verzögerun-
zugeleitet werden. Die Signale ARTNl und ARTN2 gen, um auf Fehler aus dem vorhergegangenen »D«-
zeigen die Bits 1 und 2 (entsprechend der dezima- 15 Umlauf zu prüfen. Die Verzögerungsverriegelungs-
len 0) in der Zehnerstelle des Adreßregisters an. Das schaltung wird durch einen DlO-Impuls und ein
Speichersignal auf der Leitung 88 bewirkt über den Unterbrechungssignal über den Diodenschalter 98 α
Diodenschalter 87 (Fig. 9) das Einstellen der Unter- und einen Inverterverstärker 98b rückgestellt.
brechungs-Sperrverriegelungsschaltung 31/ »Unter- Wenn die Verriegelungsschaltung »Unterbrechungs-
brechungssperre« und die Erzeugung des Signals 20 verzögerung« eingeschaltet ist, ist das Potential der
»Unterbrechungssperre auf der Leitung 91«. Leitung 53 und das der Leitung 51 »Letzter Zyklus«
Zur Erzeugung der Unterbrechungs-Prüfsignale, und der Leitung52 »DlO-Impuls« positiv. Letzter des Fehler-Taktgebersignals und des Unterbrechungs- Zyklus bedeutet, daß die im Gang befindliche Rechverzögerangssignals dienen die in der F i g. 6 darge- nung beendet ist oder unmittelbar vor der Beendistellten Schaltungen. Die Signale »Keine Spur«, 25 gung steht und in der nächsten Ziffer-Z-Zeit, also »Wiederbeginn bei /« und »Keine Unterbrechungs- innerhalb der nächsten 8 Mikrosekunden, beendet wirkung« werden zu einem Diodenschalter 33 über- wird. Der Diodenschalter 50 erzeugt daher ein Signal tragen, dessen Ausgangssignale über den Dioden- für das Einstellen der Verriegelungsschaltung 99 mischer 42 zum Kathodenverstärker 92 geleitet wer- »Fehler-Taktgeber«. Diese ermöglicht die Fehlerden. Der Diodenschalter 37 empfängt den Ziffer-8-C- 3° prüfung in dieser Operation und wird unter der Impuls und das NORMALARBEIT-Signal »Normale Steuerung eines D 10-Impulses, eines yl-C-Impulses, Operation« und sendet seinen Ausgangsimpuls über die dem Diodenschalter 99 a zugeführt werden, über die Leitung 41 gleichfalls auf die Ausgangsleitung den Inverterverstärker 99 b rückgestellt. Wenn keine des Diodenmischers 42, die zum Kathodenverstärker Fehler eingetreten sind, wird das Ausgangssignal 92 führt. Der Ausgangsimpuls des Kathodenverstär- 35 der Verriegelungsschaltung 99 über die Leitung 55 kers 92 ist das Unterbrechungs-Prüfsignal 1. Das Si- zum Diodenschalter 54 (F i g. 7) übertragen. Das gnal »Keine Spur« wird automatisch durch das Pro- Ausgangssignal der Verriegelungsschaltung »Untergramm der Maschine erzeugt, und das Signal »Nor- brechungsverzögerung« auf der Leitung 56 und ein male Operation« wird durch eine Taste »Lauf« auf D 9-Impuls auf der Leitung 57 bewirken ein Ausder Konsole ausgelöst und bleibt so lange bestehen, 40 gangssignal des Diodenschalters 54, durch das die bis die Maschine im Normalarbeitszustand »Normale Verriegelungsschaltung 100 »Fehler-Taktgeber-VerOperation« ist und kein Fehler eintritt. zögerung« eingestellt wird. Deren Ausgangssignal
Das Unterbrechungs-Prüfsignal steuert einen Di- wird über die Leitung 58 dem Diodenschalter 59 odenschalter 43 (Fig. 8), welcher seinerseits einen (Fig. 6) zugeführt. Das Potential der Leitungen61 Diodenmischer 94 unwirksam macht, so daß bei der 45 und 60 ist in diesem Zeitpunkt positiv, und das so-Zusammenarbeit eines Trommel-Pufferspeichers mit mit vom Diodenschalter 59 erzeugte Ausgangssignal einer Bandsteuerungseinheit das Unterbrechungs- zeigt an, daß keine Fehler vorhanden sind, die notsignal nicht wirksam wird, bis die mit dem Trommel- wendige Verzögerung ausgeführt wurde, und daß nun Pufferspeicher zusammenwirkende Bandsteuereinheit das Unterbrechungs-Prüfsignal 2 vom Diodenschalter ihren Zyklus beendet hat. Dies wird durch Schalter 50 59, dem Diodenmischer 42 und dem Kathodenverfür die Trommel-Pufferspeicher^ und B an der Kon- stärker 92 erzeugt werden kann. Das Unterbrechungssole erreicht, von denen in der F i g. 8 nur der Schal- Prüfsignal 2 bewirkt über die in Verbindung mit der ter für den Trommel-Pufferspeicher A der Konsole F i g. 8 beschriebene Schaltung das Unterbrechungsgezeigt ist. Es ist möglich, den Trommel-Puffer- Prüfsignal für den Trommel-Pufferspeicher A oder speicher A zusammen mit der Bandsteuereinheit 1, 55 für die Einheit, die betroffen ist. Die Verriegelungsder Bandsteuereinheit 2 oder unmittelbar zu betrei- schaltung 100 wird durch das Unterbrechungssignal ben. Beim Vorliegen des Signals »Bandsteuerein- und einen D 9-Impuls, die dem Diodenschalter 100 a heit 1«, welches den einen Eingang des Diodenschal- zugeführt werden, über den Inverterverstärker 100 b ters 95 vorbereitet, wird das am Leitungspunkt 96 rückgestellt.
vorhandene Prüfsignal nicht die Einschaltung des 60 Die Unterbrechungs-Prüfsignale sind in der F i g. 7 Kathodenverstärkers 97 erlauben, da das am anderen gezeigt, und wenn diese Signale positiv werden, so-Eingang des Diodenschalters 95 liegende Sperrsignal bald die Maschine die Fehlerprüfung durchgeführt »Bandsteuereinheit 1« so lange negativ ist, wie die und festgestellt hat, daß eine einem Trommel-Bandsteuereinheit arbeitet. Sobald diese Einheit ihre Pufferspeicher zugeordnete Bandsteuereinheit frei Operation beendet hat, wird das Sperrsignal »Band- 65 ist, ist die Maschine für den Übergang in den Untersteuereinheit 1« positiv, und der Diodenschalter 95 brechungszustand bereit. Die Verriegelungsschaltung wird leitend. Das Prüfsignal »Trommel-Pufferspei- 100 wurde im EIN-Zustand verriegelt, so daß das eher kann nun am Leitungspunkt 96 auftreten Potential der Leitung 67 positiv ist, und unter der
Annahme, daß das Prüfsignal Trommel-Pufferspeicher A positiv ist, erzeugt der Diodenschalter 65 ein positives Ausgangssignal für das Einstellen der Unterbrechungsverriegelungsschaltung 103 Trommel-Pufferspeicher A und für die Erzeugung des Unterbrechungssignals Trommel-Pufferspeicher A auf der Leitung 71. Die anderen Unterbrechungssignale werden in der gleichen Weise erzeugt. Die Diodenschalter 104 a bis 104/ und die Diodenmischer 105 a bis 105/ bilden eine Unterbrechungsfehler-Prüfschaltung. Wenn gleichzeitig mehr als eine Unterbrechungsverriegelungsschaltung eingestellt wird, liefert diese Prüfschaltung ein Ausgangssignal zu dem Diodenschalter 106. Dieser Schalter 106 ist durch einen D9-Impuls in der Leitung 107 vorbereitet, und wenn der Schalter ein Ausgangssignal erzeugt, wird die Verriegelungsschaltung 108 »Kein Unterbrechungsfehler« eingestellt, um eine negatives Signal auf der Leitung 61 zu erzeugen und dadurch den Diodenschalter 59 zu sperren und die Erzeugung des Unterbrechungs-Prüfsignals 2 zu verhindern. Die Unterbrechungsverriegelungsschaltungen werden über den Diodenschalter 103 a und den Kathodenverstärker 103 b rückgestellt.
Wie aus der F i g. 9 ersichtlich, wird das Unterbreohungssignal Trommel-Pufferspeicher ,4 über die Leitungen 71 und 68 zum Diodenschalter 70 übertragen und bewirkt die Einstellung einer Verriegelungsschaltung 109, welche die Abfrage der Konsolenschalter für die Adresse 3609 des dem Trommel-Pufferspeicher A zugeordneten Unterbrechungsprogramms steuert. Auch eine Unterbrechungsverriegelungsschaltung 110 wird durch das Ausgangssignal eines Diodenschalters 79 eingestellt und erzeugt ein negatives Signal auf der Leitung 111 und ein positives Signal auf der Leitung 112. Wie bereits erwähnt, verhindert das negative Signal auf der Leitung 111 jede weitere Übertragung der »/«-Adresse aus dem Adreß- und das Unterbrechungsregister. Zusätzlich bewirkt das auf der Leitung 112 erzeugte positive Signal, das auch den Leitungen 113 und 114 zugeführt wird, über den Diodenmischer 115 die Ausschaltung der Unterbrechungssperre 31/. Die Unterbrechungsverriegelungsschaltung 110 wird durch den vom Diodenschalter 110 a nach dem Empfang des OPi?/-Signals und des D3-Impulses erzeugten Ausgangsimpuls über den Diodenmischer 110 b rückgestellt.
Das Signal der Verriegelungsschaltung »Unterbrechungsverzögerung« auf der Leitung 56 (F i g. 6) wird über den Diodenmischer 49 (Fig. 11) und einen Inverter 116 übertragen, um die Verriegelungsschaltung 117 Speicher-Eingabe-Ausgabe im AUS-Zustand zu halten. Dies hat das Sperren des Diodenschalters 118 (F i g. 1) und somit das Verhindern des Auslesens des Speichers und der Übertragung in das Programmregister während des »/«-Halbzyklus zur Folge. Während des »/«-Halbzyklus versucht die Maschine eine neue Adresse in das Programmregister zu übertragen. Für ein Unterbrechungsprogramm wird jedoch die in das Programmregister zu übertragende Instruktion nur von der Adresse bestimmt, welche vom Unterbrechungssignal aufgerufen wird. Wie bereits vorher erläutert, macht der Trommel-Pufferspeicher A die Adresse 3609 wirksam. Sobald die Verriegelungsschaltung »Unterbrechungsverzögerung« freigegeben ist, wird die Verriegelungsschaltung »Speicher-Eingabe-Ausgabe« eingestellt durch die normale Programmsteuerung. Die Adresse 3609 wird in das Programmregister übertragen, und die Maschine befindet sich im Unterbrechungsprogramm. Das Signal »Unterbrechungsregister auslesen« wird durch die in der Fig. 12 dargestellte Schaltung erzeugt. Das Unterbrechungsregister hat die Adresse 3607, die, wenn sie empfangen wird, über den Inverter 118 α und den Inverter-Kathodenverstärker 1186 zu einem durch einen A -Impuls gesteuerten
ίο DiodenschalterJ-iec geleitet wird. Das Ausgangssignal des Diodenschalters 118 c bewirkt über den Diodenmischer 118 d das Einstellen der Verriegelungsschaltung 118 e, die ein Signal »UR regenerieren und auslesen« auf der Leitung 118/ erzeugt.
Dieses Signal bereitet den Diodenschalter 23 (F i g. 1) vor. Daher wird am Ende des Programms beim Aufheben der Unterbrechung, wenn die »/«-Adresse die Unterbrechung aufhebende Instruktion 3607 ist, der Inhalt des Unterbrechungsregisters über den Diodenschalter 23 entnommen und über den Indexaddierer in das Programmregister zurückübertragen, um die Maschine zu dem Punkt des Hauptprogramms zurückzuführen, bei dem die Unterbrechung eingetreten ist. Die Schaltungen für die Erzeugung der Signale
as »Einstellen des Ad.-Reg. auf 40X0«, »auf XXIX« und »auf XX OX«, die in Verbindung mit der Unterbrechung einer Bandoperation benötigt werden, sind in der F i g. 9 gezeigt. Einem Unterbrechungssignal »Bandsteuereinheit 1« ist die Adresse 4000 zugeordnet. Die Speicherung dieser Adresse 4000 im Adreßregister erfolgt durch die Adressen 40X0 und XXOX. Ein Unterbrechungssignal »Bandsteuereinheit 1« auf der Leitung 119 bewirkt mit einem durch die Ziffernimpulse »5«, »6« oder »7« auf der Leitungl20 vorbereiteten Diodenschalter 121 die Erzeugung der 40X0- und XXOX-Adressensignale. Dem Unterbrechungssignal »Bandsteuereinheit 2« ist die Adresse 4010 zugeordnet. In ähnlicher Weise erzeugt ein Unterbrechungssignal »Bandsteuereinheit 2« über den Diodenschalter.122 und den Kathodenverstärker 123 die 40X0- und XXlX-Signale zur Speicherung von 4010 im Adreßregister.
Wie bereits früher erwähnt, werden die Unterbrechungssignale der Bandsteuereinheiten als Ergebnis der Bewegung des Magnetbandes entwickelt. Es wird z.B. beim Einsetzen einer Bandspule ein metallisch reflektierender Fleck von Hand aus nahe dem Anfang und dem Ende des Bandes angebracht. Der am Ende des Magnetbandes angebrachte reflektierende Fleck wird nur beim Schreibvorgang automatisch abgefühlt, um anzuzeigen, daß die gerade geschriebene Bandaufzeichnung die letzte zu schreibende Aufzeichnung ist. Der normale Vorgang ist dann so, daß nach der letzten Bandaufzeichnung eine Bandmarke aufgezeichnet wird. Die Bandmarke wird bei der Abfühlung des Bandes benutzt, um anzuzeigen, daß das Ende des Bandes erreicht wurde. Die Abfühlung des reflektierenden Flecks beim Schreibvorgang oder der Bandmarke beim Lesen stellt einen Zustand »Ende der Aufzeichnung« her, der automatisch die Unterbrechung des Hauptprogramms und die Übertragung der Steuerung auf das im Speicherplatz 4000 oder das im Speicherplatz 4010 beginnende Unterbrechungsprogramm, je nachdem, welche Bandsteuereinheit benutzt wird.
In den Kernspeicher werden Aufzeichnungen mit einer festgelegten Länge eingegeben, nachdem zuerst die zugeordnete Taktgeber-Ringschaltung in
Übereinstimmung mit der Anzahl der Wörter, die zu einer Aufzeichnung gehören, eingestellt wurde. Wenn eine Bandaufzeichnung eingelesen wird, die weniger Wörter enthält, als der Einstellung der Taktgeber-Ringschaltung entspricht, tritt eine Aufzeichnungslücke vor dem Erreichen des Punktes auf, an dem die Taktgeber-Ringschaltung angehalten wird, und es wird eine automatische Unterbrechung signalisiert, um anzuzeigen, daß eine kurze Aufzeichnung vorliegt. Wenn die Aufzeichnung um ein Teilwort oder ισ um eine Anzahl vollständiger Wörter und ein Teilwort kurzer ist, erfolgt eine Übertragung der Steuerung zu einem Programm für Magnetbandfehler. Ist die gelesene Bandaufzeichnung langer als der vorgesehene Bereich des Kernspeichers, dann werden die Speicherstellen nur bis zu der Stelle gefüllt, bei deren Erreichen die Taktgeber-Ringschaltung angehalten wird. Das Lesen der Bandaufzeichnung wird aber fortgesetzt, bis die Aufzeichnungslücke erreicht ist, in welchem Zeitpunkt ein Unterbrechungssignal »Lange Aufzeichnung« erzeugt wird.
Eine Programmunterbrechung kann bei Band-Lese-Schreib-Operationen oder bei Karten-Eingabe-Ausgabe-Operationen ausgeführt werden. Eine Band-Unterbrechungsoperation kann z. B. benutzt werden, um festzustellen, ob das Magnetband dazu verwendet wird, daß die auf ihm gespeicherten Daten auf den neuesten Stand gebracht werden, während der Rechner Karten verarbeitet. Nach Beendigung der Band-Lese-Operation überträgt die automatische Unterbrechung die Steuerung auf das zugehörige Unterbrechungsprogramm. Die letzte Instruktion des Unterprogramms führt die Steuerung zu dem Kartenprogramm genau an den Punkt zurück, an dem es unterbrochen wurde.
Die allgemeine Wirkungsweise der Maschine gemäß der Erfindung zusammenfassend, ist zu bemerken, daß im normalen Betrieb der »/«-Zyklus dafür sorgt, daß der »/«-Teil im Programmregister nacheinander in das Adressen- und in das Unterbrechungsregister eingegeben wird. Wenn ein Unterbrechungssignal auftritt, verläuft die Arbeitsweise der Maschine in folgender Weise:
1. Vervollständigung der im Gange befindlichen arithmetischen Operation.
2. Übertragen des Inhalts zugehöriger Adressen (Konsolenschalter oder Kernspeicher) in das Adreßregister.
3. Blockieren aller Übertragungen von »/«-Adressen in das Unterbrechungsregister bis zum Aufheben des Unterbrechungszustandes.
4. Blockieren der Ausführung jedes neuen Unterbrechungssignals bis zum Aufheben des Unterbrechungszustandes.
5. Ausführung des erforderlichen Programms. (Der durch die Adresse in den Konsolenschaltern bestimmte Speicherplatz enthält die erste Instruktion des Programms; Band-Unterbrechungsoperationen beziehen sich auf die angegebenen Wörter 4000, 4010 im Kernspeicher für die erste Instruktion.)
6. Aufheben des Unterbrechungszustandes (durch einen programmierten Befehl »Aufheben der Unterbrechung«).

Claims (4)

Patentansprüche:
1. Programmgesteuerte Daten-Auswertmaschine mit gespeichertem Programm und mit Zwischenspeicherung der Adresse des jeweils nächsten Befehls einer Befehlsfolge als Rückkehradresse nach einer Unterbrechung dieser Befehlsfolge durch eine andere, dadurch gekennzeichnet, daß abnorme Arbeitsbedingungen bestimmter Teile der Maschine, z. B. der Eingabe- und Ausgabevorrichtungen (10, TUl, TUT) bestimmte Unterbrechungssignale auslösen, die in Speichergliedern (31) festgehalten werden und automatisch in vorbestimmter Rangfolge bei gleichzeitiger Unterbrechung der laufenden Befehlsfolge den abnormen Arbeitszuständen der betreffenden Vorrichtungen zugeordnete Befehlsfolgen (Zwischenprogramme) zur Berücksichtigung bzw. Beseitigung dieser Arbeitszustände durch Aufruf ihrer in besonderen Speichern (CS, 15) enthaltenen Rufnummern wirksam machen.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Unterbrechung der laufenden Befehlsfolge mittels durch die gespeicherten Unterbrechungssignale gesteuerten Sperrmittel (87) erfolgt, welche die Zwischenspeicherung der Befehle des einzufügenden Zwischenprogramms in einem Rückkehradreßspeicher (IR) über ein Einlaßglied (22) unterbinden.
3. Anordnung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß Vorhandensein und Art eines Unterbrechungssignals in den zugehörigen Speichergliedern (31) mittels Prüfkreisen (33,47,59,103,110) ermittelt werden, von denen der vorletzte (103) die Übertragung der Rufnummer des betreffenden Zwischenprogramms aus seinem Speicher (CS, 15) in das Adreßregister (AR) veranlaßt und der letzte Prüfkreis (110) ebenfalls (über Schaltglieder 80,85) das Einlaßglied für den Rückkehradreßspeicher (IR) blockiert.
4. Anordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß der Endbefehl jedes Zwischenprogramms die Rufnummer des Rückkehradreßspeichers (IR) enthält und eine Rückkehrschaltung (118 a bis 118/) wirksam macht, die das Einführen der im Rückkehradreßspeicher (IR) enthaltenen Adresse des Fortsetzungsbefehls der ursprünglichen Befehlsfolge über ein Auslaßglied (23) in das Adreßregister (AR) steuert.
In Betracht gezogene Druckschriften:
H. Rutishauser, A. Speiser, E. Stiefel,
»Programmgesteuerte digitale Rechengeräte«, Basel,
1951, S. 17 bis 21, 47 bis 49;
Elektronische Rundschau, 1955, S. 349 bis 353.
In Betracht gezogene ältere Patente:
Deutsche Patentschrift Nr. 1 092 700.
Hierzu 4 Blatt Zeichnungen
509 688/403 9.65 ® Bundesdruckerei Berlin
DEI15305A 1957-09-06 1958-08-27 Programmgesteuerte Daten-Auswertmaschine Pending DE1201586B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US682487A US3017092A (en) 1957-09-06 1957-09-06 Program control for data storage and processing machine

Publications (1)

Publication Number Publication Date
DE1201586B true DE1201586B (de) 1965-09-23

Family

ID=24739922

Family Applications (1)

Application Number Title Priority Date Filing Date
DEI15305A Pending DE1201586B (de) 1957-09-06 1958-08-27 Programmgesteuerte Daten-Auswertmaschine

Country Status (7)

Country Link
US (1) US3017092A (de)
BE (1) BE570988A (de)
CH (1) CH359911A (de)
DE (1) DE1201586B (de)
FR (1) FR1214905A (de)
GB (1) GB893555A (de)
NL (1) NL231079A (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1913059A1 (de) * 1968-03-15 1969-10-02 Burroughs Corp Verbesserte Programmunterbrechungseinrichtung fuer eine Datenverarbeitungsanlage in Baukastenweise
DE1574668B1 (de) * 1968-03-01 1972-04-27 Licentia Gmbh Einrichtung zur unterbrechung eines programmablaufes bei einer programmgesteuerten, elektronischen rechenanlage
CN110993438A (zh) * 2019-11-13 2020-04-10 上海空间电源研究所 三继电器互锁电路

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3259881A (en) * 1959-12-31 1966-07-05 Ibm Computer including error or abnormal condition controlled immediate program interruption
GB986103A (en) * 1960-06-30 1965-03-17 Nat Res Dev Improvements in or relating to electronic digital computing machines
US3193666A (en) * 1961-06-09 1965-07-06 Control Data Corp Computer control systems
US3226689A (en) * 1961-07-03 1965-12-28 Bunker Ramo Modular computer system master disconnect capability
US3247490A (en) * 1961-12-19 1966-04-19 Sperry Rand Corp Computer memory system
BE626951A (de) * 1962-01-22
US3312951A (en) * 1964-05-29 1967-04-04 North American Aviation Inc Multiple computer system with program interrupt
US4342082A (en) * 1977-01-13 1982-07-27 International Business Machines Corp. Program instruction mechanism for shortened recursive handling of interruptions
US4213190A (en) * 1978-08-28 1980-07-15 International Business Machines Corporation Programmed copier control
US6044430A (en) * 1997-12-17 2000-03-28 Advanced Micro Devices Inc. Real time interrupt handling for superscalar processors

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2636672A (en) * 1949-01-19 1953-04-28 Ibm Selective sequence electronic calculator
US2810516A (en) * 1949-06-03 1957-10-22 Nat Res Dev Electronic digital computing devices
NL91958C (de) * 1949-06-22
US2797862A (en) * 1951-11-08 1957-07-02 Bell Telephone Labor Inc Digital computer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1574668B1 (de) * 1968-03-01 1972-04-27 Licentia Gmbh Einrichtung zur unterbrechung eines programmablaufes bei einer programmgesteuerten, elektronischen rechenanlage
DE1913059A1 (de) * 1968-03-15 1969-10-02 Burroughs Corp Verbesserte Programmunterbrechungseinrichtung fuer eine Datenverarbeitungsanlage in Baukastenweise
CN110993438A (zh) * 2019-11-13 2020-04-10 上海空间电源研究所 三继电器互锁电路
CN110993438B (zh) * 2019-11-13 2021-10-15 上海空间电源研究所 三继电器互锁电路

Also Published As

Publication number Publication date
GB893555A (en) 1962-04-11
BE570988A (de)
US3017092A (en) 1962-01-16
NL231079A (de)
CH359911A (fr) 1962-01-31
FR1214905A (fr) 1960-04-12

Similar Documents

Publication Publication Date Title
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE2614000C2 (de) Diagnoseeinrichtung zur Prüfung von Funktionseinheiten
DE1151397B (de) Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen
DE1524225B2 (de) Verfahren zum betriebe einer redigier- und wiedergabeeinrichtung
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE1303071B (de)
DE1201586B (de) Programmgesteuerte Daten-Auswertmaschine
DE2019444A1 (de) Datenverarbeitungsanlage
DE1935944C3 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE1524111C3 (de) Elektronische 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
DE1239124B (de) Vorrichtung zum Einspeichern einer Dezimalzahl in ein Register
DE1935945B2 (de) Taktsteuereinrichtung fuer mehrere speicher und eine ihnen gemeinsame fehlerkorrektureinrichtung
DE1296429B (de) Datenbearbeitungsanlage
DE1069910B (de) Kommandowerk mit Indexregister
DE2331874A1 (de) Vorrichtung zum rechnerischen verarbeiten von kostenrechnungsaufzeichnungen
DE1181948B (de) Elektronische Datenverarbeitungsmaschine
DE1524878A1 (de) Verfahren zum Erzeugen von Steuersignalen fuer die Steuerung adressierbarer Speicher
DE1087834B (de) Rechenmaschine
DE1424756B2 (de) Schaltungsanordnung zum fehlergesicherten Einführen oder Wiedereinführer, von Programmen in den Hauptspeicher einer datenverarbeitenden Anlage
DE2402875A1 (de) Steuersystem, insbesondere fuer verriegelungseinrichtungen fuer den eisenbahnbetrieb
DE1449816C3 (de) Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher
DE2735874C2 (de)
AT210173B (de) Programmgesteuerte Angaben-Auswertungsmaschine