Chinaunix首页 | 论坛 | 博客
  • 博客访问: 255469
  • 博文数量: 52
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1538
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-24 07:45
个人简介

生活就像海洋,只有意志坚强的人,才能到达彼岸。

文章存档

2013年(52)

分类: LINUX

2013-09-19 20:22:29

1、关于ARM的名词归类


ARM领域里。我们会经常看到这样一些名词,如:ARMv6ARMv7S3c6410ARM9S3c2440ARM11CortexA8S5Pv210.我们可以把这些名词分类来整理一下。


芯片    ARM核     指令架构

2440     ARM9      ARMv4

6410     ARM11     ARMv6

210       A8        ARMv7


2、ARM核的演变图


-M系列主要面向面对工控,-R面向实时,-A面向多媒体


3、关于24406410210三款芯片的性能对比


芯片型号

2440

6410

210

处理速度

400M——500M

533M——667M

800M——1G

缓存大小

16KB

16KB

32KB

内存接口

SDRAM

SDRAM/DDR

DDR/DDR2

其他

宣布停产

尚有生产

尚有生产




4、ARM的工作模式:


ARM处理器的工作模式有7种,他们分别是:usrfiqirqsvcabtundsys;各种工


作模式都有不同的工作范围和权限,其主要是为了系统的安全性。


5、ARM寄存器详解


由上图可知,ARM共有37个寄存器,其中包含31个通用寄存器,6个状态寄存器。在31


个通用寄存器中,其中有分组通用给寄存器(R0R7)、分组通用寄存器(R8-R14)。程序计


数器R15,即PC指针。 在这些寄存器中,R13正常使用的是作为堆栈指针,就是SPR14

是链接寄存器LR,它有两个特殊的作用:一是保存子函数的返回地址,二是当发生异常时,


保存异常处理的返回地址。



在状态寄存器CPSRSPSR寄存器中,有些位需要我们掌握的就是NZIFM


N:当两个数相减的时候,如果是负数则N=1,如果是整数或者0N=0


Z:两个数相比较,如果相等则Z=1,否则等于0


I:当这个位设置为1时将不使能普通中断;


F:当这个位设置为1时将不使能快速中断;


M[4:0]:决定了进程的操作在哪种工作模式,可以通过读这几位来了解此时工作在什么模式,


也可通过写着几位来切换工作模式。


6、ARM寻址方式


所谓的寻址方式就是处理器根据指令中的信息来找到指令所需操作数的方式。


(1)立即数寻址


立即数寻址,是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即数寻址。例如一下指令:

ADD R0R0#0x3f;  R0<---R0+0x3f

在以上指令中,第二个源操作数即为立即数,要求以“#”为前缀。


(2)寄存器寻址


寄存器寻址就是利用寄存器中的数值作为操作数,这种寻址方式是一种执行效率较高的


寻址方式。


ADD R0R1R2  ;R0 <---R1 + R2

该指令的执行效果是将寄存器R1R2的内容相加,其结果存放在寄存器R0中。


3)寄存器器间接寻址


寄存器间接寻址就是寄存器中的存放的是操作数在内存中的地址。例如以下指令:


LDR R0[R2] ;R0<---[R2]


在这条指令中,以寄存器R2的值作为操作数的地址,在存储器中取得一个操作数后与


R1相加,结果存入寄存器R0中。


(4)基址变址寻址


基址变址寻址就将寄存器里的内容(基地址)与指令中给出的地址偏移量相加,从而得


到操作数在内存中的地址:


LDR R0, [R1#4] ;R0<----[R1+4]


(5)相对寻址


与基址变址寻址方式相类似,相对寻址PC指针的当前值为基地址,指令中的地址标号


作为偏移量,将两者相加后得到操作数的有效地址。以下程序段完成子程序的调用和返回,


跳转指令BL采用了相对寻址方式:


BL NEXT; 跳转到子程序NEXT处执行

.......

NEXT

......

MOV PC, LR;从子程序返回

阅读(2508) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~