目录

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. 使用OHOS SDK构建flac

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/xiph/flac 进入 ...

  2. Seaborn时间线图和热图

    lineplot() 绘制与时间相关性的线图. sns.lineplot( x=None, y=None, hue=None, size=None, style=None, data=None, pa ...

  3. Linux 操作另一台服务器

    服务器信任 在运维场景中,如果需要在一台服务器操作另一台服务器,就需要目标服务器(下面称为 B 服务器)信任当前服务器(下面称为 A 服务器). 在 A 服务器生成证书. ssh-keygen -t ...

  4. Qt线程简单使用三:QRunnable~线程池

    需求: 点击QPushButton按钮,QLabel中的数字,不断累加,一直到999.   做法: 创建任务类,点击QPushButton后,将任务类放入线程池中运行,通过任务类while循环,不断发 ...

  5. k8s 深入篇———— Job与CronJob[十]

    开篇 简要演练一下job 和 cronjob 正文 实际上,它们主要编排的对象,都是"在线业务",即:Long Running Task(长作业).比如,我在前面举例时常用的 Ng ...

  6. docker 应用篇————具名挂载和匿名挂载[十三]

    前言 简单整理一下具名挂载和匿名挂载. 正文 来看一下匿名挂载. 这里-v指定了容器内部的路径,但是没有指定容器外部的路径,那么挂载到了什么地方. 用inspect 查看一下. 挂载到这个位置了. 然 ...

  7. 重新整理数据结构与算法(c#)—— 顺序存储二叉树[十九]

    前言 二叉树顺序存bai储是二叉树的一种存储方式.将二du叉树存储在一zhi个数组中,通过存储元素的下dao标反映元素之间的父子关系. 正文 这个概念比较简单,比如一个节点的在数组的index是x,那 ...

  8. szfpga 高云gowin国产开发板GW2AR-18核心板fpga cpld测试板

    1. 概述 国产FPGA是最近几年起来的产品,具有性价比高特点.而GOWIN属于国产FPGA成员,在服务和芯片都是比较大的优势,很多用户都用在LED控制,电机控制,PLC设备上,以及用于替换Latti ...

  9. 【Oracle】使用PL/SQL快速查询出1-9数字

    [Oracle]使用PL/SQL快速查询出1-9数字 简单来说,直接Recursive WITH Clauses 在Oracle 里面就直接使用WITH result(参数)即可 WITH resul ...

  10. 你不知道的 HTTPS 压测

    ​简介:随着互联网安全规范的普及,使用 HTTPS 技术进行通信加密,实现网站和 APP 的可信访问,已经成为公认的安全标准.本文将介绍针对 HTTPS 协议做压力测试的关注点,以及使用 PTS 做 ...