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

用于实现动态无序处理器流水线的方法和装置制造方法及图纸

技术编号:12151601 阅读:57 留言:0更新日期:2015-10-03 12:43
本申请公开了用于实现动态无序处理器流水线的方法和装置。一种用于优化的动态无序超长指令字(VLIW)流水线的硬件/软件协同设计。例如,装置的一个实施例包括:指令取出单元,其用于将超长指令字(VLIW)按其程序顺序从存储器中取出,VLIW中的每一个包括多个精简指令集计算(RISC)指令字节,这些字节按照去除它们之间的数据流依赖关系和假输出依赖关系的顺序被集中到VLIW中;解码单元,其用于按照VLIW的程序顺序对其进行解码,并且并行地输出每个经解码的VLIW的字节;以及无序执行引擎,其用于优选地并行于其他字节来执行这些字节,其中,以不同于从解码单元中接收这些字节的顺序来执行这些字节中的至少一些,无序执行引擎具有在执行操作时不检查这些字节之间的数据流依赖关系和假输出依赖关系的一个或多个处理级。

【技术实现步骤摘要】
【专利说明】用于实现动态无序处理器流水线的方法和装置[000。
技术介绍
领域 本专利技术总体涉及计算机处理器领域。更具体地说,本专利技术涉及用于实现动态无序 处理器流水线的装置和方法。 巧关巧术描沐 当前,许多主流处理器基于或多或少共享相同的无序流水线实现的高级原理的动 态无序微架构。伴随着每一代的仅能硬件实现的无序设计,改善该些处理器的性能、功率效 率、面密度和硬件可扩展性变得日益困难。【附图说明】 结合W下附图,从W下详细描述可获得对本专利技术更好的理解,其中: 图1A是示出根据本专利技术的实施例的示例性有序流水线W及示例性寄存器重命名 的无序发布/执行流水线两者的框图; 图1B是示出根据本专利技术的各实施例的要包括在处理器中的有序架构核的示例性 实施例和示例性的寄存器重命名的无序发布/执行架构核的框图; 图2是根据本专利技术的各实施例的具有集成的存储器控制器和图形器件的单核处 理器和多核处理器的框图; 图3示出根据本专利技术的一个实施例的系统的框图; 图4示出根据本专利技术的实施例的第二系统的框图; 图5示出根据本专利技术的实施例的第H系统的框图; 图6示出根据本专利技术的实施例的芯片上系统(SoC)的框图; 图7示出根据本专利技术的各实施例的对照使用软件指令转换器将源指令集中的二 进制指令转换成目标指令集中的二进制指令的框图; 图8示出用于超长指令字(VLIW)字节(syllable)的指令格式的一个实施例; 图9示出包括多个字节的超长指令字(VLIW)的一个实施例; 图10A-B示出常规的无序(000)流水线和根据本专利技术的一个实施例的000流水 线; 图11A-B示出二进制码中相邻的多个常规微操作(U0P)之间的依赖关系W及多个 字节之间的依赖关系; 图12A-B示出常规处理器中的寄存器重命名和本专利技术的一个实施例中所采用的 寄存器重命名; 图13A-B示出常规000处理器中W及根据本专利技术的一个实施例的寄存器重命名、 调度器逻辑和取消逻辑; 图14A示出包括重命名/分配(allocate)级、调度级和分派(dispatch)级之间 的多个交叉开关的常规流水线; 图14B示出根据本专利技术的一个实施例的包括重命名/分配级、调度级和分派级的 流水线; 图15示出解码级之后的处理器流水线的一个实施例;W及 图16示出基于指令依赖关系的指令序列的重布置的一个实施例。【具体实施方式】 在下面的描述中,出于说明目的,阐述了众多具体细节W便提供对W下描述的本 专利技术的实施例的全面理解。然而,对本领域技术人员将显而易见的是,没有该些具体细节中 的一些也可实施本专利技术的诸实施例。在其他实例中,公知的结构和设备W框图形式示出,W 避免使本专利技术诸实施例的基本原理不清楚。示例性处理器架构和数据类型 图1A是示出根据本专利技术的各实施例的示例性有序流水线和示例性的寄存器重命 名的无序发布/执行流水线的框图。图1B是示出根据本专利技术的各实施例的要包括在处理 器中的有序架构核的示例性实施例和示例性的寄存器重命名的无序发布/执行架构核的 框图。图1A-B中的实线框示出了有序流水线和有序核,而可选增加的虚线框示出了寄存器 重命名的、无序发布/执行流水线和核。给定有序方面是无序方面的子集的情况下,将描述 无序方面。 在图1A中,处理器流水线100包括取出级102、长度解码级104、解码级106、分配 级108、重命名级110、调度(也称为分派或发布)级112、寄存器读取/存储器读取级114、 执行级116、写回/存储器写入级118、异常处理级122和提交级124。[002引图1B示出了包括禪合到执行引擎单元150的前端单元130的处理器核190,且 执行引擎单元和前端单元两者都禪合到存储器单元170。核190可W是精简指令集计算 巧ISC)核、复杂指令集计算(CISC)核、超长指令字(VLIW)核或混合或替代核类型。作为又 一选项,核190可W是专用核,诸如例如网络或通信核、压缩引擎、协处理器核、通用计算图 形处理器单元佑PGPU)核、或图形核等等。 前端单元130包括禪合到指令高速缓存单元134的分支预测单元132,该指令高速 缓存单元禪合到指令转换后备缓冲器(TLB) 136,该指令转换后备缓冲器禪合到指令取出单 元138,指令取出单元禪合到解码单元140。解码单元140 (或解码器)可解码指令,并生成 从原始指令解码出的、或W其他方式反映原始指令的、或从原始指令导出的一个或多个微 操作、微代码进入点、微指令、其他指令、或其他控制信号作为输出。解码单元140可使用各 种不同的机制来实现。合适的机制的示例包括但不限于查找表、硬件实现、可编程逻辑阵列 (PLA)、微代码只读存储器(ROM)等。在一个实施例中,核190包括(例如,在解码单元140 中或否则在前端单元130内的)微代码ROM或存储某些宏指令的微代码的其他介质。解码 单元140禪合至执行引擎单元150中的重命名/分配器单元152。 执行引擎单元150包括重命名/分配器单元152,该重命名/分配器单元禪合至引 退单元154和一个或多个调度器单元156的集合。调度器单元156表示任意数量的不同调 度器,包括预留站、中央指令窗口等。调度器单元156禪合到物理寄存器组单元158。每个 物理寄存器组单元158表示一个或多个物理寄存器组,其中不同的物理寄存器组存储一种 或多种不同的数据类型,诸如标量整数、标量浮点、打包整数、打包浮点、向量整数、向量浮 点、状态(例如,作为要执行的下一指令的地址的指令指针)等。在一个实施例中,物理寄 存器组单元158包括向量寄存器单元、写掩码寄存器单元和标量寄存器单元。该些寄存器 单元可W提供架构向量寄存器、向量掩码寄存器、和通用寄存器。物理寄存器组单元158与 引退单元154重叠W示出可W用来实现寄存器重命名和无序执行的各种方式(例如,使用 重新排序缓冲器和引退寄存器组;使用将来的文件、历史缓冲器和引退寄存器组;使用寄 存器映射和寄存器池等等)。引退单元154和物理寄存器组单元158禪合到执行群集160。 执行群集160包括一个或多个执行单元162的集合和一个或多个存储器访问单元164的集 合。执行单元162可W对各种类型的数据(例如,标量浮点、打包整数、打包浮点、向量整型、 向量浮点)执行各种操作(例如,移位、加法、减法、乘法)。尽管一些实施例可W包括专用 于特定功能或功能集合的多个执行单元,但其他实施例可包括全部执行所有功能的仅一个 执行单元或多个执行单元。调度器单元156、物理寄存器组单元158和执行群集160被示 为可能有多个,因为某些实施例为某些类型的数据/操作创建分开的流水线(例如,标量整 型流水线、标量浮点/打包整型/打包浮点/向量整型/向量浮点流水线,和/或各自具有 其自己的调度器单元、物理寄存器组单元和/或执行群集的存储器访问流水线一W及在 分开的存储器访问流水线的情况下,实现其中仅该流水线的执行群集具有存储器访问单元 164的某些实施例)。还应当理解,在使用分开的流水线的情况下,该些流水线中的一个或 多个可W为无序发布/执行,并且其余流水线可W为有序发布/执行。 存储器访问单元164的集合禪合到存储器单元170,该存储器单元包括禪合到数 据高速缓存单元174的数据T本文档来自技高网...

【技术保护点】
一种装置,包括:指令取出单元,所述指令取出单元用于按照程序顺序从存储器中取出超长指令字(VLIW),所述VLIW中的每一个包括多个精简指令集计算(RISC)指令字节,所述字节按照去除所述字节之间的数据流依赖关系和假输出依赖关系的顺序被集中到所述VLIW中;解码单元,所述解码单元用于按照程序顺序解码所述VLIW,并且并行地输出每个经解码的VLIW中的所述字节;以及无序执行引擎,所述无序执行引擎用于并行于其他字节执行所述字节中的至少一些,其中,以不同于从所述解码单元接收到所述字节的顺序来执行所述字节中的至少一些,所述无序执行引擎具有在执行操作时不检查所述字节之间的数据流依赖关系和假输出依赖关系的一个或多个处理级。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:D·M·卡提科夫N·尼尔拉坎塔姆J·H·凯尔姆P·谢卡拉科斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1