[发明专利]多核体系结构下ELF文件格式改造的方法无效
申请号: | 200810062344.X | 申请日: | 2008-05-09 |
公开(公告)号: | CN101281470A | 公开(公告)日: | 2008-10-08 |
发明(设计)人: | 陈天洲;张楠;胡威;蒋冠军;章铁飞;陈剑;项凌翔;王罡;陈度;冯德贵 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/45 |
代理公司: | 杭州中成专利事务所有限公司 | 代理人: | 唐银益 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种多核体系结构下的ELF文件格式改造的方法。包括以下步骤:(1)用户添加并行处理标志;(2)把独立的代码装载进ELF文件中不同的代码段中;(3)修改ELF文件头中的标志位,来标识新的ELF格式;(4)增加新加的段在新线程中的起始地址;(5)修改ELF格式的装载器;(6)多线程程序在不同核上的执行;(7)不同线程结果的统一由编译器在主线程中进行设置。本发明所述的多核体系结构下的ELF文件格式改造的方法,消除了已有的多核平台下程序设计的编译器中需要多种底层线程库支持的要求;由于处理的简单性,本框架具有很好的通用性,可以使用在多种不同的目标文件格式中。 | ||
搜索关键词: | 多核 体系结构 elf 文件格式 改造 方法 | ||
【主权项】:
1、一种多核体系结构下ELF文件格式改造的方法,其特征在于,包括以下步骤:(1)用户添加并行处理标志:用户在所编写的程序中加上通知编译器可并行处理的标签,编译器将原本需要顺序执行的程序段分别独立出来,形成多个可并行执行而且对结果的正确性没有影响的独立的程序代码段;(2)把独立的代码装载进ELF文件中不同的代码段中:在ELF文件中设定多个代码段,将经过编译独立出来的程序代码分别写入ELF文件不同的代码段中,这种新的ELF文件格式下的多个代码段分别用.textn的方式来标识,n为序号,从1开始;(3)修改ELF文件头中的标志位,来标识新的ELF格式:将ELF文件中的头16个字节的最后一个字节由0x00修改为0x01,用来代表采用新的ELF文件格式;(4)增加新加的段在新线程中的起始地址:修改ELF文件头中的头16个字节中第12,13,14,15个字节为新加的段在新线程中的起始地址;(5)修改ELF格式的装载器:对ELF格式的装载器的load_elf_binary函数进行修改,首先对ELF的格式进行判断看是否是新定义的格式;如果是,则利用系统调用启动一个新的进程,根据返回值的不同,父进程继续执行原先的装载过程,而子进程将新的代码段装载进入自己的进程空间,并通过start_thread将堆栈中的记录的程序计数器修改为新的入口地址,即可以使用默认地址或者ELF文件头中所记录的地址;(6)多线程程序在不同核上的执行:将子进程通过系统调用sched_setaffinity来设置该进程与不同CPU之间的亲缘程度,以调度该进程到特定的核上运行,充分利用多个核的处理能力;(7)不同线程结果的统一由编译器在主线程中进行设置。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200810062344.X/,转载请声明来源钻瓜专利网。
- 上一篇:电机
- 下一篇:广播录像机中录像画质的调节方法