对权力的可靠性和性能的影响

决定论和相干正变得越来越重要,因为芯片在范围广泛的应用程序使用。

受欢迎程度

确保一个复杂的系统按计划执行,并提供适当的记忆,需要一系列微妙的权衡,过去常常被忽略了。但性能改进与体系结构和微体系结构越来越紧密地联系起来,而不是扩展到下一个节点,决定论和不同类型的缓存等方法越来越成为关键元素的设计。

今天大多数计算机硬件是不确定的,这意味着两个执行一个程序不会cycle-for-cycle microarchitectural级别相同,即使他们从同一microarchitectural状态。事实上,由于未初始化状态元素,I / O,和时间变化的高速巴士,microarchitectural州两个死刑的发展不同。

但如果硬件设计可以和决定论,两个执行一个程序将cycle-to-cycle相同。简化了系统验证,它使硬件检测故障期间bringup容易繁殖和分析。

“决定论指系统不会偏离你着手去做的,”解释Gajinder Panesar,首席技术官UltraSoC。“决定论,你需要避免动态路由,动态互连的争用和仲裁。”

决定论是在许多嵌入式应用程序,一个重要因素。

图1:确定性设计动作。

“决定论可以实现在一个CPU硬件水平或在软件层面,”迈克汤普森说,高级产品营销经理组的解决方案Synopsys对此。“硬件(实时)决定论是重要的需要响应的应用程序在一个特定时间后一个输入事件。这在一个汽车安全气囊系统是至关重要的,例如,安全气囊必须在指定的时间内火后碰撞。但随着系统越来越复杂,使用更多的处理器、维护决定论将变得更加困难。”

这包括软件和硬件。“软件决定论时可以使用的相同应用程序执行给定一组输入或事件,”汤普森说。“软件决定论,例如,可以更容易调试一个程序。一个程序,然后执行数百次失败由于随机的问题可能会非常难于调试。不可能复制事件。”

决定论也可以通过清除缓存,UltraSoC的Panesar说。“一旦你开始与任何缓存大量的代码,你将开始失踪的缓存,因此对数据的访问。指令将会不同,这取决于如果项目是否在缓存中缓存”。

这是由于缓存的工作方式。是一个本地内存缓存。如果数据不在本地内存,系统从哪里去取。

“然后,它让它并将它放入本地内存,“Panesar说。“没关系,如果你刚刚开始,但是一段时间后缓存满,然后在某一时刻你小姐,这不是在缓存中,所以你必须去得到它,但是当你把它带回来,你必须找到空间。因此,你必须拿出东西来取代它,当你这样做,它可能是在缓存的缓存也可能不是。也许一些周期早些时候你带,然后它生长非常快。也许另一个时间,别的东西进来了,你想要取代了,所以你必须去得到更多。”

数据缓存,如果访问整个互连到一些外部内存,如果互连芯片被其他事情,单一资源的争夺。

“这就像高速公路,Panesar说。“当你试图让到它,如果你有足够宽的高速公路车道,然后你有带宽。在高峰时间,你没有带宽。一件类似的事发生在soc。高峰时间发生的时候,你没有得到你预期的带宽,当你开始有你不能决定论”。

连贯地思考
连接到这个在今天的许多系统一致性,在一个或多个消费者需要相同的数据和数据可能不是本地的。例如,一个连贯的子系统可以四个处理器。一个处理器的数据项,但其他处理器也想使用数据项A一致性是一种有一个地方去取数据更新它,然后更新其他的本地副本。

一致性通常用于一个系统需要共享内存资源,因为它是用来防止这些记忆中的信息是一样的。

“在单CPU系统,能保持一致性之间的外部内存或外围功能,”汤普森说。“在多个cpu的系统被用于运行一个应用程序中,数据缓存之间的一致性维护,以确保当前所使用的数据是每个处理器。在大系统中,一致性之间可能还保持着顶级(2级或3级)之间的缓存集群。一致性的使用增加了近年来,较高的使用多处理器系统的实施来解决日益增长的性能需求。”

