CN107368431B - 内存访问方法、交叉开关及计算机*** - Google Patents

内存访问方法、交叉开关及计算机*** Download PDF

Info

Publication number
CN107368431B
CN107368431B CN201610308364.5A CN201610308364A CN107368431B CN 107368431 B CN107368431 B CN 107368431B CN 201610308364 A CN201610308364 A CN 201610308364A CN 107368431 B CN107368431 B CN 107368431B
Authority
CN
China
Prior art keywords
address
gpu
starting
memory
mapping
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.)
Active
Application number
CN201610308364.5A
Other languages
English (en)
Other versions
CN107368431A (zh
Inventor
王洪虎
高翔
朱琛
苏孟豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201610308364.5A priority Critical patent/CN107368431B/zh
Publication of CN107368431A publication Critical patent/CN107368431A/zh
Application granted granted Critical
Publication of CN107368431B publication Critical patent/CN107368431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例提供一种内存访问方法、交叉开关及计算机***,该方法包括:交叉开关接收GPU发送的访问请求消息,该访问请求消息中包括:待访问内存空间对应的起始地址;若起始地址大于或者等于第一地址,则交叉开关确定起始地址对应的映射地址,以使GPU访问映射地址开始的内存空间;其中,第一地址为交叉开关确定映射地址之前,GPU实际上可访问的内存空间对应的最高位地址,映射地址位于第二地址与第三地址之间,第二地址为GPU理论上可访问的内存空间对应的最高位地址,第三地址为内存的最高位地址;第一地址小于第二地址,且第二地址小于第三地址。从而满足GPU的内存需求。

Description

内存访问方法、交叉开关及计算机***
技术领域
本发明实施例涉及内存访问技术,尤其涉及一种内存访问方法、交叉开关及计算机***。
背景技术
随着计算机技术的不断发展,目前许多计算机中既包括中央处理器(CentralProcessing Unit,简称CPU),还包括图形处理器(Graphic Processing Unit,简称GPU)。
当GPU在单位时间内能一次处理的二进制数的位数小于CPU在单位时间内能一次处理的二进制数的位数时,根据GPU在单位时间内能一次处理的二进制数的位数可以确定GPU理论上可访问的内存空间,由于内存中部分内存空间用于存储页表,因此,GPU只能在理论上可访问的内存空间基础之上,除去用于存储页表的内存空间,需要与其他设备竞争使用剩下的内存空间。例如:基于无内部互锁流水级的微处理器(Microprocessor Withoutinterlocked Piped Stages,简称:MIPS)64架构,GPU32理论上可以访问232=4G的内存空间,对应的地址范围为0-0xffffffff,然而,在该4G内存空间中只有256MB的内存空间是可以不用于存储页表,因此,GPU只能与其他设备竞争这256MB的内存空间,然而,GPU的内存需求为4G,因此256MB并不能满足GPU的内存需求。
综上,现有技术的内存访问方法不能满足GPU的内存需求。
发明内容
本发明实施例提供一种内存访问方法、交叉开关及计算机***,从而满足GPU的内存需求。
第一方面,本发明实施例提供一种内存访问方法,内存访问方法应用于无内部互锁流水级的微处理器MIPS架构的计算机***,计算机***包括:中央处理器CPU、内存、交叉开关和图形处理器GPU,所述交叉开关分别与所述内存以及所述GPU连接,所述CPU在单位时间内能一次处理的二进制数的位数大于所述GPU在单位时间内能一次处理的二进制数的位数,所述方法包括:
所述交叉开关接收所述GPU发送的访问请求消息,所述访问请求消息中包括:待访问内存空间对应的起始地址;
若所述起始地址大于或者等于第一地址,则所述交叉开关确定所述起始地址对应的映射地址,以使所述GPU访问所述映射地址开始的内存空间;
其中,所述第一地址为所述交叉开关确定所述映射地址之前,所述GPU实际上可访问的内存空间对应的最高位地址,所述映射地址位于第二地址与第三地址之间,所述第二地址为所述GPU理论上可访问的内存空间对应的最高位地址,所述第三地址为所述内存的最高位地址;
所述第一地址小于所述第二地址,且所述第二地址小于所述第三地址。
如上所述,若所述起始地址大于或者等于第一地址,则所述交叉开关确定所述起始地址对应的映射地址,包括:若所述起始地址大于或者等于所述第一地址,则所述交叉开关对所述起始地址和所述第二地址的下一个地址进行或运算,得到所述映射地址。
如上所述,若所述起始地址大于或者等于第一地址,则所述交叉开关确定所述起始地址对应的映射地址,包括:
若所述起始地址大于或者等于所述第一地址,则所述交叉开关确定所述起始地址与所述第二地址的第一差值,和所述起始地址与所述第三地址的第二差值;
所述交叉开关根据所述第一差值和所述第二差值确定基于所述起始地址的偏移量,所述偏移量大于或者等于所述第一差值,并且小于所述第二差值;
所述交叉开关根据所述起始地址和所述偏移量,确定所述起始地址对应的映射地址。
第二方面,本发明实施例提供一种交叉开关,所述交叉开关应用于无内部互锁流水级的微处理器MIPS架构的计算机***,所述计算机***还包括:中央处理器CPU、内存和图形处理器GPU,所述交叉开关分别与所述内存以及所述GPU连接,其中,所述CPU在单位时间内能一次处理的二进制数的位数大于所述GPU在单位时间内能一次处理的二进制数的位数,所述交叉开关包括:接收模块和确定模块;
所述接收模块,用于接收所述GPU发送的访问请求消息,所述访问请求消息中包括:待访问内存空间对应的起始地址;
若所述起始地址大于或者等于第一地址,则所述确定模块确定所述起始地址对应的映射地址,以使所述GPU访问所述映射地址开始的内存空间;
其中,所述第一地址为所述交叉开关确定所述映射地址之前,所述GPU实际上可访问的内存空间对应的最高位地址,所述映射地址位于第二地址与第三地址之间,所述第二地址为所述GPU理论上可访问的内存空间对应的最高位地址,所述第三地址为所述内存的最高位地址;
所述第一地址小于所述第二地址,且所述第二地址小于所述第三地址。
如上所述,所述确定模块具体用于:
若所述起始地址大于或者等于所述第一地址,则所述确定模块对所述起始地址和所述第二地址的下一个地址进行或运算,得到所述映射地址。
如上所述,所述确定模块具体用于:
若所述起始地址大于或者等于所述第一地址,则所述确定模块确定所述起始地址与所述第二地址的第一差值,和所述起始地址与所述第三地址的第二差值;
所述确定模块根据所述第一差值和所述第二差值确定基于所述起始地址的偏移量,所述偏移量大于或者等于所述第一差值,并且小于所述第二差值;
所述确定模块根据所述起始地址和所述偏移量,确定所述起始地址对应的映射地址。
第三方面,本发明实施例提供一种计算机***,所述计算机***基于无内部互锁流水级的微处理器MIPS架构,所述计算机***包括:中央处理器CPU、内存、图形处理器GPU和如上所述的交叉开关;
其中,所述CPU在单位时间内能一次处理的二进制数的位数大于所述GPU在单位时间内能一次处理的二进制数的位数。
本发明实施例提供一种内存访问方法、交叉开关及计算机***,其中,现有技术中,一旦起始地址大于或者等于第一地址时,则不能满足GPU的内存需求,即GPU不能在内存上实现读操作或者写操作。而本发明将地址扩展到了第二地址至第三地址之间,无论起始地址是小于第一地址还是大于或者等于第一地址,GPU都存在可以访问的内存空间,从而满足了GPU的内存需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明一实施例提供的一种应用场景示意图;
图1B为本发明一实施例提供的另一种应用场景示意图;
图2为本发明一实施例提供的内存访问方法的流程图;
图3为本发明另一实施例提供的内存访问方法的流程图;
图4为本发明又一实施例提供的内存访问方法的流程图;
图5为本发明一实施例提供的一种交叉开关的示意图;
图6为本发明一实施例提供的一种计算机***的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
为了解决现有的内存访问方法不能满足GPU对内存的需求问题,本发明实施例提供一种内存访问方法、交叉开关及计算机***,其中该方法应用于无内部互锁流水级的微处理器MIPS架构的计算机***,该计算机***包括:中央处理器CPU、内存、交叉开关和图形处理器GPU,交叉开关分别与内存以及GPU连接,其中,CPU在单位时间内能一次处理的二进制数的位数大于GPU在单位时间内能一次处理的二进制数的位数,本发明实施例中,所述内存可以是随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read-OnlyMemory,简称ROM),或者高速缓存(CACHE)。
具体地,该内存访问方法可以应用于以下两场场景,图1A为本发明一实施例提供的一种应用场景示意图,如图1A所示,该内存访问方法应用于片上***(System on Chip,简称SoC),其中,交叉开关分别与GPU、缓存、CPU和内存控制器连接,内存控制器与ROM或者RAM连接,该交叉开关用于执行所述内存访问方法。图1B为本发明一实施例提供的另一种应用场景示意图,如图1B所示,交叉开关与缓存、内存控制器以及桥片连接,内存控制器与***ROM或者RAM连接;其中,桥片上设置有GPU、HT总线接口、交叉开关、内存控制器以及ROM或者RAM,桥片上的交叉开关分别与GPU、桥片上的内存控制器连接,该桥片上的交叉开关的作用是:确定GPU是直接访问桥片上的ROM或者RAM,还是通过HT总线访问***内存,如图1B所示,该***内存为***ROM、RAM或者缓存。基于上述两种应用场景,图2为本发明一实施例提供的内存访问方法的流程图,如图2所示,该内存访问方法包括:
S201:交叉开关接收GPU发送的访问请求消息,该访问请求消息中包括:待访问内存空间对应的起始地址;
S202:若起始地址大于或者等于第一地址,则交叉开关确定起始地址对应的映射地址,以使GPU访问映射地址开始的内存空间。
其中,本发明实施例中的内存空间指的是虚拟内存空间,即CPU的地址空间,本发明实施例所涉及的地址均是指线性地址。第一地址为交叉开关确定映射地址之前,GPU实际上可访问的内存空间对应的最高位地址,第二地址为根据GPU在单位时间内能一次处理的二进制数的位数,确定的GPU理论上可访问的内存空间对应的最高位地址,第三地址为根据CPU在单位时间内能一次处理的二进制数的位,确定的内存的最高位地址,其中,所述第一地址小于所述第二地址,且所述第二地址小于所述第三地址,起始地址的范围为[0,第二地址),映射地址位于第二地址与第三地址之间。
例如:假设CPU在单位时间内能一次处理的二进制数的位数是64位,GPU在单位时间内能一次处理的二进制数的位数是32位,根据CPU在单位时间内能一次处理的二进制数的位数,则可以确定内存空间为264=16G,根据CPU在单位时间内能一次处理的二进制数的位数确定的内存空间对应的最高位地址,即第三地址为0xffffffffffffffff,根据GPU在单位时间内能一次处理的二进制数的位数,可以确定理论上GPU可访问的内存空间大小为232=4G,理论上可访问的内存空间对应的最高位地址,即第二地址为0xffffffff,然而由于在低4G内存空间中部分内存空间需要用来存储页表,通常只剩下256MB的内存空间可供GPU和其他设备竞争使用,这里的256MB即为GPU实际可访问的内存空间大小,对应的第一地址为0x10000000。
需要说明的是,本发明实施例中,GPU所访问的内存空间可以分为两种情况:一种为GPU所访问的是RAM或者ROM所对应的内存空间,另一种为GPU所访问的是缓存,针对第二种情况,当GPU在缓存中未访问到所需内容时,则缓存通过它与RAM或者ROM之间的映射关系,确定GPU所要访问的RAM或者ROM对应的地址,以使GPU可以访问RAM或者ROM。
本发明实施例中,若起始地址大于或者等于第一地址,则交叉开关确定所起始地址对应的映射地址,其中,映射地址位于第二地址与第三地址之间,现有技术中GPU只能访问0至第一地址之间的内存空间,一旦访问请求消息中所包括的待访问内存空间对应的起始地址大于或者等于第一地址时,则不能满足GPU的内存需求,即GPU不能在内存上实现读操作或者写操作。而本发明将地址扩展到了第二地址至第三地址之间,无论起始地址是小于第一地址还是大于或者等于第一地址,GPU都存在可以访问的内存空间,从而满足了GPU的内存需求。
实施例二
基于实施例一的基础,一种可选方式具体如下:
图3为本发明另一实施例提供的内存访问方法的流程图,如图3所示,该方法具体包括如下流程:
S301:交叉开关接收GPU发送的访问请求消息,该访问请求消息中包括:待访问内存空间对应的起始地址;
S302:交叉开关判断起始地址是否大于或者等于第一地址,若大于或者等于,则执行S303;否则,则执行S304;
S303:交叉开关对起始地址和第二地址的下一个地址进行或运算,得到映射地址,GPU访问该映射地址开始的内存空间;
S304:GPU直接访问起始地址开始的内存空间。
具体地,基于实施例一的例子,假设CPU在单位时间内能一次处理的二进制数的位数是64位,GPU在单位时间内能一次处理的二进制数的位数是32位,根据CPU在单位时间内能一次处理的二进制数的位数,确定第一地址为0x10000000,第二地址为0xffffffff,第三地址为0xffffffffffffffff,当起始地址为0x23000000时,交叉开关判断该起始地址大于第一地址,则交叉开关对起始地址和第二地址的下一个地址进行或运算,其中,第二地址的下一个地址为0x100000000,0x100000000与0x23000000进行或运算后得到映射地址为0x123000000,该映射地址在第二地址与第三地址之间,则GPU可以访问0x123000000开始的内存空间;当起始地址为0x1000000时,交叉开关判断该起始地址小于第一地址,则GPU可以访问0x1000000开始的内存空间。
本发明实施例中,当交叉开关判断起始地址大于或者等于第一地址,则交叉开关对起始地址和第二地址的下一个地址进行或运算,得到映射地址,GPU访问该映射地址对应的内存空间;当交叉开关判断起始地址小于第一地址,则GPU直接访问起始地址开始的内存空间。从而保证无论起始地址是小于第一地址还是大于或者等于第一地址,GPU都存在可以访问的内存空间,满足了GPU的内存需求。
实施例三
基于实施例一的基础,另一种可选方式具体如下:
图4为本发明又一实施例提供的内存访问方法的流程图,如图4所示,该方法具体包括如下流程:
S401:交叉开关接收GPU发送的访问请求消息,该访问请求消息中包括:待访问内存空间对应的起始地址;
S402:交叉开关判断起始地址是否大于或者等于第一地址,若大于或者等于,则执行S403;否则,则执行S406;
S403:交叉开关确定起始地址与所述第二地址的第一差值,和起始地址与第三地址的第二差值;
S404:交叉开关根据第一差值和所述第二差值确定基于所述起始地址的偏移量,该偏移量大于或者等于该第一差值,并且小于该第二差值;
S405:交叉开关根据起始地址和偏移量,确定起始地址对应的映射地址,GPU访问该映射地址开始的内存空间;
S406:GPU直接访问起始地址开始的内存空间。
具体地,基于实施例一的例子,假设CPU在单位时间内能一次处理的二进制数的位数是64位,GPU在单位时间内能一次处理的二进制数的位数是32位,根据CPU在单位时间内能一次处理的二进制数的位数,确定第一地址为0x10000000,第二地址为0xffffffff,第三地址为0xffffffffffffffff,当起始地址为0x23000000时,交叉开关判断该起始地址大于第一地址,则交叉开关确定起始地址与第二地址的第一差值为0xffffffff-0x23000000=0xdcffffff,起始地址与第三地址的第二差值为0xffffffffffffffff-0x23000000=0xfffffffdcffffff;假设确定偏移量为0xdd000000,则该起始地址对应的映射地址为0x23000000+0xdd000000=0x100000000;起始地址为0x1000000时,交叉开关判断该起始地址小于第一地址,则GPU可以访问0x1000000开始的内存空间。
本发明实施例中,当交叉开关判断起始地址大于或者等于第一地址,则交叉开关根据第一差值和第二差值,得到映射地址,GPU访问该映射地址对应的内存空间;当交叉开关判断起始地址小于第一地址,则GPU直接访问起始地址开始的内存空间。从而保证无论起始地址是小于第一地址还是大于或者等于第一地址,GPU都存在可以访问的内存空间,满足了GPU的内存需求。
实施例四
本发明实施例还提供一种交叉开关,该交叉开关应用于MIPS架构的计算机***,该计算机***还包括:中央处理器CPU、内存和图形处理器GPU,该交叉开关分别与内存以及GPU连接,其中,CPU在单位时间内能一次处理的二进制数的位数大于所述GPU在单位时间内能一次处理的二进制数的位数。
具体地,图5为本发明一实施例提供的一种交叉开关的示意图,如图5所示,该交叉开关包括:接收模块51和确定模块52;所述接收模块51用于接收所述GPU发送的访问请求消息,所述访问请求消息中包括:待访问内存空间对应的起始地址;若所述起始地址大于或者等于第一地址,则所述确定模块52确定所述起始地址对应的映射地址,以使所述GPU访问所述映射地址开始的内存空间;
其中,所述第一地址为所述交叉开关确定所述映射地址之前,所述GPU实际上可访问的内存空间对应的最高位地址,所述映射地址位于第二地址与第三地址之间,所述第二地址为所述GPU理论上可访问的内存空间对应的最高位地址,所述第三地址为所述内存的最高位地址;所述第一地址小于所述第二地址,且所述第二地址小于所述第三地址。
本发明提供一种交叉开关,该交叉开关可以用于执行图2所示实施例中的方法步骤,其实现原理和技术效果类似,此处不再赘述。
实施例五
在实施例四的基础之上,可选地,所述确定模块52具体用于:若所述起始地址大于或者等于所述第一地址,则所述确定模块对所述起始地址和所述第二地址的下一个地址进行或运算,得到所述映射地址。
本发明提供一种交叉开关,该交叉开关可以用于执行图3所示实施例中的方法步骤,其实现原理和技术效果类似,此处不再赘述。
实施例六
在实施例四的基础之上,可选地,所述确定模块52具体用于:若所述起始地址大于或者等于所述第一地址,则确定模块52确定所述起始地址与所述第二地址的第一差值,和所述起始地址与所述第三地址的第二差值;确定模块52根据所述第一差值和所述第二差值确定基于所述起始地址的偏移量,所述偏移量大于或者等于所述第一差值,并且小于所述第二差值;确定模块52根据所述起始地址和所述偏移量,确定所述起始地址对应的映射地址。
本发明提供一种交叉开关,该交叉开关可以用于执行图4所示实施例中的方法步骤,其实现原理和技术效果类似,此处不再赘述。
实施例七
图6为本发明一实施例提供的一种计算机***的示意图,所述计算机***基于无内部互锁流水级的微处理器MIPS架构,如图6所示,所述计算机***60包括:中央处理器CPU61、内存62、图形处理器GPU63和本发明实施例所述的交叉开关64;其中,所述CPU在单位时间内能一次处理的二进制数的位数大于所述GPU在单位时间内能一次处理的二进制数的位数。
本发明提供一种计算机***,该计算机***中的交叉开关可以用于执行图2、图3和图4所示实施例中的方法步骤,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一内存访问***可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种内存访问方法,其特征在于,所述内存访问方法应用于无内部互锁流水级的微处理器MIPS架构的计算机***,所述计算机***包括:中央处理器CPU、内存、交叉开关和图形处理器GPU,所述交叉开关分别与所述内存以及所述GPU连接,所述CPU在单位时间内能一次处理的二进制数的位数大于所述GPU在单位时间内能一次处理的二进制数的位数,所述方法包括:
所述交叉开关接收所述GPU发送的访问请求消息,所述访问请求消息中包括:待访问内存空间对应的起始地址;
所述交叉开关判断所述起始地址是否大于或等于第一地址;
若所述起始地址大于或者等于第一地址,则所述交叉开关确定所述起始地址对应的映射地址,以使所述GPU访问所述映射地址开始的内存空间;
其中,所述第一地址为所述交叉开关确定所述映射地址之前,所述GPU实际上可访问的内存空间对应的最高位地址,所述映射地址位于第二地址与第三地址之间,所述第二地址为所述GPU理论上可访问的内存空间对应的最高位地址,所述第三地址为所述内存的最高位地址;
所述第一地址小于所述第二地址,且所述第二地址小于所述第三地址;
若所述起始地址小于所述第一地址,则所述GPU直接访问所述起始地址开始的内存空间。
2.根据权利要求1所述的方法,其特征在于,若所述起始地址大于或者等于第一地址,则所述交叉开关确定所述起始地址对应的映射地址,包括:
若所述起始地址大于或者等于所述第一地址,则所述交叉开关对所述起始地址和所述第二地址的下一个地址进行或运算,得到所述映射地址。
3.根据权利要求1所述的方法,其特征在于,若所述起始地址大于或者等于第一地址,则所述交叉开关确定所述起始地址对应的映射地址,包括:
若所述起始地址大于或者等于所述第一地址,则所述交叉开关确定所述起始地址与所述第二地址的第一差值,和所述起始地址与所述第三地址的第二差值;
所述交叉开关根据所述第一差值和所述第二差值确定基于所述起始地址的偏移量,所述偏移量大于或者等于所述第一差值,并且小于所述第二差值;
所述交叉开关根据所述起始地址和所述偏移量,确定所述起始地址对应的映射地址。
4.一种交叉开关,其特征在于,所述交叉开关应用于无内部互锁流水级的微处理器MIPS架构的计算机***,所述计算机***还包括:中央处理器CPU、内存和图形处理器GPU,所述交叉开关分别与所述内存以及所述GPU连接,其中,所述CPU在单位时间内能一次处理的二进制数的位数大于所述GPU在单位时间内能一次处理的二进制数的位数,所述交叉开关包括:接收模块和确定模块;
所述接收模块,用于接收所述GPU发送的访问请求消息,所述访问请求消息中包括:待访问内存空间对应的起始地址;
所述交叉开关判断所述起始地址是否大于或等于第一地址;若所述起始地址大于或者等于第一地址,则所述确定模块确定所述起始地址对应的映射地址,以使所述GPU访问所述映射地址开始的内存空间;
其中,所述第一地址为所述交叉开关确定所述映射地址之前,所述GPU实际上可访问的内存空间对应的最高位地址,所述映射地址位于第二地址与第三地址之间,所述第二地址为所述GPU理论上可访问的内存空间对应的最高位地址,所述第三地址为所述内存的最高位地址;
所述第一地址小于所述第二地址,且所述第二地址小于所述第三地址;
若所述起始地址小于所述第一地址,则所述GPU直接访问所述起始地址开始的内存空间。
5.根据权利要求4所述的交叉开关,其特征在于,所述确定模块具体用于:
若所述起始地址大于或者等于所述第一地址,则所述确定模块对所述起始地址和所述第二地址的下一个地址进行或运算,得到所述映射地址。
6.根据权利要求4所述的交叉开关,其特征在于,所述确定模块具体用于:
若所述起始地址大于或者等于所述第一地址,则所述确定模块确定所述起始地址与所述第二地址的第一差值,和所述起始地址与所述第三地址的第二差值;
所述确定模块根据所述第一差值和所述第二差值确定基于所述起始地址的偏移量,所述偏移量大于或者等于所述第一差值,并且小于所述第二差值;
所述确定模块根据所述起始地址和所述偏移量,确定所述起始地址对应的映射地址。
7.一种计算机***,其特征在于,所述计算机***基于无内部互锁流水级的微处理器MIPS架构,所述计算机***包括:中央处理器CPU、内存、图形处理器GPU和如权利要求4-6任一项所述的交叉开关;
其中,所述CPU在单位时间内能一次处理的二进制数的位数大于所述GPU在单位时间内能一次处理的二进制数的位数。
CN201610308364.5A 2016-05-11 2016-05-11 内存访问方法、交叉开关及计算机*** Active CN107368431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610308364.5A CN107368431B (zh) 2016-05-11 2016-05-11 内存访问方法、交叉开关及计算机***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610308364.5A CN107368431B (zh) 2016-05-11 2016-05-11 内存访问方法、交叉开关及计算机***

Publications (2)

Publication Number Publication Date
CN107368431A CN107368431A (zh) 2017-11-21
CN107368431B true CN107368431B (zh) 2020-03-31

Family

ID=60303850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610308364.5A Active CN107368431B (zh) 2016-05-11 2016-05-11 内存访问方法、交叉开关及计算机***

Country Status (1)

Country Link
CN (1) CN107368431B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408407B (zh) * 2018-10-19 2021-08-03 龙芯中科技术股份有限公司 显示内存的分配方法和装置
CN109936716B (zh) * 2019-03-25 2021-06-25 龙芯中科技术股份有限公司 一种显示驱动的实现方法及***
CN111367831B (zh) * 2020-03-26 2022-11-11 超睿科技(长沙)有限公司 翻译页表的深度预取方法、部件、微处理器及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623134B1 (en) * 2006-06-15 2009-11-24 Nvidia Corporation System and method for hardware-based GPU paging to system memory
CN101739289A (zh) * 2008-11-13 2010-06-16 闪联信息技术工程中心有限公司 一种在Linux虚拟机中设置显示模式的方法及装置
CN102646074A (zh) * 2012-02-22 2012-08-22 中国人民解放军国防科学技术大学 龙芯3a平台大内存设备的地址映射方法
CN104199782A (zh) * 2014-08-25 2014-12-10 浙江大学城市学院 一种gpu上的访存方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623134B1 (en) * 2006-06-15 2009-11-24 Nvidia Corporation System and method for hardware-based GPU paging to system memory
CN101739289A (zh) * 2008-11-13 2010-06-16 闪联信息技术工程中心有限公司 一种在Linux虚拟机中设置显示模式的方法及装置
CN102646074A (zh) * 2012-02-22 2012-08-22 中国人民解放军国防科学技术大学 龙芯3a平台大内存设备的地址映射方法
CN104199782A (zh) * 2014-08-25 2014-12-10 浙江大学城市学院 一种gpu上的访存方法

Also Published As

Publication number Publication date
CN107368431A (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
US11237728B2 (en) Method for accessing extended memory, device, and system
US9547535B1 (en) Method and system for providing shared memory access to graphics processing unit processes
US20140181365A1 (en) Techniques to Configure a Solid State Drive to Operate in a Storage Mode or a Memory Mode
US9043806B2 (en) Information processing device and task switching method
US8395631B1 (en) Method and system for sharing memory between multiple graphics processing units in a computer system
CN106326140B (zh) 数据拷贝方法、直接内存访问控制器及计算机***
CN111209232B (zh) 访问静态随机存取存储器的方法、装置、设备和存储介质
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
CN107003899B (zh) 一种中断响应方法、装置及基站
JP6069031B2 (ja) 計算機及びメモリ管理方法
CN107368431B (zh) 内存访问方法、交叉开关及计算机***
CN110187832B (zh) 一种数据操作的方法、设备和***
JPH1091572A (ja) データ転送方法及びその方法を用いたデータ転送装置
CN104183267A (zh) 数据处理设备和存储器设备
CN105302489B (zh) 一种异构多核远程嵌入式存储器***与方法
US6684267B2 (en) Direct memory access controller, and direct memory access control method
US8028118B2 (en) Using an index value located on a page table to index page attributes
KR20140073955A (ko) 메모리 시스템 및 그 구동 방법
CN116467235B (zh) 一种基于dma的数据处理方法、装置、电子设备及介质
CN105988871B (zh) 一种远端内存分配方法、装置和***
EP3249540A1 (en) Method for writing multiple copies into storage device, and storage device
CN114153560B (zh) 一种虚拟中断处理方法、装置、设备及介质
CN113253939B (zh) 数据处理方法、装置、电子设备及存储介质
CN107861890B (zh) 访存处理方法、装置及电子设备
CN115712394A (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
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CP01 Change in the name or title of a patent holder