Startup methods and devices for on-chip systems, storage media and electronic devices

By combining edge boot devices with the control network, the system searches for and starts management nodes, drives the writing and deployment of boot programs for both compute and non-compute nodes, solves the problem of independent booting of on-chip systems without ROM, and achieves efficient and low-power system booting.

CN119847638BActive Publication Date: 2025-10-31INST OF COMPUTING TECH CHINESE ACAD OF SCI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510022203.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-07
Publication Date
2025-10-31
Estimated Expiration
2045-01-07

AI Technical Summary

Technical Problem

How can the system-on-a-chip (SoC) effectively transmit the boot signal to the internal chip when it starts without ROM, and how can it achieve independent booting without increasing hardware usage, especially considering its unique high integration and architecture?

Method used

By combining edge boot devices with the control network, the system searches for and boots management nodes. The management nodes drive the writing and deployment of bootloaders for both compute and non-compute nodes, and the system achieves autonomous booting using an interrogation/response mode and an NFS file server.

Benefits of technology

It enables independent startup of the system-on-a-chip without increasing hardware footprint, meeting the requirements of high integration and low power consumption, and adapting to complex computing needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847638B_ABST
    Figure CN119847638B_ABST
Patent Text Reader

Abstract

This invention provides a method for booting a system-on-a-chip (SoC), comprising the following steps: booting an edge boot device and a control network for the SoC; searching for and booting at least one available node as a management node on the control network; the management node driving the edge boot device to boot at least one compute node; and the management node deploying and booting at least one non-compute node through the control network and the SoC boot process. This invention also provides a booting device, storage medium, and electronic device for the SoC. Therefore, this invention minimizes hardware footprint while enabling independent booting of the SoC.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of systems-on-a-chip (SoC), and more particularly to a startup method, apparatus, storage medium, and electronic device for SoC. Background Technology

[0002] With the development of technology, applications in fields such as machine learning, artificial intelligence, high-performance computing, big data processing, and cloud computing require massive amounts of computation and frequent data access, leading to a continuous increase in the demand for processor computing power. Furthermore, increasing chip integration presents greater challenges in terms of power consumption and heat dissipation. According to research by A. Mehonic & A. Kenyonde, since 2018, the demand for computing power has roughly doubled every two months. A single processor can no longer meet the needs of large-scale data processing. Even without considering chip power consumption and heat dissipation, chip yield issues prevent the arbitrary increase in chip area, making insufficient computing power a bottleneck for technological development. Therefore, to meet the ever-increasing demands for computing power and memory bandwidth from various applications, multi-chip modules composed of multiple small chips have emerged. These multi-chip modules offer advantages in terms of production volume and cost, but they require dense interconnects to facilitate I / O circuits between chips and advanced packaging technologies to maintain low power consumption during operation. Therefore, System-on-Wafer (SoW), or wafer-level system, has once again emerged due to its advantages such as high interconnect bandwidth, power density, reduced data transmission requirements, and reduced computational complexity.

[0003] System-on-a-Chip (SoC) is a large and compact solution that integrates numerous chips, power supplies, memory, and other modules. It directly utilizes a complete wafer substrate as the interconnect base for the various modules within the system, realizing a complete system on a wafer densely packed with various chips. Because it eliminates the need for a substrate or PCB, SoC can use finer traces to more tightly package the chips, providing higher bandwidth and lower latency, and significantly reducing power consumption during large-scale data transmission.

[0004] To further improve the performance of systems-on-a-chip (SoCs), Software Defined System-on-Wafer (SDSoW) has emerged. This system supports software-defined connectivity and even allows for software-defined functionality of individual modules. SDSoW overcomes the limitations of process technology on chip integration from a system perspective, balancing high performance, high energy efficiency, and high security, while also possessing excellent flexibility and scalability. This technology can further improve the integration of SoCs, optimize system performance, meet increasingly complex and diverse application requirements, and promote technological advancement.

[0005] However, System-on-a-Chip (SoC) faces numerous challenges. Compared to traditional computer architectures, SoC's unique high integration and architecture give it many characteristics distinct from classic architectures. For example, SoC faces wafer defects, requires more efficient use of hardware resources, and necessitates the development of operating systems better suited for small-chip interconnect scenarios. System-on-a-Chip also faces challenges in system startup. Due to the need to integrate a large number of chips, each requiring more hardware functions and higher computing power in a smaller size, most chips do not have their own dedicated self-booting ROM (Read-Only Memory). This means that when the system needs to boot, it must rely on an external boot signal. Furthermore, due to the structural characteristics of SoC, I / O chips (Input / Output Chips) are typically distributed on the periphery of the system for communication with external devices. However, this also means that to boot the SoC, the peripheral must first be powered on, and then a boot signal must be transmitted to the internal chips in some way. Therefore, how to effectively boot the internal nodes without ROM by powering on the peripheral is one of the key problems facing SoC.

[0006] In addition to general-purpose processors, on-chip systems integrate a large number of nodes dedicated to specific domain functions, such as neural network accelerators and digital signal processors. This enables on-chip systems to handle complex computing demands and offload tasks to dedicated nodes for high-performance computing based on different computing needs. Unlike the relationship between the central processing unit and coprocessors in traditional architectures, dedicated hardware units typically have a symmetrical structural position with computing nodes in the on-chip system's interconnect network. During system startup, the relationship between dedicated hardware units and general-purpose processors is handled to ensure that all general-purpose processors and dedicated hardware units are correctly initialized and configured at startup, enabling them to function properly. Furthermore, whether the system supports dynamically adjusting the operating states of these devices to adapt to constantly changing computing demands during operation constitutes a key issue that differs from traditional computer architectures in on-chip systems.

[0007] There are many ROM-less system boot solutions, covering a wide range of fields. For example, in supercomputing, system boot can be achieved by deploying an external management node with ROM to connect to the internal computing and I / O systems. Intel developed a ROM-less boot solution called PXE (Preboot Execution Environment), which can achieve hardware boot by accessing the network and obtaining a bootloader from an external source. Although many ROM-less boot solutions are used in the computer field, there is currently no publicly available boot solution fully adapted to on-chip systems. For example, for on-chip systems, due to their different application scenarios from supercomputing, using an external management node with ROM for booting is neither convenient nor reliable. In addition, the PXE solution has high requirements for network equipment, requiring a network card device that supports various application layer protocols. For an on-chip system, deploying a network card supporting various network functions on the on-chip system for system booting would result in serious waste. Therefore, on-chip systems urgently need to research a technical solution that can minimize hardware footprint while achieving independent booting.

[0008] In conclusion, the existing technology obviously has inconveniences and defects in practical use, so it is necessary to improve it. Summary of the Invention

[0009] In view of the above-mentioned defects, the purpose of this invention is to provide a startup method, device, storage medium and electronic device for a chip-on-chip system, which can minimize hardware occupation and enable independent startup of the chip-on-chip system.

[0010] To solve the above-mentioned technical problems, the present invention is implemented as follows:

[0011] In a first aspect, embodiments of the present invention provide a startup method for a system-on-a-chip, the method comprising:

[0012] Start the edge startup device and control network of the on-chip system;

[0013] Search for and activate at least one available node as a management node on the control network;

[0014] The management node drives the edge startup device to start at least one computing node;

[0015] The management node deploys and starts at least one non-computing node through the control network.

[0016] According to the startup method of the on-chip system of the present invention, the step of searching for and starting at least one available node as a management node on the control network includes:

[0017] Using an inquiry / response mode, at least one available node is searched for and activated on the control network as the management node;

[0018] The management node obtains the first bootloader and writes the first bootloader into the management node;

[0019] After the management node is started, it mounts additional file systems from an external NFS file server through the user client.

[0020] The steps of the management node driving the edge startup device to start at least one computing node include:

[0021] The management node drives the edge startup device to start at least one of the computing nodes;

[0022] The management node obtains the second bootloader and writes the second bootloader into each of the computing nodes, and each of the computing nodes uses the same second bootloader.

[0023] The steps of the management node deploying and starting at least one non-computing node through the control network include:

[0024] The management node downloads the driver from the NFS file server via the control network;

[0025] The management node deploys and starts at least one of the non-computing nodes according to the driver;

[0026] The management node obtains a third bootloader and writes the third bootloader into the non-computing node. Each non-computing node uses a dedicated third bootloader.

[0027] According to the startup method of the on-chip system of the present invention, the step of the management node obtaining a first boot program and writing the first boot program into the management node includes:

[0028] The management node obtains the first bootloader;

[0029] Power on the random access memory of the management node;

[0030] Write the first bootloader into the random access memory of the management node;

[0031] The system receives a message digest algorithm verification from an external source. If the verification passes, the central processing unit of the management node is powered on.

[0032] According to the startup method of the on-chip system of the present invention, the step of searching for and starting at least one available node as the management node on the control network through an interrogation / response mode includes:

[0033] The edge-initiating device broadcasts query packets to each routing node in the on-chip interconnect network;

[0034] When the routing node receives the query packet, if the routing node is an available node, it will return a response message to the edge initiation device.

[0035] The edge initiation device designates the routing node that responds fastest as the management node of the system, and declares the management node as the master node by setting up an internal software network connection.

[0036] According to the startup method of the on-chip system of the present invention, the step of starting the control network of the on-chip system includes:

[0037] Perform a hardware self-test to check the hardware integrity of the corresponding node;

[0038] Initialize the input buffer;

[0039] Initialize the routing calculation unit, including setting the routing algorithm and parameters;

[0040] Initialize the virtual channel allocator and sub-channel allocator;

[0041] Initialize the circuit switching structure.

[0042] According to the startup method of the on-chip system of the present invention, the step of the management node driving the edge startup device to start the computing node further includes:

[0043] The management node acquires the feature information of each computing node and loads the feature information into the corresponding computing node for personalized configuration. The computing nodes are organized into a module group according to the feature information.

[0044] The feature information includes the IP address, MAC address, node identifier, and / or node coordinates of each computing node.

[0045] According to the startup method of the on-chip system of the present invention, after the management node deploys and starts the non-computing node through the control network, the following steps are included:

[0046] Each of the aforementioned module groups is activated sequentially according to its module group identifier;

[0047] Each module group determines whether the distance between itself and the original management node exceeds a predetermined distance threshold;

[0048] If the distance threshold is exceeded, an available node is searched and activated as a new management node using the query / response mode;

[0049] If the distance threshold is not exceeded, all nodes in the module group will be started through the original management node.

[0050] In a second aspect, embodiments of the present invention provide a startup device for a crystal-on-a-chip system constructed based on any one of the methods described above, the device comprising:

[0051] The device startup module is used to start the edge startup device and control network of the on-chip system;

[0052] A management node startup module is used to search for and start at least one available node as a management node on the control network;

[0053] A compute node startup module is used by the management node to drive the edge startup device to start at least one compute node;

[0054] A non-computing node startup module, wherein the management node deploys and starts at least one non-computing node through the control network.

[0055] Thirdly, embodiments of the present invention provide a storage medium for storing a computer program for executing the startup method of any of the above-described on-chip systems.

[0056] Fourthly, embodiments of the present invention provide an electronic device, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, characterized in that the processor executes the computer program to implement any one of the on-chip system startup methods described above.

[0057] The system-on-a-chip (SoC) startup technology of this invention includes: starting an edge startup device and a control network for the SoC; searching for and starting at least one available node as a management node on the control network; the management node driving the edge startup device to start at least one computing node; and the management node deploying and starting at least one non-computing node through the control network. Therefore, this invention addresses the characteristics of SoCs with small usable area and high power consumption requirements, solving the ROM-less system startup problem of existing SoCs, minimizing hardware footprint, and enabling independent startup of the SoC. Attached Figure Description

[0058] Figure 1 This is a flowchart illustrating the startup method of the on-chip system provided in Embodiment 1 of the present invention;

[0059] Figure 2 This is a flowchart illustrating the startup method of the on-chip system provided in Embodiment 2 of the present invention;

[0060] Figure 3 This is a schematic diagram of the start-up device of the crystal system provided in Embodiment 1 of the present invention;

[0061] Figure 4 This is a schematic diagram of the start-up device of the crystal system provided in Embodiment 2 of the present invention;

[0062] Figure 5 This is a schematic diagram of the structure of the electronic device provided in an embodiment of the present invention. Detailed Implementation

[0063] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0064] It should be noted that references to "an embodiment," "embodiment," "example embodiment," etc., in this specification refer to the described embodiment including specific features, structures, or characteristics, but not every embodiment must include these specific features, structures, or characteristics. Furthermore, such expressions do not refer to the same embodiment. Moreover, when describing specific features, structures, or characteristics in conjunction with embodiments, whether or not explicitly described, it is indicated that incorporating such features, structures, or characteristics into other embodiments is within the knowledge of those skilled in the art.

