半个月前,我们评估板上那颗 Tiger Lake-U 模块点亮了第 4 块屏幕,同时 NVMe 跑出了 6800 MB/s 的顺序读。这个数字放在台式机平台上不算亮眼,但出现在一块手掌大小的 COM Express 模块上,意味着很多原本要靠“独立显卡 + 多路 Xeon”才能覆盖的场景,现在单模块就够了。这也是我们在评估多款第 11 代酷睿低功耗平台后,最终把 Tiger Lake-U 列为首选的主要原因:它的核显把四路独立显示变成了标准能力,CPU 直连通道又把 PCIe Gen4 带到了嵌入式模块上。这篇文章不聊厂商宣传册上的漂亮参数,而是把我们围绕“四路显示 + PCIe Gen4”做过的评估、实测、选型和踩坑记录整理出来,给正在考虑同类平台的朋友一个参考。
1. 四路显示不是看 EU 数,得看显示引擎的管脚账
1.1 Tiger Lake-U 显示引擎到底能输出几路
先说结论:Tiger Lake-U 大多数 SKU 的显示引擎可以同时驱动 4 路独立输出,但这不代表你拿到任何一张模块主板都能插满 4 块屏幕。原因在于,显示输出上限由三个环节共同决定:SoC 内部显示管道数量、处理器引脚上可复用的 DDI 管脚组、以及主板厂商愿意为这些信号留多少布线空间。
Tiger Lake-U 共有 8 组与显示相关的引脚,可以配置成 eDP、DP、HDMI 等不同复用模式,嵌入式模块厂商需要从中选出一套组合来做板级设计。我们常用的这一颗 i7-1165G7,在官方数据手册里明确写着最多支持四路并发显示;而同封装下的 i3-1115G4 虽然 EU 数量砍到了 48,显示引擎依然保留四路输出能力。换句话说,四路显示主要取决于主板把 DisplayPort 通道引出了几路,而不是 CPU 性能档位。
这里容易产生一个误解:有人觉得把 4 个 HDMI 座子放在板上就有四显,实际上 Tiger Lake 核显原生输出的并不是 HDMI 电平,而是 DP 差分信号。HDMI 2.0b 输出通常需要额外的 LSPCON 转换芯片(比如 Parade PS196 或 Megachips 方案),把 DisplayPort 信号转换成 HDMI TMDS。所以你在模块规格里看到“4x HDMI 2.0b”,背后其实是“GPU 出 4 路 DP,其中几路经 LSPCON 转成 HDMI”。
1.2 常见四显组合和接口规划
我们评估的这块模块提供了 1 路 eDP、2 路 DP++ 和 1 路 HDMI 2.0b 的组合,但这只是其中一种规划。从市面上主流的 Tiger Lake-U 模块来看,四路显示大致有下面几种走法:
| 方案 | 接口组成 | 适用场景 |
|---|---|---|
| A | 1x eDP + 3x DP++ | 带内置触摸屏的 KIOSK,eDP 直连面板 |
| B | 4x DP++(部分走 Type-C) | 多屏拼接、医疗影像,全部外接 DP 屏 |
| C | 1x eDP + 2x DP++ + 1x HDMI/LSPCON | 兼顾内置屏与外接商用显示器 |
| D | 2x eDP + 2x DP++ | 双内置面板的异型设备 |
选择哪种组合,核心要看你产品的屏幕形态。如果是要做带屏幕的医疗监护仪,eDP 直连面板最经济;如果要做 4 个独立 HDMI 口的商用主机,厂商必须给 LSPCON 留出位置。我们在选型时还特别确认了一个细节:4 路显示是否支持完全不同的分辨率和刷新率,而不只是镜像。实测结果是,四路独立输出可以做到 2 路 4K@60 + 2 路 1080p@60,但需要把 BIOS 里 DVMT 预分配显存调到 512MB 以上,否则高分辨率接口会因为显存不足出现闪屏或枚举失败。
提示:评估模块时不要只看“最多支持 4 屏”这句话,要拿到完整的多屏分辨率矩阵表。部分模块在 eDP 和 DP 同时使用时会限制某些接口的最高分辨率,这种约束通常藏在硬件设计手册的小字部分,不提前确认就很容易在项目后期翻车。
1.3 双屏三屏容易,四屏高负载的带宽分配才是关键
很多人觉得“既然能出四路,那就接 4 个 4K@60”,这个想法在实际测试里很容易被泼冷水。DisplayPort 1.4 的 HBR3 模式单路原始带宽约 32.4Gbps,带一路 4K@60 很轻松;但四路同时高分辨率输出时,四路链路会共享内存控制器带宽和显示引擎的扫描输出调度资源,实际表现往往和屏幕内容密切相关。
我们在测试中就遇到过三路 4K + 一路 1080p 稳定运行,但换成四路 4K 后第二路 DP 不定时黑一下屏的情况。GDM 日志里能看到链路重新训练的动作,说明问题出在显示引擎内部资源分配而不是线缆。把第二路刷新率从 60Hz 降到 50Hz 之后,问题消失。所以评估阶段一定要做“全部接口满规格同时输出”的压力测试,不要只是在系统桌面里插上显示器看能否点亮,那和实际产品负载差得远。
另外一个容易忽略的点是显存分配。Tiger Lake-U 是共享内存架构,BIOS 里的 DVMT 预分配大小直接决定显示引擎可用的显存上限。四路 4K 桌面合成时,帧缓冲占用可能超过 300MB,如果预分配只有 64MB,系统会动态借用内存,导致高负载时出现闪烁或轻微卡顿。我们在所有四显项目里都统一要求 DVMT 调到 512MB,并且使用双通道 DDR4-3200,带宽才够用。
2. PCIe Gen4 的真相:总共只有 4 条通道,且经常被 SSD 占掉
2.1 CPU 直连通道 vs PCH 通道
Tiger Lake-U 内部有两套 PCIe 资源:CPU Root Complex 直出的 PCIe 和控制中心(PCH)扩展出来的 PCIe。CPU 直出的通道总共有 8 条,其中 4 条支持 PCIe Gen4,另外 4 条只支持 Gen3。PCH 那一路则全部是 Gen3,没有任何一个 PCH 端口支持 Gen4。
所以模块上标注的“PCIe Gen4”其实只有一种可能性:CPU 那组 x4 Gen4 通道。它在不同模块上的去向大体有两种:
- 板载 M.2 2280 插槽,专门给 NVMe SSD 用,这是最常见的设计,也是厂商宣传 Gen4 时默认指代的对象。
- 通过 COM Express Type 6 的 PEG 通道或 Qseven 的 PCIe 通道引到载板,让客户自己在载板上接 Gen4 设备。
这两种设计对客户的影响完全不同。如果 Gen4 被用在板载 M.2 上,那么你的系统只能在存储速度上享受 Gen4 红利;如果你需要外接 Gen4 采集卡、AI 加速卡或 RAID 控制器,就必须选第二种设计,并且要非常谨慎地处理载板布线。
2.2 Gen4 x4 的实测带宽
我们在 Tiger Lake-U 模块上用三星 PM9A1(Gen4 NVMe)做过一轮测试。在模块板载 M.2 上,CrystalDiskMark 的顺序读取稳定在 6800 MB/s 左右,顺序写入 5000 MB/s 左右;同样一颗 SSD 放到仅支持 Gen3 的上一代平台上,顺序读取被压在 3500 MB/s 上下。
PCIe 的带宽计算公式不复杂:Gen3 单 lane 8 GT/s,Gen4 单 lane 16 GT/s,x4 链路有效数据率大约为 lane 数 × 单 lane 速率 × 编码效率。Gen4 x4 理论单向约 7.88 GB/s,实测 6.8 GB/s 已经是很健康的水平,NVMe 协议开销和 SSD 闪存自身的速度也会拖一点后腿。
在 Linux 下判断 SSD 是否真的跑在 Gen4 速率,可以用:
sudo lspci -vvv -s 01:00.0 | grep -Ei "LnkCap|LnkSta"如果 LnkCap 显示 16 GT/s 而 LnkSta 只显示 8 GT/s,说明链路协商在 Gen3;需要检查 BIOS 里的 PCIe Link Speed 是否设成了 Auto/Gen3,或者载板插槽的布线是否有问题。
提示:很多模块厂商为了兼容老接口,BIOS 默认把 CPU 直连 Gen4 通道限制在 Gen3。测试前先到 BIOS 的 PCIe Configuration 里确认 Link Speed 是否允许 Gen4,否则你会误判模块硬件能力。
2.3 COM Express 连接器跑 Gen4 的现实难度
如果模块把 Gen4 引到 COM Express Type 6 连接器,问题会复杂很多。COM Express 3.0 规范当初定义的时候主要奔着 Gen3 去的,连接器本身没有做 Gen4 的官方认证。虽然 MXM 风格的插拔连接器在短距离上具备跑 16 GT/s 的潜力,但最终能不能稳定跑起来,取决于模块和载板两边的总走线长度、过孔数量、参考层完整性,以及连接器引脚相邻信号的串扰。
我们和几个载板设计方交流下来的经验是:模块到载板连接器的走线尽量控制在 3~4 英寸内;载板这一段要严格做 85Ω 差分阻抗控制;连接器附近的过孔要背钻。即便满足了这些条件,仍然要做全链路眼图测试,别指望原理图照着参考设计画就一定能过。另一个常被忽略的是参考时钟架构,Gen4 对 REFCLK 的抖动容限更严格,如果载板使用了独立的时钟缓冲器,要确认它满足 PCIe Gen4 的相位噪声要求;否则会出现“10 次开机有 1 次识别不到设备”这种概率性故障。
3. 四屏全开 + NVMe 满速,功耗和散热是笔算不清就容易炸的账
3.1 功耗预算不能只看 TDP
Tiger Lake-U 的 TDP 标称 15W/28W,但这是 CPU 封装散热设计功耗,不是模块整板功耗。嵌在四屏输出 + 高速存储 + 外设满载场景时,模块实际功耗会明显高于 TDP。我们实测过一块 28W 配置的 i7-1167G7 级别模块,在四路 4K 显示 + PM9A1 持续读写 + 双网口打流的情况下,12V 输入端电流达到 5.2A 左右,换算下来整板功耗约 62W。CPU 核心本身可能只占了一半,另一半来自核显高负载、DDR4 内存、SSD、接口芯片和 PCH。
| 负载项 | 典型功耗估算 |
|---|---|
| CPU/GPU 核心(峰值) | 35~45W |
| DDR4 双通道内存 | 4~6W |
| Gen4 NVMe SSD(持续读写) | 6~8W |
| 4 路 DP/eDP 输出与转换芯片 | 2~3W |
| 千兆网口 + USB 外设 | 5~8W |
| 整板合计(实测峰值) | 55~65W |
所以做电源设计的时候建议按最大场景功耗的 1.5 倍预留余量。如果用的是 DC-DC 从 12V 转 5V/3.3V,还要注意模块瞬态电流峰值,尤其是开机瞬间多个设备同时上电时,12V 电压跌落超过 5% 会导致模块随机重启。我们之前的一块载板就是 12V 走线太细,导致开机时电压从 11.8V 掉到 10.9V,模块在 Linux 启动到一半就复位,排查了很久才发现是电源路径的铜宽不够。
3.2 散热设计经验
散热上,四屏 + Gen4 的场景有两个容易被忽略的热源:核显和 SSD。核显在四路 4K 合成输出时功耗可能仅次于 CPU,而 Gen4 SSD 在持续写入时颗粒温度上升很快。如果模块的 M.2 位置紧挨着 CPU 散热器,高温气流会互相影响,SSD 连续跑几分钟就开始限速。
被动散热机箱做 28W 持续负载时,外壳散热面积最好不低于 200 平方厘米(经验值,视环境温度而定),并且 CPU 位置要加导热垫直贴机箱铝壁。有风扇的主动散热方案就从容很多,一个 4010 或 5010 风扇在 3000 RPM 时就能把模块表面温度压在 60°C 以内。需要特别注意的是,工业场景如果要求 -20°C 到 70°C 工作温度,建议选工业级 SKU,并优先用被动散热,因为风扇在低温启动和粉尘环境下故障率偏高,这在我们之前的户外项目中踩过不少次。
3.3 电压轨的顺序与时序
供电设计里还有个不太起眼但很致命的细节:模块各电压轨的上电时序。COM Express 规范要求载板给模块提供 12V 待机和主电源时,模块内部的电压轨会按特定顺序建立。如果载板的 12V 电源有较大的容性负载或者软启动太慢,可能导致模块上电时序异常,表现为第一次开机黑屏、第二次又正常。建议用示波器抓模块上电瞬间的 12V 波形,确认电压爬升速率在模块手册规定的范围内。很多批量稳定性问题,最后都出在这种“软件查不出、硬件测不到”的电源细节上。
4. 什么项目才真正需要“四显示 + PCIe Gen4”这种组合
4.1 多屏工控 HMI
工厂产线的数据看板、设备状态监控,往往需要 4 块屏幕分别显示不同工序的画面。过去这种需求通常要上独立显卡加中端工控机,不仅占空间,功耗也高。Tiger Lake-U 模块的四路显示正好切中这个需求,单模块加一个可靠载板就能替代原来的多设备方案。Gen4 在这种场景下主要是为了快速读写本地报警录像和配方数据,属于锦上添花,但 NVMe 全速读取确实能让系统启动和软件加载快一大截。
我还想多说一句:很多 HMI 项目里,4 路显示的物理接口形态比接口数量更重要。工厂显示器很多还是 HDMI 口或 VGA 口,而 DP 信号不是每台老显示器都支持。所以选模块时如果确认要接老式 HDMI/VGA 屏,记得把所有显示口最终要转成的物理形态提前落实,别等结构件开模了才发现载板上的接口位置和数量不对。
4.2 医疗影像与自助终端
医疗影像诊断工作站对显示分辨率和色彩要求高,多屏异显几乎成了标配。四路 DP 输出接多台 4K 医用显示器,Gen4 SSD 加速 DICOM 影像序列的加载,这套组合可以覆盖相当一部分超声、内镜和病历浏览需求。但要注意医疗设备的电气安全和认证要求,电源隔离和接地设计要比普通工控严格得多,选模块时尽量选有完整认证资料的型号。
自助终端/KIOSK 则是另一个大宗场景:一块内置触摸屏(eDP)+ 两块广告屏(DP/HDMI)+ 一块收银屏,四路显示刚好用完,而 Gen4 对这类设备更多是面向未来——当系统需要本地缓存大量视频素材时,高速存储能减少素材切换的卡顿。我见过不少 KIOSK 项目因为存储慢导致广告视频在切换时明显卡顿,换了 Gen4 NVMe 之后这个问题基本消失,用户感知非常明显。
4.3 选型时一定要向厂商追几个问题
- “四路显示具体是哪几种接口组合?是否支持 4 路同时异显?”——很多规格书写 4 屏,实际是 2 路克隆 + 2 路扩展。
- “PCIe Gen4 是板载 M.2 还是通过连接器引出?”——决定你能不能用外部 Gen4 设备。
- “BIOS 里是否同时开放了 4 个显示接口和 Gen4 链路?”——部分模块为了兼容性默认关闭了某些功能。
- “载板参考设计是否提供 Gen4 布线指导?”——没有这份文档的话,引到载板的 Gen4 大概率只能在低频下工作。
这四条看起来像废话,但我们在真实选型里几乎每次都遇到至少一个回答模糊的厂商。尤其在“四路异显”这个词上,不同厂商的定义差异很大,有的四路输出只能复制,有的受限于 BIOS 只能三路异显加一路复制。把这些落到纸面、写进技术协议里,是选型阶段最值得花时间做的事。
5. 调试复盘:四路显示枚举与 Gen4 链路的真实坑位
5.1 四屏点不亮,先查 BIOS 的 DVMT 和 Multi-Monitor
我们第一次拿到模块时,只接了 3 块屏幕,第 4 个 DP 口死活没有输出。排查了线缆和显示器之后,进 BIOS 发现两个设置点需要改:一是 DVMT 预分配显存默认只有 64MB,四屏同时工作必须调到 512MB 以上;二是 Multi-Monitor Support / Multiple Display 选项默认关闭,开启后才能让核显同时驱动 4 个输出。
这里给大家一个排查思路:先确认 BIOS 里“显示输出数”的配置项,再看系统里 xrandr 能否枚举到对应的 CRTC:
xrandr如果能看到 4 个 output 但其中一个无信号,通常是接口转接或线缆的问题;如果系统只看到 2~3 个 output,那就要回到 BIOS 显示资源分配去查。注意这个过程中不要忽略核显驱动是否加载成功。部分 Linux 发行版默认使用 modesetting 驱动,对四屏支持没问题,但个别精简内核会禁用部分显示通道,建议用发行版官方内核而不是自己裁剪的最小内核来验证硬件能力。
5.2 显示接口枚举顺序不稳定
四屏设备最麻烦的体验问题是屏幕顺序随机变化。DP 接口在热插拔或重新训练后,内核 DRM 子系统按连接状态分配 connector,顺序可能与物理位置不一致。我们最终在载板上给每个 DP 接口加了 EDID 读写电路,把固定 EDID 刷进去,同时在内核参数里配置video=选项指定输出映射,才把顺序稳定下来。
这个坑在产品化阶段非常容易被低估。开发时说一句“顺序乱就手动设一下”好像没什么,等量产之后每台设备都出现内容错位,返工成本极高。如果你的产品有 4 屏异显需求,建议在硬件设计阶段就把 EDID 固定方案做进去,不要拖到软件阶段再想办法。
5.3 PCIe Gen4 协商到 Gen3 的排查链路
前面提到 BIOS 默认限速是一个原因,另一个常见坑是 M.2 插槽本身不支持 Gen4。有些模块虽然 CPU 支持,但 M.2 连接器或者载板转接板的引脚定义只做了 PCIe Gen3 规范,这时候 link 最高只能到 8 GT/s。
排查顺序可以这样:先用 lspci 确认 LnkCap 和 LnkSta:
sudo lspci -vvv -s 01:00.0 | grep -Ei "LnkCap|LnkSta"如果 LnkCap 显示 16GT/s 但 LnkSta 是 8GT/s,在排除 BIOS 设置后,用短的直连 M.2 转 PCIe 卡测试 SSD 本身;如果直连正常而插在载板上只有 Gen3,基本可以断定是转接走线的信号完整性问题,而不是 SSD 或模块的问题。我们遇到过一块载板上的 M.2 连接器旁边放了几个大电流 Buck 电源,开关噪声耦合到 PCIe 差分对上,导致高负载时 CRC 错误率飙升、链路自动降速。这种情况靠软件几乎无法定位,只能靠频谱分析和近场探头去查。
5.4 Gen4 信号完整性的实质:过孔、背钻与参考层
最后一个真正的硬骨头是载板走线。Gen4 对过孔残桩极其敏感,一截 10 mil 的残桩在 16 GT/s 下就是一根天线,会让眼图裕量迅速恶化。我们有一条 Gen4 x4 从 COM Express 连接器走到 PCIe x4 插