信息处理控制系统的制作方法

文档序号:6387307阅读:99来源:国知局
专利名称:信息处理控制系统的制作方法
技术领域
本发明涉及信息处理控制系统,特别涉及对需要一边替换存储于高速缓冲存储器的命令一边实现实时处理的系统进行支援的系统。
背景技术
图15表示使用一般的高速缓冲存储器的信息处理控制系统的构成。这个系统包括主存储器400H,其存储程序的全部命令;高速缓冲存储器401H,其只存储必要的命令;高速缓存控制器402H,其对主存储器以及高速缓冲存储器进行控制;和处理器403H,其执行存储于高速缓冲存储器的命令。
在上述信息处理控制系统中,在高速缓冲存储器401H中有必要的命令时,处理器403H解读存储于高速缓冲存储器401H的命令并执行。当在高速缓冲存储器401H上必要的命令不存在时,发生访问未命中,终止处理器或者通过内核程序查询(等待),在这期间,高速缓存控制器402H将必要的命令从主存储器400H转送到高速缓冲存储器401H中;在高速缓冲存储器401H内的命令变为有效时,重新开始执行通过处理器403H已发生访问未命中时的命令。
在上述信息处理控制系统中,图16表示一边替换存储于高速缓冲存储器中的命令一边执行程序时的程序流程图(比如,参照非专利文献1)。在图16中,420表示时间顺序,421表示Kernel program的处理,422表示Application program的处理。423表示往来于Kernel program与Application program之间的程序的流程,424表示从主存储器到高速缓冲存储器必要命令的Down load起动,425表示在高速缓冲存储器中必要命令不存在时发生的Miss hit中断。420t、423t、426t表示程序从Kernelprogram到Application program的处理移动的时刻,421t、424t表示程序从Application program到Kernel program的处理移动的时刻,422t、425t表示从主存储器到高速缓冲存储器必要命令的Down load起动时刻。
以下对往来于Kernel program与Application program之间的程序的流程423进行说明。从Kernel program被起动的程序在时刻420t移动到Application program的处理。在这之后,Application program一直运行到发生Miss hit中断425。在时刻421t Miss hit中断425一发生,程序处理从Application program移动到Kernel program。在Kernel program查询阶段的时刻422t,起动从主存储器到高速缓冲存储器必要命令的Down load。在时刻423t Down load一结束,处理就从Kernel program移动到Applicationprogram,从已发生Miss hit中断425的时点(421t)的命令重新开始执行程序。另外,作为从发生Miss hit中断425到Down load结束的处理,无论由Kernel program查询,还是由Application program停止命令都可以。
图17表示在上述信息处理控制系统中的高速缓存控制器402H的内部构成(比如,参照非专利文献1)。在图17中,440表示用于表示程序上的逻辑地址与物理地址的对应的Cache Table Register;442表示tagAddress;443表示物理Address(物理地址)。441表示用于表示Tag Address442与物理Address 443的对应是无效还是有效的Valid flag。444表示程序的逻辑Address(逻辑地址)的高位,445表示程序的逻辑Address的低位。446表示程序的Cache Address的高位,447表示程序的Cache Address的低位。447与445为同样的信号。449表示比较回路,450表示让发生Misshit中断的Miss hit flag。
以下说明上述回路的动作。在该回路中,如果用比较回路449比较程序的逻辑Address的高位444和Tag Address 442后的结果一致并且Validflag 441是有效的,那么将物理Address 443的高位作为Cache Address的高位446,进一步将程序的逻辑Address的低位445作为Cache Address的低位447,作为Cache Address送入高速缓冲存储器401H。用比较回路449比较程序的逻辑Address的高位444和Tag Address 442后的结果一致并且Valid flag 441为有效的内容不存在于Cache Table Register 440内时,Misshit Flag 450变为Active,发生Miss hit中断。
在以上已说明的以往的信息处理控制系统中,在高速缓冲存储器上没有用于执行程序的必要的命令时,发生访问未命中(以下,与miss hit的表示意义相同),频繁发生Application program停止直到必要的命令被传送到高速缓冲存储器中。因此,存在不能保证一边替换命令一边实时处理的问题。
进一步,在以往的信息处理控制系统中,用某一Application program发生了miss hit时,起动其它的Application program,在这期间,由于在miss hit已发生的Application program中没有从主存储器Down load必要命令到高速缓冲存储器的机构,存在使处理器的运转率下降的问题。
进一步,在以往的信息处理控制系统中,由于在cache Table register中没有表示Down load的DMA的状况以及miss hit的状况的flag,在处理器执行前从主存储器预先传送必要的命令到高速缓冲存储器中,进一步,在发生miss hit中断时通过切换Application program,存在不能构筑一边进行替换命令一边实现实时处理的信息处理控制系统的问题。
进一步,在以往的信息处理控制系统中,由于没有作为表示进行Download的命令的DMA结束的flag的valid flag,在DMA结束时发生中断,根据中断通过程序的替换损失频繁发生,存在使处理器的处理效率降低的问题。
非专利文献1David A.Patterson/John L.Hennessy著「计算机的构成与设计下」日经BP社,1996年4月19日。

