存储回放政策的制作方法

文档序号:8435820阅读:268来源:国知局
存储回放政策的制作方法
【专利说明】
[0001] 发明背景
技术领域
[0002] 本文提出的实施方案大体上涉及计算系统和处理装置,且更特定来说,涉及一种 用于在处理装置中实施可高速缓冲存储回放政策的方法和设备。
[0003] 相关技术描述
[0004] 执行指令和过程数据的电气电路和装置已变得越来越快且越来越复杂。随着对现 代数据处理器架构的性能需求和低功率需求递增(例如,多核处理器),提交(即,写入)新 数据(即,可高速缓冲存储)到数据高速缓存已变得越来越复杂。设计能够有效地提交新 数据的处理器同时避免问题情况(包括争用状态和活锁状态)以及功率消耗事件(诸如由 不同处理器内核重复地获取高速缓存线)尤其成问题。
[0005] 在一些先前解决方案中,仅在等待可高速缓冲存储变成系统中的最旧可高速缓冲 存储之后,尝试高速缓存线的获取和可高速缓冲存储的提交。在其它情况下,在可高速缓冲 存储撤销之后尝试高速缓存线的获取和可高速缓冲存储的提交,且计数器经实施使得在一 定次数的尝试之后,仅在所述可高速缓冲存储变成系统中的最旧可高速缓冲存储之后,才 进行获取和可高速缓冲存储提交的进一步尝试。然而,这些先前解决方案遭遇不良性能和 低效的功率利用。
[0006] 本文提出的实施方案消除或减轻上文所描述的技术现状中固有的问题。
[0007] 实施方案概述
[0008] 在一些实施方案中,提供一种方法。.所述方法包括执行可高速缓冲存储。所述方 法的一些实施方案包括基于由所述高速缓存线的状态指示的存储指令状态和所述存储指 令的执行阶段确定是否回放存储指令以重新获取一个或多个高速缓存线。响应于确定回放 所述存储指令,回放所述存储指令。提供一种包括存储队列(S?的设备,所述存储队列可 被配置来基于由所述高速缓存线的状态指示的存储指令状态和所述存储指令的执行阶段 确定是否回放存储指令以重新获取一个或多个高速缓存线。本发明提供用于调适制作设施 以制造所述设备的计算机可读存储装置。
[0009] 附图简述
[0010] 通过参考结合附图进行的下文描述,可以理解本文的实施方案,其中参考数字中 的最左边有效位标示各自参考数字出现的第一图,且其中:
[0011] 图1示意地示出根据一些实施方案的计算机系统的简化方框图;
[0012] 图2示出根据一些实施方案的包括中央处理单元(CPU)和存储队列(SQ)电路的 电路的简化方框图;
[0013] 图3提供根据一些实施方案的包括如图2中所示的一个或多个电路的硅裸片/芯 片的表不;
[0014] 图4提供根据一些实施方案的包括可以在制作设施中生产的一个或多个硅裸片/ 芯片的娃晶片的表不;
[0015]图5示出根据一些实施方案的在计算机处理器的背景下图2的存储队列(S?电 路的简化方框图;
[0016]图6示出根据一些实施方案的可高速缓冲存储的执行的简化时间线;
[0017]图7示出根据一些实施方案的流程图,其描绘根据回放政策执行可高速缓冲存 储;和
[0018]图8概念地示出可以在图5中所示的存储队列中实施的状态机的实例。
[0019]虽然本文的实施方案具有各种修改和替代形式,但其具体实施方案已在附图中通 过实例来示出且在本文予以详述。然而,应了解,具体实施方案的本文描述并非意在将所公 开实施方案限于所公开特定形式,但相反,意在涵盖落在如由所附权利要求书界定的所公 开实施方案范围内的所有修改、等效物和替代物。
[0020] 详述
[0021] 下文描述本申请的说明性实施方案。为了清楚起见,本说明书中未描述实际实施 方式的所有特征。当然,应明白,在任何这种实际实施方案的开发中,可以作出诸多实施方 式专属决定以达成开发者的具体目标,诸如与系统相关和/或业务相关约束兼容,其可从 一个实施方式变化到另一个实施方式。此外,应明白,这种开发工作可以是复杂而耗时的, 但虽然如此,仍可能是获益于本公开的本领域一般技术人员的例行任务。
[0022] 现将参考附图描述本申请的实施方案。各种结构、连接、系统和装置出于解释目的 而在附图中予以示意地描绘,且以免使所公开主题与本领域的技术人员熟知的详情混淆。 然而,附图经包含以描述和解释本发明实施方案的说明性实例。本文所使用的字词和片语 应被理解和解译为具有与相关领域的技术人员对所述字词和片语的理解一致的含义。术语 或片语的特殊定义,即,不同于如本领域的技术人员理解的普通和习惯含义的定义,并非意 在由本文的术语或片语的一致使用暗示。就术语或片语意在具有特殊含义即除本领域的技 术人员所理解外的含义来说,在本说明书中依直接而明确地提供术语或片语的特殊定义的 下定义方式清楚地陈述这种特殊定义。
[0023] 如本文所使用,术语"实质上"和"近似"可以意指在85 %、90 %、95 %、98 %和/或 99%内。在一些情况下,如本领域的一般技术人员应了解,术语"实质上"和"近似"可以指 示差异(在可察觉时)可以忽略不计或足够小以致被忽略。此外,在一个值近似等于另一 值的背景下使用时的术语"近似"可以意指所述值"约"等于彼此。例如,在测量时,所述值 可以足够接近以致被本领域的一般技术人员确定为相等。
[0024] 如本文所论述,数据可以"维持"、"保存"、"保持"和/或"存储"在各种数据存储 结构中,包含但不限于队列、存储器、高速缓存、缓冲器、寄存器、触发器等。在本文中可以同 义地和互换地使用术语"维持"、"保存"、"保持"和/或"存储"。
[0025] 如本文所论述,"可高速缓冲存储"可以是将存储在处理装置(例如,单核微处理器 和多核微处理器(CPU)和图形处理器(GPU)或其各自个别处理内核)的高速缓存(例如, L1数据高速缓存或L2数据高速缓存,但不限于此)中的一组或多组数据或数据元。如本文 所论述,"可高速缓冲存储"可以提交或写入到将存储其的高速缓存。如本文所描述,"可高 速缓冲存储"可以被执行一次或多次以在高速缓存中完成其存储。获取可高速缓冲存储的 高速缓存线的后续执行可以被称为"回放"或"重新执行"。可高速缓冲存储的执行还可以 被称为"拾取",在所述执行期间通过CPU的执行管线等挑选和处理所述可高速缓冲存储, 如获益于本公开的本领域一般技术人员应明白。
[0026] 本文提出的实施方案大体上涉及一种用于在处理装置中实施可高速缓冲存储回 放政策的方法和设备。如上文所述,处理装置(例如,单核微处理器和多核微处理器(CPU) 和图形处理器(GPU)或其各自个别处理内核)可以执行可高速缓冲存储以便将新数据写 入到高速缓存。为了这样做,可高速缓冲存储可能需要其高速缓存线存在于高速缓存(例 如,数据高速缓存)中且处于可写入状态。然而,在可高速缓冲存储尝试通过将新数据写入 到高速缓存中来提交在所述可高速缓冲存储开始执行时存在的高速缓存线时,所述高速缓 存线可能不在所述高速缓存中。例如,在可高速缓冲存储的执行期间,可以由系统中的其 它CPU、其它CPU内核和/或其它装置从高速缓存探测可高速缓冲存储的高速缓存线。为 了将数据写入到高速缓存,可高速缓冲存储可能需要重新获取高速缓存线一这被称为进行 回放。在可高速缓冲存储的初始执行或回放期间,所述可高速缓冲存储可以保持在存储队 列(S?中,其中可以追踪所述可高速缓冲存储的各种状态和/或属性,诸如其数据、其存储 器地址、执行或回放结果等。此外,可以根据一个或多个回放政策进行可高速缓冲存储的回 放,如本文更详细论述。
[0027] 本文所描述的实施方案允许通过根据使针对系统争用因素的高速缓存线的早期 获取平衡的回放政策进行执行和回放来有效地执行和回放可高速缓冲存储。在一些实施方 案中,具体回放政策有关于或取决于可高速缓冲存储的执行的各个阶段。在一些实施方案 中,所述系统基于所述高速缓存线的状态和所述存储的执行阶段确定是否回放存储以重新 获取所述存储的至少一个高速缓存线。例如,所述系统可以取决于所述存储已完成、已撤销 或变成存储队列中的最旧存储决定是否回放存储。所述系统还可以基于所述存储的至少 一个先前回放的至少一个结果回放所述存储。例如,在回放将高速缓存线的状态变更为更 接近于允许提交存储的可写入状态的状态时,可以将所述回放特性化为"良好回放"。在回 放未将高速缓存线的状态变更
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1