CN102446159B - 多核处理器的数据管理方法及装置 - Google Patents
多核处理器的数据管理方法及装置 Download PDFInfo
- Publication number
- CN102446159B CN102446159B CN 201010508870 CN201010508870A CN102446159B CN 102446159 B CN102446159 B CN 102446159B CN 201010508870 CN201010508870 CN 201010508870 CN 201010508870 A CN201010508870 A CN 201010508870A CN 102446159 B CN102446159 B CN 102446159B
- Authority
- CN
- China
- Prior art keywords
- processor core
- internal storage
- data
- processor
- nuclear
- 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.)
- Active
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的访问。上述异构多核处理器包括多个不同的扩展核构成异构,分别包括不同的扩展指令,根据应用程序的特点,将程序中的不同部分分配到相应的扩展核上,提高了执行效率。但是,该技术方案中的每个扩展核对所述内存105的读写过程是相互独立的,若在一运算处理过程中,多个扩展核都需要频繁的对所述内存105进行读写,则所述片上总线100会产生大量的总线冲突,使得数据的读写效率较低。
发明内容
本发明的目的是提供一种多核处理器的数据管理方法及装置,提高数据的读写效率。
为解决上述问题,本发明提供了一种多核处理器的数据管理方法,所述多核处理器包括处理器核心阵列和处理器核心互连结构,所述处理器核心阵列包括多个处理器核心,所述处理器核心包括具有多个存储单元的核内存储器,所述处理器核心互连结构用于所述处理器核心阵列中任意两处理器核心间的通信,所述多核处理器的数据管理方法包括:
对所述处理器核心的核内存储器的存储单元分配存储地址;
根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输。
可选的,还包括:根据所述存储单元的存储地址在多个处理器核心的核内存储器之间进行数据传输。
可选的,所述对所述处理器核心的核内存储器的存储单元分配存储地址包括:将所述多个处理器核心排序,对所述排序的处理器核心的核内存储器的存储单元进行连续编址,其中,同一处理器核心的核内存储器中存储单元的存储地址相连续,后一处理器核心的核内存储器中第一个存储单元的存储地址与前一处理器核心的核内存储器中最后一个存储单元的存储地址相连续。
可选的,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于预定处理器核心的核内存储器的连续多个存储单元中。
可选的,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从预定处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
可选的,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存中获取多个数据单元,将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中。
可选的,所述将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每个处理器核心的核内存储器的连续多个存储单元中。
可选的,所述将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于指定处理器核心以外的其他处理器核心的核内存储器的连续多个存储单元中。
可选的,所述对所述处理器核心的核内存储器的存储单元分配存储地址包括:对所述处理器核心阵列的处理器核心的核内存储器的存储单元进行行编址,其中,同一行相邻列的处理器核心的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的处理器核心的核内存储器中第一个存储单元的存储地址与前一行最后一列的处理器核心的核内存储器中最后一个存储单元的存储地址相连续。
可选的,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于预定行的处理器核心的核内存储器的连续多个存储单元中。
可选的,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从预定行的处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
可选的,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元广播存储于多行处理器核心的核内存储器的连续多个存储单元中。
可选的,所述将所述多个数据单元广播存储于多行处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每一行处理器核心的核内存储器的连续多个存储单元中。
可选的,所述将所述多个数据单元广播存储于多行的处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于指定行以外的其他行处理器核心的核内存储器的连续多个存储单元中。
可选的,所述对所述处理器核心的核内存储器的存储单元分配存储地址包括:对所述处理器核心阵列的处理器核心的核内存储器的存储单元进行阵列编址,其中,同一行相邻列的处理器核心的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的处理器核心的核内存储器与前一行最后一列的处理器核心的核内存储器中同一个存储单元的存储地址相连续。
可选的,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于所述处理器核心阵列的处理器核心的核内存储器的连续多个存储单元中。
可选的,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述多个处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
可选的,所述主存中的多个主存单元的地址相连续或地址间具有固定间隔。
为解决上述问题,本发明提供了一种多核处理器的数据管理装置,所述多核处理器包括处理器核心阵列和处理器核心互连结构,所述处理器核心阵列包括多个处理器核心,所述处理器核心包括具有多个存储单元的核内存储器,所述处理器核心互连结构用于所述处理器核心阵列中任意两处理器核心间的通信,所述多核处理器的数据管理装置包括:
模式解析器,接收所述处理器核心的数据传输命令,对所述数据传输命令中的编址方式进行解析,将所述数据传输命令转换为多个主存访问请求和核内存储器访问请求,所述编址方式是指对所述处理器核心的核内存储器的存储单元分配存储地址的方式;
请求处理引擎,根据所述主存访问请求和核内存储器访问请求在至少一个处理器核心的核内存储器和主存之间进行数据传输。
可选的,所述请求处理引擎包括响应处理引擎,接收所述主存访问请求,从所述主存中获取读取数据并生成多个核内存储器写请求,将所述读取数据写入核内存储器。
可选的,所述数据管理装置还包括分布于每一处理器核心中的多个核间共享单元,用于接收所述处理器核心的数据传输命令,根据所述数据传输命令中的编址方式在多个处理器核心的核内存储器之间进行数据传输。
可选的,所述核间共享单元包括地址解析模块、核心路由处理模块、上网发送模块和下网组包模块,其中,
所述地址解析模块,接收本地处理器核心的核内存储请求,提取所述核内存储请求中的编址方式和访问地址,并根据所述编址方式确定所述访问地址是否归属所述本地处理器核心的核内存储器,若是,则访问所述本地处理器核心的核内存储器,否则将所述核内存储请求发送至核心路由处理模块;
所述核心路由处理模块,接收所述地址解析模块发送的核内存储请求,根据所述核内存储请求中的编址方式和访问地址确定到达目标处理器核心的发送路径,将所述核内存储请求和发送路径发送至所述上网发送模块;
所述上网发送模块,将所述核内存储请求中的数据分拆为多个数据包,并根据所述发送路径将所述多个数据包发送至所述处理器核心互连结构;
所述下网组包模块,通过所述处理器核心互连结构接收到达本地处理器核心的数据包,对所述数据包进行组包后访问本地处理器核心的核内存储器。
可选的,所述数据传输命令中的编址方式为连续编址,所述模式解析器包括连续编址传输管理模块,将所述多个处理器核心排序,对所述排序的处理器核心的核内存储器的存储单元进行连续编址,其中,同一处理器核心的核内存储器中存储单元的存储地址相连续,后一处理器核心的核内存储器中第一个存储单元的存储地址与前一处理器核心的核内存储器中最后一个存储单元的存储地址相连续。
可选的,所述数据传输命令为单处理器核心读取命令,所述请求处理引擎从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于预定处理器核心的核内存储器的连续多个存储单元中。
可选的,所述数据传输命令为单处理器核心写入命令,所述请求处理引擎从预定处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
可选的,所述数据传输命令为广播读取命令,所述请求处理引擎从所述主存中获取多个数据单元,将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中。
可选的,所述将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每个处理器核心的核内存储器的连续多个存储单元中。
可选的,所述将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于指定处理器核心以外的其他处理器核心的核内存储器的连续多个存储单元中。
可选的,所述数据传输命令中的编址方式为行编址,所述模式解析器包括行编址传输管理模块,对所述处理器核心阵列的处理器核心的核内存储器的存储单元进行行编址,其中,同一行相邻列的处理器核心的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的处理器核心的核内存储器中第一个存储单元的存储地址与前一行最后一列的处理器核心的核内存储器中最后一个存储单元的存储地址相连续。
可选的,所述数据传输命令为行读取命令,所述请求处理引擎从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于预定行的处理器核心的核内存储器的连续多个存储单元中。
可选的,所述数据传输命令为行写入命令,所述请求处理引擎从预定行的处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
可选的,所述数据传输命令为行广播读取命令,所述请求处理引擎从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元广播存储于多行处理器核心的核内存储器的连续多个存储单元中。
可选的,所述将所述多个数据单元广播存储于多行处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每一行处理器核心的核内存储器的连续多个存储单元中。
可选的,所述将所述多个数据单元广播存储于多行的处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于指定行以外的其他行处理器核心的核内存储器的连续多个存储单元中。
可选的,所述数据传输命令中的编址方式为阵列编址,所述模式解析器包括阵列编址传输管理模块,对所述处理器核心阵列的处理器核心的核内存储器的存储单元进行阵列编址,其中,同一行相邻列的处理器核心的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的处理器核心的核内存储器与前一行最后一列的处理器核心的核内存储器中同一个存储单元的存储地址相连续。
可选的,所述数据传输命令为阵列读取命令,所述请求处理引擎从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于所述处理器核心阵列的处理器核心的核内存储器的连续多个存储单元中。
可选的,所述数据传输命令为阵列写入命令,所述请求处理引擎从所述多个处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
可选的,所述主存中的多个主存单元的地址相连续或地址间具有固定间隔。
与现有技术相比,本技术具有以下优点:
本技术方案的多核处理器的数据管理方法和装置中,将各个处理器核心中的核内存储器进行统一编址,在多个从核与主存之间同时进行数据的读或写,提高了数据的读写效率。
另外,本技术方案提供了多种编址方式和相应的数据传输方式,能够满足多种计算过程的应用需要。
附图说明
图1是现有技术的一种异构多核处理器的结构示意图;
图2是另一种异构多核处理器的结构示意图;
图3是本发明实施例多核处理器的数据管理方法的流程示意图;
图4是本发明实施例的多核处理器的数据管理装置的一种结构示意图;
图5是本发明实施例的多核处理器的数据管理装置中的核间共享单元的结构示意图;
图6是本发明实施例的多核处理器中的核内存储器的第一种编址方式示意图;
图7是基于图6所示编址方式的一种数据传输方法的示意图;
图8是本发明实施例的跨步读写过程的示意图;
图9是基于图6所示编址方式的另一种数据传输方法的示意图;
图10是本发明实施例的多核处理器中的核内存储器的第二种编址方式示意图;
图11是基于图10所示编址方式的一种数据传输方法的示意图;
图12是基于图10所示编址方式的另一种数据传输方法的示意图;
图13是本发明实施例的多核处理器中的核内存储器的第三种编址方式示意图;
图14是基于图13所示编址方式的一种数据传输方法的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图和实施例对本发明的具体实施方式做详细的说明。
图2示出了本实施例的一种异构多核处理器的结构示意图,如图2所示,包括:至少一个主核201、包括多个从核204a的处理器核心阵列204、第一互连结构202和处理器核心互连结构203,其中,所述第一互连结构202和处理器核心互连结构203用于所述主核201与所述处理器核心阵列204间的通信;所述处理器核心互连结构203用于所述从处理器核心阵列204中任意两从核204a间的通信。所述主核201一般为通用的处理器核心,所述从核204a为指令集和微结构经过精简优化的处理器核心。
所述第一互连结构202还用于所述主核201以及处理器核心阵列204与主存205之间的通信。所述主核201经由第一互连结构202对主存205进行读取和写入操作,而各从核204a则经由处理器核心互连结构203和第一互连结构202实现对主存205的读取和写入操作。所述主核201、第一互连结构202、处理器核心互连结构203以及处理器核心阵列204集成于同一芯片上,而所述主存205为片外存储器,即并未集成在所述多核处理器中,而是通过存储器接口与所述第一互连结构202连接,所述主存205可以是SDRAM等常用的存储器。
所述从核204a中还包括核内存储器(图中未示出),该核内存储器为集成在芯片内的片内存储器,如SRAM,用于存储指令和/或数据,其存储空间较小,可以为数K至数十K,用于对从核204a正在执行的指令或者待处理的数据进行暂存。
所述处理器核心互连结构203为总线结构(bus)、交叉开关(crossbar)或格栅网络(mesh),本实施例中具体为格栅网络,所述第一互连结构202为总线结构,相应的,所述第一互连结构202和处理器核心互连结构203包括各自的控制器(图中未示出),用于对第一互连结构202和处理器核心互连结构203各自的占用、释放等进行裁决。
本实施例的多核处理器的数据管理方法用于管理图2中所示多核处理器中的各个从核204a与主存205之间的数据交互,对各个从核204a中的核内存储器进行统一编址,之后根据编址方式实现多个从核204a与主存205之间的数据传输,减少了总线冲突,提高了数据读写效率。另外,由于本方法针对的多核处理器中,各个从核204a可以通过所述处理器核心互连结构203实现两两之间的通信,因此在数据读取过程中,可以将一较大的数据段一次性从主存205中读出,存储于多个从核204a中,使得处理器核心阵列204中的某一从核204a需要读取该数据段中的某部分数据时,可以直接通过所述处理器核心互连结构203从其他从核204a中获取数据,而不必直接访问所述主存205,避免了多个从核204a同时访问主存205导致的瓶颈问题。
需要说明的是,本实施例的多核处理器的数据管理方法不仅可以针对图2所示的多核处理器,还可以针对其他通过处理器核心互连结构实现任意两处理器核心间通信的多核处理器,如对于图2中所示的多核处理器结构,若其中不包括所述主核201和第一互连结构202,将所述主存205挂接在处理器核心互连结构203上来实现各从核204a与主存205的通信,则本实施例的多核处理器的数据管理方法仍然可以适用。
图3示出了本实施例的多核处理器的数据管理方法的流程示意图,包括:执行步骤S200,对所述处理器核心的核内存储器的存储单元分配存储地址;执行步骤S201,根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输。
图4示出了本实施例的多核处理器的数据管理装置的结构示意图。
本实施例的多核处理器的数据管理装置包括:模式解析器206,接收处理器核心(本实施例中具体为各个从核)的数据传输命令,对所述数据传输命令中的编址方式进行解析,将所述数据传输命令转换为多个主存访问请求和核内存储器访问请求,所述主存访问请求包括主存读请求和主存写请求,所述核内存储器访问请求包括核内存储器读请求和核内存储器写请求,所述编址方式是指对所述处理器核心的核内存储器的存储单元分配存储地址的方式;请求处理引擎207,根据所述主存访问请求和核内存储器访问请求在至少一个从核的核内存储器和主存之间进行数据传输。
在一具体实施例中,所述数据传输命令具体为从主存中读取预定的数据,并将所述数据传输至多个从核中,所述模式解析器206将所述数据传输命令转换为多个主存读请求和核内存储器写请求,请求处理引擎207根据所述多个主存读请求分别从主存中读取相应的数据,之后再根据所述多个核内存储器写请求将从主存中读取到的数据写入相应的从核的核内存储器中。从核写入主存的过程与读取主存的过程类似,这里就不再赘述。
在一优选的实施例中,所述模式解析器206中还包括连续编址传输管理模块206a、行编址传输管理模块206b、阵列编址传输管理模块206c,分别用于管理各个编址方式下的地址分配和数据传输,下文将进行详细描述。所述请求处理引擎207还包括响应处理引擎207a,用于在读取主存的过程中,接收所述模式解析器206产生的主存访问请求,访问主存,从主存中获取读取数据(即获取主存响应)并生成多个核内存储器写请求,将所述读取数据写入响应的从核的核内存储器中。本实施例中,所述请求处理引擎207挂接在处理器核心互连结构203上,通过处理器核心互连结构203实现各个从核与主存之间的数据访问。
另外,本实施例的核处理器的数据管理装置还包括分布于每一个从核中的多个核间共享单元,用于接收从核的数据传输命令,根据所述数据传输命令中的编址方式在多个从核的核内存储器之间进行数据传输。所述核间共享单元的结构如图5所示,包括:地址解析模块208、核心路由处理模块209、上网发送模块210和下网组包模块211。
其中,所述地址解析模块208接收本地处理器核心(即该核间共享单元所属的从核)的核内存储请求(包括核内存储的读请求和写请求),提取所述核内存储请求中的编址方式和访问地址,并根据所述编址方式确定所述访问地址是否归属所述本地处理器核心的核内存储器220,若是,则访问所述本地处理器核心的核内存储器220,否则将所述核内存储请求发送至核心路由处理模块209;所述核心路由处理模块209接收所述地址解析模块208发送的核内存储请求,根据所述核内存储请求中的编址方式和访问地址确定到达目标处理器核心的发送路径,将所述核内存储请求和发送路径发送至所述上网发送模块210;所述上网发送模块210将所述核内存储请求中的数据分拆为多个数据包,并根据所述发送路径将所述多个数据包发送至处理器核心互连结构;所述下网组包模块211通过所述处理器核心互连结构接收到达本地处理器核心的数据包,对所述数据包进行组包后访问本地处理器核心的核内存储器。
在一具体实施例中,地址解析模块208接收到的本地处理器核心的核内存储请求具体为向其他从核的核内存储器中写入数据,经过解析后将所述核内存储请求发送至核心路由处理模块209,所述核心路由处理模块209确定所述本地处理器核心至目标处理器核心的发送路径并将待发送的数据和发送路径发送至上网发送模块210,所述上网发送模块210将待发送的数据分拆为多个数据包,分拆的过程可以为发送至某一从核的数据作为一个或一组数据包,发送至另一个从核的数据作为另一个或一组数据包,之后根据发送路径把多个数据包通过处理器核心互连结构发送至目标处理器核心,在目标处理器核心接收到所述数据包后,本地处理器核心通过下网组包模块211接收目标处理器核心产生的响应信号。此外,若所述本地处理器核心的核内存储请求的访问地址属于本地处理器核心的核内存储器220,则在完成数据的写入过程后,核内存储器220还产生响应信号并发送至本地处理器核心。
在另一具体实施例中,所述下网组包模块211通过处理器核心互连结构接收来自其他处理器核心的数据包,将多个数据包拼合组包形成写入数据并写入所述核内存储器220,即当前的从核相当于目标处理器核心。写入后,所述核内存储器220产生的响应信号通过上网发送模块210发送至发出所述数据包的从核。
下面详细说明本技术方案的编址方式和相应的数据传输过程进行详细说明,为了能够清楚的说明本技术方案,本实施例中涉及的从核个数为64个,但本技术方案并不限于对64个从核的数据管理,还可以为其他数量,如32个、128个等。
图6示出了本实施例的第一种编址方式示意图,具体包括:将全部从核排序,对所述排序的从核内的核内存储器中的存储单元进行连续编址,其中,同一从核的核内存储器中的存储单元的存储地址相连续,后一从核的核内存储器中第一个存储单元的存储地址与前一从核的核内存储器中最后一个存储单元的存储地址相连续。例如,从核00中的存储单元的地址为0至1023,从核01中的存储单元的地址为1024至2047,以此类推。
图7示出了基于所述第一种编址方式(即连续编址)的一种数据传输方法,具体包括:从一预定从核(本实施例中为从核12)的核内存储器中按照所述存储地址的次序依次获取多个数据单元(本实施例中为数据单元m0至mk),将所述多个数据单元存储于所述主存的多个主存单元中,即数据写入的过程,在一具体实施例中可以为所述模式解析器接收到某一预定从核的数据传输命令,对其中的编址方式进行解析后,交由所述连续编址传输管理模块对各从核的核内存储器进行连续编址,并将所述数据传输命令转换为多个主存访问请求(具体为主存写请求)和核内存储器访问请求(具体为核内存储器读请求),所述请求处理引擎根据所述多个核内存储器读请求从所述预定从核中获取多个数据单元,并根据所述多个主存写请求经由所述从处理器核心互连结构依次写入主存中,写入的过程可以为写入主存中的多个地址连续的主存单元(即连续存储)或写入主存中的多个地址间存在预定间隔的主存单元中(即跨步存储,例如多个主存单元的地址分别为0、2、4、6...),采用连续存储还是跨步存储取决于所述数据传输命令的具体内容。或者,从所述主存的多个主存单元中获取多个数据单元(本实施例中为数据单元m0至mk),将所述多个数据单元按照所述存储地址的次序依次存储于一预定从核(本实施例中为从核12)的核内存储器中,即数据读取的过程,在一具体实施例中可以为所述模式解析器接收到所述预定从核的数据传输命令,对其中的编址方式进行解析后,交由所述连续编址传输管理模块对各从核的核内存储器进行连续编址,并将所述数据传输命令转换为多个主存访问请求(具体为主存读请求)和核内存储器访问请求(具体为核内存储器写请求),所述请求处理引擎通过所述从处理器核心互连结构从主存中获取多个数据单元并依次写入所述预定从核的核内存储器中,从主存中获取多个数据单元可以为从地址连续的多个主存单元(即连续读取)或地址间具有预定间隔的多个主存单元(即跨步读取)中获取所述数据单元。其中,所述主存单元是与所述存储单元对应的存储字、存储段等。
图8示出了所述跨步存储和跨步读取过程的示意图,即在主存的地址间具有预定间隔的主存单元和从核的核内存储器之间进行数据的传输。该图仅是示意,所述从核的核内存储器为地址连续的多个存储单元,可以是同一从核内的地址连续的存储单元,也可以是不同从核中的地址连续的存储单元。所述跨步存储和跨步读取过程同样适用于其他的编址方式。
图9示出了基于所述第一种编址方式(即连续编址)的另一种数据传输方法,具体包括:从所述主存中获取多个数据单元(本实施例中为m0至mk),将所述多个数据单元按照所述存储地址的次序依次广播存储于多个从核的核内存储器中,即数据的广播读取过程。根据程序运行的局部性原理(Principleof Locality),在一个特定时间段内,一个程序运行的绝大部分时间是基于局部范围内的一小段数据或者指令的,因此,将主存中的数据同时广播读入多个从核中,避免了不同从核在一时间段内频繁读取同一数据段造成的主存的瓶颈问题。其中,将所述多个数据单元广播存储于多个从核的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每个从核的核内存储器的连续多个存储单元中或者存储于指定从核以外的其他从核的核内存储器的连续多个存储单元中(即对指定的从核屏蔽)。
图10示出了本实施例的第二种编址方式(即行编址)示意图,具体包括:对所述处理器核心阵列的从核的核内存储器的存储单元进行行编址,其中,同一行相邻列的从核的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的从核的核内存储器中第一个存储单元的存储地址与前一行最后一列的从核的核内存储器中最后一个存储单元的存储地址相连续。本实施例中将所述多个从核划分为8行8列,第一行的从核00的第一存储单元的地址为0,第一行的从核01的第一存储单元的地址为1......第一行的从核10的第二存储单元的地址为8,第一行的从核11的第二存储单元的地址为9......第一行的从核07最后一存储单元的地址为8191,相应的,第二行中的从核10的第一存储单元的地址为8192,第二行中的从核11的第一存储单元的地址为8193......以此类推。
图11示出了基于所述第二种编址方式(即行编址)的一种数据传输方法,具体包括:从所述主存的多个主存单元中获取多个数据单元(本实施例中为数据单元m0至mk),将所述多个数据单元按照所述存储地址的次序依次存储于一预定行(本实施例中为第二行)的从核的核内存储器的连续多个存储单元中,即数据的读取过程。在一具体实施例中可以为所述模式解析器接收到某一从核的数据传输命令,对其中的编址方式进行解析后,交由所述行编址传输管理模块对各从核的核内存储器进行行续编址,并将所述数据传输命令转换为多个主存访问请求(具体为主存读请求)和核内存储器访问请求(具体为核内存储器写请求),所述请求处理引擎通过所述处理器核心互连结构从主存中获取多个数据单元并依次写入所述预定行的从核的核内存储器中,从主存中获取多个数据单元可以为从地址连续的多个主存单元(即连续读取)或地址间具有预定间隔的多个主存单元中获取所述数据单元(即跨步读取)。或者,从一预定行(本实施例中为第二行)的从核的核内存储器中按照所述存储地址的次序依次获取多个数据单元(本实施例中为数据单元m0至mk),将所述多个数据单元存储于所述主存的多个主存单元中,即数据的写入过程。在一具体实施例中,可以为所述模式解析器接收到某一从核的数据传输命令,对其中的编址方式进行解析后,交由行编址传输管理模块对各从核的核内存储器进行行续编址,并将所述数据传输命令转换为多个主存访问请求(具体为主存写请求)和核内存储器访问请求(具体为核内存储器读请求),所述请求处理引擎从所述预定行的从核中获取多个数据单元并经由所述处理器核心互连结构依次写入主存中,写入的过程可以为写入主存中的多个地址连续的主存单元或写入主存中的多个地址间存在预定间隔的主存单元中(即跨步存储)。
上述的数据读取过程中,并不是简单的将相同的包括多个数据单元的数据段复制至行内的各个从核,而是将一数据段依次分布存储于行内的各个从核,当单个从核的核内存储器的存储容量有限时,使得一次性读入所述处理器核心阵列的数据段的数据单元较多,避免了多次访问主存,另外,由于各从核可以通过所述处理器核心互连结构以及核间共享单元进行高效的数据交互,因此从核在对所需的数据进行读取时,可以先在处理器核心阵列内部中进行搜索,而不必直接访问主存去获取,改善了主存的瓶颈问题。
图12示出了基于所述第二种编址方式(即行编址)的另一种数据传输方法,具体包括:从所述主存的多个主存单元中获取多个数据单元(本实施例中为数据单元m0至mk),将所述多个数据单元按照所述存储地址的次序依次广播存储于多行从核的核内存储器中,即数据的行广播读取过程。类似的,根据程序运行的局部性原理,本方法可以避免不同的从核在一时间段内频繁读取同一数据段造成的主存的瓶颈问题。所述广播存储于多行从核的核内存储器中是指将所述多个数据单元存储于每一行处理器核心的核内存储器的连续多个存储单元中或存储于指定行以外的其他行处理器核心的核内存储器的连续多个存储单元中(即对指定行屏蔽)。
图13示出了本实施例的第三种编址方式(即阵列编址)示意图,具体包括:对所述多个从核的核内存储器的存储单元进行阵列编址,其中,同一行相邻列的从核的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的从核的核内存储器与前一行最后一列的从核的核内存储器中同一个存储单元的存储地址相连续。本实施例中划分为8行8列,第一行的从核00的第一存储单元的地址为0,第一行的从核01的第一存储单元的地址为1......第一行的从核07的第一存储单元的地址为7,相应的,第二行的从核10的第一存储单元的地址为8,第二行的从核11的第一存储单元的地址为9......依次类推。
图14示出了基于所述第三种编址方式(即阵列编址)的一种数据传输方法,具体包括:从所述主存的多个主存单元中获取多个数据单元(本实施例中为数据单元m0至mk),将所述多个数据单元按照所述存储地址的次序依次存储于各从核的核内存储器中,即数据的阵列读取过程。在一具体实施例中可以为所述模式解析器接收到某一从核的数据传输命令,对其中的编址方式进行解析后,交由阵列编址传输管理模块对各从核的核内存储器进行阵列编址,并将所述数据传输命令转换为多个主存访问请求(具体为主存读请求)和核内存储器访问请求(具体为核内存储器写请求),所述请求处理引擎通过所述处理器核心互连结构从主存中获取多个数据单元并依次写入所述各个从核的核内存储器中,从主存中获取多个数据单元可以为从地址连续的多个主存单元(即连续读取)或地址间具有预定间隔的多个主存单元中获取所述数据单元(即跨步读取)。或者,从所述多个从核的核内存储器中按照所述存储地址的次序依次获取多个数据单元(本实施例中为数据单元m0至mk),将所述多个数据单元存储于所述主存的多个主存单元中,即数据的阵列写入过程。在一具体实施例中,可以为所述模式解析器接收到某一从核的数据传输命令,对其中的编址方式进行解析后,交由所述阵列编址传输管理模块对各从核的核内存储器进行阵列编址,并将所述数据传输命令转换为多个主存访问请求(具体为主存写请求)和核内存储器访问请求(具体为核内存储器读请求),所述请求处理引擎从所述处理器核心阵列中依次获取多个数据单元并经由所述处理器核心互连结构依次写入主存中,写入的过程可以为写入主存中的多个地址连续的主存单元(即连续存储)或写入主存中的多个地址间存在预定间隔的主存单元中(即跨步存储)。
上述的数据阵列读取过程中,将一数据段依次分布存储于处理器核心阵列的各个从核中,使得一次性读入所述处理器核心阵列的数据段的数据单元较多,避免了多次访问主存;另外,由于各从核可以在所述核间共享单元的控制下通过所述处理器核心互连结构进行高效的数据交互,因此从核在对所需的数据进行读取时,可以先在从处理器核心阵列内部中进行搜索,而不必直接访问主存去获取,改善了主存的瓶颈问题。
综上,本技术方案的多核处理器的数据管理方法和装置中,将各个从核中的核内存储器进行统一编址,在多个从核与主存之间同时进行数据的读或写,提高了数据的读写效率。
另外,本技术方案将一较大的数据段一次性读入后存储于多个从核中,根据程序的局部性原理,避免了不同从核在一时间段内频繁读取同一数据段造成的主存的瓶颈问题。
此外,本技术方案采用规则化的主存访问方式,提高了主存和核内存储器中的存储控制器的使用效率;并利用行广播、阵列广播等传输模式,将多次数据访问合并,减少了主存的访问量,避免了零散访问主存导致的效率损失,提高了数据总线等互连结构的利用率。
进一步的,本技术方案提供了多种编址方式和相应的数据传输方式,能够满足多种计算过程的应用需要。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (38)
1.一种多核处理器的数据管理方法,其特征在于,所述多核处理器包括处理器核心阵列和处理器核心互连结构,所述处理器核心阵列包括多个处理器核心,所述处理器核心包括具有多个存储单元的核内存储器,所述处理器核心互连结构用于所述处理器核心阵列中任意两处理器核心间的通信,所述处理器核心互连结构为总线结构、交叉开关或格栅网络;所述多核处理器的数据管理方法包括:
对所述处理器核心的核内存储器的各存储单元进行统一编址,编址方式包括:连续编址、行编址、阵列编址;
根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输。
2.如权利要求1所述的多核处理器的数据管理方法,其特征在于,还包括:根据所述存储单元的存储地址在多个处理器核心的核内存储器之间进行数据传输。
3.如权利要求1所述的多核处理器的数据管理方法,其特征在于,所述对所述处理器核心的核内存储器的各存储单元进行统一编址包括:将所述多个处理器核心排序,对所述排序的处理器核心的核内存储器的存储单元进行连续编址,其中,同一处理器核心的核内存储器中存储单元的存储地址相连续,后一处理器核心的核内存储器中第一个存储单元的存储地址与前一处理器核心的核内存储器中最后一个存储单元的存储地址相连续。
4.如权利要求3所述的多核处理器的数据管理方法,其特征在于,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于预定处理器核心的核内存储器的连续多个存储单元中。
5.如权利要求3所述的多核处理器的数据管理方法,其特征在于,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从预定处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
6.如权利要求3所述的多核处理器的数据管理方法,其特征在于,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存中获取多个数据单元,将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中。
7.如权利要求6所述的多核处理器的数据管理方法,其特征在于,所述将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每个处理器核心的核内存储器的连续多个存储单元中。
8.如权利要求6所述的多核处理器的数据管理方法,其特征在于,所述将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于指定处理器核心以外的其他处理器核心的核内存储器的连续多个存储单元中。
9.如权利要求1所述的多核处理器的数据管理方法,其特征在于,所述对所述处理器核心的核内存储器的各存储单元进行统一编址包括:对所述处理器核心阵列的处理器核心的核内存储器的存储单元进行行编址,其中,同一行相邻列的处理器核心的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的处理器核心的核内存储器中第一个存储单元的存储地址与前一行最后一列的处理器核心的核内存储器中最后一个存储单元的存储地址相连续。
10.如权利要求9所述的多核处理器的数据管理方法,其特征在于,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于预定行的处理器核心的核内存储器的连续多个存储单元中。
11.如权利要求9所述的多核处理器的数据管理方法,其特征在于,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从预定行的处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
12.如权利要求9所述的多核处理器的数据管理方法,其特征在于,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元广播存储于多行处理器核心的核内存储器的连续多个存储单元中。
13.如权利要求12所述的多核处理器的数据管理方法,其特征在于,所述将所述多个数据单元广播存储于多行处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每一行处理器核心的核内存储器的连续多个存储单元中。
14.如权利要求12所述的多核处理器的数据管理方法,其特征在于,所述将所述多个数据单元广播存储于多行的处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于指定行以外的其他行处理器核心的核内存储器的连续多个存储单元中。
15.如权利要求1所述的多核处理器的数据管理方法,其特征在于,所述对所述处理器核心的核内存储器的各存储单元进行统一编址包括:对所述处理器核心阵列的处理器核心的核内存储器的存储单元进行阵列编址,其中,同一行相邻列的处理器核心的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的处理器核心的核内存储器与前一行最后一列的处理器核心的核内存储器中同一个存储单元的存储地址相连续。
16.如权利要求15所述的多核处理器的数据管理方法,其特征在于,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于所述处理器核心阵列的处理器核心的核内存储器的连续多个存储单元中。
17.如权利要求15所述的多核处理器的数据管理方法,其特征在于,所述根据所述存储单元的存储地址在至少一个处理器核心的核内存储器和主存之间进行数据传输包括:从所述多个处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
18.如权利要求4至8、10至14、16至17中任一项所述的多核处理器的数据管理方法,其特征在于,所述主存中的多个主存单元的地址相连续或地址间具有固定间隔。
19.一种多核处理器的数据管理装置,其特征在于,所述多核处理器包括处理器核心阵列和处理器核心互连结构,所述处理器核心阵列包括多个处理器核心,所述处理器核心包括具有多个存储单元的核内存储器,所述处理器核心互连结构用于所述处理器核心阵列中任意两处理器核心间的通信,所述处理器核心互连结构为总线结构、交叉开关或格栅网络,所述多核处理器的数据管理装置包括:
模式解析器,接收所述处理器核心的数据传输命令,对所述数据传输命令中的编址方式进行解析,将所述数据传输命令转换为多个主存访问请求和核内存储器访问请求,所述编址方式是指对所述处理器核心的核内存储器的各存储单元进行统一编址的方式,编址方式包括:连续编址、行编址、阵列编址;
请求处理引擎,根据所述主存访问请求和核内存储器访问请求在至少一个处理器核心的核内存储器和主存之间进行数据传输。
20.如权利要求19所述的多核处理器的数据管理装置,其特征在于,所述请求处理引擎包括响应处理引擎,接收所述主存访问请求,从所述主存中获取读取数据并生成多个核内存储器写请求,将所述读取数据写入核内存储器。
21.如权利要求19所述的多核处理器的数据管理装置,其特征在于,还包括:分布于每一处理器核心中的多个核间共享单元,用于接收所述处理器核心的数据传输命令,根据所述数据传输命令中的编址方式在多个处理器核心的核内存储器之间进行数据传输。
22.如权利要求21所述的多核处理器的数据管理装置,其特征在于,所述核间共享单元包括地址解析模块、核心路由处理模块、上网发送模块和下网组包模块,其中,
所述地址解析模块,接收本地处理器核心的核内存储请求,提取所述核内存储请求中的编址方式和访问地址,并根据所述编址方式确定所述访问地址是否归属所述本地处理器核心的核内存储器,若是,则访问所述本地处理器核心的核内存储器,否则将所述核内存储请求发送至核心路由处理模块;
所述核心路由处理模块,接收所述地址解析模块发送的核内存储请求,根据所述核内存储请求中的编址方式和访问地址确定到达目标处理器核心的发送路径,将所述核内存储请求和发送路径发送至所述上网发送模块;
所述上网发送模块,将所述核内存储请求中的数据分拆为多个数据包,并根据所述发送路径将所述多个数据包发送至所述处理器核心互连结构;
所述下网组包模块,通过所述处理器核心互连结构接收到达本地处理器核心的数据包,对所述数据包进行组包后访问本地处理器核心的核内存储器。
23.如权利要求19所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令中的编址方式为连续编址,所述模式解析器包括连续编址传输管理模块,将所述多个处理器核心排序,对所述排序的处理器核心的核内存储器的存储单元进行连续编址,其中,同一处理器核心的核内存储器中存储单元的存储地址相连续,后一处理器核心的核内存储器中第一个存储单元的存储地址与前一处理器核心的核内存储器中最后一个存储单元的存储地址相连续。
24.如权利要求23所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令为单处理器核心读取命令,所述请求处理引擎从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于预定处理器核心的核内存储器的连续多个存储单元中。
25.如权利要求23所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令为单处理器核心写入命令,所述请求处理引擎从预定处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
26.如权利要求23所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令为广播读取命令,所述请求处理引擎从所述主存中获取多个数据单元,将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中。
27.如权利要求26所述的多核处理器的数据管理装置,其特征在于,所述将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每个处理器核心的核内存储器的连续多个存储单元中。
28.如权利要求26所述的多核处理器的数据管理装置,其特征在于,所述将所述多个数据单元广播存储于多个处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于指定处理器核心以外的其他处理器核心的核内存储器的连续多个存储单元中。
29.如权利要求19所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令中的编址方式为行编址,所述模式解析器包括行编址传输管理模块,对所述处理器核心阵列的处理器核心的核内存储器的存储单元进行行编址,其中,同一行相邻列的处理器核心的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的处理器核心的核内存储器中第一个存储单元的存储地址与前一行最后一列的处理器核心的核内存储器中最后一个存储单元的存储地址相连续。
30.如权利要求29所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令为行读取命令,所述请求处理引擎从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于预定行的处理器核心的核内存储器的连续多个存储单元中。
31.如权利要求29所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令为行写入命令,所述请求处理引擎从预定行的处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
32.如权利要求29所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令为行广播读取命令,所述请求处理引擎从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元广播存储于多行处理器核心的核内存储器的连续多个存储单元中。
33.如权利要求32所述的多核处理器的数据管理装置,其特征在于,所述将所述多个数据单元广播存储于多行处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于每一行处理器核心的核内存储器的连续多个存储单元中。
34.如权利要求32所述的多核处理器的数据管理装置,其特征在于,所述将所述多个数据单元广播存储于多行的处理器核心的核内存储器的连续多个存储单元中是指将所述多个数据单元存储于指定行以外的其他行处理器核心的核内存储器的连续多个存储单元中。
35.如权利要求19所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令中的编址方式为阵列编址,所述模式解析器包括阵列编址传输管理模块,对所述处理器核心阵列的处理器核心的核内存储器的存储单元进行阵列编址,其中,同一行相邻列的处理器核心的核内存储器中同一个存储单元的存储地址相连续,后一行第一列的处理器核心的核内存储器与前一行最后一列的处理器核心的核内存储器中同一个存储单元的存储地址相连续。
36.如权利要求35所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令为阵列读取命令,所述请求处理引擎从所述主存的多个主存单元中获取多个数据单元,将所述多个数据单元存储于所述处理器核心阵列的处理器核心的核内存储器的连续多个存储单元中。
37.如权利要求35所述的多核处理器的数据管理装置,其特征在于,所述数据传输命令为阵列写入命令,所述请求处理引擎从所述多个处理器核心的核内存储器的连续多个存储单元中获取多个数据单元,将所述多个数据单元存储于所述主存的多个主存单元中。
38.如权利要求24至28、30至34、36至37中任一项所述的多核处理器的数据管理装置,其特征在于,所述主存中的多个主存单元的地址相连续或地址间具有固定间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010508870 CN102446159B (zh) | 2010-10-12 | 2010-10-12 | 多核处理器的数据管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010508870 CN102446159B (zh) | 2010-10-12 | 2010-10-12 | 多核处理器的数据管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102446159A CN102446159A (zh) | 2012-05-09 |
CN102446159B true CN102446159B (zh) | 2013-09-18 |
Family
ID=46008663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010508870 Active CN102446159B (zh) | 2010-10-12 | 2010-10-12 | 多核处理器的数据管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102446159B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034615B (zh) * | 2012-12-07 | 2016-04-13 | 无锡美森微电子科技有限公司 | 一种适用于流应用多核处理器的存储管理方法 |
CN107678854A (zh) * | 2017-08-31 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种解决计算机缓存一致性冲突的方法 |
CN109783220B (zh) * | 2017-11-10 | 2020-12-11 | 安徽寒武纪信息科技有限公司 | 内存分配方法、装置、计算机***及存储介质 |
CN108134855B (zh) * | 2017-12-18 | 2021-03-09 | 东软集团股份有限公司 | Arp表管理方法、处理器核心、存储介质、电子设备 |
CN109902059B (zh) * | 2019-02-28 | 2021-06-29 | 苏州浪潮智能科技有限公司 | 一种cpu与gpu之间的数据传输方法 |
CN112241320B (zh) | 2019-07-17 | 2023-11-10 | 华为技术有限公司 | 资源分配方法、存储设备和存储*** |
CN112817898B (zh) * | 2021-02-08 | 2024-06-28 | 清华大学 | 数据传输方法、处理器、芯片及电子设备 |
CN113191491B (zh) * | 2021-03-16 | 2022-08-09 | 杭州慧芯达科技有限公司 | 多维度并行的人工智能处理器架构 |
TWI818730B (zh) * | 2022-09-16 | 2023-10-11 | 英業達股份有限公司 | 處理單元陣列及其運作方法 |
CN115599459B (zh) | 2022-12-13 | 2023-04-07 | 成都启英泰伦科技有限公司 | 一种跨电源域多处理器运行装置及其通信方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299199A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 基于可配置处理器及指令集扩展的异构多核*** |
CN101477512A (zh) * | 2009-01-16 | 2009-07-08 | 中国科学院计算技术研究所 | 一种处理器***及其访存方法 |
CN101510191A (zh) * | 2009-03-26 | 2009-08-19 | 浙江大学 | 具备缓存窗口的多核体系架构及其实现方法 |
CN101571843A (zh) * | 2008-04-29 | 2009-11-04 | 国际商业机器公司 | 在多核处理器中动态共享高速缓存的方法、设备和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4942095B2 (ja) * | 2007-01-25 | 2012-05-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチコア・プロセッサにより演算を行う技術 |
-
2010
- 2010-10-12 CN CN 201010508870 patent/CN102446159B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571843A (zh) * | 2008-04-29 | 2009-11-04 | 国际商业机器公司 | 在多核处理器中动态共享高速缓存的方法、设备和*** |
CN101299199A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 基于可配置处理器及指令集扩展的异构多核*** |
CN101477512A (zh) * | 2009-01-16 | 2009-07-08 | 中国科学院计算技术研究所 | 一种处理器***及其访存方法 |
CN101510191A (zh) * | 2009-03-26 | 2009-08-19 | 浙江大学 | 具备缓存窗口的多核体系架构及其实现方法 |
Non-Patent Citations (1)
Title |
---|
赖明澈,王志英,戴葵.基于路由器解析式模型的NoC网络性能分析方法.《计算机辅助设计与图形学学报》.2009,第21卷(第3期),339-345. * |
Also Published As
Publication number | Publication date |
---|---|
CN102446159A (zh) | 2012-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102446159B (zh) | 多核处理器的数据管理方法及装置 | |
CN110704360B (zh) | 一种基于异构fpga数据流的图计算优化方法 | |
US8832174B2 (en) | System and method for dynamic task migration on multiprocessor system | |
CN104407997B (zh) | 带有指令动态调度功能的与非型闪存单通道同步控制器 | |
CN111124675B (zh) | 一种面向图计算的异构存内计算设备及其运行方法 | |
CN107291424A (zh) | 基于闪存的加速器和包含其的计算设备 | |
CN103246542B (zh) | 智能缓存及智能终端 | |
CN106569727A (zh) | 一种多控制器间多存储器共享并行数据读写装置及其写入、读取方法 | |
CN101794271B (zh) | 多核内存一致性的实现方法和装置 | |
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
CN103218208A (zh) | 用于实施成形的存储器访问操作的***和方法 | |
JP5643903B2 (ja) | 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置 | |
CN103019955B (zh) | 基于pcram主存应用的内存管理方法 | |
CN106708626A (zh) | 一种面向低功耗的异构多核共享cache划分方法 | |
CN103246613A (zh) | 缓存装置及用于缓存装置的缓存数据获取方法 | |
CN114297097B (zh) | 一种众核可定义分布式共享存储结构 | |
CN103186501A (zh) | 一种多处理器共享存储方法及*** | |
CN101441616A (zh) | 基于寄存器文件的快速数据交换结构及其管理方法 | |
Walden et al. | Monolithically integrating non-volatile main memory over the last-level cache | |
CN112667562A (zh) | 一种基于cpu-fpga的大规模图上的随机游走异构计算*** | |
US20230222058A1 (en) | Zoned namespaces for computing device main memory | |
CN116541317A (zh) | 可计算存储器、可计算存储***及数据处理方法 | |
CN116126528A (zh) | 资源分配方法、缓存状态控制方法及相关设备 | |
WO2021139733A1 (zh) | 一种对内存进行分配的方法、设备及计算机可读存储介质 | |
CN115878517A (zh) | 存储器装置、存储器装置的操作方法和电子装置 |
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 |