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
Application number
DE2744359A
Other languages
English (en)
Other versions
DE2744359A1 (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 DE2744359A1 publication Critical patent/DE2744359A1/de
Application granted granted Critical
Publication of DE2744359C2 publication Critical patent/DE2744359C2/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

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.
DE19772744359 1976-10-04 1977-10-01 Dv-system mit festwertspeicher- anlaufeinrichtung Granted DE2744359A1 (de)

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)

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

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

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