首页> 中国专利> 众核处理器及其空间访问的方法、主核

众核处理器及其空间访问的方法、主核

摘要

一种众核处理器及其空间访问的方法、主核,其中,所述众核处理器空间访问的方法包括:主核为从核创建页表缓冲,所述页表缓冲与所述从核一一对应,所述页表缓冲用于存储页表;所述从核向所述主核发送服务请求;所述主核装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表;所述主核从所述进程页表中获取所需页表项,并启动页表映射产生物理地址;所述主核使用所述物理地址访问所述从核的物理空间。本发明的众核处理器及其空间访问的方法、主核,有效的屏蔽了异构众核环境下的多维空间访问复杂性,实现了异构众核环境下从核空间正确高效的访问。

著录项

  • 公开/公告号CN102982001A

    专利类型发明专利

  • 公开/公告日2013-03-20

    原文格式PDF

  • 申请/专利权人 无锡江南计算技术研究所;

    申请/专利号CN201210438262.7

  • 发明设计人 郑岩;黄高阳;陈斐;殷红武;

    申请日2012-11-06

  • 分类号G06F15/167;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人骆苏华

  • 地址 214083 江苏省无锡市滨湖区军东新村030号

  • 入库时间 2024-02-19 17:47:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-11-18

    授权

    授权

  • 2013-04-17

    实质审查的生效 IPC(主分类):G06F15/167 申请日:20121106

    实质审查的生效

  • 2013-03-20

    公开

    公开

说明书

技术领域

本发明涉及众核处理器领域,特别涉及众核处理器及其空间访问的方法、 主核。

背景技术

随着半导体技术的发展,传统的单核处理器暴露出许许多多的局限,体 系结构设计者为了在处理器性能进一步提升的同时降低功耗和散热,提出了 多核处理器(multi-core processor)和众核处理器(many-core processor)。多 核处理器可以分为两种:同构多核处理器和异构多核处理器。同构多核处理 器内的处理器核类型相同,在多核处理器中处于对等的地位;异构多核处理 器内含有不同类型的处理器核,并且不同类型的处理器核在多核处理器内部 担当不同角色。众核处理器与多核处理器相比,核心数量更多,而且众核处 理器通常都是异构的。在使用众核处理器时,需要选择某个或者某几个核对 其他核进行运行控制和空间管理,从而构成主从式的架构,所述的管理核为 主核,被管理的核为从核。

在异构环境下,主核不能对从核空间进行直接的访问,需要由操作系统 支撑,通过指定的接口和协议来进行访问。例如,现有技术中CPU和GPU 的异构环境下,CPU并不能直接访问GPU的物理空间(显存),需要由CPU 通过空间映射来建立用户虚拟空间和实际的物理空间的映射关系。在CPU和 GPU的异构环境下,CPU看到的GPU的物理空间是一维的地址空间,线性 的虚拟地址就可以概括所有的GPU内存空间。但在众核空间下,由于从核数 量众多,主核看到的从核空间并不是一维线性的,每个从核在主核的空间视 图是完全一样的,但每个从核使用的物理空间又是不同的,这就带来了多维 空间映射和访问的问题。

更多有关空间访问的方法还可以参考公开号为CN101430651的中国发明 专利申请,其公开了一种多核体系中空间访问的方法。

发明内容

本发明解决的问题是现有技术中异构众核处理器环境下,由于从核物理 空间分布存在多维性导致主核访问从核空间困难。

为解决上述问题,本发明技术方案提供了一种众核处理器空间访问的方 法,包括:主核为从核创建页表缓冲,所述页表缓冲与所述从核一一对应, 所述页表缓冲用于存储页表;所述从核向所述主核发送服务请求;所述主核 装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表;所述主核 从所述进程页表中获取所需页表项,并启动页表映射产生物理地址;所述主 核使用所述物理地址访问所述从核的物理空间。

可选的,所述从核向主核发送服务请求通过核间中断实现,所述核间中 断提供中断向量,所述主核装载与发送请求的从核对应的页表缓冲中的页表 项到进程页表中包括:所述主核通过所述中断向量确定发送服务请求的从核 编号;所述主核装载与所述从核编号对应的页表缓冲中的页表项到进程页表。

可选的,所述服务请求的请求消息包含从核信息,所述主核装载与发送 请求的从核对应的页表缓冲中的页表项到进程页表中包括:所述主核通过所 述从核信息确定发送服务请求的从核;所述主核装载与所确定的从核对应的 页表缓冲中的页表项到进程页表。

可选的,所述主核还包括旁路转换缓冲,所述主核从所述进程页表中获 取所需页表项包括:判断所述旁路转换缓冲中是否包含所需页表项,若是则 主核从旁路转换缓冲获取页表项;若否则主核将所需页表项从进程页表装载 到旁路转换缓冲,再从旁路转换缓冲获取所需页表项。

对应的,本发明技术方案还提供了一种众核处理器,包括主核、主存和 从核,所述主核包括创建单元、装载单元、映射单元和访问单元,所述主存 包括页表缓冲和进程页表,所述从核包括请求单元和物理空间,其中:所述 创建单元适于进程在系统中被创建时在主存中创建所述页表缓冲,所述页表 缓冲与所述从核一一对应,所述页表缓冲用于存储页表;所述装载单元适于 装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表;所述映射 单元适于从所述进程页表中获取所需页表项,并启动页表映射产生物理地址; 所述访问单元适于在映射单元产生物理地址后,根据物理地址访问所述从核 的物理空间;所述请求单元适于向所述主核发送服务请求。

可选的,所述请求单元为中断单元,适于通过中断信号向主核发送服务 请求,所述中断单元还包括中断向量寄存器,适于提供中断向量,所述装载 单元装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表包括: 所述装载单元通过所述中断向量确定发送服务请求的从核编号;所述装载单 元装载与所述从核编号对应的页表缓冲中的页表项到进程页表。

可选的,所述请求单元向主核发送服务请求的请求消息包含从核信息, 所述装载单元装载与发送服务请求的从核对应的页表缓冲中的页表到进程页 表包括:所述装载单元通过所述从核信息确定发送服务请求的从核;所述装 载单元装载与所确定的从核对应的页表缓冲中的页表项到进程页表。

可选的,所述主核还包括旁路转换缓冲和判断单元,所述旁路转换缓冲 适于缓存页表项,所述判断单元适于判断所述旁路转换缓冲中是否包含所需 页表项,所述映射单元从所述进程页表中获取所需页表项包括:所述判断单 元判断所述旁路转换缓冲中是否包含所需页表项,若是则所述映射单元从所 述旁路转换缓冲获取页表项;若否则所述装载单元将所需页表项从所述进程 页表装载到旁路转换缓冲,所述映射单元再从旁路转换缓冲获取所需页表项。

对应的,本发明技术方案还提供了一种主核,包括创建单元、装载单元、 映射单元和访问单元,其中:所述创建单元适于进程在系统中被创建时在主 存中创建所述页表缓冲,所述页表缓冲与所述从核一一对应,所述页表缓冲 用于存储页表;所述装载单元适于装载与发送服务请求的从核对应的页表缓 冲中的页表到进程页表;所述映射单元适于从所述进程页表中获取所需页表 项,并启动页表映射产生物理地址;所述访问单元适于在映射单元产生物理 地址后,根据物理地址访问所述从核的物理空间。

可选的,还包括旁路转换缓冲和判断单元,所述旁路转换缓冲适于缓存 页表项,所述判断单元适于判断所述旁路转换缓冲中是否包含所需页表项, 所述映射单元从所述进程页表中获取所需页表项包括:所述判断单元判断所 述旁路转换缓冲中是否包含所需页表项,若是则所述映射单元从所述旁路转 换缓冲获取页表项;若否则所述装载单元将所需页表项从所述进程页表装载 到旁路转换缓冲,所述映射单元再从旁路转换缓冲获取所需页表项。

与现有技术相比,本发明技术方案提出了一种众核处理器空间访问的方 法。上述技术方案中主核为从核创建页表缓冲,所述的页表缓冲与所述从核 一一对应。从核向主核发送服务请求后,主核装载与发送服务请求的从核对 应的页表缓冲中的页表到进程页表中。现有技术中,主从式的众核处理器中 从核数量众多,各个从核向主核提出服务请求,需要主核根据进程的统一逻 辑空间映射各个从核的不同物理空间,就需要主核临时建立逻辑空间到从核 物理空间的映射页表,增大了主核负担。本技术方案中,主核事先为各个从 核建立页表缓冲,在接收到不同从核发送的服务请求后,只需在对应的页表 缓冲中装载页表,无需重复为从核的物理空间建立页表,确保了主核可以正 确访问各个从核的空间,有效的屏蔽了异构众核环境下的多维空间访问复杂 性,减少了主核访问各从核空间的开销。

进一步的,本发明的技术方案所述的主核还包括了旁路转换缓冲(TLB: Translation Lookaside Buffer),主核将所需页表项从进程页表装载到旁路转换 缓冲,再从旁路转换缓冲获取页表项。旁路转换缓冲为片上的专用高速存储 器,将进程部分页表项装载到旁路转换缓冲后,在后续需要多次使用所述页 表项时,首先通过判断单元判断所述旁路转换缓冲中是否包含所需页表项, 在判断单元的判断结果为是时,直接从旁路转换缓冲中获取页表项,无需再 读取位于主存的进程页表中,提高了从核物理空间访问的效率。

附图说明

图1是本发明技术方案的众核处理器空间访问方法的流程示意图;

图2是本发明技术方案的众核处理器的结构示意图;

图3是本发明实施例的众核处理器空间访问方法的流程示意图;

图4是本发明实施例的众核处理器的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图 和实施例对本发明的具体实施方式做详细的说明。

现有技术中,没有针对异构众核处理器的空间访问方法,现有的异构处 理器的空间访问方法也不适于众核处理器的应用场景。背景技术中的CPU和 GPU的异构环境下,GPU从核的物理空间是一维线性的,而在异构众核处理 器环境下,由于从核的数量众多,各个从核使用的物理空间不同,是多维的, 这就带来了多维空间访问的问题。本发明提供了一种异构众核环境下的多维 空间访问的方法。

请参考图1,本发明技术方案提供了一种众核处理器空间访问的方法,所 述众核处理器空间访问的方法包括:

步骤S101,主核为从核创建页表缓冲,所述页表缓冲与所述从核一一对 应,所述页表缓冲用于存储页表。

步骤S102,所述从核向所述主核发送服务请求。

步骤S103,所述主核装载与发送服务请求的从核对应的页表缓冲中的页 表到进程页表。

步骤S104,所述主核从所述进程页表中获取页表项,并启动页表映射产 生物理地址。

步骤S105,所述主核使用所述物理地址访问所述从核的物理空间。

在异构众核处理器中,主核负责处理器的控制和管理,从核负责提供运 算能力,在程序的运行过程中,从核会向主核请求相应的系统服务。在主从 架构中,从核需要主核提供系统服务,就需要在主核上运行用户进程,用户 进程再控制从核的运行,这个用户进程在某些需求下,就会需要访问从核的 物理空间,而且需要用统一的逻辑地址对从核的物理空间进行访问,即需要 统一的逻辑地址映射从核的物理空间。

上述技术方案中,主核在进程在系统中被创建时为各个从核建立了对应 的页表缓冲,所述页表缓冲用于存储页表,所述页表包含页表项,所述页表 项即为各逻辑地址到物理地址的对应关系。主核在收到从核发送的服务请求 后,主核装载与发送请求的从核对应的页表缓冲中的页表到进程页表中,主 核再从进程页表中获取页表项。主核利用用户进程中的逻辑地址和从进程页 表中获取的所需页表项运算产生物理地址,所述的物理地址即为发送服务请 求的从核的物理空间的地址。主核再使用该物理地址访问从核的物理空间, 响应从核的服务请求。

在本技术方案中,主核事先为各个从核建立页表缓冲,在接收到不同从 核发送的服务请求后,只需在对应的页表缓冲中装载页表,无需重复为从核 的物理空间建立页表,所以减少了主核访问各从核空间的开销。

对应的,请参考图2,图2为本发明技术方案提供的众核处理器的结构示 意图,需要说明的是,为了简洁明了,图中仅示出主核和一个从核的连接关 系。所述的众核处理器包括:包括主核201、主存202和从核203,所述主核 201的数量至少为一个,所述从核203的数量为多个,所述主核201对从核 203进行管理和服务,形成主从式架构。所述主核201包括创建单元201a、 装载单元201b、映射单元201c和访问单元201d,所述主存202包括页表缓 冲202a和进程页表202b,所述从核203包括请求单元203a和物理空间203b。

所述创建单元201a适于进程在系统中被创建时在主存202中为从核203 创建对应的页表缓冲202a,所述页表缓冲202a与所述从核203一一对应,所 述页表缓冲202a用于存储页表;所述装载单元201b适于装载与发送服务请 求的从核203对应的页表缓冲202a中的页表到进程页表202b;所述映射单元 201c适于从所述进程页表202b中获取所需页表项,并启动页表映射产生物理 地址;所述访问单元201d适于在映射单元201c产生物理地址后,根据物理 地址访问所述从核203的物理空间203b;所述请求单元203a适于向所述主核 201发送服务请求。

下面结合实施例,对本发明技术方案的众核处理器的空间访问方法进行 详细说明。请参考图3所示的本实施例的众核处理器的空间访问方法的流程 示意图,所述空间访问方法包括:

步骤S301,主核为从核创建页表缓冲,所述页表缓冲与所述从核一一对 应,所述页表缓冲用于存储页表。在异构众核处理器中,从核需要主核提供 系统服务,就需要在主核上运行用户进程,用户进程再控制从核的运行,这 个用户进程在某些需求下,就会需要访问从核的物理空间,而且需要用统一 的逻辑地址对从核的物理空间进行访问。主核为每个从核建立对应的页表缓 冲,所述的页表缓冲保存了包含进程逻辑空间到从核物理空间映射关系的页 表,确保主核通过获取页表缓冲中的页表信息就可以访问对应从核的物理空 间。

步骤S302,从核通过核间中断向主核发送服务请求。本实施例中,从核 向主核发送服务请求通过核间中断实现,核间中断是硬件提供的一种事件机 制,对于主核来说属于异步事件,产生的方式与硬件实现的具体方式有关。 在核间中断机制下,存在中断向量寄存器,适于提供中断向量,所述的中断 向量包含此次中断的信息,例如包含发送中断请求的从核编号和中断程序的 程序入口。主核在收到从核发送的核间中断后,进入中断响应的处理流程, 对从核提供系统服务。

步骤S303,主核通过中断向量确定从核编号。所述中断向量由硬件保证 可靠传输,保证主核获取发送服务请求的从核编号,正确访问对应的页表缓 冲。

在本发明的其他实施例中,从核向主核发送服务请求的请求消息中包含 了从核信息,主核通过请求消息来确定发送服务请求的从核。

步骤S304,主核装载与从核编号对应的页表缓冲中的页表到进程页表。 在用户进程需要访问从核的物理空间时,使用统一的逻辑地址对各个从核的 物理空间进行访问。所述的进程页表包含了进程运行过程中,所使用逻辑空 间与物理空间的映射关系。将与从核编号对应的页表缓冲中的页表装载到进 程页表中,就是为了在用户进程为发送请求的从核服务时,可以正确访问对 应从核的物理空间。

步骤S305,判断旁路转换缓冲中是否包含所需页表项,若旁路转换缓冲 中包含所需页表项,则执行步骤S307,若旁路转换缓冲中不包含所需页表项 则执行步骤S306。

步骤S306,主核将所需页表项从进程页表装载到旁路转换缓冲。旁路转 换缓冲(TLB:Translation Lookaside Buffer)为片上的专用高速存储器,通常 为SRAM,具有速度快的特点;主存为片外存储器,通常为DRAM,访问速 度远低于旁路转换缓冲。根据程序执行的局部性特点,即在一段时间内进程 访问的空间集中在较小的范围内,若在每次映射过程中都需要访问进程页表 获取所需页表项,而进程页表位于片外的主存内,访问速度慢,将会降低主 核访问从核物理空间的效率。所以主核将所需页表项从进程页表装载到旁路 转换缓冲,后续需要多次使用所述页表项时,首先判断所述旁路转换缓冲中 是否包含所需页表项,在判断单元的判断结果为是时直接从旁路转换缓冲中 获取页表项,无需再读取位于主存的进程页表中,提高了从核物理空间访问 的效率。

步骤S307,主核从旁路转换缓冲中获取页表项,并启动页表映射产生物 理地址。主核利用用户进程中的逻辑地址和从旁路转换缓冲中获取的页表项 运算产生物理地址。在使用虚拟空间的操作系统中,每个进程都被假设给予 一个庞大的、连贯的虚拟空间,而实际的进程所需的数据可能是分散在物理 空间的不同区间当中。所述的逻辑地址即为用户进程使用的虚拟空间的地址, 所述的物理地址即为数据实际在物理空间的存放地址,而页表项为逻辑地址 到物理地址的对应关系。

步骤S308,主核使用所述物理地址访问从核的物理空间。上述实施例中, 从核通过核间中断向主核发送服务请求,主核使用中断向量确定从核编号, 在硬件上确保了主核正确确定发送请求的从核编号,再在对应的页表缓冲中 装载页表。另外,主核将所需页表项从进程页表装载到旁路转换缓冲,再从 旁路转换缓冲获取页表项。旁路转换缓冲为集成于主核内的片内存储器,具 有较高的存取速度,将进程部分页表项装载到旁路转换缓冲后,在后续需要 多次使用所述页表项时,首先通过判断单元判断所述旁路转换缓冲中是否包 含所需页表项,在判断单元的判断结果为是时,直接从旁路转换缓冲中获取 页表项,无需再读取位于主存的进程页表中,达到正确高效的从核空间访问 目的。

对应的,请参考图4,图4为本发明实施例提供的众核处理器的结构示意 图,需要说明的是,为了简洁明了,图中仅示出主核和一个从核的连接关系。

所述众核处理器包括:主核401、主存402和从核403,所述主核401对 从核403进行管理和服务,形成主从式架构。所述主核401的数量至少为一 个,所述主核401一般为通用的处理器核心,其指令集为完整指令集,包括 相关的控制指令、运算指令等,可以选自ARM,MIPS、X86或PowerPC中 的一种,因此具有较高的通用性。所述从核403的数量为多个,例如所述从 核403的数量为64个、128个或者256个等等。所述从核403为指令集和微 结构经过简化的处理器核心,但其结构是针对运算指令进行过专门优化的, 使其可以较高效的执行图形处理或数字信号处理(DSP,Digital Signal Process) 等计算密集型任务,提高了所述运算任务的执行效率,进而提高了整个众核 处理器的性能。

所述主核401包括创建单元401a、装载单元401b、映射单元401c、访问 单元401d,旁路转换缓冲401e和判断单元401f;所述主存402包括页表缓冲 402a和进程页表402b;所述从核403包括中断单元403a和物理空间403b。

所述的创建单元401a用于进程在系统中被创建时在主存402为各个从核 创建页表缓冲402a,所述页表缓冲402a与所述从核403一一对应,所述页表 缓冲402a用于存储页表。

所述页表缓冲402a用于保存页表,所述页表包含页表项,所述页表项即 为进程逻辑地址到从核物理地址的具体映射关系,所述的页表缓冲402a与从 核403一一对应。在异构众核处理器中,用户进程在某些需求下,就会需要 访问从核403的物理空间403b,而且需要用统一的逻辑地址对从核403的物 理空间403b进行访问。主核401为每个从核403建立对应的页表缓冲402a, 所述的页表缓冲402a保存了包含进程逻辑空间到从核物理空间403b映射关 系的页表,确保主核401通过获取页表缓冲402a中的页表信息就可以访问对 应从核403的物理空间403b。

所述进程页表402b保存了用户进程所使用逻辑空间与物理空间的对应关 系的页表,所述的物理空间可以为任意所述从核403的物理空间403b。在使 用虚拟空间的操作系统中,为了让每个进程拥有独立的地址空间,每个进程 都被假设给予一个庞大的、连贯的空间,而实际的进程所需的数据可能是分 散在物理空间的不同区间当中。页表是一种数据结构,保存了这种用户进程 使用的逻辑地址和数据保存在物理空间的物理地址之间的对应关系。

所述中断单元403a用于向所述主核401发送服务请求。在本实施例中, 从核403向主核401发送服务请求通过中断单元403a发送核间中断实现。所 述核间中断是硬件提供的一种事件机制,对于主核401来说属于异步事件, 产生的方式与硬件实现的具体方式有关,例如可以通过从核写通道或者写硬 件的IO寄存器来产生核间中断信号。所述的中断单元403a包括中断向量寄 存器(未示出),用于提供中断向量,所述的中断向量包含此次中断的信息, 如发送中断请求的从核编号。主核401在收到从核403发送的核间中断后, 进入中断响应的处理流程对从核403提供系统服务,可以通过从核编号访问 对应的页表缓冲402a,中断向量由硬件保证可靠传输。

所述装载单元401b用于在接收到从核403发送的核间中断后,使用中断 向量确定发送服务请求的从核编号,并将与所述从核编号对应的页表缓冲 402a中的页表项装载入进程页表402b。

在本发明的其他实施例中,从核403向主核401发送服务请求的请求消 息中包含了从核信息,主核401通过请求消息来确定发送服务请求的从核403。

所述旁路转换缓冲(TLB:Translation Lookaside Buffer)401e为集成于主 核401内的片内存储器,如SRAM等,具有较高的存取速度,并且可以从硬 件上保证按内容并行查找。基于用户进程的局部性原理,即在一段时间内进 程访问的空间集中在较小的范围内,若在每次映射过程中都需要访问进程页 表402b获取所需页表项,而进程页表402b位于片外的主存402内,所述主 存402通常为DRAM,访问速度较慢,将会降低主核401访问从核403物理 空间403b的效率。所以主核401将所需页表项从进程页表402b装载到旁路 转换缓冲401e,后续需要多次使用所述页表项时,直接从旁路转换缓冲401e 中获取页表项,提高了从核物理空间访问的效率。

所述判断单元401f用于判断所述旁路转换缓冲401e中是否包含所需页表 项,在判断结果为是时,装载单元401b从旁路转换缓冲401e中装载所需页 表项到映射单元401c,在判断结果为否时,装载单元401b从进程页表402b 中装载所需页表项到旁路转换缓冲401e,再从旁路转换缓冲401e装载所需页 表项到映射电源401c。由于旁路转换缓冲401e为片内存储器,受限于芯片面 积,容量较小,只能存放部分页表,在主核401装载页表项前,首先判断所 需页表项是否存在于旁路转换缓冲401e中,可以确保主核401正确获取所需 页表项,达到正确访问从核403的物理空间403b的目的。

所述映射单元401c用于从所述旁路转换缓冲401e中获取所需页表项,并 启动页表映射产生物理地址。所述访问单元401d用于在映射单元401c产生 物理地址后,使用物理地址访问所述从核403的物理空间403b。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任 何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的 方法和技术对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本 发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单 修改、等同变化及修饰,均属于本发明技术方案的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号