Apparatus and method for unstructured branches of SIMD. For example, one embodiment comprising processor: the execution unit has a plurality of channels (to execute instructions); and a branch unit for processing unstructured control flow instructions, and keep each channel of each channel count, the branch unit will unstructured control flow to make the instruction pointer tag stored in the memory. To identify and tag tag using the instruction pointer address, the branch unit at least based on each channel count to enable and disable the channel.
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及计算机处理器领域。更具体来说,本专利技术涉及用于执行单指令多数据(SIMD)非结构化分支的设备和方法。
技术介绍
管理单指令多数据(SIMD)程序中的控制流是复杂问题。按传统,图形处理单元(GPU)使用标量代码和程序例程来控制每个SIMD通道的指令指针(IP)地址。这在性能和功率使用方面均是低效的。在一些架构上通过为每个通道保持唯一IP地址来管理控制流。例如,当遇到控制流指令时,每个通道的IP采用基于指令的判定掩码(mask)的特定IP来更新。对于每个和每一个指令,将执行IP与通道的IP进行比较,以确定是否在当前IP对特定指令启用该通道。另外,当前在硬件中不支持SIMD程序的非结构化控制流。现代编译器产生非结构化SIMD程序代码,其按传统由编译器转换回结构化程序代码,以及一些优化因转换回结构化流而丢失。附图说明从以下结合附图的详细描述中能够得到本专利技术更好的理解,在附图中:图1是带有处理器(具有一个或多个处理器核)和图形处理器的计算机系统的实施例的框图。图2是具有一个或多个处理器核的处理器、集成存储器控制器和集成图形处理器的一个实施例的框图;图3是可作为分立图形处理单元或者可以是与多个处理核相集成的图形处理器的图形处理器的一个实施例的框图;图4是图形处理器的图形处理引擎的实施例的框图;图5是图形处理器的另一个实施例的框图;图6是包括处理元件阵列的线程执行逻辑的框图;图7示出按照实施例的图形处理器执行单元指令格式;图8是包括图形流水线、媒体流水线、显示引擎、线程执行逻辑和渲染输出流水线的图形处理器的另一个实施例的框图;图9A是示出按照实 ...
【技术保护点】
一种处理器,包括:执行单元,具有多个通道以执行指令;以及分支单元,用于处理非结构化控制流指令,并且保持每个通道的每通道计数值,所述分支单元将所述非结构化控制流指令的指令指针标签存储在存储器中,并且使用标签地址来识别所述指令指针标签,所述分支单元还至少基于所述每通道计数值来启用和禁用所述通道。
【技术特征摘要】
【国外来华专利技术】2014.09.26 US 14/4985051.一种处理器,包括:执行单元,具有多个通道以执行指令;以及分支单元,用于处理非结构化控制流指令,并且保持每个通道的每通道计数值,所述分支单元将所述非结构化控制流指令的指令指针标签存储在存储器中,并且使用标签地址来识别所述指令指针标签,所述分支单元还至少基于所述每通道计数值来启用和禁用所述通道。2.如权利要求1所述的处理器,其中,所述分支单元要生成通道启用掩码,以指示是否启用所述通道的每个,所述每通道掩码基于与每个通道关联的多个每通道计数器的每个中存储的值来生成,所述每通道计数器存储每个通道的所述每通道计数值,其中在检测到特定通道没有特定条件时,所述每通道计数器要采用识别所述指令指针标签其中之一的标签地址来更新。3.如权利要求2所述的处理器,其中,所述通道掩码包括每通道单个位,其中第一二进制值指示启用所述通道,以及第二二进制值指示禁用所述通道。4.如权利要求3所述的处理器,其中,响应为每个通道所保持的所述每通道计数值而更新所述通道掩码位。5.如权利要求4所述的处理器,其中,每通道计数值0指示启用所述通道,并且其中任何其它每通道计数值指示禁用所述通道。6.如权利要求5所述的处理器,其中,所述存储器包括分类链接列表存储器结构,所述指令指针标签存储在所述存储器中。7.如权利要求1所述的处理器,其中,每个非结构化控制流指令包括判定掩码,所述分支单元解释所述判定掩码,以确定每个通道是否采取所述非结构化控制流指令的条件。8.如权利要求7所述的处理器,其中,如果所述判定掩码对所有通道是均匀的,则不更新所述每通道计数值,但是更新所述执行指令指针。9.如权利要求7所述的处理器,其中,如果所述判定掩码对所有通道不是均匀的,以及如果在所述存储器中没有找到当前标签地址,则将所述当前指令指针标签插入所述存储器中。10.如权利要求1所述的处理器,其中,所述非结构化控制流指令包括分叉指令和聚合指令。11.如权利要求10所述的处理器,还包括:分类链接列表存储器结构,用来存储聚合指令和/或分叉指令的指令指针。12.如权利要求11所述的处理器,其中,所述非结构化控制流指令包括GOTO和JOIN指令。13.一种方法,包括:至少使用当前指令指针来生成与当前非结构化控制流指令关联的标签地址;确定非结构化控制流指令的指令判定掩...
【专利技术属性】
技术研发人员:S麦于兰,DM斯塔基,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。