CN117555824A - 基于mvp架构的gpu模拟器中高速缓存器存储架构 - Google Patents

基于mvp架构的gpu模拟器中高速缓存器存储架构 Download PDF

Info

Publication number
CN117555824A
CN117555824A CN202410044930.0A CN202410044930A CN117555824A CN 117555824 A CN117555824 A CN 117555824A CN 202410044930 A CN202410044930 A CN 202410044930A CN 117555824 A CN117555824 A CN 117555824A
Authority
CN
China
Prior art keywords
cache
architecture
gpu
simulator
mvp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410044930.0A
Other languages
English (en)
Inventor
黄梓衔
刘永刚
方冲
胡子豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Icube Corp ltd
Original Assignee
Icube Corp ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Icube Corp ltd filed Critical Icube Corp ltd
Priority to CN202410044930.0A priority Critical patent/CN117555824A/zh
Publication of CN117555824A publication Critical patent/CN117555824A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于MVP架构的GPU模拟器中高速缓存器存储架构,高速缓存器存储架构为多级结构,所述GPU模拟器中的一级缓存位于单流水线处理单元中并且由所述单流水线处理单元独占,二级缓存位于所述GPU模拟器芯片中并被各图像处理线程共享。各缓存之间直接通过端口传输,所述二级缓存与主存之间通过总线互联。本发明高速缓存器存储架构实现了灵活的多级缓存机制,增添更多可支持配置的高速缓存器逻辑,实现同时执行线程的访存合并,以此减少产生的访存请求,优化并加速访存过程,从而提高了GPU模拟器访问内存的性能。

Description

