当前位置: 首页 > 专利查询>苹果公司专利>正文

具有自适应预测的关键字转送制造技术

技术编号:8082125 阅读:260 留言:0更新日期:2012-12-14 14:54
在实施例中,系统包括存储器控制器、处理器及对应缓存。系统可以包括不确定源,这些不确定源妨碍对处理器缓存中未命中的加载操作的数据转送的准确安排。存储器控制器可以提供早期响应,该早期响应指示数据应该在后续时钟周期提供。在存储器控制器与缓存/处理器之间的接口单元可以预测从当前接收的早期响应到对应数据的延迟,并且可以推测地准备转送数据,假如数据将如预测的那样可用。接口单元可以监视在早期响应与数据转送之间的延迟、或所述延迟的变化的至少一部分。基于所测量的延迟,接口单元可以修改随后预测的延迟。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及处理器的领域,尤其涉及处理器和相关电路中的缓存块(cacheblock)填充的关键字的转送。
技术介绍
处理器通常实施加载和存储操作以访问存储器的数据。所述加载规定存储器位置的读取,以将数据提供给处理器,所述存储使用处理器提供的数据来规定存储器位置的写。根据处理器实施的指令集体系结构,加载和存储可以是指令集体系结构中规定的显式指令、规定存储器操作的指令中的隐式操作、或它们的组合。为了减小用于加载和存储的存储器延迟,处理器通常实施一个或多个缓存,在访问主存储器系统之前访问该一个或多个缓存。缓存以缓存块单元来存储最近访问过的数据。缓存块在不同处理器中具有不同大小,如32字节、64字节、128字节等等。所述块通常在存储器中与它们的尺寸的自然边界对准。相应地,如果所述加载在缓存中未命中(miss),则包含加载数据的缓存块被从存储器中读取,并且传送到缓存。尽管将缓存块存储到缓存中将减小命中(hit)缓存的其它访问的延迟,处理器的性能常常受到等待加载数据的严重影响。通常,缓存块使用从存储器到处理器的互连的多次数据传输而传送。为了减小对于加载数据的等待,加载数据被提供在缓存块的第一传送,然后传送剩余数据。处理器和缓存被设计成,在等待要提供的缓存块的同时,将加载数据转送到目标。某些情况下,存储器控制器可设计成,提供指示数据即将传送的响应(例如,在数据传送之前若干时钟周期),从而缓存/处理器可安排所述数据的转送。这样的存储器控制器在传送数据之前若干时钟周期提供所述响应,并且保证所述数据将在所识别的时钟周期传送。因而,精确地安排所述转送。
技术实现思路
在实施例中,系统包括存储器控制器、一个或多个处理器和对应缓存。系统可能含有不确定源,不确定源阻止了在处理器缓存中不存在的加载操作的数据转送的准确安排。存储器控制器可以提供早期响应,指示数据应该在后续时钟周期中提供。然而,转送所述数据的实际时钟周期由于系统的不确定性而变化。存储器控制器与缓存/处理器之间的接口单元可以预测从当前接收早期响应到所述对应数据的延迟,并可以推测地准备转送所述数据,假如它将如预测的那样可用。如果预测正确,数据可以按低延迟转送。如果预测不正确,数据可能按更长延迟转送。接口单元可以监视在早期响应与数据的转送之间的延迟,或者至少所述延迟的变化部分。基于测量的延迟,接口单元可以修改随后预测的延迟。因而,接口单元可以随着时间使所预测延迟适应所述系统经历的实际延迟,调整不确定性。在实施例中,不确定性可以包括例如异步时钟域父叉中的不确定冋步延迟;存储器控制器、缓存、以及/或处理器内的流水线延迟的不确定性;及由于系统操作模式的变化(例如,进入和离开低功率模式等等)造成的时钟频率的一个或多个的变化。不确定源可以随系统而不同。通过使预测延迟适应经历的实际延迟,当数据准备转送时,用于数据的转送路径可能更多的被准备好,某些实施例中,在缓存中未命中数据的情形下减小对于加载数据的平均延迟。附图说明如下详细描述参照附图,现在简短描述这些附图。图I是集成电路的一个实施例的方块图。图2是在图I表示的接口单元的一个实施例的方块图。图3是流程图,表明在图2表示的延迟监视器的一个实施例的操作。图4是流程图,更详细地表明在图3表示的流程图的一部分的一个实施例。 图5是流程图,表明响应于早期响应指示的关键字转送控制电路的一个实施例的操作。图6是状态机的一个实施例的方块图,该状态机可以由关键字转送控制电路的一个实施例实施。图7是时序图,表明关键字转送的一个实施例的操作。图8是系统的一个实施例的方块图。图9是在图I表示的接口单元的另一个实施例的方块图。尽管本专利技术可接收各种修改和备选形式,具体实施例作为例子表示在附图,这里将详细描述。然而,应该理解,附图和对其详细描述不打算将本专利技术限于公开的特定形式,相反,旨在覆盖落在附属权利要求书所限定的本专利技术的精神和范围内的全部修改、等效物及备选例。这里使用的标题仅用于组织目的,并且不意味着用来限制说明书的范围。如贯穿本申请使用的那样,字词“可以(may)”用在容许意义上(即意味着具有可能性),而不是命令意义(即,意味着必须)。类似地,字词“包括(include)”、“包括(including)”、以及“包括(includes)”是指包括但不限于。各个单元、电路、或其它元件可以描述成“配置成”执行任务(一项或多项)。这样的上下文中,“配置成”是一般意味着“具有电路”的广义陈述,该电路在操作期间执行任务(一项或多项)。这样,即使当单元/电路/元件当前不通电时,单元/电路/元件也可配置成执行任务。一般地,形成与“配置成”相对应的结构的电路可以包括硬件电路。类似地,各个单元/电路/元件为了方便,在描述中可以描述成执行任务(一项或多项)。这样的描述应该解释成包括短语“配置成”。所述配置成执行一项或多项任务的单元/电路/元件特意不适用35U. S. C. § 112的第六段的对单元/电路/元件的解释。具体实施例方式现在转到图1,表示耦合到存储器12的集成电路10的一个实施例方块图。所示实施例中,集成电路10包括一个或多个处理器,如处理器14A-14B、二级(L2)缓存16、接口单元18、以及存储器控制器20。处理器14B的一部分更详细地显示在图1,以包括寄存器文件22和数据缓存24。处理器14A可以是相似的。存储器控制器20配置成耦合到存储器12,并且可以经接口耦合到接口单元18。如在图I显示的那样,接口可以包括请求、写数据和读数据、以及早期响应。接口单元18也经过写总线和读总线耦合到L2缓存16,该写总线被标记为“写”的,该读总线包括读请求和读数据。接口单元18还经仲裁信令耦合到L2缓存16,仲裁信令包括读仲裁(Read Arb)、同意(Gnt)、以及取消(Cxcl )。处理器14A-14B由接口耦合到L2缓存16,这些接口可以包括请求、写数据、以及读数据。时钟域边界也显示在图I为虚线26。处理器14A-14B可以配置成,执行加载和存储操作(更简明地这里称作加载和存储),并且可以配置成检测在它们的本地缓存(例如,在处理器14B的数据缓存24和在处理器14A的类似缓存)中的缓存未命中。对于加载,处理器14A-14B可以配置成将缓存填充请求传输到L2缓存16,以读取未命中缓存块。对于存储未命中,在某些实施例中,处理器14A-14B也可以配置成传输缓存填充请求。其它实施例中,处理器14A-14B可以配置成传输所述存储以更新L2缓存16和/或存储器12,但不可传输缓存填充来读取所述未命中缓存块。处理器14A-14B可以配置成将标识符(例如,事务标识符或TID)分配给每个缓存填充请求和由处理器14A-14B启动的每个其它事务。TID可以与事务的请求、数据等一起传送,以将所述传输识别为同一事务的部分。 如图I显示的那样,在处理器14B与L2缓存16之间的接口可以包括请求总线(例如,地址、命令等)和读/写数据总线。读和写数据总线可以是所示的分离单向总线,或者可以组合为双向数据总线。在某些实施例(未示在图I中),也可以有用来传输相干响应的响应总线。其它实施例可以使用其它接口,如分组接口,用来传输请求、响应、以及数据。处理器14A的接口可以与对于处理器14B的接口相本文档来自技高网...

【技术保护点】

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

【专利技术属性】
技术研发人员:B·P·莉莉J·M·卡索夫陈浩
申请(专利权)人:苹果公司
类型:
国别省市:

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

1