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
Application number
DE2744252A
Other languages
English (en)
Other versions
DE2744252A1 (de
Inventor
Thomas F. Burlington Mass. Us Joyce
Michel M. Medford Mass. Us Raguin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Inc filed Critical Honeywell Information Systems Inc
Publication of DE2744252A1 publication Critical patent/DE2744252A1/de
Application granted granted Critical
Publication of DE2744252C2 publication Critical patent/DE2744252C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

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.
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.
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.
DE19772744252 1976-10-04 1977-10-01 Dv-system mit wenigstens einem festwertspeicher fuer mikroprogramme Granted DE2744252A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
AU509114B2 (en) 1980-04-17
GB1594837A (en) 1981-08-05
AU2902277A (en) 1979-03-29
FR2366623A1 (fr) 1978-04-28
US4107774A (en) 1978-08-15
CA1099028A (en) 1981-04-07
JPS5383442A (en) 1978-07-22
FR2366623B1 (de) 1984-10-26
DE2744252A1 (de) 1978-04-06

Similar Documents

Publication Publication Date Title
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)
DE2542740C2 (de) Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung
DE2813128A1 (de) Mikroprogrammspeicher
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
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE3121742A1 (de) Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung
DE3116385C2 (de) Mikroprogramm-Steuerung
DE2744252C2 (de)
DE2245284A1 (de) Datenverarbeitungsanlage
DE3344340C2 (de) Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen
DE2714681A1 (de) Mikroprogrammierter lsi-mikroprozessor

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