Thunderbolt 3 - calculate bandwith required by monitors
Matthew Barrera
As described by the Thunderbolt 3 Technology Brief DisplayPort signals transmitted over Thunderbolt 3 links have higher priority than PCIe/USB data so in case the total required bandwidth exceeds the maximum bandwidth of 40 Gb/s the PCIe/USB bandwidth will be capped. I'm trying to understand how much bandwidth will be left for PCIe/USB data on a Thunderbolt 3 connection when daisy chaining multiple monitors. I'm using the following configuration as an example:
- UHD ("4k" 3840x2160) @ 60 Hz, 30 bit per pixel (an expensive monitor for photo editing)
- UHD ("4k" 3840x2160) @ 60 Hz, 24 bit per pixel (a regular office monitor)
What I found out so far
According to Wikipedia Thunderbolt 3 tunnels DisplayPort 1.2, after a product refresh DisplayPort 1.4. This is important since DisplayPort 1.4 introduced Display Stream Compression. According to the datasheet of my CPU it supports only DisplayPort 1.2 (see Table 2-27). For photo editing compression might not be desired anyway.
According to the datasheet of my CPU the bandwidth required by a DisplayPort signal with UHD resolution @ 60 Hz and 24 bit/pixel is 16.00 Gb/s (see Table 2-28). Can someone explain how to calculate this? I tried
3840 * 2160 pixels * 24 bit/pixel * 60 Hz * (10/8) = 14.9 Gb/sbut although I factored in the 8b/10b encoding something seems to be missing (some sort of header information?).
Assuming that the data rate for a 30 bit/pixel signal would be 30/24 times higher and taking into account that Thunderbolt 3 uses 128b/132b encoding, the total bandwidth occupied by DisplayPort data would be 16.5 Gb/s (monitor 1) + 13.2 Gb/s (monitor 2) = 29.7 Gb/s. Assuming that Thunderbolt 3 doesn't add any additional overhead this should leave 10.8 Gb/s for PCIe data transfer (enough for a USB 3.1 link or a 10 GbE adapter). Is this assessment correct?
To make the answers to this questions useful for others using different hardware I would appreciate if someone could shine some light on how to calculate the required bandwidth.
1 Answer
Please see this data rate required calculator:
Reproducing the calculations below:
Data Rate Required: 16.00 Gbit/s
Video Format: 3840 × 2160 (16∶9 ratio) at 60 Hz 10 bpc (30 bit/px) RGB color Uncompressed CVT-RB timing format
Frame Size: 3,840 × 2,160 = 8,294,400 pixels per frame (8.3 Mpx)
Effective Frame Size with CVT-RB Blanking Intervals: 4,000 × 2,222 = 8,888,000 pixels per frame (8.9 Mpx)
Effective Pixel Rate: 8,888,000 px per frame × 60 frames per second = 533,280,000 pixels per second
Bit Rate: 533,280,000 px/s × 30 bit/px = 15,998,400,000 bits per second (16.00 Gbit/s)
CVT-RB Timing Formula:
Constants:
VMIN = 0.00046 seconds
HBLANK = 160 pixels
Input Variables:
H = 3,840 pixels
V = 2,160 pixels
F = 60 Hz
Formulas:
VBLANK = (V • VMIN) / (( 1⁄F ) − VMIN)
= (2,160 • 0.00046) / (( 1⁄60 ) − 0.00046)
= ( 61.3 )↑ = 62 pixels
HEFFECTIVE = H + HBLANK = 3,840 + 160 = 4,000 pixels
VEFFECTIVE = V + VBLANK = 2,160 + 62 = 2,222 pixels