[go: up one dir, main page]

CN1301473C - Multiprocessor system and method for sharing bootstrap module thereof - Google Patents

Multiprocessor system and method for sharing bootstrap module thereof Download PDF

Info

Publication number
CN1301473C
CN1301473C CNB031468810A CN03146881A CN1301473C CN 1301473 C CN1301473 C CN 1301473C CN B031468810 A CNB031468810 A CN B031468810A CN 03146881 A CN03146881 A CN 03146881A CN 1301473 C CN1301473 C CN 1301473C
Authority
CN
China
Prior art keywords
initialization
main processor
pci
processor
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB031468810A
Other languages
Chinese (zh)
Other versions
CN1525353A (en
Inventor
赵凯
陈诗军
苏绣江
黄钟琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB031468810A priority Critical patent/CN1301473C/en
Publication of CN1525353A publication Critical patent/CN1525353A/en
Application granted granted Critical
Publication of CN1301473C publication Critical patent/CN1301473C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

The present invention relates to a multiprocessor system and a method for the system to share a boot module, particularly to a multi-CPU system with a PCI controller, which belongs to the field of communication. The multiprocessor system comprises a plurality of processors, wherein each processor is provided with a control state register, a dynamic RAM, a static RAM, a serial port, etc. which are matched with the processor, and the processors are connected with each other by a PCI bus so as to share one PCI arbiter; a processor with the boot module serves as a main processor, and other processors serve as the auxiliary processors. When the power of the system is switched on, the main processor reads instructions from the boot module of the main processor, and the auxiliary processors obtain instructions from the RAMs; the main processor restores the auxiliary processors after initializing the auxiliary processors, and the system can normally operate at this time. The present invention has the advantages of simple method, capability of saving boot modules and Ethernet controllers, etc.

Description

多处理器系统共享引导模块的方法Method for sharing boot module in multiprocessor system

技术领域technical field

本发明涉及一种多处理器(CPU)系统及多CPU系统共享BOOT FLASH(引导模块)的方法,尤其涉及通讯领域有关带PCI(Peripheral Component Interconnect,周边元件扩展接口)控制器的多CPU系统及该系统中多CPU共享引导模块的方法。The present invention relates to a kind of multiprocessor (CPU) system and the method for multi-CPU system sharing BOOT FLASH (guide module), relate in particular to the multi-CPU system and The method for multiple CPUs to share the boot module in the system.

背景技术Background technique

目前在嵌入式系统中为了增加单板的处理能力、增加集成度,常常在同一块单板上设计多套CPU系统,每套系统自带一个BOOT FLASH,在带PCI控制器的地方往往还利用CPLD(Complex Programble Logic Device,复杂可编程逻辑设备)自己设计一个PCI仲裁器,并从网络接口或FLASH上下载版本文件。如图1和图3所示。图1是以前按现有技术方法设计的多CPU系统的硬件原理框图,系统中两套或多套CPU系统自身各带一个BOOT FLASH,一个PCI仲裁器,至少一个以太网口。图3是按现有技术方法各CPU系统的上电软件流程图,系统中各CPU系统相互独立,上电复位后,所有的CPU都从自身的BOOT FLASH中取指令,完成硬件的初始化、并通过以太网或FLASH加载版本文件,完成系统的启动。At present, in order to increase the processing capacity and integration of the single board in the embedded system, multiple sets of CPU systems are often designed on the same single board, and each system comes with a BOOT FLASH. CPLD (Complex Programmable Logic Device, Complex Programmable Logic Device) designs a PCI arbiter by itself, and downloads the version file from the network interface or FLASH. As shown in Figure 1 and Figure 3. Fig. 1 is the hardware block diagram of the multi-CPU system designed by prior art method in the past, two or more sets of CPU systems in the system each have a BOOT FLASH, a PCI arbiter, and at least one Ethernet port. Fig. 3 is the flow chart of power-on software of each CPU system according to the prior art method, each CPU system in the system is independent of each other, after power-on reset, all CPUs all fetch instruction from self BOOT FLASH, finish the initialisation of hardware, and Load the version file through Ethernet or FLASH to complete the system startup.

但对于某些带PCI控制器的CPU(以下简称CPU),如果按照这种现有技术的设计方法,明显增加了成本,也占用了宝贵的印刷电路板PCB空间,为此可以寻求一些新的引导方法来完成系统的启动。从美国商标专利局检索到的一篇申请号为20020138156的专利申请文献《System ofconnecting multiple processors in cascade》(串行多处理器连接系统)涉及了有关多系统的启动,它利用串行的bootStrap(导引带)总线来完成多CPU系统的各个CPU子系统的启动代码的传送,但这种方法在硬件上需要设计一套bootStrap总线,而且对各CPU系统的RAM设备的处理也比较复杂。But for some CPUs (hereinafter referred to as CPUs) with PCI controllers, if according to the design method of this prior art, the cost is obviously increased, and the valuable printed circuit board PCB space has also been taken, so some new ones can be sought for this reason. Bootstrap method to complete the booting of the system. A patent application document "System of connecting multiple processors in cascade" (serial multiprocessor connection system) retrieved from the United States Trademark and Patent Office with an application number of 20020138156 relates to the startup of relevant multi-systems, which utilizes serial bootStrap ( Boot Strap) bus to complete the transmission of the startup codes of each CPU subsystem of the multi-CPU system, but this method needs to design a set of bootStrap bus on the hardware, and the processing of the RAM devices of each CPU system is also more complicated.

发明内容Contents of the invention

本发明的目的正是为了克服上述缺点,提供一种多CPU系统方案,并提供多CPU共享一个BOOT FLASH进行引导的方法。The purpose of the present invention is to overcome the above-mentioned shortcomings, provide a multi-CPU system solution, and provide a method for multi-CPUs to share a BOOT FLASH for booting.

本发明中的一种多处理器系统,包括多个处理器,每个处理器都有配套的控制状态寄存器、DRAM、SRAM、串口等,多个处理器通过PCI总线联在一起,共用一个PCI仲裁器,一个处理器带引导模块作为主处理器,其他处理器作为从处理器;其中PCI仲裁器通过复杂可编程逻辑设备实现。A kind of multiprocessor system in the present invention comprises a plurality of processors, and each processor has supporting control state register, DRAM, SRAM, serial port etc., and a plurality of processors are connected together through PCI bus, share a PCI Arbiter, one processor with a boot module as the main processor, and other processors as slave processors; the PCI arbiter is implemented by a complex programmable logic device.

本发明中的多处理器共享引导模块的方法,包括下列步骤:(1)初始化主处理器关键寄存器;(2)主处理器DRAM和SRAM、内存测试;(3)在主处理器中将代码段和数据段复制到内存中并跳转到该处运行;(4)主处理器中断及异常处理初始化;(5)主处理器内核初始化;(6)主处理器内存管理初始化;(7)主处理器系统时钟及辅助时钟初始化;(8)PCI控制器及PCI设备初始化;(9)主处理器IO及文件系统初始化:(10)加载主处理器串口驱动及以太网驱动;(11)加载主处理器版本文件:(12)运行主处理器版本文件:其特征在于:在所述步骤(8)之后,步骤(9)之前,还包括以下步骤;The method for multiprocessor sharing boot module among the present invention comprises the following steps: (1) initializing main processor key register; (2) main processor DRAM and SRAM, memory test; (3) code in main processor The segments and data segments are copied to the memory and jump to run there; (4) Main processor interrupt and exception handling initialization; (5) Main processor core initialization; (6) Main processor memory management initialization; (7) Main processor system clock and auxiliary clock initialization; (8) PCI controller and PCI device initialization; (9) main processor IO and file system initialization: (10) load the main processor serial port driver and Ethernet driver; (11) Load the main processor version file: (12) run the main processor version file: it is characterized in that: after the step (8), before the step (9), the following steps are also included;

1.1从处理器关键寄存器及其DRAM、SRAM初始化;1.1 Initialize the key registers of the slave processor and its DRAM and SRAM;

1.2测试从处理器内存;1.2 Test slave processor memory;

1.3将代码段和数据段复制到从处理器系统的内存,并在内存的首地址设置一条跳转指令;1.3 Copy the code segment and data segment to the memory of the slave processor system, and set a jump instruction at the first address of the memory;

1.4复位从处理器。1.4 Reset the slave processor.

上述方法中的复位从处理器,从处理器执行以下步骤:To reset the slave processor in the above method, the slave processor performs the following steps:

2.1内存中的代码段取值;2.1 The value of the code segment in the memory;

2.2中断及异常处理初始化;2.2 Interrupt and exception handling initialization;

2.3内核初始化;2.3 Kernel initialization;

2.4内存管理初始化;2.4 Memory management initialization;

2.5系统时钟及辅助时钟初始化;2.5 System clock and auxiliary clock initialization;

2.6 PCI控制器及PCI设备初始化;2.6 PCI controller and PCI device initialization;

2.7 IO及文件系统初始化;2.7 IO and file system initialization;

2.8加载串口驱动及/或以太网驱动;2.8 Load serial driver and/or Ethernet driver;

2.9加载版本文件;2.9 Load the version file;

2.10运行版本文件。2.10 run version files.

本发明与现有技术相比,方法简单,不需要在硬件上添加附加设备,而且可以节省BOOT FLASH,CPLD,在软件上进行一下处理,从CPU可以不通过以太网加载版本文件,而通过PCI总线从主CPU加载版本文件,从CPU系统还可以节省以太网控制器。如果批量生产,本发明将带来可观的经济效益。Compared with the prior art, the present invention has a simple method, does not need to add additional equipment on the hardware, and can save BOOT FLASH, CPLD, and perform some processing on the software. The version file can be loaded from the CPU through PCI instead of Ethernet. The bus loads version files from the main CPU, and the slave CPU system can also save the Ethernet controller. If produced in batches, the present invention will bring considerable economic benefits.

附图说明Description of drawings

图1是现有技术中的多CPU系统原理框图;Fig. 1 is a multi-CPU system functional block diagram in the prior art;

图2是本发明的多CPU系统一个实施例的原理框图;Fig. 2 is a functional block diagram of an embodiment of the multi-CPU system of the present invention;

图3是按现有技术方法设计的系统引导流程图;Fig. 3 is the system guidance flowchart designed by prior art method;

图4是本发明中的方法流程图;Fig. 4 is a flow chart of the method in the present invention;

图5是本发明的从CPU的引导流程图;Fig. 5 is the guide flowchart of the present invention from CPU;

图6是本发明中的CPU地址与PCI地址的映射关系图。FIG. 6 is a mapping relationship diagram between CPU address and PCI address in the present invention.

具体实施方式Detailed ways

在本发明的系统中主CPU带有BOOT FLASH,而从CPU不带BOOT FLASH。所有的CPU都通过PCI总线联在一起,并共用一个PCI仲裁器。系统上电时,主CPU从自身的BOOT FLASH取指令,而从CPU从RAM中获取指令,但这时获得的是非法指令,无法运行,但稍后主CPU对从CPU初始化后会再次让其复位,这时它可以正常运行。In the system of the present invention, the main CPU has BOOT FLASH, but the slave CPU does not have BOOT FLASH. All CPUs are connected together through the PCI bus and share a PCI arbiter. When the system is powered on, the main CPU fetches instructions from its own BOOT FLASH, and the slave CPU fetches instructions from RAM, but at this time the obtained instructions are illegal and cannot run, but after the master CPU initializes the slave CPU, it will let it Reset, at which point it operates normally.

本发明的核心是利用一种软复位,使从CPU从RAM中取指令而不进行其它操作。利用这种特性,在系统上电或主CPU复位后,主CPU对从CPU的PCI空间进行配置,将从CPU系统的内部的各种控制状态寄存器CSR(Controll Status Registers)、DRAM、SRAM等,通过PCI控制器映射给主CPU,使从CPU的CSR、DRAM(DRAM)、SRAM(SRAM)成为主CPU的开放资源,主CPU就可以对从CPU的CSR进行初始化,特别是对DRAM控制寄存器进行初始化,然后将指令的代码段和数据段拷贝到从CPU系统的DRAM中,并通过主CPU对从CPU初始化后的再次让其复位,使从CPU从自身的DRAM中取指令,完成从CPU的启动。The core of the present invention is to utilize a kind of soft reset to make the slave CPU fetch instructions from the RAM without performing other operations. Using this feature, after the system is powered on or the main CPU is reset, the main CPU configures the PCI space of the slave CPU, and the various control status registers CSR (Controll Status Registers), DRAM, SRAM, etc. inside the slave CPU system, The PCI controller is mapped to the main CPU, so that the CSR, DRAM (DRAM), and SRAM (SRAM) of the slave CPU become the open resources of the main CPU, and the main CPU can initialize the CSR of the slave CPU, especially the DRAM control register. Initialize, and then copy the code segment and data segment of the instruction to the DRAM of the slave CPU system, and reset the slave CPU after initialization through the master CPU, so that the slave CPU can fetch instructions from its own DRAM and complete the slave CPU. start up.

下面结合附图对本发明进行详细说明。The present invention will be described in detail below in conjunction with the accompanying drawings.

1、本发明中的系统结构1, the system structure among the present invention

本发明中的多处理器系统原理方框图如图2所示(在本实施例中,系统包括一个主处理器和一个从处理器,图中只画出了两个CPU)。所有的CPU通过PCI总线相连。CPU1系统做主CPU系统,通过自带的BOOT FLASH启动。CPU2系统做从系统,它的某些资源(DRAM控制器、SRAM控制器)由CPU1系统来初始化。图中的PCI仲裁器通过CPLD实现,来完成PCI总线的控制。The principle block diagram of the multiprocessor system in the present invention is shown in Figure 2 (in this embodiment, the system includes a master processor and a slave processor, only two CPUs are shown in the figure). All CPUs are connected through the PCI bus. The CPU1 system is the main CPU system, which is started by the built-in BOOT FLASH. The CPU2 system is a slave system, and some of its resources (DRAM controller, SRAM controller) are initialized by the CPU1 system. The PCI arbitrator in the figure is realized by CPLD to complete the control of the PCI bus.

2、本发明中的方法2, the method among the present invention

本发明中的方法,实质上就是主CPU系统的软件上电流程,如图4所示。本方法流程与现有技术中的流程(图3所示)总体上相似。系统上电或复位后,所有的CPU都从BOOT FLASH中取指令。和绝大多数处理器一样,CPU上电后的第一条指令是一条跳转指令,指向BOOT FLASH指令的起始地址,程序首先是关闭cache(缓存),进行DRAM和SRAM控制器的初始化,然后打开cache,并对DRAM进行全面测试,如果DRAM测试发现错误,则DRAM控制器的初始化不正确,需要调整初始化的参数。如果测试成功,就把BOOT FLASH中的代码段和数据段复制到DRAM中并开始从DRAM中取指令。从DRAM取指令后,先后完成PCI控制器的初始化,PCI设备的地址分配和初始化,操作系统内核的初始化,并加载串口驱动、以太网驱动,通过网络、FLASH或磁盘加载版本文件,完成系统的启动。The method in the present invention is essentially the software power-on process of the main CPU system, as shown in FIG. 4 . The flow of this method is generally similar to the flow in the prior art (shown in FIG. 3 ). After the system is powered on or reset, all CPUs fetch instructions from BOOT FLASH. Like most processors, the first instruction after the CPU is powered on is a jump instruction, pointing to the starting address of the BOOT FLASH instruction. The program first closes the cache (cache), initializes the DRAM and SRAM controllers, Then open the cache and conduct a comprehensive test on the DRAM. If the DRAM test finds an error, the initialization of the DRAM controller is incorrect, and the initialization parameters need to be adjusted. If the test is successful, copy the code segment and data segment in BOOT FLASH to DRAM and start fetching instructions from DRAM. After fetching instructions from DRAM, complete the initialization of the PCI controller, the address allocation and initialization of the PCI device, the initialization of the operating system kernel, and load the serial port driver and Ethernet driver, and load the version file through the network, FLASH or disk to complete the system. start up.

本发明与现有技术的软件上电流程相比,在PCI控制器和PCI设备初始化后,主CPU要给从CPU的CSR和DRAM分配地址,并对它们的配置空间进行初始化,通过PCI总线,从CPU的CSR、DRAM、SRAM就全部成为主CPU可访问的资源;之后,主CPU就对从CPU的CSR(时钟控制器)进行初始化,并对它们进行全面测试,如果测试不通过,就会告警退出,要求设计者对初始化的参数进行调整,如果测试通过就将主CPU系统BOOT FLASH中的代码段和数据段拷贝到从CPU系统DRAM的特定位置;在拷贝完成后在从DRAM的起始地址处放一条跳转指令,该指令将使从CPU跳转到前面所述的特殊地址去取指令,这条跳转指令是从CPU复位后获得的第一条指令;完成上述工作后,主CPU就向从CPU的复位寄存器写前面所述的特殊的复位指令,从CPU就可以从DRAM中取指令正常运行了。Compared with the software power-on flow of the prior art, after the initialization of the PCI controller and the PCI equipment, the main CPU will assign addresses to the CSR and the DRAM of the slave CPU, and initialize their configuration space, through the PCI bus, The CSR, DRAM, and SRAM of the slave CPU all become resources accessible to the master CPU; after that, the master CPU initializes the CSR (clock controller) of the slave CPU and conducts a comprehensive test to them. If the test fails, it will The alarm exits, and the designer is required to adjust the initialization parameters. If the test passes, the code segment and data segment in the BOOT FLASH of the main CPU system are copied to a specific location in the DRAM of the slave CPU system; Place a jump instruction at the address, which will make the slave CPU jump to the special address mentioned above to fetch instructions. This jump instruction is the first instruction obtained after the CPU reset; after completing the above work, the master The CPU just writes the above-mentioned special reset instruction to the reset register of the slave CPU, and the slave CPU just can fetch instructions from the DRAM and run normally.

3、本发明中从CPU系统的软件上电流程3. In the present invention, the software power-on process of the CPU system

本发明中从CPU经主CPU复位后的软件流程如图5所示。从CPU的复位寄存器接到主CPU的复位命令后,就从DRAM的首地址取指令并跳转到前面所述的特殊位置取指令。由于从CPU的DRAM控制器、cache已被主CPU初始化了,在从CPU复位后不会再对它们进行初始化。另外由于主CPU已经为各PCI设备分配了PCI地址,从CPU也不会再对各PCI设备重新分配地址,而是从各PCI设备的配置寄存器中读出这些地址。其它的操作与图3所示的流程图相同,主要完成内核的初始化,串口驱动、以太网驱动的加载。最后加载版本文件,完成系统的启动。In the present invention, the software flow after the slave CPU is reset by the master CPU is shown in FIG. 5 . After the reset register of the slave CPU receives the reset command of the main CPU, it fetches the instruction from the first address of the DRAM and jumps to the special position mentioned above to fetch the instruction. Since the DRAM controller and cache of the slave CPU have been initialized by the master CPU, they will not be initialized after the slave CPU is reset. In addition, since the master CPU has allocated PCI addresses to each PCI device, the slave CPU will not reassign addresses to each PCI device, but read these addresses from the configuration registers of each PCI device. Other operations are the same as the flow chart shown in Figure 3, mainly completing the initialization of the kernel, loading of the serial port driver and the Ethernet driver. Finally, load the version file to complete the startup of the system.

从CPU系统加载版本文件可以通过以太网、FLASH或磁盘完成,也可以通过PCI总线从主CPU系统上获得。从主CPU系统上获得版本文件时,只需要在主、从CPU系统的代码中添加一个PCI通讯模块,主从CPU通过这个PCI通讯模块交互信息,完成版本文件从主CPU系统到从CPU系统的传送。使用这种方法从CPU系统就可以节省下载版本文件的以太网控制器。Loading version files from the CPU system can be done through Ethernet, FLASH or disk, and can also be obtained from the main CPU system through the PCI bus. When obtaining the version file from the master CPU system, you only need to add a PCI communication module in the code of the master and slave CPU systems. The master and slave CPUs exchange information through this PCI communication module to complete the transfer of the version file from the master CPU system to the slave CPU system. send. Using this method saves downloading version files from the CPU system to the Ethernet controller.

4、本发明主从CPU地址映射4. Master-slave CPU address mapping in the present invention

图6是本发明中主、从CPU地址与PCI地址映射关系图(图中以双CPU为例说明)。FIG. 6 is a mapping relationship diagram between master and slave CPU addresses and PCI addresses in the present invention (in the figure, dual CPUs are taken as an example).

在本发明中将主CPU、从CPU的CSR、DRAM、SRAM及以太网的PCI MEM(PCI内存)空间及PCI IO空间在PCI总线上进行了统一分配(图中没有标出PCI IO空间)。主CPU的DRAM_BASE(DRAM基地址)、SRAM_BASE(SRAM基地址)、CSR_BASE(CSR基地址)分别映身到PCI总线的的PCI_DRAM_BASE1、PCI_SRAM_BASE1、PCI_CSR_BASE1,将从CPU的DRAM_BASE、SRAM_BASE、CSR_BASE分别映射到PCI总线的PCI_DRAM_BASE2、PCI_SRAM_BASE2、PCI_CSR_BASE2,它们在PCI空间的大小以实际的DRAM、SRAM和CSR的空间大小DRAM_SIZE、SRAM_SIZE、CSR_SIZE来确定。这种映射是在主CPU对各PCI设备的PCI配置寄存器进行初始化时完成的。这样在PCI总线上对PCI_DRAM_BASE1~PCI_DRAM_BASE2空间的访问就是对主CPU系统的DRAM进行访问,对PCI_CSR_BASE2~PCI_CSR_BASE2+CSR_SIZE空间进行访问,就是对从CPU的CSR空间进行访问。In the present invention, the PCI MEM (PCI memory) space and the PCI IO space of the main CPU, the CSR, DRAM, SRAM and Ethernet from the CPU are uniformly allocated on the PCI bus (the PCI IO space is not marked among the figures). The DRAM_BASE (DRAM base address), SRAM_BASE (SRAM base address), and CSR_BASE (CSR base address) of the main CPU are respectively mapped to PCI_DRAM_BASE1, PCI_SRAM_BASE1, and PCI_CSR_BASE1 of the PCI bus, and the DRAM_BASE, SRAM_BASE, and CSR_BASE of the slave CPU are mapped to PCI PCI_DRAM_BASE2, PCI_SRAM_BASE2, PCI_CSR_BASE2 of the bus, their size in the PCI space is determined by the actual DRAM, SRAM and CSR space size DRAM_SIZE, SRAM_SIZE, CSR_SIZE. This mapping is completed when the main CPU initializes the PCI configuration registers of each PCI device. In this way, the access to the PCI_DRAM_BASE1~PCI_DRAM_BASE2 space on the PCI bus is to access the DRAM of the main CPU system, and the access to the PCI_CSR_BASE2~PCI_CSR_BASE2+CSR_SIZE space is to access the CSR space of the slave CPU.

在CPU中,某一段物理地址空间(我们称为CPU地址,PCI总线输出的地址称为PCI地址)用做对PCI空间的访问,对该段地址的操作,将产生PCI操作。主CPU在初始化时将PCI地址映射到自己的CPU地址的PCI_MEM_BASE以上的某段空间,这样主CPU对自己的PCI_MEM_BASE上面的某一段空间进行操作,就会自动转化成PCI操作时序,就可以操作从CPU系统的DRAM、SRAM、CSR。In the CPU, a certain section of physical address space (we call it the CPU address, and the address output by the PCI bus is called the PCI address) is used to access the PCI space, and the operation on this section of address will generate PCI operations. When the main CPU initializes, the PCI address is mapped to a space above the PCI_MEM_BASE of its own CPU address, so that the main CPU operates on a certain space above its own PCI_MEM_BASE, which will be automatically converted into a PCI operation sequence, and the slave can be operated. DRAM, SRAM, CSR of CPU system.

Claims (2)

1、一种多处理器系统共享引导模块的方法,包括下列步骤:(1)初始化主处理器关键寄存器;(2)进行动态RAM和静态RAM控制器的初始化,主处理器动态RAM和静态RAM测试;(3)在主处理器中将代码段和数据段复制到内存中并跳转到内存中运行;(4)主处理器中断及异常处理初始化;(5)主处理器内核初始化;(6)主处理器内存管理初始化;(7)主处理器系统时钟及辅助时钟初始化;(8)PCI控制器及PCI设备初始化;(9)主处理器I/O及文件系统初始化;(10)加载主处理器串口驱动及以太网驱动;(11)加载主处理器版本文件;(12)运行主处理器版本文件;其特征在于:在所述步骤(8)之后,步骤(9)之前,还包括以下步骤:1, a kind of method for multiprocessor system shared boot module, comprises the following steps: (1) initialization main processor key register; (2) carry out the initialization of dynamic RAM and static RAM controller, main processor dynamic RAM and static RAM Test; (3) copy the code segment and data segment into the memory in the main processor and jump to run in the memory; (4) interrupt and exception handling initialization of the main processor; (5) initialization of the main processor core; ( 6) Main processor memory management initialization; (7) Main processor system clock and auxiliary clock initialization; (8) PCI controller and PCI device initialization; (9) Main processor I/O and file system initialization; (10) Load main processor serial port driver and Ethernet drive; (11) load main processor version file; (12) run main processor version file; It is characterized in that: after described step (8), before step (9), Also includes the following steps: 1.1从处理器关键寄存器及其动态RAM、静态RAM初始化;1.1 Initialize the key registers of the slave processor and its dynamic RAM and static RAM; 1.2测试从处理器内存;1.2 Test slave processor memory; 1.3将代码段和数据段从主处理器的内存复制到从处理器系统的内存并在从处理器系统的内存的首地址设置一条跳转指令,该指令将使从CPU跳转到复制位置所属的地址去取指令;1.3 Copy the code segment and data segment from the memory of the main processor to the memory of the slave processor system and set a jump instruction at the first address of the memory of the slave processor system, which will make the slave CPU jump to the copy location. address to fetch instructions; 1.4复位从处理器。1.4 Reset the slave processor. 2、权利要求1所述的多处理器系统共享引导模块的方法,其特征在于:所述步骤1.4包括以下步骤:2. The method for sharing a boot module in a multiprocessor system according to claim 1, wherein said step 1.4 comprises the following steps: 1.4.1  内存中的代码段取值;1.4.1 The value of the code segment in the memory; 1.4.2  中断及异常处理初始化;1.4.2 Interrupt and exception handling initialization; 1.4.3  内核初始化;1.4.3 Kernel initialization; 1.4.4  内存管理初始化;1.4.4 Memory management initialization; 1.4.5  系统时钟及辅助时钟初始化;1.4.5 System clock and auxiliary clock initialization; 1.4.6  PCI控制器及PCI设备初始化;1.4.6 PCI controller and PCI device initialization; 1.4.7  I/O及文件系统初始化;1.4.7 I/O and file system initialization; 1.4.8  加载串口驱动及/或以太网驱动;1.4.8 Load serial driver and/or Ethernet driver; 1.4.9  加载版本文件;1.4.9 Load the version file; 1.4.10 运行版本文件。1.4.10 Run version files.
CNB031468810A 2003-09-17 2003-09-17 Multiprocessor system and method for sharing bootstrap module thereof Expired - Fee Related CN1301473C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031468810A CN1301473C (en) 2003-09-17 2003-09-17 Multiprocessor system and method for sharing bootstrap module thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031468810A CN1301473C (en) 2003-09-17 2003-09-17 Multiprocessor system and method for sharing bootstrap module thereof

Publications (2)

Publication Number Publication Date
CN1525353A CN1525353A (en) 2004-09-01
CN1301473C true CN1301473C (en) 2007-02-21

Family

ID=34286663

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031468810A Expired - Fee Related CN1301473C (en) 2003-09-17 2003-09-17 Multiprocessor system and method for sharing bootstrap module thereof

Country Status (1)

Country Link
CN (1) CN1301473C (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043648A (en) * 2009-10-23 2011-05-04 中兴通讯股份有限公司 Multi-core system and starting method thereof
CN102750256A (en) * 2012-06-12 2012-10-24 福建睿矽微电子科技有限公司 Multiprocessor shared storage implementation technique

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7738484B2 (en) 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US7734741B2 (en) 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources
US7356680B2 (en) * 2005-01-22 2008-04-08 Telefonaktiebolaget L M Ericsson (Publ) Method of loading information into a slave processor in a multi-processor system using an operating-system-friendly boot loader
JP4148223B2 (en) * 2005-01-28 2008-09-10 セイコーエプソン株式会社 Processor and information processing method
US7395367B2 (en) * 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
CN100458696C (en) * 2006-05-08 2009-02-04 华为技术有限公司 System and method for realizing multi-CPU loading
CN101169774B (en) * 2007-11-22 2023-12-22 中兴通讯股份有限公司 A multi-processor system, shared control device and method for starting slave processors
CN101477329B (en) * 2008-01-02 2010-11-10 株洲南车时代电气股份有限公司 Vehicle-mounted information apparatus
CN101876911B (en) * 2009-11-04 2013-05-15 杭州海康威视数字技术股份有限公司 Multi-CPU (Central Processing Unit)system starting method and module based on PCI/PCIe (Peripheral Component Interconnect/Peripheral Component Interconnect Express) bus
US8938609B2 (en) * 2009-11-13 2015-01-20 Qualcomm Incorporated Methods and apparatus for priority initialization of a second processor
CN102123319A (en) * 2010-12-31 2011-07-13 广东九联科技股份有限公司 Rapid playing method and system during process of starting set top box
CN102368167A (en) * 2011-07-07 2012-03-07 曙光信息产业股份有限公司 Method for displaying SMP (Symmetric Multi-Processing) function of godson CPUs (Central Processing Units)
CN103077046A (en) * 2012-12-21 2013-05-01 太仓市同维电子有限公司 Method for replacing serial port by internet access in computer system
CN103150224B (en) * 2013-03-11 2015-11-11 杭州华三通信技术有限公司 For improving the electronic equipment and method that start reliability
EP3289442B1 (en) * 2015-04-30 2023-04-19 Microchip Technology Incorporated Central processing unit with enhanced instruction set
CN105959142B (en) * 2016-05-03 2020-09-04 中国铁路总公司 High-reliability and high-safety intelligent Ethernet communication board
CN108874458A (en) * 2017-05-10 2018-11-23 鸿秦(北京)科技有限公司 A kind of the firmware starting method and multicore SoC device of multicore SoC
CN109656758B (en) * 2018-11-20 2022-02-22 中科曙光信息产业成都有限公司 Debugging method and system for heterogeneous dual-processor system chip
CN109800032B (en) * 2019-01-31 2022-03-25 深圳忆联信息系统有限公司 BOOTROM multi-core loading method and device
CN116340244B (en) * 2021-12-23 2025-09-05 龙芯中科技术股份有限公司 Method for communication between processor cores, multi-processor platform and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081883A (en) * 1997-12-05 2000-06-27 Auspex Systems, Incorporated Processing system with dynamically allocatable buffer memory
CA2354865A1 (en) * 2000-10-10 2002-04-10 Sergey Maleyev Cardbus microprocessor unit pc card
US6523082B1 (en) * 1999-02-25 2003-02-18 Sega Enterprises, Ltd. Systems having shared memory and buses

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081883A (en) * 1997-12-05 2000-06-27 Auspex Systems, Incorporated Processing system with dynamically allocatable buffer memory
US6523082B1 (en) * 1999-02-25 2003-02-18 Sega Enterprises, Ltd. Systems having shared memory and buses
CA2354865A1 (en) * 2000-10-10 2002-04-10 Sergey Maleyev Cardbus microprocessor unit pc card

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043648A (en) * 2009-10-23 2011-05-04 中兴通讯股份有限公司 Multi-core system and starting method thereof
CN102750256A (en) * 2012-06-12 2012-10-24 福建睿矽微电子科技有限公司 Multiprocessor shared storage implementation technique
CN102750256B (en) * 2012-06-12 2016-09-14 福建睿矽微电子科技有限公司 A kind of multiprocessor is shared storage and is realized technology

Also Published As

Publication number Publication date
CN1525353A (en) 2004-09-01

Similar Documents

Publication Publication Date Title
CN1301473C (en) Multiprocessor system and method for sharing bootstrap module thereof
CN101796484B (en) Thread optimized multiprocessor architecture
CN1894662B (en) Processor cache memory as RAM for executing boot code
US6230259B1 (en) Transparent extended state save
CN1208718C (en) Computer system including memory access controller
US6216224B1 (en) Method for read only memory shadowing
US7590774B2 (en) Method and system for efficient context swapping
US9274804B2 (en) Overlapped boot task fetches and boot task execution to reduce boot time in an electrical device
WO2009151445A1 (en) Method and apparatus for configuring a hypervisor during a downtime state
JPH08278918A (en) System and method for execution of endian task
CA1036713A (en) Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets
CN105264506A (en) Assigning processors to memory mapped configuration
CN105453030A (en) Processor, method and system for mode dependent partial width loads to wider registers
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
JP2003296191A (en) Integrated circuit operable as general purpose processor and processor of peripheral device
WO2020177577A1 (en) Method and apparatus for controller to load multi-core firmware, and computer device
CN1818869A (en) Mirror starting optimization of built-in operation system
CN117075974A (en) Novel EDK2 starting and guiding method based on RISC-V server CPU
US20230140164A1 (en) System and method for bmc and bios booting using a shared non-volatile memory module
CN1825283A (en) Method for implementing hardware image starting optimizing of embedded operating system
US7454547B1 (en) Data exchange between a runtime environment and a computer firmware in a multi-processor computing system
CN105556461A (en) Techniques for pre-OS image rewriting to provide cross-architecture support, security introspection, and performance optimization
US12487762B2 (en) Flexible provisioning of coherent memory address decoders in hardware
US6105101A (en) 16 bit bios interrupt calls under 32 bit protected mode application
KR100534613B1 (en) apparatus and method for booting system using flash memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070221

Termination date: 20190917

CF01 Termination of patent right due to non-payment of annual fee