内存访问方法、计算机系统以及处理装置制造方法及图纸

技术编号:21034040 阅读:44 留言:0更新日期:2019-05-04 05:20
本申请提供一种内存访问方法、计算机系统以及处理装置,所述方法包括:系统软件将基地址保存在寄存器中;所述系统软件接收进程发送的内存访问请求,并将所述内存访问请求发送给内存管理单元,所述内存访问请求中包括虚拟地址;当所述内存管理单元根据所述虚拟地址中的标识位确定所述虚拟地址为直接映射空间的虚拟地址时,所述内存管理单元根据所述虚拟地址中的偏移位以及所述基地址计算所述虚拟地址对应的物理地址;系统软件接收所述物理地址并访问所述物理地址对应的内存中的数据;实现虚拟地址到物理地址的快速转换,提升内存访问速度。

Memory access method, computer system and processing device

【技术实现步骤摘要】
内存访问方法、计算机系统以及处理装置
本申请涉及计算机
,特别涉及一种内存访问方法、计算机系统以及处理装置。
技术介绍
在计算机应用中,会需要访问内存中的数据,现有的计算机的体系架构中,为了提高计算机的内存访问速度,在系统内存和处理器之间增加物理缓存来提供数据缓存,物理缓存一般都在芯片内,因此其大小都有限制。而基于数据访问的区域性原理,系统会将频繁访问的数据存放到物理缓存内确保内存访问时尽可能的从缓存中读取,并通过一定的算法提升缓存命中率,但是这样始终无法避免缓存丢失,即当需要访问的内存数据不在物理缓存中时,需要从系统内存从读取,这样会造成读取数据的时延提高一个数量级,导致性能出现波动和降低。现有的计算机体系架构在内存访问时处理器只能访问虚拟地址,因此必须找到该虚拟地址对应的物理地址,才能访问内存中的数据。系统内存中有一种表用来存放虚拟地址和物理地址的一一对应的关系,这种表称为页表。系统内存中保存所有记录着虚拟地址与物理地址对应关系的页表。旁路转换缓存(translationlookasidebuffer,TLB)是基于上述物理缓存的原理用于存放部分页表的缓存,目的使程序访问物本文档来自技高网...

【技术保护点】
1.一种内存访问方法,其特征在于,包括:系统软件将基地址保存在寄存器中,所述基地址为第一直接映射空间的物理起始地址,所述第一直接映射空间为所述系统软件分配给进程的一部分内存;所述系统软件接收所述进程发送的内存访问请求,所述内存访问请求中包括虚拟地址,所述虚拟地址中包含标识位和偏移位,其中所述标识位用于指示所述虚拟地址的类型,所述偏移位用于指示待访问的内存的物理起始地址相对于所述基地址的偏移量;所述系统软件将所述内存访问请求发送给内存管理单元;所述内存管理单元接收所述内存访问请求,根据所述虚拟地址中的所述标识位确定所述虚拟地址为直接映射空间的虚拟地址时,获取所述寄存器中包含的所述基地址;所述内存...

【技术特征摘要】
1.一种内存访问方法,其特征在于,包括:系统软件将基地址保存在寄存器中,所述基地址为第一直接映射空间的物理起始地址,所述第一直接映射空间为所述系统软件分配给进程的一部分内存;所述系统软件接收所述进程发送的内存访问请求,所述内存访问请求中包括虚拟地址,所述虚拟地址中包含标识位和偏移位,其中所述标识位用于指示所述虚拟地址的类型,所述偏移位用于指示待访问的内存的物理起始地址相对于所述基地址的偏移量;所述系统软件将所述内存访问请求发送给内存管理单元;所述内存管理单元接收所述内存访问请求,根据所述虚拟地址中的所述标识位确定所述虚拟地址为直接映射空间的虚拟地址时,获取所述寄存器中包含的所述基地址;所述内存管理单元根据所述偏移位和所述基地址计算所述虚拟地址对应的物理地址;所述内存管理单元将所述物理地址返回给所述系统软件;所述系统软件接收所述物理地址并访问所述物理地址对应的所述内存中的数据。2.根据权利要求1所述的内存访问方法,其特征在于,所述方法还包括:所述系统软件将所述第一直接映射空间的访问属性保存在所述寄存器中;在获取所述基地址之前,所述内存管理单元在根据所述虚拟地址中的所述标识位确定所述虚拟地址为所述直接映射空间的虚拟地址时,从所述寄存器中获取所述访问属性,在确定所述访问属性与所述内存访问请求的访问属性匹配时执行获取所述基地址的步骤。3.根据权利要求1或2所述的内存访问方法,其特征在于,所述方法还包括:所述系统软件将所述第一直接映射空间的长度保存在所述寄存器中;所述内存管理单元从所述寄存器中获取所述长度;在计算出所述物理地址之后,所述内存管理单元确定所述物理地址是否在所述基地址和所述长度确定的物理地址范围内,若所述物理地址在所述物理地址范围内,则将所述物理地址返回给所述系统软件。4.一种计算机系统,其特征在于,包括软件层和硬件层,所述软件层包括系统软件,所述硬件层包括内存、内存管理单元和寄存器,其中:所述系统软件被配置为:将基地址保存在寄存器中,所述基地址为第一直接映射空间的物理起始地址,所述第一直接映射空间为所述系统软件分配给进程的一部分内存;接收所述进程发送的内存访问请求,所述内存访问请求中包括虚拟地址,所述虚拟地址中包含标识位和偏移位,其中所述标识位用于指示所述虚拟地址的类型,所述偏移位用于指示待访问的内存的物理起始地址相对于所述基地址的偏移量;将所述内存访问请求发送给所述内存管理单元;所述寄存器被配置为:保存所述基地址;所述内存管理单元被配置为:从所述系统软件接收所述内存访问请求;在根据所述虚拟地址中的所述标识位确定所述虚拟地址为直接映射空间的虚拟地址时,从所述寄存器中获取所述基地址;根据所述偏移位和所述基地址计算所述虚拟地址对应的物理地址;将所述物理地址返回给所述系统软件;所述系统软件还被配置为:从所述内存管理单元接收所述物理地址,并访问所述物理地址对应的所述内存中的数据。5.根据权利要求4所述的计算机系统,其特征在于,所述系统软件还被配置为:将所述第一直接映射空间的访问属性保存在所述寄存器中;所述寄存器还被配置为:保存所述访问属性;所述内存管理单元还被配置为:在获取所述基地址之前,在根据所述虚拟地址中的所述标识位确定所述虚拟地址为所述直接映射空间的虚拟地址时,从所述寄存器中获取所述访问属性,在确定所述访问属性与所述内存访问请求的访问属性匹配时执行获取所述基地址的步骤。6.根据权利要求4或5所述的计算机系统,其特征在于,所述系统软件还被配置为:将所述第一直接映射空间的长度保存在所述寄存器中;所述寄存器还被配置为:保存所述长度;所述内存管理单元还被配置为:从所述寄存器中获取所述长度;在计算出所述物理地址之后,确定所述物理地址是否在所述基地址和所述长度确定的物理地址范围内,若所述物理地址在所述物理地址范围内,则将所述物理地址返回给所述系统软件。7.根据权利要求4-6任意一项所述的计算机系统,其特征在于,所述系统软件还被配置为:在所述系统软件初始化时将内存的物理地址空间中的一部分划分为所述直接映射空间;所述系统软件将所述第一直接映射空间分配给所述进程,所述第一直接映射空间为所述直接映射空间的部分或全部。8.一种计算机系统,其特征在于,包括存储器、物理核、内存管理单元以及寄存器,所述存储器包括内存,其中:所述存储器被配置为:存储软件指令;所述物理核被配置为:读取所述软件指令以执行如下操作:将基地址保存在寄存器中,所述基地址为第一直接映射空间的物理起始地址,所述第一直接映射空间为所述物理核分配给进程的一部分内存;接收所述进程发送的内存访问请求,所述内存访问请求中包括虚拟地址,所述虚拟地址中包含标识位和偏移位,其中所述标识位用于指示所述虚拟地址的类型,所述偏移位用于指示待访问的内存的物理起始地址相对于所述基地址的偏移量;将所述内存访问请求发送给所述内存管理单元;从所述内存管理单元接收物理地址,并访问所述物理地址对应的所述内存中的数据;所述寄存器被配置为:保存所述基地址;所述内存管理单元被配置为:从所述物理核接收所述内存访问请求;在根据所述虚拟地址中的所述标识位确定所述虚拟地址为直接映射空间的虚拟地址时,从所述寄存器中获取所述基地址;根据所述偏移位和所述基地址计算所述虚拟地址对应的所述物理地址;将所述物理地址返回给所述物理核。9.根据权利要求8所述的...

【专利技术属性】
技术研发人员:丁天虹
申请(专利权)人:杭州华为数字技术有限公司
类型:发明
国别省市:浙江,33

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

1