CN109614153A - 多核芯片及系统 - Google Patents
多核芯片及系统 Download PDFInfo
- Publication number
- CN109614153A CN109614153A CN201811314925.8A CN201811314925A CN109614153A CN 109614153 A CN109614153 A CN 109614153A CN 201811314925 A CN201811314925 A CN 201811314925A CN 109614153 A CN109614153 A CN 109614153A
- Authority
- CN
- China
- Prior art keywords
- core
- voltage
- physical core
- physical
- chip
- 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
- 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
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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/4405—Initialisation of multiprocessor systems
-
- 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
-
- 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
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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
Abstract
本发明提供了一种多核芯片及系统,该多核芯片包括:第一物理核心,用于负责系统的关机和启动,在收到系统关机指令的情况下,提取系统启动最小资源集并保存至第一内置内存中,并通知所述主CPU关闭所述系统;在收到系统开机指令的情况下,将所述第一内置内存中的所述系统启动最小资源集拷贝至所述主内存,并将系统控制权转交至所述主CPU;第一内置内存,用于保存所述系统启动最小资源集;电源管理芯片,用于通过电压转换实现多级电压的输出,用于在系统开机状态下为系统提供工作电压,以及在系统关机状态下为所述第一物理核心提供所述第二电压。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种多核芯片及系统。
背景技术
随着智能硬件和人工智能的发展,电子产品具备功能也越来越复杂,系统容量越来越大,尤其智能硬件普遍具有操作系统,随着外围设备增多,开机时间较长。一方面,导致用户体验变差,另一方面,用户可能不愿意关机,从而导致功耗水平上升,不利于带电池的智能设备续航。
目前针对智能终端开机优化主要有如下两种方式:
方式一:采用关机待机,在用户关机指令执行中不执行真正关机,其本质是不关机,以提高下次开机速度。
方式二:采用软件裁剪,削减操作系统内核大小以及加载时间,从而提高启动速度。
但是,在方式一中,由于待机功耗较高,从而会缩减电池寿命和续航时间,以及硬件长时间不断电缩短了产品使用寿命。而在方式二中,由于通用性不强,很难适用多个领域。特别是系统越来越大,裁剪不当很难满足行业多样性发展。
发明内容
本发明实施例提供了一种多核芯片及系统,以至少解决相关技术中系统启动速度较慢的问题。
根据本发明的一个实施例,提供了一种多核芯片,包括:主CPU和主内存,该多核芯片还包括:第一物理核心,用于负责系统的关机和启动,在收到系统关机指令的情况下,提取系统启动最小资源集并保存至第一内置内存中,并通知所述主CPU关闭所述系统;在收到系统开机指令的情况下,将所述第一内置内存中的所述系统启动最小资源集拷贝至所述主内存,并将系统控制权转交至所述主CPU,其中,所述第一物理核心可工作在第一电压和第二电压状态下,其中,所述第一电压为所述第一物理核心的正常工作电压,所述第二电压为系统关机状态下,所述第一物理核心的保持电压,所述第一电压大于所述第二电压;第一内置内存,用于保存所述系统启动最小资源集;电源管理芯片,用于通过电压转换实现多级电压的输出,用于在系统开机状态下为系统提供工作电压,以及在系统关机状态下为所述第一物理核心提供所述第二电压。
根据本发明的另一个实施例,还提供了一种电子系统,该电子系统包括外围设备以及上述实施例中的多核芯片。
根据本发明的再一个实施例,还提供了一种基于上述实施例的系统的电源管理方法,该方法包括:当所述电源管理芯片接收到系统开机指令时,为系统各部件提供正常工作电压,并将所述第一物理核心的电压从所述第二电压调节至所述第一电压;当所述电源管理芯片接收到系统关机指令时,切断系统各部件的电压,对所述第一物理核心继续供电,并将所述第一物理核心的电压从所述第一电压调节至所述第二电压。
根据本发明的再一个实施例,还提供了一种基于上述实施例的系统的关机方法,该方法包括:所述第一物理核心关机接收系统关机指令;所述第一物理核心提取系统启动最小资源集,以及当前用户进程地址和路径,并拷贝至所述第一内置内存中;所述第一物理核心通知所述主CPU进行强制进程关闭,并通知所述电源管理芯片关闭系统电源。
根据本发明的再一个实施例,还提供了一种基于上述实施例的系统的开机方法,该方法包括:所述第一物理核心接收系统开机指令;所述第一物理核心将所述第一内置内存中保存的系统启动最小资源集拷贝至所述主内存中;所述第一物理核心将系统控制权转交至所述主CPU。
根据本发明的再一个实施例,还提供了一种基于上述实施例的系统的系统恢复方法,该方法包括:所述第一物理核心接收恢复到上次关机前状态指令;所述第一物理核心将所述第一内置内存中保存的开机指令拷贝到所述主内存以启动系统;所述第一物理核心将所述第一内置内存中保存的关机前内存镜像拷贝到所述主内存,所述第一物理核心将系统控制权转交至所述主CPU。
根据本发明的再一个实施例,还提供了一种基于上述实施例所述系统的系统崩溃恢复方法,该方法包括:检查所述第一定时器和所述第二定时器是否超时;如果所述第一定时器超时,所述第二定时器不超时,则复位所述主CPU以及除所述第一物理核心外的其它物理核心;如果所述第二定时器超时,复位所述第一物理核心。
根据本发明的再一个实施例,还提供了一种基于上述实施例所述系统的外围设备管理方法,该方法包括:判断系统是处于正常工作状态还是关机低功耗状态;如果系统处于正常工作状态,检查外围设备是否存在启动异常和/或检测外围设备是否存在温度异常,如果是,则通过可靠性功能模块启动修复程序和/或启动温度保护程序对所述外围设备进行修复和/或温度保护。
在本发明的上述实施例中,在多核芯片中引入一个低功耗物理核心和电源管理芯片,通过电源管理芯片对多核芯片进行分级电压电源控制,使得该低功耗物理核心在整机关机断电条件下仍可正常工作,该物理核心通过内置小容量内存保存开机必要指令集,因此收到开机指令时,该物理核心通过内存映射拷贝到主内存中,从而可以大大缩短开机时间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的多核芯片结构示意图;
图2是根据本发明实施例的具有该多核芯片的系统结构示意图;
图3是根据本发明实施例的电源管理架构示意图;
图4是根据本发明实施例的电源管理方法流程图;
图5是根据本发明实施例的关机方法流程图;
图6是根据本发明可选实施例的开机方法流程图;
图7是根据本发明可选实施例的内存结构示意图;
图8是根据本发明实施例的系统现场恢复方法流程图;
图9是根据本发明实施例的系统崩溃恢复方法流程图;
图10是根据本发明实施例的外围设备可靠性管理方法流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明实施例所提供的多核芯片、具有该核芯片的系统以及基于该系统的电源管理方法,快速开机方法以及系统恢复方法等
本发明实施例提供了一种多核芯片。本实施例的所提供的多核芯片可以基于现有多核芯片来实现,即,在现有多核芯片的基础上增加相应的功能部件。图1为本实施例的多核芯片结构示意图,如图1所示,在本实施例中,该多核芯片除了包括现有多核芯片所具有的主CPU 10和主内存20外(现有的多核芯片还包括其他部件,在图中未示出),该多核芯片还包括第一物理核心30、第一内置内存40和电源管理芯片50。
第一物理核心30,用于负责系统的关机和启动,在收到系统关机指令的情况下,提取系统启动最小资源集并保存至第一内置内存40中,并通知所述主CPU 10关闭所述系统;在收到系统开机指令的情况下,将所述第一内置内存40中的所述系统启动最小资源集拷贝至所述主内存20,并将系统控制权转交至所述主CPU 10,其中,所述第一物理核心30可工作在第一电压和第二电压状态下,其中,所述第一电压为所述第一物理核心30的正常工作电压,所述第二电压为系统关机状态下,所述第一物理核心30的保持电压,所述第一电压大于所述第二电压;
第一内置内存40,用于保存所述系统启动最小资源集;
电源管理芯片50,用于通过电压转换实现多级电压的输出,用于在系统开机状态下为系统提供工作电压,以及在系统关机状态下为所述第一物理核心30提供所述第二电压。
在上述实施例中,第一物理核心可以采用复用目前多核芯片架构中的任意一个物理核心,这样可以简化现有芯片设计。当然,第一物理核心也可以采用在目前芯片架构中增加一个专用物理核心来实现。
在上述实施例中,所述第一内置内存可以采用内置小容量、低功耗的RAM,从而提供内存的读写效率。
在上述实施例中,该多核芯片还可以内置可靠性功能模块,该可靠性模块内置通用的可靠性程序,包括设备修复程序、外围设备温度保护程序以及低功耗外围设备自检程序。该模块可以实现产品外围设备管理以及多核芯片崩溃自救。
本发明实施例提供了一种具有上述多核芯片的系统,如图2所示,在本实施例中,该多核芯片包括多个物理核心205、多线程206、多级缓存207、高速内置内存208以及内存管理单元209。
其中,在本实施例中,该系统还具有外围电路,该外围电路包括:系统总线202、内存RAM 203、外存ROM 204。除此之外整个系统还包括电源管理模块210。其中,多核芯片105与内存RAM 103、外存ROM 104通过系统总线102连接交互。
在本实施例中,物理核心CORE X是指专门为多核芯片引入的一颗低功耗物理核心,该物理核心既可以采用复用现有多核芯片某个核心实现,也可以重新设计,在现有设计中设计全新的物理核心。本实施例采用单独设计举例。
该物理核心CORE X典型特征包括可以工作在常电压下例如3.6V,也可以工作在低电压下工作,本实施例采用1.8V。该物理核心配置了可以在低电压下工作的高速缓存或者内存RAM0,RAM0用来存放开机系统指令集,可选地也可以用来存放当前运行进程地址指针。
考虑目前RAM读写效率远远大于主流FLASH芯片读写效率,例如某主流FLASH芯片参数约为读取200MB/s,写入20MB/s,而主流移动终端LPDDR4RAM读写效率参数约为读取25GB/s,写入10GB/s。可见,RAM读效率约为ROM的100倍,而写效率约为ROM的50倍。因此RAM0理论可以大大缩短开机加载时间,假设传统开机程序加载需要20秒,而使用RAM0仅耗时200ms就可完成加载。效率提升约20s。
该多核芯片各模块功能描述如下:
多核芯片201:其包括多个物理核心CORE 0至CORE X;
系统总线202:即连接芯片与外围设备、外围器件的总线,负责各个芯片与各个内部器件的通信;
主内存203:即,RAM,2203,针对智能设备一般是指memory;
ROM 204:即外存,针对智能设备一般是指FLASH,用来存放各种安装或者可执行文件;
CORE X 205:即物理核心X,该物理核心是一颗低功耗物理核心,主要负责系统可靠性算法维护以及性能优化。
多线程206:即Thread X,负责指令并行执行,提高物理核心执行效率。
高速缓存207:即Cache,通常芯片内部可预置多级高速缓存,并且每个物理核心都可配置不同的缓存容量和个数。
内存208:即RAM0,是指专门为物理核心COREX配置的小容量内存,或者高速缓存。
内存管理单元209:即MMU,负责针对系统中各个物理内存进行映射和寻址。
电源管理芯片210,可以通过对电压进行转换实现多级电压的输出,从而对系统的上述各功能部件提供工作电压。在系统关机状态下继续为CORE X 205提供较低的维持电压。
基于上述的多核芯片,本发明还提供了一种电源管理系统。在本实施例中,多核芯片中的电源管理芯片可以提供多级电压输出和控制,为保持低功耗物理核心在关机状态达到省电的目的,可以在关机时保持物理核心最低电压供给,从而降低功耗。如图3所示,本实施例中各模块功能描述如下:
电源管理芯片301:该芯片可以提供多种电压输出与转换,并可以编程实现多级电压输出。
物理核心CORE X输入电路302:该电路可以在关机状态继续保持输入,在整个CPU其他核心断电状态下依然保持可变电压供给,满足该CPU物理核心CORE X正常工作。
CPU主输入电路303:为CPU提供正常电流电压输入,保证CPU在开机状态下正常工作。
总线输入电路304:为总线提供电流电压输入,保证系统总线正常通信。
RAM输入电路305:为系统主内存提供电流电压输入,保证内存正常上电工作。
ROM输入电路306:为系统外存提供电流电压输入,保证外存正常上电工作,其他应用进程可以正常读写。
基于前文实施例中的多核芯片,本发明实施例还提供了一种电源管理方法,如图4所示,该电源管理方法包括如下流程:
步骤S401:用户指令输入;
智能设备通常提供外围按键或者操作UI进行用户指令输入,例如可提供开机按键,或者不同按键定义不同事件,并且可以提供多种按键组合满足不同指令输入,例如快速开机为按键1,恢复到上次关机前状态为按键1+按键3等。
判断C401:是否为开机指令;
按键指令输入后,通常电源管理芯片可以直接判定当前是否开开机或者关机指令,或者其他指令,如果是开机指令则执行步骤S302;否者执行判断C402。
步骤S402:为CPU或者外围RAM以及电路供电;
如果当前输入为开机指令,则电源管理芯片开始为外围CPU、RAM、ROM等提供电源输入,保证智能设备物理器件正常工作电压。
步骤S403:调节物理核心CORE X为正常供电电压;
与此同时,电源管理芯片切换电压开关,保证物理核心CORE X在正常电压正常工作。
判断C402:判断是否为关机指令;
如果用户输入为关机指令,则执行步骤S404;否则执行步骤406,异常处理,通常采用忽略不处理按按键指令。
步骤S404:切断CPU主路电源、RAM与ROM等外围电路电源;
关机时,电源管理芯片切断CPU主电源输入,以及RAM,ROM,总线等外围电路电源输入,保证关机状态下物理核心CORE X以低耗电工作,且仅只有物理核心CORE X工作。
步骤S405:调节物理核心CORE X为1.8v低电压工作状态;
电源管理芯片切换物理核心电压为1.8v低功耗工作状态。
步骤S406:异常处理;
用户按键为开关机按键,但是按键时间不满足或者其他条件不满足,电源管理芯片无法判断为开机或者关机指令,则忽略该按键指令,不做任何处理。
步骤S407:结束;
本发明实施例还提供了一种多核芯片关机方法,如图5所示,该关机方法包括如下流程:
步骤S501:POWER OFF;
系统检测用户输入为关机指令。
步骤S502:电源管理芯片收到关机指令;
电源管理芯片检测为关机指令。
步骤S503:通知物理核心CORE X关机消息;
电源管理芯片通知当前CPU物理核心CORE X关机消息,物理核心CORE X负责系统开机和关机。
步骤S504:物理核心CORE X统计当前系统用户进程信息;
物理核心CORE X从CPU 0获取当前系统系统用户进程信息,包括进程ID,进程入口地址,进程名和进程路径等信息,同时区分当前进程为系统进程或者用户进程,尤其针对当前系统运行进程,需要标识当前运行进程,可选的可以用于系统开机恢复上次状态。
步骤S505:CORE X对系统进程和用户进程进行分级;
物理核心CORE X对系统进程和用户进程分级,用户进程优先级低于系统进程,通常简单可以通过系统自启动列表判断是否为系统进程,非自启动进程都可以认为用户进程。
步骤S506:提取系统启动最小资源集;
物理核心CORE X需要提取系统启动最小资源集,在系统进程中排除外设和通信进程,针对智能设备,通常认为外设进程为非必须进程,通信芯片相关进程为非必须进程。内核态线程为第一优先进程。
步骤S507:物理核心CORE X提取当前用户进程地址和路径,进行压缩加密,然后拷贝到RAM0不同进程镜像区;
物理核心CORE X提取用户进程地址和路径,然后进行压缩加密,保存在RAM0用户进程镜像区。系统进程拷贝到系统镜像区。
步骤S508:物理核心CORE X通知CORE 0进行强制进程关闭;
物理核心CORE X完成关机前信息记录,通知CORE 0强制关闭系统进程,通知电源管理芯片关机。
步骤S509:电源管理芯片关闭CPU,RAM,ROM等外围电路电源输入;
电源管理芯片断开CPU,RAM,ROM等外围电路电源输入,仅保留CPU物理核心CORE X电源输入,同时调节该物理核心CORE X电压为1.8v,保持该物理核心在低电压下正常工作。
基于前文实施例中的多核芯片架构,本发明实施例提供了一种快速开机方法,如图6所示,该快速开机方法包括如下步骤:
步骤S601:POWER ON;
用户开机,用户按下开机按键。
步骤S602:电源管理芯片收到开机指令;
电源管理芯片检测到用户开机。
步骤S603:CPU,RAM,ROM等外围电路上电;
电源管理芯片为CPU,RAM,ROM等外围电路供电,保证系统物理硬件正常电源输入。
步骤S604:电源管理芯片通知物理核心CORE X开机指令;
电源管理芯片通知CPU物理核心CORE X开机指令。
步骤S605:CORE X拷贝系统启动指令集和开机程序到主内存RAM;
物理核心CORE X拷贝系统启动指令集和开机程序到主内存RAM,由于RAM0已经在系统启动指令区存储了开机需要的BOOT程序和系统地址,CORE X拷贝启动信息到主CPU可以大大节约系统从外存拷贝到内存需要时间,并且缩小动态加载程序数量,只优先启动和用户体验相关程序,例如UI,指示灯等影响用户体验的程序。
步骤S606:CORE X复位CPU其他核心转交控制权到CORE 0;
物理核心CORE X负责复位CPU其他物理核心,同时转交系统控制权到CORE 0,完成开机过程。
步骤S607:系统启动;
此时,系统完成启动,对应在智能设备体现为UI准备就绪。
步骤S608:启动外设芯片或者进程;
然后系统开始自启动其它低优先级进程或者芯片,例如,在智能手机中通信芯片或者蓝牙芯片或者WIFI芯片启动速度快,而且对用户体验影响弱,则可以在系统启动后启动这些外围芯片。加速启动过程。
基于前文实施例中的多核芯片架构中的内置小容量内存,本发明实施例还提供了一种内存映射结构,如图7,该内置小容量内存包括:系统预留区701、系统启动指静态区702、系统启动镜像区703和用户进程镜像区704;
下面结合附图对该内存映射结构进行详细说明:
系统预留区701:指专门为CORE X预留系统区,供CORE X备份自身系统数据。
系统启动静态区702,用于保存ROM中系统启动引导程序和指令集。
系统启动镜像区703:指专门保存关机前系统关键进程地址和程序数据,供快速开机可以直接拷贝到主内存使用的地址区间。
用户进程镜像区704:指用来保存关机前用户进程地址和程序数据,用来实现快速启动后进程快速加载,可选的可用来实现关机前现场恢复。
基于前文实施例中的多核芯片架构,本发明实施例还提供了一种快速现场恢复方法,如图8所示,该快速现场恢复方法包括如下步骤:
判断C801:是否恢复到上次关机前状态;
步骤S801:正常开机流程;
步骤S802:电源管理芯片为CPU,RAM,ROM等外围设备供电;
步骤S803:物理核心CORE X拷贝RAM0中开机指令到主内存;
步骤S804:系统启动;
步骤S805:物理核心CORE X拷贝RAM0关机前内存镜像到主内存;
步骤S806:物理核心CORE X转交控制权到CORE 0;
步骤S807:结束;
基于前文实施例中的多核芯片架构,本发明实施例还提供了一种系统崩溃恢复方法。在本实施例中,系统采用看门狗策略,看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。本发明中提出基于物理核心CORE X的双看门狗策略,主CPU采用定时器T1,物理核心CORE X采用定时器T2,T2大于T1,通常采用1.5*T1值长。当T1超时T2未超时,则清空当前进程数据,物理核心CORE X负责拷贝当前主内存中进程地址数据,为提高系统效率,本实施只拷贝系统关键进程数据,例如网络进程,UI进程等,然后重置CPU,重新加载保存进程地址数据。;只有当定时器T1&T2同时超时,重启系统,进入重新快速开机流程。
如图9所示,本实施的系统崩溃恢复方法的步骤为:
步骤S901:T1复位;
定时器T1未超时时,复位T1。
判断C901:定时器T1是否超时;
检查主CPU看门狗T1是否超时,如果定时器T1超时,则执行判断C902;否则执行步骤S901。
判断C902:定时器T2是否超时;
检查物理核心CORE X看门狗T2是否超时,如果定时器T2超时,则执行步骤S902;否则执行步骤S806。
步骤S902:复位物理核心CORE X;
T2超时意味着物理核心CORE X可能已经失去响应,此时复位该物理核心。
步骤S903:物理核心CORE X拷贝当前进程外系统内存进程镜像到RAM0;
物理核心CORE X拷贝当前系统中出当前进程外其他内存进程镜像到RAM0,备份用户进程地址与数据。
步骤S904:重启系统;
重启系统,电源管理芯片断开CPU,RAM,ROM等电源输入,然后重新启动。
步骤S905:物理核心CORE X加载系统RAM0关键进程数据到主内存;
物理核心CORE X拷贝RAM0中关机数据到主内存,最大限度恢复系统崩溃前状态。
步骤S906:清除当前CPU执行进程数据和进程;
物理核心CORE X清除CORE 0到CORE N所有寄存器缓存数据。
步骤S907:复位其他CPU核心;
物理核心CORE X复位主CPU电路。
步骤S908:保持待机状态,即,系统保持待机正常运行状态。
基于前文实施例中的多核芯片架构,本发明实施例还提供了一种外围设备可靠性管理方法。在本实施例中,通过内置的可靠性模块可以在正常工作模式下与低功耗关机模式下,动态检查外围设备运行状态,或者检查设备是否出现异常并尝试修复。
在本实施例中,该可靠性模块可内置外围设备修复程序、外围设备温度保护程序以及低功耗外围设备自检程序,通过通用的可靠性程序,包括设备修复程序、外围设备温度保护程序以及低功耗外围设备自检程序,该模块可以实现外围设备可靠性检查算法,并在低功耗下对外围设备进行控制。
本实施中外围设备包括不限于:内存、FLASH、指示灯、屏幕、蓝牙,WIFI以及通信模组等。
如图10所示,该外围设备可靠性管理方法包括如下步骤:
判断S1001:是否处于关机低功耗状态;
判断当时多核芯片是处于正常工作状态还是已经关机进入低功耗状态,如果处于正常工作状态,执行判断S1002;如果处于非正常工作状态,即关机低功耗状态,则执行判断S1004。
判断S1002:检查外围设备是否存在启动异常;
判断当前外围设备是否存在启动异常,如果存在启动异常,则执行步骤S1003,进行尝试修复;否则执行判断S1004。
步骤S1003:启动修复程序;
执行修复程序,尝试重新启动外围设备,或者重新加载外围设备。
判断S1004:检查外围设备工作温度是否异常;
判断检查外围设备工作温度是否正常,如果工作温度异常,则执行步骤S1005;否则执行步骤S1009。
步骤S1005:启动温度保护程序;
执行温度保护程序,执行内置的温度保护程序,例如常用控制速率,控制工作频率等方式。
步骤S1006:启动外围设备自检程序;
启动外围设备自检程序,检查外围设备工作日志中存在的异常。
判断S1007:检查外围设备是否异常;
判断检查外围设备是否存在异常,如果存在则执行步骤S1008;否则执行步骤S1009。
步骤S1008:启动修复程序;
启动修复程序,尝试修复外围设备运行中的异常,根据异常日志中异常分类,启用不用修复方法。
判断S1009:判断外围设备是否需要高可靠性保护;
判断外围设备是否需要高可靠性保护,如果是的话执行S1010;否则执行S1011。
步骤S1010:加入高可靠性保护列表;
对该外围设备或者应用进行高可靠性保护。
步骤S1011:结束;
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (21)
1.一种多核芯片,包括主CPU和主内存,其特征在于,还包括:
第一物理核心,用于负责系统的关机和启动,在收到系统关机指令的情况下,提取系统启动最小资源集并保存至第一内置内存中,并通知所述主CPU关闭所述系统;在收到系统开机指令的情况下,将所述第一内置内存中的所述系统启动最小资源集拷贝至所述主内存,并将系统控制权转交至所述主CPU,其中,所述第一物理核心可工作在第一电压和第二电压状态下,其中,所述第一电压为所述第一物理核心的正常工作电压,所述第二电压为系统关机状态下,所述第一物理核心的保持电压,所述第一电压大于所述第二电压;
第一内置内存,用于保存所述系统启动最小资源集;
电源管理芯片,用于通过电压转换实现多级电压的输出,用于在系统开机状态下为系统提供工作电压,以及在系统关机状态下为所述第一物理核心提供所述第二电压。
2.根据权利要求1所述的多核芯片,其特征在于,所述第一物理核心为所述多核芯片的多个物理核心中的一个,或为所述多核芯片中所增加的一个专用物理核心。
3.根据权利要求1所述的多核芯片,其特征在于,
所述第一物理核心,还用于在系统关机时,拷贝所述主CPU运行进程数据到所述第一内置内存,在下次开机启动时,根据第一内置内存中所保存的主CPU运行进程数据将系统恢复至系统关机前运行状态。
4.根据权利要求1所述的多核芯片,其特征在于,所述第一内置内存为随机存取存储器RAM。
5.根据权利要求1所述的多核芯片,其特征在于,所述多核芯片还包括多个物理核心、与所述多个物理核心对应的多线程和多级缓存、对系统中的各个物理内存进行映射和寻址的内存管理单元MMU、外围电路,其中所述外围电路包括以下至少之一:系统总线、主内存、外存。
6.根据权利要求1所述的多核芯片,其特征在于,还包括:
第一物理核心输入电路,用于在系统开机状态下,将所述电源管理芯片提供的所述第一电压输入至所述第一物理核心,以及在系统关机状态下,将所述电源管理芯片提供的所述第二电压输入至所述第一物理核心;
主CPU输入电路,用于将所述电源管理芯片提供的主CPU工作电压输入至所述主CPU;
系统总线输入电路,用于将所述电源管理芯片提供的系统总线工作电压输入至所述系统总线;
主内存输入电路,用于将所述电源管理芯片提供的主内存工作电压输入至所述主内存。
7.根据权利要求1所述的多核芯片,其特征在于,所述第一内置内存包括:
系统预留区,为所述第一物理核心的预留系统区,用于所述第一物理核心备份自身系统数据;
系统启动静态区,用于保存系统启动引导程序和系统启动指令集;
系统启动镜像区,用于保存关机前系统进程地址和程序数据;
用户进程镜像区,用于保存关机前用户进程地址和程序数据。
8.根据权利要求1所述的多核芯片,其特征在于,还包括:
看门狗电路,包括第一定时器和第二定时器,其中,所述第一定时器用于所述主CPU的复位,所述第二定时器用于所述第一物理核心的复位,所述第二定时器的值长大于所述第二定时器。
9.根据权利要求1所述的多核芯片,其特征在于,还包括可靠性功能模块,所述可靠性功能模块用于外围设备的修复和检测,所述可靠性功能模块包括以下至少之一:用于外围设备的程序修复的修复单元、用于外围设备的温度保护的保护单元、用于外围设备的自检的自检单元。
10.一种电子系统,包括外围设备以及权利要求1至9中任一项所述的多核芯片。
11.一种基于权利要求10所述的系统的电源管理方法,其特征在于,包括:
当所述电源管理芯片接收到系统开机指令时,为系统各部件提供正常工作电压,并将所述第一物理核心的电压从所述第二电压调节至所述第一电压;
当所述电源管理芯片接收到系统关机指令时,切断系统各部件的电压,对所述第一物理核心继续供电,并将所述第一物理核心的电压从所述第一电压调节至所述第二电压。
12.一种基于权利要求10所述的系统的关机方法,其特征在于,包括:
所述第一物理核心关机接收系统关机指令;
所述第一物理核心提取系统启动最小资源集,以及当前用户进程地址和路径,并拷贝至所述第一内置内存中;
所述第一物理核心通知所述主CPU进行强制进程关闭,并通知所述电源管理芯片关闭系统电源。
13.根据权利要求12所述的关机方法,其特征在于,所述第一物理核心通知所述电源管理芯片关闭系统电源之后,还包括:
所述电源管理芯片切断系统各部件的电压,对所述第一物理核心继续供电,并将所述第一物理核心的电压从所述第一电压调节至所述第二电压。
14.一种基于权利要求10所述的系统的开机方法,其特征在于,包括:
所述第一物理核心接收系统开机指令;
所述第一物理核心将所述第一内置内存中保存的系统启动最小资源集拷贝至所述主内存中;
所述第一物理核心将系统控制权转交至所述主CPU。
15.根据权利要求14所述的开机方法,其特征在于,在所述第一物理核心接收开机指令之前,还包括:
所述电源管理芯片接收到所述系统开机指令后,为系统各部件提供正常工作电压,并将所述第一物理核心的电压从所述第二电压调节至所述第一电压;
所述电源管理芯片将所述系统开机指令通知所述第一物理核心。
16.一种基于权利要求10所述系统的系统恢复方法,其特征在于,包括:
所述第一物理核心接收恢复到上次关机前状态指令;
所述第一物理核心将所述第一内置内存中保存的开机指令拷贝到所述主内存以启动系统;
所述第一物理核心将所述第一内置内存中保存的关机前内存镜像拷贝到所述主内存,所述第一物理核心将系统控制权转交至所述主CPU。
17.一种基于权利要求10所述系统的系统崩溃恢复方法,其特征在于,包括:
检查所述第一定时器和所述第二定时器是否超时;
如果所述第一定时器超时,所述第二定时器不超时,则复位所述主CPU以及除所述第一物理核心外的其它物理核心;
如果所述第二定时器超时,复位所述第一物理核心。
18.根据权利要求17所述的系统崩溃方法,其特征在于,在复位所述第一物理核心之后,还包括:
所述第一物理核心拷贝当前进程外的系统内存进程镜像到所述第一内置内存;
所述重启系统,所述第一物理核心将所述第一内置内存中保存的系统内存进程镜像加载到所述主内存;
所述第一物理核心复位所述主CPU以及除所述第一物理核心之外的其他物理核心。
19.一种基于权利要求10所述的系统的外围设备管理方法,其特征在于,包括:
判断系统是处于正常工作状态还是关机低功耗状态;
如果系统处于正常工作状态,检查外围设备是否存在启动异常和/或检测外围设备是否存在温度异常,如果是,则通过可靠性功能模块启动修复程序和/或启动温度保护程序对所述外围设备进行修复和/或温度保护。
20.根据权利要求19所述的外围设备管理方法,其特征在于,
如果系统处于关机低功耗状态,则启动外围设备自检程序检查外围设备是否异常;
如果所述外围设备存在异常,则启动修复程序对所述外围设备进行修复。
21.根据权利要求20所述的外围设备管理方法,其特征在于,还进一步包括:
判断外围设备是否需要高可靠性保护,如果是,则将所述外围设备加入至高可靠性保护列表。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811314925.8A CN109614153B (zh) | 2018-11-06 | 2018-11-06 | 多核芯片及系统 |
PCT/CN2019/112684 WO2020093868A1 (zh) | 2018-11-06 | 2019-10-23 | 多核芯片、系统,及其方法和存储介质 |
US17/290,601 US20220004246A1 (en) | 2018-11-06 | 2019-10-23 | Multi-core chip, system and method based thereon, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811314925.8A CN109614153B (zh) | 2018-11-06 | 2018-11-06 | 多核芯片及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109614153A true CN109614153A (zh) | 2019-04-12 |
CN109614153B CN109614153B (zh) | 2021-01-26 |
Family
ID=66003094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811314925.8A Active CN109614153B (zh) | 2018-11-06 | 2018-11-06 | 多核芯片及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220004246A1 (zh) |
CN (1) | CN109614153B (zh) |
WO (1) | WO2020093868A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232030A (zh) * | 2019-06-12 | 2019-09-13 | 上海兆芯集成电路有限公司 | 多芯片系统及缓存处理方法 |
WO2020093868A1 (zh) * | 2018-11-06 | 2020-05-14 | 西安中兴新软件有限责任公司 | 多核芯片、系统,及其方法和存储介质 |
WO2021168622A1 (zh) * | 2020-02-24 | 2021-09-02 | 华为技术有限公司 | 存储器、芯片及存储器的修复信息的保存方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540503A (zh) * | 2003-04-23 | 2004-10-27 | 华为技术有限公司 | 能识别冷热启动的系统及加快系统启动速度的方法 |
CN102207881A (zh) * | 2011-07-07 | 2011-10-05 | 电子科技大学 | 一种基于Android的操作系统快速启动方法 |
CN103150288A (zh) * | 2013-03-14 | 2013-06-12 | 福州瑞芯微电子有限公司 | 一种快速开机的soc芯片及其实现方法 |
US20160062431A1 (en) * | 2014-08-29 | 2016-03-03 | Zippy Technology Corp. | Redundant power supply system providing rapid start of backup |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807630B2 (en) * | 2000-12-15 | 2004-10-19 | International Business Machines Corporation | Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory |
CN109614153B (zh) * | 2018-11-06 | 2021-01-26 | 西安中兴新软件有限责任公司 | 多核芯片及系统 |
-
2018
- 2018-11-06 CN CN201811314925.8A patent/CN109614153B/zh active Active
-
2019
- 2019-10-23 WO PCT/CN2019/112684 patent/WO2020093868A1/zh active Application Filing
- 2019-10-23 US US17/290,601 patent/US20220004246A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540503A (zh) * | 2003-04-23 | 2004-10-27 | 华为技术有限公司 | 能识别冷热启动的系统及加快系统启动速度的方法 |
CN102207881A (zh) * | 2011-07-07 | 2011-10-05 | 电子科技大学 | 一种基于Android的操作系统快速启动方法 |
CN103150288A (zh) * | 2013-03-14 | 2013-06-12 | 福州瑞芯微电子有限公司 | 一种快速开机的soc芯片及其实现方法 |
US20160062431A1 (en) * | 2014-08-29 | 2016-03-03 | Zippy Technology Corp. | Redundant power supply system providing rapid start of backup |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020093868A1 (zh) * | 2018-11-06 | 2020-05-14 | 西安中兴新软件有限责任公司 | 多核芯片、系统,及其方法和存储介质 |
CN110232030A (zh) * | 2019-06-12 | 2019-09-13 | 上海兆芯集成电路有限公司 | 多芯片系统及缓存处理方法 |
WO2021168622A1 (zh) * | 2020-02-24 | 2021-09-02 | 华为技术有限公司 | 存储器、芯片及存储器的修复信息的保存方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020093868A1 (zh) | 2020-05-14 |
US20220004246A1 (en) | 2022-01-06 |
CN109614153B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3158452B1 (en) | Firmware interface with durable memory storage | |
EP2082322B1 (en) | Security features in interconnect centric architectures | |
CN101814035B (zh) | 允许快速平台重启的方法和系统 | |
CN100517246C (zh) | 一种计算机远程控制方法及系统 | |
US9910664B2 (en) | System and method of online firmware update for baseboard management controller (BMC) devices | |
US8078908B2 (en) | Data storage device and method | |
CN109614153A (zh) | 多核芯片及系统 | |
CN106873990A (zh) | 嵌入式系统ram损坏模式下的多分区引导方法 | |
CN105683921B (zh) | 多处理器装置及其引导加载程序更新方法 | |
CN104102535A (zh) | 进程迁移方法和可迁移操作系统 | |
CN104081311A (zh) | 用于管理移动设备的操作的装置和方法 | |
CN105653405A (zh) | 一种通用引导程序的故障处理方法及系统 | |
CN103890713B (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
CN102804101B (zh) | 用于在一个或更多个模块之间顺序地分配电力的系统和方法 | |
CN102508676A (zh) | 嵌入式系统启动方法及装置 | |
CN1333357C (zh) | 具有非易失性配置储存装置的内电路配置结构 | |
CN110083491A (zh) | 一种bios初始化方法、装置、设备及存储介质 | |
US8836167B2 (en) | Power redundant system | |
US11604635B2 (en) | Online program updating method | |
US9971535B2 (en) | Conversion method for reducing power consumption and computing apparatus using the same | |
CN100458708C (zh) | 中断控制系统及方法 | |
CN113608930A (zh) | 系统芯片和电子设备 | |
CN104572198A (zh) | 一种业务恢复方法及装置 | |
CN107273208B (zh) | 一种aix主机内存的在线释放方法、装置以及系统 | |
CN114116306A (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 |