一种用于访问内存的方法和装置制造方法及图纸

技术编号:16455881 阅读:37 留言:0更新日期:2017-10-25 20:27
本发明专利技术公开了一种访问内存的方法和装置,能够减少系统延迟,提高访问效率。该方法应用于计算机系统中,该计算机系统包括至少一个核、存储控制器MC、目标缓存和内存,各核经由第一总线与MC相连,目标缓存经由第二总线与MC相连,各核和目标缓存通过MC与内存相连,该方法包括:MC接收至少一个核中的第一核发送的第一内存访问请求,第一内存访问请求中携带有第一核请求访问的目标数据在内存中的地址的信息;MC根据目标地址的信息,从内存中读取目标数据;MC确定第一总线被占用;MC经由第二总线,向目标缓存发送目标数据,以将目标数据保存在目标缓存中。

Method and device for accessing memory

The invention discloses a method and a device for accessing memory, which can reduce the system delay and improve the access efficiency. This method is applied to the computer system, the computer system includes at least one core, memory controller MC, cache and memory, each core is connected to the MC via the first bus, the target cache via the second bus connected to the MC, the nucleus and the target cache MC and memory is connected via the method includes: receiving at least a first memory MC the first nuclear sends a nucleus of the access request, the first memory access request carries the address of the first nuclear target data in the memory access request information; MC according to the target address information, read data from memory; MC to determine the first bus is occupied by second; MC bus data to the target cache send target to target data stored in the target cache.

【技术实现步骤摘要】
一种用于访问内存的方法和装置
本专利技术涉及计算机领域,并且更具体地,涉及计算机领域中一种用于访问内存的方法和装置。
技术介绍
在多核处理器中,采用多级存储架构,例如包括:第一级(Level1,简称“L1”)缓存、第二级(Level2,简称“L2”)缓存、第三级(Level3,简称“L3”)缓存。L3通过存储控制器(MemoryController,简称“MC”)与内存相连。从L1到内存,存储容量逐渐增大,访问时间也依次增加。在三级缓存多核架构下,每个核可以拥有独立的L1和L2缓存,而L3缓存则是多个核心共享的。目前,已知一种技术,将L3缓存分成多个缓存切片(例如,最后级缓存(LastLevelCache,简称“LLC”)切片)。在处理器中,通过环形总线连接着各个核、LLC切片、图形处理单元(例如,图形处理器(GraphicsProcessingUnit,简称“GPU”))和系统代理(SystemAgent,或者说系统北桥)。系统代理通过MC与内存相连。当核无法在私有的L1和L2缓存中找到所需数据,并且在共享的L3缓存中也无法找到所需数据时,则会通过系统代理经过MC在内存中查找。但是,MC只有一个,并且MC自身的缓存空间非常小,多个核同时需要访问内存时,就需要通过环形总线向MC发送内存访问请求,而对内存的访问速度比对L1、L2缓存的访问速度慢很多,就有可能造成在短时间内发生大量访问内存的请求。MC根据内存访问请求从内存中读取到的大量的数据暂存在MC的缓存空间中,需要通过环形总线发送给对应的核。但是当环形总线处于繁忙状态时,MC就无法及时将从内存中读取到的数据发送给核。而MC中的缓存空间有限,大量的内存访问请求通过MC从内存中获取到大量的数据,使得MC的缓存空间不足以存放这么大量的数据,从而造成后续的内存访问请求无法及时处理,导致对内存访问的延迟。
技术实现思路
本申请提供一种用于访问内存的方法和装置,以缓解MC在环形总线繁忙时无法及时处理内存访问请求而造成的反应延迟,提高访问效率。第一方面,本申请提供一种访问内存的方法,所述方法应用于计算机系统中,所述计算机系统包括至少一个核、存储控制器MC、目标缓存和内存,各所述核经由第一总线与所述MC相连,所述目标缓存经由第二总线与所述MC相连,所述MC与所述内存相连,所述方法包括:所述MC接收所述至少一个核中的第一核发送的第一内存访问请求,所述第一内存访问请求中携带有目标地址指示信息,所述目标地址指示信息用于指示所述第一核请求访问的目标数据在所述内存中的地址;所述MC根据所述目标地址指示信息,从所述内存中读取所述目标数据;当确定所述第一总线被占用时,所述MC经由所述第二总线,向所述目标缓存发送所述目标数据,以将所述目标数据保存在所述目标缓存中。其中,第一总线可以为环形总线,也可以为其他形式的用于连接各核和MC的总线。第一总线可以分成多个总线段,第一总线被占用可以理解为第一总线的部分或全部总线段处于繁忙状态。因此,MC通过经由不同于第一总线的第二总线,将第一核请求从内存读取的目标数据保存在目标缓存中。也就是说,本专利技术实施例通过在MC与第一总线间增加了一条总线,在第一总线处于繁忙状态时,可以经由新增的第二总线在目标缓存中暂时保存核请求访问的目标数据,以使得MC中的缓存区得以释放,从而为后续的访问请求所读取的数据提供缓存空间。由此,可以缓解MC在第一总线繁忙时无法及时处理访问请求而造成的反应延迟,提高访问效率。另一方面,通过目标缓存在第一总线空闲时将暂存的目标数据发送给第一核,可以有效地提高第一总线的使用率。结合第一方面,在第一方面的第一种可能的实现方式中,在所述MC经由所述第二总线,向所述目标缓存发送所述目标数据之前,所述方法还包括:所述MC确定所述第二总线未被占用。结合第一方面,在第一方面的第二种可能的实现方式中,所述第一总线具有第一接口,所述目标缓存具有第二接口,所述MC具体通过所述第一接口与所述第一总线相连,所述目标缓存具体通过所述第二接口经由所述第二总线与所述MC相连。可选地,所述第一总线还具有第三接口,所述第一总线具体通过所述第三接口经由所述第二总线与所述目标缓存相连。因此,通过将第二总线与第一总线相连,使目标缓存可以经由第二总线向第一总线传输数据,减小了MC和目标缓存同时向核传输数据时产生的竞争,提高了访问效率,并且提高了第一总线的利用率。结合第一方面的上述可能的实现方式,在第一方面的第三种可能的实现方式中,所述目标缓存具有至少两个接口,所述至少两个接口中的第四接口经由所述第二总线与所述MC相连,所述至少两个接口中的第五接口与所述第一总线相连。因此,通过在目标缓存设置两个接口使目标缓存与MC和第一总线独立相连,互不影响。由此,可以进一步解决核和MC同时访问目标缓存时在第一总线中可能出现的访问竞争。第二方面,本申请提供一种用于访问内存的方法,所述方法应用于计算机系统中,所述计算机系统包括至少一个核、存储控制器MC、目标缓存和内存,各所述核经由第一总线与所述MC相连,所述目标缓存经由第二总线与所述MC相连,所述MC与所述内存相连,所述方法包括:所述目标缓存接收所述MC发送的目标数据,所述目标数据由所述MC根据第一内存访问请求从所述内存中读取;所述目标缓存经由所述第一总线向所述第一核发送所述目标数据。因此,MC通过经由不同于第一总线的第二总线,将第一核请求从内存读取的目标数据保存在目标缓存中。也就是说,本专利技术实施例通过在MC与第一总线间增加了一条总线,在第一总线处于繁忙状态时,可以经由新增的第二总线在目标缓存中暂时保存核请求访问的目标数据,以使得MC中的缓存区得以释放,从而为后续的访问请求所读取的数据提供缓存空间。由此,可以缓解MC在第一总线繁忙时无法及时处理访问请求而造成的反应延迟,提高访问效率。另一方面,通过目标缓存在第一总线空闲时将暂存的目标数据发送给第一核,可以有效地提高第一总线的使用率。结合第二方面,在第二方面的第一种可能的实现方式中,在所述目标缓存经由所述第一总线向所述第一核发送所述目标数据之前,所述方法还包括:所述目标缓存确定所述第一总线未被占用。结合第二方面,在第二方面的第二种可能的实现方式中,所述第一总线具有第一接口,所述目标缓存具有第二接口,所述MC具体通过所述第一接口与所述第一总线相连,所述目标缓存具体通过所述第二接口经由所述第二总线与所述MC相连。可选地,所述第一总线还具有第三接口,以及,所述第一总线具体通过所述第三接口经由所述第二总线与所述目标缓存相连。因此,通过将第二总线与第一总线相连,使目标缓存可以经由第二总线向第一总线传输数据,减小了MC和目标缓存同时向核传输数据时产生的竞争,提高了访问效率,并且提高了第一总线的利用率。结合第二方面的上述可能的实现方式,在第二方面的第三种可能的实现方式中,所述目标缓存具有至少两个接口,所述至少两个接口中的第四接口经由所述第二总线与所述MC相连,所述至少两个接口中的第五接口与所述第一总线相连。因此,通过在目标缓存设置两个接口使目标缓存与MC和第一总线独立相连,互不影响。由此,可以进一步解决核和MC同时访问目标缓存时在第一总线中可能出现的访问竞争。第三方面,本申请提供一种用于访本文档来自技高网
...
一种用于访问内存的方法和装置

【技术保护点】
一种用于访问内存的方法,其特征在于,所述方法应用于计算机系统中,所述计算机系统包括至少一个核、存储控制器MC、目标缓存和内存,各所述核经由第一总线与所述MC相连,所述目标缓存经由第二总线与所述MC相连,所述MC与所述内存相连,所述方法包括:所述MC接收所述至少一个核中的第一核发送的第一内存访问请求,所述第一内存访问请求中携带有目标地址指示信息,所述目标地址指示信息用于指示所述第一核请求访问的目标数据在所述内存中的地址;所述MC根据所述目标地址指示信息,从所述内存中读取所述目标数据;当确定所述第一总线被占用时,所述MC经由所述第二总线,向所述目标缓存发送所述目标数据,以将所述目标数据保存在所述目标缓存中。

【技术特征摘要】
1.一种用于访问内存的方法,其特征在于,所述方法应用于计算机系统中,所述计算机系统包括至少一个核、存储控制器MC、目标缓存和内存,各所述核经由第一总线与所述MC相连,所述目标缓存经由第二总线与所述MC相连,所述MC与所述内存相连,所述方法包括:所述MC接收所述至少一个核中的第一核发送的第一内存访问请求,所述第一内存访问请求中携带有目标地址指示信息,所述目标地址指示信息用于指示所述第一核请求访问的目标数据在所述内存中的地址;所述MC根据所述目标地址指示信息,从所述内存中读取所述目标数据;当确定所述第一总线被占用时,所述MC经由所述第二总线,向所述目标缓存发送所述目标数据,以将所述目标数据保存在所述目标缓存中。2.根据权利要求1所述的方法,其特征在于,在所述MC经由所述第二总线,向所述目标缓存发送所述目标数据之前,所述方法还包括:所述MC确定所述第二总线未被占用。3.根据权利要求1或2所述的方法,其特征在于,所述第一总线具有第一接口,所述目标缓存具有第二接口,以及,所述MC具体通过所述第一接口与所述第一总线相连,所述目标缓存具体通过所述第二接口经由所述第二总线与所述MC相连。4.根据权利要求3所述的方法,其特征在于,所述第一总线还具有第三接口,以及,所述第一总线具体通过所述第三接口经由所述第二总线与所述目标缓存相连。5.根据权利要求1或2所述的方法,其特征在于,所述目标缓存具有至少两个接口,所述至少两个接口中的第四接口经由所述第二总线与所述MC相连,所述至少两个接口中的第五接口与所述第一总线相连。6.一种用于访问内存的方法,其特征在于,所述方法应用于计算机系统中,所述计算机系统包括至少一个核、存储控制器MC、目标缓存和内存,各所述核经由第一总线与所述MC相连,所述目标缓存经由第二总线与所述MC相连,所述MC与所述内存相连,所述方法包括:所述目标缓存接收所述MC发送的目标数据,所述目标数据由所述MC根据第一内存访问请求从所述内存中读取;所述目标缓存经由所述第一总线向所述第一核发送所述目标数据。7.根据权利要求6所述的方法,其特征在于,在所述目标缓存经由所述第一总线向所述第一核发送所述目标数据之前,所述方法还包括:所述目标缓存确定所述第一总线未被占用。8.一种用于访问内存的装置,其特征在于,所述装置配置于计算机系统中,所述计算机系统包括至少一个核、所述装置、目标缓存和内存,各所述核经由第一总线与所述装置相连,所述目标缓存经...

【专利技术属性】
技术研发人员:黄罡梁文亮吴子旭
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1