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

用于改善主机到设备通信以获得最优功率和性能的高效型基于范围的存储器回写制造技术

技术编号:19240202 阅读:70 留言:0更新日期:2018-10-24 03:50
本申请公开了用于改善主机到设备通信以获得最优功率和性能的高效型基于范围的存储器回写。本文中描述了用于高效型基于范围的存储器回写的方法和装置。装置的一个实施例包括:系统存储器;多个硬件处理器核,所述多个硬件处理器核各自包括第一高速缓存;解码器电路,用于对具有针对第一存储器地址和范围指示符的字段的指令进行解码;以及执行电路,用于执行所述经解码指令。所述第一存储器地址和所述范围指示符一起定义所述系统存储器中包括一个或多个高速缓存行的连续区域。执行所述经解码指令使所述第一高速缓存中的所述一个或多个高速缓存行的任何实例无效。另外,所述一个或多个高速缓存行的任何脏的无效实例将存储到系统存储器中。

【技术实现步骤摘要】
用于改善主机到设备通信以获得最优功率和性能的高效型基于范围的存储器回写
技术介绍

本专利技术总体上涉及计算机处理器领域。更具体地,本专利技术涉及一种用于基于范围的存储器回写的方法和装置。相关技术的说明指令集或指令集架构(ISA)是与编程有关的计算机架构的一部分,包括本机数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置、以及外部输入和输出(I/O)。应当注意的是,在本文中术语“指令”一般指的是宏指令,即提供给处理器以供执行的指令,与作为处理器解码器对宏指令解码的结果的微指令或微操作完全不同。微指令或微操作可以被配置成命令处理器上的执行单元执行操作以实现与宏指令相关联的逻辑。ISA与微架构不同,所述微架构是用于实现指令集的一组处理器设计技术。具有不同微架构的处理器可以共享共同的指令集。例如,来自奔腾4(Pentium4)处理器、CoreTM处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(AdvancedMicroDevices,Inc.)的处理器实施几乎相同版本的x86指令集(在更新的版本中已加入了一些扩展),但具有不同的内部设计。例如,可以使用公知的技术在不同微架构中以不同方式实现ISA的相同的寄存器架构,包括专用物理寄存器、使用寄存器重新命名机构(例如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)和引退寄存器堆)的一个或多个动态地分配的物理寄存器。除非另有指定,否则短语寄存器架构、寄存器堆和寄存器在本文中用于指代软件/编程器可见的寄存器以及指令指定寄存器的方式。当需要区别时,将使用形容词“逻辑的”、“架构的”或“软件可见的”来指示寄存器架构中的寄存器/堆,同时不同的形容词将用于给定微架构中的指定寄存器(例如,物理寄存器、重排序缓冲器、引退寄存器、寄存器池)。指令集包括一种或多种指令格式。给定指令格式定义各个字段(位数、位的位置)以指定(除了其它方面)要执行的操作以及要在其上执行操作的(多个)操作数。通过定义指令模板(或子格式)进一步分解一些指令格式。例如,给定指令格式的指令模板可以被定义为具有指令格式的字段的不同子集(所包含的字段通常是按相同的次序,但是至少有一些具有不同的位位置,因为包含较少的字段)和/或被定义为具有不同解释的给定字段。给定的指令利用给定的指令格式(并且如果被定义,则采用所述指令格式的指令模板的给定的一种)来表达,并且指定操作和操作数。指令流是指令的特定序列,其中序列中的每条指令是采用指令格式(并且如果被定义,则采用所述指令格式的指令模板的给定的一种)的指令的发生。附图说明将更容易明白本专利技术的前述各方面和许多附带优点,这是由于当结合附图时,通过参考下列详细描述,将更好地理解本专利技术的前述各方面和许多附带优点,在附图中,贯穿各视图,除非以另外方式指定,否则相同的参考号指代相同的部件:图1A-1B展示了当使用DMA机制时主机与设备之间的潜在一致性问题;图2是流程图,展示了对具有主机与设备之间的同步机制的共享缓冲器的使用;图3展示了可以实现本专利技术实施例的示例性平台;图4A展示了根据实施例的在存储器地址和范围操作数都是存储器地址时由存储器地址和范围操作数在系统存储器中定义的连续区域;图4B展示了根据实施例的在范围是整数值时由存储器地址和范围操作数在系统存储器中定义的连续区域;图5展示了可以用于实现本专利技术实施例的设备调试和测试的示例性大数据阵列测试(LDAT)引擎;图6是流程图,展示了根据实施例的用于执行基于范围的存储器回写指令的操作和逻辑;图7是流程图,展示了根据实施例的用于刷新高速缓存行的操作和逻辑;图8A是框图,展示了根据本专利技术的实施例的示例性有序流水线和示例性寄存器重命名无序发出/执行流水线两者;图8B是框图,展示了根据本专利技术的实施例的将包括在处理器中的有序架构核的示例性实施例和示例性寄存器重命名无序发出/执行架构核两者;图9是根据本专利技术的实施例的具有集成存储器控制器和图形的单核处理器和多核处理器的框图;图10展示了根据本专利技术的一个实施例的系统的框图;图11展示了根据本专利技术的实施例的第二系统的框图;图12展示了根据本专利技术的实施例的第三系统的框图;图13展示了根据本专利技术的实施例的片上系统(SoC)的框图;并且图14展示了对照根据本专利技术的实施例的用于将源指令集中的二进制指令转换为目标指令集中的二进制指令的软件指令转换器的使用的框图。具体实施方式本文描述了高效型基于范围的存储器回写的方法和装置的实施例。在以下描述中,阐述了许多具体细节以提供对本专利技术的实施例的透彻理解。然而,相关领域的技术人员将意识到,本专利技术可以无需这些具体细节中的一个或多个来实践,或者可以使用其他方法、部件、材料等来实践。在其他实例中,并未详细示出或描述众所周知的结构、材料或操作,以避免模糊本专利技术的方面。贯穿本说明书对“一个实施例”或“实施例”的提及是指结合实施例所描述的特定特征、结构或特性包括在本专利技术的至少一个实施例中。因此,贯穿本说明书,短语“在一个实施例中”或“在实施例中”在各处的出现未必都是指代相同的实施例。此外,在一个或多个实施例中,可以以任何适当的方式来组合特定特征、结构或特性。为清楚起见,可以通过本文的附图中的各个部件的标记而不是通过特定的参考编号来指代附图中的各个部件。对现代计算机的许多使用需要通过直接存储器访问(DMA)的主机到设备通信,所述直接存储器访问是允许计算机系统中的外围组件将其I/O数据直接传输到系统存储器并从系统存储器传输而不需要涉及系统处理器的机制。例如,网络接口卡(NIC)和图形处理单元(GPU)可以直接从主机存储器中检索数据分组和块以便执行其对应功能,由此绕过系统处理器并且加速存储器操作。因此,DMA机制可以大大增加来往于设备的吞吐量。然而,如果控制DMA过程的DMA控制器不参与主机处理器的高速缓存一致性(情况常常如此),则操作系统(OS)和/或在OS上运行的软件将需要确保在传出DMA传输开始(即,从系统存储器中读取)之前当前存储在处理器高速缓存中的高速缓存行被刷新(即,被存储)到系统存储器中。类似地,在受传入DMA传输影响的存储器范围被访问(即,写入系统存储器)之前,需要使处理器高速缓存中的高速缓存行无效。另外,OS或软件还必须确保受影响的存储器范围不被任何运行的线程访问以便防止存储器一致性冲突。图1A-1B展示了当使用DMA机制时主机与设备之间的潜在一致性问题。设备发起异步DMA读取或写入操作以直接来往于系统存储器而不通过主机高速缓存来访问数据。然而,对于DMA写入操作,除非刚好在DMA写入之前主机高速缓存已经被刷新,否则可以使用由主机在主机高速缓存中高速缓存的过期数据来覆写通过DMA操作传输到系统存储器中的数据。例如,在图1A中,设备(即,图形处理单元(GPU))108通过DMA控制器110直接访问系统存储器102中的数据,而不需要通过主机(即,中央处理单元(CPU))104。为了简单起见,主机、设备、DMA控制器和系统存储器被示出为通过总线112互连。在DMA写入114期间,CPU108通过DMA控制器110将数据写入系统存储器102中的高速缓存行120a。在DMA写入114之后,主机104通过驱逐或回写操作将高速缓存本文档来自技高网...

【技术保护点】
1.一种装置,包括:系统存储器;多个硬件处理器核,所述硬件处理器核中的至少一个用于包括:第一高速缓存;解码器电路,用于对具有用于第一存储器地址和范围指示符的字段的指令进行解码,所述第一存储器地址和所述范围指示符用于定义所述系统存储器中的连续区域,所述连续区域包括一个或多个高速缓存行;以及执行电路,用于通过在所述第一高速缓存中使所述一个或多个高速缓存行的任何实例无效来执行所述经解码指令。

【技术特征摘要】
2017.03.31 US 15/476,3021.一种装置,包括:系统存储器;多个硬件处理器核,所述硬件处理器核中的至少一个用于包括:第一高速缓存;解码器电路,用于对具有用于第一存储器地址和范围指示符的字段的指令进行解码,所述第一存储器地址和所述范围指示符用于定义所述系统存储器中的连续区域,所述连续区域包括一个或多个高速缓存行;以及执行电路,用于通过在所述第一高速缓存中使所述一个或多个高速缓存行的任何实例无效来执行所述经解码指令。2.如权利要求1所述的装置,其特征在于,如果所述第一高速缓存中的所述一个或多个高速缓存行的无效实例是脏的,则所述无效实例将被存储到所述系统存储器中。3.如权利要求2所述的装置,其特征在于,所述指令进一步包括用于指示所述第一高速缓存中的所述一个或多个高速缓存行的所述脏的无效实例是否将被存储到由所述多个硬件处理器核共享的第二高速缓存中而非存储到所述系统存储器中的操作码。4.如权利要求1至3中任一项所述的装置,其特征在于,所述范围指示符包括第二存储器地址,所述连续区域用于从所述第一存储器地址跨越到所述第二存储器地址。5.如权利要求1至3中任一项所述的装置,其特征在于,所述范围指示符包括对将包括在所述连续区域中的字节或高速缓存行的数量的指示,所包括的高速缓存行具有等于或递增地大于所述第一存储器地址的地址。6.如权利要求1至5中任一项所述的装置,其特征在于,所述第一存储器地址是线性存储器地址。7.一种装置,包括:系统存储器;多个硬件处理器核,所述硬件处理器核中的至少一个用于包括:第一高速缓存;解码器电路,用于对具有用于第一存储器地址和范围指示符的字段的指令进行解码,所述第一存储器地址和所述范围指示符用于定义所述系统存储器中的连续区域,所述连续区域包括一个或多个高速缓存行;以及执行电路,用于通过使所述第一高速缓存中的所述一个或多个高速缓存行的任何脏的实例存储到所述系统存储器中来执行所述经解码指令。8.如权利要求7所述的装置,其特征在于,所述指令进一步包括用于指示所述第一高速缓存中的所述一个或多个高速缓存行的脏的实例是否将被存储到由所述多个硬件处理器核共享的第二高速缓存中而非存储到所述系统存储器中的操作码。9.如权利要求7至8中任一项所述的装置,其特征在于,所述范围指示符包括第二存储器地址,所述连续区域用于从所述第一存储器地址跨越到所述第二存储器地址。10.如权利要求7至8中任一项所述的装置,其特征在于,所述范围指示符包括对将包括在所述连续区域中的字节或高速缓存行的数量的指示,所包括的高速缓存行具有等于或递增地大于所述...

【专利技术属性】
技术研发人员:R·王C·张Q·J·比安B·L·托尔J·W·布兰德特
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1