您的位置:首页 > 其它

ARM系列处理器的体系结构(1)

2014-09-26 10:56 302 查看
关于ARM系列处理器的体系结构问题,ARM的体系结构本来涉及的知识点就比较多和复杂,笔者尽量在此处把知道的一步步的梳理一下:

1:关于S3C2440的启动方式

S3C2440的启动方式有两种:

1)Nand Flash启动

2)Nor Flash启动

就是痛拨动开关S2来决定,S2接到Nor Flash 标识一侧时,系统将从Nor Flash启动,反之就从Nand Flash启动

2:ARM的工作原理以及体系结构

1)两种工作状态

处理器执行32位字对齐的ARM指令(ARM状态)
处理器执行16位字对齐的ARM指令(Thumb状态)

两种工作状态可以相互切换

2)ARM体系结构的存储方式

大端格式:字数据的高字节存储在低地址,而字数据的低字节则存储在高地址中
小端格式:字数据的高字节存储在高地址,而字数据的低字节则存储在低地址中

ARM处理器指令长度可以是32位(ARM状态下),也可以是16位的(Thumb状态下),支持字节(8位)、半字(16位)、字(32位)三种数据类型

其中:字按照4字节对齐(地址的低部分为0)

半字按2字节对齐

3)工作模式

ARM处理器的7种工作模式:

用户模式(usr):用于正常执行程序
快速中断模式(FIQ)
外部中断模式(IRQ)
管理模式(svc)
数据访问终止模式(abt)
系统模式(sys)
未定义指令中止模式

通常工作在用户模式。运行模式切换:一种可以通过软件人为的改变,另一种可以通过外部中断或异常处理来改变工作模式。

7种工作模式划分:

除了用户模式以外叫做非用户模式或者叫做特权模式

除用户模式或系统模式以外,其余的叫做异常模式。

4)ARM的寄存器

概述:ARM具有37个32位寄存器,其中31个通用寄存器,6个程序状态寄存器。

37个寄存器的访问:



寄存器分类:

不分组的通用寄存器:R0-R7
分组的通用寄存器:R8-R14
程序计数器:R15 (PC指针)

特别的:R13、R14;

R13通常用作堆栈指针SP

R14通常用作LR,指向函数的返回地址,用作子程序链接寄存器。

关于SPSR:

SPSR是CPSR的备份,CPSR存放是程序的运行状态。为异常格式设计与CPSR相同的一个寄存器,当异常出现时,把CPSR的内容备份给SPSR,当异常处理完以后,再把SPSR的内容返回给CPSR,恢复现场。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: