"); //-->
ARM7™ 核心是一款 32 位精简指令集计算机(RISC)。它使用单条 32 位总线用于指令和数据传输。数据长度可为 8 位、16 位或 32 位,而指令字长固定为 32 位。
ARM7TDMI 是基于 ARM7 核心的扩展版本,包含四项附加功能:
T:支持 Thumb(16 位)指令集;
D:支持调试功能;
M:支持长乘法运算;
I:集成 EmbeddedICE 模块,以支持嵌入式系统调试。
Thumb 模式 (T)
标准 ARM 指令长度为 32 位。ARM7TDMI 处理器额外支持一套压缩至 16 位的指令集,称为“Thumb”指令集。通过使用 Thumb 指令集替代完整的 ARM 指令集,可实现更快的 16 位内存执行速度及更高的代码密度,这使得 ARM7TDMI 核心特别适合嵌入式应用。
然而,Thumb 模式存在两个局限性:
完成相同任务时,Thumb 代码通常需要更多指令;
Thumb 指令集不包含异常处理所需的部分指令——当发生异常时,处理器会自动切换回 ARM 模式进行异常处理。
有关核心架构、编程模型以及 ARM 与 ARM Thumb 指令集的详细信息,请参阅《ARM7TDMI 用户指南》。
长乘法 (M)
ARM7TDMI 指令集包含四条额外指令,用于执行以下操作:
32 位 × 32 位乘法,结果为 64 位;
32 位 × 32 位乘加运算(MAC),结果也为 64 位。
这些运算在比标准 ARM7 核心更少的时钟周期内即可完成。
EmbeddedICE (I)
EmbeddedICE 提供片上调试支持。其模块内含断点寄存器和观察点寄存器,允许代码暂停以供调试之用。这些寄存器可通过 JTAG 测试端口控制。
当遇到断点或观察点时,处理器将 halted 并进入调试状态。在调试状态下,可检查处理器寄存器、Flash/EE、SRAM 及内存映射寄存器的内容。
异常处理
ARM 支持五种类型的异常,并为每种类型提供特权处理模式:
普通中断(IRQ):用于服务内部和外部事件的一般性中断处理。
快速中断(FIQ):用于低延迟的数据传输或通信通道服务。FIQ 优先级高于 IRQ。
存储器中止(Memory abort)
未定义指令尝试执行
软件中断指令(SWI):可用于调用操作系统服务。
通常,程序员将中断定义为 IRQ;但对于需要更快响应时间的高优先级中断,也可将其定义为 FIQ。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。