从一只ARM到另一只ARM!
ARM处理器和架构
当前可用的处理器
ARM1
ARM2
ARM3
ARM4和5
ARM6
ARM7
ARM8
强壮有力的ARM
ARM9
ARM10
ARM架构
v1 -ARM1。
v2 -ARM2。
v2as -ARM3和ARM250。
v3 -ARM6,ARM7,ARM8和护身符1。
v3M- 各种ARM6、7和8变体。
v4 -StrongARM,ARM9。
v5 -ARM10。
VFP1 -ARM10(的某些变体)。
Thumb(T型)。
长乘法指令(M个变体)。
增强的DSP指令(E变体)。
当前可用的处理器
ARM1 这是第一个ARM处理器,功能上与ARM2非常接近。该处理器已用于BBC和PC机器的一些评估系统中,但主要是原型芯片,已被ARM2取代。ARM2和ARM1之间的确切,主要差异是:
FIQ模式下没有倾斜的R8和R9。
没有乘法指令。
LDR / STR指令具有寄存器指定的移位量。
没有协处理器接口或协处理器指令。
ARM2 ARM2芯片具有27个寄存器,其中任一寄存器均可随时访问。四种处理器模式可用-
USR:用户模式
IRQ:中断模式(带有R13和R14的私有副本。)
FIQ:快速中断模式(R8到R14的私有副本。)
SVC:超级用户模式。(R13和R14的私人副本。)
如果只能从特权代码访问硬件和物理内存,则只有非USR模式代码才能更改处理器模式以提供硬件安全性。由于程序计数器的前六位用于保存处理器状态标志,因此该芯片仅限于寻址26位内存或64 MB地址空间。实际上,PC寄存器中保留了八位处理器状态。由于ARM指令的长度始终为4个字节,因此在将该寄存器用作PC时,PC的低两位始终是隐含的零。当该寄存器用于其操作时,最低位反映处理器运行的模式。(00-USR,01-IRQ,10-FIQ和11-SVC)
三级指令流水线使芯片能够以较低的晶体管数量快速执行指令。流水线的一个副作用是能够在每条指令上获得“自由”旋转/移位,因为流水线的一个阶段专门处理给定寄存器的桶形移位。结合每条指令的条件执行,可以实现长时间的无分支代码运行,从而使流水线停滞不前,从而在时钟速率下实现了相当高的指令执行速度。(平均每个时钟周期约0.6条指令)
ARM2芯片的时钟频率为8 MHz,平均性能为4-4.7 MIPS。
ARM3 这是一个ARM2核心宏单元,其中添加了缓存和专用协处理器接口。寄存器未更改,没有添加新的处理器模式。在生产的ARM3芯片中,新功能是增加了一个片上缓存(4 KB,64路关联,随机替换,4个字线,直写,混合数据和指令。)和更快的时钟速度。对芯片上协处理器接口的调整也是新的,包括将协处理器15定义为缓存控制和芯片标识。
最后,添加了一条新指令,即SWP指令。单调寄存器到内存交换命令对多处理器阵列很有用。
产生了几种速度的ARM3芯片。最初使用A540机器发布了26 MHz版本,然后在A5000中使用了25 MHz版本,在A4中使用了24 MHz版本。最终生产了33MHz版本,并用于A5000的alpha变体。
该芯片的第二个体现是ARM250,是ARM3单元的12MHz变体,并且将IOC1