EDA365电子论坛网
标题:
ARM体系结构知识点
[打印本页]
作者:
monsterscvb
时间:
2021-3-2 14:53
标题:
ARM体系结构知识点
一、
ARM
存储器
* f* v0 @8 \: Y H7 w
1. 数据类型:字节、半字、字
2. 地址空间:最大可寻址空间位4GB(2的32次方字节)
$ k; a* T/ C: O) \. o
3. 大小端格式:
# a4 d, ^* I9 Y- M, M
大端格式是字数据的高字节存储在低地址中,低字节存在高地址中 小端格式是低地址中寸的是子数据的低字节,高地址存放的是子数据的高字节
1 G6 V( r1 K. w
) h8 A% ?' U3 n) z
6 g6 k& l9 ?3 |! V
二、处理器模式
' z& J& c8 f; @
" A& w% Z3 G0 K O% r1 \& L
ARM处理器共有7种工作模式,除用户(user)模式之外的其他6种处理模式统称为特权模式(Privileged Modes)。在这些模式下,
程序
可以访问所有的系统资源,也可以任意切换处理器模式。特权模式中除系统(system)模式之外的其他5种模式又统称为异常模式。
9 a, w; q8 w' y3 R
处理器模式可以通过
软件
控制进行切换,也可以通过外部中断或内部异常处理过程进行切换。运行在用户模式下的程序不能访问一些受操作系统保护的系统资源,也不能直接进行处理器模式切换,如果要想进行模式切换,可以产生异常处理,在异常处理过程中进行处理器模式的切换,这种体系架构可以使操作系统控制整个系统资源。
5 P* \# ^5 K0 {8 c6 d% {- M
每一种异常模式中都有一组寄存器供异常处理程序使用,这样可以保证在进入异常模式时,用户模式下的寄存器不被破坏。
' r2 V% f7 X. e7 }0 _
系统模式不是通过异常过程进入的,它和用户模式具有完全相同的寄存器。系统模式属于特权模式,可以访问所有系统资源,也可以直接进行处理器模式切换,主要供操作系统内核进程使用;通常操作系统内核进程需要访问所有的系统资源,同时该进程仍然使用用户模式下的寄存器组,而不是异常模式下的寄存器组,这样可以保证当异常发生时内核进程状态不被破坏。
3 n* D5 t$ y# F N: X
$ j2 n H: T7 p+ ^* t( T
三、异常
+ r. s3 o( V! m7 D. d
- a* F' o/ j# {2 \0 I: N" u
当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。
2 X% ?# z9 K! u
当一个异常出现以后,ARM微处理器会执行以下几步操作
" j; H4 Q3 Q" q% \3 w* V
1. 将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。
5 o$ x& {; B5 d0 A7 D& ` `8 F
2. 将CPSR复制到相应的SPSR中。
; `: Q; ]* D+ D6 F4 T( ?2 q
3. 根据异常类型,强制设置CPSR的运行模式位。
6 p5 ~3 c, [ ?
4. 强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
- e" s+ ?2 c! [/ _: A
4 w2 l0 g V8 I6 j! v0 r$ J# F: a
作者:
modengxian111
时间:
2021-3-2 15:38
ARM处理器有七种工作模式
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2