上一节PCIe功耗控制–Legacy PCI Compatible PM
讲了软件参与的功耗控制(OSPM),本次讲PCIe引入的硬件自动功耗控制。

ASPM

Active State Power Management (ASPM)是只有在D0下才可以实施的硬件自动功耗控制,其进出过程都是由硬件自动触发,软件只能使能或关闭该功能,而无法介入控制过程。ASPM定义了2个低功耗状态

  • L0s (standby state) — This state provide substantial power savings but still
    allows quick entry and exit latencies. The main way this is done is by putting
    the Transmitter into the Electrical Idle condition. Support for this state
    was previously required for all PCIe devices in the earlier spec versions, but
    in the 3.0 spec it became optional.
  • L1 ASPM — The goal for L1 is to achieve greater power conservation than
    L0s for situations where longer entry and exit latencies are acceptable. For
    example, in this state both Transmitters go into Electrical Idle at the same
    time.

Electrical Idle

When a Transmitter’s differential signals (TxD+ and TxD‐) goes into the Electrical Idle condition, it stops signaling and instead holds its voltage very close to the common mode voltage with a differential voltage of 0 V. Signal transitions consume power, so stopping them on the Link gives power savings while still allowing a fairly quick resumption back to normal Link activity during which it is said to be in the L0 state
用一句话概括就是TX发送信号进入common_mode

TX进入electrical idle之前需要发送EIOS (Electrical Idle Ordered‐Set),之后立马结束发送数据,并在8ns之内进入Electrical Idle。进入Electrical Idle之后至少持续20ns(各种速率都适用)。

TX退出Electrical idle必须要叫醒对端RX的CDR电路,对于Gen1因为data rate较慢,只需正常发送TS1s或者FTSs对端即可认出链路上信号幅度超过squelch threshold。对于Gen2以上的速率,则需要先发送EIEOS (Electrical Idle Exit Ordered Set)。

RX可以根据收到EIOS或者inferred Electrical idle来进入Electrical idle

RX收到EIEOC之后退出Electrical idle,CDR要重新锁定实现bit lock和block align。状态机如下

寄存器


L0s

L0s进入由TX发起的单向控制,不同设备认为链路idle的标准如下:
• Endpoint Port or Root Port:
‐ No TLPs are pending transmission or a lack of Flow Control credits
is temporarily blocking them.
‐ No DLLPs are pending transmission.
• Upstream Switch Port:
‐ The receive lane of all downstream ports are already in L0s.
‐ No TLPs are pending transmission or a lack of Flow Control credits
is temporarily blocking them.
‐ No DLLPs are pending transmission.
• Downstream Switch Port:
‐ The Switch’s Upstream Port’s Receive Lanes are in L0s.
‐ No TLPs are pending transmission or a lack of Flow Control credits
is temporarily blocking them.
‐ No DLLPs are pending for transmission

设备硬件认为链路不再idle时候就发起退出L0s,并向对端发送FTS,FTS的数量由link training时TS1/TS2中的N_FTS决定,对端RX实现bit lock and symbol lock or Block lock。

L1 ASPM

L1提供比L0s更深度的功耗节省,但是恢复也需要更长的时间。L1只能由downstream port发起,upstream port决定同意或拒绝。

spec并未规定进入L1的具体条件,只是作出如下建议

  • ASPM L1 entry is supported and enabled
  • Device‐specific requirements for entering L1 have been satisfied
  • No TLPs are pending transmission
  • No DLLPs are pending transmission
  • If the downstream component is a switch, then all of the switch’s downstream ports must be in the L1 or higher power conservation state before the upstream port can initiate L1 entry.

双方协商的过程如下

  • PM_ Active_State_Request_L1 DLLP — issued by the downstream component to start the negotiation process.
  • PM_ Request_Ack DLLP — returned by the upstream component when all of its requirements to enter L1 ASPM have been satisfied.
  • PM_Active_State_Nak message TLP — returned by the upstream component when it is unable to enter the L1 ASPM state.

一个协商成功的例子

一个协商失败的例子

与进入L1只能downstream port发起不同的是,退出L1可以由链路任意一方发起,并且不需要协商。Switch如果收到某个port退出L1的请求,此时如果其他相关port也在发送信号链路上,也需要把他们叫醒。

