ARM原理

打印 上一主题 下一主题

主题 771|帖子 771|积分 2313

一、指令集

1、指令集 就是cpu用来盘算和控制盘算机系统的一套指令的聚集。
2、每一种新型cpu在计划的时间就规定好了一套和硬件电路适配的指令系统。指令集先进与否与CPU性能发挥占据很大的因素,也因此,指令集尝尝作为一个判定CPU性能强弱的重要指标。
3、从现阶段主流的指令集来进行分类,重要分为复杂指令集(CISC)和精简指令集(RISC)。

二、CISC和RISC的区别

1、RISC精简指令集(ARM)

1. 概念

        复杂指令集中提取了一些简朴和常用的指令集构成
2. 特点

        指令周期:实行一条指令的所需的时间
        指令宽度:一条汇编指令编译生成呆板码所占用的空间
3. 结论:

        精简指令集:指令周期以及指令宽度都是固定的
        thumb指令集:一条指令占用两个字节的空间
        arm指令集:一条指令占用四个字节的空间
注意:thumb指令集在利用的时间必要搭配arm指令集利用


2、复杂指令集

1. 概念

        更加注意指令的功能和性能
2. 结论

        复杂指令集指令宽度和周期都是不固定的 重点在实现功能


三、ARM数据类型的约定

重点区分字和字节的区别
1、arm-v7


2、armv-8



四、数据的存储(重点)

数据的存储方式分为大小端存储
        对于大端存储方式:低位地址存高字节数据
        对于小端存储方式:低位地址存低字节数据

五、ARM处理器的工作模式

1、ARM处理器工作模式概念

ARM处理器工作模式一共有七种
1. User(用户程序运行模式)

        非特权模式,大部门使命在这里实行
2. FIQ(快速停止模式)

        当一个高优先级(fast)停止产生时进入FQ模式。
3. IRQ(平凡/一般停止模式)

        当一个低优先级停止产生式进入IRQ模式
4. Supervisor(管理模式)

        当复位或者软停止指令实行时会进入管理模式 重启上电时也是管理模式
        提供操纵系统利用的一种掩护模式,swi下令状态
5. Abort(中止)

        当存取异常时会进入Abort模式 对捏造内存管和内存数据的掩护
6. Undef(未界说指令中止)

        当实行未界说指令时进入,支持通过软件仿真硬件的协处理
7. system(系统)

        利用和User模式相同的寄存器集的特权模式 和user雷同只是权限更高(基本遇不到)
2、总结

        在特定的模式下,一般会实行特定的代码,完成某个特定功能。
        除了用户模式,别的所有模式均为特权模式。
        这几种工作模式可以进行切换,可以通过外部硬件进行切换也可以通过软件编程来进行切换。
        进入特权模式的异常模式 是为了处理相应的停止
        user和system共用一套寄存器

六、ARM寄存器组织

1、CPU从逻辑上划分可以分为三个模块:分别是控制单元、存储单元、运算单元,这三部门是CPU内部总线连接起来的。
2、冯诺依曼提出盘算机架构,其工作过程可以分五个阶段:取指令、指令译码、实行指令、访存取数、结果协回。
3、运算器、控制器、存储器、寄存器,由ARM公司集成到CPU内部的。

1、寄存器的位置

1. 寄存器处于SOC内部的cortex-A7核内部

2. 优缺点

        运算速率快 但因为适合CPU结合在一起 数量相对较少
2、寄存器先容

1. 概念

        寄存器属于处理器内部寄存器,没有地址,只有编号,利用者只能通过编号对寄存器进行操纵。
2. 作用

        一般存放暂时必要运算的数据


每一个方块都代表一个寄存器 一个寄存机可以存放32bit(4byte)
每种工作模式都有自己的私有寄存器
寄存器为白色的代表为公有寄存器 带标识的为私有寄存器
假如某个工作模式下有私有寄存器 则不可以访问公有的
寄存器个数有限,一般cortex处理器一共43个寄存器,arm处理器一般有37个寄存器

七、特殊功能寄存器



1、SP------->栈指针寄存器

        R13--------->SP
作用:指向栈顶空间的地址

2、LR------->链接寄存器

        R14--------->LR
        作用:用于存放函数的返回地址

3、PC---->程序计数器

        R13----->C
        作用:PC中存放的是当前取指指令的地址


4、CPSR状态寄存器

        CPSR--->当前状态寄存器
        作用:保存当前的程序状态,分析CPSR寄存器中的值可以判定当前程序的运行状态


5、SPSR寄存器

        SPSR----->保存状态寄存器
        作用:备份CPSR寄存器的值

八、指令流水线(取指 译码 实行)

1、概念

1. 指令流水线的作用

        提高代码的实行效率
2. 取指器

        根据PC寄存器中的值进行取指操纵
3. 译码器

        翻译指令 实行功能 并且给到对应的实行器
4. 实行器

        实行下令 完成特定的功能 并且将相应的结果给到对应寄存器
2、ARM指令流水线

        V7采取三级 V9采取5级 A9采取8级
注:固然流水线的品级越来越多,但是其本质还是在三级的底子上进行细分
PC不管是几级流水线,PC指向的永世是当前正在取指的指令,而当前正在实行的指令的地址就是PC。
3、多核处理器

1. 概念

        即一个SOC集成多个CPU内核
2. 作用

        差别的线程可以在差别的核中进行 实现真正的并发

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表