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 />

6 Die Prozessor-Einheit<br />

6.1 Aufgaben der Prozessor-Einheit<br />

Diplomarbeit<br />

Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />

Abschnitt 6.1<br />

Seite 45<br />

Die Prozessor-Einheit hat die Aufgabe, die folgenden Grafikbefehle selbständig zu bearbeiten:<br />

• Block Move: Kopieren eines linearen Datenblocks<br />

• Fill: Einfarbiges Füllen eines zweidimensionalen Bildschirmbereichs<br />

• Pattern Fill: Füllen eines zweidimensionalen Bildschirmbereichs mit einem mehrfarbigem<br />

Füllmuster<br />

• Pattern Fill Transparent: Füllen eines zweidimensionalen Bildschirmbereichs mit einem<br />

mehrfarbigem Füllmuster, das transparente Bereiche enthalten kann<br />

• Pixel Block Transfer (PixBlT): Kopieren eines zweidimensionalen Bildschirmbereichs mit<br />

beliebiger Verknüpfung von Quell- und Zieldaten<br />

• Pixel Block Transfer with Binary Expansion: Kopieren eines zweidimensionalen Bildschirmbereichs<br />

mit beliebiger Verknüpfung von Quell- und Zieldaten, wobei ein bzw. zwei<br />

Quelldaten-Bits eine von zwei bzw. vier Farben zum Beschreiben des Zielbereichs auswählen<br />

• Clip: Anpassung der Grenzen eines zweidimensionalen Bildschirmbereichs an ein vorgegebenes<br />

Zielfenster<br />

• VRAM Copy: Schnelles Kopieren ganzer VRAM-Zeilen unter Verwendung der VRAM-<br />

Schieberegister<br />

• VRAM Block Fill: Schnelles Füllen eines linearen Datenblocks im VRAM unter Verwendung<br />

des Block-Modus der VRAMs<br />

• VRAM Load Color Register: Laden der Color-Register der VRAMs mit einer Füllfarbe<br />

für den “VRAM Block Fill”-Befehl<br />

Bei allen Befehlen werden vom Host zunächst die Parameter des Befehls und dann der Befehls-<br />

Opcode in die TIM-internen Register geschrieben (vgl. Tabelle 18 auf Seite 68). Daraufhin führt<br />

TIM den Befehl aus und löscht nach Ende der Bearbeitung das Befehlsregister.<br />

Alle Befehle, die auf zweidimensionalen Bildschirmbereichen arbeiten, unterstützen zwei Adressierungsarten<br />

(hier am Beispiel des Zielbereichs):<br />

• Bei XY-Adressierung werden die Startkoordinaten DXADR und DYADR des Bildschirmbereichs<br />

angegeben. Abhängig von der Farbtiefe PSIZE eines Pixels und der Bit-Adresse<br />

DSTART bit des Bildschirmanfangs ergibt sich die physikalische Bit-Adresse des ersten Pixels<br />

zu<br />

DADRL L := DSTART bit + (DYADR · DINC + DXADR) · PSIZE .<br />

• Bei linearer Adressierung wird die lineare Pixel-Adresse DADR des Bildschirmbereichs<br />

angegeben. In diesem Fall ergibt ich die physikalische Bit-Adresse des ersten Pixels zu<br />

DADRL L := DSTART bit + DADR · PSIZE .<br />

Bei beiden Adressierungsarten wird die Größe des zweidimensionalen Bildschirmbereichs in X- und<br />

Y-Richtung in Pixeln angegeben (DX und DY, vgl. Tabelle 18 auf Seite 68). Bei den Befehlen<br />

hingegen, die auf linearen Datenblöcken arbeiten, wird die Bereichslänge in Pixeln angegeben.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!