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

ARM基础知识

1.计算机系统基本组成:

硬件系统,软件系统

2.计算机硬件系统基本组成

运算器,控制器,存储器,输入设备,输出设备

3.嵌入式中常用专有名词解释

MPU:微处理器

MCU:微控制器

DSP:数字信号处理器

SOC:片上系统

4.ARM基本架构

ARM属于RISC(reduce instruction set computer)精简指令集架构

kernal(大脑)+GPIO(外设寄存器)+UART(通用异步收发器)+PWM(调制)+RAM+ROM

RAM VS ROM

RAM:

1.可以被处理器直接寻址

2.访问速度快

3.价格昂贵

4.掉电丢失

ROM:

1.不可以被处理器直接寻址

2.访问速度慢

3.价格便宜

4.掉电不丢失

5.ARM核内部结构

通用寄存器+特殊功能寄存器(32位)

通用功能寄存器:

R0-R15:

R0-R12:数据操作和地址计算

R13:SP---栈指针寄存器,存放栈顶位置

R14:LR---链接寄存器,用于备份PC

R15:PC---程序计数器,指向要执行的下一条语句

特殊功能寄存器

ALU:算数逻辑单元,用于算数,逻辑运算

cache:高速缓存,内部分为i cache和d cache,前者用于缓存指令,后者用于缓存数据

CPSR:当前状态寄存器

SPSR:程序状态备份寄存器(CPSR的备份)

MMU:内存管理单元

6.处理器的工作模式

1,user :非特权模式,大部分任务执行在这种模式

2,FIQ:当一个高优先级中断产生时进入

3.IRQ:当一个低优先级中断产生时进入

4.Supervisor(SVC):当复位时or软件中断产生时进入

5.Abort:存取发生异常时进入

6.Undef:执行未定义的指令进入

7.System:和user模式共享寄存器集的特权模式

7.异常处理

1.当异常产生时

a.拷贝当前工作模式的CPSR到异常模式的SPSR

b.设置适当的CPSR位(异常模式下的)

c.保存返回地址到异常模式下的LR中

d.设置PC为相应异常向量

2.异常处理完成返回时

a.从异常模式下的SPSR恢复CPSR

b.从LR恢复PC

d.以上操作只能在ARM态执行

8.冯诺依曼架构VS哈佛架构

1.存储结构:冯诺依曼架构为单存储器,同时存储指令和数据;哈佛架构为分离的存储器,指令存储器+数据存储器

2.总线系统:冯诺依曼架构为单一系统总线用于传输指令&数据(分时复用);哈佛架构为两套独立总线,指令总线+数据总线

3.优势:冯诺依曼架构设计简单,硬件成本低;哈佛架构有更高的执行效率,实时性更好

4.劣势:冯诺依曼架构指令和数据不能同时获取;哈佛架构设计复杂,需要更多的引脚

ARM使用的是哈佛架构

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

相关文章:

  • 从零开始的指针(5)
  • TDMQ CKafka 版客户端实战指南系列之二:消费消息最佳实践
  • Comcast 没有对比就没有伤害
  • AI悬浮窗 1.0 | 快捷提取文字,总结信息,支持提取文字、理解屏幕上的图案、总结分析信息
  • MySQL、PostgreSQL、MongoDB和Redis全面对比
  • 隐私保护与数据安全合规(七)
  • 登录 双层拦截器+redis
  • TM56M152A (SOP16) HITENX海速芯 8位微控制器MCU 芯片深度解析
  • 理解元学习器 - 如何使用机器学习估计异质处理效应(四)
  • [数据结构] Map和Set
  • [Go类库分享]Go template模版库
  • 辅助搜题系统-基于模糊搜索,上传word题库后,可搜索答案
  • 【完整源码+数据集+部署教程】遥感农田森林岩石图像分割系统: yolov8-seg-C2f-DCNV2
  • RTX 4090助力深度学习:从PyTorch到生产环境的完整实践指南
  • AWS中国云中的调用链监控(EC2版)
  • CI/CD到底是什么?
  • 3dmax三维动画渲染很慢怎么办?
  • ASIS CTF 2025 SatoNote
  • BasicForm的使用
  • CSP初赛——STL中的函数整理
  • 小杰机器学习高级(two)——极大似然估计、交叉熵损失函数
  • 关于px4 1.15.0电机控制有效矩阵的更新
  • 【设计模式】职责链模式
  • 22届考研(华为oD)-Java面经
  • 轻松实践:用Python实现“名字大作战”游戏,表白Zulu
  • EasyDSS视频直播点播平台如何为游戏直播提供超强技术底座?
  • MySQL----MVCC机制
  • 设计|str增量法|计算贡献
  • Spring中Controller层中容易搞混的注解
  • Git GitHub 个人账户创建教程