CN111984328B - 具有ooda循环分区机制的流式处理器 - Google Patents
具有ooda循环分区机制的流式处理器 Download PDFInfo
- 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
Links
- 238000000638 solvent extraction Methods 0.000 title claims description 10
- 238000005192 partition Methods 0.000 claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000003287 optical effect Effects 0.000 abstract 1
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; 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 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循环分区机制的流式处理器,其特征在于,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线传输数据至下一计算分区。
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)
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)
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 | 上海艾融软件股份有限公司 | 一种大数据的批处理方法、装置及计算机系统 |
-
2020
- 2020-04-30 CN CN202010374970.3A patent/CN111506350A/zh active Pending
- 2020-10-10 CN CN202011078515.5A patent/CN111984328B/zh active Active
Patent Citations (4)
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)
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 |