论文部分内容阅读
由于半导体技术的不断发展使芯片上集成的处理器核数不断增加,传统总线或者是点对点的通信结构渐渐出现带宽,功耗,延迟和可扩展性等方面的不足以及全局时钟难以同步,地址空间有限,无法支持多核并行通信等问题。为了解决这些问题,需要一种新的多核处理器之间通信的方法。片上网络(NOC)就应运而生,它是片上系统的一种新的通信方法,它的核心思想是将计算机网络技术应用在芯片设计中来,从而解决多核处理器系统间的互连通信问题。由于片上多核技术在并行编程的需求,就不得不考虑片上网络cache一致性问题。本文以片上网络cache一致性协议为目标,对片上网络一致性关键问题进行了详细的分析和深入的研究。本文首先分析了片上网络多核通信的优势,进而对片上网络多核Cache一致性问题进行分析研究,介绍了片上网络多核Cache一致性的相关知识。认真研究了片上网络的整体架构、拓扑结构、流控制机制、路由结构以及路由算法,还有cache的替换算法、cache的写策略、监听协议、目录协议以及片上网络cache一致性的特点。基于MESI协议和目录协议,提出一种新的片上网络cache一致性协议。共享存储器中每个数据块有一个目录,记录数据块在各核中的副本存在情况以及状态(M、E、S或者I)。各处理器核中都有一个高速缓存控制器,用来记录cache的状态(有效或者无效),以及对缓存的读写进行处理。重点讨论NOC cache一致性通信问题,提出一种广播路由机制,实现主节点广播cache无效数据包到目的节点;以及为了解决多核竞争共享主存引起的cache不一致问题,采使用的写优先仲裁路由机制,从而降低延迟,确保Cache数据的一致性。详细说明了片上网络通信的数据包格式,IP和NOC路由之间网络接口的设计以及路由的整体结构。在软件平台,结合经典的虚拟通道路由机制以及本文提出的片上网络cache一致性协议,构建IP、NI和路由的通信架构。采用Verilog HDL语言编写代码实现NOC架构和cache以及共享主存RAM。使用modelsim10.1d进行仿真验证测试,最终实现本文提出的基于NOC的多核cache一致性协议,并且对其性能进行实验对比。