CN113032109A - 一种数据处理的方法、装置和电子设备 - Google Patents
一种数据处理的方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113032109A CN113032109A CN201911252455.1A CN201911252455A CN113032109A CN 113032109 A CN113032109 A CN 113032109A CN 201911252455 A CN201911252455 A CN 201911252455A CN 113032109 A CN113032109 A CN 113032109A
- Authority
- CN
- China
- Prior art keywords
- data source
- data
- codes
- target code
- priority
- 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
Links
- 238000003672 processing method Methods 0.000 title abstract description 6
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 13
- 108091026890 Coding region Proteins 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 2
- 239000004744 fabric Substances 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 102100029648 Beta-arrestin-2 Human genes 0.000 description 1
- 101100109996 Homo sapiens ARRB2 gene Proteins 0.000 description 1
- 101100002079 Schizosaccharomyces pombe (strain 972 / ATCC 24843) arb2 gene Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种数据处理的方法、装置及电子设备,用于解决如何高效的在多个数据源中确定优先传输的数据源,并动态调整数据的优先级顺序的问题。包括:确定任一级仲裁时的数据源个数;根据所述数据源个数按照设定编码方式生成编码;将所述编码按照设定顺序分配给所述数据源;确定所述数据源对应的目标编码;根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种数据处理的方法、装置及电子设备。
背景技术
随着人工智能技术的发展,用户对芯片处理能力的要求越来越高,由于单核芯片的处理能力有限,因此众核芯片的使用越来越广泛。在众核芯片设计中,使用片上网络(Networks on Chip,NOC)实现核与核之间的通信,因此,NOC的性能是众核芯片性能的关键;核与核之间通过数据通道进行通信,通过数据通道的仲裁提高NOC的性能,即提高NOC的通信效率。
因此,在实现多级仲裁时,如何高效的在多个数据源中确定优先传输的数据源,并动态调整数据的优先级顺序是目前需要解决的问题。
发明内容
有鉴于此,本公开实施例提供了一种数据处理的方法、装置及电子设备,用于解决现有技术中如何高效的在多个数据源中确定优先传输的数据源,并动态调整数据的优先级顺序的问题。
根据本公开实施例的第一个方面,提供了一种数据处理的方法,包括:确定任一级仲裁时的数据源个数;根据所述数据源个数按照设定编码方式生成编码;将所述编码按照设定顺序分配给所述数据源;确定所述数据源对应的目标编码;根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。
通过上述方法,当任一级仲裁的仲裁器从两个数据通道分别对应的数据源接收数据时,可以按照设定顺序将编码分配给数据源,使得从两个数据通道分别对应的数据源交替按照所述编码仲裁,保证仲裁延时的平衡。
在一个实施例中,所述根据所述数据源个数按照设定编码方式生成编码,具体包括:根据所述数据源个数按照二进制方式生成编码,所述编码的个数等于所述数据源的个数。
通过该方法,通过二进制方式生成编码,可以有助于对所述编码的编码位进行对位互换,生成互换编码。
在一个实施例中,包括多个数据源组,各数据源组包括至少一个数据源,
其中,所述将所述编码按照设定顺序分配给所述数据源,包括:
根据所述编码的顺序和各数据源组的数据源个数,确定各数据源组对应的编码;
将所述数据源组对应的编码逐一分配给所述数据源组的数据源。
通过上述方法,按照编码的顺序逐一分配,数据源可以快速的获取自身对应的编码。
在一个实施例中,所述确定所述数据源对应的所述目标编码,具体包括:将所述数据源分配到的所述编码的编码位进行对位互换,生成互换编码;将所述互换编码确定为所述数据源的所述目标编码。
通过上述方法,数据源获取编码位互换后的目标编码,可以通过所述目标编码进行仲裁。
在一个实施例中,包括多个数据源组,各数据源组包括至少一个数据源,所述方法还包括:将所述编码的编码位进行对位互换,生成各编码对应的互换编码;
所述将所述编码按照设定顺序分配给所述数据源,包括:
根据所述编码的顺序、各数据源组的数据源个数以及各编码对应的互换编码,确定各数据源组对应的互换编码;
将所述数据源组对应的互换编码逐一分配给所述数据源组的数据源;
所述确定所述数据源对应的目标编码包括:
将所述互换编码确定为所述数据源的目标编码。
通过上述方法,编码先进行互换后生成互换编码,再将互换编码逐一分配给数据源,数据源可以直接获取互换后的目标编码。
在一个实施例中,所述根据所述编码仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序,具体包括:根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,确定获得通道使用权的所述数据源,将获得通道使用权的所述数据源的目标编码的优先级降低为所述优先级顺序中的最后一位。
通过上述方法,将获得通道使用权的数据源的编码的优先级降低为所述优先级顺序中的最后一位,可以实现数据源之间的优先级平衡。
根据本公开实施例的第二个方面,提供了一种数据处理的装置,包括:确定单元,用于确定任一级仲裁时的数据源个数;生成单元,用于根据所述数据源个数按照设定编码方式生成编码;分配单元,用于将所述编码按照设定顺序分配给所述数据源;所述确定单元还用于,确定所述数据源对应的目标编码;处理单元,用于根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。
根据本公开实施例的第三个方面,提供了一种电子设备,所述电子设备包括:多个处理核;以及片上网络,被配置为交互所述多个处理核间的数据和外部数据;所述多个处理核中存储指令,根据所述指令所述电子设备执行如第一方面或第一方面任一种可能所述的方法。
根据本公开实施例的第四个方面,提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面或第一方面任一种可能所述的方法。
根据本公开实施例的第五个方面,提供了一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面或第一方面任一种可能所述的方法。
本公开实施例通过确定任一级仲裁时的数据源个数;根据所述数据源个数按照设定编码方式生成编码;将所述编码按照设定顺序分配给所述数据源;确定所述数据源对应的目标编码;根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。通过上述方法,当任一级仲裁的仲裁器从两个数据通道分别对应的数据源接收数据时,可以按照设定顺序将编码分配给数据源,使得从两个数据通道分别对应的数据源交替按照所述编码仲裁,保证仲裁延时的平衡。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是现有技术中提供的一种数据传输示意图;
图2是本公开一实施例提供的一种数据处理的方法流程图;
图3是本公开一实施例提供的一种数据处理的装置示意图;
图4是本公开一实施例提供的一种电子设备结构示意图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本公开的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
通常情况下,在现有技术中NOC数据通道的仲裁方案,包括固定优先级仲裁方案和平权轮转优先级仲裁方案两种情况,所述数据通道的仲裁也就是根据仲裁确定数据的优先级,进而获得数据通道的使用权。
情况一、固定优先级仲裁方案,数据源的优先级固定,适用于具有特定优先级顺序的仲裁,但是无法实现优先级的动态调整;举例说明,具体如图1所示,假设包括8个数据源,分别为数据(date)0数据源、date1数据源、date2数据源、date3数据源、date4数据源、date5数据源、date6数据源和date7数据源,上述8个数据源通过三个级别仲裁后传输至目的地,由于数据通道有限,多个数据需要竞争使用数据通道,例如,date0和date1根据第一级仲裁的仲裁器(arbiter,ARB)1判断优先级,竞争通道(channel)1的优先使用权;date2和date3根据第一级仲裁的ARB2判断优先级,竞争channel2的优先使用权;Date4和date5根据第一级仲裁的ARB3判断优先级,竞争channel3的优先使用权;Date6和date7根据第一级仲裁的ARB4判断优先级,竞争channel4的优先使用权;channel1的输出数据需要继续与channel2的输出数据通过第二级仲裁的ARB5判断优先级,竞争channel5的优先使用权,即竞争channel5的优先使用权的包括date0、date1、date2和date3;Channel3的输出数据需要继续与channel4的输出数据通过第二级仲裁的ARB6判断优先级,竞争channel6的优先使用权,即竞争channel6的优先使用权的包括date4、date5、date6和date7;Channel5的输出数据需要继续与channel6的输出数据通过第三级仲裁的ARB7判断优先级,竞争channel7的优先使用权,即竞争channel7的优先使用权的包括date0、date1、date2、date3、date4、date5、date6和date7;以此类推,本公开实施例对其不在赘述,直到数据传输至目的地。通过固定优先级仲裁方案可以预先设置每个数据所对应的数据源的优先级,假设在仲裁器1中设置date0数据源的数据的优先级高于date1数据源的数据的优先级,当date0数据源的数据和date1数据源的数据同时传入时,date0数据源的数据获取channel1的优先使用权,优先级无法更改。
情况二、平权轮转优先级仲裁方案,能够实现数据的优先级的动态调整,但是无法缓解数据传输延时的不均衡。举例说明,根据图1可知,将数据源date0至date7按照如表1所示的编码顺序进行编码,表1中每个数据源的编码的长度为3比特,具体如下:
表1
数据源 | 编码 |
date0 | 000 |
date1 | 001 |
date2 | 010 |
date3 | 011 |
date4 | 100 |
date5 | 101 |
date6 | 110 |
date7 | 111 |
上述表1为数据源的编码,数据源的初始优先级顺序为,date0>date1>date2>date3>date4>date5>date6>date7,即对应的编码的优先级顺序为000>001>010>011>100>101>110>111,以上述初始优先级顺序为基础进行平权轮转优先级仲裁;假设,以第三级仲裁为例,ARB7从channel5输入的数据可能来源于数据源date0、date1、date2、date3,从channel6输入的数据可能来源于date4、date5、date6和date7,按照平权轮询仲裁方案,具体的仲裁过程如下:1、第一次数据仲裁:假设data0与data4竞争channel7的优先使用权,根据初始优先级顺序,确定data0获取优先使用权,由于平权轮转,因此下一次仲裁时data0的优先级变为最低,即数据源的优先级顺序为date1>date2>date3>date4>date5>date6>date7>date0,也就是说对应的编码的优先级顺序为001>010>011>100>101>110>111>000;2、第二次数据仲裁:假设data1继续与data4竞争channel7的优先使用权,同理,data1获取优先使用权,由于平权轮转,因此下一次仲裁时data1的优先级变为最低,即数据源的优先级顺序为date2>date3>date4>date5>date6>date7>date0>date1,也就是说对应的编码的优先级顺序为010>011>100>101>110>111>000>001;3、第三次数据仲裁:假设data2继续与data4竞争channel7的优先使用权,同理,data2获取优先使用权,由于平权轮转,因此下一次仲裁时data2的优先级变为最低,即数据源的优先级顺序为date3>date4>date5>date6>date7>date0>date1>date2,也就是说对应的编码的优先级顺序为011>100>101>110>111>000>001>010;4、第四次数据仲裁:假设data3继续与data4竞争channel7的优先使用权,同理,data3获取优先使用权,由于平权轮转,因此下一次仲裁时data3的优先级变为最低,即数据源的优先级顺序为date4>date5>date6>date7>date0>date1>date2>date3,也就是说对应的编码的优先级顺序为100>101>110>111>000>001>010>011;5、第五次数据仲裁:假设data0继续与data4竞争channel7的优先使用权,同理,data4获取优先使用权,由于平权轮转,因此下一次仲裁时data4的优先级变为最低,即数据源的优先级顺序为date5>date6>date7>date0>date1>date2>date3>date4,也就是说对应的编码的优先级顺序为101>110>111>000>001>010>011>100;6、第六次数据仲裁:假设data0继续与data5竞争channel7的优先使用权,同理,data5获取优先使用权,由于平权轮转,因此下一次仲裁时data5的优先级变为最低,即数据源的优先级顺序为date6>date7>date0>date1>date2>date3>date4>date5,也就是说对应的编码的优先级顺序为110>111>000>001>010>011>100>101;7、第七次数据仲裁:假设data0继续与data6竞争channel7的优先使用权,同理,data6获取优先使用权,由于平权轮转,因此下一次仲裁时data5的优先级变为最低,即数据源的优先级顺序为date7>date0>date1>date2>date3>date4>date5>date6,也就是说对应的编码的优先级顺序为111>000>001>010>011>100>101>110;8、第八次数据仲裁:假设data0继续与data7竞争channel7的优先使用权,同理,data7获取优先使用权,由于平权轮转,因此下一次仲裁时data7的优先级变为最低,即数据源的优先级顺序为date0>date1>date2>date3>date4>date5>date6>date7,也就是说对应的编码的优先级顺序为000>001>010>011>100>101>110>111;由上述方案可知,在第一次数据仲裁至第四次数据仲裁的过程中,channel6的输出数据date4、date5、date6和date7被阻塞,在第五次数据仲裁至第八次数据仲裁的过程中,channel5的输出数据date0、date1、date2和date3被阻塞,造成了数据传输时延时不均衡。
本公开实施例中,所述数据通道也可以称为传输通道,本公开实施例对其不做限定。
本公开提供的一种数据处理的方法,如图2所示,包括:
步骤S200、确定任一级仲裁时的数据源个数。
在一种可能的实现方式中,所述任一级仲裁从两个数据通道的数据源获取数据,所述数据源的个数至少为2个。
举例说明,如图1所示,第三级仲裁的仲裁器7从通道5和通道6对应的数据源获取数据,其中,从通道5的输出数据可能为date0、date1、date2和date3,从通道6的输出数据可能为date4、date5、date6和date7,即第三级仲裁的数据源个数为8。
步骤S201、根据所述数据源个数按照设定编码方式生成编码。
在一种可能的实现方式中,根据所述编码确定出所述编码的优先级顺序。
在一种可能的实现方式中,根据所述数据源个数按照二进制方式生成编码,所述编码的个数等于所述数据源的个数。
举例说明,由于数据源个数为8,可以采用3比特的二级制编码,具体编码可以为000、001、010、011、100、101、110以及111,8个二级制编码;当数据源的个数为16,可以采用4比特的二级制编码,具体编码可以为0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、以及1111;本公开实施例中,随着数据源的增加,二进制编码时比特位数增加,具体根据实际情况确定。
步骤S202、将所述编码按照设定顺序分配给所述数据源。
本公开实施例中,将所述编码按照设定顺序分配给所述数据源时,可以包括两种方式:
方式一、包括多个数据源组,各数据源组包括至少一个数据源,其中,所述将所述编码按照设定顺序分配给所述数据源,包括:根据所述编码的顺序和各数据源组的数据源个数,确定各数据源组对应的编码;将所述数据源组对应的编码逐一分配给所述数据源组的数据源。
例如,编码按照编码对应数值从小到大排序,000、001、010、011、100、101、110以及111,数据源包括date0、date1、date2、date3、date4、date5、date6和date7,date0、date1、date2、date3可从通道a输出,date4、date5、date6和date7可从通道b输出,例如,根据数据源输出的通道,上述数据源分为两组,第一组包括date0、date1、date2和date3,第二组包括date4、date5、date6和date7,按照编码的顺序以及各数据源组的数据源个数,确定第一组对应的编码可以为:000、001、010、011,第二组对应的编码可以为:100、101、110、111。然后先将第一组对应的编码逐一分配送第一组date0、date1、date2和date3,第二组对应的编码逐一分配给第二组的数据源,得到如下表2:
表2
应理解,在将所述编码按照设定顺序分配给所述数据源时,还可以按照编码的顺序,将编码逐一分配给各数据源。当包括多个数据源组时,例如,包括2个数据源组时,可以按照编码的顺序,例如,将编码从小到大逐一分配给第一组的各数据源,当第一组均分配有编码时,将剩余编码从小到大逐一分配给第二组的各数据源。本公开对数据源组的数量、各数据源组的数据源数量、将编码按照设定顺序分配给数据源的方式均不做限制。
方式二、可以将所述编码的编码位进行对位互换,生成各编码对应的互换编码;所述将所述编码按照设定顺序分配给所述数据源,包括根据所述编码的顺序、各数据源组的数据源个数以及各编码对应的互换编码,确定各数据源组对应的互换编码;将所述数据源组对应的互换编码逐一分配给所述数据源组的数据源;所述确定所述数据源对应的目标编码包括:将所述互换编码确定为所述数据源的目标编码。
在一种可能的实现方式中,将所述编码的编码位进行对位互换,生成互换编码,将000、001、010、011、100、101、110以及111,进制中心对称互换,生成互换编码,得到如下表3:
表3
编码 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
互换编码 | 000 | 100 | 010 | 110 | 001 | 101 | 011 | 111 |
在一种可能的实现方式中,如前所述,数据源分为两组,第一组包括date0、date1、date2和date3,第二组包括date4、date5、date6和date7,可以根据编码的顺序、各数据源组的数据源个数以及各编码对应的互换编码,确定各数据源组对应的互换编码。例如,确定第一组对应的互换编码为:000、100、010以及110。第二组对应的互换编码为:001、101、011以及111。可以将第一组对应的互换编码逐一分配送第一组date0、date1、date2和date3,可以将第二组对应的互换编码逐一分配给第二组的数据源,得到如下表4:
表4
其中,在将所述编码按照设定顺序分配给所述数据源时,还可以按照编码的顺序,将各编码对应的互换编码逐一分配给各数据源。当包括多个数据源组时,例如,2个数据源组,还可以按照编码的顺序,例如,将编码从小到大,将与编码对应的互换编码逐一分配给第一组的各数据源,当第一组均分配有互换编码时,将剩余编码对应的互换编码逐一分配给第二组的各数据源。
步骤S203、确定所述数据源对应的目标编码。
本公开实施例中,对应步骤S202中的方式一,步骤S203可以为将所述数据源分配到的所述编码的编码位进行对位互换,生成互换编码;将所述互换编码确定为所述数据源的所述目标编码。
在一种可能的实现方式中,将000、001、010、011、100、101、110以及111,按照date0、date1、date2、date3、date4、date5、date6和date7的顺序逐一分配给所述数据源后,将所述编码的编码位进行互换,生成互换编码,得到如下表5:
表5
如表5可知,编码包括:000、001、010、011、100、101、110以及111,对位互换得到的互换编码同样包括:000、001、010、011、100、101、110以及111,部分数据源的编码与互换编码相同,部分数据源的编码与互换编码不同。
对应步骤S202中的方式二,步骤S203具体为将生成互换编码按照顺序逐一分配给所述数据源。
在一种可能的实现方式中,所述互换编码如表3所示,将生成的互换编码按照顺序逐一分配给所述数据源,得到如表4相同的表格。
步骤S204、根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。
在一种可能的实现方式中,所述目标编码对应的优先级顺序可以是根据编码的优先级顺序确定,也可以是根据自身确定,例如,根据目标编码对应的数值排序确定的,本公开实施例对其不做限定。
在一种可能的实现方式中,根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,确定获得通道使用权的所述数据源,将获得通道使用权的所述数据源的目标编码的优先级降低为所述优先级顺序中的最后一位。
举例说明,假设初始设置的优先级顺序为000>001>010>011>100>101>110>111,根据上表4或表5所示,确定数据源的优先级顺序为date0>date4>date2>date6>date1>date5>date3>date7,假设,data0与data4进行仲裁,data0获得数据通道优先权,在下一次仲裁data0的优先级变为最低,优先级顺序更新后的排序为date4>date2>date6>date1>date5>date3>date7>date0。以此类推,本公开实施例对其不再赘述。
下面通过具体实施例描述数据传输过程,以图1中的仲裁器ARB7仲裁channel7为例,各个数据源按上述二进制方式生成的顺序编码为,data0数据源的编码为000,data1数据源的编码为001,data2数据源的编码为010,data3数据源的编码为011,channel5输入ARB7的数据源可能为date0、date1、date2或date3,Data4数据源的编码为100,data5数据源的编码为101,data6数据源的编码为110,data7数据源的编码为111,channel6输入ARB7的数据源可能为date4、date5、date6或date7,将各数据源的编码进行中心对称互换,确定各数据源的互换编码分别为:data0数据源的编码为000,data1数据源的编码为100,data2数据源的编码为010,data3数据源的编码为110,Data4数据源的编码为001,data5数据源的编码为101,data6数据源的编码为011,data7数据源的编码为111,初始设置的优先级顺序为000>001>010>011>100>101>110>111。
首次进行第一次数据仲裁,具体为:假设channel5输入数据源date0,目标编码为000,假设channel6输入数据源date4,目标编码为001,由于优先级顺序000>001,确定date0的优先级高于date4的优先级,因此data0的输入数据源获得channel7的使用权,date0的优先级降为最低,更新优先级顺序为001>010>011>100>101>110>111>000;然后进行第二次数据仲裁,具体为:假设channel5输入数据源date1,目标编码为100,假设channel6输入数据源date4,目标编码为001,由于优先级顺序001>100,确定date4的优先级高于date1的优先级,因此data4的输入数据源获得channel7的使用权,date4的优先级降为最低,更新优先级顺序为010>011>100>101>110>111>000>001;继而进行第三次数据仲裁,具体为:假设channel5输入数据源date1,目标编码为100,假设channel6输入数据源date5,目标编码为101,由于优先级顺序100>101,确定date1的优先级高于date5的优先级,因此data1的输入数据源获得channel7的使用权,date1的优先级降为最低,更新优先级顺序为010>011>101>110>111>000>001>100;继而进行第四次数据仲裁,具体为:假设channel5输入数据源date2,目标编码为010,假设channel6输入数据源date5,目标编码为101,由于优先级顺序101>010,确定date5的优先级高于date2的优先级,因此data5的输入数据源获得channel7的使用权,date5的优先级降为最低,更新优先级顺序为010>011>110>111>000>001>100>101;继而进行第五次数据仲裁,具体为:假设channel5输入数据源date2,目标编码为010,假设channel6输入数据源date6,目标编码为011,由于优先级顺序010>011,确定date2的优先级高于date6的优先级,因此data2的输入数据源获得channel7的使用权,date2的优先级降为最低,更新优先级顺序为>011>110>111>000>001>100>101>010;继而进行第六次数据仲裁,具体为:假设channel5输入数据源date3,目标编码为110,假设channel6输入数据源date6,目标编码为011,由于优先级顺序110>011,确定date6的优先级高于date3的优先级,因此data6的输入数据源获得channel7的使用权,date6的优先级降为最低,更新优先级顺序为110>111>000>001>100>101>010>011;继而进行第七次数据仲裁,具体为:假设channel5输入数据源date3,目标编码为110,假设channel6输入数据源date7,目标编码为111,由于优先级顺序110>111,确定date3的优先级高于date7的优先级,因此data3的输入数据源获得channel7的使用权,date3的优先级降为最低,更新优先级顺序为111>000>001>100>101>010>011>110;继而进行第八次数据仲裁,具体为:假设channel5输入数据源date0,目标编码为000,假设channel6输入数据源date7,目标编码为111,由于优先级顺序111>000,确定date7的优先级高于date0的优先级,因此data7的输入数据源获得channel7的使用权,date7的优先级降为最低,更新优先级顺序为000>001>100>101>010>011>110>111。本公开实施例中,之后的数据仲裁方式与上述相同,不发明对其不再赘述。
通过上述方案,channel5和channel6的数据交替获得channel7的使用权,解决了数据传输延时的不均衡问题,并且,随着channel5和channel6的数据源数量的增加,越能显示出所述数据传输延时的均衡性的效果。
本公开实施例中,所述仲裁器可以为NOC的组成模块。
图3是本公开实施例提供的一种数据处理的装置示意图。如图3所示,本实施例的数据处理的装置包括:确定单元301、生成单元302、分配单元303和处理单元304。其中,所述确定单元301,用于确定任一级仲裁时的数据源个数;生成单元302,用于根据所述数据源个数按照设定编码方式生成编码;分配单元303,用于将所述编码按照设定顺序分配给所述数据源;所述确定单元301还用于,确定所述数据源对应的目标编码;处理单元304,用于根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。
在一个实施例中,所述生成单元302具体用于:根据所述数据源个数按照二进制方式生成编码,所述编码的个数等于所述数据源的个数。
在一个实施例中,包括多个数据源组,各数据源组包括至少一个数据源,所述分配单元303具体用于,所述将所述编码按照设定顺序分配给所述数据源,包括:根据所述编码的顺序和各数据源组的数据源个数,确定各数据源组对应的编码;将所述数据源组对应的编码逐一分配给所述数据源组的数据源。
在一个实施例中,所述确定单元301具体还用于,将所述数据源分配到的所述编码的编码位进行对位互换,生成互换编码;将所述互换编码确定为所述数据源的所述目标编码。
在一个实施例中,包括多个数据源组,各数据源组包括至少一个数据源,所述处理单元304还用于:将所述编码的编码位进行对位互换,生成各编码对应的互换编码;所述分配单元303具体用于:根据所述编码的顺序、各数据源组的数据源个数以及各编码对应的互换编码,确定各数据源组对应的互换编码;将所述数据源组对应的互换编码逐一分配给所述数据源组的数据源;所述确定单元301具体用于:将所述互换编码确定为所述数据源的目标编码。
在一个实施例中,所述处理单元304具体用于:根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,确定获得通道使用权的所述数据源,将获得通道使用权的所述数据源的目标编码的优先级降低为所述优先级顺序中的最后一位。
图4是本公开实施例的电子设备的结构示意图。如图4所示,本实施例的电子设备包括处理核11-1N以及片上网络14。处理核11-1N均与片上网络14连接。片上网络14用于交互所述N个处理核间的数据和外部数据。所述N个处理核中存储指令,根据所述指令所述电子设备执行如下操作:确定任一级仲裁时的数据源个数;根据所述数据源个数按照设定编码方式生成编码;将所述编码按照设定顺序分配给所述数据源;确定所述数据源对应的目标编码;根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。
如本领域技术人员将意识到的,本公开实施例的各个方面可以被实现为系统、方法或计算机程序产品。因此,本公开实施例的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本公开实施例的各个方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任意适当的组合。在本公开实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。
计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。
可以使用包括但不限于无线、有线、光纤电缆、RF等或前述的任意适当组合的任意合适的介质来传送实现在计算机可读介质上的程序代码。
用于执行针对本公开实施例各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如Java、Smalltalk、C++等;以及常规过程编程语言如“C”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如通过使用因特网服务供应商的因特网)。
上述根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图图例和/或框图描述了本公开实施例的各个方面。将要理解的是,流程图图例和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。
还可以将这些计算机程序指令存储在可以指导计算机、其它可编程数据处理设备或其它装置以特定方式运行的计算机可读介质中,使得在计算机可读介质中存储的指令产生包括实现在流程图和/或框图块或块中指定的功能/动作的指令的制品。
计算机程序指令还可以被加载至计算机、其它可编程数据处理设备或其它装置上,以使在计算机、其它可编程设备或其它装置上执行一系列可操作步骤来产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图块或块中指定的功能/动作的过程。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种数据处理的方法,其特征在于,包括:
确定任一级仲裁时的数据源个数;
根据所述数据源个数按照设定编码方式生成编码;
将所述编码按照设定顺序分配给所述数据源;
确定所述数据源对应的目标编码;
根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。
2.如权利要求1所述的方法,其特征在于,所述根据所述数据源个数按照设定编码方式生成编码,包括:
根据所述数据源个数按照二进制方式生成编码,所述编码的个数等于所述数据源的个数。
3.如权利要求1所述的方法,其特征在于,包括多个数据源组,各数据源组包括至少一个数据源,
其中,所述将所述编码按照设定顺序分配给所述数据源,包括:
根据所述编码的顺序和各数据源组的数据源个数,确定各数据源组对应的编码;
将所述数据源组对应的编码逐一分配给所述数据源组的数据源。
4.如权利要求3所述的方法,其特征在于,所述确定所述数据源对应的所述目标编码,包括:
将所述数据源分配到的所述编码的编码位进行对位互换,生成互换编码;
将所述互换编码确定为所述数据源的所述目标编码。
5.如权利要求1所述的方法,其特征在于,包括多个数据源组,各数据源组包括至少一个数据源,
所述方法还包括:将所述编码的编码位进行对位互换,生成各编码对应的互换编码;
所述将所述编码按照设定顺序分配给所述数据源,包括:
根据所述编码的顺序、各数据源组的数据源个数以及各编码对应的互换编码,确定各数据源组对应的互换编码;
将所述数据源组对应的互换编码逐一分配给所述数据源组的数据源;
所述确定所述数据源对应的目标编码包括:
将所述互换编码确定为所述数据源的目标编码。
6.如权利要求1-5中任意一项所述的方法,其特征在于,所述根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序,包括:
根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,确定获得通道使用权的所述数据源,将获得通道使用权的所述数据源的目标编码的优先级降低为所述优先级顺序中的最后一位。
7.一种数据处理的装置,其特征在于,包括:
确定单元,用于确定任一级仲裁时的数据源个数;
生成单元,用于根据所述数据源个数按照设定编码方式生成编码;
分配单元,用于将所述编码按照设定顺序分配给所述数据源;
所述确定单元还用于,确定所述数据源对应的目标编码;
处理单元,用于根据所述目标编码以及所述目标编码对应的优先级顺序,仲裁所述目标编码对应的所述数据源,并更新所述优先级顺序。
8.一种电子设备,其特征在于,所述电子设备包括:
多个处理核;以及
片上网络,被配置为交互所述多个处理核间的数据和外部数据的通信结构;
所述多个处理核中存储指令,根据所述指令所述电子设备执行如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252455.1A CN113032109A (zh) | 2019-12-09 | 2019-12-09 | 一种数据处理的方法、装置和电子设备 |
PCT/CN2020/134921 WO2021115326A1 (zh) | 2019-12-09 | 2020-12-09 | 数据处理的方法、装置和电子设备、存储介质和程序产品 |
US17/778,929 US11863461B2 (en) | 2019-12-09 | 2020-12-09 | Data processing method, data processing apparatus, electronic device, storage medium, and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252455.1A CN113032109A (zh) | 2019-12-09 | 2019-12-09 | 一种数据处理的方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113032109A true CN113032109A (zh) | 2021-06-25 |
Family
ID=76452015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911252455.1A Pending CN113032109A (zh) | 2019-12-09 | 2019-12-09 | 一种数据处理的方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032109A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686864A (zh) * | 2022-11-17 | 2023-02-03 | 沐曦集成电路(南京)有限公司 | 一种仲裁系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778049A (zh) * | 2010-03-04 | 2010-07-14 | 南京大学 | 包-电路交换片上路由器及其传输方法 |
US20130103991A1 (en) * | 2010-06-18 | 2013-04-25 | Samuel Evain | Method of Protecting a Configurable Memory Against Permanent and Transient Errors and Related Device |
CN103914412A (zh) * | 2013-01-09 | 2014-07-09 | 国际商业机器公司 | 用于存储设备中的流量优先化的方法,存储设备以及存储系统 |
CN105871730A (zh) * | 2016-03-22 | 2016-08-17 | 广东工业大学 | 基于网络编码的新型紧凑、高效、快速的片上网络路由器 |
CN108199985A (zh) * | 2017-12-29 | 2018-06-22 | 中国人民解放军国防科技大学 | GPGPU中基于全局节点信息的NoC仲裁方法 |
CN110350922A (zh) * | 2019-07-18 | 2019-10-18 | 南京风兴科技有限公司 | 一种二进制编码的寻址方法及寻址器 |
-
2019
- 2019-12-09 CN CN201911252455.1A patent/CN113032109A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778049A (zh) * | 2010-03-04 | 2010-07-14 | 南京大学 | 包-电路交换片上路由器及其传输方法 |
US20130103991A1 (en) * | 2010-06-18 | 2013-04-25 | Samuel Evain | Method of Protecting a Configurable Memory Against Permanent and Transient Errors and Related Device |
CN103914412A (zh) * | 2013-01-09 | 2014-07-09 | 国际商业机器公司 | 用于存储设备中的流量优先化的方法,存储设备以及存储系统 |
CN105871730A (zh) * | 2016-03-22 | 2016-08-17 | 广东工业大学 | 基于网络编码的新型紧凑、高效、快速的片上网络路由器 |
CN108199985A (zh) * | 2017-12-29 | 2018-06-22 | 中国人民解放军国防科技大学 | GPGPU中基于全局节点信息的NoC仲裁方法 |
CN110350922A (zh) * | 2019-07-18 | 2019-10-18 | 南京风兴科技有限公司 | 一种二进制编码的寻址方法及寻址器 |
Non-Patent Citations (1)
Title |
---|
党小超;路振宇;郝占军;: "基于碰撞识别的优先级仲裁策略", 计算机工程与应用, no. 27, pages 78 - 82 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686864A (zh) * | 2022-11-17 | 2023-02-03 | 沐曦集成电路(南京)有限公司 | 一种仲裁系统 |
CN115686864B (zh) * | 2022-11-17 | 2023-09-15 | 沐曦集成电路(南京)有限公司 | 一种仲裁系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733026B2 (en) | Automated workflow selection | |
US8726290B2 (en) | System and/or method for balancing allocation of data among reduce processes by reallocation | |
CN108268317B (zh) | 一种资源分配方法及装置 | |
CN109660376B (zh) | 一种虚拟网络映射方法、设备和存储介质 | |
US20150186184A1 (en) | Apparatus and method for optimizing system performance of multi-core system | |
KR20130119285A (ko) | 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법 | |
CN110852882B (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
WO2020119029A1 (zh) | 分布式任务调度方法、系统及存储介质 | |
US10360267B2 (en) | Query plan and operation-aware communication buffer management | |
CN105791254A (zh) | 网络请求处理方法、装置及终端 | |
US20110252173A1 (en) | Translating a requester identifier to a chip identifier | |
JP2022539291A (ja) | 計算資源の動的割り当て | |
CN113032109A (zh) | 一种数据处理的方法、装置和电子设备 | |
CN111580974A (zh) | Gpu实例分配方法、装置、电子设备和计算机可读介质 | |
CN109347982A (zh) | 一种数据中心的调度方法及装置 | |
US8850437B2 (en) | Two-pass linear complexity task scheduler | |
US20130097598A1 (en) | Processor with dedicated virtual functions and dynamic assignment of functional resources | |
US11863461B2 (en) | Data processing method, data processing apparatus, electronic device, storage medium, and program product | |
CN113037650B (zh) | 一种数据处理的方法、装置和电子设备 | |
JP6555158B2 (ja) | 割当管理装置、割当管理方法及びプログラム | |
CN111800446B (zh) | 调度处理方法、装置、设备和存储介质 | |
CN113138850A (zh) | 资源分配方法、装置 | |
CN111694670A (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
US9280502B1 (en) | Minimal-cost pseudo-round-robin arbiter | |
US9894670B1 (en) | Implementing adaptive resource allocation for network devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |