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
|
|
|
Dumm dürft Ihr sein, aber laßt Euch was einfallen ...
|
|
M. Grundig, E. Heinkel, W. Messerschmitt, H. Nixdorf u. v. a. m.
|
Der Prozessorkern als Mikroprogrammsteuerwerk
Eine Design-Idee
Es ist nicht wirklich schwierig, Mikroprogrammsteuerwerke zu entwerfen. Die entscheidende Frage ist aber: wie und womit soll man sie programmieren?
Heutige Anwendungsaufgaben erfordern soviel Software, daß man sie einfach nicht mehr in Assembler schreiben kann. Compiler für Mikroprogrammsteuerwerke gibt es, es ist aber ein sehr spezielles Thema für sich.
IDeshalb wird man zumeist auf verbreitete Prozessorarchitekturen und Entwicklungs-umgebungen zurückgreifen.Wenn das Leistungsvermögen des Prozessors nicht reicht und mehrere Prozessoren auch keine brauchbare Lösung sind, fügt man Beschleunigungsschaltungen (Akzeleratoren) hinzu (Hardware-Software Co-Design). Auf diese Weise könnte man auch Mikroprogrammsteuerwerke in die Anwendungslösung einbauen.Das Zusammenwirken
mehrerer programmierbarer Einrichtungen hat aber auch eigene Probleme und Entwurfsschwierigkeiten.
Deshalb eine alternative Design-Idee:
Wir bleiben bei einem bewährten Prozessor und seiner Entwicklungsumgebung. Die weitaus meiste Software läuft auch schnell genug, da muß nichts beschleunigt werden. Um die verbleibenden, wirklich leistungskritischen Programmstücke schneller auszuführen, werden die Befehle außerhalb des Prozessors verlängert. Der Prozessor selbst bleibt, wie er ist. Im Innern wird nichts geändert.
Dem Programmspeicher wird ein Erweiterungs- oder Steuerspeicher hinzugefügt. Die Verlängerungen lösen zusätzliche Steuerwirkungen aus. Manche weisen an, wie der Befehl auf dem Wege vom Speicher zum Prozessorkern verändert oder ersetzt wird. Der Prozessor wird zeitweilig zum spezialisierten Mikroprogrammsteuerwerk. Die auf diese Weise ausgeführten Befehle werden außerhalb des Prozessorkerns zu Mikrobefehlen.
Alle Programme, die mit diesen Funktionen nichts zu tun haben, bleiben, wie sie sind.
So richtig interessant wird es natürlich erst im FPGA. Wir könnten aber auch mit etwas Einfachem beginnen, wo man auch was sieht. Mag es doch altmodisch aussehen, wie es will...
Eine vorläufige Projektbeschreibung
|
|
|
|
May 27, 2019
Vortrag auf dem FPGA-Kongreß 2019
For viewlng and downloading:
Der Prozessorkern als Mikroprogrammsteuerwerk (PowerPoint)
Der Prozessorkern als Mikroprogrammsteuerwerk (PDF)
Overview in English
Auszug aus dem Buch "Embedded Electroncis 3 - Hard- und Software" (Elektor-Verlag)
Historische Schriften:
Erweiterungsschaltungen für Mikroprozessoren
Hardware support for Testability, Debugging, and Better Performance
Memory Combines Parity Checking with Program Tracing Support
Additional Control Memory Improves Performance of Low-Cost Microprocessors
|