【技术实现步骤摘要】
用于细粒度异构处理的指令集架构
技术介绍
处理器速度、存储器、存储和网络带宽技术方面的提高导致了增建和部署具有不断增加的容量的网络。最近,基于云的服务——诸如由亚马逊提供的那些(例如,亚马逊弹性计算云(EC2)和简单存储服务(S3))和由微软提供的那些(例如,Azure和Office365)——的引入导致了除了部署海量数据中心以支持采用私人网络基础设施的这些服务之外还增建附加网络以用于公共网络基础设施。基于云的服务一般由大量互连的高速服务器来促进,其中主机设施通常称为服务器“农场”或数据中心。这些服务器农场和数据中心一般包括容纳在专门设计的设施中的机架和/或刀片服务器的大到海量的阵列。较大的基于云的服务中的许多都是经由跨地理区域分布或甚至全球分布的多个数据中心托管的。例如,微软Azure在美国、欧洲和亚洲中的每一个中都具有多个非常大的数据中心。亚马逊采用位于同一处且分离的数据中心用于托管它的EC2和AWS服务,仅在美国就包括不止十二个AWS数据中心。数据中心性能中的限制性因素之一是在单个处理器级别和机架级别二者处的热负荷。热负荷与处理器功率消耗直接相关:处理器消耗的功率越多,它生成的热量就越多。随着处理器密度的增加(即,机架中的给定物理空间内的更多的处理器),热考虑变得愈加重要。现今,存在各种方法用于平衡性能和热负荷,包括使工作负载跨更多的处理器分布以及将核置于降低功率状态中。然而,这二者都是粗粒度的方法。近来,引入了采用“大”核和“小”核的混合的异构处理器架构。所述处理器主要面向低功率客户端/移动设备,但可预想到具有异构架构的服务器处理器将通过更高效的处理器利 ...
【技术保护点】
1.一种处理器,包括:多个处理器核,每个处理器核具有指令指针(IP),所述多个处理器核包括实现第一微架构的至少一个第一类型的处理器核和实现第二微架构的至少一个第二类型的处理器核;指令集架构(ISA),其包括具有第一和第二操作数的指令,所述第一和第二操作数分别用来存储数据,根据所述数据能够确定被配置成在第一类型的处理器核上执行的第一代码段的第一位置并且能够确定被配置成在第二类型的处理器核上执行的第二代码段的第二位置,其中所述指令在所述多个处理器核中的一个上的执行使得所述处理器,基于正在执行所述指令的核的类型来将所述处理器核的所述IP更新成指向第一或第二位置。
【技术特征摘要】
2017.03.07 US 15/4521501.一种处理器,包括:多个处理器核,每个处理器核具有指令指针(IP),所述多个处理器核包括实现第一微架构的至少一个第一类型的处理器核和实现第二微架构的至少一个第二类型的处理器核;指令集架构(ISA),其包括具有第一和第二操作数的指令,所述第一和第二操作数分别用来存储数据,根据所述数据能够确定被配置成在第一类型的处理器核上执行的第一代码段的第一位置并且能够确定被配置成在第二类型的处理器核上执行的第二代码段的第二位置,其中所述指令在所述多个处理器核中的一个上的执行使得所述处理器,基于正在执行所述指令的核的类型来将所述处理器核的所述IP更新成指向第一或第二位置。2.根据权利要求1所述的处理器,其中所述处理器核包括至少一个大核和至少一个小核,其中所述至少一个大核中的每一个与第一微架构相关联,并且其中所述至少一个小核中的每一个与第二微架构相关联,并且其中小核比大核消耗更少的功率。3.根据权利要求1或2所述的处理器,其中第一和第二微架构是基于ARM的微架构。4.根据前述权利要求中的任一项所述的处理器,其中第一和第二操作数被用来存储第一和第二IP偏移,并且其中如果所述处理器核与第一类型的处理器核对应,则所述指令在所述处理器核上的执行使得所述处理器核的所述IP中的值偏置第一IP偏移,或者如果所述处理器核与第二类型的处理器核对应,则所述指令在所述处理器核上的执行使得所述处理器核的所述IP的所述值偏置第二IP偏移。5.根据前述权利要求中的任一项所述的处理器,其中第一和第二操作数被用来存储第一和第二地址,并且其中如果所述处理器核是第一核类型的处理器核,则所述指令在所述处理器核上的执行使得第一地址被加载到所述处理器核的所述IP中,或者如果所述处理器核是第二类型的处理器核,则所述指令在所述处理器核上的执行使得第二地址被加载到所述处理器核的所述IP中。6.根据前述权利要求中的任一项所述的处理器,其中所述指令是分支指令,当所述分支指令在第一类型的处理器核上执行时其分支到第一代码段并且当所述分支指令在第二类型的处理器核上执行时其分支到第二代码段。7.根据权利要求6所述的处理器,其中所述分支指令是有条件分支指令,其包括用以存储数据的第三操作数,所述数据在所述指令被执行时由所述处理器核进行评估以确定是否要分支到第一和第二代码段中的任一个。8.根据前述权利要求中的任一项所述的处理器,其中所述指令是调用指令,当所述调用指令在第一类型的处理器核上执行时其调用第一代码段并且当所述调用指令在第二类型的处理器核上执行时其调用第二代码段。9.根据权利要求8所述的处理器,其中所述调用指令是有条件调用指令,其包括用以存储数据的第三操作数,所述数据在所述指令被执行时由所述处理器核进行评估以确定是否要调用第一和第二代码段中的任一个。10.根据前述权利要求中的任一项所述的处理器,其中所述处理器包括N个或更多个不同的核类型并且所述ISA包括指令,所述指令在所述处理器核中的一个上执行时使得所述处理器:读取包含表格的位置的寄存器,所述表格包含将所述N个不同的核类型中的每一个映射到与该核类型对应的代码段所位于的位置的信息;以及从所述表格中检索与执行所述指令的所述处理器核即为的核类型相关联的代码段的位置。11.一种由具有多个处理器核的处理器执行的方法,所述多个处理器核包括实现第一微架构的至少一个第一类型的处理器核和实现第二微架构的至少一个第二类型的处理器核,所述方法包括:在处理器核上执行指令以使得:如果所述处理器核是第一类型的处理器核,则所述处理器核执行第一代码段,或者如果所述处理器核是第二类型的处理器核,则所述处理器核执行第二代码段。12.根据权利要求11所述的方法,其中所述处理器核包括至少一个大核和至少一个小核,其中所述至少一个大核中的每一个与第一微架构相关联,并且其中所述至少一个小核中的每一个与第二微架构相关联,并且其中小核比大核消耗更少的功率。13.根据权利要求11或12所述的方法,其中第一和第二微架构是基于ARM的微架构。14.根据权利要求11-13中的任一权利要求所述的方法,其中所述多个处理器核中的每一个包括指令指针(IP),其中所述指令包括用来存储第一和第二IP偏移的第一和第二操作数,并且其中如果所述处理器核是第一类型的处理器核,则所述指令在所述处理器核上的执行使得所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。