发明内容
本发明为克服上述现有技术的不足之处而提出一种多总线系统中提高桥接效率的方法和多端口PCI桥结构,增加PCI桥的端口,按照对PCI桥访问指令的方向将主、从设备任务分开,以简单而易于控制的结构减小总线上数据交换阻塞概率,提高系统总线一方的数据流量;同时不增加与外围电路的连线数量。
本发明的目的可以通过以下技术方案来达到:
提出一种多总线系统中桥接的方法,用以在PCI总线与系统总线之间建立桥接,所述PCI桥的一个端口连接PCI总线,并设立有两个通道的端口复用I,该端口复用I的通道I连接有PCI主设备、通道I数据缓冲和系统总线侧从设备端;其通道II连接有PCI从设备端、通道II数据缓冲和系统总线侧主设备端;并在所述系统总线侧从设备与PCI从设备之间跨接PCI桥内部寄存器,在所述系统总线侧主设备与PCI主设备之间跨接PCI桥内部DMA;尤其是所述方法适用于所有系统总线侧多系统总线与PCI总线间的桥接,并具有以下步骤:
在所述AHB(系统总线侧)主设备和AHB从设备上分别建立端口I和端口II。
设计、制造一种多总线系统中的多端口PCI桥,包括连接在PCI总线一侧的端口复用I,该端口复用I的通道I连接有PCI主设备、通道I数据缓冲和AHB从设备;其通道II连接有PCI从设备、通道II数据缓冲和ARB主设备;并在所述AHB从设备和PCI从设备之间跨接有PCI桥内部寄存器;在所述AHB主设备与PCI主设备之间跨接PCI桥内部DMA;尤其是所述AHB从设备和AHB主设备上还分别设立端口I和端口II。
具体实施方式
以下结合附图所示之最佳实施例作进一步说明。
本发明一种多总线系统中桥接的方法,在PCI总线1与系统总线3之间建立桥接,所述总线间外围部件互连桥(指PCI桥)2的一个端口521连接PCI总线1,并设立有两个通道的端口复用I 200,该端口复用的通道I连接有PCI主设备211、通道I数据缓冲212和AHB从设备213;其通道II连接有PCI从设备221、通道II数据缓冲222和AHB主设备223;并在所述AHB从设备213与PCI从设备221之间跨接PCI桥内部寄存器2011,在所述AHB主设备223与PCI主设备211之间跨接PCI桥内部DMA 2012;并具有以下步骤:
A.在所述AHB主设备223和AHB从设备213上分别建立端口I 531和端口II 532。
此时,将所述端口I 531和端口II 532分别与系统总线I 31和系统总线II 32相连,即形成三端口PCI桥结构,将PCI桥连接的总线条数增加50%。
若在步骤A之后执行以下步骤:
B.在所述端口I 531和端口II 532上建立端口复用II 300,将系统总线I 31和系统总线II 32挂接在该端口复用II 300另一侧,则形成半双工的三端口PCI桥结构,使三端口PCI桥更加灵活。
为进一步提高桥接效率,可在所述端口I 531或端口II 532上分别并接系统总线III33或系统总线IV 34,以形成四端口、五端口的PCI桥结构,既提高效率,又使CPU的操作有更多的灵活性。
一种多总线系统中的多端口PCI桥,包括连接在PCI总线1一侧的端口复用I 200,该端口复用的通道I依次连接有PCI主设备211、通道I数据缓冲212和AHB从设备213;其通道II依次连接有PCI从设备221、通道II数据缓冲222和AHB主设备223;在所述AHB从设备213和PCI从设备221之间跨接有PCI桥内部寄存器2011;在所述AHB主设备223与PCI主设备211之间跨接有PCI桥内部DMA 2012,尤其是所述AHB从设备213和AHB主设备223上还分别设置有端口I 531和端口II 532。
此时,使所述端口I 531和端口II 532分别与系统总线I 31或系统总线II 32相连,即形成三端口PCI桥结构,将PCI桥连接的总线条数增加50%。
效率更高的PCI桥结构还包括系统总线侧的端口复用II 300;所述端口I 531和端口II 532与端口复用II 300相连接。所述端口复用II 300至少外挂一条系统总线;当外挂两条总线时,形成半双工的三端口PCI桥结构,使三端口PCI桥更加灵活。
所述端口I 531或端口II 532中,至少一个端口上并接有一条系统总线。这样,所述PCI桥可以形成四端口、五端口的PCI桥结构;可按照单工、半双工的不同需要,安排多条总线并行工作,既提高效率,又使CPU的操作有更多的灵活性。
实用中,PCI总线设计经历了从双端口到三端口、多端口的过程。
图1所示为包含一条系统总线和一条外围PCI总线的计算机系统模型,它也是双端口PCI桥的应用环境,虚线框内的部分是计算机系统的核心——CPU。
中央处理器可以通过双端口主桥对外部PCI设备上的数据进行读写,将数据通过系统总线取到存储器1或存储器2中,也可以将中央处理器的运算结果通过双端口主桥送到外部PCI设备中去。这些传送过程可以由中央处理器直接控制,并且中央处理器也可以通过系统总线来观察桥的工作状态。数据的传送也可以通过DMA来直接控制,中央处理器通过DMA设备来间接地控制穿过双端口主桥的数据传送。在这种双端口PCI桥中,DMA通过主桥访问外部PCI设备时,由于DMA占用着系统总线,中央处理器不能通过系统总线访问主桥,因而回出现等待状态。当中央处理器访问主桥或存储器时,DMA对主桥的访问也会进入等待状态。同样当内部系统总线被中央处理器或DMA占用时,外部PCI设备发起的对内部存储器资源的访问也会阻塞。现有的双端口PCI桥本身作为PCI总线上的一个设备,其MASTER和SLAVER功能是分时使用PCI总线的;桥作为系统总线上的一个设备,其MASTER和SLAVER功能也是分时使用AHB总线的。
图2所示为包含2条系统总线和一条外围PCI总线的计算机系统模型。三端口PCI桥连接两条系统总线和一条PCI总线,当数据在PCI总线和第二条系统总线之间正在传送时,中央处理器可以通过第一条系统总线访问PCI桥。当中央处理器通过第一条总线访问主桥或者存储器设备时,DMA也可以通过第二条总线访问外部PCI设备,或者外部PCI设备也可以通过第二条总线访问存储器1或者存储器2。
图3所示为双端口PCI桥的内部结构。PCI总线上连接有复用处理逻辑,其上连有PCI主设备和PCI从设备,分别是PCI总线Master和Slaver的接口逻辑;还分别接有桥上的数据缓冲和数据缓冲逻辑;然后有分别接有AHBMaster和Slaver的接口逻辑AHB从设备和AHB主设备,最后接AHB总线上的Master和Target的接口复用逻辑,再接系统总线;其间跨接有桥上的内部控制和状态寄存器及内部DMA。
图4所示为三端口PCI桥的内部结构。1是PCI总线,200是PCI Master和PCI Slaver功能在端口上的复用处理逻辑,211是PCI总线Master接口逻辑,212是桥上的数据缓冲,213是AHB总线上的Slaver接口,31是系统总线I,32是系统总线II,2011是桥上的内部控制和状态寄存器,2012是桥上的内部DMA,223是桥上的AHB Master接口逻辑,222是桥的数据缓冲逻辑,221是桥上的PCI Slaver接口逻辑。与图3相比较,结构上少了一个共用的端口,系统总线一方MASTER和SLAVER不需要分时使用总线,减小了内部总线发生阻塞的几率,提高了CPU的使用效率,同时系统与外部的接口引腿数目保持不变,芯片的封装成本没有任何增加。桥作为PCI总线的主设备使用时,桥从系统总线上取得数据,将数据放到数据缓冲内,同时通知PCI主设备有数据传送,PCI主设备申请PCI总线成功以后,将数据发送到PCI总线上去。桥作为PCI总线的从设备工作时,桥响应PCI总线上设备访问,从PCI总线上接收数据,将数据存放到数据缓冲中,通知系统总线上的AHB主设备,将数据放到系统总线上去。内部寄存器中的数据可以被PCI总线访问,也可以被系统总线访问,桥通过内部寄存器中的数据来控制桥的行为或反映桥的状态,也通过内部DMA提高数据传输的效率。
目前桥在系统总线一方作为主设备和从设备的端口是明确分开的,即桥的PCI总线端口在不同时刻既可以作为主设备,又可以作为从设备,系统总线一方的端口只作为主设备或只作为从设备。
本发明中桥的结构还可以进一部扩展,在系统总线一方的端口可以在不同时刻既作为主设备,又作为从设备,如图5所示。
本发明还可以进一步扩展到多端口的总线桥,桥的一方可以连接多条系统总线。其中连接到每个总线的端口逻辑可以只包含主设备接口逻辑或只包含从设备接口逻辑,也可以既包含主设备接口逻辑,又包含从设备接口逻辑,一个五端口总线的例子如图6所示。
本方面相对于现有技术的优点在于:增加了桥的端口数量,使桥的系统总线一方Master和Slave分开,简化了结构,易于控制;Master和Target可以同时工作,提高了系统总线一方的数据流量,减小了系统总线阻塞发生的可能性;三端口时CPU芯片与外部接口引腿数目保持不变,CPU芯片的封装成本与内置一个双端口的PCI总线成本相同;并且在一条系统总线与外部PCI总线之间传送数据的同时,CPU可以通过另外一条内部总线随时监控数据传送过程,给系统使用者提供了更大的灵活性;适用于数据交换领域,尤其是包含CPU或DSP的数据交换领域。