基于哈弗结构的内存管理系统技术方案

技术编号:8550055 阅读:494 留言:0更新日期:2013-04-05 21:36
本实用新型专利技术提供一种基于哈佛结构的动态内存管理系统,其包含一个哈佛结构处理器,程序总线,数据总线,程序存储器,数据存储器,动态内存管理单元以及由内存管理单元控制的动态存储器。根据系统的应用需要,可以由程序存储器中的程序配置动态内存管理单元,使得动态存储器能够被程序总线或数据总线访问,实现程序存储空间和数据存储空间的动态分配,从而最大限度的提高系统的性能。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

基于哈弗结构的内存管理系统
本专利技术涉及一种基于哈弗结构的动态内存管理系统,该系统可根据应用需求,动 态分配程序存储空间和数据存储空间的大小。
技术介绍
随着计算机技术的飞速发展,基于哈弗结构的嵌入式系统应用非常广泛。哈弗结 构是一种将程序指令存储和数据存储分开的存储器结构,哈弗结构是一种并行体系结构, 他的主要特点就是将程序和数据分别存在不同的存储空间中,使得处理器能同时访问程序 以及数据。采用哈弗结构可以有效的提高程序执行速度,提高数据的吞吐率。在传统的基于哈弗结构的嵌入式系统中,程序存储空间和数据存储空间的大小都 是固定的,这对于其应用产生了一定的局限性。在某些应用下,需要对于存储的程序或者数 据进行一些更新,有时会碰到程序存储空间或者是数据存储空间不够的情况,在这种情况 下,传统的方法是对于程序或者数据进行优化,或者更换其他能满足要求的产品。然后,如 果能设计一种能动态分配程序存储空间和数据存储空间的内存管理系统,就能满足这样的 应用需求。
技术实现思路
本专利技术的目的在于提供一种基于哈弗结构的动态内存管理系统,该系统可根据应 用需求,动态分配程序存储空间和数据存储空间的大小。为实现该目的,提供一种动态存储器管理系统,其包括第一存储器、第二存储器、 动态内存管理单元以及动态存储器,其中通过所述动态内存管理单元将所述动态存储器的 至少一部分分配到第一存储器和第二存储器之一。其中所述的动态存储器管理系统还包括一个存储器管理器、第一总线和第二总 线,所述存储器管理器分别与第一总线和第二总线连接,所述第一总线与第一存储器连接、 所述第二总线与第二存储器连接,动态内存管理单元分别与所述的第一总线、第二总线以 及动态存储器连接,所述存储器管理器分别通过所述第一总线和第二总线访问所述第一存 储器和第二存储器。其中所述的存储器管理器为一个哈佛结构处理器,所述的第一存储器为程序存储 器,所述第一总线为程序总线,所述第二存储器为数据存储器,所述第二总线为数据总线。其中所述的动态存储器包括若干子存储单元,该子存储单元可以被第一总线和第 二总线访问;所述动态内存管理单元包括与每一个子存储单元连接的总线连通控制器,该 总线选通控制器根据动态内存管理单元的配置,来选通该子存储单元被第一总线访问或被 第二总线访问。其中所述动态内存管理单元还包括程序状态寄存器、数据状态寄存器、程序分配 启动寄存器、程序分配空间寄存器、数据分配启动寄存器和数据分配空间寄存器,其中程序 状态寄存器和数据状态寄存器均为只读寄存器,用于表示目前动态存储器中分配给程序存储空间和数据存储空间的具体数值;程序分配启动寄存器和程序分配空间寄存器用于将动 态寄存器中子存储单元分配至程序存储空间,数据分配启动寄存器和数据分配空间寄存器 用于将动态寄存器中自存储单元分配至数据存储空间。系统上电复位后,系统根据动态内存管理单元中的初始化设置,决定动态存储器 的状态。在系统运行后,动态内存管理单元可被执行程序控制,以实现内存的动态管理以及 分配。附图说明图1是本专利技术实施例中动态内存管理系统框图;图2是本专利技术实施例中动态存储器示意图;图3是本专利技术实施例中子存储单元存储控制图;图4是本专利技术实施例中动态分配内存示意图;具体实施方式图1为本专利技术整体框图。其中含有一款哈弗结构处理器,程序总线,数据总线,程 序存储器,数据存储器,动态内存管理单元以及由内存管理单元控制的存储器。该哈弗结构 处理器对外有两条总线,程序总线和数据总线,分别可以访问程序空间和数据空间。其中程 序空间和数据空间的编址都是独立的,由于程序和数据存储在两个独立的物理空间中,因 此取指和执行能完全重叠。处理器首先到程序存储空间读取程序指令,解码后得到数据地 址,再去数据空间读取数据,并进行下一步的操作。程序存储器和数据存储器分别存储系统中的程序和数据,动态存储器则根据需要 可以进行动态分配,分配方式共有三种第一,动态存储器分配至程序段,那么动态存储器 和程序存储器一起组成程序存储空间,数据存储器则组成数据存储空间;第二,动态存储器 分配至数据段,那么程序存储器组成程序存储空间,数据存储器则和动态存储器一起组成 数据存储空间;第三,程序存储器和动态存储器中的一部分组成程序存储空间,动态存储器 中的另一部分则和数据存储器一起组成数据存储空间。动态存储器其中分几个子存储单 元,这里我们动态存储器选取大小为5kB,其内部分三个子存储单元S0,SI,S2,其大小分 别为 lkB,2kB,2kB。所述动态内存管理单元包括与每一个子存储单元连接的总线连通控制器,如附图 3所示,以SI为例,动态存储器中的每一个子存储单元都可以被程序总线和数据总线访问, 该总线选通控制器根据动态内存管理单元的配置,来选通该子存储单元被程序总线访问, 还是被数据总线访问。动态内存管理单元负责管理动态存储器,其动态分配如附图4所示。对于动态存 储器中的子存储单元进行分配。系统上电复位后,动态内存管理单元进行初始化,此时,动 态存储器完全属于数据存储空间,当配置动态内存管理单元中的寄存器,需要分配2kB至 程序存储空间后,动态内存管理单元改变SI的存储方式,使得SI由程序总线访问,之后如 果再分配3kB至存储空间,动态内存管理改变SO和S2的存储方式,使得SO和S2只能被程 序总线访问。至此,动态存储器则完全属于程序存储空间。此时,若需要分配2kB程序至数 据存储空间时,动态内存管理单元改变S2的存储方式,使得S2由数据总线访问。之后若再分配2kB只数据存储空间,动态内存管理单元改变SI的存储方式,使得SI由数据总线访问。此时,动态存储器中的SO和程序存储器一起组成了程序存储空间,而动态存储器中的 S1、S2和数据存储器一起组成了数据存储空间。由于动态存储器的总大小是固定的,并且各个子存储单元的大小也是固定的,因此对于动态存储器的分配,提供了 6种的分配模式。如果需要更加灵活的对于动态存储器进行合理的分配,可以通过两个办法第一,增加动态存储器的总大小;第二,增加子存储单元的数目。同样地,采用以上两种方法也会增加系统的复杂度,具体设计需要根据具体需要进行确定。本方案支持的动态存储器的分配方式,如下表所示。本文档来自技高网...

【技术保护点】
一种动态存储器管理系统,其包括:第一存储器、第二存储器、动态内存管理单元以及动态存储器,其中通过所述动态内存管理单元将所述动态存储器的至少一部分分配到第一存储器和第二存储器之一。

【技术特征摘要】
1.一种动态存储器管理系统,其包括第一存储器、第二存储器、动态内存管理单元以及动态存储器,其中通过所述动态内存管理单元将所述动态存储器的至少一部分分配到第一存储器和第二存储器之一。2.如权利要求1所述的动态存储器管理系统,其中所述的动态存储器管理系统还包括一个存储器管理器、第一总线和第二总线,所述存储器管理器分别与第一总线和第二总线连接,所述第一总线与第一存储器连接、所述第二总线与第二存储器连接,动态内存管理单元分别与所述的第一总线、第二总线以及动态存储器连接,所述存储器管理器分别通过所述第一总线和第二总线访问所述第一存储器和第二存储器。3.如权利要求2所述的动态存储器管理系统,其中所述的存储器管理器为一个哈佛结构处理器,所述的第一存储器为程序存储器,所述第一总线为程序总线,所述第二存储器为数据存储器,所述第二总线为数据总线。4.如权利...

【专利技术属性】
技术研发人员:阎斌金传恩高占东韩东坡
申请(专利权)人:合肥科盛微电子科技有限公司
类型:实用新型
国别省市:

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

1