CN111338988A - 内存访问方法、装置、计算机设备和存储介质 - Google Patents
内存访问方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111338988A CN111338988A CN202010103866.0A CN202010103866A CN111338988A CN 111338988 A CN111338988 A CN 111338988A CN 202010103866 A CN202010103866 A CN 202010103866A CN 111338988 A CN111338988 A CN 111338988A
- Authority
- CN
- China
- Prior art keywords
- address
- storage address
- target storage
- memory
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 106
- 238000006243 chemical reaction Methods 0.000 claims abstract description 70
- 238000009877 rendering Methods 0.000 claims abstract description 54
- 238000013507 mapping Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 26
- 230000005055 memory storage Effects 0.000 claims description 23
- 238000013519 translation Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Input (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及一种内存访问方法、装置、计算机设备和存储介质。所述方法包括:接收中央处理器CPU发送的渲染指令;所述渲染指令包括渲染数据的目标存储地址;根据所述目标存储地址,在预设的第一映射关系中确定所述目标存储地址对应的目标存储地址类型;所述第一映射关系包括存储地址和存储地址类型之间的对应关系,所述目标存储地址类型包括物理地址类型或虚拟地址类型;根据所述目标存储地址类型判断是否对所述目标存储地址进行地址转换处理,并根据判断结果获取所述目标存储地址对应的物理存储地址;利用所述物理存储地址访问对应的内存。采用本方法适用范围广,且可以提高GPU的性能。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种内存访问方法、装置、计算机设备和存储介质。
背景技术
GPU(Graphics Processing Unit,图形处理器)也称为显卡,包括独立显卡和集成显卡,独立显卡是指有自己专属内存的显卡,集成显卡是指使用系统的一部分主内存作为显存的显卡。目前大多数计算机设备中的显卡都采用的是独立显卡,而采用独立显卡对图像进行渲染,能够得到更好的图像显示效果。
在采用GPU进行图像渲染时,渲染数据一般存储在GPU的显存中和/或CPU(CentralProcessing Unit,中央处理器)的主存中,在进行渲染过程中,CPU可以将渲染指令发送给GPU,渲染指令中包括数据在内存(内存包括显存和主存)上的存储地址,存储地址包括物理地址或虚拟地址,GPU根据该存储地址就可以读取相应内存中存储的数据,并对数据进行渲染处理后就可以得到渲染后的图像。可见,在图像渲染过程中不可避免的需要访问内存,那么如何提供一种高效的内存访问方式就显得尤为重要。
相关技术中,GPU仅支持采用虚拟地址访问内存或者仅支持物理地址访问内存,然而,这样的访问方式存在适用范围窄的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高适用范围的内存访问方法、装置、计算机设备和存储介质。
一种内存访问方法,该方法包括:
接收中央处理器CPU发送的渲染指令;该渲染指令包括渲染数据的目标存储地址;
根据目标存储地址,在预设的第一映射关系中确定目标存储地址对应的目标存储地址类型;该第一映射关系包括存储地址和存储地址类型之间的对应关系,目标存储地址类型包括物理地址类型或虚拟地址类型;
根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理存储地址;
利用物理存储地址访问对应的内存。
在其中一个实施例中,上述根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,包括:
若目标存储地址类型为虚拟地址类型,则将对目标存储地址进行地址转换处理作为判断结果;
若目标存储地址类型为物理地址类型,则将不对目标存储地址进行地址转换处理作为判断结果。
在其中一个实施例中,上述根据判断结果获取目标存储地址对应的物理存储地址,包括:
若判断结果为对目标存储地址进行地址转换处理,则对目标存储地址进行地址转换处理,得到目标存储地址对应的物理存储地址;
若判断结果为不对目标存储地址进行地址转换处理,则禁止对目标存储地址进行地址转换处理,并将目标存储地址作为目标存储地址对应的物理存储地址。
在其中一个实施例中,上述目标存储地址包括显存的存储地址或主存的存储地址,上述利用物理存储地址访问对应的内存,包括:
若目标存储地址为显存的存储地址,则将目标存储地址输入至显存控制器,通过显存控制器访问目标存储地址对应的显存存储空间;
若目标存储地址为主存的存储地址,则将目标存储地址输入至直接存储器访问DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
在其中一个实施例中,上述将目标存储地址输入至直接存储器访问DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间,包括:
向CPU发送第一中断请求;该第一中断请求用于指示CPU对DMA单元进行配置;
接收CPU发送的配置响应;该配置响应包括DMA单元配置成功或DMA单元配置失败;
若DMA单元配置成功,则将目标存储地址输入至DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
在其中一个实施例中,在上述根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理地址之前,上述方法还包括:
判断目标存储地址是否为非法地址;
若目标存储地址是非法地址,则向CPU发送第二中断请求;该第二中断请求用于指示CPU拒绝GPU对内存的访问。
在其中一个实施例中,上述对目标存储地址进行地址转换处理,得到目标存储地址对应的物理存储地址,包括:
将目标存储地址输入至图形处理器内存管理单元GMMU中进行地址转换处理,得到GMMU输出的物理存储地址。
一种内存访问装置,该装置包括:
接收模块,用于接收中央处理器CPU发送的渲染指令;该渲染指令包括渲染数据的目标存储地址;
第一确定模块,用于根据目标存储地址,在预设的第一映射关系中确定目标存储地址对应的目标存储地址类型;该第一映射关系包括存储地址和存储地址类型之间的对应关系,目标存储地址类型包括物理地址类型或虚拟地址类型;
第二确定模块,用于根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理存储地址;
访问模块,用于利用物理存储地址访问对应的内存。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收中央处理器CPU发送的渲染指令;该渲染指令包括渲染数据的目标存储地址;
根据目标存储地址,在预设的第一映射关系中确定目标存储地址对应的目标存储地址类型;该第一映射关系包括存储地址和存储地址类型之间的对应关系,目标存储地址类型包括物理地址类型或虚拟地址类型;
根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理存储地址;
利用物理存储地址访问对应的内存。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收中央处理器CPU发送的渲染指令;该渲染指令包括渲染数据的目标存储地址;
根据目标存储地址,在预设的第一映射关系中确定目标存储地址对应的目标存储地址类型;该第一映射关系包括存储地址和存储地址类型之间的对应关系,目标存储地址类型包括物理地址类型或虚拟地址类型;
根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理存储地址;
利用物理存储地址访问对应的内存。
上述内存访问方法、装置、计算机设备和存储介质,应用于GPU,GPU通过接收CPU发送的目标存储地址,根据该目标存储地址得到对应的目标存储地址类型,类型包括虚拟地址类型或物理地址类型,并根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,根据判断结果得到目标存储地址对应的物理存储地址,利用该物理存储地址访问对应的内存。在该方法中,由于GPU可以支持虚拟地址类型和物理地址类型的目标存储地址进行内存访问,因此,该方法的适用范围较广;另外,由于该方法可以根据目标存储地址的类型判断是否要对目标存储地址进行地址转换处理,而不是盲目地对所有地址都进行地址转换处理,因此,该方法在不需要进行地址转换处理时,可以降低GPU的处理耗时,从而可以提高GPU的性能;进一步地,由于该方法中地址转换处理等工作由GPU进行,因此可以降低CPU的负担,提高CPU上的程序的执行速度。
附图说明
图1a为一个计算机设备中包含独立显卡的结构框图;
图1b为一个实施例中计算机设备的内部结构图;
图2为一个实施例中内存访问方法的流程示意图;
图3a为另一个实施例中内存访问方法的流程示意图;
图3b为另一个实施例中GPU和CPU之间交互的示意图;
图4a为另一个实施例中内存访问方法的流程示意图;
图4b为另一个实施例中内存访问方法的具体过程示意图;
图5为一个实施例中内存访问装置的结构框图;
图6为一个实施例中内存访问装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,GPU分为集成显卡和独立显卡,集成显卡里,GPU没有自己专有的存储,CPU和GPU共享CPU主存,如Intel集成显卡和当前主流的移动端GPU;对独立显卡(GPU)设备而言,它有自己专有的存储,称为独立显存(下文描述的GPU默认都是独立显卡),独立显卡通过PCIe高速总线与CPU互联,参见图1a所示,为一个计算机设备中包含独立显卡的结构框图,对独立显卡而言,GPU可以方便的访问显存,如同CPU访问主存一样,如果GPU要访问主存,需要经过PCIe总线,同样CPU要访问显存,也要通过PCIe总线访问。
在现代操作系统里,CPU主存一般是通过虚拟地址被CPU访问,CPU会通过CPU端的MMU(内存管理单元)硬件模块实现虚拟地址到物理地址的高效转换,对GPU来说,为了兼容操作系统的虚拟地址技术,GPU也采用了虚拟地址技术,这样GPU要访问的存储按照地址类型可分为四类:主存物理地址:简称cpu_pa;主存虚拟地址:简称cpu_va;显存物理地址:简称gpu_pa;显存虚拟地址:简称gpu_va。当前GPU在对这四类地址进行处理时,有以下几种情况:1、GPU不支持直接访问主存,导致GPU驱动程序将所有的数据分配在显存中,但是显存资源是有限的,当显存耗尽,只能报内存不够错误。2、GPU只支持虚拟地址访问,这种设计一方面是适用范围窄,另一方面是在GPU中添加MMU硬件单元加速虚拟地址到物理地址的访问,不管是物理地址还是虚拟地址都需要经过该MMU转换才可以访问内存,因此会导致GPU性能损失。3、GPU只支持显存物理地址访问,这种设计导致GPU驱动程序编程效率低,功能简单,因为受现代操作系统虚拟地址访问限制,GPU驱动程序访问数据只能通过虚拟地址访问,而GPU硬件只能通过物理地址访问数据,这样就要求GPU驱动程序时刻要记录虚拟地址到物理地址的转化,并通知给GPU设备,这将大大加大了GPU驱动程序的开发难度;另外,只支持物理地址访问,程序开发效率低,且程序安全性也比较低。因此,本申请实施例提供一种内存访问方法、装置、计算机设备和存储介质,旨在解决上述技术问题。
本申请提供的内存访问方法,可以应用于如图1b所示的计算机设备。其中,该计算机设备包括通过系统总线连接的CPU、GPU、CPU处理单元、GPU处理单元、存储器、通信接口、显示屏和输入装置。其中,CPU和GPU通过系统总线进行通信,系统总线可以是PCIe高速总线,该计算机设备的CPU处理单元和GPU处理单元用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、主存、显存。该非易失性存储介质存储有操作系统和计算机程序。该主存和显存为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种内存访问方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1b中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
需要说明的是,本申请实施例的执行主体可以是计算机设备,也可以是GPU,当然还可以是GPU中的处理单元,甚至还可以是内存访问装置,本申请下述实施例将以GPU为执行主体来进行说明。
在一个实施例中,提供了一种内存访问方法,以该方法应用于图1b中的GPU为例进行说明,本实施例涉及的是如何根据目标存储地址得到对应的物理存储地址,并对内存进行访问的具体过程。如图2所示,该方法可以包括以下步骤:
S202,接收中央处理器CPU发送的渲染指令;该渲染指令包括渲染数据的目标存储地址。
其中,渲染数据指的是渲染图像时所需的输入数据,一般渲染所需的输入数据可以同时存储在CPU的主存中和GPU的显存中,或者也可以只存储在CPU的主存中,或者只存储在GPU的显存中。
示例地,对于渲染一帧图像的渲染数据大致可以分为以下六类数据,它们各自的特点分别如下表1所示:
表1
在上述表1中,可以根据数据的易变或不易变的特点,将上述六类数据分别存储在主存或显存中,一般把不易变且数据量不大的数据存放在显存中。具体如下:一、将着色程序数据优先存储在显存中,若显存内存空间不够时,将着色程序数据存储在主存中;二、将顶点属性数据和全局属性数据存储在显存中;三、将纹理数据存储在主存中;四、将中间临时数据存放在显存的可扩展区域中(这里的可扩展区域指的是显存一般会分为开放区域和私有区域,一般可将开放区域展示给用户使用,将私有区域作为可扩展区域为GPU内部使用);五、将命令寄存器配置数据存储在显存。
具体的,GPU首先通过总线接收CPU发送的渲染指令,该渲染指令中包括渲染数据的存储地址,记为目标存储地址,该目标存储地址可以是主存中的存储地址,也可以是显存中的存储地址。
S204,根据目标存储地址,在预设的第一映射关系中确定目标存储地址对应的目标存储地址类型;该第一映射关系包括存储地址和存储地址类型之间的对应关系,目标存储地址类型包括物理地址类型或虚拟地址类型。
其中,可以预先建立多个存储地址和多个存储地址类型之间的对应关系,即预先设置好多个存储地址类型,并将多个存储地址和对应的存储地址类型绑定起来,得到第一映射关系;在这里,存储地址类型可以包括物理地址类型或虚拟地址类型,甚至,存储地址类型可以包括主存物理地址类型、主存虚拟地址类型、显存物理地址类型、显存虚拟地址类型;另外,一个存储地址对应一个存储地址类型,但是一个存储地址类型可以对应多个存储地址。示例地,假设预先设定好存储地址为1-10之间的存储地址的类型都为虚拟地址类型,存储地址为11-20之间的存储地址的类型都为物理地址类型。
具体的,GPU在得到渲染数据的目标存储地址之后,可以直接在存储地址和存储地址类型的第一映射关系中进行查找,得到目标存储地址类型对应的存储地址类型,也可以是对目标存储地址进行计算,用计算得到的存储地址在存储地址和存储地址类型的第一映射关系中进行查找,得到目标存储地址类型对应的存储地址类型,记为目标存储地址类型,本实施例对此不作具体限定。
S206,根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理存储地址。
其中,可以预先设置好规则,即预先设置好需要对哪一类型的存储地址进行转换处理,例如可以是预先设置好对物理地址类型的存储地址不需要进行地址转换处理,对虚拟地址类型的存储地址需要进行地址转换处理,当然也可以是其他设置方式,本实施例对此不作具体限定。
具体的,GPU在得到目标存储地址类型之后,可以按照预先设置好的规则,判断是否要对该目标存储地址类型对应的目标存储地址进行地址转换处理,若需要进行地址转换处理,则对目标存储地址进行地址转换处理,得到目标存储地址对应的物理存储地址,若不需要进行地址转换处理,则直接得到目标存储地址对应的物理存储地址。
S208,利用物理存储地址访问对应的内存。
其中,这里的内存可以是显存,也可以是主存,一般主存和显存的存储空间对应的地址是不同的。
具体的,GPU在得到渲染数据对应的物理存储地址之后,可以利用该物理存储地址去访问对应的内存存储空间。示例地,假设得到的物理存储地址是0x0011,那么就可以对访问该0x0011地址对应的内存存储空间。
上述内存访问方法,应用于GPU,GPU通过接收CPU发送的目标存储地址,根据该目标存储地址得到对应的目标存储地址类型,类型包括虚拟地址类型或物理地址类型,并根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,根据判断结果得到目标存储地址对应的物理存储地址,利用该物理存储地址访问对应的内存。在该方法中,由于GPU可以支持虚拟地址类型和物理地址类型的目标存储地址进行内存访问,因此,该方法的适用范围较广;另外,由于该方法可以根据目标存储地址的类型判断是否要对目标存储地址进行地址转换处理,而不是盲目地对所有地址都进行地址转换处理,因此,该方法在不需要进行地址转换处理时,可以降低GPU的处理耗时,从而可以提高GPU的性能;进一步地,由于该方法中地址转换处理等工作由GPU进行,因此可以降低CPU的负担,提高CPU上的程序的执行速度。
在另一个实施例中,提供了另一种内存访问方法,本实施例涉及的是如何根据目标存储地址类型判断是否对目标存储地址进行地址转换处理的具体过程。在上述实施例的基础上,上述S206中根据目标存储地址类型判断是否对目标存储地址进行地址转换处理可以包括以下步骤A和步骤B:
步骤A,若目标存储地址类型为虚拟地址类型,则将对目标存储地址进行地址转换处理作为判断结果。
步骤B,若目标存储地址类型为物理地址类型,则将不对目标存储地址进行地址转换处理作为判断结果。
在得到判断结果之后,可以根据判断结果得到目标存储地址对应的物理存储地址,可选的,上述S206中根据判断结果获取目标存储地址对应的物理存储地址,可以包括以下步骤A1和B1:
步骤A1,若判断结果为对目标存储地址进行地址转换处理,则对目标存储地址进行地址转换处理,得到目标存储地址对应的物理存储地址。
在本步骤中,在对目标存储地址进行地址转换处理时,可选的,可以将目标存储地址输入至图形处理器内存管理单元GMMU中进行地址转换处理,得到GMMU输出的物理存储地址。这里的GMMU英文全称为Graphics Memory Management Unit,其和CPU中的MMU(MemoryManagement Unit)类似,也可以称作分页内存管理单元,主要功能都是将虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,不同的是,MMU一般是设置在CPU中的硬件,GMMU一般是设置GPU中的硬件。一般CPU在MMU开启的情况下,访问的都是虚拟地址,首先通过MMU将虚拟地址转换为物理地址,然后再通过总线去访问内存。
另外,GMMU一般是是通过页表的方式将虚拟地址转换为物理地址,页表是一种特殊的数据结构,它保存的是逻辑页和物理页帧的映射关系,而且每一个进程都各自拥有自己的页表,通过页表,GMMU就可以查出虚拟地址对应的物理地址是什么,然后就可以用物理地址去访问物理内存了。
步骤B1,若判断结果为不对目标存储地址进行地址转换处理,则禁止对目标存储地址进行地址转换处理,并将目标存储地址作为目标存储地址对应的物理存储地址。
在本步骤中,由于GPU和CPU的硬件一般都是利用物理地址访问内存的,那么在目标存储地址类型是物理地址时,就可以直接确定目标存储地址对应的物理存储地址是其本身,然后就可以直接利用该物理存储地址去访问对应的内存。
本实施例提供的内存访问方法,若目标存储地址类型为虚拟地址类型,则将对目标存储地址进行地址转换处理作为判断结果,若目标存储地址类型为物理地址类型,则将不对目标存储地址进行地址转换处理作为判断结果。在本实施例中,由于可以根据目标存储地址类型明确地确定是否要对目标存储地址进行地址转换,而不用盲目地对所有存储地址都进行地址转换处理,因此本实施例的方法可以避免GPU执行不必要的运算处理,提高GPU的性能。
在另一个实施例中,提供了另一种内存访问方法,本实施例涉及的是若目标存储地址包括显存的存储地址或主存的存储地址,那么如何利用物理存储地址访问对应的内存的具体过程。在上述实施例的基础上,如图3a所示,上述S208可以包括以下步骤:
S302,若目标存储地址为显存的存储地址,则将目标存储地址输入至显存控制器,通过显存控制器访问目标存储地址对应的显存存储空间。
S304,若目标存储地址为主存的存储地址,则将目标存储地址输入至直接存储器访问DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
其中,显存控制器与显存连接,通过预先设置的地址位上的数值,或者地址编码类型或者地址范围等,可以区分出目标地址是显存的存储地址还是主存的存储地址。示例地,假设通过预先设置的地址位上的数值来区分,例如可以通过地址的最高两位来区分,对于64bit总线的地址,一般只有低48位地址有效,高16位地址是保留的,那么最高两位上的数值可以是00、01、10、11,这里预先可以将00和01作为主存的存储地址,将10和11作为显存的存储地址,那么如果得到的地址的最高两位是00和01时,就可以确定该地址是主存的存储地址,如果得到的地址的最高两位是10和11时,那么就可以确定该地址是显存的存储地址;更进一步地,这里还可以根据地址的最高两位上的数值确定出是物理地址还是虚拟地址,这些可以预先设定好,例如可以预先设定好00是主存的虚拟地址,01是主存的物理地址,10是显存的虚拟地址,11是显存的物理地址。另外,假设显存和主存的地址都是采用16进制编码,假设0x0000-0x0100是显存的存储地址范围,0x0101-0x1000是主存的存储地址范围,那么得到的地址如果是在0x0000-0x0100范围内,那么就可以认为是显存的存储地址,如果在0x0101-0x1000范围内,那么就可以认为是主存的存储地址。另外,这里显存的存储地址可以是显存的物理存储地址或显存的虚拟存储地址,主存的存储地址可以是主存的物理存储地址或主存的虚拟存储地址。
具体的,可以参见图3b所示,GPU在得到目标存储地址之后,可以通过GPU内部的混合地址解析单元对目标存储地址进行解析,即可以通过对目标存储地址的地址编码类型或者目标存储地址所属的地址范围进行判断等,确定目标存储地址属于显存的存储地址还是主存的存储地址。若目标存储地址为显存的存储地址,那么混合地址解析单元可以将目标存储地址输入至显存连接的显存控制器,通过显存控制器访问目标存储地址对应的显存存储空间;若目标存储地址为主存的存储地址,那么可选的,可以通过以下步骤C1-C3访问主存存储空间:
步骤C1,向CPU发送第一中断请求;该第一中断请求用于指示CPU对DMA单元进行配置。
步骤C2,接收CPU发送的配置响应;该配置响应包括DMA单元配置成功或DMA单元配置失败。
步骤C3,若DMA单元配置成功,则将目标存储地址输入至DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
在步骤C1-C3中,DMA单元在GPU中,若得到目标存储地址为主存的存储地址,那么GPU可以向CPU发起DMA中断请求,即发送第一中断请求,CPU在捕获到DMA中断请求后,可以对GPU中的DMA进行配置,在配置成功后CPU可以给GPU发送一个成功的配置响应,然后启动DMA单元,将目标存储地址输入至DMA中,通过DMA在主存上找到目标存储地址对应的主存存储空间,并将该主存存储空间的数据通过DMA传输至GPU的显存中,然后供GPU使用。
另外,在上述图3b中,通过混合地址解析单元也可以直接解析目标存储地址的值,得出目标存储地址属于显存的物理存储地址(记为GPU_PA)、显存的虚拟存储地址(记为GPU_VA)、主存的物理存储地址(记为CPU_PA)、主存的虚拟存储地址(记为CPU_VA)中的哪一类,如果目标存储地址是显存的虚拟存储地址或主存的虚拟存储地址,那么就将显存的虚拟存储地址或主存的虚拟存储地址输入至GMMU中进行地址转换处理,得到显存的物理存储地址或主存的物理存储地址。然后将显存的物理存储地址输入显存控制器,通过显存控制器访问显存存储空间,将主存的物理存储地址输入至DMA单元,通过DMA单元访问主存存储空间。除此之外,GPU中还可以包括3D渲染管线单元,也称为渲染流水线,混合地址解析单元一般可以设置在3D渲染管线单元中,作为渲染流水线上的一道工序,GPU在得到显存或主存中的数据后,可以按照3D渲染管线单元的流程对数据进行渲染,得到渲染后的图像。另外,在图3b中,1代表GPU通过DMA硬件单元访问CPU主存;2代表GPU直接访问显存;3代表GPU通过GMMU硬件单元访问显存;4代表GPU通过GMMU硬件单元查询CPU虚拟地址对应的物理地址,然后在启动DMA硬件单元访问主存。
本实施例提供的内存访问方法,若目标存储地址包括显存的存储地址或主存的存储地址,那么可以对目标存储地址属于哪一类进行判断,若目标存储地址为显存的存储地址,则将目标存储地址输入至显存控制器,通过显存控制器访问目标存储地址对应的显存存储空间;若目标存储地址为主存的存储地址,则将目标存储地址输入至直接存储器访问DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。在本实施例中,由于可以通过判断目标存储地址属于显存地址或主存地址中的哪一类,然后再去访问对应的显存或内存,因此本实施例的方法可以有针对性的去访问内存,避免盲目访问内存带来的GPU运行速度慢的问题,从而可以提高GPU的性能;另外,由于本实施例中可以处理四种不同的存储地址,从而在程序员开发GPU驱动时,可以灵活使用现代操作系统的虚拟地址技术,不需要过多关心虚拟地址与物理地址的转换关系,只需要在使用时建立好虚拟地址与物理地址的映射关系即可,剩余工作可以交给GPU硬件处理。
在另一个实施例中,提供了另一种内存访问方法,本实施例涉及的是在获取目标存储地址对应的物理存储地址之前,还可以判断目标存储地址是否是非法地址的具体过程。在上述实施例的基础上,如图4a所示,上述方法还可以包括以下步骤:
S402,判断目标存储地址是否为非法地址。
S404,若目标存储地址是非法地址,则向CPU发送第二中断请求;该第二中断请求用于指示CPU拒绝GPU对内存的访问。
具体的,GPU在得到目标存储地址之后,可以通过GPU内部的混合地址解析单元对目标存储地址进行解析,即可以通过对目标存储地址的地址编码类型或者目标存储地址所属的地址范围进行判断等,若目标存储地址的地址编码类型与上述四种地址(四种地址包括:显存的物理存储地址、显存的虚拟存储地址、主存的物理存储地址、主存的虚拟存储地址)的地址编码类型不同,或者,目标存储地址所属的地址范围不属于这四种地址的预设地址范围,那么就可以确定目标存储地址属于非法地址。之后,GPU可以向CPU报告地址解析错误中断,即发送第二中断请求,CPU可以拒绝GPU访问主存或显存,同时CPU可以处理对应的中断服务程序,然后结束。
进一步地,结合上述过程,对GPU从接收到存储地址到结束的过程进行详细说明,参见图4b所示,GPU在接收到目标存储地址之后,可以将目标存储地址输入混合地址解析单元中进行解析,得到目标存储地址属于非法地址、GPU_PA、GPU_VA、CPU_PA、CPU_VA这几类中的哪一类,如果目标存储地址是GPU_VA,则将GPU_VA输入至GMMU单元中进行地址转换处理,得到转换后的GPU_PA,然后将转换后的GPU_PA或者未转换的GPU_PA输入显存控制器,对显存进行读写操作,然后结束流程;如果目标存储地址是CPU_VA,那么将CPU_VA输入至GMMU单元中进行地址转换处理,得到转换后的CPU_PA,然后GPU触发DMA中断,CPU收到DMA中断配置GPU DMA控制器,启动DMA,GPU将转换后的CPU_PA或者未转换的CPU_PA输入DMA,通过DMA主动访问主存数据,与显存数据进行数据交换,然后结束流程;若目标存储地址是非法地址,那么GPU可以报告地址解析错误中断,CPU处理对应的中断服务程序,然后结束流程。
本实施例提供的内存访问方法,通过判断目标存储地址是否为非法地址,若目标存储地址是非法地址,则向CPU发送第二中断请求;该第二中断请求用于指示CPU拒绝GPU对内存的访问。在本实施例中,由于在目标存储地址是非法地址时,可以拒绝GPU对内存的访问,从而可以保证内存中数据的安全性。
应该理解的是,虽然图2、3a、4a的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3a、4a中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种内存访问装置,包括:接收模块10、第一确定模块11、第二确定模块12和访问模块13,其中:
接收模块10,用于接收中央处理器CPU发送的渲染指令;该渲染指令包括渲染数据的目标存储地址;
第一确定模块11,用于根据目标存储地址,在预设的第一映射关系中确定目标存储地址对应的目标存储地址类型;该第一映射关系包括存储地址和存储地址类型之间的对应关系,目标存储地址类型包括物理地址类型或虚拟地址类型;
第二确定模块12,用于根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理存储地址;
访问模块13,用于利用物理存储地址访问对应的内存。
关于内存访问装置的具体限定可以参见上文中对于内存访问方法的限定,在此不再赘述。
在另一个实施例中,提供了另一种内存访问装置,在上述实施例的基础上,如图6所示,上述第二确定模块12可以包括第一确定单元121,该第一确定单元121,用于若目标存储地址类型为虚拟地址类型,则将对目标存储地址进行地址转换处理作为判断结果;若目标存储地址类型为物理地址类型,则将不对目标存储地址进行地址转换处理作为判断结果。
可选的,继续参见图6所示,上述第二确定模块12还可以包括第二确定单元122,该第二确定单元122,用于若判断结果为对目标存储地址进行地址转换处理,则对目标存储地址进行地址转换处理,得到目标存储地址对应的物理存储地址;若判断结果为不对目标存储地址进行地址转换处理,则禁止对目标存储地址进行地址转换处理,并将目标存储地址作为目标存储地址对应的物理存储地址。
可选的,上述第二确定单元122,还用于将目标存储地址输入至图形处理器内存管理单元GMMU中进行地址转换处理,得到GMMU输出的物理存储地址。
在另一个实施例中,提供了另一种内存访问装置,在上述实施例的基础上,若上述目标存储地址包括显存的存储地址或主存的存储地址,继续参见图6所示,上述访问模块13可以包括访问单元131,该访问单元131,用于若目标存储地址为显存的存储地址,则将目标存储地址输入至显存控制器,通过显存控制器访问目标存储地址对应的显存存储空间;若目标存储地址为主存的存储地址,则将目标存储地址输入至直接存储器访问DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
可选的,上述访问单元131,还用于向CPU发送第一中断请求;该第一中断请求用于指示CPU对DMA单元进行配置;接收CPU发送的配置响应;该配置响应包括DMA单元配置成功或DMA单元配置失败;若DMA单元配置成功,则将目标存储地址输入至DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
在另一个实施例中,提供了另一种内存访问装置,在上述实施例的基础上,继续参见图6所示,在上述第二确定模块12根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理地址之前,上述装置还可以包括非法判断模块14,该非法判断模块14,用于判断目标存储地址是否为非法地址;若目标存储地址是非法地址,则向CPU发送第二中断请求;该第二中断请求用于指示CPU拒绝GPU对内存的访问。
关于内存访问装置的具体限定可以参见上文中对于内存访问方法的限定,在此不再赘述。
上述内存访问装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收中央处理器CPU发送的渲染指令;该渲染指令包括渲染数据的目标存储地址;
根据目标存储地址,在预设的第一映射关系中确定目标存储地址对应的目标存储地址类型;该第一映射关系包括存储地址和存储地址类型之间的对应关系,目标存储地址类型包括物理地址类型或虚拟地址类型;
根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理存储地址;
利用物理存储地址访问对应的内存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标存储地址类型为虚拟地址类型,则将对目标存储地址进行地址转换处理作为判断结果;若目标存储地址类型为物理地址类型,则将不对目标存储地址进行地址转换处理作为判断结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若判断结果为对目标存储地址进行地址转换处理,则对目标存储地址进行地址转换处理,得到目标存储地址对应的物理存储地址;若判断结果为不对目标存储地址进行地址转换处理,则禁止对目标存储地址进行地址转换处理,并将目标存储地址作为目标存储地址对应的物理存储地址。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标存储地址为显存的存储地址,则将目标存储地址输入至显存控制器,通过显存控制器访问目标存储地址对应的显存存储空间;若目标存储地址为主存的存储地址,则将目标存储地址输入至直接存储器访问DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
向CPU发送第一中断请求;该第一中断请求用于指示CPU对DMA单元进行配置;接收CPU发送的配置响应;该配置响应包括DMA单元配置成功或DMA单元配置失败;若DMA单元配置成功,则将目标存储地址输入至DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
判断目标存储地址是否为非法地址;若目标存储地址是非法地址,则向CPU发送第二中断请求;该第二中断请求用于指示CPU拒绝GPU对内存的访问。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将目标存储地址输入至图形处理器内存管理单元GMMU中进行地址转换处理,得到GMMU输出的物理存储地址。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收中央处理器CPU发送的渲染指令;该渲染指令包括渲染数据的目标存储地址;
根据目标存储地址,在预设的第一映射关系中确定目标存储地址对应的目标存储地址类型;该第一映射关系包括存储地址和存储地址类型之间的对应关系,目标存储地址类型包括物理地址类型或虚拟地址类型;
根据目标存储地址类型判断是否对目标存储地址进行地址转换处理,并根据判断结果获取目标存储地址对应的物理存储地址;
利用物理存储地址访问对应的内存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标存储地址类型为虚拟地址类型,则将对目标存储地址进行地址转换处理作为判断结果;若目标存储地址类型为物理地址类型,则将不对目标存储地址进行地址转换处理作为判断结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若判断结果为对目标存储地址进行地址转换处理,则对目标存储地址进行地址转换处理,得到目标存储地址对应的物理存储地址;若判断结果为不对目标存储地址进行地址转换处理,则禁止对目标存储地址进行地址转换处理,并将目标存储地址作为目标存储地址对应的物理存储地址。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标存储地址为显存的存储地址,则将目标存储地址输入至显存控制器,通过显存控制器访问目标存储地址对应的显存存储空间;若目标存储地址为主存的存储地址,则将目标存储地址输入至直接存储器访问DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
向CPU发送第一中断请求;该第一中断请求用于指示CPU对DMA单元进行配置;接收CPU发送的配置响应;该配置响应包括DMA单元配置成功或DMA单元配置失败;若DMA单元配置成功,则将目标存储地址输入至DMA单元中,通过DMA单元访问目标存储地址对应的主存存储空间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
判断目标存储地址是否为非法地址;若目标存储地址是非法地址,则向CPU发送第二中断请求;该第二中断请求用于指示CPU拒绝GPU对内存的访问。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将目标存储地址输入至图形处理器内存管理单元GMMU中进行地址转换处理,得到GMMU输出的物理存储地址。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种内存访问方法,其特征在于,用于图形处理器GPU中,所述方法包括:
接收中央处理器CPU发送的渲染指令;所述渲染指令包括渲染数据的目标存储地址;
根据所述目标存储地址,在预设的第一映射关系中确定所述目标存储地址对应的目标存储地址类型;所述第一映射关系包括存储地址和存储地址类型之间的对应关系,所述目标存储地址类型包括物理地址类型或虚拟地址类型;
根据所述目标存储地址类型判断是否对所述目标存储地址进行地址转换处理,并根据判断结果获取所述目标存储地址对应的物理存储地址;
利用所述物理存储地址访问对应的内存。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标存储地址类型判断是否对所述目标存储地址进行地址转换处理,包括:
若所述目标存储地址类型为虚拟地址类型,则将对所述目标存储地址进行地址转换处理作为所述判断结果;
若所述目标存储地址类型为物理地址类型,则将不对所述目标存储地址进行地址转换处理作为所述判断结果。
3.根据权利要求1或2所述的方法,其特征在于,所述根据判断结果获取所述目标存储地址对应的物理存储地址,包括:
若所述判断结果为对所述目标存储地址进行地址转换处理,则对所述目标存储地址进行地址转换处理,得到所述目标存储地址对应的物理存储地址;
若所述判断结果为不对所述目标存储地址进行地址转换处理,则禁止对所述目标存储地址进行地址转换处理,并将所述目标存储地址作为所述目标存储地址对应的物理存储地址。
4.根据权利要求1所述的方法,其特征在于,所述目标存储地址包括显存的存储地址或主存的存储地址,所述利用所述物理存储地址访问对应的内存,包括:
若所述目标存储地址为显存的存储地址,则将所述目标存储地址输入至显存控制器,通过所述显存控制器访问所述目标存储地址对应的显存存储空间;
若所述目标存储地址为主存的存储地址,则将所述目标存储地址输入至直接存储器访问DMA单元中,通过所述DMA单元访问所述目标存储地址对应的主存存储空间。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标存储地址输入至直接存储器访问DMA单元中,通过所述DMA单元访问所述目标存储地址对应的主存存储空间,包括:
向所述CPU发送第一中断请求;所述第一中断请求用于指示所述CPU对所述DMA单元进行配置;
接收所述CPU发送的配置响应;所述配置响应包括所述DMA单元配置成功或所述DMA单元配置失败;
若所述DMA单元配置成功,则将所述目标存储地址输入至所述DMA单元中,通过所述DMA单元访问所述目标存储地址对应的主存存储空间。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述目标存储地址类型判断是否对所述目标存储地址进行地址转换处理,并根据判断结果获取所述目标存储地址对应的物理地址之前,所述方法还包括:
判断所述目标存储地址是否为非法地址;
若所述目标存储地址是非法地址,则向所述CPU发送第二中断请求;所述第二中断请求用于指示所述CPU拒绝所述GPU对内存的访问。
7.根据权利要求3所述的方法,其特征在于,所述对所述目标存储地址进行地址转换处理,得到所述目标存储地址对应的物理存储地址,包括:
将所述目标存储地址输入至图形处理器内存管理单元GMMU中进行地址转换处理,得到所述GMMU输出的物理存储地址。
8.一种内存访问装置,其特征在于,所述装置包括:
接收模块,用于接收中央处理器CPU发送的渲染指令;所述渲染指令包括渲染数据的目标存储地址;
第一确定模块,用于根据所述目标存储地址,在预设的第一映射关系中确定所述目标存储地址对应的目标存储地址类型;所述第一映射关系包括存储地址和存储地址类型之间的对应关系,所述目标存储地址类型包括物理地址类型或虚拟地址类型;
第二确定模块,用于根据所述目标存储地址类型判断是否对所述目标存储地址进行地址转换处理,并根据判断结果获取所述目标存储地址对应的物理存储地址;
访问模块,用于利用所述物理存储地址访问对应的内存。
9.一种计算机设备,其特征在于,包括CPU和GPU,所述CPU和所述GPU通过总线进行通信,所述GPU包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010103866.0A CN111338988B (zh) | 2020-02-20 | 2020-02-20 | 内存访问方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010103866.0A CN111338988B (zh) | 2020-02-20 | 2020-02-20 | 内存访问方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338988A true CN111338988A (zh) | 2020-06-26 |
CN111338988B CN111338988B (zh) | 2022-06-14 |
Family
ID=71183480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010103866.0A Active CN111338988B (zh) | 2020-02-20 | 2020-02-20 | 内存访问方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338988B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417470A (zh) * | 2020-11-06 | 2021-02-26 | 上海壁仞智能科技有限公司 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
CN113051072A (zh) * | 2021-03-02 | 2021-06-29 | 长沙景嘉微电子股份有限公司 | 内存管理方法,装置,系统及计算机可读存储介质 |
CN113064728A (zh) * | 2021-04-16 | 2021-07-02 | 上海众链科技有限公司 | 高负载应用图像显示方法、终端及可读存储介质 |
CN113867963A (zh) * | 2021-09-30 | 2021-12-31 | 联想(北京)有限公司 | 一种电子设备及处理方法 |
CN114124883A (zh) * | 2021-10-12 | 2022-03-01 | 鸬鹚科技(深圳)有限公司 | 基于云存储地址的数据访问方法、装置、计算机设备及介质 |
WO2022089504A1 (zh) * | 2020-10-28 | 2022-05-05 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
CN115712580A (zh) * | 2022-11-25 | 2023-02-24 | 格兰菲智能科技有限公司 | 内存地址分配方法、装置、计算机设备和存储介质 |
CN117455750A (zh) * | 2023-12-26 | 2024-01-26 | 芯瞳半导体技术(山东)有限公司 | 显存管理方法、装置、系统、介质及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293593A (en) * | 1990-10-11 | 1994-03-08 | Hewlett-Packard Company | Method and apparatus for the mapping of physically non-contiguous memory fragments to be linearly addressable |
US20070283124A1 (en) * | 2006-06-05 | 2007-12-06 | Sun Microsystems, Inc. | Hybrid techniques for memory virtualization in a computer system |
US20080028181A1 (en) * | 2006-07-31 | 2008-01-31 | Nvidia Corporation | Dedicated mechanism for page mapping in a gpu |
CN102169459A (zh) * | 2010-11-29 | 2011-08-31 | 北京握奇数据系统有限公司 | 一种访问数据的方法、装置和智能卡 |
US20140101405A1 (en) * | 2012-10-05 | 2014-04-10 | Advanced Micro Devices, Inc. | Reducing cold tlb misses in a heterogeneous computing system |
CN109583190A (zh) * | 2017-09-28 | 2019-04-05 | 华为技术有限公司 | 监控进程的方法和装置 |
CN109670267A (zh) * | 2018-12-29 | 2019-04-23 | 北京航天数据股份有限公司 | 一种数据处理方法和装置 |
CN110046106A (zh) * | 2019-03-29 | 2019-07-23 | 海光信息技术有限公司 | 一种地址转换方法、地址转换模块及系统 |
-
2020
- 2020-02-20 CN CN202010103866.0A patent/CN111338988B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293593A (en) * | 1990-10-11 | 1994-03-08 | Hewlett-Packard Company | Method and apparatus for the mapping of physically non-contiguous memory fragments to be linearly addressable |
US20070283124A1 (en) * | 2006-06-05 | 2007-12-06 | Sun Microsystems, Inc. | Hybrid techniques for memory virtualization in a computer system |
US20080028181A1 (en) * | 2006-07-31 | 2008-01-31 | Nvidia Corporation | Dedicated mechanism for page mapping in a gpu |
CN102169459A (zh) * | 2010-11-29 | 2011-08-31 | 北京握奇数据系统有限公司 | 一种访问数据的方法、装置和智能卡 |
US20140101405A1 (en) * | 2012-10-05 | 2014-04-10 | Advanced Micro Devices, Inc. | Reducing cold tlb misses in a heterogeneous computing system |
CN109583190A (zh) * | 2017-09-28 | 2019-04-05 | 华为技术有限公司 | 监控进程的方法和装置 |
CN109670267A (zh) * | 2018-12-29 | 2019-04-23 | 北京航天数据股份有限公司 | 一种数据处理方法和装置 |
CN110046106A (zh) * | 2019-03-29 | 2019-07-23 | 海光信息技术有限公司 | 一种地址转换方法、地址转换模块及系统 |
Non-Patent Citations (1)
Title |
---|
向涛; 苟木理: "Windows 8下基于镜像文件的内存取证研究", 《计算机工程与应用》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022089504A1 (zh) * | 2020-10-28 | 2022-05-05 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
CN112417470A (zh) * | 2020-11-06 | 2021-02-26 | 上海壁仞智能科技有限公司 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
CN112417470B (zh) * | 2020-11-06 | 2023-06-27 | 上海壁仞智能科技有限公司 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
CN113051072A (zh) * | 2021-03-02 | 2021-06-29 | 长沙景嘉微电子股份有限公司 | 内存管理方法,装置,系统及计算机可读存储介质 |
CN113064728A (zh) * | 2021-04-16 | 2021-07-02 | 上海众链科技有限公司 | 高负载应用图像显示方法、终端及可读存储介质 |
CN113867963A (zh) * | 2021-09-30 | 2021-12-31 | 联想(北京)有限公司 | 一种电子设备及处理方法 |
CN114124883A (zh) * | 2021-10-12 | 2022-03-01 | 鸬鹚科技(深圳)有限公司 | 基于云存储地址的数据访问方法、装置、计算机设备及介质 |
CN114124883B (zh) * | 2021-10-12 | 2023-09-12 | 鸬鹚科技(深圳)有限公司 | 基于云存储地址的数据访问方法、装置、计算机设备及介质 |
CN115712580A (zh) * | 2022-11-25 | 2023-02-24 | 格兰菲智能科技有限公司 | 内存地址分配方法、装置、计算机设备和存储介质 |
CN115712580B (zh) * | 2022-11-25 | 2024-01-30 | 格兰菲智能科技有限公司 | 内存地址分配方法、装置、计算机设备和存储介质 |
CN117455750A (zh) * | 2023-12-26 | 2024-01-26 | 芯瞳半导体技术(山东)有限公司 | 显存管理方法、装置、系统、介质及设备 |
CN117455750B (zh) * | 2023-12-26 | 2024-04-02 | 芯瞳半导体技术(山东)有限公司 | 显存管理方法、装置、系统、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111338988B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338988B (zh) | 内存访问方法、装置、计算机设备和存储介质 | |
CN106326140B (zh) | 数据拷贝方法、直接内存访问控制器及计算机系统 | |
CN111324461B (zh) | 内存分配方法、装置、计算机设备和存储介质 | |
CN111108488B (zh) | 内存块回收方法和装置 | |
US20080270736A1 (en) | Information processing apparatus and access control method | |
KR102004849B1 (ko) | 동적 메모리 재할당 관리 방법과 상기 방법을 수행할 수 있는 장치 | |
CN105393228B (zh) | 读写闪存中数据的方法、装置及用户设备 | |
CN110187832B (zh) | 一种数据操作的方法、设备和系统 | |
WO2015180598A1 (zh) | 对存储设备的访问信息处理方法和装置、系统 | |
WO2020168522A1 (zh) | 一种片上系统、访问命令的路由方法及终端 | |
CN113760560A (zh) | 一种进程间通信方法以及进程间通信装置 | |
JP2018063505A (ja) | メモリ管理制御装置、メモリ管理制御方法、及びメモリ管理制御プログラム | |
CN112465689B (zh) | 基于可见显存交换区的gpu不可见显存管理方法及系统 | |
CN113138941A (zh) | 内存交换的方法、装置 | |
WO2017107163A1 (zh) | 基于异构混合内存的内存管理方法和系统 | |
CN114444141B (zh) | 固态硬盘和固态硬盘数据保护方法、装置及设备 | |
CN111666579B (zh) | 计算机设备及其访问控制方法和计算机可读介质 | |
CN115328405A (zh) | 数据处理方法、装置及电子设备 | |
US9892055B2 (en) | Embedded device and memory management method thereof | |
CN115878509A (zh) | 一种磁盘阵列缓存的方法、装置、计算机设备和存储介质 | |
CN117539802B (zh) | 一种缓存操作方法、系统以及相关装置 | |
KR100615694B1 (ko) | 복수개의 기능블럭을 제어하는 제어시스템 | |
EP4386548A1 (en) | Resource management method and corresponding device | |
CN111858407B (zh) | 高速外围设备互连系统内的通信方法及高速外围设备互连系统 | |
TWI831444B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 301, Building D, Yeda Science and Technology Park, No. 300 Changjiang Road, Yantai Area, China (Shandong) Pilot Free Trade Zone, Yantai City, Shandong Province, 265503 Patentee after: Xi'an Xintong Semiconductor Technology Co.,Ltd. Address before: 710065 D401, Zhongxing Industrial Park, Tangyan South Road, Yanta District, Xi'an City, Shaanxi Province Patentee before: Xi'an Xintong Semiconductor Technology Co.,Ltd. |
|
CP03 | Change of name, title or address |