[发明专利]一种GPGPU寄存器缓存的实现方法有效
申请号: | 201410418801.X | 申请日: | 2014-08-25 |
公开(公告)号: | CN104182281B | 公开(公告)日: | 2017-10-31 |
发明(设计)人: | 吴明晖;俞立呈;陈天洲;裴玉龙;孟静磊 | 申请(专利权)人: | 浙江大学城市学院 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 杭州求是专利事务所有限公司33200 | 代理人: | 林超 |
地址: | 310015 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gpgpu 寄存器 缓存 实现 方法 | ||
技术领域
本发明涉及一种缓存实现方法,尤其是涉及一种GPGPU寄存器缓存的实现方法。
背景技术
通用图形处理器GPGPU是一种利用传统上处理图形任务的图形处理器来执行通用计算任务的处理器。GPGPU由多个流处理器组成,每个流处理器包含多个计算单元,流处理器中一个指令解码器控制所有的计算单元,计算单元按照单指令多数据的方式并行地执行指令,从而以较小的管理代价实现大规模数据并行计算。GPGPU中的最小管理单位是线程,每个线程通常用于处理大规模数据中的一个单位的数据。流处理器中一组线程在计算单元上锁步执行,称为锁步执行线程组,锁步执行线程组是流处理器线程调度器调度和指令执行的基本单位。GPGPU的大规模数据处理使得流处理器中包含大量的执行线程,流处理器通过切换不同的锁步执行线程组来尽量保持每个计算部件繁忙,掩盖如访问内存等操作带来的长延迟等待。
每个线程在执行时需要独立的寄存器文件来存储中间计算结果。流处理器为了支持在不同的锁步执行线程组之间快速切换,内建了大量的存储空间用于保存所有执行的线程所需的寄存器文件,寄存器文件大小是限制流处理器上可执行的线程数量的因素之一。流处理器在一段时间内只能执行部分线程,整个寄存器文件保存的大部分寄存器处于闲置状态并不会被立即使用,因此这些寄存器文件存储占用的GPGPU芯片的能耗和面积在不同的时间内被浪费了。
发明内容
为了解决背景技术中存在的问题,本发明的目的在于提供一种GPGPU寄存器缓存的实现方法。
本发明解决其技术问题所采用的技术方案包括:
各个流处理器中增加寄存器缓存替换寄存器文件,采用基于寄存器缓存的组织方式,并对流处理器线程采用基于寄存器缓存的调度方式。
所述的基于寄存器缓存的组织方式具体为:
A.1)移除流处理器原有寄存器文件,将原有寄存器文件中的所有寄存器数据保存在内存中,在流处理器内增加用于存储正在执行线程所需寄存器的寄存器缓存;
A.2)线程执行前从内存中加载寄存器数据到寄存器缓存。
当所述的流处理器执行的线程需要访问寄存器文件时,从寄存器缓存中访问。
当所述的流处理器的寄存器缓存空间不足时,替换除正在执行线程使用的寄存器数据以外的寄存器缓存的缓存块,并将缓存块中修改过的寄存器数据写回内存。
所述的基于寄存器缓存的调度方式具体为:
B.1)从所有可执行的线程中选择线程执行,在线程执行所需的寄存器能保存在流处理器的寄存器缓存中的前提下,从中选择线程数量最多的线程组合执行;
B.2)从内存中加载步骤B.1)中选择的线程组合中每个线程所使用的寄存器数据到寄存器缓存;
B.3)以任意方式对线程组合中的线程进行选择执行,当选择的线程组合中的所有线程都无法执行时,重复步骤B.1)选择另一组线程执行。
本发明具有的有益效果是:
本发明减少流处理器中保存寄存器文件所需的存储空间,从而降低GPGPU的能耗和芯片面积,避免了寄存器文件存储占用的GPGPU芯片的能耗和面积在不同的时间内的浪费。并解除流处理器寄存器数量不足的限制,增加可执行的线程数量,提高系统效率。
附图说明
图1是本发明基于寄存器缓存的组织方式的流程图。
图2是本发明流处理器基于寄存器缓存的调度方式的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
本发明方法包括:各个流处理器中增加寄存器缓存替换寄存器文件,采用基于寄存器缓存的组织方式,并对流处理器线程采用基于寄存器缓存的调度方式。
如图1所示,上述的基于寄存器缓存的组织方式具体为:
A.1)移除流处理器原有寄存器文件,将原有寄存器文件中的所有寄存器数据保存在内存中,在流处理器内增加用于存储正在执行线程所需寄存器的寄存器缓存,替换原有寄存器文件。
A.2)线程执行前从内存中加载寄存器数据到寄存器缓存。
当所述的流处理器执行的线程需要访问寄存器文件时,从寄存器缓存中访问,因此要在线程执行前从内存中加载所执行线程所需寄存器数据到寄存器缓存。当所述的流处理器的寄存器缓存空间不足时,替换除正在执行线程使用的寄存器数据以外的寄存器缓存的缓存块,并将缓存块中修改过的寄存器数据写回内存。
如图2所示,上述基于寄存器缓存的调度方式具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学城市学院,未经浙江大学城市学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410418801.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种采用软件降低防雷计数器功耗的方法
- 下一篇:系统还原方法