实时处理器系统及控制方法

文档序号:6428296阅读:216来源:国知局

专利名称::实时处理器系统及控制方法
技术领域
:本发明涉及在多个总线主控器协调并利用总线的环境中的实时处理系统以及控制方法。
背景技术
:以往,作为成为总线控制器的装置,在只有一个处理器的环境中,在进行软件的实时保证的情况下,通过处理单元分配优先级,和适当地安排启动处理的顺序来进行时间保证。例如,在文献1(GiorgioC.Buttazzo著,“HARDREAL-TIMECOMPUTINGSYSTEMPredictableSchedulingAlgorithmsandApplications”FourthPriming2002,KluwerAcademicPublisherspp.109-146,以及pp.149-178)中,在109-146页中公开了在固定各处理的优先级的情况下,从处理的执行时间短的处理开始依次分配高优先级的方式,在将从各处理的开始请求至终止的最大延迟时间设为最小这点上最合适。同样,在文献1在149-178页中公开了在可以动态地变更各处理的优先级的情况下,在每次新的处理请求发生时再次决定优先级,直至各处理的终止,从与允许的最后期限时间接近的处理开始依次赋予高优先级的方法,在将从各处理的开始请求至终止的最大延迟时间设为最小这点上最合适。进而,文献2(特开2001-125880号公报)公开了作为只能应用于多处理器结构中的中断处理中的高速化方法,将中断在哪一个处理器中发生的信息传达给总线判优器,将发生中断的处理器的总线协调优先级临时提高的方法。图14是进行现有的中断处理的系统的方框图。该系统具备中断处理电路1401、处理器1402和1403、总线判优器1404、存储器1407、以及SCI(串行通信接口)1408,总线判优器1404具有固定优先级设定部1405和总线分配决定部1406。对来自外部的中断请求,中断条件成立时,中断处理电路1401根据中断请求的原因,使处理器1402或处理器1403的任何一个中发生终端。而且,同时,中断处理电路1401对总线判优器1404请求使发生中断的处理器的I/O存取(对输入输出装置的存储)优先级成为固定优先级。总线判优器1404将固定优先级设定部1405指定的处理器设定为固定优先。于是,总线分配决定部1406对发生中断的处理器优先分配I/O存取权。这样,对于中断请求的处理提高优先级并执行。在将文献1公开的单处理器的软件调度理论应用于多个处理器或装置共用的I/O装置存在的硬件环境的情况下,在对I/O装置(输入输出装置)等的硬件资源的存取调度中的优先级的决定方法中也有必要应用该理论。但是,在程序自身被存储在作为共有I/O装置的一个的存储器中的情况等,程序的执行需要I/O存取的情况下,由于中断处理用的程序执行中需要I/O存取,所以在用于变更I/O存取优先级的程序执行中产生显著的延迟。即使组合了文献2公开的技术,在图14所示的系统结构中,传达给总线判优器1404的信息也只有在哪个处理器发生中断的信息,而且信息的传达仅在发生中断时实施。因此,所谓提高I/O存取优先级的I/O存取优先级的变更只对一个总线主控器进行。但是,在先发生的中断处理中发生其它的中断的情况(多路中断的情况)下,后发生的中断处理在先发生的中断处理完成之前的期间,以低I/O存取优先级的状态动作,处理大幅度延迟。而且,在图14所示的系统结构中,传达给总线判优器1404的信息,有必要根据中断在哪个处理器中发生的事件进行通知,所以有必要在系统内的一个位置管理发生中断状况。从而,不能对每个处理器配置分别的中断控制器。进而,在图14所示的系统结构中,只执行发生中断时的临时提高I/O存取优先级,所以在组合专利文献1公开的技术的情况下,有必要在软件的中断处理部分集约实时处理。从而,在对应于中断处理以外的处理内容的总线协调优先级的适合的控制中,另外需要通过处理器之间的通信进行协调动作的结构。
发明内容因此,本发明的目的在于提供一种实时处理器系统以及控制方法在多个总线主控器协调并利用总线的环境中,每个总线主控器中有分别的中断处理部件,即使对于多路中断,或对于中断处理以外的处理,也可以适当地控制总线协调优先级。第一发明的实时处理器系统具有总线判优器、作为运算处理单元的处理器和中断处理器,并具备至少两个运算处理单元,连接到总线判优器;优先级寄存器,存储用于处理器执行的通常处理,或者中断处理部执行的中断处理的I/O存取优先级值;以及至少一个I/O装置,连接到总线判优器。总线判优器具有优先级比较部,比较优先级寄存器中存储的优先级值;以及总线分配决定部,基于优先级比较部的比较结果决定总线的使用权。按照该结构,在每个处理器中设置优先级寄存器,可以比较每个总线主控器的优先级并决定存取权,所以即使在某一处理器中的中断处理中其它的处理器中发生中断的情况下,也可以将后发生中断的处理器的优先级的变化马上反映到总线协调的存取权判定中。而且,可以在每个处理器中分别使中断处理部动作,多路中断处理变得简单。进而,通过仅变更对应于处理器的优先级寄存器的内容,可以对与其它的总线主控器的总线协调的存取权判定带来变化,所以处理器可以不和其它的总线主控器进行同步处理,而调整每个总线主控器的I/O存取频度的比率。第二发明的实时处理器系统具有总线判优器、作为运算处理单元的处理器和中断处理器,并具备至少一个运算处理单元,连接到总线判优器;优先级寄存器,存储用于处理器执行的通常处理,或者中断处理部执行的中断处理的I/O存取优先级值;至少一个总线存取发生单元,连接到总线判优器,主动地发生总线存取;优先级存储器,存储总线存取发生单元的总线存取优先级值;以及至少一个I/O装置,连接到总线判优器。总线判优器具有优先级比较部,比较多个优先级寄存器中存储的优先级值;以及总线分配决定部,基于优先级比较部的比较结果决定总线的使用权。按照该结构,例如可以提供一种实时处理器系统,该系统共用存储器装置或SCI(串行通信接口)等的I/O装置;以及连接到总线判优器,实施对I/O装置的直接存取的DMA控制器等的总线存取发生单元。即,即使共用I/O装置和总线存取发生单元,也可以提供确保通过软件的实时处理和不通过软件的非实时处理的协调,并可以保证时间的实时处理器系统。第三发明的实时处理器系统具有总线判优器、作为运算处理单元的处理器和中断处理器,并具备至少一个运算处理单元,连接到总线判优器;优先级寄存器,存储用于处理器执行的通常处理,或者中断处理部执行的中断处理的I/O存取优先级值;比较存储部件,将由于中断处理部进行的中断处理的I/O存优先级值和已经存储在优先级寄存器中的I/O存取优先级值进行比较,仅在优先级高的情况下存储到优先级寄存器;至少一个总线存取发生单元,连接到总线判优器,主动地发生总线存取;优先级存储器,存储总线存取发生单元的总线存取优先级值;以及至少一个I/O装置,连接到总线判优器。总线判优器具有优先级比较部,比较多个优先级寄存器中存储的优先级值;以及总线分配决定部,基于优先级比较部的比较结果决定总线的使用权。按照该结构,可以在中断处理部在优先级寄存器中设定优先级时,和已经存储的优先级进行比较,并仅在优先级提高的情况下存储新的优先级。从而,即使对中断以外的处理设定比中断处理的I/O存取优先级高的优先级值,也没有因为中断而I/O存取优先级下降的情况,所以可以将处理器处理的通常处理在比中断处理高的优先级下执行。第四发明的实时处理器系统具有总线判优器、作为运算处理单元的处理器和中断处理器,并具备至少一个运算处理单元,连接到总线判优器;优先级寄存器,存储用于处理器执行的通常处理,或者中断处理部执行的中断处理的I/O存取优先级值;优先级变更部件,将优先级寄存器中存储的I/O存取优先级值随时间同时变更为优先级高的值;至少一个总线存取发生单元,连接到总线判优器,主动地发生总线存取;优先级存储器,存储总线存取发生单元的总线存取优先级值;以及至少一个I/O装置,连接到总线判优器。总线判优器具有优先级比较部,比较多个优先级寄存器中存储的优先级值;以及总线分配决定部,基于优先级比较部的比较结果决定总线的使用权。按照该结构,可以具备在优先级寄存器中随时间经过同时提高优先级的部件,所以在有可能密集发生高优先级的处理的环境中,可以避免本来优先级低的处理由于连续发生的高优先级处理而一直不能取得I/O存取权的状态。第五发明的实时处理器系统中,运算处理器具有将根据中断原因而将不同的I/O存取优先级值存储到优先级寄存器中的存储部件。按照该结构,可以设置附带在中断处理部中,进行对应于中断原因的优先级设定的部件,所以在对每个中断原因而希望改变I/O存取优先级时,可以不需要通过软件的原因判定,并更高速地执行处理。在第六发明的实时处理器系统中,存储部件具有优先级设定寄存器组,该寄存器组预先存储对应于处理器的程序控制的I/O存取优先级值;以及根据中断处理的中断原因而不同的I/O存取优先级值。对于新的中断请求,优先级设定寄存器组,仅在对应于所述中断的原因的优先级值比已经执行中的中断处理的优先级值优先级高的情况下,将对应于所述中断的原因的优先级值存储于优先级寄存器中。按照该结构,对每个中断原因改变I/O存取优先级时,通过寄存器处理可以高速执行中断处理。第七发明的控制方法是在从第一至第六的发明的实时处理器系统中动作的控制方法,包含以下步骤检索接着执行的任务的任务检索步骤;将对应于在任务检索步骤中检测出的任务的I/O存取优先级存储到对应于执行中的处理器的优先级寄存器中的步骤;以及对在任务检索步骤中检测出的任务切换执行的步骤。按照该方式,可以在操作系统的执行任务决定和任务切换之间进行优先级寄存器的设定,所以应用软件仅设定启动时的优先级就好,可以将软件控制集约在操作系统中。其结果,可以进行在操作系统上动作的移植性更高的应用软件的程序设计。第八发明的控制方法是在第四发明的实时处理器系统中动作的控制方法,包含以下步骤检索接着执行的任务的任务检索步骤;求出对应于在任务检索步骤中检索出的任务的最后期限时刻和当前时刻的差时的剩余时间计算步骤;将对应于在剩余时间计算步骤中求出的剩余时间的I/O存取优先级存储到对应于执行中的处理器的优先级寄存器中的步骤;以及对在任务检索步骤中检测出的任务切换执行的步骤。按照该方式,在操作系统的执行任务决定和任务切换之间,可以进行处理完毕之前允许的剩余时间的计算和优先级寄存器的设定,所以应用软件仅在启动时进行处理完毕之前的最后期限时刻的设定就好,可以将软件控制集约在操作系统中。其结果,可以进行在实时OS上动作的移植性更高的应用软件的程序设计。图1是本发明的实施方式1的实时处理器系统的方框图。图2是本发明的实施方式2的实时处理器系统的方框图。图3是本发明的实施方式3的实时处理器系统的方框图。图4是本发明的实施方式4的实时处理器系统的方框图。图5是本发明的实施方式5的控制方法的处理的流程图。图6是本发明的实施方式6的控制方法的处理的流程图。图7是本发明的实施方式1的实时处理器系统的时序图。图8是在本发明的实施方式1的实时处理器系统中进行多路中断处理的时序图。图9是本发明的实施方式2的实时处理器系统的时序图。图10(a)是本发明的实施方式3的实时处理器系统执行优先级继承中断处理时的时序图。图10(b)是本发明的实施方式3的实时处理器系统执行优先级非继承中断处理时的时序图。图11是本发明4的实时处理器系统的时序图。图12是本发明5的控制方法的处理时序图。图13是本发明的实施方式6的控制方法的处理的时序图。图14是现有的执行中断处理的系统的方框图。具体实施例方式接着,参照本发明的实施方式。(实施方式1)图1是本发明的实施方式1的实时处理器系统的方框图。本方式的实时处理器系统具备总线判优器100、第一运算处理单元110、第二运算处理单元120、DMA控制器130、第一优先级寄存器141、第二优先级寄存器142、第三优先级寄存器143、存储器170、以及SCI(串行通信接口)180。第一运算处理单元110具有中断处理部111和处理器112,第二运算处理单元120具有中断处理部121和处理器122,总线判优器100具有优先级比较部150和总线分配决定部160。第一优先级寄存器141存储第一运算处理单元110的I/O存取优先级值,第二优先级寄存器142存储第二运算处理单元120的I/O存取优先级值。第三优先级寄存器143存储作为DMA控制130的DMA处理优先级值的固定值。DMA控制130相当于总线存取发生单元,存储器170和SCI180相当于I/O装置。接着,参照图1说明本方式的实时处理器系统的动作。在本方式的实时处理器系统中定义为优先级值越小,I/O存取优先级越高。在本方式的实时处理器系统中,处理器112执行的通常的处理的优先级设为“5”,处理器112执行的中断处理的优先级设为“2”,处理器122执行的通常的处理的优先级设为“4”,处理器122执行的中断处理的优先级设为“1”,在第三优先级寄存器143中固定设定的DMA控制器130的处理的优先级设为“3”,值越小优先级越高。本方式的实时处理器系统开始工作后,作为处理器112的I/O存取所必需的优先级值的“5”,通过在处理器112上动作的程序被写入第一优先级寄存器141中,作为处理器122的I/O存取所必需的优先级值的“4”,通过在处理器122上动作的程序被写入第一优先级寄存器142中。作为优先级值的“3”被固定设定在第三优先级寄存器143中。在总线判优器100中,从成为总线主控器的装置(在图1所示的本方式中,为处理器112、处理器122、DMA控制器130)接受I/O存取的请求时,优先级比较部150比较第一优先级寄存器141、第二优先级寄存器142以及第三优先级寄存器143中存储的优先级值,并决定优先级最高的请求。总线分配决定部160根据其结果,对优先级高的请求优先赋予I/O存取权。从而,在动作开始时,具有优先级最高的“3”的值的DMA控制130成为最优先进行I/O存取的状态。接着,在运行中,在中断处理部111中对于中断输入113中断条件成立时,中断处理部111使处理器112的程序执行分支到中断处理目的地,在第一优先级寄存器141中写入作为中断处理用的I/O存取优先级值的“2”。在该阶段中,处理器122成为最优先进行I/O存取的状态,可以高速执行中断处理。接着,在中断处理部121中,对于中断输入123中断条件成立时,中断处理部121使处理器122的程序执行分支到中断处理目的地,在第一优先级寄存器142中写入作为中断处理用的I/O存取优先级值的“1”。在该阶段中,处理器112还未完成中断处理。但是,由于处理器122成为最优先进行I/O存取的状态,所以可以无延迟执行比处理器112的中断处理优先级高的处理器122的中断处理。处理器122的中断处理完成后,进行处理器122的中断处理的程序将作为通常的程序的优先级值的“4”写入第二优先级寄存器142中,从中断恢复。在该阶段,处理器112再次成为最优先进行I/O存取的状态,高速执行剩余的中断处理。处理器112的中断处理完成后,进行处理器112的中断处理的程序将作为通常的程序的优先级值的“5”写入第一优先级寄存器141中,从中断恢复。在该阶段,DMA控制130再次返回最优先进行I/O存取的状态。图7是本发明的实施方式1的实时处理器系统的时序图。以下,参照图1和图7,伴随所述的中断处理,表示总线判优器100进行的I/O存取的调度的一例。图7的横轴是时间,优先级值701、702、703分别是第一优先级寄存器141、第二优先级寄存器142、第三优先级寄存器143中存储的优先级值。施加斜线的区域表示在各时间中,进行优先级最高的处理作为中断处理或DMA处理。在时间t0执行DMA处理710,在时间t1执行第一运算处理单元110的中断处理711,在时间t2和t3执行第二运算处理单元120的中断处理712,在时间t4执行第一运算处理单元110的剩余的中断处理713,在时间t5~t7执行DMA处理714。而且,即使不发生中断时,例如处理器122处理的数据量减少时,处理器122也可以通过对第二优先级寄存器142写入优先级值“6”,对处理器112调度更多的I/O存取权。数据量再次增加时,处理器122通过对第二优先级寄存器142写入优先级值“4”而使I/O存取权的调度返回和启动时相同的状态。由此,总线判优器100对成为总线主控器的装置进行I/O存取的调度。另外,在本方式的实时存储器系统中,多路中断处理通过处理器112或处理器122上的程序执行。在图8中,在第一运算处理单元110中,表示发生多路中断时的一例。图8是在本发明的实施方式1的实时处理器系统中进行多路中断处理的时序图。参照图1和图8进行说明。在时间t0,第一优先级寄存器141的优先级值801为“4”,执行通常处理810。在时间t1中,中断处理部111接受用于执行中断处理B的中断输入113后,在第一优先级寄存器141写入优先级值“1”。处理器112判定对于中断处理B的中断输入113的原因,并在第一优先级寄存器141中写入优先级值“3”。总线判优器100的协调的结果,在时间t2执行中断处理B811。在中断处理B811的执行中,在时间t3中,中断处理部111接受执行新的中断处理A的中断输入113,在第一优先级寄存器141中写入优先级值“1”。处理器112判定对于中断处理A的中断输入113的原因,在第一优先级寄存器141中写入优先级值“2”。总线判优器100的协调的结果,在时间t4中执行中断处理A812。中断处理A812完成后,处理器112将中断的中断处理A的优先级值“3”写入第一优先级寄存器141。总线判优器100的协调结果,在时间t5中,再开始继续执行中断处理A813。中断处理A813完成后,处理器112将中断的隔断处理A的优先级值“4”写入第一优先级寄存器141。总线判优器100的协调结果,在时间t6~t8中,再开始继续执行中断处理A814。所述的本方式的说明中的优先级值是一例,也可以设定其它的任意的值。(实施方式2)图2是本发明的实施方式2的实时处理器系统的方框图。通过对与图1相同的构成元件赋予相同的符号来省略说明。图2所示的本方式的实时处理器系统具备总线判优器100、第一运算处理单元210、第二运算处理单元220、DMA控制器130、第一优先级寄存器141、第二优先级寄存器142、第三优先级寄存器143、存储器170、以及SCI180。第一运算处理单元210具有中断处理部111和处理器112和优先级设定寄存器组215。第二运算处理单元220具有中断处理部121和处理器122和优先级设定寄存器组225。DMA控制130相当于总线存取产生单元,存储器170和SCI180相当于I/O装置。在本方式的实时处理器系统中定义为优先级值越小,I/O存取优先级越高。优先级设定寄存器组215和优先级设定寄存器组225分别具有多个寄存器,可以对应于中断原因,将中断处理时的I/O存取优先级值预先设定多个。在处理器112上执行的程序可以在优先级设定寄存器组215内的寄存器中写入I/O存取优先级值。在处理器122上执行的程序可以在优先级设定寄存器组225内的寄存器中写入I/O存取优先级值。在中断处理部111中,对中断输入113中断条件成立后,中断处理部111从优先级设定寄存器组215读出对应于中断输入113的原因的I/O存取优先级值,写入第一优先级寄存器141。即使处理器112已经在中断处理中,在对应于新发生的中断原因的I/O存取优先级值比对应于已经处理中的中断原因的I/O存取优先级值优先级高的情况下,中断处理部111从优先级设定寄存器组215读出对应于新的中断原因的I/O存取优先值,并写入第一优先级寄存器141,在处理器112中发生多路中断。第二运算处理单元220中的中断处理,以及多路中断处理与第一运算处理单元210中的情况相同。图9是本发明的实施方式2的实时处理器系统的时序图。该图表示伴随所述的多路总断处理,总线判优器100进行的I/O存取的调度的一例。这种情况表示只着眼于第一运算处理单元210的例子。图9的横轴是时间,优先级值901表示第一优先级寄存器141中存储的各时间的优先级值。假定中断处理A具有优先级值“2”,中断处理B具有优先级值“3”,通常处理具有优先级值“4”。这些优先值被预先存储在图2所示的优先级设定寄存器组215对应的寄存器中。以下,参照图2和图9,说明本方式的实时处理器系统的动作的概要。在时间t0进行通常处理910。在时间t1中,对中断处理部111进行中断处理B的中断请求,中断处理部111在优先级设定寄存器组215的寄存器中,从所述中断的原因对应的寄存器读出优先级值“3”,并写入第一优先级寄存器141中。同时,执行中断处理B911。在时间t2中,对中断处理部111进行新的中断处理A的中断请求。中断处理部111从优先级设定寄存器组215读出中断处理A的优先级值“2”,并和执行中的中断处理B的优先级值“3”进行比较,确认中断处理A的优先级高,将中断处理A的优先级值“2”写入第一优先级寄存器141。于是,中断处理B911被中断,新的中断处理A912被执行。中断处理A912完成后,在时间t3中,处理器112比较作为中断中的任务的中断处理B和通常处理的优先级值,将优先级高的中断处理B的优先级值“3”写入第一优先级寄存器141。然后,在时间t3~t4执行中断的中断处理B913。中断处理B913完成后,在时间t5中,处理器112将作为中断中的任务的通常处理的优先级值“4”写入第一优先级寄存器141中。然后,在时间t5~t7执行中断的通常处理914。这样,本方式的实时处理器系统可以在硬件主体高效率地执行多路中断处理。与本发明的实施方式1的实时处理器系统相比,在本方式的实时处理器系统中,对于多路中断处理的处理器的处理量减轻,可以高效率执行多路中断处理。(实施方式3)图3是本发明的实施方式3的实时处理器系统的方框图。通过对于与图1相同的构成元件赋予相同的符号来省略说明。图3所示的本方式的实时处理器系统具备总线判优器100、第一运算处理单元110、第二运算处理单元120、DMA控制器130、第一优先级寄存器341、第一比较器345、第二优先级寄存器342、第二比较器346、第三优先级寄存器143、存储器170以及SCI180。总线判优器100具有优先级比较部150以及总线分配决定部160。在第一比较器345中,输入第一优先级寄存器341中当前存储的优先级值和来自伴随新的中断的中断处理部111的优先级值,将它们进行比较,选择优先级高的优先级值,存储在第一优先级寄存器341中。即,通过组合第一优先级寄存器341和第一比较器345,仅在新的中断处理的优先级比第一优先级寄存器341中存储的优先级高的情况下变更第一优先级寄存器341的优先级值。即使在第二优先级寄存器342和第二比较器346的组合中,也是同样。以下,以与实施方式1以及实施方式2的不同点为中心,概略地说明本方式的实时处理器系统的动作。在本方式的实时处理器系统中定义为优先级值越小,I/O存取优先级越高。在第一运算处理单元110的中断处理部111接受中断输入113,将对应于中断输入113的优先级值写入第一优先级寄存器341的情况下,在第一比较器345中,比较已经存储到第一优先级寄存器341中的I/O存取优先级值和对应于中断输入113的I/O存取优先级,将优先级较高的优先级值写入第一优先级寄存器341中。同样的处理也在第二运算处理单元120和第二优先级寄存器342和第二比较器346中进行。第三优先级寄存器143是固定设定用于DMA控制器130的优先级值。在执行具有比通常处理的I/O存取优先级低的I/O存取优先级的中断处理时,本方式的实时处理器系统发挥显著的效果。图10(a)是本发明的实施方式3的实时处理器系统执行优先级继承中断处理时的时序图。以下,参照图3和图10(a),只着眼于第一运算处理单元110来说明本方式的实时处理器系统的动作。第一运算处理单元110在时间t0以优先值“2”执行通常处理1010。中断处理部111接受优先级值“4”的中断处理后,在第一比较器345中比较该优先值和执行中的处理的优先值“2”,将优先级较高的优先级值“2”写入第一优先级寄存器341(在该情况下,第一优先级寄存器341的内容偶尔不变化),将处理器112的处理切换为中断处理。总线判优器100的协调结果,在时间t1中,中断处理1011作为优先级值“2”被处理。中断处理1011完成后,处理器112将中断的通常处理的优先级值“2”写入第一优先级寄存器341中(在该情况下,第一优先级寄存器341的内容偶尔也不变化)。总线判优器100的协调结果,在时间t2~t7中,通常处理1012作为优先级值“2”被处理。其结果,中断处理,尽管最初分配给该处理的优先级低,继承已经执行中的处理的优先级,并以较高的优先级处理。这样的处理称作优先级继承中断处理。图10(b)是本发明的实施方式3的实时处理器系统进行优先级非继承中断处理时的时序图。在实时处理器系统中,这抑制第一比较器345的功能,中断处理经常被最优先处理,用于对比所述的图10(a)。在图10(b)中,对于中断处理,由于不进行优先级的继承,所以在时间t1中,存储于第一优先级寄存器341中的优先级值被变更为具有中断处理的优先级值“4”。从而,总线判优器100的协调结果,在时间t1~t3中,执行中断处理1021。为了在优先级低的状态下执行该中断处理1021,所以需要更长的处理时间。中断处理1021完成后,处理器112将中断的通常处理的优先级值“2”写入第一优先级寄存器341中。总线判优器100的协调结果,在时间t4~t7中,通常处理1012作为优先级值“2”被处理。比较图10(a)和(b),很明显,在执行具有比通常处理的I/O存取优先级低的I/O存取优先级的中断处理时,本方式的实时处理器系统发挥显著的效果。同时,意味着可以将通常处理的I/O存取优先级设定为比中断处理的I/O存取优先级高的情况,在软件设计中,自由度增大。另外,本方式的实时处理器系统也可以和本发明的实施方式2组合应用,该情况下,可以同时得到各自的方式的实时处理器系统具有的效果。(实施方式4)图4是本发明的实施方式4的实时处理器系统的方框图。通过对与图1相同的构成元件赋予相同的符号来省略说明。如图4所示,本方式的实时处理器系统具有总线判优器100、第一运算处理单元110、第二运算处理单元120、DMA控制器130、第一优先级寄存器441、第一减法器447、第二优先级寄存器442、第二减法器448、第三优先级寄存器143、存储器170、以及SCI180,总线判优器100具有优先级比较部150和总线分配决定部160。在本方式的实时处理器系统中定义为优先级值越小,I/O存取优先级越高。使第一优先级寄存器441和第二减法器448分别将第一优先级寄存器441和第二优先级寄存器442中存储的优先级值以一定的时间间隔减少,直到达到固定值。即,第一减法器447和第二减法器448的作用为分别使第一减法器447和第二优先级寄存器442的优先级随时间上升。第三优先级寄存器143是将用于DMA控制器130的优先级值固定设定的寄存器。以下,使用图11说明本方式的实时处理器系统的动作的一例。图11是本发明4的实时处理器系统的时序图。在该例中,第一减法器447和第二减法器448被设定为在比存储的优先级值为减法阈值的“127”(该值可以任意设定)还小时,将第一优先级寄存器441和第二优先级寄存器442中存储的优先级值每隔固定时间减小“1”,在存储的优先级值比“127”还大时,什么也不作。以下,参照图4和图11说明动作的概略。在时间t0,第一优先级寄存器441的优先级值1101为“255”,第二优先级寄存器442的优先级值1102为“255”,而且,第三优先级寄存器143的优先级值1103被固定地设定为“20”。从而,总线判优器100的协调结果,在时间t0,执行DMA处理1130。在时间t1,在第一运算处理单元110中发生中断请求,中断处理部111作为第一优先级寄存器441的优先级值1101写入“9”。此时,中断处理部111决定优先级值,以使该中断处理在时间t9之前完成。即,从该中断处理的最后期限为时间t9推算,决定应写入第一优先级寄存器441的优先级值。第二优先级寄存器442的优先值1102的“255”比“127”大,所以不进行减法。第三优先级寄存器143的优先级值1103固定地为“20”。从而,总线判优器100的协调的结果,在时间t1,对于优先级值最小的第一运算处理单元110的中断请求赋予I/O存取权。处理器112中断通常处理1110,执行中断处理1111。第一优先级寄存器441的优先级值1101在时间t2以后,该任务完成之前,每隔固定时间减少“1”。在时间t3,在第一运算处理单元120中发生中断请求,中断处理部121作为优先级值1101,向第一优先级寄存器442写入“4”。这被设定为该中断处理在时间t6之前完成。比较在时间t3的各优先级寄存器中存储的优先级值,总线判优器100进行协调,以执行中断处理1121。该协调的结果,中断处理1111被中断,而且,通常处理1120也被中断,执行中断处理1121。之后,第一优先级寄存器441的优先级值1101和第二优先级寄存器442的优先级值1102每隔一定时间被减去“1”。在时间t6,完成中断处理1121,处理器122在第二优先级寄存器442中写入作为通常处理的优先级值的“255”,再开始通常处理1123。在该时刻,第一优先级寄存器441的优先级值更小,总线判优器100进行协调,以执行中断处理1112。该协调的结果,中断处理1112被继续执行。在时间t9,完成中断处理1112,处理器112在第一优先级寄存器441中写入通常处理的优先级值的“255”,再开始通常处理1113。在该时刻,第三优先级寄存器143的优先级值更小,总线判优器100进行调解,以执行DMA处理1131。如以上的说明,本方式的实时处理器系统包含中断处理,在执行新的任务时,仅在比该任务优先级高的任务不进行I/O存取的情况下,可以用许可该任务的I/O存取的规则进行I/O存取的协调。而且,以任务完成时刻为基础,可以设定处理的优先级值,所以I/O存取权的调度变得容易。另外,本方式的实时处理器系统也可以组合本发明的实施方式2和/或实施方式3来应用,在该情况下,可以同时得到各自的方式的实时处理器系统具有的效果。而且,在本方式中设为优先级值越小则优先级越高。在设定为优先级值越大优先级越高的情况下,如果将图4的第一减法器447和第二减法器448置换为加法器的话,可以发挥同样的效果。(实施方式5)图5是本发明的实施方式5的控制方法的处理的流程图。本方式的控制方法在本发明的实施方式1~4的实时处理器系统上动作。本方式的控制方法的处理流程图包含执行任务检索步骤S501、优先级寄存器设定步骤S502以及任务切换步骤S503。以下,以图1所示的实时处理器系统为应用例,说明本方式的控制方法的处理流程。图12是本发明5的控制方法的处理时序图。在该例中,在图1所示的第一运算处理单元110中,将I/O存取优先级“1”的中断处理和I/O存取优先级“2”的通常处理A和I/O存取优先级“3”的通常处理B设为任务,由处理器112的OS来管理它们。以下,参照图1和图12说明动作的概要。在时间t0,通常处理A处于“WAIT”状态(没有执行的处理,任务处于等待状态),通常处理B处于“RUN”状态(任务处理中),处理任务1214。此时的第一优先级寄存器141的优先级值为“3”。在时间t2发生中断后,中断处理部111将中断发生通知给处理器112,同时,在第一优先级寄存器141中写入优先级值“1”。处理器112的OS,俘获中断,将处理中的任务1214设为“READY”状态(执行等待状态),执行OS处理1221。总线判优器100协调总线,赋予中断处理以I/O存取权。在时间t3,执行中断处理的任务1211。在时间t4,为了通常处理A的“WAKEUP”(从“WAIT”状态的解除),执行系统调用(systemcall),处理器112的OS执行OS处理1222,将通常处理A设为“READY”状态。在时间t5,执行中断处理的任务1212,完成。在时间t6,伴随任务1212的完成,执行中断处理完成用的系统调用,处理器112执行OS处理1223。根据OS处理1223,在“READY”状态的任务之中,检索优先级最高的(优先级值最小的)任务。如图5所示,这相当于执行任务检索步骤S501。检索的结果,选择通常处理A,通常处理A的优先级值“2”被处理器112写入第一优先级寄存器141。如图5所示,这相当于优先级寄存器设定步骤S502。总线判优器100协调总线,赋予通常处理A以I/O存取权。处理器112进行任务的切换,在“RUN”状态执行通常处理A的任务1213。如图5所示,这相当于任务切换步骤S503。在时间t9,任务1213完成,执行处理完成用的系统调用,处理器112执行OS处理1224。根据OS处理1224,通常处理A被切换为“WAIT”状态,在“READY”状态之中,再次检索优先级最高的(优先级值最小的)任务。如图5所示,这相当于执行任务检索步骤S501。检索的结果,选择通常处理B,通常处理B的优先级值“3”被处理器112写入第一优先级寄存器141。如图5所示,这相当于优先级寄存器设定步骤S502。总线判优器100协调总线,赋予通常处理B以I/O存取权。处理器112进行任务的切换,在“RUN”状态执行通常处理B的任务1215。如图5所示,这相当于任务切换步骤S503。如以上所说明的,在本方式的控制方法中,任务的执行完成后,执行系统调用,从可执行的任务中检索优先级最高的任务,基于该任务的优先级值,进行优先级寄存器的设定,进行任务切换。如果更加具体地叙述任务切换步骤S503,则将当前执行中的任务利用的寄存器转移到存储器上,将检索的任务利用的寄存器的内容从存储器上恢复,进行任务切换。可有通过利用本方式的控制方法,被称作任务或中断处理机的应用软件不依存于硬件的结构的记述,可进行移植性高的应用软件的开发。(实施方式6)图6是本发明的实施方式6的控制方法的处理的流程图。本方式的控制方法在本发明的实施方式4的实时处理器系统上动作。本方式的控制方法的处理流程图包含执行检索步骤S601、剩余时间计算步骤S602、优先级寄存器设定步骤S603以及任务切换步骤S604。以下,以图4所示的实时处理器系统为应用例,说明本方式的处理流程。图13是本发明的实施方式6的控制方法的处理的时序图。在该例中,本方式的控制方法作为在图4所示的本发明的实施方式4的实时处理器系统上动作的控制方法加以说明。从而,在以下的说明中参照图4和图13。在图13所示的例中,在第一运算处理单元110中,表示执行两个中断处理和两个通常处理的情况。在该情况下,中断处理的执行允许时间设为三单位时间,通常处理A的执行允许时间设为十单位时间,通常处理B的执行允许时间设为七单位时间。这里,一单位时间为例如一毫秒。而且,该图的横轴表示时间,横轴的长度不一定与单位时间成比例。在时间t0,处理器112的OS处理1341处于“IDLE”状态(进入空循环(idlingloop)状态),第一优先级寄存器441中存储优先级值“255”。该值比作为减法阈值的“127”都大,所以不通过第一减法器447进行减法运算。在时间t1,在第一运算处理单元110发生中断请求,中断处理部111将“3”作为第一优先级寄存器441的优先级值写入。此时,中断处理部111考虑其中断处理的执行允许时间为三单位时间,决定在第一优先级寄存器441应写入的优先级值,以在时间t5之前完成中断处理。处理器112俘获中断,执行OS处理1342。总线判优器100协调总线,赋予中断处理以I/O存取权。在时间t2~t3中,执行中断处理1311。其间,在第一优先级寄存器441中存储的优先级值,每隔一段时间被减去“1”。在时间t4,进行起动通常处理A的任务的系统调用,处理器112执行OS处理1343,将通常处理A设为“READY”1322。在时间t5继续执行中断处理1312。在时间t6完成中断处理1312,执行OS处理1344,作为第一优先级寄存器441的优先级值写入“8”。此时,处理器112考虑通常处理A的执行允许时间为十单位时间,决定在第一优先级寄存器441中应写入的优先级值,以在时间t18之前完成中断处理。在图13中,反三角标记1321为通常处理A的启动时刻,反三角标记1326为允许通常处理A的处理延迟的临界时刻(最后期限)。此期间相当于作为通常处理A的执行允许时间的十单位时间。总线判优器100协调总线,赋予通常处理A以I/O存取权。在时间t7,通常处理A成为“RUN”1323,执行任务。在时间t11,在第一运算处理单元110中产生新的中断请求,中断处理部111将“3”作为第一优先级寄存器441的优先级值写入。该优先级值是考虑中断处理的执行允许时间为三单位时间而决定的值。处理器112俘获中断,执行OS处理1345,将通常处理A设为“READY”1324。总线判优器100协调总线,赋予中断处理以I/O存取权。在时间t12执行中断处理1313。在时间t13,进行起动通常处理B的任务的系统调用,处理器112执行OS处理1346,将通常处理B设为“READY”1332。在时间t14继续执行中断处理1314。在时间t15完成中断处理1314,执行OS处理1347,作为第一优先级寄存器441的优先级值写入“2”。在时间t7,该优先级值为作为对于通常处理A的优先级值被写入的值,也是随时间被进行减法运算的值。总线判优器100协调总线,赋予通常处理A以I/O存取权。在时间t16执行通常处理A的任务1325。在时间t17,完成通常处理A的任务1325,执行OS处理1348,作为第一优先级寄存器441的优先级值,写入“4”。在时间t13,该优先级值是作为对于通常处理B的优先级值而被求出的值,也是随时间被进行减法运算的值。在图13中,反三角标记1331为通常处理B的启动时刻,反三角标记1334为允许通常处理B的处理延迟的临界时刻(最后期限)。该期间相当于作为通常处理B的允许执行时间的七单位时间。总线判优器100协调总线,赋予通常处理B以I/O存取权。在时间t18,通常处理B成为“RUN”状态,执行任务1333。在时间t21,完成任务1333,执行OS处理1349,作为第一优先级寄存器441写入“255”。在时间t22,处理器122成为“IDLE”状态。在本方式的控制方法中,完成一个任务后,检索下一个执行任务。在图13所示的例子中,在时间t6和t15和t17中,进行下一个执行任务的检索。在时间t6,从可执行的任务中,检索最后期限时刻更接近当前时刻的任务(相当于图6所示的执行任务检索步骤S601)。接着,计算直到对于当前时刻的最后期限时刻的剩余时间(相当于图6所示的剩余时间计算步骤S602)。对应于计算出的剩余时间的I/O存取优先级值(该情况下的优先级值为“8”),被写入第一优先级寄存器141中(相当于图6所示的优先级寄存器设定步骤S603)。最后,通过将当前执行中的任务利用的寄存器转移到存储器上,并将之后执行的任务利用的寄存器的内容从存储器恢复来进行任务切换,在时间t7中,执行任务1323(相当于图6所示的任务切换步骤S604)。时间t15和t17的处理也同样。如以上所说明的,在本方式的控制方法中,I/O存取权的赋予基于与完成通常处理的任务或者中断处理的任务处理之前的允许时间成比例的优先级值来进行。本发明的实施方式5所示的固定优先级方式,由于调度计算简单,所以被广泛利用,但如本方式所示,以相同处理速度的处理器执行时,考虑直到处理完成的允许时间而调度的方式可以缩短最差时的处理完成之前的时间。采用了本方式中说明的动态优先级方式的控制方法可以在多处理器环境中扩展。以上说明的本发明的实施方式2以外的实施方式中的第一运算处理单元110和第二运算处理单元120,也可以代替本发明的实施方式2的第一运算处理单元210和第二运算处理单元220。而且,在本发明的实施方式1至6中,运算处理器的个数为两个,但运算处理器的个数也可以更多。该情况下,如果伴随运算处理器的个数,也增加优先级寄存器的个数,则可以得到与本发明的实施方式1至6所述的相同的效果。进而,本发明的实施方式1至6的第三优先级寄存器143存储着固定值,但在DMA控制器130的控制下,也可以存储可变值。重要的是,在不脱离本发明的宗旨的范围内,可以进行各种扩展。按照本发明,在多个总线主控器协调利用总线的环境中,每个总线主控器具有各自的中断处理部件,对于多路中断,或对于中断处理以外的处理内容,都可以提供可以适当地控制总线协调优先级的实时处理器系统以及控制方法。权利要求1.一种实时处理器系统,具备总线判优器;至少两个运算处理单元,作为运算处理器单元,具有处理器和中断处理部,连接到所述总线判优器;优先级寄存器,存储用于所述处理器进行通常处理的I/O存取优先级值,或用于所述中断处理部进行中断处理的I/O存取优先级值;以及至少一个I/O装置,连接到所述总线判优器,其中,所述总线判优器具有优先级比较部,比较所述优先级寄存器中存储的优先级值;以及总线分配决定部,根据所述优先级比较部的比较结果决定总线的使用权。2.一种实时处理器系统,具备总线判优器;至少一个运算处理单元,作为运算处理单元,具有处理器和中断处理部,连接到所述总线判优器;优先级寄存器,存储用于所述处理器进行通常处理的I/O存取优先级值,或用于所述中断处理部进行中断处理的I/O存取优先级值;至少一个总线存取发生单元,连接到所述总线判优器,主动地发生总线存取;优先级寄存器,存储所述总线存取发生单元的总线存取优先级值;以及至少一个I/O装置,连接到所述总线判优器,其中,所述总线判优器具有优先级比较部,比较所述多个优先级寄存器中存储的优先级值;以及总线分配决定部,根据所述优先级比较部的比较结果决定总线的使用权。3.一种实时处理器系统,具备总线判优器;至少一个运算处理单元,作为运算处理单元,具有处理器和中断处理部,连接到所述总线判优器;优先级寄存器,存储用于所述处理器进行通常处理的I/O存取优先级值,或用于所述中断处理部进行中断处理的I/O存取优先级值;比较存储部件,将用于所述中断处理部进行中断通常处理的I/O存取优先级值和已经存储在所述优先级寄存器中的I/O存取优先级值进行比较,仅在优先级高的情况下,将其存在储所述优先级寄存器中;至少一个总线存取发生单元,连接到所述总线判优器,主动地发生总线存取;优先级寄存器,存储所述总线存取发生单元的总线存取优先级值;以及至少一个I/O装置,连接到所述总线判优器,其中,所述总线判优器具有优先级比较部,比较所述多个优先级寄存器中存储的优先级值;以及总线分配决定部,根据所述优先级比较部的比较结果,决定总线的使用权。4.一种实时处理器系统,具备总线判优器;至少一个运算处理单元,作为运算处理单元,具有处理器和中断处理部,连接到所述总线判优器;优先级寄存器,存储用于所述处理器进行通常处理的I/O存取优先级值,或用于所述中断处理部进行中断处理的I/O存取优先级值;优先级变更部件,将所述优先级寄存器中存储的I/O存取优先级值变更为优先级随着时间升高的值;至少一个总线存取发生单元,连接到所述总线判优器,主动地发生总线存取;优先级寄存器,存储所述总线存取发生单元的总线存取优先级值;以及至少一个I/O装置,连接到所述总线判优器,所述总线判优器具有优先级比较部,比较所述多个优先级寄存器中存储的优先级值;以及总线分配决定部,根据所述优先级比较部的比较结果,决定总线的使用权。5.如权利要求1所述的实时处理器系统,其中,所述运算处理单元具有存储部件,该存储部件根据中断原因而将不同的I/O存取优先级值存储到所述优先级寄存器中。6.如权利要求5所述的实时处理器系统,其中,所述存储部件具有优先级设定寄存器组,所述优先级设定寄存器组预先存储所述处理器的程序控制的I/O存取优先级值,和根据所述中断处理部的中断的原因而不同的I/O存取优先级值,对于新的中断请求,仅在对应于所述中断的原因的优先级值比已经执行中的中断处理的优先级值的优先级高的情况下,所述优先级设定寄存器组将对应于所述中断的原因的优先级值存储到所述优先级寄存器中。7.如权利要求1所述的实时处理器系统中动作的控制方法,包含任务检索步骤,检索下一个执行的任务;存储步骤,将对应于所述任务检测步骤中检测出的任务的I/O存取优先级存储到对应于执行中的处理器的所述优先级寄存器中;以及切换步骤,将执行切换换到所述任务检索步骤中检测出的任务。8.如权利要求6所述的实时处理器系统中动作的控制方法,包含任务检索步骤,检索下一个执行的任务;剩余时间计算步骤,求出对应于所述任务检测步骤中检测出的任务的最后期限时间和当前时刻的时差;存储步骤,将对应于所述剩余时间计算步骤求出的剩余时间的I/O存取优先级存储到对应于执行中的处理器的所述优先级寄存器中;以及切换步骤,将执行切换到所述任务检索步骤中检测出的任务。全文摘要本发明提供一种实时处理器系统以及控制方法。实时处理器系统具备总线判优器(100)、具有处理器和中断处理部的多个运算处理单元(110、120)、DMA控制器(130)、多个优先级寄存器(141~143)、存储器(170),以及SCI(180),总线判优器(100)具有优先级比较部(150)以及总线分配决定部(160)。在各个优先级寄存器中,存储各个运算处理单元的I/O存取优先级值,将其进行比较,从而决定I/O存取权。通过改变优先级寄存器的设定,来适当地处理多路中断。文档编号G06F13/36GK1598797SQ20041007869公开日2005年3月23日申请日期2004年9月17日优先权日2003年9月19日发明者渕上竜司,米泽友纪,西田要一申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1