首页 > 其他分享 >ARM-V8基础知识学习笔记(一)

ARM-V8基础知识学习笔记(一)

时间:2024-03-16 18:22:05浏览次数:20  
标签:基础知识 64 处理器 V8 ARMv8 级别 ARM Cortex

参考文章:ARM官方文档 ARMv8架构概述、相关技术文档以及ARMv8处理器简介 ARMv8 架构编程探索 ARMv8 架构与指令集.学习笔记  

ARM异常等级:

在 ARMv8 中,执行发生在四个异常级别之一。在 AArch64 中,异常级别决定了特权级别,类似于ARMv7中定义的特权级别。异常级别决定特权级别,因此在 ELn 执行对应于特权PLn。类似地,具有比另一个更大的n值的异常级别处于更高的异常级别。一个数字比另一个小的异常级别被描述为处于较低的异常级别。 这里也显示出来了与ARM-V7的差异点,可参考https://www.cnblogs.com/lethe1203/p/18077266   异常级别提供了适用于 ARMv8 架构的所有操作状态的软件执行权限的逻辑分离。它类似于并支持计算机科学中常见的分层保护域的概念。
  • EL0 Normal user applications.
  • EL1 Operating system kernel typically described as privileged.
  • EL2 Hypervisor.
  • EL3 Low-level firmware, including the Secure Monitor.
0 通常,一个软件,例如应用程序、操作系统的内核或管理程序,占用一个异常级别。此规则的一个例外是内核中的虚拟机管理程序,例如 KVM,它在EL2和 EL1 上运行。 ARMv8‑A 提供两种安全状态,安全和非安全。非安全状态也称为正常世界。这使操作系统 (OS) 能够与受信任的操作系统在同一硬件上并行运新g,并提供针对某些软件攻击和硬件攻击的保护。 ARM TrustZone 技术使系统能够在正常和安全世界之间进行分区。与 ARMv7‑A 架构一样,安全监视器充当在正常和安全世界之间移动的网关。  

ARM-V8新更改:

ARMv8 体系结构包括 32 位执行和 64 位执行。它引入了使用 64 位宽寄存器,同时保持了与现有 ARMv7 软件的向后兼容性: 0
  • 大物理地址(Large physical address),这使处理器能够访问超过 4GB 的物理内存。
  • 64 位虚拟寻址(64-bit virtual addressing),这使虚拟内存超出 4GB 限制。这对于使用内存映射文件 I/O 或稀疏寻址的现代桌面和服务器软件很重要。
  • 自动事件信号(Automatic event signaling),这可以实现节能、高性能的自旋锁
  • 更大的寄存器文件(Larger register files),31 个 64 位通用寄存器可提高性能并减少堆栈使用。
  • 高效的 64 位立即生成(Efficient 64-bit immediate generation),对文字池的需求较少
  • 较大的 PC 相对寻址范围(Large PC-relative addressing range),一个 +/‑4GB 的寻址范围,用于在共享库和与位置无关的可执行文件中进行有效的数据寻址。
  • 额外的 16KB 和 64KB 翻译颗粒(Additional 16KB and 64KB translation granules),这降低了翻译后备缓冲区(TLB) 未命中率和页面遍历深度。
  • 新的异常模型(New exception model),这降低了操作系统和管理程序软件的复杂性。
  • 高效的缓存管理理Efficient cache management),用户空间缓存操作提高了动态代码生成效率。使用数据缓存零指令快速清除数据缓存。
  • 硬件加速密码学(Hardware-accelerated cryptography),提供 3 到 10 倍更好的软件加密性能。这对于小粒度解密和加密非常有用,因为太小而无法有效地卸载到硬件加速器,例如 https。
  • 加载‑获取、存储‑释放指令(Load-Acquire, Store-Release instructions),专为 C++11、C11、Java 内存模型而设计。它们通过消除显式内存屏障指令来提高线程安全代码的性能。
  介绍下基于ARM-V8架构的Cortex-A53处理器: Cortex‑A53 处理器是一款中档、低功耗处理器,在单个集群中具有一到四个内核,每个内核都有一个L1 缓存子系统、一个可选的集成 GICv3/4 接口和一个可选的 L2 缓存控制器。Cortex‑A53 处理器是一款非常节能的处理器,能够支持 32 位和 64 位代码。它提供了比非常成功的Cortex‑A7 处理器更高的性能。它能够部署为独立的应用处理器,或在 big.LITTLE 配置中与Cortex‑A57 处理器配对,以获得最佳性能、可扩展性和能源效率。 0 Cortex‑A53 处理器具有以下特性:
  • 有序的八级流水线。
  • 通过使用分层时钟门控、电源域和高级保留模式来降低功耗。
  • 通过重复执行资源和双指令解码器提高双发能力。
  • 功耗优化的二级缓存设计可提供更低的延迟并在性能与效率之间取得平衡。

标签:基础知识,64,处理器,V8,ARMv8,级别,ARM,Cortex
From: https://www.cnblogs.com/lethe1203/p/18077404

相关文章

  • ARM-V7架构(二)
    本节主要介绍ARM指令: GNU汇编语法:GNU汇编语法适用于所有的架构,并不是ARM独享的,GNU汇编由一系列的语句组成,每行一条语句,每条语句有三个可选部分,如下:label:instruction@commentlabel即标号,表示地址位置,有些指令前面可能会有标号,这样就可以通过这个标号得到指令的地......
  • ARM-V7架构(一)
    cortex-A7基于ARMV7-A架构,复习一下armv7 ARM-V7的模式类型如下:FIQ快速中断和IRQ外部中断的区别:当一个高优先级中断产生时将会进入FIQ,一般用于高速数据传输和通道处理。当一个低优先级中断产生将会进入IRQ,一般用于通常的中断处理 处理器模式可以通过软件控制进行切换,也可......
  • pyCharm oj 习题 列表合并、去重、排序
    列表合并、去重、排序ProblemDescription从键盘输入两个数列,构成两个列表list1、list2,合并这两个列表为list3,将list3去掉重复元素、降序排序后生成list4.InputDescription输入两个数列,以英文逗号分隔OutputDescription输出列表list1、list2、list3、list4SampleInpu......
  • 人工智能入门之旅:从基础知识到实战应用(一)
    一、引言人工智能(ArtificialIntelligence,AI)是指利用计算机科学和技术模拟、延伸和扩展人类智能的理论、方法、技术和应用系统的学科。它的目标是使计算机系统具有类似于人类的智能,能够感知环境、学习、推理、规划、解决问题和交流。在当今社会中,人工智能具有极其重要的地......
  • Pycharm 中 virtualenv、pipenv、conda 虚拟环境的用法
    文章目录前言虚拟环境的通俗介绍虚拟环境和非虚拟环境该怎么选?通过Virtualenv方式创建虚拟环境通过Pipenv方式创建虚拟环境通过Conda方式创建虚拟环境 前言在网上找了好一些资料,发现介绍Pycharm虚拟环境的不多,查了一些资料,并做个总结。本文主要是介绍Pyc......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的花卉检测与识别系统(附完整资源+PySide6界面+训练代
    摘要:本篇博客介绍了一种基于深度学习的花卉检测与识别系统,并详细展示了其实现代码。系统采取先进的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等早期版本进行了比较,展示了其在图像、视频、实时视频流及批量文件中识别花卉的高准确度。文章深入阐释了YOLOv8的工作机制,并配备了相应的Pyt......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的火焰检测系统(Python+PySide6界面+训练代码)
    摘要:本研究详述了一种采用深度学习技术的火焰检测系统,该系统集成了最新的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等早期算法进行了性能评估对比。该系统能够在各种媒介——包括图像、视频文件、实时视频流及批量文件中——准确地识别火焰目标或着火点等。文章深入阐述了YOLOv8算法......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的火焰与烟雾检测系统详解(深度学习模型+UI界面升级版
    摘要:本研究详细介绍了一种集成了最新YOLOv8算法的火焰与烟雾检测系统,并与YOLOv7、YOLOv6、YOLOv5等早期算法进行性能评估对比。该系统能够在包括图像、视频文件、实时视频流及批量文件中准确识别火焰与烟雾。文章深入探讨了YOLOv8算法的原理,提供了Python实现代码、训练数据集,以及......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的番茄成熟度检测系统(Python+PySide6界面+训练代码)
    摘要:开发番茄成熟度检测系统对于提高农业产量和食品加工效率具有重大意义。本篇博客详细介绍了如何利用深度学习构建一个番茄成熟度检测系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并结合了YOLOv7、YOLOv6、YOLOv5的对比,展示了不同模型间的性能指标如mAP、F1Score等......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的癌症图像检测系统(深度学习模型+UI界面代码+训练数
    摘要:本文介绍了一种基于深度学习的癌症图像检测系统的代码,采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果,能够准确识别图像、视频、实时视频流以及批量文件中的摘要:本篇博客深入介绍了如何借助深度学习技术开发癌症图像检测系统,以提高医疗诊断的精度和速度。系......