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

用于指令的快速失败处理的装置和方法制造方法及图纸

技术编号:11805670 阅读:134 留言:0更新日期:2015-07-31 10:40
描述了处理器,其包括:指令失败逻辑,用于响应于检测到的指令执行失败来执行多个操作,该指令失败逻辑被用于具有复杂的失败模式并且预期具有高于阈值的失败频率的指令,上述操作包括:检测指令执行失败并确定该失败的原因;将指示该失败和指定与该失败相关联的细节的失败数据存储在目的地寄存器中;以及允许应用程序代码响应于该失败读取该失败数据,并且响应性地采取一个或多个动作,其中,指令失败逻辑不调用异常处理程序并且不切换到采用分层的保护域的系统上的低层级域就执行其操作。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍

本专利技术总体涉及计算机处理器领域。更具体地说,本专利技术涉及用于用于指令的快 速失败处理的装置和方法。
技术介绍
如今,调用加速器需要通过驱动器接口。在其中使用层次结构保护域的系统中,这 意味着切换到环0,并且将数据复制到不同的地址空间,从而消耗显著的时间和处理资源。 由于高等待时间,此类加速器接口固有地也是异步的。可编程加速器要求被加速的代码以 其自身的指令集架构(ISA)被实现。 -些当前的处理器架构尝试解决这些顾虑中的一些,但是仅提供具有在被加速的 任务请求及其执行之间的高等待时间的、粗粒度的异步机制。此外,当前的架构使用非X86 ISA,这需要单独的工具链来生成被加速的任务,并将该被加速任务与主x86程序集成。 此外,当前的异步硬件加速器(例如,GPU)允许被加速的任务执行与触发该被加 速的任务的应用线程不相关的任务。这允许该应用线程处理异常和/或中断而不影响被加 速的任务,并且甚至允许该应用线程在多个核之间迀移而不影响系统上被加速的任务的位 置。 当前的同步硬件加速器需要确保中断、异常、上下文切换和核迀移仍然是功能正 确的,并且确保向前进展。这是通过下述之一完成的:(1)确保加速器足够短并且不导致 任何异常,使得任何中断被推迟到完成该加速器为止;(2)在现有的架构寄存器(例如, REPM0V)中保持加速器的向前进展;或(3)定义保存加速器状态的新架构寄存器,并且将它 们添加到 XSAVE/XRESTORE。 【附图说明】 结合以下附图,从以下【具体实施方式】中可获得对本专利技术更好的理解,其中:图1A是示出根据本专利技术的多个实施例的示例性有序流水线和示例性的寄存器重 命名的无序发布/执行流水线的框图; 图1B是示出根据本专利技术的各实施例的要包括在处理器中的有序架构核的示例性 实施例和示例性的寄存器重命名的无序发布/执行架构核的框图; 图2是根据本专利技术的多个实施例的具有集成的存储器控制器和图形器件的单核 处理器和多核处理器的框图。 图3示出根据本专利技术的一个实施例的系统的框图; 图4示出根据本专利技术的实施例的第二系统的框图;图5示出根据本专利技术的实施例的第三系统的框图;图6示出根据本专利技术的实施例的芯片上系统(SoC)的框图;图7示出根据本专利技术的多个实施例的、对照使用软件指令转换器将源指令集中的 二进制指令转换成目标指令集中的二进制指令的框图; 图8A示出可在其中实现本专利技术的多个实施例的处理器架构; 图8B-C示出存储用于调用加速器并回顾结果的数据的寄存器;图9A-C示出根据本专利技术的一个实施例的用于调用加速器的方法; 图10示出用于处理经常失败的复杂指令的方法; 图11示出使用用于存储加速器状态信息的栈的本专利技术的一个实施例。 图12A和12B是示出根据本专利技术的多个实施例的通用向量友好指令格式及其指令 模板的框图; 图13A-D是示出根据本专利技术的多个实施例的示例性专用向量友好指令格式的框 图;以及 图14是根据本专利技术的一个实施例的寄存器架构的框图。图15示出根据本专利技术的某些实施例的计算机系统。 【具体实施方式】 在下面的描述中,为了进行解释,阐述了众多具体细节以便提供对下述本专利技术的 多个实施例的透彻理解。然而,对本领域的技术人员显而易见的是,可以在没有这些具体细 节中的一些细节的情况下实施本专利技术的多个实施例。在其他实例中,公知的结构和设备以 框图形式示出,以避免使本专利技术的多个实施例的基本原理模糊。 示例件处理器架构和数据类塑图1A是示出根据本专利技术的多个实施例的示例性有序流水线和示例性的寄存器重 命名的无序发布/执行流水线的框图。图1B是示出根据本专利技术的多个实施例的要包括在 处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的无序发布/执行架构 核的框图。图1A-B中的实线框示出了有序流水线和有序核,而可选增加的虚线框示出了寄 存器重命名的、无序发布/执行流水线和核。考虑到有序方面是无序方面的子集,将描述无 序方面。 在图1A中,处理器流水线100包括取出级102、长度解码级104、解码级106、分配 级108、重命名级110、调度(也被称为分派或发布)级112、寄存器读取/存储器读取级 114、执行级116、写回/存储器写入级118、异常处理级122和提交级124。 图1B示出处理器核190,其包括耦合到执行引擎单元130的前端单元150,且执行 引擎单元和前端单元两者都耦合到存储器单元170。核190可以是精简指令集计算(RISC) 核、复杂指令集计算(CISC)核、超长指令字(VLIW)核或混合或替代核类型。作为又一选项, 核190可以是专用核,诸如例如,网络或通信核、压缩引擎、协处理器核、通用计算图形处理 单元(GPGPU)核、图形核等。 前端单元130包括耦合到指令高速缓存单元134的分支预测单元132,该指令高 速缓存单元耦合到指令转换后备缓冲器(TLB) 136,该指令转换后备缓冲器耦合到指令取出 单元138,指令取出单元耦合到解码单元140。解码单元140 (或解码器)可解码指令,并生 成从原始指令解码出的、或以其他方式反映原始指令的、或从原始指令导出的一个或多个 微操作、微代码进入点、微指令、其他指令或其他控制信号作为输出。解码单元140可使用 各种不同的机制来实现。合适机制的示例包括但不仅限于,查找表、硬件实现、可编程逻辑 阵列(PLA)、微代码只读存储器(ROM)等。在一个实施例中,核190包括微代码ROM或存储 用于某些宏指令的微代码的其他介质(例如,在解码单元140中或以其他方式在前端单元 130内)。解码单元140耦合至执行引擎单元150中的重命名/分配器单元152。 执行引擎单元150包括耦合到引退单元152和一个或多个调度器单元的集合154 的重命名/分配器单元156。调度器单元156表示任意数量的不同调度器,包括预留站、中 央指令窗等。调度器单元156耦合到物理寄存器组单元158。物理寄存器组单元158中的 每一个表示一个或多个物理寄存器组,其中不同的物理寄存器组存储一个或多个不同的数 据类型,例如,标量整数、标量浮点、紧缩整数、紧缩浮点、向量整数、向量浮点,状态(例如, 作为要被执行的下一条指令的地址的指令指针)等。在一个实施例中,物理寄存器组单元 158包括向量寄存器单元、写掩码寄存器单元和标量寄存器单元。这些寄存器单元可以提供 架构向量寄存器、向量掩码寄存器、和通用寄存器。物理寄存器组单元158被引退单元154 覆盖,以示出可实现寄存器重命名和无序执行的各种方式(例如,使用重排序缓冲器和引 退寄存器组;使用未来文件(future file)、历史缓冲器、引退寄存器组;使用寄存器映射 和寄存器池等)。引退单元154和物理寄存器组单元158耦合至执行群集160。执行群集 160包括一个或多个执行单元的集合162以及一个或多个存储器访问单元的集合164。执行 单元162可执行多种操作(例如,移位、加法、减法、乘法),并且可对多种数据类型(例如, 标量浮点、紧缩整数、紧缩浮点、向量整数、向量浮点)执行操作。尽管一些实施例可以包括 专用于特定功能或功能集的多个执行单元,但其他实施例可包括全部执行所有功能的仅一 个执行单元或多个本文档来自技高网...

【技术保护点】
一种处理器,包括:指令失败逻辑,用于响应于检测到的指令执行失败来执行多个操作,所述指令失败逻辑被用于具有复杂的失败模式并且预期具有高于阈值的失败频率的指令,所述操作包括:检测指令执行失败并确定所述失败的原因;将指示所述失败和指定与所述失败相关联的细节的失败数据存储在目的地寄存器中;以及允许应用程序代码响应于所述失败读取所述失败数据,并且响应性地采取一个或多个动作,其中,所述指令失败逻辑不调用异常处理程序并且不切换到采用分层的保护域的系统上的低层级域就执行所述指令失败逻辑的操作。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:O·本琪琪I·帕多R·凡伦天
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1