4,多种CPU状态以及影子寄存器 ARM 处理器有多达7个的处理器状态,其实这7个状态中,除了user 和 system 外的其他5个状态都是中断状态(比如IRQ和FIQ是硬件中断,Supervisor 是软件中断,Abort和Undef是异常)。与这7个状态相对应的,ARM在硬件上设计了每个状态专用的部分通用寄存器堆,比如IRQ状态下的R13,R14,SPSR;FIQ下的R8~R14, SPSR。我个人在最初学习ARM的时侯觉得这个所谓影子寄存器是非常不好理解的,后来想明白了,ARM的这样设计实际上是为了加快处理器在进行状态切换时不需要进行访存操作或是减少访存操作(主要是利用堆栈进行数据保存啦)
用户1268540 2008-7-2 22:10