Chinaunix首页 | 论坛 | 博客
  • 博客访问: 129515
  • 博文数量: 44
  • 博客积分: 956
  • 博客等级: 准尉
  • 技术积分: 521
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-18 12:45
文章分类
文章存档

2012年(11)

2011年(33)

分类: 嵌入式

2012-02-09 17:47:09

  ARM公司是一家知识产权(IP)供应商,它与一般的半导体公司最大的不同就是不制造芯片且不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片。

在ARM核CPU中规定:
8位为一个字节,16位为半字,32位为一个字
大部分ARM core支持ARM指令集和Thumb指令集(16位)

ARM处理器的工作模式:
USER: 用户模式,非特权模式,大部分任务工作在这种模式
FIQ: 快中断模式,当一个高优先级的(fast)中断产生时,将会进入到这种模式
IRQ: 中断模式,当一个低优先级的(normal)中断产生时,将会进入到这种模式
SVC:     管理模式,操作系统使用的保护模式
        SYS:     系统模式,运行具有特权的操作系统任务(和USER模式访问相同的寄存器组)
ABT: 数据访问终止模式,数据或指令预取终止时进入该模式
UND:     未定义指令终止模式,未定义的指令执行时进入该模式

当异常发生,CPU进入相应的异常模式时,以下工作是由CPU自动完成的:

1、在异常模式的R14中保存前一工作模式的下一条即将执行的指令地址;

2、将CPSR的值复制到异常模式的SPSR中;

3、将CPSR的工作模式设为该异常模式对应的工作模式;

4、令PC值等于这个异常模式在异常向量表中的地址,即跳转去执行异常向量表中的相应指令;

从异常工作模式退回到之前的工作模式时,需要由软件来完成以下工作:

1、将异常模式的R14减去一个适当的值(4或8)后赋给PC寄存器;

2、将异常模式SPSR的值赋给CPSR;

ARM状态寄存器:


ARM系列产品后缀含义:

T:支持Thumb D:支持Debug

M:支持长乘法 I:片上仿真

J:支持Java字节码 E:dsp扩展

F:支持float指令集 S:综合上述


ARM系列处理器的流水线:

另见博文~

阅读(2183) | 评论(0) | 转发(0) |
0

上一篇:Qt信号与槽(29)

下一篇:ARM流水线

给主人留下些什么吧!~~