Realisierung eines mikroprogrammierbaren Rechners (MPR) unter Verwendung der Hardwarebeschreibungssprache VHDL und programmierbarer Logik.
Im
Rahmen von Mikroprozessorpraktikum und Systementenwicklungsprojekten entsteht
hier ein mikroprogrammierbares Rechnersystem. Primäres Ziel der
Praktikumsaufgabe ist es, die bereits vorhandene mikroprogrammierbare Maschine
"TGI MPR80", basierend auf den AMD Bauteilen der Serie 2900, in
Field Programmable Gate Arrays (FPGAs) zu realisieren.
Dieser Rechner soll mittels VHDL beschrieben, synthetisiert und in eine
entsprechende Zieltechnologie implementiert werden.

Abbildung 1: Vereinfachtes Blockschaltbild des mikroprogrammierbaren Rechners "TGI_MPR80"
Funktionseinheiten des Rechners
Der
Rechner besteht aus der Berechnungseinheit, dem Steuerwerk mit
Mikroprogrammspeicher und Piplineregister, dem Programmspeicher mit
Befehlszähler und der PC-Schnittstelle.
Die Recheneinheit ist auf 16bit ausgelegt und mit einer
Carry_Look_Ahead-Einheit ausgestattet. Eine Wortrandlogik gestattet dabei das
Verschieben und Rotieren der Daten. Ebenfalls wird in derselben die Abhandlung
und Speicherung der Bedingungsbits vorgenommen.
Das Steuerwerk beinhaltet einen Sequenzer für die Adressierung des
Mikroprogrammspeichers und einen Kellerspeicher für die Rückkehradressen von
Unterprogrammen. Im Mikroprogrammspeicher befinden sich die Mikroinstruktionen
zur Steuerung aller Schaltwerke. Eine 1-stufige Pipline erlaubt eine
Überlappung der Befehlsholphase mit der Ausführungsphase. Ebenfalls ist eine
Interruptsteuerung für die Unterbrechung der Mikroroutinen vorgesehen.
Im Programm-und Datenspeicher befinden sich die Maschinenbefehle und der
Speicherbereich für die Ergebnisse. Ein Befehlszähler dient zur Steuerung
dieser Einheit.
Alle Einheiten können über eine PC-Schnittstelle kontrolliert werden.
Hierüber erfolgt auch das Laden des Mikro-und Maschinenprogrammspeichers das
Abholen der Ergebnisse für die Darstellung auf dem PC. Mit der bereits für
MPR_TGI80 vorhandenen benutzerfreundlichen Oberfläche kann die Funktion eines
mikroprogrammierbaren Rechners in allen Einzelheiten auch im Einzeltakt
verfolgt werden.
Realisierung
In
zwei Praktikas wurden die Berechnungseinheit und das Steuerwerk in VHDL
beschrieben. Mit einer ebenfalls in VHDL beschriebenen Testumgebung wurden die
beiden Einheiten auf ihre Funktionsfähigkeit
verifiziert.
Für
die Realisierung werden modernste Entwurfs-,Implementierungs- und
Testwerkzeuge benutzt. Es wird zum Beispiel für den Realtest die Hardware-Objekt-Technologie
(H.O.T) eingesetzt. Unter Verwendung von C++ erfolgt die Manipulation der
Hardwarekomponenten als Objekte.