CN109783423B - 环形总线以及额度分配方法 - Google Patents
环形总线以及额度分配方法 Download PDFInfo
- Publication number
- CN109783423B CN109783423B CN201910074825.0A CN201910074825A CN109783423B CN 109783423 B CN109783423 B CN 109783423B CN 201910074825 A CN201910074825 A CN 201910074825A CN 109783423 B CN109783423 B CN 109783423B
- Authority
- CN
- China
- Prior art keywords
- credit
- signal
- modules
- module
- slave
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/423—Loop networks with centralised control, e.g. polling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提出一种环形总线以及额度分配方法。环形总线包括从设备模块以及多个主设备模块。从设备模块包括注入表以及状态表。从设备模块用以产生额度信号。额度信号包括节点编号以及激活码。多个主设备模块耦接从设备模块,以形成环形路径。从设备模块判断额度信号是否为新注入的额度信号,以选择依据注入表或状态表来决定额度信号的节点编号。从设备模块依据节点编号将额度信号经由环形路径传递至对应于节点编号的主设备模块。从设备模块经由对应的空闲条目来接收消耗掉额度信号的额度的主设备模块所提供的额度要求信号。本发明能够使额度信号的额度正确且公平地分配至多个主设备模块。
Description
技术领域
本发明有关于一种总线(Bus),且特别是有关于一种环形总线(Ring bus)以及额度(Credit)分配方法。
背景技术
在一个无数据缓存功能的单向环形总线(Ring bus)上,为了不造成数据遗失,作为接收端的从设备(slave)需要保证在作为发送端的多个主设备(master)的其中的一个节点发出额度要求(credit require)后,接收端的从设备必须具有空闲条目(entry)来接收此额度要求。对此,在传统的环形总线的机制中,作为接收端的从设备会根据自身的空闲条目的数量往环形总线上注入额度信号。若环形总线上的某一个主设备要往从设备发出额度要求,则此主设备需先收到由从设备发出的额度信号。
传统的环形总线是采用概率的方式来发出额度信号,并在各个主设备中设置伪随机发生器(RAND),并依据一定的概率来输出有效信号,以决定下一个主设备是否可获取额度信号。然而,在传统的环形总线的架构中,当多个主设备模块当中有一些进行工作,但有一些不进行工作时,各个主设备获取额度信号的概率将会存在不公平,并且额度信号在环形总线中空绕的概率将会变得很高,而不能快速地被有额度需求的主设备获取到,进而造成系统频宽的浪费。有鉴于此,以下将提出几个实施例的解决方案。
发明内容
本发明提供一种环形总线(Ring bus)以及额度(Credit)分配方法,可正确且公平地分配额度信号的额度。
本发明的环形总线包括从设备模块以及多个主设备模块。从设备模块包括注入表以及状态表,并且用以产生额度信号。额度信号包括节点编号以及激活码。多个主设备模块耦接从设备模块,以形成环形路径。从设备模块判断额度信号是否为新注入的额度信号,以选择依据注入表或状态表来决定额度信号的节点编号。从设备模块依据节点编号将额度信号经由环形路径传递至对应于节点编号的主设备模块。当对应于节点编号的主设备模块具有额度需求时,所述主设备模块消耗掉额度信号的额度,并且从设备模块通过对应的空闲条目来接收消耗掉额度信号的额度的主设备模块所提供的额度要求信号。
本发明的额度分配方法适用于环形总线。环形总线包括多个主设备模块以及从设备模块。额度分配方法包括以下步骤:通过从设备模块产生额度信号,其中额度信号包括节点编号以及激活码;通过从设备模块判断额度信号是否为新注入的额度信号,以选择依据注入表或状态表来决定额度信号的节点编号;通过从设备模块依据所述节点编号将额度信号经由环形路径传递至对应于节点编号的主设备模块;当对应于节点编号的所述主设备模块具有额度需求时,通过所述主设备模块消耗掉额度信号的额度;以及通过从设备模块经由对应的空闲条目来接收消耗掉额度信号的额度的所述主设备模块所提供的额度要求信号。
基于上述,本发明的环形总线以及额度分配方法可当从设备模块注入或输出额度信号至多个主设备模块的时候,可依据设置在从设备模块中的所述注入表以及所述状态表来决定所述额度信号的节点编号,以使所述额度信号的额度可正确且公平地分配至所述多个主设备模块。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是本发明的一实施例的环形总线的功能方块图。
图2是本发明的一实施例的额度分配方法的流程图。
图3A以及图3B是本发明的一实施例的从设备模块的操作流程图。
图4是本发明的一实施例的主设备模块的操作流程图。
其中,附图中符号的简单说明如下:
100:环形总线
110:从设备模块
111:注入表
112:状态表
120_1、120_2~120_N:主设备模块
AS_1、AS_2~AS_N:使用信号
CS:额度信号
S210~250、S301~S319、S401~S404:步骤。
具体实施方式
为了使本发明的内容可以被更容易明了,以下特举实施例做为本发明确实能够据以实施的范例。另外,凡可能之处,在图式及实施方式中使用相同标号的元件/构件/步骤代表相同或类似部件。
图1是本发明的一实施例的环形总线的功能方块图。参考图1,环形总线100包括从设备(slave)模块110以及多个主设备(master)模块120_1~120_N,其中N为大于0的正整数。从设备模块110包括注入表111以及状态表112。从设备模块110耦接这些主设备模块120_1~120_N,以形成环形路径。环形总线100可例如是应用在中央处理器(CentralProcessing Unit,CPU)架构中。从设备模块110可例如是主存储器(Main memory),并且这些主设备模块120_1~120_N可例如是多个CPU核,但本发明并不限于此。
在本实施例中,当从设备模块110的存储器空间未有空闲条目(entry)时,从设备模块110可输出一个具有无效编号的额度信号CS在环形总线100中传递。并且,当从设备模块110的存储器空间具有空闲条目时,从设备模块110可新注入一个具有有效编号的额度信号CS至环形总线100中,以循环式地传递经过这些主设备模块120_1~120_N,直到这些主设备模块120_1~120_N的其中之一消耗掉此额度信号CS的额度(credit)。因此,从设备模块110可对应接收消耗掉所述额度信号CS的额度的所述主设备模块所提供的额度要求(credit request)信号。在本实施例中,这些主设备模块120_1~120_N可接收使用信号AS_1~AS_N,以决定这些主设备模块120_1~120_N是否具有额度需求。所属技术领域中的技术人员可设置使用信号AS_1~AS_N为“0”表示无额度需求,设置为“1”表示有额度需求,但本发明并不限于此。
在本实施例中,额度信号CS包括节点编号(node ID)以及激活码(active code)。这些主设备模块120_1~120_N包括多个设备编号,并且额度信号CS的节点编号可对应于这些设备编号的其中之一。在本实施例中,主设备模块120_1~120_N可包括比较器(Comparator)。当额度信号CS传递经过这些主设备模块120_1~120_N时,这些主设备模块120_1~120_N的比较器可比较设备编号是否相同于额度信号CS的节点编号,以使这些主设备模块120_1~120_N的其中之一具有与额度信号CS的节点编号相同的设备编号可消耗掉额度信号CS的额度。在本实施例中,消耗掉额度信号CS的额度的这些主设备模块120_1~120_N的其中之一可将额度信号CS当中的激活码由第一编码状态(例如是“1”)更改为第二编码状态(例如是“0”),并且所述额度信号的所述节点编号维持不变。因此,当此额度信号CS回传至从设备模块110时,从设备模块110可通过判断额度信号CS的激活码是否为第二编码状态,以准确地得知当前消耗掉额度信号CS的额度的这些主设备模块120_1~120_N的其中之一的设备编号。接着,这些主设备模块120_1~120_N的其中之一可发送额度要求信号至从设备模块110,并且从设备模块110可通过此空闲条目来储存此额度要求信号。
在本实施例中,无论是经由从设备模块110新注入的额度信号或是传递经过从设备模块110的额度信号的节点编号都会被从设备模块110重新编号。在本实施例中,从设备模块110可依据注入表111以及状态表112来决定额度信号CS的节点编号。并且,在一实施例中,从设备模块110还可包括计数器(Counter)以及指针(Pointer),以依序将额度信号CS的节点编号指向至注入表111或状态表112中的编号,但本发明并不限于此。以8个主设备模块为例,注入表111可例如是以下表1的形式。在本实施例中,当额度信号CS为新注入的额度信号时,从设备模块110可依据注入表111(如下述表1)的节点编号顺序来决定额度信号CS的节点编号,以使额度信号CS依序轮询这些主设备模块120_1~120_8。
表1
节点编号 |
credit_node_1 |
credit_node_2 |
credit_node_3 |
credit_node_4 |
credit_node_5 |
credit_node_6 |
credit_node_7 |
credit_node_8 |
举例而言,当从设备模块110输出具有有效编号的额度信号CS的节点编号为“credit_node_1”时,若主设备模块120_1接收的使用信号AS_1并未允许主设备模块120_1消耗额度信号CS的额度,则额度信号CS的节点编号为“credit_node_1”维持不变,而激活码依然设置为第一编码状态。因此,当额度信号CS回传至从设备模块110时,从设备模块110可依据例如下述表2的状态表112来重新编号额度信号CS的节点编号。举例来说,当依据表2的状态表将额度信号CS的节点编号为“credit_node_2”,若主设备模块120_2接收的使用信号AS_2允许主设备模块120_2消耗额度信号CS的额度,则额度信号CS的节点编号为“credit_node_2”维持不变,而激活码被设置为第二编码状态。因此,当额度信号CS回传至从设备模块110时,从设备模块110可得知主设备模块120_2具有额度需求。此处节点编号过程为更能理解发明的举例说明,并非实际节点编号过程。在另一实施例中,应依据状态码决定额度信号CS的节点编号。
同样以8个主设备模块为例,状态表112可例如是以下表2的形式。在本实施例中,当额度信号CS为非新注入的额度信号时,从设备模块110可依据状态表112的状态码来决定额度信号CS的节点编号,以使额度信号CS轮询这些主设备模块120_1~120_8的至少其中之一。
表2
节点编号 | 状态码 |
credit_node_1 | 1 |
credit_node_2 | 1 |
credit_node_3 | 0 |
credit_node_4 | 1 |
credit_node_5 | 0 |
credit_node_6 | 1 |
credit_node_7 | 1 |
credit_node_8 | 1 |
需说明的是,在上述从设备模块110依据注入表111来输出额度信号CS轮询这些主设备模块120_1~120_8的过程中,若额度信号CS的额度被消耗,则从设备模块110可对应设置状态表112的状态码。在本实施例中,当这些主设备模块120_1~120_8的其中之一消耗掉额度信号CS的额度时,从设备模块110将状态表112中对应于节点编号的状态码设置为第二编码状态(“0”)。当这些主设备模块120_1~120_8未消耗掉额度信号CS的额度时,从设备模块110将状态表112中对应于节点编号的状态码设置为第一编码状态(“1”)。因此,当上述从设备模块110先依据注入表111来轮询这些主设备模块120_1~120_8后,可得知这些主设备模块120_1~120_8当中何者有较高的机会具有额度需求。接着,从设备模块110依据状态表112来轮询有较高的机会具有额度需求这些主设备模块120_1~120_8的至少其中之一。换言之,以上述表2为例,当额度信号CS为非新注入的额度信号时,从设备模块110依据状态表112(如上述表2)中状态码来决定额度信号CS的节点编号,以使额度信号CS仅轮询主设备模块120_3、120_5(状态码为“0”)。因此,环形总线100可有效率地分配额度至实际上有需求的主设备模块120_3、120_5,而减少轮询无额度需求的其他主设备模块(状态码为“1”),以降低额度信号CS的空绕次数,且提高效率。举例来说,依据上述表1及表2所示,当从设备模块110输出具有有效编号的额度信号CS的节点编号为“credit_node_1”时,若主设备模块120_1接收的使用信号AS_1并未允许主设备模块120_1消耗额度信号CS的额度,则额度信号CS的节点编号为“credit_node_1”维持不变,而激活码依然设置为第一编码状态(“1”)并传回至从设备模块110。从设备模块110依据状态表112(如上述表2)中判断节点编号“credit_node_2”的状态码为第一编码状态(“1”),则将传回至从设备模块110的节点编号“credit_node_1”依据状态表112(如上述表2)重新编号为“credit_node_3”,并且将包含节点编号“credit_node_3”的额度信号上传至环形路径,轮询相应的主设备模组120_1~120_8。
此外,在额度信号CS轮询这些主设备模块120_1~120_8的过程中,当这些主设备模块120_1~120_8的其中之一消耗掉额度信号CS的额度时,额度信号CS的节点编号维持不变,并且当额度信号CS回传至从设备模块110后,从设备模块110查找状态表112中对应于此节点编号的状态码。若节点编号的状态码为第一编码状态(“1”),则更改节点编号的状态码为第二编码状态(“0”)。
另外,当额度信号CS为非新注入的额度信号,并且状态表112中的每一个状态码皆为第一编码状态(“1”)时,从设备模块110将会再次依据上述注入表111来决定额度信号CS的节点编号,以使额度信号CS可重新轮询这些主设备模块120_1~120_8,直到有额度需求的主设备模块出现。
然而,在一实施例中,以节点编号为“credit_node_3”为例,状态表112也可例如是以下表3的形式。状态表112可还包括状态计数值(状态计数值例如是2,而预设的状态计数值是1)以及计数临界值(计数临界值例如是5,而预设的计数临界值是4)。举例而言,当额度信号CS为非新注入的额度信号,并且额度信号CS的节点编号为“credit_node_3”时,若主设备模块120_3接收的使用信号AS_3未允许主设备模块120_3消耗额度信号CS的额度,则从设备模块110对表3的状态计数值加1(例如是2+1=3),并且对表3的计数临界值减1(例如是5-1=4)。反之,若主设备模块120_3接收的使用信号AS_3允许主设备模块120_3消耗额度信号CS的额度,则从设备模块110对表3的状态计数值维持不变(例如是2),并且对表3的计数临界值加2(例如是5+2=7)。本领域技术人员,可根据具体应用配置不同状态计数值以及计数临界值的数值档位,例如上述,若主设备模块120_3接收的使用信号AS_3允许主设备模块120_3消耗额度信号CS的额度,则从设备模块110对表3的状态计数值可更新为“0”。然而,上述说明仅用于解释,以使本领域技术人员更能理解本发明,但本发明并不限于此。
在此一实施例中,当状态计数值大于计数临界值时,从设备模块110才会将节点编号为“credit_node_3”所对应的状态码设置为第一编码状态(“1”)。从设备模块110可自适应性地调整计数临界值,并且从设备模块110调升计数临界值的幅度大于调降计数临界值的幅度。换言之,环形总线100可让无额度需求的主设备模块的状态码被快速地设置为第一编码状态(“1”),而有额度需求的主设备模块的状态码更不容易被快速地设置为第一编码状态(“1”)。因此,环形总线100可有效地防止状态码被频繁地设置为第一编码状态(“1”)。另外,上述的状态计数值可具有最高极限值(例如是9)以及最低极限值(例如是1)。当上述的状态计数值被调整大于最高极限值时,上述的状态计数值将被维持在最高极限值。当上述的状态计数值被调整小于或等于最低极限值时,上述的状态计数值将被维持在最低极限值。
表3
节点编号 | 状态码 | 状态计数值 | 计数临界值 |
credit_node_3 | 0 | 2 | 5 |
图2是本发明的一实施例的额度分配方法的流程图。参考图1以及图2,图1的环形总线100可执行如图2的额度分配方法。在步骤S210中,从设备模块110产生额度信号CS,其中额度信号CS包括节点编号以及激活码。在步骤S220中,从设备模块110判断额度信号CS是否为新注入的额度信号,以选择依据注入表111或状态表112来决定额度信号CS的节点编号。在步骤S230中,从设备模块110依据节点编号将额度信号CS经由环形路径传递至对应于节点编号的这些主设备模块120_1~120_N的其中之一。在步骤S240中,当对应于节点编号的这些主设备模块120_1~120_N的其中之一具有额度需求时,通过这些主设备模块120_1~120_N的其中之一消耗掉此额度信号CS的额度。在步骤S250中,从设备模块110经由对应的空闲条目来接收消耗掉额度信号CS的额度的这些主设备模块120_1~120_N的其中之一所提供的额度要求信号。因此,本发明的额度分配方法可正确且公平地分配额度信号的额度。
另外,关于上述的环形总线100的进一步的实施细节以及技术特征可参考上述图1实施例的说明而获致足够的教示、建议以及实施说明,因此不再赘述。
图3A以及图3B是本发明的一实施例的从设备模块的操作流程图。参考图1、图3A以及图3B,从设备模块110可执行如图3A以及图3B的操作流程。在步骤S301中,从设备模块110判断额度信号CS的激活码是否为第一编码状态。若是,则表示当前额度信号CS的节点编号所对应的主设备模块未消耗额度信号CS的额度。因此,从设备模块110执行步骤S302。在步骤S302中,从设备模块110调升对应于此额度信号的节点编号所对应的状态计数值。在步骤S303中,从设备模块110判断对应于此额度信号CS的节点编号所对应的状态计数值是否大于或等于计数临界值。若是,则从设备模块110执行步骤S304。在步骤S304中,从设备模块110将在状态表112中对应于此额度信号的节点编号的状态码设置为第一编码状态,并且重置状态计数值。若否,则从设备模块110执行步骤S305。在步骤S305中,从设备模块110判断对应于此额度信号的节点编号的计数临界值是否大于最低极限值。
在步骤S305中,若是,则从设备模块110执行步骤S306。在步骤S306中,从设备模块110将对应于此额度信号CS的节点编号的计数临界值设置为最低极限值。若否,则从设备模块110执行步骤S307。在步骤S307中,从设备模块110判断是否全部的状态码皆为第一编码状态。若是,则从设备模块110执行步骤S308。在步骤S308中,从设备模块110再次依据注入表111将此额度信号重新轮询这些主设备模块。若否,则从设备模块110执行步骤S309。在步骤S309中,从设备模块110依据状态表112来决定此额度信号的节点编号,以将额度信号有效提供至较具有额度需求的主设备模块。
在步骤S301中,若否,则从设备模块110执行步骤S310。在步骤S310中,从设备模块110判断此额度信号的节点编号是否为无效编号。若否,则从设备模块110执行步骤S311。在步骤S311中,从设备模块110重置对应于此额度信号的节点编号的状态计数值。在步骤S312中,从设备模块110判断在状态表112中对应于此额度信号的节点编号的状态码是否为第一编码状态。若是,则从设备模块110执行步骤S313。在步骤S313中,从设备模块110将在状态表112中对应于此额度信号的节点编号的状态码修改为第二编码状态。在步骤S314中,从设备模块110调升对应于此额度信号的节点编号的计数临界值。并且,在步骤S312中,若否,则从设备模块110直接执行步骤S314。
在步骤S315中,从设备模块110判断对应于此额度信号的节点编号的计数临界值是否大于最高极限值。若是,则从设备模块110执行步骤S316。在步骤S316中,从设备模块110将对应于此额度信号的节点编号的计数临界值设置为最高极限值。若否,则从设备模块110执行步骤S317。并且,在步骤S310中,若是,则从设备模块110直接执行步骤S317。在步骤S317中,从设备模块110判断从设备模块的队列中是否具有空位置。若是,则从设备模块110执行步骤S318。在步骤S318中,从设备模块110注入新的额度信号,将新注入的额度信号的激活码设置为第一编码状态,并且依据注入表111来决定新的额度信号的节点编号。若否,则从设备模块110执行步骤S319。在步骤S319中,从设备模块110设置新的额度信号的节点编号为无效编号,以及激活码为第二编码状态,并且将具有无效编号的此额度信号输入至环形总线100中。
此外,上述的额度信号的节点编号为无效编号的情况是指当前的环形总线100中没有额度需求,并且当从设备模块110的队列中具有空位置时,从设备模块110可依据注入表111来新注入一个具有特定节点编号的额度信号至环形总线100中。反之,当从设备模块110的队列中尚未有空位置时,从设备模块110则传递一个具有无效编号的额度信号至环形总线100中。因此,本实施例的从设备模块110可正确且公平地分配额度信号的额度至主设备模块120_1~120_N。
图4是本发明的一实施例的主设备模块的操作流程图。参考图1以及图4,主设备模块120_1~120_N的任一个可执行如图4的操作流程。以主设备模块120_1为例,在步骤S401中,主设备模块120_1可判断额度信号的节点编号是否相同于设备编号。若否,则主设备模块120_1结束操作,并且将此额度信号传递至下一个主设备模块120_2。若是,则主设备模块120_1执行步骤S402。在步骤S402中,主设备模块120_1判断使用信号AS_1是否具有额度需求。若是,则主设备模块120_1执行步骤S403。在步骤S403中,主设备模块120_1消耗掉此额度信号的额度,设置此额度信号的激活码为第二编码状态,设置使用信号AS_1为具有额度需求(例如是“1”),并且维持此额度信号的节点编号不变。主设备模块120_1将此额度信号传递至下一个主设备模块120_2。反之,在步骤S402中,若否,则主设备模块120_1执行步骤S404。在步骤S404中,主设备模块120_1维持此额度信号的节点编号不变,并且将此额度信号传递至下一个主设备模块120_2~120_N,并传回至从设备模块。主设备模块120_1~120_N的额度信号传回至从设备模组110的处理流程,已详述于从设备模组处理中,在此并不详述。同理,主设备模块120_2~120_N可同样执行上述操作流程。因此,本实施例的主设备模块120_2~120_N可正确地消耗额度信号的额度。
综上所述,本发明的环形总线以及额度分配方法可通过在从设备模块中设置注入表以及状态表,以使从设备模块可依据目前传递至环形总线中的额度信号是否为新注入的额度信号来决定采用注入表或状态表来设定额度信号的节点编号。从设备模块可依据注入表来依序轮询环形总线中的多个主设备模块,或是可依据状态表当中对应于不同的多个节点编号的状态码来决定是否轮询环形总线中的多个主设备模块的至少其中之一。此外,状态表可进一步设置状态计数值以及计数临界值来决定是否调整状态码,并且通过自适应性地调整计数临界值,以使额度信号可减少轮询无额度需求的主设备模块,并且增加轮询有额度需求的主设备模块。据此,本发明的环形总线以及额度分配方法正确且公平地分配额度信号的额度。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可以在此基础上做进一步的改进和变化,因此本发明的保护范围应当以本申请的权利要求书所界定的范围为准。
Claims (20)
1.一种环形总线,其特征在于,包括:
从设备模块,包括注入表以及状态表,并且用以产生额度信号,其中所述额度信号包括节点编号以及激活码;以及
多个主设备模块,耦接所述从设备模块,以形成环形路径,其中所述额度信号依序轮询所述多个主设备模块,直到所述多个主设备模块的其中之一消耗掉所述额度信号的额度以将所述额度信号回传至所述从设备模块,
其中所述从设备模块判断所述额度信号是否为新注入的额度信号,以选择依据所述注入表或所述状态表来决定所述额度信号的节点编号,
其中所述从设备模块依据所述节点编号将所述额度信号经由所述环形路径传递至对应于所述节点编号的主设备模块,并且当对应于所述节点编号的主设备模块具有额度需求时,该主设备模块消耗掉所述额度信号的额度,并且所述从设备模块经由对应的空闲条目来接收消耗掉所述额度信号的额度的所述主设备模块所提供的要求信号。
2.根据权利要求1所述的环形总线,其特征在于,当所述多个主设备模块的其中之一消耗掉所述额度信号的额度时,所述多个主设备模块的其中之一将所述激活码设置为第二编码状态,以使当所述额度信号回传至所述从设备模块,并且所述从设备模块判断所述额度信号的所述激活码为所述第二编码状态时,所述从设备模块经由对应的所述空闲条目来接收消耗掉所述额度信号的额度的所述主设备模块所提供的所述要求信号。
3.根据权利要求1所述的环形总线,其特征在于,当对应于所述节点编号的所述主设备模块未消耗掉所述额度信号的额度,并且所述额度信号经由所述环形路径回传至所述从设备模块时,所述从设备模块将所述额度信号的所述节点编号依据所述状态表当中对应于不同的多个节点编号的状态码重新编号,以重新将所述额度信号经由所述环形路径传递至所述多个主设备模块中对应于重新编号的节点编号的另一个主设备模块。
4.根据权利要求1所述的环形总线,其特征在于,所述多个主设备模块分别包括比较器以及设备编号,并且当所述额度信号传递经过所述多个主设备模块的其中之一时,所述多个主设备模块的其中之一的所述比较器用以比较所述设备编号是否相同于所述节点编号,以使所述多个主设备模块的其中之一消耗掉所述额度信号的额度。
5.根据权利要求1所述的环形总线,其特征在于,
当所述额度信号为所述新注入的额度信号时,所述从设备模块依据所述注入表来决定所述额度信号的所述节点编号,以使所述额度信号依序轮询所述多个主设备模块,
当所述额度信号为非新注入的额度信号时,所述从设备模块依据所述状态表来决定所述额度信号的所述节点编号,以使所述额度信号轮询所述多个主设备模块的至少其中之一。
6.根据权利要求5所述的环形总线,其特征在于,
当所述多个主设备模块的其中之一消耗掉所述额度信号的额度时,所述从设备模块将所述状态表中对应于所述节点编号的状态码设置为第二编码状态,
当所述多个主设备模块的其中之一未消耗掉所述额度信号的额度时,所述从设备模块将所述状态表中对应于所述节点编号的所述状态码设置为第一编码状态。
7.根据权利要求6所述的环形总线,其特征在于,当所述额度信号为所述非新注入的额度信号,并且所述状态表中的每一个状态码皆为所述第一编码状态时,所述从设备模块再次依据所述注入表来决定所述额度信号的所述节点编号,以使所述额度信号重新轮询所述多个主设备模块。
8.根据权利要求6所述的环形总线,其特征在于,所述状态码对应于状态计数值,并且当所述多个主设备模块的其中之一未消耗掉所述额度信号的额度时,所述从设备模块调升所述状态计数值,并且判断所述状态计数值是否大于计数临界值,以将所述状态码设置为所述第一编码状态。
9.根据权利要求8所述的环形总线,其特征在于,
当所述多个主设备模块的其中之一消耗掉所述额度信号的额度时,所述从设备模块调升与所述多个主设备模块的其中之一的所述状态计数值相对应的所述计数临界值,
当所述多个主设备模块的其中之一未消耗掉所述额度信号的额度时,所述从设备模块调降与所述多个主设备模块的其中之一的所述状态计数值相对应的所述计数临界值。
10.根据权利要求9所述的环形总线,其特征在于,所述从设备模块调升所述计数临界值的幅度大于调降所述计数临界值的幅度。
11.一种额度分配方法,适用于环形总线,所述环形总线包括多个主设备模块以及从设备模块,其特征在于,所述额度分配方法包括:
通过所述从设备模块产生额度信号,其中所述额度信号包括节点编号以及激活码;
通过所述额度信号依序轮询所述多个主设备模块,直到所述多个主设备模块的其中之一消耗掉所述额度信号的额度以将所述额度信号回传至所述从设备模块,
通过所述从设备模块判断所述额度信号是否为新注入的额度信号,以选择依据注入表或状态表来决定所述额度信号的节点编号;
通过所述从设备模块依据所述节点编号将所述额度信号经由所述多个主设备模块以及所述从设备模块形成的环形路径传递至对应于所述节点编号的所述多个主设备模块的其中之一;
当对应于所述节点编号的所述主设备模块具有额度需求时,通过所述主设备模块消耗掉所述额度信号的额度;以及
通过所述从设备模块经由对应的空闲条目来接收消耗掉所述额度信号的额度的所述主设备模块所提供的要求信号。
12.根据权利要求11所述的额度分配方法,其特征在于,当所述多个主设备模块的其中之一消耗掉所述额度信号的额度时,所述多个主设备模块的其中之一将所述激活码设置为第二编码状态,
通过所述从设备模块经由对应的所述空闲条目来接收消耗掉所述额度信号的额度的所述主设备模块所提供的所述要求信号的步骤包括:
当所述额度信号回传至所述从设备模块,并且所述从设备模块判断所述额度信号的所述激活码为所述第二编码状态时,通过所述从设备模块经由对应的所述空闲条目来接收消耗掉所述额度信号的额度的所述主设备模块所提供的所述要求信号。
13.根据权利要求11所述的额度分配方法,其特征在于,还包括:
当对应于所述节点编号的所述多个主设备模块的其中之一未消耗掉所述额度信号的额度,并且所述额度信号经由所述环形路径回传至所述从设备模块时,通过所述从设备模块将所述额度信号的所述节点编号依据所述状态表当中对应于不同的多个节点编号的状态码重新编号,以重新将所述额度信号经由所述环形路径传递至所述多个主设备模块中对应于重新编号的节点编号的另一个主设备模块。
14.根据权利要求11所述的额度分配方法,其特征在于,所述多个主设备模块分别包括比较器以及设备编号,并且当对应于所述节点编号的所述多个主设备模块的其中之一具有额度需求时,通过所述多个主设备模块的其中之一消耗掉所述额度信号的额度的步骤包括:
当所述额度信号传递经过所述多个主设备模块的其中之一时,通过所述多个主设备模块的其中之一的所述比较器比较所述设备编号是否相同于所述节点编号,以使所述多个主设备模块的其中之一消耗掉所述额度信号的额度。
15.根据权利要求11所述的额度分配方法,其特征在于,通过所述从设备模块判断所述额度信号是否为所述新注入的额度信号,以选择依据所述注入表或所述状态表来决定所述额度信号的所述节点编号的步骤包括:
当所述额度信号为所述新注入的额度信号时,所述从设备模块依据所述注入表来决定所述额度信号的所述节点编号,以使所述额度信号依序轮询所述多个主设备模块;以及
当所述额度信号为非新注入的额度信号时,所述从设备模块依据所述状态表来决定所述额度信号的所述节点编号,以使所述额度信号轮询所述多个主设备模块的至少其中之一。
16.根据权利要求15所述的额度分配方法,其特征在于,还包括:
当所述多个主设备模块的其中之一消耗掉所述额度信号的额度时,通过所述从设备模块将所述状态表中对应于所述节点编号的状态码设置为第二编码状态;以及
当所述多个主设备模块的其中之一未消耗掉所述额度信号的额度时,通过所述从设备模块将所述状态表中对应于所述节点编号的所述状态码设置为第一编码状态。
17.根据权利要求16所述的额度分配方法,其特征在于,还包括:
当所述额度信号为所述非新注入的额度信号,并且所述状态表中的每一个状态码皆为所述第一编码状态时,通过所述从设备模块再次依据所述注入表来决定所述额度信号的所述节点编号,以使所述额度信号重新轮询所述多个主设备模块。
18.根据权利要求16所述的额度分配方法,其特征在于,所述状态码对应于状态计数值,并且当所述多个主设备模块的其中之一未消耗掉所述额度信号的额度时,通过所述从设备模块将所述状态表中对应于所述节点编号的所述状态码设置为所述第一编码状态的步骤包括:
当所述多个主设备模块的其中之一未消耗掉所述额度信号的额度时,通过所述从设备模块调升所述状态计数值,并且判断所述状态计数值是否大于计数临界值,以将所述状态码设置为所述第一编码状态。
19.根据权利要求18所述的额度分配方法,其特征在于,还包括:
当所述多个主设备模块的其中之一消耗掉所述额度信号的额度时,通过所述从设备模块调升与所述多个主设备模块的其中之一的所述状态计数值相对应的所述计数临界值;以及
当所述多个主设备模块的其中之一未消耗掉所述额度信号的额度时,通过所述从设备模块调降与所述多个主设备模块的其中之一的所述状态计数值相对应的所述计数临界值。
20.根据权利要求19所述的额度分配方法,其特征在于,所述从设备模块调升所述计数临界值的幅度大于调降所述计数临界值的幅度。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910074825.0A CN109783423B (zh) | 2019-01-25 | 2019-01-25 | 环形总线以及额度分配方法 |
US16/283,830 US10880225B2 (en) | 2019-01-25 | 2019-02-25 | Ring bus and credit allocation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910074825.0A CN109783423B (zh) | 2019-01-25 | 2019-01-25 | 环形总线以及额度分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783423A CN109783423A (zh) | 2019-05-21 |
CN109783423B true CN109783423B (zh) | 2021-05-28 |
Family
ID=66502507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910074825.0A Active CN109783423B (zh) | 2019-01-25 | 2019-01-25 | 环形总线以及额度分配方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10880225B2 (zh) |
CN (1) | CN109783423B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11171798B2 (en) * | 2019-08-01 | 2021-11-09 | Nvidia Corporation | Scalable in-network computation for massively-parallel shared-memory processors |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7712006B1 (en) * | 2002-12-04 | 2010-05-04 | Silicon Graphics International | System and method for conveying information |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037224B2 (en) * | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US20050111478A1 (en) * | 2003-11-20 | 2005-05-26 | International Business Machines Corporation | Distributed control load shaping method and apparatus |
CN101399654B (zh) * | 2007-09-25 | 2011-08-03 | 华为技术有限公司 | 一种串行通信方法和装置 |
US20090125319A1 (en) * | 2007-11-14 | 2009-05-14 | At&T Delaware Intellectual Property, Inc. | Systems, methods, and computer program products for allocating credit based upon distribution of electronic content |
TWI381684B (zh) * | 2008-08-05 | 2013-01-01 | Ind Tech Res Inst | 光封包交換網路之媒介存取控制裝置與方法以及此網路 |
JP6425492B2 (ja) * | 2014-10-17 | 2018-11-21 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
US9904645B2 (en) * | 2014-10-31 | 2018-02-27 | Texas Instruments Incorporated | Multicore bus architecture with non-blocking high performance transaction credit system |
US10740236B2 (en) * | 2017-05-12 | 2020-08-11 | Samsung Electronics Co., Ltd | Non-uniform bus (NUB) interconnect protocol for tiled last level caches |
CN108805275B (zh) * | 2017-06-16 | 2021-01-22 | 上海兆芯集成电路有限公司 | 可编程设备及其操作方法和计算机可用介质 |
-
2019
- 2019-01-25 CN CN201910074825.0A patent/CN109783423B/zh active Active
- 2019-02-25 US US16/283,830 patent/US10880225B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7712006B1 (en) * | 2002-12-04 | 2010-05-04 | Silicon Graphics International | System and method for conveying information |
Also Published As
Publication number | Publication date |
---|---|
US20200244587A1 (en) | 2020-07-30 |
US10880225B2 (en) | 2020-12-29 |
CN109783423A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495524B (zh) | 一种物联网资源订阅的方法、设备和系统 | |
AU5540496A (en) | Method and apparatus for a hybrid contention and polling protocol | |
CN104243611A (zh) | 一种基于分发思想的消息服务中间件系统 | |
CN109783423B (zh) | 环形总线以及额度分配方法 | |
CN106385377B (zh) | 一种信息处理方法和系统 | |
CN112291387A (zh) | 主从机自动寻址方法、装置、设备及存储介质 | |
CN108319509B (zh) | 一种事件管理方法、系统及主控设备 | |
JP3772690B2 (ja) | サービスシステム及びそれに用いるサービス方法 | |
CN114155026A (zh) | 一种资源分配方法、装置、服务器及存储介质 | |
CN116627870A (zh) | 动态优先级加权轮询仲裁方法和仲裁器 | |
EP2439881A1 (en) | Cluster system and request message distribution method for processing multi-node transaction | |
US8855693B2 (en) | Method and apparatus for controlling wireless devices | |
JP2008046892A (ja) | 調停回路 | |
CN113806064A (zh) | 作业调度方法、装置、系统及作业派发装置 | |
CN107318128B (zh) | 无线通信优化方法、装置、存储介质及其计算机设备 | |
CN112187667B (zh) | 数据下载方法、装置、设备及存储介质 | |
CN114386440B (zh) | 一种射频识别中信息防碰撞方法、系统、设备及存储介质 | |
CN108234352B (zh) | 电子控制单元和数据发送方法 | |
CN111885588B (zh) | 执行电子卡管理业务的方法及装置 | |
CN114828218A (zh) | 参考信号传输时机有效性的确定方法和用户设备 | |
CN112968783A (zh) | 基于发送数据的低功耗处理方法及装置 | |
CN107592677B (zh) | 一种数据传输方法及装置 | |
CN111935834B (zh) | 一种数据发送方法、装置、计算机设备及存储介质 | |
CN113452119B (zh) | 充电设备调配方法、装置及系统 | |
CN114244903B (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 | ||
CP03 | Change of name, title or address |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |
|
CP03 | Change of name, title or address |