高速缓冲存储器、存储器系统及其控制方法技术方案

技术编号:7150059 阅读:240 留言:0更新日期:2012-04-11 18:40
本发明专利技术的L2高速缓存(202)具有:第1端口(211),来自CPU(201)的指令输入到该第1端口;第3端口(213),来自DMAC(205)的指令输入到该第3端口;命中判定部(71),在有指令输入到第3端口(213)时,判定L2高速缓存(202)是否存放有该指令所指定的地址的数据;以及DMAC访问控制部(63),在有指令输入到第3端口(213)并且由命中判定部(71)判定为存放有的情况下,进行用于保持该存放的数据和存放于存储器(204)的数据之间的一致性的处理,并且,将所述输入的指令作为从DMAC(205)输出的指令向存储器(204)输出。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种,特别是,根据来自处理器的访问而存放主存储器中存放的数据的一部分的高速缓冲存储器以及包含该高速缓冲存储器的存储器系统。
技术介绍
在近年的存储器系统中,例如,将由SRAM(静态随机存取存储器,Matic Random Access Memory)等构成的小容量且高速的高速缓冲存储器配置在微处理器的内部或者其附近。在这样的存储器系统中,通过将微处理器从主存储器读出的数据的一部分以及写入主存储器的数据的一部分存储在高速缓冲存储器(高速缓存)中,而使微处理器的存储器访问高速化。图14是表示以往的存储器系统100的结构的图。图14所示的存储器系统100具有CPU101、高速缓冲存储器102、存储控制器103、作为主存储器的存储器104、DMAC (直接存储器存取控制器,Direct Memory AccessController) 105。在从CPUlOl向存储器104发生了访问的情况下,高速缓冲存储器102判定自身是否已经存放有该访问目的地的地址的数据,在存放有的情况下(以下称为命中(hit)),将该存放的数据向CPU101输出(读取时),或者,更新该数据(写入时)。另外,在没有存放该访问目的地的地址的数据的情况下(以下称为高速缓存未命中(cache miss)),高速缓冲存储器102存放从CPU101输出的该地址以及数据(写入时),或者,在从存储器104读出该地址的数据后予以存放,并且将读出的数据向CPU101输出(读取时)。另外,在高速缓存未命中的情况下,高速缓冲存储器102判断在该高速缓冲存储器102内是否有存放新的地址以及数据的空着的区域,在没有空着的区域的情况下,进行行更换(替换(i^place))以及根据需要回写(清除(purge))等的处理。在这里,在以往的存储器系统100中,在写入时临时在高速缓冲存储器102中存放写入数据。由此,产生存放在存储器104中的数据和存放在高速缓冲存储器102中的数据不同的状态。即,在该状态下,当DMAC105访问了存储器104时,产生不保持CPU101和 DMAC105中的数据的一贯性(一致性(coherency))的问题。为了保持该一致性,CPU101在向高速缓冲存储器102进行了写入后,需要指示高速缓冲存储器102进行回写(清除)。但是,CPU101在该清除处理结束之前,不能进行接下来的处理。即,存在CPU101的处理性能降低的问题。另外,在具有二级高速缓存的存储器系统中,由于需要对一级高速缓存以及二级高速缓存进行该清除处理,所以,CPU101的处理性能的降低进一步扩大。对应于该问题,已知有将高速缓冲存储器102由CPU101和DMAC105共用的方法 (例如,参照专利文献1)。以下,对共享高速缓冲存储器102的以往的存储器系统110进行说明。图15是表示共享高速缓冲存储器102的以往的存储器系统110的结构的图。图15所示的存储器系统110除了具有图14所示的结构之外,还具有总线106。由此,在CPUlOl和DMAC105使用存放于存储器104的相同的数据的情况下,DMAC105能够经由总线106与CPUlOl同样地访问高速缓冲存储器102。图16是表示与来自DMAC105的访问相对应的高速缓冲存储器102的动作的概略的图。如图16所示,在读取时并且命中的情况下,高速缓冲存储器102将命中的数据向 DMAC105输出。另外,在写入时且命中的情况下,高速缓冲存储器102更新所命中的数据。另外,在读取时且高速缓存未命中的情况下,高速缓冲存储器102在从存储器104 读出数据后予以存放,并且,将读出的数据向DMAC105输出,或者,DMAC105从存储器104读出数据。另外,在写入时且高速缓存未命中的情况下,高速缓冲存储器102存放从DMAC105 输出的地址以及数据,或者,DMAC105向存储器104写入数据。通过以上的结构,即使CPUlOl更新了高速缓冲存储器102的数据,由于DMAC105 读出更新后的高速缓冲存储器102的数据,所以,CPUlOl不需要进行上述的清除处理。由此,存储器系统110在保持一致性的同时,能够抑制CPUlOl的处理性能的低下。现有技术文献专利文献专利文献1 日本特开2002-278834号公报专利技术概要专利技术所要解决的课题但是,图15所示的存储器系统110由于需要具有总线106,所以,与图14所示的存储器系统100相比,存在面积增加的问题。这个问题在存储器系统110内包含多个DMAC105 等主设备的情况下显得尤为突出。另外,在作为DMAC105和存储器104之间的数据传送中使用的协议而使用多个总线协议的情况下,存在DMAC105和高速缓冲存储器102的接口复杂化的问题。
技术实现思路
因此,本专利技术的目的在于提供一种存储器系统以及高速缓冲存储器,该存储器系统以及高速缓冲存储器在抑制为了保持一致性而产生的CPU等的处理器的处理性能降低的问题的同时,能够抑制面积的增加以及高速缓冲存储器的接口的复杂化。用于解决课题的手段为了达成上述目的,本专利技术的高速缓冲存储器根据来自处理器的访问,存放主存储器的数据的一部分,具有第1端口,来自所述处理器的指令输入到该第1端口;第2端口,来自所述处理器以外的主设备的指令输入到该第2端口 ;命中判定部,在有指令输入到所述第1端口以及所述第2端口时,该命中判定部判定该高速缓冲存储器是否存放有与该指令所指定的地址对应的数据;以及第1控制部,在所述指令输入到所述第2端口并且由所述命中判定部判定为存放有的情况下,该第1控制部进行用于保持与所述指令所指定的地址对应并由该高速缓冲存储器存放着的数据、和存放于所述主存储器的数据之间的一致性的处理,并且,将所述输入的指令作为从所述主设备输出的指令而向所述主存储器输出。根据该结构,在来自DMAC等的主设备的访问命中了的情况下,本专利技术的高速缓冲存储器不将该命中的数据向主设备输出或者将该命中的数据更新,而是在进行了用于保持该命中的数据和存放于主存储器的数据之间的一致性的处理之后,向主存储器输出指令。由此,即使在高速缓冲存储器的数据被CPU等处理器更新了的情况下,在从主设备向主存储器访问时,通过高速缓冲存储器进行用于保持一致性的处理。由此,在之后根据由高速缓冲存储器输出的指令而发生的向主存储器的访问中,保持高速缓冲存储器和主存储器的一致性。由此,CPU等处理器,不需要在进行写入处理后指示高速缓冲存储器进行清除处理等用于保持一致性的处理。这样,本专利技术的高速缓冲存储器由于能够削减清除处理, 所以,能够抑制为了保持一致性而产生的处理器的处理性能降低。另外,在本专利技术的高速缓冲存储器中,即使在来自主设备的访问命中了的情况下, 也不需要在该高速缓冲存储器和主设备之间进行读取数据或者写入数据的传送。由此,不需要在该高速缓冲存储器和主设备之间形成用于传送读取数据或者写入数据的总线。由此,能够削减本专利技术的包含高速缓冲存储器的存储器系统的面积。另外,由于读取数据或者写入数据不经由高速缓冲存储器,所以,不需要增加用于主设备和高速缓冲存储器之间数据传送的新的控制。即,本专利技术能够抑制主设备和高速缓冲存储器的接口的复杂化。另外,还可以为,所述第1控制部具有第1读取控制部,在将读取指令作为本文档来自技高网
...

【技术保护点】
1.一种高速缓冲存储器,该高速缓冲存储器根据来自处理器的访问,存放主存储器的数据的一部分,其特征在于,具有:第1端口,来自所述处理器的指令输入到该第1端口;第2端口,来自所述处理器以外的主设备的指令输入到该第2端口;命中判定部,在有指令输入到所述第1端口以及所述第2端口时,该命中判定部判定该高速缓冲存储器是否存放有与该指令所指定的地址对应的数据;以及第1控制部,在所述指令输入到所述第2端口并且由所述命中判定部判定为存放有的情况下,该第1控制部进行用于保持与所述指令所指定的地址对应并由该高速缓冲存储器存放着的数据、和存放于所述主存储器的数据之间的一致性的处理,并且,将所述输入的指令作为从所述主设备输出的指令而向所述主存储器输出。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:礒野贵亘
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1