DE2718051C3 - Datenverarbeitungsanlage mit Einrichtungen zur wechselnden Bearbeitung mehrerer Aufgaben - Google Patents
Datenverarbeitungsanlage mit Einrichtungen zur wechselnden Bearbeitung mehrerer AufgabenInfo
- Publication number
- DE2718051C3 DE2718051C3 DE2718051A DE2718051A DE2718051C3 DE 2718051 C3 DE2718051 C3 DE 2718051C3 DE 2718051 A DE2718051 A DE 2718051A DE 2718051 A DE2718051 A DE 2718051A DE 2718051 C3 DE2718051 C3 DE 2718051C3
- Authority
- DE
- Germany
- Prior art keywords
- register
- level
- address
- cycle
- processor
- 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
- 238000012545 processing Methods 0.000 title claims description 45
- 238000012546 transfer Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 101001105816 Homo sapiens Vitamin K-dependent protein Z Proteins 0.000 description 1
- 241001397173 Kali <angiosperm> Species 0.000 description 1
- 102100021208 Vitamin K-dependent protein Z Human genes 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Description
a) eine Stapelanordnung (80) solcher Registergruppen;
b) zusätzliche separate Register (85, 90, 95) zur ^
Aufnahme ausgewählter Züstands- und Steuerdaten aus je einer Registergruppe zur Steuerung
der Bearbeitung je einer Aufgabe;
c) ein an sich bekanntes erstes Stufenregister (181) zur Aufnahme einer Identifizierung der gerade ,
bearbeiteten Aufgabe, ein zweites Stufenregister (185) zur Aufnahme einer Identifizierung einer
jeweils vorgewählten Aufgabe, in die ein Block von Züstands- und Steuerdaten übertragen wird,
sowie ein drittes Stufenregister (335) zur Aufnahme von Identifizierungen von Aufgaben,
die von der Verarbeitung zurückgestellt wurden und auf eine erneute Aktivierung warten, wobei
— der Eingang des ersten Stufenregisters (181) über eine Unterbrechungsbehandlungseinrichtung
(345) mit dem Ausgang des dritten in Stufonregisters (335),
— der Eingang des zweiten Stufenregisters (185) über Verbindungseinrichtungen (181c,
1814 57) mit dem Ausgang des ersten Stufenregisters (181) un>-
— der Eingang des dritten Stufenregisters (335) über logische Schaltungen (190,191) mit dem
Ausgang des zweiten Stufenregisters (185) verbunden ist; ^
d) eine Datensammelleitung (192) vom ersten Stufenregister zur Adressiereinrichtung (193)
eines Steuerprogramm-Festspeichers (201) des Prozessors (1) und Datensammelleitungen (181A
\&5A) vom ersten und vom zweiten Stufenregister
zur einer Adressiereinrichtung (105) der Registergruppen-Stapelanordnung.
2. Datenverarbeitungsanlage nach Patentanspruch I1 dadurch gekennzeichnet, daß eine logische
Schaltung (190) vorgesehen ist zwischen dem v> Ausgang des zweiten Stufenregisters (185) und dem
Eingang des ersten Stufenregisters (181) zur Übertragung einer Identifizierung für die vorgewählte
Aufgabe in das Stufenregister zur Angabe der gerade bearbeiteten Aufgabe. >
>
3. Datenverarbeitungsanlage nach Patentanspruch 1 bzw. 2, dadurch gekennzeichnet, daß ein
bistabiles Kippglied(326, Fig. 15) vorgesehen ist zur
Anzeige, ob eine jeweils vorgewählte Aufgabe in Erarbeitung ist, daß ein Eingang des Kippgliedes w>
verbunden ist mit derjenigen Leitung einer Datensammelleitung (57), auf welcher ein Anzeigebit für
den Bearbeitungszustand übertragen wird, und daß der Ausgang des Kippgliedes mit einem Eingang der
Adressiereinrichtung (193) des Steuerprogramm- <>■· Festspeichers (201) des Prozessors (1) verbunden ist.
4. Datenverarbeitungsanlage nach Patentanspruch 3, dadurch gekennzeichnet, daß eine Steuerschaltung
für bedingte Verzweigungen (152) vorgesehen ist mit Eingängen, die verbunden sind mit
einem Ausgang des ersten Slufenregisters (181) und mit einer Datensammelleitung (57), über welche die
Züstands- und Steuerdaten einer vorgewählten Aufgabe übertragen werden, und daß der Ausgang
(216) der Steuerschaltung für bedingte Verzweigungen (152) mit den Adressiereinrichtungen (193) des
Steuerprogramm-Festspeichers (201) verbinden ist, so daß dieser in Abhängigkeit vom Prioritätsverhältnis
der gerade bearbeiteten und der vorgewählten Aufgabe und abhängig vom im Kippglied (326)
gespeicherten Bearbeitungsanzeigebit der vorgewählten Aufgabe Steuersignale abgibt für folgende
Vorgänge:
a) Beginn der Ausführung der vorgewählten Aufgabe und Eingabe einer Identifizierung für die bis
dahin bearbeiteten Aufgaben in das dritte Stufenregister (335) für wartende Aufgaben,
wenn deren Priorität höher als oder gleich groß wie die der bis dahin bearbeiteten Aufgabe ist und
wenn das Bearbeitungsanzeigebit gesetzt ist,
b) Weiterbearbeitung der gerade bearbeiteten Aufgabe und Eingabe einer Identifizierung für die
vorgewählte Aufgabe in das dritte Stufenregister (335) für wartende Aufgaben, wenn die Priorität
der gerade bearbeiteten Aufgabe höher ist als die
der vorgewählten Aufgabe und wenn das Bearbeitungsanzeigebit gesetzt ist,
c) Weiterbearbeitung der gerade bearbeiteten Aufgabe und Eingabe einer Identifizierung für die
vorgewählte Stufe in das dritte Stufenregister (335) für wartende Aufgaben, unabhängig von der
Priorität der vorgewählten Aufgabe, wenn das Bearbeitungsanzeigebit nicht gesetzt ist.
5. Datenverarbeitungsanlage nach Patentanspruch 1, dadurch gekennzeichnet, daß der Ausgang
des dritten Stufenregisters (335) über Verbindungsschaltungen (340, 341, 1S2) mit einem Eingang der
Adressiereinrichtung (193) des Steuerprogramm-Festspeichers(201)des
Prozessors (1) verbunden ist.
Die vorliegende Erfindung betrifft eine Datenverarbeitungsanlage mit Einrichtungen zur wechselnden
Bearbeitung verschiedener Aufgaben nach dem Oberbegriff des Anspruchs 1.
Eine Aufgabe ist hier definiert als Abschnitt eines ausführbaren Programms, der in einer vorgegebenen
Umgebung vorliegt, in der er auszuführen ist. Diese vorgegebene Umgebung schließt im allgemeinen einen
kompletten Zustandsdatensatz ein, der zur Aufgabe gehört. Dieser Zustandsdatensatz kann die Befehlsadresse,
Registerinhalte und sonstige Steuerinformation für den Ausführungsstatus der Aufgabe enthalten.
In herkömmlichen Datenverarbeitungsanlagen war es üblich, diese Information nur durch Programmierung
zusammenzugruppieren, d. h„ das Aufgabenverwal·
tungsprogramm hält im Hauptspeicher einen Datenblock, der die obenerwähnten Parameter definiert. Die
bisher bekannten Schaltungseinrichtungen (Hardware) berücksichtigen diesen jedoch nicht als eine Einheit der
Aufgabenstellung. Statt dessen werden einzelne Befehle
gegeben, wodurch z. B. Allgemeinregister geladen werden können.die Befehlsadresse geladen werden kann
und bestimmte Steuerinforrnationen bereitgestellt werden
können. Da dieser ganze Informationsblock jedesmal geändert werden muQ, wenn die laufende
Aufgabe geändert wird, wird dieser Prozeß sehr zeitaufwendig.
Außerdem führt die große Anzahl von zur separaten Behandlung eines jeden Informationsteils erforderlichen
Befehlen zur Benutzung sehr viel Speicherraumes zur Verwaltung der Informationsübertragung und bietet
auch Fehlermöglichkeiten in der Programmierung.
Ferner ist in der DE-AS 22 51 876 eine elektronische
Datenverarbeitungsanlage mit extern angeschlossenen Datenquellen für die Durchführung von Aufgaben auf
der Basis einer Priorit5ts-Stufenhierarchie mit einer Anzahl von Steuerschaltungen beschrieben, von denen
jede einer bestimmten Prioritätsstufe fest zugeordnet ist und eine Einrichtung aufweist, die auf Bedienungs-Anforderungssignale
der externen Datenquellen anspricht. Hierbei kann jede der genannten Steuerschaltungen die
Operation der an sich bekannten arithmetischen und logischen Einheit des Prozessors unabhängig von den
anderen Steuerschaltungen steuern. Zur Wahrnehmung der Steueraufgaben ist den Bedienungs-Anrorderungssignaien
das Kennzeichen der Prioritätsstufe der jeweils anfordernden externen Datenquelle beigegeben, damit
nur diejenige Steuerschaltung betätigt wird, deren Prioritätsstufe dem anliegenden Bedienungs-Anforderungssignal
mit der höchsten Priorität entspricht, wodurch die Steuerung der genannten arithmetischen
und logischen Einheit derjenigen Steuerschaltung übergeben wird, welche die höchste Priorität aufweist,
wobei das Vorliegen von Bedienungs-Anforderungssignalen niedrigerer Priorität unberücksichtigt bleibt.
Auch die in der DE-AS 19 35 258 beschriebene Programm-Umschalteeinrichtung für Datenverarbeitungsanlagen
mit mehreren Anschlußeinheiten befaßt sich mit der prioritätsgerechten Programmumschaltung
für die Bedienung der peripheren Anschlußeinheiten.
Keine der genannten Einrichtungen löst die Aufgabe der vorliegenden Erfindung, die darin besteht, innerhalb
einer Datenverarbeitungsanlage eine verbesserte Einrichtung anzugeben, mit welcher der Aufruf verschiedener
Aufgaben, deren Prioritätsauswahl sowie Eingliederung in bzw. Entnahme aus Wartepositionen schnell,
flexibel und hinsichtlich des Speicherplatzbedarfs im Hauptspeicher weniger aufwendig vorgenommen werden
können.
Gelöst wird diese Aufgabe der Erfindung durch die im Hauptanspruch angegebenen Merkmale.
Vorteilhafte Ausgestaltungen bzw. Weiterbildungen des Gegenstandes der Erfindung sind den Unteransprüchen
zu entnehmen.
Die vorliegende Erfindung bringt eine verbesserte Lösung durch Schaltungseinrichtungen für Datenverarbeitungsanlagen
zur Manipulation der Blöcke von Aufgabensteuerinformation, nachfolgend Stufenstatusblöcke
genannt. Die Verbesserung wird beschrieben im Zusammenhang mit einem Datenverarbeitungssystem
mit mehreren untereinander bevorrechtigten Prioritätsunterbrechungsstufen,
von denen jede ihren eigenen Sati von Maschinenregistern und Statusinformation
hat, entsprechend der Darstellung in den US-Patentschriften
38 25 902 und 39 05 025. Die Verbesserung ist jedoch ebenso für ein Datenverarbeitungssystem ohne
derartige Prioritätsstufen geeignet.
Ein Ausführungebeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher
beschrieben. Es zeigt
F i g. 1 ein Blockdiagramm eines Datenverarbeitungssystems, in dem die vorliegende Erfindung beschrieben
wird,
Fig.2A bis 2H die Hauptbestandteile und den ϊ Datenfluß des bevorzugten Ausführungsbeispiels eines
die vorliegende Erfindung enthaltenden Prozessors,
F i g. 3 eine Übersicht zur Darstellung des Zusammenwirkens einiger wichtiger Elemente der vorliegenden
Erfindung,
in Fi g.4 eine Übersicht des Inhaltes der Stapelregister
aus F i g. 2G und F i g. 3,
F i g. 5 in einem Blockdiagramm die Verbindungen zwischen den verschiedenen Stufenregistern und einer
damit zusammenarbeitenden Unterbrechungsbehandlungseinrichtung,
F i g. 6 schematisch die Festspeichersteuerung (ROS-Steuerung)
des in F i g. 2A bis 2H gezeigten Prozessors, F i g. 7 das Format der Mikroprogramniinstruktionen,
F i g. 8 die Taktierungsgrundsignale für die Ausfüh-2Ii
rung des Mikroprogramms,
F i g. 9 eine Übersicht der verschobenen Bereiche im
Festspeicher des vorliegenden Prozesse-s,
Fig. 10 und II die für einen als Beispiel gezeigten
Maschinenbefehl »Direkt Addieren« ausgeführte Mi-2Ί
kroprogrammroutine bzw. die Taktgrundzyklen für diese Routine,
Fig. 12 die Taktierung der Speicherzyklen,
Fig. 13 und 14 Taktierungsdiagramme für die
Ausführung des letzten Mikroprogrammwortes in jeder in Maschinenbefehlsausführungsroutine und
Fig. 15 bestimmte Teile der Steuerschaltung für bedingte Verzweigungen, die im beschriebenen Ausführungsbeispiel
benutzt wird.
F i g. 1 zeigt ein Übersichtsblockdiagramm eines
υ Systems, in dem die vorliegende Erfindung verwendbar
ist. Der Prozessor 1 ist das Hauptelement des Systems und ist im einzelnen in den Fig. 2A bis 2H dargestellt.
Er t'ührt Befehle aus und steuert die Signale auf den
beiden Hauptschnittstellen des Systems, nämikh der
•in Eingabe/Ausgabe-Schnittstelle 2 und der Speicher/
Übersetzer-Schnittstelle 3.
Mehrere Eingabe/Ausgabe-Geräte 4-1 bis 4-n sind mit der E/A-Schnittstelle 2 über entsprechende
Geräteanschlüsse 5-1 bis 5-n verbunden. Die Gerätean-4)
Schlüsse 5-1 bis 5-n steuern zusammen mit dem Prozessor die Datenübertragung zwischen dem Prozessor
1 und den E/A-Geräten 4-1 bis 4-n.
Die Speicher/Übersetzer-Schnittstelle 3 koppelt den
Prozessor 1 mit einem Hauptspeicher 8 und einem
">o Verschiebungsübersetzer 9 (Adreßübersetzer). Eine
Schnittstelle 11 koppelt den Adreßübersetzer 9 mit einem asynchronen Speicher 10. Der Hauptspeicher 8
enthält einen inneren Speicherteil 14 (Innenspeicher) und einen äußeren Speicherteil 15 (Außenspeicher).
>) Eine Schnittstelle 12 koppelt den Prozessor 1 mit dem
Hauptspeicher 8, um die Datenübertragung zwischen dem Prozessor und dem inneren Speicher 14 zu steuern.
Eine Schnittstelle 13 koppelt den Hauptspeicher 8 mit dem Adreßübersetzer 9. um die Datenübertragung
^f) zwischen dem Prozessor 1 und dem äußeren Speicher 15
zu steuern, Eine Bedienkonsole 6 ist mit dem Prozessor über eine Schnittstelle 7 gekoppelt.
Die Schnittstelle 2 enthält eine E/A-Aoreßsammellel·
tung, eine E/A-Datensammelleitung und führt ■>>
E/A-Schnittstellensteuersignale, die noch genauer im Zusammenhang mit Fig. 2 beschrieben werden. Die
Schnittstelle 3 enthält eine Hauptspeichersammelleitung und Steuersignalsammelleitungen zwischen Pro-
zessor und Übersetzer. Die Schnittstellen 12 bzw. 13 sind der Weg für die Innenspeichersteuersignale und die
Außenspeichersteuersignale während der Datenübertragungen. Die Schnittstelle 11 enthält eine Datenausgangssammelleitung
und eine Dateneingangssammelleitung zusammen mit Schnittstellensteuersignalleitungen.
Soweit diese Schnittstellen mit der vorliegenden Erfindung zu tun haben, werden sie nachfolgend
beschrieben.
DatenfluQ im Prozessor
(Fig. 2Λ bis 2H)
(Fig. 2Λ bis 2H)
Der Prozessor enthält ein Rechenwerk (Al.U) 51
(Fig. 2t) konventioneller Bauweise. Ein Paar Eingangsregister
ist für das Rechenwerk 51 vorgesehen, und zwar das WA-Register 52 und das Y-Register 53, und diese
Register sind über die Sammelleitungen 54 und 55 mit dem Rechenwerk 51 verbunden. Das Rechenwerk 51
hat eine Ausgangssammelleitung 56, die mit der Prozessorsammelleitung 57 über das UND-Glied 58
verbunden ist. Die Prozessorsammelleitung 57 ist an die Register 52 und 53 durch die UND-Glieder 60 und 61
gekoppelt zur Lieferung der Eingabedaten an das Rechenwerk 51.
Die Prozessorsammelleitung 57 wirkt als Hauptdatensammelleitung für Quellen und Bestimmungsdaten.
Daher ist jede als Quelle wirkende Funktionseinheit des Prozessors mit der Prozessorsammelleitung 57 über ein
UND-Glied verbunden, und jede Funktionseinheit des Prozessors 1, die Bestimmtingseinheit (Empfangseinheit)
sein kann, ist mit der Prozessorsammelleitung über ein anderes UND-Glied verbunden Die meisten
Funktionseinheiten des Systems wirken sowohl als Quelle wie auch als Bestimmung für Daten und sind
daher mit der Prozessorsammelleitung 57 durch Quellen-UND-Glieder und durch Bestimmungs-UND-Glieder
verbunden.
Die Prozessorsammelleitung 57 ist an ein Z-Register 65 angeschlossen über ein Bestimmungs-UND-Glied 66
und ein Quellen-UND-Glied 67. an ein Prozessorspeicherdatenregister
70 über ein Bestimmungs-UND-Glied 71 und ein Quellen-UND-Glied 72. an einen
/ J UUl \_l
ein Quellen-UND-Glied 77. an einen Registerstapel 80 durch ein Bestimmungs-UND-Glied 81 und ein Quellen-UND-Glied
82. an ein Adreßschlüsselregister 85 durch ein Bestimmungs-UND-Glied 86 und ein Quellen-UND-Glied
87, an ein Stufenstatusregister 90 durch ein Bestimmungs-UND-Glied 91 und ein Quellen-UND-Glied
92 und an ein Prozessorspeicheradreßregister 95 durch ein Bestimmungs-UND-Glied 96 und ein Quellen-UND-Glied
97
Die Prozessorsammelleitung 57 ist an die Konsole 6 (F i g. 2A) angeschlossen durch ein Quellen-UND-Glied
100 und eine Schnittstellensammelleitung 7a. Daten werden von der Prozessorsammelleitung 57 an die
Konsole gerichtet über das UND-Glied 66, das Z-Register 65 und die Schnittstellensammelleitung 7b.
Ein Operationsregister 101 (F ig. 2F) ist an die Prozessorsammeüeitung 57 angeschlossen über Quellen-UND-Glied
102. Operationscode werden im OP-Register 101 vom Prozessorspeicherdatenregister 70 über
ein UND-Glied 103 gespeichert Ein Stapeladreßregister 105 (Fi g. 2G) ist mit der Prozessorsammelleitung
57 über ein Bestimmungs-UND-Glied 106 verbunden. F.in Adreßregister 107 für den aktiven (laufenden)
Befehl ist mit der Prozessorsammeileiturg 57 über ein
Quellen-UND-Glied 109 verbunden. Der Eingang des Registers 107 wird auf den Ausgang des Rcgistcrstapcls
80 durch eine Sammelleitung 108 gekoppelt. Eine Speicherschutzanordnung 110 (Fig. 2H) ist mit der
Prozessorsammelleitung 57 durch das Bestimmungs-UND-Glied 111 und das Quellen-UND-Glied 112
verbunden.
Ein Programmstatuswortregister (PSW-Regisler) 115
ist mit seinem Ausgang 116 an die Prozessorsammelleitung
57 angeschlossen über ein UND-Glied 117. Die Eingangssignale zum Register 115 kommen von
verschiedenen Systemprüfeingangsleitungen 120, von einem Schlüsselvergleichsregister 121 und von einer
Speicherprüfbedingungssammelleitung 136.
Eingangssignale zum .Schlüsselvergleichsregister 121
werden vom Speicherschutzregister 110 über die Ausgangssammelleitung 125 der Einrichtung 110 und
von einer Schlüsselwahl-Logikschaltung 126 über eine Sammelleitung 127 geliefert. Der Ausgang 128 vom
Register 85 ist auf einen Eingang der Schaltung 126 gekoppelt, deren zweiter Eingang 129 von den
Cycle-Steal-Schutzkippgliedern 130 (Fig. 2D) kommt.
Die Eingangssammelleitung 129 von den Kippgliedern 130 ist auch mit dem Register 90 gekoppelt. Den
Ausgang der Schlüsselwahi-Logikschaltung 126 wird auch auf den Hauptspeicher 8 und den Adreßübersetzer
9 durch die Ausgangssammelleitung 127 gekoppelt, die einen Teil der Schnittstelle 3 zwischen Speicher und
Überse'zer bildet.
Die Schnittstelle 3 enthält auch eine Synchronisationssammelleitung
135 (F i g. 2H), eine Prüfbedingungssammelleitung 136, eine Adreßsammelleitung 137 und
die Eingabe- und Ausgabesammelleitungen 138 und 139. Der Ausgang 140 des Prozessorspeicheradreßregisters
95 ist über das UND-Glied 141 mit der AdreBsammelleitung
137 gekoppelt. Das Cycle-Steal-Speicheradreßregister
142 ist mit seinem Ausgang 143 über das UND-Glied 144 an die Adreßsammelleitung 137
angeschlossen.
Der Eingang eines Null-Detektors 150 (Fig. 2C) ist
mit der Prozessorsammelleitung 57 gekoppelt und der Ausgang 151 mit der Steuerschaltung 152 für bedingte
Verzweigungen (Fig. 2A). Der Ausgang 151 des
I 3 I JV 131 α U UCt UClII Hill UCIIl
Ergebnisanzeigeschaltung 153 (F i g. 2G) verbunden. Ein zweites Eingangssignal 154 zur Ergebnisanzeigeschaltung
153 wird abgeleitet von einem Ausgangssignal des Prozessors 51. Die Prozessorsammelleitung 57 bildet
auch einen Eingang zur bedingten VerzweigungsschaJ-tung
152.
Der Ausgang 160 des Zählers 75 (Fig. 2F) liefert
Eingangssignale zu einem Anhalte-F7A-Decodier<;r 161
und zu den Cycle-Steal-Speicberadreßregistern 142.
Der Ausgang 162 des Decodieren 161 ist mit einer Schnittstellensteuerschaltung 239 (F i g. 2D) verbunden.
Die Eingangsdatensammelleitung 138 vom Hauptspeicher ist mit dem Prozessorspeicherdatenregister 70
(Fig. 2E) über ein UND-Glied 165 und mit dem Cycle-Steal-Speicherdatenregister 166 über ein UND-Glied
167 verbunden. Der Ausgang 168 vom Prozessorspeicherdatenregister 70 ist mit der Ausgangsdatensammelleitung
139 zum Hauptspeicher verbunden über ein UND-Glied 169. Das Register 166 ist über ein
UND-Glied 170 mit der Sammelleitung 139 gekoppelt Die Ausgänge der Register 70 und 166 sind ebenfalls mit
der Speicherparitätsprüfschaltung 171 (Fig.2F) verbunden.
Die Prüfschaltung 171 liefert Paritätsbits auf die Ausgangsdatensammeileitung 139, wenn kein Paritätsfehler
vorliegt und sie gibt ein Ausgangssignal auf die
Leitung 173, wenn eil) Speicherparitätsfehler erkannt
wird.
Ein Maskenregister 175 (Fig. 2A) ist mit der Prozessorsammelljitung 57 (Bits 12, 13) über die
Eingangs- und Ausgangstore 176 und 177 verbunden. Der Ausgang 178 des Maskenregisters 175 ist auch mit
einem Aktivstufenregister 181 über die Treiberschaltungen t&\ ind ein Sammelleitung 182a verbunden.
Ein Vcrwahlstufenregister 185 ist mit der Prozessorsammelleitung 57 (Bits 14, 15) über den Eingang
gekoppelt. Ein Ausgang 185a des Registern 185 ist mit dem Stapel-Adreßregister 105 (Fig. 2G) über eine
torschaltung 185b verbunden. Der Ausgang 185a ist außerdem mit dem Aktivstufenregister 181 über die
Decodierschaltung 190 und den Ausgang 191 der Decodierschaltung 190 verbunden. Der Ausgang 192
des Aktivstufenregisters 181 ist mit dem Festspeicher-Adreßregister (ROSAR) 193 (F i g. 2B) einei Mikroprogrammsteuerung
200 des Prozessors 1 verhnnrlrn Drr Ausgang 181a des Registers 181 ist mit dem
Stapel-Adreßregister 105 über eine Torschaltung 181 b
verbunden, wobei durch den Codierer 18Ic eine Reduzierung von vier auf zwei Bits erfolgt.
Die Mikroprogrammsteuerung 200 enthält einen Restspeicher (ROS) 201, der mit der Prozessorsammelleitung
57 über ein ROS-Ausgabedatenregister 20? und
ein Quellen-UND-Glied 203 verbunden ist. Ein zweiter Ausgang 204 des ROS-Ausgabedatenregisters 202 ist
mit einer Quellen-Decodierschaltung 205, einer Bestimmungs-Decodierschaltung
206. einer Speichersteuer-Decoc":erschaltung 207, einer Rechenwerk-Funktions-Decodierschaltung
208, weiteren Steuerdecodierschaltungen 209 und dem Festspeicher-Adreßregister (RO-SAR)
193 verbunden.
Die Adresse für den Festspeicher ROS 201 wird vom ROSAR 193 über die Sammelleitung 212 zu einer
Adreßdecodierschaltung 213 gegeben. Die Eingänge eines ersten Verbindungsregisters 210 und eines zweiten
Verbindungsregisters 211 sind mit dem ROSAR 193 über die Sammelleitung 212 gekoppelt. Diese Register
haben Ausgänge 214, 215. Das Prozessorspeicherdatenregister 70 (F i g. 2E) bildet einen weiteren Eingang zum
RGSAR i95 über die Sammelleitung Ii. Die bedingte
Verzweigungsschaltung 152 bildet einen Eingang zum ROSAR 193 über die Sammelleitung 216.
Die Quellen-Decodierschaltung 205 enthält die Ausgangsquellensteuerleitungen 231, über die die
verschiedenen Quellen-UND-Glieder (wie das UND-Glied 102) für den Zugriff zu Quellendaten gesteuert
werden. Der Bestimmungsdecodierer 206 enthält Ausgangsbestimmungssteuerleitungen 232, die verschiedene
Bestimmungs-UND-Glieder (wie das UND-Glied 76) zur Weitergabe von Bestimmungs-Daten an
die richtigen Register oder andere Funktionseinheiten steuern. Die Rechenwerk-Funktions-Decodierschaltung
208 enthält Rechenwerk-Funktionssteuerleitungen 233, über die die verschiedenen Funktionen des Rechenwerkes
während der Prozessorzyklen gesteuert werden Die Bestimmungssteuerungen. Quellensteuerungen und
Rechenwerk-Funktionssteuerungen werden nachfolgend noch insoweit genauer beschrieben, als sie mit der
Erfindung der vorliegenden Anmeldung zu tun haben.
Die Speichersteuer-Decodierschaltung 207 hat einen Ausgang 235, der mit einer Speichersteuerschaltung 236
verbunden ist, die einen zweiten Eingang 237 aufweist,
der mit der Decodierschaltung 209 verbunden ist, und
einen dritten Eingang 238 von der Kanalschnittstellensteuerschaltung
239 (F i g. 2D). Die Sammelleitung 238 ist in beiden Richtungen benutzbar (Zweirichtungs-Leitung)
und wird während der Datenübertragungen zwischen den E/A-Geräten 4-1 bis 4-10 und dem
Prozessor 1 benutzt. Die Schnittstellensammelleitung 12 und die Synchronisationssammelleiluiig 135 sind beide
mit der Speichersteuerschaltung 236 gekoppelt.
Die Decodierschaltungen 209 haben einen Statussteuerausgang 240, einen Abtastunterbrechungs-Anforderungsausgang
241 und einen Fehleranzeigeausgang 242. Außerdem ist ein Ausgang 243 von den Decodierschaltungen 209 mit den Taktsteuerschaltungen
245 (Fig. 2C) gekoppelt. Ein Kristalloszillator 246 liefert Signale an einen Frequenzteiler 247, der
seinerseits mit dem Eingang der Taktsteuerung 245 gekoppelt ist und die Taktinipulse für den Datenfluß und
die Steuerungen des Prozessors I liefert. Diese Taktimpulse für den Datenfluß und die Steuerungen des
Prozessors werden über die Ausgangsleitungen 248-1 ri#»r
245
eüefer!. Die
Synchronisationcsammelleitung 135 ist mit der Taktsteuerschaltung
245 gekoppelt. Sie ist eine Zweirichtungs-ÜbertragungsIeitung.
Die Kanalschaltungsanordnung 250 (Fig. 2Λ, 2D)
wird anschließend im einzelnen beschrieben. Sie enthält mehrere Treiber- und Empfängerschaltungen 251 bis
256. die mit den verschiedenen Einzelleitungen und Sammelleitungen der E/A-Schnittstelle 2 gekoppelt
sind. Der Empfänger 251 ist mit einer Anforderungseingangssammelleitung 261 (Bits 0 bis 3) gekoppelt, der
Empfänger 252 mit einer Anforderungseingangssammelleitung 262 (Bit 16). Eine Gruppe von Treiber- und
Empfängerschaltungen 253 ist mit der Aufrufleitung 263, der Aufrufrückleitung 264 und der Bündelrückleitung
265 verbunden. Die Treiberschaltung 254 ist mit der Aufrufidentifiziersammelleitung 266 (Bits 0 bis 4)
gekoppelt. Die Treiber- und Empfängerschaltungen 255 sind mit den Leitungen 267-1 bis 267-10 verbunden, bei
denen es sich um die Leitungen für das Serviceschaltsignal, das Serviceschalt-Rücksignal, das Adreßschaltsignal.
das Adreßschalt-Rücksignal, das Datentastsignal, das Anhalte- oder Maschinenfehlersignal, das Systemrückstellsignal,
das Wort/Byte-Anzeigesignal, das Eingangs/Ausgangsanzeigesignal
und die Leitungen für die Bits 0 bis 3 der Cycle-Steal-Zustandssammelleitung
handelt. Die Empfänger 256 sind mit der Bedingungscode-Eingangssammelleitung 268 (Bits 0 bis 2) verbunden.
Die E/A-Schnittstelle 2 enthält auch eine Datensammelleitung 269, eine Adreßsammelleitung 270 (Bits 0 bis 15)
und eine Adreßsammelleitung 272 (Bits 16) sowie eine Stromeinschalt-Rückstelleitung271.
Die Datensammelleitung 269 ist mit dem Eingang eine- E/A-Schnittstellen-Paritätsprüf- und Paritätsgeneratorschaltung
275 verbunden. Die Schaltung 275 enthält einen ersten Ausgang 276, der Paritätsbits an die
E/A-Schnittstellen-Datensammelleitung 269 liefert, wenn kein Fehler in den von dem E/A-Gerät an den
Prozessor 1 übertragenen Daten vorliegt.
Die Schaltung 275 enthält einen zweiten Ausgang 277, der ein Signal liefert, wenn ein Paritätsfehler auf der
Datensammelleitung 269 auftritt. Die Datensammelleitung 269 ist mit der Prozessorsammelleitung 57 über ein
Quellen-UND-Glied 278 verbunden. Die Datensammelleitung 269 ist mit dem Eingang des Cycle-Steal-Speicherdatenregisters
166 über das UND-Glied 280 und mit dem Ausgang dieses Registers über das UND-Glied 27S sowie mit dem Ausgang 55 des
Y-Registers 53 über das UND-Glied 281 verbunden.
Die Adreßsammelleitung 270 ist mit dem Eingang des
Cycle-Steal-Speicheradreßregisters 142 und mit dem
Ausgang des Zählers 75 über eine Torschaltung 273 gekoppelt.
Der Ausgang 182έ> der Empfängerschaltung 251 ist
mit einem Eingang des Registers für die aktive Stufe (181) über ein UND-Glied 187c gekoppelt, dessen
anderer Eingai.g der Maskentreiberausgang 182a ist. Die Treiber- und Empfängerschaltungen 252, 253, 254
sind mit einer Aufruffolge-Steuerschaltung 285 gekoppelt. Das Register 181 für die aktive Stufe bildet einen
weiteren Eingang für die Schaffung 285 über den Ausgang 181s. Eine Anfordeningsbestätigungsleiuing
286 bildet einen weiteren Eingang zur Aufruffolgt.-Steuerschaltung
285, die ebenfalls mit der Schnittstellen steuerschaltung 239 über eine Leitung 289 verbunden
ist. liine Steuerschaltung 288 für die Schnittstellen-f'olgesteuerung
und zur Zeitlimitierung (Abschaltung nach vorgegebener Maximalzeit) ist mit der Aufruffolge
Steuerschaltung 285 über eine Leitung 287 verbunden.
UMULl CIIICt
weiteren Eingang für die Steuerschaltung 285.
Die Leitungen 290-1 bis 290-10 koppeln die [reiber
und Empfängerschaltungen 255 mit der Schnittstellensteuerschaltung 239.
Die Prozessorsammelleitung 57 ist 16 Bits breit und
dient zur Informationsübertragung zwischen Quellen- und Bestimmungseinheiten im Dater.fluß des Prozev
sors, die durch Mikroprogrammsteuerung ausgewählt sind.
Das Operationsregister (OP-REG) 101 ist 16 Bits lang und enthält das erste Befehlswort einschließlich der
Registeradreßargumente für den Registerstapel 80 während der Befehlscodierung. Es wird außerdem als
Datenzwischenregister benutzt, wenn es nicht das erste Befehlswort enthält. Sein Ausgang ist eine der Quellen
für die Prozessorsammelleitung 57. Es empfängt seine Daten vom Speicherdatenregister 70.
Das Rechenwerk ist 16 Bits breit und führt arithmetische und logische Funktionen aus nach
Vorschrift durch die Befehle. Sein Ausgang 56 ist eine weitere Quelle für die Prozessorsammelleitung 57. Es
empfängt seine Eingangsdaten vom WA-Register 52 und vom Y-Re2ister53.
Das WA-Registcr 52 ist 16 Bits lang. Es ist der primäre Eingang für das Rechenwerk 51 für arithmetische
und logische Operationen. Es empfängt seine Eingangsdaten als Bestimmungseinheit von der Prozessorsammelleitung
57.
Das Y-Register 53 ist 16 Bits lang. Es ist der Sekundäreingang für das Rechenwerk 51 für arithmetische
und logische Operationen. Mit dem WA-Register 52 zusammen übernimmt es die Verschiebung bei
Doppelwort-Schiebeoperationen. Es empfängt seine Eingangsdaten als Bestimmungseinheit von der Prozessorsammelleitung
57. Dieses Register 53 stellt auch die Datenbahn dar für ausgehende Daten an die E/A-Datensammelleitung
269 für die direkten E/A-Operationen unter Programmsteuerung.
Das Prozessorspeicherdatenregister (PROZ.-SDR) 70
ist 16 Bits lang, und durch dieses Register werden alle Daten vom und zum Hauptspeicher (mit Ausnahme der
Cycle-Steal-Daten) übertragen. Das erste Wort eines jeden Befehls, der vom Hauptspeicher 8 geholt wird,
wird durch dieses Register 70 in das OP-Register 101 übertragen. Während anderer Prozessoroperationen
dient das Register 70 auch als DatenzwischenspeJcher.
Es kann daher seine Eingabedaten als Bestirrunungseinheit von der Prozessorsammelleitung 57 empfangen,
und es gibt Daten als Quelle auf diese Prozessorsammei leitung 57 aus.
Das Cycle-Steal-Speicherdatenregister (CS-SDR) 166
ist 16 Bits lang, und durch dieses Register werden alle Daten vom und zum Hauptspeicher 8 über die
E/A-Datensammelleitung 269 und über die Speichereingabe- oder Ausgabesammelleitung 138 bzw. 139
während der Cycle-Steal-Operationen übertragen.
Die acht wertniederen Bits des 16 Bits langen Zählers
75 werden bei Protokollierung der verschiedenen Prozessoroperationen als Zähler und auch als vorüber
gehendes Speicherregister für andere Prozessproperationen benutzt. Es handelt sich daher um eine Quelle-
und Bestimmungseinheit für die Pro/.essorsammcllei
lung 57 und wird auch /um Festhalten der Gerüleadres
se für die Gerätewahl benutzt. Der E/A-Befehl wird über die Torschaltung 273 an die E/A-Adreßsammellc;
tung 270 während der direkten Programinsteueroperntionen
geleitet
Das rm/.csMii tpesuieiiiureui eg
(PRf)Z.-SA R;
95 ist ein 16 Bit langes Register, in dem primär die
Hauptspeicheradresse festgehalten wird. Der Inhalt des Registers wird über die Torschaltung 141 an die
Speicheradreßsammelleitung 137 für .Speicherzugriffe
während der normalen Verarbeitung und der direkten Programmsteueroperationen übertragen. Außerdem
dient dieses Register als vorübergehendes Speicherdatenregister, wenn es nicht für die Adressierung des
Hauptspeichers benutzt wird.
DasCycle-Steal-Speicheradreßregister(CS-SAR) 142
ist 16 Bits lang und hält die über die E/A-Adreßsammelleitung
270 vom E/A-Gerät während der Cycle-Steal-Datenübertragungsoperationen
übertragene Hauptspeicheradresse. Der Registerinhalt wird über die Torschaltung 141 an die Speicheradreßsammelleitung
137 nur für Speicherzugriffe im Cycle-Steal-Verfahren
übertragen.
Das 16 Bits lange Z-Register 65 dient hauptsächlich zum Festhalten der Daten für die Bedienungsdatenanzeige
(nicht dargestellt) dt/ Konsole 6. hs wird außerdem als vorübergehendes Speicherregister bei
anderen Prozessoroperationen benutzt unr' ist QuellennnH
Rpstimmunpspinhpit für dip Pro7P.s<;r>r<;amme.llpitung57.
Der Registerstapel 80 in F i g. 3 ist eine Anordnung monolithischer, bistabiler Speicherglieder (Kippglieder)
zum Festhalten der Registerinhalte des Stufenstatus (SSR), des Adreßschlüssels (ASR) und der Befehlsadresse
(BAR) für jede der vier Unterbrechungsstufen. Er enthält außerdem Arbeitsregister, die vom Mikroprogramm
benutzt werden, d. h.. TEMP,TEMPI ... TEMP3, DBUF, SOAl, SOA2. sowie Register zur Rettung
(Abspeicherung) der aktiven Stufe und des Adreßschlüssels, organisiert nach Darstellung in F i g. 3.
Die Register TEMP und TEMPI... TEMP3 enthalten vom Mikroprogramm während der normalen Verarbeitung
benutzte Kurzzeitdaten. SOAl enthält die manuell eingegebene Adresse, die für die Adreß-Stopoperationen
zu benutzen ist SOA2 enthält den Konsolenspeicherschlüssel in den unteren drei Bits, die übrigen
Bits sind Null. Das DBUF-Register ist der Konsolendatenpuffer. Der Inhalt dieses Puffers speist die Datenanzeiger
(nicht dargestellt) auf der Konsole 6. Das Register für die aktive Stufe enthält die Kennzeichnung
der Stufe, die bei Eintritt des Stopzustandes aktiv war. Das ASR-Register enthält eine Kopie des Adreßschlüssels
der aktiven Stufe.
Die Daten in den Registern SSR, ASR und BAR des
Il
StapiSs 80 für die aktive Stufe werden ebenfalls in zugeordneten, als separate Schaltungen ausgebildeten
Registern 90,85,107 aus l.eistungsgründen festgehalten.
d.h., um die Anzahl der Stapelzugriffe zu reduzieren. Der Stapel 80 des Ausführungsbeispiels besteht aus zwei
Gruppen zu je 64 χ l) Speichcrplir.· ■■■!■ in Parallelschaltung
zur Bildung einer Speichergruppe von 64x18 Speicherplätzen.
Das Stapeladreßregister 105 ist ein sechs Bits langes Register zur Adressierung des Stapels 80. Die
Eingangsdaten zum Register 105 kommen von einer Addicrschaltung 120 über ein Stapelverbmdiingsregister
321 und eine Torschaltung 322. vom Register 185 für die vorgewählte Stufe über die Sammelleitung 185.)
und die Torschaltung 18"5/i. vom Register 181 für die
aktive Stufe über die Sammelleitung 181;/ und die Torschaltung 1816, vom OP-Rcgister 101 über die
Sammelleitung 101,nind die Torschaltung lOl/mnd von
der Prozessorsammelleitung 57. Das Stapeladreßregi Mci IGj wild von uet rio/.essorsanimeiieimng 57 über
die Torschaltung 106 geladen.
Das separate Stufenstatusregister (SSR) 90 ist ein Ib
Bit langes separates Register zum Festhalten des aktiven Stufenstatus. Während der Arbeit auf einer
bestimmten Stufe ändert sich der Inhalt des Registers SSR 90 aufgrund arithmetischer und logischer Operationen.
Das Aktivstufenregister im Registerstapel 80 bleibt unverändert, bis ein Stufenwechsel erfolgt. Zu diesem
Zeitpunkt wird der Inhalt des SSR-Registers 90 in das SSR-Register im Registcrstap- M 80 der verlassenen
?tufe gesetzt, und der neue Stufenuatus vom Registerstapcl
80 wird in das SSR-Register 90 gesetzt.
Ein Teil des Inhaltes des SSR-Registers 90 ist
folgender:
Tabelle 1
Stufenstaiusregister
Stufenstaiusregister
Bit Bedeutung
Geradeanzeiger
Übertragsanzeiger
ÜDeriautanzeiger
Anzeiger negatives Ergebnis Anzeiger Null-Ergebnis
Überwachungszustand
In Verarbeitung Zustandssteuerungen Protokollierung
Summenmaske
Die Ergebnisanzeiger werden von den Programmen für die Entscheidungsfindung benutzt.
Die Anzeige für »Gerade«, »Übertrag« und »Überlauf« werden auch bei E/A-Operationen benutzt, um die
an den Prozessor 1 von den E/A-Geräten 4-1 bis 4- η
gesendeten Bedingungscodes festzuhalten.
Während der Ausführung eines E/A-Befehls werden folgende Bedingungscodewerte den Anzeigern für
»Gerade«, »Übertrag« und »Überlauf« zug .ordne»:
Tabelle 2 | Ge | Über | Über | Bedeutung |
Beilin- | rade | trag | lauf | |
gungs- code |
0 | 0 | 0 | Gerät nicht |
0 | angeschlossen | |||
0 | fl | I | Belegt | |
1 | 0 | 1 | 0 | Belegt nach |
2 | Rückstellung | |||
0 | 1 | I | Kommando | |
3 | zurückweisung | |||
] | (I | 0 | Eingreifen | |
4 | erforderlicn | |||
I | (I | I | Schnittstellendaten | |
prüfung | ||||
1 | 1 | η | Steuerung belegt | |
b | 1 | 1 | 1 | Zufriedenstellend |
7 | ||||
Während der Unterbrechungsannahme werden alle Bedingungscodes durch das betreffende Gerät abgegeben.
Die Anzeiger für »Gerade«. »Übertrag« und »Überlauf« erhalten dann folgenden Bedingungscodewerte zugeordnet:
BeJm- | Ge | Über | Über | Bedeutung |
gtngs- | rade | trag | lauf | |
0 | 0 | 0 | 0 | Steuerung Ende |
1 | 0 | 0 | 1 | Programmgesteuerte |
Unterbrechung | ||||
2 | 0 | 1 | 0 | Ausnahme |
3 | 0 | I | 1 | Geräteende |
4 | 1 | 0 | 0 | Achtung |
5 | 1 | 0 | 1 | Achtung und |
programmgesteuerte | ||||
Unterbrechung | ||||
6 | 1 | 1 | 0 | Achtung |
und Ausnahme | ||||
7 | 1 | 1 | 1 | Achtung und |
Geräteende |
Bit
0 Geradeanzeiger
1 Übertragungsanzeiger
auf Eins gesetzt, wenn das wertniedere Bit des Ergebnisses
Null ist, sonst auf Null gesetzt.
auf Eins gesetzt, wenn das Ergebnis von Additionen oder
Subtraktionen nicht als Zahl ohne Vorzeichen dargestellt
werden kann, sonst auf Null sesetzt.
14
Forisetzunc
Bii
2 ijberlaufanzeiger
3 Negativanzeiger
4 Nullanzeiger
8 Überwachungszustand
9 In Verarbeitung
10 Protokoll
11 Summenmaske
auf Eins gesetzt, wenn das Ergebnis einer Rechenoperation nicht als Zahl mit Vorzeichen dargestellt werden kann,
sonst auf Null gesetzt.
auf Eins gesetzt, wenn Bit Null des Ergebnis Eins ist, sonst
auf Null gesetzt.
auf Eins gesetzt, wenn das Ergebnis aus lauter Nullen besteht, sonst auf Null gesetzt.
auf Eins gesetzt, sobald der Prozessor 1 in den Überwachungszustand
eintritt. Der Eintritt in den Überwachungszustand erfolgt, wenn:
ein Überwachungsaufrufbefehl ausgeführt wird,
eine Klassenunterbrechung auftritt,
eine E/A-Unterbrechung angenommen wird.
ein Überwachungsaufrufbefehl ausgeführt wird,
eine Klassenunterbrechung auftritt,
eine E/A-Unterbrechung angenommen wird.
dieses Bit wird ein- oder ausgeschaltet durch das entsprechende Bit im SSR des Speicherstufenstatusblocks
(SSB) sobald der Ladebefehl für den Stufenstatusblock (SSB-LD) ausgeführt wird. Dieser Befehl lädt einen SSB
vom Speicher 8 in den SSB der bezeichneten Stufe im Stapel 80.
dieses Bit wird durch das entsprechende Bit im SSR-Register des Speichers SSB gesetzt oder zurückgestellt,
sobald der lokale Stufenstatusblock ausgeführt ist. SSB-LD lädt einen SSB vom Speicher 8 in die bezeichnete Stufe
SSB im Stapel 80.
wenn die Summenmaske gleich Null ist, werden alle Prioritätsunterbrechnungen auf allen Stufen abgeschalteL
Wenn die Maske gleich Eins ist, werden alle Prioritätsunterbrechungen auf allen Stufen eingeschaltet. Die Summenmaske
wird durch folgende Vorgänge auf Eins gesetzt (eingeschaltet):
Ausführung des Freigabebefehls mit Bit 15=1.
Systemrückstellung, Rückstellung bei Stromeinschaltung, IPL
Systemrückstellung, Rückstellung bei Stromeinschaltung, IPL
Ausführung eines SSB-LD-Befehls, wobei Bit 11 des Speicher-SSR=1.
Annahme einer Prioritätsunterbrechung auf der unterbrechenden Stufe.
Die Summenmaske wird durch folgende Vorgänge auf Null gesetzt (abgeschaltet):
Ausführung des Aufrufbefehls für das Überwachungsprogramm (SVC).
Ausführung des Sperrbefehls mit Bit 15=1.
Jede Klassen-Unterbrechung:
Maschinenfehler
Programmfehler
Weiche Ausnahmeverzweigiing
Stromthermowarnung
Überwachungsaufruf
Protokollierung
Konsole
Jede Klassen-Unterbrechung:
Maschinenfehler
Programmfehler
Weiche Ausnahmeverzweigiing
Stromthermowarnung
Überwachungsaufruf
Protokollierung
Konsole
Ausführung des SSB-LD-Befehls mit Bit U des Speicher-SSR = O.
Der Prozessor 1 betrachtet die Zahlen nicnt als solche
mit oder ohne Vorzeichen, sondern führt die bezeichneten Operationen auf den gegebenen Werten aus. Alle
Anzeiger geben das Ergebnis der Operation wieder. Dadurch kann der Programmierer Ergebnisse des
ausgeführten Operationstyps überprüfen.
Das Programmstatuswortregister (PSW) 115 ist 16 Bits lang und enthält Fehler- und Ausnahmeinformation,
die zu einem Programmfehler, einem Maschinenfehler, einer weichen Ausnahmeverzweigung oder zum Auftreten
einer Stromthermowarnung führt Drei Statuskennzeichen sind ebenfalls im PSW-Register 115 enthalten.
Das PSW-Register 115 wird über separate Schaltungen
und vom Mikroprogramm abgefühlte Bedingungen gesetzt.
Tabelle 5 | Bit | Bedeutung |
Prozessorstatuswort | 0 | Spezifikationspro fung |
1 | Ungültige Speicheradresse | |
2 | Vorrecht verletzt | |
3 | Schutzfehler | |
Programmfehler | 4 | Ungültige Funktion (entweder Programmfehler oder weiche Ausnahme) |
5 | Gleitkomma-Ausnahme | |
6 | Stapelausnahme | |
7 | Reserviert | |
Weiche Ausnahme | 8 | Speicherparitätsprüfung |
Verzweigung | 9 | Reserviert |
10 | Prozessorsteuerprüfung | |
Maschinenfehler | 11 | E/A-Prüfung |
12 | Reihenfolgeanzeiger | |
13 | Auto-IPL | |
14 | Übersetzer eingeschaltet | |
Statuskennzeichen | 15 | Strom/Thermowarnung |
Strom/Thermo | ||
Das Adreßschiüsselregister (ASR) 85 in F i g. 2G ist
ein 16 Bit langes separates Register und enthält während der Verarbeitung auf einer Stufe jeweils den
Adreßschlüssel der aktiven Stufe. Das ASR-Register 85 35 Tabelle liefert den Adreßschlüssel, der in der Schaltung 121 mit
dem Schutzschlüssel der Speicheranordnung 110 verglichen
wird. Dieser Vergleich wird für jeden Speicherzugriff mit Ausnahme der Cycle-Steal-Operationen
vorgenommen. Das Schlüsselfeld (ISS) des ASR für den Befehlsadreßbereich wird ebenfalls als Konsoladreßschlüssel
für manuelle Speicherzugriffe von der Konsole 6 aus benutzt
nächste Befehlsadresse fortgeschrieben. Sollte die vollständige Ausführung des laufenden Befehls durch
eine Klassenunterbrechung gestoppt werden, wird die Klassenunterbrechung verarbeitet und dann mit dem
Inhalt des LBAR-Registers 107 der unterbrochene Befehl wieder adressiert und dann noch einmal
ausgeführt
Die Speicherschutzanordnung 110 (Fig.2H) besteht
aus 32 Speicherschlüsselregistern (nicht dargestellt). Die Anordnung wird eingeschaltet, wenn der Speicherschutz
eingebaut und freigegeben ist Jedes Register enthält den Schutzschlüssel und ein Nur-Lesebit, um
einen 2048 Byte großen Block des Speichers 8 anzusteuern. Der Speicherschlüssel-Eingabebefehl setzt
den Schlüssel und das Nur-Lesebit in ein bestimmtes Speicherschlüsselregister. Der Speicherschlüssel-Kopierbefehl
liest ein bestimmtes Speicherschlusir^regi-
ster aus. Das Aktiv-Stufenregister 185 (Fig.2A) besteht aus
einem zwei Bit großen Register, in dem der Anzeiger für die aktive, gegenwärtige wirksame Stufe festgehalten
wird. Das Register 185 wird geladen, sobald die Stufe wechselt Das Register 185 wird bei der Adressierung
des Stufenstatusblocks im Speicherstapel 80 und auch bei der Entscheidung über eine Unterbrechungsannahme
benutzt Für den letzteren Zweck wird ein Zwei-in-Vier-Bit-Stufendecodierer 190 verwendet Das
Register 185 ist eine Quellen- und Bestimmungseinheit für die Prozessorsammelleitung 57.
Das Maskenregister 175 (Fig.2A) ist ein vier Bit
langes Register und dient dazu, die Prioritätsunterbrechungen auf den vier Unterbrechungsstufen wie folgt
freizugeben oder zu sperren:
Tabelle 6
Adreßschiüsselregister
Adreßschiüsselregister
Bit 0 = 0 Stufe 0
Bit 1=0 Stufe 1
Bit 2 = 0 Stufe 2
Bit 3 = 0 Stufe 3
Bit 0=1 Stufe 0
Bit 1 = 1 Stufe 1
Bit 2 = ! Stufe 2
Bit 3=1 Stufe 3
Bit 1=0 Stufe 1
Bit 2 = 0 Stufe 2
Bit 3 = 0 Stufe 3
Bit 0=1 Stufe 0
Bit 1 = 1 Stufe 1
Bit 2 = ! Stufe 2
Bit 3=1 Stufe 3
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
Unterbrechungen
gesperrt
gesperrt
gesperrt
gesperrt
freigeben
freigeben
freigeben
freigeben
Bedeutung
0 Operandenbereiche Gleichsetzung
5 Operand 1 Schlüsselbit 0
6 Operand 1 Schlüsselbit 1
7 Operand 1 Schlüsselbit 2
9 Operand 2 Schlüsselbii 0
9 Operand 2 Schlüsselbii 0
10 Operand 2 Schlüsselbit 1
11 Operand 2 Schlüsselbit 2
13 Befehlsbereichschlüsselbit 0
14 Befehlsbereichschlüsselbit 1
15 Befehlsbereichschlüsselbit 2
Das Adreßregister für den laufenden (akuten) Befehl (LBAR) 107 (Fig. 2G) enthält die Adresse des
ausgeführten Befehls. Das LBAR-Register 107 wird am Anfang eines jeden Befehls geladen, und während der
Ausführung wird das Stufen-BA R im Stapel 80 auf die Die Bits im Maskenregister 175 werden durch den
Maskenladebefehl gesetzt. Das Register ist eine Quellen- und Bestirnmungseinheit für die Prozessorsammelleiti'ng
57.
Die Maskenregiiterausgänge 178 sind ebenfalls mit den Maskentreibern 180 verbunden, so daß die vier Bits
des Maskenregisters 175 mit den entsprechenden Prioritätsunterbrechungsanforderungsbits von den
E/A-Schnittstellenumpfängern 251 und der Sammelleitung
261 UND-verknüpft werden können, um die Unterbrechungsannahme festzulegen.
Ein Kristalloszillator 246 erzeugt eine Taktgrundfrequenz für den Prozessor 1. Ein Frequenzteiler 247
erzeugt die freilaufenden Taktimpulse A, B, C und D nach Darstellung in F i g. 8. Der obere Pegel bezeichnet
die logische Eins. Die Impulse dauern 55 Nanosekunden und erscheinen alle 220 Nanosekunden.
Die Taktsteuerungen 245 steuern das Stoppen und Starten der Taktinipulse, verteilen die Taktimpulse auf
den Datenfluß und die Steuereinrichtungen und erzeugen bestimmte Spezialtaktimpulse für die Haupt-
speichertaktierung. Die geschalteten Taktimpulse haben
dieselbe Form wie die oben beschriebenen Impulse A, B, C und D, können jedoch durch Bedingungen
gestoppt und gestartet werden, die in Mikroprogramm entstehen.
Die Sammelleitungs-Null-Detektorschaltung 150 besteht
aus einer Gruppe von logischen Elementen, die feststellen können, ob der Wert auf der Prozessorsammelleitung
Null ist Ihr Ausgangssignal wird vom Mikroprogramm bei der Entscheidungsfindung verwendeL
Die Paritätsprüf- und Paritätsgeneratorschaltung 171 prüft alle vom Hauptspeicher 8 durch den Prozessor
empfangenen Bytes auf ungerade Parität und erzeugt die Parität für alle Bytes, die vom Prozessor 1 an den
Hauptspeicher 8 gesendet werden. Das Erkennen eines Paritätsfehlers bei einkommenden Daten setzt das
Speicherparitätsbit im PSW-Register 115 und löst eine Unterbrechung in der Klasse Maschinenfehler aus. Das
Erkennen eines Paritätsfehlers in der Cycle-Steal-An-Ordnung
führt dazu, daß dem aktiven E/A-Gerät eine Fehlerbedingung signalisiert wird.
Die E/'A-Schnittstellen-Paritätspriif- und Paritätsgeneratorschaltung
275 prüft alle über die E/A-Schnittstellendatensammelleitung
2 empfangenen Bytes auf ungerade Parität Sie erzeugt die ungerade Parität für
alle über die E/A-Schnittstellendatensammelleitung 2
übertragenen Bytes Wenn auf hereinkommenden Daten ein Paritätsfehler erkannt wird, wird die Fehlerbedingung
dem aktiven E/A-Gerät signalisiert.
Der Anhalt-rl/A-Decodierer 161 decodiert den
Anhalt-E/A-Befehl, der d:rch df. Kanal 250 und nicht
durch ein E/A-Gerät ausgeführt wird. Dadurch werden
alle E/A-Geräte 4-1 bis 4-n rücJ gestellt, die an das
System angeschlossen sind.
Mit der Schlüsselwahllogik 126 wird einer der drei ASR-Schlüssel im Register 85 oder der Cycle-Steal-Schlüssel
über die Sammelleitung 129 für den Hauptspeicherzugriff gewählt. Während der Cycle-Steal-Operationen
wird der E/A-Cycle-Steal-Schlüssel an den
Prozessor 1 auf der Bedingungscodegangssammelleitung 268 der E/A-Schnittstelle 2 übertragen. Die
Ausgangsdaten 127 dieser Schaltung 126 werden an den Übersetzer 9 und an die Schiüsselvergleichsschaltung
121 gesendet.
In der Schiüsselvergleichsschaltung 121 wird der gewählte Schlüssel mit dem Speicherschutzschlüssel
von der Speicherschutzanordnung 110 verglichen. Bei einer Verletzung wird das Speicherschutzfehlerbit im
PSW gesetzt, und es tritt eine Unterbrechung ein.
Die Aufruffolgesteuerung 285 erzeugt das Aufrufsignal auf der Leitung 263 und das Aufrufkennzeichen auf
der Sammelleitung 266 und liefert Signale an die Schnittstellensteuerschaltung 239 für die Service-Durchschaltoperation
und an die Steuerschaltung 288 (Schnittstellen-Folgesteuerung und Zeitlimitierung) für
die Fehlerprüfung. Mit dieser Anordnung soll ein Wettbewerb zwischen mehreren Geräten aufgelöst
werden, die eine Verbindung zur gleichen Quelleneinheit im Prozessor anfordern.
Die Schnittstellensteuerschaltung 239 erzeugt die Adresse und die Service-Durchschaltsignale für die
Schnittstelle und sorgt für die Auflösung von Konfliktsituationen, registriert Cycle-Steal-Speicherzugriffsfehler
zur Präsentation an das Gerät, besorgt die Signalisierung von und zu den Speichersteuerungen, korrigiert die
Signale auf den Schnittstellensammelleitungen und steuert den Bedingungscode in den Kippgliedern 130.
Die Steuerschaltung 288 für Schnittstellen-Folgesteuerung und Zeitlimitierung besorgt die Maximalzeitsteuerung
für die Reihenfolgefehlerprüfung auf der Schnittstelle 2, entdeckt ungültige Kombinationen von
Schnittstellensignalen und berichtet die Erkennung von
Maschinenfehlerbedingungen auf der Schnittstelle an den Prozessor 1.
Die E/A-Schnittstelle 2 verbindet den Prozessor 250
mit den Geräteanschlüssen 5-1 bis 5-n. Sie besteht aus
ίο den nachfolgend beschriebenen Elementen.
Die E/A-Datensajnmelleitung 269 ist eine Zweirichtungs-Sammelleitung
mit 16 Daten und zwei Paritätsleitungen. Sie dient der Datenübertragung von und zu den
E/A-Geräten 4-1 bis 4-n während der direkten Programmsteueroperationen und der Cycle-Steal-Operationen,
und sie dient der Übertragung der Einheitenadresse und des Unterbrechungsstatusbyte an den
Prozessor 1 während der Unterbrechungsannahme.
Die E/A-Adreßsatmmelleitung 270 ist eine Zweirichtungs-Sammelleitung mit 16 Leitungen für Geräteadressen, für die Gerätewahl und für E/A-Befehle an die E/A-Geräte 4-1 bis 4-n während der direkten programmgesteuerten Operationen. Sie dient der Übertragung von Hauptspekheradressen vom aktiven E/A-Gerät an den Prozessor 1 während der Cycle-Steal-Operation.
Die E/A-Adreßsatmmelleitung 270 ist eine Zweirichtungs-Sammelleitung mit 16 Leitungen für Geräteadressen, für die Gerätewahl und für E/A-Befehle an die E/A-Geräte 4-1 bis 4-n während der direkten programmgesteuerten Operationen. Sie dient der Übertragung von Hauptspekheradressen vom aktiven E/A-Gerät an den Prozessor 1 während der Cycle-Steal-Operation.
Die E/A-Schnittstellensteuersignale auf den Leitungen
267-1 bis 267-10 sind eine Gruppe von Signalen, mit denen Bedingungscodes an den Prozessor 1 geleitet, der
JO jeweiligen Zustand an die E/A-Geräte 4-1 bis 4-n gegeben, E/A-Operationen gewählt und gesteuert
werden, mit denen Unterbrechungs- und Cycle-Steal-Anforderungen
an. den Prozessor 1 übertragen, Reihenfolgen für Unterbrechungs- und Cycle-Steal-
'5 Operationen gesteuert werden, mit denen Rückstellungen
gesteuert werden, und die die richtige Reihenfolge der direkten Programmsteueroperationen und der
Cycle-Steal-Operationen bewirken.
Die Geräteanschlüsse 5 1 bis 5-n steuern die E/A-Geräte 4-1 bis 4-n und schalten sie an die
E/A-Schnittstelle an. Ein Anschluß (wie beispielsweise der Anschluß 5-1) kann mehr als ein E/A-Gerät (z. B. das
Gerät 4-1) steuern.
Die Speicher/Übersetzer-Schnittstelle 3 enthält eine
Hauptspeichersammelleitung. Die besteht aus der Adreßsammelleitung 137 für die Adressierung des
Hauptspeichers 8 und für die Übertragung logischer und physischer Speicheradressen zwischen dem Prozessor 1
und dem Verschiebiingsübersetzer (Adreßübersetzer) 9
ίο sowie aus den Sammelleitungen 138 und 139 zur
Datenübertragung zwischen dem Hauptspeicher 8 und dem Prozessor 1 und zwischen dem Adreßübersetzer 9
und dem Prozessor 1.
Die Schnittstelle 3 enthält außerdem die Steuersignal-
"'■> leitungen 127, 135 und 136 zwischen Prozessor und
Übersetzer für die Übertragung aktiver Adreßschlüssel. der Prüfungsbedingungen und der Synchronisationssignale
zwischen dem Prozessor and dem Adreßübersetzer 9.
ω Die Innenspeicher^Steuersignalleitung 12 übernimmt
die physische Wahl des inneren Speicherbereiches 14, die Teilgruppenwahl im gewählten Bereich und die
richtige Reihenfolgeschaltung der Lese/Schreibsteuersignale zur Adressierung des Bereiches zwischen 0 und
&■> 64 Kilobyte dfs inneren Hauptspeicherbereiches 14.
Die Bedienungskonsole 6 bietet dem Bediener und dem Programmierer umfassenden Zugriff zu den
Datenflußelementen im Prozessor 1 und zum Haupt-
speicher 8. Sie ist an den Prozessor I über eine
Mikroprogramm-gesteuerte Schnittstelle angeschaltet, die in den Datenfluß des Prozessors 1 integriert ist.
Mikroprogrammsteuerung
(Fig.6bis9)
(Fig.6bis9)
Die Fig.6 und 7 zeigen den Datenfluß und das
Format des Prozessors 1 und der Festspeicher-Steuerungen, Fig.b zeigt die Zyklustaktierung und Fig.9
einen Plan des Festspeichers ROS 201. Die Mikropro- ι ο grammsteuerung arbeitet nach dem Prinzip, daß jeder
Maschinenbefehl nur soviele Mikrozyklen wie nötig benutzt Während eines jeden Mikrozyklus kann eine
»Quelleneinheit« zur Zweirichtungs-Prozessorsammelleitung 57 durchgescha'tet werden, und eine oder
mehrere »Bestimmungseinheiten« können aus dieser Sammelleitung 57 geladen werden. Im Ausführungsbeispiel
wird angenommen, daß der Prozessor 1 einen 32 Bit breiten Festspeicher ROS 201 benutzt 22 Bits
werden zum Steuern des Datenflusse:; des Prozessors 1 2»
über die Sammelleitung 2046 benutzt. Das Feld »nächste Adresse« (NA) (Bits 22 bis 31) eines jeden ROS-Wortes
liefert über die Sammelleitung 204a die zehn wertniederen Bits an das Festspeicher-Adreßregister ROSAR 193
(F i g. 6). Das eine werthohe Bit des ROSAR 193 wird >3 (durch Schaltungselemente oder durch Mikroprogramm)
über ein Kippglied »ROSAR Bit 0 setzen« 302 und ein UND-Glied 303 geliefert Die Sammelleitungen
204a und 2046 bilden zusammen die in F i g. 2& gezeigte Sammelleitung 204. ]<
>
Einleitung der Befehlsausführung
Im ROS gibt es nach Darstellung in Fig. 2B fünf Eintrittsstellen für Zwangsadressen. Für jede gibt es
eine oder mehrere schaltungsabhängige Eintrittsbedin- » gungen (im Gegensatz zu Befehlen).
Wenn keine schaltungsbedingte Zwangseingabe erfolgt,
erzwingen die ersten fünf Bits des Befehls eine ROS-Eingabe nach Darstellung im oberen rechten Teil
der Fig.9. Bei befehlsbedingten Eingaben wird das 4n
Kippglied »ROSAR Bit 0 setzen« 302 in F i g. 6 gesetzt. Von diesem Punkt an bis zum Ende des Befehls gibt das
Kippglied 302 zusammen entweder mit dem zehn Bit langen Feld »nächste Adresse« (NA) vom ROS-Datenregister
(ROS DR) 202 oder mit dem Inhalt eines der 4-,
zehn Bit langen Verbindungsregister 210 oder 211 das
nächste auszuführende ROS-Wort an.
Beendigung einer Befehlsausführung
Gewählte »nächste Adressen« in Hexadezimaldar- >o
stellung werden durch die Decodierschaltung decodiert, um einen letzten Mikrozyklus zur Beendigung des
ausgeführten Befehls zu wählen, die Kippglieder SRI und SR2 305 und 306 zurückzustellen und einen neuen
Befehl über eine Anfangseingabe einzuleiten. Ein rückstellendes Laden oder eine Klassenunterbrechung
beendet ebenfalls die Befehlsausführung, stellt die Kippglieder SRI und SR2 305 und 306 zurück und
erzwingt eine Verzweigung zum Start des Mikroprogramms, μ
ROS-Verbindungsregister und Taktierung
Jeder Impuls des Zeitsignals Ctaktet das ROS-Adreßregister
(ROSAR) 193. Jeder Impuls des Zeitsignals A taktet das ROS-Dctenregister (ROS DR) 202. Jeder
Zeitimpuls A leitet die ROSAR-Bits 1 bis 8 in das ROS-Verbindungsregister 1 (210), Bit 1 bis 8, während
die ROSAR-Bits9und lOdurch eine Inkrementierschaltung307
in die Bits 9 und 10 des ROS-Verbindungsregisters 1 gelangen, wenn nicht das Unterroutinen-Kip.pglied
305 (SRI) gesetzt ist Dadurch wird das Verbindungsregister 210 auf den Wert des ROSAR+1
gesetzt, außer wenn die letzten zwei Bits des ROSAR 193 beide gesetzt sind. Dann wird das Verbindungsregister
210 auf den Wert des ROSAR-3 gesetzt Das ist die Rückkehradresse von der Unterroutine der ersten
Stufe zurück in das Hauptprogramm. Außer wenn das Kippglied SR2 (306) eingeschaltet ist, leitet jeder
Zeitimpuls A genau denselben Wert in das Verbindungsregister 2 (211), wie es oben für das Verbindungsregister
1 (210) beschrieben wurde. Das ist die Rückkehradresse für die zweite Stufe. Das Kippglied SRI (305) und das
Kippglied SR2 (306), die den Zustand des Verbindungsregisters 1 (210) bzw. Verbindungsregisters 2 (211)
einfrieren, werden durch das Zeitsignal Cgetaktet
Unterroutinenaufruf der ersten Stufe
Ein Unterroutinenaufruf besteht ..us einer Verzweigung
zu einem bestimmten Bereich (Gruppe von ROS-Adressen). Wenn eine Verzweigung vom unteren
Hauptprogrammbereich zum Unterroutinenbereich 1 erfolgt (F i g. 9), steht am Ende des Zeitimpulses A die
Untern.utinenrückkehradresse im Verbindungsregister I (210). Während des Zeitimpulses C wird das
SRI-Kippglied 305 gesetzt und so der Wert im Verbindungsregister 1 (210) eingefroren. Die Unterroutine
der ersten Stufe kann alle ROS-Auressen benutzen mit Ausnahme derjenigen im Unterroutinebereich 2.
Wenn eine Verzweigung vom hohen Bereich des Hauptprogramms zum Bereich oberhalb des ROS 201
erfolgt, d. h. 11 χ xxxx xxxx, wird das UND-Glied
303 zwischen dem Setzkippgiied 30 und der ROSAR-Bitstelle 0 getaktet, was in einer Verzweigung
nach 01 χ xxxx xxxx resultiert. Das bedeutet denselben Unterroutinenaufruf wie vom unteren Hauptprogrammbereich.
Unterroutinenrückkehr der ersten Stufe
"Jie Unterroutine der ersten Stufe kehrt zum
Hauptprogramm zurück durch eine »nächste Adresse« (NA) mit dem Hexadezimalwert 03 F, der durch die
Schaltung 209 decodiert wird. Beim Zeilimpuls C wird das Kippglied SRI (305) zurückgestellt und das ROSAR
193 vom Verbindungsregister 1 (210) geladen, so daß das Hauptprogramm an der früher eingefrorenen Unterroutinenrückkehradresse
wieder aufgenommen wird. Wenn die rufende Stelle im hohen Hauptprogrammbereich lag, erfolgt die Rückkehr zurück zum hohen Hauptprogrammbereich,
da das Kippglied 302 noch eingeschaltet ist und das ROSAR-Bit ■ auf Null gesetzt ist Die letzte
Mikr'izvklusdecodierung erzwingt auch die Unterroutinenrückkehr.
Unterroutinenaufruf der zweiten Stufe
Wenn zum Unterroutinenbereich zwei verzweigt wird, wird die Unterroutinenrückkehradresse im Verbindungsregister
2 (211) über das Kippglied SR2 (306) genauso eingefroren, wie es oben für den Aufruf der
ersten Stufe beschrieben wurde. Die Unterrou'Jne der
zweiten Stufe kann jede ROS-Adresse benutzen.
Unterroutinenrückkehr der zweiten Stufe
Die Unterroutine der zweiten Stufe kehrt zur Unterroutine der ersten Stufe zurück durch eine
»nächste Adresse« mit dem NA-Hexadezimal wert 03 E. Zur Zeit C wird das KiDnelied SR2 (306) zurückgestellt
und das ROSAR 193 vom Verbindungsregister 2 (211)
geladen und nimmt so die Unterroutine der ersten Stufe an der vorher eingefrorenen Unterroutinenrückkehr·
adresse wieder auf. Die letzte Mikrozyklusdecodierung erzwingt auch eine Unterroutinenrückkehr.
Eine Untenoutine der zweiten Stufe kann direkt zum Hauptprogramm zurückkehren über eine »nächste
Adresse« 03 F. Zur Zeit C wird ROSAR geladen vom Verbindungsregister I (210) und nimmt so das
Hauptprogramm an der vorher eingefrorenen Unterroutinenrückkehradresie
wieder auf. Zur selben Zeit C werden die beiden Kippglieder 305 und 306 für SR1 bzw.
SR2 zurückgestellt, so daß ein neuer Unterroutinenaufruf nach nur einem Wort des Hauptprogramnis erfolgen
kann.
Unterroutine der ersten Stufe im Unterroutinenbereicr
2
Wenn eine Verzweigung direkt von einem Hauptpro gramm zum Unterroutinenbereich 2 vorgenommet
wird (NA-Bits 1,2 = 1,1), wird das Kippglied SR2 (306
gesetzt und das Verbindungsregister 2 (211) eingefro ren, genau wie für einen Aufruf der zweiten Stufe. Dei
Ausgang zurück zum Hauptprogramm ist die »nächst! Adresse« 03 E, genau wie für einen Ausgang der zweiter
Stufe. Dadurch kann eine Unterroutine im Bereich ; entweder als Unterroiitine der ersten Stufe oder al·
Routine der zweiten Stufe benutzt werden. Dii Rückwege sind nachfolgend zusammengefaßt.
ROSAR 193 (NA = »nächste Adresse«)
NA Geladen von SR! 30-j SR2 306 Zurück an
03 F
OiF
03 F.
03E
03F
03 F.
OiF
03 F.
03E
03F
03 F.
Register 1
Register 1
Register 2
Register 2
Register 1
Register 2
Register 2
ein
ein
ein
aus
ein
ein
aus
aus
ein
ein
ein
ein
ein
ein
Hauptprogramm
Hauptprogramm
I. Stufe
Hauptprogramm
Hauptprogramm
I. Stufe
Hauptprogramm
Von
1. Stufe
2. Stufe
2. Stufe
1. Stufe
2. Stufe
1. Stufe
ID
Bereich 1
Bereich 2
Bereich 2
Bereich 2
Bereich 2
Bereich 2
Bereich 2
stellt beide Kippglieder SRI und SR2 zurück, stellt nur das Kippglied SR2 zurück.
Steuerschaltung 152 für bedingte ROS-Verzweigung
Der Prozessor hat bedingte ROS-Verzweigungen mit
4. 8 und 16 Wegen. Wenn eine bedingte Verzweigung vorgegeben und die Bedingung erfüllt ist, wird das
entsprechende NA-Bit zwangsweise gesetzt. Wenn eines der NA-Bits bereits gesetzt ist. handelt es sich um
einen Neutralitätszustand, so daß alle Vier-Weg-Verzweigungen
in Zwei-Weg-Verzweigungen unterteilt werden können. 16-Weg-Verzweigungen können
12-Weg-Verzweigungen werden usw.
Die NA-Bits, die an den bedingten ROS-Verzweigungen
teiinenmen. sind die «its b bis 8. Da tür die Rückkehr
die NA-Bits 9 und 10 benutzt werden, können diese bei
bedingten ROS-Verzweigungen für bedingte Unterroutinenrückkehr
benutzt werden.
Wenn z. B. die Steile 000! 10000 ! 1 einen Unterroutinenaufruf
der ersten Stufe abgab und die Unterroutine eine bedingte Vier-Weg-ROS-Verzweigungsrückkehr
ausführte, sind die vier Rückkehradresser, folgende:
0001 10000 II
ooo; ioioo ii
000i I ICKX) 11
0001 11100 !!
0001 11100 !!
ROS-Bit-Decodiersignale
(Anweisungen)
(Anweisungen)
Die durch Decodierung gewonnenen Steuersignalt (Anweisungen) steuern verschiedene Operationen inProzessor 1. Die bedingten ROS-Verzweigunger
gestatten dem Mikroprogramm die Verzweigung zi. verschiedenen Plätzen abhängig von den Maschinenbe
dingungen. Das Quellenfeld gibt an, welche Quelle aul die Prozessorsammelleitung 57 durchzuschalten ist. Da<
Bestimmungsfeld gibt einen oder mehrere Bestimmungsorte an. die von der Prozessorsammelleitung 57
zu laden sind. Das Feld »nächste Adresse« gibt das als nächstes auszuführende KOS-Wort an.
Emitterfeld
Es gibt vier Decodier-Steuersignale (Anweisungen), die nicht nur die Bestimmungseinheit angeben, sondern
auch die Abgabe der ROS-Bits 0 bis 15 an die Prozessorsammelleitur.g 57 bewirken. Es gibt 12
Decodier-Ste iersignale (Anweisungen), die die Abgabe
der ROS-Bits 8 bis 15 an die Prozessorsammelleiti: .· 57
bewirken. Dadurch kann das Feld »Steuerung bedingte Verzweigung« in demselben ROS-Wort als 8-Bit-Emitter
benutzt werden. Hauptspeichersteuersignale (Anweisungen) ROS-Bits 13 bis 15(Nicht-Emitter):
Wert
F'jnKtion
0 kein Speicherzvklus.
1 SR die nächsten Anweisungen LW (oder SW) ändern in »Laden (oder Ab
speichern) Segmentregister'<. wenn Übersetzer eingebaut ist Wenn Obersetzer
nicht eingebaut ist. Programmfehleranzeige »ungültige Funktion« setzen.
2 BR die nächsien Anweisungen LW oder SW sperren. Der nächste Befehl LiW,
LUW, LW oder SW kann im zweiten Mikrozyklus nach dem gesperrten LW
oder SW ausgeführt werden.
Fortsetzung
Wen ("unklion
3 SBY die nächsten Anweisungen LW oder SW in eine Byteanforderung anstelle
einer Wortanfordening ändern.
Den nächsten Taktergebnisanzeiger in einen Taktbyteergebnisanzeiger
ändern und Veränderung von Byte 0 in demselben Wort sperren.
4 LIW Befehlswort in SOR mit ISS (Befehlsabrufschlüssel) laden.
5 LUW unbedingtes Wort in SDR mit OPS (Opcrandenzugriff-Schliissel) laden.
6 LW Datenwort (zwei Bytes) in SDR laden.
7 SW Datenwort vom SDR in Speicher abspeichern.
Arbeitsweise
Die normalen Speicheranforderungen sind LlW, LW und SW. Alle anderen modifizieren diese. Die vier
modifizierenden Speichersteueranweisungen werden zum Verändern gemeinsamer Unterroutinen benutzt.
Die Anweisungen SR, BR und SBY werden vor einer gemeinsamen Unterroutine ausgeführt, die LW oder
SW enthält, die sie zu modifizieren haben. Diese drei haben keinen Einfluß auf LIW. Die BTR-Anweisung
wird unmittelbar nach LIW, LW oder SW im letzten Wort einer gemeinsamen Unterroutine ausgeführt
Die SBY-Anweisung verändert nicht nur die beiden Speichersteueranweisungen LW und SW, sondern auch
die Ta/ctierung der Ergebnisanzeiger zum Betreiben von
nur acht Bits anstelle von 16 Bits.
Priorität der modifizierenden Anweisungen
BR hat die oberste Priorität und stellt SR und SBY zurück
SR hat die zweite Priorität und stellt SBY zurück
SBY hat die niedrigste Priorität
SBY hat die niedrigste Priorität
Die F i g. 10 bis 14 zeigen verschiedene Zyklustaktierungen
im Prozessor, der als Ausführungsbeispiel der
Fig. 10 zeigt die fünf Mikroinstruktionen, die ausgeführt werden zur Durchführung eines direkten
Additionsbefehls auf Maschinenebene, und Fig. 11 ■»>
zeigt die Taktierung von Quelle, Bestimmung und Speicherzugriff während der Ausführung der fünf
Mikroinstruktionen.
Fig. 12 zeigt die Zyklustaktierungen der Hauptspeichersteuerungen.
'-'<
Fig. 13 und 14 zeigen die Zyklustaktierungen des Mikroinstruktionstyps, der als letzte Mikroinstruktion
einer jeden Routine zur Ausführung der Maschinenstufenbefehle ausgeführt wird Abhängig von der Erkennung
(oder Nichterkennung) einer Ausnahme-Bedin- 5ί
gung wird entweder die Taktierung der F i g. 13 oder die
der F i g. 14 wirksam.
Unterbrechungen
Der wirksame Betrieb eines Zentralprozessors hängt von der prompten Antwort auf Bedienungsanforderungen
von E/A-Geräten ab. Diese prompte Reaktion erfolgt nach einem Unterbrechungsschema, das die
laufende Prozessoroperation stoppt, zu einer Peripheriegeräte-Bedienungsroutine
verzweigt, die Gerätebedienung abwickelt und dann zur Fortsetzung der
unterbrochenen Operation zurückkehrt. Ein Prozessor 1 kann viele E/A-Geräte 4-1 bis 4-17 steuern und daher
wird eine Unterbrechungspriorität festgelegt, um die wichtigeren Operationen vor den unwichtigeren abzuwickeln.
Bestimmte Fehler- oder Ausnahmebedingungen (z. B. Maschinenfehler) lösen ebenfalls Unterbrechungen
aus. Diese werden Klassenunterbrechungen genannt und ähnlich gehandhabt wie die E/A-Unterbrechungen.
Die Unterbrechungspriorität wird festgelegt durch vier Prioritätsunterbrechungsstufen, die in der Prioritätsreihenfolge
0, 1, 2,3 aufgelistet sind, wobei die Stufe 0 die höchste Priorität hat. Unterbrechungsstufen
werden den E/A-Geräten 4-1 bis 4-/7 über Programmsteuerung zugeordnet. Dadurch erhält man die nötige
Beweglichkeit, um die Geräteprioritäten bei wechselnden Anwendungen neu zuzuordnen.
Jede der vier Prioritätsstufen hat nach Darstellung in Fig.4 ihren eigenen Registersatz oder Stufenstatusblock
(SSB Stufe 0 bis SSB Stufe 3). Diese bestehen aus dem Adreßschlüsselregister (ASR), einem Stufenstatusregister
(SSR), acht allgemeinen Registern (RO bis R7) und einem Befehlsadressenregister (BAR). Information
über eine Stufe wird automatisch in diesen separaten Stapelregistern gerettet, wenn eine Unterbrechung
auftritt.
E/A- und Klassenunterbrechungen enthalten eine
Feste Stellen im Hauptspeicher 8 sind für Verzweigungsadressen oder Zeiger reserviert, die während der
Unterbrechungsverarbeitung angezogen werden. Die Verarbeitung einer Unterbrechung durch separate
Schaltungseinrichtungen enthält die automatische Verzweigung zu einer Bedienungsroutine. Der Prozessor 1
benutzt einen reservierten Speicherbereich im Hauptspeicher 8 für die Verzweigungsinformation. Der
reservierte Bereich beginnt an der Hauptspeicheradresse 0030. Die Gesamtgröße des Bereiches hängt ab von
der Anzahl der angeschlossenen unterbrechenden Geräte 4-1 bis 4-n. Ein Wort (zwei Bytes) ist für jedes
unterbrechende Gerät reserviert.
Die für eine Klassenunterbrechung benutzten Speicherstellen enthalten jeweils einen Stufenstatusblockzeiger
(SSB-Zeiger), der auf die erste Adresse eines Bereiches im Hauptspeicher 8 zeigt, wo ein
Stufenstatusblock gespeichert ist, und eine Startinstruktionsadresse
(SIA), die auf die erste Instruktion der Bedienungsroutine zeigt
Jedes für eine E/A-Unterbrechung benutzte Speicherwort
enthält einen Gerätedatenblockzeiger (GDB), der die Adresse des ersten Wortes eines Gerätedatenblocks
ist. Dieses Wort wird benutzt um die Startinstruktionsadresse für die Bedienungsroutine zu bekommen.
Möglichkeiten zur Unterbrechungsmaskierung bilden
eine weitere Programmsteuerung der vier Prioritätsstufen.
System- und Stufenmaskierung werden durch eine Summenmaske und das Unterbrechungsstufenmaskenregister
175 gesteuert. Die Gerätemaskierung wird gesteuert durch eine Gerätemaske in der durch den ϊ
E/A-Vorbereitu/igsbefehl übertragenen Information.
Die Manipulation der Maskenbits kann Unterbrechungen auf allen stufen, einer bestimmten Stufe oder für ein
bestimmtes Gerät freigeben oder sperren.
Es existieren, wie schon gesagt, vier Prioritätsunter- in
brechungsstufen. |edem E/A-Gerät 4-1 bis 4-n wird eine
Stufe abhängig von der Anwendung dynamisch zugeordnet. Wenn eine Unterbrechung auf eim'r
gegebenen Stufe akzeptiert wird, bleibt diese Stufe aktiv, bis eine Stufenausgangsinstruktion (I.EX) ausge- ■ >
führt oder eine Unterbrechung mit höherer Priorität akzeptiert wird. In letzterem Fall schaltet der Prozessor
I auf die höhere Stufe um. erledigt die Ausführung (cinr.chüeuüch einer LEX-lnstruktion) und kehr| Ίηηη
zu der Stufe zurück, auf der die Unterbrechung erfolgte. ;·.
Diese automatische Rückkehr kann durch andere Unterbrechungen mit noch höherer Priorität verzögert
werden.
Fine auf der gegenwärtig aktiven Stufe wartende I iiiterbrechungsanforderung wird erst nach Ausführung .--,
einer I.EX-Instruktion durch das laufende Programm
akzeptiert. Wenn keine andere Unterbrechungsstufe wartet bei Ausführung einer Stufenausgangsinstruktion,
geht der Prozessor 1 in den Wartezustand, in dem keine Verarbeitung stattfindet, der Prozessor jedoch Unter- m
brechunj*en annehmen kann, die erwartet werden.
Der Uberwachungszustand wird angefangen bei jedem Empfang einer Prioritätsunterbrechung. Der
Prioritätsunterbrechungsalgorithmus ist fplgender:
Γι
1. Die Summenmaske muß freigegeben sein.
2. Das Maskenbit (Unterbrechungsstufenmaskenrcgister
175) für die unterbrechende Stufe muß eingeschaltet sein.
3. Für E/A-Unterbrechungen muß das Gerät sein jh
Gerätemaskenbit eingeschaltet haben.
4. Die Unterbrechungsviforderung muß die höchste
Priorität der ausstehenden Anforderungen und eine höhere Priorität als die aktive Stufe des Prozessors
haben. ι >
5. Der Prozessor darf nicht gestoppt sein.
Klassenunterbrechungen ändern die Prioritätsstufen nicht und werden auf der gegenwärtig aktiven Stufe
verarbeitet. Wenn sich der Prozessor beim Auftreten sm
einer Klassenunterbrechung im Wartezustand befindet, wird zur Verarbeitung der Unterbrechung die Prioritätsstufe
0 benutzt
Programmgesteuerte Stufenumschaltung
F i g. 3 zeigt ein Gesamtsystem als Ausführungsbeispiel
für die Erfindung. Der Hauptspeicher 8 enthält Bereiche, in denen Stufenstatusblöcke (SSB) für jede
Aufgabe, die Programme und ein Aufgabenverteilungsprogramm gespeichert werdea
Unter der Steuerung des Aufgabenverteilers werden die Befehle »Steuerstatusblock laden« (SSB-LD) und
»Steuerstatusblock abspeichern« (SSB-SP) vom Prozessor ausgeführt, um Steuerstatusblöcke SSB vom
Hauptspeicher 8 in die Stufenregister im Stapel 80 zu laden oder vom Stapel SO in den Hauptspeicher 8
zurückzukopieren, während die verschiedenen Aufgaben für die Ausführung vorbereitet werden.
Während der Ausführung eines SSB-LD-Befehls, durch den eine neue Aufgabe gestartet oder fortgesetzt
wird, wird der Registerinhalt von ASR und BAR im Stapel 80, der zu der neuen Aufgabe gehört, auch in die
separaten Register 85,90 und 95 eingegeben.
Wenn eine laufende Aufgabe ausgesetzt wird, wird der gegebenenfalls geänderte Inhalt der Register 85 und
90 in die Register ASR und SSR für die aktive Stufe im Stapel 80 zuruckgespeichert. Das Befehlsadreßregister
des jeweils benutzten Stapels wird während der Ausführung eines Befehls laufend fortgeschrieben.
Eine Stufenumschaltung unter Programmsteuerung kann erfolgen mit dem Stufenstatusblock-Ladebefchl
(SSB-LD), in vielen Fällen erfordert SSB-LD jedoch einen vorhergehenden StufenstatusMock-Speicherbefehl
(SSB-SP):
SSB-LD
SSB-SP
Wort I
Wi:r! 2
Wi:r! 2
Wort 1
Wort 2
Wort 2
OP
Rx
Rb
OP Rx Rb
Absolute Adresse
Dieser SSB-LD-Befehl gibt im allgemeinen die Lage eines Stufenstatusblocks (SSB) an einer effektiven
Adresse im Hauptspeicher 8 (durch Rb und die absolute Adresse) sowie eine ausgewählte, zum Hauptspeicher-SSB
gehörende Prioritätsstufe (über Rx) an. und er lädt den SSB vom Hauptspeicher 8 in den Separatregisterstapel
80 (F i g. 4) für die gewählte Stufe.
Die Ausführung des SSB-LD-Befehls hat auf den Prozessor 1 Auswirkungen, die durch drei Faktoren
bestimmt werden:
1. Die aktive Ausführungsstufe.
2. Die im SSB-LD-Befchl angegebene vorgewählte
Stufe.
3. Den Zustand des In-Arbeit-Kennzeichen (Bit 9 des LSR), das im SSB des Hauptspeichers enthalten ist.
Die Ausführung des SSB-LD-Befshls kann in einer
Stufenumschaltung oder in einer Änuerung zum Wartezustana einer Mute gemäß Beschreibung in den
folgenden Abschnitten resultieren:
1. Vorgewählte Stufe hat niedrigere Priorität als aktive Stufe und In-Arbeit-Kennzeichen ist eingeschaltet —
diese Bedingungen führen zum Wartezustand der vorgewählten Stufe. Der gewählte SSB im Hauptspeicher
8 wird in den Stapel 80 für die vorgewählte Stufe geladen. Die nachfolgende Ausführung eines
LEX-Befehls auf der aktiven Stufe läßt die vorgewählte
Stufe aktiv werden unter der Voraussetzung, daß keine Unterbrechung mit höherer Priorität
angefordert wird.
2. Vorgewählte Stufe gleich aktiver Stufe und In-Arbeit-Kennzeichen
eingeschaltet — diese Bedingungen lassen die vorgewählte zur aktiven Stufe werden.
Der vorgewählten SSB im Hauptspeicher 8 wird in den Stapel 80 für die vorgewählte Stufe geladen.
3. Vorgewählte Stufe hat höhere Priorität als aktive Stufe und In-Arbeit-Kennzeichen eingeschaltet —
diese Bedingungen lassen die vorgewählte Stufe zur aktiven Stufe werden. Der vorgewählte SSB im
Hauptspeicher 8 wird in den Stapel 80 für die vorgewählte Stufe geladea Hier erfolgt eine
Stufenumschaltung auf die höhere vorgewählte Stufe und die niedrigere Stufe geht in den WarteTustand.
2«
4. Vorgewählte Stufe hat niedrigere Priorität als aktive
Stufe und In-Arbeit-Kennzeichen ausgeschalte diese Bedingungen lassen die vorgewählte Stufe nicht
in den Wartezustand gehen. Der vorgewählte SSB im Hauptspeicher 8 wird in den Stapel 80 für die
vorgewählte Stufe geladen
5. Vorgewählte Stufe deich aktiver Stufe und In-Arbeit-Kenn/eichen
ausgeschaltet — diese Bedingungen führen zu einem Ausgang aus der aktiven Stufe
Der vorgewählte SSB im Hauptspeicher 8 wird in die Vorwahlstufenregister des Stapels 80 geladen.
6. Vorgewählte Stufe hat höhere Priorität als aktive
Stufe und In-Arbeit-Kennzeichen ausgeschaltet —
der vorgewählte SSB im Hauptspeicher 8 wird in die Vorwahlstufenregister des St1I(H1Is 80 geladen.
Das Register 181 (f-'ig. 5) für die aktive Stufe hat
entweder keine Bits eingeschaltet, wenn das System im Wartezustand steht, oder es hat nur ein Bit eingeschaltet,
wenn eire Aktion durch eine oder mehrere Stufen
erforderlich st nach den Angaben im Wartestufenregister 335 (Register zur Identifizierung wartender Stufen).
Das Aktiv-Stufonbit beschreibt diejenige Stufe, auf der
der Prozessor gegenwärtig arbeitet. Die zu einem Sat/ dieser Register 181 führenden Schaltelemente enthalten
eine Unterbrechungsbehandlungseinrichtung 345, die
nachfolgend beschrieben wird.
Wenn das Mikroprogramm die Leitung 181c aufgrund der decodierten Anweisung »Quelle gleich
aktiver Stufe« aktiviert, wird der Inhalt des Aktiv-Stutenregisters
181 durch den Vier-auf/wei-Decodierer
181c über die Torschaltung 181c/ an die Prozessorsam
melleitung (Bits 14 und 15) geleitet und beispielsweise bei der Festlegung der arithmetischen Beziehung
zwischen der aktiven Stufe und der vorgewählten Stufe im Slufenstatusblock-Lademikroprogramm verwendet.
Die Ausgangssignale des Vier-auf-zweiCodiercrs 181c werden auch an die Aufruffolgesteuerung 285 gesendet.
um die aufzurufende Unterbrechungsstufe zu wählen.
Das Wartestufenregister 335 hat nur drei Bitpositionen, da die Stufe 0 niemals wartend sein kann, weil es
dazu keine Stufe höherer Priorität gibt. Eine wartende Stufe ist eine Siufe, die ausgeführt, aber dann
unterbrochen und ausgesetzt wurde durch eine höhere Stufe. Die Ausgangssignale des Wartestufenregisters
335 werden mit den Ausgangssignalen des Aktiv-Stufenregisters 181 im ODER-Glied 340 verknüpft und an
die Prioritätsunterbrechungssammelleitung 192 gegeben auf Anforderung des Mikroprogramms durch
Erregung der Torschaltung 341 aufgrund der Decodieranweisung »Quelle sind In-Arbeit-Kippglieder« auf der
Leitung 342. Die Einrichtung »In-Arbeit« merkt sich für
this Mikroprogramm jede Unterbrechungsstufe, die entweder aktiv oder wartend ist, so daß das
Mikroprogramm erfährt, welche Stufe in Arbeit isi oder zu bearbeiten sein wird, wenn eine Aktivität auf einer
höheren Stufe endet. Der Ladebefehl für den Stufenstatusblock kann Unterbrechungsstufen freigeben oder
sperren durch Einschalten oder Zurückstellen entsprechender Bits im Wartestufenregister 335. Wenn die
Zielstufe die Stufe 0 ist und aktiviert werden muß, dann wird das Aktiv-Stufenbit für die Stufe 0 im Register 181
automatisch gesetzt.
Wie bereits gesagt, ist tier Unterbrechungsalgorith
mils implementiert in der Schaltung 345 am Eingang
/um Register mit den Aktiv-Stufenbits. Sie hat folgende Kombinationsfunktion:
Die Masken- und Unterbrechungsanforderungen vom Register 175 und der Sammelleitung 261 werden
für die Sammelleitung 182 UND-verknüpft zu neuen Anforderungen, das Aktiv-Stufenregister 181 zu laden.
Wenn eines dieser vier Bits auf der Sammelleitung 182 eine höhere Priorität hat als dasjenige, das im
Wartestufeniegister 335 steht oder bereits im Aktiv-Stufenregister
181. kann das höchste neue Anforderungsbit in das Register 181 gesetzt werden. Die
Prioritätszuordnung externer Unterbrechungsanforde rungen erfolgt hier so. daß beim Ausstehen einer
Anforderung für eine höhere Stufe das Setzen des Aktiv-Stufenbits für eine niedrigere Stufe gesperr' wird
Die zwei Vorwahl-Stufenbits des Registers 185 werden durch Mikroprogramm gesetzt und erregen die vier
Ausgänge des fest zugeordneten Decodierers 190. Diese werden im Register 335 aus verschiedenen Gründen
gespeichert, z. B. um zu bestimmen, welche wartende Stufe im Register 335 bei Ausführung eines Ladebefehls
für den Stufenstatusblock aktiviert oder deaktiviert werden soll. Ein weiterer Grund ist die Erzeugung von
Eingangssignalen für das Aktiv-Stufenregister 181 Wenn der Prozessor 1 beispielsweise nach einer
Systemrückstellung gestand wird, wird auf diese Weise die Stufe 0 aktiv geschaltet, so daß die Maschine eine
Stufe hat. auf der sie arbeiten kann.
im Ausiüiu uiigsueispiei werden rviikroprograminrou
tinen zur Steuerung der Schaltungseinrichtur.-en zur
Manipulation der Aufgabenverteilung benutzt, eine Steuerung auf bekannte Weise durch sequentielle Logik
ist jedoch ebenso möglich.
Ein Beispiel für die Mikroprogrammroutinen für die Ausführung der Befehle SSB-LD und SSB-SP wird
anschließend im einzelnen beschrieben.
Mikroprogramm »SSB laden«
[Quelle | RW-Strg. | Best. | SP.- Strg. |
Sonstiges | Wort Nr. |
Stapel (Rx) | Durchg. | vorgew. Stufe | setze Progr.-Fehler | 1 | |
wenn nicht Öberw.- | |||||
Zustand | |||||
WA | + 2 | Stapel (BAR) | 2 | ||
Stapel (BAR) | Durchg. | SAR & WA | LIW | 3 | |
WA | + 2 | Stapel (BAR) | 4 | ||
Stapel (Rb) | Durchg. | Y | 5 | ||
SDR | Durchg. | WA | 6 |
29 | 27 18 | Best. | 051 | 30 | Sonstiges | r | Durchg. | vorgew. Stufe | LIW | Verzw. nach 37 wenn | Wort Nr. | |
Stapel | Durchg. | WA | Sammelt. = 0 | 8 | ||||||||
Forlsetzung | RW-Strg. | (TEMP) | Durchg. | Y | Durchg. Kippgl. der | |||||||
Quelle | Durchg. | Y | SP.- Strg. |
Und-Nicht | Stapel (SSR) | LIW | wartd. Stufe an | 9 | ||||
WA | Stapel | Kippgl. der aktiven | 10 | |||||||||
Durchg. | (TEMP I) | Durchg. | SSR | Stufe | ||||||||
Stapel (Rx) | Durchg. | SAR & WA | LW | 11 | ||||||||
Y | Stapel (IAR) | Durchg. | SAR | neue Stufe rückst. | 12 | |||||||
+ 2 | SAR & WA | Durchg. | ASR | 13 | ||||||||
WA | Durchg. | Y | LW | SSR | Verzw. nach 34, wenn | 14 | ||||||
SDR | + 2 | Stapel (K) | Durchg. | SAR | Aktion auf einer Stufe | 15 | ||||||
WA | Durchg. | Y | LW | Wartezustand | 16 | |||||||
SDR | Durchg. | Stapel (K) | Schiebe Y | schalten | 17 | |||||||
Y | Durchg. | links (1 Stelle) | ||||||||||
SDR | Durchg. | SAR & WA | 18 | |||||||||
SDR | Prüfesammelleitung | nicht protokoll. | 19 | |||||||||
+ 2 | Bit 8, setze T-Kippgl. | Vorgew. Stufe auf | ||||||||||
WA | Durchg. | LW | wenn »Ein« | »wartend« rückst. | ||||||||
Y | Zähler 75 | Nicht protokoll., wenn | 20 | |||||||||
SAR & WA | Tx-Bit ein | 21 | ||||||||||
Ausgeben | Durchg. | Y | 22 | |||||||||
0008 | + 2 | Stapel (K) | Dez.-Zähler, verzw. | 23 | ||||||||
WA | Durchg. | LW | nach 21 wenn Zähler = 0 |
|||||||||
SDR | Durchg. | WA | 24 | |||||||||
Y | ||||||||||||
Durchg. | Y | 25 | ||||||||||
Stapel | WA | Verzw. wenn T-Kipp- | 26 | |||||||||
(TEMPI) | Durchg. | glied und Sammeil. | ||||||||||
Subtrahiere | negativ | |||||||||||
WA-Y | = »Aus«, und Priorität | |||||||||||
der aktiven Stufe nicht kleiner als Priorität der vorgewählten Stufe) | ||||||||||||
27 | ||||||||||||
T=O und Sammelleitung 57 nicht negativ (In-Arbeit- = | ||||||||||||
28 | ||||||||||||
Akt. Stufe | 29 | |||||||||||
Stapel (LSR) | 30 | |||||||||||
Emit 0040 | 31 | |||||||||||
WA & Y | 32 | |||||||||||
WA | 33 | |||||||||||
Stapel (BAR) | 34 | |||||||||||
Stapel (ASR) | 35 | |||||||||||
Stapel (SSR) | 36 | |||||||||||
Stapel (BAR) | 37 | |||||||||||
38 | ||||||||||||
Fortsetzung
Quelle
Strg.
Sonstiges
Wort Nr.
T=O und Sammelleitung negativ (In-Arbeit = »Aus«, und Priorität der aktiven
Stufe niedriger als Priorität der vorgewählten Stufe)
Verzw. nach 37 39
T=I und Sammelleitung nicht negativ (In-Arbeit = »Ein«, und aktive Stufe hat
Priorität nicht kleiner als vorgewählte Stufe)
SAR | Verzw. nach 46, wenn Sammeil.=0 |
LIW | nicht protokoll, wenn Tx-Bit ein |
Stapel (ASR) | vorgew. Stufe (alte aktive Stufe) auf »wartend« setzen |
40 | |
Stapel (BAR) Durchg. | ASR | Gew. Stufe auf »wartend« setzen |
Stapel (SSR) | 41 | |||
Stapel (ASR) Durchg. | SSR | Verzw. nach 37 | vorgew. Stufe | Vorgew. Stufe (alte aktive Stufe) auf »wartend« setzen |
42 | ||
Stapel (SSR) Durchg. | LIW Gew. Stufe auf »wartend« setzen |
Wart. Stufe (neue vorgew. Stufe) an aktive Stufe durchg. |
43 | ||||
Nicht protokoll, wenn Tx-Bit ein |
Verzw. nach 34 | 44 | |||||
SAR | T=I und Sammelleitung negativ (In-Arbeit = »Ein«, und aktive Stufe hat Priorität der vorgewählten Stufe) |
45 | |||||
Stapel (AR) Durchg. | ASR Durchg. | 46 | |||||
SSR Durchg. | 47 | ||||||
Y Durchg. | |||||||
48 | |||||||
49 | |||||||
50 | |||||||
51 | |||||||
52 | |||||||
53 |
Im Ausführungsbeispiel wird zur Adressierung »E/A = (Rb) + 16 Bit absolute Adresse« verwendet, worin
Rb von null verschieden ist. Startbedingungen für alle Befehle sind: BAR in WA-Register 52, erstes Wort des
Befehls im SDR und OP-Register 70 und 101.
Im Zyklus 1 wird die gewählte Stufe von dem durch das Rx-FeId im Befehl angegebenen Register in die
Vorwahlstufen-Kjppglieder (Register) gesetzt, und da der Befehl privilegiert ist, wird eine Prüfung auf den
Überwachungszustand hin durchgeführt Wenn nicht im Überwachungszustand, tritt eine Programmfehlerunterbrechung
auf.
Das zweite Wort des Befehls (absolute Adresse) wird im Zyklus 3 geholt und der Inhalt des Basisregisters (Rb)
im Zyklus 5. Diese werden addiert zur Bildung der effektiven Adresse im Zyklus 7. Die gewählte Stufe (Rx)
wird verschoben nach TEMPI in den Zyklen 9 und 10. Der Inhalt von BAR wird vom Speicher im Zyklus 9
geholt und im Registerstapel im Zyklus !2 gespeichert. Der Inhalt von ASR wird geholt im Zyklus 11 und
gespeichert im Registerstapel im Regisür 14. Der Inhalt
von SSR wird im Zyklus 13 geholt und im Registerstapel in Zyklus 17 gespeichert. Zyklus 19 kopiert den Wert des
In-Arbeit-Bits &as dem vorgewählten SSB in das T-Kippglied 326 zur späteren Verwendung. Ein Wert
von acht wird in den Zähler 75 in Zyklus 20 gesetzt und zur Schleifensteuerung für acht Durchgänge der
Mikrozyklen 21 bis 23 verwendet, um die Inhalte der SSB-Aligemeinregister RO bis R7 aus dem Hauptspeicher
8 in den Registerstapel 80 zu schieben. Die Zyklen 24, 25 und 26 stellen fest, ob die Priorität der aktiven
Stufe kleiner ist als diejenige der vorgewählten Stufe,
und in Zyklus 26 erfolgt eine Vier-Weg-Verzweigung je
nach Zustand dieser Bedingung und dem Zustand des T-Kippgliedes326(des In-Arbeit-Bits) wie folgt:
1. Wenn das In-Arbeit-Bit 1 ausgeschaltet ist und die
Priorität der aktiven Stufe nicht niedriger ist als diejenige der vorgewählten Stufe, bestimmt eine
Verzweigung im Zyklus 27, wenn Sammelleituneen
57=0, ob die aktive Stufe gleich ist der vorgewählten
Stufe. Wenn das nicht der Fall ist, wird zum Zyklus 37
verzweigt, wo die vorgewählte niedrigere Stufe abgeschaltet wird und der nächste Befehl auf der
aktiven Stufe geholt wird (niedere Stufe in Wartezustand setzen). Wenn die aktive Stufe und die
vorgewählte Stufe gleich sind, werden in den Zyklen 28 und 29 wartende Anforderungen untersucht. Das
In-Arbeit-Bit der aktiven Stufe (SSR) wird abgeschaltet
in den Zyklen 30 bis 33. Wenn keine Stufen ι ο warten, geht das System in den Wartezustand. Wenn
eine oder mehrere Stufen warten, werden die Register BAR, ASR und SSR der Stufe mit der
höchsten Priorität aus dem Registerstapel 80 in die als Gegenstück dienenden Register 95, 85 und 90
kopiert und die Ausführung auf dieser Stufe in den Zyklen 34 und 37 fortgesetzt (aktive Stufe in
Wartezustand).
2. Wenn das In-Arbeit-Bit ausgeschaltet ist und die Priorität der aktiven Stufe niedriger ist als diejenige
der vorgewählten Stufe, muß die vorgewählte Stufe bereits ruhig sein (bedingt durch den Unterbrechungsalgorithmus).
Dann wird zum Zyklus 37 verzweigt, wo die Verarbeitung auf der aktiven Stufe
fortgesetzt wird (Kontext einer wartenden Aufgabe wird verändert).
3. Das In-Arbeit-Bit ist eingeschaltet, und die Priorität
der aktiven Stufe ist nicht niedriger als diejenige der vorgewählten Stufe. Eine Verzweigung in Zyklus 40,
wenn Sammelleitung = 0, stellt fest, ob aktive Stufe jo
= vorgewählt Stufe. Wenn nicht, wird die vorgewählte Stufe im Zyklus 'S auf »wartend«
gesetzt und die Verarbeitung auf der aktiven Stufe fortgesetzt (Aufgabe mit niedrif -.rer Priorität in
Warteschlange). Wenn die vorgewählte und die aktive Stufe dieselbe Priorität haben, werden in den
Zyklen 41, 42 und 43 die Inhalte der neu gewählten Register BAR, ASR und SSR in die separaten
Register 95,85 und 90 geladen (Aufgaben auf aktiver Stufe verändert).
4. In-Arbeit-Bit ist eingeschaltet, und Priorität der
aktiven Stufe ist niedriger als die der vorgewählten Stufe: Zyklen 48 und 49 retten ASR und SSR der
aktiven Stufe (Registerstapel 80). Die alte aktive Stufe wird während der Zyklen 50 und 51 auf ■*--,
»wartend« gesetzt. Die neugewählte Stufe wird zur neuen aktiven Stufe in Zyklus 52, und während des
Zyklus 53 wird zum Zyklus 34 verzweigt. BAR, ASR und SSR der neuen Stufe werden in inre Gegenregister
95,85 und 90 in den Zyklen 34 bis 36 verschoben, v>
und die Verarbeitung wird auf der neuen Stufe mit höherer Priorität fortgesetzt (Aufgabe mit höherer
Priorität ausgewählt).
Die Ausführung der Mikroprogrammroutine »SSB y,
laden« wird anschließend im einzelnen beschrieben unter Bezug auf die Mikroprogrammliste. Es wird
angenommen, daß die Adresse des ersten Wortes des SSB im Hauptspeicher 8 »E/A = (Rb) + 16 Bit absolute
Adresse« ist, Dabei ist Rb von Null verschieden, Die ho
Anfangsbedingungen zur Ausführung des Befehlsmikroprogramms sind: Die Adresse (BAR) des nächsten
Befehlswortes ist im WA-Register 52 gespeichert, und das erste Wort des ausgeführten Befehls (d. h. »SSB
laden«) steht im SDR-Register 70 und im OP-Register t>
> 101. Die Ausführung eines jeden Mikrowortes wird als ein Zyklus bezeichnet.
Mit den ersten sieben Zyklen der Mikroprogrammliste wird die effektive Adresse des ersten Wortes des
gewählten SSB im Hauptspeicher 8 errechnet Im Zyklus 1 wird das Rx-FeId des laufenden (akuten)
Befehls im OP 101 über Torschaltung 1016 an das Stapeladreßregister 105 geleitet, um aus dem Stapel das
Register der aktiven Stufe auszulesen, das durch den Rx-Wert gewählt wurde. Diese Registerposition enthält
die Stufe für den vorgewählten SSB. Die StufenbJts, die in dieser Registerposition des Stapels 80 enthalten sind,
sind bestimmt für das Register 185 (vorgewählte Stufe). Übertragung über die Prozessorsammelleitung 57 (Bits
14 und 15). Außerdem wird das Oberwachungszustandsbit im SSR-Register 90 durch ein nicht dargestelltes
Ausgangssignal der Steuerdecodierer 209 (Fig.2B) abgefragt und »Programmfehler« gesetzt, wenn das
aktive Programm sich nicht im Überwachungszustand befindet
Im Zyklus 2 wird die Adresse des nächsten Befehls im WA-Register um zwei erhöht (im Rechenwerk 51), und
der erhöhte Wert wird im Stapelregister (BAR) der aktiven Stufe gespeichert.
Im Zyklus 3 wird die Adresse im Stapelregister (BAR) der aktiven Stufe an das SAR-Prozessorregister 95 und
an das WA-Register 52 gegeben. Diese Adresse im Register 95 ist die Adresse des zweiten Wortes des
SSB-Ladebefehls, und die Speichersteuerungen laden dieses zweite Wort des Befehls in das Speicherdatenregister
70. Die Daten vom Speicher stehen jedoch im SDR 70 erst im dritten nachfolgenden Zyklus, d. h. im
Zyklus 6, zur Verfügung.
Im Zyklus 4 wird der Adreßwert im WA-Register 52 im Rechenwerk 51 um zwei erhöht und im Stapelregister
(BAR) in der aktiven Stufe gespeichert
Im Zyklus 5 wird das Rb-FeId aus dem OP-Register 101 in das SAR 105 geleitet, um das Register in der
aktiven Stufe des Stapels 80 zu wählen, das die dem Rb-FeId entsprechende Basisadresse enthält Dieser
Basisadreßwert ist für das Y-Register S3 bestimmt
Im Zyklus 6 steht jetzt die absolute Adresse im SDR-Prozessorregister 70 zur Verfugung, die in Zyklus
3 vom Speicher angesteuert wurde, und dieser Wert wird vom Register 70 an das WA-Register 52 gegeben.
Im Zyklus 7 werden der Basisadresswert im Y-Register 53 und der 16 Bit lange absolute Adreßwert
im WA-Register 52 des Rechenwerks zueinander addiert, und das Ergebnis ist bestimmt sowohl für das
SAR-Prozessorregister 95 als auch für das WA-Register 52.
Im Zyklus 8 wird die effektive Adresse vom WA-Register 52 in das TEMP-Register des Stapels 80
abgespeichert.
Ini Zyklus 9 wird das durch die Rx-Registerbits im
OP-REG 101 bezeichnete Aktiv-Stufenregister über das SAR 105 gewählt und wird an das Y-Register 53
gegeben. Gleichzeitig holen die Speichersteuerungen das nächste Wort vom Hauptspeicher 8 mit der Adresse,
die in Zyklus 7 in das SAR-Register 95 gesetzt wurde. Diese Adresse im SAR-Register 95 ist, wie schon gesagt,
die Adresse des ersten Wortes, d. h. des Befehlsadreßregisters BAR des gewählten SSB.
Im Ziyklus 10 werden die Bits für die vorgewählte
Stufe vom Y-Register 53 abgespeichert in das TEMPl-Register des Stapels 80, weil das Register 185
(vorgewählte Stufe) nicht als Quelle benutzt werden kann. Da mit diesen Bits gemäß nachfolgender
Beschreibung die Werte der vorgewählten Stufe und der aktiven Stufe verglichen werden müssen, müssen
diese Werte in TEMPI für die spätere Benutzune in
dieser Operation abgespeichert werden.
Im Zyklus 11 wird die Speicheradresse vom
WA-Register 52 im Rechenwerk fortgeschrieben und an das WA-Register 52 und das SAR-Prozessorregister 95
weitergegeben. Mit der fortgeschriebenen Adresse wird der Inhalt des ASR vom Hauptspeicher 8 geholt und in
die vorgewählte Stufe des Registerstapels 80 in den Zyklen 14 und 15 abgespeichert
Im Zyklus 12 wird die Adresse, die im SDR-Prozessorregister 70 gespeichert ist, an das B AR-Register der
vorgewählten Stufe im Stapel 80 weitergegeben.
im Zyklus 13 wird die Adresse im WA-Register 52 fortgeschrieben und an dac SAR-Prozessorregister 95
und das WA-Register 52 gegeben. Der Inhalt des Stufenstatusregisters SSR des vorgewählten Stufenstatusblocks
wird unter Verwendung der fortgeschriebenen Adresse im SAR-Register 95 geholt Die SSR-Daten
werden in das LSR-Register der vorgewählten Stufe im Stapel 80 während des Zyklus 17 weggespeichert.
In den Zyklen 14 und 15 stehen die Daten des Adreßschlüsselregisters ASR im SDR-Prozes:orreglster
70 und werden weitergegeben an das Y-Register 53 im Zyklus 14 und vom Y-Register an das ASR-Register
der vorgewählten Stufe im Stapel 80 während des Zyklus 15.
Im Zyklus 16 steht die Stufenstatusregisterinformation im Prozessor SDR 70 und wird weitergegeben an
das Y-Register53.
Im Zyklus 18 werden die Bits des Vorwahl-Stufen-Statusregisters übertragen vom SDR-Prozessorregister
70 an das SSR-Register der vorgewählten Stufe im Stapel 80. Außerdem werden die SSR-Bits im
Y-Register 53 um eine Bitposition nach links verschoben, um das In-Arbeit-Bit in der Bitposition 8 des
Y-Registers 53 einzuschalten. Damit kann dieses Bit während des Zyklus 19 abgefragt und das T-Kippglied
326 (Fig. 15) eingeschaltet werden, wenn das In-Arbeit-Bit eingeschaltet ist
Im Zyklus )8 wird die Adresse im WA-Register 53 fortgeschrieben und an das SA R-Prozessorregister 95
und das WA-Register 52 gegeben. Mit der fortgeschriebenen Adresse im SAR-Prozessorregister 95 wird das
nächste SSB-Wort vom Hauptspeicher 8 geholt, in diesem Fall der Inhalt des RO-Registers.
Im Zyklus 20 wird der Wert 8 in den Zähler 75 gesetzt und zur Schleifensteuerung für 8 Durchgänge der
Mikrozyklen 21 bis 23 verwendet, um die Allgemeinregister RO bis R7 des vorgewählten SSB aus dem
Hauptspeicher 8 in den Registerstapel 80 zu setzen. Während dieser Schleifensteuerung wird bei jeder
Adressierung des Stapels 80 durch das SAR-Register 105 die Adresse vom Register 105 in der Inkrementierschaltung
320 um eine Einheit erhöht und der neue Wert in das Stapelverbindungsregister 321 gesetzt. Während
der nächsten Adressierung des Stapels 80 gibt die Torschaltung 322 den neuen Adreßwert in das Register
105. Gleichzeitig wird der Zähler 75 um eins heruntergesetzt durch eine nicht dargestellte Schaltung
(für jeden Durchgang durch die Schleife). Jedesmal, wenn der Zähler 75 heruntergesetzt wird, wird er in
Zyklus 23 auf null abgefragt. Wenn keine Null gefunden wird, wird zum Zyklus 21 zurückverzweigt. Wenn aber
die Nullbedingung erkannt wird, fährt das Programm mit dem Zyklus 24 fort.
Die Zyklen 24, 25 und 26 bestimmen, ob die Priorität der aktiven Stufe kleiner, gleich oder größer ist als
diejenige der vorgewählten Stufe. In Zyklus 26 erfolgt aufgrund dieser Bedingung und der Stellung des
Kippgliedes 326 (F i g. 15), das den Wert des In-Arbeit-Bits
der vorgewählten Stufe liefert, eine Vier-Weg-Verzweigung,
In Zyklus 24 werden die Vorwahl-Stufenbits, die in das TEMPI -Register des Stapels 80 abgespeichert
wurden, übertragen in das WA-Register 52. Die Aktiv-Stufenbits werden aus dem Register 181 zur
Angabe der aktiven Stufe (F i g. 5) weitergegeben an das Y-Register 53 (während des Zyklus 25). Im Zyklus 26
wird die aktive Stufe im Y-Register 53 subtrahiert von
ίο der vorgewählten Stufe im WA-Register 52. Das
Ergebnis wird vom Rechenwerks-Ausgang 56 durch die Torschaltung 58 an die Prozessorsammelleitung 57
geleitet
Wie in Fig. 15 zu sehen ist wird das Bit 0 der Prozessorsammelleitung 57 auf eine Negativ-Bedingung
(über die Torschaltung 327) abgefragt Die Torschaltung 327 der Fig. 15 ist ein Teil der Steuerschaltung für
bedingte Verzweigungen (152) der Fig.2A, und die Abfrageleitungen 328 und 329 der Fi? 15 haben ihren
Ursprung in den Steuerdecodierschariiuigen 209 der
Fig. 2B und sind ein Teil der allgemein mit der Bezugszahl 286 in F i g. 2B bezeichneten Ausgabeleitungen.
Im Ausführungsbeispiel erfolgt die Vier-Weg-Verzweigung
durch Verbinden des Ausgangs 330 des T-Kippgliedes 326 mit Bit 5 des ROSAR 193 und durch
Koppeln des Ausgangs 331 der Torschaltung 327 auf Bit 6 des ROSAR 193. Abhängig von einem der vier
verfügbaren Zustände der Kombination von Torschaltung 327 und T-Kippglied 326 (d. h. 00, 01, 10 und 11)
wird das ROSAR 193 veranlaßt eine von vier verschiedenen Stellen im ROS-Speicher 201 anzusteuern.
In der obigen Mikroprogrammliste sind diese vier Stellen im Mikroprogrammspeicher 201 bezeichnet
durch die Zyklen 27,39,40 und 48.
In dem ersten zu behandelnden Verzweigungsfall ist das T-Kippglied 326 zurückgestellt weil das In-Arbeit-Bit
abgeschaltet war, und das Ausgangssignal der Torschaltung 327 ist auf dem logischen Null-Pegel, weil
die Priorität der aktiven Stufe nicht niedriger ist als diejenige der vorgewählten Stufe.
Es erfolgt eine Verzweigung im Zyklus 27, in dem eine Decodierschaltung 332 die Sammelleitung 57 auf einen
von Null verschiedenen Zustand prüft wein ein Signal
durch die Decodierschaltung 209 (Fig.2B) an die Eingangsleitung 332a der Fig. 15 angelegt wird. Wenn
sich die Sammelleitung 57 nicht im Null-Zustand befindet, wird zum Zyklus 37 verzweigt Wenn die
Daten auf der Sammelleitung 57 jedoch gleich null sind,
in wird im Zyklus 28 we:tergearbeitet. Bei der Verarbeitung
im Zyklus 28 sind die aktive und die vorgewählte Stufe gleich. Im Zyklus 28 wird der Inhalt des Registers
335 (wu/tende Stufe) über die Torschaltung 336 zum Register 181 (aktive Stufe) übertragen (Fig. 5). Im
" Zyklus 29 werden die Aktiv-Stufenbits vom Register 181
durch den Codierer 181c, die Sammelleitung 181a, die Torschaltung 181t/, die Bitleitungen 14 und 15 der
Prozessoresammelkitung 57 und die Torschaltung 186 zum Register 185 (vorgewählte Stufe) übertragen
M (Fig.2A).
Um das In-Arbeit-Bit im Aktiv-Stufenregisfer SSR im Stapel 80 anzuschalten, wird der Inhalt des SSR-Registers
im Zyklus 30 an das WA-Register 52 gegeben. Im Zyklus 31 wird der Wert 0040 in das Y-Register 53 (vom
^ Ausgang des ROS-Datenregisters 202) geleitet, wobei die Torschaltung 203 und die Prozessorsammelleitung
57 die Quelle sind. Im Zyklus 32 wird der Inhalt der
Register 52 und 53 in das Rechenwerk 51 gegeben, um
eine UND-NICHT-Funktion auszuführen, und das
Ergebnis wird in das aktive SSR-Register im Stapel 80 geleitet. Dadurch wird das In-Arbeit-Bit des SSB
effektiv ausgeschaltet, das gerade in der gewählten Stufe in den Zyklen 1 bis 26 geladen wurde. -,
Während des Zyklus 30 wird auch das Bit für die wartende Stufe im Register 335 (F i g. 5) entsprechend
der vorgewählten Stufe im Register 185 bei der Einleitung der Routine zurückgestellt, da ihr In-Arbeit-Bit
ausgeschaltet ist und die Verarbeitung auf m dieser Stufe nicht fortgeführt werden kann.
Im Zyklus 32 werden auch die Kippglieder für die aktive Stufe im Register 181 abgefragt um festzustellen,
ob auf irgendeiner Stufe etwas getan werden muß. Der Inhalt des Registers 181 hängt ab von der vorhergehen- :.
den Übertragung des Inhaltes des Registers 335 (wartende Stufe) in das Register 181 (aktive Stufe)
während des Zyklus 28. Wenn keine Aktion in einer der vier Stufen aussteht werden im Z"'k!ii; 33 die
Stufenstatusbits vom WA-Register 52 an das Vorwahl- :n
Stufenregister 90 übertragen und der Prozessor in den Wartezustand versetzt, d. h., im Aktiv-Stufenregister
181 ist kein Stufenbit gesetzt.
Wenn jedoch während des Zyklus 32 festgestellt wird. daß auf einer der vier Stufen etwas getan werden muß. r,
dann wird zum Zyklus 34 verzweigt. In den Zyklen 34 bzw. 35 und 36 werden die Stapelregister SAR. ASR und
SSR der höchsten wartenden Prioritätsstufe vom Stapel 80 in die separaten Register SAR. ASR und SSR
übertragen. Während des Zyklus 34 wird außerdem das w nächste Befehlswort von der im SAR-Prozessorregister
95 gespeicherten Adresse geholt. Im Zyklus nach dem Zyklus 36 wird die Verarbeitung des neuen Befehlswortes
eingeleitet
Falls im Zyklus 27 die Bedingung »Sammelleitung von η
null verschieden« festgestellt wurde und zum Zyklus 37 verzweigt wurde, wird die vorgewählte, im Register 335
wartende Stufe aktiviert und das nächste Befehlswort mit Hilfe der vom Register BAR der aktiven Stufe im
Stapel 80 an das SAR-Prozessorregister 95 übertrage- 4,
nen Adresse geholt Die Verarbeitung wird auf der aktiven Stufe fortgesetzt.
Kalis während des Zyklus 26 das In-Arbeit-Bit ausgeschaltet ist und die aktive Stufe eine niedrigere
Priorität hat als die vorgewählte, muß die vorgewählte 4ϊ
Stufe bereits im Ruhezustand sein, und es wird zum Zyklus 39 verzweigt Wenn sie sich nicht vorher im
Ruhezustand befand, hätte sie bereits die Aufgabe mit niedrigerer Priorität in der aktiven Stufe vorher
abgeschlossen. In diesem Fall wird im Zyklus 39 zum ίο
Zyklus 37 verzweigt, wo die Verarbeitung auf der aktiven Stufe fortgesetzt wird durch Übertragung des
Inhaltes des Registers BAR der aktiven Stufe im Stapel 80 an das SAR-Prozessorregister 95 und durch Holen
des nächsten Befehlswortes der Aufgabe der aktiven Stufe.
Wenn das In-Arbeit-Bit während der Ausführung des Zyklus 26 eingeschaltet ist (T-Kippglied 326 ist gesetzt)
und die aktive Stufe keine niedrigere Priorität hat als die vorgewählte Stufe, wird zum Zyklus 40 verzweigt Im ω
Zyklus 40 fragt die Schaltung 332 die Sammelleitung 57 auf einen von null verschiedenen Zustand ab. Befindet
sich die Sammelleitung 57 in einem solchen Zustand, wird zum Zyklus 46 verzweigt, um die Verarbeitung auf
der aktiven Stufe fortzusetzen. Die vorgewählte Stufe wird im Register 335 auf -^-artendri gesetzt
Wenn sich die Sammelleitung 57 jedoch im Null-Zustand befindet, wird die Verarbeitung mit dem
Zyklus 41 fortgesetzt. In diesem sind die aktive und dii
vorgewählte Stufe gleich, und da die Information fü BAR, ASR und SSR in die entsprechenden Register de
vorgewählten Stufe im Stapel 80 gesetzt wurde, mul diese Information jetzt in die separaten Registe
übertragen werden. In den Zyklen 41, 42 und 43 win somit der Inhalt der Stapelregister BAR, ASR und SSF
der gewählten Stufe an die separaten Register 95, 8i und 90 übertragen. In Zyklus 44 wird die vorgewählte
Stufe in das Wartestufenregister 325 gesetzt. Im Zyklu:
45 wird zum Zyklus 37 verzweigt und dort die Verarbeitung auf der neuen Stufe eingeleitet. Da;
BAR-Register im Stapel 80 wird dann zum SAR-Prozes
sorregister 95 übertragen und der nächste Befeh während des Zyklus 37 geholt. Im Zyklus 37 wire
außerdem das den Wartezustand der vorgewählter Stufe anzeigende Kippglied wieder zurückgestellt, df
sie für die Verarbeitung gewählt wurde.
\l/ itn
*'t-IIM gl.lllCILJ
~i~: r>
ι :i
Zyklus 40 zum Zyklus 46 verzweigt wird, wird die Adresse des nächsten Befehls vom Register BAR dei
aktiven Stufe im Stapel 80 an das SAR-Prozessorregi ster 95 übertragen, um das nächste Befehlswort zi
holen. Außerdem wird das Kippglied im Wartestufenre gister 335, das der vorgewählten Stufe entspricht, aul
»wartend« gesetzt und somit die Aufgabe mii niedrigerer Priorität (definiert durch den SSB dei
vor£ -wählten Stufe) in die Warteschlange gesetzt.
Falls während des Zyklus 26 zum Zyklus 48 aufgrüne eines eingeschalteten In-Arbeit-Bits verzweigt wire
(T-Kippglied 326 gesetzt) und die aktive Stufe eine niedrigere Priorität hat als dii vorgewählte (Sammellei
tung 57 ist negativ und erzeugt daher am Ausgang 331 der Torschaltung 327 ein logisches Einer-Signal), wire
die Aufgabe mit höherer Priorität auf der vorgewählter Stufe berücksichtigt. In den Zyklen 48 und 49 wird dei
Inhalt der separaten Register ASR und SSR (85 und 90; entsprechend an die Register ASR und SSR der aktiver
Stufe im Stapel 80 übertragen. Das Register BAR dei aktiven Stufe im Stapel 80 braucht nicht fortgeschrieber
zu werden, weil das bereits oben in Zyklus 4 geschah.
Im Zyklus 49 werden die Bits der vorgewählten Stufe vom Register 185 über die Torschaltung 191 in das
Wartestufenregister 335 geleitet, um die vorgewählte Stufe auf »wartend« zu setzen.
Der alte aktive Stufenwert steht noch im Y-Register 53 (Zyklus 25) und wird im Zyklus 50 zum Register 185
(vorgewählte Stufe) übertragen. Im Zyklus 51 wird dieser alte aktive Stufenwert in das Register 335
(wartende Stufe) über den Decodierer 190 und die Steuerschaltung 191 übertragen, um die alte alc .:ve Stufe
auf »wartend« zu setzen.
Im Zyklus 52 wird das Bit für die neue vorgewählte Stufe vom Register 335 in das Register 181 (aktive
Stufe) über die Torschaltung 336 übertragen, um die neue Aufgabe auf der höheren Stufe zu berücksichtigen.
Im Zyklus 53 wird zum Zyklus 34 verzweigt In den Zyklen 34, 35 und 36 wird der Inhalt der Register BAR
ASR und SSR der vorgewählten Stufe im Stapel 80 übertragen an die entsprechenden separaten Register
SAR, ASR und SSR (93, 85 und 90). Im Zyklus 34 wird mit der Adresse im SAR-Prozessorregister 95 der als
erster in der neugewählten Aufgabe auszuführende Befehl geholt Die Ausführung dieses Befehls beginnt
nach Ausführung des Zyklus 36. Die gewählte Aufgabe mit höherer Priorität wird somit in Angriff gEnommen
und die Aufgabe der aktiven Stufe mit niedrigerer Priorität in den Zustand »wartend« gebracht
39 | 27 18 | Best. | Stapel (SSR) | 051 | 40 |
Mikroprogramm | »SSB ABSPEICHERN« | gew. Stufe | Stapel (ASR) | ||
Quelle | RW.-Strg. | Stapel (BAR) | WA | SR- Slrg. |
Sonstiges Wort Nr |
Stapel (Rx) | Durchg. | SAR & WA | Zähler | I | |
WA | + 2 | Stapel (BAR) | SDR | 2 | |
Stapel (BAR) | Durchg. | Y | SAR | LIW | 3 |
WA | + 2 | WA | WA | 4 | |
Stapel (Rb) | Durchg. | SAR & W \ | SAR | 5 | |
SDR | Durchg. | TLMP | 6 | ||
WA+ Y | Addiere | WA | 7 | ||
WA | Durchg. | Y | 8 | ||
Stapel Rx | Durchg. | Subtrahiere WA | 9 | ||
Aki. Stufe | Durchg. | Durchg. | 10 | ||
WA-Y | Durchg. | Ver/.'v., wenn φ() 11 | |||
SSR | Durchg. | \2 | |||
ASR | Durchg. | 13 | |||
TKMP | Durchg. | 14 | |||
Ausgeben 000 H |
Durchg. | 15 | |||
Stapel (K) | Durchg. | 16 | |||
WA | Durchg. | SW | 17 | ||
WA+ 2 | Ver/w. nach 16. wenn 18 ZahlerΦ0 Zahler vermindern |
||||
Stapel (BAR) | LIW | 19 | |||
In der Mikroprogrammroutine »SSB abspeichern·' bezieht sich die aktive Stufe auf die ausgefühi'■:
Aufgabe und daher auf diejenige Stufe im Stapel 80. die die zu der ausgeführten Aufgabe gehörenden SSBRcgi- "■
ster enthält. Die vorgewählte Stufe bezieht sich auf die Aufgabe, deren SSB-Registerdaten von den entsprechenden
Stufenregistern des Stapels 80 in den Hauptspeicher 8 übertragen werden.
In den Zyklen 1 bis 8 der Routine »SSB abspeichern'« ;
wird die effektive Adresse des vorgewählten SSB wie bei der Ausführung des Befehls »SSB laden« festgelegt.
Die Werte für die vorgewählte (Rx) und die aktive Stufe werden in den Zyklen °>. 10 und 11 verglichen. Wenn sie
gleich sind, werden die Zyklen !2 und 1 3 ausgeführt, um '
die Register SSR und ASR de aktiven Stufe im Stapel
80 aus den separaten Registern SSR und ASR (90 und 85) fortzuschreiben, bevor der laufende SSB im
Hauptspeicher 8 gespeichert wird. Das Stapelregister BAR wurde bereits im Zyklus 4 fortgeschrieben.
Wenn die Stufen nicht gleich sind, werden die Schritte
12 und 13 weggelassen und die Ausführung in Zyklus 14
fortgesetzt, wo die effektive Adresse aus dem TEMP-Register im Stapel 80 wiedergewonnen und an
das WA-Register 52 geleitet wird. Der Dezimalwert 11 >■·■
wird im Zyklus 15 in ien Zähler 75 gesetzt upc zur
Sch!eifensteuerung in den Zyklen 16. 17 und 18
vfp-v endet, um den gesamten SSB in den Hauptspeicher
8 ähnlich zu speichern, wie es oben für die
SSB-Laderoütine beschrieben wurdt. Die verwendete -■
Stapeiadresse(K) wird nach der Benutzung automatisch
erhöht durch die inkrernerre-schaitung 320. das
Rei.ster 321 und die Torschaiu:ri« 322. Die Befehlsausführung
läuft in Zvklus 14 weiter, wo tier in der
Reihenfolge nächste Befehl der aktiven Stufe geholt wird.
Als Beispiel wurde eine Art der Adressierung für das
Laden und Abspeichern de·· Suifenstatusblocks SSB
beschrieben, andere AdrelMormen können jedoch
ebenso benutzt werden.
Zusammenfassung
Im beschriebenen Au^ührungsbeispiel belegen die
Stufenstatusblöcke normalerweise zusammenhängende Bereiche de:. Hauptspeichers und bestehen aus folgenden
Parametern:
Wort 1 - die zur Aufgabe und ihrem Ausführungszustand
gehörende .Statusinformation (.Stufenstatus
genannt)
Wort 2 - Adreßschlüsselregisterinformation. identifiziert
die der Aufgabe zugeordneten Adreßräume
Wort 3 — die Befehlsadresse, an der die Ausführung
der Aufgabe beginnen oder fortgeführt werden soll
Wort 4 bis Ii -dieser Bereich enthält den Inhalt der
bei Aktivierung der Aufgabe zu benutzenden Aügemeinregister
Der im Hauptspeicher diesem Abschnitt des Stufensiatusbiocks
unmittelbar folgende Bereich kann für Programmsteuerdaten benutzt werden. Zwar v/erden
die Daten aus diesem anschließenden Bereich nicht zur Steuerung von Scha''ungseinrichtungen (Hardware)
benutzt. Doch ist es bequem, die Aufgabe in einem zusammenhängenden Speicherblock zu beschreiben.
Der Aufbau des Programmsteuerungsteils des Stufen-
Statusblocks hängt ab von der Art des verwendeten Programmiersystems und nicht von den voranstehenden
Wörtern I bis 11 desStufenstatusblocks.
Um eine gegebene Aufgabe auf einer gegebenen Stufe zu aktivieren, wird ein Befehl »Stufenstatusblock >
laden« ausgeführt. Dieser Befehl errechnet die effektive Adresse des ge -zählten Stufenstatusblocks im Hauptspeicher
und lädt diesen Block in die besonderen (separaten) Schaltungseinrichtungen der parametrisch
durch den Befehl gewählten Stufe. Der Ladebefehl für in den Stufenstatusblock kann auch da/u benutzt werden,
eine Aufgabe auszusetzen oder zu beenden.
Der jeweilige Status der auf jeder Stufe im System aktiven Aufgaben kann abgefragt und in den Hauptspeicher
kopiert werden durch einen Befehl »Stufenstatus- ι "> block abspeichern«, der genau entgegengesetzt wirkt
wie der Stufenstatusblock-Ladebefehl, d.h.. der Inhalt der separaten Register und die zur adressierten Stufe
gehörenden Statusbedingungen werden in die Hauptspeicherstellen gesetzt, welche an der effektiven "
Adresse beginnen, die aus dem Stufenstatusblock-Speicherbcfehl errechnet wurde.
Durch Anhängen der Programmsieuerpararneter an
den Parametersatz im Stufenstatusblock. der sowohl von den Schaltungseinrichtungen (Hardware) als auch >-.
von den Programmen (Software) benutzt wird, kann man ein einziges Register als Basis für die Manipulation
der Statusdaten der ganzen Aufgabe verwenden. Das Stufenstaturwort kann folgenden Inhalt haben:
1. Einen Satz arithmetischer/logischer Ergebnisanzeiger
als Ergebnis bestimmter Operationen, die nachfolgend bei Verzweigungsbefehlen zur Entscheidungsfindung
benutzt werden.
2. Ein die Existenz des Überwachungszustandes be- ·->
zeichnendes Bit. Im Überwachungszustand können diejenigen Befehle ausgeführt werden, die die
Manipulation von Systemeinheiten gestatten. Wenn das Bit auf Null steht, wird das System als im
Problemzustand befindlich betrachtet, und Befehle w
dieser Art werden unterdrückt.
J. bin »in-ArDeitw-öit zeigt an, dab die Aulgabe
entweder gegenwärtig aktiv ist oder aufgrund einer Unterbrechung höherer Priorität vorübergehend
zurückgestellt wurde. Das In-Arbeit-Bit wird für i;
Aufgabenumschaltung und Aufgabenabruf benutzt.
4. Ein Protokollbit wird verwendet, wenn eine schaltungsbezogene
Protokollierung für die laufende Aufgabe vorgesehen ist.
5. Die System-Summenrnaskenbits und andere Unter- ϊ»
brechungssteuerbedingungsbits sind im Stufenstatus enthalten. Andere Funktionen für die Steuerung der
Maske in anderen Systemen können natürlich ebenfalls in den Stufenstatus eingeschlossen werden.
Der Stufenstatus ist ebensowenig wie die übrigen Felder im Stufenstatusblock auf eine Wortlänge
begrenzt
Wenn Ladebefehle für den Stufenstatusblock ausgeführt werden, so ist ihre Auswirkung auf das System &o
bestimmt durch drei Faktoren:
1. Die aktive (laufende) Ausführungsstufe
2. Die parametrisch beim Laden des Stufenstatusblccks
ais Zielsiufe gewählte (vorgewählie) Stufe b3
3. Der Zustand des in dem durch die effektive Adresse
des StufenstatitJblock-Ladebefehls bezeichneten Stufenstatusblocks
enthaltenen In-Arbeit-Bits
Wenn das In-Arbeit-Bit in dem durch den Stufenstatusblock-Ladebefehl
bezeichneten Stufenstatusblock auf Eins steht, hat der Ladebefehl für den Stufenstatusblock
folgende Wirkung:
1. Wenn die vorgewählte Stufe eine niedrigere Priorität
hat als die aktive Stufe, wird die vorgewählte Stufe in einen Wartezustand gesetzt, und ihr Stufenstatus
wird definiert durch denjenigen Stufenstatusblock, der an der effektiven Adresse aus dem Ladebefehl für
den Stufenstatusblock stand. Vorausgesetzt, daß keine Prioritätsunterbrechungen auf einer höheren
als der vorgewählten Stufen angefordert werden, wird nach Beendigung der Arbeit auf der aktiven
Stufe die vorgewählte Stufe aktiviert.
2. Wetin die vorgewählte Stufe die gleiche Piioiiiiii iiai
wie die aktive Stufe, wird die vorgewählte zur aktiven Stufe, und ihr Stufenstatus wird definiert durch den
Stufenstatusblock an der durch den Ladebefehl des Stufenstatusblocks angegebenen effektiven Adresse.
J. Wenn die vorgewählte Stufe eine höhere Priorität hat als die aktive Stufe, wird die vorgewählte zur
aktiven und ihr Stufenstatus wird definiert durch den Stufenstatusblock an der durch den Ladebefehl für
den Stufenstatusblock angegebenen effektiven Adresse.
Die Operation 1 gestattet das Einordnen einer Aufgabe mit niedriger Stufe in die Warteschlange und
ihre Ausführung, wenn die wichtigere Aufgabe beendet ist. Die Operation 2 gestattet die Modifikation der
aktiven Aufgabe und die Operation 3 eine Unterbrechung zur Bevorzugung der höheren Stufe und ein
Aussetzen der alien aktiven Stufe.
Im folgenden Abschnitt werden die Operationen beschrieben. Jie ablaufen, wem das In-Arbeit-Bit im
Stufenstatusblock (an der durch die effektive Adresse, die im Ladebefehl für den Stufenstatusblock enthalten
ist, angegebenen Hauptspeicherstelle) eine Null ist:
1. Wenn vorgewählte Stufe eine niedrigere Priorität hat als die aktive Stufe, wird die vorgewählte Stufe nicht
ausgesetzt. Ihr Stufenstatus ist definiert durch den Stufenstatusblock an der durch den Ladebefehl für
den Stufenstatusblock angegebenen effektiven Adresse.
2. Wenn die vorgewählte Stufe gleich der laufenden Stufe ist, wird die Bearbeitung auf der aktiven Stufe
beendet, wobei ihr Stufenstatus definiert ist durch den Stufenstatusblock an der durch den Ladebefehl
für den Stufenstatusblock angegebenen effektiven Adresse.
3. Wenn die vorgewählte Stufe eine höhere Priorität hat als die aktive Stufe, wird der höhere Stufenstatus
definiert durch den Stufenstatusblock an der durch den Ladebefehl für den Stufenstatusblock angegebenen
effektiven Adresse.
Der obige Fall 1 gestattet das Aussetzen oder Beenden einer Aufgabe, wobei ihr Status entweder nach
Wunsch verändert oder nicht verändert wird. Der obige Fall 2 gestattet dieselbe Operation auf der aktiven Stufe,
während der Fall 3 die Einordnung einer Aufgabe auf einer höheren Stufe ermöglicht, ihre Ausführung jedoch
nach Wunsch verzögern läßt
Hierzu 15 Blatt Zeichnungen
Claims (1)
1. Datenverarbeitungsanlage mit Einrichtungen zur wechselnden Bearbeitung mehrerer Aufgaben
auf verschiedenen Prioritätsstufen, mit einem Prozessor und einem Hauptspeicher und mit den
Prioritätsstufen fest zugeordneten Registergruppen zur Aufnahme von den Aufgaben zugeordneten
Züstands- und Steuerdaten, gekennzeichnet durch folgende Merkmale:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/681,953 US4047161A (en) | 1976-04-30 | 1976-04-30 | Task management apparatus |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2718051A1 DE2718051A1 (de) | 1977-11-10 |
DE2718051B2 DE2718051B2 (de) | 1981-04-09 |
DE2718051C3 true DE2718051C3 (de) | 1981-11-26 |
Family
ID=24737563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2718051A Expired DE2718051C3 (de) | 1976-04-30 | 1977-04-22 | Datenverarbeitungsanlage mit Einrichtungen zur wechselnden Bearbeitung mehrerer Aufgaben |
Country Status (13)
Country | Link |
---|---|
US (1) | US4047161A (de) |
JP (1) | JPS52133740A (de) |
AU (1) | AU506941B2 (de) |
BE (1) | BE852992A (de) |
BR (1) | BR7702818A (de) |
CH (1) | CH616013A5 (de) |
DE (1) | DE2718051C3 (de) |
ES (1) | ES458323A1 (de) |
FR (1) | FR2349884A1 (de) |
GB (1) | GB1557119A (de) |
IT (1) | IT1115278B (de) |
NL (1) | NL7704653A (de) |
SE (1) | SE417552B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009030372A1 (de) | 2009-06-25 | 2010-12-30 | Schaeffler Technologies Gmbh & Co. Kg | Am Kreuzgelenkzapfen befestigte Lagerbüchsendichtung |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4152761A (en) * | 1976-07-28 | 1979-05-01 | Intel Corporation | Multi-task digital processor employing a priority |
US4122519A (en) * | 1976-12-14 | 1978-10-24 | Allen-Bradley Company | Data handling module for programmable controller |
US4342082A (en) * | 1977-01-13 | 1982-07-27 | International Business Machines Corp. | Program instruction mechanism for shortened recursive handling of interruptions |
JPS5429538A (en) * | 1977-08-09 | 1979-03-05 | Toshiba Corp | Information processing system |
JPS5443644A (en) * | 1977-09-13 | 1979-04-06 | Fujitsu Ltd | Processing system for deadlock automatic release at exclusive control time |
US4189771A (en) * | 1977-10-11 | 1980-02-19 | International Business Machines Corporation | Method and means for the detection of deadlock among waiting tasks in a multiprocessing, multiprogramming CPU environment |
US4197589A (en) * | 1977-12-05 | 1980-04-08 | Texas Instruments Incorporated | Operation sequencing mechanism |
DE2754890C2 (de) * | 1977-12-09 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Programmunterbrechung |
US4250546A (en) * | 1978-07-31 | 1981-02-10 | Motorola, Inc. | Fast interrupt method |
US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
US4319321A (en) * | 1979-05-11 | 1982-03-09 | The Boeing Company | Transition machine--a general purpose computer |
US4286322A (en) * | 1979-07-03 | 1981-08-25 | International Business Machines Corporation | Task handling apparatus |
US4313161A (en) * | 1979-11-13 | 1982-01-26 | International Business Machines Corporation | Shared storage for multiple processor systems |
FR2474200B1 (fr) * | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif d'arbitrage des conflits d'acces entre une requete asynchrone et un programme en section critique |
JPS56109057A (en) * | 1980-02-04 | 1981-08-29 | Hitachi Ltd | Data communication system |
US4318173A (en) * | 1980-02-05 | 1982-03-02 | The Bendix Corporation | Scheduler for a multiple computer system |
US4333144A (en) * | 1980-02-05 | 1982-06-01 | The Bendix Corporation | Task communicator for multiple computer system |
US4384323A (en) * | 1980-02-25 | 1983-05-17 | Bell Telephone Laboratories, Incorporated | Store group bus allocation system |
US4435758A (en) | 1980-03-10 | 1984-03-06 | International Business Machines Corporation | Method for conditional branch execution in SIMD vector processors |
US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
FR2500659B1 (fr) * | 1981-02-25 | 1986-02-28 | Philips Ind Commerciale | Dispositif pour l'allocation dynamique des taches d'un ordinateur multiprocesseur |
US4410942A (en) * | 1981-03-06 | 1983-10-18 | International Business Machines Corporation | Synchronizing buffered peripheral subsystems to host operations |
US4394727A (en) * | 1981-05-04 | 1983-07-19 | International Business Machines Corporation | Multi-processor task dispatching apparatus |
US4939640A (en) * | 1981-05-22 | 1990-07-03 | Data General Corporation | Data processing system having unique microinstruction control and stack means |
US4445190A (en) * | 1981-06-16 | 1984-04-24 | International Business Machines Corporation | Program identification encoding |
US4425618A (en) * | 1981-11-23 | 1984-01-10 | Bell Telephone Laboratories, Incorporated | Method and apparatus for introducing program changes in program-controlled systems |
US4709349A (en) * | 1982-01-05 | 1987-11-24 | Sharp Kabushiki Kaisha | Method for maintaining display/print mode in display printer |
US4704678A (en) * | 1982-11-26 | 1987-11-03 | Inmos Limited | Function set for a microcomputer |
US4901230A (en) * | 1983-04-25 | 1990-02-13 | Cray Research, Inc. | Computer vector multiprocessing control with multiple access memory and priority conflict resolution method |
US4661900A (en) * | 1983-04-25 | 1987-04-28 | Cray Research, Inc. | Flexible chaining in vector processor with selective use of vector registers as operand and result registers |
US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
GB8329509D0 (en) * | 1983-11-04 | 1983-12-07 | Inmos Ltd | Computer |
US4980820A (en) * | 1985-02-28 | 1990-12-25 | International Business Machines Corporation | Interrupt driven prioritized queue |
US4754398A (en) * | 1985-06-28 | 1988-06-28 | Cray Research, Inc. | System for multiprocessor communication using local and common semaphore and information registers |
US4745545A (en) * | 1985-06-28 | 1988-05-17 | Cray Research, Inc. | Memory reference control in a multiprocessor |
JPH0792782B2 (ja) * | 1985-09-30 | 1995-10-09 | 富士通株式会社 | 処理実行システム |
US4837688A (en) * | 1986-07-25 | 1989-06-06 | International Business Machines Corporation | Multi-channel shared resource processor |
DE3750171T2 (de) * | 1986-08-28 | 1995-02-02 | Nec Corp | Multiaufgabenverarbeitungsgerät. |
US5764922A (en) * | 1986-11-04 | 1998-06-09 | Unisys Corporation | I/O system for off-loading operating system functions |
JPS63170736A (ja) * | 1987-01-09 | 1988-07-14 | Toshiba Corp | マイクロプロセツサ |
US4805096A (en) * | 1987-03-06 | 1989-02-14 | Eta Systems, Inc. | Interrupt system |
US5012409A (en) * | 1988-03-10 | 1991-04-30 | Fletcher Mitchell S | Operating system for a multi-tasking operating environment |
US5025369A (en) * | 1988-08-25 | 1991-06-18 | David Schwartz Enterprises, Inc. | Computer system |
US5142638A (en) * | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
US5247671A (en) * | 1990-02-14 | 1993-09-21 | International Business Machines Corporation | Scalable schedules for serial communications controller in data processing systems |
US5301330A (en) * | 1990-10-12 | 1994-04-05 | Advanced Micro Devices, Inc. | Contention handling apparatus for generating user busy signal by logically summing wait output of next higher priority user and access requests of higher priority users |
JP2561801B2 (ja) * | 1993-02-24 | 1996-12-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プロセス・スケジューリングの管理方法およびシステム |
JP2521027B2 (ja) * | 1993-08-27 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセッサ及びその制御方法 |
US5987601A (en) * | 1997-02-14 | 1999-11-16 | Xyron Corporation | Zero overhead computer interrupts with task switching |
US6567839B1 (en) | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
US6076157A (en) * | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6105051A (en) * | 1997-10-23 | 2000-08-15 | International Business Machines Corporation | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor |
US6212544B1 (en) | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6697935B1 (en) * | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
GB2361848A (en) * | 2000-04-25 | 2001-10-31 | Ibm | Error correction for system interconnects |
US7093260B1 (en) | 2000-05-04 | 2006-08-15 | International Business Machines Corporation | Method, system, and program for saving a state of a task and executing the task by a processor in a multiprocessor system |
JP2002182927A (ja) * | 2000-12-13 | 2002-06-28 | Hitachi Ltd | 異種実行環境におけるレジスタの割当て方法、異種実行環境におけるソフトウェア開発方法、および、それを実行するプログラムが組み込まれたlsi |
WO2002065287A1 (en) * | 2001-02-16 | 2002-08-22 | Sony Corporation | Data processing method and its apparatus |
US20030014474A1 (en) * | 2001-05-30 | 2003-01-16 | Mckaig Ray S. | Alternate zero overhead task change circuit |
US20040172631A1 (en) * | 2001-06-20 | 2004-09-02 | Howard James E | Concurrent-multitasking processor |
US7178147B2 (en) * | 2001-09-21 | 2007-02-13 | International Business Machines Corporation | Method, system, and program for allocating processor resources to a first and second types of tasks |
AU2003303497A1 (en) * | 2002-12-31 | 2004-07-29 | Globespanvirata Incorporated | System and method for providing balanced thread scheduling |
US20050015768A1 (en) * | 2002-12-31 | 2005-01-20 | Moore Mark Justin | System and method for providing hardware-assisted task scheduling |
US7739685B2 (en) * | 2005-01-06 | 2010-06-15 | International Business Machines Corporation | Decoupling a central processing unit from its tasks |
US7996595B2 (en) * | 2009-04-14 | 2011-08-09 | Lstar Technologies Llc | Interrupt arbitration for multiprocessors |
US8260996B2 (en) * | 2009-04-24 | 2012-09-04 | Empire Technology Development Llc | Interrupt optimization for multiprocessors |
US8321614B2 (en) * | 2009-04-24 | 2012-11-27 | Empire Technology Development Llc | Dynamic scheduling interrupt controller for multiprocessors |
US8234431B2 (en) * | 2009-10-13 | 2012-07-31 | Empire Technology Development Llc | Interrupt masking for multi-core processors |
CN112784261B (zh) * | 2021-01-04 | 2023-10-27 | 北京蓝军网安科技发展有限责任公司 | 用于程序运行的方法及相应的系统、计算机设备和介质 |
US11792135B2 (en) | 2022-03-07 | 2023-10-17 | Bank Of America Corporation | Automated process scheduling in a computer network |
US11922161B2 (en) | 2022-03-07 | 2024-03-05 | Bank Of America Corporation | Scheduling a pausable automated process in a computer network |
US20240054073A1 (en) * | 2022-08-11 | 2024-02-15 | Arm Limited | Circuitry and Method |
CN115858018B (zh) * | 2023-02-27 | 2023-05-16 | 珠海星云智联科技有限公司 | 一种嵌入式系统的自适应寄存器更新方法、设备及介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3568157A (en) * | 1963-12-31 | 1971-03-02 | Bell Telephone Labor Inc | Program controlled data processing system |
US3530438A (en) * | 1965-12-13 | 1970-09-22 | Sperry Rand Corp | Task control |
US3566357A (en) * | 1966-07-05 | 1971-02-23 | Rca Corp | Multi-processor multi-programed computer system |
US3496551A (en) * | 1967-07-13 | 1970-02-17 | Ibm | Task selection in a multi-processor computing system |
US3643227A (en) * | 1969-09-15 | 1972-02-15 | Fairchild Camera Instr Co | Job flow and multiprocessor operation control system |
US3648252A (en) * | 1969-11-03 | 1972-03-07 | Honeywell Inc | Multiprogrammable, multiprocessor computer system |
BE758813A (fr) * | 1969-11-28 | 1971-04-16 | Burroughs Corp | Structures de programme pour la mise en oeuvre de systemes de traitement d'information, communes a des langages de programme de niveau plus eleve |
US3648253A (en) * | 1969-12-10 | 1972-03-07 | Ibm | Program scheduler for processing systems |
US3665415A (en) * | 1970-04-29 | 1972-05-23 | Honeywell Inf Systems | Data processing system with program interrupt priority apparatus utilizing working store for multiplexing interrupt requests |
GB1397438A (en) * | 1971-10-27 | 1975-06-11 | Ibm | Data processing system |
US3916383A (en) * | 1973-02-20 | 1975-10-28 | Memorex Corp | Multi-processor data processing system |
US3825902A (en) * | 1973-04-30 | 1974-07-23 | Ibm | Interlevel communication in multilevel priority interrupt system |
IT986411B (it) * | 1973-06-05 | 1975-01-30 | Olivetti E C Spa | Sistema per trasferire il control lo delle elaborazioni da un primo livello prioritario ad un secondo livello prioritario |
US3916385A (en) * | 1973-12-12 | 1975-10-28 | Honeywell Inf Systems | Ring checking hardware |
-
1976
- 1976-04-30 US US05/681,953 patent/US4047161A/en not_active Expired - Lifetime
-
1977
- 1977-03-11 FR FR7707755A patent/FR2349884A1/fr active Granted
- 1977-03-23 IT IT21560/77A patent/IT1115278B/it active
- 1977-03-29 BE BE176210A patent/BE852992A/xx not_active IP Right Cessation
- 1977-04-05 GB GB14254/77A patent/GB1557119A/en not_active Expired
- 1977-04-22 DE DE2718051A patent/DE2718051C3/de not_active Expired
- 1977-04-26 JP JP4751277A patent/JPS52133740A/ja active Granted
- 1977-04-27 CH CH519877A patent/CH616013A5/de not_active IP Right Cessation
- 1977-04-28 NL NL7704653A patent/NL7704653A/xx not_active Application Discontinuation
- 1977-04-29 SE SE7704956A patent/SE417552B/xx not_active IP Right Cessation
- 1977-04-29 ES ES458323A patent/ES458323A1/es not_active Expired
- 1977-05-02 BR BR7702818A patent/BR7702818A/pt unknown
- 1977-05-02 AU AU24740/77A patent/AU506941B2/en not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009030372A1 (de) | 2009-06-25 | 2010-12-30 | Schaeffler Technologies Gmbh & Co. Kg | Am Kreuzgelenkzapfen befestigte Lagerbüchsendichtung |
Also Published As
Publication number | Publication date |
---|---|
BE852992A (fr) | 1977-07-18 |
FR2349884A1 (fr) | 1977-11-25 |
JPS52133740A (en) | 1977-11-09 |
NL7704653A (nl) | 1977-11-01 |
ES458323A1 (es) | 1978-03-01 |
IT1115278B (it) | 1986-02-03 |
GB1557119A (en) | 1979-12-05 |
US4047161A (en) | 1977-09-06 |
JPS5441458B2 (de) | 1979-12-08 |
SE417552B (sv) | 1981-03-23 |
DE2718051B2 (de) | 1981-04-09 |
AU506941B2 (en) | 1980-01-31 |
BR7702818A (pt) | 1978-02-28 |
CH616013A5 (de) | 1980-02-29 |
FR2349884B1 (de) | 1980-06-27 |
SE7704956L (sv) | 1977-10-31 |
AU2474077A (en) | 1978-11-09 |
DE2718051A1 (de) | 1977-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2718051C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur wechselnden Bearbeitung mehrerer Aufgaben | |
DE2251876C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2722099C2 (de) | ||
DE3610433C2 (de) | Verfahren zum Steuern einer Maschine mit einer speicherprogrammierbaren Steuerung mit Funktionsplaninterpreter | |
DE10085374B4 (de) | Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem | |
DE2714805C2 (de) | ||
DE2756762A1 (de) | Verfahren und anordnung zum zugriff zu beliebigen bitfeldern im hauptspeicher einer datenverarbeitungsanlage | |
DE3638572C2 (de) | ||
DE2411963B2 (de) | Datenverarbeitungsanlage | |
DE2935906C2 (de) | Mikroprozessor | |
DE1524209A1 (de) | Leitwerk fuer eine Rechenanlage | |
DE2839726A1 (de) | Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system | |
DE2459675A1 (de) | Datenverarbeitungssystem | |
CH629010A5 (de) | Anschlussschaltung fuer eine eingabe/ausgabeschnittstelle in einer datenverarbeitungsanlage. | |
DE4223454A1 (de) | Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung | |
DE19652290C2 (de) | Mikrocomputer | |
DE4445651A1 (de) | Verfahren zur Steuerung von technischen Vorgängen | |
WO2011063869A1 (de) | Verfahren zum ermöglichen einer sequentiellen, nicht blockierenden abarbeitung von anweisungen in nebenläufigen tasks in einer steuereinrichtung | |
DE4009804A1 (de) | Programmierbarer prozessrechner mit einem funktionsblockprozessor und einem bit-prozessor | |
CH635451A5 (de) | Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen in einer datenverarbeitungsanlage. | |
DE2507405C2 (de) | Anordnung zum Synchronisieren gleichzeitig auszuführender Tasks für Peripheriegeräte einer Datenverarbeitungsanlage | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE4010895C2 (de) | Mikroprozessor mit Befehlsdecodiereinrichtung | |
DE19727480C1 (de) | Computersystem mit Unterbrechungssteuerung | |
EP0108418B1 (de) | Vorrichtung zur Mikroprogramm-Steuerung eines Informationstransfers und Verfahren zu ihrem Betrieb |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |