ARM体系结构

来源:互联网 发布:动画设计软件flash 编辑:程序博客网 时间:2024/05/10 12:24

IP核、芯片与开发板

  什么是ARM? --ARM(Advanced RISC Machines).

  ARM公司本身不直接从事芯片生产,主要出售芯片技术的授权。ARM芯片中都含有ARM技术知识产权(IP)核(Intellectual Property core)。

  ARM的芯片实在是太多了!和PC端的处理器主要有Intel和AMD形成鲜明的对比!

  我所用的开发板是友善之臂的mini2440.她的处理器是Samsung S3C2440。


处理器结构


 

MMU(Memory Management Unit)内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也 负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权。 
AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。 

UART(Universal Asynchronous Receiver/Transmitter)是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。


处理器模式

 

 
  ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。

  应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。


寄存器

  要知道ARM有两种工作状态:ARM状态(执行32位ARM指令集)和Thumb状态(执行16位指令集)。这两种状态可使用的寄存器是不同的。具体地可以查表。

  大小端格式
  大端格式是字数据的高字节存储在低地址中,低字节存在高地址中。
  小端格式是低地址中存放的是子数据的低字节,高地址存放的是子数据的高字节。

  1.不分组寄存器R0~R7

  2.分组寄存器R8~R14

     R13通常用作堆栈指针(SP),寄存器14用作子程序的连接寄存器,也称为连接寄存器(Link Register,LR)。

  3.程序计数器R15

  4.当前程序状态寄存器(CPSR),还有5个保存程序状态寄存器(SPSRs)。

  
流水线结构

   arm9系列处理器的流水线分为取指、译码、执行、访存、回写。

C语言内嵌汇编格式

   内嵌汇编的语法:

   _asm

     {

         指令[:指令]        /*注释*/

         ...

         [指令]

     }

    例如: