Privacy Policy Cookie Policy Terms and Conditions HyperTransport - Wikipedia

HyperTransport

aus Wikipedia, der freien Enzyklopädie

HyperTransport (HT) ist eine bidirektionale Hochgeschwindigkeitsverbindung zwischen mehreren integrierten Schaltkreisen. Die Topologie wird des Öfteren fälschlicherweise als "Bus" bezeichnet, ist aber in Wirklichkeit ein Baum. Oftmals fehlen jedoch Verzweigungen, so dass sich die Topologie einer Kette ergibt. Daher sind üblicherweise je zwei Geräte miteinander verbunden, wobei diese Verbindung als "Link" bezeichnet wird und aus zwei (einzelnen) unidirektionalen Punkt-zu-Punkt-Verbindung besteht. Noch zu Bus-Takt-Zeiten wurde jede einzelne Information bzw. jedes einzelne Signal freigeschaltet und weitergeleitet. HT-Technologie ermöglicht ein direktes Weiterleiten der Signale durch direkte Geräte bzw. Chip-Verbindungen (Links).

HT ist ein offener Industriestandard, bei dem keine Lizenzgebühren anfallen. Die Entwicklung und Standardisierung wird vom herstellerübergreifenden HT-Konsortium übernommen, dem viele namenhafte Firmen wie AMD, nVidia, IBM und Apple angehören.

Inhaltsverzeichnis

[Bearbeiten] Aufbau eines Links

Bei HT ist jede der beiden unidirektionalen Punkt-zu-Punkt-Verbindungen eines Links 2, 4, 8, 16 oder 32 Bit breit. Unterschiedliche Linkbreiten für beide Richtungen sind explizit erlaubt. Des Weiteren kennt HT eine Reihe von unterschiedlichen Taktfrequenzen, mit denen der Link betrieben werden kann. Zum Zeitpunkt des Erstellens dieses Artikels (HT Spezifikationen 2.0b) beträgt das Minimum 200 MHz und das Maximum 1400 MHz. 1600 MHz ist auch vorgesehen, jedoch sind die elektrischen Spezifikationen hierfür noch nicht erstellt.

Es ist nicht erforderlich, dass jedes Gerät alle Taktfrequenzen unterstützt, jedoch müssen alle Geräte das Minimum von 200 MHz unterstützen. Die Daten werden mit einem DDR-Protokoll übertragen, so dass sich die effektive Datenrate verdoppelt.

Weitere Details im Abschnitt Elektrische Details.

[Bearbeiten] Geräteklassen

Es wird zwischen drei Geräteklassen hinsichtlich ihrer Funktion und Lage innerhalb der HT-Kette unterschieden. Dazu zählen Cave, Tunnel und Bridge.

Die HT Bridge ist der Vermittler zwischen der primären Seite, mit CPU und Speicher, und der sekundären Seite mit den HT-Geräten (der Chain). Ein Tunnel besitzt zwei Seiten mit jeweils einer Empfangs- und einer Sendeeinheit. Der Tunnel kann z.B. eine Netzwerkkarte oder eine Bridge zu einem weiteren Protokoll sein. Ein Cave markiert das Ende der Kette und besitzt nur eine Kommunikationsseite. Durch die Verschaltung von mindestens einer Bridge und einem Cave kann eine einfache HT-Kette aufgebaut werden.

[Bearbeiten] HT-Pakete

HT arbeitet paketbasiert mit einer Paketgröße, die ein Vielfaches von 4 Byte ist. Es gibt zwei Arten von Paketen: Daten- und Kontrollpakete. Letztere sind 4 oder 8 Byte groß, während die Größe von Datenpakete von 4 bis 64 Bytes (in 4-Byte-Schritten) variiert. Müssen weniger als 4 Byte Daten übertragen werden, so wird der Rest des Pakets mit beliebigen Bits aufgefüllt.

Kontrollpakete können drei Typen annehmen: Info-, Anforderungs- und Antwortpakete. Infopakete sind immer 4 Bytes lang. Diese werden nur für die Kommunikation mit dem gegenüberliegenden Gerät eines Links verwendet und werden deswegen nicht zwischengespeichert oder geroutet. Infopakete stellen die niedrigste Ebene des HT-Protokolls dar und werden für Informationen über Flusskontrolle, zur Link-Synchronisation und zur Fehlerbehebung verwendet.

Anforderungspakete mit Adresse sind 8 Bytes lang, sonst 4. Die Adresse ist hierbei 40 Bit groß. Ein optionales Feature ist die Übertragung von 64 Bit Adressen in Anforderungspaketen. Dies wird für jeden Link separat zwischen den beiden Teilnehmern ausgehandelt. In diesem Fall steigt die Größe eines Anforderungspakets auf 12 Byte.

Es sind verschiedene Typen von Anforderungen möglich, wie normales Lesen oder Schreiben von Daten, atomares Lesen-Verändern-Schreiben, Broadcast uvm. Antwortpakete sind immer 4 Byte groß und dienen nur zur Information, dass eine zuvor gesendete Anforderung fertig gestellt wurde. Eventuelle Daten (z. B. bei einer Leseanforderung) werden nicht direkt im Antwortpaket gesendet sondern folgen diesem direkt danach in Form eines oder mehrerer Datenpakete.

[Bearbeiten] Leistungsdaten

Bei HT sind Links mit unterschiedliche Breiten und Taktfrequenz möglich, so dass entsprechend mehr oder weniger Daten übertragen werden. Bei 32 Bit Link-Breite und 1,4 GHz Takt sind gleichzeitig je Richtungen brutto 11,2 GB/s möglich. Da neben den Nutzdaten auch Adressen und Kontrollinformationen mit in den Paketen enthalten sind, muss man hiervon aber noch einen gewissen Overhead abziehen, so dass die tatsächlich nutzbare Bandbreite ein wenig darunter liegt.

Im Vergleich mit anderen technischen Standards wie PCI-Express oder Rapid I/O kann sich Hypertransport also gut sehen lassen. Bei HT ist insbesondere die Fähigkeit hervorzuheben, dass dringende Kontrollpakete (z. B. Anforderungen) jederzeit zwischen einzelne Datenpakete eingefügt werden können, auch wenn die Bandbreite des Links bereits voll ausgeschöpft wird. (Priority Request Interleaving; siehe: http://www.hypertransport.org/tech/tech_latency.cfm)

Diese Fähigkeit macht HT zusammen mit dem hohen Takt zu einer Verbindungslösung, die sehr niedrige Latenzzeiten aufweist, was insbesondere für Anwendungen im HPC-Bereich wichtig ist.

[Bearbeiten] HTX

Mit HTX ist seit Version 2.0 auch ein Steckkartenstandard definiert, so dass es nun möglich ist, einzelne Karten direkt mit einem nativen HT-Interface zu produzieren. Verglichen mit einer Lösung, bei der zwischen Karte und HT-Link noch ein anderen Busstandard (z. B. PCI-X) benutzt wird, sinkt damit noch einmal die effektive Latenz. Z. B. bietet Pathscale einen Infiniband-Adapter mit HTX-Konnektor an und wirbt mit sehr geringen Latenzen (1,29 µs MPI-Latency).

[Bearbeiten] Elektrische Details

Das elektrische Interface von HT benutzt zur Übertragung der Daten differentielle Signalpaare mit niedriger Spannung (1,2 Volt ± 5%). Die Terminierung muss laut HT-Spezifikation beim Empfänger "on-die" und mit 100 Ohm Impedanz stattfinden.

Weitere elektrische Leitungen pro Richtung eines Links sind:

  • Für je 8 Bit Datenbreite gibt es eine Taktleitung, welche vom Sender zum Empfänger verläuft, mit der die Daten auf den 8 Datenleitungen beim Empfänger gesampled werden (quell-synchrone Taktung).
  • Eine Leitung, die anzeigt ob das momentane Paket ein Kontrollpaket ist oder nicht.
  • Eine Leitung, die anzeigt ob Strom und Takt stabil anliegen.
  • Eine Leitung für den Reset.

Für x86 Systeme sind zwei zusätzliche Leitungen verlangt:

  • eine für das An- und Abschalten des Links für die Dauer einer Taktfrequenzänderung (bei Cool'n'Quiet bzw. SpeedStep)
  • zeigt an, ob der Link aktiv ist

[Bearbeiten] Anwendungsgebiete für HyperTransport

[Bearbeiten] Backplane-Ersatz

Haupteinsatzgebiet für HyperTransport wird der Ersatz von Backplane-Bussen sein, die gegenwärtig für fast jede Prozessorgeneration unterschiedlich sind. Ein Pentium-Prozessor kann beispielsweise nicht in die Backplane eines Pentium 4 gesteckt werden.

Um ein traditionelles System erweitern zu können, muss die Backplane Schnittstellen zu anderen Standard-Bussen wie z. B. AGP oder PCI haben. Diese werden meist in einen Controller mit dem Namen Northbridge integriert.

Ein Computer mit HyperTransport ist flexibel. Ein einziger HyperTransport↔PCI-Adapterchip funktioniert in jeder Maschine und erlaubt den PCI-Karten, mit jeder CPU zu reden. AMD ersetzt damit in der neuen AMD64-Familie die Prozessor-Backplane.

[Bearbeiten] Multiprozessor-Verbindungen

Ein weiteres Anwendungsgebiet für HyperTransport ist die Verbindung von NUMA-Prozessoren in Multiprozessor-Systemen, wie sie derzeit bei AMDs Opteron-Reihe praktiziert wird.

[Bearbeiten] Backplane-Ersatz für Router oder Switches

HyperTransport könnte auch die Backplane in Routern und Switches ersetzen. Diese Geräte haben mehrere Ports, und die ankommenden Daten müssen so schnell wie möglich zwischen den entsprechenden Ports weitergeleitet werden. Ein Ethernet-Switch mit 4 Ports benötigt beispielsweise eine Backplane mit 800 Mbit/s (100 Mbit/s · 4 Ports · 2). Mit HyperTransport könnte man Switches bauen, die aus vier HyperTransport↔Ethernet-Umsetzern bestehen und HT als Backplane benutzen.

Siehe auch: Rapid I/O

[Bearbeiten] Geschichtliches

Hypertransport ging aus einem Projekt von AMD mit dem Namen Lightning Data Transport (LDT) hervor. Derzeitige Versionen:

  • Hypertransport 1.05: 0,2...0,8 GHz, DDR-Technologie, max. 32 Lanes/Richtung (Februar 2001)
  • Hypertransport 2.0: 0,2...1,4 GHz, DDR-Technologie, max. 32 Lanes/Richtung (Februar 2004)
  • Hypertransport 3.0: 0,2...2,6 GHz, DDR-Technologie, max. 32 Lanes/Richtung (April 2006)

[Bearbeiten] Weblinks

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -