资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
EPIC的特性及其发展应用http:/www.docin.com/sundae_menghttp:/www.docin.com/sundae_meng论文概述EPICEPIC是由是由HPHP及及IntelIntel共同开发而成的一种新型的计共同开发而成的一种新型的计算机指令架构。算机指令架构。EPICEPIC(Explicitly Parallel Explicitly Parallel Instruction Computing Instruction Computing )中文称为显示并行指令计)中文称为显示并行指令计算。本文介绍其主要特性:显示并行,断定执行算。本文介绍其主要特性:显示并行,断定执行(Predicated executionPredicated execution),捆绑分支(),捆绑分支(Unbundled Unbundled branchbranch),控制推测(),控制推测(control speculationcontrol speculation), ,数据数据预测(预测(data speculationdata speculation)。另外还介绍了其与其他)。另外还介绍了其与其他ILPILP架构的区别以及一些基本实际应用。架构的区别以及一些基本实际应用。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengngILP发展1919世纪世纪6060年代年代 ILPILP初步应用于一些超级计算机初步应用于一些超级计算机7070年代年代 发展陷入困境发展陷入困境8080,9090年代年代 Alan Carlesworth, Josh Fisher, Bob Alan Carlesworth, Josh Fisher, Bob Rau Rau 开始带领研究开始带领研究VLIW(very long instruction VLIW(very long instruction word)word)与此同时,一些公司也在不断地研究与之相类似的与此同时,一些公司也在不断地研究与之相类似的技术,技术,“ “superscalar” superscalar” 。19891989年,年,IntelIntel推出首台推出首台superscalarsuperscalar微处理器。微处理器。19931993年年IntelIntel推出推出 superscalar Pentium. superscalar Pentium. 到了到了9090年代中期,我们使用年代中期,我们使用的的AMDAMD或或IntelIntel处理器均使用了这项技术。处理器均使用了这项技术。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng1989年,HP开始了FAST(Finegrained Architecture and Software Technologies)研究计划。1994年6月,HP与Intel建立合作关系。HP使用了EPIC来形容他们预想的设计思想与结构类型,这种特定的指令集架构被命名为“IA-64”。而Intel将其命名为IPF(Itanium Processor Family)http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengngEPIC的特性显示并行显示并行断定执行(断定执行(Predicated execution)捆绑分支(捆绑分支(Unbundled branch)控制推测(控制推测(Control speculation)数据预测(数据预测(data speculation) http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng显示并行显示并行 所有指令都将被包含在所有指令都将被包含在128128位的位的bundlebundle中中 0-40-4位为一个位为一个5 5位的位的template, template, 定义了指令的类型和任何定义了指令的类型和任何Instruction GroupsInstruction Groups之间的暂停之间的暂停 Instruction GroupsInstruction Groups是一组无是一组无“ “写后读写后读” ”或者或者“ “写后写写后写” ”相关,相关,并且可以并行的指令的集合并且可以并行的指令的集合 http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng显示并行(续)显示并行(续)http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng断定执行(断定执行(Predicated execution)断定执行就是指基于布尔操作数的操作的条件执行断定执行就是指基于布尔操作数的操作的条件执行 每条指令断定为每条指令断定为truetrue值或值或falsefalse值值将为将为truetrue和和falsefalse的的指令并行执行。当判断结果出来并行执行。当判断结果出来时,再将时,再将断定错误的指令删除。删除。IPF提供了64个断定寄存器。每个断定寄存器可保存一位(true 或false)。其值由比较指令决定。分支指令使用一对存有相反结果的断定寄存器。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng断定执行(续)断定执行(续)http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng捆绑分支(捆绑分支(Unbundled branch) EPIC的捆绑分支有三个操作: (1)一个比较,决定是否跳转 (2)计算并提供目的地址 (3)执行。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng捆绑分支(续)捆绑分支(续)将分支分解为三步后,多个比较指令可以并行进行,更早的获取分支条件和计算出多个的目标地址 将耗时复杂的工作提前完成, 执行不需要太多时间,使得延迟降低。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng控制推测(控制推测(Control speculation) 此时,ld后将出现数据相关,造成指令执行有暂停,并行度降低 。 Ld r1, r2 Sub r3, r1,3更早启动load(或者其他可能运行时间很长的指令)指令,把他们向上移动至分支指令选出一条可能的路径(包含跳转 ) http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng控制推测(续控制推测(续1)http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng控制推测(续控制推测(续2)防止假的异常一个EPIC体系结构提供一张load(其他长时间运行的指令)和标签操作数的推测表格。异常发生时,不处理,只使用标签记录结果。当有其他非预测指令使用其结果时,再处理异常。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng控制推测(续控制推测(续3)http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng数据预测(数据预测(data speculation) 为了能够重新安排为了能够重新安排loadload和和storestore指令,编译器必须知指令,编译器必须知道指令所指的内存地址。由于存在别名,编译器在道指令所指的内存地址。由于存在别名,编译器在编译的时候不能总是做到这一点。编译的时候不能总是做到这一点。 数据预测的数据预测的loadload被分为两部分操作:数据预测被分为两部分操作:数据预测loadload(LDSLDS),数据检查(),数据检查(verifyverify)loadload(LDVLDV)。)。两个操作指向相同的内存地址和目标寄存器。当第两个操作指向相同的内存地址和目标寄存器。当第二个操作确定了正确的最终结果时,第一个操作才二个操作确定了正确的最终结果时,第一个操作才启动启动loadload。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng数据预测(续数据预测(续1)LDSLDS的执行过程如下。它执行一个普通得的执行过程如下。它执行一个普通得loadload,loadload向目标寄存器返回结果。它也通知硬件开始监向目标寄存器返回结果。它也通知硬件开始监测那些将测那些将LDSLDS操作的内存地址别名的操作的内存地址别名的storestore。LDVLDV操作如下。如果没有别名存储,什么都不需要操作如下。如果没有别名存储,什么都不需要做,做,LDVLDV操作无效。相反如果有别名存储发生,操作无效。相反如果有别名存储发生,LDVLDV操作重新执行操作重新执行loadload以确保目标寄存器内的数据以确保目标寄存器内的数据正确。同时,处理机暂停,允许正确。同时,处理机暂停,允许LDVLDV操作有一个周操作有一个周期的存在时间。期的存在时间。LDVLDV操作中止硬件监视别名存储。操作中止硬件监视别名存储。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng数据预测(续数据预测(续2)带延迟数据预测Schedule height = 9 Schedule height = 5 http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengngEPIC与其他与其他ILP区别区别 ILPILP执行的三大主要任务:执行的三大主要任务:执行的三大主要任务:执行的三大主要任务:(1 1)检查指令间的相关,决定并行时那些指令,)检查指令间的相关,决定并行时那些指令,可组在一起。可组在一起。(2 2)分配指令到硬件上的功能单元)分配指令到硬件上的功能单元(3 3)决定指令什么时候初始化)决定指令什么时候初始化ILPILP架构共有四种:架构共有四种:SuperscalarSuperscalarEPICEPICDynamic VLIWDynamic VLIWVLIWVLIWhttp:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengngEPIC与其他与其他ILP区别(续)区别(续)编译器支持指令格式 指令的预取、译码、调用、分支处理 执行单元,寄存器 内存读取延迟 软件、硬件代价 http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengngEPIC的应用的应用 IA-64 惠普X86-64 AMDhttp:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng论文经验总结阅读英文技术性文章技术术语网站搜索中文英文文章选取选取适合的,技术性强为优先。http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengngQ&A Thank you !http:/www.docin.com/sundae_mehttp:/www.docin.com/sundae_mengng
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号