DE2417795A1 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2417795A1 DE2417795A1 DE2417795A DE2417795A DE2417795A1 DE 2417795 A1 DE2417795 A1 DE 2417795A1 DE 2417795 A DE2417795 A DE 2417795A DE 2417795 A DE2417795 A DE 2417795A DE 2417795 A1 DE2417795 A1 DE 2417795A1
- Authority
- DE
- Germany
- Prior art keywords
- microprogram
- register
- level
- address
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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
Description
INiDEBNATIONAL COMRJTEES LIMITED, IGL House, Putney, London, S.W. 15,
England
Datenverarbeitungsanlage
Die Erfindung bezieht sich auf mikroprogr aminiert e Datenverarbeitungsanlagen
und insbesondere auf solche Datenverarbeitungsanlagen, die eine Zentraleinheit aufweisen, welche eine Vielzahl von
peripheren Geräten auf einer vorher zugeteilten Prioritätsbasis -bedient.
Die Kapazität, die von Puffereinrichtungen für wenigstens das am raschesten arbeitende, einer Zentraleinheit zugeordnete periphere
Gerät kann dadurch reduziert werden, daß den peripheren Geräten Prioritäten zugeteilt werden und daß die Geräte mit höherer
Priorität solche Geräte mit niedrigerer Priorität unterbrechen können. Die Einrichtung zurDurchführung der Unterbrechungen
kann die Verarbeitung von Mikroprogrammen sich ändernder . Komplexität erforderlich machen und nimmt generell eine erhebliche
Verarbeitungszeit auf, insbesondere zum Abwerfen und zum Wiedergewinnen des Mikrocodes und der Daten für das Unterbrechungsgerät, wobei noch ein erheblicher Pufferbedarf verbleibt.
♦ erforderlich ist
409843/0901
Konto: Bayerische Vereinsbank (BLZ 75020073) Nr. 5 804248 Postscheckkonto München 893 69 - 801
Gerichtsstand Regensburg
8.4.197* W/He - Z- I/p 7824
Gemäß der Erfindung weist eine Datenverarbeitungsanlage eine Zentraleinheit und eine Vielzahl von periptieren Geräten, eine
"Vielzahl von Mikroprogramm-Adressenregistern, eine zugeordnete Vielzahl von Mikroprogramm-Arbeitsregistem, eine Einrichtung
zur Zuordnung eines ersten der Mikroprogramm-Adressenregister zu Arbeitsvorgängen, die von der Zentraleinheit durchgeführt
werden, eine Einrichtung zur Zuordnung jedes peripheren Gerätes zu einem der Mikroprogramm-Adressenregister mit Ausnahme des
ersten Registern, und eine Prioritätssteuereinrichtung auf, die
so betätigbar ist, daß sie Programmunterbrechungen bei jedem Mikroprogramm-Adressenregister entsprechend einer unterschiedlichen
Mikroprogramm-Unterbrechungsstufe ergibt und die so wirksam ist, daß sie eine laufende Adresse für diese Stufe speichert,
wobei das erste Adressenregister der Stufe niedrigster Priorität entspricht.
Bei einer Zentraleinheit gemäß vorliegender Erfindung ist die Mikroprogrammstufe höchster Priorität für kritische Unterbrechungen
reserviert, z.B. aufgrund von Paritätsfehlern oder Maschinenfehlern.
Die Ranganordnung normaler Unterbrechungen für Mikroprogrammstufen beginnt somit mit der Stufe der kritischen
Unterbrechung und es schließen sich dann die Stufen, die auf die Zentraleinheit bezogen sind, mit der auf die Zentraleinheit
bezogenen Aktivität, die in der Ranganordnung niedj£riger ist,
an.
Es kann mehr als eine Zentraleinheit die gleiche Mikroprogrammstufe
gemeinsam benutzen und - obgleich dies bedeutet, daß sie einander nicht unterbrechen können - ist normalerweise eine
Prioritätsschaltung vorgesehen, die die Reihenfolge bestimmt,
in der die entsprechenden Mikroprogrammstufen verwendet werden.
Wie vorstehend angedeutet, erhält die Aktivität der Zentraleinheit,
die nicht auf die Bedürfnisse der peripheren Geräte bezogen ist, die niedrigste Priorität, und dies wird durch eine Anfrage
409843/0901
8.4.1974- W/He - 5 - Vp 7824
eines der peripheren Geräte nach. Bereitstellung unterbrochen.
Anstatt nur eineMikroprogrammstufe für eine solche auf die Zentraleinheit bezogene Aktivität anzurufen, wird bevorzugt, eine Anzahl
von Stufen zu verwenden, die ebenfalls in der Ranganordnung angeordnet sind, wobei jede Stufe ihr eigenes Mikroprogramm-Adressenregister
besitzt.
Die Verwendung einer Anzahl von auf die Zentraleinheit bezogenen Mikroprogrammstufen mit den entsprechenden Registern ist vorzugsweise
einem reversiblen Zähler für die Stufenänderungsteuerung 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 Auswahl des Mikroprogramm-Stufenadressenregisters
nä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 Mikroprogrammstufe nächst niedrigerer Priorität sequentiell
geordnet.
Eine zweckmäßige Gesamtanzahl von Mikroprogrammstufen ist 16; dabei sind acht Stufen der Zentraleinheitsaktivität, die nicht
auf periphere Geräte bezogen ist, zugewiesen, sieben höhere Stufen sind der auf periphere Geräte bezogenen Zentraleinheitsaktivität
zugewiesen, und die höchste Stufe ist für kritische Unterbrechungen reserviert. Dies bedeutet, daß die Mikroprogramm-Adressenregister
bis zu einer Tiefe von 16 wiederholt werden, ähnlich wie einige der Arbeitsregister, während die übrigen auf einer
Tiefe von 9 gehalten werden.
Torzugsweise wird jeder Satz von Registern als wortorganisierter
Speicher für direkten Zugriff ausgeführt, und alle solchenSpeicher
durch eine Anzeige der gewünschten Mikroprogrammstufe adressierbar gemacht, die teilweise durch eine Prioritätsschaltung
bestimmt wird, um die Prioritäten der peripheren Geräte abzuschätzen, die eine Verarbeitungszeiu eriadem. Wie vorstehend
409843/0901
auspeführt, >arn ^ ir ft seiche P^iori-bät.ssohaltung durch eine
we*1 f°rp
ScihaTtnnF unterstützt warden, die in eier Weise wirksam
ist, daß pie zwischen peri^er-pn Maschinen auswählt, die gemeinsam
die P-I^i^.he Mjkro"nrop-ramrn.0.tuf e benutzen.
Bei einer bevorzugten Ausführungsform der Erfindung erfolgt die
Verwendung der die Stufe bestimmenden Anzeige auf die verschiedenetn
Sätze vrm Speichern, die wiederholte Register (replicated
register) darstellen, nicht gleichzeitig, da die Arbeitsvorgänge
der Zentraleinheit sich mit dem Mikroinstructionsab#ruf, dem
Mikroinstruktionsdekodieren und der sich daraus ergebenden Datenflußsteuerung für den Instruktionsablauf, der in fortschreitenden
Zentraleinheitszykl en erfolgt, überlappen oder
ineinanderschachteln, Dies bedeutet, daß zu ,jedem beliebigen' Zeitpunkt das Abrufen, das Dekodieren und das Ausführen relativ
zu unterschiedlichen MikrοInstruktionen erfolgen kann. Eine
entsprechende Zeitsteuerung der Mikroprogramm-Stufenregelung und
der Registerschaltung ist somit erfolrderlich, damit die Instruktionen, die bereits gewartet'sind, auf die Ausführungsstufe
laufen. ' . ·_
Vorzugsweise ist eine Aufhebungseinrichtung vorgesehen, die während
eines derartigen-Auflaufes der Leitung (pipeline) in der
Weise wirksam wjra, aaß y>n Anfängen der Sprungevorgä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 Sprungebetriebes 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 die Zentraleinheit mit genormten peripheren Geräten in einer Einheitskonstruktion konsolidiert, in welcher
eine Vielseitigkeit durch spezielle, zweckgebundene Koppler für·
AQ98A3/09Ö1
copy' bad original
8.4.1974 V/He « 5~- I/·*
jedes betreffende periphere Gera vorgesehen ist/ Diese genormten
Einrichtun gen enthalten jeweils zweckmäßigerweise weit weniger
Maschinenlogik (hardware logic) als ein normales, freistehendes, peripheres Gerät, und verwenden stattdessen die mikroprogrammgesteuerte
Zentraleinheit, um erforderliche Steuervorgärge auf
Anfrage über den betreffenden Koppler durchzuführen.' Eine bevorzugte normale Untergruppe von peripheren Einridtungen weist
einen Plattenspeicher, einen Kartenleser, einen Zeilendrucker und eine Videokonsole auf. Ein Koppler steht auch zur direkten
Dateneinführung zur Verfügung, für die eine Mikronrο tr ammspeicher-Verlängerung
erforderlich sein kann. Ferner sind in Hinblick auf
die Flexibilität der Mikroprogrammsteuerung1 Kopnler vorgesehen, .
die genormte Schnittstellen für andere periphere Geräte simulieren, z.B. u.m eine vollständige Kompatibilität, eine sogenannte
"Steck-Kompatibilität" mit anderen Bereichen der ßeräte· zu erhalten.· ,."■■"
Bei einer bevorzugten Ausführungsform können Programme von .Mikroinstruktionen
als zwei Typen enthaltend betrachtet werden, von denen beide einen Basissatz von Funktionen für das Rechenwerk
verwenden, von denen einer dazu bestimmt "ist, einen peripheren Eingang/Ausgang und Steuerungen zu handhaben und der andere sich
mit der Durchführung eines bestimmten Ziel"orogrammefunktionssatzes
befaßt, wie er für einen bestimmten Rechner oder Bereich, eines Rechners entwickelt worden ist (z.B. IOL 1900 Serie oder
Anlagen anderer Hersteller). Vorzugsweise ist der Mikroprogramm—
speicher einschreibbar und dies ergibt für das System eine größere Flexibilität, insbesondere bei der Imitierung anderer
"Ziel"-Systeme. .'- " >
.
In weiterer Ausgestaltung der Erfindung wird eine Datenverarbeitungsanlage
vorgeschlagen, die einen Mikroprogrammspeicher zur
Speicherung wenigstens zweier Sätze von Folgen von Mikroinstruktionen, eine Einrichtung, die auf einen iustand der Zentraleinheit
,-anspricht, welcher einen Eingabe/Ausgabebetrieb anzeigt,
409843/0901
T"
8.4.1974 W/He - £ - ' I/p 7824
Hikro-
~damit eine FoT p,-e von einem Satz von Instruktionen ausgewählt wird, und eine Einrichtung aufweist, die auf die Registrierung eines Wortes anspricht, das eine Instruktion in einer Sprache höherer Ordnung darstellt, damit eine Folge aus dem anderen- oder einem anderen Satz von Makroinstruktionen ausgewählt wird. '
~damit eine FoT p,-e von einem Satz von Instruktionen ausgewählt wird, und eine Einrichtung aufweist, die auf die Registrierung eines Wortes anspricht, das eine Instruktion in einer Sprache höherer Ordnung darstellt, damit eine Folge aus dem anderen- oder einem anderen Satz von Makroinstruktionen ausgewählt wird. '
Allgemein bedeutet dies, daß eine Zentraleinheit mit einem Mikroprogramm
gefüllt wird, das Reihenfolgen aus einem "bestimmten oder Zielcode umsetzt, welcher unabhängig von dem ist, der erforderlich
ist, um die Zentraleinheit xri --eigen vn Mikroinstruktionen
zu betreiben, die direkt die Zentraleinheit betätigen.
Vorzugsweise ist die Zentraleinheit byte-organisiert, beispielsweise
acht Bits pro Byte, mit einer Vielzahl von Bytes, z.B.
vier Je Wort, und die Zentraleinheit weist eine Einrichtung auf, ,
durch die jedes Byte eines Wortes in eine Byte«*stellung eines
anderen Wortes eingesetzt werden kann.
Nach einer weiteren Ausführungsform der Erfindung wird bei der
zuletzt angegebenen Datenverarbeitungsanlage, bei der die Zentraleinheit 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 Bytes zerlegt und
nichtleitende Positionen solcher Bytes mit Nullen füllt.
Dies ermöglicht, daß die byte-organisierte--Zentraleinheit Datenwörter
entsprechend den Funktionen verarbeitet, die durch ein
vorbestimmtes Zielcodeformat spezifiziert sind, das wortofientiert
ist. Wenn somit die Datenwortlänge des Zielcodes kleiner, ist als die der Zentraleinheit nach vorliegender Erfindung.werden vorzugsweise" die abgespaltenen Nullen in vorbestimmte Stellungen eines
,jeden Bytes längs Teilen des Eingangswortes eingeführt, die durch
das Abspalten entstanden sind. Eine ähnliche. Nulleinführung kann
verwendet werden, um ein Zielwort unterzubringen, das in kleineren
Bytes organisiert ist als eine spezielle Zentraleinheit nach vorliegender Erfindung.
409343/0301
8.4.1974 W'/iie ' - ^ - I/-- 7*24
Vorzugsweise, ,jedoch, nicht notwendigerweise, wird das Einp-angswort
in gleiche Teile für ,-jedes Byte aufgespalten, falls dien
,möglich ist. Bei einem'Zielcode einer IGT. 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
injedes Byte an der höchstwertigen Bitstelle eingesetzt, wobei
die entsprechenden sechs Bitteile des Zielwortes, ä-ie- 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' Avsführungsformen
der Erfindung- unter Verwend.uns· von einschreibbaren -Speichern
mit freiem Zugriff für das Mikroprogramm zu verwenden. Dies ermöglicht.ein Ersetzen des Mikroprogramms,rdas auf einen
Zielcbde gerichtet ist,. (z.B. ICL 19OO Serie) durch ein Mikrq programm,
das auf einen anderen Zielcode (z.B. IBM 36O und 370)
gerichtet ist. Bestimmte Merkmale, insbesondere das Füllen des Mikroprogramm- und Datenspeichers, werden durch den Zielcode
nicht beeinflußt,'-und es ist vorteilhaft, solches Mikroprogrammmaterial
im Festwertspeicher mit freiem Zugriff zu speichern, die in- idealer Weise die gleiche KonstruktionstechnoTogie 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 unterschied-,
liehe Speichereinheiten. Es ist natürlich auch möglich, sogenannte
"festverdrahtete Logik" zum Dekodieren des Zielcodes zu verwenden, und eine dera^ti^e ausführung kann integrierte Schaltungen
mittleren und großen Maßstabs verwenden.
409843/0901
W/He. - g _ I/p 7824
Nachstehend wird die Erfindung in Verbindung mit der Zeichnung
anhand eines Ausführungsbeispieles erläutert. Es zeip:eri:
Fisr. 1 e^v Blockschaltbild des Gesamtaufbanes einer Datenverarbeitnnrsania.fe'gemäß_
der Erfindung,
Fip*. 2 ein Blockschaltbild, in welchem detaillierter die Teile
der Blöcke nach Fig. 1 dargestellt sind, die als Ergebnis
einer Anforderung eines peripheren Gerätes mit der Mikro—
■OroPTamm-S-peicheradressenstufenänderung befaßt sind,
Fi-g. 3 Pin Blockschaltbild, das Teile des Datenflußblockes nach
Fig. 1 zeigt, die sich mit einer Mikroprogramm-Stufenänderung
befassen, und .
J1Xf:. M- ein Blockschaltbild., in bezug auf das Hauptspeichervorgänge
umrissen sind.
Fig. 1 zeigt eine Speicheranordnung 10 mit Teilen für die Mikroprogrammspeicherung
11 und einem Haupt- oder Datenspeicher 12. Die beiden Speicherteile 11 und 12 sind als" voneinander'getrennt
adressiert gezeigt« Sie sind ferner als'-Blocks unterschiedlicher Größe dargestellt, damit zum Ausdruck kommt, daß sie unterschiedliche
Wortlängen wie auch unterschiedliche Wortkapazitäten haben
können. Vorzugsweise werden sie aus ähnlichen Halbleiterbausteinen
aufgebaut, damit eine einzige Einheit mit getrennten
Adressiersteuereinrichtungen entsteht. "Eine Mikroprogrammspeichersteuerung 13 ist mit einem Speicheradressenweg 14 und . '
einem Instruktionsweg 15 gezeigt, welcher doppelseitig gerichtet
ist, damit Mikroprogrammaterial eingeschrieben wie auch. zu·Steuerzwecken
ausgelesen werden kann. In ähnlicher Weise ist die Hauptspeichersteuerung 16 mit einem Adressenweg 1? und einer
doppelseitig gerichteten Datenverbindung 18 zum Hauptspeicher 12 gezeigt. ' - .
409S43/0901
Copy'
8.4.1974 W/He - 9 - I/p 7824 .
Ein Mikroprograram-Instruktionsdecodierer. 19 wirkt auf Mikroinstruktionen
ein, die aus dem Speicher 11 über die Mikroprogramm-Speicher
steuerung Io geholt und über "den Weg ?0 ζλιγ-ο^
werden. Der Dekodierer erzeugt Sjgnale für eine Hauntlogik und
Rechenwerk rider "Datenflußmühle" Pl. Der Decodierer 19 verarbeitet
auch. Mikroprogramm-Sprungfeteuersignale für die Mikro-orogramm-Speiehersteuerung
13·
Doppelseitig gerichtete Verbindungen sind mit 22 und 23 zwischen
der "Mühle" 21 und dem Mikroinstruktions-Deoodierer 19 sowie
der Haupt speicher steuerung 16 dargestellt. Ähnliche "Verbindungen
24, 2S, 26 und 27 sind auch für einen Arbeitsspeicher· 28,
Arbeitsregister' 29, Bildspeicher J>Q und n^riphere Steueranlage
31 gezeigt. Der-Arbeitsspeicher 28 ist ein wortorganisierter
Zwischenspeicher mit verhältnismäßig sehr raschem Zugriffund wird von. der "Mühle." in konventioneller Weise verwendet. Bei
dem Arbeitsspeicher sind vorzugsweise alle Adressen für Peerel
8 bis I^ der Tätigkeit der Zentraleinheit verfügbar, es ist
,jedoch nur ein Teil, vorzugsweise die Hälfte, für periphere, bezogene
Mikroprogrammstufen verfügbar. In typispher Weise -sind reservierte Stellen für Markierungen in beiden Hälften
des Speichers vorgesehen. Andere Stellen können hereichsdefiriierten
Registern, Ubersetzungshilfen, konstanten, peripheren
Steuerwörtern zugeordnet werden, und es können Register abhängig von den Zugriffsanforderingen des Mikrapro^'aiames g>nmach"c
werden. Es ist vorstehend erwähnt worden, daß der Arbeitsspeicher einen sehr raschen Zugriff besitzt, und er ist ■
beispielsweise ein 256'χ 32 Bit wortorganisierter Zwischen-.-speicher,
der bis zu zwei Lese- und einen Schreibzugriff auf einer einzigen Mikrpprogramminstruktion ermöglicht. Die Arbeitsregister
29 werden im einzelnen in Verbindung mit den" Mehrpegel-Mikroprogrammeigenschaften beschrieben. Der Bildspeicher
30 besteht aus einer Vielzahl von Registern und einer
so adressierbaren Speicherung, daß die Inhalte aller anderen
4Q9843/0901
W/He - <fl - I/o 7824
Register in die Zentraleinheit gegeben werden und nur einige
davon durch das Mikroprogramm Zugriff in den Speicher 11 haben.
Dan periphere System 33 "bedient das Zentraleinheitende einer
peripheren Vielfgchleitung 32 und weist ein Prioritätsnetz zur
Bestimmung auf, welches einer Vielzahl von peripheren Geräten Zuirri ff_ 7/u der Zentraleinheit zu einem beliebigen Zeitpunkt
besitzt. Jedes periphere Gerät ist mit dem peripheren Anschluß-Vielf
achleitun?:ssystem 32 über einen Koppler verbunden, der
dazu dient, periphere Steuersignale durchzulassen, die durch
Mikro-nrqgramm-und a^ch Einganes- od«r Auspangsinf ormation .er-7eugt
werden.. . Spezielle Koppler sind für einen Plattenspeicher
335 einen Kartenleser 34·· einen Drucker 3^* 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 Mikroprogrannnsterial mehr S-peicherraum zur Verfugung wie
durch die gestrichelte Erweiterung 39 am Speicherteil 11 angedeutet
ist. .. - -
In Fig. 2 ist eine gestrichelte Linie 4-0 zur Anzeige des Anschlusses
an die peri-nheren Gerätekoppler 33 "bis 37- nach Fig.
verwendet und äquivalent den Verbindungen, die .bei 32 ,in. Fig. 1-gezeigt
sind. Ein erster Vielfachleiterweg 41 aus diesem Anschluß
40 wird in Abhängigkeit davon erregt, welches der peri-■nheren
Geräte einenZentraleinhe its zugriff ""anfragt. Ein Priorität
scodierer spricht auf die Erregung des Weges 41 an, damit
entschieden wird, welches periphere Gerät un4ter denen, die zu
,einem beliebigen Zeitpunkt anfragen, die Priorität erhält.
Generell ist e.=? am zweckmäßigsten, wenn der Weg 41 eine Leitung
für ^jeden Koppler des peripheren Gerätes aufweist, eine dich-■
tere Codierung kann jedoch als zweckmäßig angesehen werden, -um eine unnötige Beschränkung der Anzahl der "bedieninren- peripheren
Koppler zu vermeiden.
409843/0901
8.4.1974 W/HP - - yf - ' 7/ό 7B24
8.4.1974 W/pe ' - 1% - -;.- l/v 7824
.Der Ausgang aus der. Priorität.scodierschaltunp 42, der einen
speziellen peripheren Koppler identifiziert, erfolgt über 43
und stellt die Anfrage höchster Priorität zv einem beliebigen
Zeitpunkt dar. Der Ausgang 43. wird über 46 an eine Schaltung
47 gelegt, die. ein Augenblicks signal über 48 an die periphere, .,
gegebene. Priorität sendet. In Abhängigkeit von dem vorhandenen Signal auf 48 wird bewirkt, daß .der ausgewählte Koppler einen".
■ Mehrfachleitungsweg .49.mit einer Mikroprogramm-Speicheradresse
entsprechend dem Beginn des speziellen Programms, 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 Wog 49 iut allen peripheren Kopplerr im System gemeinsam.·
Es ist .ein weiterer MeMachleitungsweg ^O, der allen Kopplern
• gemeinsam ist,■vorgesehen; er ist auch gleichzeitig mit Information
für ein-.Modifizierregister der Zentraleinheit gefüllt.
., ;Der Ausgang 43 der -peripheren Prioritätscodierschaltung 42
" wird auch einer^weiterenPrioritätscodierschaltung 5I zugeführt,
die,an ihrem Ausgang 52 eine Darstellung einer Mikroprogramm-,
,stufe ergibt,,, welche für das ausgewählte periphere Gerät geeignet
ist* _Es sind zwei Schaltungen 42 und.5I gezeigt, weil
die Möglichkeit bestehtr daß zwei oder mehr periphere Geräte/"
-; -..,sich in die gleiche Mikroprogrammstufe teilen und weil es er- '-forderlich
ist,, beide ausgewählten Koppler (über 48) und die entsprechende Mikroprogrammstufe (über 52) zu"identifizieren.
/^Räumlich können diese Codierer 42 und 5I eine einzige Einheit
;. mit Ausgängen aus unterschiedlichen Stufen oder Teilen sein.
409843/0901
Copy
- I/p 7824 .
. ^ -' ' ""■ 2437795
DaP jSr-gebni s der Prioritätsentscheidungen .und der MikroprORrammstufenbeStimmung
für Anrufe perinherer Geräte wird ilber den
Godiereraunp-anp: 52 in einen Multiplexer 53 geführt. Der Multiplexer
53 arbeitet in der Weise, daß er zwischen zwei Eingängen'
auswählt, 'die aus dem Codierer 52 und dem Ausgang 54 eines
reversiblen Zählers 5-5 bestehen, welcher zur .Bestimmung" von
Mikroprogramrnstufen für die Aktivität der Zentraleinheit, die
nicht auf periphere Anrufe bezogen ist, verwendet wird. Der Multiplexer 53 speist seinen Ausgang 56 in ein die Stufe'identifizier
ende s Register 57.mit einem Vielfachleiterausgang 58.
Priorität wird den Mikroprogrammstufen 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
eine Mikroprogrammstufe 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.tu , daß der Wert
"1". die höchste Priorität besitzt.-Stufenunterbrechungen aufgrund
peripherer'Anrufe werden unter Verwendung.einer Vergleichseinrichtung 59 behandelt, -.damit der'· Codiererausgang'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
wird einer Unterbrechungsgenehmigungssch'altung 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öä.icht auch eine periphere
409843/0901
copy
8.4.1974 W/He -43 - L/v 7824
Unterbrechung nur, wenn wenigstens drei Zyklen der Zentraleinheit
seit der .letzten Unterbrechung vergangen sind. Wie nachstehend noch erläutert wird, wird eine Unterbrechung für.fünf
Zyklen ges;·>-orel,- nachdem ein iiavptspeioherzugriff begonnen hat.
Diese Steuerung wird auf einfache Weise dadurch erzielt, daß entweder ein kleiner Zähler oder ein Schieberegister verwendet
vri rd..-.v ■'-.·..- ■ ■ ■ - . '
. ' ■ ' ■ ■'-.'.. , - Mikro-
Für einen Zyklus der Zentraleinheit, bei welchem das Programmstufenregister
57 seinen Zustand ändert, erfolgt ene Umschaltung
von dem laufenden Mikroprogramm -Adressenregistef zu dem
entsprechenden neuen Punkt. Derartige Mikrn-Adressenre<?ister
weisen unterschiedliche Wortstellungen eines einschreibbaren Speichers 65 mit freiem Zugriff und' einen Inhalt, von .16 Wörtern
auf, der aus der' ,Stuf enausp-anprszweie-leituns; 6T adressiert wird..
, Die Zulässigkeit dieser Unterbrechtmgs stuf er-änderunr; bewirkt
.auch,daß ein Multiplexer 66 den Weg 49 auswählt, d^r eine der
Eingangsangaben darstellt, und den Ausgang 67 entsprechend
erregt. Der MuItflexerausgang 67 sneist eine ..S-neicheradressierschaltung
68, die in der Weise wirksam ist, da-ß sie den Speicher IO über-den "Weg 69 adressiert, welcher somit der Funktion
entspricht," die. durch den-Pfeil 14 der, Fig. 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 HauOt- oder Datenspeicherteiles 12 des SOeichers'lO auswählbar
ist, so daß der ,Weg 69 auch die Funktion durchführt, ■
die durch den Pfeil47 der Fig. 1 angezeigt ist.. Die Speicheradressier
schaltung 68 ist im Multiplexerausgang 67 dargestellt,
weil üblicherweise bevorzugt wird. die Speichergrößfv ohne
nachteilige Beeinflussung der hohen Geschwindigkeit durch
Überlappen von ungeradz.ahliger und geradzahliger Adressierung
des Speichers 10 so groß wie möglich zu machen.
Die Änderung der Inhalte des die Mikroprogrammstufe irlenti.fi- '
zierenden Registers, 57 wählt.eine unterschiedliche Lage im
409843/0901
Copy
P.4-.1974- W/He · . - η If - I/o 7824
Sneicher 65 aus. und hält somit die Rückführraikroprogramm-Speicheradresse
in der vorher ausgewählten Stelle des Speichers
"6S Die neue Mikro-nroRrraramaadresse wird aus dem Weg 4-9 erhalten
und tritt auf dem We p; 69 auf, so daß das Abrufen aus dem Mikroprogrammspeicher
11 der ersten Makroinstruktion der Folge, die
durch Anfragen des äußeren 'Gerätes höherer Priorität erforderlich ist, eingeleitet wird. Der Weg 69 weist eine Zweigleitung
auf, die zm Eingang für den Speicher 65 führt, und die neue
Mikroprograrnrns-oeicheradresse wird somit in die Mikroprogramm-Adressenreeisterstelle
eingeschrieben, die durch die Stufen-,
registerausgangsleitung 61 ausgewählt ist.
Aufgrund des Abrufens, Dekodieren?, und Ausführens des Mikro-,
programmes sind zxvpx frühere Makroinstruktionen inder Zentral—
einheit vorhanden, und zwar eine in der Dekod-ierstuf e21 der
Fig. 1. Wenn eine dieser "beiden Mikroinstruktionen einen Sprunpr erforderli.ch macht, oder, wie dies noch beschrieben
wird, einen Haivotspeicherzugriff. wird es erforderlich, bei
- ' - * , " ' programm-
Rückkehr auf ~die unterbrochene Sti;fe auf die Mikrc/speicheradresse
zu gehen, die einen Sprung erforderlich gemacht hat, ~d»h., die entsprechenden und nachfolgenden Instruktionen
aufzuheben. Um diese Aufhebung zu bewerkstelligen, ist eine
logische Schaltung 72 vorgesehen, die normalerweise einen
Ausgang 73 vom Wert "2" auf jeden Zyklus der 'Zentraleinheit
gibt, mit Ai^snahme nach <*iner uüterbr^chung, wenn eine Verringerung auf "1" und dann auf "0" für die Auflauf-Zentral-
einheitszyklen-erfolgt t 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 Hullspeicher 7^ wird nach einem
Auflauf somit eine Zahl enthalten, die die Zahl von Mikro-
409843/0901
GOPY
8.4.1974- W/He ·'- -ftf- ' . Ι/ρ-7824
Instruktionen 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 Pechenwerk
■ 78, das Teil der Datemflußmühle PJ der Fir.. 1 ist, und dient
slim Subtrahieren der Nullzählung auf # dem ^Weg 76 von "dem Wert
eines Ausganges 79 des Mikroprogramm-Adressenregisterspeichprs
65. Die entsprechende modifizierte Speicheradresse steht-auf
dem Weg 80 zur Verfügung, der ein Eingang in den Multiplexer 66 ist. Dieser Eingang -wird durch den Multiplexer 66 bei-einer.
. Rückführung auf eine UnterbrechuhgsmikroTirogrammstufe au'sge- .
wählt und er ist gleich dem Inhalt der entsprechenden Stelle1"
des Adressenspeiahers 65, ausgenommen, wenn eine ,Aufhebungs- ..
• operation als· erforderlich angezeigt wird.· · ' ■
Die. ,Einleitung einer Mikroprogrammstufe höherer Priorität erfordert
'eine Änderung im' Zustand' des Stufenregisters 57 und
" nachfolgende Änderungen in den freigegebenen Stellen der '
: Register-Speicher 65 und 74 sowie der Adresse,die dem Speicher
über den Weg 69 aufgegeben wird, wodurch ein Abruf einer
Makroinstruktion speziell auf dem Weg 49 erfolgt. Bei dem''
nächsten Zentraleinheitszyklus wird eine jentsprech.en.de Decodierung vorgenommen (Block 19-der Fig. 1), und es erfolgt ,
eine Ausführung der letzten Makroinstruktion der unterbrochenen Stufe (Block 21 der Fig. 1).. . -'_ .
Generell ergibt die Pipeline eine weitere Überlappungsfunktion.,
nämlich.die "Bildung einer Mikroprogramm-Speicheradresse.V." .
Bei'dem zweiten Zentraleinheitszyklus, der sich an eine 'Ände-
·- rung im Inhalt des Mikrbprogramm-Stufenregisters 57 anschließt,^
'ist die Ausführung der ersten der TJnterbrechungsmikroinstrukti'onen
erforderlich. Dies ergibt ein Umschalten zwis'chen wiederholten Arbeitsregistern,wie nachstehend in Verbindung;mt Fig.
beschrieben wird. · :
409843/0901
8.4.1974 W/He -16- Ι/τ) 7824
Der Ausrang ^8 dos Stufenregisters C7 wird in ein Register 81
zum- entstehenden Zeitpunkt eingerattert. Ein Ausgang 82
wird von dem Register 81 beim zweiten Zyklus nach einer Mikroprogramm
stuf enänderuns? entnommen und zur Änderung der Adressen
verwendet, die den. einschreibbaren Speichern 8J, 84, 85 und
mit freiem Zugriff aufgegeben werden, welche wiederholte Arbeitsregister A, B, K und G darstellen. Die Mehrfachregisterspeicher
-K und G besitzen beide 16 Wortstellungen, von denen eine gleichzeitig entsprechend der Fiikroprogrammstufenanzeige
auf dem Weg 82 ausgewählt wird. Das ausgewählte einer ieden
Gruppe von Registern E und C ni^mt den laufenden Inhalt eines
entsprechenden der reversiblen -Zähler 87 und 88 über Wege 89
uaa ^u auf a Die K-Pe gist er 85 werden zur Steuerung von Mikroprogrammschleifen
in entspreeilenden Mikroprogrammstufen verwendet
und werden, auf Hull gesetzt, wenn eine Stufe zum ersten
Mal verwendet wird= Die ö-Eegister 86 werden, gefüllt, wenn die
entsprechenden Hilrroprogrammstnfsn eingeführt werden, und ihre
Inhalte stellen üodifisiereinrichtungea für Adressen des Arbeitsspeichers
28 CS'igo 1) dar; wobei jede Hikroprogrammstufe
und insbesondere ^eder periphere Koppler Zugriff zu dem speziellen
Saum in dem Arbeitsspeicher besitzt« der üblicherweise
iintersciiiedlich τοπ anderen Eopplsm ist. Die K-Hegister wer—
ä'?n ;ieässi2E.l auf ITuIl gssetst, 7jesii ein ö=Eegistex· gefüllt wird,
doho, wenn ein Koppler zum ersten Mal ausgewählt wird« Bei.
einer Unterbrechung des periphsreii Eopplers wird das entsprechende
C-Hegister zwei Zentraleinheitζjklen nach der Einleitung
der Unterbrechung ausgewählt und mit dem ¥ert auf dem Weg 50
von der Schnittstelle des !Copplsrimissysteiis gefüllt. Dies
geschieht über den ¥eg 91 durch Auswahl des entsprechenden
Einganges des Multiplexers 92, während .gleichzeitig ein Gesamt-ITu.lleingang
93 für den Multiplexer 9^ ausgewählt wird, so daß
der E-Zähler 87 über den Hultiplexerausgang 95 rückgesetzt wi?d.
4098^3/0901
8.4.1974 W/He - Ί> - I/p 7824
Verwendet man die C-Register als Arbeitsspeicher-Adressenmodifiziereinrichtungen,
kann der gleiche Teil des Hikrocodes "bei
unterschiedlichen Mikroprogrammstufen wie auch auf der gleichen
Stufe ausgewählt werden, wenn einfach eine erneute Einführung erfolgt. Han 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 Kopplermikroprogrammstufeneingang gefüllt wird,
wird die zu füllende Modifiziereinrichtung über die Zweigleitung
96 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 zur Zentraleinheit zu geben und Steuersignale
aus der Zentraleinheit zu berücksichtigen.
Die Ausgänge der ausgewählten C- und K-Register stehen über Wege 99 und 100 dem Rechenwerk der Zentraleinheit für eine
entsprechende Arbeitsspeicheradressierung und Schleifensteuerung
zur Verfügung. 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
Killen der Zähler 88 und 87 erreicht wird.
409843/0901
8.4-. 1974· W/H* -^g- I/p 7824-
Die A- und B-Register 83 imd 84- werden als Quellen von Operanden
für das Rechenwerk und für andere Zwecke, ζ.ώ. aas füllen des
Arbeitsspeichers, Bereitstellen von Hauptspeicheradressen,
die
Daten, in den Speicher eingeschrieben werden sollen, und Füllen der G- 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 B-Register
vorgesehen, die als ausxfä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ängen enthalten binäre Gesamt-ITuIl,
binäre Gesamt—Eins, Daten ans 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 neu^n tief vorgesehen, und zwar
eines für ,jede periphere Aktivitätfcmikroprogrammstufe (1 bis 7)
eines reserviert für Fehler (Stufe "0") und eines, das von allen auf" die Zentraleinheit bezogenen Mikroprogramm stuf en
(8 bis 15) geteilt wird. Dies ist der lall, weil die Mikroprogrammstufen
für die Aktivität der Zentraleinheit nur zu Stapelzwecken verwendet werden, so daß es nur erforderlich
ist, einen Satz von Datenquellen, d.h. Operanden, oder Wörtern für und aus dem Speicher vorzusehen, während sie eine getrennte
Steuerinformation für jede Stufe erfordern.
Der Mikroprogrammstufenauswählweg 82 führt auch zu einem weiteren
Wortorganisiert en, einschreibbaren Speicher 113 mit freiem
^ugriff, der Eingänge aus dem Rechenwerk und Ausgänge in das
Rechenwerk für eine Information besitzt, die sich auf die
409843/0901
■ R.4.1974 W/He - Ί9 - I/v 7<Q24
Zustände von "VergleichsfehleranzeiFen "and Anzeigevorrichtungen
innerhalb des Rechenwerkes "beziehen, die zu Steuerung- und
Verarbeitungszwecken entsprechend dem Grundinstruktionssatz der Zentraleinheit erforderlich sind. Der S-neicher 113 "besitzt
ein Register für ,jede Mikroprogrammstufe, d.h. insgesamt
16.
Vorstehend wurde erläutert, wie ein peripherer Koppler· entsprechend
einer Mikroprogrammstufe höherer Priorität ein* Mikroprogrammstufenaktivität
niedrigerer Priorität unterbrechen kann. Es wurde auch erläutert, wie "bei Rückführung auf eine Mikroprogrammstuf
e - eine Aufhebungsmodifizierung gewährleistet, daß Sprünge oder Speicherzugriffe nicht a einem Informationsverlust
führen, selbst wenn sie xtrährend des Auf lauf ens der Stufe im
Hikroprogrammstufenübergang bei einer Unterbrechung auftreten.
Es ist möglich, daß während einer solchen Unterbrechung ein
Bedienungsanruf durch einen anderen peripheren Koppler mit einer Mikroprogrammstufe niedrigerer Priorität als der -unterbrechende
Koppler, jedoch mit einer liöheren Priorität als 'die
■Unterbrechungsstufe erzeugt wird. Dieser- andere periphere
Koppler soll-vor einer Rückführung in die unterbrochene Stufe bedient werdeno viährend jedoch eins normale Pjlckfiilirmig in
eine unta? brocliene Stufe einfach die entsprechende*! Eil~?o-=-
programm- und Arbeitsregister erneut auswählt, erforae:?-; die
Bedienung eines neuen Anrufes dazwischenliegender Priorität
die Aufnahme der Information entsprechend der Mikroprc^rsraraspeicherstartadresse
und d_er Arbeitsspeichermodifisier-eiarichtung
auf den Wegen 49 und ^>0. Ber Eintritt in eine bestimmte
Mikroprogrammstufe ist der Einstellung eines entsprechenden
Markierbits in einem zusätzlichen Register ruit 16 Bitstellen und zxfar ,jeweils einer für .jede Mikroprogrammstufe
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
4098^3/0901
8.4-.1974- W/He - 2Ό - I/p 7824-
Anruf rait der Mikroprograramstufe höchster Priorität, wie durch
die Prioritätsbestimmung des Blockes 31 gezeigt, eine entsprechende
Mikropro^ammstufenanzeige. Das Markierbit, das dieser
Stufe entspricht, wird geprüft. Wenn es auf die entsprechenden
Werte der Mikroprogrammadresse gesetzt wird, werden C- und K-Register usw. verwendet. Wird es nicht gesetzt, zeigt dies
den Eintritt in die Stufe zum ersten Mal an, und die Signale auf dem Wege 4-9 und 50 werden in gleicher Weise wie für eine
Unterbrechung aufgenommen.
Eine weitere Eigenschaft, cei· Un^erbrecliungseinrichtung besteht
darin, daß Anrufe für den Zentraleinheitszugriff durch die Koppler an den Kopplern durch Taktimpulse aus der Zentraleinheit
übernommen werden und daß diese Taktimpulse durch die
Zentraleinheit zu Zeiten gesperrt werden können? wenn eine
Unterbrechung für die Zentraleinheit nicht annehmbar ist« Dies gewährleistet 9 daß periphere Anrufe mit dem Zeitveraalten der
Zentraleinheit synchronisiert werdenο Koppleranrufe bleiben
gesetzt 9 bis ein AUS&AITG-Impuls durch die Zentraleinheit zusammen
mit dein ilusxmhlsteuersignal (aus 97) eingespeist wird»
3ies gewährleistet, daß eine ünterhrechungsstufe vor der
Buchführung auf der Unterbrechung oder den Unterforechngen
nicht vergessen "fi
Die beschriebene Zentraleinheit bedient Anfragen peripherer Koppler in der jeweiligen Mikroprogrammstufe 1 bis 7· Sie kann
natürlich auch eine periphere Aktivität unter "Verwendung der entsprechenden Hikroprogrammstufe einrichten. Έ±η Betrieb in
diesen Stufen 1 bis 7 l'sim. 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 wei
ter, 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 Zentraleinheitaktion in der Mikroprogrammstufe
409843/0901
8.4-, 1974- W/He ~ 2t - I/p 7824-
"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 Mikroprogrammstufen 8-15 die normale Datenverarbeitung.
Der Betrieb in den Mikroprogrammstufen 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ähliirrouls
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 Start.adresse, die durch die ANSCHLUSS-
auswahlt
Instruktion spezifiziert ist, Bei einer Rückkehr von einem Sprung bewirkt die betreffende Mikroprogramminstruktion, die AUSGANG genannt wird, in dekodiertem Zustand, daß ein Umkehrzählimpuls dem Zähler 55 aufgegeben wird, damit eine Auswahl des Mikroprogramm-Adressenregisters der nächstniedrigen Priorität erhalten wird, um die Verarbeitung auf dieser Stufe wieder aufzunehmen. Bei jedem Übergang kann die Pipeline auflaufen, so daß entsprechende Änderungen der Arbeitsregister C und K und der Vergleichs-, Zählanzeige- und Anzeigeregister 113 zwei ßentraleinheitszyklen nach Beendigung des Überganges auftreten, wie oben ausgeführt. Unter Verwendung eines derartigen Systems können bis zu acht verschachtelte Sprünge aufgenommen, v/erden, ohne daß ein zeitaufwendiges Ab- und Aufrufen erforderlich wäre. Sprunginstruktionen können dadurch simuliert werden, daß das Mikroprogramm-Adressenregister der dann gerade laufenden Stufe mit einer berechneten Adresse überschrieben wird. Dabei wird das Mikroprogramm-Adressenregister als eine Operandenbestimmung deklariert, und die Instruktion wird als unabdingbar mit keiner
Instruktion spezifiziert ist, Bei einer Rückkehr von einem Sprung bewirkt die betreffende Mikroprogramminstruktion, die AUSGANG genannt wird, in dekodiertem Zustand, daß ein Umkehrzählimpuls dem Zähler 55 aufgegeben wird, damit eine Auswahl des Mikroprogramm-Adressenregisters der nächstniedrigen Priorität erhalten wird, um die Verarbeitung auf dieser Stufe wieder aufzunehmen. Bei jedem Übergang kann die Pipeline auflaufen, so daß entsprechende Änderungen der Arbeitsregister C und K und der Vergleichs-, Zählanzeige- und Anzeigeregister 113 zwei ßentraleinheitszyklen nach Beendigung des Überganges auftreten, wie oben ausgeführt. Unter Verwendung eines derartigen Systems können bis zu acht verschachtelte Sprünge aufgenommen, v/erden, ohne daß ein zeitaufwendiges Ab- und Aufrufen erforderlich wäre. Sprunginstruktionen können dadurch simuliert werden, daß das Mikroprogramm-Adressenregister der dann gerade laufenden Stufe mit einer berechneten Adresse überschrieben wird. Dabei wird das Mikroprogramm-Adressenregister als eine Operandenbestimmung deklariert, und die Instruktion wird als unabdingbar mit keiner
409843/0901
8.4.1974- W/He - 22 - I/p 7824
Aufhebung der Auf lauf folge behandelt, xrobei Zentraleinheitzyklen
verlorengehen.
Der Grund dafür, daß die Hauptspeicherzugriffe eine Aufhebung
erfordern, wenn sie während des Auflaufens der Pipeline auf
eine Stufe 0 bis 7-TJnterbrechunf: auftreten, liegt darin, daß
die Hauptspeichereingangs- und -ausgangsregister für die
unterschiedlichen Mikroprogrammstufen nicht wiederholt werden,
und bei der Organisation der Speichersteuerung wird der Vorteil der Pipeline ausgenutzt. Fig. 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
von dem Hauptspeicheradressenzähler 71 gewählt wird. "Om zu
gewährleisten, daß die Inhalte der Speicher 114·, 115 und des
Adressenzählers 71 bis zur Verwendung durch die dann gültige
Stufe der Mikroprogrammoperation geschützt sind, wird eine Speicher-Besetzt-Anzeige gesetzt, die dazu dient, Mikroprogrammstufenä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
lullen des Speicheradreseenzä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.
synchronarbeitende, theoretisch ungepufferte Geräte, wie z.B. Platten und Kartenleser ergeben könnte. Diese vorbestimmte
Anzahl kann automatisch durch Geräteausstattung (hardware) oder anderer-seits durch eine Mikroprogrammschreibkonvention
erzielt wierden, 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ß
409843/0901
8.4.1974 W/He ·- 2$ - I/p 7824
der Speicher-Besetzt-Zustand gesetzt wird, z.B. durch Setzen eines "bistabilen Elementes 116» das in der Nähe des Zählers
dargestellt ist. Die Datenablesung aus dieser Adresse wird als gültig im Speicherausgangsregister 115 hei der dritten Mikroinstruktion
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 Singangsregister 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
ebenfalls durchgeführt werden und kann innerhalb der fünf Mikroinstruktionen
abgeschlossen werden, die für die Speicher-Besetzt-Bedingung zugelassen werden.
409843/0901
9.4.1974 W/He ~ 2^ - I/p 7824
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 Sikrocodefolge, die benötigt
wird, in der Lage sind, alle Unterschiede zu verbergen, die sonst für eiien Betriebsfolgecode auftreten, von welchen das
gespeicherte Mikro"nrogramm Programme des Basissatzes von Instruktionen
übersetzt, die tatsächlich zur Steuerung von Arbeitsvorgängen der internen Zentraleinheit .. Dies
ergibt eine hohe Flexibilität in bezug auf neue periphere Geräte oder Einrichtungen, da keine Neukonstruktion der
Zentraleinheit erforderlich ist, wenn ein entsprechender Koppler zur Verfügung steht.fDer Grundmikroinstruktionssatz weist
viele herkömmliche Reihenfolgen auf„ Beispielsvreise können
zwei Adresseninstruktionen mit 32 Bit arithmetische Vorgänge
ergeben, ζ,Βο Addieren, Subtrahieren, sowie erneute Gatterunä
logische Arbeitsvorgänge, wie ζο3ο Bewegen, und, oder,
Arbeits-Äquivalenz, während drei Adresseninstruktionen ähnliche
logische- funktionen einschließen sonnen und sieh auf und-nicht,
Äquivalenz und nieht-imd zusammen mit einem Vergleich, von Sprung-,
Fehleranzeige= oder Eegisterbiteiiistellarbeitsvo^nge erstrecken.
Bei Verwendung; von Instruktionen mit 16 Bits werden verschiedene
Eegisterfüll-=, arithmetische und logische Arbeitsvorgänge zusammen
mit Yesrsciiiebe= und Fehleranzeigeeinstellvorgäiigen ia
allgemeinen als Haupt instrukti one η vorgesehen o HiX£sinstruk—
tionen mit IS Bits stehen für lull- und arithmetische Arbeitsvorgänge
aufgrund- einer· begleitenden Haupt instruction mit 16
Bits, und auch für verschiedene Spr-ungvorgänge abhängig von dem Zustand eines Ergebnisses relativ zu Felil@r©2issigs2i u
Anzeigevorriclitimgen oder YerglsichseinriehtsLgsn.s'SH?
Einige besonders sx-jsekinäßige zusätzlich® Hilsroiiist
arten weräsn nachstellend im einselnsn erläuterte Sine davon
"bezieht sieh auf die "bevorsugte byte-oraäntierte Organisation
der bescliriebenen Zentraleinheit, bsi der jedes ¥ort 32 Bits
"besitzt, die in vier Bjtes von jeweils acht Bits unterteilt
409843/0901
8.4.1974 W/He - 2? - I/p 7824
sind. Die Art der betreffenden Instruktion ist so gewählt, daß ein beliebiges .t>yte eines Operanden genommen und verwendet
wird, um ein Byte eines anderen Operanden zu ersetzen. Es kann zur Übertragung 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 geweiligen 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 Verarbel tung von Bytes, dar.
Wenn Schriftzeichen in der Art von Bytes betrachtet und behandelt
werden sollen, kann die oben erwähnte Instrnktionsart eindeutig als eine leistungsfähige Sehriftzeichensteuereinrichtung
betrachtet werden. Die !Tatsache, daß die Byte-Orientierung der Zentraleinheit als Schriftzeichensteuereinrichtung
betrachtet werden kann, bedeutet, daß Zielbefehlscodes mit Vorteil verwendet werden können, die wortorientiert anstatt
byte-orientiert sind.
Daten, die sich auf einen wortorientierten Zielbefehlscode beziehen, können auf einfache Weise durch die byte-orientierte
Zentraleinheit 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 geringersind als die Wortlänge der Zentraleinheit, aufgenommen werden, wobei zwei weitere
Arten von Makroinstruktion verwendet werden, von denen eine die wortoriantierte Form in Teile spaltet, die kleiner
sind als die. Bytelänge für die Zentraleinheit, und die freien Räume der Bytes mit ITuIIeη auffüllt. Eine derartige Instruktion
409843/0901
8.4.1974 W/He - 26 - I/p 7824
wird ERWEITERUNG- genannt und beaufschlagt ein Schieberegister,
das die Bits handhabt und Nullen addiert. Die andere Instruktion wird nach der Verarbeitung verwendet, um die Hüllen zu
entfernen und die gültigen Bnts des Wortes zu verketten. Eine
solche Instruktion wird VERDICHTEN genannt und auch relativ zu einem Schieberegister durchgeführt.
Für Zentraleinheitwörter mit vier Bytes und 32 Bits und für
Ziel=?codewörter rait 24 Bits wird eine entsprechende ERWEITERN—
Instruktion als 24 Bit-Wort in die Stellung 0 bis 23 eines
Schieberegisters eingebracht und füiirt die folgenden Verschiebungen
nach rechts aus: Zwei Plätze für Bits 0 bis S, vier Plätze für Bits 6 bis 11, sechs Plätze für Bits 12 bis
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 vor-
SX ^
handenen Operanden mö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
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 werden. 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
409843/0901
8.4.1974 W/He -2?- Ι/ι. 7824
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 zwekeckmäßig zur Prüfung des Ergebnisses
einer Untersuchung über den Zustand eines peripliersn Gerätes
durch die vorausgehende Mikroinstruktionsart.
Eine Übersetzung von einer speziellen Zielcodefunktion in einen
Grundraikroprogrammfunktionssatz der Zentraleinheit wird durch
eine weitere Art von Makroinstruktion vereinfacht, die sum
vorübergehenden Herausziehen eines beliebigen Feldes eines spezifizierten Wortes verwendet wird. Die !Funktion wird dadurch
durchgeführt, daß das betreffende Wort -am sine spezifizierte
Anzahl von Bit Stellungen verschoben wird, und da£ dann, eine
spezifizierte Anzahl von Bits des Wortes von einem Ende, ίτη
allgemeinen des niedrigstwertigen Endes cös 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 Mikroprogrammfunktionsaaresse zu übersetzen.
Dies ergibt eine Positionierung von der Basisadresse einer Funktionstabelle in den Hauptspeicher« Diese tabelle kann sowohl
Mikroprogrammanlaufadressen wie auch andere Information
enthalten, die sich auf zu adressierende Programme bezieht.
Nachstehend wird ein spezifiziertes Beispiel eines IGL 19OO-Serienfunktionsbetriebes
erläutert. Die gewählte Funktion ist
409843/0901
W/He -'38 - I/? 7824
eine Re^isterfüThmr (LPX), wie nie für eine Verwirklichung"
des Zielcod^s &ν?ο^δ&τ\ich ist, und Ve5 st die"folgenden grundlegenden
Sch^itt^ auf; wenn SOezielle Ziffern angegeben sind, ■
ic «fen diepe -in Sednzimal form. 'Vor:
'' ' 1.) Die TCL IQOO-Befehl sadresse wird in das Speicher-
ad.ressierrerister gefüllt und. die entsprechende Instruktion (Zielbefehl) abgerufen. Dies geschieht in
erweiterter Form einschließlich Füllen, die eingesetzt,
damit vier Bytes mit .je-acht Bits gebildet werden. 2.) Die Instruktion im Speicherausgangsregister wira auf
cnr 1900-i'lormat aus 24 -aufeinanderfolgenden Bits
durch Schieberegister- und Kulientfernungsvorgänge/in "."-" der oben erwähnten Weise "komprimiert.. Das Ergebnis!
•wird in das Herri ster B eingegeben.
-3·) Dann erfolgt eine· vorübergehende Herausnahme aus dem
' ■ Inhalt "des ,Registers B, um den die Ftinktion definierenden Teil des Befehles auf die niedrigstwertigen
. Bitstellungen zu bringen-und sie herauszuführen. Eine
Verschiebung um 1Λ'Bitplätze inach rechts und ein Herausziehen
von 9 niedrigstwertigen Bits wird im hier angegebenen speziellen Ausführungsbeispiel vorgenommen.
Das Ergebnis dient züi? Positionierung der Basis-
- "-' adresse der Funktions&tabelle zur Erzielung eines. .
entsprechenden Arbeitsspeicherzugriffes.
-.:"- 4.) Eine zweite vorübergehende Entnahme der-Inhalte d.es
Registers'B (Verschieben von "IB-Plätzen und Herausziehen der 5 niedrigstwertigen Bits) ergibt die '· - .
Adresse des betreffenden Registers, und diese wird . • in eine bekannte Arbeitsspeicheradresse gegeben. ;r
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 Arbeitsspeicheradresse. ' · _
AO 984 3/090 1 ,'
8.4-.]974- W/He - - 2$ - I/n
6.) Des Füllen des snezvfizierten Rep:isters mit den
gewünschten Inhalten ic a η ti orfolren. nachdem vp^t
schiedene Prüfunerp\n vorgenommen x^ord^n sind. be:; srtielsweise
um festzustellen, oh die. zu füllende
Information (Stuf ρ ^) eine .lit er ale oder eine Regi-,
steradresse ist, und - falls es; sich um eine Recister-
.adresse handelt -' oh sie das Re^inteT sne^ifixiert,
. . in welches die entnommene Registeradress^ ein^eset^-t-'
war oder ob die beiden Adressen das gleiche RnHnter
•spesiifisieren. - ■
Andere Faktoren, die vor dem Ansfuhrunpsnnhri")-+" 6 berücksichtigt·
werden können, beziehen sich darauf, ob ennrv Modifi.ziereinrid?-
tung spezifiziert worden ist, z.B. von dem C- oder B-Re^ stern.
Bei dom anfänglichen Speicherzuo-riff· wird p.ine Verzö^erunp- von
zwei Zentralennheitzyklen zwischen den Schritten 1) und 2)
auftreten, d.ies wird verx^endet, um d.i^ G-ül^ip-iceit der betreffenden Adresse zu prüfen; dies ist. zweckmäßiff^rxAren se eine Erweite
run!T> einer Prüfung, die begonnen worden ip-t. bevor der Sr>eicherzugriff
1 eingeleitet-wird. '
Die Auseränere der verschiedenen Register der Zentraleinheit sind
in den Figuren 2 und 5 gezeigt; sie besitzen f*ine mit Pfeil
versehene Zweigleitung IS, um die Speicherung des Zustand.es
in dem in Fig. 1 angegebenen Bildspeicher anzuzeigen. Au*"-
^iese Weise wird mit einer entsprechenden Gatterung. an f. diesen
Zweigleitungen eine anfragbare" AuJTzpichmmp· der Zentraleinheitaktivität
erhalten, die insbesondere TUt FehlerdAa^nose'-zwecke
nützlich ist. ' ■" '
409843/0901
COPY
Claims (1)
- W/H« - J£? - Ι/τϊ 7824Dat^nverarbei tunrsanelare mit' einer Zentraleinheit und einer Vielzahl vori peripheren Geräten, dadurch gekennzeichnet, daß die von der Zentraleinheit (21) ausp-e führ ten Arbeitsvorgänge einem ersten Mikroprogramm-Adressenregister (6.5) in der Weise zugeordnet sind, daß öe(ies periphere Gerät (33 - 38) zweiten Mikroprogramm-Adressenregistern (65), d.ie verschieden von aem er.Tr^i: j-.drersenregister (55) sind, zugeordnet ist, daß ein Mikroprogramm-Arbeitsregister (83, 84) jedem der Mikroprogramm-Adressenregister (65) zureord.net ist, und daß eine Prioritäts- Steuerung (3"L) in der Weise betätigbar ist, daß Programnrunterbrechuiigen vorgenommen werden,"wobei .iedes Mikroprogramm-Adressenregi^ter (65) einer unterschiedlichen ffiikroprogramm-Unterbrechunpsstufpentsr>richt und so. wirksam ist, daß -jede laufende Adresse •pnv_ diese Stufe gespeichert wird, und wobei das erste Mikroproprramm-Acressenregister $5) der Stufe niedrigster Priorität entsnrieht. . ;2. Datenverarbeitune-sanlage nach Anspruch T . dadurch "-ekennseichnet, daß wenierstens z-wei der "oerinheren Geiä te (33 -58) dem gleichen Mikrcnrogramm-Adressenregister (6S) zugeordnet find," derart, daß beide "oerrnheren Geräte (33-38) die gleiche Mikro-Drogramin-Fnterbre^hungsstu'fe gemeinsam benutzen, und daß öi^ Priorii-öts.steuerung (31) eine Prioritätsanzeigevorrichtung (42)-'aufweist, di«=1 die Reihenfolge bestimmt, in der diese peripheren. Geräte C33-38) äie entsprechende Mikroprogrammstufe ver-. wenden. " " ■ - ·; ·3. Datenverarbeitungsanal age nach Anspruch 1 oder 2, d.adurch* gekennzeichnet; daß die gerade verwendete Mikroprogramrastufe in einem Stufenregist'er (57) gespeichert ist, daß eine Ver-" gleichseinrichtung? (^9) die Trnterbrechungsstufe einer Anfrage aus einem peri-oheren Gerät (33-38) mit der" Stufe im Stufenregister (57) vergleicht, und daß eine Unterbrechung^steuerung409843/Ϊ39018.4-.3974- -W/He -SJ- ' I/o 7B24(64) eine Unterbrechung" der laufenden Stufe sperrt, wenn die laufende Stufe höher, als die Stufe "der Anfrage is+:.4-. Datenverarbeitungsanlage nach Anspruch 3, dadurch gekennzeichnet, daß die Unterbrechungssteuerung (64-) eine Unterbrechung der .gerade verwendeten Mikro-nro^rammstufe durch die An-' frage sperrt, die eineJhöliere Unterhreohnngsstufe besitzt, bis" ' eine vorbestimmte Anzahl von. Schritten der gerade verwendeten'. Mikroprogrammstufe durchgeführt worden ist. .-■'$,_ Datenverarbeitungsani ape nach Ansprüchen 1 bis A,'dadurch .gekennzeichnet, daß eine Vielzahl von ersten Mikroprogramm-~ Adressenregistern (65) den Arbeitsvorgängen, die -von der Zentraleinheit ausgeführt werden, zugeordnet ist, daß ^edes erste ^Mikroprogramm-Adressenregister (65) einer unterschiedlichen ■·" Mikroprogramm-UnterbreQhungsstufe entspricht, die niedriger . ist als alle Mikroprograiiimunterbrechunrsstufen, welche den • zweiten Mikroprogramm—Adresse'nrepxstern „(65) entsprechen.6. Datenverarbeitungsanlage nach Ansprüchen 1 bis 5,^ dadurch ■ gekennzeichnet, daß eine Vielzahl von Hullregistern (74-), d^ren ~ jedes einem anderen der Mikroprogramm-Adressenregister.(65) entspricht,, eine Anzeige der. zuletzt verwendeten Mikroprogramm-, adresse in ,jedem der Adressenregister (6?) speichert.7· Datenverarbeitungsanlage nach'Ansprüchen .1 bis 6, dadurch . ■gekennzeichnet,,: daß ein Mikroprogrammspeicher (11). wenigstens zwei Sätze, von Folgen von' Makroinstruktionen speichert^ daß in Abhängigkeit von einem, Zustand der Zentraleinheit, der (auf• .der Leitung, 52)- einen Eingabe-/Ausgabevorgang anzeigt,, eine . ..'- Speichereteuerung (13) eine Folge aus einem Satz auswählt, und in "Abhängigkeit von der Registrierung eines Wortes,' das eine Instruktion in einer Sprache höherer Ordnung darstellt, eine Folge aus dem oder einem anderen Satz auswählt. .409843/09018.4.1974 W/He --32,- I/p 7324 ~"8. Datenverarbeitungsanlage nach. Ansprüchen 1 bis "7, wobei die Zr-ntraleinheit und ein Datenspeicher für eine Byteoperation organisiert sind, gekennzeichnet durch eine Einrichtung (84, 106, 112), die so betätigbar ist, daß sie'ein Wort in Bytes zerlegt und nichtleitende Positionen solcher -Bytes mit Füllent füllt!" .. ■"..·_. ■; . .· "- ": ■■■".■ -'. ■ ■-.-■'■-9. Datenverarbeitungsanlage nach Anspruch 8, dadurch gekennzeichnet, daß die Einrichtung (84, 108, 112) an einer Gruppe von Bytes eine Folge von Funktionen folgender Art ausführt:r - a) Herausziehen spezifizierter Füllen aus den Bytes"/und Komprimieren der Bytes, damit ein Instruktionswort ■ gebildet wirdr - · --.-'.. b) Einführen des Instruktionswortes in ein Register (84),Herausziehen und Dekodieren e^iner ersten G-ruOpe von ■ .Bits des Instruktionswortes", die eine' durchzuführende * ' Funktion darstellen. "- -'. ,10. Datenverarbeitungsanlage nach Anspruch .9, dadurch gekennzeichnet, daß die Folge von Funktionen folgende Schritte umfaßt: . ' ■- ■ ; : - : ■ ·. ;'- _-c) Herausziehen einer zweiten Gruppe von Bits aus dem Instruktionswort.,, wobei die Bits die Adresse eines -". :-. gewünschten Registers darstellen, " -,d) Herausziehen einer dritten Gruppe von Bits aus dem"■' . - - Instruktionswort, wobei die Bits die Information darstellen, die in das gewünschte. Register geschrieben werden soll, und '■ - _:." - e") Füllen des gewünschten Registers mit der Information.409843/0901
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 true DE2417795A1 (de) | 1974-10-24 |
DE2417795C2 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 |
US4080652A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Data processing system |
US4080651A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Memory control processor |
US4126893A (en) * | 1977-02-17 | 1978-11-21 | Xerox Corporation | Interrupt request controller for 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 |
Citations (4)
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 |
DE1499200C (de) * | 1972-06-08 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung |
-
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 HU HU74IE00000626A patent/HU172377B/hu unknown
- 1974-04-11 DE DE2417795A patent/DE2417795C2/de not_active Expired
- 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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1499200C (de) * | 1972-06-08 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung | |
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 |
Also Published As
Publication number | Publication date |
---|---|
NL176714B (nl) | 1984-12-17 |
FR2225784B1 (de) | 1979-10-12 |
IN140927B (de) | 1977-01-01 |
AU6767474A (en) | 1975-10-09 |
ZA742281B (en) | 1975-04-30 |
NL7405059A (de) | 1974-10-15 |
JPS5042758A (de) | 1975-04-18 |
NL176714C (nl) | 1985-05-17 |
PL114858B1 (en) | 1981-02-28 |
JPS5647568B2 (de) | 1981-11-10 |
HU172377B (hu) | 1978-08-28 |
GB1448866A (en) | 1976-09-08 |
FR2225784A1 (de) | 1974-11-08 |
DE2417795C2 (de) | 1983-11-24 |
US3988719A (en) | 1976-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2417795A1 (de) | Datenverarbeitungsanlage | |
DE1928202C3 (de) | Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen | |
DE2646162C3 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2500006A1 (de) | Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen | |
DE2055739A1 (de) | Datenverarbeitungssystem | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE2611892A1 (de) | Mikroprogramm-steuersystem | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE2612054A1 (de) | Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens | |
DE2054947B2 (de) | Datenverarbeitungsanlage | |
DE2801610A1 (de) | Verfahren zum definieren von anfangswerten fuer die textverarbeitung | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE3116385C2 (de) | Mikroprogramm-Steuerung | |
DE1806535B2 (de) | Seriell arbeitende digitale rechenanlage | |
DE2458259A1 (de) | Datenverarbeitungssystem zum vergleichen verschiedener datenstrukturen | |
DE2538978C2 (de) | ||
DE2641971A1 (de) | Digitale tisch-buchungs- und -rechenmaschine |
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 |