本发明涉及一种具有ooda循环分区机制的流式处理器。
背景技术:
随着具有前后依赖关系的工作流逐渐成为主要计算负载,针对处理器的结构设计逐渐向“流式”化处理指令的设计思路延伸。
然而,现有处理器结构设计往往以相同计算单元,来构建处理器上的各个独立计算核心(即:“核”)。此外,现有处理器结构所包含的各个计算分区,很难能够根据作业流的负载特征,设计处理器结构,难以保证以高效并行流水线方式执行作业流指令。
ooda环(oodaloop)理论最早由美国空军上校johnboyd于1966年提出,是用于描述军事指挥决策过程的主要模型框架。ooda环依次由:观察(observe),调整(orient),想定(decide),行动(act),在内共四步以循环方式执行军事决策。ooda环理论完成决策或复杂问题的思维过程,整是人脑理性思维的思维定式。
技术实现要素:
本发明的目的是提供一种具有ooda循环分区机制的流式处理器,以解决现有处理器结构所包含的各个计算分区,很难能够根据作业流的负载特征,设计处理器结构,难以保证以高效并行流水线方式执行作业流指令的问题。
为解决上述技术问题,本发明提供一种具有ooda循环分区机制的流式处理器,包括四个独立计算分区,每个计算分区具有多个计算单元pe,多个所述计算单元pe分别为观察计算单元o1、调整计算单元o2、想定计算单元d3和行动计算单元a4;处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元o1→调整计算单元o2→想定计算单元d3→行动计算单元a4→观察计算单元o1的执行顺序循环占用各个计算分区。
进一步地,处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
进一步地,两两相邻的计算分区之间通过共享内存进行分区间的数据和指令传输。
进一步地,一条需要使用多个计算分区的指令,在完成一个计算分区的计算后,通过与下一顺序计算分区的共享内存,将已完成计算的分区所得到的中间过程数据传递给下一计算分区。
进一步地,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线传输数据至下一计算分区。
本发明的有益效果为:该流式处理器在处理ooda个独立步骤的工作流计算指令时,只需要一条指令即可在四个不同的计算分区上完成处理,能够根据作业流的负载特征,设计处理器结构;可通过两两分区间共享处理器内存方式,以流水线方式处理工作流,实现“芯片级”多工作流并行执行,提高处理工作流的处理效率。
附图说明
此处所说明的附图用来提供对
本技术:
的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明一个实施例的ooda循环分区机制的流式处理器分区结构示意图。
图2为本发明一个实施例的指令占用ooda全部分区的执行顺序举例示意图。
图3为本发明另一个实施例的指令占用ooda部分分区的执行顺序举例示意图。
具体实施方式
如图1所示的具有ooda循环分区机制的流式处理器,该流式处理器包括四个独立计算分区(group),每个计算分区具有多个计算单元pe,多个所述计算单元pe为观察(observe)计算单元o1、调整(orient)计算单元o2、想定(decide)计算单元d3和行动(act)计算单元a4。
处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元o1→调整计算单元o2→想定计算单元d3→行动计算单元a4→观察计算单元o1(即o1->o2->d3->a4->o1)的执行顺序循环占用各个计算分区。
其中,处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
两两相邻的计算分区之间通过共享内存进行分区间的数据和指令传输。如图1所示,观察计算单o1与调整计算单元o2之间、调整计算单元o2与想定计算单元d3之间、想定计算单元d3与行动计算单元a4之间以及行动计算单元a4与观察计算单o1之间,分别共享同一内存。即每个分区按照两个计算单元pe为一个核心(core),同一个核心的两个计算单元共享相同的l1cache和l2cache。同属同一分区的计算核心共享一个l3cache。
如图2所示,每条指令执行时,按照ooda各个计算分区的执行顺序,通过共享内存实现计算分区间的数据传输。一条需要使用多个计算分区的指令,在完成一个计算分区的计算后,通过与下一顺序计算分区的共享内存,将已完成计算的分区所得到的中间过程数据传递给下一计算分区。如图2中的虚线箭头指向方向传输数据。
该流式处理器在处理ooda个独立步骤的工作流计算指令时,只需要一条指令即可在四个不同的计算分区上完成处理,能够根据作业流的负载特征,设计处理器结构;可通过两两分区间共享处理器内存方式,以流水线方式处理工作流,实现“芯片级”多工作流并行执行,提高处理工作流的处理效率。
如图3所示,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线(bus)传输数据至下一计算分区。如图3中的虚线箭头方向传输数据。即除可用于执行ooda四个执行步骤的指令外,还可以按照当前指令集需要执行的计算需求,通过四个核心分区间两两共享处理器内存全联通bus方式,减少执行分区间访存路径方式,因此该流失处理器除满足ooda基本指令集的指令外,满足ooda扩展指令集指令需求。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
1.一种具有ooda循环分区机制的流式处理器,其特征在于,包括四个独立计算分区,每个计算分区具有多个计算单元pe处理元件,多个所述计算单元pe分别为观察计算单元o1、调整计算单元o2、想定计算单元d3和行动计算单元a4;处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元o1→调整计算单元o2→想定计算单元d3→行动计算单元a4→观察计算单元o1的执行顺序循环占用各个计算分区。
2.根据权利要求1所述的具有ooda循环分区机制的流式处理器,其特征在于,处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
3.根据权利要求2所述的具有ooda循环分区机制的流式处理器,其特征在于,两两相邻的计算分区之间通过共享内存进行分区间的数据和指令传输。
4.根据权利要求3所述的具有ooda循环分区机制的流式处理器,其特征在于,一条需要使用多个计算分区的指令,在完成一个计算分区的计算后,通过与下一顺序计算分区的共享内存,将已完成计算的分区所得到的中间过程数据传递给下一计算分区。
5.根据权利要求3或4所述的具有ooda循环分区机制的流式处理器,其特征在于,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线传输数据至下一计算分区。