[发明专利]一种减少流处理器片上指令存储器资源消耗的方法无效
申请号: | 200910043828.4 | 申请日: | 2009-07-03 |
公开(公告)号: | CN101620526A | 公开(公告)日: | 2010-01-06 |
发明(设计)人: | 何义;张春元;文梅;伍楠;杨乾明;任巨;管茂林;荀长庆;吴伟;柴俊;李京旭 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F12/08 |
代理公司: | 国防科技大学专利服务中心 | 代理人: | 郭 敏 |
地址: | 410073湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 减少 处理器 指令 存储器 资源 消耗 方法 | ||
技术领域
本发明涉及减少芯片中指令存储器资源消耗的方法,尤其指一种减少流处理器片上指令存储器资源消耗的方法。
背景技术
基于流体系结构的流处理器是新一代面向密集计算的高性能微处理器的典型代表,专门面向流应用。流应用主要分为两类:一类是媒体应用;另一类是科学计算。流应用具有以下几个主要特征:计算密集性,与传统的桌面应用相比,流式应用对每次从内存取出的数据都要进行大量的算术运算;并行性,以数据级并行为主,同时存在指令级和任务级并行;局域性,是指应用中的数据重用局域性。流应用程序通常包含kernel级程序和流级程序两部分:流级程序负责组织输入和输出数据,kernel程序是运算的核心,负责对这些数据进行运算。
由于流处理器中多以超长指令字(VLIW:Very Long Instruction Word)的方式组织指令来开发指令级并行,这种结构使得流处理器指令存储器的宽度很大(因为指令存储器每行至少要能容纳1条VLIW);另一方面,流处理器的片上指令存储器大多采用软件静态管理的方式,存储空间的分配以kernel为粒度,因此,指令存储器必须有能力同时容纳多个kernel,这使得流处理器指令存储器的深度很大。对宽度和深度的要求直接导致指令存储器的容量增加,从而使得其在芯片中占用的面积比例增加。如Imagine中核心指令存储器的面积占芯片面积的10%,MASA中核心指令存储器占芯片面积的26%。编译器静态调度指令码的管理方式保证了指令存储器能为计算单元高效地提供指令,然而以kernel为调度粒度使得在kernel的生命周期中,存在大量的无效指令或不常使用指令长时间占用指令存储空间。这增加了指令存储器的资源消耗,即增加了构建存储器所需的硬件存储单元的消耗。
对于超长指令字结构的处理器,减少指令存储器资源消耗主要有指令压缩、分布式指令存储器和指令生命周期分析优化等方法。指令压缩是通过某种编码算法对指令码进行压缩,减少指令码的长度,从而降低指令码对存储空间的需求。由于应用程序中有限的指令级并行使得VLIW中不可避免的含有很多空操作,该方法最大的问题是将压缩后的指令还原时会引入额外的指令流出延迟。分布式指令存储器是将VLIW存储器分割为 多个窄的指令存储器,每个存储器分别与一个计算功能单元对应,当VLIW中对应的功能单元出现空操作时,与该功能单元对应的指令存储器则可以不存储指令,从而可以减少指令存储空间的需求。这是一种采用修改存储器硬件结构设计来压缩指令的方法,它的主要问题是由于不同应用对各功能单元的需求不同,使得VLIW中空操作出现的比例不同,会造成部分功能单元对应的局部指令存储器不够用,而另一部分指令存储器则有多余的现象。此方法与前一种方法类似,都是通过横向压缩指令来减少指令对存储空间的需求,从而减少存储器资源消耗。指令生命周期分析优化是通过缩短指令占据存储器的时间来降低应用程序对存储空间的需求,从而可通过减少总的存储容量来减少存储器的资源消耗。该方法主要是通过分析程序的局域性,预测程序中各部分指令的生命周期,通过编译器控制指令导入存储器的时机,并指导各指令在其生命周期结束后及时的释放存储空间,从而尽量缩短指令占据存储器的时间,在纵向上压缩指令来减少指令存储器的资源消耗。该方法过分依赖软件编译器的能力,若编译器预测错误,则会造成程序性能极为低下。
发明内容
本发明要解决的技术问题是提供一种减少流处理器片上指令存储器资源消耗的方法。该方法基于现有成熟的硬件存储器结构,增加少量的指令读取延迟,不增加复杂的编译算法,能有效的减少指令存储器的资源消耗。
本发明的方案是:将流处理器中纯软件管理的指令存储器修改为软硬件混合指令存储器,根据流应用中kernel程序的特征,定义kernel热代码;根据kernel热代码的定义,得到三个判定kernel热代码的定理;在编译器中增加kernel热代码查找模块,由kernel热代码查找模块根据三个判定定理查找流应用中的kernel热代码;采用软件管理静态存储器存储kernel热代码以保证其高命中率,采用硬件管理的cache存储其他指令,通过缩短指令占用指令存储器的时间来减少程序对存储空间的需求,从而可以缩减总存储容量,从而减少指令存储器的资源消耗。
本发明技术方案是:
为说明本发明技术方案,先给出如下定义和定理:
定义1:循环LOOP1是循环LOOP2的外层循环,若LOOP2不失效能保证80%以上的LOOP1指令不失效,则称LOOP2是LOOP1的热代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910043828.4/2.html,转载请声明来源钻瓜专利网。