当前位置: 首页 > 专利查询>英特尔公司专利>正文

可配置精减指令集核制造技术

技术编号:10386260 阅读:109 留言:0更新日期:2014-09-05 12:28
可以用只执行完全向后兼容所需的指令的某一部分集的核来构建处理器。因此,在一些实施例中,通过提供只执行某些指令并且不执行其他指令的部分核,可降低功耗。不支持的指令可以按其他更加能力高效的方式来处理,使得总体处理器(包括该部分核)可完全向后兼容。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】可以用只执行完全向后兼容所需的指令的某一部分集的核来构建处理器。因此,在一些实施例中,通过提供只执行某些指令并且不执行其他指令的部分核,可降低功耗。不支持的指令可以按其他更加能力高效的方式来处理,使得总体处理器(包括该部分核)可完全向后兼容。【专利说明】可配置精减指令集核
技术介绍
本专利技术一般涉及计算并且具体地涉及处理。为了兼容先前各代处理器,后代通常包括对传统特征的支持。随着时间进展,这些传统特征中的一些变得越来越不常用,因为开发人员往往修订他们的程序以与最当前指令集一起工作。随着时间继续,需要支持的传统指令的数量持续增加。但这些传统指令可能越来越不频繁地执行。附图简述参照以下附图描述一些实施例。图1是本专利技术一个实施例的流程图;图2是本专利技术一个实施例的示意图;图3是本专利技术另一实施例的流程图;图4是本专利技术又一实施例的流程图;图5是本专利技术又一实施例的硬件图;图6是又一实施例的流程图;以及图7是一个实施例的示意性描绘。【具体实施方式】根据一些实施例,通过消除完全向后兼容所需要的一些指令,处理器可以用只执行全部指令的部分集的部分核来构建。因此,在一些实施例中,通过提供只执行某些指令并且不执行向后兼容所需的其他指令的部分核,功耗可被降低。不支持的指令可以按其他更加能量高效的方式来处理,使得总体处理器(包括该部分核)可完全向后兼容。但处理器核可操作在当前各代处理器中使用的大部分指令而不必支持传统指令。这可意味着在一些情况下,部分核处理器可以更加能量高效。例如,部分核可以消除各种不同的指令。在一个实施例中,部分核可以消除微代码只读存储器依赖性。在这种情况下,部分核指令被实现为单操作指令。因而,指令用硬件直接转换,而无需从微代码只读存储器中提取对应的微操作(对于完全或非部分处理器而言,通常这样做)。这可节省大量微代码只读存储器空间。另外,现代编译器实际上只使用完全核上可用的那些指令的子集。作为最近二十年以来体系结构演化的结果,商用指令集体系结构具有许多过时或无用的指令,这些指令可出于效率而被消除,但以一定程度地缺乏向后兼容性为代价。来自先前各代的特征(例如,来自微软盘操作系统(DOS)的基于日期和分割的存储器保护体系结构的16位实模式、本地和全局描述符表)出于向后兼容性的原因被继承下来。但大多数现代操作系统不再需要或使用这些特征。因而,在一些实施例中,这些特征可从部分核中简单地除去。因此,在一个实施例中,部分核可以是非传统或非向后兼容的。这可使得该核更加效率高效并且尤其适于嵌入式应用。其他示例可包括减少浮点和单指令多数据指令的数量以及对高速缓存的支持。在部分核的一个实施例中,可只实现整数型和标量指令集体系结构子集。该同一概念可被扩展至浮点和矢量(单指令多数据)指令集以及通常由完全核实现的特征。该部分核仅仅是子集体系结构的实现,在一些实施例中,它可针对嵌入式应用。子集体系结构的其他实现包括不同数量的流水线阶段以及其他性能特征,如使这些部分核适于诸如个人计算机、平板、或服务器等特定细分市场的无序、超级标量高速缓存。因而,参考图1,在流水线10中,指令存储器12向指令提取单元14提供指令。这些指令随后在解码单元16处被解码。操作数提取18从数据存储器24中提取操作数以在执行单元20处执行。并且在写回22处,数据被写回数据存储器24。为了实现完全向后兼容性,不支持的指令可按不同的方式来处理。根据一个实施例,在图2中示出,可在流水线10中提供完全解码器16。在完全指令解码时,这一解码器检测未实现的指令并调用执行单元20中的预制处理程序34来用于这些指令。这些预制处理程序是处理特定指令或指令类型的专用设计。这些预制处理程序可以是基于软件或硬件的。这一方法可以使用加速不支持指令的检测和执行处理程序的执行的完全成熟或完整的解码器。这些预制处理程序可以是基于软件或硬件的。这一完全成熟的解码器加速不支持指令的检测和执行处理程序的执行。该解码器可被分成两部分。一个部分解码普遍执行的指令而第二部分解码较不频繁使用的指令。因而参考图2,指令由解码单元16来接收。在这一实施例中,解码单元16可包括检测部分核32支持哪些指令(可被描述为普遍执行的指令)和不支持哪些指令(可被称为较不普遍或不普遍执行的指令)的指令解析器26。部分核所支持的指令由普遍执行的解码器28来解码并传递给部分核32。在一个实施例中,非普遍执行的或不支持的指令由解码器30解码并由执行单元20中的预制处理程序34来处理。在一些实施例中,图3所示的序列36可使用软件、固件和/或硬件来实现。在软件和固件实施例中,该序列可通过计算机执行的指令来实现,该计算机执行的指令被存储在例如光学存储、半导体存储或磁存储之类的非临时计算机可读介质上。图3中所示的序列36通过解析指令来开始,如在框38所示。即,这些指令可以基于标识部分核所支持的指令和部分核不支持的指令来被解析。在一个实施例中,所支持的指令是普遍执行的指令。在其他实施例中,特定指令可被解析出,因为它们是部分核所支持的指令。如在框40所示,一种类型的指令被发送给第一(普遍执行的)解码器28而第二类型的指令被发送给第二(不普遍执行的)解码器30 (框41)。随后,经解码的第一类型的指令被发送给部分核并且经解码的第二类型的指令被发送给预制处理程序34,如在框42所示。根据另一实施例,核可以生成未定义的指令异常。这可以是现有异常或新定义的特殊异常。该异常可以在部分核遇到不支持的指令时生成。随后,软件和二进制转换层可获得对执行的控制或解决该异常。例如,在一个实施例中,二进制转换层可以执行对该不支持的指令进行仿真的处理程序。在一些实施例中,可以使用这一方法和先前描述的方法(在图2和3中示出)的混合。由此,参见图4,序列44可以软件、固件和/或硬件来实现。在软件和固件实施例中,该序列可通过计算机执行的指令来实现,该计算机执行的指令被存储在例如磁存储、光学存储或半导体存储之类的非临时计算机可读介质上。序列44通过确定指令是否被支持开始,如在菱形框46所示。如果是,则该指令可在部分核中执行,如在框48所示。否则,发出异常,如在框50所示。根据又一实施例,处理器可具有包括完全和完整指令集的一个或两个核以及只实现完整指令集的某些特征(如普遍执行的特征)的某一数量的部分核。每当部分核遇到不支持的指令时,部分核将该任务传输到完整核之一。该混合或异构环境中的完整核可向操作系统隐藏或展示。在一些实施例中,这一方法不论是软件还是硬件都不涉及任何二进制转换层,并且在其他软件层中,核特征中的差异可以向操作系统隐藏。因此,参考图5,该体系结构可包括至少一个完整核51和至少一个部分核52。指令由部分核52来检查。如果指令不被支持,则它们被传输到完整核51。还可构想其中指令被传输的其他情况。根据部分核处理器的一个实施例,以下指令可被支持:【权利要求】1.一种方法,包括: 确定部分核是否支持一指令; 只有在所述指令被支持的情况下,才提供所述指令以供所述部分核执行; 提供多个可选择部分核设计选项;以及 基于用户选择,自动生成用于实现具有所述选择的部分核的代码。2.如权利要求1所述的方法,其特征在于,由完整核来执行所述部分核不支持的指令。3.如权本文档来自技高网...

【技术保护点】
一种方法,包括:确定部分核是否支持一指令;只有在所述指令被支持的情况下,才提供所述指令以供所述部分核执行;提供多个可选择部分核设计选项;以及基于用户选择,自动生成用于实现具有所述选择的部分核的代码。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:S·马基嫩S·R·金方震A·瑞德钦R·艾耶P·S·斯密诺夫D·古瑟瓦D·帕弗洛夫M·吴
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1