【技术实现步骤摘要】
编译加速方法、路由单元和缓存
本专利技术涉及计算机体系结构
,尤其涉及一种编译加速方法、路由单元和缓存。
技术介绍
在并行编译器中,串行程序被划分成为多个推测线程进行执行,每个推测线程执行程序的不同部分。推测多线程执行时需保证串行程序的顺序控制流,为多个并发执行的推测线程设定一个严格的逻辑顺序。线程代码是从串行程序顺序执行的代码中抽取出来,以推测的方式提前执行。程序的串行逻辑顺序即是多个并发线程提交其执行结果的顺序。通常用前驱(Predecessor)和后继(Successor)来定性描述两个线程之间的提交顺序关系以保持串行程序的语义,基于前驱/后继线程模式的线程级推测模型用来支持线程级的推测并行。为了便于描述推测多线程执行模型,首先给出两个定义:定义1,确定线程:又称为非推测线程或者头线程,该线程在整体上依串行逻辑顺序推进整个程序的执行,其执行产生的数据可以直接向安全存储器(如内存或者共享的高级缓存区)提交其执行结果。定义2,推测线程:指处于推测状态的线程,相对于确定线程,该线程产生的数据只能存储于推测缓冲区而不能直接提交安全存储器,直至其被撤销或者被验证成功而成为非推测线程。推测处理器的推测模式执行中,有且只能有一个线程是确定线程,其他所有并行执行的线程则都是推测线程。一个推测线程是由程序执行时遇到的一条激发(Spawn)指令产生的。Spawn指令所在的位置被称为线程激发点(SpawningPoint,SP);Spawn指令所指向的程序中另一个位置被称为准控制无关点(ControlQuasiIndependentPoint,CQIP)。SP和CQ ...
【技术保护点】
1.一种编译加速方法,其特征在于,所述方法被路由单元所执行,所述路由单元用于实现如下一种或多种功能:缓冲自身产生的数据,转发数据,接收数据,验证接收的数据;所述路由单元与核单元一一对应,所述核单元用于执行线程;缓存Cache中包括多个路由单元,各核单元执行的线程不同;所述线程为推测线程,或者,确定线程;包括:S101,当确定满足中断条件时,控制第一核单元进入等待状态;所述第一核单元与第一路由单元对应,所述第一路由单元执行所述编译加速方法;S102,当接收到第一数据后,确定第二核单元,所述第二核单元执行第二线程,所述第二线程处理所述第一数据;S103,若第二核单元与第一核单元为同一核单元,则控制所述第一核单元执行第二线程;若第二核单元与第一核单元非同一核单元,则转发所述第一数据。
【技术特征摘要】
1.一种编译加速方法,其特征在于,所述方法被路由单元所执行,所述路由单元用于实现如下一种或多种功能:缓冲自身产生的数据,转发数据,接收数据,验证接收的数据;所述路由单元与核单元一一对应,所述核单元用于执行线程;缓存Cache中包括多个路由单元,各核单元执行的线程不同;所述线程为推测线程,或者,确定线程;包括:S101,当确定满足中断条件时,控制第一核单元进入等待状态;所述第一核单元与第一路由单元对应,所述第一路由单元执行所述编译加速方法;S102,当接收到第一数据后,确定第二核单元,所述第二核单元执行第二线程,所述第二线程处理所述第一数据;S103,若第二核单元与第一核单元为同一核单元,则控制所述第一核单元执行第二线程;若第二核单元与第一核单元非同一核单元,则转发所述第一数据。2.根据权利要求1所述的方法,其特征在于,所述中断条件为接收到中断传送信号;所述中断传送信号由第三路由单元发送,或者,所述中断传送信号由所述第一核单元发送;所述第三路由单元与第三核单元对应,所述第三核单元执行第三线程,所述第三线程与第一线程对应同一写后读RAW内存依赖关系,所述第一线程由所述第一核单元执行;或者,所述中断条件为第一线程具有RAW内存依赖关系且第一线程被执行过程中遇到引用。3.根据权利要求2所述的方法,其特征在于,所述第三路由单元发送中断传送信号的方法为:若第三线程具有RAW内存依赖关系,且第三线程被执行过程中遇到定值时,确定路由单元标识;若路由单元标识存在,则与第四路由单元完成握手后,向所述第四路由单元发送中断传输信号;所述第四路由单元与所述路由单元标识对应;所述第四路由单元对应第四核单元,所述第四核单元执行第四线程;根据所述RAW内存依赖关系,所述第四线程中引用所述定值。4.根据权利要求2所述的方法,其特征在于,当中断条件为第一线程具有RAW内存依赖关系且第一线程被执行过程中遇到引用;所述S102之前还包括:确定第一线程为推测线程。5.根据权利要求4所述的方法,其特征在于,若引用的数据为第一数据,且第一数据为多个,则所述S102包括:接收到任一第一数据后,确定对应的第二核单元,所述对应的第二核单元执行对应的第二线程,所述对应的第二线程处理所述任一第一数据;所述S103包括:若多个第一数据均接收到,且所有第二核单元与第一核单元均为同一核单元,则控制所述第一核单元处理所有第一数据;若多个第一数据均接收到,但存在与第一核单元不同的第二核单元,则向第五路由单元发送中断传送信号,与所述第五路由单元完成握手后,向所述第五路由单元发送不同的第二核单元所对应的第一数据;所述第五路由单元与不同的第二核单元对应。6.根据权利要求2至5任一权利要求所述的方法,其特征在于,RAW内存依赖关系位于关键数据依赖集中。7.根据权利要求6所述的方法,其特征在于,所述关键数据依赖集的建立方法包括:S201,获取串行程序,从所述串行程序中抽取线程,将抽取出的线程命名为第六线程,利用过程间指针分析和数据流分析技术,构造引用-定制链,检测各第六线程中的定值和引用;S202,根据各第六线程的定值和引用,将对应同一RAW内存依赖关系的多个第六线程分为一组;其中...
【专利技术属性】
技术研发人员:李远成,蒋林,施佳琪,
申请(专利权)人:西安科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。