DE2418921C2 - Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage - Google Patents

Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage

Info

Publication number
DE2418921C2
DE2418921C2 DE2418921A DE2418921A DE2418921C2 DE 2418921 C2 DE2418921 C2 DE 2418921C2 DE 2418921 A DE2418921 A DE 2418921A DE 2418921 A DE2418921 A DE 2418921A DE 2418921 C2 DE2418921 C2 DE 2418921C2
Authority
DE
Germany
Prior art keywords
memory
microinstruction
register
main memory
read
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
DE2418921A
Other languages
English (en)
Other versions
DE2418921A1 (de
Inventor
Ginette Laure Bagnolet Dalmasso
Original Assignee
Compagnie Internationale Pour L'informatique Cii-Honeywell Bull, Paris
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 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull, Paris filed Critical Compagnie Internationale Pour L'informatique Cii-Honeywell Bull, Paris
Publication of DE2418921A1 publication Critical patent/DE2418921A1/de
Application granted granted Critical
Publication of DE2418921C2 publication Critical patent/DE2418921C2/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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Description

Die Erfindung bezieht sich allgemein auf die Datenverarbeitung und insbesondere auf eine Vorrichtung nach dem Oberbegriff des Patentanspruchs 1, für die Anwendung der Mikroprogrammierungstechnik in einem mit einem Hauptspeicher versehenen Prozessor oder anderen Systemen. Eine Vorrichtung dieser Gattung ist aus der DE-OS 20 48 515 bekannt
Bekanntlich besteht die Arbeitsweise eines Prozessors aus der sequentiellen Ausführung von Grundoperationen auf der Ebene von Funktionseinheiten, wie etwa Registern und logischen Netzwerken, sowie von Schaltungen zur Datenübertragung zwischen denselben. Diese Grundoperationen sind gewöhnlich in Folgen organisiert, die beispielsweise ein und demselben Befehl entsprechen, und werden im Verlauf von mehreren aufeinanderfolgenden Grundzyklen unter der Kontrolle von Leitwerken ausgeführt, die entweder in verdrahteter Form oder durch die Verwendung der Mikroprogrammierungstechnik verwirklicht sein können.
Diese Technik, die eine große Konzeptions- und Betriebsanpassungsfähigkeit ermöglicht, besteht darin, die Leitwerke mittels eines Steuerspeichers zu verwirklichen, der während jedes Grundzyklus ein als Mikrobefehl bezeichnetes Leitwort liefert, das einerseits die durch bestimmte Funktionseinheiten auszuführenden Grundoperationen angibt und andererseits die Informationen enthält, die für die gegebenenfalls bedingte Berechnung der Adresse des folgenden Mikrobefehls erforderlich sind. Der Inhalt eines solchen Steuerspeichers, der aus einer organisierten Folge von solchen Mikrobefehlen besteht, wird als ein Mikroprogramm bezeichnet
Die Steuerspeicher sind am Anfang aus Festwertbzw. Lesespeichern gebildet worden, deren Inhalt nicht modifiziert werden kann. Die Betriebsart und der Anwendungsbereich eines mit Hilfe von solchen festen Steuerspeichern mikroprogrammierten Prozessors waren folglich »festgefahren«. Zur Beseitigung dieses Nachteils erwachte schnell Interesse an einer Ausnutzung des technologischen Fortschritts, insbesondere hinsichtlich integrierter Schaltungen, um die Mikroprogramme in veränderbaren Speichern einzuschreiben, deren Inhalt gemäß der Konfiguration des Systems, der Verarbeitungsbedürfnisse oder der vorgesehenen Anwendung zwar beliebig modifiziert werden kann, deren Kapazität jedoch notwendigerweise gering ist. Infolgedessen ergaben sich zwei Lösungsmöglichkeiten:
— Verwenden eines einzigen Steuerspeichers, der einerseits einen festen Teil zum Aufnehmen des die Anfangsladung ermöglichenden Mikroprogramms b5 und andererseits einen veränderbaren Teil enthält, der während der Initialisierung die der auszuführenden Verarbeitung entsprechenden Mikroprogramme aufnimmt;
— oder aber, in einem Prozessor, der einen Hauptspeicher aufweist, einen Teil dieses Hauptspeichers zum Speichern von Erweiterungen von Mikroprogrammen zu verwenden, die selbst im Festwertspeicher gespeichert sind.
Bei der hier beschriebenen Vorrichtung wird die zweite Lösung angewendet, und zwar unter Bedingungen, die geeignet sind, gewisse Nachteile zu beseitigen, die ähnlichen vorbekannten Ausführungsformen eigen sind.
Unter diesen Nachteilen ist der Hauptnachteil der, daß die im Hauptspeicher gespeicherten Mikroprogramme verhältnismäßig langsam ausgeführt werden. Dieser Speicher hat nämlich meistens aufgrund seiner Kapazität und seiner Technologie eine Zyklusdauer, die deutlich größer ist als die Dauer des Grundzyklus des Prozessors, in welchem vor allem schnelle aktive Bauteile verwendet werden. Im übrigen erfolgt der Zugriff auf einen in einem bestimmten Speicherplatz des Hauptspeichers gespeicherten Mikrobefehl ebenso wie der Zugriff auf Daten, die in anderen Speicherplätzen gespeichert sind, durch die Ausführung eines Mikrobefehls, der selbst in dem Festwertspeicher gespeichert ist. Daraus folgt, daß dia Ausführung eines im Hauptspeicher gespeicherten Mikrobefehls den A.blauf mehrerer Maschinenzyklen verlangt, die ihrerseits durch die Tätigkeit des Hauptspeichers verlängert werden. Insgesamt ergibt sich daraus eine sehr langsame Ausführung.
Überdies werden die im Festwertspeicher und im Hauptspeicher enthaltenen Mikroprogramme weder in derselben Weise gespeichert noch in derselben Weise ausgeführt und insbesondere verhalten sie sich im Fall einer Verzweigung oder Unterbrechung nicht gleich. Daraus läßt sich folgern, daß ein für den Festwertspeicher geschriebenes Mikroprogramm nicht unverändert im Hauptspeicher gespeichert werden kann, und umgekehrt, was für die Neukonfiguration des Systems ernste Probleme mit sich bringt.
Aus der DE-OS 14 99 182 ist es bereits bekannt, für einen Hauptspeicher und für einen HilfsSpeicher gemeinsam nur eine Eingangsstufe und eine Ausgangsstufe zu verwenden.
Die Erfindung hat zur Aufgabe, eine Vorrichtung zu schaffen, mit der ein schneller Zugriff auf Mikroprogramme möglich ist, die im Hauptspeicher und im Festwertspeicher einer Datenverarbeitungsanlage gespeichert sind.
Diese Aufgabe wird bei der Vorrichtung der eingangs genannten Art durch die kennzeichnenden Merkmale des Patentanspruchs 1 gelöst.
Durch die erfindungsgemäße Vorrichtung wird es einerseits ermöglicht, daß ein und dasselbe Mikroprogramm in gleicher Weise im Festwertspeicher oder im Hauptspeicher, gemäß der Konfiguration des Systems, gespeichert werden kann, und daß andererseits die größtmögliche Schnelligkeit für die Ausführung eines im Hauptspeicher gespeicherten Mikroprogramms sichergestellt ist, so daß die relative Verlängerung der Ausführungszeit eines solchen Programms nur von dem Verhältnis der Zykluszeiten des Hauptspeichers und des Festwertspeichers abhängt, die durch deren jeweilige Technologien bedingt sind. Dabei stellen sich alle Mikrobefehle, die gemäß ihren jeweiligen Adressen aus dem einen oder anderen der Speicher gelesen werden, nicht nur in identischer Form dar, sondern sie werden auch in ein und dasselbe Register geladen und demzufolge unter denselben Bedingungen ausgeführt. Der einzige Unterschied bei der Ausführung von Mikrobefehlen, die aus dem einen oder anderen Speicher stammen, rührt folglich von den ungleichen Zykluszeiten der beiden Speicher her.
Bei einer bevorzugten Ausführr.ngsform der Vorrichtung nach der Erfindung umfassen dae Torschaltungen eine bistabile Kippschaltung, die dem Mikrobefehlsadreßregister zugeordnet ist und die gemäß dem Inhalt dieses Registers in den einen oder andertn ihrer stabilen ίο Zustände umgeschaltet wird, und Torschaltungen, insbesondere UND-Schaltungen, die die genannten Verbindungen steuern und die gemäß dem Zustand der Kippschaltung wahlweise in den Durchlaßzustand gebracht oder gesperrt gehalten werden.
Diese derart aufgebauten Torschaltungen enthalten folglich nur einfache und sichere aktive Schaltungen, die leicht an die verwendete Übertragnngsart angepaßt werden können und die insbesondere sehr schnell umschalten, so daß ihr Vorhandensein das System kaum kompliziert und die Zykluszeiten nicht wesentlich belastet.
Zur Vermeidung jeder Beeinflussung zwischen dem normalen Betrieb des Hauptspeichers und der Ausführung eines Mikrobefehls, der das Eingreifen dieses Speichers verlangt, enthalten die Torschaltungen vorteilhafterweise einen Decoder, der dem Mikrobefehlsregister zugeordnet ist und der, wenn der in dem Mikrobefehlsregister enthaltene Befehl eine Operation des Hauptspeichers verlangt, Torschaltungen, wie etwa UND-Schaltungen, erregt, die auf diese Weise in den Durchlaßzustand gebracht werden, damit der Hauptspeicher mit seinen eigenen Adreß- und Eingabe/Ausgabe-Registern in Verbindung gebracht wird.
Ein Ausführungsbeispiel der Erfindung wird nun unter Bezugnahme auf die Zeichnung näher beschrieben. In der Zeichnung zeigt
F i g. 1 das Blockschaltbild einer Vorrichtung zum Speichern von Mikroprogrammen, und
F i g. 2 bis 5 Zeitdiagramme zur Erläuterung verschiedener Betriebsfälle der Vorrichtung von F i g. 1.
Das Blockdiagramm von F i g. 1 zeigt schematisch die Bauteile und die Schaltungen einer Mikroprogrammierungsvorrichtung, die in einen Prozessor eingebaut ist, von dem lediglich diejenigen Funktionseinheiten dargestellt sind, die direkt mit der Erfindung in Beziehung stehen. Es ist jedoch selbstverständlich, daß die Konfiguration dieses Prozessors zusätzlich zu den dargestellten und beschriebenen Funktioinseinheiten mindestens eine Logik- und Recheneinheit, eine Eingabe- und Ausgabeeinheit, die periphere Einrichtungen steuert, und eine Steuereinheit aufweist, die Arbeitsweise der Gesamtheit dieser Funktionseinheiten koordiniert.
!n Fig. 1 stellt der Block 10 den Hauptspeicher MC des Prozessors dar, der notwendigerweise adressierbar und veränderbar ist, der aber in beliebiger Technologie aufgebaut ist, beispielsweise mit Ringkernen, mit Magnetdrähten oder sogar mit integrierten Schaltungen. Dieser Hauptspeicher wird normalerweise verwendet zum Speichern von Informationen, wie etwa den Betriebs- und Arbeitsprogrammen, den zu verarbeitenden Daten und den Zwischenergebnissen, und zum Sicherstellen sämtlicher verlangten Informationsaustauschvorgänge mit den anderen Einheiten des Prozessors. Die Blöcke 11 und 12 stellen zwei Register dar, die zu diesem Zweck dem Hauptspeicher MCzugeordnet sind. Das erste Register 11, bei welchem es sich um ein Speicheradreßregister RAM handelt, ist mit den Auswahlschaltungen CSdes Hauptspeichers verbunden und ent-
hält die Adresse des Speicherplatzes in dessen Speicherzone ZE, auf welche der Zugriff erfolgen soll. Dieses Register ist folglich mit dem Speicher nur über eine einzige Verbindungsleitung 13 verbunden, die nur in einer Richtung wirksam ist. Das zweite Register 12, bei 5 welchem es sich um ein Eingabe/Ausgabe-Register RES handelt, ist mit der Speicherzone ZE des Speichers durch zwei Verbindungsleitungen 14,15 verbunden, die das Eingeben einer vorher in das Register geladenen Information in den Speicher bzw. das Speichern einer aus dem Speicher gelesenen Information in dem Register ermöglichen.
Der Block 20 stellt einen Festwertspeicher MF dar, der zwar adressiert, jedoch nicht gelöscht werden kann, d. h. einen Lesespeicher, der beispielsweise aus verdrahtcten Einrichtungen gebildet ist. Jeder Speicherplatz der Speicherzone ZE dieses Festwertspeichers MF enthält einen Mikrobefehl, d. h. ein Leitwort, das einerseits eine Gesamtheit von Grundoperationen festlegt, die durch ordnungsgemäß identifizierte Grundfunktionseinheiten des Prozessors auszuführen sind, und das andererseits die Informationen, die für das Berechnen der Adresse des folgenden Mikrobefehls erforderlich sind, und/oder die für das Treffen einer Entscheidung erforderlichen Informationen enthält, beispielsweise im Hinblick auf eine Verzweigung, einen Test oder das Ingangsetzen einer Schleife oder eines Teilprogramms. Der Festwertspeicher MF enthält folglich geordnete Folgen von solchen Mikrobefehlen, die ebensoviele Mikroprogramme bilden, welche durch den Prozessor bei dem Aufruf der Befehle des Arbeitsprogramms selektiv ausgeführt werden müssen.
Die Blöcke 21 und 22 stellen zwei Register dar, die zu diesem Zweck dem Festwertspeicher MF zugeordnet sind. Das erste Register 21, bei welchem es sich um ein Mikrobefehlsadreßregister RMP handelt, ist mit den Auswahlschaltungen CS des Festwertspeichers verbunden und enthält die Adresse des Mikrobefehls, auf welchen der Zugriff erfolgen soll. Das Register 21 ist folglich mit dem Festwertspeicher nur über eine einzige Verbindungsleitung 23 verbunden, die nur in einer Richtung wirksam ist. Das zweite Register 22, bei welchem es sich um ein Mikrobefehlsregister RMI handelt, ist mit der Speicherzone ZE des Festwertspeichers MF durch eine einzige Verbindungsleitung 24 verbunden, die nur in einer Richtung wirksam ist und die das Laden des aus dem Speicher MFgelesenen Mikrobefehls in das Register ermöglicht.
Die soeben beschriebenen Funktionseinheiten und ihre Beziehung untereinander sind bekannt und werden deshalb nicht näher beschrieben.
Die Anordnung enthält vor allem eine erste Verbin dungsleitung 31, die den Ausgang des Mikrobefehisadreßregisters RMP mit den Auswahlschaltungen CS des Hauptspeichers MC verbindet, eine zweite Verbindungsleitung 32, die den Ausgang der Speicherzone ZE des Hauptspeichers MC mit dem Eingang des Mikrobefehlsregisters RMI verbindet, und eine Speicherauswahlkippschaltung SM. die dem Mikrobefehlsadreßregister RMP zugeordnet ist, damit verschiedene Torschaltungen gesteuert werden, die in die genannten Verbindungsleitungen eingefügt sind.
Mehr ins einzelne gehend betrachtet sind die beiden Verbindungsleitungen 13, 31, die von dem Speicheradreßregister RAM bzw. dem Mikrobefehlsadreßregister RMP ausgehen, mit dem Eingang der Auswahlschaltungen CS des Hauptspeichers MC durch ODER-Schaltungen 33 verbunden, die durch ein Dreieck dargestellt sind. Ebenso sind die beiden Verbindungsleitungen 24, 32, die von den Speicherzonen ZE des Hauptspeichers MCbzw.dem Festwertspeicher MFausgehen, mit dem Eingang des Mikrobefehlsregisters RMI durch ODER-Schaltungen 34 verbunden. Die Speicherauswahlkippschaltung SM besteht aus einer bistabilen Schaltung, die, je nach dem, ob ihr Steuereingang ein Signal empfängt oder nicht, in den erregten Zustand gebracht oder in den Ruhezustand zurückgebracht wird, bei welchen an ihrem Ausgang »1« bzw. an ihrem Ausgang »0« ein Signal vorhanden ist. Es wird angenommen, daß dieses Steuersignal nicht vorhanden (»falsch«) ist, wenn das Mikrobefehlsadreßregister RMP eine Adresse des Festwertspeichers enthält, und, umgekehrt, vorhanden (»wahr«) ist, wenn das Register RMP eine Adresse des Hauptspeichers enthält.
Unter dieser Annahme ist der Ausgang »0« der Speicherauswahlkippschaltung SM mit UND-Schaltungen 35 — dargestellt durch einen Kreis — verbunden, die die Verbindungsleitung 24 zwischen dem Festwertspeicher und dem Mikrobefehlsregister RMI kontrollieren. Wenn das Mikrobefehlsadreßregister RMPe'ine Adresse des Festwertspeichers enthält und an dem Ausgang »0« der Kippschaltung SM demzufolge ein Signal vorhanden ist, ermöglichen die in den Durchlaßzustand gebrachten Torschaltungen 35 die Übertragung des an dem bezeichneten Speicherplatz des Festwertspeichers gespeicherten Mikrobefehls über die Verbindungsleitung 24 in das Mikrobefehlsregister RMI.
Der Ausgang »1« der Speicherauswahlkippschaltung SMist seinerseits mit UND-Schaltungen 36,37 verbunden, die die Verbindungsleitung 31 zwischen dem Mikroprogrammierungsregister RMP und den Auswahlschaltungen CS des Hauptspeichers MC bzw. die Verbindungsleitung 32 zwischen der Speicherzone ZE des Hauptspeichers MC und dem Mikrobefehlsregister RMI kontrollieren. Wenn das Mikrobefehlsadreßregister RMP eine Adresse im Hauptspeicher enthält und wenn demzufolge an dem Ausgang »1« der Kippschaltung SM ein Signal vorhanden ist, so ermöglichen die in den Durchlaßzustand gebrachten Torschaltungen 36 die Übertragung dieser Adresse in den Hauptspeicher durch die Verbindungsleitung 31, während die ebenfalls in den Durchlaßzustand gebrachten Torschaltungen 37 die Übertragung der in dem Speicher an dieser Adresse gelesenen Information durch die Verbindungsleitung 32 in das Mikrobefehlsregister RMI ermöglichen.
Die Anordnung 30 ermöglicht deshalb, in das Register RMI Informationen zu laden, die entweder aus dem Festwertspeicher MFoder aus dem Hauptspeicher MC gelesenen worden sind. Eine Zone des Hauptspeichers kann demzufolge für die Einspeicherung von Mikrobefehlen bestimmt werden, die sich in demselben Format darstellen wie die in dem Festwertspeicher MF gespeicherten Informationen. Demgemäß können die Mikrobefehle des einen oder anderen Ursprungs genau unter denselben Bedingungen ausgeführt werden, wobei der einzige Unterschied von der ungleichen Dauer der Zyklen des Zugriffes auf die im Festwertspeicher und im Hauptspeicher gespeicherten Mikrobefehle herrührt die ihren Grund in den verschiedenen Technologien dieser Speicher hat.
Das bedeutet, daß die Anordnung 30 das Verwenden des Hauptspeichers MC für die Speicherung von Erweiterungen der Mikroprogramme ermöglicht, die in dem Festwertspeicher MF enthalten sind, und sogar von getrennten Mikroprogrammen, die gemäß der Konfiguration und der Verwendung des Prozessors modifiziert
werden können.
Damit diese Funktion des Hauptspeichers MC nicht seinen normalen Betrieb beeinflußt und damit die Ausführung der Mikrobefehle möglich ist, die eine Operation in demselben Hauptspeicher einschließen, ist die s Anordnung 30 mit zusätzlichen Funktionseinheiten verschen, nämlich mit: UND-Schaltungen 38, 39, die die Verbindungsleitungen 13 bzw. 14 zwischen dem Hauptspeicher MC und seinem Adreßregister RAM bzw. seinem Eingabe/Ausgabe-Register RES kontrollieren, sowie mit einem Decoder DEC, der dem Mikrobefehlsregister RMI zugeordnet ist und an dessen Ausgang nur ein Signal vorhanden ist, wenn dieses Register einen Mikrobefehl enthält, dessen Ausführung das Eingreifen des Hauptspeichers MCeinschUeßt. Die Torschaltungen 38.39 sind direkt mit dem Ausgang des Decoders DEC verbunden, den eine NICHT-Schaltung / mit den Torschaltungen 36 verbindet, die die Verbindungsleitung 31 zwischen dem Mikrobefehlsadreßregister RMP und dem Hauptspeicher MC kontrollieren, jeder Mikrobefehl, der eine Operation im Hauptspeicher MC einschließt, setzt so diesen Hauptspeicher mit seinem Adreßregister RAM und seinem Eingabe/Ausgabe-Register RES in Verbindung, aber trennt gleichzeitig den Hauptspeicher von dem Mikrobefehlsadreßregister RMP. Die Kippschaltung SM und der Decodierer DEC sichern folglich die Inkompatibilität der Adressierung und des Lesens der beiden Speicher von dem Mikrobefehlsadreßregister RMPaus bzw. zu dem Mikrobefehlsregister RMI hin.
Schließlich wird eine Kippschaltung NCV(Nulloperation) normalerweise durch den Ausgang »0« der Kippschaltung SM im Ruhezustand gehalten und durch das Register RMI erregt, wenn dieses Register einen Mikrobefehl enthält, dessen Ausführung eine Hauptspeicheroperation ΦΜ beinhaltet. Die auf diese Weise erregte Kippschaltung /VOPhat die Aufgabe, den Decoder DEC während des folgenden Ausführungszyklus der genannten Operation zu sperren.
Nachdem somit der Aufbau und die Arbeitsweise der Mikroprogrammierungsvorrichtung beschrieben worden sind, wird nun ihre Betriebsweise unter Bezugnah- ■ me auf die Zeitdiagramme in den F i g. 2 bis 5 beschrieben.
In jedem dieser Diagramme, in welchen die Zeit t in der Zeichnung von links nach rechts abläuft, bezeichnet eine erste Zeile den jeweiligen Zyklus, während die beiden folgenden Zeilen den in der Ausführung befindlichen Mikrobefehl, der in dem Register RMI enthalten ist, bzw. die Mikrobefehlsadresse angeben, die in dem Mikrobefehlsadreßregister RMP enthalten ist. Die drei letzten Zeilen geben schließlich die verschiedenen Aufgaben an, die durch den Prozessor unter der Steuerung des in der Ausführung befindlichen Mikrobefehls ausgeführt werden, nämlich die Durchführung der entsprechenden Mikrofunktion, das Lesen des folgenden Mikrobefehls und die Berechnung der Adresse des nachfolgenden Mikrobefehls. Es werden folgende Fälle unterschieden:
Fall A(Fig. 2)
60
Das Mikroprogramm ist im Festwertspeicher gespeichert (SM= 0).
Während des Zyklus Centhält das Register RMIden in der Ausführung befindlichen Mikrobefehl [nj und das Register RMP enthält die Adresse n+l des folgenden Mikrobefehls. Der Prozessor führt die Mikrofunktion pF(n)aus, die durch den Mikrobefehl/n/angeordnet ist, und berechnet die Adresse des nachfolgenden Mikrobefehls π+2.
Am Ende des Zyklus C wird der aus dem Festwertspeicher (SM=Q) gelesene Mikrobefehl [n+\] in das Register RMI geladen, während die berechnete Adresse η+ 2 in das Register /?MPgeladen wird.
Im Verlauf des Zyklus C+ 1 werden dieselben Operationen mit Inkrementierung der Adressen- und Mikrobefehlsstellen um eine Einheit wiederholt.
Die Dauer Γ jedes Zyklus ist gleich der Zugriffszeit auf den Festwertspeicher, die langer ist als die Ausführungszeit eines Mikrobefehls.
Fall A'(F ig. 3)
Gleicht dem Fall A, aber der während des Zyklus C ausgeführte Mikrobefehl /w/löst eine Verzweigung aus.
Während des Zyklus C wird die durch den in dem Register RMi enthaltenen Mikrobefehl [n] angegebene Verzweigung ausgeführt, oder mit anderen Worten, der Prozessor berechnet die Adresse B, zu welcher das Mikroprogramm verzweigt werden muß. Gleichzeitig wird in dem Festwertspeicher (SM=Q) der folgende Mikrobefehl gelesen, dessen Adresse n+l in dem Register ÄMPenthalten ist.
Am Ende dieses Zyklus C wird der aus dem Festwertspeicher gelesene Mikrobefehl [n+\] in das Register RMl geladen, während die berechnete Adresse B in das Register RMPgeladen wird.
Im Verlauf des Zyklus C+1 wird der Mikrobefehl /jrj+l] ausgeführt, der Inhalt des Festwertspeichers an der Adresse B wird gelesen und die nachfolgende Adresse wird durch den Prozessor berechnet.
Am Ende des zweiten Zyklus wird der Inhalt [B]dieser Adresse in das Register RMI geladen, während die berechnete Adresse B+1 in das Register RMPgeladen wird.
Das Verzweigungsverfahren schließt folglich die Ausführung des folgenden Mikrobefehls ein, der beispielsweise die Aufbewahrung von Zwischenergebnissen steuern kann.
Fall B(Fig.4)
Das Mikroprogramm ist im Hauptspeicher ^SAf=I) gespeichert, die ausgeführten Mikrobefehle schließen keine Operation im Speicher ein (ΦΜ=0).
Das Verfahren läuft genau in derselben Weise wie in dem Fall A ab, mit dem einzigen Unterschied, daß die Mikrobefehle im Hauptspeicher MC gelesen werden und daß die Zugriffszeit des Hauptspeichers die Dauer T jedes Zyklus auf einen Wert festlegt, der größer als der Wert 7"ist, den man für das Lesen aus dem Festwertspeicher erhält.
Fall B'(für Speicher)
Ähnlich wie der Fall B, aber der während des Zyklus K ausgeführte Mikrobefehl [n] steuert eine Verzweigung.
Das Verfahren ist mit dem des Falles A' identisch, mit dem einzigen Unterschied der Zyklusdauer T'.
Aus diesen beiden Fällen geht klar hervor, daß ein gemäß der Erfindung gespeichertes und ausgeführtes Mikroprogramm nicht in derselben Weise ausgeführt werden wird, wenn es entweder im Festwertspeicher oder im Hauptspeicher gespeichert ist und insbesonde-
re wird es sich im Fall einer Verzweigung oder einer Unterbrechung, die während einer Maskierung oder Demaskierung vorkommt, nicht in identischer Weise verhalten. Der einzige Unterschied rührt von den in den beiden Fällen erhaltenen Leistungen her, die in demselben Verhältnis T/T' stehen wie die Zyklusdauern und folglich wie die Zugriffszeiten auf den Festwertspeicher und auf den Hauptspeicher.
Fall B"(Fig. 5)
Ähnlich wie Fall B, aber der auszuführende Mikrobefehl schließt eine Speicheroperation ΦΜ ein (der Decoder DECist erregt).
In diesem Fall, in welchem ein auszuführender Mikrobefehl ein Operationsmikrotyp ist, der einen Lese- oder Schreibzyklus im Hauptspeicher verlangt, weicht das Diagramm von den vorhergehenden ab und enthält einen zusätzlichen Zyklus.
Während des Zyklus K enthält das Register RMIden Mikrobefehl [n], dessen Ausführung einen Zyklus des Hauptspeichers MC steuert, und der Inhalt des Registers RAM wird durch den Decoder DEC zu den Auswahlschaltungen CS des Speichers hin verzweigt, die von dem Register RMP getrennt sind. Wenn es sich um einen Schreibzyklus handelt, wird der Inhalt des Registers RES in den Speicher zu der durch das Register RAM angegebenen Adresse übertragen. Wenn es sich um einen Lesezyklus handelt, wird der Inhalt des Speichers an derselben Adresse in das Register RES übertragen.
An dem Ende des Zyklus K, in dessen Verlauf keine Adressenberechnung ausgeführt werden kann, bleibt der Inhalt n+\ des Mikrobefehlsadreßregisters RMP folglich unverändert, so daß der entsprechende Befehl [n+1] nur im Verlauf des Zyklus K+1 gelesen und im Verlauf des Zyklus K + 2 ausgeführt wird. Andererseits liefert die erregte Kippschaltung NOP ein Ausgangssignal, welches den Decoder DEC sperrt, so daß während des Zyklus K+\ durch den Prozessor keine Funktion ausgeführt wird.
In diesem besonderen Fall verlangen die Ausführung des Mikrobefehls [π], der einen Zyklus im Hauptspeicher verlangt, und der Zugriff auf den folgenden Mikrobefehl folglich zwei aufeinanderfolgende Zyklen, während ein einziger gereicht hätte, wenn das Mikroprogramm in dem Festwertspeicher MFgespeichert gewesen wäre.
Dieser Fall kommt indessen in einem Mikroprogramm nur ganz selten vor (seine relative Frequenz beträgt ungefähr 10%) und ändert demzufolge die Leistungen des Prozessors nicht wesentlich. Andererseits hemmt dieser Fall nicht den sequentiellen Ablauf des im Hauptspeicher gespeicherten Mikroprogramms und verändert nicht dessen Verhalten während einer Unterbrechung, da ein Mikrobefehl, der eine Operation im Speicher verlangt, nicht die Unterbrechungsmasken beeinflußt
Hierzu 2 Blatt Zeichnungen
65

