论文部分内容阅读
【摘要】随着我国信息化技术的发展,国际技术的不断引入,我国信息化技术已经步入了一个新的层面,在如今信息时代,嵌入式系统也得到了大力的发展,尤其是在平板电脑、手机、数字电视等等均为科技前沿,本文主要阐述有关嵌入式Linux的节能技术的探讨。
【关键词】嵌入式Linux,节能技术
中图分类号: TE08 文献标识码: A 文章编号:
一、前言
Linux已经广泛地应用在了嵌入式系统中,在如今嵌入式系统大力发展的背景下,Linux也得到了广泛的支持。但是现有的技术仍旧存在能源浪费等情况,下面我们来讨论有关嵌入式Linux的节能技术的探讨。
嵌入式Linux简介
嵌入式Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。
嵌入式系统出现于60年代晚期,它最初被用于控制机电电话交换机,如今已被广泛的应用于工业制造、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等众多领域。计算机系统核心CPU,每年在全球范围内的产量大概在二十亿颗左右,其中超过80%应用于各类专用性很强的嵌入式系统。一般的说,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。
Linux做嵌入式的优势,首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更新速度很快,Linux是可以定制的,其系统内核最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超過Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来换CPU就不会遇到困扰。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Tokerring(令牌环网)、光纤甚至卫星的支持。所以Linux很适于做信息家电的开发。
嵌入式Linux有巨大的市场前景和商业机会出现了大量的专业公司和产品如MontavistaLineoEmi等有行业协会如EmbeddedLinuxConsortum等得到世界著名计算机公司和OEM板级厂商的支持例如IBMMotorolaIntel等传统的嵌入式系统厂商也采用了Linux策略如LynxworksWindriverQNX等还有Internet上的大量嵌入式Linux爱好者的支持嵌入式Linux支持几乎所有的嵌入式CPU和被移植到几乎所有的嵌入式OEM板。
三、Linux节能技术
1.Linux节能的传统解决技术
嵌入式系统是以应用为中心,软硬件可裁减的专用计算机系统。包括硬件和软件两部分,硬件一般包括处理器、存储器、IO设备、图形控制器等。而软件主要包括操作系统和应用程序。Linux是嵌入式操作系统的主要O代表,得到广泛推广和运用。
Linux系统一般都会通过硬件设计和软件技术实现节能。
硬件设计包括:
(一)选择处理器
在能够满足系统功能正常运行的前提下,应尽可能选择低电压工作的CPU,这样能够在总体功耗方面取得较好的效果。对于已经确定CPU的,应选择降低电压和工作频率。
(二)分区/分时供电技术
利用开关控制电源供电单元,在某一部分电路处于休眠状态时,关闭此部分电路的供电电源,仅对工作部分组件供电。
(三)多CPU系统
多CPU系统可以根据不同的任务来合理地启动、停止相应的CPU以完成任务,而在不需要的时候处于停歇状态。从而最大限度地控制功耗。软件节能主要是通过优化嵌入式系统的引导程序(bootloader)、Linux操作系统核心和用户应用程序实现。
2.CPU 的选择
尽管现在有了各种在不过多加重功耗负担的前提下提高性能的技术, 但用一个芯片来处理这么多各种各样的任务, 恐怕已经不是一个很好的选择了。一是因为这些功能对芯片处理功能的要求可能各不相同, 二是因为一个负担着如此众多任务的芯片势必需要很高的速度, 降低功耗变得很困难。
在这种情况下, 多CPU 系统(MPCore)成为一个必然的趋势。多CPU 系统的一个明显的优势是: 针对不同的任务处理需要, 不同的CPU 可以各尽其职, 将自身的优势充分发挥, 由此带给手机最优化的性能表现。另一个优势显然还是体现在对功耗的控制上: 假如用单CPU 来完成所有的功能, 不可避免地需要一个很高的CPU 速度, 从而造成很高的功耗。用一颗高速CPU 来完成这样的任务, 无疑是大牛拉小车, 同时浪费很多能源。多CPU 系统可以根据不同的任务需要合理地启动、停止相应的CPU 来完成任务,不需要的时候处于停歇状态, 实现最大限度地控制功耗。
既然我们选择了多CPU 的架构, 那么接下来CPU 的性能就是我们要考虑的第二大问题。一般的情况下, 我们是在CPU 的性能和功耗方面进行比较和选择。通常可以采用每执行1M次指令所消耗的能量来进行衡量, 即Watt/MIPS。
我们把CPU 的功率消耗分为两大部分: 内核消耗功率PCORE和外部接口控制器消耗功率PI/O, 总的功率等于两者之和, 即PPCORE+PI/O。对于PCORE, 关键在于其供电电压和时钟频率的高低; 对于PI/O 来讲, 除了留意各个专门I/O 控制器的功耗外, 还必须关注地址和数据总线宽度。
在数字集成电路设计中, CMOS 电路的静态功耗很低, 与其动态功耗相比基本可以忽略不计。CMOS 电路动态功耗的计算公式如下:
Pd=CT*V2*f, 其中Pd 是CMOS 芯片的动态功耗, C是CMOS芯片的负载电容, V 是CMOS 芯片的工作电压, f 是CMOS 芯片的工作频率。
由上可见, 当CPU 确定后, 我可以通过降低频率和电压来减少系统的功耗。
在CPU 的选择方面, 我们推荐采用Intel 的Xscale 芯片, 以及IBM的PowerPC405G 芯片。
系统不可能始终处于满负荷状态, 因为系统的工作量随时都在改变。动态电源管理(DPM) 通过选择性的将空闲的系统组件置于低能耗状态实现了系统整体能耗的最优化。我们更为关注的是DPM在Linux 框架结构下的实现。
(一)内核接口
在针对Linux 的DPM 架构中, 内核中的DPM 子系统负责维持系统的电源状态, 并把DPM 系统的各个电源得到管理的元件联系在一起。DPM 子系统通过多个API 直接与设备驱动程序通信, 这些API 把驱动程序从完全运行状态转为各种电源得到管理的状态。策略管理器( 或应用软件自身) 通过多个API向DPM 子系统提供指导, 这些API 定义各种策略, 并在定义好的运行点之间转移整个系统。
驱动程序接口
启用了DPM 的设备驱动程序比默认驱动程序具有更多“状态”: 由外部事件通过各种状态来驱动它们, 或通过来自内核DPM 子系统的回调来驱动它们, 从而反映并遵循运行策略。驱动程序API 还允许驱动程序登记它们连接和管理的各个设备的基本运行特征, 从而实现更精细的策略决策。
4.应用
Linux广泛应用于嵌入式系统,节能降耗成为研究的热点。文中首先分析Linux系统的节能背景,然后基于嵌入式应用深入分析Linux系统的主要节能环节和技术,通过修改Linux核心程序在Mstar 6I98数字电视平台进行了实验,以求能够为嵌入式系统绿色节能设计提供参考。
近几年来,节能降耗受到越来越多的嵌入式设备厂商的持续关注。在我们采用的Mstar 6198平台上,以Linux2.6.28核心为基础,增加了休眠技术所需的Tuxonice补丁,核心支持ACPI电源管理,在MIPS架构上实现了系统冬眠STD和处理器变频,应用程序增加了超时自动冬眠和快速启动。在嵌入式Linux节能方面进行了有益的探索,取得了较好的节能效果。
结束语
嵌入式Linux的发展及其节能技术的发展更是为人们提供了极大的便利,像手机、数字电视这些高科技产品如今已经极大普及,对人们生活质量造成了极大的改善,但是现在节能减排的背景下,节能技术的发展显得尤为重要,需要投入更大的人力物力来研究发展。
参考文献:
[1]陈逸非尹长青基于嵌入式Linux的智能手机省电设计电脑知识与技术2006
[2]车楠基于Linux嵌入式节能系统研究与实现啥尔滨理工大学 2009
[3]卢怡杰 Linux环境下低CPU资源消耗的应用软件低功耗研究 西北大学2012
[4]胡元慧Linux内核的软件调试技术研究华中科技大学2007
【关键词】嵌入式Linux,节能技术
中图分类号: TE08 文献标识码: A 文章编号:
一、前言
Linux已经广泛地应用在了嵌入式系统中,在如今嵌入式系统大力发展的背景下,Linux也得到了广泛的支持。但是现有的技术仍旧存在能源浪费等情况,下面我们来讨论有关嵌入式Linux的节能技术的探讨。
嵌入式Linux简介
嵌入式Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。
嵌入式系统出现于60年代晚期,它最初被用于控制机电电话交换机,如今已被广泛的应用于工业制造、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等众多领域。计算机系统核心CPU,每年在全球范围内的产量大概在二十亿颗左右,其中超过80%应用于各类专用性很强的嵌入式系统。一般的说,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。
Linux做嵌入式的优势,首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更新速度很快,Linux是可以定制的,其系统内核最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超過Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来换CPU就不会遇到困扰。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Tokerring(令牌环网)、光纤甚至卫星的支持。所以Linux很适于做信息家电的开发。
嵌入式Linux有巨大的市场前景和商业机会出现了大量的专业公司和产品如MontavistaLineoEmi等有行业协会如EmbeddedLinuxConsortum等得到世界著名计算机公司和OEM板级厂商的支持例如IBMMotorolaIntel等传统的嵌入式系统厂商也采用了Linux策略如LynxworksWindriverQNX等还有Internet上的大量嵌入式Linux爱好者的支持嵌入式Linux支持几乎所有的嵌入式CPU和被移植到几乎所有的嵌入式OEM板。
三、Linux节能技术
1.Linux节能的传统解决技术
嵌入式系统是以应用为中心,软硬件可裁减的专用计算机系统。包括硬件和软件两部分,硬件一般包括处理器、存储器、IO设备、图形控制器等。而软件主要包括操作系统和应用程序。Linux是嵌入式操作系统的主要O代表,得到广泛推广和运用。
Linux系统一般都会通过硬件设计和软件技术实现节能。
硬件设计包括:
(一)选择处理器
在能够满足系统功能正常运行的前提下,应尽可能选择低电压工作的CPU,这样能够在总体功耗方面取得较好的效果。对于已经确定CPU的,应选择降低电压和工作频率。
(二)分区/分时供电技术
利用开关控制电源供电单元,在某一部分电路处于休眠状态时,关闭此部分电路的供电电源,仅对工作部分组件供电。
(三)多CPU系统
多CPU系统可以根据不同的任务来合理地启动、停止相应的CPU以完成任务,而在不需要的时候处于停歇状态。从而最大限度地控制功耗。软件节能主要是通过优化嵌入式系统的引导程序(bootloader)、Linux操作系统核心和用户应用程序实现。
2.CPU 的选择
尽管现在有了各种在不过多加重功耗负担的前提下提高性能的技术, 但用一个芯片来处理这么多各种各样的任务, 恐怕已经不是一个很好的选择了。一是因为这些功能对芯片处理功能的要求可能各不相同, 二是因为一个负担着如此众多任务的芯片势必需要很高的速度, 降低功耗变得很困难。
在这种情况下, 多CPU 系统(MPCore)成为一个必然的趋势。多CPU 系统的一个明显的优势是: 针对不同的任务处理需要, 不同的CPU 可以各尽其职, 将自身的优势充分发挥, 由此带给手机最优化的性能表现。另一个优势显然还是体现在对功耗的控制上: 假如用单CPU 来完成所有的功能, 不可避免地需要一个很高的CPU 速度, 从而造成很高的功耗。用一颗高速CPU 来完成这样的任务, 无疑是大牛拉小车, 同时浪费很多能源。多CPU 系统可以根据不同的任务需要合理地启动、停止相应的CPU 来完成任务,不需要的时候处于停歇状态, 实现最大限度地控制功耗。
既然我们选择了多CPU 的架构, 那么接下来CPU 的性能就是我们要考虑的第二大问题。一般的情况下, 我们是在CPU 的性能和功耗方面进行比较和选择。通常可以采用每执行1M次指令所消耗的能量来进行衡量, 即Watt/MIPS。
我们把CPU 的功率消耗分为两大部分: 内核消耗功率PCORE和外部接口控制器消耗功率PI/O, 总的功率等于两者之和, 即PPCORE+PI/O。对于PCORE, 关键在于其供电电压和时钟频率的高低; 对于PI/O 来讲, 除了留意各个专门I/O 控制器的功耗外, 还必须关注地址和数据总线宽度。
在数字集成电路设计中, CMOS 电路的静态功耗很低, 与其动态功耗相比基本可以忽略不计。CMOS 电路动态功耗的计算公式如下:
Pd=CT*V2*f, 其中Pd 是CMOS 芯片的动态功耗, C是CMOS芯片的负载电容, V 是CMOS 芯片的工作电压, f 是CMOS 芯片的工作频率。
由上可见, 当CPU 确定后, 我可以通过降低频率和电压来减少系统的功耗。
在CPU 的选择方面, 我们推荐采用Intel 的Xscale 芯片, 以及IBM的PowerPC405G 芯片。
系统不可能始终处于满负荷状态, 因为系统的工作量随时都在改变。动态电源管理(DPM) 通过选择性的将空闲的系统组件置于低能耗状态实现了系统整体能耗的最优化。我们更为关注的是DPM在Linux 框架结构下的实现。
(一)内核接口
在针对Linux 的DPM 架构中, 内核中的DPM 子系统负责维持系统的电源状态, 并把DPM 系统的各个电源得到管理的元件联系在一起。DPM 子系统通过多个API 直接与设备驱动程序通信, 这些API 把驱动程序从完全运行状态转为各种电源得到管理的状态。策略管理器( 或应用软件自身) 通过多个API向DPM 子系统提供指导, 这些API 定义各种策略, 并在定义好的运行点之间转移整个系统。
驱动程序接口
启用了DPM 的设备驱动程序比默认驱动程序具有更多“状态”: 由外部事件通过各种状态来驱动它们, 或通过来自内核DPM 子系统的回调来驱动它们, 从而反映并遵循运行策略。驱动程序API 还允许驱动程序登记它们连接和管理的各个设备的基本运行特征, 从而实现更精细的策略决策。
4.应用
Linux广泛应用于嵌入式系统,节能降耗成为研究的热点。文中首先分析Linux系统的节能背景,然后基于嵌入式应用深入分析Linux系统的主要节能环节和技术,通过修改Linux核心程序在Mstar 6I98数字电视平台进行了实验,以求能够为嵌入式系统绿色节能设计提供参考。
近几年来,节能降耗受到越来越多的嵌入式设备厂商的持续关注。在我们采用的Mstar 6198平台上,以Linux2.6.28核心为基础,增加了休眠技术所需的Tuxonice补丁,核心支持ACPI电源管理,在MIPS架构上实现了系统冬眠STD和处理器变频,应用程序增加了超时自动冬眠和快速启动。在嵌入式Linux节能方面进行了有益的探索,取得了较好的节能效果。
结束语
嵌入式Linux的发展及其节能技术的发展更是为人们提供了极大的便利,像手机、数字电视这些高科技产品如今已经极大普及,对人们生活质量造成了极大的改善,但是现在节能减排的背景下,节能技术的发展显得尤为重要,需要投入更大的人力物力来研究发展。
参考文献:
[1]陈逸非尹长青基于嵌入式Linux的智能手机省电设计电脑知识与技术2006
[2]车楠基于Linux嵌入式节能系统研究与实现啥尔滨理工大学 2009
[3]卢怡杰 Linux环境下低CPU资源消耗的应用软件低功耗研究 西北大学2012
[4]胡元慧Linux内核的软件调试技术研究华中科技大学2007