CN1277224C - 嵌入式系统中主从式多处理器的引导方法 - Google Patents
嵌入式系统中主从式多处理器的引导方法 Download PDFInfo
- Publication number
- CN1277224C CN1277224C CN 200310101970 CN200310101970A CN1277224C CN 1277224 C CN1277224 C CN 1277224C CN 200310101970 CN200310101970 CN 200310101970 CN 200310101970 A CN200310101970 A CN 200310101970A CN 1277224 C CN1277224 C CN 1277224C
- Authority
- CN
- China
- Prior art keywords
- processor
- pci
- primary processor
- equipment
- primary
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
本发明公开了一种嵌入式系统中主从式多处理器的引导方法,用于在不对称系统中共同引导主从处理器启动。启动过程中从处理器作为主处理器的一个PCI设备存在,实现主从处理器PCI地址空间的统一分配,从处理器根据这一地址分配机制,实现自身的地址空间映射从而可以加载所要使用的PCI设备,通过PCI总线加以控制实现主从处理器的共同引导启动。使用本发明提出的方法,可以使PCI设备按照系统需求指定给相应的处理机专用,并且通过外围的PCI设备还可以实现系统的软件调试,增加PCI总线带宽使用效率,方便了系统的调试,一定程度上避免了资源的浪费,降低了成本,提高了系统的整体效率。
Description
技术领域
本发明涉及多处理器的嵌入式系统,具体而言涉及一种主从式多处理器的嵌入式系统的处理器引导方法。
背景技术
目前大型嵌入式设备通常设计成主从处理器系统,以共同完成大规模计算或实时控制。主从处理器可以由同类型的或者不同功能类型的处理器组成,主从处理器之间的通信可以通过PCI总线进行。在现有技术中,主从处理器系统往往是对称的,主从处理器的启动引导过程是相互独立的,系统启动以后,再通过PCI总线等实现设备共享和通信。但是这种对称系统的引导启动方式,用于非对称主从系统,却有许多弊端,这是因为:(1)主从处理器相对独立的引导过程不能实现主从处理器PCI地址空间的统一分配和映射,从处理器不能获得足够的系统信息;(2)难以实现整个系统的功能控制。使用主从处理器独立启动的方式需要增加额外的设备支持以实现主从处理器之间的通信,启动后主从处理器的通信机制和设备共享机制需要根据一系列的约定才能进行切换,实现起来也比较复杂,造成了系统资源的浪费,降低了系统的使用效率。
发明内容
本发明正是为克服不对称系统主从处理器相互独立启动后再根据约定实现系统资源的分配和共享造成的资源浪费和效率低下的问题,提出一种主从式多处理器共同引导启动的引导方法。
本发明的核心思想是:在系统共同引导启动的过程中,从处理器作为主处理器的一个PCI设备存在,实现主从处理器PCI地址空间的统一分配,从处理器根据这一地址分配机制,实现自身的地址空间映射从而可以加载所要使用的PCI设备(如PCI网卡可以实现系统的软件调试),通过PCI总线加以控制实现主从处理器的共同引导启动,避免不断的资源切换造成的系统资源浪费,增加了PCI总线带宽使用效率。
一种嵌入式系统中主从式多处理器的引导方法,包括下列步骤:
(1)主从处理器上电开始启动;
(2)主处理器将从处理器作为一个PCI设备,开始初始化所有PCI空间;从处理器判断主处理器是否在位,如果在位则继续,否则结束;
(3)从处理器设自己为从,初始化自身除PCI空间外的所有信息,并等待主处理器的信号;
(4)主处理器初始化完毕后,通过从处理器的mailbox0寄存器将信息通知从处理器;
(5)从处理器收到mailbox0寄存器的信息后,根据主处理器分配的地址进行自身的配置,并向mailbox1寄存器中写入自己的信息传递给主处理器;
(6)主处理器从mailbox1寄存器获得从处理器的配置信息,开始驱动自身PCI设备;
(7)主处理器通过mailbox0寄存器通知从处理器PCI设备中断初始化完成;
(8)从处理器收到中断后,挂接PCI设备中断例程驱动PCI设备;
(9)主处理器向共享内存约定地址写入所有PCI总线配置信息以及从处理器需要的信息;
(10)从处理器自身系统全部启动完成后,从共享内存中获得整个系统的配置信息;
(11)整个系统启动成功,结束。
所述步骤(7)中主处理器驱动从处理器PCI设备的过程包括如下步骤:
(1)从处理器PCI设备的中断挂入主处理器;
(2)主处理器初始化中断矢量,并挂入相应的中断服务例程;
(3)主处理器记录下该PCI设备的状态;
(4)中断服务例程中如果该PCI设备有中断产生,主处理器向从处理器的doorbell寄存器约定的某一位中写入相应的中断标志,从而向从处理器产生一个中断。
本发明提出了一种主从处理器共同引导启动的方法,在启动过程中,共用PCI总线时主处理器将从处理器作为一个PCI设备进行进行配置和处理。使用本发明提出的方法,可以使PCI设备按照系统需求指定给相应的处理机专用,并且通过外围的PCI设备还可以实现系统的软件调试,增加PCI总线带宽使用效率,方便了系统的调试,一定程度上避免了资源的浪费,降低了成本,提高了系统的整体效率。
附图说明
图1是不对称系统中主从式处理器的结构关系示意图。
图2是本发明的一个实施例中主从式处理器的结构关系示意图。
图3是本发明所提出的方法的流程图。
图4是图3中步骤(7)中主处理器驱动从处理器PCI设备的过程流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。
图1是不对称系统中主从式处理器的结构关系示意图。如图1所示,主处理器1和从处理器2共用一条PCI总线3。PCI设备7为主处理器使用的PCI设备,PCI设备4为从处理器使用的PCI设备。主处理器1通过中断线与从处理器PCI设备4相连,主处理器1与从处理器2之间的消息传递通过从处理器2的几个寄存器mailbox0(标号5)、mailbox1(标号8)和doorbell(标号6)进行。在图1所示的不对称系统中,主处理器1负责自身小系统的引导和全部PCI空间的配置,以及制定对从处理器2的通信机制,通过从处理器2的mailbox和doorbell寄存器传送各种信息的机制。从处理器2完成接收主处理器1传递过来的信息,根据主处理器1的分配机制,相应地分配自己小系统的地址空间,设置物理地址和PCI地址映射关系,挂接约定好的所使用的PCI设备的中断服务例程,驱动所使用的PCI设备4。主处理器PCI设备7是根据需要分配给主处理器使用的PCI设备。从处理器PCI设备4是根据需要分配给从处理器使用的PCI设备。从处理器的mailbox0寄存器,是从处理器的0号信箱,负责引导过程中主处理器用于向从处理器传递配置信息。从处理器的doorbell寄存器,是与中断相关的从处理器的门铃寄存器。从处理器的mailbox1寄存器是从处理器的1号信箱,负责引导过程中从处理器用于向主处理器传递信息。
图2是本发明的一个实施例中主从式处理器的结构关系示意图。如图2所示,在本发明的这个实施例中,主处理器1为MPC755,从处理器2为网络处理器IXP1200,从处理器PCI设备4为PCI网卡ER82559。MPC755是PCI总线的主设备,负责为其它的处理器和PCI设备分配PCI空间。连接关系以及各部分功能如图1部分所述。
图3是本发明所提出的方法的流程图。如图3所示,本发明提出的嵌入式系统中主从式多处理器的引导方法,包括下列步骤:(1)主从处理器上电开始启动;(2)主处理器将从处理器作为一个PCI设备,开始初始化所有PCI空间;从处理器判断主处理器是否在位,如果在位则继续,否则结束;(3)从处理器设自己为从,初始化自身除PCI空间外的所有信息,并等待主处理器的信号;(4)主处理器初始化完毕后,通过从处理器的mailbox0寄存器将信息通知从处理器;(5)从处理器收到mailbox0寄存器的信息后,根据主处理器分配的地址进行自身的配置,并向mailbox1寄存器中写入自己的信息传递给主处理器;(6)主处理器从mailbox1寄存器获得从处理器的配置信息,开始驱动自身PCI设备和从处理器PCI设备;(7)主处理器通过mailbox0寄存器通知从处理器PCI设备中断初始化完成;(8)从处理器收到中断后,挂接PCI设备中断例程驱动PCI设备;(9)主处理器向共享内存约定地址写入所有PCI总线配置信息以及从处理器需要的信息;(10)从处理器自身系统全部启动完成后,从共享内存中获得整个系统的配置信息;(11)整个系统启动成功,结束。
图4是图3中步骤(7)中主处理器驱动从处理器PCI设备的过程流程图。如图4所示,结合图1,主处理器1驱动从处理器PCI设备4的过程包括如下步骤:(1)从处理器PCI设备的中断挂入主处理器;(2)主处理器初始化中断矢量,并挂入相应的中断服务例程;(3)主处理器记录下该PCI设备的状态;(4)中断服务例程中如果该PCI设备有中断产生,主处理器向从处理器的doorbell寄存器约定的某一位中写入相应的中断标志,从而主处理器向从处理器产生一个中断。
Claims (6)
1、一种嵌入式系统中主从式多处理器的引导方法,其特征在于包括下列步骤:
(1)主从处理器上电开始启动;
(2)主处理器将从处理器作为一个PCI设备,开始初始化所有PCI空间;从处理器判断主处理器是否在位,如果在位则继续,否则结束;
(3)从处理器设自己为从,初始化自身除PCI空间外的所有信息,并等待主处理器的信号;
(4)主处理器初始化完毕后,通过从处理器的mailbox0寄存器将信息通知从处理器;
(5)从处理器收到mailbox0寄存器的信息后,根据主处理器分配的地址进行自身的配置,并向从处理器的mailbox1寄存器中写入自己的信息传递给主处理器;
(6)主处理器从mailbox1寄存器获得从处理器的配置信息,开始驱动自身PCI设备和从处理器PCI设备;
(7)主处理器通过mailbox0寄存器通知从处理器PCI设备,中断初始化完成;
(8)从处理器收到中断后,挂接PCI设备中断例程驱动从处理器PCI设备;
(9)主处理器向共享内存约定地址写入所有PCI总线配置信息以及从处理器需要的信息;
(10)从处理器自身系统全部启动完成后,从共享内存中获得整个系统的配置信息;
(11)整个系统启动成功,结束。
2、根据权利要求1所述的嵌入式系统中主从式多处理器的引导方法,其特征在于:所述步骤(7)中主处理器驱动从处理器PCI设备的过程包括如下步骤:
(一)从处理器PCI设备的中断挂入主处理器;
(二)主处理器初始化中断矢量,并挂入相应的中断服务例程;
(三)主处理器记录下该PCI设备的状态;
(四)中断服务例程中如果该PCI设备有中断产生,主处理器向从处理器的doorbell寄存器约定的某一位中写入相应的中断标志,从而主处理器向从处理器产生一个中断。
3、根据权利要求1或2所述的嵌入式系统中主从式多处理器的引导方法,其特征在于:所述步骤(5)中从处理器根据主处理器分配的地址进行自身的配置具体是指配置从处理器系统中的PCI地址和物理地址之间的映射关系。
4、根据权利要求1所述的嵌入式系统中主从式多处理器的引导方法,其特征在于:所述mailbox0寄存器是从处理器的0号信箱,负责引导过程中主处理器用于向从处理器传递配置信息。
5、根据权利要求2所述的嵌入式系统中主从式多处理器的引导方法,其特征在于:所述doorbell寄存器,是从处理器中与中断相关的门铃寄存器。
6、根据权利要求1所述的嵌入式系统中主从式多处理器的引导方法,其特征在于:所述mailbox1寄存器是从处理器的1号信箱,负责引导过程中从处理器用于向主处理器传递信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310101970 CN1277224C (zh) | 2003-10-20 | 2003-10-20 | 嵌入式系统中主从式多处理器的引导方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310101970 CN1277224C (zh) | 2003-10-20 | 2003-10-20 | 嵌入式系统中主从式多处理器的引导方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1529254A CN1529254A (zh) | 2004-09-15 |
CN1277224C true CN1277224C (zh) | 2006-09-27 |
Family
ID=34304241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200310101970 Expired - Fee Related CN1277224C (zh) | 2003-10-20 | 2003-10-20 | 嵌入式系统中主从式多处理器的引导方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1277224C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169774B (zh) * | 2007-11-22 | 2023-12-22 | 中兴通讯股份有限公司 | 一种多处理器系统、共享控制装置及启动从处理器的方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100375058C (zh) * | 2004-12-24 | 2008-03-12 | 北京中星微电子有限公司 | 一种嵌入式产品软件调试方法 |
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 |
CN101479718B (zh) * | 2006-06-27 | 2011-04-06 | 日本电气株式会社 | 多处理器系统以及使用它的便携式终端 |
CN101277253B (zh) * | 2007-03-30 | 2011-06-08 | 迈普通信技术股份有限公司 | 主从式多处理器系统报文通道控制方法 |
WO2009086673A1 (zh) * | 2007-12-29 | 2009-07-16 | Zte Corporation | 用于wimax网络的移动终端 |
CN102110072B (zh) * | 2009-12-29 | 2013-06-05 | 中兴通讯股份有限公司 | 一种多处理器完全互访的方法及系统 |
CN103246634B (zh) * | 2013-04-26 | 2017-02-08 | 华为技术有限公司 | 一种对多处理器系统进行工作模式配置的方法和装置 |
CN112100093B (zh) * | 2020-08-18 | 2023-11-21 | 海光信息技术股份有限公司 | 保持多处理器共享内存数据一致性的方法和多处理器系统 |
-
2003
- 2003-10-20 CN CN 200310101970 patent/CN1277224C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169774B (zh) * | 2007-11-22 | 2023-12-22 | 中兴通讯股份有限公司 | 一种多处理器系统、共享控制装置及启动从处理器的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1529254A (zh) | 2004-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3798835B1 (en) | Method, device, and system for implementing hardware acceleration processing | |
CN108628684B (zh) | 一种基于dpdk的报文处理方法及计算机设备 | |
CN101159765B (zh) | 网络接口方法、装置和系统 | |
US7231638B2 (en) | Memory sharing in a distributed data processing system using modified address space to create extended address space for copying data | |
US6944847B2 (en) | Virtualization of input/output devices in a logically partitioned data processing system | |
JP2004535615A (ja) | 区分処理環境における共有i/o | |
CN1277224C (zh) | 嵌入式系统中主从式多处理器的引导方法 | |
JPH06208526A (ja) | バス・ブリッジを介してデータを通信する方法およびデータ処理システム | |
JPH02127757A (ja) | 分散アプリケーション・プログラム実行方法及びシステム資源管理方法 | |
US20020073243A1 (en) | Intercommunication preprocessor | |
JP2013508833A (ja) | 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム | |
US20130151735A1 (en) | I/o virtualization and switching system | |
CN117130571A (zh) | 基于多核异构系统的显示方法、设备、芯片、存储介质 | |
KR100370637B1 (ko) | 컴퓨터구조 | |
CN102097080A (zh) | 显示驱动处理方法、装置和系统 | |
JP2002529850A (ja) | システムにおける要求のスケジューリング | |
CN108055186B (zh) | 一种主从处理器通信方法及装置 | |
CN1242338C (zh) | 集群系统 | |
KR100497989B1 (ko) | 풀 모델 호출 방법 | |
CN101908025A (zh) | 一种串口使用权控制装置及控制方法 | |
KR100311315B1 (ko) | 고속 데이터 전달 경로를 이용한 프로토콜 처리 시스템 | |
JPH11175485A (ja) | 分散システムおよび並列演算制御方法 | |
CN110060198B (zh) | 基于多核处理器的图形库应用支持装置、方法及应用 | |
CN113204438B (zh) | 一种amp系统核间通讯方法及系统 | |
JPH1196106A (ja) | デバイスドライバ装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060927 Termination date: 20171020 |