77范文网 - 专业文章范例文档资料分享平台

嵌入式系统设计大学教程 - 习题与解答(4)

来源:网络收集 时间:2019-08-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

omap5912 OSK无线模块扩充套件。 (5)Portable Data Terminal Reference Design

基于omap5912的便携式数据终端(PDT)参考设计,一个完整的多媒体智能手机设计案例。相关应用包括导航、游戏、学习辅助、通话、娱乐等等。 ??

第4章 ARM微处理器的编程模型与指令系统

1、ARM微处理器有哪几种运行模式?其中哪些是特权模式,哪些又是异常模式?(P64)

答:ARM微处理器支持7种运行模式,分别为:用户模式;快速中断模式;外部中断模式;管理模式;数据访问终止模式;系统模式;未定义指令中止模式。除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes);而除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常。

2、ARM体系结构的存储器格式有哪几种?(P64~65)

答:ARM体系结构可以用两种方法存储字数据,称之为大端格式(big-endian)和小端格式(little-endian)。大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中;小端格

式:低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。

3、ARM状态下和Thumb状态下寄存器的组织有何不同?(P69~70) 答:Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问8个通用寄存器(R7~R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。同时,在每一种特权模式下都有一组SP、LR和SPSR。在Thumb状态下,高位寄存器R8~R15并不是标准寄存器集的一部分,但可使用汇编语言程序受限制的访问这些寄存器,将其用作快速的暂存器。

4、简述CPSR各状态位的作用,并说明如何对其进行操作,以改变各状态位。(P67~68)

答:CPSR可在任何运行模式下被访问,它包含条件码标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。

条件码标志位:

? N(Negative)当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0 表示运算的结果为正数或零; ? Z(Zero)Z=1 表示运算的结果为零;Z=0表示运算的结果为非零;

? C(Carry)可以有4种方法设置C的值:① 加法运算(包括

比较指令CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。② 减法运算(包括比较指令CMP):当运算时产生了借位(无符号数溢出),C=0,否则C=1。③ 对于包含移位操作的非加/减运算指令,C为移出值的最后一位。④ 对于其他的非加/减运算指令,C的值通常不改变。

? V(OVerflow)可以有2种方法设置V的值:① 对于加/减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出。② 对于其他的非加/减运算指令,V的值通常不改变。

CPSR的低8位(包括I、F、T和M[4:0])称为控制位,当发生异常时这些位可以被改变。如果处理器运行特权模式,这些位也可以由程序修改。

状态寄存器(PSR)中的其余位为保留位,当改变PSR中的条件码标志位或者控制位时,保留位不要被改变,在程序中也不要使用保留位来存储数据。保留位将用于ARM版本的扩展。

5、ARM体系结构所支持的异常类型有哪些?具体描述各类异常,在应用程序中应该如何处理?(P70~71)

答:ARM体系结构所支持的异常类型有复位、未定义指令、软件中断、指令预取中止、数据中止、外部中断请求、快速中断请求。具体地:

? 当处理器的复位电平有效时,产生复位异常,程序跳转到复位

异常处理程序处执行;

? 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真;

? 软件中断异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用; ? 若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常;

? 若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常;

? 当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。系统的外设可通过该异常请求中断服务; ? 当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。

6、ARM指令有哪几种寻址方式?试分别叙述其各自的特点并举例说明。(P77)

答:ARM指令系统支持的基本寻址方式有7种:立即数寻址、寄存器寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、堆栈寻址、相对寻址。他们的特点分别是:

? 立即数寻址:操作数本身就在指令中给出。如:ADD R0,R0,#0x3f

? 寄存器寻址:指令中地址码给出的是寄存器编号。如:ADD R0,R1,R2

? 寄存器间接寻址:寄存器中的值作为操作数的地址,操作数本身存放在存储器中。如:ADD R0,R1,[R2]

? 基址变址寻址:将寄存器的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址,用于访问基址附近的存储器单元。如:LDR R0,[R1,#4]

? 多寄存器寻址:块拷贝寻址。如:LDMIA R0,{R1,R2,R3,R4}

? 堆栈寻址:用堆栈作为地址。如:STMFD SP! {R1-R7,LR}

? 相对寻址:以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。如:BL NEXT

7、简述ARM指令集的分类。(P81)

答:ARM指令集总体分为六大类:数据处理指令、程序状态寄存器访问指令、Load/Store指令、跳转指令(转移指令)、异常中断指令、协处理器指令。

8、假设R0的内容为0x8000,寄存器R1、R2内容分别为0x01和0x10,存储器内容为空。执行下述指令后,说明PC如何变化?存储器及寄

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库嵌入式系统设计大学教程 - 习题与解答(4)在线全文阅读。

嵌入式系统设计大学教程 - 习题与解答(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/687994.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: