01-ARM64体系结构基础知识

本章思考题

  1. ARMv8体系结构处理器包含多少个通用寄存器?
    答:提供31个64位宽的通用寄存器,可以减少对栈的访问,从而提高性能。
  2. AArch64执行状态包含多少个异常等级?它们分别有什么作用?
    答:定义ARMv8异常模型,支持4个异常等级,即EL0~EL3。
  3. 请简述PSTATE寄存器中NZCV标志位的含义。
    答:如下表所示。
    分类字段描述
    条件标志位 N 负数标志位。
    在结果是有符号的二进制补码的情况下,如果结果为负数,则N=1;如果结果为非负数,则N=0
    Z 0标志位。
    如果结果为0,则Z=1;如果结果不为0,则Z=0
    C 进位标志位。
    当发生无符号数溢出时,C=1。
    其他情况下,C=0
    V 有符号数溢出标志位。
    - 对于加/减法指令,在操作数和结果是有符号的整数时,如果发生溢出,则V=1;如果未发生溢出,则V=0。
    - 对于其他指令,V通常不发生变化
  4. 请简述PSTATE寄存器中DAIF异常掩码标志位的含义。
    答:如下表所示。
    分类字段描述
    异常掩码标志位 D 调试位。使能该位可以在异常处理过程中打开调试断点和软件单步等功能
    A 用来屏蔽系统错误(SError)
    I 用来屏蔽IRQ
    F 用来屏蔽FIQ
posted @ 2024-04-04 17:51  Blind  阅读(40)  评论(0编辑  收藏  举报