内存访问方法和装置制造方法及图纸

技术编号:34384084 阅读:14 留言:0更新日期:2022-08-03 21:04
一种内存访问方法和装置,应用于CPU核心,该方法包括:响应于内存访问请求,在TLB中查找内存访问请求携带的虚拟地址对应的物理地址;在未查找到虚拟地址对应的物理地址的情况下,发送地址探测请求,地址探测请求中携带所述虚拟地址,以供接收到地址探测请求的CPU核心在其TLB中查找虚拟地址对应的物理地址,并在查找到对应的物理地址的情况下,返回地址探测响应,地址探测响应中携带查找到的物理地址;响应于接收到的地址探测响应,将地址探测响应中携带的物理地址与虚拟地址之间的映射关系存储至TLB中,并基于所述物理地址进行内存访问。并基于所述物理地址进行内存访问。并基于所述物理地址进行内存访问。

【技术实现步骤摘要】
内存访问方法和装置


[0001]本说明书涉及计算机
,尤其涉及一种内存访问方法和装置。

技术介绍

[0002]CPU(Central Processing Unit,中央处理器)是计算机系统运算和控制核心,是信息处理、程序运行的最终执行单元。CPU可包括一个或多个CPU核心(core)。CPU核心中通常包括TLB(Translation Look

aside Buffer,旁路转换缓存),TLB是一种高速硬件缓存,用于缓存虚拟地址与物理地址之间的映射关系,可提高地址转换速率。
[0003]对于多核CPU而言,同一进程的不同线程可能运行在不同的CPU核心;进程或线程也可能被调度到其他CPU核心中运行。在这种跨CPU核心运行的场景下,如何提升地址转换速率,已成为亟待解决的技术问题。

技术实现思路

[0004]有鉴于此,本说明书提供一种内存访问方法和装置。
[0005]具体地,本说明书是通过如下技术方案实现的:
[0006]一种内存访问方法,用于计算机系统的内存访问,所述计算机系统包括中央处理器CPU,CPU包括多个CPU核心,CPU核心包括旁路转换缓存TLB,TLB用于缓存虚拟地址与物理地址之间的映射关系,所述方法应用于CPU核心,包括:
[0007]响应于内存访问请求,在TLB中查找所述内存访问请求携带的虚拟地址对应的物理地址;
[0008]在未查找到所述虚拟地址对应的物理地址的情况下,发送地址探测请求,所述地址探测请求中携带所述虚拟地址,以供接收到所述地址探测请求的CPU核心在其TLB中查找所述虚拟地址对应的物理地址,并在查找到对应的物理地址的情况下,返回地址探测响应,所述地址探测响应中携带查找到的所述物理地址;
[0009]响应于接收到的地址探测响应,将所述地址探测响应中携带的所述物理地址与所述虚拟地址之间的映射关系存储至TLB中,并基于所述物理地址进行内存访问。
[0010]可选的,所述发送地址探测请求,包括:
[0011]广播发送地址探测请求。
[0012]可选的,所述发送地址探测请求,包括:
[0013]从寄存器中读取目标CPU核心的目标核心标识;
[0014]基于所述目标核心标识发送地址探测请求至所述目标CPU核心。
[0015]可选的,所述目标CPU核心是发起所述内存访问请求的线程所属进程中其他线程所在的CPU核心。
[0016]可选的,所述目标CPU核心是发起所述内存访问请求的线程被调度至本CPU核心之前所在的CPU核心。
[0017]可选的,所述目标核心标识由调度器写入。
[0018]可选的,还包括:
[0019]接收TLB无效指令,所述TLB无效指令是在发起所述内存访问请求的线程被调度至其他CPU核心后发送;
[0020]响应于所述TLB无效指令,将TLB中所述TLB无效指令指定的虚拟地址与物理地址之间的映射关系标记为无效状态;
[0021]所述方法还包括:
[0022]在接收到其他CPU核心发送的地址探测请求后,在TLB中查找处于有效状态和无效状态下的虚拟地址对应的物理地址。
[0023]可选的,还包括:
[0024]在未接收到所述地址探测响应的情况下,基于内存的进程页表查找所述虚拟地址对应的物理地址。
[0025]一种内存访问装置,用于计算机系统的内存访问,所述计算机系统包括中央处理器CPU,CPU包括多个CPU核心,CPU核心包括旁路转换缓存TLB,TLB用于缓存虚拟地址与物理地址之间的映射关系,所述装置应用于CPU核心,包括:
[0026]地址查找单元,响应于内存访问请求,在TLB中查找所述内存访问请求携带的虚拟地址对应的物理地址;
[0027]地址探测单元,在未查找到所述虚拟地址对应的物理地址的情况下,发送地址探测请求,所述地址探测请求中携带所述虚拟地址,以供接收到所述地址探测请求的CPU核心在其TLB中查找所述虚拟地址对应的物理地址,并在查找到对应的物理地址的情况下,返回地址探测响应,所述地址探测响应中携带查找到的所述物理地址;
[0028]内存访问单元,响应于接收到的地址探测响应,将所述地址探测响应中携带的所述物理地址与所述虚拟地址之间的映射关系存储至TLB中,并基于所述物理地址进行内存访问。
[0029]可选的,所述地址探测单元,从寄存器中读取目标CPU核心的目标核心标识;基于所述目标核心标识发送地址探测请求至所述目标CPU核心。
[0030]一种中央处理器CPU,CPU包括多个CPU核心,CPU核心包括旁路转换缓存TLB,TLB用于缓存虚拟地址与物理地址之间的映射关系,所述CPU核心被配置为:
[0031]响应于内存访问请求,在TLB中查找所述内存访问请求携带的虚拟地址对应的物理地址;
[0032]在未查找到所述虚拟地址对应的物理地址的情况下,发送地址探测请求,所述地址探测请求中携带所述虚拟地址,以供接收到所述地址探测请求的CPU核心在其TLB中查找所述虚拟地址对应的物理地址,并在查找到对应的物理地址的情况下,返回地址探测响应,所述地址探测响应中携带查找到的所述物理地址;
[0033]响应于接收到的地址探测响应,将所述地址探测响应中携带的所述物理地址与所述虚拟地址之间的映射关系存储至TLB中,并基于所述物理地址进行内存访问。
[0034]采用上述实施方式,CPU核心在TLB中未存储虚拟地址对应的物理地址的情况下,发送地址探测请求给其他CPU核心,其他CPU核心查找各自TLB中是否存储虚拟地址对应的物理地址,并可将查询到的物理地址添加至地址探测响应中返回。CPU核心进而可在其TLB中存储所述物理地址和所述虚拟地址之间的映射关系,并进行内存访问。
[0035]采用上述实施方式,可实现CPU核心之间的TLB缓存共享,极大程度的减少了跨CPU核心运行的场景下,CPU核心进行的重复进程页表查询,减少了CPU核心处理资源的浪费,并且有效缩短了TLB Miss情况下地址转换的耗时,提升了IO性能。另一方面,本说明书提供的上述技术方案,基于已有的硬件以及缓存探测协议即可实现,无需新增硬件,成本低,可行性高。
附图说明
[0036]图1是本说明书一示例性实施例示出的一种内存访问方法的流程示意图。
[0037]图2是本说明书一示例性实施例示出的一种CPU框图。
[0038]图3是本说明书一示例性实施例示出的另一种内存访问方法的流程示意图。
[0039]图4是本说明书一示例性实施例示出的另一种内存访问方法的流程示意图。
[0040]图5是本说明书一示例性实施例示出的一种内存访问装置的框图。
具体实施方式
[0041]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存访问方法,用于计算机系统的内存访问,所述计算机系统包括中央处理器CPU,CPU包括多个CPU核心,CPU核心包括旁路转换缓存TLB,TLB用于缓存虚拟地址与物理地址之间的映射关系,所述方法应用于CPU核心,包括:响应于内存访问请求,在TLB中查找所述内存访问请求携带的虚拟地址对应的物理地址;在未查找到所述虚拟地址对应的物理地址的情况下,发送地址探测请求,所述地址探测请求中携带所述虚拟地址,以供接收到所述地址探测请求的CPU核心在其TLB中查找所述虚拟地址对应的物理地址,并在查找到对应的物理地址的情况下,返回地址探测响应,所述地址探测响应中携带查找到的所述物理地址;响应于接收到的地址探测响应,将所述地址探测响应中携带的所述物理地址与所述虚拟地址之间的映射关系存储至TLB中,并基于所述物理地址进行内存访问。2.根据权利要求1所述的方法,所述发送地址探测请求,包括:广播发送地址探测请求。3.根据权利要求1所述的方法,所述发送地址探测请求,包括:从寄存器中读取目标CPU核心的目标核心标识;基于所述目标核心标识发送地址探测请求至所述目标CPU核心。4.根据权利要求3所述的方法,所述目标CPU核心是发起所述内存访问请求的线程所属进程中其他线程所在的CPU核心。5.根据权利要求3所述的方法,所述目标CPU核心是发起所述内存访问请求的线程被调度至本CPU核心之前所在的CPU核心。6.根据权利要求4或5所述的方法,所述目标核心标识由调度器写入。7.根据权利要求1所述的方法,还包括:接收TLB无效指令,所述TLB无效指令是在发起所述内存访问请求的线程被调度至其他CPU核心后发送;响应于所述TLB无效指令,将TLB中所述TLB无效指令指定的虚拟地址与物理地址之间的映射关系标记为无效状态;所述方法还包括:在接收到其他CPU核心发送的地址探测请求后,在TLB中查找处于有效状态和无效状态下的...

【专利技术属性】
技术研发人员:郭凯杰罗犇彭开桓
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1