缓存一致性如何影响力量,表现

第二个两部分组成:为什么和如何添加缓存一致性到现有的设计。

受欢迎程度

讨论了在第一部分缓存一致性的原因之一,是越来越重要的是当今设计共同内存资源。各种代理设计想要访问数据最快,施压CPU复杂管理所有的请求。

直到上一代,这是好的记忆和获得的CPU控制,以及其他代理像GPU的仲裁者或一个加速器。“他们都说,‘我需要这个记忆。嘿,CPU,取对我来说,”首席执行官Sundari Mitra说NetSpeed系统。“我将允许CPU告诉我这记忆是可以处理事务是足够快,“因为一个CPU一级缓存,其二级缓存,可能其三级缓存,然后访问主存。CPU可以管理这些事务。”

但随着越来越多的实时决策做出是否基于图形,或一些新的加速度单位的物联网实时或汽车市场需要做出一些决定,它需要访问内存所发生的独立CPU,她解释道。所以缓存一致性,而不是受制于一个CPU子系统,正在打开GPU和其他代理需要访问它。实际上,这就变成了I / O一致性,或某种形式的相干耦合的CPU / GPU织物。

在许多设计、一致性维护的软件,因为硬件不包含一致性。设计团队想要将它移动到硬件,但这可能是一个艰巨的任务,说Kulbhushan卡尔拉,研发经理弧处理器Synopsys对此

研究员克里斯•再生草和IP Group的首席技术官节奏同意,但是可能很难。“你可能需要改变核心和互连,因此在概念上可以有相同的结构,但是你要更换管道以一种有意义的方式去做。你可以说你会有相同的一般类型的核心,也许运行相同的软件或基本相同的软件,和相同的指令集,连接,存储系统,外围设备和加速器。但需要运行一致性协议的总线结构,处理器核心,参与缓存一致性,需要更改为了支持增强的协议。”

当一个设计演变代代相传,工程团队通常认为的升级平台。所以平台概念最初的后裔,但通常有足够的变化当总线和核心交换是认为至少部分新的设计,而不是改造,再生草说。

一致性是如何工作的
了解如何添加在相干,有趣的是,完全相干运作。

资深产品经理尼尔·帕里斯的手臂,解释说,硬件缓存运行在多个级别:

  • 在一个处理器集群。四核处理器,例如,每个处理器核心之间的缓存一致性。
  • 处理器之间的集群。一只手臂大。小系统有大的、小的处理器集群允许峰值性能和系统整体效率的改善通过使用合适的处理器的任务。
  • 处理器和I / O之间,如网络应用程序与硬件加速器和接口,共享数据处理器。I / O一致性是一个术语用于单向的一致性。换句话说,I / O(在这种情况下,一个加速器或接口)可以从处理器读取缓存,但是处理器不能从I / O读取。
  • 异构处理不同类型的处理器,如CPU、GPU和DSP。

帕里斯指出的最后一点是一个令人兴奋的领域现在工业的发展,并表示手臂的最新IP允许将GPU与CPU在完全相干缓存相干互连,并允许新的软件模型,如精密虚拟内存共享。这意味着共享的数据很简单,通过一个指针,CPU和GPU可以工作吗相同的数据在同一时间

时增加连贯性,以前不是,帕里斯说,对一个处理器,包括缓存,但一个简单的总线接口,像阿喜,这将是相当大的变化添加支持完全硬件缓存一致性。接口需要升级到支持安巴王牌或气,和处理器需要响应的完整一致性协议。

他指出,这可能是更容易利用一个I / O连贯接口互连负责的一致性。一个例子将会添加一个AXI协同处理器或加速器一个I / O连贯接口(AMBA ACE-Lite)互连。“I / O读取可以窥探和从相干处理器读取缓存,以及任何写道将自动失效旧陈旧的数据处理器缓存。这个I / O设备也可以受益于在连贯的互连系统缓存。例如手臂CCN(缓存相干网络)包含一个系统缓存,可以允许分配I / O连贯接口。这可能被认为是一个代理缓存,使I / O设备性能优势,以及系统中处理器。

代理缓存
代理缓存的概念日渐普及。Arteris采取这种方法。根据大卫•Kruckemyer首席硬件架构师Arteris,代理缓存视图soc在一般情况下,是通过一个连贯性子系统内的沟通是有效的相关的意义,语义连贯的访问。

还有一个非相干性的子系统,语义的非相干性的访问。有一个组件的系统,桥梁这两个子系统,称为非相干性的桥,允许集成遗留IP,和新,无粘聚力的IP。依赖于缓存的桥,叫做代理缓存代理的非相干性的IPs说。代理缓存保持一致的对所有其他的缓存相干子系统,他解释说。

大局,当把一个系统在一起的上下文中考虑缓存一致性处理器,再生草指出,工程团队通常要么购买一个手机的处理器在集群的缓存一致性机制子系统内部的IP,他们购买,否则他们使用一个标准的总线。“ACE协议从手臂AXI实现它,还有验证IP来确认,当你插入正确的标准。所以它是总线协议的一部分,和一致性与总线协议的行为都符合一致性机制。”

然而,设计团队在两个方向上,他观察到。“一个是他们说他们不需要所有的复杂性和选择功能的一个子集,并简单将来自扔东西。他们摆脱一些管理复杂性的复杂性。另一种方法设计团队解决缓存一致性问题是通过包装的复杂性说,“不,它会适合一个协议,这是它的核心。这是一些它的验证IP。这是一个标准的总线,它。这是一个生态系统,造成了一些丰富的工具和IP实现的复杂性,这样你不用担心。”

自己动手
当然,生活中也会有一些先进的计算机架构师设计一些不同的一个很好的理由,不想愚蠢的下来。“每一个system-ARM王牌,例如,是一种妥协在不同人可能想要做的事情,“再生草说。“这将有优点和缺点,一些人说,他们将很乐意把优点和缺点,只要他们不需要重新发明轮子。别人承认他们可以得到50%的效率获得做这一种不同的方式,因此将挑战。”

他补充说,让缓存一致性正常工作是一个挑战问题,因为有很多可能的交互。“你有两个或三个或四个不同的总线主人,这些都是做这些交易更新不同的缓存的状态,和事件的顺序非常重要。这是一个大挑战验证。当我们扩展到大量核心,或者我们规模更大的比率之间的性能的核心和片外存储器的性能,我们需要继续创新在这些类型的问题。它是复杂的,这是一个一级运动。”

有关的故事
缓存一致性的影响力量,第1部分表现如何
第1部分:看看沟通跨多个处理器在一个SoC的影响以及如何更有效。
一致性,缓存和可配置性
提高性能的基本原理。
异构多核头痛
使用不同的处理器系统中,功率和性能,但它却使缓存一致性更加困难。



留下一个回复


(注意:这个名字会显示公开)

Baidu