技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于多级Cache高速缓存的GPU存储结构的制作方法  >  正文

一种基于多级Cache高速缓存的GPU存储结构的制作方法

  • 国知局
  • 2024-08-22 15:08:28

本发明涉及gpu存储领域,更具体地,涉及一种基于多级cache高速缓存的gpu存储结构。

背景技术:

1、近年来,gpu(graphics processing unit图形处理器)凭借强大的计算能力,在通用计算、图形渲染等领域发挥出了比cpu更显著的优势。gpu独特的优势体现在高数据吞吐量、大规模并行以及强大的浮点运算能力,非常适用于深度学习、大数据分析、人工智能计算以及更加逼真的图形展现(光线追踪)等方向。

2、目前gpu已发展成为一种多核多线程的高性能并行通用计算平台。gpu性能取决于微架构设计、流多处理器数量及核心频率等,其中微架构设计是核心点。微架构通常包括流多处理器单元、图形管线、存储控制等部分。流多处理器内部具有支持多核多线程并行计算的流处理单元、读写单元及cache高速缓存等,流多处理器之间的通信,一般是通过互联网络与共享存储器来交互。为突破gpu大量数据存储及传输所带来的性能瓶颈,需设计高性能的gpu软硬件体系结构。

技术实现思路

1、基于现有技术所提到的需求,本发明提供了一种基于多级cache高速缓存的gpu存储结构,包括多个功能完全独立的流多处理器smpu、l2 cache单元、共享内存和ddr显存,每一个流多处理器smpu包括多个流处理器、texture纹理单元、uniform单元和l1 cache单元,所述l2 cache单元位于li cache单元和ddr显存之间,每一个流多处理器smpu均分别与l2cache单元和共享内存双向通信;

2、当图形驱动将当前渲染帧的所有数据发送给ddr显存后,开始配置启动gpu工作,每一个流多处理器smpu接收到完整的配置信息后从l1 cache单元读取流处理器mpu着色所需的指令与数据,并将全局属性数据存入到uniform单元中,将私有属性数据写入给流处理器mpu中,将纹理数据送给texture纹理单元进行处理;

3、流处理器mpu再把每个线程的私有数据存放在各自的私有存储中,各线程的私有存储均采用寄存器组进行存储,线程数据准备后,根据任务量分配适当的线程开始执行统一着色程序,执行过程中的临时数据暂存在通用寄存器中或存入uniform单元未占用的存储空间中,若uniform单元无法全部存储临时数据,则将剩余临时数据存入共享内存中,若共享内存依然无法全部存储临时数据再将剩余临时数据写回到ddr显存中;

4、当l1 cache单元在数据缺失情况下,通过l1 cache单元访问l2 cache单元,若l2cache单元命中直接将数据返回给l1 cache单元,若l2 cache单元未命中需从ddr显存中读取数据返回该l1 cache单元。

5、本发明提供的一种基于多级cache高速缓存的gpu存储结构,从多个流多处理器结构来考虑高性能的gpu存储结构及缓存系统如何设计,核心体现在加速流多处理器内部数据的存储与加载以及提升流多处理器间数据的交互与共享。为此设计了线程的私有存储、流处理器内uniform存储、流多处理器间的share memory存储和片外显存ddr存储的完整存储结构以及2级cache高速缓存,l1 cache用于流多处理器内部数据缓存,l2 cache用于流多处理器间数据缓存,既减少了片上资源的占用又减轻了片外存储的访问带宽,同时也加速了gpu数据的加载与传输。

技术特征:

1.一种基于多级cache高速缓存的gpu存储结构,其特征在于,包括多个功能完全独立的流多处理器smpu、l2 cache单元、共享内存和ddr显存,每一个流多处理器smpu包括多个流处理器mpu、texture纹理单元、uniform单元和l1 cache单元,所述l2 cache单元位于licache单元和ddr显存之间,每一个流多处理器smpu均分别与l2 cache单元和共享内存双向通信;

2.根据权利要求1所述的gpu存储结构,其特征在于,每一个所述l1 cache单元支持多通道并行访问,能够接收多路流处理器mpu的读写请求。

3.根据权利要求1所述的gpu存储结构,其特征在于,所述l1 cache单元包括多个cacheline,每一个cache line存储一段连续数据,当l1 cache单元接收到流处理器mpu的单次读请求时,能够根据流处理器mpu的单次读请求的读数据量,从同一个cache line中读取多个数据,返回给流处理器mpu。

4.根据权利要求3所述的gpu存储结构,其特征在于,当l1 cache单元接收到流处理器mpu的单次读请求,根据所述单次读请求中的读数据量,若l1 cache单元中存在单个cacheline中包含读数据量的数据,则从该单个cache line读取相应的数据返回给流处理器mpu;

5.根据权利要求1所述的gpu存储结构,其特征在于,所述l1 cache单元包括交叉互联开关和cache控制器,若多路请求同时访问l1 cache单元中的同一个存储块,所述交叉互联开关采用轮循策略确定多路请求访问同一个存储块的先后顺序,并依次将每一路请求发送给所述cache控制器,所述cache控制器,从相应的存储块中读取数据返回给对应的读请求;

6.根据权利要求5所述的gpu存储结构,其特征在于,所述若多路请求访问不同存储块,所述交叉互联开关确定多路请求与存储块的映射关系,包括:

7.根据权利要求1所述的gpu存储结构,其特征在于,所述l2 cache单元位于多个流多处理器smpu与ddr显存之间,负责响应多路l1 cache单元发来的读写请求;其中,l2 cache单元内部是采用流水线机制同时对读写请求进行处理,对于读写请求,均进行命中与否检测。

8.根据权利要求7所述的gpu存储结构,其特征在于,

9.根据权利要求7所述的gpu存储结构,其特征在于,当多路l1 cache单元同时向l2cache单元发起读请求时,若多路读请求的目标数据存在于l2 cache单元内的同一个cacheline中,则将多路读请求合并,基于合并读请求从l2 cache单元内的同一个cache line中读取目标数据,并将读取的目标数据分别返回给相应的每一路l1 cache单元。

技术总结本发明提供一种基于多级Cache高速缓存的GPU存储结构,主要从多个流多处理器结构来考虑高性能的GPU存储结构及缓存系统的设计,本发明技术方案的核心体现在加速流多处理器内部数据的存储与加载以及提升流多处理器间数据的交互与共享。为此从GPU的应用场景及渲染过程考虑,设计了线程的私有存储、流处理器内Uniform单元存储、流多处理器间的共享内存Share Memory存储和片外DDR显存存储的完整存储结构以及两级Cache高速缓存既减少了片上资源的占用又减轻了片外存储的访问带宽,同时也加速了GPU数据的加载与传输。技术研发人员:张彦芳,秦泰,尚文超受保护的技术使用者:武汉凌久微电子有限公司技术研发日:技术公布日:2024/8/20

本文地址:https://www.jishuxx.com/zhuanli/20240822/281339.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。