DE2418921C2 - Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage - Google Patents
Vorrichtung zum Speichern von Mikroprogrammen in einer DatenverarbeitungsanlageInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 6
- 230000015654 memory Effects 0.000 claims description 156
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005281 excited state Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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/268—Microinstruction 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.
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
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)
- 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. 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. 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. 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. 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. 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.
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)
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)
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 |
-
1973
- 1973-04-19 FR FR7314402A patent/FR2226901A5/fr not_active Expired
-
1974
- 1974-04-10 US US05/459,842 patent/US3964027A/en not_active Expired - Lifetime
- 1974-04-12 IT IT21330/74A patent/IT1019607B/it active
- 1974-04-17 GB GB1686274A patent/GB1455905A/en not_active Expired
- 1974-04-19 DE DE2418921A patent/DE2418921C2/de not_active Expired
- 1974-04-19 JP JP49043500A patent/JPS5917458B2/ja not_active Expired
- 1974-04-19 DE DE19742463116 patent/DE2463116A1/de active Pending
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 |