ARMv8-A系列学习笔记(5)--Chapter 15 Power Management
来源:互联网 发布:mac网络代理设置 编辑:程序博客网 时间:2024/06/05 03:43
ARM Cortex-A Series Programmer’s Guide for ARMv8-A
Chapter 15 Power Management
两类功耗:
静态:即漏电流,与SILICON面积成正比,制成、工艺(fabrication geometries)越小,静态功耗占比越高
动态:由于晶体管开关,与时钟速率正相关,与晶体管数量正相关
软件根据计算量,动态调整CORES的电源状态,有两个方面:
1. IDLE MANAGEMENT
2. DYNAMIC VOLTAGE AND FREQUENCY SCALING
WAKEUP LATENCY:time required to move from a low-power state to a running state
CLOCK-GATING: STOP THE CLOCK OF THE CORE (DYNAMIC ONLY)
POWER-GATING: REMOVE POWER (DYNAMIC & STATIC)
LOW-POWER STATEs: 由 clock-gated, power-gated的components的数量与程度来分类
IDLE.STANDBY:
core is left powered-up
clocks are stopped -- clock-gated, static/leakage only, clocking for small amount of logic that looks out for the wake-up condition
entered: WFI, WFE
wakeup condition: interrupt, event, SEV instruction, request from SCU for a cache coherency operation in a multi-core system
wakeup latency: two-clock-cycles (negligible effect on latency and responsiveness of the core)
IDLE.RETENTION
OS层面,与STANDBY没有差异
在ENTRY METHOD, LATENCY, USE-RELATED CONSTRAINTS等方面存在差异
在EXTERNAL DEBUG方面与STANDBY存在差异
IDLE.POWER DOWN
core is powered off -- 断电
core state is saved and restored -- 保存与恢复
need core reset when power level been restored -- 需要RESET
IDLE.DORMANT MODE
core logic is powered down -- 断电
cache RAMs are left powered up (live data and code persists i the caches) -- 环境存在cache中
in a multi-core system, such core must isolate themselves from the coherence domain -- 处于该状态下的core, 将不纳入coherence的domain
IDLE.Hotplug
动态开关core
与power-down的差异:
1. hot unplugged状态下,软件停用所有与该CORE相关的中断与线程, 对OS来讲,相当于该CORE不存在
2. OS需要使用显式的指令,将该CORE转换到HOT PLUG状态, 在该显式指令之后,才开始在该CORE上调度线程,全能中断
DVFS: dynamic voltage and frequency scaling
1.与工作频率成线性关系
2.与工作电压成平方关系
P = C * V*V * f
调整core clock的工作频率
频率下降,也使电压下降
电压下降,则同时降低动态与静态功耗
OPP: OPERATING PERFORMANCE POINT, system DVFS curve
OS PROVIDES DVFS POLICIES
- ARMv8-A系列学习笔记(5)--Chapter 15 Power Management
- ARMv8-A系列学习笔记(4)--Chapter 4.4 Endianness
- ARMv8-A系列学习笔记(7)--Chapter 13 Memory Ordering
- ARMv8-A系列学习笔记(3)--Chapter 3 Fundamentals of ARMv8
- ARMv8-A系列学习笔记(2)--2.1 ARMv8-A
- ARMv8-A系列学习笔记(8)--Chapter 10 AArch64 Exception Handling
- ARMv8-A系列学习笔记(6)--Caches
- ARMv8-A系列学习笔记(9)--GIC
- ARMv8-A系列学习笔记(1)--Chapter 1 Introduction.The change from 32-bit to 64-bit
- power management笔记
- PCIe学习笔记(16)--- Power Management (1)
- PCIe学习笔记(17)--- Power Management (2)
- PCIe学习笔记(18)--- Power Management (3)
- WM/WINCE代码研读系列之Power Management(5)
- ARMv8 架构与指令集.学习笔记
- ARMv8 内存管理架构.学习笔记
- ARMv8 架构与指令集.学习笔记
- ARMv8 Load / store 指令学习重要笔记
- 蓝桥杯-C语言 算法训练 水仙花数
- java使用dcm4che3 解析dicom文件
- 刽子手游戏
- Linux清理
- linux下安装node.js
- ARMv8-A系列学习笔记(5)--Chapter 15 Power Management
- sttdio快捷键
- 玩转Excel系列-SUMIF函数实例教程
- android zip压缩base64解密加密,做记录用
- 多态
- Oracle的load_balance和failover
- 自适应学习速率SGD优化算法
- 使用kettle进行增量抽取数据
- 用 jQuery.ajaxSetup 实现对请求和响应数据的过滤