System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 内存访问系统、电子组件及电子设备技术方案_技高网

内存访问系统、电子组件及电子设备技术方案

技术编号:40920097 阅读:2 留言:0更新日期:2024-04-18 14:45
本公开提供一种内存访问系统、电子组件及电子设备,该内存访问系统包括第一翻译模块,第一翻译模块位于第一延时域内或靠近第一延时域,第一翻译模块接收来自第二延时域的内存访问请求和地址翻译请求,地址翻译请求携带有虚拟地址,虚拟地址对应的物理地址是第一内存的一个物理地址;第一翻译模块确定虚拟地址对应的物理地址;第一翻译模块根据确定出的物理地址访问第一内存,第一内存位于第一延时域。本公开中,第二延时域将内存访问请求和地址翻译请求发送给第一翻译模块进行处理,第一翻译模块在确定出虚拟地址对应的物理地址后,可以立即处理内存访问请求,从而根据确定出的物理地址访问第一内存,有效缩短了内存访问延时。

【技术实现步骤摘要】

本公开涉及数据处理,尤其涉及一种内存访问系统、电子组件及电子设备


技术介绍

1、主设备(例如cpu)上执行的程序通常运行在虚拟地址空间,因此需要基于虚拟地址对物理内存进行访问。具体而言,程序在调用soc(system on chip,片上系统)上的硬件主设备访问内存时,会将虚拟地址下发给硬件主设备,然后由硬件的地址翻译模块从本地soc的内存或其他soc的内存上读回页表,并根据读回的页表将虚拟地址翻译成物理地址,然后再由主设备根据物理地址访问目标内存。

2、然而上述内存访问过程的延时较长,尤其是随着soc规模的不断提升,或者随着多个soc互联的应用场景的出现,导致页表存放位置与地址翻译模块的距离较远,或者待访问的目标内存与主设备的距离较远,从而进一步增大了主设备访问内存的延时。


技术实现思路

1、本公开的目的是提供一种内存访问系统、电子组件及电子设备,旨在降低内存访问延时。

2、根据本公开的一个方面,提供一种内存访问系统,所述系统包括第一翻译模块,所述第一翻译模块位于以下多种位置中的任一种位置处:第一延时域内、所述第一延时域和第二延时域的边界处、所述第二延时域内的更靠近所述第一延时域的位置;所述第一延时域内还包括第一内存;所述第一翻译模块被配置为:

3、接收来自第二延时域的内存访问请求和地址翻译请求,所述地址翻译请求携带有虚拟地址,所述虚拟地址对应的物理地址是所述第一内存的一个物理地址;

4、确定所述虚拟地址对应的物理地址;

<p>5、根据确定出的物理地址访问所述第一内存。

6、本公开一种可行的实现方式中,在用于翻译所述虚拟地址的页表为单级页表的情况下,所述第一翻译模块在确定所述虚拟地址对应的物理地址时,具体被配置为:

7、根据第一寄存器中的页表基地址和所述虚拟地址中的偏移信息,确定所述虚拟地址对应的物理地址。

8、本公开一种可行的实现方式中,所述单级页表存储于所述第一内存中。

9、本公开一种可行的实现方式中,在用于翻译所述虚拟地址的页表为多级页表的情况下,所述多级页表中的最后m级页表存储于所述第一内存中,所述m为大于或等于1的整数,所述地址翻译请求还携带有页表基地址,所述页表基地址是所述最后m级页表中的最高级页表的基地址;所述第一翻译模块在确定所述虚拟地址对应的物理地址时,具体被配置为:

10、根据所述页表基地址、所述虚拟地址中的偏移信息、以及所述最后m级页表中每一级页表的相应页表条目,确定所述虚拟地址对应的物理地址。

11、本公开一种可行的实现方式中,所述第一翻译模块还被配置为:

12、将访问所述第一内存的访问结果返回给所述第二延时域。

13、根据本公开的另一方面,还提供另一种内存访问系统,所述系统包括主设备和第二翻译模块,所述主设备和所述第二翻译模块位于第二延时域内;

14、所述第二翻译模块被配置为:向第一翻译模块发送携带有虚拟地址的地址翻译请求,使所述第一翻译模块确定所述虚拟地址对应的物理地址;其中,所述第一翻译模块位于以下多种位置中的任一种位置处:第一延时域内、所述第一延时域和所述第二延时域的边界处、所述第二延时域内的更靠近所述第一延时域的位置;所述虚拟地址对应的物理地址是第一内存的一个物理地址,所述第一内存位于所述第一延时域内;

15、所述主设备或所述第二翻译模块被配置为:向所述第一翻译模块发送内存访问请求,使所述第一翻译模块根据确定出的物理地址访问所述第一内存。

16、本公开一种可行的实现方式中,所述地址翻译请求和所述内存访问请求是同时发送给所述第一翻译模块的;或者,所述内存访问请求是在所述第一翻译模块确定出所述物理地址之前发送给所述第一翻译模块的。

17、本公开一种可行的实现方式中,所述地址翻译请求和所述内存访问请求是在以下情况下发送给所述第一翻译模块的:

18、用于翻译所述虚拟地址的页表为单级页表。

19、本公开一种可行的实现方式中,所述地址翻译请求和所述内存访问请求是在以下情况下发送给所述第一翻译模块的:

20、用于翻译所述虚拟地址的下一级页表是最后一级页表。

21、本公开一种可行的实现方式中,所述地址翻译请求和所述内存访问请求是在以下情况下发送给所述第一翻译模块的:

22、用于翻译所述虚拟地址的下一级页表是最后m级页表中的最高级页表,所述m为大于或等于1的整数。

23、本公开一种可行的实现方式中,所述地址翻译请求还携带有最后m级页表中的最高级页表的基地址。

24、本公开一种可行的实现方式中,最后m级页表存储于所述第一内存中。

25、本公开一种可行的实现方式中,所述第二翻译模块还被配置为:

26、在用于翻译所述虚拟地址的下一级页表不是最后m级页表中的最高级页表的情况下,从存储有下一级页表的目标位置获取下一级页表或下一级页表中的目标页表条目。

27、本公开一种可行的实现方式中,在存储有下一级页表的目标位置是除第二延时域以外的其他位置的情况下,所述第二翻译模块在获取下一级页表或目标页表条目时,具体被配置为:

28、向总线或片上网络发送信息获取请求,所述信息获取请求携带有下一级页表的基地址,或者所述信息获取请求携带有下一级页表的基地址和目标页表条目对应的偏移信息;

29、接收其他延时域或页表缓存器通过总线或片上网络返回的下一级页表或目标页表条目;其中,所述页表缓存器用于缓存所述第二延时域所需的且存在于所述其他延时域的页表或页表条目。

30、本公开一种可行的实现方式中,所述系统还包括所述页表缓存器,所述页表缓存器被配置为:

31、在接收到来自所述第二翻译模块的信息获取请求后,根据所述信息获取请求携带的基地址或所述信息获取请求携带的基地址和偏移信息,查询本地是否缓存有相应的页表或页表条目;

32、如果本地缓存有相应的页表或页表条目,则将相应的页表或页表条目返回给所述第二翻译模块。

33、本公开一种可行的实现方式中,所述第二延时域内的第二翻译模块为多个,每个第二翻译模块分别服务于一个主设备,所述页表缓存器服务于多个第二翻译模块。

34、本公开一种可行的实现方式中,所述主设备或所述第二翻译模块被配置为:接收所述第一翻译模块返回的访问结果。

35、根据本公开的另一方面,还提供一种电子组件,该电子组件包括上述任一实施例中所述的内存访问系统。在一些使用场景下,该电子组件的产品形式体现为显卡;在另一些使用场景下,该电子组件的产品形式体现为cpu主板。

36、根据本公开的另一方面,还提供一种电子设备,该电子设备包括上述的电子组件。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、vr设备、穿戴设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机等。...

【技术保护点】

1.一种内存访问系统,所述系统包括第一翻译模块,所述第一翻译模块位于以下多种位置中的任一种位置处:第一延时域内、所述第一延时域和第二延时域的边界处、所述第二延时域内的更靠近所述第一延时域的位置;所述第一延时域内还包括第一内存;所述第一翻译模块被配置为:

2.根据权利要求1所述的系统,在用于翻译所述虚拟地址的页表为单级页表的情况下,所述第一翻译模块在确定所述虚拟地址对应的物理地址时,具体被配置为:

3.根据权利要求2所述系统,所述单级页表存储于所述第一内存中。

4.根据权利要求1所述的系统,在用于翻译所述虚拟地址的页表为多级页表的情况下,所述多级页表中的最后M级页表存储于所述第一内存中,所述M为大于或等于1的整数,所述地址翻译请求还携带有页表基地址,所述页表基地址是所述最后M级页表中的最高级页表的基地址;所述第一翻译模块在确定所述虚拟地址对应的物理地址时,具体被配置为:

5.根据权利要求1所述的系统,所述第一翻译模块还被配置为:

6.一种内存访问系统,所述系统包括主设备和第二翻译模块,所述主设备和所述第二翻译模块位于第二延时域内;

7.根据权利要求6所述的系统,所述地址翻译请求和所述内存访问请求是同时发送给所述第一翻译模块的。

8.根据权利要求6所述的系统,所述地址翻译请求和所述内存访问请求是在以下情况下发送给所述第一翻译模块的:

9.根据权利要求6所述的系统,所述地址翻译请求和所述内存访问请求是在以下情况下发送给所述第一翻译模块的:

10.根据权利要求9所述的系统,所述地址翻译请求还携带有最后M级页表中的最高级页表的基地址。

11.根据权利要求9所述的系统,最后M级页表存储于所述第一内存中。

12.根据权利要求9所述的系统,所述第二翻译模块还被配置为:

13.根据权利要求12所述的系统,在存储有下一级页表的目标位置是除第二延时域以外的其他位置的情况下,所述第二翻译模块在获取下一级页表或目标页表条目时,具体被配置为:

14.根据权利要求13所述的系统,所述系统还包括所述页表缓存器,所述页表缓存器被配置为:

15.根据权利要求14所述的系统,所述第二延时域内的第二翻译模块为多个,每个第二翻译模块分别服务于一个主设备,所述页表缓存器服务于多个第二翻译模块。

16.根据权利要求6所述的系统,所述主设备或所述第二翻译模块被配置为:接收所述第一翻译模块返回的访问结果。

17.一种电子组件,包括权利要求1-5任一项所述的系统;或者,包括权利要求6至16任一项所述的系统;或者,包括权利要求1-5任一项所述的系统和权利要求6至16任一项所述的系统。

18.一种电子设备,包括权利要求17所述的电子组件。

...

【技术特征摘要】

1.一种内存访问系统,所述系统包括第一翻译模块,所述第一翻译模块位于以下多种位置中的任一种位置处:第一延时域内、所述第一延时域和第二延时域的边界处、所述第二延时域内的更靠近所述第一延时域的位置;所述第一延时域内还包括第一内存;所述第一翻译模块被配置为:

2.根据权利要求1所述的系统,在用于翻译所述虚拟地址的页表为单级页表的情况下,所述第一翻译模块在确定所述虚拟地址对应的物理地址时,具体被配置为:

3.根据权利要求2所述系统,所述单级页表存储于所述第一内存中。

4.根据权利要求1所述的系统,在用于翻译所述虚拟地址的页表为多级页表的情况下,所述多级页表中的最后m级页表存储于所述第一内存中,所述m为大于或等于1的整数,所述地址翻译请求还携带有页表基地址,所述页表基地址是所述最后m级页表中的最高级页表的基地址;所述第一翻译模块在确定所述虚拟地址对应的物理地址时,具体被配置为:

5.根据权利要求1所述的系统,所述第一翻译模块还被配置为:

6.一种内存访问系统,所述系统包括主设备和第二翻译模块,所述主设备和所述第二翻译模块位于第二延时域内;

7.根据权利要求6所述的系统,所述地址翻译请求和所述内存访问请求是同时发送给所述第一翻译模块的。

8.根据权利要求6所述的系统,所述地址翻译请求和所述内存访问请求是在以下情况下发送给所述...

【专利技术属性】
技术研发人员:姜莹王海洋
申请(专利权)人:北京象帝先计算技术有限公司
类型:发明
国别省市:

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

1