![](http://img4.cpooo.com/files/201905/17/p/82/1207632_1558063349.jpg)
3051TG1A2B21AB4M5TK
Rosemount罗斯蒙特3051TG1A2B21AB4M5TK针对有内存管理单元(MMU)的处理器设计的一些桌面操作系统(如Windows、Linux)都使用了虚拟存储器的概念,虚拟内存地址被送到MMU。在这里,虚拟地址被映射为物理地址,实际存储器被分割为相同大小的页面,采用分页的方式载入进程。一个程序在运行之前,没有必要全部装入内存,而是仅将那些当前要运行的部分页面装入内存运行。大多数嵌入式系统是针对没有MMU的处理器设计的,因此不能使用处理器的虚拟内存管理技术,而采用实存储管理策略,从而对内存的访问是直接的。它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。而且,大多数嵌入式操作系统对内存没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载入主存储的连续空间。从编译内核开始,开发人员必须告诉系统,这块开发板到底拥有多少内存;在开发程序时,必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外,由于采用实存储器管理策略,用户程序同内核以及其他用户程序在一个地址空间,程序开发时要保证不***其他应用程序的地址空间,不***系统的正常工作,使程序正常运行。因而对内存操作要格外小心。由此可见,开发者不得不参与系统的内存管理,否则系统的效率和性能都不能令人满意。开发者可以用一个内存管理器来帮助管理内存,可以借鉴流行操作系统对内存池(pool)中块(block)进行管理的思想。访问时先寻找对应的块,然后对物理地址进行页的***,进而是行***,***后是列***和根据图像处理系统处理大量数据的特点,对数据在内存中的布局进行规划。即同一块中使连续访问的数据在同一页;在同一页的数据,尽量安排在同一行,减小内存访问延迟,以便对性能进行改善。同时,内存块间相对位置也用同样的方法进行规划,使得块间的转换也尽快完成。本文采用遗传算法,同时对内存数据存储进行页、行、列的规划,对块间相对位置也进行了规划。1内存规划流行的操作系统对内存访问的基本方式是支持快速缓存,执行的过程是把要访问的地址整行拷贝到缓存区,***行页***和行***,然后进行列***并根据读写信号进行选择。目前嵌入式系统中使用的DRAMs都支持***内存访问模式,还特别支持流行的页(page)访问模式和区间(burst)访问模式(相当于以列为主的访问)。这种访问模式消耗的能量低于随机访问方式,例如,IBM′sCu-11EmbeddedDRAMmacro支持的随机访问时间是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规划算法使系统内存访问延迟***小的内存规划应该从变量和要申请的内存块在内存中存储的相对位置的角度来寻找。其前提条件是变量和内存块的访问顺序已知,申请的块的信息也可以得到。根据嵌入式系统应用的特点,例如图像处理系统,经过对程序的预处理,这个条件可以满足。处理过程可分为二步:***步进行块间的规划;第二步对块内变量进行规划。问题的描述如下。1769-SDNDeviceNet扫描器模块1769-PB4电源24VDC输入4A1769-PB2电源24VDC输入2A1769-PA4电源220VAC输入4A1769-PA2电源220VAC输入2A1769-OW8I8路单独隔离继电器输出1769-OW88路继电器输出1769-OW1616路继电器输出1769-OV1616路24VDC,晶体管输出,汇流1769-OF8V8路电压型模拟量输出1769-OF8C8路电流型模拟量输出1769-OF22路模拟量输出1769-OB88路24VDC,晶体管输出,源流1769-OB3232路24VDC,晶体管输出,源流1769-OB16P16路24VDC,晶体管输出,源流(带电子保护)1769-OB1616路24VDC,晶体管输出,源流1769-OA88路120/240VACSSR输出1769-OA1616路120/240VACSSR输出1769-L35E处理器1.5M内存带EtherNet接口1769-L35CR处理器1.5M内存带冗余ControlNet接口1769-L32E处理器750K内存带EtherNet接口1769-L32C处理器750K内存带ControlNet接口1769-L31处理器512K内存带RS232接口1769-IT6模拟量输入模块(6路热电偶)1769-IR6模拟量输入模块(6路RTD)1769-IQ6XOW46路24VDC输入,4路继电器输出1769-IQ3232路24VDC输入模块1769-IQ16F16路高速灌入/拉出电流型输入模块1769-IQ1616路24VDC输入模块1769-IM1212路240VAC输入模块1769-IF88路差分模拟量输入1769-IF4XOF24入2出模拟量1769-IF44路差分模拟量输入1769-IA8I8路120VAC输入模块1769-IA1616路120VAC输入模块1769-HSC高速计数器模块1769-ECR右端盖1769-ECL左端盖1769-CRR3右接右扩展电缆,1m1769-CRR1右接右扩展电缆,305mm1769-CRL3右接左扩展电缆,1m1769-CRL1右接左扩展电缆,305mm1769-CLL3左接左扩展电缆,1m1769-CLL1左接左扩展电缆,305mm1769-ADNDeviceNet适配器模块型号/订货号描述1769-OW88路继电器输出1769-OW1616路继电器输出1769-OV1616路24VDC,晶体管输出,汇流1769-OF22路模拟量输出1769-OB1616路24VDC,晶体管输出,源流1769-OA88路120/240VACSSR输出1769-IQ6XOW46路24VDC输入,4路继电器输出1769-IQ3232路24VDC输入模块1769-IQ1616路24VDC输入模块1769-IM1212路240VAC输入模块1769-IF88路差分模拟量输入1769-IF4XOF24入2出模拟量1769-IF44路差分模拟量输入1769-IA1616路120VAC输入模块1769-ECR端盖)