DE2527272A1 - Verfahren zum steuern eines mikroprogrammierten prozessors - Google Patents

Verfahren zum steuern eines mikroprogrammierten prozessors

Info

Publication number
DE2527272A1
DE2527272A1 DE19752527272 DE2527272A DE2527272A1 DE 2527272 A1 DE2527272 A1 DE 2527272A1 DE 19752527272 DE19752527272 DE 19752527272 DE 2527272 A DE2527272 A DE 2527272A DE 2527272 A1 DE2527272 A1 DE 2527272A1
Authority
DE
Germany
Prior art keywords
microinstruction
processing
memory
microprogram
microinstructions
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.)
Granted
Application number
DE19752527272
Other languages
English (en)
Other versions
DE2527272C3 (de
DE2527272B2 (de
Inventor
Norbert Dipl Ing Haff
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19752527272 priority Critical patent/DE2527272B2/de
Priority to CH525176A priority patent/CH600436A5/xx
Priority to AT403676A priority patent/AT367917B/de
Priority to FR7617771A priority patent/FR2315124A1/fr
Priority to NL7606407A priority patent/NL7606407A/xx
Priority to IT2430676A priority patent/IT1081208B/it
Priority to GB2484276A priority patent/GB1565841A/en
Priority to BE168079A priority patent/BE843132A/xx
Publication of DE2527272A1 publication Critical patent/DE2527272A1/de
Publication of DE2527272B2 publication Critical patent/DE2527272B2/de
Application granted granted Critical
Publication of DE2527272C3 publication Critical patent/DE2527272C3/de
Granted 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
    • 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/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format

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

München, den 13.JUN11975 Vfittelsbacherplatz 2
75 P 2 O 3 2 Bi
SIEMENS AKTIENGESELLSCHAFT
Berlin und München
Verfahren zum Steuern eines mikroprogrammierten Prozessors
Die Erfindung bezieht sich auf ein Verfahren zum Steuern eines mikroprcgramiaierten Prozessors gemäß den Oberbegriff des Hauptanspruches.
Die Mikroprogramm!erung hat als Steuenmgsprinzip für digitale Rechenwerke wegen einer Reihe von Vorteilen wachsendes Interesse gefunden, Die Steuersignale für den mikroprogrammierten Prozessor werden aus Bitmustern abgeleitet, die in Mikrobefehlsworten zusammengefaßt sind und in Festwertspeichern oder beschreibbaren Steuerspeichern abgelegt sind.
Wie Hu3son in "Microprogramming: Principles and Practices", Prentice Hall 1S70, Kapitel 2.8 ausführt, ist ein solcher Mikroprogra'mraspeicher ein wesentlicher, da meist kostenbestimoisr.der Bestandteil einer Mikroprogrammsteuerung. Sr besitzt durch die Anzahl der Mikrobefehlsworte und die der Bits im einzelnen Mikrobefehl zwei Dimensionen. Die benötigte Anzahl von Mikrobefehlen hängt vom Umfang und der Komplexität der mikroprogramraierton Maschinenbefehle, von ihren Formaten, vom Adressierungsmechanismus und von der Leistungsfähigkeit der Unterbrechungsbehandlung einer datenverarbeiteaden Anlage ab, zu der der mikroprogramiaierte Prozessor als ein wesentlicher Bestandteil gehört.
Die Breite jedes Mikrobefehles bestimmt sich aus dem Umfang des im System möglichen Parallelbetriebes und der Art der Codierung. Ein sehr breit ausgelegter Mikrobefehl ermöglicht außerdem eine größere Anzahl von Slementaroperationen in einem einzigen Verarbeitung szyklus weitgehend parallel zu verarbeiten, so daß sich die Anzahl der benötigten Mikrobefehlsworte für ein einem
VPA 9/210/5002 Go/Fdl
609852/0554
Maschinenbefehl zugeordnetes Mikroprogramm reduziert.
Ein zweiter Gesichtspunkt ergibt sich aus den durch technologische Unterschiede bedingten Eigenschaften verschiedener Mikroprogrammspeicher. Wie oben bereits angedeutet, kommen dafür entweder Festwertspeicher oder beschreibbare Speicher in Betracht. Ein beschreibbarer Mikroprogrammspeicher hat gegenüber einem Festwertspeicher eine Reihe von Vorteilen. So ist ein Datenverarbeitungssystem mit einem beschreibbaren Mikroprogrammspeicher wesentlich besser anpassungsfähig, da sich die Mikroprogramme ändern lassen. Änderungen in der Systemarchitektur bedingen keine oder nur geringe schaltungstechnische Änderungen und Fehler im Programm können ohne schaltungstechnische Änderungen korrigiert werden. Ist das Mikroprogramm jedoch in einem Festwertspeicher niedergelegt, so erfordern solche Korrekturen jeweils einen neuen Festwertspeicher.
Leichter realisierbar ist mit einem beschreibbaren Mikroprogramm-Speicher ebenfalls sowohl die Emulation, d. he 4 die Nachbildung fremder Systemeigenschaften durch entsprechende Mikroprogramme und die Diagnose der fest verdrahteten Schaltung über Diagnosenraikroprogramme. In beiden Fällen brauchen in den beschreibbaren Mikroprogrammspeicher lediglich entsprechende Mikroprogramme aus einem äußeren Speicher geladen werden, ein Festwertspeicher müßte derartige Mikroprogramme jedoch ständig enthalten und deshalb eine höhere Speicherkapazität besitzen.
Umgekehrt ist bei einem als Festwertspeicher ausgebildeten Mikro* Programmspeicher ein falsches Laden von Mikroprogrammen nicht möglich. Außerdem bleiben bei einem Zusammenbruch der Stromversorgung in einem Festwertspeicher die Mikroprogramme erhalten, während ein beschreibbarer Mikroprogrammspeicher, der heute vorzugsweise als Halbleiterspeicher ausgebildet wird, neu geladen werden muß.
Für Speichermedien in Datenverarbeitungsanlagen gilt die Faustregel, daß die Kosten pro Bit umso höher sind, je schneller der
VPA 9/210/5002 609852/0 554
Speicher ist. Das gilt auch für einen beschreibbaren Mikroprogrammspeicher.
Wenn der beschreibbare Mikroprogrammspeicher z. B. mit dem Arbeitsspeicher der Zentraleinheit zusammengelegt wird, dann werden auf zweifache Weise Kosten eingespart; Erstens ist der Arbeitsspeicher ein im Vergleich zu Mikroprogrammspeichern zwar langsame.s aber billiges Speichermedium und zweitens wird für den Mikroprogrammspeicher keine eigene Schnittstelle benötigt.
Im optimalen Fall sollte der Maschinenzyklus eines mikroprogrammgesteuerten Prozessors, d. h. die Zykluszeit für die Verarbeituni eines Mikrobefehls, so mit der Zugriffszeit zum Mikroprogramm-Speicher abgestimmt sein, daß weder der Prozessor auf den Mikroprogrammspeicher noch dieser auf den Prozessor warten
Wenn der Mikroprogrammspeicher aber wegen erheblicher Kosteneinsparungen mit einem relativ langsamen Arbeitsspeicher zusammengelegt wird, dann ist das optimale Verhältnis gestört. In diesem Fall ist es nicht sinnvoll, den Maschinenzyklus derart zu verlängern, daß er dem Mikroprograrnmspeich^rzugriff angepaßt wird.
Durch andere kostengünstige Maßnahmen kann aber die durch den langsamen Mikroprogrammspeicher beeinträchtigte Prozessorleistung erhöht werden.
So wird in der deutschen Patentanmeldung P 25 12 270 vorgeschlagen, zwischen dem beschreibbaren Mikroprogrammspeicher und einem Mikrobefehlsregister einen "schnellen" Pufferspeicher geringer Kapazität derart anzuordnen, daß das Mikrobefehlsregister sowohl direkt aus dem Mikroprogrammspeicher als auch indirekt aus dem Pufferspeicher ladbar ist.
VPA 9/210/5002
609852/0554
Sobald wiederholt durchlaufene Mikroprogrammschleifen auftreten, können die Mikrobefehle bereits beim zweiten Schleifendurchlauf unmittelbar aus dem Pufferspeicher entnommen werden, so daß die lange Zugriffszeit zum Mikroprogramraspeicher entfällt. Obwohl diese Maßnahme zu einer Leistungssteigerung des Prozessors beiträgt,muß sich ihre Wirksamkeit auf die Verarbeitung von Mikroprogrammschleifen beschränken.
Eine andere Maßnahme besteht darin, die Datenwege zum beschreibbaren Mikroprogrammspeicher doppelt so breit auszulegen wie das Hikrobefehlsformat. Mit einem Zugriff zum Mikroprogrammspeicher können dann zwei aufeinanderfolgende Mikrobefehle adressiert werden, die - teilweise zwischengespeichert - nacheinander in das Mikrobefehlsregister übertragen werden. Theoretisch konnte damit bereits die Hälfte aller Speicherzugriffe eingespart werden, jedoch wird dieser theoretische Wert nicht erreicht, da bei einer Programmverzweigung oder einem Mikroprograramsprung der zweite Mikrobefehl eines Speicherzugriffes umsonst bereitgestellt sein kann.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art zu schaffen, das das Verhältnis zwischen durchschnittlicher Zugriffszeit zum Mikroprogrammspeicher und dem Verarbeitungszyklus, d. h. der Zeit für die Verarbeitung eines Mikrobefehls in der Verarbeitungseinheit weiter verbessert. Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Hauptanspruches beschriebenen Merkmale gelöst.
Wie bereits angedeutet, legt man das MikrobefehIsformat im allgemeinen derart aus, daß eine gewisse Zahl von Kontrollfeldern bzw. Feldern mit Bitmustern einer sogenannten Hauptfunktion zugeordnet sind. Durch die restlichen Felder von Bitmustern werden dann sogenannte Nebenfunktionen definiert, die parallel zu der Hauptfunktion während eines Maschinenzyklus
VPA 9/210/5002
609852/0554
in der Verarbeitungseinheit des Prozessors ausgeführt werden. Bei diesen Nebenfunktionen kann es sich z. B. um Tests handeln, die die Folgeadressbildung für den nächsten Mikrobefehl beeinflussen. Dieses Mikrobefehlsformat, das der schaltungsmäßigen Ausgestaltung der Verarbeitungseinheit natürlich entsprechen muß,nutzt also eine mögliche Parallelarbeit in der Verarbeitung s einlie it des Prozessors aus, um die für die Verarbeitung eines Maschinenbefehls notwendige Anzahl von Mikrobefehlen in dem zugeordneten Mikroprogramm zu verringern.
Die Erfindung geht nun von der Erkenntnis aus, daß immer wieder einzelne Mikrobefehle oder sogar längere oder kürzere Folgen von Mikrobefehlen auftreten, in denen die Felder von Bitmustern für Nebenfunktionen nicht ausgenutzt werden. Diese Redundanz schien bisher unvermeidlich, da man sich der Vorteile einer möglichen Parallelarbeit in der Verarbeitungseinheit nicht begeben wollte. In bozug auf die Verarbeitung von Mikrobefehlen in der Verarbeitungseinhsit ändert die Erfindung daran auch nichts, d. h. sie bedingt zumindestens keine strukturellen unterschiede in der Schaltungsanordnung.
Die sogenannten Doppelmikrobefehle, mit denen es bei einem entsprechenden Aufbau des Mikrobefehlsformates möglich ist, zwei Hauptfunktionen in ein Mikrobefehlswort zu schachteln, bringen aber den Vorteil, mit dem Lesen eines Mikrobefehls zwei Hauptfunktionen zu erhalten, d. h. die Verarbeitungseinheit des Prozessors in zwei aufeinanderfolgenden Verarbeitungszyklen zu beschäftigen. Es wird natürlich der theoretisch mögliche Wert von einer auf die Hälfte reduzierten Anzahl von Zugriffen zum Mikroprogrammspeicher nicht immer erreicht, aber auf jeden Fall tragen solche Mikrobefehle erheblich zu einer Leistungssteigerung des Prozessors bei. Vielfach ist es möglich, eine Nebenfunktion innerhalb eines Mikroprogramms frei wählbar zu plazieren, z. B. wenn eine Testbedingung im Prozessor im Verlauf von zehn Mikrobefehlen nicht geändert wird, kann sie durch Angabe des entsprechenden Tests sowohl im ersten als auch in zehnten Mikrobefehl abgefragt werden. Deshalb hat man
VPA 9/210/5002
609852/0554
es bei der Gestaltung des Mikroprogramms in der Hand, die Voraussetzungen für den Einsatz von Doppelmikrobefehlen noch zu steigern.
Mit der Leistungssteigerung des Prozessors einher geht eine Einsparung an Mikroprogrammspeicherplatz und eine Entlastung der Schnittstelle zum Hauptspeiehersystem, nämlich dann, wenn der beschreibbare Mikroprogrammspeicher dort neben dem Arbeitsspeicher untergebracht ist.
Weiterbildungen der Erfindung sind in Unteransprüchen gekennzeichnet und in der nachfolgenden Beschreibung eines Ausführungsbeispiels näher erläutert. Dieses Ausführungsbeispiel wird anhand der Zeichnung beschrieben. Dabei zeigt: Fig, 1 das Blockschaltbild eines mikroprogrammierten Prozessors mit einer Steuereinheit und einer Verarbeitungseinheit, wobei ersterer aus Gründen des funktionellen Zusammenhangs ein beschreibbarer Mikroprogrammspeicher zugeordnet ist,
Fig. 2 schematisch den zeitlichen Ablauf der Verarbeitung von
einfachen Mikrobefehlen mit langer Zugriffszeit, Fig. 3 ein Beispiel für den grundsätzlichen Aufbau eines Mikrobefehls,
Fig. 4 das entsprechende Beispiel für den Aufbau eines Doppelmikrobefehls und
Fig. 5 schematisch den zeitlichen Ablauf bei der Verarbeitung von Doppelmikrobefehlen.
Das für das Verständnis der Erfindung herangezogene Blockschaltbild eines mikroprogrammgesteuerten Prozessors einer datenverarbeitenden Anlage in Fig. 1 zeigt eine Steuereinheit SE und eine Verarbeitungs einheit VE. Wegen des funktionellen Zusammenhanges ist innerhalb der Steuereinheit SE ein beschreibbarer Mikroprogrammspeicher (Writable Control Memory) WCM angegeben. Ein in diesem Mikroprogrammspeicher niedergelegtes Mikrobefehls-
VPA 9/210/5002
609852/0554
wort ist über den Inhalt eines Adressregisters AR adressierbar.
Die Informationsausgänge des Mikroprogrammspeichers WCM sind, wie durch einen stark ausgezogenen Datenv/eg angedeutet ist, parallel mit den Eingängen eines Mikrobefehlsregisters MBR verbunden. An dieses Register ist eine Decodiereinheit DEC zum Umwandeln des jeweiligen Informationsinhaltes des Mikrobefehlsregisters MBR in Steuersignale angeschlossen, die über Steuersignalleitungen ST den einzelnen Funktionseinheiten der Verarbeitungseinheit VE zugeführt werden.
In dieser Verarbeitungseinheit VE sind durch Pfeile rein schematisch Datenwege D/I und D/0 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 Mikrobefehls zu bilden,-ist ein weiteres Schaltnetz FMB vorgesehen, das zwischen dem Mikrobefehlsregister MBR und dem Adressregister AR angeordnet ist.
Über diese allen mikroprograramgesteuerten Prozessoren gemeinsame Grundstruktur hinausgehend, enthält die dargestellte Steuereinheit SE neben der bitparallelen Verbindung der Informationsausgänge des Mikroprogrammspeichers V/CM mit dem Mikrobefehlsregister MBR einen weiteren indirekten Datenweg über einen aus einem "schnellen" Registersatz gebildeten Pufferspeicher MC. Dieser Pufferspeicher ist über die niederwertigen Bitstellen des Adressregisters AR adressierbar. ^
Die Informationsausgänge des Pufferspeichers MC sind ihrerseits parallel zu den Informationsausgangen des Mikroprogrammspeichers WCM mit den Eingängen des Mikrobefehlsregisters MBR verbunden.
VPA 9/210/5002
609852/0554
Im Mikrobefehlsregister MBR können daher Mikrobefehle entweder direkt aus dem Mikroprogrammspeicher VCM oder aus dem Pufferspeicher MC zum Decodieren in der Decodiereinheit DEC bereitgestellt werden.
Der funktioneile Ablauf eines Mikrobefehles in einem solchen mikroprogrammgesteuerten Prozessor ist bereits in.der eingangs erwähnten deutschen Patentanmeldung P 25 12 270 näher beschrieben, so daß sich hier eine weitere Darstellung erübrigt.
Anhand von Fig. 2 soll vielmehr in diesem Zusammenhang der zeitliche Ablauf eines Mikrobefehls näher erläutert v/erden. Die Gesamtzeit für die Bearbeitung eines Mikrobefehls setzt sich bei sequentieller Abarbeitung aus den folgenden zwei Größen zusammen:
- Zugreifen zum Mikroprogrammspeicher VfCM mit Einschreiben des adressierten Mikrobefehls in das Mikrobefehlsregister MBR und
- Ablauf eines Verarbeitungszyklus, bestehend aus: Decodieren des Inhalts des Mikrobefehlsregisters MBR in der Decodiereinheit DEC;
Verknüpfen der vom Mikrobefehl adressierten Registerinhalte in der Verarbeitungseinheit VE und
Bilden der Adresse des nächsten Mikrobefehls.
Dies ist in Fig. 2 in einem zeitlichen Ablaufschema folgendermaßen dargestellt: Mit 1 ist jeweils ein Verarbeitungszyklus bezeichnet, in dessen Ablauf zu einem Zeitpunkt 2 die Adresse für den nächsten Zugriff zum beschreibbaren Mikroprogrammspeieher ViCM feststeht. Die folgende Zeitspanne 3 wird für den Zugriff zum Mikroprogrammspeicher WCM und^für das Einschreiben des adressierten Mikrobefehls in das Mikrobefehlsregister MBR ver-x braucht. Daran schließt sich der nächste Verarbeitungszyklus 1 an. Zwischen zwei aufeinanderfolgenden Verarbeitungszyklen 1 vergeht also eine zweite Zeitspanne 4, die mit der Wartezeit des Prozessors auf die Bereitstellung des nächsten Mikrobefehles
VPA 9/210/5002
609852/0554
identisch ist.
Die grundsätzliche Struktur eines Mikrobefehles ergibt sich aus dem in Fig. 3 dargestellten Beispiel eines Mikrobefehlsformates. In dem gewählten Beispiel ist für das Mikrobefehlsformat eine Breite von 32 Bitstellen angenommen und durch die Zahlenangaben 0 bzw. 31 am unteren Rand des Blockes angedeutet. In dem Block selbst ist eine Reihe von Feldern bezeichnet, die eine unterschiedliche Anzahl von Bitstellen umfassen, wie aus den in Klammern gesetzten Zahlenangaben über den Feldern der Bitmuster zu entnehmen ist.
Das erste Bitmusterfeld GR mit drei Bitstellen kennzeichnet jeweils eine von mehreren Gruppen, der der betreffende Mikrobefehl zuzuordnen ist. Auf diese Weise lassen sich z. B. arithmetische und logische Wortbefehle von Speicher- oder Verschiebebsfehlen unterscheiden.
Das zweite, vier Bitstellen umfassende Bitmusterfeld F bezeichnet die Art der Hauptfunktion des Mikrobefehls, d. h. zum Beispiel einen bestimmten Mikrobefehl aus der Gruppe der arithmetischen und logischen Wortbefehle, z. B. also eine UND-Funktion.
Das dritte und vierte, jeweils fünf Bitstellen umfassende Bitmusterfeld ADR1 bzw. ADR2 enthält die Adresse des ersten bzw. des zweiten Mikrobefehlsoperanden. Mit den drei letztgenannten Bitmusterfeidern ist also eindeutig eine bestimmte Hauptfunktion des Mikrobefehls festgelegt.
Die restlichen 15 Bitstellen des Mikrobefehlsformates enthalten weitere, hier nicht mehr im einzelnen angegebene Bitmusterfeider, die bestimmte Nebenfunktionen NF des Mikrobefehles definieren. Solche Neben- oder Sonderfunktionen können sich auf bestimmte — Tests, die Angabe von Direktoperanden, die Angabe von Sprungfolgeadressen usv/. beziehen. Wesentlich ist dabei, daß der Verarbeitungszyklus durch die Hauptfunktion bestimmt wird und die Nebenfunktionen parallel dazu ausgeführt werden.
VPA 9/210/5002
609852/0554
Nun kommt es immer wieder vor, daß in einem Mikrobefehl keine sinnvolle Nebenfunktion definiert werden kann. Da das Mikrobefehlsformat aber allgemein festgelegt ist, werden in einem solchen Fall die 15 Bitstellen für Nebenfunktionen nicht verwertet. Diese Tatsache läßt sich jedoch anderweitig ausnutzen, wie Fig. 4 zeigt. Dort ist ein Mikrobefehlsformat angegeben, das ebenso breit ist, wie das anhand der Fig. 3 geschilderte allgemeine Mikrobefehlsformat. Wie ein Vergleich mit Fig. 3 zeigt, enthält dieses jedoch zwei Hauptfunktionen mit je 14 Bitstellen in Bitmusterfeldern F, ADR1 und ADR2.
Wenn darüber hinaus für das Gruppenkennzeichen GR nur zwei Bitstellen benötigt werden, die hier in einem bestimmten Zustand die Gruppe von Doppelmikrobefehlen mit zwei Hauptfunktionen kennzeichnen, so bleiben von den 32 Bitstellen des Formates noch 2 Bitstellen leer, Je eine dieser Bitstellen G wird einer der beiden Hauptfunktionen zugeordnet und ermöglicht eine Unterscheidung zwischen zwei Gruppen von Doppelmikrobefehlen, d. h. es lassen sich z. B. arithmetische und logische Wortbefehle von arithmetischen und logischen Bytebefehlen unterscheiden.
Wie ein derartiger Mikrobefehl verarbeitet werden soll, ist in Fig. 1 schematisch angedeutet. Der wie alle anderen Mikrobefehle aus dem beschreibbaren Mikroprogrammspeicher WCM geT lesene und im Mikrobefehlsregister MBR bereitgestellte Mikrobefehl wird bei der Decodierung in der Decodiereinheit DEC aufgrund seines Gruppenkennzeichens GR als Doppelmikrobefehl erkannt. Dann werden nur seine Bitstellen 0 bis 16 Im folgenden Verarbeitungszyklus ausgewertet, d. h. die erste Kauptfunktion verarbeitet. Danach werden die restlichen, bisher nicht ausgewerteten Bitstellen 17 bis 31» wie durch die gestrichelte Linie schematisch angedeutet, an die Stelle der ersten Hauptfunktion im Mikrobefehlsregister 14BR verschoben. Die zweite Hauptfunktion kann dann an der richtigen Stelle im Mikrobefehlsregister MBR stehend im nächsten Maschinenzyklus un-
VPA 9/210/5002
609852/055 4
mittelbar anschließend ohne einen erneuten Speicherzugriff verarbeitet werden und benötigt keine eigene Decodierlogik. Der schaltungstechnische Aufwand für die Verarbeitung von Doppelmikrobefehlen ist also denkbar gering.
Das zugehörige zeitliche Verarbeitungsschema geht aus Fig. hervor. Dort sind identische Größen in gleicher Weise wie in Fig. 2 bezeichnet. Zwischen der Verarbeitung zv/eier Hauptfunktionen in einem Doppelmikrobefehl tritt nun im Unterschied zu der Darstellung gegenüber Fig.2 lediglich eine kurze Lücke zwischen zwei Maschinenzyklen. 1 auf, die mit 4f bezeichnet ist. Diese ist im Vergleich zu der langen Wartezeit der Verarbeitungseinheit VE bei der Verarbeitung von normalen Mikrobefehlen vernachlässigbar, so daß sich die durchschnittliche Wartezeit des Prozessors bei der Verarbeitung einer Folge von Mikrobefehlen halbiert.
Solche Folgen lassen sich im Ablauf eines Mikroprogrammes dadurch verlängern, daß man in diesem Programraablauf benötigte Nebenfunktionen an das Ende oder den Anfang dieser Folge zu verlegen versucht. Wenn man bewußt die Verwendung von Doppelmikrobefehlen anstrebt, läßt sich - wie die Praxis gezeigt hat - oft eine ganze Folge solcher Befehle mit den beschriebenen Vorteilen entwickeln.
5 Figuren
3 Patentansprüche
VPA 9/210/5002
609852/0554

Claims (3)

  1. -12-Patentansprüche
    Verfahren zum Steuern eines mikroprogrammierten Prozessors mit einer Steuer- und einer Verarbeitungseinheit, dem ein beschreibbarer Mikroprogrammspeicher zum Speichern von Mikrobefehlsworten zugeordnet ist, die eine Mehrzahl von Feldern mit Bitmustern zum Definieren einer Hauptfunktion und - sofern notwendig - einer Mehrzahl von Nebenfunktionen enthalten und die beim Ablauf eines Mikroprogramms nacheinander in ein Mikrobefehlsregister der Steuereinheit übertragen und von dort aus zum Erzeugen von Steuersignalen decodiert v/erden, so daß damit in einem Verarbeitungszyklus parallel eine Mehrzahl von durch Haupt- oder Nebenfunktion ausgewählten Elemervtarcperationen gesteuert wird, dadurch gekennzeichnet, daß neben einfachen Mikrobefehlen mit einer Hauptfunktion (F, ADR1, ADR2) und mindestens einer Nebenfunktion (NF) eine Gruppe von als Doppelmikrobefehle bezeichneten Mikrobefehlen vorgesehen ist, die eine zweite Hauptfunktion anstelle von TJebenfunktionen enthalten, die nach dem Bereitstollen im Mikrobefehlsregister (MBR) durch ihren Aufbau von den übrigen Mikrobefehlen unterschieden werden und dann durch stufenweisee Decodieren zwei aufeinanderfolgende Verarbeitungszyklen der Verarbeitung s einheit (VE) zu steuern vermögen.
  2. 2. Verfahren nach Anspruch 1,dadurch gekennzeichnet, daß der Aufbau sämtlicher Mikrobefohle derart gewählt ist, daß die neben einen Gruppenkennzeichen (GR) zum Unterscheiden der verschiedenen Gruppen vcn Mikrobefehlen einer Hauptfunktion zugeordneten Felder von Bitmustern, d. h. ein Funktionsfeld (F) und zwei Adressfelder (ADR1 und ADR2) für Iiikrobefehlsoperanden, weniger als die Hälfte dos verbliebenen Mikrobefehlsformates einnehmen (Fig. 3 bzw. Fig. 4).
  3. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß nach dem Bereitstellen im Mikrobefehl Is re-
    VPA 9/210/5002
    609852/0554
    gister (MBR) ein DoppeImikrobefehl aufgrund seines Gruppenkennzeichens (GR) festgestellt wird und damit von einer zwischen dem Mikrobefehlsregister und der Verarbeitungseinheit (VE) angeordneten Decodiereinheit (DEC) in einem ersten Verarbeitungszyklus zunächst die der ersten Hauptfunktion zugeordneten Felder von Bitmustern (G, F, ABR1 und ADR2) decodiert und mit den daraus abgeleiteten Steuersignalen die erste Hauptfunktion
    in der Verarbeitungseinheit ausgeführt wird, daß dann die Bitmuster der ersten Hauptfunktion im Mikrobefehlsregister durch
    die der zweiten Hauptfunktion ohne erneuten Zugriff zum Illkro-Programmspeicher-(WCM) durch reines Umladen ersetzt v/erden und daß im nächsten Verarbeitungszyklus dieser umgeladene Teil
    des Doppelmikrobefehls decodiert und verarbeitet v/ird.
    VPA 9/210/5002
    609852/055 4
DE19752527272 1975-06-19 1975-06-19 Anordnung zum Decodieren und Abarbeiten eines Mikrobefehlswortes konstanter Länge Granted DE2527272B2 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE19752527272 DE2527272B2 (de) 1975-06-19 1975-06-19 Anordnung zum Decodieren und Abarbeiten eines Mikrobefehlswortes konstanter Länge
CH525176A CH600436A5 (de) 1975-06-19 1976-04-27
AT403676A AT367917B (de) 1975-06-19 1976-06-02 Anordnung zum decodieren und abarbeiten eines in einem mikroprogrammspeicher gespeicherten mikorbefehlswortes konstanter laenge
FR7617771A FR2315124A1 (fr) 1975-06-19 1976-06-11 Procede pour commander un processeur microprogramme
NL7606407A NL7606407A (nl) 1975-06-19 1976-06-14 Werkwijze voor het besturen van een microgepro- grammeerde centrale verwerkingseenheid.
IT2430676A IT1081208B (it) 1975-06-19 1976-06-15 Dispositivo per comandare un elaboratore microprogrammato
GB2484276A GB1565841A (en) 1975-06-19 1976-06-16 Microprogrammable computer system
BE168079A BE843132A (fr) 1975-06-19 1976-06-18 Procede pour commander un processeur microgramme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19752527272 DE2527272B2 (de) 1975-06-19 1975-06-19 Anordnung zum Decodieren und Abarbeiten eines Mikrobefehlswortes konstanter Länge

Publications (3)

Publication Number Publication Date
DE2527272A1 true DE2527272A1 (de) 1976-12-23
DE2527272B2 DE2527272B2 (de) 1979-10-25
DE2527272C3 DE2527272C3 (de) 1980-07-10

Family

ID=5949414

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752527272 Granted DE2527272B2 (de) 1975-06-19 1975-06-19 Anordnung zum Decodieren und Abarbeiten eines Mikrobefehlswortes konstanter Länge

Country Status (8)

Country Link
AT (1) AT367917B (de)
BE (1) BE843132A (de)
CH (1) CH600436A5 (de)
DE (1) DE2527272B2 (de)
FR (1) FR2315124A1 (de)
GB (1) GB1565841A (de)
IT (1) IT1081208B (de)
NL (1) NL7606407A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2409551A1 (fr) * 1977-11-21 1979-06-15 Cii Honeywell Bull Coupleur rapide de ligne de transmission ou peripheriques d'ordinateur utilisant une structure particuliere de microinstruction
DE3009121C2 (de) * 1980-03-10 1982-02-18 Siemens AG, 1000 Berlin und 8000 München Mikroprogramm-Steuereinrichtung

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3753236A (en) * 1972-03-31 1973-08-14 Honeywell Inf Systems Microprogrammable peripheral controller
DE2512270A1 (de) * 1975-03-20 1976-09-23 Siemens Ag Steuereinheit eines durch mikroprogramme steuerbaren prozessors einer datenverarbeitungsanlage und verfahren zu ihrem betrieb

Also Published As

Publication number Publication date
FR2315124A1 (fr) 1977-01-14
AT367917B (de) 1982-08-10
NL7606407A (nl) 1976-12-21
GB1565841A (en) 1980-04-23
ATA403676A (de) 1981-12-15
DE2527272C3 (de) 1980-07-10
IT1081208B (it) 1985-05-16
BE843132A (fr) 1976-12-20
CH600436A5 (de) 1978-06-15
DE2527272B2 (de) 1979-10-25
FR2315124B1 (de) 1981-09-25

Similar Documents

Publication Publication Date Title
DE68928213T2 (de) Inhaltadressierte Speicherzellenanordnung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2417795C2 (de) Datenverarbeitungsanlage
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
EP0010185B1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE2746505C2 (de)
DE2717658A1 (de) Anordnung zur ansteuerung eines mikroprogrammspeichers
DE2718110A1 (de) Datenverarbeitungseinheit
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE2332971C2 (de) Mikroprogrammsteuereinrichtung
DE1197650B (de) Parallel-Addierer
DE2426874A1 (de) Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls
DE2117581C3 (de) Einrichtung zur Adressenprüfung
DE2551741A1 (de) Datenverarbeitungseinrichtung
DE2744359C2 (de)
DE2064473A1 (de)
DE2418921C2 (de) Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage
DE3121046C2 (de)
DE2108157A1 (de) Datenverarbeitungsanlage mit über lagertem Speicherverkehr
DE3855066T2 (de) Operationsvorrichtung zur Verarbeitung von Daten willkürlicher Länge
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE2527272A1 (de) Verfahren zum steuern eines mikroprogrammierten prozessors
DE2710436A1 (de) Datenverarbeitungseinrichtung
DE2744252C2 (de)

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee