《使用精减指令集核.pdf》由会员分享,可在线阅读,更多相关《使用精减指令集核.pdf(13页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104185838A43申请公布日20141203CN104185838A21申请号201180076170222申请日20111230G06F9/3020060171申请人英特尔公司地址美国加利福尼亚州72发明人S马基嫩SR金A瑞德钦JB弗莱曼R艾耶PS斯密诺夫D古瑟瓦D帕弗洛夫74专利代理机构上海专利商标事务所有限公司31100代理人毛力54发明名称使用精减指令集核57摘要可以用仅执行完全向后兼容所需的指令的某一部分集的核来构建处理器。因此,在一些实施例中,通过提供仅执行某些指令并且不执行其他指令的部分核,可降低功耗。不支持的指令可以按其他更加能量高效的方式来处理,使得总。
2、体处理器包括该部分核可完全向后兼容。85PCT国际申请进入国家阶段日2014063086PCT国际申请的申请数据PCT/US2011/0680152011123087PCT国际申请的公布数据WO2013/101146EN2013070451INTCL权利要求书2页说明书6页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图4页10申请公布号CN104185838ACN104185838A1/2页21一种方法,包括确定部分核是否支持一指令;以及只有在所述指令被支持的情况下,才提供所述指令以供所述部分核执行;2如权利要求1所述的方法,其特征在于,包括由完整核来执行。
3、所述部分核不支持的指令。3如权利要求1所述的方法,其特征在于,包括由预制处理程序来执行所述部分核不支持的指令。4如权利要求1所述的方法,其特征在于,包括在指令不被所述部分核支持的情况下发出异常。5如权利要求1所述的方法,其特征在于,包括将指令从所述部分核的指令集中排除以用于处理只读依赖关系。6如权利要求1所述的方法,其特征在于,包括用硬件来转换指令而无需从只读微代码中提取对应的微操作。7一种存储有指令的非临时计算机可读介质,所述指令用于确定只执行指令集的一些指令的核是否支持一指令;以及只有在所述指令被支持的情况下,才提供所述指令以供所述部分核执行。8如权利要求7所述的介质,其特征在于,进一步存。
4、储用于以下操作的指令由完整核来执行所述核不支持的指令。9如权利要求7所述的介质,其特征在于,进一步存储用于以下操作的指令由预制处理程序来执行所述核不支持的指令。10如权利要求7所述的介质,其特征在于,进一步存储用于以下操作的指令在指令不被所述部分核支持的情况下发出异常。11如权利要求7所述的介质,其特征在于,进一步存储用于以下操作的指令将指令从所述核的指令集中排除以用于处理只读依赖性。12如权利要求7所述的介质,其特征在于,进一步存储用于以下操作的指令用硬件来转换指令而无需从微代码只读存储器中提取对应的微操作。13一种装置,包括核;以及耦合到所述核的指令解析器,用于确定指令是否被核支持,并且只。
5、有在所述指令被支持的情况下,才提供所述指令以供所述核执行。14如权利要求13所述的装置,其特征在于,包括用于执行所述核不支持的指令的另一核。15如权利要求13所述的装置,其特征在于,包括用于执行所述核不支持的指令的预制处理程序。16如权利要求13所述的装置,其特征在于,所述解析器用于在指令不被所述核支持的情况下发出异常。17如权利要求13所述的装置,其特征在于,所述解析器用于将指令从所述核的指令集中排除以用于处理只读依赖性。18如权利要求13所述的装置,其特征在于,所述解析器用于用硬件来转换指令而无权利要求书CN104185838A2/2页3需从只读微代码中提取对应的微操作。19一种装置,包括。
6、核;耦合到所述核的指令解析器,用于确定指令是否被核支持,并且只有在所述指令被支持的情况下,才提供所述指令以供所述核执行;以及用于执行所述核不支持的指令的设备。20如权利要求19所述的装置,其特征在于,所述设备是另一核。21如权利要求19所述的装置,其特征在于,所述设备是预制处理程序。22如权利要求19所述的装置,其特征在于,所述核不执行与另一核向后兼容所需的指令,所述另一核同样执行所述核所执行的全部指令。23如权利要求19所述的装置,其特征在于,所述解析器用于在指令不被所述核支持的情况下发出异常。24如权利要求19所述的装置,其特征在于,所述解析器用于将指令从所述核的指令集中排除以用于处理只读。
7、依赖性。25如权利要求19所述的装置,其特征在于,所述解析器用于用硬件来转换指令而无需从只读微代码中提取对应的微操作。权利要求书CN104185838A1/6页4使用精减指令集核背景技术0001这一般涉及计算并且具体地涉及处理。0002为了兼容先前各代处理器,后续一代通常包括对传统特征的支持。随着时间进展,这些传统特征中的一些变得越来越不常用,因为开发人员往往修订他们的程序以与最当前指令集一起工作。随着时间继续,需要支持的传统指令的数量持续增加。尽管如此,这些传统指令可能越来越不频繁地执行。0003附图简述0004参照以下附图描述一些实施例。0005图1是本发明的一个实施例的流程图;0006图。
8、2是本发明的一个实施例的示意图;0007图3是本发明的另一实施例的流程图;0008图4是本发明的又一实施例的流程图;以及0009图5是本发明的又一实施例的硬件描绘。0010详细描述0011根据一些实施例,通过消除完全向后兼容所需要的一些指令,处理器可以用仅执行总指令的部分集的部分核来构建。因此,在一些实施例中,通过提供仅执行某些指令并且不执行向后兼容所需的其他指令的部分核,可降低功耗。不支持的指令可以按其他更加能量高效的方式来处理,使得总体处理器包括该部分核可完全向后兼容。但处理器核可操作在当前各代处理器中使用的指令体而不必支持传统指令。这可意味着在一些情况下,部分核处理器可以更加能量高效。0。
9、012例如,部分核可以消除各种不同的指令。在一个实施例中,部分核可以消除微代码只读存储器依赖性。在这种情况下,部分核指令被实现为单操作指令。因而,指令得以用硬件进行直接转换,而不必从微代码只读存储器中提取对应的微操作,如同完全或非部分处理器通常做的那样。这可节省大量微代码只读存储器空间。0013另外,现代编译器实际上使用完整核上可用的那些指令的仅一子集。作为最近二十年以来体系结构演化的结果,商用指令集体系结构具有可出于效率而被消除但以对向后兼容性的某种缺乏为代价的许多过时或无用的指令。0014来自先前各代例如,来自微软盘操作系统DOS的基于日期和分段的存储器保护体系结构的16位实模式、本地和全。
10、局描述符表的特征出于向后兼容性的原因被继承下来。但大多数现代操作系统不再需要使用这些特征。因而,在一些实施例中,这些特征可从部分核中简单地除去。0015因此,在一个实施例中,部分核可以是非传统或非向后兼容的。这可使得该核更加能量高效并且尤其适于嵌入式应用。其他示例可包括减少浮点和单指令多数据指令以及对高速缓存的支持的数量。在部分核的一个实施例中,可只实现整型和标量指令集体系结构子集。该同一概念可被扩展至浮点和矢量单指令多数据指令集以及通常由完全核实现的特征。该部分核仅仅是子集体系结构的实现,在一些实施例中,它可针对嵌入式应用。子说明书CN104185838A2/6页5集体系结构的其他实现包括不。
11、同数量的流水线阶段以及其他性能特征,如使这些部分核适于诸如个人计算机、平板、或服务器等的特定市场细分的无序、超级标量高速缓存。0016因而,参考图1,在流水线10中,指令存储器12向指令提取单元14提供指令。这些指令随后在解码单元16处被解码。操作数提取18从数据存储器24中提取操作数以在执行单元20处执行。并且在写回22处,数据被写回至数据存储器24。0017为了实现完全向后兼容性,不支持的指令可按不同的方式来处理。根据一个实施例,在图2中示出,可在流水线10中提供完全解码器16。在完全指令解码时,这一解码器检测未实现的指令并调用执行单元20中的预制处理程序34来用于这些指令。这些预制处理程。
12、序是处理特定指令或指令类型的专用设计。这些预制处理程序可以是基于软件或硬件的。0018这一办法可以使用加速不支持指令的检测和执行处理程序的执行的完全成熟或完整的解码器。这些预制处理程序可以是基于软件或硬件的。0019这一完全成熟的解码器加速不支持指令的检测和执行处理程序的执行。该解码器可被分成两部分一个部分解码普遍执行的指令而第二部分解码较不频繁使用的指令。0020因而参考图2,指令由解码单元16来接收。在这一实施例中,解码单元16可包括检测部分核32支持哪些指令其可被描述为普遍执行的指令和不支持哪些指令其可被称为较不普遍或不频繁执行的指令的指令解析器26。部分核所支持的指令由普遍执行的解码器。
13、28来解码并传递给部分核32。在一个实施例中,不普遍执行的或不支持的指令由解码器30解码并由执行单元20中的预制处理程序34来处理。0021在一些实施例中,图3所示的序列36可使用软件、固件和/或硬件来实现。在软件和固件实施例中,该序列可通过计算机可读指令来实现,该计算机可读指令被存储在例如光学存储、半导体存储或磁存储之类的非临时计算机可读介质上。0022图3中所示的序列36通过解析指令来开始,如在框38所示。即,这些指令可以基于标识部分核所支持的指令和部分核不支持的指令来被解析。在一个实施例中,所支持的指令是普遍执行的指令。在其他实施例中,特定指令可被解析出,因为它们是部分核所支持的指令。0。
14、023如在框40所示,一种类型的指令被发送给第一解码器而第二类型的指令被发送给第二解码器30。随后,经解码的第一类型的指令被发送给部分核并且经解码的第二类型的指令被发送给预制处理程序34,如在框42所示。0024根据另一实施例,核可以生成未定义的指令异常。这可以是现有异常或新定义的特殊异常。该异常可以在部分核遇到不支持的指令时生成。随后,软件或二进制转换层可获得对执行的控制或解决该异常。例如,在一个实施例中,二进制转换层可以执行对该不支持的指令进行仿真的处理程序。0025在一些实施例中,可以使用这一办法和先前描述的办法在图2和3中示出的混合。由此,参照图4,序列44可以软件、固件和/或硬件来实。
15、现。在软件和固件实施例中,该序列可由计算机可读指令来实现,该计算机可读指令被存储在诸如磁存储、光学存储或半导体存储之类的非临时计算机可读介质上。0026序列44通过确定指令是否被支持开始,如在菱形框46中所指示的。如果是,则该指令可在部分核中执行,如在框48中所指示的。否则,发出异常,如在框50中所指示的。说明书CN104185838A3/6页60027根据又一实施例,处理器可具有包括完全和完整指令集的一个或两个核以及仅实现完整指令集的某些特征诸如普遍执行的特征的某个数量的部分核。每当部分核遇到不支持的指令时,部分核将该任务转移到完整核之一。该混合或异构环境中的完整核可向操作系统隐藏或展示。在。
16、一些实施例中,这一办法不论是软件还是硬件都不涉及任何二进制转换层,并且在其他软件层中,核特征中的差异可以对操作系统隐藏。0028因此,参照图5,该体系结构可包括至少一个完整核50和至少一个部分核52。指令由部分核52来检查。指令由部分核52来检查。如果指令不被支持,则它们被转移到完整核50。还可构想其中指令被转移的其他情况。0029根据部分核处理器的一个实施例,以下指令可被支持00300031说明书CN104185838A4/6页70032根据一个实施例,以下指令可不被支持0033说明书CN104185838A5/6页80034说明书CN104185838A6/6页90035在本说明书通篇中对。
17、“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明包含的至少一个实现中。因此,短语“一个实施例”或“在一实施例中”的出现不一定指代同一实施例。此外,特定特征、结构或特性可按照与所说明的特定实施例不同的其他适当形式来创立,而且所有此类形式可涵盖在本申请的权利要求中。0036虽然已经针对有限个实施例描述了本发明,但本领域技术人员将会理解从中得出的多种修改和变化。所附权利要求旨在覆盖落入本发明的真实精神和范围中的所有这些修改和变化。说明书CN104185838A1/4页10图1说明书附图CN104185838A102/4页11图2说明书附图CN104185838A113/4页12图3说明书附图CN104185838A124/4页13图4图5说明书附图CN104185838A13。