CN112817639B - Gpu读写单元通过操作数收集器访问寄存器文件的方法 - Google Patents
Gpu读写单元通过操作数收集器访问寄存器文件的方法 Download PDFInfo
- Publication number
- CN112817639B CN112817639B CN202110044102.3A CN202110044102A CN112817639B CN 112817639 B CN112817639 B CN 112817639B CN 202110044102 A CN202110044102 A CN 202110044102A CN 112817639 B CN112817639 B CN 112817639B
- Authority
- CN
- China
- Prior art keywords
- data
- demultiplexer
- multiplexer
- signal
- register file
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种GPU读写单元通过操作数收集器访问寄存器文件的方法,包括:当所有的操作数都获取完毕后,第一解复用器的选择信号为假,获取的操作数通过第一解复用器将数据分发给读写单元中的访存请求生成器,同时操作数收集器的非空信号为假;若发生命中并且命中数据位于L1cache中,数据行索引信号通过第二解复用器和第五多路选择器被发送到L1cache,将获取的数据通过第一多路选择器发送到数据缓冲器;若发生命中并且访存数据位于寄存器文件中,数据行索引信号通过第二解复用器和第四多路选择器被发送到地址转换单元,将数据行索引转换为寄存器地址,经第五解复用器和第一控制逻辑发送到操作数收集器,操作数收集器的非空信号变为真。
Description
技术领域
本发明涉及GPU(图形处理器)中的cache(高速缓冲存储器)和寄存器文件体系结构领域,尤其涉及一种GPU读写单元通过操作数收集器访问寄存器文件的方法,从而能够使访存数据保存到寄存器文件中,间接增大了L1cache(一级高速缓冲存储器)的有效容量。
背景技术
近年来,GPU已经发展成一种多线程的高性能并行通用计算平台,并且GPU的计算能力随着工艺技术的发展仍然在快速提高。与传统的CPU相比,GPU在处理能力和储存器带宽上有着明显的优势,在成本和功耗上也不需要付出太大的代价,吸引着越来越多的应用程序在GPU上进行加速。
在GPU软件层面,应用程序在GPU上运行时,首先需要将应用程序的任务细分为若干个可以独立运行的线程,再将多个线程组织成线程块,线程块的大小由软件来决定[1]。在GPU硬件层面,一个GPU由若干流多处理器、片内互联网络以及存储器构成。流多处理器内部具有支持多线程并行运行的寄存器文件,标量处理器,特殊功能单元,读写单元,共享存储器,L1cache等硬件资源。线程以线程块为单位分别被发送到各个流多处理器上进行执行,而在流多处理器内部,线程块内的线程又被硬件组织为大小固定的线程束,线程束是GPU的最基本的调度单元[2]。线程束内的线程以并行的方式运行,共享同一程序计数器。不同的线程束则通过线程束调度器的调度以零代价进行交替执行,从而隐藏操作延迟。
为了支持线程束之间的交替运行,需要为每个线程束分配独立的寄存器文件空间,并且线程束所需的寄存器文件空间会随着内核的不同而变化。另外,由于每个流多处理器能够支持数十个线程束,因此寄存器文件的容量可达上百KB[3]。而L1cache的容量仅有数十KB,并且不同于寄存器文件的独立分区,L1cache被流多处理器内的所有线程共享。在一些不规则的应用程序中,线程会对L1cache产生恶性竞争,造成L1cache命中率较低、无法全面发挥GPU的计算能力[4]。
参考文献
[1]NVIDIA Corporation.2015.NVIDIA CUDA C Programming Guide
[2]E.Lindholm,J.Nickolls,S.Oberman,J.Montrym.“NVIDIA Tesla:A UnifiedGraphics and Computing Architecture”,IEEE Micro,vol.28,no.2,pp.39-55,2008.
[3]M.K.Yoon,K.Kim,S.Lee,W.W.Ro,and M.Annavaram.2016.Virtual thread:Maximizing thread-level parallelism beyond GPU scheduling limit.InProceedings of the IEEE/ACM International Symposium on Computer Architecture(ISCA’16).609–621.
[4]T.G.Rogers,M.O’Connor,and T.M.Aamodt.2012.Cache-consciouswavefront scheduling.InProceedings of the IEEE/ACM International Symposium onMicroarchitecture(MICRO’12).72–83.
发明内容
本发明提供了一种GPU读写单元通过操作数收集器访问寄存器文件的方法,本发明通过所设计的数据通路,可以将寄存器文件中的空闲的寄存器作为虚拟cache来缓存访存数据,从而间接增大L1cache的有效容量;当访存请求获取访问数据时,若发生命中并且数据位于寄存器文件中,则通过数据通路将数据请求发送给操作数收集器,通过操作数收集器访问寄存器文件来获取数据,再将获取的数据发送到读写单元中的数据缓冲器,详见下文描述:
一种GPU读写单元通过操作数收集器访问寄存器文件的方法,所述方法包括以下步骤:
操作数收集器访问寄存器文件获取访存指令所需操作数,当所有的操作数都获取完毕后,第一解复用器的选择信号为假,获取的操作数通过第一解复用器将数据分发给读写单元中的访存请求生成器,同时操作数收集器的非空信号为假;
若发生命中并且命中数据位于L1cache中,数据行索引信号通过第二解复用器和第五多路选择器被发送到L1cache,将获取的数据通过第一多路选择器发送到数据缓冲器;
若发生命中并且访存数据位于寄存器文件中,数据行索引信号通过第二解复用器和第四多路选择器被发送到地址转换单元,将数据行索引转换为寄存器地址,经第五解复用器和第一控制逻辑发送到操作数收集器,操作数收集器的非空信号变为真。
其中,当缺失数据从下一级存储器返回,且所替换的数据行位于L1Cache中,RF_MISS信号为假,数据行索引通过第四解复用器发送到第五多路选择器作为其输入,最终被发送到L1Cache,缺失数据通过第三解复用器保存到L1cache中;
当缺失数据从下一级存储器返回,且所替换的数据行位于寄存器文件中,RF_MISS信号为真,MISS_RETURN信号为真,数据行索引通过第四解复用器和第四多路选择器发送到地址转换单元,地址转换单元的输出通过第五解复用器发送到寄存器文件;
缺失数据通过第三解复用器和第三多路选择器保存到寄存器文件中。
本发明提供的技术方案的有益效果是:
1、本发明通过设计一条新型数据通路连通读写单元和操作数收集器,并通过一系列控制逻辑使得访存指令可以通过该数据通路从寄存器文件进行取数操作,从而为将寄存器文件用于保存访存数据提供了物理基础,提高了L1cache的有效容量;
2、由于寄存器文件的访问速度要远远快于主存的访问速度,因此本发明所设计的数据通路能够减少因L1cache容量不足所导致的访存请求缺失所消耗的时间。
附图说明
图1为本发明设计的访存指令通过操作数收集器访问寄存器文件并在读写单元中生成访存请求的数据通路示意图;
图2为本发明设计的访存请求命中并且命中数据行位于寄存器文件时通过操作数收集器读写命中数据的数据通路示意图;
图3为本发明设计的访存请求缺失并且替换的数据行位于寄存器文件时将缺失数据保存到寄存器文件时的数据通路示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种GPU中读写单元与操作数收集器之间的数据通路的设计方法,该方法包括以下步骤:
一种GPU读写单元中的访存请求通过操作数收集器访问寄存器文件的方法,所述方法包括:
线程束调度器将线程束将要执行的访存指令的操作数请求发送到操作数收集器,操作数收集器的非空信号为真。操作数收集器访问寄存器文件获取访存指令所需操作数,当所有的操作数都获取完毕后,此时第一解复用器的选择信号optype为假,获取的操作数通过第一解复用器将数据分发给读写单元中的访存请求生成器,同时操作数收集器的非空信号为假。访存请求生成器将生成的若干个访存请求保存到访存请求队列中,此时访存请求队列的非空信号为真。计算位于访存请求队列队首的访存请求所对应的的tag,并发送到tag比较器进行比较。
若发生命中并且命中数据位于L1cache中,则三态门导通,RF_HIT信号为假,MISS信号为假,RF_MISS信号为假,optype信号保持为假,数据行索引信号通过第二解复用器和第五多路选择器被发送到L1cache,然后将获取的数据通过第一多路选择器发送到数据缓冲器。
若发生命中并且访存数据位于寄存器文件中,则三态门导通,RF_HIT信号为真,MISS信号为假,RF_MISS信号为假,数据行索引信号通过第二解复用器和第四多路选择器被发送到地址转换单元,将数据行索引转换为寄存器地址,然后经第五解复用器和第一控制逻辑发送到操作数收集器,操作数收集器的非空信号变为真。第一控制逻辑包含第二多路选择器,其选择信号由操作数收集器的非空信号和访存请求队列的非空信号经或非门获得。只有当操作数收集器和访存请求队列的非空信号均为假时,选择信号为真,此时第二多路选择器选择线程束调度器发送的操作数请求并作为输出发送到操作数收集器中。否则,只能接受地址转换单元发送来的访问请求作为输出发送到操作数收集器。第一控制逻辑的设计能够有效的避免程序在运行过程中发生的死锁现象。操作数收集器访问寄存器文件获取访存请求所需的数据,然后通过第一解复用器将数据分发到第一多路选择器。此时第一解复用器选择信号optype和第一多路选择器的选择信号RF_HIT均为真,因此数据进而被发送到数据缓冲器中。
若发生缺失并且所替换的数据行位于L1cache中,则将缺失的访存请求信息保存到MSHR(缺失状态保持寄存器)中并前往下一级存储器获取数据。当缺失数据从下一级存储器返回时,第三解复用器的选择信号RF_MISS为假,数据被保存到L1cache中。
若发生缺失并且所替换的数据行位于寄存器文件中,则将缺失的访存请求信息保存到MSHR中并前往下一级存储器获取数据。当缺失数据从下一级存储器返回时,第三解复用器的选择信号RF_MISS为真,数据被分发到第三多路选择器。此时由记分板发出的指令结束信号INST_DONE为假,第三多路选择器选择第三解复用器的输出作为输入并输出保存到寄存器文件中。
当访存指令所有访存请求的数据都获取完毕之后,记分板指令结束信号为真,第三多路选择器选择数据缓冲器中的数据作为输出写入到寄存器文件中。同时,读写单元中访存请求队列的非空信号和操作数收集器的非空信号均为假,表示操作数收集器可以接收来自线程束调度器发送的新访存指令。
实施例1
为访存指令通过线程束调度器发送到操作数收集器,通过操作数收集器访问寄存器文件来获取数据并在读写单元中生成访存请求,该过程所需数据及控制信号通路如图1中实线所示。
GPU中的L1cache数据行的大小和寄存器文件中每个寄存器的大小均为128字节。L1cache用于缓存访存数据,而寄存器文件则用于暂存计算线程束计算过程中产生的中间数据。在系统实际运行过程中,寄存器文件会存在空闲的多余存储空间。
基于本发明实施例,可将这些存储空间当作虚拟cache使用来保存访存数据。因此,需要把寄存器文件的全部存储空间都附加上tag标签,该tag标签与L1cache的标签均存储于tag比较器中。
操作数收集器共有三个条目和两个标记位,两个标记位分别为线程束索引WID和操作类型optype,每个条目又包含四个域,分别为:有效位V、寄存器索引位RID、数据就绪位R和数据域data。系统运行过程中,线程束调度器将线程束w0的访存指令inst-a发送到操作数收集器。操作数收集器中线程束索引位index被置为W0,操作类型optype被置为LD,表示该访存指令为读操作;操作数收集器中的第一个条目的有效位V被置为真,表示该条目的数据请求能够对寄存器文件进行访问;寄存器索引位被置为R0,表示该条将要访问的数据为线程束w0的寄存器R0;数据就绪位R为假,数据域data为空,表示数据还未获取到。另外,操作数收集器的非空信号为真,读写单元中的访存请求队列的非空信号为假,从而使第二多路选择器的选择信号为假,表示操作数收集器此时仅能接受来自读写单元的请求。操作数收集器从寄存器文件读取数据并将数据保存在第一个条目中的数据域data中,数据就绪位R被置为真。操作类型optype为LD(~RF_HIT),作为第一解复用器的选择信号,将数据发送到读写单元中的访存请求生成器进而将生成的访存请求保存到访存请求队列中。此时,操作数收集器非空信号变为假,访存请求队列非空信号变为真。位于访存请求队列队首的访存请求req-0将其tag信息发送到tag比较器进行比较,来判断访存请求是否命中。
实施例2
当访存请求发生命中并且命中的数据行位于寄存器文件中,该过程所需数据及控制信号通路如图2中实线所示。若结果为命中并且命中的数据块位于寄存器文件中,控制信号C1和RF_HIT均为真,从而使三态门导通,数据行索引信息在RF_HIT信号的控制下通过第二解复用器被发送到第四多路选择器。因此此时并非缺失数据返回请求,所以MISS_RETURN信号为假,第四多路选择器选择第二解复用器发送来的数据作为输出发送给地址转换单元。地址转换单元根据公式(line_index-assoc)×set_num+set_index+set_index%bank_num将数据块索引line_index转换为寄存器索引reg_index,其中assoc为L1cache的关联数,set_num为L1cache的总组数,set_index为访存请求所访问的组索引,bank_num为寄存器文件的bank数量。将计算得到的reg_index信息发送到第五解复用器,此时RF_MISS信号为假,reg_index信息进而被发送到第二多路选择器。此时操作数收集器非空信号为假,访存请求队列非空信号为真,因此reg_index通过第二多路选择器被发送到操作数收集器。此时,操作数收集器中的线程束索引被置为w0,操作数类型optype被置为RF_HIT,第一个条目的有效位V被置为真,寄存器索引RID被置为reg_index,数据就绪位R被置为假。操作数收集器将reg_index作为地址发送到寄存器文件进行数据读取并将读取的数据保存到第一个条目中的数据域,同时数据就绪位R被置为真。然后操作数收集器将数据在第一解复用器的控制下(此时选择信号optype为RF_HIT)发送到第一多路选择器的输入端,通过optype信号(RF_HIT)的控制作为输出保存到数据缓冲器中。
实施例3
为访存请求发生缺失并且替换的数据行位于寄存器文件中,该过程所需数据及控制信号通路如图3中实线所示。若发生缺失并且替换的数据行位于寄存器文件中,将替换的数据行索引信息保存到MSHR中。当缺失数据从下一级存储器返回时,MISS_RETURN信号为真。并且由于需要将缺失数据写到寄存器文件中,因此RF_MISS信号也为真。首先,从MSHR中获取该访存请求所要替换的数据行索引并发送到第四解复用器,进而在RF_MISS信号的控制下将数据行索引信息发送到第四多路选择器的输入端,并在MISS_RETURN信号的控制下作为输出发送到地址转换单元将数据行索引转换为寄存器索引,然后在第五解复用器的控制下(RF_MISS信号为真)发送到寄存器文件作为缺失数据写入寄存器的地址。同时,缺失数据在RF_MISS信号的控制下通过第三解复用器发送到第三多路选择器的输入端。此时由于访存指令并没有处理完毕,因此INST_DONE信号为假,选择缺失数据作为第三多路选择器的输出并根据寄存器索引写入到寄存器文件中所要替换的寄存器中。
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种GPU读写单元通过操作数收集器访问寄存器文件的方法,其特征在于,所述方法包括以下步骤:
操作数收集器访问寄存器文件获取访存指令所需操作数,当所有的操作数都获取完毕后,第一解复用器的选择信号为假,获取的操作数通过第一解复用器将数据分发给读写单元中的访存请求生成器,同时操作数收集器的非空信号为假;
若发生命中并且命中数据位于L1 cache中,数据行索引信号通过第二解复用器和第五多路选择器被发送到L1 cache,将获取的数据通过第一多路选择器发送到数据缓冲器;
若发生命中并且访存数据位于寄存器文件中,数据行索引信号通过第二解复用器和第四多路选择器被发送到地址转换单元,将数据行索引转换为寄存器地址,经第五解复用器和第一控制逻辑发送到操作数收集器,操作数收集器的非空信号变为真。
2.根据权利要求1所述的一种GPU读写单元通过操作数收集器访问寄存器文件的方法,其特征在于,所述第一控制逻辑包含第二多路选择器,选择信号由操作数收集器的非空信号和访存请求队列的非空信号经或非门获得;
当操作数收集器和访存请求队列的非空信号均为假时,选择信号为真,第二多路选择器选择线程束调度器发送的操作数请求并作为输出发送到操作数收集器中。
3.根据权利要求2所述的一种GPU读写单元通过操作数收集器访问寄存器文件的方法,其特征在于,所述方法还包括:
选择信号为假时,第二多路选择器接受地址转换单元发送来的访问请求作为输出发送到操作数收集器。
4.根据权利要求1所述的一种GPU读写单元通过操作数收集器访问寄存器文件的方法,其特征在于,所述第一控制逻辑用于避免程序在运行过程中发生的死锁现象。
5.根据权利要求1所述的一种GPU读写单元通过操作数收集器访问寄存器文件的方法,其特征在于,所述操作数收集器访问寄存器文件获取访存请求所需的数据,通过第一解复用器将数据分发到第一多路选择器,第一解复用器选择信号optype和第一多路选择器的选择信号RF_HIT均为真,数据被发送到数据缓冲器中。
6.根据权利要求1所述的一种GPU读写单元通过操作数收集器访问寄存器文件的方法,其特征在于,当缺失数据从下一级存储器返回,且所替换的数据行位于L1 Cache中,RF_MISS信号为假,数据行索引通过第四解复用器发送到第五多路选择器作为其输入,最终被发送到L1 Cache,缺失数据通过第三解复用器保存到L1 cache中;
当缺失数据从下一级存储器返回,且所替换的数据行位于寄存器文件中,RF_MISS信号为真,MISS_RETURN信号为真,数据行索引通过第四解复用器和第四多路选择器发送到地址转换单元,地址转换单元的输出通过第五解复用器发送到寄存器文件;
缺失数据通过第三解复用器和第三多路选择器保存到寄存器文件中。
7.根据权利要求1所述的一种GPU读写单元通过操作数收集器访问寄存器文件的方法,其特征在于,所述方法还包括:
当访存指令所有访存请求的数据都获取完毕之后,记分板指令结束信号为真,第三多路选择器选择数据缓冲器中的数据作为输出写入到寄存器文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110044102.3A CN112817639B (zh) | 2021-01-13 | 2021-01-13 | Gpu读写单元通过操作数收集器访问寄存器文件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110044102.3A CN112817639B (zh) | 2021-01-13 | 2021-01-13 | Gpu读写单元通过操作数收集器访问寄存器文件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817639A CN112817639A (zh) | 2021-05-18 |
CN112817639B true CN112817639B (zh) | 2022-04-08 |
Family
ID=75869266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110044102.3A Active CN112817639B (zh) | 2021-01-13 | 2021-01-13 | Gpu读写单元通过操作数收集器访问寄存器文件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817639B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806250B (zh) * | 2021-09-24 | 2022-10-18 | 中国人民解放军国防科技大学 | 通用处理器核心与向量部件的协同方法、接口及处理器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218208A (zh) * | 2011-12-06 | 2013-07-24 | 辉达公司 | 用于实施成形的存储器访问操作的系统和方法 |
CN109614145A (zh) * | 2018-10-18 | 2019-04-12 | 中国科学院计算技术研究所 | 一种处理器核心结构及数据访存方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7284092B2 (en) * | 2004-06-24 | 2007-10-16 | International Business Machines Corporation | Digital data processing apparatus having multi-level register file |
CN101814039B (zh) * | 2010-02-02 | 2011-05-18 | 北京航空航天大学 | 一种基于GPU的Cache模拟器及其空间并行加速模拟方法 |
US9459869B2 (en) * | 2013-08-20 | 2016-10-04 | Apple Inc. | Intelligent caching for an operand cache |
CN104182281B (zh) * | 2014-08-25 | 2017-10-31 | 浙江大学城市学院 | 一种gpgpu寄存器缓存的实现方法 |
US20170371654A1 (en) * | 2016-06-23 | 2017-12-28 | Advanced Micro Devices, Inc. | System and method for using virtual vector register files |
CN110457238B (zh) * | 2019-07-04 | 2023-01-03 | 中国民航大学 | 减缓GPU访存请求及指令访问cache时停顿的方法 |
-
2021
- 2021-01-13 CN CN202110044102.3A patent/CN112817639B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218208A (zh) * | 2011-12-06 | 2013-07-24 | 辉达公司 | 用于实施成形的存储器访问操作的系统和方法 |
CN109614145A (zh) * | 2018-10-18 | 2019-04-12 | 中国科学院计算技术研究所 | 一种处理器核心结构及数据访存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112817639A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8707012B2 (en) | Implementing vector memory operations | |
US11126555B2 (en) | Multi-line data prefetching using dynamic prefetch depth | |
US10255228B2 (en) | System and method for performing shaped memory access operations | |
US9262174B2 (en) | Dynamic bank mode addressing for memory access | |
CN110457238B (zh) | 减缓GPU访存请求及指令访问cache时停顿的方法 | |
US10474578B2 (en) | Utilization-based throttling of hardware prefetchers | |
US20080141268A1 (en) | Utility function execution using scout threads | |
CN101918925B (zh) | 用于处理器的高关联性高速缓存的第二次机会取代机制 | |
Mathew et al. | Design of a parallel vector access unit for SDRAM memory systems | |
CN106708626A (zh) | 一种面向低功耗的异构多核共享cache划分方法 | |
US7581067B2 (en) | Load when reservation lost instruction for performing cacheline polling | |
US6427189B1 (en) | Multiple issue algorithm with over subscription avoidance feature to get high bandwidth through cache pipeline | |
US20090006036A1 (en) | Shared, Low Cost and Featureable Performance Monitor Unit | |
CN112817639B (zh) | Gpu读写单元通过操作数收集器访问寄存器文件的方法 | |
US20090006777A1 (en) | Apparatus for reducing cache latency while preserving cache bandwidth in a cache subsystem of a processor | |
US10817433B2 (en) | Page tables for granular allocation of memory pages | |
US20100257319A1 (en) | Cache system, method of controlling cache system, and information processing apparatus | |
CN111736900A (zh) | 一种并行双通道的cache设计方法和装置 | |
TWI636362B (zh) | 高性能快取方法和裝置 | |
Lin et al. | DRAM-level prefetching for fully-buffered DIMM: Design, performance and power saving | |
CN114911724A (zh) | 一种基于多bank的cache预取技术的访存结构 | |
KR20230046356A (ko) | 메모리 장치, 메모리 장치의 동작 방법, 그리고 메모리 장치를 포함하는 전자 장치 | |
Wang et al. | Incorporating selective victim cache into GPGPU for high‐performance computing | |
Yu et al. | Buffer on last level cache for cpu and gpgpu data sharing | |
Liang et al. | Design and Implementation of DSP Cache |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |