DE2744359C2 - - Google Patents
Info
- Publication number
- DE2744359C2 DE2744359C2 DE2744359A DE2744359A DE2744359C2 DE 2744359 C2 DE2744359 C2 DE 2744359C2 DE 2744359 A DE2744359 A DE 2744359A DE 2744359 A DE2744359 A DE 2744359A DE 2744359 C2 DE2744359 C2 DE 2744359C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- read
- address
- register
- microinstruction
- 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/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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
Description
Die Erfindung betrifft eine Steuereinrichtung für ein
Datenverarbeitungssystem gemäß Gattungsbegriff des Anspruchs 1.
Eine solche Steuereinrichtung ist aus US-PS 37 36 567 bekannt.
Dabei wird zum Übergang von einer abgearbeiteten Mikrobefehls
folge auf die nächste eine in einem Hauptprogrammspeicher
abgelegte Mikroprogrammadresse aufgerufen.
Festwertspeicher in Kleinrechnern speichern Mikrobefehle, welche
einen Verzweigungsbefehl enthalten, der nach Erledigung einer
Mikroprogrammfolge erscheint, um zu einem gemeinsamen Punkt der
Befehlsfolge zurückzukehren, von dem aus die nächste Mikro
programmfolge anfängt. Je nachdem in welchem Modul des Fest
wertspeichers der letzte Mikrobefehl einer ablaufenden Mikro
programmfolge liegt, werden nicht nur ein bis zwei Rechen
schritte zusätzlich gebraucht, sondern darüber hinaus auch noch
ein Festwertspeicher-Adreßregister.
Vom eingangs genannten Stand der Technik gemäß US-PS 37 36 567
ausgehend, liegt der vorliegenden Erfindung die Aufgabe
zugrunde, die Anzahl der Schritte zu verringern, welche nach dem
Abarbeiten einer Mikrobefehlsfolge erforderlich sind, um die
nächste Befehlsfolge in Angriff zu nehmen.
Diese Aufgabe wird
gelöst durch die im Anspruch 1 gekennzeichnete Erfindung. Die
Steuereinrichtung gemäß der Erfindung enthält Schaltungen zum
Ingangsetzen und Beenden des für jeden Befehl durchzuführenden
Mikroprogramms, wobei ein Decoder jeden aus dem Hauptspeicher
entnommenen Befehl überprüft und eine Festwertspeicheradresse
des ersten Mikrobefehls im entsprechenden Mikroprogramm liefert.
Eine Logikschaltung überprüft eine vorgegebene Bitposition jedes
aus dem Festwertspeicher entnommenen Mikrobefehls. Hat dieses
Bit denjenigen Zustand, der erkennen läßt, daß es sich um den
letzten Mikrobefehl im Mikroprogramm handelt, so geht die
Steuerung auf einen bestimmten Anlaufbefehl im Festwertspeicher
zurück. Vorteilhaft ist neben der Verringerung der Anzahl der
Rechenschritte zusätzlich die Einsparung des im Stand der
Technik erforderlichen Festwertspeicherregisters. Die Steuer
schaltung gemäß der Erfindung reserviert in einem Mikrowort
eines Mikroprogramms eine bestimmte Bit-Position zum Speichern
eines Signals, welches anzeigt, ob dieses Mikrowort das
letzte in der Mikroprogrammfolge ist oder nicht. Hat dieses Bit
den Wert "0", so handelt es sich nicht um das letzte Mikrowort
in der Mikroprogrammfolge. Der Zustand dieses Bits wird festge
stellt und das Festwertspeicher-Subsystem wird in Gang gesetzt,
falls es sich um das letzte Mikrowort in der Befehlsfolge handelt
und keine Unterbrechung angezeigt wird. Hat das genannte Bit den
Wert "1" und ist außerdem ein Unterbrechungssignal vorhanden, so
geht das DV-System in den Unterbrechungszustand über, indem
selbsttätig die Startadresse für die Programmunterbrechungen ver
arbeitende Mikroprogrammfolge geliefert wird. Vorteilhafte Weiter
bildungen der Erfindung ergeben sich aus den Unteransprüchen.
In einem auf der "Manchester University Computer Inaugural
Conference" vom July 1951 veröffentlichten Bericht hat M. V. Wilkes
auf den Seiten 16-18 unter der Überschrift "The Best Way to
Design an Automatic Calculating Machine" vorgeschlagen, Rechner
mit einem veränderbaren Satz von Befehlen auszustatten. Normaler
weise steht dem Programmierer ein vorgegebener Befehlssatz zur
Verfügung, wobei jeder Befehl aus einer Folge von Elementar
operationen oder Mikrooperationen besteht. Die Einführung von
Mikrooperationen bedeutet den Entwurf einer Maschine mit veränder
baren Befehlen. Für jeden Befehl ist die Mikrooperationsfolge
üblicherweise in der Computer Hardware festgelegt. Wilkes hat dem
gegenüber eine Einrichtung vorgeschlagen, durch welche ein Pro
grammierer Mikrobefehle zu einem Befehl zusammensetzen kann, den
der Rechner auszuüben vermag. Durch Mikroprogrammierung könnte
das Befehlsrepertoire eines Rechners geändert werden, wenn dieser
für andere Zwecke eingesetzt wird. Für die Einführung eines ver
änderbaren Befehlsrepertoires wurde ein Speicher zum Speichern
der Mikrooperationsfolgen als erforderlich angesehen und Wilkes
schlug hierfür die Verwendung einer Diodenmatrix vor. Man be
zeichnet solche Speicher heute als Festwertspeicher ROM oder
besser gesagt, zerstörungsfrei lesbare Speicher. Die letztge
nannte Bezeichnung dürfte dabei besser sein, weil ein Repertoire
aus veränderbaren Befehlen die Möglichkeit einer Änderung des
Speicherinhalts voraussetzt. Jedoch wird die Bezeichnung Fest
wertspeicher allgemein benutzt und soll folglich auch in dieser
Beschreibung als Bezeichnung für einen zerstörungsfrei lesbaren
Speicher dienen. Es handelt sich um einen Speicher, dessen Inhalt
durch Mikroprogrammierung, nicht jedoch von der Maschine selbst
geändert werden kann.
Die Einrichtung, welche den Ablauf der Mikrooperationen in einem
Rechner durchführt, wird überlicherweise als Steuereinrichtung be
zeichnet. Bei einer Steuereinrichtung für einen Festwertspeicher
ROM bedeutet dies eine Vielzahl rechteckiger Speicheranordnungen
mit einer speziellen Anzahl von Worten in jedem Speicher. Jedes
Wort besteht aus einer vorgegebenen Anzahl von Bits. Alle Bits
eines Wortes werden zusammen ausgelesen und bilden zusammen
einen Satz von Mikrobefehlen, die entweder gleichzeitig oder
nacheinander im Rhythmus eines externen Taktgebers ausgeführt
werden. Anschließend wird ein anderes Wort ausgelesen und in ähnlicher
Weise abgewickelt. Jedes Wort bezeichnet eine Gruppe von Mikro
operationen, und eine Folge von Worten bezeichnet eine Folge von
Mikrooperationsgruppen. Eine Gruppe von Worten, deren Mikro
operationen eine spezielle Funktion bestimmen oder durchführen,
wird als Mikroprogramm bezeichnet. In der derzeitigen Technik
werden unterschiedliche Einrichtungen als Festwertspeicher-
Steuereinrichtung verwendet. Halbleitereinrichtungen setzen sich
jedoch immer mehr durch.
Im einfachsten Anwendungsfall wird jedes Bit eines Mikroworts
zur Erzeugung einer Mikrooperation benutzt. Eine Bit-Position im
Wort enthält eine "1", wenn die entsprechende Mikrooperation in
diesem Wort erwünscht ist; andernfalls ist das Bit "0". Diese
Mikroworte werden in einem Festwertspeicher ROM gespeichert. Ein
aus dem Hauptspeicher MM ausgelesener Befehl setzt das Auslesen
der ersten Serie von Mikroworten aus dem Festwertspeicher in
Gang und bewirkt die Durchführung des aus dem Hauptspeicher ge
lesenen Befehls durch die Zentraleinheit des DV-Systems. Diese
Technik ist bekannt und beispielsweise in dem Buch "Micropro
gramming: "Principles and Practices" von Samir S. Husson, ver
öffentlicht 1970 durch "Prentice Hall Inc., Englewood Cliffs,
New Jersey.
Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels
beschrieben. Dabei zeigt
Fig. 1 das Blockschaltbild der hier interessierenden Teile
eines Hauptspeicher-Subsystems und eines Festwert
speicher-Subsystems gemäß dem Stand der Technik;
Fig. 1a ein weitgehend übereinstimmendes Blockschaltbild,
bei dem gemäß dem Ausführungsbeispiel der Erfindung ein besonderes Festwert
speicher-Adreßregister nicht mehr benötigt wird;
Fig. 2a das Flußdiagramm der bekannten Art der Ingangsetzung
des Festwertspeicher-Subsystems auf die Adresse Null
zur Einleitung der Durchführung eines neuen Befehls
oder zur Festwertspeicheradresse 8 für die Bearbei
tung einer Unterbrechung;
Fig. 2b ein entsprechendes Flußdiagramm der Anlaufein
richtung gemäß dem Ausführungsbeispiel der Erfindung;
Fig. 3 das Schaltbild der Einrichtung gemäß dem Ausführungsbeispiel der Erfindung
und die
Fig. 4a und 4b zwei Mikrowortformate.
Zum besseren Verständnis der Erfindung wird zunächst der Stand
der Technik an den Fig. 1 und 2a erläutert werden. In Fig. 1
ist ein herkömmlicher Halbleiterspeicher 1 mit wahlfreiem Zugriff
dargestellt, der Befehle und Daten aufnimmt. Das Hauptspeicher-
Adreßregister 2 speichert die Adressen der Speicherplätze im
Speicher, der Informationen aus dem Datenausgaberegister DOR 3
erhält, sofern der Operationscode des Befehls eine Schreibopera
tion in den Hauptspeicher anfordert. Es speichert darüber hinaus
die Adresse des Speicherplatzes im Hauptspeicher 1, welcher
Informationen an das Dateneingaberegister DIR 4 liefert, sofern
der Operationscode des Befehls eine Leseoperation anfordert. Das
Eingaberegister 4 speichert Signale, welche einen Befehl dar
stellen, der unter der Steuerung des Festwertspeichersystems aus
geführt wird. Der Befehl wird in einem Decoder 10 decodiert und
10 Bits, welche die Festwertspeicheradresse darstellen, werden
vom Multiplexer 8 ausgewählt und liefern somit eine Adresse im Fest
wertspeicher 5. Der Multiplexer 8 ist ein Dual-4 : 1-Multiplexer
vom Typ SN74 153, wie er auf den Seiten 9-351 bis 9-364 des
"Integrated Circuit Catalog for Design Engineers" der Firma
Texas Instruments, Inc. beschrieben ist. Da der Multiplexer 8
in der Lage sein muß, wenigstens 10 Bits zu schalten, werden fünf
dieser Dualeinheiten benötigt, wobei jede Einheit zwei Bits schal
tet. Die Mikroworte werden im Festwertspeicher 5 gespeichert,
der aus vier Speichermodulen ROM A bis ROM D besteht, wobei jeder
Modul 1024 Worte und jedes Wort 36 Bits zuzüglich vier Paritäts-
Bits umfaßt. Das hier gezeigte Festwertspeichersystem ist nur als
Beispiel aufzufassen, denn auch andere Festwertspeicher mit
unterschiedlichem Wortumfang können eingesetzt werden. Jedes
Mikrowort im Festwertspeicher 5 wird durch ein 12-Bit-ROM-
Adreßwort adressiert. Die ersten zwei Bits 0 und 1 des ROSAR-
Registers 9 liefern die Adresse des Moduls im Festwert
speicher 5, während die folgenden 10 Bits vom Multiplexer 8
die Adresse innerhalb des betreffenden Moduls angeben. Eine Mikro
wortadresse wird durch ein Festwertspeicher-Adreßwort in das
lokale Festwertspeicherregister (RSLR) 7 eingelesen. Ein solches
Mikrowort besteht aus verschiedenen Steuerbits, welche an die
verschiedenen Subsysteme weitergegeben werden, wo sie verschie
dene Steuerfunktionen ausüben. Diese Steuerfunktionen sind mit
Ausnahme des S -Bits an der Position 3 im folgenden nicht im
einzelnen beschrieben, jedoch ist in den Fig. 4a und 4b das
Format solcher Mikroworte und die Funktion der einzelnen Bits als
Beispiel angegeben. Diese Formate sind typisch, es können auch
andere 36 Bit-Formate im Mikrowort für den Festwertspeicher
Verwendung finden. Abweichend von den bisherigen Formaten ist in
Position 3 ein sogenanntes S-Bit (splatter bit) vorgesehen, wel
ches für die Erfindung kennzeichnend ist. Die übrigen Bits, bei
spielsweise die Bits für feste Daten 52 und für variablen Daten
53 sind im Zusammenhang mit der Erfindung von untergeordneter Bedeu
tung und werden folglich nicht im einzelnen beschrieben.
Zusammen mit dem Auslesen der 10 Bits eines Befehls, der die
Adresse des ersten Wortes des auszuführenden Mikroprogramms im
Festwertspeicher 5 anzeigt, werden diese 10 Bits auch in das
ROSAR-Register 9 eingegeben, nachdem dieses vom Rechenwerk 17 um
einen Schritt fortgeschaltet wurde. Somit hält das ROSAR-
Register 9 die Adresse des nächsten Mikrobefehls in der auszu
führenden Mikroprogrammfolge. Wird der Mikrobefehl gesteuert
durch das ROM-Adreßwort in das lokale Festwertspeicherregister 7
eingegeben, so wird er durch die nicht dargestellte Mikro
programmsteuereinheit verarbeitet, sofern es sich nicht um einen Ver
zweigungsbefehl ähnlich demjenigen gemäß Fig. 4b handelt. Dabei
werden die letzten 10 Bits des Verzweigungsbefehls über die Lei
tung 14 und den Multiplexer 8 in den Festwertspeicher eingegeben.
Die letzten zehn Bits stellen die neue Verzweigungsadresse dar
und somit beginnt die Durchführung des Mikroprogramms an dieser
neuen Adresse.
Zusätzlich werden die 10 Verzweigungsbits, welche die Adresse
des ersten Befehls im auszuführenden Mikroprogramm darstellen,
im ROSAR-Register 9 gespeichert, nachdem dieses erneut durch das
Rechenwerk 17 um einen Schritt fortgeschaltet wurde. In auf
einanderfolgenden Zyklen, die üblicherweise alle 200 ns auftre
ten, sendet das ROSAR-Register 9 10 Bits durch den Multiplexer 8
zum Festwertspeicher 5, und das ROSAR-Register 9 wird durch das
Rechenwerk 17 über die Leitungen 13 und 16 jeweils um einen
Schritt fortgeschaltet. Nachdem die Adresse des ersten Mikro
befehls vorliegt, wird die Adresse des nachfolgenden Mikrobefehls
über das ROSAR-Register alle 200 ns, gesteuert durch den Takt
geber 18, bereitgestellt, so daß das Mikroprogramm solange
abläuft, bis ein Mikrowort im ablaufenden Mikroprogramm ein
Auswahlsignal 20 hervorruft, aufgrund dessen über den Multiplexer 8
eine andere Adressenquelle angeschlossen wird. Das Ende eines
Mikroprogramms und der Beginn eines anderen Mikroprogramms
wird bei einem herkömmlichen Festwertspeicher ROM nachfolgend
anhand von Fig. 2a beschrieben. Aus Fig. 2a wurden die Blöcke 31
und 40 bereits oben beschrieben. Der Block 30 stellt den Anfangs
schritt bei der Durchführung einer Mikrobefehlsfolge eines Mikro
programms dar und beginnt immer an der Adresse 0 des Muduls A
des Festwertspeichers 5. An dieser Adresse ist ein sogenanntes
S-Wort (splatter word) gespeichert, welches zum Ingangsetzen des
Systems erforderlich ist. Es handelt sich nicht um den ersten
Befehl in der Mikrobefehlsfolge eines Mikroprogramms. Das S-Wort
wird zur Ausführung einer der folgenden typischen Ingangsetzungs
funktionen zur Auswahl der Startadresse benutzt, ordnet die
Sammelschienenschnittstelleneinheit dem Lesen des
Speichers zu und bildet die effektive Speicherleseadresse. Für
die Erfindung ist es wichtig, daß vor der Ausführung einer neuen
Mikrobefehlsfolge die Steuereinheit jeweils zur Adresse 0 zurück
kehren muß, um Zugriff zum S -Wort zu erhalten. Bei einem her
kömmlichen System benötigt diese Rückkehr zur Adresse 0 einen
oder zwei Schritte, je nachdem ob sich der zuletzt ausgeführte
Mikrobefehl im Modul A oder in einem der Module B, C oder D des
Festwertspeichers befand. Im letztgenannte Fall muß das System
zunächst zur Adresse 0 jedes Moduls abverzweigen. Dies bedeutet
einen Schritt. Anschließend erfolgt der Hinweis auf die Adresse 0
des Moduls A. Somit sind zwei Schritte erforderlich, um die
Adresse 0 des Moduls A zu erreichen. Wenn sich andererseits
das letzte Mikrowort des zuletzt ausgeführten Mikrobefehls im
Modul A befand, so ist nur ein Schritt erforderlich, um die
Adresse 0 dieses Moduls anzulaufen. Steht weiterhin ein Unter
brechungssignal an, wenn das letzte Mikrowort des letzten Mikro
befehls festgestellt wird, so erfordert diese eine Verzweigung zu
einer anderen Adresse, wo das erste Wort eines Mikroprogramms
erreichbar ist, welches die Unterbrechung verarbeitet. Die Unter
brechung bewirkt, daß das Rechenwerk den Inhalt der Adresse 8
anstelle der Adresse 0 liest, wobei die Adresse 8 die Adresse
des ersten Mikroworts des Mikroprogramms bildet, welches eine
Unterbrechung verarbeitet.
Im Schritt 40 A des Flußdiagramms gemäß Fig. 2a wird eine Entschei
dung darüber herbeigeführt, ob das auszuführende Programmwort
das letzte Mikrowort ist oder nicht. Handelt es sich nicht um
das letzte Mikrowort, so läuft das Programm weiter wie oben be
schrieben ab, bis das letzte Mikrowort erreicht ist. Ein Ent
scheidungsblock 41 stellt fest, ob das letzte Mikrowort sich im
Modul A befindet oder nicht. Ist dies nicht der Fall, so werden
die Moduladreß-Bits, d. h. Bits 0 und 1 des ROSAR-Registers 9
gelöscht, wie dies im Block 42 angedeutet. Handelt es sich anderer
seits um das letzte Mikrowort und befindet es sich im Modul A,
so wird durch den Block 43 entschieden, ob es sich um eine Unter
brechung handelt oder nicht. Ist es kein Unterbrechungsbefehl, so
erfolgt ein Sprung zur ROM-Adresse 0, wie dies der Block 44
anzeigt. Wie man sieht, sind wenigstens zwei zusätzliche Schritte
notwendig, um die Adresse 0 im Modul A des Festwertspeichers 5
zu erreichen. Handelt es sich andererseits tatsächlich um eine
Unterbrechung, so werden die durch die Blöcke 45, 36 und 37 be
schriebenen Schritte durchgeführt, was einen Sprung zur Octal
adresse 8 bedeutet, wo das erste Mikrowort eines Unterbrechungs-
Mikroprogramms gespeichert ist.
Das Ausführungsbeispiel der Erfindung spart diese beiden Extraschritte ein und außerdem
erübrigt sich die Speicherung einer Adresse mit Position 0
aller Modulen des Festwertspeichers 5. Somit werden nicht nur
zwei Rechenschritte, sondern auch Festwertspeicheradreßraum
eingespart.
Im folgenden wird dies anhand der Fig. 1a, 2b und 3 beschrieben.
Hieraus ergeben sich auch die wesentlichen Unterschiede zum Stand
der Technik. Aus Fig. 2b ersieht man, daß die Schritte 30 und 31
die gleichen sind wie beim Stand der Technik gemäß Fig. 2a. Der
Schritt 32 unterscheidet sich insofern, als die ausgelesenen und
durchgeführten Mikroworte ein bestimmtes Bit an der vierten
Stelle, nämlich das S-Bit an der Position 3 aufweisen. Hat dieses
S-Bit in der vierten Bit-Position den Wert "0", so zeigt es an,
daß ein ablaufendes Mikrowort nicht das letzte Mikrowort des
Mikroprogramms ist und folglich das Mikroprogramm weiterläuft.
Ist jedoch das S-Bit auf "1" gesetzt, so bedeutet dies das letzte
Mikrowort der Mikroprogrammfolge, und demgemäß setzt die auf diesem
Bit ansprechende Hardware gemäß den Fig. 1a und 3 die ROM-
Adresse automatisch auf 0. Hierdurch fallen zusätzliche Schritte
weg. Vor dem Setzen der ROM-Adresse auf 0, wird bestimmt, ob es
sich um eine Unterbrechung handelt. Diese Entscheidung fällt im
Block 33, und im Falle einer Unterbrechung werden die Schritte 36
und 37 gemäß Fig. 2b durchgeführt.
Ein Blick auf Fig. 1a läßt erkennen, daß diese weitgehend mit
Fig. 1 übereinstimmt. In Fig. 1a fehlt jedoch das Festwertspeicher-
Adreßregister 6, kurz genannt ROM-Adreßregister.
Anhand von Fig. 3 soll die Hardware zum selbsttätigen Löschen der
Bits 0 und 1 im ROSAR-Register 9 und im Schalter 8 auf "0" ge
schrieben werden, wenn das letzte Mikrowort keine Unterbrechung
bedeutet. Außerdem wird erläutert, wie selbsttätig die Adresse
des ersten Wortes einer Unterbrechungs-Mikrobefehlsfolge gelie
fert wird, falls in externes Unterbrechungssignal ansteht. In
den Fig. 3, 1 und 1a sind der Multiplexer 8, die ROSAR-Bits
0 und 1, der Festwertspeicher 5 sowie das lokale ROM-Register 7
die gleichen. Da der Multiplexer 10 Bits schalten muß, werden
fünf solcher, an sich bekannter Einheiten benötigt, weil jede
Einheit als Dual-Einheit ausgebildet ist. Somit werden auf zehn
getrennten Leitungen 10 Bits als Eingangsinformationen vom Befehls
decoder 10 sowie vom ROSAR-Register 9 und darüber hinaus vom Ver
zweigungsadreßregister aus dem lokalen Festwertspeicherregister
7 geliefert. Zwei Auswahlleitungen A und B genügen zur Adressie
rung einer beliebigen von vier auswählbaren Schaltpositionen. Die
Impulstabelle auf Seite 9-351 des Katalogs der Firma Texas
Instruments, indem solche Multiplexer beschrieben sind, zeigt an,
daß wenn am Einschalteingang ein Signal "1" liegt, alle Ausgangs
klemmen sich auf "0" befinden. Liefert das Flip-Flop 03B ein
Signal "1", so bedeutet dies, daß es sich um das letzte Mikro
wort einer Mikrobefehlsfolge handelt. Damit nimmt der Aktivierungs
eingang des Multiplexers 8 den Wert "1" an, mit der Folge, daß
die zehn Ausgangsleitungen 13 des Multiplexers das Signal "0"
führen. Gleichzeitig mit dem Umschalten des Flip-Flops 03B auf
"1", werden die Rückstelleingänge der ROSAR-Flip-Flops 00A und
01A zurückgestellt und diese Flip-Flops schalten auf "0". Bei
Feststellung eines Bits "1" in der Bit-Position 3 des letzten
Mikrobefehlsworts wird also die Festwertspeicheradresse auf 0
gesetzt, ohne daß hierzu zusätzliche Schritte erforderlich wären.
Ist jedoch ein Unterbrechungssignal vorhanden, so steht dieses als
Eingangssignal "1" am UND-Gatter 73. Das andere Eingangssignal
dieses Gatters kommt vom Flip-Flop 03B. Hat das Bit in der Posi
tion 3 oder das Flip-Flop 03B den Wert "1" und ist ein Unterbre
chungssignal vorhanden, so wird das UND-Gatter 73 durchgeschaltet,
welches seinerseits ein Ausgangssignal "1" an das ODER-Gatter 74
liefert, so daß auch dieses ein Ausgangssignal "1" zur Verfügung
stellt. Dieses Ausgangssignal gelangt zur Position 8 der ROM-
Adresse und zeigt an, daß es sich um eine Unterbrechung handelt.
Statt eine ROM-Adresse 000000000000 zu bilden, setzt es die
Adresse 00000001000 entsprechend dem Octalwert 8 und damit im
Festwertspeicher 5 dem ersten Wort des Mikroprogramms zur Verarbei
tung von Unterbrechungen. Wie man sieht, setzt die Anlaufein
richtung die ROM-Adresse selbsttätigt entweder auf 0 oder auf
Octal 8 und zwar in Abhängigkeit vom Bit in der Position 3 oder
vom Bit in der Position 3 im Zusammenwirken mit einem Unterbre
chungssignal. Beim ROSAR-Register 9 handelt es sich um ein Adreß
register (read only store adressregister) für einen zerstörungs
frei lesbaren Speicher ähnlich dem ROM-Adreßregister 6.
Claims (8)
1. Steuereinrichtung für ein Datenverarbeitungs-System mit
- a) einem Hauptspeicher (1);
- b) einem adressierbaren Festwertspeicher (5) zum Speichern von Mikroprogrammen, von denen jedes aus mehreren Mikrobefehlsworten und diese aus mehreren Bits bestehen;
- c) einem Festwertspeicherregister (7) zur Aufnahme der vom Festwertspeicher (5) gelieferten Mikrobefehle; sowie
- d) einer Schaltung, welche am Ende einer Mikrobefehlsfolge einen an einer bestimmten Adresse des Festwertspeichers (5) abgelegten Mikrobefehl anwählt,
- e) einem Befehlsdecoder (10), welcher jeden dem Haupt speicher (1) zur Verarbeitung entnommenen Befehl dekodiert und eine Festwertspeicheradresse des ersten Mikro befehls der betreffenden Mikroprogrammroutine liefert;
- f) einem Wahlschalter (8), welcher die Festwertspeicheradresse zur Ausführung des ersten Mikrobefehls an den Festwert speicher (5) weiterleitet;
gekennzeichnet durch
- g) eine Schaltungsverbindung (von FF03B in 7 nach 8) zwischen einer bestimmten Bit-Position (FF03B) des Festwertspeicherregisters (7) und dem Wahlschalter (8), welche übermittelt, ob diese Bit-Position (FF03B) eines in das ROM-Register (7) übernommenen Mikrobefehls anzeigt, daß diser Mikrobefehl der letzte in einer ab laufenden Befehlsfolge ist, und welche in diesem Fall ein Signal liefert, das den Wahlschalter (8) veranlaßt, eine das Mikroprogramm beendende Festwertspeicheradresse ("0") abzugeben (Fig. 1A und 3).
2. Steuereinrichtung nach Anspruch 1, gekennzeich
net durch ein an den Festwertspeicher (5) und das
Festwertspeicherregister (7) angeschlossenes ROSAR-Register (9) zur
Auswahl eines der Festwertspeichermodule (ROM A bis ROM D)
(Fig. 3).
3. Steuereinrichtung nach Anspruch 2, gekennzeich
net durch eine das ROSAR-Register (9) mit der be
stimmten Bit-Position (FF03B) verbindende Leitung, welche
beim Auftreten des bestimmten Bits (S) zum Abschalten des
Decoders (10) im Decoder alle Bits auf Null setzt.
4. Steuereinrichtung nach Anspruch 3, gekennzeich
net durch eine an den Festwertspeicher (5) und den
Decoder (10) angeschlossene, auf ein externes Unterbrechungs
signal ansprechende Logikschaltung (73, 74) zur Erzeugung einer
Unterbrechungsadresse ("08") in den Festwertspeichermodulen (ROM A bis ROM D),
wobei diese Adresse angibt, wo das erste Mikrowort einer
Mikroroutine zur Verarbeitung externer Unterbrechungen
liegt.
5. Steuereinrichtung nach einem der Ansprüche 1 bis 4, da
durch gekennzeichnet, daß das
Festwertspeicherregister (7) aus Flip-Flops aufgebaut ist, welche je einen
Ausgang "0" und "1" haben und daß der Decoder (10) eine Ab
schalteinrichtung enthält, um alle Bits des Befehls auf "0"
zu setzen, wobei eines der Flip-Flops (70) mit seinem Ausgang
"1" an die genannte Abschalteinrichtung angeschlossen ist.
6. Steuereinrichtung nach Anspruch 5, dadurch ge
kennzeichnet, daß der Ausgang "1" des genannten
Flip-Flops (70) auch an das ROSAR-Register (9) angeschlossen
ist und dieses auf "0" setzt, wenn der Ausgang "1" des Flip-
Flops ein Signal "1" führt.
7. Steuereinrichtung nach Anspruch 6, dadurch ge
kennzeichnet, daß das ROSAR-Register (9) aus
Flip-Flops (71, 72) mit je einem Rückstelleingang zur Rück
stellen auf "0" besteht und der Ausgang des genannten Flip-
Flops (70) an den Rückstelleingang angeschlossen ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/729,066 US4087857A (en) | 1976-10-04 | 1976-10-04 | ROM-initializing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2744359A1 DE2744359A1 (de) | 1978-04-06 |
DE2744359C2 true DE2744359C2 (de) | 1987-09-24 |
Family
ID=24929445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772744359 Granted DE2744359A1 (de) | 1976-10-04 | 1977-10-01 | Dv-system mit festwertspeicher- anlaufeinrichtung |
Country Status (7)
Country | Link |
---|---|
US (1) | US4087857A (de) |
JP (1) | JPS5383441A (de) |
AU (1) | AU509113B2 (de) |
CA (1) | CA1099415A (de) |
DE (1) | DE2744359A1 (de) |
FR (1) | FR2366624A1 (de) |
GB (1) | GB1594838A (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6029126B2 (ja) * | 1977-01-14 | 1985-07-09 | 株式会社日立製作所 | デ−タ処理装置 |
US4218755A (en) * | 1978-06-19 | 1980-08-19 | Root Steven A | Weather forecasting apparatus |
FR2445989B1 (fr) * | 1979-01-02 | 1987-06-26 | Honeywell Inf Systems | Dispositif de determination de priorite et d'interruption d'un systeme de traitement de donnees |
US4291371A (en) * | 1979-01-02 | 1981-09-22 | Honeywell Information Systems Inc. | I/O Request interrupt mechanism |
US4390946A (en) * | 1980-10-20 | 1983-06-28 | Control Data Corporation | Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences |
US4399505A (en) * | 1981-02-06 | 1983-08-16 | Data General Corporaton | External microcode operation in a multi-level microprocessor |
JP2635057B2 (ja) * | 1987-11-04 | 1997-07-30 | 株式会社日立製作所 | マイクロプロセッサ |
US5941986A (en) * | 1993-04-30 | 1999-08-24 | Intel Corporation | Micro-code sequencer with branch-taken and branch-not-taken micro-code vectors sharing common address to eliminate taken branch penalties |
WO1994027215A1 (en) * | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
AU6701594A (en) * | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding sequences of guest instructions for a host computer |
US5574887A (en) * | 1993-09-20 | 1996-11-12 | Apple Computer, Inc. | Apparatus and method for emulation routine pointer prefetch |
US5408622A (en) * | 1993-09-23 | 1995-04-18 | Apple Computer, Inc. | Apparatus and method for emulation routine control transfer via host jump instruction creation and insertion |
US5687371A (en) * | 1993-09-27 | 1997-11-11 | Intel Corporation | Selection from a plurality of bus operating speeds for a processor bus interface during processor reset |
US5687338A (en) * | 1994-03-01 | 1997-11-11 | Intel Corporation | Method and apparatus for maintaining a macro instruction for refetching in a pipelined processor |
US5933629A (en) | 1997-06-12 | 1999-08-03 | Advanced Micro Devices, Inc. | Apparatus and method for detecting microbranches early |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
US3760369A (en) * | 1972-06-02 | 1973-09-18 | Ibm | Distributed microprogram control in an information handling system |
US3859636A (en) * | 1973-03-22 | 1975-01-07 | Bell Telephone Labor Inc | Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory |
GB1443064A (en) * | 1973-07-18 | 1976-07-21 | Int Computers Ltd | Microprogramme unit for a data processor |
US3979725A (en) * | 1973-08-06 | 1976-09-07 | Xerox Corporation | Multi-way program branching circuits |
DE2364408C3 (de) * | 1973-12-22 | 1979-06-07 | Olympia Werke Ag, 2940 Wilhelmshaven | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers |
US3989800A (en) * | 1973-12-26 | 1976-11-02 | Motorola, Inc. | Alkali metal gold cyanide method |
IT1000638B (it) * | 1973-12-28 | 1976-04-10 | Olivetti & Co Spa | Calcolatore elettronico con dispo sitivo di deviazione dei micropro grammi |
GB1464570A (en) * | 1974-11-27 | 1977-02-16 | Ibm | Microprogramme control units |
US3972029A (en) * | 1974-12-24 | 1976-07-27 | Honeywell Information Systems, Inc. | Concurrent microprocessing control method and apparatus |
US3972030A (en) * | 1975-01-02 | 1976-07-27 | Honeywell Information Systems, Inc. | Peripheral control capable of dynamically executing command sequences |
US4038643A (en) * | 1975-11-04 | 1977-07-26 | Burroughs Corporation | Microprogramming control system |
-
1976
- 1976-10-04 US US05/729,066 patent/US4087857A/en not_active Expired - Lifetime
-
1977
- 1977-09-09 CA CA286,565A patent/CA1099415A/en not_active Expired
- 1977-09-21 AU AU28961/77A patent/AU509113B2/en not_active Ceased
- 1977-10-01 DE DE19772744359 patent/DE2744359A1/de active Granted
- 1977-10-03 FR FR7729723A patent/FR2366624A1/fr active Granted
- 1977-10-04 GB GB41155/77A patent/GB1594838A/en not_active Expired
- 1977-10-04 JP JP12044477A patent/JPS5383441A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2896177A (en) | 1979-03-29 |
FR2366624B1 (de) | 1984-10-12 |
JPS5383441A (en) | 1978-07-22 |
FR2366624A1 (fr) | 1978-04-28 |
US4087857A (en) | 1978-05-02 |
GB1594838A (en) | 1981-08-05 |
CA1099415A (en) | 1981-04-14 |
DE2744359A1 (de) | 1978-04-06 |
AU509113B2 (en) | 1980-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2646162C3 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2355993C3 (de) | Programmierbare Datenverarbeitungsanlage | |
DE2364408C3 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
DE2744359C2 (de) | ||
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2746505C2 (de) | ||
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE1915818B2 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE1901228B2 (de) | Datenverarbeitungsanlage mit einrichtungen zur wiederholung von operationen beim auftreten eines fehlers | |
CH615771A5 (de) | ||
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2400064A1 (de) | Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2551741A1 (de) | Datenverarbeitungseinrichtung | |
DE2744252C2 (de) | ||
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2403669C3 (de) | SpezialComputer | |
DE3344340C2 (de) | Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen | |
DE2847479A1 (de) | Schablonenfamilien-schnittstelleneinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |