CN116755783A - 一种多核芯片启动方法、控制器及系统 - Google Patents
一种多核芯片启动方法、控制器及系统 Download PDFInfo
- Publication number
- CN116755783A CN116755783A CN202310728100.5A CN202310728100A CN116755783A CN 116755783 A CN116755783 A CN 116755783A CN 202310728100 A CN202310728100 A CN 202310728100A CN 116755783 A CN116755783 A CN 116755783A
- Authority
- CN
- China
- Prior art keywords
- core
- clock frequency
- memory
- firmware code
- code
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000015654 memory Effects 0.000 claims abstract description 123
- 230000003068 static effect Effects 0.000 claims abstract description 64
- 230000002618 waking effect Effects 0.000 claims abstract description 10
- 230000009191 jumping Effects 0.000 claims abstract description 4
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 abstract description 23
- 230000008878 coupling Effects 0.000 abstract description 7
- 238000010168 coupling process Methods 0.000 abstract description 7
- 238000005859 coupling reaction Methods 0.000 abstract description 7
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 2
- 239000011148 porous material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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/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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- 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 Security & Cryptography (AREA)
- Microcomputers (AREA)
Abstract
本发明公开了一种多核芯片启动方法、控制器及系统,该方法包括:根据存储在只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率;在第一时钟频率下,通过QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将第一时钟频率切换为第二时钟频率;跳转至第一静态存储器,在第二时钟频率下,根据第一静态存储器中的第二固件代码,唤醒大核的可用核,调用大核代码以使大核执行大核代码进行上电大核在上电后执行大核代码。采用本发明实施例,可在一个小核上执行多核芯片启动,并满足SBE、PGE和SLW功能,不再需要SBE微控制器、PGE微控制器和微控制器SLW之间的配合,降低了耦合度,提高了通用性。
Description
技术领域
本发明涉及芯片启动技术领域,尤其涉及一种多核芯片启动方法、控制器及系统。
背景技术
在现有的Power8架构采用大小核系统,小核采用IBM的PORE,并利用小核启动大核;其中,PORE为32bit和96bit指令混合的微控制器,包括三个微控制器:Self BootEngine(SBE)、General Puepose Engine(PGE)和Sleep and Winkle Engine(SLW),以及用于实现on chip clocking(OCC)功能的PowerPC处理器,如:PowerPC405;在小核驱动大核的过程中,先通过SBE初始化处理器芯片,加载并调用hostboot IPL固件,采用GPE读取片外APSS信息,再使用SLW进行睡眠/唤醒处理,最后通过PowerPC处理器执行OCC监控芯片运行状态。在以上小核驱动大核的过程中,需要调用多个控制器和芯片,并且不同控制器之间协调配合才能完成启动,由于较高的耦合度以及实现启动所需的代码不开源,因此通用性较低。
发明内容
本发明提供了一种多核芯片启动方法、控制器及系统,以解决现有技术在进行多核芯片启动时,通用性较低的技术问题。
为了解决上述技术问题,本发明实施例提供了一种多核芯片启动方法,包括:
根据存储在只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率;
在第一时钟频率下,通过所述QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率;
跳转至所述第一静态存储器,在第二时钟频率下,根据所述第一静态存储器中的第二固件代码,唤醒大核的可用核,调用大核代码以使所述大核在上电后执行所述大核代码。
本发明通过存储在只读存储器中的第一固件代码,完成对接口和时钟频率的初始化,代替了SBE的功能;本发明还通过频率切换以及在静态存储器中的第二固件代码,完成对核间总线的配置从而调用可用核来开启大核,代替了PGE和SLW的功能;而本发明的方法可在一个小核上执行,不再需要SBE、PGE和SLW之间的配合,降低了耦合度,提高了通用性。
进一步地,所述根据只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率,具体为:
运行存储在所述只读存储器中的所述第一固件代码,初始化中断向量表;
根据所述第一固件代码,将系统时钟频率初始化为所述第一时钟频率;
在所述第一时钟频率下,根据所述第一固件代码,初始化所述QSPI接口。
本发明通过运行只读存储器中的第一固件代码,实现中断向量表的初始化以及系统时钟频率的初始化,代替了SBE的功能,并且无需执行原SBE中的代码,提高了通用性。
进一步地,所述通过所述QSPI接口将所述第二固件代码搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率,具体为:
通过所述QSPI接口,读取存储在所述闪存中的所述第二固件代码,并将所述第二固件代码搬运至所述第一静态存储器;
将所述系统时钟频率从所述第一时钟频率切换至所述第二时钟频率;
跳转至所述第一静态存储器以执行所述第二固件代码。
本发明在初始化QSPI接口后,通过QSPI接口完成对第二固件代码的搬运,并切换时钟频率,从而使同一个小核具备片外信息读取和唤醒功能,降低了使用多个芯片进行启动所需的耦合度,提高了通用性。
进一步地,所述根据所述第一固件代码,将系统时钟频率初始化为所述第一时钟频率之后,包括:
在所述第一时钟频率下,根据所述第一固件代码,初始化MPU接口和UART接口。
本发明根据第一固件代码初始化多个外设接口,该过程仅需一个小核即可完成,无需原Power架构中SBE、PGE和SLW等芯片的相互配合,具有更高的通用性。
进一步地,所述根据所述第一静态存储器中的第二固件代码,唤醒大核的可用核,具体为:
在所述第一静态存储器中执行所述第二固件代码,并根据所述第二固件代码,在一次性可编程存储器中获取所述大核的可用核列表;
根据所述可用核列表,获取可用核的第一寄存器中的比特位数据;
根据所述比特位数据,为所述可用核上电,并为所述可用核提供时钟信号。
本发明通过一次性可编程存储器寻找大核的可用核,并通过可用核唤醒大核,从而实现PGE和SLW的功能并无需使用多个芯片,从而提高了多核芯片启动方法的通用性。
进一步地,在所述第一静态存储器中执行所述第二固件代码之后,包括:
根据所述第二固件代码,初始化核间总线;根据所述第二固件代码,初始化DDR存储器;根据所述第二固件代码,初始化通用中断控制器。
进一步地,所述调用大核代码以使所述大核在上电后执行所述大核代码,具体为:
通过所述QSPI接口获取存储在所述闪存中的大核代码;
将所述大核代码搬运至所述DDR存储器;
将所述大核代码写入至所述可用核的线程控制寄存器,启动所述大核,以使所述大核在所述DDR存储器中执行所述大核代码。
本发明通过外设接口完成对大核代码的调用,从而使大核上电,该过程仅需在一个小核上执行,无需原Power架构中SBE、PGE和SLW等芯片的相互配合,具有更高的通用性。
进一步地,在通过所述QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率之后,包括:
根据所述第一静态存储器中的第二固件代码,将所述闪存中的OCC代码搬运至第二静态存储器;
通过第二小核的寄存器对所述第二小核进行复位,以使所述第二小核在重启后执行存储在所述第二静态寄存器中的OCC代码并对大核进行电源管理。
本发明通过将OCC代码搬运至第二静态存储器以使小核以执行OCC代码,完成对大核的电源管理,代替了原Power架构中PowerPC处理器的使用,可避免使用PowerPC中未开源的代码执行OCC功能,提高了多核启动通用性。
另一方面,本发明还提供了一种多核启动控制器,包括:只读存储器和第一静态存储器;
其中,所述只读存储器用于根据存储在所述只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率;在第一时钟频率下,通过所述QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率;
所述第一静态存储器用于在第二时钟频率下,根据所述第一静态存储器中的第二固件代码,唤醒大核的可用核,调用大核代码以使所述大核在上电后执行所述大核代码。
本发明通过存储在只读存储器中的第一固件代码,完成对接口和时钟频率的初始化,代替了SBE的功能;本发明还通过频率切换以及在静态存储器中的第二固件代码,完成对核间总线的配置从而调用可用核来开启大核,代替了PGE和SLW的功能;而本发明的方法可在一个小核上执行,不再需要SBE、PGE和SLW之间的配合,降低了耦合度,提高了通用性。
另一方面,本发明还提供了一种多核启动系统,包括:第一小核、第二小核和大核;
其中,所述第一小核用于执行如权利要求1-8任意一项所述的多核启动方法;
所述第二小核受控于第一小核,用于执行OCC代码,对所述大核进行电源管理。
本发明通过第一小核实现SBE、PGE和SLW功能,通过第二小核实现OCC功能,从而仅使用两个小核为大核进行上电,避免了原Power框架下使用多个核心进行大核启动,避免了原SBE、PGE、SLW和PowerPC处理器中为开源代码的使用,提供了多核启动的通用性。
附图说明
图1为本发明提供的多核芯片启动方法的一种实施例的流程示意图;
图2为本发明提供的多核芯片启动方法的另一种实施例的流程示意图;
图3为本发明提供的多核芯片启动控制器的一种实施例的结构示意图;
图4为本发明提供的多核芯片启动系统的一种实施例的结构示意图;
图5为本发明提供的多核芯片启动系统的执行流程图;
图6为本发明提供的固件代码的框架图;
图7为本发明提供的固件代码搬运流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,为本发明提供的多核芯片启动方法的一种实施例的流程示意图,包括步骤101-103,具体如下:
步骤101:根据存储在只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率。
在本实施例中,第一固件代码和第二固件代码为SCP firmware软件框架下的代码,用于执行与大核启动相关的初始化操作;其中,第一固件代码存储在只读存储器中,在执行该方法的小核上电后开始在只读存储器中运行。
请参照图6,为本发明提供的固件代码的框架图,其中,第一固件代码和第二固件代码基于ARM的SCP firmware软件框架,具有三个层,分别为:Architecture、Framework层以及Modules层。
在本实施例中,所述根据只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率,具体为:运行存储在所述只读存储器中的所述第一固件代码,初始化中断向量表;根据所述第一固件代码,将系统时钟频率初始化为所述第一时钟频率;在所述第一时钟频率下,根据所述第一固件代码,初始化所述QSPI接口。
在本实施例中,所述第一时钟频率为100MHz;在该第一时钟频率下用于执行后续的代码搬运等操作。
本发明通过运行只读存储器中的第一固件代码,实现中断向量表的初始化以及系统时钟频率的初始化,代替了SBE的功能,并且无需执行原SBE中的代码,提高了通用性。
步骤102:在第一时钟频率下,通过所述QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率。
在本实施例中,所述通过所述QSPI接口将所述第二固件代码搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率,具体为:通过所述QSPI接口,读取存储在所述闪存中的所述第二固件代码,并将所述第二固件代码搬运至所述第一静态存储器;将所述系统时钟频率从所述第一时钟频率切换至所述第二时钟频率;跳转至所述第一静态存储器以执行所述第二固件代码。
在本实施例中,第二时钟频率为800MHz;在执行后续的片外信息读取以及可用核唤醒等操作时,需要更高的时钟频率,因此在搬运第二固件代码的同时将第一时钟频率切换为第二时钟频率,以便进行后续的相关操作。
本发明在初始化QSPI接口后,通过QSPI接口完成对第二固件代码的搬运,并切换时钟频率,从而使同一个小核具备片外信息读取和唤醒功能,降低了使用多个芯片进行启动所需的耦合度,提高了通用性。
步骤103:跳转至所述第一静态存储器,在第二时钟频率下,根据所述第一静态存储器中的第二固件代码,唤醒大核的可用核,调用大核代码以使所述大核在上电后执行所述大核代码。
在本实施例中,通过核间总线唤醒可用核,实现原Power框架,尤其是Power8框架,中的GPE和SLW功能,从而实现大核的初始化和启动工作。
在本实施例中,SBE用于负责芯片上电初始化时的配置寄存器,在原Power8框架中通过PORE-SBE微控制器执行;GPE是Power8 OCC硬件子系统中的一个加速引擎,负责初始化和读取片外的APSS信息,在PORE-GPE微控制器上执行;SLW是Power8 OCC硬件子系统中的一个加速引擎,负责睡眠和唤醒,在PORE-SLW上执行。
在本实施例中,步骤101-103可通过cortex-M7系列的内核即可实现,无需分别使用SBE、GPE和SLW实现大核的启动工作;从而作为相对独立的全芯片控制管理单元实现所有低速外设控制,完成Power8框架中的Pervasive Chiplet功能。
请参照图2,为本发明提供的多核芯片启动方法的另一种实施例的流程示意图,包括步骤201-207,具体如下:
步骤201:在所述第一静态存储器中执行所述第二固件代码,并根据所述第二固件代码,在一次性可编程存储器中获取所述大核的可用核列表。
在本实施例中,第二固件代码的执行还包括从EFUSE中获取当前大核中的可用核。
步骤202:根据所述可用核列表,获取可用核的第一寄存器中的比特位数据。
步骤203:根据所述比特位数据,为所述可用核上电,并为所述可用核提供时钟信号。
本发明通过一次性可编程存储器寻找大核的可用核,并通过可用核唤醒大核,从而实现PGE和SLW的功能并无需使用多个芯片,从而提高了多核芯片启动方法的通用性。
在本实施例中,在步骤201之后,步骤202之前,还执行步骤204。
步骤204:根据所述第二固件代码,初始化核间总线;根据所述第二固件代码,初始化DDR存储器;根据所述第二固件代码,初始化通用中断控制器。
在本实施例中,所述核间总线可采用ARM的CMN总线,优选为CMN-700总线;所述核间总线用于实现多个处理器之间的内存共享,还用于后续的DDR存储器和GIC中断的初始化和配置。
步骤205:通过所述QSPI接口获取存储在所述闪存中的大核代码。
在本实施例中,通过所述QSPI接口获取存储在所述闪存中的大核代码之前,包括:根据所述第二固件代码,对L2缓存进行初始化。
步骤206:将所述大核代码搬运至所述DDR存储器。
在本实施例中,所述大核代码为hostboot代码,用于实现大核的启动。
步骤207:将所述大核代码写入至所述可用核的线程控制寄存器,启动所述大核,以使所述大核在所述DDR存储器中执行所述大核代码。
在本实施例中,线程控制寄存器即THREAD CONTROL寄存器。
本发明通过外设接口完成对大核代码的调用,从而使大核上电,该过程仅需在一个小核上执行,无需原Power架构中SBE、PGE和SLW等芯片的相互配合,具有更高的通用性。
在本实施例中,步骤102之后,包括:根据所述第一静态存储器中的第二固件代码,将所述闪存中的OCC代码搬运至第二静态存储器;通过第二小核的寄存器对所述第二小核进行复位,以使所述第二小核在重启后执行存储在所述第二静态寄存器中的OCC代码并对大核进行电源管理。
本发明通过将OCC代码搬运至第二静态存储器以使小核以执行OCC代码,完成对大核的电源管理,代替了原Power架构中PowerPC处理器的使用,可避免使用PowerPC中未开源的代码执行OCC功能,提高了多核启动通用性。
在本实施例中,OCC代码即片上控制器代码,用于提供电源和热管理、功率上限强制执行、过温保护和低功耗模式管理。
请参照图7,为本发明提供的固件代码搬运流程图,其中,PVSOC0为第一小核,PVSOC1为第二小核;PVSOC0的rom代码即本实施例中的第一固件代码;PVSOC0的ram代码即本发明的第二固件代码,hostboost代码即本实施例中的大核代码,flash即本发明中的闪存,sram0即本实施例中的第一静态存储器,sram1即实施例中的第二静态存储器,PVSOC1的代码即本实施例中的OCC代码。由图7可知,除PVSOC0的rom代码外,启动所需的代码都存储在flash中,并通过外设接口将这些代码搬运至不同的存储器以及核中执行;PVSOC0的rom代码在上电后直接在第一只读存储器中执行,通过后续的代码搬运和频率切换完成其余代码的执行,实现大核上电和电源管理。
请参照图3,为本发明提供的多核芯片启动控制器的一种实施例的结构示意图,该多核芯片启动控制器包括只读存储器301和第一静态存储器302。
在本实施例中,只读存储器301用于根据存储在所述只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率;在第一时钟频率下,通过所述QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率。
第一静态存储器302用于在第二时钟频率下,根据所述第一静态存储器中的第二固件代码,唤醒大核的可用核,调用大核代码以使所述大核在上电后执行所述大核代码。
在本实施例中,第一静态存储器302还用于根据所述第一静态存储器中的第二固件代码,将所述闪存中的OCC代码搬运至第二静态存储器;通过第二小核的寄存器对所述第二小核进行复位,以使所述第二小核在重启后执行存储在所述第二静态寄存器中的OCC代码并对大核进行电源管理。
请参照图4,为本发明提供的多核芯片启动系统的一种实施例的结构示意图,多核芯片启动系统包括:第一小核、第二小核和大核;其中,PVSOC是系统中的全芯片控制管理单元,由第一小核和第二小核组成,第一小核和第二小核均采用ARM的cortex-M7系列的内核。所述多核芯片启动系统还包括:PCIE;PCIE为外围组件接口互联,用于使PVSOC与外设连接,所述外设包括:外设接口、核间总线、DDR存储器等。
请参照图5,为本发明提供的多核芯片启动系统的执行流程图,其中,PVC0为第一小核,所述第一小核用于执行如本发明实施例所述的多核启动方法;其中,SCP_ROMFW为第一固件代码,在只读存储器中执行,只读存储器即SRAM0;SCP_RAMFW为第二固件代码,由第一小核搬运至第一静态存储器,即SRAM0中,执行。第二小核受控于第一小核,用于执行OCC代码,对所述大核,即Power Core,进行电源管理;其中,第二小核的操作在第二静态存储器中执行,第二静态存储器即SRAM1。
在本实施例中,第二小核通过运行OCC代码,进行电源管理相关的工作,替代了原Power8框架下的PowerPC405芯片的功能。PVSOC将Power8中的多个微控制器和芯片上的功能集中在两个ARM cortex-M7芯片上,对原有涉及到的高耦合进行改进,使初始化和启动工作均在PVSOC上进行,更加利于管理,使其承担了芯片上电启动、所有的低速外设控制、芯片运行时的管理等功能。
本发明通过存储在只读存储器中的第一固件代码,完成对接口和时钟频率的初始化,代替了SBE的功能;本发明还通过频率切换以及在静态存储器中的第二固件代码,完成对核间总线的配置从而调用可用核来开启大核,代替了PGE和SLW的功能;而本发明的方法可在一个小核上执行,不再需要SBE、PGE和SLW之间的配合,降低了耦合度,提高了通用性。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多核启动方法,其特征在于,包括:
根据存储在只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率;
在第一时钟频率下,通过所述QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率;
跳转至所述第一静态存储器,在第二时钟频率下,根据所述第一静态存储器中的第二固件代码,唤醒大核的可用核,调用大核代码以使所述大核在上电后执行所述大核代码。
2.如权利要求1所述的多核启动方法,其特征在于,所述根据只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率,具体为:
运行存储在所述只读存储器中的所述第一固件代码,初始化中断向量表;
根据所述第一固件代码,将系统时钟频率初始化为所述第一时钟频率;
在所述第一时钟频率下,根据所述第一固件代码,初始化所述QSPI接口。
3.如权利要求2任意一项所述的多核启动方法,其特征在于,所述根据所述第一固件代码,将系统时钟频率初始化为所述第一时钟频率之后,包括:
在所述第一时钟频率下,根据所述第一固件代码,初始化MPU接口和UART接口。
4.如权利要求2所述的多核启动方法,其特征在于,所述通过所述QSPI接口将所述第二固件代码搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率,具体为:
通过所述QSPI接口,读取存储在所述闪存中的所述第二固件代码,并将所述第二固件代码搬运至所述第一静态存储器;
将所述系统时钟频率从所述第一时钟频率切换至所述第二时钟频率;
跳转至所述第一静态存储器以执行所述第二固件代码。
5.如权利要求1所述的多核启动方法,其特征在于,所述根据所述第一静态存储器中的第二固件代码,唤醒大核的可用核,具体为:
在所述第一静态存储器中执行所述第二固件代码,并根据所述第二固件代码,在一次性可编程存储器中获取所述大核的可用核列表;
根据所述可用核列表,获取可用核的第一寄存器中的比特位数据;
根据所述比特位数据,为所述可用核上电,并为所述可用核提供时钟信号。
6.如权利要求5所述的多核启动方法,其特征在于,在所述第一静态存储器中执行所述第二固件代码之后,包括:
根据所述第二固件代码,初始化核间总线;根据所述第二固件代码,初始化DDR存储器;根据所述第二固件代码,初始化通用中断控制器。
7.如权利要求6所述的多核启动方法,其特征在于,所述调用大核代码以使所述大核在上电后执行所述大核代码,具体为:
通过所述QSPI接口获取存储在所述闪存中的大核代码;
将所述大核代码搬运至所述DDR存储器;
将所述大核代码写入至所述可用核的线程控制寄存器,启动所述大核,以使所述大核在所述DDR存储器中执行所述大核代码。
8.如权利要求1-7任意一项所述的多核启动方法,其特征在于,在通过所述QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率之后,包括:
根据所述第一静态存储器中的第二固件代码,将所述闪存中的OCC代码搬运至第二静态存储器;
通过第二小核的寄存器对所述第二小核进行复位,以使所述第二小核在重启后执行存储在所述第二静态寄存器中的OCC代码并对大核进行电源管理。
9.一种多核启动控制器,其特征在于,包括:只读存储器和第一静态存储器;
其中,所述只读存储器用于根据存储在所述只读存储器中的第一固件代码,初始化QSPI接口和第一时钟频率;在第一时钟频率下,通过所述QSPI接口将第二固件代码从闪存搬运至第一静态存储器中,并将所述第一时钟频率切换为第二时钟频率;
所述第一静态存储器用于在第二时钟频率下,根据所述第一静态存储器中的第二固件代码,唤醒大核的可用核,调用大核代码以使所述大核在上电后执行所述大核代码。
10.一种多核启动系统,其特征在于,包括:第一小核、第二小核和大核;
其中,所述第一小核用于执行如权利要求1-8任意一项所述的多核启动方法;
所述第二小核受控于第一小核,用于执行OCC代码,对所述大核进行电源管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310728100.5A CN116755783B (zh) | 2023-06-19 | 2023-06-19 | 一种多核芯片启动方法、控制器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310728100.5A CN116755783B (zh) | 2023-06-19 | 2023-06-19 | 一种多核芯片启动方法、控制器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116755783A true CN116755783A (zh) | 2023-09-15 |
CN116755783B CN116755783B (zh) | 2024-04-09 |
Family
ID=87952852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310728100.5A Active CN116755783B (zh) | 2023-06-19 | 2023-06-19 | 一种多核芯片启动方法、控制器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116755783B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241768A (zh) * | 2006-12-29 | 2008-08-13 | 三星电子株式会社 | 使用双时钟产生系统代码的存储器装置及其方法 |
CN104750510A (zh) * | 2013-12-30 | 2015-07-01 | 深圳市中兴微电子技术有限公司 | 一种芯片启动方法及多核处理器芯片 |
CN107656773A (zh) * | 2017-09-28 | 2018-02-02 | 中国人民解放军国防科技大学 | 一种多核dsp启动方法 |
CN107992391A (zh) * | 2017-11-13 | 2018-05-04 | 福州瑞芯微电子股份有限公司 | 一种多核处理器变频的方法和装置 |
CN110199242A (zh) * | 2017-02-24 | 2019-09-03 | 英特尔公司 | 基于使用参数配置处理器的基本时钟频率 |
CN115729312A (zh) * | 2022-11-23 | 2023-03-03 | 珠海一微半导体股份有限公司 | 自动切换处理器时钟的控制系统及芯片 |
-
2023
- 2023-06-19 CN CN202310728100.5A patent/CN116755783B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241768A (zh) * | 2006-12-29 | 2008-08-13 | 三星电子株式会社 | 使用双时钟产生系统代码的存储器装置及其方法 |
CN104750510A (zh) * | 2013-12-30 | 2015-07-01 | 深圳市中兴微电子技术有限公司 | 一种芯片启动方法及多核处理器芯片 |
US20160321082A1 (en) * | 2013-12-30 | 2016-11-03 | Sanechips Technology Co., Ltd. | Chip starting method, multi-core processor chip and storage medium |
CN110199242A (zh) * | 2017-02-24 | 2019-09-03 | 英特尔公司 | 基于使用参数配置处理器的基本时钟频率 |
CN107656773A (zh) * | 2017-09-28 | 2018-02-02 | 中国人民解放军国防科技大学 | 一种多核dsp启动方法 |
CN107992391A (zh) * | 2017-11-13 | 2018-05-04 | 福州瑞芯微电子股份有限公司 | 一种多核处理器变频的方法和装置 |
CN115729312A (zh) * | 2022-11-23 | 2023-03-03 | 珠海一微半导体股份有限公司 | 自动切换处理器时钟的控制系统及芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN116755783B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739563B (zh) | 终端的控制方法、装置、系统及存储介质 | |
CN110716633B (zh) | 协调管理ssd功耗的装置、方法、计算机设备及存储介质 | |
JP2011154685A (ja) | データ処理システム | |
US20130103935A1 (en) | Method and system for programmable power state change in a system-on-a-chip device | |
CN114879829B (zh) | 功耗管理方法、装置、电子设备、图形处理器及存储介质 | |
CN106873954B (zh) | 初始化周边装置的方法与使用此方法的电子装置 | |
CN105446916B (zh) | Usb总线状态切换方法及装置 | |
CN109408122B (zh) | 一种设备启动方法、电子设备和计算机存储介质 | |
CN103761129B (zh) | 一种在Bootloader层实现SDIO接口驱动的方法 | |
CN114661368B (zh) | 一种芯片及其启动方法 | |
US20190004818A1 (en) | Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof | |
US20080162976A1 (en) | Method and apparatus of collecting timer ticks | |
CN111225434B (zh) | 一种应用程序响应方法、系统、存储介质及通信模块 | |
US7219248B2 (en) | Semiconductor integrated circuit operable to control power supply voltage | |
CN103729219A (zh) | 一种uefi bios架构方法及系统 | |
CN113656076A (zh) | 一种基于硬件复用通道的bios启动方法及装置 | |
CN116755783B (zh) | 一种多核芯片启动方法、控制器及系统 | |
WO2020199009A1 (zh) | 启动装置的处理方法、装置、设备及存储介质 | |
TW201624192A (zh) | 電腦系統、可適性休眠控制模組及其控制方法 | |
EP3236350A1 (en) | Tigersharc series dsp start-up management chip and method | |
CN116302122A (zh) | 多核异构域控制器、外设适配方法以及存储介质 | |
CN105786527A (zh) | TigerSharc系列DSP启动管理芯片及方法 | |
CN111966199B (zh) | Cpld在线升级缓启方法、装置、设备及存储介质 | |
JP2000227907A (ja) | リブート制御装置およびリブート制御方法 | |
CN110286741B (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 |