在一个实施例中,本发明专利技术包括一种用于向耦合到加速器上的第一指令定序器传送要求对在所述加速器上出现的故障或异常进行处理的请求的方法。所述加速器可以是相对于所述第一指令定序器异构的资源,例如,具有不同的指令集架构。响应于所述请求,可以在所述第一指令定序器中处理所述故障或异常。还描述并要求了其它实施例。
【技术实现步骤摘要】
常本申请是申请日为2007年6月27日、申请号为200780019982. 7的同名专利申请的分案申请。
本专利技术的实施例涉及基于处理器的系统,并且尤其涉及包括具有不同指令集架构的多个定序器(sequencer)的系统。
技术介绍
计算机系统包括各种用于处理和传送数据的组件。典型的系统包括一个或多个处理器(其中每个处理器可以包括多个内核)、以及关联的存储器、输入/输出(I/o)设备和其它这类组件。为了提高计算效率,可以通过一个或更多专用组件(这里一般将其称为辅助单元)来提供计算加速器、专用I/o设备以及其它这类专用单元。然而,使用这类辅助单元可能出现低效率的情况,这是因为在典型的其中实现了通用处理器和行业标准操作系统(OS) 环境的计算环境下,软件栈会阻碍高效利用。也就是说,在典型的OS环境下,通过不同的特权级隔离了系统软件和应用软件,并且在这些不同特权级中的每一个上的操作要经受OS 上下文保存和恢复操作以及其它限制等等。此外,辅助单元典型地缺乏处理异常和故障处理的能力,所述异常和故障处理使得能够对执行期间的某些事件进行健壮的处理。计算加速器的经典例子是协处理器,例如像用于早期32位英特尔 架构(IA)处理器的所谓的x87浮点协处理器这样的数学协处理器。典型地,这种协处理器通过协处理器接口被耦合到主处理器(例如,中央处理单元(CPU))上,该协处理器接口与主处理器同具有一种指令集架构(ISA)。最近,在系统中出现具有不同指令集架构(ISA)的分立资源。在运行着针对单一 ISA而写的单映像OS (例如,行业标准OS)的系统中出现具有不同ISA的多个资源的情况下,典型地,对于处理在具有异构ISA的资源上执行代码期间引发的异常或故障,仅提供有限的支持或不提供支持。即使存在这种处理,不同ISA的可能完全不同的架构机制也可能会要求对该OS进行大量重写。因此,异构资源通常并不提供对异常和故障处理的支持,这降低了异构资源对各种任务的适用性。附图说明 程图。 图I是根据本专利技术的一个实施例的处理器的框图。图2是根据本专利技术的一个实施例的系统的一部分的框图。图3是根据本专利技术的一个实施例的用于处理异构资源中的故障状况的方法的流图4是根据本专利技术的另一个实施例的系统的一部分的框图。图5是根据本专利技术的一个实施例的用于处理异构资源中的异常的方法的流程图。 图6示出根据本专利技术的一个实施例的系统的框图。具体实施方式在各种实施例中,提供了各种机制来支持基于指令集架构(ISA)的异常处理和地址转换机制。如这里所用到的,“定序器”是独特的线程执行资源,并且可以是任何能够执行线程的物理或逻辑单元。定序器可以是逻辑线程单元或物理线程单元,并且可以包括下一指令指针逻辑以便确定针对给定线程将要执行的下一条指令。在许多实现中,系统可以包括具有第一 ISA的第一定序器和具有异构性质的第二计算资源(其可以是定序器或非定序器)。也就是说,第二资源可以是具有不同ISA的定序器或可以是诸如固定功能单元(FFU)、专用集成电路(ASIC)或其它预编程逻辑这样的非定序器资源。在各种实施例中,在这里被称为“外框架(exo-skeleton)”的媒介或接口可以提供这种异构资源之间的通信。在不同的实施例中,外框架可以采用包括软件、硬件和/或固件在内的各种形式。在一些实施例中,外框架可以被实现在紧密耦合到异构资源的有限状态机(FSM)中。当然,可以允许其它实现。现在参考图1,示出的是根据本专利技术的一个实施例的处理器的框图。如图I所示, 处理器10包括多种不同的资源。在不同的实现中,处理器10可以是单核处理器或多核处理器。这样的处理器可以被实现在不同类型的系统中,包括单芯片多处理器(CMP)系统、同时多线程(SMT)系统或基于事件切换的多线程(SoeMT)系统以及其它这类系统等等。如图I所示,处理器10包括多个定序器20a、20b、20c和20d(即,定序器1-4,统称为定序器20)。尽管在图I的实施例中示出四个这种定序器,但是可以理解本专利技术的范围并不受此限制。如图I所示,处理器10中的定序器20实施了 ISA 30,在一个实施例中,所述 ISA 30可以是英特尔 架构(IA-32)指令集架构和/或其64位扩展(也被称为英特尔 64 位扩展存储器技术(EM64T))。处理器10还具有其它资源,包括第一资源(即资源l)50a、第二资源(即资源2)50b和第三资源50c (即资源3)(统称为资源50)。这些资源可以是并未实施处理器10的ISA 30的异构资源。尽管在图I示出的实施例中包括三个这种资源,但是在不同的实施例中可以允许更多或更少这种资源。每个资源50包括定序器(其可以实现与ISA30不同的ISA)、非定序器处理引擎或其它专用功能逻辑,这里统称为加速器。在不同的实施例中,不同类型的资源可以被实现为加速器,包括图形处理单元(GPU)(典型地,定序器)、加密单元(典型地,非定序器)、物理处理单元(PTO)(典型地,非定序器)、固定功能单元(FFU)(典型地,非定序器)等等。如图I 所示,每个资源50可以包括加速器52 (统称),并且更具体地,包括加速器52a、52b和52c, 每个加速器与资源50a-50c其中之一相关联。这里,加速器52也被称为辅助单元。因为资源50a-50c可以具有另一种ISA或者甚至可以是非定序器,以及同样能够是相对于定序器20异构的资源,因此可以使用接口来提供与这样的资源进行通信的能力。具体地,如图 I所示,外框架54a、54b和54c (统称外框架54)可以与资源50其中之一相关联。因此,每个资源50可以被称为“外定序器”,指示出外框架54与其相关加速器52之间的紧密耦合。 这样,这些异构资源可以与异构的定序器资源一起被集成到一个支持定序器间通信的统一 ISA框架中。然而在其它实施例中,资源50可以是相对于定序器20异构的定序器资源,并且可以是对称内核,使得它们包括与定序器20相同或相似的架构。这样,可以实现并发纤程 (fiber)并且能够增强遗留OS的可扩展性。此外,在其它实现中,资源50可以是非对称内核。换句话说,这些资源可以与定序器20具有相同的ISA,但是具有不同的微架构。这种实施例可以帮助管理非对称性并提供与遗留OS的兼容性。对于实现了异构资源的实施例,外框架可以提供这样的效应这些异构资源具有公共的ISA,以便达到定序器间通信的最小顺应性。于是,在各种实施例中,异构资源能够用作用户级功能单元资源(而不是系统级设备)。尽管在图1的实施例中示出特定资源,但是可以理解,处理器10可以是能够支持多个硬件线程上下文(在不失明晰的情况下,其也被称作“线程上下文”,注意这与软件线程上下文是不同的)的单个物理处理器,每一个硬件线程上下文包括一组架构状态。在一些实施例中,某些资源对这些线程上下文是可见的,而其它资源是不可见的。因此,如图1所示, 定序器20中的每一个可以对应一个线程上下文。当使得这些线程上下文中的至少一些(例如,η个中的m个,η)对操作系统可见时,这些线程上下文有时被称为逻辑处理器或受 OS管理的定序器(0MS)。每个线程上下文分别维护一组架构状态ASl-ASn。所述架构状态包括,例如,数据寄存器、段寄存器、控制 寄存器、调试本文档来自技高网...
【技术保护点】
一种用于处理故障或异常的方法,包括:向处理器的第一线程执行资源传送要求处理在所述处理器的加速器上出现的所述故障或异常的请求,其中所述加速器包括相对于所述第一线程执行资源异构的资源;以及响应于所述请求,在所述第一线程执行资源中根据所述第一线程执行资源的存储器换页机制来处理所述故障或异常以得到地址转换,并且根据所述加速器的存储器换页机制来在重映射器中转换所述地址转换,以使所述第一线程执行资源和所述加速器能够共享公共的虚拟地址空间。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:H·王,江洪,J·舍恩,P·卡约蒂亚,M·乔伊,N·比斯瓦尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。