CN108009121A - 面向应用的动态多核配置方法 - Google Patents
面向应用的动态多核配置方法 Download PDFInfo
- Publication number
- CN108009121A CN108009121A CN201711389332.3A CN201711389332A CN108009121A CN 108009121 A CN108009121 A CN 108009121A CN 201711389332 A CN201711389332 A CN 201711389332A CN 108009121 A CN108009121 A CN 108009121A
- Authority
- CN
- China
- Prior art keywords
- process cores
- address
- hardware
- multinuclear
- cores
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
Abstract
本发明涉及面向应用的动态多核配置方法。一款SOC上存在有多个处理核。在处理器工作过程中,有些处理核未处于工作状态,但是这些处理核仍然处于使能状态,这就造成了处理器功率的消耗。为了减小处理器的功率消耗,这些处理核中哪个或哪些被使能、哪个或哪些处理核被关闭,本发明提供一种动态的任务调度分配方法,即是在处理核外部增加一个硬件地址查询模块,此硬件查询模块由多个计数器和一个状态寄存器组成。这种基于硬件的并行的思维方式进行多核处理器的动态配置,以减小处理器的功率消耗,并且硬件的处理方法准确度高、速度快和稳定性好。
Description
技术领域
本发明涉及多核系统的配置领域,具体是一种利用叫做硬件地址查询的模块实现的多核处理器的处理核的配置方法。
背景技术
随着现代科学技术的飞速发展,集成电路领域的技术要求也越来越高,集成电路密度在逐渐增加,过去的处理器都是单核的,而现在一款处理器里有多个处理核,这种多处理器是一种主流同时也是发展的必然结果,目前市场上所见到的处理器以双核、四核和八核的居多。传统上,运行在多核处理器的架构基本上是基于操作系统用软件进行分配和调度这些处理核的,会花费和浪费许多时钟周期。同时,在某些情况下不需要如此多的处理核同时进行处理时,而此时有些处理核仍在工作状态,这样会造成功率消耗的增加。多核微处理器的逐渐增加,主要目的是考虑在性能上提高其速度、准确度等。由于采用软件方法的低效率,采用硬件并行同步操作的方式进行多个处理核的分配,从而会加快整个系统的工作效率和降低处理器的功率。
发明内容
本发明的目的在于改进传统的采用软件进行多核配置的方法,提供一种面向应用的动态多核配置方法,即在微处理器外面增加一个叫做硬件地址查询的模块。该模块由多个计数器和一个状态寄存器组成。
本发明采用如下技术方案:面向应用的动态多核配置方法,在处理器的外面连接硬件地址查询模块,实现多个处理核的动态调度分配,包括以下步骤:
硬件地址查询模块监控处理核的地址变化,存储处理核的工作状态,并根据处理核的工作状态对处理核进行配置。
所述硬件地址查询模块包括状态寄存器和多个计数器;所述计数器与处理核的个数相同。
所述硬件地址查询模块监控处理核的地址变化,存储处理核的工作状态包括以下步骤:
计数器对某处理核的地址变化情况进行监控:每当处理核进行寻址操作时其地址会产生变化,那么与该处理核对应的计数器就累加一次;
处理核的地址在设定的系统时钟周期内变化次数超过阈值,则硬件地址查询模块就认为该处理核处于工作状态,那么就使能该处理核;否则认为该处理核处于睡眠状态,硬件查询地址模块就关闭该处理核;
状态寄存器的每一位都寄存与该位对应的处理核的状态。
所述状态寄存器各位的状态每间隔设定周期更新一次。
所述硬件地址查询模块的每个计数器对其对应的处理核的地址查询是并行的。
所述根据处理核的工作状态对处理核进行配置包括以下步骤:
当需要增加一个处理核来处理事件的需求时,系统程序根据状态寄存器内所寄存的状态,开启处于睡眠状态的处理核。
本发明的有益效果和优点如下:
1.实施了一种采用硬件的方法来进行多核处理器中各个核的动态分配,这种方法降低了系统时钟的浪费,同时也减小了处理器功率的消耗。
2.采用硬件的配置方法,准确率比软件高、执行时间比软件执行时间短、硬件的稳定性要比软件更高一些。
3.各个计数器的工作是采用硬件模式的并行方法,采用这种硬件操作的并行方法提高了效率、增加了稳定性、提高了准确度。
4.状态寄存器的每一位所寄存的状态是相互独立的,即每个处理核的状态查询也是并行的,采用这种方法减小了时间的消耗。
附图说明
图1为本发明总体架构图;
图2为本发明中处理核和硬件寻址模块中计数器的关系图;
图3为本发明中状态寄存器寄存各个处理核的状态图;
图4为本发明的工作流程图。
具体实施方式
下文结合实施例,为了更好的介绍此发明,更好的阐明此发明的技术方案。本文所示的实施例不是全部实施例而是本发明的一部分实施例,本发明的实施例非用以限制发明。
下面结合具体实施例的说明和附图对本发明的原理做近一步的详细阐述。
本发明在微处理器外面增加一个叫硬件地址查询的模块。该模块由多个计数器和一个状态寄存器组成。每个处理核都有一个与其对应的计数器,每当处理核进行事件的处理时,其地址的数据都是会发生变化的,硬件地址查询模块的计数器就会实时监控与其对应的处理核的地址变化情况,每当监测到处理核的数据变化时,其对应的计数器累加一次。只要在相应的系统时钟周期内,计数器的数值大于等于1,操作系统就会认为该处理核是处于工作状态。
状态寄存器寄存着处理器中各个处理核的状态。在一定系统时钟周期内,某个处理核的地址数据没有发生变化,那么用硬件地址查询模块关闭该处理核,使该处理核处于睡眠状态;如果在一定系统时钟周期内,某个处理核的地址数据发生了变化,那么使能该处理核使该处理核处于工作状态。
本发明是一种面向应用的动态多核配置方法,一个处理器内会有多个处理核,在某种工作状态下,不需要如此多的处理核同时工作,但是这些处理核处于同时工作的状态,这样就增加了处理器的功率消耗,此发明是采用硬件并行的方式进行多核处理器的动态分发的一种新方法,目的是提高多核分配的准确度,减小时钟周期的浪费和处理器的功率消耗。
本发明的实施实例是这样实现的,多核处理器内部有几个处理核,就为这个处理器的硬件地址查询模块内部设计相同数目的计数器。这些计数器是相互独立的,用这些计数器可以同时并行对处理核的地址变化情况进行实时监测。
上述所述的计数器的工作方式是在一定的系统时钟周期内,对相应的处理核的地址上的数据变化次数进行累加,如果在这样的时间里,处理核的地址处于变化状态,即计数器的累加次数大于等于1,那么就认为该处理核处于工作状态,使能该处理核,使其继续处于工作状态。相反,如果在这样的时间里,处理核的地址没有发生任何变化,那么硬件地址查询模块认为该处理核处于睡眠状态,从而硬件地址查询模块关闭该处理核。
硬件地址查询模块中的状态寄存器寄存每个处理核的状态,即为使能状态还是睡眠状态。如果是处于使能状态,那么当处理的事件增加时,需要多一个处理核来处理相应的事件,处于使能状态的处理核被认为是工作状态,不给予增加事件处理。如果此时某个处理核的状态在状态寄存器里为睡眠状态,那么就打开处理核用来处理相应的事件。
如图1所示,面向应用的动态多核配置方法,在该多核处理器的外面增加一个硬件模块为硬件地址查询模块,上述处理模块用来进行这些处理核的动态分配。硬件地址查询模块内部含有多个计数器和一个状态寄存器。
如图2所示,上述硬件地址查询模块中含有和处理核数目相同的计数器,在一定的系统时钟周期内,这些计数器用来查询处理核的地址的变化情况,此实施例所定义的时间为100个系统时钟周期。当在这100个系统时钟周期内监测到某个处理核的地址是变化的,那么认为这个处理核是处于工作状态,当在100个系统时钟周期内,某个处理核的地址没有变化,那认为该处理核处于在睡眠状态。
上述所述的各计数器是用硬件模式的并行方法,这种采用的硬件操作的并行操作的方法提高了效率、增加了稳定性、提高了准确度。
如图3所示,上述状态寄存器寄存各个处理核的状态,状态寄存器的每一位寄存一个处理核的状态。状态寄存器的各个位是相互独立的,以便使各个处理核的状态检测都是相互独立的,即并行的。每间隔100个系统时钟周期状态寄存器的位的状态就更新一次。
如图4所示,为上述硬件地址查询模块的工作流程。硬件地址查询模块,每隔100个系统时钟周期,检测与其对应核的地址变化情况,就把工作状态寄存在状态寄存器的相应位。当检测到处理核的状态寄存器的相应位是变化的,就使能该处理核,如果检测到处理核的状态寄存器的相应位是睡眠状态,就关闭相应的处理核。
Claims (6)
1.面向应用的动态多核配置方法,其特征在于,在处理器的外面连接硬件地址查询模块,实现多个处理核的动态调度分配,包括以下步骤:
硬件地址查询模块监控处理核的地址变化,存储处理核的工作状态,并根据处理核的工作状态对处理核进行配置。
2.根据权利要求1所述的面向应用的动态多核配置方法,其特征在于所述硬件地址查询模块包括状态寄存器和多个计数器;所述计数器与处理核的个数相同。
3.根据权利要求1所述的面向应用的动态多核配置方法,其特征在于所述硬件地址查询模块监控处理核的地址变化,存储处理核的工作状态包括以下步骤:
计数器对某处理核的地址变化情况进行监控:每当处理核进行寻址操作时其地址会产生变化,那么与该处理核对应的计数器就累加一次;
处理核的地址在设定的系统时钟周期内变化次数超过阈值,则硬件地址查询模块就认为该处理核处于工作状态,那么就使能该处理核;否则认为该处理核处于睡眠状态,硬件查询地址模块就关闭该处理核;
状态寄存器的每一位都寄存与该位对应的处理核的状态。
4.根据权利要求3所述的面向应用的动态多核配置方法,其特征在于所述状态寄存器各位的状态每间隔设定周期更新一次。
5.根据权利要求1或3所述的面向应用的动态多核配置方法,其特征在于,所述硬件地址查询模块的每个计数器对其对应的处理核的地址查询是并行的。
6.根据权利要求1所述的面向应用的动态多核配置方法,其特征在于所述根据处理核的工作状态对处理核进行配置包括以下步骤:
当需要增加一个处理核来处理事件的需求时,程序根据状态寄存器内所寄存的状态,开启处于睡眠状态的处理核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711389332.3A CN108009121B (zh) | 2017-12-21 | 2017-12-21 | 面向应用的动态多核配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711389332.3A CN108009121B (zh) | 2017-12-21 | 2017-12-21 | 面向应用的动态多核配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108009121A true CN108009121A (zh) | 2018-05-08 |
CN108009121B CN108009121B (zh) | 2021-12-07 |
Family
ID=62060270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711389332.3A Active CN108009121B (zh) | 2017-12-21 | 2017-12-21 | 面向应用的动态多核配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108009121B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924811A (zh) * | 2022-07-20 | 2022-08-19 | 南方电网数字电网研究院有限公司 | 多核芯片的固件部署及执行方法 |
CN117331720A (zh) * | 2023-11-08 | 2024-01-02 | 瀚博半导体(上海)有限公司 | 用于多核间通信的方法、寄存器组、芯片及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101010655A (zh) * | 2004-09-03 | 2007-08-01 | 英特尔公司 | 协调多核处理器中的空闲状态转换 |
CN101036116A (zh) * | 2004-10-01 | 2007-09-12 | 先进微装置公司 | 跨多内核的分享监控快取列 |
CN104216679A (zh) * | 2013-08-28 | 2014-12-17 | 威盛电子股份有限公司 | 微处理器及其执行方法 |
CN104239274A (zh) * | 2013-08-28 | 2014-12-24 | 威盛电子股份有限公司 | 微处理器及其配置方法 |
US20170060626A1 (en) * | 2014-12-02 | 2017-03-02 | International Business Machines Corporation | Enhanced restart of a core dumping application |
-
2017
- 2017-12-21 CN CN201711389332.3A patent/CN108009121B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101010655A (zh) * | 2004-09-03 | 2007-08-01 | 英特尔公司 | 协调多核处理器中的空闲状态转换 |
CN101036116A (zh) * | 2004-10-01 | 2007-09-12 | 先进微装置公司 | 跨多内核的分享监控快取列 |
CN104216679A (zh) * | 2013-08-28 | 2014-12-17 | 威盛电子股份有限公司 | 微处理器及其执行方法 |
CN104239274A (zh) * | 2013-08-28 | 2014-12-24 | 威盛电子股份有限公司 | 微处理器及其配置方法 |
US20170060626A1 (en) * | 2014-12-02 | 2017-03-02 | International Business Machines Corporation | Enhanced restart of a core dumping application |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924811A (zh) * | 2022-07-20 | 2022-08-19 | 南方电网数字电网研究院有限公司 | 多核芯片的固件部署及执行方法 |
CN114924811B (zh) * | 2022-07-20 | 2022-11-11 | 南方电网数字电网研究院有限公司 | 多核芯片的固件部署及执行方法 |
CN117331720A (zh) * | 2023-11-08 | 2024-01-02 | 瀚博半导体(上海)有限公司 | 用于多核间通信的方法、寄存器组、芯片及计算机设备 |
CN117331720B (zh) * | 2023-11-08 | 2024-02-23 | 瀚博半导体(上海)有限公司 | 用于多核间通信的方法、寄存器组、芯片及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108009121B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3180695B1 (en) | Systems and methods for auto-scaling a big data system | |
US8423799B2 (en) | Managing accelerators of a computing environment | |
CN103345514B (zh) | 大数据环境下的流式数据处理方法 | |
US7788519B2 (en) | Method, system, and apparatus for improving multi-core processor performance | |
WO2017016480A1 (en) | System and method for multithreaded processing | |
US20120284729A1 (en) | Processor state-based thread scheduling | |
CN101278293B (zh) | 多处理器系统的性能仿真 | |
US7665000B2 (en) | Meeting point thread characterization | |
Mao et al. | A multi-resource task scheduling algorithm for energy-performance trade-offs in green clouds | |
WO2016105791A1 (en) | Holistic global performance and power management | |
US10157155B2 (en) | Operating system-managed interrupt steering in multiprocessor systems | |
CN101477403A (zh) | 一种系统功耗自动控制方法 | |
CN102426544A (zh) | 任务分配方法和系统 | |
EP2551767B1 (en) | Method and device for adjusting clock interrupt cycle | |
CN108009121A (zh) | 面向应用的动态多核配置方法 | |
CN106095552B (zh) | 一种基于i/o去重的多任务图处理方法及系统 | |
Jin et al. | Energy-efficient task scheduling for CPU-intensive streaming jobs on Hadoop | |
CN107918558A (zh) | 基于状态机的业务流程控制方法、装置及设备 | |
CN103336684B (zh) | 一种并发处理ap消息的ac及其处理方法 | |
Hu et al. | Improved heuristic job scheduling method to enhance throughput for big data analytics | |
CN106371924A (zh) | 一种最小化MapReduce集群能耗的任务调度方法 | |
CN107193649A (zh) | 一种基于numa系统的任务调度方法及装置 | |
CN109144680A (zh) | 一种时钟滴答中断设置方法及装置 | |
US20130159501A1 (en) | Dynamic resource adaptation | |
CN105610621B (zh) | 一种分布式系统架构任务级参数动态调整的方法及装置 |
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 |