您好、欢迎来到现金彩票网!
当前位置:迪士尼彩乐园 > 改进调频 >

linux CPU是这样动态调频

发布时间:2019-04-25 23:44 来源:未知 编辑:admin

  低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。

  cpu级:主要实现比较容易的在系统处于目标在于频繁发生、更高粒度的电源状态改变,主要的实现方式为idle,包括今天的主要想讲的动态主频。

  设备驱动级:主要实现对单个设备驱动的管理(suspend,resume等),通过系统监测将闲置的设备,通过从用户态对sys文件目录动态进行单个驱动设备的管理

  系统平台级:目标在于管理较大的、非常见的重大电源状态改变,用于减少产品设备在长时间的空闲之后,减少电源消耗。主要实现方式是依托linux内核所支持的apm技术,实现整个系统的睡眠/恢复(sleep)

  这几个层次其实并不是相互独立的,都是相互交叉的,比如系统平台级的睡眠不可避免会涉及到cpu的sleep模式和设备驱动的挂起,而动态主频的实现除了cpu本身的支持也需要外围驱动随着主频变化做出相应的适应活动。因此这里的分级只是一种粗范围的,逻辑上的分层。

  前段时间还调研了一下IBM和Monta Vista搞得那套DPM(Dynamic Power Management)机制,看了不少论文和观点,总的感觉就是太过复杂而且也不是很实用,感觉噱头大过实际功效,(因此这套机制始终还不能进入内核的mainline),言归正传,还是重点讲述下cpufreq技术。

  关于要不要实现cpufreq技术,我也纠结过,一个原因是:当时对内核如何提供这么一套动态变频的机制还不了解,只觉得应该非常麻烦,因为涉及到外围驱动的参数更新,另外一个原因是:在SEP4020这种体量的处理器上跑linux,即使运行在最高频率时的处理能力可能也不是很富余,我再给它降频还有没有意义?挣扎之后还是觉得要实现它,我也给自己列了这么几条原因:

  n      虽然cpu在板级中已不是主要的耗电源,但是仍然占着举足轻重的位置,功耗机制到最后就是几毫安几毫安的扣了,降频肯定能在一定程序上节约功耗那我为什么不采用?

  n      对普通的应用,系统可以运行在维持平台运作的最低频率,在有处理任务时,变频机制会自动切换到合适的高主频,并且在任务结束时重回省电的低主频,这样就解决了我之前的第二个疑惑。

  Ø        变频会涉及到大量模块的参数的重新配置,作为cpu原厂,我们需要把这些参数彻底掌握

  Ø        对这些参数的充分理解,能对现有系统进行优化,提升整体系统的效率,比如使用发现一些参数还是太过保守(sdram,nand),我们的通用配置在系统降为32M时仍能正常工作。

  n      可行性论证没有问题:偶然看到armkiller同志提供的nand驱动代码中有变频的实现(这里非常感谢armkiller),网上这方面的文章很少,于是翻阅了linux内核源码中自带的/documentation/cpufreq后,对这种机制大概有一定的了解(linux中的documentaTIon是个好东东),也看到了一些处理器厂商为自己的cpu已经实现了的代码,如sa1100,pxa系列。

  变频技术是指CPU硬件本身支持在不同的频率下运行,系统在运行过程中可以根据随时可能发生变化的系统负载情况动态在这些不同的运行频率之间进行切换,从而达到对性能和功耗做到二者兼顾的目的。

  虽然多个处理器生产厂家都提供了对变频技术的支持,但是其硬件实现和使用方法必然存在着细微甚至巨大的差别。这就使得每个处理器生产厂家都需要按照其特殊的硬件实现和使用方法向内核中添加代码,从而让自己产品中的变频技术在Linux

  中得到支持和使用。然而,这种内核开发模式所导致的后果是各个厂家的实现代码散落在 Linux

  内核代码树的各个角落里,各种不同的实现之间没有任何代码是共享的,这给内核的维护以及将来添加对新的产品的支持都带来了巨大的开销,并直接导致了 cpufreq

  的运行频率不会根据系统运行时负载的变化动态作出调整。这两种 governors

  为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU

  Ø        4.ondemand :userspace是内核态的检测,效率低。而ondemand正是人们长期以来希望看到的一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的

  的最初实现是在可选的频率范围内调低至下一个可用频率。这种降频策略的主导思想是尽量减小对系统性能的负面影响,从而不会使得系统性能在短时间内迅速降低以影响用户体验。但是在 ondemand governor

  的这种最初实现版本在社区发布后,大量用户的使用结果表明这种担心实际上是多余的, ondemand governor

  在降频时对于目标频率的选择完全可以更加激进。因此最新的 ondemand governor

  工作在 80% 以上负荷的频率,当然如果没有任何一个可选频率满足要求的话则会选择 CPU

  支持的最低运行频率。大量用户的测试结果表明这种新的算法可以在不影响系统性能的前提下做到更高效的节能。在算法改进后, ondemand governor

  最初的实现也保存了下来,并且由于其算法的保守性而得名 conservative

  Ondemand降频更加激进,conservative降频比较缓慢保守,事实使用ondemand的效果也是比较好的。

  值的处理器不计入总处理器利用率。在设置为 0 时,所有处理器都计入利用率。

  首先需要干一些杂活,修改kconfig makefile把系统屏蔽的cpufreq打开,对于我们来说主要的核心有两部分:

  系统相关:主要有cpu,timer(变了频率一定要更新系统timer,否则系统时间就不准了),sdram等。

  代码还是很简陋,很多细节都没考虑,所以具体的暂时先不讲了,大家可以先参考pxa和sa1100的实现。

  简单的来说就是:系统在变化cpu主频的时候会调用cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);函数,响挂载在这个cpu上所有的驱动发出一个信号,驱动接收到这个信号则调用相应的处理函数。

  1.      板级电流从220mA调至160mA(因为此时内核检测系统无负载,降频)

  2.      执行一个nandflash的拷贝命令,拷贝一个5M左右的文件到其他文件夹,

  3.      在拷贝执行时间在3秒时(我给内核设的扫描周期为2.5秒)系统发现有负载,升频,电流从160mA变为220mA(可见已是系统最高主频)

  5.      在拷贝结束后不久(2-3s内),系统电流又跳变至160mA。

  课程从0开始,讲到云计算结束,按阶段授课,从入门到跑路,适合初学者,也适合定制,需要哪个模块学哪个模块2,包含初级运维工

  Rsync 是一个开源的、节约带宽的工具,它用于执行快速的增量文件传输,而且它也是一个免费工具。

  视频监控系统一直是监控领域中的热点,它以直观、方便、信息内容丰富而在各个行业得到广泛应用,如:交通、...

  实现了RFID安检系统基于嵌入式Linux下的串口通信以及数据库的应用。最后通过实验证明并确定了其在...

  随着GPS(全球定位系统)和便携移动设备的飞速发展,各种各样以GPS为基础的便携式定位系统相继出现....

  如果你想要进入运维管理领域这一行,首先你应该了解linux运维工程师是干什么的。他主要是对Linux...

  一个 USB 总线引出两个首要 的链表,一个为 USB 设备链表,一个为 USB 驱动链表。设备链表...

  实际从终端安装操作如下。首先进入到安装包目录,然后运行sudo ./INSALL安装。和NI官网提示...

  玩儿电脑最怕的就是卡慢,那么电脑卡慢应该怎么解决呢?对于windows系统来说,你可能有各种免费的杀...

  当转为使用 Linux 时,你可能会注意到你所使用的版本会带有一个默认的备份工具。然而,可能该工具并...

  也许没有那么多铁杆的游戏玩家使用 Linux,但肯定有很多 Linux 用户喜欢玩游戏。如果你是其中...

  正如我之前说过,安全好比是在公路上开车――比你开得慢的人都是白痴,比你开得快的人都是疯子。本文介绍的...

  当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机...

  上古卷轴 5 已经不是款新游戏了,但它的 mod 社区依旧活跃。如果你的 Linux 系统有足够资源...

  众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录。这个没错,但我们有一个名为 sho...

  程序的二进制代码在内存中都有着确定的执行流程,为什么收到异步信号以后,程序会被“中断”,然后跳转到这...

  作为中央核心处理单元的CPU,除了生产工艺的不断革新进步外,在处理数据和响应速度方面也需要有权衡。稍...

  IO响应过程中最主要问题是中断的balance,由于默认linux中并没有对NVMe的中断进行有效的...

  这是一个美妙而且疯狂的时代,瞬息万变,一切皆有可能。 曾经一度,微软把Linux看作危险的异类

  Linux系统让我们懂得了共享、开放、自由可以让人类生活的更加美好,开源精神是一种让每个从事Linu...

  OpenCV是一个跨平台的计算机视觉库,可以运行在Windows、Linux、MacOS等操作系统上...

  如果说如何快速学习、了解 Linux 的话,我的答案是学命令、背命令!为何呢?对于一名新手来说,去学...

  IT业,如果要问当今最热门的话题是什么,从事硬件开发的人会毫不犹豫地回答:信息家电;从事软件开发的人...

  自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:...

  Linux 暴风雨般占领了嵌入式系统市场。分析家指出,大约有1/3到1/2的32/64位新的嵌入式系...

  Windows 7将要到达其生命线的终点,市场数据表明,Win7操作系统(OS)的用户数量开始减少。...

  由于 Linux 所具备的开源、稳定、高效、易裁剪、硬件支持广泛等优点,使得它在嵌入式系统领域最近十...

  按 照电气工程师协会的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。具体...

  树莓派运行的是Linux系统,因此需要对Linux的命令和操作进行熟悉,我个人的体会Linux的命令...

  处理机(CPU)是整个计算机系统的核心资源,在多进程的操作系统中,进程数往往多于处理机数,这将导致各...

  众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。l...

  嵌入式系统由硬件环境、嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随...

  Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文...

  本文档详细介绍的是176条DevOps人员常用的linux命令速查表资料合集

  书籍内容基于主流 Linux 系统编写,全书总共20个章节,16开本超400页,通用于RHEL、Ce...

  过去几周,Arch Linux 维护人员比较了不同的压缩算法,最终计划使用 zstd 取代 devt...

  Linux系统目前主要应用在企业服务器上,学习Linux,更多的是向Linux系统/运维工程师方向进...

  内存是计算机的主存储器。内存为进程开辟出进程空间,让进程在其中保存数据。我将从内存的物理特性出发,深...

  云计算的到来让许多人对底层的基础架构产生了‘误解’,认为在云时代企业将不再需要硬件。事实恰恰相反,尤...

  操作系统技术包含服务器和客户机操作系统两套技术,目前支持瘦客户机计算的服务器技术主要是VNC、Cit...

  SUSE 创办于 1992 年,是全球首家企业级开源 Linux 操作系统供应商。1994 年,他们...

  以前在上面的系统上,手机上的游戏基本是不可以玩的,好在如今出来了一个模拟器,安装了它就可以玩大部分的...

  说了好多好多,有的时候后悔离开北京来到这里,北京的机会真的是太多太多了,或者上海。既然安顿了,就继续...

  奇趣科技公司日前推出了一款基于嵌入式linux的面向单一应用嵌入式产品的开发平台qtopiacore...

  首先,我要说的是,就业成功最关键的因素在于扎实的基础,很宽的知识面,丰富的实践经验。这些都是,工作学...

  操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外...

  本视频主要详细介绍了中国操作系统有哪些,分别是SPG思普操作系统[简称SPGnux]、深度Linux...

  本文主要详细介绍了为什么黑客都用linux,分别有黑客不给自己开发的功能加上图形界面、欧美国家的Li...

  进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一个程序平稳而高效地运行。

  本视频主要详细介绍了Linux字符界面转图形界面的操作教程,具体的跟随小编一起来了解一下。

  通常,我们获得一款软件通常是通过百度等方式搜索得到结果进入各种社区获得相应的资源,从而进行下载。但是...

  本视频主要详细介绍了linux系统适合什么人用,分别是追求时尚的用户、计算机专业学生、进行科学研究,...

  TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...

http://attack11.net/gaijindiaopin/16.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有