使用系统总线控制器的模块间通信的设备和方法

文档序号:7568918阅读:331来源:国知局
专利名称:使用系统总线控制器的模块间通信的设备和方法
技术领域
本发明一般涉及系统总线控制器,更具体说,涉及用于系统处理器单元(SPU)之间、以及一SPU和包括接口、时钟及交换单元的所有其他系统模块之间互相通信的方法和设备。
系统总线通常能够按照字长量,实现各种计算机系统单元之间的数据交换。在实际应用中,大量的单元连接至同一条总线上,各单元都以有序的方式为各自的传输争用该条总线。
系统部件之间数据交换的定时和排序是由一个特定的网络总线体系结构来控制的。一个已知的这种体系结构是“以太网(Ethemet)”。在以太网中的所有站都通过一些网络接口卡或连接器与一条缆线相连接,缆线通到每一用户设备,它可以是一种无屏蔽双绞式(UTP)导线(采用一个RJ-45连接器)同轴缆线。
以太网络采用一种称为带有冲突检测的载波侦听多路存取(CSMA/CD)的协议。在这种CSMA/CD协议中,每个站通过连续地监视缆线,检测其何时空闲(无用户传送)、何时有一个用户正在(成功地)进行传输、或者何时有多于一个用户正在同时试图传输(冲突),来共用这条缆线。
缆线基本上起着一条广播总线的作用。如果任一个站检测到这条缆线是空闲的,它便可以在其上传输。一旦一个站进行传输,其它一些站将不能够中断这一传输。如果两个站同时开始传输,它们则利用冲突检测来检测这一冲突,并停下来,在经过一个随机选择时间间隔之后,进行重试。
以太网络具有每秒10兆位(Mbps)的额定传输数据速率。但是,空闲时间与冲突会显著地将有用信息吞吐量减少到大约1-2Mbps。光缆不能用于这类网络,因为它们不适用于由站直接抽头,而利用同轴电缆则能做到。
在令牌式环形网络中,站是以点对点的链接方式安排在相邻两地间的一个环路中的。传输的信息流为单向,即顺时针方向或反时针方向。一个传输信息经过点对点链路传送到接收站,然后向前绕过环中其余的站而回到发送站,作为一次确认。只有一个拥有“令牌”(一个单数字的码字)的站才可以进行传送。在传送之后,该站将令牌传给其下游的相邻站,因而在一个令牌式环路之中不会发生冲突。
因为令牌环采用点对点的链接,所以可以使用诸如屏蔽双绞式(STP)馈线和光缆等各种各样的传输媒体。
令牌环的传输速率,取决于所用传输媒体,范围在1Mbps(用STP)至16Mbps(用光缆)。大多数设备都采用STP,因为其在两者中较为便宜。
这些现有的总线拓扑结构有以下缺点。其一是传输速率低。如以上所讨论的,虽然以太网传输额定速率达10Mbps,但是在实际操作中由于空闲时间和冲突,会使其低得多。令牌环的传输速率范围可从1到16Mbps,但其数据流向为单向的。
第二个缺点是,上述这些拓扑结构,要求大量的连接脚并要以机械方式连接。而且这两种拓扑结构都要求复杂的协议来建立信息及管理数据的传输。最后,还需要复杂的硬件设计来支持数据传输和误差检测功能。
鉴于以上原因,所以需要一种能够在系统处理器与系统模块之间或之中进行宽带双向数据传递的系统总线控制器,而能采用简单的协议和硬件来格式化并管理数据的传输。
本发明的目的在于提供一种在各系统模块中引入系统总线控制器的系统总线体系结构,其基本上能够消除一个或多个现有技术中的局限和缺点所引起的问题。
通常,系统总线控制器允许两个不同处理器模块之间的通信(即处理器间的通信(IPC)),其中一个为主设备模块,另一个为从属设备模块。而且,系统总线控制器还提供从属模块之间的数据通信,或者一个主模块与多个从属模块之间的数据通信。
另外,系统总线控制器允许由主控制器通过底板进行的远程数据传输,并在底板上为IPC提供足够的带宽。
为了实现这些以及其它的优点,根据本发明的目的,作为具体化和广义上的描述,本发明提供了一种用于模块间通信的系统总线,包括一条底板总线(back-plane bus);与该底板总线相通的存储器装置,用于存储数据;多个寄存器,用于控制对该存储器装置的访问一个经一主总线控制器与底板总线相连接的主系统处理器模块,其带有一个选择性地与主总线控制器相通的中央处理单元;多个经一从属总线控制器与底板总线相连接的从属模块,这多个从属模块中的每一个都带有一个选择性地与所述从属总线控制器相通的从属中央处理单元;主、从总线控制器都选择性地与存储器装置、多个寄存器、以及各自的中央处理单元相通,以通过底板总线发送和接收数据。
根据本发明的另一方面,本发明提供了一种主-从模块通信的方法,包括以下步骤通过一主中央处理单元请求对从属模块的访问;确定该从属模块是否可访问;接收对该从属模块可访问的确认;对共用存储器进行访问,以进行该主-从模块之间的数据传输;通过主中央处理单元指示数据传输已经完成。
根据本发明的再一方面,由于底板总线是双向的,所以上述方法步骤亦适用于下列情况一个主模块访问一个或多个从属模块、一个从属模块访问一个主模块、或者一个从属模块通过该主模块访问一个从属模块。
应能理解到,以上的概述及后面的详细叙述均为举例性和解释性的,旨在为由权利要求书所限定的本发明提供进一步的说明。
下面结合附图对本发明一个较佳实施例的描述,将有助于更好地理解本发明上述的及其它的目的、特点及优点。附图中

