ARM处理器结构
状态寄存器的主要功能是
- 保存最近执行的算术运算的信息
- 控制中断的允许或禁止
- 保存最近执行的逻辑运算的信息
- 设置处理器工作模式
指令执行单元的功能有:
- 执行所有整数ALU运算和乘法运算,并修改标志位
- 根据要求产生用于存取的虚拟地址以及基本回写值
- 处理分支及其它指令流变化,并评估指令条件码
- 将要存放的数据格式化,并将数据和标志向前发送
Cortex-A8处理器的异常模式为:
- 管理模式
- 外部中断模式
以下那些模式统称为特权模式:
- 安全监控模式<br>
- 系统模式<br>
- 异常模式<br>
小端存储模式与大端存储模式
小端存储模式:高位数据存放在高位地址,低位数据存放在低位地址
大端存储模式:高位数据存放在低位地址,低位数据存放在高位地址
Cortex-A8存储结构可被看成哪两个层次:
- 主存-辅存
- Cache-主存
在处理异常事件前,ARM处理器需要:
- 判断异常中断的优先级
- 保存当前处理器的状态
- 保存返回地址
异常响应的步骤是
- 寻找中断入口
- 中断返回
- 保护断点
- 执行中断处理程序
非复位异常的返回过程
- 根据异常类型将PC寄存器值恢复成断点地址
- 恢复被中断的程序工作状态
- 开放外部中断和快速中断
- 恢复原来被保存的用户寄存器内容
RISC结构的特点:
- 高效的流水线操作
- 固定长度的指令与简单的寻址方式
- 面向寄存器组的指令
相比RISC,CISC架构:
- B. 需要更少的RAM来存储编程指令
- C. 能直接完成内存到内存的操作
RISC架构完成内存到内存操作的步骤:
- 处理寄存器中获取从内存加载的数据
- 将值从内存加载到内部寄存器
- 将处理完毕的内存数据存储到寄存器中
- 将寄存器结果写回内存
Cortex-A系列的架构特点是:
- 面现基于虚拟内存的操作系统和用户应用
- 可搭载复杂的嵌入式操作系统
判断题
大多数情况下,应用程序运行在用户模式下,应用程序不能访问受操作系统保护的系统资源,也不能直接进行处理器工作模式的切换。
系统模式不能由任何异常进入,它有与用户模式完全相同的寄存器
虚拟内存的基本思想就是程序、数据、堆栈的总大小可以超过物理内存的大小,操作系统把当前使用的部分保存在内存中,其它未使用的部分保存在外存上。
填空
RISC架构的指令数量较( 少 ),这些指令是( 简单 )指令
RISC架构旨在通过( 减少每条指令的周期数 )来提高性能。而CISC架构试图通过( 最小化每个程序的指令数 )来提高性能
流水线操作是一种同时进行若干操作的( 并行处理 )方式。
在使用3级流水线的RISC架构处理器中,若指令长度统一为4个字节,假设当前取被取指的指令地址是0x000000E2,那么当前被执行的指令地址应该是0x( 000000DA )。
CPSR的功能是( 保存当前程序运行的状态信息 ),SPSR的功能是( 在程序运行被异常中断时保存现场 )
特权模式是为了服务( 中断或异常 ),或访问( 受保护的资源 ),具有多系统资源的完全访问权限,可自由的( 切换工作模式 )。
每一种异常模式都有一组专用的( 寄存器 ),以保证在进入异常模式时( 用户模式 )下的寄存器不被破坏。
执行BX和BLX指令时,将通用寄存器的中所存储的( 目标地址 )值复制到程序寄存器PC,判断该目标地址值的( 最低一位 ),如果为( 1 )则切换到Thumb状态,为( 0 )则切换到ARM状态。
Corte-A8处理器中的寄存器R0~R7是未分组的通用寄存器,在处理器的所有工作模式下,它们中的每一个都指向( 一个物理寄存器 ),且没有被系统用于( 特殊用途 )。
若Cortex-A8架构的处理器在进行某个运算时得知运算过程中结果为负数,过程中没有发生进位、借位和溢出,请问CPSR中以下标志位的值应该是多少:
N =( 1 )
Z =( 0 )
C =( 0 )
V =( 0 )
MMU做为转换器,将程序和数据的虚拟地址转换成实际的( 物理地址 ),也就是实现( 虚拟存储空间 )到( 物理存储空间 )的映射。
发生软件SWI或未定义指令异常是在指令的( 译码 )阶段,返回的地址是LR-( 0 );
数据中止异常在本指令( 执行完成后 )才发生,返回的地址是LR-( 8 );
IRQ异常是在指令( 执行 )时候发生的,返回的地址是LR-( 4 );
0按位取反后等于-1