ARM
-
ARM架构,又称先进精简指令集(Advanced RISC Machine)。ARM公司并不生产芯片,而是出售芯片技术授权。其合作公司针对不同需求搭配各类硬件部件,比如UART、SPI、I2C等,设计出不同的SoC芯片。
-
Cortex系列属于ARMv7架构
Cortex系列
Cortex-A9
- 传统的单片机(如8051)中,处理器只有完成一条指令的读取和执行后,才会开始下一条指令的处理,所以PC(程序计数器)总是指向正在执行的指令。而ARM体系架构中则引入了流水线的概念。
- 到ARM7为止的ARM处理器使用了简单的三级流水线。三级流水线使用三个工位,将指令的处理分为三个阶段,分别为取指、译码和执行。取指:从存储器中装载;译码:识别将要被执行的指令;执行:处理指令并将结果写回寄存器。
- 流水线机制
(1)在第1个周期,PC指向指令1,此时指令1进入三级流水线的取指阶段。
(2)在第2个周期,PC指向指令2,此时指令1进入三级流水线的译码阶段,同时取出指令2。
(3)在第3个周期,PC指向指令3,此时指令1进入三级流水线的执行阶段,指令2进入译码阶段,取出指令3。
(4)在第4个周期,指令1执行完成,指令2和指令3流水线推进一级,同时开始指令4的取指处理
Cortex-A9架构基于先进的推测型八级流水线
- Cortex-A9 内核的工作模式
ARMv7内核共支持9种处理器模式。当前程序状态寄存器CPSR的控制位M[4:0]可指示处理器正在执行的模式
大多数的用户程序运行在用户模式下,这时应用程序不能够访问一些受操作系统保护的系统资源,也不能直接进行处理器模式的切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,处理器进入相应异常模式时都有一组寄存器,供相应的异常处理程序使用。这样就可以保证在进入异常模式时,用户模式下的寄存器不被破坏(其中保存了程序的运行状态)