[发明专利]一种异构硬件组织运行统一内核方法及系统有效
申请号: | 201910391228.0 | 申请日: | 2019-05-11 |
公开(公告)号: | CN110083469B | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 肖银皓 | 申请(专利权)人: | 广东财经大学 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F13/16;G06F8/41 |
代理公司: | 广州专理知识产权代理事务所(普通合伙) 44493 | 代理人: | 王允辉 |
地址: | 510000*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 硬件 组织 运行 统一 内核 方法 系统 | ||
1.一种异构硬件组织运行统一内核方法,其特征在于,所述方法包括以下步骤:
步骤1,在编译内核代码时,针对不同架构类型中的每种架构编译其代码段;
步骤2,在链接器链接二进制时,依次将每种架构类型的架构的代码段和与该架构相关的数据段链接到存储器中的不同的存储区域中,即在不同的架构之间,每种架构的代码段和与该架构相关的数据段存储的存储区域作为一个整体的子存储区域,每个子存储区域互相独立于存储器中;
步骤3,链接二进制时,将与架构无关的数据段链接到存储器的同一存储区域;
步骤4,将每种架构的代码段、架构相关的数据段、架构无关的数据段打包成一个二进制。
2.根据权利要求1所述的一种异构硬件组织运行统一内核方法,其特征在于,在步骤1中,所述在编译内核代码时,针对不同架构类型中的每种架构编译其代码段的方法为:编译内核代码时,编译器将程序按内容划分成代码段和数据段,针对每一种架构类型的每种架构进行单独编译,所有的代码段都是已经预先针对架构类型分类,然后直接把架构对应的代码段传输给对应架构类型的架构的编译器进行编译。
3.根据权利要求1所述的一种异构硬件组织运行统一内核方法,其特征在于,所述架构类型包括但不限于:MCU架构、MPU架构、DSP架构、CPU架构、SoC架构、SOPC架构、PLD架构、FPGA架构。
4.根据权利要求1所述的一种异构硬件组织运行统一内核方法,其特征在于,在步骤2中,将每种架构类型的架构的代码段和与该架构类型的架构相关的数据段链接到存储器的不同的存储区域的方法为:在一种架构类型中的架构的启动时,加载整个内核到内存中,首先,将架构相关的数据段拷贝到内存中不相互重叠的位置;然后,将架构相关的代码段拷贝到内存中不互相重叠的位置;最后,将架构无关的数据段拷贝到内存中,并跳转到内核的入口点运行;通过已启动的架构启动所有的其他架构,并令其他架构分别跳转到相对应的架构相关的代码段的入口点运行;在链接器链接二进制时,依次将每种架构类型的架构的代码段和与该架构相关的数据段链接到存储器中的不同的存储区域中,即在不同的架构之间,每种架构的代码段和与该架构相关的数据段存储的存储区域作为一个整体的子存储区域,每个子存储区域互相独立于存储器中。
5.根据权利要求1所述的一种异构硬件组织运行统一内核方法,其特征在于,在步骤3中,链接二进制时,将与架构无关的数据段链接到存储器的同一存储区域的方法为:链接二进制时,将所有的与架构无关的数据段存储在同一块存储器中的存储区域作为共享数据段的存储区域,使不同的架构上的各个变量实际上处于同一个内存地址,因此数据段在各个代码段之间被共享。
6.一种异构硬件组织运行统一内核系统,其特征在于,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
代码段编译单元,用于在编译内核代码时,针对不同架构类型中的每种架构编译其代码段;
架构独立存储单元,在链接器链接二进制时,依次将每种架构类型的架构的代码段和与该架构相关的数据段链接到存储器中的不同的存储区域中,即在不同的架构之间,每种架构的代码段和与该架构相关的数据段存储的存储区域作为一个整体的子存储区域,每个子存储区域互相独立于存储器中;
架构共享存储单元,用于在链接二进制时,将与架构无关的数据段链接到存储器的同一存储区域;
二进制打包单元,用于将每种架构的代码段、架构相关的数据段、架构无关的数据段打包成一个二进制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东财经大学,未经广东财经大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910391228.0/1.html,转载请声明来源钻瓜专利网。