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

xiaoxiao2020-7-23  2

【知识产权代理】【专利服务】Tel:18215660330

专利名称:用于共享处理器过程上下文的寄存器堆组织的制作方法
用于共享处理器过程上下文的寄存器堆组织技术领域
本发明总体上涉及寄存器堆组织,并且特别涉及用于支持来自多个处理器或流水线的多个访问的寄存器堆组织。
背景技术
为了利用单一芯片满足广泛的功率和性能需求,趋向于将两个处理器内核嵌在一起以便在不同的运行情境中提供不同的平衡。所以,当运行情境要改变时,将发生从一个内核到另一个的过程迁移。为了实现从一个处理器内核到另一个的快速过程迁移,可使用共享寄存器堆技术以允许一个处理器内核访问由另一处理器内核写入的所有过程上下文。以此方式,可以在几乎没有等待时间和没有软件成本的情况下实现过程迁移。
但是,因为两个内核以不同的定时和功率分配为目标,共享的寄存器堆很难满足这两个内核的需求。通常,一个内核将被设计用于低功耗并且是非常慢的,而另一个内核将是高性能的并且因此功耗要高得多。由于CMOS电路的性质,很快的电路将使用更多面积并且因此具有更大的功耗;反之,极低功率的电路应当使用最小化的面积,但是其速度非常慢。
还需要一种寄存器堆组织,以用于对于高速内核具有很高性能同时对于低功率内核具有很低功率需求的芯片。发明内容
因此,本发明涉及用于支持来自多个处理器或流水线的多个访问的寄存器堆组织。
根据本发明的一个实施方式,一种共享寄存器堆,包括:高性能(HP)写端口 ;低功率(LP)写端口 ;耦合至HP写端口的HP存储单元;以及耦合至LP写端口的LP存储单元。
根据本发明的另一个实施方式,一种多处理器芯片,包括:高性能(HP)内核;低性能(LP)内核;以及共享寄存器堆,该共享寄存器堆包括:高性能(HP)写端口 ;低功率(LP)写端口 ;耦合至HP写端口的HP存储单元;以及耦合至LP写端口的LP存储单元,其中HP写端口耦合至HP内核,以及LP写端口耦合至LP内核。
根据本发明的又一实施方式,一种用于共享寄存器堆的模式转变的方法,包括:在高性能(HP)模式中,向共享寄存器堆中的高速存储单元和低速存储单元进行写入,以及在低功率(LP)模式中,仅向共享寄存器堆中的低功率存储单元进行写入。
通过以下如附图所示的本发明的实施方式的更具体的说明,本发明的上述和其他特征、用途和优点将变得更清楚。


图1所示为“一次写二次读”寄存器堆的示例。图1a所示为普通的非共享寄存器堆。图1b所示为具有复用写端口的共享寄存器堆。图1c所示为具有复用写端口的倍增端口共享寄存器堆。
图2所示为根据本发明的实施方式用于异质双核处理器的共享寄存器堆。
图3所示为根据本发明的实施方式寄存器堆状态转变。
具体实施方式
下面将参考附图详细说明本发明的实施方式,以及仅用于图示而不是为了限制本发明,如所附权利要求及其等价物所限定。为了简单清楚,省略了对公知的功能和结构的说明。图是为了图示本发明的示范实施方式的特征,且不是按规定比例画的。
下面是本发明的详细说明,使用附图作为图的参考。在说明每个图时参考了优选实施方式。
共享寄存器堆被设计为允许多个处理器内核、流水线或执行单元访问相同的数据集。一般地,创建共享寄存器堆的方法是通过复用或倍增其端口。
图1所示为一写二读寄存器堆的示例。虽然图1示出了有限的写和读端口,但是寄存器堆通常具有多个写和读端口。
图1a所示为普通的非共享寄存器堆110。在普通的非共享寄存器堆中,信息使用无区别的写端口 111而被存储到存储单元112,并且由多个读端口 114通过其对应的复用器113被读取。
图1b所不为具有复用与端口 120的共孚寄存器堆。在具有复用与端口的共孚寄存器堆中,芯片的低功率(LP)和高性能(HP)部分通过其对应的写端口 121将信息存储到存储单元。写端口 121向去往共享写端口 123的复用器122进行输入,以对共享存储单元124进行写入。共享存储单元124由多个读端口 126通过其对应的复用器125读取。
图1c所示为具有复用写端口 130的倍增端口共享寄存器堆。在具有复用写端口的倍增端口共享寄存器堆中,芯片的LP和HP部分通过其对应的写端口 131将信息存储到存储单元132。共享的存储单元132由倍增的多个读端口 134通过其对应的复用器133读取。倍增的多个读端口 134被配置为存在用于芯片的每个LP和LP部分的独立端口。LP读端口 134A和134B输出到LP内核,以及HP读端口 134C和134D输出到HP内核。
倍增的端口类型允许两个内核并行地进行读/写,但是由于大得多的扇出和多得多的复用器阵列,其代价是显著增加芯片的面积。在应用单个ISA异质多核处理器的情境中,不需要并行访问;因此很少使用这种类型。
复用的写端口被更广泛地使用,因为它比非复用的版本更为简单。对于读端口,仅需要一个扇出以输出到另一内核;对于写端口和地址端口,需要复用器以选择想要的数据/地址源。很明显,存储单元和输出复用器阵列可以在内核之间共享。
然而,共享存储单元和复用器阵列导致几个缺点。高速和低速内核具有不同的定时需求,使得共享单元难以满足二者的定时需求。因为低功率内核需要非常低的功率,因此所需的输出延迟相当大;该延迟无法匹配高速内核需要的输出延迟。反之,如果高速存储单元和复用器阵列被用于满足高速内核的需要,其面积将不得不显著增加。这直接导致大动态功率和泄漏功率,与低功率内核的需求矛盾。
为了解决这个矛盾,可使用的一个方法是倍增端口类型,它针对低功率内核而使用低速复用器,并且针对高速内核而使用高速复用器。然而,此方法仍需使用具有较大扇出的相同高速存储单元。因此,对于低功率内核而言,功耗还是不够好。
为了满足高速内核和低功率内核二者的需求,一种新的寄存器堆结构使用两组存储单元和复用器。低功率存储单元组是高速存储单元的影子(shadow)。
该新颖的寄存器堆组织消除了双核高速/低功率芯片的两种需求之间的差异:高速内核的甚高性能需求以及低功率内核的甚低功率需求。通过使用两组影子寄存器和对这两个组的不同约束,该新颖的寄存器堆组织能满足这两个需求。而且,当低功率内核运行时,仅需要激活寄存器堆的较低功率部分;其余部分可断电,由此进一步降低了功率需求。
图2所示为根据本发明实施方式的用于共享针对异质双核处理器的架构状态的寄存器堆组织的结构。注意,在这个示范实施方式中,对于每个内核存在2个读端口和I个写端口,但也可以是本领域技术人员知道的其他配置。
在寄存器堆组织结构200中,存在两组连接在一起的存储单元221和222 (触发器)。在此基础上,还存在与读端口 241-244对应的复用器阵列231和232,以及用于写端口 211和212的数据输入广播网络。
两个存储单元组包括低功率组222和高速组221。低功率组包括低速低功率触发器,高速组包括高速触发器。对于读端口 241-244的对应复用器阵列,高速内核使用具有较大面积和功率的高速阵列232,低功率内核使用具有较长延迟的低功率阵列231。
存在两种工作模式:高性能(HP)模式和低功率(LP)模式。除此之外,当处理器从LP改变为HP模式时存在一类特殊的动作。图3图示了根据本发明的实施方式的模式转变。
在HP模式中,仅高速内核运行,而低功率内核是空闲的。任何来自高速内核的写入被广播到高速存储单元和低功率存储单元二者。因此,两组存储单元在任意时刻将保持相同的值。高速存储单元将其值跨越高速复用器阵列而驱动到高速内核,由此保证了定时。因为低功率内核是空闲的,因此低速复用器阵列的长延迟不是问题。
在LP模式中,仅低功率内核运行,而高速内核是空闲的或功率门控的。如果是功率门控的,则高速存储单元组和对应的复用器阵列也被功率门控,以最大程度降低泄漏功率。来自低功率内核的任何写如仅被写入低功率存储单元。低功率存储单元继而将值跨越低功率复用器阵列而驱动到低功率内核,因此电路切换功率被最小化。
当处理器要从LP模式切换到HP模式时,存在一个特殊动作。在这个时间点,唯一要做的是把数据从低功率存储单元并行地拷贝到高速存储单元。
当处理器要从高速内核切换到低功率内核时,不需任何特殊动作。
虽然已参考优选实施方式具体展示和说明了本发明,但是本领域技术人员将理解,可以对形式和细节做各种其他改变而不脱离本发明的精神和范围。
本发明目前优选的实施方式和及其很多改进已经在一定程度的特定性下被描述。应当理解,该描述是示例性的,本发明由所附权利要求的范围限定。
权利要求
1.一种共享寄存器堆,包括: 高性能HP写端口 ; 低功率LP写端口 ; 耦合至所述HP写端口的HP存储单元;以及 耦合至所述LP写端口的LP存储单元。
2.根据权利要求1所述的共享寄存器堆,还包括: 耦合至所述HP存储单元的HP读端口 ;以及 耦合至所述LP存储单元的LP读端口。
3.根据权利要求1所述的共享寄存器堆,还包括:耦合至所述HP写端口的多个HP存储单元,以及耦合至所述LP写端口的多个LP存储单元。
4.根据权利要求2所述的共享寄存器堆,还包括: 耦合至所述HP存储单元的HP复用器; 耦合至所述LP存储单元的LP复用器,其中 所述HP存储单元耦 合至所述HP复用器,并且所述LP存储单元耦合至所述LP复用器,以及其中 所述HP读端口通过所述HP复用器耦合至所述HP存储单元,并且所述LP读端口通过所述LP复用器耦合至所述LP存储单元。
5.根据权利要求2所述的共享寄存器堆,还包括:耦合至所述HP存储单元的多个HP读端口,以及耦合至所述LP存储单元的多个LP读端口。
6.根据权利要求3所述的共享寄存器堆,还包括: 耦合至所述多个HP存储单元的多个HP复用器; 耦合至所述多个LP存储单元的多个LP复用器; 多个HP读端口,每个HP读端口耦合至所述多个HP复用器中的相应HP复用器;以及 多个LP读端口,每个LP读端口耦合至所述多个LP复用器中的相应LP复用器。
7.根据权利要求1所述的共享寄存器堆,其中所述HP存储单元和所述LP存储单元是触发器。
8.根据权利要求2所述的共享寄存器堆,其中所述HP存储单元和所述LP存储单元是触发器。
9.根据权利要求3所述的共享寄存器堆,其中所述HP存储单元和所述LP存储单元是触发器。
10.一种多处理器设备,包括: 高性能HP内核; 低性能LP内核;以及 共享寄存器堆,包括:高性能HP写端口 ;低功率LP写端口 ;耦合至所述HP写端口的HP存储单元;以及耦合至所述LP写端口的LP存储单元,其中 所述HP写端口耦合至所述HP内核,并且所述LP写端口耦合至所述LP内核。
11.根据权利要求10所述的多处理器设备,还包括: 耦合至所述HP存储单元的HP读端口 ;以及 耦合至所述LP存储单元的LP读端口。
12.根据权利要求11所述的多处理器设备,还包括耦合至所述HP写端口的多个HP存储单元,以及耦合至所述LP写端口的多个LP存储单元。
13.根据权利要求12所述的多处理器设备,还包括: 耦合至所述多个HP存储单元的多个HP复用器; 耦合至所述多个LP存储单元的多个LP复用器; 多个HP读端口,每个HP读端口耦合至所述多个HP复用器中的相应HP复用器;以及 多个LP读端口,每个LP读端口耦合至所述多个LP复用器中的相应LP复用器。
14.一种用于共享寄存器堆的模式转变的方法,包括: 在高性能HP模式中,向所述共享寄存器堆中的高速存储单元和低速存储单元二者进行写入,以及 在低功率LP模式中,仅向所述共享寄存器堆中的低功率存储单元进行写入。
15.根据权利要求14所述的方法,其中在所述HP模式中只有高速内核运行。
16.根据权利要求14所述的方法,其中在所述LP模式中只有低功率内核运行。
17.根据权利要求15所述的方法,其中所述高速存储单元将其值跨越高速复用器阵列而驱动到高速内核。
18.根据权利要求16所述的方法,其中所述低功率存储单元将其值跨越低功率复用器阵列而驱动到低功率内核。
19.根据权利要求15所述的方法,其中所述高速内核在所述LP模式期间是空闲的或被功率门控。
20.根据权利要求14所述的方法,还包括:当从所述LP模式切换到所述HP模式时,把数据从所述低功率存储单元并行 地拷贝到所述高速存储单元。
全文摘要
本发明涉及用于共享处理器过程上下文的寄存器堆组织。具体地,一种寄存器堆组织用于支持来自多个处理器或流水线的多个访问。这种共享寄存器堆被组织用于包括高性能(HP)内核和低功率(LP)内核的多个处理器设备。该共享寄存器堆包括耦合至独立HP和LP写和读端口的独立HP和LP存储单元。
文档编号G06F15/167GK103186502SQ20111046147
公开日2013年7月3日 申请日期2011年12月30日 优先权日2011年12月30日
发明者吴永强, 朱鹏飞, 孙红霞, E·圭德蒂 申请人:世意法(北京)半导体研发有限责任公司, 意法半导体股份有限公司

最新回复(0)