热线电话:

厦门莫格电气自动化有限公司

主营:PLC可编程控制器模块,DCS卡件,ES...

商铺首页 > 新闻动态 > ABB ICSE08B5
厦门莫格电气自动化有限公司
7
企业等级: 普通会员
经营模式:
所在地区: 福建 厦门
联系卖家:    QQ在线咨询1982497648
手机号码:
公司官网:
公司地址:

ABB ICSE08B5

发布时间:2019-09-02 09:29:11        

ABB  ICSE08B5

  针对有内存管理单元(MMU)的处理器设计的一些桌面操作系统(如Windows、Linux)都使用了虚拟存储器的概念,虚拟内存地址被送到MMU。在这里,虚拟地址被映射为物理地址,实际存储器被分割为相同大小的页面,采用分页的方式载入进程。一个程序在运行之前,没有必要全部装入内存,而是仅将那些当前要运行的部分页面装入内存运行。大多数嵌入式系统是针对没有MMU的处理器设计的,因此不能使用处理器的虚拟内存管理技术,而采用实存储管理策略,从而对内存的访问是直接的。它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。而且,大多数嵌入式操作系统对内存没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载入主存储的连续空间。从编译内核开始,开发人员必须告诉系统,这块开发板到底拥有多少内存;在开发程序时,必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外,由于采用实存储器管理策略,用户程序同内核以及其他用户程序在一个地址空间,程序开发时要保证不***其他应用程序的地址空间,不***系统的正常工作,使程序正常运行。因而对内存操作要格外小心。由此可见,开发者不得不参与系统的内存管理,否则系统的效率和性能都不能令人满意。开发者可以用一个内存管理器来帮助管理内存,可以借鉴流行操作系统对内存池(pool)中块(block)进行管理的思想。访问时先寻找对应的块,然后对物理地址进行页的***,进而是行***,***后是列***和根据图像处理系统处理大量数据的特点,对数据在内存中的布局进行规划。即同一块中使连续访问的数据在同一页;在同一页的数据,尽量安排在同一行,减小内存访问延迟,以便对性能进行改善。同时,内存块间相对位置也用同样的方法进行规划,使得块间的转换也尽快完成。本文采用遗传算法,同时对内存数据存储进行页、行、列的规划,对块间相对位置也进行了规划。
  1  内存规划
  流行的操作系统对内存访问的基本方式是支持快速缓存,执行的过程是把要访问的地址整行拷贝到缓存区,***行页***和行***,然后进行列***并根据读写信号进行选择。目前嵌入式系统中使用的DRAMs都支持***内存访问模式,还特别支持流行的页(page)访问模式和区间(burst)访问模式(相当于以列为主的访问)。这种访问模式消耗的能量低于随机访问方式,例如,IBM′s Cu-11 Embedded DRAM macro支持的随机访问时间是10ns,而块中页访问的时间是5ns,电流分别是60mA/MB和13mA/MB。所以,充分利用内存访问模式的特点可以改变嵌入式系统的性能。
  为了说明本文的规划思想,假设内存中有如图1所示的变量a,b,c,d,e,f,g,h。若要访问内存中变量的次序为 acacebdbefgfdah,则根据图1中内存存放的次序,可以计算出访问延迟的时间。如果页间访问延迟时间是5个时钟周期,记为Delay(P)= 5cycles,则在同页中行间访问延迟Delay(R)=3cycles,同行中列间访问延迟Delay(C)=1cycles。根据图1(a)和图1 (b)中两种存储模式,可以分别计算出如图2所示的两种内存存储方式下内存访问延迟时间:Latency(a)=47cycles,Latency(b) =29cycles。
内存存放的次序
两种内存存储方式下内存访问延迟时间
  同样,将相互访问频率较高的内存块,如三个数组A、B、C分别存放在不同的内存块,数组A和数组C是经常要进行元素间计算的,则把分别存储A和C的块放在相邻的位置上,这样,既可以减小地址总线的负担,也可以提高访问时间和减少访问次数。
  2  规划算法
  使系统内存访问延迟***小的内存规划应该从变量和要申请的内存块在内存中存储的相对位置的角度来寻找。其前提条件是变量和内存块的访问顺序已知,申请的块的信息也可以得到。根据嵌入式系统应用的特点,例如图像处理系统,经过对程序的预处理,这个条件可以满足。处理过程可分为二步:***步进行块间的规划;第二步对块内变量进行规划。问题的描述如下。
  在嵌入式系统中,设内存块大小为S,某段时间内内存块个数为T,块中每页的大小为p*q*w,其中p为行数,q为列数,w为每个字的位数。在某个应用中有N个变量{ni,i=1,……,N},已知变量被访问的次序为njnknl……nm,则首先寻找块存储的相对位置,使得内存访问延迟函数 Latency1***小(假设两个块相邻,访问需要1个时钟周期;相隔1个块,访问需要2个时钟周期;第i个块和第j个块间访问需要i-j个时钟访问延迟):
