[发明专利]针对多核/众核处理器程序分割的后编译系统无效
申请号: | 200810203777.2 | 申请日: | 2008-11-28 |
公开(公告)号: | CN101751280A | 公开(公告)日: | 2010-06-23 |
发明(设计)人: | 林正浩;任浩琪;耿红喜 | 申请(专利权)人: | 上海芯豪微电子有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200092 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 多核 处理器 程序 分割 编译 系统 | ||
技术领域
本发明设计一种根据多核处理器应用需求合理分割程序的后编译系统。尤其涉及一种针对多核处理器各个处理器核之间运行的程序段分配及指令分割、串、并行执行的后编译器系统。
背景技术
随着信息化的普及、生活水平的提高,消费者需要把更多的功能集成到同一款电子产品中,使得在许多应用中同时具有多种不同的数字信号处理能力,如同时支持mepg2、rmvb、h.264等不同标准的视频解码,这就需要处理器有很强的流媒体处理能力。
传统多核处理器在一块芯片上集成多个并行执行程序的处理器核以提高芯片性能。对于传统多核处理器,需要有并行编程的思想才有可能充分利用资源,然而,操作系统对资源的分配和管理并没有本质的改变,多是以对称的方式进行平均分配。尽管多个处理器核之间可以进行并行运算,但对于数字信号处理程序而言,其串行执行的结构特点导致在传统多核处理器结构中无法实现真正的流水线操作。此外,若对数字信号处理程序以并行运行的原则进行程序段分割,必然大大增加运行在各个处理器核中的程序段之间交换数据的时间。
目前新出现的多核处理器将多个处理器核串连形成串行执行程序的结构,第一个处理器核的输入数据取自外部存储器,最后一个处理器核的结果送回外部存储器,其余每个处理器核的输入数据取自前一级处理器核,输出数据送往后一级处理器核。每个处理器核能执行包含多条指令的程序段。这种新型多核处理器可以构成处理器核级别的流水线,提高数字信号处理的吞吐率。然而,现有的编译系统或只针对单一处理器核情况编译程序,或针对传统多核处理器编译并行执行的程序,并不能满足新型多核处理器串行分割程序的需求。
发明内容
本发明针对现有应用程序的单进程顺序执行特点以及现有编译器无法进行多核处理器之间的任务的串行分割与分配,提出了针对多核处理器程序分割的后编译系统,用以解决多核处理器中任务分配以及其带来的多核效率低下的问题。
本法明采用以下技术方案实现:
本发明所述针对多核处理器程序分割的后编译系统。包括指令流解析器、处理器行为模型、代码分割器以及目标代码合成器,其中:指令流解析器,用于对可执行的程序代码进行解析,生成行为模型可以扫描的前端码流。处理器行为模型,用于对指令流解析器生成的前端码流进行扫描,并分析其所需执行周期、是否跳转以及跳转地址等信息,同时统计扫描结果。指令分割器,根据处理器行为模型扫描结果以及处理器信息对可执行的程序指令代码进行分割。数据分割器,根据指令代码分割结果对指令所需要的数据进行分割。目标代码合成器,用于将分割后的指令代码和数据进行合成,生成最终的可执行目标程序代码。
本发明所述的指令流解析器对已经编译过的可执行程序代码进行解析,生成处理器行为模型可识别的前端码流。
本发明所述的行为模型为目标机(异构多核处理器)体系结构的行为模型。通过扫描前端码流可计算出指令的执行周期、跳转以及跳转地址等信息。并可统计出整个前端码流的扫描结果。
本发明所述的指令分割器可根据处理器行为模型扫描结果以及处理器信息进行指令代码的分割。
本发明所述的针对多核处理器程序分割的后编译系统,其特征在于其所述的数据分割器可根据指令代码分割结果对指令所需要的数据进行分割。得到与分割后的指令代码块相匹配的数据块。
本发明所述的针对多核处理器程序分割的后编译系统,其特征在于其所述的目标代码合成器将指令分割器和数据分割器分割出的指令代码块和相应的数据块合成最终针对异构多核处理器的可执行目标代码。
本发明所述的针对多核处理器程序分割的后编译系统,其特征在于该后编译系统可作为程序开发工具在对程序源代码进行编译后进行后编译以生成适应于异构多核处理器运行的可执行目标代码。
本发明所述的针对多核处理器程序分割的后编译系统,其特征在于该后编译系统可作为多核处理器操作系统上一个进程,在进行程序运行开始时进行后编译操作,并将后编译成生的可执行目标代码提交处理器执行。
本发明所述的针对多核处理器程序分割的后编译系统,其特征在于该后编译系统作为开发工具使用时,目标机处理器的配置信息可由程序开发者根据目标处理器的配置信息进行人工配设定。
本发明所述的针对多核处理器程序分割的后编译系统,其特征在于该后编译系统作为开发工具使用时,目标机处理器的配置信息可由操作系统根据根据目标处理器的处理器核使用情况进行动态设定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海芯豪微电子有限公司,未经上海芯豪微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810203777.2/2.html,转载请声明来源钻瓜专利网。