CN102567278A - 一种片上多核数据传输方法和装置 - Google Patents

一种片上多核数据传输方法和装置 Download PDF

Info

Publication number
CN102567278A
CN102567278A CN2011104513741A CN201110451374A CN102567278A CN 102567278 A CN102567278 A CN 102567278A CN 2011104513741 A CN2011104513741 A CN 2011104513741A CN 201110451374 A CN201110451374 A CN 201110451374A CN 102567278 A CN102567278 A CN 102567278A
Authority
CN
China
Prior art keywords
data
data transmission
module
spm
transmission device
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.)
Pending
Application number
CN2011104513741A
Other languages
English (en)
Inventor
张帅
焦帅
张�浩
范东睿
李海忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2011104513741A priority Critical patent/CN102567278A/zh
Publication of CN102567278A publication Critical patent/CN102567278A/zh
Priority to PCT/CN2012/087985 priority patent/WO2013097793A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种片上多核数据传输方法和装置,其特征在于,步骤一配置数据传输装置,通过软件接口生成控制数据传输装置的指令流,由处理器核将所述指令流发送给位于处理器核内部的数据传输装置;步骤二所述数据传输装置接收上述指令流,对发往同一片SPM或二级缓存的操作进行组合,由所述数据传输装置封装成可以在片上网络上传输的数据包;步骤三所述数据传输装置的发送模块查询片上网络,并对数据地址进行解析,给出目的SPM或二级缓存的坐标;步骤四所述数据传输装置接收由目的SPM或二级缓存返回的数据或接收同步信号返回给控制模块,直至返回数据或同步信号数目与发送的请求相等,本装置控制模块向处理器核返回本次操作完成信号。

Description

一种片上多核数据传输方法和装置
技术领域
本发明涉及多核处理器设计领域,特别是涉及一种多核处理器的片上数据传输方法和装置。
背景技术
在多核处理器设计中,对存储资源的访问是制约性能提高的主要因素。单纯通过提高时钟频率和改进缓存策略已经不能满足运行大规模并行程序时对访存带宽的要求。
传统多核处理器中,存储层次分为一级缓存,二级缓存,甚至多级缓存和片外存储。一级缓存一般设计在处理器核的内部,与处理器核的访存模块直接相连。二级缓存及多级缓存一般设计为多个或全部处理器核共享。上述缓存均为片上缓存,没有独立的地址空间,对程序员来说是不可见的。这种设计在传统的单核处理器中十分常见,利用硬件缓存可以快速访问到其映射的数据。这说明传统单核处理器的缓存没有自己的地址空间,而本设计的SPM(Scratch-pad Memory,简称SPM)是有自己地址空间的缓存。
目前,一级缓存可以通过软件接口部分配置成程序员可见的地址空间。但在传统多核处理器设计中,对二级缓存和片外存储的访问请求则必须由访存部件发出,程序员不能直接发出访存请求,而是由访存部件从各级缓存中取回数据,但这种方法传输的数据最长长度一般为二级缓存的行宽度。然而目前常见的并行应用程序常常需要大规模的数据传输,例如FFT(快速傅立叶变换),矩阵乘法运算等。因此传统片上缓存的数据传输方法已经成为限制提升计算速度的瓶颈。现有的片上缓存不能根据所运行的算法调整数据在缓存中的地址分配,对于具有本地缓存的多核处理器,传统缓存的空间局部性较差;而本设计可以让程序员根据自己的需求实现本地和远程地之间可控的数据传输,从而提高了缓存的利用率和空间局部性。
发明内容
为解决上述问题,本发明设计了一种片上多核数据传输方法和装置。
本发明的目的在于提供一种片上数据传输方法和装置,其能够大大降低片上网络的压力,并对数据规模和位置实现编程控制。
为实现本发明的目的而提供的一种片上多核数据传输方法,其特征在于,包括下列步骤:
步骤100,配置数据传输装置,通过软件接口生成控制数据传输装置的指令流,由处理器核将所述指令流发送给位于处理器核内部的数据传输装置,通过软件接口对数据传输装置进行如下配置判断数据传输类型;
步骤200,所述数据传输装置接收上述指令流,对发往同一片SPM或二级缓存的操作进行组合,由所述数据传输装置封装成可以在片上网络上传输的数据包;
步骤300,所述数据传输装置的发送模块查询片上网络,并对数据地址进行解析,给出目的SPM或二级缓存的坐标,当路由器指示可以传输时发送模块将数据包依次发送完毕;
步骤400,所述数据传输装置接收由目的SPM或二级缓存返回的数据或接收同步信号返回给控制模块,直至返回数据或同步信号数目与发送的请求相等,本装置控制模块向处理器核返回本次操作完成信号。
所述的片上多核数据传输方法,其特征在于,所述步骤100,还包括下列步骤:
步骤110.设置数据块宽度,设置源数据地址,设置源数据一维步长,设置源数据二维步长,设置目的数据地址,设置目的数据一维步长,设置目的数据二维步长,设置一维数据个数,设置二维数据个数;
步骤120.根据指令流配置数据传输装置的控制寄存器和数据寄存器。
所述的片上多核数据传输方法,其特征在于,所述步骤200,还包括下列步骤:
步骤210.由所述控制寄存器判断数据传输类型,对发往同一片远程SPM或二级缓存的操作进行组合;
步骤220.由所述发送模块封装成可以在片上网络传输的数据包。
所述的片上多核数据传输方法,其特征在于,所述步骤300,还包括下列步骤:
步骤310.所述发送模块把目的坐标为本地处理器核的数据包直接发给本地SPM,无需通过片上网络传输;
步骤320.所述数据传输装置的控制模块记录发送的数据包数目。
所述的片上多核数据传输方法,其特征在于,所述步骤400,还包括下列步骤:
步骤410.所述接收模块接收由目的SPM或二级缓存根据数据包中的指令返回的数据并写入本地SPM;
步骤420.所述接收模块接收由目的SPM或二级缓存返回的同步信号,并返回该数据传输装置的控制模块;
步骤430.判断所述返回数据或同步信号数目与发送的请求是否相等,若是,执行步骤440;否则,返回步骤410;
步骤440.所述控制模块向处理器核返回本次操作完成信号。
所述的片上多核数据传输方法,其特征在于,所述步骤200中的数据包携带数据块宽度,源数据地址,源数据一维步长,源数据二维步长,目的数据地址,目的数据一维步长,目的数据二维步长,一维数据个数,二维数据个数,所属寄存器模块,路由坐标信息。
所述的片上多核数据传输方法,其特征在于,所述步骤310中,如果目的坐标是本地处理器核,说明数据包是本地SPM传到本地SPM的,直接指示SPM操作,不需要发送到网络上;
如果目的坐标是远程处理器核或二级缓存,目的坐标将记录在数据包内,数据包通过路由器发送至网络上并最终送至目的处理器核或二级缓存。
本发明公开一种片上多核数据传输装置,其特征在于,包括:
生成指令流模块,用于配置数据传输装置,通过软件接口生成控制数据传输装置的指令流,由处理器核将所述指令流发送给位于处理器核内部的数据传输装置,通过软件接口对数据传输装置进行如下配置用于判断数据传输类型;
接收指令流模块,用于所述数据传输装置接收上述指令流,对发往同一片SPM或二级缓存的操作进行组合,由所述数据传输装置封装成可以在片上网络上传输的数据包;
发送模块,用于所述数据传输装置查询片上网络,并对数据地址进行解析,给出目的SPM或二级缓存的坐标,当路由器指示可以传输时发送模块将数据包依次发送完毕;
接收模块,用于所述数据传输装置接收由目的SPM或二级缓存返回的数据,直至返回数据或同步信号数目与发送的请求相等,本装置控制模块向处理器核返回本次操作完成信号;
控制模块,用于接收同步信号,直至返回数据或同步信号数目与发送的请求相等,本装置控制模块向处理器核返回本次操作完成信号。
所述的片上多核数据传输装置,其特征在于,所述生成指令流模块,还包括:
设置数据模块,用于设置数据块宽度,设置源数据地址,设置源数据一维步长,设置源数据二维步长,设置目的数据地址,设置目的数据一维步长,设置目的数据二维步长,设置一维数据个数,设置二维数据个数;
寄存器模块,用于根据指令流配置数据传输装置的控制寄存器和数据寄存器。
所述的片上多核数据传输装置,其特征在于,所述接收指令流模块,还包括:
操作模块,用于由所述控制寄存器判断数据传输类型,对发往同一片SPM或二级缓存的操作进行组合;
封装数据包模块,用于由所述发送模块封装成可以在片上网络传输的数据包。
所述的片上多核数据传输装置,其特征在于,所述发送模块,还包括:
发送数据包模块,用于所述发送模块把目的坐标为本地处理器核的数据包直接发给本地SPM,无需通过片上网络传输;
记录数据包模块,用于所述数据传输装置的控制模块记录发送的数据包数目。
所述的片上多核数据传输方法,其特征在于,所述接收模块,还包括:
数据写入模块,用于所述接收模块接收由目的SPM或二级缓存根据数据包中的指令返回的数据并写入本地SPM;
信号返回模块,用于所述接收模块接收由目的SPM或二级缓存返回的同步信号,并返回给数据传输装置的控制模块;
判断模块,用于判断所述返回数据或同步信号数目与发送的请求是否相等;所述控制模块向处理器核返回本次操作完成信号。
所述的片上多核数据传输装置,其特征在于,所述接收指令流模块中的数据包携带数据块宽度,源数据地址,源数据一维步长,源数据二维步长,目的数据地址,目的数据一维步长,目的数据二维步长,一维数据个数,二维数据个数,所属寄存器模块,路由坐标信息。
所述的片上多核数据传输装置,其特征在于,所述发送数据包模块中,如果目的坐标是本地处理器核,说明数据包是本地SPM传到本地SPM的,直接指示SPM操作,不需要发送到网络上;
如果目的坐标是远程处理器核或二级缓存,目的坐标将记录在数据包内,数据包通过路由器发送至网络上并最终送至目的处理器核或二级缓存。
本发明的有益效果是:采用本发明的多核处理器使用计算与通信重叠的编程方式,可以使由片上通信延迟隐藏在计算过程中,本发明还缓解了因为爆发式大规模数据请求造成的网络延迟增加的负面影响。
附图说明
图1为本发明数据传输方法流程图;
图2为本发明数据传输装置状态转换图;
图3为本发明数据传输装置基本结构图;
图4为本发明具体实施方式工作流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种片上数据传输方法和装置进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了提高访存带宽,大规模数据传输的并行应用程序所需数据应具有较强的连续性和规律性,有利于程序员不用在存储层次上调度数据,因此,本发明给程序员提供一个可编程的片上数据传输方法,使发生在一级缓存和二级缓存之间的数据可以实现并行和大规模传输,并可以在一级缓存之间传输数据。
本发明需要一级缓存提供程序员可见的地址空间,允许数据被指定存放在这块空间内,通常这种缓存被称为笔记本(Scratch-pad Memory,简称SPM)。本发明通过将发往同一个二级缓存的读写请求整理成一次或少数几次请求,大大降低片上网络的压力,并对数据规模和位置实现编程控制。通过编程接口控制数据块宽度和数量的新型数据传输技术可以同时按照两种步长来传输数据,也可称为二维数据传输技术。
下面结合上述目标详细介绍本发明的片上数据传输方法,所述方法,包括下列步骤:
步骤100.配置数据传输装置:通过软件接口生成控制数据传输装置的指令流,由处理器核将所述指令流发送给位于处理器核内部的数据传输装置,所述数据传输装置接收上述指令流,通过软件接口对数据传输装置进行如下配置;
步骤110.设置数据块宽度,设置源数据地址,设置源数据一维步长,设置源数据二维步长,设置目的数据地址,设置目的数据一维步长,设置目的数据二维步长,设置一维数据个数,设置二维数据个数;
步骤120.根据指令流配置数据传输装置的控制寄存器和数据寄存器。
上述控制寄存器包括标识操作类型寄存器,读完成寄存器,写完成寄存器,操作完成寄存器,返回值寄存器,空闲状态寄存器。其中读完成寄存器指示本次读本地SPM或读远程SPM及二级缓存的操作是否全部发送完成,写完成寄存器指示本次写本地SPM或写远程SPM及二级缓存的操作是否全部发送完成,操作完成寄存器指示本次读写操作是否全部发送完成,返回值寄存器指示所有操作是否全部完成(包括发送和返回),空闲状态寄存器指示数据传输装置当前为可用状态。
上述数据寄存器包括:数据块宽度寄存器,源数据地址寄存器,源数据一维步长寄存器,源数据二维步长寄存器,目的数据地址寄存器,目的数据一维步长寄存器,目的数据二维步长寄存器,一维数据个数寄存器,二维数据个数寄存器。其中数据块宽度寄存器保存数据占用通信链路的位宽,源数据地址寄存器保存数据传输发生前所在地址的首地址,源数据一维步长寄存器保存所要传输数据矩阵的列间隔地址,源数据二维步长寄存器保存所要传输数据矩阵的行间隔地址,目的数据地址寄存器保存数据传输发生后所在地址的首地址,目的数据一维步长寄存器保存传输后数据矩阵的列间隔地址,目的数据二维步长寄存器保存传输后数据矩阵的行间隔地址,一维数据个数寄存器保存数据矩阵的列数,二维数据个数寄存器保存数据矩阵的行数。
上述数据寄存器有相同3组(不仅限于3组,其实可以为更多组),能够同时处理3组数据传输请求。每一组寄存器模块可以存放一次数据传输任务的信息,直到该数据传输任务完成。
图2中为所述数据传输装置在接收指令流后的状态转换关系。
空闲状态为存在可用的数据和控制寄存器模块。
配置寄存器状态为正在接收指令流。
配置完成状态为工作态,此时所述数据传输装置开始工作,执行上述指令流配置的任务。
繁忙状态为目前没有空闲寄存器模块,处理器核指令流需要等待。
步骤200.判断数据传输类型,对发往同一片SPM或二级缓存的操作进行组合,由所述数据传输装置封装成可以在片上网络上传输的数据包;
所述步骤200,包括下列步骤:
步骤210.由所述控制寄存器判断数据传输类型,对发往同一片SPM或二级缓存的操作进行组合;
步骤220.由所述发送模块封装成可以在片上网络传输的数据包。
所述数据包携带数据块宽度,源数据地址,源数据一维步长,源数据二维步长,目的数据地址,目的数据一维步长,目的数据二维步长,一维数据个数,二维数据个数,所属寄存器模块,路由坐标信息。
步骤300.所述数据传输装置的发送模块查询片上网络,并对数据地址进行解析,给出目的SPM或二级缓存的坐标,当路由器指示可以传输时发送模块将数据包依次发送完毕。
所述步骤300,包括下列步骤:
步骤310.所述发送模块把目的坐标为本地处理器核的数据包直接发给本地SPM,无需通过片上网络传输;
该步骤中,如果目的坐标是本地处理器核,说明数据包是本地SPM传到本地SPM的,直接指示SPM操作,不需要发送到网络上。如果目的坐标是远程处理器核或二级缓存,目的坐标将记录在数据包内,数据包通过路由器发送至网络上并最终送至目的处理器核或二级缓存。
步骤320.所述数据传输装置的控制模块记录发送的数据包数目。
步骤400.所述数据传输装置接收由目的SPM或二级缓存返回的数据或同步信号,直至返回数据或同步信号数目与发送的请求相等,本装置控制模块向处理器核返回本次操作完成信号。程序员通过软件查询方式可得知本次操作已经完成。
所述步骤400,包括下列步骤:
步骤410.所述接收模块接收由目的SPM或二级缓存根据数据包中的指令返回的数据并写入本地SPM;
步骤420.所述接收模块接收由目的SPM或二级缓存返回的同步信号,并返回给数据传输装置的控制模块。
所述接收模块具有以下特征:对于远程读数据请求,所述数据传输装置的接收模块接收远程SPM或二级缓存返回的数据包,并解析写入本地SPM。(本地SPM是与本装置直接连接的SPM,远程SPM是与其他核相连的SPM,目的SPM是读操作中所读数据所在SPM和写操作中将要写入的SPM,既可以是远程也可以是本地的SPM)对于远程写数据请求,所述数据传输装置的接收模块接收远程SPM或二级缓存返回的同步信号。
步骤430.判断所述返回数据或同步信号数目与发送的请求是否相等,若是,执行步骤440;否则,返回步骤410;
步骤440.所述控制模块向处理器核返回本次操作完成信号。
本发明与处理器核的访存部件,本装置和访存部件共用片上网络端口和片上网络端口连接。在接收来自处理器核的指令时,可以包括以下几种操作:
(1)本装置将本地SPM中的数据写入远程SPM;
(2)本装置将本地SPM中的数据写入本地SPM的另一位置;
(3)本装置将本地SPM中的数据写入二级缓存;
(4)本装置从远程SPM中的数据读入本地SPM;
(5)本装置将本地SPM中的数据读入到本地SPM的另一位置;
(6)本装置将二级缓存中的数据读入本地SPM;
本发明的具体实施方法如下,当程序员将参数输入编程接口后,通过编译器生成汇编指令。当程序执行到此处时,指令通过处理器访存部件将参数传递给本装置。
Figure BDA0000126599680000081
Figure BDA0000126599680000091
步骤1:如图4所示,若本装置存在空闲寄存器模块,本装置将指令流携带的参数保存在图3所示的数据传输装置寄存器模块中。若所有寄存器模块都被占用,则指示处理器核停止发送指令,处于等待状态。
步骤2:本装置对数据传输装置寄存器模块中的参数进行解析,将每一份数据的地址和宽度都发送至图3所示的数据传输装置控制模块中。
步骤3:控制模块判断该操作为本地操作还是远程操作。本地操作包括上述(2)(5)操作类型;远程操作包括上述(1)(3)(4)(6)操作类型。
步骤4:若操作为本地操作类型,经判断为(2)(5)两种操作类型。这两种操作类型为本地数据搬运,直接发送给本地SPM处理。本地SPM处理完成后清空本装置相应的寄存器模块,可以处理下一个数据传输请求。
步骤5:若操作为远程操作类型,经判断为(1)(3)(4)(6)两种类型。控制模块对操作参数进行分析,因为同一次操作所需要的数据往往位于多个SPM(本装置可以只对本地SPM进行读写操作,也可以对远程SPM进行读写操作)上或二级缓存上,所以控制模块将寄存器模块分发的操作进行判断,将去往同一个SPM(发往本地SPM的数据包不走网络)或二级缓存的操作合并在同一个网络数据包。
步骤6:控制模块为每个数据包填充目的SPM或二级缓存的网络坐标。当网络数据包已满无法接收更多的请求时,控制模块将该网络数据包转移至图3所示的数据传输装置发送模块。
步骤7:本装置的数据传输装置发送模块检测网络状态,若没有优先级高于本装置的部件向网络上发送数据包,数据传输装置发送模块立即将准备好的网络数据包发送至片上网络。
步骤8:远程SPM或二级缓存接收到本装置发出的数据包后,判断数据包的类型,若为读操作则返回数据给本装置;若为写操作则将数据包中的数据写入SPM或二级缓存,然后返回同步信号给本装置,本装置清空寄存器模块,可以处理下一个数据传输请求。
有益效果:采用本发明的多核处理器使用计算与通信重叠的编程方式,可以使由片上通信延迟隐藏在计算过程中,本发明还缓解了因为爆发式大规模数据请求造成的网络延迟增加的负面影响。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。

Claims (14)

1.一种片上多核数据传输方法,其特征在于,包括下列步骤:
步骤100,配置数据传输装置,通过软件接口生成控制数据传输装置的指令流,由处理器核将所述指令流发送给位于处理器核内部的数据传输装置,通过软件接口对数据传输装置进行如下配置判断数据传输类型;
步骤200,所述数据传输装置接收上述指令流,对发往同一片SPM或二级缓存的操作进行组合,由所述数据传输装置封装成可以在片上网络上传输的数据包;
步骤300,所述数据传输装置的发送模块查询片上网络,并对数据地址进行解析,给出目的SPM或二级缓存的坐标,当路由器指示可以传输时发送模块将数据包依次发送完毕;
步骤400,所述数据传输装置接收由目的SPM或二级缓存返回的数据或接收同步信号返回给控制模块,直至返回数据或同步信号数目与发送的请求相等,本装置控制模块向处理器核返回本次操作完成信号。
2.如权利要求1所述的片上多核数据传输方法,其特征在于,所述步骤100,还包括下列步骤:
步骤110.设置数据块宽度,设置源数据地址,设置源数据一维步长,设置源数据二维步长,设置目的数据地址,设置目的数据一维步长,设置目的数据二维步长,设置一维数据个数,设置二维数据个数;
步骤120.根据指令流配置数据传输装置的控制寄存器和数据寄存器。
3.如权利要求1所述的片上多核数据传输方法,其特征在于,所述步骤200,还包括下列步骤:
步骤210.由所述控制寄存器判断数据传输类型,对发往同一片SPM或二级缓存的操作进行组合;
步骤220.由所述发送模块封装成可以在片上网络传输的数据包。
4.如权利要求1所述的片上多核数据传输方法,其特征在于,所述步骤300,还包括下列步骤:
步骤310.所述发送模块把目的坐标为本地处理器核的数据包直接发给本地SPM,无需通过片上网络传输;
步骤320.所述数据传输装置的控制模块记录发送的数据包数目。
5.如权利要求1所述的片上多核数据传输方法,其特征在于,所述步骤400,还包括下列步骤:
步骤410.所述接收模块接收由目的SPM或二级缓存根据数据包中的指令返回的数据并写入本地SPM;
步骤420.所述接收模块接收由目的SPM或二级缓存返回的同步信号,并返回该数据传输装置的控制模块;
步骤430.判断所述返回数据或同步信号数目与发送的请求是否相等,若是,执行步骤440;否则,返回步骤410;
步骤440.所述控制模块向处理器核返回本次操作完成信号。
6.如权利要求1所述的片上多核数据传输方法,其特征在于,所述步骤200中的数据包携带数据块宽度,源数据地址,源数据一维步长,源数据二维步长,目的数据地址,目的数据一维步长,目的数据二维步长,一维数据个数,二维数据个数,所属寄存器模块,路由坐标信息。
7.如权利要求4所述的片上多核数据传输方法,其特征在于,所述步骤310中,如果目的坐标是本地处理器核,说明数据包是本地SPM传到本地SPM的,直接指示SPM操作,不需要发送到网络上;
如果目的坐标是远程处理器核或二级缓存,目的坐标将记录在数据包内,数据包通过路由器发送至网络上并最终送至目的处理器核或二级缓存。
8.一种片上多核数据传输装置,其特征在于,包括:
生成指令流模块,用于配置数据传输装置,通过软件接口生成控制数据传输装置的指令流,由处理器核将所述指令流发送给位于处理器核内部的数据传输装置,通过软件接口对数据传输装置进行如下配置用于判断数据传输类型;
接收指令流模块,用于所述数据传输装置接收上述指令流,对发往同一片SPM或二级缓存的操作进行组合,由所述数据传输装置封装成可以在片上网络上传输的数据包;
发送模块,用于所述数据传输装置查询片上网络,并对数据地址进行解析,给出目的SPM或二级缓存的坐标,当路由器指示可以传输时发送模块将数据包依次发送完毕;
接收模块,用于所述数据传输装置接收由目的SPM或二级缓存返回的数据,直至返回数据或同步信号数目与发送的请求相等,本装置控制模块向处理器核返回本次操作完成信号;
控制模块,用于接收同步信号,直至返回数据或同步信号数目与发送的请求相等,本装置控制模块向处理器核返回本次操作完成信号。
9.如权利要求8所述的片上多核数据传输装置,其特征在于,所述生成指令流模块,还包括:
设置数据模块,用于设置数据块宽度,设置源数据地址,设置源数据一维步长,设置源数据二维步长,设置目的数据地址,设置目的数据一维步长,设置目的数据二维步长,设置一维数据个数,设置二维数据个数;
寄存器模块,用于根据指令流配置数据传输装置的控制寄存器和数据寄存器。
10.如权利要求8所述的片上多核数据传输装置,其特征在于,所述接收指令流模块,还包括:
操作模块,用于由所述控制寄存器判断数据传输类型,对发往同一片SPM或二级缓存的操作进行组合;
封装数据包模块,用于由所述发送模块封装成可以在片上网络传输的数据包。
11.如权利要求8所述的片上多核数据传输装置,其特征在于,所述发送模块,还包括:
发送数据包模块,用于所述发送模块把目的坐标为本地处理器核的数据包直接发给本地SPM,无需通过片上网络传输;
记录数据包模块,用于所述数据传输装置的控制模块记录发送的数据包数目。
12.如权利要求8所述的片上多核数据传输方法,其特征在于,所述接收模块,还包括:
数据写入模块,用于所述接收模块接收由目的SPM或二级缓存根据数据包中的指令返回的数据并写入本地SPM;
信号返回模块,用于所述接收模块接收由目的SPM或二级缓存返回的同步信号,并返回给数据传输装置的控制模块;
判断模块,用于判断所述返回数据或同步信号数目与发送的请求是否相等;所述控制模块向处理器核返回本次操作完成信号。
13.如权利要求8所述的片上多核数据传输装置,其特征在于,所述接收指令流模块中的数据包携带数据块宽度,源数据地址,源数据一维步长,源数据二维步长,目的数据地址,目的数据一维步长,目的数据二维步长,一维数据个数,二维数据个数,所属寄存器模块,路由坐标信息。
14.如权利要求8所述的片上多核数据传输装置,其特征在于,所述发送数据包模块中,如果目的坐标是本地处理器核,说明数据包是本地SPM传到本地SPM的,直接指示SPM操作,不需要发送到网络上;
如果目的坐标是远程处理器核或二级缓存,目的坐标将记录在数据包内,数据包通过路由器发送至网络上并最终送至目的处理器核或二级缓存。
CN2011104513741A 2011-12-29 2011-12-29 一种片上多核数据传输方法和装置 Pending CN102567278A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011104513741A CN102567278A (zh) 2011-12-29 2011-12-29 一种片上多核数据传输方法和装置
PCT/CN2012/087985 WO2013097793A1 (zh) 2011-12-29 2012-12-31 一种片上多核数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104513741A CN102567278A (zh) 2011-12-29 2011-12-29 一种片上多核数据传输方法和装置

Publications (1)

Publication Number Publication Date
CN102567278A true CN102567278A (zh) 2012-07-11

Family

ID=46412724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104513741A Pending CN102567278A (zh) 2011-12-29 2011-12-29 一种片上多核数据传输方法和装置

Country Status (2)

Country Link
CN (1) CN102567278A (zh)
WO (1) WO2013097793A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097793A1 (zh) * 2011-12-29 2013-07-04 华为技术有限公司 一种片上多核数据传输方法和装置
CN104933009A (zh) * 2015-04-29 2015-09-23 中国人民解放军国防科学技术大学 一种用于多核dsp间的片上通信方法及数据通信装置
CN105095147A (zh) * 2014-05-21 2015-11-25 华为技术有限公司 片上网络的Flit传输方法及装置
CN110413562A (zh) * 2019-06-26 2019-11-05 北京全路通信信号研究设计院集团有限公司 一种具有自适应功能的同步系统和方法
CN111506541A (zh) * 2020-06-30 2020-08-07 翱捷科技(上海)有限公司 一种嵌入式网络设备中加速网络数据包处理的方法及系统
CN112052944A (zh) * 2020-08-13 2020-12-08 厦门壹普智慧科技有限公司 一种神经网络计算模块及人工智能处理系统
WO2021134521A1 (zh) * 2019-12-31 2021-07-08 北京希姆计算科技有限公司 一种存储管理装置及芯片
CN113138711A (zh) * 2020-01-20 2021-07-20 北京希姆计算科技有限公司 一种存储管理装置及芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103230A1 (en) * 2002-11-25 2004-05-27 Emerson Steven M. Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
CN1904868A (zh) * 2005-07-11 2007-01-31 商辉达股份有限公司 用于包化总线的组合包
CN101290592A (zh) * 2008-06-03 2008-10-22 浙江大学 一种mpsoc上多道程序共享spm的实现方法
US20100058024A1 (en) * 2008-09-01 2010-03-04 Sony Computer Entertainment Inc. Data Transfer Apparatus, Data Transfer Method And Processor
CN102207916A (zh) * 2011-05-30 2011-10-05 西安电子科技大学 一种基于指令预取的多核共享存储器控制设备
CN102262608A (zh) * 2011-07-28 2011-11-30 中国人民解放军国防科学技术大学 基于处理器核的协处理器读写操作控制方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8323112D0 (en) * 1983-08-26 1983-09-28 British Broadcasting Corp Recording of digital data
CN102567278A (zh) * 2011-12-29 2012-07-11 中国科学院计算技术研究所 一种片上多核数据传输方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103230A1 (en) * 2002-11-25 2004-05-27 Emerson Steven M. Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
CN1904868A (zh) * 2005-07-11 2007-01-31 商辉达股份有限公司 用于包化总线的组合包
CN101290592A (zh) * 2008-06-03 2008-10-22 浙江大学 一种mpsoc上多道程序共享spm的实现方法
US20100058024A1 (en) * 2008-09-01 2010-03-04 Sony Computer Entertainment Inc. Data Transfer Apparatus, Data Transfer Method And Processor
CN102207916A (zh) * 2011-05-30 2011-10-05 西安电子科技大学 一种基于指令预取的多核共享存储器控制设备
CN102262608A (zh) * 2011-07-28 2011-11-30 中国人民解放军国防科学技术大学 基于处理器核的协处理器读写操作控制方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DONS-RUI FAN ET AL.: "Godson-T:An Efficient Many-Core Architecture for Parallel Program Executions", 《JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY》 *
刘磊 等: "基于SPM的多核SoC访存结钩设计与优化", 《计算机工程》 *
刘磊: "基于便签式存储器的SoC多处理器访存结构设计与实现", 《2008通信理论与J技术新进展——第十三届全国青年通信学术会议论集(上)》 *
范灵俊 等: "H.264去块滤波算法在众核结构上的并行优化", 《小型微型计算机系统》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097793A1 (zh) * 2011-12-29 2013-07-04 华为技术有限公司 一种片上多核数据传输方法和装置
CN105095147A (zh) * 2014-05-21 2015-11-25 华为技术有限公司 片上网络的Flit传输方法及装置
US10129147B2 (en) 2014-05-21 2018-11-13 Huawei Technologies Co., Ltd. Network-on-chip flit transmission method and apparatus
CN104933009A (zh) * 2015-04-29 2015-09-23 中国人民解放军国防科学技术大学 一种用于多核dsp间的片上通信方法及数据通信装置
CN110413562B (zh) * 2019-06-26 2021-09-14 北京全路通信信号研究设计院集团有限公司 一种具有自适应功能的同步系统和方法
CN110413562A (zh) * 2019-06-26 2019-11-05 北京全路通信信号研究设计院集团有限公司 一种具有自适应功能的同步系统和方法
WO2021134521A1 (zh) * 2019-12-31 2021-07-08 北京希姆计算科技有限公司 一种存储管理装置及芯片
CN114902619A (zh) * 2019-12-31 2022-08-12 北京希姆计算科技有限公司 一种存储管理装置及芯片
CN114902619B (zh) * 2019-12-31 2023-07-25 北京希姆计算科技有限公司 一种存储管理装置及芯片
CN113138711A (zh) * 2020-01-20 2021-07-20 北京希姆计算科技有限公司 一种存储管理装置及芯片
CN113138711B (zh) * 2020-01-20 2023-11-17 北京希姆计算科技有限公司 一种存储管理装置及芯片
CN111506541A (zh) * 2020-06-30 2020-08-07 翱捷科技(上海)有限公司 一种嵌入式网络设备中加速网络数据包处理的方法及系统
CN112052944A (zh) * 2020-08-13 2020-12-08 厦门壹普智慧科技有限公司 一种神经网络计算模块及人工智能处理系统

Also Published As

Publication number Publication date
WO2013097793A1 (zh) 2013-07-04

Similar Documents

Publication Publication Date Title
CN102567278A (zh) 一种片上多核数据传输方法和装置
CN106415515B (zh) 使用不具有sfence的优化的pio写入序列来发送分组
CN106415513B (zh) 用于分组发送的优化的信用返回机制
CN103778013B (zh) 一种多通道Nand Flash控制器及其控制方法
CN101150485A (zh) 一种零拷贝缓冲区队列网络数据发送的管理方法
US8332606B2 (en) System and method for distributed persistent computing platform
CN102012872B (zh) 一种用于嵌入式系统的二级缓存控制方法及装置
CN102609378A (zh) 一种消息式内存访问装置及其访问方法
CN101150486A (zh) 一种零拷贝缓冲区队列网络数据接收的管理方法
CN103221937A (zh) 用于处理集群的加载/存储电路
CN103946803A (zh) 具有高效工作排队的处理器
US7469309B1 (en) Peer-to-peer data transfer method and apparatus with request limits
CN102446159B (zh) 多核处理器的数据管理方法及装置
US20220121476A1 (en) Registering a custom atomic operation with the operating system
CN103593306A (zh) 一种协议处理器Cache控制单元的设计方法
CN103959261A (zh) 网络处理器中的多内核互联
CN104679691B (zh) 一种用于gpdsp的采用主机计数的多核dma分段数据传输方法
CN106662895A (zh) 计算机设备和计算机设备数据读写的方法
CN105260332A (zh) 一种对cpld数据包进行有序存储的方法及系统
CN115938428A (zh) 用于动态随机存储器的控制器、控制方法、电子设备
CN109478171A (zh) 提高openfabrics环境中的吞吐量
CN103914333B (zh) 基于片上网络互连的多核存储系统仿真器
CN115328832B (zh) 一种基于pcie dma的数据调度系统与方法
CN114995882B (zh) 一种异构结构系统包处理的方法
CN109145397A (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
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20121219

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20121219

Address after: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Applicant after: Institute of Computing Technology, Chinese Academy of Sciences

Applicant after: Huawei Technologies Co., Ltd.

Address before: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Applicant before: Institute of Computing Technology, Chinese Academy of Sciences

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120711