DE2512270A1 - Steuereinheit eines durch mikroprogramme steuerbaren prozessors einer datenverarbeitungsanlage und verfahren zu ihrem betrieb - Google Patents
Steuereinheit eines durch mikroprogramme steuerbaren prozessors einer datenverarbeitungsanlage und verfahren zu ihrem betriebInfo
- Publication number
- DE2512270A1 DE2512270A1 DE19752512270 DE2512270A DE2512270A1 DE 2512270 A1 DE2512270 A1 DE 2512270A1 DE 19752512270 DE19752512270 DE 19752512270 DE 2512270 A DE2512270 A DE 2512270A DE 2512270 A1 DE2512270 A1 DE 2512270A1
- Authority
- DE
- Germany
- Prior art keywords
- microinstruction
- memory
- microprogram
- register
- buffer memory
- 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.)
- Pending
Links
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/24—Loading of the microprogram
-
- 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
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)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
SIEMElTS AKTIElTGESELLSCHAi1T München 2, 2 Ol MRZ 19 7 5
Berlin und München Wittelsbaeherplatz 2
VPA 75 P 2 O 4S BRO - *
2512270
Steuereinheit eines durch Mikroprogramme steuerbaren Prozessors einer Datenverarbeitungsanlage und Verfahren
zu ihrem Betrieb.
Die Erfindung bezieht sich auf eine Steuereinheit eines durch Mikroprogramme steuerbaren Prozessors einer Datenverarbeitungsanlage
mit einem beschreibbaren Mikroprogrammspeicher mit einer gegenüber dea Maschinenzyklus größeren
Zugriffszeit, einem an dessen Auswahl-äingänge angeschlossenen
Adreßregister, einem mit den Informationsausgangen des
Hikroprograoimspeichers verbundenen Mikrobefehlsregister,
einer an dieses angeschlossenen Decodiereinheit, durch die aus einem Mikrobefehl im Mikrobefehlsregistar Steuersignale
für eine Yerarbeitungseinheit des Prozessors ableitbar* sind
und einem zwischen dem Mikrobefehlsregister und dem Adreßregister
angeordneten Sehaltnetz zum Bilden der Adresse des folgenden Mikrobefehls und auf ein Verfahren zu ihrem
Betrieb.
Die Mikroprogrammierung hat als Steuerungsprinzip für
digitale Rechenwerke wegen einer Reihe von Vorteilen ein wachsendes Interesse gefunden. Die Steuersignale für den
mikroprogramragesteuerten Prozessor werden aus Bitmustern
abgeleitet, die in Mikrobefehlsworten zusammengefaßt sind und in Pestwertspeichern oder beschreibbaren Steuerspeichern
abgelegt werden.
Wie Husson in seinem Buch "Microprogramming: Principles and Practices",Prentice Hall 1970, im Kapitel 2.8 ausführt,
ist dieser Mikroprogrammspeicher ein wesentlicher, da meist kostenbestimmender Bestandteil einer Mikroprogrammsteuerung,
Er besitzt durch die Anzahl der Mikrobefehlsworte und der Bits im einzelnen Mikrobefehlswort zwei Dimensionen. Die
TPA 9/210/4070 - 2 -
6098 39/0597
"benötigte Anzahl von Mikrobefehls«orten hängt ab von dem
Umfang und der Komplexität der gewählten Maschinenbefehle, von ihren Formaten, vom Adressierungsmechanismus und von
der Leistungsfähigkeit der Unterbrechungsbehandlung der datenverarbeitenden Anlage.
Die Breite jedes Mikrobefehlswortes bestimmt sich aus dem Umfang des im System möglichen Parallelbetriebes. Je größer
die Anzahl paralleler Datenwege ist, desto mehr unterschiedliche Kontrollfelder benötigt man, diese zu steuern.
Je komplexer die Datenwege selbst sind, desto größer wird
die Anzahl von Steuerleitungen und damit wiederum desto umfangreicher die zugehörigen Kontrollfelder. Ein umfangreicheres
Mikrobefehls™ort schließt βμΐ der anderen Seite
in sich, daß eine größere Anzahl von Punktionen in einem MaschiiBnzyklus bearbeitet werden kann,' so daß sich die
Anzahl der Mikrobefehlsworte reduziert.
Dies deutet bereits eine ganze Reihe von Randbedingungen an, die beim Entwurf und dem Konzept von mikroprogrammierbaren
Prozessoren zu berücksichtigen und nicht allein von der Kostenfrage her bestimmt sind. Der Einfluß technologischer
und funktioneller Randbedingungen auf das Mikrobefehlsforraat ist in "Elektronische Rechenanlagen" 1972,
Heft 1, Seite 28 bis 32, im einzelnen beschrieben. Dort werden nicht nur unterschiedliche Mikrobefehlsstrukturen
zur direkten oder codierten Steuerung des Prozessors erläutert, sondern auch gerade im Zusammenhang mit der zu
wählenden Technologie die Zeitverhältnisse beim Steuerungsablauf im Prozessor betrachtet. Diese sind auf die technologisch
bedingte Speicherzugriffszeit für ein gewähltes Speichermedium und auf die typischen Laufzeiten der für
die benötigten Schaltnetze und Registersätze eingesetzten Schaltkreistechniken zurückzuführen. Um eine leistungsfähige
Steuerung zu erreichen, muß also untersucht werden,
VPA 9/210/4070 - 3 -
60 98 3.9/0 59 7
wie sich die Zeiten für den Maschinenzyklus, den Mikroprogramraspeicherzyklus,
die Mikrobefehlsdecodierung und die Ermittlung der Adresse des Folgemikrobefehls zueinander
verhalten. Diese Verhältnisse sind dann bei der Wahl des Mikrobefehlsformates zu "berücksichtigen.
Der gesamte Zeitaufwand für die .Bearbeitung eines Mikrobefehls
setzt sich bei sequentieller Bearbeitung aus folgenden vier Größen zusammen:
Zugriff zum Mikroprcgrammspeicher und Auslesen des
adressierten Mikrobefehles in ein Mikrobefehlsregister; Decodieren des Inhalts des Mikrobefehlsregisters;
Verknüpfen der vom Mikrobefehl adressierten Registerinhalte in einer Verarbeitungseinheit, d. h. der
eigentliche Maschinenzyklus;
und Bilden der Adresse des nächsten Mikrobefehls.
Laufen diese einzelnen Vorgänge ohne jegliche Überlappung ab, muß die Verarbeitungseinheit nach jedem Maschinenzyklus
warten, bis der nächste Mikrobefehl gelesen und de'codiert ist. In diesem Extremfall sollte das Mikrobefehlsforraat so
ausgelegt sein, daß ein Mikrobefehl entweder einen im Verhältnis zur Zugriffszeit langen oder mehr als einen Maschinensyklus
steuern kann. Praktisch versucht man jedoch, die genannten Vorgänge so -weit wie möglich zu überlappen.
Diesem Versuch sind Grenzen gesetzt, da auch in Mikroprogrammen datenabhängige Verzweigungen möglich sein müssen,
die aber die Bildung der Eolgeadresse zeitlich einschränken.
Ohne auf weitere Einzelheiten näher eingehen zu müssen, ergibt sich daraus bereits eindeutig, daß die Zeitverhältnisse
des Mikroprogrammspeichers das Mikrobefehlsformat beeinflussen. In der genannten Veröffentlichung wird
daraus allgemein folgender Schluß gezogen: Ist der Speicherzyklus langer als ein möglicher Maschinenzyklus, so ist das
Mikrobefehlsformat zu erweitern. Dann kann entweder mit zu-
VPA 9/210/4070 - 4 -
6098 3.9/0b97
sätzlichem Schaltungsaufwand in der Verarbeitungseinheit
in einem Maschinenzyklus mehr verarbeitet werden, so daß
sich der Maschinenzyklus verlängert, oder aber ein Mikrobefehl mehr als einen Maschinenzyklus steuern. Ist dagegen
der Speicherzyklus wesentlich kurzer als ein vorgesehener Maschinenzyklus, sollte das Format der Mikrobefehlsworte
verringert werden, um den Masehinenzyklus zu verkürzen.
Allgemein folgt daraus, daß die Größe des Mikrobefehlswortes und damit der Umfang der Verarbeitung in einem
Masehinenzyklus so an die Technologie, ,d. h. die Geschwindigkeit
des Mikroprogrammspeichers anzupassen ist, daß Mikroprogrammspeicher und Verarbeitungseinheit mit
ungefähr gleichem Zyklus und geeigneter Überlappung arbeiten können, ohne daß eine der beiden Einheiten auf die
andere warten muß.
Dieses allgemeine Prinzip führt im praktischen Pail zu
dem Kompromiß, die Struktur eines mikroprogrammgesteuerten Prozessors nach den Zeitverhältnissen des als Mikroprogratmaspeicher
verwendeten Speichermediums auszurichten. Zweifellos verzichtet man dabei auf die Vorteile von
leistungsfähigeren Prozessoren mit Rücksicht auf "langsamere" Technologien beim verwendeten Speicherraediura.
Speicher und Prozessor sind in diesem Pail derart aufeinander ausgerichtet, daß es kaum sinnvoll erscheint, den
Prozessor auch noch bei künftig zu erwartenden, schnelleren Speichermedien zu verwenden.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Steuereinheit
eines durch Mikroprogramme steuerbaren Prozessors der eingangs genannten Art derart auszubilden, daß die sich
aus der Struktur und dem Aufbau ergebenden Eigenschaften eines modernen Prozessors in bezug auf seine Leistungsfähigkeit
voll auszunutzen sind, d. h. daß die Wahl des Speicher-
VPA 9/210/4070 - 5 -
6098 3 9/0597
25Ί2270
mediums für den beschreiDaren Mikroprogrammspeicher die
Leistungsfähigkeit der gesamten Anlage v;ohl noch mitbestimmt, jedoch nicht mehr ausschlaggebend beeinflußt.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen
des Patentanspruches 1 genannten Merkmale gelöst. Pur den heute praktischen Pail eines "langsamen" Mikroprogramaspeichers
mit einer gegenüber einem möglichen Maschinenzyklus langen Zugriffszeit bedeutet dies folgendes:
Entgegen dem obengenannten allgemeinen Prinzip wird die Maschinenzykluszeit nicht verlängert und damit werden
die sich daraus ergebenden Konsequenzen in bezug auf das Mikrobefehlsformat und den Schaltungsaufwand vermieden.
Die in der einfachen Struktur eines Prozessors mit kurzen Haschinsnzykluszeiten liegenden Vorteile bleiben daher gewahrt.
Man kann deshalb einen derartigen Prozessor später auch mit weiterentwickelten Speichermedien zusammen betreiben
und dann ohne zusätzlichen Aufwand eine höhere Leistung erreichen.
Die Verwendung eines Pufferspeichers für die Mikrobefehle bringt einen Leistungsgewinn, der darauf beruht, daß es in
Mikroprogrammen ebenso wie in Programmen höherer Programmiersprachen Programmteile gibt, die nacheinander mehr als
einmal durchlaufen v/erden. Die einzelnen Mikrobefehle derartiger Programmschleifen werden parallel zu ihrer erstmaligen
Ausführung in einen schnellen Zwischenspeicher eingetragen
und brauchen dann bei jedem weiteren Durchlauf der Schleife nicht mehr aus dem relativ langsamen Mikroprogrammspeicher
gelesen zu v/erden.
Von besonderem Vorteil ist dabei der geringe schaltungstechnjsche
Aufwand für diesen Pufferspeicher und seine Ansteuerung. Er ist wesentlich geringer als der Aufwand, der
"bei einer Verlängerung des Maschinenzyklus durch die Er-
VPA 9/210/4070 , - 6 -
6098 39/0597
Weiterung des Mikrobefehlsformats und - damit verbunden der
Hardware notwendig ist. Ein anderer Vorteil dieser Lösung für das gesamte System ist die damit ebenfalls verbundene Entlastung einer für den Arbeitsspeicher und den
Mikroprogrammspeicher gemeinsamen Schnittstelle, da dann nur während des ersten Schleifendurchlaufs zum Mikroprograramspeicher
zugegriffen werden muß.
Andere Weiterbildungen der Erfindung sind in Unteransprüchen gekennzeichnet.
Ausführungsbeispiele der Erfindung werden im folgenden anhand der Zeichnung näher erläutert. Eg zeigt:
Pig. 1 ein Blockschaltbild eines erfindungsgemäß ausgebildeten, mikroprogrammgesteuerten Prozessors,
Pig. 2 ein allgemeines Beispiel des Steuerungsablaufes
bei der Ausführung eines Mikroprogramms mit mehreren, teilweise ineinander geschachtelten
Programmschleifen,
Pig. 3 die Belegung des Pufferspeichers und den Zustand des diesem zugeordneten Markiernetzwerkes bei der
Ausführung des in Pig. 2 dargestellten Mikroprogramms ,
Pig. 4 und
Pig. 5 zwei zusammenhängende Teile eines Plußdiagrammes, in dem der Steuerungsablauf für das in Fig. 2 dargestellte
Beispiel eines Mikroprogrammes ausführlicher dargestellt ist.
Das Blockschaltbild eines mikroprogrammgesteuerten Prozessors einer datenverarbeitenden Anlage in Pig. 1 besitzt
eine Steuereinheit SE und eine Verarbeitungseinheit VB.
Wegen des funktioneilen Zusammenhanges ist innerhalb der Steuereinheit SE ein beschreibbarer Mikroprogrammspeicher
(Writable Control Memory) WCM angegeben. Dieser Matrixspeicher enthält ζ + 1 Mikrobefehlsworte mit jeweils χ +
VPl 9/210/4070 - 7 -
609839/0 59 7
Bitstellen, die auf Grund des Inhalts eines dein Mikroprogrammspeicher
WON zugeordneten Adreßregisters AR mit b + 1 Bitstellen auswählbar sind. Dessen Länge ergibt
sich somit aus der Beziehung
(1) b = In (z+ 1) .
(1) b = In (z+ 1) .
Die Informationsausgänge des Mikroprogrammspeichers WCM
sind, wie durch einen stark ausgezogenen Datenweg angedeutet ist, parallel mit den Eingängen eines Kikrobefehlsregisters
MBR mit χ + 1 Bitstellen verbunden. An dieses Register ist eine Decodiereinheit DEG zum Umwandeln des
jeweiligen InformationsInhalts des Mikrobefehlsregisters
KBR in Steuersignale angeschlossen, die über Steuersignalleitungen
ST den einzelneil Punkt ions einheit en der ■Verarbeitungseinrichtung
VE zugeführt werden.
In dieser Verarbeitungseinheit VE sind durch Pfeile rein schematisch Datenwege D/I und D/O angegeben, die den
Datenfluß für zu verarbeitende bzw. bereits verarbeitete Daten andeuten. Dafür notwendige Steuerleitungen zum
Adressieren angeforderter bzw. abzugebender Daten sind mit ADR bezeichnet. Um in einem Mikroprogramm die Adresse des
folgenden Mikrobefehles zu bilden, ist ein weiteres Schaltnetz PIiB vorgesehen, das zwischen dem Mikrobefehlsregister
KBR und dem Adreßregister AR angeordnet ist. Soweit bisher beschrieben, ist der prinzipielle Aufbau des mikroprogrammgesteuerten
Prozessors an sich bekannt, so daß es sich erübrigt, die geschilderte Struktur der Steuereinheit SE und
noch viel mehr der Verarbeitungseinheit VE näher zu erläutern.
Die dargestellte Steuereinheit SE enthält aber über die erwähnte bitparallele Verbindung der Informationsausgänge
des Mikroprogrammspeichers WCM mit dem Mikrobefehlsregister MBR hinaus einen weiteren indirekten Datenweg. Die Informationsausgänge
des Mikroprogrammspeichers WCM sind nämlich' .auch noch parallel an einen aus einem "schnellen" Register-
9/210/4070 609839/0597
25Ί2270
satz gebildeten Pufferspeicher MC angeschlossen. Dieser besitzt wegen seines Aufbaus eine wesentlich kürzere Zugriff
szeit als der Mikroprogrammspeicher WCM und hat darüber hinaus nur einen Umfang von y + 1 Mikrobefehlsorten mit jeweils
χ + 1 Bitstellen. Seine Adressierung erfolgt über die niederwertigen a + 1-Bitstellen des Adreßregisters, AR entsprechend
der Beziehung
(2) a = In (y + 1).
Dem Pufferspeicher MC zugeordnet ist ein Markiernetav/erk MCP.
Dieses enthält für jeden Speicherplatz eines Mikrobefehlswortes im Pufferspeicher MC ein Merker-Flip-Flop. Diese
Merker-Flip-Flops MCPO bis MCPY werden jeweils gesetzt, wenn
der zugeordnete Speicherplatz des Pufferspeichers MC geladen wird. Der gesetzte Zustand eines Merker-Flip-Flops stellt
damit ein Gültigkeitskennzeichen für einen bestimmten Eintrag im Pufferspeicher MG dar. Die Informationsausgange des
Pufferspeichers MC sind ihrerseits parallel zu den Informationsausgängen des Mikroprograminspeichers VCM mit den Eingängen
des Mikrobefehlsregisters MBR verbunden. Im Mikrobefehlsregister MBR können daher Mikrobefehle entweder direkt
aus dem Mikroprogrammspeicher WCM oder aus dem Pufferspeieher
MC zur Decodierung bereitgestellt, werden.
Zur Erläuterung des Steuerungsablaufes, d. h. der Bereitstellung
der Mikrobefehle zur Decodierung ist in Fig. 2 ein schematisches Beispiel eines Mikroprogramms in Form eines
vereinfachten Flußdiagrammes dargestellt. Dabei ist beispielhaft vorausgesetzt, daß die Zugriffsbreite des Mikroprogrammspeichers
WCM maximal dem doppelten Mikrobefehlsformat entspricht. Dies ist im Flußdiagramm durch je zwei nebeneinandergestellte
Mikrobefehle MB angedeutet·
Der mögliche Maschinenzyklus sei nur ein Viertel der Zugriffszeit zum Mikroprogrammspeicher ViCM, so daß mit einem
Speicherzugriff bei Ausnutzung beider Mikrobefehle zwei Maschinenzyklen der Verarbeitungseinheit gesteuert werden
können. Das Verhältnis von Speieherzugriffszeit zu Verarbeitungszeit
beträgt damit 2:1, unter der Voraussetzung,
609839/0597 VPA 9/210/4070 ' - 9 -
daß die Mikrobefehle jeweils direkt aus dem Mikroprogrammspeicher gelesen werden müssen. V/ie zu zeigen sein wird,
verbessert sich dieses Verhältnis jedoch entscheidend durch die Verwendung des Pufferspeichers MC. ¥eiterhin enthält das
Plußdiagramm in Pig. 2 nur die für das grundsätzliche Verständnis des Ablaufs notwendigen Informationen, d. h. keine
Angaben darüber, welche Maschinenfunktionen im einzelnen gesteuert werden.
Verfolgt man den eingezeichneten Datenfluß, so wird deutlich, daß dieses Mikroprogramm drei ineinandergeschachtelte
Schleifen S1, S1.1 und S1.2 besitzt. Die übergeordnete Schleife S1 besteht aus sieben Mikrobefehlen MB2 bis MB8 und
enthält die beiden anderen Schleifen 31.1 mit den Mikrobefehlen
MB2 bis MB4 und S1.2 mit den Mikrobefehlen MB5 bis
MB7. Pur den Steuerungsablauf v/erden zwei Betriebs1«·; eis en,
der Hormalmodus und der Schleifenmodus, unterschieden,
Im Normalmodus dient der Pufferspeicher MC nur zum Zwischenspeichern
des bei einem Zugriff zum Milcroprogrammspeicher
gelesenen aweiten Mikrobefehls, solange der erste das Mikrobefehlsregister
MBR belegt. Der Schleifenmodus dagegen wird durch Angabe einer entsprechenden Nebenfunktion in dem vor
dem ersten Mikrobefehl der Schleife auszuführenden Mikrobefehl eingeleitet. Nun wird jeder aus dem Mikroprogrammspeicher
WCM gelesene Mikrobefehl auch in den Pufferspeicher MC geladen. Der Schleifenmodus wird durch Angabe einer von
mehreren möglichen Nebenfunktionen in einem Mikrobefehl ausgeschaltet. Dabei werden alle Einträge im Pufferspeicher MG
für ungültig erklärt, d. h. im Markiernetzwerk MCP alle Merker-Plip-Plops zurückgesetzt. Die Steuerung befindet sich
damit wieder im Zustand des Normalraodus.
Pur das in Pig. 2 dargestellte Beispiel eines Mikroprogrammes
ist die angedeutete Belegung des Pufferspeichers MC und der Zustand des zugeordneten Markiernetzwerks MCP in
Pig. 3 dargestellt. Im Pufferspeicher MC sind mit MCO bis MCy die Speicherplätze des Pufferspeichers für jeweils ein
Mikrobefehlswortjim Markiernetzwerk MCP die einzelnen diesen
Speicherplätzen zugeordneten Merker-Plip-Plops mit MCPO bis
VPA 9/210/4070 609839/0597 _ 10 -
MCPy bezeichnet. Gültige Einträge im Pufferspeicher MO sind
durch eingetragene Mikrobefehle MB1 bis M9 direkt angegeben,
ungültige Einträge dagegen durch einen Stern symbolisiert.
Der Ablauf des Mikroprogramms im einzelnen ist anhand eines auf die Pig. 4 und Pig. 5 aufgeteilten Plußdiagrammes näher
erläutert. Dieses zeigt, beginnend mit Pig. 4 oben, daß zunächst mit einem Speieherzugriff die beiden Mikrobefehle
MBO und MB1 aus dem Mikroprogrammspeicher WCM gelesen werden.
Der erste Mikrobefehl IiBO wird direkt in das Mikrobefehlsregister
MBR übertragen, der zweite Mikrobefehl MJ31 im Pufferspeicher MG zwischengespeichert. Ausgewählt wird der
Speicherplatz MG1 auf Grund der a + 1 niederwertigen Bitstellen
des Eintrages im Adreßregister AR entsprechend der Beziehung (2). Mit diesem Eintrag wird das zugehörige Merker-Plip-Plop
MGP1 im Markiernetzwerk MCP gesetzt und damit der Eintrag gültig.
Der erste Mikrobefehl MBO wird decodiert, ausgeführt und danach auf Grund der (a + 1) niederwertigen Bitstellen der
Adresse des Folgemikrobefehls das Merker-Plip-Plop MCP1 abgefragt,
ob es einen gültigen Eintrag kennzeichnet. Da dies der Pail ist, wird nun der im Speicherplatz MC1 niedergelegte
zweite Mikrobefehl MB1 in das Mikrobefehlsregister MBR übertragen und zugleich das zugeordnete Merker-Plip-Plop MCP1
rückgesetzt, da der Normalmodus eingeschaltet ist. Der nunmehr bereitgestellte' zweite Mikrobefehl MB1 kann nun decodiert
und verarbeitet werden. In einer seiner Hebenfunktionen
enthält er eine Angabe, daß das Mikroprogramm mit dem nächsten Mikrobefehl in eine Schleife eintritt.
Damit ist der UOrmalmodus ITM in Pig.4- durch die rechts eingezeichneten,
senkrecht verlaufenden Pfeile angedeutet beendet, die Steuerung tritt in den analog angedeuteten
Schleifenraodus SM ein. Zunächst wird nun das zweite Merker-Plip-Plop
MCP2 abgefragt. Dieses ist noch rückgesetzt und kennzeichnet damit, daß die beiden nächsten Mikrobefehle MB2
und MB3 erst aus dem Mikroprogrammspeicher WOM gelesen werden müssen. Der Mikrobefehl MB2 wird direkt in das Mikrobefehlsregister
MBR und in den Speicherplatz MC2 des Puffer-
609839/0597
YPA 9/210/4070 · " , - 11 -
YPA 9/210/4070 · " , - 11 -
Speichers MC übertragen. Der andere Mikrobefehl MB3 wird im Speicherplatz MC3 des Pufferspeichers MC abgelegt, und
beide Einträge werden für gültig erklärt. Nach der Verarbeitung des Mikrobefehls MB2 wird abgefragt, ob der nächste
Speicherplatz im Pufferspeicher MC einen gültigen Eintrag enthält; da dies der Pail ist, wird der Inhalt dieses
Speicherplatzes in das Mikrobefehlsregister MBR übertragen. Der vierte Mikrobefehl M33 ist damit bereitgestellt
und kann decodiert und bearbeitet werden.
Danach wird das nächste Merker-Flip-Flop MCP4 abgefragt. Im ersten Durchlauf der Programmschleife markiert es noch
keinen gültigen Eintrag, daher werden die beiden folgenden Mikrobefehle MB4 und M35 erst aus dem Mikroprogrammspeicher
gelesen und analog wie die Mikrobefehle MB 2 und MB3 behandelt.
Bei der Verarbeitung des fünften Mikrobefehles MB4, der nach der Voraussetzung der letzte Mikrobefehl der geschachtelten
Programmschleife S1.1 ist, wird unter anderem festgestellt,
ob die Testbedingung für diese Schleife S1.1 erfüllt ist. Ist diese erfüllt, so schließt sich die Programmschleif
e, und der Programmablauf beginnt erneut bei der mit A bezeichneten Zusammenführung. Bei einem erneuten
Durchlauf der Programmschleife S1.1 sind alle benötigten
Mikrobefehle bereits im Pufferspeicher MC enthalten. Daher werden alle Mikrobefehle aus dem Pufferspeicher MC gelesen
und in das Mikrobefehlsregister MBR übertragen. Diese Programmschleife S1.1 kann mehrmals durchlaufen werden, bis
die Testbedingung im fünften Mikrobefehl MB4 nicht mehr erfüllt ist.
Dann wird der sechste Mikrobefehl MB5 direkt aus dem Speicherplatz
M05 des Pufferspeichers MC geholt, da das zugeordnete Merker-Flip-Flop MCP5 bereits gesetzt ist. Damit
ist der Programmablauf in die zweite geschachtelte Schleife S1.2 eingetreten, die an der Zusammenführung B beginnend
wie die erste Schleife S1.1 solange durchlaufen wird, bis die Testbedingung im achten Mikrobefehl MB7 nicht mehr erfüllt
ist. Damit werden die folgenden Mikrobefehle MB8 und
VPA 9/210/4070 ' 609839/0597 _ 12
1-ΓΒ9 durch Auslesen aus dem Mikroprogrammspeicher WCM bereitgestellt.
Bei der Ausführung des neunten Mikrobefehls MB8 wird die Testbedingung für die übergeordnete Schleife S1 abgefragt.
Bei erfülltem Test tritt das Mikroprogramm wieder
an der Zusammenführung A in den Ablauf ein. Ist die Testbedingung im neunten Mikrobefehl jedoch nicht mehr erfüllt,
wird der zehnte Mikrobefehl MB9 aus dem Pufferspeicher MC in das Mikrobefehlsregister MBR übertragen. Bei seiner Ausführung
wird der Schleifenmodus SM durch eine Nebenfunktion ausgeschaltet, d. h. sämtliche Merker-Flip-Flops MCPO bis
MCP/ im Markiernetzwerk MCP zurückgesetzt und damit sämtliche Einträge im Pufferspeicher MC für ungültig erklärt.
Der vorstehend erläuterte Steuerungsablauf für ein prinzipielles Mikroprogramm zeigt deutlich, daß die Zugriffsbreite
zum Mikroprogrammspeicher ViCM und das Mikrobefehlsformat in diesem Pail praktisch voneinander unabhängig gewählt
werden können. Dabei wirkt sich eine große Zugriffsbreite zum Mikroprogrammspeicher sogar vorteilhaft aus, da
Polgemikrobefehle auf diese Weise bereits im Pufferspeicher zwischengespeichert und dann mit einer wesentlich geringeren
Zugriffszeit aus diesem in das Mikrobefehlsregister eingeschrieben werden können. Dies gilt sowohl für den-Iformalmodus
als auch den Schleifenmodus, wobei nur zu berücksichtigen
ist, daß ein Eintrag im Pufferspeicher bereits nach dem ersten Aufruf wieder für ungültig erklärt
wird, während er im Schleifenmodus solange gültig bleibt, bis der Schleifenmodus ausgeschaltet wird. Der für diesen
Steuerungsablauf, der die Leistungsfähigkeit des Prozessors wesentlich erhöht, notwendige Schaltungsaufwand im Verhältnis
zu der gewonnenen Leistungssteigerung ist - wie geschildert - gering. Er bringt den weiteren Vorteil, daß die
Struktur des Prozessors wesentlich unabhängiger von dem gewählten Speichermedium des Mikroprogrammspeichers ist und
damit zukunftsorientiert auch bei zu erwartenden "schnelleren" Speichermedien verwendbar bleibt und beim Einsatz solcher
Speichermedien automatisch, d. h. ohne Schaltungsänderungen
im Prozessor, im gesamten System eine höhere Leistung erzielt wird.
5 Figuren
5 Figuren
4 Patentansprüche 609839/0597
VPA 9/210/4070 ·
VPA 9/210/4070 ·
Claims (4)
- PatentansprücheSteuereinheit eines durch Mikroprogramme steuerbaren Prozessors einer Datenverarbeitungsanlage mit einem beschreibbaren Mikroprogrammspeicher mit einer gegenüber dem Maschinenzyklus größeren Zugriffszeit, einem an dessen Auswahleingänge angeschlossenen Adreßregister, einem mit den Informationsausgängen des Mikroprograramspeiehers verbundenen Mikrobefehlsregister, einer an dieses angeschlossenen Decodier einheit, durch die aus einem Mikrobefehl im Hikrobefehlsregister Steuersignale für eine Verarbeitungseinheit des Prozessors ableitbar sind und einem zwischen dem Mikrobefehlsregister und dem Adreßregister angeordneten Schaltnetz zum Bilden der Adresse des folgenden Mikrobefehls, dadurch gekennzeichnet, daß die Informationsausgänge des Mikroprogrammspeichers (WCM) mit den Eingängen des Mikrobefehlsregisters (MBR) sowohl direkt als auch indirekt über einen Pufferspeicher (MC) mit gegenüber dem Mikroprogrammspeicher wesentlich geringerer Zugriff szeit verbunden sind, dessen jeweils einen Mikrobefehl speichernde Zellen durch die niedrigwertigen Bitstellen des Eintrages im Adreßregister (AR) auswählbar sind und daß diesem Pufferspeicher ein Markiernetzwerk (MCP) derart zugeordnet ist, daß mit den niedrigwertigen Bitstellen des Eintrages im Adreßregister jeweils ein Eintrag in einem Speicherplatz des Pufferspeichers als gültig markierbar ist.
- 2. Steuereinheit für einen durch Mikroprogramme steuerbaren Prozessor nach Anspruch 1, dadurch gekennzeichnet , daß das Mikrobefehlsregister (MBR) sowohl an die Informationsausgänge des Mikroprogrammspeichers (WCM) als auch an die Ausgänge des Pufferspeichers (MC) angeschlossen ist, so daß wahlweise Mikro"befehle aus dem Mikroprogrammspeicher oder aus dem Pufferspeicher in das Mikrotefehlsregister*übertragbar sind.
- 3. Verfahren zum Bereitstellen von Mikrobefehlen in einer Steuereinheit nach Anspruch 2, dadurch gekennzeichnet, daß in dem Mikroprogrammspeicher (WCM) mit einem Speieherzugriff mehr als ein Mikrobefehl adressier-609839/0597 VPA 9/210/4070 · -bar ist, daß der erste dieser Mikrobefehle direkt in das Mikrobefehlsregister (MBR) übertragen und in der Decodiereinheit (DEC) anschließend decodiert -wird, daß mindestens ein zweiter Mikrobefehl zunächst in jeweils einem Speicherplatz des Pufferspeichers (MC) zwischengespeichert und dieser durch Setzen jeweils eines Merker-Flip-Flops (MCPn) im Markiernetzwerk (MCP) markiert wird und daß nach der Verarbeitung des ersten Mikrobefehls zwischengespeicherte Eolgeraikrobefehle jeweils direkt aus dem Pufferspeicher in « das Mikrobefehlsregister übertragen und danach das jeweils zugehörige Merker-Flip-ZLop rückgesetzt wird.
- 4. Verfahren zum Bereitstellen von eine Schleife in einem Mikroprogramm bildenden Mikrobefehlen in einer Steuereinheit nach Anspruch 2, dadurch gekennzeichnet, daß eine nachfolgende Schleife im Mikroprogramm durch Angabe einer Nebenfunktion in einem der Schleife vorangehenden Mikrobefehl festgelegt wird, daß danach bei der ersten Ausführung sämtliche Mikrobefehle der Programmschleife aus dem Mikroprogrammspeicher (VfCM) nacheinander neben der Übertragung in das Mikrobefehlsregister (MBR) im Pufferspeicher (MC) zwischengespeichert werden und mit jedem Eintrag in einem Speicherplatz des Pufferspeichers das zugehörige Merker-Flip-Flop (MCPn) im Markiernetzwerk (MCP) gesetzt wird, daß ein MikrobefehIeWiederholter Adressierung, abgeleitet von der zugehörigen Markierung im Markiernetzwerk, jeweils aus dem Pufferspeicher gelesen und im Mikrobefehlsregister zur Decodierung bereitgestellt wird und daß sämtliche Einträge im Pufferspeicher durch Rücksetzen der Merker-]?lip-3?lops im Markiernetzwerk gelöscht werden, sobald eine die abgearbeitete Schleife anzeigende ITebenfunktion in einem der Programmschleife folgenden Mikrobefehl gesetzt ist.609839/0597 9/210/4070 ·Le e rs e i te
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752512270 DE2512270A1 (de) | 1975-03-20 | 1975-03-20 | Steuereinheit eines durch mikroprogramme steuerbaren prozessors einer datenverarbeitungsanlage und verfahren zu ihrem betrieb |
CH174376A CH597648A5 (de) | 1975-03-20 | 1976-02-13 | |
FR7607495A FR2304961A1 (fr) | 1975-03-20 | 1976-03-16 | Unite de commande d'un processeur, pouvant etre commande par des microprogrammes, d'une installation de traitement des donnees et procede pour sa mise en oeuvre |
US05/668,060 US4040033A (en) | 1975-03-20 | 1976-03-18 | Microprogrammable data processor with a microprogram buffer memory |
IT21339/76A IT1058485B (it) | 1975-03-20 | 1976-03-18 | Unita di comando di un elaboratore comandabile con microprogrammi appartenente ad un impianto di ela ecrazione di dati |
GB11046/76A GB1536224A (en) | 1975-03-20 | 1976-03-19 | Microprogramme controlled processors |
NL7602926A NL7602926A (nl) | 1975-03-20 | 1976-03-19 | Besturingseenheid van een door microprogramma's bestuurbare processor van een informatieverwer- kingsinrichting en een werkwijze voor het bedrijf ervan. |
BE165389A BE839824A (fr) | 1975-03-20 | 1976-03-19 | Unite de commande d'un processeur, d'une installation de traitement des donnees et procede pour sa mise en oeuvre |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752512270 DE2512270A1 (de) | 1975-03-20 | 1975-03-20 | Steuereinheit eines durch mikroprogramme steuerbaren prozessors einer datenverarbeitungsanlage und verfahren zu ihrem betrieb |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2512270A1 true DE2512270A1 (de) | 1976-09-23 |
Family
ID=5941935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752512270 Pending DE2512270A1 (de) | 1975-03-20 | 1975-03-20 | Steuereinheit eines durch mikroprogramme steuerbaren prozessors einer datenverarbeitungsanlage und verfahren zu ihrem betrieb |
Country Status (8)
Country | Link |
---|---|
US (1) | US4040033A (de) |
BE (1) | BE839824A (de) |
CH (1) | CH597648A5 (de) |
DE (1) | DE2512270A1 (de) |
FR (1) | FR2304961A1 (de) |
GB (1) | GB1536224A (de) |
IT (1) | IT1058485B (de) |
NL (1) | NL7602926A (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2527272B2 (de) * | 1975-06-19 | 1979-10-25 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Anordnung zum Decodieren und Abarbeiten eines Mikrobefehlswortes konstanter Länge |
JPS5621242A (en) * | 1979-07-28 | 1981-02-27 | Fujitsu Ltd | Pipeline control method for computer operation |
US4556806A (en) * | 1982-05-10 | 1985-12-03 | Texas Instruments Incorporated | Gate alterable output buffer |
US4980821A (en) * | 1987-03-24 | 1990-12-25 | Harris Corporation | Stock-memory-based writable instruction set computer having a single data bus |
US7724898B2 (en) * | 2002-10-17 | 2010-05-25 | Telefonaktiebolaget L M Ericsson (Publ) | Cryptography using finite fields of odd characteristic on binary hardware |
-
1975
- 1975-03-20 DE DE19752512270 patent/DE2512270A1/de active Pending
-
1976
- 1976-02-13 CH CH174376A patent/CH597648A5/xx not_active IP Right Cessation
- 1976-03-16 FR FR7607495A patent/FR2304961A1/fr not_active Withdrawn
- 1976-03-18 US US05/668,060 patent/US4040033A/en not_active Expired - Lifetime
- 1976-03-18 IT IT21339/76A patent/IT1058485B/it active
- 1976-03-19 NL NL7602926A patent/NL7602926A/xx unknown
- 1976-03-19 GB GB11046/76A patent/GB1536224A/en not_active Expired
- 1976-03-19 BE BE165389A patent/BE839824A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
IT1058485B (it) | 1982-04-10 |
CH597648A5 (de) | 1978-04-14 |
FR2304961A1 (fr) | 1976-10-15 |
BE839824A (fr) | 1976-09-20 |
NL7602926A (nl) | 1976-09-22 |
US4040033A (en) | 1977-08-02 |
GB1536224A (en) | 1978-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2630323C3 (de) | Datenspeichereinrichtung mit einem Hauptspeicher, einem HilfsSpeicher und einer Vorausschaulogik | |
DE3486399T2 (de) | Zentrale Verarbeitungseinheit mit der Fähigkeit, Befehle mit variablen Längen zu unterstützen. | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE69534113T2 (de) | Kompression der Befehlswörter eines Rechners | |
DE3750935T2 (de) | Verfahren und System zum Erleichtern der Befehlsausführung in einem digitalen Rechner. | |
DE68927218T2 (de) | Verfahren und Vorrichtung für Zustandskode in einem Zentralprozessor | |
DE3851746T2 (de) | Sprungvorhersage. | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE2953861C2 (de) | ||
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2829668A1 (de) | Kanaldatenpufferspeicher | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE68924719T2 (de) | Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung. | |
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
DE4216905C2 (de) | Superskalarprozessor | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE1524898C3 (de) | Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHW | Rejection |