Hardwarebeschleunigung

Hardwarebeschleunigung

Hardwarebeschleunigung bezeichnet die Entlastung des Hauptprozessors durch Delegation spezieller rechenintensiver Aufgaben an auf diese Aufgaben spezialisierte Hardware. Diese Technik wird insbesondere bei der Grafikdarstellung in Computern verwendet.

Inhaltsverzeichnis

Technik

Die Architektur eines Hauptprozessors ist so ausgelegt, dass er beliebige Aufgaben in kurzer Zeit ausführen kann. Die Bandbreite ausführbarer Aufgaben ist nur durch die Software beschränkt. Allerdings gibt es einige wiederkehrende Aufgaben, die durch die allgemeine Auslegung der Prozessorarchitektur von der CPU nicht sehr effizient und schnell ausgeführt werden können. Die Möglichkeiten der Optimierung beschränken sich beim Prozessor auf die Software.

Abhilfe schaffen spezielle Hardwarebausteine (Chips, Prozessoren), die auf diese wiederkehrenden Aufgaben spezialisiert sind. Sie müssen nicht so flexibel sein wie der Hauptprozessor, Optimierungen in der Ausführung können daher in der Architektur dieser Bausteine schon in der Hardware berücksichtigt werden. Gleichzeitig steht die Rechenzeit des Hauptprozessors für andere Aufgaben zur Verfügung.

Einige Aufgaben lassen sich sehr effizient in Tausende von Teilaufgaben zerlegen. Dazu gehört die Fouriertransformation in einem bestimmten Frequenzband oder das Rendern eines kleinen Bildausschnittes. Diese können unabhängig voneinander parallel verarbeitet werden. Durch massive Parallelisierung (siehe auch Vektorrechner), also den Einsatz vieler parallel arbeitender kleiner Prozessoren für diese Spezialaufgabe, kann die Berechnung entscheidend beschleunigt werden. In vielen Fällen steigt die Rechengeschwindigkeit nahezu linear mit der Anzahl paralleler Prozessoren (Amdahlsches Gesetz). Zum Beispiel arbeiten auf der Grafikkarte Nvidia GTX260 192 Streamprozessoren gleichzeitig.[1]

Unter Aspekten der Energieeffizienz kann eine solche Parallelisierung ebenfalls sinnvoll sein. Der Energieverbrauch steigt dabei linear zur Anzahl der Prozessoren an, während er bei der Erhöhung der Taktfrequenz weitgehend quadratisch ansteigt. Die Bereiche der Hardwarebeschleunigung können daher mit geringerem Takt und weniger Energieverbrauch betrieben werden.

Grafikkarten

Tseng Labs ET4000/W32p

In den Anfängen der Computertechnik gehörte die Bildschirmdarstellung zu den Aufgaben der CPU (z.B. Sinclair ZX81[2]). Erste Chips übernahmen die Darstellung der Textzeichen und Ausgabe an einen Monitor. Später folgte die Verwaltung eines eigenen Grafikspeichers und die Farbgrafikdarstellung (EGA- und VGA-Karten). Mit dem Aufkommen Grafischer Benutzeroberflächen übernahmen diese Grafikkarten einfache, immer wiederkehrende Aufgaben, wie das Zeichnen von Rechtecken, Linien und Kreisen. Ein spezieller Grafikkartentreiber erhielt die Zeichenbefehle vom Betriebssystem und delegierte sie an die Grafikkarte. Alternativ konnten diese Aufgaben im Softwaremodus auch von der CPU übernommen werden - allerdings unter erheblichem Geschwindigkeitsverlust.

Den nächsten logischen Entwicklungsschritt stellten 1996 die sogenannten 3D-Grafikkarten dar. Zunächst übernahmen sie den Aufgabenbereich, sehr schnell Dreiecke (Grundfigur der aus Polygonen bestehenden 3D-Objekte) in den Grafikspeicher zu schreiben und mit einer angepassten Textur zu versehen (z.B. Voodoo-Karten von 3dfx[3]). Anfang 2000 wurde begonnen, auch die Berechnung des 3D-Gittermodells auf die Grafikkarte zu verlagern (sogenannte T&L-Einheiten). Seit etwa 2006 übernehmen Grafikkarten zunehmend auch die Berechnung physikalischer Vorgänge zur Manipulation des 3D-Modells durch sogenannte Physikbeschleuniger [4].

Weitere Anwendungen

Von der Industrie werden ständig Logikbausteine entwickelt, die Spezialaufgaben zur Entlastung des Hauptprozessors übernehmen[5]. Dazu gehören die Dekodierung von mp3-Daten, En- und Dekodierung von Videodaten[6], Synthese von Audiosignalen (Audiobeschleuniger) und als Grenzfall digitale Signalprozessoren.

Gegenläufige Tendenzen

Intel 80386 CPU mit math. Koprozessor 80387

Allerdings ist zu bedenken, dass ursprünglich eigenständige Bausteine zunehmend in die CPU integriert werden, um die Zugriffszeiten auf die jeweilige Funktionseinheit zu verkürzen.

Bestes Beispiel dafür ist sicherlich der mathematische Koprozessor aus den 1980er bis 90er Jahren. Er konnte optional auf dem Motherboard in einen vorgesehenen Sockel aufgesteckt werden (z. B. Intel 8087 und Nachfolger) und unterstützte dann die CPU bei der Berechnung von Gleitkommazahlen. War keiner vorhanden, übernahm der Hauptprozessor die Berechnung von Gleitkommazahlen, allerdings unter erheblichem Geschwindigkeitsverlust.

Auch bei den ersten Prozessoren, die einen Cache besaßen, befand sich dieser in einem externen Chip auf dem Mainboard. Allerdings ist es bereits seit den 1990er Jahren üblich, den Cache im Prozessor zu integrieren. Seit neuestem werden sogar Teile des Chipsatzes, z. B. der Speichercontroller oder die Northbridge, zusammen mit dem Hauptprozessor auf einem Baustein integriert. Dieselbe Entwicklung zeichnet sich bei integrierten Grafikprozessoreinheiten (IGPs) ab, hierbei nimmt - durch den früheren Erwerb der Grafikkartenschmiede ATI - insbesondere AMD mit seiner "Fusion"-Technologie eine führende Rolle ein.

Einzelnachweise

  1. Informationen zur GTX260 auf der nvidia Homepage.
  2. [1] Detaillierte Beschreibung der Bildschirmdarstellung mit der CPU beim ZX81
  3. [2] 3D-Grafikkarte Voodoo, die parallel zur 2D-Karte betrieben wurde (durchgeschleift)
  4. [3] Physikbeschleuniger NVIDIA PhysX
  5. [4] Spezialschaltkreise von TI in einem typischen Notebook
  6. [5] Avivo von ATI für HD-Inhalte

Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • 3D-Grafikkarte — Grafikkarte für den PCIe Slot Eine Grafikkarte steuert in einem Personal Computer die Bildschirmanzeige. Grafikkarten werden entweder als PC Erweiterungskarten (über die Bussysteme ISA, VLB, PCI, AGP oder über …   Deutsch Wikipedia

  • GraKa — Grafikkarte für den PCIe Slot Eine Grafikkarte steuert in einem Personal Computer die Bildschirmanzeige. Grafikkarten werden entweder als PC Erweiterungskarten (über die Bussysteme ISA, VLB, PCI, AGP oder über …   Deutsch Wikipedia

  • Graka — Grafikkarte für den PCIe Slot Eine Grafikkarte steuert in einem Personal Computer die Bildschirmanzeige. Grafikkarten werden entweder als PC Erweiterungskarten (über die Bussysteme ISA, VLB, PCI, AGP oder über …   Deutsch Wikipedia

  • Graphikkarte — Grafikkarte für den PCIe Slot Eine Grafikkarte steuert in einem Personal Computer die Bildschirmanzeige. Grafikkarten werden entweder als PC Erweiterungskarten (über die Bussysteme ISA, VLB, PCI, AGP oder über …   Deutsch Wikipedia

  • TV-Out — Grafikkarte für den PCIe Slot Eine Grafikkarte steuert in einem Personal Computer die Bildschirmanzeige. Grafikkarten werden entweder als PC Erweiterungskarten (über die Bussysteme ISA, VLB, PCI, AGP oder über …   Deutsch Wikipedia

  • Softwaremodus — Der Softwaremodus ist eine Option innerhalb eines Computerspiels, bei dem auf Hardwarebeschleunigung seitens einer Grafikkarte verzichtet wird. Herkunft des Begriffs In den Jahren vor dem Aufkommen der 3D Grafikkarten Mitte der 1990er Jahre war… …   Deutsch Wikipedia

  • Xegl — ist ein X Server für das Linux Betriebssystem, mit dem eine Bereinigung und Modernisierung der aktuellen Linux Grafiktreiberarchitektur erreicht werden soll. Basis ist die betriebs und windowing systemunabhängige… …   Deutsch Wikipedia

  • 2D-Computergrafik — Die Computergrafik ist ein Teilgebiet der Informatik, das sich mit der computergestützten Erzeugung[1], im weiten Sinne auch mit der Bearbeitung[2] von Bildern befasst. Mit den Mitteln der Computergrafik entstandene Bilder werden Computergrafiken …   Deutsch Wikipedia

  • 3D-Computergrafik — Die Computergrafik ist ein Teilgebiet der Informatik, das sich mit der computergestützten Erzeugung[1], im weiten Sinne auch mit der Bearbeitung[2] von Bildern befasst. Mit den Mitteln der Computergrafik entstandene Bilder werden Computergrafiken …   Deutsch Wikipedia

  • Computergraphik — Die Computergrafik ist ein Teilgebiet der Informatik, das sich mit der computergestützten Erzeugung[1], im weiten Sinne auch mit der Bearbeitung[2] von Bildern befasst. Mit den Mitteln der Computergrafik entstandene Bilder werden Computergrafiken …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”