论文部分内容阅读
随着半导体工艺的进步,以及单处理器所碰到的物理极限和功耗等无法逾越的障碍,以多核处理器为代表的先进体系结构已经逐渐成为提高处理器性能的主要途径。多核处理器在一个芯片中集成多个处理器核,这些核具有相同或不同的功能和结构,以一种有效的方式集成在同一个芯片中。目前异构多核嵌入式系统在系统实时性、资源利用率等方面存在着很多的问题,造成这些问题的主要原因有: (1)在内存分配方面,由于内存分配模式多为申请-分配的传统模式,使得一些任务可能会长时间处于等待分配状态,使得实时性要求较高的嵌入式系统的性能受到限制; (2)在内存碎片率方面,一方面由于分配给进程的内存块较大,导致该内存块存在部分空间没有被充分利用即内部碎片的问题;另一方面由于任务申请的多样性以及分配策略中的分配操作和释放操作的不均衡,导致分散的、不可被利用的内存块增多即外部碎片的问题。为了进一步提高异构多核架构下系统的实时性以及对系统资源利用率的控制,本文从如下方面进行改进和创新: (1)针对内存分配的效率问题,设计了基于历史申请信息的预测分配内存管理机制,该机制为了充分利用每个进程对内存空间申请的“历史记录”,将所有进程对内存的使用信息全都记录在一张局部信息表中,利用蒙特卡洛预测理论,在进程申请内存空间时根据该表中的信息形成转移概率矩阵,预测下一次内存分配的概率,并计算下一次内存分配大小,新增一个轻量级预测线程,在系统空闲时进行分配并链接到预测链表的相应位置;为了减少内存分配时的任务等待时间,在内存预测和申请过程中对预测链表的数据结构做适当处理,设计了基于位图的高速匹配策略,该匹配过程由系统中的辅助核协助完成。 (2)针对内存碎片率的问题,设计了内存联合分配算法。该算法利用进程历史信息作为原始数据,预测下一次将要分配的内存块的大小,将其与当前申请的内存块按照联合的方法进行合并,随后一起分配给提出申请需求的进程,以减少内存块的划分次数,从而降低内存碎片率、提高系统内存空间利用率。 最后,设计了基于任务槽任务调度模型模拟多任务进行内存申请,并将μC/OS-II的内存管理模块移植到Simics4.1.1仿真平台中并进行相关修改,搭建异构多核模拟实验环境,将本文设计的测试程序分别置于系统默认内存管理算法和本文设计的内存预测联合分配算法的实验环境中运行,实验结果表明本文设计的内存管理算法更加高效,具有较好的实时性和稳定性,在一定程度上提升了系统的性能。