-
公开(公告)号:CN112199217A
公开(公告)日:2021-01-08
申请号:CN202011144938.2
申请日:2020-10-23
Applicant: 无锡江南计算技术研究所
IPC: G06F9/54
Abstract: 本发明公开一种软硬协同的线程私有数据访问优化方法,包括以下步骤:S1:编译器前端为线程私有变量节点生成带有标记的中间表达式;S2:编译器后端的代码生成模块判断线程私有变量节点所携带的标记值是否为TRUE,若为TRUE,则通过后端指令生成模板使用读线程号指令替换系统调用指令,并将读线程号指令返回值写入函数返回值专用寄存器$r0;S3:编译器根据读线程号指令返回值与线程私有数据空间地址关系在后端代码生成模块中添加线程私有数据基址计算相关指令;S4:根据S3中获取的线程私有数据基址与线程私有变量偏移,计算线程私有变量地址。本发明可以克服原始线程私有数据访问效率低下的问题,显著提升线程私有数据访问的性能。
-
公开(公告)号:CN102981802A
公开(公告)日:2013-03-20
申请号:CN201210441177.6
申请日:2012-11-06
Applicant: 无锡江南计算技术研究所
Abstract: 本发明提供的一种指令转化方法及系统,获得处理器对外部存储器中第一地址进行访问的指令并判断是否为常数,如果是,则判断第一地址中保存的数据的宽度是否满足预设的第一宽度要求,如果是,则对所述该指令进行转化,生成处理器对内部指令缓存器访问的立即数指令。本发明针对没有数据缓存器的处理器,可以将处理器对外部存储器中地址进行访问的指令转化为处理器对内部指令缓存器访问的立即数指令,从而无需处理器再对外部存储器进行访问。因此,本发明可以不再使处理器的处理速度受限于对外部存储器的访问速度,有效的解决了“存储墙”的问题,提高了处理器的实际处理速度。
-
公开(公告)号:CN112199217B
公开(公告)日:2022-07-12
申请号:CN202011144938.2
申请日:2020-10-23
Applicant: 无锡江南计算技术研究所
IPC: G06F9/54
Abstract: 本发明公开一种软硬协同的线程私有数据访问优化方法,包括以下步骤:S1:编译器前端为线程私有变量节点生成带有标记的中间表达式;S2:编译器后端的代码生成模块判断线程私有变量节点所携带的标记值是否为TRUE,若为TRUE,则通过后端指令生成模板使用读线程号指令替换系统调用指令,并将读线程号指令返回值写入函数返回值专用寄存器$r0;S3:编译器根据读线程号指令返回值与线程私有数据空间地址关系在后端代码生成模块中添加线程私有数据基址计算相关指令;S4:根据S3中获取的线程私有数据基址与线程私有变量偏移,计算线程私有变量地址。本发明可以克服原始线程私有数据访问效率低下的问题,显著提升线程私有数据访问的性能。
-
公开(公告)号:CN105426755A
公开(公告)日:2016-03-23
申请号:CN201510830262.5
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F21/54
CPC classification number: G06F21/54
Abstract: 本发明提供了一种基于哈希算法的库函数安全增强方法,包括:对同一函数的多次调用,将已经回溯的栈信息用链表保存起来,此后再次调用该函数时,以函数返回地址作为关键字检索链表以查找所述函数的栈信息,如果在链表中查找到所述函数的栈信息,则直接从链表取出对应的栈信息。如果在链表中没有查找到所述函数的栈信息,则针对所述函数利用指令特征码进行指令匹配,直到找到所述函数的栈信息为止,并将找到的所述函数的栈信息加入到链表中。
-
公开(公告)号:CN105426755B
公开(公告)日:2018-04-10
申请号:CN201510830262.5
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F21/54
Abstract: 本发明提供了一种基于哈希算法的库函数安全增强方法,包括:对同一函数的多次调用,将已经回溯的栈信息用链表保存起来,此后再次调用该函数时,以函数返回地址作为关键字检索链表以查找所述函数的栈信息,如果在链表中查找到所述函数的栈信息,则直接从链表取出对应的栈信息。如果在链表中没有查找到所述函数的栈信息,则针对所述函数利用指令特征码进行指令匹配,直到找到所述函数的栈信息为止,并将找到的所述函数的栈信息加入到链表中。
-
公开(公告)号:CN105279429B
公开(公告)日:2018-01-19
申请号:CN201510826917.1
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F21/52
Abstract: 本发明提供了一种GOT表写保护的保护方法,包括:并且将初始化后的GOT表的读写操作属性设置为只读;在第一次调用GOT表中包含的函数相关表格项所对应的函数时,进行地址解析,以得到入口地址;先将GOT表的读写操作属性设置为读写,然后将解析后得到的所述入口地址写入所述函数相关表格项中;在将解析后得到的所述入口地址写入所述函数相关表格项中之后,将所述GOT表的读写操作属性再次设置为只读。
-
公开(公告)号:CN105279429A
公开(公告)日:2016-01-27
申请号:CN201510826917.1
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F21/52
CPC classification number: G06F21/52
Abstract: 本发明提供了一种GOT表写保护的保护方法,包括:并且将初始化后的GOT表的读写操作属性设置为只读;在第一次调用GOT表中包含的函数相关表格项所对应的函数时,进行地址解析,以得到入口地址;先将GOT表的读写操作属性设置为读写,然后将解析后得到的所述入口地址写入所述函数相关表格项中;在将解析后得到的所述入口地址写入所述函数相关表格项中之后,将所述GOT表的读写操作属性再次设置为只读。
-
公开(公告)号:CN102981802B
公开(公告)日:2015-10-07
申请号:CN201210441177.6
申请日:2012-11-06
Applicant: 无锡江南计算技术研究所
Abstract: 本发明提供的一种指令转化方法及系统,获得处理器对外部存储器中第一地址进行访问的指令并判断是否为常数,如果是,则判断第一地址中保存的数据的宽度是否满足预设的第一宽度要求,如果是,则对所述该指令进行转化,生成处理器对内部指令缓存器访问的立即数指令。本发明针对没有数据缓存器的处理器,可以将处理器对外部存储器中地址进行访问的指令转化为处理器对内部指令缓存器访问的立即数指令,从而无需处理器再对外部存储器进行访问。因此,本发明可以不再使处理器的处理速度受限于对外部存储器的访问速度,有效的解决了“存储墙”的问题,提高了处理器的实际处理速度。
-
公开(公告)号:CN105426752A
公开(公告)日:2016-03-23
申请号:CN201510828343.1
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
Abstract: 本发明提供了一种缓冲区溢出保护方法,包括:根据原始栈形成一个备份栈,其中备份栈备份了函数返回地址和堆栈帧指针,而且备份栈在调用函数入口处备份控制流信息;在函数调用返回时通过比较原始栈与备份栈信息来判断是否有溢出发生。
-
-
-
-
-
-
-
-