CN111984328B - 具有ooda循环分区机制的流式处理器 - Google Patents

具有ooda循环分区机制的流式处理器 Download PDF

Info

Publication number
CN111984328B
CN111984328B CN202011078515.5A CN202011078515A CN111984328B CN 111984328 B CN111984328 B CN 111984328B CN 202011078515 A CN202011078515 A CN 202011078515A CN 111984328 B CN111984328 B CN 111984328B
Authority
CN
China
Prior art keywords
partition
processor
compute
partitions
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011078515.5A
Other languages
English (en)
Other versions
CN111984328A (zh
Inventor
谭光明
邵恩
张春明
段勃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Institute Of Advanced Technology Institute Of Computing Chinese Academy Of Sciences
Original Assignee
Western Institute Of Advanced Technology Institute Of Computing Chinese Academy Of Sciences
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Institute Of Advanced Technology Institute Of Computing Chinese Academy Of Sciences filed Critical Western Institute Of Advanced Technology Institute Of Computing Chinese Academy Of Sciences
Publication of CN111984328A publication Critical patent/CN111984328A/zh
Application granted granted Critical
Publication of CN111984328B publication Critical patent/CN111984328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)

Abstract

本发明公开了一种具有OODA循环分区机制的流式处理器,包括四个独立计算分区,每个计算分区具有多个计算单元PE,多个所述计算单元PE分别为观察计算单元O1、调整计算单元O2、想定计算单元D3和行动计算单元A4;处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元O1→调整计算单元O2→想定计算单元D3→行动计算单元A4→观察计算单元O1的执行顺序循环占用各个计算分区。该流式处理器在处理OODA多步骤作业任务时,只需要一条指令即可在四个不同的计算分区上完成处理,能够根据作业流的负载特征,设计处理器结构,以保证处理器以高效并行流水线方式执行作业流指令,提高处理器的处理效率。

Description

具有OODA循环分区机制的流式处理器
技术领域
本发明涉及一种具有OODA循环分区机制的流式处理器。
背景技术
随着具有前后依赖关系的工作流逐渐成为主要计算负载,针对处理器的结构设计逐渐向“流式”化处理指令的设计思路延伸。
然而,现有处理器结构设计往往以相同计算单元,来构建处理器上的各个独立计算核心(即:“核”)。此外,现有处理器结构所包含的各个计算分区,很难能够根据作业流的负载特征,设计处理器结构,难以保证以高效并行流水线方式执行作业流指令。
OODA环(OODA Loop)理论最早由美国空军上校John Boyd于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),同一个核心的两个计算单元共享相同的L1 cache和L2cache。同属同一分区的计算核心共享一个L3 cache。
如图2所示,每条指令执行时,按照OODA各个计算分区的执行顺序,通过共享内存实现计算分区间的数据传输。一条需要使用多个计算分区的指令,在完成一个计算分区的计算后,通过与下一顺序计算分区的共享内存,将已完成计算的分区所得到的中间过程数据传递给下一计算分区。如图2中的虚线箭头指向方向传输数据。
该流式处理器在处理OODA个独立步骤的工作流计算指令时,只需要一条指令即可在四个不同的计算分区上完成处理,能够根据作业流的负载特征,设计处理器结构;可通过两两分区间共享处理器内存方式,以流水线方式处理工作流,实现“芯片级”多工作流并行执行,提高处理工作流的处理效率。
如图3所示,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线(Bus)传输数据至下一计算分区。如图3中的虚线箭头方向传输数据。即除可用于执行OODA四个执行步骤的指令外,还可以按照当前指令集需要执行的计算需求,通过四个核心分区间两两共享处理器内存全联通Bus方式,减少执行分区间访存路径方式,因此该流失处理器除满足OODA基本指令集的指令外,满足OODA扩展指令集指令需求。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (3)

1.一种具有OODA循环分区机制的流式处理器,其特征在于,包括四个独立计算分区,每个计算分区具有多个计算单元PE处理元件,多个所述计算单元PE分别为观察计算单元O1、调整计算单元O2、想定计算单元D3和行动计算单元A4;处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元O1→调整计算单元O2→想定计算单元D3→行动计算单元A4→观察计算单元O1的执行顺序循环占用各个计算分区;处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源;两两相邻的计算分区之间通过共享内存进行分区间的数据和指令传输。
2.根据权利要求1所述的具有OODA循环分区机制的流式处理器,其特征在于,一条需要使用多个计算分区的指令,在完成一个计算分区的计算后,通过与下一顺序计算分区的共享内存,将已完成计算的分区所得到的中间过程数据传递给下一计算分区。
3.根据权利要求1或2所述的具有OODA循环分区机制的流式处理器,其特征在于,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线传输数据至下一计算分区。
CN202011078515.5A 2020-04-30 2020-10-10 具有ooda循环分区机制的流式处理器 Active CN111984328B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010374970.3A CN111506350A (zh) 2020-04-30 2020-04-30 具有ooda循环分区机制的流式处理器
CN2020103749703 2020-04-30

Publications (2)

Publication Number Publication Date
CN111984328A CN111984328A (zh) 2020-11-24
CN111984328B true CN111984328B (zh) 2023-01-20

Family

ID=71864401

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010374970.3A Pending CN111506350A (zh) 2020-04-30 2020-04-30 具有ooda循环分区机制的流式处理器
CN202011078515.5A Active CN111984328B (zh) 2020-04-30 2020-10-10 具有ooda循环分区机制的流式处理器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010374970.3A Pending CN111506350A (zh) 2020-04-30 2020-04-30 具有ooda循环分区机制的流式处理器

Country Status (1)

Country Link
CN (2) CN111506350A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325983A (zh) * 2015-06-29 2017-01-11 北京中科院软件中心有限公司 一种内存占用小、支持并发的微程模型及调度方法
CN107257955A (zh) * 2014-12-23 2017-10-17 英特尔公司 快速向量动态存储器冲突检测
CN110023904A (zh) * 2016-11-23 2019-07-16 超威半导体公司 双模式本地数据存储
CN110069441A (zh) * 2019-03-21 2019-07-30 中国科学院计算技术研究所 一种用于流计算的fpga网络及流计算系统与方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588773B2 (en) * 2013-01-07 2017-03-07 Wave Computing, Inc. Software based application specific integrated circuit
WO2015008379A1 (ja) * 2013-07-19 2015-01-22 株式会社日立製作所 データ処理装置およびデータ処理方法
CN107273195B (zh) * 2017-05-24 2020-06-02 上海艾融软件股份有限公司 一种大数据的批处理方法、装置及计算机系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107257955A (zh) * 2014-12-23 2017-10-17 英特尔公司 快速向量动态存储器冲突检测
CN106325983A (zh) * 2015-06-29 2017-01-11 北京中科院软件中心有限公司 一种内存占用小、支持并发的微程模型及调度方法
CN110023904A (zh) * 2016-11-23 2019-07-16 超威半导体公司 双模式本地数据存储
CN110069441A (zh) * 2019-03-21 2019-07-30 中国科学院计算技术研究所 一种用于流计算的fpga网络及流计算系统与方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Report on the Tenth ACM International Workshop on Data Warehousing and OLAP(DOLAP"07);Torben Bach Pedersen .etc;《ACM SIGMOD Record》;20080401;第37卷(第1期);59-61 *
基于DoDAF的岛礁区海军合同作战体系结构框架;张春明等;《指挥信息系统与技术》;20171107;第8卷(第5期);20-24 *

Also Published As

Publication number Publication date
CN111984328A (zh) 2020-11-24
CN111506350A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
US11789895B2 (en) On-chip heterogeneous AI processor with distributed tasks queues allowing for parallel task execution
US11782870B2 (en) Configurable heterogeneous AI processor with distributed task queues allowing parallel task execution
US20210055964A1 (en) Computational Partition for a Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric
KR102167059B1 (ko) 멀티-타일 프로세싱 어레이의 동기화
CN103809936A (zh) 编译或运行时执行分叉-合并数据并行程序的系统和方法
CN103999051A (zh) 用于着色器核心中着色器资源分配的策略
CN113835866B (zh) 多线程任务调度优化方法
US20200371835A1 (en) Method And Apparatus For Scheduling Matrix Operations In Digital Processing Systems
Shafique et al. Minority-game-based resource allocation for run-time reconfigurable multi-core processors
CN111258655A (zh) 融合计算方法及可读存储介质
CN112925616A (zh) 任务分配方法、装置、存储介质及电子设备
WO2019153681A1 (zh) 一种智能指令调度器
CN111767995A (zh) 运算方法、装置及相关产品
CN111984328B (zh) 具有ooda循环分区机制的流式处理器
US9760969B2 (en) Graphic processing system and method thereof
CN111767121B (zh) 运算方法、装置及相关产品
CN116795503A (zh) 任务调度方法、任务调度装置、图形处理器及电子设备
CN102184090A (zh) 一种动态可重构处理器及其固定数的调用方法
CN105468451A (zh) 一种基于高通量测序数据的计算机集群的作业调度系统
Kohútka Scheduling periodic real-time tasks with inter-task synchronisation
CN111858073B (zh) 具有ooda多分区可替换机制的处理器
US11940940B2 (en) External exchange connectivity
CN112256435B (zh) 用于图形处理器的工作组的分配方法以及图形处理器
US20170132003A1 (en) System and Method for Hardware Multithreading to Improve VLIW DSP Performance and Efficiency
Tang et al. Dynamic binding and scheduling of firm-deadline tasks on heterogeneous compute resources

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant