基于触发指令结构的执行控制流的方法及系统的制作方法

文档序号:8298841阅读:411来源:国知局
基于触发指令结构的执行控制流的方法及系统的制作方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及一种基于触发指令结构的执行控制流的方 法及系统。
【背景技术】
[0002] 粗粒度可重构处理器是一种兼具灵活性和高性能的新型处理器构架,相较于传统 的单核处理器、专用芯片、现场可编程逻辑阵列等,尤其是在处理计算密集型的算法方面有 着非常显著的优势,是未来电路结构发展的一个方向。但是,对于控制密集型的算法存在很 大的局限性,是当前可重构处理器提升性能的瓶颈。
[0003] 粗粒度可重构处理器结构可以分为集中控制结构和分布式控制结构。在集中控制 结构上,整个(processelement,PE)阵列共用一个配置控制器。而对于分布式控制结构,每 个PE都具有各自的配置控制器。触发指令结构(triggeredinstructionarchitecture, TIA)是A.Parshar"Triggeredinstructions:acontrolparadigmforspatially programmedarchitectures"inISCA2013中提出的一种分布式控制结构。在执行运算时, 一次取16条指令/配置,并通过触发机制执行其中一条。该结构完全移除了程序计数器 (programcounter,PC),解决了程序过度串行化的问题。在该结构中,下一条指令/配置的 执行是由上条指令/配置的执行结果来确定的,及单个PE资源的限制,导致在执行控制流 特别是处理较大的控制流时,指令并行困难。
[0004] 控制流可以分为长分支、短分支、不平衡分支、嵌套分支,有界循环(循环数确 定),无界循环(循环数不定)结构等类型。其中长分支和短分支的划分方法依据的是分 支的长短。不平衡分支是指两条或以上分支的长度不同的分支结构。嵌套分支是指有多 个条件相互嵌套的分支结构。不定循环数的循环结构是指循环数是将循环体在执行过程 中某一动态变化的变量在满足的特定条件作为结束循环的标志。目前,已经有很多方法用 于解决控制流对于可重构处理器的瓶颈问题。例如部分声明执行(partialpredication execution)、完全声明执行(fullpredicationexecution)、双发射单执行(dualissue singleexecution)、分支预测(branchprediction)、并行条件(parallelcondition) 等。但是,当前所提出的方法都只能对于部分类型的控制流有效。其中"并行条件"是 在J.Zhu"AHybridReconfigurableArchitectureandDesignMethodsAimingat Control-IntensiveKernels"inTVLSI2014中提出的。该方法通过并行条件和分支使得 执行控制流时获得较高的性能。但是由于其基本结构依然是集中控制结构,控制器较低的 灵活性使得其在处理不平衡分支的时候不能获得较高性能。总体来说,由于结构或者方法 本身的局限性,目前提出的基于可重构结构解决控制流问题的方法,没有一种能够应对所 有类型的控制流,特别是对于不平衡分支和无界循环类型的控制流,基本没有一种方法或 结构能够在保证正确工作的前提下保证较高的性能。

【发明内容】

[0005] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明第 一方面目的在于提出一种实时的、高效的、成本低的基于触发指令结构的执行控制流的方 法。
[0006] 本发明第二方面目的在于提出一种基于触发指令结构的执行控制流的系统。
[0007] 为了实现上述目的,本发明第一方面实施例的基于触发指令结构的执行控制流的 方法,包括以下步骤:S1,初始化配置,包括读取多条指令及与所述多条指令一一对应的触 发表达式,并配置到处理单元中,每条指令包含预定数目算子和用于表示预定数目算子之 间控制关系的比特位;S2,根据所述处理单元的状态及所述多条指令的触发表达式,获取指 令的触发条件;S3,从所述多条指令中选取符合所述触发条件的指令,根据所述算子将所述 符合触发条件的指令划分为预定数目的子指令,将所述用于表示预定数目算子指令之间控 制关系的比特位输送至相应的运算器的输出控制端以选择执行的控制流,同时将所述预定 数目的子指令依次分配至预定数目的所述运算器;S4,每个所述运算器执行与所述算子对 应的运算,获取并输出包括用于表示所述处理单元状态的运算结果;以及S5,重复执行步 骤S2?S4,直至达到循环截止条件。
[0008] 根据本发明实施例的基于触发指令结构的执行控制流的方法,从多条指令中选取 符合触发条件的指令,使得指令通过触发机制触发。将包含用于表示预定数目算子指令之 间控制关系的比特位的触发指令输送至相应的运算器的输出控制端以选择执行的控制流, 消除了分支跳转指令,实现了条件与分支并行,提高了性能。
[0009] 在一些示例中,所述预定数目至少为2个。
[0010] 本发明第二方面实施例的基于触发指令结构的执行控制流的系统,包括多个处理 单元,每个所述处理单元包括,指令寄存器,用于存储多条指令,每条指令包含预定数值的 基本算子和用于表示所述预定数值的基本算子之间控制关系的比特位;指令触发表达式存 储器,用于存储与所述多条指令一一对应的触发表达式;状态寄存器,用于存储所述处理单 元的当前状态,并配置所述各条指令的触发表达式所有元素的值;调度器,用于根据所述 状态寄存器中各个元素的值和所述触发表达式,获取指令的触发条件;预定数目的运算器; 所述调度器用于从所述多条指令中选取符合所述触发条件的指令,根据所述算子将所述符 合触发条件的指令划分为预定数目的子指令,将所述用于表示预定数目算子指令之间控制 关系的比特位输送至相应的运算器的输出控制端以选择执行的控制流,同时将所述预定数 目的子指令依次分配至所述预定数目的运算器;所述运算器执行与所述算子对应的运算, 获取并输出包括用于表示所述处理单元状态的运算结果。
[0011] 根据本发明实施例的基于触发指令结构的执行控制流的系统,从多条指令中选取 符合触发条件的指令,使得指令通过触发机制触发。将包含用于表示预定数目算子指令之 间控制关系的比特位的触发指令输送至相应的运算器的输出控制端以选择执行的控制流, 消除了分支跳转指令,实现了条件与分支并行,提高了性能。
[0012] 在一些示例中,所述系统还包括:数据寄存器,用于存储所述运算结果。
[0013] 在一些示例中,所述预定数目至少为2个。
[0014] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0015] 图1是根据本发明一个实施例的基于触发指令结构的执行控制流的方法的流程 图;
[0016]图2是本发明一个实施例的基于触发指令结构的执行控制流的方法的执行过程 示意图;
[0017]图3是本发明一个实施例的执行时间示意图;
[0018]图4是根据本发明一个实施例的基于触发指令结构的执行控制流的系统的框图;
[0019]图5是本发明一个实施例的映射简单嵌套类型的控制流的CDFG示意图。
【具体实施方式】
[0020] 在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"长度"、"宽度"、 "厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"竖直"、"水平"、"顶"、"底" "内"、"外"、"顺时 针"、"逆时针"、"轴向"、"径向"、"周向"等指示的方位或位置关系为基于附图所示的方位或 位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必 须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0021] 此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性 或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或 者隐含地包括至少一个该特征。在本发明的描述中,"多个"的含义是至少两个,例如两个, 三个等,除非另有明确具体的限定。
[0022] 在本发明中,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"、"固定"等 术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连 接,也可以是电连接;可以是直接相连,也可以通过中
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1