当前位置: 首页 > news >正文

NVLink、UALink 崛起,PCIe Gen6 如何用 PAM4 迎战未来?

现在数字经济发展地相当快速,像Cloud、现在火红的AI、大数据这些新技术都需要在数据中心里运行更多运算,伴随而来的是更快的数据传输速度的需求。 在数据中心,有很多条数据传输路径,举例 :

  1. Server 和Storage之间(通过PCIe)
  2. CPU和各种适配器之间(通过PCIe)
  3. GPU跟GPU组成的Cluster (透过NVLink或Ethernet)

相当多样的数据传输拓朴不停交换大量数据,以应付即时运算和庞大的数据读写需求。 所以,硬件接口技术也必须不断升级,否则整个系统就会被数据传输带宽给卡住。 在传统服务器领域,一直都是PCIe当作主要高速传输媒介,靠着将每个Lane的Data Rate提高,进而提升整体带宽。 但到了PCIe Gen6这一关,单靠传统的NRZ编码技术已经遇到相当大的瓶颈。

P.S. 由于PCIe的演进太慢,带宽太差,因此nVIDIA自行研发NVLink(已经要迈向200G-PAM4)将自己的芯片构建成的系统达到另一个层次,这其实是Ethernet网络的领域,咱们再另外说明! 这也是为什么会有UALink的缘故!

 

为什么说Gen6会有瓶颈? 主要原因在于SI的综合考量。 Gen6的Data Rate是64Gbps,相较Gen5的32Gbps多了一倍,如果利用NRZ编码技术,最高的Clock频率高达32GHz(或者可以说Nyquist Frequency),这使得我们在关注的损耗带宽不好实现。 如图片说明,56Gbps-NRZ的通道损耗在28GHz高达62dB,现今等化器(Equalizer, EQ)技术可无法到达这一水平。 而PAM4的讯号调变方式将带宽再多降低一倍至14GHz,相同通道的损耗可以变小为33dB,对EQ来讲相当友善!

 

为什么 PCIe Gen6 使用 PAM4 ?

传统通道调变技术是NRZ (或称作PAM2),只有两个电压阶层,每个符号(Symbol)仅能承载 1 bit 资讯,若硬要单靠NRZ再将符号速率倍增,就必须在更高的频段运作,带来严重的高频损耗,同时需要在材料和走线技术上付出极高成本才能维持良好的讯号质量。

PAM4技术正好满足了这个「有限带宽中实现高数据密度」的需求。 PAM4 在同样的数据传输速度下,把信号幅度划分成四个等级,因而在一个符号间隔中能传递 2 bit 的信息。 换句话说,相同速度下PAM4可以传递两倍于NRZ的数据,有效带宽自然可以再往下降。

 

除了在速率与带宽之间取得较好的平衡,PAM4 另一个优势在于整个高速领域已经累积了相当多的应用经验。 在Ethernet领域,56G和112G SerDes已采用PAM4调变,所以芯片IP、量测设备和高速布线技术已相当成熟,也让业界对PAM4的噪声模型、EQ、FFE/DFE都有了深厚的研究。 所以PCIe采用PAM4,也就能承接这些既有的技术成果与生态系统,减少从零开始摸索的风险与成本。

PCIe Gen6 PCB Material Selection from SI View

有别于PCIe Gen5的36dB,PCIe Gen6的Channel loss budget为32dB。 Intel的文件里有提到,从Gen5的Birch Stream升级到Gen6的Oak Stream会需要将CCL材料的等级从ULL1(0.96dB/inch)提升到ULL2(0.85dB/inch),从台湾的CCL供应链来看,台光电推出高性价比的EM626抢攻市场,台曜与联茂各有相关解决方案。 其中南亚较晚切入中高阶领域,刚进来就推出极高性价比的NPG-188U,据说已经有许多ODM导入使用中。

 

 

PAM4’s Challenge

然而事情总是一体两面,PAM4也是带来相当多的挑战:

  • 较差的SNR(Signal-to-Noise Ratio): 由于原先的振幅范围内要多塞进两个电压准位,所以有别于NRZ眼图的一颗眼睛,PAM4眼睛会有三颗,振幅缩小1/3,也就是说天生的SNR就比NRZ调变少了9.6dB。

 

  • 抗噪声能力差:由于天生少了9.6dB的SNR,使其对于噪声较为敏感,一般对于NRZ的Power-Sum Crosstalk要求是-30dB,而PAM4我们会尽量要求在-45dB。
  • EQ设计更复杂:由于天生较低的SNR,导致Receiver需要用更强的EQ补偿信号,设计者与测试单位需要更多地理解这些EQ的任务。

 

  • FEC(Forward Error Correction):可以针对误码进行侦错并纠错,不过系统延迟会上升。
  • NRZ的BER要求是小于1e-12,但是PAM4的Pre-FEC BER(或称作Raw BER)则是1e-5左右,透过FEC的纠错可以将Post-FEC BER降低至1e-12以下。

 

  • 较大的功耗:由于引入比较多的EQ,且使用了FEC,这些新导入的技术会大大地提升整个系统功耗,使得电源完整性与PCB板温的议题浮上台面。 (P.S.这也是为什么Linear Pluggable Optics, LPO被提出来的主要原因)
  • 测试设备升级:PAM4不再是一个单一眼图,而是三个「眼」需要同时观测与评估,量测示波器与 BERT必须支持更高带宽与更细腻的分析功能。

PAM4的确是可以将设计的有效带宽降低,在PCB材料的选择上保持更多弹性,不过设计者得面临更高层次的 SI/PI考量、电路设计复杂度,以及测试验证的高门槛。 在台湾,由于设计Ethernet的人跟PCIe的人比较不会overlap,所以目前设计PCIe的人初期可能会比较辛苦,但将设计面向放宽,多留些Margin,一定可以轻松征服PAM4!

 

相关文章:

NVLink、UALink 崛起,PCIe Gen6 如何用 PAM4 迎战未来?

现在数字经济发展地相当快速,像Cloud、现在火红的AI、大数据这些新技术都需要在数据中心里运行更多运算,伴随而来的是更快的数据传输速度的需求。 在数据中心,有很多条数据传输路径,举例 : Server 和Storage之间&…...

23种设计模式-行为型模式之迭代器模式(Java版本)

Java 迭代器模式(Iterator Pattern)详解 🧠 什么是迭代器模式? 迭代器模式是一种行为型设计模式,它提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露该对象的内部表示。 🎯 使用场景 …...

指标监控:Prometheus 结合 Grafana,监控redis、mysql、springboot程序等等

软件作用说明 ‌Prometheus‌:采集各种指标数据(如CPU、内存、请求数),并存储到时序数据库中。‌Grafana‌:数据可视化,生成监控仪表盘。 架构说明 被监控服务(如Redis/MySQL/SpringBoot&a…...

微信小程序,基于uni-app的轮播图制作,调用文件中图片

以便捷为目的,想使用文件中的图片制作轮播图 但网上找到的都是轮播图彼此分割,没有使用数组存储在一起,不便于管理,代码不美观简洁 作者使用文件中的图片,并使用数组制作轮播图的具体操作如下:&#xff0…...

未来医院已来:AI如何实现无死角安全监控

AI智慧医院如何用算法守护安全与效率 ## 背景:医疗场景的智能化转型需求 现代医院作为人员密集、场景复杂的公共场所,面临诸多管理痛点:患者跌倒可能延误救治、医闹事件威胁安全、医疗垃圾处置不当引发感染风险、重点区域(如药…...

搭建动态SQL取数

日常取数的时候可能会存在动态SQL的问题,比如取数动态或者条件动态等情况,下面针对动态SQL做一个完整的处理。包括SELECT 、FROM、WHERE 以及 最后table的动态。 首先 数据定义,这里全按照表来append处理 TYPES:BEGIN OF ty_data,edpline T…...

Python函数基础:简介,函数的定义,函数的调用和传入参数,函数的返回值

目录 函数简介 函数定义,调用,传入参数,返回值 函数的定义 函数的调用和传入参数 函数的返回值 函数简介 函数简介:函数是组织好,可重复使用,用来实现特定功能(特定需求)的代码…...

下垂控制属于构网型控制技术

下垂控制属于构网型控制,而非跟网型控制。 一、构网型与跟网型控制的本质区别 控制策略差异 构网型控制(Grid-Forming Control, GFM): 通过模拟同步发电机的特性(如转子运动方程),自主构建电压幅…...

主流 LLM 部署框架

主流 LLM 部署框架 框架主要特点适用场景vLLM- 超快推理(高吞吐) - 动态批处理 - 支持 HuggingFace Transformer - 支持 PagedAttention高并发、低延迟在线推理TGI (Text Generation Inference)- Huggingface官方出品 - 多模型管理 - 支持动态量化 - 支持…...

数据库系统概论(四)关系操作,关系完整性与关系代数

数据库系统概论(四)详细讲解关系操作,关系完整性与关系代数 前言一、什么是关系操作1.1 基本的关系操作1.2 关系数据语言的分类有哪些 二、关系的完整性2.1 实体完整性2.2 参照完整性2.3 用户的定义完整性 三、关系代数是什么3.1 传统的集合运…...

C#里使用libxl来加载网络传送过来的EXCEL文件

从服务器传送过来的数据,是一个EXCEL文件, 那么怎么样获取里面的数据比较合适呢? 是不是把数据先保存到文件,再使用传统的方式打开它呢? 其实这样做,也是可以的,对于比较大的文件来说。 如果文件比较小,就不必要这样做了,可以直接保存在内存,然后使用函数LoadRaw…...

Make + OpenOCD 完成STM32构建+烧录

目录 前言 准备工作 开始操作 后记 前言 前两篇通过VSCodeSTM32CubeMx跑通了用EIDE构建烧录。为今天的工作打下了非常棒的基础!今天来尝试手动构建烧录。 准备工作 安装Make,我这次用的是Win10,所以需要安装一个新朋友 msys2 &#xff0…...

Linux:进程间通信->命名管道

1. 命名管道 概念 是一种进程间通信(IPC)机制,能允许没有关联的两个进程进行数据交换。 由于匿名管道只能在有亲缘关系的父子进程间通信所以具有局限性,所以就要通过命名管道来对两个没有关系的进程进行通信。 命名管道是通过路径和文件名来使两个进…...

CS001-50-depth

目录 深度图 如何写入深度图 长什么样子 copy depth pass z反转 如何读取深度图&还原世界坐标 深度图 深度图,是记录离物体离摄像机最近的图。 如何写入深度图 深度图,在urp中,如果相机开启了需要深度图的话,会自动在…...

开源AI视频FramePack发布:6GB显卡本地运行

您现在可以在自己的笔记本电脑上免费生成完整的离线AI视频。 只有GPU和纯粹的创造力。 这到底是什么? 一个名为FramePack的新型离线AI视频生成器几天前在GitHub上发布 — 几乎没人在谈论它。这很奇怪,因为这个工具真的很厉害。 它允许您从静态图像和提示词在自己的机器上…...

P3309 [SDOI2014] 向量集 Solution

Description 有一个向量列表,初始为空,有 n n n 个操作分两种: add ⁡ ( x , y ) \operatorname{add}(x,y) add(x,y):将向量 ( x , y ) (x,y) (x,y) 添加到列表末尾. query ⁡ ( x 0 , y 0 , l , r ) \operatorname{query}(x_0…...

深入探究 MySQL 架构:从查询到硬件

了解数据库的底层工作原理对于开发人员和系统架构师来说至关重要。在本指南中,我们将探索 MySQL 查询的奇妙旅程,从它离开应用程序的那一刻起,直到到达物理存储层——每个步骤都配有真实的示例。 旅程开始:应用层 当您的应用程序执行 SQL 查询时,它会启动一系列复杂的事件…...

matlab实现稀疏低秩去噪

稀疏低秩去噪的matlab代码,包括OMP算法与KSVD算法 IGARSS2013/cal_ssim.m , 6372 IGARSS2013/Compute_NLM_Matrix.m , 2004 IGARSS2013/FeatureSIM.m , 18790 IGARSS2013/KSVD_Matlab_ToolBox2/demo1.m , 1907 IGARSS2013/KSVD_Matlab_ToolBox2/demo2.m , 3679 IGA…...

泽润新能IPO隐忧:募资缩水2亿元,毛利率两连降,内控存瑕疵?

撰稿|行星 来源|贝多财经 又一家光伏企业,即将登陆资本市场。 近日,江苏泽润新能科技股份有限公司(SZ: 301636,下称“泽润新能”)对外发布了首次公开发行股票并在创业板上市的招股意向书,并于4月25日启动…...

20250426在ubuntu20.04.2系统上打包NanoPi NEO开发板的FriendlyCore系统刷机eMMC的固件

20250426在ubuntu20.04.2系统上打包NanoPi NEO开发板的FriendlyCore系统刷机eMMC的固件 2025/4/26 21:30 缘起:使用NanoPi NEO开发板,编译FriendlyCore系统,打包eMMC固件的时候报错。 1、在ubuntu14.04下git clone异常该如何处理呢&#xff…...

商用车与农用车电气/电子架构 --- 赋能智能车队管理与远程信息处理

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

Medical Image Nnalysis发表对抗多实例学习框架,基于病理切片进行生存分析

小罗碎碎念 在医学AI领域,全切片图像(WSI)的生存分析对疾病预后评估至关重要。 现有基于WSI的生存分析方法存在局限性,经典生存分析规则使模型只能给出事件发生时间的点估计,缺乏预测稳健性和可解释性;且全…...

Ubuntu20.04部署Dify(Docker方式)

Ubuntu20.04部署Dify(Docker方式) Ubuntu20.04 DifyInstall DockerInstall Docker ComposeRun DifyRunning Ollama 由于写这篇博客的时候电脑还没装输入法,所以先用半吊子英文顶着了…关于最后运行ollama的部分可以无视,因为我修改…...

常见的六种大语言模型微调框架

六大主流微调框架详细解析 框架简介优势劣势Hugging Face PEFT专注于「参数高效微调」(LoRA、Prefix、Prompt-tuning等)的小型库,直接挂在Transformers上用。简单稳定,兼容性好,文档丰富,适配各种小模型到中…...

高精度3D圆弧拟合 (C++)

本文的目的是实现高精度的3D圆弧拟合,若对精度要求不高,可使用PCL的圆拟合接口,参见 PCL拟合空间3D圆周 fit3DCircle-CSDN博客 ---------------------------------------------------------------------------------------------------------…...

WPF定义扩展属性和依赖属性

WPF扩展属性与依赖属性详解 一、依赖属性(Dependency Property)详解 1. 什么是依赖属性? 依赖属性是WPF框架的核心特性之一,它允许属性值依赖于: 父元素的属性值(继承)样式和模板动画数据绑定资源查找2. 依赖属性的特点 ​​属性值继承​​:子元素可以继承父元素的属性…...

微信小程序 - 根据经纬度打开导航

一、获取到指定的经纬度后 二、设置打开导航 onReady() {this.mapCtx wx.createMapContext(myMap)},openMap() {this.mapCtx.openMapApp({latitude: this.data.latitude,longitude: this.data.longitude,destination: this.data.destination,success: (res) > {console.log…...

WPF实现类似Microsoft Visual Studio2022界面效果及动态生成界面技术

WPF实现类似VS2022界面效果及动态生成界面技术 一、实现类似VS2022界面效果 1. 主窗口布局与主题 <!-- MainWindow.xaml --> <Window x:Class"VsStyleApp.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x…...

驱动开发(1)|鲁班猫rk356x内核编译,及helloworld驱动程序编译

前言 在进行驱动开发或内核定制时&#xff0c;编译内核源码是一个不可或缺的步骤。内核源码不仅为驱动模块的编译提供了必要的构建环境&#xff0c;还确保了驱动与操作系统内核之间的紧密兼容性。随着内核版本的不断更新&#xff0c;内核内部的数据结构、API接口或系统调用可能…...

深入剖析 Vue 组件:从基础到实践

引言 在前端开发领域&#xff0c;Vue.js 以其简洁易用和高效灵活的特点深受开发者喜爱。而 Vue 组件作为 Vue.js 的核心概念之一&#xff0c;是构建大型应用的基石。无论是简单的按钮、表单&#xff0c;还是复杂的页面布局、功能模块&#xff0c;都可以封装成组件&#xff0c;…...

C++武功秘籍 | 入门知识点

目录 0. 前言 1. C的第一个程序 2. 域 2.1 分类 2.2 作用 2.3 命名空间 2.3.1 定义 2.3.2 namespace概念 2.3.3 使用 3. 输入和输出 3.1 3.2 cin 3.3 cout 3.4 endl 4. 缺省参数 4.1 定义 4.2 分类 4.3 特点 5. 函数重载 5.1 定义 5.2 类型分类 5.2.1.参数类型不同 5.2.2. 参数…...

[官方IP] Shift RAM

Xilinx Shift RAM IP (PG122) 详细介绍 概述 Xilinx Shift RAM IP 是 AMD Xilinx 提供的一个 LogiCORE™ IP 核&#xff0c;用于在 FPGA 中实现高效的移位寄存器&#xff08;Shift Register&#xff09;。该 IP 核利用 FPGA 的分布式 RAM&#xff08;Distributed RAM&#xf…...

Trae国际版+BrowserTools MCP yyds!!!

这是为您的博客优化的版本&#xff0c;结构更清晰、痛点更突出&#xff0c;并增加了技术细节和用户价值&#xff1a; &#x1f4e2;《告别手动抓狂&#xff01;Trae国际版BrowserTools MCP 实现前端错误调试自动化》&#x1f680; 作为前端开发者&#xff0c;你是否经历过这些…...

Kdenlive 中的变形、畸变、透视相关功能

Kdenlive 中的变形、畸变、透视相关功能 flyfish Kdenlive 是一款开源、跨平台的非线性视频编辑软件&#xff0c;支持 Windows、macOS 和 Linux 系统. 滚动 通常指让画面内容&#xff08;如字幕、图像&#xff09;沿特定方向&#xff08;垂直或水平&#xff09;滚动显示。 用于…...

蓝桥杯 8. 移动距离

移动距离 原题目链接 题目描述 X 星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。楼房的编号为 1, 2, 3, ⋯⋯。 当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。 例如&#xff0c;当小区排号宽度为 6 时&#xff0c;排列如下&#xff1a; 1 2 …...

2025.04.26-美团春招笔试题-第三题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 树上路径权值递增 问题描述 LYA正在开发一款基于树的图形渲染引擎,她需要实现一种特殊的路径增强效果。在这个效果中,她需要沿着树上的简单路径为节点赋予递增的权值增益。 …...

c++_csp-j算法 (5)

动态规划 介绍 动态规划(Dynamic Programming)是一种常用的解决优化问题的算法设计技术,常用于解决具有重叠子问题和最优子结构性质的问题。动态规划算法通过将问题划分为子问题,解决子问题并将子问题的解保存起来,最终构建出原问题的解。在本节中,我们将详细介绍动态规…...

力扣2444. 统计定界子数组的数目:Java三种解法详解

力扣2444. 统计定界子数组的数目&#xff1a;Java三种解法详解 题目描述 给定整数数组 nums 和两个整数 minK 和 maxK&#xff0c;统计满足以下条件的子数组数目&#xff1a; 子数组的最小值等于 minK&#xff1b;子数组的最大值等于 maxK。 示例&#xff1a; 输入&#xf…...

安全生产知识竞赛宣传口号160句

1. 安全生产是责任&#xff0c;每个人都有责任 2. 安全生产是保障&#xff0c;让我们远离危险 3. 安全生产是团结&#xff0c;共同守护每一天 4. 注重安全&#xff0c;守护明天 5. 安全生产无小事&#xff0c;关乎千家万户 6. 安全第一&#xff0c;人人有责 7. 安全生产无差别&…...

【Hive入门】Hive动态分区与静态分区:使用场景与性能对比完全指南

目录 1 Hive分区技术概述 2 静态分区详解 2.1 静态分区工作原理 2.2 使用场景 2.3 示例 3 动态分区深度解析 3.1 动态分区执行流程 3.2 使用场景 3.3 示例 4 使用场景对比 4.1 场景选择 5 性能对比与优化 5.1 插入性能 5.2 查询性能 5.3 小文件问题 6 最佳实践 6.1 混合分区策略…...

6.1腾讯技术岗2025面试趋势前瞻:大模型、云原生与安全隐私新动向

2025年腾讯技术岗面试趋势前瞻&#xff1a;大模型、云原生与安全隐私新动向 随着AI技术与云计算的深度融合&#xff0c;腾讯校招技术岗面试正呈现出三大核心趋势&#xff1a;AI大模型应用深化、云原生技术迭代加速、安全隐私技术刚需化。本文结合腾讯2025年最新技术布局&#…...

探秘卷积神经网络:深度学习的图像识别利器

在深度学习领域&#xff0c;卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNN&#xff09;是图像识别任务的关键技术。它的起源可以追溯到 20 世纪 80 - 90 年代&#xff0c;但受限于当时的软硬件条件&#xff0c;其发展一度停滞。随着深度学习理论的不断…...

x修改ssh版本号9.9可以躲过漏洞扫描器扫描

1. 查看当前系统的ssh版本号 ssh -V sshd -V 2. 查看ssh和sshd的位置 which ssh which sshd3. 查看ssh版本号有关的字符串 strings /usr/bin/ssh | grep OpenSSH strings /usr/sbin/sshd | grep OpenSSH4. 备份 cp /usr/bin/ssh /usr/bin/ssh.bak cp /usr/sbin/s…...

django之账号管理功能

账号管理功能 目录 1.账号管理页面 2.新增账号 3.修改账号 4.账号重置密码 5.删除账号功能 6.所有代码展示集合 7.运行结果 这一片文章, 我们需要新增账号管理功能, 今天我们写到的代码, 基本上都是用到以前所过的知识, 不过也有需要注意的细节。 一、账号管理界面 …...

Java24 抗量子加密:后量子时代的安全基石

一、量子计算威胁与 Java 的应对 随着量子计算机的快速发展&#xff0c;传统加密算法面临前所未有的挑战。Shor 算法可在多项式时间内破解 RSA、ECC 等公钥加密体系&#xff0c;而 Grover 算法能将对称加密的暴力破解效率提升至平方根级别。据 NIST 预测&#xff0c;具备实用价…...

ssm乡村合作社商贸网站设计与实现(源码+lw+部署文档+讲解),源码可白嫖!

摘要 当今社会进入了科技进步、经济社会快速发展的新时代。国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统乡村合作社商贸管理采取了人工的管理方法&#xff0c;但这种…...

多线程(1)——认识线程

目录 概念线程是什么为什么要有线程进程和线程的区别Java的线程 和 操作系统线程 的关系 创建线程方法1&#xff1a;继承Thread 类run和start方法 方法2&#xff1a;实现Runnable 接口方法1和方法2的区别 方法3&#xff1a;通过匿名内部类继承Thread方法4&#xff1a;通过匿名内…...

CSS3布局方式介绍

CSS3布局方式介绍 CSS3布局&#xff08;Layout&#xff09;系统是现代网页设计中用于构建页面结构和控制元素排列的一组强大工具。CSS3提供了多种布局方式&#xff0c;每种方式都有其适用场景&#xff0c;其中最常用的是Flexbox和CSS Grid。 先看传统上几种布局方式&#xff…...

4.换行和续写

一.FileOutputStream写出数据的两个小问题&#xff1a; 问题一&#xff1a;换行 假设在本地文件中要输出数据aweihaoshuai 666&#xff0c;在输出这个数据时要换行写出&#xff0c;如下图&#xff1a; 问题二&#xff1a;续写 假设在一个文本文件中已经存在数据aweihaoshuai…...

【数据结构与算法】从完全二叉树到堆再到优先队列

完全二叉树 CBT 设二叉树的深度为 h , 若非最底层的其他各层的节点数都达到最大个数 , 最底层 h 的所有节点都连续集中在左侧的二叉树叫做 完全二叉树 . 特点 对任意节点 , 其右分支下的叶子节点的最底层为 L , 则其左分支下的叶子节点的最低层一定是 L 或 L 1 .完全二叉树…...