目前关于物联卡路由器的研究主要分为两类:基于丢包的物联卡路由器和基于偏转路由的物联卡路由器。物联卡路由器的特点决定了其必须采用相应的机制处理多个包竞争同一个路由端口的情况。基于丢包的物联卡路由器采用丢包的方式处理竞争,而基于偏转路由的物联卡路由器则采用绕道路由的方式处理竞争。基于丢包的物联卡路由器中的丢包降低了路由器的性能,并且需要额外的重传机制处理丢包的情况,增加了路由器的设计复杂度。
基于偏转路由的物联卡路由器克服了基于丢包的物联卡路由器的不足,不存在丢包的情况,但是其面临的一个最大问题是活锁避免。传统的基于偏转路由的物联卡路由器按包在网络中所待时间的长短对包进行优先级排序,按优先级从高到低的顺序进行输出端口分配,能够有效避免活锁。但是,按优先级逐个分配输出端口的串行结构逻辑级数多,成为物联卡路由器的关键路径,限制了路由器实现的时钟频率。
为此,针对上述两种物联卡路由器存在的不足,对物联卡路由器的微体系结构进行优化设计,提高路由器的性能,对设计未来大规模多核SoC的高性能片上互连具有重要意义。此外,三维片上网络已在国际上引起学术界和产业界的广泛关注,在未来几年内将成为NoC一个重要的研究方向。在三维片上网络中采用传统的基于偏转路由的物联卡路由器,端口的增加将会导致按优先级进行输出端口分配的串行结构逻辑级数进一步增加。因此,本文分别针对二维和三维片上网络对基于偏转路由的物联卡路由器微体系结构进行优化设计以提高其实现频率。
国内最大的物联卡交易平台:物联卡之家(www.1330.cn)指出,在物联卡路由器中,由于不存在缓冲器,可以降低软错误出现的概率。通常故障在芯片上随机出现,因此面积大的逻辑往往比面积小的逻辑更容易出错。随着集成电路面积的增加,可靠性按照指数率恶化。与有缓冲路由器相比,物联卡路由器的面积大大降低,使其在应对故障方面具有先天优势。
在物联卡路由器线卡所嵌入的物理芯片中,网络处理器芯片和业务量管理器芯片是数据平面处理的两大功能芯片。其中网络处理器芯片的主要功能包括路由查找、数据包分类、数据包修改等,业务量管理器芯片的主要功能则包括拥塞控制、流量整形、数据包缓存和调度等。在线卡的输入方向上,当线卡接收到一个网络数据包时,它首先会把数据包发送给网络处理器芯片进行预处理,然后再将其发送给业务量管理器芯片进行进一步的排队调度等操作。在物联卡路由器中,路由器的存储功能主要在业务量管理器芯片中实现,因此业务量管理器芯片需要配置大容量的外部存储器,以便在网络发生拥塞时可以把数据包缓存在本地存储器中,降低丢包率。
路由器的存储模块是一个十分重要的模块,它直接影响到物联网的性能以及稳定性。随着物联网的发展,网络的研究者和开发者己经不满足于路由器存储模块的暂存数据包功能,而是希望进一步挖掘路由器存储模块的数据缓存潜力,进而提升网络的服务质量。因此,在未来物联网体系结构的研究中,研究者们己经开始更加注重挖掘存储模块的功能。如在以内容为中心的未来物联网体系结构的研究中,路由器的存储模块的功能有了新的定义:路由器可以对流经它的数据包进行缓存,当再次接收到请求该数据包的请求时,路由器可以直接从本地缓存中把需要的数据包读取出来,直接发送给请求者,而不需要把请求转发给其他路由器或者服务器。这种新型的网络体系结构赋予了路由器存储模块一种新的使命,它不再是一个简单的buffer,而是网络中的一级cache。