论文部分内容阅读
处理器的发展在过去30年中,一直以提高芯片的主频和开发指令间并行度ILP(Instruction-LevelParalellism)为设计主导,性能大概每年提高50%~60%,而由时钟频率带来的性能提高占到总性能提升的4/5。在当前单核处理器的性能依靠频率提升和开发ILP达到瓶颈的情况下,片上多核处理器作为一种解决方案,逐渐成为处理器开发的趋势,其主要思想是利用片上丰富的晶体管资源,集成多个处理器核,在指令级、线程级等多个层次上开发并行性,以达到更高的性能。而一直影响处理器性能提升的“存储墙”问题在多核处理器开发中也成为一个不可忽略的问题。 本文基于北大众志微处理器研发中心正在研发的多核处理器UniCore-3项目,重点关注多核之间互连结构以及访存接口的设计、验证及性能评测,完成了互连结构的实现并进行了适当的优化。文章完成的主要工作包括: ●调研分析多款多核处理器的核间互连、Cache层次组织结构、一致性解决方案等多核处理器设计中必须关注的问题,分析了UniCore-3处理器的具体需求,包括IMMU、DMMU、ICache、DCache及L2Cache等模块,确定了采用SCU(SnoopControlUnit)来解决一致性问题,互连结构采用AMBA3.0AXI总线实现; ●根据需求分析及实现难度分析,确定了互连结构及访存接口的实现采用NIC-301互连IP实现CIU、SIU、BIU的多层总线结构,并且分析了寄存器配置、特殊交易实现、死锁问题等实现过程中可能会影响时序、面积、性能等的关键问题并完成实现; ●完成功能验证、时序面积优化及性能评测优化。功能验证工作重点关注交易分发、ID分配、一致性特殊操作等情况,最终在模拟环境中,完成了互连结构及访存接口的系统级功能验证工作。性能评测工作主要采用硬件性能检测器来完成,主要监测了实际指令执行过程中交易的延迟、交易次数等数据。通过性能评测发现,模拟环境中,添加L2Cache可以明显减少读写操作的交易延迟,而对于主存的读、写交易延迟普遍较大,这与目前系统中采用的主存类型及性能有关;多核情况下,核间进行数据传输的延迟受到是否存在交易冲突影响较大。