本文是根据ARM官方文档,翻译整理的。

ARM架构特点

ARM架构属于精简指令集(Reduced Instruction Set Computer (RISC))。拥有精简指令集的共有特点,另外还有自己所特有的特点。
精简指令集特点:

  • 大量寄存器
  • 加载/存储结构,只操作寄存器里内容(我不确定ARM是不是只能操作寄存器里的内容)
  • 简单的寻址模式,所有地址由寄存器和指令字段决定(指令字段是什么意思,直接寻址吗)
  • 固定长度指令,使译码简单

ARM扩展的特点:

  • 对大多数数据处理指令中的算术逻辑单元(ALU)和移位器进行控制,以最大程度地利用ALU和移位器
  • 自动递增和自动递减寻址模式,以优化程序循环
  • 加载和存储多条指令以最大化数据吞吐量
  • 有条件地执行几乎所有指令,以最大化执行吞吐量

这些对于基本RISC架构的增强功能许ARM处理器,实现高性能,代码量小,低功耗和小芯片面积的良好平衡。

ARMv5T工作状态寄存器

ARMv5T工作状态寄存器 (Current Program Status Register (CPSR) )是一个32bit的寄存器

PSR寄存器中有四种数据位

  • 保留位:读0 忽略写
  • 用户可写位:N,Z,C,V,Q,GE[3:0],E
  • 特权位:只有在特权模式可以写,A,I,F,T,M[4:0]。用户模式忽略写
  • 执行状态位:只有在特权模式可以写,J,T。用户模式忽略写

N :Negative
Z : Zero
C:Carry
V:oVerflow
Q:用于指示在某些面向DSP的指令中是否发生了溢出和/或饱和。
J:Jazelle指令模式
GE[3:0] :在ARMv6中,SIMD指令对结果的各个字节或半字使用bit [19:16]作为大于或等于(GE)标志。
E:大小端模式
A:设置后禁用不精确数据中止,ARMv6及以上才有
I:中断禁止
F:快中断禁止
T :Thumb指令标志
M[4:0] :工作模式

ARMv5T工作模式

ARMv5T共有7中工作模式,有CPSR中的M[4:0]决定

usr :正常程序执行模式
fiq :支持高速数据传送或管道进程(管道进程这个翻译准确吗,这个术语究竟代表什么)
irq :通用中断处理
svc :为操作系统设计的保护模式
abt :实现虚拟内存或者内存保护
und :支持硬件协处理器的软件仿真
sys :运行特权操作系统任务

ARMv5T寄存器

ARM共37个寄存器,在某一模式,可见的只有17个寄存器,每种异常模式都有自己的备份寄存器,通常是R13和R14、SPSR_xxx,快中断模式R8-R12也是备份寄存器,为加快异常处理速度。
具体寄存器状态见下图:

R13:Stack pointer SP堆栈指针,被PUSH和POP使用
R14:Link register LR 链接寄存,放如调用前的下次要执行指令地址
15: R15又叫PC指针,内容为现在运行地址+2*(指令长度)

ARMv5T异常

ARMv5T有7种异常,对应6种模式,对应各自的异常入口,有两种异常入口,正常和高地址。

参考文档《ARM Architecture Reference Manual》ARM DDI 0100I

ARM架构二 ARMv5T架构简介相关推荐

  1. 企业级应用架构(二)三层架构之数据访问层的封装与抽象

    在上一篇我们知道,要解除BLL对DAL的依赖,我们就必须抽象出DAL层的接口,同时基于DAL的数据访问技术很多,如EF,ADO.NET,LINQ TO SQL,因此,我们的数据访问层必须对这些技术提供 ...

  2. 怎么看电脑系统是win几_一文看懂arm架构和x86架构有什么区别

    一文看懂arm架构和x86架构有什么区别 本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能.扩展能力.操作系统的兼容性.软件开发的方便性及可使用 ...

  3. [嵌入式基础]-arm架构和x86架构区别

    ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设 ...

  4. arm架构和x86架构的区别详解

    什么叫arm架构 ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用 ...

  5. 一文看懂arm架构和x86架构有什么区别

    本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能.扩展能力.操作系统的兼容性.软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了a ...

  6. ARM架构与x86架构的区别

    一.什么是ARM架构 ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地 ...

  7. ARM知识扫盲-RISC架构-ARM寄存器-ARM指令集

    文章目录 简介: ARM寄存器 特殊寄存器 ARM指令集 简介: ARM本身使用的是RISC精简指令集架构,除此之外还有开源的RISC指令集架构RISC-V,复杂指令集CISC(Complex Ins ...

  8. 「Arm Arch」 微架构

    本文源自<书香度年华>「ARM 架构专栏」,是一系列由浅入深.循序渐进的文章,文章之间有一定的前后关联性,所以按顺序阅读,建议收藏专栏. 一.概念 微架构(英语:Microarchitec ...

  9. CUP架构:X86架构与Arm架构

    X86架构和ARM架构是主流的两种CPU架构,X86架构的CPU是PC服务器行业的老大,ARM架构的CPU则是移动端的老大. X86架构和arm架构实际上就是CISC与RISC之间的区别,很多用户不理 ...

最新文章

  1. 关于网站下拉导航的设置
  2. R语言使用coin包应用于分类变量独立性问题的置换检验(permutation tests)、使用普通卡方检验chisq.test函数和置换近似卡方检验chisq.test函数、检验分类变量的独立性
  3. 计算机基础及msoffice应用书本,全国计算机等级考试一本通一级计算机基础及MSOffice应用2016年无纸化考试专用...
  4. 一本彻底搞懂MySQL索引优化EXPLAIN百科全书
  5. luogu2839 [国家集训队]middle
  6. 最详细的创建虚拟机_minmal版本
  7. CRM呼叫中心inbox里interact操作介绍
  8. P7294-[USACO21JAN]Minimum Cost Paths P【单调栈】
  9. centos桥接模式怎么联网_今日回收 | 互联网+废品回收模式是怎么兴起的呢?
  10. 测试人员,今天再不懂BDD就晚了!
  11. 通透!数据仓库领域常见建模方法及实例演示
  12. Hyper-V上Linux的鼠标驱动
  13. [HZOI 2016]tree—增强版
  14. 华为OJ之奥运会金牌排名显示国家名称
  15. MaxScript 例子 渲染
  16. MSP430G2553开发板万年历加温湿度
  17. 计算机提示应用程序无法启动,电脑应用程序无法正常启动提示0x000007b怎么办?...
  18. ExcelVBA之InputBox函数
  19. 读文献--《U-Net: Convolution Networks for Biomedical Image Segmentation 》
  20. Ubuntu18解决:Not creating XLA devices, tf_xla_enable_xla_devices not set

热门文章

  1. 天天爱消除倒计时功能的实现思路
  2. 关联规则(Association Rules)学习
  3. Andrpid评测分析-安兔兔V6.0技术解…
  4. ubantu的使用方法
  5. Java——成绩排名
  6. 系统缺少msxml3解析库,导致有道字典主窗口初始化失败、暴风影音停止工作的诡异问题
  7. linux中的进程与线程,linux中进程和线程的区别是什么
  8. [bzoj4566][SAM]找相同字符
  9. Java唤起浏览器打开指定网页
  10. Deepin安装过程中无法进入安装引导,求助