CN103678155A - 内存地址映射处理方法及多核处理器 - Google Patents

内存地址映射处理方法及多核处理器 Download PDF

Info

Publication number
CN103678155A
CN103678155A CN201210349302.0A CN201210349302A CN103678155A CN 103678155 A CN103678155 A CN 103678155A CN 201210349302 A CN201210349302 A CN 201210349302A CN 103678155 A CN103678155 A CN 103678155A
Authority
CN
China
Prior art keywords
address
bit
access
memory
polycaryon processor
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
Application number
CN201210349302.0A
Other languages
English (en)
Other versions
CN103678155B (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.)
Institute of Computing Technology of CAS
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201210349302.0A priority Critical patent/CN103678155B/zh
Publication of CN103678155A publication Critical patent/CN103678155A/zh
Application granted granted Critical
Publication of CN103678155B publication Critical patent/CN103678155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供一种内存地址映射处理方法及多核处理器,方法包括:多核处理器交替访问内存系统的物理地址中各组第一地址和第二地址,获取与每组第一地址和第二地址对应的第一平均访问延迟,第一地址与第二地址只在相同的两个地址位上对应的取值不同且两个地址位为物理地址各地址位中除行地址位和列地址位之外的地址位;多核处理器根据各第一平均访问延迟,确定物理地址的存储体地址位。本发明实施例提供的内存地址映射处理方法及多核处理器可以方便的获取物理地址到内存系统的存储体bank的地址映射关系,进而可以使用获取的bank地址的映射关系将bank partition应用于实体计算机内存系统,以避免多核处理器共享bank干扰。

Description

内存地址映射处理方法及多核处理器
技术领域
本发明实施例涉及计算机技术,尤其涉及一种内存地址映射处理方法及多核处理器。
背景技术
随着计算机技术的迅速发展,如何避免多核处理器共享高速缓冲存储器(cache)情况下造成的干扰已经被广泛研究并应用。
现有技术中,通过页染色(page coloring)技术可以实现高速缓存分区(cache partition),将不同进程、线程或核的数据或页面,映射到不同的高速缓存组(cache set),以避免不同进程、线程或核之间共享cache导致的干扰。只要已知高速缓存行(cache line)长度、cache大小、cache组相联路数和操作系统页面大小,就可以在实体设备上通过页染色技术实现高速缓存分区。
发明人在实现本发明实施例的过程中发现,多核处理器共享内存系统带来的干扰问题依然存在,例如多核处理器共享内存带宽或共享内存存储体(bank)的干扰。近期虽然出现了在操作系统中利用页染色技术实现内存的通道分区(channel partition)或存储体分区(bank partition)以避免共享带宽干扰或共享bank干扰的研究。但要将利用页染色技术实现channel partition或bank partition应用于实体计算机内存系统,需要已知实体计算机内存系统上物理地址到内存系统的地址映射关系,包括物理地址到通道(channel)或bank的映射关系。由于实体设备上的物理地址到channel或bank的映射关系由内存控制器实现,而内存控制器制造厂商往往不会公开其最新产品中使用的映射方法,因此,如何获取物理地址到内存系统的地址映射关系成为亟待解决的技术问题。
发明内容
本发明实施例提供一种内存地址映射处理方法及多核处理器。
本发明实施例提供的内存地址映射处理方法包括:多核处理器交替访问内存系统的物理地址中各组第一地址和第二地址,获取与每组第一地址和第二地址对应的第一平均访问延迟,所述第一地址与所述第二地址只在相同的两个地址位上对应的取值不同且所述两个地址位为所述物理地址各地址位中除行地址位和列地址位之外的地址位;多核处理器根据各第一平均访问延迟,确定所述物理地址的存储体地址位。
进一步地,所述多核处理器根据各第一平均访问延迟,确定所述物理地址的存储体地址位,包括:多核处理器根据访问延迟时间长短,对所述各第一平均访问延迟进行分组;若所述各第一平均访问延迟被分为多个组,则将访问延迟时间最长的一组对应的两个地址位异或处理为第一集合,确定所述物理地址的所述存储体地址位包括所述第一集合中以及所述物理地址各地址位中除所述行地址位、所述列地址位和所述延迟时间最长的一组对应的所述两个地址位之外的所有地址位;若所述各第一平均访问延迟被分为一个组,则确定所述物理地址的所述存储体地址位包括所有所述两个地址位。
进一步地,所述多核处理器交替访问内存系统的物理地址中各组第一地址和第二地址之前,还包括:多核处理器交替访问物理地址中各组第三地址和第四地址,获取与每组第三地址和第四地址对应的第二平均访问延迟,所述第三地址与所述第四地址只在相同的一个行地址位和一个非行地址位上对应的取值不同;多核处理器根据各第二平均访问延迟,确定所述物理地址的列地址位。
进一步地,所述多核处理器根据各第二平均访问延迟,确定所述物理地址的列地址位,包括:多核处理器根据访问延迟时间长短,将所述各第二平均访问延迟进行分组,确定所述物理地址的所述列地址位包括所述访问延迟时间最长的的一组对应的非行地址位。
进一步地,所述多核处理器交替访问内存系统的物理地址中各组第三地址和第四地址之前,还包括:多核处理器交替访问物理地址中各组第五地址和第六地址,获取与每组第五地址和第六地址对应的第三平均访问延迟,所述第五地址和第六地址只在相同的一个地址位的取值不同;多核处理器根据各第三平均访问延迟,确定所述物理地址的行地址位。
进一步地,所述多核处理器根据各第三平均访问延迟,确定所述物理地址的行地址位,包括:多核处理器根据访问延迟时间长短,将所述各第三平均访问延迟进行分组,确定所述物理地址中的所述行地址位包括所述访问延迟时间最长的一组对应的地址位。
进一步地,所述多核处理器根据各第一平均访问延迟,确定所述物理地址的存储体地址位之后,还包括:多核处理器多个核并发访问内存系统的物理地址中的第一地址序列,获取第一地址序列对应的访存带宽,所述第一地址序列中的地址包括一个存储体地址位、多个行地址位以及多个列地址位,所述第一地址序列中相邻的地址的所述存储体地址位上的取值不同;多核处理器根据各访存带宽,确定所述物理地址的通道地址位。
进一步地,所述多核处理器根据各访存带宽,确定所述物理地址的通道地址位,包括:多核处理器根据所述访存带宽的大小,对所述各访存带宽进行分组;若所述各访存带宽被分为多个组,则确定所述物理地址的所述通道地址位包括所述访存带宽最大的一组对应的所述存储体地址位。
进一步地,所述多核处理器根据各访存带宽,确定所述物理地址的通道地址位之后,还包括:多核处理器的单个核以跳过高速缓冲存储器的方式访问所述内存系统的物理地址中的第二地址序列,所述多核处理器的其余多个核以经过高速缓冲存储器的方式并发访问所述物理地址中的第三地址序列,获取所述第二地址序列对应的第四平均访问延迟;所述第二地址序列中的地址和第三地址序列中的地址在同一通道地址位上的取值不同,且所述第二地址序列中的地址的其它地址位的取值不变,所述第三地址序列中的地址的其它地址位的取值不断变化;多核处理器根据各第四平均访问延迟,确定所述物理地址的内存控制器地址位。
进一步地,所述多核处理器根据各第四平均访问延迟,确定所述物理地址的内存控制器地址位,包括:多核处理器根据访问延迟时间长短,对所述各第四平均访问延迟进行分组;若所述各第四平均访问延迟被分为多个组,则确定所述物理地址的所述内存控制器地址位包括所述访问延迟时间最长的一组对应的所述通道地址位。
本发明实施例提供的多核处理器包括:访存模块,用于交替访问内存系统的物理地址中各组第一地址和第二地址;测量模块,用于获取与每组第一地址和第二地址对应的第一平均访问延迟,所述第一地址与所述第二地址只在相同的两个地址位上对应的取值不同且所述两个地址位为所述物理地址各地址位中除行地址位和列地址位之外的地址位;分析模块、用于根据各第一平均访问延迟,确定所述物理地址的存储体地址位。
进一步地,所述分析模块还用于:根据访问延迟时间长短,对所述各第一平均访问延迟进行分组;若所述各第一平均访问延迟被分为多个组,则将访问延迟时间最长的一组对应的两个地址位异或处理为第一集合,确定所述物理地址的所述存储体地址位包括所述第一集合中以及所述物理地址各地址位中除所述行地址位、所述列地址位和所述延迟时间最长的一组对应的所述两个地址位之外的所有地址位;若所述各第一平均访问延迟被分为一个组,则确定所述物理地址的所述存储体地址位包括所有所述两个地址位。
进一步地,所述访存模块还用于交替访问内存系统的物理地址中各组第三地址和第四地址;对应地所述测量模块还用于获取与每组第三地址和第四地址对应的第二平均访问延迟,所述第三地址与所述第四地址只在相同的一个行地址位和一个非行地址位上对应的取值不同;对应地所述分析模块还用于根据各第二平均访问延迟,确定所述物理地址的列地址位。
进一步地,所述分析模块还用于根据访问延迟时间长短,将所述各第二平均访问延迟进行分组,确定所述物理地址的所述列地址位包括所述访问延迟时间最长的的一组对应的非行地址位。
进一步地,所述访存模块还用于交替访问内存系统的物理地址中各组第五地址和第六地址;对应地所述测量模块还用于获取与每组第五地址和第六地址对应的第三平均访问延迟,所述第五地址和第六地址只在相同的一个地址位的取值不同;对应地所述分析模块还用于根据各第三平均访问延迟,确定所述物理地址的行地址位。
进一步地,所述分析模块还用于根据访问延迟时间长短,将所述各第三平均访问延迟进行分组,确定所述物理地址中的所述行地址位包括所述访问延迟时间最长的一组对应的地址位。
进一步地,所述访存模块还用于以多核形式并发访问内存系统的物理地址中的第一地址序列;对应地所述测量模块还用于获取第一地址序列对应的访存带宽,所述第一地址序列中的地址包括一个存储体地址位、多个行地址位以及多个列地址位,所述第一地址序列中相邻的地址的所述存储体地址位上的取值不同;对应地所述分析模块还用于根据各访存带宽,确定所述物理地址的通道地址位。
进一步地,所述分析模块还用于根据所述访存带宽的大小,对所述各访存带宽进行分组;若所述各访存带宽被分为多个组,则确定所述物理地址的所述通道地址位包括所述访存带宽最大的一组对应的所述存储体地址位。
进一步地,所述访存模块还用于以单核形式跳过高速缓冲存储器的方式访问所述内存系统的物理地址中的第二地址序列,以多核形式经过高速缓冲存储器的方式并发访问所述物理地址中的第三地址序列;对应地:所述测量模块用于获取所述第二地址序列对应的第四平均访问延迟,所述第二地址序列中的地址和第三地址序列中的地址在同一通道地址位上的取值不同,且所述第二地址序列中的地址的其它地址位的取值不变,所述第三地址序列中的地址的其它地址位的取值不断变化;对应地:所述分析模块用于根据各第四平均访问延迟,确定所述物理地址的内存控制器地址位。
进一步地,所述分析模块还用于根据访问延迟时间长短,对所述各第四平均访问延迟进行分组;若所述各第四平均访问延迟被分为多个组,则确定所述物理地址的所述内存控制器地址位包括所述访问延迟时间最长的一组对应的所述通道地址位。
本发明实施例提供的内存地址映射处理方法及多核处理器可以方便的获取物理地址到内存系统的地址映射关系,包括存储体bank的地址映射关系,进而可以使用获取的bank地址的映射关系将bank partition应用于实体计算机内存系统,以避免多核处理器共享bank干扰。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明内存地址映射处理方法实施例一的流程图;
图2为本发明内存地址映射处理方法实施例二的流程图;
图3为本发明内存地址映射处理方法实施例三的流程图;
图4为本发明内存地址映射处理方法实施例四的流程图;
图5为本发明内存地址映射处理方法实施例五的流程图;
图6为本发明内存地址映射处理方法实施例六的流程图;
图7为本发明内存地址映射处理方法实施例七的流程图;
图8为本发明内存地址映射处理方法实施例八的流程图;
图9为本发明内存地址映射处理方法实施例九的流程图;
图10为本发明内存地址映射处理方法实施例十的流程图;
图11为本为本发明多核处理器实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中内存系统的物理地址包括多个地址位,物理地址中的某些地址位作为内存控制器的索引地址位,某些地址位作为channel的索引地址位,某些地址位作为bank的索引地址位,某些地址位作为行的索引地址位,某些地址位作为列的索引地址位。例如,内存控制器的索引地址位为0表示该地址位于内存控制器0,为1表示该地址位于内存控制器1;channel的索引地址位为0表示该地址位于channel0,为1表示位于channel1;bank的索引地址位为000表示该地址位于bank0,bank的索引地址位为001表示该地址位于bank1,以此类推,bank的索引地址位为111则表示该地址位于bank7。
本发明实施例提供的内存地址映射处理方法及装置用于确定物理地址包括的多个地址位与bank地址位、行地址位、列地址位、channel地址位以及存储控制器地址位的对应关系。
图1为本发明内存地址映射处理方法实施例一的流程图,如图1所示,本实施例提供的内存地址映射处理方法可以包括:
步骤S 102、多核处理器交替访问内存系统的物理地址中各组第一地址和第二地址,获取与每组第一地址和第二地址对应的第一平均访问延迟,第一地址与第二地址只在相同的两个地址位上对应的取值不同且两个地址位为物理地址各地址位中除行地址位和列地址位之外的地址位。
具体而言,如果已知内存系统的物理地址各地址位中的行地址位和列地址位,那么取物理地址各地址位中除行地址位和列地址位之外的两个地址位,这两个地址位例如为第x位和第y位地址位。构造一组第一地址和第二地址,第一地址的第x位和第y位的取值分别与第二地址的第x位和第y位的取值不同,例如第一地址的第x、y位分别取0、0,第二地址的第x、y位分别取1、1。该组第一地址和第二地址除第x位和第y位之外其他地址位的对应取值均相同。
多核处理器以跳过高速缓冲存储器的方式,交替访问该组第一地址和第二地址,获取与该组第一地址和第二地址对应的第一平均访问延迟。本发明实施例中交替访问的次数可以取值为一百万次或其他值,以能够获得较准确的第一平均访问延迟为准,本发明实施例对此不做限制。
上述第x位和第y位遍历物理地址各地址位中除行地址位和列地址位之外的所有地址位,第x位和第y位所处位置不同时,构成不同组的第一地址和第二地址,多核处理器以跳过高速缓冲存储器的方式,交替访问各组第一地址和第二地址,获取与各组第一地址和第二地址对应的各第一平均访问延迟。
步骤S104、多核处理器根据各第一平均访问延迟,确定物理地址的存储体bank地址位。
多核处理器获取与各组第一地址和第二地址对应的各第一平均访问延迟后,可以根据各第一平均访问延迟来确定物理地址的bank地址位。
本实施例提供的内存地址映射处理方法能够方便的获取物理地址到内存系统的bank地址的映射关系,进而可以使用获取的bank地址的映射关系将bank partition应用于实体计算机内存系统,以避免多核处理器共享bank干扰。
图2为本发明内存地址映射处理方法实施例二的流程图,如图2所示,本实施例提供的方法在上述实施例的基础上,多核处理器根据各第一平均访问延迟,确定物理地址的存储体bank地址位,可以包括:
多核处理器根据访问延迟时间长短,对各第一平均访问延迟进行分组;若各第一平均访问延迟被分为多个组,则将访问延迟时间最长的一组对应的两个地址位异或处理为第一集合,确定物理地址的存储体bank地址位包括第一集合中以及物理地址各地址位中除行地址位、列地址位和延迟时间最长的一组对应的两个地址位之外的所有地址位;若各第一平均访问延迟被分为一个组,则确定物理地址的存储体bank地址位包括所有两个地址位。
详细而言,本实施例提供的内存地址映射处理方法可以包括:
步骤S202、将除已知的行地址位和列地址外的所有物理地址的地址位两两组合构成集合B。例如将物理地址的地址位中,除行地址位和列地址位之外的地址位中的第x位和第y位作为一个组合,所有的第x位和第y位地址位的这种组合共同构成集合B。
步骤S204、取集合B中一第x、y位的地址位,构造一组第一地址和第二地址,第一地址的第x位和第y位的取值分别与第二地址的第x位和第y位的取值不同,例如第一地址的第x、y位分别取0、0,第二地址的第x、y位分别取1、1。该组第一地址和第二地址除第x位和第y位之外其他地址位的对应的取值均相同。
步骤S206、多核处理器以跳过高速缓冲存储器的方式交替访问该组第一地址和第二地址,获取与该组第一地址和第二地址对应的第一平均访问延迟。
步骤S208、判断集合B是否为空,即判断第x、y位的地址位是否已遍历集合B中的所有地址位组合。如果集合B不为空则重复步骤S204,如果集合B为空则执行步骤S210。
步骤S210、多核处理器获取与各组第一地址和第二地址对应的各第一平均访问延迟,根据访问延迟时间长短,对各第一平均访问延迟进行分组。
步骤S212、判断各第一平均访问延迟是否被分为一个组,若各第一平均访问延迟被分为多个组则执行步骤S214,若各第一平均访问延迟被分为一个组则执行步骤S216。
步骤S214、将访问延迟时间最长的一组对应的集合B中的地址位组合中的两个地址位,例如第x位和第y位地址位异或处理为第一集合,确定物理地址的bank地址位包括第一集合中的地址位。
步骤S216、确定物理地址的存储体bank地址位包括除第一集合之外的集合B的所有地址位。
本实施例提供的内存地址映射处理方法能够方便的获取物理地址到内存系统的bank地址的映射关系,进而可以使用获取的bank地址的映射关系将bank partition应用于实体计算机内存系统,以避免多核处理器共享bank干扰。
图3为本发明内存地址映射处理方法实施例三的流程图,如图3所示,本实施例提供的内存地址映射处理方法在上述实施例的基础上,在多核处理器交替访问物理地址中各组第一地址和第二地址之前,还包括:
步骤S302、多核处理器交替访问内存系统的物理地址中各组第三地址和第四地址,获取与每组第三地址和第四地址对应的第二平均访问延迟,第三地址与第四地址只在相同的一个行地址位和一个非行地址位上对应的取值不同。
具体而言,如果图1或图2提供的内存地址映射处理方法实施例中,物理地址各地址位中的行地址位是已知的,而列地址位是未知的,那么可以取物理地址各地址位中除行地址位之外的一个非行地址位,例如该非行地址位为第c位地址位,并取一个行地址位例如为第r位地址位。构造一组第三地址和第四地址,第三地址的第c位和第r位的取值分别与第四地址的第c位和第r位的取值不同,例如第三地址的第c、r位分别取0、0,第四地址的第c、r位分别取1、1。该组第三地址和第四地址除第c位和第r位之外其他地址位的对应取值均相同。
多核处理器以跳过高速缓冲存储器的方式,交替访问该组第三地址和第四地址,获取与该组第三地址和第四地址对应的第二平均访问延迟。本发明实施例中交替访问的次数可以取值为一百万次或其他值,以能够获得准确的第二平均访问延迟为准,本发明实施例对此不做限制。
上述第c位遍历物理地址各地址位中除行地址位之外的所有地址位,第c位所处位置不同时,构成不同组的第三地址和第四地址,多核处理器以跳过高速缓冲存储器的方式,交替访问各组第三地址和第四地址,获取与各组第三地址和第四地址对应的各第二平均访问延迟。
步骤S304、多核处理器根据各第二平均访问延迟,确定物理地址的列地址位。
多核处理器获取与各组第三地址和第四地址对应的各第二平均访问延迟后,可以根据各第二平均访问延迟来确定物理地址的列地址位。
步骤S 102与步骤S 104与图1中对应步骤相似,此处不再赘述。
本实施例提供的内存地址映射处理方法,通过首先获取物理地址到内存系统的列地址的映射关系,再获取物理地址到内存系统的bank地址的映射关系,进而可以使用获取的bank地址的映射关系将bank partition应用于实体计算机内存系统,以避免多核处理器共享bank干扰。
图4为本发明内存地址映射处理方法实施例四的流程图,如图4所示,本实施例提供的方法在图3所示实施例的基础上,多核处理器根据各第二平均访问延迟,确定物理地址的列地址位,包括:
多核处理器根据访问延迟时间长短,将各第二平均访问延迟进行分组,确定物理地址的列地址位包括访问延迟时间最长的的一组对应的非行地址位。
详细而言,本实施例提供的内存地址映射处理方法在实施图1或图2实施例提供的方法之前还可以包括:
步骤S402、将除已知的行地址位外的所有物理地址的地址位构成集合C。
步骤S404、取行地址位中的第r地址位,取集合C中一第c地址位构造一组第三地址和第四地址:第三地址和第四地址只有在第c地址位和第r地址位上取值不同,例如第三地址的第c地址位和第r地址位值都为0,第二地址的第c地址位和第r地址位值都为1,其他地址位的对应取值都相同。
步骤S406、多核处理器以跳过高速缓冲存储器的方式交替访问该组第三地址和第四地址,获取与该组第三地址和第四地址对应的第二平均访问延迟。
步骤S408、判断集合C是否为空,即判断第c地址位是否已遍历集合C中的所有地址位。如果集合C不为空则重复步骤S404,如果集合C为空则执行步骤S410。
步骤S410、多核处理器获取与各组第三地址和第四地址对应的各第二平均访问延迟,根据访问延迟时间长短,将各第二平均访问延迟进行分组。
步骤S412、确定物理地址的列地址位包括访问延迟时间最长的一组第二平均访问延迟对应的集合C中的地址位。
本实施例提供的内存地址映射处理方法,通过首先获取物理地址到内存系统的列地址的映射关系,再获取物理地址到内存系统的bank地址的映射关系,进而可以使用获取的bank地址的映射关系将bank partition应用于实体计算机内存系统,以避免多核处理器共享bank干扰。
图5为本发明内存地址映射处理方法实施例五的流程图,如图5所示,本实施例提供的内存地址映射处理方法在图3或图4提供的实施例的基础上,在多核处理器交替访问物理地址中各组第三地址和第四地址之前,还包括:
步骤S502、多核处理器交替访问内存系统的物理地址中各组第五地址和第六地址,获取与每组第五地址和第六地址对应的第三平均访问延迟,第五地址和第六地址只在相同的一个地址位的取值不同。
具体而言,如果图3或图4提供的内存地址映射处理方法实施例中,物理地址各地址位中的行地址位是未知的,那么可以构造一组第五地址和第六地址,第五地址只有第r位的取值与第六地址的第r位的取值不同,例如第五地址的第r位取0,第六地址的第r位取1,第五地址和第六地址除第r位之外其他地址位的对应取值均相同。
多核处理器以跳过高速缓冲存储器的方式,交替访问该组第五地址和第六地址,获取与该组第五地址和第六地址对应的第三平均访问延迟。本发明实施例中交替访问的次数可以取值为一百万次或其他值,以能够获得准确的第三平均访问延迟为准,本发明实施例对此不做限制。
上述第r位遍历物理地址中的所有地址位,第r位所处位置不同时,构成不同组的第五地址和第六地址,多核处理器以跳过高速缓冲存储器的方式,交替访问各组第五地址和第六地址,获取与各组第五地址和第六地址对应的各第三平均访问延迟。
步骤S504、多核处理器根据各第三平均访问延迟,确定物理地址的行地址位。
多核处理器获取与各组第五地址和第六地址对应的各第三平均访问延迟后,可以根据各第三平均访问延迟来确定物理地址的行地址位。
步骤S302、步骤S304、步骤S102以及步骤S104与图3中对应步骤相似,此处不再赘述。
本实施例提供的内存地址映射处理方法,通过首先获取物理地址到内存系统的行地址和列地址的映射关系,再获取物理地址到内存系统的bank地址的映射关系,进而可以使用获取的bank地址的映射关系将bank partition应用于实体计算机内存系统,以避免多核处理器共享bank干扰。
图6为本发明内存地址映射处理方法实施例六的流程图,如图6所示,本实施例提供的方法在图5所示实施例的基础上,多核处理器根据各第三平均访问延迟,确定所述物理地址的行地址位,包括:
多核处理器根据访问延迟时间长短,将各第三平均访问延迟进行分组,确定物理地址中的行地址位包括访问延迟时间最长的一组对应的地址位。
详细而言,本实施例提供的内存地址映射处理方法在实施图3或图4实施例提供的方法之前还可以包括:
步骤S602、将未知的所有物理地址的地址位构成集合R。
步骤S604、取集合R中一第r地址位构造一组第五地址和第六地址:第五地址只有在第r地址位与第六地址的第r地址位取值不同,例如第五地址的第r地址位为0,第六地址的第r地址位为1,其他地址位的对应取值都相同。
步骤S606、多核处理器以跳过高速缓冲存储器的方式交替访问该组第五地址和第六地址,获取与该组第五地址和第六地址对应的第三平均访问延迟。
步骤S608、判断集合R是否为空,即判断第r地址位是否已遍历集合R中的所有地址位。如果集合R不为空则重复步骤S604,如果集合R为空则执行步骤S610。
步骤S610、多核处理器获取与各组第五地址和第六地址对应的各第三平均访问延迟,根据访问延迟时间长短,将各第三平均访问延迟进行分组。
步骤S612、确定物理地址的行地址位包括访问延迟时间最长的一组第三平均访问延迟对应的集合R中的地址位。
本实施例提供的内存地址映射处理方法,通过首先获取物理地址到内存系统的行地址和列地址的映射关系,再获取物理地址到内存系统的bank地址的映射关系,进而可以使用获取的bank地址的映射关系将bank partition应用于实体计算机内存系统,以避免多核处理器共享bank干扰。
图7为本发明内存地址映射处理方法实施例七的流程图,如图7所示,本实施例提供的内存地址映射处理方法在上述实施例的基础上,多核处理器根据各第一平均访问延迟,确定物理地址的存储体bank地址位之后,还可以包括:
步骤S702、多核处理器多个核并发访问内存系统的物理地址中的第一地址序列,获取访存带宽,第一地址序列中的地址包括一个存储体地址位、多个行地址位以及多个列地址位,第一地址序列中相邻的地址的存储体地址位上的取值不同。
具体而言,在物理地址的bank地址位已被确定的情况下,可以构造一个第一地址序列,第一地址序列中的每个地址都包括位置相同的一个存储体地址位第b地址位,m个行地址位以及n个列地址位。其中m+n的取值应大于一阈值,例如m+n>20,以保证所构建地址序列的大小大于高速缓冲存储器Cache的大小。第一地址序列中相邻的地址的第b地址位的取值不同,例如第一地址序列中奇数位置地址的第b地址位取0,偶数位置的地址的第b地址位取1;第一地址序列中的各地址的m个行地址位以及n个列地址位依序递增,直至遍历所有组合形式,即首先第一地址序列中的m个行地址位都取0,n个列地址位从全取0逐一递增至全取1,然后m个行地址的取值增加1,n个列地址位从全取0逐一递增至全取1,以此类推,直到m个行地址位和n个列地址位取值全为1。
多核处理器的多个核以经过高速缓冲存储器的方式,并发访问第一地址序列,可以以不同核访问第一地址序列的不同片段,获取访问执行时间进而获得访存带宽。
上述第一地址序列中的第b地址位遍历所有bank地址位,第b地址位所处位置不同时,多核处理器的多个核以经过高速缓冲存储器的方式,并发访问第一地址序列,获取与各不同位置的第b地址位对应的各访存带宽。
步骤S704、多核处理器根据各访存带宽,确定物理地址的通道channel地址位。
多核处理器获取各访存带宽后,可以根据各访存带宽来确定物理地址的channel地址位。
步骤S102与步骤S104与图1中对应步骤相似,此处不再赘述。
本实施例提供的内存地址映射处理方法能够方便的获取物理地址到内存系统的bank地址的映射关系,从而获取物理地址到内存系统的channel地址的映射关系,进而可以使用获取的bank地址的映射关系和channel地址的映射关系将bank partition和channel partition应用于实体计算机内存系统,以避免多核处理器共享bank和channel造成的干扰。
图8为本发明内存地址映射处理方法实施例八的流程图,如图8所示,本实施例提供的方法在图7所示实施例的基础上,多核处理器根据各访存带宽,确定物理地址的通道地址位,包括:
多核处理器根据访存带宽的大小,对各访存带宽进行分组;
若各访存带宽被分为多个组,则确定物理地址的通道channel地址位包括访存带宽最大的一组对应的存储体bank地址位。
详细而言,本实施例提供的内存地址映射处理方法在实施图1或图2实施例提供的方法之后还可以包括:
步骤S802、将所有物理地址的bank地址位构成集合T。
步骤S804、取m个行地址位、n个列地址位以及集合T中一第b地址位,构造第一地址序列。
第一地址序列中的每个地址都包括位置相同的一个存储体地址位第b地址位,m个行地址位以及n个列地址位。其中m+n的取值应大于一阈值,例如m+n>20,以保证所构建地址序列的大小大于高速缓冲存储器Cache的大小。第一地址序列中相邻的地址的第b地址位的取值不同,例如第一地址序列中奇数位置地址的第b地址位取0,偶数位置的地址的第b地址位取1;第一地址序列中的各地址的m个行地址位以及n个列地址位依序递增,直至遍历所有组合形式,即首先第一地址序列中的m个行地址位都取0,n个列地址位从全取0逐一递增至全取1,然后m个行地址的取值增加1,n个列地址位从全取0逐一递增至全取1,以此类推,直到m个行地址位和n个列地址位取值全为1。
步骤S806、多核处理器的多个核以经过高速缓冲存储器的方式并发访问第一地址序列,获取与第b地址位对应的访存带宽。
步骤S808、判断集合T是否为空,即判断第b地址位是否已遍历集合T中的所有地址位。如果集合T不为空则重复步骤S804,如果集合T为空则执行步骤S810。
步骤S810、多核处理器获取与各第b地址位对应的各访存带宽,根据访存带宽大小,对各访存带宽进行分组。
步骤S812、判断各访存带宽是否被分为一个组,若各访存带宽被分为多个组则执行步骤S814,若各访存带宽被分为一个组则执行步骤S816。
步骤S814、确定物理地址的channel地址位包括访存带宽最大的一组访存带宽对应的集合T中的地址位。
步骤S816、确定物理地址中不包括channel地址位。若各访存带宽被分为一个组时,内存系统只有唯一的channel,所以无需channel地址。
本实施例提供的内存地址映射处理方法能够方便的获取物理地址到内存系统的bank地址的映射关系,从而获取物理地址到内存系统的channel地址的映射关系,进而可以使用获取的bank地址的映射关系和channel地址的映射关系将bank partition和channel partition应用于实体计算机内存系统,以避免多核处理器共享bank和channel造成的干扰。
图9为本发明内存地址映射处理方法实施例九的流程图,如图9所示,本实施例提供的内存地址映射处理方法在图7或图8提供实施例的基础上,多核处理器根据各访存带宽,确定物理地址的通道channel地址位之后,还可以包括:
步骤S902、多核处理器的单个核以跳过高速缓冲存储器的方式访问内存系统的物理地址中的第二地址序列,多核处理器的其余多个核以经过高速缓冲存储器的方式并发访问物理地址中的第三地址序列,获取第二地址序列对应的第四平均访问延迟;第二地址序列中的地址和第三地址序列中的地址在同一通道地址位上的取值不同,且第二地址序列中的地址的其它地址位的取值不变,第三地址序列中的地址的其它地址位的取值不断变化。
具体而言,在物理地址的channel地址位已被确定的情况下,可以构造第二地址序列和第三地址序列,第二地址序列和第三地址序列都包括一同一channel地址位,且第二地址序列中的该channel地址位与第三地址序列中的该channel地址位的取值不同。例如第二地址序列中所有地址的channel地址位,假设为第a地址位,取值都为0;第三地址序列中所有地址的第a地址位取值都为1。
多核处理器的单个核以跳过高速缓冲存储器的方式访问物理地址中的第二地址序列,访问过程中第二地址序列中的地址除第a地址位外的其它地址位保持不变;多核处理器的其余多个核以经过高速缓冲存储器的方式并发访问物理地址中的第三地址序列,访问过程中第三地址序列中的地址除a地址位外的其它地址位持续变化,可以连续变化也可以随机变化。多个核并发访问第三地址序列主要用以干扰单个核对第二地址序列的访问。多核处理器获取单个核对第二地址序列的访问执行时间,进而获取与第二地址序列对应的第四平均访问延迟。
上述第二地址序列和第三地址序列中的第a地址位遍历所有channel地址位,第a地址位所处位置不同时,可以获取各不同位置的第a地址位对应的各第四平均访问延迟。
步骤S904、多核处理器根据各第四平均访问延迟,确定物理地址的内存控制器地址位。
多核处理器获取各第四平均访问延迟后,可以根据各第四平均访问延迟来确定物理地址的内存控制器地址位。
步骤S102、步骤S104、步骤S702以及步骤S704与图7中对应步骤相似,此处不再赘述。
本实施例提供的内存地址映射处理方法能够方便的获取物理地址到内存系统的bank地址的映射关系和channel地址的映射关系,从而获取内存系统的内存控制器地址的映射关系,进而可以使用获取的bank地址的映射关系、channel地址的映射关系以及内存控制器地址的映射关系,将bank partition、channel partition以及内存控制器分区应用于实体计算机内存系统,以避免多核处理器共享内存系统造成的干扰。
图10为本发明内存地址映射处理方法实施例十的流程图,如图10所示,本实施例提供的方法在图9所示实施例的基础上,多核处理器根据各第四平均访问延迟,确定物理地址的内存控制器地址位,包括:
多核处理器根据访问延迟时间长短,对各第四平均访问延迟进行分组;若各第四平均访问延迟被分为多个组,则确定物理地址的内存控制器地址位包括访问延迟时间最长的一组对应的通道地址位。
详细而言,本实施例提供的内存地址映射处理方法在实施图7或图8实施例提供的方法之后还可以包括:
步骤S1002、将所有物理地址的channel地址位构成集合U。
步骤S 1004、取集合U中一第a地址位,构造第二地址序列和第三地址序列。
第二地址序列和第三地址序列都包括一第a地址位,且第二地址序列中的第a地址位与第三地址序列中的第a地址位的取值不同。例如第二地址序列中所有地址的第a地址位取值都为0;第三地址序列中所有地址的第a地址位取值都为1。
步骤S1006、多核处理器的单个核以跳过高速缓冲存储器的方式访问物理地址中的第二地址序列,多核处理器的其余多个核以经过高速缓冲存储器的方式并发访问物理地址中的第三地址序列,获取第四平均访问延迟。
多核处理器的单个核以跳过高速缓冲存储器的方式访问物理地址中的第二地址序列,访问过程中第二地址序列中的地址除第a地址位外的其它地址位保持不变;多核处理器的其余多个核以经过高速缓冲存储器的方式并发访问物理地址中的第三地址序列,访问过程中第三地址序列中的地址除a地址位外的其它地址位持续变化,可以连续变化也可以随机变化。多个核并发访问第三地址序列主要用以干扰单个核对第二地址序列的访问。多核处理器获取单个核对第二地址序列的访问执行时间,进而获取与第二地址序列对应的第四平均访问延迟。
步骤S1008、判断集合U是否为空,即判断第a地址位是否已遍历集合U中的所有地址位。如果集合U不为空则重复步骤S1004,如果集合U为空则执行步骤S1010。
步骤S1010、获取与各第a地址位对应的各第四平均访问延迟,根据访问延迟时间长短,对各第四平均访问延迟进行分组。
步骤S1012、各第四平均访问延迟是否被分为一个组,若各第四平均访问延迟被分为多个组则执行步骤S1014,若各第四平均访问延迟被分为一个组则执行步骤S1016。
步骤S1014、确定物理地址的内存控制器地址位包括访问延迟时间最长的一组第四平均访问延迟对应的集合U中的地址位。
步骤S1016、确定物理地址中不包括内存控制器地址位。若各第四平均访问延迟被分为一个组时,内存系统只有唯一的内存控制器,所以无需内存控制器地址。
本实施例提供的内存地址映射处理方法能够方便的获取物理地址到内存系统的bank地址的映射关系和channel地址的映射关系,从而获取内存系统的内存控制器地址的映射关系,进而可以使用获取的bank地址的映射关系、channel地址的映射关系以及内存控制器地址的映射关系,将bank partition、channel partition以及内存控制器分区应用于实体计算机内存系统,以避免多核处理器共享内存系统造成的干扰。
图11为本发明多核处理器实施例一的结构示意图,如图11所示,本实施例提供的多核处理器1100包括:
访存模块1110,用于交替访问内存系统的物理地址中各组第一地址和第二地址;
测量模块1120,用于获取与每组第一地址和第二地址对应的第一平均访问延迟,所述第一地址与所述第二地址只在相同的两个地址位上对应的取值不同且所述两个地址位为所述物理地址各地址位中除行地址位和列地址位之外的地址位;
分析模块1130、用于根据各第一平均访问延迟,确定所述物理地址的存储体地址位。
本实施例的多核处理器1100,可以用于执行图1所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
上述分析模块1130还可以用于根据访问延迟时间长短,对所述各第一平均访问延迟进行分组;若所述各第一平均访问延迟被分为多个组,则将访问延迟时间最长的一组对应的两个地址位异或处理为第一集合,确定物理地址的所述存储体地址位包括所述第一集合以及所述物理地址各地址位中除行地址位、所述列地址位和所述延迟时间最长的一组对应的所述两个地址位之外的所有地址位;若所述各第一平均访问延迟被分为一个组,则确定所述物理地址的所述存储体地址位包括所有所述两个地址位。
采用本实施方式的多核处理器1100,可以用于执行图2所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
上述所述访存模块1110还用于交替访问内存系统的物理地址中各组第三地址和第四地址;对应地所述测量模块1120还用于获取与每组第三地址和第四地址对应的第二平均访问延迟,所述第三地址与所述第四地址只在相同的一个行地址位和一个非行地址位上对应的取值不同;对应地所述分析模块1130还用于根据各第二平均访问延迟,确定所述物理地址的列地址位。
采用本实施方式的多核处理器1100,可以用于执行图3所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
上一实施例中的分析模块1130还可以用于根据访问延迟时间长短,将所述各第二平均访问延迟进行分组,确定所述物理地址的所述列地址位包括所述访问延迟时间最长的一组对应的非行地址位。
采用本实施方式的多核处理器1100,可以用于执行图4所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
访存模块1110还用于交替访问内存系统的物理地址中各组第五地址和第六地址;对应地所述测量模块1120还用于获取与每组第五地址和第六地址对应的第三平均访问延迟,所述第五地址和第六地址只在相同的一个地址位的取值不同;对应地所述分析模块1130还用于根据各第三平均访问延迟,确定所述物理地址的行地址位。
采用本实施方式的多核处理器1100,可以用于执行图5所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
上一实施例中的分析模块1130还可以用于根据访问延迟时间长短,将所述各第三平均访问延迟进行分组,确定所述物理地址中的所述行地址位包括所述访问延迟时间最长的一组对应的地址位。
采用本实施方式的多核处理器1100,可以用于执行图6所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
访存模块1110还用于以多核形式并发访问内存系统的物理地址中的第一地址序列;对应地所述测量模块1120还用于获取第一地址序列对应的访存带宽,所述第一地址序列中的地址包括一个存储体地址位、多个行地址位以及多个列地址位,所述第一地址序列中相邻的地址的所述存储体地址位上的取值不同;对应地所述分析模块1130还用于根据各访存带宽,确定所述物理地址的通道地址位。
采用本实施方式的多核处理器1100,可以用于执行图7所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
上一实施例中的分析模块1130还可以用于根据所述访存带宽的大小,对所述各访存带宽进行分组;若所述各访存带宽被分为多个组,则确定所述物理地址的所述通道地址位包括所述访存带宽最大的一组对应的所述存储体地址位。
采用本实施方式的多核处理器1100,可以用于执行图8所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
访存模块1110还用于以单核形式跳过高速缓冲存储器的方式访问所述内存系统的物理地址中的第二地址序列,以多核形式经过高速缓冲存储器的方式并发访问所述物理地址中的第三地址序列;对应地所述测量模块1120用于获取所述第二地址序列对应的第四平均访问延迟,所述第二地址序列中的地址和第三地址序列中的地址在同一通道地址位上的取值不同,且所述第二地址序列中的地址的其它地址位的取值不变,所述第三地址序列中的地址的其它地址位的取值不断变化;对应地所述分析模块1130用于根据各第四平均访问延迟,确定所述物理地址的内存控制器地址位。
采用本实施方式的多核处理器1100,可以用于执行图9所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
上一实施例中的分析模块1130还可以用于根据访问延迟时间长短,对所述各第四平均访问延迟进行分组;若所述各第四平均访问延迟被分为多个组,则确定所述物理地址的所述内存控制器地址位包括所述访问延迟时间最长的一组对应的所述通道地址位。
采用本实施方式的多核处理器1100,可以用于执行图10所示内存地址映射处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (20)

1.一种内存地址映射处理方法,其特征在于,包括:
多核处理器交替访问内存系统的物理地址中各组第一地址和第二地址,获取与每组第一地址和第二地址对应的第一平均访问延迟,所述第一地址与所述第二地址只在相同的两个地址位上对应的取值不同且所述两个地址位为所述物理地址各地址位中除行地址位和列地址位之外的地址位;
多核处理器根据各第一平均访问延迟,确定所述物理地址的存储体地址位。
2.根据权利要求1所述的方法,其特征在于,所述多核处理器根据各第一平均访问延迟,确定所述物理地址的存储体地址位,包括:
多核处理器根据访问延迟时间长短,对所述各第一平均访问延迟进行分组;
若所述各第一平均访问延迟被分为多个组,则将访问延迟时间最长的一组对应的所述两个地址位异或处理为第一集合,确定所述物理地址的所述存储体地址位包括所述第一集合以及所述物理地址各地址位中除所述行地址位、所述列地址位和所述延迟时间最长的一组对应的所述两个地址位之外的所有地址位;
若所述各第一平均访问延迟被分为一个组,则确定所述物理地址的所述存储体地址位包括所有所述两个地址位。
3.根据权利要求1或2所述的方法,其特征在于,所述多核处理器交替访问物理地址中各组第一地址和第二地址之前,还包括:
多核处理器交替访问内存系统的物理地址中各组第三地址和第四地址,获取与每组第三地址和第四地址对应的第二平均访问延迟,所述第三地址与所述第四地址只在相同的一个行地址位和一个非行地址位上对应的取值不同;
多核处理器根据各第二平均访问延迟,确定所述物理地址的列地址位。
4.根据权利要求3所述的方法,其特征在于,所述多核处理器根据各第二平均访问延迟,确定所述物理地址的列地址位,包括:
多核处理器根据访问延迟时间长短,将所述各第二平均访问延迟进行分组,确定所述物理地址的所述列地址位包括所述访问延迟时间最长的的一组对应的非行地址位。
5.根据权利要求3或4所述的方法,其特征在于,所述多核处理器交替访问物理地址中各组第三地址和第四地址之前,还包括:
多核处理器交替访问内存系统的物理地址中各组第五地址和第六地址,获取与每组第五地址和第六地址对应的第三平均访问延迟,所述第五地址和第六地址只在相同的一个地址位的取值不同;
多核处理器根据各第三平均访问延迟,确定所述物理地址的行地址位。
6.根据权利要求5所述的方法,其特征在于,所述多核处理器根据各第三平均访问延迟,确定所述物理地址的行地址位,包括:
多核处理器根据访问延迟时间长短,将所述各第三平均访问延迟进行分组,确定所述物理地址中的所述行地址位包括所述访问延迟时间最长的一组对应的地址位。
7.根据权利要求1-6任一所述的方法,其特征在于,所述多核处理器根据各第一平均访问延迟,确定所述物理地址的存储体地址位之后,还包括:
多核处理器多个核并发访问内存系统的物理地址中的第一地址序列,获取第一地址序列对应的访存带宽,所述第一地址序列中的地址包括一个存储体地址位、多个行地址位以及多个列地址位,所述第一地址序列中相邻的地址的所述存储体地址位上的取值不同;
多核处理器根据各访存带宽,确定所述物理地址的通道地址位。
8.根据权利要求7所述的方法,其特征在于,所述多核处理器根据各访存带宽,确定所述物理地址的通道地址位,包括:
多核处理器根据所述访存带宽的大小,对所述各访存带宽进行分组;
若所述各访存带宽被分为多个组,则确定所述物理地址的所述通道地址位包括所述访存带宽最大的一组对应的所述存储体地址位。
9.根据权利要求7或8所述的方法,其特征在于,所述多核处理器根据各访存带宽,确定所述物理地址的通道地址位之后,还包括:
多核处理器的单个核以跳过高速缓冲存储器的方式访问所述内存系统的物理地址中的第二地址序列,所述多核处理器的其余多个核以经过高速缓冲存储器的方式并发访问所述物理地址中的第三地址序列,获取所述第二地址序列对应的第四平均访问延迟;
所述第二地址序列中的地址和第三地址序列中的地址在同一通道地址位上的取值不同,且所述第二地址序列中的地址的其它地址位的取值不变,所述第三地址序列中的地址的其它地址位的取值不断变化;
多核处理器根据各第四平均访问延迟,确定所述物理地址的内存控制器地址位。
10.根据权利要求9所述的方法,其特征在于,所述多核处理器根据各第四平均访问延迟,确定所述物理地址的内存控制器地址位,包括:
多核处理器根据访问延迟时间长短,对所述各第四平均访问延迟进行分组;
若所述各第四平均访问延迟被分为多个组,则确定所述物理地址的所述内存控制器地址位包括所述访问延迟时间最长的一组对应的所述通道地址位。
11.一种多核处理器,其特征在于,包括:
访存模块,用于交替访问内存系统的物理地址中各组第一地址和第二地址;
测量模块,用于获取与每组第一地址和第二地址对应的第一平均访问延迟,所述第一地址与所述第二地址只在相同的两个地址位上对应的取值不同且所述两个地址位为所述物理地址各地址位中除行地址位和列地址位之外的地址位;
分析模块、用于根据各第一平均访问延迟,确定所述物理地址的存储体地址位。
12.根据权利要求11所述的多核处理器,其特征在于,所述分析模块还用于:
根据访问延迟时间长短,对所述各第一平均访问延迟进行分组;
若所述各第一平均访问延迟被分为多个组,则将访问延迟时间最长的一组对应的所述两个地址位异或处理为第一集合,确定所述物理地址的所述存储体地址位包括所述第一集合以及所述物理地址各地址位中除所述行地址位、所述列地址位和所述延迟时间最长的一组对应的所述两个地址位之外的所有地址位;
若所述各第一平均访问延迟被分为一个组,则确定所述物理地址的所述存储体地址位包括所有所述两个地址位。
13.根据权利要求11或12所述的多核处理器,其特征在于,
所述访存模块还用于交替访问内存系统的物理地址中各组第三地址和第四地址;对应地:
所述测量模块还用于获取与每组第三地址和第四地址对应的第二平均访问延迟,所述第三地址与所述第四地址只在相同的一个行地址位和一个非行地址位上对应的取值不同;对应地:
所述分析模块还用于根据各第二平均访问延迟,确定所述物理地址的列地址位。
14.根据权利要求13所述的多核处理器,其特征在于,所述分析模块还用于根据访问延迟时间长短,将所述各第二平均访问延迟进行分组,确定所述物理地址的所述列地址位包括所述访问延迟时间最长的的一组对应的非行地址位。
15.根据权利要求13或14所述的多核处理器,其特征在于,
所述访存模块还用于交替访问内存系统的物理地址中各组第五地址和第六地址;对应地:
所述测量模块还用于获取与每组第五地址和第六地址对应的第三平均访问延迟,所述第五地址和第六地址只在相同的一个地址位的取值不同;对应地:
所述分析模块还用于根据各第三平均访问延迟,确定所述物理地址的行地址位。
16.根据权利要求15所述的多核处理器,其特征在于,所述分析模块还用于根据访问延迟时间长短,将所述各第三平均访问延迟进行分组,确定所述物理地址中的所述行地址位包括所述访问延迟时间最长的一组对应的地址位。
17.根据权利要求11-16任一所述的多核处理器,其特征在于,
所述访存模块还用于以多核形式并发访问内存系统的物理地址中的第一地址序列;对应地:
所述测量模块还用于获取第一地址序列对应的访存带宽,所述第一地址序列中的地址包括一个存储体地址位、多个行地址位以及多个列地址位,所述第一地址序列中相邻的地址的所述存储体地址位上的取值不同;对应地:
所述分析模块还用于根据各访存带宽,确定所述物理地址的通道地址位。
18.根据权利要求17所述的多核处理器,其特征在于,所述分析模块还用于根据所述访存带宽的大小,对所述各访存带宽进行分组;
若所述各访存带宽被分为多个组,则确定所述物理地址的所述通道地址位包括所述访存带宽最大的一组对应的所述存储体地址位。
19.根据权利要求17或18所述的多核处理器,其特征在于,
所述访存模块还用于以单核形式跳过高速缓冲存储器的方式访问所述内存系统的物理地址中的第二地址序列,以多核形式经过高速缓冲存储器的方式并发访问所述物理地址中的第三地址序列;对应地:
所述测量模块用于获取所述第二地址序列对应的第四平均访问延迟,所述第二地址序列中的地址和第三地址序列中的地址在同一通道地址位上的取值不同,且所述第二地址序列中的地址的其它地址位的取值不变,所述第三地址序列中的地址的其它地址位的取值不断变化;对应地:
所述分析模块用于根据各第四平均访问延迟,确定所述物理地址的内存控制器地址位。
20.根据权利要求19所述的多核处理器,其特征在于,所述分析模块还用于根据访问延迟时间长短,对所述各第四平均访问延迟进行分组;
若所述各第四平均访问延迟被分为多个组,则确定所述物理地址的所述内存控制器地址位包括所述访问延迟时间最长的一组对应的所述通道地址位。
CN201210349302.0A 2012-09-19 2012-09-19 内存地址映射处理方法及多核处理器 Active CN103678155B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210349302.0A CN103678155B (zh) 2012-09-19 2012-09-19 内存地址映射处理方法及多核处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210349302.0A CN103678155B (zh) 2012-09-19 2012-09-19 内存地址映射处理方法及多核处理器

Publications (2)

Publication Number Publication Date
CN103678155A true CN103678155A (zh) 2014-03-26
CN103678155B CN103678155B (zh) 2016-12-21

Family

ID=50315786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210349302.0A Active CN103678155B (zh) 2012-09-19 2012-09-19 内存地址映射处理方法及多核处理器

Country Status (1)

Country Link
CN (1) CN103678155B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241282A (zh) * 2017-07-24 2017-10-10 郑州云海信息技术有限公司 一种减少协议处理流水线停顿的方法及系统
CN107729261A (zh) * 2017-09-28 2018-02-23 中国人民解放军国防科技大学 一种多核/众核处理器中Cache地址映射方法
EP3367246A1 (en) * 2017-02-23 2018-08-29 Honeywell International Inc. Memory partitioning for a computing system with memory pools
CN108628797A (zh) * 2017-03-15 2018-10-09 北京北大众志微系统科技有限责任公司 一种实现体划分的方法及装置
CN109815101A (zh) * 2019-01-15 2019-05-28 珠海金山网络游戏科技有限公司 一种安卓系统未知内存的占用情况的分析方法及装置
US10366007B2 (en) 2017-12-11 2019-07-30 Honeywell International Inc. Apparatuses and methods for determining efficient memory partitioning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070227A (en) * 1997-10-31 2000-05-30 Hewlett-Packard Company Main memory bank indexing scheme that optimizes consecutive page hits by linking main memory bank address organization to cache memory address organization
CN101206912A (zh) * 2006-12-22 2008-06-25 富士通株式会社 存储器设备、存储器控制器和存储器系统
CN102663115A (zh) * 2012-04-16 2012-09-12 中国人民大学 基于页面染色技术的内存数据库访问优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070227A (en) * 1997-10-31 2000-05-30 Hewlett-Packard Company Main memory bank indexing scheme that optimizes consecutive page hits by linking main memory bank address organization to cache memory address organization
CN101206912A (zh) * 2006-12-22 2008-06-25 富士通株式会社 存储器设备、存储器控制器和存储器系统
CN102663115A (zh) * 2012-04-16 2012-09-12 中国人民大学 基于页面染色技术的内存数据库访问优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张延松 等: "内存数据库可控的page-color优化技术研究", 《计算机研究与发展》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3367246A1 (en) * 2017-02-23 2018-08-29 Honeywell International Inc. Memory partitioning for a computing system with memory pools
US10515017B2 (en) 2017-02-23 2019-12-24 Honeywell International Inc. Memory partitioning for a computing system with memory pools
CN108628797A (zh) * 2017-03-15 2018-10-09 北京北大众志微系统科技有限责任公司 一种实现体划分的方法及装置
CN107241282A (zh) * 2017-07-24 2017-10-10 郑州云海信息技术有限公司 一种减少协议处理流水线停顿的方法及系统
CN107241282B (zh) * 2017-07-24 2021-04-27 郑州云海信息技术有限公司 一种减少协议处理流水线停顿的方法及系统
CN107729261A (zh) * 2017-09-28 2018-02-23 中国人民解放军国防科技大学 一种多核/众核处理器中Cache地址映射方法
CN107729261B (zh) * 2017-09-28 2020-09-11 中国人民解放军国防科技大学 一种多核/众核处理器中Cache地址映射方法
US10366007B2 (en) 2017-12-11 2019-07-30 Honeywell International Inc. Apparatuses and methods for determining efficient memory partitioning
CN109815101A (zh) * 2019-01-15 2019-05-28 珠海金山网络游戏科技有限公司 一种安卓系统未知内存的占用情况的分析方法及装置

Also Published As

Publication number Publication date
CN103678155B (zh) 2016-12-21

Similar Documents

Publication Publication Date Title
CN103678155A (zh) 内存地址映射处理方法及多核处理器
Angizi et al. Graphide: A graph processing accelerator leveraging in-dram-computing
Qiao et al. AtomLayer: A universal ReRAM-based CNN accelerator with atomic layer computation
US20160078045A1 (en) Selective compression of objects in a storage compute device
US9727459B2 (en) Non-volatile, solid-state memory configured to perform logical combination of two or more blocks sharing series-connected bit lines
US11093388B2 (en) Method, apparatus, device and storage medium for accessing static random access memory
Zheng et al. Spara: An energy-efficient ReRAM-based accelerator for sparse graph analytics applications
US20210192315A1 (en) Method and apparatus with neural network convolution operation
Iwabuchi et al. Towards a distributed large-scale dynamic graph data store
CN104317731A (zh) 一种分层存储管理方法、装置及存储系统
US9063667B2 (en) Dynamic memory relocation
CN105677755A (zh) 一种处理图数据的方法及装置
CN113032007A (zh) 一种数据处理方法及装置
CN112435157A (zh) 包括不同类型的存储器装置的图形处理系统及其操作方法
EP3091448A1 (en) Memory equipped with information retrieval function, method for using same, device, and information processing method
JP2024516514A (ja) 畳み込みニューラル・ネットワーク実行のための活性化のメモリ・マッピング
CN105335296B (zh) 一种数据处理方法、装置及系统
KR102366238B1 (ko) 다이 어드레싱
CN102567243A (zh) 存储设备的刷新处理方法和存储设备
US20220318015A1 (en) Enforcing data placement requirements via address bit swapping
CN1622057A (zh) 扩展存储空间的存取方法及其存取装置
CN114153755A (zh) 存储器内处理器、存储器访问设备以及存储器访问方法
TWI453747B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
KR101805059B1 (ko) 데이터 저장 장치 및 방법
US20150067197A1 (en) Data pattern generation for i/o training and characterization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220825

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Patentee after: Institute of Computing Technology, Chinese Academy of Sciences

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences