DE2417795C2 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2417795C2 DE2417795C2 DE2417795A DE2417795A DE2417795C2 DE 2417795 C2 DE2417795 C2 DE 2417795C2 DE 2417795 A DE2417795 A DE 2417795A DE 2417795 A DE2417795 A DE 2417795A DE 2417795 C2 DE2417795 C2 DE 2417795C2
- Authority
- DE
- Germany
- Prior art keywords
- microprogram
- memory
- priority
- address
- register
- 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
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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die Erfindung bezieht sich auf eine Datenverarbeitungsanlage nach dem Oberbegriff des Anspruches 1.
Es sind Datenverarbeitungsanlagen mit einer Verarbeitungseinrichtung
bekannt, die Unterbrechungsanfragen, z. B. aus peripheren Geräten, aufnimmt. Die
Anfragen werden einer Anzahl von unterschiedlichen Prioritätszuständen zugeordnet, derart, daß eine Anfrage
mit einem höheren Prioritätszustand Vorrang gegenüber Anfragen mit niedrigeren Prioritätszuständen
hat. Die Verarbeitungseinrichtung besitzt eine Prioritätssteuervorrichtung, die die Anfrage höchster
Priorität auswählt und einen entsprechenden Programmzustand wirksam macht, der die Anfrage bedient
(US-PS 32 86 239 und 35 99 162).
Die Programme sind üblicherweise in einem Speicher festgehalten, und ein als Programmadressenregister
bezeichnetes Spezialregister dient zum Adressieren der individuellen Programminstruktionen im Speicher. Dieses
Register wird weiter geschaltet, so daß es das Programm durchläuft und zwar jeweils um eine
Instruktion.
Es ist ferner bekannt (US- PS 33 73 408), eine Vielzahl von Programmadressenregistern vorzusehen, und zwar
jeweils eines für jede Prioritätsstufe. Jede gewünschte Prioritätsstufe kann somit einfach dadurch wirksam
gemacht werden, daß das entsprechende Register aus ίο den Registern ausgewählt wird um den Speicher zu
adressieren. Das ausgewählte Register wird in normaler Weise weitergeschaltet so daß das Programm durchlaufen
wird. Die vorhandenen Vielfachprogramm-Adressenregister erleichtern das Umschalten von einer
Prioritätsstufe auf eine andere, wenn eine Unterbrechung auftritt Ein wesentlicher Nachteil derartiger
bekannter Anordnungen besteht jedoch darin, daß zwar die Verarbeitung der Unterbrechungsanfragen vereinfacht
wird, daß dies aber nicht zur Durchführung von Programmen beiträgt, die nicht Unterbrechungsanfragen
zugeordnet sind. Insbesondere wird die Durchführung von verschachtelten Unterprogrammen, d.h.
solchen, bei denen ein Programm auf ein anderes Programm (Unterprogramm) springt, von welchem eine
Rückkehr erwartet wird, nicht unterstützt.
Aufgabe der Erfindung ist es, eine Datenverarbeitungsanlage der gattungsgemäßen Art so auszubilden,
daß die Durchführung verschachtelter Unterprogramme erleichtert wird.
Gemäß der Erfindung wird dies mit dem kennzeichnenden Merkmal des Anspruches 1 gelöst. Eine
Weiterbildung dieses Vorschlages ist Gegenstand des Unteranspruches 2.
Bei einer Datenverarbeitungsanlage nach der Erfindung ist der Mikroprogrammzustand höchster Priorität
für kritische Unterbrechungen reserviert, z. B. aufgrund von Paritätsfehlern oder Maschinenfehlern. Die Rangordnung
normaler Unterbrechungen für Prioritätsstufen beginnt somit mit der Stufe der kritischen
Unterbrechung und es schließen sich dann die Stufen, die auf periphere Einrichtungen — auch periphere
Geräte genannt — bezogen sind, und eine auf den Prozessor bezogene Aktivität, die in der Ranganordnung
niedriger ist, an.
Es kann mehr als ein peripheres Gerät die gleiche Prioritätsstufe gemeinsam benutzen, und es ist —
obgleich dies bedeutet, daß sie einander nicht unterbrechen können - normalerweise eine Prioritätsschaltung vorgesehen, die die Reihenfolge bestimmt, in
der die entsprechenden Prioritätsstufen verwendet werden.
Die Aktivität des Prozessors, die nicht auf die Bedürfnisse der peripheren Geräte bezogen ist, erhält
die niedrigste Priorität, und diese wird durch eine Anfrage eines der peripheren Geräte nach Bereitstellung
unterbrochen. Anstatt nur Prioritätsstufen für eine solche auf den Prozessor bezogene Aktivität anzurufen,
wird eine Anzahl von Stufen verwendet, die ebenfalls in der Ranganordnung angeordnet sind, wobei jede Stufe
ihr eigenes Mikroprogramm-Adressenregister besitzt. Die Verwendung einer Anzahl von auf den Prozessor
bezogenen Mikroprogrammstufen mit den entsprechenden Registern ist einem Zweirichtungs-Zähler für
die Stufenänderungssteuerung zugeordnet und ermöglicht ein Stapeln, bei dem das Ineinanderschachteln von
Mikroprogrammsprüngen dadurch erreicht wird, daß der Inhalt des Mikroprogramm-Adressenregisters für
die laufende Stufe vor Betätigung des Zählers zur
50
Auswahl des Mikroprogrammstufenadressenregisters
rächst höherer Priorität zur Aufnahme der Sprungbestimmung schrittweise vergrößert wird. Bei einer
erfolgreichen Rückführung aus einem Sprung wird der Zähler in die Prioritätsstufe nächst niedrigerer Priorität
sequentiell geändert.
Eine zweckmäßige Gesamtanzahl von Prioritätsstufen ist sechzehn; dabei sind acht Stufen der Prozessoraxtivität,
die nicht auf periphere Geräte bezogen ist, zugewiesen, sidjen höhere Stufen sind der auf periphere
Geräte bezogenen P-ozessoraktivität zugewiesen, und die höchste Stufe ist für kritische Unterbrechungen
reserviert. Dies bedeutet, daß die Mikroprogrammadressenregister bis zu einer Tiefe von sechzehn wiederholt
werden, ähnlich wie einige der Arbeitsregister, während die übrigen auf einer Tiefe von neun gehalten werden.
Vorzugsweise wird jeder Satz von Registern als wortorganisierter Speicher für direkten Zugriff ausgeführt,
und alle solchen Speicher durch eine Anzeige der gewünschten Prioritätsstufe adressierbar gemacht, die
teilweise durch eine Prioritätsschaltung bestimmt wird, um die Prioritäten der peripheren Geräte abzuschätzen,
die eine Verarbeitungszeii erfordern. Eine solche Prioritätsschaltung kann durch eine weitere Schaltung
unterstützt werden, die in der Weise wirksam ist, daß sie zwischen peripheren Geräten auswählt, die gemeinsam
die gleiche Prioritätsstufe benutzen.
Bei einer bevorzugten Ausführungsform der Erfindung erfolgt die Verwendung der die Stufe bestimmenden
Anzeige auf die verschiedenen Sätze von Speichern, die Register mit Wiederholangabe darstellen, nicht
gleichzeitig, da die Arbeitsvorgänge des Prozessors sich mit dem Mikroinstruktionsabruf, dem Mikroinstruktionsdekodieren
und der sich daraus ergebenden Datenflußsteuerung für den Instruktionsablauf, der in
fortschreitenden Prozessorzyklen erfolgt, überlappen oder ineinanderschachteln. Dies bedeutet, ciaß zu jedem
beliebigen Zeilpunkt das Abrufen, das Dekodieren und das Ausführen relativ zu unterschiedlichen Mikroinstruktionen
erfolgen kann. Eine entsprechende Zeitsteuerung der Mikroprogramm-Stufenregelung und der
Registerschaliung ist somit erforderlich, damit die
Instruktionen, die bereits gewartet sind, auf die Ausführungsstufe laufen.
Vorzugsweise ist eine Aufhebungseinrichtung vorgesehen,
die während eines derartigen Anlaufens der DatenvielfachleitunK in der Weise wirksam wird, daß
von Anfängen der Sprungvorgänge oder Speicherzugriffe gezählt wird, so daß Rückführungen auf die
unterbrochene Stufe für eine Mikroprogrammadresse vorgenommen werden können, die so modifiziert ist,
daß sie auf eine Instruktion weist, die der Einleitung des Sprungbetriebes entspricht. Es wird bevorzugt, daß eine
minimale Anzahl von Mikroinstruktionen durchgeführt wird, bevor eine periphere Stufe durch eine weitere
ersetzt wird, selbst wenn diese eine höhere Priorität besitzt.
Vorzugsweise wird der Prozessor mit genormten peripheren Geräten in einer Konstruktion verwirklicht,
in welcher eine Vielseitigkeit durch spezielle, zweckgebundene Koppler für jedes betreffende periphere Gerät
vorgesehen ist. Diese genormten Hinrichtungen enthalten jeweils zweckmäßiger weise weit weniger Gerätelogik
als ein normales, freistehendes, peripheres Gerät, und verwenden Staudessen den mikroprogrammgesteuerten
Prozessor, um erforderliche Stouervorgänge auf Anfrage über den betreffenden Koppler durchzufühlen.
Eine bevorzugte normale Untergruppe von penphercn
Einrichtungen weist einen Plattenspeicher, einen Kartenleser, einen Zeilendrucker und eine Videokonsole
auf. Ein Koppler steht auch zur direkten Dateneinführung .'ur Verfügung, für die eine Mikroprogramm-Speichererweiterung
erforderlich sein kann. Ferner sind in Hinblick auf die Flexibilität der Mikroprogrammsteuerung
Koppler vorgesehen, die genormte Schnittstellen für andere periphere Geräte simulieren, z. B. um
eine vollständige Kompatibilität, eine sogenannte »Steck-Kompatibilität« mit anderen Bereichen der
Geräte zu erhalten.
Bei einer bevorzugten Ausführungsform können Programme von Mikroinstruktionen als zwei Typen
enthaltend betrachtet werden, von denen beide einen Basissp.tz von Funktionen für das Rechenwerk verwenden,
deren einer dazu bestimmt ist, einen peripheren Eingang/Ausgang und Steuerungen zu handhaben und
deren anderer sich mit der Durchführung eines bestimmten Zielprogrammfunktionssatzes befaßt, wie
er für einen bestimmten Rechner oder Bereich eines Rechners entwickelt worden ist (z. B. ICl 1900 Serie
oder Anlagen anderer Hersteller). Vorzugsweise ist der Mikroprogrammspeicher einschreibbar und dies ergibt
für das System eine größere Flexibilität, insbesondere bei der Imitienng anderer »Ziel«-Systeme.
Bei einer Datenverarbeitungsanlage mit einem Mikroprogrammspeicher zur Speicherung wenigstens
zweier Sätze von Folgen von Mikroinstruktionen mit einer Einrichtung, die auf einen Zustand des Prozessors
anspricht, welcher einen Eingabe/Ausgabebetrieb anzeigt, damit eine Folge von einem Satz von Mikroinstruktionen
ausgewählt wird, und mit einer Einrichtung, die auf die Registrierung eines Wortes anspricht, das
eine Instruktion in einer Sprache höherer Ordnung darstellt, damit eine Folge von anderen oder einem
anderen Satz von Mirkoinstruktionen ausgewählt wird, wird ein Prozessor mit einem Mikroprogramm gefüllt,
das Reihenfolgen aus einem bestimmten oder Zielcode umsetzt, welcher unabhängig von dem ist, der
•to erforderlich ist, um den Prozessor in Folgen von
Mikroinstruktionen zu betreiben, die direkt den Prozessor betätigen.
Vorzugsweise ist der Prozessor byteorganisiert, beispielsweise acht Bits pro Byte, mit einer Vielzahl von
Bytes, z. B. vier je Wort, und der Prozessor weist eine Einrichtung auf, durch die jedes Byte eines Wortes in
eine Bytestellung eines anderen Wortes eingesetzt werden kann.
Nach einer weiteren Ausführuiigsform der Erfindung wird bei der zuletzt angegebenen Datenverarbeitungsanlage,
bei der der Prozessor und der Datenspeicher für den Byte-Betrieb organisiert sind, eine Einrichtung
vorgesehen, die so betrieben werden kann, daß sie ein nicht-byte-organisiertes Wort im Byte zerlegt und
nichtgeltende Positionen solcher Bytes mit Nullen füllt.
Dies ermöglicht, daß der byte-organisierte Prozessor
Datenwörter entsprechend den Funktionen verarbeitet,
die durch ein vorbestimmtes Zielccdeformat spezifiziert sind, das wortorientiert ist. Wenn somit die Datenwortlänge
des Zielcodes kleiner ist als die des Prozessors nach vorliegender Erfindung, werden vorzugsweise die
abgespalteten Nullen in vorbeslimmie Stellungen eines
jeden Bytes längs Teilen des Eingangswortes eingeführt, die durch das Abspalten entstanden sind. Eine ähnliche
t>5 Nulleinführung kann verwendet werden, um ein
Zielwort unterzubringen, das in kleineren Bytes organisiert ist als ein spezieller Prozessor nach
vorliegender Erfindung.
Vorzugsweise, jedoch nicht notwendigerweise, wird das Eingangswort in gleiche Teile für jedes Byte
aufgespalten, falls dies möglich ist. Bei einem Zielcode einer ICL 1900-Serie werden bei Verwendung eines
Wortes mit 24 Bits und einer Zentraleinheit, die ein Wort aus 32 Bits und vier Bytes verwendet, zwei Nullen
in jedes Byte an der höchstwertigen Bitstelle eingesetzt, wobei die entsprechenden sechs Bitteile des Zielwortes
in die entsprechenden verbleibenden Bitstellen der Bytes eingesetzt werden. Es können Mittel vorgesehen
sein, um Nullen von jedem Byte in entsprechender Weise zu löschen und die verbleibenden Bits zu
verketten, damit das Ausgangswort gebildet wird.
Es ist vorteilhaft, die beiden zuletzt erläuterten Ausführungsformen der Erfindung unter Verwendung
von einschreibbaren Speichern mit freiem Zugriff für
das Mikroprogramm zu verwenden. Dies ermöglicht ein Ersetzen des Mikroprogramms, das auf einen Zielcode
gerichtet ist (z. B. ICL 1900 Serie) durch ein Mikroprogramm,
das auf einen anderen Zielcode (z. B. IBM 360 und 370) gerichtet ist. Bestimmte Merkmale, insbesondere
das Füllen des Mikroprogramm- und Datenspeichers, werden durch den Zieieode niciu beeinfluß, und es
ist vorteilhaft, solches Mikroprogrammaterial in Festwertspeicher mit freiem Zugriff zu speichern, die in
idealer Weise die gleiche Konstruktionstechnologie verwenden, wodurch wenigstens verträgliche Zykluszeiten
erzielt werden.
Für einen speziellen Zielcode ist es durchführbar, permanente Speicher, z. B. Festwertspeicher mit freiem
Zugriff ähnlich denen, die zum Füllen des Speichers weiter oben erwähnt worden sind, zu verwenden. Dann
gibt es für jeden Zielcode unterschiedliche Speichereinheiten. Es ist natürlich auch möglich, sogenannte
»festverdrahtete Logik« zum Dekodieren des Zielcodes zu verwenden, und eine derartige Ausführung kann
integrierte Schaltungen mittleren und großen Maßstabs verwenden.
Nachstehend wird die Erfindung in Verbindung mit der Zeichnung anhand eines Ausführungsbeispieles
erläutert. Es zeigt
F i g. 1 ein Blockschaltbild des Gesamtaufbaues einer
Datenverarbeitungsanlage gemäß der Erfindung,
F i g. 2 ein Blockschaltbild mit detaillierter Darstellung der Teile der Blöcke nach Fig. 1, die als Ergebnis
einer Anforderung eines peripheren Gerätes mit der Mikroprogrammspeicheradressenstufenänderung befaßt
sind,
Fig. 3 ein Blockschaltbild, das Teile des Datenflußblockes
nach F i g. 1 zeigt, die sich mit einer Mikroprogrammstufenänderung befassen, und
F i g. 4 ein Blockschaltbild, in bezug auf welches Hauptspeichervorgänge umrissen sind.
Fig. 1 zeigt eine Speicheranordnung 10 mit einem
Mikroprogrammspeicher 11 und einem Haupt- oder Datenspeicher 12. Die beiden Speicher 11 und 12 sind
als voneinander getrennt adressiert gezeigt. Sie sind ferner als Blöcke unterschiedlicher Größe dargestellt,
da sie unterschiedliche Wortlängen und unterschiedliche Wortkapazitäten haben können. Vorzugsweise sind
sie aus ähnlichen Halbleiterbausteinen aufgebaut, damit eine einzige Einheit mit getrennten Adressiersteuereinrichtungen
entsteht. Eine Mikroprogrammspeichersteuerung 13 ist mit einem Speicheradressenweg 14 und
einem Instruktior.sweg 15 gezeigt, der in beiden Richtungen benutzt werden kann, damit Mikroprogramme
eingeschrieben wie auch zu Steuerzwecken ausgelesen werden können. In ähnlicher Weise ist die
Hauptspeichersteuerung 16 mit einem Adressenweg 17 und einem in zwei Richtungen benutzbaren Datenweg
18 zum Hauptspeicher 12 gezeigt.
Ein Mikroprogramminstruktionsdekodierer 19 wirkt auf Mikroinstruktionen ein, die aus dem Mikroprogrammspeicher
11 über die Mikroprogrammspeichersteuerung 13 geholt und über den Weg 20 zugeführt
werden. Der Dekodierer erzeugt Signale für ein Hauptlogik- und Rechenwerk oder eine Datenfluß-/Recheneinheit
21. Der Dekodierer 19 verarbeitet auch Mikroprogrammsprungsteuersignale für die Mikroprogrammspeichersteuerung
13.
In beiden Richtungen benutzbare Verbindungen sind mit 22 und 23 zwischen der Datenfluß-/Recheneinheit
21 und dem Mikroprogramminstruktionsdekodierer 19 sowie der Hauptspeichersteuerung 16 dargestellt.
Ähnliche Verbindungen 24, 25, 26 und 27 sind auch für einen Arbeitsspeicher 28, ein Arbeitsregister 29, einen
Bildspeicher 30 und eine periphere Steueranlage 31 gezeigt. Der Arbeitsspeicher 28 ist ein wortorganisierter
Zwischenspeicher mit verhältnismäßig hoher Zugriffsgeschwindigkeit
und wird von der Datenfluß-/Rechcncinhci*
21 in konventioneller Weise verwendet. Ds:i\ Arbeitsspeicher stehen vorzugsweise alle Adressen
für Stufen 8 bis 15 der Prozessoraktivität zur Verfügung, jedoch nur ein Teil, vorzugsweise die Hälfte,
für periphere, bezogene Mikroprogrammstufen. In typischer Weise sind reservierte Stellen für Markierungen
in beiden Hälften des Speichers vorgesehen. Andere
Stellen können bereichsdefinierten Registern, Übersetzungshilfen, konstanten, peripheren Steuerwörtern
zugeordnet werden, und es können Register abhängig von den Zugriffsanforderungen des Mikroprogramms
gemacht werden. Der Arbeitsspeicher hat beispielsweise eine Kapazität von 256 χ 32 Bits und ermöglicht bis
zu zwei Lesezugriffe und einen Schreibzugriff auf einer einzigen Mikroprogramminstruktion. Die Arbeitsregister
29 werden im einzelnen in Verbindung mit den mehrstufigen Mikroprogrammeigenschaften beschrieben.
Der Bildspeicher 30 besteht aus einer Vielzahl von Registern und einem Speicher, der so adressierbar ist,
daß die Inhalte aller anderen Register in die Zentraleinheit gegeben werden und nur einige davon
über das Mikroprogramm Zugriff in den Speicher 11 haben.
Das periphere System 31 bedient das Verarbeitungsende einer peripheren Vielfachleitung 32 und weist ein
Prioritätsnetz auf, um festzulegen, welches aus einer Vielzahl von peripheren Geräten zu einem beliebigen
Zeitpunkt Zugriff zu dem Prozessor hat. Jedes periphere Gerät ist mit dem peripheren Anschluß-Vielfachleitungssystern
32 über einer. Koppler verbunden, der da?"
dient, periphere Steuersignale durchzulassen, die durch Mikroprogramm- wie auch Eingangs- oder Ausgangsinformationen
erzeugt werden. Spezielle Koppler sind für einen Plattenspeicher 33, einen Kartenleser 34, einen
Drucker 35, eine Videokonsole 36, einen Standardanschluß 37 und eine direkte Dateneinführeinrichtung 38
vorgesehen, wie bei 33 bis 38 gezeigt Wenn die direkte Dateneinführeinrichtung vorgesehen ist, steht für das
Mikroprogrammaterial mehr Speicherraum zur Verfugung, wie durch die gestrichelte Erweiterung 39 am
Mikroprogrammspeicher 11 angedeutet ist
In F i g. 2 zeigt die gestrichelte Linie 40 den Anschluß an die peripheren Gerätekoppler 33 bis 37 nach F i g. 1 und entspricht den Verbindungen, die bei 32 in F i g. 1 gezeigt sind. Ein erster Mehrfachleitungsweg 41 aus diesem Anschluß 40 wird in Abhängigkeit davon erregt.
In F i g. 2 zeigt die gestrichelte Linie 40 den Anschluß an die peripheren Gerätekoppler 33 bis 37 nach F i g. 1 und entspricht den Verbindungen, die bei 32 in F i g. 1 gezeigt sind. Ein erster Mehrfachleitungsweg 41 aus diesem Anschluß 40 wird in Abhängigkeit davon erregt.
welches der peripheren Geräte einen Prozessorzugriff anfragt. Ein Prioritätskodierer spricht auf die Einschaltung
des Weges 4! an, damit entschieden wird, welches periphere Gerät unter denen, die zu einem beliebigen
Zeitpunkt anfragen, Priorität hat. Generell ist es am zweckmäßigsten, wenn der Weg 41 eine Leitung für
jeden Koppler des peripheren Gerätes aufweist, eine dichtere Kodierung kann jedoch zweckmäßig sein, um
eine unnötige Beschränkung der Anzahl der bedienten peripheren Koppler zu vermeiden.
Der Ausgang aus der Prioritätskodierschaltung 42, der einen speziellen peripheren Koppler identifiziert,
erfolgt über 43 und stellt die Anfrage höchster Priorität zu einem beliebigen Zeitpunkt dar. Der Ausgang 43 wird
über 46 an eine Schaltung 47 gelegt, die ein Augenblickssignal über 48 an das periphere Gerät gibt,
das die Priorität erhalten hat, in Abhängigkeit von dem vorhandenen Signal auf 48 wird bewirkt, daß der
ausgewählte Koppler einen Mehrfachleitungsweg 49 mit einer Mikroprogrammspeicheradresse entsprechend
dem Beginn des speziellen Mikroprogramms, das für die Bedienung der jeweiligen Anfrage erforderlich
ist, entspricht. Dies kann einen Informationsübertrag und/oder eine Steuerung einer bestimmten Betriebsphase
des peripheren Gerätes betreffen.
Der Weg 49 ist allen peripheren Kopplern im System gemeinsam. Ein weiterer allen Kopplern gemeinsamer
Mehrfachleitungsweg 50 wird gleichzeitig mit Informationen für ein Modifizierregister des Prozessors
beschickt.
Der Ausgang 43 der peripheren Prioritätskodierschaltung 42 wird auch einer weiteren Prioritätskodierschaltung
51 zugeführt, die an ihrem Ausgang 52 eine Darstellung einer Prioritetsstufe, der ein bestimmter
Mikroprogrammzustand zugeordnet werden kann, ergibt, welche für das ausgewählte periphere Gerät
geeignet ist. Es sind zwei Schaltungen 42 und 51 gezeigt, weil die Möglichkeit besteht, daß zwei oder mehr
periphere Geräte sich in die gleiche Prioritätsstufe teilen und weil es erforderlich ist, beide ausgewählten
Koppler (über 48) und die entsprechende Prioritätsstufe (über 52) zu identifizieren. Räumlich können diese
Kodierer 42 und 51 eine einzige Einheit mit Ausgängen aus unterschiedlichen Stufen sein.
Das Ergebnis der Prioritätsentscheidungen und der Mikroprogrammzustand- bzw. Prioritätsstufenbestimmung
für Anrufe peripherer Geräte wird über den Codiererausgang 52 in einen Multiplexer 53 geführt.
Der Multiplexer 5i arbeitet in der Weise, daß er zwischen zwei Eingängen auswählt, die aus dem
Codierer 52 und dem Ausgang 54 eines Zweirichtungszählers 55 bestehen, welcher zur Bestimmung von
Mikroprogrammzuständen für die Aktivität des Prozessors, der nicht auf periphere Anrufe bezogen ist,
verwendet wird. Der Multiplexer 53 speist seinen Ausgang 56 in ein die Stufe identifizierendes Register 57
mit einem Mehrfachleiterausgang 58.
Priorität wird den Prioritätsstufen erteilt, die sich mit
der peripheren Aktivität befassen, so daß der Multiplexer so betrieben wird, daß er den Eingang 52 vorzieht,
ausgenommen, wenn kein Anruf für eine peripherbezogene Aktion vorhanden ist. Priorität wird weiter
zwischen peripheren Anrufen erteilt, und ein Mikroprogrammzustand
kann eine Stufe niedrigerer Priorität unterbrechen. Peripheren Aktionen sind sieben Stufen
zugeordnet und diese sind durch Binärzahlen 1 bis 7 in absteigender Reihenfolge der Priorität dargestellt, d. h.,
daß der Wert »1« die höchste Priorität besitzt.
Stufeilunterbrechungen aufgrund peripherer Anrufe werden unter Verwendung einer Vergleichseinrichtung
59 behandelt, damit der Codicierausgang 52 (über die
Zweigleitung 60) mit dem Ausgang 58 des die Stufe identifizierenden Registers 57 (über Zweigleitungen 61
und 62) verglichen wird. Wenn der Codiererausgang 52 auf einen niedrigeren Binärwert (höhere Priorität) geht
als die die Stufe identifizierenden Registerinhalte, erzeugt die Vergleichseinrichtung 59 einen vorbestimmten
Ausgang auf der Leitung 63. Die Leitung 63 wird einer Unterbrechungsgenehmigungsschaltung 64 zugeführt,
die gewährleistet, daß eine Unterbrechung eine vorbestimmte Steuerfolge, z. B. einen Speicherzyklus,
nicht beeinflußt. Dies hat auch die Wirkung, daß die Häufigkeit von Unterbrechungen begrenzt wird. Die
Schaltung 64 ermöglicht auch eine periphere Unterbrechung nur, wenn wenigstens drei Prozessorzyklen seit
der letzten Unterbrechung vergangen sind. Wie nachstehend noch erläutert wird, wird eine Unterbrechung
für fünf Zyklen gesperrt, nachdem ein H;;uptspeicherzugriff begonnen hat. Diese Steuerung wird auf
einfache Weise dadurch erzielt, daß entweder ein kleiner Zähler oder ein Schieberegister verwendet wird.
Für einen Prozessorzyklus der Zentraleinheit, bei welchem das Mikroprogrammstufenregister 57 seinen
Zustand ändert, erfolgt eine Umschaltung von dem laufenden Mikroprogrammadressenregister auf das
entsprechende neue Register. Derartige Mikroadressenregister weisen unterschiedliche Wortstellungen
eines einschreibbaren Speichers 65 mit freiem Zugriff und einen Inhalt von 16 Wörtern auf, der aus der
Stufenausgangszweigleitung 61 adressiert wird. Die Zulässigkeit dieser Unterbrechungsstufenänderung bewirkt
auch, daß ein Multiplexer 66 den Weg 49 auswählt, der eine der Eingangsoptionen darstellt, und den
Ausgang 67 entsprechend erregt. Der Multiplexerausgang67 speisteine Speicheradressierschaltung 68, die in
der Weise wirksam ist, daß sie die Speicheranordnung 10 über den Weg 69 adressiert, welcher somit der
Funktion entspricht, die durch den Pfeil 14 der F i g. 1 angezeigt ist. Ein weiterer Eingang 70 des Multiplexers
66 weist den Ausgang eines Zählers 71 auf, der für die normale Folgeadressierung des Haupt- oder Datenspeicherteilers
12 der Speicheranordnung 10 auswählbar ist, so daß der Weg 69 auch die Funktion durchführt,
die durch den Pfeil 17 der Fig. 1 angezeigt ist. Die Speicheradressierschaltung 68 ist im Multiplexerausgang
67 dargestellt, weil üblicherweise bevorzugt wird, die Speichergröße ohne nachteilige Beeinflussung der
hohen Geschwindigkeit durch Überlappen von ungeradzahliger und geradzahliger Adressierung der
Speicheranordnung 10 so groß wie möglich zu machen. Die Änderung der Inhalte des den Mikroprogrammzustand
identifizierenden Registers 57 wählt eine unterschiedliche Lage im Speicher 65 aus und hält somit
die Rückführmikroprogrammspeicheradresse in der vorher ausgewählten Stelle des Speichers 65. Die neue
Mikroprogrammadresse wird aus dem Weg 49 erhalten und tritt auf dem Weg 69 auf, so daß das Abrufen der
ersten Mikroinstruktion der Folge, die durch Anfragen des peripheren Gerätes höherer Priorität erforderlich
ist, aus dem Mikroprogrammspeicher 11 eingeleitet wird. Der Weg 69 weist eine Zweigleitung auf, die zum
Eingang für den Speicher 65 führt, und die neue Mikroprogrammspeicheradresse wird somit in die
Mikroprogramm-Adresser.registerstelle eingeschrieben,
die durch die Stufenregisterausgangsleitung 61 ausgewählt ist.
Aufgrund des Abrufens, Dekodierens und Ausführens des Mikroprogrammes sind noch zwei frühere Mikroinstruktionen
im Prozessor vorhanden, und zwar eine in der Dekodierstufe 21 der Fig. 1. Wenn eine dieser
beiden Mikroinstruktionen einen Sprung oder, wie nachstehend beschrieben, einen Hauptspeicherzugriff
erforderlich macht, ist es notwendig, bei Rückkehr auf die unterbrochene Stufe auf die Mikroprogrammspeicheradresse
zu gehen, die einen Sprung erforderlich gemacht hat, d. h., die entsprechenden und nachfolgenden
Instruktionen aufzuheben. Um diese Aufhebung durchzuführen, ist eine logische Schaltung 72 vorgesehen,
die normalerweise einen Ausgang 73 vom Wert »2« auf jeden Zyklus des Prozessors gibt, mit Ausnahme
nach einer Unterbrechung, wenn eine Verringerung auf »1« und dann auf »0« für die Anlauf-Prozessorzyklen
erfolgt, falls nicht ein Sprung oder Speicherzugriff eingeleitet wird, wenn eine Sperrung gegen Umschalten
über die Leitung 75 erfolgt. Der Ausgang dieser Logik 72 ist der Eingang in einen anderen einschreibbaren
Speicher 74 mit freiem Zugriff und einem Inhalt von 16 Wörtern, dessen Schreibstelle auch durch den Stufenausgangszweig
61 bestimmt ist, der einen reversiblen Adressierzähler 77 für den Speicher 74 setzt. Die
entsprechende Stelle im Nullspeicher 74 wird nach einem Anlauf somit eine Zahl enthalten, die die Zahl von
Mikroinstruktionen darstellt, welche eine Aufhebung bei der Rückführung von der Unterbrechung erforderlich
machen. Ein Ausgang 76 des Nullspeichers 74 gibt einen Eingang in ein Rechenwerk 78, das Teil der
Datenflußmühle 21 der F i g. 1 ist, und dient zum Subtrahieren der Nullzählung auf dem Weg 76 von dem
Wert eines Ausganges 79 des Mikroprogramm-Adressenregisterspeichers 65. Die entsprechende modifizierte
Speicheradresse steht auf dem Weg 80 zur Verfugung, der ein Eingang in den Multiplexer 66 ist. Dieser
Eingang wird durch den Multiplexer 66 bei einer Rückführung auf einen Unterbrechungsmikroprogrammzustand
ausgewählt, und er ist gleich dem Inhalt der entsprechenden Stelle des Adressenspeichers 65,
ausgenommen, wenn eine Aufhebungsoperation als erforderlich angezeigt wird.
Die Einleitung eines Mikroprogrammzustandes höherer Priorität erfordert eine Änderung im Zustand des
Stufenregisters 57 und nachfolgende Änderungen in den freigegebenen Stellen der Registerspeicher 65 und 74
sowie der Adresse, die dem Speicher über den Weg 69 aufgegeben wird, wodurch ein Abruf einer Mikroinstruktion
speziell auf dem Weg 49 erfolgt. Bei dem nächsten Prozessorzyklus wird eine entsprechende
Decodierung vorgenommen (Block 19 der Fig. 1), und es wird die letzte Makroinstruktion der unterbrochenen
Stufe (Block 21 dev Fi g. 1) ausgeführt.
Generell ergibt die Datenvielfachleitung eine weitere Überlappungsfunktion, nämlich die Bildung einer
Mikroprogrammspeicheradresse.
Bei dem zweiten Prozessorzyklus, der sich an eine Änderung im Inhalt des Mikroprogrammstufenregisters
57 anschließt, ist die Ausführung der ersten der Unterbrechungsmikroinstruktionen erforderlich. Dies
ergibt ein Umschalten zwischen wiederholten Arbeitsregistern, wie nachstehend in Verbindung mit F i g. 3
beschrieben wird.
Der Ausgang 58 des Stufenregisters 57 wird in ein Register 81 zum entsprechenden Zeitpunkt eingegattert.
Ein Ausgang 82 wird von dem Register 81 beim zweiten Zyklus nach einer Mikroprogrammzustandsänderung
entnommen und zur Änderung der Adressen verwendet, die den einschreibbaren Speichern 83,84,85
und 86 mit freiem Zugriff aufgegeben werden, welche wiederholte Arbeitsregister A, B, K und C darstellen.
Die Mehrfachregisterspeicher K und C besitzen beide 16 Wortstellungen, von denen eine gleichzeitig entsprechend
der Mikroprogrammzustandsanzeige auf dem Weg 82 ausgewählt wird. Das ausgewählte einer jeden
Gruppe von Registern K und C nimmt den laufenden Inhalt eines der Zweirichtungszähler 87 und 88 über
ίο Wege 89 und 90 auf. Die /(-Register 85 werden zur
Steuerung von Mikroprogrammschleifen in entsprechenden Prioritätsstufen verwendet und werden auf
Null gesetzt, wenn eine Stufe zum ersten Mal verwendet wird. Die C-Register 86 werden gefüllt, wenn die
entsprechenden Prioritätsstufen eingeführt werden, und ihre Inhalte stellen Modifiziereinrichtungen für Adressen
des Arbeitsspeichers 28 (Fig. 1) dar, wobei jede Prioritätsstufe und insbesondere jeder periphere Koppler
Zugriff zu dem speziellen Raum im Arbeitsspeicher hat, der üblicherweise unterschiedlich von anderen
Kopplern ist. Die /C-Register werden jedesmal auf Null gesetzt, wenn ein C-Register gefüllt wird, d. h., wenn ein
Koppler zum ersten Mal ausgewählt wird. Bei einer Unterbrechung des peripheren Kopplers wird das
entsprechende C-Register zwei Prozessorzyklen nach der Einleitung der Unterbrechung ausgewählt und mit
dem Wert auf dem Weg 50 von der Schnittstelle des Koppleruntersystems gefüllt. Dies geschieht über den
Weg 91 durch Auswahl des entsprechenden Einganges des Multiplexers 92, während gleichzeitig ein Gesamt-Nulleingang
93 für den Multiplexer 94 ausgewählt wird, so daß der /(-Zähler 87 über den Multiplexerausgang 95
rückgesetzt wird.
Verwendet man die C-Register als Arbeitsspeicher-Adressenmodifiziereinrichtungen,
kann der gleiche Teil des Mikrocodes bei unterschiedlichen Prioritälsstufen
wie auch auf der gleichen Stufe ausgewählt werden, wenn einfach eine erneute Einführung erfolgt. Man kann
bei einer Stufe beginnen, und bevor die Durchführung bei dieser Stufe abgeschlossen ist, können ein oder
mehrere Unterbrechungen höherer Stufe abgeschlossen werden, bevor zur Beendigung der Durchführung der
ursprünglichen Stufe zurückgekehrt wird. Dies ist zweckmäßig zum Betreiben von Standard-Schnittstellenkopplern.
Zu dem Zeitpunkt, zu dem das ausgewählte C-Register auf einen peripheren Kopplerprioritätsstufeneingang
gefüllt wird, wird die zu füllende Modifiziereinrichtung über die Zweigleitung % des Multiplexerausganges
90 an eine Dekodierschaltung 97 angeschlossen; damit wird über den Weg 98 und die Kopplerschnittstelle
32 ein Auswählsteuersignal an den peripheren Ursprungskoppler gegeben, der dadurch in die Lage
versetzt wird, seine Daten in einen Eingang einer gemeinsamen Datenvielfachleitung zum Prozessor zu
geben und Steuersignale aus dem Prozessor zu berücksichtigen.
Die Ausgänge der ausgewählten C- und /C-Register stehen über Wege 99 und 100 dem Rechenwerk des
Prozessors für eine entsprechende Arbeitsspeicheradressierung und Schleifensteuerung zur Verfugung.
Auch sind die Eingänge 101 und 102 in die Multiplexer 92 und 94 für Ausgänge des Rechenwerkes in der Weise
gezeigt, daß Änderungen der Registerinhalte in der erforderlichen Weise durch Verarbeitung erzielt werden
können. Rückkopplungswege 103 und 104 sind aus den Registerausgängen 99 und 100 zu anderen
Eingängen der Multiplexer 92 und 94 gezeigt, damit in
der erforderlichen Weise eine Auswahl beim Füllen der Zähler 88 und 87 erreicht wird.
Die A- und ß-Register 83 und 84 werden als Quellen
von Operanden für das Rechenwerk und für andere Zwecke, z. B. das Füllen des Arbeitsspeichers, Bereitstellen
von Hauptspeicheradressen, Daten, die in den Speicher eingeschrieben werden sollen, und Füllen der
C- und K-Register verwendet. Es ist auch zweckmäßig,
daß ein Teil eines jeden Registers als Arbeitsspeicher-Modifiziereinrichtung verwendet werden kann. Sie
werden über Ausgänge 105 und 106 für die ausgewählten A- und 5-Register vorgesehen, die als auswählbare
Eingänge beider Multiplexer 107 und 108 geschaltet sind. Die Ausgänge 109 und 110 aus diesen Multiplexern
107 und 108 sind so dargestellt, daß sie zu Operandenregistern 111 und 112 für das Rechenwerk führen. In der
Praxis haben die Multiplexer mehrere andere alternativ wählbare Eingänge, und ihre Ausgänge 109 und 110
werden in andere erforderliche Bestimmungen abgezweigt und mehrfach ausgenützt. Solche anderen
Eingänge enthalten binäre Gesamt-Null, binäre Gesarnt-Eins,
Daten aus einem ausgewählten peripheren Koppler und Daten aus dem Hauptspeicher, sind jedoch
der besseren Übersicht wegen in der Zeichnung nicht dargestellt.
Die Register A und B sind nur neun tief vorgesehen, und zwar eines für jede periphere Aktivitätsprioritätsstufe
(1 bis 7), eines reserviert für Fehler (Stufe »0«) und eines das von allen auf den Prozessor bezogenen
Prioritätsstufen (8 bis 15) geteilt wird. Dies ist der Fall, weil die Prioritätsstufen für die Aktivität des Prozessors
nur zu Stapelzwecken verwendet werden, so daß es nur erforderlich ist, einen Satz von Datenquellen, d. h.
Operanden, oder Wörtern für den und aus dem Speicher vorzusehen, während sie eine getrennte Steuerinformation
für jede Stufe erfordern.
Der Prioritätsstufenauswählweg 82 führt auch zu einem weiteren wortorganisierten, einschreibbaren
Speicher 113 mit freiem Zugriff, der Eingänge aus dem
Rechenwerk und Ausgänge in das Rechenwerk für eine Information besitzt, die sich auf die Zustände von
Vergleichsfehleranzeigen und Anzeigevorrichtungen innerhalb des Rechenwerkes beziehen, die zu Steuerungs-
und Verarbeitungszwecken entsprechend dem Grundinstruktionssatz des Prozessors erforderlich sind.
Der Speicher 113 besitzt ein Register für jede Prioritätsstufe, d. h. insgesamt 16.
Vorstehend wurde erläutert, wie ein peripherer Koppler entsprechend einem Mikroprogrammzustand
höherer Priorität eine Prioritätsstufenaktivität niedrigerer Priorität unterbrechen kann. Es wurde auch
erläutert, wie bei Rückführung auf eine Prioritätsstufe eine Aufhebungsmodifizierung gewährleistet, daß
Sprünge oder Speicherzugriffe nicht zu einem Informationsverlust führen, selbst wenn sie während des
Auflaufens der Stufe im Prioritätsstufenübergang bei einer Unterbrechung auftreten. Es ist möglich, daß
während einer solchen Unterbrechung ein Bedienungsanruf durch einen anderen peripheren Koppler mit
einem Mikroprogrammzustand niedrigerer Priorität als der unterbrechende Koppler, jedoch mit einer höheren
Priorität als die Unterbrechungsstufe erzeugt wird. Dieser andere periphere Koppler soll vor einer
Rückführung in die unterbrochene Stufe bedient werden. Während jedoch eine normale Rückführung in
eine unterbrochene Stufe einfach die entsprechenden Mikroprogramm- und Arbeitsregister erneut auswählt,
erfordert die Bedienung eines neuen Anrufes dazwischenliegender Priorität die Aufnahme der Information
entsprechend der Mikroprogrammspeicherstartadresse und der Arbeitsspeichermodifiziereinrichtung auf den
Wegen 49 und 50. Der Eintritt in eine bestimmte Prioritätsstufe ist der Einstellung eines entsprechenden
Markierbits in einem zusätzlichen Register mit 16 Bitstellen und zwar jeweils einer für jede Prioritätsstufe
zugeordnet. Zweckmäßigerweise ist dies verkörpert als eine zusätzliche Bitstelle in jeder Stelle des Nullspeichers
74, der über die Leitung ML bei jeder Stufenänderung gefüllt und auf der Leitung M bei
Rückkehr von einer Unterbrechung geprüft wird. Bei Beendigung einer Unterbrechung erzeugt der Anruf mit
dem Mikroprogrammzustand höchster Priorität, wie durch die Prioritätsbestimmung des Blockes 31 gezeigt,
eine entsprechende Prioritätsstufenanzeige. Das Markierbit, das dieser Stufe entspricht, wird geprüft. Wenn
es auf die entsprechenden Werte der Mikroprogrammadresse gesetzt wird, werden C- und /(-Register usw.
verwendet. Wird es nicht gesetzt, zeigt dies den Eintritt in die Stufe zum ersten Mal an, und die Signale auf dem
Wege 49 und 50 werden in gleicher Weise wie für eine Unterbrechung aufgenommen.
Eine weitere Eigenschaft der Unterbrechungseinrichtung besteht darin, daß Anrufe für den Prozessorzugriff
durch die Koppler an den Kopplern durch Taktimpulse aus dem Prozessor übernommen werden und daß diese
Taktimpulse durch den Prozessor zu Zeiten gesperrt werden können, wenn eine Unterbrechung für den
Prozessor nicht annehmbar ist. Dies gewährleistet, daß periphere Anrufe mit dem Zeitverhalten des Prozessors
synchronisiert werden. Koppleranrufe bleiben gesetzt, bis ein AUSGANG-Impuls durch den Prozessor
zusammen mit dem Auswählsteuersignal (aus 97) eingespeist wird. Dies gewährleistet, daß eine Unterbrechungsstufe
vor der Rückführung auf der Unterbrechung oder den Unterbrechungen nicht vergessen wird.
Der beschriebene Prozessor bedient Anfragen peripherer Koppler in der jeweiligen Prioritätsstufe 1
bis 7. Sie kann natürlich auch eine periphere Aktivität unter Verwendung der entsprechenden Prioritätsstufe
einrichten. Ein Betrieb in diesen Stufen 1 bis 7 kann durch eine Stufe auf höherer Datenebene unterbrochen
werden, und im Anschluß an eine solche Unterbrechung geht der Betrieb in der nächsthöheren Stufe weiter,
wobei eine Bedienung erforderlich ist, was bedeutet, daß eine weitere Verzögerung auftritt, bevor eine Rückkehr
auf die erste unterbrochene Stufe möglich ist. Wie weiter oben bereits erwähnt, ist die Prozessoraktion in
der Prioritätsstufe »0«, der Stufe höchster Priorität, für kritische Unterbrechungen reserviert, z. B. Paritätsfehler
oder Maschinenfehler. Wenn keine periphere Aktion erforderlich oder angerufen wird, erfolgt in den
Prioritätsstufen 8—15 die normale Datenverarbeitung.
Der Betrieb in den Prioritätsstufen 8—15 ist wesentlich verschieden von denen in den Stufen 0 bis 7,
weil Übergänge von Stufe zu Stufe normalerweise sequentiell in Abhängigkeit von einer stapeiförmigen
Steuerung von ineinander verschachtelten Programmen stattfinden. Bei einem Sprung auf ein anderes
Programm, von welchem eine Rückkehr erwartet wird, wird die betreffende Mikroprogramminstruktion, die
ANSCHLUSS genannt wird, wenn sie dekodiert ist, bewirken, daß ein Zählimpuls dem reversiblen Mikroprogrammstufenzähler
55 aufgegeben wird, damit die Stufe nächsthöherer Priorität erreicht wird, die eine
entsprechende Mikroprogrammadresse und »Mühlen«- Zählregister zum Füllen mit der Startadresse, die durch
die ANSCHLUSS-lnstruktion spezifiziert ist, auswählt
Bei einer Rückkehr von einem Sprung bewirkt die betreffende Mikroprograrnminstruktion, die AUSGANG
genannt wird, in dekodiertem Zustand, daß ein Umkehrzähiimpuls dem Zähler 55 aufgegeben wird,
damit eine Auswahl des Mikroprogrammadressenregisten
der nächstniedrigen Priorität erhalten wird, um die Verarbeitung auf dieser Stufe wieder aufzunehmen. Bei
jedem Übergang kann die Datenvielfachleitung anlaufen, so daß entsprechende Änderungen der Arbeitsregister
C und K und der Vergleichs-, Zählanzeige- und Anzeigeregister 113 zwei Prozessorzyklen nach Beendigung
des Überganges auftreten, wie oben ausgeführt. Unter Verwendung eines derartigen Systems können
bis zu acht verschachtelte Sprünge aufgenommen werden, ohne daß ein zeitaufwendiges Ab- und Aufrufen
erforderlich wäre. Sprunginstruktionen können dadurch simuliert werden, daß das Mikroprogrammadressenregister
der dann gerade laufenden Stufe mit einer berechneten Adresse überschrieben wird. Dabei wird
das Mikroprogrammadressenregister als eine Operandenbestimmung deklariert, und die Instruktion wird als
unabdingbar mit keiner Aufhebung der Anlauffolge behandelt, was den Verlust von Prozessorzyklen ergibt.
Der Grund dafür, daß die Hauptspeicherzugriffe eine Aufhebung erfordern, wenn sie während des Anlaufens
der Datenvielfachleitung auf eine Stufe 0 bis 7-Unterbrechung auftreten, liegt darin, daß die Hauptspeichereingangs-
und -ausgangsregister für die unterschiedlichen Prioritätsstufen nicht wiederholt werden, und bei
der Organisation der Speichersteuerung wird der Vorteil der Datenvielfachleitung ausgenutzt. F i g. 4
zeigt die grundlegende Anordnung des Hauptspeichers 12 in bezug auf ein Register 114 für Wörter, die in den
Speicher eingeschrieben werden sollen, ein Register 115
für Wörter, die aus dem Speicher ausgelesen werden sollen, und eine Speicheradressierleitung 17 von dem
Ausgang des Multiplexers 66 (vgl. auch Fig. 2), wenn der Eingang 70 aus dem Hauptspeicheradressenzähler
71 gewählt wird. Um zu gewährleisten, daß die Inhalte der Speicher 114, 115 und des Adresscnziihlers 71 bis
zur Verwendung durch die dann gültige Stufe der Mikroprogrammoperation geschützt sind, wird eine
Speicher-Besetzt-Anzeige gesetzt, die dazu dient, Prioritätsstufenänderungen bis zum Rücksetzen zu
verhindern. Ein derartiges Rücksetzen tritt vorzugsweise nicht später als eine vorbestimmte Anzahl von
Mikroinstruktionen im Anschluß an das Füllen des Speicheradressenzählers 71 auf, so daß eine unbegrenzte
Sperrung auf Stufenänderung verhindert wird, die sich bei einer schwierigen Situation für ein peripheres
Gerät, z. B. synchron arbeitende, theoretisch ungepufferte Geräte, wie z. B. Platten und Kartenleser ergeben
könnte. Diese vorbestimmte Anzahl kann automalisch durch Geräteaustattung oder durch eine Mikroprogrammschreibkonvention
erzielt werden, und beträgt in vorliegendem Ausführungsbeispiel fünf.
Bei einem Hauptspeicherlesevorgang wird der Speicheradressenzähler 71 mit einer Mikroinstruktion
gefüllt, die bewirkt, daß der Speicher-Besetzt-Zustand gesetzt wird, z. B. durch Setzen eines bistabilen
Elementes 116, das in der Nähe des Zählers 71 dargestellt ist. Die Datenablesung aus dieser Adresse
wird als gültig im Speicherausgangsregisier 115 bei der
dritten Mikroinstruklion nach dem Füllen des Adressenzählers 71 angezeigt, und die Speicher-Besetzt-Anzeige
wird rückgesetzt, sobald das Speicherausgangsregister 105 als eine Operandenquelle verwendet wird. Zwei
Lesevorgänge können sich überlappen, wenn die zweite Ablesung eingeleitet wird, indem der Zähler 71 mit der
Instruktion gefüllt wird, die unmittelbar der vorausgeht, welche das Register 115 als eine Operandenquelle
verwendet. Dann muß die Auslegung des zweiten Wortes in das Register 115 ebenfalls als ein Operand
verwendet werden, der nicht später liegt als die fünfte Instruktion nach dem ersten Füllen des Zählers 71.
Bei einem Speicherschreibvorgang wird der Speicheradressenzähler
71 gefüllt und das bistabile Element 116 gesetzt; es schließt sich das Füllen des Speicherschreibregisters
114 an. Das bistabile Element 116 wird rückgesetzt, wenn ein Zugriff zum Speicherschreibregister
114 erfolgt Es können sich keine zwei Schreibvorgänge überlappen, es kann sich jedoch ein Schreibvorgang
mit einem Lesevorgang dadurch überlappen, daß der Zähler 71 mit der Instruktion gefüllt wird, die
unmittelbar der vorausgeht, welche das Ausgangsregister 115 als einen Operanden verwendet. Dann wird das
Eingangsregister 114 nicht später als die fünfte Instruktion nach dem Füllen des Zählers 71 für den
Lesevorgang gefüllt.
Ein Lese-Modifizier-Schreib-Speicherbetrieb kann normalerweise el enfalls durchgeführt werden und kann
innerhalb der fünf Mikroinstruktionen abgeschlossen werden, die für die Speicher-Besetzt-Bedingung zugelassen
werden.
Die Koppler, z. B. 33 bis 38, sind fest verdrahtete Schaltungen, die aufgrund ihrer Auslegung in bezug auf
eine beliebige, für einen Spezialzweck vorgesehene benötigte Mikrocodefolge in der Lage sind, alle
Unterschiede zu verbergen, die sonst für einen Betriebsfolgecode auftreten, von welchen das gespeicherte
Mikroprogramm Programme des Basissatzes von Instruktionen übersetzt, die tatsächlich zur Steuerung
von Arbeitsvorgängen des internen Prozessors dienen. Dies ergibt eine hohe Flexibilität in bezug auf
neue periphere Geräte oder Einrichtungen, da keine Neukonstruktion des Prozessors erforderlich ist. wenn
ein entsprechender Koppler zur Verfügung steht.
Der Grundmikroinstruktionssatz weist viele herkömmliche Reihenfolgen auf. Beispielsweise können
zwei Adresseninstruktionen mit 32 Bit arithmetische Vorgänge ergeben, z. B. Addieren, Subtrahieren, sowie
eineute Gatter- und logische Arbeitsvorgänge, wie z. B.
Bewegen, UND, ODER, Arbeits-Äquivalenz, während drei Adresseninstruktionen ähnliche logische Funktionen
einschließen können und sich auf UND-NICHT, Äquivalenz und NlCHT-UND zusammen mit einem
Vergleich von Sprung-, Fehleranzeige- oder Registerbiteinstellarbeitsvorgänge erstrecken. Bei Verwendung
von Instruktionen mit 16 Bits werden verschiedene Registerfüll-, arithmetische und logische Arbeitsvorgänge
zusammen mit Verschiebe- und Fehleranzeigeein-Stellvorgängen im allgemeinen als Hauptinstruklioner
vorgesehen. Hilfsinstruktionen mit 16 Bits stehen füi Füll- und arithmetische Arbeitsvorgänge aufgrund einei
begleitenden Hauptinstruktion mit 16 Bits, und auch füi
verschiedene Sprungvorgänge abhängig von den Zustand eines Ergebnisses relativ zu Fehleranzeiger
und Anzeigevorrichtungen oder Vergleichseinrichtun gen zur Verfugung.
Einige besonders zweckmäßige zusätzliche Mikroin stiuktionsarten werden nachstehend im einzelner
b5 erläutert. Eine davon bezieht sich auf die bevorzugt«
byte-orientierte Organisation des beschriebenen Pro zessors. bei der jedes Wort 32 Bits besitzt, die in vic
Bytes von jeweils acht Bits unterteilt sind. Die Art de
betreffenden Instruktionen ist so gewählt, daß ein beliebiges Byte eines Operanden genommen und
verwendet wird, um ein Byte eines anderen Operanden zu ersetzen. Es kann zur Übertri gung bestimmter Bytes
einzeln nacheinander und auch zum Aufbau von Wörtern verwendet werden, in denen ein Byte aus einer
Quelle und die anderen drei aus einer anderen Quelle stammen. Allgemein können beide Quellen und
Bestimmungen abhängig von der jeweiligen Instruktion reversiert werden. Wenn beispielsweise die Operanden
in die A- und B- Register 83, 84 eingeführt werden, können Bytes selektiv von jedem der Operanden durch
entsprechende Auswahl der Eingänge des Multiplexers 107 oder 108 genommen werden. Die gesteuerten
Funktionen stellen insbesondere bei der Verwendung entsprechender Modifiziereinrichtungen eine zweckmäßige
und flexible Einrichtung zur Verarbeitung von Bytes dar.
Wenn Schriftzeichen in der Art von Bytes betrachtet und behandelt werden sollen, kann die obenerwähnte
Instruktionsart eindeutig als eine leistungsfähige Schriftzeichensteuereinrichtung betrachtet werden. Die
Tatsache, daß die Byteorientierung des Prozessors als Schriftzeichensteuereinrichtung betrachtet werden
kann, bedeutet, daß Zielbefehlscodes mit Vorteil verwendet werden können, die wortorientiert anstatt
byteorientiert sind.
Daten, die sich auf einen wortorientierten Zielbefehlscode beziehen, können auf einfache Weise durch den
byteorientierten Prozessor aufgenommen werden, wenn die Wortlänge in beiden Fällen die gleiche ist.
Zusätzlich kann auch ein Zielcode, der auf Wortlängen bezogen ist, die geringer sind als die Wortlänge des
Prozessors, aufgenommen werden, wobei zwei weitere Arten von Mikroinstruktionen verwendet werden, von
denen eine die wortorientierte Form in Teile spaltet, die kleiner sind als die Bytelänge für den Prozessor und die
freien Räume der Byte mit Nullen auffüllt. Eine derartige Instruktion wird ERWEITERUNG genannt
und beaufschlagt ein Schieberegister, das die Bits handhabt und Nullen addiert. Die andere Instruktion
wird nach der Verarbeitung verwendet, um die Nullen zu entfernen und die gültigen Bits des Wortes zu
verketten. Eine solche Instruktion wird VERDICHTEN genannt und auch relativ zu einem Schieberegister
durchgeführt.
Für Prozessorwörter mit vier Bytes und 32 Bits und für Zielcodewörter mit 24 Bits wird eine entsprechende
ERWEITERN-Instruktion als 24 Bit-Wort in die Stellung 0 bis 23 eines Schieberegisters eingebracht und
führt die folgenden Verschiebungen nach rechts aus: Zwei Plätze für Bits 0 bis 5, vier Plätze für Bits 6 bis ! 1,
sechs Plätze für Bits 12 bis 17 und acht Plätze für Bits 18 bis 23. Nullen werden in die Bitstellung 0 und 1, 8 und 9,
16 und 17, 24 und 25 eingesetzt. Das resultierende Wort
ist vier Bytes mit Nullen in den zwei höchstwertigen Bits eines jeden Byte.
Eine weitere Art der Instruktion ist eine solche, die eine beliebige genannte logische Operation zwischen
einem vorhandenen Operanden ermöglicht, Vorzugsweise aus einer Adresse, die in der Instruktion für den
Bildspeicher oder — mit oder ohne Modifizierung — aus dem Arbeitsspeicher vorgeschrieben ist oder einem
speziell aufgebauten Operanden mit entweder einer literalen »1« oder dem Zustand einer spezifizierten 65
Fehleranzeige, die in eine nominierte Bitstellung eines Gesamt-Null 32-Bitwortes eingesetzt ist. Das Ergebnis
kann zum Überschreiben des vorhandenen Operanden verwendet werden oder die nominierte Fehleranzeige
kann durch das Ergebnis für die nominierte Bitstellung ersetzt worden. Unterschiedliche Felder der Mikroinstruktion
geben genau den vorhandenen Operanden, die Art der logischen Operation, die nominierte Bitstellung,
die spezifizierte Fehleranzeige, falls eine solche vorhanden ist, und die Verwendung des Resultates an.
Diese Art der Instruktion ist insbesondere zweckmäßig bei der Prüfung des Zustandes eines peripheren
Gerätes, z.B. auf Betriebsfähigkeit. Dies ergibt eine
Befragung verschiedener Bitstellungen eines Zustandswortes und wird zweckmäßigerweise dadurch erreicht,
daß unterschiedliche nominierte Bitstellungen zur Auswahl logischer Operationen nacheinander ausgewählt
werden, wobei Zwischenresultate in einer Fehleranzeigestellung in einer akkumulativen booleschen
Funktion gespeichert sind.
Wie zur Erzielung von Sprüngen auf Vergleichen zwischen Bytes und Wörtern weist der Instruktionssatz
auch eine Mikroinstruktion zur Steuerung eines Sprunges entsprechend einer Prüfung auf ein nominiertes
Bit eines spezifizierten Operanden auf. Dies ist insbesondere zweckmäßig zur Prüfung des Ergebnisses
einer Untersuchung über den Zustand eines peripheren Gerätes durch die vorausgehende Mikroinstruktionsart.
Eine Übersetzung von einer speziellen Zielcodefunktion in einen Grundmikroprogrammfunktionssatz des
Prozessors wird durch eine weitere Art von Mikroinstruktion vereinfacht, die zum vorübergehenden Herausziehen
eines beliebigen Feldes eines spezifizierten Wortes verwendet wird. Die Funktion wird dadurch
durchgeführt, daß das betreffende Wort um eine spezifizierte Anzahl von Bitstellungen verschoben wird,
und daß dann eine spezifizierte Anzahl von Bits des Wortes von einem Ende, im allgemeinen des niedrigstwertigen
Endes des Schieberegisters ausgewählt wird. Der ausgewählte Teil oder das Feld des Wortes kann
dann verarbeitet werden, wie es zweckmäßig ist, um auf die gewünschte Mikroprogrammfunktionsadresse zu
übersetzen. Dies ergibt eine Positionierung von der Basisadresse einer Funktionstabelle in den Hauptspeicher.
Diese Tabelle kann sowohl Mikroprogrammaniaufadressen wie auch andere Information enthalten, die
sich auf zu adressierende Programme bezieht.
Nachstehend wird ein spezifiziertes Beispiel eines ICL 1900-Serienfunktionsbetriebes erläutert. Die gewählte
Funktion ist eine Registerfüllung (LDX)1 wie sie für eine Verwirklichung des Zielcodes erforderlich ist,
und weist die folgenden grundlegenden Schritte auf; wenn spezielle Ziffern angegeben sind, liegen diese in
Sedezimalform vor:
Die ICL 1900-Befehlsadresse wird in das Speicheradressierregister
gefüllt und die entsprechende Instruktion (Zielbefehl) abgerufen. Dies geschieht
in erweiterter Form einschließlich Nullen, die eingesetzt sind, um vier Bytes mit je acht Bits zu
bilden.
Die Instruktion im Speicherausgangsregister wird auf das 1900-Format aus 24 aufeinanderfolgenden
Bits durch Schieberegister- und Nullentfernungsvorgänge in der obenerwähnten Weise komprimiert.
Das Ergebnis wird in das Register B eingegeben.
Dann erfolgt eine vorübergehende Herausnahme aus dem Inhalt des Registers B, um den die
Funktion definierenden Teil des Befehles auf die niedrigstwertigen Bitstellungen zu bringen und sie
herauszuführen. Eine Verschiebung um 14 Bitplätze nach rechts und ein Herausziehen von 9 niedrigstwertigen
Bits wird im hier angegebenen speziellen Ausführungsbeispiel vorgenommen. Das Ergebnis
dient zur Positionierung der Basisadresse der Funktionstabelle zur Erzielung eines entsprechenden
Arbeitsspeicherzugritfes.
4. Eine zweite vorübergehende Entnahme der Inhalte des Registers B (Verschieben von lß-Plätzen und
Herausziehen der 5 niedrigstwertigen Bits) ergibt die Adresse des betreffenden Registers und diese
wird in eine bekannte Arbeitsspeicheradresse gegeben.
5. Eine dritte vorübergehende Entnahme in den
B-Registerinhalten (Verschieben um acht Plätze
nach rechts und Entnahme von C-Bits) ergibt die Information, die sich auf das bezieht, was in das
gewünschte Register eingeschrieben worden ist, und gibt dies in eine andere bekannte Arbeitsspeicneradresse.
6. Das Füllen des spezifizierten Registers mit den gewünschten Inhalten kann erfolgen, nachdem
verschiedene Prüfungen vorgenommen worden sind, beispielsweise um festzustellen, ob die zu
füllende Information (Stufe 5) eine literale oder eine Registeradresse ist, und — falls es sich um eine
Registeradresse handelt — ob sie das Register spezifiziert, in welches die entnommene Registeradresse
eingesetzt war oder ob die beiden Adressen das gleiche Register spezifizieren.
Andere Faktoren, die vor dem Ausführungsschritt ti berücksichtigt werden können, beziehen sich darauf, ob
eine Modifiziereinrichtung spezifiziert worden ist, z. B. von den C- oder B-Registern.
Bei dem anfänglichen Speicherzugriff wird eine Verzögerung von zwei Prozessorzyklen zwischen den
Schritten 1) und 2) auftreten, dies dient dazu, um die Gültigkeit der betreffenden Adresse zu prüfen und ist
zweckmäßigerweise eine Erweiterung einer Prüfung, die begonnen worden ist, bevor der Speicherzugriff 1
eingeleitet wird.
Die Ausgänge der verschiedenen Register des Prozessors sind in den F i g. 2 und 3 gezeigt, sie besitzen
eine mit Pfeil versehene Zweigleitung IS, um die Speicherung des Zustandes in dem in F i g. 1 angegebenen
Bildspeicher anzuzeigen. Auf diese Weise wird mit einer entsprechenden Gatterung auf diesen Zweigleitungen
eine anfragbare Aufzeichnung der Prozessoraktivität erhalten, die insbesondere für Fehlerdiagnosezwecke
nützlich ist.
Hierzu 3 Blatt Zeichnungen
Claims (2)
1. Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung, die einen Mikroprogrammspeicher,
der Mikroprogramme entsprechend einer Vielzahl von Prioritätsstufen bzw. Mikroprogrammzuständen
aufnimmt, eine Vielzahl von Mikroprogrammadressenregistern, und zwar jeweils eines für
jede Prioritätsstufe (Mikroprogrammzustand), und eine Prioritätssteuereinrichtung aufweist, die Unterbrechungsanfragen
aus einer Vielzahl von peripheren Einrichtungen aufnimmt die die höchste Prioritätsanfrage auswählt und eine entsprechende
der Prioritätsstufen (Mikroprogrammzustände) durch Auswahl des entsprecnenden der
Mikroprogrammadressenregister zum Adressieren des Mikroprogrammspeichers aktiviert, gekennzeichnet durch einen Zweirichtungs-Zähler
(55) zur Auswahl von Prioritätsstufen (Mikroprogrammzustände), die nicht auf die Aktivitäten der
peripheren Einrichtungen bezogen sind, wobei der Zweirichtungs-Zähler nach vorwärts zählt, wenn ein
Maschinenprogramm auf ein Unterprogramm springt, von welchem eine Rückführung erwartet
wird, und der nach rückwärts zählt, wenn die erwartete Rückführung eintritt, und einen Multiplexer
(53) der den Ausgang aus der Prioritätssteuereinrichtung (42, 51) auswählt, wenn eine Unterbrechungsanfrage
von den peripheren Einrichtungen vorliegt, der den Ausgang des Zählers (55) auswählt,
wenn keine derartige Unterbrechungsanfrage vorliegt, wobei der Ausgang des Multiplexers (53) ein
Signal abgibt, das die gerade aktive Prioritätsstufe (Mikroprogrammzustand) anzeigt und zur Auswahl
des entsprechenden der Mikroprogramm-Adressenregister aus dem Mikroprogramm-Adressenspeicher
(65) zum Adressieren des Mikroprogramm-Speichers (11) verwendet wird.
2. Datenverarbeitungsanlage nacK Anspruch 1, dadurch gekennzeichnet, daß dann, wenn eine
Unterbrechungsanfrage von den peripheren Einrichtungen ausgewählt ist, das entsprechende Mikroprogramm-Adrfcssenregister
eine neue Mikroprogrammadresse über einen Pfad (49) von der peripheren Einrichtung aufnimmt, die die Unterbrechungsanfrage
gestartet hat.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1786473A GB1448866A (en) | 1973-04-13 | 1973-04-13 | Microprogrammed data processing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2417795A1 DE2417795A1 (de) | 1974-10-24 |
DE2417795C2 true DE2417795C2 (de) | 1983-11-24 |
Family
ID=10102548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2417795A Expired DE2417795C2 (de) | 1973-04-13 | 1974-04-11 | Datenverarbeitungsanlage |
Country Status (10)
Country | Link |
---|---|
US (1) | US3988719A (de) |
JP (1) | JPS5647568B2 (de) |
DE (1) | DE2417795C2 (de) |
FR (1) | FR2225784B1 (de) |
GB (1) | GB1448866A (de) |
HU (1) | HU172377B (de) |
IN (1) | IN140927B (de) |
NL (1) | NL176714C (de) |
PL (1) | PL114858B1 (de) |
ZA (1) | ZA742281B (de) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1506972A (en) * | 1976-02-06 | 1978-04-12 | Int Computers Ltd | Data processing systems |
GB1527289A (en) * | 1976-08-17 | 1978-10-04 | Int Computers Ltd | Data processing systems |
US4090239A (en) * | 1976-12-30 | 1978-05-16 | Honeywell Information Systems Inc. | Interval timer for use in an input/output system |
US4126893A (en) * | 1977-02-17 | 1978-11-21 | Xerox Corporation | Interrupt request controller for data processing system |
US4080651A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Memory control processor |
US4080652A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Data processing system |
US4126894A (en) * | 1977-02-17 | 1978-11-21 | Xerox Corporation | Memory overlay linking system |
US4228497A (en) * | 1977-11-17 | 1980-10-14 | Burroughs Corporation | Template micromemory structure for a pipelined microprogrammable data processing system |
US4315314A (en) * | 1977-12-30 | 1982-02-09 | Rca Corporation | Priority vectored interrupt having means to supply branch address directly |
DE2805939C2 (de) * | 1978-02-13 | 1980-01-31 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Steuerwerk |
US4348721A (en) * | 1978-06-30 | 1982-09-07 | International Business Machines Corporation | System for selectively addressing nested link return addresses in a microcontroller |
US4217640A (en) * | 1978-12-11 | 1980-08-12 | Honeywell Information Systems Inc. | Cache unit with transit block buffer apparatus |
JPS5621240A (en) * | 1979-07-27 | 1981-02-27 | Hitachi Ltd | Information processor |
JPS5748139A (en) * | 1980-09-04 | 1982-03-19 | Nec Corp | Microprogram control device |
IT1134780B (it) * | 1980-12-18 | 1986-08-13 | Honeywell Inf Systems | Unita' di controllo microprogrammata con rete di salti multipli |
US4541045A (en) * | 1981-09-21 | 1985-09-10 | Racal-Milgo, Inc. | Microprocessor architecture employing efficient operand and instruction addressing |
US4695945A (en) * | 1985-02-28 | 1987-09-22 | International Business Machines Corporation | Processor I/O and interrupt filters allowing a co-processor to run software unknown to the main processor |
US4755966A (en) * | 1985-06-28 | 1988-07-05 | Hewlett-Packard Company | Bidirectional branch prediction and optimization |
US4802087A (en) * | 1986-06-27 | 1989-01-31 | Honeywell Bull Inc. | Multiprocessor level change synchronization apparatus |
US5018098A (en) * | 1987-05-07 | 1991-05-21 | Fujitsu Limited | Data transfer controlling apparatus for direct memory access |
US5003462A (en) * | 1988-05-31 | 1991-03-26 | International Business Machines Corporation | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means |
US5008808A (en) * | 1988-06-23 | 1991-04-16 | Storage Technology Corporation | Consolidation of commands in a buffered input/output device |
DE4037723C2 (de) * | 1990-11-27 | 1995-04-06 | Siemens Ag | Verfahren zum Übermitteln von an mehreren Datenschnittstellen einer prozessorgesteuerten Einrichtung vorliegenden Informationen an deren Prozessoreinrichtung |
JP2868141B2 (ja) | 1992-03-16 | 1999-03-10 | 株式会社日立製作所 | ディスクアレイ装置 |
JPH07271699A (ja) * | 1994-03-31 | 1995-10-20 | Canon Inc | ネットワークを介して接続される周辺処理装置と情報処理装置並びにその周辺処理装置における制御方法とその周辺処理装置の制御方法 |
EP1903437A3 (de) * | 2006-07-31 | 2008-10-22 | Seiko Epson Corporation | Verfahren zur Übertragung von Aktualisierungsdaten, Firmware-Schreibsystem und Programm zur Übertragung von Aktualisierungsdaten |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3286239A (en) * | 1962-11-30 | 1966-11-15 | Burroughs Corp | Automatic interrupt system for a data processor |
US3373408A (en) * | 1965-04-16 | 1968-03-12 | Rca Corp | Computer capable of switching between programs without storage and retrieval of the contents of operation registers |
US3599162A (en) * | 1969-04-22 | 1971-08-10 | Comcet Inc | Priority tabling and processing of interrupts |
-
1973
- 1973-04-13 GB GB1786473A patent/GB1448866A/en not_active Expired
-
1974
- 1974-04-08 US US05/459,187 patent/US3988719A/en not_active Expired - Lifetime
- 1974-04-09 ZA ZA00742281A patent/ZA742281B/xx unknown
- 1974-04-10 IN IN813/CAL/1974A patent/IN140927B/en unknown
- 1974-04-11 DE DE2417795A patent/DE2417795C2/de not_active Expired
- 1974-04-11 HU HU74IE00000626A patent/HU172377B/hu unknown
- 1974-04-11 NL NLAANVRAGE7405059,A patent/NL176714C/xx not_active IP Right Cessation
- 1974-04-12 PL PL1974170324A patent/PL114858B1/pl unknown
- 1974-04-12 FR FR7413089A patent/FR2225784B1/fr not_active Expired
- 1974-04-13 JP JP4158874A patent/JPS5647568B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE2417795A1 (de) | 1974-10-24 |
US3988719A (en) | 1976-10-26 |
IN140927B (de) | 1977-01-01 |
ZA742281B (en) | 1975-04-30 |
JPS5042758A (de) | 1975-04-18 |
JPS5647568B2 (de) | 1981-11-10 |
NL7405059A (de) | 1974-10-15 |
PL114858B1 (en) | 1981-02-28 |
NL176714B (nl) | 1984-12-17 |
AU6767474A (en) | 1975-10-09 |
HU172377B (hu) | 1978-08-28 |
FR2225784A1 (de) | 1974-11-08 |
NL176714C (nl) | 1985-05-17 |
FR2225784B1 (de) | 1979-10-12 |
GB1448866A (en) | 1976-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE3151745C2 (de) | ||
DE2355993C3 (de) | Programmierbare Datenverarbeitungsanlage | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2054835C2 (de) | Steuereinrichtung in einem Prozessor einer Mehrprozessor-Datenverarbeitungsanlage | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2350884A1 (de) | Datenverarbeitungssystem | |
DE2746505C2 (de) | ||
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE2737353A1 (de) | Verfahren zum testen der adressbildung in einem dv-system und vorrichtung zur durchfuehrung des verfahrens | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2458096C2 (de) | Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE2744359C2 (de) | ||
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE3031964A1 (de) | Rechnersystem, bei dem sich der programmspeicher zum durchlaufen eignet, wobei einem befehl nicht zugeordnete daten einzeln detektiert werden | |
DE2759120C2 (de) | ||
DE2336676B2 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben | |
DE2744252C2 (de) | ||
DE2717700C2 (de) | Speicherzugriffsanordnung | |
DE2717244C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8126 | Change of the secondary classification |
Ipc: ENTFAELLT |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |