CN1322440C - 多设备系统中的通信子系统及其通信方法 - Google Patents
多设备系统中的通信子系统及其通信方法 Download PDFInfo
- Publication number
- CN1322440C CN1322440C CNB031420176A CN03142017A CN1322440C CN 1322440 C CN1322440 C CN 1322440C CN B031420176 A CNB031420176 A CN B031420176A CN 03142017 A CN03142017 A CN 03142017A CN 1322440 C CN1322440 C CN 1322440C
- Authority
- CN
- China
- Prior art keywords
- main equipment
- bus
- slave unit
- moderator
- arbitration
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明提供了一种多设备系统及其通信方法,该系统包括:至少一条总线;至少一个仲裁器;多个主设备;多个从设备;在该系统中用以下方法进行通信:将该多设备系统中的多个主设备和/或从设备分别划分成多个不同级别,级别高的主设备具有比级别低的主设备更高的总线响应速度要求;级别高于一个预定阈值的主设备和级别高于另一个预定阈值的从设备之间的通信采用较高的数据传送速率;其他情况下则采用较低的数据传送速率。带宽要求较高的主设备和从设备之间的通信采用较高的数据传送速率,能够很快地完成数据传送操作并使系统中的实时设备在得到快速有效的响应的情况下能保证较高的总线频率。
Description
本申请与本申请人于2003年6月20日提交的中国专利申请号为03129415.4的专利申请相关,所述发明申请通过引用引入这里作为参考。
技术领域
本发明涉及一种多设备系统及用于其中的通信方法,尤其涉及采用了改进的变速率数据传送方式的多设备系统及其通信方法,使系统中的实时设备在得到快速有效的响应的情况下能保证较高的总线频率。
背景技术
半导体生产工艺的迅猛发展大大推动了集成电路设计业的发展,特别是半导体生产工艺中深亚微米技术的出现把单芯片系统设计推到了集成电路设计的前沿。单芯片系统技术,是把以前分散在多个不同的芯片上的多个处理器集成在同一块芯片上,以形成一个功能完善、性能优化的完整的系统。由于单芯片系统的物理面积和封装针脚相对于多芯片系统都有了较大幅度的减少,使得整个系统的生产成本相应地大幅度降低。另一方面,系统中的知识产权(IP)复用技术缩短了单芯片系统的设计周期,使系统的设计成本也得以降低。
单芯片系统中可能包括各种处理器,如中央处理器(CPU)、数字信号处理器(DSP)和各种专用集成电路(ASIC)等,以及存储单元,甚至可能包括各种内设处理器内核的子系统。整个系统规模的扩大使系统的复杂性较之以前的多芯片系统也大为提高,因而如何合理有效地调节系统中各个处理器或者是子系统的运行在整个系统设计过程中成为一个相当重要的问题。总线架构就是用来达成系统中各个处理器或者子系统的相互通信,包括指令传送和数据传送。
在多设备系统内多个设备之间的信号传送中,向总线发出请求,要求进行信号传送的设备称为主设备;而主设备要求与之进行信号传送的目标设备则称为从设备。对于多设备的通信常常是采用仲裁器来对多个设备发出的总线使用请求作出判断,根据各种算法决定出给予总线占有权的设备,然后由获得授权的主设备占有总线与相应的从设备进行通信。为了达到减小电路面积、降低制造成本的目的,多设备系统中常常采用共享总线的方式达成总线上各设备的通信;但在同一时间总线上只能由一个主设备占有总线进行通信。另一方面,多设备系统中的各个设备其本身性质就常常是各不相同,有的是输入输出设备,如键盘、鼠标或显示器等,而有的是中央处理器(CPU)和数字信号处理系统(DSP)等,或是一些其他的子系统等。输入输出设备对于总线的响应速度要求并不高,因此它所需的带宽并不要求很高,而中央处理器和数字信号处理系统等处理器类对实时响应速度有着较高的要求,相应地也要求总线能够为其提供高速带宽。如果把带宽要求高和带宽要求不高或者还有一些对带宽要求介于二者之间的设备直接同时连接到总线上,而同时由一个仲裁器进行集中式仲裁,往往造成各种带宽不同的设备之间的相互制约,而不能及时对实时设备进行响应。
现今单芯片系统技术的发展使集成电路单位面积功能增加得以实现,而市场需求又一起推动着系统中更多功能的集成,多功能的实现从硬件上而言不可避免地要在系统中加入更多用来执行各种功能的设备。在多设备系统的总线架构中,如果主设备和从设备增多,数据传送过程中的布线延时就会对数据传送速率产生较大的影响,因而引起总线的频率迅速下降。而由于近年来在大规模集成电路中系统频率的大幅度提高和布线的密集也使得布线延时在整个系统的传输延迟占有的比例越来越高,导致系统传输延迟的不确定性也相应增加。
发明内容
本发明的目的在于提供一种采用变速率数据传送方法的多设备系统,该系统对总线上的多个设备进行分层仲裁并采用不同的速率进行数据传送,从一个方面提高了总线的频率,保证了对快速响应有较高要求的设备的响应速度。
根据本发明的一个方面,提供了一种多设备系统中的通信子系统,该多设备系统包括:至少一条总线;至少一个仲裁器;与所述总线和仲裁器相连接的多个主设备;与所述总线和仲裁器相连接的多个从设备,所述多个从设备中的任何一个都可通过所述总线与所述多个主设备中的任何一个进行数据传送操作;其特征在于,所述通信子系统包括:将该多设备系统中的多个主设备和/或从设备分别划分成多个不同级别的划分装置,其中级别高的主设备具有比级别低的主设备更高的总线响应速度要求;对所述主/从设备请求的通信进行判断的判断装置,判断所述请求的通信是否将发生在级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间;根据上述判断装置的判断结果进行数据传送的数据传送装置,其中该数据传送装置对级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间的通信采用较高的数据传送速率;级别低于第一预定阈值的主设备与从设备之间的通信或主设备与级别低于第二预定阈值的从设备之间的通信则采用较低的数据传送速率。
根据本发明的另一个方面,提供了一种多设备系统中的通信方法,该多设备系统包括至少一条总线;至少一个与总线相连接的仲裁器;与总线和仲裁器相连接的多个主设备;与总线和仲裁器相连接的多个从设备,多个从设备中的任何一个都可通过总线与多个主设备中的任何一个进行数据传送操作;其中,该方法包括下列步骤:按照各主设备和/或从设备对总线带宽要求的不同,将该多设备系统中的多个主设备和/或从设备分别划分成多个不同级别,级别高的主设备具有比级别低的主设备更高的总线响应速度要求;所述仲裁器判断当级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间进行通信时,采用较高的数据传送速率;当级别低于第一预定阈值的主设备与从设备之间进行通信或主设备与级别低于第二预定阈值的从设备之间进行通信时,则采用较低的数据传送速率。
此外,根据本发明的附加方面,在物理布局上,较高级别的主设备和较高级别的从设备离总线上的仲裁器较近,而较低级别的主设备和较低级别的从设备离总线上的仲裁器较远。
这样,带宽要求较高的主设备和从设备之间的通信采用较高的数据传送速率,能够很快地完成数据传送操作,同时从物理布局上,较高层次的主设备和较高层次的从设备离总线仲裁器较近,受到布线延时的影响也相应减小,因此很好地能够满足此类设备的带宽要求。而带宽要求较低的主设备和从设备虽然离总线仲裁器较远,但采用了较低的数据传送速率,主设备和从设备之间的数据传送的时间受布线延时的影响同样有所减小,使得系统传输延时的不确定性也能相应降低。
下面将结合附图对本发明作进一步的描述。
附图说明
以下附图为对本发明示例性实施例的辅助说明,结合以下附图对本发明实施例的阐述,是为进一步揭露本发明的特征所在,但并不限制本发明,图中相同符号代表实施例中相应元件或步骤,其中:
图1为本发明一实施例的多设备系统结构示意图;
图2为图1所示多设备系统的总线结构拓朴图;
图3为本发明一实施例的通信子系统的示意性结构框图;
图4为本发明一实施例的仲裁器的结构框架图;
图5为本发明一实施例的通信方法的示意流程图;
图6为本发明一实施例的第二阶段仲裁的示例性时序图;
图7为本发明一实施例的第一阶段仲裁的仲裁时机的示例性时序图;
图8为本发明一实施例中仲裁器的仲裁状态机工作原理图;
图9为本发明一实施例的正向仲裁示例性时序图;和
图10为本发明一实施例的反向仲裁时机时序图。
具体实施方式
本发明一实施例的多设备系统包括一总线101,与总线101相连的仲裁器102以及分别与该总线相连的六个主设备和六个从设备,如图1所示。其中主设备可以是CPU、DSP、ASIC或者是子系统等;从设备可以是同步动态随机访问存储器(SDRAM)或直接存取存储器(DMA)等设备。总线上的仲裁器可以对连接在总线上的各设备提出的总线使用请求做出仲裁,经仲裁选中的主设备占有总线与对应的从设备进行数据传送。
主设备可以分成重要主设备和次要主设备。本实施例中主设备AM、主设备BM和主设备CM为重要主设备,而主设备DM、主设备EM和主设备FM为次要主设备。一般而言,可以把对总线响应速度要求较高的主设备设为重要主设备,如需进行实时处理的设备等,而把对响应速度要求不是太高的设备设为次要主设备。类似地,从设备也分成重要从设备和次要从设备。在本实施例中从设备AS、从设备BS和从设备CS为重要从设备,而从设备DS、从设备ES和从设备FS为次要从设备。一般而言,可以把对总线响应速度要求较高的从设备设为重要从设备,如需进行实时处理的设备等,而把对响应速度要求不是太高的设备设为次要从设备。在其他实施例中,也可以将主设备和从设备分成多个而不仅仅是两个级别,即,第一级主(从)设备、第二级主(从)设备...。它们依次具有更高或更低的响应速度要求。
图2为本实施例中总线系统的物理布局示意图。图2示意性地表示出,在物理布局上重要主设备AM、重要主设备BM和重要主设备CM,离仲裁器较近,而次要主设备DM、次要主设备EM和次要主设备FM离仲裁器较远;重要从设备AS、重要从设备BS和重要从设备CS离仲裁器较近,而次要从设备DS、次要从设备ES和次要从设备FS离仲裁器较远。总线上并对主设备和从设备分别设置了两层多路复用器。次要主设备DM、次要主设备EM和次要主设备FM,分别有信号线连接至第二主设备多路复用器202的输入端,第二主设备多路复用器202的输出端连接至第一主设备多路复用器201的输入端。第二主设备多路复用器202另有信号线与仲裁器102相连,使次要主设备DM、次要主设备EM和次要主设备FM也可以直接向仲裁器102传送数据。重要主设备AM、重要主设备BM和重要主设备CM各有相应的信号线连接至第一主设备多路复用器201的输入端,第一主设备多路复用器201的输出端连接至所有从设备。这样,所有主设备可以在得到总线授权后直接向对应的从设备传送数据。类似地,次要从设备DS、次要从设备ES和次要从设备FS,分别有信号线连接至第二从设备多路复用器204的输入端,第二从设备多路复用器204的输出端连接至第一从设备多路复用器203的输入端。重要从设备AS、重要从设备BS和重要从设备CS各有相应的信号线连接至第一从设备多路复用器203的输入端,第一从设备多路复用器203的输出端连接至所有主设备。这样,在进行读操作时,所有从设备可以直接向相应的主设备返回数据。在其他实施例中,也可以只使用一层多路复用器,或根据实际设备的数量来选择多路复用器的层数。
重要主设备和重要从设备之间的数据传送速率较大,而重要主设备和次要从设备之间、次要主设备和重要从设备之间以及次要主设备和次要从设备之间的数据传送速率较小。在本实施例中,重要主设备AM、重要主设备BM或重要主设备CM与重要从设备AS、重要从设备BS或重要从设备CS之间的数据传送速率为1个数据/时钟周期,如总线为32位,总线频率为1兆赫兹,则数据传送速率为32兆位/秒。重要主设备AM、重要主设备BM或重要主设备CM与次要从设备DS、次要从设备ES或次要从设备FS之间、次要主设备DM、次要主设备EM或次要主设备FM与重要从设备AS、重要从设备BS或从要主设备CS之间,以及次要主设备DM、次要主设备EM或次要主设备FM与次要从设备DS、次要从设备ES或次要从设备FS之间的数据传送速率为1个数据/2时钟周期,如前述总线为32位,总线频率为1兆赫兹,则数据传送速率为16兆位/秒,小于重要主设备与重要从设备之间的数据传送速率32兆位/秒。当然,正如本领域普通技术人员所能够理解的,在将主(从)设备分为多个级别,即,不仅仅划分为重要和次要主(从)设备的情况下,可以在仲裁时根据一预定的主设备级别阈值和一预定的从设备级别阈值来进行所使用的传输速率的判断。例如,可以将主设备AM、BM设为第一级主设备,主设备CM、DM设为第二级主设备,主设备EM、FM设为第三级主设备,第一级主设备具有最高的总线响应速度要求,而第三级主设备则具有最低的总线响应速度要求;将从设备AS、BS设为第一级从设备,从设备CS、DS设为第二级从设备,从设备ES、FS设为第三级从设备,第一级从设备具有最高的总线响应速度要求,而第三级从设备则具有最低的总线响应速度要求。在仲裁过程中,可以设定为级别超过第二级的主设备和级别超过第三级的从设备之间采用较高的数据传输速率,而其余情况则采用较低的传输速率。当然,本领域普通技术人员可以理解,根据实际情况的不同,还可以对所需使用的传输速率作进一步划分,而不仅仅用较高和较低的两种传输速率。
图3示出了根据本发明的通信子系统的示意性结构框图。如图所示,该通信子系统包括划分装置301、判断装置302和数据传输装置303。在划分装置301中,将该多设备系统中的多个主设备和/或从设备被分别划分成多个不同级别的划分装置,其中划分的标准主要依据总线响应速度要求,以及对带宽要求和延迟的综合考虑。划分装置301随后将具体的划分结果提供给判断装置302使用。在判断装置302中,判断所述请求的通信是否将发生在级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间,并将判断结果传输给数据传送装置303使用。根据判断装置302的判断结果,数据传送装置303进行数据传送,其中该装置对级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间的通信采用较高的数据传送速率;而对级别低于第一预定阈值的主设备与从设备之间的通信或主设备与级别低于第二预定阈值的从设备之间的通信则采用较低的数据传送速率。
本实施例中总线使用请求分为两个等级,包括REQ级别和CREQ级别。其中CREQ级别比REQ级别的总线使用请求级别高,在仲裁时可优先获得总线授权。
在本实施例中,总线采用流突发形式的数据传送方式。以流突发的形式进行数据传送,可传送的数据包括单一数据或/和突发形式的数据。同一个流突发中的单一数据或一个完整的地址连续的突发数据可称为一个分段突发,而分段突发之间的地址可以不连续,在本实施例中一个流突发中的不同分段突发还可以发送给不同的目标从设备。本实施例中规定了MLast信号发送主设备给仲裁器的分段突发结束码来指示数据传送的状态。MLast信号有四类值,分别是CONT、LAST、SAME和DIFF。CONT表示一个分段突发正在传送过程中;LAST表示一个完整的流突发已经结束;SAME表示当前分段突发已经结束,但流突发尚未结束,而下一个分段突发访问的从设备与当前分段突发相同;DIFF表示一个流突发尚未结束,当前分段突发已经结束,而下一个分段突发访问的从设备与当前分段突发不相同。当MLast信号为LAST、SAME、DIFF这三种值时,表示当前分段突发已经结束。在分段突发结束时,仲裁器进入可仲裁状态,下文将对此作进一步描述。在一个流突发的传送过程中,如果没有其他较高级别的请求提出,当前正在进行数据传送的主设备持续占有总线进行数据传送操作;如果有其他较高级别的总线使用请求在流突发的传送过程中提出,且此时仲裁器进入可仲裁状态,则仲裁器将对当前流突发的总线使用请求和其他较高级别的总线使用请求一并进行仲裁,选中较高级别的总线使用请求进行总线授权。
当总线上的主设备要求使用总线进行数据传送操作时,首先会发出总线使用请求给仲裁器,由仲裁器按照预设的算法判断出可优先进行的请求。本实施例中仲裁器可进行的仲裁包括正向仲裁和反向仲裁两个部分。正向仲裁是指对主设备发出的总线使用请求进行仲裁;反向仲裁是指在读操作中对从设备为返回数据而发出的总线使用请求进行仲裁。而正向仲裁又包括两层仲裁,分别是第二阶段仲裁和第一阶段仲裁。
图4所示的仲裁器包括实现第二阶段仲裁的正向第二阶段仲裁模块404、实现第一阶段仲裁的正向第一阶段仲裁模块401和实现反向仲裁的反向仲裁模块405。正向仲裁后的各信号经过正向解码器403解码后送给相应的主设备和从设备;反向仲裁后的各信号经过反向解码器406解码后送给相应的从设备和主设备。正向第二阶段仲裁模块404对次要主设备DM、次要主设备EM或次要主设备FM发出的总线使用请求进行仲裁,再将仲裁结果送入第一阶段仲裁模块401;第一阶段仲裁模块401则把重要主设备发出的总线使用请求和第二阶段的仲裁结果一起进行仲裁。
正向仲裁的第二阶段在任何时间都可进行新的仲裁,所采用的仲裁算法可以是熟悉相关技术人员所知晓的各种算法。在本实施例中,正向第二阶段仲裁模块404是采用固定优先权算法进行仲裁,即对每一个主设备设定一个确定的优先权等级,在同一时间有两个或两个以上的主设备提出请求时,则选中优先级别较高的主设备进入第一阶段。例如,本实施例中,次要主设备包括次要主设备DM、次要主设备EM和次要主设备FM,其优先权等级分别设定为1级、2级和3级。这样,当次要主设备DM、次要主设备EM和次要主设备FM同时提出请求时,仲裁器将选中优先权等级相对较高的次要主设备DM提出的总线请求作为仲裁结果,送入第一阶段仲裁模块。
下面将参见图5对根据本发明的通信方法进行描述。该方法从步骤501开始,在步骤502中,该多设备系统中的多个主设备和/或从设备分别划分成多个不同级别,级别高的主设备具有比级别低的主设备更高的总线响应速度要求;在步骤503,主设备发出的总线使用请求,则送入仲裁器进行仲裁,仲裁结果即为得到总线授权响应的总线使用请求,本实施例中,以信号AMNum来表示得到响应的主设备,以信号MDstnum来表示总线使用请求所对应的目标从设备;在步骤504将根据信号AMNum来判断发出该总线使用请求的主设备是否为重要主设备,如果不是重要主设备,则按步骤507,得到响应的主设备以较低的传送速率与对应从设备进行数据传送操作;如果是重要主设备,则进一步在步骤505中判断该总线使用请求要求进行数据传送的目标从设备是否为重要从设备,如果不是重要从设备,仍按步骤507,得到响应的主设备以较低的传送速率与对应从设备进行数据传送操作;如果是重要从设备,则按步骤506,得到响应的主设备以较高的传送速率与对应从设备进行数据传送操作。
图6描述了第二阶段仲裁一个示例性的时序图,其中次要主设备DM发出的总线使用请求的信号包括MReq3、MLast3和MDstnum3,分别指出请求的级别、数据传送状态和目标从设备的号码,类似的,次要主设备E发出的总线使用请求的信号包括MReq4,MLast4和MDstnum4。第二阶段仲裁模块发出的仲裁结果信号包括A2Req,A2Last、A2Dstnum和A2MNum,这些信号分别指出第二级仲裁后得到的请求的级别、数据传送状态、目标从设备的号码和响应的主设备的号码。本实施例中,对重要主设备AM、重要主设备BM、重要主设备CM、次要主设备DM、次要主设备EM、次要主设备FM依序编号为0、1、2、3、4、5;类似地,对重要从设备AS、重要从设备BS、重要从设备CS、次要从设备DS、次要从设备ES、次要从设备FS依序编号为0、1、2、3、4、5。
当次要主设备DM、次要主设备EM和次要主设备FM同时提出总线使用请求时,根据优先等级,仲裁器102将优先选中次要主设备DM提出的总线使用请求;若只有次要主设备EM和次要主设备FM同时提出总线使用请求时,根据优先等级,仲裁器102将优先选中次要主设备EM提出的总线使用请求。因此,在图6的时序中,第二阶段仲裁模块404发出的仲裁结果为优先响应次要主设备DM的总线使用请求。在次要主设备DM的总线使用请求响应结束后,仲裁器102才对次要主设备EM此时发出的总线使用请求做出响应。第二阶段仲裁模块404发出的仲裁结果信号,包括A2Req,A2Last、A2Dstnum和A2MNum等,送入第一阶段仲裁模块401参与仲裁。在图6的示例中,假定此时无其他总线使用请求参与仲裁或第二阶段仲裁模块404被优先选中,则在第一阶段仲裁模块401中总线上的仲裁器102将发出仲裁信号,包括图6示出的总线授权信号AGrant和授权主设备信号AMNum等。在本实施例中由于次要主设备的数据传送速率始终为较低的速率,即1个数据/2时钟周期,因此,仲裁器对于次要主设备送出的数据在两个时钟周期只对一个数据的传送操作发出AGrant有效信号进行响应。
正向第一阶段仲裁并不是在任何时间都可进行新的仲裁,而只是在满足一定条件而允许仲裁的时候才能进行仲裁。一般情况下,第一阶段可以进行仲裁的首要条件是当前仲裁器处于空闲状态。本实施例中,仲裁器102提供了Arb_state信号,当该信号为IDLE时,表示仲裁器当前处于空闲状态,即当前无正在进行中的仲裁操作。
第一阶段仲裁采用了分级仲裁机制,在本实施例中包括REQ仲裁时机和CREQ仲裁时机。对应于这两个仲裁时机,分别设有较低级仲裁时机信号AREQ_arb和较高级仲裁时机信号ACREQ_arb信号。针对本实施例流突发形式的数据传送方式,仲裁状态机402中只有在出现LAST、SAME和DIFF这三种分段突发结束码时,才能进入仲裁状态。在本实施例中,一个流突发过程只能被CREQ级别的其他总线使用请求中断,而REQ级别的其他总线使用请求是不能中断一个流突发的。因此,在出现LAST信号时,AREQ_arb信号与ACREQ_arb信号同时有效;在出现SAME或DIFF信号时,只有ACREQ_arb信号有效。
图7示例性地以一个仲裁时机的时序对此做了说明。ALast信号为仲裁器的正向解码器在主设备发出的MLast信号经仲裁器仲裁后而发出的信号,图中共有三个示例,分别为LAST、SAME和DIFF。LAST信号表示一个流突发结束,此时AREQ_arb和ACREQ_arb两个信号同时有效;SAME和DIFF均只表示一个分段突发已经结束,而流突发未结束,此时只有ACREQ_arb信号有效。
参见图8,本实施例的仲裁状态机共包括三个状态:IDLE、ARBLEVEL1和ARBLEVEL2。ARBLEVEL1和ARBLEVEL2分别为前文所述的REQ仲裁时机和CREQ仲裁时机。其中,下列表1列出了该仲裁状态机转移状态所需满足的具体条件:
条件1 | 没有一个有效请求是CREQ,至少有1个有效请求是REQ |
条件2 | 在AREQ_arb有效时,且没有一个有效请求是REQ、CREQ |
条件3 | 至少有1个有效请求是CREQ |
条件4 | 在AREQ_arb有效时,且没有一个有效请求是REQ、CREQ且AenterST2为0 |
条件5 | 在ACREQ_arb有效且AREQ_arb无效时,至少有1 |
个有效请求是CREQ,且记AEnterST2为1 | |
条件6 | 在ACREQ_arb有效时,且没有一个有效请求是CREQ,以及AEnterST2为1 |
当Arb_state信号为IDLE,并且满足条件1,即AREQ_arb信号有效时,只有REQ级别的有效请求而没有CREQ级别的有效请求,仲裁器进入ARBLEVEL1仲裁状态。在ARBLEVEL1仲裁状态下,仲裁器可以对主设备发出的REQ和CREQ级别的总线使用请求进行仲裁。当Arb_state信号为IDLE,并且满足条件3,即ACREQ_arb信号有效时,只要有CREQ级别的有效请求,而无论是否有REQ级别的有效请求,仲裁器进入ARBLEVEL2仲裁状态。在ARBLEVEL2仲裁状态下,仲裁器102只对主设备发出的CREQ级别的总线使用请求进行仲裁,而REQ级别的总线使用请求不参与仲裁。
从图8也可以看到,仲裁状态机中ARBLEVEL1和ARBLEVEL2两个状态在一定的条件也可以相互转换。因此,在本实施例中,引入了AEnterST2信号,用来记录被中断的仲裁现场。当仲裁器正在ARBLEVEL1状态下仲裁时,由于出现较高级别的有效请求,如CREQ请求,需要转换仲裁状态到ARBLEVEL2状态下,此时记AEnterST2信号为1。由于仲裁器从ARBLEVEL1状态下转换到ARBLEVEL2状态下时,需记AEnterST2信号为1,这样,在AEnterST2信号为1的情况下,当ARBLEVEL2状态下的仲裁操作完成后,若只有REQ级别的总线使用请求而没有CREQ级别的总线使用请求,仲裁器将不进行重新仲裁,而是返回到原先的仲裁现场,并在返回的同时将AEnterST2信号清零。而在转换仲裁状态时,需要保留仲裁器的内部现场,要保留的信号量暂时放在缓冲器中,要保留的信号量主要有仲裁器送给主设备的响应主设备的信号AMNum、仲裁器送给从设备的响应从设备的信号ASNum和用来指明数据传送速率的仲裁器内部信号ALevel。在本实施例中,ALevel信号为高表示使用较高的速率,即1个数据/时钟周期,而ALevel信号为低表示使用较高的速率,即1个数据/2时钟周期。而在其他实施例中,也可采用更多个不同的数据传送速率,并相应地对ALevel信号进行编码。
在从IDLE状态直接转换到ARBLEVEL2状态下时,当仲裁器102完成ARBLEVEL2状态下的仲裁任务后,即使有REQ级别的有效请求而没有CREQ级别的有效请求的情况出现,仲裁器102仍将重新对全部的有效请求进行仲裁。
在ARBLEVEL1状态下,仲裁器102采用一般算法,公平地对各个主设备发出的各类总线使用请求进行仲裁,从中选出一个请求,并对发出该请求的主发备传送授权信号,则主设备开始数据传送。在ARBLEVEL2状态下,仲裁器102将采用一般算法对CREQ级别的总线使用请求进行仲裁,从中选出一个请求,对发出该总线使用请求的主设备传送授权信号,主设备接到授权信号后开始占用总线进行数据传送操作。在ARBLEVEL2状态下REQ级别的请求将被忽略掉。这里的一般算法,指单循环仲裁算法或其他为本技术领域人员公知的仲裁算法,在此不再赘述。
参见图9,在本实施例的另一个示例中,次要主设备DM和次要主设备EM需要完成与图6的示例同样的数据传送操作,但在次要主设备DM的传送过程中仲裁器102收到了一个较高级别的总线使用请求。图9中重要主设备AM发出了总线使用请求,其信号包括MReq3、MLast3和MDstnum3等。仲裁器收到CREQ级别重要主设备AM的总线使用请求后,仲裁状态机进入到ARBLEVEL2,对重要主设备AM的总线使用请求进行仲裁。在次要主设备DM的第一个分段突发结束时,仲裁器授权重要主设备AM进行数据传送。重要主设备AM的发送对象为重要从设备BS,因此其数据传送速率较高,为1个数据/时钟周期。重要主设备AM的数据传送完成后返回原流突发,假设此时无其他CREQ级别的总线使用请求,则继续进行次要主设备DM的数据传送以及次要主设备EM的数据传送,数据传送速率仍为1个数据/2时钟周期。
本实施例中主设备AM和主设备BM还具有多线程,每一线程可以是CPU、DSP、ASIC或者是子系统等。当有一线程获得授权使用总线时,仲裁器102会给出该线程所属主设备的号码和该线程的号码。一个线程的请求未被执行完全时,例如在其读取的数据对应从设备还未准备好时,允许同一主设备中的其他线程发出请求,因此可能出现几个不同线程请求的读数据从各自对应的不同从设备同时返回的情形。在其他实施例中,也可能出现几个不同主设备请求的读数据从各自对应的不同从设备同时返回的情形。仲裁器102的反向仲裁模块405在这种情形下可以对各个不同从设备返回读数据的总线使用请求进行仲裁。类似于正向仲裁,当仲裁器102反向仲裁完成后,仲裁器102提供的ARGrant信号将置于有效状态,授权选中的从设备占有总线进行数据返回操作,同时,表示已有从设备获得授权并占有总线,ARGrant信号为各设备共享。
本实施例中仲裁器的反向仲裁也有仲裁时机。在次要从设备进行反向数据传送时或是进行反向数据传送目标是次要主设备的数据传送时,即正在进行数据传送速率为1个数据/2时钟周期的数据传送操作时,仲裁器不进行仲裁。
图10对反向仲裁的仲裁时机进行示例性说明。图中ARSNum信号表示进行反向数据传送的从设备,ARGrant信号表示仲裁器102对反向数据传送的从设备和对应主设备发出响应,ARMNum信号表示反向数据传送的目标主设备,ARArb_forbid信号为低时表示允许对反向传送的从设备的有效请求做出仲裁。从图10中可以看出,重要从设备AS在对重要主设备BM进行反向数据传送时,数据传送速率为1个数据/时钟周期,ARArb_forbid信号为低,可进行仲裁;重要从设备BS向次要从设备FS返回数据的反向总线使用请求,数据传送速率为1个数据/2时钟周期,ARArb_forbid信号变高,不可进行反向仲裁;次要从设备ES对重要主设备BM和次要从设备FS对次要主设备DM发出反向总线使用请求时数据传送速率均为1个数据/2时钟周期,ARArb_forbid信号会变高,不可进行反向仲裁。
本实施例中反向请求也分成不同等级,包括SREQ级别的反向请求和CSREQ级别的反向请求,其中CSREQ级别的反向请求优先级高于SREQ级别的反向请求。在仲裁器102对反向请求进行仲裁时,首先响应CSREQ级别的反向请求。同级别的反向总线使用请求则按发出反向请求的从设备的固定优先级次序来决定。例如,可将从设备AS、BS、CS、DS、ES和FS的固定优先级次序由高到低设定,这样,若从设备AS、BS和CS同时发出反向总线使用请求,仲裁器102将优先响应从设备AS的反向总线使用请求;而若只有从设备BS和从设备CS同时发出同级别的反向总线使用请求时,仲裁器102将优先响应从设备BS的反向总线使用请求。在其他实施例中,也可采用其他算法对反向总线使用请求进行仲裁,同样应该包含在本发明的实质范围内。
本实施例只是为了进一步更清楚地描述本发明,而非对本发明的限制。应该可以理解,本发明并不限于实施例所做的阐述,任何基于本发明的修改和本发明的等同物都应涵盖在本发明的权利要求的精神和范围之内。
Claims (6)
1.一种多设备系统中的通信子系统,该多设备系统包括:
至少一条总线;
至少一个仲裁器;
与所述总线和仲裁器相连接的多个主设备;
与所述总线和仲裁器相连接的多个从设备,所述多个从设备中的任何一个都可通过所述总线与所述多个主设备中的任何一个进行数据传送操作;
其特征在于,所述通信子系统包括:
将该多设备系统中的多个主设备和/或从设备分别划分成多个不同级别的划分装置,其中级别高的主设备具有比级别低的主设备更高的总线响应速度要求;
对所述主/从设备请求的通信进行判断的判断装置,判断所述请求的通信是否将发生在级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间;
根据上述判断装置的判断结果进行数据传送的数据传送装置,其中该数据传送装置对级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间的通信采用较高的数据传送速率;级别低于第一预定阈值的主设备与从设备之间的通信或主设备与级别低于第二预定阈值的从设备之间的通信则采用较低的数据传送速率。
2.如权利要求1所述的通信子系统,其特征在于,在物理布局上,较高级别的主设备和较高级别的从设备离总线上的仲裁器较近,而较低级别的主设备和较低级别的从设备离总线上的仲裁器较远。
3.如权利要求1所述的通信子系统,其特征在于,所述至少一个仲裁器对所述多个主设备中的任何一个所提出的总线使用请求采用多层仲裁的形式进行仲裁,该仲裁器包括第二阶段仲裁模块,用以对较低层次的主设备发出的总线使用请求进行较低层仲裁,和第一阶段仲裁模块,用以对所述较低层仲裁的仲裁结果与较高层次的主设备的总线使用请求一起进行较高层仲裁。
4.一种多设备系统中的通信方法,所述多设备系统包括至少一条总线;至少一个与所述总线相连接的仲裁器;与所述总线和仲裁器相连接的多个主设备;与所述总线和仲裁器相连接的多个从设备,所述多个从设备中的任何一个都可通过所述总线与所述多个主设备中的任何一个进行数据传送操作;其特征在于,包括下列步骤:
将该多设备系统中的多个主设备和/或从设备分别划分成多个不同级别,级别高的主设备具有比级别低的主设备更高的总线响应速度要求;
所述仲裁器判断所述主/从设备请求的通信是否将发生在级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间;
根据所述仲裁器判断结果,当级别高于一个第一预定阈值的主设备和级别高于一个第二预定阈值的从设备之间进行通信时,采用较高的数据传送速率;当级别低于第一预定阈值的主设备与从设备之间进行通信或主设备与级别低于第二预定阈值的从设备之间进行通信时,则采用较低的数据传送速率。
5.如权利要求4所述的通信方法,其特征在于,在所述仲裁器判断步骤前,所述方法进一步包括在物理布局上,将较高级别的主设备和较高级别的从设备设置成离总线上的仲裁器较近,而较低级别的主设备和较低级别的从设备离总线上的仲裁器较远。
6.如权利要求4所述的通信方法,其特征在于,所述仲裁器包括一个第一阶段仲裁模块和一个第二阶段仲裁模块,所述仲裁器判断步骤进一步包括所述仲裁器对所述多个主设备中的任何一个所提出的总线使用请求采用多层仲裁的形式进行仲裁,并在第二阶段仲裁模块中对较低级别的主设备发出的总线使用请求进行较低层仲裁,在第一阶段仲裁模块中对所述较低层仲裁的仲裁结果与较高级别的主设备的总线使用请求一起进行较高层仲裁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031420176A CN1322440C (zh) | 2003-08-01 | 2003-08-01 | 多设备系统中的通信子系统及其通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031420176A CN1322440C (zh) | 2003-08-01 | 2003-08-01 | 多设备系统中的通信子系统及其通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1581124A CN1581124A (zh) | 2005-02-16 |
CN1322440C true CN1322440C (zh) | 2007-06-20 |
Family
ID=34579324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031420176A Expired - Fee Related CN1322440C (zh) | 2003-08-01 | 2003-08-01 | 多设备系统中的通信子系统及其通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1322440C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261610B (zh) * | 2007-03-06 | 2014-04-02 | 西北农林科技大学 | 多主设备无冲突访问从设备的方法及装置 |
US7653773B2 (en) * | 2007-10-03 | 2010-01-26 | International Business Machines Corporation | Dynamically balancing bus bandwidth |
CN101465838B (zh) * | 2007-12-21 | 2013-01-16 | 希姆通信息技术(上海)有限公司 | 一种实现自适应速率模拟i2c总线通信的方法 |
CN110109847B (zh) * | 2019-04-25 | 2021-09-24 | 豪威触控与显示科技(深圳)有限公司 | Apb总线多个主设备的仲裁方法、系统及存储介质 |
CN112565039B (zh) * | 2020-12-11 | 2022-12-30 | 杭州和利时自动化有限公司 | 一种通信网络架构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4148011A (en) * | 1977-06-06 | 1979-04-03 | General Automation, Inc. | Asynchronous priority circuit for controlling access to a bus |
CN1109610A (zh) * | 1993-04-05 | 1995-10-04 | 莫托罗拉公司 | 请求数据的方法及其设备 |
CN1380609A (zh) * | 2001-04-11 | 2002-11-20 | 矽统科技股份有限公司 | 判定存储单元存取请求顺序的方法 |
-
2003
- 2003-08-01 CN CNB031420176A patent/CN1322440C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4148011A (en) * | 1977-06-06 | 1979-04-03 | General Automation, Inc. | Asynchronous priority circuit for controlling access to a bus |
CN1109610A (zh) * | 1993-04-05 | 1995-10-04 | 莫托罗拉公司 | 请求数据的方法及其设备 |
CN1380609A (zh) * | 2001-04-11 | 2002-11-20 | 矽统科技股份有限公司 | 判定存储单元存取请求顺序的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1581124A (zh) | 2005-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6725313B1 (en) | Communications system and method with multilevel connection identification | |
CN100552656C (zh) | 减小芯片上系统互连中的传送等待时间的方法和设备 | |
CN111666239A (zh) | 一种主从设备互联系统和主从设备访问请求处理方法 | |
US7581049B2 (en) | Bus controller | |
US5694121A (en) | Latency reduction and routing arbitration for network message routers | |
EP1327939A2 (en) | Ring bus system | |
US7539806B2 (en) | Arbitrator and its arbitration method | |
JP4255833B2 (ja) | コンピュータ・システムの入出力ノードにおけるタグ付けおよび調停メカニズム | |
CN1322440C (zh) | 多设备系统中的通信子系统及其通信方法 | |
CN100356355C (zh) | 仲裁器和仲裁方法 | |
US20140372646A1 (en) | Receiver based communication permission token allocation | |
CN103905339B (zh) | 电脑仲裁系统、其带宽分配设备以及方法 | |
US7698485B2 (en) | Round-robin bus protocol | |
CN112134814B (zh) | 一种板级互联网络结构及通信方法 | |
KR100973419B1 (ko) | 버스 중재 방법 및 장치 | |
US20090216933A1 (en) | Method, system, and computer program product for pipeline arbitration | |
Costrell et al. | FASTBUS for data acquisition and control | |
CN101324871A (zh) | 无等待动态优先级的pci总线仲裁扩展器 | |
CN112579503A (zh) | 一种多核异构cpu总线仲裁方法、总线仲裁器及系统 | |
US20050246463A1 (en) | Transparent high-speed multistage arbitration system and method | |
TW200523747A (en) | An arbiter | |
JPH08249271A (ja) | 二重化システムのバス調停方法及び二重化システム | |
TW200523748A (en) | A multi-device system with higher frequency of bus | |
KR20050064694A (ko) | 분할형 버스 제어 장치 | |
JPS6352255A (ja) | バスア−ビタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070620 Termination date: 20110801 |