DE2813128C2 - Steuereinrichtung für Mikroprogrammspeicher - Google Patents
Steuereinrichtung für MikroprogrammspeicherInfo
- Publication number
- DE2813128C2 DE2813128C2 DE2813128A DE2813128A DE2813128C2 DE 2813128 C2 DE2813128 C2 DE 2813128C2 DE 2813128 A DE2813128 A DE 2813128A DE 2813128 A DE2813128 A DE 2813128A DE 2813128 C2 DE2813128 C2 DE 2813128C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- register
- read
- microinstruction
- field
- 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
- 230000015654 memory Effects 0.000 title claims description 80
- 230000009977 dual effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000034 method Methods 0.000 description 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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
-
- 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/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
-
- 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/264—Microinstruction selection based on results of processing
- G06F9/267—Microinstruction selection based on results of processing by instruction selection on output of storage
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
- Detection And Correction Of Errors (AREA)
- Read Only Memory (AREA)
- Communication Control (AREA)
Description
- Die Erfindung bezieht sich auf eine Steuereinrichtung für Mikroprogrammspeicher gemäß Gattungsbegriff des Anspruchs 1. Bei einer aus US-PS 37 60 369 bekannten Steuereinrichtung dieser Art ist ein Mikroprogrammspeicher mit mehreren Speichermodulen vorhanden, wobei das Schieberegister, welches ein Modulbezeichnungsbit, nicht aber eine Moduladresse enthält, über einen Decoder durch einen Befehl aus dem Hauptspeicher bedingungsfrei geladen wird. Sobald die Befehlsfolge in einem bestimmten Speichermodul abgearbeitet ist, wird das Modulbezeichnungsbit im Schieberegister gezielt verschoben, um den nächsten Speichermodul zu bezeichnen, mit dessen Mikrobefehlen die Durchführung des Programms fortgesetzt wird.
- In einem auf der "Manchester University Computer Inaugural Conference" vom Juli 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 letztgenannte 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 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 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 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über hinaus 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.
- H
- In dem Bestreben einerseits die Durchsatzkapazität des Rechners zu erhöhen und andererseits den Benutzern ein breites Spektrum von Diensten anbieten zu können, besteht die Aufgabe der Erfindung darin, eine verbesserte Steuereinrichtung für einen Mikroprogrammspeicher zu schaffen, welche für eine Verzweigungsoperation weniger Maschinenzyklen und weniger Mikroworte und damit auch weniger Speicherplatz benötigt. Es soll also eine maximale Datenverarbeitungskapazität mit einem Minimalaufwand an Hardware bereitgestellt werden.
- Ausgehend von der eingangs genannten US-PS 37 60 369 wird diese Aufgabe gelöst durch die im Anspruch 1 gekennzeichnete Erfindung. Abweichend vom Stand der Technik ist hier zum Bezeichnen eines Festwertspeichermoduls das Laden einer Adresse in das Festwertspeicher-Adreßregister vorgesehen, und zwar mit Hilfe eines Mikrobefehls aus einem der Module. Dieses Laden der Adresse ist abhängig vom Zustand eines bestimmten Dualbits im Mikrobefehl. Ein bestimmter Typ von Mikrobefehlen wählt einen bestimmten Modul aus, aus welchem die nachfolgenden Mikrobefehle zu entnehmen sind. Dieser Mikrobefehl vorgegebenen Typs hat ein erstes Feld, welches eines der Register bezeichnet, aus dem Information entnommen wird, sowie ein zweites Feld mit einer Konstanten, welche in das so bezeichnete Register einzugeben ist. Bei der Ausführung des Mikrobefehls wird dessen Konstante, die ein einen der Module bezeichnenden Code darstellt, in das Festwertspeicher- Adreregister geladen, und zwar an einer Stelle, welche durch ein weiteres Feld des Mikrobefehls bestimmt ist.
- Vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen. Durch Verwendung eines Mikrowortes LER zum Laden eines externen Registers wird durch die Erfindung Festwertspeicherraum gespart und der Datendurchsatz erhöht. Mikrobefehle mit nur 8 Bits reichen zur tatsächlichen Adressierung irgendeines von bis zu 16 k Worten aus. Das LER-Mikrowort hat ein 13-Bit-Steuerfeld, wobei 5 dieser 13 Bits eines von 32 Registern adressieren können, während die übrigen 8 Bits eine Konstante speichern, die zu den Daten in vielen der Register hinzugefügt werden oder diese ersetzen kann. Wird ein im Festwertspeicher ROM gespeichertes LER-Mikrowort adressiert und in das lokale ROM-Register RSLR eingegeben und wählt das 5-Bit-Adreßfeld das ROM-Adreßregister RSAR an, so werden die 4 niedrigwertigen Bits in die 4 höherwertigen Bitpositionen des ROM-Adreßregisters übertragen und wählen einen von bis zu 16 ROM-Modulen aus. Somit wird in einem Zyklus ein Mikrowort gelesen, welches ein Register mit 4 Bits lädt, um auf diese Weise den nächsten ROM-Modul auszuwählen, während im zweiten Zyklus das nächste Mikrowort aus dem ausgewählten ROM-Modul in das lokale ROM-Register RSLR eingegeben wird.
- Die Erfindung wird nachfolgend anhand eines in den Zeichnungen wiedergegebenen Ausführungsbeispiels erläutert. Dabei zeigt
- Fig. 1 das Blockschaltbild der hier interessierenden Teile eines Hauptspeicher-Subsystems sowie eines Festwertspeicher-Subsystems;
- Fig. 2 den Schaltungsaufbau des erfindungsgemäßen Mikroprogrammspeichers im einzelnen; die
- Fig. 3a bis 3c das Format des Mikroworts LER zum Laden eines externen Registers sowie zwei andere typische Mikrowortformate und
- Fig. 4 den Aufbau des ROM-Adreßregisters RSAR.
- Da sich die Erfindung besonders mit der Steuerfunktion des LER- Mikroworts bei einer Verzweigungsfunktion befaßt, ist das in Fig. 3b wiedergegebene Format dieses LER-Mikroworts von Bedeutung. Die Mikroworte ULB, SBR und SPL haben einen Adreßplatz des nächsten Mikroworts, wie dies im ULB-Mikrowort gemäß Fig. 3c durch die Verzweigungsadresse 50 angedeutet ist.
- In Fig. 1 nimmt ein herkömmlicher Halbleiterspeicher 1 mit wahlfreiem Zugriff Befehle und Daten auf. Das Hauptspeicher- Adreßregister 2 speichert die Adressen der Speicherplätze im Hauptspeicher, welcher Informationen aus dem Datenausgaberegister DOR 3 erhält, sofern der Operationscode des Befehls eine Schreiboperation in den Hauptspeicher anfordert. Er 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 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 stellen eine Adresse im Festwertspeicher ROM 5 dar. Der Multiplexer 8 ist ein Dual-4 : 1-Multiplexer vom Typ SN74153, wie er auf den Seiten 9-351 bis 9-364 des "Integrated Circuit Catalog for Design Engineers" der Firma Texas Instruments Inc. beschrieben ist. Die Mikroworte werden im Festwertspeicher 5 gespeichert, der aus bis zu 16 Speichermodulen ROM 0-ROM F besteht, wobei jeder Modul 1024 Worte und jedes Wort 36 Bits zuzüglich 4 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 in einem einzigen Festwertspeicher 5 wird durch 10 Bits aus dem RSAR-Register 9 adressiert. Die ersten 4 Bits (0-3) des RSAR-Registers 9 wählen einen der bis zu 16 Festwertspeicher 5 aus, während die nächsten 10 Bits (4-13) des RSAR-Registers 9 über den ROM-Adressenmultiplexer 8 die Adresse innerhalb eines bestimmten Moduls liefern. Ein vom Multiplexer 8 adressiertes Mikrowort wird in das lokale ROM-Register RSLR 7 eingegeben. Es besteht aus verschiedenen Steuerbits, welche verschiedenen Subsystemen zugeführt werden und dort je nach Aufbau spezielle Steuerfunktionen ausüben. Diese Steuerfunktionen, ausgenommen diejenigen des LER-Mikroworts, werden im einzelnen nicht beschrieben, weil sie für die vorliegende Erfindung von untergeordneter Bedeutung sind. In den Fig. 3a und 3c sind die Formate der Steuerworte BCL bzw. ULB dargestellt, um wenigstens einen Eindruck vom Aufbau dieser Mikroworte zu geben. Fig. 3b zeigt wie erwähnt das hier besonders interessierende Mikrowort LER. Es können auch Mikroworte mit anderem als 36-Bit-Format Anwendung finden.
- 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 RSAR-Register 9 eingegeben, nachdem dieses vom Rechenwerk 17 um einen Schritt fortgeschaltet wurde. Somit hält das RSAR-Register 9 die Adresse des nächsten Mikrobefehls in der auszuführenden Mikroprogrammfolge. Wird der Mikrobefehl, gesteuert durch den ROM-Adreß-Multiplexer 8, in das lokale Speicherregister 7 eingegeben, so wird durch die nicht dargestellte Mikroprogrammsteuereinheit verarbeitet, sofern es sich nicht um einen Verzweigungsbefehl ähnlich demjenigen gemäß Fig. 3c handelt. Dabei werden die letzten 10 Bits des Verzweigungsbefehls über die Leitung 14, den Multiplexer 8 und die Leitung 13 in den Festwertspeicher überführt. Die letzten 10 Bits stellen die neue Verzweigungsadresse dar, und somit beginnt die Ausführung des Mikroprogramms an der zur Verfügung gestellten neuen Adresse.
- Außerdem werden die die Adresse des ersten Befehls des auszuführenden Mikroprogramms bildenden zehn Verzweigungsbits in das RSAR-Register 9 eingegeben, nachdem dieses erneut durch das Rechenwerk 17 um einen Schritt fortgeschaltet wurde. In aufeinanderfolgenden Zyklen, die üblicherweise alle 200 ns ablaufen, überträgt das RSAR-Register 9 10 Bits über den Multiplexer 8 in den Festwertspeicher 5, und das RSAR-Register 9 wird über die Leitungen 13 und 16 vom Rechenwerk 17 jeweils um einen Schritt fortgeschaltet. Nachdem die Adresse des ersten Mikrobefehls über den Multiplexer 8 zur Verfügung gestellt ist, kommt die Adresse der nachfolgenden Mikrobefehle, gesteuert durch den Taktgeber 18 jeweils im Abstand von 200 ns über das RSAR-Register 9. Das Mikroprogramm wird abgearbeitet, bis ein Mikrowort im ablaufenden Programm mit Hilfe eines Auswahlsignals 20 über den Multiplexer 8 eine andere Adresse anschließt.
- Die Leitung 43 stellt den Steuerausgang des RSLR-Registers 7 dar und steuert über ein Gatter 21 die Zufuhr von Taktimpulsen 18 an das RSAR-Register 9, sobald ein LER-Mikrowort im RSLR-Register 7 gespeichert ist. Die Leitung 22 bildet den Datenweg zur Übertragung von 4 Bits vom RSLR-Register 7 in das RSAR-Register 9, welches einen der bis zu 16 Festwertspeicher 5 auswählt.
- Bei einem Rechnersystem gemäß der Erfindung sind deshalb vorzugsweise sechs verschiedene Typen von Mikroworten vorhanden, von denen drei typische Formate in den Fig. 3a bis 3c wiedergegeben sind. Ihr Aufbau und ihre Funktion ergeben sich aus der nachfolgenden Tabelle: &udf53;ta:2,6:6:18&udf54;&udf53;vu10&udf54;&udf53;tz,5&udf54; &udf53;tw,4&udf54;&udf53;sg8&udf54;\Code\ Symbol\ Funktion&udf53;tz5,10&udf54; &udf53;tw,4&udf54;&udf53;sg9&udf54;\0\ BCL\ Schnittstellensteuerung&udf53;tz&udf54; \1\ ULB\ Weite Verzweigung&udf53;tz&udf54; \4\ LER\ Generalregistersteuerung&udf53;tz&udf54; \5\ SBR\ Kurze bedingte Verzweigung&udf53;tz&udf54; \6\ SPL\ Mikroprogramm-Fortgang (splatter)&udf53;tz&udf54; \7\ GCN\ Konstanten-Generator&udf53;tz&udf54; &udf53;te&udf54;&udf53;vu10&udf54;
- Nachfolgend wird auf Fig. 2 Bezug genommen. Der ROM-Adreß-Multiplexer 8 wählt die Adresse eines der Festwertspeichermodulen ROM 0 bis ROM F des Festwertspeichers 5 aus. Es wird angenommen, daß ein LER-Mikrowort in dieser Adresse gespeichert war und in das lokale ROM-Register RSLR 7 eingegeben wird. Dieses speichert nunmehr ein Wort, dessen Format in Fig. 3b dargestellt ist. Das Register 53 besteht aus Flip-Flops F/F 00B bis F/F 03B und speichert einen Binärcode 100, welcher dieses LER-Mikrowort bestimmt. Das Register 51 besteht aus Flip-Flops F/F 23B bis F/F 27B und speichert einen Code 00101, welches die Flip-Flops F/F 00A bis F/F 03A des RSAR-Registers 9 als diejenigen bestimmt, welche mit der 4-Bit-Adresse im Register 52 geladen werden sollen, welches aus den Flip-Flops F/F 32B bis F/F 35B des RSLR-Registers 7 besteht. Sobald das in Fig. 3b wiedergegebene Mikrowort LER im RSLR-Register 7 gespeichert ist, wird der Ausgang des UND-Gatters 42 auf "1" gesetzt, sobald der Binärcode 00101 in den Flip-Flops F/F 23B bis F/F 27B des Registers 51 erscheint. Auch der Binärcode 100, welcher angibt, daß es sich hier um ein LER-Mikrowort handelt, wird in die Flip-Flops F/F 00B bis F/F 03B des Registers 53 eingegeben, wodurch die drei Eingänge des UND-Gatters 41 auf "1" gesetzt werden. Der vierte Eingang, welcher mit dem Ausgang des UND-Gatters 72 verbunden ist, wurde ebenfalls auf "1" gesetzt. Damit nimmt die Leitung 43 den Pegel "1" an, der an dem einen Eingang des UND-Gatters 40 steht. Sobald an seinem anderen Eingang ein Taktgeberimpuls erscheint, wird das Ausgangssignal des UND-Gatters 40 "1", wodurch die Ausgangssignale des Flip-Flops F/F 32B bis F/F 35B des Registers 52 in die Flip-Flops F/F 00A bis F/F 03A des RSAR-Registers 9 übertragen werden. Dieser 4-Bit-Binärcode wählt einen der 16 Festwertspeichermodulen ROM 0 bis ROM F des Festwertspeichers 5 aus. Die Signale werden über ein vieradriges Kabel 4 übertragen. Es endet an jedem Festwertspeicher mit 4-Bit-Eingängen und wählt jeweils einen Speichermodul aus. Der hierzu dienende 4-Bit-Code ist für jeden Modul exklusiv.
- Wird vom Multiplexer 8 eine 10-Bit-Adresse ausgewählt, so wird diese Adresse zuzüglich dem Wert Eins beim Eingang eines Taktimpulses 18 in den Flip-Flops F/F 04A bis F/F 13A des RSAR-Registers 9 gespeichert. Zur gleichen Zeit, zu der die 10-Bit-Adresse im Takt in das RSAR-Register 9 eingegeben wird, werden die Ausgangspegel der Flip-Flops F/F 32B bis F/F 35B des Registers 52 in die Flip-Flops F/F 00A bis F/F 03A übertragen. Damit wird das nächste Mikrowort am neu ausgewählten Festwertspeicher 5 und an der alten 10-Bit-Adresse zuzüglich 1 ausgewählt.
- Fig. 3a zeigt das Format des BCL-Mikroworts zur Sammelschienensteuerung (Bus Control). In allen Fällen wird das auf das BCL-Mikrowort folgende Mikrowort aus dem nächsten Adreßplatz ausgewählt. Fig. 3b zeigt das LER-Mikrowort, welches mit seinen Bit-Positionen 0 bis 3 dem Register 53 anzeigt, daß es sich um ein LER-Mikrowort handelt. Die Positionen 23 bis 27 melden dem Register 51 welches Register auf den neuesten Stand gebracht werden muß. Im gezeigten Ausführungsbeispiel müssen die 4 höherwertigen Bits des RSAR-Registers 9 bezeichnet werden, weil das Registerfeld 51 den Code 00101 hat. Im Konstantenfeldregister 52 sind die Daten gespeichert, welche übertragen werden müssen, um das ausgewählte Register auf den neuesten Stand zu bringen. Fig. 3c zeigt ein ULB-Mikrowort (Unconditioned Branch), welches eine bedingungsfreie Verzweigung kennzeichnet und ein 10-Bit-Verzweigungsadressenfeld 50 aufweist. Fig. 4 zeigt die durch die einzelnen Felder des RSAR-Registers 9 gesteuerten Adressen. Die Bits 0 bis 3 wählen eine der bis zu 16 Festwertspeicher 5 aus. In einem typischen Anwendungsfall kann jeder Festwertspeicher 1024 Worte mit je 36 Datenbits und 4 Paritätsbits pro Wort speichern. Die Bits 4 und 5 wählen eine von 4 Seiten pro Festwertspeicher 5 aus, wobei jede Seite 256 Worte umfaßt. Die Bits 6 bis 13 schließlich wählen eines der 256 Worte pro Seite aus.
Claims (4)
1. Steuereinrichtung für einen Mikroprogrammspeicher (5) mit
a) mehreren Speichermodulen (ROM 0 bis F) zur Speicherung von jeweils mehreren Mikroprogrammen, von denen jedes aus mehreren Mikroworten und jedes Mikrowort aus mehreren Bits besteht;
b) einem Festwertspeicher-Adreßregister (9), welches in einem ersten Teil (F/F 00A bis 03A) einen bestimmten der Speichermodule bezeichnenden Code und in einem zweiten Teil (F/F 04A bis 13A) die Adresse eines Mikrobefehls in jenem Modul enthält;
c) einem Festwertspeicherregister (7), welches jeden aus dem Mikroprogrammspeicher (5) entnommenen Mikrobefehl aufnimmt und wobei jeder Mikrobefehl ein den Mikrobefehlstyp bestimmendes erstes Feld (0 bis 3) enthält, während ein Typ (LER, Fig. 3B) von Mikrobefehlen ein ein Register (51) bezeichnendes zweites Feld (23 bis 27) sowie ein eine Konstante enthaltendes drittes Feld (32 bis 35) umfaßt;
dadurch gekennzeichnet, daß zur Auswahl des die nächstfolgenden Mikrobefehle enthaltenden Speichermoduls
d) eine erste Logikschaltung (41) das erste Feld (0-3) eines im Festwertspeicherregister (7) befindlichen Mikrobefehls überprüft;
e) eine zweite Logikschaltung (42) das zweite Feld (23 bis 27) des im Festwertspeicherregister (7) befindlichen Mikrobefehls überprüft;
f) eine an die erste und die zweite Logikschaltung angeschlossene dritte Logikschaltung vorgesehen ist, welche den Inhalt des dritten Feldes (32 bis 35) des im Festwertspeicherregister (7, 52) befindlichen Mikrobefehls in den ersten Teil (F/F 00A bis 03A) des Festwertspeicher-Adreßregisters (9) überträgt, sofern das erste Feld (0-3) dieses Mikrobefehls jenen einen Typ (LER) von Mikrobefehl und das zweite Feld (23 bis 27) das betreffende Festwertspeicher-Adreßregister (9) bezeichnet (Fig. 2).
2. Steuereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
g) die erste und die zweite Logikschaltung (41, 42) als UND-Gatter ausgebildet sind;
h) die Eingänge des zweiten UND-Gatters (42) an die Flip-Flops (23B bis 27B) des bezeichneten Registers (51) angeschlossen sind;
i) die Eingänge des ersten UND-Gatters (41) an den Ausgang des zweiten UND-Gatters (52) sowie an die Flip-Flops des den Befehlstyp bezeichnenden Registers (53) im Festwertspeicherregister (7) angeschlossen sind;
j) der Ausgang des ersten UND-Gatters (41) zusammen mit einem Taktsignal an die Eingänge eines UND-Gatters (40) der dritten Logikschaltung gelegt sind;
k) der Ausgang des letztgenannten UND-Gatters (40) mit Eingängen der Flip-Flops (F/F 00A bis 03A) im ersten Feld des Festwertspeicher-Adreßregisters (9) verbunden ist.
3. Steuereinrichtung nach Anspruch 1 oder 2, gekennzeichnet durch einen zwischen den zweiten Teil (04A bis 13A) des Festwertspeicher-Adreßregisters (9) und den Mikroprogrammspeicher (5) eingeschalteten Multiplexer (8), vorzugsweise einen dualen 4 : 1-Multiplexer.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/783,532 US4118773A (en) | 1977-04-01 | 1977-04-01 | Microprogram memory bank addressing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2813128A1 DE2813128A1 (de) | 1978-10-12 |
DE2813128C2 true DE2813128C2 (de) | 1987-05-07 |
Family
ID=25129578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2813128A Expired DE2813128C2 (de) | 1977-04-01 | 1978-03-25 | Steuereinrichtung für Mikroprogrammspeicher |
Country Status (7)
Country | Link |
---|---|
US (1) | US4118773A (de) |
JP (1) | JPS53146541A (de) |
AU (1) | AU512882B2 (de) |
CA (1) | CA1109967A (de) |
DE (1) | DE2813128C2 (de) |
FR (1) | FR2386077A1 (de) |
GB (1) | GB1603171A (de) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4223381A (en) * | 1978-06-30 | 1980-09-16 | Harris Corporation | Lookahead memory address control system |
US4234934A (en) * | 1978-11-30 | 1980-11-18 | Sperry Rand Corporation | Apparatus for scaling memory addresses |
US4330823A (en) * | 1978-12-06 | 1982-05-18 | Data General Corporation | High speed compact digital computer system with segmentally stored microinstructions |
US4367456A (en) * | 1979-03-09 | 1983-01-04 | Northern Telecom Limited | PCM and PAM Conversion circuit including signal level variation on the PCM portion of the circuit |
US4342078A (en) * | 1979-05-21 | 1982-07-27 | Motorola, Inc. | Instruction register sequence decoder for microprogrammed data processor and method |
US4318175A (en) * | 1979-08-13 | 1982-03-02 | Bunker Ramo Corporation | Addressing means for random access memory system |
US4587611A (en) * | 1980-09-04 | 1986-05-06 | Amdahl Corporation | Multiple module control store for use in a data processing system |
JPS5759250A (en) * | 1980-09-29 | 1982-04-09 | Nec Corp | Microprogram controller |
IT1134780B (it) * | 1980-12-18 | 1986-08-13 | Honeywell Inf Systems | Unita' di controllo microprogrammata con rete di salti multipli |
DE3278375D1 (en) * | 1981-02-05 | 1988-05-26 | Ibm | Page addressing mechanism and method for using the same |
US4368515A (en) * | 1981-05-07 | 1983-01-11 | Atari, Inc. | Bank switchable memory system |
US4432067A (en) * | 1981-05-07 | 1984-02-14 | Atari, Inc. | Memory cartridge for video game system |
US4503491A (en) * | 1981-06-29 | 1985-03-05 | Matsushita Electric Industrial Co., Ltd. | Computer with expanded addressing capability |
US4472772A (en) * | 1981-08-03 | 1984-09-18 | Burroughs Corporation | High speed microinstruction execution apparatus |
JPS58172755A (ja) * | 1982-04-02 | 1983-10-11 | Nec Corp | 制御記憶装置 |
US4500961A (en) * | 1983-06-03 | 1985-02-19 | Motorola, Inc. | Page mode memory system |
JPS60157646A (ja) * | 1984-01-27 | 1985-08-17 | Mitsubishi Electric Corp | メモリバンク切換装置 |
US4744046A (en) * | 1984-11-02 | 1988-05-10 | Zenith Electronics Corporation | Video display terminal with paging and scrolling |
US4858109A (en) * | 1985-02-14 | 1989-08-15 | Ag Communication Systems Corporation | Program code fetch from data memory arrangement |
AU571377B2 (en) * | 1985-11-13 | 1988-04-14 | Fujitsu Limited | Main storage access control system |
US4899149A (en) * | 1986-02-28 | 1990-02-06 | Gary Kahan | Method of and apparatus for decoding Huffman or variable-length coees |
JPS62260244A (ja) * | 1986-05-06 | 1987-11-12 | Nintendo Co Ltd | メモリカ−トリツジ |
US5226136A (en) * | 1986-05-06 | 1993-07-06 | Nintendo Company Limited | Memory cartridge bank selecting apparatus |
GB2191879A (en) * | 1986-05-12 | 1987-12-23 | Computer Concepts | Integrated circuit device arrangement |
CA1330596C (en) * | 1986-11-19 | 1994-07-05 | Yoshiaki Nakanishi | Memory cartridge and data processing apparatus |
US5058007A (en) * | 1987-11-05 | 1991-10-15 | Raytheon Company | Next microinstruction generator in a microprogram control unit |
US4821290A (en) * | 1988-02-09 | 1989-04-11 | General Electric Company | Decoder for digital signal codes |
US5317706A (en) * | 1989-11-15 | 1994-05-31 | Ncr Corporation | Memory expansion method and apparatus in a virtual memory system |
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 |
JP3670041B2 (ja) * | 1993-12-10 | 2005-07-13 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ |
US6029241A (en) * | 1997-10-28 | 2000-02-22 | Microchip Technology Incorporated | Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor |
US6708268B1 (en) * | 1999-03-26 | 2004-03-16 | Microchip Technology Incorporated | Microcontroller instruction set |
US6687815B1 (en) | 2000-02-01 | 2004-02-03 | Sun Microsystems, Inc. | Method and apparatus for storing non-volatile configuration information |
US6195749B1 (en) | 2000-02-10 | 2001-02-27 | Advanced Micro Devices, Inc. | Computer system including a memory access controller for using non-system memory storage resources during system boot time |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3380025A (en) * | 1964-12-04 | 1968-04-23 | Ibm | Microprogrammed addressing control system for a digital computer |
US3445818A (en) * | 1966-08-01 | 1969-05-20 | Rca Corp | Memory accessing system |
US3634883A (en) * | 1969-11-12 | 1972-01-11 | Honeywell Inc | Microinstruction address modification and branch system |
US3659275A (en) * | 1970-06-08 | 1972-04-25 | Cogar Corp | Memory correction redundancy system |
US3691538A (en) * | 1971-06-01 | 1972-09-12 | Ncr Co | Serial read-out memory system |
JPS5240804B2 (de) * | 1972-01-11 | 1977-10-14 | ||
JPS4895747A (de) * | 1972-03-21 | 1973-12-07 | ||
IT951233B (it) * | 1972-04-07 | 1973-06-30 | Honeywell Inf Systems | Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche |
US3760369A (en) * | 1972-06-02 | 1973-09-18 | Ibm | Distributed microprogram control in an information handling system |
US3829846A (en) * | 1972-11-15 | 1974-08-13 | Honeywell Inc | Multi-function logic module employing read-only associative memory arrays |
US3958227A (en) * | 1974-09-24 | 1976-05-18 | International Business Machines Corporation | Control store system with flexible control word selection |
US4028678A (en) * | 1975-10-16 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Memory patching circuit |
US4040029A (en) * | 1976-05-21 | 1977-08-02 | Rca Corporation | Memory system with reduced block decoding |
-
1977
- 1977-04-01 US US05/783,532 patent/US4118773A/en not_active Expired - Lifetime
-
1978
- 1978-03-20 CA CA299,262A patent/CA1109967A/en not_active Expired
- 1978-03-25 DE DE2813128A patent/DE2813128C2/de not_active Expired
- 1978-03-31 FR FR7809715A patent/FR2386077A1/fr active Granted
- 1978-03-31 JP JP3691178A patent/JPS53146541A/ja active Granted
- 1978-03-31 GB GB12579/78A patent/GB1603171A/en not_active Expired
- 1978-04-03 AU AU34686/78A patent/AU512882B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE2813128A1 (de) | 1978-10-12 |
GB1603171A (en) | 1981-11-18 |
JPS6114535B2 (de) | 1986-04-19 |
CA1109967A (en) | 1981-09-29 |
JPS53146541A (en) | 1978-12-20 |
US4118773A (en) | 1978-10-03 |
AU3468678A (en) | 1979-10-11 |
FR2386077A1 (fr) | 1978-10-27 |
AU512882B2 (en) | 1980-10-30 |
FR2386077B1 (de) | 1985-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
DE2542751C2 (de) | Datenverarbeitungsanlage | |
DE2846117C2 (de) | Datenprozessor | |
DE2355993C3 (de) | Programmierbare Datenverarbeitungsanlage | |
DE2646162C3 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE3688824T2 (de) | Datenverarbeitungssystem. | |
DE2746505C2 (de) | ||
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE1250659B (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE2744359C2 (de) | ||
DE2551741A1 (de) | Datenverarbeitungseinrichtung | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE1806535B2 (de) | Seriell arbeitende digitale rechenanlage | |
DE3882425T2 (de) | Datenübertragungssteuerungsvorrichtung für Direktspeicherzugriff. | |
DE2336676C3 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
EP0111161B1 (de) | Vorrichtung zur Mikrobefehls-Bereitstellung für mindestens zwei unabhängig arbeitende Funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen Baustein und Verfahren zu ihrem Betrieb | |
DE2744252C2 (de) |
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 |