21.07.2013 Aufrufe

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Technische Universität <strong>Berlin</strong><br />

Institut für <strong>Mikroelektronik</strong><br />

Lukas Bauer<br />

5.6 Realisierung in Speedchart-VHDL<br />

5.6.1 Steuerung von Host-Zugriffen<br />

Diplomarbeit<br />

Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />

Abschnitt 5.6<br />

Seite 42<br />

Die Steuerung aller Host-Zugriffe auf den Grafikprozessor – des Lesens und Schreibens von Registern<br />

oder Speicherinhalten – erfolgt im Diagramm TIM ACCESS (Seite 120).<br />

Mit der fallenden Flanke von AS werden die Adresse, die Daten (bei nicht-gemultiplextem Bus),<br />

das Register-Select-Signal RS und die Byte-Select-Signale BS3 bis BS0 in interne Register (in die<br />

Variablen A lat, D lat, RS lat und BS lat) übernommen (T5). Bei Host-Busbreiten unter 32 Bit<br />

werden zur Bestimmung der Byte-Select-Signale auch die unteren Adreßleitungen herangezogen,<br />

da in diesem Fall eine Umsetzung des Zugriffs auf eine interne Datenbreite von 32 Bit<br />

geschieht, wobei nur die adressierten 1 oder 2 Bytes des Langworts über die BS-Signale freigegeben<br />

werden. Der weitere Zugriff wird auf diese Weise vereinfacht, da weitere Fallunterscheidungen nicht<br />

mehr nötig werden.<br />

Abhängig vom Zustand des HWE-Signals bei der fallenden Flanke von AS wird ein Lese- oder<br />

Schreibzugriff durchgeführt (T1, T13). Bei gemultiplexten Bussen (RS MUX=’1’) wird vorher auf<br />

die fallende Flanke von DS gewartet. In Abhängigkeit vom Signal RS lat wird dann ein Registerzugriff<br />

oder ein Speicherzugriff eingeleitet.<br />

Registerzugriffe erfolgen in den untergeordneten Diagrammen REG READ (S. 121) und<br />

REG WRITE (S. 122). Während die Register in REG READ als Langworte gelesen werden,<br />

aus denen anschließend evtl. die richtigen Bytes ausgewählt werden, dürfen in REG WRITE nur<br />

die Bytes geschrieben werden, die über die BS-Signale freigegeben wurden. Eine Besonderheit bilden<br />

einige Register, die nur gelesen werden können, sowie einige Konfigurations-Register, die durch<br />

eine Verriegelung vor unbefugtem Beschreiben geschützt werden können: Ein Schreiben ist nicht<br />

möglich, wenn das LOCK-Bit im CONFIG-Register gesetzt ist. Der Schutz kann jedoch durch<br />

Schreiben einer bestimmten Byte-Folge in das CONFIG-Register aufgehoben werden (T3).<br />

Bei Schreibzugriffen auf den Speicher werden Daten, Adresse und BS-Signale im FIFO-Puffer<br />

für zu schreibende Daten abgelegt (T10) und der Host-Zugriff sofort beendet. Das Beschreiben der<br />

RAMs übernimmt eine andere Einheit (s. Abschnitt 5.6.3). Falls der FIFO-Puffer voll ist, wird so<br />

lange gewartet, bis wieder Platz zum Ablegen des aktuellen Langworts ist.<br />

Bei Lesezugriffen auf den Speicher hingegen muß immer gewartet werden, bis der Schreibpuffer<br />

leer ist, da anderenfalls Unstimmigkeiten bei Schreib- und Lese-Zugriffen auf die gleichen<br />

Daten auftreten könnten. Zur Anforderung der zu lesenden Daten wird die Adresse in A READ<br />

abgelegt und MEM READ auf ’1’ gesetzt. Wenn die Daten bereitstehen, erfolgt die Rückmeldung<br />

(READ DONE=’1’) von der Speicherzugriffs-Einheit (Abschnitt 5.6.3). Daraufhin wird der<br />

Host-Zugriff abgeschlossen.<br />

Der Handshake über das RDY-Signal erfolgt in T14, T17 und T15 gemäß der Beschreibung in<br />

Abschnitt 5.2.<br />

In einem asynchronen Block (Seite 120 rechts) erfolgt für die oben beschriebenen Zugriffe die Umsetzung<br />

der Schreib- und Lese-Daten auf die Host-Busbreite. Bei 8 Bit Host-Busbreite<br />

z. B. werden die Daten vom Host auf allen vier Bytes des TIM-internen Daten-Langworts DATA IN<br />

wiedergegeben, von denen nur eines über BS zum Schreiben freigegeben wird. Die von TIM auszugebenden<br />

Daten werden anhand der untersten zwei Adreßbits aus dem internen Langwort DATA OUT<br />

ausgewählt und auf D7...D0 des Host-Busses ausgegeben. Bei 32 Bit Host-Busbreite erfolgt keine<br />

Umsetzung. Ist jedoch das NUBUS-Bit gesetzt, erfolgt eine Vertauschung der Bytes in der Datenphase.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!