一种硬件动态内存池管理方法和系统的制作方法

文档序号:6604560阅读:125来源:国知局
专利名称:一种硬件动态内存池管理方法和系统的制作方法
技术领域
本发明涉及一种处理器内部存储器的管理方法和系统,更具体的是,涉及一种硬件的动态内存池的管理方法和系统。
背景技术
在现代应用处理器的设计结构中,包括了越来越多的功能复杂性能强大的功能模块,这些功能模块往往实现了包括音频、视频、高速数据传输等各种复杂的应用功能,同时也消耗了更多的系统资源,包括更大的处理器规模,更高的功耗,更多的逻辑设计等资源。 最重要的是,这些功能复杂的模块往往需求更多存储器进行功能实现,而处理器内部的存储器数量是制约了处理器规模、成本、性能等最重要的因素之一。如何高速高效的设计处理器内部功能模块所使用的存储器也是处理器系统设计的关键。使用到内部存储器的功能模块通常都是实现较为复杂的应用。传统的做法是将存储器集成在功能模块内部,存储器为功能模块专用,每个功能模块独占式访问各自的内部存储器,同时,为了系统内部数据及程序快速处理,处理器系统内部同时还会集成一块系统处理器存取使用的内部存储器,进行数据和程序的存放。因此整个处理器系统的内部存储器总和由每个功能模块内部的存储器以及系统使用的存储器构成。而作为模块内部存储器,每个独立模块内部的存储器都不能被系统处理器及其他功能模块存取访问。这样构成的处理器系统内部存储器复杂而又繁琐,利用率和比较低。系统使用的内部存储器由系统处理器使用存取指令和数据,与系统处理器的数据交互可以实现快速交换,但对于其他的功能模块,以及系统外部的存储器,其数据访问效率较低甚至不能直接进行访问操作。传统的处理器内部存储器的管理方式,使整个系统的构成冗余繁复,也降低了整个系统的灵活性,使系统的应用效率降低。

发明内容
本发明首个目的在于提供一种硬件动态内存池管理方法。该方法更具体的说是一种采用了集中式的存储器分布方式,通过模式选择以及访问仲裁,使系统内的功能模块动态共享一个系统内部存储器集合即内存池,灵活分配内存池中的存储器资源,提高整个系统的存储器使用效率以及灵活度。本发明的另一个目的是提供一个用以实现上述硬件动态内存池管理方法的系统。根据以上发明的目的,其技术方案如下一种硬件动态内存池管理方法,其特征在于,所述的硬件动态内存池管理方法是将系统内使用并集成了内部存储器的功能模块中的内部存储器抽取出来,经过数量、容量的资源整合,集中放置在内存池中,配合不同的模块及系统总线的访问仲裁,不同的内部存储器的模式选择,内存池中的内部存储器可以分时或同时的被不同的功能模块使用,使用结束后,内部存储器将回到系统池中等待被分配使用。根据上述的硬件内存池的管理方法,其具体过程为系统内各个模块的内部存储器被放置在内存池中,由系统处理器通过配置总线接口来控制其可以被操作的权限和工作模式。硬件内存池的访问模式有三种,一是功能模块通过其专有接口访问动态内存池中的特定的内部存储器,一是硬件动态内存池本身具有主操作功能,通过系统处理器配置操作信息,动态内存池可以主动的将控制指定的内部存储器的数据与外部的系统存储器或其他模块设备的数据进行交换。三是硬件动态内存池具有系统总线的从接口,用以接收系统处理器的控制命令。当功能模块需要访问动态内存池中的存储器资源时,首先要提出访问请求,动态内存池根据模块访问的目标存储器的工作模式来确认功能模块是否可以访问,当目标存储器的工作模式不同正确,这次的模块访问将直接以错误被中止,当目标存储器的工作模式正确后,该功能模块对内部存储器的访问将被与其他功能模块的访问进行仲裁, 通过优先级控制后,在获得访问最高优先级的时候,功能模块便可进行数据存取并获得正确存取的响应。所述的硬件动态内存池系统是一个处于处理器内部一个包括多种、多块的内部存储器的存储器集合。该内存池系统内部包括了不同的功能模块的接口,与使用到硬件内存池的各个功能模块连接。内存池内部的主接口为内存池通过配置,主动与内存池外的其他系统模块如系统外部存储器进行数据交互的接口。内存池内部的从接口为内存池接收系统处理器的配置操作,以及系统处理器存取访问内存池中存储器的接口。同时硬件内存池还包括仲裁器,对每个存储器的访问进行模式控制和访问优先级的仲裁。最后是构成内存池的不同的内部存储器的组合,主要根据不同的功能模块的使用特点,以及存储器管理和地址分配的特点,选择特定的存储器组成。本发明的有益效果本发明所述方法是采用集中式的硬件动态内存池的管理方式,将不同的功能模块的存储器资源集中整合,缩减了整体系统的内部存储器规模,有效的节约了系统资源。本发明所述方法是采用硬件动态的内存分配和使用模式,相比传统的模块存储器固定的使用模式,极大的提高了系统内部存储器的使用效率,降低整体系统使用成本。本发明所述方法是采用了集中的硬件动态内存池管理方式,不同的功能模块可以共用同一块内部存储器,从而是不同的功能模块之间可以直接进行快速简便的数据交互。为进一步说明本发明的上述目的、结构特点和效果,以下将结合附图对本发明进行详细说明。


图1为传统的处理器内部存储器使用和分布的结构图;图2为本发明所述的硬件动态内存池在处理器系统中的结构图;图3为本发明所述的硬件动态内存池内部的结构图;图4为本发明所述的动态内存池内部存储器访问的状态流程具体实施例方式以下借助附图对本发明作进一步的描述。如图1所示,传统的处理器内部存储器的分布是分散的,每个独立的功能模块各自安排和使用专用的内部存储器,同时整个系统本身还需要内建一块内部存储器供系统处理器进行指令和数据的存取。系统整体的内部存储器使用非常不经济,也不灵活。如图2所示,由本发明所述的硬件动态内存池在处理器系统中的结构图可以看出,在系统结构内部,将每个独立的功能模块的内部存储器抽取出来,与系统的内部存储器集合起来,经过平衡和资源整合,保留最小的存储器组合集中放置在内存池中,并通过模块的专有接口和系统总线与各个功能模块及系统处理器连接,在不同的系统应用场景下,由系统处理器分配并配置,功能模块调用内存池中的存储器进行操作与处理,在使用完成后, 有系统处理器配置将这些内部存储器的释放回内存池,以供其他的功能模块再次使用。同时系统处理器使用的内部存储器也将由内存池中的存储器分配,并且由于内存池中的存储器共用结构,不同的功能模块也包括系统处理器可以互相访问彼此的内部工作存储器,使后期的功能开发和扩展变得更加灵活。如图3所示,本发明所述的硬件动态内存池主要包含了三类结构单元接口单元, 仲裁器以及存储器组。接口单元包括了三种类型,功能模块的接口 31,内存池的系统主接口 34,内存池的系统从接口 35。功能模块接口 31是一种独立的接口,是内存池与各个使用到内存池中的存储器资源的功能模块的一对一的接口,功能模块通过这样的直连接口而不经过任何的总线协议及时序与内存池连接,可以极大提高功能模块的访问效率以得到更高的实时性。内存池的系统主接口 34与系统总线连接311,内存池通过主接口可以访问到整个系统总线上挂载的各类资源,通过配置,内存池可主动与外部的系统资源进行数据交互。内存池的系统从接口 35与系统总线连接311,系统处理器通过内存池的从接口可以访问和配置内存池的工作模式,工作状态,主接口操作等内存池的配置信息,同时,通过内存池的从接口,系统处理器还可以访问到内存池内部的各个存储器。仲裁器36是内存池中的核心器件,主要实现的内容包括对各个接口访问的地址进行译码,对每个内部存储器的工作模式进行控制,对不同接口的同时访问进行优先级仲裁。地址译码是通过访问地址确定所访问的目标存储器。工作模式控制是针对每一个存储器进行模式设定,以确定所能访问这个存储器的接口,根据设定,在不同的工作模式下,将只有所设定的接口可以访问到该存储器。优先级的仲裁是当同一时间,有两个及以上的接口被授权访问同一个存储器时,按不同接口的优先级,依次访问存储器的操作。在一个存储器的工作模式被设定为可以被两个及以上的接口访问到的情况时,就可能需要访问的仲裁。存储器组37是由一系列的存储器模块构成,存储器的选择是根据不同的功能模块的使用情况,以及存储器资源优化的考虑来决定,同时也根据不同的系统应用的组合,采用不同的存储器的组合方案。如图4所示为本发明所述的动态内存池内部存储器访问的状态流程图,此流程图是描述一个功能模块访问内存池的流程图,其他的功能模块访问也是类似的。S41、S42,功能模块访问内存池时。先发起访问请求,并提供需要访问的目标地址, 仲裁器通过访问地址的译码来确定访问的目标存储器。S43,在确立访问目标存储器后要判断这块存储器的工作模式状态,查询当前的工作模式是否支持待访问的功能模块的读写操作。
当存储器当前的工作模式不支持功能模块的访问操作时,访问操作直接进入访问失败响应状态S47,向功能模块响应失败状态后,访问操作终止。当存储器当前的工作模式支持该功能模块访问操作时,访问操作进入优先级仲裁阶段S44,优先级仲裁首先判断在同一时间,是否有其他的功能模块或接口访问到这个存储
οS44,如果没有其他的功能模块或接口在同一时间访问这个存储器,则不需要执行仲裁操作,访问操作直接进入存储器访问操作状态S46,访问目标存储器,然后至访问完成结束。如果在同一时间,有其他的功能模块或总线接口也请求访问这个存储器,则访问操作进入优先级仲裁的阶段S45。S45,在优先级仲裁阶段,仲裁器将根据已设定好的访问优先级的信息,决定不同的功能模块及总线接口访问存储器的顺序,优先级较高的功能模块或总线接口先访问目标存储器,本次功能模块的访问操作将被暂停而进入优先级查询队列,直到这次的访问操作优先级上升到最高时,访问操作才继续进行到访问目标存储器阶段。S46、S48,在访问目标存储器阶段,功能模块进行数据的存取访问后,得到访问成功状态,完成存储器访问操作。以上介绍是基于本发明的一个具体实施例,其中的硬件动态内存池的方式,可以根据不同的系统,系统内功能模块的存储器需求,系统的存储器需求而采用不同的模块接口方式,存储器数量以及工作模式的设定,而不限定于具体的处理器系统和功能模块。采用同种方式应用于不同的处理器系统当中实现动态内存池管理的功能不超出本发明提供以及保护范围。
权利要求
1.一种硬件动态内存池管理方法,其特征在于所述的硬件动态内存池管理方法是将系统内使用并集成了内部存储器的功能模块中的内部存储器抽取出来,经过数量、容量的资源整合,集中放置在内存池中,配合不同的模块及系统总线的访问仲裁,不同的内部存储器的模式选择,内存池中的内部存储器可以分时或同时的被不同的功能模块使用,使用结束后,内部存储器将回到系统池中等待被分配使用。
2.如权利要求1所述的一种硬件动态内存池管理方法,其特征在于系统内各个模块的内部存储器被放置在内存池中,由系统处理器通过配置总线接口来控制其可以被操作的权限和工作模式。
3.如权利要求1所述的一种硬件动态内存池管理方法,其特征在于各个功能模块通过模块专有的数据接口来访问动态内存池中的特定的内部存储器单兀。
4.如权利要求1所述的一种硬件动态内存池管理方法,其特征在于硬件动态内存池本身具有主操作功能,通过系统处理器配置操作信息,动态内存池可以主动的将控制指定的内部存储器的数据与外部的系统存储器或其他模块设备的数据进行交换。
5.如权利要求1所述的一种硬件动态内存池管理方法,其特征在于硬件动态内存池具有系统总线的从接口,用以接收系统处理器的控制命令。
6.如权利要求3所述的一种硬件动态内存池管理方法,其特征在于功能模块对内部存储器的访问将被与其他功能模块的访问进行仲裁以及优先级判断控制。
7.—种硬件动态内存池管理系统,其特征在于包括以下模块 不同的功能模块的接口,与使用到硬件内存池的各个功能模块连接。内存池内部的主接口,是内存池通过配置,主动与内存池外的其他系统模块如系统外部存储器进行数据交互的接口。内存池内部的从接口,是内存池接收系统处理器的配置操作,以及系统处理器存取访问内存池中存储器的接口。内部接口控制仲裁器,对每个存储器的访问进行模式控制和访问优先级的仲裁。 与上述接口模块及仲裁器连接的内部存储器的组合,主要根据不同的功能模块的使用特点,以及存储器管理和地址分配的特点,选择特定的存储器组成。
全文摘要
本发明公开了一种硬件动态内存池管理方法和系统。硬件动态内存池系统是在一个处理器内部,将系统中各个功能模块内部的存储器单元抽取出来,共同构建成为一个动态的内存池模块,通过总线接口及数字接口与处理器内部的功能模块以及系统处理器连接,通过内存池内部的总线仲裁器以及访问模式选择功能,仲裁和分配不同的模块访问不同的存储器单元。在系统运作时,根据不同的功能需要及资源需求,动态的将内存池中的存储器单元分配给各个有存储器需求的功能模块包括系统处理器使用。相对传统的处理器内部模块存储器的分布方式,采用硬件动态内存池的方法可以有效的节省处理器内部的存储器资源,使存储器资源利用率更高,同时,由于存储器的集中使用,使不同功能模块间的数据交互的效率也变的更高。
文档编号G06F12/02GK102184139SQ20101020679
公开日2011年9月14日 申请日期2010年6月22日 优先权日2010年6月22日
发明者刘春晖, 李兴仁, 林锦麟, 金荣伟 申请人:上海盈方微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1