发明内容
本发明正是解决上述问题的发明,其目的在于提供一种保证一边替换命令一边实时处理的信息处理控制系统。
依据本发明的信息处理控制系统,包括控制操作系统的内核程序以及执行应用的应用程序、存储程序的全部命令的主存储器、只存储必要命令的高速缓冲存储器、和执行在高速缓冲存储器中存储的命令的处理器,所具有的结构是,按照在处理器执行前预先将必要的命令从主存储器下载到高速缓冲存储器中那样进行控制。
根据上述信息处理控制系统,具有能够降低Miss hit的发生频率,能够一边替换命令一边实现实时处理的效果。
在上述信息处理控制系统中,优选具有的结构是,将内核程序以及应用程序采用某个统一单位细分,按照将每个细分后的单位所必要的命令在处理器执行前预先从主存储器下载到高速缓冲存储器中那样进行控制。
根据上述信息处理控制系统,具有能够降低Miss hit的发生频率,降低访问未命中损失,由此可一边替换命令一边实现更加高速的实时处理的效果。
在上述信息处理控制系统中,优选进一步包括高速缓存控制器,其判断在高速缓冲存储器中是否存在必要的命令,将必要的命令从主存储器传送到高速缓冲存储器中;和控制装置,其通过监视高速缓存控制器的状态,将程序内部所必要的命令在处理器执行前预先从主存储器传送到高速缓冲存储器中。
根据上述信息处理控制系统,具有能够在适当时候只执行适当数量的每个module的Pre load的效果。而且,这里,把在处理器执行前将必要的命令从主存储器预先传送到高速缓冲存储器中称为Pre load,将Kernelprogram以及Application program细分成某个统一单位称为module化。
依据本发明的另一信息处理控制系统,包括控制操作系统的内核程序以及执行应用的应用程序、存储程序的全部命令的主存储器、只存储必要命令的高速缓冲存储器、判断在高速缓冲存储器中是否存在必要的命令并将必要的命令从主存储器传送到高速缓冲存储器中的高速缓存控制器、和执行在高速缓冲存储器中存储的命令的处理器,所具有的结构是,作为向处理器的中断机构包括Miss hit中断以及DMA结束中断,通过Miss hit中断,内核程序切换应用程序,通过DMA结束中断,内核程序可以复归到发生了Miss hit中断的应用程序。
根据上述信息处理控制系统,具有能够在将命令从主存储器Download到高速缓冲存储器中时隐蔽发生的访问未命中损失,提高作为处理器的运转率的效果。
在上述信息处理控制系统中,优选具有通过监视高速缓存控制器的状态,在程序内部切换应用程序的控制机构。
根据上述信息处理控制系统,具有可以隐蔽由于执行Pre load或者Down load引起的访问未命中损失的效果。
在上述信息处理控制系统中,优选具有与细分后的单位相对应的、命令的逻辑地址和物理地址的对应表、和在对应表中的有效/无效flag、Misshit管理flag、DMA管理flag。
根据上述信息处理控制系统,具有能够构筑在以module单位的Preload或者Miss hit中断发生时能够一边切换Application program一边执行程序,一边进行命令替换一边实现实时处理的信息处理控制系统的效果。
在上述信息处理控制系统中,优选进一步包括Miss hit中断机构,其采用Miss hit发生时的命令获取程序计数器值,实现Miss hit中断处理;具有通过Miss hit中断处理,内核程序可以切换应用程序的装置。根据上述信息处理控制系统,具有能够处理执行Pre load状态的Misshit中断与不执行Pre load状态的Miss hit中断的任意一个中断的效果。
在上述信息处理控制系统中,优选进一步具有DMA Done中断机构,其采用Miss hit管理flag和DMA管理flag,产生DMA结束中断;由此具有内核程序能实现复归到发生了Miss hit中断的应用程序的装置。
根据上述信息处理控制系统,具有能够减少每次DMA结束时发生的程序切换损失,抑制处理器的处理效率的下降,能够抑制DMA Done中断的发生,控制DMA Done中断的发生的效果。
在上述信息处理控制系统中,优选具有的结构是,将内核程序以及应用程序采用某个统一单位细分,按照将每个细分后的单位所必要的命令在处理器执行前预先从主存储器下载到高速缓冲存储器中那样进行控制。
根据上述信息处理控制系统,具有根据DMA Process flag判定Pre load的执行状态,能够在适当时候只执行适当数量的每个module的Pre load的效果。
在上述信息处理控制系统中,优选具有的结构是,作为向处理器的中断机构包括Miss hit中断以及DMA结束中断,通过Miss hit中断,内核程序切换应用程序,通过DMA结束中断,内核程序可以复归到发生了Miss hit中断的应用程序。
根据上述信息处理控制系统,具有能够隐蔽由于执行Pre load或者Down load引起的访问未命中损失,进一步,能实现提早复归到发生了Miss hit中断的Application program的效果。
在上述信息处理控制系统中,优选具有在Miss hit发生时切换应用程序,之后,屏蔽发生的DMA结束中断的机构。
根据上述信息处理控制系统,具有如下效果能保护其它的应用程序的处理,另外,在解除中断屏蔽的时点由于再次发生DMA Done中断,所以能复归到发生了Miss hit中断的Application program。
在上述信息处理控制系统中,优选包括对高速缓冲存储器中的命令解读的命令解读装置和管理处理器状态的状态管理装置,具有在发生向处理器的中断后,让命令解读装置的输出无效,进而复位状态管理装置的机构。
根据上述信息处理控制系统,具有防止由于无效命令而状态管理装置陷入到错误状态的情况,在中断复归后也能正常进行命令解读的效果。
根据本发明的信息处理控制系统,具有能够降低Miss hit的发生频率,能够一边替换命令一边实现实时处理的效果。


图1表示根据第1实施方式的信息处理控制系统的全体构成框图。
图2表示在有关本发明第1实施方式的信息处理控制系统中,Pre load处理时的程序流程图。
图3表示在有关本发明第2实施方式的信息处理控制系统中,module化后的软件构成图。
图4表示在有关本发明第2实施方式的信息处理控制系统中,以module单位Pre load处理时的程序的流程图。
图5表示在有关本发明第3实施方式的信息处理控制系统中,以module单位Pre load处理时的流程图。
图6表示在有关本发明第4实施方式的信息处理控制系统中,Miss hit发生时一边切换Application program一边执行时的程序的流程图。
图7表示在有关本发明第5实施方式的信息处理控制系统中,Miss hit发生时一边切换Application program一边执行时的流程图。
图8表示在有关本发明第6实施方式的信息处理控制系统中,CacheTable Register与高速缓冲存储器的构成框图。
图9表示在有关本发明第7实施方式的信息处理控制系统中,实现Miss hit中断处理时的流程图。
图10表示在有关本发明第8实施方式的信息处理控制系统中,被发生DMA Done中断时的Cache Table Register与高速缓冲存储器的构成框图。
图11表示在有关本发明第9实施方式的信息处理控制系统中,以module单位Pre load处理时的流程图。
图12表示在有关本发明第10实施方式的信息处理控制系统中,Misshit发生时一边切换Application program一边执行时的流程图。
图13表示在有关本发明第11实施方式的信息处理控制系统中,实现DMA Done中断屏蔽时的流程图。
图14表示在有关本发明第12实施方式的信息处理控制系统中,存储器、命令解读装置、状态管理装置以及中断管理装置之间的关系框图。
图15表示一般的采用高速缓冲存储器的信息处理控制系统的构成图。
图16表示一边替换存储在高速缓冲存储器的命令一边执行程序时的一般的程序的流程图。
图17表示高速缓存控制器内的Cache Table Register与高速缓冲存储器的构成的一般框图。
图中100-时间顺序,101-Kernel program处理,102-Applicationprogram A处理,103-Application program B处理,104-程序的流程,105-Break point中断,100t~106t-时刻,120-软件构成,121-Kernelprogram,122-Application program A,123-Application program B,124-Application program C,125-Application program D,140-时间顺序,141-Kemel program处理,142-Application program A处理,143-Application program B处理,144-程序的流程,145-Pre load起动,146-Break point中断,147-Application program A module A处理区间,148-Application program A module B处理区间,149-Application program Amodule C处理区间,150-Application program B module A处理区间,151-Application program B module B处理区间,140t~158t-时刻,160~167-流程图内处理,180-时间顺序,181-Kernel program处理,182-Application program A处理,183-Application program B处理,184-程序的流程,185-Down load起动,186-Miss hit中断,187-Break point中断,180t~190t-时刻,200~208-流程图内处理,201H、202H-硬件处理,220-Cache Table Register,221~225-寄存器,226~229-控制信号,230-存储器,231-比较回路,232-控制信号,233-控制信号,240~248-程序流程图内处理,240H-硬件处理,280~288H-流程图内处理,280H~283H-硬件处理,300~312-流程图内处理,300H~306H-硬件处理,320~329-流程图内处理,320H~322H-硬件处理,340H-中断管理机构,341H-存储器,342H-命令解读装置,343H-状态管理装置,340S~342S-控制信号,401H-高速缓冲存储器,402H-高速缓存控制器,403H-处理器,420-时间顺序,421-Kernel program处理,4222-Application program处理,423-程序的流程,424-Down loan处理,425-Miss hit中断,420t~423t-时刻。
具体实施例方式
以下,参照附图详细说明本发明的实施方式。另外,在图中对相同部分或者相应部分采用相同符号,并不进行重复说明。
(第1实施方式)图1表示根据第1实施方式的信息处理控制系统的构成。该系统包括存储程序的全部命令的主存储器400H;只存储必要命令的高速缓冲存储器401H;控制主存储器400H以及高速缓冲存储器401H的高速缓存控制器402;执行存储于高速缓冲存储器的命令的处理器403H。
以下,说明图1所示信息处理控制系统的动作。这里,把在处理器403H执行前将必要的命令从主存储器400 H预先下载到高速缓冲存储器401H称作Pre load。为了实现Pre load,需要将实现Pre load的结构编入程序。关于在Application program(应用程序)内的Pre load,包括以下两种方法将在Application program起动时起动Pre load的时刻(程序计数器值)作为Break point设定在寄存器中,如果程序命中(hit)了Break point那么通过发生Break point中断而起动Pre load的方法;和通过在Applicationprogram内部直接编入Pre load起动程序而起动Pre load的方法。关于不同的Application program对应的Pre load,由于不知道各自的Applicationprogram起动彼此的Pre load的时刻,将Kernel program(内核程序)起动各自的Application program的Pre load的时刻作为Break point设定在寄存器中,如果程序命中了Break point那么发生Break point中断,启动Pre load的方法。
图2表示在图1所示信息处理控制系统中实现Pre load时的程序的流程。在图2中,100表示时间顺序,101表示Kernel program的处理,102表示Application program A的处理,103表示Application program B的处理,104表示来往于Kernel program与Application program之间的程序的流程,105表示Break point中断,106表示Pre load起动。100t表示将Preload起动时刻作为Break point设定到寄存器的时刻,103t表示Pre load起动时刻,101t、104t表示处理从Kernel program移动到Application programA的时刻,102t、105t表示处理从Application program A移动到Kernelprogram的时刻,106t表示处理从Kernel program移动到Applicationprogram B的时刻。
下面,说明实现Pre load时的程序的流程。Kernel program起动后,在时刻100t将Pre load起动时刻作为Break point设定在寄存器中。设定后,在时刻101t,处理从Kernel program移动到Application program A,开始Application program A的处理。Application program A在到达Breakpoint设定的程序计数器的时点时发生Break point中断105,在时刻102t处理从Application program A移动到Kernel program。Kernel program接受Break point中断105,在时刻103t起动对Application program B的Pre load。Pre load一起动,Kernel program的处理就结束,在时刻104t处理从Kernelprogram移动到Application program A。在时刻105t,Application program A的处理到达Application program切换时刻,处理再次移动到Kernelprogram。在时刻106t,Kernel program起动Application program B。在该时点,由于Application program B的命令被Pre load到高速缓冲存储器401H上,不会发生Miss hit中断,能够实行Application program B的处理。
在图2中虽然说明了对不同的Application program的Pre load,在Application program内的Pre load中,只是Pre load时刻的设定方法不同,而处理的流程基本相同。另外,在图2中Application program只记载了A/B两种,显然并不是说对Application program的数目有制约。
根据这样的第1实施方式,关于在Application program内的Pre load,通过采取在Application program起动时,将起动Pre load的时刻(程序计数器值)作为Break point设定在寄存器中,根据Break point中断起动Preload的方法;和将Pre load起动程序直接编入到Application program内部起动Pre load的方法,实现Pre load。关于对不同的Application program的Pre load,通过采取将Kernel program起动各自的Application program的Preload的时刻作为Break point设定在寄存器中,根据Break point中断起动Pre load的方法,实现Pre load。通过这样实现Pre load,由于能降低Misshit的发生频率,能实现一边替换命令一边实现实时处理。
(第2实施方式)根据第2实施方式的信息处理控制系统的构成与图1所示相同。该系统的特征在于具有将Pre load处理的单位module化,以每个module化的单位实现Pre load的结构。
下面对有关本发明第2实施方式的信息处理控制系统进行说明。首先,将Kernel program以及Application program细分成某个统一单位称作module化。图3表示将Kernel program和Application program等软件module化后的图。作为软件构成成为在Kernel program上Application program动作的构成。120表示module化后的软件全体构成,121表示Kernel program,122表示Application program A,123表示Application program B,124表不Application program C,125表示Application program D,这里所示Application program虽然为A/B/C/D四种,显然并不是说对Applicationprogram的数目有制约。Kernel program 121、Application program 122~125各自被module化,具有以每个module化后的单位实现Pre load的结构。
图4表示根据第2实施方式,Pre load已module化后的程序时的流程图。作为Pre load起动方法包括以下两种关于在Application program内的Pre load,通过设定Break point起动Pre load的方法;和通过在Application program内部将Pre load起动时刻直接记述在程序而起动Preload的方法。在图4中采用后者进行说明。140表示时间顺序,141表示Kernel program的处理,142表示Application program A的处理,143表示Application program B的处理。144表示来往于Kernel program与Application program的程序的流程,145表示Pre load起动,146表示Breakpoint中断。147、148、149分别表示Application program A的module A、module B、module C的处理区间。150、151分别表示Application programB的module A、module B的处理区间。140t表示将Pre load起动时刻作为Break point设定在寄存器中的时刻,143t、147t、151t、156t表示Pre load起动时刻,141t、144t、148t、152 t表示处理从Kernel program移动到Application program A的时刻,142t、146t、150t、153t表示处理从Applicationprogram A移动到Kernel program的时刻,154t、157t表示处理从Kernelprogram移动到Application program B的时刻,155表示处理从Applicationprogram B移动到Kernel program的时刻。另外,145t表示在Applicationprogram A内部处理从module A移动到module B的时刻,149t表示在Application program A内部处理从module B移动到module C的时刻,158t表示在Application program B内部处理从module A移动到module B的时刻。
以下,说明以module单位实现Pre load时的程序的流程。Kernelprogram起动后,在时刻140t,将对Application program B的Pre load起动时刻作为Break point设定在寄存器中。设定后,在时刻141t,处理从Kernelprogram移动到Application program A,开始Application program A的处理。在发出在Application program A的module A内部记述的对module B的Pre load起动命令的时点,处理从Application program A移动到Kernelprogram(时刻142t),在时刻143t起动对module B的Pre load。起动Preload后,Kernel program的处理结束,在时刻144t处理从Kernel program移动到Application program A的module A。在到达时刻145t的时点,Application program A的module A结束,开始module B的处理。在发出在Application program B的module B内部记述的对module C的Pre load起动命令的时点,处理从Application program A移动到Kernel program(时刻146t),在时刻147t起动对module C的Pre load。起动Pre load后,Kernelprogram的处理结束,在时刻148t处理从Kernel program移动到Applicationprogram A的module B。在到达时刻149t的时点,Application program A的module B结束,开始module C的处理。Application program A的moduleC在到达用Break point设定的程序计数器的时点,发生Break point中断146,在时刻150t处理从Application program A移动到Kernel program。Kernel program接受Break point中断,在时刻151t起动Pre load。起动Preload后,Kernel program的处理结束,在时刻152t处理从Kernel program移动到Application program A。在时刻153t,Application program A的处理一到达Application program切换时刻,就处理再次移动到Kernel program。Kernel program在时刻154t起动Application program B,以后,Applicationprogram B的处理同样被进行。Application program A的module B,module C以及Application program B的module B的处理开始的时点,由于必要的命令被Pre load到高速缓冲存储器上,可以在不会发生Miss hit中断的情况下,实现Application program的处理。
关于在上述说明中没有陈述的Pre load,通过module,即使对多个module的Pre load进行起动或者完全不进行Pre load的起动也没有关系。
图4中Application program虽然只记载了A/B两种,module虽然只记载了A/B/C三种,显然并不是说对Application program或者module的数目有制约。
这样,根据第2实施方式,module化Pre load处理的单位,通过具有按每个module化后的单位实现Pre load的结构,与module化前相比,提高了Pre load起动的预测精度,因此,能降低Miss hit的发生频率。进一步,由于能缩短一次Pre load所花费的DMA时间,即使发生了Miss hit,也可降低发生访问未命中损失(Miss hit Penalty)。这样第2实施方式能一边替换命令一边实现实时处理,进一步,对于在第1实施方式以上的高速实时处理也能适应。
(第3实施方式)第3实施方式的信息处理控制系统的构成与图1所示的相同。该系统的特征在于通过利用高速缓存控制器402H内部的Cache Table Register的信息和Pre load执行状态的信息,能够在适当时间只执行适当数目的每个module的Pre load。
以下对有关本发明第3实施方式中的信息处理控制系统进行说明。图5表示在本发明第3实施方式中对Application program的每个module执行Pre load时的流程图。在该流程图中,根据高速缓存控制器402H的状态(特别地Pre load执行状态)判定是否起动Pre load。在步骤160中,起动Preload时,经过步骤161,处理从Application program的module A进入到Kernel program的步骤162。在module的内部,在没有起动Pre load时,进行步骤166的module A的处理,在此之后,在不执行Pre load的状态时转移到步骤167的module B的处理。在步骤162中,判断与在Cache TableRegister内进行Pre load预定的程序计数器(PC)相等的Tag Address是否存在。不存在时处理进入到步骤164,进行Pre load起动。存在时处理进入到步骤163,判断满足步骤162的条件的情况是否在Pre load中。没有在Pre load中时,处理进入到步骤164,进行Pre load起动。在Pre load中时,不执行任何处理,处理进入到步骤165。另外,在步骤164进行Pre load起动后处理也进入到步骤165。在步骤165中判断全部的Pre load起动完成与否。没有完成时,返回到步骤162,重复上述处理。已完成时,处理进入到步骤166,进行module A的其余的处理,在这之后,进行步骤167的module B的处理。
这样,根据第3实施方式,通过利用高速缓存控制器402H内部的CacheTable Register的信息和Pre load执行状态的信息,能够在适当时间只执行适当数目的每个module的Pre load。
(第4实施方式)第4实施方式的信息处理控制系统的构成与图1所示相同。该系统的特征在于,作为向处理器403H的中断装置,通过具有Miss hit中断以及DMA Done中断,当命令已Miss hit时能一边切换应用程序一边执行。
下面说明有关本发明第4实施方式的信息处理控制系统。图6表示根据第4实施方式,通过具备Miss hit中断以及DMA结束中断(以下称为DMA Done中断),在命令的Miss hit已发生时,一边切换Applicationprogram一边执行程序时的程序流程图。180表示时间顺序,181表示Kernelprogram的处理,182表示Application program A的处理,183表示Application program B的处理,184表示来往于Kernel program与Application program A的程序流程。185表示Down load起动,186表示Miss hit中断,187表示DMA Done中断。DMA Done中断在Down load结束后发生。180t、185t、190t表示处理从Kernel program移动到applicationProgram A的时刻,181t、186t表示处理从Application program A移动到Kernel program的时刻,183t、188t表示处理从Kernel program移动到Application program B的时刻,184t、189t表示处理从Application programB移动到Kernel program的时刻。
以下,说明在命令的Miss hit已发生时,一边切换Application program一边执行程序时的程序流程图。Kernel program起动后,在时刻180t,处理从Kernel program移动到Application program A,Application program A的处理开始。在高速缓冲存储器401H上必要的命令如果不存在,就发生Miss hit中断。在时刻181t,Miss hit中断186来临时,处理从Applicationprogram A移动到Kemel program。在时刻182接受Miss hit中断,起动对Application program A命令的Down load。这之后,Kernel program检测到处于等待状态的Application program,Kernel program进行Applicationprogram的切换。Application program B处于等待状态时,Kernel program起动Application program B(时刻183t)。在Application program B执行中也执行Down load,在Down load结束时点,发生DMA Done中断187,处理从Application program B移动到Kernel program(时刻184t)。在DMADone中断187有与Application program A对应的情况时,Kernel program起动Application program A,从Miss hit中断186发生时点的命令(时刻185t)重新开始执行。关于DMA Done中断187在各个Application program或者module中存在中断的要因。
图6虽然对两种Application program的切换进行了说明,Applicationprogram有多个,Miss hit中断后,切换Application program,进一步,即使在切换目标的Application program已发生Miss hit中断,基本上也是相同的处理。另外,在图6中Application program虽然只记载了A/B两种,显然并不是说对Application program的数目有制约。
这样根据第4实施方式,作为对处理器403H的中断装置,通过具备Miss hit中断186以及DMA Done中断187,在命令已Miss hit时一边切换Application program一边能执行命令。特别地,关于DMA Done中断187,在每个Application program和每个module中有中断的要因,Miss hit中断186发生后,即使切换Application program,在DMA Done中断187发生时,能返回到原来的Application program。在已发生Miss hit时通过进行Application program的切换,将命令从主存储器400H向高速缓冲存储器401H进行Down load,能隐蔽发生的访问未命中损失,能提高处理器的运转率。
(第5实施方式)第5实施方式的信息处理控制系统的构成与图1所示相同。该系统的特征在于,通过利用高速缓存控制器402H内部的Cache Table Register的信息以及Pre load执行状态的信息,判断是否应该起动Down load。
下面说明有关本发明第5实施方式中的信息处理控制系统。图7表示在本发明第5实施方式中,在Miss hit发生时,一边切换Application program一边执行时的流程图。在该流程图中,根据高速缓存控制器402H的状态(特别是Pre load执行状态)判断是否起动Down load。另外,在Miss hit已发生时判断有无处在等待状态中的Application program的基础上,执行Application program的切换。在图7中,200H、201H为硬件的处理。比如,在Application program A的module A处理中,在200H用硬件检测Miss hit中断后,从步骤200的Application program A的module A的处理移动到Kernel program的处理,进入到步骤201。在步骤201中,判断在Cache TableRegister内部与Down load预定的程序计数器(PC)一致的Tag Address是否存在。不存在时处理进入到步骤203,进行Down load起动。存在时,处理进入到步骤202,判断满足步骤201条件的情况是否在Pre load中。不在Pre load中时,处理进入到步骤203,进行Down load起动。在Pre load中时,不用进行任何处理,处理进入到步骤204。另外,在步骤203,Download起动后,处理也进入到步骤204。在步骤204中判断是否有处于等待状态中的Application program,如果有,进行Application program的切换,进入到步骤206,执行另外的Application program,如果没有,在用Kernelprogram内的步骤205,Down load结束之前进行查询。Down load结束,如果在201H,硬件检测到DMA Done中断,从步骤205、206移动到Kernelprogram内的步骤207的DMA Done中断处理。在步骤207进行DMA Done中断处理后,返回到原来的Application program的module A处理,从发生Miss hit中断的时点的命令重新开始运行程序。
这样根据第5实施方式,通过利用高速缓存控制器402H内部的CacheTable Register的信息以及Pre load执行状态的信息,能判断是否应该起动Down load。另外,在Pre load或者Down load起动后时,判断是否有处于等待状态的Application program,通过执行Application program切换,能隐藏由于Pre load或者Down load执行引起的访问未命中损失(Miss hitPenalty)。
(第6实施方式)第6实施方式的信息处理控制系统的构成与图1所示的相同。该系统的特征在于具有按module单位知道DMA执行状况和Miss hit发生状况的结构。
以下说明有关本发明第6实施方式的信息处理控制系统。图8表示在第6实施方式中高速缓存控制器402H的内部结构框图。在图8中,220表示Cache Table Register,其表示程序上的逻辑Address和物理Address的对应关系;224表示Tag Address,225表示物理Address。221表示Validflag,其用来表示Tag Address 224与物理Address 225的对应有效还是无效。Cache Table Register 220作为以module单位的对应表被构成。222表示Miss hit History flag,其用来表示在对应Tag Address 224与物理Address225的module中是否发生Miss hit。223表示DMA Process flag,其用来表示在对应Tag Address 224与物理Address 225的module中,Pre load或者Down load的DMA是否在执行中,(以后,将Tag Address、物理Address、Valid flag、Miss hit History flag、DMA Process flag的对称为块。Cache Table Register 220由多个块构成)。226表示程序的逻辑Address的高位,227表示程序的逻辑Address的低位。228表示Cache Address的高位,229表示Cache Address的高位。229与227为同样的信号。231表示比较回路,232表示让Miss hit中断发生的Miss hit flag。Cache Table Register220成为从程序可读写的构成。进一步,做成Valid flag 221在DMA结束的时点被设置,DMA Process flag 223在DMA结束的时点被复位的结构。
以下,说明图8所示的回路的动作。在该回路中,如果由比较回路231比较程序的逻辑Address的高位226与Tag Address 224,其结果一致并且Valid flag 221为有效,那么将物理Address的高位225作为Cache Address的高位228,进一步,将程序的逻辑地址的低位227作为Cache Address的低位229,作为Cache Address送到高速缓冲存储器401H中。在CacheTable Register 220内,如果由比较回路231比较程序的逻辑Address的高位226与Tag Address 224,其结果一致并且Valid flag 221为有效的情况不存在时,Miss hit flag 232成为Active,发生Miss hit中断。另外,如果在已发生Miss hit中断时设置Miss hit History flag222,成为可以知道在Cache Table Register的何处正在发生Miss hit中断的结构。进一步,由于DMA process flag223成为在DMA结束的时点自动被复位的结构,如果在Pre load或者Down load的DMA起动时设置,则成为能知道以module单位的DMA执行状况的结构。
这样根据第6实施方式,由于成为能够知道以module单位的DMA执行状况和Miss hit发生状况的结构,可构筑以module单位的Pre load或者Miss hit中断发生时能够一边切换Application program一边执行程序,一边进行命令替换一边实现实时处理的信息处理控制系统。
(第7实施方式)根据第7实施方式的信息处理控制系统是发展第6实施方式后的内容。该系统具有自动保存在Miss hit中断发生时Miss hit中断发生时的命令获取程序计数器值(以下称为EIPC)、和命令解码程序计数器值(以下称为EPC)的结构。图9表示采用图8所示的有关本发明第6实施方式的信息处理控制系统、EIPC和DMA Process flag,实现Miss hit中断处理时的流程图。在图9中,240H是硬件(处理器403H或者高速缓存控制器402H)的处理。在Application program A的module A执行中,在240H硬件检测到Miss hit中断,自动保存EIPC与EPC,从步骤240的Applicationprogram A的module A的处理移动到Kernel program的处理,进入到步骤241。在步骤241中,判断在Cache Table Registet内部中是否存在与EIPC一致的Tag Address。不存在时处理进入到步骤243,任意选择Cache TableRegister。存在时,处理进入到步骤242,在步骤241的条件成立的块中,判断DMA Process flag是否为1。DMA Process flag不为1时,判断为Preload不在执行中,处理进入到步骤243,任意选择Cache Table Register。DMA Process flag为1时,判断Pre load在执行中,不进行任何处理,处理进入到步骤245。另外,在步骤243移动到任意选择Cache Table Register的处理时,在这之后,进入到步骤244。在步骤244将被选择块的Valid flag设定为0,DMA Process flag设定为1,设定Tag Address与物理Address,进行Down load起动。在这之后,进入到步骤245。在步骤245中,在从步骤242移动到步骤245时,将满足步骤242条件的块的Miss hit History设定为1;在从步骤244移动到步骤245时,将在步骤243选择的块的Miss hit History设定为1。步骤245的处理结束后,进入到步骤246。在步骤246中判断是否存在处于等待状态的Application program。如果存在,切换Application program,执行步骤248的别外的Application program,如果不存在,在Kernel program内的步骤247在Down load结束之前进行查询。
这样根据第7实施方式,采用有关本发明第6实施方式的信息处理控制系统、EIPC、DMA Process flag,通过实现Miss hit中断处理,能够处理在Pre load执行状态中的Miss hit中断与在Pre load不执行状态的Misshit中断的任意一个中断。
(第8实施方式)根据第8实施方式的信息处理控制系统的构成与图1所示的相同。图10表示在第8实施方式中的高速缓存控制器402H的内部构成框图。在图10中,与图8相同的符号表示同一或者相当部分,233表示DMA Done中断flag。DMA Done中断flag 233为对将Miss hit History flag设定为1的块仅在DMA已结束时发生的构成。其构成为首先,将DMA Process flag223设定为1,然后,起动Pre load或者Down load的DMA,在这之后,在Miss hit History flag设定为1后,在DMA结束的时点DMA Process flag223自动复位而成为0,发生DMA Done中断。
这样,根据第8实施方式,通过Pre load的DMA结束时,由于在DMA每次结束时不需要发生DMA Done中断,能削减在DMA结束时已发生的块切换损失,能抑制处理器的处理效率的降低。另外,假如即使在发生了Miss hit中断时,而不想让DMA Done中断发生时等,通过设置Miss hit History flag为0,能抑制DMA Done中断的发生,能控制DMADone中断的发生。
(第9实施方式)根据第9实施方式的信息处理控制系统是第8实施方式的应用例。图11表示采用图10所示的有关本发明第8实施方式的信息处理控制系统,对Application program的每个module执行Pre load时的流程图。在步骤280,起动Pre load时,经过步骤281,从Application program的module A进入到Kernel program的步骤282的处理。在module内部没有起动Pre load时,进行步骤287的module A的处理,在这之后,在不执行Pre load的状态下移动到步骤288的module B的处理。在步骤282中,判断在Cache TableRegister 220内与进行Pre load预定的程序计数器(PC)一致的Tag Address224是否存在。不存在时处理进入到步骤284,任意选择Cache TableRegister 220。存在时处理进入到步骤283,在步骤282的条件成立的块中,判断DMA Process flag 223是否为1。DMA Process flag 223不为1的时候,判断Pre load不在执行中,处理进入到步骤284,任意选择Cache TableRegister 220。DMA Process flag 223为1的时候,判断Pre load在执行中,不进行任何处理,处理进入到步骤286。另外,在步骤284移动到任意选择Cache Table Register 220的处理时,在这之后,进入到步骤285。在步骤285中,将所选择块的Valid flag 221设定为0,将DMA Process flag 223设定为1,设定Tag Address 224与物理Address 225,进行Pre load起动。在这之后,进入到步骤286。在步骤286中,判断全部Pre load起动是否完成,没有完成时,返回到步骤282,重复上述处理。完成时,处理进入到步骤287,进行module A的剩余的处理,在这之后,进行步骤288的module B的处理。另外,在进行步骤285的处理的时点,硬件在280H,将Valid flag 221设定为0,将DMA Process flag 223设定为1,在281H进行DMA起动。在282 H DMA结束的时点,将Valid flag 221自动设定1,将DMA Process flag 223设定为0。
这样,根据第9实施方式,采用有关本发明第8实施方式的信息处理控制系统,根据DMA Process flag 223判断Pre load的执行状态,能够在适当的时间只执行适当数量的每个module的Pre load。
(第10实施方式)有关本发明第10实施方式的信息处理控制系统,采用图9所示有关本发明第7实施方式的信息处理控制系统、和图10所示有关本发明第8实施方式的信息处理控制系统,在Miss hit中断发生时一边切换Applicationprogram一边执行。该处理的流程图如图12所示。在图12中,300H、301H、302H、303H、304H、305H、306H为硬件的处理。在Application programA的module A的执行中,在300H硬件检测到Miss hit中断后,自动保存EIPC与EPC,从步骤300的Application program A的module A的处理移动到Kernel program的处理,进入到步骤301。在步骤301中,判断在CacheTable Register 220内部与EIPC一致的Tag Address 224是否存在。不存在时处理进入到步骤303,任意选择Cache Table Register 220。存在时处理进入到步骤302,在步骤301的条件成立的块中,判断DMA Process flag 223是否为1。DMA Process flag 223不为1时,判断Pre load不在执行中,处理进入到步骤303,任意选择Cache Table Register 220。DMA Process flag223为1时,判断Pre load在执行中,不执行任何处理,处理进入到步骤305。另外,在步骤303移动到任意选择Cache Table Register 220的处理时,在这之后,进入到步骤304。在步骤304将所选择的块的Valid flag 221设定为0,将DMA Process flag 223设定为1,设定Tag Address 224与物理Address 225,进行Down load起动。在这之后,进入到步骤305。在步骤305中,在从步骤302移动到步骤305时,使步骤302的条件成立的块的Miss hit History flag 222设定为1;在从步骤304移动到步骤305时,将由步骤304选择的块的Miss hit History flag 222设定为1。步骤305的处理一结束,就进入到步骤306。在步骤306中,判断是否存在处于等待状态中的Application program。如果存在,切换Application program,执行步骤308的另外的Application program;如果不存在,在Kernel program内的步骤307在Down load结束之前一直查询。另外,在进行304的处理的时点,硬件在301H中将Valid flag 221设定为0,将DMA Process flag 223设定为1,在302H开始DMA起动。
在这之后,在进行步骤305的处理的时点,在303H中将Miss hitHistory flag 222设定为1;在305H在DMA结束的时点,在304H中自动将Valid flag 221设定为1;将DMA Process flag 223设定为0。在将Misshit History flag 222设定为1的状态下,如果DMA Process flag 223变为0,在检测到DMA Done中断,从步骤307和步骤308的处理移动到Kernelprogram的步骤309的DMA Done中断子程序的处理。在这之后,在步骤310进行切换目标的Application program的module判定,在步骤311将Miss hit History flag 222设定为0,在步骤312,处理移动到发生了DMADone中断的Application program的module。
这样,根据第10实施方式,通过采用有关本发明第7实施方式的信息处理控制系统、和有关本发明第8实施方式的信息处理控制系统,控制程序,由于一边能进行Application program切换一边能执行程序,能隐蔽由于执行Pre load或者Down load引起的访问未命中损失(Miss hitPenalty)。另外,由于DMA Done中断发生在以module单位的必要的命令在高速缓冲存储器上聚齐的时点,能提早实现复归到已发生Miss hit中断的Application program。
(第11实施方式)有关第11实施方式的信息处理控制系统,采用有关第6实施方式的信息处理控制系统与DMA Done中断屏蔽机构,对DMA Done中断进行屏蔽。在该信息处理控制系统中,其构成为具有屏蔽对每个module发生的DMA Done中断的机构,对于该机构不是消除了DMA Done中断主要原因本身,而是可以保持中断主要原因本身,在解除了中断屏蔽的时点中断主要原因再次发生,进入中断。图13表示采用有关第6实施方式的信息处理控制系统与DMA Done中断屏蔽机构,屏蔽DMA Done中断时的流程图。该流程图表示Miss hit中断发生后的处理。320H、321H、322H为硬件的处理。Miss hit中断发生后,进行Down load起动等后,在步骤320中将Miss hit History flag设定为1。步骤320的处理一结束,就进入到步骤321。在步骤321判断是否存在处于等待状态中的Applicationprogram。如果存在,切换Application program,进入到步骤323;如果没有,在Kernel program中的步骤322在Down load结束之前进行查询。在步骤323判断是否需要中断屏蔽。如果需要,在步骤324设定中断屏蔽,在这之后,在步骤325执行其它的Application program。如果不需要,直接进入到步骤325,执行其它的Application program。另外,在进行320的处理的时点,硬件在320H中将Miss hit History flag设定为1;在进行324的处理的时点,硬件在321H中设置DMA Done中断屏蔽。在这之后,在322H中,检测DMA Done中断。在步骤322中,在检测到DMA Done中断的时点,DMA Done中断发生,进行步骤329的DMA Done中断处理。另外,在步骤325,在没有设定DMA Done中断屏蔽时,在检测到DMA Done中断的时点,DMA Done中断发生,进行步骤329的DMADone中断处理。在步骤325,设置DMA Done中断屏蔽时,在检测DMADone中断的时点,DMA Done中断不发生,进入到步骤327,继续其它的Application program的处理。在这之后,在步骤328在解除中断屏蔽的时点,DMA Done中断发生,进行步骤329的DMA Done中断处理。
这样,根据第11实施方式,通过对Miss hit中断后的DMA Done中断,在残留中断主要原因的情况下进行中断屏蔽,能够保护其它的Application program的处理。另外,由于在残留中断主要原因的状态下屏蔽DMA Done中断,在已解除中断屏蔽的时点,再次发生DMA Done中断,能够复归到发生Miss hit中断的Application program。
(第12实施方式)以下说明有关本发明第12实施方式的信息处理控制系统。
图14表示有关本发明第12实施方式的信息处理控制系统的框图。340H表示中断管理机构,341H表示存储程序的存储器,342H为命令解读装置,343H表示状态管理装置。340S作为表示命令的信号线,341S为343H所示的状态管理装置控制342H所示的命令解读装置的控制线。342S为用于控制340H所示的中断管理机构控制342H所示的命令解读装置与343H所示状态管理装置的控制线。在通常的处理器中,不存在343H所示状态管理装置。在命令比特字段之外命令以外的命令,比如,含有暗号化情报等时,存在进行通常的命令的解读的命令解读装置与根据暗号化情报变化状态的状态管理装置。这时,通过从343H的状态管理装置输出的控制线341H,可以改变342H所示的命令解读装置的命令解读方法。
在图14中,340H中断管理机构检测到中断后,与342H表示的命令解读装置和343H所示的状态管理装置连接的342S所示的控制线成为Active。通过让342S成为Active,让342H所示命令解读装置的的输出无效化,进一步,复位343H所示状态管理装置。
这样,根据第12实施方式,在中断发生时,通过复位343H所示的状态管理装置,能防止根据无效的命令让状态管理装置陷入错误状态,中断复位后也能正常进行命令解读。
本发明为需要一边替换在高速缓冲存储器存储的命令一边实现实时处理的系统,比如能够适用于MPEGAV解码器或者数字TV相关的LSI等中。
权利要求
1.一种信息处理控制系统,包括控制操作系统的内核程序以及执行应用的应用程序、存储程序的全部命令的主存储器、只存储必要命令的高速缓冲存储器、和执行在所述高速缓冲存储器中存储的命令的处理器,其特征在于,具有的结构是,按照在所述处理器执行前预先将必要的命令从所述主存储器下载到所述高速缓冲存储器中那样进行控制。
2.根据权利要求1所述的信息处理控制系统,其特征在于,具有的结构是,将内核程序以及应用程序采用某个统一单位细分,按照将每个细分后的单位所必要的命令在所述处理器执行前预先从所述主存储器下载到所述高速缓冲存储器中那样进行控制。
3.根据权利要求2所述的信息处理控制系统,其特征在于,进一步包括高速缓存控制器,其判断在所述高速缓冲存储器中是否存在必要的命令,将必要的命令从所述主存储器传送到所述高速缓冲存储器中;和控制装置,其通过监视所述高速缓存控制器的状态,将程序内部所必要的命令在所述处理器执行前预先从所述主存储器传送到所述高速缓冲存储器中。
4.根据权利要求2所述的信息处理控制系统,其特征在于,具有与细分后的单位相对应的、命令的逻辑地址和物理地址的对应表、和在对应表中的有效/无效flag、Miss hit管理flag、DMA管理flag。
5.根据权利要求4所述的信息处理控制系统,其特征在于,进一步包括Miss hit中断机构,其采用Miss hit发生时的命令获取程序计数器值,实现Miss hit中断处理;具有通过所述Miss hit中断处理,内核程序可以切换应用程序的装置。
6.根据权利要求4所述的信息处理控制系统,其特征在于,进一步具有DMA Done中断机构,其采用Miss hit管理flag和DMA管理flag,产生DMA结束中断;由此具有内核程序能实现复归到发生了Miss hit中断的应用程序的装置。
7.根据权利要求4所述的信息处理控制系统,其特征在于,具有的结构是,将内核程序以及应用程序采用某个统一单位细分,按照将每个细分后的单位所必要的命令在所述处理器执行前预先从所述主存储器下载到所述高速缓冲存储器中那样进行控制。
8.根据权利要求4所述的信息处理控制系统,其特征在于,具有的结构是,作为向所述处理器的中断机构包括Miss hit中断以及DMA结束中断,通过Miss hit中断,内核程序切换应用程序,通过DMA结束中断,内核程序可以复归到发生了Miss hit中断的应用程序。
9.根据权利要求4所述的信息处理控制系统,其特征在于,具有在Miss hit发生时切换应用程序,之后,屏蔽发生的DMA结束中断的机构。
10.根据权利要求4所述的信息处理控制系统,其特征在于,包括对高速缓冲存储器中的命令解读的命令解读装置和管理处理器状态的状态管理装置,具有在发生向处理器的中断后,让命令解读装置的输出无效,进而复位状态管理装置的机构。
11.一种信息处理控制系统,包括控制操作系统的内核程序以及执行应用的应用程序、存储程序的全部命令的主存储器、只存储必要命令的高速缓冲存储器、判断在高速缓冲存储器中是否存在必要的命令并将必要的命令从所述主存储器传送到所述高速缓冲存储器中的高速缓存控制器、和执行在所述高速缓冲存储器中存储的命令的处理器,其特征在于,具有的结构是,作为向所述处理器的中断机构包括Miss hit中断以及DMA结束中断,通过Miss hit中断,内核程序切换应用程序,通过DMA结束中断,内核程序可以复归到发生了Miss hit中断的应用程序。
12.根据权利要求11所述的信息处理控制系统,其特征在于,具有通过监视所述高速缓存控制器的状态,在程序内部切换应用程序的控制机构。
13.根据权利要求11所述的信息处理控制系统,其特征在于,具有与细分后的单位相对应的、命令的逻辑地址和物理地址的对应表、和在对应表中的有效/无效flag、Miss hit管理flag、DMA管理flag。
14.根据权利要求13所述的信息处理控制系统,其特征在于,进一步包括Miss hit中断机构,其采用Miss hit发生时的命令获取程序计数器值,实现Miss hit中断处理;具有通过所述Miss hit中断处理,内核程序可以切换应用程序的装置。
15.根据权利要求13所述的信息处理控制系统,其特征在于,进一步具有DMA Done中断机构,其采用Miss hit管理flag和DMA管理flag,产生DMA结束中断;由此具有内核程序能实现复归到发生了Miss hit中断的应用程序的装置。
16.根据权利要求13所述的信息处理控制系统,其特征在于,具有的结构是,将内核程序以及应用程序采用某个统一单位细分,按照将每个细分后的单位所必要的命令在所述处理器执行前预先从所述主存储器下载到所述高速缓冲存储器中那样进行控制。
17.根据权利要求13所述的信息处理控制系统,其特征在于,具有的结构是,作为向所述处理器的中断机构包括Miss hit中断以及DMA结束中断,通过Miss hit中断,内核程序切换应用程序,通过DMA结束中断,内核程序可以复归到发生了Miss hit中断的应用程序。
18.根据权利要求13所述的信息处理控制系统,其特征在于,具有在Miss hit发生时切换应用程序,之后,屏蔽发生的DMA结束中断的机构。
19.根据权利要求13所述的信息处理控制系统,其特征在于,包括对高速缓冲存储器中的命令解读的命令解读装置和管理处理器状态的状态管理装置,具有在发生向处理器的中断后,让命令解读装置的输出无效,进而复位状态管理装置的机构。
全文摘要
本发明提供一种信息处理控制系统,将程序细分成某个统一单位,通过在处理器执行前将已细分的每个单位所需要的命令从主存储器预先下载到高速缓冲存储器中,削减Miss hit;另外,在Miss hit已发生时,通过切换Application program,隐蔽访问未命中损失,提高程序的运转率,实现一边进行命令替换一边实时处理。通过采用Miss hit History flag(222)和DMA Process flag(223),实现上述功能。
文档编号G06F12/08GK1601488SQ20041001184
公开日2005年3月30日 申请日期2004年9月22日 优先权日2003年9月24日
发明者法贵光典 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1