功率和性能
决定论和一致性是复杂与功率和性能。找到正确的平衡需要更多更多的工作,因为底层的硬件都密切关注的数据块,世卫组织要求什么。

“如果只是本地的数据,那么硬件不会有额外的工作要做,”Panesar说。“这并不是计算,但也有硬件块跟踪事情进展。有更多的工作。一个级别(权衡)将是更大的权力,但这取决于系统,因为如果系统设计,它必须移动数据,这需要更多的权力。但如果系统有一个连贯的网络,那么它不会。”

数据服务器这些天往往是一致的,和工作在一个服务器上运行时,数据可能不是核心在哪里运行。它可能是在另一个核心或其他地方,或在内部的二级缓存互连。“你获得更好的性能数据更接近你的核心在缓存中,这可能是二级缓存内的网络,”他说。”,应该节约能源,因为你不是移动数据。”

权力是由多少计算需要多少数据移动,这一问题已经越来越明显,需要处理的数据量持续爆炸。数据移动和越少越近,保持处理器和内存,功率越低。

“如果在服务器上运行的应用程序分区合理,你可能减少权力,”他说。”,但如果你有一个系统,你上传一些高性能的云,这实际上取决于你用的是什么样的操作系统,以及它是否有效地使用您的数据在哪里。”

这是一个系统范围的关注,并蔓延到其他软件工程等领域。

“没有相干你可以有一个处理器在旧的或陈旧的数据,这不仅会产生错误的结果,而且浪费能源,”汤普森说。“你可以管理这个软件,但这增加了软件的编程任务的复杂性,需要额外的循环燃烧更多的权力。”

另一方面,一个处理器相干单位将使用更多的权力比处理器没有一致性。因此,在今天的大多数应用程序,硬件相干优先当多个处理器同时工作在一个给定的任务。这使得设计更容易实现和调试。一致性可以与大多数高端cpu为多核设计的实现。这意味着它是更容易使用硬件联接,它简化了程序员的任务,这样他们就可以专注于更重要的事情,他说。

其中一个任务需要平衡各种计算元素的设计。使用多核可以根据需要分发处理使用较低的时钟频率,因此较低的权力,但也减少了决定论。

“随着系统性能增加,权衡,使系统不确定性,”汤普森说。“确保决定论会系统的最大性能成本。这是一个巨大的挑战在高端系统设计”。

同时,减少权力模式处理器可以减少决定论,因为他们介绍的延迟。“减少权力模式是常见的在大多数嵌入式处理器,用于空闲处理器时不被使用。空转处理器在许多应用程序中是至关重要的,以满足电力需求。返回处理器从降低功率模式可以依赖事物外部处理器和内存访问时间或一个振荡器的启动时间,”他补充道。

对验证的影响
所有的这些影响验证,。确保相同的内存视图内容在其他许多核心系统连贯的组件访问三个级别的cache-represents最艰难的验证的挑战之一。

”虽然有可能设计一个适当的协议,确保它工作在所有情况下需要成千上万的系统基础设施水平测试狡猾地寻找奇异角情况下,“观察Dave Kelf首席营销官Breker验证系统。“系统级随机化,约束设置在系统级测试和覆盖测量在同一层次的抽象,是唯一真正的答案找到这些不起眼的角落案件。”

但是一旦这些测试设置,也可以配置一个系统级的设计和调整能力/性能权衡。”在这种情况下,验证testbench可以被视为一个权衡平台协议调整,同时确保设计配合,“Kelf说。“现在权衡调整和验证符合的。”

结论
权衡越来越复杂的芯片和系统架构师寻求平衡力量和性能对决定论和一致性。虽然这些技术和方法并不是新的,建立一个平衡,确保芯片工作时完全按计划应该是一项具有挑战性的工作。扔在人工智能、安全性和安全性至关重要的要求,它变得更艰难。



留下一个回复


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

Baidu