首页 > 其他分享 >ARM ACE 和 ACE-LITE 的含义

ARM ACE 和 ACE-LITE 的含义

时间:2024-10-29 14:44:16浏览次数:2  
标签:缓存 ACE cache 接口 Lite coherency LITE ARM

ARM的ACE(AXI Coherency Extensions)和ACE-Lite是ARM的AXI(Advanced eXtensible Interface)总线协议的扩展版本,用于实现多核处理器系统中的缓存一致性。

ARM提供了ACP和ACE-lite接口,这两个接口都有device coherency的功能。

ACP是DSU模块的slave接口,它的接口协议规范是ACE-lite协议的子集。ACP slave接口,允许接了该接口的外部master通过DSU的main memory interface(master接口)访问cachable memory空间。ACP的读和写接口宽度都是128bit,为了提高效率,每次访问以cache line为边界。为了保证cache一致性,每次ACP接口访问,都需要check cluster中的所有cache location,即L3 cache和每个core的L1/L2 cache。

ACE-lite是支持I/O coherency的接口。I/O coherency的意思是指device能snoop到CPU的cache、但CPU不能snoop到device内的cache。通常device会提供ACE-lite master接口,如GPU支持ACE-lite master接口。

ACE,可支持full coherency,device和CPU之间能互相snoop对方的cache。

下图说明了ACE和ACE-lite接口的使用:

通过CCI-400连接了ACE master接口的A15/A7 CPU 和 ACE-Lite master接口的GPU / DMAC / LCD controller等devices,

I/O coherency:Devices可以snoop处理器内部的cache,但处理器不能snoop device内部的cache。ACE-lite接口支持I/O coherency,不支持full coherency。如GPU的devices通常具备ACE-Lite master接口。

Full coherency:devices和processors,互相可以snoop对方的cache。ACE接口支持full coherency。CPU通常具备ACE master接口。

1. ACE(AXI Coherency Extensions)

ACE 是AXI总线的扩展,专门为支持多核处理器系统中的全缓存一致性而设计。它提供了缓存一致性协议,使多个CPU或其他缓存代理能够共享一致的内存视图。ACE支持以下功能:

  • 缓存一致性事务:通过无效化和清理等操作,使各个CPU核的缓存内容保持一致。
  • 共享数据操作:ACE支持多个主设备共享相同的内存区域,例如写入-写回缓存的内存行。
  • 带宽与性能优化:ACE允许通过减少不必要的内存访问和缓存失效次数来提高系统的性能和带宽利用率。

在多核处理器系统中,ACE允许不同核之间的缓存数据一致,从而避免了数据不一致带来的数据错误和性能开销。

2. ACE-Lite

ACE-Lite 是ACE的简化版本,只支持部分缓存一致性功能。它适用于不需要完全缓存一致性的设备或IP核,比如DMA控制器。ACE-Lite主要特点有:

  • 只读或只写访问:与ACE不同,ACE-Lite不支持完全缓存一致性事务,只支持读取和写入内存的操作。
  • 简化硬件设计:由于ACE-Lite只支持基本的内存访问,没有缓存一致性事务,因此它在硬件实现上比ACE更简单,适合资源受限的IP核使用。

总的来说,ACE适用于需要完整缓存一致性支持的多核系统,而ACE-Lite则适用于不需要完全一致性、性能需求较低的外围设备或IP核。

标签:缓存,ACE,cache,接口,Lite,coherency,LITE,ARM
From: https://www.cnblogs.com/linhaostudy/p/18513214

相关文章

  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(4)
    1.问题描述:目前华为推送API使用的是v2或者v1版本,请问目前最新的鸿蒙next使用v3版本是否兼容v2或者v1,反过来将v2或者v1的api可以推送鸿蒙next的设备吗?解决方案:v3接口兼容向非HarmonyOSNEXT设备推送,老版本接口不兼容向HarmonyOSNEXT设备推送。2.问题描述:获取PushToken报错G......
  • 3.1.4 Hyperspace 的临时映射1
    系列文章目录文章目录系列文章目录3.1.4Hyperspace的临时映射MmCreateHyperspaceMappingMmGetPageTableForProcess3.1.4Hyperspace的临时映射Windows内核有时候需要将某些物理页面临时映射到内核的虚存区间,用做“草稿”或其他临时的用途。为此,Windows内核在系......
  • C#“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决方案
    当使用C#语言连接Access数据库时,即使安装有64位版本的Office,也会出现“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。”这个问题。从Office2016开始,困扰了我好多年。以往的解决之道(也是网上给出的方法)是:1、彻底卸载并安装32位的Office2、更改注册表、数据库等......
  • 从Flux Dev蒸馏出来的模型——Flux.1 Lite
    flux.1-lite-8B-alpha是Freepik发布的FLUX.1-dev模型的精简版。这个80亿参数的变压器模型使用的内存比原来少了7GB,运行速度比原来快了23%,但精度保持不变(bfloat16)。正如Ostris所指出的那样,原始模型中并非所有区块的贡献都相同,因此Freepik团队分析了每个区块......
  • HarmonyOS NEXT发布,纯净安全的全新应用生态体系
    2024年10月22日,华为举办原生鸿蒙之夜发布会,HarmonyOSNEXT正式发布,宣告了中国操作系统完全自主可控,也标志着鸿蒙生态正加速迈向全面商用的新征程。这个由华为完全自主开发的“纯血”鸿蒙系统,在原生精致、原生互联、原生智能、原生安全、原生流畅等方面实现了全面升级。其中,由Harm......
  • ARM架构鲲鹏主机BClinux离线安装docker步骤
    简介: 下载并安装适用于ARM架构的DockerCE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。■......
  • 鸿蒙HarmonyOS next开发容器类库使用
    摘要容器类库是指一组用于存储和管理数据的数据结构和算法。它们提供了各种不同类型的容器,如数组、链表、树、图等,以及相关的操作和功能,如查找、插入、删除、排序等。一、容器类库线性容器1.ArrayListArrayList可以存储任意类型的对象,包括基本数据类型的包装类。与普通数......
  • ArkTS 的内存空间详解:从 SemiSpace 到 HugeObjectSpace
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。引言ArkTS作为鸿蒙系统的开发语言,提......
  • 多线程应用在鸿蒙 HarmonyOS Next 中的内存管理与 GC 实战
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在构建高性能应用时,尤其是需要处理大......
  • HarmonyOS Next:内存管理与 GC 基础
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。引言HarmonyOSNext作为华为自研的......