-
公开(公告)号:CN101719105A
公开(公告)日:2010-06-02
申请号:CN200910243195.1
申请日:2009-12-31
Applicant: 中国科学院计算技术研究所
IPC: G06F12/08
Abstract: 本发明公开了一种多核系统中对内存访存的优化方法和系统。该方法包括下列步骤:在中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;对操作系统中同时执行的多个目标程序中的每一个程序,利用操作系统中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核系统中总的行缓存失效率,达到多核系统中对内存访存的优化。
-
公开(公告)号:CN101894048B
公开(公告)日:2012-11-14
申请号:CN201010212895.7
申请日:2010-06-28
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种基于phase分析的cache动态划分方法和系统,所述方法,包括下列步骤:启动决策进程,系统状态初始化为搜索状态并构建静态搜索树;启动应用程序进程;决策进程开始执行步骤100到300的循环,直至应用程序进程结束;划分决策模块读取采样数据,并根据采样数据识别出程序在当前时间片下运行的phase号,并更新历史记录;划分决策模块收集程序的当前phase在搜索集下各划分的性能数据,根据phase分析结果和系统状态确定下一时间片的Cache划分;当前时间片的决策过程结束,确定出下一时间片的Cache划分,再调用划分执行模块完成cache划分。
-
公开(公告)号:CN101719105B
公开(公告)日:2012-01-04
申请号:CN200910243195.1
申请日:2009-12-31
Applicant: 中国科学院计算技术研究所
IPC: G06F12/08
Abstract: 本发明公开了一种多核系统中对内存访存的优化方法和系统。该方法包括下列步骤:在中央处理器的最后一级缓存中添加异或缓存映射机制来计算缓存的索引;对操作系统中同时执行的多个目标程序中的每一个程序,利用操作系统中的页着色分配算法分别通过剖析测试得到每一个目标程序的失效率曲线和敏感度曲线;根据所述失效率曲线和敏感度曲线,计算适合目标程序集合的划分策略以降低多核系统中总的行缓存失效率,达到多核系统中对内存访存的优化。
-
公开(公告)号:CN1920792A
公开(公告)日:2007-02-28
申请号:CN200510093280.6
申请日:2005-08-23
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种检测运行栈与静态数据区重叠的方法。该方法在链接器中对运行栈和静态数据区在数据内存中的布局进行调整,然后在软件模拟器中进行运行时检测,在软件模拟器中添加判断栈指针值与数据内存最低地址大小关系的代码,如果栈指针值小于数据内存最低地址,就说明发生了运行栈下溢,在原程序中出现运行栈与静态数据区重叠的错误。本发明的优点:1)在模拟器中只需要添加判断栈指针值与数据内存基址大小关系的代码,当程序执行中发生运行栈下溢的情况时就可以自动报告错误;2)没有带来内存开销;3)生成的可执行文件可以加载到硬件上运行。
-
公开(公告)号:CN101894048A
公开(公告)日:2010-11-24
申请号:CN201010212895.7
申请日:2010-06-28
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种基于phase分析的cache动态划分方法和系统,所述方法,包括下列步骤:启动决策进程,系统状态初始化为搜索状态并构建静态搜索树;启动应用程序进程;决策进程开始执行步骤100到300的循环,直至应用程序进程结束;划分决策模块读取采样数据,并根据采样数据识别出程序在当前时间片下运行的phase号,并更新历史记录;划分决策模块收集程序的当前phase在搜索集下各划分的性能数据,根据phase分析结果和系统状态确定下一时间片的Cache划分;当前时间片的决策过程结束,确定出下一时间片的Cache划分,再调用划分执行模块完成cache划分。
-
公开(公告)号:CN100559344C
公开(公告)日:2009-11-11
申请号:CN200510093279.3
申请日:2005-08-23
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种支持用规则记录变量访问专用寄存器组的处理方法。该方法包括:1)设计新的类型属性,以标识需要放入专用寄存器组的规则记录变量类型;2)设计规则记录变量的语法树结构,用递归算法实现计算规则记录变量各成员相对位置;3)设计规则记录变量的中间表示;4)生成利用规则记录变量访问专用寄存器组的代码。本发明的优点:1)保留高级语言开发的优点,又克服了高级语言难以对特殊硬件进行直接控制的缺点,提高编程效率,缩短开发周期;2)向程序员屏蔽了底层硬件的细节,能灵活的处理各种专用寄存器组的使用规范;3)向编译器暴露更多的优化机会,提高系统性能。
-
公开(公告)号:CN100426254C
公开(公告)日:2008-10-15
申请号:CN200510093280.6
申请日:2005-08-23
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种检测运行栈与静态数据区重叠的方法。该方法在链接器中对运行栈和静态数据区在数据内存中的布局进行调整,然后在软件模拟器中进行运行时检测,在软件模拟器中添加判断栈指针值与数据内存最低地址大小关系的代码,如果栈指针值小于数据内存最低地址,就说明发生了运行栈下溢,在原程序中出现运行栈与静态数据区重叠的错误。本发明的优点:1)在模拟器中只需要添加判断栈指针值与数据内存基址大小关系的代码,当程序执行中发生运行栈下溢的情况时就可以自动报告错误;2)没有带来内存开销;3)生成的可执行文件可以加载到硬件上运行。
-
公开(公告)号:CN1920771A
公开(公告)日:2007-02-28
申请号:CN200510093279.3
申请日:2005-08-23
Applicant: 中国科学院计算技术研究所
Abstract: 本发明公开了一种支持用规则记录变量访问专用寄存器组的处理方法。该方法包括:1)设计新的类型属性,以标识需要放入专用寄存器组的规则记录变量类型;2)设计规则记录变量的语法树结构,用递归算法实现计算规则记录变量各成员相对位置;3)设计规则记录变量的中间表示;4)生成利用规则记录变量访问专用寄存器组的代码。本发明的优点:1)保留高级语言开发的优点,又克服了高级语言难以对特殊硬件进行直接控制的缺点,提高编程效率,缩短开发周期;2)向程序员屏蔽了底层硬件的细节,能灵活的处理各种专用寄存器组的使用规范;3)向编译器暴露更多的优化机会,提高系统性能。
-
-
-
-
-
-
-