[发明专利]一种基于Atom处理器的指令并行分发方法有效
申请号: | 201010525030.6 | 申请日: | 2010-10-29 |
公开(公告)号: | CN101986265A | 公开(公告)日: | 2011-03-16 |
发明(设计)人: | 陈天洲;居立晗;黄文;胡同森 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州宇信知识产权代理事务所(普通合伙) 33231 | 代理人: | 张宇娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 atom 处理器 指令 并行 分发 方法 | ||
技术领域
本发明涉及嵌入式系统高性能并行计算设计领域,尤其涉及一种基于Atom处理器的指令并行分发方法。
背景技术
随着半导体技术的发展,单块硅片上所能容纳的晶体管数量迅猛增长,CPU技术已经进入了多核时代。目前市场上的主流工艺已经能使晶体管内的沟道长度达到了45nm,而即将投产的新一代工艺则能使晶体管内的沟道长度达到32nm。根据摩尔定律,可以预见半导体工艺仍将有继续发展的巨大空间。先进的工艺固然为CPU技术的发展提供了优异的条件,但也带来了对传统理论和技术的一些思考。
在多核时代下,提高程序执行的并行度已经成为了一个重要的问题。在传统的冯诺依曼结构之下,计算机顺序执行指令,完成既定工作。这一步骤虽然经过多次重大革新,但其本质依然没有改变。在多核CPU这种要求充分利用程序并行度才能发挥性能优势的体系结构中,顺序执行指令的方式逐渐显露出了它的弊病。这就要求研究者尽可能地挖掘现有程序的可并行的潜力,把系统的效率进一步提高。
目前的程序无法很好地耦合多核体系结构是一个重要的问题。硬件发展受制于内存的局限性也没有很好地解决。多核需要程序有很高的并行化程度才能发挥它的性能优势。因为对单个核来讲,它自身的性能并没有非常大的提高。大多数研究工作都着眼于如何更好的分发程序以获取较好的并行程度,如何改进多核体系架构以提高通讯带宽,降低缓存的缺失率(又称cache miss rate)等等。
事实上,多核的发展还并不成熟。尤其是当核的数量大大增加后,核间通讯的代价会导致大量的资源浪费。除了尽量降低通讯代价之外,一个好的分发指令的策略会使得核间通讯总量大大降低。如何分发是一个已经被研究了很长一段时间的问题。它必须考虑体系结构,数据依赖,控制依赖等条件。分发可以挖掘程序的并行度,使得多核体系结构的高度并行化的优势得以发挥,又可以降低频繁的核间数据通信,提高性能。对核间路由结构进行考量的分发还可以加快通信速度。
发明内容
本发明是针对多核体系结构,从多核体系结构和现有程序耦合度不足这一现实出发,以提高程序并行度、挖掘程序并行潜力、降低核间通讯量为目的,提出一种基于Atom处理器的指令并行分发方法,该方法是一套能够改进程序运行效率、减少核间通讯量和挖掘程序可并行潜力的架构。
为实现本发明的上述目的,本发明采用的技术方案如下:
一种基于Atom处理器的指令并行分发方法,其特征在于包括如下步骤:
1)从第一条指令开始,逐条扫描指令,将有控制依赖的指令予以标记;
2)从第一条指令开始,逐条分析数据依赖,其步骤如下:
2.1当当前指令之前没有被标记过的指令,且当前指令与当前指令之前的指令存在数据依赖关系,则对当前指令予以标记,然后进入下一条指令,按步骤2.2继续分析数据依赖;
2.2当当前指令与当前指令的前一条已经标记的指令以及该前一条已经标记的指令与当前指令之间的指令存在数据依赖关系时,则对当前指令予以标记,然后进入下一条指令,仍按照该步骤b)继续分析,直至将所有有数据依赖的指令均予以标记;
所述控制依赖的指令和数据依赖的指令的标记是相同的,均是将存在依赖的指令的标志位赋值为“1”;
3)从第一条指令开始逐条扫描,按如下步骤进行分发处理:
3.1将第一条有标记的指令之前的所有指令并行分发到不同的核上运行,然后进入下一条未分发的指令,按步骤3.2继续进行分发处理;
3.2从当前未被分发的第一条指令起开始扫描,遇到下一条有标记的指令时,将下一条有标记的指令之前所有未被分发的指令并行分发到不同的核上运行,然后进入下一条未分发的指令,仍按照该步骤3.2继续执行分发处理;
3.3当当前未被分发的第一条指令为最后一条有标记的指令,则将所有未被分发的指令并行分发到不同的核上运行,分发结束。
本发明的方法是针对API架构的特点而设计,能够去除访问冲突,提高执行效率。与背景技术相比,本发明具有如下优点:
1)简便性。本系统的算法实现简单,使用的是一种在线算法,只需要很小的存储空间就能工作。
2)无数据冲突。本系统所使用的分发算法,在标记相关依赖指令后就能迅速分发到各个核上运行。由于本系统扫描分发后的每一个指令集合之内都不再有任何依赖,因此此时分发到各个核心上运行的指令不存在数据冲突关系,使得核间通讯总量大大下降,提高了系统整体性能。
3)高并行度。本系统的并行粒度为指令级,且对整个程序段都进行了扫描标记,因此程序的每一个部分都在本系统下实现了并行优化,大大提高了原有程序的并行度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010525030.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:乙醇催化脱水制乙烯的方法
- 下一篇:一种复合抗裂防渗剂及其生产工艺