Latency1={Sum|∑z*(i-j)/z,z=1....m}            (1)
  其中:z是访问顺序表中内存块的位置,如第3个位置(z=3)访问的是bi,下一个位置存放的是bj,i和j是内存块访问顺序中相邻块标号,是块在内存中存储的相对位置,m是访问内存块的顺序排列长度。其次寻找N个变量在内存块内的存储相对位置的一种规划{nxnynz……nt},使得内存访问延迟函数Latency2***小,块内规划目标函数为:
Min:Latency2=5*#P+3*#R+#C                            (2)
  其中:#P是规划中访问的页间转换的次数,#R是行间转换的次数,#C是列间转换的次数。N个变量的排列方法的数目共有N!种,要在如此多的情况下寻找某种***优的排列,这是NP问题。解决这类优化问题有很多方法,如模拟退火算法、演化算法等一些启发算法,也可以用曲线图划分问题(graph partitioning problem)的方法来解决此问题。本文采用了***近几年发展很快的遗传算法来解决此规划问题。遗传算法是解决NP问题的有效方法。本文的研究目的在于内存规划的意义,而不是遗传算法,所以采用经典遗传算法[8],以此来验证内存规划的有效性。本文的算法可记为LBP(LBP-Layout of Block and Page)。
  2.1 算法的前提条件
  在解决问题之前,要给出解决问题的前提。
  (1)对块内访问时,通常是先寻找页,再找到行,***后找列,则对页访问的耗时(一般称为内存访问延迟)大于对同页中的行,行访问耗时大于同行中的列。同时在相距较远的块间访问耗时大于相邻块间访问。
  (2)减少内存访问中块和页的转换次数,可以减少延迟和节省能量。
  (3)在页/行/列之间转换没有优先级,也就是从1~3页和从1~2页耗时是相同的。
  (4)内存单元阵列是矩形,p和q代表内存块单元的行数和列数,w代表内存字的长度,则p*q*w代表了内存的大小。
  (5)数据访问顺序是已知的。
  (6)每个数据都分配给***的内存单元,基本单元的大小与要分配的数据刚好匹配。
  前面四个假设是解决问题的必要条件,而后面两条假设是为了简化解决的问题。如果没有特别的说明,这些假设在本文都是适用的。
  2.2 遗传算法
  遗传算法的基本步骤是确定适应度函数,然后对问题进行编码和寻找***优解。下面给出解决块内规划问题算法第二步的基本步骤。***步与第二步相似,本文省略。
  (1)适应度函数是目标函数,即Latency。依据假设,如果页访问模式延迟时间是5个时钟周期,记为Delay(P)=5cycles,则行延迟Delay(R)=3cycles,列延迟Delay(C)=1cycles,适应度函数为:latency(cycles)=#P*5+#R*3 +#C*1。
  (2)解决的问题是内存变量的存放次序,由于字母的数目有限,所以可用十进制编码来表示变量(如把图1中abcdefgh编码为12345678)。
  (3)杂交过程选择同一代中的某些位进行交换,不同代的交换容易产生***个体, 所以在某代个体内部进行交换,可以提高算法的有效性。选取某代杂交的概率为Pc=0.08。
  (4)算法的终止是在某两代适应度函数之间相对误差小于0.001时,程序终止,并给出***优的内存规划方法。如果内存单元数目有p*q个,则取串中每q个为一行(分为一组),间隔n*(q-1)为一列,存放在内存中供程序使用。
  2.3 实验结果
  图像处理系统的处理对象是象素,处理过程中使用大量的内存,造成了嵌入式系统图像处理应用中的瓶颈。经过近几十年的发展,图像处理算法也有很多成熟的算法。可以把这些算法经过改造,使之适应嵌入式系统体积小、容量小的特点。本文算法的提出是针对使用大量内存,同时处理步骤相对简单的系统设计的。本文采用一些标准(benchmark)系统,提高嵌入式系统有限的内存资源的利用率。基于内存的规划算法,用几个内存访问序列验证内存规划对嵌入式系统性能的改变。实验中使用IFA(Image Flip Algorithm)、GSR(Gauss-Seidel formula)、CA(Compress Algorithm)、BIQUAD(Biquad_one_section)和FIR。后两个例子是为了验证非图像处理的系统使用本算法的情况,说明算法的应用具有一定的普遍意义。
  表1和表2是用随机访问方法和本文的访问方法进行实验的结果。从表中可以看出,规划后的延迟时间都缩短了,另外还验证了规划内存方法的使用减少了嵌入式系统能耗。能耗的计算采用文献[2]中的算法,如图3(a)所示。
  文献[1]中的算法是对页进行规划时,寻找页访问次数***大,对列进行规划时,寻找列访问次数***大。在具体应用中,只能用一种方法。而本文同时对内存中页和行进行规划,所以对系统性能的提高更有效。图3(b)是与文献[1]算法的结果比较(仅给出能量消耗图),前者平均能量提高了大约10%。
