论文部分内容阅读
随着数字技术的持续发展和半导体工艺的进步,在新的工艺条件下,超大规模集成电路设计正面临着新的问题。对于处理器设计而言,一方面由于影响处理器设计的线延迟、存储器访问延迟、功耗、设计复杂度、设计开销等问题愈发严重;另一方面,人们对计算能力的要求平均以每年80%左右的速度递增。而传统的微处理器结构由于过多地使用了集总式部件而导致可扩展性较差,已不能适应当前的技术、经济发展要求。在这种情况下,一系列新型的处理器结构应运而生,分簇超标量处理器正是其中之一。分簇超标量处理器通过将超标量中的集总式部件用协同工作的基本同构(或模块化)的多个小部件(簇)来代替,并对协作的方法进行了特别的关注,使得分簇超标量处理器在面积、功耗、设计复杂度、设计开销减少时,能够获得接近、达到、或超过原有的集总的超标量处理器的性能,并且具有较好的可扩展性。文章首先对影响分簇超标量性能的关键因素——指令分派算法进行了深入研究。分析了若干经典的分派算法,并对分簇大小、指令队列大小、簇间通信延迟、指令队列的分派端口以及重试策略对分派算法的影响进行了详细的研究。基于上述分析结果,指出不同分派算法的性能随仿真条件的变化差异巨大。由于经典的相关性算法在负载均衡上还有扩展空间,以及无需给相关性算法提供与取指宽度相同数量的分派端口以满足最坏情况,提出了一种基于限制分派端口数目以进行强制均衡策略的LA分派算法。该算法将经典的DCOUNT算法中累积性的一次性负载均衡分散到多点、多次,性能与DCOUNT算法相当,降低了硬件复杂度和面积开销。在对Fields的程序相关图进行改进的基础上,提出了一种在线关键路径分析框架,该框架能快速有效地分析分簇超标量处理器的性能瓶颈。将该框架集成到仿真器中,进行了处理器的CPI分析、指令的关键性研究等工作。在分析分布式寄存器堆结构和拷贝指令特点的基础上,提出了一种分簇超标量处理器微结构。该结构使用了一种新的分布式重命名机制,该机制对重命名级进行了分簇,减少了硬件开销,提升了处理器的扩展性;研究了拷贝指令给分簇超标量的指令调度和执行带来的影响,提出了一种使用拷贝指令附加信息的指令队列结构。该指令队列相对于任何使用单独拷贝指令队列的情况,在1x8的结构下,整数性能至少上升了2.5%,浮点性能至少持平;相对于拷贝指令跟正常指令争用资源的情况,整数性能上升26.2%,浮点上升59.7%。论文提取并分析了分簇超标量处理器中点对点标量网络的通信特征,指出了其显著特点在于较低的负载特性和较均匀的负载分布。通过一种可配置网络平台对标量网络的网络性能进行了仿真与评估,确定了标量网络及其路由器设计的优化策略,提出了一种适用于分簇超标量处理器的点对点标量网络,采用两套配置相同、共用控制逻辑的网络,分别传输标签与操作数。其中路由器具有设计简单、无流控机制、具有旁路机制等特点。使用该标量网络,处理器能够达到与理想总线相近的性能,比使用SynNet的处理器性能平均提升了5.8%。分簇超标量处理器中Cache的性能依然是处理器的瓶颈,通过给每个簇配置一个私有的快速投机L0Cache的方法,较好地抵消了下级Cache的访问延迟。通过给L0Cache加入读更新和固定读长度的方法,在保证足够的正确率的同时,较文献中的L0Cache结构的读命中率增加了44.8%。仿真结果显示,在8簇的分簇处理器中,每簇采用4KB2路组相连分簇L0Cache后,处理器性能平均提升5.6%,在部分测试程序中达到20%以上,较文献中的L0Cache性能提升3.1%。