CN101996087A - 多核处理器阵列程序的动态加载系统及方法 - Google Patents
多核处理器阵列程序的动态加载系统及方法 Download PDFInfo
- Publication number
- CN101996087A CN101996087A CN2010105775925A CN201010577592A CN101996087A CN 101996087 A CN101996087 A CN 101996087A CN 2010105775925 A CN2010105775925 A CN 2010105775925A CN 201010577592 A CN201010577592 A CN 201010577592A CN 101996087 A CN101996087 A CN 101996087A
- Authority
- CN
- China
- Prior art keywords
- polycaryon processor
- program
- loaded
- processor array
- main control
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种多核处理器阵列程序的动态加载系统,包括:存储单元,存储多核处理器阵列的所有待加载程序;主控单元,从存储单元中获取多核处理器阵列中一个多核处理器的待加载程序,并将待加载程序封装成数据包,在数据包中加入该多核处理器的标识符,发送给交换单元;交换单元,接收主控单元发送的数据包,并根据标识符将待加载程序发送给多核处理器阵列中相应的多核处理器;多核处理器阵列,在接收到全部待加载程序后加载该程序,并将加载成功指示信号发送给主控单元。本发明还提供了一种该程序的动态加载方法。本发明实现了在不针对每次更新而重新烧写所有存储器的程序的情况下加载程序;并缩短了加载时间。
Description
技术领域
本发明涉及嵌入式技术领域,特别涉及多个多核处理器,即多核处理器阵列的程序的动态加载系统及方法。
背景技术
随着应用领域的扩大以及终端产品性能的日益丰富,人们对处理器性能,成本和功耗的要求越来越高。传统的单核处理器已经逐渐不能适应当前的需求,这迫使厂商开始在单一的芯片上集成更多的处理器内核。相对于传统的单核处理器,多核处理器有更高的性能,更低的价格,因此多核处理器正逐步取代单核处理器应用在通信等各个领域之中。而在硬件平台上集成多个多核处理器,形成多核处理器阵列,可为产品提供强大的处理能力。可以认为,这是硬件平台技术未来的发展方向。
传统技术中,处理器的加载方式主要是在硬件平台上应用非易失、电可写的存储器,在掉电的情况下存储器可以保留程序,保证下一次上电时处理器能够正常地加载。每次上电时,处理器从存储器中加载程序到内部的RAM中运行。当处理器的程序需要更新升级时,处理器可以对存储器进行重新烧写。
但是,上述方法并不适合直接应用于多核处理器阵列结构中。
首先,当多核处理器阵列需要频繁地进行程序更新升级的时候,上述方法需要针对每次更新重新烧写存储器中的程序。若多核处理器阵列中含有m个处理器,而传统方式需要为每个处理器应用一个存储器,则整个阵列需要m个存储器。每次更新升级多核处理器阵列的程序时,都要对这m个存储器进行重新烧写,操作麻烦。若在烧写存储器程序过程中出现错误,则会造成系统不能正常加载。
其次,若多核处理器集成了n个核,则该处理器的代码量约为单核的n倍,加载代码量随着n值的无限增加而无限增长。而加载代码量的无限增长会对存储器的存储容量提出更大的需求,也会对读取加载程序的接口速率提出更高的要求。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:在不针对每次更新而重新烧写所有存储器的程序的情况下加载程序;并缩短加载时间。
(二)技术方案
为解决上述技术问题,本发明提供了一种多核处理器阵列程序的动态加载系统,包括:
存储单元,用于存储多核处理器阵列的所有待加载程序;
主控单元,用于在系统上电之后,或者在预设的规定时间内未收到加载成功指示信号时,从存储单元中获取所述多核处理器阵列中一个多核处理器的待加载程序,并将待加载程序封装成数据包,然后在所述数据包中加入该多核处理器的标识符,发送给交换单元;
交换单元,用于接收所述主控单元发送的数据包,并根据其中的标识符将所述待加载程序发送给所述多核处理器阵列中相应的多核处理器;
多核处理器阵列,用于接收所述交换单元发送的所述待加载程序,并在接收到全部待加载程序之后,加载该程序,并将加载成功指示信号发送给所述主控单元。
其中,所述存储单元为本地存储单元或远程存储单元。
其中,所述多核处理器阵列与交换单元之间、交换单元与主控单元之间,以及主控单元与存储单元之间均通过数据传输链路连接。
本发明还提供了一种利用上述系统对多核处理器阵列程序进行动态加载方法,包括以下步骤:
S1、主控单元在系统上电之后从存储单元中获取所述多核处理器阵列中一个多核处理器的待加载程序,并将待加载程序封装成数据包,然后在所述数据包中加入该多核处理器的标识符,发送给交换单元;
S2、交换单元接收所述主控单元发送的数据包,并根据其中的标识符将所述数据包发送给所述多核处理器阵列中相应的多核处理器;
S3、多核处理器阵列接收所述交换单元发送的所述待加载程序,并在接收到全部所述待加载程序之后,加载该程序,并将加载成功指示信号发送给所述主控单元;如果主控单元在预设的规定时间内未收到加载成功指示信号,则重新获取相应的程序。
优选地,所述多核处理器阵列中的所有多核处理器均具有相同的待加载程序,所述标识符为广播标识符,相应地,交换单元根据数据包中的标识符将所述数据包广播发送给所述多核处理器阵列中的每个多核处理器,所述多核处理器阵列并行加载该程序。
(三)有益效果
本发明具有如下优势:
1)多核处理器阵列的所有加载程序存储在主控单元的本地存储单元(或者远程存储单元)中,进行统一管理,便于程序的更新和维护。与现有技术相比,本发明并不为每个多核处理器单独分配存储器存放加载程序,所以不需要针对每次更新而重新烧写所有存储器的程序;
2)当多核处理器阵列中多个处理器的加载程序相同时,交换单元可以并行地对这些处理器进行加载,极大地缩短了加载时间;
3)数据传输链路的传输通路类型和传输方式可根据用户的需求和设计灵活选取;
4)系统结构具有很高的可扩展性,通用性强,安全性高,可实现远程加载。
附图说明
图1是本发明实施例的系统结构示意图;
图2是本发明实施例一的方法流程图;
图3是本发明实施例二的方法流程图。
具体实施方式
下面结合附图和具体实施方式,对本发明做进一步说明。
如图1所示,本发明的系统包括本地存储单元(或者远程存储单元)、主控单元、交换单元以及多核处理器阵列。所述本地存储单元(或者远程存储单元)、所述主控单元、所述交换单元以及所述多核处理器阵列之间均通过所述数据传输链路互连。所述数据传输链路为以太网、SRIO(Serial Rapid IO,快速串行IO接口)等等。
本地存储单元(或者远程存储单元),用于存储多核处理器阵列的所有待加载程序;
主控单元,用于在系统上电之后,或者在预设的规定时间内未收到加载成功指示信号时,从本地存储单元(或者远程存储单元)中获取所述多核处理器阵列中一个多核处理器的待加载程序,并将所述待加载程序封装成数据包,然后在所述数据包中加入该多核处理器的标识符,发送给交换单元;
交换单元,用于接收所述主控单元发送的数据包,并根据其中的标识符将待加载程序发送给所述多核处理器阵列中相应的多核处理器;
多核处理器阵列,用于接收所述交换单元发送的待加载程序,并在接收到全部待加载程序之后,加载该待加载程序,并将加载成功指示信号发送给所述主控单元。
如图2所示,对多核处理器阵列的待加载程序的整个动态加载的过程如下:
S1、主控单元在系统上电后从多核处理器1开始,依次对多核处理器阵列中的所有多核处理器做以下操作:
主控单元从本地存储单元(或者远程存储单元)中获得多核处理器阵列中多核处理器i的待加载程序;
主控单元将待加载程序封装成数据包并加入多核处理器i的标识符,通过数据传输链路发送给交换单元;
S2、交换单元根据标识符将待加载程序通过数据传输链路转发给多核处理器i(该阵列中共有n个多核处理器);
S3、多核处理器i接收待加载程序并放入内存;
多核处理器i接收到完整的待加载程序后,从加载模式跳转为正常模式,并通过数据传输链路由交换单元发送给主控单元加载成功指示信号;
若主控单元在规定时间内未收到加载成功指示信号,则主控单元对该多核处理器进行重新加载,直至成功,然则,主控单元转向对下一个多核处理器进行加载;
多核处理器阵列中的所有多核处理器完成加载、成功运行后,整个加载过程完毕。
在当前通信系统中经常用到一种分布集成式的设计,它将许多功能完全相同的处理器集成在同一个单板上,这些处理器的加载代码是完全相同的,在这种情况下更能体现出本发明的优势。原因是:在上述情况下,所有的多核处理器加载过程可以合并,主控单元不再单独为每一个处理器发送加载程序,而对具有相同加载程序的多核处理器采用广播的形式,合并加载过程,整个加载流程如图3所示:
S1’、主控单元从本地存储单元(或者远程存储单元)中获得多核处理器阵列的加载程序;主控单元将加载程序封装成包并加入广播意义的标识符,通过数据传输链路发送给交换单元;
S2’、交换单元根据标识符将加载程序通过数据传输链路同时发送给所有多核处理器;
S3’、每个多核处理器收到加载程序后,放入内存;当接收到完整的加载程序后,多核处理器进入正常工作模式并给主控单元发送加载成功指示信号;主控单元在规定时间内收到加载成功指示信号则表示加载成功;否则对在规定时间内未发送加载成功指示信号的多核处理器进行重新加载,直至成功。
在实际设计中,多核处理器阵列的加载程序可能部分相同、部分不同,则可以综合上述两个实施例,对具有相同加载程序的多核处理器进行广播加载,而对于具有不同加载程序的多核处理器则采用单个加载的方式来实施。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (5)
1.一种多核处理器阵列程序的动态加载系统,其特征在于,包括:
存储单元,用于存储多核处理器阵列的所有待加载程序;
主控单元,用于在系统上电之后,或者在预设的规定时间内未收到加载成功指示信号时,从存储单元中获取所述多核处理器阵列中一个多核处理器的待加载程序,并将待加载程序封装成数据包,然后在所述数据包中加入该多核处理器的标识符,发送给交换单元;
交换单元,用于接收所述主控单元发送的数据包,并根据其中的标识符将所述待加载程序发送给所述多核处理器阵列中相应的多核处理器;
多核处理器阵列,用于接收所述交换单元发送的所述待加载程序,并在接收到全部待加载程序之后,加载该程序,并将加载成功指示信号发送给所述主控单元。
2.如权利要求1所述的多核处理器阵列程序的动态加载系统,其特征在于,所述存储单元为本地存储单元或远程存储单元。
3.如权利要求1所述的多核处理器阵列程序的动态加载系统,其特征在于,所述多核处理器阵列与交换单元之间、交换单元与主控单元之间,以及主控单元与存储单元之间均通过数据传输链路连接。
4.一种利用权利要求1~3任一项所述的系统对多核处理器阵列程序进行动态加载方法,其特征在于,包括以下步骤:
S1、主控单元在系统上电之后从存储单元中获取所述多核处理器阵列中一个多核处理器的待加载程序,并将待加载程序封装成数据包,然后在所述数据包中加入该多核处理器的标识符,发送给交换单元;
S2、交换单元接收所述主控单元发送的数据包,并根据其中的标识符将所述数据包发送给所述多核处理器阵列中相应的多核处理器;
S3、多核处理器阵列接收所述交换单元发送的所述待加载程序,并在接收到全部所述待加载程序之后,加载该程序,并将加载成功指示信号发送给所述主控单元;如果主控单元在预设的规定时间内未收到加载成功指示信号,则重新获取相应的程序。
5.如权利要求4所述的方法,其特征在于,所述多核处理器阵列中的所有多核处理器均具有相同的待加载程序,所述标识符为广播标识符,相应地,交换单元根据数据包中的标识符将所述数据包广播发送给所述多核处理器阵列中的每个多核处理器,所述多核处理器阵列并行加载该程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105775925A CN101996087B (zh) | 2010-12-02 | 2010-12-02 | 多核处理器阵列程序的动态加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105775925A CN101996087B (zh) | 2010-12-02 | 2010-12-02 | 多核处理器阵列程序的动态加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101996087A true CN101996087A (zh) | 2011-03-30 |
CN101996087B CN101996087B (zh) | 2013-12-04 |
Family
ID=43786273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105775925A Active CN101996087B (zh) | 2010-12-02 | 2010-12-02 | 多核处理器阵列程序的动态加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101996087B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360889A (zh) * | 2014-12-08 | 2015-02-18 | 中科创达软件股份有限公司 | 一种驱动程序加载方法及装置 |
CN104811347A (zh) * | 2014-01-26 | 2015-07-29 | 艾默生网络能源系统北美公司 | 一种软件升级方法、监控模块、整流模块及系统 |
CN106648758A (zh) * | 2016-11-30 | 2017-05-10 | 中国电子科技集团公司第五十八研究所 | 一种多核处理器boot启动系统及方法 |
CN108205443A (zh) * | 2016-12-16 | 2018-06-26 | 北京视联动力国际信息技术有限公司 | 一种多核设备引导程序和文件系统的烧写方法和装置 |
CN110377358A (zh) * | 2019-06-28 | 2019-10-25 | 深圳市汇川技术股份有限公司 | 协处理器固件动态加载方法、系统、设备及存储介质 |
WO2021035454A1 (zh) * | 2019-08-24 | 2021-03-04 | 北京希姆计算科技有限公司 | 数据传输电路及方法、核、芯片、电子设备及存储介质 |
CN113138711A (zh) * | 2020-01-20 | 2021-07-20 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
WO2021174446A1 (zh) * | 2020-03-04 | 2021-09-10 | 北京希姆计算科技有限公司 | 一种数据处理装置及数据处理方法 |
CN114064153A (zh) * | 2021-11-26 | 2022-02-18 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于多核处理器的嵌入式动态模块加载方法及装置 |
CN115904850A (zh) * | 2023-01-09 | 2023-04-04 | 深流微智能科技(深圳)有限公司 | 多核处理器的上电检测方法、可读存储介质及gpu |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160105657A (ko) * | 2015-02-27 | 2016-09-07 | 한국전자통신연구원 | 멀티코어 프로그래밍 장치 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641590A (zh) * | 2004-01-13 | 2005-07-20 | 国际商业机器公司 | 通过硬件资源利用报告优化性能的方法和数据处理系统 |
CN1834950A (zh) * | 2005-03-15 | 2006-09-20 | 英特尔公司 | 具有活动和非活动执行核心的多核处理器 |
US20080244551A1 (en) * | 2007-03-29 | 2008-10-02 | Microsoft Corporation | Parallel dll tree initialization |
CN101657795A (zh) * | 2007-04-11 | 2010-02-24 | 苹果公司 | 多处理器上的数据并行计算 |
-
2010
- 2010-12-02 CN CN2010105775925A patent/CN101996087B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641590A (zh) * | 2004-01-13 | 2005-07-20 | 国际商业机器公司 | 通过硬件资源利用报告优化性能的方法和数据处理系统 |
CN1834950A (zh) * | 2005-03-15 | 2006-09-20 | 英特尔公司 | 具有活动和非活动执行核心的多核处理器 |
US20080244551A1 (en) * | 2007-03-29 | 2008-10-02 | Microsoft Corporation | Parallel dll tree initialization |
CN101657795A (zh) * | 2007-04-11 | 2010-02-24 | 苹果公司 | 多处理器上的数据并行计算 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811347A (zh) * | 2014-01-26 | 2015-07-29 | 艾默生网络能源系统北美公司 | 一种软件升级方法、监控模块、整流模块及系统 |
CN104360889A (zh) * | 2014-12-08 | 2015-02-18 | 中科创达软件股份有限公司 | 一种驱动程序加载方法及装置 |
CN104360889B (zh) * | 2014-12-08 | 2017-11-10 | 中科创达软件股份有限公司 | 一种驱动程序加载方法及装置 |
CN106648758A (zh) * | 2016-11-30 | 2017-05-10 | 中国电子科技集团公司第五十八研究所 | 一种多核处理器boot启动系统及方法 |
CN108205443A (zh) * | 2016-12-16 | 2018-06-26 | 北京视联动力国际信息技术有限公司 | 一种多核设备引导程序和文件系统的烧写方法和装置 |
CN110377358A (zh) * | 2019-06-28 | 2019-10-25 | 深圳市汇川技术股份有限公司 | 协处理器固件动态加载方法、系统、设备及存储介质 |
WO2021035454A1 (zh) * | 2019-08-24 | 2021-03-04 | 北京希姆计算科技有限公司 | 数据传输电路及方法、核、芯片、电子设备及存储介质 |
CN113138711A (zh) * | 2020-01-20 | 2021-07-20 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
CN113138711B (zh) * | 2020-01-20 | 2023-11-17 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
WO2021174446A1 (zh) * | 2020-03-04 | 2021-09-10 | 北京希姆计算科技有限公司 | 一种数据处理装置及数据处理方法 |
CN114064153A (zh) * | 2021-11-26 | 2022-02-18 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于多核处理器的嵌入式动态模块加载方法及装置 |
CN114064153B (zh) * | 2021-11-26 | 2024-04-05 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于多核处理器的嵌入式动态模块加载方法及装置 |
CN115904850A (zh) * | 2023-01-09 | 2023-04-04 | 深流微智能科技(深圳)有限公司 | 多核处理器的上电检测方法、可读存储介质及gpu |
CN115904850B (zh) * | 2023-01-09 | 2023-05-12 | 深流微智能科技(深圳)有限公司 | 多核处理器的上电检测方法、可读存储介质及gpu |
Also Published As
Publication number | Publication date |
---|---|
CN101996087B (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101996087B (zh) | 多核处理器阵列程序的动态加载方法 | |
US8554239B2 (en) | Base band pool device, and method for implementing base band data switch thereof | |
KR20180077163A (ko) | 소프트 코어 프로세서에 기초한 fpga 멀티-미러 업그레이드 로딩 방법 및 장치 | |
CN101783812A (zh) | 一种基于网络的fpga配置系统及配置方法 | |
CN206865611U (zh) | 视频拼接处理器 | |
CN101853207A (zh) | 存储装置 | |
US9336022B2 (en) | Universal serial bus (USB) device and a USB system including the same | |
CN102821045B (zh) | 多播报文复制方法及装置 | |
CN104144179A (zh) | Onu设备的升级系统及方法 | |
CN102804101A (zh) | 用于在一个或更多个模块之间顺序地分配电力的系统和方法 | |
US20190187927A1 (en) | Buffer systems and methods of operating the same | |
CN101924865B (zh) | 机顶盒数据快速获取的方法 | |
CN107783634A (zh) | 一种服务器供电的控制方法及控制系统 | |
CN107484055A (zh) | 带充电复位的tws耳机 | |
CN104639511A (zh) | 一种节省内存的实现方法及装置 | |
CN110825667B (zh) | 一种低速io设备控制器的设计方法和结构 | |
CN110113530B (zh) | 一种空间红外相机指令链重配置方法及装置 | |
CN101512496A (zh) | 用于监控闪存操作的设备和方法 | |
CN101950277B (zh) | 用于微控制单元的数据传输方法与装置以及数据传输系统 | |
CN104102457B (zh) | 一种多路数据高速转存装置 | |
CN102301649B (zh) | 保护倒换装置和方法 | |
CN202395500U (zh) | 充电控制电路、耗材芯片及成像系统 | |
CN103906273A (zh) | 带有优盘功能的ZigBee无线协调器 | |
CN210274166U (zh) | 一种基于故障emcp芯片的移动终端缓存装置 | |
CN102637153B (zh) | 耦合设备、处理器装置、数据处理装置、传输数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100102 Beijing city Chaoyang District Wangjing Lize two Road No. 2 Wangjing science and Technology Park A block three layer Applicant after: BEIJING STARPOINT TECHNOLOGY CO., LTD. Address before: 100102 Beijing city Chaoyang District Wangjing Lize two Road No. 2 Wangjing science and Technology Park A block three layer Applicant before: Xingheliangdian Communication Software Co., Ltd., Beijing |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: XINGHELIANGDIAN COMMUNICATION SOFTWARE CO LTD, BEIJING TO: BEIJING STARPOINT COMM. LTD. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |