DE2813128C2 - Steuereinrichtung für Mikroprogrammspeicher - Google Patents

Steuereinrichtung für Mikroprogrammspeicher

Info

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
Application number
DE2813128A
Other languages
English (en)
Other versions
DE2813128A1 (de
Inventor
Thomas F. Burlington Mass. Joyce
Michel M. Medford Mass. 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 DE2813128A1 publication Critical patent/DE2813128A1/de
Application granted granted Critical
Publication of DE2813128C2 publication Critical patent/DE2813128C2/de
Expired 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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
    • 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/264Microinstruction selection based on results of processing
    • G06F9/265Microinstruction selection based on results of processing by address selection on input of storage
    • 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/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension 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)
  • Communication Control (AREA)
  • Read Only Memory (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.
DE2813128A 1977-04-01 1978-03-25 Steuereinrichtung für Mikroprogrammspeicher Expired DE2813128C2 (de)

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)

* Cited by examiner, † Cited by third party
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
US4432067A (en) * 1981-05-07 1984-02-14 Atari, Inc. Memory cartridge for video game system
US4368515A (en) * 1981-05-07 1983-01-11 Atari, Inc. Bank switchable memory 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)

* Cited by examiner, † Cited by third party
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
US4028679A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with increased capability
US4040029A (en) * 1976-05-21 1977-08-02 Rca Corporation Memory system with reduced block decoding

Also Published As

Publication number Publication date
JPS53146541A (en) 1978-12-20
DE2813128A1 (de) 1978-10-12
JPS6114535B2 (de) 1986-04-19
FR2386077B1 (de) 1985-03-29
GB1603171A (en) 1981-11-18
CA1109967A (en) 1981-09-29
US4118773A (en) 1978-10-03
AU512882B2 (en) 1980-10-30
FR2386077A1 (fr) 1978-10-27
AU3468678A (en) 1979-10-11

Similar Documents

Publication Publication Date Title
DE2813128C2 (de) Steuereinrichtung für Mikroprogrammspeicher
DE2542740C2 (de) Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung
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

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