English version of this page
Next:Befehlsholestufe und Befehlspuffer  Up:Strukturelle und funktionale Beschreibung  Previous:Strukturelle und funktionale Beschreibung  Inhalt

Schnittstellenblock

Die Bus-/Memory-Interface Unit (BMIU) bildet die Schnittstelle des Prozessorkerns zu seiner Umgebung. Sie stellt also die Verbindungen zum externen Speicher sowie zum Bus her und ist für die Kommunikation mit dieser Peripherie zuständig. Im Falle der Testumgebung existieren weitere externe Schnittstellen auf der Testplatine, die frei belegt werden können, jedoch in diesem Entwurf nicht verwendet werden.

Die Einrichtung einer solchen Interface Unit bietet den Vorteil, daß der Entwurf der eigentlichen Pipeline losgelöst von der Struktur ihrer Umgebung erfolgen kann. Beim Einsatz in einer anderen Umgebung müssen also nur an einem Teil des Entwurfs Änderungen vorgenommen werden. Dadurch wird die Pipelinestruktur einfacher portierbar und damit der Entwurf leichter wiederverwendbar.

Speicher- oder Buszugriffe werden sowohl von der Befehlsholestufe (IFU, vgl. Abschnitt 4.4.2) als auch von der Ausführungseinheit (siehe Abschnitt 4.4.4) voneinander unabhängig initialisiert. Aus diesem Grunde können strukturelle Konflikte auftreten. Die Schnittstelleneinheit verhindert zunächst, daß keine verschiedenen Speicher- oder Buszugriffe gleichzeitig durchgeführt werden. Außerdem übernimmt sie die Ansteuerung der sonstigen Ausgänge wie beispielsweise für die zwei vom Programmierer frei verwendbaren Leuchtdioden der Testplatine.

Für eine möglichst wartezyklenfreie Implementierung der Ausführungseinheit müssen die Operanden schnell zur Verfügung stehen. Deshalb wird für die Ausführung der Speicher- und Buszugriffe festgelegt: Lesezugriffe, die durch die EXE angestoßen werden, erhalten die höchste Priorität. Schreibzugriffe haben keine so hohe Dringlichkeitsstufe, da die Funktion der Pipeline nicht direkt von ihnen abhängt (solange der Stackspeicher nicht volläuft und somit Daten ausgelagert werden müssen, was als sogenannter "Dribbler" [7] jedoch für den Prototypen nicht vorgesehen ist). Es handelt sich aber immer noch um die Verarbeitung von Operanden, so daß sich eine mittlere Priorität ergibt. Die niederpriore Zugriffsart ist der Fetch-Zugriff, bei dem die Befehle und deren Argumente aus dem Speicher eingelesen werden. Da die Pipeline über einen Befehlspuffer verfügt (vgl. Abschnitt 4.4.2), stehen im Normalfall Daten zum Dekodieren zur Verfügung, ohne daß ständig neue Befehle aus dem Speicher oder vom Bus gelesen werden müssen. Somit entsteht im allgemeinen kein Engpaß bei der Versorgung der Pipeline mit auszuführenden Instruktionen. Zusammenfassend erhält man daraus die folgende Prioritätenliste:

1.
Lesezugriffe der Ausführungseinheit
2.
Schreibzugriffe der Ausführungseinheit
3.
Lesezugriffe der Befehlsholestufe
Es ist zu beachten, daß die Ausführungseinheit nur einen Speicherzugriff pro Taktzyklus initiieren kann (also entweder Lesen oder Schreiben). Die Bereitstellung dieser Funktionalität beinhaltet, daß die verschiedenen internen Adreßbusse (pcadr, memadr) in einem Zeitmultiplexverfahren auf den Adreßbus AEX gelegt werden müssen. Welcher dieser Busse durchgeschleift wird, ist abhängig von der Art des Speicherzugriffs. Ebenfalls davon abhängig ist, ob Daten vom Datenbus DEX eingelesen werden müssen oder auf diesen Bus geschrieben werden. Speicherzugriffe werden durch Belegung des Kontrollbus CEX gesteuert.

Außerdem bietet die Schnittstelleneinheit die Anbindung an den Kommunikationsbus (ISA) des Personal Computers (PC). Darüber können Daten in den Speicher des Testboards geschrieben oder daraus ausgelesen werden. Dies wird für die Beobachtung der Tests und das Laden der dafür vorgesehenen "Programme" verwendet.

Abb. 4.14 zeigt das Zustandsdiagramm, nach dem die Schnittstelleneinheit funktioniert: Man erkennt in nebenläufigen Prozessen die Verarbeitung von Daten des ISA-Bus eines Personalcomputers oder des Speichers ebenso wie die Teilung des externen Taktes, um Speicherzugriffe in einem Pipeline-Takt ausführen lassen zu können.



Abbildung 4.14: Zustandsdiagramm der Schnittstelleneinheit



Next:Befehlsholestufe und Befehlspuffer  Up:Strukturelle und funktionale Beschreibung  Previous:Strukturelle und funktionale Beschreibung  Inhalt
Robert Zulauf

2000-04-27