CN116561020A - 一种混合缓存粒度下的请求处理方法、设备及存储介质 - Google Patents

一种混合缓存粒度下的请求处理方法、设备及存储介质 Download PDF

Info

Publication number
CN116561020A
CN116561020A CN202310541857.3A CN202310541857A CN116561020A CN 116561020 A CN116561020 A CN 116561020A CN 202310541857 A CN202310541857 A CN 202310541857A CN 116561020 A CN116561020 A CN 116561020A
Authority
CN
China
Prior art keywords
cache
request
data
granularity
bytes
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.)
Granted
Application number
CN202310541857.3A
Other languages
English (en)
Other versions
CN116561020B (zh
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.)
Hexin Technology Suzhou Co ltd
Shanghai Hexin Digital Technology Co ltd
Original Assignee
Hexin Technology Suzhou 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 Hexin Technology Suzhou Co ltd filed Critical Hexin Technology Suzhou Co ltd
Priority to CN202310541857.3A priority Critical patent/CN116561020B/zh
Publication of CN116561020A publication Critical patent/CN116561020A/zh
Application granted granted Critical
Publication of CN116561020B publication Critical patent/CN116561020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • 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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请属于芯粒技术领域,公开了一种混合缓存粒度下的请求处理方法、设备及存储介质,该方法应用于处理器,处理器中的二级缓存和一级缓存位于处理器芯粒,三级缓存位于总线芯粒;该方法包括:获取一级缓存的一级缓存粒度和三级缓存的三级缓存粒度;根据一级缓存粒度和三级缓存粒度确定缓存工作模式;接收请求信息,并基于缓存工作模式处理请求信息。本申请确保不同级缓存之间数据传输的一致性,实现了处理器芯粒内部缓存粒度不同、或处理器芯粒和总线芯粒的缓存粒度不同时,处理器芯粒与总线芯粒之间的互联。

Description

