当前位置: 首页 > news >正文

【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模型四、模型训练五、小结总结 前言 随着设计越来越深的网络,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力&#xff0c…...

[java进阶]——IO流,递归实现多级文件拷贝

🌈键盘敲烂,年薪30万🌈 目录 一、认识IO流 二、了解编码与解码 二、IO流体系 三、字节输入输出流 四、字符输入输出流 五、多级文件拷贝 一、认识IO流 IO流也叫输入流(intput)、输出流(onput),该流就像java程序同硬盘之间的…...

Linux创建与删除用户

Linux创建与删除用户 新增用户: adduser 用户名【添加用户】 passwd 用户名【设置用户密码】删除用户: userdel -r 用户名【删除用户】...

对传感器采样数据的低通滤波

低通滤波(Low-pass filter) 是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。 一阶低通数字滤波器 滤波系数a越小,滤波结果越平稳,但是灵敏度低;滤波系数a越大,滤波结…...

Java开发树结构数据封装!

目录 源数据如下controller接口&#xff1a;service层封装:Dao接口&#xff1a;Dao层Mapper:映射实体类&#xff1a; 源数据如下 controller接口&#xff1a; RequestMapping("/UserTreeInfo")public RespBody getUserTreeInfo(Long userId) {List<MenuTreeVo>…...

c++学习笔记汇总

[TOC] (C学习笔记汇总) 基础认识、基础语法 类、类与类之间的关系、可调用对象、std::function类模板、c11新标准、资源管理方案RAII、指针、智能指针、引用计数、C的多态 ios、istream、iostream、fstream、sstream 模板编程&#xff1a; 模板编程&#xff1a;主要分为“泛…...

[动手学深度学习]生成对抗网络GAN学习笔记

论文原文&#xff1a;Generative Adversarial Nets (neurips.cc) 李沐GAN论文逐段精读&#xff1a;GAN论文逐段精读【论文精读】_哔哩哔哩_bilibili 论文代码&#xff1a;http://www.github.com/goodfeli/adversarial Ian, J. et al. (2014) Generative adversarial network…...

Kotlin中的算数运算符

在Kotlin中&#xff0c;我们可以使用各种算术运算符来进行数值计算和操作。下面对这些运算符进行详细描述&#xff0c;并提供示例代码。 正号&#xff08;正数&#xff09;和负号&#xff08;负数&#xff09;&#xff1a; 正号用于表示一个正数&#xff0c;不对数值进行任何…...

Linux高性能服务器编程 学习笔记 第十六章 服务器调制、调试和测试

Linux平台的一个优秀特性是内核微调&#xff0c;即我们可以通过修改文件的方式来调整内核参数。 服务器开发过程中&#xff0c;可能会碰到意想不到的错误&#xff0c;一种调试方法是用tcpdump抓包&#xff0c;但这种方法主要用于分析程序的输入和输出&#xff0c;对于服务器的…...

第三期:云函数入门指南答案

1.云函数需要用户自行考虑租用/购买多少资源以达到最少成本最高效运行自己的函数。 答案&#xff1a;错误(False) 2.Cloud Functions可以为您准备好计算资源&#xff0c;弹性地、可地运行任务&#xff0c;并提供日志查询、性能监控和报警等功能。 答案&#xff1a;正确(True…...

企业怎么通过数字化工具来实现数字化转型?

数字化转型是使用数字技术和工具从根本上改变公司运营方式并向客户提供价值的过程。它涉及思维方式、流程和技术的全面转变&#xff0c;以跟上快节奏的数字时代。以下是有关公司如何通过数字工具实现数字化转型的分步指南&#xff1a; 1.定义您的愿景和目标&#xff1a; 首先确…...

React函数式写法和类式写法的区别(以一个计数器功能为例子)

函数式写法更加简洁和函数式编程思维导向&#xff0c;适用于无状态、UI纯粹的组件&#xff0c;且可以使用Hooks处理副作用。而类式写法适用于有内部状态、生命周期方法和复杂交互逻辑的组件&#xff0c;提供了更多的灵活性和控制力。 文章目录 一、计数器功能演示 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、哪些数据适合加缓存 使用缓存时&#xff0c;一定是数据库中的数据极少发生改…...

Spark大数据分析与实战笔记(第一章 Scala语言基础-4)

文章目录 每日一句正能量1.4 Scala面向对象的特性1.4.1 类与对象的特性1.4.2 继承1.4.3 单例对象和伴生对象1.4.4 特质 每日一句正能量 若要快乐&#xff0c;就要随和&#xff1b;若要幸福&#xff0c;就要随缘。快乐是心的愉悦&#xff0c;幸福是心的满足。别和他人争吵&#…...

腾讯云服务器端口localhost可以访问,外部无法访问解决

搭建frp跳板&#xff0c;发现无法使用。ssh 连接不上。 主要检查2个东西&#xff1a; 1. ubuntu ufw系统防火墙。这个默认是关掉的 2. tencent这个防火墙规则设置后&#xff0c;还要设置到实例上。 以前不是这样的。就掉坑里了。 # 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 如下图所示&#xff0c;就为其版本 3.通过查看readme_eclipse.html文件...

论文精讲目录

ViT论文逐段精读【论文精读】MoCo 论文逐段精读【论文精读】对比学习论文综述【论文精读】Swin Transformer论文精读【论文精读】CLIP 论文逐段精读【论文精读】双流网络论文逐段精读【论文精读】I3D 论文精读【论文精读】视频理解论文串讲&#xff08;上&#xff09;【论文精读…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...