CN111858073B - 具有ooda多分区可替换机制的处理器 - Google Patents
具有ooda多分区可替换机制的处理器 Download PDFInfo
- Publication number
- CN111858073B CN111858073B CN202010865739.4A CN202010865739A CN111858073B CN 111858073 B CN111858073 B CN 111858073B CN 202010865739 A CN202010865739 A CN 202010865739A CN 111858073 B CN111858073 B CN 111858073B
- Authority
- CN
- China
- Prior art keywords
- partition
- instruction
- processor
- partitions
- processing core
- 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
- 238000005192 partition Methods 0.000 title claims abstract description 106
- 230000007246 mechanism Effects 0.000 title claims abstract description 10
- 238000012545 processing Methods 0.000 claims abstract description 42
- 230000009471 action Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 4
- 230000008520 organization Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/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/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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
-
- 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/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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;所述通用处理核心分区内设有多个ALU计算单元,处理器每条指令分别占用五个分区的部分或全部资源。本发明利用OODA多分区结构,来设计功能可替换的多核处理器。在处理多步骤作业任务时,只需要一条指令即可在四个不同的分区上完成处理,能够随指令需求,按需调整处理器计算核心组织结构,合理利用计算资源,使得处理效率明显高于比传统处理器的处理效率。
Description
技术领域
本发明涉及一种具有OODA多分区可替换机制的处理器。
背景技术
随着计算机体系结构学科的不断进步,针对处理器的结构设计逐渐向“多核”化的设计思路延伸。现有多核处理器结构,包括SMP、NUMA、MPP,以及共享存储器结构。
然而,现有处理器结构设计往往以相同计算单元,来构建处理器上的各个独立计算核心(即:“核”)。此外,现有处理器结构以固定的多核结构为主,很难能够随指令需求,按需调整处理器计算核心组织结构。
OODA环(OODA Loop)理论最早由美国空军上校John Boyd于1966年提出,是用于描述军事指挥决策过程的主要模型框架。OODA环依次由:观察(Observe),调整(Orient),想定(Decide),行动(Act),在内共四步以循环方式执行军事决策。OODA环理论完成决策或复杂问题的思维过程,整是人脑理性思维的思维定式。
发明内容
本发明的目的是提供一种具有OODA多分区可替换机制的处理器,以解决现有处理器结构以固定的多核结构为主,很难能够随指令需求,按需调整处理器计算核心组织结构的问题。
为解决上述技术问题,本发明提供一种具有OODA多分区可替换机制的处理器,包括多个特定处理核心分区和一个通用处理核心分区;每个所述特定处理核心分区内设有多个计算单元PE;所述通用处理核心分区内设有多个ALU计算单元,处理器每条指令分别占用五个分区的部分或全部资源。
进一步地,处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
进一步地,处理器运行指令时执行以下步骤:
S1:通过指令存储器取出指令;
S2:通过指令译码器将指令存储器取出的所述指令翻译为机器指令并进入指令队列;
S3:根据当前指令队列中队首机器指令所需的计算单元,通过分区选择控制器选择与之对应的多个特定处理核心分区,作为可运行分区。
进一步地,该处理器包括四个特定处理核心分区和一个通用处理核心分区。
进一步地,所述四个特定处理核心分区中均分别包括四类计算单元,所述四类计算单元分别为:观察计算单元O1、调整计算单元O2、想定计算单元D3和行动计算单元A4。
进一步地,根据当前指令队列中指令需要占用的分区,通过分区选择控制器在五个可选分区中选择四个需要执行计算的分区,当处理器完成分区选择后,被选择的分区进入运行状态,按照处理器的指令执行顺序分别占用各个可运行分区的计算单元,执行计算指令;未被选择的分区内将被暂时断电,该分区将进入停机节能状态。
进一步地,所述多个特定处理核心分区和一个通用处理核心分区分别共享同一内存,且各分区之间通过该共享内存进行分区间的数据传递。
本发明的有益效果为:在处理多步骤作业任务时,只需要一条指令即可在四个不同的分区上完成处理,能够随指令需求,按需调整处理器计算核心组织结构,合理利用计算资源,使得处理效率明显高于比传统处理器的处理效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明一个实施例的分区结构示意图;
图2为本发明一个实施例的处理器可运行分区替换举例示意图;
图3为本发明一个实施例的可运行分区功能结构示意图。
具体实施方式
如图1所示的具有OODA多分区可替换机制的处理器,包括多个特定处理核心分区和一个通用处理核心分区;每个所述特定处理核心分区内设有多个计算单元PE;所述通用处理核心分区内设有多个ALU计算单元,处理器每条指令分别占用五个分区的部分或全部资源。处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
特别地,根据OODA环(OODA Loop)理论,可以将该处理器分为四个特定处理核心分区和一个通用处理核心分区;所述四个特定处理核心分区中均分别包括四类计算单元,所述四类计算单元分别为:观察(Observe)计算单元O1、调整(Orient)计算单元O2、想定(Decide)计算单元D3和行动(Act)计算单元A4。
针对具有OODA个独立步骤的工作流计算指令,可通过四个核心分区和共享处理器内存方式,以流水线方式处理工作流,实现“芯片级”多工作流并行执行,提高处理工作流的处理效率。
处理器运行指令时执行以下步骤:
S1:通过L1 Cache指令存储器取出指令;
S2:通过指令译码器将指令存储器取出的所述指令翻译为机器指令并进入指令队列;
S3:根据当前指令队列中队首机器指令所需的计算单元,通过分区选择控制器选择与之对应的四个特定处理核心分区,作为可运行分区。
如图2所示,根据当前指令队列中指令需要占用的分区,通过分区选择控制器在五个可选分区中选择四个需要执行计算的分区,当处理器完成分区选择后,被选择的分区进入运行状态,按照处理器的指令执行顺序分别占用各个可运行分区的计算单元,执行计算指令;未被选择的分区内将被暂时断电,该分区将进入停机节能状态。该处理器能够根据业务类型优化分配计算单元,合理利用计算资源,可以保证不浪费,节省开销。
如图3所示,所述多个特定处理核心分区和一个通用处理核心分区分别共享同一内存,且各分区之间通过该共享内存进行分区间的数据传递,以便于数据访问且方便替换分区数据。
本专利的处理器,工作流指令类型可扩展。本专利的处理器,除可用于执行OODA四个执行步骤的指令外,还可以按照当前指令集需要执行的计算需求,通过替换分区方式,选择可运行的计算分区。除满足OODA基本指令集的指令外,满足OODA扩展指令集指令需求。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (4)
1.一种具有OODA多分区可替换机制的处理器,其特征在于,包括多个特定处理核心分区和一个通用处理核心分区;每个所述特定处理核心分区内设有多个计算单元PE;所述通用处理核心分区内设有多个ALU计算单元,处理器每条指令分别占用五个分区的部分或全部资源;
该处理器包括四个特定处理核心分区和一个通用处理核心分区;所述四个特定处理核心分区中均分别包括四类计算单元,所述四类计算单元分别为:观察计算单元O1、调整计算单元O2、想定计算单元D3和行动计算单元A4;
根据当前指令队列中指令需要占用的分区,通过分区选择控制器在五个可选分区中选择四个需要执行计算的分区,当处理器完成分区选择后,被选择的分区进入运行状态,按照处理器的指令执行顺序分别占用各个可运行分区的计算单元,执行计算指令;未被选择的分区内将被暂时断电,该分区将进入停机节能状态。
2.根据权利要求1所述的具有OODA多分区可替换机制的处理器,其特征在于,处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
3.根据权利要求2所述的具有OODA多分区可替换机制的处理器,其特征在于,处理器运行指令时执行以下步骤:
S1:通过指令存储器取出指令;
S2:通过指令译码器将指令存储器取出的所述指令翻译为机器指令并进入指令队列;
S3:根据当前指令队列中队首机器指令所需的计算单元,通过分区选择控制器选择与之对应的多个特定处理核心分区,作为可运行分区。
4.根据权利要求1所述的具有OODA多分区可替换机制的处理器,其特征在于,所述多个特定处理核心分区和一个通用处理核心分区分别共享同一内存,且各分区之间通过该共享内存进行分区间的数据传递。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010369426.XA CN111506433A (zh) | 2020-04-30 | 2020-04-30 | 具有ooda多分区可替换机制的处理器 |
CN202010369426X | 2020-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858073A CN111858073A (zh) | 2020-10-30 |
CN111858073B true CN111858073B (zh) | 2023-08-01 |
Family
ID=71876614
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010369426.XA Pending CN111506433A (zh) | 2020-04-30 | 2020-04-30 | 具有ooda多分区可替换机制的处理器 |
CN202010865739.4A Active CN111858073B (zh) | 2020-04-30 | 2020-08-25 | 具有ooda多分区可替换机制的处理器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010369426.XA Pending CN111506433A (zh) | 2020-04-30 | 2020-04-30 | 具有ooda多分区可替换机制的处理器 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111506433A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207782A (zh) * | 2013-03-27 | 2013-07-17 | 北京航空航天大学 | 基于multi-kernel MOS 的分区系统构建方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6587938B1 (en) * | 1999-09-28 | 2003-07-01 | International Business Machines Corporation | Method, system and program products for managing central processing unit resources of a computing environment |
US20120215574A1 (en) * | 2010-01-16 | 2012-08-23 | Management Consulting & Research, LLC | System, method and computer program product for enhanced performance management |
CN101788920A (zh) * | 2010-02-05 | 2010-07-28 | 北京航空航天大学 | 一种基于处理器分区技术的cpu虚拟化方法 |
CN106528475A (zh) * | 2016-11-21 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种支持单八路和双四路动态分区的多路计算机系统 |
CN109901820B (zh) * | 2019-01-17 | 2022-03-04 | 西北工业大学 | 一种符合do-178b/c的机载软件敏捷开发过程的优化方法 |
-
2020
- 2020-04-30 CN CN202010369426.XA patent/CN111506433A/zh active Pending
- 2020-08-25 CN CN202010865739.4A patent/CN111858073B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207782A (zh) * | 2013-03-27 | 2013-07-17 | 北京航空航天大学 | 基于multi-kernel MOS 的分区系统构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111858073A (zh) | 2020-10-30 |
CN111506433A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11782870B2 (en) | Configurable heterogeneous AI processor with distributed task queues allowing parallel task execution | |
CN112465129B (zh) | 片内异构人工智能处理器 | |
Kim et al. | Composable lightweight processors | |
CN1117319C (zh) | 在多线程处理器中改变线程优先级的方法和装置 | |
CN106909444B (zh) | 用于指定应用线程性能状态的指令的指令处理装置及相关方法 | |
US20140129808A1 (en) | Migrating tasks between asymmetric computing elements of a multi-core processor | |
WO2015106533A1 (zh) | 基于协处理器的作业调度处理方法及装置 | |
US20140137123A1 (en) | Microcomputer for low power efficient baseband processing | |
CN106201707A (zh) | 处理器资源分配方法及装置 | |
EP1416377B1 (en) | Processor system with a plurality of processor cores for executing tasks sequentially or in parallel | |
CN1825286A (zh) | 嵌入式sram操作系统线程实现和线程状态转换的方法 | |
CN107180010A (zh) | 异构计算系统和方法 | |
KR20220016859A (ko) | 디지털 처리 시스템에서 매트릭스 작업을 스케줄링하기 위한 방법 및 장치 | |
Madhu et al. | Compiling HPC kernels for the REDEFINE CGRA | |
Li et al. | Symbiotic scheduling of concurrent GPU kernels for performance and energy optimizations | |
Thomas et al. | Dynamic optimizations in gpu using roofline model | |
CN111045800A (zh) | 一种基于短作业优先的优化gpu性能的方法及系统 | |
Poss et al. | Apple-CORE: Microgrids of SVP Cores--Flexible, General-Purpose, Fine-Grained Hardware Concurrency Management | |
CN111858073B (zh) | 具有ooda多分区可替换机制的处理器 | |
EP2652597B1 (en) | Method and apparatus for scheduling the issue of instructions in a microprocessor using multiple phases of execution | |
Garcia et al. | A dynamic schema to increase performance in many-core architectures through percolation operations | |
Hussain et al. | AMMC: Advanced multi-core memory controller | |
CN111221640B (zh) | 一种gpu-cpu协同节能方法 | |
CN111984328A (zh) | 具有ooda循环分区机制的流式处理器 | |
CN111813562B (zh) | 具有ooda多分区io资源池机制的服务器主机 |
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 |