-
公开(公告)号:CN114217938A
公开(公告)日:2022-03-22
申请号:CN202110349032.2
申请日:2021-03-31
Applicant: 无锡江南计算技术研究所
IPC: G06F9/50
Abstract: 本发明公开一种动态内存管理方法,包括以下步骤:S1、在运行课题时指定x属性内存空间的总大小;S2、开辟相应大小的x属性内存空间;S3将目标码中的静态x属性内存空间映射到S2中所开辟的x属性内存空间的前半部分,剩余的后半部分x属性内存空间即为动态x属性内存空间;S4、用户课题在代码中调用xspace_malloc函数动态申请x属性内存空间;S6、用户课题可以在代码中调用get_allocatable_xspace_size获取当前剩余的动态x属性内存空间大小。本发明解决了在支持多空间属性的编程环境中,单纯使用malloc、free函数无法满足多空间属性的动态内存管理需求的问题。
-
公开(公告)号:CN105487958B
公开(公告)日:2018-04-10
申请号:CN201510830351.X
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
Abstract: 本发明提供了一种处理器内部行为监测方法,包括:执行处理器对于性能事件计数器的保留恢复处理;其中,在处理器进程调度与切换过程中,在操作系统层进行切换进程之前,采用软件方式对处理器性能计数器的内容予以保留与转储,在处理器完成对性能计数器寄存器复位完成之后,再恢复上述计数器的内容;运行支持处理器性能事件计数器保留恢复处理的操作系统;实现处理器单个性能事件的性能计数监测;实现处理器批量性能事件的性能计数监测。
-
公开(公告)号:CN105446841A
公开(公告)日:2016-03-30
申请号:CN201510830049.4
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F11/22 , G06F11/263
CPC classification number: G06F11/2205 , G06F11/2247 , G06F11/2294 , G06F11/263
Abstract: 本发明提供了一种缓存一致性测试方法,包括:主进程申请一个共享空间;由主进程创建出多个子进程;在该共享空间中划分出四个共享空间部分;由主进程对读操作和写操作访问的内存块号进行排列,使读操作和写操作访问的内存地址不重叠,而且使所述多个子进程进入同步接口;在所述多个子进程同步成功后,读取所述排列好的序列,让所述主进程和所述多个子进程同时进行读写操作;在所述主进程和所述多个子进程的读写操作都完成后,每个进程对自己访问的读空间和写空间分别用异或操作来计算权值,并且比较读操作和写操作访问的内存的权值。
-
公开(公告)号:CN105279004A
公开(公告)日:2016-01-27
申请号:CN201510830299.8
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F9/445 , G06F12/0802
Abstract: 本发明提供了一种基于采样剖析的轻量级程序代码重排方法,包括:编译链接程序,其中预留一段代码空间;加载器读入目标程序;使得目标程序运行一遍,加载器收集目标程序运行时运行信息;利用收集到的运行信息指导代码重排;对代码执行垫塞优化;将垫塞优化后的代码写进新的目标程序。
-
公开(公告)号:CN105242909A
公开(公告)日:2016-01-13
申请号:CN201510829920.9
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F9/38
Abstract: 本发明提供了一种基于多版本代码生成的众核循环分块方法,其中众核处理器由控制核心和计算核心阵列组成,其中每个计算核心带有一块高速缓存;而且其中每个计算核心自带的一块高速缓存作为片上存储以存储器直接访问的方式与主存进行数据传输;其特征在于,编译器在对众核循环进行并行变换时,根据编译器指示的值来确定循环分块的粒度,从而生成不同版本的并行代码,同时编译器通过代码插装的方式将片上存储的使用信息在运行时进行反馈以便能够根据反馈的使用信息对编译指示的值进行相应的调整,以使得片上存储的利用率最大化。
-
公开(公告)号:CN102541727B
公开(公告)日:2015-07-08
申请号:CN201010594006.8
申请日:2010-12-17
Applicant: 无锡江南计算技术研究所
IPC: G06F11/36
Abstract: 本发明公开了一种程序调试方法及系统,能够将针对尚未研制成功的CPU芯片的程序转换为针对已研制成功并可靠性高的CPU芯片体系结构上的程序,并使用标准的调试器进行调试,对程序的正确性和性能进行分析和评估,从而避免了使用体系结构模拟器进行模拟所带来的处理速度慢、可靠性低的缺点。由于使用了已有的硬件资源和标准的调试器,所以处理速度较快,并且可靠性较高。
-
公开(公告)号:CN102981837A
公开(公告)日:2013-03-20
申请号:CN201210439950.5
申请日:2012-11-06
Applicant: 无锡江南计算技术研究所
IPC: G06F9/44
Abstract: 本发明提供了一种指针别名关系判断方法和代码多版本优化方法。所述指针别名关系判断方法包括:判断第一循环体在执行一次循环操作时所述第一循环体内的第一指针所指向的第一地址段偏移和第二循环体在执行相同次循环操作时第二循环体内的第二指针所指向的第二地址段偏移是否重合,所述第一循环体和第二循环体是根据待优化循环体生成的两个不同版本;判断所述第一循环体在结束上一次循环操作转入下一次循环操作时所述第一指针指向的第一地址段跨步和所述第二循环体在结束上一次循环操作转入下一次循环操作时所述第二指针指向的第二地址段跨步是否相等;以及如果上述两个判断步骤结果均为是,则确定所述第一指针和所述第二指针互为指针别名关系。
-
公开(公告)号:CN115271084B
公开(公告)日:2024-08-30
申请号:CN202210933691.5
申请日:2022-08-04
Applicant: 无锡江南计算技术研究所
Abstract: 一种面向量子加速设备的混合式编译方法,属于量子计算技术领域。本发明包括如下步骤:步骤S1,通过标准化的量子代码编程接口,对混合代码中的经典代码与量子代码进行识别;步骤S2,对经典代码进行编译,生成可执行码;步骤S3,运行经典代码的可执行码,若遇到量子代码编程接口,则进行步骤S4,并在接收到步骤S5的运行结果后,继续运行并重复本步骤的操作,直至整个计算进程结束;步骤S4,对量子代码进行编译,生成可执行码;步骤S5,运行量子代码的可执行码。本发明操作简单高效,易于实现,同时可靠性高。
-
公开(公告)号:CN115687154A
公开(公告)日:2023-02-03
申请号:CN202211487167.6
申请日:2022-11-25
Applicant: 无锡江南计算技术研究所
IPC: G06F11/36
Abstract: 本发明提供一种基于Csmith随机生成器生成C程序测试用例的方法及装置,属于C程序测试技术领域。该方法包括如下步骤:S1:获取预设概率信息表,通过预设概率信息表获取预设参数;S2:生成器根据预设参数进行初始化;S3:生成器基于初始化信息生成包括main函数、变量类型、其他函数的测试用例程序,在生成main函数时输出测试用例程序的辅助信息;S4:过滤器对生成的程序片段进行安全检查;S5:生成器在过滤器对所有程序片段检查完毕后整理并输出生成的测试用例程序,并根据生成的测试用例程序计算非指针全局变量的校验和,并打印校验和。本发明自动生成大量测试用例,可以高效地暴露更多的问题,并且可根据输入进行定制化操作,节省人力成本。
-
公开(公告)号:CN112445482B
公开(公告)日:2022-11-15
申请号:CN201910794946.2
申请日:2019-08-27
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种面向容量受限的程序栈空间深度追溯方法,包括以下步骤:S1、在链接器中建立函数信息的数据结构,形成函数调用关系流程图;S2、获取所有的函数符号信息,建立相应的函数信息数据结构,并将函数的名称、PC值范围、自身栈空间深度信息安装到对应的函数信息结构中;S3、遍历程序所有的重定位信息,根据重定位信息来确定函数调用关系,根据分析结果更新各个函数信息的链表指针;S4、对建立的函数调用关系图做深度优先遍历,通过累加计算获取根节点函数的栈空间深度,对所有根节点栈空间深度做排序后输出。本发明通过静态分析的方法获取栈空间信息,无需重新编译,无需运行插桩,对于程序分析、错误定位以及程序优化有着很好的指导作用。
-
-
-
-
-
-
-
-
-