目录

EIST(智能降频技术)

EIST 能够根据不同的 OS(操作系统)工作量自动调节 CPU 的电压和频率,以减少耗电量和发热量。它的引入,大大节省了 CPU 在低工作量的能耗,受到了极大的欢迎,从此每一代 Intel CPU 上都有了它的身影。

EIST 的工作原理:首先我们要明白,OS 主导了在整个 EIST 在各个频率的切换,只有它最了解工作量。同时 EIST 要工作,硬件,固件和 OS 三方缺一不可。我们也就从这三个方面介绍它的工作原理。

硬件

Intel CPU 是 EIST 可以工作的硬件基础。它通过一系列寄存器保证固件和 OS 可以得到足够的信息,有足够的手段控制 EIST 的工作模式。

固件

说到固件,不得不提到 ACPI(Advanced Configuration and Power Interface,高级配置与电源接口),它是固件和 OS 的电源管理接口和模型。

其中 ACPI 规范定义了 CPU 的工作状态,包含:

  • S-States(Sleeping):系统睡眠状态
  • C-States(CPU Power):CPU 电源状态,更改 CPU 供电功率。是 ACPI 定义的 CPU 工作在 G0 时的 Power states,这些状态包括 C0,C1,C2,C3…Cn。其中 C0 被称为 Active 状态,也只有 C0 的时候 CPU 才会执行指令;其余的状态则被称为 Sleeping,这时 CPU 是不执行指令的,也因而会节省更多的功耗。系统在运行时会根据 Loading 状况在各个 C-state 之间切换,以此来降低功耗,而 EIST 各个工作频率是通过在 C0 下的各种 P-states 表现出来的。

  • P-States(CPU Performance):CPU 性能状态,更改 CPU 主频率
  • T-states(CPU Throttling):CPU 节能状态,更改单位时间内 CPU Clock On 的比例
  • G-States(全局状态)
  • D-States(设备状态)

操作系统

OS 知道现在的工作量,由它来决定是不是要在各个 P-states 之间迁移。Linux 对 EIST 的支持始于 Linux Kernel 2.6.0,由 cpufreq 工具提供支持。cpufreq 工具主要由两个部分组成:调控器 + 守护程序。

可以使用 i7z 小工具(同时向下兼容 i5、i3 处理器)来查看线上服务器的 CPU 工作模式。e.g.

服务器电源管理(Power Management States)的更多相关文章

  1. Linux电源管理(4)-Power Manager Interface【转】

    本文转载自:http://www.wowotech.net/pm_subsystem/pm_interface.html 1. 前言 Linux电源管理中,相当多的部分是在处理Hibernate.Su ...

  2. Linux电源管理-Linux regulator framework概述

    前言 1.  什么是regulator?      regulator翻译为"调节器",分为voltage regulator(电压调节器)和current(电流调节器).一般电源 ...

  3. Power Management开发的一般流程

    本文作为一个提纲挈领的介绍性文档,后面会以此展开,逐渐丰富. 开发流程 针对一个PM feature进行开发,设计模型是第一步.模型设计好之后,还要保留参数接口,可以基于这些参数针对特殊个体进行优化. ...

  4. [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文

    综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...

  5. Linux电源管理(11)_Runtime PM之功能描述

    转自:http://www.wowotech.net/pm_subsystem/rpm_overview.html 1. 前言 终于可以写Runtime PM(后面简称RPM)了,说实话,蜗蜗有点小激 ...

  6. exynos 4412 电源管理芯片PMIC 的配置及使用方法

    /** ****************************************************************************** * @author    Maox ...

  7. linux电源管理系列(一)

    本系列将逐步介绍linux电源管理相关的知识,涉及到常见电源管理机制.linux电源管理机制.linux驱动中有关电源管理的相关接口.内核文档中关于Linux电源管理架构文档的分析.以下将以此来介绍相 ...

  8. linux驱动程序之电源管理之标准linux休眠与唤醒机制分析(一)

    1. Based on linux2.6.32,  only for mem(SDR) 2. 有兴趣请先参考阅读: 电源管理方案APM和ACPI比较.doc Linux系统的休眠与唤醒简介.doc 3 ...

  9. Linux下Power Management开发总结

    本文作为一个提纲挈领的介绍性文档,后面会以此展开,逐渐丰富. 1. 前言 在 <开发流程>中介绍了PM开发的一般流程,重点是好的模型.简单有效的接口参数.可量化的测试环境以及可独性强的输出 ...

  10. Linux内核电源管理综述

    资料:http://blog.csdn.net/bingqingsuimeng/article/category/1228414http://os.chinaunix.net/a2006/0519/1 ...

随机推荐

  1. #分治NTT#CF1218E Product Tuples

    Codeforces 用 OGF 表示 \(F(B,x)\) 就是 \[\prod_{i=1}^n(1+(q-a_i)x) \] 直接分治 NTT 把 \([x^k]\) 也就是这一位的系数求出来就可 ...

  2. #虚树,树形dp#洛谷 3233 [HNOI2014]世界树

    题目 分析 考虑建一棵虚树,倍增找到虚树上相邻两个点的中间点统计答案 记录每个虚树点最近的距离以及编号最小的点,主要是细节问题 代码 #include <cstdio> #include ...

  3. 使用OHOS SDK构建filament

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从gitee下载源码. 执行如下命令: git clone https://gitee.com/oh-graphics/filament.git ...

  4. SQL CREATE INDEX 语句- 提高数据库检索效率的关键步骤

    SQL CREATE INDEX 语句 SQL CREATE INDEX 语句用于在表中创建索引. 索引用于比其他方式更快地从数据库中检索数据.用户无法看到索引,它们只是用于加速搜索/查询. 注意: ...

  5. std::thread 一:创建线程的三种方式

    前言: #include <thread> thread.join() // 阻塞 thread.detach() // 非阻塞 thread.joinable() // bool,判断线 ...

  6. Mybatis总体框架设计

    Mybatis架构概览 Mybatis架构整体设计如下: 接口层和数据库交互的方式 Mybatis和数据库的交互方式有两种 使用传统的MyBatis提供的API: 使用Mapper接口 使用传统的My ...

  7. wireshark 抓包整理———— 从一个小案例开始 [一]

    前言 前面已经有抓包系列了,简单写一下wireshark的抓包系列,共36节,18个理论小栗子,36个实战栗子. 正文 这个例子是<<wireshark 分析就这么简单>>的一 ...

  8. docker 应用篇————portainer[九]

    前言 简单介绍一下portainer. 正文 运行一下. docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/va ...

  9. c++ 中const 原理

    前言 在c++ 中和别的语言不一样,高级语言是将const编译了,c又不同这里不介绍,而c++ 是实现了. 正文 const 原理 请看一个解析: const a=10; int*p=&a; ...

  10. redis 一百二十篇(历史发展)之第二篇

    正文 简介: Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化, ...