DE1524209C - Programmgesteuerte Datenverarbeitungsanlage - Google Patents

Programmgesteuerte Datenverarbeitungsanlage

Info

Publication number
DE1524209C
DE1524209C DE1524209C DE 1524209 C DE1524209 C DE 1524209C DE 1524209 C DE1524209 C DE 1524209C
Authority
DE
Germany
Prior art keywords
program
register
registers
data processing
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
Other languages
English (en)
Inventor
Andrew Te-an Collingswood N.J. Ling (V.StA.)
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.)
RCA Corp
Original Assignee
RCA Corp
Publication date

Links

Description

Die vorliegende Erfindung betrifft eine programmgesteuerte Datenverarbeitungsanlage, bei der ein laufendes Programm unterbrochen und auf ein anderes Programm umgeschaltet werden kann, mit zur Durchführung von Befehlen dienenden Registern einschließlich eines Operationscoderegisters, ferner mit mehreren Gruppen von Pr'ogrammarbeitsregistern, einem Programmnummernregister, dessen Ausgangssignale die Freigabe von Eingängen und Ausgängen einer Gruppe der Programmarbeitsregister zu steuern gestatten, und einem Rechenwerk zur Durchführung von Operationen mit einem oder mehreren Operanden unter Steuerung durch die in den Registern gespeicherte Information.
Nachteilig an den bekannten Datenverarbeitungsanlagen dieser Art, wie sie z. B. aus der britischen Patentschrift 980 352 bekannt sind, ist, daß bei Unterbrechung eines laufenden Programms der Inhalt vieler Register in einen Speicher rückgespeichert und später bei Wiederaufnahme des Programms wieder in die Register übertragen werden muß. Diese Übertragungsvorgänge nehmen in der Praxis verhältnismäßig viel Zeit in Anspruch.
Der vorliegenden Erfindung liegt dementsprechend die Aufgabe zugrunde, die für eine Programmunterbrechung erforderliche unproduktive Zeit möglichst kurz zu halten.
Gemäß der Erfindung wird diese Aufgabe durch eine programmgesteuerte Datenverarbeitungsanlage der eingangs angegebenen Art gelöst, die dadurch gekennzeichnet ist, daß sowohl die zur Durchführung der Befehle dienenden Register, in denen Information gespeichert ist, die bei der Durchführung des laufenden Befehls, nicht jedoch bei der Durchführung des nächsten Befehls benötigt wird, als auch über wahlweise steuerbare Torschaltungen die Programmarbeitsregister der Programmarbeitsregistergruppen, in denen Information gespeichert ist, die sowohl bei der Durchführung des laufenden Befehls als auch bei der Durchführung des nächsten Befehls desselben Programms benötigt wird, mit entsprechenden Eingangsleitungen des Rechenwerks gekoppelt sind, wobei jede Programmarbeitsregistergruppe einem eigenen Programm zugeordnet ist, daß ferner mit dem Operationscoderegister ein auf vorrangige und verbotene Befehle ansprechender Decodierer gekoppelt ist, dessen Ausgangssignale zusammen mit einem gegebenenfalls in einem Register der eingeschalteten Programmarbeitsregistergruppe enthaltenen Sperrbit ein Schaltnetz steuern, und daß die Ausgangssignale dieses Schaltnetzes einer Schaltung zum Ändern des Inhalts des Programmnummernregisters zugeführt sind.
Durch diese Maßnahmen wird die Arbeitsgeschwindigkeit einer Datenverarbeitungsanlage der hier interessierenden Art im Vergleich zum Stand der Technik erheblich erhöht.
Weiterbildungen und vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Im folgenden wird ein Ausführungsbeispiel einer Datenverarbeitungsanlage gemäß der Erfindung an Hand der Zeichnung näher erläutert; es zeigt
Fig. 1 ein Blockschaltbild einer Datenverarbeitungsanlage gemäß einem Ausführungsbeispiel der Erfindung,
Fig. 2 und 3 Blockschaltbilder, in denen Einzelheiten von Teilen der Datenverarbeitungsanlage gemäß Fig. 1 dargestellt sind.
Die in Fig. 1 dargestellte Datenverarbeitungsanlage enthält einen Datenhauptleiter DB, der aus einer Vielzahl von Adern zum Übertragen von Daten zwischen den verschiedenen Einheiten der Datenverarbeitungsanlage besteht. Der Datenhauptleiter DB ist z.B. an einen Hauptschnellspeicher 6 und an eine Eingabe-Ausgabe-Vorrichtung 8 sowie über
ίο Leitungen 10 an mehrere Register 12, die zur Durchführung von Befehlen dienen (im folgenden kurz »Befehlausführungsregister«) und über die Leitung 18 an mehrere Sätze I, II, III und IV von Programmarbeitsregistern angeschlossen. Die Befehlsausführungsregister 12 dienen zur Speicherung von Information, die während der Ausführung eines Befehls benötigt, dagegen während der Ausführung des folgenden Befehls nicht mehr benötigt wird. Die Sätze I, II, III und IV von Programmarbeitsregistern enthalten Register für Informationen, die während der Ausführung eines Befehls eines Programms sowie auch während der Ausführung des folgenden Befehls des gleichen Programms benötigt werden! Jeder der Sätze I, II, III und IV von Programmarbeits-
s5 registern wird jeweils für die Durchführung eines anderen Programms oder Programmablaufs verwendet. Mittels der verschiedenen Sätze von Programmarbeitsregistern kann man die Rechenanlage in jeweils einem von einer entsprechenden Anzahl verschiedener Programmzustände betreiben.
Die einzelnen Register der Gruppe von Befehlsausführungsregisfern 12 umfassen ein Operationscoderegistef Op, ein Adressenregister AR, ein.Zwischenregister IR urid ein Arbeitsregister UR. Während in Fig. 1 nur vier derartige Befehlsausführungsregister gezeigt sind, kann man eine beliebige Anzahl solcher Register, darunter z. B. auch ein allgemeines Zählregister, ein Operandenbezeichnungsoder -Zählregister und ein Addierwerkausgangsregister vorsehen. Jedes der einzelnen Befehlsausführungsregister kann für die Speicherung einer großen Anzahl, beispielsweise 32 Informationsbits eingerichtet sein. Die einzelnen Register können aus einer der Anzahl der im Register speicherbaren Informationsbits entsprechenden Anzahl von Flipflop-Stufen (bistabilen Kippstufen) bestehen. Andererseits können auch einige oder sämtliche der einzelnen. Register durch Speicherzellen eines kleinen Zwischen- oder Konzept-Schnellspeichers, der sich vom Hauptspeicher 6 dadurch unterscheidet, daß er erheblich kleiner ist und eine erheblich größere Arbeitsgeschwindigkeit hat, gebildet werden.
Das Operationscoderegister Op in der Registergruppe 12 hat einen Ausgang, der über die Leitung 19 an eine Programmsteuerung 20, die üblich ausgebildet sein kann, angeschlossen ist. Die Befehlsausführungsregistergruppe 12 enthält weitere Einzelregister wie AR, JR und UR, deren Ausgänge über Leitungen 14 an ein Rechenwerk 15 angeschlossen sind, das seinerseits mit Ausgangsleitungen 16 an den Datenhauptleiter DB angeschlossen ist. Das Operationscoderegister Op kann mit einem weiteren Ausgang (nicht gezeigt) an das Rechenwerk 15 für den zeitweisen Gebrauch zu einem anderen Zweck angeschlossen sein.
Die Programmsteuerung 20 enthält Einrichtungen . * zum Decodieren des Inhalts des Operationscoderegisters Op sowie die üblichen Einrichtungen zum
Steuern der Operationsabläufe sämtlicher Einheiten der Rechengnlage in der richtigen Reihenfolge. Die Programmsteuerung 20 ist mit einem Ausgang über Leitungen 26 an die logisch-arithmetische Einheit 15 angeschlossen. Zusätzlich zu den Leitungen, die in der Zeichnung gezeigt sind, da sie in direkter Beziehung zu den zur Erfindung gehörigen Einheiten stehen, hat die Programmsteuerung 20 viele weitere Ausgangssteuerleitungeri (nicht gezeigt). Das Rechenwerk kann eine übliche Einheit sein, die in der Lage ist, einen oder mehrere Operanden aufzunehmen und damit die von der Programmsteuerung 20 vorgeschriebenen Operationen durchzuführen. Es kann einen Ausgang (nicht gezeigt) haben, der zusätzlich zu dem Weg über den Datenhauptleiter DB eine direnkte Verbindung zu den Programmarbeitsregistern herstellt.
Der Datenhauptleiter DB ist ferner über Leitungen 18 mit Eingängen der Einzelregister in den vier Sätzen I, II, III und IV von Prog'rammarbeitsregistern verbunden. Der Satz I enthält im vorliegenden Falle die Einzelregister II, 12 und 13. Jedes dieser Einzelregister kann normalerweise eine große Anzahl, beispielsweise 32 Informationsbits speichern. Der Satz I kann eine große Anzahl, beispielsweise siebenundzwanzig Einzelregister enthalten, darunter (in einer praktischen Ausführungsform) ein Programmzählregister, sechzehn Mehrzweckregister, acht Gleitkommaregister, ein Unterbrechungszustandsregister und ein Unterbrechungsabdeckregister. Sämtliche Einzelregister des Satzes I dienen für Informationen, die während der Ausführung eines Befehls eines Programms sowie während der Ausführung eines folgenden Befehls des gleichen Programms benötigt werden. Die Sätze II, III und IV können ebenfalls ein Programmzählregister, eine Anzahl von Allzweckregistern, ein Unterbrechungszustandsregister und ein Unterbrechungsabdeckregister enthalten.
Die einzelnen Register der Sätze I, II, III und IV von Programmdurchführungsregistern können aus einer Vielzahl von üblichen Flipflop-Stufen aufge-J. baut sein. Andererseits können einige oder sämtliche der Einzelregister durch Speicherzellen in einem kleinen Zwischen- oder Konzept-Schnellspeicher gebildet werden. Die Ausführung der einzelnen Register in Form von entweder Flipflop-Stufen oder Speicherzellen in einer gegebenen Datenverarbeitungsanlage wird jeweils durch Überlegungen bezüglich der Arbeitsgeschwindigkeit und Kosten bestimmt. Ausgänge sämtlicher Einzelregister der Sätze I, II, III und IV von Programmarbeitsregistern sind über Leitungen 25 an einen Eingang des Rechenwerks 15 angeschlossen, das über Leitungen 26 von der Programmsteuerung 20 gesteuert wird.
Von den Sätzen I, II, III und IV von Programmdurchführungsregistern wird jeweils ein Satz bei der Durchführung eines von vier entsprechend verschiedenen Programmen verwendet. Wenn einer dieser vier Registersätze in Tätigkeit ist, befindet sich übereinkunftsgemäß die Rechenanlage an einem ihrer vier Programmzustände. Die vier Sätze von Programmarbeitsregistem können für die Durchführung von vier verschiedenen Programmen verwendet werden, die gemäß einem praktischen Ausführungsbeispiel der Anlage wie folgt sein können: Satz I dient für die Durchführung des Produktionsprogramms des Benutzers der Anlage. Satz II dient für. die Steuerung oder Bedienung der Eingabe-Ausgabevorrichtungen und für die Erfordernisse der Unterbrechungszustände. Satz III dient für die Analyse von Unterbrechungszuständen und für die Durchführung von Steuerprogrammen, und Satz IV dient für spezielle Steuerprogramme, auf die z.B. ■zurückgegriffen wird, wenn Versager in irgendwelchen Bausteinen der Anlage auftreten. Während im vorliegenden Falle zu Erläuterungszwecken vier
ίο solche Registersätze gezeigt sind, kann man auch eine kleinere oder größere Anzahl derartiger Sätze" verwenden.
Derjenige von den vier Sätzen von Programmarbeitsregistern, der jeweils zu einem bestimmten Zeitpunkt in Gebrauch ist, wird durch den Inhalt eines Programmnummernregisters 30 bestimmt, das mit Ausgängen an einen Decodierer 34 angeschlossen ist. Wie in Fig. 2 im einzelnen gezeigt ist, enthält das Programmnummernregister 30 drei Flipflops 31, 32 und 33. Der Decodierer 34 besteht im vorliegenden Falle aus einer üblichen Anordnung von UND-Gliedern1, die an die Ausgänge der Flipflops 31, 32, 33 des Programmnummernregisters so angeschaltet sind, daß sie jeweils entsprechend dem Speicherinhalt der Flipflops aktive Ausgangssignale in eine der vier Ausgangsleitungen 361, 362, 363 und 364 speisen. Die vier Ausgänge des Decodierers 34 gelangen über diese allgemein mit 36 bezeichneten Leitungen als Voraktivierungssignale zu den entsprechenden Sätzen I, H, III und IV von Programmarbeitsregistem. Als UND-Glieder und ODER-Glieder sind hier Einrichtungen bezeichnet, welche die angegebenen logischen Funktionen erfüllen, im übrigen aber beliebig unter Berücksichtigung der jeweils gegebenen Signalpolaritäten ausgebildet sein können. Ein zu einem der Sätze von Programmarbeitsregistem gelangendes Ausgangssignal des Decodierers 34 bewirkt eine Voraktivierung von Eingängen und Ausgängen des betreffenden Registersatzes. Die Voraktivierung der Eingänge und Ausgänge eines Registersatzes erfolgt mittels einer Anordnung von UND-Gliedern, wie im Zusammenhang mit F i g. 3 noch beschrieben werden wird. Die Eingabe von Datensignalen vom Datenhauptleiter DB und den Leitungen 18 in ein bestimmtes der Registern bis IV3 eines voraktivierten Satzes wird durch Aktivierungs-. signale von der Programmsteuerung 20 über die Leitungen 41, 42 und 43 gesteuert. Zu einem gegebenen Zeitpunkt ist einer der vier Registersätze I, II, III und IV über eine der Leitungen 361, 362, 363, 364 voraktiviert und eines der Register des voraktivierten Satzes über eine der Leitungen 41, 42 und 43 aktiviert.
Wenn die Registern bis IV3 durch Speicherzellen eines Zwischen- oder Konzeptspeichers gebildet werden, so werden die Signale in den Wählleitungen 361, 362, 363, 364, 41, 42, 43 einem Adressenerzeuger zugeleitet, der die Adresse im Speicher eines gewählten Registers erzeugt. Das Ausgangssignal des Adressenerzeugers wird dem Adressenregister des Speichers zugeleitet, um eine einzelne Registerspeicherzelle aufzurufen. Der Datenleiter 18 und der Datenleiter 25 sind mit dem Datenregister des Speichers verbunden, um eine angesteuerte Register-Speicherzelle mit Daten zu beliefern bzw. aus einer angesteuerten Registerspeicherzelle Daten auszuliefern.
Wie erwähnt, bestimmt das Programmzustands-
register 30, welcher der vier Programmzustände zu und die UND-Ausgangsglieder 8Γ, 82', 83' vorzueinem gegebenen Zeitpunkt wirksam ist. Der Inhalt aktivieren. Die Registersätze III und IV enthalten des Programmzustandsregisters 30 wird seinerseits eine entsprechende Schaltnetzanördnung (nicht gedurch Signale bestimmt, die über die Leitungen 46 zeigt). Das in der Leitung 41 erscheinende Ausgangssowie über ODER-Glieder 47 von der Programm- 5 signal der Programmsteuerung ist bestrebt, die Gliesteuerung 20 geliefert werden, sowie durch Signale, die der 71, 72' im Registersatz I, die Glieder 81, 81' im über die Leitungen 48 sowie über die ODER-Glieder Registersatz II und die entsprechenden Gatter (nicht 47 von einer Programmunterbrechereinheit 50 gelie- gezeigt) in den Registersätzen III und IV zu aktiviefert werden. Die Programmunterbrechereinheit 50 ist ren. Ebenso ist das in der Leitung 42 erscheinende in üblicher Weise so ausgebildet, daß sie über Lei- io Ausgangssignal der Programmsteuerung bestrebt, die tungen 52 die Erfordernisse einer Unterbrechung UND-Glieder 72,72', 82, 82' usw. zu aktivieren, wähwahrnimmt, die sich aus dem Auftreten einer ganzen rend ein in der Leitung 43 erscheinendes Signal beReihe von bestimmten Bedingungen in der Anlage strebt ist, die UND-Glieder 73, 73', 83, 83' usw. zu ergeben. Diese Bedingungen können sich aus Resul- aktivieren.
taten, die bei der Behandlung von Daten erhalten 15 Die UND-Glieder sind in einer Rechteckmatrix werden, aus der Decodierung eines Befehls, der die angeordnet, in der durch Erregung einer der Leitun-. Durchführung eines Eingabe-Ausgabe-Vorgangs ver- gen 361, 362, 363 und 364 bei gleichzeitiger Errelangt, aus dem Erfordernis eine Bedienung durch eine gung einer der Leitungen 41, 42 und 43 ein bestimm-Eingabe-Ausgabe-Vorrichtung, aus einem Versagen tes der Register II, 12,13, III, 112 usw. voraktiviert im Betrieb eines Bausteins der Anlage usw. ergeben. 20 wird, so daß es ankommende Daten vom Datenleiter Die Programmunterbrechereinheit 50 beliefert über 18 empfangen und abgehende Daten in den Datendie Leitungen 48 das Programmnummernregister 30 leiter 25 einspeisen kann. Wenn beispielsweise die mit Signalen, wodurch ein entsprechender der Sätze I, Leitungen 361 und 41 erregt sind, wird das Glied 71 II, III und IV von Programmarbeitsregistern für die aktiviert, so daß es Daten vom Datenleiter 18 zum Eingabe eines entsprechenden Unterbrechungspro- 25 Registern leitet, während zugleich das Glied 71' gramms oder einer entsprechenden Befehlsfolge vor- aktiviert wird, so daß es Daten vom Register 11 zum bereitet wird. Datenleiter 25 leitet. Das Einzelregister Il enthält
Außer über die Leitungen 52 empfängt die Pro- Speicherzellen für viele Informationsbits. Das UND-grammunterbrechereinheit 50 auch Signale über Ver- Glied 71 stellt eine, entsprechend große Anzahl von knüpfungsglieder 54, 55, 56 und 57 von einem Vor- 30 Informationsbitwegen von den Einzelleitungen. des rangbefehlsentschlüsseler 58. Der Vorzugsbefehlsent- Datenleiters 18 zu den einzelnen Bitspeicherzellen im schlüsseler 58 empfängt über die Leitungen 19 und Register Il her ^ Sämtliche anderen Register und 59 den Inhalt des Operationscoderegisters Op. Die UND-Glieder sind entsprechend ausgebildet. Glieder 54, 55, 56 und 57 werden über Leitungen 60 Wenn die Anlage sich im Progfammzustand I be-
von entsprechenden Flipflop-Stufen 61, 62, 63 und 35 findet, wird der Satz I von Programmarbeitsregistern 64 in Registern (Unterbrechungszustandsregistern) durch ein Signal in der Leitung 361 voraktiviert. Ententsprechender der Sätze I, II, III und IV von Pro- sprechend werden in den Programmzuständen II, III grammarbeitsregistern voraktiviert. Die Flipflop-Stu- und IV die entsprechenden Sätze II, III und IV von fen 61, 62, 63 und 64 sind in Fig. 2 im einzelnen Programmarbeitsregistern durch Signale in den entgezeigt. Die Eingänge und Ausgänge dieser Flipflop- 40 sprechenden Leitungen 362, 363 und 364 vorakti-Stufen werden durch Paare von UND-Gliedern 66 viert. Dasjenige der Einzelregister im voraktivierten gesteuert, die jeweils paarweise durch Signale über Satz, das jeweils Daten empfangen oder ausgeben die Leitungen 36 vom Decodierer 34 voraktiviert kann, wird durch diejenige der Programmsteuerungswerden. Die Setzeingänge S der Flipflop-Stufen 61, leitungen 41, 42, 43 bestimmt, die jeweils erregt ist. 62,63 und 64 werden von der Programmsteuerung 20 45 Normalerweise, wenn die Anlage einen gegebenen über Verknüpfungsglieder 66 und die Leitungen 68 Programmzustand einnimmt, bedient sie sich der Promit Signalen beliefert. Es kann auch ein Leitungsweg grammarbeitsregister des entsprechenden Satzes. Je-(nicht gezeigt) von der Programmsteuerung 20 nach doch lassen sich eine bessere Wirtschaftlichkeit und den Zurücksetzeingängen R der Flipflop-Stufen 61, betriebliche Vorteile dadurch erreichen, daß man ein 62, 63 und 64 vorgesehen sein. Der Vorrangbefehls- 50 Register in einem bestimmten Satz für den Gebrauch entschlüsseler 58 entschlüsselt jeden der Programm- in einem anderen oder in anderen Programmzustänsteuerung 20 zugeleiteten »vorrangigen« Befehl. Han- den verfügbar macht. So kann man ein gemeinsames delt es sich dabei um einen Befehl, dessen Ausfüh- Register für Gleitkomma-Rechenoperationen in sämtrung während des gerade, bestehenden Programmzu- liehen Programmzuständen verwenden. Dies ist in Standes verboten oder blockiert ist, so wird die An- 55 Fig. 3 veranschaulicht, wo ein Register 113 des Satlage auf einen anderen Programmzustand geschaltet," zes II in der Matrix fehlt und die entsprechenden in dem ein entsprechender Unterbrechungsprogramm- Glieder 83, 83' mit ihren Ausgängen an die zum Reablauf eingeleitet und durchgeführt werden kann. gister 13 des Satzes I gehörigen Glieder 78 und 78'
An Hand der Fig. 3 sollen im einzelnen die angeschaltet sind. Das Register13 steht somit zum Schaltnetze für die Voraktivierung der einzelnen Pro- 60 Gebrauch sowohl dann, wenn die Anlage sich im grammdurchführungsregister in den vier Sätzen I, II, Programmzustand II, als auch dann, wenn sie sich im III und IV beschrieben werden. Das über die Leitung Programmzustand I befindet, zur Verfügung. Das Re-361 zum Registersatz I gelangende Decodierer-Aus- gister 13 kann auch so geschaltet werden, daß es für gangssignal ist bestrebt, die UND-Eingangsglieder 71, den Gebrauch in den Programmzuständen III und IV 72, 73 und die UND-Ausgangsglieder 71', 72', 73', 65 verfügbar ist.
vorzuaktivieren. Ebenso ist das über die Leitung 362 Es sind ferner Maßnahmen getroffen, um ein Re-
zum Registersatz II gelangende Decodiererausgangs- gister in einer bestimmten Spalte eines bestimmten signal bestrebt, die UND-Eingangsglieder 81, 82, 83 Satzes von einer anderen Spalte, eines anderen Satzes
7 8
aus zugänglich zu machen. Beispielsweise hat das Re- Hch macht. Die. Änderung des Programmzustandes gisterI2 des Satzes I ein UND-Glied"77 für die Da- kann durch" Signale, die von der Programmunterbreteneingabe, das an seinem einen Eingang 79 über eine chereinheit 50 zum Programmzustandsregister 30, Leitung (nicht gezeigt) vom Ausgang des Gliedes 83 oder durch Signale, die von der Programmsteuerung des Satzes II voraktiviert wird. Dieser Anschluß kann 5 20 zum Programmzustandsregister 30 geschickt werauch von einem, anderen, dem Glied 83 entsprechen- den, herbeigeführt werden. Die somit in das Proden Glied aus erfolgen, das sich jedoch anderswo in grammnummernregister 30 eingegebene neue Inforeinem der Sätze II, III oder IV befindet. Es hat sich mation wird vom Decodierer 34 entschlüsselt, so daß als zweckmäßig herausgestellt, in dieser Weise Pro- in einer der Ausgangsleitungen 36 des Decodierers grammarbeitsregister so auszubilden, daß, wenn die io ein Voraktivierungssignal erscheint, das einen entAnlage sich im Programmzustand ΠΙ befindet, Pro- sprechenden anderen der Sätze II, III oder IV von grammzählregister, . Unterbrechungsabdeckregister Programmarbeitsregistern voraktiviert. Die im Satz I und Unterbrechungszustandsregister in den Sätzen I von Programmarbeitsregistern enthaltene Information und II als allgemeine Register (im SatzIII), die in wird für den Gebrauch zu einem späteren Zeitpunkt, Wirklichkeit, d. h. als tatsächliche Schaltungseinheit 15 da das Produktionsprogramm des Benutzers wieder im Satz III gar nicht vorhanden sind, adressierbar aufgenommen wird, aufbewahrt. Es ist unnötig, dieauszubilden. In diesem Fall kann die Anlage später, jenige Zeit aufzuwenden, die erforderlich ist, um den wenn sie sich im Programmzustand I oder Π befindet, Inhalt des Satzes I von Programmarbeitsregistern in Zwischengebrauch von der in den Registern des Sat- den Hauptspeicher 6 zu übergeben und statt dessen in zes I oder des Satzes II vorhandenen Information 20 die Register des Satzes I die für die Durchführung des machen, ohne daß Information von einem Register unterbrechenden Programms benötigte Information des Satzes III übertragen werden muß. einzugeben. Die für das unterbrechende Programm
Es soll jetzt die Wirkungsweise der Anlage be- benötigte Information ist in dem nunmehr, aktivierten schrieben werden, und zwar ausgehend von einem der Sätze II, III oder IV von Programmarbeitsregi-Zustand, in dem die Anlage Befehle ausführt, die im 25 stern bereits vorhanden.
Produktionsprogramm des Benutzers enthalten sind. Die Durchführung des unterbrechenden Programms
Die Anlage befindet sich in diesem Falle im Pro- dauert so lange an, bis eine Bedingung auftritt, die ein grammzustand I, in dem der Satz I von Programm- Zurückschalten auf das Produktionsprogramm des arbeitsregistern für den Empfang und die Aussen- Benutzers, d. h. auf den Programmzustand I oder auf dung vort Datensignalen bereit ist. Das den Register- 30 einen anderen der restlichen Programmzustände versatz I derart voraktivierende Signal ist vom Decodie- langt. Auf diese Weise schaltet die Anlage zwischen rer 34 abgeleitet und wird durch den Inhalt des Pro- den vier verschiedenen Programmzuständen zurück grammnummernregisters 30 bestimmt. und vor, ohne daß eine zwischenzeitliche Rückspei-
Die Ausführung der einzelnen aufeinanderfolgen- cherung sämtlicher für die spätere Wiederaufnahme den Befehle des Produktionsprogramms des Benut- 35 eines unterbrochenen Programms benötigten Inforzers erfolgt durch Übertragung der betreffenden Be- mationen und später ein Aufsuchen sämtlicher für fehle vom Hauptspeicher 6 über den Datenleiter DB die Durchführung eines unterbrechenden Programms und die Leitungen 10 nach den Registern der Be- benötigten Informationen erforderlich sind.
fehlsausführungsregistergruppel2. Das Operations- Es sollen nunmehr verschiedene Bedingungen, die
Coderegister Op empfängt den Operationscodeteil des 40 zu einer Änderung des jeweiligen Programmzustan-Befehls. Der Inhalt des Operationscoderegisters Op des führen, erläutert werden. Wenn die Anlage sich gelangt über die Leitungen 19 zur Programmsteue- in dem Programmzustand I, in dem sie das Programm rung 20, die sämtliche Einheiten der Anlage bei der des Benutzers durchführt, befindet, kann z. B. ein Ausführung des durch den Operationscode verkör- eine Programmunterbrechung auslösender Versager perten Befehls steuert. Ist der Befehl z. B. ein Addier- 45 in der Maschine auftreten. Dieser Unterbrechungszubefehl, so wird der im Adressenregister AR enthal- stand bewirkt über die Programmunterbrechereinheit tene Operandenadressenteil des Befehls dazu verwen- . 50 eine Änderung des Inhalts des Programmnumdet, den Operanden aus dem Hauptspeicher 6 her- mernregisters 30 im Sinne einer Einleitung des Proauszuholen und in das in der Registergruppe 12 vor- grammzustandes IV. Wenn eine Unterbrechung durch handene Arbeitsregister UR einzugeben. Danach ge- 5° eine andere Bedingung verursacht wird, verändert die langt der Operand vom Register UR über die Leitun- Programmunterbrechereinheit 50 den Inhalt des Progen 14 zum Rechenwerk 15. Gleichzeitig gelangt der grammnummernregisters 30 im Sinne einer Einleitung in einem Programmärbeitsregister des Satzes I be- des Programmzustandes III. Solche Bedingungen sind findliche andere Operand über den Datenleiter 25 beispielsweise das Erfordernis einer Bedienung einer zum anderen Eingang des Rechenwerks 15. Die re- 55 Eingabe-Ausgabe-Vorrichtung, ein Kontrollerfordersultierende Summe wird vom Rechenwerk 15 über die nis, ein Adressenfehler, ein Datenfehler, ein Exponen-Leitungen 16, den Datenleiter DB und die Leitungen - tenüberlauf, ein Divisionsfehler usw. Wenn die An-18 in das gleiche oder ein anderes Register des Sat- lage sich im Programmzustand IV oder III befindet, zes I von Programmarbeitsregistern eingegeben. Die führt sie Unterprogramme durch, welche die Ursache Summe wird deshalb in ein Programmarbeitsregister 60 der Unterbrechung analysieren und zu einem Befehl übertragen, weil sie unter Umständen während der führen, der durch die Programmsteuerung 20 im Ausführung eines folgenden Befehls benötigt wird. Sinne einer Umschaltung auf den Programmzustand II
Die Ausführung der aufeinanderfolgenden Befehle interpretiert wird. Wenn die Anlage sich im Prodes Produktionsprogramms des Benutzers dauert so grammzustand II befindet, führt sie ein entsprechenlange an, bis eine Bedingung auftritt, die ein Um- 65 des Unterprogramm durch, das durch die Ursache schalten auf die Durchführung eines anderen Pro- der Unterbrechung, die während des vorausgegangegramms unter Verwendung eines anderen der Sätze II, nen Programmzustandes IV oder III ermittelt wurde, III oder IV von Programmarbeitsregistern erforder- bestimmt ist. Danach, am Ende des Ablaufs des Pro-
'grammzustandes II wird ein Befehl erreicht, der ein Zurückspringen zum Programmzustand I zwecks Wiederaufnahme des Produktionsprogramms des Benutzers bewirkt.
Aus den vorstehenden Ausführungen wird ersiehtlieh, daß gewisse Befehle nur dann ausgeführt werden sollten, wenn die Anlage sich in einem entsprechenden ihrer Programmzustände befindet. Derartige Befehle, wie sie dann zur Ausführung anstehen können, wenn die Anlage sich in einem entsprechenden Programmzustand befindet, werden »vorrangige« Befehle genannt, und diese Befehle werden durch geeignete Einrichtungen im Vorrangbefehlsentschlüsseler 58 decodiert. Wenn im Operationscoderegister Op der Operationscode eines vorrangigen Befehls für die Verwertung durch die Programmsteuerung 20 bereitsteht, wird dieser Operationscode zunächst im Vorrangbefehlsentschlüsseler 58 decodiert, der daraufhin bestrebt ist, eines oder einige oder sämtliche der UND-Glieder 54, 55, 56 und 57 vprzuaktivieren. ao Eines dieser UND-Glieder empfängt außerdem ein Signal »1« oder »0« von einer der Flipflop-Stufen 61, 62, 63 und 64 im derzeit voraktivierten der Sätze Ϊ, II, III oder IV von Programmarbeitsregistern. Der vorrangige Befehl wird sodann entweder von der Programmsteuerung 20 ausgeführt, oder die Programmunterbrechereinheit 50 wird im Sinne einer Umschaltung auf einen entsprechenden Programmzustand ohne Ausführung des vorrangigen Befehls aktiviert.
Es sei beispielsweise angenommen, daß die Anlage sich im Programmzustand I befindet und das Flipflop 61 des Registersatzes I voraktiviert ist und daß ferner ein vorrangiger Befehl erreicht wird, der vom Entschlüsseier 58 decodiert wird, so daß ein Voraktivierungssignal zum UND-Glied 54 gelangt. Wenn der Befehl im Programmzustand I verboten ist, so erscheint im Flipflop 61 ein Signal »1«, welches das UND-Glied 54 aktiviert, dessen Ausgang daraufhin die Programmunterbrechereinheit 50 veranlaßt, das Programm zu unterbrechen und vom Programmzustand I auf einen entsprechend anderen Programmzustand umzuschalten. Steht dagegen im Flipflop 61 ein Signal »0« an, so wird dadurch das UND-Glied 54 nicht aktiviert, so daß der betreffende Befehl durch die Programmsteuerung 20 im Programmzustand I ausgeführt wird.
Die »1«- und »0«-Inhalte der Flipflops 61, 62, 63 und 64 in den Registersätzen I, II, III und IV können durch den Programmierer verändert werden. Das heißt, die in einem Programm enthaltenen Befehle können Änderungen der Inhalte der Flipflops bewirken, um im Verlaufe der Durchführung des Programms zu bestimmen, ob vorrangige Befehle zugelassen werden oder ob ihre Ausführung während bestimmter Programmzustände verhindert wird.

Claims (4)

Patentansprüche:
1. Programmgesteuerte Datenverarbeitungsanlage, bei der ein laufendes Programm unterbrachen und auf ein anderes Programm umgeschaltet werden kann, mit zur Durchführung von Befehlen dienenden Registern einschließlich eines Operationscoderegisters, ferner mit mehreren Gruppen von Programmarbeitsregistern, einem Programmnummernregister, dessen Ausgangssignale die Freigabe von Eingängen und Ausgängen einer Gruppe der Programmarbeitsregister zu steuern gestatten, und einem Rechenwerk zur Durchführung von Operationen mit einem oder mehreren Operanden unter Steuerung durch die in den Registern gespeicherte Information, dadurch gekennzeichnet, daß sowohl die zur Durchführung der Befehle dienenden Register (12), in.denen Information gespeichert ist, die bei." der Durchführung des laufenden Befehls, nicht jedoch bei der-Durchführung des nächsten Befehls benötigt wird, als auch, über wahlweise steuerbare Torschaltungen (z. B. 71', 72', 73', 78' in Fig.3), die Programmarbeitsregister (II, 12, . 13 usw.) der Programmarbeitsregistergruppen (I, H, III, FV), in denen Information gespeichert ist. die sowohl bei der Durchführung des laufenden Befehls als auch bei der Durchführung des nächsten Befehls desselben Programms benötigt wird, mit entsprechenden Eingangsleitungen (14, 25) des Rechenwerks (15) gekoppelt sind, wobei jede Programmarbeitsregistergruppe einem eigenen Programm zugeordnet ist, daß ferner mit dem Operationscoderegister (Op) ein auf vorrangige und verbotene Befehle ansprechender Decodierer (58) gekoppelt ist, dessen Ausgangssignale zusammen mit einem gegebenenfalls in einem Register (II, III, IHl, IVl) der eingeschalteten Programmarbeitsregistergruppe enthaltenen Sperrbit ein Schaltnetz (54, 55, 56, 57) steuern, und daß die Ausgangssignale dieses Schaltnetzes einer Schaltung (50) zum Ändern des Inhalts des Programmnummernregisters (30) zugeführt sind.
2. Datenverarbeitungsanlage nach Anspruch 1, daurch gekennzeichnet, daß eine zusätzliche Schaltnetzanordnung (z. B. 77 bzw. 78, 78') ein gewünschtes Programmarbeitsregister (13 oder 12) in einer anderen Gruppe (z.B.I) als der durch die erregte Ausgangsleitung (362 in F i g. 3) der Programmnummernregisteranordnung (30, 34) bestimmten Gruppe (ζ. Β. ΪΙ) einschaltet.
3. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß eine Steuereinheit (20) beim Vorliegen bestimmter Rechenwerkszustandssteuerbefehle vom Operationscoderegister (Op) den Inhalt des Programmnummemregisters (30) ändert.
4. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Schaltung (50) zum Ändern des Inhalts des Programmnummemregisters (30) durch Unterbrechungssignale (auf der Leitung 52), die eine Programmunterbrechung fordern, steuerbar ist, um den Inhalt des Programmnummernregisters (30) auf ein Programm umzuschalten, das der Unterbrechungsbedingung Rechnung trägt.
Hierzu 1 Blatt Zeichnungen

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1799012B1 (de) * 1966-06-23 1981-01-29 Hewlett Packard Co Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschnitten in einem elektronischen Rechner

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1799012B1 (de) * 1966-06-23 1981-01-29 Hewlett Packard Co Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschnitten in einem elektronischen Rechner

Similar Documents

Publication Publication Date Title
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE1449529C3 (de) Unterbrechungseinrichtung für ein Datenverarbeitungssystem
DE2714805C2 (de)
DE2722099C2 (de)
DE1815078C3 (de) Elektronisches Datenverarbeitungssystem
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE2907181A1 (de) Befehlssatz-modifizierregister fuer einen datenprozessor
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE2019444A1 (de) Datenverarbeitungsanlage
EP0014850A1 (de) Einrichtung zur Erweiterung des Standard-Makroinstruktionssatzes in einer Datenverarbeitungsanlage
DE2145709A1 (de) Datenverarbeitungsanlage
DE2461592C3 (de) Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem
DE2905676A1 (de) Integrierte schaltung mit einem einzigen chip
DE69122001T2 (de) Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
DE2245284A1 (de) Datenverarbeitungsanlage
DE1524209C (de) Programmgesteuerte Datenverarbeitungsanlage
DE2403669A1 (de) Spezialcomputer
DE2359037C2 (de) Rechenanlage
DE2756033A1 (de) Verfahren und einrichtung zur diagnose von stoerungen von rechenmaschinen
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.