Accelerated Graphics Port

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
AGP-Steckplatz

Der Accelerated Graphics Port (AGP) ist eine Anschlussnorm auf PC-Mainboards zur direkten Verbindung der Grafikkarte mit dem Chipsatz/Northbridge. Er basiert technologisch auf dem PCI-Bus.

Eigenschaften[Bearbeiten]

Eine AGP-Grafikkarte mit ATI-Chip

Sobald der Grafikkartenspeicher nicht mehr ausreicht, benutzt AGP den normalen Arbeitsspeicher (RAM) des PCs, um dort zum Beispiel Monitorbild, Texturen, Z-Buffer-, Alpha-Blending- und andere Grafikdaten zu hinterlegen. Sogenannte „Bursts“ ermöglichen in diesem zusammenhängenden Speichermanagement ein schnelles Lesen der Daten. Dadurch reduziert AGP die Kosten als ein High-End-Grafiksystem. Es erlaubt auch die effizientere Nutzung des Framebuffer-Speichers und beschleunigt so ebenfalls 2D-Grafik. Von einigen RAID-Controllern wird der AGP-Slot aufgrund seiner höheren Transferrate als Steckplatz anstelle von PCI benutzt, obwohl er eigentlich nicht dafür entwickelt worden ist. AGP ist kein Bus, sondern eine Punkt-zu-Punkt-Verbindung. Es gibt einige wenige Hauptplatinen mit mehreren unabhängigen AGP-Steckplätzen (denen dann jeweils ein eigener Controller auf der Hauptplatine zugeordnet sein muss), im Normalfall ist aber nur ein AGP-Slot vorhanden.

Entwicklung[Bearbeiten]

AGP wurde von Intel entwickelt und kam erstmals 1997 im i440LX-Chipsatz für den Pentium II-Prozessor zum Einsatz. Ab 1998 tauchte AGP in großem Stil in handelsüblichen PCs auf, die auch mit Chipsätzen anderer Hersteller bestückt waren. Auf der Hauptplatine ist im Wesentlichen der AGP-Steckplatz und die AGP-Bridge erforderlich, die meistens in der Northbridge des Chipsatzes untergebracht ist. Die Grafikkarte ist auf diese Weise auf dem schnellsten Weg mit der CPU und dem Arbeitsspeicher verbunden, die beide für die Grafikperformance von essentieller Bedeutung sind.

Versionen[Bearbeiten]

Die verschiedenen Versionen des AGP-Sockels auf der Hauptplatine (Slotblech-Seite jeweils links)

Die erste AGP-Version, AGP 1.0, erschien 1997 mit den Modi AGP 1x und AGP 2x. AGP 1x überträgt pro Takt 32 Bit an Daten mit einer gegenüber PCI verdoppelten Taktfrequenz von 66 MHz und erreicht eine theoretische Transferrate von 266 Megabyte pro Sekunde. AGP 2x überträgt die Daten im DDR-Verfahren und erreicht bei gleicher Taktfrequenz 533 MB/s. Die Signalspannung bei AGP 1.0 beträgt 3,3 Volt. Die schnellsten kompatiblen Karten basieren auf den ATI Radeon 9700- bzw. nVidia GeForce FX-GPUs.

AGP 2.0 (1999) bot zusätzlich den Modus AGP 4x mit einer maximalen Transferrate von 1066 MB/s bei einer reduzierten Signalspannung von 1,5 Volt. Die Geschwindigkeitssteigerung wurde erreicht, indem nun vier Datenpakete pro Takt übertragen wurden. Die meisten Grafikkarten dieser Generation waren voll abwärtskompatibel zum älteren Standard und ließen sich auf Hauptplatinen mit 3,3 V bei AGP 2x betreiben. Diese Modelle werden nach der AGP-Spezifikation Universal AGP-Karten genannt und haben zwei Kerben in ihrer Anschlussleiste.

AGP 3.0[1] (2002) erreichte im neuen Modus AGP 8x bei nur noch 0,8 Volt Signalspannung die mit 2133 MB/s höchste AGP-Transferrate, statt vier wurden nun acht Datenpakete pro Takt übertragen. Die Modi 1x und 2x existieren in diesem Standard nicht mehr. Praktisch alle Grafikkarten dieser Generation unterstützen jedoch für den Betrieb in älteren Mainboards auch AGP 2.0 mit 1,5 V und dessen langsamere Modi ("Universal 1.5V AGP 3.0" [2]), einige sogar AGP 1.0 mit 3,3 V ("Universal AGP 3.0" [2]) – das ist an den zwei Kerben in der Anschlussleiste erkennbar. Da die mechanische Kodierung von AGP 3.0-Modellen mit der von 2.0 identisch ist, tolerieren alle 3.0 Karten den Einbau in 2.0-Systeme, Nicht-Universalkarten starten darin jedoch nicht. Ältere Karten verursachen in 3.0-Mainboards aufgrund der im Standard bereits vorgesehenen Schutzschaltung ebenfalls keinen Schaden, starten jedoch nur in den gleichsam benannten Universalmodellen [3].

AGP 3.5[4] (2004) führte keine neuen Transfermodi ein, sondern widmete sich der Stabilisierung der Umsetzung. Einheitliche Standards für GART und Aperture (siehe AGP-Begriffe) sollten einen einheitlichen AGP-Treiber für alle Mainboards bringen, welcher in Form der Datei uagp35.sys auch in Windows XP SP2 einzog. Die vorher verwendeten chipsatzeigenen Treiber führten immer wieder zu Problemen bei AGP-Optionen wie FastWrites und schnelleren Transfermodi. Auch Dual-AGP-Mainboards zur Zusammenschaltung mehrerer Grafikkarten sollten möglich werden, das kam aber durch die Entwicklung von PCI-Express und den darauf aufbauenden Multi-Grafikkarten-Technologien (z. B. Crossfire oder SLI) kaum zum Tragen.

Zusätzlich existieren noch Karten, die auf dem so genannten AGP-Pro-Steckplatz basieren. Deren Kontaktleisten sind etwas länger als die normaler AGP-Karten. AGP Pro versorgt Karten mit bis zu 50 W anstatt der 25 Watt des normalen Steckplatzes. Als Alternative dazu können stromhungrige Grafikkarten extern über eine eigens angebrachte Spannungsversorgung gespeist werden (5V/12V, Molex-Steckverbinder), was aufgrund der geringen Verbreitung der Pro-Steckplätze die häufiger verwendete Lösung war. Ein AGP Pro-Slot nimmt auch normale AGP-Karten auf und war zumeist im semiprofessionellen Workstationbereich zu finden.

AGP-Steckkarten besitzen an unterschiedlichen Stellen eine Einkerbung im Stecker, in den der entsprechende Steg im Steckplatz auf der Hauptplatine passen muss. Bei AGP 1.0 (AGP 1x/2x) sitzt der Steg weiter in Richtung Slotblech, ab AGP 2.0 dagegen in Richtung der Gehäusevorderwand. Das soll verhindern, dass Karten mit 3,3 V Signalspannung in Hauptplatinen mit nur noch 1,5 bzw 0,8 V Signalspannung gesteckt werden, da sonst bei Inbetriebnahme eine Beschädigung droht (siehe nächster Absatz).

Inkompatibilitäten[Bearbeiten]

Universal AGP-Karten sind an den zwei Kerben im Steckkontakt erkennbar

Durch die Zuordnung der Stege zu den Signalspannungen sollte ein versehentliches Einbauen inkompatibler Grafikkarten physisch verhindert werden. Dennoch gab es sowohl Hersteller von Grafikkarten als auch Hauptplatinen, die einen AGP-Universalanschluss verbauten, obwohl ihr Produkt zwingend an eine AGP-Version und damit Spannung gebunden war. Ein somit mögliches Einbauen inkompatibler Karten führt mit großer Wahrscheinlichkeit zur Beschädigung von Grafikkarte und Mainboard-Komponenten.

So wurden einige TNT2- und SiS305-basierende Grafikkarten gefertigt, welche mit AGP 1.0 arbeiten, aufgrund ihres irreführenden Universalanschlusses mit zwei Kerben aber auch in Hauptplatinen mit reinem AGP 2.0-Anschluss passen. Diese reinen AGP 2.0-Hauptplatinen sind jedoch inkompatibel mit der für Version 1.0 vorgesehenen Spannung. Einige dieser Mainboardmodelle verfügen daher über eine Schutzschaltung, die bei solchen 3,3 V-Karten einen Start mit einhergehendem Schaden verhindern. Diesen Fall zeigen sie meist akustisch oder via LED an.

Auf Mainboardseite gab es ebenfalls Modelle mit Intel 845 und 850- sowie nVidia NForce-Chipsatz, welche versehentlich einen AGP-Universalanschluss besaßen, obwohl sie AGP 1.0 nicht unterstützen. Auch hier bewirkte das so mögliche Einsetzen einer 3,3 V-Karte meist eine spannungsverursachte Beschädigung beider Komponenten. Die Verwendung dieser Universalanschlüsse könnte an den tatsächlich universalkompatiblen Vorgängermodellen der Mainboardchipsätze liegen. So unterstützte der Intel 815-Chipsatz AGP 1.0 und 2.0-Karten. Er erschien zwei Jahre vor dem i845, welcher die Unterstützung für Version 1.0 und damit allen 3,3 V-Karten kappte.

AGP 3.0-Karten haben standardgemäß denselben Anschluss wie 2.0-Karten, verfügen daher jedoch lückenlos über die vorgesehene Schutzschaltung, um beim Betrieb in 2.0-Mainboards mit derer höheren Spannung keinen Schaden zu nehmen. Zur Kompatibilität siehe der obige Absatz zu AGP 3.0.

AGP-Begriffe[Bearbeiten]

Aperture Size ist eine Menge an Arbeitsspeicher, die der Grafikchip über den AGP-Port zur Speicherung von Texturen verwenden kann. Er wird auch als AGP Memory bezeichnet und sollte günstige Grafikkarten durch geringere Mengen lokalen, auf der Grafikkarte verbauten Speichers ermöglichen. Der Aperture-Bereich wird vom Betriebssystem nicht ausgelagert, um hohe Geschwindigkeit zu sichern, ist im Vergleich zum lokalen Grafik-Speicher jedoch langsamer (in einem konkreten Beispiel sank die Rendering-Performance hierdurch um rund 30 % ab[5]). Es gibt zwei Modi der Verwendung, deren Bezeichnung oft vermischt wird. Im DiME-Modus (Direct Memory Execute) kann der Grafikchip nur Texturen aus dem Aperture-Bereich zur Fertigstellung eines Bildes verwenden, sein lokaler Speicher wird ausschließlich für Rendering und Framebuffer verwendet.[6] Der Intel-i740-Chip nutzte diesen Modus zur Demonstration der Aperture, obwohl er auch zum DiMEL-Modus (Direct Memory Execute and Local Memory) fähig war. Dieser Modus erlaubt die sinnvolle Kombination aus lokalem und AGP-Speicher. Hierzu werden die meistverwendeten Texturen lokal gehalten, was einem Textur-Cache des Grafikchips entspricht. Dieses Vorgehen beherrschten zuvor auch manche PCI-Grafikkarten; AGP bewirkte mit DiMEL jedoch den Vorteil der schnelleren AGP-Bandbreite zum Arbeitsspeicher sowie die Sicherheit, dass Texturen nicht auf die Festplatte ausgelagert werden.

System Memory bezeichnet normalen Arbeitsspeicher außerhalb der Aperture Size, welcher auch AGP-Grafikkarten wie ihren Vorgängern zur Verfügung steht. Der wohl erste Chip, der diesen Speicher nutzte, war der in vielerlei Hinsicht exotische nVidia NV1[7].

GART – Die zum Auslagern von Texturen vorgesehene Aperture Size wird im Arbeitsspeicher erst bei Bedarf reserviert. Zuvor steht sie dem System für andere Zwecke zur Verfügung. Kommt sie dann zum Einsatz, findet der im Mainboardchipsatz befindliche Speicher-Controller kaum einen zusammenhängenden Speicherabschnitt dieser Größe. Daher werden die Daten verteilt (fragmentiert) abgelegt. Dem Grafikchip wird jedoch ein zusammenhängender Speicher vermittelt. Die Übersetzung übernimmt eine GART (Graphics Address Remapping Table)[8]. Diese ähnelt der Memory Management Unit eines Hauptprozessors.

Sideband Addressing ist die zeitversetzte Übermittlung von Adressen auf dem AGP. Auf diesen acht „Sideband lines“ kann der Grafikchip neue Daten anfordern, während die aktuellen noch auf den 32 Adress- und Datenleitungen transferiert werden. Damit stehen die neuen Daten dann direkt nach Versendung der aktuellen zur Verfügung.

Fast-Writes wurde erst mit AGP 2.0 eingeführt und zuerst von den Nvidia-Geforce-256-Grafikkarten umgesetzt.[9] Dabei können Grafikkarte und CPU Daten direkt austauschen, anstatt sie erst in den Arbeitsspeicher zu schreiben und von dem Empfänger nochmals von dort lesen zu lassen. Diese Transfer-Dopplung ohne Fast-Writes halbiert folglich effektiv die RAM-Bandbreite. Zum Tragen kommt das, sobald die Grafikkarte entsprechend viele Daten anfordert. Fast-Writes behebt dies und umfasst allen Datenaustausch, 2D wie 3D. Oft unterstützt die Grafikkarte jedoch AGP-Modi, die sie mit Ihrer Rechenleistung gar nicht auslasten kann. Speziell im Einsteigersegment wurden hohe AGP-Modi mehr wegen ihrer Vermarktungswirkung implementiert. Fehlt hier das Fast-Writes-Feature, bewirkt das demnach genauso wenig Nachteil wie bei allen AGP-Mainboards, bei denen die RAM-Bandbreite etwa dem Doppelten der AGP-Datenrate entspricht (wie bei Modellen mit Dual-Channel-DDR). Zudem achteten Spielehersteller meist auf eine möglichst bandbreitenschonende Programmierung, so dass die Maximalauslastung des AGP und damit der Bedarf an Fast-Writes seltener zustande kam. Herausforderung bei der Fast-Writes-Umsetzung ist ein sauberes Daten-Signal. Daher deaktivierte Intel im 815-Chipsatz diese Funktion ebenso wie der ATI-Catalyst-Treiber in als instabil diagnostizierten Systemen. Einen entsprechenden Test vollzieht er nach seiner Installation. Fast-Writes ist durch Heruntersetzen des AGP-Modus oft möglich, wo es zuvor instabil lief und kann so dennoch zu einer Geschwindigkeitssteigerung verhelfen. Dies erfordert jedoch individuelle Messungen mittels Benchmarks. Fast-Writes ist für den AGP-2x-Modus aufwärts verfügbar.

AGP als Auslaufmodell[Bearbeiten]

Mit der neuesten Version AGP 8x ist diese Technik zu Ende entwickelt, da sich aufgrund von Timing-Problemen bei hohen Taktungen, die durch die parallele Datenübertragung entstehen, und dem dadurch zunehmend komplizierter werdenden Platinendesign die Geschwindigkeit nicht weiter steigern lässt. Auch das besondere Merkmal von AGP, eine schnelle Punkt-zu-Punkt-Verbindung zum Arbeitsspeicher anzubieten, hat inzwischen an Wichtigkeit verloren, da durch den starken Preisverfall bei Speicherchips die meisten Grafikkarten damit gut ausgestattet sind. Dazu kommt, dass AGP als Speziallösung für Grafikkarten konzipiert ist, aber auch immer mehr andere Komponenten, die bis dahin immer noch über PCI oder PCI-X angebunden wurden, höhere Anforderungen bezüglich der Datenübertragungsrate aufweisen. Unter anderem mit dieser Motivation hat die PCI-SIG den Standard PCI-Express entworfen, der sowohl PCI als auch AGP beerbt und dabei eine noch größere Datenübertragungsrate als AGP bietet. Seit Mitte 2006 wurden kaum noch neue Hauptplatinen mit AGP-Unterstützung vorgestellt, auch Grafikkarten für den AGP-Slot sind selten geworden.

Weblinks[Bearbeiten]

 Commons: AGP – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten]

  1. http://www.playtool.com/pages/agpcompat/agp30.pdf AGP 3.0
  2. a b http://www.playtool.com/pages/agpcompat/agp.html Absatz "AGP Cards"
  3. http://www.playtool.com/pages/agpcompat/agp.html Absatz "AGP Motherboards"
  4. http://www.microsoft.com/whdc/archive/uagp.mspx AGP 3.5
  5. http://www.thg.ru/graphic/19980702/print.html Geschwindigkeit von AGP-Memory im Vergleich zu lokalem VRAM
  6.  Dave Dzatko, Tom Shanley, MindShare Inc.: AGP system architecture. 2. Auflage. Addison-Wesley, 1999, ISBN 978-0201700695, S. 66f.
  7. http://www.tga3dx.com/1995.html
  8. http://www.cs.umd.edu/class/fall2001/cmsc411/projects/agp/hardwareagp.htm Erläuterung der GART-Übersetzung
  9. http://www.slizone.ru/object/LO_20010601_5754.html Pressemappe zur ersten FastWrites-Implementierung