Claims (6)

  1. Patentansprüche:
    !.Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage mit einem Hauptspeicher und einem Steuerspeicher, wobei die Mikroprogramme in einem Festwertspeicher und einem Teil des Hauptspeichers gespeichert sind, gekennzeichnet durch ein von dem Hauptspeicher (10) und von dem Festwertspeicher (20) gemeinsam verwendetes Mikrobefehlsadreßregister (21), dessen Ausgang mit den Auswahlschaltungen (CS) des Festwertspeichers (20) und den Auswahlschaltungen (CS)des Hauptspeichers (10) verbunden ist, durch ein ebenfalls von dem Hauptspeicher und dem Festwertspeicher (20) gemeinsam verwendetes Mikrobefehlsregister (22), dessen Eingang mit dem Ausgang des· Festwertspeichers (20) und mit dem Ausgang des Hauptspeichers (10) verbunden ist, und durch Torschaltungen (35, 36, 37), die in Abhängigkeit von dem Inhalt des Mikrobefehlsregisters (22) selektiv umgeschaltet werden und so aufgebaut sind, daß die Verbindungen einerseits zwischen dem Mikrobefehlsadreßregister (21) und dem betreffenden Speicher (10 oder 20) und andererseits zwischen dem Ausgang dieses Speichers und dem Mikrobefehlsregister (22) durchgehend gemacht werden und daß die Mikrobefehle in dem Hauptspeicher (10) und in dem Festwertspeicher (20) in demselben Format gespeichert sind.
  2. 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Torschaltungen (35, 36, 37) von einem, dem Mikrobefehlsadreßregister (21) zugeordneten Flipflop gesteuert worden und somit die Torschaltungen (35,36,37), z. B. UND-Schaltungen, die Verbindungen gemäß dem Zustand des Flipflops wahlweise in den Durchlaßzustand gebracht oder gesperrt gehalten werden.
  3. 3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß eine erste Torschaltung (35), die zwischen den Ausgang des Festwertspeichers (20) und das Mikrobefehlsregister (22) eingefügt ist, im Durchlaßzustand gehalten wird, wenn sich das Flipflop in einem ersten Zustand befindet, während eine zweite und eine dritte Torschaltung (36 bzw. 37), die zwischen das Mikrobefehlsadreßregister (21) und die Auswahlschaltungen des Hauptspeichers (10) bzw. zwischen den Ausgang des Hauptspeichers (10) und das Mikrobefehlsregister (22) eingefügt sind, in den Durchlaßzustand gebracht werden, wenn das iFlipflop in den anderen Zustand gebracht wird.
  4. 4. Vorrichtung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß das Flipflop in dem Ruhezustand gehalten oder in den erregten Zustand gebracht wird, je nach dem, ob das Mikrobefehlsadreßregister (21) eine Adresse im Festwertspeicher (20) oder im Hauptspeicher (10) enthält.
  5. 5. Vorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß eine erste ODER-Verknüpfung (33), durch welche die Auswahlschaltungen des Hauptspeichers (10) einerseits mit dem Adreßregister (11) des Hauptspeichers (to) und andererseits mit dem Mikrobefehlsadreßregister (21) verbunden werden, und eine zweite ODER-Verknüpfung (34), durch welche das Mikrobefehlsregister (22) mit den Ausgängen des Festwertspeichers (20) bzw. des Hauptspeichers (10) verbunden wird, vorgesehen ist.
  6. 6. Vorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß ein Decoder (OEC) vorgesehen ist, der dem Mikrobefehlsregister (22) zugeordnet ist und, wenn der in dem Mikrobefehlsregister (22) enthaltene Befehl eine Operation des Hauptspeichers (10) verlangt, Torschaltungen (35, 36, 37) in den Durchlaßzustand bringt, damit der Hauptspeicher (10) mit seinen eigenen Adreß- und Eingabe/Ausgabe-Registern in Verbindung gebracht wird.
