CN115390756A - 一种基于掩码的GPU像素流Cache的读写访问系统及方法 - Google Patents

一种基于掩码的GPU像素流Cache的读写访问系统及方法 Download PDF

Info

Publication number
CN115390756A
CN115390756A CN202211001957.9A CN202211001957A CN115390756A CN 115390756 A CN115390756 A CN 115390756A CN 202211001957 A CN202211001957 A CN 202211001957A CN 115390756 A CN115390756 A CN 115390756A
Authority
CN
China
Prior art keywords
data
mask
read
tag
ram
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
CN202211001957.9A
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.)
Xian Xiangteng Microelectronics Technology Co Ltd
Original Assignee
Xian Xiangteng Microelectronics Technology Co 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 Xian Xiangteng Microelectronics Technology Co Ltd filed Critical Xian Xiangteng Microelectronics Technology Co Ltd
Priority to CN202211001957.9A priority Critical patent/CN115390756A/zh
Publication of CN115390756A publication Critical patent/CN115390756A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明涉及一种基于掩码的GPU像素流Cache的读写访问系统及方法。本发明的系统包括TAG比对逻辑模块、替换算法模块、写回逻辑模块和更新逻辑模块,TAG比对逻辑模块分别与替换算法模块、写回逻辑模块和更新逻辑模块连接,替换算法模块分别与写回逻辑模块和更新逻辑模块连接,写回逻辑模块与更新逻辑模块连接。本发明使用存储数据的同时用存储掩码的设计代替了通用Cache在写操作缺失时候的替换过程,减少了Cache的延迟,使得GPU的像素流得到了更高速的缓存效果,更适用于图形处理器对像素流的缓存。

Description

