经由领域隔离进行的逻辑资源分区操作的制作方法

文档序号:33544103发布日期:2023-03-22 09:38阅读:39来源:国知局
1.本公开总体上涉及电子学领域。更具体地,实施例涉及经由领域(realm)隔离进行的逻辑资源分区操作(partitioning)。
背景技术
::2.核心计数非常大的众核心处理器需要用于隔离系统管理软件中的漏洞和脆弱性的影响的机制。目前,此类处理器可支持使用系统管理软件(诸如,虚拟机监测器(virtualmachinemonitor,vmm))的单个实例。因此,可管理大量工作负荷的系统软件的该单个实例成为单点故障;并且此类故障可潜在地影响系统中的全部活动的工作负荷。3.此外,在其中云服务提供商向个人客户提供专用硬件资源的使用模型变得不切实际,因为核心计数增加超过个人客户的要求。附图说明4.参考所附附图提供详细描述。在附图中,附图标记最左边的(一个或多个)数字标识该附图标记在其中首次出现的附图。相同的附图标记在不同附图中的使用指示类似或相同的项。5.图1图示出根据实施例的具有存储器的单片式处理器如何被划分为若干分区的框图。6.图2a和图2b图示出根据一些实施例的处理器核心和存储器能够如何被隔离的框图。7.图3图示出根据实施例的系统的框图,该系统利用经由领域隔离进行的逻辑资源分区操作。8.图4图示出根据实施例的领域感知iommu(input-outputmemorymanagementunit,输入-输出存储器管理单元)的框图。9.图5图示出根据实施例的用于经由领域隔离提供逻辑资源分区操作的方法的流程图。10.图6a是图示出根据实施例的示例性有序管线以及示例性寄存器重命名、乱序发出/执行管线两者的框图。11.图6b是图示根据实施例的要包括在处理器中的有序体系结构核心的示例性实施例和示例性的寄存器重命名、乱序发出/执行体系结构核心两者的框图。12.图7图示根据实施例的soc(systemonchip,片上系统)封装的框图。13.图8是根据实施例的处理系统的框图。14.图9是根据一些实施例的具有一个或多个处理器核心的处理器的实施例的框图。15.图10是根据实施例的图形处理器的框图。具体实施方式16.在下列描述中,阐述了众多特定细节以便提供对各实施例的透彻理解。然而,在没有这些特定细节的情况下,也可实施各实施例。在其他实例中,未详细描述公知的方法、过程、组件和电路,以免使特定实施例变得模糊。此外,实施例的各方面可使用各种手段来执行,诸如集成半导体电路(“硬件”)、组织成一个或多个程序的计算机可读指令(“软件”)、或硬件与软件的某种组合。出于本公开的目的,对“逻辑”的引用将意指硬件(诸如,逻辑电路系统或更一般地说,电路系统或电路)、软件、固件或它们的某种组合。17.如上所述,管理大量工作负荷的系统软件的单个实例(例如,vmm)成为单点故障;并且,此类故障可潜在地影响系统中的全部活动的工作负荷。此外,在其中云服务提供商向个人客户提供专用硬件资源(诸如,处理器、存储器、输入/输出(input/output,io)设备(也称为裸金属实例))(例如,为了提供更好的安全性和可用性保证)的使用模式变得不切实际,因为核心计数超过个人客户的要求。18.为了解决这些问题,一些实施例提供了一种或多种经由领域隔离进行的逻辑资源分区操作的技术。如本文所述,“领域”通常是指将一个或多个组件分组到独立的执行环境中。在实施例中,提供用于众核心处理器的逻辑分区操作方案,其允许存在多个系统管理软件实例,每个实例潜在地由完全独立的实体控制。这进而限制了单个系统软件实例中的漏洞或故障的影响,并允许多个完整的裸金属栈(例如,vmm、其虚拟机(vm)及其工作负荷)共存,同时仍然保证它们之间的严格的(例如,操作)隔离。19.此外,在多个独立的vmm实例之间对处理器进行分区的问题是真正感兴趣的,部分原因是管理大核心计数处理器上的全部工作负荷单个vmm增加潜在漏洞和脆弱性的冲击半径(或受潜在漏洞和脆弱性影响的核心的数量)。产生的更新和重新引导影响需要在更新/重新引导之前迁移所有工作负荷的大量的核心/工作负荷。此外,现代处理器中增长的核心计数使其难以按原样用于裸金属/专用实例。因此,对将大量核心分区为更小的组并将每个此类组指派给作为裸金属实例的不同客户技术非常感兴趣。本文描述的一个或多个实施例启用了此类用途。20.此外,一个或多个实施例还可以启用新特征,诸如,针对tdx的存储器热插拔(受信任域扩展,诸如加利福尼亚州圣克拉拉市的英特尔公司提供)、针对需要完全系统拆解的无引导更新等。21.图1图示出根据实施例的具有存储器的单片式处理器能够如何被划分为若干逻辑分区的框图。如图1所示,具有存储器102的单片式处理器(具有多个处理器核心101)被分区为具有存储器104的粗分区的处理器。虽然存储器被示出为dram(dynamicrandomaccessmemory,动态随机存取存储器),但可以使用其他类型的存储器,诸如,参考图6a及其以后讨论的存储器,包括例如静态随机存取存储器(staticrandomaccessmemory,sram)、闪存存储器、三维交叉点存储器(3-dimensionalcrosspointmemory,3dxpoint,诸如pcm(phasechangememory,相变存储器))、电阻随机存取存储器、磁阻ram、自旋转移力矩ram(spintransfertorqueram,sttram)等。22.参考图1,硬件分区106、108、110和112可以作为独立系统进行管理。例如,每个分区可被视为等同于裸金属实例(例如,能够运行csp的vmm)。因此,软件漏洞和脆弱性的负面影响可被遏制或至少被减少。每个分区可以被独立地更新和管理。软件移交(handoff)可以实现跨分区的工作负荷/核心/存储器的转变。分区还可用于通过以下方式来增强系统ras(可靠性、可用性和可维护性):允许故障核心或存储器区域被重新分配/隔离/向外映射到未使用的“非活动”分区,从而有效地将它们从可用系统资源的池中移除。同样,安全监测器可在引导时选择最初将某些核心或存储器分配给未使用的“备用”分区,然后根据需要将它们重新分配到其他分区,以替换不再可靠地操作的其他核心或存储器。例如,这可以通过安全监测器预留该安全监测器从不分配给其他分区的核心集因此这些核心集从不对其他分区可见来完成。这些核心可以保持空闲(例如,处于低功率状态或待机状态),或者由监测器本身使用以获得更好的性能,直到被重新分配以弥补其他故障核心。23.图2a和图2b图示出根据一些实施例的处理器核心和存储器能够如何被隔离的框图。更具体地,这些附图示出了如何能够在多个共存的vmm和/或裸金属os(operatingsystem,操作系统)之间实现核心和存储器隔离。在所示的示例中,图2a图示出轻量级逻辑分区/领域(例如,中间步骤),并且图2b图示出领域感知cpu(centralprocessingunit,中央处理单元)或处理器。24.至少一个实施例限制了vmm或os中的漏洞或脆弱性的影响,并防止它们影响平台上的所有工作负荷(并因此影响所有线程/核心)。如本文所讨论,引用vmm、os或裸金属实例/os旨在指系统软件栈或独立软件栈。这与当前的情况不同,在当前的情况下,单个vmm管理整个平台,因此是单点故障,并且单个错误可以破坏跨潜在地数百个核心/线程的所有运行工作负荷。此外,实施例允许针对多个vmm206和/或裸金属实例208的逻辑核心分区支持202和粗粒度的存储器分区204在同一硬件210上共存。这些不同的、被隔离的部分(例如,软件栈)可潜在地属于不同的客户/用户,并且可以完全彼此独立地操作。因此,使给定vmm或裸金属实例崩溃的漏洞/脆弱性将不影响由其他vmm或裸金属实例管理的工作负荷。25.在图2a、图2b、图3和图4中,为了易于参考,同一分区/领域中的项用a、b、c和d标记。如在图2b的(a)处所示,每个核心212在任何给定时间点都会属于单个领域。核心领域的此指派由安全监测器逻辑214完成(如图2a中和2b的(b)处所示)。如图2a所示,安全监测器214可以在任何核心上运行,并使用专用领域(例如,如单独的框所示(即,与vmm和裸金属os领域共存))。每个领域都可以构成自身的逻辑一致性域。26.参考图2b的(b)处,跨领域转变/通信(其应当是罕见的)由安全监测器214调解/管理/促进。领域间转变/通信可以通过用于该领域的正确/相对应的vmm/os(例如,自动地)执行。27.在一个实施例中,如图2b的(c)处所示,处理器间中断(inter-processorinterrupt,ipi)216(例如,仅可用于安全监测器214)可以迫使其他处理器核心转变领域。在实施例中,处理器核心218可以专门用于安全监测器214,以保证可用性。或者,处理器核心可以周期性地临时被分配给安全监测器214(例如,经由看门狗进程或周期性的基于计时器的中断)。28.图3图示出根据实施例的系统300的框图,该系统300利用经由领域隔离进行的逻辑资源分区操作。系统300包括与参考图1-图2b讨论的那些组件相同或相似的组件。例如,安全监测器逻辑214可以使用引用a-d直接将设备指派给每个领域,如图3所示,引用a-d指将各种直接指派的设备分组到相对应的领域206。在至少一个实施例中,每个领域206中的vmm或os可在无需来自安全监测器逻辑214的运行时支持的情况下独立地管理其设备。29.参考图3,硬件302支持领域206的逻辑分区操作。为了提供允许多个(例如,一致性)领域206的共存的领域分离/隔离框架303,领域之间的隔离通过使用领域标识符(realmidentifier,rid)被维护在处理器核心、缓存和存储器中,该rid可与所有物理或系统地址流动(或以其他方式被传递或可用),并用于标记系统中的数据缓存。针对特定存储器地址的正确的参考rid(ridref)被存储在由安全监测器逻辑214编程的访问控制数据结构304中。在一个实施例中,访问控制数据结构304被实现为一个或多个表。在实施例中,访问控制数据结构304位于与安全监测器逻辑214相同的领域中(例如,如图3所示),但实施例不限于此,并且访问控制数据结构304可位于系统中的其他地方,诸如图3及其后所示的那些地方。此数据结构由硬件和/或软件使用/访问来确定系统资源(例如,存储器、缓存行等)的所有权,以便确保源自给定领域的请求仅被允许访问属于同一领域的资源。30.硬件302包括领域感知处理器(或cpu)306。在实施例中,每个存储器事务都与请求rid(ridreq)相关联。在另一个实施例中,每个硬件线程(例如,逻辑处理器)根据其执行上下文与rid相关联,该执行上下文被维护在当前rid(ridcurr)寄存器308中。如本文所讨论,“逻辑处理器”通常是指任务或线程可被指派给的处理器线程或处理器核心。在一些实施例中,单个物理处理器核心能够同时处置多个线程(诸如,具有超线程的一些英特尔处理器)。虽然寄存器308被示为可选地位于安全监测器领域310和/或硬件302中,但寄存器308可位于可由安全监测器214访问的其他地方。逻辑处理器可被增强以支持多个vmm。这允许每个逻辑处理器随着时间的推移和/或在运行时期间被指派给任何领域。31.除安全监测器领域310外,每个领域206可用于运行完全独立的vmm,该完全独立的vmm进而可以运行其自身的vm,如图所示。在实施例中,安全监测器领域310是具有特权的,并且用于安全地管理和隔离属于所有其他领域的软件,如本文进一步所述。32.安全监测器领域310作为系统中所有其他领域的对等体操作,并充当系统的特权软件tcb(trustedcomputingbase,受信任计算基)的关键组件。因此,安全监测器领域310(或安全监测器逻辑214)可以配置包含针对每个物理存储器地址的ridref的访问控制结构304(例如,在存储器或其他存储介质中,诸如参考图6a及其以后讨论的那些)。系统可支持以多个粒度维护这些信息,并且所支持的粒度可能因实现方式而异。在一些实现方式中,ridref指派粒度预计匹配所支持的页大小(例如,4kb、2mb和/或1gb)中的一个或多个。33.如参考图2b所讨论,跨领域转变由安全监测器逻辑214调解。由vmm_entry(vmm_进入)和vmm_exit(vmm_退出)请求/指令/操作表示的特殊转变可用于控制安全监测器逻辑214与在不同领域内运行的vmm之间的转移。在(一个或多个)vmm_entry操作(例如,进入vmm)期间,处理器306可以在ridcurr寄存器308中配置与目标执行上下文相对应的rid。类似地,在(一个或多个)vmm_exit操作(例如,退出vmm)期间,ridcurr被(例如,被处理器306)重新编程有安全监测器领域310的rid。在一些实施例中,针对每个逻辑处理器有一个ridcurr寄存器,并且其值用于标记由该处理器上运行的软件生成的所有存储器转变。34.除了vmm_entry和vmm_exit指令外,ridcurr仅还能由安全监测器逻辑214本身直接修改。这允许安全监测器逻辑214访问属于系统中的所有领域的存储器。vmm与其vm之间的vm_entry和vm_exit指令/操作不影响ridcurr值。或者,处理器306可被增强以在无需安全监测器逻辑214干预的情况下直接支持各个领域之间的转变。在该情况下,处理器306对跨转变的ridcurr进行编程,以确保传入的vmm/领域具有对正确的资源集(例如,存储器、中断等)的访问权。35.在简化的io模型中,安全监测器逻辑214还排他地将整个硬件设备指派给实施例中的单个领域。在另一个实施例中,安全监测器逻辑214允许多个领域通过以设备暴露的各个可指派接口的粒度分配来共享给定设备。在后一种情况下,安全监测器逻辑214(或领域310)仍然负责设备的管理(例如,管理具有虚拟化能力的外围组件接口快速(peripheralcomponentinterfaceexpress,pcie)设备的物理功能)。支持这些模型中的任一模型依赖于使用领域感知iommu(input-outputmemorymanagementunit,输入输出存储器管理单元),如本文将进一步讨论。36.更具体地,硬件302包括领域感知iommu312,如图3所示。在实施例中,每一个存储器事务包括ridreq作为请求的一部分,并且iommu在存储器转换处理期间解析rid。在简化的模型(其中整个设备被指派给单个领域)中,iommu在安全监测器逻辑214的帮助下跟踪哪些总线:设备对映射到哪个领域。如本文中所讨论,“总线:设备”通常是指设备在许多可用的物理总线(例如,pcie中所使用)上的物理位置。更具体地,安全监测器逻辑214可以通过扩展现有的iommu数据结构(例如,上下文表)或通过为iommu创建全新的数据结构用于解析来配置设备与其领域之间的映射。对于针对存储器的每一个传入io事务,iommu312查找rid并将其作为存储器请求的一部分转发(或将其存储在可由安全监测器逻辑214访问的存储单元中)。任何现有的缓存(例如,上下文缓存)可被扩展以保存rid。类似地,如果使用新的数据结构来维护设备与rid之间的映射,则新的缓存可以被添加到iommu312以存储该信息,从而获得优化的性能。37.在另一个实施例中,安全监测器逻辑214维护每个设备的不同的可指派接口与其被指派给的领域之间的映射。这可以通过扩展现有iommu数据结构(例如,pasid(physicaladdressspaceidentifier,物理地址空间标识符)表条目)或通过添加iommu可用于确定该映射的全新数据结构来实现。相对应的缓存(例如,pasid缓存)可被扩展以保存rid,或者新的缓存可以被添加以存储该映射信息。38.如图3中所示,硬件302也可包括领域感知中断递送子系统314。由于中断提供了处理器可以通过其相互交互以及与共享外部设备交互的机制,因此经逻辑分区的系统300为安全监测器逻辑214提供了控制系统内中断的发送和/或递送的能力。39.更具体地,在一些实施例中,领域感知中断子系统314(其也可以称为领域感知中断递送系统)支持三类中断。第一,本地中断响应于在逻辑处理器的上下文中发生的事件(例如,计时器或性能监测)而被生成。这些中断被递送到触发它们的逻辑处理器。因此,本地中断自然地路由到正确的rid,因此由逻辑分区体系结构施加的唯一特殊要求是安全监测器逻辑214确保所有相对应的中断(例如,apic(advancedprogrammableinterruptcontroller,高级可编程中断控制器)lvt(localvectortable,本地向量表))条目被禁用,并且在发起领域切换之前,任何待决的本地中断都已被递送到当前领域。40.第二,根据现有的apic硬件,处理器间中断(ipi)从任何逻辑处理器发送到系统中的任何其他逻辑处理器。为了提供跨领域的ipi隔离,apic硬件可被扩展,使得安全监测器逻辑214可以阻止跨领域的中断的发送和/或递送。选项包括:(1)ipi总是触发向安全监测器逻辑214的领域切换,该安全监测器逻辑214然后负责适当地递送ipi;(2)安全监测器逻辑214用被指派给同一领域的apicid的列表(例如,比特向量)性来配置每个逻辑处理器上的apic,其中包含分配给同一领域的apicid列表(例如,比特向量)(将ipi发送到不本包括在此列表中的逻辑处理器的任何尝试都被阻止;可选地,导致错误/信号生成);和/或(3)ipi与发起处理器的ridcurr的副本一起被发送。当在目的地apic处接收到时,将中断的源ridcurr与接收方的ridcurr进行比较(如果它们匹配,则ipi被递送;否则,ipi被丢弃,并且可能例如利用所生产的错误信号被记录为错误)。41.第三,外部中断可由io设备生成。也就是说,除了存储器请求外,io设备还可以生成中断请求。与io存储器请求一样,安全监测器逻辑214确保来自外部io设备的中断请求被路由到适当的领域。这可以通过两种方式完成:(1)安全监测器逻辑214可以对中断重映射表(interruptremappingtable,irt)编程,以包含正确的rid以及目的地id作为每一个条目的一部分。当iommu312取得(fetch)中断,并向目的地处理器发出中断时,处理器进而首先切换到正确的领域,然后处置中断。或者,可存在处置针对该领域的中断的每一个领域中或被指派给处置针对该领域的中断的每一个领域的一个或多个指定的逻辑处理器,并且安全监测器逻辑214可以对每个irt条目进行编程,以基于条目所属的领域来针对正确的逻辑处理器。(2)安全监测器逻辑214可以针对每个领域维护一个中断重映射表。然后,安全监测器逻辑214通过预留高比特用作rid而在各个领域之间划分可用的中断向量空间。每当中断发生时,这些高比特被用于决定要索引哪个中断重映射表以供进一步中断处理。iommu312可以实现额外的逻辑,以确保仅属于给定领域的设备才能生成到该领域中的中断。这可以通过使用安全监测器逻辑214(或其他逻辑)来维护系统中每一个设备的所有者领域并检查由每个设备生成的中断在正确的范围内来实现。42.ipi和外部中断也可以由专用中断处置器领域(未示出)处置,该专用中断处置器领域负责将中断路由到它们正确的目的地领域。在该情况下,任何ipi或外部中断都会引起向中断处置器领域的切换,该中断处置器领域进而会将控制转移到正确的目的地领域来处置该中断。43.图4图示出根据实施例的领域感知iommu(输入-输出存储器管理单元)400的框图。在一个实施例中,iommu400与图3的领域感知iommu312相同或相似。44.安全监测器对新的iommu结构进行编程,以将耦合到iommu400的总线或互连上的每个设备指派给领域。在实施例中,每个vmm/os为其拥有或支持的设备建立vt-d(用于定向io的虚拟化技术,例如,由加利福尼亚州圣克拉拉市的英特尔公司提供)结构。iommu可以使用总线:设备到领域映射来决定要遍历(walk)或审查哪些vmm结构。45.恶意vmm可以:(1)为它不拥有的器件设立虚假结构,但这些虚假结构将从不被iommu遍历(例如,因为安全监测器维护总线:器件领域映射,因此当请求被接收时,该请求中的字段被使用来标识合法的领域所有者,并且该所有者的表被遍历,因此来自恶意vmm的虚假结构从不被遍历);和/或(2)映射不属于它的存储器,但本文所描述的存储器隔离框架防止跨领域存储器访问。46.图5图示出根据实施例的用于经由领域隔离提供逻辑资源分区操作的方法500的流程图。方法500的操作中的一个或多个操作可以由参考图1-图4和/或如下文进一步讨论的图6a-图10讨论的组件执行。47.参考图1至图5,操作502确定逻辑资源是否要被分区(例如,响应于可以经由命令或指令而被引导向本文讨论的处理器中的一个处理器的对分区请求而被执行)。如果分区操作未被请求,操作504在不进行分区的情况下执行(一个或多个)任务;否则,操作506(例如,由处理器306执行)生成多个逻辑领域(诸如,领域206)。48.操作508(例如,由处理器306和/或逻辑214执行)确定是否存在对在操作506处生成的多个领域中的一个领域的访问权,并且如果是,则操作510(例如,由逻辑214执行)确定访问是否被允许。如果访问不被允许,则操作512例如通过生成错误信号来拒绝访问;否则,操作514(例如,由安全逻辑214执行)根据相对应rid将访问路由到正确的领域,诸如参考图3所讨论的。49.相对应地,一个或多个实施例包括以下组件中的一个或多个组件:(1)允许同一平台上多个领域的共存的领域分离框架;(2)同时支持多个vmm和/或os的存在的领域感知处理器/核心(在处理器/核心上执行的每个线程可能属于不同的领域,并且因此其由不同的vmm或os管理);(3)(具有安全监测器逻辑的)安全监测器领域,其配置用于领域分离的访问控制结构配置和由iommu用来实施用于io事务的领域分离的io数据结构,这些访问控制结构包括(一个或多个)表,这(一个或多个)表包含存储器区域到它们的被指派的rid的映射;(4)领域感知iommu,其被增强以解析用于针对存储器的传入io事务的rid;和/或(5)领域感知中断递送系统,其确保各种中断被正确地路由到它们各自的领域。50.此外,使用管理程序创建逻辑分区的解决方案主要被设计成用于在诸如微软和之类的操作系统上运行。使用它们运行vmm/管理程序将需要使用嵌套虚拟化,这在复杂性和性能方面不是高效的。此外,与多管理程序(有时也称为“multihype(多管程)”)解决方案不同,至少一个实施例允许核心向不同领域的灵活和/或动态的指派。事实上,各实施例使属于不同领域的独立的执行线程能够在单个核心上运行。这与在其中核心向领域的映射是静态的且更粗粒度的多管理程序实现方式形成对比。为了实现这种灵活性,一个或多个实施例包括处理器扩展(例如,安全监测器逻辑214和/或本文参考图1及其后讨论的其他组件),以支持使用多个管理程序,并确保任何vm与其底层vmm/领域之间的绑定。51.另外,一些实施例可应用于计算系统中,该计算系统包括诸如参考图1及以下各图讨论的那些处理器之类的一个或多个处理器(例如,其中,该一个或多个处理器可包括一个或多个处理器核心),该计算系统包括例如桌面型电脑、工作站、计算机服务器、服务器刀片、或移动计算设备。移动计算设备可包括智能电话、平板、umpc(超移动个人计算机)、膝上型电脑、超级本tm计算设备、可穿戴设备(诸如,智能手表、智能指环、智能手环、或智能眼镜)等。示例性核心体系结构、处理器和计算机体系结构52.处理器核心能以不同方式、出于不同的目的、并且在不同的处理器中实现。例如,此类核心的实现方式可包括:1)旨在用于通用计算的通用有序核心;2)旨在用于通用计算的高性能通用乱序核心;3)旨在主要用于图形和/或科学(吞吐量)计算的专用核心。不同处理器的实现方式可包括:1)cpu(中央处理单元),其包括旨在用于通用计算的一个或多个通用有序核心和/或旨在用于通用计算的一个或多个通用乱序核心;以及2)协处理器,其包括旨在主要用于图形和/或科学(吞吐量)的一个或多个专用核心。此类不同的处理器导致不同的计算机系统体系结构,这些计算机系统体系结构可包括:1)在与cpu分开的芯片上的协处理器;2)在与cpu相同的封装中但在分开的管芯上的协处理器;3)与cpu在相同管芯上的协处理器(在该情况下,此类协处理器有时被称为专用逻辑或被称为专用核心,该专用逻辑诸如,集成图形和/或科学(吞吐量)逻辑);以及4)片上系统,其可以将所描述的cpu(有时被称为(一个或多个)应用核心或(一个或多个)应用处理器)、以上描述的协处理器和附加功能包括在同一管芯上。接着描述示例性核心体系结构,随后描述示例性处理器和计算机体系结构。示例性核心体系结构53.图6a是图示出根据实施例的示例性有序管线以及示例性寄存器重命名、乱序发出/执行管线两者的框图。图6b是图示根据实施例的要包括在处理器中的有序体系结构核心的示例性实施例和示例性的寄存器重命名、乱序发出/执行体系结构核心两者的框图。图6a-图6b中的实线框图示有序管线和有序核心,而虚线框的任选的增加图示寄存器重命名、乱序发出/执行管线和核心。考虑到有序方面是乱序方面的子集,将描述乱序方面。54.在图6a中,处理器管线600包括取得(fetch)阶段602、长度解码阶段604、解码阶段606、分配阶段608、重命名阶段610、调度(也被称为调遣或发出)阶段612、寄存器读取/存储器读取阶段614、执行阶段616、写回/存储器写入阶段618、异常处置阶段622和提交阶段624。55.图6b示出处理器核心690,该处理器核心690包括前端单元630,该前端单元630耦合到执行引擎单元650,并且前端单元630和执行引擎单元650两者都耦合到存储器单元670。核心690可以是精简指令集计算(reducedinstructionsetcomputing,risc)核、复杂指令集计算(complexinstructionsetcomputing,cisc)核、超长指令字(verylonginstructionword,vliw)核、或混合或替代的核类型。作为又一选项,核心690可以是专用核心,诸如例如,网络或通信核心、压缩引擎、协处理器核心、通用计算图形处理单元(generalpurposecomputinggraphicsprocessingunit,gpgpu)核心、图形核心,等等。56.前端单元630包括分支预测单元632,该分支预测单元632耦合到指令缓存单元634,该指令缓存单元634耦合到指令转译后备缓冲器(translationlookasidebuffer,tlb)636,该指令转译后备缓冲器636耦合到指令取得单元638,该指令取得单元638耦合到解码单元640。解码单元640(或解码器)可对指令解码,并且生成从原始指令解码出的、或以其他方式反映原始指令的、或从原始指令导出的一个或多个微操作、微代码进入点、微指令、其他指令、或其他控制信号作为输出。解码单元640可使用各种不同的机制来实现。合适的机制的示例包括但不限于查找表、硬件实现、可编程逻辑阵列(programmablelogicarray,pla)、微代码只读存储器(readonlymemory,rom)等。在一个实施例中,核心690包括用于存储用于某些宏指令的微代码的微代码rom或其他介质(例如,在解码单元640中或以其他方式在前端单元630内)。解码单元640耦合到执行引擎单元650中的重命名/分配器单元652。57.执行引擎单元650包括重命名/分配器单元652,该重命名/分配器单元652耦合到引退单元654和一个或多个调度器单元的集合656。(一个或多个)调度器单元656表示任何数量的不同调度器,包括预留站、中央指令窗等。(一个或多个)调度器单元656耦合至(一个或多个)物理寄存器堆单元658。(一个或多个)物理寄存器堆单元658中的每一个物理寄存器堆单元表示一个或多个物理寄存器堆,其中不同的物理寄存器堆存储一种或多种不同的数据类型,诸如,标量整数、标量浮点、紧缩(packed)整数、紧缩浮点、向量整数、向量浮点、状态(例如,作为要执行的下一指令的地址的指令指针)等。在一个实施例中,(一个或多个)物理寄存器堆单元658包括向量寄存器单元、写入掩码寄存器单元和标量寄存器单元。这些寄存器单元可以提供体系结构向量寄存器、向量掩码寄存器和通用寄存器。(一个或多个)物理寄存器堆单元658由引退单元654重叠,以图示可实现寄存器重命名和乱序执行的各种方式(例如,使用(一个或多个)重排序缓冲器和(一个或多个)引退寄存器堆;使用(一个或多个)未来的堆、(一个或多个)历史缓冲器、和(一个或多个)引退寄存器堆;使用寄存器图谱和寄存器池,等等)。引退单元654和(一个或多个)物理寄存器堆单元658耦合到(一个或多个)执行集群660。(一个或多个)执行集群660包括一个或多个执行单元的集合662以及一个或多个存储器访问单元的集合664。执行单元662可执行各种操作(例如,移位、加法、减法、乘法)并可对各种数据类型(例如,标量浮点、紧缩整数、紧缩浮点、向量整数、向量浮点)执行。尽管一些实施例可以包括专用于特定功能或功能集合的多个执行单元,但是其他实施例可包括仅一个执行单元或全都执行所有功能的多个执行单元。(一个或多个)调度器单元656、(一个或多个)物理寄存器堆单元658和(一个或多个)执行集群660示出为可能有多个,因为某些实施例为某些类型的数据/操作创建分开的管线(例如,标量整数管线、标量浮点/紧缩整数/紧缩浮点/向量整数/向量浮点管线,和/或各自具有其自身的调度器单元、(一个或多个)物理寄存器堆单元和/或执行集群的存储器访问管线——并且在分开的存储器访问管线的情况下,实现其中仅该管线的执行集群具有(一个或多个)存储器访问单元664的某些实施例)。还应当理解,在使用分开的管线的情况下,这些管线中的一个或多个可以是乱序发出/执行,并且其余管线可以是有序的。58.存储器访问单元的集合664耦合到存储器单元670,该存储器单元670包括数据tlb单元672,该数据tlb单元672耦合到数据缓存单元674,该数据缓存单元674耦合到第二级(l2)缓存单元676。在一个示例性实施例中,存储器访问单元664可包括加载单元、存储地址单元和存储数据单元,其中的每一个均耦合到存储器单元670中的数据tlb单元672。指令缓存单元634被进一步耦合到存储器单元670中的第二级(l2)缓存单元676。l2缓存单元676耦合到一个或多个其他级别的缓存,并最终耦合到主存储器。59.作为示例,示例性寄存器重命名、乱序发出/执行核体系结构可如下所述地实现管线600:1)指令取得638执行取得阶段602和长度解码阶段604;2)解码单元640执行解码阶段606;3)重命名/分配器单元652执行分配阶段608和重命名阶段610;4)(一个或多个)调度器单元656执行调度阶段612;5)(一个或多个)物理寄存器堆单元658和存储器单元670执行寄存器读取/存储器读取阶段614;执行集群660执行执行阶段616;6)存储器单元670和(一个或多个)物理寄存器堆单元658执行写回/存储器写入阶段618;6)各单元可涉及异常处置阶段622;以及8)引退单元654和(一个或多个)物理寄存器堆单元658执行提交阶段624。60.核心690可支持一个或多个指令集(例如,x86指令集(具有已与较新版本一起添加的一些扩展);加利福尼亚州桑尼维尔市的mips技术公司的mips指令集;加利福尼亚州桑尼维尔市的arm控股公司的arm指令集(具有诸如neon的可选的附加扩展)),其中包括本文中描述的(一个或多个)指令。在一个实施例中,核心690包括用于支持紧缩数据指令集扩展(例如,avx1、avx2)的逻辑,由此允许使用紧缩数据来执行由许多多媒体应用使用的操作。61.图7图示根据实施例的soc封装的框图。如图7中所图示,soc702包括一个或多个中央处理单元(centralprocessingunit,cpu)核心720、一个或多个图形处理器单元(graphicsprocessorunit,gpu)核心730、输入/输出(i/o)接口740以及存储器控制器742。可将soc封装702的各组件耦合至诸如本文中参考其他附图所讨论的互连或总线。另外,soc封装702可包括更多或更少的组件,诸如本文中参考其他附图所讨论的那些组件。进一步地,soc封装702的每个组件可包括一个或多个其他组件,例如,如参考本文中的其他附图所讨论的组件。在一个实施例中,在一个或多个集成电路(integratedcircuit,ic)管芯上提供soc封装702(以及其组件),例如,该一个或多个集成电路管芯被封装到单个半导体器件中。62.如图7中所图示,soc封装702经由存储器控制器742耦合至存储器760。在实施例中,存储器760(或其部分)可以被集成在soc封装702上。63.i/o接口740可例如经由诸如本文中参考其他附图所讨论的互连和/或总线而耦合至一个或多个i/o设备770。(一个或多个)i/o设备770可包括以下各项中的一项或多项:键盘、鼠标、触摸板、显示器、图像/视频捕捉设备(诸如,相机或摄像机/视频录像机)、触摸屏、扬声器等等。64.图8是根据实施例的处理系统800的框图。在各实施例中,系统800包括一个或多个处理器802以及一个或多个图形处理器808,并且可以是单处理器桌面型系统、多处理器工作站系统或具有大量处理器802或处理器核心807的服务器系统。在一个实施例中,系统800是被并入到在移动设备、手持式设备或嵌入式设备中使用的片上系统(system-on-a-chip,soc或soc)集成电路内的处理平台。65.系统800的实施例可以包括以下各项或可被并入在以下各项内:基于服务器的游戏平台、游戏控制台(包括游戏和媒体控制台)、移动游戏控制台、手持式游戏控制台或在线游戏控制台。在一些实施例中,系统800是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统800还可以包括可穿戴设备、与可穿戴设备耦合、或被集成在可穿戴设备内,该可穿戴设备诸如智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备。在一些实施例中,数据处理系统800是电视机或机顶盒设备,该电视机或机顶盒设备具有一个或多个处理器802以及由一个或多个图形处理器808生成的图形界面。66.在一些实施例中,一个或多个处理器802各自包括一个或多个处理器核心807,该一个或多个处理器核心807用于处理指令,这些指令当被执行时,执行用于系统和用户软件的操作。在一些实施例中,一个或多个处理器核心807中的每一个都被配置成用于处理特定的指令集809。在一些实施例中,指令集809可促进复杂指令集计算(cisc)、精简指令集计算(risc)或经由超长指令字(vliw)的计算。多个处理器核心807各自可以处理不同的指令集809,不同的指令集809可包括用于促进对其他指令集的仿真的指令。处理器核心807还可包括其他处理设备,诸如,数字信号处理器(digitalsignalprocessor,dsp)。67.在一些实施例中,处理器802包括缓存存储器804。取决于体系结构,处理器802可具有单个内部缓存或多级的内部缓存。在一些实施例中,缓存存储器在处理器802的各种组件之间被共享。在一些实施例中,处理器802也使用外部缓存(例如,第三级(l3)缓存或最后一级缓存(lastlevelcache,llc))(未示出),可使用已知的缓存一致性技术在处理器核心807之间共享该外部缓存。寄存器堆806附加地被包括在处理器802中,寄存器堆806可包括用于存储不同类型数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器以及指令指针寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可以特定于处理器802的设计。68.在一些实施例中,处理器802耦合至处理器总线810以在处理器802与系统800中的其他组件之间传输通信信号(诸如,地址、数据)或控制信号。在一个实施例中,系统800使用示例性“中枢”系统体系结构,该示例性“中枢”系统体系结构包括存储器控制器中枢816和输入输出(i/o)控制器中枢830。存储器控制器中枢816促进存储器设备与系统800的其他组件之间的通信,而i/o控制器中枢(ich)830提供经由本地i/o总线至i/o设备的连接。在一个实施例中,存储器控制器中枢816的逻辑被集成在处理器内。69.存储器设备820可以是动态随机存取存储器(dram)设备、静态随机存取存储器(sram)设备、闪存设备、相变存储器设备、或具有合适的性能以充当进程存储器的某个其他存储器设备。在一个实施例中,存储器设备820可以作为用于系统800的系统存储器来操作,以存储数据822和指令821用于在一个或多个处理器802执行应用或进程时使用。存储器控制器中枢816也与可选的外部图形处理器812耦合,该可选的外部图形处理器812可与处理器802中的一个或多个图形处理器808通信以执行图形和媒体操作。70.在一些实施例中,ich830使外围设备能够经由高速i/o总线连接到存储器设备820和处理器802。i/o外围设备包括但不限于音频控制器846、固件接口828、无线收发器826(例如,wi-fi、蓝牙)、数据存储设备824(例如,硬盘驱动器、闪存等)以及用于将传统(legacy)(例如,个人系统2(ps/2))设备耦合至系统的传统i/o控制器840。一个或多个通用串行总线(universalserialbus,usb)控制器842连接输入设备(诸如,键盘和鼠标844的组合)。网络控制器834也可以耦合至ich830。在一些实施例中,高性能网络控制器(未示出)耦合至处理器总线810。将会理解,所示的系统800是示例性的而非限制性的,因为也可以使用以不同方式配置的其他类型的数据处理系统。例如,i/o控制器中枢830可被集成在一个或多个处理器802内,或者存储器控制器中枢816和i/o控制器中枢830可被集成到分立的外部图形处理器中,该分立的外部图形处理器诸如外部图形处理器812。71.图9是处理器900的实施例的框图,该处理器900具有一个或多个处理器核心902a至902n、集成存储器控制器914以及集成图形处理器908。图9的具有与本文中的任何其他附图的元件相同的附图标记(或名称)的那些元件可以类似于本文中其他地方描述的任何方式操作或运行,但不限于此。处理器900可包括附加的核心,这些附加的核心多达由虚线框表示的附加核心902n并包括由虚线框表示的附加核心902n。处理器核心902a至902n中的每个处理器核心包括一个或多个内部缓存单元904a至904n。在一些实施例中,每个处理器核心也具有对一个或多个共享缓存单元906的访问权。72.内部缓存单元904a至904n和共享缓存单元906表示处理器900内的缓存存储器层次体系。缓存存储器层次体系可包括每个处理器核心内的至少一个级别的指令和数据缓存以及一个或多个级别的共享的中级缓存,诸如,第二级(l2)、第三级(l3)、第四级(l4)、或其他级别的缓存,其中,在外部存储器之前的最高级别的缓存被分类为llc。在一些实施例中,缓存一致性逻辑维持各种缓存单元906与904a至904n之间的一致性。73.在一些实施例中,处理器900还可包括一个或多个总线控制器单元的集合916和系统代理核心910。一个或多个总线控制器单元916管理外围总线的集合,诸如,一个或多个外围组件互连总线(例如,pci、pci快速(pciexpress))。系统代理核心910提供对各处理器组件的管理功能。在一些实施例中,系统代理核心910包括用于管理对各种外部存储器设备(未示出)的访问的一个或多个集成存储器控制器914。74.在一些实施例中,处理器核心902a至902n中的一个或多个处理器核心包括针对同时多线程操作的支持。在此类实施例中,系统代理核心910包括用于在多线程处理期间对核心902a至902n进行协调和操作的组件。系统代理核心910可附加地包括功率控制单元(powercontrolunit,pcu),该pcu包括用于调节处理器核心902a至902n和图形处理器908的功率状态的逻辑和组件。75.在一些实施例中,处理器900附加地包括用于执行图形处理操作的图形处理器908。在一些实施例中,图形处理器908与共享缓存单元的集合906以及系统代理核心910耦合,该系统代理核心910包括一个或多个集成存储器控制器914。在一些实施例中,显示控制器911与图形处理器908耦合,以将图形处理器输出驱动至一个或多个所耦合的显示器。在一些实施例中,显示控制器911可以是经由至少一个互连而与图形处理器耦合的分开的模块,或者可以集成在图形处理器908或系统代理核心910内。76.在一些实施例中,基于环的互连单元912用于耦合处理器900的内部组件。然而,可以使用替代的互连单元,诸如点到点互连、交换式互连、或其他技术,包括本领域中公知的技术。在一些实施例中,图形处理器908经由i/o链路913而与环形互连912耦合。77.示例性i/o链路913表示各种各样的i/o互连中的至少一者,该i/o互连包括促进各种处理器组件与高性能嵌入式存储器模块918(诸如,edram(或嵌入式dram)模块)之间的通信的封装上i/o互连。在一些实施例中,处理器核心902a至902n和图形处理器908中的每一者都将嵌入式存储器模块918用作共享的最后一级缓存。78.在一些实施例中,处理器核心902a至902n是执行相同的指令集体系结构的同构核心。在另一个实施例中,处理器核心902a至902n就指令集体系结构(instructionsetarchitecture,isa)方面而言是异构的,其中处理器核心902a至902n中的一个或多个执行第一指令集,而其他核中的至少一个核执行第一指令集的子集或不同的指令集。在一个实施例中,处理器核心902a至902n就微体系结构方面而言是异构的,其中具有相对较高的功耗的一个或多个核心与具有较低的功耗的一个或多个功率核心耦合。此外,处理器900可在一个或多个芯片上实现,或者被实现为除其他组件之外还具有所图示的组件的soc集成电路。79.图10是图形处理器1000的框图,该图形处理器1000可以是分立的图形处理单元,或者可以是与多个处理核心集成的图形处理器。在一些实施例中,图形处理器经由到图形处理器上的寄存器的存储器映射的i/o接口并且利用被放置到处理器存储器中的命令进行通信。在一些实施例中,图形处理器1000包括用于访问存储器的存储器接口1014。存储器接口1014可以是至本地存储器、一个或多个内部缓存、一个或多个共享的外部缓存、和/或至系统存储器的接口。80.在一些实施例中,图形处理器1000还包括显示控制器1002,该显示控制器1002用于将显示输出数据驱动到显示设备1020。显示控制器1002包括用于显示器的一个或多个叠加平面以及多层的视频或用户界面元素的合成的硬件。在一些实施例中,图形处理器1000包括用于将媒体编码到一种或多种媒体编码格式、从一种或多种媒体编码格式解码媒体、或在一种或多种媒体编码格式之间对媒体转码的视频编解码器引擎1006,这一种或多种媒体编码格式包括但不限于:移动图像专家组(movingpictureexpertsgroup,mpeg)格式(诸如,mpeg-2)、高级视频译码(advancedvideocoding,avc)格式(诸如,h.264/mpeg-4avc)、以及电影和电视工程师协会(societyofmotionpicture&televisionengineers,smpte)321m/vc-1、和联合图像专家组(jointphotographicexpertsgroup,jpeg)格式(诸如,jpeg、以及运动jpeg(motionjpet,mjpeg)格式)。81.在一些实施例中,图形处理器1000包括块图像传送(blockimagetransfer,blit)引擎1004,用于执行二维(two-dimensional,2d)栅格化器操作,包括例如,位边界块传送。然而,在一个实施例中,使用图形处理引擎(graphicsprocessingengine,gpe)1010的一个或多个组件执行3d图形操作。在一些实施例中,图形处理引擎1010是用于执行图形操作(包括三维(three-dimensional,3d)图形操作和媒体操作)的计算引擎。82.在一些实施例中,gpe1010包括用于执行3d操作的3d管线1012,3d操作诸如使用作用于3d基元形状(例如,矩形、三角形等)的处理函数来渲染三维图像和场景。3d管线1012包括可编程和固定功能元件,该可编程和固定功能元件执行元件内的各种任务和/或生成到3d/媒体子系统1015的执行线程。虽然3d管线1012可用于执行媒体操作,但是gpe1010的实施例还包括媒体管线1016,该媒体管线1016专门用于执行媒体操作,诸如,视频后处理和图像增强。83.在一些实施例中,媒体管线1016包括固定功能或可编程逻辑单元,用于代替、或代表视频编解码器引擎1006来执行一个或多个专业的媒体操作,诸如视频解码加速、视频去隔行、以及视频编码加速。在一些实施例中,媒体管线1016附加地包括线程生成单元以生成用于在3d/媒体子系统1015上执行的线程。所生成的线程在3d/媒体子系统1015中所包括的一个或多个图形执行单元上执行用于媒体操作的计算。84.在一些实施例中,3d/媒体子系统1015包括用于执行由3d管线1012和媒体管线1016生成的线程的逻辑。在一个实施例中,管线向3d/媒体子系统1015发送线程执行请求,该3d/媒体子系统1015包括用于对于对可用的线程执行资源的各种请求进行仲裁和调遣的线程调遣逻辑。执行资源包括用于处理3d线程和媒体线程的图形执行单元的阵列。在一些实施例中,3d/媒体子系统1015包括用于线程指令和数据的一个或多个内部缓存。在一些实施例中,该子系统还包括用于在线程之间共享数据并用于存储输出数据的共享存储器,其包括寄存器和可寻址存储器。85.在以下描述中,陈述了众多特定细节以提供更透彻的理解。然而,对于本领域的技术人员将显而易见的是,可以在没有这些特定细节中的一个或多个细节的情况下实践本文中描述的实施例。在其他实例中,未描述公知的特征以免混淆当前实施例的细节。86.以下示例涉及进一步的实施例。示例1包括一种装置,该装置包括:处理器,该处理器具有多个处理器核心,其中用于被指派给多个处理器核心中的一个处理器核心的逻辑处理器用于执行用于多个逻辑领域中的至少一个逻辑领域的一个或多个操作;以及多个逻辑领域,包括安全监测器领域,其中安全监测器领域包括安全监测器逻辑,该安全监测器逻辑用于维护用于多个逻辑领域中的每个逻辑领域的领域标识符(rid),该安全监测器逻辑用于至少部分基于用于多个逻辑领域中的每个逻辑领域的rid来控制对多个领域中的每个领域的访问权。示例2包括示例1的装置,其中多个逻辑领域包括用于将一个或多个中断路由到它们正确的目的地领域的中断处置器领域。示例3包括示例2的装置,其中一个或多个中断包括:本地中断、外部中断或处理器间中断。示例4包括示例1的装置,进一步包括用于将数据存储在多个分区中的存储器,其中多个分区中的每个分区可以由多个逻辑领域中的单个逻辑领域访问。示例5包括示例1的装置,其中rid以存储器页大小粒度被指派。示例6包括示例1的装置,其中多个逻辑领域包括一个或多个虚拟机监测器(vmm)领域,其中一个或多个vmm领域中的每个vmm领域包括一个或多个虚拟机(vm)。示例7包括示例1的装置,其中安全监测器逻辑用于控制多个逻辑领域之间的任何通信。示例8包括示例7的装置,其中安全监测器逻辑用于响应于vmm进入请求或vmm退出请求而控制多个逻辑领域之间的任何通信。示例9包括示例1的装置,其中每个存储器事务包括请求rid,其中输入-输出存储器管理单元(iommu)用于在处理相对应存储器事务期间解析请求rid。示例10包括示例1的装置,其中多个逻辑领域包括用于提供专用硬件资源的应用领域操作系统领域、裸金属操作系统领域或应用领域。示例11包括示例1的装置,进一步包括访问控制数据结构,该访问控制数据结构用于存储用于多个逻辑领域中的每个逻辑领域的rid。示例12包括示例1的装置,进一步包括寄存器,该寄存器用于存储与逻辑处理器的执行上下文相对应的当前rid。示例13包括示例12的装置,其中当前rid仅能够由安全监测器逻辑修改。示例14包括示例1的装置,其中多个处理器核心中的至少一个处理器核心专门用于执行用于安全监测器逻辑的操作,以周期性地或持久性地保证可用性。示例15包括示例1的装置,其中多个逻辑领域中的一个或多个逻辑领域包括它们自身的一致性领域。示例16包括示例1的装置,包括用于将故障处理器核心与多个处理器核心隔离的逻辑电路系统。示例17包括示例1的装置,包括用于向外映射故障存储器的逻辑电路系统。87.示例18包括一种或多种非瞬态计算机可读介质,该一种或多种非瞬态计算机可读介质包括一个或多个指令,这一个或多个指令当在处理器上执行时将该处理器配置成用于执行一个或多个操作以引起:用于被指派处理器的给多个处理器核心中的一个处理器核心的逻辑处理器执行用于多个逻辑领域中的至少一个逻辑领域的一个或多个操作;多个逻辑领域包括安全监测器领域,安全监测器领域的安全监测器逻辑用于维护用于多个逻辑领域中的每个逻辑领域的领域标识符(rid),该安全监测器逻辑用于至少部分基于用于多个逻辑领域中的每个逻辑领域的rid来控制对多个领域中的每个领域的访问权。示例19包括示例18的一种或多种计算机可读介质,进一步包括一个或多个指令,这一个或多个指令当在至少一个处理器上执行时将该至少一个处理器配置成执行一个或多个操作以引起来自多个逻辑领域的中断处置器领域将一个或多个中断路由到它们正确的目的地领域。示例20包括示例18的一种或多种计算机可读介质,进一步包括一个或多个指令,这一个或多个指令当在至少一个处理器上执行时将该至少一个处理器配置成执行一个或多个操作以引起存储器将数据存储在多个分区中,其中多个分区中的每个分区可以由多个逻辑领域中的单个逻辑领域访问。示例21包括示例18的一种或多种计算机可读介质,其中多个逻辑领域包括一个或多个虚拟机监测器(vmm)领域,其中一个或多个vmm领域中的每个vmm领域包括一个或多个虚拟机(vm)。示例22包括示例18的一种或多种计算机可读介质,进一步包括一个或多个指令,这一个或多个指令当在至少一个处理器上执行时将该至少一个处理器配置成执行一个或多个操作以引起安全监测器逻辑控制多个逻辑领域之间的任何通信。示例23包括示例22的一种或多种计算机可读介质,进一步包括一个或多个指令,这一个或多个指令当在至少一个处理器上执行时将该至少一个处理器配置成执行一个或多个操作以引起安全监测器逻辑响应于vmm进入请求或vmm退出请求而控制多个逻辑领域之间的任何通信。示例24包括示例18的一种或多种计算机可读介质,进一步包括一个或多个指令,这一个或多个指令当在至少一个处理器上执行时将该至少一个处理器配置成执行一个或多个操作以引起输入-输出存储器管理单元(iommu)在处理相对应存储器事务期间解析与每个存储器事务相对应的请求rid。示例25包括示例18的一种或多种计算机可读介质,进一步包括一个或多个指令,这一个或多个指令当在至少一个处理器上执行时将该至少一个处理器配置成执行一个或多个操作以引起访问控制数据结构存储用于多个逻辑领域中的每个逻辑领域的rid。88.示例26包括一种方法,该方法包括:将逻辑处理器指派给处理器的多个处理器核心中的一个处理器核心,以执行用于多个逻辑领域中的至少一个逻辑领域的一个或多个操作,该多个逻辑领域包括安全监测器领域;在安全监测器领域的安全监测器逻辑处维护用于多个逻辑领域中的每个逻辑领域的领域标识符(rid),该安全监测器逻辑用于至少部分基于多个逻辑领域中的每个逻辑领域的rid来控制对多个领域中的每个领域的访问权。示例27包括示例26的方法,进一步包括引起来自多个逻辑领域的中断处置器领域将一个或多个中断路由到它们正确的目的地领域。示例28包括示例26的方法,进一步包括将数据存储在存储器的多个分区中,其中多个分区中的每个分区可以由多个逻辑领域中的单个逻辑领域访问。89.示例29包括一种设备,该设备包括用于执行如任何在前示例中阐述的操作的装置。示例30包括一种机器可读存储装置,其包括机器可读指令,该机器可读指令当被执行时,用于实现任何在前示例中所阐述的操作或实现任何在前示例中所阐述的装置。90.在各实施例中,参考图1及以下等等所讨论的一个或多个操作可由参考附图中的任何附图所讨论的一个或多个组件(在本文中可互换地被称为“逻辑”)执行。91.在各实施例中,本文中(例如,参考图1及以下各图)所讨论的操作可实现为硬件(例如,逻辑电路系统)、软件、固件、或其组合,其可作为计算机程序产品被提供,例如,包括一种或多种有形的(例如,非瞬态的)机器可读或计算机可读介质,其上存储有指令(或软件程序),这些指令(或软件程序)用于对计算机编程以执行本文中所讨论的过程。机器可读介质可包括诸如参考附图所讨论的那些存储设备之类的存储设备。92.另外,此类计算机可读介质可作为计算机程序产品来下载,其中该程序可通过在载波或其他传播介质中提供的数据信号、经由通信链路(例如,总线、调制解调器或网络连接)从远程计算机(例如,服务器)传输到作出请求的计算机(例如,客户端)。93.在本说明书中对“一个实施例”或“实施例”的引用意指结合该实施例描述的特定特征、结构和/或特性可被包括在至少一个实现方式中。在本说明书各处出现的短语“在一个实施例中”可以或可以不全指代同一实施例。94.并且,在说明书和权利要求书中,可使用术语“耦合的”和“连接的”以及它们的派生词。在一些实施例中,可以使用“连接的”来表示两个或更多个元件彼此直接物理或电气接触。“耦合的”可意指两个或更多个元件直接的物理或电气接触。然而,“耦合的”还可意指两个或更多个元件彼此可不直接接触,但仍可彼此相互配合或相互作用。95.因此,尽管已经用对结构特征和/或方法动作特定的语言描述了各实施例,但是将理解,所要求保护的主题可以不限于所描述的特定特征或动作。相反,特定特征和动作作为实现要求保护的主题的样本形式被公开。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1