ARM基础(2)

简介: 1、ARM微处理器的寄存器组织 ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,这些寄存器不能同时被访问,具体哪些寄存器是可编程访问的,取决于微处理器的工作状态及具体的运行模式。

1、ARM微处理器的寄存器组织

ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,这些寄存器不能同时被访问,具体哪些寄存器是可编程访问的,取决于微处理器的工作状态及具体的运行模式。

2、流水线技术

流水线技术是通过将每条指令都分解为多步,每步都由不同的功能部件来完成,从而实现在同一时间内并行处理多条指令,提高处理器核的效率和吞吐率。程度中的指令仍是一条条顺序执行,每一条的每一步也顺序执行,但在当前指令的步骤尚未执行完时,提前启动后续指令的另一些操作步骤,从而加快程序的执行速度。

流水线

每条指令的大概步骤可以分为三步:取指令、译码、执行,每个步骤都由不同的执行部件完成。

执行一个指令或者直接修改PC而发生跳转时,ARM核会清空流水线。

ARM系列处理器流水线比较:

2、程序计数器PC

寄存器R15用作程序计数器(PC),在ARM状态下,由于ARM指令是字对齐的,因此位[1:0]为0,位[31:2]用于保存PC,在Thumb状态下,指令是半字对齐的,因此位[0]为0,位[31:1]用于保存PC。字对齐是4个字节,半字对齐是2个字节,将PC展开为2进制后根据8421BCD码可以知道ARM状态下最后两位为2和1,Thumb状态下最后一位为1,所以根据指令的对齐方式来存储,累加单位分别为4和2,即最后两位和最后一位永远为0。

由于ARM采用流水线处理器机制,所以当正确读取PC的值时,该值为当前指令加上8个字节。多级流水线是采用多个功能部件,在一个指令状态下并行完成多个任务。所以在指令状态不变的情况下增加流水线的功能部件可以提高程序的执行速度。

异常发生时PC的恢复:

3、状态寄存器

ARM微处理器有6个状态寄存器,其中包括1个当前状态寄存器CPSR和5个备份程序状态寄存器SPSR,SPSR用来进行异常处理。

当正常的程序执行流程发生暂时的停止时,成为异常,在处理一个异常之前,当前处理器的状态必须保留,这样当异常处理完成后,当前程序可以继续执行。

4、ARM内存管理单元

MMU是存储器管理单元的缩写,它是用来管理虚拟内存系统的器件。MMU通常是CPU的一部分,本身有少量存储空间存放从虚拟地址到物理地址的匹配表。

MMU的两个主要功能:

1、将虚拟地址转换成物理地址

2、对存储器的访问控制

 

目录
相关文章
|
2月前
|
数据采集 机器学习/深度学习 监控
Arm Coresight 介绍
Coresight 是 ARM 架构上的一款嵌入式系统监控和调试工具,能够为系统管理员和开发人员提供便捷的系统监控和调试功能。该平台可以实时追踪和分析处理器上的活动,以深入了解潜在的性能瓶颈和问题。本文将介绍Coresight的概念、优势及其安装、配置、故障排除和调试等方面的内容,并探讨其未来发展方向和重要性。
431 1
|
2月前
|
缓存 安全 SoC
来看看ARM gicv2/gicv3的详解
来看看ARM gicv2/gicv3的详解
214 0
|
2月前
|
物联网 编译器 测试技术
【嵌入式 交叉编译器】如何在 ARM 架构下选择和使用高版本交叉编译器
【嵌入式 交叉编译器】如何在 ARM 架构下选择和使用高版本交叉编译器
563 7
|
2月前
|
存储 缓存 安全
【ARM架构】ARMv8-A 系统中的安全架构概述
【ARM架构】ARMv8-A 系统中的安全架构概述
73 0
|
2月前
|
存储 缓存 监控
【芯核架构】听你说你很了解ARM?
【芯核架构】听你说你很了解ARM?
201 0
|
2月前
|
存储 缓存 安全
Arm的Morello SoC与CHERI架构
Arm的Morello SoC与CHERI架构
39 0
|
存储 中间件 编译器
ARM学习笔记
ARM学习笔记
Arm金勇斌:15年之后的场景是什么样子?
最终让人变得更懒,才是最终AI的方向。
560 0