基于MVP架构的GPU模拟器中高速缓存器存储架构
技术领域
本发明属于集成电路技术领域,具体涉及一种基于MVP架构的GPU模拟器中高速缓存器存储架构。
背景技术
当前的GPU(图形处理单元)模拟器已支持基于MVP架构的流水线程,然而存储子系统中的缓存机制仅支持部分缓存结构,例如一级缓存仅支持组关联缓存(set-associativecache),二级缓存仅支持分块组关联缓存(set-associative sector cache)。缓存使用配置仅支持几种组合,并且必须在GPU模拟器中的固定位置,具体地,现有高速缓存器(cache)存储架构存在的问题包括:
现有的GPU模拟器中高速缓存器缓存级数不可增加,现有合并缓存机制使得缓存行大小只支持128位,多路机制实现存在问题;
一级与二级缓存的类型固定,存在于GPU模拟器中的级别和位置固定,并且与MVP架构存在差异,在GPU模拟器系统内的缓存传输过程中也无性能数据记录,无法完成GPU模拟器模拟运行GPU性能时收集数据的功能;
一级数据缓存和一级指令缓存在获得低级存储单元返回的数据后,唤醒线程调度器的过程中无优先级,因此存在对调度器访问的竞争关系。
发明内容
本发明针对上述问题,提供了一种基于MVP架构的GPU模拟器中高速缓存器存储架构,旨在通过缓存的方式实现灵活的缓存配置。
本发明的技术方案如下:
一种基于MVP架构的GPU模拟器中高速缓存器存储架构,所述高速缓存器存储架构为多级结构,所述GPU模拟器中的一级缓存位于单流水线处理单元中并且由所述单流水线处理单元独占,二级缓存位于所述GPU模拟器芯片中并被各图像处理线程共享。
在一些实施例中,各缓存之间直接通过端口传输,所述二级缓存与主存之间通过总线互联。
在一些实施例中,各二级缓存均对应单个显存通道,从处理单元下发的数据访问请求先通过获取二级缓存的编号用于访问二级缓存,如果二级缓存发生未命中的情况,则由未命中的二级缓存向对应的显存通道发送请求。
在一些实施例中,所述一级缓存和所述二级缓存之间由AXI协议进行数据传输,使用同一个互联结构通过队列方式进行管理用于提高所述GPU模拟器的运行效率。
在一些实施例中,所述高速缓存器存储架构结合Multi-banking技术和分块缓存行技术,所述Multi-banking作用在数据地址选择进入缓存时,在第一条缓存行之前,用于减少访问冲突和缓存未命中时修改缓存行的次数;所述分块缓存行发生在缓存行内,即一条缓存行内各sector块之间地址是连续的,通过 分块缓存仅获取缓存行的一部分,用于减少处理未命中的时间和总线流量。
在一些实施例中,所述高速缓存器存储架构中各级memory和高速缓存器的地址映射结构适应于MVP架构。
在一些实施例中,通过修改所述GPU模拟器相应函数使所述GPU模拟器对应不同的地址映射关系,从而影响GPU性能。
在一些实施例中,通过对指令缓存和数据缓存区分设限使同级的两种缓存适配更多调度器。
本公开实施例提供的技术方案:一种基于MVP架构的GPU模拟器中高速缓存器存储架构,用于优化访存指令,实现灵活的高速缓存器配置,可以对访问过程进行数据记录,并显示各级高速缓存器的性能消耗;相比于现有的GPU模拟器中的高速缓存器结构,本发明的高速缓存器逻辑更加灵活,易于配置,可以模拟更多高速缓存器使用情况;高速缓存器存储架构中各级memory和高速缓存器的地址映射结构适应于MVP架构,修改GPU模拟器相应函数可以使GPU模拟器对应不同的地址映射关系,从而影响GPU性能,有利于提高模拟仿真中设备性能的准确性;对指令缓存和数据缓存更加严格区分设限,可以使同级的两种缓存能够适配更多调度器,避免对调度器访问的竞争。综上所述,本发明高速缓存器存储架构实现了灵活的多级缓存机制,而且高速缓存器逻辑可支持配置,可以执行线程的访存合并,用于减少访存请求,加速访存过程,从而提高了GPU模拟器访问内存的性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理
图1是本发明实施例的MVP架构中二级缓存结构的定位以及层级关系示意图;
图2是本发明实施例的GPU模拟器对二级缓存结构的定位以及层级关系示意图;
图3是本发明实施例中Multi-banking技术和分块缓存行技术结合示意图。
实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅出示了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例针对一种基于MVP架构的GPU模拟器中高速缓存器存储架构,提供了如下实施例:
如图1所示,表示MVP架构中二级缓存结构的定位与层级关系,一级缓存位于SP(单流水线处理单元)中,由SP独占,二级缓存位于SM(多流水线处理单元集合)中,由SM独占。缓存之间与主显存的传输由AXI协议完成。这种存储架构使得二级缓存与多流水线处理单元绑定,当该处理单元不需要访问二级缓存而另外的处理单元有可能需要大量访问二级缓存时,不能更好利用空闲资源,其次位于主显存中的数据可能需要拷贝多份到不同的二级缓存中,这样会使得多个二级缓存存储了同样数据,引起冗余。
如图2所示,表示在GPU模拟器中二级存储结构的定位与层级关系,这种架构层级可以使得二级缓存不再与SM位置绑定,提高二级高速缓存器的可配置性和灵活性,一级缓存位于SP(单流水线处理单元)中,由SP独占,二级缓存位于GPC(图形处理组)与DRAM(显存)芯片之间被所有GPC所共享。缓存之间通过端口和AXI传输,二级缓存与主存之间需要通过总线互联。二级缓存与单个显存的通道对应,即一个显存通道由一个二级缓存负责,这样从处理单元下发的数据访问请求可先通过获取二级缓存的编号,提高访问单个二级缓存的速度,如果二级缓存发生未命中的情况,则由该二级缓存向其对应的显存通道发送请求,进而提高二级缓存与显存之间的数据交换速度。
通过上述方式,GPU模拟器中二级缓存将提高高速缓存器存储可配置性和灵活性,有助于使二级缓存以更小的代价扩大其容量,其次一级缓存和二级原本由AXI协议进行数据传输,可以使用同一个互联总线通过队列方式进行管理(即在总线实例中建立一级缓存发送请求和获取的数据的队列),从而提高GPU模拟器运行效率,不再需要对每个一级缓存与二级缓存的AXI协议进行实例化。
如图3所示,将Multi-banking多分组技术和sector cache line(分块缓存行)技术结合,用于减少缓存访问冲突,减少缓存未命中时向下级存储单元发送数据请求所需要的时间。Multi-banking作用在数据地址选择进入缓存时,在第一条缓存行之前,用于减少访问冲突和缓存未命中时修改缓存行的次数;分块缓存行发生在缓存行内,一条缓存行内各个sector(域)块之间地址是连续的,使用 分块缓存,可以仅获取缓存行的一部分,可以显著减少处理未命中的时间和总线流量。虽然分块缓存行可能比普通 缓存形式具有更高的未命中率,但是当考虑时序时,分块缓存行可能会具有更好的性能。这种缓存结构有利于减少缓存未命中时向下级存储单元发送数据请求的数据大小,同时有利于在不得不发生缓存行切换时,不将缓存行所有内容切换而只切换sector块,减少切换时间,以及减少当再次访问之前已经存在于缓存内的地址,却由于缓存行的替换而未命中的情况。
GPU模拟器的高速缓存器架构具有高性能科学计算性能,可以用于模拟并优化高性能计算,提高访存密集型任务的执行效率;
GPU模拟器的高速缓存器架构具有图形渲染功能,可以用于优化图元渲染算法的访存过程,通过与基于MVP架构的GPU模拟器内核共同工作,可为实现这些图元渲染算法的GPU提供设计思路;
GPU模拟器的高速缓存器架构可以在人工智能包括但不限于机器学习和深度学习的领域中发挥作用。通过优化神经网络的结构使得训练过程中对数据的访存速度提高,可以加速深度学习相关模型的数据载入和存储,以及加速相关计算过程,提高模型的训练和推理过程速度。
GPU模拟器的高速缓存器架构可以在数据分析和大数据处理技术领域起作用,通过优化并行计算和并行数据处理过程中对数据的访存方式及顺序,可以加速GPU对数据获取和分析过程,提高数据分析过程的效率。
综合上述各实施例提供的技术方案,一种基于MVP架构的GPU模拟器中高速缓存器存储架构,用于优化访存指令,实现灵活的高速缓存器配置,可以对访问过程进行数据记录,并显示各级高速缓存器的性能消耗;相比于现有的GPU模拟器中的高速缓存器结构,本发明的高速缓存器逻辑更加灵活,易于配置,可以模拟更多高速缓存器使用情况;高速缓存器存储架构中各级memory和高速缓存器的地址映射结构适应于MVP架构,修改GPU模拟器相应函数可以使GPU模拟器对应不同的地址映射关系,从而影响GPU性能,有利于提高模拟仿真中设备性能的准确性;对指令缓存和数据缓存更加严格区分设限,可以使同级的两种缓存能够适配更多调度器,避免对调度器访问的竞争。综上所述,本发明高速缓存器存储架构实现了灵活的多级缓存机制,而且高速缓存器逻辑可支持配置,可以执行线程的访存合并,用于减少访存请求,加速访存过程,从而提高了GPU模拟器访问内存的性能。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的步骤、方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种步骤、方法所固有的要素。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (8)

1.一种基于MVP架构的GPU模拟器中高速缓存器存储架构,其特征在于,所述高速缓存器存储架构为多级结构,所述GPU模拟器中的一级缓存位于单流水线处理单元中并且由所述单流水线处理单元独占,二级缓存位于所述GPU模拟器芯片中并被各图像处理线程共享。
2.根据权利要求1所述的基于MVP架构的GPU模拟器中高速缓存器存储架构,其特征在于,各缓存之间直接通过端口传输,所述二级缓存与主存之间通过总线互联。
3.根据权利要求1所述的基于MVP架构的GPU模拟器中高速缓存器存储架构,其特征在于,各二级缓存均对应单个显存通道,从处理单元下发的数据访问请求先通过获取二级缓存的编号用于访问二级缓存,如果二级缓存发生未命中的情况,则由未命中的二级缓存向对应的显存通道发送请求。
4.根据权利要求1所述的基于MVP架构的GPU模拟器中高速缓存器存储架构,其特征在于,所述一级缓存和所述二级缓存之间由AXI协议进行数据传输,使用同一个互联结构通过队列方式进行管理用于提高所述GPU模拟器的运行效率。
5.根据权利要求1所述的基于MVP架构的GPU模拟器中高速缓存器存储架构,其特征在于,所述高速缓存器存储架构结合Multi-banking技术和分块缓存行技术,所述Multi-banking作用在数据地址选择进入缓存前,用于减少访问冲突和缓存未命中时修改缓存行的次数;所述分块缓存行发生在缓存行内,即一条缓存行内各sector块之间地址是连续的,通过分块缓存仅获取缓存行的一部分,用于减少处理未命中的时间和总线流量。
6.根据权利要求1所述的基于MVP架构的GPU模拟器中高速缓存器存储架构,其特征在于,所述高速缓存器存储架构中各级memory和高速缓存器的地址映射结构适应于MVP架构。
7.根据权利要求1所述的基于MVP架构的GPU模拟器中高速缓存器存储架构,其特征在于,通过修改所述GPU模拟器相应函数使所述GPU模拟器对应不同的地址映射关系。
8.根据权利要求1-权利要求7任一项所述的基于MVP架构的GPU模拟器中高速缓存器存储架构,其特征在于,通过对指令缓存和数据缓存区分设限使同级的两种缓存适配更多调度器。
CN202410044930.0A 2024-01-12 2024-01-12 基于mvp架构的gpu模拟器中高速缓存器存储架构 Pending CN117555824A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410044930.0A CN117555824A (zh) 2024-01-12 2024-01-12 基于mvp架构的gpu模拟器中高速缓存器存储架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410044930.0A CN117555824A (zh) 2024-01-12 2024-01-12 基于mvp架构的gpu模拟器中高速缓存器存储架构

Publications (1)

Publication Number Publication Date
CN117555824A true CN117555824A (zh) 2024-02-13

Family

ID=89820910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410044930.0A Pending CN117555824A (zh) 2024-01-12 2024-01-12 基于mvp架构的gpu模拟器中高速缓存器存储架构

Country Status (1)

Country Link
CN (1) CN117555824A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087792A1 (en) * 2000-12-28 2002-07-04 Arimilli Ravi Kumar Multiprocessor computer system with sectored cache line mechanism for load and store operations
CN102662853A (zh) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 实现使用存储级并行的内存管理方法及装置
CN103218309A (zh) * 2011-12-06 2013-07-24 辉达公司 多级指令高速缓存预取
US10102149B1 (en) * 2017-04-17 2018-10-16 Intel Corporation Replacement policies for a hybrid hierarchical cache
CN111311478A (zh) * 2020-03-23 2020-06-19 南京芯瞳半导体技术有限公司 一种gpu渲染核数据的预读取方法、装置及计算机存储介质
CN112527729A (zh) * 2020-12-15 2021-03-19 杭州慧芯达科技有限公司 一种紧耦合异构多核处理器架构及其处理方法
CN115543938A (zh) * 2021-06-30 2022-12-30 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN116745800A (zh) * 2020-12-28 2023-09-12 超威半导体公司 针对高速缓存行的未命中请求的选择性生成
CN116881192A (zh) * 2023-06-06 2023-10-13 中国人民解放军军事科学院国防科技创新研究院 用于GPU的cluster架构及其内部一级缓存管理方法
AU2023251547A1 (en) * 2019-09-09 2023-11-16 Nvidia Corporation Video upsampling using one or more neural networks

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087792A1 (en) * 2000-12-28 2002-07-04 Arimilli Ravi Kumar Multiprocessor computer system with sectored cache line mechanism for load and store operations
CN103218309A (zh) * 2011-12-06 2013-07-24 辉达公司 多级指令高速缓存预取
CN102662853A (zh) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 实现使用存储级并行的内存管理方法及装置
US10102149B1 (en) * 2017-04-17 2018-10-16 Intel Corporation Replacement policies for a hybrid hierarchical cache
AU2023251547A1 (en) * 2019-09-09 2023-11-16 Nvidia Corporation Video upsampling using one or more neural networks
CN111311478A (zh) * 2020-03-23 2020-06-19 南京芯瞳半导体技术有限公司 一种gpu渲染核数据的预读取方法、装置及计算机存储介质
CN112527729A (zh) * 2020-12-15 2021-03-19 杭州慧芯达科技有限公司 一种紧耦合异构多核处理器架构及其处理方法
CN116745800A (zh) * 2020-12-28 2023-09-12 超威半导体公司 针对高速缓存行的未命中请求的选择性生成
CN115543938A (zh) * 2021-06-30 2022-12-30 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN116881192A (zh) * 2023-06-06 2023-10-13 中国人民解放军军事科学院国防科技创新研究院 用于GPU的cluster架构及其内部一级缓存管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张函: "基于GPU的深度神经网络模型并行及优化方法研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, 15 January 2018 (2018-01-15), pages 138 - 1603 *
张函: "基于GPU的深度神经网络模型并行及优化方法研究", 中国优秀硕士学位论文全文数据库(信息科技辑), 15 January 2018 (2018-01-15), pages 138 - 1603 *
陈宗海: "《系统仿真技术及其应用》", 31 July 2009, pages: 682 *

Similar Documents

Publication Publication Date Title
KR101121487B1 (ko) 멀티-클래스 데이터 캐시 정책들
US8244984B1 (en) System and method for cleaning dirty data in an intermediate cache using a data class dependent eviction policy
US6426753B1 (en) Cache memory for high latency and out-of-order return of texture data
US6356270B2 (en) Efficient utilization of write-combining buffers
US9952977B2 (en) Cache operations and policies for a multi-threaded client
US9755994B2 (en) Mechanism for tracking age of common resource requests within a resource management subsystem
CN101604295B (zh) 优化基于目录的一致性协议中的并发访问
CN1717664B (zh) 微处理器、高速缓存存储器子系统及计算机系统
KR100389103B1 (ko) 컴퓨터 시스템에서 장치 사이에 데이터를 전송하는 방법, 시스템 및 컴퓨터로 판독가능한 기록매체
US6629188B1 (en) Circuit and method for prefetching data for a texture cache
CN1940892A (zh) 逐出高速缓存的行的电路布置、数据处理系统和方法
US8060700B1 (en) System, method and frame buffer logic for evicting dirty data from a cache using counters and data types
CN1217799A (zh) 象素引擎数据高速缓存装置
US8341358B1 (en) System and method for cleaning dirty data in a cache via frame buffer logic
US8234478B1 (en) Using a data cache array as a DRAM load/store buffer
CN101201933B (zh) 绘图处理单元及方法
US20140006716A1 (en) Data control using last accessor information
US8788761B2 (en) System and method for explicitly managing cache coherence
CN112465689B (zh) 基于可见显存交换区的gpu不可见显存管理方法及系统
JP5265827B2 (ja) ハイブリッドコヒーレンスプロトコル
CN1896971B (zh) 操作系统辅助磁盘高速缓存系统和方法
CN115809028A (zh) 一种缓存数据替换方法、装置、图形处理系统及电子设备
CN113222115B (zh) 面向卷积神经网络的共享缓存阵列
US8464001B1 (en) Cache and associated method with frame buffer managed dirty data pull and high-priority clean mechanism
CN117555824A (zh) 基于mvp架构的gpu模拟器中高速缓存器存储架构

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination