反射内存卡的通讯区别于其它常规的通讯方式,是一种无需软件参与而实现数据共享的通讯方式。以PCI5565为例,PCI5565在系统中映射一个128M的内存空间,应用程序将***的数据写入板载的的内存中,而将这个内存中的数据共享到其它节点是由硬件来完成,硬件完成将数据以帧的方式传递到下一个节点,由于采用2.125G的光纤通讯这个速度是非常快的,缩短了数据同步的时间,在一些系统中可以认为两个内存中的数据是完全一样的。在实时性更高的系统中而且这个时间是可以预测的,因此在一些ms级或更低仿真周期的仿真系统中反射内存网的优势非常明显。
反射内存网区别于通用的通讯方式,但价格和成本一直比较高,不能像传统网络那样可以将成本做到很低,这限制了反射内存的应用,在一些成本敏感的系统中,只能是与常规网络互为补充。但反射内存的易用性降低了软件开发的成本和周期,节省了CPU开销,易于理解和使用,减小了系统的复杂度,缩短了系统研发周期减小了风险,这些优点使反射内存卡得到更多的应用。
目前反射内存网最为广泛的应用是在实时仿真系统,在这种系统中各个功能模块划分得十分清楚。负责***数据的计算机,负责模型解算的计算机,负责图像显示的计算机,负责数据输出的计算机。负责系统综合控制的计算机等等,可以扩充和减少节点,进行分布外理。软件开发也可以在不同的OS中进行。这使得多个员工合作快速开发出一个健壮的系统成为可能。
当然反射内存卡有更多的应用领域,这种可由设计人员自由发挥的,灵活设计系统。
反射内存网中的每个反射内存节点(任何5565反射内存卡)以菊花链的形式用光纤线互联。**块卡的发送必须连接到第二块卡的接收端,第二块卡的发送端连接到第三块卡的接收端,以此类推,直到再连接到**块卡的接收端完成一个完整的环形连接。也可以将所有节点连接到一个或多个ACC-5595反射内存HUB,每个节点的接收和发送都必须连接,如果没有检测到光信号或失去同步反射内存卡RFM-5565将不会发送数据包(例如光纤线已损坏)。反射内存网中每个节点的节点号必须**,节点号通过板上的拨码开关S2进行设置,任何两个节点不能有设置成同一个节点号,每个板卡的节点号可以在通过NODEID进行读取显示,节点号的顺序并不重要。
主系统对反射内存卡的板载SDRAM的写操作后,反射内内卡的硬件检测电路将自动发起一个整个反射内存网的数据传输动作。这个写操作可以是一个简单的PIO写或是一个DMA周期。
当产生一个对SDRAM的写操作时,RFM-5565反射内存卡自动将数据和其它相关的信息写入到发送缓冲器中(其它相关信息包括节点号,数据地址等信息),在发送缓冲器中,发送电路检测数据,并且将数据变成一个4到64字节长度可变的数据包。通过光纤接口发送到下一个板卡的接收端口。
接收电路检查数据包是否有错误,当无错误发生时数据被接收。接收电路解开数据包并且将数据存储到板载的接收缓冲器。在接收缓冲器中,另一个电路将数据写入到本地的SDRAM的和源节点相同的地址中。同时,该电路将数据同时发送到发送FIFO中,重复这个处理过程直到这个数据返回到源节点的接收端,在源节点中,接收电路检测到数据包的NODEID和源节点的NODEID相同,因此将数据包从网络中移除,这样所有的节点数据都被更新了。
网络内存网主要是由网络内存卡通过光纤连接而成的,网络上的每台计算机插入一块。网络内存卡形成各个节点,而每个节点的网络内存卡上的存储器中都有网络内存网上其它节点的共享数据拷贝。网络内存卡可以插在多种总线的主板上,如VME、PCI、CompactPCI、PMC接口等。每个网络内存卡都占有一段内存地址,网上任何计算机向本地网络内存卡写数据时,该数据和相应内存地址被广播到网上所有其他网络内存卡并存储在相同的位置。
所以计算机将数据写入其本地网络内存卡后的,极短时间内,网上所有计算机都可以访问这个新数据。网络内存卡使用简单的读写方式,网络内存网上的数据传输是纯硬件操作,不需要考虑网络的通信协议,软件上只需要几行代码就可完成对网络内存卡的读、写操作,因此它与以太网等其他传统网络相比具有更低的数据传输延迟、更快的传输速度,更简单灵活的使用操作,可以满足实时系统快速反应周期的要求,而采用其他网络就很难满足这种要求。
反射内存是一种通过局域网在互连的计算机间提供高效的数据传输的技术,强实时网络设计人员已经越来越多地采用这种技术。反射内存实时局域网的概念十分简单,就是设计一种网络内存板,在分布系统中实现内存至内存的通信,并且没有软件开销。每台计算机上插一块反射内存卡,卡上带有双口内存,各层软件既可以读也可以写这些内存,当数据被写入一台机器的反射内存卡的内存中后,反射内存卡自动地通过光纤传输到其他连在网络上的反射内存卡的内存里,通常,只需几百纳秒的时间延迟,所有的反射内存卡上的内存将写入同样的内容。而各成员在访问数据时,只要访问本地的反射内存卡中的内存即可。VMIC反射内存具有以下主要特点:
(1)高速度和高性能
传输速度达到174M字节/秒。使用光纤,可以连接更多节点(**到256个节点),具有很高的抗干扰能力。测试结果表明,从数据写入RAM到传到另一个节点的反射内存卡上,只有不到400纳秒的时延。
(2)使用方便
反射内存卡通过向每个节点机提供一套相同的数据备份使得各节点可以并发的访问相同的内容在访问反射内存卡的内存时与访问自身的内存没有差别。各节点间数据一致性是由反射内存卡保证,对应用软件是透明的。安装简单,将反射内存卡插在主板一个可用槽口上,再将各台主机通过光纤网或扁平数据线连在一起即可。
(3)独立于操作系统和处理机
反射内存卡可以VME、PCI、PMC、Compact PCI、Multibus I等多种总线上使用,可以将ALPHA、Power PC、Macintosh、奔腾等计算机通过反射内存卡实时网络连接在一起,组成一个集群系统。
(4)确定的数据传输时间
在反射内存卡中,当数据被写入本地的反射内存卡板的内存中时,就被同时传输到其他相连的计算机上,没有软件延迟,硬件延迟也非常小。光纤反射内存卡在节点间传输数据时只需400纳秒。这种确定的时间延迟为设计实时应用提供了有效的保证。
(5)经济、高效