2024年3月17日发(作者:曲友)
S3C2440A 数据手册 保定飞凌嵌入式技术有限公司 马志晶 mazhijing@
第二章
处理器工作模式
2.1概述
S3C2440采用了非常先进的ARM920T内核,它是由 ARM(Advanced RISC
Machines) 公司研制的。
2.2 处理工作状态
从程序员的角度上看,ARM920T可以工作在下面两种工作状态下的一种:
●
ARM 状态:执行32位字对齐的ARM指令
●
THUMB 状态:执行16位半字对齐的THUMB指令。在这种状态下,PC 寄
存器的第一位来选择一个字中的哪个半字
注意;这两种状态的转换不影响处理模式和寄存器的内容。
2.3 切换状态
进入THUMB 状态
进入THUMB 状态,可以通过执行BX指令,同时将操作数寄存器的状态位
(0位)置1来实现。
当从异常(IRQ,FIQ,UNDEF,ABORT,SWI等)返回时,只要进入异常处理前
处理器处于THUMB状态,也会自动进入THUMB状态。
进入ARM状态
进入ARM状态,可以通过执行BX指令,并且操作数寄存器的状态位(0位)
清零来实现。
当处理进入异常(IRQ,FIQ,RESET,UNDEF,ABORT,SWI等)。这时,PC值保持
在异常模式下的link寄存器中,并从异常向量地址处开始执行处理程序。
存储空间的格式
ARM920T将存储器空间视为从0开始由字节组成的线性集合,字节0到3
中保存了第一个字节,字节4到7中保存第二个字,以此类推,ARM920T对存储
的字,可以按照小端或大端的方式对待。
1
2007.9.6
S3C2440A 数据手册 保定飞凌嵌入式技术有限公司 马志晶 mazhijing@
大端格式:
在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放
在高地址中,因此字节0存储在数据的24到31行里
高地址 31 24 23 16 15 8 7 0 字地址
8 9 10 11
4
0
●
5
1
6
2
7
3
低地址
●
大多数重要的字节在低地址处
字的地址是在大多数重要的字节的字节地址处的
图 2-1 以大端格式存储字数据
小端格式:
与大端格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,
高地址存放的是字数据的高字节。
高地址 31 24 23 16 15 8 7 0 字地址
11 10 9 8
7
3
●
6
2
5
1
4
0
低地址
●
少数重要的地址是在低地址处
字的地址是在少数重要的字节的字节地址处的
图 2-2 以小端格式存储字数据
2.4 指令长度
指令可以是32位长度(在ARM状态下) 或16位长度 (在THUMB状态) 。
数据类型
ARM920T支持字节(8位),半字(16位) 和字(32位) 数据类型。字必须按照4字
节对齐,半字必须是2字节对齐。
2.5 操作模式
ARM920T支持7种操作模式:
●
用户模式(user模式),运行应用的普通模式
2
2007.9.6
2024年3月17日发(作者:曲友)
S3C2440A 数据手册 保定飞凌嵌入式技术有限公司 马志晶 mazhijing@
第二章
处理器工作模式
2.1概述
S3C2440采用了非常先进的ARM920T内核,它是由 ARM(Advanced RISC
Machines) 公司研制的。
2.2 处理工作状态
从程序员的角度上看,ARM920T可以工作在下面两种工作状态下的一种:
●
ARM 状态:执行32位字对齐的ARM指令
●
THUMB 状态:执行16位半字对齐的THUMB指令。在这种状态下,PC 寄
存器的第一位来选择一个字中的哪个半字
注意;这两种状态的转换不影响处理模式和寄存器的内容。
2.3 切换状态
进入THUMB 状态
进入THUMB 状态,可以通过执行BX指令,同时将操作数寄存器的状态位
(0位)置1来实现。
当从异常(IRQ,FIQ,UNDEF,ABORT,SWI等)返回时,只要进入异常处理前
处理器处于THUMB状态,也会自动进入THUMB状态。
进入ARM状态
进入ARM状态,可以通过执行BX指令,并且操作数寄存器的状态位(0位)
清零来实现。
当处理进入异常(IRQ,FIQ,RESET,UNDEF,ABORT,SWI等)。这时,PC值保持
在异常模式下的link寄存器中,并从异常向量地址处开始执行处理程序。
存储空间的格式
ARM920T将存储器空间视为从0开始由字节组成的线性集合,字节0到3
中保存了第一个字节,字节4到7中保存第二个字,以此类推,ARM920T对存储
的字,可以按照小端或大端的方式对待。
1
2007.9.6
S3C2440A 数据手册 保定飞凌嵌入式技术有限公司 马志晶 mazhijing@
大端格式:
在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放
在高地址中,因此字节0存储在数据的24到31行里
高地址 31 24 23 16 15 8 7 0 字地址
8 9 10 11
4
0
●
5
1
6
2
7
3
低地址
●
大多数重要的字节在低地址处
字的地址是在大多数重要的字节的字节地址处的
图 2-1 以大端格式存储字数据
小端格式:
与大端格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,
高地址存放的是字数据的高字节。
高地址 31 24 23 16 15 8 7 0 字地址
11 10 9 8
7
3
●
6
2
5
1
4
0
低地址
●
少数重要的地址是在低地址处
字的地址是在少数重要的字节的字节地址处的
图 2-2 以小端格式存储字数据
2.4 指令长度
指令可以是32位长度(在ARM状态下) 或16位长度 (在THUMB状态) 。
数据类型
ARM920T支持字节(8位),半字(16位) 和字(32位) 数据类型。字必须按照4字
节对齐,半字必须是2字节对齐。
2.5 操作模式
ARM920T支持7种操作模式:
●
用户模式(user模式),运行应用的普通模式
2
2007.9.6