中华考试网·阅读新闻
软件水平 > 中级资格 > 嵌入式系统设计师 > 文章内容

计算机软考嵌入式系统设计师考试知识点(6)

2016-2-2编辑:ljnbset

ARM处理器内核的体系结构(工作状态,工作模式,寄存器组织,异常,数据类型与存储格式等)

       (1)工作状态

              一是ARM状态,二是Thumb指令状态及Thumb-2状态,三是调试状态。

              ARM处理器复位后开始执行代码时总是只处于ARM状态,如果需要,可通过下面的方法切换到Thumb状态或Thumb-2状态

              ARM状态切换到Thumb指令状态:通过BX指令,将操作数寄存器的最低位设置为1即可。如果R0[0]=1,则执行BX R0指令将进入Thumb状态

              状Thumb态切换到ARM状态:通过BX指令,将操作数寄存器的最低位设置为0即可。如果R0[0]=0,则执行BX R0指令将进入ARM状态。

(2)工作模式(7种)

工作模式

功能说明

可访问的寄存器

CPSR[M4:M0]

用户模User

程序正常执行工作模式

PC,R14-R0,CPSR

10000

快速中断模式FIQ

处理高速中断,用于高速数据传输或通道处理

PC,R14_fiq-R8_fiq,

R7-R0,CPSR,SPSR_fiq

10001

外部中断模式IRQ

用于普通中断处理

PC,R14_irq-R13_irq,

R12-R0,CPSR,SPSR_irq

10010

管理模式

SVC

操作系统的保护模式,处理软中断SWI

PC,R14_svc-R13_svc,

R12-R0,CPSR,SPSR_svc

10011

中止模式

ABT

处理存储器故障,实现虚拟存储器和存储器保护

PC,R14_abt-R13_abt,

R12-R0,CPSR,SPSR_abt

10111

未定义指令模式UND

处理为定义的指令陷阱,用于支持硬件协处理器仿真

PC,R14_und-R13_und,

R12-R0,CPSR,SPSR_und

11011

系统模SYS

运行特权及的操作系统任务

PC, R14-R0,CPSR

11111

(3)寄存器组织

       ARM处理器共有37种寄存器,包括31个通用寄存器(含PC)和6个状态寄存器。

无论何种模式,R15均作为PC使用;CPSR为当前程序状态寄存器;R7-R0为公用的通用寄存器。所有通用寄存器均为32位结构。

       程序状态寄存器的格式:

31 30 29  28  27      26……8       7     6    5     4     3     2    1     0

N

Z

C

V

Q

状态保留

I

F

T

M4

M3

M2

M1

M0

条件码标志含义如下:

N为符号标志位,N=1为负数,N=0为正数。

Z为全0标志位,运算结果为0,则Z=1,否则Z=0;

C为进借位标志,有进/借位时C=1,否则C=0.

V为溢出标志,加减法运算结果溢出时V=1,否则V=0.

Q为增强的DSP运算指令溢出标志,溢出时Q=1,否则Q=0.

控制位含义如下:

       I为中断禁止控制位,I=1禁止IRQ中断,I=0,允许中断。

       F为禁止快速中断FIQ的控制位,F=1禁止FIQ中断,F=0允许。

       T为ARM和Thumb指令切换,T=1时执行Thumb指令,否则执行ARM指令。

       M4-M0为模式选择位

(4)存储格式

      大端模式:32位数据字的高字节存储在低地址,而数据字的低字节则存放在高地址中。

      小端模式:32位数据字的高字节存储在高地址,而数据字的低字节则存放在低地址中。系统复位时,自动默认为小端模式。

例如:一个32位数据字0x12345678,存放在起始地址为0x30001000,则大端模式下0x30001000单元存放0x12,0x30001001单元存放0x34,0x30001002单元存放0x56,0x30001003单元存放0x78;而小端模式下0x30001000单元存放0x78,0x30001001单元存放0x56,0x30001002单元存放0x34,0x30001003单元存放0x12。

(5)数据类型

       8位、16位、32位三种数据类型

(6)ARM处理器中MMU和MPU

       MMU存储器管理单元(memory management unit)功能:

       1)虚拟地址到物理地址映射

       2)存储器访问权限受限

       3)虚拟存储空间的缓冲特性设置

       MPU存储器保护单元(memory protect unit)

(7)异常(7种)

异常类型

优先级

工作模式

异常向量地址

复位RESET

1

管理模式

0x00000000

未定义的指令UND

6

未定义指令中止模式

0x00000004

软件中断SWI

6

管理模式

0x00000008

指令预取中止PABT

5

中止模式

0x0000000C

数据访问中止DABT

2

中止模式

0x00000008

外部中断请求IRQ

4

外部中断模式

0x00000010

快速中断请求FIQ

3

快速中断模式

0x0000001C

计算机软考嵌入式系统设计师考试知识点(5)
咨询热线:4000-525-585(免长途费)