[go: up one dir, main page]

WO2015100878A1 - 一种芯片启动方法及多核处理器芯片、存储介质 - Google Patents

一种芯片启动方法及多核处理器芯片、存储介质 Download PDF

Info

Publication number
WO2015100878A1
WO2015100878A1 PCT/CN2014/075294 CN2014075294W WO2015100878A1 WO 2015100878 A1 WO2015100878 A1 WO 2015100878A1 CN 2014075294 W CN2014075294 W CN 2014075294W WO 2015100878 A1 WO2015100878 A1 WO 2015100878A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
startup
priority
program
chip
Prior art date
Application number
PCT/CN2014/075294
Other languages
English (en)
French (fr)
Inventor
洪思华
汪八零
Original Assignee
深圳市中兴微电子技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Priority to EP14877078.7A priority Critical patent/EP3091434B1/en
Priority to ES14877078.7T priority patent/ES2670810T3/es
Priority to US15/108,351 priority patent/US9928077B2/en
Publication of WO2015100878A1 publication Critical patent/WO2015100878A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Definitions

  • the present invention relates to an integrated circuit chip design technology, and in particular, to a chip startup method, a multi-core processor chip, and a storage medium. Background technique
  • the startup design of the chip has always been one of the key points in chip design. Many devices fail to be scrapped. A large part of the reason is that the chip fails due to the failure of the chip to start, which eventually causes the entire device to be scrapped.
  • the chip is booted, some initialization operations and configuration management need to be performed inside the chip.
  • the chip size is small, the initialization and configuration of the chip is directly included in the chip's clock reset design.
  • the chip is powered on, the process of clock reset operation is completed, and the startup process of the chip is completed. After the clock reset is completed, the chip can work normally.
  • the configuration information of the chip startup is generally a read-only memory (ROM, Read Only Memory) stored in the chip.
  • ROM Read Only Memory
  • the configuration information on the ROM is called to initialize the chip. .
  • the content of the chip needs to be initialized, and the initialization content also needs to be updated and upgraded; therefore, many chips use ROM+flash or direct flash (flash).
  • flash direct flash
  • the current chip startup optimization scheme mainly focuses on software optimization such as jump, data backup, etc.; but the structure of the hardware is not much involved, and the current multi-core multi-channel chip involves less.
  • the channel quality requirements are very strict during the startup process, if the flash channel If there is a problem, then the startup of the chip will fail, resulting in the failure of the entire chip. Summary of the invention
  • the embodiment of the present invention provides a chip startup method, a multi-core processor chip, and a storage medium, which can perform structural optimization on a multi-core multi-channel chip, thereby improving the robustness of the chip. And performance.
  • a chip startup method is applicable to a multi-core processor chip, the multi-core processor chip includes at least two processors and two or more storage units, and a first priority for setting the two or more processors Level, and setting a second priority for each of the two or more storage units for each of the processors; the method further includes:
  • the first processor Determining, according to the first priority, a first processor with the highest priority to be started; the first processor sequentially loading a startup program from each of the storage units according to a second priority corresponding to the first processor, And perform an initialization process by executing a startup program;
  • the program loading of the second processor is started, and so on, until the program loading of the two or more processors is completed.
  • the multi-core processor chip further includes a boot monitor; the method further includes: when loading the boot program from any one of the two or more storage units, the first processor is The startup monitor reports a startup success message;
  • the loading of the program that starts the second processor includes:
  • the booting The monitor determines, according to the first priority, a second highest priority to be activated Second processor.
  • the multi-core processor chip further includes a startup monitor
  • the determining, by the first priority, the first processor with the highest priority to be started includes:
  • the first processor sequentially loads the startup program from each of the storage units according to the second priority corresponding to the first processor, and executes the startup program to perform an initialization operation, including: the first processor from The current storage unit loads an initiator;
  • the first processor executes the startup program to perform an initialization operation; when the loading fails, the startup monitor determines, according to the second priority corresponding to the first processor, the first processor a storage unit as a current storage unit to be loaded by the startup program;
  • the loading fails including:
  • the first processor When loading the startup program from the current storage unit, the first processor reports a startup start message to the startup monitor;
  • the startup monitor starts timing when receiving the startup start message, and determines that the first processor is from the current storage unit when the startup success message sent by the first processor is not received when the timing threshold is exceeded. Loading the launcher failed.
  • the method further includes:
  • the fastest processor that adjusts the system clock frequency is determined as the first processor with the highest priority.
  • the multi-core processor chip further includes a direct memory accessor and an on-chip memory unit; the method further includes:
  • the direct memory accessor lowers the priority level of the other processor lower than the first processor according to the first priority.
  • the program is moved to the on-chip storage unit.
  • the first storage unit of the first processor includes a storage unit of the ROM and a storage unit of the flash channel;
  • the performing the initialization process for performing the startup process includes:
  • the first processor reads and executes the first partial booting program from the memory unit of the ROM, reads and executes the second partial booting program from the memory location of the flash channel according to the jump instruction at the end of the first partial booting program.
  • the multi-core processor chip comprises a processor MCU, a general-purpose processor CPU and a data processor DSP
  • the priority order of the first priority is MCU, CPU and DSP.
  • a multi-core processor chip the multi-core processor chip includes at least a boot monitor, two or more processors, and two or more memory units; wherein: the boot monitors are all communicatively coupled to the processors; Two or more processors are sequentially connected according to a priority order of the set first priority;
  • the boot monitor is configured to determine a current processor according to a first priority that is set for the two or more processor settings, and determine, according to the second priority corresponding to the current processor, the current processor The current storage unit to be loaded;
  • the current processor is configured to load a startup program from each of the current storage units according to a second priority corresponding to the current processor, and execute an initialization program to perform an initialization operation; when from the two or more storage units When any one of the storage unit loads the startup program successfully, or fails to load the startup program from all the storage unit programs of the two or more storage units, Exit the loading of the launcher.
  • the multi-core processor chip further includes a direct memory accessor
  • the direct memory accessor is configured to: when the current processor loads the startup program successfully, and executes the startup program to perform an initialization operation, according to the first priority, the priority is other processors behind the current processor
  • the startup program is moved to the on-chip storage unit.
  • a computer storage medium having stored therein computer executable instructions for executing the chip startup method described above.
  • the first priority level is set for the two or more processors, and the second priority for starting each storage unit of the two or more storage units is separately set for each of the processors. Determining, according to the first priority, a first processor with the highest priority to be started; the first processor sequentially loading and starting from each of the storage units according to a second priority corresponding to the first processor And performing an initialization operation by executing the startup program; when the startup program is successfully loaded from any one of the two or more storage units, or the startup program is loaded from all the storage unit programs of the two or more storage units When it fails, the program loading of the first processor is ended; the program loading of the second processor is started, and so on, until the program loading of the two or more processors is completed; thus, the structure can be performed for the multi-core multi-channel chip. Sexual optimization, which improves the robustness and performance of the chip. DRAWINGS
  • FIG. 1 is a schematic flowchart of an implementation process of a chip startup method according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a specific implementation process of step 101 in Embodiment 1 of the present invention.
  • FIG. 3 is a schematic structural diagram of a structure of a fourth multi-core processor chip according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a startup process of a multi-core processor chip according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of an address mapping process of different processors in the same channel according to an embodiment of the present invention. detailed description
  • a chip startup method is applied to a multi-core processor chip, which is a schematic flowchart of a chip startup method according to an embodiment of the present invention. As shown in FIG. 1, the chip startup method includes:
  • Step 101 Set a first priority for starting the two or more processors, and set a second priority for each of the two or more storage units for each of the processors;
  • Step 102 Determine, according to the first priority, a first processor with the highest priority to be started, where the first processor sequentially loads from each storage unit according to a second priority corresponding to the first processor. Start the program, and execute the startup program to perform the initialization operation;
  • Step 103 When the loading of the booting program from any one of the two or more storage units fails, ending the program loading of the first processor;
  • Step 104 Start program loading of the second processor, and so on, until the program loading of the two or more processors is completed.
  • the existing multi-core processor chip especially the multi-core processor baseband chip has a large number of internal cores, which are mainly classified into a computationally intensive digital signal processor (DSP), and a control-intensive type.
  • DSP digital signal processor
  • MCU Micro Control Unit
  • the channels for communication between the chip and the outside are also abundant. There are flash channels and serial fast input and output ports (SRIO, Serial Rapid). Input Output ) Channel, Serial Gigabit Media Independent Interface (SGMII) channel, Universal Serial Bus (USB) channel, General Purpose Input/Output (GPIO) channel Wait.
  • SRIO Serial Rapid
  • Input Output Serial Gigabit Media Independent Interface
  • USB Universal Serial Bus
  • GPIO General Purpose Input/Output
  • the multi-core processor chip includes any two or three of the DSP, the CPU, and the MCU
  • the highest priority among the first priorities may be the MCU, followed by the CPU, and finally the DSP; the reason why the MCU is selected as the first
  • the reason for the processor is that the MCU can change the system's main frequency in the shortest time and bring the system into a high-speed processing state to reduce the startup time of other subsequent core processors.
  • the storage unit includes a ROM storage unit inside the chip, and also includes an external channel, wherein when the second priority is set, the priority of the ROM storage unit is the highest; when the multi-core processor chip is externally
  • the communication channel includes a flash channel, a SRIO channel, an SGMII channel, a USB channel, and a GPIO channel
  • the second priority may be set to a flash channel, a USB channel, an SGMII channel, a SRIO channel, and a GPIO channel.
  • the method further includes: when the startup program is successfully loaded from any one of the two or more storage units, the first processor starts a success message to the startup monitor;
  • the loading of the program that starts the second processor includes:
  • the booting The monitor determines, according to the first priority, a second processor with a second highest priority to be activated.
  • the multi-core processor chip further includes a direct memory accessor and an on-chip storage unit
  • the method further includes: performing a startup operation on the first processor, and performing an initialization process by performing a startup process
  • the direct memory accessor moves the boot program of the other processor whose priority level is lower than the first processor to the on-chip memory unit according to the first priority.
  • the first storage unit of the first processor when the multi-core processor chip uses the storage unit of the ROM and the storage unit of the flash channel, includes a storage unit of the ROM and a storage unit of the flash channel;
  • the initializing operation is performed by executing the startup program, including: the first processor reads and executes the first partial startup program from the storage unit of the ROM, and stores from the flash channel according to the jump instruction at the end of the first partial startup program.
  • the unit reads and executes the second part of the startup procedure.
  • the chip startup method provided by the embodiment of the present invention combines the characteristics of the processor in the multi-core processor chip and the diversity of the interface between the chip and the external communication, and monitors and schedules the startup, thereby ensuring the robustness of the chip startup and reducing The probability of the wireless network being disconnected from the network improves the communication security quality.
  • FIG. 2 is a schematic flowchart of the specific implementation of step 101 in the first embodiment of the present invention, as shown in FIG. As shown, the step 101 includes:
  • Step 201 The startup monitor determines the first processor according to the first priority, and determines, according to the second priority corresponding to the first processor, the current storage to be loaded by the first processor.
  • Step 202 The first processor loads the startup program from the current storage unit.
  • Step 203 when the loading is successful, the first processor executes the startup program to perform an initialization operation; when the loading fails, the startup monitor Determining, by the first processor, the next storage unit as the current storage unit to be loaded by the startup program according to the second priority corresponding to the first processor;
  • Step 204 and so on, until the first processor loads the startup program from the last level of the storage unit in the second priority corresponding to the first processor.
  • the loading fails, and the startup monitor may send through the first processor.
  • a load failure message is sent to determine.
  • the boot monitor since the first processor may be in an uncontrollable state when the load fails, the boot monitor is likely to be unable to determine the first processor load failure because the load failure message cannot be received.
  • the loading failure may be implemented by the following steps:
  • the first processor When loading the startup program from the current storage unit, the first processor reports a startup start message to the startup monitor;
  • the startup monitor starts timing when receiving the startup start message, and determines that the first processor is from the current storage unit when the startup success message sent by the first processor is not received when the timing threshold is exceeded. Loading the launcher failed.
  • This method can prevent the former method from being unable to receive the load failure message and cannot determine that the first processor fails to load, thereby improving the accuracy.
  • the same type of processor may have only one, but according to different application scenarios, the same type of processor is not limited to one, and may have multiple at the same time; when the same processor in the chip, such as a CPU, includes multiple When you need to set the priority order for these multiple CPUs.
  • the embodiment of the present invention further provides a multi-core processor chip, where the multi-core processor chip includes at least a boot monitor, two or more processors, and two or more storage units;
  • the startup monitors are all connected to each processor; the two or more processors are sequentially connected according to the set priority order of the first priority;
  • the boot monitor is configured to determine a current processor according to a first priority that is set for the two or more processor settings, and determine, according to the second priority corresponding to the current processor, the current processor The current storage unit to be loaded;
  • the current processor is configured to load a startup program from each of the current storage units according to a second priority corresponding to the current processor, and execute an initialization program to perform an initialization operation; when from the two or more storage units Any of the storage units loaded the launcher successfully, or When the loader fails to load from all the memory unit programs of the two or more memory cells, the loading of the boot program is exited.
  • the multi-core processor chip further includes a direct memory accessor, and the direct memory accessor is configured to: when the current processor loads the startup program successfully, and executes the startup program to perform the initialization operation, The boot program of the other processor whose priority is after the current processor is moved to the on-chip storage unit according to the first priority.
  • FIG. 3 is a schematic structural diagram of a structure of a four-core multi-core processor chip according to an embodiment of the present invention.
  • the multi-core processor chip uses a bus structure; the chip includes a boot controller (Boot Controller) 301.
  • the startup monitor is connected to the three types of processor CPU 303, MCU 302 and DSP 304.
  • each type of processor includes only one, and the three processors are sequentially connected according to the set first priority;
  • Each processor is connected to initiate DMA (Direct Memory Access) 312; in addition to the internal ROM 305 and the internal random access memory (RAM, Random-Access Memory) 313, the chip also includes Externally communicating channels include a flash channel 306, a USB channel 307, an SGMII channel 308, a SRIO channel 309, and a GPIO channel 310;
  • the boot monitor 301 is configured to monitor the boot process of each processor.
  • a corresponding counter and timing threshold is set for each processor. When the corresponding processor starts to perform the startup operation, the counter starts counting. If the corresponding processor has not fed back the startup success information to the startup monitor when the count value reaches the corresponding timing threshold, the startup monitor determines that the processor fails to start. At the same time, all processors can be reset and started, and the bus channel is configured with address mapping.
  • the MCU 302 can perform some transfer of tasks with computational complexity and low control complexity, which in this embodiment starts the MCU 302 as the first processor.
  • the CPU 303 can perform processing of some general operations and its complicated control, and the priority of the CPU 303 is after the MCU 402.
  • DSP 304 Some computationally intensive, and processing of its special arithmetic routines can be performed, with the priority of DSP 304 being after CPU 303.
  • a ROM 305 storage unit configured to store a first portion of the first processor startup program to perform a basic configuration of the startup time; a flash channel 306 configured to store the second portion of the first processor to start the program, and the other processor All startup programs, system software, application software, and other programs and data.
  • the USB channel 307's storage unit is configured to store alternate boot programs for all core processors and to perform program upgrades.
  • the SGMII channel 308 is configured to connect to the system device main control unit and its core network for data communication to the system for online startup.
  • the SRIO channel 309 configured to communicate with other chips, can support booting the chip from other chips.
  • the GPIO channel 310 can support the chip to be externally activated and configured to communicate with the outside at a low speed.
  • the channel mapping management unit (map) 311 is configured as channel switching management, and the channel connection is changed according to the first priority and the second priority configured by the startup monitor 301, so that the corresponding processor is started on the designated channel.
  • the RAM 313 is used to store the boot program loaded from the outside. The software can read the boot program directly from the AM.
  • the multi-core processor chip includes an MCU, a CPU, and a DSP, and the chip communicates with the external channel including the flash channel, the SRIO channel, the SGMII channel, and the USB channel.
  • the GPIO channel is taken as an example to describe in detail the startup method of the multi-core processor chip provided by the embodiment of the present invention. The method is as follows:
  • Step A classifying a multi-core processor inside the chip, setting a first priority for starting the three types of processors, and setting a second priority of the corresponding storage unit for each processor;
  • the system advances Enter the state of high-speed processing to reduce the startup time of other subsequent cores such as CPU and DSP, so that the MCU processor is selected as the first processor to be started, and the priority level of the MCU is set to the highest. Therefore, the order of the first priority is MCU, CPU, and DSP.
  • the time at which the system is in the high frequency is long.
  • the system clock can be increased from lOOMhz to 600Mhz, and the system startup load speed can be increased by 6 times.
  • the channel through which the chip communicates with the outside includes a flash channel, a SRIO channel, an SGMII channel, a USB channel, and a GPIO channel; for convenience of description, the same second priority will be set for each type of processor, specifically The second priority is flash channel, USB channel, SGMII channel, SRIO channel, GPIO channel.
  • Step A2 the startup monitor determines the first processor according to the first priority, and determines a first storage unit for the current processor according to the second priority; the first of the first processor
  • the storage unit includes a ROM storage unit and a flash storage unit;
  • the first processor reads a partial boot program from the internal ROM, and the first processor executes the first partial boot program to perform the initialization work.
  • the first processor performs a system clock frequency adjustment to bring the system into a high frequency state.
  • there is a jump instruction so that the first processor loads the second part of the startup program from the flash interface according to the jump instruction.
  • the first processor may start the DMA to start the program migration during the execution of the first part startup program or the second startup program to perform the initialization operation, and move the startup program of the off-chip other cores to the storage unit RAM in the chip, when the other
  • the kernel can reduce the time of program loading when it starts, and directly perform on-chip read and write configuration.
  • step A3 the DMA continuously performs the program moving operation, and other processors perform the boot configuration. Finally, the DMA completes the movement of all the programs, and the other processors also complete the startup configuration, and the chip completes a set of startup operations under the normal flow.
  • step A4 the startup monitor monitors the startup process during the startup process, and reports a startup status message to the monitor after each processor starts and starts successfully. If the monitor finds that the startup failed, it will switch the startup channel of the corresponding core.
  • the startup status message includes a load start message for characterizing the start of processing the load launcher, a start success message for characterizing the successful start of the processor, and a load failure message for characterizing the failure of the processor load starter;
  • the current processor executes the startup program to perform an initialization operation, and reports a startup success message to the startup monitor;
  • the startup monitor determines the next storage unit as the current storage unit according to the second priority; when the current processor fails to load the last storage unit, the startup is started. The monitor reports a startup failure message;
  • Step A5 After the current processor fails to start for the first time, the startup monitor starts the channel through the map switch, and the initial startup address is switched from the ROM to the corresponding address on the flash channel.
  • the startup monitor starts the path through the map switch, and the initial startup address is switched from the corresponding address on the flash channel to the address corresponding to the USB channel.
  • the startup monitor initiates the path through the map switch, and the initial startup address is switched from the corresponding address on the USB channel to the address corresponding to the SGMII channel.
  • the startup monitor initiates the path through the map switch, and the initial startup address is switched from the corresponding address on the SGMII channel to the address corresponding to the SRIO channel.
  • the startup monitor initiates the path through the map switch, and the initial startup address is switched from the corresponding address on the SRIO channel to the address corresponding to the GPIO channel.
  • the GPIO channel uses the pin multiplexing.
  • the startup monitor redefines the pin.
  • the part used in the normal working of the system is defined as the startup pin through the pin, and the startup program passes this part.
  • the pins are loaded.
  • start the monitor for this Some of the pins are released.
  • the pin resources are saved by the GPIO pin multiplexing, and the chip cost is reduced.
  • step A6 after all the channels of the current processor are rotated, the startup monitor still cannot receive the startup success information, and the monitor selects the core with the highest priority among the remaining cores as the new first core according to the priority level of the core. Go to step A2 for a new normal boot.
  • Step A7 after all the cores have been rotated, no system can be successfully started, then the multi-core processor chip will be scrapped and can no longer be used. As long as one processor can be used normally, the chip can enter the working state, and other processors that fail to start normally can be started one by one by patching, online upgrade, etc. as long as the hardware problem does not occur.
  • Steps A1 to A7 of the embodiment of the present invention do not have a strict execution sequence.
  • FIG. 4 is a schematic diagram of a startup process of a multi-core processor chip according to an embodiment of the present invention. As shown in FIG. 4, the schematic diagram describes various processing processes of a normal startup of the chip according to a startup process of the chip, and a jump under abnormal conditions. The process includes the following steps:
  • Step 401 The system chip is powered on or externally resets, and the startup monitor determines the first processor according to the first priority, where the first processor is the current processor, and according to the second priority Determining, by the current processor, a first storage unit, the first storage unit as a current storage unit;
  • Step 402 The current processor reads the first part starting program from the on-chip ROM to perform initial configuration.
  • Step 403 after the current processor executes the configuration of the first part of the startup program, jumps to the first address flash_address 1 of the flash channel to perform loading of the second part startup program; when the loading is successful, the process proceeds to step 404; otherwise, the process proceeds to step 405. ;
  • Step 404 The current processor determines whether the system frequency has been upgraded. Set the system clock speed; if the startup monitor receives the startup success message within the specified time, then jump to step 406;
  • Step 405 The current processor jumps to the second address flash_address2 of the flash channel according to the instruction of the startup monitor to perform the loading of the standby startup program.
  • the startup success message is reported to the startup monitor, and the process proceeds to step 406; otherwise, Otherwise, the load failure message is reported to the startup monitor, the monitor is started to perform address mapping configuration, and the current processor is started to boot from the USB channel.
  • Step 406 starting the monitor from the kernel that has never been started, selecting the kernel with the highest priority as the current processor, performing a new round of startup, performing steps 405, 407 to 410, and finally executing step 411;
  • Step 407 The current processor loads the startup program from the USB channel. If the startup is successful, the startup success message is reported to the startup monitor, and step 406 is performed; otherwise, the loading failure message is reported to the startup monitor, and the monitor is started to perform address mapping configuration. Start the current processor from the SGMII channel.
  • Step 408 The current processor loads the startup program from the SGMII channel. If the startup is successful, the startup success message is reported to the startup monitor, and step 406 is performed; otherwise, the loading failure message is reported to the startup monitor, and the monitor is started to perform address mapping configuration. , start the current processor to boot from the S IO channel.
  • Step 409 The current processor loads the startup program from the SRIO channel. If the startup is successful, the startup success message is reported to the startup monitor, and step 406 is performed; otherwise, the load failure message is reported to the startup monitor, and the monitor is started to perform address mapping configuration. , Start the current processor to boot from the GPIO channel.
  • Step 410 The current processor loads the startup program from the GPIO channel. If the startup is successful, the GPIO channel is released, and the startup success message is reported to the startup monitor, and step 406 is performed; otherwise, the load failure message is reported to the startup monitor. Go to step 406. In step 411, all the processors complete the startup process, start the monitor to summarize the startup state information, and report the startup success/failure status information to the outside, and the startup process ends.
  • FIG. 5 is a schematic diagram of an address mapping process of different processors in the same channel according to an embodiment of the present invention.
  • the address stored in the startup program of the multi-core processor in the same channel is Not the same, so the start address of the channel mapping management unit mapping is also different.
  • the boot program is stored in the ROM+flash mode, for the first processor, the flash channel corresponds to two boot addresses, the first boot address corresponds to the second portion boot program; the second boot address corresponds to the alternate boot program. .
  • the storage unit includes a ROM storage unit inside the chip, and also includes an external channel, wherein when the second priority is set, the priority of the ROM storage unit is the highest; when the multi-core processor chip is externally
  • the communication channel includes a flash channel, a SRIO channel, an SGMII channel, a USB channel, and a GPIO channel
  • the second priority may be set to a flash channel, a USB channel, an SGMII channel, a SRIO channel, and a GPIO channel.
  • the above chip startup method is implemented in the form of a software function module, and is sold or used as a stand-alone product, it may also be stored in a computer readable storage medium.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product.
  • the computer software product is stored in a storage medium and includes a plurality of instructions.
  • a computer device (which may be a personal computer, server, or network device, etc.) is implemented to perform all or part of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a medium that can store program codes, such as a USB flash drive, a removable hard disk, a ROM, a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a removable hard disk, a ROM, a magnetic disk, or an optical disk.
  • the embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the chip startup method according to the embodiment of the present invention.
  • the computer storage medium stores computer executable instructions
  • the computer executable instructions are used to execute the chip startup method according to the embodiment of the present invention.
  • a boot priority is set for a multi-core processor inside the chip, that is, including two or more processors; and a first core processor that is started by one of the processors is selected, and the first core is selected.
  • the priority setting of the processor is the highest; then, the priority of each storage unit is set for each processor; when starting, the priority of the processor is first selected, and then the priority of the storage unit is started according to the priority of the storage unit to load Start the program, and perform the initialization process to perform the initialization operation; thus, the structure optimization can be performed for the multi-core multi-channel chip, thereby avoiding the chip failure due to the inability of the chip to start, thereby improving the robustness and performance of the chip; further, when When these chips are used on a device, they can avoid the scrapping of the device due to the inability of the chip to start.

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)
  • Stored Programmes (AREA)

Abstract

一种芯片启动方法及多核处理器芯片、存储介质,所述芯片启动方法包括:为所述两个以上的处理器设置启动的第一优先级,以及为各所述处理器分别设置启动所述两个以上的存储单元中各存储单元的第二优先级;根据所述第一优先级确定待启动的优先级最高的第一处理器;所述第一处理器根据所述第一处理器对应的第二优先级依次从各所述存储单元加载启动程序,并执行启动程序而进行初始化操作;当从所述两个以上的存储单元中任意一个存储单元加载启动程序成功、或者从所述两个以上的存储单元的所有存储单元程序加载启动程序均失败时,结束所述第一处理器的程序加载;启动第二处理器的程序加载,依次类推,直至完成所述两个以上的处理器的程序加载。

Description

一种芯片启动方法及多核处理器芯片、 存储介质 技术领域
本发明涉及集成电路芯片设计技术, 尤其涉及一种芯片启动方法及多 核处理器芯片、 存储介质。 背景技术
芯片的启动设计一直是芯片设计的关键点之一。 很多设备报废失效, 很大一部分原因是由于芯片无法启动而导致芯片失效, 最终致使整台设备 报废。 芯片启动时, 需要在芯片内部执行一些初始化操作和配置管理。 当 芯片规模比较小时, 芯片的初始化和配置直接包括在芯片的时钟复位设计 中。 芯片在上电时即完成时钟复位操作的过程, 也就完成芯片的启动过程; 时钟复位完成后, 芯片就可以正常工作。
后来, 芯片的规模开始扩展如增加处理器等, 芯片启动的配置信息一 般是存储在片内的只读存储单元( ROM, Read Only Memory ), 启动时调用 ROM上的配置信息对芯片进行初始化配置。
随着芯片规模的继续扩大, 芯片应用场景的不断多元化, 芯片需要初 始化的内容也不断增多, 并且初始化内容也有更新升级的需求; 因此后来 很多芯片釆用 ROM+flash方式或直接闪存(flash ) 方式存储启动程序。 在 这两种方式中, flash内部存放可以升级的大容量初始化程序。
再后来, flash在升级时碰到一些困难, 因此现有技术中提出一系列方 案来增加初始化程序升级的健壮性及其便利性。 当前芯片启动的优化方案, 主要还是集中在软件的优化如跳转、 数据备份等; 而对硬件的结构涉及不 多, 对于当前的多核多通道的芯片涉及的更少。 针对目前广泛应用的多核 多通道的芯片, 在启动的过程中对通道质量要求非常严格, 如果 flash通道 有问题, 那么芯片的启动就必将失败, 从而导致整个芯片失效。 发明内容
有鉴于此, 本发明实施例为解决现有技术中存在的问题而提供一种芯 片启动方法及多核处理器芯片、 存储介质, 能够针对多核多通道芯片进行 结构性优化, 从而提高芯片的健壮性和性能。
本发明实施例的技术方案是这样实现的:
一种芯片启动方法, 适用于多核处理器芯片, 所述多核处理器芯片至 少包括两个以上的处理器和两个以上的存储单元, 为所述两个以上的处理 器设置启动的第一优先级, 以及为各所述处理器分别设置启动所述两个以 上的存储单元中各存储单元的第二优先级; 所述方法还包括:
根据所述第一优先级确定待启动的优先级最高的第一处理器; 所述第一处理器根据所述第一处理器对应的第二优先级依次从各所述 存储单元加载启动程序, 并执行启动程序而进行初始化操作;
当从所述两个以上的存储单元中任意一个存储单元加载启动程序成 失败时, 结束所述第一处理器的程序加载;
启动第二处理器的程序加载, 依次类推, 直至完成所述两个以上的处 理器的程序加载。
优选地, 所述多核处理器芯片还包括启动监控器; 所述方法还包括: 从所述两个以上的存储单元中任意一个存储单元加载启动程序成功 时, 所述第一处理器向所述启动监控器上报启动成功消息;
对应地, 所述启动第二处理器的程序加载, 包括:
在接收到所述第一处理器上报的启动成功消息或确定所述第一处理器 从所述第一处理器对应的第二优先级中最后级别的存储单元加载启动程序 失败时, 所述启动监控器根据所述第一优先级确定待启动的优先级次高的 第二处理器。
优选地, 所述多核处理器芯片还包括启动监控器;
对应地, 所述根据所述第一优先级确定待启动的优先级最高的第一处 理器, 包括:
所述启动监控器根据所述第一优先级确定第一处理器, 并根据所述第 一处理器对应的第二优先级为所述第一处理器确定启动程序待加载的当前 存储单元;
对应地, 所述第一处理器根据所述第一处理器对应的第二优先级依次 从各所述存储单元加载启动程序, 并执行启动程序进行初始化操作, 包括: 所述第一处理器从所述当前存储单元加载启动程序;
加载成功时, 所述第一处理器执行所述启动程序进行初始化操作; 加载失败时, 所述启动监控器根据所述第一处理器对应的第二优先级 为所述第一处理器确定下一存储单元作为启动程序待加载的当前存储单 元;
依次类推, 直至所述第一处理器从所述第一处理器对应的第二优先级 中最后级别的存储单元加载启动程序。
优选地, 所述加载失败, 包括:
在从所述当前存储单元加载启动程序时, 所述第一处理器向所述启动 监控器上报启动开始消息;
所述启动监控器在接收到所述启动开始消息时开始计时, 在超过计时 阈值时还未接收到所述第一处理器发送的启动成功消息时, 确定所述第一 处理器从当前存储单元加载启动程序失败。
优选地, 所述方法还包括:
将调整系统时钟频率的速度最快的处理器确定为优先级最高的第一处 理器。 优选地, 所述多核处理器芯片还包括直接内存存取器和片内存储单元; 所述方法还包括:
在所述第一处理器加载启动程序成功, 并执行启动程序而进行初始化 操作时, 直接内存存取器根据所述第一优先级将优先级级别低于第一处理 器的其他处理器的启动程序搬移到片内存储单元。
优选地, 所述多核处理器芯片釆用 ROM的存储单元和 flash通道的存 储单元时, 所述第一处理器的第一储存单元包括 ROM的存储单元和 flash 通道的存储单元;
所述执行启动程序而进行初始化操作, 包括:
所述第一处理器从所述 ROM 的存储单元读取并执行第一部分启动程 序, 根据所述第一部分启动程序末尾的跳转指令从 flash通道的存储单元读 取并执行第二部分启动程序。
优选地, 所述多核处理器芯片包括 处理器 MCU、 通用处理器 CPU 和数据处理器 DSP时,所述第一优先级的优先级顺序为 MCU、CPU和 DSP。
一种多核处理器芯片, 所述多核处理器芯片至少包括启动监控器、 两 个以上的处理器和两个以上的存储单元; 其中: 所述启动监控器均与各处 理器通讯连接; 所述两个以上的处理器按照设置的第一优先级的优先级顺 序依次连接;
所述启动监控器, 配置为根据对所述两个以上的处理器设置启动的第 一优先级确定当前处理器, 并根据所述当前处理器对应的第二优先级为所 述当前处理器确定待加载的当前存储单元;
所述当前处理器, 配置为根据所述当前处理器对应的第二优先级从各 所述当前存储单元加载启动程序, 并执行启动程序而进行初始化操作; 当 从所述两个以上的存储单元中任意一个存储单元加载启动程序成功、 或者 从所述两个以上的存储单元的所有存储单元程序加载启动程序均失败时, 退出启动程序的加载。
优选地, 所述多核处理器芯片还包括直接内存存取器;
所述直接内存存取器, 配置为在所述当前处理器加载启动程序成功, 并执行启动程序进行初始化操作时, 根据所述第一优先级将优先级处于当 前处理器之后的其他处理器的启动程序搬移到片内存储单元。
一种计算机存储介质, 所述计算机存储介质中存储有计算机可执行指 令, 该计算机可执行指令用于执行上述的芯片启动方法。
在本发明实施例中, 为所述两个以上的处理器设置启动的第一优先级, 以及为各所述处理器分别设置启动所述两个以上的存储单元中各存储单元 的第二优先级; 根据所述第一优先级确定待启动的优先级最高的第一处理 器; 所述第一处理器根据所述第一处理器对应的第二优先级依次从各所述 存储单元加载启动程序, 并执行启动程序而进行初始化操作; 当从所述两 个以上的存储单元中任意一个存储单元加载启动程序成功、 或者从所述两 个以上的存储单元的所有存储单元程序加载启动程序均失败时, 结束所述 第一处理器的程序加载; 启动第二处理器的程序加载, 依次类推, 直至完 成所述两个以上的处理器的程序加载; 如此, 能够针对多核多通道芯片进 行结构性优化, 从而提高芯片的健壮性和性能。 附图说明
图 1为本发明实施例芯片启动方法的实现流程示意图;
图 2为本发明实施例一中步骤 101的具体实现流程示意图;
图 3为本发明实施例四多核处理器芯片的组成结构示意图;
图 4为本发明实施例多核处理器芯片的启动流程示意图;
图 5为本发明实施例同一通道中不同处理器的地址映射过程的示意图。 具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。 实施例一
本发明实施例提供的一种芯片启动方法, 应用于多核处理器芯片, 所 为本发明实施例芯片启动方法的实现流程示意图, 如图 1 所示, 该芯片启 动方法包括:
步骤 101, 为所述两个以上的处理器设置启动的第一优先级, 以及为各 所述处理器分别设置启动所述两个以上的存储单元中各存储单元的第二优 先级;
步骤 102, 根据所述第一优先级确定待启动的优先级最高的第一处理 器, 所述第一处理器根据所述第一处理器对应的第二优先级依次从各所述 存储单元加载启动程序, 并执行启动程序而进行初始化操作;
步骤 103,当从所述两个以上的存储单元中任意一个存储单元加载启动 程序均失败时, 结束所述第一处理器的程序加载;
步骤 104, 启动第二处理器的程序加载, 依次类推, 直至完成所述两个 以上的处理器的程序加载。
本发明实施例中, 现有的多核处理器芯片尤其是多核处理器基带芯片 内部核的种类众多, 主要分为计算密集型的数字信号处理器(DSP, Digital Signal Processor ), 和控制密集型的通用的中央处理器 ( CPU, Central Processor Unit )及其简单调度配置的微处理器( MCU, Micro Control Unit )0 其中, 每类处理器根据应用场景的不同需求, 所需要的数目也是不等的。 同时由于多核处理器芯片应用场景的多元化, 芯片与外部进行通讯的通道 也是比较丰富的, 有 flash通道、 串行快速输入输出口 (SRIO, Serial Rapid Input Output )通道、 串行千兆位媒质独立接口(SGMII, Serial Gigabit Media Independent Interface )通道、 通用串行总线 ( USB, Universal Serial Bus ) 通道、 通用输入 /输出 (GPIO, General Purpose Input Output )通道等。
当多核处理器芯片包括 DSP、 CPU和 MCU中的任意两者或三者时, 第一优先级中优先级最高的可以为 MCU, 其次是 CPU, 最后是 DSP; 之所 以将 MCU选择为第一处理器的原因是, MCU可以在最短的时间内改变系 统主频, 使系统进入高速处理的状态, 以减少后续其他核处理器的启动时 间。
本发明实施例中, 所述存储单元包括芯片内部的 ROM存储单元,也包 括外部通道,其中,在设置第二优先级时, ROM储存处单元的优先级最高; 当多核处理器芯片与外部进行通讯的通道包括 flash通道、 SRIO 通道、 SGMII通道、 USB通道、 GPIO通道时, 所述第二优先级的依次可以设置为 flash通道、 USB通道、 SGMII通道、 SRIO通道、 GPIO通道。
本发明实施例中, 该方法还包括: 从所述两个以上的存储单元中任意 一个存储单元加载启动程序成功时, 所述第一处理器向所述启动监控器上 ^^启动成功消息;
对应地, 所述启动第二处理器的程序加载, 包括:
在接收到所述第一处理器上报的启动成功消息或确定所述第一处理器 从所述第一处理器对应的第二优先级中最后级别的存储单元加载启动程序 失败时, 所述启动监控器根据所述第一优先级确定待启动的优先级次高的 第二处理器。
本发明实施例中, 所述多核处理器芯片还包括直接内存存取器和片内 存储单元, 该方法还包括: 在所述第一处理器加载启动程序成功, 并执行 启动程序而进行初始化操作时, 直接内存存取器根据所述第一优先级将优 先级级别低于第一处理器的其他处理器的启动程序搬移到片内存储单元。 本发明实施例中, 所述多核处理器芯片釆用 ROM的存储单元和 flash 通道的存储单元时,所述第一处理器的第一储存单元包括 ROM的存储单元 和 flash通道的存储单元; 所述执行启动程序而进行初始化操作, 包括: 所 述第一处理器从所述 ROM的存储单元读取并执行第一部分启动程序,根据 所述第一部分启动程序末尾的跳转指令从 flash通道的存储单元读取并执行 第二部分启动程序。
本本发明实施例提供的一种芯片启动方法, 结合多核处理器芯片中处 理器的特性及芯片与外部进行通讯的接口的多样性, 通过对启动进行监控 调度, 从而保证芯片启动的健壮性, 减少无线网络断网的概率, 提升通讯 安全质量。
实施例二
基于本发明实施例一提供的芯片启动方法, 本发明实施例中, 所述多 核处理器芯片还包括启动监控器; 图 2为本发明实施例一中步骤 101的具 体实现流程示意图, 如图 2所示, 该步骤 101包括:
步骤 201, 所述启动监控器根据所述第一优先级确定第一处理器, 并根 据所述第一处理器对应的第二优先级为所述第一处理器确定启动程序待加 载的当前存储单元;
步骤 202, 所述第一处理器从所述当前存储单元加载启动程序; 步骤 203,加载成功时, 所述第一处理器执行所述启动程序进行初始化 操作; 加载失败时, 所述启动监控器根据所述第一处理器对应的第二优先 级为所述第一处理器确定下一存储单元作为启动程序待加载的当前存储单 元;
步骤 204,依次类推, 直至所述第一处理器从所述第一处理器对应的第 二优先级中最后级别的存储单元加载启动程序。
本发明实施例中, 所述加载失败, 启动监控器可以通过第一处理器发 送的加载失败消息来确定。 在该方式中, 由于第一处理器在加载失败时可 能处于不可控的状态, 因此, 启动监控器很有可能因为无法收到加载失败 消息而导致无法确定第一处理器加载失败。
本发明实施例中, 所述加载失败可以通过以下步骤来实现:
在从所述当前存储单元加载启动程序时, 所述第一处理器向所述启动 监控器上报启动开始消息;
所述启动监控器在接收到所述启动开始消息时开始计时, 在超过计时 阈值时还未接收到所述第一处理器发送的启动成功消息时, 确定所述第一 处理器从当前存储单元加载启动程序失败。
该方式能够避免前一种方式由于无法收到加载失败消息而导致的无法 确定第一处理器加载失败的情况发生, 从而提高了准确性。
本发明实施例中, 同一类处理器可以只含有一颗, 但是根据应用场景 的不同, 同一类处理器不限定为一颗, 可以同时有多颗; 当芯片中同一处 理器如 CPU包括多颗时, 也需要为这多颗 CPU设置优先级顺序。
实施例三
基于前述实施例一和实施例二, 本发明实施例还提供一种多核处理器 芯片, 该多核处理器芯片至少包括启动监控器、 两个以上的处理器和两个 以上的存储单元; 其中: 所述启动监控器均与各处理器通讯连接; 所述两 个以上的处理器按照设置的第一优先级的优先级顺序依次连接;
所述启动监控器, 配置为根据对所述两个以上的处理器设置启动的第 一优先级确定当前处理器, 并根据所述当前处理器对应的第二优先级为所 述当前处理器确定待加载的当前存储单元;
所述当前处理器, 配置为根据所述当前处理器对应的第二优先级从各 所述当前存储单元加载启动程序, 并执行启动程序而进行初始化操作; 当 从所述两个以上的存储单元中任意一个存储单元加载启动程序成功、 或者 从所述两个以上的存储单元的所有存储单元程序加载启动程序均失败时, 退出启动程序的加载。
本发明实施例中, 所述多核处理器芯片还包括直接内存存取器; 所述 直接内存存取器, 配置为在所述当前处理器加载启动程序成功, 并执行启 动程序进行初始化操作时, 根据所述第一优先级将优先级处于当前处理器 之后的其他处理器的启动程序搬移到片内存储单元。
实施例四
基于实施例三, 图 3 为本发明实施例四多核处理器芯片的组成结构示 意图, 如图 3 所示, 该多核处理器芯片釆用总线结构; 该芯片包括启动监 控器(Boot Controller )301,启动监控器连接三类处理器 CPU 303、 MCU 302 和 DSP 304, 为了描述起来清楚, 其中每一类处理器只包括一颗, 这三颗处 理器按照设置的第一优先级依次顺序连接; 每一颗处理器都连接启动直接 内存存取( DMA, Direct Memory Access ) 312; 该芯片除了内部 ROM 305 和内部随机存取存储器( RAM, Random-Access Memory ) 313夕卜, 该芯片 还包括与外部进行通讯的通道包括 flash通道 306、 USB通道 307、 SGMII 通道 308、 SRIO通道 309和 GPIO通道 310; 其中:
启动监控器 301, 配置为对各处理器的启动过程进行监控。针对每一个 处理器都设置一个对应的计数器和计时阈值。 当对应的处理器开始执行启 动操作, 那么计数器开始计数, 如果在计数值达到对应的计时阈值时, 对 应处理器还未向启动监控器反馈启动成功信息, 那么启动监控器确定这个 处理器启动失败; 同时可以对所有处理器进行复位启动, 对总线通道进行 地址映射配置。
MCU 302可以进行一些计算复杂度和控制复杂度低的任务的调动, 在 本实施例中将 MCU 302作为第一处理器启动。 CPU 303可以进行一些通用 运算及其复杂控制的处理, CPU 303的优先级处于 MCU 402之后。 DSP 304 可以进行一些运算密集型、及其特殊运算程序的处理, DSP 304的优先级处 于 CPU 303之后。
ROM 305存储单元, 配置为存放第一处理器的第一部分启动程序, 以 进行启动时刻的基础配置; 带有 flash通道 306, 配置为存放第一处理器的 第二部分启动程序、 其他处理器的所有启动程序、 系统软件、 应用软件等 其他程序和数据。 USB通道 307的存储存储单元, 配置为存放所有核处理 器的备用启动程序及其进行程序升级使用。 SGMII通道 308, 配置为连接系 统设备主控单元及其核心网, 用以进行数据通信至此系统在线启动。 SRIO 通道 309, 配置为和其他芯片进行交互通讯, 可以支持通过其他芯片启动本 芯片。 GPIO通道 310, 可以支持芯片从外部启动, 配置为与外部进行低速 通讯。
通道映射管理单元(map ) 311, 配置为通道切换管理, 根据启动监控 器 301 配置的第一优先级和第二优先级更改通道连接, 使对应的处理器在 指定的通道上启动。 DMA 312, 配置为进行数据程序搬移, 可以在系统启 动的过程加快程序加载速度。 RAM 313, 用来存储从外部加载过来的启动 程序, 软件可以直接从 AM中读取启动程序。
实施例五
基于前述实施例一至四, 本实施例以多核处理器芯片包括 MCU、 CPU 和 DSP, 且芯片除了内部 ROM夕卜, 与外部进行通讯的通道还包括 flash通 道、 SRIO通道、 SGMII通道、 USB通道、 GPIO通道为例, 来详细阐述本 发明实施例提供的多核处理器芯片的启动方法, 该方法如下:
步骤 Al, 对芯片内部的多核处理器进行分类, 对该三类处理器设置启 动的第一优先级, 以及为各处理器分别设置与其对应的存储单元的第二优 先级;
在本步骤中, 由于 MCU能够在最短的时间内提升系统主频,使系统进 入高速处理的状态, 以减少后续其他核如 CPU和 DSP的启动时间,从而选 择 MCU处理器为启动的第一处理器, 将 MCU的优先级别设置为最高。 因 此, 第一优先级的顺序为 MCU、 CPU和 DSP。
釆用 MCU作为第一处理器时, 系统启动中处于高频的时间比例长。在 MCU加载完毕后, 系统时钟可以由 lOOMhz上升到 600Mhz, 系统启动加 载速度可以提高 6倍。
在本步骤中, 芯片与外部进行通讯的通道包括 flash通道、 SRIO通道、 SGMII通道、 USB通道、 GPIO通道; 为了便于描述, 将为每一类处理器都 设置相同的第二优先级,具体的第二优先级为 flash通道、 USB通道、 SGMII 通道、 SRIO通道、 GPIO通道。
步骤 A2, 所述启动监控器根据所述第一优先级确定第一处理器, 并根 据所述第二优先级为所述当前处理器确定第一存储单元; 所述第一处理器 的第一储存单元包括 ROM存储单元和 flash存储单元;
正常启动时, 第一处理器从内部 ROM读取部分启动程序, 第一处理器 执行第一部分启动程序进行初始化工作。 在执行第一部分启动程序时, 第 一处理器进行系统时钟频率调整, 使系统进入高频状态。 在第一部分启动 程序的末尾有跳转指令, 从而第一处理器根据该跳转指令从 flash接口加载 第二部分启动程序。
第一处理器在执行第一部分启动程序或第二启动程序进行初始化操作 的过程中,可以启动 DMA进行启动程序搬移,将片外的其他核的启动程序 搬移到片内的存储单元 RAM, 当其他核子在启动的时可以减少程序加载的 时间, 直接进行片内读写配置。
步骤 A3, DMA不断的执行程序搬移操作, 同时其他处理器进行启动 配置。 最后 DMA完成所有程序的搬移, 其他处理器也完成启动配置, 芯片 完成一整套的正常流程下的启动操作。 步骤 A4, 启动监控器在启动的过程中监控启动流程, 每个处理器启动 开始及其启动成功后都要向监控器上报启动状态消息。 如果监控器发现启 动失败后, 将切换对应核的启动通道。
其中启动状态消息包括用于表征处理加载启动程序开始的加载开始消 息、 用于表征处理器启动成功的启动成功消息、 和用于表征处理器加载启 动程序失败的加载失败消息;
加载成功时, 所述当前处理器执行所述启动程序进行初始化操作, 并 向所述启动监控器上报启动成功消息;
加载失败时, 所述启动监控器根据所述第二优先级为所述当前处理器 确定下一个存储单元作为当前存储单元; 在所述当前处理器加载最后一个 存储单元失败时, 向所述启动监控器上报启动失败消息;
步骤 A5, 当当前处理器第一次启动失败后, 启动监控器通过 map切换 启动通道, 初始启动地址由 ROM切换到 flash通道上对应地址。
如果当前处理器第二次启动失败后, 启动监控器通过 map切换启动通 路, 初始启动地址由 flash通道上对应地址切换到 USB通道对应上的地址。
如果当前处理器第三次启动失败后, 启动监控器通过 map切换启动通 路,初始启动地址由 USB通道上对应地址切换到 SGMII通道对应上的地址。
如果当前处理器第四次启动失败后, 启动监控器通过 map切换启动通 路, 初始启动地址由 SGMII通道上对应地址切换到 SRIO通道对应上的地 址。
如果当前处理器第五次启动失败后, 启动监控器通过 map切换启动通 路,初始启动地址由 SRIO通道上对应地址切换到 GPIO通道对应上的地址。
其中, GPIO通道使用到管脚复用, 在从 GPIO通道启动前, 启动监控 器对管脚重定义, 将系统正常工作时使用到的部分通过管脚定义成启动管 脚, 启动程序通过这部分管脚进行加载。 当启动成功后, 启动监控器对这 部分管脚进行释放。本实施例通过 GPIO的管脚复用而节省了管脚资源, 降 低了芯片成本。
步骤 A6, 当当前处理器的所有通道轮循一遍后, 启动监控器依旧不能 受到启动成功信息后, 监控器则按核的优先级别, 选择剩余核中优先级别 最高的核作为新的首核, 跳转到步骤 A2进行新的正常启动。
步骤 A7, 当所有核都轮循一遍后, 系统都没有任意一个处理器可以启 动成功, 那么这片多核处理器芯片将报废而不可再使用。 只要有一颗处理 器可以正常使用, 那么该芯片都可以进入工作状态, 而其他未能正常启动 的处理器只要不是发生硬件问题, 都可以通过打补丁、 在线升级等方式逐 一再进行启动。
本发明实施例中步骤 A1至步骤 A7并没有严格的执行先后顺序。
实施例六
承接实施例四, 图 4 为本发明实施例多核处理器芯片的启动流程示意 图, 如图 4所示, 该示意图按照芯片的启动流程描述芯片正常启动的各个 处理过程, 及异常情况下的跳转处理过程, 包括以下步骤:
步骤 401, 系统芯片上电或者外部复位, 所述启动监控器根据所述第一 优先级确定第一处理器, 所述第一处理器作为当前处理器, 并根据所述第 二优先级为所述当前处理器确定第一存储单元, 所述第一存储单元作为当 前存储单元;
步骤 402, 当前处理器从片内 ROM读取第一部分启动程序, 执行初始 配置。
步骤 403, 当前处理器执行第一部分启动程序的配置后, 跳转到 flash 通道的第一地址 flash— address 1进行第二部分启动程序的加载;加载成功时, 进入步骤 404; 否则, 进入步骤 405;
步骤 404, 当前处理器判断系统主频是否已经提升, 如果未提升, 则配 置提升系统主频; 如果在规定的时间内, 启动监控器接收到启动成功消息, 则跳转到步骤 406;
步骤 405, 当前处理器根据启动监控器的指示跳转到 flash通道的第二 地址 flash— address2进行备用启动程序的加载; 加载成功时, 将启动成功消 息上报给启动监控器, 进入步骤 406; 否则, 否则将加载失败消息上报给启 动监控器, 启动监控器进行地址映射配置, 启动当前处理器从 USB通道启 动。
步骤 406, 启动监控器从未启动的内核中, 选择优先级最高的内核作为 当前处理器, 执行新一轮的启动, 执行步骤 405、 407至 410, 最后执行步 骤 411 ;
步骤 407, 当前处理器从 USB通道加载启动程序, 如果启动成功, 则 将启动成功消息上报给启动监控器,执行步骤 406; 否则将加载失败消息上 报给启动监控器,启动监控器进行地址映射配置,启动当前处理器从 SGMII 通道启动。
步骤 408, 当前处理器从 SGMII通道加载启动程序, 如果启动成功, 则将启动成功消息上报给启动监控器, 执行步骤 406; 否则将加载失败消息 上报给启动监控器, 启动监控器进行地址映射配置, 启动当前处理器从 S IO通道启动。
步骤 409, 当前处理器从 SRIO通道加载启动程序, 如果启动成功, 则 将启动成功消息上报给启动监控器,执行步骤 406; 否则将加载失败消息上 报给启动监控器, 启动监控器进行地址映射配置, 启动当前处理器从 GPIO 通道启动。
步骤 410, 当前处理器从 GPIO通道加载启动程序, 如果启动成功, 则 释放 GPIO通道的管脚, 同时将启动成功消息上报给启动监控器,执行步骤 406; 否则将加载失败消息上报给启动监控器, 进入步骤 406。 步骤 411,所有处理器都完成启动流程,启动监控器汇总启动状态信息, 向外部上报启动成功 /失败状态信息, 启动流程结束。
本发明实施例中, 图 5 为本发明实施例同一通道中不同处理器的地址 映射过程的示意图, 如图 5 所示, 由于芯片内的多核处理器在同一通道中 的启动程序存放的地址是不一样的, 所以通道映射管理单元映射的启动地 址也是不一样的。 当釆用 ROM+flash方式存储启动程序时, 对于第一处理 器来说, flash通道内对应两个启动地址, 第一启动地址对应于第二部分启 动程序; 第二启动地址对应于备用启动程序。
本发明实施例中, 所述存储单元包括芯片内部的 ROM存储单元,也包 括外部通道,其中,在设置第二优先级时, ROM储存处单元的优先级最高; 当多核处理器芯片与外部进行通讯的通道包括 flash通道、 SRIO 通道、 SGMII通道、 USB通道、 GPIO通道时, 所述第二优先级的依次可以设置为 flash通道、 USB通道、 SGMII通道、 SRIO通道、 GPIO通道。
本发明实施例中, 如果以软件功能模块的形式实现上述芯片启动方 法,, 并作为独立的产品销售或使用时, 也可以存储在一个计算机可读取存 储介质中。 基于这样的理解, 本发明实施例的技术方案本质上或者说对现 有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产 品存储在一个存储介质中, 包括若干指令用以使得一台计算机设备(可以 是个人计算机、 服务器、 或者网络设备等)执行本发明各个实施例所述方 法的全部或部分。 而前述的存储介质包括: U盘、 移动硬盘、 ROM、 磁碟 或者光盘等各种可以存储程序代码的介质。 这样, 本发明实施例不限制于 任何特定的硬件和软件结合。
相应地, 本发明实施例再提供一种计算机存储介质, 所述计算机存储 介质中存储有计算机可执行指令, 该计算机可执行指令用于执行本发明实 施例所述的芯片启动方法。 以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并 不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本 发明的保护范围应该以权利要求书的保护范围为准。 工业实用性
本发明实施例在本发明实施例中, 先对芯片内部的多核处理器即包括 两个以上的处理器设置启动优先级; 选择其中某一颗处理器为启动的首核 处理器, 将首核处理器的优先级别设置最高; 然后对每一处理器设置启动 各存储单元的优先级; 启动的时候先按处理器的优先级别, 依次按照存储 单元的优先级由高到低进行启动, 以加载启动程序, 并执行启动程序而进 行初始化操作; 如此, 能够针对多核多通道芯片进行结构性优化, 从而避 免由于芯片无法启动而导致芯片的失效, 进而提高芯片的健壮性和性能; 进一步地, 当这些芯片用于设备上时, 能够避免设备因为芯片无法启 动而导致的报废。

Claims

权利要求书
1、 一种芯片启动方法, 适用于多核处理器芯片, 所述多核处理器芯片 至少包括两个以上的处理器和两个以上的存储单元, 为所述两个以上的处 理器设置启动的第一优先级, 以及为各所述处理器分别设置启动所述两个 以上的存储单元中各存储单元的第二优先级; 所述方法还包括:
根据所述第一优先级确定待启动的优先级最高的第一处理器; 所述第一处理器根据所述第一处理器对应的第二优先级依次从各所述 存储单元加载启动程序, 并执行启动程序而进行初始化操作;
当从所述两个以上的存储单元中任意一个存储单元加载启动程序成 失败时, 结束所述第一处理器的程序加载;
启动第二处理器的程序加载, 依次类推, 直至完成所述两个以上的处 理器的程序加载。
2、 根据权利要求 1所述的方法, 其中, 所述多核处理器芯片还包括启 动监控器; 所述方法还包括:
从所述两个以上的存储单元中任意一个存储单元加载启动程序成功 时, 所述第一处理器向所述启动监控器上报启动成功消息;
对应地, 所述启动第二处理器的程序加载, 包括:
在接收到所述第一处理器上报的启动成功消息或确定所述第一处理器 从所述第一处理器对应的第二优先级中最后级别的存储单元加载启动程序 失败时, 所述启动监控器根据所述第一优先级确定待启动的优先级次高的 第二处理器。
3、 根据权利要求 1所述的方法, 其中, 所述多核处理器芯片还包括启 动监控器;
对应地, 所述根据所述第一优先级确定待启动的优先级最高的第一处 理器, 包括:
所述启动监控器根据所述第一优先级确定第一处理器, 并根据所述第 一处理器对应的第二优先级为所述第一处理器确定启动程序待加载的当前 存储单元;
对应地, 所述第一处理器根据所述第一处理器对应的第二优先级依次 从各所述存储单元加载启动程序, 并执行启动程序进行初始化操作, 包括: 所述第一处理器从所述当前存储单元加载启动程序;
加载成功时, 所述第一处理器执行所述启动程序进行初始化操作; 加载失败时, 所述启动监控器根据所述第一处理器对应的第二优先级 为所述第一处理器确定下一存储单元作为启动程序待加载的当前存储单 元;
依次类推, 直至所述第一处理器从所述第一处理器对应的第二优先级 中最后级别的存储单元加载启动程序。
4、 根据权利要求 3所述的方法, 其中, 所述加载失败, 包括: 在从所述当前存储单元加载启动程序时, 所述第一处理器向所述启动 监控器上报启动开始消息;
所述启动监控器在接收到所述启动开始消息时开始计时, 在超过计时 阈值时还未接收到所述第一处理器发送的启动成功消息时, 确定所述第一 处理器从当前存储单元加载启动程序失败。
5、 根据权利要求 1所述的方法, 其中, 所述方法还包括:
将调整系统时钟频率的速度最快的处理器确定为优先级最高的第一处 理器。
6、 根据权利要求 1所述的方法, 其中, 所述多核处理器芯片还包括直 接内存存取器和片内存储单元; 所述方法还包括:
在所述第一处理器加载启动程序成功, 并执行启动程序而进行初始化 操作时, 直接内存存取器根据所述第一优先级将优先级级别低于第一处理 器的其他处理器的启动程序搬移到片内存储单元。
7、 根据权利要求 1至 6任一项所述的方法, 其中, 所述多核处理器芯 片釆用 ROM的存储单元和 flash通道的存储单元时, 所述第一处理器的第 一储存单元包括 ROM的存储单元和 flash通道的存储单元;
所述执行启动程序而进行初始化操作, 包括:
所述第一处理器从所述 ROM 的存储单元读取并执行第一部分启动程 序, 根据所述第一部分启动程序末尾的跳转指令从 flash通道的存储单元读 取并执行第二部分启动程序。
8、 根据权利要求 1至 6任一项所述的方法, 其中, 所述多核处理器芯 片包括微处理器 MCU、 通用处理器 CPU和数据处理器 DSP时, 所述第一 优先级的优先级顺序为 MCU、 CPU和 DSP。
9、 一种多核处理器芯片, 所述多核处理器芯片至少包括启动监控器、 两个以上的处理器和两个以上的存储单元; 其中: 所述启动监控器均与各 处理器通讯连接; 所述两个以上的处理器按照设置的第一优先级的优先级 顺序依次连接;
所述启动监控器, 配置为根据对所述两个以上的处理器设置启动的第 一优先级确定当前处理器, 并根据所述当前处理器对应的第二优先级为所 述当前处理器确定待加载的当前存储单元;
所述当前处理器, 配置为根据所述当前处理器对应的第二优先级从各 所述当前存储单元加载启动程序, 并执行启动程序而进行初始化操作; 当 从所述两个以上的存储单元中任意一个存储单元加载启动程序成功、 或者 从所述两个以上的存储单元的所有存储单元程序加载启动程序均失败时, 退出启动程序的加载。
10、 根据权利要求 9所述的芯片, 其中, 所述多核处理器芯片还包括 直接内存存取器;
所述直接内存存取器, 配置为在所述当前处理器加载启动程序成功, 并执行启动程序进行初始化操作时, 根据所述第一优先级将优先级处于 当前处理器之后的其他处理器的启动程序搬移到片内存储单元。
11、 一种计算机存储介质, 所述计算机存储介质中存储有计算机可执 行指令, 该计算机可执行指令用于执行权利要求 1至 8任一项所述的芯片 启动方法。
PCT/CN2014/075294 2013-12-30 2014-04-14 一种芯片启动方法及多核处理器芯片、存储介质 WO2015100878A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP14877078.7A EP3091434B1 (en) 2013-12-30 2014-04-14 Chip starting method, multi-core processor chip and storage medium
ES14877078.7T ES2670810T3 (es) 2013-12-30 2014-04-14 Procedimiento de inicio de chip, chip de procesador multinúcleo y medio de almacenamiento
US15/108,351 US9928077B2 (en) 2013-12-30 2014-04-14 Chip starting method, multi-core processor chip and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310749809.XA CN104750510B (zh) 2013-12-30 2013-12-30 一种芯片启动方法及多核处理器芯片
CN201310749809.X 2013-12-30

Publications (1)

Publication Number Publication Date
WO2015100878A1 true WO2015100878A1 (zh) 2015-07-09

Family

ID=53493079

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/075294 WO2015100878A1 (zh) 2013-12-30 2014-04-14 一种芯片启动方法及多核处理器芯片、存储介质

Country Status (5)

Country Link
US (1) US9928077B2 (zh)
EP (1) EP3091434B1 (zh)
CN (1) CN104750510B (zh)
ES (1) ES2670810T3 (zh)
WO (1) WO2015100878A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238805A (zh) * 2021-05-18 2021-08-10 上海金卓科技有限公司 一种芯片系统和芯片系统的启动方法
CN117113362A (zh) * 2023-10-19 2023-11-24 中电科申泰信息科技有限公司 一种多芯粒处理器的安全启动维护方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017119098A1 (ja) * 2016-01-07 2017-07-13 株式会社日立製作所 計算機システム及び計算機の制御方法
CN107656773B (zh) * 2017-09-28 2021-06-25 中国人民解放军国防科技大学 一种多核dsp启动方法
CN111381958B (zh) * 2018-12-29 2022-12-09 上海寒武纪信息科技有限公司 通信装置、神经网络处理芯片、组合装置和电子设备
CN109800032B (zh) * 2019-01-31 2022-03-25 深圳忆联信息系统有限公司 Bootrom多核加载方法及装置
CN112558507B (zh) * 2019-09-25 2022-03-01 北京比特大陆科技有限公司 频率自适应方法和装置、数据处理设备、介质和产品
CN110990328B (zh) * 2019-10-23 2022-06-17 武汉光庭信息技术股份有限公司 一种TBox的双处理器间可靠通信的方法及系统
CN113515312A (zh) * 2020-03-25 2021-10-19 华为技术有限公司 芯片启动方法、装置及计算机设备
CN113873190A (zh) * 2020-06-30 2021-12-31 Oppo广东移动通信有限公司 图像前处理芯片及电子设备
EP3933574B1 (en) * 2020-07-02 2023-08-30 Axis AB A method and a monitoring camera
CN112148374A (zh) * 2020-08-20 2020-12-29 瑞芯微电子股份有限公司 一种SoC芯片启动顺序控制方法及系统
TWI777639B (zh) * 2021-06-29 2022-09-11 大陸商星宸科技股份有限公司 雙處理器電子裝置及其運作方法
CN114115025B (zh) * 2021-11-24 2024-05-28 国汽智控(北京)科技有限公司 基于自动驾驶系统的故障信息的保存方法、装置和设备
CN114327660B (zh) * 2021-12-30 2024-01-30 浙江大立科技股份有限公司 基于fpga的外接内存的初始化方法
CN115658183B (zh) * 2022-12-26 2023-03-31 北京紫光芯能科技有限公司 用于控制mcu的方法及装置、电子设备、存储介质
CN115827079B (zh) * 2023-01-09 2023-07-28 深流微智能科技(深圳)有限公司 启动图形处理器的控制方法、控制装置和电子设备
CN116755783B (zh) * 2023-06-19 2024-04-09 合芯科技有限公司 一种多核芯片启动方法、控制器及系统
CN116594953B (zh) * 2023-07-18 2023-09-22 北京芯驰半导体科技有限公司 一种基于pcie互联的多核异构芯片、启动方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001027753A2 (en) * 1999-10-12 2001-04-19 Scientific-Atlanta, Inc. Method and apparatus for loading software into a plurality of processors
CN1168004C (zh) * 1989-05-17 2004-09-22 国际商业机器公司 在数据处理系统中提供容错环境和体系结构的装置
CN1728113A (zh) * 2004-07-30 2006-02-01 惠普开发有限公司 利用转换后备缓冲器选中的多处理器系统和方法
US7711941B2 (en) * 2006-12-19 2010-05-04 Lsi Corporation Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
CN101751273A (zh) * 2008-12-15 2010-06-23 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283868A (en) 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5325517A (en) 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5432939A (en) * 1992-05-27 1995-07-11 International Business Machines Corp. Trusted personal computer system with management control over initial program loading
TW200428284A (en) * 2003-06-03 2004-12-16 Hon Hai Prec Ind Co Ltd System and method for bootstrap with backup boot-code in single flash ROM
CN1296830C (zh) * 2003-06-08 2007-01-24 华为技术有限公司 中央处理单元启动的方法及系统
CN101452437B (zh) * 2007-12-03 2011-05-04 英业达股份有限公司 多处理器系统
US8413122B2 (en) * 2009-02-12 2013-04-02 International Business Machines Corporation System and method for demonstrating the correctness of an execution trace in concurrent processing environments
TWI387926B (zh) 2009-07-10 2013-03-01 Wistron Neweb Corp 更新程式區段之方法
US8656149B2 (en) 2010-06-07 2014-02-18 International Business Machies Corporation Rapid activation of service management processor subsystem for server device
WO2011159263A1 (en) 2010-06-15 2011-12-22 The Thailand Research Fund Embedded system providing bootloader selected execution of multiple independent modular programs
US20110320794A1 (en) 2010-06-28 2011-12-29 Chung-Jen Yang Flash System And Method For Updating The Flash System
CN103207788A (zh) 2012-01-13 2013-07-17 中兴通讯股份有限公司 一种版本启动方法和装置
CN102707975A (zh) 2012-05-15 2012-10-03 上海大雨电子技术有限公司 一种运行hdmi显示初始化代码的方法
CN102722394B (zh) 2012-06-08 2015-03-18 深圳路迪网络有限公司 一种嵌入式设备的启动升级方法
CN102902556B (zh) 2012-09-06 2016-06-01 深圳市共进电子股份有限公司 一种嵌入式设备的多级引导加载方法
CN103019775B (zh) 2012-11-28 2016-04-13 小米科技有限责任公司 一种终端设备刷机的方法、装置和设备
WO2014190486A1 (zh) * 2013-05-28 2014-12-04 华为技术有限公司 支持多核架构下资源隔离的方法及系统
CN103294511A (zh) 2013-05-31 2013-09-11 哈尔滨工业大学 基于CAN总线的bootloader软件的升级方法
US9658940B2 (en) * 2015-03-19 2017-05-23 International Business Machines Corporation Method to efficiently implement synchronization using software managed address translation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1168004C (zh) * 1989-05-17 2004-09-22 国际商业机器公司 在数据处理系统中提供容错环境和体系结构的装置
WO2001027753A2 (en) * 1999-10-12 2001-04-19 Scientific-Atlanta, Inc. Method and apparatus for loading software into a plurality of processors
CN1728113A (zh) * 2004-07-30 2006-02-01 惠普开发有限公司 利用转换后备缓冲器选中的多处理器系统和方法
US7711941B2 (en) * 2006-12-19 2010-05-04 Lsi Corporation Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
CN101751273A (zh) * 2008-12-15 2010-06-23 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3091434A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238805A (zh) * 2021-05-18 2021-08-10 上海金卓科技有限公司 一种芯片系统和芯片系统的启动方法
CN117113362A (zh) * 2023-10-19 2023-11-24 中电科申泰信息科技有限公司 一种多芯粒处理器的安全启动维护方法
CN117113362B (zh) * 2023-10-19 2024-01-19 中电科申泰信息科技有限公司 一种多芯粒处理器的安全启动维护方法

Also Published As

Publication number Publication date
CN104750510B (zh) 2019-04-02
US20160321082A1 (en) 2016-11-03
EP3091434A1 (en) 2016-11-09
CN104750510A (zh) 2015-07-01
US9928077B2 (en) 2018-03-27
ES2670810T3 (es) 2018-06-01
EP3091434B1 (en) 2018-04-11
EP3091434A4 (en) 2017-01-25

Similar Documents

Publication Publication Date Title
WO2015100878A1 (zh) 一种芯片启动方法及多核处理器芯片、存储介质
CN108616382B (zh) 升级网卡固件的方法、装置、网卡和设备
CN102640138B (zh) 突发存取协议及第二处理器的优先初始化
US8898517B2 (en) Handling a failed processor of a multiprocessor information handling system
US20160103689A1 (en) Methods and apparatus for running and booting an inter-processor communication link between independently operable processors
CN103186404B (zh) 系统固件更新方法与使用该方法的服务器系统
JP6305976B2 (ja) コンピューティング装置に対するネットワーク駆動のウェイクアップ操作の実行期間中においてパケットを遅延させる方法、装置およびシステム
CN107977233B (zh) 内核镜像文件快速加载方法和装置
CN112596960A (zh) 一种分布式存储服务切换方法及装置
CN112835839B (zh) PCIe接口的设备枚举方法、装置、设备及存储介质
CN116521209A (zh) 操作系统的升级方法及装置、存储介质及电子设备
US9092334B2 (en) Method for shortening enumeration of tightly coupled USB device
WO2013048536A1 (en) Apparatus and method for managing register information in a processing system
TW201112131A (en) Controllers, apparatuses, and methods for transferring data
CN104158709A (zh) 一种光模块识别的方法及端口扩展设备
CN119473432A (zh) 系统启动方法、装置、计算机设备和存储介质
CN119025171A (zh) 服务器设备的启动方法及装置
CN116880759B (zh) 一种基于DPU的NVMe系统及其启动方法
CN117950732A (zh) 服务器启动方法及服务器
TW201328248A (zh) 系統韌體更新方法與使用其之伺服器系統
CN104978208B (zh) 一种热重启方法及其装置
CN114090329A (zh) 一种全卸载架构下的服务器重启方法及相关设备
JP5332716B2 (ja) 起動制御方法、情報処理装置及びプログラム
CN117667465B (zh) 代码共享方法、装置、交换机、多主机系统、设备和介质
US11880575B2 (en) Adaptive memory device power saving setting in an information handling system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14877078

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15108351

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014877078

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014877078

Country of ref document: EP