嵌入式微处理器的结构和类型
时隔多日,又来阳间混日子。
微处理器的分类
一般把16位及以下的称为嵌入式微控制器,32位及以上的称为嵌入式微处理器。
微处理器通常由三大部分组成:控制单元、算术逻辑单元和寄存器。
控制单元:主要负责取指、译码和取操作数等基本动作,并发送主要的控制指令。
包括两个重要的寄存器:程序计数器(PC)和指令寄存器(IR)。
算术逻辑单元:由算术运算单元和逻辑运算单元组成。
寄存器:用于存储暂时性的数据。
典型的32位微处理器的结构和特点
32位微处理器采用32位的地址和数据总线、其地址空间达到了2的32次方=4GB。
目前主流的微处理器主要有ARM系列、MIPS系列、PowerPC系列等。
简略介绍一下ARM。
目前常见的是典型的RISC精简指令集ARMv7版本,Cortex系列又分成A、R、M系列。
A:面向应用的微处理器核,支持复杂操作系统(Linux)和用户应用
R:深度嵌入的微处理器核、针对实时系统的应用。
M:微控制核,针对成本敏感的嵌入式控制应用
ARM数据类型:字:32位; 半字:16位; 字节:8位
ARM七种运行模式:
用户模式(USER):正常程序执行模式,用于应用程序;
系统模式(System):运行特权操作系统任务;
快速中断模式(FIQ):用于支持高速数据传送通道处理;
慢中断模式(IRQ):一般中断的处理;
存储异常/中止模式(Abort):存储器保护异常处理/虚拟内存管理;
未定义指令中止模式(Undefined):未定义指令异常处理;
复位模式 / 操作系统保护模式(Supervisor):用于操作系统;
寄存器结构:
共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。
需要注意的是:
在任何时候,通用寄存器R14~R0、程序计数器PC(R15)、一个或两个状态寄存器都是可以访问的。
CPSR(当前程序状态寄存器)CPSR
异常
异常是由内部或外部原因引起。
对于X86 CPU,当有异常发生时,CPU是到指定的向量地址读取要执行的程序的地址,跳转到相应的地址并执行;而对于ARM的CPU,当有异常发生时CPU是到向量地址的地方读取指令并执行,也就是ARM的向量地址处存放的是一条指令(一般是一条跳转指令)。
内存和I/O地址
I/O端口的编址方法有两种:I/O映射编址和存储器映射编址方式 。
ARM处理器大都采用存储器映射编址方式
ARM支持大端和小端的内存数据方式。
小端模式:较高的有效字节存储在较高的存储器地址,较低的有效字节存储在较低的存储器地址。
大端模式:较高的有效字节存储在较低的存储器地址,较低的有效字节存储在较高的存储器地址。
例: 有0x01到0x03的连续地址,有一个数据是0x010203
大端模式:数据01存在地址0x01的内存中,数据02存在地址0x02的内存中,数据03存在地址0x03的内存中。
小端模式:数据01存在地址0x03的内存中,数据02存在地址0x02的内存中,数据03存在地址0x01的内存中。
对于ARM的寻址方式和详细结构等知识推荐:《ARM体系结构与编程》作者:杜春雷
其他知识插入:
MMX技术:无线多媒体扩展技术;
Quick Capture技术:一种高速高质量的嵌入式摄像头传输技术。
SpeedStep技术:用途:降低系统功耗、调节性能,省电。
2020/8/7 12:00