- 体积小、低功耗、低成本、高性能
- 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件
ARM微处理器支持2种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令位16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。
- 大量使用寄存器,指令执行速度更快
ARM处理器共有37个寄存器,被分为若干个组(BANK),如下。
—— 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
—— 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位。
ARM体系结构中各寄存器的使用方式可以归纳如表所示
寄存器
使用方式程序计数器PC(r15)所有运行状态都可以使用通用寄存器r0 ~ r7所有运行状态都可以使用通用寄存器r8 ~ r12除去快速中断以外的状态都可以使用当前程序状态寄存器CPSR所有运行状态都可以使用保存程序状态寄存器SPSR除去用户状态以外的6种运行状态,分别都有自己的SPSR堆栈指针SP(r13)和链接寄存器lr(r14)所有的运行状态都有自己的SP和lr
- 大多数数据操作都在寄存器中完成
- 寻址方式灵活简单,执行效率高
- 指令长度固定
为了保证ARM处理器具有高性能的同时,进一步减少芯片的体积和功耗,ARM处理器采用了以下一些比较特别的技术。
- 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率
- 可用加载/存储指令批量传输数据,以提高数据的传输效率
- 可在一条数据处理指令中同时完成逻辑处理和位移处理
- 在循环处理中使用地址的自动增减来提高运行效率
ARM处理器有以下7种运行模式
- 用户模式(user):ARM处理器正常的程序执行状态
- 快速中断模式(fiq):用于高速数据传输或通道处理
- 外部中断模式(irq):用于通常的中断处理
- 管理模式(svc):操作系统使用的保护模式
- 数据访问中止模式(abt):当数据或指令预取中止时进入该模式,可用于虚拟存储及存储保护
- 系统模式(sys):运行具有特权的操作系统任务
- 未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes);其中除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。
arm 运行freeswitch
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:android gson数据解析
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
CentOS 系统安装FreeSWITCH
CentOS7.9 编译安装FreeSWITCH服务
lua json git