[发明专利]众核异构架构下的多类型目标代码的透明加载方法有效
申请号: | 201910904063.2 | 申请日: | 2019-09-24 |
公开(公告)号: | CN112631662B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 黄高阳;王星焱;林海南;郑岩;刘松;邹通 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 众核异 构架 类型 目标 代码 透明 加载 方法 | ||
1.一种众核异构架构下的多类型目标代码的透明加载方法,其特征在于:包括以下步骤,
S1、用户执行execve类系统调用进入操作系统内核;
S2、操作系统内核打开目标代码文件,并读入目标代码文件头部信息,所述目标代码文件为ELF文件格式,对应的处理函数为load_elf_binary函数;
S3、操作系统内核检查ELF文件格式的目标代码文件头部信息的正确性,如果目标代码文件头部信息正确,执行下一步;否则,系统调用退出内核;
S4、操作系统内核检查ELF文件格式的目标代码文件头部中的Machine字段信息,如果Machine字段信息中有SW-MASTER信息,则执行S5,如果Machine字段信息中有SW-MIX信息或者SW-SLAVE信息,则执行S6;
S5、传统的linux流程,具体步骤如下:
S51、操作系统为用户进程分配页式的用户栈空间;
S52、操作系统内核填写纯主核目标代码的参数、环境变量必要信息;
S53、操作系统内核加载纯主核目标代码的程序头表;
S54、如果用户程序需要动态链接,则作系统内核寻找处理解释器段,并检查读取解释器段的程序头表,完成解释器的初始化;
S55、解释器装入目标代码的可加载段,如ELF目标代码文件中类型为“PT_LOAD”的段;
S56、操作系统内核填入目标代码的入口地址;
S57、S1中的用户进程进入新的目标代码的入口执行;
S6、操作系统内核解析目标代码的环境变量:此环境变量中包含有 “主从”混合目标代码或纯从核目标代码对“异构”运算核的配置信息;
S7、根据S6中获得的配置信息,进行如下操作;
S71、操作系统内核通过段式内存管理模块分配用户栈,根据S6中的配置信息,设置栈空间大小;
S72、操作系统内核通过“运算核”管理模块分配运算核资源申请“异构”的运算核资源;
S73、操作系统内核根据配置信息中空间大小,分配对应类型的物理空间,通过“段式”内存管理分配物理空间;
S8、操作系统内核填写主从混合目标代码或纯从核目标代码的参数、环境变量必要信息到用户栈;
S9、操作系统内核加载目标代码的程序头表,其中包含有关“异构”主从混合目标代码或纯从核目标代码自定义的程序头表;
S10、根据S9中解析的程序头表信息,将对应的程序头表、数据段拷贝到S7中申请的物理空间中;
S11、初始化程序与c库、线程库的接口信息,所谓初始化,即根据S7、S8、S9的信息填对数据结构中的元素进行赋值;
S12、根据S7中的配置信息,配置运算核中相关的配置寄存器;
S13、启动运算核心:写运算核心中的启动/停止寄存器;
S14、操作系统内核检查程序类型:对于“主从”混合程序转S16,纯从核程序转S15;
S15、操作系统内核加载操作系统中驻留的服务程序,并修改目标代码的执行入口为服务程序的入口;
S16、进入新的程序入口执行。
2.根据权利要求1所述的众核异构架构下的多类型目标代码的透明加载方法,其特征在于:ELF格式的目标代码文件头部中的Machine字段与编译器存在以下约定:SW-MASTER表示纯主核目标代码,SW-MIX表示“主从”混合目标代码, SW-SLAVE表示纯从核目标代码。
3.根据权利要求1所述的众核异构架构下的多类型目标代码的透明加载方法,其特征在于:所述“异构”运算核的配置信息包括目标可执行程序物理空间大小、使用的运算核心个数、运算核的浮点配置信息、局部存储大小配置信息和栈大小配置信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910904063.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于调试日志的并行程序错误定位方法
- 下一篇:零件的清洗方法