当前位置: 首页 > 专利查询>威廉V米勒专利>正文

与填写中的快取线平行使用的可存取缓冲区及其控制方法技术

技术编号:2850891 阅读:167 留言:0更新日期:2012-04-11 18:40
一快取系统,用以连接一计算机系统的一处理器,以提升处理器的存取速度。该快取系统包含一与处理器及快取存储器通讯的快取控制器。该快取存储器包含多数个用来储存资料的快取线,每一快取线具有一预设数量的记录项目。该快取系统还包含一与该快取控制器通讯的缓冲区系统,该缓冲区系统包含复数个缓存器,每一个缓存器对应该正在填写的快取线中的一个记录项目。每一个别的缓存器所储存的资料与该正在填写的快取线中对应的记录项目被填入的资料相同,不同于储存于该可填写的快取线内的资料的是,储存于缓冲区系统的缓存器内的资料是可以在快取线填写的程序中被存取。

【技术实现步骤摘要】

本专利技术涉及以处理器为基础的系统中从存储器进行资料的存取,尤其是在一快取线正在被填写时还能够对快取存储器进行资料存取的快取系统,使得处理器存取速度能提升。
技术介绍
对于计算机系统在处理速度、储存与读取大量资料与/或指令上的需求不断在增加,要加速处理器存取已储存的资料的其中一个办法是将存储器中最近被处理器所读取的资料存放一个复本于快取存储器中,当处理器所要求的资料是位于快取存储器内的时候,从快取存储器读取会比从存储器读取快很多。因为常常会对存储器相同位置的软件反复读取,在业界广泛地使用各种快取系统来与处理器通讯,以加速对所需的资料做更快速的存取。图1与图2举例了一个传统计算机系统10,其包含一处理器12、主存储器14与输出入装置(input/output(I/O))16,彼此间以内部总线18交互连结。输出入装置16是此领域所熟知的技术,故在此不多加讨论。处理器12包含一快取系统20,其包含一快取控制器22与快取存储器24。快取存储器24是称为第一级快取存储器或主要快取存储器,其可包含同步随机存取存储器(SRAM),例如约32K。快取存储器24被用来当作暂时储存单元,以储存经常被使用或最近被使用资料的备份,期待能被处理器12再度使用。主存储器14一般包含动态随机存取存储器(DRAM),动态随机存取存储器较同步随机存取存储器便宜,但却需要花较多的时间,这是因为存取主存储器14资料的速度受限于总线时脉,一般会比处理器时脉慢好几倍。基于这理由,要尽可能地发挥快取存储器24的好处。快取控制器22是被配置于快取系统中20,用以控制快取存储器24的相关运作。当处理器12要求从主存储器14存取资料时,快取控制器22会先去检查资料是否已经在快取存储器中。如果是,则这次的存取视为快取命中(cache hit),并且资料由快取存储器24快速地读取。如果不是,则视为快取错失(cache miss),处理器12必须从主存储器要求资料,同时储存该资料的一个复本至快取存储器中,该复本可能在之后也可以被使用到。图3说明传统的快取存储器24是如何被组织的,快取存储器24被以快取阵列的方式配置,具有数个快取线(cacheline)26,如图标中的行(columns)所示,快取阵列可能大约有1024个快取线。每一条快取线26具有一个预先定义好的记录项目(entry)28,虽然图3中所表示的快取线26只有8个记录项目28,实际上快取线可以有4、8、16或任意适合的记录项目数量。这里所说的快取线可视为一个从主存储器14中连续地址所撷取的资料单元或资料区块,每一个别的快取线记录项目28储存的资料是从主存储器14其中的一个相对应存储器地址而取得。每一个快取线被以一个预设的宽度来配置,该宽度是指位数,可以是8、16、32或任意合适的数量。因此快取线的宽度也同时定义了每一个记录项目28所储存的位数目。现在来描述快取控制器22的运作,当处理器做了一个存取存储器的要求,快取控制器22会判断这次存取是快取错失还是快取命中。在快取错失时,快取控制器22在快取阵列中配置了一个要被填写的快取线,然而在填入一个快取线26前,快取控制器会先让快取线26失效,因为被填入的资料在整个快取线26被填完前都不可以被存取。接下来快取控制器22从主存储器14中抓取资料并且在快取线26中一次一个记录项目地取代快取线26中的旧值。快取控制器22所抓取的资料不只来自一个被要求的位置,有可来自一连串存储器位置,这些存储器位置的资料预期会被处理器12所需要。例如,一快取线具有8个记录项目,对地址200的要求会使得快取控制器从地址200经由207填入资料至快取线26所对应的记录项目28,当资料被写入快取存储器24时,它会被一口气写入一个快取线,这会持续到快取线26完整被填入为止。在完整填入快取线26后,快取控制器22会让被填入的快取线26生效,表示资料可以从该快取线26存取,每一个快取线都有一个有效位来表示快取线26的有效性。然而在传统快取存储器20中有一个问题,当处理器12要求存取正在填写的快取线时,这个要求可能不为快取命中,也不为快取错失。不能被视为快取命中的原因在于正在填入的快取线在填写的当时被标示为失效,因此在这情形下要以不同于快取命中或快取失效的方式来处理。这种情形下,快取控制器会插入一个等待信号(wait signal)来“暂停处理器”,或者是让处理器等待,等待一段能够让快取线被填写完并生效的时间。如此,对被填入的快取线的存取将会在快取中命中,也使得资料能被存取。图4举例了在被要求存取资料时在快取系统20中传统快取控制器22运作简单的流程图30。在步骤32中,新的存取会被判断是否为快取命中,换言之,会判断该存取的资料是否在快取存储器内。如果没有,流程会被导向步骤34,在这情形下,快取控制器会暂停处理器,并且从主存储器14将所要求的资料对整个快取线填入。所有接下来对快取线填入的存取要求将会因处理器被暂停而延迟。如果步骤32产生快取命中,则在快取存储器中的资料可以被存取。在这情形下,流程会被导向步骤36,其判断该要求为读取还是写入。在读取要求时,流程前进至步骤38,要是要求为写入,则流程前进至步骤40。在步骤38中,资料可以被立刻从快取存储器中读取,并且让处理器继续执行下一个指令。在步骤40中,开始一个将资料写入快取存储器的程序,在这个写入的程序中,要被储存的资料会被写入快取存储器,并且要被储存的资料可以是在写入快取存储器的同时写入主存储器,也可以是在写入快取存储器(write-to-cache)作业之后才写入主存储器。从图4的流程图中可以看出,除非快取命中(步骤32),否则处理器会被强制等待,使得处理器无法从事其它作业。虽然这样的方法相当简单,但对快取系统而言,它却提供了较差的处理器等待时间。看到这种会使处理器等待时间拉长的事实,熟悉相关技术者纷纷尝试就此议题来设计快取系统。图5示意了一个快取控制器运作的流程图42,其改善了图4的运作。在流程图42中,步骤32、36、38与40与图4相同,是针对要求为快取命中的情况下处理。因为处理器在这情形下不会被延迟,所以流程图42在这个部份可以维持一致。然而,图5的流程图42在步骤32中有关于该要求没有快取命中的情形显然不同于图4,在此快取存储器中并没有命中的情形下,流程会被导入步骤44,判断该要求所命中的快取线是否正在被填写的程序中。如果没有,则流程前进到步骤46,步骤46的执行是在该要求没有命中于快取存储器或是没有命中正在填写的快取线的时,也就是说,必需从主存储器读取的时候。在这种情形下,快取控制器从主存储器要求所需要的资料,其中需要暂停处理器,在目前正在填写的快取线填入程序完成后,再开始一个新的快取线的填写程序。填入程序会一直持续,直到在新快取线中被要求的位置被填入为止。当被要求的位置被填入后,如果该要求在步骤56中被判断为读取,资料将会回馈(步骤56)至处理器,在所读取的资料在步骤56被回馈至处理器后,处理器可以在填入新快取线的其余部份的过程中平行处理额外的作业。如果在步骤44中所判断的要求命中于正在填入的快取线时,则流程前进到步骤50,其判断对一位置(记录项目)所做的资料存取要求是否已经在被填入的快取线中。如果步本文档来自技高网...

【技术保护点】
一种快取系统,其特征在于,包含:一快取控制器,该快取控制器与一处理器通讯;一快取存储器,该快取存储器与该快取控制器通讯,该快取存储器包含复数个用来储存资料的快取线,每一个快取线具有复数个记录项目;一缓冲区系统,该缓冲 区系统与该快取控制器通讯,该缓冲区系统包含复数个缓存器,每一个缓存器对应于一个正在填写的快取线内的一个记录项目,要填入该正在填写的快取线内一个该记录项目的相同资料亦储存于对应该记录项目的该缓存器;其中该快取控制器是被配置来储存与该正 在填写的快取线及该缓冲区系统的该缓存器相同的资料;以及其中该缓冲区系统的该缓存器中的资料在一快取线填写程序的期间能够被存取。

【技术特征摘要】
US 2004-12-10 11/009,7351.一种快取系统,其特征在于,包含一快取控制器,该快取控制器与一处理器通讯;一快取存储器,该快取存储器与该快取控制器通讯,该快取存储器包含复数个用来储存资料的快取线,每一个快取线具有复数个记录项目;一缓冲区系统,该缓冲区系统与该快取控制器通讯,该缓冲区系统包含复数个缓存器,每一个缓存器对应于一个正在填写的快取线内的一个记录项目,要填入该正在填写的快取线内一个该记录项目的相同资料亦储存于对应该记录项目的该缓存器;其中该快取控制器是被配置来储存与该正在填写的快取线及该缓冲区系统的该缓存器相同的资料;以及其中该缓冲区系统的该缓存器中的资料在一快取线填写程序的期间能够被存取。2.根据权利要求1项所述的快取系统,其特征在于,其中上述的缓冲区系统的配置为每一个缓存器的宽度与该快取线记录项目的宽度相同。3.根据权利要求1项所述的快取系统,其特征在于,其中上述的缓冲区系统的配置为该缓存器的数量等于一个该快取线内记录项目的数量。4.一种用于快取系统的缓冲区系统,其特征在于,包含一快取线填写缓冲区,该快取线填写缓冲区是用来储存要被写入该快取系统的一快取线的资料;一控制装置,是用来控制资料写入该快取线填写缓冲区;一验证装置,是用来验证该快取线填写缓冲区内位置;以及一侦测装置,是用来侦测该快取线填写缓冲区的一存取命中。5.根据权利要求4项所述的用于快取系统的缓冲区系统,其特征在于,其中上述的控制装置判断被储存于该快取线填写缓冲区的资料是从一处理器接收,或是从主存储器接收,该判断是根据该验证装置在该快取线填写缓冲区内对该位置所建立的验证。6.根据权利要求5项所述的用于快取系统的缓冲区系统,其特征在于,其中上述的验证装置对该控制装置提供复数个验证位,来表示该快取线填写缓冲区的复数个缓存器中目前哪一个被填写。7.根据权利要求6项所述的用于快取系统的缓冲区系统,其特征在于,其中上述的验证装置提供偏移量有效位给该控制装置,用以表示哪些缓存器已被填写且为有效。8.根据权利要求4项所述的用于快取系统的缓冲区系统,其特征在于,其中上述的快取线填写缓冲区、该控制装置、该验证装置、与该侦测装置包含逻辑电路组件。9.一种与快取存储器平行使用的缓冲区系统,其特征在于,该缓冲区系统包含复数个缓存器,每一个缓存器是对应于一快取线的一记录项目,该快取线是正处于被填写的程序,每一个个别的该缓存器所储存的资料与该正在填写的快取线内相对应的该记录...

【专利技术属性】
技术研发人员:威廉V米勒
申请(专利权)人:威廉V米勒
类型:发明
国别省市:71[中国|台湾]

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

1