一种混合缓存粒度下的请求处理方法、设备及存储介质
技术领域
本申请涉及芯粒技术领域,尤其涉及一种混合缓存粒度下的请求处理方法、设备及存储介质。
背景技术
常见的处理器多级缓存系统的缓存粒度往往是相同的,常见的为64B或128B。但由于工艺代差带来的面积提升逐渐缩小,处理器的生产仍然面临单芯片面积较大,良率较低的问题,芯粒的做法是提高芯片系统总体良率的一种解决方案,芯粒的方案是将原来一个大芯片划分成多个小芯片,如CPU芯片中,一般以core及L1、L2为一个芯粒,L3及总线作为另一个芯粒,IO子系统作为另一个芯粒。
但是芯粒互联时,如果总线芯粒的缓存粒度与处理器芯粒的缓存粒度不同,或处理器芯粒内部缓存之间的缓存粒度不同,则两个芯粒是无法互联的,这是因为从cache的操作角度来看,core这一级的缓存行的数据修改不能一一对应到三级缓存,一级缓存的写操作可能会破坏三级缓存中的一致性,从链路传输角度看,上三级缓存之间预期的数据传输大小也是不一致的。
因此,现有技术中存在不同缓存粒度的处理器芯粒和总线芯粒无法互联的问题。
发明内容
本申请提供了一种混合缓存粒度下的请求处理方法、设备及存储介质,能够确保不同级缓存之间数据传输的一致性,实现了处理器芯粒内部缓存粒度不同、或处理器芯粒和总线芯粒的缓存粒度不同时,处理器芯粒与总线芯粒之间的互联。
第一方面,本申请实施例提供了一种混合缓存粒度下的请求处理方法,该方法应用于处理器,处理器中的二级缓存和一级缓存位于处理器芯粒,三级缓存位于总线芯粒;该方法包括:
获取一级缓存的一级缓存粒度和三级缓存的三级缓存粒度;
根据一级缓存粒度和三级缓存粒度确定缓存工作模式;
接收请求信息,并基于缓存工作模式处理请求信息。
进一步的,二级缓存的缓存粒度为第一数值;
请求信息包括读取请求、写入请求、窥探请求和自旋锁请求。
上述实施例说明了本申请可以在芯粒的混合缓存粒度下处理多种请求信息,令本申请不仅可以适用于单核或多核处理器,间接提高了本申请的适用性。
进一步的,第一数值为64字节,当一级缓存粒度为128字节、三级缓存粒度为64字节时,缓存工作模式为第一工作模式;上述基于缓存工作模式处理请求信息,包括:
根据读取请求在二级缓存中进行两次命中检测,并根据读取请求和两个读取命中结果向处理器芯粒中的处理器核发送128字节的读取数据;
根据写入请求在二级缓存中进行两次命中检测,并根据写入请求和两个写入命中结果更新二级缓存中64字节或128字节的缓存数据;
根据窥探请求在二级缓存中进行一次命中检测,并根据窥探命中结果向总线发送窥探应答;根据自旋锁请求记录自旋锁请求的128字节的地址。
上述实施例令本申请实现了当一级缓存粒度为128字节,三级缓存粒度为64字节的缓存配置下的请求信息的处理,保证了在该缓存粒度的配置下,不同级缓存之间数据传输的一致性,从而使得该缓存粒度的配置下的处理器芯粒和总线芯粒能够互联。
进一步的,第一数值为64字节,当一级缓存粒度为128字节、三级缓存粒度为128字节时,缓存工作模式为第二工作模式;上述基于缓存工作模式处理请求信息,包括:
根据读取请求在二级缓存中进行两次命中检测,并根据读取请求和两个读取命中结果向处理器芯粒中的处理器核发送128字节的读取数据;
根据写入请求在二级缓存中进行两次命中检测,并根据写入请求和两个写入命中结果更新二级缓存中2个64字节的缓存数据;
根据窥探请求在二级缓存中进行两次命中检测,并根据两个窥探命中结果向总线发送窥探应答;根据自旋锁请求记录自旋锁请求的128字节的地址。
上述实施例令本申请实现了当一级缓存粒度和三级缓存粒度均为128字节的缓存配置下的请求信息的处理,保证了在该缓存粒度的配置下,不同级缓存之间数据传输的一致性,从而使得该缓存粒度的配置下的处理器芯粒和总线芯粒能够互联。
进一步的,第一数值为64字节,当一级缓存粒度为64字节、三级缓存粒度为64字节时,缓存工作模式为第三工作模式;上述基于缓存工作模式处理请求信息,包括:
根据读取请求在二级缓存中进行一次命中检测,并根据读取请求和读取命中结果向处理器芯粒中的处理器核发送64字节的读取数据;
根据写入请求在二级缓存中进行一次命中检测,并根据写入请求和写入命中结果更新二级缓存中64字节的缓存数据;
根据窥探请求在二级缓存中进行一次命中检测,并根据窥探命中结果向总线发送窥探应答;根据自旋锁请求记录自旋锁请求的64字节的地址。
上述实施例令本申请实现了当一级缓存粒度和三级缓存粒度均为64字节的缓存配置下的请求信息的处理,保证了在该缓存粒度的配置下,不同级缓存之间数据传输的一致性,从而使得该缓存粒度的配置下的处理器芯粒和总线芯粒能够互联。
进一步的,第一数值为64字节,当一级缓存粒度为64字节、三级缓存粒度为128字节时,缓存工作模式为第四工作模式;上述基于缓存工作模式处理请求信息,包括:
根据读取请求在二级缓存中进行一次命中检测,并根据读取请求和读取命中结果向处理器芯粒中的处理器核发送64字节的读取数据;
根据写入请求在二级缓存中进行一次命中检测,并根据写入请求和写入命中结果更新二级缓存中64字节的缓存数据;
根据窥探请求在二级缓存中进行两次命中检测,并根据两个窥探命中结果向总线发送窥探应答;根据自旋锁请求记录自旋锁请求的128字节的地址。
上述实施例令本申请实现了当一级缓存粒度为64字节,三级缓存粒度为128字节的缓存配置下的请求信息的处理,保证了在该缓存粒度的配置下,不同级缓存之间数据传输的一致性,从而使得该缓存粒度的配置下的处理器芯粒和总线芯粒能够互联。
进一步的,上述基于工作模式处理请求信息,包括:
若读取请求或写入请求未命中,则通过总线获取未命中的请求数据;若未命中的请求数据为64字节,则根据地址偏移计算得到的总线数据中64字节的请求数据。
上述实施例解决了当三级缓存粒度为128B、未命中数据为64B时,传输到二级缓存中的数据和请求数据的大小不一致的情况,通过地址偏移得到128B中真正需要的64B,确保了多级缓存中数据传输的正确性、一致性。
进一步的,上述基于工作模式处理请求信息,包括:
当读取请求或写入请求未命中,并在二级缓存中产生替换数据时,在将替换数据发送到三级缓存之前,将替换数据标记上字节使能。
上述实施例通过字节使能用来标记哪些byte有效,解决了替换数据的大小和三级缓存粒度不同时,传输到三级缓存后无效的问题。
进一步的,该方法还包括:
检测一级缓存中是否存在替换数据;若存在,则无效一级缓存中替换数据所在的缓存行。
上述实施例在二级缓存产生替换数据时,同时检测一级缓存中该替换数据的存在,保证了与一级缓存之间数据的一致性。
进一步的,该方法还包括:
若窥探请求为无效请求,则检测无效请求对应的数据在一级缓存中是否存在;
若存在,则无效一级缓存中无效请求对应的数据所在的缓存行。
上述实施例通过在无效数据的时候同步无效掉一级缓存中可能存在的数据,保证了与一级缓存之间数据的一致性;同时考虑到了一级缓存粒度和二级缓存的缓存粒度可能不相同的情况,直接请求无效数据所在的缓存行,确保一级缓存的数据一定能够被无效。
进一步的,该方法还包括:
在记录自旋锁请求的地址后,若二级缓存接收到无效请求或产生替换数据,则检测无效请求对应的数据地址或替换数据的地址与自旋锁请求的地址是否一致;
若一致,则自旋锁请求失效,抢锁失败。
上述实施例通过将二级缓存中替换数据和无效数据的地址与记录的自旋锁地址进行对比,实现了对自旋锁请求的实时监测,避免了处理器核一直等待的情况,实现了二级缓存与处理器核之间数据的一致性,即发生自旋锁请求失效,则立即通知抢锁失败。
第二方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时执行如上述任一实施例的一种混合缓存粒度下的请求处理方法的步骤。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的一种混合缓存粒度下的请求处理方法的步骤。
综上,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的一种混合缓存粒度下的请求处理方法,通过设置多种缓存工作模式,当处理器芯粒和总线芯粒连接时,获取处理器芯粒中一级缓存的一级缓存粒度和总线芯粒中三级缓存的缓存粒度,从而确定当前的缓存工作模式,基于缓存工作模式来处理接收到的请求信息,确保不同级缓存之间数据传输的一致性,实现了处理器芯粒内部缓存粒度不同、或处理器芯粒和总线芯粒的缓存粒度不同时,处理器芯粒与总线芯粒之间的互联。
附图说明
图1为本申请一个实施例提供的一种混合缓存粒度下的请求处理方法的流程图。
图2为本申请一个实施例提供的读取请求在第一、第二缓存工作模式下的处理流程图。
图3为本申请一个实施例提供的读取请求在第三、第四缓存工作模式下的处理流程图。
图4为本申请一个实施例提供的写入请求在第一、第二缓存工作模式下的处理流程图。
图5为本申请一个实施例提供的写入请求在第三、第四缓存工作模式下的处理流程图。
图6为本申请一个实施例提供的窥探请求处理步骤的流程图。
图7为本申请一个实施例提供的自旋锁请求处理步骤的流程图。
图8为本申请一个实施例提供的4种不同缓存粒度的互联配置下芯粒间读写关系示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,本申请实施例提供了一种混合缓存粒度下的请求处理方法,该方法应用于处理器,处理器中的二级缓存和一级缓存位于处理器芯粒,三级缓存位于总线芯粒;该方法包括:
步骤S1,获取一级缓存的一级缓存粒度和三级缓存的三级缓存粒度。
步骤S2,根据一级缓存粒度和三级缓存粒度确定缓存工作模式。
步骤S3,接收请求信息,并基于缓存工作模式处理请求信息。
其中,一级缓存为L1缓存,二级缓存为L2缓存,三级缓存为L3缓存;处理器的Core和L1、L2一起位于处理器芯粒上,L3和总线位于总线芯粒上。
具体地,处理器芯粒上的L2与总线芯粒上的L3握手,握手后确认L1和L3的缓存粒度,根据L1和L3的缓存粒度确定缓存工作模式。
不同的缓存工作模式对请求信息的处理是不同的,在芯粒握手并确定缓存工作模式后,处理器便基于确定下来的环村工作模式处理接收到的请求信息。
上述实施例中提供的一种混合缓存粒度下的请求处理方法,通过设置多种缓存工作模式,当处理器芯粒和总线芯粒连接时,获取处理器芯粒中一级缓存的一级缓存粒度和总线芯粒中三级缓存的缓存粒度,从而确定当前的缓存工作模式,基于缓存工作模式来处理接收到的请求信息,确保不同级缓存之间数据传输的一致性,实现了处理器芯粒内部缓存粒度不同、或处理器芯粒和总线芯粒的缓存粒度不同时,处理器芯粒与总线芯粒之间的互联。
在一些实施例中,二级缓存的缓存粒度为第一数值。
请求信息包括读取请求、写入请求、窥探请求和自旋锁请求。
具体地,中间级的缓存优选为一级缓存粒度和三级缓存粒度中的最小值,即L2最优为64B,此时能够连接上下为128B/64B的L1/L3缓存,共4种缓存粒度配置,如果L2的缓存粒度为128B,那么会无法处理缓存粒度配置为L1=L3=64B的情况。
上述实施例说明了本申请可以在芯粒的混合缓存粒度下处理多种请求信息,令本申请不仅可以适用于单核或多核处理器,间接提高了本申请的适用性。
在一些实施例中,第一数值为64字节,当一级缓存粒度为128字节、三级缓存粒度为64字节时,缓存工作模式为第一工作模式。
请参见图2、图4、图6和图7,上述基于缓存工作模式处理请求信息,包括:
根据读取请求在二级缓存中进行两次命中检测,并根据读取请求和两个读取命中结果向处理器芯粒中的处理器核发送128字节的读取数据。
根据写入请求在二级缓存中进行两次命中检测,并根据写入请求和两个写入命中结果更新二级缓存中64字节或128字节的缓存数据。
具体地,因为L2=64B,L1=128B,所以64B的L2请求读取或写入的数据为128B,要分别检测请求的128B中的2个64B数据是否全部命中:
若全部命中,则将命中的2×64B的数据发送至Core,或更新L2中2×64B的缓存数据。
若仅命中了其中一个64B,则通过L3从总线中获取另一个未命中的64B的数据;在更新L2中的Tag RAM和Data RAM后,将命中和未命中的共2×64B的数据发送至Core,或者在L2中写入未命中的64B的数据。
若全部未命中,则通过L3从总线获取未命中的2×64B的数据,在更新L2中的TagRAM和Data RAM后,将未命中的2×64B的数据进行合并后发送至Core,或者将未命中的2×64B的数据进行合并后写入L2中。
根据窥探请求在二级缓存中进行一次命中检测,并根据窥探命中结果向总线发送窥探应答;根据自旋锁请求记录自旋锁请求的128字节的地址。
具体地,因为L3=L2=64B,所以仅访问一次L2的Tag RAM并进行可能的更新,其中访问一次L2的Tag RAM即为进行一次命中检测;是否要进行更新具体由窥探请求的请求内容来决定;若窥探请求命中且窥探请求需要请求数据,则将命中的数据一起放入窥探应答中发回总线,若命中但不请求数据或未命中,则直接发送窥探应答。
上述实施例令本申请实现了当一级缓存粒度为128字节,三级缓存粒度为64字节的缓存配置下的请求信息的处理,保证了在该缓存粒度的配置下,不同级缓存之间数据传输的一致性,从而使得该缓存粒度的配置下的处理器芯粒和总线芯粒能够互联。
在一些实施例中,第一数值为64字节,当一级缓存粒度为128字节、三级缓存粒度为128字节时,缓存工作模式为第二工作模式。
请参见图2、图4、图6和图7,上述基于缓存工作模式处理请求信息,包括:
根据读取请求在二级缓存中进行两次命中检测,并根据读取请求和两个读取命中结果向处理器芯粒中的处理器核发送128字节的读取数据。
根据写入请求在二级缓存中进行两次命中检测,并根据写入请求和两个写入命中结果更新二级缓存中2个64字节的缓存数据。具体地,因为L2=64B,L1=128B,所以L2请求读取或写入的数据为128B,要分别检测请求的128B中的2个64B数据是否全部命中:
若全部命中,则将命中的2×64B的数据发送至Core,或更新L2中2×64B的缓存数据。
若仅命中了其中一个64B,则通过L3从总线中获取128B总线数据,并获取其中包括的64B未命中的数据;在更新L2中的Tag RAM和Data RAM后,将命中和未命中的共2×64B的数据发送至Core,或者将2×64B的总线数据写入L2中。
若全部未命中,则通过L3从总线获取未命中的128B的数据,在更新L2的Tag RAM和Data RAM后,将未命中的2×64B的数据发给Core,或将未命中的2×64B的数据写入L2。
根据窥探请求在二级缓存中进行两次命中检测,并根据两个窥探命中结果向总线发送窥探应答;根据自旋锁请求记录自旋锁请求的128字节的地址。
具体地,因为L3=128B,所以需访问两次L2的Tag RAM并进行可能的更新,是否更新具体由窥探请求的请求内容来决定;若窥探请求命中且需要请求数据,则将命中的数据一起放入窥探应答中发回总线,若两次访问全部未命中,则直接发送窥探应答。
上述实施例令本申请实现了当一级缓存粒度和三级缓存粒度均为128字节的缓存配置下的请求信息的处理,保证了在该缓存粒度的配置下,不同级缓存之间数据传输的一致性,从而使得该缓存粒度的配置下的处理器芯粒和总线芯粒能够互联。
在一些实施例中,第一数值为64字节,当一级缓存粒度为64字节、三级缓存粒度为64字节时,缓存工作模式为第三工作模式。
请参见图3、图5、图6和图7,上述基于缓存工作模式处理请求信息,包括:
根据读取请求在二级缓存中进行一次命中检测,并根据读取请求和读取命中结果向处理器芯粒中的处理器核发送64字节的读取数据。
根据写入请求在二级缓存中进行一次命中检测,并根据写入请求和写入命中结果更新二级缓存中64字节的缓存数据。具体地,因为L1=L2=64B,即L2请求读取或写入的数据为64B,因此仅针对其请求的数据读取一次L2 Tag RAM、进行一次命中检测即可:
若命中,则将命中的64B的数据发送至Core,或者更新L2中64B的缓存数据。
若未命中,则通过L3从总线获取未命中的64B的数据,在根据未命中的数据更新L2的Tag RAM和Data RAM后,将未命中的64B数据发给Core,或将未命中的64B数据写入L2。
根据窥探请求在二级缓存中进行一次命中检测,并根据窥探命中结果向总线发送窥探应答;根据自旋锁请求记录自旋锁请求的64字节的地址。
具体地,因为L3=L2=64B,所以仅访问一次L2的Tag RAM并进行可能的更新,是否更新具体由窥探请求的请求内容来决定;若窥探请求命中且窥探请求需要请求数据,则将命中的数据一起放入窥探应答中发回总线,若命中但不请求数据或未命中,则直接发送窥探应答。
上述实施例令本申请实现了当一级缓存粒度和三级缓存粒度均为64字节的缓存配置下的请求信息的处理,保证了在该缓存粒度的配置下,不同级缓存之间数据传输的一致性,从而使得该缓存粒度的配置下的处理器芯粒和总线芯粒能够互联。
在一些实施例中,第一数值为64字节,当一级缓存粒度为64字节、三级缓存粒度为128字节时,缓存工作模式为第四工作模式。
请参见图3、图5、图6和图7,上述基于缓存工作模式处理请求信息,包括:
根据读取请求在二级缓存中进行一次命中检测,并根据读取请求和读取命中结果向处理器芯粒中的处理器核发送64字节的读取数据。
根据写入请求在二级缓存中进行一次命中检测,并根据写入请求和写入命中结果更新二级缓存中64字节的缓存数据。具体地,因为L1=L2=64B,即L2请求读取或写入的数据为64B,因此仅针对其请求的数据读取一次L2 Tag RAM、进行一次命中检测即可:
若命中,则将命中的64B的数据发送至Core,或者更新L2中64B的缓存数据。
若未命中,则通过L3从总线中获取128B总线数据,并获取其中包括的64B未命中的数据;在更新L2中的Tag RAM和Data RAM后,将未命中的64B的数据发送至Core,或者将未命中的64B的数据写入L2中。
根据窥探请求在二级缓存中进行两次命中检测,并根据两个窥探命中结果向总线发送窥探应答;根据自旋锁请求记录自旋锁请求的128字节的地址。
具体地,因为L3=128B,所以需访问两次L2的Tag RAM并进行可能的更新,是否更新具体由窥探请求的请求内容来决定;若窥探请求命中且需要请求数据,则将命中的数据一起放入窥探应答中发回总线,若两次访问全部未命中,则直接发送窥探应答。
上述实施例令本申请实现了当一级缓存粒度为64字节,三级缓存粒度为128字节的缓存配置下的请求信息的处理,保证了在该缓存粒度的配置下,不同级缓存之间数据传输的一致性,从而使得该缓存粒度的配置下的处理器芯粒和总线芯粒能够互联。
请参见图2-图5,在一些实施例中,上述基于工作模式处理请求信息,包括:
若读取请求或写入请求未命中,则通过总线获取未命中的请求数据;若未命中的请求数据为64字节,则根据地址偏移计算得到的总线数据中64字节的请求数据。
具体地,若L3=128B,但L2中有64B的数据未命中,则通过L3获取到的最新的总线数据为128B,需要根据地址偏移计算128B总线数据中实际需要的64B数据,并将这64B的数据发送至Core或写入L2中。
上述实施例解决了当三级缓存粒度为128B、未命中数据为64B时,传输到二级缓存中的数据和请求数据的大小不一致的情况,通过地址偏移得到128B中真正需要的64B,确保了多级缓存中数据传输的正确性、一致性。
请参见图2-图5,在一些实施例中,上述基于工作模式处理请求信息,包括:
当读取请求或写入请求未命中,并在二级缓存中产生替换数据时,在将替换数据发送到三级缓存之前,将替换数据标记上字节使能。
具体地,当L3=128B时,L2发送给L3的每一笔替换数据都为64B大小,和L3的缓存粒度不相同,因此替换数据需要标记Byte Enable。
若L2要传输2笔64B的替换数据,且2笔替换数据的tag相同,则可以合并为1笔传输。
上述实施例通过字节使能用来标记哪些byte有效,解决了替换数据的大小和三级缓存粒度不同时,传输到三级缓存后无效的问题。
请参见图2-图5,在一些实施例中,该方法还包括:
检测一级缓存中是否存在替换数据;若存在,则无效一级缓存中替换数据所在的缓存行。
具体地,当L2中产生替换数据时,同步检测L1中是否存在该替换数据,若L1中存在,则向L1中发送snoop请求来无效掉L1中存在的替换数据。
上述实施例在二级缓存产生替换数据时,同时检测一级缓存中该替换数据的存在,保证了与一级缓存之间数据的一致性。
请参见图6,在一些实施例中,该方法还包括:
若窥探请求为无效请求,则检测无效请求对应的数据在一级缓存中是否存在;
若存在,则无效一级缓存中无效请求对应的数据所在的缓存行。
具体地,若L2接收到的snoop请求的内容是要无效掉L2中的一部分数据,则会同时检测L1中是否有这个被无效的数据存在,若有,则无效掉该数据所在的整个缓存行。
在具体实施过程中,L2=64B且L1中存在L2被无效的64B数据,若L1=64B,则直接无效L1中该数据所在的64B;若L1=128B,则直接无效掉该64B数据所在的整个128B缓存行。
上述实施例通过在无效数据的时候同步无效掉一级缓存中可能存在的数据,保证了与一级缓存之间数据的一致性;同时考虑到了一级缓存粒度和二级缓存的缓存粒度可能不相同的情况,直接请求无效数据所在的缓存行,确保一级缓存的数据一定能够被无效。
请参见图7,在一些实施例中,该方法还包括:
在记录自旋锁请求的地址后,若二级缓存接收到无效请求或产生替换数据,则检测无效请求对应的数据地址或替换数据的地址与自旋锁请求的地址是否一致。
若一致,则自旋锁请求失效,抢锁失败。
具体地,在L2记录自旋锁地址后,若L2被其他缓存的snoop请求无效掉所存储的自旋锁地址,或者L2中因处理读取请求或写入请求未命中而产生替换数据,把自旋锁的地址作为替换数据写出去,都会导致自旋锁失效,抢锁失败。
其中,当L1缓存粒度为64B,L3的缓存粒度为64B,即自旋锁请求的地址为64B,无效请求对应的数据地址也为64B时,则直接判断两个64B的地址是否一致。
当L1缓存粒度为64B,L3的缓存粒度为128B时,即无效请求的数据地址为128B,则判断无效请求的数据128B的地址和自旋锁请求的地址高位(最低位忽略)是否一致。当L1=64B时,若L2中发生替换,则判断替换数据的64B地址和64B自旋锁请求的地址是否一致。
当L1缓存粒度为128B,L3的缓存粒度为128B,即自旋锁请求的地址为128B时,则判断自旋锁128B的地址高位和无效请求的数据地址是否一致。
当L1缓存粒度为128B,L3的缓存粒度为64B时,即无效请求的数据地址为64B,则判断无效请求数据的地址高位(最低位忽略)和自旋锁请求128B的地址是否一致。当L1=128B时,若L2中发生替换,则判断替换数据的地址高位和128B自旋锁请求的地址是否一致。
若在抢锁成功之前没有发生地址一致的情况,则Core可以顺利获得被自旋锁保护的资源。
上述实施例通过将二级缓存中替换数据和无效数据的地址与记录的自旋锁地址进行对比,实现了对自旋锁请求的实时监测,避免了处理器核一直等待的情况,实现了二级缓存与处理器核之间数据的一致性,即发生自旋锁请求失效,则立即通知抢锁失败。
以一个具体的例子说明本申请的一种混合缓存粒度下的请求处理方法实现过程:
本申请可以实现不同缓存粒度的cache hierarchy互联,包括cacheline sizescale down、same cacheline size、和cache line size scale up。由于L2和L1在同一个芯粒上,以L2 cache(inclusive with L1,即L1的缓存内容包含于L2)为参考,L2的cacheline size可以为min(L1,L3)=64B。
请参见图8,互联配置1-cacheline scale down。Core L1缓存为128B cachelinesize,总线L3缓存为64B cacheline size。
互联配置2-cacheline same 128B。Core L1缓存与总线L3缓存均为128Bcacheline size。
互联配置3-cacheline same 64B。Core L1缓存与总线L3缓存均为64B cachelinesize。
互联配置4-cacheline scale up。Core L1缓存为64B cacheline size,总线L3缓存为128Bcacheline size。
在本申请中,cache是指实际存储某个地址数据的存储单元(array),dir是指存储某个地址的cacheline的状态和高位地址(tag)的存储单元(array)。
在上电复位后,CPU chiplet上的L2首先会与Fabric chiplet进行握手,确认互相的cacheline size。cacheline size在运行时不会改变。
互联配置1:128B cacheline size的Core发生store时,L2中granule为64B,因此store操作会对应更新64B或128B的data;Core发生load时,L2需要对应传输给Core 2x64B的data,此时如果L2 miss,可能最多在fabric上产生两笔snoop请求;L2发生victim cast-out(cache替换)时,由于fabric cacheline size为64B,因此最多可能会产生两次cast-out(也有可能只产生一次,如果某一个64B在L2中已经命中);fabric发起snoop操作,比如snoop invalidate时,一次snoop请求影响64B。Core发起128B spinlock(自旋锁)时,L2中的64B snoop操作会影响128B的spinlock。
配置2:128B cacheline size的Core发生store时,L2中granule为64B,因此store操作会对应更新2x64B的data;Core发生load时,对应更新2x64B的data,一次在fabric上产生一次request/snoop;L2发生victim cast-out时,由于fabric cacheline size为128B,因此cast-out时需要额外标记byte enables,用于标记哪些byte有效,数据在L3的cache中进行合并,状态在L3的dir中进行合并。Fabric发起snoop操作时,一次snoop影响128B。Core发起128B spinlock时,L2中的128Bsnoop会一一对应Core的spinlock地址。
配置3:64B cacheline size的Core发生store时,L2中granule为64B,因此store操作会对应更新1x64B的data;Core发生load时,对应更新1x64B的data,一次在fabric上产生一次request/snoop;L2发生victim cast-out时,由于fabric cacheline size为一致的64B,因此可以直接写出。fabric发起snoop操作,比如snoop invalidate时,一次snoop影响64B。Core发起64Bspinlock时,L2中的64B会一一对应core的spinlock地址。
配置4:64B cacheline size的Core发生store时,L2中granule为64B,因此store操作会对应更新1x64B的data;core发生load时,对应更新1x64B的data,一次在fabric上产生一次request,但是会额外标记critical hexword,这样fabric会传输需要的64B。fabric发起snoop操作,比如snoop invalidate时,一次snoop影响128B。Core发起64B spinlock时,L2中的128snoop会根据critical hexword(64B的偏移地址)匹配spinlock地址。
本申请可以解决不同cacheline size(缓存粒度)的处理器芯粒和总线芯粒互联问题,能让各个芯粒可以互相复用,比如64B cacheline size的CPU chiplet,可以与64B或128B cacheline size的fabric chiplet互联;128B cacheline size的CPU chiplet,也可以与64B或128B cacheline size的fabric chiplet互联。而且在互联时无需重新设计CPUchiplet或fabric chiplet。根据芯粒间传输包的field中关于cacheline size的大小,处理器芯粒与总线芯粒可以自行进行适配。
本申请实施例提供了一种计算机设备,该计算机设备可以包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。处计算机程序被处理器执行时,使得处理器执行如上述任一实施例的一种混合缓存粒度下的请求处理方法的步骤。
本实施例提供的计算机设备的工作过程、工作细节和技术效果,可以参见上文中关于一种混合缓存粒度下的请求处理方法的实施例,于此不再赘述。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的一种混合缓存粒度下的请求处理方法的步骤。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的计算机可读存储介质的工作过程、工作细节和技术效果,可以参见上文中关于一种混合缓存粒度下的请求处理方法的实施例,于此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种混合缓存粒度下的请求处理方法,其特征在于,所述方法应用于处理器,所述处理器中的二级缓存和一级缓存位于处理器芯粒,三级缓存位于总线芯粒;所述方法包括:
获取所述一级缓存的一级缓存粒度和所述三级缓存的三级缓存粒度;
根据所述一级缓存粒度和所述三级缓存粒度确定缓存工作模式;
接收请求信息,并基于所述缓存工作模式处理所述请求信息。
2.根据权利要求1所述的方法,其特征在于,所述二级缓存的缓存粒度为第一数值;
所述请求信息包括读取请求、写入请求、窥探请求和自旋锁请求。
3.根据权利要求2所述的方法,其特征在于,所述第一数值为64字节,当所述一级缓存粒度为128字节、所述三级缓存粒度为64字节时,所述缓存工作模式为第一工作模式;
所述基于所述缓存工作模式处理所述请求信息,包括:
根据所述读取请求在所述二级缓存中进行两次命中检测,并根据所述读取请求和两个读取命中结果向所述处理器芯粒中的处理器核发送128字节的读取数据;
根据所述写入请求在所述二级缓存中进行两次命中检测,并根据所述写入请求和两个写入命中结果更新所述二级缓存中64字节或128字节的缓存数据;
根据所述窥探请求在所述二级缓存中进行一次命中检测,并根据窥探命中结果向总线发送窥探应答;根据所述自旋锁请求记录所述自旋锁请求的128字节的地址。
4.根据权利要求2所述的方法,其特征在于,所述第一数值为64字节,当所述一级缓存粒度为128字节、所述三级缓存粒度为128字节时,所述缓存工作模式为第二工作模式;
所述基于所述缓存工作模式处理所述请求信息,包括:
根据所述读取请求在所述二级缓存中进行两次命中检测,并根据所述读取请求和两个读取命中结果向所述处理器芯粒中的处理器核发送128字节的读取数据;
根据所述写入请求在所述二级缓存中进行两次命中检测,并根据所述写入请求和两个写入命中结果更新所述二级缓存中2个64字节的缓存数据;
根据所述窥探请求在所述二级缓存中进行两次命中检测,并根据两个窥探命中结果向总线发送窥探应答;根据所述自旋锁请求记录所述自旋锁请求的128字节的地址。
5.根据权利要求2所述的方法,其特征在于,所述第一数值为64字节,当所述一级缓存粒度为64字节、所述三级缓存粒度为64字节时,所述缓存工作模式为第三工作模式;
所述基于所述缓存工作模式处理所述请求信息,包括:
根据所述读取请求在所述二级缓存中进行一次命中检测,并根据所述读取请求和读取命中结果向所述处理器芯粒中的处理器核发送64字节的读取数据;
根据所述写入请求在所述二级缓存中进行一次命中检测,并根据所述写入请求和写入命中结果更新所述二级缓存中64字节的缓存数据;
根据所述窥探请求在所述二级缓存中进行一次命中检测,并根据窥探命中结果向总线发送窥探应答;根据所述自旋锁请求记录所述自旋锁请求的64字节的地址。
6.根据权利要求2所述的方法,其特征在于,所述第一数值为64字节,当所述一级缓存粒度为64字节、所述三级缓存粒度为128字节时,所述缓存工作模式为第四工作模式;
所述基于所述缓存工作模式处理所述请求信息,包括:
根据所述读取请求在所述二级缓存中进行一次命中检测,并根据所述读取请求和读取命中结果向所述处理器芯粒中的处理器核发送64字节的读取数据;
根据所述写入请求在所述二级缓存中进行一次命中检测,并根据所述写入请求和写入命中结果更新所述二级缓存中64字节的缓存数据;
根据所述窥探请求在所述二级缓存中进行两次命中检测,并根据两个窥探命中结果向总线发送窥探应答;根据所述自旋锁请求记录所述自旋锁请求的128字节的地址。
7.根据权利要求4或6所述的方法,其特征在于,所述基于所述工作模式处理所述请求信息,包括:
若所述读取请求或所述写入请求未命中,则通过总线获取未命中的请求数据;若未命中的所述请求数据为64字节,则根据地址偏移计算得到的总线数据中64字节的所述请求数据。
8.根据权利要求4或6所述的方法,其特征在于,所述基于所述工作模式处理所述请求信息,包括:
当所述读取请求或所述写入请求未命中,并在所述二级缓存中产生替换数据时,在将所述替换数据发送到所述三级缓存之前,将所述替换数据标记上字节使能。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
检测所述一级缓存中是否存在所述替换数据;
若存在,则无效所述一级缓存中所述替换数据所在的缓存行。
10.根据权利要求3至6任一项所述的方法,其特征在于,所述方法还包括:
若所述窥探请求为无效请求,则检测所述无效请求对应的数据在所述一级缓存中是否存在;
若存在,则无效所述一级缓存中所述无效请求对应的数据所在的缓存行。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在记录所述自旋锁请求的地址后,若所述二级缓存接收到所述无效请求或产生替换数据,则检测所述无效请求对应的数据地址或所述替换数据的地址与所述自旋锁请求的地址是否一致;若一致,则所述自旋锁请求失效,抢锁失败。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至11中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述方法的步骤。
CN202310541857.3A 2023-05-15 2023-05-15 一种混合缓存粒度下的请求处理方法、设备及存储介质 Active CN116561020B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310541857.3A CN116561020B (zh) 2023-05-15 2023-05-15 一种混合缓存粒度下的请求处理方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310541857.3A CN116561020B (zh) 2023-05-15 2023-05-15 一种混合缓存粒度下的请求处理方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116561020A true CN116561020A (zh) 2023-08-08
CN116561020B CN116561020B (zh) 2024-04-09

Family

ID=87489532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310541857.3A Active CN116561020B (zh) 2023-05-15 2023-05-15 一种混合缓存粒度下的请求处理方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116561020B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852318A (zh) * 2006-04-19 2006-10-25 华中科技大学 适用于对象网络存储的分布式多级缓存系统
US20070153014A1 (en) * 2005-12-30 2007-07-05 Sabol Mark A Method and system for symmetric allocation for a shared L2 mapping cache
CN101135993A (zh) * 2007-09-20 2008-03-05 华为技术有限公司 一种嵌入式系统芯片及数据读写处理方法
CN102760101A (zh) * 2012-05-22 2012-10-31 中国科学院计算技术研究所 一种基于ssd 的缓存管理方法及系统
CN104363988A (zh) * 2014-07-14 2015-02-18 华为技术有限公司 一种多核处理器的管理方法及装置
CN104615576A (zh) * 2015-03-02 2015-05-13 中国人民解放军国防科学技术大学 面向cpu+gpu处理器的混合粒度一致性维护方法
CN109582600A (zh) * 2017-09-25 2019-04-05 华为技术有限公司 一种数据处理方法及装置
CN109952565A (zh) * 2016-11-16 2019-06-28 华为技术有限公司 内存访问技术
CN110765034A (zh) * 2018-07-27 2020-02-07 华为技术有限公司 一种数据预取方法及终端设备
CN114416632A (zh) * 2021-12-28 2022-04-29 北京时代民芯科技有限公司 一种基于多总线协议灵活转换的两级缓存互联结构
CN114817195A (zh) * 2022-04-08 2022-07-29 苏州浪潮智能科技有限公司 一种分布式存储缓存管理的方法、系统、存储介质及设备
CN115904688A (zh) * 2021-09-30 2023-04-04 华为技术有限公司 内存管理方法、装置、处理器及计算设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070153014A1 (en) * 2005-12-30 2007-07-05 Sabol Mark A Method and system for symmetric allocation for a shared L2 mapping cache
CN1852318A (zh) * 2006-04-19 2006-10-25 华中科技大学 适用于对象网络存储的分布式多级缓存系统
CN101135993A (zh) * 2007-09-20 2008-03-05 华为技术有限公司 一种嵌入式系统芯片及数据读写处理方法
CN102760101A (zh) * 2012-05-22 2012-10-31 中国科学院计算技术研究所 一种基于ssd 的缓存管理方法及系统
CN104363988A (zh) * 2014-07-14 2015-02-18 华为技术有限公司 一种多核处理器的管理方法及装置
CN104615576A (zh) * 2015-03-02 2015-05-13 中国人民解放军国防科学技术大学 面向cpu+gpu处理器的混合粒度一致性维护方法
CN109952565A (zh) * 2016-11-16 2019-06-28 华为技术有限公司 内存访问技术
CN109582600A (zh) * 2017-09-25 2019-04-05 华为技术有限公司 一种数据处理方法及装置
CN110765034A (zh) * 2018-07-27 2020-02-07 华为技术有限公司 一种数据预取方法及终端设备
CN115904688A (zh) * 2021-09-30 2023-04-04 华为技术有限公司 内存管理方法、装置、处理器及计算设备
CN114416632A (zh) * 2021-12-28 2022-04-29 北京时代民芯科技有限公司 一种基于多总线协议灵活转换的两级缓存互联结构
CN114817195A (zh) * 2022-04-08 2022-07-29 苏州浪潮智能科技有限公司 一种分布式存储缓存管理的方法、系统、存储介质及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CAI, JIAN 等: "Software Coherence Management on Non-Coherent Cache Multi-cores", 2016 29TH INTERNATIONAL CONFERENCE ON VLSI DESIGN AND 2016 15TH INTERNATIONAL CONFERENCE ON EMBEDDED SYSTEMS (VLSID) *
姜国松;: "一种高效、可扩展细粒度缓存管理混合存储研究", 计算机科学, no. 08 *

Also Published As

Publication number Publication date
CN116561020B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
CN107066396B (zh) 用于操作虚拟索引的物理标记的缓存的装置及方法
US7613884B2 (en) Multiprocessor system and method ensuring coherency between a main memory and a cache memory
US5740400A (en) Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
US6321297B1 (en) Avoiding tag compares during writes in multi-level cache hierarchy
US5146603A (en) Copy-back cache system having a plurality of context tags and setting all the context tags to a predetermined value for flushing operation thereof
US8352646B2 (en) Direct access to cache memory
KR100856626B1 (ko) 캐시 플러시 시스템 및 방법
US10049050B2 (en) Locking a cache line for write operations on a bus
US6560681B1 (en) Split sparse directory for a distributed shared memory multiprocessor system
US10671548B2 (en) Memory initialization detection system
WO1996039665A1 (en) Method and apparatus for reducing cache snooping overhead in a multilevel cache system
CN107025130B (zh) 处理节点、计算机系统及事务冲突检测方法
US8041898B2 (en) Method, system and apparatus for reducing memory traffic in a distributed memory system
US7461212B2 (en) Non-inclusive cache system with simple control operation
CN116561020B (zh) 一种混合缓存粒度下的请求处理方法、设备及存储介质
CN116701246B (zh) 一种提升缓存带宽的方法、装置、设备及存储介质
EP0498520B1 (en) Improved data cache and method for handling memory errors during copyback
US7356647B1 (en) Cache with integrated capability to write out entire cache
US6813694B2 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy
US9053030B2 (en) Cache memory and control method thereof with cache hit rate
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
US8856444B2 (en) Data caching method
US10489292B2 (en) Ownership tracking updates across multiple simultaneous operations
US6826654B2 (en) Cache invalidation bus for a highly scalable shared cache memory hierarchy
CN108804020B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231213

Address after: No.9, Xuesen Road, science and Technology City, Suzhou high tech Zone, Suzhou City, Jiangsu Province

Applicant after: Hexin Technology (Suzhou) Co.,Ltd.

Applicant after: Shanghai Hexin Digital Technology Co.,Ltd.

Address before: No.9, Xuesen Road, science and Technology City, Suzhou high tech Zone, Suzhou City, Jiangsu Province

Applicant before: Hexin Technology (Suzhou) Co.,Ltd.

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40098508

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant