一种提高处理器主频的流水线细分装置的制作方法

文档序号:15998627发布日期:2018-11-20 19:09阅读:167来源:国知局

本发明属于处理器主频技术领域;具体涉及一种提高处理器主频的流水线细分装置。



背景技术:

为了提高微处理器的主频,目前主要有两大技术途径:选用先进的制造工艺和改进微处理器的体系结构。(1)在制造工艺技术上,工艺尺寸越小,晶体管速度越快,由此带来的处理器主频也就越高,典型的成熟商用半导体制造工艺包括65纳米、40纳米、28纳米等各种尺寸。然而,采用更小更先进的制造工艺,所产生的流片费用也更高;其次,随着制造工艺尺寸进一步缩小,需要突破的技术难度也越来越大,几乎达到了工艺尺寸的最小极限。(2)在微处理器体系结构上,通过流水线细分结构设计来提高处理器主频是最主要最有效的技术手段。由于处理器的主频取决于流水线中延迟最大的那个流水段,因此如何实现流水线中各段延迟的均衡性,是整个流水线细分设计的关键所在。然而,流水线细分技术在本质上会增加流水级数,一旦遇到分支预测错误,整个流水线就必须被清空并重新建立起来,这时处理器效率反而会下降,因此流水线也不宜太长。

随着现代嵌入式微处理器对性能需求的不断增长,片上Cache的容量也在逐步扩大,而其访问延迟也相应变大,越来越难以满足处理器的主频指标要求。为了降低Cache访问延迟、提高处理器主频,目前业界也提出了一些流水线细分的方法。例如文献“一种降低流水化指令缓冲存储器泄露功耗的设计方法”《北京大学学报(自然科学版)》和文献“一种面向超标量处理器的低功耗指令Cache设计”《微电子学与计算机》就提出将指令Cache访问阶段划分为四个更细的流水级。这种流水化Cache结构虽然在提高处理器主频、降低Cache功耗上占有很大优势,但原本一个指令Cache访问周期就被细分成四个流水段,如果采用同样的方法,数据Cache访问也将由一个周期变成四个周期,再加上基本的译码段、寄存器访问段、执行段、异常处理段和数据写回段,整个指令流水线将增加到十三级,这么长的流水线在遇到分支预测错误时其处理效率将大打折扣,并且在指令相关性控制方面也将变得异常复杂。

总体而言,现有的流水线细分技术几乎都是对原始流水线进行的一次全新设计修改,其实现的技术难度、需要进行指令回归性验证的工作量,以及由于细分程度深使得分支预测错误时流水线的恢复开销较大。经检索相关专利和文献资料,在面对Cache容量增加导致处理器主频损失的问题上,尚没有一种控制简单的流水线细分方法。



技术实现要素:

本发明提供了一种提高处理器主频的流水线细分装置;通过降低片上一级Cache的访问延迟从而提高处理器主频的流水细分,从而满足在不增加Cache容量时能够提高处理器主频、或者在增加Cache容量后不损失处理器主频的实际应用需求。

本发明的技术方案是:一种提高处理器主频的流水线细分装置,其连接顺序依次为指令Cache访问级、指令Cache选择级、译码级、寄存器访问级、执行级、数据Cache访问级、数据Cache选择级、存储器访问级、异常处理级和数据写回级;其中指令Cache访问级完成对指令Cache的TAG-SRAM和DATA-SRAM的访问,并且将访问结果及其对应的地址寄存到级间寄存器中;指令Cache选择级根据上述级间寄存器中的内容完成指令Cache命中判断和目标指令的选择;其中数据Cache访问级完成对数据Cache的TAG-SRAM和DATA-SRAM的访问,并且将访问结果及其对应的地址寄存到级间寄存器中;数据Cache选择级根据上述级间寄存器中的内容完成数据Cache命中判断和目标数据的选择。

更进一步的,本发明的特点还在于:

其中指令Cache访问级实现NPC生成逻辑。

其中数据Cache访问级和数据Cache选择级分别生成各自的寄存结果,并得到相应的数据旁路逻辑。

其中指令Cache访问级设置指令Cache存储阵列访问,并且将指令Cache的命中判断与选择设置在指令Cache选择级,指令Cache访问级访问得到的存储器阵列值和访问地址锁存在指令Cache访问级和指令Cache选择级之间的级间寄存器中。

其中数据Cache访问级设置数据Cache存储阵列访问,并且将数据Cache的命中判断与选择设置在数据Cache选择级,数据Cache访问级访问得到的存储器阵列值和访问地址锁存在数据Cache访问级和数据Cache选择级之间的级间寄存器中。

该装置能够对RISC处理器进行处理。

与现有技术相比,本发明的有益效果是:该装置通过对流水线中指令Cache和数据Cache的访问过程进行细分,减小了作为关键路径上的Cache访问延迟。当Cache容量不变时有利于进一步提高处理器的主频;当因性能增长需求需要增大Cache容量时,可以避免处理器的主频遭受损失。相比于现有的流水线细分技术其分支开销更小。目前的流水线细分技术将Cache访问分成了多达四个流水周期,这样整个流水线将至少增长六级,而本发明只细分两级,在遇到分支预测错误时流水线恢复开销更小。相比于现有的流水线细分技术其设计复杂度更低。目前的流水化Cache结构是基于存储阵列的地址译码、字线/位线导通、敏感放大输出等微操作的划分,而本发明则将存储器阵列的访问当成一个整体,设计更简单。

更进一步的,该结构清晰,控制成本低,易于实施。整个流水线设计只是将原始的指令Cache和数据Cache访问一分为二,并且除了局部修改NPC生成逻辑和数据旁路逻辑之外,其它流水结构都无需更改,适用性强。

附图说明

图1为本发明的处理器九级流水线结构;

图2为本发明的指令Cache或数据Cache的访问结构;

图3为本发明的NPC生成逻辑结构图;

图4为本发明的数据旁路逻辑图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进一步说明。

本发明提供了一种提高处理器主频的流水线细分装置,如图1所示,其为九级流水线结构,按照其连接顺序依次为:指令Cache访问级(F1)、指令Cache选择级(F2)、译码级(D)、寄存器访问级(A)、执行级(E)、数据Cache访问级(M1)、数据Cache选择级(M2)、异常处理级(X)和数据写回级(W)。与现有的七级流水线相比,本发明将原有的取指级(F)分为指令Cache访问级(F1)和指令Cache选择级(F2),将原有的存储器访问级(M)分为数据Cache访问级(M1)和数据Cache选择级(M2)。

具体的,在本发明中指令Cache访问级(F1)完成对指令Cache的TAG-SRAM和DATA-SRAM的访问,并且将访问结果(tag值和data值)以及其对应的取指地址(addr)寄存在级间寄存器中;指令Cache选择级(F2)根据级间寄存器中寄存的tag值、data值和addr,完整指令Cache命中判断和目标指令的选择。

具体的,在本发明中数据Cache访问级(M1)完成对数据Cache的TAG-SRAM和DATA-SRAM的访问,并且将访问结果(tag值和data值)以及其对应的数据地址(addr)寄存在级间寄存器中;数据Cache选择级(M2)根据级间寄存器中寄存的tag值、data值和addr,完整数据Cache命中判断和目标数据的选择。

如图1所示,本发明中寄存器文件分别在寄存器访问级A进行读操作和在数据写回级W进行写操作;NPC生成逻辑则是对改变程序取指地址的各种来源进行仲裁判断,并选择优先级最高的取指地址在下个周期去访问指令Cache,这里的取指地址可能来自于指令Cache访问级(F1)的分支预测地址(bp_addr)或顺序执行取指地址(PC+4)、译码级D得到的相对PC跳转地址(br_addr);执行级E得到的寄存器间接跳转地址(jp_addr);异常处理级X得到的异常或中断入口地址(xc_addr);数据旁路逻辑则是对当前指令的源操作数的来源进行优先级判断和选择,并在下个周期进入执行级E对操作数进行处理,这里的旁路路径可能来自于执行级E的运算结果(e_result)、数据Cache访问级(M1)和数据Cache选择级(M2)的寄存结果(m1_result)和(m2_result)、异常处理级X的寄存结果(x_result)、数据写回级W的寄存结果(w_result)。

如图2所示,本发明的指令Cache的访问结构为:指令Cache访问级F1设置指令Cache存储阵列访问,并且将指令Cache的命中判断与选择设置在指令Cache选择级F2,指令Cache访问级F1访问得到的存储器阵列值和访问地址锁存在指令Cache访问级F1和指令Cache选择级F2之间的级间寄存器中。数据Cache的访问结构为:数据Cache访问级M1设置数据Cache存储阵列访问,并且将数据Cache的命中判断与选择设置在数据Cache选择级M2,数据Cache访问级M1访问得到的存储器阵列值和访问地址锁存在数据Cache访问级M1和数据Cache选择级M2之间的级间寄存器中。

如图3所示,本发明的NPC生成逻辑结构中指令Cache访问级F1产生分支预测地址(bp_addr)或顺序执行取指地址(PC+4)。

如图4所示,数据旁路中增加数据Cache访问级(M1)生成的结果(m1_result)和数据Cache选择级(M2)生成的结果(m2_result)。

本发明的装置能够应用于多款基于SPARC V8处理器架构的系统芯片(SoC)服务级芯片中。根据用户对处理器性能的需求,片上Cache容量的配置不断增大,应用该流水线细分技术后,SPARC V8处理器可以获得更高的工作主频指标。图4为该装置应用于RISC处理器中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1