「Arm Arch」 初识 Arm

article/2025/9/29 17:41:43

本文源自《书香度年华》「ARM 架构专栏」,是一系列由浅入深、循序渐进的文章,文章之间有一定的前后关联性,所以按顺序阅读,建议收藏专栏。

目录

前言

一、架构概述

1.1 冯诺依曼架构

1.2 哈佛架构

1.3 Arm 架构

二、架构图谱

2.1 三驾马车

2.2 六代传承

2.3 最新成员

2.3.1 大师兄 Cortex-A710

2.3.2 二师弟 Cortex-R82

2.3.3 小师妹 Cortex-M85

2.4 架构宗亲

2.4.1 图形处理器单元 GPU

2.4.2 神经网络处理器单元 NPU

三、架构魔法

3.1 派系

3.1.1 Cortex-A 魔法

3.1.2 Cortex-R 魔法

3.1.3 Cortex-M 魔法

3.2 魔法发展史

3.3 微魔法

四、架构演练

4.1 大集结

4.2 排兵布阵

4.3 运筹帷幄,决胜千里之外

4.3.1 上传下达-控制台输出

4.3.2  烽火通信-LED 跑马灯

4.3.3  密令签发-加密

4.3.4 粮草先行-启动代码

4.3.5 整装待发-链接脚本

五、总结

参考

术语


前言


  • 提醒:全文10千字,预计阅读时长15分钟;
  • 读者:对 Arm 架构感兴趣的小伙伴;
  • 摘要:本文主要探讨了 Arm 架构的底层逻辑,介绍了Arm 架构的顶层设计;以处理器核心架构为基础,以系统架构为核心,以A系列和M系列架构为典型,对关键系统组件进行的通俗易懂的描述;本文提到的 Arm 架构不包含 GPU、NPU 架构;
b65ef10fac324ee59660050518a14dae.png
图1 Arm 知识结构

  • 关键词 :Arm架构、微架构、Cortex-A、Cortex-R、Cortex-M、Armv7、Armv8、Armv9、ISA、指令集、AMBA总线、Debug、Trustzone、虚拟化、EL-2、S-EL2、EL-1、S-EL1、操作系统、RISC-V;
  • 相关推荐:如果你对结构、架构、系统等概念感兴趣,建议阅读架构与系统 ;
  • 相关推荐:如果你对 Arm 公司感兴趣,建议阅读一文读懂Arm公司;

一、架构概述


1.1 冯诺依曼架构

  • ​冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
  • 数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。​

1.2 哈佛架构

  • 哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。 与两个存储器相对应的是系统的4条总线:程序和数据的数据总线与地址总线。

1.3 Arm 架构

  • Arm 架构指的是 Arm 处理器的体系结构,包含中央处理单元(CPU)微架构、系统微架构、总线微架构、监控微架构、安全微架构、虚拟化微架构。
    • CPU微架构指令集架构ISA的实现,包括 A32/T32、A64、NEON、VFP 等;
    • 系统架构集包括中断控制器 GIC /系统内存管理器 SMMU /电源管理 PSCA/APCI 等;
    • 总线微架构指的是 AMBA 微架构,包括 AHB、APB、AXI、CHI 等;
    • 监控微架构包括调试 debug, 跟踪 trace ;
    • 安全微架构包括 Trustzone、Realm、Crypto Cell、Crypto Island 等;
    • 虚拟化微架构包括 VMSA、LPAE、EL-2、S-EL2 等。
表1 微架构系统
CPU 微架构实现指令集架构的中央运算单元架构,A、R、M系列架构描述的就是 CPU 架构
系统微架构为了处理器各个组件能够正常运行而存在的系统组件架构
总线微架构将各个架构子系统连接起来的桥梁架构
监控微架构对系统各个架构组件进行调试、跟踪
安全微架构用来实现系统安全的架构集合
虚拟化微架构用来对硬件资源进行虚拟化的架构集合
1960bc48131140d382512892a00ad770.png
图2 Arm 处理器顶层架构

通常 指令集架构 ISA 的实现就叫做微架构,比如 Armv8.0-M 是 ISA, cortex-M33 是微架构

关于 ISA 和微架构,我在 RISC-V 架构科普解读 中写的比较清楚

二、架构图谱


2.1 三驾马车

  • Arm 架构根据应用场景不同分为 Cortex-A、Cortex-M、Cortex-R 三个架构家族;
  • Arm A-Profile 架构主要包括用于移动、 PC 端的 Cortex-A 系列处理器、用于云计算和机器学习的高性能 Neoverse 处理器以及和客户合作开发的高效能 Cortex-X 系列处理器,后面两个系列可能形成独立系列;
  • Arm M-Profile 架构主要包括 Armv6 的 M0,Armv7 的 Cortex-M3、 Cortex-M4 ,Armv8 的 Cortex-M23、 Cortex-M33 、 Cortex-M35 、Cortex-M55 、Cortex-M85,用于通用 MCU 、IoT 物联网领域;
  • Arm R-Profile 架构主要包括 Armv7 的Cortex- R4、 Cortex-R5、 Cortex-R7、 Cortex-R8,Armv8 的 Cortex-R52 、Cortex-R82,用于实时控制领域。

每个架构家族演进既有独立性又有关联性。目前 A 系列已经演化到 Armv9 版本、M 系列演化到 Armv8 版本、R系列演化到 Armv8 版本,下面是每个家族代表性处理器的架构。

2.2 六代传承

  • Arm 架构从 Armv4 到 Armv9 已经经历了六个版本;
  • 目前市面活跃的是 Armv7、Armv8、Armv9 三个版本;
  • 各个版本引进/废弃了不同的功能特性,比如 Armv6 的 Trustzone、 Armv7 的虚拟化,Armv8 的向量扩展 SVE、Armv9 的矩阵扩展 SME 等。
2388f4e1e7f8491b988bc03adec5c13c.png
图3 架构版本 

图片来源于网络如有侵权请私信删除

2.3 最新成员

2.3.1 大师兄 Cortex-A710

Cortex-A710 是 Cortex-A78 的增强版,Armv9-A 架构的大核架构,使用起来和上一代基本相同,新的微架构能获得更好的性能和更低的功耗;增强版的向量计算扩展架构 SVE2 支持;高级 SIMD&DSP 的 NEON 架构支持;兼容 VFPv3 向量浮点的 FPU 浮点架构。

c226a5ce47574600997ea9bb9cba97d1.png
图4 Cortex-A710 架构图

图片来源于网络如有侵权请私信删除

2.3.2 二师弟 Cortex-R82

Cortex-R82 是 R 系列最新的处理器,采用 Armv8 架构,包含 CoreSgiht MDT、GIC、FPU、TCM、SCU、ACP、AXI-S、AXI-M、LLPP、LLRAM 等微架构。

31901ecce3df20d171122f499b0dd644.png
图5 Cortex-R82 架构图

图片来源于网络如有侵权请私信删除

2.3.3 小师妹 Cortex-M85

M85 是 Armv8.1-M 架构,包括 MPU、Helium、PMU、CP、FPU、TCM、AHB、DSP、ETM、PACBTI、APH 等微架构。

e4db73fe82eb4c9b89bb2eeed5a2a7c6.png
图6 Cortex-M85 架构图

图片来源于网络如有侵权请私信删除

2.4 架构宗亲

本文讲述的 Arm 架构指的是通用处理器架构,并不包含专业处理器。除了通用处理器,Arm 还有图形处理器和神经网络处理器。

2.4.1 图形处理器单元 GPU

f4f5ee8a810d4094b885054cefd72f91.png
图7 Mali GPU 路线图

图片来源于网络如有侵权请私信删除

GPU 架构分为传统的 Mali 架构和最新的 Immortalis 架构两个分支:

  • Mali目前一共四代,分别是 Utgard,Midgard,Bifrost 和 Valhall
  • Immortalis 是新推出的架构,以Immortalis-G715 为代表

更多GPU架构知识,参考 Arm GPUs

2.4.2 神经网络处理器单元 NPU

e071fd03f129442786eb441d2c3bbf88.png
图8 Ethos NPU 家族

图片来源于网络如有侵权请私信删除

Ethos - NPUs 是Arm推出的基于神经网络的机器学习芯片架构,包括 U55、U65、 N78,

更多 NPU 知识,参考 Arm NPUs

三、架构魔法


架构魔法指的是架构特性,比如运算魔法、安全魔法、虚拟化魔法等,而这部分我们将从派系、时代、微魔法多个维度介绍这些神秘的魔法。

3.1 派系

3.1.1 Cortex-A 魔法

魔法 8.0(Armv8.0-A)

  • Advance SIMD
    • aSIMD,增强的定长高级单指令多数据
    • 在 Armv8-A 中,与变长的 SVE、SVE2 共同构成了SIMD
    • SVE 主要用在 HPC 中,在 V9 中为标配
  • 密码扩展 (Crypto Extension ,CE)
    • AES加速器:AEAD、AESE
    • SHA加速器:SHA1、SHA256
  • CRC
    • 硬件 CRC 加速

魔法 8.1(Armv8.1-A)

  • Atomic memory access instructions (AArch64)
    • 为大型 系统 LSE 设计的存储原子访问扩展,PostgreSQL 已经支持,比如独占加载指令LDXR、独占存储指令STXR
  • Limited Order regions (AArch64)
    • 为大系统LSE设计的内存访问顺序,load-aquire、store-release指令
    • 是乱序时代的DMB、DSB、ISB的升级版
  • Increased Virtual Machine Identifier (VMID) size, and Virtualization Host Extensions (AArch64)
    • 虚拟化中更大的虚拟机 ID
    • 直接将 Host 运行在 EL2 的 VHE 技术
  • Privileged Access Never (PAN) (AArch32 and AArch64)
    • 可以通过 PAN 限制内核对用户空间内存的访问

魔法 8.2(Armv8.2-A)

  • Support for 52-bit addresses (AArch64)
    • 52位大物理地址和大虚拟地址的支持,通常面向服务器应用
  • The ability for PEs to share Translation Lookaside Buffer (TLB) entries (AArch32 and AArch64)
    • 多 PE 共享 TLB,即共享页表项
  • FP16 data processing instructions (AArch32 and AArch64)
    • 相对于单精度和双精度,支持半精度
  • Statistical profiling (AArch64)
    • 内置于流水线内部的指令统计工具,比如包延迟、采样指令的重要信息(access/hit/miss,分支预测错误,是否读写互锁)、源于哪一级的存储
  • Reliability Availability Serviceability (RAS) support becomes mandatory (AArch32 and AArch64)
    • 提供保证可靠性、可用性、可服务性的机制,TF-A 已经支持了 RAS 框架
  • 安全扩展 CE
    • SHA2-512、SHA3
    • SM3、SM4

魔法 8.3(Armv8.3-A)

  • Pointer authentication (AArch64)
    • 对指令指针、数据指针进行身份认证
    • 目前GCC -msign-return-address 支持返回LR的认证
  • Nested virtualization (AArch64)
    • 允许客户机在 EL1 中运行虚拟机管理程序
    • 增加了 EL1 到 EL2 的访问机制
  • Advanced Single Instruction Multiple Data (SIMD) complex number support (AArch32 and AArch64)
    • aSIMD支持复数运算
  • Improved JavaScript data type conversion support (AArch32 and AArch64)
    • 改进的javascript数据类型转换支持
  • A change to the memory consistency model (AArch64)
    •  在RCsc基础上增加weaker RCpc支持
  • ID mechanism support for larger system-visible caches (AArch32 and AArch64)
    • cache ID寄存器扩容

魔法 8.4(Armv8.4-A)

  • Secure virtualization (AArch64)
    • S-EL2支持,可以在安全环境下运行安全虚拟机
  • Nested virtualization enhancements (AArch64)
    • 虚拟机可以在 EL-1 模式运行 Hypervisor,并且优化了效率
  • Small translation table support (AArch64)
    • 64 位模式下支持小转换表
  • Relaxed alignment restrictions (AArch32 and AArch64)
    • 放宽的对齐限制
  • Memory Partitioning and Monitoring (MPAM) (AArch32 and AArch64)
    • MPAM 用于限制共享资源中的进程交互和干扰,在复杂系统中能够实现服务水平协议SLA
  • Additional crypto support (AArch32 and AArch64)
    • SHA2-512、SHA3
    • SM3、SM4
  • Generic counter scaling (AArch32 and AArch64)
    • 计数器缩放,实现更高的精度
  • Instructions to accelerate SHA
    • SHA 加速指令

魔法 8.5/9.0(Armv8.5-A/Armv9.0-A)

  •  Memory Tagging (AArch64)
    • MTE 的设计目标,就是能快速监测内存安全违例从而提供软件代码的鲁棒性,以此来抵御恶意代码的攻击。如果实现了芯片 MTE,能快速定位很多问题。
  • Branch Target Identification (AArch64)
    • 分支目标标识技术,使得通过修改存储在栈上的指针方式攻击(JOP)无效
  • Random Number Generator instructions (AArch64)
    • 支持确定、真随机数指令
  • Cache Clean to Point of Deep Persistence (AArch64)
    • cache 清空到深度存储点 PODP,先对于POD、POC、POU

魔法 8.6/9.1(Armv8.6-A/Armv9.1-A)

  • General Matrix Multiply (GEMM) instructions (AArch64)
    • 矩阵乘法指令 GEMM 支持
  • Fine grained traps for virtualization (AArch64)
    • 虚拟化细粒度陷入,提升虚拟机性能
  • High precision Generic Timer
    • 超高精度的定时器
  • Data Gathering Hint (AArch64)
    • 用来指示写 merging 对性能是否有好处

魔法 8.7/9.2(Armv8.7-A/Armv9.2-A)

  • Enhanced support for PCIe hot plug (AArch64)
    • 增强的 PCIe 热插拔支持
  • Atomic 64-byte load and stores to accelerators (AArch64)
    • 64 字节原子操作加速
  • Wait For Instruction (WFI) and Wait For Event (WFE) with timeout (AArch64)
    • 带超时指示的 WFI 和 WFE 指令
  • Branch-Record recording (Armv9.2 only)
    • 分支记录录制

魔法 8.8/9.3(Armv8.8-A/Armv9.3-A)

  • Non-maskable interrupts (AArch64)
    • 不可屏蔽中断
  • Instructions to optimize memcpy() and memset() style operations (AArch64)
    • 优化 memcpy 和 memset 的指令支持
  • Enhancements to PAC (AArch64)
    • PAC 增强
  • Hinted conditional branches
    • 新指令将条件跳转方向作为hint

魔法 8.9/9.4(Armv8.9-A/Armv9.4-A)

  • Permission Indirection and overlays 
    • 与直接的权限控制相比,使用间接重叠方式更灵活,兼容 CPU 与 SMMU 共存方式
  • Translation hardening

    • 转换表加固,通过减少也不的访问接口来加固页表安全

  • 128-bit页表

    • 新格式支持更大的输出地址和更大的新属性位域范围

  • SME2

    • 增强的矩阵运算引擎

  • Guarded Control Stack 

    • 防止 ROP 攻击,以及提供一种不需要 unwind 就能获得当前调用栈的方式

  • Confidential Computing

    • 机密计算 CCA 重头戏

  • Memory Tagging Extension(MTE) 更新
    • MTE 更新
  • Performance Monitor(PMU)快照支持和fixed-function指令计数器
  • 额外的RAS能力,包括新的异常类型,用来报告structure上的错误,而不是内存上的错误

3.1.2 Cortex-R 魔法

第八代魔法(Armv8-R)

  • 和 A-Profile 类似,后续补充

3.1.3 Cortex-M 魔法

魔法 8.0(Armv8.0-M)

  • Load acquire, store release instructions  内存原子操作,C11 已支持
  • Floating point extension architecture v5 浮点扩展架构 v5
  • New instructions for TrustZone technology support 支持 Trustzone 的新指令
  • New style MPU programmer’s model 新的 MPU 编程模型
  • Better debug capability 更优秀的调试能力

魔法 8.1(Armv8.1-M)

  • MVE (M-Profile Vector Extension),Arm Helium  基于 Helium 技术的向量扩展
  • LoB/Loop Tail Predication/BF 高效的循环和分支预测

  • Security

    • Execution permission 执行权限控制
    • V8.2-M PAC(Pointer Authentication) 防止 ROT 攻击的指针认证
    • V8.2-M BTI(Branch Target Instructions) 防止 JOT 攻击的 BTI 技术
    • DIT(Data Independent Timing) 为数据处理进行独立的定时功能
    • UDE(Unprivileged Debug Extension) 非特权调试扩展

3.2 魔法发展史

表2 魔法年份
2022

Armv 8.9、9.4

A-PROFILE 2022
2021Armv 8.8、9.3A-PROFILE 2021
2020Armv 8.7、9.2A-PROFILE 2020
2019Armv 8.6-A-PROFILE 2019
2018Armv 8.5A-PROFILE 2018
2017Armv 8.4A-PROFILE 2017
2016Armv 8.3A-PROFILE 2016
2015Armv 8.2A-PROFILE 2015
2014Armv 8.1A-PROFILE 2014

3.3 微魔法

表3 技能表
NEON整数向量运算
VFP浮点向量运算
SVE变长向量扩展运算
CE        密码扩展
SME矩阵运算引擎
SIMD单指令多数据(超标量)
FPv5       浮点运算
MPU内存保护单元
MMU内存管理单元
SMMU系统内存管理单元

查看ID_AA64xxxx系列寄存器识别当前 CPU 实现的架构特性。 

四、架构演练


4.1 大集结

随着时间的推移和需求变化,各个产品家族都演化出了多个成员,其中 Cortex-A 系列处理器从 A5到 A715 共发布了24款,Cortex-M 系列处理器从 M0 到 M85 共发布了11款,Cortex-R 系列处理器从 R4 到 R82 共发布了11款,对于各个处理器之间的差异,可以从下面链接表格中看到。

  • Arm Cortex-A 系列处理器功能对比表
  • Arm Cortex-M 处理器功能对比表
  • ArmCortex-R 处理器功能对比表

4.2 排兵布阵

不同的处理器可处理不同的应用。

在可穿戴方面,主要用 Cortex-A 和 Cortex-M ;存储方面 Cortex-R 和 Cortex-M ;在 ADAS 方面有 Cortex-A 和 Cortex-R ,A用于高性能计算、R用于实时和安全控制;在移动消费市场,Cortex-A、Cortex-R 和 Cortex-M 都有应用,A 来做应用处理器,R 主要是做基带,Cortex-M 可能会用于sensor hub (传感器中枢)的芯片领域。

eb1e225e3db142c1921f65e2e09ace42.png
图7 应用领域

图片来源于网络如有侵权请私信删除

4.3 运筹帷幄,决胜千里之外

4.3.1 上传下达-控制台输出

/*Hello world*/#include <stdio.h>int main(){printf("Hello World\n");return 0;}

4.3.2  烽火通信-LED 跑马灯

#include"led.h"void LED_Init(void)
{RCC->APB2ENR|=1<<2;RCC->APB2ENR|=1<<5; GPIOA->CRH&=0XFFFFFFF0;GPIOA->CRH|=0X00000003;GPIOA->ODR|=1<<8;    GPIOD->CRL&=0XFFFFF0FF;GPIOD->CRL|=0X00000300;   GPIOD->ODR|=1<<2;
}

4.3.3  密令签发-加密

void mbedtls_aes_encrypt( mbedtls_aes_context *ctx,const unsigned char input[16],unsigned char output[16] ){int i;uint32_t *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;RK = ctx->rk;GET_UINT32_LE( X0, input,  0 ); X0 ^= *RK++;GET_UINT32_LE( X1, input,  4 ); X1 ^= *RK++;GET_UINT32_LE( X2, input,  8 ); X2 ^= *RK++;GET_UINT32_LE( X3, input, 12 ); X3 ^= *RK++;for( i = ( ctx->nr >> 1 ) - 1; i > 0; i-- ){AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );}AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );X0 = *RK++ ^ ( (uint32_t) FSb[ ( Y0       ) & 0xFF ]       ) ^( (uint32_t) FSb[ ( Y1 >>  8 ) & 0xFF ] <<  8 ) ^( (uint32_t) FSb[ ( Y2 >> 16 ) & 0xFF ] << 16 ) ^( (uint32_t) FSb[ ( Y3 >> 24 ) & 0xFF ] << 24 );X1 = *RK++ ^ ( (uint32_t) FSb[ ( Y1       ) & 0xFF ]       ) ^( (uint32_t) FSb[ ( Y2 >>  8 ) & 0xFF ] <<  8 ) ^( (uint32_t) FSb[ ( Y3 >> 16 ) & 0xFF ] << 16 ) ^( (uint32_t) FSb[ ( Y0 >> 24 ) & 0xFF ] << 24 );X2 = *RK++ ^ ( (uint32_t) FSb[ ( Y2       ) & 0xFF ]       ) ^( (uint32_t) FSb[ ( Y3 >>  8 ) & 0xFF ] <<  8 ) ^( (uint32_t) FSb[ ( Y0 >> 16 ) & 0xFF ] << 16 ) ^( (uint32_t) FSb[ ( Y1 >> 24 ) & 0xFF ] << 24 );X3 = *RK++ ^ ( (uint32_t) FSb[ ( Y3       ) & 0xFF ]       ) ^( (uint32_t) FSb[ ( Y0 >>  8 ) & 0xFF ] <<  8 ) ^( (uint32_t) FSb[ ( Y1 >> 16 ) & 0xFF ] << 16 ) ^( (uint32_t) FSb[ ( Y2 >> 24 ) & 0xFF ] << 24 );PUT_UINT32_LE( X0, output,  0 );PUT_UINT32_LE( X1, output,  4 );PUT_UINT32_LE( X2, output,  8 );PUT_UINT32_LE( X3, output, 12 );}

4.3.4 粮草先行-启动代码

.text
.global _start
_start:@异常向量表b reset
nop		
b swi_handler
nop
nop
nop
b irq_hander
nop
reset:
ldr sp,=buf+512*3
@irq模式
mrs r0,cpsr
bic r0,#0x1f
orr r0,#0x12
msr cpsr,r0
ldr sp,=buf+512*2
@user模式
mrs r0,cpsr
bic r0,#0x1f
orr r0,#0x10
msr cpsr,r0
ldr sp,=buf+512mov r0,#0x11
mov r1,#0x22
SWI	1
add r2,r0,r1
nop
nopstop:nopnopnopB stop@软中断
swi_handler:@入栈保护现场stmfd sp!,{r0-r12,lr}mov r0,#0x1fmov r1,#0x2fmov r2,#0x3fmov r3,#0x4fmov r4,#0x5f@出栈 恢复现常,还原模式	spsr->cpsr@lc -> pcldmfd sp!,{r0-r12,pc}^@mov pc,lr@中断
irq_hander:@入栈保护现场stmfd sp!,{r0-r12,lr}@中断处理@switch(irqnum)ldmfd sp!,{r0-r12,pc}^.DATA
buf:.space 512*3.end

4.3.5 整装待发-链接脚本


SECTIONS
{. = 0x80000,.text.boot :{*(.text.boot)}.text : {*(.text)}.rodata : {*(.rodata)}.data : {*(.data)}. = ALIGN(0x8);bss_begin = .;.bss :{*(.bss*)}bss_end = .;. = ALIGN(4096);init_pg_dir = .;+= 4096;
}

五、总结


从过程角度来看,本文以架构概述、架构发展、架构特性、架构演练为主线对 Arm 架构进行了启发式的介绍。从金字塔式知识结构角度来看,本文涉及到了计算机体系结构、Arm 系统架构、微架构、处理器编程模型、应用编程;从系统思维角度来看,本文只是对于读者很可能是浮光掠影,蜻蜓点水,所以后面章节会更加系统化、体系化、深入的讲述 Arm 架构。

参考


  • Arm CPU架构参考手册合集
  • AMBA 总线微架构参考手册合集
  • 系统微架构参考手册合集
  • 指令集微架构参考手册合集
  • 安全微架构参考手册合集
  • 功耗控制系统架构PSCA

术语

图灵机

一个抽象的机器、思想模型;

总线 

计算机各种功能部件之间传送信息的公共通信干线;

Trustzone

通过隔离实现可信域的技术;

Hypervisor

虚拟机监视器,是用来建立与执行虚拟机器的软件、固件或硬件。

皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~
“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~

下一章 CPU微架构


http://chatgpt.dhexx.cn/article/hpJ1juvN.shtml

相关文章

Armitage的介绍和使用

目录 1.1Armitage的介绍与原理 1.1.2 Armitage的主要功能包括&#xff1a; 1.2 启动Armitage 1.2.1 Armitage启动的三种方法&#xff1a; 1.2.2 Armitage启动前初始化&#xff1a; 1.3 使用Armitage生成被控端和主控端 1.3.1 Armitage的工作界面&#xff1a; 1.3.2 使用…

ARM 架构是什么?

ARM&#xff08;Advanced RISC Machines&#xff09;架构是一种处理器架构&#xff0c;它是一种精简指令集计算机&#xff08;RISC&#xff09;架构。ARM架构最初由ARM Holdings&#xff08;现在是SoftBank Group的子公司&#xff09;开发&#xff0c;并在1980年代末和1990年代…

Armitage的使用

一.简介 Armitage是一个攻击管理工具&#xff0c;它以图形化方式实现了Metasploit框架的自动化攻击。Armitage采用Java构建&#xff0c;拥有跨平台特性。 二.使用 &#xff08;一&#xff09;基本原理 1.入门 1.1开启Armitage 在命令行输入armitage命令会弹出如下对话框&…

黑客工具Armitage

Armitage介绍&#xff1a; Armitage是一款Java写的Metasploit图形界面化的攻击软件&#xff0c;可以用它结合 Metasploit中已知的exploit来针对主机存在的漏洞自动化攻击。通过命令行的方式使用Metasploit难度较高&#xff0c;需要记忆的命令过多&#xff0c;而Armitage完美的…

Armitage的介绍与使用

目录 1.1 Armitage的介绍与原理1.1.1 Armitage主要利用什么漏洞&#xff1f;为什么会出现这种漏洞&#xff1f;攻击怎么实现&#xff1f; 1.2 启动Armitage1.2.1 Armitage启动的三种方法&#xff1a;1.2.2 Armitage启动前初始化&#xff1a; 1.3 使用Armitage生成被控端和主控端…

Armitage之——网络扫描以及主机管理

转载请注明出处&#xff1a;https://blog.csdn.net/l1028386804/article/details/86676136 继续上一篇《Armitage之——基本原理》 Armitage中使用独立的Hosts选项卡来实现主机的管理操作和主机的扫描操作。可以单击导航栏上的Hosts按钮选项&#xff0c;然后选中下拉菜单上的…

Armitage之——基本原理

转载请注明出处&#xff1a;https://blog.csdn.net/l1028386804/article/details/86675559 Armitage是一个攻击管理工具&#xff0c;它以图形化方式实现了Metasploit框架的自动化攻击。Armitage采用Java构建&#xff0c;拥有跨平台特性。 1.入门 1-1.开启Armitage 在命令行…

oracle11g数据库已关闭,oracle数据库已关闭

关于 oracle数据库已关闭的搜索结果 问题 linux操作系统 重启oracle数据库 1. 打开secureCRT&#xff0c;连接到数据库所在的linux机器。若用户为root&#xff0c;请输入命令“su - oracle”并回车&#xff0c;若要密码&#xff0c;输入密码后并回车&#xff0c;就切换到了ora.…

Oracle 视图 代码 格式化,ASP.NET Aries :列表数据表格的格式化处理及行内编辑

前言&#xff1a; 为了赶进度&#xff0c;周末也写文了&#xff01; 前几篇讲完查询框和工具栏&#xff0c;这节讲表格数据相关的操作。 先看一下列表&#xff1a; 接下来我们有很多事情可以做。 1&#xff1a;格式化 - 键值的翻译 对于“启用”列&#xff0c;已经配置了格式化…

mongo连接oracle,Oracle连接MongoDB数据库工具下载

oracleToMongo是能帮助工程师们将Oracle连接MongoDB数据库的小工具&#xff0c;它能使用计划自动完成转换任务&#xff0c;这个功能相当实用&#xff0c;有需要备份迁移数据库的直接来IT猫扑下载&#xff01; Oracle转MongoDB工具介绍 OracleToMongo是一种数据转换软件&#xf…

oracle管道输出,oracle管道输出

通常我们会在oracle中用dbms_output输出调试信息&#xff0c;但dbms_output只能在调用过程完成才返回结果&#xff0c;不能实时输出的。这意味着通常我们经常要等几分钟或更长的时间才能看到调试信息&#xff0c;那怎么才能实现实时输出呢&#xff1f; 如果想实时输出可以通过写…

oracle中的with函数,Oracle层次查询和with函数的使用

开发中大家应该都做过什么类似部门管理这样的功能&#xff0c;一般情况下一个部门下面还有下一级部门(子部门)&#xff0c;这个层级就类似一棵树。这种情况下一般会把父级部门和子级部门分成2个或者多个表&#xff0c;这种算是比较常规的做法&#xff1b;有时可能为了数据表管理…

node.js配置oracle,Node.js 安装配置 | 菜鸟教程

Node.js 安装配置 本章节我们将向大家介绍在 Windows 和 Linux 上安装 Node.js 的方法。 本安装教程以 Node.js v4.4.3 LTS(长期支持版本)版本为例。 你可以根据不同平台系统选择你需要的 Node.js 安装包。 注意&#xff1a;Linux 上安装 Node.js 需要安装 Python 2.6 或 2.7 &…

navicat里面的oracle数据库,navicat连接Oracle数据库

记录一下navicat连接Oracle数据库过程: 一、根据自己版本去Oracle官网下载instantclient 地址:https://www.oracle.com/technetwork/topics/winx64soft-089540.html 二、 navicat设置OCI环境 进入navicat --> 工具 --> 选项 --> 环境添加instantclient oci.dll 重启…

MySQL 到Oracle 实时数据同步实操分享

&#x1f482; 个人网站:【 海拥】【萌怪大冒险】【2048】&#x1f91f; 风趣幽默的前端学习课程&#xff1a;&#x1f449;28个案例趣学前端&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼大军】&#x1f4ac; 免费且实用的计算机相关知识题库&…

oracle脚本导入mysql数据库_oracle脚本导入mysql数据库

关于 oracle脚本导入mysql数据库的搜索结果 问题 如何将一个mysql 风格的 sql 脚本转换为 oracle 导入的 sql 脚本 - 数据库报错 如何将一个 mysql 风格的 sql 脚本转换为 oracle 导入的 sql 脚本 如&#xff1a;DROP TABLE IF EXISTS test; 在导入 oracle 中的时候 提示 ... …

arcgis读取oracle数据库,arcgis连接Oracle数据库

arcgis连接Oracle数据库 配置声明:本人的电脑是win10 64位,安装的Oracle是oracleR11gr2 64 arcgis版本位10.2 安装是在同一台电脑上。 一、首先是安装Oracle的安装: 可以参考这位朋友的,他的安装教材是非常详细的。 如果成功则可以在控制台输入 sqlplus system/123456(我的…

oracle连续月份列表,Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析...

Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析 本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法。分享给大家供大家参考,具体如下: 1.基本逻辑公式: Select Rownum, 开始日期+Rownum-1 from dual connect by rownum< 结束日期-开始日期…

oracle apex服务安装

1.Oracle数据库 1.1oracle版本oracle19.3 1.2字符集采用缺省的AL32UTF8 1.3建议创建实例为非容器数据库&#xff08;如果创建成了容器数据库&#xff0c;后续的安装配置有少量特别处理&#xff09; 1.4实例名&#xff1a;MYORCL&#xff08;若之前已经创建过&#xff0c;直接使…

finereport连接oracle_Finereport 调用Oracle数据库中的存储过程需要两步走

?存储过程是由流控制和SQL语句书写的过程&#xff0c;这个过程经编译和优化后存储在数据库服务器中&#xff0c; FienReport使用时只要调用即可。 调用Oracle存储过程主要有两步&#xff1a;第一步&#xff0c;定义存储过程&#xff1b;第二步&#xff0c;调用存储过程。 下面…