当前位置:首页 > 通信技术 > 通信技术
[导读]当今片上系统 (SoC) 的设计人员对中央处理器 (CPU) 中处理器核心的缓存非常熟悉。对主外部存储器的读取或写入访问可能非常耗时,可能需要数百个 CPU 时钟周期,同时处理器处于空闲状态。尽管单个存储器访问所消耗的功率很小,但当每秒执行数十亿次事务时,功率就会迅速增加。

当今片上系统 (SoC) 的设计人员对中央处理器 (CPU) 中处理器核心的缓存非常熟悉。对主外部存储器的读取或写入访问可能非常耗时,可能需要数百个 CPU 时钟周期,同时处理器处于空闲状态。尽管单个存储器访问所消耗的功率很小,但当每秒执行数十亿次事务时,功率就会迅速增加。

举例来说,假设每笔交易为 64 字节,以 1.5 GHz 运行的单个 256 位宽数据通道每秒将产生约 7.5 亿笔交易。多个数据通道通常会并行活动,执行片外 DRAM 访问。

当程序访问一个内存位置的数据时,它通常需要访问附近的其他位置。此外,程序通常具有循环和嵌套循环,在这些循环中,程序在执行下一个任务之前对同一数据块执行多个操作。

了解 SoC 中的缓存内存

鉴于内存访问耗时、功耗高以及程序中典型的数据访问和处理模式等挑战,采取战略性方法至关重要。解决方案是在靠近处理器的地方实现小型、快速的缓存。

当程序从主内存请求新的数据时,系统会自动检索一个数据块并将其加载到缓存中。随后,处理器会对本地存储的数据执行多项操作。最终,这些操作产生的新数据被复制回主内存。

第一级缓存(即 1 级或 L1 缓存)之后,随着时间的推移,陆续添加了 L2 和 L3 缓存。每个后续级别都比前一个级别更大且更慢,但比访问主内存要快得多(图 1)。

阿特里斯

1. 多个缓存存储器通常与一个或多个 CPU 一起使用。

另一个趋势是使用具有不同缓存配置的 CPU 集群。例如,在四核集群中,通常每个核心都有自己的 L1 缓存,成对的核心共享一个 L2 缓存,所有四个核心共享一个 L3 缓存(如图 1b 所示)。或者,每个核心可能都有专用的 L1 和 L2 缓存,而所有四个核心只共享 L3 缓存。

关于缓存的一个考虑因素是管理共享数据的多个副本。例如,在图 1b所示的场景中,假设 CPU0 从主内存中检索并修改数据,然后将更改后的版本存储在其 L1 缓存中。现在,假设 CPU3 希望访问相同的数据。它应该使用哪个副本——主内存中的原始副本还是 CPU0 的 L1 缓存中的修改副本?

这种困境导致了对缓存一致性的需求,这意味着当一个数据副本发生更改时,必须修改所有其他副本。这可以通过更新其他缓存中的数据或将其他缓存中的副本标记为无效来实现。

缓存一致性可以通过软件进行管理。但是,现在更常用的是使用特殊硬件来确保图 1a中所示的缓存和图 1b中所示的集群内能够高效、透明地实现这一点。

现代 SoC 除了 CPU 之外,还包含大量知识产权 (IP) 块。一些 IP 可能配备自己的缓存,这些缓存可能需要或不需要与 CPU 保持缓存一致性。

如果任何 IP 块都不需要与 CPU 保持一致,则可以使用 AMBA AXI 协议采用非一致性片上网络 (NoC)互连。或者,如果 SoC 有多个需要保持群集间一致性的 CPU 群集,或者带有缓存的 IP 需要保持一致性,则可以使用 AMBA ACE 或更现代的 AMBA CHI 协议采用缓存一致性 NoC 互连。

还有第三类一致性,称为 IO 一致性,其中设备可能希望参与访问共享内存,但不支持完全一致性。这种 IP 的一个例子是 GPU 以与系统其余部分一致的方式访问共享内存,但不能直接窥探 CPU 的缓存。IO 一致性设备依靠一致性 NoC 来代表它们维护数据一致性。

如何利用缓存提高 SoC 性能

其他 IP 功能(例如硬件加速器 IP)也可能受益于使用类似上述 CPU 示例的缓存。这些以 IP 为中心的缓存通常不需要与 CPU 保持一致性;但是,它们可以使用非一致性 NoC 互连进行连接。

或者,添加暂存器 (SRAM) 可能会使某些 IP 受益。这种高速存储器直接连接到 IP,用于临时存储少量数据,以便快速访问和检索。

设计缓存或暂存器是一项复杂的任务,即使该缓存不需要与其他缓存保持一致性。开发人员希望花费宝贵的时间来构建 SoC 并设计其专有 IP 功能,以使其创作与竞争产品区分开来。他们通常试图避免投入资源来开发缓存。

实现 CodaCache

一种解决方案是使用Arteris的 CodaCache 。它是一种可配置的独立非一致性缓存 IP。CodaCache 在使用 16 纳米工艺技术实现的 SoC 上以高达 1.2 GHz 的速度运行,可与 AMBA AXI 互操作,每个 AXI 端口提供高达 8 MB 的容量。CodaCache 提供可配置的 1 到 16 路关联性,具有路分区、缓存刷新、纠错码保护等高级功能,并支持 ISO 26262 功能安全应用。

有许多潜在的实现场景,其中两种如图2所示。第一种是向单个 IP 添加专用的 CodaCache,从而提高 IP 性能(图 2a)。第二种是添加 CodaCache 作为最后一级缓存,从而提高 SoC 性能(图 2b)。

阿特里斯

2. 最后级别的 CodaCache 实现位于互连和缓存与主存储器之间。

CodaCache 还可用于各种场景,包括用作暂存器。以这种方式使用缓存可带来诸多好处,例如增强性能,其特点是提高数据吞吐量和减少延迟。它还通过降低功耗和发热量来提高能源效率。此外,它还提供设计灵活性和可扩展性等好处。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