From WikiChip
Editing amd/infinity fabric

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 1: Line 1:
{{amd title|Infinity Fabric (IF)}}{{interconnect arch}}
+
{{amd title|Infinity Fabric (IF)}}[[File:amd infinity fabric.svg|right|250px]]
'''Infinity Fabric''' ('''IF''') is a proprietary system [[interconnect architecture]] that facilitates data and control transmission across all linked components. This architecture is utilized by [[AMD]]'s recent microarchitectures for both CPU (i.e., {{amd|Zen|l=arch}}) and graphics (e.g., {{amd|Vega|l=arch}}), and any other additional accelerators they might add in the future. The fabric was first announced and detailed in April 2017 by Mark Papermaster, AMD's SVP and CTO.
+
'''Infinity Fabric''' ('''IF''') is a system [[interconnect architecture]] that facilitates data and control transmission accross all linked components. This architecture is utilized by [[AMD]]'s recent microarchitectures for both CPU (i.e., {{amd|Zen|l=arch}}) and graphics (e.g., {{amd|Vega|l=arch}}), and any other additional accelerators they might add in the future. The fabric was first announced and detailed in April 2017 by Mark Papermaster, AMD's SVP and CTO.
  
 
== Overview ==
 
== Overview ==
[[File:amd infinity fabric.svg|left|250px]]
 
 
The Infinity Fabric consists of two separate communication planes - Infinity '''Scalable Data Fabric''' ('''SDF''') and the Infinity '''Scalable Control Fabric''' ('''SCF'''). The SDF is the primary means by which data flows around the system between endpoints (e.g. [[NUMA node]]s, [[PHY]]s). The SDF might have dozens of connecting points hooking together things such as [[PCIe]] PHYs, [[memory controller]]s, USB hub, and the various computing and execution units. The SDF is a [[superset]] of what was previously [[HyperTransport]]. The SCF is a complementary plane that handles the transmission of the many miscellaneous system control signals - this includes things such as thermal and power management, tests, security, and 3rd party IP. With those two planes, AMD can efficiently scale up many of the basic computing blocks.
 
The Infinity Fabric consists of two separate communication planes - Infinity '''Scalable Data Fabric''' ('''SDF''') and the Infinity '''Scalable Control Fabric''' ('''SCF'''). The SDF is the primary means by which data flows around the system between endpoints (e.g. [[NUMA node]]s, [[PHY]]s). The SDF might have dozens of connecting points hooking together things such as [[PCIe]] PHYs, [[memory controller]]s, USB hub, and the various computing and execution units. The SDF is a [[superset]] of what was previously [[HyperTransport]]. The SCF is a complementary plane that handles the transmission of the many miscellaneous system control signals - this includes things such as thermal and power management, tests, security, and 3rd party IP. With those two planes, AMD can efficiently scale up many of the basic computing blocks.
{{clear}}
+
 
 
== Scalable Data Fabric (SDF) ==
 
== Scalable Data Fabric (SDF) ==
 
[[File:amd zeppelin sdf plane block.svg|class=wikichip_ogimage|400px|right]]
 
[[File:amd zeppelin sdf plane block.svg|class=wikichip_ogimage|400px|right]]
Line 19: Line 18:
 
=== SerDes ===
 
=== SerDes ===
 
[[File:amd if-ifop-serdes.png|right|thumb|IFOP SerDes]]
 
[[File:amd if-ifop-serdes.png|right|thumb|IFOP SerDes]]
The Infinity Scalable Data Fabric (SDF) employs two different types of [[SerDes]] links - '''Infinity Fabric On-Package''' ('''IFOP''') and '''Infinity Fabric InterSocket''' ('''IFIS''').
+
The Infinity Scalable Data Fabric (SDF) employees two different types of [[SerDes]] links - '''Infinity Fabric On-Package''' ('''IFOP''') and '''Infinity Fabric InterSocket''' ('''IFIS''').
  
 
==== IFOP ====
 
==== IFOP ====
The '''Infinity Fabric On-Package''' ('''IFOP''') SerDes deal with die-to-die communication in the same package. AMD designed a fairly straightforward custom SerDes suitable for short in-package trace lengths which can achieve a power efficiency of roughly 2 pJ/b. This was done by using a 32-bit low-swing [[single-ended]] data transmission with differential clocking which consumes roughly half the power of an equivalent differential drive. They utilize a zero-power driver state from the TX/RX impedance termination to the ground while the driver pull-up is disabled. This allows transmitting zeros with less power than transmitting ones which is also leveraged when the link is idle. Additionally [[inversion encoding]] was used to save another 10% average power per bit.
+
The Infinity Fabric On-Package (IFOP) SerDes deal with die-to-do communication in the same package. AMD designed a fairly straightforward custom SerDes suitable for short-in package trace lengths which can achieve a power efficiency of roughly 2 pJ/b. This was done by using a 32-bit low-swing [[single-ended]] data transmission with differential clocking which consumed roughly half the power of an equivalent differential drive. They utilize a zero-power driver state from the TX/RX impedance termination to the ground while the driver pull-up is disabled. This allows transmitting zeros with less power than transmitting ones which of was also leveraged for when the link was idle. Additionally, [[inversion encoding]] was also used in order to save another 10% average power per bit.  
 
 
Due to the performance sensitivity of the on-package links, the IFOP links are over-provisioned by about a factor of two relative to DDR4 channel bandwidth for mixed read/write traffic. They are bidirectional links and a CRC is transmitted along with every cycle of data. The IFOP SerDes do four transfers per CAKE clock.
 
  
 +
