历史上的今天
返回首页

历史上的今天

今天是:2025年01月14日(星期二)

正在发生

2021年01月14日 | 快速学Arm——存储器加速模块(1)

2021-01-14 来源:eefocus

LPC2300系列ARM内部有128bit宽度的Flash存储器,为了对该存储器进行管理,在芯片内部集成了存储器加上模块(MAM).MAM为用户调整Flash操作的参数提供了接口.


LPC2300系列ARM只是有一组Flash存储器,它包含3个128位的缓冲区:


.预取指缓冲区


.分支跟踪缓冲区


.数据缓冲区.

快速学Arm(35)--存储器加速模块(1)

CPU对内部Flash取指和读取数据的操作时受到MAM制约的.例如,若MAM打开了,那么在CPU取指之前,MAM会判断要取出的这条指令是否在缓冲区内,若不存在,MAM会从Flash存储器读取一个指令行到缓冲区中.


介绍一下术语:


"取值":指Arm发出的直接读取Flash的请求.


"预取指":指对当前处理器取指地址之后的地址执行Flash读操作.我理解就是读取了当前地址,那么同时将下一地址提前读出应该就是所所的预取指,"预先取指",呵呵.


下图描述了MAM关闭时取指令的情况:

快速学Arm(35)--存储器加速模块(1)

当关闭了MAM,所有的读Flash存储器请求都导致Flash的读操作.


下面描述了MAM打开时指令操作情况:


快速学Arm(35)--存储器加速模块(1)

当MAM开启时,CPU需要从Flash读取一批指令来执行.那么对前三条指令的读取,CPU不用再从Flash读取而是从MAM的缓冲区里读取.注意第四条指令,CPU仍然会访问Flash.


不过,有时程序可能出现跳转,这时就无法再连续从Flash中读取指令了,见下面的流程:

快速学Arm(35)--存储器加速模块(1)

上面讲的是对指令的读取,MAM同时拥有专门的数据缓冲区,其工作原理与分支跟踪缓冲区类似.当CPU从Flash读取数据时,会先查看这些数据是否在数据缓冲区,如果不在,那么MAN会执行一次Flash读操作,然后把128bit的数据读入数据缓冲区中.如果存在,则直接从缓冲区读取.这样就加快了数据访问的速度.

推荐阅读

史海拾趣

博巨兴公司的发展小趣事

博巨兴公司成立于2003年9月,初创时期,公司主要从事芯片代理及项目研发,并与台湾巨虹电子展开了合作。凭借着对市场趋势的敏锐洞察,公司很快取得了台湾义隆公司在华南地区的代理权。随着业务的不断拓展,博巨兴的业绩在短短几个月内就实现了快速增长,全年业绩达到了860万元。

ETERNA公司的发展小趣事

除了在制表业取得显著成就外,ETERNA还在生物技术领域进行了积极探索。公司利用专有的非病毒、非DNA方法,使用mRNA进行细胞重编程研究。这一技术旨在通过表达特定的蛋白质来逆转细胞的老化过程,实现“倒转时钟”的效果。虽然ETERNA在mRNA领域的具体成果尚未对外公布,但其在该领域的探索精神和技术实力已经引起了业界的广泛关注。

Avery Dennison公司的发展小趣事

Avery Dennison一直致力于技术创新和产品开发。例如,公司在水胶技术方面取得了显著进展,成功开发出环保且高效的水性乳液聚合物粘胶剂,成为第一家大规模供应这类产品的标签制造商。此外,公司还推出了具有智能功能的RFID标签产品组合,为零售、食品、物流、医疗等行业提供了数字化解决方案。这些创新产品不仅提升了公司的竞争力,也为客户创造了更大的价值。

Andersen Laboratories Inc公司的发展小趣事

在不断追求技术创新和市场扩张的过程中,AnalogicTech始终坚持多元化发展战略。公司不仅在LED背光液晶电视市场取得了显著成绩,还积极拓展其他领域,如智能手机、平板电脑等消费电子产品市场。通过不断推出创新产品和解决方案,AnalogicTech成功实现了市场的多元化发展,为公司的长期稳定发展奠定了坚实基础。

这五个故事展示了AnalogicTech公司在电子行业中发展起来的关键阶段和重要举措。凭借其卓越的技术创新、全球化的运营策略、高效的物流配送体系以及市场扩张与多元化战略的推进,AnalogicTech成功地在竞争激烈的电子行业中脱颖而出,成为了一家备受瞩目的企业。

Exar公司的发展小趣事

Exar公司从一个小型创业公司起步,凭借其独特的技术和创新的思维,在电子行业中崭露头角。公司初期专注于数据传输和存储技术的研发,通过不断的技术创新和产品优化,逐渐在市场上建立起良好的口碑。随着公司规模的扩大,Exar开始涉足更多的领域,包括网络通信、消费电子等,逐步发展成为一家跨行业的综合性企业。

Bergquist Company公司的发展小趣事

70年代,随着电子技术的飞速发展,导热材料行业迎来了前所未有的机遇。Bergquist Company敏锐地捕捉到了这一机遇,开始涉足导热材料领域。公司投入大量资金进行研发,成功开发出了一系列具有创新性的导热产品。这些产品不仅性能卓越,而且价格合理,深受市场欢迎。凭借这些优势,Bergquist Company逐渐在导热材料行业崭露头角,成为了行业的领军企业。

问答坊 | AI 解惑

关于题C的问题

本帖最后由 paulhyde 于 2014-9-15 09:30 编辑 AD603产生的自激现象严重,当用两级放大时候,第二级放大严重失真,这个是什么原因啊?我们现在在AD603前面加了OPA658做前级跟随器,希望可以减小自激  …

查看全部问答>

发个我用的元件库

这是我平常所用到的元件库…

查看全部问答>

wince 的cab 安装包问题(vs2005)

想做一个cab安装包,安装今日插件,按照网上的说明写了个安装程序setupdll.dll, 但是在模拟器上(pocket pc se 2003 Emulator)安装发现setupdll没有被调用(在函数Install_Exit中加了MessageBox,没有弹出,注册表也没写) cab安装包使用vs2005做的 ...…

查看全部问答>

GPRS连接问题

我用OPEN AT 已经建立完成了GPRS激活部分,但是为什么数据流中什么都收不到,在超级终端里使用ATD*99***1#,可以收到PPP包,如何使用OPEN AT ADL也能收到这些PPP包?请指教一二!我在软件里已经加入了AT命令,但是没有任何反应,到底是什么地方出了 ...…

查看全部问答>

用KernelIoControl获取逻辑中断号失败

我想使用EINTT4作按键中断输入.定义如下: UINT32  g_EINTIrq = IRQ_EINT4; UINT32  g_EINTSysIntr = SYSINTR_UNDEFINED; PUBLIC DWORD CPK_Init(DWORD dwContext) {             &n ...…

查看全部问答>

EVC4.0中窗体最小化问题

想要实现一个最小化功能 使用ShowWindow函数没反应~ 请问各位还有什么其他办法不?…

查看全部问答>

dshow CreateMediaType FreeMediaType 无法解析的外部符号

我在wince6.0上做dshow开发,已经包含的头文件和库 #include #include #include #include #include                                     &n ...…

查看全部问答>

CE6及BSP安装求救!!!!紧急啊

我之前安装开发环境的时候,发现PB中Device Driver中的SD选项没有,后来把Updates全装上了,就出现了SD选项。 前几天系统崩溃了,重新装上所有东西后发现就是SD选项没有,各位有没有遇到过这种情况啊????急 …

查看全部问答>

请教中断问题

我在做关于MPC8260的工作.目前,我想为DMA加入中断处理程序.MPC8260的参考手册中 说,IDMA1的中断号是6,我使用如下函数: intConnect(INUM_TO_IVEC(6),dma_isr,0); 连接中断处理程序与中断源.但是一旦DMA结束,BC中断到来之后,整个EP8260板子就死掉 ...…

查看全部问答>

MCS-51单片机定时器问题

MCS-51单片机中,采用12Mhz时钟,定时器T0采用模式1(16位计数器),请问在下面程序中,p1.0的输出频率 ? MOV TMOD,#01H SETB TR0 LOOP:MOV TH0,#0B1H MOV TL0,#0E0H LOOP1:JNB TF0,LOOP1 CLR TR0 CPL P1.0 SJMP LOOP…

查看全部问答>