PCIE 4.0 Power Mangement

        PCIe总线的电源管理包含了ASPM软件电源管理两方面的内容,所谓ASPM是指PCIe路在没有系统软件参与的情况下,由PCIe链路自发进行的电源管理方式;而软件电源管理是指PCI-PM机制(与PCI总线兼容)。

1. Link State Power Magenment   

        PCIE链路在没有系统软件参与的情况下,由PCIE链路自发进行的电源管理状态。设备只有处于D0状态时,才通过ASPM机制将设备链路置于降低的低功耗状态,以此达到减少系统功耗的目的。ASPM(Active State Power Management)包含L0s L1两种状态,系统软件无法控制L0 和L0s状态间的迁移过程,这两个状态的迁移只能由ASPM控制。

        ASPM是一种基于硬件的自主功耗调节机制,即使设备Function处于"D0" State,它依然可以节省功耗。Link state 对于传统的pcie 软件是不可见的,但它可以通过ASPM 或者链路上组件的power magement D -state 获取。 PCI-PM devie state D-State (设备电源状态)可以控制link state power magenment(链路电源状态)控制。协议为链路电源管理分配了如下几个状态:

  • L0: Active state,**在ASPM PCI-PM生效。
  • L0s:  low resume latency, energy saving "standby" state,对于ASPM是可选的。在此状态下所有的main power,compopnent reference clocks and  components's PLL均是处于active的状态。
  • L1:high latency, low power “standby" state。PCI -PM生效,对于ASPM是可选的。在此状态下所有的main power处于active的状态;若Clock Power  Mangement 状态和 L1 PM状态被激活则 component reference clk 处于非active状态;内部PLL则处于关闭状态,这导致退出低功耗状态会有很大的延迟。在此阶段 TLP and DLLP是被禁止发送的。 

当软件配置DSP的设备被配置为非D0状态,此时会强制链路进入L1状态;如果 ASPM机制请求进入L1并收到了回复的确认信号同样也会进入L1状态,退出L1则需要链路上的数据处于活跃状态。
通过设置L1 PM Substates Control 1 Register中的一个或多个bit开启L1 PM 子状态,此时的L1状态记作L1.0。在L0状态下退出L1.1 L1.2 (for PCI-PM)需要 CLKRFEQ=1,  该子状态会在PCI-PM ASPM中生效。

  • L2/L3 Ready: 它是一个伪状态,它对应LTSSM中的L2状态当通过软件配置系统的Function进入D3 ,系统也会进入L2/3 Ready该状态当系统希望移除power和clk之前,会发送PME_Turn_Off_Message,设备接收到PME_Turn_Off_Message后返回的PME_TO_AckMessage表示本地已经准备好移除power。此后DSP设备向上游持续发送PM_Enter_L23DLLP,直至收到与之对应的 Ack DLLP或者电源已经被拔出,Link从L0进入L2/L3 Ready状态。main power移除后,如果Vaux 处于active状态则进入L2,否则进入L3
  • L2:Auxliay-powered Link, deep-energy-saving state。在该状态下仅Vaux有效,它负责给wakeup logic, PME context, any "keep alive" 逻辑供电。
  • L3: 没有任何power supply生效。
  • LDn:transitional Link Down presudo-state prior to L0。该presudo-state与 LTSSM中的detect polling configuration disable loopback hot-reset相关联。

***注意这里的状态并不是跟LTSSM里的状态对应的,虽然是同名但是并不是一个状态。

2. PCI-PM Software Compatible Mechanisms

        D-States(Device Power Management States)  它与某个Function 的PM状态。 PCI-compatible PM是一种在软件上硬件上都与PCI-PM兼容的模式,其要求PCIe设备每个Function都包含PCI Power Management Compability 寄存器。软件可以通过配置请求(Configuration Request) 方式来切换PCIe设备的某个Function的power managemetn的状态。

  • D0  它是正常工作状态的function;在经过常规复位之后组件的所有Function均会进入D0_uninitialized 状态,在经历过过configuration后便会进入D0_active状态,它是PCIE设备的全工作状态。
  • D1 它是可选的状态,在此状态组件功能只能发送PME Message TLP,只能接收Configureation Message 类型的TLP request。除此之外的TLP Request 和Completion均当作非法处理。
  • D2 它是可选状态,当组件功能当前以及后续一段时间均不会被使用,则跳转到该状态并显著降低功耗。在此状态组件功能只能发送PME Message TLP,只能接收Configureation Message 类型的TLP request。除此之外的TLP Request 和Completion均当作非法处理。协议规定你软件配置设备 D2 --> D0的最小恢复时间为200us。
  • D3 它是由一系列功耗管理策略组成,设备可以通过软件配置者直接断开物理电源进入该状态。其包含两种D3_hot, D3_cold状态(如果main power 存在则处于D3_hot,否则处于D3_coldD3_hot 可以被软件配置PMSCR寄存器进入D0状态,D3_cold需要先进入D0_uninitialized状态完成main power 并进行基础复位在进入D0。

         D3_hot状态下只允许接收Configuration and Message requests TLP,其他的请求均被认为是非法的。D3_hot 可以被软件配置PMSCR Power State Field寄存器选择进入D0_active或者D0_uninitialized,这些前提是组件功能在供电还未移除情况下,必须能够回应Configuration Space access。如果在D3_hot向D0跳转时如果需要内部复位(热复位)则需要跳转到D0_uninitialized以进行一个完整的复位流程,完成后便进入D0_initialized。
        当main power移除之后,便需要进入D3_cold状态,通过重新使能电源并产生一个Fundamental Reset开启一个新的上电顺序使得状态跳转到D0_uninitialized。支持wakeup功能的需要保存PMCSR寄存器。在次阶段Auxiliary power source需要被使用执行PME event侦测,Link 激活,保存PME context字段。

PCIE电源管理icon-default.png?t=N7T8https://www.zhihu.com/tardis/bd/art/623500018?source_id=1001

硬件总线基础11:PCIe总线基础-电源管理(1)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/637591643

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/419454.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫——Urllib库-1

这几天都在为了蓝桥杯做准备,一直在刷算法题,确实刷算法题的过程是及其的枯燥且枯燥的。于是我还是决定给自己找点成就感出来,那么Python的爬虫就这样开始学习了。 注:文章源于观看尚硅谷爬虫视频后笔记 目录 Urllib库 基本使…

【深蓝学院】移动机器人运动规划--第7章 集群机器人运动规划--笔记

文章目录 0. Contents1. Multi-Agent Path Finding (MAPF)1.1 HCA*1.2 Single-Agent A*1.3 ID1.4 M*1.5 Conflict-Based Search(CBS)1.6 ECBS1.6.1 heuristics1.6.2 Focal Search 2. Velocity Obstacle (VO,速度障碍物)2.1 VO2.2. RVO2.3 ORCA 3. Flocking model&am…

【Leetcode】2369. 检查数组是否存在有效划分

文章目录 题目思路代码结果 题目 题目链接 给你一个下标从 0 开始的整数数组 nums ,你必须将数组划分为一个或多个 连续 子数组。 如果获得的这些子数组中每个都能满足下述条件 之一 ,则可以称其为数组的一种 有效 划分: 子数组 恰 由 2 个…

C/C++ 迷宫游戏

游戏介绍 这个迷宫探险游戏有以下功能: 探险:选择该选项后,玩家会进入地下迷宫进行探险。在随机事件中,可能会遇到陷阱、发现金币或者什么都没有发生。陷阱会使玩家失去一定的生命值,金币可以增加玩家的金币数量。 休…

ToDesk - macOS 上轻便好用的远程控制

文章目录 官网 https://www.todesk.com个人版(免费)下载地址: https://www.todesk.com/download.html 支持系统类型 Windows、macOS、Android、iOS、Linux 应用大小为 320MB 左右 使用界面

SpringBoot整合rabbitmq-主题交换机队列(四)

说明:Topic主题交换机它的大致流程是交换机和一个或者多个队列绑定,这个绑定的Routingkey是包含通配符的,满足通配符的队列会接收到消息。 通配符规则: #:匹配一个或多个词 *:匹配一个词 例如&#xff…

2024年工控人职场求生之路

2024年,眼看项目多了活儿忙了 工控工程师们开始上演飞驰人生 不是跑去客户那里调设备 就是在电脑上搭项目做画面搭系统 每天都过热辣滚烫 你说忙吧,每天也就干那些事儿 你说多有成就感呐 我觉得我能有绝对的主导权和话语权 那都是天方夜谭 2024年…

给孩子选台灯什么样的好?2024年最值得购买的护眼台灯推荐

自从孩子上学以后,很多家长就一直给孩子添置各种各样的学习用品,例如专用的学习桌椅、书架,不过随着作业的增多,发现最需要的物品就是一盏好的护眼台灯。然而有些商家为了降低成本,不惜牺牲产品质量,使用没…

没有项目经历,该如何写简历?

没有项目经历,我该如何写简历 一、前言二、挖掘自己三、看现成的项目经验,转化成自己的语言1、硬件方面2、软件方面 四、最后 一、前言 相信有很多刚出来找工作的人会遇到这种情况,因为自身没有项目经历,投了很多的简历都石沉大海…

【详识JAVA语言】逻辑控制

概述 我的曾经: 早上8:00起床--->洗漱--->吃早饭--->上课--->吃午饭--->上课--->运动--->吃完饭--->玩手机--->睡觉 每天的生活貌似都是这么规律,顺序的做着每件事,前途一片渺茫~~~ 直到有一天: 我…

外卖点餐小程序二合一自由切换商业运营版 带完整的搭建教程

“外卖点餐小程序二合一自由切换商业运营版”的源码,是基于当前最流行的移动应用开发框架开发的。它整合了前端展示、后端管理、数据库存储等多个功能模块,为用户提供了一个高效、稳定、易于维护的外卖点餐解决方案。这套源码不仅适用于初创企业快速搭建…

基于ssm疫情期间高校防控系统+vue论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,学生信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大…

#stm学习总结 (二十八)硬件随机数实验

28.1 随机数发生器简介 STM32F407 自带了硬件随机数发生器(RNG),RNG 处理器是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的随机数。 28.1.1 RNG 框图 STM32F407 的随机数发生器(RNG&#x…

ShardingJdbc实战-分库分表

文章目录 基本配置分库分表的分片策略一、inline 行表达时分片策略algorithm-expression行表达式完整案例和配置如下 二、根据实时间日期 - 按照标准规则分库分表标准分片 - Standard完整案例和配置如下 基本配置 逻辑表 逻辑表是指:水平拆分的数据库或者数据表的相…

Nodejs+vue汽车保养美容管理系统vscode前后端分离项目

汽车美容保养管理系统后台采用nodejs语言开发,前台页面和后台管理页面使用vue等技术开发,使用MySql作为数据持久化存储工具对汽车美容保养管理系统的用户等角色权限对应的功能等进行存储。采用vsocde集成IDE对汽车美容保养管理系统统进行开发,整合系统的各个模块。 拟开发的汽车…

Java字符串相关类的底层原理

Java字符串相关类的底层原理

SpringBoot底层原理

SpringBoot底层原理 一 配置优先级 1.配置方式 Springboot中支持三种配置方式,分别为: application.propertiesapplication.ymlapplication.yaml 2.配置优先级 当存在多份配置文件时,配置文件会按照它们的优先级生效。 优先级从高到底…

unity后期

unity|后处理篇 前言一、Post-Processing 1、 Post-Processing的使用2、Post-Processing后处理效果 抗锯齿①、Ambient Occlusion 环境光遮蔽②、Auto Exposure 自动曝光③、Bloom 辉光/泛光④、Chromatic Aberration | 色差⑤、Color Grading 色调/颜色分级⑥、Depth Of Fiel…

第九届数学与人工智能国际会议 (ICMAI 2024)即将召开!

2024年第九届数学与人工智能国际会议将于2024年5月10-12日在中国北京召开。本届会议由北京工业大学主办,旨在促进应用逻辑、算法与复杂性研究,使用数学的方法促进人工智能理论与应用发展,加深学术交流与合作。我们热忱欢迎从事相关技术研究的…

Pytest中测试结果收集:pytest_terminal_summary!

前言 Pytest是Python的一种强大的测试框架,它提供了丰富的功能和插件来满足各种测试需求。 其中,pytest_terminal_summary是一个钩子函数,它允许我们在测试运行结束后,添加自定义的总结信息到测试报告中。这个功能在需要对测试结…