A bank memory division method and device, including: periodic statistics of each application runtime memory access characteristics, according to each application access features will be applied according to the classification, various applications accounted for all the proportion of applications select main memory bank partitioning strategy accordingly, according to the bank memory partitioning strategy for each application of each type of distribution the corresponding number of bank. Compared with the prior art, the invention provides the main bank division of the technical scheme, according to the application of memory intensive degree and local dynamic adjustment of bank allocation strategy, so as to meet the demand for the number of Bank of each application, increase the parallel application of bank level, enhance the main memory access efficiency.
【技术实现步骤摘要】
一种主存bank划分方法及装置
本专利技术涉及现代微处理器主存控制器的设计领域,具体涉及一种主存bank划分方法及装置。
技术介绍
现代DRAM(DynamicRandomAccessMemory动态随机存取存储器)主存系统的组织结构中,主存系统通常包含一个或者多个通道channel,对不同channel的访存请求能并行处理。一个channel包含一个或者多个rank,多个rank共享地址、数据和命令总线。一个rank又包含多个bank(如DDR3,每个rank通常包含8个bank)。每个bank又有一个独立的行缓冲,用来缓存DRAM主存一行的数据。如果访存请求命令中行缓冲中缓存的DRAM主存行,主存控制器只需要发起列访问操作读/写数据;否则,发生行冲突,主存控制器要发起三个操作命令,分别为预充电操作(预充电打开的行)、行激活操作(激活新的一行)和列访问操作来完成行冲突的访存请求。开发主存的行局部性能可以大大提升主存访问的效率,DRAM主存多bank的结构,使得对不同bank的访存请求能够并行执行(受共享地址/数据/命令总线的限制)。开发bank级别的并行性能隐藏访存延时,提升主存访问的性能,对于行局部性低的访存密集型应用,增加bank级别的并行性能可以大幅提升访存性能。存储墙问题的普遍存在以及片上多核处理器系统(chipmultiprocessor,CMP)的广泛普及使得主存成为多核系统的主要共享资源。主存性能逐渐成为制约系统性能的关键因素,也是计算机系统结构设计者关心的主要问题之一。CMP系统中多核共享主存系统,多个应用同时运行同时访问主存,竞争有限的 ...
【技术保护点】
一种主存bank划分方法,包括:周期性地统计各个应用运行时的访存特征;根据各个应用的访存特征将所述应用分类;根据各类应用占所有应用的比例选择相应的主存bank划分策略,根据所述主存bank划分策略为每种类型的每个应用分配相应数量的bank。
【技术特征摘要】
1.一种主存bank划分方法,包括:周期性地统计各个应用运行时的访存特征;根据各个应用的访存特征将所述应用分类;根据各类应用占所有应用的比例选择相应的主存bank划分策略,根据所述主存bank划分策略为每种类型的每个应用分配相应数量的bank。2.如权利要求1所述的方法,其特征在于:所述应用运行时的访存特征包括:访存密集度和访存序列的行局部性;所述访存密集度指每个周期内该应用的访存次数;所述行局部性指每个周期内该应用的行命中率;所述周期性地统计各个应用运行时的访存特征包括:周期性地统计并更新每个应用的访存次数和行命中率。3.如权利要求2所述的方法,其特征在于:所述周期性地统计并更新每个应用的访存次数和行命中率,包括:对于每个应用,在每个中bank设置一个对应与所述应用的行地址寄存器记录所述应用访问所述bank的上一个访存请求的行地址,然后用所述应用访问所述bank的新访存请求的行地址与记录的行地址进行比较,如果两个地址相同,则记为一个行命中交易,对一个周期内行命中交易的个数进行计数;同时为每个应用设置一个访存次数计数器记录所述应用在一个周期内的访存次数;使用所述应用一个周期内行命中交易的个数除以所述应用的访存次数得到所述应用一个周期内的行命中率。4.如权利要求2所述的方法,其特征在于:所述根据各个应用的访存特征将所述应用分类,包括:设置访存次数阈值,将一个周期内的访存次数小于所述访存次数阈值的应用分为计算密集型应用,将一个周期内的访存次数大于或等于所述访存次数阈值的应用分为访存密集型应用;和/或,设置行命中率阈值,将一个周期内的行命中率小于所述行命中率阈值的应用分为行局部性低的应用,将一个周期内的行命中率大于或等于所述行命中率阈值的应用分为行局部性高的应用。5.如权利要求4所述的方法,其特征在于:所述根据各类应用占所有应用的比例选择相应的主存bank划分策略,根据所述主存bank划分策略为每种类型的每个应用分配相应数量的bank,包括:当多核处理器系统内的所有应用均为计算密集型应用时,将主存bank资源平均分配给各个应用;当多核处理器系统内的所有应用中部分应用为计算密集型应用,另一部分为访存密集型应用时,不分配专门的bank给该部分计算密集型应用,且令该部分计算密集型应用访问所有主存bank;当多核处理器系统内的所有应用中部分应用为计算密集型应用,另一部分为访存密集型应用时,或者,当多核处理器系统内的所有应用均为访存密集型应用时,对于行局部性高的访存密集型应用,为每个应用分配最小划分单元MPU个bank;对于行局部性低的访存密集型应用,每两个应用共享2×MPU个bank。6.如权利要求5所述的方法,其特征在于:所述最小划分单元MPU=(Nrank·Nbank)/(Ncore·MI),其中,Ncore为处理器核的数目,Nrank为Ncore核处理器动态随机存取存储器DRAM主存系统rank的数目,Nbank为每个rank中bank的数目,MI为访存密集型应用占Ncore核处理器上总应用的比例,值为0到1。7.一种主存bank划分装置,包括:统计模块,用于周期性地统计各个应用运行时的访存特...
【专利技术属性】
技术研发人员:程旭,谢明利,佟冬,黄侃,
申请(专利权)人:北京北大众志微系统科技有限责任公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。