处理器指令集

复杂指令集和精简指令集

  • 复杂指令集:采用复杂指令集的处理器提供了多种复杂功能的指令和多种灵活的编址方式,并通过微程序来实现大量功能各异的指令。
  • 精简指令集:精简指令集的指令长度固定,指令格式种类少,寻址方式种类也少。

处理器存储结构

冯·诺依曼结构和哈佛结构

  • 冯·诺依曼结构:采用冯·诺依曼结构的计算机将指令和数据存放在同一存储空间中,统一编址,指令和数据则通过同一总线访问。
  • 哈佛结构:程序和数据存储在不同的存储空间中,也就是将程序存储器和数据存储器分为两个相互独立的存储器,各个存储器独立编址、独立访问。

Arm体系结构的扩展

Arm体系结构的扩展主要有五种:Thumb指令集、Jazelle、TrustZone、NEON和VFP。

  • Thumb指令集:Thumb指令集是Arm处理器的一种16位指令模式,可以把它看做Arm指令压缩形式的子集。引入Thumb指令集的主要目的是提供更高的代码密度,这样就可以吧更多的代码放到片内存储器中,同时有助于降低处理器的功耗。

Cortex-M3/M4的编程模型

工作模式和运行级别

  • 工作模式

        基于Cortex-M3/M4架构的微控制器支持两种工作模式:线程模式异常处理模式

线程模式是处理器正常运行时的模式,系统复位时进入线程模式,从异常处理模式返回时也会进入线程模式
当发生异常时,处理器进入异常处理模式,执行中断处理相关代码,异常处理完成后,处理器重新回到线程模式

  • 运行级别

        Cortex-M3/M4提供了软件运行的两种特权级别,分别是特权模式和非特权模式。
        特权模式具有完全的访问权限,可以执行所有指令和访问所有硬件资源,用于执行嵌入式操作系统内核代码;非特权模式仅有有限的访问权限,用于运行用户态的代码。

  • 堆栈

        特点:堆栈是存储器使用的一种机制,它将一部分内存用作"后进先出"的数据缓冲区,只允许在一端(栈顶)进行插入和删除操作。

存储格式

  • Cortex-M3/M4的存储器系统支持小端格式和大端格式

        小端格式是指低位字节存放于低位地址,高位字节存放于高位地址。
        大端格式是指低位字节存放于高位地址,高位字节存放于低位地址。


STM32系列微控制器

STM32最小系统的组成

  • 基于STM32系列微控制器的最小系统包括了STM32微控制、晶振电路、复位电路、电源、下载电路、启动模式设置等。

STM32处理器中五种时钟源分别是什么?

  • ① HSL ② HSE ③ LSI ④ LSE ⑤ PLL

STM32的GPIO端口8种工作模式分别是什么?

  • 分别是浮空输入、上拉输入、下拉输入、模拟输入、开漏输出、开漏复用输出、推挽输出和推挽复用输出。