CN102982001A - 众核处理器及其空间访问的方法、主核 - Google Patents
众核处理器及其空间访问的方法、主核 Download PDFInfo
- Publication number
- CN102982001A CN102982001A CN2012104382627A CN201210438262A CN102982001A CN 102982001 A CN102982001 A CN 102982001A CN 2012104382627 A CN2012104382627 A CN 2012104382627A CN 201210438262 A CN201210438262 A CN 201210438262A CN 102982001 A CN102982001 A CN 102982001A
- Authority
- CN
- China
- Prior art keywords
- page table
- nuclear
- buffering
- main
- many
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种众核处理器及其空间访问的方法、主核,其中,所述众核处理器空间访问的方法包括:主核为从核创建页表缓冲,所述页表缓冲与所述从核一一对应,所述页表缓冲用于存储页表;所述从核向所述主核发送服务请求;所述主核装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表;所述主核从所述进程页表中获取所需页表项,并启动页表映射产生物理地址;所述主核使用所述物理地址访问所述从核的物理空间。本发明的众核处理器及其空间访问的方法、主核,有效的屏蔽了异构众核环境下的多维空间访问复杂性,实现了异构众核环境下从核空间正确高效的访问。
Description
技术领域
本发明涉及众核处理器领域,特别涉及众核处理器及其空间访问的方法、主核。
背景技术
随着半导体技术的发展,传统的单核处理器暴露出许许多多的局限,体系结构设计者为了在处理器性能进一步提升的同时降低功耗和散热,提出了多核处理器(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。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (10)
1.一种众核处理器空间访问的方法,其特征在于,包括:
主核为从核创建页表缓冲,所述页表缓冲与所述从核一一对应,所述页表缓冲用于存储页表;
所述从核向所述主核发送服务请求;
所述主核装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表;
所述主核从所述进程页表中获取所需页表项,并启动页表映射产生物理地址;
所述主核使用所述物理地址访问所述从核的物理空间。
2.如权利要求1所述的众核处理器空间访问的方法,其特征在于,所述从核向主核发送服务请求通过核间中断实现,所述核间中断提供中断向量,所述主核装载与发送请求的从核对应的页表缓冲中的页表项到进程页表中包括:
所述主核通过所述中断向量确定发送服务请求的从核编号;
所述主核装载与所述从核编号对应的页表缓冲中的页表项到进程页表。
3.如权利要求1所述的众核处理器空间访问的方法,其特征在于,所述服务请求的请求消息包含从核信息,所述主核装载与发送请求的从核对应的页表缓冲中的页表项到进程页表中包括:
所述主核通过所述从核信息确定发送服务请求的从核;
所述主核装载与所确定的从核对应的页表缓冲中的页表项到进程页表。
4.如权利要求1所述的众核处理器空间访问的方法,其特征在于,所述主核还包括旁路转换缓冲,所述主核从所述进程页表中获取所需页表项包括:判断所述旁路转换缓冲中是否包含所需页表项,若是则主核从旁路转换缓冲获取页表项;若否则主核将所需页表项从进程页表装载到旁路转换缓冲,再从旁路转换缓冲获取所需页表项。
5.一种众核处理器,其特征在于,包括主核、主存和从核,所述主核包括创建单元、装载单元、映射单元和访问单元,所述主存包括页表缓冲和进程页表,所述从核包括请求单元和物理空间,其中:
所述创建单元适于进程在系统中被创建时在主存中创建所述页表缓冲,所述页表缓冲与所述从核一一对应,所述页表缓冲用于存储页表;
所述装载单元适于装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表;
所述映射单元适于从所述进程页表中获取所需页表项,并启动页表映射产生物理地址;
所述访问单元适于在映射单元产生物理地址后,根据物理地址访问所述从核的物理空间;
所述请求单元适于向所述主核发送服务请求。
6.如权利要求5所述的众核处理器,其特征在于,所述请求单元为中断单元,适于通过中断信号向主核发送服务请求,所述中断单元还包括中断向量寄存器,适于提供中断向量,所述装载单元装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表包括:
所述装载单元通过所述中断向量确定发送服务请求的从核编号;
所述装载单元装载与所述从核编号对应的页表缓冲中的页表项到进程页表。
7.如权利要求5所述的众核处理器,其特征在于,所述请求单元向主核发送服务请求的请求消息包含从核信息,所述装载单元装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表包括:
所述装载单元通过所述从核信息确定发送服务请求的从核;
所述装载单元装载与所确定的从核对应的页表缓冲中的页表项到进程页表。
8.如权利要求5所述的众核处理器,其特征在于,所述主核还包括旁路转换缓冲和判断单元,所述旁路转换缓冲适于缓存页表项,所述判断单元适于判断所述旁路转换缓冲中是否包含所需页表项,所述映射单元从所述进程页表中获取所需页表项包括:所述判断单元判断所述旁路转换缓冲中是否包含所需页表项,若是则所述映射单元从所述旁路转换缓冲获取页表项;若否则所述装载单元将所需页表项从所述进程页表装载到旁路转换缓冲,所述映射单元再从旁路转换缓冲获取所需页表项。
9.一种主核,其特征在于,包括创建单元、装载单元、映射单元和访问单元,其中:
所述创建单元适于进程在系统中被创建时在主存中创建所述页表缓冲,所述页表缓冲与所述从核一一对应,所述页表缓冲用于存储页表;
所述装载单元适于装载与发送服务请求的从核对应的页表缓冲中的页表到进程页表;
所述映射单元适于从所述进程页表中获取所需页表项,并启动页表映射产生物理地址;
所述访问单元适于在映射单元产生物理地址后,根据物理地址访问所述从核的物理空间。
10.如权利要求9所述的主核,其特征在于,还包括旁路转换缓冲和判断单元,所述旁路转换缓冲适于缓存页表项,所述判断单元适于判断所述旁路转换缓冲中是否包含所需页表项,所述映射单元从所述进程页表中获取所需页表项包括:所述判断单元判断所述旁路转换缓冲中是否包含所需页表项,若是则所述映射单元从所述旁路转换缓冲获取页表项;若否则所述装载单元将所需页表项从所述进程页表装载到旁路转换缓冲,所述映射单元再从旁路转换缓冲获取所需页表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210438262.7A CN102982001B (zh) | 2012-11-06 | 2012-11-06 | 众核处理器及其空间访问的方法、主核 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210438262.7A CN102982001B (zh) | 2012-11-06 | 2012-11-06 | 众核处理器及其空间访问的方法、主核 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102982001A true CN102982001A (zh) | 2013-03-20 |
CN102982001B CN102982001B (zh) | 2015-11-18 |
Family
ID=47856044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210438262.7A Active CN102982001B (zh) | 2012-11-06 | 2012-11-06 | 众核处理器及其空间访问的方法、主核 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102982001B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657193A (zh) * | 2013-11-21 | 2015-05-27 | 华为技术有限公司 | 一种访问物理资源的方法和装置 |
CN106789450A (zh) * | 2017-03-01 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种报文的特征统计方法及装置 |
CN112463711A (zh) * | 2020-12-11 | 2021-03-09 | 北京航空航天大学 | 一种针对众核处理器的从核软件缓存共享方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070118558A1 (en) * | 2005-11-21 | 2007-05-24 | Research In Motion Limited | System and method for application program operation on a wireless device |
CN101464807A (zh) * | 2009-01-08 | 2009-06-24 | 杭州华三通信技术有限公司 | 一种应用程序的加载方法及装置 |
-
2012
- 2012-11-06 CN CN201210438262.7A patent/CN102982001B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070118558A1 (en) * | 2005-11-21 | 2007-05-24 | Research In Motion Limited | System and method for application program operation on a wireless device |
CN101464807A (zh) * | 2009-01-08 | 2009-06-24 | 杭州华三通信技术有限公司 | 一种应用程序的加载方法及装置 |
Non-Patent Citations (2)
Title |
---|
ANDRZEJ PUŁKA等: "Multithread RISC Architecture Based on Programmable Interleaved Pipelining", 《16TH IEEE INTERNATIONAL CONFERENCE ON ELECTRONICS, CIRCUITS, AND SYSTEMS, 2009》 * |
张延松等: "内存数据库可控的page-color优化技术研究", 《计算机研究与发展》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657193A (zh) * | 2013-11-21 | 2015-05-27 | 华为技术有限公司 | 一种访问物理资源的方法和装置 |
WO2015074512A1 (zh) * | 2013-11-21 | 2015-05-28 | 华为技术有限公司 | 一种访问物理资源的方法和装置 |
CN104657193B (zh) * | 2013-11-21 | 2018-07-20 | 华为技术有限公司 | 一种访问物理资源的方法和装置 |
US10180915B2 (en) | 2013-11-21 | 2019-01-15 | Huawei Technologies Co., Ltd. | Method and apparatus for accessing physical resources |
CN106789450A (zh) * | 2017-03-01 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种报文的特征统计方法及装置 |
CN106789450B (zh) * | 2017-03-01 | 2019-12-06 | 杭州迪普科技股份有限公司 | 一种报文的特征统计方法及装置 |
CN112463711A (zh) * | 2020-12-11 | 2021-03-09 | 北京航空航天大学 | 一种针对众核处理器的从核软件缓存共享方法 |
CN112463711B (zh) * | 2020-12-11 | 2023-03-31 | 北京航空航天大学 | 一种针对众核处理器的从核软件缓存共享方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102982001B (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hadidi et al. | Cairo: A compiler-assisted technique for enabling instruction-level offloading of processing-in-memory | |
US9141173B2 (en) | Thread consolidation in processor cores | |
CN102929834B (zh) | 众核处理器及其核间通信的方法、主核和从核 | |
CN103019955B (zh) | 基于pcram主存应用的内存管理方法 | |
CN102331974A (zh) | 用于处理器主存储器的持久存储器 | |
CN102446159B (zh) | 多核处理器的数据管理方法及装置 | |
DE102013209643B4 (de) | Mechanismus für optimierte Nachrichtenaustauschdatenübertragung zwischen Nodelets innerhalb eines Plättchens | |
US20160275042A1 (en) | Zero-copy data transmission system | |
EP3163451B1 (en) | Memory management method and device, and memory controller | |
EP3662376B1 (en) | Reconfigurable cache architecture and methods for cache coherency | |
CN107491340A (zh) | 跨物理机的巨型虚拟机实现方法 | |
EP4184324A1 (en) | Efficient accelerator offload in multi-accelerator framework | |
CN102982001B (zh) | 众核处理器及其空间访问的方法、主核 | |
CN106250348A (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
Yang et al. | Performance evaluation on cxl-enabled hybrid memory pool | |
CN101373444A (zh) | 向执行环境揭示系统拓扑 | |
US20180032442A1 (en) | Real time memory address translation device | |
CN115114186A (zh) | 用于多核架构的近数据加速的技术 | |
US8914779B2 (en) | Data placement for execution of an executable | |
CN101382955A (zh) | 一种机群文件系统中文件读取的方法及系统 | |
US20110271060A1 (en) | Method And System For Lockless Interprocessor Communication | |
US20140130050A1 (en) | Main processor support of tasks performed in memory | |
Jain et al. | Achieving Multi-Port Memory Performance on Single-Port Memory with Coding Techniques | |
Montaner et al. | A practical way to extend shared memory support beyond a motherboard at low cost | |
US9836401B2 (en) | Multi-core simulation system and method based on shared translation block cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |