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

用于促进用于百亿亿次级架构的高能效计算的指令集架构制造技术

技术编号:22295235 阅读:30 留言:0更新日期:2019-10-15 04:26
所公开的实施例涉及用于促进用于百亿亿次级架构的高能效计算的指令集架构。在一个实施例中,处理器包括:多个加速器核,每个加速器核都具有对应的指令集架构(ISA);取出电路,用于取出指定加速器核中的一个加速器核的一条或多条指令;解码电路,用于对一条或多条取出的指令解码;以及发布电路,用于:将一条或多条经解码的指令转换为与所指定的加速器核对应的ISA;将一条或多条经转换的指令整理为指令分组;以及将指令分组发布至所指定的加速器核,其中,多个加速器核包括存储器引擎(MENG)、集体引擎(CENG)、队列引擎(QENG)和链管理单元(CMU)。

Instruction Set Architecture for Promoting Energy Efficient Computing for Billion Subarchitectures

【技术实现步骤摘要】
用于促进用于百亿亿次级架构的高能效计算的指令集架构政府权益的声明本专利技术是在由能源部授予的合同号H608115和B600747的政府支持下进行的。政府具有本专利技术的某些权益。
本专利技术的领域总体上涉及计算机处理器架构,更具体地涉及用于促进用于百亿亿次级架构的高能效计算的指令集架构。
技术介绍
百亿亿次级计算是指每秒能够执行至少一个exaFLOP(百亿亿次浮点运算)或能够执行百亿亿次计算的计算系统。百亿亿次级系统提出一系列复杂的挑战:数据移动能量可能超过计算的能量;以及使用常规指令集架构(ISA)来使应用能够完全利用百亿亿次级计算系统的能力不是直截了当的。附图说明在所附附图中以示例方式而非限制方式来图示本专利技术,在附图中,类似的附图标记指示类似的要素,其中:图1图示用于实现用于促进用于百亿亿次级架构的高能效计算的指令集架构的加速器架构的一个示例;图2是图示根据一些实施例的将多个加速器引擎策略性地集成到计算系统中的框图;图3是根据一些实施例的将集体(collectives)引擎(CENG)集成到核流水线中的框图;图4图示根据一些实施例的由所公开的指令集架构支持的一些集体操作的行为;图5图示根据一些实施例的用于约简状态机的状态流图;图6图示根据一些实施例的用于多播状态机的状态流图;图7图示根据一些实施例的由存储器引擎(MENG)逐线程地实现的状态机;图8图示根据实施例的示例性copystride(复制跨步)直接存储器访问(DMA)指令的行为;图9是图示根据实施例的来自向目标自定义指令格式的存储与在发布至加速器之前由转换器-整理器(translator-collator)存储器映射的输入/输出(TMMIO)块进行的整理的关系;图10是图示根据一些实施例的由转换器-整理器存储器映射的输入/输出(TCMMIO)块执行存储器访问指令的流程框图;图11是图示根据一些实施例的队列引擎(QENG)的实现的框图;图12A是图示根据一些实施例的所公开的高速缓存一致性协议的状态流图;图12B是图示根据实施例的高速缓存控制电路的框图;图13是图示根据一些实施例的由高速缓存控制电路执行的过程的流程图;图14是根据实施例的用于与所公开的指令集架构一起使用的切换型总线结构的部分的图;图15是示出根据一些实施例的劫持单元的框图;图16是图示根据一些实施例的劫持单元的框图;图17是图示根据一些实施例的劫持单元的单个执行块的框图;图18A-18B是图示根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;图18A是图示根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图;图18B是图示根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图;图19A是图示根据本专利技术的实施例的示例性专用向量友好指令格式的框图;图19B是图示根据本专利技术的一个实施例的专用向量友好指令格式中构成完整操作码字段的字段的框图;图19C是图示根据本专利技术的一个实施例的专用向量友好指令格式中构成寄存器索引字段的字段的框图;图19D是图示根据本专利技术的一个实施例的专用向量友好指令格式中构成扩充操作字段的字段的框图;图20是根据本专利技术的一个实施例的寄存器架构的框图;图21A是图示根据本专利技术的实施例的示例性有序流水线和示例性的寄存器重命名的乱序发布/执行流水线两者的框图;图21B是图示根据本专利技术的实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的乱序发布/执行架构核两者的框图;图22A-22B图示更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑块(包括相同类型和/或不同类型的其他核)中的一个;图22A是根据本专利技术的实施例的单个处理器核以及其到管芯上互连网络的连接以及它的第2级(L2)高速缓存的本地子集的框图;图22B是根据本专利技术的实施例的图22A中的处理器核的部分的展开图;图23是根据本专利技术的实施例的可具有多于一个的核、可具有集成存储器控制器、并且可具有集成图形器件的处理器的框图;图24-27是示例性计算机架构的框图;图24示出根据本专利技术的一个实施例的系统的框图;图25是根据本专利技术的实施例的第一更具体的示例性系统的框图;图26是根据本专利技术的实施例的第二更具体的示例性系统的框图;图27是根据本专利技术的实施例的芯片上系统(SoC)的框图;并且图28是根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式在以下描述中,陈述了众多特定细节。然而,应当理解,可在没有这些特定细节的情况下实践本专利技术的实施例。在其他实例中,未详细示出公知的电路、结构和技术,以免使对本说明书的理解模糊。说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表明所描述的实施例可以包括特征、结构或特性,但是每个实施例可能不一定都包括该特征、结构或特性。此外,此类短语不一定是指同一个实施例。此外,当描述关于实施例的特征、结构或特性时,认为如果被明确地描述,则影响关于其他实施例的此类特征、结构或特性在本领域的知识范围内。预期如本文中所公开的改进的指令集架构(ISA)允许以降低的代码尺寸和总系统能效来允许新编程模型。所公开的ISA解决百亿亿次级架构的独有挑战中的一些挑战。百亿亿次级系统提出一系列复杂的挑战:(1)数据移动能量成本将超过计算的能量成本;(2)现有架构不具有指令语义来指定高能效的数据移动;以及(3)维持一致性将是挑战。本文中公开的ISA尝试利用特定指令来解决这些问题以实现高效的数据移动、软件(SW)管理的一致性、硬件(HW)辅助的队列管理以及集体操作。所公开的ISA包括若干类型的集体操作,包括但不限于约简(reduction)、全部约简(约简到全部)、多播、广播、屏障(barrier)、以及并行前缀操作。所公开的ISA包括预期以降低的总系统能耗来支持编程模型的若干类别的指令。这些若干类型的计算操作在下文中描述,包括在具有以下标题的小节中:·集体系统架构;·具有低开销的简化的异步集体引擎(CENG);·ISA促进的微DMA引擎和存储器引擎(MENG);·双存储器ISA操作;·基于存储器映射的输入/输出(I/O)的ISA扩展和转换;·简化的硬件辅助的队列引擎(QENG);·用于严格排序的指令链接;·具有用于多核CPU中的存储器访问约简的转发/拥有状态的高速缓存一致性协议;·用于互连多个通信单元的交换式总线结构;以及·用于原位(in-situ)分析、修改和/或拒绝的线速度分组(packet)劫持机制。图1图示用于实现用于促进用于百亿亿次级架构(即,每秒能够执行至少一个exaflop、或百亿亿次计算的计算系统)的高能效计算的指令集架构的加速器架构的一个示例。如图所示,系统100包括第一级数据和指令高速缓存、第一级指令高速缓存(L1I$102)和高速缓存控制电路(CC102A)、第一级数据高速缓存(L1D$104)和高速缓存控制电路(CC104A)、以及L1暂存器(scratchpad)(SPAD)106和SPAD控制电路(SC106A)。第一级存储器、L1I$102、L1D$104和L1暂存器(SPAD106)中的每一个都可具有至对应的第二级存储器的高速缓存行尺寸的接口。系统100还包括核10本文档来自技高网...

【技术保护点】
1.一种处理器,包括:多个加速器核,每个加速器核都具有对应的指令集架构ISA;取出电路,用于取出指定所述多个加速器核中的一个加速器核的一条或多条指令;解码电路,用于对一条或多条取出的指令进行解码;以及发布电路,用于:将一条或多条经解码的指令转换为与所指定的加速器核对应的ISA;将一个或多个经转换的指令整理为指令分组;以及将所述指令分组发布至所述所指定的加速器核;其中,所述多个加速器核包括存储器引擎MENG、集体引擎CENG、队列引擎QENG、和链管理单元CMU。

【技术特征摘要】
2018.03.29 US 15/940,7681.一种处理器,包括:多个加速器核,每个加速器核都具有对应的指令集架构ISA;取出电路,用于取出指定所述多个加速器核中的一个加速器核的一条或多条指令;解码电路,用于对一条或多条取出的指令进行解码;以及发布电路,用于:将一条或多条经解码的指令转换为与所指定的加速器核对应的ISA;将一个或多个经转换的指令整理为指令分组;以及将所述指令分组发布至所述所指定的加速器核;其中,所述多个加速器核包括存储器引擎MENG、集体引擎CENG、队列引擎QENG、和链管理单元CMU。2.如权利要求1所述的处理器,其中,所述多个加速器核中的每个加速器核被存储器映射到地址范围,并且其中,所述一条或多条指令是具有用于指定所述一个加速器核的地址的存储器映射的输入/输出MMIO指令。3.如权利要求1所述的处理器,进一步包括执行电路;其中,所述取出电路进一步取出不指定任何加速器核的另一指令;其中,所述一条或多条指令指定非阻挡型的所述一个加速器核;其中,所述解码电路进一步用于对所取出的所述另一指令进行解码;并且其中,所述执行电路用于执行经解码的所述另一指令而无需等待所述指令分组的执行完成。4.如权利要求1-3中的任一项所述的处理器,其中,与所述MENG对应的ISA包括双存储器指令,所述双存储器指令中的每条双存器指令包括以下一个:Dual_read_read、Dual_read_write、Dual_write_write、Dual_xchg_read、Dual_xchg_write、Dual_cmpxchg_read、Dual_cmpxchg_write、Dual_compare&read_read和Dual_compare&read_write。5.如权利要求1-3中的任一项所述的处理器,其中,与所述MENG对应的ISA包括直接存储器访问DMA指令,所述DMA指令指定源、目的地、算术操作和块尺寸,其中,所述MENG根据所述块尺寸将数据块从所指定的源复制到所指定的目的地,并且其中,所述MENG进一步在将所得到的数据复制到所指定的目的地之前对所述数据块的每个数据执行所述算术操作。6.如权利要求1-3中的任一项所述的处理器,其中,与所述CENG对应的ISA包括集体操作,所述集体操作包括约简、全部约简(约简到全部)、广播、聚集、分散、屏障、和并行前缀操作。7.如权利要求1-3中的任一项所述的处理器,其中,所述QENG包括具有任意队列类型的硬件管理的队列,其中,与所述QENG对应的ISA包括用于将数据添加到队列以及从所述队列移除数据的指令,并且其中,所述任意队列类型是后进先出LIFO、先进后出FILO和先进先出FIFO中的一种。8.如权利要求1-3中的任一项所述的处理器,其中,所述一条或多条指令的子集是链的部分,并且其中,所述CMU使每条链式指令的执行停止,直到在先的链式指令完成,并且其中,所述一条或多条指令中的其他指令能够并行地执行。9.如权利要求1-3中的任一项所述的处理器,进一步包括切换型总线结构,所述切换型总线结构用于耦合所述发布电路和所述多个加速器核,所述切换型总线结构包括路径,所述切换型总线结构具有多个并行通道并监测所述多个并行通道上的拥塞程度。10.如权利要求9所述的处理器,进一步包括入口网络接口、出口网络接口和分组劫持电路,所述分组劫持电路用于:通过将所述指令分组中所包含的地址与软件可编程劫持目标地址比较来判定是否劫持所述入口网络接口处的每个传入分组;将被判定为要被劫持的指令分组复制到劫持电路暂存器存储器;以及由劫持电路执行单元处理所存储的分组以对分组执行线速度原位分析、修改和拒绝。11.如权利要求1-3中的任一项所述的处理器,其中,所述多个加速器核被设置在多个处理器核中的一个或多个处理器核中,所述多个处理器核中的每个处理器核包括:根据修改-拥有-独占-共享-无效加转发MOESI+F高速缓存一致性协议被控制的高速缓存;其中,当高速缓存行在高速缓存中的至少一个高速缓存中是有效的时,对所述高速缓存行的存储器读取总是由高速缓存中的所述至少一个高速缓存服务而不是由存储器读取服务;并且其中,当处于修改状态的脏高速缓存行由于替换策略而被驱逐时,脏高速缓存行仅被写回到存储器。12.如权利要求11所述的处理器,其中,当处于拥有状态的高速缓存行由于替换策略而被驱逐时,如果在驱逐之前多于一个高速缓存具有所述高速缓存行的副本,则所述高速缓存行转变到不同高速缓存中的拥有状态,或者如果在驱逐之前仅一个高速缓存具有所述高速缓存行的副本,则所述高速缓存行转变到修改状态。13.如权利要求11所述的处理器,其中,当处于转发状态的高速缓存行由于替换策略而被驱逐时,如果在驱逐之前多于一个高速缓存具有所述高速缓存行的副本,则所述高速缓存行转变到不同高速缓存中的转发状态,或者如果在驱逐之前仅一个高速缓存具有所述高速缓存行的副本,则所述高速缓存行转变到独占状态。14.如权利要求11所述的处理器,进一步包括高速缓存控制电路,所述高速缓存控制电路用于监测多个核之间的一致性数据请求,并用于引起驱逐和高速缓存状态的转变,所述高速缓存控制电路包括高速缓存标签数组,所述高速缓存标签数组用于存储多个核的高速缓存中的每个高速缓存中的高速缓存行的高速缓存状态。15.一种系统,包括:存储器;多个加速器核,每个加速器核都具有对应的指令集架构ISA;用于取出指定所述多个加速器核中的一个加速器核的一条或多条指令的装置;用于对一条或多提取出的指令进行解码的装置;用于将一条或多条经解码的指令转换为与所指定的加速器核对应的ISA的装置;用于将一条或多条经转换的指令整理为指令分组的装置;以及用于将所述指令分组发布至所述所指定的加速器核的装置;其中,所述多个加速器核包括存储器引擎MENG、集体引擎CENG、队列引擎QENG、和链管理单元CMU。16.如权利要求15所述的系统:其中,所述多个加速器核中的每个加速器核被存储器映射到地址范围,并且其中,所述一条或多条指令是具有用于指...

【专利技术属性】
技术研发人员:J·B·弗莱曼J·M·霍华德P·苏瑞史B·M·纳加桑达拉姆S·达克希那莫尔泰A·莫尔R·帕洛夫斯基S·简恩P·尤里卡尔A·M·西格哈里S·哈尔D·索马瑟科哈D·S·邓宁R·E·克利达特W·P·格里芬B·B·巴德维亚I·B·甘涅夫
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1