[0065] Furthermore, certain terms are used in the specification and subsequent claims to refer to specific components or parts. Those skilled in the art will understand that manufacturers may use different names or terms to refer to the same component or part. This specification and subsequent claims do not distinguish components or parts by differences in name, but rather by differences in function. The terms "comprising" and "including" used throughout the specification and subsequent claims are open-ended and should be interpreted as "including but not limited to." Additionally, the term "connection" here includes any direct and indirect electrical connection means. Indirect electrical connection means include connections made through other means.

[0066] The startup method of the on-chip system provided by the present invention will be described in detail below with reference to the accompanying drawings and through specific embodiments and application scenarios.

[0067] This invention relates to a boot method for a system-on-a-chip (SoC), and more particularly to a boot method for chips and module groups of a system with a software-defined SoC architecture. Existing SoCs urgently require a technical solution that minimizes hardware footprint while enabling independent booting. Therefore, the purpose of this invention is to solve the boot problem of ROM-free SoC systems. This invention addresses the problems of small usable area and high power consumption requirements of SoCs by proposing a unique boot method for SoCs. It provides a usable boot method for SoCs that can effectively boot the SoC without using excessive resources.

[0068] Figure 1 This is a flowchart illustrating the startup method of the on-chip system provided in Embodiment 1 of the present invention, which includes the following steps:

[0069] Step S101: Start the edge startup device and control network of the on-chip system.

[0070] Step S102: Search for and start at least one available node as a management node on the control network.

[0071] Preferably, this step uses an inquiry / response mode to search for and activate at least one available node as a management node on the control network.

[0072] Step S103: The management node drives the edge startup device to start at least one computing node.

[0073] In step S104, the management node deploys and starts at least one non-computing node through the control network.

[0074] This invention relates to the startup process of chips in an on-chip system. For a single module group, the specific startup process includes the following:

[0075] (1) For the system-on-a-chip (SoC) to operate, the control infrastructure must be started and running. The first step in machine startup is to start the edge startup device and control network of the SoC. The edge startup device includes UEFI (Unified Extensible Firmware Interface). Then, an available node is searched for as the management node using an interrogation-response scheme on the control network, and that management node is started.

[0076] (2) The operating system of the management node is Linux (approximately 2MB in size). At this point, the management node has initially acquired the execution capability of a complete computer. By setting up the internal software network connection, the management node is declared as the master node. When the kernel of the management node's operating system starts, it abandons the detection of devices on the bus.

[0077] (3) Compute Node Booting Process. First, the management node drives the edge boot device to write the bootloader into the compute node's memory via the I / O control network. An alternative approach is to first write the bootloader to the management node, which then writes it to the compute node. The written content includes boot-related instructions and configuration information. The edge boot device can only directly access a small portion of the compute node's memory. A single boot image is used for all compute nodes, while dedicated boot images are used for other non-compute nodes. The boot image for internal compute nodes contains only the compute node's kernel code and is approximately 64kB in size.

[0078] (4) After the management node starts up, additional file systems can be mounted from an external NFS file server via NFS (Network File System) clients. The usual / etc, / bin, / usr, / proc directories, and user directories (usually / home directory) are mounted from the NFS file server. After the remaining compute nodes are deployed through the management node, they download the drivers provided by the NFS file server and then start up.

[0079] (5) The startup of non-computing nodes is achieved by the management node through the control network. After the deployment is completed, the management node accesses the control network, regards the control network as a bus to detect the presence of various processors in the network, and starts the non-computing nodes through the drivers downloaded from the NFS file server.

[0080] (6) Since the same boot image is used for all compute nodes, additional feature information must be loaded into each compute node for configuration. For I / O nodes, the feature information includes their MAC address, IP address (for I / O Ethernet networks), system-wide unique node identifier (ID), the set of compute nodes in their processing set, the routes for communication with these compute nodes, node coordinates, etc. For compute nodes, the feature information includes their system-wide unique node identifier, node coordinates, the node identifier of their corresponding I / O node, and the routes for communication with that I / O node. With the boot image and feature information, I / O nodes and compute nodes can organize themselves into processing sets. The various module groups do not start simultaneously, but sequentially. However, the startup method differs for module groups in different locations. If there is no management node in the system or the module group is too far from the existing management node (routing path hop count reaches 4), a new management node will be selected for that module group. Otherwise, the existing management node will be used to start all nodes within that module group, meaning that all general-purpose processors within that module group are compute nodes.

[0081] Figure 2 This is a schematic flowchart of the startup method for the on-chip system provided in Embodiment 2 of the present invention, which includes the following steps:

[0082] Step S201: Start the edge startup device and control network of the on-chip system.

[0083] Preferably, starting the control network of the on-chip system is the most crucial part of all tasks. This part employs relatively conventional startup methods, and the steps include:

[0084] (1) Perform a hardware self-test to check the hardware integrity of the corresponding node.

[0085] (2) Initialize the input buffer.

[0086] (3) Initialize the routing calculation unit, including setting the routing algorithm and parameters.

[0087] (4) Initialize the VC (Virtual Channel) allocator and SC (Sub Channel) allocator.

[0088] (5) Initialize the circuit switching structure (Crossbar).

[0089] Step S202: Using the query / response mode, search for and start at least one available node as a management node on the control network.

[0090] Preferably, this step further includes:

[0091] (1) The edge-starting device broadcasts query packets to each routing node in the on-chip interconnection network.

[0092] (2) When a routing node receives a query packet, if the routing node is an available node, it will return a response message to the edge initiation device.

[0093] (3) The edge startup device takes the fastest responding routing node as the system management node, and declares the management node as the master node by setting up an internal software network connection, and implements single-point startup on the management node.

[0094] Step S203: The management node obtains the first bootloader and writes the first bootloader into the management node.

[0095] Preferably, the process of the management node obtaining the boot image further includes:

[0096] (1) The management node obtains the first boot program through the boot image.

[0097] (2) Power on the RAM (Random Access Memory) of the management node first.

[0098] (3) After power-on, the first boot program is written into the RAM of the management node to simulate the function of ROM (Read-Only Memory).

[0099] (4) Receive MD5 (Message-Digest Algorithm 5) verification from the outside. After passing the MD5 verification, power on the CPU (Central Processing Unit) of the management node. At this point, the management node has fully acquired the ability to start automatically.

[0100] Preferably, the present invention includes the step of creating an operating system image on an external hard drive. For the management node, the entire file system of the management node is stored on the hard drive. The operating system of the management node is a lightweight Linux operating system, approximately 2MB in size. It includes the detailed process for booting other nodes. The operating system of the management node has made significant modifications to the boot process of slave devices to accommodate the boot process of the on-chip system.

[0101] Step S204: After the management node starts, it mounts an additional file system from an external NFS file server through the client.

[0102] Step S205: The management node drives the edge startup device to start at least one computing node.

[0103] In step S206, the management node obtains the second bootloader and writes it into each compute node, with each compute node using the same second bootloader.

[0104] Preferably, after the management node starts up, additional file systems can be mounted from an external NFS file server via an NFS terminal. The typical / etc, / bin, / usr, / proc directories, and user directories (typically / home) are mounted from the NFS file server. The remaining compute nodes, after being deployed through the management node, download the drivers provided by the NFS file server and then start up.

[0105] Preferably, the compute node is booted through the management node. The management node drives the edge boot device to write the bootloader to the compute node, which then starts the compute node. The kernel of the compute node's operating system is relatively simple, approximately 16KB, and currently only contains a relatively simple kernel program to receive instructions from the management node. However, after booting, different programs may be downloaded for specific computing tasks depending on the specific workload.

[0106] Preferably, step S206 may further include:

[0107] The management node obtains the feature information of each computing node and loads the feature information into the corresponding computing node for personalized configuration. The computing nodes are organized into module groups based on the feature information.

[0108] The characteristic information includes the IP address, MAC address, node identifier, and / or node coordinates of each computing node. The management node obtains the IP address, MAC address, node identifier, node coordinates, and other information of each node and sends them to each computing node, which then performs personalized configuration.

[0109] In step S207, the management node downloads the driver from the NFS file server via the control network. The management node then deploys and starts at least one non-compute node based on the driver.

[0110] In step S208, the management node obtains the third bootloader and writes the third bootloader to the non-computing nodes. Each non-computing node uses a dedicated third bootloader.

[0111] Preferably, the management node starts each non-compute node by downloading the corresponding driver to achieve real-time updates.

[0112] Preferably, the startup method for different module groups of the present invention specifically includes:

[0113] (1) Each module group is started sequentially according to its module group identifier, specifically including:

[0114] (1) Each module group determines whether the distance between itself and the original management node exceeds the predetermined distance threshold. For example, if the number of hops in the routing path reaches 4, it is considered that the distance between the module group and the original management node exceeds the distance threshold. If the number of hops in the routing path does not reach 4, it is considered that the distance between the module group and the original management node does not exceed the distance threshold.

[0115] (2) If the distance threshold is exceeded, an available node is searched and started as a new management node through query / response mode.

[0116] (3) If the distance threshold is not exceeded, start all nodes in the module group through the original management node.

[0117] For example, each module group is started sequentially according to the module group identifier. After the routing of each module is initialized by power-on, all existing management nodes broadcast a query message with a maximum hop count of 4. If any node in the module group responds, then all nodes in the module group will act as computing nodes to assist the management node that receives the response in starting up. At this time, the management nodes exchange information. If multiple management nodes respond, the management node in the module group with the largest identifier will be selected for assistance.

[0118] It should be noted that the on-chip system startup method provided in this embodiment of the invention can be executed by an electronic device, a apparatus, or a control module within that apparatus for executing the method. This embodiment of the invention uses an apparatus executing the method as an example to illustrate the on-chip system startup apparatus provided in this embodiment of the invention.

[0119] Figure 3 This is a schematic diagram of the startup device for a system-on-a-chip (SoC) provided in Embodiment 1 of the present invention. The startup device 100 for the SoC includes a device startup module 10, a management node startup module 20, a computing node startup module 30, and a non-computing node startup module 40, wherein:

[0120] The device startup module 10 is used to start the edge startup device and control network of the on-chip system.

[0121] The management node startup module 20 is used to search for and start at least one available node as a management node on the control network.

[0122] The computing node startup module 30 is used to manage the node-driven edge startup device to start at least one computing node.

[0123] The non-computing node startup module 40 allows the management node to deploy and start at least one non-computing node through the control network.

[0124] Figure 4 This is a schematic diagram of the startup device for the on-chip system provided in Embodiment 2 of the present invention. The startup device 100 for the on-chip system includes a device startup module 10, a management node startup module 20, a computing node startup module 30, and a non-computing node startup module 40, wherein:

[0125] The device startup module 10 is used to start the edge startup device and control network of the on-chip system. Preferably, the device startup module 10 starts the control network of the on-chip system by: (1) performing a hardware self-test to check the hardware integrity of the corresponding node; (2) initializing the input buffer; (3) initializing the routing calculation unit, including setting the routing algorithm and parameters; (4) initializing the virtual channel allocator and sub-channel allocator; and (5) initializing the circuit switching structure.

[0126] The management node startup module 20 is used to search for and start at least one available node as a management node on the control network. Preferably, the management node startup module 20 further includes a first startup submodule 21, a first boot submodule 22, and a mounting submodule 23, wherein:

[0127] The first startup submodule 21 is used to search for and start at least one available node as a management node on the control network using an inquiry / response mode. Preferably, the edge startup device broadcasts a query packet to each routing node in the on-chip interconnect network. When a routing node receives a query packet, if the routing node is an available node, it will return a response message to the edge startup device. The edge startup device designates the routing node that responds fastest as the system's management node and declares the management node as the master node by setting up an internal software network connection.

[0128] The first boot submodule 22 is used for the management node to obtain a first boot program and write the first boot program into the management node. Preferably, the management node obtains the first boot program; powers on the random access memory of the management node; writes the first boot program into the random access memory of the management node; receives a message digest algorithm verification from an external source, and after passing the verification, powers on the central processing unit of the management node.

[0129] The mounting submodule 23 is used to mount additional file systems from an external NFS file server via a user terminal after the management node is started.

[0130] The management node startup module 20 further includes:

[0131] The personalized configuration submodule 24 is used to obtain the feature information of each computing node after the management node drives the edge startup device to start the computing node, and load the feature information into the corresponding computing node for personalized configuration. The computing nodes are organized into a module group according to the feature information.

[0132] The characteristic information includes the IP address, MAC address, node identifier, and / or node coordinates of each computing node.

[0133] The computing node startup module 30 is used to manage the startup of at least one computing node by driving the edge startup device. Preferably, the computing node startup module 30 further includes a second startup submodule 31 and a second boot submodule 32, wherein:

[0134] The second startup submodule 31 is used to manage the node-driven edge startup device to start at least one computing node.

[0135] The second bootstrap submodule 32 is used to manage nodes to obtain the second bootstrap program and write the second bootstrap program into each computing node, with each computing node using the same second bootstrap program.

[0136] The non-computing node startup module 40 allows the management node to deploy and start at least one non-computing node via a control network. The non-computing node startup module 40 further includes...

[0137] The third startup submodule 41 is used for the management node to download the driver from the NFS file server through the control network, and the management node to deploy and start at least one non-computing node according to the driver.

[0138] The third bootstrap submodule 42 is used to manage nodes to obtain the third bootstrap program and write the third bootstrap program to non-computing nodes. Each non-computing node uses a dedicated third bootstrap program.

[0139] Each module group is started sequentially according to its module group identifier, specifically including:

[0140] Each module group determines whether the distance between itself and the original management node exceeds a predetermined distance threshold.

[0141] If the distance threshold is exceeded, an available node will be searched and started as a new management node using the query / response mode.

[0142] If the distance threshold is not exceeded, all nodes in the module group will be started through the original management node.

[0143] The start-up device for the on-chip system provided in this embodiment of the invention can achieve Figures 1-2 The various processes implemented in the embodiment of the startup method for the crystal system shown will not be described again here to avoid repetition.

[0144] The on-chip system startup device provided in this embodiment of the invention includes: a device startup module for starting the edge startup device and control network of the on-chip system; a management node startup module for searching and starting at least one available node as a management node on the control network; a compute node startup module for the management node to drive the edge startup device to start at least one compute node; and a non-compute node startup module for the management node to deploy and start at least one non-compute node through the control network. Therefore, this invention addresses the characteristics of on-chip systems, such as small usable area and high power consumption requirements, and solves the ROM-less system startup problem of existing on-chip systems, minimizing hardware footprint while enabling independent startup of the on-chip system.

[0145] The present invention also provides a storage medium for storing, for example, Figures 1-2 The computer program for any of the above-mentioned on-chip system startup methods. For example, computer program instructions, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the present invention through the operation of the computer, and can achieve the same technical effect. To avoid repetition, they will not be described again here. The program instructions for invoking the methods of the present invention may be stored in a fixed or removable storage medium, and / or transmitted through a data stream in a broadcast or other signal carrying medium, and / or stored in the storage medium of a computer device operating according to the program instructions.

[0146] According to one embodiment of the present invention, the present invention also provides such a Figure 5 The illustrated electronic device 400 may optionally include a storage medium 200 for storing a computer program and a processor 300 for executing the computer program. When the computer program is executed by the processor 300, it implements any of the above-mentioned system-on-a-chip startup methods, triggering the electronic device 400 to execute methods and / or technical solutions based on the foregoing embodiments, achieving the same technical effect. To avoid repetition, these methods will not be described again here. It should be noted that the electronic devices in this embodiment include mobile electronic devices and non-mobile electronic devices. For example, mobile electronic devices may be mobile phones, tablets, laptops, handheld computers, in-vehicle electronic devices, wearable devices, super mobile personal computers, netbooks, or personal digital assistants, etc., while non-mobile electronic devices may be servers, network-attached storage (NAS), personal computers (PCs), televisions (TVs), ATMs, or self-service machines, etc. This embodiment does not specifically limit the scope of the invention.

[0147] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In one embodiment, the software program of the present invention can be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present invention (including associated data structures) can be stored in a computer-readable recording medium, such as RAM memory, a magnetic or optical drive, a floppy disk, or similar devices. Furthermore, some steps or functions of the present invention can be implemented in hardware, for example, as circuitry that works with a processor to perform the various steps or functions.

[0148] This invention can be implemented on a computer as a computer-based method, or in dedicated hardware, or a combination of both. Executable code or portions thereof for the method according to the invention can be stored on a computer program product. Examples of computer program products include memory devices, optical storage devices, integrated circuits, servers, online software, etc. Optionally, the computer program product includes non-transitory program code components stored on a computer-readable medium so as to execute the method according to the invention when the program product is executed on a computer.

