DE1524209C - Programmgesteuerte Datenverarbeitungsanlage - Google Patents
Programmgesteuerte DatenverarbeitungsanlageInfo
- 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
Links
- 230000000875 corresponding Effects 0.000 claims description 18
- 230000000903 blocking Effects 0.000 claims 1
- 239000004020 conductor Substances 0.000 description 14
- 238000000034 method Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 241001442055 Vipera berus Species 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- DPFYBZWSVVKNPZ-AQWIXGDGSA-N (3S,4S,6R)-2-[[(2R,4R,5R)-3,5-dihydroxy-4-methoxy-6-(methoxymethyl)oxan-2-yl]methoxymethyl]-6-ethyloxane-3,4,5-triol Chemical group O[C@H]1[C@@H](O)C(O)[C@@H](CC)OC1COC[C@@H]1C(O)[C@H](OC)[C@H](O)C(COC)O1 DPFYBZWSVVKNPZ-AQWIXGDGSA-N 0.000 description 1
- 229940036310 Program Drugs 0.000 description 1
- 241000282941 Rangifer tarandus Species 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000977 initiatory Effects 0.000 description 1
- 230000000873 masking Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
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-
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
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)
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)
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)
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. |