[发明专利]利用寄存器更名实现自并行化有效
申请号: | 97118000.8 | 申请日: | 1997-08-29 |
公开(公告)号: | CN1178942A | 公开(公告)日: | 1998-04-15 |
发明(设计)人: | 鲁道夫·内森·雷克斯查菲恩;卡塔玛瑞·埃卡那德哈姆 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 于静 |
地址: | 美国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 寄存器 更名 实现 并行 | ||
本发明一般涉及存储有程序的数字计算机,尤其涉及这样一种计算机系统和方法:即指令序列的执行按如下两种方式进行,第一种方式是在执行指令的同时将尚未并行化的指令序列进行并行化处理;第二种方式是在各自独立的处理单元并行地执行已经并行化了的指令序列。本发明还涉及指令序列的并行化格式。
一种较快地执行数字计算机程序的方法是在各自独立的处理器上并行地执行该程序的若干部分。要做到这一点,一种途径是定义一种编程环境和计算机系统以使写出的程序以并行模式执行。遗憾的是,大量的应用程序却是按照指令顺序执行的方式写成的。当然,人们也希望以较快的速度执行这些顺序程序,于是在现有技术中,人们做了一些努力将这种程序并行化以并行执行。
该领域中大部分现有技术是建立一个程序的并行规格。已实现的就有好几种方法。已创建的复杂的编译器可以完成下面功能:即将程序并行化并产生具有多个常规处理器的多处理器系统及生成代码。其中一些编译器已经自动地揭示了并行性。(如“Advanced CompilerOptimizations for Supercomputers”by D.A.Padua and M.J.Wolfe inComm.of ACM,Vol.29,page 12 et seq.,Dec.1986)。别的一些也能从编程人员的注释中得到一些线索(如“Programming for Parallelism”byAlan H.karp in Computer,VOL.20,Page 5 et seq.,May 1987)。另一种途径是建立可以完成并行操作的专用硬件,如向量处理器,VLIW体系结构等。还有一种编译器是将顺序程序翻译成适合于在这类机器上运行的代码。这些例子中编译效果是很显著的。实质上,另一种更为完全的方法是建立一种执行并行处理的机器,如数据流机器(见“DataflowSupercomputers”by J.B.Dennis in Computer,Vol.13,page 11 etseq.,Nov.1980),及用于为上述机器自动生成并行代码的编程规格(见“Future Scientific Programming on Parallel Machines”by Arvindand K.Ekanadham in the jour of parallel & Distributed Computing,Vol.5,Dec.1988)。
上述所有解决方法中,对计算机程序执行并行处理及判断并行地执行不同部分的操作是否安全这些工作或者是在编译阶段完成,或者更早地在编程阶段完成(即带有数据的代码实际批量执行之前)。处理器在判定执行期间并行地执行各部分操作是否安全方面没有起什么作用,这是由于这种判定已经被编程人员或编译器代作。
另一种方法是在执行期间向多处理器系统提供未并行化的代码并让该多处理器系统担当起实际任务,即将代码分离使之适合于并行处理及判定代码的并行处理是否有效。这种方法与其它方法有所区别,即它要临时地执行至少一些指令。一般来讲,执行之前不知道该并行处理是否完全有效。这种方法通过以下对比文件可以得到说明。
在已经公开并转让给本申请的受让人的编号为5,297,281名称为“Multiple Sequence Processor System”的美国专利中,根据一些划界规则,指令被分成若干组,并且至少有两组被并行执行。指令的一个组在顺序上比所有其它组执行的早,并且假设最早的组正确执行,而较后的组只是临时地并行执行。较后的组从寄存器和存储器中读取数据,就好象指令的较早组已经被执行。控制器监控是否有任何被指令的较后的组使用的数据(在其被较后的组使用后)被较前组的指令改变过。较后的组对存储器区域和寄存器的存储仅在某分离的区域暂时执行。若较后组使用的所有数据都是有效的(即,没有被较前的组修改),则较后的组的结果是有效的可以被提交,否则重新执行后面的组。
在美国专利4,825,360中,使用了相似的技术方案,即暂时地并行执行指令组然后顺序确认。但是,该方案通过一个编译步骤和一个对除了作为一个组中的结束指令的那些起负作用的指令的减少步骤(最好是淘汰(elimination)),增加了成功的机会。结果,不清楚该系统是否可以用于对常规的顺序代码执行并行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/97118000.8/2.html,转载请声明来源钻瓜专利网。