当前位置: 首页 > news >正文

嵌入式学习硬件(一)ARM体系架构

目录

      1.SOC

        2.内核架构的分类

        3.冯诺依曼架构和哈佛架构

        4.kernel

        5.指令集

        6.ARM处理器产品分类

        7.编译的四个步骤​编辑

        8.RAM和ROM​编辑

        9.ARM处理器工作模式

        10.异常处理

        11.CPSR程序状态寄存器


      1.SOC

        system on chip 片上系统,可以运行操作系统的一种高端的功能强大的芯片。

        ps  图中arm指的是arm的kernel

        2.内核架构的分类

        (1)ARM公司的ARM架构(收费)     该公司不生产芯片,只设计芯片,卖给别人授权

        (2)x86架构(收费)     主机电脑

        (3)MIPS

        (4)RISC V

        3.冯诺依曼架构和哈佛架构

        (1)冯诺依曼架构中将数据与指令存放在同一存储器中

        (2)哈佛架构是将数据与指令存放在不同的存储器中。ARM采用的是哈佛架构

        4.kernel

        

        ALU:arithmetic logic unit算数逻辑单元。作用 算数。

        R0-R15  通用寄存器     装那些计算需要用的数。 

        R13(SP) 栈指针寄存器   操作栈需要一个指针,该指针也存放在此寄存器中。  

        R14(LR)  链接寄存器   函数跳转时将将来要回来的地址装到LR中。

        R15(PC) 程序计数器,指向当前执行的指令的下一个指令地址。

        cache 高速缓存

        i cache  (instructinon cache) 指令cache

        d cache (data cache) 数据cache

        MMU:memory management unit 内存管理单元,把虚拟内存映射为RAM中的物理内存。从物理内存写回到虚拟内存时,还要把物理内存映射为虚拟内存。

        CPSR current program status register  当前程序状态寄存器,存放当前的程序状态

        SPSR saved program status register 是CPSR的备份,方便程序返回之前CPSR的状态

        5.指令集CISC RISC

        CISC:complex instruction set computer复杂指令集计算机;性能强大、功能丰富但成本高、不利于便携使用,如x86

        RISC:reduced instruction set computer精简指令集计算机;体积小,成本低,如ARM

        

        AHB:先进高速总线,连接高速设备,RAM,网口,USB

        APB:   先进外设总线,连接低速设备,UART,GPIO,TIMER

        ps  Kernel与外设连线称为总线:

        若只有一根称为单总线结构;

        若有两根及以上称为多总线结构;

        

        6.ARM处理器产品分类

ARM Cortex A(application)(应用于消费类电子产品)

                    R(realtime embeded)(应用于实时性方向,如军事,通信) 

                    M(MCU&FPGA)(应用于微控制器MAU方向,如STM32)

                     

        7.编译的四个步骤

        (1)预处理  文件包含,条件包含,宏定义那些操作

        (2)编译  把c语言代码转换为助记符的写法

        (3)汇编   助记符换为二进制机器指令

        (4)链接  多个.c .o文件,确定彼此之间函数调用关系

        8.RAM和ROM

         nor flash 可被寻址   nand flash 不可寻址

        

        9.ARM处理器工作模式

                ARM有7个基本工作模式:
                User:非特权模式,大部分任务执行在这种模式
                FIQ:当一个高优先级(fast)中断产生时将会进入这种模式
                IRQ:当一个低优先级(normal)中断产生时将会进入这种模式
                Supervisor:当复位或软中断指令执行时将会进入这种模式
                Abort:当存取异常时将会进入这种模式
                Undef:当执行未定义指令时会进入这种模式
                System:使用和User模式相同寄存器集的特权模式

        10.异常处理

        

注意:

中断的本质也是一种异常;
异常向量表:用于存储不同类型异常发生时,处理器跳转到特定的异常处理程序的地址;————用于存储不同类型异常发生时处理器跳转地址的特定内存区域,就是由操作系统初始化并设置基址寄存器指向的异常向量表(EVT)。这个表的每个条目都存储着对应异常处理程序的起始地址。
在同一种中断中,同一模式下的中断不能被再次被直接打断

FIQ中断

IRQ中断

(保留)

Data Abort(数据存储异常)————对RAM的访问发生错误

Prefetch Abort(预取失败异常)————指令预取阶段内存访问失败触发

Software Interrupt(软中断异常)————软件中断(任务切换),多任务的并发靠底层的软中断实现

Undefined Instruction(未定义指令异常)

Reset(复位异常)

        11.CPSR程序状态寄存器

1、N,V,C,Z位
注:汇编指令的s后缀,几乎所有的汇编指令都可以在指令后面加上s后缀,s后缀的含义是在指令执行过程中会更新cpsr寄存器的N,V,C,Z位

N:在结果是有符号的二进制补码情况下,如果结果为负数,则N=1;如果结果为非负数,则N=0

Z:如果结果为0,则Z=1;如果结果为非零,否则Z=0

C:是针对无符号数最高有效位向更高位进位时C=1;减法中运算结果的最高有效位从更高位借位时C=0

V:该位是针对有符号数的操作,会在下面两种情形变为1,两个最高有效位均为0的数相加,得到的结果最高有效位为1;两个最高有效位均为1的数相加,得到的结果最高有效位为0;除了这两种情况以外V位为0

http://www.dtcms.com/a/319971.html

相关文章:

  • 【数字图像处理系列笔记】Ch05:傅里叶变换与频率域滤波
  • 哈勃网络计划大规模升级卫星以创建全球蓝牙层
  • AI代码审查大文档处理技术实践
  • mysql如何实现备份某个数据库并还原备份
  • RHCA - CL260 | Day04:对象存储、存储池、用户认证
  • Mysql自定义顺序查询
  • 预约时间组件
  • 能源材料顶刊AEM:钛酸锂“双模储能”设计范式——兼得高能量与高功率密度
  • 智慧能源设备巡检准确率↑32%:陌讯多模态融合算法实战解析
  • Redis模块-RedisJson
  • Q-Learning详解:从理论到实践的全面解析
  • 数据合规——解读跨境电商隐私合规白皮书(2024)【附全文阅读】
  • React(三):脚手架、组件化、生命周期、父子组件通信、插槽、Context
  • AR技术:制造业质量控制的“智能革新”
  • 第五十三篇:LLaMA.cpp的“量化秘籍”:Q4_K_M、Q5_K_S深度解析
  • Numpy科学计算与数据分析:Numpy数组索引与切片入门
  • Linux学习记录 DNS
  • “认知裂缝边缘”地带
  • 河南萌新联赛2025第(四)场:河南大学
  • Taro 扩展 API 深度解析与实战指南
  • 考研复习-计算机组成原理-第三章-存储系统
  • 广州工艺品摆件三维扫描逆向建模抄数设计-中科米堆CASAIM
  • [三数之和]
  • [安卓按键精灵开发工具]本地数据库的初步学习
  • Day116 若依融合mqtt
  • Minio 分布式集群安装配置
  • 28 HTB Forest 机器 - 容易 (1)
  • (附源码)基于Web的物流信息管理系统
  • 解锁webpack核心技能(二):配置文件和devtool配置指南
  • 机器学习在量化中的应用:如何从逻辑回归到XGBoost实现高效预测?