一种利用总线开关控制多处理器实现高速并行加载的方法

文档序号:6442773阅读:229来源:国知局
专利名称:一种利用总线开关控制多处理器实现高速并行加载的方法
技术领域
本发明涉及一种针对多个处理器高速并行加载程序的方法,具体涉及一种利用总线开关控制多处理器实现高速并行加载的方法。这里的处理器泛指所有上电后需要加载程序的器件,比如目前通用的大规模可编程逻辑器件FPGA就包括在内。
背景技术
近年来,随着嵌入式技术的发展,嵌入式系统以其低功耗、高性能、实时性好等特点在工业控制、医疗、航天、航空等领域得到越来越广泛的应用。但是,随着这些领域的技术要求越来越高,原来的单处理器系统已难以满足,于是应运而生了多处理器的分布式嵌入式系统。系统中不仅仅有处理器,还有大规模可编程逻辑器件(下文提及的处理器也包括大规模可编程逻辑器件)。其优点是把一个或多个任务进行拆分由多个不同处理器并行完成,对每一个处理器的要求都不是很高,各处理器之间协同工作,提升了处理能力,丰富了接口,大大提高了系统工作效率。更为重要的是,相对于以前采用单一处理器来讲,降低了系统工作频率,减少了发热量和功耗,还有利于电磁兼容性,提高了可靠性。在设计安排方面,由于把多个任务分解给不同的处理器,该任务就可以由不同的人来并行完成,只需相互之间制定好通信接口即可,这样就降低了应用程序的开发难度,缩短了开发周期,降低了开发成本。目前逐渐新兴出单芯片的多核处理器,有替代多处理器的趋势,有独到之处,不过还处于试用阶段,技术没有得到广泛地验证。所以其电路设计方法主要有两种一是采用多口 RAM或大规模可编程器件隔离处理器之间的总线,完成处理器间的互联防止冲突,程序加载时以一个处理器为主器件其它为从器件,主器件控制各从器件的加载,逐一进行;二是通过控制不同处理器的上电顺序来实现加载。目前,这两种方法的共同缺点是程序必须串行加载,即只有当一个处理器的程序加载完毕之后另一个才能开始加载。当一个系统中有多个处理器时,加载时间会更长,很不适应于实时性要求高的场合。

发明内容
本发明的目的在于提供了一种利用总线开关隔离各处理器实现程序并行加载运行的方法。其通过隔离处理器数据总线实现处理器并行分别同时加载,改变了以往只能串行加载的方法。假设有N个处理器,每个处理器加载时间分别是Tl、T2、…、Tn,其中第m 个处理器加载时间Tm为最长。那么,串行加载的时间为所有处理器加载时间相加之和,即 Tsum = Τ1+Τ2+···+Τηι+…+Tn ;并行加载的时间Tsum等于第m个处理器加载时间Tm,即Tsum =Tm。很明显,并行加载所需时间远远小于串行加载时间,具有很好的实时性。该方法关键是把处理器上电后IO 口自身的固有特性和对总线开关的控制结合起来,确保每个处理器加载时都不会影响和其数据总线关联的处理器加载所需要的状态。本发明的技术解决方案是
一种利用总线开关控制多处理器实现高速并行加载的方法,其特殊之处在于,该方法包括
I利用对总线开关输出使能端OE的控制来隔离所有互联的处理器数据总线;
2选用上电复位及程序加载期间其IO管脚输出为高电平的处理器,把该处理器的某个IO管脚接到该总线开关的使能端OE上,该IO管脚定义为0Ε_ΕΝ ;若所用的处理器上电复位及程序加载期间其IO管脚输出为低电平,则应采用反相器取反后再接到OE上;
3编写处理器程序代码,在每个处理器程序加载结束后、等待时间Tw后,
使IO管脚0Ε_ΕΝ输出低电平,并一直保持;
或把每个总线开关的控制端采用与门控制,其输入为两个相连的处理器IO管脚输出进行控制;把与门控制采用可编程器件CPLD来实现。上述利用总线开关控制多处理器实现高速并行加载的方法,其特殊之处在于
若有多个处理器互联时,则选择多个不同的IO管脚101、102……分别接到对应的总线开关的控制使能端OE上;
按上面3所示编写不同的延时控制指令,控制使能端0E,即可。上述每个等待时间Tw相同或不同,其取决于其代码大小及加载速度;其等待时间 Tw为所有处理器的最长加载时间之差减去该处理器自身加载的时间。上述利用总线开关控制多处理器实现高速并行加载的方法,其特殊之处在于若为加载更可靠,应在等待时间Tw再加上适当余量At,At根据系统自身特点而定。上述编写处理器程序代码的程序包括汇编以及C语言,若采用FPGA则还应包括 VHDL 及 Verilog。本发明的优点在于
I.程序加载速度快,实现了程序的并行加载,特别适合于实时性要求高、
上电后需要迅速做出响应的场合。2.方法简单,易于排故。由于可分别独立加载,相互之间的加载不受外部
因素影响。一个处理器加载失败时通过测量OE端电平就容易识别确认,使得电路设计和调试更简单更容易。3.高灵活性。特别是在有多片处理器和FPGA互联时,不需担心加载时序上的配合,使得软件编写方便。4.很高的可靠性。利用处理器上电后IO 口自身的固有特性控制总线开关的输出,不依赖任何外部电路。


图I为总线开关输入输出逻辑关系图2为上电后四片处理器采用软件延时方法实现加载的示意图3为上电后四片处理器采用硬件控制方法实现加载的示意图。
具体实施例方式本发明是把处理器的某个IO管脚连接到总线开关控制端0E,用来控制总线开关的输出。总线开关控制端只有在低电平时才能使数据双向流动,在高电平时被禁止输出处于高阻状态,断开相连的处理器物理和电气连接关系。
参见图I中所示,处理器在上电加载器件其IO管脚输出固定为高电平,如IO I 和IO 2,这是其固有特性,不受其它因素影响。只有当处理器加载完毕后,通过其程序控制才能输出低电平。只有此时,才能使总线开关输入输出实现数据双向流动,然后才能正常工作。因此,无论哪一个处理器先加载完毕,只要总线开关没有使能,那么已经加载完毕的处理器就无法影响总线状态从而影响另一个未加载完的处理器加载。详见图2和图3所示。本发明的具体过程是
I电路设计时应选用总线开关来隔离处理器,选用的总线开关数量为系统总的处理器的数量减一。2任选一处理器把其某个IO管脚(命名为C0NTRL_0E)接到该总线开关的使能端OE上。3编写处理器代码,在加载结束后等待时间Tw后使IO管脚C0NTRL_0E输出低电平,并一直保持。4若有多片处理器互联时,方法类似,则可选择不同的IO管脚分别接到对应的总线开关的控制使能端,本发明以四片处理器为例,参见图2。5按上面3所示编写不同的延时控制指令,控制使能端0E2、0E3……,即可。6也可改为用硬件控制加载。若要采用硬件方法控制加载,则可采用图3
方式进行。把每个总线开关的控制端采用与门控制,其输入为两个相连的处理器IO管脚输出进行控制。这样,无需采用软件延时,把与门采用可编程器件CPLD来实现,整个电路实现更为灵活。
权利要求
1.一种利用总线开关控制多处理器实现高速并行加载的方法,其特征在于,该方法包括I利用对总线开关输出使能端OE的控制来隔离所有互联的处理器数据总线;2选用上电复位及程序加载期间其IO管脚输出为高电平的处理器,把该处理器的某个IO管脚接到该总线开关的使能端OE上,该IO管脚定义为0Ε_ΕΝ ;若所用的处理器上电复位及程序加载期间其IO管脚输出为低电平,则应采用反相器取反后再接到OE上;3编写处理器程序代码,在每个处理器程序加载结束后延时等待时间Tw,使IO管脚0Ε_ΕΝ输出低电平,并一直保持;或把每个总线开关的控制端采用与门控制,其输入为两个相连的处理器IO管脚输出进行控制;把与门控制采用可编程器件CPLD来实现。
2.根据权利要求I所述利用总线开关控制多处理器实现高速并行加载的方法,其特征在于若有多个处理器互联时,则选择多个不同的IO管脚101、102……分别接到对应的总线开关的控制使能端OE上;按上面3所示编写不同的延时控制指令,控制使能端0E,即可。
3.根据权利要求I或2任一所述利用总线开关控制多处理器实现高速并行加载的方法,其特征在于所述每个等待时间Tw相同或不同,其取决于其代码大小及加载速度;其等待时间Tw为所有处理器的最长加载时间之差减去该处理器自身加载的时间。
4.根据权利要求3所述利用总线开关控制多处理器实现高速并行加载的方法,其特征在于若为加载更可靠,应在等待时间Tw再加上适当余量At,At根据系统自身特点而定。
5.根据权利要求4所述利用总线开关控制多处理器实现高速并行加载的方法,其特征在于所述编写处理器程序代码的程序包括汇编以及C语言,若采用FPGA则还应包括VHDL 及 Verilog0
全文摘要
一种利用总线开关控制多处理器实现高速并行加载的方法,包括利用对总线开关输出使能端OE的控制来隔离所有互联的处理器数据总线;选用上电复位及程序加载期间其IO管脚输出为高电平的处理器,把该处理器的某个IO管脚接到该总线开关的使能端OE上,该IO管脚定义为OE_EN;若所用的处理器上电复位及程序加载期间其IO管脚输出为低电平,则应采用反相器取反后再接到OE上;编写处理器程序代码,在每个处理器程序加载开始后延时等待时间Tw,使IO管脚OE_EN输出低电平,并一直保持。本发明使程序加载速度快,实现了多个程序的并行加载,特别适合于实时性要求高、上电后需要迅速做出响应的场合,且简单、易于排故、很高的可靠性。
文档编号G06F13/20GK102591819SQ20111043648
公开日2012年7月18日 申请日期2011年12月23日 优先权日2011年12月23日
发明者何健, 刘升 申请人:西安奇维科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1