Chinaunix首页 | 论坛 | 博客
  • 博客访问: 371246
  • 博文数量: 50
  • 博客积分: 1495
  • 博客等级: 上尉
  • 技术积分: 805
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-21 14:19
文章分类

全部博文(50)

文章存档

2011年(47)

2010年(3)

分类: 嵌入式

2011-04-14 17:32:02

ARM_ARCH之基本架构

 

之前也学过一点点ARM体系架构的知识,但是没有深入学习过,好像也有大半年了,也忘得差不多了, 现在有机会和时间重新补习一下这方面的知识了,嘿嘿!

我参考的资料放在  liaoye163@sina.com 密码 123456

这是我和群友共同维护的。

 

ARM BASED SYSTEM

                                   ARM BASED SOC

 

APB            advanced peripheral bus 外围总线,挂在一些低速外围设备;

AHB     advanced high performance bus 高性能系统总线,挂载一些高速总线;

AMBA    advanced microcontroller bus architecture 高级微控制总线架构

更多的详细信息请参考:

http://blog.chinaunix.net/link.php?url=http://www.openhard.org%2Fmyspace%2Fblog%2Fshow.php%3Fid%3D75802

http://blog.chinaunix.net/space.php?uid=20543672&do=blog&id=94307

 

Harvard 有两根总线来进行对指令和数据的读取,ARM采用的此体系。

Von Neuman 只有一个根总线对指令和数据进行读取,所以效率相对低些。


DATA SIZES AND INSTRUCTION

ARMRISC体系,许多指令的执行在一个时钟周期内完成。

半字(haltword): 16bits

(word):  32bits

许多ARM实现了双指令集ARM(32bits)thumb(16bit)

 

PROCESSOR MODES

ARM有七中基本操作模式:

每种模式都有自己的堆栈所以进行模式切换时不需要保护堆栈。

开机时,缺省处于ARM mode,和SVR状态。

 

ARM REGISTER

一共有37个寄存器。

 

介绍一些特殊的寄存器:

PROGRAM STATUS REGISTER

CPSRSPSR是相同结构的寄存器,CPSR是保存当前程序状态的寄存器,SPSR是进行状态切换时,保存CPSR的值,以便恢复时用到。

 

PROGRAM COUNTER(R15)

PC的作用是指向CPU将要执行的指令。

 

STARCK POINTER(R13)

SP是堆栈寄存器。

 

LINKER REGISTER(R14)

1当使用bl或者blx跳转到子过程的时候,r14保存了返回地址,可以在调用过程结尾恢复。

2异常中断发生时,这个异常模式特定的物理R14被设置成该异常模式将要返回的地址

 

DATE ALIGNED

ARM采用的是字对齐存储,非对齐地址将会产生不可预测的结果。V6结构可以支持非对齐的数据访问。

LITTLE-ENDIAN BIG-ENDIAN

小端存储系统

       LSB存储在低地址。

大端存储系统

       MSB存储在低地址。

大小端存储解决了寄存器存储到内存的字节顺序问题。

 

PIPELINE

流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法,目的是提高数据吞吐量(提高处理速度)。但是系统延时(latency)同样也增加了,这是因为在内核执行一条指令前,需要更多的周期来填充流水线。

 

PC指向的是FETCHED,而不是EXECUTED,但是调试工具隐藏这些。


 参考网站:http://hi.baidu.com/a843538946/blog/item/e57cf5f98b2e5f93b901a0cf.html

   http://blog.21ic.com/user1/3794/archives/2007/36358.html



 水平有限,如果有错误的地方,请指正,thanks

cjok.liao@gmail.com

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