哪些资源造成显示器数量限制?

哪些资源造成显示器数量限制?

每个 Ice Lake 之前的 Intel GPU 只能驱动三个显示器。我想知道是什么资源短缺导致了这种情况,以及是否有可能在软件中解决这个问题。以下是一些不是解释的事情:

  1. 连接器数量。同一个四端口 MST 集线器可以运行四台 1920 x 1080 @ 60 Hz 显示器,配备 nVidia 或 AMD GPU,但无法运行四台配备 Intel GPU 的显示器。而且这只需要主机上有一个 DP 1.2 连接器。
  2. 像素数/显示带宽。即使笔记本电脑配备 4K 显示屏,仍可添加两个外接显示器。(巧合的是,4K 的像素数与四个 FHD 显示屏完全相同。)

所以为什么?

答案1

所有 GPU 都有一个硬件,它本质上是一堆计数器(水平和垂直位置),可以读取帧缓冲区,确定此时的颜色并将其发送以进行进一步处理。

你可以追溯祖先,从尊者摩托罗拉 6845超过 CGA、Hercules、EGA;然后是早期的英特尔 GPU,例如 i9xx 系列等等。

有些制造商(NVidia)仍将其称为 CRTC(阴极射线管控制器),因为它们原本就是这个。有些人称之为“磁头”。

英特尔称它们为“管道”。您可以在早期英特尔 GPU 的数据表中找到有关使用哪些寄存器来控制它们的详细信息。

因此这些的数量决定了不同的您可以从帧缓冲区生成的图像。(还有其他限制,例如时间)。

虽然可以(至少对于大多数 Intel GPU 来说)使用单个管道来驱动多个显示器,并显示相同的图像(“镜像”)。这也被称为“Zaphod 模式”(多头)。

参考:

可以找到英特尔显卡硬件规格列表这里。特别是,第 3 卷i965 程序员手册2.7 节解释了显示管道 (“管道”) 寄存器。2.5 节描述了负责时序的 PLL (锁相环) 寄存器;如果您理解了细节,您就会知道为什么存在一些时序限制。

这是我所知道的最早描述这种架构的公共手册。

Linux 内核英特尔显卡驱动程序的源代码可以在这里找到这里。您可以看到与管道相关的函数是如何通过该管道进行索引的。

“我仍然完全不明白为什么系统可以将 3840 x 2160 像素放入单个流中,但不能将完全相同的像素放入四个 1920 x 1080 像素大小的多个流中”

因为多个流各自需要一个管道。不可能使用单个管道来产生多个流,因为流不仅仅由像素组成,管道逻辑还可以插入额外的标记

而这个问题增加了使用单根电缆传输多条数据流的额外复杂性。

你可以在VESA 显示端口规范 1.2,第 2.6 节。图 2-61 显示了如何多路复用多个流;“数据捕获”部分将连接到数字端口,而数字端口又将连接到管道。

因此不可能只采用单个流并将其声明为多个流。

但是对于不同的物理输出,您已经有了这个限制(管道数量决定了不同“视图”的最大数量),无论它们是模拟 VGA、DVI、HDMI、USB-C 替代模式还是其他什么。

答案2

原因比你列出的要简单得多:三个内置显示单元,而不是两个。Ice Lake 还受益于 DisplayPort 1.4a 以及 VESA 提供的“视觉无损”压缩 显示流压缩 (DSC) 实现5K@120Hz。

来自 第 10 代英特尔® 酷睿™ 处理器家族数据表,第 1 卷 第 92 页上有这张图表:

Ice Lake 架构 在此处输入图片描述

第 8 代和第 9 代英特尔® 酷睿™ 处理器家族数据表

Pre-Ice Lake 架构

在此处输入图片描述

可以看到 Ice Lake 拥有三条显示管道,而上一代则拥有两个编码单元和两个解码单元。Ice Lake 对 Intel 来说确实是一个创新架构。


要实现这种能力,需要增加计算单元数量和时钟速度的计算能力。

比较维基百科 英特尔图形技术 具有以下特点:

Kaby Lake 刷新 / Amber Lake / Coffee Lake / Whiskey Lake / Comet Lake

在此处输入图片描述

冰湖

在此处输入图片描述

也可以看看:
英特尔“Ice Lake”第 11 代 iGPU 将支持 DisplayPort 1.4a 和 5K@120Hz 显示流压缩

答案3

每个 GPU 都有其独特的实现,但我认为你谈论的资源被称为随机存取存储器数模转换器。看起来大多数“传统”显示适配器的显示控制器中都有两个 RAMDAC,可以支持两个显示器。从那时起,出现了不需要数模转换器的更新技术。我将给出的例子是 AMD眼界。它仅适用于 DisplayPort,因为 DisplayPort 不支持模拟信号(全数字)。这使他们能够摆脱传统的 RAMDAC,并使用可以用一个芯片处理六个显示器的新显示控制器。

英特尔“显示管道”可能是一种显示控制器,出于兼容性原因,它包含一个旧式 RAMDAC。当他们需要更多显示器时,他们通常只需添加一个独立的 NVIDIA\AMD GPU 即可向系统添加额外的显示器,而不是开发自己的“现代”全数字显示控制器。

相关内容