1.嵌入式系统基础概述
嵌入式系统是以应用为中心、以计算机技术为基础,软硬件可裁剪的专用计算机系统。它会根据用户对功能、体积、可靠性等需求进行定制。
从组成来看,软件层面包含系统软件(如操作系统)和应用软件;硬件基本构成有运算器、控制器、存储器、输入设备、输出设备。
在嵌入式行业,存在多种核心处理单元:
- MPU(微处理器):偏向处理复杂任务,像高端嵌入式设备的核心计算。
- MCU(微控制器):集成了处理器、存储器等,常用于单片机类简单控制场景。
- DSP(数字信号处理器):专为高度复杂数学运算设计,在音频、图像处理等领域广泛应用。
- SoC(片上系统):是一个集成化的概念,将 MPU、MCU、GPU、DSP 等多种功能模块集成在一块芯片上,如同一个功能完备的 “城市”,让设备实现更丰富的功能且更小型化。
2.处理器架构与指令集
1.CISC 与 RISC 指令集
- CISC(复杂指令集计算机):指令集庞大且复杂,试图用一条指令完成多种操作,硬件结构复杂,指令执行周期长,但能实现丰富的功能。
- RISC(精简指令集计算机):选取使用频率高的简单指令,指令格式规整,每条指令可在一个时钟周期内完成,硬件实现相对简单,执行效率高,ARM、RISC - V 等架构采用这种指令集。
2.ARM 内核版本与系列:
- 核心架构版本:ARM1 - ARM11、ARM - A、ARM - R、ARM - M。
- 指令集版本:V1 - V9。
- 内核系列:Cortex - A(MPU,面向高性能应用)、Cortex - R(Realtime,实时应用)、Cortex - M(MCU,微控制器应用)。
3.冯・诺依曼与哈佛架构
1.冯・诺依曼架构中,程序指令和数据存放在同一存储空间,共享数据总线,取指令和取数据会产生冲突,执行效率受限,但结构简单、成本低。
2.哈佛架构则将程序存储器和数据存储器分开,有独立的指令总线和数据总线,可并行处理指令和数据,执行效率更高,适用于高速数据处理场景。ARM 内核既支持冯・诺依曼架构,也支持哈佛架构,部分高性能 ARM 内核(如 Cortex - A 系列)采用哈佛架构以提升性能。
3.ALU 与寄存器
ALU(Arithmetic Logic Unit,算术逻辑单元):负责执行算术运算(如加、减、乘、除)和逻辑运算(如与、或、非、异或)。

- 通用寄存器:图中示例有 r0、r1、r2 等,用于暂存数据,如 r0 = 100、r1 = 200 等。
- 特殊寄存器:<三个寄存器配合使用>
- r13(sp):栈指针寄存器,指向栈顶,用于存储数据保护现场。
- r14(lr):链接寄存器,保存函数返回地址。
- r15(pc):程序计数器,存储下一条要执行的指令地址。

- 状态寄存器:
- CPSR(Current Program Status Register,当前程序状态寄存器):保存当前程序运行的状态信息,如标志位等。
- SPSR(Saved Program Status Register,备份程序状态寄存器):在异常发生时,用于备份 CPSR 的内容。
4.内存管理与缓存
- MMU(Memory Management Unit,内存管理单元):负责虚拟地址到物理地址的转换,实现内存保护、地址映射等功能。
- Cache(高速缓存):分为 data cache(数据缓存)和 instruction cache(指令缓存),用于缓存常用数据和指令,提高访问速度,且可控制其开启或关闭。
5.总线架构
- 单总线:所有设备共享一条总线,结构简单但传输效率低,易产生冲突,示例:
int a = 100; int b = 200; a = a + b - c;可体现单总线在数据传输时的串行性。
- 多总线(AHB、APB):
- AHB(Advanced High - performance Bus,高级高性能总线):用于高性能、高带宽的模块间通信,如 CPU 与内存、高性能外设之间。
- APB(Advanced Peripheral Bus,高级外围总线):用于低速外围设备通信,如 GPIO、timer、Uart 等外设。

注:图中IO总线就属于APB,主存总线属于AHB
6.ARM 开发相关
1.典型芯片与开发板
ARM920T、S3C2440A、ARM - Cortex - A7、ARMv7(如正点原子 IMX6ULL - Mini 开发板)
2.交叉编译工具链
因为嵌入式设备的处理器架构(如 ARM)与开发主机(如 x86 架构的 PC)不同,需要交叉编译器将代码编译成目标架构可执行的程序。
3.三级存储系统


主存储器:可由CPU直接访问,用来存放当前正在执行的程序和数据
辅助存储器:设置在主机外部,CPU不能直接访问,用来存放暂时不参与运行的程序和数据,需要时再传送到主存
高速缓冲存储器(Cache):CPU可以直接访问,用来存放当前正在执行的程序中的活跃部分,以便快速地向CPU提供指令和数据

4.控制器:流水线技术
采用三级流水线(指令预取、指令译码、指令执行),使指令的不同阶段重叠进行,提高指令执行的吞吐量,示例中展示了多条指令在流水线中并行处理的情况。

5.ram和rom


问题:
1、什么是RISC、CISC; 2、冯.诺伊曼架构和哈佛架构有何区别?ARM内核属于哪一种? 3、ARM内核中都有什么? 4、ARM有几种工作模式? 5、什么是异常向量表?
1.CISC(复杂指令集计算机):指令集庞大且复杂,试图用一条指令完成多种操作,硬件结构复杂,指令执行周期长,但能实现丰富的功能。
RISC(精简指令集计算机):选取使用频率高的简单指令,指令格式规整,每条指令可在一个时钟周期内完成,硬件实现相对简单,执行效率高,ARM、RISC - V 等架构采用这种指令集。
2.冯・诺依曼架构中,程序指令和数据存放在同一存储空间,共享数据总线,取指令和取数据会产生冲突,执行效率受限,但结构简单、成本低。
哈佛架构则将程序存储器和数据存储器分开,有独立的指令总线和数据总线,可并行处理指令和数据,执行效率更高,适用于高速数据处理场景。ARM 内核既支持冯・诺依曼架构,也支持哈佛架构,部分高性能 ARM 内核(如 Cortex - A 系列)采用哈佛架构以提升性能。
3.运算单元、寄存器、控制器、指令译码器、流水线单元、总线接口单元、存储器管理单元
4.用户模式(User,USR):正常程序执行模式,用户程序运行的工作模式,对系统大多数资源无直接访问权限。
快速中断模式(Fast Interrupt Request,FIQ):用于快速处理中断,在需要快速响应的中断场景下使用,该模式下有更多私有寄存器,减少中断处理时寄存器保存和恢复的时间。
外部中断模式(Interrupt Request,IRQ):处理一般的外部中断请求,是最常用的中断处理模式。
管理模式(Supervisor,SVC):操作系统内核运行的模式,用于保护操作系统和系统资源。当处理器响应软件中断(SWI)时,会进入管理模式。
数据访问终止模式(Abort,ABT):当数据或指令预取终止时进入该模式,用于处理内存访问错误等异常情况。
系统模式(System,SYS):用于运行特权级的操作系统任务,与用户模式使用相同的寄存器组,但具有更高的权限,可访问系统的所有资源。
未定义指令中止模式(Undefined,UND):当处理器遇到不能识别的指令时进入该模式,用于处理未定义指令异常。
5.异常向量表是一段存储在内存特定区域的代码地址列表。当 ARM 处理器发生异常(如中断、未定义指令、数据访问终止等)时,处理器会根据异常类型,从异常向量表中找到对应的异常处理程序的入口地址,并跳转执行相应的异常处理程序。(存储异常出路程序入口地址的内存区域)
—ARM裸机体系结构&spm=1001.2101.3001.5002&articleId=151295798&d=1&t=3&u=9a73ec37a7d6424cb8ca2ad943d6be25)
1341

被折叠的 条评论
为什么被折叠?



