Multi-CPU (Central Processing Unit)system starting method and module based on PCI/PCIe (Peripheral Component Interconnect/Peripheral Component Interconnect Express) bus

A technology for starting modules and buses, applied in the direction of program loading/starting, program starting/switching, multi-programming device, etc., can solve problems such as affecting system performance, and achieve the effects of improving initialization speed, saving costs, and improving start-up speed.

Active Publication Date: 2010-11-03
HANGZHOU HIKVISION DIGITAL TECH
View PDF0 Cites 11 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0004] In the process of implementing the present invention, the inventor found that there are at least the following problems in the prior art: in the existing multi-thread startup method, because the instructions of the main control CPU are executed sequentially one by one, the multi-threads are actually serialized on the main control CPU. OK
That is to say, although it seems that multiple threads are parallel on a macro level, they are still serial on a micro level
Therefore, only relying on the main control CPU to undertake the initialization task of the entire system will affect the performance of the entire system.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Multi-CPU (Central Processing Unit)system starting method and module based on PCI/PCIe (Peripheral Component Interconnect/Peripheral Component Interconnect Express) bus
  • Multi-CPU (Central Processing Unit)system starting method and module based on PCI/PCIe (Peripheral Component Interconnect/Peripheral Component Interconnect Express) bus
  • Multi-CPU (Central Processing Unit)system starting method and module based on PCI/PCIe (Peripheral Component Interconnect/Peripheral Component Interconnect Express) bus

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0045] see figure 1 , a method for starting a multi-CPU system based on the PCI / PCIe bus provided by the embodiment of the present invention:

[0046] Step S101: Pre-establish a data structure including the initialization information of each slave CPU, the base address of the PCI space, the PCI topological position, and status information, and select at least one slave CPU on each bus as the group leader CPU of the bus.

[0047] Usually, pre-established data structures are stored in the FLASH of the main CPU.

[0048] Wherein, on each bus, select at least one slave CPU as the group leader CPU of the bus, preferably, select the slave CPU whose device number is 0 on each bus, that is, CPU (BUSn, DEV0) as the CPU (BUSn, DEV0) The leader CPU of the bus.

[0049] The method that this multi-CPU system starts comprises the steps:

[0050] Step S102: the main CPU loads the data structure into its own memory, and maps its own memory to the PCI space.

[0051] Here, after the main C...

Embodiment 2

[0073] see image 3 , a preferred PCI / PCIe bus-based multi-CPU system startup method provided by the embodiment of the present invention:

[0074] Step S301: Pre-establish a data structure including the initialization information of each slave CPU, the base address of the PCI space, the PCI topology position, and the state information, and select at least one slave CPU on each bus as the group leader CPU of the bus.

[0075] Usually, pre-established data structures are stored in the FLASH of the main CPU.

[0076] Wherein, on each bus, select at least one slave CPU as the group leader CPU of the bus, preferably, select the slave CPU whose device number is 0 on each bus, that is, CPU (BUSn, DEV0) as the CPU (BUSn, DEV0) The leader CPU of the bus.

[0077] The method that this multi-CPU system starts comprises the steps:

[0078] Step S302: the main CPU loads the data structure into its own memory, and maps its own memory to the PCI space.

[0079] Here, after the main CPU s...

Embodiment 3

[0104] see Figure 5 , the embodiment of the present invention provides a kind of multi-CPU system startup module based on PCI / PCIe bus, comprising:

[0105] A data structure establishment unit 501, configured to establish a data structure including each slave CPU initialization information, the base address of the PCI space where it resides, the PCI topology position, and state information;

[0106] The group leader CPU selection unit 502 is used to select at least one slave CPU as the group leader CPU of the bus on each bus;

[0107] The main CPU initialization unit 503 is used for the main CPU to load the data structure into its own memory, and map its own memory to the PCI space;

[0108] The group leader CPU initialization unit 504 is used for the main CPU to load the data structure to the group leader CPU of each bus; after the group leader CPU of each bus receives the data structure, according to the initialization information of the CPU in the data structure Start th...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

The invention discloses multi-CPU (Central Processing Unit)system starting method and module based on a PCI / PCIe (Peripheral Component Interconnect / Peripheral Component Interconnect Express) bus, which relate to the field of automatic control. The method comprises the following steps of: preestablishing a data structure and selecting a group leader CPU of each bus, loading a data structure into aself memory and mapping the self memory into a PCI space by a main CPU; loading the data structure to the group leader CPU of each bus by the main CPU; starting initialization by the group leader CPUof each bus according to the initialing information of the CPU in the data structure after receiving the data structure and informing the main CPU to update the state information of the CPU after theinitialization is successful; loading the data structure to other subordinate CPUs on the bus by the group leader CPU finishing the initialization under the control of the main CPU on each bus; and finishing the start of the system till all the CPUs are successfully initialized. The invention greatly improves the start speed of the system and saves the cost without adding new hardware.

Description

technical field [0001] The invention relates to the field of automatic control, in particular to a method and module for starting a multi-CPU system based on a PCI / PCIe bus. Background technique [0002] Many devices can be connected to the PCI (Peripheral Device Interconnect Bus) bus or PCIe (PCI Express, high-speed Peripheral Device Interconnect Bus). Usually, a maximum of 255 devices can be connected in the same bus, and each device can only have a maximum of 8 This function, the interconnection between different PCI buses is realized by the PCI to PCI bridge chip. Therefore, each device has a BUS number (bus number), a DEV number (device number), and a FUNC number (function number). Generally speaking, each device has only one function, that is, only FUNC0. [0003] At present, large-scale systems often consist of hundreds or even thousands of CPUs. How to make all these CPUs enter the working state as soon as possible is greatly related to the performance of the entire...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
IPC IPC(8): G06F9/445G06F9/48G06F13/20
Inventor 金伟赵先林胡扬忠邬伟琪
Owner HANGZHOU HIKVISION DIGITAL TECH
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products