[发明专利]编译加速方法、路由单元和缓存有效
申请号: | 201910512701.6 | 申请日: | 2019-06-13 |
公开(公告)号: | CN110347400B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 李远成;蒋林;施佳琪 | 申请(专利权)人: | 西安科技大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/50 |
代理公司: | 北京易捷胜知识产权代理有限公司 11613 | 代理人: | 齐胜杰 |
地址: | 710054 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 加速 方法 路由 单元 缓存 | ||
1.一种编译加速方法,其特征在于,所述方法被路由单元所执行,所述路由单元用于实现如下一种或多种功能:缓冲自身产生的数据,转发数据,接收数据,验证接收的数据;
所述路由单元与核单元一一对应,所述核单元用于执行线程;
缓存Cache中包括多个路由单元,各核单元执行的线程不同;所述线程为推测线程,或者,确定线程;
包括:
S101,当确定满足中断条件时,控制第一核单元进入等待状态;所述第一核单元与第一路由单元对应,所述第一路由单元执行所述编译加速方法;
所述中断条件为接收到中断传送信号;所述中断传送信号由第三路由单元发送,或者,所述中断传送信号由所述第一核单元发送;所述第三路由单元与第三核单元对应,所述第三核单元执行第三线程,所述第三线程与第一线程对应同一写后读RAW内存依赖关系,所述第一线程由所述第一核单元执行;
或者,
所述中断条件为第一线程具有RAW内存依赖关系且第一线程被执行过程中遇到引用;
S102,当接收到第一数据后,确定第二核单元,所述第二核单元执行第二线程,所述第二线程处理所述第一数据;
S103,若第二核单元与第一核单元为同一核单元,则控制所述第一核单元执行第二线程;若第二核单元与第一核单元非同一核单元,则转发所述第一数据。
2.根据权利要求1所述的方法,其特征在于,所述第三路由单元发送中断传送信号的方法为:
若第三线程具有RAW内存依赖关系,且第三线程被执行过程中遇到定值时,确定路由单元标识;
若路由单元标识存在,则与第四路由单元完成握手后,向所述第四路由单元发送中断传输信号;所述第四路由单元与所述路由单元标识对应;
所述第四路由单元对应第四核单元,所述第四核单元执行第四线程;根据所述RAW内存依赖关系,所述第四线程中引用所述定值。
3.根据权利要求1所述的方法,其特征在于,当中断条件为第一线程具有RAW内存依赖关系且第一线程被执行过程中遇到引用;
所述S102之前还包括:
确定第一线程为推测线程。
4.根据权利要求3所述的方法,其特征在于,若引用的数据为第一数据,且第一数据为多个,则所述S102包括:
接收到任一第一数据后,确定对应的第二核单元,所述对应的第二核单元执行对应的第二线程,所述对应的第二线程处理所述任一第一数据;
所述S103包括:
若多个第一数据均接收到,且所有第二核单元与第一核单元均为同一核单元,则控制所述第一核单元处理所有第一数据;
若多个第一数据均接收到,但存在与第一核单元不同的第二核单元,则向第五路由单元发送中断传送信号,与所述第五路由单元完成握手后,向所述第五路由单元发送不同的第二核单元所对应的第一数据;
所述第五路由单元与不同的第二核单元对应。
5.根据权利要求1至4任一权利要求所述的方法,其特征在于,RAW内存依赖关系位于关键数据依赖集中。
6.根据权利要求5所述的方法,其特征在于,所述关键数据依赖集的建立方法包括:
S201,获取串行程序,从所述串行程序中抽取线程,将抽取出的线程命名为第六线程,利用过程间指针分析和数据流分析技术,构造引用-定制链,检测各第六线程中的定值和引用;
S202,根据各第六线程的定值和引用,将对应同一RAW内存依赖关系的多个第六线程分为一组;其中同组中多个第六线程的定值地址与引用地址相同;
S203,根据每组中第六线程的属性确定对应的RAW内存依赖关系是否为关键数据依赖关系;
S204,对于每个RAW内存依赖关系,若其为关键数据依赖关系,则将其加入所述关键数据依赖集中,所述关键数据依赖集的初始值为空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安科技大学,未经西安科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910512701.6/1.html,转载请声明来源钻瓜专利网。