Due to the performance sensitivity of the on-package links, the IFOP links are over-provisioned by about a factor of two relative to DDR4 channel bandwidth for mixed read/write traffic. This a bidirectional link and CRC is transmitted along with every cycle of data. The IFOP SerDes do four transfers per CAKE clock.
  
 
:[[File:amd if ifop link example.svg|600px]]
 
:[[File:amd if ifop link example.svg|600px]]
  
 +
Since the CAKEs operate at the same frequency as the DRAM's MEMCLK frequency, the bandwidth is fully dependent on that. For a system using DDR4-2666 DIMMs, this means the CAKEs will be operating at 1333.33 MHz meaning the IFOPs will have a bi-directional bandwidth of 42.667 GB/s.
  
Since the CAKEs operate at the same frequency as the DRAM's MEMCLK frequency, the bandwidth is fully dependent on that. For a system using DDR4-2666 DIMMs, this means the CAKEs will be operating at 1333.33 MHz meaning the IFOPs will have a bi-directional bandwidth of 42.667 GB/s (= 16B per clock per direction).
+
== Scalable Control Fabric (SDF) ==
 
+
The Infinity Scalable Control Fabric (SCF) is the control communication plane of the Infinity Fabric.
==== IFIS ====
 
'''Infinity Fabric InterSocket''' ('''IFIS''') SerDes are the second type which are used for package-to-package communications such as in two-way [[multiprocessing]]. The IFIS were designed so they could [[multiplexed]] with other protocols such as [[PCIe]] and [[SATA]]. They operate on TX/RX 16 [[differential]] data lanes at roughly 11 pJ/b. Those links are also aligned with the [[package]] [[pinout]] of standard PCIe lanes. Because they are 16-bit wide they run at 8 transfers per CAKE clock. Compared to the IFOP, the IFIS links have 8/9 of the bandwidth.
 
 
 
 
 
:[[File:amd if ifis link example.svg|650px]]
 
 
 
 
 
For a system using DDR4-2666 DIMMs, the CAKEs will be operating at 1333.33 MHz meaning the IFIS will have a bidirectional bandwidth of 37.926 GB/s.
 
 
 
== Scalable Control Fabric (SCF) ==
 
{{see also|amd/microarchitectures/zen#System_Management_Unit|l1=Zen § System Management Unit}}
 
[[File:zeppelin scf plane block.svg|right|300px]]
 
The Infinity '''Scalable Control Fabric''' ('''SCF''') is the control communication plane of the Infinity Fabric. The SCF connects the System Management Unit (SMU) to all the various components. The SCF has its own dedicated IFIS SerDes that allows the SCF of multiple chips within a system to talk to each other. The SCF also extends to the dies on a second socket in multi-way [[multiprocessing]] configurations.
 
 
 
{{clear}}
 
 
 
== Implementations ==
 
=== Zen ===
 
{{main|amd/microarchitectures/zen|l1=Zen}}
 
The Zen cores are incorporated into AMD's {{amd|Zeppelin}} which is designed to scale from a single-die configuration all the way to a 4-die multi-chip package. Each Zeppelin consists of four IFOPs SerDes and two IFISs SerDes as described above.
 
 
 
:[[File:amd zeppelin basic block.svg|300px]]
 
 
 
 
 
In a four-die multi-chip package, such as in the case of {{amd|EPYC}}, two of the dies are rotated 180 degrees with each die being linked directly to all the other dies in the package. Assuming the system is using DDR4-2666 (i.e., DRAM's MEMCLK is 1333.33 MHz), each of the die-to-die links have a bandwidth of 42.667 GB/s and a total system bisectional bandwidth of 170.667 GB/s.
 
 
 
 
 
:[[File:amd zeppelin basic block 4-dies.svg|600px]]
 
 
 
== See also ==
 
* [https://fuse.wikichip.org/news/1064/isscc-2018-amds-zeppelin-multi-chip-routing-and-packaging/ ISSCC 2018: AMD’s Zeppelin; Multi-chip routing and packaging], WikiChip Fuse
 
  
 
== References ==
 
== References ==
 
* AMD Infinity Fabric introduction by Mark Papermaster, April 6, 2017
 
* AMD Infinity Fabric introduction by Mark Papermaster, April 6, 2017
 
* AMD EPYC Tech Day, June 20, 2017
 
* AMD EPYC Tech Day, June 20, 2017
* IEEE ISSCC 2018
+
* ISSCC 2018
 
 
[[category:amd]][[category:interconnect architectures]]
 

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)