【ARM Cache 系列文章 10 -- ARM Cortex-A720 Hunter 介绍】
文章目录
- 概述
- 1.1 A720 Features
- 1.1.1 core features
- 1.1.2 Cache features
- 1.1.3 Debug features
- 1.2 A720 组件介绍
- 1.2.1 L1 缓存系统
- 1.2.2 指令解码
- 1.2.3 寄存器重命名
- 1.2.4 指令分发单元
- 1.2.5 向量执行单元
- 1.2.6 加解密扩展单元
- 1.2.6.1 有限域算法
- 1.3 接口
- 1.4 GIC CPU Interface
- 1.5 System Control
- 1.6 Debug
- 1.7 Performance Monitors Extension
概述
Cortex-A720 是基于 DSU-120 实现的,下图显示了A720的实现配置图:

1.1 A720 Features
1.1.1 core features
- 基于 ArmV9.2-A A64 指令集实现;
- 包含MMU;
- 40位的物理地址宽度,48位的虚拟地址宽度;
- GIC(Generic Interrupt Controller);
- 通用时钟接口,支持64位的counter计数器;
- 支持 RSA Extension(Reliability, Availability, and Serviceability);
- 支持 Scalable Vector Extension (SVE) ;
- 支持 SIM 和 浮点运算;
- 支持 AMU(Activity Monitoring Unit);
- 支持加解密引擎。
1.1.2 Cache features
- L1 的 指令cache和数据cache分开,L1 指令cache size 可选:32KB or 64KB,数据cache可选:32KB or 64KB;
- L2 Cache; L2 Cache 的配置大小可选:128KB, 256KB, or 512KB;
- 支持 MAPM(Memory System Resource Partitioning and Monitoring)。
1.1.3 Debug features
- 支持 Armv9,2 的 debug 逻辑;
- 支持 PMU,PMU支持的event conuter 个数可配置范围:6 或者20个;
- 支持 ETE(Embedded Trace Extension );
- 支持 TRBE(TRace Buffer Extension);
- 可选项 SPE (Statistical Profiling Extension )功能;
- 可选项 ELA-600功能。
1.2 A720 组件介绍
下图是 A720 内部组件图:

主要包含以下内容:
- L1 instruction and L1 data memory systems
- L2 memory system
- Register rename,寄存器重命名
- Instruction decode,指令解码
- Instruction issue,指令分发
- Execution pipeline,执行流水线,主要是做一些向量运算,
- Memory Management Unit (MMU)
- Trace unit and trace buffer
- Performance Monitoring Unit (PMU)
- Activity Monitoring Unit (AMU): 它的主要功能是提供一种机制来测量处理器的运行活动。
AMU 通过收集和存储关于处理器执行的指令和内存访问的详细信息,使得开发者可以更好地理解和优化软件在硬件上的性能。这些信息可能包括执行的指令数、缓存命中和未命中的数目、分支预测的准确性等等。
在某些场景下,AMU 的信息还可以用来进行能耗分析和优化。比如,通过比较不同的软件版本或者算法实现在处理器上运行的效率,开发者可以找到并解决可能的性能瓶颈,进一步减少能耗。 - Generic Interrupt Controller (GIC) CPU interface
- Branch prediction,分支预测
A720 通过 CPU Bridge 与 DSU-120 连接, DSU-120再与与外部存储及SOC上其它项连接
1.2.1 L1 缓存系统
主要是从指令cache中拿去指令然后发送到指令解码单元。
L1 缓存系统主要包括:
- 4路组相连,大小可配置为32K或者64K, cacheline 64bytes
- L1 指令 TLB,大小可以配置为 16K, 64K, 2M
- 动态分支预测
1.2.2 指令解码
解码单元将AArch64 架构的指令解码成CPU内部格式,然后发送到执行单元。
1.2.3 寄存器重命名
该功能主要是通过寄存器重命令来加速乱序执行和分发解码后的指令到对应的发射通道。
1.2.4 指令分发单元
控制何时将解码后的指令发送到执行管道,它包含分发队里用于暂存解码后的指令。
1.2.5 向量执行单元
主要用于执行 SVE 和 SEV2 指令,也可以执行加解密指令。
SVE,全名Scalable Vector Extension,是ARM在ARMv8-A架构中引入的一种向量扩展。SVE提供了一种新的处理向量数据的方法,使得在处理大规模并行任务时能够更加高效。SVE的一大特点是其向量寄存器的长度是可伸缩的,可以最大达到2048位。
SVE2是在SVE基础上的进一步扩展,加入了对复杂整数和浮点数运算的支持,以及对通信和密码学应用的支持。SVE2是ARMv9架构中的一个重要特性。
1.2.6 加解密扩展单元
- 支持 AES 加解密;
- 支持 SHA-1,SHA-2,SHA-3 哈希算法;
- 支持 SM3 hash 功能和 SM4 hash 功能;在讨论这个问题之前,需要先明确一点,SM3和SM4是密码算法,而不是哈希算法。SM3是一种消息摘要算法,SM4是一种分组密码算法,它们都是由中国的国家密码管理局发布的。在硬件级别上,ARMv9能够更快更安全地执行这两种算法。这对于一些需要执行大量这类加密运算的场景(如网络安全、数据保护等)非常有利。
SM3是一种消息摘要算法,常用于数字签名、消息认证码等密码学应用中,它的输出是一个固定长度(512位)的“摘要”,任何微小的输入变化都会导致输出摘要的巨大变化,使得攻击者无法通过摘要反推出原始输入信息。
SM4是一种分组密码算法,用于数据的加密和解密。SM4使用的密钥长度为128位,分组长度为128位,采用了分组密码中常见的Feistel结构,是对称密码算法,即加密和解密使用的是同一个密钥。 - 支持有限域算法,用于支持Galois/Counter Mode 和 Elliptic Curve加解密, Galois/Counter Mode (GCM) 是一种块密码模式,它可以提供数据的加密和认证,常常用于保护网络数据。GCM 结合了 Galois 模式的消息认证码(GMAC)和计数器模式(CTR)的加密方式,可以同时进行加密和认证操作。
1.2.6.1 有限域算法
有限域算法,又称有限字段算法,是指在有限域(Finite Field)或者称伽罗华域(Galois Field)上进行的运算规则和算法。
有限域是由有限个元素组成的代数结构,满足加法、乘法、减法和除法四则运算的封闭性、结合律、交换律、分配律,并且乘法和加法操作都有单位元素和逆元素。
在有限域上的算法主要包括有限域上的加法、乘法、求逆等基本运算,以及更高级的多项式运算、矩阵运算、求解线性方程组等。
有限域算法在密码学、编码理论、线性代数、数字信号处理等领域都有广泛应用。例如,在密码学中,AES(高级加密标准)就是在有限域上进行运算的。在编码理论中,Reed-Solomon编码也是建立在有限域上的。
1.3 接口

1.4 GIC CPU Interface
TODO
1.5 System Control
TODO
1.6 Debug
TODO
1.7 Performance Monitors Extension
TODO
相关文章:
【ARM Cache 系列文章 10 -- ARM Cortex-A720 Hunter 介绍】
文章目录 概述1.1 A720 Features1.1.1 core features1.1.2 Cache features1.1.3 Debug features 1.2 A720 组件介绍1.2.1 L1 缓存系统1.2.2 指令解码1.2.3 寄存器重命名1.2.4 指令分发单元1.2.5 向量执行单元1.2.6 加解密扩展单元1.2.6.1 有限域算法 1.3 接口1.4 GIC CPU Inter…...
深度学习——残差网络(ResNet)
深度学习——残差网络(ResNet) 文章目录 前言一、函数类二、残差块三、ResNet模型四、模型训练五、小结总结 前言 随着设计越来越深的网络,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力,…...
[java进阶]——IO流,递归实现多级文件拷贝
🌈键盘敲烂,年薪30万🌈 目录 一、认识IO流 二、了解编码与解码 二、IO流体系 三、字节输入输出流 四、字符输入输出流 五、多级文件拷贝 一、认识IO流 IO流也叫输入流(intput)、输出流(onput),该流就像java程序同硬盘之间的…...
Linux创建与删除用户
Linux创建与删除用户 新增用户: adduser 用户名【添加用户】 passwd 用户名【设置用户密码】删除用户: userdel -r 用户名【删除用户】...
对传感器采样数据的低通滤波
低通滤波(Low-pass filter) 是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。 一阶低通数字滤波器 滤波系数a越小,滤波结果越平稳,但是灵敏度低;滤波系数a越大,滤波结…...
Java开发树结构数据封装!
目录 源数据如下controller接口:service层封装:Dao接口:Dao层Mapper:映射实体类: 源数据如下 controller接口: RequestMapping("/UserTreeInfo")public RespBody getUserTreeInfo(Long userId) {List<MenuTreeVo>…...
c++学习笔记汇总
[TOC] (C学习笔记汇总) 基础认识、基础语法 类、类与类之间的关系、可调用对象、std::function类模板、c11新标准、资源管理方案RAII、指针、智能指针、引用计数、C的多态 ios、istream、iostream、fstream、sstream 模板编程: 模板编程:主要分为“泛…...
[动手学深度学习]生成对抗网络GAN学习笔记
论文原文:Generative Adversarial Nets (neurips.cc) 李沐GAN论文逐段精读:GAN论文逐段精读【论文精读】_哔哩哔哩_bilibili 论文代码:http://www.github.com/goodfeli/adversarial Ian, J. et al. (2014) Generative adversarial network…...
Kotlin中的算数运算符
在Kotlin中,我们可以使用各种算术运算符来进行数值计算和操作。下面对这些运算符进行详细描述,并提供示例代码。 正号(正数)和负号(负数): 正号用于表示一个正数,不对数值进行任何…...
Linux高性能服务器编程 学习笔记 第十六章 服务器调制、调试和测试
Linux平台的一个优秀特性是内核微调,即我们可以通过修改文件的方式来调整内核参数。 服务器开发过程中,可能会碰到意想不到的错误,一种调试方法是用tcpdump抓包,但这种方法主要用于分析程序的输入和输出,对于服务器的…...
第三期:云函数入门指南答案
1.云函数需要用户自行考虑租用/购买多少资源以达到最少成本最高效运行自己的函数。 答案:错误(False) 2.Cloud Functions可以为您准备好计算资源,弹性地、可地运行任务,并提供日志查询、性能监控和报警等功能。 答案:正确(True…...
企业怎么通过数字化工具来实现数字化转型?
数字化转型是使用数字技术和工具从根本上改变公司运营方式并向客户提供价值的过程。它涉及思维方式、流程和技术的全面转变,以跟上快节奏的数字时代。以下是有关公司如何通过数字工具实现数字化转型的分步指南: 1.定义您的愿景和目标: 首先确…...
React函数式写法和类式写法的区别(以一个计数器功能为例子)
函数式写法更加简洁和函数式编程思维导向,适用于无状态、UI纯粹的组件,且可以使用Hooks处理副作用。而类式写法适用于有内部状态、生命周期方法和复杂交互逻辑的组件,提供了更多的灵活性和控制力。 文章目录 一、计数器功能演示 1.函数式写法…...
【根据国防科大学报官网word模板修改的Latex模板】
根据国防科大学报官网word模板修改的Latex模板 学报Word模板链接Latex模板结构编译环境为Texlivevscode或Textstudio 学报Word模板链接 学报官网相关下载链接 点击链接即可前往官网下载相关word模板 Latex模板结构 latex模板 ass.cfg文件 %深层模板文件ass.cls文件 %浅层模板…...
系列十一、Redis中分布式缓存实现
一、缓存 1.1、什么是缓存 内存就是计算机内存中的一段数据。 1.2、内存中的数据特点 读写快断电数据丢失 1.3、缓存解决了什么问题 提高了网站的吞吐量和运行效率减轻了数据库的访问压力 1.4、哪些数据适合加缓存 使用缓存时,一定是数据库中的数据极少发生改…...
Spark大数据分析与实战笔记(第一章 Scala语言基础-4)
文章目录 每日一句正能量1.4 Scala面向对象的特性1.4.1 类与对象的特性1.4.2 继承1.4.3 单例对象和伴生对象1.4.4 特质 每日一句正能量 若要快乐,就要随和;若要幸福,就要随缘。快乐是心的愉悦,幸福是心的满足。别和他人争吵&#…...
腾讯云服务器端口localhost可以访问,外部无法访问解决
搭建frp跳板,发现无法使用。ssh 连接不上。 主要检查2个东西: 1. ubuntu ufw系统防火墙。这个默认是关掉的 2. tencent这个防火墙规则设置后,还要设置到实例上。 以前不是这样的。就掉坑里了。 # systemctl rootVM-4-4-ubuntu:/lib/syst…...
【软考-中级】系统集成项目管理工程师 【16 变更管理】
持续更新。。。。。。。。。。。。。。。 【第十六章】变更管理 (选择2分 考点 1:变更的常见原因考点 2:变更管理的原则是项目基准化、变更管理过程规范化考点 3考点 4考点 5:变更的工作程序考点 6考点 7考点 8考点 9考点 10考点 11考点 12:变更分类系列文章经典语录 考点 1:变…...
【Eclipse】查看版本号
1.在Eclipse的启动页面会出现版本号 2. Eclipse的关于里面 Help - About Eclipse IDE 如下图所示,就为其版本 3.通过查看readme_eclipse.html文件...
论文精讲目录
ViT论文逐段精读【论文精读】MoCo 论文逐段精读【论文精读】对比学习论文综述【论文精读】Swin Transformer论文精读【论文精读】CLIP 论文逐段精读【论文精读】双流网络论文逐段精读【论文精读】I3D 论文精读【论文精读】视频理解论文串讲(上)【论文精读…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
