具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中内存系统的物理地址包括多个地址位,物理地址中的某些地址位作为内存控制器的索引地址位,某些地址位作为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、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。