图1为本发明系统总线结构的示意图;图2为主、从模块的功能部件的示意图;图3为表示存储器映象地址及相关寄存器的表。
图4是根据本发明的读和写循环的流程图;图5A-5D分别表示请求(RQST)、确认(ACK)、完成(DONE)及中断寄存器的表;以及图6示出本发明的奇偶校验误差检测方法。
现在参见附图。参见图1,图中示出了一个使用本发明的设备和方法的系统总线体系结构的总体图。如图所示,此系统总线体系结构包括一底板总线12,其分别与多个系统处理单元(SPU)14a和14b、系统接口单元(SIU)16、系统交换单元(SSU)18、以及系统时钟单元(SCU)20相通。虽然图1中示有多个SPU、SIU、SSU及SCU单元,但应理解到,根据具体系统的结构,任何数目的相应单元,包括这些单元的单独装置,都可以与底板12相接口。
各单元的一些举例性功能如下。诸SPU例如包含操作系统、操作及维护(OAM)软件、和调用控制软件。诸SSU提供异步传输模式(ATM)切换,而诸SCU则使网络同步化。最后,诸SIU提供ATM存储单元、帧转接、局部网络(LAN)、及准同步数字层次(PDH)接口。
底板总线12是一条16位的宽的高速并行总线,具有高达10兆字节/秒的数据传输能力。因此该底板总线要比以太或令牌环网络大约快八倍。在此高速总线上处理器之间的通信将基本上是以成组方式传递的,实际上是点对点的。尽管一般估计信息流式传递的频率很低,但此点对点的传递仍能常常变成为信息流式的。例如信息流式的数据传输可能在初始卸载期间、计算数据传输期间、及网络管理站间的数据传输管理期间,出现于模块之间。可能在某些时候要求SPU进行广播,而广播的数据则总是处于成组方式。在大多数情况下,成组方式的IPC应用将传输一个单独的消息缓冲区。目前,在总线结构中一个内部操作系统信息缓冲区的最大尺度是1024个字节。
在所示的实施例中,底板总线12支持主设备侧的一个现用SPU14a与从属设备侧的各个接口16、交换单元18及时钟单元20之间的通信。备用SPU 14b亦以从属模式运行。可以指定诸SPU中的任何一个(但只能是一个)作为主(现用)设备,而其余的均须指定为从属(备用)设备,因为只能有一个主处理器用于该系统。如图1所示,通过底板的通信信道是双向的。
各模块的内部结构和操作在功能上是类似的。如图2所示,主模块(即现用的SPU 14a)具有一相关总线控制器22和中央处理单元24。类似地,从属模块16(例如一个SIU)也具有一相关总线控制器32和中央处理单元(CPU)34。为简化起见,图2中仅示出一个从属模块。应当理解,每一接口16、交换单元18及时钟单元20、乃至备用SPU14b,都含有一总线控制器和中央处理单元(CPU)。
主、从模块的各总线控制器与一共用总线存储器,更具体地,与一静态随机存取存储器(SRAM)装置26相接口。该SRAM 26被分成两部分接收(Rx)部分和发送(Tx)部分,用以保存用于微处理器各方向上所产生的信息。图3示出了SRAM的一个举例性的存储器映象及其相关的控制寄存器(将在下文作进一步讨论)。Tx和Rx区域在任何一次都各能保持高达4096字节的信息。如果需要的话,该存储器的容量还能提高。
底板上的通信协议由主总线控制器22控制,它控制主、从CPU之间通过底板的数据流的交易和方向,产生SPU与各SIU、SSU、SCU之间的存取计时定序,以提供对特定请求微处理器的读、写存取。
当无信息传递时,全部从属总线控制器32(SCU、SIU、SSU和备用CPU)都通过该底板显示一个READY信号。该READY信号表示主CPU已经批准了对该特定从属模块的访问。相反,当READY信号被撤销后,主CPU不能访问该从属模块。
如果从属模块正在使用共用存储器,READY信号依据ACK寄存器的状态而被撤销,对此后文将作进一步描述。
主CPU可以容易地对每个从属SRAM的共用存储器进行访问。通过一系列利用下列内部协议命令与总线控制器进行通信的控制寄存器,可实现对SRAM26的访问>RQST请求访问SRAM>ACK等待来自总线控制器的确认>INTERRUPT接受并访问总线装置>DONE访问结束指示现在结合图4和图5A-5D的寄存器表讨论写/读序列的实例。诸寄存器表中示出的具体寄存器位是为了讨论而列的。所以应当理解,在本发明的实际应用中,可以采用一些不同的寄存器结构。在下述的序列中,主SPU将先向一SIU的共用存储器(SRAM)中写入数据,然后此SIU将读取该写入的数据。
本发明的总线体系结构可以采用美国专利申请第08/474,174号(代理号为SNL-PAT95001)中披露的系统总线软件驱动器,该申请是由Gananathan Suresh等人于1995年6月7日提交的,其全部内容在此引作为参考文献。该专利申请说明书的某些部分将在下文的适当段落中加以重复,以便于参考和讨论。
当主CPU24要访问总线12时,它通过在与总线12相关的RQST寄存器上写入“1”,向其总线控制器24发出一个请求信号(图4中的步骤405)。图5A中示出的是此16-位的RQST寄存器,仅仅使用BO位。在这种情况下,BO将是“1”,表示一个总线请求,否则BO将设为“0”。
总线控制器询问总线12,确定该总线是否正被使用。如果该总使正被占用,总线READY信号则被置为低(“0”);如果该总线未被占用,总线READY信号将被置为高(“1”)。
对应于总线READY信号电平,ACK寄存器(图5B)的B7将被置为“1”,以表明该总线可以使用,或被置为“0”,以表明总线已被占用。不使用B0-B5及B8-B15位。
在图4的步骤410中,CPU24读取ACK寄存器,以确定SPU能否使用该总线。在判定框415中,如果ACK为“0”,在“N”毫秒(ms)的延迟(步骤417)之后,重复步骤405。因为向从属设备则发送一条1K字节信息需要大约1ms或更少的时间,所以从控制器接收确认亦需等量的时间。因而,“N”将大约为1ms或大于1ms。如果ACK为“1”,就可以将数据写入SRAM26(步骤420)。
在全部数据写入SPAM26之后(步骤425),CPU24将图5C所示DONE寄存器的BO设置为“1”,以向总线控制器22表明此写循环已完成(图4中步骤430)。在写循环中,BO将被置为“0”。在此实施例中,不使用B1-B5位。
以下将描述通过SIU的读序列。在SPU 14a的写存取结束时,总线控制器产生一INTERRUPT(中断)信号(图4中步骤440),其由SIU的局部CPU34所接收,表明来自SPU的数据已到达。如图5D所示,INTERRUPT寄存器的BO将被置为“0”以起动该信号,被置为“1”则关闭信号。
在图4的步骤450中,数据由SIU从SRAM26中读出。读出数据之后,SIU的局部CPU34将图5C所示DONE寄存器的BO设置为“1”,以向总线控制器32表明读循环已经完成(图4中步骤460)。
应当理解,上述序列仅是举例性的,在本发明的实际应用中,还可以实现主模块与各种从属模块之间读写循环的很多组合。例如,如图1所示,可以通过底板总线12,在现用SPU和从属SPU之间、以及在主SPU和诸SIU、SSU、SCU中任何一个之间,发送和接收信息。
而且,如图1所示,在任一从属模块组本身之内或之间,不存在直接的相互通信连接。例如,如果需要任一发送SIU向另一接收SIU发送一信息,那么此信息先由发送SIU经底板总线12传至主SPU,然后该主SPU再将此信息传至接收SIU。在各其它从属模块之间及之中,存在同样的情况。如果需要任一发送SIU向一接收SSU发送一信息,那么此信息先由发送SIU经底板总线12传至主CPU,然后该主CPU再将此信息传至接收SSU。
通过任一局部CPU的诸RQST信号是异步的,其异步在于,仅当一数据包已准备就诸要传输至总线共用存储器26时,它们才被导向到相关的总线控制器,而一但传输结束,共用存储器26将被立即释放。
图6示出了本发明的奇偶校验误差检测方法。在一条16-位总线上,对每八位存在一个单独的位奇偶校验检测。在一个一位奇偶校验码中,计算一个数据字中二进制“1”的个数。如果“1”的个数为奇数,则该字具有奇数奇偶校验;反之则具有偶数奇偶校验。当一个字被写入存储器中时,该奇偶校验位亦被写入。当该字被读出时,该奇偶校验位也被读出并被检验。如果所储存的和被检测出的奇偶校验位不匹配,则检测到一个误差。一个一位奇偶校验码最多能够检测数据项目中的一位误差。
如图6所示,现用SPU的局部CPU向现用SPU的总线控制器发送数据。此数据然后被发送给被指定接收此信息的从属总线控制器。该从属设备则检查系统总线I/O ACK寄存器(图5B),使B6位被置为“1”,指示从SPU接收的数据上有一奇偶校验误差。如果B6为“0”,则表明无误差。
如果检测到一奇偶校验误差,从属总线控制器则试图终止通信路径。但是,由于该信号仍然是有效的(即,即使当SPU访问总线12时READA信号曾被撤销,但地址选通仍然有效),所以现用SPU的总线控制器将试图在同一信道上重新发送信息给从属总线控制器(在此地址选通现在被撤销)。
如果有任何传输误差存在,驱动器将丢失信息包,于是通知网络管理系统(NMS)。上级IPC协议(发送控制协议-TCP)将检测丢失的信息包并从这些误差中加以恢复。因此,采用IPC系统总线的所有应用,必须利用由系统IPC所提供的服务,以保证可靠的传输。
尽管以上结合一些实施例对本发明进行了描述,但本领域的熟练技术人员将能认识到,在所附权利要求书的精神与范围之内,也可以通过一些修改来实现本发明。
权利要求
1.一种用于模块间通信的系统总线体系结构,包括一条底板总线;与所述底板总线相通的一存储器装置,用于储存数据;多个寄存器,用于控制对所述存储器装置的访问;一个主系统处理器模块,其通过一个主总线控制器与所述底板总线连接,所述主系统处理器模块具有一选择性地与所述主总线控制器相通的中央处理单元;多个从属模块,其通过一从属总线控制器与所述底板总线相连接,每一所述从属模块都具有一个选择性地与所述从属总线控制器相通的从属中央处理单元;所述主、从总线控制器选择性地与所述存储器装置、所述多个寄存器、各自的中央处理单元相通,以便通过所述底板总线发送和接收数据。
2.如权利要求1的系统,其特征在于,所述主模块是一个现用系统处理器单元。
3.如权利要求1的系统,其特征在于,所述从属模块是一个备用系统处理器单元。
4.如权利要求1的系统,其特征在于,所述从属模块从由一系统接口单元、一系统交换单元、及一系统时钟单元构成的组中选出。
5.如权利要求1的系统,其特征在于,所述存储器装置是共用静态随机存取存储器(SRAM)。
6.如权利要求1的系统,其特征在于,所述多个寄存器包括请求、确认、中断及完成寄存器。
7.一种在具有底板总线的系统总线体系结构中进行主-从模块通信的方法,所述系统总线体系结构带有一个由多个寄存器控制的共用存储器单元、一个具有主总线控制器存储器单元和主中央处理单元的主模块、以及至少一个具有从属总线控制器和从属中央处理单元的从属模块;所述方法包括以下步骤通过所述主中央处理单元请求对从属模块的访问;确定该从属模块是否可访问;接收对该从属模块可访问的确认;访问所述共用存储器以在所述主模块与从属模块之间进行数据传输;以及通过所述主中央处理单元指示所述数据传输已经完成。
8.如权利要求7的方法,其特征在于,所述请求步骤通过与一个第一寄存器相通信来执行。
9.如权利要求8的方法,其特征在于,所述确认步骤通过主总线控制器与一个第二寄存器相通信来执行。
10.如权利要求9的方法,其特征在于,所述指示步骤通过与一个第三寄存器相通信来执行。
11.如权利要求7的方法,其特征在于,所述数据传输是读出过程和写入过程之一。
12.一种在具有底板总线的系统总线体系结构中进行从-主模块通信的方法,所述系统总线体系结构带有一个由多个寄存器控制的共用存储器单元、一个具有主总线控制器存储器单元和主中央处理单元的主模块、以及至少一个具有从属总线控制器和从属中央处理单元的从属模块,所述方法包括以下步骤通过所述从属中央处理单元请求对主模块的访问;确定该主模块是否可访问;接收对该主模块可访问的确认;访问所述共用存储器以在所述从属模块与主模块之间进行数据传输;以及通过所述从属中央处理单元指示所述数据传输已经完成。
全文摘要
一种模块间通信的系统总线体系结构,包括具有相关存储器和多个控制寄存器的底板总线。一主系统处理器模块经主总线控制器与底板总线相连,并含有选择性地与主总线控制器相通的中央处理单元。多个从属模块经各自的从属总线控制器与底板总线相连,并各带有一选择性地与从属总线控制器相通的从属中央处理单元。主、从总线控制器选择性地与总线存储器、多个寄存器、及相应中央处理单元相通,以通过底板总线发送和接收数据。
文档编号H04L12/403GK1143775SQ9610684
公开日1997年2月26日 申请日期1996年6月4日 优先权日1995年6月7日
发明者Y·I·金, K·B·康, Y·C·陈, J·K·李 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1