CN102446158A - 多核处理器及多核处理器组 - Google Patents
多核处理器及多核处理器组 Download PDFInfo
- Publication number
- CN102446158A CN102446158A CN201010508842XA CN201010508842A CN102446158A CN 102446158 A CN102446158 A CN 102446158A CN 201010508842X A CN201010508842X A CN 201010508842XA CN 201010508842 A CN201010508842 A CN 201010508842A CN 102446158 A CN102446158 A CN 102446158A
- Authority
- CN
- China
- Prior art keywords
- nuclear
- polycaryon processor
- interconnection structure
- main
- processor
- 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
- Multi Processors (AREA)
Abstract
一种多核处理器及多核处理器组,包括至少一个主核、至少一个从核阵列、第一互连结构和从核互连结构,所述从核阵列包括多个从核,所述从核与主核异构,其中,所述第一互连结构和从核互连结构用于所述主核与所述从核阵列间的通信,所述从核互连结构还用于所述从核阵列中任意两从核间的通信,作为一个优选的技术方案,所述主核为通用处理器核,所述从核为微结构和指令集经过精简优化的处理器核,且所述多核处理器集成在同一芯片上。本发明改善了处理器核之间的通信效率,提高了整个多核处理器的计算密度,实现了通用控制功能和高计算密度的均衡。
Description
技术领域
本发明涉及处理器领域,特别涉及一种多核处理器及多核处理器组。
背景技术
随着信息技术的发展,对计算机处理器的处理运算能力的需求越来越高,传统的单核处理器已经无法满足需要,因此多核处理器(multi-core processor)和众核处理器(many-core processor)逐渐得到了广泛应用。多核处理器是指在一个处理器中集成两个或两个以上的处理器内核,通过在各个内核之间划分任务,实现了多个处理器内核的并行运行,从而提高了整个处理器的运算处理能力。
多核处理器可以分为同构多核处理器(homogeneous multi-coreprocessors)和异构多核处理器(heterogeneous multi-core processors),其中,同构多核处理器中包含多个结构相同的处理器核,而异构多核处理器中包含多个结构不同的处理器核。在异构多核处理器中,由于不同的处理器核的结构和/或指令集存在差异,使得能够对处理进程进行分工,将不同的任务分配至不同的处理器核上执行,提高执行效率。
申请号为200810039567.4的中国专利申请中公开了一种基于可配置处理器及指令集扩展的异构多核处理器,图1示出了该异构多核处理器的结构示意图,包括:片上总线100、全能核/基本核101、第一扩展核102、第二扩展核103、仲裁器104和共享内存105,其中,全能核/基本核101中基本核和全能核是互斥的,在一个异构***中仅能存在一个基本核或一个全能核,所述基本核包括基本指令集,用于执行操作***和应用程序中没有进行过指令扩展优化的部分,并负责核间通信的控制;所述全能核包括所有指令集;所述第一扩展核102和第二扩展核103包括基本指令集,另外包括扩展指令集,用于执行应用程序中进行了指令扩展优化的部分,也可以执行程序中未进行指令扩展优化的部分,每一个扩展核只包含一种扩展指令集。上述异构多核处理器中的各处理器核都通过片上总线100连接,片上总线100通过一个仲裁器104连接到共享内存105上,所述片上总线100用于处理器核间的通信,所述仲裁器104用于控制各存储器核对共享内存105的访问。上述异构多核处理器包括多个不同的扩展核构成异构,分别包括不同的扩展指令,根据应用程序的特点,将程序中的不同部分分配到相应的扩展核上,提高了执行效率。
但是,上述方法中的不同扩展核包括不同的扩展指令集,使得整体结构较为复杂,而且其全能核/基本核与全部的扩展核都挂接在同一片上总线进行通信,扩展核的数量不能太多,否则会造成片上总线在通信过程中的冲突增多,因此该结构的多核处理器的计算密度较低。
发明内容
本发明的目的是提供一种多核处理器及多核处理器组,提高计算密度,改善处理器核间的通信效率。
为解决上述问题,本发明提供了一种多核处理器,包括至少一个主核、至少一个从核阵列、第一互连结构和从核互连结构,所述从核阵列包括多个从核,所述从核与主核异构,其中,
所述第一互连结构和从核互连结构用于所述主核与所述从核阵列间的通信,所述从核互连结构还用于所述从核阵列中任意两从核间的通信。
可选的,所述主核与所述从核阵列间的通信包括:所述主核用于将计算任务分配给所述从核阵列中的至少一个从核;所述从核用于在完成所述计算任务后,向所述主核发送主从通信信号,并将所述计算任务的运算结果保存在所述主核与从核共享的存储空间中。
可选的,所述主核与所述从核阵列间的通信包括:所述从核用于向所述主核发送主从通信信号,请求所述主核进行代理服务;所述主核用于在处理完所述代理服务后,将所述代理服务的完成标志和结果保存在所述主核与从核共享的存储空间中。
可选的,所述从核向所述主核发送的主从通信信号为中断信号。
可选的,所述从核向所述主核发送的主从通信信号为所述从核向所述主核与从核共享的存储空间写入标志信号。
可选的,所述从核包括核内存储器,所述主核与从核共享的存储空间包括主存和/或从核的核内存储器。
可选的,所述第一互连结构还用于所述主核对主存的数据访问。
可选的,所述第一互连结构和从核互连结构还用于所述从核阵列对主存的数据访问。
可选的,所述从核包括核内存储器,所述核内存储器用于存储指令和/或数据。
可选的,所述从核互连结构还用于所述从核阵列中多个从核的核内存储器间的数据访问。
可选的,所述从核具有精简结构和优化指令集。
可选的,所述从核互连结构为总线结构、格栅网络或交叉开关。
可选的,所述从核还包括通信发送单元和接收通信缓冲单元,所述通信发送单元用于将发送数据传输至所述从核互连结构,所述通信接收缓冲单元用于经由所述从核互连结构获取接收数据并进行缓存。
可选的,还包括同步单元,用于接收所述从核产生的同步请求信号,所述同步请求信号包括需参与同步的从核信息,所述同步单元在接收到全部需参与同步的从核发出的同步请求信号后产生同步完成信号,并发送至所述需参与同步的从核。
可选的,所述从核包括核内存储器,所述多核处理器还包括数据流引擎,所述数据流引擎由所述主核或从核触发,控制至少一个从核与主存之间进行批量数据传输。
可选的,所述多核处理器还包括指令预取单元,用于接收所述从核的预取请求并进行合并,获取与所述合并后的预取请求对应的指令并根据所述预取请求提供给各从核。
可选的,所述指令预取单元包括取指控制单元和指令缓存,所述取指控制单元用于接收所述从核的预取请求并进行合并,在所述指令缓存中搜索与所述合并后的预取请求对应的指令或控制所述指令缓存从主存中获取与所述合并后的预取请求对应的指令,所述指令缓存用于存储指令并向所述从核提供与其发出的预取请求对应的指令。
可选的,所述主核为通用处理器核。
可选的,所述第一互连结构为总线结构。
可选的,所述多核处理器集成于同一芯片上。
为解决上述问题,本发明提供了一种多核处理器组,包括:
多个上述任一项所述的多核处理器;
第二互连结构,用于所述多个多核处理器间的通信。
可选的,所述第二互连结构为总线结构、环网或交叉开关。
可选的,所述多核处理器组集成于同一芯片上。
与现有技术相比,本技术具有以下优点:
本技术方案的多核处理器中,采用两级互连结构,其中第一互连结构用于主核与从核阵列间的通信,而从核互连结构用于所述从核阵列中任意两从核间的通信,减少了多个处理器核共用同一总线造成的通信冲突,提高了通信效率。
另外,所述从核还包括核内存储器,用于存储指令和/或数据,避免了从核频繁访问主存,改善了主存接口的瓶颈问题。
进一步的,本技术方案中的从核具有两种运行方式,可以受主核控制以处理主核分配的运算任务,也可以独立运行由主核提供代理服务,具有较大的应用灵活性。
进一步的,本技术方案中的主核为通用处理器核,具有较好的适用性和兼容性,从核具有精简结构和优化指令集,能够在有限的面积提供超高的计算性能,使得整个多核处理器取得了易用性和高性能的均衡。
进一步的,本技术方案中的从核包括通信发送单元和通信接收缓冲单元,用于任意两从核间的通信,进一步提高了从核间的通信效率。
进一步的,本技术方案中的多核处理器包括同步单元,用于多个从核间的同步,提高了同步速率。
进一步的,本技术方案的多核处理器包括数据流引擎,控制至少一个从核与主存之间进行批量的数据传输,提高了数据读写的效率。
进一步的,本技术方案中的多核处理器包括指令预取单元,将多个从核的预取请求合并后再进行指令预取操作,以便于向需求相同指令的从核同时装载指令,提高了指令预取的效率。
附图说明
图1是现有技术的一种异构多核处理器的结构示意图;
图2是本发明实施例的异构多核处理器的结构示意图;
图3是本发明实施例的从核阵列的一种互连方式;
图4是本发明实施例的相互通信的两从核的连接结构示意图;
图5是本发明实施例的实现同步的多个从核间的连接结构示意图;
图6是本发明实施例的指令预取单元与多个从核间的连接结构示意图;
图7是本发明实施例的多核处理器组的一种连接结构示意图;
图8是本发明实施例的多核处理器组的另一种连接结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图和实施例对本发明的具体实施方式做详细的说明。
现有技术的异构多核处理器中,一般将全部处理器核连接于同一总线,使得通信过程中的冲突增多,通信效率较低,而且为了避免过多的冲突,往往从核的数量较少,影响了整个异构多核处理器的计算密度的提高。
本发明的技术方案采用两级互连结构,其中第一互连结构用于主核与从核阵列之间的通信,而从核互连结构用于所述从核阵列内部任意两从核之间的通信,减少了通信冲突,提高了通信效率,使得从核的数量可以显著增多,提高了整个多核处理器的性能。
图2示出了本发明实施例的异构多核处理器的结构示意图,如图2所示,包括:至少一个主核201、包括多个从核204a的从核阵列204、第一互连结构202和从核互连结构203,其中,所述第一互连结构202和从核互连结构203用于所述主核201与所述从核阵列204间的通信,所述从核互连结构203还用于所述从核阵列204中任意两从核204a间的通信。
所述第一互连结构202还用于所述主核201对主存205进行数据访问,所述第一互连结构202和从核互连结构203共同用于所述从核阵列204对主存205的数据访问。所述主核201经由第一互连结构202对主存205进行读取和写入操作,而各从核204a则经由从核互连结构203和第一互连结构202实现对主存205的读取和写入操作。在一具体实施例中,所述主核201、第一互连结构202、从核互连结构203以及从核阵列204集成于同一芯片上,而所述主存205为片外存储器,即并未集成在所述多核处理器中,而是通过存储器接口与所述第一互连结构202连接,所述主存205可以是SDRAM等常用的存储器。
所述主核201与从核204a异构,在本实施例中,所述主核201为通用处理器核,其指令集为完整指令集,包括相关的控制指令、运算指令等,选自ARM、MIPS、X86或PowerPC处理器核中的一种,因此具有较高的易用性。在一具体实施例中,所述主核201用于运行操作***,对整个多核处理器的片上资源进行统一调度和管理,将图形处理、数字信号处理等复杂的计算任务分配至所述从核阵列204中的一个或多个从核204a。所述从核阵列204中的从核204a的微结构和指令集经过精简优化,在一优选的实施例中仅包括运算指令及从核间的通信和同步指令,但其结构是针对运算指令进行过专门优化的,使其数据通路(datapath)可以较高效的执行图形处理或数字信号处理(DSP,Digital Signal Process)等计算密集型运算任务,而常见的通用处理器执行该类复杂运算任务的效率较低,因此主核201将相应的运算任务分配至从核204a,提高了所述运算任务的执行效率,进而提高了整个多核处理器的性能。另外,由于所述从核204a的指令集较为简单,不包括复杂的控制指令,因此其结构也相应的比较简单,减小了硬件开销,在占用的芯片面积相同的情况下能够提供更强大的计算能力,提高了整个多核处理器的计算密度,实现了易用性和高性能的均衡。
另外,所述从核204a中还包括核内存储器(图中未示出),该核内存储器为集成在芯片内的片内存储器,如SRAM,用于存储指令和/或数据,其存储空间较小,可以为数K至数十K,一方面可以将从核204a正在执行的指令或者待处理的数据进行暂存,避免了各个从核204a频繁访问主存205,导致所述第一互连结构202的冲突以及主存205的存储接口的瓶颈问题;另一方面,由于所述核内存储器的容量较小,因此其面积较小,对芯片面积的影响并不大。
所述从核互连结构203为总线结构(bus)、格栅网络(mesh)或交叉开关(corssbar),所述第一互连结构202为总线结构,相应的,所述第一互连结构202和从核互连结构203包括各自的控制器(图中未示出),用于对第一互连结构202和从核互连结构203各自的占用、释放等进行裁决。
图3示出了所述从核阵列的一种互连方式,在该方案中,各个从核204a之间采用格栅网络204b互连,实现两两的数据交互,其中,格栅网络204b的每一个连接节点中包括一从核204a和一交换开关(switch)204c。
在一具体实施例中,主核201在运行程序的过程中,需要处理某一计算任务,如图形处理或数字信号处理等,所述主核201将该任务分配至某一从核204a,具体分配过程可以为所述主核201将所述计算任务相关的指令和/或数据地址发送至所述某一从核204a,该从核204a根据所述地址,通过所述从核互连结构203和第一互连结构202访问主存205,获取相应的指令和数据并完成具体的运算处理过程;或者所述主核201通过所述第一互连结构202和从核互连结构203建立与所述某一从核204a的通信通路,将相应的指令和/或数据发送至所述某一从核204a,由其完成具体的运算处理过程。
此外,由于所述从核204a包括核内存储器,且可以通过所述从核互连结构203实现同一从核阵列内的核内存储器的共享,因此,当某一从核204a需要读取一数据段时,若其中另一从核204a中存储有相应的数据段,则两从核之间可通过所述从核互连结构203建立共享访问连接,在从核阵列内实现数据的内部获取,进一步避免了各个从核204a频繁访问主存205导致的第一互连结构202的冲突,有效提高了数据交换和获取的效率。
所述从核204a在完成所述计算任务后,向主核201发送主从通信信号,并将所述计算任务的运算结果保存在所述主核201与从核204a共享的存储空间中,如主存205或核内存储器。在一实施例中,所述主从通信信号可以为中断信号,当从核204a完成所述计算任务后,向所述主核201发送一中断信号,使得主核201获知从核204a已经完成所述计算任务,并通过所述第一互连结构202和从核互连结构203由从核204a的核内存储器或是通过所述第一互连结构202从主存205中获取相应的运行结果,之后继续执行后续的进程。需要说明的是,在所述从核204a运行所述计算任务的过程中,所述主核201可以继续执行后续的其他进程,直至被所述中断信号中断,由于所述主核201和从核204a为并行运行,提高了整个多核处理器的处理能力。
此外,根据实施例的不同,所述从核204a向主核201发送主从通信信号还包括:在所述主核201与从核204a共享的存储空间(主存205或从核204a的核内存储器)中写入标志信号。如在所述主存205或是从核204a的核内存储器的某一预定地址写入标志信号,表明所述运算任务已经完成,当所述主核201检测到该标志信号后,获知所述运算任务已经完成,并通过所述第一互连结构202和从核互连结构203由从核204a的核内存储器或是通过所述第一互连结构202从所述主存205中获取相应的运行结果,之后执行后续的进程。需要说明的是,采用此种方式,在所述从核204a执行所述运算任务的过程中,所述主核201为保持状态,即反复检测所述主存205或核内存储器中是否写有该标志信号,因此主核201此时并没有执行其他进程。
本实施例中所述的多核处理器还具有另一种工作模式,仍然参考图2,所述从核阵列204中的某一从核204a用于向所述主核201发送主从通信信号,请求所述主核进行代理服务;所述主核201在处理完所述代理服务后,将所述代理服务的完成标志和结果保存在所述主核201与从核204a共享的存储空间中,如保存在主存205或从核204a的核内存储器中。在一具体实施例中,可以由某一从核204a执行主函数,在执行过程中,若需要执行访问I/O等操作,由于所述从核204a为精简结构,不能完成该操作,因此向所述主核201发送主从通信信号,请求代理服务;所述主核201访问I/O后,将完成标志和访问获取的结果保存在所述主核201与从核204a共享的存储空间中。与前述工作模式类似,所述主从通信信号可以为中断信号,或是由所述从核204a在主核201与该从核204a共享的存储空间中写入标志信号,具体过程参见上文,这里不再赘述。
本实施例的多核处理器提供了两种工作模式,从核204a可以由主核201控制完成主核201分配的运算任务,也可以独立运行而请求主核201进行代理服务,提高了在实际应用中的灵活性。
此外,本实施例的多核处理器中的主核201、第一互连结构202、从核互连结构203和从核阵列204集成在同一芯片上,对计算任务进行共同的协调处理,因而对于外部电路而言,本实施例的多核处理器相当于一个性能得到了较大提升的处理器。所述主核201和从核阵列204中的各个从核204a异构,主核201为通用处理器核,从核204a为微结构和指令集经过精简优化的处理器核,从而兼顾了通用控制功能和单位面积的运算处理能力,提高了整个多核处理器的计算密度,实现了通用控制功能和高计算密度的均衡。
图4示出了本发明实施例的相互通信的两从核之间的连接结构示意图,如图4所示,从核301和从核302之间需要进行数据传输,其中,从核301为发送方,而从核302为接收方,每一从核内部都包括通信发送单元和通信接收缓冲单元,为了清楚的示出通信过程的数据传输,图4中从核301中仅示出了通信发送单元301b,所述通信发送单元301b用于将发送数据传输至所述从核互连结构303;从核302中仅示出了通信接收缓冲单元302b,所述通信接收缓冲单元302b用于经由所述从核互连结构303获取接收数据并进行缓存。
具体的,从核301向所述从核互连结构303发送通信请求,请求将数据发送至从核302,所述从核互连结构303经过仲裁,若无优先级更高的其他通信过程占用,则建立从核301至从核302的通信通路。所述从核301中的发送数据由通用寄存器文件(register file)301a传输至所述通信发送单元301b,并经由所述从核互连结构303传输至从核302的通信接收缓冲单元302b,所述通信接收缓冲单元302b获取所述发送数据后,将其作为接收数据进行缓存,直至所述从核302空闲时将该接收数据传输至从核302的通用寄存器文件302a,之后,从核302对所述接收数据进行进一步的处理。所述通信接收缓冲单元302b可以为一先入先出寄存器(FIFO,First In First Out),对接收到的接收数据进行缓存,并将先接收到的数据先发送至所述通用寄存器文件302a。
图5示出了本发明实施例的实现同步的多个从核之间的连接结构示意图,为了清楚的示出同步过程,图5中仅示出了需参与同步的各个从核(即从核401a至从核401n)及同步单元402,略去了主核、第一互连结构以及从核互连结构。所述同步单元402用于接收所述各个从核产生的同步请求信号,所述同步请求信号包括需参与同步的从核信息,本实施例中,所述需参与同步的从核信息为从核401a至从核401n,在具体应用中,可以为相应的各从核的地址或者编号;所述同步单元402在接收到全部需参与同步的从核发出的同步请求后,产生同步完成信号并发送至所述需参与同步的从核,本实施例中,所述同步单元402接收到从核401a发出的同步请求信号,其中包括了需参与同步的从核信息,即从核401a至从核401n,则所述同步单元402获知当前需参与同步的从核包括从核401a至从核401n,因此,当接收到所述待同步从核即从核401a至从核401n发送的同步请求信号后,向从核401a至从核401n发送同步完成信号。
在一具体实施例中,主核将一运算任务分配至所述从核401a至401n共同执行,由于运算过程中的数据依赖性等问题,需要对各个从核进行同步,以使得各从核处于一个可以预知的状态,并在此基础上完成数据的同步、交互从而继续进行后续的运算。因此,若某一从核在执行到一同步指令后,发出同步请求信号后,该从核进入待机保持状态,不再继续运行后续的程序,直至各个需参与同步的从核都执行到程序中的同步指令并发出同步请求信号,相应的,所述同步单元402发出同步完成信号,当各个从核接收到所述同步完成信号后,同步跳出待机保持状态并继续执行后续的程序。
另外,本实施例的多核处理器还包括数据流引擎(图中未示出),所述数据流引擎由所述主核201或从核204a触发,控制至少一个从核204a与主存之间进行批量的数据传输。在一具体实施例中,所述数据流引擎挂接在所述第一互连结构202和从核互连结构203上,用于控制主存205与从核阵列204之间的数据传输,如受所述主核201或某一从核204a触发,将主存205中的某一数据段同时读入,并依次存储于多个从核204a的核内存储器中,即相当于将多个从核204a的核内存储器拼接在一起共同存储读取自主存205中的数据段。由于任意两从核204a之间可以通过所述从核互连结构203进行通信,因此,若某一从核204a需要读取数据时,可以优先在整个从核阵列204中搜索相应的数据,而不是直接访问主存205a,因此进一步避免了主存205的接口瓶颈问题。
图6示出了本发明实施例的指令预取单元与多个从核间的连接结构示意图,图6中仅示出了当前需要进行指令预取的多个从核501a至501n、指令预取单元502以及主存503,略去了主核、第一互连结构以及从核互连结构,需要说明的是,所述指令预取单元502并不是直接连接于主存503上的,而是通过所述第一互连结构来访问主存503的。
本实施例中,所述指令预取单元502用于接收所述从核501a至从核501n的预取请求并进行合并,获取与所述合并后的预取请求对应的指令并根据所述预取请求提供给各从核。具体的,所述指令预取单元502包括取指控制单元502a和指令缓存502b,其中,所述取值控制单元用于接收所述从核501a至从核501n的预取请求并进行合并,例如,从核501a的预取请求中包括预取指令段1至指令段5,从核501b的预取指令中包括预取指令段3至指令段7,则合并后的预取请求中包括预取指令段1至指令段7,之后,在所述指令缓存502b中搜索与所述合并后的预取请求对应的指令(即指令段1至指令段7),如果所述指令缓存502b中并不包括相关的指令,则所述取指控制单元502a控制所述指令缓存502b从主存503中获取与所述合并后的预取指令对应的指令(即指令段1至指令段7),之后所述指令缓存502b将各指令发送至对应的从核,即向从核501a提供指令段1至指令段5,向从核501b提供指令段3至指令段7。
图7示出了本发明实施例的多核处理器组的一种连接结构示意图,包括多个上述实施例中所述的多核处理器601以及第二互连结构602,所述第二互连结构602用于各多核处理器601之间的通信,可以为总线结构或交叉开关。在一具体通信过程中,可以为其中某一多核处理器601中的某一主核经由其中的第一互连结构发出通信请求,或某一从核经由第一互连结构与从核互连结构发出通信请求,请求与另一多核处理器601中的某一主核或从核进行通信,所述第二互连结构602获取该通信请求,进行仲裁后,建立二者之间的通信通路,并且对所述另一多核处理器601中的第一互连结构或第一互连结构与从核互连结构进行相应的配置,使得所述某一多核处理器601中的某一主核或从核与另一多核处理器601中的某一主核或从核之间建立通信通路,实现通信过程。由于该多核处理器组中集成了多个多核处理器,且位于同一芯片中,进一步提高了计算密度和运算处理能力。
图8示出了本实施例的多核处理器组的另一种连接结构示意图,包括多个上述实施例中的多核处理器601以及第二互连结构602’,所述第二互连结构602’为环网(ring)。
综上,本技术方案的多核处理器采用两级互连结构,其中第一互连结构用于主核与从核阵列间的通信,而从核互连结构用于所述从核阵列中任意两从核间的通信,减少了多个处理器核共用同一总线造成的通信冲突,提高了通信效率。
另外,所述从核阵列中的各个从核包括各自独立的核内存储器,用于对指令和/或数据进行暂存,避免了多个从核频繁访问主存,改善了主存接口的瓶颈问题。
进一步的,本技术方案中的从核具有两种运行方式,可以受主核控制以处理主核分配的运算任务,也可以独立运行由主核提供代理服务,具有较大的应用灵活性。
进一步的,本技术方案中的主核为通用处理器核,具有较好的适用性和兼容性,从核具有精简结构和优化指令集,能够在有限的面积提供超高的计算性能,使得整个多核处理器取得了易用性和高性能的均衡。
进一步的,本技术方案中的从核包括通信发送单元和通信接收缓冲单元,用于任意两从核间的通信,进一步提高了从核间的通信效率。
更进一步的,本技术方案中的多核处理器包括同步单元,用于多个从核间的同步,提高了同步速率。
进一步的,本技术方案的多核处理器包括数据流引擎,控制至少一个从核与主存之间进行批量的数据传输,提高了数据读写的效率。
进一步的,本技术方案中的多核处理器包括指令预取单元,将多个从核的预取请求合并后再进行指令预取操作,以便于向需求相同指令的从核同时装载指令,提高了指令预取的效率。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (23)
1.一种多核处理器,其特征在于,包括至少一个主核、至少一个从核阵列、第一互连结构和从核互连结构,所述从核阵列包括多个从核,所述从核与主核异构,其中,
所述第一互连结构和从核互连结构用于所述主核与所述从核阵列间的通信,所述从核互连结构还用于所述从核阵列中任意两从核间的通信。
2.如权利要求1所述的多核处理器,其特征在于,所述主核与所述从核阵列间的通信包括:所述主核用于将计算任务分配给所述从核阵列中的至少一个从核;所述从核用于在完成所述计算任务后,向所述主核发送主从通信信号,并将所述计算任务的运算结果保存在所述主核与从核共享的存储空间中。
3.如权利要求1所述的多核处理器,其特征在于,所述主核与所述从核阵列间的通信包括:所述从核用于向所述主核发送主从通信信号,请求所述主核进行代理服务;所述主核用于在处理完所述代理服务后,将所述代理服务的完成标志和结果保存在所述主核与从核共享的存储空间中。
4.如权利要求2或3所述的多核处理器,其特征在于,所述从核向所述主核发送的主从通信信号为中断信号。
5.如权利要求2或3所述的多核处理器,其特征在于,所述从核向所述主核发送的主从通信信号为所述从核向所述主核与从核共享的存储空间写入标志信号。
6.如权利要求2或3所述的多核处理器,其特征在于,所述从核包括核内存储器,所述主核与从核共享的存储空间包括主存和/或从核的核内存储器。
7.如权利要求1所述的多核处理器,其特征在于,所述第一互连结构还用于所述主核对主存的数据访问。
8.如权利要求1所述的多核处理器,其特征在于,所述第一互连结构和从核互连结构还用于所述从核阵列对主存的数据访问。
9.如权利要求1所述的多核处理器,其特征在于,所述从核包括核内存储器,所述核内存储器用于存储指令和/或数据。
10.如权利要求9所述的多核处理器,其特征在于,所述从核互连结构还用于所述从核阵列中多个从核的核内存储器间的数据访问。
11.如权利要求1所述的多核处理器,其特征在于,所述从核具有精简结构和优化指令集。
12.如权利要求1所述的多核处理器,其特征在于,所述从核互连结构为总线结构、格栅网络或交叉开关。
13.如权利要求1所述的多核处理器,其特征在于,所述从核还包括通信发送单元和通信接收缓冲单元,所述通信发送单元用于将发送数据传输至所述从核互连结构,所述通信接收缓冲单元用于经由所述从核互连结构获取接收数据并进行缓存。
14.如权利要求1所述的多核处理器,其特征在于,还包括同步单元,用于接收所述从核产生的同步请求信号,所述同步请求信号包括需参与同步的从核信息,所述同步单元在接收到全部需参与同步的从核发出的同步请求信号后产生同步完成信号,并发送至所述需参与同步的从核。
15.如权利要求1所述的多核处理器,其特征在于,所述从核包括核内存储器,所述多核处理器还包括数据流引擎,所述数据流引擎由所述主核或从核触发,控制至少一个从核与主存之间进行批量数据传输。
16.如权利要求1所述的多核处理器,其特征在于,还包括指令预取单元,用于接收所述从核的预取请求并进行合并,获取与所述合并后的预取请求对应的指令并根据所述预取请求提供给各从核。
17.如权利要求16所述的多核处理器,其特征在于,所述指令预取单元包括取指控制单元和指令缓存,所述取指控制单元用于接收所述从核的预取请求并进行合并,在所述指令缓存中搜索与所述合并后的预取请求对应的指令或控制所述指令缓存从主存中获取与所述合并后的预取请求对应的指令,所述指令缓存用于存储指令并向所述从核提供与其发出的预取请求对应的指令。
18.如权利要求1所述的多核处理器,其特征在于,所述主核为通用处理器核。
19.如权利要求1所述的多核处理器,其特征在于,所述第一互连结构为总线结构。
20.如权利要求1所述的多核处理器,其特征在于,所述多核处理器集成于同一芯片上。
21.一种多核处理器组,其特征在于,包括:
多个如权利要求1至20中任一项所述的多核处理器;
第二互连结构,用于所述多个多核处理器间的通信。
22.如权利要求21所述的多核处理器组,其特征在于,所述第二互连结构为总线结构、环网或交叉开关。
23.如权利要求21所述的多核处理器组,其特征在于,所述多核处理器组集成于同一芯片上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010508842 CN102446158B (zh) | 2010-10-12 | 2010-10-12 | 多核处理器及多核处理器组 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010508842 CN102446158B (zh) | 2010-10-12 | 2010-10-12 | 多核处理器及多核处理器组 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102446158A true CN102446158A (zh) | 2012-05-09 |
CN102446158B CN102446158B (zh) | 2013-09-18 |
Family
ID=46008662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010508842 Active CN102446158B (zh) | 2010-10-12 | 2010-10-12 | 多核处理器及多核处理器组 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102446158B (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929834A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 众核处理器及其核间通信的方法、主核和从核 |
CN103440225A (zh) * | 2013-08-21 | 2013-12-11 | 复旦大学 | 一种可重构单指令多进程的多核处理器及方法 |
CN103902498A (zh) * | 2013-12-18 | 2014-07-02 | 曲阜师范大学 | 一种面向异构计算的软件定义服务器***及方法 |
CN103995796A (zh) * | 2014-05-29 | 2014-08-20 | 河南中医学院 | 交响乐团式多核cpu多内存计算机*** |
CN104283939A (zh) * | 2013-07-10 | 2015-01-14 | 布洛凯通讯***公司 | 灵活的流卸载 |
CN104331388A (zh) * | 2013-08-28 | 2015-02-04 | 威盛电子股份有限公司 | 微处理器及在微处理器的处理核间同步的方法 |
CN104461716A (zh) * | 2014-12-29 | 2015-03-25 | 迈普通信技术股份有限公司 | 一种多核异构***的访问方法及多核异构*** |
CN105468448A (zh) * | 2015-11-24 | 2016-04-06 | 无锡江南计算技术研究所 | 一种面向异构众核环境的从核***调用实现方法 |
CN105793832A (zh) * | 2014-09-18 | 2016-07-20 | 上海兆芯集成电路有限公司 | 快取管理请求合并 |
CN106708779A (zh) * | 2017-01-22 | 2017-05-24 | 济南浪潮高新科技投资发展有限公司 | 一种服务器及其处理数据的方法 |
CN107025189A (zh) * | 2016-01-29 | 2017-08-08 | 佛山市顺德区顺达电脑厂有限公司 | 机箱的控制*** |
CN107341053A (zh) * | 2017-06-01 | 2017-11-10 | 深圳大学 | 异构多核可编程***及其内存配置和计算单元的编程方法 |
CN108170632A (zh) * | 2018-01-12 | 2018-06-15 | 江苏微锐超算科技有限公司 | 一种处理器架构及处理器 |
CN109117417A (zh) * | 2018-09-29 | 2019-01-01 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN109117333A (zh) * | 2018-09-29 | 2019-01-01 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN109376117A (zh) * | 2018-09-29 | 2019-02-22 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN111427817A (zh) * | 2020-03-23 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种amp***双核共用i2c接口的方法、存储介质及智能终端 |
CN111459647A (zh) * | 2020-06-17 | 2020-07-28 | 北京机电工程研究所 | 基于嵌入式操作***的dsp多核处理器并行运算方法及装置 |
CN111767020A (zh) * | 2020-05-18 | 2020-10-13 | 深圳市东微智能科技股份有限公司 | 优化音频处理方法、装置、终端及可读存储介质 |
CN112035578A (zh) * | 2020-11-06 | 2020-12-04 | 北京谷数科技股份有限公司 | 基于众核处理器的数据并行处理方法及装置 |
CN112068955A (zh) * | 2020-08-21 | 2020-12-11 | 北京科技大学 | 一种异构多核平台处理器内的通信优化方法及电子设备 |
CN112328536A (zh) * | 2020-09-30 | 2021-02-05 | 北京清微智能科技有限公司 | 一种多核处理器阵列的核间结构和多核处理器 |
CN112445696A (zh) * | 2019-09-02 | 2021-03-05 | 无锡江南计算技术研究所 | 面向异构众核Dcache纵向一致性的调试方法 |
CN112667420A (zh) * | 2021-01-18 | 2021-04-16 | 科东(广州)软件科技有限公司 | 实现异构***内部通信的方法、装置、设备及存储介质 |
CN112988241A (zh) * | 2021-05-18 | 2021-06-18 | 中国人民解放军海军工程大学 | 一种异构多核处理器及其数据流处理方法 |
CN113568718A (zh) * | 2020-04-29 | 2021-10-29 | 北京希姆计算科技有限公司 | 任务分配方法、装置、电子设备及计算机可读存储介质 |
WO2024001137A1 (zh) * | 2022-06-29 | 2024-01-04 | Oppo广东移动通信有限公司 | 一种多核处理***及其任务调度方法、芯片、存储介质 |
CN117472448B (zh) * | 2023-12-28 | 2024-03-26 | 山东省计算中心(国家超级计算济南中心) | 一种申威众核处理器从核簇加速并行方法、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117743A1 (en) * | 2002-12-12 | 2004-06-17 | Judy Gehman | Heterogeneous multi-processor reference design |
CN101299199A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 基于可配置处理器及指令集扩展的异构多核*** |
-
2010
- 2010-10-12 CN CN 201010508842 patent/CN102446158B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117743A1 (en) * | 2002-12-12 | 2004-06-17 | Judy Gehman | Heterogeneous multi-processor reference design |
CN101299199A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 基于可配置处理器及指令集扩展的异构多核*** |
Non-Patent Citations (3)
Title |
---|
冯国富 等: "面向Cell 宽带引擎架构的异构多核访存技术", 《西安交通大学学报》, vol. 43, no. 2, 28 February 2009 (2009-02-28), pages 1 - 5 * |
谢向辉,胡苏太,李宏亮: "多核处理器及其对***结构设计的影响", 《计算机科学与探索》, no. 6, 30 June 2008 (2008-06-30), pages 641 - 647 * |
赖明澈 王志英 戴葵: "基于路由器解析式模型的NoC网络性能分析方法", 《计算机辅助设计与图形学学报》, vol. 21, no. 3, 31 March 2009 (2009-03-31), pages 339 - 345 * |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929834B (zh) * | 2012-11-06 | 2015-10-07 | 无锡江南计算技术研究所 | 众核处理器及其核间通信的方法、主核和从核 |
CN102929834A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 众核处理器及其核间通信的方法、主核和从核 |
CN104283939A (zh) * | 2013-07-10 | 2015-01-14 | 布洛凯通讯***公司 | 灵活的流卸载 |
CN104283939B (zh) * | 2013-07-10 | 2018-05-22 | 博科通讯***有限公司 | 用于灵活流卸载的装置、方法及非暂时性计算机可读媒体 |
CN103440225A (zh) * | 2013-08-21 | 2013-12-11 | 复旦大学 | 一种可重构单指令多进程的多核处理器及方法 |
CN103440225B (zh) * | 2013-08-21 | 2018-04-03 | 复旦大学 | 一种可重构单指令多进程的多核处理器及方法 |
CN104331388B (zh) * | 2013-08-28 | 2018-09-11 | 威盛电子股份有限公司 | 微处理器及在微处理器的处理核间同步的方法 |
CN104331388A (zh) * | 2013-08-28 | 2015-02-04 | 威盛电子股份有限公司 | 微处理器及在微处理器的处理核间同步的方法 |
CN103902498A (zh) * | 2013-12-18 | 2014-07-02 | 曲阜师范大学 | 一种面向异构计算的软件定义服务器***及方法 |
CN103902498B (zh) * | 2013-12-18 | 2016-12-07 | 曲阜师范大学 | 一种面向异构计算的软件定义服务器***及方法 |
CN103995796A (zh) * | 2014-05-29 | 2014-08-20 | 河南中医学院 | 交响乐团式多核cpu多内存计算机*** |
CN105793832A (zh) * | 2014-09-18 | 2016-07-20 | 上海兆芯集成电路有限公司 | 快取管理请求合并 |
CN105793832B (zh) * | 2014-09-18 | 2018-12-18 | 上海兆芯集成电路有限公司 | 处理器及其操作方法、以及计算机可读存储介质 |
CN104461716A (zh) * | 2014-12-29 | 2015-03-25 | 迈普通信技术股份有限公司 | 一种多核异构***的访问方法及多核异构*** |
CN105468448B (zh) * | 2015-11-24 | 2019-01-01 | 无锡江南计算技术研究所 | 一种面向异构众核环境的从核***调用实现方法 |
CN105468448A (zh) * | 2015-11-24 | 2016-04-06 | 无锡江南计算技术研究所 | 一种面向异构众核环境的从核***调用实现方法 |
CN107025189A (zh) * | 2016-01-29 | 2017-08-08 | 佛山市顺德区顺达电脑厂有限公司 | 机箱的控制*** |
CN107025189B (zh) * | 2016-01-29 | 2020-02-28 | 佛山市顺德区顺达电脑厂有限公司 | 机箱的控制*** |
CN106708779A (zh) * | 2017-01-22 | 2017-05-24 | 济南浪潮高新科技投资发展有限公司 | 一种服务器及其处理数据的方法 |
CN107341053A (zh) * | 2017-06-01 | 2017-11-10 | 深圳大学 | 异构多核可编程***及其内存配置和计算单元的编程方法 |
CN107341053B (zh) * | 2017-06-01 | 2020-12-15 | 深圳大学 | 异构多核可编程***及其内存配置和计算单元的编程方法 |
CN108170632A (zh) * | 2018-01-12 | 2018-06-15 | 江苏微锐超算科技有限公司 | 一种处理器架构及处理器 |
CN109376117A (zh) * | 2018-09-29 | 2019-02-22 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN109117333A (zh) * | 2018-09-29 | 2019-01-01 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN109117417A (zh) * | 2018-09-29 | 2019-01-01 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN109117417B (zh) * | 2018-09-29 | 2023-02-17 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN112445696A (zh) * | 2019-09-02 | 2021-03-05 | 无锡江南计算技术研究所 | 面向异构众核Dcache纵向一致性的调试方法 |
CN111427817A (zh) * | 2020-03-23 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种amp***双核共用i2c接口的方法、存储介质及智能终端 |
CN113568718A (zh) * | 2020-04-29 | 2021-10-29 | 北京希姆计算科技有限公司 | 任务分配方法、装置、电子设备及计算机可读存储介质 |
EP4145283A4 (en) * | 2020-04-29 | 2023-09-06 | Stream Computing Inc | TASK ASSIGNMENT METHOD AND APPARATUS, ELECTRONIC APPARATUS AND COMPUTER READABLE STORAGE MEDIUM |
CN111767020A (zh) * | 2020-05-18 | 2020-10-13 | 深圳市东微智能科技股份有限公司 | 优化音频处理方法、装置、终端及可读存储介质 |
CN111767020B (zh) * | 2020-05-18 | 2024-05-17 | 深圳市东微智能科技股份有限公司 | 优化音频处理方法、装置、终端及可读存储介质 |
CN111459647A (zh) * | 2020-06-17 | 2020-07-28 | 北京机电工程研究所 | 基于嵌入式操作***的dsp多核处理器并行运算方法及装置 |
CN112068955B (zh) * | 2020-08-21 | 2023-10-27 | 北京科技大学 | 一种异构多核平台处理器内的通信优化方法及电子设备 |
CN112068955A (zh) * | 2020-08-21 | 2020-12-11 | 北京科技大学 | 一种异构多核平台处理器内的通信优化方法及电子设备 |
CN112328536A (zh) * | 2020-09-30 | 2021-02-05 | 北京清微智能科技有限公司 | 一种多核处理器阵列的核间结构和多核处理器 |
CN112328536B (zh) * | 2020-09-30 | 2024-04-19 | 北京清微智能科技有限公司 | 一种多核处理器阵列的核间结构和多核处理器 |
CN112035578A (zh) * | 2020-11-06 | 2020-12-04 | 北京谷数科技股份有限公司 | 基于众核处理器的数据并行处理方法及装置 |
CN112667420B (zh) * | 2021-01-18 | 2022-03-25 | 科东(广州)软件科技有限公司 | 实现异构***内部通信的方法、装置、设备及存储介质 |
CN112667420A (zh) * | 2021-01-18 | 2021-04-16 | 科东(广州)软件科技有限公司 | 实现异构***内部通信的方法、装置、设备及存储介质 |
CN112988241A (zh) * | 2021-05-18 | 2021-06-18 | 中国人民解放军海军工程大学 | 一种异构多核处理器及其数据流处理方法 |
WO2024001137A1 (zh) * | 2022-06-29 | 2024-01-04 | Oppo广东移动通信有限公司 | 一种多核处理***及其任务调度方法、芯片、存储介质 |
CN117472448B (zh) * | 2023-12-28 | 2024-03-26 | 山东省计算中心(国家超级计算济南中心) | 一种申威众核处理器从核簇加速并行方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102446158B (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102446158B (zh) | 多核处理器及多核处理器组 | |
Mamidala et al. | MPI collectives on modern multicore clusters: Performance optimizations and communication characteristics | |
US7313641B2 (en) | Inter-processor communication system for communication between processors | |
US7802025B2 (en) | DMA engine for repeating communication patterns | |
CN102521201A (zh) | 多核数字信号处理器片上***及数据传输方法 | |
CN110347635A (zh) | 一种基于多层总线的异构多核微处理器 | |
EP1412871B1 (en) | Method and apparatus for transmitting packets within a symmetric multiprocessor system | |
CN102446159B (zh) | 多核处理器的数据管理方法及装置 | |
CN101477512B (zh) | 一种处理器***及其访存方法 | |
CN101833441A (zh) | 并行向量处理引擎结构 | |
CN102135950A (zh) | 基于星型互联架构的片上异构多核***及其通信方法 | |
EP1535169B1 (en) | Improved inter-processor communication system for communication between processors | |
CN112035388B (zh) | 一种基于PCI-e通道的高性能加解密方法 | |
CN209149287U (zh) | 大数据运算加速*** | |
CN100405333C (zh) | 用于处理多处理器***中的存储器访问的方法和装置 | |
CN209560543U (zh) | 大数据运算芯片 | |
JPH10171712A (ja) | プロセッサ・バスによるi/oトラフィック伝送 | |
CN101593158A (zh) | 控制高速缓冲存储器的方法和装置 | |
JPH09506731A (ja) | マルチプロセッサ・システム用バス構造 | |
US7254667B2 (en) | Data transfer between an external data source and a memory associated with a data processor | |
CN102033808B (zh) | Dsp中的数据存储方法和存储控制装置 | |
KR100921504B1 (ko) | 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법 | |
KR100978083B1 (ko) | 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 | |
CN101710310A (zh) | 一种amba接口电路 | |
JP2005285042A (ja) | データ一括転送方法および装置 |
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 |