CN113778538A - 多处理器系统及其启动方法 - Google Patents

多处理器系统及其启动方法 Download PDF

Info

Publication number
CN113778538A
CN113778538A CN202111068587.6A CN202111068587A CN113778538A CN 113778538 A CN113778538 A CN 113778538A CN 202111068587 A CN202111068587 A CN 202111068587A CN 113778538 A CN113778538 A CN 113778538A
Authority
CN
China
Prior art keywords
register
slave processors
processor
slave
firmware
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.)
Pending
Application number
CN202111068587.6A
Other languages
English (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.)
Xunmu Information Technology Shanghai Co Ltd
Original Assignee
Xunmu Information Technology Shanghai Co Ltd
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 Xunmu Information Technology Shanghai Co Ltd filed Critical Xunmu Information Technology Shanghai Co Ltd
Priority to CN202111068587.6A priority Critical patent/CN113778538A/zh
Priority to TW110140480A priority patent/TWI785870B/zh
Publication of CN113778538A publication Critical patent/CN113778538A/zh
Priority to US17/850,303 priority patent/US20230083523A1/en
Priority to JP2022128744A priority patent/JP2023041622A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种多处理器系统及其启动方法。多处理器系统包括主处理器、非易失性存储器和多个从处理器;非易失性存储器连接主处理器,用于存储第一启动固件和第二启动固件;每一个从处理器包括JTAG接口,每一个JTAG接口分别连接主处理器的一个IO接口。主处理器上电或重启时,读取第一启动固件并启动;主处理器完成启动后,分别与多个从处理器建立通信连接,并分别释放复位信号给多个从处理器,以控制多个从处理器启动,以及读取第二启动固件,并通过通信连接分别传输第二启动固件给多个从处理器,使得多个从处理器分别根据接收到的第二启动固件进行启动。因此,达到成本降低、固件升级和管理便捷的功效。

Description

多处理器系统及其启动方法
技术领域
本申请涉及微处理技术领域,尤其涉及一种多处理器系统及其启动方法。
背景技术
为了获得更高的计算能力与提高效能,愈来愈多的计算机装置采用包含多个处理器的电路架构(即多处理器系统)。
常见的多处理器系统中,每一个处理器都外接一个非易失性存储器,用于存放处理器的启动固件;多个处理器之间通过网络交换芯片或总线连接,以相互通信。所述多处理器系统的启动方法包括:多处理器系统上电或重启后,每一个处理器从其外接的非易失性存储器读取所述启动固件,根据所述启动固件进行启动,并于启动成功后加载操作系统和应用软件。
然而,上述多处理器系统存在以下缺点:(1)随着处理器的数量增加,非易失性存储器的数量也随之增加,使得计算机装置的电路板密度、布线复杂度和产品的成本也随之提高;(2)每一个处理器的启动固件存放于其外接的非易失性存储器中,使得需要升级每一个处理器的启动固件时,必须将升级的启动固件烧录到每一个非易失性存储器中,存在操作复杂度增加、易出错和启动固件的维护管理难度增加的问题。
发明内容
本申请实施例提供一种多处理器系统及其启动方法,可解决现有技术中,多处理器系统因每一个处理器都外接一个存放其启动固件的非易失性存储器,而存在启动固件升级的操作复杂度增加、易出错和启动固件的维护管理难度增加的问题,及应用其的计算机装置存在电路板密度、布线复杂度和产品的成本较高的问题。
为了解决上述技术问题,本申请是这样实现的:
本申请提供了一种多处理器系统,其包括:主处理器、非易失性存储器和多个从处理器;非易失性存储器连接主处理器,用于存储第一启动固件和第二启动固件;多个从处理器中的每一个分别包括联合测试工作组(Joint Test Action Group,JTAG)接口,每一个JTAG接口分别连接主处理器的一个输入输出(Input Output,IO)接口。主处理器上电或重启时,主处理器读取第一启动固件并启动;主处理器完成启动后,分别与多个从处理器建立通信连接,并分别释放复位信号给多个从处理器,以控制多个从处理器启动,以及读取第二启动固件,并通过通信连接分别传输第二启动固件给多个从处理器,使得多个从处理器分别根据接收到的第二启动固件进行启动。
本申请提供了一种多处理器系统的启动方法,其包括:主处理器上电或重启时,主处理器读取非易失性存储器所存储的第一启动固件并启动;主处理器完成启动后,分别与多个从处理器建立通信连接;主处理器分别释放复位信号给多个从处理器,以控制多个从处理器启动;以及主处理器读取非易失性存储器所存储的第二启动固件,并通过通信连接分别传输第二启动固件给多个从处理器,使得多个从处理器分别根据接收到的第二启动固件进行启动。
在本申请实施例中,通过单一非易失性存储器的设置,节省非易失性存储器的使用数量及其外围器件,降低电路板的密度和布线复杂度,从而降低多处理器系统的成本。另外,由于单一非易失性存储器存储主处理器和从处理器的启动固件,使得启动固件升级的操作简单,启动固件的管理和维护更加便捷。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为依据本申请的多处理器系统的第一实施例结构示意图;
图2为依据本申请的多处理器系统的第二实施例结构示意图;
图3为依据本申请的多处理器系统的第三实施例结构示意图;
图4为依据本申请的多处理器系统的第四实施例结构示意图;
图5为依据本申请的多处理器系统的第五实施例结构示意图;以及
图6为依据本申请的多处理器系统的启动方法的一实施例流程示意图。
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用在本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。
请参阅图1,其为依据本申请的多处理器系统的第一实施例结构示意图。如图1所示,多处理器系统1包括:主处理器11、非易失性存储器12和多个从处理器13。非易失性存储器12连接主处理器11,用于存储第一启动固件和第二启动固件;多个从处理器13中的每一个分别包括JTAG接口131,每一个JTAG接口131分别连接主处理器11的一个IO接口111。主处理器11上电或重启时,读取第一启动固件并启动;主处理器11完成启动后,分别与多个从处理器13建立通信连接,并分别释放复位信号给多个从处理器13,以控制多个从处理器13启动,以及读取第二启动固件,并通过通信连接分别传输第二启动固件给多个从处理器13,使得多个从处理器13分别根据接收到的第二启动固件进行启动。
更详细地说,多处理器系统1包括多个处理器,在所述多个处理器中选择一个处理器作为主处理器11,剩余的处理器作为从处理器13;所有从处理器13的复位引脚132的默认电平是低电平,使得所有从处理器13处于复位状态;当上电或重启后,主处理器11从外接的非易失性存储器12读取自身的启动固件(即第一启动固件)并执行启动操作;主处理器11完成启动后,主处理器11对每一个从处理器13释放复位信号(即将所有从处理器13的复位引脚132的电平拉高),使所有从处理器13从复位状态转成启动状态(即启动所有从处理器13);然后,主处理器11从外接的非易失性存储器12读取从处理器13的启动固件(即第二启动固件),并将其包括的IO接口111模拟JTAG接口,以通过每一个从处理器13所包括的JTAG接口131将所述第二启动固件传送至所有从处理器13,使所有从处理器13分别根据接收到的第二启动固件进行启动。
在一示例中,主处理器11可在不同时间点分别向所有从处理器13传送第二启动固件,让所有从处理器13先后各自启动。
在另一示例中,主处理器11可同时向所有从处理器13传送第二启动固件,实现了所有从处理器13的并行启动,缩短多处理器系统1的启动时间,提高多处理器系统1的启动效率。
在本实施例中,非易失性存储器12可为但不限于只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、闪存(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM);磁表面存储器可以是磁盘存储器或磁带存储器。另外,非易失性存储器12仅固定连接主处理器11,但可选择性连接烧录装置,以将存储的第一启动固件和第二启动固件进行升级。在一示例中,非易失性存储器12仅存储的第一启动固件和第二启动固件。在另一示例中,非易失性存储器12除了存储的第一启动固件和第二启动固件,还可存储其他操作系统和应用软件。
在本实施例中,从处理器13的数量可为但不限于两个,主处理器11的IO接口111的数量可为但不限于两个,从处理器13和IO接口111的数量可依据实际需求进行调整。需注意的是,IO接口111的数量需大于或等于从处理器13的数量;当IO接口111的数量小于从处理器13的数量时,主处理器11可通过扩展芯片的设置扩展连接所有的从处理器13,相关说明容后详述。
在本实施例中,主处理器11完成启动后,还可自其他外接的存储介质(未绘制)加载其需要的操作系统和应用软件。其中,主处理器11从哪个外接的存储介质加载所述操作系统和应用软件可由所述第一启动固件决定。
在一实施例中,多个从处理器13分别根据所述第二启动固件启动成功后,各自通过所述通信连接向主处理器11发送启动成功消息。因此,主处理器11可以得知每一个从处理器13的启动状态。另外,多个从处理器13分别根据所述第二启动固件启动成功后,还可自其他外接的存储介质(未绘制)加载其需要的操作系统和应用软件。其中,多个从处理器13从哪个外接的存储介质加载所述操作系统和应用软件可由所述第二启动固件决定。
在一实施例中,主处理器11在分别传输所述第二启动固件给多个从处理器13完毕后的默认时间内,没有收到多个从处理器13中的任一个从处理器13所发送的所述启动成功消息时,主处理器11控制任一个从处理器13重新启动,并通过所述通信连接重新传输所述第二启动固件给重新启动的所述任一个从处理器13,以使所述任一个从处理器13再次根据所述第二启动固件进行启动。
更详细地说,主处理器11传输所述第二启动固件给任一个从处理器13完成后开始计时,在所述默认时间过后,没有收到所述任一个从处理器13所发送的所述启动成功消息时,主处理器11确认所述任一个从处理器13启动失败。因此,主处理器11可主动将启动失败的从处理器13的复位引脚132的电平拉低后再次拉高,使得启动失败的从处理器13重新启动;然后,主处理器11可通过所述通信连接将自非易失性存储器12读取的第二启动固件重新传输给重新启动的从处理器13,以使启动失败的从处理器13再次根据所述第二启动固件进行启动。在这个实施例中,主处理器11可以主动重启启动失败的从处理器13,提高启动多处理器系统1的可靠性。其中,所述默认时间的长短可根据多处理器系统1的实际测试情况再增加一定余量进行设定,因此,所述默认时间的长短可依据实际需求进行调整与设定。
在一实施例中,主处理器11在分别传输所述第二启动固件给多个从处理器13完毕后的默认时间内,收到所有从处理器13所发送的所述启动成功消息时,主处理器11可继续自外接的存储介质加载其需要的操作系统和应用软件。
在一实施例中,请参阅图2,其为依据本申请的多处理器系统的第二实施例结构示意图。如图2所示,主处理器11还包括第一寄存器112a、第二寄存器112b、第三寄存器112c和第四寄存器112d,分别连接每一个IO接口111,以控制每一个IO接口111模拟JTAG接口,使得主处理器11通过多个从处理器13中的每一个所包括的JTAG接口131与所述多个从处理器13建立所述通信连接。其中,第一寄存器112a用于并行输出时钟(TCK)信号给所述多个从处理器13;第二寄存器112b用于并行输出数据输入(TDI)信号给所述多个从处理器13;第三寄存器112c用于并行输出模式选择(TMS)信号给所述多个从处理器13;第四寄存器112d用于并行输入来自所述多个从处理器13的数据输出(TDO)信号(即第一寄存器112a、第二寄存器112b、第三寄存器112c和第四寄存器112d为并行寄存器)。换句话说,主处理器11通过可并行输出的第一寄存器112a、第二寄存器112b、第三寄存器112c和第四寄存器112d分别连接每一个IO接口111的设计,使得每一个IO接口111可输出时钟信号、数据输入信号和模式选择信号及接收数据输出信号(即每一个IO接口111可模拟为JTAG接口),因此,主处理器11可通过模拟为JTAG接口的IO接口111与包括JTAG接口131的从处理器13建立通信连接。在这个实施例中,主处理器11可通过第二寄存器112b并行输出所述第二启动固件给所述多个从处理器13(即主处理器11同时向所有从处理器13传送第二启动固件),提高多处理器系统1的启动效率。
在一实施例中,由于JTAG接口131除了可以接收时钟信号、数据输入信号和模式选择信号及输出数据输出信号以外,还可以接收所述复位信号,因此,请参阅图3,其为依据本申请的多处理器系统的第三实施例结构示意图。如图3所示,主处理器11还可包括第一寄存器112a、第二寄存器112b、第三寄存器112c、第四寄存器112d和第五寄存器112e,分别连接每一个IO接口111,以控制每一个IO接口111模拟JTAG接口,使得主处理器11通过多个从处理器13中的每一个所包括的JTAG接口131与所述多个从处理器13建立所述通信连接。其中,第一寄存器112a用于并行输出时钟信号给所述多个从处理器13;第二寄存器112b用于并行输出数据输入信号给所述多个从处理器13;第三寄存器112c用于并行输出模式选择信号给所述多个从处理器13;第四寄存器112d用于并行输入来自所述多个从处理器13的数据输出信号;第五寄存器112e用于并行输出所述复位信号(TRST)给所述多个从处理器13(即第一寄存器112a、第二寄存器112b、第三寄存器112c、第四寄存器112d和第五寄存器112e为并行寄存器)。在这个实施例中,主处理器11可通过第五寄存器112e并行输出所述复位信号给所述多个从处理器13(即主处理器11同时让所有从处理器13启动)。
在一实施例中,请参阅图4,其为依据本申请的多处理器系统的第四实施例结构示意图。如图4所示,多处理器系统1还包括另一非易失性存储器14,连接主处理器11,用于存储所述第二启动固件,使主处理器11选择性自非易失性存储器12或另一非易失性存储器14读取所述第二启动固件。
在一实施例中,请参阅图1至图4,多处理器系统1还包括网络交换芯片15,启动成功的主处理器11和所述多个从处理器13可通过网络交换芯片15相互通信。其中,网络交换芯片15可为但不限于以太网交换芯片。在另一实施例中,多处理器系统1还包括总线(未绘制),启动成功的主处理器11和所述多个从处理器13通过所述总线相互通信。
在一实施例中,当IO接口111的数量小于从处理器13的数量时,主处理器11可通过扩展芯片16的设置扩展连接所有的从处理器13,请参阅图5,其为依据本申请的多处理器系统的第五实施例结构示意图。如图5所示,多处理器系统1还包括扩展芯片16,与主处理器11连接,用于让主处理器11扩展连接更多从处理器13。在这个实施例中,主处理器11可通过扩展芯片16的设置,使得主处理器11可连接四个从处理器13,但这个实施例并非用以限定本申请,实际主处理器11扩展连接的从处理器13的数量可根据实际需求选择适当的扩展芯片16进行调整。
在一实施例中,扩展芯片16为可编程逻辑器件或者专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)芯片。
在一实施例中,所述可编程逻辑器件为复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)或现场可编程门阵列(Field-Programmable GateArray,FPGA)。
在一实施例中,所述专用集成电路芯片为内部集成电路总线(Inter-IntegratedCircuit,I2C)转通用输入输出(General-purpose input/output,GPIO)芯片。
请参阅图6,其依据本申请的多处理器系统的启动方法的一实施例流程示意图。如图6所示,多处理器系统的启动方法2包括:主处理器上电或重启时,读取非易失性存储器所存储的第一启动固件并启动(步骤21);主处理器完成启动后,分别与多个从处理器建立通信连接(步骤22);主处理器分别释放复位信号给多个从处理器,进而以控制多个从处理器启动(步骤23);以及主处理器读取非易失性存储器所存储的第二启动固件,并通过通信连接分别传输第二启动固件给多个从处理器,使得多个从处理器分别根据接收到的第二启动固件进行启动(步骤24)。详细描述已于上述段落加以说明,于此不再赘述。
在一实施例中,步骤22可包括:主处理器通过第一寄存器、第二寄存器、第三寄存器和第四寄存器控制每一个IO接口模拟JTAG接口,使得主处理器通过多个从处理器中的每一个所包括的JTAG接口与多个从处理器建立通信连接,其中,第一寄存器、第二寄存器、第三寄存器和第四寄存器分别连接每一个IO接口,第一寄存器、第二寄存器和第三寄存器分别用于并行输出时钟信号、数据输入信号和模式选择信号给多个从处理器,第四寄存器用于并行输入来自多个从处理器的数据输出信号。详细描述已于上述段落加以说明,于此不再赘述。
在一实施例中,步骤22可包括:主处理器通过第一寄存器、第二寄存器、第三寄存器、第四寄存器和第五寄存器控制每一个IO接口模拟JTAG接口,使得主处理器通过多个从处理器中的每一个所包括的JTAG接口与多个从处理器建立通信连接,其中,第一寄存器、第二寄存器、第三寄存器、第四寄存器和第五寄存器分别连接每一个IO接口,第一寄存器、第二寄存器、第三寄存器和第五寄存器分别用于并行输出时钟信号、数据输入信号、模式选择信号和复位信号给多个从处理器,第四寄存器用于并行输入来自多个从处理器的数据输出信号。详细描述已于上述段落加以说明,于此不再赘述。
在一实施例中,多处理器系统的启动方法2还可包括:多个从处理器分别根据所述第二启动固件启动成功后,各自通过通信连接向主处理器发送启动成功消息(步骤25)。因此,主处理器可以得知每一个从处理器的启动状态。
在一实施例中,多处理器系统的启动方法2还包括:主处理器在分别传输所述第二启动固件给多个从处理器完毕后的默认时间内,没有收到多个从处理器中的任一个从处理器发送的所述启动成功消息时,主处理器控制所述任一个从处理器重新启动,并通过所述通信连接重新传输所述第二启动固件给重新启动的所述任一个从处理器,以使所述任一个从处理器再次根据所述第二启动固件进行启动(步骤26)。因此,主处理器可以主动重启启动失败的从处理器,提高启动多处理器系统的可靠性。详细描述已于上述段落加以说明,于此不再赘述。
综上所述,本申请实施例中,通过单一非易失性存储器的设置,节省非易失性存储器的使用数量及其外围器件,降低电路板的密度和布线复杂度,从而降低多处理器系统的成本。另外,由于单一非易失性存储器存储主处理器和从处理器的启动固件,使得启动固件升级的操作简单(烧录装置仅需连接所述单一非易失性存储器进行固件升级的烧录),启动固件的管理和维护更加便捷。此外,通过每一个从处理器根据所述第二启动固件启动成功后需向主处理器发送启动成功消息的设计,使得主处理器有能力检测每一个从处理器的启动状态;如果任一个从处理器启动失败,主处理器可以主动重启原先启动失败的从处理器,提升启动多处理器系统的可靠性。再者,主处理器通过并行寄存器的设置将IO接口模拟JTAG接口,以与多个从处理器建立通信连接,可以实现所有从处理器并行启动,缩短多处理器系统的启动时间,提高多处理器系统的启动效率。
虽然在本申请的图式中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用于限缩本发明。相反地,此发明涵盖了所属技术领域中的技术人员显而易见的修改与相似设置。所以,权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。

Claims (16)

1.一种多处理器系统,其特征在于,包括:
主处理器;
非易失性存储器,连接所述主处理器,用于存储第一启动固件和第二启动固件;以及
多个从处理器,所述多个从处理器中的每一个分别包括JTAG接口,每一个所述JTAG接口分别连接所述主处理器的一个IO接口;
其中,所述主处理器上电或重启时,读取所述第一启动固件并启动;所述主处理器完成启动后,分别与所述多个从处理器建立通信连接,并分别释放复位信号给所述多个从处理器,以控制所述多个从处理器启动,以及读取所述第二启动固件,并通过所述通信连接分别传输所述第二启动固件给所述多个从处理器,使得所述多个从处理器分别根据接收到的所述第二启动固件进行启动。
2.根据权利要求1所述的多处理器系统,其特征在于,还包括扩展芯片,与所述主处理器连接,用于让所述主处理器扩展连接更多从处理器。
3.根据权利要求2所述的多处理器系统,其特征在于,所述扩展芯片为可编程逻辑器件或者专用集成电路芯片。
4.根据权利要求3所述的多处理器系统,其特征在于,所述可编程逻辑器件为复杂可编程逻辑器件或现场可编程门阵列。
5.根据权利要求3所述的多处理器系统,其特征在于,所述专用集成电路芯片为I2C转GPIO芯片。
6.根据权利要求1所述的多处理器系统,其特征在于,所述多个从处理器分别根据所述第二启动固件启动成功后,各自通过所述通信连接向所述主处理器发送启动成功消息。
7.根据权利要求6所述的多处理器系统,其特征在于,所述主处理器在分别传输所述第二启动固件给所述多个从处理器完毕后的默认时间内,没有收到所述多个从处理器中的任一个从处理器所发送的所述启动成功消息时,所述主处理器控制所述任一个从处理器重新启动,并通过所述通信连接重新传输所述第二启动固件给重新启动的所述任一个从处理器,以使所述任一个从处理器再次根据所述第二启动固件进行启动。
8.根据权利要求1所述的多处理器系统,其特征在于,还包括另一非易失性存储器,连接所述主处理器,用于存储所述第二启动固件,使所述主处理器选择性自所述非易失性存储器或所述另一非易失性存储器读取所述第二启动固件。
9.根据权利要求1所述的多处理器系统,其特征在于,所述主处理器还包括:
第一寄存器,分别连接每一个所述IO接口,用于并行输出时钟信号给所述多个从处理器;
第二寄存器,分别连接每一个所述IO接口,用于并行输出数据输入信号给所述多个从处理器;
第三寄存器,分别连接每一个所述IO接口,用于并行输出模式选择信号给所述多个从处理器;以及
第四寄存器,分别连接每一个所述IO接口,用于并行输入来自所述多个从处理器的数据输出信号;
其中,所述主处理器通过所述第一寄存器、所述第二寄存器、所述第三寄存器和所述第四寄存器控制每一个所述IO接口模拟JTAG接口,使得所述主处理器通过所述多个从处理器中的每一个所包括的所述JTAG接口与所述多个从处理器建立所述通信连接。
10.根据权利要求1所述的多处理器系统,其特征在于,所述主处理器还包括:
第一寄存器,分别连接每一个所述IO接口,用于并行输出时钟信号给所述多个从处理器;
第二寄存器,分别连接每一个所述IO接口,用于并行输出数据输入信号给所述多个从处理器;
第三寄存器,分别连接每一个所述IO接口,用于并行输出模式选择信号给所述多个从处理器;
第四寄存器,分别连接每一个所述IO接口,用于并行输入来自所述多个从处理器的数据输出信号;以及
第五寄存器,分别连接每一个所述IO接口,用于并行输出所述复位信号给所述多个从处理器;
其中,所述主处理器通过所述第一寄存器、所述第二寄存器、所述第三寄存器、所述第四寄存器和所述第五寄存器控制每一个所述IO接口模拟JTAG接口,使得所述主处理器通过所述多个从处理器中的每一个所包括的所述JTAG接口与所述多个从处理器建立所述通信连接。
11.根据权利要求1所述的多处理器系统,其特征在于,还包括网络交换芯片或总线,启动成功的所述主处理器和所述多个从处理器通过所述网络交换芯片或所述总线相互通信。
12.一种多处理器系统的启动方法,其特征在于,包括:
主处理器上电或重启时,读取非易失性存储器所存储的第一启动固件并启动;
所述主处理器完成启动后,分别与多个从处理器建立通信连接;
所述主处理器分别释放复位信号给所述多个从处理器,以控制所述多个从处理器启动;以及
所述主处理器读取所述非易失性存储器所存储的第二启动固件,并通过所述通信连接分别传输所述第二启动固件给所述多个从处理器,使得所述多个从处理器分别根据接收到的所述第二启动固件进行启动。
13.根据权利要求12所述的多处理器系统的启动方法,其特征在于,还包括:
所述多个从处理器分别根据所述第二启动固件启动成功后,各自通过所述通信连接向所述主处理器发送启动成功消息。
14.根据权利要求13所述的多处理器系统的启动方法,其特征在于,还包括:
所述主处理器在分别传输所述第二启动固件给所述多个从处理器完毕后的默认时间内,没有收到所述多个从处理器中的任一个从处理器所发送的所述启动成功消息时,所述主处理器控制所述任一个从处理器重新启动,并通过所述通信连接重新传输所述第二启动固件给重新启动的所述任一个从处理器,以使所述任一个从处理器再次根据所述第二启动固件进行启动。
15.根据权利要求12所述的多处理器系统的启动方法,其特征在于,所述主处理器完成启动后,分别与多个从处理器建立通信连接的步骤包括:
所述主处理器通过第一寄存器、第二寄存器、第三寄存器和第四寄存器控制每一个IO接口模拟JTAG接口,使得所述主处理器通过所述多个从处理器中的每一个所包括的JTAG接口与所述多个从处理器建立所述通信连接,其中,所述第一寄存器、所述第二寄存器、所述第三寄存器和所述第四寄存器分别连接每一个所述IO接口,所述第一寄存器、所述第二寄存器和所述第三寄存器分别用于并行输出时钟信号、数据输入信号和模式选择信号给所述多个从处理器,所述第四寄存器用于并行输入来自所述多个从处理器的数据输出信号。
16.根据权利要求12所述的多处理器系统的启动方法,其特征在于,所述主处理器完成启动后,分别与所述多个从处理器建立通信连接的步骤包括:
所述主处理器通过第一寄存器、第二寄存器、第三寄存器、第四寄存器和第五寄存器控制每一个IO接口模拟JTAG接口,使得所述主处理器通过所述多个从处理器中的每一个所包括的JTAG接口与所述多个从处理器建立所述通信连接,其中,所述第一寄存器、所述第二寄存器、所述第三寄存器、所述第四寄存器和所述第五寄存器分别连接每一个所述IO接口,所述第一寄存器、所述第二寄存器、所述第三寄存器和所述第五寄存器分别用于并行输出时钟信号、数据输入信号、模式选择信号和所述复位信号给所述多个从处理器,所述第四寄存器用于并行输入来自所述多个从处理器的数据输出信号。
CN202111068587.6A 2021-09-13 2021-09-13 多处理器系统及其启动方法 Pending CN113778538A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202111068587.6A CN113778538A (zh) 2021-09-13 2021-09-13 多处理器系统及其启动方法
TW110140480A TWI785870B (zh) 2021-09-13 2021-10-29 多處理器系統及其啟動方法
US17/850,303 US20230083523A1 (en) 2021-09-13 2022-06-27 Multi-processor system and booting method thereof
JP2022128744A JP2023041622A (ja) 2021-09-13 2022-08-12 マルチプロセッサシステム及びその起動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111068587.6A CN113778538A (zh) 2021-09-13 2021-09-13 多处理器系统及其启动方法

Publications (1)

Publication Number Publication Date
CN113778538A true CN113778538A (zh) 2021-12-10

Family

ID=78843054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111068587.6A Pending CN113778538A (zh) 2021-09-13 2021-09-13 多处理器系统及其启动方法

Country Status (4)

Country Link
US (1) US20230083523A1 (zh)
JP (1) JP2023041622A (zh)
CN (1) CN113778538A (zh)
TW (1) TWI785870B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017440A (zh) * 2006-02-09 2007-08-15 恩益禧电子股份有限公司 多处理器系统以及从系统的启动方法
CN101192165A (zh) * 2006-11-29 2008-06-04 中兴通讯股份有限公司 主从式多处理器系统以及软件版本加载方法
CN101777038A (zh) * 2010-02-08 2010-07-14 华为终端有限公司 在处理器之间共享存储器的方法、多处理器设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386711B1 (en) * 2002-01-08 2008-06-10 Cisco Technology, Inc. Method and apparatus for redirecting the boot operations of one or more systems
US8279796B1 (en) * 2007-11-16 2012-10-02 Bnsf Railway Company Multiple-channel software defined radios and systems using the same
CN101169774B (zh) * 2007-11-22 2023-12-22 中兴通讯股份有限公司 一种多处理器系统、共享控制装置及启动从处理器的方法
KR20110013867A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템
CN102110072B (zh) * 2009-12-29 2013-06-05 中兴通讯股份有限公司 一种多处理器完全互访的方法及系统
CN102646045B (zh) * 2012-03-08 2016-02-10 杭州海康威视数字技术股份有限公司 多处理器系统及其并行启动方法
US9558012B2 (en) * 2013-02-21 2017-01-31 Applied Micro Circuits Corporation System boot with external media
US9934045B1 (en) * 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9792112B2 (en) * 2013-08-28 2017-10-17 Via Technologies, Inc. Propagation of microcode patches to multiple cores in multicore microprocessor
US9978547B1 (en) * 2016-11-03 2018-05-22 Crestron Electronics, Inc. Battery powered keypad assembly
KR102569435B1 (ko) * 2018-06-27 2023-08-24 에스케이하이닉스 주식회사 융합형 반도체 장치 및 동작 방법, 이를 포함하는 적층형 메모리 장치
US11455397B2 (en) * 2018-11-13 2022-09-27 Microchip Technology Incorporated Secure boot assist for devices, and related systems, methods and devices
GB2582784B (en) * 2019-04-02 2021-05-19 Graphcore Ltd Booting tiles of processing units
TWI755184B (zh) * 2020-12-03 2022-02-11 聯陽半導體股份有限公司 電子裝置及其開機方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017440A (zh) * 2006-02-09 2007-08-15 恩益禧电子股份有限公司 多处理器系统以及从系统的启动方法
CN101192165A (zh) * 2006-11-29 2008-06-04 中兴通讯股份有限公司 主从式多处理器系统以及软件版本加载方法
CN101777038A (zh) * 2010-02-08 2010-07-14 华为终端有限公司 在处理器之间共享存储器的方法、多处理器设备

Also Published As

Publication number Publication date
TWI785870B (zh) 2022-12-01
TW202207040A (zh) 2022-02-16
JP2023041622A (ja) 2023-03-24
US20230083523A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
US7908466B2 (en) Method and apparatus for booting a microprocessor system using boot code stored on a serial flash memory array having a random-access interface
WO2016074127A1 (zh) 计算机设备及计算机设备内存启动的方法
CN112463243B (zh) 基于边界扫描的在线级联加载固件系统及其方法
US6745345B2 (en) Method for testing a computer bus using a bridge chip having a freeze-on-error option
CN101593120A (zh) 带外升级方法和系统
CN112231005B (zh) 一种基于uboot管理fpga版本的方法
GB2351820A (en) Fault resilient booting in a multiprocessor environment
JP2003140917A (ja) 共通接続ポイントを通して複数基板上のプログラマブルロジックデバイスのインシステムプログラミングを行う方法および装置
CN111026421A (zh) 一种升级装置
US9946552B2 (en) System and method for detecting redundant array of independent disks (RAID) controller state from baseboard management controller (BMC)
US20240095366A1 (en) Secure boot apparatus and method
CN109800032A (zh) Bootrom多核加载方法及装置
WO1991016678A1 (fr) Procede de remise a zero d'un module adaptateur suite a une panne et syteme d'ordinateur executant ledit procede
CN113778538A (zh) 多处理器系统及其启动方法
CN116627472A (zh) 高速外围组件设备的固件程序升级方法及服务器
RU2600101C1 (ru) Управляющий модуль узла и способ обновления встроенного программного обеспечения для этого управляющего модуля
CN112162794A (zh) 一种单板启动方法、装置、单板以及网络设备
EP3848807A1 (en) Data processing system and method for configuring and operating a data processing system
US20220179746A1 (en) Electronic apparatus and boot method thereof
US7210079B2 (en) Apparatus and method for adapting a level sensitive device to produce edge-triggered behavior
CN112667544A (zh) 一种控制主板插槽使能的方法、装置、系统及介质
CN112306536A (zh) 一种主板及其芯片以及芯片升级方法
CN111176902A (zh) 一种使用BMC Flash备份Controller Device韧体的装置和方法
US20230384843A1 (en) Configuration changes for expansion cards
TWI823253B (zh) 計算系統、由電腦執行的方法以及電腦程式產品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination