高速缓冲存储器系统的制作方法

文档序号:6649486阅读:307来源:国知局
专利名称:高速缓冲存储器系统的制作方法
技术领域
本发明涉及高速缓冲存储器(cache memory)系统,更具体地,涉及使用多通道组相联系统回写的替换技术。
背景技术
众所周知,当高速缓冲存储器系统存在高速缓冲存储器错误时,下述两种结构能够确定待被替换的数据块。
(1)根据访问状态选择数据块的结构;(2)根据高速缓冲存储器的状态,通过固定优先权选择数据块的结构。
结构(1)的实例可以是替换最近最少被访问的数据块的结构(称为最近最少使用(LRU)结构),还可以是替换最近最少被替换的数据块的结构(称为先进先出(FIFO)结构)。在实现结构(2)的方法中,存在替换排他不一致(exclusive-discordant)的数据块的结构。
进一步,作为在替换处理中改善总线流量的结构,存在如日本专利未审公开No.11-39218(第3~4页,图1)中所公开的可在上述结构(1)和(2)间切换使用的结构。该结构在下文中将作为现有技术被参考。
在现有技术中,计数器被用来计数高速缓冲存储器的排他不一致条目数,并且如有必要,根据计数器的计数值,切换替换高速缓冲存储器的方法。更具体的,当高速缓冲存储器的排他不一致的条目数少于计数值时,由结构(2)执行替换处理,而当大于时,由结构(1)执行替换处理。
因此,有必要将尽最大可能避免具有高速缓冲存储器排他不一致条目作为替换的目标。以此,可降低回写(write-back)次数,从而改善总线流量。回写也称作回复制(copy-back),意味当待替换的条目为排他不一致时,将数据回写到外部存储器。
然而,在现有技术中,尽管能够通过在上述结构(1)和(2)间切换而降低回写次数,但是没有测量总线负载的措施。因此,在存在多个主控制器的系统中,当由于其他主控制器占用总线而导致总线负载增大时,伴随有回写的替换处理可被执行。故而,本地总线流量增加。
对于诸如数字信号处理器(DSP)之类要求实时处理的处理器,总线流量是影响到关键性处理等待的因素。进一步,在设计总线时,常通过假定最恶劣总线流量情况来设计总线宽度。因此,为实现总线流量非有效分配的传统结构,有必要在设计时为总线宽度设置边际。

发明内容
本发明的目的在于通过考虑总线负载以具有均衡的总线流量。
为克服上面提到的问题,作为本发明的主要基础结构,本发明的高速缓冲存储器系统和运动图像处理器包括高速缓冲存储器;总线负载判决设备,用于对连接到存储高速缓冲存储器的高速缓冲存储器目标数据的记录设备的总线的状态执行判决;以及替换通道控制器,用于根据总线负载判决设备所执行的判决结果控制高速缓冲存储器的替换形式。
该结构能够根据总线负载更改替换形式从而均衡总线流量。例如,在系统具有多个主控制器的情况下,当由于另一主控制器占用总线而产生总线负载时,选择具有低总线负载的无回写替换处理方式。同时,在无总线负载的情况下,选择具有高负载的有回写替换处理方式。故此总线流量变得均衡。这种情况下,高速缓冲存储器优选采用多通道组相联系统的高速缓冲存储器。
上述的本发明基础结构优选进一步包括以下结构。亦即,优选根据对总线状态的判决设置总线负载为有效/无效的总线负载判决设备,以及根据总线负载判决设备的设置状态控制高速缓冲存储器的替换形式的替换通道控制器。
进一步,优选当总线负载被总线负载判决设备判决为有效时,替换通道控制器通过给予优先权给非排他不一致的通道执行替换,当总线负载被判决为无效时,通过给予优先权给排他不一致的通道执行替换。以此,在替换高速缓冲存储器期间,当有总线负载产生的时候,有可能选择具有低总线负载的无回写替换形式。进一步,当无总线负载时,通过给予优先权执行具有高总线负载的有回写替换形式,总线能够被无浪费的使用。
更进一步,优选总线负载判决设备包括总线负载信息保持单元,其采集并保持总线的总线请求保留号;总线负载判决条件设置单元,用于设置用来判决被采集并保持总线请求保留号的总线负载的条件(以下称为判决条件);以及比较器,用于比较总线负载信息保持单元保持的总线请求保留号和总线负载判决条件设置单元设置的判决条件,根据所进行的比较的结果设置总线的负载为有效/无效。以此,有可能仅通过总线请求保留号信息就检测到总线负载。
优选当总线请求保留号大于或等于判决条件时,比较器判决总线负载为有效,在其他情况下判决为无效。
更进一步,期望使总线负载判决设备包括能够从设备外部设置总线负载的存在性的总线负载存在信息设置单元,并且总线负载判决设备根据总线负载存在信息设置单元的设置状态判决总线负载为有效/无效。以此,有可能通过写程序的用户设置总线负载为有效/无效从而在最佳时机更改替换形式。因此,总线被有效利用。
此外,优选总线负载存在信息设置单元根据写在程序中的、表示总线负载为有效或无线的信息,设置总线负载的存在性。
进一步,优选高速缓冲存储器包括多个高速缓冲存储器存储线,在高速缓冲存储器的每一高速缓冲存储器存储线上都存在多个表示排他不一致的脏位的状态下,当总线负载被总线负载判决设备判决为有效时,替换通道控制器通过给予优先权给具有较少脏位有效数的通道执行替换,当被判决为无效时,通过给予优先权给具有较多脏位有效数的通道执行替换。以此,在替换高速缓冲存储器期间,有可能在有总线负载产生且仅有排他不一致通道作为可替换通道的状态下,选择具有更低总线负载的通道方式。同样的,当无总线负载时,有可能选择更高程度使用总线的替换通道方式。
此外,优选高速缓冲存储器包括多个高速缓冲存储器存储线,在高速缓冲存储器中能够执行突发传输(burst transfer)的状态下,当每一高速缓冲存储器存储线上都存在多个表示排他不一致的脏位且有效脏位的数目相互间一致时,替换通道控制器根据高速缓冲存储器的突发传输设置和有效脏位的分布更改待被替换的通道。以此,既便处在替换通道选择期间有效脏位数相等的状态下,随后的处理仍可通过计数突发传输变得可能。也就是说,当有总线负载时,有可能选择具有更低总线负载的替换形式,并且在无总线负载时,有可能选择较高程度利用总线的替换形式。
由于本发明的运动图像处理器具有上述结构,故而有可能防止本地总线流量的增长,亦即,引起系统崩溃的本地存储器访问等待时间。因此,可执行稳定的运动图像处理。
如上所述,本发明有可能根据总线负载更改高速缓冲存储器的替换结构。也就是说,当有总线负载时,执行低总线负载的替换处理。当无总线负载时,执行高总线负载的替换处理。因此,总线能够被有效利用,本地总线流量能够被改善。因此,总线流量能够均衡。更进一步,由于总线负载是均衡的,故而可能在设计总线宽度时设置最佳总线宽度。此外,该运动图像处理器有可能防止诸如丢帧之类的系统失效。


根据以下对优选实施例的描述以及所附的权利要求,本发明的其它目的将变得清晰。通过实施本发明,本领域的技术人员将理解到本发明还可能具有许多其他有益效果。
图1是用于显示根据本发明第一实施例的高速缓冲存储器系统的结构的框图;图2是用于显示根据本发明第二实施例的高速缓冲存储器系统的结构的框图;图3是用于显示根据本发明任一实施例的编译器的结构的功能性框图;
图4是用于设置总线负载存在信息的程序代码的实例;图5是用于显示根据本发明任一实施例的高速缓冲存储器的结构的框图;图6是用于显示当高速缓冲存储器1的高速缓冲存储器存储线上有4个脏位时,脏位存储单元上的脏位的开/关状态的插图;图7是根据本发明任一实施例的替换通道控制单元的替换通道选择处理流程图;图8是根据本发明任一实施例的高速缓冲存储器系统的替换处理流程图;图9是用于显示使用3个具有顺序高速缓冲存储器系统的主控制器以及普通总线的系统的替换处理时序图;图10是用于显示使用3个具有顺序高速缓冲存储器系统的主控制器以及普通总线的系统的替换处理时序图;图11是包括本发明的高速缓冲存储器系统的运动图像处理器的结构框图;图12是由包括本发明的高速缓冲存储器系统的运动图像处理器执行的运动图像处理的流程图;图13是用于描述装备有本发明的高速缓冲存储器系统的运动图像处理器所取得的防止运动图像处理中的失效的效果图。
具体实施例方式
根据本发明的高速缓冲存储器系统的实施例将通过参考附图被详细描述。
图1是用于显示根据本发明第一实施例的高速缓冲存储器系统的结构的框图。图2是用于显示根据本发明第二实施例的高速缓冲存储器系统的结构的框图。
图1的高速缓冲存储器系统包括三个主控制器M1~M3,具有总线负载信息检测器50的总线控制器BC,主控存储器MM,以及总线B1。主控制器M1带有中央处理器(CPU)10和高速缓冲存储器系统CS。高速缓冲存储器系统CS包括回写系统的高速缓冲存储器20、总线负载判决设备30,以及替换通道控制器40。高速缓冲存储器系统CS是n通道组相联系统。作为例子来说,本实施例的高速缓冲存储器系统CS使用4通道组相联系统。
高速缓冲存储器20包括用于每一通道的标签字段TF、脏位存储单元DBH,以及数据存储单元DH。总线负载判决设备30包括总线负载信息保持单元31,其通过从总线控制器BC的总线负载信息检测器50中获取总线请求保留号N1来保持总线负载信息;用于根据CPU 10的命令设置总线负载条件D1的总线负载判决条件设置单元32;以及用于比较总线负载信息保持单元31的值和总线负载判决条件设置单元32的值的比较器33。替换通道控制器40根据作为总线负载判决设备30的判决结果的总线负载信息D2来更改高速缓冲存储器20的替换方法。
在图中,AD是来自CPU 10的地址,DT是数据。D3是通道号、D4是标签信息,而D5是脏位信息。Req是数据请求信号,而Gr是使能信号。
在图2的高速缓冲存储器缓冲存储器系统中,总线负载判决设备30具有根据CPU 10的命令设置总线负载存在信息D1a的总线负载存在信息设置单元34。图2的结构中未提供总线负载信息检测器50,这使得总线请求保留号N1与图2的结构不相关。其他配置与图1中的相同。因此,通过简单的使用相同的参考标号标识相同的部件,可省略相关的描述。
(总线负载检测器)在图1的总线负载判决设备30中,比较器33比较总线负载信息保持单元31的保持值D31和总线负载判决条件设置单元32的条件设置值D32,并根据比较的结果确定总线负载。当保持值D31等于或者大于条件设置值D32时,总线负载被判决为有效。同时,如果保持值D31小于条件设置值D32,总线负载被判决为无效。
例如,当总线请求保留号N1处于高速缓冲存储器存储错误为“3”且保持值D31为“3”,而条件设置值D32被设置为“1”的情况下,总线负载被判决为有效。同时,当总线请求保留号N1处于高速缓冲存储器存储错误为“1”且保持值D31为“1”,而条件设置值D32被设置为“2”的情况下,总线负载被判决为无效。
在图2的结构中,用户指定总线负载存在信息D1a给CPU 10,CPU 10为总线负载判决设备30的总线负载存在信息设置单元34设置总线负载存在信息D1a。由此,总线负载的有效/无效被判决。例如,假定有效总线负载为“1”,而无效总线负载为“0”。在这种情况下,如果用户指定总线负载存在信息D1a为“1”,那么总线负载变为有效。如果用户指定总线负载存在信息D1a为“0”,那么总线负载变为无效。
(编译器)为使用户指定总线负载存在信息D1a给CPU 10,可使用面向CPU 10的编译器指定总线负载存在信息D1a给CPU 10。图3是用于显示编译器60的结构的功能框图。编译器60是一种交叉编译器,其将诸如C语言之类高级语言编写和指定的源程序Pm1,转换成面向CPU 10编程的机器语言Pm2。该编译器60包括分析器61、转换器62,以及输出单元63,其可由运行在诸如个人计算机之类计算机上的程序实现。
分析器61分析作为编译目标的源程序Pm1的标志,以及用户为编译器60指定的总线负载存在信息D1a设置(由程序员实现)。根据所执行的标志分析,分析器61传输总线负载存在信息D1a的指定设置给转换器62和输出单元63,并将作为编译目标的程序转换成内部格式数据。
“编译指示(或者语用命令)”是发给编译器60的命令,其能够由用户在源程序Pm1中任意指定(配置)。编译器60通过写入用于设置总线负载存在信息的命令(#pragma_bus_res“总线负载存在信息”)来指定总线负载存在信息。
图4显示了使用#pragma_bus_res编程代码的实例。在图4中,语言源程序Pm1的总线负载有效设置编译指示说明A1被转换为总线负载有效设置机器语言编程说明A2。
如图4所示,被写为“#pragma_bus_res 1”的语言源程序Pm1被转换为机器语言程序,该机器语言程序发出作为总线负载存在信息的写“1”命令给总线负载存在信息设置单元34。通过机器语言程序,总线负载变为有效。
进一步,被写为#pragma_bus_res 0”的语言源程序被转换为机器语言程序,该机器语言程序发出作为总线负载存在信息的写“0”命令给总线负载存在信息设置单元34。通过机器语言程序,总线负载变为无效。
为总线负载信息设置单元34设置总线负载存在信息D1a的流程由用户设置。在该流程中,首先,“#pragma_bus_res”被写入到语言源程序Pm1。如此,总线负载存在信息被用户指定到高速缓冲存储器系统。
随后,编译器60的分析器61分析总线负载存在信息的指定。随后,转换器62将总线负载存在信息D1a转换为机器语言程序,且该机器语言程序Pm2由输出单元63输出。待输出的机器语言程序由CPU 10执行,而总线负载存在信息D1a由总线负载存在信息设置单元34设置。
(高速缓冲存储器)图5显示了图1和2所示的高速缓冲存储器20的细节。高速缓冲存储器20是具有N个高速缓冲存储器子线SL(0)~SL(N-1)的N通道组相联系统(本实施例是4通道)。N从2q中选择(q是自然数),然而,本实施例中N为4。
高速缓冲存储器20包括多根高速缓冲存储器存储线LW(0)~LW(n),其中n是自然数。高速缓冲存储器存储线LW(0)~LW(n)被提供给每个通道。每一高速缓冲存储器存储线LW(0)~LW(n)都包括标签字段TF(0)~TF(n),脏位存储单元DBH(0)~DBH(n),以及数据存储单元DH(0)~DH(n)。每一高速缓冲存储器存储线LW(0)~LW(n)都具有标签字段TF(0)~TF(n)、脏位存储单元DBH(0)~DBH(n)以及数据存储单元DH(0)~DH(n)中的每一个。添加在代码尾部的号码通用于所有。
能够存储在数据存储单元DH(0)~DH(n)中的数据的数据量被称作高速缓冲存储器存储线容量(Sz1),而能够存储在高速缓冲存储器子线SL(0)~SL(3)中的数据的数据量被称作高速缓冲存储器子线数据量(Sz2)。例如,在实施例中,当高速缓冲存储器存储线容量(Sz1)为128比特、高速缓冲存储器子线SL(0)~SL(3)为4时,高速缓冲存储器子线数据量(Sz2)为32比特。
脏位存储单元DBH(0)~DBH(n)中的每一个都存储与高速缓冲存储器子线SL(0)~SL(3)数目相等数目的脏位(图5中是4个)。脏位存储单元DBH(0)~DBH(n)中的每一个,对应于提供脏位存储单元DBH(0)~DBH(n)的高速缓冲存储器存储线LW(0)~LW(n)的高速缓冲存储器子线SL(0)~SL(3)中的每一个。例如,在图5中,通道2的脏位存储单元DBH(2)上的脏位DB2,对应于通道2的高速缓冲存储器存储线LW2的高速缓冲存储器子线SL(2)。
脏位是用于判决替换数据时是否将当前存储的数据重写到较低层次存储器的字节,其与其他数据存储在高速缓冲存储器存储线LW(0)~LW(n)。例如,当脏位为开(ON)时,存储在高速缓冲存储器存储线LW(0)~LW(n)的数据被重写。
在图5的结构中,脏位与高速缓冲存储器存储线LW(0)~LW(n)一致。因此,判决有必要重写存储在脏位为开的高速缓冲存储器存储线LW(0)~LW(n)的高速缓冲存储器子线SL(0)~SL(3)上的数据。
标签字段TF(0)~TF(n)存储标签。该标签携带用于判决被请求数据是否存储在高速缓冲存储器存储线LW(0)~LW(n)上的信息。
在图5所示的高速缓冲存储器20中,高速缓冲存储器存储线LW(0)~LW(n)被分为多个(图5中是4个)高速缓冲存储器子线SL(0)~SL(3),且与高速缓冲存储器子线SL(0)~SL(3)对应的脏位存储在脏位存储单元DBH。也就是说,在高速缓冲存储器20中,多个脏位存储在每一高速缓冲存储器存储线LW(0)~LW(n)。
然而,可替代图5所示结构的是,每一高速缓冲存储器存储线LW(0)~LW(n)都按照高速缓冲存储器子线划分且提供与高速缓冲存储器子线相应的脏位给脏位存储单元DBH的结构。也就是说,可以是独立脏位存储在每一高速缓冲存储器存储线LW(0)~LW(n)的结构。
(替换通道选择优先权)图6显示的是图5所示每一高速缓冲存储器存储线LW(0)~LW(n)上存储四个数据字节的结构的脏位存储单元DBH上的脏位的开/关(ON/OFF)状态。替换通道控制器40根据图6中所示的脏位状态,确定替换通道选择优先权。替换通道选择优先权是用于决定替换通道的数据。替换通道是由于高速缓冲存储器错误导致在替换高速缓冲存储器中的数据时,待被替换的高速缓冲存储器存储线LW(0)~LW(n)的通道。如图6所示,在4个脏位存储在脏位存储单元DBH的结构中,存在16个状态P0~P15。状态P0~P15的每一个都具有替换通道选择优先权。
(有效总线负载的情况)这里讲的是替换通道的选择方法,用于总线负载被总线负载判决设备30判决为有效时。在这种情况下,选择要替换的总线负载最少的替换通道。在如图6所示的脏位状态下,ON的数目,也就是有效的数目,从状态P0到状态15P顺序递增。因此,替换时待重写的传输量递增,导致总线负载递增。由此,替换通道选择的优先权从状态P0到状态P15递降。换句话说,状态P0的优先权最高,因此在该状态下能被判决为最有可能将被替换。
在不符合突发传输的高速缓冲存储器系统中,状态集合P1~P4、状态集合P5~P10、状态集合P11~P14的每一个具有相同的优先权。形成这种优先权的原因是在每一集合中脏位的有效数目是相同的。
同时,符合突发传输的高速缓冲存储器系统的优先权如下所述。亦即,当在系统中突发传输时传输数据量两倍于高速缓冲存储器子线SL(0)~SL(3)的数据量,状态集合P1~P4、状态集合P5、P6,以及状态集合P7~P10中每一个具有相同的优先权。
由于在不符合突发传输的上述高速缓冲存储器系统中,各脏位的有效数目相同,故而状态集合P1~P4和状态集合P11~P14中每一个具有相同的优先权。然而,状态P5、P6,以及状态P7~P10的有效脏位数目虽然相同,但是下述原因导致了它们之间的差异。
亦即,当突发传输量两倍于高速缓冲存储器子线时,有必要以状态P7~P10执行两次突发传输,反之要求以状态P5、P6突发传输一次。因此,以状态P5、P6替换时的总线负载小于状态P7~P10。在存在多个具有相同优先权的通道的情况下,按照具有最小通道号的顺序选择。
进一步,当存在多个具有相同优先权的通道时,有必要基于多个具有相同优先权的通道各自的访问状态确定选择哪个通道。换句话说,有必要使用诸如分配最高优先权并替换当前最少被访问的数据所存储的通道的当前最少使用(LRU)系统,以及分配最高优先权并替换当前最少被替换的数据所存储的通道的先进先处(FIFO)系统的系统。因此,这能使通道替换处理的执行考虑到时间地点,以此改善高速缓冲存储器的命中率。
(无效总线负载的情况)这里讲的是替换通道的选择方法,用于总线负载被总线负载判决设备30判决为无效时。在这种情况下,选择总线能够被替换更有效使用的替换通道。在图6所示的脏位状态下,ON的数目,也就是有效的数目,从状态P0到状态P15顺序递增。因此,替换时待重写的传输量递增,导致总线负载递增。因此,替换通道选择的优先权从状态P0到状态P15递降。换句话说,状态P0的优先权最高,因此在该状态下能被判决为最有可能见被替换。
在不符合突发传输的高速缓冲存储器系统中,状态集合P1~P4、状态集合P5~P10、状态集合P11~P14中每一个具有相同的优先权。形成这种优先权的原因是在每一集合中脏位的有效数目是相同的。
同时,符合突发传输的高速缓冲存储器系统的优先权如下所述。亦即,当在系统中突发传输时传输数据量两倍于高速缓冲存储器子线SL(0)~SL(3)的数据量,状态集合P1~P4、状态集合P5、P6,以及状态集合P7~P10中每一个具有相同的优先权。
由于在不符合突发传输的上述高速缓冲存储器系统中,各脏位的有效数目相同,故而状态集合P1~P4和状态集合P11~P14中每一个具有相同的优先权。然而,状态P5、P6,以及状态P7~P10的有效脏位数目虽然相同,但是下述原因导致了它们之间的差异。
亦即,当突发传输量两倍于高速缓冲存储器子线时,有必要以状态P7~P10执行两次突发传输,反之要求以状态P5、P6突发传输一次。因此,以状态P5、P6替换时的总线负载小于状态P7~P10。在存在多个具有相同优先权的通道的情况下,按照具有最小通道号的顺序选择。
图6显示了每一高速缓冲存储器存储线LW(0)~LW(n)都存储有四个脏位的结构。但是,每一高速缓冲存储器存储线LW(0)~LW(n)都存储独立脏位的结构亦可参照图6进行描述。在图6中结构的每高速缓冲存储器存储线LW(0)~LW(n)都存储独立脏位的情况下,由于独立脏位存储在高速缓冲存储器存储线LW(0)~LW(n)的状况,可认为状态P1~P15是相同状态。相应的,状态P1~P15能被认为是独立脏位有效的状态。
在独立脏位存储在每一高速缓冲存储器存储线LW(0)~LW(n)的状态下,替换通道选择优先权如下。亦即,当总线负载判决设备30判决在该状态下总线负载有效时,选择替换时总线负载变小的替换通道。因此,通道的选择按照从脏位无效的状态P0的通道到脏位有效的状态P1~P15的通道的顺序。同时,当总线负载判决设备30判决在该状态下无总线负载时,优先权被倒置。因此,通道的选择按照从脏位有效的状态P1~P15的通道到脏位无效的状态P0的通道的顺序。当存在多个具有相同优先权的通道时,按照具有最小通道号的顺序选择通道。
(替换处理)图7显示了本实施例的高速缓冲存储器系统执行替换处理的流程图。当存在来自CPU 10的访问以及高速缓冲存储器错误时,总线负载判决设备30检测总线负载(S11)。
而后,替换通道控制器40确定替换通道(S12)。有关的详情已参照图6进行了描述。
然后,如果位于替换通道的高速缓冲存储器存储线上的脏位是ON,则进入步骤S14,如果脏位不是ON,则进入步骤S15(S13)。
当位于替换通道的高速缓冲存储器存储线上的脏位是ON时,替换通道的高速缓冲存储器数据被回写(S14)。
在步骤S14中执行回写处理并且步骤13判决脏位不是ON后,来自CPU 10的访问地址数据被存储到替换通道的高速缓冲存储器存储线(S15)。由此,替换处理完成。
(替换通道选择)图8所示是由由图7中的步骤12所描述的替换通道控制器40执行的替换通道选择处理的流程图。首先,基于由总线负载设备30提供的总线负载信息,替换通道选择优先权被确定(S21)。
而后,设置替换通道、通道和有效替换优先权每一个的初始值。替换通道是待被替换的通道且其初始值为0。通道是在随后步骤中待被处理的相应通道且其初始值为0。有效替换优先权是替换通道的替换优先权,且其初始值为步骤S21中确定的替换通道选择优先权顺序中的最低优先权。(S22)随后,当高速缓冲存储器20是N通道组相联高速缓冲存储器时,判决其是否达到通道N。当判决其达到通道N时,结束图8的循环处理(S23)。当步骤S23中判决其未达到通道N时,继续图8中的循环处理,由此进入步骤S24。
在步骤S24中,通道替换优先权由相应通道的脏位信息确定。相应通道的脏位信息显示了相应通道的脏位状态(ON/OFF),也就是,图6所示的状态P0~P15。替换通道优先权是从上述相应通道的脏位信息中获取的替换优先权。
而后,通过步骤S24的处理所获取的通道替换优先权与有效替换优先权相比较(S25)。当步骤S25的比较处理中判决通道替换优先权高于有效替换优先权时,进入步骤S26。当判决通道替换优先权较低时,进入步骤S28。
随后,通道替换优先权被有效替换优先权取代,且该通道被替换通道取代。
而后,判决步骤S26中获取的有效替换优先权是否为步骤S21中所确定的替换通道选择优先权顺序中的最高优先权(S27)。当步骤S27的处理中判决为NO时,进入步骤S28,而当判决为YES时(最高优先权),进入步骤S29(S27)。
在步骤S28中,增加一种通道后,返回到判决是否结束循环处理的步骤S23。
在步骤S29中,步骤S26中获取的替换通道最终确定为替换通道,处理结束。
(效果)本实施例的高速缓冲存储器的效果将参照图9和图10进行描述。图9和图10显示了主控制器M1~M3的处理,其中水平轴为时间(周期),垂直轴为总线请求号。主控制器M1~M3中的每一个都具有采用4通道组相联系统的回写系统高速缓冲存储器20。
作为比较例,图9显示了通过给予优先权给排他不一致通道而执行替换的常见高速缓冲存储器系统的处理结果。图10显示了本实施例的高速缓冲存储器系统的处理结果。
图9和图10所示的处理结果是当在如下条件下执行处理时得到的数据。
图9和图10的处理是假定如下条件执行的。
-高速缓冲存储器系统中总线负载判决条件设置单元32的条件设置值D3被设置为“1”,并在高速缓冲存储器错误时的总线请求保留号N1为“1”或更大时,总线负载被判决为有效。
-在主控制器M1的高速缓冲存储器20的通道上存在一个非排他不一致独立数据和三个排他不一致数据。
-在主控制器M2和M3的高速缓冲存储器20的通道上存在四个非排他不一致数据。
-在第20周期和第80周期上存在由写入引起的高速缓冲存储器错误产生的主控制器M1替换处理请求。
-在第70周期上存在由写入引起的高速缓冲存储器错误产生的主控制器M2替换处理请求。
-在第90周期上存在由写入引起的高速缓冲存储器错误产生的主控制器M3替换处理请求。
-无回写的替换处理需要20个周期。
-有回写的替换处理需要40个周期。
在执行上述处理之后,该比较例能获取图1所示的以及下文中所描述的结果。
-主控制器M1在第20周期执行替换处理选择排他不一致通道,无回写替换处理被执行,且该处理结束于第40周期(r1)。
-在第70周期处主控制器M2的替换处理中,开始无回写替换处理,且该处理结束于第90周期(r2)。
-尽管主控制器M1的替换处理在第80周期(r3)产生,但其中处理的执行等待直到主控制器M2的替换处理结束的第90周期(r4)。
-主控制器M1的替换处理开始于第90周期(r4)。然而,在此时刻,仅存在由主控制器M1的高速缓冲存储器20保留的排他不一致数据。因此,有回写替换处理被执行且该处理结束于第130周期(r5)。
-尽管主控制器M3的替换处理产生在第90周期(r6),但其中处理的执行等待直到主控制器M1的替换处理结束的第130周期(r5)。
-无回写的替换处理开始于第130周期(r7),且该处理结束于第150周期(r8)。
在上述处理中,整个替换处理结束于第150周期。
同时,本实施例取得了如图10所示并在下文中描述的结果。
-在第20周期由主控制器M1执行的替换处理中,不存在其他原因引起的总线负载。因此,排他不一致的通道被选择,有回写替换处理被执行,且该处理结束于第60周期(R1)。
-在第70周期执行无回写替换处理,其中处理结束于第90周期(R2)。
-尽管主控制器M1的替换处理产生在第80周期(R3),但其中处理的执行等待到主控制器M2的替换处理结束的第90周期(R2)。
-主控制器M1的替换处理开始于第90周期(R4)。然而,主控制器M2的替换处理在第80周期的替换处理请求下执行,以使总线请求保留号N1为“1”。因此,总线负载被判决为有效。基于该判决,排他不一致的通道被选择且无回写替换处理被执行。该处理结束于第110周期(R5)。
-尽管主控制器M3的替换处理产生在第90周期(R6),当其中处理的执行等待直到主控制器M1的替换处理结束的第110周期(R5)。
-无回写替换处理在第110周期(R7)被执行,且其中处理结束于第130周期(R8)。
在上述的处理中,整个替换处理结束于第130周期。
如上文中所清楚的,本实施例的高速缓冲存储器系统的处理时间,较之比较例缩短了20个周期。
(运动图像处理器)图11是用于显示根据本发明的实施例的运动图像处理器的结构的框图。运动图像处理器80包括半导体设备70,用于输入运动图像数据Dd的输入单元81,用于输出运功图片图像给运动图像显示单元90的输出单元82,以及电源单元83。
半导体处理设备70包括微处理器μP1、μP2,总线控制器BC,存储器(主控存储器)MM,总线B1,以及IO接口71。
微处理器μP1、μP2的每一个都包括本发明的高速缓冲存储器系统和CPU(控制器)10。微处理器μP1主要控制整个设备,而微处理器μP2主要控制运动图像处理。
(运动图像处理流程)图12显示了运动图像处理器执行运动图像处理的流程。首先,DVD-VIDEO或类似的运动图像数据Dd从输入单元81输入(S31)。当运动图像数据Dd在步骤S31中从处理单元81输入时,微处理器μP1命令微处理器μP2执行对运动图像数据的运动图像处理。接收到命令后,微处理器μP2开始运动图像处理(S32)。当运动图像处理开始时,判决在微处理器μP2执行运动图像处理期间是否有高速缓冲存储器存储错误产生(S33)。
当步骤S33中判决有高速缓冲存储器错误产生时,高速缓冲存储器系统CS执行图7所示步骤S11的替换处理。
步骤S34的替换处理(步骤S11)根据对总线B1总线负载的判决而变化。亦即,在具有高速缓冲存储器错误时,如果微处理器μP1没有存储器访问且总线B1的总线负载被判决为无效,则执行有效利用总线B1的替换处理。同时,在具有高速缓冲存储器错误时,如果其他微处理器μP1有存储器访问且总线B1的总线负载被判决为有效,则执行总线B1上有较小负载的替换处理。
当步骤S34的替换处理结束时,或者判决步骤S33的运动图像处理期间无高速缓冲存储器错误产生时,该点处运动图像处理是否结束被确定(S35)。如果步骤S35的处理中判决运动图像处理结束,则该处理被结束的运动图像数据从输出单元82输出到运动图像显示单元90(S36)。以此,一系列步骤的处理结束。同时,如果步骤S35中判决运动图像处理未结束,则返回到步骤S32以重复运动图像处理。
(通过高速缓冲存储器系统所获取的防止运动图像处理失效的效果)将参照图13描述通过本实施例的运动图像处理器所获取的防止运动图像处理失效的效果。图13的上侧图表显示了时序上的帧处理状态,其由装备有传统高速缓冲存储器的运动图像处理器执行。下侧图表显示了时序上的帧处理状态,其由本实施例的运动图像处理器80执行。帧处理是运动图像处理中的一种基本处理,意味着在一帧的显示阶段处理待在随后显示的图像。图13所示状态将在下文中描述。
高速缓冲存储器20具有4通道组相联系统结构,并假定高速缓冲存储器20已具有3个数据排他不一致的通道和1个数据非排他不一致的通道。
在图13上侧和下侧的两幅图表中,第2帧和第4帧处有存储器访问等待时间(等待时间)产生。
图13的上侧和下侧图表中第2帧的处理产生的存储器访问等待时间,其产生如下。亦即,在其他主处理器无存储器访问的状态下,当由于写访问而导致产生高速缓冲存储器错误时,用于替换处理非排他不一致数据的存储器访问等待时间被产生。
在对比例的高速缓冲存储器中,在上述替换处理中存在高速缓冲存储器的4通道的排他不一致数据。因此,在第4帧的处理中,由于在第2帧产生的存储器访问等待时间,故运动图像处理不能在一帧的显示阶段结束而引起运动图像失效。其原因在于在具有来自其他主控制器的访问的状态下产生了高速缓冲存储器错误,并且有回写替换处理被执行,导致仅有排他不一致数据保留在高速缓冲存储器访问中。这种替换处理要求用于存储器访问的时间,故此引起运动图像处理失效。
在本实施例的高速缓冲存储器系统中,在不存在来自其他主控制器的存储器访问的状态下,有回写的替换处理通过有效利用总线实现。因此,在第4帧的处理中产生的存储器访问等待时间,由与在第2帧的情况下相同的原因引起。在本实施例的情况下,如下侧图表所示,不存在引起运动图像失效。其原因在于,在本实施例的高速缓冲存储器系统中,无回写替换处理被执行以免在存在来自其他主控制器的存储器访问的状态下施加总线负载。以此,在装备有本实施例的高速缓冲存储器系统的运动图像处理器中,有可能通过抑制本地存储器访问等待时间的产生而防止运动图像处理失效。
如上所述,本发明的高速缓冲存储器系统,作为用在多个主控制器使用共同总线的系统中使总线流量均衡的技术来说是有效的。在该系统中,根据总线负载来更改替换方法从而均衡总线流量。因此,有可能防止本地总线流量的产生。因此,本发明最适宜用于可能因本地总线流量引起诸如丢帧等之类系统失效的运动图像处理器中。进一步,其作为通过均衡总线流量而降低总线宽度的技术也是有效的。
本发明已参照最优实施例进行了详细描述。然而,在不背离所附权利要求精神和广义范围的基础上,对其中部件的组合和修改是可能的。
权利要求
1.一种高速缓冲存储器系统,包括高速缓冲存储器;总线负载判决设备,用于对连接到记录设备的总线的状态执行判决,该记录设备中存储所述高速缓冲存储器的高速缓冲存储器目标数据;以及替换通道控制器,用于根据由所述总线负载判决设备执行的所述判决的结果来控制所述高速缓冲存储器的替换形式。
2.根据权利要求1所述的高速缓冲存储器系统,其中所述高速缓冲存储器是多通道组相联系统中的高速缓冲存储器。
3.根据权利要求1所述的高速缓冲存储器系统,其中所述总线负载判决设备根据对所述总线状态的所述判决设置所述总线负载为有效/无效;并且所述替换通道控制器根据所述总线负载判决设备的设置状态控制所述高速缓冲存储器的所述替换形式。
4.根据权利要求3所述的高速缓冲存储器系统,其中当所述总线负载被所述总线负载判决设备判决为有效时,所述替换通道控制器通过向非排他不一致的通道给予优先权而执行替换,当所述总线负载被判决为无效时,通过向排他不一致的通道给予优先权而执行替换。
5.根据权利要求3所述的高速缓冲存储器系统,其中所述总线负载判决设备包括采集并保持所述总线的总线请求保留号的总线负载信息保持单元;总线负载判决条件设置单元,用于设置用来判决所述被采集并保持的所述总线请求保留号中的所述总线负载的条件(以下称为判决条件);以及比较器,比较所述总线负载信息保持单元中保持的所述总线请求保留号和在所述总线负载判决条件设置单元中设置的所述判决条件,并且从而根据所执行的比较结果设置所述总线的负载为有效/无效。
6.根据权利要求5所述的高速缓冲存储器系统,其中当所述总线请求保留号大于或等于所述判决条件时,所述比较器判决所述总线负载为有效,在其他情况下,判决为无效。
7.根据权利要求3所述的高速缓冲存储器系统,其中所述总线负载判决设备包括能够从所述设备的外部设置所述总线负载的存在性的总线负载存在信息设置单元,所述总线负载判决设备根据所述总线负载存在信息设置单元的设置状态判决所述总线负载为有效/无效。
8.根据权利要求7所述的高速缓冲存储器系统,其中所述总线负载存在信息设置单元根据写在程序中的、表示所述总线负载为有效或无线的信息,设置所述总线负载的存在性。
9.根据权利要求3所述的高速缓冲存储器系统,其中所述高速缓冲存储器包括多个高速缓冲存储器存储线;并且在所述高速缓冲存储器的每一高速缓冲存储器存储线中都存在多个表示排他不一致的脏位的状态下,当所述总线负载被所述总线负载判决设备判决为有效时,所述替换通道控制器通过向具有较少脏位有效数的通道给予优先权而执行替换,当被判决为无效时,通过向具有较多脏位有效数的通道给予优先权而执行替换。
10.根据权利要求3所述的高速缓冲存储器系统,其中所述高速缓冲存储器包括多个高速缓冲存储器存储线;并且在所述高速缓冲存储器能够执行突发传输的状态下,当每一所述高速缓冲存储器存储线中都存在多个表示排他不一致的脏位且有效脏位的数目相互间一致时,所述替换通道控制器根据所述高速缓冲存储器的突发传输设置和所述有效脏位的分布而更改待被替换的通道。
11.一种处理输入数据并将其以运动图像数据输出的运动图像处理器,所述处理器包括高速缓冲存储器;总线负载判决设备,用于对连接到记录设备的总线的状态执行判决,该记录设备中存储所述高速缓冲存储器的高速缓冲存储器目标数据;替换通道控制器,用于根据由所述总线负载判决设备执行的所述判决的结果来控制所述高速缓冲存储器的替换形式;控制器,用于访问所述高速缓冲存储器;记录设备,用于记录所述控制器的命令或所述数据;总线,用于在所述控制器和所述记录设备之间传输所述命令或所述数据;以及总线控制器,用于向所述总线负载判决设备输出关于所述总线负载的信息。
12.根据权利要求11所述的运动图像处理器,其中所述高速缓冲存储器是多通道组相联系统中的高速缓冲存储器。
13.根据权利要求11所述的运动图像处理器,其中所述总线负载判决设备根据对所述总线状态的所述判决设置所述总线负载为有效/无效;并且所述替换通道控制器根据所述总线负载判决设备的设置状态控制所述高速缓冲存储器的所述替换形式。
14.根据权利要求13所述的运动图像处理器,其中当所述总线负载被所述总线负载判决设备判决为有效时,所述替换通道控制器通过向非排他不一致的通道给予优先权而执行替换,当所述总线负载被判决为无效时,通过向排他不一致的通道给予优先权而执行替换。
15.根据权利要求13所述的运动图像处理器,其中所述总线负载判决设备包括采集并保持所述总线的总线请求保留号的总线负载信息保持单元;总线负载判决条件设置单元,用于设置用来判决所述总线请求保留号中的所述总线负载的条件(以下称为判决条件);以及比较器,比较所述总线负载信息保持单元中保持的总线请求保留号和在所述总线负载判决条件设备单元中设置的所述判决条件,并且从而根据所执行的比较结果设置所述总线的负载为有效/无效。
16.根据权利要求15所述的运动图像处理器,其中当所述总线请求保留号大于或等于所述判决条件时,所述比较器判决所述总线负载为有效,在其他情况下,判决为无效。
17.根据权利要求13所述的运动图像处理器,其中所述总线负载判决设备包括能够从所述设备的外部设置所述总线负载的存在性的总线负载存在信息设置单元,所述总线负载判决设备根据所述总线负载存在信息设置单元的设置状态判决所述总线负载为有效/无效。
18.根据权利要求17所述的运动图像处理器,其中所述总线负载存在信息设置单元根据写在程序中的、表示所述总线负载有效或无线的信息,设置所述总线负载的存在性。
19.根据权利要求13所述的运动图像处理器,其中所述高速缓冲存储器包括多个高速缓冲存储器存储线;并且在所述高速缓冲存储器的每一高速缓冲存储器存储线中都存在多个表示排他不一致的脏位的状态下,当所述总线负载被所述总线负载判决设备判决为有效时,所述替换通道控制器通过向具有较少脏位有效数的通道给予优先权而执行替换,当被判决为无效时,通过向具有较多脏位有效数的通道给予优先权而执行替换。
20.根据权利要求13所述的运动图像处理器,其中所述高速缓冲存储器包括多个高速缓冲存储器存储线;并且在所述高速缓冲存储器能够执行突发传输的状态下,当每一所述高速缓冲存储器存储线中都存在多个表示排他不一致的脏位且有效脏位的数目相互间一致时,所述替换通道控制器根据所述高速缓冲存储器的突发传输设置和所述有效脏位的分布而更改待被替换的通道。
21.一种高速缓冲存储器控制方法,包括总线负载判决步骤,用于判决连接到记录设备的总线的状态,该记录设备中存储高速缓冲存储器的高速缓冲存储器目标数据;以及替换通道控制步骤,用于根据在所述总线负载判决步骤中执行的判决的结果来控制所述高速缓冲存储器的替换形式。
22.根据权利要求21所述的高速缓冲存储器控制方法,其中所述高速缓冲存储器是多通道组相联系统中的高速缓冲存储器。
23.根据权利要求21所述的高速缓冲存储器控制方法,其中在所述总线负载判决步骤,根据所述对总线状态的判决,所述总线负载被设置为有效/无效;并且在所述替换通道控制步骤,根据在所述总线负载判决步骤中设置的设置状态,所述高速缓冲存储器的替换形式被控制。
24.根据权利要求23所述的高速缓冲存储器控制方法,其中,在所述替换通道控制步骤,当所述总线负载在所述总线负载判决步骤中被判决为有效时,通过向非排他不一致的通道给予优先权而执行替换,当所述总线负载被判决为无效时,通过向排他不一致的通道给予优先权而执行替换。
25.根据权利要求23所述的高速缓冲存储器控制方法,其中所述总线负载判决步骤包括总线负载信息采集步骤,采集所述总线的总线请求保留号;总线负载判决条件设置步骤,用于设置用来判决所述被采集的总线请求保留号中的所述总线负载的条件(以下称为判决条件);以及比较步骤,用于比较所述被采集的总线请求保留号和被设置的所述判决条件,并且从而根据所执行的比较结果设置所述总线的负载为有效/无效。
26.根据权利要求25所述的高速缓冲存储器控制方法,其中,在所述比较步骤,当所述总线请求保留号大于或等于所述判决条件时,所述总线负载被判决为有效,在其他情况下,所述总线负载被判决为无效。
27.根据权利要求23所述的高速缓冲存储器控制方法,其中,在所述总线负载判决步骤,根据所述总线负载存在性的设置状态,所述总线负载被判决为有效/无效。
28.根据权利要求27所述的高速缓冲存储器控制方法,其中,在所述总线负载存在信息设置步骤,根据写在程序中的、表示所述总线负载为有效或无线的信息,所述总线负载的存在性被设置。
29.根据权利要求23所述的高速缓冲存储器控制方法,其中所述高速缓冲存储器包括多个高速缓冲存储器存储线;并且在所述高速缓冲存储器的每一高速缓冲存储器存储线中都存在多个表示排他不一致的脏位的状态下,当所述总线负载被所述总线负载判决步骤判决为有效时,所述替换通道控制步骤通过向具有最少脏位有效数的通道给予优先权而执行替换,当被判决为无效时,通过向具有较多脏位有效数的通道给予优先权而执行替换。
30.根据权利要求23所述的高速缓冲存储器控制方法,其中所述高速缓冲存储器包括多个高速缓冲存储器存储线;并且在所述高速缓冲存储器能够执行突发传输的状态下,当每一所述高速缓冲存储器存储线中都存在多个表示排他不一致的脏位且有效脏位的数目相互间一致时,所述替换通道步骤根据所述高速缓冲存储器的突发传输设置和所述有效脏位的分布而更改待被替换的通道。
全文摘要
本发明提供的高速缓冲存储器系统是具有多个主控制器并有效使用总线带宽的系统。该高速缓冲存储器系统包括高速缓冲存储器;总线负载判决设备,用于对连接到存储高速缓冲存储器的高速缓冲存储器目标数据的记录设备的总线的状态执行判决;以及替换通道控制器,用于根据总线负载判决设备所执行的判决结果控制高速缓冲存储器的替换形式。
文档编号G06F12/12GK1763731SQ200510109488
公开日2006年4月26日 申请日期2005年10月20日 优先权日2004年10月20日
发明者宫下贵典, 柴田耕作, 津幡真太郎 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1