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

用于SIMD结构化分支的方法和装置制造方法及图纸

技术编号:15342826 阅读:97 留言:0更新日期:2017-05-17 00:16
用于SIMD结构化分支的方法和装置。例如,处理器的一个实施例包括具有多个通道的执行单元,该执行单元执行指令;以及分支单元,该分支单元处理控制流指令并维护针对每个通道的每通道计数和针对控制流指令的控制指令计数,该分支单元至少基于每通道计数来启用和禁用通道。

【技术实现步骤摘要】
【国外来华专利技术】用于SIMD结构化分支的方法和装置
本专利技术一般涉及计算机处理器领域。更具体地,本专利技术涉及用于执行单指令多数据(SIMD)结构化分支的装置和方法。
技术介绍
在单指令多数据(SIMD)程序中管理控制流是一个复杂的问题。传统上,图形处理单元(GPU)使用标量代码和程序例程来控制针对每个SIMD通道的指令指针(IP)地址。这在性能和功率使用方面都是低效的。在一些架构上通过针对每个通道维持唯一的IP地址来管理控制流。例如,当遇到控制流指令时,用基于该指令的谓词掩码的特定IP来更新每个通道的IP。对于各个指令,将执行IP与通道的IP进行比较以确定该通道是否针对在当前IP处的特定指令被启用。附图说明通过以下结合附图的详细描述可以更好地理解本专利技术,其中:图1是带有具有一个或多个处理器核和图形处理器的处理器的计算机系统的实施例的框图;图2是具有一个或多个处理器核、集成存储器控制器和集成图形处理器的处理器的一个实施例的框图;图3是图形处理器的一个实施例的框图,该图形处理器可以是离散图形处理单元或者可以是与多个处理核集成的图形处理器;图4是图形处理器的图形处理引擎的实施例的框图;图5是图形处理器的另一实施例的框图;图6是包括处理元件阵列的线程执行逻辑的框图;图7示出了根据实施例的图形处理器执行单元指令格式;图8是包括图形管线、媒体管线、显示引擎、线程执行逻辑和渲染输出管线的图形处理器的另一实施例的框图;图9A是示出根据实施例的图形处理器命令格式的框图;图9B是示出根据实施例的图形处理器命令序列的框图;图10示出了根据实施例的用于数据处理系统的示例性图形软件架构;图11示出了用于执行SEVID分支操作的系统架构的一个实施例;图12示出了根据本专利技术的一个实施例的分支单元;图13示出了根据本专利技术的一个实施例的用于处理发散控制流指令的方法;以及图14示出了根据本专利技术的一个实施例的用于处理收敛控制流指令的方法。具体实施方式在下面的描述中,出于说明的目的,阐述了许多具体细节以便提供对下面描述的本专利技术的实施例的透彻理解。然而,对于本领域技术人员清楚的是,可以在没有这些具体细节中的一些细节的情况下实践本专利技术的实施例。在其他实例中,以框图形式示出了公知的结构和设备,以避免模糊本专利技术的实施例的基本原理。示例性图形处理器架构和数据类型概览——图1-图3图1是根据实施例的数据处理系统100的框图。数据处理系统100包括一个或多个处理器102和一个或多个图形处理器108,并且可以是单处理器台式系统、多处理器工作站系统或具有大量处理器102或处理器核107的服务器系统。在实施例中,数据处理系统100是用于移动、手持或嵌入式设备中的片上系统(SOC)集成电路。数据处理系统100的实施例可以包括基于服务器的游戏平台、游戏控制台(包括游戏和媒体控制台、移动游戏控制台、手持游戏控制台或在线游戏控制台),或者被并入其中。在一个实施例中,数据处理系统100是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统100还可以包括、耦合到可穿戴设备(例如,智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备),或者集成于其中。在一个实施例中,数据处理系统100是具有一个或多个处理器102和由一个或多个图形处理器108生成的图形界面的电视或机顶盒设备。一个或多个处理器102各自包括一个或多个处理器核107以处理在被运行时执行系统和用户软件的操作的指令。在一个实施例中,一个或多个处理器核107中的每个被配置为处理具体指令集109。指令集109可以辅助复杂指令集计算(CISC)、精简指令集计算(RISC)或者经由超长指令字(VLIW)的计算。多个处理器核107可以各自处理不同的指令集109,指令集109可以包括用于辅助其他指令集的仿真的指令。处理器核107还可以包括其它处理设备,例如数字信号处理器(DSP)。在一个实施例中,处理器102包括缓存存储器104。根据架构,处理器102可以具有单一内部缓存或多级内部缓存。在一个实施例中,缓存存储器在处理器102的各种组件之间共享。在一个实施例中,处理器102还使用外部缓存(例如,第3级(L3)缓存或末级缓存(LLC))(未示出),该外部缓存可以使用已知的缓存一致性技术在处理器核107之间共享。寄存器文件106附加地包括在处理器102中,其可以包括用于存储不同类型数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可以特定于处理器102的设计。处理器102耦合到处理器总线110,以在处理器102和系统100中的其他组件之间传输数据信号。系统100使用示例性“集线器(hub)”系统架构,其包括存储器控制器集线器116和输入输出(I/O)控制器集线器130。存储器控制器集线器116辅助存储器设备与系统100的其它组件之间的通信,而I/O控制器集线器(ICH)130提供经由本地I/O总线到I/O设备的连接。存储器设备120可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、快闪存储器设备、或具有用作过程存储器的合适性能的某些其它存储器设备。存储器120可以存储数据122和指令121,以在处理器102执行处理时使用。存储器控制器集线器116还与可选的外部图形处理器112耦合,可选的外部图形处理器112可以与处理器102中的一个或多个图形处理器108进行通信以执行图形和媒体操作。ICH130使外围设备能够经由高速I/O总线连接到存储器120和处理器102。I/O外围设备包括音频控制器146、固件接口128、无线收发器126(例如,Wi-Fi、蓝牙)、数据存储设备124(例如,硬盘驱动、闪存等)、以及用于将传统(例如,个人系统2(PS/2))设备耦合到系统的传统I/O控制器。一个或多个通用串行总线(USB)控制器142连接输入设备(例如,键盘和鼠标组合144)。网络控制器134也可以耦合到ICH130。在一个实施例中,高性能网络控制器(未示出)耦合到处理器总线110。图2是具有一个或多个处理器核202A-N、集成存储器控制器214和集成图形处理器208的处理器200的实施例的框图。处理器200可以包括直到并包括由虚线框表示的附加核202N的附加核。每个核202A-N包括一个或多个内部缓存单元204A-N。在一个实施例中,每个核还可以访问一个或多个共享的缓存单元206。内部缓存单元204A-N和共享缓存单元206表示处理器200内的缓存存储器层级。该缓存存储器层级可以包括每个核内的至少一个级别的指令和数据缓存以及一个或多个级别的共享中级缓存(例如,第2级(L2)、第3级(L3)、第4级(L4)或其他级缓存),其中外部存储器之前的最高级缓存被分类为末级缓存(LLC)。在一个实施例中,缓存一致性逻辑维护各种缓存单元206和204A-N之间的一致性。处理器200还可以包括一组(一个或多个)总线控制器单元216和系统代理210。一个或多个总线控制器单元管理一组外围总线,例如一个或多个外围组件互连总线(例如,PCI、PCIExpress)。系统代理210为各种处理器组件提供管理功能。在一个实施例中,系统代理210包括一个或本文档来自技高网...
用于SIMD结构化分支的方法和装置

【技术保护点】
一种处理器,包括:具有多个通道的执行单元,该执行单元执行指令;以及分支单元,该分支单元处理控制流指令并维护针对每个通道的每通道计数和针对所述控制流指令的控制指令计数,所述分支单元至少基于所述每通道计数来启用和禁用所述通道。

【技术特征摘要】
【国外来华专利技术】2014.09.26 US 14/498,5611.一种处理器,包括:具有多个通道的执行单元,该执行单元执行指令;以及分支单元,该分支单元处理控制流指令并维护针对每个通道的每通道计数和针对所述控制流指令的控制指令计数,所述分支单元至少基于所述每通道计数来启用和禁用所述通道。2.如权利要求1所述的处理器,其中,所述分支单元生成指示每个通道是否被启用的通道启用掩码,其中,每通道掩码基于存储在与每个通道相关联的每个每通道计数器中的值而被生成。3.如权利要求2所述的处理器,其中,通道掩码包括每通道的单一位,其中第一二进制值指示通道被启用,并且第二二进制值指示通道被禁用。4.如权利要求3所述的处理器,其中,通道掩码位响应于针对每个通道所维护的每通道计数值而被更新。5.如权利要求4所述的处理器,其中,每通道计数值为0指示通道被启用,并且其中任何其它每通道计数值指示通道被禁用。6.如权利要求5所述的处理器,其中,当通道被禁用时,其对应的每通道计数包括所述控制指令计数的值。7.如权利要求1所述的处理器,其中,每个控制流指令包括谓词掩码,所述分支单元解译所述谓词掩码以确定每个通道是否符合所述控制流指令的条件。8.如权利要求7所述的处理器,其中,如果所述谓词掩码对于所有通道是一致的,则所述每通道计数不被更新,而执行指令指针被更新。9.如权利要求7所述的处理器,其中,如果所述谓词掩码对于所有通道不是一致的,则所述控制指令计数被增大,并且不符合所述条件的每个通道的所述每通道计数被使用当前控制流指令类型的所述控制指令计数进行更新。10.如权利要求1所述的处理器,其中,所述控制流指令包括分岔指令和汇聚指令。11.如权利要求10所述的处理器,还包括:用于存储汇聚指令的指令指针的栈,其中栈顶指针由所述分支单元针对每个控制流指令类型进行维护。12.如权利要求11所述的处理器,其中所述控制流指令类型包括IF/ELSE/ENDIF、DO/BREAK/CONTINUE/WHILE、CALL/RETURN、HALT和/或BRANCH。13.一种方法,包括:确定控制流指令的指令谓词掩码是否对于执行单元的所有通道是一致...

【专利技术属性】
技术研发人员:苏布拉马尼亚姆·梅尤拉恩达林·M·斯塔基托马斯·A·皮亚扎
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1