CN106603433B - 数据输出调度装置与方法 - Google Patents

数据输出调度装置与方法 Download PDF

Info

Publication number
CN106603433B
CN106603433B CN201510662968.5A CN201510662968A CN106603433B CN 106603433 B CN106603433 B CN 106603433B CN 201510662968 A CN201510662968 A CN 201510662968A CN 106603433 B CN106603433 B CN 106603433B
Authority
CN
China
Prior art keywords
value
weight
binary digit
power
data output
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
Application number
CN201510662968.5A
Other languages
English (en)
Other versions
CN106603433A (zh
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.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN201510662968.5A priority Critical patent/CN106603433B/zh
Priority to TW104139114A priority patent/TWI560609B/zh
Priority to US15/265,450 priority patent/US10025733B2/en
Publication of CN106603433A publication Critical patent/CN106603433A/zh
Application granted granted Critical
Publication of CN106603433B publication Critical patent/CN106603433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明揭露一种数据输出调度装置与方法,能够减少同一队列的数据被连续发送的机会。该方法的一实施例包含下列步骤:提供多个缓存器能够分别储存Q个队列的数据,每该队列对应一权值,所有该权值的总和为Ws,该总和Ws介于2的(M‑1)次方与2的M次方之间且不大于一最大总和,该最大总和不大于2的N次方,其中Q为大于1的整数、M为正整数、N为不小于M的正整数;产生一二进制位反向计数值,该反向计数值不大于2的N次方;以及依据该反向计数值决定该Q个队列的其中之一获得一数据输出权。

Description

数据输出调度装置与方法
技术领域
本发明关于数据输出调度装置与方法,尤其关于能够减少同一队列的数据被连续发送的机会的数据输出调度装置与方法。
背景技术
数据输出调度算法常应用于通信产品(例如网络通信产品),用来为多个队列的数据安排输出顺序。权重式循环(weighted round robin,WRR)算法是常见的数据输出调度算法,能依据多个队列中各队列的权重来从各队列调度数据以输出,举例而言,若该多个队列为队列Q0至队列Q3,队列Q0至Q3的数据依序标示为a、b、c、d,队列Q0至Q3的权重依序为1:1:2:4,则在该些队列均有足够数据待输出的情形下,被输出的数据如图1所示依序将为…a-b-cc-dddd-a-b-cc-dddd-a-b…,其中队列Q0至Q3的数据来自于前一装置或端点110、分别储存于当前装置120的缓存器122至缓存器128、待输出至下一装置或端点130。WRR算法的优点在于容易实现,但缺点在于权重配置不均匀所引起的突发数据流量(data burst)的问题、单个队列的输出不平稳的问题,以图1的例子来说,队列Q3会连续传送四笔数据dddd(相当于数据流量的波峰),接着队列Q0至Q2会依序传送四笔数据a-b-cc(相当于数据流量的波谷),当队列Q3的权重更高或者所连续传送的每笔数据的数据量很大时,数据流量不平稳的现象会更加明显。
发明内容
本发明的一目的在于提供一种数据输出调度装置与方法,以改善先前技术的缺陷。
本发明揭露一种数据输出调度装置,能够减少同一队列的数据被连续发送的机会,该装置的一实施例包含:Q个缓存器(buffer);一权值配值器;以及一轮询(polling)电路。该Q个缓存器分别储存Q个队列的数据,该Q个队列分别对应Q个权值,每一该权值不大于一最大权值,该最大权值不大于2的N次方,其中Q为大于1的整数,N为正整数。该权值配置器用来依据至少一二进制位反向(binary bit reverse)数列分别配置该Q个权值,当该Q个权值中的一第K权值的值为T时,藉此散布该Q个权值中的该第K权值以使其逻辑上关联至2的N次方个排序点中的T个排序点,其中K为不大于Q的正整数、T为不小于0且不大于该最大权值的整数、该2的N次方个排序点的顺序是一递增顺序。该轮询电路依据该2的N次方个排序点的至少一部分的顺序轮询该Q个缓存器,当该轮询电路于一当前轮询周期内依序轮询该Q个缓存器中的第一个缓存器至第Q个缓存器时,若该当前轮询周期逻辑上对应该2的N次方个排序点中的该T个排序点的其中之一,该轮询电路使该第K权值所对应的该缓存器获得一数据输出权(token)。
本发明另揭露一种数据输出调度方法,同样能够减少同一队列的数据被连续发送的机会。该方法的一实施例包含下列步骤:提供多个缓存器能够分别储存Q个队列的数据,每该队列对应一权值,所有该权值的总和为Ws,该总和Ws介于2的(M-1)次方与2的M次方之间且不大于一最大总和,该最大总和不大于2的N次方,其中Q为大于1的整数、M为正整数、N为不小于M的正整数;产生一二进制位反向计数值,该反向计数值不大于2的N次方;以及依据该反向计数值决定该Q个队列的其中之一获得一数据输出权。
有关本发明的特征、实作与功效,兹配合图式作较佳实施例详细说明如下。
附图说明
〔图1〕为先前技术的权重式循环算法的一实施例的示意图;
〔图2〕为本发明的数据输出调度装置的一实施例的示意图;
〔图3〕为二进制计数值与反向二进制计数值的对照图;
〔图4〕为图2的二进制位反向计数器的一实施例的示意图;
〔图5〕为图2的二进制位反向计数器的另一实施例的示意图;
〔图6〕为图2的二进制位反向计数器的又一实施例的示意图;
〔图7〕为图2的二进制位反向计数器的再一实施例的示意图;
〔图8〕为反向计数值划分为多个区间以符合图7的应用的示意图;
〔图9〕为本发明的数据输出调度装置的另一实施例的示意图;
〔图10〕为图9的权值分配器依二进制位反向数列分配权值的示意图;
〔图11〕为图9的权值分配器依二进制位反向数列分配权值的示意图;
〔图12〕为图9的权值配置器以分级方式来分配权值的示意图;
〔图13〕为能够执行图12的分级方式的权值分配器的一实施例的示意图;
〔图14〕为图13的第一级配置器的一实施例的示意图;
〔图15〕为图13的第二级配置器的一实施例的示意图;
〔图16〕为本发明的数据输出调度方法的一实施例的示意图;以及
〔图17〕为本发明的数据输出调度方法的另一实施例的示意图。
具体实施方式
以下说明内容的用语参照本技术领域的习惯用语,如本说明书对部分用语有加以说明或定义,该部分用语的解释以本说明书的说明或定义为准。
本发明的揭露内容包含数据输出调度装置与方法,能够减少同一队列的数据(例如封包)被连续发送的机会。该调度装置的部分组件单独而言可能为已知组件,在不影响该装置的充分揭露及可实施性的前提下,以下说明对于个别已知组件的细节将予以节略。另外,该调度方法可以是软件及/或韧体的形式,并可藉由本发明的装置或其等效装置来执行。再者,只要实施为可能,实施本发明者可依本发明的揭露内容及自身的需求选择性地实施下述实施例中任一实施例的部分或全部技术特征,或者选择性地实施多个实施例的部分或全部技术特征的组合,藉此增加本发明实施时的弹性。
请参阅图2,其是本发明的数据输出调度装置的一实施例的示意图,其中虚线代表视实施需求而存在或不存在的路径,双向箭头可视实施需求而改成单向。本实施例的数据输出调度装置200可以是一网络通信装置(像是交换器、路由器等)或是其它需要数据输出调度的装置,包含:Q个缓存器(buffer)210;一二进制位反向计数器(binary bit reversecounter)220;以及一控制电路230。每一该Q个缓存器210分别储存一队列的数据,每个队列对应一权值,所有权值的总和为Ws,该总和Ws介于2的(M-1)次方与2的M次方之间且不大于一最大总和Wmax,且该最大总和Wmax不大于2的N次方,其中Q为大于1的整数、M为正整数、N为不小于M的正整数。二进制位反向计数器220用来产生一反向计数值,该反向计数值不大于2的N次方。控制电路230依据该反向计数值决定Q个缓存器210的其中之一获得一数据输出权(token)。
在一实施例中,装置200包括八个缓存器210,分别储存Q0至Q7队列,其权值依序为W0、W1、…、W6、W7,所有权值的总和Ws不大于最大总和Wmax,最大总和Wmax小于2的10次方(亦即N=10,此时二进制位反向计数器220为一10位的反向计数器),且本实施例依权值W0至W7定义八个区间如下:
区间0:0至Ws0(Ws0=W0,此区间包含0但不含W0);
区间1:Ws0至Ws1(Ws1=Ws0+W1,此区间包含Ws0但不含Ws1);
区间2:Ws1至Ws2(Ws2=Ws1+W2,此区间包含Ws1但不含Ws2);
区间3:Ws2至Ws3(Ws3=Ws2+W3,此区间包含Ws2但不含Ws3);
区间4:Ws3至Ws4(Ws4=Ws3+W4,此区间包含Ws3但不含Ws4);
区间5:Ws4至Ws5(Ws5=Ws4+W5,此区间包含Ws4但不含Ws5);
区间6:Ws5至Ws6(Ws6=Ws5+W6,此区间包含Ws5但不含Ws6);
区间7:Ws6至Ws7(Ws7=Ws6+W7,此区间包含Ws6但不含Ws7)。
据此,控制电路230可于反向计数器220的反向计数值落于区间I时决定储存QI队列的数据的缓存器210获得数据输出权,其中I在此为0到7之间的整数。请注意,实施本发明者可依本发明的揭露及需求来自行决定区间1至区间7如何构成。
相较于未反向的计数值,二进制位反向计数器220所输出的反向计数值之数值顺序是杂乱的,因此根据反向计数值来决定数据输出权可以降低同一队列的数据被连续发送的机会。更详细地说,请参阅图3,5位的连续二进制计数值为00000、00001、00010、…、11101、11110、11111,若以十进制值来表示即为数值0、1、2、…、29、30、31;5位的二进制位反向计数值为00000、10000、01000、…、10111、01111、11111,若以十进制值来表示即为0、16、8、…、23、15、31。藉由观察N位(图3中N=5)的二进制反向计数值数列,下列特性可以被发现:
(1)数值小于2的(N-1)次方的数值都位于奇数位置;数值大于等于2的(N-1)次方的数值都位于偶数位置。
(2)承(1),数值0至数值2的(N-1)次方减1(图3中为数值0至15)均匀分布在2的(N-1)次方个区间。
(3)上述2的(N-1)次方个区间中,每个区间有二个数值,大小相差2的(N-1)次方。
(4)根据(2)、(3),数值0至数值2的N次方减1(图3中为数值0至31)中,任意2的(N-1)次方个连续数值会分布在2的(N-1)次方个区间。换言之,2的M次方个连续数值会分布在2的M次方个区间。
因此,藉由上述特性,依据反向计数值来决定数据输出权谁属可减少同一队列连续获得数据输出权的机会。
请参阅图4,其是二进制位反向计数器220的一实施例的示意图,此实施例是以N=10为例,然实施本发明者可视需求采用其它N值。如图所示,计数器220包含:一第一N位缓存器410,用来依据一加总值以及一顺向储存顺序(即由第0位(图中标示为b0)至第9位(图中标示为b9)的储存顺序)储存一N位计数值,并输出该计数值;一加法器420,耦接该第一N位缓存器410,用来将该计数值与N位的数值1(本例中为0000000001)相加以产生该加总值;以及一第二N位缓存器430,用来依据一反向储存顺序(即由第9位至第0位的储存顺序)储存该加总值,并输出该加总值以作为该反向计数值。举例而言,若第一N位缓存器410于开始时输出计数值0000000000,加法器420会将该计数值与数值0000000001相加以产生加总值0000000001,接着第二N位缓存器430会依反向储存顺序来储存该加总值0000000001以得到并输出反向计数值1000000000,而第一N位缓存器410会储存加总值0000000001并据以输出新的N位计数值0000000001,后续操作与前述过程相仿。图4的实施例中,权值总和Ws可固定为最大总和Wmax,且最大总和Wmax可为2的N次方,藉此可确保反向计数值必能落在某个队列所对应的区间(例如前述区间0至区间7的其中之一)。
如前所述,所有队列的权值的最大总和Wmax不大于2的N次方,因此N位的二进制位反向计数器220即可满足所有队列的数据输出调度需求。然而,若所有队列的权值总和Ws介于2的(M-1)次方与2的M次方之间(或说权值总和Ws不小于2的(M-1)次方但小于2的M次方)且M小于N,则当反向计数值落于Ws至2的N次方的区间时(此区间包含Ws但不含2的N次方),由于该区间未对应任何队列,因此不会有任何队列获得数据输出权,徒然浪费数据调度操作的时间。因此,针对上述问题,本发明提出二进制位反向计数器220的另一实施例如图5所示。相较于图4之反向计数器220,图5的第一加法器510用来将第一N位缓存器410的计数值与一第一移位数值(而非数值1)相加以产生加总值,藉此略过大于2的M次方的反向计数值,其中该第一移位数值与(N-M)之值相关。举例而言,当反向计数器220为10位计数器(亦即N=10)且权值总和Ws介于2的6次方与2的7次方之间(亦即M=7),则第一移位数值为0000001000(亦即将0000000001左移(N-M)个位且低位补0后得到的值),因此,第一加法器510会依序产生加总值0000001000、0000010000、0000011000…,从而第二N位缓存器430所输出的反向计数值之前三位的值会保持为零,故大于2的7次方的反向计数值会被略过以加快数据调度操作。
二进制位反向计数器220的又一实施例如图6所示。相较于图5,图6之反向计数器220进一步包含:一第二加法器610,耦接第一N位缓存器410,用来将该计数值与一第二移位数值相加以产生一第二加总值,其中该第二移位数值大于该第一移位数值;一判断器620,耦接第一加法器510,用来判断该第一加总值的位反向值是否小于该总和Ws,并产生一判断结果;以及一选择器630,耦接判断器620,用来依据该判断结果输出该第一加总值与第二加总值的其中之一以作为该加总值,藉此,第二N位缓存器430可输出该加总值以作为该反向计数值,其中该反向计数值不大于该总和Ws。举例而言,当反向计数器220为10位计数器(亦即N=10)且权值总和Ws为120(相当于二进制值0001111000)介于2的6次方与2的7次方之间(亦即M=7)时,第二移位数值可设为0000010000(亦即将0000000010左移(N-M)个位且低位补0后得到的值),因此,若判断器620判断第一N位缓存器410之计数值(例如1001110000)与第一移位数值0000001000加总后的第一加总值1001111000的位反向值0001111001大于该总和Ws(即0001111000)时,选择器630可依判断结果输出计数值(例如1001110000)与第二移位数值0000010000加总后的第二加总值1010000000,从而使第二N位缓存器430所输出的反向计数值0000000101小于Ws(即0001111000),故大于Ws的反向计数值会被略过以加快数据调度操作。
在实际进行数据输出的调度操作时,某一队列可能暂时没有数据待输出,若数据输出调度装置200将数据输出权分配给该队列,会浪费调度时间,因此,本发明更提出图7的二进制位反向计数器,能够先将包含所有反向计数值的总区间,例如将图8所示之反向计数值0至1023的总区间均分为多个子区间,例如32个子区间,其中32个非反向计数值0000000000至0000011111反向后所构成的反向计数值数列?????00000的区间即为第一个子区间(其中符号「?」可为0或1),其余31个子区间依序为数列?????10000的区间、数列?????01000的区间、数列?????11000的区间、…、数列?????01111的区间以及数列?????11111的区间,再藉由判断某一子区间是否包含任一队列所能对应的反向计数值以及该任一队列是否为空队列(即没有待输出数据的队列)来决定是否直接跳到下个子区间(亦即略过该某一子区间的计数值)。
如图7所示,其包含:一第一N位缓存器710,用来依据一加总值以及一顺向储存顺序储存一计数值,并输出该计数值;一第一加法器720,耦接该第一N位缓存器,用来将该计数值与一第一移位数值相加以产生一第一加总值;一第二加法器730,耦接该第一N位缓存器710,用来将该计数值与一固定数值相加以产生一第二加总值;一判断器740,用来依据一预设条件进行判断以产生一判断结果;一选择器750,耦接该判断器740,用来依据该判断结果输出该第一加总值与第二加总值的其中之一以作为该加总值;以及一第二N位缓存器760,用来依据一反向储存顺序储存该加总值,并输出该加总值以作为该反向计数值,其中该反向计数值不大于2的M次方。参照图8,在N=10且总区间(亦即数值0至1023的区间)均分为32个子区间的前提下,图7的实施例的第二计数值可设为0000100000(即十进制值32)以在满足前述预设条件时略过32个计数值,从而略过不存在数据输出需求的子区间(其中每个子区间包含32个数值),另外,前述预设条件的一实施例包含:若权值总和Ws不大于32为真(注:若Ws小于32,第二加总值即无必要输出。第二加总值是用于跳过32个值,只有在Ws大于32时才有意义);或若第一N位缓存器710所输出的计数值之最低五个位的值不等于零为真(注:若该最低五个位的值不等于零,其表示数据输出控制之操作已经进入这个区间了,此区间的32个值需被遍历完;相对地,若该最低五个位的值等于零,其对应区间的边界,故该操作可以选择跳过一个区间);或若任一队列不为空队列且当前的子区间内包含该任一队列所能对应的反向计数值(可理解为当前的子区间对应至少一队列的至少一数据输出权)为真,则判断器740会判断不能略过此区间,从而令选择器750输出该第一加总值,否则令选择器750输出该第二加总值。
上述预设条件的实施例中,基于位反向计数数列的特性,倘队列Qj的权重Wj不小于32,则图8之每一子区间必定会包含至少一个队列Qj所能对应的反向计数值,此时若队列Qj具有待输出的数据,则该数据可在32个输出周期内被输出;然而,若队列Qj的权重Wj小于32,则某些子区间不会包含队列Qj所能对应的任何反向计数值,此时,本实施例会判断一子区间是否包含队列Qj所能对应的反向计数值。为便于了解,假定队列数为8以及此8个队列的输出权区间分别为前述的区间0至区间7,则判断一子区间是否包含队列Qj所能对应的反向计数值之方式可依下列判断式来实现:
(Ⅰ)
若队列Qj为队列Q0,当下列式一成立时,当前的子区间内会包含队列Q0所能对应的反向计数值:
0<=cnt_rev[4:0]<Ws0[4:0] (式一)
其中cnt_rev[4:0]是反向计数值的最低5个位之值。
举例而言,在Ws0=W0(即队列Q0的权值)=十进制值17=二进制值0000010001条件下,Ws0[4:0]=10001,能够满足式一(即0<=cnt_rev[4:0]<Ws0[4:0]=10001)之子区间者即为包含队列Q0所能对应的反向计数值的子区间,亦即图8之第1、2、3、5、7、9、11、13、15、17、19、21、23、25、27、29、31子区间(此17个子区间的cnt_rev[4:0]依序为00000、10000、01000、…、01111)。
(Ⅱ)
若队列Qj为Q1至Q7的其中之一(亦即j=1,2,3,4,5,6,7,当下列式二或式三成立时,当前的子区间内会包含队列Qj所能对应的反向计数值:
在(Wsi[4:0]<=Wsj[4:0])成立的前提下(其中i=j-1),
Wsi[4:0]<=cnt_rev[4:0]<Wsj[4:0] (式二)
在(Wsi[4:0]<=Wsj[4:0])不成立的前提下,
Wsi[4:0]<=cnt_rev[4:0]或cnt_rev[4:0]<Wsj[4:0] (式三)
举例而言,在Wi=W0=17、Wj=W1=8、Wsi=Ws0=W0=十进制值17=二进制值0000010001以及Wsj=Ws1=W0+W1=十进制值25=二进制值0000011001条件下,Wsi[4:0]=10001且Wsj[4:0]=11001,Wsi[4:0]<=Wsj[4:0]的前提成立,因此能够满足式二(即Wsi[4:0]=10001<=cnt_rev[4:0]<Wsj[4:0]=11001)之子区间者即为包含队列Qj所能对应的反向计数值的子区间,亦即图8之第4、6、10、14、18、22、26、30子区间(此8个子区间的cnt_rev[4:0]依序为11000、10100、10010、…、10111)。
另举例而言,在Wi=W0=17、Wj=W1=17、Wsi=Ws0=W0=十进制值17=二进制值0000010001以及Wsj=Ws1=W0+W1=十进制值34=二进制值0000100010条件下,Wsi[4:0]=10001且Wsj[4:0]=00010,Wsi[4:0]<=Wsj[4:0]的前提不成立,因此能够满足式三(即Wsi[4:0]=10001<=cnt_rev[4:0]或cnt_rev[4:0]<Wsj[4:0]=00010)之子区间者即为包含队列Qj所能对应的反向计数值的子区间,亦即图8之第1、4、6、8、10、12、14、16、17、18、20、22、24、26、28、30、32子区间(此17个子区间的cnt_rev[4:0]依序为00000、11000、10100、…、11111)。
请注意,前述式一至式三会随N值与子区间之数目而有所调整(例如当子区间之数目由32变为64,式一至式三所采用的位值[4:0]即相应地变为[5:0]),此为本领域人士依本说明书的揭露即可推知。
请参阅图9,其是本发明的数据输出调度装置的另一实施例的示意图,与图2的实施例相较,图9的实施例先依至少一二进制位反向数列将各队列的权值W所对应的数据输出权分散至全部排序点中的W个(其中排序点的数目可不大于或等于被允许之最大权值的数目以避免浪费调度时间),然后再依排序点的顺序轮询(polling)各队列以输出数据;图2的实施例是先依所有队列的权值来定义多个区间用来分别对应该些队列,接着再视二进制位反向计数值所座落的区间来决定该区间所对应的队列获得数据输出权。如图9所示,数据输出调度装置900包含:Q个缓存器910;一权值配置器920;以及一轮询电路930。该Q个缓存器910能够分别储存Q个队列的数据,该Q个队列分别对应Q个权值,每该权值不大于一最大权值,该最大权值不大于2的N次方(本实施例中,该最大权值等于2的N次方减1),其中该Q为大于1的整数,该N为正整数。该权值配置器920用来依据至少一二进制位反向数列分别配置该Q个权值,当该Q个权值中的一第K权值的值为T时,藉此散布该Q个权值中的该第K权值以使其逻辑上关联至2的N次方个排序点中的T个排序点,其中该K为不大于该Q的正整数、该T为不小于0且不大于该最大权值的整数、该2的N次方个排序点的顺序是一递增顺序。该轮询电路930用来依据该2的N次方个排序点的至少一部分(因部分排序点可能未关联任何权值而可被略过)的顺序轮询Q个缓存器910,当轮询电路930于一当前轮询周期内依序轮询Q个缓存器910中第一个缓存器910至第Q个缓存器910时,若该当前轮询周期逻辑上对应上述T个排序点的其中之一,轮询电路930使该第K权值所对应的缓存器910获得一数据输出权。
请参阅图10,若前述Q个队列为队列Q0至队列Q3,队列Q0至Q3的权值依序为2、3、4、4不大于最大权值31(最大权值31不大于2N=25),则权值配置器920可将Q0队列的权值2所对应的2个输出权(分别用数值0与数值1来代表)逻辑上关联至一五位的反向数列中的相同数值(亦即将输出权之数值0关联至数列中的00000以及将输出权之数值1关联至数列中的00001),从而藉由反向数列之数值不连续的特性来散布队列Q0的权值,此时前述2的N次方个排序点为32个连续排序点,第1个排序点逻辑上对应该反向数列的数值00000,第17个排序点逻辑上对应该反向数列的数值00001,因此若轮询电路930的当前轮询周期逻辑上对应该第1或第17个排序点,Q0队列所对应的缓存器910即获得数据输出权。类似地,权值配置器920可将Q1队列的权值3所对应的3个输出权(分别用数值0、1、2来代表)逻辑上关联至一五位的反向数列中的相同数值,藉此散布队列Q1的权值。其它队列的权值可循同样方式被散布。
由图10可以看出,队列Q0至Q3的权值在逻辑上均关联至反向数列的数值0与数值1,倘四个反向数列的相同数值对应32个排序点中的相同排序点,则轮询电路930会在同一轮询周期内依序输出队列Q0至Q3的数据,从而数据之输出仍有过度集中的问题。因此,权值配置器920于散布各队列权值时,可以令任二队列(例如队列Q0与队列Q1)所关联的数列彼此间为平移数列如图11所示,即可避免上述问题。请注意,图11亦可解读为:二队列中一队列的权值所对应的输出权数值逻辑上关联至反向数列中的相同数值,而另一队列的权值所对应的输出权数值逻辑上关联至反向数列中的相同数值加上一平移值。
为避免数据输出调度装置900将时间浪费在没有数据待输出的队列上(其中此队列的权值大于零),权值配置器920可透过分级方式来加快权值的配置。举例而言,如图12所示,每个队列的权值可先相对平均地分配至一个大轮1210中的2的X次方个大圈(其中X为正整数)(图12中为16个大圈分别对应一反向数列的16个值),每个大圈所分配到的权值再相对平均地分配至一个小轮1220中的2的(N-X)个小圈(图12中为8个小圈分别对应一反向数列的8个值),最底下的大圈所包含的小圈中最底下的小圈即为被轮询的小圈,若被轮询的小圈中有分配到权值,此小圈所对应的队列即获得数据输出权,若所有大轮的最底下的大圈的至少其中之一有分配到权值且所对应的队列有数据待输出,则该些大圈所对应的所有小轮1220会被旋转达2(N-X)次以确保有分配到权值的小圈能够被轮询,当小轮1220旋转完毕或不满足上述旋转条件,大轮1210即旋转,以进行下一回合的小轮1220旋转条件的确认与轮询。请注意,图12虽只显示一个大轮1210及一个小轮1220,实际上大轮1210的数目与队列数目相等,小轮1220数目等于大轮1210数目乘以大轮1210圈数,且所有大轮1210会同步旋转,所有小轮1220会同步旋转。
承上所述,为实现图12的分级方式,本发明提出权值配置器920的一实施例如图13所示,图13的权值配置器920包含:一第一级配置器922与一第二级配置器924。该第一级配置器922用来依据每一队列的权值大小对每一权值执行一第一级配置处理,藉此将前述第K权值逻辑上关联至2的X次方个区间(可理解为图12中一个大轮1210的圈数)中的R个区间(可理解为图12中有分配到权值的大圈),该2的X次方个区间逻辑上对应前述2的N次方个排序点(或说逻辑上将该2的N次方个排序点平均分布于该2的X次方个区间,例如将27=128个排序点平均分布于24=16个区间),该2的X次方个区间的每一个对应一区间权值(roundweight)且每该区间权值不大于该第K权值的值(即前述T),该R个区间所对应的区间权值的总和等于T,其中X为小于N的正整数、若T大于或等于2的X次方(亦即第K权值的值多于图12中一个大轮1210的圈数)则R等于2的X次方、若T小于2的X次方(亦即第K权值的值少于图12中一个大轮1210的圈数)则R等于T。该第二级配置器924用来对衍生自每一权值的每一区间权值执行一第二级配置处理,藉此将该R个区间权值中的第S个区间权值(亦即图12中某个大圈所分配到的权值)逻辑上关联至2的(N-X)次方个排序点(可理解为图12中一个小轮1220的圈数)中的Y个排序点(可理解为图12中有分配到权值的小圈),该Y个排序点属于前述T个排序点,S为不小于零且不大于R的整数,Y等于第S个区间权值。本实施例中,由于权值配置器920利用二进制位反向数列配置权值,因此任两个区间权值的差不大于1;另外,(N-X)可小于X,以使第二级配置处理的周期(可理解为图12之小轮1220的圈数)小于第一级配置处理的周期(可理解为图12之大轮1210的圈数),以避免每一回合的第二级配置处理所需之时间太长。
图14与图15分别为第一级配置器922与第二级配罝器924的实施例的示意图,为便于了解,图14与图15的实施例是采用Q=8、N=7(亦即最大权值不大于2N=128)以及X=4之设定,然该些设定可视实际需求而变更,另外,为避免相同标示过多造成混淆,图14与图15省略了部分相同标示。如图14所示,第一级配置器922包含:一第一级移位寄存器(shiftregister)1410(可理解为图12中的大轮1210),包含2的X次方个移位寄存单元1412(图中标示为R)(所储存的移位寄存值可理解为图12中的大圈)(每该寄存单元为能储存至少X位之值的寄存单元,像是X个并联的正反器),用来依据一第一平移致能信号(图中标示为EN1)储存与平移一第一级二进制位反向数列(例如0000、1000、0100、…、0111、1111之数列),其中该平移操作可理解为图12中的大轮1210旋转;以及Q个区间权值输出器1420(图中标示为RW),耦接该第一级移位寄存器1410,用来于一输出权输出周期内依据该第一级二进制位反向数列以及该Q个权值(图中标示为W0至W7)分别输出Q个该区间权值(图中标示为RW0至RW7)。该Q个区间权值输出器1420分别耦接至不同的移位寄存单元1412以达成图11所示之平移效果。每该区间权值输出器1420对应一队列,会将该队列的权值(例如二进制的1111100=十进制的124)的最高(N-X)个位的值(例如二进制的111=十进制的7)加上一比较值以作为区间权值来输出,若该队列的权值(例如二进制的1111100=十进制的124)的最低X个位的值(例如二进制的1100=十进制的12)大于区间权值输出器1420当下所接收的移位寄存单元1412的值(例如十进制数值0至15的其中之一),则该比较值为1,否则为0。请注意,实施本发明者可依已知或自定规则来决定该比较值的值,只要确保2的X次方个输出权输出周期内(可理解为图12中的大轮1210旋转一圈的周期内)一区间权值输出器1420所输出的区间权值的总和等于该区间权值输出器1420所对应的队列的权值即可。
如图15所示,第二级配置器924包含:一第二级移位寄存器1510,包含2的(N-X)次方个移位寄存单元1512(图中标示为R)(所储存的移位寄存值可理解为图12中的小圈)(每该寄存单元1512例如为能储存至少(N-X)位之值的寄存单元,像是(N-X)个并联的正反器),用来依据一第二平移致能信号(图中标示为EN2)储存与平移一第二级二进制位反向数列(例如000、100、010、…、011、111之数列),其中该平移操作可理解为图12中的小轮1220旋转;以及Q个输出权输出器1520(图中标示为Tk),用来于前述输出权输出周期内依据该第二级二进制位反向数列以及该Q个区间权值(图中标示为RW0至RW7)产生Q个输出权指示,每该输出权指示用来告知轮询电路930该输出权指示所对应的缓存器910是否获得数据输出权。上述Q个输出权输出器1520分别从Q个区间权值输出器1420接收一区间权值,本实施例中,若输出权输出器1520所接收的区间权值大于输出权输出器1520所接收的移位寄存单元1512的值(例如十进制数值0至7的其中之一),则输出权输出器1520产生输出权指示来要求数据输出权,否则不要求数据输出权。请注意,实施本发明者可依已知或自定规则来关联输出权输出器1520所接收的区间权值与来自第二级移位寄存器1510的寄存值(例如当区间权值数目为Z,第二级移位寄存器1510的所有寄存值中最大的Z个寄存值被关联至该Z个区间权值),被关联的寄存值所对应的输出权指示会要求数据输出权。
请继续参阅图14、15,当该Q个区间权值的任一个不为零以及该不为零的区间权值所对应的缓存器910存有数据时,该第二级移位寄存器1510即依据前述第二平移致能信号平移该第二级二进制位反向数列(可理解为图12之小轮1220的旋转条件);当该第二级移位寄存器1510将该第二级二进制位反向数列平移达2的(N-X)次方次(可理解为图12之小轮1220已旋转一圈)或停止平移该第二级二进制位反向数列时(可理解为图12之小轮1220的旋转条件不被满足),第一级移位寄存器1410即依据前述第一平移致能信号平移该第一级二进制位反向数列(可理解为图12之大轮1210的旋转条件)。请注意,上述第一平移致能信号与第二平移致能信号可由一平移控制电路(未显示于图)依据上述平移条件来产生。
除前述数据输出调度装置外,本发明也提出一种数据输出调度方法,其可由本发明的装置或其等效装置来执行。该数据输出调度方法的一实施例如图16所示,包含下列步骤:
步骤S162:提供多个缓存器能够分别储存Q个队列的数据,每该队列对应一权值,所有该权值的总和为Ws,该总和Ws介于2的(M-1)次方与2的M次方之间且不大于一最大总和,该最大总和不大于2的N次方,其中该Q为大于1的整数、该M为正整数、该N为不小于该M的正整数。本步骤可由图2之缓存器210来执行。
步骤S164:产生一二进制位反向计数值,该反向计数值不大于2的N次方。本步骤可由图2的二进制位反向计数器220来执行。
步骤S166:依据该反向计数值决定该Q个队列的其中之一获得一数据输出权。本步骤可由图2之控制电路230来执行。
上述数据调度方法的另一实施例如图17所示,包含下列步骤:
步骤S172:提供Q个缓存器能够分别储存Q个队列的数据,该Q个队列分别对应Q个权值,每该权值不大于一最大权值,该最大权值不大于2的N次方,其中该Q为大于1的整数,该N为正整数。本步骤可由图9之缓存器910来执行。
步骤S174:依据至少一二进制位反向数列分别配置该Q个权值,当该Q个权值中的一第K权值的值为T时,藉此散布该Q个权值中的该第K权值以使其逻辑上关联至2的N次方个排序点中的T个排序点,其中该K为不大于该Q的正整数、该T为不小于0且不大于该最大权值的整数、该2的N次方个排序点的顺序是一递增顺序。本步骤可由图9的权值配置器920来执行。
步骤S176:依据该2的N次方个排序点的至少一部分的顺序(其中该至少一部分的排序点的每一个对应一个轮询周期)轮询该Q个缓存器,当于一当前轮询周期内依序轮询该Q个缓存器中第一个缓存器至第Q个缓存器时,若该当前轮询周期逻辑上对应该2的N次方个排序点中的该T个排序点的其中之一,使该第K权值所对应的该缓存器获得一数据输出权。本步骤可由图9之轮询电路930来执行。
综上所述,本发明的数据输出调度装置与方法能够减少同一队列的数据被连续发送的机会,并能因应没有数据待输出的队列来加快数据调度,从而大幅改善数据输出调度的效能。
虽然本发明的实施例如上所述,然而该些实施例并非用来限定本发明,本技术领域具有通常知识者可依据本发明之明示或隐含的内容对本发明的技术特征施以变化,凡此种种变化均可能属于本发明所寻求的专利保护范畴,换言之,本发明的专利保护范围须视本说明书的申请专利范围所界定者为准。
【符号说明】
110 前一装置
120 当前装置
122~128 缓存器
130 下一装置
200 数据输出调度装置
210 Q个缓存器
220 二进制位反向计数器
230 控制电路
410 第一N位缓存器
420 加法器
430 第二N位缓存器
b0~b9 第0位至第9位
510 第一加法器
610 第二加法器
620 判断器
630 选择器
710 第一N位缓存器
720 第一加法器
730 第二加法器
740 判断器
750 选择器
760 第二N位缓存器
910 Q个缓存器
920 权值配置器
930 轮询电路
1210 大轮
1220 小轮
922 第一级配置器
924 第二级配置器
1410 第一级移位寄存器
1412、R 移位寄存单元
1420、RW 区间权值输出器
EN1 第一平移致能信号
W0~W7 权值
RW0~RW7 区间权值
1510 第二级移位寄存器
1512、R 移位寄存单元
1520、Tk 输出权输出器
EN2 第二平移致能信号
S162~S166 步骤
S172~S176 步骤。

Claims (17)

1.一种数据输出调度装置,能够减少同一队列的数据被连续发送的机会,包含:
Q个缓存器,能够分别储存Q个队列的数据,该Q个队列分别对应Q个权值,每该权值不大于一最大权值,该最大权值不大于2的N次方,其中该Q为大于1的整数,该N为正整数;
一权值配置器,用来依据至少一二进制位反向数列分别配置该Q个权值,当该Q个权值中的一第K权值的值为T时,藉此散布该Q个权值中的该第K权值以使其逻辑上关联至2的N次方个排序点中的T个排序点,其中该K为不大于该Q的正整数、该T为不小于0且不大于该最大权值的整数、该2的N次方个排序点的顺序是一递增顺序;以及
一轮询电路,用来依据该2的N次方个排序点的至少一部分的顺序轮询该Q个缓存器,当该轮询电路于一当前轮询周期内轮询该Q个缓存器时,若该当前轮询周期逻辑上对应该2的N次方个排序点中的该T个排序点的其中之一,该轮询电路使该第K权值所对应的该缓存器获得一数据输出权。
2.根据权利要求1所述的数据输出调度装置,其中该权值配置器将小于该第K权值且不小于零的整数逻辑上关联至一第K二进制位反向数列中的相对应数值,藉此散布该第K权值。
3.根据权利要求2所述的数据输出调度装置,其中该权值配置器于散布该Q个权值中的第K+1权值时,将小于该第K+1权值且不小于零的整数逻辑上关联至一第K+1二进制位反向数列中的相对应数值,且该第K+1二进制位反向数列是该第K二进制位反向数列的一平移序列。
4.根据权利要求1所述的数据输出调度装置,其中该权值配置器包含:
一第一级配置器,用来对每该权值执行一第一级配置处理,藉此将该第K权值逻辑上关联至2的X次方个区间的R个区间,该2的X次方个区间逻辑上对应该2的N次方个排序点,该2的X次方个区间的每一个对应一区间权值且每该区间权值不大于该T,该R个区间所对应的区间权值的总和等于该T,其中该X为小于该N的正整数、若该T大于或等于2的X次方则该R等于2的X次方、若该T小于2的X次方则该R等于该T;以及
一第二级配置器,用来对衍生自每该权值的每一区间权值执行一第二级配置处理,藉此将该R个区间权值中的第S个区间权值逻辑上关联至2的N-X次方个排序点中的Y个排序点,该Y个排序点属于该T个排序点,该S为不小于零且不大于该R的整数,该Y等于该第S个区间权值。
5.根据权利要求4所述的数据输出调度装置,其中任二个该区间权值的差不大于1。
6.根据权利要求4所述的数据输出调度装置,其中该第一级配置器包含:
一第一级移位寄存器,包含2的X次方移位寄存单元,用来储存并平移一第一级二进制位反向数列;以及
Q个区间权值输出器,耦接该第一级移位寄存器,用来于一输出权输出周期内依据该第一级二进制位反向数列以及该Q个权值分别输出Q个该区间权值。
7.根据权利要求6所述的数据输出调度装置,其中该第二级配置器包含:
一第二级移位寄存器,包含2的N-X次方个移位寄存单元,用来储存并平移一第二级二进制位反向数列;以及
Q个输出权输出器,用来于该输出权输出周期内依据该第二级二进制位反向数列以及该Q个区间权值产生Q个输出权指示,每该输出权指示用来告知该轮询电路该输出权指示所对应的该缓存器是否获得该数据输出权。
8.根据权利要求7所述的数据输出调度装置,其中当该第二级移位寄存器将该第二级二进制位反向数列平移2的N-X次方次或停止平移该第二级二进制位反向数列时,该第一级移位寄存器即平移该第一级二进制位反向数列。
9.一种数据输出调度方法,能够减少同一队列的数据被连续发送的机会,包含下列步骤:
提供多个缓存器能够分别储存Q个队列的数据,每该队列对应一权值,所有该权值的总和为Ws,该总和Ws介于2的M-1次方与2的M次方之间且不大于一最大总和,该最大总和不大于2的N次方,其中该Q为大于1的整数、该M为正整数、该N为不小于该M的正整数;
产生一二进制位反向计数值,该二进制位反向计数值不大于2的N次方;以及
依据该二进制位反向计数值决定该Q个队列的其中之一获得一数据输出权。
10.根据权利要求9所述的数据输出调度方法,其中该Q个队列中的一第K队列与一第K+1队列分别对应一第K权值以及一第K+1权值,该第K权值与该第K+1权值构成一第K+1区间,决定该Q个队列的其中之一获得该数据输出权的步骤包含:当该二进制位反向计数值落于该第K+1区间内时,决定该第K+1队列获得该数据输出权。
11.根据权利要求10所述的数据输出调度方法,其中当该K等于1时,数值0与该第K权值构成一第一区间,决定该Q个队列的其中之一获得该数据输出权的步骤包含:当该二进制位反向计数值落于该第一区间内时,决定该第K队列获得该数据输出权。
12.根据权利要求9所述的数据输出调度方法,其中产生该二进制位反向计数值的步骤包含:
依据一加总值以及一顺向储存顺序储存一二进制位计数值,并输出该二进制位计数值;
将该二进制位计数值与一预定数值相加以产生该加总值;
将该加总值依据二进制位的反向顺序储存以得到二进制位反向计数值,并输出该二进制位反向计数值;以及
将该加总值储存为新的二进制位计数值并输出该新的二进制位计数值。
13.根据权利要求12所述的数据输出调度方法,其中该预定数值是一第一移位数值以使该二进制位反向计数值不大于2的M次方,或者该预定数值是数值1。
14.根据权利要求13所述的数据输出调度方法,其中当该预定数值是数值1时,该总和Ws固定为该最大总和。
15.根据权利要求9所述的数据输出调度方法,其中产生该二进制位反向计数值的步骤包含:
依据一加总值以及一顺向储存顺序储存一二进制位计数值,并输出该二进制位计数值;
将该二进制位计数值与一第一移位数值相加以产生一第一加总值;
将该二进制位计数值与一第二移位数值相加以产生一第二加总值;
判断该第一加总值的位反向值是否小于该总和Ws,并产生一判断结果;
依据该判断结果输出该第一加总值与第二加总值的其中之一以作为该加总值;
将该加总值依据二进制位的反向顺序储存以得到二进制位反向计数值,并输出该二进制位反向计数值;以及
将该加总值储存为新的二进制位计数值并输出该新的二进制位计数值,
其中该二进制位反向计数值不大于该总和Ws。
16.根据权利要求9所述的数据输出调度方法,其中产生该二进制位反向计数值的步骤包含:
依据一加总值以及一顺向储存顺序储存一二进制位计数值,并输出该二进制位计数值;
将该二进制位计数值与一第一移位数值相加以产生一第一加总值;
将该二进制位计数值与一固定数值相加以产生一第二加总值;
依据一预设条件进行判断以产生一判断结果;
依据该判断结果输出该第一加总值与第二加总值的其中之一以作为该加总值;
将该加总值依据二进制位的反向顺序储存以得到二进制位反向计数值,并输出该二进制位反向计数值;以及
将该加总值储存为新的二进制位计数值并输出该新的二进制位计数值,
其中该二进制位反向计数值不大于2的M次方。
17.根据权利要求16所述的数据输出调度方法,其中该预设条件包含该Q个缓存器的队列的现况。
CN201510662968.5A 2015-10-14 2015-10-14 数据输出调度装置与方法 Active CN106603433B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510662968.5A CN106603433B (zh) 2015-10-14 2015-10-14 数据输出调度装置与方法
TW104139114A TWI560609B (en) 2015-10-14 2015-11-25 Data output dispatching device and method
US15/265,450 US10025733B2 (en) 2015-10-14 2016-09-14 Data output dispatching device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510662968.5A CN106603433B (zh) 2015-10-14 2015-10-14 数据输出调度装置与方法

Publications (2)

Publication Number Publication Date
CN106603433A CN106603433A (zh) 2017-04-26
CN106603433B true CN106603433B (zh) 2019-10-25

Family

ID=58227175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510662968.5A Active CN106603433B (zh) 2015-10-14 2015-10-14 数据输出调度装置与方法

Country Status (3)

Country Link
US (1) US10025733B2 (zh)
CN (1) CN106603433B (zh)
TW (1) TWI560609B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116796677B (zh) * 2023-08-24 2023-11-17 珠海星云智联科技有限公司 一种加权轮询模块的验证方法、系统、设备以及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1798092A (zh) * 2004-12-29 2006-07-05 中兴通讯股份有限公司 一种快速加权轮询调度方法及快速加权轮询调度器和装置
CN101061681A (zh) * 2004-11-22 2007-10-24 皇家飞利浦电子股份有限公司 无线网络中无明确业务说明的通信时间公平传输管理
US7382792B2 (en) * 2001-11-23 2008-06-03 International Business Machines Corporation Queue scheduling mechanism in a data packet transmission system
CN101950282A (zh) * 2010-08-30 2011-01-19 中国科学院计算技术研究所 一种多处理器系统及其同步引擎

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343066B2 (en) * 2000-03-10 2002-01-29 Tellabs Operations, Inc. Non-consecutive data readout scheduler
US20020083063A1 (en) * 2000-12-26 2002-06-27 Bull Hn Information Systems Inc. Software and data processing system with priority queue dispatching
CN100477630C (zh) * 2004-11-10 2009-04-08 华为技术有限公司 一种数据网络中的队列调度方法及装置
CN100463451C (zh) * 2005-12-29 2009-02-18 中山大学 一种网络数据流的多维队列调度与管理方法
US7986705B2 (en) * 2007-06-13 2011-07-26 International Business Machines Corporation Determining a transmission order for frames based on bit reversals of sequence numbers
US7995597B2 (en) * 2008-10-14 2011-08-09 Nortel Networks Limited Method and system for weighted fair queuing
US8127105B2 (en) * 2008-11-04 2012-02-28 Qualcomm Incorporated Parallel pruned bit-reversal interleaver
TW201102828A (en) * 2009-07-02 2011-01-16 Magima Digital Information Co Ltd Memory access scheduling device and method thereof and memory access control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382792B2 (en) * 2001-11-23 2008-06-03 International Business Machines Corporation Queue scheduling mechanism in a data packet transmission system
CN101061681A (zh) * 2004-11-22 2007-10-24 皇家飞利浦电子股份有限公司 无线网络中无明确业务说明的通信时间公平传输管理
CN1798092A (zh) * 2004-12-29 2006-07-05 中兴通讯股份有限公司 一种快速加权轮询调度方法及快速加权轮询调度器和装置
CN101950282A (zh) * 2010-08-30 2011-01-19 中国科学院计算技术研究所 一种多处理器系统及其同步引擎

Also Published As

Publication number Publication date
CN106603433A (zh) 2017-04-26
TWI560609B (en) 2016-12-01
US20170109303A1 (en) 2017-04-20
TW201714077A (zh) 2017-04-16
US10025733B2 (en) 2018-07-17

Similar Documents

Publication Publication Date Title
CN105468335B (zh) 流水级运算装置、数据处理方法及片上网络芯片
CN106127301B (zh) 一种随机神经网络硬件实现装置
CN103823780A (zh) 一种实时现场总线控制调度方法
CN101854353A (zh) 一种基于fpga的多芯片并行加密方法
CN106603433B (zh) 数据输出调度装置与方法
CN102111350A (zh) 矩阵qr分解的fpga装置
CN107015782A (zh) 一种基于不可约三项式的有限域乘法器
CN105045743B (zh) 一种具备优先级调度的多协议转换方法
CN103873181A (zh) 一种lte系统中伪随机序列并行生成方法
CN102122240A (zh) 一种数据类型转换电路
CN105388817B (zh) 脉冲的生成方法及装置
CN105988973A (zh) 用于快速傅里叶变换的方法和电路
CN104090737A (zh) 一种改进型部分并行架构乘法器及其处理方法
CN103956991A (zh) 一种基于cpu/gpu异构平台的fir滤波并行实现方法
CN101567781A (zh) 利用排序产生的序号码加密的方法及密码机
CN103853524A (zh) 一种乘法器装置和实现乘法运算的方法
KR20220064337A (ko) 세분화된 희소 정수 및 부동 소수점 연산들을 위한 프로세서
CN105721107B (zh) 一种分块计算crc以提高时钟频率的装置和方法
CN110515587A (zh) 乘法器、数据处理方法、芯片及电子设备
CN102347833B (zh) 一种基于ram共享技术的可重构s盒电路结构
CN106411545A (zh) 一种业务属性的计数方法及装置
CN104731551B (zh) 基于fpga进行除法操作的方法及装置
CN116167425A (zh) 一种神经网络加速方法、装置、设备及介质
CN108196881A (zh) 一种基于可配置技术的定点运算加速单元
CN102130744A (zh) 计算循环冗余校验码的方法和装置

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
GR01 Patent grant
GR01 Patent grant