资讯详情

资讯详情

ARM学习(1)

今天要学习的是ARM相关的概念了解到很多关于寄存器的相关知识内核中有哪些东西以及数据是怎么在CPU中被处理读取写入的概念相关的知识还是挺繁琐的以下是今天总结的相关重点知识Day11.ARM体系架构1. 概念PC寄存器process counter 程序计数器CPU:Center: Processing Unit 中央处理单元GPU:Graphics Processing Unit 图形处理单元FPU: Float Processing Unit 浮点运算单元二八定律百分之80的硬件的电路只会在百分之20的情况下会用到RAM跟ROM区别记忆内核想要访问ROM中的东西就要先将ROM里面的东西读到RAM中才能让内核读到三大总线数据总线(双向) 地址总线(单向) 控制总线(双向)2.内核机器字长CPU 一次能自然处理、运算和传输的二进制位数(传输处理都是以32位来处理及四个字节)裸机操作时建议把dcache关闭还有MMU避免数据不回写MMU(memory mangement unit):内存管理单元MMU映射0到4G的虚拟内存MMU用来映射背后的真实物理内存可能是寄存器RAMROMCPSR(Current Program status Register):当前程序状态寄存器ARM中默认使用是小端对齐SPSR(Save Program status Register):备份程序状态寄存器通用寄存器R13SPstack pointer栈顶指针寄存器R14LRlinked register链接寄存器R15PCprogram counter程序计数器3.处理器工作模式ARM七种基本工作模式ARM内核里面一共有多少个通用寄存器溢出两个正数相加结果应该是正数但是超过存储范围就会产生溢出记忆ARM七种工作模式User非特权模式相当于Linux的普通用户模式FIQ当高优先级中断产生时会进入此模式IRQ当低优先级中断产生时会进入此模式Supervisor当复位或者中断指令执行时会进入此模式Abort当存取异常的时候会进入此模式Undef当执行未定义指令时会进入此模式System使用和User模式下相同寄存器的特权模式(相当于Linux下的sudo)MonitorCortex-A特有模式用于执行安全代码监控的模式也姓相当于一种特权模式ARM Core中包含了哪几种器件通用寄存器用来暂存数据和地址是CPU的工作台R13SP栈顶指针寄存器R14LR链接寄存器R15PC程序计数器ALU算数逻辑单元执行算数逻辑运算程序状态寄存器CPSR相当于CPU的状态面板上面记录了CPU的状态CPU执行下一条命令时都要根据这个状态面板来决定下一步该怎么走备份状态寄存器SPSR相当于存档当中断或者异常时CPU将当前状态存入SPSR等到CPU处理完中断或者异后通过备份状态寄存器恢复回CPSRCache(高速缓存)指令 Cache、数据 Cache减少访存延迟MMU(内存管理单元)将物理空间虚拟成0到4G的虚拟内存ARM Core异常处理流程产生异常时先将当前CPSR拷贝到SPSR_mode设置CPSR改变状态进入ARM态改变模式进入相应的异常模式如果需要的话设置中断禁止位禁止相应中断保存返回地址到LR_mode设置PC为相应异常向量从异常中返回从SPSR_mode中恢复CPSR从LR_mode中恢复PC
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →