微控制器和相关的存储器管理方法技术

技术编号:17796620 阅读:32 留言:0更新日期:2018-04-25 20:06
本发明专利技术公开一种微控制器和相关的存储器管理方法。微控制器包括处理器以及具有至少工作空间的第一存储器,其中工作空间包括多个块;工作空间管理单元,用于管理第一存储器的工作空间;以及存储器监视器,由硬件电路实现,用于监视多个块,以及记录与第一存储器的多个块相对应的多个监视结果,其中所记录的多个监视结果包括关于多个块的数据是否被修改的信息。本发明专利技术所提供的微控制器和相关的存储器管理方法能够改善软件高速缓存的功耗和计算资源。

Microcontrollers and related memory management methods

The invention discloses a microcontroller and a related memory management method. The microcontroller includes a processor and a first memory with at least a working space, in which a workspace includes a plurality of blocks, a workspace management unit, a working space for managing the first memory, and a memory monitor, implemented by a hardware circuit, for monitoring a plurality of blocks, and for recording more than the first memory. A plurality of monitoring results corresponding to a block, wherein the recorded monitoring results include information on whether the data of multiple blocks are modified. The microcontroller and related memory management method provided by the invention can improve the power consumption and computing resources of the software cache.

【技术实现步骤摘要】
微控制器和相关的存储器管理方法
本专利技术有关于存储器管理,特别是有关于微控制器和相关的存储器管理方法。
技术介绍
对于嵌入式微控制器(MCU)系统,因为高速缓存存储器(例如静态随机存取存储器(SRAM))是昂贵的,所以通常伴随高速缓存使用诸如动态随机存取存储器(DRAM)的大/较慢/较高功耗的存储器,以提供大的内存空间;然而,这种安排要花很多功耗。此外,关于高速缓存技术,硬件高速缓存实现需要更高的成本,并且纯软件高速缓存耗费功率和计算资源。因此,如何提供具有较低成本和较低功耗的存储器管理方法是重要的课题。
技术实现思路
有鉴于此,本专利技术特提供以下技术方案:依据本专利技术的一个实施方式,提供一种微控制器,包括处理器;具有至少工作空间的第一存储器,其中工作空间包括多个块;工作空间管理单元,用于管理第一存储器的工作空间;以及存储器监视器,由硬件电路实现,用于监视多个块,以及记录与第一存储器的多个块相对应的多个监视结果,其中所记录的多个监视结果包括关于多个块的数据是否被修改的信息。依据本专利技术另一实施方式,提供一种存储器管理方法,用于管理第一存储器,其中所述第一存储器至少具有包括多个块的工作空间,存储器管理方法包括:使用硬件电路来监视多个块;以及记录与第一存储器的多个块相对应的多个监视结果,其中所记录的多个监视结果包括关于多个块的数据是否被修改的信息。本专利技术所提供的微控制器和相关的存储器管理方法能够改善软件高速缓存的功耗和计算资源。【附图说明】图1是根据本专利技术一个实施例的微控制器的示意图。图2为依据本专利技术一实施例的工作空间、内存监控器及动态加载器的示意图。图3是根据本专利技术的一个实施例的动态加载器的操作的示意图。图4是根据本专利技术的一个实施例的当CPU读取对象时存储器监视器的操作的示意图。图5是根据本专利技术的一个实施例的当CPU将数据写入块B0和B3时存储器监视器的操作的示意图。图6是根据本专利技术的一个实施例的当将修改块B0和B3写回到DRAM时动态加载器和存储器监视器的操作的示意图。图7是根据本专利技术的一个实施例的块聚合的示意图。【具体实施方式】在权利要求书及说明书中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的组件。本权利要求书及说明书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在权利要求书及说明书中所提及的「包括」为开放式的用语,故应解释成「包括但不限定于」。另外,「耦接」一词在此包括任何直接及间接的电气连接手段。因此,若文中描述第一设备耦接于第二设备,则代表所述第一设备可直接电连接于所述第二设备,或通过其他设备或连接手段间接地电连接至所述第二设备。请参考图1,图1是根据本专利技术一个实施例的微控制器(MCU)100的示意图。如图1所示,微控制器100包括中央处理单元(CPU)110、诸如SRAM120的存储器、工作空间管理单元130和存储器监视器140,其中SRAM120至少包括工作空间122,工作空间管理单元130至少包括动态加载器(dynamicloader)132。在本实施例中,工作空间管理单元130用于管理工作空间122,工作空间管理单元130由纯软件实现(即,通过执行程序代码来执行工作空间管理单元130);并且存储器监视器140由硬件电路(例如,功能电路、逻辑门和寄存器等)实现。微控制器100耦合到具有程序池(programpool)152的DRAM150,并且微控制器100从程序池152加载对象以执行相应的功能,其中术语“对象”是用于特定功能的代码或数据的集合,并且能够被链接和加载到SRAM120以被执行。详细地,工作空间管理单元130的动态加载器132将对象从程序池152加载到SRAM122的工作空间122,并且CPU110读取并执行工作空间122中加载的对象。此外,在微控制器100的工作时段期间,存储器监视器140动态地实时监视和记录存储在工作空间122中的对象的状态,并且工作空间管理单元130参考对象的记录状态控制/调整对SRAM120的管理策略。在一个实施例中,DRAM150具有比SRAM120更大的芯片面积、更慢的速度和/或更高的功耗。请参考图2,图2为依据本专利技术一实施例的工作空间122、内存监控器140及动态加载器132的示意图。如图2所示,工作空间122被分成多个块B0-B127,存储器监视器140包括监视电路142和多个寄存器144,其中寄存器144用于记录块B0-B127的状态。在本实施例中,块B0-B127中的每一个具有读信息、有效信息、脏信息(dirtyinformation)和身份(ID)信息,其中读信息指示块中的数据是否被CPU110读取,例如,当CPU110未读取块内的数据时,读取信息具有逻辑值“0”,而当CPU110读取块内的数据时,读取信息具有逻辑值“1”;有效信息指示块是空的还是由数据占据,例如,当块为空时,有效信息具有逻辑值“0”,而当块不为空时,有效信息具有逻辑值“1”;脏信息指示CPU110是否修改/更新块内的数据,例如,当块中的数据未被修改/更新时,脏信息具有逻辑值“0”,而当块中的数据被修改/更新时,脏信息具有逻辑值“1”;而ID信息指示存储在块中的对象(数据)属于哪个。在一个实施例中,块的读信息、脏信息和有效信息中的每一个由一个比特表示。在其他实施例中,也可以用多个比特表示块的读信息、脏信息和有效信息中的每一个。在本实施例中,由监视电路142更新块B0-B127的读信息(即硬件(HW)更新);由动态加载器132更新块B0-B127的有效信息和ID信息(即软件(SW)更新);并且根据不同情况,块B0-B127的脏信息由监视电路142或动态加载器132更新。图3-6是根据本专利技术的一个实施例的微控制器100的操作的示意图。请先参考图3,图3是根据本专利技术的一个实施例的动态加载器132的操作的示意图。动态加载器132从DRAM150加载对象,并且加载的对象被存储到工作空间122的块B0-B3中。同时,动态加载器132更新对应于块B0-B3的有效信息和ID信息,例如,块B0-B3的有效信息从“0”改变为“1”,并且ID信息更新为“001”。图4是根据本专利技术的一个实施例的当CPU110读取对象时存储器监视器140的操作的示意图。如图4所示,CPU110仅读取对象的一部分(例如,块B0、B1和B3),并且监视电路142可以监视/拦截SRAM120内的读信号(例如来自CPU110的读请求)以更新块B0、B1和B3的读信息。图5是根据本专利技术的一个实施例的当CPU110将数据写入块B0和B3时存储器监视器140的操作的示意图。如图5所示,CPU110将数据写入块B0和B3(即,块B0和B3的内容被修改/更新),并且监视电路142监视/拦截SRAM120内的写信号(例如来自CPU110的写请求)以更新块B0和B3的脏信息。图6是根据本专利技术的一个实施例的当将修改块B0和B3写回到DRAM150时动态加载器132和存储器监视器140的操作的示意图。如图5所示,在CPU110完成执行之后,动态加载器132参考块B0-B3的脏信息以确定哪些块被修改,并且动态加载器132仅将经修改的块写本文档来自技高网...
微控制器和相关的存储器管理方法

【技术保护点】
一种微控制器,其特征在于,包括:处理器;具有至少工作空间的第一存储器,其中所述工作空间包括多个块;工作空间管理单元,用于管理所述第一存储器的所述工作空间;以及存储器监视器,由硬件电路实现,用于监视所述多个块,以及记录与所述第一存储器的所述多个块相对应的多个监视结果,其中所记录的所述多个监视结果包括关于所述多个块的数据是否被修改的信息。

【技术特征摘要】
2016.10.16 US 15/294,7791.一种微控制器,其特征在于,包括:处理器;具有至少工作空间的第一存储器,其中所述工作空间包括多个块;工作空间管理单元,用于管理所述第一存储器的所述工作空间;以及存储器监视器,由硬件电路实现,用于监视所述多个块,以及记录与所述第一存储器的所述多个块相对应的多个监视结果,其中所记录的所述多个监视结果包括关于所述多个块的数据是否被修改的信息。2.根据权利要求1所述的微控制器,其特征在于,所述工作空间管理单元由软件实现。3.根据权利要求1所述的微控制器,其特征在于,所记录的所述多个监视结果更包括关于所述多个块是否被所述处理器读取的信息。4.根据权利要求1所述的微控制器,其特征在于,所述工作空间管理单元将对象从第二存储器加载到所述第一存储器的所述多个块的一部分,并且所述存储器监视器监视所述多个块的所述部分的所述数据是否被修改,并且记录对应于所述多个块的所述部分的所述多个监视结果,并且所述工作空间管理单元参考所述存储器监视器的所述多个监视结果,以仅将其数据被修改的块写回到所述第二存储器。5.根据权利要求1所述的微控制器,其特征在于,所述存储器监视器包括:监视电路,用于监视所述第一存储器的所述多个块;和多个寄存器,耦合到所述监视电路,用于根据所述监视电路的所述多个监视结果存储和更新所述多个块的多个状态。6.根据权利要求5所述的微控制器,其特征在于,所述多个块的每个块的状态至少包括读信息和脏信息,所述读信息指示所述块是否被所述处理器读取,且所述脏信息指示所述块的所述数据是否被修改。7.根据权利要求6所述的微控制器,其特征在于,所述多个块的每个块的状态更包含有效信息,并且所述有效信息指示所述块是否为空。8.根据权利要求6所述的微控制器,其特征在于,所述工作空间管理单元将对象从第二存储器加载到所述第一存储器的所述多个块的一部分,所述处理器随后执行所述对象的一部分,并且所述监视电路监视所述第一存储器的所述多个块以更新所述多个块的所述部分的所述脏信息,以及所述工作空间管理单元参考所述多个块的更新的脏信息,以仅将其数据被修改的块写回到所述第二存储器。9.根据权利要求8所述的微控制器,其特征在于,所述块的所述读信息、所述脏信息和所述有效信息中的每一个由一个比特表示,并且所述第二存储器具有比所述第一存储器更大的芯片面积、更慢的速度和/或更高的功耗。10.根据权利要求8所述的微控制器,其特征在于,所述工作空间管理单元参考所述多个块的所述部分的所述更新的脏信息以知道所述对象的哪些部分被修改;并且下一次当所述工作空间管理单元再次将所述对象从所述第二存储器加载到所述第一存储器时,所述工作空间管理单元将所述对象的先前修改部分布置在所述第一存储器的连续块中。11.根据权利要求6所述的微控制...

【专利技术属性】
技术研发人员:萧志祥林季萱庄劼霖
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾,71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1