DE2418921A 1973-04-19 1974-04-19 Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage Expired DE2418921C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7314402A FR2226901A5 (de) 1973-04-19 1973-04-19

Publications (2)

Publication Number Publication Date
DE2418921A1 DE2418921A1 (de) 1974-11-07
DE2418921C2 true DE2418921C2 (de) 1985-08-08

Family

ID=9118276

Family Applications (2)

Application Number Title Priority Date Filing Date
DE2418921A Expired DE2418921C2 (de) 1973-04-19 1974-04-19 Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage
DE19742463116 Pending DE2463116A1 (de) 1973-04-19 1974-04-19

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE19742463116 Pending DE2463116A1 (de) 1973-04-19 1974-04-19

Country Status (6)

Country Link
US (1) US3964027A (de)
JP (1) JPS5917458B2 (de)
DE (2) DE2418921C2 (de)
FR (1) FR2226901A5 (de)
GB (1) GB1455905A (de)
IT (1) IT1019607B (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT993428B (it) * 1973-09-26 1975-09-30 Honeywell Inf Systems Unita di controllo di calcolatore microprogrammato con microprogram mi residenti in memoria e sovrap posizioni delle fasi interpretati ve di una microistruzione con la fase esecutiva della precedente microistruzione
IT993427B (it) * 1973-09-26 1975-09-30 Honeywell Inf Systems Unita di controllo di calcolatore microprogrammata con possibilita di passaggio dinamico da microsequenze residenti in una ros a micro sequenze residenti nella memoria principale e viceversa
JPS5440052A (en) * 1977-09-06 1979-03-28 Toshiba Corp Information process system
US4155120A (en) * 1977-12-01 1979-05-15 Burroughs Corporation Apparatus and method for controlling microinstruction sequencing by selectively inhibiting microinstruction execution
US4266272A (en) * 1978-10-12 1981-05-05 International Business Machines Corporation Transient microcode block check word generation control circuitry
US4366540A (en) * 1978-10-23 1982-12-28 International Business Machines Corporation Cycle control for a microprocessor with multi-speed control stores
JPS5556255A (en) * 1978-10-23 1980-04-24 Ibm Data processing system
DE3138971A1 (de) * 1981-09-30 1983-04-21 Siemens AG, 1000 Berlin und 8000 München Mikroprogrammiertr prozessor und verfahren zu seinembetrieb
EP0218335A3 (de) * 1985-08-30 1989-03-08 Advanced Micro Devices, Inc. Steuerspeicher eines elektronischen Rechners
US4825356A (en) * 1987-03-27 1989-04-25 Tandem Computers Incorporated Microcoded microprocessor with shared ram
JPH0695875A (ja) * 1991-01-09 1994-04-08 Mitsubishi Electric Corp マイクロコンピュータのメモリアクセス方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1124017A (en) * 1964-12-17 1968-08-14 English Electric Computers Ltd Data storage apparatus
US3646522A (en) * 1969-08-15 1972-02-29 Interdata Inc General purpose optimized microprogrammed miniprocessor
BE757967A (fr) * 1969-10-25 1971-04-23 Philips Nv Memoire pour microprogramme
DE2015272A1 (de) * 1970-03-31 1971-10-21 Siemens Ag Programmleitwerk für eine digitale Datenverarbeitungsanlage
BE795789A (fr) * 1972-03-08 1973-06-18 Burroughs Corp Microprogramme comportant une micro-instruction de recouvrement
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

Also Published As

Publication number Publication date
GB1455905A (de) 1976-11-17
IT1019607B (it) 1977-11-30
US3964027A (en) 1976-06-15
DE2418921A1 (de) 1974-11-07
FR2226901A5 (de) 1974-11-15
DE2463116A1 (de) 1982-09-23
JPS5917458B2 (ja) 1984-04-21
JPS5014244A (de) 1975-02-14

Similar Documents

Publication Publication Date Title
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE3638572C2 (de)
DE2715073C3 (de) Mikroprogrammierte Rechner-Steuervorrichtung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2835095C2 (de) Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE3688232T2 (de) Datenverarbeitungssystem.
DE2418921C2 (de) Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage
DE2145709B2 (de)
DE3501903A1 (de) Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung
DE2227761B2 (de) Speichersystem
DE2854400A1 (de) Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen
DE2759120C2 (de)
DE2108157A1 (de) Datenverarbeitungsanlage mit über lagertem Speicherverkehr
DE3121046A1 (de) Arithmetik-logikeinheit mit bit-manipulation
DE69528824T2 (de) Apparat und verfahren zum erneuern von informationen in einem beschreibbaren mikrokode-kontrollspeicher
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE2359037C2 (de) Rechenanlage
DE2204680C3 (de) Mikroprogramm-Steuereinrichtung
DE2237427C3 (de) Steueranordnung in einer Datenverarbeitungsanlage mit Mikroprogrammsteuerung
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen
DE2442014A1 (de) Verfahren und vorrichtung zur organisation eines steuerspeichers

Legal Events

Date Code Title Description
OGA New person/name/address of the applicant
8110 Request for examination paragraph 44
8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 2463116

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 2463116

8181 Inventor (new situation)

Free format text: DALMASSO, GINETTE LAURE, BAGNOLET, FR

AH Division in

Ref country code: DE

Ref document number: 2463116

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition