DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
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 />
Diplomarbeit<br />
Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />
Abschnitt 6.3<br />
Seite 50<br />
Da S HI LW und S LO LW mit Nullen aufgefüllt werden, ist ein Zusammenfügen der Langworte<br />
aus dem Quellbereich im Lese-Puffer einfach möglich, indem die Werte aus S LO LW in den Lese-<br />
Puffer geschrieben und die Werte aus S HI LW mit dem Inhalt des Lese-Puffers oder-verknüpft<br />
werden (Abb. 34, Mitte).<br />
Ist der Bit-Offset SBOS L im Quellbereich größer als der im Zielbereich, tritt wie in der Abbildung<br />
der Fall ein, daß die Daten aus S HI LW beim ersten Langwort keine gültigen Daten enthalten.<br />
Somit müssen die Daten aus S LO LW an die erste Position des Lese-Puffers geschrieben werden.<br />
Anderenfalls müssen die Daten aus beiden Langworten an den ersten beiden Positionen eingetragen<br />
werden.<br />
Das Kopieren der Daten aus dem Lese-Puffer in den Zielbereich kann nun auf Langwortbasis<br />
geschehen. Falls die Bereichsgrenzen mit Byte-Grenzen zusammenfallen, kann auf ein Lesen,<br />
Ausmaskieren und Zurückschreiben der Randdaten, wie es in Abbildung 34 oben dargestellt ist,<br />
verzichtet werden, da die Randdaten dann über die CAS-Signale byteweise ausmaskiert werden<br />
können.<br />
Zielbereich:<br />
Lese-Puffer:<br />
Quellbereich:<br />
DBOS ✛✲<br />
L ✛DBOS ✲R<br />
0 ... 0 1 ............................... 1 1 ................ 1 0 ................... DBMASK L DBMASK R<br />
0<br />
✻<br />
❄<br />
DATA OUT DATA OUT<br />
✻ ✻ ✻ ✻<br />
<br />
✻ ✻ ✻<br />
✻<br />
(or) (or) (or)<br />
✻<br />
( DBOS L – SBOS L )<br />
✲<br />
✛ SBOS L<br />
✻<br />
✻ ✻<br />
Langwort-Multiplexer, 2 Langworte auf 2 aus 9 (hier 2 aus 4) Positionen<br />
✲<br />
<br />
✻<br />
<br />
<br />
✻<br />
<br />
0 ....................... 0 0 ........... 0 S HI LW / S LO LW<br />
✻<br />
BIT SHIFT, Bit-Multiplexer,<br />
32 Bit auf 32 aus 64 Positionen<br />
✻<br />
DATA OUT<br />
✻RAM-Lese-Daten<br />
Abbildung 34: Beispiel für den Datenfluß beim Kopieren einer Zeile mit dem PixBlT-Befehl, wobei Quell- und<br />
Zieldaten an unterschiedlichen Positionen relativ zum Langwort-Anfang beginnen<br />
✻<br />
❄