一种基于掩码的GPU像素流Cache的读写访问系统及方法
技术领域
本发明属于继承电路设计技术,尤其是一种基于掩码的GPU像素流Cache的读写访问系统及方法。
背景技术
GPU像素流Cache更多的需求是对数据的缓存而不是数据的局部性,而且每次写入的数据可能只是一个颜色值,然而通用的Cache只缓存数据,并不对掩码进行缓存,为了保持数据的一致性,在读写命中的时候都需要将主存的数据替换回Cache缓存中,这样在数据局部性好的情况下,替换一次可以多次产生命中。而GPU数据流的缓存需求高于数据的局部性,命中率会相对降低,会产生相对频繁的缺失,而缺失需要发生替换操作,Cache的延迟就会增加,从而影响GPU的绘图速率。因此本发明提出一种基于掩码的GPU像素流Cache读写访问机制,使用存储数据的同时存储掩码的设计代替了通用Cache在写操作缺失时候的替换过程,减少了Cache的延迟,更适用于图形处理器对像素流的缓存。
发明内容
为解决背景技术中存在的技术问题,本发明提供一种基于掩码的GPU像素流Cache的读写访问系统及方法,使用存储数据的同时用存储掩码的设计代替了通用Cache在写操作缺失时候的替换过程,在Cache写命中的时候,直接写入数据和掩码;写不命中的时候不进行替换操作;在读操作的缺失判断中添加了对相应数据的掩码判断,保证了数据的一致性,减少了Cache的读替换延迟,提高了图形处理器像素绘制的速率。
本发明的技术解决方案是:本发明为一种基于掩码的GPU像素流Cache读写访问系统,其特殊之处在于:该系统包括TAG比对逻辑模块、替换算法模块、写回逻辑模块和更新逻辑模块,TAG比对逻辑模块分别与替换算法模块、写回逻辑模块和更新逻辑模块连接,替换算法模块分别与写回逻辑模块和更新逻辑模块连接,写回逻辑模块与更新逻辑模块连接。
进一步的,TAG比对逻辑模块包括TAG标记寄存器,掩码RAM和字节使能的数据RAM,TAG标记寄存器中存储了TAG、数据块有效位和数据块脏位。
进一步的,TAG比对逻辑模块,完成TAG标记寄存器,掩码RAM和数据RAM的读写控制和Cache的读写操作命中或者缺失操作的判断。
进一步的,TAG比对逻辑模块读写操作的处理过程如下:
读请求:首先根据索引读取TAG标记寄存器、掩码RAM和数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,此外,还需要在TAG命中的基础上进行掩码的命中判断,TAG命中、数据块有效并且掩码命中表示当前读请求命中,TAG缺失表示当前读请求缺失,TAG命中、数据块有效并且掩码缺失表示当前读请求掩码缺失;
写请求:首先根据索引读取TAG标记寄存器、掩码RAM和数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,TAG命中、数据块有效表示当前写请求命中,否则表示当前写请求缺失;
读请求命中,根据命中的路号,从读出的多个数据中选择输出的数据和掩码;写请求命中,根据命中的路组号,直接写数据和掩码到数据RAM和掩码RAM中;
读请求缺失,首先检测从TAG标记寄存器读出的数据块脏位标志,有脏位启动写回逻辑模块,等待写回结束,启动替换算法模块;没有脏位,直接启动替换算法模块,替换完成后,返回读取的数据和掩码;
读请求掩码缺失,启动更新逻辑模块,将从主存读出的对应数据与数据RAM中的数据根据掩码信息产生该地址的完整数据,返回读取的数据和对应的掩码;
写请求命中,将数据和掩码写入对应数据RAM和掩码RAM中;
写请求缺失,首先检测从TAG标记寄存器读出的数据块脏位标志,有脏位启动写回逻辑模块,写回完成后,将数据和掩码写入对应数据RAM和掩码RAM中。没有脏位,直接将数据和掩码写入对应数据RAM和掩码RAM中。
进一步的,替换算法模块在读写不命中时候采用伪最近最久未使用算法产生需要替换的块号。
进一步的,写回逻辑模块在读写请求缺失并且有脏位时,根据替换算法读取数据RAM、掩码RAM和TAG标记寄存器,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效。
进一步的,更新逻辑模块在读掩码缺失时候,读取主存的数据,根据替换算法将主存的数据存储到数据RAM中,掩码存储为全有效。
进一步的,更新逻辑模块在读掩码缺失时候,读取主存的数据,根据读地址的偏移位产生写数据RAM的写数据使能信号,从而可以使替换回来的数据不覆盖原本写入的部分数据,将从主存读出的数据根据产生的写数据使能信号写入TAG命中的路组数据RAM中。
一种实现上述的基于掩码的GPU像素流Cache读写访问系统的方法,其特殊之处在于:该方法包括以下步骤:
1)Cache接收到读请求:
1.1)首先启动TAG比对逻辑模块,根据索引读取TAG标记寄存器、四片掩码RAM和四片数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,此外,还需要在TAG命中的基础上进行掩码的命中判断,TAG命中、数据块有效并且掩码命中表示当前读请求命中,TAG缺失表示当前读请求缺失,TAG命中、数据块有效并且掩码缺失表示当前读请求掩码缺失;
1.2)读请求命中,根据命中的路号,从读出的四个数据中选择输出的数据和掩码;
1.3)读请求缺失,首先检测从TAG RAM读出的数据块脏位标志,有脏位启动写回逻辑模块,根据替换算法读取数据RAM、掩码RAM和TAG标记寄存器,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效;等待写回结束,启动替换算法模块;没有脏位直接启动替换算法模块,读取主存的数据,根据替换算法将主存的数据存储到数据RAM中,掩码存储为全有效;替换完成后,返回读取的数据和掩码;
1.4)读请求掩码缺失,启动更新逻辑模块,读取主存的数据,根据读地址的偏移位产生写数据RAM的写数据使能信号,从而可以使替换回来的数据不覆盖原本写入的部分数据,将从主存读出的数据根据产生的写数据使能信号写入TAG命中的路组数据RAM中;同时将从主存读出的对应数据与数据RAM中的数据根据掩码信息产生该地址的完整数据,返回读取的数据和对应的掩码;
2)Cache接收到写请求:
2.1)首先启动TAG比对逻辑模块,根据索引读取TAG标记寄存器、四片掩码RAM和四片数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,TAG命中、数据块有效表示当前写请求命中,否则表示当前写请求缺失;
2.2)写请求命中,将数据和掩码写入对应数据RAM和掩码RAM中;
2.3)写请求缺失,首先检测从TAG标记寄存器读出的数据块脏位标志,有脏位启动写回逻辑模块,根据替换算法读取数据RAM、掩码RAM和TAG RAM,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效;写回完成后,将数据和掩码写入对应数据RAM和掩码RAM中,没有脏位,直接将数据和掩码写入对应数据RAM和掩码RAM中。
本发明提出一种基于掩码的GPU像素流Cache读写访问系统及方法,在Cache写操作时,检测当前的写地址是否命中,写命中则直接存储数据和掩码;写缺失首先检测是否需要写回,然后如果需要写回数据,将数据写回到主存之后将当前的数据和掩码进行存储;否则直接将当前的数据和掩码进行存储。Cache读操作时与通用Cache的读操作处理过程基本一致,不同之处在于地址的命中判断需要进一步判断掩码是否命中,这样可以保证Cache数据的一致性。因此,本发明使用存储数据的同时用存储掩码的设计代替了通用Cache在写操作缺失时候的替换过程,减少了Cache的延迟,使得GPU的像素流得到了更高速的缓存效果,更适用于图形处理器对像素流的缓存。
附图说明
图1是本发明的方法模块图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
参见图1,本发明的基于掩码的GPU像素流Cache读写访问系统具体实施的结构由以下模块组成:TAG对比逻辑模块、替换算法模块、写回逻辑模块和更新逻辑模块。TAG比对逻辑模块分别与替换算法模块、写回逻辑模块和更新逻辑模块连接,替换算法模块分别与写回逻辑模块和更新逻辑模块连接,写回逻辑模块与更新逻辑模块连接。其中:
TAG比对逻辑模块包括TAG标记寄存器,掩码RAM和字节使能的数据RAM,TAG RAM中存储了TAG、数据块有效位和数据块脏位,TAG比对逻辑模块用于完成TAG RAM,掩码RAM和数据RAM的读写控制和Cache的读写操作命中或者缺失操作的判断。TAG比对逻辑模块读写操作的处理过程如下:
读请求:首先根据索引读取TAG标记寄存器、掩码RAM和数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,此外,还需要在TAG命中的基础上进行掩码的命中判断,TAG命中、数据块有效并且掩码命中表示当前读请求命中,TAG缺失表示当前读请求缺失,TAG命中、数据块有效并且掩码缺失表示当前读请求掩码缺失;
写请求:首先根据索引读取TAG标记寄存器、掩码RAM和数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,TAG命中、数据块有效表示当前写请求命中,否则表示当前写请求缺失;
读请求命中,根据命中的路号,从读出的多个数据中选择输出的数据和掩码;写请求命中,根据命中的路组号,直接写数据和掩码到数据RAM和掩码RAM中;
读请求缺失,首先检测从TAG标记寄存器读出的数据块脏位标志,有脏位启动写回逻辑模块,等待写回结束,启动替换算法模块;没有脏位,直接启动替换算法模块,替换完成后,返回读取的数据和掩码;
读请求掩码缺失,启动更新逻辑模块,将从主存读出的对应数据与数据RAM中的数据根据掩码信息产生该地址的完整数据,返回读取的数据和对应的掩码;
写请求命中,将数据和掩码写入对应数据RAM和掩码RAM中;
写请求缺失,首先检测从TAG标记寄存器读出的数据块脏位标志,有脏位启动写回逻辑模块,写回完成后,将数据和掩码写入对应数据RAM和掩码RAM中。没有脏位,直接将数据和掩码写入对应数据RAM和掩码RAM中。
替换算法模块在读写不命中时候采用伪最近最久未使用算法产生需要替换的块号。
写回逻辑模块在读写请求缺失并且有脏位时,根据替换算法读取数据RAM、掩码RAM和TAG标记寄存器,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效。
更新逻辑模块在读掩码缺失时候,读取主存的数据,根据替换算法将主存的数据存储到数据RAM中,掩码存储为全有效。更新逻辑模块在读掩码缺失时候,读取主存的数据,根据读地址的偏移位产生写数据RAM的写数据使能信号,从而可以使替换回来的数据不覆盖原本写入的部分数据,将从主存读出的数据根据产生的写数据使能信号写入TAG命中的路组数据RAM中。
在本发明的基于掩码的GPU像素流Cache读写访问方法的具体实施例中:在GPU中的像素Cache,大小为8KB,采用4路组相连的设计方案,每路32个BLOCK,每个BLOCK大小为2*256bits数据,主存为DDR2 SDRAM芯片,一次请求数据大小为2*256bits。
1)Cache接收到读请求:
1.1)首先启动TAG比对逻辑模块,根据索引读取TAG标记寄存器、四片掩码RAM和四片数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,此外,还需要在TAG命中的基础上进行掩码的命中判断,TAG命中、数据块有效并且掩码命中表示当前读请求命中,TAG缺失表示当前读请求缺失,TAG命中、数据块有效并且掩码缺失表示当前读请求掩码缺失;
1.2)读请求命中,根据命中的路号,从读出的四个数据中选择输出的数据和掩码;
1.3)读请求缺失,首先检测从TAG标记寄存器读出的数据块脏位标志,有脏位启动写回逻辑模块,根据替换算法读取数据RAM、掩码RAM和TAG RAM,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效。等待写回结束,启动替换算法模块;没有脏位直接启动替换算法模块,读取主存的数据,根据替换算法将主存的数据存储到数据RAM中,掩码存储为全有效;替换完成后,返回读取的数据和掩码;
1.4)读请求掩码缺失,启动更新逻辑模块,读取主存的数据,根据读地址的偏移位产生写数据RAM的写数据使能信号,从而可以使替换回来的数据不覆盖原本写入的部分数据,将从主存读出的数据根据产生的写数据使能信号写入TAG命中的路组数据RAM中。同时将从主存读出的对应数据与数据RAM中的数据根据掩码信息产生该地址的完整数据,返回读取的数据和对应的掩码。
2)Cache接收到写请求:
2.1)首先启动TAG比对逻辑模块,根据索引读取四片TAG标记寄存器、四片掩码RAM和四片数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,TAG命中、数据块有效表示当前写请求命中,否则表示当前写请求缺失;
2.2)写请求命中,将数据和掩码写入对应数据RAM和掩码RAM中;
2.3)写请求缺失,首先检测从TAG标记寄存器读出的数据块脏位标志,有脏位启动写回逻辑模块,根据替换算法读取数据RAM、掩码RAM和TAG标记寄存器,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效。写回完成后,将数据和掩码写入对应数据RAM和掩码RAM中,没有脏位,直接将数据和掩码写入对应数据RAM和掩码RAM中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于掩码的GPU像素流Cache读写访问系统,其特征在于:该系统包括TAG比对逻辑模块、替换算法模块、写回逻辑模块和更新逻辑模块,所述TAG比对逻辑模块分别与替换算法模块、写回逻辑模块和更新逻辑模块连接,所述替换算法模块分别与写回逻辑模块和更新逻辑模块连接,所述写回逻辑模块与更新逻辑模块连接。
2.根据权利要求1所述的基于掩码的GPU像素流Cache读写访问系统,其特征在于:所述TAG比对逻辑模块包括TAG RAM,掩码RAM和字节使能的数据RAM,TAG RAM中存储了TAG、数据块有效位和数据块脏位。
3.根据权利要求2所述的基于掩码的GPU像素流Cache读写访问系统,其特征在于:所述TAG比对逻辑模块,完成TAG RAM,掩码RAM和数据RAM的读写控制和Cache的读写操作命中或者缺失操作的判断。
4.根据权利要求3所述的基于掩码的GPU像素流Cache读写访问系统,其特征在于:所述TAG比对逻辑模块读写操作的处理过程如下:
读请求:首先根据索引读取TAG RAM、掩码RAM和数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,此外,还需要在TAG命中的基础上进行掩码的命中判断,TAG命中、数据块有效并且掩码命中表示当前读请求命中,TAG缺失表示当前读请求缺失,TAG命中、数据块有效并且掩码缺失表示当前读请求掩码缺失;
写请求:首先根据索引读取TAG RAM、掩码RAM和数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,TAG命中、数据块有效表示当前写请求命中,否则表示当前写请求缺失;
读请求命中,根据命中的路号,从读出的多个数据中选择输出的数据和掩码;写请求命中,根据命中的路组号,直接写数据和掩码到数据RAM和掩码RAM中;
读请求缺失,首先检测从TAG RAM读出的数据块脏位标志,有脏位启动写回逻辑模块,等待写回结束,启动替换算法模块;没有脏位,直接启动替换算法模块,替换完成后,返回读取的数据和掩码;
读请求掩码缺失,启动更新逻辑模块,将从主存读出的对应数据与数据RAM中的数据根据掩码信息产生该地址的完整数据,返回读取的数据和对应的掩码;
写请求命中,将数据和掩码写入对应数据RAM和掩码RAM中;
写请求缺失,首先检测从TAG RAM读出的数据块脏位标志,有脏位启动写回逻辑模块,写回完成后,将数据和掩码写入对应数据RAM和掩码RAM中。没有脏位,直接将数据和掩码写入对应数据RAM和掩码RAM中。
5.根据权利要求4所述的基于掩码的GPU像素流Cache读写访问系统,其特征在于:所述替换算法模块在读写不命中时候采用伪最近最久未使用算法产生需要替换的块号。
6.根据权利要求5所述的基于掩码的GPU像素流Cache读写访问系统,其特征在于:所述写回逻辑模块在读写请求缺失并且有脏位时,根据替换算法读取数据RAM、掩码RAM和TAGRAM,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效。
7.根据权利要求6所述的基于掩码的GPU像素流Cache读写访问系统,其特征在于:所述更新逻辑模块在读掩码缺失时候,读取主存的数据,根据替换算法将主存的数据存储到数据RAM中,掩码存储为全有效。
8.根据权利要求6所述的基于掩码的GPU像素流Cache读写访问系统,其特征在于:所述更新逻辑模块在读掩码缺失时候,读取主存的数据,根据读地址的偏移位产生写数据RAM的写数据使能信号,从而可以使替换回来的数据不覆盖原本写入的部分数据,将从主存读出的数据根据产生的写数据使能信号写入TAG命中的路组数据RAM中。
9.一种实现权利要求1所述的基于掩码的GPU像素流Cache读写访问系统的方法,其特征在于:该方法包括以下步骤:
1)Cache接收到读请求:
1.1)首先启动TAG比对逻辑模块,根据索引读取四片TAG RAM、四片掩码RAM和四片数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,此外,还需要在TAG命中的基础上进行掩码的命中判断,TAG命中、数据块有效并且掩码命中表示当前读请求命中,TAG缺失表示当前读请求缺失,TAG命中、数据块有效并且掩码缺失表示当前读请求掩码缺失;
1.2)读请求命中,根据命中的路号,从读出的四个数据中选择输出的数据和掩码;
1.3)读请求缺失,首先检测从TAG RAM读出的数据块脏位标志,有脏位启动写回逻辑模块,根据替换算法读取数据RAM、掩码RAM和TAG RAM,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效;等待写回结束,启动替换算法模块;没有脏位直接启动替换算法模块,读取主存的数据,根据替换算法将主存的数据存储到数据RAM中,掩码存储为全有效;替换完成后,返回读取的数据和掩码;
1.4)读请求掩码缺失,启动更新逻辑模块,读取主存的数据,根据读地址的偏移位产生写数据RAM的写数据使能信号,从而可以使替换回来的数据不覆盖原本写入的部分数据,将从主存读出的数据根据产生的写数据使能信号写入TAG命中的路组数据RAM中;同时将从主存读出的对应数据与数据RAM中的数据根据掩码信息产生该地址的完整数据,返回读取的数据和对应的掩码;
2)Cache接收到写请求:
2.1)首先启动TAG比对逻辑模块,根据索引读取四片TAG RAM、四片掩码RAM和四片数据RAM的数据;然后根据读出的TAG数据,判断是否TAG命中,TAG命中、数据块有效表示当前写请求命中,否则表示当前写请求缺失;
2.2)写请求命中,将数据和掩码写入对应数据RAM和掩码RAM中;
2.3)写请求缺失,首先检测从TAG RAM读出的数据块脏位标志,有脏位启动写回逻辑模块,根据替换算法读取数据RAM、掩码RAM和TAG RAM,读出的TAG产生写主存的地址,同时将读出的数据和掩码写回给主存,并清除替换块的掩码为无效;写回完成后,将数据和掩码写入对应数据RAM和掩码RAM中,没有脏位,直接将数据和掩码写入对应数据RAM和掩码RAM中。
CN202211001957.9A 2022-08-20 2022-08-20 一种基于掩码的GPU像素流Cache的读写访问系统及方法 Pending CN115390756A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211001957.9A CN115390756A (zh) 2022-08-20 2022-08-20 一种基于掩码的GPU像素流Cache的读写访问系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211001957.9A CN115390756A (zh) 2022-08-20 2022-08-20 一种基于掩码的GPU像素流Cache的读写访问系统及方法

