本发明涉及一种核加载方法,具体涉及一种基于arm平台amp架构下从核重复加载方法。
背景技术:
1、随着弹上计算机功能的发展,多核并行计算技术在嵌入式多核处理器平台中已经成为提升计算能力,减小系统的体积和降低功耗的关键技术。特别是在非对称多处理(asymmetric multi processing,amp)架构中,通过配置主从核,允许每个核运行专有操作系统,并通过共享内存和中断机制实现核间的通信。这种主从核的关系,如图一所示。主从核根据不同的系统性能需求进行任务分配,并且通过有序且独立的启动顺序为嵌入式系统提供强劲的处理能力和优化的能量效率。然而,在arm平台下,amp架构的潜力受到现有从核动态加载和管理技术的限制。
2、现有技术方案通常依赖linux内核中的remoteproc模块实现从核的动态加载和管理。remoteproc模块允许开发者管理和控制连接到主处理器的远程处理器(如amp架构下的从核),并提供标准化接口,使得系统在运行时动态地加载、启动、停止和监控远程处理器的固件和状态。尽管这种内核级别的操作在一定程度上提供了灵活性、标准化和隔离性,但其局限性也显而易见。首先,开发者对于从核的精细控制能力受到限制,因为remoteproc模块提供的通用接口可能无法充分利用嵌入式arm平台特有的硬件特性。其次,remoteproc模块本身的稳定性可能会影响从核的运行效率,甚至可能导致系统级的故障。最后,动态加载和运行remoteproc模块可能会消耗额外的系统资源。这些问题限制了arm平台下amp架构在嵌入式应用领域中的普及和效率提升。
3、因此,现有技术还有待于改进和发展,以更好地满足嵌入式多核处理器平台的需求。
技术实现思路
1、针对现有从核动态加载和管理技术的限制,本发明提出了一种基于arm平台amp架构下从核动态加载方法,在不必深入内核级别的情况下实现在用户空间下实现从核动态重复加载。
2、一种基于arm平台amp架构下从核重复加载方法,采用zynq-7000系列可扩展的处理平台epp(extensible processing platform)为硬件平台。在该平台上,主核(cpu0)被配置为运行嵌入式linux操作系统,以提供全面的系统管理和用户交互界面。从核(cpu1) 被设定为裸机(bare-metal)环境,专注于执行高速计算任务。
3、进一步地,cpu1的计算数据和结果通过共享内存与cpu0进行有效交流。cpu0的主要作用是提供用户交互界面,并负责对cpu1的运行进行精确控制和管理。
4、进一步地,在主核中,通过写入系统级控制寄存器的复位控制寄存器(cpu_rcc)来实现对从核的精确控制。
5、进一步地,将从核所需运行的新程序预加载到ddr内存(动态随机存取内存)的指定区域,确保程序的可快速访问和高吞吐量。
6、进一步地,通过控制函数,在确保数据一致性和系统稳定性的前提下,重新唤醒从核,使其从指定位置开始执行新加载的程序。
7、本发明提出的通过系统级控制操作实现从核程序的动态管理和重新加载的机制,硬件上无需增加额外硬件模块,软件上不增加额外插件,无需修改操作系统底层实现,实现用户空间下从核程序的动态加载和切换,实现基于arm平台amp系统架构下从核重复加载。
1.一种基于arm平台amp架构下从核重复加载方法,其特征在于,该方法采用zynq-7000系列可扩展的处理平台epp为硬件平台,通过用户空间下的操作实现对从核(cpu1)的动态重复加载,无需深入内核级别或修改操作系统底层实现;所述的包括:
2.根据权利要求1所述的方法,其中主核被配置为运行嵌入式linux操作系统,用于提供全面的系统管理和用户交互界面,而从核被设定为裸机环境,专注于执行高速计算任务。
3.根据权利要求1或2所述的方法,其中主核通过写入系统级控制寄存器的复位控制寄存器实现对从核的启动、停止和复位操作。
4.根据任一前述权利要求所述的方法,其中从核所需运行的新程序预加载到ddr内存的指定区域,以确保程序的可快速访问和高吞吐量。
5.根据任一前述权利要求所述的方法,其中通过控制函数,在确保数据一致性和系统稳定性的前提下,重新唤醒从核,使其从指定位置开始执行新加载的程序。
6.根据任一前述关于系统的权利要求所述的系统,其中主核和从核之间通过共享内存进行数据交流。