用随机访问方法和本文的访问方法进行实验的结果
能量消耗比较
  把本文的算法应用于自行开发的嵌入式图像处理系统中,获得了良好的系统性能。
  3  结论和展望
  本文提出了一个通过减少对内存访问时块间和块内页间交换的次数和行间转换的次数,使嵌入式系统内存和能量资源能够有效利用的方法。该方法可以直接应用到嵌入式系统的内存管理器中。因为随着用户需求和功能的增加,越来越多的嵌入式系统需要处理大量的数据,所以对嵌入式系统的内存采取管理是必要的。尤其对一些不带MMU单元的操作系统来说,应用中加入内存管理程序对系统性能的提高起到很大的作用。本文给出的内存规划策略能有效地减轻嵌入式系统负担。本文是针对非数组的变量来讨论的,但是也可以应用到数组变量中。尽管使用的算法有可能没有找到系统的***优解,但使用这个算法,一定可以提高系统的性能。
  本文提出的算法不但可以应用到嵌入式系统中的DRAMs,也可以应用到其他支持行和列内存访问的存储设备上,如flash存储器。虽然目前一些多组SRAM的系统还不支持此算法,但是在将来的基于功耗设计的系统中,这种访问模式是会被支持的。
  本文方法同流行操作系统内存管理相比更简单,更加适合嵌入式系统,同时弥补了现用嵌入式操作系统CLinux等在内存管理方面的不足。
免责声明
• 本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 304108043@qq.com
  • QQ在线咨询1982497648
  • 手机:
  • 联系我时务必告知是在产品网上看到的!

厦门莫格电气自动化有限公司

商铺|诚信档案

地址:

电话:传真:

免责声明:以上信息由会员自行提供,内容的真实性、准确性和合法性由发布会员负责,产品网对此不承担任何责任。产品网不涉及用户间因交易而产生的法律关系及法律纠纷, 纠纷由您自行协商解决。

风险提醒:本网站仅作为用户寻找交易对象,就货物和服务的交易进行协商,以及获取各类与贸易相关的服务信息的平台。为避免产生购买风险,建议您在购买相关产品前务必 确认供应商资质及产品质量。过低的价格、夸张的描述、私人银行账户等都有可能是虚假信息,请采购商谨慎对待,谨防欺诈,对于任何付款行为请您慎重抉择!如您遇到欺诈 等不诚信行为,请您立即与产品网联系,如查证属实,产品网会对该企业商铺做注销处理,但产品网不对您因此造成的损失承担责任!

联系:304108043@qq.com是处理侵权投诉的专用邮箱,在您的合法权益受到侵害时,欢迎您向该邮箱发送邮件,我们会在3个工作日内给您答复,感谢您对我们的关注与支持!

商铺首页 | 公司概况 | 供应信息 | 新闻动态 | 诚信档案 | 联系我们 |

厦门莫格电气自动化有限公司 电话: 传真: 联系人:

地址: 主营产品:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测系统卡件,汽轮机控制系统模块,燃气发电机备件

Copyright © 2024 版权所有: 产品网

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。

商盟客服

您好,欢迎莅临,欢迎咨询...