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

学习嵌入式的第三十八天——ARM——概述

1、什么是RISC、CISC

CISC:复杂指令集,能支持大量的指令操作,所以电路十分复杂,但软件十分精简

RISC:精简指令集,能支持的指令较为精简,所以电路也比较精简,但软件就比较复杂

2、冯.诺伊曼架构和哈佛架构有何区别?ARM内核属于哪一种?

冯.诺伊曼架构:单总线结构,速度不同的外设使用通用的总线,结构简单,但会影响效率

哈佛架构:多总线结构,使用多总线把高速和低速外设区分,结构复杂,但效率高

ARM内核属于哈佛结构,但现在许多都是混合使用的

3、ARM内核中都有什么?

处理器核心

:负责指令的取指、译码和执行,是实现计算功能的核心单元

指令集架构(ARM,Thumb)

:指令集是内核可执行的指令集合,定义了软件与硬件的交互接口。

寄存器

:通用寄存器(r0~r15)

:r13——栈指针寄存器(sp)

r14——链接寄存器(lr)

r15——程序计数器(pc)

各工作模式中独立的寄存器:

状态寄存器

程序状态寄存器(cpsr):

程序状态备份寄存器(spsr):备份模式切换前的cpsr值

运算单元

算术逻辑运算单元(ALU)

:进行基本算术和逻辑运算

浮点数运算单元(FPU)

:进行浮点数运算

数字信号处理单元(DSP)

:优化数字信号处理任务

控制单元

:负责协调指令执行的全过程,确保各模块按序工作

高速缓存(Cache)

:减少内核访问内存的次数,提升数据读取速度

指令缓存(l—cache)数据缓存(d—cache)速度极快

存储管理单元

内存管理单元(MMU):实现虚拟内存与物理内存的映射,支持内存分页、权限控制(如只读 / 读写)、缓存管理,是多任务操作系统(如 Linux)的基础

内存保护单元(MPU):通过划分内存区域并设置访问权限(如禁止用户程序访问内核内存),防止非法内存操作导致系统崩溃,但不支持虚拟内存

中断与相应处理单元

负责响应外部中断(如按键、传感器触发)和内部异常(如除零错误、未定义指令),确保系统及时处理紧急事件

总线接口单元(BIU)

:内核通过总线接口与外部外设(如 GPIO、UART、SPI)和内存(RAM、Flash)通信,是数据传输的 "高速公路"

AHB(Advanced High-performance Bus):高性能总线,用于连接高速外设(如 DMA、MMU)

APB(Advanced Peripheral Bus):低功耗总线,用于连接低速外设(如 GPIO、UART)

AXI(Advanced eXtensible Interface):ARMv7 及以上架构的高性能总线,支持多主设备、乱序传输,提升数据吞吐量(如 Cortex-A 系列)

4、ARM有几种工作模式?

7种基本工作模式:

        User(普通用户):无特权模式,大部分任务都工作在这个模式

        Supervisor(超级用户):当复位或者软中断产生时

        FIQ(快 中断 请求):当高级(快)中断产生时

        IRQ(中断 请求):当低级(普通)中断产生时

        Undef(未定义):当执行未定义的指令时(如指令集与编译器版本不匹配)

        Abort(终止):当存取异常时

        System:使用与User模式相同寄存器集的特权模式

        37个32位寄存器

在Cortex——A架构种还有 2种:Monitor:安全监视

                                                     Hyp:测试

                                                     与上共40个寄存器

5、什么是异常向量表?

异常向量表是硬件异常触发与软件处理程序之间的桥梁,其核心功能是:

统一管理所有可能发生的异常类型,为每种异常分配一个唯一的 "入口地址"

当异常发生时,处理器无需软件干预,可直接通过硬件机制定位到向量表中对应的地址,快速跳转至处理程序,保证响应的实时性

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

相关文章:

  • 初级会计【备考】
  • Windows系统忘记用户名密码怎么办
  • 市场部绩效考核关键指标与市场分析
  • 嵌入式 - ARM8
  • MongoDB备份数据库
  • 【OpenGL】LearnOpenGL学习笔记23 - ShadowMap、PCF
  • MongoDB文档规范
  • 让设计、办公、创作效率翻倍的技术文章大纲
  • 能不能写一个linux下类vim的编辑器
  • Linux02: 编辑器nano的常用技巧
  • UDP和TCP对比通俗讲解
  • 【ReText】1.3 Python multiprocessing 库详解
  • Liunx系统下出现“Could not resolve host: mirrorlist.centos.org; 未知的错误”地解决方案
  • CentOS Stream 9安装系统(LVM扩容案例)
  • Docusign AI 全球化:构建安全、合规的多语言协议管理
  • C# 基于halcon的视觉工作流-章37-零件测量
  • 第二部分:VTK核心类详解(第38章 vtkPointData点数据类)
  • 木卫四科技 × 一汽解放商用车开发院: 共驱商用车 AI 研发新程
  • 【C++闯关笔记】STL:stack与queue的学习和使用
  • [HCTF 2018] WarmUp
  • Vue 学习随笔系列二十六 —— 动态表头
  • BIM 可视化运维平台 + IBMS 中央集成系统一体化解决方案:构建虚实融合的智慧运营中枢
  • XSUN_DESKTOP_PET(桌面宠物)
  • 具身智能VR遥操开发记录
  • 构建AI智能体:三十八、告别“冷启动”:看大模型如何解决推荐系统的世纪难题
  • [重学Rust]之结构体打印和转换
  • 数据结构(陈越,何钦铭) 第十一讲 散列查找
  • 2025年JBD SCI2区TOP,基于改进蚁群算法的应急路径规划,深度解析+性能实测
  • UIKit-layer
  • 一物一码公司推荐再互动平台