IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> ARM 相关概念及知识随笔 -> 正文阅读

[嵌入式]ARM 相关概念及知识随笔

ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。ARM处理器本身是32位设计,但也配备16位Thumb指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。

1、体积小、低功耗、低成本、高性能;?

2、支持Thumb(16位,2字节对齐)/ARM(32位,4字节对齐)双指令集,能很好的兼容8位/16位器件;

3、大量使用寄存器,指令执行速度更快;

4、大多数数据操作都在寄存器中完成;

5、寻址方式灵活简单,执行效率高;

6、指令长度固定。

CISC与RISC概念

1. CISC(Complex Instruction Set Computer,复杂指令集计算机

大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的指令却不经常使用,在程序设计中只占20%。

2.??RISC(Reduced Instruction Set Computer,精简指令集计算机

优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等。

特点:

(1)采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。

(2)使用单周期指令,便于流水线操作执行。

(3)大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。此外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:

(4)所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。

(5)可用加载/存储指令批量传输数据,以提高数据的传输效率

(6)可在一条数据处理指令中同时完成逻辑处理和移位处理。

(7)在循环处理中使用地址的自动增减来提高运行效率。

寄存器结构

ARM处理器共有37个寄存器,包括:

(1)30个通用寄存器,均为32位的寄存器。

(2)1个程序计数器(PC指针),也为32位的寄存器。

(3)1个当前程序状态寄存器(cpsr)

(4)5个程序状态保存寄存器 (spsr)

状态寄存器是用以标识CPU的工作状态及程序的运行状态,均为32位,只使用了其中的一部分。

处理器模式

共有7种,包括:

6种特权模式:

(1)终止模式(abort):当处理器访问存储器失败时,进入该模式;

(2)中断模式(interrupt request,IRQ):对ARM普通级别的中断做出响应;

(3)快速中断模式(fast?interrupt request,FIQ):对ARM较高级别的中断做出响应,它有自己的r8~r12寄存器,不需要在处理时再对这些寄存器进行压栈,所以速度较快。

(4)管理模式(supervisor,SVC):处理器复位后进入该模式,通常处于该模式的有操作系统内核;

(5)系统模式(system):特殊的用户模式,允许对cpsr的完全读写访问;

(6)未定义模式(undefined,Undef):当处理器遇到没有定义的指令或处理器不支持的指令时进入该模式;

1种非特权模式:

(1)用户模式(user):一般用来运行应用程序;

所有的模式一般都可以访问的寄存器有:

(1)r0 ~ r12

(2)r13 (stack pointer,sp)、r14(link register,lr)

(3)r15 (program counter,pc)

(4)cpsr(current program status register)

除系统模式外的其他特权模式均可访问的寄存器:

(1)spsr(saved program status register)

延伸概念

哈佛结构:采用指令集与数据集分开的设计结构,常见的有ARM7、ARM11等;

冯诺依曼结构:采用指令集与数据集混在一起取用的设计结构

Thumb:

16位指令集,为32位ARM指令集的功能子集,一般仅能访问r0~r7及3个特殊寄存器,访问r8~r12寄存器需特殊指令处理;

r0~r7,又被称为Thumb state Low registers;

r8~r12,又被称为Thumb state High registers;

ARM 异常处理相应操作:

当发生异常情况时,会进行:

(1)程序备份,将CPSR复制到SPSR;

(2)重新设置CPSR的状态位:更改ARM状态位;更改位异常模式;结束中断接收;

(3)将当前的返回地址存储到LR寄存器中;

(4)将PC指针设置指向中断或异常的入口地址;

结束中断执行后,

(5)将程序的备份从SPSR拷贝回CPSR;

(6)还原CPSR的状态位;

(7)将中断发生前指针PC指向的地址从LR中还原;

RISC(精简指令集)与CISC(复杂指令集)的区别:

(1)RISC侧重软件的处理,CISC侧重硬件的处理;

(2)RISC指令仅有少量不同格式,CISC则有大量的不同格式;

(3)RISC使用了更多的寄存器,CISC则仅用了少量寄存器;

(4)??RISC仅用了少量寻址方式,CISC则有大量的寻址方式;

(5)RISC编译器更复杂,CISC则在处理器上扩展运用了微编程;

(6)RISC指令运行仅用一个周期,而CISC则要用多个周期;

(7)RISC流水线更简单,CISC流水线则较为复杂。

一些汇编指令的简写汇总:

(1)EQ,Equal,标志位为Z=1;

(2)NE,Not equal,标志位为Z=0;

(3)CS/HS,Unsigned higher or same,标志位为C=1;

(4)CC/LO,Unsigned lower,标志位为C=0;

(5)MI,Minus,标志位N=1;

(6)PL,Positive or Zero,标志位为N=0;

(7)VS,Overflow,标志位为V=1;

(8)VC,No overflow,标志位为V=0;

(9)HI,Unsigned higher,标志位为C=1&Z=0;

(10)LS,Unsigned lower or same,标志位为C=0&Z=1;

(11)GE,Great or equal,标志位为N=V;

(12)LT,Less than,标志位为N!=V;

(12)GT,Great or equal,标志位为Z=0&N=V;

(13)LE,Less than,标志位为Z=1 or N!=V;

(14)AL,Always

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:51:02  更:2021-08-23 16:51:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:59:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计