现在的位置: 首页 > 综合 > 正文

Arm学习笔记(一)

2013年06月10日 ⁄ 综合 ⁄ 共 764字 ⁄ 字号 评论关闭
文章目录

一、概述

Arm芯片具有RISC体系的一般优点,比如:

  • 具有大量的寄存器
  • 绝大多数操作都在寄存器中进行,通过Load/Store的体系结构在内存和寄存器间传递数据
  • 寻址方式简单
  • 采用固定长度的指令格式 

Arm体系采用了一些特别的技术,在保证高性能的同时尽量减小芯片体积,降低芯片功耗:

  • 在同一条数据处理指令中包含算术逻辑处理单元处理和移位处理
  • 使用地址自动增加(减少)来优化程序中循环处理
  • Load/Store指令可以批量传输数据,从而提高数据传输的效率
  • 所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率

运行模式:用户模式、系统模式、5种异常模式

通用寄存器:R0~R7  未备份寄存器    R8-R14  备份寄存器    R13通常用作栈指针   R14为连接寄存器   R15为程序计数器PC

状态寄存器:

  • CPSR:当前程序状态寄存器,包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。
  • SPSR:备份程序状态寄存器,当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容,在异常中断程序退出时,用SPSR中保存的值来恢复CPSR,只有5种异常模式拥有SPSR。

二、指令集

典型的Arm指令语法格式:

<opcode> (<cond>) {s} <Rd>,<Rn>,<shifter_operand>

  • opcode:指令助记符
  • cond:指令执行的条件
  • {s}:决定指令的操作是否影响CPSR的值
  • Rd:目标寄存器
  • Rn:包含第一个操作数的寄存器
  • Shifter_operand:第二个操作数

条件码:EQ相等    NE不相等    LS无符号数小于等于   LT带符号数小于   LE带符号数小于等于   HI无符号数大于   GE带符号数大于等于    GT带符号数大于    VS上溢出    VC没有上溢出   AL无条件执行

 

 

抱歉!评论已关闭.