CN104025034A - 可配置精减指令集核 - Google Patents

可配置精减指令集核 Download PDF

Info

Publication number
CN104025034A
CN104025034A CN201180076171.7A CN201180076171A CN104025034A CN 104025034 A CN104025034 A CN 104025034A CN 201180076171 A CN201180076171 A CN 201180076171A CN 104025034 A CN104025034 A CN 104025034A
Authority
CN
China
Prior art keywords
instruction
core
media
store
part core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201180076171.7A
Other languages
English (en)
Other versions
CN104025034B (zh
Inventor
S·马基嫩
S·R·金
方震
A·瑞德钦
R·艾耶
P·S·斯密诺夫
D·古瑟瓦
D·帕弗洛夫
M·吴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104025034A publication Critical patent/CN104025034A/zh
Application granted granted Critical
Publication of CN104025034B publication Critical patent/CN104025034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

可以用只执行完全向后兼容所需的指令的某一部分集的核来构建处理器。因此,在一些实施例中,通过提供只执行某些指令并且不执行其他指令的部分核,可降低功耗。不支持的指令可以按其他更加能力高效的方式来处理,使得总体处理器(包括该部分核)可完全向后兼容。

Description

可配置精减指令集核
背景技术
本发明一般涉及计算并且具体地涉及处理。
为了兼容先前各代处理器,后代通常包括对传统特征的支持。随着时间进展,这些传统特征中的一些变得越来越不常用,因为开发人员往往修订他们的程序以与最当前指令集一起工作。随着时间继续,需要支持的传统指令的数量持续增加。但这些传统指令可能越来越不频繁地执行。
附图简述
参照以下附图描述一些实施例。
图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。还可构想其中指令被传输的其他情况。
根据部分核处理器的一个实施例,以下指令可被支持:
根据一个实施例,以下指令可不被支持:
在一些实施例中,可配置部分核可以用适当的电路元件和软件来产生。在一些实施例中,用户可以响应于图形用户界面来输入选择。随后,系统自动生成寄存器传输级(RTL)和软件来实现具有这些特征的部分核。在一些实施例中,指令集是预定义的并且可以提供进一步的可配置性。在其他实施例中,系统可以使用户能够手动地实现配置选择。作为示例,一个系统可准许配置高速缓存、分支预测器、流水线绕过以及乘法器。
例如,在一个实施例中,高速缓存配置可以用紧耦合的数据和指令高速缓存来被默认地设置。可被选择的各选项包括拆分数据和指令高速缓存以及可选择的高速缓存参数,如高速缓存大小、行大小、相关联性、以及纠错码。
分支预测器可以使用总是未采用方法来默认地设置为条件分支。在一些实施例中,可选择选项可包括向后采用和先前未采用,二、四、八或十六条目的分支目标缓冲区,基于全面G共享,或具有可配置数量的条目的预测器。
在一个实施例中,默认流水线绕过的集合可被选择性地停用。默认绕过允许用户用性能换取更高频率,但以功率为代价。例如,称为IF_IBUF的绕过允许来自指令存储器/高速缓存的数据直接去往预解码器和解码器阶段而不首先进入指令缓冲区。类似地,在一些实施例中,存在以下另一绕过:将来自比较指令的结果发送到操作数提取和指令阶段以供快速确定跳转指令(下一比较指令)是否造成跳转到不同的位置。基于这一信息,指令提取单元可以开始提取在该新地址处开始的指令。这一绕过减少了条件跳转指令的惩罚。而这些绕过提供更高的效率,它们是以频率为成本来做到的。如果特定应用需要更高频率,则这些绕过可在设计时被选择性地关闭。
又一组选项涉及乘法器。在一个实施例中,默认配置可以提供一、二或多周期乘法器。用户可以基于用户的需求来选择这三个乘法器之一。单周期乘法器占据更大面积并且可能限制该设计达到更高频率,但只花费一个周期来执行32x32位乘法运算。另一方面,多周期乘法器占据大约2000个门对单周期乘法器的7000个门,但花费一个以上周期来执行32x32位乘法运算。
在一些实施例中,可以使得包括存储器保护单元、存储器管理单元、写回缓冲区等其他可配置特征可用。仅举一些其它的可控制特征,还可扩展到浮点单元、单指令多数据、超级标量、以及所支持的中断的数量。
在一些实施例中,一些可选择特征是面向性能的,如绕过、分支预测器以及乘法器等常见情况,而其他可选择特征是面向功能或特征的,如与高速缓存、存储器保护单元以及存储器管理单元相关的那些特征。
参见图6,核配置序列60可以软件、固件和/或硬件来实现。在软件和固件实施例中,它可通过计算机执行的指令来实现,该计算机执行的指令被存储在例如光学存储、磁存储或半导体存储之类的非临时计算机可读介质上。
在一个实施例中,序列60通过显示部分核设计的可选择高速缓存选项来开始,如在框62所示。在一些实施例中,一旦用户作出选择,如在菱形框64所示,该选项就被设置,如在框66所示,这意味着它将被记录并最终被实现成必要代码而无需进一步的用户动作。如果没有做出选择,则该流简单地等待选择。
接着,分支预测选项可被显示,如在框68所示,此后是菱形框70处的选择检查和框72处的选项设置阶段。
此后,流水线绕过选项可被显示(框74),此后是菱形框76处的选择和框78处的选项设置。接着,乘法器选项可被显示,如在框80所示。这可同样伴随有菱形框82处的选择决定和框84处的选项设置。
最后,已被设置或选择的所有选项被收集并且适当的RTL和软件代码被自动生成,如在框86所示。因此,在一些实施例中,基于设计者的选择,用于创建硬件和软件配置的必要代码可被自动生成。
参考图7,用于实现根据本发明的一个实施例的系统90可包括耦合到代码数据库94的处理器92、RTL引擎96、显示驱动器100以及软件代码生成器98。代码数据库94存储用于不同的可选择选项的代码的数据库。RTL引擎96包括响应于用户选择来生成RTL代码的能力。软件代码生成器生成用于实现用户选择的必要软件代码。在一个实施例中,显示驱动器100驱动显示器104并且包括用于生成向用户提供各定义选项的选择性的图形用户界面(GUI)102的软件。
在本说明书通篇中对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明包含的至少一个实现中。因此,短语“一个实施例”或“在一实施例中”的出现不一定指代同一实施例。此外,特定特征、结构或特性可按照与所说明的特定实施例不同的其他适当形式来创立,而且所有此类形式可涵盖在本申请的权利要求中。
虽然已经针对有限个实施例描述了本发明,但本领域技术人员将会理解从中得出的多种修改和变化。所附权利要求旨在覆盖落入本发明的真实精神和范围中的所有这些修改和变化。

Claims (24)

1.一种方法,包括:
确定部分核是否支持一指令;
只有在所述指令被支持的情况下,才提供所述指令以供所述部分核执行;
提供多个可选择部分核设计选项;以及
基于用户选择,自动生成用于实现具有所述选择的部分核的代码。
2.如权利要求1所述的方法,其特征在于,由完整核来执行所述部分核不支持的指令。
3.如权利要求1所述的方法,其特征在于,由预制处理程序来执行所述部分核不支持的指令。
4.如权利要求1所述的方法,其特征在于,在指令不被所述部分核支持的情况下发出异常。
5.如权利要求1所述的方法,其特征在于,包括将指令从所述部分核的指令集中排除以处理只读依赖性。
6.如权利要求1所述的方法,其特征在于,用硬件来转换指令而无需从只读微代码中提取对应的微操作。
7.如权利要求1所述的方法,其特征在于,启用高速缓存配置选择。
8.如权利要求1所述的方法,其特征在于,启用分支预测器选择。
9.如权利要求1所述的方法,其特征在于,启用流水线绕过选择。
10.如权利要求1所述的方法,其特征在于,启用乘法器选择。
11.一种存储有指令的非瞬态计算机可读介质,所述指令用于:
确定只执行指令集的一些指令的核是否支持一指令;
只有在所述指令被支持的情况下,才提供所述指令以供所述核执行;
提供多个可选择部分核设计选项;以及
基于用户选择,生成用于实现具有所述选择的部分核的代码。
12.如权利要求11所述的介质,其特征在于,由完整核来执行所述核不支持的指令。
13.如权利要求11所述的介质,其特征在于,由预制处理程序来执行所述核不支持的指令。
14.如权利要求11所述的介质,其特征在于,存储有用于以下操作的指令:在指令不被所述部分核支持的情况下发出异常。
15.如权利要求11所述的介质,其特征在于,存储有用于以下操作的指令:将指令从所述核的指令集中排除以处理只读依赖性。
16.如权利要求11所述的介质,其特征在于,存储有用于以下操作的指令:用硬件转换指令而无需从微代码只读存储器中提取对应的微操作。
17.如权利要求11所述的介质,其特征在于,存储有用于以下操作的指令:启用高速缓存配置选择。
18.如权利要求11所述的介质,其特征在于,存储有用于以下操作的指令:启用分支预测器选择。
19.如权利要求11所述的介质,其特征在于,存储有用于以下操作的指令:启用流水线绕过选择。
20.如权利要求11所述的介质,其特征在于,存储有用于以下操作的指令:启用乘法器选择。
21.一种装置,包括:
处理器,所述处理器使用户能够从针对处理器核的包括高速缓存设计选项的各选项中进行选择;以及
代码数据库,所述代码数据库存储用于实现处理器核的可选择设计选项的代码,包括寄存器传输级和软件代码。
22.如权利要求21所述的装置,其特征在于,所述处理器用于启用分支预测器选择。
23.如权利要求21所述的装置,其特征在于,所述处理器用于启用流水线绕过选择。
24.如权利要求21所述的装置,其特征在于,所述处理器用于启用乘法器选择。
CN201180076171.7A 2011-12-30 2011-12-30 可配置精减指令集核 Active CN104025034B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/068016 WO2013101147A1 (en) 2011-12-30 2011-12-30 Configurable reduced instruction set core

Publications (2)

Publication Number Publication Date
CN104025034A true CN104025034A (zh) 2014-09-03
CN104025034B CN104025034B (zh) 2018-09-11

Family

ID=48698381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180076171.7A Active CN104025034B (zh) 2011-12-30 2011-12-30 可配置精减指令集核

Country Status (5)

Country Link
US (1) US20140223145A1 (zh)
EP (1) EP2798467A4 (zh)
CN (1) CN104025034B (zh)
TW (1) TWI472911B (zh)
WO (1) WO2013101147A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830150B2 (en) 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503513B2 (en) * 2013-10-23 2019-12-10 Nvidia Corporation Dispatching a stored instruction in response to determining that a received instruction is of a same instruction type
CN103955445B (zh) 2014-04-30 2017-04-05 华为技术有限公司 一种数据处理方法、处理器及数据处理设备
US20170168819A1 (en) * 2015-12-15 2017-06-15 Intel Corporation Instruction and logic for partial reduction operations
TWI805544B (zh) * 2017-01-24 2023-06-21 香港商阿里巴巴集團服務有限公司 資料庫操作方法及裝置
TWI790991B (zh) * 2017-01-24 2023-02-01 香港商阿里巴巴集團服務有限公司 資料庫操作方法及裝置
US10747541B2 (en) * 2018-01-19 2020-08-18 Marvell Asia Pte, Ltd. Managing predictor selection for branch prediction

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632028A (en) * 1995-03-03 1997-05-20 Hal Computer Systems, Inc. Hardware support for fast software emulation of unimplemented instructions
US5699537A (en) * 1995-12-22 1997-12-16 Intel Corporation Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions
US5752035A (en) * 1995-04-05 1998-05-12 Xilinx, Inc. Method for compiling and executing programs for reprogrammable instruction set accelerator
US20010056531A1 (en) * 1998-03-19 2001-12-27 Mcfarling Scott Branch predictor with serially connected predictor stages for improving branch prediction accuracy
CN1382280A (zh) * 1999-02-05 2002-11-27 坦斯利卡公司 用于设计可配置的处理器的自动处理器产生系统及其方法
US20040003309A1 (en) * 2002-06-26 2004-01-01 Cai Zhong-Ning Techniques for utilization of asymmetric secondary processing resources
CN1570856A (zh) * 2003-12-15 2005-01-26 智慧第一公司 用以防止微处理器管线中的停滞的装置及方法
US20050086352A1 (en) * 2003-09-29 2005-04-21 Eric Boisvert Massively reduced instruction set processor
US20080162891A1 (en) * 2006-12-28 2008-07-03 Microsoft Corporation Extensible microcomputer architecture

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851990A (en) * 1987-02-09 1989-07-25 Advanced Micro Devices, Inc. High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
US6480952B2 (en) * 1998-05-26 2002-11-12 Advanced Micro Devices, Inc. Emulation coprocessor
US6185672B1 (en) * 1999-02-19 2001-02-06 Advanced Micro Devices, Inc. Method and apparatus for instruction queue compression
US6708268B1 (en) * 1999-03-26 2004-03-16 Microchip Technology Incorporated Microcontroller instruction set
US6393551B1 (en) * 1999-05-26 2002-05-21 Infineon Technologies North America Corp. Reducing instruction transactions in a microprocessor
US6425116B1 (en) * 2000-03-30 2002-07-23 Koninklijke Philips Electronics N.V. Automated design of digital signal processing integrated circuit
WO2002019098A1 (en) * 2000-08-30 2002-03-07 Intel Corporation Method and apparatus for a unified risc/dsp pipeline controller for both reduced instruction set computer (risc) control instructions and digital signal processing (dsp) instructions
US7287147B1 (en) * 2000-12-29 2007-10-23 Mips Technologies, Inc. Configurable co-processor interface
US6886092B1 (en) * 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
EP1387259B1 (en) * 2002-07-31 2017-09-20 Texas Instruments Incorporated Inter-processor control
US20040128477A1 (en) * 2002-12-13 2004-07-01 Ip-First, Llc Early access to microcode ROM
US7165229B1 (en) * 2004-05-24 2007-01-16 Altera Corporation Generating optimized and secure IP cores
US7353489B2 (en) * 2004-05-28 2008-04-01 Synopsys, Inc. Determining hardware parameters specified when configurable IP is synthesized
US7895415B2 (en) * 2007-02-14 2011-02-22 Intel Corporation Cache sharing based thread control
US20100262966A1 (en) * 2009-04-14 2010-10-14 International Business Machines Corporation Multiprocessor computing device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632028A (en) * 1995-03-03 1997-05-20 Hal Computer Systems, Inc. Hardware support for fast software emulation of unimplemented instructions
US5752035A (en) * 1995-04-05 1998-05-12 Xilinx, Inc. Method for compiling and executing programs for reprogrammable instruction set accelerator
US5699537A (en) * 1995-12-22 1997-12-16 Intel Corporation Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions
US20010056531A1 (en) * 1998-03-19 2001-12-27 Mcfarling Scott Branch predictor with serially connected predictor stages for improving branch prediction accuracy
CN1382280A (zh) * 1999-02-05 2002-11-27 坦斯利卡公司 用于设计可配置的处理器的自动处理器产生系统及其方法
US20040003309A1 (en) * 2002-06-26 2004-01-01 Cai Zhong-Ning Techniques for utilization of asymmetric secondary processing resources
US20050086352A1 (en) * 2003-09-29 2005-04-21 Eric Boisvert Massively reduced instruction set processor
CN1570856A (zh) * 2003-12-15 2005-01-26 智慧第一公司 用以防止微处理器管线中的停滞的装置及方法
US20080162891A1 (en) * 2006-12-28 2008-07-03 Microsoft Corporation Extensible microcomputer architecture

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830150B2 (en) 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor
TWI622014B (zh) * 2015-12-04 2018-04-21 谷歌有限責任公司 用於影像處理之設備及方法
US10185560B2 (en) 2015-12-04 2019-01-22 Google Llc Multi-functional execution lane for image processor
TWI680435B (zh) * 2015-12-04 2019-12-21 美商谷歌有限責任公司 用於影像處理之設備及方法

Also Published As

Publication number Publication date
TW201346524A (zh) 2013-11-16
WO2013101147A1 (en) 2013-07-04
US20140223145A1 (en) 2014-08-07
EP2798467A1 (en) 2014-11-05
EP2798467A4 (en) 2016-04-27
CN104025034B (zh) 2018-09-11
TWI472911B (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN104025034A (zh) 可配置精减指令集核
CN105283858B (zh) 可执行近似计算指令的处理器
US8769539B2 (en) Scheduling scheme for load/store operations
TWI644208B (zh) 藉由對硬體資源之限制實現的向後相容性
US9836304B2 (en) Cumulative confidence fetch throttling
JP6849274B2 (ja) 融合された単一のサイクルのインクリメント−比較−ジャンプを実施するための命令及びロジック
TWI507980B (zh) 最佳化暫存器初始化操作
TWI497412B (zh) 用於使用相依矩陣追蹤解除配置之載入指令之方法、處理器及裝置
EP3398113B1 (en) Loop code processor optimizations
TWI835807B (zh) 用於組合載入或儲存指示的方法、裝置及非暫時性電腦可讀媒體
CN102483696A (zh) 用以预测有条件非分支指令的不执行的方法和设备
US9201658B2 (en) Branch predictor for wide issue, arbitrarily aligned fetch that can cross cache line boundaries
US9547493B2 (en) Self-timed user-extension instructions for a processing device
JP5941488B2 (ja) 条件付きショート前方分岐の計算的に等価な述語付き命令への変換
CN103218203A (zh) 具有条件指令的微处理器及其处理方法
CN105793825A (zh) 可从过多的近似计算误差中恢复的处理器
CN101266558A (zh) 可配置微处理器和将多个小核组合为单微处理器核的方法
WO2013096629A1 (en) Providing hint register storage for a processor
CN103365628A (zh) 用于执行预解码时优化的指令的方法和系统
CN101371223B (zh) 运算数的提早有条件选择
US20140129805A1 (en) Execution pipeline power reduction
TWI757244B (zh) 包含支持指示意圖呼叫或回傳的控制移轉指令的處理器和系統及使用指示意圖呼叫或回傳的控制移轉指令的方法
CN101266559A (zh) 将单微处理器核划分为多个小核的可配置微处理器和方法
US10467008B2 (en) Identifying an effective address (EA) using an interrupt instruction tag (ITAG) in a multi-slice processor
US20170344378A1 (en) Managing an effective address table in a multi-slice processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant