实现多总线到一总线进行不间断流水切换的方法和装置的制作方法

文档序号:6654287阅读:240来源:国知局
专利名称:实现多总线到一总线进行不间断流水切换的方法和装置的制作方法
技术领域
本发明涉及多总线系统中多条流水总线到一条流水总线进行不间断流水切换的方法。
多总线系统设计中,多总线的引入主要是因多个总线主控器需要在系统工作过程中并发对多个从设备进行操作,而需要多条总线的支持,这就涉及多总线系统中多个主设备对同一从设备或目标总线进行访问的仲裁和切换。这方面已有文献记载,如ARM公司的AHB总线仲裁器,采用由总线的主控器通过总线向总线仲裁器提出访问请求,再由仲裁器向主设备返回一个应答信号,确定其可否访问该总线。这种实现仲裁和切换的方法,由于有总线的主控器的参与,增加了总线切换的时间,降低了总线切换的效率。再如美国专利号为6023754的专利中提到的总线开关,通过开关的形式实现总线的切换,这种方式,降低了总线访问的流水性和不间断性。总之现有技术的总线仲裁和切换方法,相对来说效率低,且实现较为复杂,成本相对较高。
本发明的目的是针对现有技术的不足,提出一种在多总线系统中,实现一条或多条总线以流水的方式不间断地切换到另外一条总线上,在连续的请求中实现到目标总线的不间断访问,无需总线的主控器直接参与总线的切换;能够在任何情况下对下一个总线的请求实现零周期的总线切换时间,切换效率高,实现成本低的,不间断流水切换的方法和装置。
本发明的目的可以通过以下技术方案实现,设计一种实现系统总线进行不间断切换的方法和装置,所述方法采用以下步骤实现a、总线通道接收部件对总线进行监测,当监测到某一总线向目标总线提出访问请求时,总线通道接收部件立即对相应的访问请求进行处理,并向仲裁部件发出对目标总线的访问请求;b、仲裁部件根据请求和目标总线的状态,依照循环优先的原则对所有的请求进行仲裁,并最终产生仲裁的结果信号;
c、通道准入控制部件根据仲裁的结果将访问请求送入目标总线;d、数据响应进出控制及响应产生部件根据仲裁结果,未决定将目标总线的数据及响应返回哪一路请求总线,如果请求总线没有被选中,则产生一个相应的响应信号返回请求总线。
如图1所示,系统处于待命状态(此时仲裁器让通道0一直占有通道的准入),当总线通道接收部件监测到总线上对目标总线的访问时,立即对相关信号进行处理并向仲裁器发出请求信号,同进根据请求总线的HREADY信号对总线的访问请求进行锁定。仲裁部件根据仲裁的原则对所有的请求进行仲裁,并产生最终的仲裁结果到请求通道进入控制部件和总线请求响应部件。请求通道进入控制部件和总线请求响应部件根据仲裁的结果决定哪一路总线的请求进入目标总线,同时决定哪一路总线接收来自目标总线或者响应部件产生的响应信号。在请求进入目标总线后,仲裁器会根据目标总线的工作状态判别数据通道的切换,在该请求结束后,仲裁器根据请求源和从设备的工作状态,重新产生新的请求确认信号。根据仲裁原则,通道0具有最高的优先级,通道1次之,通道2的优先级最低;但在通道1有访问权后,通道1具有最高的优先级,通道2的优先级次之,通道0的优先级最低;如此循环。在没有请求后,系统自动返回初始状态,通道0具有目标总线的准入权。
如图2所示,实现多总线到一总线,进行不间断流水切换的方法和装置,所述装置包括a、具有自动监测和锁存总经线上的访问请求信号和立即向排队网络提供请求信号功能的并可使请求总线上的地址及控制信号进入目标总线通道接收部件;b、用于接受来自总线通道接收部件的请求信号,根据目标总线的状态和循环排原则产生控制当前有效的通道控制信号进入目标总线,并选择哪个通道请求总线能接收目标总线返回的响应的仲裁结果的仲裁部件;c、用于根据仲裁的结果控制不同总线通道接收部件相应的请求总线通道准入控制部件;d、用于根据仲裁的结果对目标总线返回的响应进入处理和对其它没有得到访问响应的请求总线产生响应信号的数据、响应进入控制及响应产生部件。
如图3(以两个通道为例)所示,本发明包括了如上所述的总线通道接收部件、请求仲裁部件、总线通道准入部件、数据进出控制通道和总线的响应处理部件四部分。AC(地址和总线访问请求)通道是请求总线上的地址和控制信号进入从设备的受控通道,具有自动锁存输入信号和向排队网络提供请求的功能,是总线通道接收部件。排队网络接受来自AC通道的请求的信号,并根循环排队的原则产生当前有效的通道信号;通道选择产生部件根据目标总线的HREADY信号(从设备向总线输出的表示上一个访问请求是否完成的信号,高表示上一个请求完成)用二个“n”位宽的时钟上升沿锁存器(“n”表示n位外部通道的个数)锁定排队网络产生的结果信号用于产生数据和请求响应的输出的控制信号,这两者构成了本发明的仲裁部件。由信号D控制的多路开关mux0,和由信号C控制的AC通道内的多个多路开关构成了通道准入控制部件。由C信号控制的MUX1和相应的响应信号产生组合逻辑电路(在图中的AC通道内)构成了访问数据和反馈信号的控制返回通道,没有得到授权访问的总线上的响应信号由组合逻辑(在图中的AC通道内)产生,这些构成了数据和响应返回部件。
本发明与现有技术相比,本系统可实现二条或多条总线以流水的方式切换到另外一条总线上,在连续的请求中实现到目标总线的不间断访问,无需总线的主控器直接参与总线的切换;能够在目标总线空闲或上一个总线的请求结束时,实现对下一个总线的请求零周期的总线切换时间,切换效率高,实现成本低。


图1为本发明的原理流程图;图2为本发明装置结构示意图;图3为以两通道为例的本发明总线访问进入目标通道的结构示意图;图4为本发明AC通道结构示意图;图5为本发明通道选择产生部件原理示意图。
下面结合实施例对本发明进一步详述如图4所示ACR(地址和总线访问请求锁存寄存器)寄存器、QACR(ACR寄存器输出的锁存寄存器)寄存器、HREADYx寄存器和多路开关MUX0构成的由HREADYx控制的总线地址和控制信号锁存部件以及Rx(向请求仲裁器发出的请求信号)的产生电路。其中Rx=(HSELX*HTRANS)+(MHSELX*MHTRANS)*Cx总线数据通道切换控制信号的反向。上式中HSELX为总线上的请求命中信号,QHSELX是HSELX信号的有效锁存,QQHSELX是QHSELX的有效锁存,HTRANS是表示总线的请求是否有效,高为有效表示HTRANS为SEQUENTIAL或NONSEQUENTIAL,MHTRANS信号为HTRANS信号有效锁存的结果。Rx信号的产生实现了多总线到目标总线在连续请求中的不间断流水切换。
由MUX1(MUX为二路到一路选择器)构成的地址控制信号输入选择,Cx为总线数据通道切换控制信号,Cx为低时表示选中的是锁存的访问信号,反之为直接从总线上的请求输入。由于Cx信号用来作为访问数据和响应信号的控制以及切换信号,因而保证了请求信总线对目标总线访问的流水性切换。
由MUX2和MUX3构成的HREADY和HRESP(目标总线上从设备的传输响应信号)信号产生部件。其控制信号是Dx和Cx,分别控制总线在请求刚被通道接收时以及在仲裁援权后的总线响应信号的产生。
当该端口对应总线上的HREADYx为高时,总线地址和控制信号锁存部件的输出将是当前总线上的地址和控制信号,否则将保持原有的值。它的作用有两方面首先,监控当前总线上的传输命令,并及时判断当前传输是否结束(Rx=0);其次,当该总线端口不能占据通道时,在HREADY产生部件的协助下锁存总线上的第一个传输请求。
地址控制信号输出控制部件的主要功能是选择将总线上的地址和控制信号直接输出到从设备中(Cx=1),还是将锁存的地址和控制信号输出到从设备中(Cx=0)。在通道选择部件的支持下,当总线提出传输请求但没有占据通道或HREADY信号为0时,将输出已锁存的总线初始命令。一旦该端口占据了通道将直接输出总线上的后续控制信号。
HREADY信号产生部件的输出由三种情况在总线无请求时输出1;当总线有请求但是没有占据通道或需要等待HREADY信号时,将输出0;在占据通道的传输过程中直接输出从设备的HREADY信号。上述地址和控制信号输出以及HREADY信号的反馈都将在通道选择部件的控制下完成。
如图3为双总线通道的实例,总线AC通道产生的请求信号发给仲裁部件,排队网络根据循优先的原则和目标总线的状态,产生相应的仲裁结果信号;选择产生部件是由目标总线上的HREADY作为使能信号对排队网络结果进行寄存,HREADY为1时,C(总线数据通道切换控制信号)输入使能;为0时,C锁存上次的结果。
通道选择产生部件的结构如图5所示图中CR寄存器是一个位宽与总线的数量一致的D寄存器;QCR是CR寄存器输出结果的寄存器。该部件的主要含义是排队网络产生的结果D(请求仲裁器的最终结果输出信号。以下同)只有在从设备输出的HREADY信号为1时才能影响真正引起通道的切换,否则将保持原有的输出值C不变。C较排队网络的输出D要慢一个HREADY为1的节拍。这主要有两个功能1.当端口没有占据通道时,Cx为0。此时将保持该端口输出的传输命令为端口已寄存的总线首次传输命令。此时要进入直通传输过程需要两个条件首先,相应的D为1,表示通道选择了该端口,同时从设备的HREADY=1表示从设备已经做好接收命令的请求。当这两个条件都满足的时候,Cx将被设置为0。这时该端口的后续地址和控制命令将直接输入到从设备中。
2.由于AHB总线的流水特性,总线上的数据相位较地址和控制相位要晚一个周期以上。当总线上的传输请求撒消后,从设备的数据通道输入还应保持原有总线端口的输入,直至从设备给出HREADY信号。
图4、图5中排队网络中的C信号的初始化值只有C0为1,其余全部为0。对于只有两个通道的排队网络中第x位的逻辑表达式为D0=R0*(C0+C1*R‾1)+R‾1*R‾0;]]>Dx=Rx*(Cx+Cx-1*Rx-1‾);(x=1)]]>对于有三个通道的排队网络中第x位的逻辑表达式为D0=R0*(C0+C2*R‾2+C1*R‾1*R2‾)+R‾2*R1‾*R0‾;]]>Dx=Rx*(Cx+Cx-1*Rx-1‾+Cx-2*Rx-1‾*Rx-2‾)+Cx-1*Rx-2‾*Rx-1‾*Rx‾;(x=1,2)]]>该逻辑表达式和初始化值使得排队网络具有以下特性(1)某一有请求的总线一旦占据了通道,它将一直占用下去直到该总线上的请求撒消。
(2)总线的优先权仲裁是按照轮转的方式进行。
(3)当总线无请求是,通道将缺省“停靠”在总线0上。一般来说,总线0应该是具有最高访问可能性的总线,这样可以减少通道切换的开销。
图5中的数据控制通道由Cx信号控制不同总线的数据总线对目标总线的切换,在选中目标总线的读周期,该部件根据Cx的值决定数据的输出到哪一路总线上,如果目标总线没有被选中,则总线响应界面产生相应响应信号;在写周期,数据控制通道根据请求总线对目标总线的选中情况连接不同的数据输入总线。
本发明的结构(方法)在作以下的变更后,还可以有以下作用如果本发明中的多总线是一条总线的多个主设备,那么本发明的结构可以用来作总线的仲裁器。
如果本发明中的目标总线上只一个从设备,那么本发明就可以用来做可支持多端口访问的多设备的端口仲裁装置。
权利要求
1.一种实现多总线到一总线进行不间断流水切换的方法,其特征在于,所述方法包括下列步骤a.总线通道接收部件对总线进行监测,当监测到任一总线向目标总线提出访问请求时,总线通道部件接收对仲裁部件发出请求;b.仲裁部件根据请求信号和目标总线的状态以及循环优先的原则,对所有的请求进行仲裁,并产生最终的仲裁结果;c.通道准入控制部件根据仲裁的结果将访问请求送入目标总线;d.数据、响应进出控制及响应产生部件根据仲裁的结果,来决定将目标总线的数据及响应返回哪一路请求总线,如果请求总线没有被选中,则产生一个相应的响应信号返回请求总线。
2.如权利要求1所述的方法,其特征在于a步骤中的通道部件对仲裁部件所发出的请求信号Rx是依据以下逻辑关系来确定的,总线上的请求命中信号HSELx和表示总线的请求是否有效的信号HTRANSx逻辑与,总线上的请求命中信号HSELx有效锁存为信号QHSELx,信号QHSELx有效锁存为信号QQHSELx,信号QQHSELx与信号QHSELx组合产生信号MHSELx,信号MHSELx与信号HTRANSx的有效锁存信号MHTRANSx逻辑与,这些信号的逻辑表达式为Rx=(HSELx*HTRANSx)+(MHSELx*MHTRANSx)*Cx,Cx为总线数据通道切换控制信号,Rx信号的产生实现了多总线到目标总线在连续请求中不间断流水切换。
3.如权利要求1所述的方法,其特征在于b步骤中Cx信号的产生,是由目标总线的HREADY信号通过寄存器的锁定来实现的。
4.一种实现多总线到一总线进行不间断流水切换的装置,其特征在于,所述装置包括a.具有自动监测和锁存请求总线上的访问信号和立即向排队网络提供仲裁请求信号功能的,并可使请求总线上的地址及控制信号进入目标总线的总线通道接收部件;b.用于接受来自总线通道接收部件的请求信号,根据目标总线的状态和循环优先原则产生控制当前有效的通道信号进入目标总线,并选择哪个通道请求总线能接收目标总线返回的响应的仲裁结果的仲裁部件;c.用于根据仲裁的结果控制不同总线通道接收部件使相应的请求总线进入目标总线的通道准入控制部件;d.用于根据仲裁的结果对目标总线返回的响应进行处理和对其它没有得到访问响应的请求总线产生响应信号的数据、响应进出控制及响应产生部件。
全文摘要
一种实现多总线到一总线,进行不间断流水切换的方法和装置,所述方法是通过总线的通道接收部件对总线的访问进行监测,当任一总线对目标总线有请求时,仲裁部件根据当前的请求和目标总线的状态产生仲裁信号,给以相应的执行。所述的装置包括:目标总线的访问接收通道、仲裁部件、访问准入通道和访问响应处理部件。本发明,无需总线的主控器直接参与,能够实现零周期的总线切换,效率高,成本低。
文档编号G06F13/12GK1366240SQ01107469
公开日2002年8月28日 申请日期2001年1月18日 优先权日2001年1月18日
发明者朱子宇, 陈虎, 刘华预, 王良清 申请人:深圳市中兴集成电路设计有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1