1.(填空)数据类型
ARM处理器支持下列数据类型:
Byte 字节,8位 Halfword 半字,16位(半字必须与2字节边界对齐);
Word 字,32位(字必须与4字节边界对齐)。
2.处理器模式
ARM体系结构支持的处理器模式
在软件控制下可以改变模式,外部中断或异常处理也可以引起模式发生改变。
大多数应用程序在用户模式下执行。当处理器工作在用户模式时,正在执行的程序不能访问某些被保护的系统资源也不能改变模式,除非异常发生。这允许操作系统来控制系统资源的使用。
除用户模式外的其他模式称为特权模式。特权模式是为了服务中断或异常,或访问保护的资源。它们可以自由的访问系统资源和改变模式。其中的5种被称为异常模式,即:FIQ IRQ 管理 中止 未定义。
当特定的异常出现时,进入相应的模式。每种模式都有某些附加的寄存器,以避免异常出现时用户模式的状态不可靠。
剩下的模式是系统模式,不能由于任何异常而进入该模式,它与用户模式有完全相同的寄存器。然而它是特权模式,不受用户模式的限制。
3.异常(问答)
异常由内部或外部源产生并引起处理器处理一个事件,例如外部中断或试图执行未定义指令都会引起异常。在处理异常之前,处理器状态必须保留,以便在异常处理程序完成后原来的程序能够重新执行。异常出现后,强制从异常类型对应的固定存储器地址开始执行程序。
(1)复位:处理器上一旦有复位输入,ARM处理器立刻停止执行当前指令。复位后,ARM处理器在禁止中断的管理模式下,从地址0x00000000或0xFFFF0000开始执行指令。
(2)未定义指令异常:当ARM处理器执行处理器指令时,它必须等待任一外部处理器应答后,才能真正执行这条指令。若处理器没有响应,就会出现未定义指令异常。
(3)软件中断异常(SWI):该异常由执行SWI指令产生,可使用此机制进行软件仿真。
(4)预取中止(取指令存储器中止):若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。
(5) 数据中止(访问数据存储器中止):若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。
(6) 中断IRQ异常:当处理器的外部中断请求引脚有效,且CPSR中的I=0,产生IRQ异常。
系统的外设可通过该异常请求中断服务。
(7)快速中断FIQ异常:当处理器的外部中断请求引脚有效,且CPSR中的F=0,产生FIQ异常。FIQ支持数据传送和通道处理,并有足够的私有寄存器,从而在应用中可避免对寄存器保存的需求,减少了开销。
(8)异常优先级