【技术实现步骤摘要】
本申请涉及多核处理器领域,具体涉及一种支持缓存一致性的多核处理器。本申请同时提供一种基于所述多核处理器的数据读取方法及装置、一种基于所述多核处理器的数据写入方法及装置,一种基于所述多核处理器的内存分配方法及装置,一种设备,以及另一种支持缓存一致性的多核处理器。
技术介绍
在计算机技术发展过程中,主存储器(即:通常所说的物理内存或者内存)的存取速度一直比中央处理器的操作速度慢得多,使中央处理器(CPU)的高速处理能力不能得到充分发挥。为了缓和CPU和主存储器之间速度不匹配的矛盾,在两者之间引入了高速缓冲存储器(cache,通常简称为缓存)。高速缓冲存储器的容量一般比主存储器小很多,但它的存取速度能与CPU相匹配。根据程序局部性原理,CPU正在访问的指令和数据,在以后的时间段中可能会被多次访问到,而该指令和数据附近的内存区域,也可能会被多次访问。因此,计算机硬件通常自动地将与CPU访问相关的内存区域中的数据调入高速缓冲存储器,从而CPU在访问内存中的数据时,可以先访问Cache,如果未能在Cache中命中,再访问内存。采用这种方式,能够尽量减少CPU对内存的直接访问,从而提高计算机系统整体的处理速度。最近几年,计算机已经朝着多核计算机体系架构方向发展。为了加快CPU核心的处理速度,通常将每个CPU核心需要访问的数据存储在其私有缓存中(例如:L1Cache和L2Cache)。由于任何一份数据都可能被多个CPU私
【技术保护点】
一种支持缓存一致性的多核处理器,其特征在于,包括:复数个处理器内核,与所述复数个处理器内核分别对应的本地缓存;不同处理器内核的本地缓存分别用于缓存不同地址范围的内存空间中的数据,每个处理器内核通过互连总线访问其他处理器内核本地缓存中的数据。
【技术特征摘要】
1.一种支持缓存一致性的多核处理器,其特征在于,包括:
复数个处理器内核,与所述复数个处理器内核分别对应的本地缓存;
不同处理器内核的本地缓存分别用于缓存不同地址范围的内存空间中的数
据,每个处理器内核通过互连总线访问其他处理器内核本地缓存中的数据。
2.根据权利要求1所述的支持缓存一致性的多核处理器,其特征在于,所
述每一处理器内核均使用其本地缓存所对应的相应地址范围的内存空间中的内
存。
3.根据权利要求1-2任一所述的支持缓存一致性的多核处理器,其特征在
于,还包括:
内存控制器,与所述复数个处理器内核相连,用于供所述处理器内核访问
内存中的数据。
4.根据权利要求3所述的支持缓存一致性的多核处理器,其特征在于,所
述每个处理器内核的本地缓存包括:一级缓存和二级缓存。
5.一种基于权利要求1所述多核处理器的数据读取方法,其特征在于,包
括:
待执行读取数据操作的处理器内核,根据所述数据的内存地址,判断是否
为本处理器内核负责缓存的数据;
若是,从本地缓存中读取所述数据;
若否,向负责缓存所述数据的远端处理器内核发送读取数据请求,并接收
所述远端处理器内核返回的所述数据。
6.根据权利要求5所述的数据读取方法,其特征在于,所述根据所述数据
的内存地址,判断是否为本处理器内核负责缓存的数据,包括:
根据所述数据的内存地址,按照预先设定的对内存空间进行缓存的地址划
分规则,计算负责缓存所述数据的处理器内核编号;
判断所述处理器内核编号是否与本内核一致,若一致,则判定所述数据是
本处理器内核负责缓存的数据。
7.根据权利要求6所述的数据读取方法,其特征在于,所述预先设定的内
核对内存空间进行缓存的地址划分规则是指,每个处理器内核负责缓存内存中
以下地址范围中的数据:
MEM/N×n至MEM/N×(n+1)-1;
其中,MEM为内存容量,N为处理器内核的数目,n为处理器内核的编号,
其取值范围是0至N-1。
8.根据权利要求7所述的数据读取方法,其特征在于,采用如下公式计算
负责缓存所述数据的处理器内核编号:
处理器内核编号=(A×N/MEM)modN;
其中,A为所述数据的内存地址。
9.根据权利要求5-8任一所述的数据读取方法,其特征在于,所述从本地
缓存中读取数据包括:
根据所述数据的内存地址,判断所述数据是否已在本地缓存中缓存;
若是,从本地缓存读取所述数据;
若否,根据所述数据的内存地址访问内存,读取所述数据,并将所述数据
所在内存数据块写入本地缓存。
10.根据权利要求9所述的数据读取方法,其特征在于,所述向负责缓存
所述数据的远端处理器内核发送数据读取请求,并接收所述远端处理器内核返
回的所述数据,包括:
向负责缓存所述数据的远端处理器内核发送数据读取请求,所述请求包含
所述数据的内存地址和请求方的处理器内核编号;
所述远端处理器内核从其本地缓存中读取所述数据;
所述远端处理器内核将读取的所述数据返回给所述请求方。
11.根据权利要求10所述的数据读取方法,其特征在于,所述远端处理器
内核从本地缓存中读取所述数据,包括:
所述远端处理器内核根据所述数据的内存地址,判断所述数据是否已在本
地缓存中缓存;
若是,从所述本地缓存读取所述数据;
若否,根据所述数据的内存地址访问内存,读取所述数据,并将所述数据
所在内存数据块写入本地缓存。
12.一种基于权利要求1所述多核处理器的数据读取装置,其特征在于,
包括:
读操作判断单元,用于待执行读取数据操作的处理器内核,根据所述数据
的内存地址,判断是否为本处理器内核负责缓存的数据;
本地缓存读取单元,用于当所述读操作判断单元的输出为“是”时,从本
地缓存中读取所述数据;
远端缓存读取单元,用于当所述读操作判断单元的输出为“否”时,向负
责缓存所述数据的远端处理器内核发送读取数据请求,并接收所述远端处理器
内核返回的所述数据。
13.根据权利要求12所述的数据读取装置,其特征在于,所述读操作判断
单元包括:
读编号计算子单元,用于根据所述数据的内存地址,按照预先设定的对内
存空间进行缓存的地址划分规则,计算负责缓存所述数据的处理器内核编号;
编号判断子单元,用于判断所述处理器内核编号是否与本内核一致,若一
致,则判定所述数据是本处理器内核负责缓存的数据。
14.根据权利要求13所述的数据读取装置,其特征在于,所述读编号计算
子单元采用的地址划分规则是指,每个处理器内核负责缓存内存中以下地址范
围中的数据:
MEM/N×n至MEM/N×(n+1)-1;
其中,MEM为内存容量,N为处理器内核的数目,n为处理器内核的编号,
其取值范围是0至N-1。
15.根据权利要求14所述的数据读取装置,其特征在于,所述编号计算子
单元具体用于,采用如下公式计算缓存所述数据的处理器内核编号:
处理器内核编号=(A×N/MEM)modN;
其中,A为所述数据的内存地址。
16.根据权利要求12-15任一所述的数据读取装置,其特征在于,所述本地
缓存读取单元包括:
本地缓存判断子单元,用于根据所述数据的内存地址,判断所述数据是否
已在本地缓存中缓存;
缓存读取执行子单元,用于当所述本地缓存判断子单元的输出为“是”时,
从本地缓存读取所述数据;
内存读取子单元,用于当所述本地缓存判断子单元的输出为“否”时,根
据所述数据的内存地址访问内存,读取所述数据,并将所述...
【专利技术属性】
技术研发人员:马凌,周伟,张磊,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。