Publications (1)

Publication Number Publication Date
CN115390756A true CN115390756A (zh) 2022-11-25

Family

ID=84120261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211001957.9A Pending CN115390756A (zh) 2022-08-20 2022-08-20 一种基于掩码的GPU像素流Cache的读写访问系统及方法

Country Status (1)

Country Link
CN (1) CN115390756A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115809028A (zh) * 2023-01-19 2023-03-17 北京象帝先计算技术有限公司 一种缓存数据替换方法、装置、图形处理系统及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115809028A (zh) * 2023-01-19 2023-03-17 北京象帝先计算技术有限公司 一种缓存数据替换方法、装置、图形处理系统及电子设备
CN115809028B (zh) * 2023-01-19 2023-05-12 北京象帝先计算技术有限公司 一种缓存数据替换方法、装置、图形处理系统及电子设备

Similar Documents

Publication Publication Date Title
US20170161197A1 (en) Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
US8499123B1 (en) Multi-stage pipeline for cache access
US11442867B2 (en) Using a second content-addressable memory to manage memory burst accesses in memory sub-systems
US20090094435A1 (en) System and method for cache access prediction
CN115809028B (zh) 一种缓存数据替换方法、装置、图形处理系统及电子设备
CN115794675B (zh) 写数据方法、装置、图形处理系统、电子组件及电子设备
CN115794673B (zh) 系统级芯片non-Cacheable数据的访问方法、装置及电子设备
CN115390756A (zh) 一种基于掩码的GPU像素流Cache的读写访问系统及方法
CN115878507B (zh) 系统级芯片的内存访问方法、装置及电子设备
US6327643B1 (en) System and method for cache line replacement
CN111639042B (zh) 一种预取buffer数据一致性的处理方法及装置
WO2005050454A1 (ja) キャッシュメモリおよびその制御方法
CN116149554B (zh) 一种基于risc-v及其扩展指令的数据存储处理系统及其方法
CN111831587A (zh) 数据写入方法、装置和电子设备
CN113377684B (zh) 数据写入系统与方法
KR100278895B1 (ko) 데이터 프로세서
CN110162490B (zh) 高速缓冲管理设备、系统和方法
US7467260B2 (en) Method and apparatus to purge remote node cache lines to support hot node replace in a computing system
JP3997404B2 (ja) キャッシュメモリ及びその制御方法
CN115393162A (zh) 一种基于掩码的图形处理器像素Cache缺失请求合并系统及方法
JP2006285727A (ja) キャッシュメモリ装置
CN115809207B (zh) Cache中地址标记方法、装置、图形处理系统及电子设备
CN117312192B (zh) 一种Cache存储系统及访问处理方法
JP2002366433A (ja) キャッシュメモリ制御装置およびプロセッサ
CN115809208A (zh) 缓存数据刷新方法、装置、图形处理系统及电子设备

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