Homepage

 

 

 

 

ReAl Computer Projects

 

 

 

 

Microprogramming

 

 

 

 

 

 

 

 News

 ReAl Theory

 ReAl-Theorie (German)

 Projects (more down-to-the
 earth)

 Imprint + Data Protection

  Legacy homepage
  (German)

 Contact


It benefits always to have a tool box handy, well-filled with tools and tricks, and not only a single hammer.

Article in Circuit Cellar, July 2018:

Wire Wrapping Revisited

Article in Circuit Cellar, October  2017:

Emulating Legacy Interfaces

Article in Circuit Cellar, July 2016:

Microcontroller modules for the ambitious

Microcontroller Modules (in German)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

There are nine and sixty ways of constructing tribal lays,
And every single one of them is right!

   

Rudyard Kipling

 

 

I tell this tale, which is strictly true,
just by way of convincing you
How very little since things were made
Things have altered in the computer trade
.

 

After Rudyard Kipling


Mikroprogrammierung und Mikroprogrammsteuerwerke
Eine Mikroprogrammsteuerung kann nicht rechnen, sondern nur verzweigen und Steuerwirkungen ausüben. Mikroprogramme bestehen aus Mikrobefehlen, die in Formatgestaltung und Wirkungsweise an die zu steuernden Einrichtungen angepaßt sind.

Das typische Mikroprogrammsteuerwerk umfaßt einen Mikroprogramm- oder Steuerspeicher, ein Mikrobefehlsregister, ein Mikrobefehlsadreßregister sowie Schaltmittel zur Mikrobefehlsadressierung und zurAblaufsteuerung. Die auszuführenden Mikrobefehle werden aus dem Steuerspeicher in das Mikrobefehlsregister geladen. Dieses Register wirkt direkt auf diezu steuernden Schaltungen.

Die Mikroprogrammsteuerung ist vor allem als Steuerungsprinzip der klassischenComputersysteme bekannt geworden. Rechnerarchitekturen mit komplizierten Wirkprinzipienkann man praktisch nur auf Grundlage der Mikroprogrammsteuerung kostengünstig implementieren, weil sie auf reguläre Strukturen führt und somit die Kompliziertheit beherrschbar macht. Historische Beispiele sind die Systemfamilien S/360, VAX und 68k, aber auch die Prozessoren der Personal-computer.

Dieses bewährte Prinzip wird aber kaum noch gelehrt. Ebenso selten wird es in der heutigen Entwurfspraxis als Design-Alternative in Erwägung gezogen.

Statt dessen wird man einen fertigen Prozessorkern als IP Core einsetzen oder die Entwurfsaufgabe mit einer sequentiellen Schaltung lösen, die man sich wohl zumeist aus einer Verhaltensbeschreibung synthetisieren läßt.

Wenn man vor allem steuern, aber gar nicht oder nur wenig rechnen muß, ist das Mikroprogrammsteuerwerk dem üblichen Universalprozessor deutlich überlegen. Es braucht weniger Ressourcen (Siliziumfläche, Zellen) als ein ansonsten vergleichbarer RISC-Prozessor und reagiert schneller.

Das Mikroprogrammsteuerwerk kann in jedem Taktzyklus Signale abfragen und Steuerwirkungen ausüben. Somit ergeben sich sehr geringe Latenz- und Reaktionszeiten. Wird das Steuerwerk konsequent auf Leistung ausgelegt, so kann es alle Steuersignale auf einmal erregen, alle Bedingungen gleichzeitig auswerten  und in jedem Taktzyklus in mehrere Richtungen verzweigen – wenn es sein muß, aufgrund von Bedingungen, die sich im selben Taktzyklus ergeben haben. Unterprogrammaufrufe und Programmumschaltungen (als Alternative zum üblichen Interrupt) kann man so implementieren, daß sie keine zusätzlichen Maschinenzyklen (Overhead) kosten.

Wenn man Maschinenprogramme durch Mikroprogramme ersetzt, ergibt sich ein Geschwindigkeitsgewinn (Speedup)  von – erfahrungsgemäß – etwa 2:1 bis 40:1,  je nachdem, was ablaufen soll.

Mikroprogrammsteuerwerke sind überschaubare Schaltungsstrukturen. Sie sind leichter zu entwerfen als komplexe Spezialschaltungen. Dabei hat man jeden Maschinentakt unter Kontrolle und kann somit das Leistungsvermögen der Hardware voll ausnutzen. Wie beim universellen Prozessor wird die funktionelle Komplexität aus der Schaltung in einen Speicherinhalt verlagert. Die meisten Änderungen sind keine Schaltungsänderungen, sondern Programmänderungen, die meisten Entwurfsfehler sind keine Schaltungsfehler, sondern Programmierfehler. Die Verfahren und Hilfsmittel der Fehlersuche entsprechen denen der üblichen Maschinenprogrammierung.

Deshalb dürfte es sich lohnen, diese bewährten Prinzipien wieder zu beleben und mit zeitgemäßen Mitteln zu implementieren. Die Block-RAMs der FPGAs eigenen sich gut als Mikroprogrammspeicher. Es liegt nahe, solche Steuerwerke zunächst als Soft-Cores zu entwerfen, d. h. als Alternative oder Ergänzung zu MicroBlaze, NIOS o. dergl.

Die Bedeutung zum Lösen heutigerEntwurfsaufgaben besteht vor allem in folgendem:

  • Mikroprogrammsteuerwerke zur Steuerung von Spezialprozessoren.
  • Mikroprogrammsteuerwerke sind manchmal eine Alternative zu Mikrocontrollern inprogrammierbaren Schaltkreisen und ASICs. Die Vorteile: geringerer Aufwand (durch Anpassung der Schaltung an die zu lösende Entwurfsaufgabe) und höhereArbeitsgeschwindigkeit.
  • Das Prinzip der Mikroprogrammsteuerung ist ein allgemeiner Ansatz des Steuerschaltungsentwurfs, wenn es auf Geschwindigkeit ankommt, die Zustandsübergänge aber so kompliziert sind, daß sie sich nicht mit Funktionszuordnern oder Gatternetzwerken implementieren lassen.
  • Mikroprogrammsteuerwerke sind überschaubare Schaltungsstrukturen. Wie beim universellen Prozessor wird die funktionelle Komplexität aus der Schaltung in einenSpeicherinhalt verlagert. Die meisten Änderungen sind keine Schaltungsänderungen,sondern Programmänderungen, die meisten Entwurfsfehler sind keine Schaltungsfehler,sondern Programmierfehler. Die Verfahren und Hilfsmittel der Fehlersuche entsprechendenen der üblichen Maschinenprogrammierung.
  • Das Mikroprogrammsteuerwerk hat gegenüber dem universellen Prozessor den Vorteil derunmittelbaren Verbindung mit den jeweils zu steuernden Einrichtungen. Es ist möglich, in jedem Taktzyklus Signale abzufragen und Steuerwirkungen auszuüben. Somit ergeben sich sehr geringe Latenz- und Reaktionszeiten.
  • Die Schaltungen sind  nicht wirklich kompliziert. Deshalb können solche Lösungen* auch im Rahmen vergleichsweise bescheidenerEntwicklungsvorhaben implementiert werden.

*: Sie leisten in ihrem Einsatzgebiet nicht weniger als die universellenHochleistungsprozessoren. Wenn es viel zu entscheiden und wenig zu rechnen gibt, dürften sie oftmals eindeutig überlegen sein.

 

 

 

 

 

 

 

 

 

 

 

 

May 27, 2019

Eine Design-Idee:
Der Prozessorkern als Mikroprogrammsteuerwerk

Vortrag auf dem FPGA-Kongreß 2019

For viewlng and downloading:

Mikroprogrammierung und Mikroprogrammsteuerwerke (PowerPoint)

Mikroprogrammierung und Mikroprogrammsteuerwerke
(PDF)

Das Thema der Mikroprogramm-steuerung wurde  auch in diesen Schriften behandelt: