使用总线的预仲裁装置及其方法

文档序号:7947299阅读:211来源:国知局
专利名称:使用总线的预仲裁装置及其方法
技术领域
本发明涉及在具有至少两个或更多个节点(例如处理器或终端)的全局总线系统中仲裁节点所要求的总线的使用权的装置和方法。本发明具体涉及在能够进行预仲裁的全局总线中对总线使用权的预仲裁。


图1表示用于在常规循环法基础上的仲裁总线的全局总线系统的简图。
该用于通过循环法仲裁总线使用权的方法把特定时间段分配给按顺序进行多重处理的每个处理器(节点)并允许周期性地使用系统资源。换句话说,该方法是一种用于根据给定时隙中的给定序列把总线的使用权分配给每个节点的方式。
在图1中,有n个节点(主节点,从节点,...),包括从节点102到105和具有仲裁单元(算法和/或仲裁逻辑电路)的主节点101。为了仲裁n个节点101到105对总线的使用权,使用总线断言、帧同步和断言时钟(assert c1k)。
在图1中,在实际总线仲裁中不需要响应于n个节点101到105的总线断言的总线许可(BG)信号或者实际传送的信号(例如数据,时钟和复位信号),因此将省略对它们的描述。
如前所述,循环法允许主节点在用于仲裁总线使用权的给定时隙和序列中把总线使用权分配给每个节点。此处,所有节点通过与一个总线控制器的主时钟提供的时钟和干扰(obstacle)相对立的帧同步来保持特定的计数值。
一个请求使用总线的节点要一直等待到轮到它为止,在轮到它时把总线断言传送到总线以便控制总线。此时,剩余节点停止计数,直到前一节点结束对总线的控制。
图2表示在基于预仲裁的分组总线中仲裁总线使用权的方法。
在图2中,有n个节点(主节点,从节点,...),包括从节点202到205和具有仲裁单元(算法和/或仲裁逻辑电路)的主节点201。为了仲裁n个节点201到205对总线的使用权,使用节点地址、总线断言请求和同步时钟。
同样,在图2中,在实际总线仲裁中不需要响应于n个节点201到205的总线断言的总线许可(BG)信号或者实际传送的信号(例如数据,时钟和复位信号),因此将省略对它们的描述。
地址数量应允许主节点显示所有的节点,例如如果主节点具有16个节点,地址应该是4比特地址(24)。
为了仲裁总线的使用权,主节点在固定序列和时隙中搜索所有节点,以查看是否有总线断言请求。
此时,如果某个节点请求使用总线,则主节点允许总线的使用,使得该节点可以控制总线。
当被允许使用总线的节点控制总线并发送和接收数据时,主节点连续地搜索其它节点,查看是否有总线断言请求。如果有来自另一个节点的总线断言请求,则主节点保留该请求,并且如果前一节点结束了对总线的使用,主节点根据保留顺序允许下一个节点使用总线。
图4表示在常规循环法的全局系统中仲裁总线使用权的方法的时序图。
如图4所示,有一个计数器,并且因为不可以保留,总线断言具有与数据传送相同的长度。
因此,一个计数器在节点i传送数据,然后,在经过几个时隙后,在节点i+11传送数据。用于传送断言和数据的时间段等于计数器的停留时间段。
图5表示一个流程图,显示的情况是对8个节点的一个总线断言进行的常规总线断言预仲裁。
参见图5,下面对该总线断言预仲裁进行说明。
在步骤501和502,设置图4的初始条件。
即,进行对8个节点(主节点和从节点)的总线断言仲裁。为此,m=1,即,使用一个总线断言请求(Bus Assert 0)。
此处,节点对一个总线断言(Bus Assert 0)具有一个计数器0(Count0),并对计数器进行计数暂停和计数重新开始。
即,假设计数器0(Count 0)在节点2(Node 2)开始计数。
在步骤503,节点2(Node 2)请求总线断言(Bus_Req),并且响应该请求进行总线许可(BG)。计数器0(Count 0)接收节点2(Node2)的总线断言请求,并且计数器0(Count 0)的计数被临时暂停(Count0=Node 2 Pause)。
在步骤504,确定节点2(Node 2)的总线断言是否结束。在该步骤中,如果节点2(Node 2)的总线断言没有结束,则节点3(Node3)的断言请求经过一个等待步骤505一直等待,直到节点2(Node 2)的总线控制结束。如果节点2(Node 2)的总线断言结束,则在下一步骤中允许节点3(Node 3)的总线断言,并且计数器0(Count 0)重新开始计数。
但是,图1所示的循环法的常规全局总线系统和图2所示的能够进行预仲裁的分组总线结构具有以下问题。
在循环法的全局总线系统的情况下,节点之间的连接是简单的。但是,因为如图4所示只有一个计数器,在一个节点控制总线时,计数器无法预先接收和保留其它节点的总线断言请求,因此全局总线系统在总线使用权的仲裁方面是不足的。
同时,在如图2所示的分组总线结构中执行的总线使用权仲裁方法可以进行预仲裁。但是,因为主节点需要能够显示所有节点的地址,如果节点数量增加,节点的连接变得复杂,并且用于总线使用权仲裁的电路结构变得复杂。
本发明的另一个目的是提供一种用于在全局总线中使用总线的预仲裁装置及其方法,能够在设置至少两个或更多个总线断言并允许每个节点直接执行对应于总线断言的计数的同时,进行总线使用权的仲裁。
本发明的另一个目的是提供一种用于在全局总线中使用总线的预仲裁装置及其方法,能够通过在具有至少两个或更多个总线断言的每个节点中进行多个计数,搜索是否有其它节点的总线断言请求以及根据其它节点的总线断言请求进行计数的临时暂停和重新开始,来有效地仲裁总线在简单电路结构中的使用。
本发明的其它优点、目的和特征将部分地在以下说明中提出,部分地可以由本领域技术人员审看以下内容来理解,或者可以通过本发明的实践获得。本发明的目的和其它优点可以由说明书、权利要求以及附图中特别指出的结构实现和获得。
为了在至少两个或更多个节点同时访问总线时仲裁总线的使用权,根据本发明的保留总线使用权的预仲裁方法包括以下步骤(a)执行至少两个或更多个节点对至少两个总线断言的计数,以在每个节点仲裁总线断言;(b)当两个节点之一请求使用总线时,响应于总线断言临时停止对应节点的计数,并保留总线的使用权以控制总线;(c)对除了使用总线的节点以外的剩余节点进行计数,当剩余节点中的某个节点请求使用总线时,临时停止节点计数并保留下一个节点的总线使用权,并等待直到正在使用总线的节点结束对总线的使用;(d)当使用总线的节点结束对总线的使用时,允许被保留的节点使用总线。
因此,本发明可以克服如图1所示常规全局总线的问题(即,不能预仲裁),并且通过消除一般分组总线中所需的多个节点的复杂连接线而获得简单的结构。
应该理解,本发明的上述一般性说明和以下的详细说明都是示例性和解释性的,是为了提供对本发明权利要求的进一步解释。
参照附图,下面对使用总线的预仲裁装置及其方法进行说明。
图3是全局总线系统的简图,显示根据本发明在全局总线中使用总线的仲裁方法。如图3所示,有n个节点(主节点,从节点,...),包括具有仲裁单元(算法和/或仲裁逻辑电路)的主节点301和从节点302到305。为了仲裁通过n个节点301到304的总线使用,使用至少两个或更多个总线断言、帧同步和用于总线断言的断言时钟。
在图3中,在实际总线仲裁中不需要响应于n个节点301到305的总线断言请求的来自仲裁单元(在主节点中)的总线许可(BG)信号或者从被允许使用总线的节点实际传送的数据,以及用于发送和接收数据的时钟和例如复位信号等控制信号,因此将省略对它们的描述。
如图3所示,本发明具有常规全局总线方法中的多个总线断言。如果总线断言的数量增加,可以增加节点的保留。
例如,在有m个总线断言并且每个节点有m个计数器时,有可能使m-1个节点的总线使用权保留为最大。
在本发明中,用于同步由节点301到305计数的计数器的帧同步或断言时钟与常规方法相同。
节点301到305在节点内执行对多个总线断言的多个计数。为此,该装置具有多个计数器和一个用于控制计数的临时暂停和重新开始的计数器控制逻辑。计数器和计数器控制电路可以容易地在现有技术中实现,因此省略对它们的描述。
此外,计数器和计数器控制电路可以通过处理器的算法实现。
图4表示应用于图3的全局总线系统的本发明的预仲裁方法的时序图。
参照图4,总线断言m-1(Bus Assert 0~m-1)用于n个节点301到305的总线使用仲裁。有m个计数器(Count 0,1,2,3,...m-1)用于处理m个总线断言。计数器要在它们的对应节点中进行计数。
参照图3和6,下面对根据本发明使用总线的预仲裁方法进行说明。
Count 0~Count m-1计数总线断言m-1(Bus Assert 0~m-1),并且计数值表示任意节点(Node 0~Node n)。此时,可以使用m个计数器。因此,在一个节点占用总线时,可以预仲裁最大m-1个节点,并且每个计数器在给定节点中开始计数。
如果某个节点产生总线断言,控制总线断言的计数器停止计数(此时,计数值表示请求总线断言的那个节点),并且总线仲裁单元允许对应节点使用总线,从而进行节点的数据传送。
如图所示,在另一个节点占用总线时进行总线断言,但是实际数据传送是在其它节点的占用结束时进行的。即,总线保留的开始时隙并不总是与数据传送的开始时隙重合,并且可以在其它节点占用总线之前发生。
如果在当前节点使用总线的同时其它节点产生总线断言,则控制总线断言的计数器停止计数并保留(此时,计数器表示请求新总线断言的那个节点)。
如果前一个节点结束了对总线的使用,则总线仲裁单元允许保留的新断言对总线的使用。此时,结束总线使用的节点重新开始计数,并且其它节点的计数器连续进行计数。以此方式,即使某个节点使用总线,也可以保留m-1个节点的总线断言。
下面将引用实例对根据本发明使用总线的预仲裁方法进行说明。
当某个节点i(Node i)(1≤i≤n)控制总线并发送和接收数据时,计数器0(Count 0)的计数值在节点i临时停止。此时,如果进行计数的其它计数器(Count 1~Count m-1)的计数器1(Count 1)接收到节点j(Node j)(1≤j≤n)的总线断言,则计数器1(Count 1)的计数值在节点j临时停止,从而保留节点j(Nodej)的总线使用权,并且节点j等待直到节点i(Node i)的总线控制结束(节点j的总线断言的保留)。
如果节点i的总线控制结束,计数器0(Count 0)重新开始计数(Count 0=Node i+1,Node i+2,...,Node i-2,Node i-1,Node i,Node i+1,Node i+2,...)。总线仲裁单元允许在保留节点j(Node j)中的总线使用,并且节点j控制总线的使用权以发送和接收数据。
即,实际数据传送在对应于节点计数器m-1的总线断言m-1结束之时开始。换句话说,停止计数以进行保留,并且如果其它节点的总线占用结束,那么所保留的节点直接占用总线并控制总线的使用权,以发送和接收数据。
当节点j(Nodej)的总线使用结束时,计数器1(Count 1)重新开始计数(Count 1=Node j+1,Node j+2,...,Node j-2,Node j-1,Node j,Nodej+1,Nodej+2,...)。这种操作也以相同方式在计数器m-1(Countm-1)中进行(Count m-1=Node k+1,Node k+2,...,Node k-2,Node k-1,Node k,Node k+1,Node k+2,...)(1≤k≤n)。
例如,在进行8个节点(n=8)(Node 0,1,2,3,...,7)中的m=3(即3个总线断言(Bus Assert 0,1,2和Count 0,1,2))的总线使用仲裁的情况下,计数器0(Count 0)在节点2(Node 2)中开始计数(在图4中,i=2),计数器1(Count 1)在节点4(Node 4)中开始计数(在图4中,j=4),计数器2(Count 2)在节点6(Node 6)中开始计数(在图4中,k=6),在节点2控制总线的同时从节点4请求总线的使用并对其预仲裁。参照图7,将对上述过程进行说明。
在步骤701和702,设置初始条件。
即,进行8个节点(主节点和从节点)的总线使用仲裁。为此,m=3,即使用3个总线断言(Bus Assert 0,1,2)(当某个节点占用总线时,m-1=2,即可以保留两个节点)。
每个节点具有对3个总线断言(Bus Assert 0,1,2)的3个计数器(Count 0,1,2),并进行每个计数的临时暂停和重新开始。每个计数器开始计数到针对给定节点中的干扰设置的帧同步。此时,计数器0(Count 0)在节点2(Node 2)中开始,计数器1(Count 1)在节点4中开始,计数器2(Count 2)在节点6中开始。
在步骤703,当节点2(Node 2)请求使用总线(Bus Req)时,进行总线许可(BG)。计数器0(Count 0)接收节点2(Node 2)的总线断言并临时停止计数(Count 0=Node 2 Pause),其它计数器1,2(Count 1,2)连续地进行计数(Count 1,2=++)。
在步骤704,在节点2使用总线的同时节点5(Count 5)请求使用总线。如果计数器1(Count 1)接收到该请求,则计数器1(Count 1)临时停止计数(Count 1=Node 5_Pause)并且计数器2(Count 2)连续地进行计数。
在步骤705,确定节点2的总线使用是否结束。在此步骤中,如果节点2的总线使用未结束,则节点5的总线断言请求将经过一个等待步骤706进行等待,直到节点2结束总线的控制。如果节点2结束总线的控制,则在步骤707允许节点5(Node 5)使用总线(Bus_Req&BG=Node 5),并且计数器0(Count 0)和计数器2(Count2)的计数重新开始。
在图7中,在步骤702,每个节点的数表示在开始时间的计数值的开始时隙。通过迅速搜索多个计数对每个总线的请求来提高保留效率。为此,这些节点必须从不同位置而不是相同位置开始。
在本发明中,在计数器0(Count 0)的情况下,总线断言请求由一个开始节点提出,并且在向节点4添加一个时隙的时刻,计数器1(Count 1)接收节点5的总线断言请求。
因为正在使用对应于计数器0(Count 0)的节点2,因此保留节点5的请求。并且在节点2结束使用总线时,节点5可以占用总线。
以相同方式,可以预仲裁其它节点的总线断言请求。因此当一个节点占用总线时,如果有m个总线断言请求和计数器值,那么可以预仲裁最大m-1个节点。
上述实施例仅是示例性的,不应理解为对本发明的限制。本发明的教导可以容易地应用于其它类型的装置。本发明的描述是示意性的,不是为了限制权利要求的范围。本领域技术人员可以进行很多替换、修改和变型。
权利要求
1.一种用于使用总线的预仲裁装置,其在一种总线结构中设置至少两个或更多个计数器来进行总线断言和对总线断言的计数,该总线结构包括n个节点,其中包括具有仲裁单元的主节点和多个从节点,以便在至少两个或更多个节点同时访问总线时对总线的使用进行仲裁。
2.一种用于使用总线的预仲裁方法,在至少两个或更多个节点同时访问总线时对总线的使用进行仲裁,该方法包括以下步骤(a)进行至少两个更多个节点对至少两个总线断言的计数,以在每个节点仲裁总线断言;(b)当两个节点之一请求使用总线时,响应于总线断言临时停止对应节点的计数,并保留总线的使用权。
3.根据权利要求2的方法,其中计数值对应于请求使用总线的节点。
4.根据权利要求2的方法,进一步包括以下步骤等待直到正在使用总线的节点结束对总线的使用。
5.根据权利要求4的方法,进一步包括以下步骤在使用总线的节点结束对总线的使用时,允许被保留的节点使用总线。
6.根据权利要求2的方法,进一步包括以下步骤在除了正在使用总线的节点以外的其它节点进行计数并且其中一个节点请求使用总线时,临时停止对应节点的计数并保留下一个节点的总线使用。
7.根据权利要求2的方法,其中当具有m个节点计数和由每个节点请求的m个总线断言时,在一个节点占用总线的同时可以预仲裁最多m-1个节点。
8.根据权利要求2的方法,其中节点计数器在给定节点中开始计数。
9.根据权利要求2的方法,其中通过帧同步使每个节点中进行的节点计数同步。
10.根据权利要求2的方法,其中总线断言的数量对应于节点计数的数量。
11.根据权利要求2的方法,其中如果总线断言的数量增加,则能够被保留的节点数量也增加。
12.根据权利要求2的方法,其中在临时停止节点计数和保留总线使用的步骤中,被保留的节点控制总线并发送和接收数据。
13.根据权利要求7或12的方法,其中在对应于节点计数器m-1的总线断言m-1结束的时隙开始数据传送。
14.根据权利要求12的方法,其中如果计数器是0,则一个初始开始节点请求使用总线,如果计数器是1,则一个节点在向对应节点加1的时隙内请求使用总线。
15.根据权利要求13的方法,其中总线断言的开始时间和数据传送的开始时间可以互不相同。
全文摘要
揭示了一种用于使用总线的预仲裁装置及其方法。如果在某个节点i(Node i)控制总线并发送和接收数据(Count0=Nodei)的同时,多个计数器(Count1~Count m-1)中的计数器1(Count1)接收到节点j(Node j)的总线断言请求,则计数器1(Count1)的计数值在节点j临时停止,节点j等待直到节点i结束总线控制(节点j的总线断言保留)。如果节点i结束总线控制,则节点i的计数器0(Count0)重新开始计数,并且总线仲裁单元允许被保留的节点j(Node j)使用总线。节点j控制总线以发送和接收数据。计数器在每个节点中直接执行操作,从特定节点开始计数,并作为用于确定节点是否请求总线的装置。
文档编号H04L12/56GK1355635SQ01123808
公开日2002年6月26日 申请日期2001年7月30日 优先权日2000年7月29日
发明者朴禧哲 申请人:Lg电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1