DE2744252C2 - - Google Patents
Info
- Publication number
- DE2744252C2 DE2744252C2 DE2744252A DE2744252A DE2744252C2 DE 2744252 C2 DE2744252 C2 DE 2744252C2 DE 2744252 A DE2744252 A DE 2744252A DE 2744252 A DE2744252 A DE 2744252A DE 2744252 C2 DE2744252 C2 DE 2744252C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- read
- signal
- flip
- address
- 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)
Description
Die Erfindung betrifft eine Steuereinrichtung für ein
Datenverarbeitungssystem nach dem Gattungsbegriff des Anspruchs 1.
Bei einer aus US-PS 34 45 818 bekannten Steuereinrichtung
dieser Art wird das gesamte aus fünf Bits bestehende Feld
eines Mikrobefehls von einem Decoder decodiert. Sobald dieses
E-Feld anzeigt, daß ein anderer Block von Speicherplätzen im
Speicher angewählt werden muß, liefert der Decoder ein Ausgangssignal,
welches ein Flip-Flop im Adreßregister setzt.
Hierdurch wird eine Adresse in einem Block angewählt, der
acht Blocks gegenüber der laufenden Adresse versetzt ist.
Die Steuereinrichtung schaltet also beim Erkennen des letzten
Mikrobefehls um eine bestimmte Anzahl von Schritten vor oder
zurück und arbeitet dort weiter.
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. Normalerweise
steht dem Programmierer ein vorgegebener Befehlssatz zur
Verfügung, wobei jeder Befehl aus einer Folge von Elementaroperationen
oder Mikrooperationen besteht. Die Einführung von
Mikrooperationen bedeutet den Entwurf einer Maschine mit veränderbaren
Befehlen. Für jeden Befehl ist die Mikrooperationsfolge
üblicherweise in der Computer-Hardware festgelegt. Wilkes hat demgegenüber
eine Einrichtung vorgeschlagen, durch welche ein Programmierer
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 bezeichnet
solche Speicher heute als Festwertspeicher ROM oder
besser gesagt, zerstörungsfrei lesbare Speicher. Die letzgenannte
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 Festwertspeicher
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 Mikroworte werden dauerhaft in den Festwertspeicher eingegeben,
indem bei der Mikroprogrammierung jedes Bit durch eine Art Kurzschlußverbindung
zwischen den entsprechenden Speicherelementen des
Festwertspeichers gesetzt wird.
Die Einrichtung, welche den Ablauf der Mikrooperationen in einem
Rechner durchführt, wird üblicherweise als Steuereinrichtung bezeichnet.
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 Rhytmus eines externen Taktgebers ausgeführt
werden. Anschließend wird ein anderes Wort ausgelesen und in ähnlicher
Weise abgewickelt. Jedes Wort bezeichnet eine Gruppe von
Mikrooperationen, und eine Folge von Worten bezeichnet eine Folge
von Mikrooperationsgruppen. Eine Gruppe von Worten, deren Mikrooperationen
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 gelesenen
Befehls durch die Zentraleinheit des DV-Systems. Diese
Technik ist bekannt und beispielsweise in dem Buch "Microprogramming:
"Principles and Practices" von Samir S. Husson, veröffentlicht
1970 durch "Prentice Hall Inc., Englewood Cliffs,
New Jersey. Darüberhinaus wurden mehrere Patente für verschiedene
Merkmale mikroprogrammierbarer DV-Systeme veröffentlicht,
beispielsweise die US-PS 37 36 567, wo ein vorbestimmtes Bit im
letzten Mikrowort eines Mikroprogramms einen neuen Programmspeicherzyklus
und einen neuen Mikroprogrammspeicherzyklus in
Gang setzt. Festwertspeicher finden vielfache Anwendung.
Aus IBM Technical Disclosure Bulletin, Band 16, Heft 12,
Mai 1974, Seiten 3864-3867 ist eine Mikrobefehlssteuerung
bekannt, welche nach dem Abarbeiten einer Mikroprogrammfolge
zur Ermittlung des nächsten erforderlichen Schritts einen
Verzweigungsbefehl erfordert. Der hierzu dienende als bedingungsabhängiger
End-Mikrobefehl bezeichnete Befehl besteht
aus wenigstens zwei Teilen, nämlich einem von einem
Steuerdecoder decodierten Befehlsteil sowie einem die nächste
Basisadresse bezeichnenden Adreßteil, der zur Erzeugung der
verschiedenen möglichen Verzweigungsadresse benutzt wird.
Es handelt sich also um einen zusätzlichen Mikrobefehl, der
sich an das Ende der abgearbeiteten Befehlsfolge anschließt
und selbst einen Mikrobefehl nach Art eines Verzweigungsbefehls
einschließt und der Mikrobefehlsfolge zugeordnet ist.
Ausgehend vom eingangs gennanten Stand der Technik liegt der
Erfindung die Aufgabe zugrunde, die Anzahl der nach dem Abarbeiten
einer Mikrobefehlsfolge zum Auffinden des nächsten Mikrobefehls
erforderlichen Schritte zu verringern und insbesondere
den im Stand der Technik hierzu dienenden zusätzlichen Verzweigungsbefehl
samt der für dessen Durchführung erforderlichen
Maschinenzeit einzusparen. Es soll also eine Steuereinrichtung
geschaffen werden, die auf den letzten Befehl einer Mikroprogrammfolge
anspricht und unmittelbar entweder die Adresse
des ersten Mikrobefehls einer darauffolgenden Mikrobefehlsfolge
angibt oder beim Auftreten eines Unterbrechungssignals
den ersten Mikrobefehl einer Befehlsfolge liefert, welche den
Unterbrechungsbefehl durchführt.
Diese Aufgabe löst die im
Anspruch 1 gekennzeichnete Erfindung. Sie vermeidet einen
besonderen Verzweigungszyklus. Nach der Erfindung wird eine
bestimmt Bit-Position in
einem Mikrowort eines Mikroprogramms für die Speicherung eines
Signals reserviert, 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 festgestellt,
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 verarbeitende
Mikroprogrammfolge geliefert wird. Vorteilhafte Weiterbildungen
der Erfindung ergeben sich aus den Unteransprüchen.
Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels
beschrieben. Dabei zeigt
Fig. 1 das Blockschaltbild der hier interessierenden Teile
eines Hauptspeicher-Subsystems und eines Festwertspeicher-Subsystems
gemäß dem Stand der Technik;
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 Bearbeitung einer
Unterbrechung;
Fig. 2b ein entsprechendes Flußdiagramm der Anlaufeinrichtung
gemäß der Erfindung;
Fig. 3 das Schaltbild der Einrichtung gemäß der Erfindung
und
die Fig. 4a und 4b zwei Mikrowortformate.
Zum besseren Verständis 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 Schreiboperation
in den Hauptspeicher anfordert. Es speichert darüberhinaus
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 darstellen,
der unter der Steuerung des Festwertspeichersystems ausgefü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 Festwertspeicher
5. Der Multiplexer 8 ist ein Dual-4 : 1-Multiplexer
vom Typ SN 74 153. Da der Multiplexer 8
in der Lage sein muß, wenigstens 10 Bits zuschalten, werden fünf
dieser Dualeinheiten benötigt, wobei jede Einheit zwei Bits schaltet.
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 adresiert. Die ersten zwei Bits 0 und 1 des ROSAR-
Registers 9 liefern die Adresse des Moduls im Festwertspeicher
5, während die folgenden 10 Bits vom Multiplexer 8
die Adresse innerhalb des betreffenden Moduls angeben. Eine Mikrowortadresse
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 verschiedene
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.
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 Rechenwert 17 um
einen Schritt fortgeschaltet wurde. Somit hält das ROSAR-
Register 9 die Adresse des nächsten Mikrobefehls in der auszuführenden
Mikroprogrammfolge. Wird der Mikrobefehl gesteuert
durch das ROM-Adreßwort in das lokale Festwertspeicherregister 7
eingegeben, so wird er durch die nicht dargestellte Mikroprogrammsteuereinheit
verarbeitet, sofern es sich nicht um einen Verzweigungsbefehl
ähnlich demjenigen gemäß Fig. 4b handelt. Dabei
werden die letzten 10 Bits des Verzweigungsbefehls über die Leitung
14 und den Multiplexer 8 in das ROM-Adreßregister eingegeben.
Die letzten 10 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 aufeinanderfolgenden
Zyklen, die üblicherweise alle 200 ns auftreten,
sendet das ROSAR-Register 9 10 Bits durch den Multiplexer 8
zum ROM-Adreßregister 6; 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 Mikrobefehls
über das ROM-Adreßregister 6 eingeht, werden die Adressen
der nachfolgenden Mikrobefehle durch den Taktgeber 18 gesteuert,
alle 200 ns über das ROSAR-Register 9 bereitgestellt, 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 Anfangsschritt bei der Durchführung einer
Mikrobefehlsfolge eines Mikroprogramms dar und beginnt immer an
der Adresse 0 des Moduls 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 Ingangsetzungsfunktionen 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ückkehren muß, um Zugriff zum S-Wort zu erhalten. Bei einem
herkö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 letztgenannten 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 Unterbrechungssignal
an, wenn das letzte Mikrowort des letzten Mikrobefehls
festgestellt wird, so erfordert dies eine Verzweigung zu
einer anderen Adresse, wo das erste Wort eines Mikroprogramms
erreichbar ist, welches die Unterbrechung verarbeitet. Die Unterbrechung
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 Entscheidung
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 ds Programm weiter wie oben beschrieben
ab, bis das letzte Mikrowort erreicht ist. Ein Entscheidungsblock
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 andererseits
um das letzte Mikrowort und befindet es sich im Modul A,
so wird durch den Block 43 entschieden, ob es sich um eine Unterbrechung
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
beschriebenen Schritte durchgeführt, was einen Sprung zur Octaladresse
8 bedeutet, wo das erste Mikrowort eines Unterbrechungs-
Mikroprogramms gespeichert ist.
Die 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. 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 dieses
Bit ansprechende Hardware gemäß Fig. 3 das Rom-Adreßregister 6
automatisch auf 0, wodurch zusätzliche Schritte entfallen. Zuvor
wird jedoch noch festgestellt, ob es sich um eine Unterbrechung
handelt. Diese Entscheidung fällt im Block 33, und im Fall einer
Unterbrechung werden die Schritte 36 und 37 gemäß Fig. 2b durchgeführt.
Anhand von Fig. 3 wird nachfolgend die Einrichtung zum automatischen
Löschen des ROM-Adreßregisters 6 auf "0" geschildert, wenn
das letzte Mikrowort kein Unterbrechungsbefehl ist. Darüberhinaus
wird die automatische Bereitstellung der Adresse des ersten Worts
einer Unterbrechungsmikrobefehlsfolge erläutert, wenn ein externes
Unterbrechungssignal ansteht. Der Multiplexer 8, das ROM-
Adreßregister 6, der Festwertspeicher sowie das lokale ROM-
Register 7 sind die gleichen wie in Fig. 1. Da der Dual-4 : 1-
Multiplexer 8 insgesamt 10 Bits zu schalten hat, werden fünf solcher
an sich bekannter Einheiten benötigt, weil jede Einheit als
Dualeinheit ausgebildet ist. Im Rahmen der Erfindung können auch
andere Mengen von Bits geschaltet werden. Zehn Bits werden auf
zehn getrennten Eingangsleitungen als Information vom Decoder 10,
ROSAR-Register 9 und Verzweigungsadresse vom lokalen ROM-
Register 7 zur Verfügung gestellt. Zwei Auswahlleitungen A und B
genügen zur Adressierung jeder der vier Schaltstellungen. Die
Impulstabelle auf Seite 9-351 des solche Multiplexer beschreibenden
Kataloges der Firma Texas Instruments zeigt, daß bei einem
Einschaltsignal "1" alle Ausgangsklemmen auf "0" liegen. Durch
Setzen der Einschaltklemme des Multiplexers 8 auf "1" werden die
letzten zehn Bits im ROM-Adreßregister 6 auf 0 gesetzt. Diese
letzten zehn Adressen-Bits werden durch die Flip-Flops 0, 2A bis
11A dargestellt. Nimmt das Flip-Flop 0=B den Wert "1" an und
zeigt damit, daß es sich um das letzte Mikrowort in der Mikrobefehlsfolge
handelt, so erhält der Einschalteingang des Multiplexers
8 das Signal "1", wodurch die zehn Ausgangsleitungen 13
des Multiplexers auf "0" gehen und damit beim nächsten Taktzyklus
jedes Flip-Flop 02A bis 11A gesetzt wird. Zur gleichen Zeit, wenn
das Flip-Flop 03B den Wert "1" annimmt, erhalten die Rückstelleingänge
der Flip-Flops 00A und 01A ein Rückstellsignal, so daß
beim nächsten Taktzyklus diese Flip-Flops auf "0" umschalten.
Wird in der Bit-Position 3 des letzten Mikrobefehlswortes in
Bit "1" festgestellt, so wird das ROM-Adreßregister 6 beim
nächsten Taktzyklus ohne zusätzliche Schritte auf "0" gesetzt.
Durch das Schalten der Flip-Flops 02A bis 11A auf "0" wird die
Adresse aller Modulen A bis D auf 0 gestellt. Beim Setzen der
Flip-Flops 00A und 01A auf 0, erkennt man, daß nur ein Gatter 80
durchgeschaltet wird, weil beide Eingangssignale des Gatters
80 invertiert werden und somit ein Einschaltsignal "1" an den
Modul A liefern. Die Gatter 81 bis 83 werden nicht durchgeschaltet,
wenn beide Flip-Flops 00A bis 01A auf "0" stehen. Das Gatter 81
wird aktiviert, wenn das Flip-Flop 01A den Wert "1" und das
Flip-Flop 00A den Wert "0" hat. Das Gatter 82 wird eingeschaltet,
wenn das Flip-Flop 00A das Signal "1" und das Flip-Flop 01A das
Signal "0" liefert. Schließlich erfolgt eine Durchschaltung des
Gatters 83, wenn beide Flip-Flops 00A und 01A den Wert "1" haben.
Somit können die Flip-Flops 00A bis 01A jeden der Modulen A bis D
adressieren.
Ist jedoch ein Unterbrechungssignal vorhanden, so gelangt es als
ein Eingangssignal an das UND-Gatter 73. Das andere Eingangssignal
kommt vom Flip-Flop 03B. Hat das Bit in der Position 3 oder das
Flip-Flop 03B ein Ausgangssignal "1" und ist gleichzeitig ein
Unterbrechungssignal anwesend, so wird das UND-Gatter 73 durchgeschaltet
und liefert ein Eingangssignal "1" an das ODER-
Gatter 74, welches seinerseits ein Ausgangssignal "1" in die
Position 8, d. h. an das Flip-Flop 08A des ROM-Adreßregisters
abgibt. Damit wird dieses Flip-Flop auf "1" gesetzt und zeigt an,
daß es sich um eine Unterbrechung handelt. Statt das ROM-Adreßregister
6 auf 000000000000 zu setzen, wird es auf die Adresse
000000010000 entsprechend dem Octalwert 8 und damit im Festwertspeicher
auf das erste Wort des eine Unterbrechung bearbeitenden
Mikroprogramms gesetzt. Die Einrichtung setzt also das ROM-
Adreßregister 6 selbsttätig in Abhängigkeit vom Bit in der Position
3 oder von diesem Bit im Zusammenwirken mit einem Unterbrechungssignal
entweder auf 0 oder auf Octal 8. Beim ROSAR-
Register 9 handelt es sich um ein Adreßregister (read only
store address register) für einen zerstörungsfrei lesbaren
Speicher ähnlich dem ROM-Adreßregister 6.
Claims (8)
1. Steuereinrichtung für ein Datenverarbeitungs-System mit
- a) einem adressierbarem Festwertspeicher (5) zum
Speichern von Mikroprogrammen, von denen jedes aus
mehreren Mikrobefehlsworten und diese aus mehreren
Bits bestehen;
b) einem Wahlschalter (8) zur Auswahl der für den Speicherzugriff erforderlichen, in einem Festwertspeicher- Adreßregister (6) gespeicherten Adresse;
c) einem Festwertspeicherregister (7) zur Aufnahme der vom Festwertspeicher (5) gelieferten Mikrobefehle; sowie
d) einer Schaltungsanordnung, welche am Ende einer Mikrobefehlsfolge zur Ausführung eines Maschinenbefehls einen an einer bestimmten Adresse des Festwertspeichers (5) abgelegten Mikrobefehl anwählt,
gekennzeichnet dadurch, daß
- e) im jeweiligen letzten Mikrobefehl einer Mikrobefehlsfolge
eine bestimmte Bit-Position (F/F 03B) gesetzt
ist;
f) Teile (F/F 00A, F/F 01A) des Festwertspeicher- Adreßregisters (6) zurückgesetzt werden, wenn die bestimmte Bit-Position (F/F 03B) eines im Festwertspeicherregister (7) befindlichen Mikrobefehls gesetzt ist; und
g) beim Setzen der Bit-Position (F/F 03B) im Festwertspeicherregister (7) durch eine Gatterschatung (73, 74) die anderen Teile des Festwertspeicher-Adreßregisters (6) entweder zurückgesetzt oder, bei Auftreten eines Unterbrechungssignals, auf eine andere vorgegebene Adresse gesetzt werden.
2. Steuereinrichtung nach Anspruch 1, gekennzeichnet
durch eine Schaltungsverbindung zwischen der
genannten Bit-Position (F/F 03B) im Festwertspeicherregister
(7) und dem Wahlschalter (8), welche im genannten Fall alle
auf die zweite Bit-Position (F/F 01A) im Festwertspeicher-
Adreßregister folgenden Bits auf "0" setzt.
3. Steuereinrichtung nach Anspruch 2, dadurch gekennzeichnet,
daß die Gatterschaltung (73, 74)
aus einem eingangsseitig an die bestimmte Bit-Position
(F/F 03B) und die Signalleitung für das Unterbrechungssignal
angeschlossenen UND-Gatter (73) sowie einem mit seinem einen
Eingang an den Ausgang des UND-Gatters (73) und mit seinem
anderen Eingang an die ein Setzsignal für die andere vorgegebene
Adresse und mit seinem Ausgang an die jener Adresse
im Festwertspeicher-Adreßregister (6) entsprechende Bit-
Position angeschlossenen ODER-Gatter (74) besteht.
4. Steuereinrichtung nach Anspruch 3, dadurch gekennzeichnet,
daß der Wahlschalter (8) ein
dualer 4 : 1 Multiplexer ist und das ODER-Gatter (74) die
andere vorgegebene Adresse durch Setzen der Bit-Position
(F/F 08A) im Festwertspeicher-Adreßregister (6) auf "1"
und aller übrigen Bits auf "0" erzeugt.
5. Steuereinrichtung nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß der Festwertspeicher (5)
aus vier Speichermodulen (A-D) und das
Festwertspeicher-Adreßregister (6) aus mehreren, je ein
Bit speichernden Flip-Flops besteht;
daß die Adresse jedes Speichermoduls (A-D) durch in den ersten beiden Flip-Flops (71, 72) des Festwertspeicher- Adreßregisters (6) gespeicherte Bits gebildet ist; und daß eine auf die Ausgangssignale der ersten beiden Flip-Flops ansprechende Einrichtung (80-83) zur Auswahl eines der Speichermodulen (A-D) vorgesehen ist.
daß die Adresse jedes Speichermoduls (A-D) durch in den ersten beiden Flip-Flops (71, 72) des Festwertspeicher- Adreßregisters (6) gespeicherte Bits gebildet ist; und daß eine auf die Ausgangssignale der ersten beiden Flip-Flops ansprechende Einrichtung (80-83) zur Auswahl eines der Speichermodulen (A-D) vorgesehen ist.
6. Steuereinrichtung nach Anspruch 5, dadurch gekennzeichnet,
daß jedes Flip-Flop (71, 72) einen
Ausgang 1 und einen Ausgang 0 aufweist und den Wert "1"
speichert, wenn der Ausgang 1 das Signal "1" führt und das
Signal "0" speichert, wenn der Ausgang 0 das Signal "1"
führt;
daß der erste Speichermodul (A) adressiert ist, wenn die 0-Ausgänge der beiden ersten Flip-Flops (71, 72) beide das Signal "0" liefern;
der zweite Speichermodul (B) adressiert ist, wenn der 0-Ausgang des ersten Flip-Flops (71) das Signal "0" und der 0-Ausgang des zweiten Flip-Flops (72) das Signal "1" führt, der dritte Speichermodul (C) adressiert ist, wenn der 0-Ausgang des ersten Flip-Flops (71) das Signal "1" und der 0-Ausgang des zweiten Flip-Flops (72) das Signal "0" führt, der vierte Speichermodul (D) adressiert ist, wenn die Ausgänge der beiden ersten Flip-Flops (71, 72) beide das Signal "1" liefern.
daß der erste Speichermodul (A) adressiert ist, wenn die 0-Ausgänge der beiden ersten Flip-Flops (71, 72) beide das Signal "0" liefern;
der zweite Speichermodul (B) adressiert ist, wenn der 0-Ausgang des ersten Flip-Flops (71) das Signal "0" und der 0-Ausgang des zweiten Flip-Flops (72) das Signal "1" führt, der dritte Speichermodul (C) adressiert ist, wenn der 0-Ausgang des ersten Flip-Flops (71) das Signal "1" und der 0-Ausgang des zweiten Flip-Flops (72) das Signal "0" führt, der vierte Speichermodul (D) adressiert ist, wenn die Ausgänge der beiden ersten Flip-Flops (71, 72) beide das Signal "1" liefern.
7. Steuereinrichtung nach Anspruch 6, dadurch gekennzeichnet,
daß das Festwertspeicherregister
(7) ebenfalls aus mehreren, jeweils einen Ausgang 1 sowie
einen Ausgang 0 aufweisenden Flip-Flops (00B-35B) besteht,
die jeweils das Signal "1" speichern, wenn der Ausgang 1 das
Signal "1" führt und andererseits das Signal "0" speichern,
wenn der Ausgang 0 das Signal "1" führt;
und daß eine auf das Signal eines bestimmten der Flip-Flops (70) ansprechende Einrichtung die 0-Ausgänge aller mit Ausnahme der beiden ersten Flip-Flops (71, 72) des ROM- Adreßregisters auf "0" setzt, wenn der 1-Ausgang des bestimmten Flip-Flops (70) des Festwertspeicherregisters (7) das Signal "1" führt.
und daß eine auf das Signal eines bestimmten der Flip-Flops (70) ansprechende Einrichtung die 0-Ausgänge aller mit Ausnahme der beiden ersten Flip-Flops (71, 72) des ROM- Adreßregisters auf "0" setzt, wenn der 1-Ausgang des bestimmten Flip-Flops (70) des Festwertspeicherregisters (7) das Signal "1" führt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/729,065 US4107774A (en) | 1976-10-04 | 1976-10-04 | Microprogram splatter return apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2744252A1 DE2744252A1 (de) | 1978-04-06 |
DE2744252C2 true DE2744252C2 (de) | 1987-05-27 |
Family
ID=24929437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772744252 Granted DE2744252A1 (de) | 1976-10-04 | 1977-10-01 | Dv-system mit wenigstens einem festwertspeicher fuer mikroprogramme |
Country Status (7)
Country | Link |
---|---|
US (1) | US4107774A (de) |
JP (1) | JPS5383442A (de) |
AU (1) | AU509114B2 (de) |
CA (1) | CA1099028A (de) |
DE (1) | DE2744252A1 (de) |
FR (1) | FR2366623A1 (de) |
GB (1) | GB1594837A (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4240139A (en) * | 1977-09-22 | 1980-12-16 | Tokyo Shibaura Denki Kabushiki Kaisha | Address generating system |
US4309753A (en) * | 1979-01-03 | 1982-01-05 | Honeywell Information System Inc. | Apparatus and method for next address generation in a data processing system |
DE2929579C2 (de) * | 1979-07-21 | 1984-05-17 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Wasserzulaufvorrichtung für Geschirrspülmaschinen |
US4376976A (en) * | 1980-07-31 | 1983-03-15 | Sperry Corporation | Overlapped macro instruction control system |
US5572692A (en) * | 1991-12-24 | 1996-11-05 | Intel Corporation | Memory configuration decoding system having automatic row base address generation mechanism for variable memory devices with row access interleaving |
US6789186B1 (en) * | 2000-02-18 | 2004-09-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus to reduce penalty of microcode lookup |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3445818A (en) * | 1966-08-01 | 1969-05-20 | Rca Corp | Memory accessing system |
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 |
GB1443064A (en) * | 1973-07-18 | 1976-07-21 | Int Computers Ltd | Microprogramme unit for a data processor |
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 |
-
1976
- 1976-10-04 US US05/729,065 patent/US4107774A/en not_active Expired - Lifetime
-
1977
- 1977-09-09 CA CA286,406A patent/CA1099028A/en not_active Expired
- 1977-09-22 AU AU29022/77A patent/AU509114B2/en not_active Ceased
- 1977-10-01 DE DE19772744252 patent/DE2744252A1/de active Granted
- 1977-10-03 FR FR7729722A patent/FR2366623A1/fr active Granted
- 1977-10-04 GB GB41154/77A patent/GB1594837A/en not_active Expired
- 1977-10-04 JP JP12044577A patent/JPS5383442A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
FR2366623B1 (de) | 1984-10-26 |
AU509114B2 (en) | 1980-04-17 |
US4107774A (en) | 1978-08-15 |
CA1099028A (en) | 1981-04-07 |
FR2366623A1 (fr) | 1978-04-28 |
DE2744252A1 (de) | 1978-04-06 |
JPS5383442A (en) | 1978-07-22 |
GB1594837A (en) | 1981-08-05 |
AU2902277A (en) | 1979-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
DE2646162C3 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2364408C3 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2746505C2 (de) | ||
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2744359C2 (de) | ||
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2322674B2 (de) | Mikroprogramm-Steuereinrichtung | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE3121742C2 (de) | Mikroprogramm-Steuereinrichtung | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE3116385C2 (de) | Mikroprogramm-Steuerung | |
DE2744252C2 (de) | ||
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE3344340C2 (de) | Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen | |
DE2714681A1 (de) | Mikroprogrammierter lsi-mikroprozessor | |
DE2255252B2 (de) | Vorrichtung zur steuerung einer anzeigeeinheit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
8339 | Ceased/non-payment of the annual fee |