基于异步映射的流水线替换策略研究
【摘要】:
随着对于速度和功耗的要求越来越高,高性能微处理器设计变得越来越复杂。例如,Intel的Itanium2处理器使用了2.2亿个晶体管,包括11个功能部件,能够同时发射和提交6条指令。工作负载也在不停地变化,从早期以科学计算为主到今天个人桌面应用、服务器事务处理、电子商务应用和各种嵌入式应用并存。为了保持市场竞争力,功耗、速度和成本成为微处理器设计的核心要素。
在这种背景下,基于全局时钟的同步电路遇到了前所未有的严峻挑战,其先天的技术特点使得其在速度和功耗的改进上的空间越来越小。相反地,异步电路具有低功耗、高性能等一系列相比同步电路的优势,但其极大的设计复杂度和异步资源的稀缺性严重影响了异步电路的设计和推广。
本文以同步和异步设计相结合的思路,以流水线作为切入点和研究方向,提出了基于异步映射的异步流水线设计方法。它通过控制结构替换,将同步流水线的时钟替换成异步控制的握手信号,流水线的其他部分保持不变,从而在提高性能和降低功耗的基础上降低了异步流水线设计的难度。本文主要的创新和贡献之处包括:
1.提出了用于异步映射的自控式单元,然后提出基于自控式单元的流水线模型,并证明了异步映射能够在保证流水线功能的前提下保证流水线的性能,对异步流水线的性能同时进行了描述和分析。
2.在异步映射方法的基础上,三种类型流水线,即简单结构流水线、复杂结构流水线和门控信号控制的流水线的替换策略被提出并进行研究,并对简单结构流水线的异步映射自动化进行了尝试。
3.为了实现异步替换,提出了基于异步映射的流水线前端替换流程。前端流程最大的优点为规避了异步综合步骤,降低了设计者进行异步设计和门槛和复杂度。通过在前端设计的前半阶段采用同步设计,而在同步网表上进行异步控制单元的替换,并利用同步综合得到的时序约束进行延迟网络的生成,降低了设计复杂度和异步设计的入门门槛。
4.简单流水线的24位流水线、基于ARM指令集的超标量复杂流水线和门控信号控制的流水线分别被用前端替换流程实现,以此证明异步映射的可行性和可靠性。其中简单流水线重点在于检验基于自控式单元的异步映射方法和异步替换流程的正确性;复杂结构流水线的异步替换重点分析了异步映射下同异步流水线的性能变化;门控型号控制的流水线主要目的在于检验利用自控式单元替换了门控时钟后的功耗情况。
5.异步流水线的后端实现一向是设计的难点所在,本文专门对此进行阐述,对一些关键点进行重点分析,并提出异步标准单元和异步处理器的物理实现流程。在此基础上,24位简单流水线结构的流水线被实现并进行了功耗分析。
采用异步映射的异步流水线,可以部分或完全避免异步逻辑综合步骤,降低了异步流水线的实现难度,设计者可以利用现有丰富的同步设计资源及成熟的EDA工具进行异步流水线的设计,这将有利于异步电路的发展。