用于共享处理器过程上下文的寄存器堆组织的制作方法

文档序号:9826079阅读:328来源:国知局
用于共享处理器过程上下文的寄存器堆组织的制作方法
【专利说明】用于共享处理器过程上下文的寄存器堆组织
[0001]相关申请交叉引用
[0002]本发明是申请号为201110461471.9、申请日为2011年12月30日的中国发明专利申请的分案申请。
技术领域
[0003]本发明总体上涉及寄存器堆组织,并且特别涉及用于支持来自多个处理器或流水线的多个访问的寄存器堆组织。
【背景技术】
[0004]为了利用单一芯片满足广泛的功率和性能需求,趋向于将两个处理器内核嵌在一起以便在不同的运行情境中提供不同的平衡。所以,当运行情境要改变时,将发生从一个内核到另一个的过程迀移。为了实现从一个处理器内核到另一个的快速过程迀移,可使用共享寄存器堆技术以允许一个处理器内核访问由另一处理器内核写入的所有过程上下文。以此方式,可以在几乎没有等待时间和没有软件成本的情况下实现过程迀移。
[0005]但是,因为两个内核以不同的定时和功率分配为目标,共享的寄存器堆很难满足这两个内核的需求。通常,一个内核将被设计用于低功耗并且是非常慢的,而另一个内核将是高性能的并且因此功耗要高得多。由于CMOS电路的性质,很快的电路将使用更多面积并且因此具有更大的功耗;反之,极低功率的电路应当使用最小化的面积,但是其速度非常慢。
[0006]还需要一种寄存器堆组织,以用于对于高速内核具有很高性能同时对于低功率内核具有很低功率需求的芯片。

【发明内容】

[0007]因此,本发明涉及用于支持来自多个处理器或流水线的多个访问的寄存器堆组织。
[0008]根据本发明的一个实施方式,一种共享寄存器堆,包括:高性能(HP)写端口;低功率(LP)写端口;親合至HP写端口的HP存储单元;以及耦合至LP写端口的LP存储单元。
[0009]根据本发明的另一个实施方式,一种多处理器芯片,包括:高性能(HP)内核;低性能(LP)内核;以及共享寄存器堆,该共享寄存器堆包括:高性能(HP)写端口;低功率(LP)写端口 ;耦合至HP写端口的HP存储单元;以及耦合至LP写端口的LP存储单元,其中HP写端口耦合至HP内核,以及LP写端口耦合至LP内核。
[0010]根据本发明的又一实施方式,一种用于共享寄存器堆的模式转变的方法,包括:在高性能(HP)模式中,向共享寄存器堆中的高速存储单元和低速存储单元进行写入,以及在低功率(LP)模式中,仅向共享寄存器堆中的低功率存储单元进行写入。
[0011]通过以下如附图所示的本发明的实施方式的更具体的说明,本发明的上述和其他特征、用途和优点将变得更清楚。
【附图说明】
[0012]图1所示为“一次写二次读”寄存器堆的示例。图1a所示为普通的非共享寄存器堆。图1b所示为具有复用写端口的共享寄存器堆。图1c所示为具有复用写端口的倍增端口共享寄存器堆。
[0013]图2所示为根据本发明的实施方式用于异质双核处理器的共享寄存器堆。
[0014]图3所示为根据本发明的实施方式寄存器堆状态转变。
【具体实施方式】
[0015]下面将参考附图详细说明本发明的实施方式,以及仅用于图示而不是为了限制本发明,如所附权利要求及其等价物所限定。为了简单清楚,省略了对公知的功能和结构的说明。图是为了图示本发明的示范实施方式的特征,且不是按规定比例画的。
[0016]下面是本发明的详细说明,使用附图作为图的参考。在说明每个图时参考了优选实施方式。
[0017]共享寄存器堆被设计为允许多个处理器内核、流水线或执行单元访问相同的数据集。一般地,创建共享寄存器堆的方法是通过复用或倍增其端口。
[0018]图1所示为一写二读寄存器堆的示例。虽然图1示出了有限的写和读端口,但是寄存器堆通常具有多个写和读端口。
[0019]图1a所示为普通的非共享寄存器堆110。在普通的非共享寄存器堆中,信息使用无区别的写端口 111而被存储到存储单元112,并且由多个读端口 114通过其对应的复用器113被读取。
[0020]图1b所示为具有复用写端口120的共享寄存器堆。在具有复用写端口的共享寄存器堆中,芯片的低功率(LP)和高性能(HP)部分通过其对应的写端口 121将信息存储到存储单元。写端口 121向去往共享写端口 123的复用器122进行输入,以对共享存储单元124进行写入。共享存储单元124由多个读端口 126通过其对应的复用器125读取。
[0021]图1c所示为具有复用写端口130的倍增端口共享寄存器堆。在具有复用写端口的倍增端口共享寄存器堆中,芯片的LP和HP部分通过其对应的写端口 131将信息存储到存储单元132。共享的存储单元132由倍增的多个读端口 134通过其对应的复用器133读取。倍增的多个读端口 134被配置为存在用于芯片的每个LP和LP部分的独立端口。LP读端口 134A和134B输出到LP内核,以及HP读端口 134C和134D输出到HP内核。
[0022]倍增的端口类型允许两个内核并行地进行读/写,但是由于大得多的扇出和多得多的复用器阵列,其代价是显著增加芯片的面积。在应用单个ISA异质多核处理器的情境中,不需要并行访问;因此很少使用这种类型。
[0023]复用的写端口被更广泛地使用,因为它比非复用的版本更为简单。对于读端口,仅需要一个扇出以输出到另一内核;对于写端口和地址端口,需要复用器以选择想要的数据/地址源。很明显,存储单元和输出复用器阵列可以在内核之间共享。
[0024]然而,共享存储单元和复用器阵列导致几个缺点。高速和低速内核具有不同的定时需求,使得共享单元难以满足二者的定时需求。因为低功率内核需要非常低的功率,因此所需的输出延迟相当大;该延迟无法匹配高速内核需要的输出延迟。反之,如果高速存储单元和复用器阵列被用于满足高速内核的需要,其面积将不得不显著增加。这直接导致大动态功率和泄漏功率,与低功率内核的需求矛盾。
[0025]为了解决这个矛盾,可使用的一个方法是倍增端口类型,它针对低功率内核而使用低速复用器,并且针对高速内核而使用高速复用器。然而,此方法仍需使用具有较大扇出的相同高速存储单元。因此,对于低功率内核而言,功耗还是不够好。
[0026]为了满足高速内核和低功率内核二者的需求,一种新的寄存器堆结构使用两组存储单元和复用器。低功率存储单元组是高速存储单元的影子(shadow)。
[0027]该新颖的寄存器堆组织消除了双核高速/低功率芯片的两种需求之间的差异:高速内核的甚高性能需求以及低功率内核的甚低功率需求。通过使用两组影子寄存器和对这两个组的不同约束,该新颖的寄存器堆组织能满足这两个需求。而且,当低功率内核运行时,仅需要激活寄存器堆的较低功率部分;其余部分可断电,由此进一步降低了功率需求。
[0028]图2所示为根据本发明实施方式的用于共享针对异质双核处理器的架构状态的寄存器堆组织的结构。注意,在这个示范实施方式中,对于每个内核存在2个读端口和I个写端口,但也可以是本领域技术人员知道的其他配置。
[0029]在寄存器堆组织结构200中,存在两组连接在一起的存储单元221和222(触发器)。在此基础上,还存在与读端口 241-244对应的复用器阵列231和232,以及用于写端口 211和212的数据输入广播网络。
[0030]两个存储单元组包括低功率组222和高速组221。低功率组包括低速低功率触发器,高速组包括高速触发器。对于读端
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1