[0149] In an optional embodiment, the computer program includes computer program code components adapted to perform all the steps of the method according to the invention when the computer program is run on a computer. Optionally, the computer program is embodied on a computer-readable medium.

[0150] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of the present invention is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0151] Of course, the present invention may have other various embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art can make various corresponding changes and modifications according to the present invention, but these corresponding changes and modifications should all fall within the protection scope of the appended claims.

Claims

1. A startup method for a crystal-on-a-chip system, characterized in that, Includes the following steps: Start the edge startup device and control network of the on-chip system; Search for and activate at least one available node as a management node on the control network; The management node drives the edge startup device to start at least one computing node; The management node deploys and starts at least one non-computing node through the control network; The step of searching for and activating at least one available node as a management node on the control network includes: Using an inquiry / response mode, at least one available node is searched for and activated on the control network as the management node; The management node obtains the first bootloader and writes the first bootloader into the management node; After the management node is started, it mounts additional file systems from an external NFS file server through the user client. The steps of the management node driving the edge startup device to start at least one computing node include: The management node drives the edge startup device to start at least one of the computing nodes; The management node obtains the second bootloader and writes the second bootloader into each of the computing nodes, and each of the computing nodes uses the same second bootloader. The steps of the management node deploying and starting at least one non-computing node through the control network include: The management node downloads the driver from the NFS file server via the control network; The management node deploys and starts at least one of the non-computing nodes according to the driver; The management node obtains a third bootloader and writes the third bootloader into the non-computing node. Each non-computing node uses a dedicated third bootloader.

2. The startup method for the on-chip system according to claim 1, characterized in that, The step of the management node obtaining the first bootloader and writing the first bootloader into the management node includes: The management node obtains the first bootloader; Power on the random access memory of the management node; Write the first bootloader into the random access memory of the management node; The system receives a message digest algorithm verification from an external source. If the verification passes, the central processing unit of the management node is powered on.

3. The startup method for the on-chip system according to claim 1, characterized in that, The step of searching for and activating at least one available node as the management node on the control network using a query / response mode includes: The edge-initiating device broadcasts query packets to each routing node in the on-chip interconnect network; When the routing node receives the query packet, if the routing node is an available node, it will return a response message to the edge initiation device. The edge initiation device designates the routing node that responds fastest as the management node of the system, and declares the management node as the master node by setting up an internal software network connection.

4. The startup method for the on-chip system according to claim 1, characterized in that, The steps for starting the control network of the on-chip system include: Perform a hardware self-test to check the hardware integrity of the corresponding node; Initialize the input buffer; Initialize the routing calculation unit, including setting the routing algorithm and parameters; Initialize the virtual channel allocator and sub-channel allocator; Initialize the circuit switching structure.

5. The startup method for the on-chip system according to claim 1, characterized in that, The step of the management node driving the edge startup device to start at least one computing node further includes: The management node acquires the feature information of each computing node and loads the feature information into the corresponding computing node for personalized configuration. The computing nodes are organized into a module group according to the feature information. The feature information includes the IP address, MAC address, node identifier, and / or node coordinates of each computing node.

6. The startup method for the on-chip system according to claim 5, characterized in that, After the management node deploys and starts at least one non-computing node through the control network, it includes: Each of the aforementioned module groups is activated sequentially according to its module group identifier; Each module group determines whether the distance between itself and the original management node exceeds a predetermined distance threshold; If the distance threshold is exceeded, an available node is searched and activated as a new management node using the query / response mode; If the distance threshold is not exceeded, all nodes in the module group will be started through the original management node.

7. A start-up device for a crystal-on-a-chip system constructed based on the method described in any one of claims 1 to 6, characterized in that, The device includes: The device startup module is used to start the edge startup device and control network of the on-chip system; A management node startup module is used to search for and start at least one available node as a management node on the control network; A compute node startup module is used by the management node to drive the edge startup device to start at least one compute node; A non-computing node startup module, wherein the management node deploys and starts at least one non-computing node through the control network.

8. A storage medium, characterized in that, Used to store a computer program for executing a startup method for the system on the crystal according to any one of claims 1 to 6.

9. An electronic device comprising a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, characterized in that, When the processor executes the computer program, it implements the startup method of the on-chip system according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Patching boot code of read-only memory

    CN104981778A

  • Deployment method, device and system, electronic equipment and readable storage medium

    CN113282342A