当前位置: 首页 > news >正文

广东手机网站建设公司怎样用百度做网站优化

广东手机网站建设公司,怎样用百度做网站优化,学做网站有前,企业网app下载内存#xff08;Memory#xff09;是计算机中最重要的部件之一#xff0c;计算机运时的程序以及数据都依赖它进行存储。内存主要分为随机存储器#xff08;RAM#xff09;,只读存储器#xff08;ROM#xff09;以及高速缓存#xff08;Cache#xff09;。仅仅雷达的原…内存Memory是计算机中最重要的部件之一计算机运时的程序以及数据都依赖它进行存储。内存主要分为随机存储器RAM,只读存储器ROM以及高速缓存Cache。仅仅雷达的原始回波数据Radar data cube就可能达MByte级别的数据体量这对MCU的内存来说尺寸很大。本篇文章主要介绍了在雷达嵌入式编程中会遇到的MPU(Memory Protect Unit)、Cache以及不同数据格式在内存中的存储格式和雷达基带涉及的加速核与内存区的映射。总而言之与内存相关的嵌入式编程以及优化方式会在本文中对其进行说明并从内存优化的角度对可以应用的诸如同址复用等思路进行说明。MPUCacheCache一致性问题一般发生在多核处理器上单核处理器基本不用考虑这个问题。现在的处理器一般都有两级L1cacheL2cache甚至三级缓存当核0读写外部存储器如DDR内的数据时会将数据保存在L2cache和L1Dcache中。后续如果该数据一直在cache中那么对该数据的读写都会直接操作cache内的数据而不会去修改DDR中的数据。以此提高CPU的读写速度。但是这可能导致其他主机如其他核读取DDR的数据与核0中cache中的数据不一致。例如核0已经将位于DDR中的变量num从11修改为56了但是其他核读取num时依然有可能读取到的是11。最新的num数据56可能依旧在核0的cache中没有写回到DDR中。一般来说多级缓存之间的一致性不需要我们来维护我们主要维护不同核之间的数据一致。 // ...// recieve data from DMA or HW peripheral// addr cache line aligned buffer address// size multiple of cache line aligned size in bytes// invalidate contents of cache so that a CPU can see the data written by DMA or HW peripheralCacheP_inv(addr, size, CacheP_TYPE_ALL);上面的代码为将对应地址空间执行了Writeback-Invalidate操作其的作用是将Cache写回到DDR中之后Cache中的数据将会无效。这种操作多用于读取核间共享的存储区域之前。除了Writeback-Invalidate操作还有Invalidate将CACHE中的数据视为无效数据以及Writeback将CACHE中的数据写回存储器中如DDR等操作。MPU定义了存储器不同地址空间的属性和存储器的访问权限。MPU不会提升嵌入式应用的性能而是用于系统中问题的检测(比如试图访问非法或者不允许的存储器位置所导致的应用错误)。如果检测到有错误则会触发HardFault异常。实际上许多微控制器用不到MPU但MPU可以提高嵌入式系统的健壮性使得系统更加安全。/** MPU Region Base Address Register Value * * \param Region The region to be configured, number 0 to 15. * \param BaseAddress The base address for the region. */ #define ARM_MPU_RBAR(Region, BaseAddress) \(((BaseAddress) MPU_RBAR_ADDR_Msk) | \((Region) MPU_RBAR_REGION_Msk) | \(MPU_RBAR_VALID_Msk))#define ARM_MPU_RASR_EX(DisableExec, AccessPermission, AccessAttributes, SubRegionDisable, Size) \((((DisableExec) MPU_RASR_XN_Pos) MPU_RASR_XN_Msk) | \(((AccessPermission) MPU_RASR_AP_Pos) MPU_RASR_AP_Msk) | \(((AccessAttributes) (MPU_RASR_TEX_Msk | MPU_RASR_S_Msk | MPU_RASR_C_Msk | MPU_RASR_B_Msk))) | \(((SubRegionDisable) MPU_RASR_SRD_Pos) MPU_RASR_SRD_Msk) | \(((Size) MPU_RASR_SIZE_Pos) MPU_RASR_SIZE_Msk) | \(((MPU_RASR_ENABLE_Msk))))/** * MPU Region Attribute and Size Register Value * * \param DisableExec Instruction access disable bit, 1 disable instruction fetches. * \param AccessPermission Data access permissions, allows you to configure read/write access for User and Privileged mode. * \param TypeExtField Type extension field, allows you to configure memory access type, for example strongly ordered, peripheral. * \param IsShareable Region is shareable between multiple bus masters. * \param IsCacheable Region is cacheable, i.e. its value may be kept in cache. * \param IsBufferable Region is bufferable, i.e. using write-back caching. Cacheable but non-bufferable regions use write-through policy. * \param SubRegionDisable Sub-region disable field. * \param Size Region size of the region to be configured, for example 4K, 8K. */ #define ARM_MPU_RASR(DisableExec, AccessPermission, TypeExtField, IsShareable, IsCacheable, IsBufferable, SubRegionDisable, Size) \ARM_MPU_RASR_EX(DisableExec, AccessPermission, ARM_MPU_ACCESS_(TypeExtField, IsShareable, IsCacheable, IsBufferable), SubRegionDisable, Size)/* Region 3 setting: Memory with Device type, not shareable, non-cacheable */ MPU-RBAR ARM_MPU_RBAR(3, 0x31C00000U); //0x30000000U MPU-RASR ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_32MB); 上述代码将0x31C00000为起点的32MB数据区域设置为了non-cacheable意味着所有observers都可以观察该内存的实际值not shareable如果被多个observer使用Non-shareable内存,无序的读写的操作顺序会导致异常。当然在设置MPU regions时建议将cache与MPU失能配置完成之后再使能。Data representation在基带模块中主要涉及的数据类型如下定点实数/复数浮点复数伪浮点复数定点实数/复数下图是一个8位定点实数的Bit图高四位是整数第四位是小数。实数1.5对应表示为00011000。定点的复数如下图为高32位为实部低32位为虚部。0-12bit位为虚部的小数部分13-31bit为虚部的整数部分。32-44bit为实部小数部分45-63bit为实部的整数部分。浮点复数如下图所示浮点复数的实部和虚部是由两个符合IEEE754标准的单精度短浮点数的标准的32位数表示。单精度短浮点数的由1位符号位8位指数位和23位有效数字位构成。实际上有效数字位是24位因为第一位有效数字总是“1”不必存储。有效数字位是一个二进制纯小数。8位指数位中第一位是符号位这符号位和一般的符号位不同它用“1”代表正用”0“代表负。整个单精度短浮点数的符号位用“1”代表负“0”代表正。指数位为正代表有效数字位需要右移指数1为负则代表需要左翼左移指数按位取反。距离举个转换的例子伪浮点复数伪浮点复数这种数据存储格式能够有效的减少内存压力它将需要64位存储的浮点复数用32位来存储。结构如下实部和虚部都以14位数表示他们的浮点位置由高4位计算得出。复数的实数部分数值,复数的虚数部分数值。下面举个例子复数-74i在内存中以伪浮点复数存储为0x34002400。Memory Map雷达的MCU一般都是多核的成本高一点的会是多个ARM核与DSP核成本低一点的也会有ARM核与各种加速核。这些核心都有对RAM进行读写的需要。我们针对低成本芯片集成电路蓝本大约简化以下几个主体。Bus MasterARM核我们编写的代码就是跑在这个核心。PREP:主要用于原始的AD回波数据的存储组织。BB_DMA:Direct Memory Access.它可以解放核心提供内存间拷贝的功能。也可以为诸如FFT这种核心提供内存块数据的逐条/个数据的读取等操作。P1:提供在距离维之前的数据处理功能包括幅相等校准与Zeros的工作。P2:提供在速度维之前的数据处理工作包括复数的累加求信号均值等操作。FFT:提供快速傅里叶变化算法实现。CFAR:提供各种恒虚警算法实现。我们把RAM分为两部分BUF1和BUF2BUF1存储包括FFT的原始与结果数据BUF2存储一些窗口数据。MCU中的每个核心都对RAM有不同位宽的读写需求核心直接也有相互写入的需求。我们把数据想象成水流而各个加速核想象成水处理池而我们嵌入式工程师就像是水管工将核心根据需要用RAM中的数据连接起来来搭建一个信号处理流程。下表是这些核心与RAM不同位宽的读写关系图纵向表头为请求方表格中的读写是请求方的读写横向为响应方。P1_ZOP1_MULFFTP2CFARBUF1BUF2BUS Master32/64读/写32/64读/写BB_DMA16写32写32写8/16/32/64读8/16/32写8/16/32/64读8/16/32写PREP64写P132写32写FFT32写16/32读32写P232写32读32写32读32写CFAR32读64写BUF1可以根据存储的数据种类进一步划分比如可以划分为存储AD回波数据的区域存储距离维FFT结果数据区速度维FFT结果数据这么存储可以进行更好的调试信号处理调试以及更灵活的信号处理流程搭建但是一旦流程固定之后我们完全可以将一些数据区域复用比如ADC_SAMPLE_ADDR与FFT1D_CACHE_ADDR可以指向一个地址这样处理可以大大减少对内存空间的压力。除了上述的可供ARM核心读写的BUF1BUF2内存区域我们称之为原始数据区具有加速核的雷达SOC还有一些影子RAM,这么称呼是因为他们仿佛是原始数据区域的影子一样这些区域ARM核心并不能直接写但是可以读每当我们向原始数据区写入的后不同的影子RAM会自动写入对应原始数据经过一种固定运算或者更改存储格式后的数据.正如上图第一个影子RAM是对应原始复数数据经过i.e.abs,log2,log运算之后的幅度实数数据CFAR加速核进行相应算法的原始数据就来自这里。第二个影子RAM是对应以伪浮点数存储的原始数据以符合IEEE754标准的浮点数进行存储P1/2的涉及的一些复数运算来源于这里。十六宿舍 原创作品转载必须标注原文链接。©2023 Yang Li. All rights reserved.欢迎关注 『十六宿舍』 大家喜欢的话给个 更多关于嵌入式相关技术的内容持续更新中。
http://www.w-s-a.com/news/417465/

相关文章:

  • 龙岩建设局网站声明自学制作网站难不难
  • 济南网站优化小黑godaddy中文网站开发
  • 做微课常用的网站广州seo优化推广
  • 主机屋如何做网站电脑网页游戏大全
  • 工作网站建设中布线费用账务处理特色的重庆网站推广
  • dede 网站地图模板htm写作网站水平哪个最好
  • 服务器上的网站erp教学零基础入门
  • 网站建设58设计资料网站
  • 如何把动态图发网站做头像网页设计实训报告小结
  • 做简历用的网站wordpress版权说明
  • 网站关键词有哪些网站新闻前置审批
  • 怎么自己注册网站义乌做公司网站
  • 做哪种网站赚钱苏州住房城乡建设部网站
  • 镇江做网站学编程学哪一种比较好
  • 华美天一建筑公司网站赚钱做任务的网站有哪些
  • asp网站打开速度慢家乡网页设计教程
  • 网站 设计 深圳书店网站的建设
  • 北京网络营销推广培训哪家好南宁软件优化网站建设
  • flash网站引导页仓库管理系统源码
  • 济南网站制作公司排名营销型网站管理系统
  • 公司网站设计要多少钱用什么做网站的访问量统计
  • 湖北省住房和城乡建设厅门户网站沈阳网络平台推广公司
  • 河南平台网站建设公司网站如何提高转化率
  • 网站及推广wordpress 分享主题
  • 房产网站有哪些如何自己建一个微网站
  • 青岛市黄岛区城市建设局网站手机域名访问网站怎么进入
  • 网站模板 双语河南省建设人才信息网官网
  • 网站建设备案优化之看邹城网站开发
  • 网站方案书图书馆网站建设公司
  • 公司取名网免费版在线网站优化公司