PCIe功耗控制--ASPM相关推荐

  1. PCIe功耗管理(三)ASPM机制

    通常情况下,处于D0状态的设备会保持其Upstream链路处于L0状态:而ASPM为D0状态定义了一种协议,可以将链路置于低功耗状态,同时指示另一端同样及那个第功耗.ASPM可以动态降低链路功耗,实现 ...

  2. STM8电源模式管理及功耗控制

    一.功耗控制调整 1.硬件功能调整 2.软件功能调整 3.经验 3.3V供电比5V更省电 HSI比HSE更省电 晶振频率越低越省电 读写RAM比FLASH更省电 片上资源会影响功耗,不用的应该用PCG ...

  3. NBIOT模组BC95功耗控制的问题

    对于选择NBIOT的应用,相信功耗控制才是最核心的问题,针对该问题谈谈看法. 首先,收集网络上一些比较有价值的信息给大家参考,然后再结合项目实际情况写写自己的经验. 网络资源如下: (1)移远-BC9 ...

  4. 内核领域-功耗机型的续航基线优化问题-技术调研报告-王井玉_20211216

    内核领域-功耗机型的续航基线优化问题-技术调研报告_20211216 一. 问题 软硬件环境 设备: Loongson Loongson-LS3A5000-7A1000-1w-V0.1-CRB (Lo ...

  5. [PCIe] [电源管理] 面向硬件的ASPM链路状态和L1子状态

    PCIe设备的低功耗状态要求系统驱动程序显式地将设备置于低功耗状态,从而PCIe链路则可以依次变为低功耗链路状态.PCIe规范允许PCIe链路在没有系统驱动的情况下进入低功耗状态.这个特性就是所谓的主 ...

  6. PCIE——第 8 章——PCIe 总线的链路训练与电源管理

    摘要:PCIE--第 8 章--PCIe 总线的链路训练与电源管理 目录 第 8 章 PCIe 总线的链路训练与电源管理 8. 1 PCIe 链路训练简介 8. 1. 1 链路训练使用的字符序列 8. ...

  7. 探索PCIe 3.0峰值性能,长江存储推新消费级固态硬盘致态TiPlus5000

    2022年4月8日,长江存储推出新款消费级固态硬盘产品致态TiPlus5000.该产品采用基于晶栈 2.0(Xtacking® 2.0)架构的长江存储第三代三维闪存芯片,支持PCIe Gen3x4接口 ...

  8. 硬盘界面发展史:ATA, AHCI, NVMe. PATA, SATA, SAS, Mini PCIE/MSATA, M.2(PCEx2/SATA or PCIEx4)

    ATA: ATA(AT Attachment) 是一个很久远的标准,最初是定义诸如硬盘等存储设备和 CPU 的接的标准.一共有两种类型的 ATA,第一种叫 Parallel ATA(PATA),第二种 ...

  9. M.2-NGFF/NVMe、SATA、mSATA、PCI-e、miniPCI-e接口分析

    一.M.2 M.2,也称为Next Generation Form Factor (NGFF),是计算机内部扩展卡及相关连接器规范.其采用了全新的物理布局和连接器,将取代PCI Express Min ...

最新文章

  1. Nmap扫描教程之基础扫描详解
  2. Android开发者指南(18) —— Web Apps Overview
  3. python补全插件
  4. Windows Server 2008 R2x64 IIS7+PHP5.6 错误 500.0
  5. OC学习7——类别、扩展和协议
  6. GenericUDTF使用流程记载(转载+自己整理)
  7. C语言高级编程:指针变量p指向的地址与p自身的地址
  8. Pytorch基础(四)—— 卷积层
  9. YbtOJ#20240-[冲刺NOIP2020模拟赛Day10]弱者对决【笛卡尔树,区间dp】
  10. 【DP】晨练计划(ybtoj)
  11. 前端毕业设计:Nodejs+Vue菜鸟驿站仓库管理系统的设计与实现
  12. SylixOS原子量操作
  13. ORACLE EBS 启用REST服务-1-环境安装篇
  14. 【Python人工智能】Python全栈体系(二十)
  15. 黑客攻防之告别脚本小子-----精简实用渗透测试python小白入门
  16. PageBarHelper(数字页码条帮助类)
  17. Arduino Uno 实验11——MQ-3酒精乙醇传感器模块
  18. 做短视频千万不要错过这5个视频素材网
  19. 百度换肤JavaScript功能
  20. QGis二次开发基础 -- 构建图层管理器

热门文章

  1. 连接数据库出现java.lang.NullPointerException
  2. 酷睿i5 1240p什么水平 i5 1240p参数 i51240p是标压还是低压
  3. **opencv331install_path**
  4. Huawei 華為 MT7-TL10开机卡 logo卡开机画面 使用UFED完美导出客户数据资料
  5. 用 React+Redux+Immutable 做俄罗斯方块
  6. 511遇见易语言注册调用乐玩插件类模块封装
  7. ORA-00054: 资源正忙 解决办法
  8. 分类:支持向量机(四)——非线性支持向量机
  9. 基于Javaweb实现的人脸识别考勤系统
  10. createCaptureSession()