这也是一颗 Von Neumann 架构的 32-bit 的 RISC. 话说 Von Neumann 架构似乎总是为简单或者基础的型号而准备?
因为, 我们往往不稀奇地在 M3 或者 M4(我们把这些比做更高级的应用), 里面发现定义的是哈佛结构. 这可能从另一方面说明了, 这里的 ARM v4T 或者我们后面提到的 Cortex M0/M0+ (v6M) 在 ARM 的设计理念中, 是面向低端市场的存在, 且生产工艺更简单(或者生产成本更低廉).
Thumb
v4T 的这个变量 T, 在 A-RM document 中, 被当作 Thumb 指令集的标志.
关于 Thumb mode, 我想已经可能为我们熟知了, 正是因为其 16-bit 的宽度, 会显著地降低我们 firmware 的 size, 而据说性能同 arm mode 比较没有太大的损失. 但是应该注意的是, Thumb 指令集, 仍然是 ARM 指令集的一个子集, 只是其每条指令, 都被编码为 16-bit.
另外, 虽然没有看见类似的说法, 但我个人是有怀疑, 是否 Thumb 指令集被第一次引入, 就是在 ARMv4T 架构之上呢?
ARM7/ARM9/ARM11
ARM7 series 的 CPU core 包括: ARM7TDMI、ARM7TDMI-S、ARM7EJ-S 和 ARM720T.
ARM9/ARM9E series 的 CPU core 包括: ARM926EJ-S、ARM946E-S、ARM966E-S、ARM968E-S、ARM996HS、ARM920T 和 ARM922T
ARM11 series 的 CPU core 包括: ARM1136JF-S 和 ARM1126J-S、ARM1156T2-S、ARM1156T2F-S、ARM1176JZF、ARM1176JZ-S、ARM1176JZF-S 以及 ARM11 MPCore
尽管没有明言, 我们敏感地感觉到, 上述过去年代中, 被我们熟知的 ARM7, ARM9, ARM11,
其体系架构可能均属于前面提到的, ARM 架构中的有效部分, 它们是: ARMv4, ARMv4T, ARMv5T, (ARMv5TExP), ARMv5TE, ARMv5TEJ, and ARMv6 (如果我有错请告诉我).
并且令人精神振作且注意力集中的是: ARM documentation 称呼上述 ARMv4 ~ v6, 通称为: ARMv5 架构.
似乎可以简单认为, 超过 v4~v6, 比方说凡是 v7 就是进入 ARM 新时代, 就可以当作 ARM 新系列 cortex 之后的实现架构?
答案并非如此, 因为我们知道, 至少 ARMv6M 还属于新出现的 cortex series.
在 system level 上, 则增加了 xPCR, MASK, CONTROL registers
如果说 ARMv7-M 的不同特性, 它们或许暗示着:
(1) SP, LP, PC currently is specail register for v7M instead of using as general purpose registers sometimes under v5 Architecture.
(2) xPCR only manage APSR, IRSP and EPSR, which is different from v5 (it will save any PSR with every proess mode).
(3) Add MASK and CONTROL registers. About Control register, we found it should be specail for us to know the privilege mode, sp mode and fp extension.
尽管有这两者我们总结出的上述不同, 但是也让我们感觉到了 arm architecture 的继承性.