发明名称 流处理器中降低数据访问延迟的方法
摘要 本发明公开了一种流处理器中降低数据访问延迟的方法,要解决的技术问题是降低流处理器的数据访问延迟。技术方案是改进流处理器的第一级存储层次,将标量DRAM和流DRAM合并为由标量处理器和流处理器共享的片外共享存储器,并采用新的方法来完成数据流在片外共享DRAM与流寄存器文件SRF之间的传输,且采用同步机制解决RAW相关。标量处理器和流处理器要访问片外数据时,都直接向总线发送请求,获得总线使用权后,将访存地址传送给DRAM控制器,DRAM控制器访问片外DRAM,获得DRAM中的数据后再将数据返回给标量处理器或流处理器。采用本发明可以有效避免由于流过长或数目太多导致的SRF溢出,从而避免了一次访存请求导致的数据多次在存储空间的转移,降低了数据访问延迟。
申请公布号 CN1885283A 申请公布日期 2006.12.27
申请号 CN200610031763.8 申请日期 2006.06.05
申请人 中国人民解放军国防科学技术大学 发明人 文梅;伍楠;张春元;任巨;何义;荀长庆;杨乾明;管茂林
分类号 G06F15/76(2006.01);G06F15/16(2006.01) 主分类号 G06F15/76(2006.01)
代理机构 国防科技大学专利服务中心 代理人 郭敏
主权项 1.一种流处理器中降低数据访问延迟的方法,其特征在于:第一步,改进流处理器的第一级存储层次,将标量DRAM和流DRAM合并为由标量处理器和流处理器共享的片外共享存储器,具体方法是:片外共享存储器由多个片外共享DRAM组成,每个片外共享DRAM分别通过一个DRAM控制器与片上通用总线相连;片上通用总线分别与标量处理器和流处理器相连,使得标量处理器和流处理器可以通过任一DRAM控制器访问对应的片外DRAM;标量处理器和流处理器都作为总线主设备,DRAM控制器作为总线从设备;处理器接口部件作为从设备挂在片上通用总线上,它只传输标量处理器和流处理器之间的数据,不再传输片外存储器到标量处理器或流处理器的数据;标量处理器和流处理器要访问片外数据时,都直接向总线发送请求,获得总线使用权后,将访存地址通过总线传送给DRAM控制器,DRAM控制器访问片外DRAM,获得DRAM中的数据后再将数据通过片上通用总线返回给标量处理器或流处理器;第二步,采用新的方法来完成数据流在片外共享DRAM与流寄存器文件SRF之间的传输,具体过程是:1.1将数据流从片外共享DRAM加载到SRF存在正常加载,溢出,长流加载,索引四种情况:1.1.1正常加载:数据通过片上通用总线从片外共享DRAM加载到SRF;1.1.2溢出:指目前从片外共享DRAM中加载的数据流A在SRF中所在的空间将被后面加载的数据流B替换掉,并且目前的数据流A在被替换掉后还会再次被kernel使用,由于数据流A存储在片外共享DRAM中,因此无论首次还是再次使用数据流A,都只需要将数据加载至SRF;1.1.3长流加载:需要加载的流长超过SRF的剩余容量时,采用双缓冲方法处理:1)将SRF在逻辑上分成两块空间,分别为第一SRF空间和第二SRF空间;2)由片外共享DRAM通过片上通用总线向第一SRF空间加载数据;3)当第一SRF空间写满且运算单元空闲,就写第二SRF空间,同时把第一SRF空间中的数据送入运算单元进行运算;4)当第二SRF空间写满且运算单元空闲,将数据流从片外共享DRAM继续写入第一SRF空间,同时把第二SRF空间中的数据送入运算单元进行运算;5)如果数据流未加载完毕,转3);如果加载完毕,停止;1.1.4索引:数据流将被索引访问,因为全部数据流都在片外共享DRAM中,所以只需要通过地址访问DRAM就可以将索引流加载至SRF;1.2将数据从流处理器的SRF存回到片外共享存储空间DRAM存在三种情况:1.2.1正常save数据:指要存回的数据存储在SRF中,此时将数据直接写入片外共享存储空间DRAM中;1.2.2索引:指该数据流曾被索引使用,在发生索引的情况下,为了保持原来全部数据流的数据一致性,必须把索引部分的改变立即存回DRAM,因此流处理器计算后的结果数据在kernel执行完毕后从SRF存入片外存储空间中;1.2.3长流存回:当所要存储的流长超过SRF的剩余容量,采用双缓冲方法处理,kernel执行结果的输出数据流从kernel写入SRF,同时从SRF存回片外共享DRAM,因此当kernel计算完毕后,输出数据流也就已经存储在片外共享DRAM中。
地址 410073湖南省长沙市砚瓦池正街47号