• PCIe系列专题之五:PCIe总线电源管理


    PCIe总线的电源管理包括两方面的内容:

    • 一是基于软件控制的PCI-PM电源管理机制,这部分与PCI总线兼容;

    • 二是基于硬件控制的ASPM电源管理机制, 不需要Host端软件口控制,PCIe链路自主管理。

    注: ASPM= Active State Power Management.

    在本文中,我们就针对这两种电源管理机制展开介绍。

    1. PCI-PM电源管理

    PCI-PM电源管理机制是系统软件通过修改寄存器中的电源管理字段,使PCIe设备进入D状态。D状态总共有四种:D0,D1,D2,D3.

    • D0: 这个状态属于"全马力"工作状态,不考虑任何电源节省的因素。D0又有两个子状态: D0-Uninitialized和D0 Active. 

      a, D0-Unintialized: 这时PCIe还没有被激活,只能接受Configure Write/Read TLP请求,仍不能正常工作。比如设备刚被Reset后进入D0-Unintialized。

      b, D0 Active: PCIe设备已经被成功激活,可以正常工作。

    • D1: PCIe设备进入"浅睡眠"状态;

    • D2: PCIe设备进入"深度睡眠"状态;

    • D3: 这个状态是电源管理中最低功耗的状态。有两个子状态: D3-hot和D3-cold。

      a, D3-hot: 此时与D1/D2的功能类似,但是D3-hot只能返回到D0-Unitialized。

      b, D3-cold: 当PCIe设备的VCC电源被移除时,PCIe设备进入此状态。

    值得注意的是,PCIe设备必须支持D0和D3,但是D1/D2是选择性的。所以在目前市面的SSD PCIe主控,一般都只是支持D0/D3,并不支持D1/D2。当PCIe设备处于D0状态时,ASPM可以改变PCIe链路的电源状态。

    介绍ASPM之前,我们先认识一下PCIe定义的有关PCIe链路的电源状态:

    • L0: 这个状态属于PCIe设备

  • 相关阅读:
    02-MySQL-基础-增删改查
    zibbix安装部署
    VulnHub Alice
    hutool的HttpRequest.post的使用-包括上传文档等多个传参【总结版本】
    stable diffusion webui中的sampler
    Python提供API给JAVA调用,实现Python和Java之间的交互
    架火炬市场现状及未来发展趋势分析
    Winform跨线程访问UI
    面试官:设计模式中的桥接模式是什么?
    grpc和thrift的概念及区别
  • 原文地址:https://blog.csdn.net/zhuzongpeng/article/details/127134907