缓存控制装置、信息处理装置和缓存控制方法

文档序号:6468155阅读:76来源:国知局
专利名称:缓存控制装置、信息处理装置和缓存控制方法
技术领域
本发明的一个方面涉及一种用于控制CPU与内存之间的数据传输
的缓存控制装置、 一种具有所述缓存控制装置的信息处理装置以及一种缓存控制方法。
背景技术
近年来,LSI的工作频率显著增加,因而内存存取时间相对地大于LSI中的处理时间。
作为上述问题的一个对策,执行了推测性提取(fetch),其中在所请求的数据是否存储在CPU的缓存中变得清楚之前,从CPU或I/O控制器接收到内存提取请求的系统控制器(下文称为"SC")向内存控制器(下文称为"MAC")发出内存提取请求。
也就是说,SC在其内部保留存储在各个CPU的缓存中的数据标签信息,比如地址或更新状态,并且在内存提取请求中所请求的数据是否存储在CPU的缓存中变得清楚之前,搜索(探査)所述标签信息以执行推测性内存存取。推测性提取允许提早开始内存存取操作,因此,若所述数据不在缓存中,则可减少内存存取等候时间,换言之,等待时间(latency )。
已存在已知的用于减少内存存取等待时间的方法。例如,己知这样一种方法,其中,与从标签存储器(tag memory)中读出标签信息并行地,推测性地存取系统中的内存,并且基于所读出的标签信息来确定是否丢弃通过推测性提取从内存中获得的数据,其中标签信息是与系统中所提供的缓存存储器的数据存储状态相关的信息。此外,已知这样一种机制,其在系统中的特定位置保留对应于推测性提取的响应数据,以等待CPU所执行的缓存搜索的结果,基于该结果来确定是否采用对应于所述推测性提取的响应数据;并且,已知这样一种方法,其对推测性请求进行处理,从而减少由于非推测性流量引起的汇聚和冲突。
存在多个对推测性提取进行论述的相关技术
专利文献l:日本专利公开第2001-167077号;
专利文献2:日本专利公开第2003-186669号。
对于与具有较长包长度的命令比如STR (存储在内存中写入数据的命令)相比优先选择具有较短包长度的提取命令的内存控制装置,在将常规的推测性提取方法应用于包括上述内存控制装置的系统的情况下,当针对同一地址的提取请求和STR请求彼此冲突(存取请求针对同一地址)时,不能维持在系统中交换的请求之间的次序。
将参照图5A和5B给出对请求之间的次序的进一步描述,图5A和5B各自示出了在发出STR命令之后发送推测性提取的时序。应注意,图5A示出了推测性提取的成功示例,而图5B示出了其失败示例。在图5A和5B中,水平轴代表时间。
当从CPU发出STR命令时,SC向MAC通知所述STR命令,由此更新内存中的数据(在MAC中从旧数据转变为新数据)。
在图5A所示的情况下,在推测性提取发出并到达MAC的时间点,数据已被更新,从而可毫无问题地采用推测性提取所获得的数据。
另一方面,在图5B所示的情况下,尽管在正常情况下应读出新数据,但是读出了 STR之前的未更新的数据(旧数据)。因此,当采用推测性提取所获得的数据时,将出现问题。
此外,在上述将推测性提取所获得的数据保留在系统内的方法中,必须将所获得的数据临时存储在SC中的缓冲器中,并且在确定是否采用对应于推测性提取的响应数据之前等待探查结果。因此,需要增加缓冲器容量,这将不利地导致LSI尺寸和功耗的增大。
此外,当推测性提取结果为失败时,总线吞吐量相应地被降低。因此,必须尽可能地减少推测性提取中的失败次数。

发明内容
本发明的一个方面是解决上述问题,并且本发明的目的是提供一种缓存控制装置、 一种信息处理装置以及一种缓存控制方法,其通过在预定的监控时间内保留推测性提取的状态来确保请求之间的次序。
根据本发明的第一方面,提供一种缓存控制装置,其包括推测性提取输出部件,其输出推测性提取,所述推测性提取是在CPU请求的数据是否存储在所述CPU中提供的缓存中变得清楚之前输出的内存提取请求;表,其保留关于所述推测性提取的信息和所述推测性提取的状态;
标签信息搜索部件,其在包括关于存储在缓存中的数据的一组信息的标
签信息中搜索缓存命中信息;状态更新部件,其在标签信息搜索部件完成搜索时,在搜索的结果为缓存未命中的情况下,将所述表中的推测性提取的状态更新为预定状态;状态更新确定部件,其在获得由从所述推测性提取输出部件输出的推测性提取所获得的数据时,确定保留在所述表中的推测性提取的状态是否已在以下时段内由所述状态更新部件更新为预定状态,其中所述时段是通过对从输出推测性提取到所述推测性提取到达用于控制内存与所述内存外部的设备之间的数据通信的内存控制器的时段与从完成由数据写命令指定的将数据写入内存到返回所述数据写命令的响应的时段进行合计而获得,其中所述数据写命令是在发出推测性提取之前针对与所发出的所述推测性提取所针对的地址相同的地址已发出的;以及数据采用确定部件,其基于所述状态更新确定部件的确定结果来确定是否采用由所述推测性提取输出部件输出的推测性提取所获得的数据。
根据本发明的第二方面,提供一种信息处理装置,其包括至少一个包含缓存的CPU;存储数据的内存;内存控制器,其控制所述内存与所述内存外部的设备之间的数据通信;推测性提取输出部件,其输出推测性提取,所述推测性提取是在CPU请求的数据是否存储在所述CPU中的缓存中变得清楚之前通过所述内存控制器向所述内存输出的内存提 取请求;表,其保留关于所述推测性提取的信息和所述推测性提取的状 态;标签信息搜索部件,其在包括关于存储在缓存中的数据的一组信息 的标签信息中搜索缓存命中信息;状态更新部件,其在标签信息搜索部 件完成搜索时,在搜索的结果为缓存未命中的情况下,将所述表中的推 测性提取的状态更新为预定状态;状态更新确定部件,其在获得由从所 述推测性提取输出部件输出的推测性提取所获得的数据时,确定保留在 所述表中的推测性提取的状态是否已在以下时段内由所述状态更新部件 更新为预定状态,其中所述时段是通过对从输出推测性提取到所述推测 性提取到达内存控制器的时段与从完成由数据写命令指定的将数据写入 内存到返回所述数据写命令的响应的时段进行合计而获得,其中所述数 据写命令是在发出推测性提取之前针对与所发出的所述推测性提取所针 对的地址相同的地址已发出的;以及数据釆用确定部件,其基于所述状 态更新确定部件的确定结果来确定是否采用由所述推测性提取输出部件 输出的推测性提取所获得的数据。
根据本发明的第三个方面,提供一种缓存控制方法,其包括推测 性提取输出步骤,其输出推测性提取,所述推测性提取是在CPU请求的 数据是否存储在所述CPU中提供的缓存中变得清楚之前输出的内存提 取请求;标签信息搜索步骤,其在包括关于存储在缓存中的数据的一组 信息的标签信息中搜索缓存命中信息;状态更新步骤,其在所述标签信 息搜索步骤完成搜索时,在搜索的结果为缓存未命中的情况下,将用于 保留关于所述推测性提取的信息和所述推测性提取的状态的表中的推测 性提取的状态更新为预定状态;状态更新确定步骤,其在获得由所述推 测性提取输出步骤输出的推测性提取所获得的数据时,确定保留在所述 表中的推测性提取的状态是否已在以下时段内通过所述状态更新步骤被 更新为预定状态,其中所述时段是通过对从输出推测性提取到所述推测 性提取到达用于控制内存与所述内存外部的设备之间的数据通信的内存控制器的时段与从完成由数据写命令指定的将数据写入内存到返回所述 数据写命令的响应的时段进行合计而获得,其中所述数据写命令是由在 发出推测性提取之前针对与所发出的所述推测性提取所针对的地址相同 的地址己发出的;以及数据采用确定步骤,其基于所述状态更新确定步 骤的确定结果来确定是否采用由所述推测性提取输出步骤输出的推测性 提取所获得的数据。
通过执行推测性提取操作,可减少内存提取等待时间,而且可确保 针对同一地址的推测性提取与写命令之间的次序。


图1是示出了根据本发明一个实施例的信息处理装置的配置的示例 的图2A和2B是示出了本实施例中的推测性提取的状态(图2A)和 管理表中保留的信息(图2B)的图3是解释了本实施例中的通过时间监控来确保次序的监控时间的
图4A至4D是示出了本实施例中的推测性提取的成功示例及其失 败示例的图;以及
图5A和5B是示出了常规的推测性提取的成功示例及其失败示例的图。
具体实施例方式
图1示出了根据本发明一个实施例的信息处理装置。
图1中的信息处理装置100包括CPU (中央处理器)4,其充当
包含存储有内存内容的副本的次级缓存(SX5)的算术处理单元;DIMM (双列直插内存模块)3,其充当用于存储数据的存储介质(内存);以
及MAC2 (内存控制器),其为用于控制DIMM3和所述DIMM3外部信的LSI。信息处理装置100还包括系统控制器
SC1,其为用于确定CPU 4所请求的数据是否存储在缓存中的控制器。 信息处理装置100还包括除CPU 4之外的多个CPU,并且SCI为这些 CPU执行相同的确定控制。
接着,将描述SC1的细节。SCI包括推测性提取输出部件11、标签 信息搜索部件12、标签信息保留部件13、状态更新部件14、管理表15、 状态更新确定部件16、数据采用确定部件17以及地址锁定部件18。
推测性提取输出部件11输出推测性提取。如上所述,推测性提取 是在CPU 4所请求的数据是否存储在缓存中变得清楚之前通过MAC 2 向DIMM 3输出的推测性内存提取请求。
标签信息保留部件13保留标签信息,所述标签信息为保留在SX5 中的数据的标签的副本,即,关于存储在缓存中的数据的一组信息。
标签信息搜索部件12在标签信息保留部件13中搜索或探查缓存命 中标签信息。这里假设推测性提取输出部件11在标签信息搜索部件12 开始搜索处理时输出推测性提取。若不考虑必然出现的不同的时延,则 可认为推测性提取输出部件11输出推测性提取的时间和标签信息搜索 部件12开始搜索处理的时间是相同的。
管理表15保留关于推测性提取的信息。管理表15中的信息包括分 配给各个推测性提取的请求ID及其状态。下文将描述所述状态的细节。
当标签信息搜索部件12执行搜索时,在搜索的结果为缓存未命中 的情况下,状态更新部件14将管理表15中的状态更新为"接受"。此外, 若需要,状态更新部件14将管理表15中的状态更新为不同于"接受" 的状态。
状态更新确定部件16获得已由从推测性提取输出部件11输出的推 测性提取所获得的数据,并且确定保留在管理表15中的任何请求ID的 状态是否已在预定的监控时间内由状态更新部件14更新。在此确定过程 中,状态更新确定部件16至少确定所述状态是否已被更新为"接受"。数据采用确定部件17基于状态更新确定部件16的确定结果来确定 是否采用已由从推测性提取输出部件11输出的推测性提取所获得的数
据。也就是说,在状态更新确定部件16已确定所述状态已被更新为"接 受"的情况下,数据采用确定部件17采用已由从推测性提取输出部件 11输出的推测性提取所获得的数据,而在状态更新确定部件16己确定 所述状态未被更新为"接受"的情况下,数据采用确定部件17丢弃己由 推测性提取所获得的数据。
地址锁定部件18为地址锁定寄存器,其保留由STR (存储)命令 即数据写命令所指定的数据写入目的地的地址,以便在执行所述STR命 令时锁定对所述数据写入目的地地址的存取。应注意,当地址锁定部件 18所保留的地址的数目超出预定数目时,推测性提取输出部件11将不 输出推测性提取。
尽管SC1中的各个部件是通过SC1中所提供的LSI来实现,但是 它们也可通过硬件资源比如算术处理单元(微型计算机等)和存储介质 来实现,或者通过硬件资源和软件资源的合作比如固件来实现。在这种 情况下,各个部件可利用外部硬件资源比如CPU 4和DIMM 3作为硬件 资源。
在本实施例中,SC1所执行的处理的要点如下 处理l: SC1接收来自特定CPU (在本实施例的情况下为CPU4) 的内存提取命令;
处理2:与标签信息搜索部件12所执行的探査并行地,推测性提取 输出部件11向MAC 2发出推测性提取;
处理3:确定采用/丢弃,而不将对应于推测性提取的响应数据存储 在SC1中,并且当确定了将采用数据时,SC1将所述数据发回所述CPU。 处理3是由状态更新部件14、管理表15、状态更新确定部件16以及数 据采用确定部件17来执行。
将参照图2来描述推测性提取的状态和保留在管理表15中的信息的内容。
如图2A所示,推测性提取具有四种状态T'(无效)、"U"(未定
义)、"C"(取消)和"A"(接受)。
T'表示推测性提取输出部件11未输出推测性提取的状态或默认初
始状态。"u"表示已输出推测性提取但是尚未确定是采用还是丢弃推测
性提取所获得的数据的状态。"C"表示已输出推测性提取并且已确定丢弃 推测性提取所获得的数据的状态。"A"表示这样的状态,其中己输出推 测性提取,并且由于出现缓存未命中即数据不在缓存中的情况,已确定 采用推测性提取所获得的数据。应注意,状态"C"不是必不可少的。
图2B示出了管理表15中所保留的信息的示例。管理表15存储有 分配给推测性提取的请求ID和任意上述状态之间的对应关系。每次提 取请求到达SC1时将分配请求ID,以便在SC1中进行管理。管理表15 中所保留的对应关系的数目与从CPU接收到的提取请求的数目相等。在 本实施例中,如图2B所示,假设管理表15中保留四个请求ID和状态 之间的对应关系。
当推测性提取输出部件11输出推测性提取时,状态更新部件14将 状态从T'更新为"U";而当标签信息搜索部件12所执行的搜索的结果为 缓存未命中时,状态更新部件14将所述状态从"U"更新为"A"。此外, 当标签信息搜索部件12所执行的搜索的结果为缓存命中时,状态更新部 件14将所述状态从"U"更新为"C"。此外,状态更新确定部件16在从 MAC 2返回推测性提取响应时査阅管理表15,并且在监控时间内确定 对应于所述推测性提取的状态是否为"A",稍后将对监控时间的细节进 行描述。只有当确定结果为"A"时,数据采用确定部件17才采用所述推 测性提取所获得的包(数据),否则将丢弃该包。
接着,将对作为状态更新确定部件16中所使用的另一个确定标准 的监控时间进行描述。
如图5B所示,在推测性提取已经过对应于针对同一地址的在先STR命令的处理的情况下,必须丢弃推测性提取所获得的数据,因为所述数 据为未被更新的旧数据。在本实施例中,通过提供监控时间来确定推测 性提取是否己经过对应于针对同一地址的在先STR命令的处理。
图3是用于解释监控时间的图。满足以下条件就足以采用推测性提 取所获得的数据当来自SC1的推测性提取到达MAC2时,在先的STR 命令己对所述数据进行更新。
从发出推测性提取(FCH)到推测性提取到达MAC 2的管线的时 间,即,从发出推测性提取到推测性提取到达内存控制器的时间,可被 假定为At。从更新DIMM 3的数据以完成STR命令到向SC1通知STR 命令的完成的响应到达SCI的时间,即,从完成由STR命令指定的将 数据写入DIMM 3到返回STR命令的响应的时间,可被假定为BT,其 中STR命令是在输出推测性提取之前针对与所发出的所述推测性提取 所针对的地址相同的地址已发出的。此外,在图3中,"旧数据"表示更 新前的数据,而"新数据"表示更新后的数据。在确定了至少在由八1 + Bi所表示的时段内执行内存提取的情况下,若已发出针对同一地址的在 先STR,则推测性提取必然在STR之后读出新数据,从而不会产生不一 致。有鉴于此,状态更新确定部件16将由AT + BT所表示的时段用作监 控时间,并且在该监控时间内确定管理表15中的状态是否表示"接受"。
尽管在本实施例中监控时间被设定为54t,但是监控时间的长度不 受特别限制。
接着,将参照图4来一起描述监控时间、管理表15中的状态转变 以及数据包的采用/丢弃。
图4A示出了推测性提取成功的示例。推测性提取输出部件11输出 推测性提取;同时,标签信息搜索部件12搜索标签信息。当推测性提取 输出部件11输出推测性提取时,状态更新部件14将管理表15中的推测 性提取的状态从T'更新为"U"。
当状态被更新为"U"时,时间监控开始。当在监控时间内标签信息搜索部件12执行搜索的结果为缓存未命中时,状态更新部件14将管理
表15中的推测性提取的状态从"U"更新为"A"。
当获得由推测性提取获得的数据时,状态更新确定部件16确定管 理表15中的状态已在监控时间内被更新为"A"。由于状态更新确定部件 16已确定管理表15中的状态已被更新为"A",因此数据采用确定部件 17确定采用推测性提取所获得的数据。
由于搜索的结果为缓存未命中,因此CPU4所请求的数据未保留在 缓存SX5中。所以,采用所述推测性提取所获得的数据。因此,在这种 情况下,不会发出将在确定缓存未命中之后发出的内存提取(下文称为 "正常提取")。
在推测性提取所获得的数据返回CPU 4时,将管理表15中的状态 从"A"更新为默认状态"I"。
如上所述,根据本实施例中的SC,只有当管理表中的推测性提取 的状态在监控时间内表示"A"时才将推测性提取所获得的数据返回CPU 4。
接着,将参照图4B至4D来描述不将推测性提取所获得的数据返回 CPU 4的示例。
图4B示出了在监控时间内确定出缓存命中的情况。当标签信息搜 索部件12执行搜索的结果为缓存命中时,状态更新部件14将管理表中 的推测性提取的状态从"U"更新为"C"。由于搜索的结果为缓存命中,因 此按照传统的做法,缓存SX5中所保留的数据将被采用。
在这种情况下,状态更新确定部件16确定状态在监控时间内未被 更新为"A",并且数据采用确定部件17确定推测性提取所获得的数据是 不必要的并将其丢弃。
图4C示出了在监控时间之外确定出缓存未命中的情况。在这种情 况下,管理表15中的推测性提取的状态在整个监控时间内均表示"U", 这意味着推测性提取所获得的数据如上所述可能已经过针对同一地址的在先STR命令。因此,在如上所述的在监控时间之外已确定出缓存未命
中的情况下,状态更新确定部件16确定所述状态在监控时间内未被更新 为"A",并且数据采用确定部件17丢弃推测性提取所获得的数据。
图4C示出了在监控时间之外确定出缓存未命中的情况。在这种情 况下,在确定出缓存未命中的时间点发出正常提取,并且采用正常提取 所获得的数据。
图4D示出了在监控时间内确定出标签信息搜索部件12进行搜索 (探査)重试(SNP-RTRY)的情况。在这种情况下,执行搜索重试, 相应地,搜索将需要更多的时间,这将增大在监控时间内不能获得搜索 结果的可能性。因此,在根据本实施例的SC1中,在发生搜索重试的情 况下,推测性提取所获得的数据一律被丢弃。在发生重试时,状态更新 部件14将管理表15中的状态从"U"更新为"C"。
当获得由推测性提取获得的数据时,状态更新确定部件16确定管 理表15中的状态在监控时间内未被更新为"A",并且数据采用确定部件 17丢弃推测性提取所获得的数据。当其后确定出缓存未命中时,发出正 常提取并且采用正常提取所获得的数据。
如上所述,在任一种情况下,均可通过利用管理表15和时间监控 执行的状态管理来确保针对同 一地址的请求之间的次序。
如上所述,由于推测性提取的成功/失败是通过状态和时间监控来确 定,因此使标签信息搜索部件12陷于长时间搜索的推测性提取不太可能 在监控时间内得到处理。花费大量时间进行探査意味着地址锁定寄存器 (地址锁定部件18)将被填满。地址锁定寄存器具有锁定如STR等命 令正被执行的地址的功能。针对于地址锁定寄存器所锁定的地址的命令 将不被执行,由此导致发生探査重试。 ,
地址锁定寄存器的数目具有上限。在本实施例的情况下,该上限为 32。因此,将阻止从SC1发出超过预定数目的命令。因而,在输出推测 性提取时监控正被使用的地址锁定寄存器的数目,并且当正被使用的地址锁定寄存器的数目大于给定阈值时,推测性提取输出部件11不输出推 测性提取。通过此配置,可抑制不必要的推测性提取的发出,并且可防 止总线吞吐量的降级。
根据本实施例的SC1能够以较少的资源来确保针对同一地址的推测性提
取和STR命令之间的次序。此外,根据本实施例的SC1能够减少内存
提取等待时间。此外,通过监控正被使用的地址锁定寄存器的数目,根
据本实施例的SC1能够提高推测性提取的成功率。
权利要求
1. 一种缓存控制装置,包括推测性提取输出部件,其输出推测性提取,所述推测性提取是在CPU请求的数据是否存储在所述CPU中提供的缓存中变得清楚之前输出的内存提取请求;表,其保留关于所述推测性提取的信息和所述推测性提取的状态;标签信息搜索部件,其在包括关于存储在所述缓存中的数据的一组信息的标签信息中搜索缓存命中信息;状态更新部件,其在所述标签信息搜索部件的搜索完成时,在搜索结果为缓存未命中的情况下,将所述表中的所述推测性提取的状态更新为预定状态;状态更新确定部件,其在获得由从所述推测性提取输出部件输出的推测性提取所获得的数据时,确定保留在所述表中的所述推测性提取的状态是否已在以下时段内由所述状态更新部件更新为所述预定状态,其中所述时段是通过对从输出所述推测性提取到所述推测性提取到达用于控制内存与所述内存外部的设备之间的数据通信的内存控制器的时段与从完成由数据写命令指定的将数据写入内存到返回所述数据写命令的响应的时段进行合计而获得,其中所述数据写命令是在发出所述推测性提取之前、针对与所发出的所述推测性提取所针对的地址相同的地址已发出的;以及数据采用确定部件,其基于所述状态更新确定部件的确定结果来确定是否采用由所述推测性提取输出部件输出的推测性提取所获得的数据。
2. 如权利要求1所述的缓存控制装置,其中所述推测性提取输出部件在所述标签信息搜索部件开始搜索所述标签信息时输出推测性提取。
3. 如权利要求1所述的缓存控制装置,其中-所述数据采用确定部件在所述状态更新确定部件确定了所述状态已被更新为预定状态的情况下采用由从所述推测性提取输出部件输出的所述推测性提取所获得的数据,而在所述状态更新确定部件确定了所述状态未被更新为预定状态的情况下丢弃由从所述推测性提取输出部件输出的所述推测性提取所获得的数据。
4. 如权利要求1所述的缓存控制装置,还包括地址锁定部件,其在所述数据写命令正被执行的情况下保留由所述命令指定的数据写入目的地的地址,以锁定对所述数据写入目的地地址的存取,其中在所述地址锁定部件已保留的地址的数目超出预定值的情况下,所述推测性提取输出部件不输出推测性提取。
5. 如权利要求1所述的缓存控制装置,还包括用于保留所述标签信息的标签信息保留部件,其中所述标签信息搜索部件在所述标签信息保留部件中搜索目标标签信白yS、 o
6. 如权利要求1所述的缓存控制装置,其中在所述标签信息搜索部件的搜索结果为失败并且相应地所述标签信息搜索部件再次执行搜索的情况下,所述数据采用确定部件确定不采用由从所述推测性提取输出部件输出的所述推测性提取所获得的数据。
7. —种信息处理装置,包括至少一个包含缓存存储器的CPU;存储数据的内存;内存控制器,其控制所述内存与所述内存外部的设备之间的数据通信;推测性提取输出部件,其输出推测性提取,所述推测性提取是在CPU请求的数据是否存储在所述CPU中的缓存中变得清楚之前通过所述内存控制器向所述内存输出的内存提取请求;表,其保留关于所述推测性提取的信息和所述推测性提取的状态;标签信息搜索部件,其搜索关于存储在缓存内存中的数据的标签信息;状态更新部件,其在所述标签信息搜索部件的搜索完成时,在搜索结果为缓存未命中的情况下,将所述表中的所述推测性提取的状态更新为预定状态;状态更新确定部件,其在获得由从所述推测性提取输出部件输出的所述推测性提取所获得的数据时,确定保留在所述表中的所述推测性提取的状态是否己在以下时段内由所述状态更新部件更新为所述预定状态,其中所述时段是通过对从输出所述推测性提取到所述推测性提取到达所述内存控制器的时段与从完成由数据写命令指定的将数据写入内存到返回所述数据写命令的响应的时段进行合计而获得,其中所述数据写命令是在发出所述推测性提取之前、针对与所发出的所述推测性提取所针对的地址相同的地址已发出的;以及数据采用确定部件,其基于所述状态更新确定部件的确定结果来确定是否采用由所述推测性提取输出部件输出的所述推测性提取所获得的数据。
8. 如权利要求7所述的信息处理装置,其中所述推测性提取输出部件在所述标签信息搜索部件开始搜索所述标签信息时输出所述推测性提取。
9.如权利要求7所述的信息处理装置,其中所述数据采用确定部件在所述状态更新确定部件确定了所述状态已被更新为所述预定状态的情况下采用由从所述推测性提取输出部件输出的所述推测性提取所获得的数据,而在所述状态更新确定部件确定了所述状态未被更新为所述预定状态的情况下丢弃由从所述推测性提取输出部件输出的推测性提取所获得的数据。
10. 如权利要求7所述的信息处理装置,还包括地址锁定部件,其在所述数据写命令正被执行的情况下保留所述命令指定的数据写入目的地的地址,以锁定对所述数据写入目的地地址的存取,其中在所述地址锁定部件已保留的地址的数目超出预定值的情况下,所述推测性提取输出部件不输出推测性提取。
11. 如权利要求7所述的信息处理装置,其中在所述标签信息搜索部件的搜索结果为失败并且相应地所述标签信息搜索部件再次执行搜索的情况下,所述数据采用确定部件确定不采用由从所述推测性提取输出部件输出的所述推测性提取所获得的数据。
12. —种缓存控制方法,其包括输出推测性提取,所述推测性提取是在确定CPU请求的数据是否存储在缓存存储器中之前输出的内存提取请求;搜索关于存储在所述缓存存储器中的数据的标签信息;.在完成标签信息搜索时,在搜索结果为缓存未命中的情况下,将对应于所述推测性提取的状态更新为预定状态;在基于所述推测性提取获得数据时,确定所述推测性提取的状态是否已在预定时段内被更新为所述预定状态,其中所述时段是通过对从输出所述推测性提取到所述推测性提取到达用于控制内存的内存控制器的第一时段与从完成由在发出所述推测性提取之前发出的数据写命令所指定的将数据写入内存地址到发出所述数据写命令的响应的第二时段进行合计而获得,其中所述内存地址与所发出的所述推测性提取所针对的地址相同;以及基于所述状态更新的确定结果来确定是否采用所述推测性提取所获得的数据。
13. 如权利要求12所述的缓存控制方法,其中在开始搜索所述标签信息时输出推测性提取。
14. 如权利要求12所述的缓存控制方法,其中在确定了所述状态已被更新为所述预定状态的情况下,采用所述推测性提取所获得的数据,并且在确定所述状态未被更新为所述预定状态的情况下,丢弃所述推测性提取所获得的数据。
15. 如权利要求12所述的缓存控制方法,其还包括在所述数据写命令正在执行的情况下,保留所述命令指定的数据写入目的地的地址,以锁定对所述数据写入目的地地址的存取,其中在保留的地址的数目超出预定值的情况下,不输出推测性提取。
16. 如权利要求12所述的缓存控制方法,其中在所述标签信息搜索的结果为失败的情况下,确定不采用所述推测性提取所获得的数据,并且相应地再次执行对所述标签信息的搜索。
全文摘要
本发明提供了一种缓存控制装置、信息处理装置和缓存控制方法,其中该缓存控制装置通过监控推测性提取的状态和以下时段,确定是否采用由推测性提取获得的数据,其中推测性提取是在CPU请求的数据是否存储在所述CPU的缓存中变得清楚之前输出的内存提取请求,所述时段是通过对从输出推测性提取到推测性提取到达内存控制器的时段与从完成将数据写入由数据写命令所指定的内存到返回数据写命令的响应的时段进行合计而获得,其中数据写命令是在发出推测性提取之前、针对与所发出的所述推测性提取所针对的地址相同的地址已发出的。
文档编号G06F12/08GK101546293SQ20081017890
公开日2009年9月30日 申请日期2008年11月27日 优先权日2008年3月26日
发明者岩崎真一 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1