新闻中心

EEPW首页>嵌入式系统>设计应用> ARM·微处理器的编程模型

ARM·微处理器的编程模型

作者: 时间:2016-11-24 来源:网络 收藏
2)程序状态寄存器(CPSR)

·mode:表示处理器的工作状态
·T:0,ARM state;1,Thumb state ;
·interrupt disable bits
I=1:Disables the IRQ
F=1:Disable the FIO
·condition code flags
N = Negative result from ALU (非零)
Z = Zero result from ALU (结果是零)
C = ALU operation Carried out (进位)
V = ALU operation Overflowed (溢出)
v5,v6的
Q:dsp扩展单元
J:java加速器
(处理器用于存储数据方式有两种,分为大字节序和小字节序
大字节序:高字节在低位,低字节在高位
小字节序:高字节在高位,低字节在低位
*老版本只支持小字字节,现在都支持,linux网络编程采用大字节序)
【ARM所支持的异常】
(只要正常的程序流被暂时中止,处理器将进入异常模式。在处理异常之前,ARM9内核保存的当前的处理器状态(CPSR->SPSR),这样当处理器结束时可以恢复执行原来的程序(SPSR->CPSR))

Reset:复位中断 ;
Undefineed Instruction :未定义指令;
Software Interrupt:软件中断
Prefetch Abort:预取指令中止 ;
Date Abort :数据中止 ;
IRQ:外部中断 ;
FIQ:快速中断请求 ;
【异常的响应】
1)进入异常:
*LR中保存当前执行指令的下一条指令的地址:LR=PC-4
*CPSR->SPSR (保留状态)
*CPSR->与异常类型相对应的状态
*PC从相关异常向量处取址
*跳转,执行命令
2)从异常返回
*SPSR->CPSR
*LR寄存值减去一个偏移量后复制到PC寄存器,跳转被中断的用户程序



(这里,结合ARM7的3级流水线处理结构可以详细的思考一下,但是为什么第一步不把PC-8保存在R14里面?)
上一页 1 2 下一页

评论


技术专区

关闭