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

用于延迟低开销同步页表更新的设备和方法技术

技术编号:19247185 阅读:24 留言:0更新日期:2018-10-24 08:57
描述了用于低开销同步页表更新的设备和方法。例如,一个实施例中的处理器包括:一组一个或多个核,其用于执行指令和处理数据;转化后备缓冲器(TLB),包括多个条目,所述转化后备缓冲器用于在执行指令时高速缓存供所述组的一个或多个核可用的虚拟到物理地址转化;锁定电路,其允许线程锁定TLB中的第一页表条目(PTE)以确保一次只能够有一个线程修改第一PTE,其中TLB将在线程获取锁定时修改第一PTE;PTE无效电路,其用于在第一核上执行PTE无效指令,以使其它核的其它TLB中的第一PTE无效,所述PTE无效电路响应于所述PTE无效指令的执行,响应地确定需要被通知所述PTE无效的其它核的其它TLB的数量、将PTE无效消息传送给所述其它TLB,以及等待响应;以及所述锁定电路用于响应于接收来自所有所述其它TLB的响应,释放所述第一PTE上的所述锁定。

【技术实现步骤摘要】
【国外来华专利技术】用于延迟低开销同步页表更新的设备和方法
本专利技术一般涉及计算机处理器的领域。更具体地说,本专利技术涉及用于同步、低开销页表更新的方法和设备。
技术介绍
1.处理器微架构指令集或指令集架构(ISA)是与编程有关的计算机架构的一部分,包括原生数据类型、指令、寄存器架结构、寻址模式、存储器架构、中断和异常处置及外部输入和输出(I/O)。应注意的是,术语“指令”在本文中通常指宏指令-其是被提供到处理器以便执行的指令--与微指令或微操作相反-其是处理器的解码器解码宏指令的结果。微指令或微操作能够配置成指示处理器上的执行单元执行操作以实现与宏指令关联的逻辑。ISA不同于作为用于实现指令集的一组处理器设计技术的微架构。带有不同微架构的处理器能够共享共用指令集。例如,Intel®®Pentium4处理器、Intel®CoreTM™处理器和来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(AdvancedMicroDevices,Inc.)的处理器实现几乎相同版本的x86指令集(其中已采用较新版本来加入了一些扩展),但具有不同内部设计。例如,ISA的相同寄存器架构可使用公知的技术在不同微架构中以不同方式来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器别名表(RAT)、重新排序缓冲器(ROB)和引退寄存器堆)的一个或多个动态分配的物理寄存器。除非另有指定,否则短语寄存器架构(phrasesregisterarchitecture)、寄存器堆和寄存器在本文中用于指对软件/编程器可见的事物以及其中指令指定寄存器的方式。在要求区分的情况下,形容词“逻辑的”、“架构的”、或“软件可见的”将用于指示在寄存器架构中的寄存器/文件,而不同的形容词将用于指定给定微架构中的寄存器(例如,物理寄存器、重新排序缓冲器、隐退寄存器、寄存器池)。2.TLB一致性在共享存储器系统中,高速缓存和TLB二者需要保持一致,以便对所有线程提供存储器的相同视图。针对TLB需要维持一致性的主要原因之一是,如果两个不同的CPU针对同一页具有不同的地址转换,则难以保持整体数据状态一致。如果页表条目(PTE)很少改变,保持TLB一致是相对容易得到,就像现在的情况一样。当前系统使用由立即TLB击落(shootdown)支持的延迟PTE再循环的组合,以用于少数情况。TLB击落非常昂贵,但是是当前系统中以同步方式传播PTE改变的唯一方法。预计PTE改变的频率将在不久的将来增加,这使用于传播PTE改变的更高效机制成为必要。附图说明结合附图,从下面的详细描述中能够获得本专利技术的更好理解,其中:图1A和1B是图示了根据本专利技术的实施例的一般矢量友好指令格式及其指令模板的框图;图2A-D是图示了根据本专利技术的实施例的示范性特定矢量友好指令格式的框图;图3是根据本专利技术的一个实施例的寄存器架构的框图;以及图4A是图示了根据本专利技术的实施例的示范性有序取(fetch)、解码、引退流水线和示范性寄存器重命名、乱序发布/执行流水线两者的框图;图4B是图示了根据本专利技术的实施例,要包括在处理器中的有序取、解码、引退核的示范性实施例和示范性寄存器重命名、乱序发出/执行架构核两者的框图;图5A是单个处理器核及其到管芯上互连网络的连接的框图;图5B图示了根据本专利技术的实施例的图5A中处理器核的一部分的扩展图;图6是根据本专利技术的实施例的单核处理器和带有集成存储器控制器和图形的多核处理器的框图;图7图示了根据本专利技术的一个实施例的系统的框图;图8图示了根据本专利技术的实施例的第二系统的框图;图9图示了根据本专利技术的实施例的第三系统的框图;图10图示了根据本专利技术的实施例的芯片上系统(SoC)的框图;图11图示了根据本专利技术的实施例,与软件指令转换器的使用进行对照来将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图;图12图示了根据本专利技术的一个实施例的架构;图13图示了根据本专利技术的一个实施例由起始器(例如核/代理)和一个或多个其它核/代理转化后备缓冲器(TLB)实现的操作;以及图14图示了利用栅栏操作以确保数据一致性的一个实施例。具体实施方式在下面的描述中,出于解释的目的,陈述了许多特定的细节以便提供下面描述的本专利技术的实施例的详尽理解。然而,本领域的技术人员将明白,可在没有某些这些特定细节的情况下实践本专利技术的实施例。在其它实例中,以框图形式示出已知的结构和装置,以免混淆本专利技术的实施例的基础原理。示范性处理器架构和数据类型指令集包括一个或多个指令格式。给定的指令格式定义各种字段(比特数量、比特位置)以在其它事物中指定要被执行的操作(操作码)和操作数(在其上要执行操作)。一些指令格式通过指令模板(或子格式)的定义被进一步分解。例如,给定的指令格式的指令模板可被定义以具有指令格式的字段的不同子集(包括的字段典型地采用相同顺序,但至少一些具有不同比特位置,因为包括有较少字段)和/或被定义以具有不同地解译的给定字段。因此,ISA的每个指令使用给定的指令格式来表示(并且如果被定义,则采用该指令格式的指令模板中的给定一个)并且包括用于指定操作和操作数的字段。例如,示范性ADD指令具有特定操作码和指令格式,其包括用于指定那个操作码的操作码字段和用于选择操作数的操作数字段(源1/目的地和源2));以及指令流中的该ADD指令的出现将具有选择特定操作数的操作数字段中的特定内容。SIMD扩展的集合(涉及高级矢量扩展(AVX)(AVX1和AVX2)以及使用矢量扩展(VEX)编码方案)已被发布和/或公布(例如见Intel®64和IA-32架构软件开发者手册(ArchitecturesSoftwareDevelopersManual),2011年10月;以及见Intel®高级矢量扩展编程参考(AdvancedVectorExtensionsProgrammingReference),2011年6月)。示范性指令格式本文描述的指令的实施例可以采用不同格式实施。此外,示范性系统、架构和流水线在下文被详述。指令的实施例可在这样的系统、架构和流水线上执行,但不限于详述的那些。A.一般矢量友好指令格式矢量友好指令格式是适合用于矢量指令的指令格式(例如特定于矢量操作存在某些字段)。虽然描述了实施例,其中通过矢量友好指令格式支持矢量和标量两者操作,但备选实施例仅使用矢量友好格式的矢量操作。图1A-1B是框图,其示出根据本专利技术的实施例的一般矢量友好指令格式和其指令模板。图1A是框图,其示出根据本专利技术的实施例的一般矢量友好指令格式和其类别A指令模板;而图1B是框图,其示出根据本专利技术的实施例的一般矢量友好指令格式和其类别B指令模板。具体地,对于一般矢量友好指令格式100,定义了类别A和类别B指令模板,它们两者包括无存储器访问105指令模板和存储器访问120指令模板。矢量友好指令格式的上下文中的术语“一般”指的是指令格式不被束缚于任何特定指令集。虽然本专利技术的实施例将被描述,其中矢量友好指令格式支持以下项:带有32比特(4字节)或64比特(8字节)数据元素宽度(或大小)的64字节矢量操作数长度(或大小)(并且因此,64字节矢量由16个双字大小元素或备选地8个四字大小元素组成);带有16比特(2字节)或8比特(1字节)数据元本文档来自技高网...

【技术保护点】
1.一种处理器,包括:多个核,所述多个核用于执行指令和处理数据;一个或多个转化后备缓冲器(TLB),包括多个条目,所述一个或多个转化后备缓冲器用于在执行所述指令时高速缓存供所述多个核中的至少一个核可用的虚拟到物理地址转化;以及页表条目(PTE)无效电路,所述页表条目(PTE)无效电路用于在第一核上执行PTE无效指令,以使其它核的TLB中的第一PTE无效,所述PTE无效电路响应于所述PTE无效指令的执行,响应地确定需要被通知所述PTE无效的其它核的其它TLB的数量、将PTE无效消息传送给所述其它TLB,以及等待响应。

【技术特征摘要】
【国外来华专利技术】2016.04.01 US 15/0889851.一种处理器,包括:多个核,所述多个核用于执行指令和处理数据;一个或多个转化后备缓冲器(TLB),包括多个条目,所述一个或多个转化后备缓冲器用于在执行所述指令时高速缓存供所述多个核中的至少一个核可用的虚拟到物理地址转化;以及页表条目(PTE)无效电路,所述页表条目(PTE)无效电路用于在第一核上执行PTE无效指令,以使其它核的TLB中的第一PTE无效,所述PTE无效电路响应于所述PTE无效指令的执行,响应地确定需要被通知所述PTE无效的其它核的其它TLB的数量、将PTE无效消息传送给所述其它TLB,以及等待响应。2.根据权利要求1所述的处理器,进一步包括:锁定电路,所述锁定电路用于允许线程锁定第一TLB中的第一PTE,以确保一次只能够有一个线程修改所述第一PTE,其中所述第一TLB将在所述线程获取所述锁定时修改所述第一PTE;以及所述锁定电路响应于接收来自所有其它TLB的响应而释放所述第一PTE的所述锁定。3.根据权利要求2所述的处理器,其中所述锁定电路将用于实现互斥操作,以获取所述第一PTE上的所述锁定。4.根据权利要求2所述的处理器,其中每个TLB包括PTE无效请求处置电路,所述PTE无效请求处置电路用于接收从其它TLB传送的无效请求,所述无效请求处置电路响应地促使所述TLB使在所述无效请求中标识的一个或多个PTE无效,并传送指示所述无效的响应。5.根据权利要求4所述的处理器,进一步包括:无效PTE状态机电路,所述电路编程有一个最初设置为需要被通知的其它TLB的数量的计数值,所述无效PTE状态及电路在接收到来自每个所述其它TLB的每个响应时递减所述计数值,当所述计数值已经递减到阈值时,所述锁定电路释放所述锁定。6.根据权利要求5所述的处理器,其中掩码值将用于唯一地标识要被通知的每个所述其它TLB。7.根据权利要求1所述的处理器,进一步包括:每个所述其它核的栅栏指令逻辑,所述栅栏指令逻辑用于在指令流中插入栅栏操作,以使所述其它核的流水线中的任何指令等待,直到所述栅栏操作引退,然后才访问每个所述其它核的所述TLB。8.根据权利要求7所述的处理器,其中将仅在所述栅栏操作已经引退之后才从所述其它核的所述TLB发送所述响应。9.一种方法,包括:在执行指令时高速缓存在转化后备缓冲器(TLB)中供一组一个或多个核可用的多个虚拟到物理地址转化;锁定所述TLB中的第一页表条目(PTE),以确保一次只能够有一个线程修改第一PTE,其中所述TLB将在获取所述锁定时修改所述第一PTE;在第一核上执行PTE无效指令以使其它核的其它TLB中的所述第一PTE无效,所述PTE无效电路响应于所述PTE无效指令的执行,响应地确定需要被通知所述PTE无效的其它核的其它TLB的数量、向所述其它TLB传送PTE无效消息,并等待响应;以及响应于接收来自所有所述其它TLB的响应,释放所述第一PTE上的所述锁定。10.根据权利要求9所述的方法,其中所述锁定电路将用于实现互斥操作以获取所述第一PTE上的所述锁定。11.根据权利要求9所述的方法,其中每个TLB包括PTE无效请求处置电路,所述PTE无效请求处置电路用于接收从其它TLB传送的无效请求,所述无效请求处置电路响应地促使所述TLB使在所述无效请求中标识的一个或多个PTE无效,并传送指示...

【专利技术属性】
技术研发人员:KA多希CJ休格斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1