arm的v7体系结构

来源:互联网 发布:mac qq input 编辑:程序博客网 时间:2024/05/19 02:42
1. arm拥有大量的寄存器
  .normal reg (r0-r15 )  33个 
    功能一:通用读写操作
    mov r0,#5
    add r0,r1,r2 
    mov r15,#0x100
    功能二:具有底层相关的物理特性
    
    r15是pc指针
    mov pc,#0x100
    r14 = lr(link register)  // 专门用于保存返回地址的寄存器
    
    mov lr,pc
    mov pc,#0x100
    
    0x100:
      xxxxx
      mov pc,lr
  
    //--------------------------
    int add(int x,int y)
    {
      printf();
      return (x+y);
    }
  
    int main()
    {
      int a = 1; 
      int b = 2;
      int c = add(a,b);   // gcc lr = return_addr 
      printf("xxx")
      return 0;
    }
  
    //----------------------------
    add:
      add .....
      mov pc,lr 
      
    main:
      mov r0,#1
      mov r1,#2
      mov lr ,pc 
      mov pc,#add
      ....
    r13 = sp寄存器


    mov r13,#0x100 
  
    mov sp,#0x100 
    
    mov r1,#6
    stm sp!,{r1}
    
    mov r13,#0x30000
    
  .status reg    7个
  内容包括:
  控制位
  标记位:
    N
    Z
    C 
    V 
  
    mov r1,#3
    mov r2,#2
    subs r0,r2,r1
    
    moveq r0,#2
  


2. arm设计有很多种工作模式
  .system/user
  .fiq
  .svc 
  .abt 
  .irq 
  .und
  .secure
  
  结论:
    芯片有多种需求,功能强大 能根据实际情况切换模式,解决问题
3. arm具有多种工作状态
  arm状态     -- 执行的是arm指令
  thumb状态   -- thumb指令
  java 
  dsp  
  ..
  ...
  
4. 流水线结构


由于流水线的延时性,所在中断处理后,切记回来时pc = lr - 4 


5.存储结构


两种类型
.哈佛结构
0 0