CN115525583B - 一种众核处理器的存储器数据访问方法 - Google Patents
一种众核处理器的存储器数据访问方法 Download PDFInfo
- Publication number
- CN115525583B CN115525583B CN202211504117.4A CN202211504117A CN115525583B CN 115525583 B CN115525583 B CN 115525583B CN 202211504117 A CN202211504117 A CN 202211504117A CN 115525583 B CN115525583 B CN 115525583B
- Authority
- CN
- China
- Prior art keywords
- field
- information
- bit
- data
- draft
- 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
Links
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
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种众核处理器的存储器数据访问方法,涉及众核处理器技术领域,该存储器数据访问方法包括:获取包含虚拟地址的数据访问请求,当解析确定虚拟地址的空间类型字段的字段内容指示虚拟地址对应草稿本存储空间时,解析数据字段的字段内容得到核心位置信息以及草稿本内部地址,并按照草稿本内部地址访问众核处理器中位于核心位置信息处的运算核心内的草稿本存储器。采用虚拟地址中的固定位域进行草稿本存储器的虚拟地址到地址的代换计算,并对所有运算核心中的草稿本存储器进行全片的空间交叉编址,在满足不同运算核心的草稿本存储器之间的数据传输的基础上,降低了硬件开销。
Description
技术领域
本申请涉及众核处理器技术领域,尤其是一种众核处理器的存储器数据访问方法。
背景技术
在通用处理器的应用过程中,为了便于程序员使用通用处理器的存储空间,程序员编写的应用软件程序使用虚拟地址空间的虚拟地址进行数据的读写动作。通用处理器内部将虚拟地址代换得到对应的物理地址,从而转换到物理地址空间,可以在真实的物理存储器中进行数据的读写动作。
目前虚拟地址空间与物理地址空间主要有两种代换方法:页式地址代换和段式地址代换,针对通用处理器的高速缓存、主存储器、外部存储器等存储空间都可以采用上述两种代换方法实现虚拟地址空间与物理地址空间的代换,从而实现对各类存储器的访问。
但是通用处理器已经难以满足高性能计算领域的计算需求,众核处理器逐渐被广泛应用在各种高性能计算系统中。众核处理器在片上集成了超出数量级的运算核心,可以提供更高的计算能力、计算密度和性能功耗比。众核处理器除了包含通用处理器中的各类存储空间之外,每一个运算核心还均拥有自己的草稿本存储器,允许程序员对该草稿本存储器的内容进行直接管理,并且通常提供指令进行草稿本存储器到主存储器之间的数据搬运、以及草稿本存储器到其他运算核心的草稿本存储器之间的数据搬运。若同样利用页式地址代换或段式地址代换对众核处理器的存储空间进行地址空间的管理和代换,则由于页式地址代换和段式地址代换都需要维护代换表,会带来较大的硬件开销。
发明内容
本申请人针对上述问题及技术需求,提出了一种众核处理器的存储器数据访问方法,本申请的技术方案如下:
一种众核处理器的存储器数据访问方法,该存储器数据访问方法包括:
获取包含虚拟地址的数据访问请求,虚拟地址包括空间类型字段和数据字段;
当解析确定空间类型字段的字段内容指示虚拟地址对应草稿本存储空间时,解析数据字段的字段内容得到核心位置信息以及草稿本内部地址;
响应于数据访问请求,按照草稿本内部地址访问众核处理器中位于核心位置信息处的运算核心内的草稿本存储器。
本申请的有益技术效果是:本申请公开了一种众核处理器的存储器数据访问方法,该数据访问方法中使用的虚拟地址利用空间类型字段区分对应的存储空间,可以兼容对草稿本存储器和其他存储器的数据访问,采用固定位域进行草稿本存储器的虚拟地址到地址的代换计算,并对所有运算核心中的草稿本存储器进行全片的空间交叉编址,在满足不同运算核心的草稿本存储器之间的数据传输的基础上,避免了传统方法需要使用和维护地址代换表带来的硬件实现开销,实现方式简单,硬件开销较小。
该数据访问方法可以使用复杂代换模式解析虚拟地址,从而根据索引字段的索引信息对数据字段的字段内容进行解析,实现核心位置信息在数据字段中占用比特位的动态配置,从而通过结合不同的索引信息,允许程序员以不同的视角、使用不同的虚拟地址来描述草稿本存储器中相同的物理地址,以提供灵活的草稿本存储器地址交叉方式,提高了算法开发的便利性,灵活性也更高。
该数据访问方法可以仅采用简单代换模式解析虚拟地址得到草稿本存储器中的物理地址以尽可能降低硬件开销,也可以仅采用复杂代换模式解析虚拟地址得到草稿本存储器中的物理地址以提高灵活性,或者根据虚拟地址的代换模式字段携带的信息自由选择所需要使用的代换模式,从而可以根据使用场景的使用需要切换代换模式,进一步提高灵活性。
该数据访问方法适用于运算核心中标准访存部件的逻辑简化,也可以简化草稿本存储器的专用数据传输引擎的设计,该类数据传输引擎可以采用简化的硬件逻辑实现地址代换。
附图说明
图1是本申请一个实施例中的存储器数据访问方法的流程示意图。
图2是一个实施例中的虚拟地址的字段结构示意图。
图3是另一个实施例中的虚拟地址的字段结构示意图。
图4是又一个实施例中的虚拟地址的字段结构示意图。
图5是一个实施例中根据索引信息解析得到核心位置信息和草稿本内部地址的示意图。
图6是一个实例中,由两个不同的虚拟地址解析得到相同的核心位置信息和草稿本内部地址的示意图。
图7是又一个实施例中的虚拟地址的字段结构示意图。
具体实施方式
下面结合附图对本申请的具体实施方式做进一步说明。
本申请公开了一种众核处理器的存储器数据访问方法,请参考图1所示的流程图,该方法包括如下步骤:
首先获取包含虚拟地址的数据访问请求,该数据访问请求用于请求对众核处理器中的存储器进行数据访问,众核处理器中的存储器包括各个运算核心内的草稿本存储器以及除各个运算核心内的草稿本存储器之外的其他存储器。
请参考图2所示的虚拟地址的结构示意图,获取到的虚拟地址包括空间类型字段(SPACE)和数据字段(DATA)。空间类型字段的字段内容用于指示该虚拟地址对应的存储空间的类型,在本申请中,存储空间的类型包括两类:草稿本存储空间以及其他存储空间。当虚拟地址对应草稿本存储空间时,表示该数据访问请求用于访问运算核心内的草稿本存储器。当虚拟地址对应其他存储空间时,表示该数据访问请求用于访问其他存储器。
空间类型字段和数据字段的组合方式也是预先固定好的,由于一般需要先解析确定空间类型字段的字段内容,因此通常如图2所示,虚拟地址从高位到低位分别为空间类型字段和数据字段,且空间类型字段和数据字段各自占用的比特位数都是预先设定好且固定的。为了减少硬件开销,空间类型字段可以仅占用一个比特位,因此如图1所示,以空间类型字段的字段内容SPACE=1指示该虚拟地址对应草稿本存储空间,以空间类型字段的字段内容为SPACE=0指示该虚拟地址对应其他存储空间。需要说明的是,本申请后续图示的各个字段的宽度并不表示字段之间占用比特位的绝对大小关系,只是示意。
当解析确定空间类型字段的字段内容指示该虚拟地址对应草稿本存储空间时,如图1以解析确定SPACE=1为例,解析数据字段的字段内容得到核心位置信息以及草稿本内部地址,核心位置信息用于唯一的标识众核处理器中的一个运算核心,草稿本内部地址是一个草稿本存储器中的内部地址。然后响应于数据访问请求,按照草稿本内部地址访问众核处理器中位于该核心位置信息处的运算核心内的草稿本存储器。本申请针对众核处理器的草稿本存储器不需要进行高低位交换等复杂的虚实映射的编程特点进行设计,采用了固定字段进行虚拟地址到物理地址的代换,无需针对草稿本存储器的虚实代换维护代换表,避免了采用传统方法时代换表带来的硬件实现开销,且对众核处理器中所有运算核心的草稿本存储器空间进行统一的编址以满足不同运算核心的草稿本存储器之间的数据传输。
当解析确定空间类型字段的字段内容指示虚拟地址对应其他存储空间时,如图1以解析确定SPACE=0为例,根据预定映射方法对虚拟地址携带的其他存储空间的有效地址数据映射得到对应的物理地址,这里的预定映射方法可以是通用处理器中的各种虚实映射方法,比如背景技术部分介绍的页式代换或段式代换。然后响应于数据访问请求,按照物理地址访问众核处理器中的除各个运算核心内的草稿本存储器之外的其他存储器。
也即根据空间类型字段的字段内容的不同,采用不同的代换方法得到相应的物理地址。在实际应用时,对应其他存储空间的虚拟地址携带的有效地址数据的长度往往大于对应于草稿本存储空间的虚拟地址携带的有效地址数据,对应于草稿本存储空间的虚拟地址携带的有效地址数据即包括核心位置信息以及草稿本内部地址。假设数据字段共占用第一总比特数,则核心位置信息以及草稿本内部地址占用的总位数为第一总比特数,而对应于其他存储空间的虚拟地址携带的有效地址数据则一般占用第二总比特数,第二总比特数大于第一总比特数,第二总比特数和第一总比特数均为根据实际情况的自定义值。因此为了匹配两个存储空间的有效地址数据的数据长度,如图3所示,该虚拟地址还包括占用固定字段的预留字段(RESV),数据字段与预留字段共占用第二总比特数。比如数据字段占用的第一总比特数为26,预留字段占用的比特数为4个,则核心位置信息以及草稿本内部地址占用的总位数为26,而对应其他存储空间的虚拟地址携带的有效地址数据占用的第二总比特数为30。则当解析确定虚拟地址的空间类型字段的字段内容指示其他存储空间时,如图1以解析确定SPACE=0为例,将解析得到的预留字段和数据字段的字段内容按照预定拼接方式拼接组合得到虚拟地址携带的其他存储空间的有效地址数据,这里的预定拼接方式与预留字段和数据字段之间的高低位关系对应。预留字段一般位于数据字段的高位部分,则将预留字段的字段内容作为高位内容、将数据字段的字段内容作为低位内容,得到有效地址数据,如图3以此为例。或者预留字段位于数据字段的低位部分,则将数据字段的字段内容作为高位内容、将预留字段的字段内容作为低位内容,得到有效地址数据。
其中,解析数据字段的字段内容得到核心位置信息以及草稿本内部地址的方法包括两种情况:
1、在该实施例中,数据字段包括按照预定格式依次组合的位置子字段(CID)和地址子字段(Addr),位置子字段用于携带核心位置信息,地址子字段用于携带草稿本内部地址。位置子字段占用具有第一比特数的若干个连续比特位,地址子字段占用具有第二比特数的若干个连续比特位。第一比特数和第二比特数均为根据实际情况的自定义值,第一比特数和第二比特数均小于数据字段共占用的第一总比特数,且第一比特数和第二比特数之和等于整个数据字段占用的第一总比特数。
比如图2示出了其中一种预定格式的示意图,也即数据字段从高位到低位分别为位置子字段和地址子字段,且位置子字段占用的第一比特数以及地址子字段占用的第二比特数也是固定且已知的,位置子字段占用的第一比特数与中众核处理器中的运算核心的数量相关,地址子字段占用的第二比特数与一个运算核心内的草稿本存储器的地址空间大小相关。
由于数据字段的预定格式是固定且已知的,因此直接根据预定格式解析数据字段的字段内容就能得到核心位置信息以及草稿本内部地址。包括:根据预定格式提取数据字段的字段内容中对应于位置子字段的若干个连续比特位得到核心位置信息,根据预定格式提取数据字段的字段内容中对应于地址子字段的若干个连续比特位得到草稿本内部地址。比如基于图2所示的预定格式,假设数据字段共占用26个比特位,其中位置子字段占用的第一比特数为6、地址子字段占用的第二比特数为20,则通过提取数据字段的字段内容的最高6个比特位就可以提取得到核心位置信息,通过提取数据字段的字段内容的剩余20个比特位就可以提取得到草稿本内部地址。
在一个实施例中,众核处理器中的运算核心的核心位置信息以二维坐标形式表示,且包含第一编号信息和第二编号信息。则如图2所示,位置子字段包括第一位置子字段(CID1)和第二位置子字段(CID2),第一位置子字段携带第一编号信息,第二位置子字段携带第二编号信息。第一位置子字段和第二位置子字段也按照预定格式依次组合且占用相应的比特数,第一位置子字段占用的比特数与第一编号信息的数量相关,第二位置子字段占用的比特数与第二编号信息的数量相关。第一位置子字段和第二位置子字段占用的比特数可以相等也可以不相等。则根据预定格式提取数据字段的字段内容中对应于位置子字段的若干个连续比特位得到核心位置信息,包括:根据预定格式提取对应于第一位置子字段的若干个连续比特位得到第一编号信息,以及,根据预定格式提取对应于第二位置子字段的若干个连续比特位得到第二编号信息。比如在一个实例中,以第一位置子字段和第二位置子字段占用的比特数相等,位置子字段占用的第一比特数为6,第一位置子字段占用位置子字段的高位的3个比特位,第二位置子字段占用位置子字段的高位的3个比特位为例,则通过提取数据字段的字段内容的最高3个比特位就可以提取得到第一编号信息、提取数据字段的字段内容的次高的3个比特位就可以提取得到第二编号信息,从而得到核心位置信息。
2、在另一个实施例中,虚拟地址除了包括空间类型字段和数据字段之外,还包括索引字段(IDX)。当该虚拟地址不包含预留字段时,按照对各个字段的字段内容的获取顺序,虚拟地址从高位到低位分别为空间类型字段、索引字段和数据字段。当该虚拟地址还包括预留字段时,则如图4所示,虚拟地址从高位到低位分别为空间类型字段、索引字段、预留字段和数据字段。索引字段占用的比特位数也是预先固定好的。
在该实施例中,基于虚拟地址还包括索引字段的前提,解析索引字段得到索引信息,该索引信息用于指示核心位置信息在数据字段的字段内容中的位置。然后根据索引信息解析数据字段的字段内容得到核心位置信息以及草稿本内部地址。包括如下两步:
(1)根据索引信息解析数据字段的字段内容得到核心位置信息。
一种情况是,预先设定好索引信息指示的比特位是核心位置信息的最低比特位。则以索引信息指示的比特位作为最低比特位,提取该最低比特位及其之前的连续若干个比特位得到具有预定比特数的核心位置信息。
另一种情况是,预先设定好索引信息指示的比特位是核心位置信息的最高比特位。则以索引信息指示的比特位作为最高比特位,提取最高比特位及其之后的连续若干个比特位得到具有预定比特数的核心位置信息。
不管采用哪种情况,预定比特数是预先设定好的,根据核心位置信息占用的比特数来确定。以索引信息指示的比特位是核心位置信息的最低比特位为例,假设数据字段共占用26个比特位,索引信息指示的比特位是数据字段中从高位到低位的第15个比特位,核心位置信息占用的预定比特数为6,则提取数据字段中从高位到低位的第10个比特位至第15个比特位、共计6个比特位的字段内容得到核心位置信息。
在该实施例中,同样的,众核处理器中的运算核心的核心位置信息通常不采用一维信息形式表示,而是以二维坐标形式表示,且包含第一编号信息和第二编号信息。则索引字段包括第一索引子字段(IDX1)和第二索引子字段(IDX2)。第一索引子字段用于携带第一索引信息,第一索引信息指示第一编号信息在数据字段的字段内容中的位置。第二索引子字段用于携带第二索引信息,第二索引信息指示第二编号信息在数据字段的字段内容中的位置。第一索引子字段和第二索引子字段的排列格式以及各自占用的比特数是预先设定的,第一索引子字段和第二索引子字段占用的比特数可以相等也可以不相等。比如图4以索引字段从高位到低位分别为第一索引子字段和第二索引子字段为例。
则解析索引字段得到索引信息,并根据索引信息解析数据字段的字段内容得到核心位置信息的方法包括:
解析第一索引子字段得到第一索引信息,以及解析第二索引子字段得到第二索引信息。根据第一索引信息解析数据字段的字段内容提取得到核心位置信息中的第一编号信息,根据第二索引信息解析数据字段的字段内容提取得到核心位置信息中的第二编号信息。根据第一索引信息提取得到第一编号信息的方法,以及根据第二索引信息提取得到第二编号信息的方法,与上述介绍的根据索引信息提取得到核心位置信息的两种情况都是相同的,该实施例不再赘述。
在这种情况中,第一编号信息和第二编号信息在数据字段的字段内容中连续或者间隔若干个比特位。比如,假设第一索引信息和第二索引信息均指示对应的编号信息的最低比特位为例,数据字段共占用26个比特位,第一编号信息和第二编号信息各自占用的预定比特数为3,在此基础上分别有如下两个实例:
比如在一个实例中,第一索引信息指示的比特位是数据字段中从高位到低位的第12个比特位,则提取数据字段中从高位到低位的第10个比特位至第12个比特位、共计3个比特位的字段内容得到第一编号信息。第二索引信息指示的比特位是数据字段中从高位到低位的第15个比特位,则提取数据字段中从高位到低位的第13个比特位至第15个比特位、共计3个比特位的字段内容得到第二编号信息。在该实例中,提取得到的第一编号信息和第二编号信息在数据字段的字段内容中连续。
再比如在另一个实例中,请结合图5,数据字段从高位到低位的各个比特位分别以数字1~26表示。第一索引信息同样指示的比特位是数据字段中从高位到低位的第12个比特位,则提取数据字段中从高位到低位的第10个比特位至第12个比特位、共计3个比特位的字段内容得到第一编号信息。第二索引信息指示的比特位是数据字段中从高位到低位的第21个比特位,则提取数据字段中从高位到低位的第19个比特位至第21个比特位、共计3个比特位的字段内容得到第二编号信息。提取得到的第一编号信息以及第二编号信息各自占用的比特位的示意图如图5所示。在该实例中,提取得到的第一编号信息和第二编号信息在数据字段的字段内容中间隔第13个比特位至第18个比特位共计6个比特位。
(2)由数据字段的字段内容中除核心位置信息之外的其他各个比特位得到草稿本内部地址。
在一个实施例中,数据字段的字段内容中除核心位置信息之外的其他各个比特位包含若干个连续的比特位。该实施例包含多种情况:(a)核心位置信息以一维坐标形式表示,确定的核心位置信息包括数据字段的字段内容中最高位的若干个比特位,则剩余低位连续的若干个比特位。(b)核心位置信息以一维坐标形式表示,确定的核心位置信息包括数据字段的字段内容中最低位的若干个比特位,则剩余高位连续的若干个比特位。(c)核心位置信息以二维坐标形式表示,第一编号信息和第二编号信息占据的比特位连续,且位于数据字段的字段内容中最高位处或最低位处。(d)核心位置信息以二维坐标形式表示,第一编号信息和第二编号信息占据的比特位不连续,第一编号信息和第二编号信息中一个编号信息占用数据字段的字段内容中最高位的若干个比特位、另一个编号信息占用数据字段的字段内容中最低位的若干个比特位。无论是上述哪种情况,在该实施例中,直接将剩余的连续的比特位作为草稿本内部地址。
在另一个实施例中,数据字段的字段内容中除核心位置信息之外的其他各个比特位形成至少两组部分地址信息,每组部分地址信息包含一个或多个比特位,相邻两组部分地址信息通过核心位置信息分隔。该实施例包含多种情况:(a)核心位置信息以一维坐标形式表示,确定的核心位置信息既不包括数据字段的字段内容中最高位也不包括数据字段的字段内容中最低位。比如数据字段的字段内容共包含26个比特位,核心位置信息包含从最高位开始的第10个比特位至第15个比特位,则除核心位置信息之外的其他各个比特位形成两组部分地址信息,一组部分地址信息包括从最高位开始的第1个比特位至第9个比特位,另一组部分地址信息包括从最高位开始的第16个比特位至第26个比特位,两组部分地址信息之前被核心位置信息分隔。(b)核心位置信息以二维坐标形式表示,第一编号信息和第二编号信息占据的比特位连续,且第一编号信息和第二编号信息既不包括数据字段的字段内容中最高位也不包括数据字段的字段内容中的最低位。与上述(a)类似。(c)核心位置信息以二维坐标形式表示,第一编号信息和第二编号信息占据的比特位不连续,至少有一个编号信息既不包括数据字段的字段内容中的最高位、也不包括数据字段的字段内容中的最低位。在该实施例中,不管是上述哪种情况,由于包含多组不连续的部分地址信息,因此按照数据字段的字段内容各个比特位原始的排列顺序、对数据字段的字段内容中除核心位置信息之外的其他各组部分地址信息中各个比特位拼接组合得到草稿本内部地址。
如图5示出的实例中,两个编号信息既不包括数据字段的字段内容中的最高位、也不包括数据字段的字段内容中的最低位,则数据字段的字段内容中除核心位置信息之外的其他各个比特位形成三组部分地址信息,分别为部分地址信息1、部分地址信息2和部分地址信息3,部分地址信息1包含数据字段的字段内容中从最高位开始的第1个比特位至第9个比特位,部分地址信息2包含数据字段的字段内容中从最高位开始的第13个比特位至第18个比特位,部分地址信息3包含数据字段的字段内容中从最高位开始的第22个比特位至第26个比特位。则按照各个比特位原始的排列顺序对三组部分地址信息拼接组合,得到的草稿本内部地址从高位到低位分别包括数据字段的字段内容中从最高位开始的第1个比特位至第9个比特位、第13个比特位至第18个比特位以及第22个比特位至第26个比特位。
对比上述两种解析数据字段的字段内容得到核心位置信息以及草稿本内部地址的方法,对应于图2的实施例需要预先固定数据字段的预定格式,在解析时可以直接解析得到核心位置信息和草稿本内部地址,无需使用到索引信息,易于实现,硬件开销较小。对应于图4的实施例需要使用到索引字段记载的索引信息,需要占用更多的比特数,硬件开销稍有增加,而且需要根据索引信息进行解析,解析过程的复杂度也稍有提高。但是对应于图4的实施例无需固定数据字段的预定格式,核心位置信息可以包含数据字段的各个位置的比特位。基于这一特性,同一个运算核心内的草稿本存储器中的同一个草稿本内部地址对应一个或多个不同的虚拟地址,同一个草稿本存储器中的同一个草稿本内部地址所对应的多个不同的虚拟地址包含相同的核心位置信息以及草稿本内部地址、但具有不同的索引信息。也即通过结合不同的索引信息,程序员可以以不同的视角使用不同的虚拟地址来描述草稿本存储空间中相同的物理地址,对于草稿本存储空间来说,相同的物理地址即为同一个运算核心内的草稿本存储器中的同一个草稿本内部地址,提高了程序开发的便利性,灵活性更好。
比如,请参考图6,有虚拟地址1和虚拟地址2,图6仅示出了这两个虚拟地址的数据字段的字段内容。在各种预先设定的参数都相同的情况下,对于虚拟地址1,通过解析索引字段得到的第一索引信息可以提取得到第一编号信息包括从最高位开始的第10个比特位至第12个比特位、字段内容为010。通过解析索引字段得到的第二索引信息可以提取得到第二编号信息包括从最高位开始的第19个比特位至第21个比特位、字段内容为100。除两个编号信息之外形成三组部分地址信息,拼接得到草稿本内部地址为00110001011010001100。对于虚拟地址2,通过解析索引字段得到的第一索引信息可以提取得到第一编号信息包括从最高位开始的第16个比特位至第18个比特位、字段内容为010。通过解析索引字段得到的第二索引信息可以提取得到第二编号信息包括从最高位开始的第13个比特位至第15个比特位、字段内容为100。除两个编号信息之外形成两组部分地址信息,拼接得到草稿本内部地址为00110001011010001100。由图6的举例可以看出,虚拟地址1和虚拟地址2的数据字段的字段内容是不同的,索引字段的字段内容也是不同的,这是两个完全不同的虚拟地址,但是解析得到核心位置信息中的两个编号信息相同、解析得到的草稿本内部地址也相同,对应的是同一个物理地址。
如上,本申请提供了两种解析得到核心位置信息和草稿本内部地址的方法,在一个实施例中,可以预先固定好虚拟地址的格式并固定按对应的解析方法进行解析。比如固定采用如图3所示的不包含索引字段的字段格式,且数据字段包含的各个子字段按照如图2所示的预定格式设计,则直接根据预定格式解析数据字段的字段内容就能得到核心位置信息以及草稿本内部地址。在一个实例中,预先设定好整个虚拟地址占用31个比特位,从高位开始,空间类型字段占用第1个比特位、预留字段占用第2~5个比特位,数据字段占用第6~31个比特位,数据字段中,第一位置子字段占用第6~8个比特位,第二位置子字段占用第9~11个比特位,地址子字段占用第12~31个比特位。则获取到虚拟地址后并解析第1个比特位确定空间类型字段的字段内容为1指示对应草稿本存储空间时,直接解析第6~8个比特位确定第一编号信息,解析第9~11个比特位确定第二编号信息,解析第12~31个比特位得到草稿本内部地址。
再比如可以固定采用如图5所示的包含索引字段的字段格式,则根据索引信息解析数据字段的字段内容就能得到核心位置信息以及草稿本内部地址。在一个实例中,预先设定好整个虚拟地址占用35个比特位,从高位开始,空间类型字段占用第1个比特位、索引字段占用第2~5个比特位、预留字段占用第6~9个比特位,数据字段占用第10~35个比特位。索引字段中,第一索引子字段占用第2~3个比特位、第二索引子字段占用第4~5个比特位。且预设索引信息指示编号信息的最低比特位、两个编号信息均占用3个比特位。则获取到虚拟地址后并解析第1个比特位确定空间类型字段的字段内容为1指示对应草稿本存储空间时,解析第2~3个比特位确定第一索引信息指示数据字段中的第12个比特位,解析第4~5个比特位确定第二索引信息指示数据字段中的第21个比特位。则根据第一索引信息解析数据字段中的第10~12个比特位(即整个虚拟地址中的第19~21个比特位)得到第一编号信息,根据第二索引信息解析数据字段中的第19~21个比特位(即整个虚拟地址中的第28~30个比特位)得到第二编号信息,由数据字段剩余的比特位得到草稿本内部地址。
在另一个实施例中,为了便于使用的灵活性,虚拟地址除了依次包含空间类型字段、索引字段、预留字段和数据字段之外,还包括代换模式字段(MOD)。该代换模式字段的字段内容用于指示采用的代换模式,因此该代换模式字段一般直接位于空间类型字段之后,请参考图7。该代换模式字段的字段内容主要针对对应草稿本存储空间的虚拟地址,则当解析确定空间类型字段的字段内容指示虚拟地址对应草稿本存储空间时,解析代换模式字段的字段内容并确定其指示的代换模式;当解析确定空间类型字段的字段内容指示虚拟地址对应其他存储空间时,不参考该代换模式字段的字段内容。由于本申请仅包含简单代换模式和复杂代换模式两种,则为了减少硬件开销,该代换模式字段也可以仅占用1个比特位,比如以代换模式字段的字段内容MOD=0指示简单代换模式,以代换模式字段的字段内容MOD=1指示复杂代换模式。当代换模式字段的字段内容指示简单代换模式时,即便虚拟地址有索引字段,也不关心索引字段携带的索引信息,直接根据预定格式解析数据字段的字段内容。当代换模式字段的字段内容指示复杂代换模式时,解析索引字段得到索引信息并根据索引信息解析数据字段的字段内容。基于此,程序员可以以不同的视角使用不同的虚拟地址来描述草稿本存储空间中相同的物理地址,提高了程序开发的便利性,灵活性更好。
以上所述的仅是本申请的优选实施方式,本申请不限于以上实施例。可以理解,本领域技术人员在不脱离本申请的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本申请的保护范围之内。
Claims (5)
1.一种众核处理器的存储器数据访问方法,其特征在于,所述存储器数据访问方法包括:
获取包含虚拟地址的数据访问请求,所述虚拟地址包括空间类型字段和数据字段,所述虚拟地址还包括索引字段;
当解析确定所述空间类型字段的字段内容指示所述虚拟地址对应草稿本存储空间时,解析所述索引字段得到索引信息,根据所述索引信息解析所述数据字段的字段内容得到核心位置信息以及草稿本内部地址,根据所述索引信息解析所述数据字段的字段内容得到所述核心位置信息的方法包括:以所述索引信息指示的比特位作为最低比特位,提取所述最低比特位及其之前的连续若干个比特位得到具有预定比特数的所述核心位置信息;或者,以所述索引信息指示的比特位作为最高比特位,提取所述最高比特位及其之后的连续若干个比特位得到具有预定比特数的所述核心位置信息;所述众核处理器中的运算核心的核心位置信息以二维坐标形式表示且包含第一编号信息和第二编号信息,则解析所述索引字段得到的索引信息包括第一索引信息和第二索引信息;根据所述索引信息解析所述数据字段的字段内容得到所述核心位置信息的方法包括:根据所述第一索引信息解析所述数据字段的字段内容提取得到所述核心位置信息中的第一编号信息,根据所述第二索引信息解析所述数据字段的字段内容提取得到所述核心位置信息中的第二编号信息;其中,所述第一编号信息和所述第二编号信息在所述数据字段的字段内容中连续或者间隔若干个比特位;
响应于所述数据访问请求,按照所述草稿本内部地址访问众核处理器中位于所述核心位置信息处的运算核心内的草稿本存储器。
2.根据权利要求1所述的方法,其特征在于,所述虚拟地址包括代换模式字段和索引字段,解析所述数据字段的字段内容的方法包括:
解析所述代换模式字段的字段内容;
当所述代换模式字段的字段内容指示简单代换模式时,直接根据预定格式解析所述数据字段的字段内容;
当所述代换模式字段的字段内容指示复杂代换模式时,解析所述索引字段得到索引信息并根据所述索引信息解析所述数据字段的字段内容。
3.根据权利要求1所述的方法,其特征在于,根据所述索引信息解析所述数据字段的字段内容得到所述草稿本内部地址的方法包括:
按照所述数据字段的字段内容各个比特位原始的排列顺序、对所述数据字段的字段内容中除所述核心位置信息之外的其他各个比特位拼接组合得到所述草稿本内部地址。
4.根据权利要求1所述的方法,其特征在于,同一个运算核心内的草稿本存储器中的同一个草稿本内部地址对应一个或多个不同的虚拟地址,同一个草稿本存储器中的同一个草稿本内部地址所对应的多个不同的虚拟地址包含相同的核心位置信息以及草稿本内部地址、但具有不同的索引信息。
5.根据权利要求1所述的方法,其特征在于,所述虚拟地址还包括预留字段,所述数据字段占用第一总比特数,所述数据字段与所述预留字段共占用第二总比特数,所述第二总比特数大于所述第一总比特数;所述方法还包括:
当解析确定所述空间类型字段的字段内容指示所述虚拟地址对应其他存储空间时,解析所述预留字段和所述数据字段的字段内容,并按照预定拼接方式拼接组合得到所述虚拟地址携带的其他存储空间的有效地址数据,所述虚拟地址携带的其他存储空间的有效地址数据占用所述第二总比特数;
根据预定映射方法对所述虚拟地址携带的其他存储空间的有效地址数据映射得到对应的物理地址;
响应于所述数据访问请求,按照映射得到的所述物理地址访问所述众核处理器中的其他存储器,其他存储器包括所述众核处理器中除各个运算核心内的草稿本存储器之外的存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211504117.4A CN115525583B (zh) | 2022-11-29 | 2022-11-29 | 一种众核处理器的存储器数据访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211504117.4A CN115525583B (zh) | 2022-11-29 | 2022-11-29 | 一种众核处理器的存储器数据访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115525583A CN115525583A (zh) | 2022-12-27 |
CN115525583B true CN115525583B (zh) | 2023-04-07 |
Family
ID=84705168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211504117.4A Active CN115525583B (zh) | 2022-11-29 | 2022-11-29 | 一种众核处理器的存储器数据访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525583B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929588A (zh) * | 2012-09-28 | 2013-02-13 | 无锡江南计算技术研究所 | 众核处理器虚实地址转换方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114042A (zh) * | 2021-03-23 | 2022-09-27 | 北京灵汐科技有限公司 | 存储数据访问方法、装置、电子设备和存储介质 |
CN115114192A (zh) * | 2021-03-23 | 2022-09-27 | 北京灵汐科技有限公司 | 存储器接口、功能核、众核系统和存储数据访问方法 |
-
2022
- 2022-11-29 CN CN202211504117.4A patent/CN115525583B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929588A (zh) * | 2012-09-28 | 2013-02-13 | 无锡江南计算技术研究所 | 众核处理器虚实地址转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115525583A (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060007233A1 (en) | Methods, systems, and data structures for generating a rasterizer | |
AU2014201593C1 (en) | Shared cache used to provide zero copy memory mapped database | |
US20100106935A1 (en) | Pretranslating Input/Output Buffers In Environments With Multiple Page Sizes | |
CN106648467A (zh) | 一种日志生成方法及系统 | |
CN108022269A (zh) | 一种GPU压缩纹理存储Cache的建模结构 | |
JP2005531833A (ja) | テクスチャ情報をコード化するための方法および装置 | |
US20070052713A1 (en) | Systems and methods for storing and fetching texture data using bank interleaving | |
US20100153645A1 (en) | Cache control apparatus and method | |
US7529906B2 (en) | Sharing memory within an application using scalable hardware resources | |
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
CN114942831A (zh) | 处理器、芯片、电子设备及数据处理方法 | |
CN113791730B (zh) | 基于双存储池的放置组调整方法、系统、装置及存储介质 | |
CN114036089B (zh) | 数据处理方法、装置、缓存器、处理器及电子设备 | |
CN107451271A (zh) | 一种哈希表处理方法、装置、设备及存储介质 | |
CN115525583B (zh) | 一种众核处理器的存储器数据访问方法 | |
CN112199039B (zh) | 虚拟存储管理方法及处理器 | |
CN107391175A (zh) | 控件数据配置方法及计算机可读存储介质 | |
CN111831587A (zh) | 数据写入方法、装置和电子设备 | |
JPH0553909A (ja) | 画像データ処理におけるキヤツシユメモリ制御方式 | |
CN115757260A (zh) | 数据交互方法、图形处理器及图形处理系统 | |
CN111209220B (zh) | 一种非对齐地址访存的融合编码状态机实现方法 | |
US20100058025A1 (en) | Method, apparatus and software product for distributed address-channel calculator for multi-channel memory | |
CN105487911A (zh) | 一种基于编译指导的众核数据分片方法 | |
CN107870736B (zh) | 支持大于4gb非线性闪存的方法及装置 | |
CN112416825A (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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 214000 Floor 19 and Floor 20, No. 581 Jianzhu West Road, Wuxi City, Jiangsu Province Patentee after: Taichu (Wuxi) Electronic Technology Co.,Ltd. Address before: Room 318, Floor 3, Building A3, No. 777, Jianzhu West Road, Binhu District, Wuxi City, Jiangsu Province, 214000 Patentee before: Taichu (Wuxi) Electronic Technology Co.,Ltd. |