HyperTransport
View on Wikipedia

HyperTransport (HT), formerly known as Lightning Data Transport, is a technology for interconnection of computer processors. It is a bidirectional serial/parallel high-bandwidth, low-latency point-to-point link that was introduced on April 2, 2001.[1] The HyperTransport Consortium is in charge of promoting and developing HyperTransport technology.
HyperTransport is best known as the system bus architecture of AMD central processing units (CPUs) from Athlon 64 through AMD FX and the associated motherboard chipsets. HyperTransport has also been used by IBM and Apple for the Power Mac G5 machines, as well as a number of modern MIPS systems.
The current specification HTX 3.1 remained competitive for 2014 high-speed (2666 and 3200 MT/s or about 10.4 GB/s and 12.8 GB/s) DDR4 RAM and slower (around 1 GB/s [1] similar to high end PCIe SSDs ULLtraDIMM flash RAM) technology[clarification needed]—a wider range of RAM speeds on a common CPU bus than any Intel front-side bus. Intel technologies require each speed range of RAM to have its own interface, resulting in a more complex motherboard layout but with fewer bottlenecks. HTX 3.1 at 26 GB/s can serve as a unified bus for as many as four DDR4 sticks running at the fastest proposed speeds. Beyond that DDR4 RAM may require two or more HTX 3.1 buses diminishing its value as unified transport.
Overview
[edit]Links and rates
[edit]HyperTransport comes in four versions—1.x, 2.0, 3.0, and 3.1—which run from 200 MHz to 3.2 GHz. It is also a DDR or "double data rate" connection, meaning it sends data on both the rising and falling edges of the clock signal. This allows for a maximum data rate of 6400 MT/s when running at 3.2 GHz. The operating frequency is autonegotiated with the motherboard chipset (North Bridge) in current computing.
HyperTransport supports an autonegotiated bit width, ranging from 2 to 32 bits per link; there are two unidirectional links per HyperTransport bus. With the advent of version 3.1, using full 32-bit links and utilizing the full HyperTransport 3.1 specification's operating frequency, the theoretical transfer rate is 25.6 GB/s (3.2 GHz × 2 transfers per clock cycle × 32 bits per link) per direction, or 51.2 GB/s aggregated throughput, making it faster than most existing bus standard for PC workstations and servers as well as making it faster than most bus standards for high-performance computing and networking.
Links of various widths can be mixed together in a single system configuration as in one 16-bit link to another CPU and one 8-bit link to a peripheral device, which allows for a wider interconnect between CPUs, and a lower bandwidth interconnect to peripherals as appropriate. It also supports link splitting, where a single 16-bit link can be divided into two 8-bit links. The technology also typically has lower latency than other solutions due to its lower overhead.
Electrically, HyperTransport is similar to low-voltage differential signaling (LVDS) operating at 1.2 V.[2] HyperTransport 2.0 added post-cursor transmitter deemphasis. HyperTransport 3.0 added scrambling and receiver phase alignment as well as optional transmitter precursor deemphasis.
Packet-oriented
[edit]HyperTransport is packet-based, where each packet consists of a set of 32-bit words, regardless of the physical width of the link. The first word in a packet always contains a command field. Many packets contain a 40-bit address. An additional 32-bit control packet is prepended when 64-bit addressing is required. The data payload is sent after the control packet. Transfers are always padded to a multiple of 32 bits, regardless of their actual length.
HyperTransport packets enter the interconnect in segments known as bit times. The number of bit times required depends on the link width. HyperTransport also supports system management messaging, signaling interrupts, issuing probes to adjacent devices or processors, I/O transactions, and general data transactions. There are two kinds of write commands supported: posted and non-posted. Posted writes do not require a response from the target. This is usually used for high bandwidth devices such as uniform memory access traffic or direct memory access transfers. Non-posted writes require a response from the receiver in the form of a "target done" response. Reads also require a response, containing the read data. HyperTransport supports the PCI consumer/producer ordering model.
Power-managed
[edit]HyperTransport also facilitates power management as it is compliant with the Advanced Configuration and Power Interface specification. This means that changes in processor sleep states (C states) can signal changes in device states (D states), e.g. powering off disks when the CPU goes to sleep. HyperTransport 3.0 added further capabilities to allow a centralized power management controller to implement power management policies.
Applications
[edit]Front-side bus replacement
[edit]The primary use for HyperTransport is to replace the Intel-defined front-side bus, which is different for every type of Intel processor. For instance, a Pentium cannot be plugged into a PCI Express bus directly, but must first go through an adapter to expand the system. The proprietary front-side bus must connect through adapters for the various standard buses, like AGP or PCI Express. These are typically included in the respective controller functions, namely the northbridge and southbridge.
In contrast, HyperTransport is an open specification, published by a multi-company consortium. A single HyperTransport adapter chip will work with a wide spectrum of HyperTransport enabled microprocessors.
AMD used HyperTransport to replace the front-side bus in their Opteron, Athlon 64, Athlon II, Sempron 64, Turion 64, Phenom, Phenom II and FX families of microprocessors.
Multiprocessor interconnect
[edit]Another use for HyperTransport is as an interconnect for NUMA multiprocessor computers. AMD used HyperTransport with a proprietary cache coherency extension as part of their Direct Connect Architecture in their Opteron and Athlon 64 FX (Dual Socket Direct Connect (DSDC) Architecture) line of processors. Infinity Fabric used with the EPYC server CPUs is a superset of HyperTransport. The HORUS interconnect from Newisys extends this concept to larger clusters. The Aqua device from 3Leaf Systems virtualizes and interconnects CPUs, memory, and I/O.
Router or switch bus replacement
[edit]HyperTransport can also be used as a bus in routers and switches. Routers and switches have multiple network interfaces, and must forward data between these ports as fast as possible. For example, a four-port, 1000 Mbit/s Ethernet router needs a maximum 8000 Mbit/s of internal bandwidth (1000 Mbit/s × 4 ports × 2 directions)—HyperTransport greatly exceeds the bandwidth this application requires. However a 4 + 1 port 10 Gb router would require 100 Gbit/s of internal bandwidth. Add to that 802.11ac 8 antennas and the WiGig 60 GHz standard (802.11ad) and HyperTransport becomes more feasible (with anywhere between 20 and 24 lanes used for the needed bandwidth).
Co-processor interconnect
[edit]The issue of latency and bandwidth between CPUs and co-processors has usually been the major stumbling block to their practical implementation. Co-processors such as FPGAs have appeared that can access the HyperTransport bus and become integrated on the motherboard. Current generation FPGAs from both main manufacturers (Altera and Xilinx) directly support the HyperTransport interface, and have IP Cores available. Companies such as XtremeData, Inc. and DRC take these FPGAs (Xilinx in DRC's case) and create a module that allows FPGAs to plug directly into the Opteron socket.
AMD started an initiative named Torrenza on September 21, 2006, to further promote the usage of HyperTransport for plug-in cards and coprocessors. This initiative opened their "Socket F" to plug-in boards such as those from XtremeData and DRC.
Add-on card connector (HTX and HTX3)
[edit]
A connector specification that allows a slot-based peripheral to have direct connection to a microprocessor using a HyperTransport interface was released by the HyperTransport Consortium. It is known as HyperTransport eXpansion (HTX). Using a reversed instance of the same mechanical connector as a 16-lane PCI Express slot (plus an x1 connector for power pins), HTX allows development of plug-in cards that support direct access to a CPU and DMA to the system RAM. The initial card for this slot was the QLogic InfiniPath InfiniBand HCA. IBM and HP, among others, have released HTX compliant systems.
The original HTX standard is limited to 16 bits and 800 MHz.[3]
In August 2008, the HyperTransport Consortium released HTX3, which extends the clock rate of HTX to 2.6 GHz (5.2 GT/s, 10.7 GTi, 5.2 real GHz data rate, 3 MT/s edit rate) and retains backwards compatibility.[4]
Testing
[edit]The "DUT" test connector[5] is defined to enable standardized functional test system interconnection.
Implementations
[edit]- AMD AMD64 and Direct Connect Architecture based CPUs
- AMD chipsets
- AMD-8000 series
- AMD 480 series
- AMD 580 series
- AMD 690 series
- AMD 700 series
- AMD 800 series
- AMD 900 series
- ATI chipsets
- ATI Radeon Xpress 200 for AMD processor
- ATI Radeon Xpress 3200 for AMD processor
- Broadcom (then ServerWorks) HyperTransport SystemI/O controllers
- HT-2000
- HT-2100
- Cisco QuantumFlow Processors
- ht_tunnel from OpenCores project (MPL licence)
- IBM CPC925 and CPC945 (PowerPC 970 northbridges) chipsets
- Loongson-3 MIPS processor
- Nvidia nForce chipsets
- nForce and nForce2 series (link between North and South Bridges)
- nForce Professional MCPs (Media and Communication Processor)
- nForce 3 series
- nForce 4 series
- nForce 500 series
- nForce 600 series
- nForce 700 series
- nForce 900 series
- PMC-Sierra RM9000X2 MIPS CPU
- Power Mac G5[6]
- Raza Thread Processors
- SiByte MIPS CPUs from Broadcom
- Transmeta TM8000 Efficeon CPUs
- VIA chipsets K8 series
Frequency specifications
[edit]| HyperTransport version |
Year | Max. HT frequency | Max. link width | Max. aggregate bandwidth (GB/s) | ||
|---|---|---|---|---|---|---|
| bi-directional | 16-bit unidirectional | 32-bit unidirectional* | ||||
| 1.0 | 2001 | 800 MHz | 32-bit | 12.8 | 3.2 | 6.4 |
| 1.1 | 2002 | 800 MHz | 32-bit | 12.8 | 3.2 | 6.4 |
| 2.0 | 2004 | 1.4 GHz | 32-bit | 22.4 | 5.6 | 11.2 |
| 3.0 | 2006 | 2.6 GHz | 32-bit | 41.6 | 10.4 | 20.8 |
| 3.1 | 2008 | 3.2 GHz | 32-bit | 51.2 | 12.8 | 25.6 |
* AMD Athlon 64, Athlon 64 FX, Athlon 64 X2, Athlon X2, Athlon II, Phenom, Phenom II, Sempron, Turion series and later use one 16-bit HyperTransport link. AMD Athlon 64 FX (1207), Opteron use up to three 16-bit HyperTransport links. Common clock rates for these processor links are 800 MHz to 1 GHz (older single and multi socket systems on 754/939/940 links) and 1.6 GHz to 2.0 GHz (newer single socket systems on AM2+/AM3 links—most newer CPUs using 2.0 GHz). While HyperTransport itself is capable of 32-bit width links, that width is not currently utilized by any AMD processors. Some chipsets though do not even utilize the 16-bit width used by the processors. Those include the Nvidia nForce3 150, nForce3 Pro 150, and the ULi M1689—which use a 16-bit HyperTransport downstream link but limit the HyperTransport upstream link to 8 bits.
Name
[edit]There has been some marketing confusion[citation needed] between the use of HT referring to HyperTransport and the later use of HT to refer to Intel's Hyper-Threading feature on some Pentium 4-based and the newer Nehalem and Westmere-based Intel Core microprocessors. Hyper-Threading is officially known as Hyper-Threading Technology (HTT) or HT Technology. Because of this potential for confusion, the HyperTransport Consortium always uses the written-out form: "HyperTransport."
Infinity Fabric
[edit]Infinity Fabric (IF) is a superset of HyperTransport announced by AMD in 2016 as an interconnect for its GPUs and CPUs. When used internally it is called a Global Memory Interconnect (GMI).[7] It is also usable as interchip interconnect for communication between CPUs and CPUs, GPUs and GPUs, or CPUs and GPUs (for Heterogeneous System Architecture), an arrangement known as Infinity Architecture, with the links known as External Global Memory Interconnect (xGMI).[8][9][10][11] The company said the Infinity Fabric would scale from 30 GB/s to 512 GB/s, and be used in the Zen-based CPUs and Vega GPUs which were subsequently released in 2017.
On Zen and Zen+ CPUs, the "SDF" data interconnects are run at the same frequency as the DRAM memory clock (MEMCLK), a decision made to remove the latency caused by different clock speeds. As a result, using a faster RAM module makes the entire bus faster. The links are 32-bit wide, as in HT, but 8 transfers are done per cycle (128-bit packets) compared to the original 2. Electrical changes are made for higher power efficiency.[12] On Zen 2 and Zen 3 CPUs, the IF bus is on a separate clock (FCLK) and so is the unified memory controller (UCLK). The UCLK is either in a 1:1 or a 2:1 ratio to the DRAM clock (MCLK). This avoids a limitation on desktop platforms where maximum DRAM speeds were in practice limited by the IF speed. The bus width has also been doubled.[13] A latency penalty is present when the FCLK is not synchonized with the UCLK.[14] On Zen 4 and later CPUs, the IF bus is able to run at an asynchronous clock to the DRAM, to allow the higher clock speeds that DDR5 is capable of.[15]
Infinity Fabric Link
[edit]Professional/Workstation models of AMD GPUs include an Infinity Fabric Link edge connector for connecting the Infinity Fabric buses of GPUs together, bypassing the host PCIe bus. The Link "Bridge" device itself is a printed circuit board with 2 or 4 matching slots.[16] Each GPU family uses a different connector and the Bridge/Link generally only works between the GPUs of the same model. It is therefore similar to the plug-in board version of NVLink.
Example Infinity Architecture
[edit]Epyc CPUs based on Zen 5 have internal Infinity Fabric connections of 36 GB/s per core. Each IO die has external Infinity Fabric connectivity on its multifunctional PCIe 5.0/Infinity Fabric serializer/deserializers (SerDes), reusing the PCIe physical layer. It is used for interprocessor communication in two-socket systems, providing 3 or 4 links of 64 GB/s each.[7]
Each Instinct MI250 has four lanes of Infinity Fabric Link of 50 GB/s each for mesh interconnection running the xGMI protocol. It connects to the host through PCIe Gen 4 x16 or Infinity Fabric on top of PCIe PHY. The bandwidth from multiple links, passing through different intermediate GPUs, can be aggregated.[17] For actually achievable performance figures, see Schieffer et al. (2024).[18]
Third-party support
[edit]UALink utilizes Infinity Fabric/xGMI as one of its shared memory protocols.
Broadcom produces PCIe switches and network interface cards with xGMI support.[19][20]
See also
[edit]References
[edit]- ^ "API NetWorks Accelerates Use of HyperTransport Technology With Launch of Industry's First HyperTransport Technology-to-PCI Bridge Chip". HyperTransport Consortium (Press release). April 2, 2001. Archived from the original on October 10, 2006.
- ^ "Overview" (PDF). HyperTransport Consortium. Archived from the original (PDF) on July 16, 2011.
- ^ Emberson, David; Holden, Brian (December 12, 2007). "HTX specification" (PDF). HyperTransport Consortium. p. 4. Archived from the original (PDF) on March 8, 2012. Retrieved January 30, 2008.
- ^ Emberson, David (June 25, 2008). "HTX3 specification" (PDF). HyperTransport Consortium. p. 4. Archived from the original (PDF) on March 8, 2012. Retrieved August 17, 2008.
- ^ Holden, Brian; Meschke, Mike; Abu-Lebdeh, Ziad; D'Orfani, Renato. "DUT Connector and Test Environment for HyperTransport" (PDF). HyperTransport Consortium. Archived from the original (PDF) on September 3, 2006. Retrieved November 12, 2022.
- ^ Apple (June 25, 2003). "WWDC 2003 Keynote". YouTube. Archived from the original on July 8, 2012. Retrieved October 16, 2009.
- ^ a b "AMD EPYC™ 9005 PROCESSOR ARCHITECTURE OVERVIEW" (PDF). 2025.
- ^ Kolla, Jayacharan; Alizadeh, Pedram; Lee, Gilbert (March 2, 2025). "Understanding RCCL Bandwidth and xGMI Performance on AMD Instinct™ MI300X". ROCm Blogs.
- ^ AMD. "AMD_presentation_EPYC". Archived from the original on August 21, 2017. Retrieved May 24, 2017.
- ^ Merritt, Rick (December 13, 2016). "AMD Clocks Ryzen at 3.4 GHz+". EE Times. Archived from the original on August 8, 2019. Retrieved January 17, 2017.
- ^ Alcorn, Paul (March 5, 2020). "AMD's CPU-to-GPU Infinity Fabric Detailed". Tom's Hardware. Retrieved November 12, 2022.
- ^ "Infinity Fabric (IF) - AMD". WikiChip.
- ^ Cutress, Ian (June 10, 2019). "AMD Zen 2 Microarchitecture Analysis: Ryzen 3000 and EPYC Rome". AnandTech. Archived from the original on August 16, 2019. Retrieved November 12, 2022.
- ^ "DDR4 OC Guide § AMD IMC". GitHub.
- ^ Killian, Zak (September 1, 2022). "AMD Addresses Zen 4 Ryzen 7000 Series Memory Overclocking And Configuration Details". HotHardware. Retrieved April 4, 2024.
- ^ https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/other/56978.pdf Instinct-series Infinity Fabric Link, 4-slot
- ^ https://rocm.docs.amd.com/en/latest/conceptual/gpu-arch/mi250.html https://www.amd.com/content/dam/amd/en/documents/instinct-business-docs/white-papers/amd-cdna2-white-paper.pdf
- ^ Schieffer, Gabin; Shi, Ruimin; Markidis, Stefano; Herten, Andreas; Faj, Jennifer; Peng, Ivy (October 1, 2024), Understanding Data Movement in AMD Multi-GPU Systems with Infinity Fabric, arXiv:2410.00801
- ^ Kennedy, Patrick (December 11, 2023). "Next-Gen Broadcom PCIe Switches to Support AMD Infinity Fabric XGMI to Counter NVIDIA NVLink". ServeTheHome.
- ^ "Socket/Inter-Chip Global Memory Interconnect (xGMI)". techdocs.broadcom.com.
External links
[edit]- HyperTransport Consortium (home), archived from the original on August 22, 2008, retrieved November 2, 2002
- "Technology", HyperTransport[permanent dead link].
- "Technical Specifications", HyperTransport, archived from the original on August 22, 2008
- Center of Excellence for HyperTransport (in German), Uni HD, archived from the original on October 29, 2008, retrieved September 4, 2008
HyperTransport
View on GrokipediaIntroduction
Definition and Purpose
HyperTransport is a scalable, packet-based serial interconnect technology that serves as a high-speed, low-latency point-to-point link for connecting processors, chipsets, memory controllers, and peripherals within computing systems.[11][2] The primary purpose of HyperTransport is to replace traditional parallel buses, such as PCI, with a more efficient alternative that delivers higher bandwidth and reduced latency, particularly tailored for AMD's processor architectures.[2][12] Its initial design goals emphasized achieving a low pin count by supporting variable data-path widths from 2 to 32 bits, enabling full-duplex bidirectional data transfer through independent transmit and receive channels, and providing scalability to accommodate diverse applications ranging from embedded systems to enterprise servers.[2][11] HyperTransport was introduced in 2001 by AMD in collaboration with industry partners, including the formation of the HyperTransport Technology Consortium, to address the performance bottlenecks of the front-side bus in x86-based systems and enable more direct, efficient inter-component communication.[1][9] This innovation supported AMD's shift toward integrated memory controllers and streamlined I/O pathways, paving the way for advancements in processor design.[2]Key Features
HyperTransport employs point-to-point links that establish direct connections between exactly two devices, eliminating the contention inherent in shared bus architectures and enabling efficient peer-to-peer communication.[13] These links utilize low-swing differential signaling for reliable transmission, with scalable widths from 2 to 32 bits, allowing flexible adaptation to varying bandwidth needs without the overhead of bus arbitration.[13] The protocol is packet-oriented, transmitting data in variable-length packets that include headers for routing, command information, and error checking via cyclic redundancy check (CRC).[13] Control packets, typically 4 or 8 bytes, handle commands and responses, while data packets range from 4 to 64 bytes, organized into three virtual channels—Posted Requests, Nonposted Requests, and Responses—to prioritize traffic and prevent congestion through dedicated buffers.[13] This structure supports hardware-based error detection and correction, enhancing reliability in high-speed environments. Power management in HyperTransport includes support for dynamic voltage and frequency scaling (DVFS) through configurable link frequencies ranging from 200 MHz to 1.6 GHz and adjustments via Voltage ID (VID) and Frequency ID (FID) mechanisms.[13] Low-power idle states are achieved using signals like LDTSTOP# and LDTREQ# to disconnect and reconnect links, along with a Transmitter Off bit and system management messages, enabling significant energy savings during periods of inactivity.[13] Scalability is facilitated by a daisy-chain topology that connects up to 32 devices using unique Unit IDs from 00h to 1Fh, promoting modular system designs.[13] Later versions, such as HyperTransport 3.0, introduce hot-plug capabilities through double-hosted chains and specialized initialization sequences, allowing devices to be added or removed without system interruption.[14] Low latency is a core design principle, achieved through hardware flow control using a coupon-based scheme with 64-byte granularity and the absence of arbitration overhead in its point-to-point setup.[13] Virtual channels and phase recovery mechanisms further minimize delays, resulting in efficient transfer times suitable for real-time applications. For context, HyperTransport links can achieve aggregate bandwidths up to 12.8 GB/s at 1.6 GHz signaling rates.[13]History
Development and Origins
Originally developed as Lightning Data Transport (LDT) and announced in October 2000, HyperTransport was renamed and formally unveiled by Advanced Micro Devices (AMD) on February 14, 2001, as a high-speed, point-to-point interconnect technology designed to address the limitations of traditional shared front-side bus architectures in processors.[15][16][17] It originated as part of AMD's "Hammer" architecture, which underpinned the Athlon 64 and Opteron processors, aiming to enable faster communication between CPUs, chipsets, and peripherals by replacing the bandwidth-constrained and power-intensive front-side bus with scalable, low-latency links.[18] The primary motivation behind HyperTransport's creation was to overcome the bottlenecks of the front-side bus, which suffered from shared resource contention, limited scalability, and high power consumption as processor speeds increased. By shifting to a point-to-point topology, AMD sought to provide significantly higher aggregate bandwidth while reducing latency and power usage, facilitating more efficient data transfer in multi-chip systems. This was particularly driven by AMD's strategic move to integrate memory controllers directly on the processor die in the Hammer architecture, which required a robust inter-chip interconnect to handle I/O traffic without compromising performance.[2][19][16] In October 2001, the initial HyperTransport I/O Link specification (version 1.03) was released to the public, marking a key milestone in its development.[13] To promote widespread adoption and standardization, AMD formed the HyperTransport Technology Consortium in July 2001, involving over 20 founding members including Broadcom, Cisco Systems, NVIDIA, PMC-Sierra, Sun Microsystems, Apple, and API NetWorks, with additional early participants like ATI Technologies contributing to its refinement. The consortium's efforts ensured the technology's openness.[20][21][22]Versions and Evolution
HyperTransport version 1.0 was released in 2001 by the HyperTransport Technology Consortium, establishing the foundational specification for a high-speed, low-latency point-to-point interconnect with a base transfer rate of 1.6 GT/s per link using double data rate signaling at an 800 MHz clock.[15] This version provided up to 3.2 GB/s per direction (6.4 GB/s aggregate bidirectional) on a typical 16-bit link configuration, enabling efficient chip-to-chip communication and serving as the initial implementation in AMD's Athlon 64 processors launched in 2003. In 2003, version 1.10 introduced minor enhancements, including improved error correction mechanisms via cyclic redundancy check (CRC) for packet integrity and support for tunneling protocols to facilitate networking extensions in telecommunications applications.[23][9] These updates focused on reliability and compatibility without altering core speeds or bandwidth, maintaining the 1.6 GT/s link rate while broadening adoption in embedded and server environments. Version 2.0, announced in March 2004, doubled the maximum transfer rate to 2.8 GT/s through support for clock speeds up to 1.4 GHz in double data rate mode and introduced 8b/10b encoding to enable reliable signaling at higher frequencies.[24] This iteration achieved up to 22.4 GB/s aggregate bandwidth (11.2 GB/s per direction) on a 32-bit link, enhancing scalability for multi-processor systems and finding primary use in AMD's Opteron processors starting that year.[25][26] The specification advanced to version 3.0 in April 2006, supporting transfer rates up to 5.2 GT/s with clock speeds reaching 2.6 GHz and refinements in differential signaling for better signal integrity over longer traces.[14] These changes nearly doubled the bandwidth potential to 41.6 GB/s aggregate (20.8 GB/s per direction) on 32-bit links, while maintaining backward compatibility, and were integrated into AMD's Phenom CPUs to support quad-core architectures.[7][27] Version 3.1, released in August 2008, served as the final major update, extending clock options up to 3.2 GHz (6.4 GT/s), providing a 23% bandwidth increase over 3.0, and adding power efficiency improvements such as optional AC coupling for reduced power consumption in idle states.[8] It emphasized optimization for emerging 45 nm processes in AMD CPUs, providing up to 51.2 GB/s aggregate bandwidth (25.6 GB/s per direction) on a 32-bit link while prioritizing energy management.[28] Active development of HyperTransport concluded by the mid-2010s, as AMD shifted focus to PCIe for I/O connectivity and introduced Infinity Fabric as an internal interconnect successor in its Zen-based processors starting in 2017, effectively phasing out HyperTransport in new designs.[29]Technical Architecture
Topology and Links
HyperTransport employs point-to-point serial links to connect devices, where each link comprises two unidirectional lanes—one for transmit and one for receive—utilizing low-voltage differential signaling (LVDS) for efficient data transfer with low power consumption and high noise immunity.[30][13] These links support scalable widths of 2, 4, 8, 16, or 32 bits, allowing aggregation of multiple lanes per port to achieve higher bandwidth, with the width dynamically negotiated during link initialization based on device capabilities and connection quality.[13][11] The topology of HyperTransport systems can adopt daisy-chain, star, or switch-based configurations to interconnect multiple devices, enabling flexible scaling within a system.[11] In a daisy-chain setup, devices connect sequentially from a host bridge, supporting up to 31 tunnel devices to limit latency accumulation across the chain.[11][13] Star topologies distribute connections from a central host or switch, while switch configurations allow branching for peer-to-peer communication and reduced path lengths in multi-device environments.[11] Device addressing in multi-hop topologies relies on 5-bit UnitID fields embedded in packet headers to identify sources and destinations, facilitating efficient routing across up to 32 unique identifiers per chain.[13] These tags, combined with 5-bit source tags (SrcTags), enable tracking of up to 32 outstanding transactions per device without address overhead in responses.[13] Basic packet formats incorporate these elements for navigation in chained or branched setups, as detailed in the protocol specification. Link integrity is maintained through cyclic redundancy check (CRC) validation on each packet, with per-lane error detection and a retry mechanism to recover from transmission errors, ensuring reliable multi-hop data flow.[31][32] Errors trigger CRC recomputation and logging, with retry protocols inverting faulty packet CRCs to prompt retransmission without halting the link.[33][13]Protocol and Packet Format
HyperTransport employs a packet-based communication protocol designed for low-latency, high-bandwidth transfers between integrated circuits, utilizing a request-response model where initiators send requests and targets provide responses to maintain transaction integrity.[13] This model supports both posted transactions, such as writes that do not require acknowledgment, and non-posted transactions, like reads that necessitate a response to ensure data coherence in shared-memory systems.[13] Packets traverse point-to-point links in a unidirectional manner, with upstream and downstream directions distinguished by routing fields in the header.[19] The packet structure consists of a header, an optional payload, and a trailer. Headers are either 4 or 8 bytes long for control packets, containing fields such as the command (Cmd[5:0]) for operation type, sequence ID (SeqID[3:0]) for ordering within virtual channels, Unit ID (UnitID[4:0]) for routing, source tag (SrcTag[4:0]), address (Addr[39:2]), and mask/count for transaction sizing.[13] For data packets, the header extends to include compatibility bits, followed by a payload of 4 to 64 bytes in multiples of 4 bytes, allowing byte-level granularity via masks for partial writes.[13] The trailer appends a 32-bit cyclic redundancy check (CRC) for error detection, computed across the header and payload, except during synchronization phases where CRC is omitted.[13] In later implementations, such as those supporting extended addressing, an additional 4-byte header word may precede the primary header.[19] Command types encompass a range of operations tailored for I/O and memory access, enabling compatibility with legacy protocols while supporting modern coherence requirements. I/O read and write commands (e.g., Cmd 0010 for read, 0011 for write) handle device-specific transactions with sized payloads, while memory read and write commands (e.g., Cmd 0110 for read, 0111 for write) target system memory, optionally enforcing cache coherence through non-posted semantics.[13] Non-posted transactions, such as sized reads, flushes, and atomic read-modify-write operations, require explicit responses (e.g., RdResponse with data or TgtDone acknowledgment) to guarantee completion and ordering, preventing issues in multiprocessor environments.[13] Additional commands include no-operation (NOP) for flow control updates, fences for transaction barriers, and interrupts with vector and destination fields.[13] Flow control operates on a credit-based system across three standard virtual channels—posted requests, non-posted requests, and responses—to manage buffer resources and avoid overflows. Receivers periodically advertise available credits via NOP packets, specifying buffer space in 64-byte granules (or optionally doublewords), which senders consume upon transmitting packets and replenish based on received updates.[13] This per-channel mechanism ensures independent handling of traffic types, with senders halting transmission when credits deplete, thereby maintaining link efficiency without head-of-line blocking.[34] Tunneling allows encapsulation of external protocols over HyperTransport links, facilitating integration with diverse interfaces. For instance, PCI Express packets can be bridged and encapsulated within HyperTransport transactions using dedicated tunnel chips, enabling seamless connectivity between HyperTransport domains and PCI Express endpoints without altering the underlying protocol semantics.[35] This approach supports isochronous traffic routing through non-isochronous devices via virtual channel extensions.[13] Initialization begins with a link training sequence triggered by reset signals, employing synchronization patterns to align clocks and establish reliable communication. Auto-negotiation follows, where devices sample command/address/data (CAD) lines to mutually determine link width (from 2 to 32 bits), transfer rate with clock frequency starting at 200 MHz (0.4 GT/s transfer rate) and scaling up to 800 MHz (1.6 GT/s) in early versions, or up to 6.4 GT/s in later versions, with DDR signaling, and encoding scheme—non-return-to-zero (NRZ) for standard double-data-rate operation in initial releases, with optional 8b/10b encoding introduced in advanced coupled (AC) modes for enhanced signal integrity at higher speeds.[13][19] This process ensures backward compatibility while optimizing for the capabilities of connected devices.[19]Performance Specifications
Link Speeds and Bandwidth
HyperTransport link speeds evolved across its versions to support increasing data transfer demands in high-performance computing environments. Version 1.0 operates at clock rates up to 800 MHz, achieving an effective transfer rate of 1.6 GT/s using double data rate (DDR) signaling.[36] Version 2.0 scales the clock to a maximum of 1.4 GHz, resulting in up to 2.8 GT/s, while maintaining backward compatibility with earlier speeds.[36] In Version 3.0, the clock reaches up to 3.2 GHz, delivering a peak of 6.4 GT/s.[36] Version 3.1 (2008) adds intermediate clock steps including 2.8 GHz and 3.0 GHz, along with enhanced power management and error correction via forward error correction (FEC).[8] Bandwidth in HyperTransport is determined by the transfer rate, link width (measured in bits per direction, such as x2 for 2 bits or x16 for 16 bits), and encoding scheme. For a minimum 2-bit link in Version 3.0 at 6.4 GT/s, the raw unidirectional bandwidth is 12.8 Gbps, or approximately 1.6 GB/s before overhead.[36] An x16 link at this speed provides aggregate raw unidirectional bandwidth of 102.4 Gbps, equivalent to about 12.8 GB/s.[36] Bidirectional capacity doubles these figures, as each direction operates independently. Versions 1.0 and 2.0 transmit raw bits without encoding overhead, maximizing throughput efficiency.[36] Version 3.0 introduces 8b/10b encoding for AC-coupled links to ensure signal integrity, which reduces effective throughput by 20% by transmitting 8 data bits within 10-bit symbols.[36] Raw bandwidth can be calculated as \frac{\text{[clock rate](/page/Clock_rate) (MHz)} \times 2 \times \text{lanes}}{8} GB/s unidirectional, where the factor of 2 accounts for DDR signaling; effective bandwidth then applies the 0.8 efficiency for 8b/10b in Version 3.0.[36] Scalability across versions is achieved primarily through higher clock rates and improved signaling, effectively doubling bandwidth from Version 1.0 to 2.0 and again to 3.0 for equivalent link widths.[7] Link widths from 2 to 32 bits allow further aggregation, enabling systems to tailor bandwidth to specific interconnect needs.[36]| Version | Max Clock (GHz) | Max Transfer Rate (GT/s) | Example Unidirectional Bandwidth (x16 Link, GB/s, Raw) |
|---|---|---|---|
| 1.0 | 0.8 | 1.6 | 3.2 |
| 2.0 | 1.4 | 2.8 | 5.6 |
| 3.0 | 3.2 | 6.4 | 12.8 (10.24 effective with 8b/10b) |
