PCIe功耗管理(三)ASPM机制
通常情况下,处于D0状态的设备会保持其Upstream链路处于L0状态;而ASPM为D0状态定义了一种协议,可以将链路置于低功耗状态,同时指示另一端同样及那个第功耗。ASPM可以动态降低链路功耗,实现比只有软件控制更细致的电源管理。
相关寄存器
Link Capabilities Register寄存器:
寄存器域 |
描述 |
Supported Link Speeds |
0001b:支持2.5GT/s 0010b:支持2.5/5.0GT/s; 其他保留; |
Maximum Link Width |
000000b:保留; 000001b:x1; 000010b:x2; 000100b:x4; 001000b:x8; 001100b:x12; 010001b:x16; 100001b:x32; |
Active State Power Management(ASPM)Support |
00b:保留 01b:支持L0s; 10b:保留; 11b:支持L0s和L1; |
L0s Exit Latency |
000b:小于64ns; 001b:64~128ns; 010b:128~256ns; 011b:256~512ns; 100b:512ns~1us; 101b:1~2us; 110b:2~4us; 111b:大于4us; |
L1 Exit Latency |
000b:小于1us; 001b:1~2us; 010b:2~4us; 011b:4~8us; 100b:8~16us; 101b:16~32us; 110b:32~64us; 111b:大于64us; |
Clock Power Management |
1b:表示在L1和L2/L3 Ready状态下,可通过CLKREQ#机制移除时钟; 0n:表示在这些状态不能移除时钟 |
Surprise Down Error Reporting Capable |
当作为下行端口且支持检测和上报Surprise Down错误则需要置为1;否则置为0; |
Data Link Layer Link Active Reporting Capable |
当下行端口支持上报DL_Active状态和管理状态机,需要置为1;其他置为0; |
Link Bandwidth Notification Capability |
1:支持Link Bandwidth Notification状态和中断机制; |
Port Number |
指示PCI Express Link的Port Number; |
Link Control Register寄存器:
寄存器域 |
描述 |
Active State Power Management (ASPM) Control |
00b:关闭ASPM; 01b:使能L0s; 10b:使能L1; 11b:使能L0s和L1; |
RsvdP |
保留域 |
Read Completion Boundary(RCB) |
0:64bytes 1:128bytes |
Link Disable |
当设置为1,将Link LTSSM转入Disabled状态 |
L0s ASPM状态
进入L0s ASPM状态
如果在不超过7us时间(实际时间是由系统特定的)内满足定义的idle条件,则使能L0s的端口将其传输通道置于L0s状态;
EP和RC定义的idle条件:
- 没有TLP需要传输或者所有FC都不足以传输TLP;
- 没有DLLP需要传输;
退出L0s ASPM状态
当有TLP或者DLLP需要发送的时候,设备可以发起L0s的退出;
L1 ASPM状态
同意进入L1 ASPM流程
L1 ASPM进入条件
- credits足够发送最大数据包(TLP);
- 接收到所有发送TLP得ACK,满足重发条件情况下也需要等到重发完毕;
L1 ASPM进入其他规则
- 当决定进入低功耗状态,DL层不再接收TL层的TLP;当在进入L1过程中,需要先进入L1;再退出到L0,发送TLP;
拒绝进入L1 ASPM流程
退出L1 ASPM
当有TLP或者DLLP需要发送的时候,设备可以发起L1的退出;
PCIe功耗管理(三)ASPM机制相关推荐
- [PCIe] [电源管理] 面向硬件的ASPM链路状态和L1子状态
PCIe设备的低功耗状态要求系统驱动程序显式地将设备置于低功耗状态,从而PCIe链路则可以依次变为低功耗链路状态.PCIe规范允许PCIe链路在没有系统驱动的情况下进入低功耗状态.这个特性就是所谓的主 ...
- PCIe功耗控制--ASPM
上一节PCIe功耗控制–Legacy PCI Compatible PM 讲了软件参与的功耗控制(OSPM),本次讲PCIe引入的硬件自动功耗控制. ASPM Active State Power M ...
- JVM内存管理及GC机制
转载自:http://blog.csdn.net/suifeng3051/article/details/48292193 一.概述 Java GC(Garbage Collection,垃圾收集,垃 ...
- 【Linux 内核 内存管理】RCU 机制 ② ( RCU 机制适用场景 | RCU 机制特点 | 使用 RCU 机制保护链表 )
文章目录 一.RCU 机制适用场景 二.RCU 机制特点 三.使用 RCU 机制保护链表 一.RCU 机制适用场景 在上一篇博客 [Linux 内核 内存管理]RCU 机制 ① ( RCU 机制简介 ...
- io多路复用的原理和实现_IO多路复用的三种机制:select 、poll 、epoll
目录 概述 IO多路复用本质 IO多路复用的优势 IO多路复用Select机制 IO多路复用Poll机制 IO多路复用Epoll机制 select,poll,epoll机制区别总结 php7进阶到架构 ...
- SylixOS电源管理之外设功耗管理
1.前言 在这个世界中,任何系统的运转都需要能量.如树木依靠光能生长,如马儿依靠食物奔跑,如计算机系统依靠电能运行.而能量的获取是有成本的,因此如果能在保证系统运转的基础上,尽量节省对能量的消耗,就会 ...
- iOS 的内存管理和虚拟内存机制具体是怎么运作的?
iOS 的内存管理和虚拟内存机制具体是怎么运作的? 众所周知,iOS 设备的内存普遍较小.但就最终用户体验而言,流畅舒服.想知道虚拟内存在其中是否发挥了作用? 3 条评论 分享 按投票排序按时间排序 ...
- Linux内存管理:分页机制
<Linux内存管理:内存描述之内存节点node> <Linux内存管理:内存描述之内存区域zone> <Linux内存管理:内存描述之内存页面page> < ...
- java堆是gc管理_JVM内存管理及GC机制
一.概述 JavaGC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和 ...
最新文章
- Win10如何远程连接Windows Server 2008,以及提示“您的凭证不工作”问题解决
- Altium Designer飞线(未连接线)不显示的解决方法
- Mysql主主复制高可用解决方案
- Windows Socket 编程
- 鸿蒙tv系统安装,运行第一个鸿蒙tv应用
- 使用arpspoof实现内网ARP欺骗
- 信息学奥赛C++语言:求平均分
- 陆奇:疫情下的创业者,最不能缺这两大能力
- SMPL: A Skinned Multi-Person Linear Model
- MySQL某列增加标注_MySQL 使用CASE表达式给行做标记
- rabbitmq python 发送失败_RabbitMQ Python端发送消息给Java端 接受消息全数字问题
- mysql or order by_MySQL 2 SQL数据使用(检索、排序、过滤:SELECT/FROM/LIMIT/ORDER BY/DESC/WHERE/AND/OR/IN/NOT)...
- 高通刷机工具使用介绍
- 学计算机的管理层,毕业很吃香、高薪岗位多的4个专业,计算机科学上榜,你的专业呢...
- 松翰触摸单片机SN8F5711
- 视频如何批量去除水印
- 移动vue大转盘抽奖
- Olist巴西电商数据分析(二)
- nhibernate mysql配置_(转)NHibernate各种数据库配置写法
- 气象预警信号图标设计中的坑
热门文章
- Windows本地快速搭建SFTP服务共享文件【外网访问】
- 深度揭秘可部署矢量字体图标管理平台 YIcon
- winform(C#)程序实现在线更新软件
- form表单输入正则校验
- Python网络爬虫5 - 爬取QQ空间相册
- 2019安恒杯一月新春贺岁赛writeup
- linux qt4 音乐播放器,Ubuntu 14.04下安装音乐播放器 Clementine 1.2.3
- KDD 2018 | 小波分解网络用于可解释的时间序列分析
- Word 表格填写信息(XX 证券案例)
- string::find()函数和string::npos函数的介绍